可程式化邏輯陣列

可程式化邏輯陣列(英語:Programmable Logic Array,縮寫:PLA)是一種可以實作組合邏輯電路可程式邏輯裝置。PLA有一組可程式化的AND閘,其連接到一組可程式化的OR閘,如此可以達到:「只在合乎設置條件時才允許產生邏輯訊號輸出。」PLA有2^N個AND閘來輸入N個變數,並且需要M個OR閘來輸出M個結果。PLA如此的邏輯門佈局能用來規劃大量的邏輯函數,這些邏輯函數必須先以積項(有時是多個積項)的原始形式進行齊一化。

PLA 示意圖

PLA與可程式陣列邏輯裝置(PAL)的差別為PLA的AND閘、OR閘皆可修改。

歷史

1970年,德州儀器根據IBM的唯讀關聯記憶體(ROAM)開發了一個有可程式化光罩的IC(TMS2000)。此IC藉由改變金屬層來達成可程式化的功能。TMS2000有17個輸入、18個輸出以及8個JK正反器作為記憶體。 同時,德州儀器將此裝置命名為PLA。[1]

步驟

  1. 將所需邏輯化成積項之和(Sum of Products)(SOP)
  2. 將SOP化簡至最簡型式
  3. 決定輸入的AND陣列產生需要的積項(Product term)
  4. 決定OR陣列的輸入產生需要的和項(Sum term)
  5. 決定逆向陣列的連接
  6. 開始編程PLA

應用

在PLA的應用中,有一種是用來控制資料路徑,在指令集內事先定義好邏輯狀態,並用此來產生下一個邏輯狀態(透過條件分支)。

舉例來說,如果目前機器(指整個邏輯系統)處於二號狀態,如果接下來的執行指令中含有一個立即值(偵測到立即值的欄位)時,機器就從第二狀態轉成四號狀態,並且也可以進一步定義進入第四狀態後的接續動作。因此PLA等於扮演(晶片)系統內含的邏輯狀態圖state diagram)角色。

除了PLA外,其他常用的可程式邏輯裝置還有可程式化陣列邏輯(PAL)、複雜可程式邏輯裝置CPLD)以及現場可程式邏輯門陣列FPGA)。

參見

參考文獻

  1. ^ Andres, Kent. A Texas Instruments Application Report: MOS programmable logic arrays.. Texas Instruments. October 1970. Bulletin CA-158. 

外部連結