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