l 仿真
- 1. 功能仿真(前仿真)
从逻辑分析HDL代码所描述电路的正确性,因为不涉及到考虑门延时和线延时,所以仿真速度很快,其主要测试点在逻辑,如使用testbench文件进行仿真,就是功能仿真。
- 2. 时序仿真(后仿真)
考虑门延时参数和单元连接线后的仿真,仿真更接近真实应用情况。
注意:
在进行HDL代码编写的时候,我们要有这样的认识,功能仿真才是整个FPGA开发中代码输出量最大的环节,对于所编写的每一个模块。可能需要很多的testbench文件。
l 用户约束
1.综合约束
指导编译器将HDL代码转化为门级网表结构
2.管脚约束
将设计中的输入、输出、及双向IO和FPGA芯片物理I/O建立一一对应的联系。并且为每一个已分配的物理I/O管脚指定特定的接口电平,从而保证通信,如LVDS等
3.位置约束
针对特殊逻辑版块要求特殊的逻辑块资源
4.时序约束
将网表布局到FPGA芯片并完成连线操作时,如果我们指定了时序约束,编译器会考虑约束关系,进行合理的布局布线,因为布局布线会影响线延时的参数
时序约束是针对布局布线环节
² 书序约束的重要意义在于保证设计的电路具有优良的性能,没有经过时序约束的电路,布局器和布线器的操作过于松散和随意!!!
l 时序分析
时序分析,也称之为:静态时序分析(简称STA),之所以进行时序分析,因为在实际中存在传输延时,尤其当时钟频率很高的时候,数字电路的模拟电路特性就会显现出来,如感抗,容抗这些因素的产生会导致较为严重的传输延时。
l 编译流程之综合
编译器一般会采用默认的设置进行逻辑综合。但实际上编译综合设置是可以修改的,可以考虑速度优先,或者面积优先,或者功耗优先的准则。通常的在选择IP核设计的时候,很多IP核会提供给选项是速度优先还是面积优先。
关于FPGA开发,需要形成一种意识:速度和面积的权衡是十分重要的。