FPGA是ASIC設計者的一道普通難題?
在實(shí)現器件屬性的同時(shí),FPGA 價(jià)格也在下降。Actel、Altera、Lattice、Quicklogic 和 Xilinx 都提供范圍廣泛的器件,從每只幾分錢(qián)的 CPLD(復雜可編程邏輯器件)到加密的非易失性 FPGA,還有高性能、高 LUT(查尋表)數、基于 SRAM 的 FPGA,它每片價(jià)格高達數千美元。
在 FPGA 業(yè)的早期,設計者主要將最昂貴和最高級的 FPGA 用于原計劃用 ASIC 實(shí)現的功能原型代碼,或用作系統設計的概念驗證。他們會(huì )為自己的 ASIC 創(chuàng )建邏輯,運行驗證,作 ASIC 設計分區,然后將這些分區編入一塊原型板上的多個(gè) FPGA 中(參考文獻 2)。今天的設計者仍然使用這種方法,不過(guò),由于 FPGA 各方面都有了提高,很多設計者甚至將最高級和最昂貴的 FPGA 用于生產(chǎn)部件。
我們很容易從一家 FPGA 供應商找到一位對 FPGA 贊不絕口的營(yíng)銷(xiāo)執行官,他會(huì )大談 FPGA 如何取代 ASIC 的份額,甚至是用于量產(chǎn)。設計者也正在逐步認識到 FPGA 確實(shí)是真正可行的量產(chǎn)載體,設計者應當不再簡(jiǎn)單地把 FPGA 看作一種 ASIC 原型工具。
Sanjay Singh 是惠普公司不間斷計算機部負責 ASIC/FPGA 設計的技術(shù)領(lǐng)導,他在職業(yè)生涯中設計過(guò) 10 種 FPGA 和 25 到 30 種 ASIC。他在 Tandem Computer 時(shí)開(kāi)始設計 ASIC,后該公司在 1996 年被 Compaq 收購,HP 又在 2002 年收購了 Compaq。Singh 說(shuō):“我開(kāi)始是用 0.5 微米為東芝不間斷計算機做ASIC?!爆F在,他的小組正在用 110 納米和 90 納米節點(diǎn)設計 ASIC,并且當需要時(shí),他的小組會(huì )用最高級的基于 SRAM的 FPGA(如 Altera 的 Stratix 級和 Xilinx Virtex 級器件)設計服務(wù)器應用。
Singh 說(shuō):“我們的系統基于 Intel 的 Itanium 服務(wù)器芯片,而我們設計的 FPGA 必須與內存、I/O 和處理器通信。我們的增值是在硬件上,因此必須完成通信功能、端口功能、數據完整性功能,以及復制功能。我們設計的 FPGA 一般是在處理器板上,終端系統價(jià)格將在一百萬(wàn)美元以上?!?BR>
另一方面,Ranjit Rozario 是新興通信公司 Sonoa Systems 的一名高級設計工程師。這家公司的 100 名員工主要由軟件工程師組成,Rozario 是其中少數硬件設計師之一。作為一名長(cháng)期以來(lái)從事 ASIC的設計者,Rozario 最近第一次嘗試了 FPGA 設計,最終選擇了一片 Virtex-5 LX 220。
Singh 和 Rozario 都認為,他們頻繁地采用 FPGA有多種原因,但指出了用 FPGA 設計的優(yōu)缺點(diǎn)。因此,當作這種轉變時(shí),ASIC 設計者必須考慮到多個(gè)因素,如設計規模、性能和功耗預算、PCB(印制電路板)要求、設計與驗證要求,以及 FPGA 工具的局限。SRAM FPGA 也會(huì )帶來(lái)新的挑戰,例如軟錯誤,這在 SRAM 結構中比標準單元更加常見(jiàn)。
為什么轉向 FPGA?
設計者選擇 FPGA 代替 ASIC 有幾個(gè)原因:FPGA 是可重新編程和現場(chǎng)升級的,設計周期短于 ASIC(圖 1);FPGA 對高成本、低批量應用有更好的價(jià)格;它們相對穩定,因此你可以避免重新投片、掩膜的費用,并免除購買(mǎi)DFM(可制造設計)工具。
但是 Singh 稱(chēng)他的小組使用 FPGA 主要有兩個(gè)原因。首先是 FPGA 能使他的小組將大量功能從 PCB 上拿掉,集成到一片 FPGA 中,增加速度性能和節省 PCB 空間。第二個(gè)也是最有說(shuō)服力的理由,Singh 說(shuō)使用 FPGA 只是因為 ASIC 的單位批量有時(shí)無(wú)法分擔掩膜、設計與工具的成本,并且最重要的還有風(fēng)險(圖 2)。Singh 說(shuō):“FPGA 已得到發(fā)展,在很多情況下,它們可以滿(mǎn)足你對性能和密度的要求。如果你正在設計一款中等規模的中等級別 ASIC,你就該問(wèn)問(wèn)自己:‘我要花費 2 百萬(wàn)到 3 百萬(wàn)美元去做一個(gè) 90 nm 或 65 nm 的 ASIC 嗎?或者我用 90 nm 或 65 nm FPGA 技術(shù)能否得到相同的好處?!?BR>
Singh 指出,對于采用新架構、不需要像以往那樣使用大量塊的設計,他的小組更傾向于 FPGA 而不是 ASIC。由于 FPGA 可以重新編程,小組就可以嘗試新的架構,當要修改時(shí)只需簡(jiǎn)單地重編程 FPGA。
與 Singh 的小組類(lèi)似,Rozario 的小組亦更愛(ài)用 FPGA而不是ASIC, 主要是出于成本因素。Rozario 說(shuō):“當你是一家新興公司并且資金緊張時(shí),首先要做的事就是尋找一種 FPGA,因為它的開(kāi)發(fā)成本低得多,并且沒(méi)有掩膜費用?!?BR>
Rozario 稱(chēng),他的公司希望在下一代產(chǎn)品中,用單片 FPGA 硬件實(shí)現很多軟件功能,以實(shí)現功能的集成和提速。他說(shuō):“我們開(kāi)始時(shí)確實(shí)不清楚要將哪些功能移到芯片中,哪些功能需要加速?!彼嗖A FPGA 的原因是小組在進(jìn)程后期需要加快速度時(shí),能夠在 FPGA 上增加或減少功能?!癋PGA 最棒的地方是你一直有改變的選擇權?!?BR>
盡管選擇轉用 FPGA 相當簡(jiǎn)單,但 Rozario 和 Singh 也指出用 FPGA 作設計需要經(jīng)過(guò)一些學(xué)習。兩個(gè)工程師都認為,你在決定采用 FPGA 后,下一步就是選擇一款正確的型號。
確定 FPGA 需求
設計者需要從多個(gè)供應商那里查看有哪些可用的 FPGA 系列產(chǎn)品,找到性能、功耗與密度的正確組合。但購買(mǎi)時(shí)要記?。寒攺?ASIC 轉向 FPGA 時(shí),設計者需要了解的第一件事是確定一個(gè)性能等級指標,你購買(mǎi)的器件密度應比自己需要的高 20%。
對于 Singh 迄今使用最多的 10 種 FPGA,他表示大多數選擇的因素是要符合公司對批量與性能的要求。他解釋說(shuō):“在所有這些情況下,我們都必須從頻率、I/O 時(shí)間和使用率各個(gè)方面對設計作全面分析”。他的小組使用了一種經(jīng)驗法則,即如果你正在使用設計總資源的 60% 至 75%,則從一種編譯到另一種編譯之間的小變動(dòng)就會(huì )給你一個(gè)滿(mǎn)足性能需求并在實(shí)驗室中完成的好機會(huì )。不過(guò)他也指出,如果你跨越了 85% 的使用界線(xiàn),就可能無(wú)法獲得需要的性能。
Singh 稱(chēng)他的小組設計出使用率高達 95% 的 FPGA,并達到了性能目標,但花費了大量工作。Singh 說(shuō):“你必須非常熟悉 FPGA 及其工作原理。在 ASIC 領(lǐng)域,你可以編寫(xiě) TCL(工具指令語(yǔ)言)原程序,并查詢(xún)數據庫以獲得你想要的東西,但在 FPGA 中,沒(méi)有這么成熟的工具。它們通常是基于 GUI (圖形用戶(hù)界面)的?!?BR>
Rozario 說(shuō),當他第一次在市場(chǎng)上尋找 FPGA 時(shí),打動(dòng)他的是供應商已經(jīng)為滿(mǎn)足多數性能和密度要求而改進(jìn)了器件。然而,FPGA 仍然沒(méi)有達到與 ASIC 相同的頂級速度或密度水平。如采用基于 SRAM 的最高級 FPGA,當按比例縮減功能,達到完全優(yōu)化時(shí),最高速度為 550 MHz,而 ASIC 的最高速度可以達到該性能的兩倍。據 Xilinx 說(shuō),Xilinx Virtex-5 是現有最大的商用 65 nm FPGA,它有 33 萬(wàn)個(gè)邏輯單元,或大約等效于 1200 萬(wàn)個(gè) ASIC 門(mén)。
Rozario 最初擔心 FPGA 的性能局限。但 FPGA 的速度與密度都令他吃驚。他警告說(shuō):“如果你過(guò)去習慣于設計 ASIC,那么在 FPGA 上肯定必須降低對性能的期望?!盧ozario 指出,在第一次設計時(shí),他的小組使用了 80% 的 Virtex-5 LX 220 資源,并達到了設計項目的性能目標。
FPGA 供應商今天通常會(huì )提供自己器件的專(zhuān)用型。一個(gè)額定的 FPGA 產(chǎn)品系列通常有一種傳統的門(mén)海 FPGA,以及一些面向特定市場(chǎng)的變型。有些器件面向網(wǎng)絡(luò )應用,包括有硬接線(xiàn)的 SERDES(串行器/解串器)核;其它器件面向通信應用,帶有硬接線(xiàn)的 DSP 塊。所有這些都含有相當大數量的內存。例如,Xilinx 為高性能邏輯提供 Virtex-5 LX,為帶串行連接的高性能邏輯提供 Virtex-5 LXT,而為帶串行連接的高性能 DSP 提供 Virtex-5 SXT,為帶串行連接的嵌入式處理提供 Virtex-5 FXT。
Singh 和 Rozario 都說(shuō),為你的應用選擇正確器件極其重要,因為帶有不需要硬接線(xiàn)核的 FPGA 會(huì )消耗資源,可能在設計周期后期成為布局的路障,妨礙實(shí)現自己的性能目標。
兩位設計者都沒(méi)有做過(guò)功耗是主要考慮因素的應用,但 Singh 稱(chēng)做低功耗設計的小組必須考慮 FPGA 的功耗問(wèn)題,雖然 FPGA 供應商已做出巨大努力來(lái)控制 90 nm 和 65 nm 節點(diǎn)下的總功耗與泄漏。
Singh 說(shuō),他的小組對功耗問(wèn)題采取的唯一步驟是關(guān)斷采用時(shí)鐘門(mén)控技術(shù)的硬接線(xiàn) 5 Gbps SERDES。他說(shuō):“新型 FPGA 能非常好地處理低功耗問(wèn)題,并且你可以用很多技術(shù)來(lái)降低功耗,但是我們還沒(méi)有使用到它們?!碑斎?,隨著(zhù)服務(wù)器應用越來(lái)越把功耗作為一種賣(mài)點(diǎn),情況也會(huì )發(fā)生變化。
相同性能與節點(diǎn)工藝的 ASIC 功耗一般比 FPGA 小得多,不過(guò) FPGA 供應商們正致力于取得這方面的進(jìn)展。Xilinx 與 Altera 稱(chēng)已實(shí)現了穩定的泄漏功率,因此它們的 65nm 器件的泄漏功率不超過(guò) 90 nm 器件的水平。
適合系統需求
除了確保 FPGA 能滿(mǎn)足性能、密度和功耗目標以外,設計者還必須考慮 FPGA 對 IC 封裝和 PCB 的影響。FPGA 芯片通常在 PCB 上占用面積較大,它們密集的 I/O 一般也需要設計者為 PCB 增加更多層數,以處理這些 I/O 的走線(xiàn)。它們還需要更先進(jìn)的封裝和 PCB 信號完整性分析及足夠的空間,用于容納為 FPGA 正確供電的額外電源電路。所有這些要求都會(huì )增加設計周期和終端產(chǎn)品的成本。
Rozario 指出,對于這個(gè)設計,該小組沒(méi)有其它運行在 1V 的器件,因此,為適應 FPGA,必須要在 PCB 上多放一個(gè)電源塊,為器件供電。他提到,這個(gè)步驟沒(méi)有問(wèn)題,因為 PCB 比其上的 FPGA 大一點(diǎn)。
除了選擇一款滿(mǎn)足系統性能、功耗和密度目標的器件,你還要查看 FPGA 供應商與獨立 EDA 供應商提供哪種工具(圖 3)。多年前,Altera 的 Quartus 開(kāi)發(fā)套件出現了可用性問(wèn)題,遭遇了一個(gè)相當大的挫折。該公司已糾正了這些問(wèn)題,但用戶(hù)必須留意工具的可用性與質(zhì)量。
工具與設計差異
Singh 和 Rozario 都說(shuō),盡管 FPGA 供應商的工具非常便于按鈕式使用,并且如果你購買(mǎi)足夠多的硅片,通常還是免費的,但它們并不比 ASIC 工具更簡(jiǎn)便。即你不能像用 ASIC 工具那樣使用它們,完成定制的任務(wù)。Singh 特別強調,FPGA 供應商提供了相當不錯的編譯器或綜合技術(shù),但 FPGA 供應商的綜合工具在設計實(shí)現時(shí)無(wú)法達到商用 FPGA 綜合工具的效率,如 Synplicity、Mentor Graphics 和 Magma Design Automation 公司的產(chǎn)品。有些 FPGA 供應商做商用 EDA 工具的 OEM,為客戶(hù)提供這些工具的一種“簡(jiǎn)約”配置,如只面向該供應商的 FPGA,只需少許價(jià)格或完全免費。多數情況下,這些工具要好于 FPGA 供應商自己的工具,但缺乏 EDA 供應商全價(jià)商用版的特性。另外,對于 FPGA 領(lǐng)域中的大多數部件,用戶(hù)只能使用 FPGA 供應商自己開(kāi)發(fā)的物理設計工具,而沒(méi)有其它選擇。FPGA 供應商自己開(kāi)發(fā)的物理設計工具能幫助用戶(hù)發(fā)揮供應商的 FPGA 架構的優(yōu)點(diǎn)。但 Singh 和 Rozario 也說(shuō),與 ASIC 綜合一樣,布局工具很少像相應的 ASIC 工具那么復雜。
Singh 和 Rozario 稱(chēng),FPGA 的布局很難處理,因為很多 FPGA 有固定的宏,如 SERDES、RAM、PLL(鎖相環(huán))和 DSP 內核,有些還有固定的微處理器塊。
例如,Altera 提供的 Stratix 和 Stratix GX 系列。Singh 稱(chēng)這兩款 FPGA 相似,但 GX 包含硬接線(xiàn)的 SERDES 塊。他解釋說(shuō),當定位 RAM、PLL 和專(zhuān)用的 I/O 塊時(shí),你需要作自下而上的設計:獲得出腳、封裝和片芯上的宏,然后作規劃和實(shí)現。I/O 技術(shù)的挑戰、DDR 的 SSTL(短分支串行端結邏輯),以及 PCI 的 HSTL(高速收發(fā)器邏輯),所有這些都使 Singh 明白了事先努力的重要性,了解各款器件提供的功能以及設計時(shí)需做的工作。
Singh 還指出,雖然 ASIC 有多個(gè)時(shí)鐘資源,但 FPGA 有更多的限制,通常有全局時(shí)鐘。Singh 說(shuō):“如果你正在考慮將一個(gè) ASIC 設計移植到 FPGA 上,但它包含多個(gè)時(shí)鐘域(尤其是大的時(shí)鐘域),那么你必須與 FPGA 供應商合作,以確定該器件是否能承擔你的設計?!背巳謺r(shí)鐘以外,FPGA 也有局部時(shí)鐘。但 Singh 警告說(shuō),這些時(shí)鐘僅限于一定數的象限,因此要特別注意你的邏輯及其時(shí)鐘。Singh 的設計采用了多個(gè)時(shí)鐘域,通常有 15 至 20 個(gè), FPGA 的實(shí)現需要大量工作。他解釋說(shuō):“用 ASIC 時(shí),你可以調整自己的 I/O。FPGA 的 I/O 很復雜,調整要占用相當多的開(kāi)銷(xiāo),因為它很難協(xié)調轉換速率、驅動(dòng)強度以及阻抗?!睋?Singh 說(shuō),如果你未能在設計開(kāi)始時(shí)正確地調整好 I/O,則信號完整性和時(shí)鐘都會(huì )成為大問(wèn)題。
Rozario 的小組在布局時(shí)遇到了類(lèi)似的問(wèn)題。但由于他的設計里時(shí)鐘域相對較少,時(shí)鐘結構比較簡(jiǎn)單,足以滿(mǎn)足他的設計。Rozario 說(shuō):“FPGA 結構中帶有內置時(shí)鐘,這樣時(shí)鐘均衡要比 ASIC 簡(jiǎn)單得多。你不必擔心 H 樹(shù)信號完整性,因為 FPGA 架構已注意了所有時(shí)鐘問(wèn)題,每個(gè)區域內你都有大量的時(shí)鐘?!?BR>
Rozario 警告說(shuō),規劃很差的布局會(huì )造成時(shí)序問(wèn)題?!坝行┹^大的 FPGA 有你不需要的功能,你得花精力處理它們。我們使用的器件有硬接線(xiàn) DSP 功能。我們在設計中并不使用 DSP,但可能在下個(gè)設計中用到它?!币坏┧男〗M建立了最佳布局,Xilinx ICE(在線(xiàn)仿真器)工具就完成了一件“相當不錯的工作”,使設計適應于架構。開(kāi)始時(shí),他的小組會(huì )對每個(gè) FPGA 子模塊作平面規劃,使之達到最高層級,然后為整個(gè)芯片重復這種方法。不過(guò),ICE 應用工程師警告說(shuō)該小組的做法違反了他們的建議,要求小組采用自動(dòng)化工具。Rozario 表示懷疑,但發(fā)現兩種方法的結果是相似的。
盡管 FPGA 工具較 ASIC 設計工具缺少定制能力,Singh 仍鼓勵 ASIC 設計者轉向 FPGA 設計,以利用 FPGA 供應商的免費工具、IP(知識產(chǎn)權)產(chǎn)品,以及客戶(hù)支持。他舉出了一系列好處,包括供應商良好的程序管理、架構、以及懂得 FPGA 的設計專(zhuān)家,還有現場(chǎng)支持。他發(fā)現這些工具對基礎工作很有價(jià)值,如平面規劃和信號完整性。
驗證問(wèn)題
當 FPGA 初次進(jìn)入市場(chǎng)時(shí),最大的賣(mài)點(diǎn)之一是設計者可對它們編程,然后直接在一個(gè)運行系統原型的板上作測試,從而跳過(guò)了基于仿真的邏輯驗證。很多 FPGA 老手仍然使用這種方案。但 Singh 和 Rozario 認為,即使是現在的中規模FPGA 一般也太大太復雜,不能做簡(jiǎn)單編程、板上運行,以及系統測試與起動(dòng)期間的調試。
很多有經(jīng)驗的 FPGA 設計者告訴 Rozario 說(shuō),他們設計芯片會(huì )跳過(guò)邏輯驗證步驟,然后在實(shí)驗室中測試芯片。Rozario 并不支持這種方法,原因是,盡管他的芯片外部有標準的總線(xiàn)接口,但內部很復雜,在看不到芯片內部的情況下作調試相當困難。他說(shuō):“有了波形就容易多了,所以我們堅持 ASIC 驗證方法。我們仍會(huì )在實(shí)驗室作調試,但我們嘗試在進(jìn)實(shí)驗室以前解決掉大多數問(wèn)題?!?BR>
同樣,Singh 稱(chēng)由于自己的小組只使用最大的 FPGA,它對 FPGA 使用了與 ASIC 相同的驗證方法,用一個(gè)測試平臺對每個(gè)設計作徹底仿真、調試和時(shí)序分析,。
Singh 說(shuō):“我們要做功能仿真、門(mén)級仿真和動(dòng)態(tài)仿真,將門(mén)與寄生參數送回到功能仿真。然后,我們會(huì )做一次多個(gè)角度和模式的全面靜態(tài)時(shí)序分析。一旦我們獲得了完美的結果,就將其裝到電路板上,上電起動(dòng)?!彼姓J,第一次使用這種方法時(shí),一定會(huì )做一些重復工作,然后它就會(huì )成為一種標準的過(guò)程,后面的項目就比較容易了。這種方法一般都會(huì )給 Singh 帶來(lái)滿(mǎn)意的結果。FPGA 供應商為他們的軟硬塊、SERDES、PLL 和其它宏提供功能強大的仿真模型,有助于小組的驗證工作。
軟錯誤
除了 ASIC 與 FPGA 設計之間的微妙差異以外,基于 SRAM 的 FPGA 亦給用戶(hù)帶來(lái)了一個(gè)新的挑戰:軟錯誤。軟錯誤出現在一個(gè)隨機大氣中子與 IC 碰撞時(shí),它會(huì )造成一個(gè)位的錯誤,或有些情況下產(chǎn)生一個(gè)虛假信號(參考文獻 3)。標準單元器件一般不易受軟錯誤影響,但 SRAM 結構、邏輯及其它類(lèi)型存儲器則相反。Xilinx、Altera 和 Lattice 這些公司的最高性能 FPGA 都建立在 SRAM 上。
Singh 表示,他的小組也開(kāi)始頻繁地遇到軟錯誤。因此他警告說(shuō),當挑選器件時(shí),你需要查看它的可靠性研究。并且,即使供應商聲稱(chēng)該 FPGA 是可靠的,你也需要在自己設計中增加一些 ECC(糾錯編碼)?;?SRAM 的器件需要一種 ECC 配置,以確保不會(huì )有虛假錯誤,即中子撞擊所造成的交換位。
如果設計中有用于檢查配置 RAM 完整性的控制電路,則每當你的 RAM 改變配置時(shí),差不多都會(huì )遇到一個(gè)軟錯誤。軟錯誤在 ASIC 設計中不常見(jiàn),但它們能夠影響 FPGA 中所有基于 SRAM 的部分,包括基于 SRAM 的邏輯結構和片上 SRAM 塊。Singh 說(shuō):“由于晶體管越來(lái)越小,電壓不斷下降,你無(wú)法阻止它,你總會(huì )被一粒中子擊中?!?
所幸,Actel 和 Lattice 等供應商已經(jīng)解答了軟錯誤問(wèn)題,因為它們可提供基于快閃的非易失性 FPGA。這些器件的速度和密度都比不上 SRAM 器件,但它們能夠抵制軟錯誤。非易失性器件正在日益普及,因為它們?yōu)檫M(jìn)入全球市場(chǎng)營(yíng)銷(xiāo)的企業(yè)提供了更佳的安全性。
面對不斷上升的 ASIC 掩膜、開(kāi)發(fā)與工具成本,FPGA 供應商向設計人員展示了一種切實(shí)可行的選擇,可以快速使設計實(shí)用化。但是,在設計者跨出這一步之前,他們需要研究 FPGA,并權衡每家供應商的架構、設計工具以及技術(shù)支持。設計者還必須了解 FPGA 架構的局限性,并提高相應的設計技能。
更多信息
Actel: www.actel.com
Altera: ww w.altera.com
Hewlett-Packard: www.hp.com
Intel: www.intel.com
Lattice Semiconductor: www.latticesemi.com
Magma DesignAutomation: www.magma-da.com
Mentor Graphics: www.mentor.com
Quicklogic: www.quicklogic.com
Sonoa Systems: www.sonoasystems.com
Synplicity: www.synplicity.com
Toshiba: www.toshiba.com
Xilinx: www.xilinx.com
參考文獻
1. Santarini, Michael, “FPGAs balance lower power, smaller nodes drip by drip,” EDN, June 8, 2006, pg 58.
2. Santarini, Michael, “ASIC prototyping: make versus buy,” EDN, Nov 21, 2005, pg 30.
3. Santarini, Michael, “Cosmic radiation comes to ASIC and SOC design,” EDN, May 12, 2005, pg 46.
評論