可程式設計邏輯/PALs
在 PLDs 出現之前,只讀儲存器 (ROM) 晶片被用來建立任意數量輸入的組合邏輯函式。考慮一個具有 m 個輸入(地址線)和 n 個輸出(資料線)的 ROM。當用作儲存器時,ROM 包含 2m 個 n 位字。
現在假設輸入不是由 m 位地址驅動,而是由 m 個獨立的邏輯訊號驅動。理論上,這些 m 個輸入訊號有 22m 個可能的布林函式。在此上下文中,布林函式是指將 m 個布林輸入的 2m 個可能組合中的每一個對映到單個布林輸出的單個函式。有 22m 種不同的方法可以將 2m 個輸入中的每一個對映到布林值,這解釋了為什麼有 22m 個這樣的 m 個輸入的布林函式。
現在,假設每個輸出引腳獨立地充當一個邏輯裝置,該裝置被專門選擇以僅取樣 22m 個可能函式中的一個。在任何給定時間,ROM 上只能存在 2m 個可能的輸入值中的一個,但隨著時間的推移,當輸入值跨越其完整的可能域時,每個輸出引腳將從 22m 個可能的函式中映射出其特定於 2m 個可能輸入值的函式。請注意,ROM 的結構允許在輸出引腳上僅生成 22m 個可能的布林函式中的 n 個。因此,ROM 等效於 n 個獨立的邏輯電路,每個電路生成 m 個輸入的選定函式。
以這種方式使用 ROM 的優點是,所有可能的 m 個輸入組合的任何可想象的函式都可以出現在 n 個輸出中的任何一個上,使其成為 m 個輸入引腳和 n 個輸出引腳的最通用組合邏輯器件。
此外,還提供 PROM(可程式設計 ROM)、EPROM(紫外線可擦除 PROM)和 EEPROM(電可擦除 PROM),它們可以使用標準 PROM 程式設計器進行程式設計,而無需專門的硬體或軟體。但是,也有一些缺點
they are usually much slower than dedicated logic circuits, they cannot necessarily provide safe "covers" for asynchronous logic transitions so the PROM's outputs may glitch as the inputs switch, they consume more power, they are often more expensive than programmable logic, especially if high speed is required.
由於大多數 ROM 沒有輸入或輸出暫存器,因此它們不能獨立用於時序邏輯。外部 TTL 暫存器通常用於狀態機等時序設計。例如 2716 等常見 EPROM 仍然有時被愛好者電路設計師使用,他們通常會有一些閒置的。這種使用有時被稱為“窮人的 PAL”。
早期可程式設計邏輯
1969 年,摩托羅拉推出了 XC157,這是一種掩模程式設計門陣列,具有 12 個門和 30 個未連線的輸入/輸出引腳。[1]
1970 年,德州儀器開發了一種基於 IBM 只讀關聯儲存器或 ROAM 的掩模程式設計 IC。這種器件,即 TMS2000,透過在 IC 生產過程中更改金屬層來程式設計。TMS2000 有多達 17 個輸入和 18 個輸出,以及 8 個用於儲存器的 JK 觸發器。TI 為這種器件創造了可程式設計邏輯陣列一詞。[2]
1971 年,通用電氣公司 (GE) 正在開發一種基於新型 PROM 技術的可程式設計邏輯器件。這種實驗裝置在 IBM 的 ROAM 的基礎上進行了改進,允許多級邏輯。英特爾剛剛推出了浮柵紫外線可擦除 PROM,因此 GE 的研究人員採用了該技術。GE 器件是第一個開發的可擦除 PLD,比 Altera EPLD 早十多年。GE 獲得了早期關於可程式設計邏輯器件的多項專利。[3][4][5]
1973 年,國家半導體推出了一個掩模程式設計 PLA 器件(DM7575),該器件具有 14 個輸入和 8 個輸出,沒有儲存器暫存器。這比 TI 的產品更受歡迎,但製作金屬掩模的成本限制了它的使用。該器件意義重大,因為它成為 1975 年由西格內蒂克公司生產的現場可程式設計邏輯陣列(82S100)的基礎。(英特爾實際上搶先於西格內蒂克,但低良率導致了他們的產品失敗。)[6][7]
1974 年,GE 與單片記憶公司達成協議,開發一種包含 GE 創新技術的掩模程式設計邏輯器件。該器件名為“可程式設計關聯邏輯陣列”或 PALA。MMI 5760 於 1976 年完成,可以實現超過 100 個門的 multilevel 或時序電路。該器件由 GE 設計環境支援,在該環境中,布林方程將被轉換為用於配置器件的掩模模式。該部分從未上市。[8]
PLA
主條目:可程式設計邏輯陣列
1970 年,德州儀器開發了一種基於 IBM 只讀關聯儲存器或 ROAM 的掩模程式設計 IC。這種器件,即 TMS2000,透過在 IC 生產過程中更改金屬層來程式設計。TMS2000 有多達 17 個輸入和 18 個輸出,以及 8 個用於儲存器的 JK 觸發器。TI 為這種器件創造了可程式設計邏輯陣列一詞。[2]
可程式設計邏輯陣列 (PLA) 具有可程式設計的 AND 門陣列,該陣列連線到可程式設計的 OR 門陣列,然後可以有條件地進行補碼以產生輸出。
PAL
主條目:可程式設計陣列邏輯
PAL 器件具有電晶體單元陣列,這些單元陣列以“固定 OR、可程式設計 AND”平面排列,用於實現“積之和”二進位制邏輯方程,以表示每個輸出的輸入和來自輸出的同步或非同步反饋。
1978 年,MMI 推出了一款突破性的器件,即可程式設計陣列邏輯或 PAL。該架構比西格內蒂克 FPLA 的架構更簡單,因為它省略了可程式設計 OR 陣列。這使得器件更快、更小、更便宜。它們有 20 引腳 300 mil DIP 封裝,而 FPLA 有 28 引腳 600 mil 封裝。PAL 手冊揭開了設計過程的神秘面紗。PALASM 設計軟體(PAL 彙編器)將工程師的布林方程轉換為用於程式設計器件所需的熔絲模式。PAL 器件很快就被國家半導體、德州儀器和 AMD 二次授權。
在 MMI 成功推出 20 引腳 PAL 器件後,AMD 推出了具有附加功能的 24 引腳 22V10 PAL。在收購 MMI(1987 年)後,AMD 將合併後的業務剝離為 Vantis,而該業務在 1999 年被 Lattice Semiconductor 收購。