2022 年度 「論理回路」定期試験 問題(担当 石浦菜岐佐)

試験開始までこの面を上にして待つこと• 試験時間は 80 分で, 持ち込みは一切不可である.
• 問題は全部で 5 問あり 100 点満点である.
• 解答用紙の所定の欄に解答せよ.

採点結果の閲覧• 閲覧を希望する人は, 解答用紙の「(1) 好きな数字 4 桁」と「(2) 勉強時間」の欄に, それぞれ 4桁の数字を記入し, その下にマークして下さい.
– (1) は任意の数字 4 桁です.
– (2) はこの定期試験のための勉強時間を表す数字で, 例えば, 8 時間 25 分であれば 0825 のように, 時間を 2 桁, 分を 2 桁で表現して下さい. 統計をホームページで公表する予定です.
– (1)(2) の数字は閲覧時のキーとして必要になるので, 記憶に自信のない人は下に控えを取っておいて下さい.
– なお, 次の場合には閲覧ができなくなるので注意して下さい.
∗ (1)(2) のいずれかに記入かマークがない場合.
∗ (2) の数字が勉強時間を表していないものと判断される場合 (7777 や 1234 等).
∗ マークがない/薄い場合, マークにミスがある場合, 数字とマークが一致しない場合.
(1) 好きな数字 4 桁(2) 勉強時間時間分

控え ⇒• 閲覧ページは講義ページ (http://ist.ksc.kwansei.ac.jp/~ishiura/lc/) からリンクします.
– 表示されるフォームに (1)(2) を連結した 8 桁の数字を入力して下さい.
– 数字を忘れた場合は閲覧できません. また, メール等による照会には一切応じません.
– 閲覧の期限は 8/12(金) です.
• 閲覧を希望しない人は, (1)(2) を空欄にしておいて下さい.

1

1

次の問いに答えよ. (3)(4)(5) 以外は結果のみ示せ.

[35 点] (5 × 7) 【各問完全解答; 部分点なし】(1) n ビットの 2 の補数表現の 2 進数で表現可能な最小数と最大数を示せ.
(2) 8 ビットの 2 の補数表現の 2 進数 10001100 を 10 進数に変換せよ.
(3) x + a + b + y + b · x + a + b + y + b を積和形論理式に変換し, 簡単化せよ (結果に至る過程も示せ).
(4) (x ⊕ a)(x ⊕ a ⊕ b)(a ⊕ b) を簡単化せよ (結果に至る過程も示せ).
(5) n 変数論理関数 f において, n リテラルの論理和で各変数のリテラルを 1 つづつ含むものを最大項といい, fPを最大項の論理積で表したものを f の和積標準形という. f (a, b, c) = (0, 1, 3, 4, 5, 6) の和積標準形を求めよ (結果に至る過程も示せ).
(6) f (x, y, z) = xy + z を and と exclusive-or (および 1) だけを用いて表せ (簡単化する必要はない).
(7) 論理関数 h(a, b, c, d, e, f ) = (ab + c)(d + e) + f を計算する組み合わせ回路を, not ゲートと 2 入力 nandゲートだけを用いて構成せよ. (簡単化する必要はない. 指定以外のゲートは用いてはならない.)2

下記の状態遷移表で動作が定義される順序回路の設計について, 次の問いに答えよ. ただし, 入力を x, 出力を z とする. また, A が初期状態であるとする. [26 点] (4 + 4 + 6 + 12)
状態割当

状態遷移表
現状態ABCDE

次状態
x=0 x=1ABCDDBCEEA

出力z00101

状態ABCDEa00111b01110c00011(1) 入力 x に信号値系列 1 0 1 1 1 0 1 を入力したときに, z に出力される信号値系列を示せ (最初の8 時刻分を示せ; 結果のみ示すこと).
(2) この状態遷移表と等価な状態遷移グラフを示せ.
(3) 上記右表のように 3 ビットの状態変数 a, b, c を用いて状態割当てを行うとする. 状態変数 a, b, c をそれぞれ JK フリップフロップ Ja , Jb , Jc で記憶する回路を設計するものとする. Ja の J 入力と K 入力をそれぞれ ja , ka とし, Jb の J 入力と K 入力をそれぞれ jb , kb とし, Jc の J 入力と K 入力をそれぞれ jc , kc とする. フリップフロップの入力関数の表を示せ (解答用紙の表を完成させよ). 全ての可能な don’t care を考慮すること.
【注意】この表の間違いによって (4) のカルノー図が間違っていた場合, そのカルノー図に対する部分点は与えないので, 十分注意すること. なお, 表の右と下にはそれぞれ行と列チェックサム (その行と列の 0, 1, X をそれぞれ整数の 0, 1, 2 と見なして加算した結果を 3 で割った値; 下の例参照) を付しているので, これを利用した検算を行うこと.

(チェックサムの例)$$%&'( )* +* ), +, )- +-!"#./0./1

1 23303233230
2231

13233231!"#"$!%&%'%&%&%'%&%!%!%&%&%!(")*+",-"!.")*+","-"!

02
2
1& #"$!%&%'%&%&%!(")*+","-"/")*+","-"&(4) ja , ka , および jc , kc の論理関数を a, b, c, x の最小積和形で表せ. 解答を得る過程として, それぞれの関数のカルノー図も併せて示せ. (jb , kb , z の論理関数は求めなくてよい.)

23

次の順序機械の状態数を最小化せよ (結果のみ示せ).
現状態

S1S2S3S4S5S6S7[14 点]

次状態/出力01
S5 /0 S6 /0
S5 /0 S3 /0
S2 /1 S4 /1
S7 /1 S3 /1
S7 /1 S1 /0
S1 /1 S1 /1
S5 /0 S4 /0

4

4 ビットの加減算回路に関する次の問いに答えよ. [14 点] (4 + 10)
この回路は, 2 組の 4 ビット入力 A = (a3 , a2 , a1 , a0 ) と B = (b3 , b2 , b1 , b0 ), および制御入力 (x, y) と, 4 ビット
出力 S = (s3 , s2 , s1 , s0 ) を持つ. A, B, S の表現には 2 の補数表現が用いられており, それぞれ a0 , b0 , s0 が最下位ビットである. S には下の表の演算結果が出力されるものとする.
制御入力
xy000
1
10
11

演算結果
S
A+B
A+B +1A−B −1A−B(1) 全加算器 (a, b, c を入力とし, 1 ビット和 s と上位への桁上り c′ を計算する) の出力 s と c′ をそれぞれ a,b, c の論理式で表現せよ (どんな論理式でもよい).
(2) この加減算回路を 4 つの全加算器 (FA) と適当な論理ゲートを用いて設計せよ.

5

次のような Moore 型順序回路の状態遷移グラフを示せ. ただし, 状態数の上限を 7 とする. (状態数がこれを超える状態遷移グラフや, Mealy 型の状態遷移グラフを解答した場合は, 一律 0 点とし, 部分点も与えないので注意すること.) [11 点]• この回路は 1 ビットの入力 x と 1 ビットの出力 z を持つ.
• 時刻 t − 4, t − 3, t − 2, t − 1 において x にそれぞれ 0, 1, 0, 1 が入力されると, 時刻 t において z に 1 を出力する. それ以外の場合の z の出力は 0 である. 例えば, x に 1 0 1 0 1 0 0 1 0 1 0 1 1 · · · が与えられた場
合の z の出力は次のようになる.
時刻入力
出力txz01010021030041050160071080091010011110121
1·········

Nagisa ISHIURA3