通用阵列逻辑

通用阵列逻辑(英語:Generic Array Logic, GAL)是Lattice半導體公司英语Lattice Semiconductor於1980年代中期,以可程式陣列邏輯(PAL)為基礎所強化修改成的一種可程式邏輯裝置(PLD)。

就外型封裝型態上與接腳數目上,GAL與可程式邏輯陣列並沒有太大的差別,甚至在晶片的編號規則上都有相同的命名脈絡與規則可循,如16V8、22V10等,真正的差別在於晶片內部的表現特性,在程式燒錄的特性上,GAL不像傳統可程式邏輯陣列只能燒錄一次(One-Time ProgrammableOTP[1],而是能多次燒錄、多次清除晶片內的(數位邏輯)程式。

除此之外,GAL在邏輯訊號的輸出接腳上進行強化,追加了輸出邏輯巨集格(Output Logic Macro Cell,OLMC)的設計,即是為原本單純的组合逻辑解碼、輸出,在輸出前加上簡易的时序逻辑控制,讓輸出結果可以被閂鎖持留(Latch,多使用D型正反器),或強制設定(Set,邏輯1)、強制清除(Clear,邏輯0)、或由外部的致能、啟動(EN=Enable)接腳來控制、或由外部時脈信號(CLK=Clock)輸入來控制等。其他也包括:自行決定解碼輸出的預設輸出邏輯準位(Hi或Lo)、採行互補的輸出邏輯、互斥或的輸出邏輯、同步輸出或非同步輸出。

GAL雖為Lattice半導體公司英语Lattice Semiconductor所自創自推,但整體特性仍與PAL無太大差別,原有PAL所用的燒錄程式檔(合乎JEDEC所規範的標準格式)也可輕易轉換成GAL所用的燒錄程式檔,此外之後也有更進一步強化的ispGAL,isp即in-system programmability的意思,ispGAL可以在已經焊接的應用電路上後,不需解焊拔除,而直接以外接探針(probe)的臨時連接,或原有的應用電路設計時就有將再次燒錄的電路加以考慮,進行再次的程式清除、燒錄等修改更新,不過這必須是在原應用電路停止運作下才能行使,而今日較複雜的CPLD、FPGA已經能一邊運作一邊進行內部邏輯程式的更新。

附註

  1. ^ - 僅能燒錄一次,在製程結構上除了採行早期的熔絲(Fuse)或反熔絲(Anti-Fuse)等PROM作法外,也有可能採用EPROM方式製造,再搭配不具透光玻璃窗的封裝方式。