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