0.布林代數其實就是0與1的運算
1.三種布林代數的表示
- Boolean Algebra
- Truth table
- Circuit Diagram
- Closure
- e.g. 若x*y屬於集合S,則x,y也會屬於S
- Associative law
- a*b*c = a*c*b
- Commutative law
- 1+0 = 0+1, 1*0 = 0*1
- Identity elements
- + : 0+0 = 0 , 1+0=0 ,such that x+0 = x
- * : 0*1 = 0 , 1*1=1, such that x*1=x
- Distributive law
- x*(y+z) = x*y + x*z
- x + yz - (x+y)(x+z)
- DeMorgan's Theorem (德摩根定律)
- (x+y)' = x'y'
- (xy)' = x' + y'
- 廣泛用於電路最佳化(And與Or的轉換)
- e.g : x' + y' = (xy)' = NAND gate
- 可以用在SOP與POS之間的轉換
- Absorption
- xy + x = x (x+y) = x
- 括號 > NOT > AND > OR
x與y為input
- And : x*y
- Or : x + y
- Not : x = x'
- NAND : -> And ->Not
- NOR : -> Or -> Not
- Exclusive - Or (Xor) = xy' + x'y 相同input為0,不同input為1(互斥)
- Exclusive - Nor = xy + x'y' 相同input為1,不同input為0
- Postive logic : H =1, L=0
- Negative logic : H=0, L=1
- active high : 1的時候出現反應,為正邏輯
- active low : 0的時候出現反應,為負邏輯
- Gate : 1個邏輯閘大概由2~14個電晶體構成
- Circuit : 由多組邏輯閘構成
- A combination of interacting gates
- Integrated Circuit (IC)
- Chip
- A silicon semiconductor crystal that contains the electronic components for constructing digital gates.
- Level
- SSI
- MSI
- LSI
- VLSI
- System : 放在一個PCB(印刷電路板)上,由很多組電路構成
由於不同的製作技術,在邏輯閘上以下的參數可能會有所不同
- Fan-Out
- 一個邏輯閘的Output到底能夠推動幾個邏輯閘正常運作
- 一個邏輯閘的輸出,最多能推動幾個輸入
- e.g. Fan-out = 2,Output就只能接兩個
- 假設1代表5V,如果接了3個,有可能一個Output只能達到2V
- 但是不影響原本的布林函數
- Fan - In
- 想做Fan-Out的反面
- Propagation delay (傳遞延遲)
- 邏輯閘是由電晶體構成,電晶體充放電都需要時間,所以會造成延遲
- 一個晶片裡,邏輯閘的數目有幾百萬~幾千萬個
- 即便一個邏輯閘的延遲只有幾奈秒,加總起來仍十分龐大
- 是用最慢產生的最終Output當成傳遞延遲
- 所以說,晶片的表現要好,整體模組的速度要差不多快
- 傳遞延遲跟光罩製作技術(e.g.微米,奈米)有關
- Noise Margin
- e.g. 1~0V之間判斷為0,4~5V之間會判斷為1
- 現在的邏輯閘動輒上百萬,我們需要電腦輔助設計(CAD tool)
- EDA is specially used for IC design
- HDL (Hardware Deseription Language)
- 用來描述你電路的語言
- tool幫你compile之後會轉換(Logic synthesis)為邏輯閘(一個實體的電路)
- 電路實現的種類
- ASIC
- 應用導向的積體電路
- 量身打造你設計出的電路
- FPGA & CPLD
- 給你的是晶片,裏面cell都固定
- 我們可以自己把電路燒上去
- 只要電路沒有超過cell,都能應用上去
- 其餘邏輯閘都能由NAND或NOR實做而成
- 為何使用?
- 因為NAND與NOR容易透過電晶體實做
- 因為NAND與NOR比起AND與OR有更低的傳遞延遲
- 電路上的轉換要則
- 1.2個Not = 0個Not,透過增加雙向的Not將AND或OR轉換
- NAND與NOR之間的轉換
- 用兩次迪摩根法則: x' + y' + z' = (xyz)'
沒有留言:
張貼留言