Review 組合電路設計 建構真值表將輸出表示成輸入的函式 \(\text{Inputs}\rightarrow\boxed{\text{MUX}}\rightarrow\text{Outputs}\) 用 K-map, Q-M method 等方法得到簡化的布林表達式 多層、多輸出的電路(Multi-level & Multi-outputs) Mininum SOP 起點 Minimum two-level \(\text{AND-OR, NAND-NAND, OR-NAND, NOR-OR}\) Minimum POS 起點 Minimum two-level \(\text{OR-AND, NOR-NOR, AND-NOR, NAND-AND}\) 限制 fan-in 數的電路設計 Ex1 \(\text{用 3 pin 的 NOR Gate 實現}f(a,b,c,d)=\sum m(0,3,4,5,8,9,10,14,15)\) \(\begin{array}{|c|c|c|c|c|}\hline f &00&01&11&10\\\hline 00& 1& 1& 0& 1\\\hline 01& 0& 1& 0& 1\\\hline 11& 1& 0& 1& 0\\\hline 10& 0& 0& 1& 1\\\hline \end{array}\) 從 POS 開始 \(f’=a’ b’ c’ d+ab’ cd+abc’ + a’ bc+a’ cd’\\ \quad=b’ d(a’ c’+ac)+a’ c(b+d’)+abc’\) Ex2 Multiple-Output \(\text{用 2 pin 的 NAND 與 NOT 實現}\) \(f_1=\sum m(0,2,3,4,5)=b’ c’+ab’ +a’ b\\ f_2=\sum m(0,2,3,4,7)=b’ c’+bc+a’ b\\ f_3=\sum m(1,2,6,7)=a’ b’ c+ab+bc’\) \(\begin{array}{|c|c|c|}\hline f_1&0&1\\\hline 00&1&1\\\hline 01& &1\\\hline 11&1& \\\hline 10&1& \\\hline \end{array}\quad \begin{array}{|c|c|c|}\hline f_1&0&1\\\hline 00&1&1\\\hline 01& & \\\hline 11&1&1 \\\hline 10&1& \\\hline \end{array}\quad \begin{array}{|c|c|c|}\hline f_1&0&1\\\hline 00& & \\\hline 01&1& \\\hline 11& &1\\\hline 10&1&1\\\hline \end{array} \) \(f_1=b’(a+c’)+a’ b\\ f_2=(b’+c)(b+c’)+b’ c’\\ f_3=b(a+c’)+a’ b’ c\) 閘延遲與時序圖 邏輯閘必然存在延遲,固然小,但存在。 組合電路 延遲亦可能來自電線,電線愈長則延遲可能愈久。 Control value \(\text{AND gate}\) 的 control value 是 \(0\) \(\text{OR gate}\) 的 control value 是 \(1\) \(\text{AND=2ns}\\ \text{NOR=3ns}\) 若 X 訊號相反時, Z 要到 5ns 訊號才有意義。 組合邏輯中的 Hazards Hazard 是在切換輸入時,因閘延遲而產生的錯誤訊號。 種類 若相鄰兩個 1 不來自同一個邏輯閘(在 K-map 上沒有被框在一起)則會存在 hazard。 \((A,B,C)=(1,0,1)\rightarrow (1,1,1)\) 可將相鄰的所有蘊函項框在一起,避免「一個bit切換」的 hazard 發生。 邏輯電路的模擬與測試 對模擬邏輯電路來說 有明確的電路元素與連線 決定輸入 觀察輸出 輸入值 有四種,分別為: 0 (low) 1 (high) X (unknown) Z (don’t care, High impedence) \(\text{AND } \& \text{ OR } \text{function for 4-value simulation}\) \(\begin{array}{c|cccc} \text{AND}&0&1&X&Z\\\hline 0&0&0&0&0\\ 1&0&1&X&X\\ X&0&X&X&X\\ Z&0&X&X&X\\ \end{array} \qquad \begin{array}{c|cccc} \text{OR}&0&1&X&Z\\\hline 0&0&1&X&X\\ 1&1&1&1&1\\ X&X&1&X&X\\ Z&X&1&X&X\\ \end{array} \) 驗證(verification)與測試(testing) 邏輯電路的輸出錯誤,可以由下面兩種方式偵錯: 驗證(Verification) 錯誤的電路設計 邏輯閘接線錯誤 輸入訊號錯誤 測試(Testing) 邏輯閘缺陷 金屬接線缺陷 已知 \(A=B=C=D=1時,F=0\)