回答

收藏

明德扬测试文件答疑汇总

FPGA/DSP FPGA/DSP 2206 人阅读 | 0 人回复 | 2022-03-30

本帖最后由 mdyfpga 于 2022-3-30 09:02 编辑

    相信很多小伙伴都有过产品测试的经历,在测试环节之后,就是要编写合理的测试文档。那么在写的过程中会遇到各种问题,通常情况下,测试报告上会包含测试进度,测试环境,测试情况大致描述、作为测试者对于当前版本的看法(是否可以上线),测试内容(测试场景)。下面是问题汇总:


【问题1】在测试文件中,初始化语句initial begin后面跟着的“#a”表示什么意
答:表示延时的时间,#3就表示延时3个时间单位,具体每个时间单位是多少,要看测试文件中的时间标尺的定义。


【问题2】这是出了什么问题?din输入的值出问题了?
答:这种情况的错误提示,如果是三态门(inout)管脚例化时,请按如下方法进行:
1.如果是初级入门,可以看测试文件编写、和测试文件模板视频;
2、如果要提高,可以看测试文件训练等资料,里面包括随机数等产生方法;
3、如果更高级的,可以看高级测试技巧的公开课,该课程讲述了高级的测试文件,其主要是自动对比仿真的技巧。


【问题3】如何在测试文件中,读取TXT文档的数据?
答:integer r_file;initial  beginr_file = $fopen("../din_sim.txt", "r");endalways@(posedge clk) begin$fscanf(r_file, "%d", din);end
上面就实现了将din_sim.txt里面的数据给到din的功能


【问题4】点拨教程的测试文件编号练习2中,提供的设计文件在哪里下载?
答:请看如下练习:03 测试文件的编写:http://www.mdy-edu.com/wentijieda/20210409/1213.html?1618046547
请看以太网测试文件部分,其中的baowen.v就是了


【问题5】 MDY测试文件里,很多信号开始时会有“#1”的延时,为什么?
答:这是为了避免时钟上升沿和信号上升沿同时出现,同时出现的话,在时钟上升沿就这个信号是0还是1(这种情况,实质的硬件电路是不会出现的)。


【问题6】在看波形时,部分信号只有“半个时钟周期”,是怎么回事?
答:仿真的时候,我们关注的是在上升沿的时候是0还是1,不关心测试信号是不是半个周期。具体可看:时序逻辑影响计数器精度:http://www.mdy-edu.com/wentijieda/20210410/1325.html


【问题7】 testbench中,时钟延迟,比如#20后面加分号与不加分号,有什么区别呢?
答:效果是一样的。#20 a=1;表示延时20个单位后,a为1。#20;a=1;  表示延时20个单位。a为1。(注意中间标点符号不同。)


【问题8】repeat(40) clk=~clk就是产生40个周期的时钟信号吗?
答:每隔40个时间就取反一次,所以周期是80。


【问题9】Modelsim仿真产生随机数
答:reg data;
data = $random % a; //产生从-a+1 ~ a-1 的随机数
data = {$random} % a; //产生从0到a-1的随机数


   如果同学们的问题我们帖子里面没有的请第一时间联系我们对新问题进行补充! 内容会不断更新。需要更多的问题答疑请收藏本网址:http://www.mdy-edu.com/wentijieda/20210410/1263.html

分享到:
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条