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’

暈了 沒,休息一下!

2012年8月15日 星期三

布林代數_狄摩根 定律 ( DeMorgan's Law )


布林代數 狄摩根 定律 (  DeMorgan's  Law )
1.  A and B bar = A bar or B bar
要訣:
上例, bar 的底下 一項 運算式 A and B,只有一項 不用括號。
首先 A and B 只有一個 運算子 and ,所以 and 正上方的 bar 的符號 的位置,
可以 你的 意念之刀 想像 用刀子 bar 的符號 一刀 兩段,由 一條 bar 變成 兩段 bar (就是 切斷)
接著 運算子的符號 and 變成 or  ( 註: and or  可以 互變 )
再來 or 左邊(一項) 右邊(一項) 照抄 ( 不予改變 )
最後 變出來的 答案 就是 A bar or B bar
所以 狄摩根 定律 的式子 如何轉換?,簡單的說 就是 切斷、 符號照抄
以上是 書寫的步驟

A and B bar 就是 NAND ,高態輸入的 NAND  
A bar or B bar就是 反輸入OR
也就是 閘變換 當中的   
NAND   可改成  反輸入OR
NAND   等於  反輸入OR ,低態輸入的 OR 閘。


2.  A or B  bar  =  A bar  and  B bar
1. 方法 一樣,就是 切斷、 符號 照抄
就可以 得到 正確的 答案 NOR   等於  反輸入 AND