You are on page 1of 22

數位邏輯與 FPGA

陳鍾誠 2005 年 5 月 16 日
PLD
(Programmable Logic Device)
PLA
(Programmable Logic Array)
PLA v.s PAL
PLA PAL
Macrocell ( 巨單元 )
為 PLA 加上正反器以增強功能
PLD 的燒錄裝置
PLCC
 雖然 PLA 和 PAL 都有如圖 3.21a 所示的 DIP 包裝,它們
也有另一種普遍的包裝稱為 PLCC (plastic-leaded chip
carrier)
 如果可以不必透過程式化裝置來程式控制晶片,在晶片仍在電路板上
的情況對晶片作程式化,這是最方便的。這種程式化的方法稱為系統
內程式化 (in-system programming, ISP) 。
CPLD (Complex PLD)
 互連接線包含可程式開關,用來連接似 PAL 區塊。
CPLD 的子區 塊
CPLD 與 JTAG
IEEE 將 CPLD 上使用這種程式化方法的電
路標準化,稱為 JTAG 埠 (port) 。

一旦 CPLD 被程式化就可以永遠保持這個狀
態,即使晶片的電源供應被關掉。此特性稱
為非揮發性 (nonvolatile) 程式化。
FPGA
場域可程式邏輯閘陣列 (field-
programmable gate array, FPGA) 是可
以實作較大型邏輯電路的可程式邏輯元
件。
FPGA 的基 本單元 - LUT
最常用的邏輯區塊稱為對照表
(lookup table, LUT) ,包含儲存單元
(storage cell) 用來實作小型函數。

三輸入 LUT
FPGA 的特 性
 FPGA 中 LUT 的儲存單元是揮發性 (volatile) ,當晶片的電源關掉時
儲存的內容將會遺失。

 因此每次接上電源時就必須重新對 FPGA 程式化。

 通常有個小型記憶體晶片可以永遠保持其資料,稱為可程式唯讀記憶
體 (programmable read-only memory, PROM) ,包含在放置 FPGA
的電路板上。

 每當晶片電源接上時, FPGA 裡的儲存單元會從 PROM 自動載入資


料。
程式化 後的 FPGA
 右圖為 NOR 平面的可程式化版本,
有個 n 輸入 x1,…,xn ,以及個輸出。
 此開關包含兩個串聯的電晶體,一個
NMOS 電晶體,和一個電子可消除
可程式唯讀記憶體 (electrical
erasable programmable read-only
memory, EEPROM) 電晶體。
 EEPROM 電晶體有兩個邏輯閘:正
常 NMOS 電晶體有的閘極,以及第
二個浮動閘 (floating gate) 。浮動閘
的名稱是因為它被絕緣玻璃所包圍,
沒有連接到電晶體任何部分。
 浮動閘的一部份向下延伸,使其非常靠近通道的頂端表面
,如圖 3.64c 所示。大量電流經過通道產生佛洛 - 諾罕穿
隧 (Fowler-Nordheim tunneling) 效應,通道上有些電子
穿過絕緣玻璃的最薄點,陷落在浮動閘下方。
 一旦 EEPROM 電晶體被程式化,則永久維持被程式化的
狀態。然而,程式化程序是可以逆轉的。此步驟稱為抹除
(erasing) ,使用與程式化時所用電壓極性相反的電壓即可

 為求完整性,我們應該另一個與 EEPROM 類似的技術,
稱為可消除 PROM (erasable PROM, EPROM) 。
 欲消除晶片,則將其放在紫外光 (ultraviolet light) 源之下
數分鐘。
 圖 3.65 為使用 EEPROM 技術
的完整 NOR-NOR PLA ,有四
個輸入、六個總和項在第一個
NOR 平面,以及兩個輸出。
 被程式化為關閉狀態的可程式
開關以黑色表示,而未程式化
的開關以藍色表示。
 PLA 可以實作總和乘積形式的
邏輯函數,也可以實現乘積總
和形式。
 圖 3.66 為說明乘積總和形式的
例子,包含此用途的 NOT 邏輯
閘。
 圖 3.67 為四個輸入、兩
個輸出的 PAL 。
 注意圖中的乘積項三個一
組以硬體接線連到 OR 邏
輯閘,產生 PAL 的輸出

 圖 3.67 中另一個觀察的
細節是,雖然函數 f2 只需
要兩個乘積項,每個 OR
邏輯閘都以硬體接線連到
三個乘積項。
 在典型的 CPLD 中,
AND 平面是由 NMOS
NOR 邏輯閘以及輸入的
互補建構而成
 FPGA 不是用 EEPROM 技術來實作可
程式開關。程式化資訊是儲存在記憶
體單元,稱為靜態隨機存取記憶體
(static random access memory,
SRAM) 單元。
 圖 3.68 為圖 3.39 中 FPGA 的一小部
分。圖中的邏輯區塊產生輸出 f1 ,驅
動藍色水平接線。
 每個開關都是以 NMOS 電晶體實作而
成,其閘極由 SRAM 單元所控制。這
種開關稱為傳遞電晶體開關 (pass-
transistor switch) 。
 圖 3.68 中,若 Vf1 為高電壓值,則 VA
只有部分高值。
單級合 成
f ( x1 , K , x7 )  x1 x3 x6  x1 x4 x5 x6  x2 x3 x7  x2 x4 x5 x7

問題,高扇入,造成延遲
在 FPGA 上分 解成兩 層,
減低扇 入級 度
f  x1 x6 ( x3  x4 x5 )  x2 x7 ( x3  x4 x5 )
 ( x1 x6  x2 x7 )( x3  x4 x5 )

You might also like