約翰遜(Johnson)計數器又稱扭環計數器,是一種用n位觸發器來表示2n個狀態的計數器。它與環形計數器不同,后者用n位觸發器僅可表示n個狀態。2~n進制計數器(n為觸發器的個數)有2~n個狀態。若以四位二進制計數器為例,它可表示16個狀態。但由於8421碼每組代碼之間可能有二位或二位以上的二進制代碼發生改變,這在計數器中特別是異步計數器中就有可能產生錯誤的譯碼信號,從而造成永久性的錯誤。而約翰遜計數器的狀態表中,相鄰兩組代碼只可能有一位二進制代碼不同,故在計數過程中不會產生錯誤的譯碼信號。鑒於上述優點,約翰遜計數器在同步計數器中應用比較廣泛。
約翰遜(Johnson)計數器又稱扭環計數器,是一種用n位觸發器來表示2n個狀態的計數器。它與環形計數器不同,后者用n位觸發器僅可表示n個狀態。n位二進制計數器(n為觸發器的個數)有2^n個狀態。若以四位二進制計數器為例,它可表示16個狀態。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
module johnson #( parameter N=4 ) ( input clk, input rst_n, output reg [N-1:0] q );
always @ (posedge clk,negedge rst_n) if(!rst_n) q <= {N{1'b0}}; else if(!q[0]) q <= {1'b1,q[N-1:1]}; else q <= {1'b0,q[N-1:1]};
endmodule |
用原理圖搭
路漫漫其修遠兮,吾將上下而求索
來自 <http://www.cnblogs.com/qiweiwang/archive/2011/09/12/2174106.html>
扭環形計數器編輯
本詞條缺少概述、信息欄、名片圖,補充相關內容使詞條更完整,還能快速升級,趕緊來編輯吧!
扭環形計數器圖
為了提高環形計數器電路狀態利用率,改變反饋函數為 D0=D2' ,則得到如上所示邏輯電路圖,稱為扭環形計數器。 扭環形計數器的有效狀態是:000→100→110→111→011→001→000…(環形計數器是100→010→001→100→…),如此循環,工作時,首先用 STA 置電路為全 0,然后加 CP。
② 波形圖
③狀態圖
下面是扭環形計數器狀態圖。有效狀態 6 個,電路進入有效循環;無效狀態 2 個,電路進入無效循環。這個電路不能自啟動。
④ 優缺點n 個觸發器組成的扭環形計數器 2n 個有效狀態,有效狀態利用率比環形計數器增加一倍。3 位扭環形計數器可構成 6 節拍發生器 T0 ~ T5,但需加譯碼電路。由於電路在每次狀態轉換時,只有一位觸發器改變狀態,電路譯碼時不會產生競爭冒險現象,而且,譯碼電路簡單。