用modelsim仿真基本流程:
代码以及测试代码如下:
module fulladd(sum,c_out,a,b,c_in);
output sum,c_out;
input a,b,c_in;
wire s1,c1,c2;
xor (s1,a,b);
and (c1,a,b);
xor (sum,s1,c_in);
and (c2,s1,c_in);
or (c_out,c2,c1);
endmodule
测试代码:
module test;
wire sum, c_out;
reg a,b,c_in;
fulladd fadd(sun,c_out,a,b,c_in) ;
/*
initial
begin
#15 force fadd.sum=a&b&c_in;
#20 release fadd.sun;
#10 $stop;
end
*/
initial
begin
a=0;b=0;c_in=0;
#10 a=0;b=0;c_in=1;
#10 a=0;b=1;c_in=0;
#10 a=0;b=1;c_in=1;
#10 a=1;b=0;c_in=0;
#10 a=1;b=0;c_in=1;
#10 a=1;b=1;c_in=0;
#10 a=1;b=1;c_in=1;
#10 $stop;
end
endmodule
1.创建两个测文件,并编写代码。
2.进行编译:
点击compile,编译完成在文件后会有✔提示。
3.点击work,只需编译测试文件,如图:
4.将sim中的测试代码加入到wave:
5.点击run,开始测试
6.测试结果如图:
二:主从D触发器的门级建模
代码以及测试代码如下:
1
2.
3.重复上诉步骤
4.结果如图: