FPGA設(shè)計(jì)工具淺談
作為一個(gè)負(fù)責(zé)FPGA企業(yè)市場(chǎng)營(yíng)銷團(tuán)隊(duì)工作的人,我不得不說(shuō),由于在工藝技術(shù)方面的顯著成就以及硅芯片設(shè)計(jì)領(lǐng)域的獨(dú)創(chuàng)性,FPGA正不斷實(shí)現(xiàn)其支持片上系統(tǒng)設(shè)計(jì)的承諾。隨著每一代新產(chǎn)品的推出,FPGA在系統(tǒng)中具有越來(lái)來(lái)越多的功能,可作為協(xié)處理器、DSP 引擎以及通信平臺(tái)等,在某些應(yīng)用領(lǐng)域甚至還可用作完整的片上系統(tǒng)。
因此,在摩爾定律的作用下,F(xiàn)PGA產(chǎn)品的門(mén)數(shù)量不斷增加,性能與專門(mén)功能逐漸加強(qiáng),使得FPGA在電子系統(tǒng)領(lǐng)域能夠取代此前只有ASIC和ASSP才能發(fā)揮的作用。不過(guò),說(shuō)到底,F(xiàn)PGA必須要有適當(dāng)?shù)脑O(shè)計(jì)工具輔助,讓設(shè)計(jì)人員充分發(fā)揮其作用,否則再好的產(chǎn)品也毫無(wú)意義。
毫無(wú)疑問(wèn),隨著FPGA硅芯片的更新?lián)Q代、推陳出新,F(xiàn)PGA工具在改進(jìn)綜合運(yùn)行時(shí)間、編譯時(shí)間以及布局布線算法方面取得重大進(jìn)步的同時(shí),實(shí)現(xiàn)了更低的功耗和更高的性能。不過(guò),上述進(jìn)步基本沒(méi)有體現(xiàn)在嵌入式軟件方面,而且DSP設(shè)計(jì)人員或系統(tǒng)架構(gòu)工程師并不熟悉FPGA設(shè)計(jì)工作。盡管FPGA的性能和定制要優(yōu)于MPU和ASSP,但許多設(shè)計(jì)團(tuán)隊(duì)由于不熟悉 FPGA設(shè)計(jì),仍然選擇MPU或ASSP。這種情況真的不該埋怨設(shè)計(jì)團(tuán)隊(duì),畢竟MPU或ASSP的設(shè)計(jì)工作要簡(jiǎn)便快捷一些,而且學(xué)習(xí)新的設(shè)計(jì)技術(shù)需要時(shí)間,導(dǎo)致設(shè)計(jì)團(tuán)隊(duì)的設(shè)計(jì)周期延長(zhǎng)。若想幫助FPGA用戶獲得成功,就必須實(shí)現(xiàn)設(shè)計(jì)工作的自動(dòng)化,但又不能強(qiáng)行定義用戶的設(shè)計(jì)流程。
從另一個(gè)角度來(lái)看,要想進(jìn)一步推廣FPGA,就需要在現(xiàn)有VHDL和Verilog設(shè)計(jì)人員的基礎(chǔ)上進(jìn)一步滿足嵌入式軟件以及DSP等其他設(shè)計(jì)領(lǐng)域的需求和設(shè)計(jì)方法要求。這些設(shè)計(jì)人員有自己的具體要求,需要不同的設(shè)計(jì)方法和語(yǔ)言。應(yīng)構(gòu)建一個(gè)適當(dāng)?shù)钠脚_(tái),使 FPGA廠商及其第三方生態(tài)合作伙伴能夠在此基礎(chǔ)上滿足具體應(yīng)用及市場(chǎng)的需求。
例如,隨著最新Virtex-6與Spartan-6 FPGA系列產(chǎn)品的推出,賽靈思開(kāi)始向客戶推薦“目標(biāo)設(shè)計(jì)平臺(tái)”的理念。
目標(biāo)設(shè)計(jì)平臺(tái)在充分考慮到客戶設(shè)計(jì)進(jìn)程和成功需求的基礎(chǔ)上集成了五大關(guān)鍵組件:FPGA器件、IP核、采用業(yè)界驗(yàn)證方法的設(shè)計(jì)環(huán)境、強(qiáng)大的參考設(shè)計(jì)和可擴(kuò)展的開(kāi)發(fā)板和套件。作為上述方案的一部分,我們還優(yōu)化了工具,旨在為邏輯、嵌入式、DSP以及系統(tǒng)級(jí)設(shè)計(jì)等特定設(shè)計(jì)領(lǐng)域提供所需的各種工具和IP,確保提高設(shè)計(jì)團(tuán)隊(duì)的工作效率。邏輯設(shè)計(jì)人員自然要確保獲得含有所有傳統(tǒng)FPGA工具的完整RTL設(shè)計(jì)流程,以滿足高級(jí)平面布置、在線驗(yàn)證以及漸增實(shí)施的需求。不過(guò),F(xiàn)PGA廠商需要從其他各領(lǐng)域設(shè)計(jì)人員的切實(shí)需求出發(fā),以便使嵌入式與DSP設(shè)計(jì)人員以及系統(tǒng)架構(gòu)師能將設(shè)計(jì)工作的各方面聯(lián)系在一起,高效地使用可編程邏輯。
FPGA 廠商多年來(lái)一直支持嵌入式和數(shù)字處理技術(shù)的發(fā)展,并目睹了市場(chǎng)的巨大變革。尤其是過(guò)去兩年半以來(lái),我們看到了平均有20%的嵌入式設(shè)計(jì)客戶正在使用一個(gè)以上的處理器。過(guò)去,客戶面臨的挑戰(zhàn)主要是如何自己獨(dú)立完成設(shè)計(jì)工作,而現(xiàn)在,必須為客戶提供可簡(jiǎn)化系統(tǒng)生成的更加自動(dòng)化的設(shè)計(jì)流程,充分發(fā)揮多處理器的作用。
嵌入式設(shè)計(jì)人員需要一種新的設(shè)計(jì)方法,讓他們能夠快速配置硬件平臺(tái),并創(chuàng)建包括適當(dāng)?shù)膸?kù)、自動(dòng)生成的設(shè)備驅(qū)動(dòng)程序及完整開(kāi)發(fā)板支持套件的定制軟件設(shè)計(jì)方案。這種高效環(huán)境能加速開(kāi)發(fā)進(jìn)程,節(jié)約開(kāi)發(fā)時(shí)間,從而避免容易出錯(cuò)的手動(dòng)操作。此外,設(shè)計(jì)人員還要能夠創(chuàng)建自己的定制處理平臺(tái),將外部功能集成到FPGA中,從而降低系統(tǒng)成本。這可幫助他們?cè)谙到y(tǒng)特性與尺寸間,以及軟/硬件特性間實(shí)現(xiàn)最佳平衡,從而實(shí)現(xiàn)最高性價(jià)比。
下面就來(lái)談?wù)凞SP設(shè)計(jì)流程。為了幫助在FPGA中實(shí)施復(fù)雜算法的算法開(kāi)發(fā)人員,我們要為設(shè)計(jì)人員提供高度自動(dòng)化的流程,而且即便設(shè)計(jì)人員不熟悉硬件描述語(yǔ)言,也不影響設(shè)計(jì)工作。設(shè)計(jì)人員應(yīng)當(dāng)在整體系統(tǒng)開(kāi)發(fā)流程早期階段就能使用DSP設(shè)計(jì)環(huán)境來(lái)開(kāi)發(fā)高級(jí)算法的硬件解決方案,或組裝全套DSP 系統(tǒng),便于生產(chǎn)。
DSP設(shè)計(jì)流程通常包括以下步驟:
● 用The MathWorks推出的業(yè)界標(biāo)準(zhǔn)工具配合賽靈思的System Generator與AccelDSP 綜合工具開(kāi)發(fā)并驗(yàn)證硬件模型。
● 生成HDL位和周期仿真精確的電路圖,也就是說(shuō),其行為確保符合原始模型中的功能。
● 設(shè)計(jì)綜合并生成比特流,用于 FPGA的編程?,F(xiàn)在FPGA設(shè)計(jì)人員無(wú)須將DSP工程師或系統(tǒng)架構(gòu)師的設(shè)計(jì)方案轉(zhuǎn)變?yōu)镠DL,從而避免了既耗時(shí)且容易出錯(cuò)的步驟。
在本模型中,設(shè)計(jì)人員可使用過(guò)濾器,過(guò)濾器的系數(shù)需要適應(yīng)于即將通過(guò)系統(tǒng)的數(shù)據(jù),因此我們可通過(guò)共享存儲(chǔ)器向過(guò)濾器添加處理器組件。設(shè)計(jì)人員還能在系統(tǒng)生成器中調(diào)用軟件開(kāi)發(fā)套件,編寫(xiě)一些C代碼,以便根據(jù)數(shù)據(jù)更新系數(shù),并編輯整個(gè)模塊,將其下載到開(kāi)發(fā)板上進(jìn)行實(shí)時(shí)調(diào)試,仍用 SimuLink或MATLAB測(cè)試基準(zhǔn)實(shí)現(xiàn)硬件協(xié)同仿真。最后,如需要修改某些C 代碼,設(shè)計(jì)人員可即時(shí)進(jìn)行修改,且無(wú)須對(duì)設(shè)計(jì)方案進(jìn)行再編譯。
系統(tǒng)架構(gòu)工程師的角色就是完成整個(gè)設(shè)計(jì)工作,根據(jù)設(shè)計(jì)方案的復(fù)雜程度,他們可能需要在嵌入式、DSP和 RTL等領(lǐng)域跨領(lǐng)域工作。這時(shí),F(xiàn)PGA廠商就需要提供系統(tǒng)級(jí)和RTL級(jí)工具。
系統(tǒng)設(shè)計(jì)的理念需要集成不同領(lǐng)域的技術(shù)知識(shí),在FPGA中更好地利用資源。隨著應(yīng)用對(duì)DSP功能的依賴程度越來(lái)越高,我們可讓處理器充分利用加速器的作用,從而大幅提高性能。事實(shí)上,F(xiàn)PGA專用系統(tǒng)設(shè)計(jì)的一大優(yōu)勢(shì)就在于它能執(zhí)行系統(tǒng)分區(qū),控制軟硬件實(shí)施的平衡。對(duì)許多用戶來(lái)說(shuō),已經(jīng)沒(méi)必要對(duì)低級(jí)HDL語(yǔ)言進(jìn)行算法優(yōu)化。
FPGA為設(shè)計(jì)、實(shí)施和修改片上系統(tǒng)級(jí)硬件提供了高度的靈活性,在目前全球產(chǎn)業(yè)面臨巨大壓力的情況下,這種靈活性對(duì)設(shè)計(jì)人員尤為重要,而且正不斷服務(wù)于更多的產(chǎn)業(yè)、公司和工程師。甚至在產(chǎn)品的設(shè)計(jì)階段,電子系統(tǒng)的設(shè)計(jì)人員就面臨著不斷加劇的商業(yè)挑戰(zhàn)和日益苛刻的產(chǎn)品要求,所以必須利用 FPGA來(lái)解決難題,否則就難以工作。FPGA廠商要與合作伙伴一道致力于提供新的設(shè)計(jì)方法,幫助客戶跟上快速發(fā)展的業(yè)務(wù)和產(chǎn)品要求的步伐,不斷實(shí)現(xiàn)進(jìn)步。不僅要滿足FPGA硅芯片的發(fā)展要求,還要滿足相關(guān)工具發(fā)展的要求,從而提供更加以市場(chǎng)為導(dǎo)向的、用戶更加友好的設(shè)計(jì)體驗(yàn)。
評(píng)論