本文介紹常見的電路——計(jì)數(shù)器,然后我們由計(jì)數(shù)器電路講解到分頻電路。

一、計(jì)數(shù)器

  (1)計(jì)數(shù)器代碼

  計(jì)數(shù)器,顧名思義就是在時(shí)鐘的節(jié)拍下進(jìn)行計(jì)數(shù),一個(gè)簡(jiǎn)單的N位計(jì)數(shù)器的代碼如下所示,這個(gè)計(jì)數(shù)器從0計(jì)數(shù)到2^N - 1(共計(jì)數(shù)了2^N個(gè)數(shù),也就是N位計(jì)數(shù)器):

iOS培訓(xùn),Swift培訓(xùn),蘋果開發(fā)培訓(xùn),移動(dòng)開發(fā)培訓(xùn)

 1 module count#(parameter N=8)( 2 input clk, 3 input clear, 4 output[N-1:0] cnt_Q 5 ); 6 reg[N-1:0] cnt; 7 assign cnt_Q = cnt; 8  9 always@(posedge clk)10   if(clear)11     cnt <= 'h0;      //同步清 0,高電平有效12   else13     cnt <= cnt+1'b1; //加法計(jì)數(shù)14 15 endmodule

iOS培訓(xùn),Swift培訓(xùn),蘋果開發(fā)培訓(xùn),移動(dòng)開發(fā)培訓(xùn)

上述描述的計(jì)數(shù)器通過 clear 信號(hào)清除計(jì)數(shù)值,然后下一周期開始加 1 計(jì)數(shù);當(dāng)計(jì)數(shù)器計(jì)到能夠存儲(chǔ)的最大數(shù)值時(shí), 例如本例為 8 個(gè) 1,即 8'hff 就會(huì)自動(dòng)回到 0,然后開始下一輪計(jì)數(shù)。

綜合得帶的電路如下所示:

iOS培訓(xùn),Swift培訓(xùn),蘋果開發(fā)培訓(xùn),移動(dòng)開發(fā)培訓(xùn)

 

網(wǎng)友評(píng)論