IPA 論理回路 — 頻出論点と過去問

頻出論点

1. この分野は何か

コンピュータのハードウェアが 0 と 1 の信号を使ってどのように計算や記憶を行うのかを、論理ゲートの結び付きから読み解く分野です。回路図や信号の波形から全体の振る舞いを追跡する手順とともに、論理回路を半導体チップ上に実装する仕組みや設計手法の違いが問われます。

2. 実際の出題のされ方

図や表を読み取って、それと同じ働きをする回路や式を選ぶ問題が、応用情報技術者の午前と高度試験の午前Iで出ています。具体的には、入出力の波形から対応する単一ゲートを特定する問題、NAND 素子だけを組み合わせた回路の出力式や同値回路(XNOR)を選ぶ問題、3 入力多数決回路や半加算器の構成を選ぶ問題が出ています。また、スイッチと LED を直列に接続した回路の動作波形を選ぶ問題、NAND ゲートをたすき掛けにした RS フリップフロップの入力操作後の出力を求める問題、4 変数のカルノー図から等価な論理式を導く問題も出題されています。知識問題としては、FPGA や SoC の説明を選ぶ問題と、デジタル回路を記述して論理合成するための言語を選ぶ問題が、応用情報技術者の午前で出ています。

エンベデッドシステムスペシャリストの午前IIでは、信号が時間とともにどう変わるかを追う問題や、部品を加えた回路の動作まで問われます。2 つの半加算器で全加算器を構成したときの空欄ゲートを選ぶ問題、NOR ゲートで構成した SR ラッチの入力波形から出力波形をトレースする問題、NOT ゲート・スリーステートバッファ・プルダウン抵抗を組み合わせた回路の真理値表を選ぶ問題が出題されています。

3. 学習のポイント

基本となる論理ゲートについて、図記号(MIL 記号)と真理値表を正確に結び付けます。入力側が直線で出力側が半円の記号が AND、入力側が曲線で出力側がとがった記号が OR、OR の入力側に曲線をもう 1 本重ねた記号が XOR であり、出力側の小円は否定を表します。

次に、NAND ゲートだけで他の論理を作る変形と、代表的な応用回路の構成を押さえます。

  • NAND による構成とド・モルガンの法則: 1 つの入力を分岐して NAND の両端子に入れれば X⋅X‾=X‾\overline{X \cdot X} = \overline{X} となり NOT として働きます。多段の NAND 回路は、各段の出力を式で表してド・モルガンの法則(A⋅B‾=A‾+B‾\overline{A \cdot B} = \overline{A} + \overline{B}、A+B‾=A‾⋅B‾\overline{A + B} = \overline{A} \cdot \overline{B})を適用するか、4 通りの入力(00, 01, 10, 11)を直接代入して真理値表を作ると確実です。
  • 半加算器と全加算器: 1 桁の 2 進数 2 個を足す半加算器(HA)は、桁上がりを AND、桁上げなしの和を XOR で作ります。下位からの桁上がりを含めて 3 ビットを足す全加算器は、2 つの半加算器の和の出力をつなぎ、両方の半加算器から出る桁上がり出力を OR ゲートでまとめます。
  • 多数決回路と同値回路: 3 入力のうち 2 つ以上が 1 のとき 1 を出力する 3 入力多数決回路は、2 入力ずつの AND を 3 個作り、それらの出力の OR をとる形(A⋅B+B⋅C+C⋅AA \cdot B + B \cdot C + C \cdot A)になります。2 入力が一致するとき 1 を出力する同値回路(XNOR)は、X⋅Y+X‾⋅Y‾X \cdot Y + \overline{X} \cdot \overline{Y} と表せます。

状態を保持する順序回路や特殊素子の動作、カルノー図の読み方も重要です。

  • ラッチ(フリップフロップ): 2 つの NAND ゲートまたは NOR ゲートを交差結合(たすき掛け)した回路です。NAND 型では一方の入力が 0 になると出力が必ず 1 に決まり、NOR 型では一方の入力が 1 になると出力が必ず 0 に決まります。入力が変化するごとに反対側のゲートへ出力を伝播させ、前の状態がどう保持・反転するかを段階的に追います。
  • スリーステートバッファとプルダウン抵抗: スリーステートバッファは、コントロール端子が有効なときはデータ入力をそのまま出力し、無効なときは高インピーダンス(切り離された状態)になります。出力にプルダウン抵抗がつながっていれば、高インピーダンスのときに出力は 0(Low)に確定します。
  • カルノー図: 表の中の 1 が並んだ隣接セルを 2,4,82, 4, 8 マスの長方形で大きく囲みます。表の上端と下端、左端と右端はつながっているものとして扱い、囲んだ範囲で 0 と 1 の両方をとる変数を消去して、値が固定されている変数だけを残して論理和で結びます。
  • LSI と設計言語: FPGA は、製造後に利用者が回路の構成を書き込み直せる集積回路です。SoC は、プロセッサやメモリ、周辺回路を 1 枚の半導体チップにまとめた LSI です。HDL は、回路の動作や構造を文章のように記述し、論理合成ツールでゲートの回路に変換するための言語です。

4. 間違えやすいところ

回路構成を選ぶ問題では、同じ配線のままゲートの種類だけを入れ替えた回路が誤答肢に並んでいます。半加算器の問題では、和を OR ゲートで作った回路図が誤答肢にありました。1+1=10(2)1 + 1 = 10_{(2)} のときに桁上がりが 1、和の 1 桁目が 0 になることを確かめれば、和に OR を使う誤りを防げます。また、全加算器の 2 つの半加算器から出る桁上がりをまとめるゲートに AND などを選ぶ誤答肢や、3 入力多数決回路の初段に XOR を並べた誤答肢もあります。

カルノー図では、表の両端にある 1 どうしが隣り合うことを見落とすと、1 マスだけを囲んだ項が残り、消せるはずの変数が式に残ります。選択肢の式を 1 つずつ表に戻し、どのマスを覆うかを確かめると見分けられます。

用語の選択では、似た略語やパッケージ技術との混同に注意が必要です。

  • SoC と SiP の区別: 1 つのチップに集積するのが SoC、別々のチップを 1 つのパッケージに収めるのが SiP です。
  • FPGA と特定用途向けの LSI の区別: 特定の用途に合わせて作り込み、あとから回路を変えられない ASSP などと違い、FPGA は回路を書き換えられます。
  • HDL と名前の似た言語: データベースの定義に使う DDL や、設計図を描く UML は、回路の記述には使いません。

論理回路の理解度チェック

論理回路の過去問一覧

論理回路の用語

ハードウェアのほかの論点

プロセッサ・性能計算48問 メモリ・キャッシュ43問 補助記憶・入出力装置27問 電子部品・電子回路14問