リングカウンタは、シフトレジスタに接続されたフリップフロップで構成されるカウンタの一種で、最後のフリップフロップの出力が最初のフリップフロップの入力に供給され、「円形」または「リング状」の構造を形成します。
リングカウンターには2種類あります。
リングカウンタは、大規模な有限状態機械において状態シーケンサとしてよく使用されます。バイナリカウンタはビット数の増加に伴って伝搬遅延が増大しますが、リングカウンタの伝搬遅延はビット数に関係なく一定であるため、より高いクロック周波数で動作させることができます。
リングカウンタはバイナリカウンタよりもモジュラスが小さい。バイナリカウンタは2 <sup> N </sup>状態を持ち、Nはフリップフロップの数である。一方、ストレートリングカウンタはN状態、ジョンソンカウンタは2 <sup> N </sup>状態を持つ。これは、レジスタが組み合わせ論理回路よりも高価な場合、あるいはその逆の場合など、ハードウェア実装において重要な考慮事項となる可能性がある。
ジョンソンカウンタは、すべてゼロの状態から自己初期化することができます。隣接する状態が1ビットだけ異なる(つまり、ハミング距離が1である)グレイコードを生成するため、ビットパターンを非同期的にサンプリングする場合に役立ちます。[ 2 ]
ストレートリングカウンタは、一部のシーケンスコントローラのように、カウンタ状態のワンホット表現が必要な場合によく使用されます。双方向カウンタは、各フリップフロップの入力にマルチプレクサを追加して、その左または右の隣接フリップフロップの出力を選択することで実装できますが、伝搬遅延が増加するという代償があります。[ 3 ]
ストレートリングカウンタは、以下の例に示すように、円形シフトレジスタです。初期ワンホットパターンは、1つのフリップフロップを設定し、リセット時に他のすべてのフリップフロップをクリアすることによって確立されます。あるいは、最後のフリップフロップ出力を除くすべてのフリップフロップ出力の補数をAND演算することで、カウンタを自己初期化することもできます。これにより、最後のフリップフロップ以外のどのステージにも1がない場合に、最初のフリップフロップ入力に1が適用されます。[ 4 ]
![]()
ジョンソンカウンタは、ロバート・ロイス・ジョンソンにちなんで名付けられたもので、最終出力が反転される循環シフトレジスタです。以下に示す4ビットジョンソンカウンタをご覧ください。
![]()
デジタルコンピューティングの時代以前は、リングカウンターはガイガーカウンターで周波数プリスケーラとして使用され、イベント率(アルファ粒子とベータ粒子への放射性崩壊)をより扱いやすい周波数に低減していました。[ 5 ] 5 状態リングカウンターは、1940 年以前に、 CE Wynn-Williamsが開発したような、10 のべき乗スケーラを作成するために、2 分周スケーラとともに使用されていました。[ 5 ]リングカウンターのその他の初期の用途には、暗号解読におけるパターン出現カウンター (例えば、Heath Robinson の暗号解読機やColossus コンピュータ)、[ 6 ]およびコンピュータや計算機における 10 進演算のカウントアキュムレータとして、2 5 進数(Colossus のように) または 10 状態ワンホット ( ENIACのように) 表現を使用して使用されていました。
初期のリングカウンタは、ステージごとにアクティブ素子(真空管、バルブ、またはトランジスタ)を 1 つだけ使用し、グローバルフィードバックによってワンホット状態以外の状態を抑制していました。たとえば、National Cash Register Company の Robert E. Mumma による 1941 年の特許出願では、ウィルコックスP. Overbeck が単一の真空管に複数の陽極を使用するバージョンを発明しました。[8] [ 9 ]彼の功績を称えて、リングカウンタは Overbeck リングと呼ばれることもあります。
ENIACは、10ステートのワンホットリングカウンタに基づく10進演算を使用していた。NCRのMummaとMITのOverbeckの研究は、 ENIAC技術に関するJ. Presper EckertとJohn Mauchlyの特許を無効にした特許庁によって調査された先行技術の中に含まれていた。[ 10 ]
1950年代までに、各段に2本の真空管または双三極管のフリップフロップを備えたリングカウンターが登場した。[ 11 ]
ロバート・ロイス・ジョンソンは、可能な限り単純なフィードバックロジックでさまざまな状態数を実現することを目的として、シフトレジスタベースのさまざまなカウンタを開発し、1953年に特許を出願した。 [ 12 ]ジョンソンカウンタは、これらの中で最も単純なものである。
ストレートリングカウンタは、周期制御サイクルの各状態において特定の動作を可能にするワンホット信号を生成するためによく使用されます。ワンホットコードは、各状態に1つのゲートを使用してジョンソンカウンタからデコードすることもできます。[ 13 ]
ジョンソンカウンタは、偶数個の状態を持つサイクルを生成するためによく使用され、それらは自然にグレイコードとしてエンコードされるため、グリッチを引き起こすことなく非同期的にサンプリングできます。[ 14 ] 2ビットのジョンソンコードと2ビットの反射バイナリコード(RBC)は同一ですが、3ビット以上の場合、RBCとジョンソンコードは異なります。5ビットのジョンソンカウンタは、「非カウント10進符号化シャフトデジタイザ」から、10進数のLibaw–Craigコードと同一のコードを生成します。[ 15 ] [ 16 ]
ジョンソンカウンタと数個の抵抗器で、カウンタのクロック周波数のみによって出力周波数が決まる、グリッチのない正弦波の近似値を生成することができる。[ 17 ]
{{cite book}}: CS1メンテナンス: ISBNエラーを無視しました (リンク) (519ページ){{cite book}}ISBN /日付の不一致(ヘルプ)