quartus中测试文件的写法及用法_笔记

时间:2024-05-18 13:18:31

1. VerilogHDL设计不用而仿真时用的语法

  1. initial
  2. task/function
  3. for/while/repeat/forever
  4. integer
  5. 内部不能有三态0
  6. case/casex
  7. force/wait/fork
  8. #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文件的步骤

  1. Assignment - setting

quartus中测试文件的写法及用法_笔记3. 打开生成的 .vt 格式的testbench文件
3. 修改testbench文件及下图圈出部分
【注】testbench文件因依次包含以下部分(a. 定义时间标尺 b.定义信号类型 c.例化 d.写输入驱动 )
quartus中测试文件的写法及用法_笔记
.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

quartus中测试文件的写法及用法_笔记