新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > FPGA是ASIC設計者的一道普通難題?

FPGA是ASIC設計者的一道普通難題?

作者: 時間:2007-10-16 來源:網(wǎng)絡 收藏
過去 10 年來,F(xiàn)PGA 供應商在克服 FPGA 缺點方面取得了很大的進步,并從 ASIC 市場贏得了份額。在 90 年代末,F(xiàn)PGA 供應商增加了器件的,以抗衡中等規(guī)模 ASIC。然后在大約 2001 年,F(xiàn)PGA 供應商改進了器件的性能,與中等規(guī)模的 ASIC 競爭。盡管 FPGA 的功耗仍然遠遠高于與性能相當?shù)?ASIC,但去年,F(xiàn)PGA 供應商邁出了一大步,穩(wěn)定了 FPGA 的功耗(參考文獻 1)。

在實現(xiàn)器件屬性的同時,F(xiàn)PGA 價格也在下降。Actel、Altera、Lattice、Quicklogic 和 Xilinx 都提供范圍廣泛的器件,從每只幾分錢的 CPLD(復雜可編程邏輯器件)到的非易失性 FPGA,還有高性能、高 LUT(查尋表)數(shù)、基于 SRAM 的 FPGA,它每片價格高達數(shù)千美元。

在 FPGA 業(yè)的早期,設計者主要將最昂貴和最高級的 FPGA 用于原計劃用 ASIC 實現(xiàn)的功能原型,或用作系統(tǒng)設計的概念驗證。他們會為自己的 ASIC 創(chuàng)建邏輯,運行驗證,作 ASIC 設計分區(qū),然后將這些分區(qū)編入一塊原型板上的多個 FPGA 中(參考文獻 2)。今天的設計者仍然使用這種方法,不過,由于 FPGA 各方面都有了提高,很多設計者甚至將最高級和最昂貴的 FPGA 用于生產(chǎn)部件。

我們很容易從一家 FPGA 供應商找到一位對 FPGA 贊不絕口的營銷執(zhí)行官,他會大談 FPGA 如何取代 ASIC 的份額,甚至是用于量產(chǎn)。設計者也正在逐步認識到 FPGA 確實是真正可行的量產(chǎn)載體,設計者應當不再簡單地把 FPGA 看作一種 ASIC 原型工具。

Sanjay Singh 是惠普公司不間斷計算機部負責 ASIC/FPGA 設計的技術領導,他在職業(yè)生涯中設計過 10 種 FPGA 和 25 到 30 種 ASIC。他在 Tandem Computer 時開始設計 ASIC,后該公司在 1996 年被 Compaq 收購,HP 又在 2002 年收購了 Compaq。Singh 說:“我開始是用 0.5 微米為東芝不間斷計算機做ASIC?!爆F(xiàn)在,他的小組正在用 110 納米和 90 納米節(jié)點設計 ASIC,并且當需要時,他的小組會用最高級的基于 SRAM的 FPGA(如 Altera 的 Stratix 級和 Xilinx Virtex 級器件)設計服務器應用。

Singh 說:“我們的系統(tǒng)基于 Intel 的 Itanium 服務器芯片,而我們設計的 FPGA 必須與內(nèi)存、I/O 和處理器通信。我們的增值是在硬件上,因此必須完成通信功能、端口功能、數(shù)據(jù)完整性功能,以及復制功能。我們設計的 FPGA 一般是在處理器板上,終端系統(tǒng)價格將在一百萬美元以上?!?BR>
另一方面,Ranjit Rozario 是新興通信公司 Sonoa Systems 的一名高級設計工程師。這家公司的 100 名員工主要由軟件工程師組成,Rozario 是其中少數(shù)硬件設計師之一。作為一名長期以來從事 ASIC的設計者,Rozario 最近第一次嘗試了 FPGA 設計,最終選擇了一片 Virtex-5 LX 220。

Singh 和 Rozario 都認為,他們頻繁地采用 FPGA有多種原因,但指出了用 FPGA 設計的優(yōu)缺點。因此,當作這種轉變時,ASIC 設計者必須考慮到多個因素,如設計規(guī)模、性能和功耗預算、PCB(印制電路板)要求、設計與驗證要求,以及 FPGA 工具的局限。SRAM FPGA 也會帶來新的挑戰(zhàn),例如軟錯誤,這在 SRAM 結構中比標準單元更加常見。

為什么轉向 FPGA?


設計者選擇 FPGA 代替 ASIC 有幾個原因:FPGA 是可重新編程和現(xiàn)場升級的,設計周期短于 ASIC(圖 1);FPGA 對高成本、低批量應用有更好的價格;它們相對穩(wěn)定,因此你可以避免重新投片、掩膜的費用,并免除購買DFM(可制造設計)工具。

但是 Singh 稱他的小組使用 FPGA 主要有兩個原因。首先是 FPGA 能使他的小組將大量功能從 PCB 上拿掉,集成到一片 FPGA 中,增加速度性能和節(jié)省 PCB 空間。第二個也是最有說服力的理由,Singh 說使用 FPGA 只是因為 ASIC 的單位批量有時無法分擔掩膜、設計與工具的成本,并且最重要的還有風險(圖 2)。Singh 說:“FPGA 已得到發(fā)展,在很多情況下,它們可以滿足你對性能和的要求。如果你正在設計一款中等規(guī)模的中等級別 ASIC,你就該問問自己:‘我要花費 2 百萬到 3 百萬美元去做一個 90 nm 或 65 nm 的 ASIC 嗎?或者我用 90 nm 或 65 nm FPGA 技術能否得到相同的好處?!?BR>
Singh 指出,對于采用新架構、不需要像以往那樣使用大量塊的設計,他的小組更傾向于 FPGA 而不是 ASIC。由于 FPGA 可以重新編程,小組就可以嘗試新的架構,當要修改時只需簡單地重編程 FPGA。

與 Singh 的小組類似,Rozario 的小組亦更愛用 FPGA而不是ASIC, 主要是出于成本因素。Rozario 說:“當你是一家新興公司并且資金緊張時,首先要做的事就是尋找一種 FPGA,因為它的開發(fā)成本低得多,并且沒有掩膜費用?!?BR>
Rozario 稱,他的公司希望在下一代產(chǎn)品中,用單片 FPGA 硬件實現(xiàn)很多軟件功能,以實現(xiàn)功能的集成和提速。他說:“我們開始時確實不清楚要將哪些功能移到芯片中,哪些功能需要加速。”他青睞 FPGA 的原因是小組在進程后期需要加快速度時,能夠在 FPGA 上增加或減少功能?!癋PGA 最棒的地方是你一直有改變的選擇權?!?BR>
盡管選擇轉用 FPGA 相當簡單,但 Rozario 和 Singh 也指出用 FPGA 作設計需要經(jīng)過一些學習。兩個工程師都認為,你在決定采用 FPGA 后,下一步就是選擇一款正確的型號。

確定 FPGA 需求

設計者需要從多個供應商那里查看有哪些可用的 FPGA 系列產(chǎn)品,找到性能、功耗與的正確組合。但購買時要記住:當從 ASIC 轉向 FPGA 時,設計者需要了解的第一件事是確定一個性能等級指標,你購買的器件密度應比自己需要的高 20%。

對于 Singh 迄今使用最多的 10 種 FPGA,他表示大多數(shù)選擇的因素是要符合公司對批量與性能的要求。他解釋說:“在所有這些情況下,我們都必須從頻率、I/O 時間和使用率各個方面對設計作全面分析”。他的小組使用了一種經(jīng)驗法則,即如果你正在使用設計總資源的 60% 至 75%,則從一種編譯到另一種編譯之間的小變動就會給你一個滿足性能需求并在實驗室中完成的好機會。不過他也指出,如果你跨越了 85% 的使用界線,就可能無法獲得需要的性能。

Singh 稱他的小組設計出使用率高達 95% 的 FPGA,并達到了性能目標,但花費了大量工作。Singh 說:“你必須非常熟悉 FPGA 及其工作原理。在 ASIC 領域,你可以編寫 TCL(工具指令語言)原程序,并查詢數(shù)據(jù)庫以獲得你想要的東西,但在 FPGA 中,沒有這么成熟的工具。它們通常是基于 GUI (圖形用戶界面)的?!?BR>
Rozario 說,當他第一次在市場上尋找 FPGA 時,打動他的是供應商已經(jīng)為滿足多數(shù)性能和密度要求而改進了器件。然而,F(xiàn)PGA 仍然沒有達到與 ASIC 相同的頂級速度或密度水平。如采用基于 SRAM 的最高級 FPGA,當按比例縮減功能,達到完全優(yōu)化時,最高速度為 550 MHz,而 ASIC 的最高速度可以達到該性能的兩倍。據(jù) Xilinx 說,Xilinx Virtex-5 是現(xiàn)有最大的商用 65 nm FPGA,它有 33 萬個邏輯單元,或大約等效于 1200 萬個 ASIC 門。

Rozario 最初擔心 FPGA 的性能局限。但 FPGA 的速度與密度都令他吃驚。他警告說:“如果你過去習慣于設計 ASIC,那么在 FPGA 上肯定必須降低對性能的期望。”Rozario 指出,在第一次設計時,他的小組使用了 80% 的 Virtex-5 LX 220 資源,并達到了設計項目的性能目標。

FPGA 供應商今天通常會提供自己器件的專用型。一個額定的 FPGA 產(chǎn)品系列通常有一種傳統(tǒng)的門海 FPGA,以及一些面向特定市場的變型。有些器件面向網(wǎng)絡應用,包括有硬接線的 SERDES(串行器/解串器)核;其它器件面向通信應用,帶有硬接線的 DSP 塊。所有這些都含有相當大數(shù)量的內(nèi)存。例如,Xilinx 為高性能邏輯提供 Virtex-5 LX,為帶串行連接的高性能邏輯提供 Virtex-5 LXT,而為帶串行連接的高性能 DSP 提供 Virtex-5 SXT,為帶串行連接的嵌入式處理提供 Virtex-5 FXT。

Singh 和 Rozario 都說,為你的應用選擇正確器件極其重要,因為帶有不需要硬接線核的 FPGA 會消耗資源,可能在設計周期后期成為布局的路障,妨礙實現(xiàn)自己的性能目標。

兩位設計者都沒有做過功耗是主要考慮因素的應用,但 Singh 稱做低功耗設計的小組必須考慮 FPGA 的功耗問題,雖然 FPGA 供應商已做出巨大努力來控制 90 nm 和 65 nm 節(jié)點下的總功耗與泄漏。

Singh 說,他的小組對功耗問題采取的唯一步驟是關斷采用時鐘門控技術的硬接線 5 Gbps SERDES。他說:“新型 FPGA 能非常好地處理低功耗問題,并且你可以用很多技術來降低功耗,但是我們還沒有使用到它們?!碑斎?,隨著服務器應用越來越把功耗作為一種賣點,情況也會發(fā)生變化。

相同性能與節(jié)點工藝的 ASIC 功耗一般比 FPGA 小得多,不過 FPGA 供應商們正致力于取得這方面的進展。Xilinx 與 Altera 稱已實現(xiàn)了穩(wěn)定的泄漏功率,因此它們的 65nm 器件的泄漏功率不超過 90 nm 器件的水平。

適合系統(tǒng)需求

除了確保 FPGA 能滿足性能、密度和功耗目標以外,設計者還必須考慮 FPGA 對 IC 封裝和 PCB 的影響。FPGA 芯片通常在 PCB 上占用面積較大,它們密集的 I/O 一般也需要設計者為 PCB 增加更多層數(shù),以處理這些 I/O 的走線。它們還需要更先進的封裝和 PCB 信號完整性分析及足夠的空間,用于容納為 FPGA 正確供電的額外電源電路。所有這些要求都會增加設計周期和終端產(chǎn)品的成本。

Rozario 指出,對于這個設計,該小組沒有其它運行在 1V 的器件,因此,為適應 FPGA,必須要在 PCB 上多放一個電源塊,為器件供電。他提到,這個步驟沒有問題,因為 PCB 比其上的 FPGA 大一點。

除了選擇一款滿足系統(tǒng)性能、功耗和密度目標的器件,你還要查看 FPGA 供應商與獨立 EDA 供應商提供哪種工具(圖 3)。多年前,Altera 的 Quartus 開發(fā)套件出現(xiàn)了可用性問題,遭遇了一個相當大的挫折。該公司已糾正了這些問題,但用戶必須留意工具的可用性與質量。

工具與設計差異


Singh 和 Rozario 都說,盡管 FPGA 供應商的工具非常便于按鈕式使用,并且如果你購買足夠多的硅片,通常還是免費的,但它們并不比 ASIC 工具更簡便。即你不能像用 ASIC 工具那樣使用它們,完成定制的任務。Singh 特別強調(diào),F(xiàn)PGA 供應商提供了相當不錯的編譯器或綜合技術,但 FPGA 供應商的綜合工具在設計實現(xiàn)時無法達到商用 FPGA 綜合工具的效率,如 Synplicity、Mentor Graphics 和 Magma Design Automation 公司的產(chǎn)品。有些 FPGA 供應商做商用 EDA 工具的 OEM,為客戶提供這些工具的一種“簡約”配置,如只面向該供應商的 FPGA,只需少許價格或完全免費。多數(shù)情況下,這些工具要好于 FPGA 供應商自己的工具,但缺乏 EDA 供應商全價商用版的特性。另外,對于 FPGA 領域中的大多數(shù)部件,用戶只能使用 FPGA 供應商自己開發(fā)的物理設計工具,而沒有其它選擇。FPGA 供應商自己開發(fā)的物理設計工具能幫助用戶發(fā)揮供應商的 FPGA 架構的優(yōu)點。但 Singh 和 Rozario 也說,與 ASIC 綜合一樣,布局工具很少像相應的 ASIC 工具那么復雜。

Singh 和 Rozario 稱,F(xiàn)PGA 的布局很難處理,因為很多 FPGA 有固定的宏,如 SERDES、RAM、PLL(鎖相環(huán))和 DSP 內(nèi)核,有些還有固定的微處理器塊。

例如,Altera 提供的 Stratix 和 Stratix GX 系列。Singh 稱這兩款 FPGA 相似,但 GX 包含硬接線的 SERDES 塊。他解釋說,當定位 RAM、PLL 和專用的 I/O 塊時,你需要作自下而上的設計:獲得出腳、封裝和片芯上的宏,然后作規(guī)劃和實現(xiàn)。I/O 技術的挑戰(zhàn)、DDR 的 SSTL(短分支串行端結邏輯),以及 PCI 的 HSTL(高速收發(fā)器邏輯),所有這些都使 Singh 明白了事先努力的重要性,了解各款器件提供的功能以及設計時需做的工作。

Singh 還指出,雖然 ASIC 有多個時鐘資源,但 FPGA 有更多的限制,通常有全局時鐘。Singh 說:“如果你正在考慮將一個 ASIC 設計移植到 FPGA 上,但它包含多個時鐘域(尤其是大的時鐘域),那么你必須與 FPGA 供應商合作,以確定該器件是否能承擔你的設計。”除了全局時鐘以外,F(xiàn)PGA 也有局部時鐘。但 Singh 警告說,這些時鐘僅限于一定數(shù)的象限,因此要特別注意你的邏輯及其時鐘。Singh 的設計采用了多個時鐘域,通常有 15 至 20 個, FPGA 的實現(xiàn)需要大量工作。他解釋說:“用 ASIC 時,你可以調(diào)整自己的 I/O。FPGA 的 I/O 很復雜,調(diào)整要占用相當多的開銷,因為它很難協(xié)調(diào)轉換速率、驅動強度以及阻抗?!睋?jù) Singh 說,如果你未能在設計開始時正確地調(diào)整好 I/O,則信號完整性和時鐘都會成為大問題。

Rozario 的小組在布局時遇到了類似的問題。但由于他的設計里時鐘域相對較少,時鐘結構比較簡單,足以滿足他的設計。Rozario 說:“FPGA 結構中帶有內(nèi)置時鐘,這樣時鐘均衡要比 ASIC 簡單得多。你不必擔心 H 樹信號完整性,因為 FPGA 架構已注意了所有時鐘問題,每個區(qū)域內(nèi)你都有大量的時鐘。”

Rozario 警告說,規(guī)劃很差的布局會造成時序問題。“有些較大的 FPGA 有你不需要的功能,你得花精力處理它們。我們使用的器件有硬接線 DSP 功能。我們在設計中并不使用 DSP,但可能在下個設計中用到它。”一旦他的小組建立了最佳布局,Xilinx ICE(在線仿真器)工具就完成了一件“相當不錯的工作”,使設計適應于架構。開始時,他的小組會對每個 FPGA 子模塊作平面規(guī)劃,使之達到最高層級,然后為整個芯片重復這種方法。不過,ICE 應用工程師警告說該小組的做法違反了他們的建議,要求小組采用自動化工具。Rozario 表示懷疑,但發(fā)現(xiàn)兩種方法的結果是相似的。

盡管 FPGA 工具較 ASIC 設計工具缺少定制能力,Singh 仍鼓勵 ASIC 設計者轉向 FPGA 設計,以利用 FPGA 供應商的免費工具、IP(知識產(chǎn)權)產(chǎn)品,以及客戶支持。他舉出了一系列好處,包括供應商良好的程序管理、架構、以及懂得 FPGA 的設計專家,還有現(xiàn)場支持。他發(fā)現(xiàn)這些工具對基礎工作很有價值,如平面規(guī)劃和信號完整性。

驗證問題


當 FPGA 初次進入市場時,最大的賣點之一是設計者可對它們編程,然后直接在一個運行系統(tǒng)原型的板上作測試,從而跳過了基于仿真的邏輯驗證。很多 FPGA 老手仍然使用這種方案。但 Singh 和 Rozario 認為,即使是現(xiàn)在的中規(guī)模FPGA 一般也太大太復雜,不能做簡單編程、板上運行,以及系統(tǒng)測試與起動期間的調(diào)試。

很多有經(jīng)驗的 FPGA 設計者告訴 Rozario 說,他們設計芯片會跳過邏輯驗證步驟,然后在實驗室中測試芯片。Rozario 并不支持這種方法,原因是,盡管他的芯片外部有標準的總線接口,但內(nèi)部很復雜,在看不到芯片內(nèi)部的情況下作調(diào)試相當困難。他說:“有了波形就容易多了,所以我們堅持 ASIC 驗證方法。我們?nèi)詴趯嶒炇易髡{(diào)試,但我們嘗試在進實驗室以前解決掉大多數(shù)問題?!?BR>
同樣,Singh 稱由于自己的小組只使用最大的 FPGA,它對 FPGA 使用了與 ASIC 相同的驗證方法,用一個測試平臺對每個設計作徹底仿真、調(diào)試和時序分析,。

Singh 說:“我們要做功能仿真、門級仿真和動態(tài)仿真,將門與寄生參數(shù)送回到功能仿真。然后,我們會做一次多個角度和模式的全面靜態(tài)時序分析。一旦我們獲得了完美的結果,就將其裝到電路板上,上電起動?!彼姓J,第一次使用這種方法時,一定會做一些重復工作,然后它就會成為一種標準的過程,后面的項目就比較容易了。這種方法一般都會給 Singh 帶來滿意的結果。FPGA 供應商為他們的軟硬塊、SERDES、PLL 和其它宏提供功能強大的仿真模型,有助于小組的驗證工作。

軟錯誤

除了 ASIC 與 FPGA 設計之間的微妙差異以外,基于 SRAM 的 FPGA 亦給用戶帶來了一個新的挑戰(zhàn):軟錯誤。軟錯誤出現(xiàn)在一個隨機大氣中子與 IC 碰撞時,它會造成一個位的錯誤,或有些情況下產(chǎn)生一個虛假信號(參考文獻 3)。標準單元器件一般不易受軟錯誤影響,但 SRAM 結構、邏輯及其它類型存儲器則相反。Xilinx、Altera 和 Lattice 這些公司的最高性能 FPGA 都建立在 SRAM 上。

Singh 表示,他的小組也開始頻繁地遇到軟錯誤。因此他警告說,當挑選器件時,你需要查看它的可靠性研究。并且,即使供應商聲稱該 FPGA 是可靠的,你也需要在自己設計中增加一些 ECC(糾錯編碼)。基于 SRAM 的器件需要一種 ECC 配置,以確保不會有虛假錯誤,即中子撞擊所造成的交換位。

如果設計中有用于檢查配置 RAM 完整性的控制電路,則每當你的 RAM 改變配置時,差不多都會遇到一個軟錯誤。軟錯誤在 ASIC 設計中不常見,但它們能夠影響 FPGA 中所有基于 SRAM 的部分,包括基于 SRAM 的邏輯結構和片上 SRAM 塊。Singh 說:“由于晶體管越來越小,電壓不斷下降,你無法阻止它,你總會被一粒中子擊中?!?

所幸,Actel 和 Lattice 等供應商已經(jīng)解答了軟錯誤問題,因為它們可提供基于快閃的非易失性 FPGA。這些器件的速度和密度都比不上 SRAM 器件,但它們能夠抵制軟錯誤。非易失性器件正在日益普及,因為它們?yōu)檫M入全球市場營銷的企業(yè)提供了更佳的安全性。

面對不斷上升的 ASIC 掩膜、開發(fā)與工具成本,F(xiàn)PGA 供應商向設計人員展示了一種切實可行的選擇,可以快速使設計實用化。但是,在設計者跨出這一步之前,他們需要研究 FPGA,并權衡每家供應商的架構、設計工具以及技術支持。設計者還必須了解 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.



關鍵詞: 容量 密度 加密 代碼

評論


相關推薦

技術專區(qū)

關閉