1. VerilogHDL设计不用而仿真时用的语法
- initial
- task/function
- for/while/repeat/forever
- integer
- 内部不能有三态0
- case/casex
- force/wait/fork
- #x
2. 关于例化
如下为一个简单的比较器模块
module compare(a,b,equal);
input a,b;
output equal;
reg equal;
[email protected](a or b)
if(a==b)
equal = 1;
else
equal = 0;
endmodule
例化如下
compare compare_lihua (
.a(a),
.b(b),
.equal(equal)
);
3. 生成testbench文件的步骤
- Assignment - setting
3. 打开生成的 .vt 格式的testbench文件
3. 修改testbench文件及下图圈出部分
【注】testbench文件因依次包含以下部分(a. 定义时间标尺 b.定义信号类型 c.例化 d.写输入驱动 )
.vt文件如下
`timescale 1 ps/ 1 ps
module compare_vlg_tst();
reg a;
reg b;
reg clock;
wire equal;
compare i1 (
.a(a),
.b(b),
.equal(equal)
);
initial
begin
a = 0;
b = 0;
clock = 0;
end
always #50 clock = ~clock;
[email protected](posedge clock)
begin
a = {$random}%2;
b = {$random}%2;
end
initial
begin #100000 $stop; end
compare m(.equal(equal),.a(a),.b(b));
endmodule