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