怎样写 testbench
本文的实际编程环境:ISE 6.2i.03
ModelSim 5.8 SE
Synplify Pro 7.6
编程语言 VHDL
在ISE 中调用 ModelSim 进行仿真
一、 基本概念和基础知识
Testbench 不仅要产生激励也就是输入,还要验证响应也就是输出。当然也可以只产生
激励,然后通过波形窗口通过人工的方法去验证波形,这种方法只能适用于小规模的设计。
在 ISE 环境中,当前资源操作窗显示了资源管理窗口中选中的资源文件能进行的相关操
作。在资源管理窗口选中了 testbench 文件后,在当前资源操作窗显示的 ModelSim
Simulator 中显示了 4 种能进行的模拟操作,分别是:Simulator Behavioral Model(功能
仿真)、 Simulator Post-translate VHDL Model(翻译后仿真)、 Simulator Post-Map VHDL
Model(映射后仿真)、 Simulator Post-Place & Route VHDL Model(布局布线后仿真)。如
图 1 所示:
图 1
l Simulator Behavioral Model 也就是所说的功能仿真、行为仿真、前仿真。验证
功能是否正确,这是设计的第一步。功能仿真正确的程序不一定能被正确综合,也
就是硬件实现。有的在综合时报错误,有的虽然能综合但结果并不正确。当然,功
能仿真如果都不能通过,以后的步骤也就无法进行。这是必做的仿真。
l Simulator Post-translate VHDL Model 也就是翻译后仿真。对源程序进行编译后
首先排除了语法错误,对一些像类属命令(Generic)、生成语句(Generate)等进
行了展开。不是必做的仿真。
l Simulator Post-Map VHDL Model 也就是映射后仿真。不同的器件内部结构也不尽
相同,映射的作用就是将综合后产生的网表文件对应到实际的器件上去。由于映射
不包含布线,也就是要用什么类型的逻辑单元虽然已经确定但要用哪个位置的还没
有确定,因此,映射后仿真不包含布线延时。不是必做的仿真。
l Simulator Post-Place & Route VHDL Model 也就是所说的布局布线后仿真、时序
仿真、后仿真。这是最完整的仿真,既包含逻辑延时又包含布线延时。在做布局布
线后仿真时要用到一个叫 SDF的文件。SDF 文件包含设计中每个单元(Cell)的延
- 1
- 2
前往页