仿真结果和想象的不一样啊
时间:10-02
整理:3721RD
点击:
对一个主从D触发器仿真,仿真时非门NT1设置了1个单位的时延,最后的结果如下图:
代码是:
`timescale 1ns/100ps;
module msdff(d,c,q,qbar);
input d,c;
output q,qbar;
not #1 nt1(notd,d);
not nt2(notc,c);
not nt3(noty,y);
nand nd1(d1,d,c),
nd2(d2,notd,c),
nd3(y,d1,ybar),
nd4(ybar,y,d2),
nd5(y1,y,notc),
nd6(y2,noty,notc),
nd7(q,qbar,y1),
nd8(qbar,y2,q);
endmodule
module test_msdff;
reg td1,td2,tc;
wire tq1,tqbar1,tq2,tqbar2;
msdff m1(td1,tc,tq1,tqbar1);
msdff m2(td2,tc,tq2,tqbar2);
always
#5 tc = ~tc;
initial
tc = 0;
initial
begin
td1 = 0;
#40 td1 = 1;
#40 td1 = 0;
#40 td1 = 1;
#40 td1 = 0;
#40 td1 = 1;
#40 td1 = 0;
#40 td1 = 1;
#35 td1 = 0;
#1 td1 = 1;
#1 td1 = 0;
#38 $stop;
end
initial
begin
td2 = 0;
#40 td2 = 1;
#40 td2 = 0;
#40 td2 = 1;
#40 td2 = 0;
#40 td2 = 1;
#40 td2 = 0;
#40 td2 = 1;
#35 td2 = 0;
#40;
end
//initial
//$monitor("Time = %t::",$time,"d=%b,c=%b,q=%b,qbar=%b",td,tc,tq,tqbar);
endmodule
为什么d1和d2都是一的时候,y和noty分别为1和0呢?
第一个图是局部的,求解释315ns到320ns之间的波形
支持一下!
用这个东东ms不能仿真你的主从触发器的模型。
逻辑仿真器是基于event的,触发器的原理跟这个不太一样。
