布林邏輯式的簡化
- 卡諾圖(Karnaugh Maps, K-maps)是一種簡單、快速的簡化布林邏輯的方法。
SOP
- 將布林邏輯化簡成最簡SOP(Minimum Sum of products)
- \(F=A’ B’ C’+A’ B’ C+A’ BC’+AB’ C+ABC’ +ABC\)
- \(F=A’ B’+B’ C+BC’+AB\)
- \(F=A’ B’+BC’+AC\)
POS
- 將布林邏輯化簡成最簡POS(Minimum Product of Sums)
- \(F=(A+B’+C+D’)(A+B’+C’+D’)(A+B’+C’+D)(A’+B’+C’+D)(A+B+C’+D)(A’+B+C’+D)\)
- \(F=(A+B’+D’)(A+B’+C’)(B’+C’+D)(B+C’+D)\)
- \(F=(A+B’+D)(A+B’+C’)(C’+D)\)
- \(F=(A+B’+D’)(C’+D)\)
2或3個變數的卡諾圖
簡化2個變數的布林邏輯式
- \(F=A’ B’+A’ B\)
- 布林代數:
- \(F=A’ B’+A’ B=A’(B’+B)=A’\)
- 卡諾圖:
- \( \boxed{ \def\arraystretch{1.4}\begin{array}{c|c|c} \downarrow B\rightarrow A&0&1&\\\hline 0&\text{A=0,B=0}&\text{A=1,B=0}\\\hline 1&\text{A=0,B=1}&\text{A=1,B=1}\\ \end{array} } \rightarrow \boxed{ \def\arraystretch{1.4}\begin{array}{c|c|c} &A’&A&\\\hline B’&1&0\\\hline B&1&0\\ \end{array} } \rightarrow A’ \)
- 布林代數:
簡化3個變數的布林邏輯式
- \(F=\sum m(2,3,6)=A’ BC’+A’ BC+ABC’\)
- 布林代數:
- \(F=A’ BC’+A’ BC+ABC’=A’ B+BC’\)
- 卡諾圖:*注意相鄰以grey code排列
- \( \boxed{ \def\arraystretch{1.4}\begin{array}{c|c|c} \downarrow BC\rightarrow A&0&1&\\\hline 00&m_0(000)&m_4(100)\\\hline 01&m_1(001)&m_5(101)\\\hline 11&m_3(011)&m_7(111)\\\hline 10&m_2(010)&m_6(110)\\ \end{array} } \rightarrow \boxed{ \def\arraystretch{1.4}\begin{array}{c|c|c} &A’&A&\\\hline B’ C’&0&0\\\hline B’ C &0&0\\\hline B C &1&0\\\hline B C’ &1&1\\ \end{array} } \rightarrow A’ B+BC’ \)
- 布林代數:
相鄰(Adjacency)的定義
- 最上面可以與最下面相接,視為相鄰
- 最左邊可以與最右邊相接,視為相鄰
- \( \boxed{ \def\arraystretch{1.4}\begin{array}{c|c|c} &A’&A&\\\hline B’ C’&0&0\\\hline B’ C &0&0\\\hline B C &1&1\\\hline B C’ &0&0\\ \end{array} } \rightarrow BC \)
- \( \boxed{ \def\arraystretch{1.4}\begin{array}{c|c|c} &A’&A&\\\hline B’ C’&1&0\\\hline B’ C &0&0\\\hline B C &0&0\\\hline B C’ &1&0\\ \end{array} } \rightarrow A’ C’ \)
組合的規則
- 以組合相鄰且以2為倍數為規則
- 組合的元素愈多愈好
- 可以重複選(cover)
等效最簡式
- \(\boxed{\def\arraystretch{1.4}\begin{array}{c|c|c} &A’&A&\\\hline B’ C’&1&0\\\hline B’ C &1&1\\\hline B C &0&1\\\hline B C’ &1&1\\ \end{array}} \rightarrow F=A’ B’+BC’+AC=A’ C’+B’C+AB \)
4個變數的卡諾圖
- \(F=ACD+A’ B+D’\)
- 以卡諾圖表示
- \(\boxed{\def\arraystretch{1.4}\begin{array}{c|c|c|c|c} &A’ B’&A’ B&AB&AB’\\\hline C’ D’&1&1&1&1\\\hline C’ D & &1& & \\\hline C D & &1&1&1\\\hline C D’ &1&1&1&1\\ \end{array}} \quad \boxed{\def\arraystretch{1.4}\begin{array}{c|c|c|c|c} &00&01&11&10\\\hline 00&m_0&m_4&m_{12}&m_8\\\hline 01&m_1&m_5&m_{13}&m_9\\\hline 11&m_3&m_7&m_{15}&m_{11}\\\hline 10&m_2&m_6&m_{14}&m_{10}\\ \end{array}} \)
以 min-term expression 方式解題
- 解 \(F(a,b,c,d)=\sum m(1,3,4,5,10,12,13)\)
- \( \boxed{\def\arraystretch{1.4}\begin{array}{c|c|c|c|c} &00&01&11&10\\\hline 00& &1&1& \\\hline 01&1&1&1& \\\hline 11&1& & & \\\hline 10& & & &1\\ \end{array}} \rightarrow F=bc’+a’ b’ d+ab’ c’d \)
考慮 Don’t care 的情況
- 解 \(F(a,b,c,d)=\sum m(1,3,5,7,9)+\sum d(6,12,13)\)
- \( \boxed{\def\arraystretch{1.4}\begin{array}{c|c|c|c|c} &00&01&11&10\\\hline 00& & &X& \\\hline 01&1&1&X&1\\\hline 11&1&1& & \\\hline 10& &X& & \\ \end{array}} \rightarrow F=a’d+c’d \)
以 max-term expression 方式解題
- 解 \(F(a,b,c,d)=\sum m(0,2,3,4,8,10,11,15)=\prod M(1,5,6,7,9,12,13,14)\)
- \(
\boxed{\def\arraystretch{1.4}\begin{array}{c|c|c|c|c}
&00&01&11&10\\\hline
00& & &0& \\\hline
01&0&0&0&0\\\hline
11& &0& & \\\hline
10& &0&0& \\
\end{array}}
\)
\(\rightarrow F’=c’ d+a’ bc+abd’\)
\(\rightarrow F=(c+d)(a+b’+c’)(a’+b’+d)\)
- \(
\boxed{\def\arraystretch{1.4}\begin{array}{c|c|c|c|c}
&00&01&11&10\\\hline
00& & &0& \\\hline
01&0&0&0&0\\\hline
11& &0& & \\\hline
10& &0&0& \\
\end{array}}
\)
基本質函項(essential prime implicants)
名詞定義
- 蘊函項(Implicant)
- 任何可以被組合的單一或群元素(意指為 \(F\)的子集。)
- 質函項(Prime Implicant)
- 已不能再被組合更多的函項。(意指最大的、框選最多的子集)
- 基本質函項(Essential Prime Implicant)
- 一個帶有只能被單一質函項框選到的元素的質函項
- \(
\boxed{\def\arraystretch{1.4}\begin{array}{c|c|c|c|c}
&00&01&11&10\\\hline
00& & &1& \\\hline
01&1&1&1& \\\hline
11& &1&1&1\\\hline
10& &1& & \\
\end{array}}
\)
- 蘊函項:\(A’ C’ D, ABC’, ACD, A’ BC, BD, m_1, m_5, m_6, m_7… \)
- 質函項:\(A’ C’ D, ABC’, ACD, A’ BC, BD \)
- 基本質函項:\(A’ C’ D,ABC’,A’ BC, ACD\)
簡化原則
- 因為有可能存在多個等效的最簡式,所以:
- 盡可能將式子展開成質函項(Prime implicants)。
- 用盡可能最少的質函項來表式布林函式。
- 例題
- \( \boxed{\def\arraystretch{1.4}\begin{array}{c|c|c|c|c} &00&01&11&10\\\hline 00& &1&1& \\\hline 01&1&1&1& \\\hline 11&1& &1&1\\\hline 10& & &1&1\\ \end{array}} \rightarrow F=A’ B’ D+BC’+AC \)
5個變數的卡諾圖
- 表示法1

- 表示法2
