小舍YZ 发表于 2017-6-29 17:03:28

基于ISE的仿真

基于ISE的仿真

在代码编写完毕后,需要借助于测试平台来验证所设计的模块是否满足要求。ISE提供了两种测试平台的建立方法,一种是使用HDL Bencher的图形化波形编辑功能编写,另一种就是利用HDL语言。由于后者使用简单、功能强大,所以本节主要介绍基于Verolog语言的测试平台建立方法。

1.测试波形法

在ISE中创建testbench波形,可通过HDL Bencher修改,再将其和仿真器连接起来,再验证设计功能是否正确。首先在工程管理区将Sources for设置为Behavioral Simulation,然后在任意位置单击鼠标右键,在弹出的菜单中选择“New Source”命令,然后选中“Test Bench WaveForm”类型,输入文件名为“test_bench”,点击Next进入下一页。这时,工程中所有Verilog Module的名称都会显示出来,设计人员需要选择要进行测试的模块。由于本工程只有一个模块,所以只列出了test,如图4-30所示。

图4-30 选择待测模块对话框

小舍YZ 发表于 2017-6-29 17:04:26

用鼠标选中test,点击“Next”后进入下一页,直接点击“Finish”按键。此时HDL Bencher程序自动启动,等待用户输入所需的时序要求,如图4-31所示。
图4-31 时序初始化窗口

小舍YZ 发表于 2017-6-29 17:05:23

时钟高电平时间和时钟低电平时间一起定义了设计操作必须达到的时钟周期,输入建立时间定义了输入在什么时候必须有效,输出有效延时定义了有效时钟延时到达后多久必须输出有效数据。默认的初始化时间设置如下:
•        时钟高电平时间(Clock High Time):100ns
•       时钟低电平时间(Clock Low Time):100ns
•        输入建立时间(Input Setup):15ns
•        输出有效时间(Output Valid):15ns
•        偏移时间(Offset):100ns
单击“OK”按钮,接受默认的时间设定。测试矢量波形显示如图4-32所示。
图4-32 测试矢量波形


小舍YZ 发表于 2017-6-29 17:06:16

接下来,初始化输入(注:灰色的部分不允许用户修改),修改的方法为:选中信号,在其波形上单击,从该点击所在周期开始,在往后所有的时间单元内该信号电平反相。点击din信号前面的“+”号,在din的第2个时钟周期内单击,使其变高;在din的第3个时钟周期内单击,使其变高;同样的方法修改din~din信号,使其如图4-33所示。
图4-33 初始化输入

小舍YZ 发表于 2017-6-29 17:08:03

然后将testbench文件存盘,则ISE会自动将其加入到仿真的分层结构中,在代码管理区会列出刚生成的测试文件test_bench.tbw,如图4-34所示。
图4-34 测试文件列表

小舍YZ 发表于 2017-6-29 17:08:58

选中test_bench.tbw文件,然后双击过程管理区的“Simulate Behavioral Model”,即可完成功能仿真。同样,可在“Simulate Behavioral Model”选项上单击右键,设置仿真时间等。例4-3的仿真结果如图4-35所示。从中,可以看出,dout信号等于din信号加1,功能正确。
图4-35 功能仿真结果

逆战 发表于 2017-7-13 18:02:02

谢谢分享!

FPGA_one 发表于 2017-7-14 09:42:19

学到东西了呀         

小舍YZ 发表于 2017-7-14 18:58:58

FPGA_one 发表于 2017-7-14 09:42
学到东西了呀

               那就好   :lol :lol :lol :lol :lol                           

zxopenljx 发表于 2023-2-13 09:41:36

基于ISE的仿真
页: [1]
查看完整版本: 基于ISE的仿真