FPGA器件不僅提供可與許多ASIC器件媲美的運行速度和門電路容量,而且促進了EDA工具在該市場中的發(fā)展。
要點
FPGA 提供單片系統(tǒng)設計需要的功能。
多數 FPGA 廠商提供自己的開發(fā)支持軟件。
靈活地以多個廠商的器件為目標的工程師們需要來自傳統(tǒng) EDA 廠商的軟件工具?! “雽w制造技術的進步是 FPGA 普及性提高的主要原因。過去,只要工程師們能夠只使用一塊 PLD 或 FPGA 來實現比較簡單的膠合邏輯電路,使用具有更大靈活性和更低批量生產成本的ASIC 器件就是在 IC 上實現特定功能的唯一解決方法?,F在,FPGA 廠商們正在以 130 納米和 90 納米以及1/2間距尺寸來制造器件。這些器件不僅使設計師能實現需要 100 多萬個邏輯門的電路,而且還能提供豐富的 IP(知識產權)芯核庫,可用以縮短開發(fā)時間,降低成本。而與此同時,利用同樣的 130 納米和 90 納米技術制造的 ASIC 器件,其 NRE(一次性工程)成本卻急劇上升??梢?,犯一個需要一套新掩模的錯誤,就會輕易付出 25 ~ 100 萬美元的代價,代價大小視錯誤嚴重程度而定。
因此,管理人員經常選擇使用 FPGA 器件,要么是為了實現產品的整個壽命,如果應用系統(tǒng)只需要幾萬個器件的話,要么是為了制造原型產品和提高批量。一旦批量生產表明一個設計很穩(wěn)定,工程師們就可以把該設計移植到 ASIC 器件上。移植一般是很容易的,因為在大多數應用系統(tǒng)中,工程師都不利用器件的現場可編程能力——一度是把這些器件與 PLD 區(qū)分開的主要特點。FPGA 器件之所以有吸引力,乃是因為修改某種實現方法的費用實際上等于工程開發(fā)費用。因此,FPGA器件允許工程師們使用具有吸引力的調試方法尤其是使用在硬件和軟件的集成要求盡可能早地在開發(fā)周期內就有硬件原型的嵌入式系統(tǒng)中。FPGA 結構中沒有標準的微處理器芯核,這曾經嚴重妨礙工程師把這些器件用于嵌入式軟件系統(tǒng)中。但是,從 130 納米工藝節(jié)點開始,Altera 公司和 Xilinx 公司業(yè)已提供了微處理器芯核,ARM 公司也已經使其專為 FPGA 定制的庫中的標準微處理器芯核可供使用。設計師們還需要一個由協處理器和外設 IP 芯核組成的庫,以便利用 FPGA 器件來實現真正的 SOC(單片系統(tǒng))產品(見附文《嵌入式軟件和 FPGA:為黃金時間做好準備的搭檔》)。
FPGA 廠商目前提供的產品的密度和速度,令人信服地使 IP 廠商把他們的產品移植到 FPGA上。DSP 芯核和圖形顯示芯核正變得可供使用。當然,芯核和專有邏輯塊在器件內部必須互相通信,而工程師們直到最近才利用總線完成了這項任務。所有三種受歡迎的微處理器芯核,即 Altera 公司的 Nios 和 ARM922T(通過與 ARM 公司的許可證協議獲得)以及 Xilinx公司 的 PowerPC(通過與 IBM公司的許可證協議獲得),都使用標準的總線。但是,在芯核之間傳輸數據和控制信息所需的速度,已促使 Nallatech 公司開發(fā)一種用于 FPGA 的更快速通信方法。
根據 Nallatech 公司系統(tǒng)應用工程師 Craig Sanderson 的說法,系統(tǒng)通信可能要花去系統(tǒng)開發(fā)時間的 80%。面向 FPGA 計算應用系統(tǒng)的 Dimetalk 通信開發(fā)工具,使開發(fā)人員能夠部署利用多個 FPGA 跨越各個系統(tǒng)的分組網絡。設計師可以把接口節(jié)點部署在網絡內的任何部位,也可插入邏輯塊來與外部接口通信。
FPGA要在系統(tǒng)設計中廣泛運用,剩下的最大障礙就是它們的單位成本。即使大批量生產,一個 FPGA 器件的成本也高于用 ASIC 或結構化 ASIC 工藝實現的相同設計。但是,某個部件在制造期間的單位成本,在總體產品成本方程中正在失去其重要意義,而伴隨每一種工藝技術的使用,開發(fā)成本以及與失去市場機會有關的代價正在上升至少一個數量級。同時,ASIC 和 FPGA 之間在器件單位成本方面的差別正在縮小。
廠商提供的工具
自2004年6 月份以來,Actel公司、Altera公司、Lattice公司 和 Xilinx公司 都推出了各自軟件的新版本。所有 FPGA 廠商都把第三方軟件裝入自己的產品中。EDA 廠商為 FPGA 廠商提供各自產品的定制版本,這些定制版本一般都沒有原始工具的全部功能和能力,這是因為 FPGA 廠商可以以相當低的價格提供各自的工具。
Actel公司 的理念是把自己的資源集中用在布局布線的后端流程,這就要求深入而清楚地了解體系架構。Actel公司 在 1994 年率先推出了面向 FPGA 的靜態(tài)時序分析,以幫助設計師在把設計交給芯片制造商之前實現時序收斂。該公司與傳統(tǒng)的 EDA 廠商聯袂提供前端工具,比如 Mentor Graphics 公司的 ModelSim 邏輯仿真器、Synplicity 公司的邏輯綜合 Synplify、Magma 公司用于物理綜合的 Palace。Actel把這些售價為595~2595美元的工具集成在 Libero IDE(集成設計環(huán)境)中。Libero IDE三種配置,視客戶需求而定。面向 FPGA 開發(fā)的設計流程已經變得很復雜了(圖 1)。對于那些更喜歡使用自己的 EDA 工具的設計師而言,Actel 公司的 Designer 包括布局布線工具以及靜態(tài)時序分析產品。
FPGA 設計方法的復雜性類似于 ASIC 設計的復雜性?! ltera 公司向客戶提供的 Quartus II 有 CD 和網上產品兩種形式。網上產品為用戶提供一份150 天后過期的許可證,并且只支持該公司的部分器件。自成立之日起,Altera 公司就投入了大筆資金來開發(fā)和支持自己的設計工具。它在企業(yè)內部開發(fā) FPGA 開發(fā)流程中的幾乎所有工具,其中包括邏輯綜合工具和物理綜合工具。Altera 公司相信,一個 FPGA 廠商在既開發(fā)新產品的體系結構又開發(fā)新產品的綜合工具時,要比不了解綜合技術時能更好地洞悉優(yōu)化器件結構的最佳方式。邏輯仿真是 Altera公司只使用第三方產品的唯一領域。Quartus II 是Altera公司生產的Mentor Graphics 公司 ModelSim 的翻版,但卻支持 Cadence 公司的 Incisive 仿真平臺。您還可以將 Synplicity 公司和 Synopsys公司 提供的工具與 Quartus II 中的各種工具一起使用。Quartus II 的最新版本引入了時序優(yōu)化功能和資源優(yōu)化功能,以及在用戶設計周期內對用戶進行指導。在調試期間,工程師們也可以在調試期間得到 SignalTap II——一種嵌入式邏輯分析儀查看程序的幫助??梢酝ㄟ^年度訂用許可證方式來獲得 Quartus II 軟件,起價是 2000 美元。
Lattice Semiconductor 公司推出 ispLever 設計工具套件的 4.1 版。它包括可編程邏輯設計從概念到最后實現所需的所有工具。它包括的工具有設計輸入工具、項目管理工具、設計調整工具、布局布線工具、平面規(guī)劃工具、器件編程工具和芯片邏輯分析工具。工程師們可在 Synplicity公司 或 Mentor公司 的綜合產品之間做選擇,而且還可得到一個為基于 Lattice 產品的設計而定制的 ModelSim 版本。Lattice 公司也提供自己的功能仿真器。ispLever 的標價從 995 美元開始。
Xilinx 公司是另一家在 EDA 工具開發(fā)方面投入大量資金的 FPGA 廠商。該公司的 ISE 設計工具有五種配置,你可以從中選擇。Xilinx公司最近用6.3i 版本更新了ISE 開發(fā)環(huán)境,6.3i 版本支持FPGA 用戶的從前端至后端的整個流程。在前端,ISE 包括 Pace 和 ISE Floorplanner 平面規(guī)劃工具。Xilinx 還收購了 Hier Design公司,現在可提供 RTL floorplanner Plan Ahead,可作為 ISE 客戶單獨購買的選件。工程師們可以將 ModelSim 或 Synopsys Verilog 仿真器與ISE一起使用。Project Navigator 是 ISE 的主要作業(yè)管理器,能使用戶配置并驅動設計實現方法。ISE 提供一種由 Xilinx 公司內部開發(fā)的綜合工具,不過 Synplicity公司、Mentor公司 和 Synopsys 公司也提供各種綜合工具,工程師們可以將它們與ISE一起使用。ISE 的五種配置的價格不等,可從網上下載的軟件包是免費的,而ISE Foundation則為2495美元。
第三方工具
曾經有很多年,可編程器件過于簡單,EDA 廠商發(fā)現他們找不到足夠理由把EDA工具推向市場。使用 FPGA 和 PLD 的大多數工程師都是印制電路板開發(fā)人員,他們沒有機會利用那些以 IC 設計為目標的 EDA 工具。FPGA 廠商之所以開發(fā)自己的基于原理圖的工具,乃是因為,即使在今天,印制電路板設計師仍使用原理圖來使設計進入開發(fā)流程。FPGA廠商們不是將 FPGA 工具免費提供給大批量生產的用戶,就是以低于 1000 美元的價格出售。隨著器件越來越復雜,工程師們開始希望先驗證設計,然后再在電路試驗板上加以實現,這是因為使用示波器或邏輯分析儀來調試電路很費時間?,F在已并入 Mentor Graphics 公司的Model Technology 公司曾很快進入該市場,目前在 FPGA 驗證領域居統(tǒng)治地位,盡管其它一些 EDA 廠商也在參與該市場。
如今,工程師們也需要可靠的綜合工具來開發(fā) FPGA 設計,而且大多數支持 ASIC 綜合的 EDA 廠商也提供 FPGA 工具。以印制電路板開發(fā)為主要市場的其它公司,如Altium公司 和 Aldec 公司,也已經認識到設計師必須采用系統(tǒng)方法來進行產品開發(fā)。工程師再也不能把 FPGA 看作一個對電路板的其余部分沒有影響的單獨系統(tǒng)。EDA 公司正在提供無縫集成制造商專用的后端 FPGA 工具的流程。雖然這些工具的價格一般比 FPGA 廠商提供的工具更貴,但它們卻具有更多的功能,并能使設計師的工作與 FPGA 廠商無關。除了方便 FPGA 器件與印制電路板集成的產品以外,傳統(tǒng)的 EDA 廠商已經把精力集中在驗證和綜合領域,把它們看作最適合第三方支持的兩個市場段。
設計驗證用在 IC 開發(fā)費用中占最大的比例,而且由于設計的復雜性和規(guī)模隨著可用器件的精密復雜程度而提高,正在成為一筆很大的FPGA設計費用。當受過 ASIC 開發(fā)培訓的工程師較多地轉向 FPGA 器件時,他們往往傾向于使用他們熟悉的硬件描述語言。Verilog 在 FPGA 市場中一度幾乎不存在,現在正在獲得市場份額。Bluespec公司 和 Mentor Graphics公司都支持 Verilog 的最新版本SystemVerilog。Mentor Graphics公司 的 ModelSim 仍是 FPGA 市場上最受歡迎的邏輯仿真器。它支持設計師目前可獲取的所有硬件描述語言。Cadence 公司的 Incisive 仿真平臺和 Synopsys 公司的 VCS 主要用于那些已經把 FPGA 設計納入傳統(tǒng) ASIC 設計中的設計流程。
此外,工程師們正在開始使用那些支持更高級別抽象的設計語言,比如 C語言 及其面向硬件的通用術語,以及 MathWorks 公司的 Matlab。Mentor公司 已推出的 Catapult C,使設計師能綜合各種用 untimed C 描述的設計。Catalytic 公司提供的一種產品讓那些使用 Matlab 的設計師能把一種浮點 DSP 算法轉化成定點算法。使用任何可用于 FPGA 器件的 DSP 芯核的工程師都需要定點算法,而 Catalytic 使他們能夠驗證兩種實現方法在 Matlab 環(huán)境中是等效的。FPGA 的在線調試提出了幾項挑戰(zhàn)。例如,時鐘速度可能超過 200MHz,設計可能有多個電路以不同時鐘速度運行。Agilent Technologies 公司已推出 16900 系列邏輯分析儀來解決各種問題,比如與被測器件連接、動態(tài)探測、查看并分析各種格式的系統(tǒng)行為。
綜合
隨著器件復雜性的增加,設計師需要更精密復雜的綜合工具。雖然仍然可以僅利用邏輯綜合來開發(fā)正確功能的 FPGA,但最精密復雜的設計則要求工程師們也使用物理綜合來滿足定時要求。物理綜合不同于邏輯綜合,這是因為物理綜合在進行電路優(yōu)化的同時,還要考慮最終的芯片布局。物理綜合能對各種芯片布局進行實驗,找出最能滿足要求的布局,從而能處理更復雜的定時要求。除了第三方工具以外,Altera 公司和 Xilinx 公司還都提供自己的邏輯綜合產品。Actel 公司和 Lattice 公司寧愿只提供第三方工具。
Mentor Graphics 和 Synplicity 這兩家EDA廠商統(tǒng)治著 FPGA 邏輯綜合和物理綜合市場。直到最近,Synplicity 公司還只專注于 FPGA 市場;只是在最近一兩年里,它才把興趣擴大到結構化 ASIC 器件和傳統(tǒng) ASIC 器件。
該公司提供的產品有:Synplify,一種邏輯綜合工具; Synplify Pro,這是一種功能更強大的Synplify版本;Amplify,它在 Synplify Pro上增加了物理綜合功能。Mentor Graphics 公司涉足 FPGA 開發(fā)工具市場已有多年了,但在提供有競爭力的綜合產品方面行動遲緩。憑借其 Precision 綜合工具,該公司收復了被 Synplicity 公司奪去的地盤。
《Dataquest 公司2003 市場趨勢》這一研究報告稱, Synplicity 公司在 FPGA 綜合市場上所占的份額為 44%, Mentor Graphics公司所占的份額為 43%。在 ASIC 市場上無可爭議地居領導地位的Synopsys公司,在 FPGA 領域遠遠落在后面,居第三位。只要 ASIC 器件和 FPGA 器件的功能大不相同,各廠商就會指派不同的設計師小組來從事這兩類器件的開發(fā)。雖然 Synopsys 公司以前曾兩次試圖進入 FPGA 市場,但都不成功,最后放棄了努力。不過,隨著 FPGA 廠商開始使用 130 納米工藝和 90 納米工藝,FPGA 的性能證明它們既適合于 ASIC 原型開發(fā),又可在早期生產中作為 ASIC 替代品。因此,FPGA 設計師也從事 ASIC 設計就變得很普遍了。Synplicity 公司和 Mentor Graphics 公司都已擴充了各自的 FPGA 工具來滿足 ASIC 市場的部分需要。因此,Synopsys公司再次提供 FPGA 綜合工具是順理成章的。DC FPGA 公司憑借其流行而又成功的 Design Compiler 綜合產品分享前端市場,并把參與 FPGA 開發(fā)的 ASIC 設計師作為目標。Magma 公司也因推出 Palace 而進入了 FPGA 物理綜合市場,因為Palace是 Actel 公司提供的第三方工具套件的一部分。Bluespec 推出了一種支持SystemVerilog的綜合產品,SystemVerilog是 Verilog 市場上擬議中的最新標準。
就實現某些DSP 功能,尤其是利用并行操作的算法來說,FPGA可能是有效的。很多 DSP 設計師不熟悉 EDA 工具。他們利用 MathWorks 公司的 Matlab 和 Simulink 來開始算法開發(fā),然后再把設計轉換成使用一個 DSP 和某些嵌入式軟件的硬件實現方法。兩年前Accelchip 公司推出的一種產品,能使工程師用 Matlab 和 Simulink 來開發(fā)并驗證各種算法,然后用 FPGA 實現電路,無須用人工方法,用 VHDL 或 Verilog 重新實現設計。Synplicity 公司最近推出的 Synplify DSP,還能使設計師利用 Matlab 和 Simulink 來開始算法開發(fā),然后生成能輸入到綜合工具中的 RTL 代碼。Altera 公司的客戶能使用該公司內部開發(fā)的 DSP Builder 來把各自的 Matlab 和 Simulink 設計鏈接到 Quartus II 環(huán)境。