FPGA(Field-Programmable Gate Array),即現(xiàn)場可編程門陣列,它作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn),既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)。主要用于信號處理及各類高速模擬仿真。

以PWM信號的捕獲為例,說明FPGA與CPU(不考慮芯片專用外設(shè))在處理上的差異。當(dāng)CPU通過GPIO對PWM信號采樣時,受限于CPU的運(yùn)算周期,無法做到高速的采集,獲得的信號與原始信號有較大偏差,并計算出錯誤的占空比:

采用FPGA這種“硬電路”的方式采集信號,可以有效獲得信號的信息,誤差取決于采樣周期(如100MHz下約為10ns):

對于實(shí)時仿真而言,模型的計算只需要占空比信息即可,因此FPGA可以作為系統(tǒng)的“協(xié)處理器”存在,負(fù)責(zé)信號處理或高動態(tài)性部分模型運(yùn)算,并將結(jié)果與CPU交互:

FPGA算法開發(fā)
FPGA的開發(fā)與傳統(tǒng)CPU、DSP的開發(fā)有很大不同。FPGA以并行運(yùn)算為主,以硬件描述語言HDL來實(shí)現(xiàn)。開發(fā)者需具備較強(qiáng)的數(shù)字電路知識及邏輯思維能力。
MATLAB/Simulink平臺的HDL Coder工具箱,有效的降低FPGA算法開發(fā)的難度;使工程師只需具備基礎(chǔ)知識即可在Simulink環(huán)境中搭建FPGA算法,并最終部署在Speedgoat或自己的FPGA平臺上。以Speedgoat平臺為例,基本步驟如下:
1. Simulink環(huán)境中搭建算法模型
開發(fā)者可以使用Simulink環(huán)境中的HDL Coder/DSP System Toolbox/Communication System Toolbox/ Vision HDL Toolbox等工具箱開發(fā)算法,并將算法放置在Subsystem內(nèi),仿真調(diào)試。Simulink環(huán)境支持以單精度浮點(diǎn)的方式開發(fā)FPGA算法,大大降低開發(fā)難度。

2. HDL Workflow Advisor
在Subsystem上右鍵選擇HDL Workflow Advisor,并在彈出的界面中依次設(shè)置FPGA板卡、芯片主頻,以及Subsystem inport和outport與硬件板卡IO通道的映射關(guān)系:

依次完成Workflow Advisor后續(xù)的task。HDL Workflow Advisor會完成模型檢查、HDL代碼生成、綜合、分析、映射等工作(需要Xilinx相關(guān)軟件,僅在后臺調(diào)用)。在此過程中,依據(jù)設(shè)置,HDL Coder可以完成Delay Balance,關(guān)鍵路徑尋找、代碼模型鏈接等功能。
最終HDL Workflow Advisor可以生成一個接口模型,取代原先的算法Subsystem:

3. 編譯下載運(yùn)行
FPGA模型部分編譯完,進(jìn)一步完成整個模型的編譯,生成可執(zhí)行程序下載到Speedgoat硬件上,系統(tǒng)會自動區(qū)分CPU和FPGA,并配置兩者間的通訊。
完整的流程如下:

詳細(xì)流程可參見HDL Coder工具箱的幫助文檔及Speedgoat相應(yīng)幫助文檔。
在不遠(yuǎn)的將來,MATLAB將完善物理模型對HDL代碼生成的支持。屆時物理模型在完成離線仿真后,可直接遷移到Speedgoat實(shí)時仿真平臺,無縫過渡到基于FPGA的半實(shí)物仿真測試階段,這對于電氣、電力電子領(lǐng)域有重要的意義。
Speedgoat FPGA解決方案
基于HDL Coder的模型化算法開發(fā)基礎(chǔ)上,Speedgoat針對不同的應(yīng)用領(lǐng)域,提供了大量的可編程FPGA硬件模塊:

各模塊具備不同的IO通道和芯片資源,完全支持HDL Coder的模型化算法開發(fā)。當(dāng)單FPGA模塊資源不夠時,可通過Xilinx Aurora協(xié)議,將彼此直接連接,組成更大規(guī)模的FPGA“計算集群”:

-
處理器
+關(guān)注
關(guān)注
68文章
20262瀏覽量
252635 -
FPGA
+關(guān)注
關(guān)注
1660文章
22424瀏覽量
636772 -
芯片
+關(guān)注
關(guān)注
463文章
54041瀏覽量
466542
發(fā)布評論請先 登錄
Aumovio案例研究 | 軟件即產(chǎn)品(SWaap)背景下的模型系統(tǒng)工程與閉環(huán)系統(tǒng)驗(yàn)證
思爾芯原型驗(yàn)證系統(tǒng)助力昆明湖V2成功啟動GUI OpenEuler
如何使用FPGA實(shí)現(xiàn)SRIO通信協(xié)議
如何利用Verilog HDL在FPGA上實(shí)現(xiàn)SRAM的讀寫測試
基于優(yōu)化算法的黑盒系統(tǒng)驗(yàn)證策略
25年11月上海FPGA算法實(shí)現(xiàn)與應(yīng)用技術(shù)高級研修分享
西門子 Veloce CS 助力 Arm Neoverse 計算子系統(tǒng)驗(yàn)證與確認(rèn)
基于FPGA實(shí)現(xiàn)FOC算法之PWM模塊設(shè)計
基于FPGA的壓縮算法加速實(shí)現(xiàn)
綠氫系統(tǒng) PEM 電解槽直流接入仿真驗(yàn)證深度解析
西門子桌面級原型驗(yàn)證系統(tǒng)Veloce proFPGA介紹
新思科技硬件加速驗(yàn)證技術(shù)日即將來襲
FPGA EDA軟件的位流驗(yàn)證
進(jìn)群免費(fèi)領(lǐng)FPGA學(xué)習(xí)資料!數(shù)字信號處理、傅里葉變換與FPGA開發(fā)等
技術(shù)分享 | AVM合成數(shù)據(jù)仿真驗(yàn)證方案
如何利用Speedgoat 系統(tǒng)驗(yàn)證 FPGA 算法的方法介紹
評論