LinCoding

【原创】FPGA/CPLD设计开发的标准流程

0
阅读(3982)

【主题】:FPGA/CPLD设计开发的标准流程

【作者】:LinCoding

【时间】:2016.12.29

【声明】:转载、引用,请注明出处
       

       总结自《Altera FPGA/CPLD设计 基础篇》第二版。


FPGA/CPLD的设计流程:

包括:电路设计与输入、功能仿真、综合、综合后仿真、实现、布线后仿真、板级调试。

1、电路设计与输入:

包含:硬件描述语言输入、原理图设计输入、真值表输入、波形输入和状态机输入。

2、功能仿真:

又称为前仿真。常用工具:Mentor公司的ModelSim、Synopsys公司的VCS、Candence公司的NC-Verilog和NC-VHDL以及Aldec公司的Active-HDL等。

3、综合:

将设计输入翻译为由与、或、非门以及RAM和触发器等基本逻辑单元组成的逻辑网表,并根据目标与要求优化所生成逻辑网表,输出edf和den等标准格式的网表文件。常用综合工具:Synplicity公司的Synplify/Synplify Pro、Amplify,Synopsys公司的FPGA Compiler II,Mentor公司的LeonardoSpectrum和Precision RTL。

4、综合后仿真:

把综合后生成的标准延时文件反标注到综合仿真模型中来估计门延时带来的影响。综合后仿真虽然比功能仿真精确,但是只能估计门延时,不能估计布线延时,仿真结果与布线后的实际情况还有一定差距,并不准确。

5、实现:

将综合输出的逻辑网表适配到具体的FPGA/CPLD器件上。实现的过程中最主要的是布局布线(PAR, Place and Route)。

6、时序仿真

将布局布线后的延时信息反标注到设计网表中,所进行的仿真就叫做时序仿真或称为布局布线后仿真,简称为后仿真。布局布线后生成的延时仿真文件所包含的延时信息最全,不仅包含门延时,还包含实际布线延时,所以布线后仿真最准确,能较好的反映芯片的实际工作情况。

7、板级调试:将生成的配置文件写入芯片中,并使用示波器和逻辑分析仪进行调试。

以上几个仿真的区别:

功能仿真的主要目的在于验证由硬件描述语言所设计的电路结构和功能是否和设计意图相符;综合后仿真的主要目的在于验证综合后的电路结构是否与设计意图相符,是否存在歧义综合结果;布局布线后仿真即时序仿真的主要目的在于验证是否存在时序违规。