首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Verilog的高手请进

Verilog的高手请进

    Verilog是由模块组成,模块之间可以嵌套使用,可是Verilog中的测试模块怎么用?

是把测试模块直接和主模块放在一起,还是重新建立一个Verilog文件,把测试模块放进去呢?

测试模块一般用来产生测试波形,可是在什么地方可以看到激励波形呢?一些文章在介绍实例中只是提供了

源程序和测试模块,还有测试输出的波形,

比如

模块源代码:

//--------------- compare.v -----------------

module compare(equal,a,b);

input a,b;

output equal;

   assign  equal=(a==b)?1:0; //a等于b时,equal输出为1a不等于b时,

                             //equal输出为0

endmodule

 

 

    测试模块用于检测模块设计得正确与否,它给出模块的输入信号,观察模块的内部信号和输出信号,如果发现结果与预期的有所偏差,则要对设计模块进行修改。

   

测试模块源代码:

`timescale 1ns/1ns      //定义时间单位。

`include  "./compare.v" //包含模块文件。在有的仿真调试环境中并不需要此语句。

                       //而需要从调试环境的菜单中键入有关模块文件的路径和名称

module  comparetest;

   reg a,b;

   wire equal;

   initial              //initial常用于仿真时信号的给出。

     begin

       a=0;

       b=0;

     #100   a=0; b=1;

     #100   a=1; b=1;

     #100   a=1; b=0;

     #100   $stop;      //系统任务,暂停仿真以便观察仿真波形。

     end

    

    compare  compare1(.equal(equal),.a(a),.b(b));    //调用模块。

   

endmodule        

 

 

 

 

仿真波形(部分):

 

上面的源程序和测试程序,以及下面的仿真波形都是怎么搞的?他们之间怎么调用,请高手指点。


上面的源程序和测试程序,以及下面的仿真波形都是怎么搞的?他们之间怎么调用,请高手指点。



[此贴子已经被作者于2007-5-2 16:21:42编辑过]

把测试模块直接和主模块放在一起,

运行测试模块源代码,之后就可以了

返回列表