一,实验原理
利用modelsim仿真软件,实现逻辑功能的仿真与测试。
首先在对一个设计快进行仿真时,需要准备一个测试模块。该模块大,只有三部分组成。第一部分实力引用被测试的模块。第二部分是输入信号附各种不同的组合值,第三部分指定测试结果的显示格式,并输出文件名。
二,选择文件名test_mux2to1_df.v。里面文件内容是
`timescale 1ns/1ns
module test_mux2tol_df;
reg PD0,PD1,PS;
wire PY;
mux2tol_df t_mux (PD0,PD1,PS,PY);
initial begin
PS=0; PD1=0; PD0=0;
#5 PS=0; PD1=0; PD0=1;
#5 PS=0; PD1=1; PD0=0;
#5 PS=0; PD1=1; PD0=1;
#5 PS=1; PD1=0; PD0=0;
#5 PS=1; PD1=0; PD0=1;
#5 PS=1; PD1=1; PD0=0;
#5 PS=1; PD1=1; PD0=1;
#5 PS=0; PD1=0; PD0=0;
#5 $stop;
end
initial begin $monitor($time,":\tS=%b\tD1=%b\tD0=%b\tY=%b",PS,PD1,PD0,PY);
end
endmodule
watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAd2VpYmFuZ3dlbjEyMw==,size_20,color_FFFFFF,t_70,g_se,x_16
其实在设计一个文件名为mux2to1_df.vt。其内容是
module mux2tol_df (
input D0,D1,S,
output wire Y
);
assign Y = (~S & D0) |(S & D1);
endmodule
watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAd2VpYmFuZ3dlbjEyMw==,size_20,color_FFFFFF,t_70,g_se,x_16
三,运行仿真
结果如下
代码出现数字
watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAd2VpYmFuZ3dlbjEyMw==,size_20,color_FFFFFF,t_70,g_se,x_16
这表示我们弄成了。有些没有打开这个窗口ware,则需要我们去视图里面打开。
实验总结:这次实验只是开始,下面的还会有更难的。下次加油,继续努力。总体来说,实验还是很顺利。