随着时代高速发展,越来越多的电子系统或设备需要面对高速度数据传输要求和数据处理量,在高要求下,可编程逻辑器件(FPGA)逐渐应用广泛,这也要求很多工程师在系统中会加入可编程逻辑器件。因此我们来看看可编程逻辑器件的设计流程及工具。
可编程逻辑器件的设计是指利用EDA开发软件和编程工具对器件进行开发的过程。可编程逻辑器件的设计流程如下所述:
1、设计输入
设计输入有原理图输入本输入、形入、EDIP文件输入等多种方式。其中原理图输入方式最直接的设计描述方式,其优点是容易实现,便于信号的观察和电路的调整,缺点是效率低,特别是产品有改动时,原理图修改起来很不方便文本输入方式主要是指采用文本编辑器或专用的HDL编辑器输入HDI描述文件。采用文本输入方式有与工艺无关、可重复利用、输入效率高、易于修改等优点。通常VerilogHDL文件保存为v文件,VHDL文件保存为vhd 文件。波形输入方式主要用来建立和编辑波形设计文件,输入仿真向量和测试向量,适用于时序逻辑和有重复性的逻辑函数。EDIF 文件输入方式主要用于多种EDA软件综合使用的场合。
2、功能仿真
又称为前仿真,是设计输入的源文件在编译之前进行的仿真,此步仿真没有延时信息,只检查逻辑功能是否正确。对简单的设计可以跳过这一步,在布线完成以后,进行时序仿真。
3、逻辑综合
将设计源文件调入逻辑综合软件进行综合,即把硬件语言综合成最简的布尔表达式。逻辑综合软件会生成EDA工业标准的EDIF文件。
4、布局布线
这一步是在上述步骤完成后由软件自动完成的,它以最优的方式把设计逻辑映射到FPGA/CPLD器件中,实现逻辑单元间的互连,并自动生成各部分资源的使用情况报表。
5、时序仿真
又称为后仿真,利用在布局布线中获得的精确参数,用仿真软件验证电路的时序。由于不同器件的内部延时不同,不同的布局布线方案会造成不同的延时,时序仿真结果也会不同。这一步对评估设计的性能,检查和消除时序竞争冒险很有必要。其仿真结果与器件的实际工作情况基本相同。
6、编程/配置
即把生成的目标文件(如pof或sof文件)下载到CPLD/FPGA器件中,其对于CPLD叫做编程(Programming),对于FPGA叫做配置(Configuring)。有时候,是下载到FPGA的配置器件中,如EPC1、EFC2等。