用可編程邏輯器件(PLD)設計時序邏輯電路

一、通用陣列邏輯器件GAL(Generic Array Logic)

GAL器件特點:可重複編程至上萬次,編程後的數據能保存20年以上。其電路結構在可編程“與或 ”陣列的基礎上,增加了輸出可編程的邏輯宏單元OLMC(Output Logic Micro Cell)電路。

現以GAL16V8器件為例加以說明,GAL16V8部分電路:

用可編程邏輯器件(PLD)設計時序邏輯電路

電路採用可編程“與陣” 和固定的“或陣”構成,每個輸出增加了可編程的輸出邏輯宏單元OLMC電路。“與陣”中具有8個專用輸入變量,8個反饋變量,共64個“與項”;輸出8個邏輯宏單元,每個宏單元中有一個8輸入的固定或門。

邏輯宏單元結構:

用可編程邏輯器件(PLD)設計時序邏輯電路

有兩個2/1和兩個4/1多路選擇器,一個異或門和一個觸發器等電路。它們的作用分別說明如下,PTMUX(乘積項2/1選擇器):用來選擇來自與陣的第一個乘積項是否作為或門的一個輸入。TSMUX(4/1三態選擇器):決定輸出三態門使能控制信號。OMUX(2/1輸出選擇器):決定輸出信號是直接輸出還是經寄存器輸出。FMUX(反饋8/1數據選擇器):但輸入只有4個,選擇反饋信號接回到“與陣列”的輸入來源。

OLMC的工作模式有5種,它由結構控制字中的SYN,ACO,ACI(n),XOR(n) 的狀態指定。

(1) SYN=1,ACO=0,ACI(n)=1:專用工作模式

簡化等效電路為:

用可編程邏輯器件(PLD)設計時序邏輯電路

此時輸出三態門輸出高阻態,I/O只能作為輸入使用,作為送到相鄰的輸入信號。

(2)SYN=1,ACO=0,ACI(n)=0:專用組合輸出模式

簡化電路如圖:

用可編程邏輯器件(PLD)設計時序邏輯電路

此時輸出三態門為選通狀態,電路為一個組合輸出電路。XOR=0,輸出為低電平有效;XOR=1,輸出高電平有效。

(3)SYN=1,ACO=1,ACI(n)=1:反饋組合輸出模式

簡化電路如圖:

用可編程邏輯器件(PLD)設計時序邏輯電路

輸出三態門由第一乘積項選通,輸出信號同時反饋到“與”邏輯陣到的輸入線上。

(4)SYN=0,ACO=1,ACI(n)=1:時序電路中的組合

簡化電路如圖:

用可編程邏輯器件(PLD)設計時序邏輯電路

此時異或門輸出不經過觸發器,而是直接送到輸出端。

(5)SYN=0,ACO=1,ACI(n)=0:寄存器輸出模式

簡化電路如圖:

用可編程邏輯器件(PLD)設計時序邏輯電路

異或門輸出經過D觸發器輸出,其中

用可編程邏輯器件(PLD)設計時序邏輯電路

反饋至“與”陣作為輸入。

可見,GAL器件具有靈活的各種輸出電路結構。在實際應用中,開發軟件又會根據用戶的要求自動配置。因此,時序型的GAL器件也完全能代替組合型的PAL器件。除通用型GAL器件外,還有擴展型、異步型、異或型、大電流輸出型、低功耗型、FPLA型和在系統可編程型等GAL。

二、用PLD器件實現時序邏輯電路

例:試用GAL16V8設計一個具有同步清零,同步置數和保持功能的8421編碼的十進制可逆計數器。

解:設待設計的8421BCD碼十進制可逆計數器如圖所示,其中QC和QB是計數器的進位及借位輸出,功能要求如表所示:

用可編程邏輯器件(PLD)設計時序邏輯電路

用可編程邏輯器件(PLD)設計時序邏輯電路

該計數器的ABEL語言如下:

用可編程邏輯器件(PLD)設計時序邏輯電路

將該ABEL語言編譯仿真後,其波形如圖。

用可編程邏輯器件(PLD)設計時序邏輯電路


分享到:


相關文章: