京都大学 情報学研究科 通信情報システム専攻 2022年8月実施 専門基礎B [B-4]
Author
SUN, 祭音Myyura (assisted by ChatGPT 5.4 Thinking)
Description
Answer all the following questions. An overbar, ·, and + denote logical negation, logical and, and logical or, respectively.
(1)
Answer the following questions on the logic function f defined below.
f=(a+b+c+d)⋅(aˉ+b+cˉ+d)⋅(aˉ+b+c)⋅(a+bˉ+cˉ)⋅(a+cˉ+d)
(a) Give all minimum sum-of-products expressions of f.
(b) Give all minimum product-of-sums expressions of f.
(c) Derive a logic circuit that realizes f with the minimum number of 3-input NOR gates only. Assume a,b,c,d and their complements aˉ,bˉ,cˉ,dˉ are available as inputs.
(d) Assume logic functions g=b+d and r=aˉ⋅cˉ⋅d. Among all the logic functions of h that satisfy
f=(g⋅h)+r,
derive a minimum sum-of-products expression of a logic function that has the minimum number of product terms with the minimum number of literals in its minimum sum-of-products form.
(2)
We design a sequential circuit with a 1-bit input u and a 3-bit output (q2,q1,q0) using three D flip-flops. The outputs of the D flip-flops are q2,q1, and q0, and they are the outputs of the sequential circuit as they are. When u=1, this circuit operates as a binary down counter whose cycle is 8. Namely, (q2,q1,q0) change like
(1,1,1)→(1,1,0)→(1,0,1)→⋯→(0,0,1)→(0,0,0)→(1,1,1).
When u=0, the circuit operates as a shift register, where q0 moves to q2, q2 to q1, and q1 to q0. For example, (q2,q1,q0) change like
(1,0,0)→(0,1,0)→(0,0,1)→(1,0,0).
Answer the following questions.
(a) Derive a state transition table.
(b) Let d2,d1, and d0 be the D input of the D flip-flops that output q2,q1, and q0, respectively. We derive d2,d1, and d0 as logic functions of q2,q1,q0, and u. Show the minimum sum-of-products expressions of d2,d1, and d0.
题目描述
回答全部问题。上划线、⋅、+ 分别表示逻辑非、与、或。
-
对逻辑函数
f=(a+b+c+d)(aˉ+b+cˉ+d)(aˉ+b+c)(a+bˉ+cˉ)(a+cˉ+d)
回答:
- 给出 f 的所有最简与或式。
- 给出 f 的所有最简或与式。
- 仅用三输入 NOR 门实现 f,使门数最少;可直接使用 a,b,c,d 及其反变量。
- 设 g=b+d、r=aˉcˉd。在所有满足
f=(g⋅h)+r
的 h 中,求一种最简与或式,使其乘积项数最少,并在此基础上文字数最少。
-
用三个 D 触发器设计输入 u、输出 (q2,q1,q0) 的时序电路,三个 Q 输出即为电路输出。
- 当 u=1 时,电路为周期 8 的二进制减计数器:
111→110→101→⋯→001→000→111.
- 当 u=0 时,电路为循环移位寄存器,q0→q2、q2→q1、q1→q0;例如
100→010→001→100。
回答:
- 写出状态转移表。
- 令 d2,d1,d0 分别为输出 q2,q1,q0 的 D 触发器输入。求它们作为
q2,q1,q0,u 的逻辑函数的最简与或式。
- 布尔函数最小化:枚举全部最简与或式、或与式,并在受约束逻辑分解中按项数和文字数优化。
- NOR 通用门实现:利用最简或与结构转换为仅三输入 NOR 门的最少门网络。
- 计数器与移位寄存器:根据控制输入合并两种状态转移规律,完整写出八状态转移表。
- D 触发器激励函数:由下一状态位建立真值表并用 Karnaugh 图化简。
Kai
(1)
(a)
Derive the K-map of fˉ and f:
| | |
|---|
 |  |
| fˉ=bˉdˉ+aˉbc+abˉcˉ | f=bcˉ+ab+aˉbˉd+bˉcd |
(b)
Simplified POS expression for f:
f=(b+d)(a+bˉ+cˉ)(aˉ+b+c)
(c)
From part (b), the minimum POS form is
f=(b+d)(a+bˉ+cˉ)(aˉ+b+c)
Using a two-level NOR–NOR implementation, let
x1=b+d=NOR(b,d,d)
x2=a+bˉ+cˉ=NOR(a,bˉ,cˉ)
x3=aˉ+b+c=NOR(aˉ,b,c)
Then the output is
f=x1+x2+x3=NOR(x1,x2,x3)
Therefore, the logic circuit is realized by four 3-input NOR gates only.
(d)
Derive the corresponding K-map:
Expression for h:
h=aˉbˉ+bcˉ+ac
(2)
Since D flip-flops are used, the D inputs are exactly the next-state bits:
d2=q2+,d1=q1+,d0=q0+
We use the corrected state behavior:
- When (u=1): 3-bit binary down counter
- When (u=0): circular shift register
(q2,q1,q0)→(q0,q2,q1)
(a) State transition table
| Present state (q2q1q0) | u=0 next state | u=1 next state |
|---|
| 000 | 000 | 111 |
| 001 | 100 | 000 |
| 010 | 001 | 001 |
| 011 | 101 | 010 |
| 100 | 010 | 011 |
| 101 | 110 | 100 |
| 110 | 011 | 101 |
| 111 | 111 | 110 |
So we obtain the truth table for (d2,d1,d0).
(b)
K-map for d2
1-cells:
d2=Σm(1,2,6,10,11,13,14,15)
Rows: q2q1=00,01,11,10
Columns: q0u=00,01,11,10
| q2q1\q0u | 00 | 01 | 11 | 10 |
|---|
| 00 | 0 | 1 | 0 | 1 |
| 01 | 0 | 0 | 0 | 1 |
| 11 | 0 | 1 | 1 | 1 |
| 10 | 0 | 0 | 1 | 1 |
Grouping results:
- column 10 →q0uˉ
- block (11,10)×(11,10)→q2q0
- pair on row 11, columns 01,11 →q2q1u
- single cell (00,01)→qˉ2qˉ1qˉ0u
d2=q0uˉ+q2q0+q2q1u+qˉ2qˉ1qˉ0u
K-map for d1
1-cells:
d1=Σm(1,7,8,9,10,12,14,15)
Rows: q2q1=00,01,11,10
Columns: q0u=00,01,11,10
| q2q1\q0u | 00 | 01 | 11 | 10 |
|---|
| 00 | 0 | 1 | 0 | 0 |
| 01 | 0 | 0 | 1 | 0 |
| 11 | 1 | 0 | 1 | 1 |
| 10 | 1 | 1 | 0 | 1 |
Grouping results:
- block (11,10)×(00,10)→q2uˉ
- pair in column 01, rows 00,10→qˉ1qˉ0u
- pair in column 11, rows 01,11→q1q0u
d1=q2uˉ+qˉ1qˉ0u+q1q0u
K-map for d0
1-cells:
d0=Σm(1,4,5,6,9,12,13,14)
Rows: q2q1=00,01,11,10
Columns: q0u=00,01,11,10
| q2q1\q0u | 00 | 01 | 11 | 10 |
|---|
| 00 | 0 | 1 | 0 | 0 |
| 01 | 1 | 1 | 0 | 1 |
| 11 | 1 | 1 | 0 | 1 |
| 10 | 0 | 1 | 0 | 0 |
Grouping results:
- column 01→qˉ0u
- block (01,11)×(00,10)→q1uˉ
d0=qˉ0u+q1uˉ