FE EXAM

カウンタ(計数回路)

クロックパルスを数えて2進数で計数値を保持する順序回路。

INTERACTIVE VISUALIZATION
クロック
ビット=1
反転した桁
フェーズ
idle
クロック数
0
計数値(10進 / 2進)
0 / 000
シナリオ
ステップ1 / 25
STEP 1/25カウント開始前(全ビット0)すべてのフリップフロップが0にリセットされた初期状態です。今回は非同期式カウンタなので、前段の出力が次段のクロックになり、下位の桁から順番に変化が伝わります。これからクロックパルスを1つずつ入れて、計数値が増えていく様子を見ていきます。
CLOCKFF(4の位)0FF(2の位)0FF(1の位)0計数値0000
解説

📌
カウンタとは

クロック計数値0→1→2→3…1パルスごとに+1

カウンタ(計数回路)とは、クロックパルス(=周期的に上下する信号)が入るたびに数を1ずつ増やし、その値を2進数で覚えておく回路のことです。数えた結果を記憶する点が特徴で、入力の歴史によって出力が変わる「順序回路」の一種です。

身近な例で考えると、人が通るたびにカチカチ押す数取り器(カウンター)に似ています。1回押すと数字が1増え、押した回数の合計を覚えておいてくれます。カウンタ回路ではこの「押す」役割をクロックパルスが担います。

上のツールで▶ボタンを押すと、クロックパルスが入るたびにフリップフロップ(=1ビットを記憶する素子)が反転し、計数値が 0→1→2… と増えていく流れを確認できます。

⚙️
同期/非同期カウンタ

カウンタは、フリップフロップへのクロックの配り方によって2種類に分かれます。


同期カウンタ:すべてのフリップフロップに同じクロックをつなぎ、全桁が一斉に動く方式
非同期カウンタ:前段のフリップフロップの出力を次段のクロックにつなぎ、下位の桁から順に変化が伝わる方式

非同期カウンタは配線が単純ですが、桁から桁へ変化が伝わる遅れが積み重なるため、高速にすると上位桁の更新が間に合わなくなることがあります。リレー競走でバトンを順に渡すイメージです。一方、同期カウンタは全員が同時にスタートする一斉行動なので遅れが積み重ならず、高速動作に向いています。

項目同期カウンタ非同期カウンタ
クロック全段に共通前段の出力を次段へ
動作全桁が一斉下位から順に伝搬
速度速い遅れが積み重なる

上のツールでシナリオを切り替えると、同期式と非同期式の説明を見比べられます。

🛠️
用途(分周・タイマ等)

入力1/2に分周した出力細かい波ゆっくりした波

カウンタは数を数えるだけでなく、いろいろな場面で使われます。代表的な用途は次のとおりです。


分周:クロックの最下位ビットは2回に1回だけ変化するので、出力は入力の半分の速さになります。これを利用して、速いクロックから遅いクロックを作り出せます
タイマ・時計:一定速度のクロックを数えれば、何秒経ったかが分かります。デジタル時計やストップウォッチの心臓部です
イベントの計数:センサからの信号を数えれば、通過した品物の数や回転数を測れます
アドレス生成:メモリを順番に読み書きするためのアドレスを次々に作り出せます

分周は、回転の速いハンドルから回転の遅い時計の針へとギアで減速するのに似ています。ビットを1段増やすたびに速さが半分になるので、何段つなぐかで好きな速さを作れます。

練習問題

🎯
基本情報技術者 練習問題

Q1.カウンタ回路の説明として最も適切なものはどれか。
A.クロックパルスを数えて2進数で計数値を保持する順序回路
B.入力した電圧をそのまま増幅して出力する回路
C.交流を直流に変換する回路
D.2つの入力の論理積だけを求める回路
Q2.3ビットのカウンタが数えられる値の範囲として正しいものはどれか。
A.0〜3
B.0〜7
C.1〜8
D.0〜15
Q3.同期式カウンタの特徴として正しいものはどれか。
A.前段の出力が次段のクロックになり、変化が順に伝わる
B.すべてのフリップフロップが同じクロックで一斉に動作する
C.クロックを使わずに値が増える
D.計数値を10進数のまま保持する

関連コンテンツ