哪一個(gè)計(jì)數(shù)器才會(huì)出現(xiàn)9呢?
counter9_v2.v/Verilog
1/*
2 (c) OOMusou 2008年
3
4文件名 : counter9_v2.v
5編譯器 : Quartus II 7.2 SP3
6描述: 計(jì)數(shù)到9 ?
7發(fā)行 : 07/18/2008 1.0
8 *
9模塊counter9_v2 (
10輸入的clk,
11輸入的rst_n,
輸出的12 [3 :0] q
13);
14
15 reg [3 :0] p;
16
17分配q = p;
18
19 always@ (posedge clk或negedge rst_n)開始
20,如果(! rst_n)
21 p = 0;
22,如果(p == 9)
23 p = 0;
24
25 p = p + 1;
26末端
27
28 endmodule
結(jié)論
由模擬的波形圖得知, counter_v2才會(huì)數(shù)到9,你答對(duì)了嗎?
從結(jié)構(gòu)圖中,可以發(fā)現(xiàn)兩者合成出來的電路是差異甚大, v1的reg q后面接了一個(gè)組合電路,經(jīng)過一個(gè)比較器與多任務(wù)器后‘馬上’輸出結(jié)果,所以還沒數(shù)到9就被‘攔胡’了, v2是個(gè)典型的循序電路,由比較器判斷的p,是從D-FF所提供的p,而這個(gè)p早已經(jīng)輸出到q了,要攔也攔不下來,且9已經(jīng)存在于D-FF中1個(gè)時(shí)鐘,要讓p = 0也是下一個(gè)時(shí)鐘的事情,所以在下一個(gè)時(shí)鐘出現(xiàn)q = 0。
多多觀察RTL觀察者所合成的電路與ModelSim仿真結(jié)果是增加Verilog功力的不二法門,共勉之。
塵埃粒子計(jì)數(shù)器相關(guān)文章:塵埃粒子計(jì)數(shù)器原理
評(píng)論