一、通用陣列邏輯器件gal(generic array logic)
gal器件特點:可重復編程至上萬次,編程后的數(shù)據(jù)能保存20年以上。其電路結構在可編程“與或 ”陣列的基礎上,增加了輸出可編程的邏輯宏單元olmc(output logic micro cell)電路。
現(xiàn)以gal16v8器件為例加以說明,gal16v8部分電路:
電路采用可編程“與陣” 和固定的“或陣”構成,每個輸出增加了可編程的輸出邏輯宏單元olmc電路?!芭c陣”中具有8個專用輸入變量,8個反饋變量,共64個“與項”;輸出8個邏輯宏單元,每個宏單元中有一個8輸入的固定或門。
邏輯宏單元結構:
有兩個2/1和兩個4/1多路選擇器,一個異或門和一個觸發(fā)器等電路。它們的作用分別說明如下,ptmux(乘積項2/1選擇器):用來選擇來自與陣的第一個乘積項是否作為或門的一個輸入。tsmux(4/1三態(tài)選擇器):決定輸出三態(tài)門使能控制信號。omux(2/1輸出選擇器):決定輸出信號是直接輸出還是經寄存器輸出。fmux(反饋8/1數(shù)據(jù)選擇器):但輸入只有4個,選擇反饋信號接回到“與陣列”的輸入來源。
olmc的工作模式有5種,它由結構控制字中的syn,aco,aci(n),xor(n) 的狀態(tài)指定。
(1) syn=1,aco=0,aci(n)=1:專用工作模式
簡化等效電路為:
此時輸出三態(tài)門輸出高阻態(tài),i/o只能作為輸入使用,作為送到相鄰的輸入信號。
(2)syn=1,aco=0,aci(n)=0:專用組合輸出模式
簡化電路如圖:
此時輸出三態(tài)門為選通狀態(tài),電路為一個組合輸出電路。xor=0,輸出為低電平有效;xor=1,輸出高電平有效。
(3)syn=1,aco=1,aci(n)=1:反饋組合輸出模式
簡化電路如圖:
輸出三態(tài)門由第一乘積項選通,輸出信號同時反饋到“與”邏輯陣到的輸入線上。
(4)syn=0,aco=1,aci(n)=1:時序電路中的組合
簡化電路如圖:
此時異或門輸出不經過觸發(fā)器,而是直接送到輸出端。
(5)syn=0,aco=1,aci(n)=0:寄存器輸出模式
簡化電路如圖:
異或門輸出經過d觸發(fā)器輸出,其中反饋至“與”陣作為輸入。
可見,gal器件具有靈活的各種輸出電路結構。在實際應用中,開發(fā)軟件又會根據(jù)用戶的要求自動配置。因此,時序型的gal器件也完全能代替組合型的pal器件。除通用型gal器件外,還有擴展型、異步型、異或型、大電流輸出型、低功耗型、fpla型和在系統(tǒng)可編程型等gal。
二、用pld器件實現(xiàn)時序邏輯電路
例:試用gal16v8設計一個具有同步清零,同步置數(shù)和保持功能的8421編碼的十進制可逆計數(shù)器。
解:設待設計的8421bcd碼十進制可逆計數(shù)器如圖所示,其中qc和qb是計數(shù)器的進位及借位輸出,功能要求如表所示:
該計數(shù)器的abel語言如下:
將該abel語言編譯仿真后,其波形如圖。