可編程邏輯器件的應用日益普及,但是在工程師當中,仍然存在一些模糊的概念。本文詳細介紹了可編程器件、可重編程器件和可重配置器件的基本概念,它對正確選擇器件很有必要。
目前,業(yè)界認同這樣的觀點:在一段時間內ASIC仍將主宰高端芯片設計,盡管雄心勃勃的可編程邏輯器件(PLD)正在步步緊逼,但是尚難以取代ASIC占領尖端產品市場。
Xilinx有限公司戰(zhàn)略產品經理Raj Patel表示,隨著FPGA經濟的發(fā)展,將出現一輪強勁的FPGA沖擊波。然而,ASIC并不甘心很快退出市場。用戶定制產品將繼續(xù)在多方面滿足用戶的需求,并不斷為那些尋求專用解決方案的用戶提供高效益的戰(zhàn)略支持。
Patel說,PLD銷售商并沒有想過在市場上取代ASIC。但目前在這個變幻莫測的市場中,半導體新產品不斷涌現和消亡,當人們需要最新最好的產品時,PLD就成為那些面對無法預測前景的產品的最佳解決方案。Patel補充道:“您無需刻意迎合ASIC解決方案,因為您要么錯過市場機會,要么對產品的前景了如指掌。”
原因很簡單,片上器件的尺寸正在縮減,金屬層數目則繼續(xù)增加。Patel指出,所有這些條件都有利于PLD/FPGA在市場上的普及。此外,因特網發(fā)展的趨勢也有利于FPGA,所有這些門電路能用許多線快速輕松地連接起來,有助于加速芯片實現過程并增強性能。
目前,ASIC的容量越來越大。十年前,其規(guī)模為每平方英寸10,000個門電路;現在密度已達到平均每平方英寸1百萬個門電路。隨著密度的不斷提高,芯片顯然受到引腳的限制。片上芯片很多,但接入內核的引腳數目是有限的。Patel說:“封裝更多的晶體管和金屬層是一回事,而將它們連接成有用的芯片卻完全是另一回事?!?
然而,如果選用FPGA/PLD,就不存在這樣的限制,因為現在可達到的金屬層數目增強了產品的優(yōu)勢。當片上器件可編程時,設計能力就可在工廠或現場得到充分利用。對于FPGA, Patel指出,“即便將來能夠集成50億個晶體管,也可用可編程邏輯器件來實現所需的完整芯片?!?
對于PLD的熱衷者,還有更多的好消息。PLD將為系統級設計提供有利條件,因為片上系統I/O具有豐富的可用功能,這一點尤為重要,因此許多設計從一開始就需要網絡結構。該結構對數據帶寬的需求非常大,這正是PLD領域需要與新興產品不斷增長的功能完美匹配之處。
另外, PLD是原型設計中的佼佼者,現在靈活性和適應性更強。Patel說:“微處理器終歸是微處理器,而不是邏輯或狀態(tài)機。類似地,內存總是內存?!彼J為,盡管當前可編程器件別名很多如FPGA、PLD等,現在情況正在發(fā)生變化。FPGA將成為設計平臺,它們將使微處理器、DSP、互連電容和開關構成的系統變?yōu)槿艿耐ㄓ闷脚_,從而消除設計中的差異。
如同許多其它的技術領域一樣,可編程器件的不少術語很容易產生混淆??删幊唐骷?、可重編程器件以及可重配置器件有何區(qū)別?Patel說:“可編程器件要么是一次可編程,要么在現場和工廠可編程數次。對于可重配置器件,不僅可編程,還具有其它功能。該器件在功能系統中還具有重編程功能,此即為可重配置器件成為真正‘人見人愛器件’的原因。”
換言之,可重配置器件將具備人格化重編程,并無須完全關閉其駐留的系統。這與可編程器件相比大不相同,后者在對新要求重編程之前,總要求系統完全關閉。
Adaptive Silicon公司營銷副總裁Zak認為,可編程芯片是能編程實現不同功能的芯片,它可實現遠程編程以執(zhí)行不同功能的芯片??芍嘏渲眯酒且环N設計概念,通常視為能實時重配置的可重編程設計。根據環(huán)境的變化,可重配置芯片因此具有在不同場合應用、及時執(zhí)行不同或多種功能的特性。Zak說,可重配置器件只是可重編程器件的子集,而可重編程器件是可編程器件的子集。
Zak指出,值得注意的是,某些FPGA是可重編程的,而另一些是不可重編程的。因此,目前區(qū)別這些器件確實相當重要,特別是在對市場上的各種產品進行分類時。以下是本文列出的若干容易引起混淆的概念。
固定功能器件
通常指為某種目的加以硬連接,且其功能不可通過軟件程序更改的邏輯器件。固定功能有時應用于ASIC,但自從現在某些ASIC擁有一定的可編程能力后,它們就不總是具有完全的固定功能。目前該術語的一種普遍用法是 “固定功能加速器”,這指的是用以增加可編程器件的特定硬連接功能。例如,蜂窩電話通常具有應用“固定功能計算器”的核心CPU,以增強其從事特定任務的性能。
可編程器件
即部分功能可由軟件程序更改的器件。該術語被廣泛地用來描述各層次的可編程器件,因此很容易產生混淆。例如,PAL自稱是“可編程”器件,但實際上其所具有的可編程特性與微處理器的可編程特性大相徑庭。PAL通常只在安裝進入系統之前進行一次編程,并且對于所有的實際應用,PAL在系統中具有固定的功能。而微處理器是可編程領域的另一極端,因為微處理器通常擁有指令內存、數據內存和其他資源,所有這些資源都可被軟件程序員用來不斷改變其所駐留的器件的功能特性。除PAL和微處理器之外,存在許多介于兩者之間并且具有不同層次可編程性和多功能性的器件。例如,某些銷售商提供了一次性可編程(OTP)電路,如PROM、EPROM,甚至像上述PAL示例中的微控制器,為用戶提供了一次編程機會。但是這些器件一經編程,軟件和功能就無法再次更改。
可重編程器件
盡管該術語表面看來具有比“可編程器件”更多的功能,但實際上并非如此??芍鼐幊烫匦酝ǔV傅氖窃谟谰冒惭b到終端系統之前可被編程多次的器件。但這些系統不能像微處理器那樣永久可被重編程??芍鼐幊唐骷傅氖穷愃齐娮涌删幊讨蛔x存儲器(EEPROM)的器件,以區(qū)別于EPROM和PAL這樣的同類產品。
可重配置器件
通常用來描述現場可編程的門陣列(FPGA)或可重配置的半導體IP。“可重配置器件”本意指的是硬件FPGA自身可重配置為用戶期望的任意電路的硬件。例如從理論上說,電路在駐留系統期間,可隨時改變成全新的硬件配置,或者作為固定功能電路,或者作為運行軟件的可編程微處理器??芍嘏渲闷骷试S具備比可編程微處理器更靈活的特性,因為該器件并不拘泥于微處理器具備的原始指令集。
可復用器件
該術語通常指的是半導體IP,并包含在芯片設計中具有某種程度可復用特性的IP核或功能塊。例如,某些IP銷售商以“軟核”的形式提供IP。這意味著理論上IP能被合成并應用于跨越多個工廠工藝參數的許多不同芯片設計,這使得用戶可以優(yōu)化IP的價格、性能、功耗及上市銷售時間。這與那些只為特定工廠的工藝提供特定優(yōu)化應用參數的“硬核”形成了鮮明對比。但是,可復用這個術語使用得實在太過廣泛,因此無法保持恒定而精確的含義。
可升級器件
這是一個使用過于廣泛而無法給出精確含義的術語,該術語用來描述可被一次次重復使用的技術功能。可升級通常指的是技術跨越產品性能范圍、功耗極限、價格范圍所具備的升級技術功能。