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