shaofan530530 发表于 2010-8-3 15:57:37

第一次发帖,一个弱弱的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仿真了?用不用加一些库之类的?

小苦 发表于 2010-8-5 17:36:54

1 a,b,c,d这些变量最好是要初始化一下   这是好习惯

是wire型的   内部互联相当于一条线

2 #9#10 是对仿真有效地延迟   用来模拟器件的物理延迟   综合时一般会被综合器无视(综合结果中会有警告提示)~

3 不用加库~    仿真步骤可以参考一下入门的EDA的书~
页: [1]
查看完整版本: 第一次发帖,一个弱弱的verilog程序的问题