數位邏輯與實習

30
數數數數數數數 Week 8-12 數數數數數數數數數 數數數

Upload: vahe

Post on 07-Jan-2016

160 views

Category:

Documents


0 download

DESCRIPTION

數位邏輯與實習. Week 8-12 邏輯閘層次的最小化 曾建勳. 非退化形式. 四種基本閘 : AND, OR, NAND, NOR 二階閘的組合電路中, 假如在第一階安排其中一種 基本 形式的閘,且在第二階也安排一種形式的閘 ( 可相同 ) ,則我們可以找到16種可能組合的二階形式 ( e.g. NAND-NAND 電路)。 其中有8種:稱為退化 (degenerate) 形式 => 因為它們退化成一個單一的運算 (e.g. AND-AND=AND) 其他 8 種為非退化 (nondegenerate) 形式 : - PowerPoint PPT Presentation

TRANSCRIPT

數位邏輯與實習Week 8-12

邏輯閘層次的最小化曾建勳

Digital Circuits 3-2

非退化形式 四種基本閘 : AND, OR, NAND, NOR 二階閘的組合電路中,假如在第一階安排其中一種基本

形式的閘,且在第二階也安排一種形式的閘 ( 可相同 ) ,則我們可以找到 16種可能組合的二階形式 (e.g.NAND-NAND 電路 )。

其中有 8種:稱為退化 (degenerate) 形式 => 因為它們退化成一個單一的運算 (e.g. AND-AND=AND)

其他 8 種為非退化 (nondegenerate) 形式 :

AND-OR 與 OR-AND: 基本二階閘 NAND-NAND = 積項和 NOR-NOR = 和項積 NOR-OR, NAND-AND, OR-AND, AND-OR 下面討論

AND-ORNAND-NAND NOR-OROR-AND

OR-ANDNOR-NORNAND-ANDAND-OR

dual

Digital Circuits 3-3

AND-OR-INVERT 電路AND-OR-INVERT (AOI) 電路 : AND-NOR = NAND-AND = AOI 電路 ( 和項積表

示 ) E.g. F = (AB+CD+E)‘ 以線結 -AND 邏輯閘表示 : 先以 F‘ = AB+CD+E ( 積項和 ) 表示,再求補數

FOR- 反相 反相 -

AND

Digital Circuits 3-4

OR-AND-INVERT 電路OR-AND-INVERT (OAI) 電路 OR-NAND = NOR-OR = OAI ( 積項和表示 ) F = ((A+B)(C+D)E)' 以線結 -OR 邏輯閘表示 :

先以 F' = (A+B)(C+D)E ( 和項積 ) 表示,再求補數 F

AND- 反相 反相 -OR

Digital Circuits 3-5

列表總論與舉例說明

Digital Circuits 3-6

列表總論與舉例說明例題 3-11 利用圖 (a)完成表 3-3的 4 種電路F‘ = x’y+xy‘+z (F’ :以 0 得出積項和 ) F = (x‘y+xy’+z)‘ (F : AOI 電路 AND-NOR,NAND-AND)

F = x'y'z' + xyz' (F :以 1 得出積項和 ) F' = (x+y+z)(x'+y'+z) (F' :和項積 ) F = ((x+y+z)(x‘+y’+z))‘ (F: OAI 電路 OR-AND, NOR-OR)

Digital Circuits 3-7

列表總論與舉例說明∵OR- 反相 = 反相 -AND

∵AND- 反相 = 反相 -OR

Digital Circuits 3-8

互斥 -OR 函數 互斥 -OR 函數 [Exclusive-OR (XOR)]: 奇函數

x y = xy'+x'y 互斥 -NOR (XNOR) (equivalence): 偶函數

(xy)' = xy + x'y' 一些恆等式應用在 XOR

x0 = x x1 = x' xx = 0 xx' = 1 xy' = (xy)' x'y = (xy)'

交換性與結合性 AB = BA (AB) C = A (BC) = ABC

Digital Circuits 3-9

電路實現 : (x'+y')x + (x'+y')y = xy'+x'y = xy

互斥 -OR 函數

x y = xy'+x'y

∵反相 -OR=AND- 反相

Digital Circuits 3-10

三變數奇函數與偶函數 ABC = (AB)C(AB'+A'B)C' +(AB+A'B')C

= AB'C'+A'BC'+ABC+A'B'C = (1,2,4,7)

函數成立奇數個變數都等於 1

Digital Circuits 3-11

奇函數與偶函數的邏輯圖三變數奇函數與偶函數

Digital Circuits 3-12

ABCD=(AB)CD )

=(AB’+A’B)(CD’+C’D)

=(AB’+A’B)(CD+C’D’)+(AB+A’B’)(CD’+C’D)

= Σ(1,2,4,7,8,11,13,14)

四變數互斥 -OR 函數

Digital Circuits 3-13

同位產生器與檢查 為了在資料通訊及處理上檢查錯誤,有時候會在ASCII字元上加上第 8 個位元來指示同位位元。(chapter 1.7)

同位位元 (parity bit) : 用來指示訊息中 1的總數是偶數或是奇數的一個額外的位元。

偶同位檢查 : 全列位元 1 的總數是偶數第 8 個位元 = 0 接收端檢查無誤; 全列位元 1 的總數是奇數第 8 個位元 = 1 接收端檢查出錯誤

奇同位檢查 : 全列位元 1 的總數是奇數第 8 個位元 = 0 接收端檢查無誤; 全列位元 1 的總數是偶數第 8 個位元 = 1 接收端檢查出錯

誤 傳送器中產生同位位元的電路稱為同位產生器 接收器中檢查同位的電路稱為同位檢查器

Digital Circuits 3-14

同位產生器與檢查

P 是奇函數 P = xyz

傳送器中

1+1=2 ( 偶數個 1)P=1

一起被以偶同位方式傳送出

Digital Circuits 3-15

同位產生器與檢查

C 也是奇函數 C = xyzP

( 偶同位傳送 ) 奇數個 1 資料傳送有錯誤C=1 ( 有反應 )

Digital Circuits 3-16

同位產生器與檢查 摘要 : 同位產生器與檢查器

偶同位位元: P = xyz 同位檢查器: C = xyzP

C =1 :奇數個資料位元錯誤發生 C = 0 :資料正確或偶數個資料位元錯誤發生 ( 接收的位元

值 =0)

圖 (b)= 圖 (a) if P=0 (∵z⊕0=z)

Digital Circuits 3-17

硬體描述語言 (HDL) 一種以計算機為基礎而用文字的形式來描述數位系統硬體電路的語言: 硬體結構 功能 / 行為 時序

HDL: VHDL: 最初用來作為軍事防衛的防禦命令語言 Verilog HDL: Cadence Design Systems 公司開發,

比 VHDL 容易學及使用 ( 本書採用 )

Digital Circuits 3-18

A Top-Down Design Flow

Specification

RTL design andSimulation

Logic Synthesis

Gate Level Simulation

ASIC Layout FPGA Implementation

Digital Circuits 3-19

模組宣告 關鍵字範例: module, end-module, input, output, wire, and, or,

與 not.

HDL 範例 3-1

Digital Circuits 3-20

HDL 範例 3.1 圖 3-37 電路的 HDL描述

例證後的模組

Digital Circuits 3-21

HDL 範例 3.2 將範例 3-1 中 and, or 和 not 閘分別具有時間延遲 30, 20,

10 ns 。假如這個電路被模擬,並且輸入由 A,B,B=0 變成 A,B,C=1 ,則輸出的改變如表 3-6 所示。

Digital Circuits 3-22

閘延遲

( 範例 3-1)

Digital Circuits 3-23

HDL 範例 3.3

HDL範例 3-3為模擬一個具有延遲電路的測試

Digital Circuits 3-24

HDL 範例 3.1 的模擬輸出

Digital Circuits 3-25

布林表示式

圖 3-37電路的布林表示式

布林表示式:

HDL 範例 3.4

Digital Circuits 3-26

HDL範例 3.4

Digital Circuits 3-27

使用者定義的基本閘

宣告:

產生一個可實現圖 3-39 所示硬體的電路。

使用關鍵字 primitive 作宣告,後面接著是名稱以及埠名單。 只可以有一個輸出,且此輸出必須列在埠名單的第一個,還有

必須用關鍵字 output 來宣告。 輸入數目不限制,至於它們在 input 宣告中的順序則必須與它

們在下面表中所給值的順序相同。 真值表必須在關鍵字 table 及 endtable 之間。 輸入值依順序列出,用冒號 ( : ) 代表結束。輸出通常是每一

列的最後一個記錄,後面跟著是一個分號 ( ; ) 。 最後用關鍵字 endprimitive 做為 UDP 宣告的結束。

Digital Circuits 3-28

HDL範例 3.5

只能用在模擬不能用在合成

Digital Circuits 3-29

HDL 範例 3.5 ( 續 )

Digital Circuits 3-30