逻辑功能的仿真与测试

在对一个设计块进行仿真时,需要准备一个测试模块。该模块大致由三部分组成:第一部分实例引用被测试的模块(即设计块)。第二部分是给输入信号赋各种不同的组合值,即激励信号。第三部分指定测试结果的显示格式,并指定输出文件名。由于测试模块的主要任务是给设计块提供激励信号,所以也称为激励块。\\n\\n激励块通常是顶层模块,同样用 Verilog HDL来描述。它是以module 开始并以end-module 结尾的,内部包括模块名、数据类型的声明、低层次模块的实例引用和行为语句块(initial或者always),但是不需要声明端口。\\n\\n在激励块中,通常会使用编译指令timescale 将时间单位与实际时间进行关联。编译指令(compiler directives)为仿真工具提供有关如何解释 Verilog模型的附加信息。编译指令放在模块定义之前,并以反引号(即)开头。timescale的格式为:\\n\\ntimescale time_unit/time_precision\\n\\n其中,tine_unit为仿真时间单位,time_precision为仿真时间的精度(即最小分辨度)。注意,时间单位通常大于或等于时间精度。\n\n按照附录D中介绍的基于工程项目的仿真流程,首先创建一个工程项目,接着添加设计文件,然后进行编译、在对一个设计块进行仿真时,需要准备一个测试模块。该模块大致由三部分组成:第一部分实例引用被测试的模块(即设计块)。第二部分是给输入信号赋各种不同的组合值,即激励信号。第三部分指定测试结果的显示格式,并指定输出文件名。由于测试模块的主要任务是给设计块提供激励信号,所以也称为激励块。\\n\\n激励块通常是顶层模块,同样用 Verilog HDL来描述。它是以module 开始并以end-module 结尾的,内部包括模块名、数据类型的声明、低层次模块的实例引用和行为语句块(initial或者always),但是不需要声明端口。\\n\\n在激励块中,通常会使用编译指令timescale 将时间单位与实际时间进行关联。编译指令(compiler directives)为仿真工具提供有关如何解释 Verilog模型的附加信息。编译指令放在模块定义之前,并以反引号(即)开头。timescale的格式为:\\n\\ntimescale time_unit/time_precision\\n\\n其中,tine_unit为仿真时间单位,time_precision为仿真时间的精度(即最小分辨度)。注意,时间单位通常大于或等于时间精度。\n\n按照附录D中介绍的基于工程项目的仿真流程,首先创建一个工程项目,接着添加设计文件,然后进行编译、仿真和调试。具体步骤如下:                                        (1)在Windows资源管理器中,新建-一个子目录(例如,F:\\Test. mux2tol)。                                      (2)打开一个文本编辑器(例如,Notepad++),输入设计块和激励块源代码,并将它们保存在新建的子日录中,文件名分别为mux2to1_df.v 和test_ mux2to1_df.v,如图

4789a10ca07d45a2864c28c32d2bc2ff.jpgmux2to1_df.       

b2b153e9f51042e681c351b1fa428f8b.jpg           test_mux2to1_df.v                                         (3)打开ModelSim软件,创建一个新的工程设计项目( test_mux2to1_df) ,添加已经存在的源文件( mux2to1_df.v 和test _mux2to1_df.v)。        (4)在Project子窗口中,编译所有的源文件。如果编泽成功,则代码文件的Status栏显                  示为绿色的“✓\"。如果编译出错,则会给出相关错误信息,修改代码,然后再重新编译,直到没有编译错误。                                                         (5)将设计载入仿真器,开始仿真。编译成功之后,仿真器通过调用VerilogHDL的顶层模块将设计载人到仿真器中,弹出与仿真相关的子窗口,且设置仿真时间从0时刻开始。(6)将需要观察的信号添加到Wave子窗口中。                               (7)执行仿真命令,得到如图所示的输入、输出波形;同时,还得到图最下面以文本方式显示的仿真结果。可见,在0~20 ns期间,由于PS=0,所以输出PY与输入PDO相同;在20~40 ns期间,PS=1,故输出PY与输入PD1相同。表明该设计块描述的逻辑功能是正确的。 a0c1e69ba79d44c796b032da1c0a33c0.jpg    (8)结束仿真,退出ModelSim仿真器                  实验视频链

https://v.youku.com/v_show/id_XNTkyMDM0MjI0OA==.html?                                                       x&sharefrom=android&sharekey=c945da559d0f43846787196b1acb5272 ​​​​​​​​​​​​​​             https://v.youku.com/v_show/id_XNTkyMDM0MjI0OA==.html?                                                       x&sharefrom=android&sharekey=c945da559d0f43846787196b1acb5272 ​​​​​​​​​​​​​​             

 密码:12345678A

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值