编译流程之仿真

仿真

  1. 1.        功能仿真(前仿真)

从逻辑分析HDL代码所描述电路的正确性,因为不涉及到考虑门延时和线延时,所以仿真速度很快,其主要测试点在逻辑,如使用testbench文件进行仿真,就是功能仿真。

  1. 2.        时序仿真(后仿真)

考虑门延时参数和单元连接线后的仿真,仿真更接近真实应用情况。

注意:

在进行HDL代码编写的时候,我们要有这样的认识,功能仿真才是整个FPGA开发中代码输出量最大的环节,对于所编写的每一个模块。可能需要很多的testbench文件。

用户约束

1.综合约束

指导编译器将HDL代码转化为门级网表结构

2.管脚约束

将设计中的输入、输出、及双向IO和FPGA芯片物理I/O建立一一对应的联系。并且为每一个已分配的物理I/O管脚指定特定的接口电平,从而保证通信,如LVDS等

3.位置约束

针对特殊逻辑版块要求特殊的逻辑块资源

4.时序约束

将网表布局到FPGA芯片并完成连线操作时,如果我们指定了时序约束,编译器会考虑约束关系,进行合理的布局布线,因为布局布线会影响线延时的参数

时序约束是针对布局布线环节

²  书序约束的重要意义在于保证设计的电路具有优良的性能,没有经过时序约束的电路,布局器和布线器的操作过于松散和随意!!!

时序分析

时序分析,也称之为:静态时序分析(简称STA),之所以进行时序分析,因为在实际中存在传输延时,尤其当时钟频率很高的时候,数字电路的模拟电路特性就会显现出来,如感抗,容抗这些因素的产生会导致较为严重的传输延时。

编译流程之综合

编译器一般会采用默认的设置进行逻辑综合。但实际上编译综合设置是可以修改的,可以考虑速度优先,或者面积优先,或者功耗优先的准则。通常的在选择IP核设计的时候,很多IP核会提供给选项是速度优先还是面积优先。

关于FPGA开发,需要形成一种意识:速度和面积的权衡是十分重要的。

原文地址:https://www.cnblogs.com/shaonianpi/p/9991659.html