博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
简单的Verilog测试模板结构
阅读量:6575 次
发布时间:2019-06-24

本文共 2093 字,大约阅读时间需要 6 分钟。

这里记录一下曾经用到的简单的测试模板,如下所示:

//timescale`timescale    1ns/1ns module  tb_module();//the Internal motivation variable(register) and output wire //the  External motivation storage variable//Sub module signal,example: wire [1:0] xxx == xxx_inst.xxx_inst.xxx;// Global variable initialization ,such as 'clk'、'rst_n'initial begin    #0 rst_n = 0;       clk = 0;    #25 rst_n = 1 ;end //Internal motivation variable initialization//initial begin   //end //cloclk signal generationalways #10 clk = ~clk ;//Cases of sub module xxxx xxxx_inst(.(),.(), ... ,.());// Internal motivation variable assignment  using task or random/*  example                                                task data_assign(xx);                               | task    rand_bit();            integer    xx,xx,...;                           |     integer i;    begin                                           |     begin        for( ; ; )begin                             |         for(i=0; i<255; i=i+1)begin        @(posedge clock)                            |             @(posedge sclk);                          Internal motivation variable <= xxxxx;      |             Internal motivation variable <={$random} %2;        end                                         |          end        end                                             |        end    endtask                                             |     endtask                             */                 endmodule

整个测试模块(结构)很简单,并没有结果捕捉模块,因此如果有错的话,并不会打印出来,需要在波形中查看,仅限于简单模块使用。

另外一个简单的verilog测试模板结构如下所示:

module tb_module;//drive the input port with reg type //sample the output with the wire type //task1 create the instance  //task2 clock and reset generatorparameter CLK_PERIOD =   ;reg clk ,rst_n;initial begin    clk = 0;    forever begin        #(CLK_PERIOD/2) clk = ~clk ;    end end initial begin    rst_n = 0;    #    rst_n = 1;end //task3 drive the stimulus and capture the response //testcase //task4 check the result //task5 dump waveform with the compile option -debug_all,for the VCSinitial begin     $vcdpluson;end endmodule

 

这些结构都没有给出具体的内容。有空补上一个简单的例子。

 

转载地址:http://mpgjo.baihongyu.com/

你可能感兴趣的文章
使用phppgadmin 遇到的小问题
查看>>
BFS小结
查看>>
Jquery页面跳转
查看>>
poj 3211 Washing Clothes (01)
查看>>
Ruby小白入门笔记之<Rubymine工具的快捷键>
查看>>
Media Session API 为当前正在播放的视频,音频,提供元数据来自定义媒体通知
查看>>
yum -y install php-mysql 版本冲突
查看>>
【7.17总结】 匈牙利算法(二分图最大匹配)
查看>>
JDBC(转)
查看>>
大端小段详解—转载
查看>>
告别LVS:使用keepalived+nginx实现负载均衡代理多个https
查看>>
征服 Redis + Jedis + Spring (一)—— 配置&常规操作(GET SET DEL)
查看>>
[转载]触摸屏网站制作的小细节
查看>>
[转载]INNO Setup 使用笔记
查看>>
Servlet--HttpSession接口,HttpSessionContext接口,Cookie类
查看>>
Android世界第一个activity启动过程
查看>>
RR调度(Round-robin scheduling)简单介绍
查看>>
重载函数编译后的新名字
查看>>
oracle resetlog与noresetlog的作用(转载)
查看>>
linux服务器内存占用太高-释放内存
查看>>