第一次发帖,一个弱弱的verilog程序的问题
书本上的一个程序 ,是构成主从D触发器的一个程序,module flop(data,clock,clear,q,qb)
inputdata,clock ,clear;
output q,qb;
nand#10 nd1(a,data,clock,clear),
nd2(b,ndata,clock),
nd4(d,c,b,clear),
nd5(e,c,nclock),
nd6(f,d,nclock),
nd8 (qb,q,f,clear);
nand #9 nd3(c,a,d),
nd7(q,e,qb);
not #10 iv1(ndata,data);
iv2(nclock,clock);
endmodule
有几个低级问题
1。前面只定义了输入输出5个变量,但中间又出现了a,b,c,d等等的变量,是这些模块内部的量不用初始化吗?这点我是对比C语言理解的。不知道有没有错?这些量是reg型还是wire型?怎么判断?
2。这里为什么会有延时?#10 #9,是模拟与非门延时?还是有其他作用?这个数值时怎么确定的?
3。这样一个程序就可以直接用quartus仿真了?用不用加一些库之类的? 1 a,b,c,d这些变量最好是要初始化一下 这是好习惯
是wire型的 内部互联相当于一条线
2 #9#10 是对仿真有效地延迟 用来模拟器件的物理延迟 综合时一般会被综合器无视(综合结果中会有警告提示)~
3 不用加库~ 仿真步骤可以参考一下入门的EDA的书~
页:
[1]