Modelsim建立工程进行仿真
代码:
(1)
模块代码
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(sum,c_out,a,b,c_in);
/*
initial
begin
#15 force fadd.sum=a&b&c_in;
#20 release fadd.sum;
#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
(2)
模块代码
module MSDFF(Q, Qbar, D, C);
output Q, Qbar;
input D, C;
not
not1 ( NotD, D),
not2 ( NotC, C),
not3 ( NotY, Y);
nand
nand1 (D1, D, C),
nand2 (D2, C, NotD),
nand3 (Y, D1, Ybar),
nand4 (Ybar, Y, D2),
nand5 (Y1, Y, NotC),
nand6 (Y2, NotY, NotC),
nand7 (Q, Qbar, Y1),
nand8 (Qbar, Y2, Q);
endmodule
测试代码
module tb_23;
reg d;
reg clk;
wire q, qbar;
initial clk=0;
always #5 clk=~clk;
initial
begin
d=0;
#7 d=1;
#4 d=0;
#9 d=1;
#11 d=0;
#20 $stop;
end
MSDFF ms_dff(q,qbar,d,clk);
endmodule
一、图解过程
1)建立一个新文件夹
2)准备好代码和测试文件
3)新建工程
4)取工程名字选择保持路径
5)添加文件
6)选择你写好的代码文件和测试文件
7)点击打开
8)点击ok
9)点击编译所有文件
10)点击仿真
11)选择测试文件
12)添加输入输出列表
13)点击仿真按钮
14)成功
二、视频连接地址
Modelsim建立工程仿真
————————————————
版权声明:本文为CSDN博主「twoyou」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。