108 年 國立臺灣大學電子工程學研究所丁組《邏輯設計》

📄 試題原卷 免費註冊後即可對照原始考卷 PDF免費註冊

第 1 題16 分

Consider the following logic circuit. According to the specification, with applying the input vector (A, B, C, D) = (0, 0, 1, 1), the output value at F should be 0. However, the actual simulation result is 1. Assume the error is caused by using wrong gate types, and only three possibilities are considered: AND↔NAND, OR↔NOR, Inverter↔Buffer (one buffer equals two cascaded inverters). If a single error occurs, please write down the possible gate instance names where the error may occur.
🖼️【此處有附圖,請對照原卷】

🖼️ 本題含圖表,以下為原卷對應頁面:
原卷第 1 頁

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題考查:

  • AND 與 NAND 的互換
  • OR 與 NOR 的互換
  • Inverter 與 Buffer 的互換
  • 由輸入值逐級推導電路輸出,判斷哪一個單一閘門故障會使 FF 由規格值 00 變成實際值 11

由圖可得電路關係:

X1=G1(A,B),X2=G2(C,D)X_1=G_1(A,B),\qquad X_2=G_2(C,D) X3=G3(X1,X2),X4=G4(X3)X_3=G_3(X_1,X_2),\qquad X_4=G_4(X_3)

X4X_4 分別輸入 G5G_5 與 G6G_6,而 X2X_2 也是 G5G_5 的另一個輸入,因此:

X5=G5(X4,X2)X_5=G_5(X_4,X_2) F=G6(X5,X4)F=G_6(X_5,X_4)

圖中正確閘門類型為:

  • G1,G2,G5G_1,G_2,G_5:AND
  • G3,G6G_3,G_6:OR
  • G4G_4:Inverter

正常電路計算

輸入為:

(A,B,C,D)=(0,0,1,1)(A,B,C,D)=(0,0,1,1)

因此:

G1=AB=0⋅0=0G_1=AB=0\cdot 0=0 G2=CD=1⋅1=1G_2=CD=1\cdot 1=1

G3G_3 為 OR 閘:

G3=G1+G2=0+1=1G_3=G_1+G_2=0+1=1

G4G_4 為反相器:

X4=G3‾=1‾=0X_4=\overline{G_3}=\overline{1}=0

G5G_5 為 AND 閘:

X5=X4⋅G2=0⋅1=0X_5=X_4\cdot G_2=0\cdot 1=0

G6G_6 為 OR 閘:

F=X5+X4=0+0=0F=X_5+X_4=0+0=0

這與題目給定的規格值相同。


逐一分析單一閘門錯誤

🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 2 題16 分

Consider a 4-input function.
f(A,B,C,D)=AC+AB′C′+BC′Df(A, B, C, D) = AC + AB'C' + BC'D.
(a) (8%) Apply Shannon expansion theorem to iteratively expand ff on A,B,C,DA, B, C, D (in order). Write down the fully expanded function ff.
(b) (6%) Use 2-to-1 multiplexors to implement ff obtained in (a), where A,B,C,DA, B, C, D can only be select signals.
(c) (2%) Redo (b) with the minimum number of 2-to-1 multiplexors.

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題考查三項重點:

  1. Shannon expansion theorem:
    f=XfX=1+X′fX=0f=Xf_{X=1}+X'f_{X=0}
  2. 以 Shannon 展開建立多工器(MUX)電路。
  3. 利用布林代數重新分解函數,以減少 2-to-1 MUX 數量。

以下約定:

MUX⁡(S,I1,I0)=SI1+S′I0\operatorname{MUX}(S,I_1,I_0)=SI_1+S'I_0

其中 SS 為 select signal。


(a) 依序對 A,B,C,DA,B,C,D 做 Shannon 展開

原函數為

f(A,B,C,D)=AC+AB′C′+BC′Df(A,B,C,D)=AC+AB'C'+BC'D

第一次:對 AA 展開

令 A=1A=1 與 A=0A=0:

fA=1=C+B′C′+BC′Df_{A=1}=C+B'C'+BC'D fA=0=BC′Df_{A=0}=BC'D

因此

f=A(C+B′C′+BC′D)+A′BC′Df=A(C+B'C'+BC'D)+A'BC'D

第二次:對 BB 展開

對 fA=1f_{A=1}:

fA=1,B=1=C+C′Df_{A=1,B=1}=C+C'D fA=1,B=0=C+C′=1f_{A=1,B=0}=C+C'=1

對 fA=0f_{A=0}:

fA=0,B=1=C′Df_{A=0,B=1}=C'D fA=0,B=0=0f_{A=0,B=0}=0

所以

f=A[B(C+C′D)+B′(1)]+A′[B(C′D)+B′(0)]f=A\left[B(C+C'D)+B'(1)\right] +A'\left[B(C'D)+B'(0)\right]

第三次:對 CC 展開

各 cofactors 為:

f1,1,C=1=1,f1,1,C=0=Df_{1,1,C=1}=1,\qquad f_{1,1,C=0}=D f1,0,C=1=1,f1,0,C=0=1f_{1,0,C=1}=1,\qquad f_{1,0,C=0}=1 f0,1,C=1=0,f0,1,C=0=Df_{0,1,C=1}=0,\qquad f_{0,1,C=0}=D f0,0,C=1=0,f0,0,C=0=0f_{0,0,C=1}=0,\qquad f_{0,0,C=0}=0

第四次:對 DD 展開並寫成完全展開式

將所有輸入組合列出後,函數為

f=A′BC′D+AB′C′D′+AB′C′D+ABC′D+ABCD′+ABCD\boxed{ \begin{aligned} f={}&A'BC'D\\ &+AB'C'D' + AB'C'D\\ &+ABC'D\\ &+ABCD' + ABCD \end{aligned} }

亦可合併同類項寫成

f=A′BC′D+AB′C′+ABC′D+AC\boxed{ f=A'BC'D+AB'C'+ABC'D+AC }

其中第一個式子是依序對 A,B,C,DA,B,C,D 展開後的完整 minterm 形式。


(b) 依照完全 Shannon 展開使用 2-to-1 MUX

直接依照 A→B→C→DA\rightarrow B\rightarrow C\rightarrow D 的展開順序建立 MUX 樹:

  • 第 1 層:8 個以 DD 為 select signal 的 MUX
  • 第 2 層:4 個以 CC 為 select signal 的 MUX
  • 第 3 層:2 個以 BB 為 select signal 的 MUX
  • 第 4 層:1 個以 AA 為 select signal 的 MUX

總數為

8+4+2+1=15 個 MUX8+4+2+1=\boxed{15\text{ 個 MUX}}

DD 層的輸入

依序固定 ABC=000,001,…,111ABC=000,001,\ldots,111,各子函數如下:

ABCf(D)00000010010D011010011011110D1111\begin{array}{c|c} ABC & f(D)\\ \hline 000 & 0\\ 001 & 0\\ 010 & D\\ 011 & 0\\ 100 & 1\\ 101 & 1\\ 110 & D\\ 111 & 1 \end{array}

因此 DD 層的 8 個 MUX,其 I1,I0I_1,I_0 輸入分別為:

🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 2 題16 分

Consider a 4-input function.
f(A,B,C,D)=AC+AB′C′+BC′Df(A, B, C, D) = AC + AB'C' + BC'D.
(a) (8%) Apply Shannon expansion theorem to iteratively expand ff on A,B,C,DA, B, C, D (in order). Write down the fully expanded function ff.
(b) (6%) Use 2-to-1 multiplexors to implement ff obtained in (a), where A,B,C,DA, B, C, D can only be select signals.
(c) (2%) Redo (b) with the minimum number of 2-to-1 multiplexors.

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題考查三項重點:

  1. Shannon expansion theorem:
    f=XfX=1+X′fX=0f=Xf_{X=1}+X'f_{X=0}
  2. 以 Shannon 展開建立多工器(MUX)電路。
  3. 利用布林代數重新分解函數,以減少 2-to-1 MUX 數量。

以下約定:

MUX⁡(S,I1,I0)=SI1+S′I0\operatorname{MUX}(S,I_1,I_0)=SI_1+S'I_0

其中 SS 為 select signal。


(a) 依序對 A,B,C,DA,B,C,D 做 Shannon 展開

原函數為

f(A,B,C,D)=AC+AB′C′+BC′Df(A,B,C,D)=AC+AB'C'+BC'D

第一次:對 AA 展開

令 A=1A=1 與 A=0A=0:

fA=1=C+B′C′+BC′Df_{A=1}=C+B'C'+BC'D fA=0=BC′Df_{A=0}=BC'D

因此

f=A(C+B′C′+BC′D)+A′BC′Df=A(C+B'C'+BC'D)+A'BC'D

第二次:對 BB 展開

對 fA=1f_{A=1}:

fA=1,B=1=C+C′Df_{A=1,B=1}=C+C'D fA=1,B=0=C+C′=1f_{A=1,B=0}=C+C'=1

對 fA=0f_{A=0}:

fA=0,B=1=C′Df_{A=0,B=1}=C'D fA=0,B=0=0f_{A=0,B=0}=0

所以

f=A[B(C+C′D)+B′(1)]+A′[B(C′D)+B′(0)]f=A\left[B(C+C'D)+B'(1)\right] +A'\left[B(C'D)+B'(0)\right]

第三次:對 CC 展開

各 cofactors 為:

f1,1,C=1=1,f1,1,C=0=Df_{1,1,C=1}=1,\qquad f_{1,1,C=0}=D f1,0,C=1=1,f1,0,C=0=1f_{1,0,C=1}=1,\qquad f_{1,0,C=0}=1 f0,1,C=1=0,f0,1,C=0=Df_{0,1,C=1}=0,\qquad f_{0,1,C=0}=D f0,0,C=1=0,f0,0,C=0=0f_{0,0,C=1}=0,\qquad f_{0,0,C=0}=0

第四次:對 DD 展開並寫成完全展開式

將所有輸入組合列出後,函數為

f=A′BC′D+AB′C′D′+AB′C′D+ABC′D+ABCD′+ABCD\boxed{ \begin{aligned} f={}&A'BC'D\\ &+AB'C'D' + AB'C'D\\ &+ABC'D\\ &+ABCD' + ABCD \end{aligned} }

亦可合併同類項寫成

f=A′BC′D+AB′C′+ABC′D+AC\boxed{ f=A'BC'D+AB'C'+ABC'D+AC }

其中第一個式子是依序對 A,B,C,DA,B,C,D 展開後的完整 minterm 形式。


(b) 依照完全 Shannon 展開使用 2-to-1 MUX

直接依照 A→B→C→DA\rightarrow B\rightarrow C\rightarrow D 的展開順序建立 MUX 樹:

  • 第 1 層:8 個以 DD 為 select signal 的 MUX
  • 第 2 層:4 個以 CC 為 select signal 的 MUX
  • 第 3 層:2 個以 BB 為 select signal 的 MUX
  • 第 4 層:1 個以 AA 為 select signal 的 MUX

總數為

8+4+2+1=15 個 MUX8+4+2+1=\boxed{15\text{ 個 MUX}}

DD 層的輸入

依序固定 ABC=000,001,…,111ABC=000,001,\ldots,111,各子函數如下:

ABCf(D)00000010010D011010011011110D1111\begin{array}{c|c} ABC & f(D)\\ \hline 000 & 0\\ 001 & 0\\ 010 & D\\ 011 & 0\\ 100 & 1\\ 101 & 1\\ 110 & D\\ 111 & 1 \end{array}

因此 DD 層的 8 個 MUX,其 I1,I0I_1,I_0 輸入分別為:

🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 3 題18 分

Given the following map of cell locations, we want to group the eight cells, a, b, ..., h, into two sets, so that adjacent cells belong to different sets. Two cells, i and j, are adjacent if ∣xi−xj∣≤1|x_i-x_j| \leq 1 and ∣yi−yj∣≤1|y_i-y_j| \leq 1, where xix_i and yiy_i are the x-coordinate and y-coordinate of cell i, respectively. Let gi=0g_i=0 and gi=1g_i=1 denote cell i belonging to groups 1 and 2, respectively.
🖼️【此處有附圖,請對照原卷】
(a) (8%) Express the above cell grouping problem in terms of a product-of-sums (POS) formula (Boolean Expression without simplification) such that the formula can be satisfied if and only if the cells in the given map can be grouped as desired.
(b) (6%) How many solutions are there to the formula of (a)? Write down all the solutions if there is any.
(c) (4%) Rewrite the formula of (a) in a minimum sum-of-products (SOP) expression.

🖼️ 本題含圖表,以下為原卷對應頁面:
原卷第 1 頁

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

兩個相鄰格子必須分屬不同群,因此每條相鄰邊都要求兩個變數值不同:

gi≠gjg_i\ne g_j

對布林變數而言,這等價於 XOR 條件,也可寫成 POS 形式:

(gi+gj)(gi‾+gj‾)(g_i+g_j)(\overline{g_i}+\overline{g_j})

解題方法

依圖讀出各格座標:

格子座標格子座標
aa(1,4)(1,4)bb(4,4)(4,4)
cc(2,3)(2,3)dd(3,3)(3,3)
ee(1,2)(1,2)ff(4,2)(4,2)
gg(2,1)(2,1)hh(3,1)(3,1)

套用相鄰條件 ∣xi−xj∣≤1|x_i-x_j|\le 1 且 ∣yi−yj∣≤1|y_i-y_j|\le 1,相鄰格子對為:

(a,c), (b,d), (c,d), (c,e), (d,f), (e,g), (f,h), (g,h)(a,c),\ (b,d),\ (c,d),\ (c,e),\ (d,f),\ (e,g),\ (f,h),\ (g,h)

每一對相鄰格子各自形成一個「兩變數不同」的 POS 因子。

(a) POS 公式

將八組相鄰條件逐一相乘,得到未化簡的 POS 公式:

🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 4 題16 分

An M-N flip-flop has two inputs {M, N} and two outputs {Q, Q'}. It behaves as follows:
If MN = 11, the next state of output (Q+) is 0.
If MN = 10, the next state of output is the same as the present state.
If MN = 01, the next state of output is 1.
If MN = 00, the next state of output is the complement of the present state.
(a) (4%) Complete the following table for M, N.

Present stateNext state
QQ+MN
00
01
10
11
(b) (4%) Use your answer in (a) to derive the characteristic (next state) equation for this flip-flop. (i.e., express Q+ in terms of M, N and Q).
(c) (4%) Implement an M-N flip-flop based on T flip-flop.
(d) (4%) Write down the minimum SOPs of the next-state equations for both flip-flops in the following circuit. A+=? B+=?
🖼️【此處有附圖,請對照原卷】

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題考查:

  • M-N flip-flop 的狀態轉移規則。
  • 由狀態表推導 characteristic equation。
  • T flip-flop 的特性方程式:
    Q+=T⊕QQ^+=T\oplus Q
  • 以 T flip-flop 模擬其他型態 flip-flop。
  • 最小和項式(minimum SOP)的化簡。

其中 Q′Q' 表示 QQ 的反相,並非另一個獨立狀態變數。


(a) 完成狀態表

已知:

MNMN動作Q+Q^+
1111Reset00
1010保持QQ
0101Set11
0000ComplementQ′Q'

逐列判斷:

  1. Q=0, Q+=0Q=0,\ Q^+=0
    必須是 MN=11MN=11 或 MN=10MN=10。

  2. Q=0, Q+=1Q=0,\ Q^+=1
    必須是 MN=01MN=01 或 MN=00MN=00。

  3. Q=1, Q+=0Q=1,\ Q^+=0
    必須是 MN=11MN=11 或 MN=00MN=00。

  4. Q=1, Q+=1Q=1,\ Q^+=1
    必須是 MN=10MN=10 或 MN=01MN=01。

因此:

Present state QQNext state Q+Q^+MMNN
00001111
00001100
00110011
00110000
11001111
11000000
11111100
11110011

(b) 推導 characteristic equation

依照 MNMN 的四種情況,可直接寫成:

  • MN=01MN=01 時,Q+=1Q^+=1,對應項為 M′NM'N。
  • MN=00MN=00 時,Q+=Q′Q^+=Q',對應項為 M′N′Q′M'N'Q'。
  • MN=10MN=10 時,Q+=QQ^+=Q,對應項為 MN′QMN'Q。
  • MN=11MN=11 時,Q+=0Q^+=0,沒有輸出項。

所以:

Q+=M′N+M′N′Q′+MN′QQ^+=M'N+M'N'Q'+MN'Q

這就是 M-N flip-flop 的 characteristic equation。

亦可由完整 minterm 表示為:

Q+=∑m(0,2,3,4,6)Q^+=\sum m(0,2,3,4,6)

其中變數順序採用 (M,N,Q)(M,N,Q)。


(c) 以 T flip-flop 實現 M-N flip-flop

T flip-flop 的特性為:

Q+=T⊕QQ^+=T\oplus Q

因此:

  • 若 Q+=QQ^+=Q,則 T=0T=0。
  • 若 Q+≠QQ^+\neq Q,則 T=1T=1。

依照 M-N flip-flop 的動作建立 TT:

MMNN動作TT
0000Q+Q^+ 為 Q′Q'11
0011Q+=1Q^+=1Q′Q'
1100保持00
🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 5 題16 分

Consider the following state graph.

🖼️【此處有附圖,請對照原卷】

(a) Simplify the given state graph with input XX and output ZZ. Draw the simplified state graph with minimum states.

(b) Implement the state graph in (a) using D flip-flops based on one-hot state assignment, which allocates one flip-flop for each state. Give the output function and all flip-flop input equations.

🖼️ 本題含圖表,以下為原卷對應頁面:
原卷第 2 頁

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題考查 Moore 狀態機的狀態等價與最小化,以及以 one-hot 編碼實作狀態機。

兩個 Moore 狀態等價,必須具有相同輸出,且對每一種輸入,其轉移到的狀態也等價。狀態合併後,若任一輸入的轉移仍落在同一組等價狀態內,分組便達到穩定,可得到最少狀態數。

解題方法

圖中有五個狀態:S1S_1、S2S_2、S3S_3、S4S_4、S5S_5;輸出標示在狀態內,因此是 Moore 機。讀圖得到的轉移是:S1S_1 在 X=0X=0 時留在 S1S_1、在 X=1X=1 時到 S2S_2;S2S_2 依序轉到 S1S_1、S3S_3;S3S_3 轉到 S4S_4、S2S_2;S4S_4 轉到 S5S_5、S3S_3;S5S_5 轉到 S4S_4、S2S_2,其中每組目的地依序對應 X=0,1X=0,1。

先依輸出分組:

{S1,S2,S4}:Z=1,{S3,S5}:Z=0\{S_1,S_2,S_4\}: Z=1,\qquad \{S_3,S_5\}: Z=0

再檢查各狀態在 X=0,1X=0,1 下所到達的分組:

狀態ZZX=0X=0 到達的分組X=1X=1 到達的分組
S1S_11Z=1Z=1Z=1Z=1
S2S_21Z=1Z=1Z=0Z=0
S4S_41Z=0Z=0Z=0Z=0
S3S_30Z=1Z=1Z=1Z=1
S5S_50Z=1Z=1Z=1Z=1

S1,S2,S4S_1,S_2,S_4 的轉移特徵互不相同,因此不能再合併;S3S_3 與 S5S_5 輸出相同,且兩個輸入下都分別轉到 S4S_4 與 S2S_2,所以可合併。合併後的狀態分組為:

A={S1},B={S2},C={S4},D={S3,S5}A=\{S_1\},\quad B=\{S_2\},\quad C=\{S_4\},\quad D=\{S_3,S_5\}

最小狀態機的轉移如下:

現態ZZX=0X=0 次態X=1X=1 次態
AA1AABB
BB1AADD
CC1DDDD
DD0CCBB
🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 6 題18 分

Sophie is designing a digital padlock for her treasure case. The padlock has two buttons (‘0’ and ‘1’) that, when pressed, cause the finite state machine (FSM) controlling the padlock to advance to a new state. In addition to advancing the FSM, each button press is encoded on the BB signal (B=0B=0 for button ‘0’, B=1B=1 for button ‘1’). The padlock unlocks when the FSM sets the Unlock output signal to 1, which it does whenever the last NN button presses are the same as the preset NN-digit code.

(a) Unfortunately, the design notes for the padlock are incomplete. Using the specification above and clues gleaned from the partially completed graphs below, please help Sophie to complete the state graph and its transition table. (Fill in the missing information.)

Please note that when done, (1) each state in the state graph should be assigned a 2-bit sequence Q1Q0Q_1Q_0 (note that in this design the state assignment is not derived from the code that opens the padlock), (2) the arcs (lines with arrows leaving each state) should be mutually exclusive and collectively exhaustive, (3) the value for Unlock should be specified for each state, and (4) the transition table should be completed.

🖼️【此處有附圖,請對照原卷】

(b) Is the state graph in (a) a Moore machine or a Mealy machine?

(c) What is the code that opens the padlock?

🖼️ 本題含圖表,以下為原卷對應頁面:
原卷第 2 頁

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題考查有限狀態機的狀態轉移,以及 Moore 與 Mealy 機器的判別。狀態用來記錄目前輸入序列中,與密碼前綴相符的部分;每次輸入後,依仍匹配的最長前綴決定次狀態。Moore 機器的輸出只由目前狀態決定,Mealy 機器的輸出則由目前狀態與輸入共同決定。

解題方法

圖中可讀到:狀態 0000 的 Unlock 為 00,輸入 B=0B=0 時留在 0000、輸入 B=1B=1 時轉至 1010;狀態 1010 的 Unlock 為 00,輸入 B=1B=1 時留在 1010。圖中另有狀態 1111 的 Unlock 為 11,而 0101 在 B=0B=0 時轉至 1111。依這些線索補齊轉移。

從初始狀態 0000 開始,輸入 11 轉至 1010,再輸入 00 轉至 0101,再輸入 00 轉至 1111。因此,狀態 1010、0101、1111 分別代表目前序列末尾匹配密碼前綴 11、1010、100100。

逐一補齊轉移:

  • 狀態 0000:輸入 00 後仍沒有匹配的密碼前綴,留在 0000;輸入 11 後進入 1010。
  • 狀態 1010:輸入 00 後匹配到 1010,進入 0101;輸入 11 後末尾仍匹配前綴 11,留在 1010。
  • 狀態 0101:輸入 00 後匹配到 100100,進入 1111;輸入 11 後末尾重新以 11 開始匹配,進入 1010。
  • 狀態 1111:輸入下一個按鈕後,最近三次輸入不再是 100100。輸入 00 後沒有可保留的密碼前綴,轉至 0000;輸入 11 後保留前綴 11,轉至 1010。

完整轉移表如下:

🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

其他考古題