可程式化邏輯裝置

可程式設計邏輯器件是一種電子零件、電子元件，簡而言之也是一種積體電路、晶片。PLD晶片屬於數字型態的電路晶片，而非模擬或混訊晶片。PLD與一般數位晶片不同的是：PLD內部的數位電路可以在出廠後才規劃決定，有些型別的PLD也允許在規劃決定後再次進行變更、改變，而一般數位晶片在出廠前就已經決定其內部電路，無法在出廠後再次改變，事實上與一般的類比晶片、混訊晶片一樣，在出廠後就無法再對其內部電路進行調修。發明之前.在PLD還未被發明前，已有人將唯讀記憶體函式。首先一顆ROM晶片有"m"個輸入，當ROM被當成記憶體使用時，它就有"formula_1"個"n" bits的記憶儲存空間。輸入部分不再是個"m"-bit的位址線路，而被看成是有"m"個相互無關連的獨立邏輯訊號線。且就理論而言一顆ROM晶片內可以放置"formula_2"個布林函式，且每個布林函式可以有"m"個邏輯訊號。但是這種用ROM「喬裝」成的PLD，礙於ROM自身原有的結構設計，使真正有效的函式數取決於輸出接腳數，因此有"n"個輸出就只能有"n"個可用的有效函式。更簡單的說，這時候的ROM等同於"n"組相互無關的獨立邏輯電路，每組電路的產生、形成，則取決於由"m"個輸入所組成的邏輯函式。使用ROM來當PLD的好處是：有幾個以m輸入方式表示的邏輯函式，就會有幾個對應的n輸出，且絕大多數一般性用途的組合邏輯裝置都可適用此種作法。同樣的，PROM等也都可以用此種方式進行邏輯規劃、程式化，而且不需要特殊的軟硬體，只要用標準的PROM燒錄器即可實現程式化。然而，無論怎麼說，這種作法也有些缺點：此法也不易於用於序向邏輯電路。對電路設計的業餘愛好者來說，有時也仍然用普遍型EPROM晶片來充當PLD，這種用法有時也稱為「窮人的PAL」。早期的可程式邏輯.第一個在商業化市場運用的PLD，是由Monolithic記憶體公司，但僅在該公司內部使用。[#endnote_R01]MMI公司在20-pin公司，到了1999年則由公司收購AMD公司手中的Vantis公司股份，自此收併Vantis公司。GAL.以PAL，此是由公司所發明，GAL的特性與PAL相同，不過PAL的電路組態、配置只能進行一次的程式燒錄，不能再有第二次，而GAL則是可以反覆對電路組態、配置進行燒錄、清除、再燒錄、再清除。[#endnote_R02]GAL這種可重複燒錄的特性在研發過程時的試製階段的ispGAL22V10。另一個與GAL相類似的是PEEL公司所提出。CPLD.PAL、GAL僅適合用在約數百個邏輯閘所構成的小型電路，若要實現更大的電路則適合用CPLD的整合作法，使其一顆就能實現數千個邏輯閘，甚至數十萬個邏輯閘才能構成的電路。至於CPLD的程式燒錄方式，雖然有些CPLD可以用PAL的燒錄器來進行燒錄，但這種燒錄方式對經常有數百隻接腳的CPLD來說並不方便。另一種燒錄方式是CPLD已焊於印刷電路板上，之後透過額外的臨時外接，或原有線路的內接，使CPLD與個人電腦間能取得連線，由個人電腦以串列或並列方式將新的燒錄資料傳送到CPLD上，而CPLD內部也具有解碼電路能對接收到的資料進行還原解析，之後再進行重新的燒錄，以此方式讓CPLD內的程式獲得更新。要注意的是，每家業者的CPLD晶片多具有焊接後再行傳輸、再次燒錄的技術，但各家的技術實現方式與名稱多不盡相同，例如公司就將此種燒錄技術稱為「in-system programming」。各家獨創、專屬的作法也逐漸消失，朝共通的標準、一致的方向發展，如IEEE 1532。FPGA.當PAL忙於進展成GAL、CPLD時，另一種「可程式化」的流派也逐漸成形，此稱之為場式可程式閘陣列技術為基礎所發展成的一種PLD。FPGA早期的例子是Signetics公司在1970年代晚期所推出的82S100的功能。FPGA運用一種邏輯閘式的網格[#endnote_R03]FPGA通常也可以在焊接後再進行程式燒錄、變更的工作，此在某種程度與大型的CPLD相似。而絕大多數的FPGA，其內部的程式組態配置是屬於揮發性的，即是無持續電力供應後組態配置的內容就會消失，所以在裝置到FPGA中，或者期望改變FPGA內的配置組態時，也必須進行重新載入的動作。而關於組態配置的內容，就一般來說會存放在非揮發性的記憶體中，如PROM或EEPROM，若是用EEPROM，則或許也能用線上燒錄。FPGA與CPLD都很適合用在特殊、特定的工作上，這是以此類晶片的技術本質來做為合適性的考量，然而有時在以經濟性為主的權衡評估下也適合使用FPGA、CPLD，或者有時也會以工程師的個人偏好與經驗來決定。其他型態的PLD.除上述外，也有許多可再組態配置的系統。例如：有些微處理器內除了一些固定性功效的電路外，其他部分的電路則可以依據微處理器所執行的程式碼而改變其功效。要想設計這種半變動式的系統，工程師需要學習新方法，甚至可能要用新的軟體工具才能夠開發。另外，現在銷售的PLD中，有的也會在晶片內提供一個具固定性功效的微處理器，然後微處理器的四周位置則設有許多可供組態配置的可程式邏輯，此種作法的好處是可以讓設計者更專注在為他的設計增加新的功能特點，而少去擔心「如何讓微處理器運作」之類的基礎性設計。維持PLD的電路組態與配置.在一個PLD內有邏輯部分也有記憶部分，記憶部分是用來儲存組態配置的程式內容，而儲存的方式多是存放在可供PLD使用的積體電路中，這包括：矽反熔絲主要是用於PAL內，方式上是在PAL內部可程式化的矩陣中，若期望矩陣中的某處、某一位置能夠形成連線連線，則對該位置的行、列兩端施壓一個燒錄燒寫電壓狀態，由這開路、閉路來形成邏輯的0、1儲存。不過一旦某位置被施加燒寫電壓而形成短路後，就無法在恢復成開路狀態，但其他仍保持開路的位置，仍可施壓電壓使其短路，不過整體來說矽反熔絲僅適合一次性的組態配置燒錄，一旦燒寫的內容有錯誤，該顆PAL即宣佈報廢。此外，之所以稱為「反熔絲」，理由是它的特性原理恰巧與一般日常所用的熔絲、保險絲相反，保險絲平時為短路，而被施加較高電壓時便會燒斷，成為永久性的斷路、開路，反熔絲卻是平常為斷開，施加電壓後反成為連線的短路、閉路。SRAM屬於揮發性的記憶體，這表示它在每次失去供電後就無法儲存資料，若有PLD使用SRAM做為其組態配置的儲存記憶到PLD內部的作法。EPROM的記憶晶格是一種MOS，這必須用強烈的紫外線對EPROM進行照射，以此強迫各閘極將原有的充電加以釋放，且時間必須長達數十分鐘才能全部抹除，否則會有抹除不完整的情形，此一抹除程式多是用所謂的「紫外線EPROM抹除盒」，英文稱EPROM eraser，即是一個小盒子內設有紫外線燈管，之後將EPROM放入盒內，再將盒子的電源開啟並點亮紫外線燈管，讓紫外線照射EPROM，以此來進行清除，也因為紫外線對人體有害，所以才要在密閉不透光的小盒子內進行照射，此外為了方便工程師使用，抹除盒通常還設有定時裝置，時間到後會自動提醒工程師已經達當初設定的照射時間。快閃記憶體具有非揮發性，即是斷電後仍可儲存記憶內容，且需要時它也隨時能再清除抹除。時至2005年，多數的CPLD都已使用電氣方式燒寫與電氣方式抹除，並以非揮發性方式來記憶。因為經過事實驗證，在太小的邏輯運用中用SRAM來儲存邏輯組態配置，則每次重新送電啟動就必須再次進行載入燒寫，如此實在過於麻煩，所以才會改成以非揮發方式來進行記憶儲存。此外，若是用EPROM方式進行儲存，且為了能夠再次抹除與再次燒寫，則PLD在其晶片封裝上就必須使用陶瓷材質的封裝，並在EPROM裸晶位置的上端設立石英材質的透光窗，好讓紫外線能夠照射入內，如此才能抹除EPROM裸晶上所儲存的組態配置資料，而這種封裝方式遠貴於一般的塑膠材質封裝。PLD的程式語言.以手工的方式來產生JEDEC檔過於複雜，所以多半改用電腦程式來產生，這種程式稱為「邏輯編譯器」，它與程式開發撰寫時所用的軟體編譯器相類似，而要編譯之前的原始程式碼也得用特定的程式語言來撰寫，此稱之為硬體描述語言（--硬體描述語言並非僅有一種，如ABEL、AHDL、Confluence、CUPL、HDCaml、JHDL、Lava、Lola、MyHDL、PALASM、RHDL等，但目前最具知名也最普遍使用的是VHDL與Verilog HDL。