码迷,mamicode.com
首页 > 其他好文 > 详细

简单的Verilog测试模板结构

时间:2018-11-22 02:43:28      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:task   pil   tput   tor   ever   模块使用   compile   ali   glob   

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

//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 generation
always #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 generator
parameter 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 VCS
initial begin 
    $vcdpluson;
end 


endmodule 

 

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

 

简单的Verilog测试模板结构

标签:task   pil   tput   tor   ever   模块使用   compile   ali   glob   

原文地址:https://www.cnblogs.com/IClearner/p/9998569.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!