本帖最后由 dream123 于 2021-11-18 14:54 编辑 - m6 y6 P3 Y9 Y. j$ T3 T' m
! o. u- H1 m2 X0 u& K: x+ X8 o
近年来,随着经济的高速增长,无线通信得到了飞速地发展。由于扩展频谱信号具有抗干扰、保密、抗侦破和抗衰落等特点,扩频通信在军事无线通信领域(如测控通信)中被广泛应用;随着技术的成熟及成本的降低,其在民用通信市场上具有更广大的发展前景。
& J/ z! S" X8 I; f9 d 本文首先介绍了FPGA的设计思想及流程,然后以一种扩频通信调制器为例,描述了如何实现自顶向下的设计:包括调制器的顶层设计、划分的下一层基本单元的设计等,并重点分析了基本单元之一的PN码产生器的设计实现及仿真验证过程。
5 f/ h1 A* U) Q2 ]$ l5 `7 K FPGA设计方法简介, l/ m' A/ w+ @6 ]
FPGA技术的飞速发展,对国内的电子设计工程师提出了严峻的挑战,以往传统的设计方法,如单纯的原理图输入方法,已很难满足目前的要求。设计人员必须采用高水准的设计工具,如硬件描述语言(Verilog HDL)或语言与原理图结合来进行设计。
9 s# y: |/ N5 Y 1 FPGA的设计思想
7 {% x, U6 i7 K FPGA的设计思想一般采用自顶向下(Top-down)的设计,自顶向下的设计是从系统级开始的,把系统化分为基本单元,然后再把每个单元划分为下一层次的基本单元,一直这样做下去,直到可以直接用EDA元件库里的元件来实现为止。% y3 L3 B: D" P' ]: V
2 FPGA的设计流程7 ^( x2 R1 e I5 \
FPGA器件的设计一般可分为设计输入、设计实现和编程三个设计步骤及相应的功能仿真、时序仿真和器件测试三个设计验证过程。: `, T( k2 C6 w$ w- M
设计输入:设计输入有多种方式,目前最常用的有电路图和硬件描述语言两种。对于简单的设计,可采用原理图或ABEL语言设计。对于复杂的设计,可采用原理图或行为描述语言(如VHDL语言),或者两者混用,采用层次化设计方法,分模块、分层次的进行描述。软件在设计输入时,会检查语法错误,生成网表文件,供设计实现和设计校验用。- v% R0 z4 }7 ^; A* w( g# M
设计实现:设计实现是指从设计输入文件到位流文件的编译过程。在该过程中,编译软件自动地对设计文件进行综合、优化,并针对所选中的器件进行映射、布局、布线,产生相应的位流数据文件。* s. S3 N1 z2 n" I7 ?/ c2 y% V3 ?
器件编程:器件编程就是将位流数据文件配置到相应的FPGA器件中。* |3 F, O; z: i" p+ B# m
设计校验:对应于设计输入、设计实现和器件编程的功能仿真、时序仿真、器件测试组成设计验证的三个部分。功能仿真验证设计的功能逻辑,在设计输入过程中,对部分功能或整个设计均可进行仿真。完成设计实现后进行时序仿真,针对器件的布局、布线方案进行时延仿真,分析定时关系。器件测试是在器件编程完成后进行,通过实验或借助于测试工具,测试器件最终功能和性能指标。$ q H. ~* {- \! [1 b- b% s0 n- ?
+ \7 S. E9 V+ |3 t |