基于ISE的仿真.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于ISE的仿真 在代码编写完毕后,需要借助于测试平台来验证所设计的模块是否满足要求。ISE提供了两种测试平台的建立方法,一种是使用HDL Bencher的图形化波形编辑功能编写,另一种就是利用HDL语言。由于后者使用简单、功能强大,所以本节主要介绍基于Verolog语言的测试平台建立方法。 测试波形法 在ISE中创建testbench波形,可通过HDL Bencher修改,再将其和仿真器连接起来,再验证设计功能是否正确。首先在工程管理区将Sources for设置为Behavioral Simulation,然后在任意位置单击鼠标右键,在弹出的菜单中选择“New Source”命令,然后选中“Test Bench WaveForm”类型,输入文件名为“test_bench”,点击Next进入下一页。这时,工程中所有Verilog Module的名称都会显示出来,设计人员需要选择要进行测试的模块。由于本工程只有一个模块,所以只列出了test,如图4-30所示。 图4-30 选择待测模块对话框 用鼠标选中test,点击“Next”后进入下一页,直接点击“Finish”按键。此时HDL Bencher程序自动启动,等待用户输入所需的时序要求,如图4-31所示。 图4-31 时序初始化窗口 时钟高电平时间和时钟低电平时间一起定义了设计操作必须达到的时钟周期,输入建立时间定义了输入在什么时候必须有效,输出有效延时定义了有效时钟延时到达后多久必须输出有效数据。默认的初始化时间设置如下: ??? 时钟高电平时间(Clock High Time):100ns ??? ?时钟低电平时间(Clock Low Time):100ns ??? 输入建立时间(Input Setup):15ns ??? 输出有效时间(Output Valid):15ns ??? 偏移时间(Offset):100ns 单击“OK”按钮,接受默认的时间设定。测试矢量波形显示如图4-32所示。 图4-32 测试矢量波形 接下来,初始化输入(注:灰色的部分不允许用户修改),修改的方法为:选中信号,在其波形上单击,从该点击所在周期开始,在往后所有的时间单元内该信号电平反相。点击din信号前面的“+”号,在din[7]的第2个时钟周期内单击,使其变高;在din[6]的第3个时钟周期内单击,使其变高;同样的方法修改din[5]~din[0]信号,使其如图4-33所示。 图4-33 初始化输入 然后将testbench文件存盘,则ISE会自动将其加入到仿真的分层结构中,在代码管理区会列出刚生成的测试文件test_bench.tbw,如图4-34所示。 图4-34 测试文件列表 选中test_bench.tbw文件,然后双击过程管理区的“Simulate Behavioral Model”,即可完成功能仿真。同样,可在“Simulate Behavioral Model”选项上单击右键,设置仿真时间等。例4-3的仿真结果如图4-35所示。从中,可以看出,dout信号等于din信号加1,功能正确。 ? 图4-35 功能仿真结果 2.测试代码法 下面介绍基于Verilog语言建立测试平台的方法。首先在工程管理区将“Sources for”设置为Behavioral Simulation,在任意位置单击鼠标右键,并在弹出的菜单中选择“New Source”命令,然后选中“Verilog Test Fixture”类型,输入文件名为“test_test”,再点击“Next”进入下一页。这时,工程中所有Verilog Module的名称都会显示出来,设计人员需要选择要进行测试的模块。 用鼠标选中test,点击“Next”后进入下一页,直接点击“Finish”按键,ISE会在源代码编辑区自动显示测试模块的代码: `timescale 1ns / 1ps module test_test_v; // Inputs reg clk; reg [7:0] din; // Outputs wire [7:0] dout; // Instantiate the Unit Under Test (UUT) test uut ( ???????? .clk(clk), ???????? .din(din), ???????? .dout(dout) ); initial begin ???????? // Initialize Inputs ??????? clk = 0; ??????? din = 0; ??????? // Wait 100 ns for global reset to finish ??????

您可能关注的文档

文档评论(0)

xuefei111 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档