module仿真实验

这两次的实验我们用的10d.1的仿真实验
第一部分:实验代码
第一个实验代码

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

第二个实验代码
第一个文件

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;

end

endmodule

第二部分:实验过程

第一个实验

在这里插入图片描述
第一步在实验的代码在quart里面做好的,将它加入在module的项目中。

在这里插入图片描述
第二步,将实验的端口加入波形图中,调试数值。进行数值的调试。

在这里插入图片描述
第三步,数值调试后,波形图就会出来如图。

第二个实验

在这里插入图片描述
第一步操作将文件加入到工程里,代码是在quart13.1里面建立做好的。

在这里插入图片描述
第二步将文件打开后,将我们的各个端口加进来,进行数据的调试,取值任意选择。

在这里插入图片描述
第三步,实验结果的波形图

第三部分:实验总结

这些都是基础的实验,要在不断地实验中总结实验操作。我觉得最难的是在quart中完成代码的建立,代码很容易出错,要仔细的完成代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值