Quartus 添加外部modelsim仿真工具
1.为本工程生成test bench文件(.vt)
2.在toools中选择options,并添加路径
3.在assignments中选择settings
其中需要注意的部分如下图所示:
点击test benches…,new一个新的test bench,之后如下图
首先根据步骤1中,生成的test bench的module的名称填写name,注意一名称一定要保持一致
之后可以自行设置仿真的时间
最后添加步骤一中生成的test bench文件
最后添加步骤一中生成的test bench文件
3.写仿真文件(示例)
`timescale 1 ps/ 1 ps
module IC_homework2_vlg_tst();
// constants
// general purpose registers
reg eachvec;
// test vector input registers
reg [2:0]datain_sig;
// wires
wire [7:0]dataout_sig;
// assign statements (if any)
decoder_3_8 i1
(
.datain(datain_sig) , // input [2:0] datain_sig
.dataout(dataout_sig) // output [7:0] dataout_sig
);
initial
begin
datain_sig<=3'b0;
end
always @(*)begin
#10 datain_sig<=datain_sig+1;
end
endmodule
.v文件如下(最简单的一个38译码器)
module decoder_3_8(
input [2:0] datain,
output reg [7:0]dataout
);
always @(*)begin
case(datain)
3'b000:dataout<=8'b0000_0001;
3'b001:dataout<=7'b0000_0010;
3'b010:dataout<=7'b0000_0100;
3'b011:dataout<=7'b0000_1000;
3'b100:dataout<=7'b0001_0000;
3'b101:dataout<=7'b0010_0000;
3'b110:dataout<=7'b0100_0000;
3'b111:dataout<=7'b1000_0000;
default:dataout<=7'b0000_0001;
endcase
end
endmodule
注意事项
注意quartus可以设置不同的顶层模块,但要注意换顶层模块之后需要再编译一次才能够运行modelsim,否则报错