FPGA基本设计流程

FPGA的设计流程就是利用EDA开发软件和编程工具对FPGA芯片进行开发的过程。FPGAde开发流程一般如下图所示,包括电路设计、设局输入、功能仿真、综合优化、综合后仿真、实现与布局布线、时序仿真与验证、板级仿真与验证,以及芯片编程与调试等主要步骤。
在这里插入图片描述
1.电路设计
在系统设计之前,首先要进行的是方案验证、系统设计和FPGA芯片选择等准备工作。系统工程师根据任务要求,如系统的指标和复杂度,对工作速度和芯片本身的各种资源、成本等方面进行权衡,选择合理的设计方案和合适的器件类型。一般都采用自顶向下的设计方法,把系统分成若干个基本单元,然后再把每个基本单元划分为下一层的基本单元,一直这样做下去,知道可以直接使用EDA元件库为止。

2.设计输入
设计输入是将所设计的系统或电路以开发软件要求的某种形式表示出来,并输入给EDA工具的过程。常用的方法有硬件描述语言(HDL)和原理图输入方法等。原理图输入方法是一种最直接的描述方式,运用广泛,易于仿真,但效率低,不易维护,可移植性差。HDL语言常用的是Verilog HDL和VHDL,便于模块划分和移植。

3.功能仿真
功能仿真也称为前仿真,是在编译之前对用户所涉及的电路进行逻辑功能验证。仿真前,需要利用波形编辑器和HDL等建立波形文件和测试向量,仿真结果将会生成报告文件和输出信号波形。

4.综合
所谓综合就是将较高级抽象层次的描述转换为较低层次的描述。综合优化根据目标与要求优化所生成的逻辑连接,使层次设计平面化,供FPGA布局布线软件进行实现。就目前的层次来看,综合优化是指将设计输入编译成由与门、或门、非门、RAM、触发器等基本逻辑单元组成的逻辑连接网表,并非真实的电路。

5.综合后仿真
综合后仿真检查综合结果是否和原设计一致。在仿真时,把综合生成的标准延时文件反标注到综合仿真模型中,可估计门延时带来的影响。对于一般设计可省略这一步,但是布局布线后有问题需要回溯到综合后仿真确认问题所在。

6.实现与布局布线
实现是将综合生成的逻辑网表配置到具体的FPGA芯片上,布局布线是其中最重要的过程。布局将逻辑网表中的硬件原语和底层单元合理地配置到芯片内部的固有硬件结构上,并且往往需要在速度最优和面积最优之间做出选择。布线根据布局的拓扑结构,利用芯片内部的各种连线资源,合理、正确地连接各个元件。由于只有FPGA芯片生产商对芯片结构最为了解,所以布局布线必须选择芯片开发商提供的工具。

7.时序仿真与验证
时序仿真也称为后仿真,是指将布局布线的延时信息反标注到设计网表中来检测有无时序违规现象。在布局布线后,通过对系统和各个模块进行时序仿真,分析其时序关系,估计系统性能,以及检查和消除竞争冒险是非常有必要的。

8.板级仿真与验证
板级仿真主要应用于高速电路设计中,对高速系统的信号完整性、电磁干扰等特征进行分析,一般都以第三方工具进行仿真和验证。

9.芯片编程与调试
芯片编程是指产生使用的数据文件,然后将编程数据下载到FPGA芯片中。逻辑分析仪是FPGA设计的主要调试工具,但其价格昂贵,因此目前主流的是芯片提供商提供的内嵌的在线逻辑分析仪(如Xilinx ISE中的ChipScope、Altera Quartus II中的SignalTap II),具有很高的实用价值。

猜你喜欢

转载自blog.csdn.net/gemengxia/article/details/115166658