作者doom8199 (~口卡口卡 修~)
看板Grad-ProbAsk
標題Re: [理工] 計組 邏輯電路- PLA製作
時間Sat Nov 12 10:01:44 2011
※ 引述《showyoulovex (NONO)》之銘言:
: 想請教關於PLA製做
: 題目
: F1:AB'+AC+A'BC
: F2:AC+BC
: ans:
: C\AB 00 01 11 00
: 0 0 1 0 1
: 1 0 0 1 1 F1=AB'+AC+A'BC'
: C\AB 00 01 11 00
: 0 1 1 1 1
: 1 1 0 0 0 F2=C'+A'B'
: 到這邊我都懂 接下來就一頭霧水了
: 但接下來書上寫說"化簡取共同項"
: F1'F2':5項
: F1'F2 :4項
: F1 F2':4項
: F1 F2 :5項
: 最後共同項為 A'B' A'C ABC'
: 我不知道該如何取共同項...
: 一連看好幾個例題還是不懂... 希望可以講細一點 我很弱..
: 感謝
---
原po問的問題是 output phase optimization
看你書上提供的方法,算是暴力解
也就是嘗試把 (F1,F2) 、 (F1,F2') 、 (F1',F2) 、 (F1',F2')
這四種可能都解過一次
最後再挑出最好的 solution
我先提供一下目前學到的解法:
<step 1> 先個別求出 F1、F2、F1'、F2' 的 minimum cover
F1 = AB' + AC + A'BC'
F2 = C' + A'B'
F1' = A'B' + A'C + ABC'
F2' = AC + BC
<step 2> 建表格,並且 minimize number of product terms
┌───┬──┬──┬──┬──┐ ┌───┬──┬──┬──┬──┐
│ │ F1 │ F2 │ F1'│ F2'│ │ │ F1 │ F2 │ F1'│ F2'│
├───┼──┼──┼──┼──┤ ├───┼──┼──┼──┼──┤
│ AB'│ 1 │ │ │ │ p1│ AB'│ 1 │ │ │ │
│ AC │ 1 │ │ │ │ p2│ AC │ 1 │ │ │ 1 │
│ A'BC'│ 1 │ │ │ │ p3│ A'BC'│ 1 │ │ │ │
│ C'│ │ 1 │ │ │ => p4│ C'│ │ 1 │ │ │
│ A'B'│ │ 1 │ │ │ p5│ A'B'│ │ 1 │ 1 │ │
│ A'B'│ │ │ 1 │ │ p6│ A'C │ │ │ 1 │ │
│ A'C │ │ │ 1 │ │ p7│ ABC'│ │ │ 1 │ │
│ ABC'│ │ │ 1 │ │ p8│ BC │ │ │ │ 1 │
│ AC │ │ │ │ 1 │ └───┴──┴──┴──┴──┘
│ BC │ │ │ │ 1 │
└───┴──┴──┴──┴──┘
上面那張表格從左到右,就只是把同類項合併
<step 3> find the minimum cover
這裡要做的是,要如何從 p1~p8 挑出最少的個數
可以 cover 到任何 output function Fi or Fi'
問題可以用數學 model來描述:
8
N = min{ Σ p_i } under Q = ( p1‧p2‧p3 + p5‧p6‧p7)(p4‧p5 + p2‧p8)
i=1
being tautology
上面問題的答案是 N = 4
而解有兩組: (p4,p5,p6,p7) 、 (p1,p2,p3,p8)
<1> 若選擇 (p4,p5,p6,p7)
也就是選擇 C' 、
A'B' 、 A'C 、 ABC' 來當 PLA 的 and array
可以分別做出 F1' =
A'B' + A'C + ABC'
F2 = C' +
A'B'
<2> 若選擇 (p4,p5,p6,p7)
也就是選擇 AB' 、
AC 、 A'BC' 、 BC 來當 PLA 的 and array
可以分別做出 F1 = AB' +
AC + A'BC'
F2' =
AC + BC
上面標記的黃色字
就是 F1 和 F2 的共用項
-----------------------------------------------------------------------------
反正找共同項的準則之一是
例如你原本要做 F1' = A'B' + A'C + ABC' 這個電路
F2 = C' + A'B'
and array 會有 5條 line
可是因為 A'B' 這個 product term 對 F1' 和 F2 都有用到
因此你只需要 4條 line 即可
至於原po課本有列說 A'C 和 ABC' 也是共同項
A'C 它根本就不能拿來做 F2 的 or array 端
因為 A'C 有包含 minterm A'BC
但 (A'BC)‧F2 = false
而 ABC' 雖然也有被 F2 的 C' 所 cover 到
可是對 F2 而言, C' 是 essential prime
除非能確保 C'#(ABC') 能被其它的 product term 所取代
那就可以不需要 C'
可是對這個電路而言, C' 是必須的
因此在做 and array 時
還是得乖乖的 C' 和 ABC' 各牽一條線
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.211.139
推 mqazz1:推認真 11/12 11:51
→ RebeccaHall:汗...這是第四版出現的嗎?? 三版提到的只是帶過而已 11/12 14:28
→ RebeccaHall:我那邊看看就放了....-W-"Y 11/12 14:29
推 da0910cc: 11/12 17:24
推 showyoulovex:感謝大大 稍微看懂了 晚點來寫一次 11/12 22:50
推 kiwidoit:....天阿!!! 11/13 10:41
推 papaya125:精闢解 11/14 20:29