EDA技術(shù)應(yīng)用與發(fā)展之管窺
EDA技術(shù)主要是指面向?qū)S眉呻娐吩O(shè)計(jì)的計(jì)算機(jī)技術(shù),與傳統(tǒng)的專用集成電路設(shè)計(jì)技術(shù)相比,其特點(diǎn)有:
本文引用地址:http://m.butianyuan.cn/article/89092.htm ?、僭O(shè)計(jì)全程,包括電路系統(tǒng)描述、硬件設(shè)計(jì)、仿真測(cè)試、綜合、調(diào)試、軟件設(shè)計(jì),直至硬件系統(tǒng)都由計(jì)算機(jī)完成;
?、谠O(shè)計(jì)技術(shù)直接面向用戶,即專用集成電路的被動(dòng)使用都有同時(shí)也可能是專用集成電路的主動(dòng)設(shè)計(jì)者;
?、蹖S眉呻娐返膶?shí)現(xiàn)有了更多的途徑,即除傳統(tǒng)的ASIC器件外,還能通過FPGA、CPLD、ispPAC、FPSC等可編程器件來(lái)實(shí)現(xiàn),本文主要就后者,簡(jiǎn)要介紹EDA技術(shù)及其應(yīng)用最新近的一些發(fā)展。
由于在電子系統(tǒng)設(shè)計(jì)領(lǐng)域中的明顯優(yōu)勢(shì),基于大規(guī)??删幊唐骷鉀Q方案的EDA技術(shù)及其應(yīng)用在近年中有了巨大的發(fā)展,將電子設(shè)計(jì)技術(shù)再次推向又一嶄新的歷史階段。這些新的發(fā)展大致包括這樣6個(gè)方面:①新器件;②新工具軟件;③嵌入式系統(tǒng)設(shè)計(jì);④DSP系統(tǒng)設(shè)計(jì);⑤計(jì)算機(jī)處理器設(shè)計(jì);⑥與ASIC市場(chǎng)的競(jìng)爭(zhēng)技術(shù)。以下將分別予以說(shuō)明。
1、新器件
由于市場(chǎng)產(chǎn)品的需求和市場(chǎng)競(jìng)爭(zhēng)的促進(jìn),成熟的EDA工具所能支持的,同時(shí)標(biāo)志著最新EDA工具所能支持的,同時(shí)標(biāo)志著最新EDA技術(shù)發(fā)展成果的新器件不斷涌現(xiàn),其特點(diǎn)主要表現(xiàn)為:
?。?)大規(guī)模。邏輯規(guī)模已達(dá)數(shù)百萬(wàn)門,近10萬(wàn)邏輯宏單元,可以將一個(gè)復(fù)雜的電路系統(tǒng),包括諸如一個(gè)至多個(gè)嵌入式系統(tǒng)處理器、各類通信接口、控制模塊和DSP模塊等裝入一個(gè)芯片中,即能滿足所謂的SOPC設(shè)計(jì)。典型的器件有Altera的Stratix系列、Excalibue系列;Xilinx的Virtex-II Pro系列、Spartan-3系列(該系列達(dá)到了90nm工藝技術(shù))。
?。?)低功耗。盡管一般的FPGA和CPLD在功能和規(guī)模上都能很好地滿足絕大多數(shù)的系統(tǒng)設(shè)計(jì)要求,但對(duì)于有低功耗要法語(yǔ)的便攜式產(chǎn)品來(lái)說(shuō),通常都難于滿足要求,但由Lattice公司最新推出的ispMACH4000z系列CPLD達(dá)到了前所未有的低功耗性能,靜態(tài)功耗20微安,以至于被稱為0功耗器件,而其它性能,如速度、規(guī)模、接口特性等仍然保持了很好的指標(biāo)。
?。?)模擬可編程。各種應(yīng)用EDA工具軟件設(shè)計(jì)、isp方式編程下載的模擬可編程及模數(shù)混合可編程器件不斷出現(xiàn)。最具代表性的器件是Lattice的ispPAC系列器件,其中包括常規(guī)模擬可編程器件ispPAC10;精密高階低通濾波器設(shè)計(jì)專用器件ISPPAC80;模數(shù)混合通用在系統(tǒng)可編程器件ispPAC20;在系統(tǒng)可編程電子系統(tǒng)電源管理器件ispPAC-POWER等等。
?。?)含多種專用端口和附加功能模塊的FPGA。例如Lattice的ORT、ORSO系列器件,含sysHSI SERDES技術(shù)的FPGA具有通信速度高達(dá)3.7Gbps的SERDES背板收發(fā)器,其中內(nèi)嵌8b/10b編解碼器,以及超過40萬(wàn)門的FPGA可編程邏輯資源;Altera的Stratix、Cyclone、APEX等系列器件,除內(nèi)嵌大量ESB(嵌入式系統(tǒng)塊)外,還含有嵌入的鎖相環(huán)模塊(用于時(shí)鐘發(fā)生和管理)、嵌入式微處理器核等。此外,Stratix系列器件還嵌有豐富的DSP模塊。
2、新工具軟件
為了適應(yīng)更大規(guī)模FPGA的開發(fā),包括片上系統(tǒng)的DSP的開發(fā),除了第三方EDA公司不斷更新的通用EDA工具外,主要PLD供應(yīng)商也相繼推出,并適時(shí)升級(jí)其EDA開發(fā)工具。
如Lattice公司從早期的Synario,升級(jí)到后來(lái)的ispEXPERT System、ispDesignEXPERT System、ispLEVER,直到現(xiàn)在的ispLEVER Advanced System通用EDA工具,可用于開發(fā)Lattice所有的FPGA、FPSC、CPLD和GDX器件。
Xilinx推出的最新設(shè)計(jì)環(huán)境是ISE6.1I,其中增加了許多新的功能,如支持嵌入式系統(tǒng)的Linux開發(fā),支持混合硬件描述語(yǔ)言綜合設(shè)計(jì)流程、強(qiáng)化排錯(cuò)功能、Chip Scope Pro實(shí)時(shí)調(diào)試器等等。此外還升級(jí)了用于軟核嵌入式系統(tǒng)調(diào)試的工具Embedded Developmen Kit和基于FPGA的DSP開發(fā)環(huán)境System Generator for DSP。
同樣,Altera也推出了適用于不同設(shè)計(jì)對(duì)象的EDA開發(fā)環(huán)境。其中QuartusⅡ 3.0是一綜合設(shè)計(jì)環(huán)境,被稱為SOPC(可編程單片系統(tǒng))升級(jí)環(huán)境,它承接了原來(lái)MaxplusⅡ的全部設(shè)計(jì)功能和器件對(duì)象外還增加了許多新功能和新的FPGA器件系列,包括一些適用于SOPC開發(fā)的大規(guī)模器件。
相對(duì)于上述EDA工具,QuartusⅡ含有許多更具特色和更強(qiáng)的實(shí)用功能,大致有以下幾點(diǎn):
?。?)QuartusⅡ與MATLAB/Simulink和Altera的DSP Builder,以及第三方的綜合器和仿真器相結(jié)合,用于開發(fā)DSP硬件系統(tǒng);
?。?)QuartusⅡ與SOPC Builder結(jié)合用于開發(fā)Nios嵌入式系統(tǒng);
(3)QuartusⅡ含實(shí)時(shí)調(diào)試工具、嵌入式邏輯分析式Signal TapⅡ。
隨著邏輯設(shè)計(jì)復(fù)雜性的不斷增加,在計(jì)算機(jī)上以軟件方式的仿真測(cè)試變得更加耗費(fèi)時(shí)間,而不斷需要重復(fù)進(jìn)行的硬件系統(tǒng)的測(cè)試同樣變得更為困難。為了解決這些問題,設(shè)計(jì)者可以將一種高效的硬件實(shí)時(shí)測(cè)試手段和傳統(tǒng)的系統(tǒng)測(cè)試方法相結(jié)合來(lái)完成。這就是嵌入式邏輯分析儀Signal TapⅡ的使用。它可以隨設(shè)計(jì)文件一并下載于目標(biāo)芯片中,用以捕捉目標(biāo)芯片內(nèi)設(shè)計(jì)者感興趣的信號(hào)節(jié)點(diǎn)處的信號(hào),而又不影響原硬件系統(tǒng)的正常工作??梢酝ㄟ^兩種方式來(lái)使用Signal TapⅡ,一種是直接使用QuartusⅡ3.0中的Signal TapⅡ;另一種方式是通過MATLAB的Simulink和DSP Builder來(lái)使用Signal TapⅡ。DSP Builder中包含有Signal TapⅡ模塊,設(shè)計(jì)者可以使用此模塊設(shè)置用于信號(hào)探察的事件觸發(fā)器,配置存儲(chǔ)器,并能顯示波形。這可以使用Node模塊來(lái)選擇有待監(jiān)測(cè)的信號(hào)。使用Signal TapⅡ后,當(dāng)觸發(fā)器運(yùn)行后,通常要占用部分內(nèi)部RAM,因?yàn)樵趯?shí)際監(jiān)測(cè)中,將測(cè)得的樣本信號(hào)暫存于目標(biāo)器件中的嵌入式RAM(如ESB)中,然后通過器件的JTAG端口和Byte BlasterⅡ下載線將采得的信息傳出,送于PC機(jī)進(jìn)行分析。PC機(jī)中送達(dá)的數(shù)據(jù)是以文本文件的方式存儲(chǔ)的,并可在Simulink圖上顯示波形;
?。?)QuartusⅡ含一種十分有效的邏輯設(shè)計(jì)優(yōu)化技術(shù),即設(shè)計(jì)模塊在FPGA中指定區(qū)域內(nèi)的邏輯鎖定功能,Logic Lock技術(shù)。
有FPGA開發(fā)經(jīng)驗(yàn)的人都會(huì)有這樣的體會(huì),原來(lái)在硬件測(cè)試上十分成功的FPGA設(shè)計(jì),結(jié)果在源代碼并沒有任何改變的情況下,僅僅是增加了一點(diǎn)與原程序毫不相干的電路描述,或甚至只改變了某個(gè)端口信號(hào)的引腳鎖定位置,結(jié)果在綜合適配后,原設(shè)計(jì)的硬件性能大為下降,如速度降低了,有時(shí)甚至無(wú)法正常工作。這時(shí),如果比較改變?cè)O(shè)計(jì)前后的Floorplan圖,會(huì)發(fā)現(xiàn)芯片內(nèi)部資源的使用情況發(fā)生了巨大的變化。這表明,即使對(duì)原設(shè)計(jì)作極小的改變(更不用說(shuō)對(duì)適配約束條件的改變),都會(huì)使適配器對(duì)原設(shè)計(jì)的布線(routing)和布局(placing)策略作大幅改變和調(diào)整。同時(shí),當(dāng)設(shè)計(jì)規(guī)模比較大時(shí),人為很難直接介入布線/布局的優(yōu)化。對(duì)于由許多基本電路模塊構(gòu)建成的頂層系統(tǒng)的FPGA開發(fā),類似的問題將更加突出。例如,原來(lái)某一基本模塊的FPGA硬件測(cè)試十分成功,包括工作性能、速度以及資源利用率等,但當(dāng)將這些基本模塊連接到一個(gè)頂層設(shè)計(jì)后,即使在同一FPGA中進(jìn)行測(cè)試,也常發(fā)現(xiàn)各模塊以及總系統(tǒng)的性能有所下降,甚至無(wú)法工作的情況。事實(shí)上,如果能在設(shè)計(jì)基本模塊時(shí),就固定其布線/布局的原方案,即使在頂層文件的總體適配時(shí),也不改變?cè)瓉?lái)基本模塊的布線/布局及其原來(lái)的優(yōu)化方案,就能很好地解決上述棘手的問題。對(duì)此,QuartusⅡ提供了這一優(yōu)秀的設(shè)計(jì)技術(shù),可以將設(shè)計(jì)好的布線/布局方案。這樣一來(lái),對(duì)于一項(xiàng)較大設(shè)計(jì)中的某一底層模塊,不但在頂層的軟件描述上是一個(gè)子模塊,而且在FPGA芯片中總體適配中,此模塊在硬件便類似于ASIC設(shè)計(jì)中的一個(gè)標(biāo)準(zhǔn)模塊,始終能保持自己原來(lái)的布線/布局方案,從而在任何大系統(tǒng)中都能保持原有的電路性能,就像一個(gè)被調(diào)用的獨(dú)立的元件一樣,不會(huì)由于頂層系統(tǒng)布線/布局的改變而改變基本模塊的布線/布局結(jié)構(gòu)了。有了邏輯鎖定技術(shù),面對(duì)大系統(tǒng)的設(shè)計(jì),工程師們就可以將構(gòu)成大系統(tǒng)的各模塊進(jìn)行分別設(shè)計(jì),分別優(yōu)化它們的布線/布局,及適配約束,逐個(gè)地使它們分別獲得最佳的工作性能,逐個(gè)優(yōu)化交鎖定它們的布線/布局方案,最后把它們連在一起形成性能優(yōu)良的頂層系統(tǒng)。顯然,邏輯設(shè)計(jì)鎖定技術(shù)是SOPC單片系統(tǒng)優(yōu)化設(shè)計(jì)及IP核成功拼裝應(yīng)用的有力保證。
?。?)QuartusⅡ含有將FPGA設(shè)計(jì)向ASIC設(shè)計(jì)我縫轉(zhuǎn)移的高效的ASIC設(shè)計(jì)技術(shù),即Hard Copy技術(shù),對(duì)此將在后面做更多的說(shuō)明。
3、在FPGA中植入嵌入式系統(tǒng)處理器
目前最為常用的嵌入式系統(tǒng)大多采用了含有ARM的32位知識(shí)產(chǎn)權(quán)處理器核的器件。盡管由這些器件構(gòu)成的嵌入式系統(tǒng)有很強(qiáng)的功能,但為了使系統(tǒng)更為完備、功能更為強(qiáng)大、對(duì)更多任務(wù)的完成具有更好的適就萬(wàn)籟 ,通常必須為此處理器配置許多接口器件,方能構(gòu)成一個(gè)完整的應(yīng)用系統(tǒng),如除配置常規(guī)的SRAM、DRAM、Flash外,還必須配置網(wǎng)絡(luò)通信接口、串行通信接口USB接口、VGA接口、PS/2接口等等。這樣勢(shì)必會(huì)增加整個(gè)系統(tǒng)的體積、功耗,降低了系統(tǒng)的可靠性。但是如果將ARM或其它知識(shí)產(chǎn)權(quán)核以硬核方式植入FPGA中,利用FPGA中的可編程邏輯資源和IP軟核來(lái)構(gòu)成該嵌入式系統(tǒng)處理器的接口功能模塊,就能很好地解決這些問題。對(duì)此,Altera和Xilinx公司都相繼推出了這方面的器件。例如,Altera的Excalibur系列FPGA中就植入了ARM922T嵌入式系統(tǒng)處理器;Xilinx的Virtex-ⅡPro系列中植入了IBM PowerPC405處理器。這樣就能使得FPGA的強(qiáng)大的軟件功能有機(jī)地相結(jié)合,高效地實(shí)現(xiàn)SOC系統(tǒng)。
但是,這種將IP硬核植入FPGA的解決方案存在5種不夠完美之處:
(1)由于此類硬核多來(lái)自第三方公司,F(xiàn)PGA廠商通常無(wú)法直接控制其知識(shí)產(chǎn)權(quán)費(fèi)用,從而導(dǎo)致FPGA器件價(jià)格相對(duì)較高;
(2)由于硬核是預(yù)先植入的,設(shè)計(jì)者無(wú)法根據(jù)實(shí)際需要改變處理器的結(jié)構(gòu),如總線規(guī)模、接口方式,乃至指令形式,更不可能將FPGA邏輯資源構(gòu)成的硬件模塊以指令的形式形成內(nèi)置嵌入式系統(tǒng)的硬件加速模塊(如DSP模塊),以適應(yīng)更多的電路功能要求;
(3)無(wú)法根據(jù)實(shí)際設(shè)計(jì)需求在同一FPGA中使用指定數(shù)量的處理器核;
(4)無(wú)法裁減處理器硬件資源以降低FPGA成本;
(5)只能在特定的FPGA中使用硬核嵌入式系統(tǒng),如只能使用Excalibur系列FPGA中的ARM核,Virtex-ⅡPro系列中的PowerPC核。
但是如果利用軟核嵌入式系統(tǒng)處理器就能有效地解決上述不利因素。它們分別是Altera的Nios核與Xilinx的Micro Blaze。特別是前者,使上述5方面的問題得到全面的解決。
Altera的Nios核是用戶可隨意配置和構(gòu)建的32位/16位總線(用戶可選的)指令集和數(shù)據(jù)通道的嵌入式系統(tǒng)微處理器IP核,采用Avalon總線結(jié)構(gòu)通信接口,帶有增強(qiáng)的內(nèi)存、調(diào)試和軟件功能(C或匯偏程序程序優(yōu)化開發(fā)功能);含由First Silicon Solutions(FS2)開發(fā)的基于JTAG的片內(nèi)設(shè)備(OCI)內(nèi)核(這為開發(fā)者提供了強(qiáng)大的軟硬件調(diào)試實(shí)時(shí)代碼,OCI調(diào)試功能可根據(jù)FPGA JTAG端口上接受的指令,直接監(jiān)視和控制片內(nèi)處理器的工作情況)。
此外,基于QuartusⅡ平臺(tái)的用戶可編輯的Nios核含有許多可配置的接口模塊核,包括:可配置高速緩存(包括由片內(nèi)ESB或外部SRAM或SDRAM,100M以上單周期訪問速度)模塊,可配置RS232通信口、SDRAM控制器、標(biāo)準(zhǔn)以太網(wǎng)協(xié)議接口、DMA、定時(shí)器、協(xié)處理器等等。在植入(配置進(jìn))FPGA前,用戶可根據(jù)設(shè)計(jì)要求,利用QuartusⅡ和SOPC Builder,對(duì)Nios及其外圍系統(tǒng)進(jìn)行構(gòu)建,使該嵌入式系統(tǒng)在硬件結(jié)構(gòu)、功能特點(diǎn)、資源占有等方面全面滿足用戶系統(tǒng)設(shè)計(jì)的要求。Nios核在同一FPGA中被植入的數(shù)量沒有限制,只要FPGA的資源允許,此外Nios可植入的Altera FPGA的系列幾乎沒有限制,在這方面,Nios顯然優(yōu)于Xilinx的Micro Blaze。
另外,在開發(fā)工具的完備性方面、對(duì)常用的嵌入式操作系統(tǒng)支持方面,Nios都優(yōu)于Micro Blaze。就成本而言,由于Nios是由Altera直接推出而非第三方產(chǎn)品,故用戶通常無(wú)需支付知識(shí)產(chǎn)權(quán)費(fèi)用,Nios的使用費(fèi)僅僅是其占用的FPGA的邏輯資源費(fèi)。因此,選用的FPGA越便宜,則Nios的使用費(fèi)就越便宜。
4、基于FPGA的DSP系統(tǒng)設(shè)計(jì)
在這去很長(zhǎng)一段時(shí)間內(nèi),DSP處理器(如T1的TMS320系列)是DSP應(yīng)用系統(tǒng)核心器件的唯一選擇。盡管DSP處理器具有通過軟件設(shè)計(jì)能適用于不同功能實(shí)現(xiàn)的靈活性,但面對(duì)當(dāng)今迅速變化的DSP應(yīng)用市場(chǎng),特別是面對(duì)現(xiàn)代能信技術(shù)的發(fā)展,早已顯得力不從心了。
例如其硬件結(jié)構(gòu)的不可變性導(dǎo)致了其總線的不可改變性,而固定的數(shù)據(jù)總線寬度,已成為DSP處理器一個(gè)難以突破的瓶頸。DSP處理器的這種固定的硬件結(jié)構(gòu)特別不適合于當(dāng)前許多要求能進(jìn)行結(jié)構(gòu)特性隨時(shí)變更的應(yīng)用場(chǎng)合,即所謂面向用戶型的DSP系統(tǒng),或者說(shuō)是用戶可定制型(如利用Nios加FPGA資源構(gòu)成的DSP硬核加速模塊的DSP系統(tǒng)),或可重配置型的DSP應(yīng)用系統(tǒng)(Customized DSP或Reconfigurable DSP等,即利用FPGA的可重配置特性的DSP系統(tǒng)),如軟件無(wú)線電、醫(yī)用設(shè)備、導(dǎo)航、工業(yè)控制等方面。至于在滿足速度要求方面,由于采用了順序執(zhí)行的CPU架構(gòu),DSP處理器則更加不堪重負(fù)。
面向DSP的各類專用ASIC芯片雖然可以解決并行性和速度的問題,但是高昂的開發(fā)設(shè)計(jì)費(fèi)用、耗時(shí)的設(shè)計(jì)周期及不靈活的純硬件結(jié)構(gòu),使得DSP的ASIC解決方案日益失去其實(shí)用性。
現(xiàn)代大容量、高速度的FPGA的出現(xiàn),克服了上述方案的諸多不足。在這些FPGA中,一般都內(nèi)嵌有可配置的高速RAM、PLL、LVDS、LVTTL以及硬件乘法累加器等DSP模塊。用FPGA來(lái)實(shí)現(xiàn)數(shù)字信號(hào)處理可以很好地解決并行性和速度問題,而且其靈活的可配置特性,使得FPGA構(gòu)成的DSP系統(tǒng)非常易于修改、易于測(cè)試及硬件升級(jí)。
在利用FPGA進(jìn)行DSP系統(tǒng)的開發(fā)應(yīng)用上,已有了全新的設(shè)計(jì)工具和設(shè)計(jì)流程。DSP Builder就是Altera公司推出的一個(gè)面向DSP開發(fā)的系統(tǒng)級(jí)工具。它是作為Matlab的一個(gè)Simulink工具箱(Tool Box)出現(xiàn)的。Matlab是功能強(qiáng)大的數(shù)學(xué)分析工具,廣泛用于科學(xué)計(jì)算和工程計(jì)算,可以進(jìn)行復(fù)雜的數(shù)字信號(hào)處理系統(tǒng)的建模、參數(shù)估計(jì)、性能分析。Simulink是Matlab的一個(gè)組成部分,用于圖形化建模仿真。
DSP Builder作為Simulink中的一個(gè)工具箱,使得用FPGA設(shè)計(jì)DSP系統(tǒng)完全可以通過Simulink的圖形化界面進(jìn)行,只要簡(jiǎn)單地進(jìn)行DSP Builder工具箱中的模塊調(diào)用即可。值得注意的是,DSP Builder中的DSP基本模塊是以算法級(jí)的描述出現(xiàn)的,易于用戶從系統(tǒng)或者算法級(jí)進(jìn)行理解,甚至不需要十分了解FPGA本身和硬件描述語(yǔ)言。
相比之下,常用的數(shù)字信號(hào)處理(DSP)的解決方案的問題有:
?。?)工作速度慢,如TMS320C5402/10/16的處理速度僅0.1GMACs,與其相關(guān)的“DSP實(shí)驗(yàn)開發(fā)系統(tǒng)”上的A/D、D/A的工作速度僅有40kHz,屬于語(yǔ)音頻率范圍。對(duì)于信號(hào)的采樣和輸出頻率范圍都比較低,能完成的實(shí)驗(yàn)項(xiàng)目非常少,大多數(shù)通信領(lǐng)域中的實(shí)驗(yàn)無(wú)法完成(如DDS、FSK等)。而FPGA系統(tǒng)的DSP處理速度可達(dá)70GMACs,相關(guān)的A/D、D/A的工作速度達(dá)數(shù)十至數(shù)百M(fèi)Hz,可達(dá)射頻范圍;
?。?)在數(shù)字通信領(lǐng)域,如軟件無(wú)線電領(lǐng)域中將無(wú)能為力;
?。?)由于系統(tǒng)完全基于特定的DSP處理器,對(duì)于協(xié)議更新、通信格式改變、硬件工作模式發(fā)換等要求,硬件系統(tǒng)無(wú)法進(jìn)行實(shí)時(shí)或非實(shí)時(shí)的重構(gòu),而FPGA具有重配置功能,因而十分容易實(shí)現(xiàn);
(4)盡管使用了JTAG調(diào)試手段,但本質(zhì)上仍然沿用了傳統(tǒng)的CPU調(diào)試方法,對(duì)于許多不同的DSP器件,將對(duì)應(yīng)不同硬件結(jié)構(gòu)、匯編語(yǔ)言和開發(fā)工具,因此開發(fā)設(shè)計(jì)技術(shù)難以標(biāo)準(zhǔn)化和規(guī)范化,開發(fā)效率極低;
?。?)難以納入先進(jìn)的SOC開發(fā)技術(shù)及相關(guān)的自頂向下的系統(tǒng)級(jí)設(shè)計(jì)及優(yōu)化;
?。?)開發(fā)者只能被動(dòng)地跟隨和使用市場(chǎng)上已有的DSP器件,無(wú)法根據(jù)既定的設(shè)計(jì)系統(tǒng)的技術(shù)指標(biāo)要求、結(jié)構(gòu)特點(diǎn)、 未來(lái)的硬件升級(jí)可能性、性價(jià)比估算等等必要因素設(shè)計(jì)自己的DSP硬件系統(tǒng)。
然而基于FPGA和SOPC技術(shù)的現(xiàn)代DSP技術(shù)完全突破了傳統(tǒng)DSP系統(tǒng)和設(shè)計(jì)技術(shù)的瓶頸,克服了傳統(tǒng)方案的諸多劣勢(shì),在高頻高速的DSP設(shè)計(jì)和應(yīng)用領(lǐng)域拓展了自己全新的空間。現(xiàn)代DSP解決方案完全基于EDA特有的自頂向下的設(shè)計(jì)流程和高速的并行算法結(jié)構(gòu)。
設(shè)計(jì)方法可以從與硬件完全無(wú)關(guān)的系統(tǒng)級(jí)開始,首先利用Matlab強(qiáng)大的系統(tǒng)設(shè)計(jì)、分析能力和DSP Builder提供的模塊(或IP核)完成頂層系統(tǒng)設(shè)計(jì)及系統(tǒng)仿真測(cè)試,然后通過DSP Builder中的Signal Compiler將Simu link模型文件自動(dòng)轉(zhuǎn)換成VHDL的RTL表述和工具命令語(yǔ)言(Tcl)腳本,再進(jìn)行RTL級(jí)的功能仿真,并通過SOPC設(shè)計(jì)工具QuartusⅡ進(jìn)行綜合、適配與時(shí)序仿真;最后形成對(duì)指定FPGA進(jìn)行編程配置的POF和SOF文件,實(shí)現(xiàn)硬件DSP系統(tǒng)的仿真測(cè)試,其間可以將設(shè)定好的嵌入式邏輯分析儀Signal TapⅡDSP硬件系統(tǒng)文件一同適配并下載到FPGA芯片中去,然后可在MATAB的Simu link窗口觀測(cè)到通過JTAG口,來(lái)自Signal TapⅡ測(cè)得的芯片中DSP硬件模塊的實(shí)時(shí)工作波形,從而實(shí)現(xiàn)硬件仿真和調(diào)試的目的。最后,如有必要,可以將DSP硬件模塊通過SOPC接口編輯成Nios嵌入式系統(tǒng)處理器的用戶指令。顯然,這一先進(jìn)的設(shè)計(jì)技術(shù)終于使DSP技術(shù)在頻率高端的數(shù)字信號(hào)處理走上了現(xiàn)規(guī)范化、標(biāo)準(zhǔn)化、高效率和知識(shí)產(chǎn)權(quán)化的道路。
5、計(jì)算機(jī)處理器設(shè)計(jì)
EDA技術(shù)與FPGA在通信領(lǐng)域中的成功已是眾所周知的事實(shí)了,而對(duì)于一般的處理器的實(shí)現(xiàn)也已司空見慣。如利用硬件描述語(yǔ)言設(shè)計(jì)嵌入式系統(tǒng)處理器、各類CPU或單片機(jī)等,并以軟核的形式在FPGA中實(shí)現(xiàn)。但利用FPGA實(shí)現(xiàn)高性能的處理器,乃至超級(jí)計(jì)算機(jī)處理器的功能,不能不說(shuō)是一項(xiàng)嶄新的嘗試。目前,盡管基于EDA技術(shù)的計(jì)算機(jī)處理器的FPGA實(shí)現(xiàn)尚未進(jìn)入全面的商業(yè)化開發(fā)階段,但其研究和應(yīng)用的成果卻不得不令人深感FPGA在這一領(lǐng)域中的巨大潛力和廣闊的市場(chǎng)。
例如,美國(guó)Wincom Systems公司正在推出一款服務(wù)器中的處理器竟然是用Xilinx公司的FPGA設(shè)計(jì)成的。這款專為網(wǎng)站運(yùn)行而設(shè)計(jì)的服務(wù)器尺寸僅有DVD播放機(jī)大小,工作能力卻相當(dāng)于甚至超過50臺(tái)戴爾、IBM或SUN公司售價(jià)5000美元的服務(wù)器,其成本僅為2.5萬(wàn)美元。我們知道,傳統(tǒng)的個(gè)人電腦及服務(wù)器通常都采用英特爾的奔騰處理器或SUN計(jì)算機(jī)系統(tǒng)公司的SPARC芯片作為中央處理單元,而Wincom Systems的這一產(chǎn)品卻沒有采用傳統(tǒng)的微處理器,選用現(xiàn)場(chǎng)可編程門陣列(FPGA)芯片來(lái)驅(qū)動(dòng)。盡管FPGA芯片的主頻速度比奔騰處理器慢,但卻可并行完成多項(xiàng)任務(wù),即微處理器在每一時(shí)間節(jié)拍(如某一指令周期)中只能執(zhí)行一條指令,完成一次操作。因此,Wincom Systems公司的服務(wù)器只需配置幾個(gè)價(jià)格僅為2000多美元的FPGA芯片,便可擊敗SUN公司的服務(wù)器或采用英特爾處理器的電腦,達(dá)到該公司副總裁Douglas Henderson所說(shuō)的,其服務(wù)器處理的速度比普通服務(wù)器快50到300倍。
此外,美國(guó)的Time Logic公司也間接受益于FPGA芯片。戴爾和SUN公司生產(chǎn)的某些標(biāo)準(zhǔn)服務(wù)器也采用Altera公司的FPGA芯片。Time Logic公司對(duì)這些標(biāo)準(zhǔn)服務(wù)器加以改進(jìn)后,生產(chǎn)了一種用于基因研究的高速處理設(shè)備。該公司總監(jiān)Christopher Hoover說(shuō),他們的設(shè)備比原來(lái)的產(chǎn)品至少快1000倍!Annapolis Micro Systems公司也在其計(jì)算機(jī)電路板中集成了Xilinx的FPGA芯片,以提高產(chǎn)品性能。盡管這種產(chǎn)品的平均售價(jià)高達(dá)2.5萬(wàn)美元,但是其銷售量卻比以前翻了一番。而美國(guó)的Blue Arc公司采用了FPGA開發(fā)出一種存儲(chǔ)器產(chǎn)品,其存取速度比Network Appliance和EMC公司的競(jìng)爭(zhēng)產(chǎn)品更快。Mid Stream Technologies公司則采用FPGA芯片為有線電視運(yùn)營(yíng)商開發(fā)視頻流服務(wù)器。這款服務(wù)器采用了2片F(xiàn)PGA芯片,可同時(shí)提供425路視頻流信號(hào),經(jīng)基于通用微處理器的服務(wù)器速度快得多。
特別是當(dāng)利用那些嵌有功能強(qiáng)大的微處理器的FPGA(如Virtex-Ⅱ Pro)構(gòu)建服務(wù)器中的處理器時(shí),該系統(tǒng)具備了巨大的硬件設(shè)計(jì)靈活性。例如一臺(tái)網(wǎng)絡(luò)服務(wù)器的FPGA中的可編程邏輯部分可以根據(jù)不同的標(biāo)準(zhǔn)進(jìn)行訂制,而不必為每個(gè)國(guó)家開發(fā)一種新的芯片。
不言而喻,在強(qiáng)大的EDA工具的幫助下,基于FPGA的處理器在一定程度上正在蠶食微處理器的市場(chǎng)。50多年前,匈牙利數(shù)學(xué)家Neumann提出了電腦的設(shè)計(jì)構(gòu)想,即通過中央處理器從存儲(chǔ)器中存取數(shù)據(jù),并逐一處理各項(xiàng)任務(wù)?,F(xiàn)在,通過采用可編程芯片取代微處理器,電腦可并行處理多項(xiàng)任務(wù),改變了基于Neumann提出的電腦架構(gòu)基本工作方式,從而為計(jì)算機(jī)設(shè)計(jì)領(lǐng)域突破已趨于速度極限的傳統(tǒng)微處理器開辟了一條全新的道路。同時(shí)也正如Xilinx的首席執(zhí)行官司W(wǎng)illem Roelandts所說(shuō),“可編程芯片將掀起下一輪應(yīng)用高潮”。
以基于EDA開發(fā)技術(shù)的FPGA實(shí)現(xiàn)的處理器在超級(jí)計(jì)算機(jī)的設(shè)計(jì)中也將有其一席之地。傳統(tǒng)的超級(jí)計(jì)算機(jī)應(yīng)該是科技世界中的極品,其售價(jià)奇高、速度飛快,它集成了數(shù)以千計(jì)的微處理器。但這種超級(jí)計(jì)算機(jī)也浪費(fèi)了非常多的芯片資源,每個(gè)處理器只能進(jìn)行單任務(wù)操作,大部分功能難以充分發(fā)揮。如果采用FPGA來(lái)武裝超級(jí)電腦,在發(fā)揮FPGA原有的并行工作的基礎(chǔ)上,利用FPGA的可重配置特性,即針對(duì)不同的處理任務(wù)和算法模型,現(xiàn)場(chǎng)配置進(jìn)FPGA相應(yīng)處理器結(jié)構(gòu)文件,從而使得同一硬件電路結(jié)構(gòu)在不同的時(shí)間段,形成不同的等效硬件結(jié)構(gòu)以高效地對(duì)付不同的處理任務(wù)。例如,此超級(jí)計(jì)算機(jī)某一段瞬間可以用于預(yù)報(bào)全球天氣狀況,下一時(shí)間則能用于根據(jù)某一公司的主要利率對(duì)沖情況來(lái)評(píng)估券市場(chǎng)的風(fēng)險(xiǎn),然后又進(jìn)入基因組合核對(duì)的分析,等等。
因此,不難理解,如Roelandts所說(shuō)的,“我們認(rèn)為下一代超級(jí)電腦將基于可編程邏輯器件”,他聲稱,這種機(jī)器的功能將比目前最大的超級(jí)電腦還要強(qiáng)大許多。EDA專家William Carter認(rèn)為,只要EDA開發(fā)工具的功能允許,將有無(wú)數(shù)的證據(jù)證明FPGA具有這種神奇的能力,進(jìn)而實(shí)現(xiàn)基于FPGA的超級(jí)電腦的開發(fā)。
美國(guó)的Star Bridge Systems公司聲稱已解決了這一問題。該系統(tǒng)公司采用了FPGA芯片和該公司自己的Viva編程語(yǔ)言開發(fā)出了“運(yùn)行速度無(wú)與倫比”的“hypercomputer”。對(duì)該超級(jí)電腦進(jìn)行測(cè)試的美國(guó)國(guó)家航空航天局(NASA)科學(xué)家表示,這一產(chǎn)品的性能令人過目難忘,但目前尚未達(dá)到以實(shí)用階段,其它公司或機(jī)構(gòu)的研究人員,如美國(guó)加州大學(xué)伯克利分校和楊百翰大學(xué)(Brigham Young University)的研究員也正在設(shè)計(jì)基于FPGA的超級(jí)計(jì)算機(jī),這些計(jì)算機(jī)可在運(yùn)行中實(shí)現(xiàn)動(dòng)態(tài)(現(xiàn)場(chǎng))重配置,這對(duì)定位危險(xiǎn)目標(biāo)等軍事應(yīng)用和面容識(shí)別一類的計(jì)算密集型安全應(yīng)用等需求不同硬件加速算法的多任務(wù)功能的實(shí)現(xiàn)十分有用。
6、與ASIC市場(chǎng)的競(jìng)爭(zhēng)技術(shù)
盡管EDA技術(shù)開發(fā)對(duì)象是ASIC和FPGA,但它們?cè)趹?yīng)用領(lǐng)域中的優(yōu)勢(shì)和劣勢(shì)的對(duì)比歷來(lái)十分鮮明。然而在近年來(lái),隨著EDA開發(fā)工具功能的不斷加強(qiáng),F(xiàn)PGA器件性能的提高,這種對(duì)比在許多方面正在趨于模糊。
一方面,相對(duì)于ASIC應(yīng)用市場(chǎng),具有競(jìng)爭(zhēng)力的FPGA器件的出現(xiàn),使FPGA原來(lái)在單片成本、邏輯規(guī)模和工作速度等方面相對(duì)于ASIC的劣勢(shì)越來(lái)越小,而其巨大的靈活性、現(xiàn)場(chǎng)可配置性(相當(dāng)于現(xiàn)場(chǎng)硬件升級(jí)或硬件重構(gòu))、良好的設(shè)計(jì)效率和成功率,使得FPGA成為ASIC市場(chǎng)競(jìng)爭(zhēng)者的地位不斷強(qiáng)化。Altera推出的Cyclone系列FPGA和Xilinx推出的Spartan-3系列FPGA都稱為此類大規(guī)模可編程器件的代表。當(dāng)然這只是一種間接的競(jìng)爭(zhēng)與替代。
另一方面,通過強(qiáng)化EDA工具的設(shè)計(jì)能力,在保持FPGA開發(fā)優(yōu)勢(shì)的前提下,引入ASIC的開發(fā)流程,從而對(duì)ASIC市場(chǎng)形成直接競(jìng)爭(zhēng)。這就是Altera推出的HardCopy技術(shù)。
HardCopy就是利用原有的FPGA開發(fā)工具,將成功實(shí)現(xiàn)于FPGA器件上的系統(tǒng)通過特定的技術(shù)直接向ASIC轉(zhuǎn)化,從而克服傳統(tǒng)ASIC設(shè)計(jì)中普遍存在的問題。
與HardCopy技術(shù)相比,對(duì)于系統(tǒng)級(jí)的大規(guī)模ASIC開發(fā),有不少難于克服的問題,其中包括開發(fā)周期長(zhǎng)、產(chǎn)品上市慢、一次性成功率低、有最少的投片量要求、設(shè)計(jì)軟件工具繁多且昂貴、開發(fā)流程復(fù)雜等。例如,此類ASIC開發(fā),首先要求可觀的技術(shù)人員隊(duì)伍、高達(dá)數(shù)十萬(wàn)美元的開發(fā)軟件費(fèi)用,和高昂的掩模費(fèi)用,有整個(gè)設(shè)計(jì)周期可能長(zhǎng)達(dá)一年。ASIC設(shè)計(jì)的高成本和一次性低成功率很大部分是由于需要設(shè)計(jì)和掩模的層數(shù)太多(多達(dá)十幾層)。
然而如果利用HardCopy技術(shù)設(shè)計(jì)ASIC,開發(fā)軟件費(fèi)用僅2000美元(QuartusⅡ),SOC級(jí)規(guī)模的設(shè)計(jì)周期不超過20周,轉(zhuǎn)化的ASIC與用戶設(shè)計(jì)習(xí)慣的掩模層只有兩層,且一次性投片的成功率近乎100%,即所謂的FPGA向ASIC的無(wú)縫轉(zhuǎn)化。而且用ASIC實(shí)現(xiàn)后的系統(tǒng)性能將比以前在HardCopy FPGA上驗(yàn)證的模型提高近50%,而功耗則降低40%。一次性成功率的大幅度提高即意味著設(shè)計(jì)成本的大幅降低和產(chǎn)品上市速度的大幅提高。
HardCopy技術(shù)是一種全新的ASIC設(shè)計(jì)解決方案,即將專用的硅片設(shè)計(jì)和FPGA至HardCopy自動(dòng)遷移過程結(jié)合在一起的技術(shù),即首先利用QuartusⅡ?qū)⑾到y(tǒng)模型成功實(shí)現(xiàn)于HardCopy FPGA上,然后幫助設(shè)計(jì)得把可編程解決方案無(wú)縫地遷移到低成本的ASIC上的實(shí)現(xiàn)方案。這樣,HardCopy器件就把大容量FPGA的靈活性和ASIC的市場(chǎng)優(yōu)勢(shì)結(jié)合起來(lái),實(shí)現(xiàn)對(duì)于有大批量要求并對(duì)成本敏感的電子系統(tǒng)產(chǎn)品上。從而避開了直接設(shè)計(jì)ASIC的困難,而從原型設(shè)計(jì)提升至產(chǎn)品制造,通過FPGA的設(shè)計(jì)十分容易地移植到HardCopy器件上,達(dá)到降低成本,又加快面市周期的目的。HardCopy器件(如HardCopy Stratix系列、Excalibur系列FPGA)避免了ASIC的風(fēng)險(xiǎn),它采用FPGA的專用遷移技術(shù)。其HardCopy ASIC是直接在Altera PLD體系之上構(gòu)建的,采用有效利用面積“邏輯單元海”內(nèi)核。本質(zhì)上HardCopy器件是FPGA的精確復(fù)制,剔除了可編程性、專用配置和采用金屬互連使用的走線。這樣器件的硅片面積就更小,成本就更低,而且還改善了時(shí)序特性。
由于EDA技術(shù)是面向解決電子系統(tǒng)最基本最低層硬件實(shí)現(xiàn)問題的技術(shù),因此就其發(fā)展趨勢(shì)的橫向看,勢(shì)必涉及越來(lái)越廣闊的電子技術(shù)及電子設(shè)計(jì)技術(shù)領(lǐng)域。其中包括電子工程、電子信息、通信、航天航空、工業(yè)自動(dòng)化、家電、生物工程等等。而且隨著大規(guī)模集成電路技術(shù)的發(fā)展和EDA工具軟件功能的不斷加強(qiáng),所涉及的領(lǐng)域還將不斷擴(kuò)大;而從縱向看,EDA技術(shù)實(shí)現(xiàn)的硬件形式和涉及的理論模型必將走向一個(gè)統(tǒng)一的結(jié)合體,即單片系統(tǒng)SOC或SOPC。
評(píng)論