Modelsim工程仿真和主从D触发器的门级建模

1.实验目的:
实验一.Modelsim工程仿真
实验二.主从D触发器的门级建模

2.实验代码:
实验一代码:
模块代码:
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);
/*
initia1
begin
#15 force fadd.sun=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;
endendmodule

实验二代码:
模块代码:
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
begin
d=0;
#7 d=1;
#4 d=0;
#9 d=1;
#11 d=0;
#20 d=$stop;
end

MSDFF ms_dff(q,qbar,d,clk);

endmodule

3.实验工具:modelsim软件和Quartus II软件

4.实验过程及结果截图:
一,首先建立一个新文件夹,以便随后把工程建立在其中
二,准备好代码文件以及测试代码文件(以.v为后缀)
三,打开modelsim软件左上方File处新建一个项目
四,建好工程名称并选择保存路径
五,点击Add Existing File(添加现有文件),然后浏览文件,找到要编译的文件。
六,选择之前准备好的代码文件和测试文件并点击打开,点击OK。
七,右键单击compile选择编译所有。
八,点击simulation,点击开始仿真(start simulation).
九,选择测试文件,并且点击OK
十,在instance(例子)处右键单击找到 add wave 添加输入输出列表,点击仿真
十一:仿真成功。
一:
调试参数
在这里插入图片描述
在这里插入图片描述
实验二:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
实验视频:
modelsim建立工程进行仿真

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值