Board logo

标题: Verilog的高手请进 [打印本页]

作者: gengshg    时间: 2007-5-2 16:21     标题: 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编辑过]


作者: baiyingli17    时间: 2007-5-2 18:02

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

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






欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0