设计输入包括使用硬件描述语言HDL、状态图与原理图输入三种方式。HDL设计方式是现今设计大规模数字集成电路的良好形式,HDL语言描述在状态机、控制逻辑、总线功能方面较强,使其描述的电路能在特定综合器的作用下较好地实现具体硬件单元;而原理图输入在顶层设计、数据通路逻辑、手工最优化电路等方面具有图形化强、单元节俭、功能明确等特点。常用方式是以HDL语言为主、原理图为辅进行混合设计,以发挥二者各自特色。
(2)功能仿真
使用设计软件包对己实现的设计进行完整测试,模拟实际物理环境下的工作情况。前仿真是指仅对逻辑功能进行测试模拟,以了解其实现的功能是否满足原设计的要求。仿真过程没有加入时序信息,不涉及具体器件的硬件特性,如延时特性。
(3)综合
针对给定的电路实现功能和实现此电路的约束条件,如速度、功耗、成本及电路类型等,通过计算机进行优化处理,获得一个能满足上述要求的电路设计方案。综合的结果则是一个硬件电路的实现方案。该方案必须同时满足预期的功能和约束条件。对于综合来说,满足要求的方案可能有多个,综合器将产生一个最优的或接近最优的结果。因此,综合的过程也就是设计目标的优化过程,最后获得的结构与综合器的工作性能有关。
(4)布局与布线
从映射取出定义的逻辑和输入输出块,并把它们分配到FPGA内部的物理位置,通常基于某种先进的算法完成;布线是指利用自动布线软件使用布线资源选择路径试着完成所有的逻辑连接。因为最新的设计实现工具是时序驱动的,因此可以使用约束条件操作布线软件,完成设计规定的性能要求。在布局布线过程中,可同时提取时序信息形成报告。
(5)时序仿真
在布局布线后,提取有关的器件延迟、连线延时等时序参数,并在此基础上进行的仿真称为后仿真,它是接近真实器件运行的仿真。
(6)下载验证
下载是在功能仿真与时序仿真正确的前提下,将综合后形成的位流下载到具体的FPGA芯片中,也叫芯片配置。FPGA设计有两种配置形式:直接由计算机经过专用下载电缆进行配置;由外围配置芯片进行上电时自动配置。FPGA具有掉电信息丢失的性质,因此可以先将文件下载到缓存中,然后再将其烧录到配置芯片中,将文件下载到FPGA器件内部后进行实际器件的物理测试即为电路验证,当得到正确的验证结果后就证明了设计的正确性。
2.3 数字化双脉冲触发电路设计
要求实现一个相位随着参考电压移动的双脉冲信号:当参考电压在3.3V和8.7V之间变化时,双脉冲信号的相位随着参考电压的变化而变化。
本文选用Libero IDE v6.2软件进行程序输入和仿真,设计电路。主要设计步骤如下:
(1)前仿真
这一步对描述的电路进行仿真。首先,用WaveFormer Lite为这个设计产生一个激励,然后调用这个激励文件进行仿真。其输入波形如图5所示。
选择Simulate>Run>Run All进行仿真,选择Wave窗口的大小及最小单位,选择最佳的观察波形,其仿真波形如图6所示。
(2)反馈仿真
由于后仿真软件不支持延时系统,即不支持程序中的transport语句,这也是该程序不够完善的地方。在正常情况下,后仿真基本不可能错误,对此,进行两种设计方法的尝试: