ISE是Xilinx提供的用于开发FPGA/CPLD的综合性集成开发平台,它提供了开发所需要的大部分软件。但不支持仿真,需调用另一个软 件ModelSim。所以说设计xilinx的FPGA/CPLD至少需要ISE和ModelSim两种软件(如果使用EDK是另外一种开发方 式),ModelSim用于辅助仿真和语法差错。
ISE的开发流程大体上分为八个步骤:
一、输入设计文件
可以使用ISE提供的多种方式输入设计文件,例如HDL、状态机、原理图。输入完文件后调 用ModelSim进行语法检查,如果有错回到ISE中修改,直至无错。
二、编写激励
在ISE中编写激励可以用HDL直接写激励文件还可以用可视化的波形编辑器。要编写时序简 单的激励用波形编辑器可以很快完成,编写时序复杂或是时序很长的则要用HDL编写。
编写激励的目的是要检测所写的设计文件的逻辑是否正确。用激励文件中的输入信号时序来仿真设计文件,看仿真出的输出信号结果是否符合编写设计文件的预期结 果相同。若不同回到ISE中修改设计文件。
例如:设计一个与门实现a=b and c;b和c是输入,a是输出。激励文件的内容就应该是:第一段时间bc为“00”,第二段时间bc为“01”,第三段时间bc为“10”,第四段时间bc 为“11”。然后用ModelSim仿真的结果就是a在第一段时间是’0‘,第二段时间是’0‘,第三段时间是’0‘,第四段时间是’1‘。
三、行为级仿真(前仿真)
行为级仿真只是逻辑上的仿真,用于检测设计文件的设计逻辑是否正确。行为级仿真根据激励文件仿真设计的输出,不涉及到硬件。
四、综合
综合是将设计输入编译成由与、非、或门、ram、寄存器等基本逻辑单元组成的逻辑连接。不是所有的设计文件都可以综合成逻辑连接,有时出现无法综合的需要 改变设计思路。
五、用户约束文件(我用ISE不久,约束文件也不太会用)
约束文件约束的是综合的结果如何在具体的芯片内布局布线,约束的内容包括管脚约束、时序约束、区域约束等等。没有特殊需要只约束管脚就可以,其它的ISE 会默认完成。
六、实现
实现是根据约束文件将综合得到的逻辑连接在芯片内布局布线。
七、布局布线后仿真(后仿真)
与前仿真不同的是,后仿真依赖的是布局布线的结果,所以后仿真加入了片内延时等等一些实际上可能会有的干扰。有时后仿真的结果与前仿真相差很远,这样要回 到第一步修改。