2012年9月4日 星期二

布林代數_無中生有



布林代數之無中生有

想法: 缺少的 變數 補足,換成 使用 較多的變數 來描述。
EX 原本的 一個變數,使用兩個變數來表示。
依據的定律是 A = A and 1  =  A 1

將一個變數 A,寫成 兩個變數的 AB形式來表示 A
過程:
A
= A 1
=A ( B + B’ ) 因為 ( B + B’ ) 在范氏圖裡 互補關係,所以 1
= (A B)  +  (A B’) ;以 分配律 上式 乘開(展開)
=AB + AB’
註: B’ 唸成 B bar B plum

所以 A= AB + AB’ 若要 再加一個變數 C ;方法如上

AB + AB’
=AB 1 + AB’ 1
= AB( C + C’ )  +  AB’ ( C + C’ )
= (ABC) + (ABC’)  +  (AB’ C) + (AB’ C’)
=ABC+ABC’  +  AB’C+ AB’C’
=111  +110    +  101  + 100       將上式 二進制數 表示
= 7   + 6      +  5    + 4         將上式 十進制數 表示
上例  倒數三式的寫法,將來 會用在 卡諾圖上。
以上 個人 以為 這種 解釋  就是 補變數 無中生有

2012年8月27日 星期一

格雷碼 ( gray code)


格雷碼 ( gray code)
格雷碼 也稱 灰色碼、反射碼、鏡射碼,通常 用在 卡諾圖的外圍 X軸,Y軸上 可以化簡 布林代數式,也就是 用畫圖的方式 圈幾個圈 答案 出來了。

格雷碼 的特徵:
1. 上下相鄰的 兩個碼 只變化 一個位元。
2. 第一個碼(首碼) 最後一個碼(尾碼) 也是 只有一個位元變化,所以 稱為 首尾相鄰。

格雷碼 如何寫出來的呢?
EX:請寫出 一位元格雷碼?
0
1
變化過程
0 
先寫上一個 0 ,在 0 的正下方 畫上一條 紅色小橫線 代表 反相 鏡子 的功能
所以 0 反相 及鏡射值 1,寫在 小橫線 正下方,這就是答案。
0
1

EX:請寫出 二位元格雷碼?(兩位元以上 都分成兩段討論:紅色 黑色)
0 0
0 1
1 1
1 0
變化過程
一位元格雷碼 左邊 各補上 一個 0,新加入的 0  一定是 紅色橫線
0 0
0 1
左邊 垂直 讀下來 0 0 其正下方 有一條 紅色橫線 代表反相 鏡子 的功能
右邊 垂直 讀下來 0 1,其正下方 有一條 黑色橫線 代表 只有 鏡子 的功能
左邊的答案先寫
0 0
0 1
1 1
1 0
對顏色 可知 排在 鏡子 最前面的 其反射值 一定在 最前面,後面的 一定也在後面。
一般來說,橫線 上方的數字 由下 往上 0 0
          橫線 下方的答案 由橫線 正下方 由上 往下 1 1
注意 紅色橫線 是代表 反相 鏡子 的功能

再寫 右邊的答案
0 0
0 1
1 1
1 0
一般來說,橫線 上方的數字 由下 往上 1 0
          橫線 下方的答案 由橫線 正下方 由上 往下 1 0
注意 黑色橫線 是代表 鏡子 的功能 沒有 反相。

EX:請寫出 三位元格雷碼?(兩位元以上 都分成兩段討論:紅色 黑色)
ANS
0
1


00
01
11
10


000
001
011
010
1
1
1
1


000
001
011
010
11
11
10
10


000
001
011
010
110
111
101
100

狄摩根 定律 ( DeMorgan's Law ) 閘變換 的 方法


閘變換 方法
總的來說,就是 A 相當於 B
譬如說: A and B = (A bar or B bar) bar  AND  相當於 反輸入NOR閘。
其實 很簡單,利用 A=A double bar 的原理 就可以 算出來。
A 反相 180  兩次 相當於 沒反相。

閘變換的方法 有兩種
1. 純計算 利用 A=A double bar 的原理,或 參考 狄摩根 定律 ( Demorgen Law )
2. 用畫圖的方式

兩個方法 共通的部份  就是
1. and or 直接 互換 ( bar 切斷時)
2. 兩個 bar 重疊時,一定 記得 兩個 bar 直接消去  ( bar 切斷時)

畫圖時 ,是用氣泡 代替 bar
EX
請用心算,在腦袋中 想像 現在 變成 怎樣了
A and B 就是 及閘
兩個 輸入端,一個 輸出端,
每一個 (兩個 輸入端,一個 輸出端,同時 各加上一個 氣泡)
and符號  改成  or 符號
現在的畫面  就是 答案 ( 從左到右   兩個輸入端 均有 一個氣泡,再來就是 or 符號,再來就是 輸出端 一個氣泡。)  就是 反輸入 NOR

EX
請用心算,在腦袋中 想像 現在 變成 怎樣了
(A and B) bar 就是 反及閘---NAND
兩個 輸入端 沒氣泡,一個 輸出端 有氣泡,
每一個 (兩個 輸入端,一個 輸出端,同時 各加上一個 氣泡)
and符號  改成  or 符號
現在的畫面  就是 答案 ( 從左到右   兩個輸入端 均有 一個氣泡,再來就是 or 符號,再來就是 輸出端 兩個氣泡 直接消掉。)  就是 反輸入 OR
(A and B) bar=A bar or B bar= A bar + B bar=A’ + B’

暈了 沒,休息一下!