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