通用陣列邏輯
通用陣列邏輯(英語:Generic Array Logic, GAL)是Lattice半導體公司於1980年代中期,以可程式陣列邏輯(PAL)為基礎所強化修改成的一種可程式邏輯裝置(PLD)。
就外型封裝型態上與接腳數目上,GAL與可程式邏輯陣列並沒有太大的差別,甚至在晶片的編號規則上都有相同的命名脈絡與規則可循,如16V8、22V10等,真正的差別在於晶片內部的表現特性,在程式燒錄的特性上,GAL不像傳統可程式邏輯陣列只能燒錄一次(One-Time Programmable,OTP) ,而是能多次燒錄、多次清除晶片內的(數碼邏輯)程式。
除此之外,GAL在邏輯訊號的輸出接腳上進行強化,追加了輸出邏輯巨集格(Output Logic Macro Cell,OLMC)的設計,即是為原本單純的組合邏輯解碼、輸出,在輸出前加上簡易的序向邏輯控制,讓輸出結果可以被鎖存器持留(Latch,多使用D型正反器),或強制設定(Set,邏輯1)、強制清除(Clear,邏輯0)、或由外部的致能、啟動(EN=Enable)接腳來控制、或由外部時脈信號(CLK=Clock)輸入來控制等。其他也包括:自行決定解碼輸出的預設輸出邏輯準位(Hi或Lo)、採行互補的輸出邏輯、異或的輸出邏輯、同步輸出或非同步輸出。
GAL雖為Lattice半導體公司所自創自推,但整體特性仍與PAL無太大差別,原有PAL所用的燒錄程式檔(合乎JEDEC所規範的標準格式)也可輕易轉換成GAL所用的燒錄程式檔,此外之後也有更進一步強化的ispGAL,isp即in-system programmability的意思,ispGAL可以在已經焊接的應用電路上後,不需解焊拔除,而直接以外接探針(probe)的臨時連接,或原有的應用電路設計時就有將再次燒錄的電路加以考慮,進行再次的程式清除、燒錄等修改更新,不過這必須是在原應用電路停止運作下才能行使,而今日較複雜的CPLD、FPGA已經能一邊運作一邊進行內部邏輯程式的更新。