在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

在FPGA上建立MATLAB和Simulink算法原型

FPGA設計論壇 ? 來源:未知 ? 2023-08-06 10:45 ? 次閱讀
wKgaomToPW-AS6rKAAAAuFYhST8378.png

點擊上方藍字關注我們

芯片設計和驗證工程師通常要為在硅片上實現的每一行RTL代碼寫出多達10行測試平臺代碼。驗證任務在設計周期內可能會占用50%或更多的時間。盡管如此辛 苦,仍有接近60%的芯片存在功能瑕疵,需要返工。由于HDL仿真不足以發現系統級錯誤,芯片設計人員正利用FPGA來加速算法創建和原型設計。

利用FPGA處理大型測試數據集可以使工程師快速評估算法和架構并迅速做出權衡。工程師也可以在實際環境下測試設計,避免因使用HDL仿真器耗大量時 間。系統級設計和驗證工具(如
matlabSimulink)通過在FPGA上快速建立算法原型,可以幫助工程師實現這些優勢。

本文將介紹使用MATLAB和Simulink創建FPGA原型的最佳方法。這些最佳方法包括:在設計過程初期分析定點量化的效應并優化字長,產生更 小、更高效的實現方案;利用自動HDL代碼生成功能,更快生成FPGA原型;重用具有HDL協同仿真功能的系統級測試平臺,采用系統級指標分析HDL實現 方案;通過FPGA在環仿真加速驗證(圖1)。

wKgaomToPW-ANDvUAABlixlUNas404.jpg


為什么在FPGA上建立原型?
在FPGA上建立算法原型可以增強工程師的信心,使他們相信自己的算法在實際環境中的表現能夠與預期相符。除了高速運行測試向量和仿真方案,工程師還可 以利用FPGA原型試驗軟件功能以及諸如RF模擬子系統的相關系統級功能。此外,由于FPGA原型運行速度更快,可以使用大型數據集,暴露出仿真模型未 能發現的缺陷。

采用HDL代碼生成功能的基于模型的設計可以使工程師有效地建立FPGA原型,如圖2所示。該圖向我們展示了這樣一種現實情況:工程師經常縮短詳細設計 階段,試圖通過盡快開始硬件開發階段以符合開發周期的要求。現實中,當工程師發現定點算法達不到系統要求時,就得在HDL創建階段重新審視詳細設計階段。這樣的重疊工作將使HDL創建階段延長(如紫色長條所示),并可能引發各種設計問題(如膠合邏輯或設計補丁)。

wKgaomToPW-AQH4eAABbwfCU2EM393.jpg


由于自動HDL代碼生成流程比手工編碼快,工程師得以把節省下來的時間投入到詳細設計階段,生成更優質的定點算法。與手動的工作流程相比,這種方法使工程師能夠以更快的速度生成質量更佳的FPGA原型。

數字下變頻器案例研究
為了說明采用基于模型的設計建立FPGA原型的最佳方法,可借助數字下變頻器(DDC)來進行案例研究。在眾多的
通信系統中,DDC是一種普通的構建塊 (圖3)。該構建塊用于將高速通帶輸入轉換為低速基帶輸出,以便使用較低采樣率時鐘進行處理。這樣,在硬件實施階段便可降低功耗、節約資源。DDC的主要 部件包括:數控振蕩器(NCO)、混頻器和數字濾波器鏈路(圖4)。

wKgaomToPW-AdpbhAABENhZ0GW4343.jpg


在設計過程初期分析定點量化的效應
工程師通常使用浮點數據類型來測試新的構想和開發初始算法。然而,FPGA和ASIC硬件實現要求轉換為定點數據類型,而這往往會造成量化誤差。使用手 動工作流程時,通常在HDL編碼過程中執行定點量化。在該工作流程中,工程師無法輕易地通過比較定點表示形式和浮點參考值量化定點量化的效應,而分析針對 溢出的HDL實現也同樣不易。

為了明智確定所需的小數位數,在開始HDL編碼過程之前,工程師需要某種方法來比較浮點仿真結果與定點仿真結果。增加小數位數可以減小量化誤差;不過,這種方法需要增加字長(區域增多、功耗升高)。

例如,圖5展示了DDC濾波器鏈路中低通濾波器第一階段浮點與定點仿真結果的差異。這些差異是因定點量化所致。上方圖形顯示了浮點與定點仿真結果的重疊效果。下方圖形顯示了圖中每一點的量化誤差。工程師可能需要根據設計規范來增加小數位數以減小由此引出的量化誤差。

wKgaomToPW-AaZc5AABvZHRy7Io959.jpg


除了選擇小數位數之外,工程師還需要優化字長,實現低功耗和區域優化的設計。

在DDC案例研究中,工程師使用Simulink定點模塊組將部分數字濾波器鏈路的字長減少了8位之多(圖6)。

wKgaomToPW-Aei6dAABjoogEJaM814.jpg


利用自動HDL代碼生成功能更快生成FPGA原型
在生成FPGA原型時,HDL代碼必不可少。工程師手工編寫了Verilog或VHDL代碼。作為替代選擇,使用HDL編碼器自動生成HDL代碼具有眾 多明顯優勢。工程師可以快速地評估能否在硬件中實施當前算法;迅速評估不同的算法實現,選擇最佳方案;并在FPGA上更快地建立算法原型。

對于DDC案例研究而言,可以在55秒內生成了5780行HDL代碼。工程師可以瀏覽并很快理解代碼(圖7)。自動代碼生成功能允許工程師對系統級模型進行更改,并且,通過重新生成HDL代碼,該功能可以在數分鐘之內生成更新的HDL實現方案。

wKgaomToPXCAAwqdAABl7dJQuYU401.jpg


重用具有協同仿真功能的系統級測試平臺進行HDL驗證
功能驗證:HDL協同仿真使工程師能夠重用Simulink模型,將激勵驅動至HDL仿真器,并對仿真輸出執行交互式系統級分析(圖8)。

wKgaomToPXCAAZpfAABFH2ffuNw691.jpg


HDL仿真僅提供數字波形輸出,而HDL協同仿真則提供了顯示HDL代碼的完整視圖,并可以訪問Simulink的全套系統級分析工具。當工程師觀察到預期結果與HDL仿真結果存在差異時,可借助協同仿真進一步了解該失配所產生的系統級影響。

例如,在圖9中,頻譜儀視圖可以使工程師做出明智決定,忽略預期結果與HDL仿真結果之間的失配,其原因是該差異位于阻帶區。相比之下,數字波形輸出只 是將預期結果與HDL仿真結果的失配標記為誤差。盡管工程師最終可能得出相同的結論,但這將需要更多的時間完成所需的分析。

wKgaomToPXCANrD8AAB2twTbaQE089.jpg


測試覆蓋率:工程師可以使用HDL驗證工具、Simulink設計驗證工具和ModelSim/Questa自動執行代碼覆蓋率分析。在該工作流程 中,Simulink設計驗證工具可針對模型覆蓋率生成一套測試用例。HDL驗證工具自動使用這一套測試用例運行ModelSim/Questa,收集代 碼覆蓋率數據,以對生成的代碼加以全面分析。

使用FPGA在環仿真加速驗證
使用系統級仿真和HDL協同仿真驗證DDC算法之后,便可以立即在FPGA目標平臺上部署DDC算法。對算法執行基于FPGA的驗證(也稱為FPGA在 環仿真)可以增強對算法在現實環境中有效運行的信心。相比基于主機的HDL仿真,該驗證可以使工程師更快地運行測試方案。

對于DDC算法而言,可以使用Simulink模型驅動FPGA輸入激勵并分析FPGA的輸出(圖10)。與HDL協同仿真一樣,在Simulink中始終可以利用相關數據進行分析。

wKgaomToPXCAcO0zAAA4fXZfl8U467.jpg


圖11對比了HDL協同仿真和FPGA在環仿真這兩種用于DDC設計的驗證方法。在本案例中,FPGA在環仿真的速度是HDL協同仿真的23倍。這樣的 速度提升使工程師能夠運行更廣泛的測試用例并對其設計進行回歸測試。這使他們能夠識別出有待進一步分析的潛在問題區域。

wKgaomToPXCASRYUAABrEGYboVU006.jpg


盡管HDL協同仿真速度較慢,但它卻提高了HDL代碼的可見性。因此,它很適合針對FPGA在環仿真過程中發現的問題區域進行更詳細的分析。

本文小結
如果工程師遵循本文所述的四種最佳方法,開發FPGA原型將比傳統的手動工作流程快出許多,并能使工程師信心倍增。此外,工程師還可以在整個開發過程中 繼續優化自己的模型,并快速地重新生成有關FPGA實現的代碼。與依賴手工編寫HDL的傳統工作流程相比,這種能力可以顯著縮短設計迭代的周期。

wKgaomToPXCAKDIIAAAJM7aZU1A512.png

有你想看的精彩 至芯科技FPGA就業培訓班——助你步入成功之路、8月12號西安中心開課、歡迎咨詢! 基于FPGA的CAN總線通信節點設計 解析高速ADCDAC與FPGA的配合使用

wKgaomToPXCAEM_tAABUdafP6GM068.jpg

掃碼加微信邀請您加入FPGA學習交流群

wKgaomToPXGAYxzmAABiq3a-ogY771.jpgwKgaomToPXGASC1yAAACXWrmhKE764.png

歡迎加入至芯科技FPGA微信學習交流群,這里有一群優秀的FPGA工程師、學生、老師、這里FPGA技術交流學習氛圍濃厚、相互分享、相互幫助、叫上小伙伴一起加入吧!

點個在看你最好看


原文標題:在FPGA上建立MATLAB和Simulink算法原型

文章出處:【微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1630

    文章

    21777

    瀏覽量

    604710
收藏 人收藏

    評論

    相關推薦

    MathWorks積極推動MATLABSimulink在教學項目中的應用

    全球領先的數學計算軟件開發商 MathWorks 今天宣布,其 MATLABSimulink 平臺中國的高校教育中取得顯著成效。隨著科技的迅猛發展,國家新質生產力對未來人才提出了更高的創新
    的頭像 發表于 12-27 15:32 ?200次閱讀

    SimulinkMATLAB 的結合使用 Simulink中的信號處理方法

    工程和科學研究中,信號處理是一個重要的領域,涉及到信號的采集、分析、處理和生成。MATLAB 提供了豐富的信號處理工具箱,而 Simulink 提供了一個直觀的圖形界面,使得復雜的信號處理系統可以
    的頭像 發表于 12-12 09:25 ?419次閱讀

    分享兩則MATLABSimulink助力教學案例

    全球各地的高校都在使用 MATLABSimulink 開展教學與科研,幫助未來的工程師和科學家掌握未來世界工程項目與科學研究所要求的重要能力。讓我們一起來看看兩則 MATLAB
    的頭像 發表于 12-05 16:46 ?415次閱讀
    分享兩則<b class='flag-5'>MATLAB</b>和<b class='flag-5'>Simulink</b>助力教學案例

    Matlab/Simulink/Stateflow建模開發及仿真測試

    matlab 模擬仿真 熟悉Matlab/Simulink/Stateflow建模開發及仿真測試,熟悉V模型開發流程。 熟悉自動代碼生成,能夠編寫或者配置自動代碼生成腳本。
    發表于 10-24 17:23

    FPGA仿真黑科技\"EasyGo Vs Addon \",助力大規模電力電子系統仿真

    仿真靈活性EasyGo FPGACoder是一種基于FPGA的快速算法開發技術,能將用戶基于Simulink開發的算法快速實現在
    發表于 10-23 18:18

    FPGA算法工程師、邏輯工程師、原型驗證工程師有什么區別?

    邏輯工程師和 FPGA 原型驗證工程師工作重點和職責存在一定的區別: FPGA 算法工程師
    發表于 09-23 18:26

    利用Matlab函數實現深度學習算法

    Matlab中實現深度學習算法是一個復雜但強大的過程,可以應用于各種領域,如圖像識別、自然語言處理、時間序列預測等。這里,我將概述一個基本的流程,包括環境設置、數據準備、模型設計、訓練過程、以及測試和評估,并提供一個基于
    的頭像 發表于 07-14 14:21 ?2379次閱讀

    基于FPGA的實時邊緣檢測系統設計,Sobel圖像邊緣檢測,FPGA圖像處理

    60 為閾值得到圖8(a)和(b)。 通過對比可以看出,使用 FPGA 進行Sobel邊緣檢測能夠實現與 MATLAB 相近的檢測效果,驗證了算法的可行性。相對于 MATLAB
    發表于 05-24 07:45

    MathWorks宣布推出MATLABSimulink的2024a版本

    MathWorks宣布推出MATLABSimulink的2024a版本
    的頭像 發表于 04-07 14:03 ?684次閱讀
    MathWorks宣布推出<b class='flag-5'>MATLAB</b>和<b class='flag-5'>Simulink</b>的2024a版本

    電路仿真軟件simulink的工作原理

    SimulinkMATLAB的一個模塊,它采用圖形化的方式來創建動態系統模型并進行仿真分析。Simulink的工作原理主要基于模塊化的建模和仿真方式。
    的頭像 發表于 03-29 15:21 ?1805次閱讀

    電路仿真軟件simulink使用方法

    SimulinkMATLAB的一個重要組件,用于進行動態系統的建模和仿真。
    的頭像 發表于 03-29 14:25 ?2726次閱讀

    fpga原型驗證平臺與硬件仿真器的區別

    FPGA原型驗證平臺與硬件仿真器芯片設計和驗證過程中各自發揮著獨特的作用,它們之間存在明顯的區別。
    的頭像 發表于 03-15 15:07 ?1182次閱讀

    fpga原型驗證流程

    FPGA原型驗證流程是確保FPGA(現場可編程門陣列)設計正確性和功能性的關鍵步驟。它涵蓋了從設計實現到功能驗證的整個過程,是FPGA開發流程中不可或缺的一環。
    的頭像 發表于 03-15 15:05 ?1650次閱讀

    FPGAFPGA設計PCB的步驟詳解

    FPGA(Zynq? UltraScale+? MPSoC) 的 Ubuntu 22.04 桌面映像安裝了各種 EE 設計應用程序(包括 KiCad),并用它設計 PCB。
    的頭像 發表于 02-26 09:04 ?2040次閱讀
    <b class='flag-5'>在</b><b class='flag-5'>FPGA</b><b class='flag-5'>上</b>為<b class='flag-5'>FPGA</b>設計PCB的步驟詳解

    原型平臺是做什么的?proFPGA驗證環境介紹

    proFPGA是mentor的FPGA原型驗證平臺,當然mentor被西門子收購之后,現在叫西門子EDA。
    的頭像 發表于 01-22 09:21 ?1451次閱讀
    <b class='flag-5'>原型</b>平臺是做什么的?pro<b class='flag-5'>FPGA</b>驗證環境介紹
    主站蜘蛛池模板: 久久是精品| 国产男人搡女人免费视频| 亚洲丁香网| 天天免费| 黄黄视频在线观看| aa亚洲| 91夫妻视频| 国产成人系列| 性高清| 色多多在线观看播放| 欧美一级视频在线观看欧美| 美女18黄| free 欧美| 色天天天天综合男人的天堂| 国产精品夜夜春夜夜爽久久| 免费观看视频在线观看| 激情六月网| 丁香六月纪婷婷激情综合| 夜夜做夜夜爽| 精品午夜视频| rrr523亚洲国产片| 中日毛片| 日本黄大片在线观看| 韩国三级视频在线| 污夜影院| 欧美三级免费网站| 99久久国产免费 - 99久久国产免费| 天堂自拍| 奇米影视一区| 午夜短视频| 黄页网站在线| 亚洲日本在线观看视频| 亚洲精品视频网| 男人的天堂在线免费视频| 欧美日韩视频综合一区无弹窗| 韩国三级理论在线看中文字幕| 亚洲午夜一级毛片| se色成人亚洲综合| 99热最新网址| 欧美大片xxxxbbbb| 夜夜爽毛片|