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

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

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

3天內不再提示

從算法到RTL實現的問題

OpenFPGA ? 來源:OpenFPGA ? 作者:OpenFPGA ? 2022-04-28 09:50 ? 次閱讀

針對近日技術交流群里討論的算法與RTL實現問題,寫篇文章,做一次總結。

微信公眾號《FPGA算法工程師》技術交流群里,交流氣氛十分熱烈,大家針對學習和工作中遇到的難點進行交流和討論,可謂受益匪淺。

新手遇到的是新問題,對于有相關經驗的工程師而言,可能都遇到過。

作為算法、FPGA和IC等集中交流的平臺,群賢畢至,集思廣益,解決大家對相關知識和技術上的困惑,讓問題變得更簡單。

群友們提到一個很多人都會遇到的現實問題:

“把一個算法用RTL實現,有哪些比較科學的步驟?第一步干什么?第二步干什么?第三步干什么……?”

25fd8232-c68c-11ec-bce3-dac502259ad0.png

這個問題,對于FPGA、ASIC等邏輯電路設計人員來講,是非常重要的問題。

通常來講,我們做算法實現,需要有對標的算法模型,作為驗證硬件邏輯設計是否正確的參考依據。

我們首先要根據實際需求,針對某方面的信號處理問題,做一個鏈路級或模塊級快速仿真驗證設計。最常見的比如通過MATLAB/C/C++等軟件環境進行設計和驗證。

26274ebe-c68c-11ec-bce3-dac502259ad0.png

軟件環境可以快速搭建仿真模型,并且進行驗證,為硬件RTL實現提供參考依據。在具體算法設計時,必須考慮數據流的處理過程:數據從哪里來,數據需要經過哪些步驟處理,處理之后送到哪里。

接下來,我們需要將MATLAB、C++等算法模型由浮點轉為定點,這個工作可以做好之后再去做邏輯設計,也可以省略,但一定要清楚是如何定點的。

做好算法設計后,需要進行性能評估,看是否符合預期要求,不符合則進一步優化,或者換一種設計方法。

在做邏輯實現之前,還有一個重要工作,就是對算法處理步驟進行一步一步分解,解決如何從a到b再到c的過程,落實到加減乘除。

當算法實際滿足要求后,則考慮邏輯實現的問題。

首先,建議采用自頂向下的設計思想,進行系統架構設計,明確整個處理過程,需要執行哪些功能,涉及哪些接口

26520e7e-c68c-11ec-bce3-dac502259ad0.png

接下來,選芯片器件,評估資源占用情況,評估需要用多少乘法器,除法器,DSP,BRAM,GT等。

其次,評估處理時間要求,是否需要實時性處理,給予多少時間來處理,進而評估所需時鐘頻率,以及是否需要存在多個時鐘域處理。

2674f1f0-c68c-11ec-bce3-dac502259ad0.png

對于信號處理系統,有的需要實時處理,有的則不需要實時處理。最具挑戰的無疑是實時性要求高的通信、雷達和圖像等領域的信號處理問題。

首先解決信號處理中的算法問題,為實現某一處理過程,需要分哪些步驟,最終得到什么樣的結果。

為了實現實時處理,邏輯電路該怎么去設計?

26932094-c68c-11ec-bce3-dac502259ad0.png

于是,算法問題既要研究如何處理數據流的問題,也要研究如何快速處理的問題。

電路實現時,則需要考慮資源消耗、并行處理結構,流水處理和控制邏輯。

26a9990a-c68c-11ec-bce3-dac502259ad0.png

如果有處理速率要求,則需考慮并行+流水的處理方式,并考慮單時鐘下的數據位寬。

同時,務必明確數據流向,前后級接口,功能模塊內部RTL邏輯處理,細化到每個時鐘應該怎么處理,step by step。

26d59852-c68c-11ec-bce3-dac502259ad0.png

以上都比較明確后,可以著手進行RTL設計。RTL設計的核心,便是寄存器RAM和FSM的靈活使用。其中,FSM占據了大部分功能。通常情況下,我們不只是操作純數據流,而是在各種控制信號和參數下進行設計,此時涉及各種FSM和選擇器設計,并注意是否需要進行流控。

26ee1b66-c68c-11ec-bce3-dac502259ad0.png

RTL代碼設計完成之后,進行TestBench平臺搭建和仿真驗證是必要的,特別是對于復雜功能模塊或系統設計而言。經驗再豐富的工程師,也不敢保證,不經過仿真驗證直接上板一定沒問題。

驗證也是一門重要的技術,這也是為什么存在IC驗證崗位,目的就是為芯片成功流片嚴格把關,一旦流片失敗,損失重大,影響深遠。

FPGA的開發設計,同樣需要進行仿真驗證。通常,我們可以通過算法鏈路產生所需激勵源,通過TestBench對功能模塊進行驗證,并進行結果對比分析。重點解決兩個問題:

一是驗證邏輯時序是否存在問題,比如信號是否對齊,有無接口處理不當導致數據丟失等。

二是信號處理過程是否得當,數據位寬、精度等是否符合算法要求。

解決功能性問題后,就需要考慮性能問題。定點是否合適,與浮點算法性能的差異有多大,或者軟件中的定點處理與邏輯電路定點處理,誤差有多大。在不斷驗證過程中,優化算法設計和邏輯電路設計。

剩下的邏輯綜合、實現、比特流生成和調試等環節,屬于常規操作,但對于邏輯綜合、實現中的時序約束和相關策略設置,也是十分重要的。

26fabb28-c68c-11ec-bce3-dac502259ad0.png

最后,用一張圖總結如何從算法到RTL實現。

2709a3c2-c68c-11ec-bce3-dac502259ad0.png

本文只是粗略地分析了算法到RTL代碼實現之間的邏輯關系,以及從實現角度,我們應該怎么去著手。

具體到某個信號處理算法實現時,必須清楚整個信號處理過程,對算法一步一步分解,再對信號流、定點和接口進行設計。

做任何事情之前,先謀劃布局,磨刀不誤砍柴工,扎扎實實做好每一步,功到自然成。

---END---

審核編輯 :李倩

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

    關注

    23

    文章

    4625

    瀏覽量

    93142
  • RTL
    RTL
    +關注

    關注

    1

    文章

    385

    瀏覽量

    59887

原文標題:從算法到RTL實現,FPGA工程師該怎么做?

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    【「算法電路—數字芯片算法的電路實現」閱讀體驗】+閱讀第一章部分筆記

    工具和數字開發工具進行算法研究的主要工具有MATLAB、Python,以及普通的C/C++開發環境。數字前端開發的工具主要是Gvim、 VCS和Verdi Gvim是文本編輯器,工程師常用它來編輯RTL
    發表于 12-02 21:41

    【「算法電路—數字芯片算法的電路實現」閱讀體驗】+內容簡介

    內容簡介這是一本深入解讀基礎算法及其電路設計,以打通算法研發到數字IC設計的實現屏障,以及指導芯片設計工程師從底層掌握復雜電路設計與優化方法為目標的專業技術書。任何芯片(如WiFi芯片、5G芯片
    發表于 11-21 17:14

    【「算法電路—數字芯片算法的電路實現」閱讀體驗】+介紹基礎硬件算法模塊

    作為嵌入式開發者往往比較關注硬件和軟件的協調。本書介紹了除法器,信號發生器,濾波器,分頻器等基本算法的電路實現,雖然都是基礎內容,但是也是最常用到的基本模塊。 隨著逆全球化趨勢的出現,過去的研發
    發表于 11-21 17:05

    【「算法電路—數字芯片算法的電路實現」閱讀體驗】+第九章sigma delta adc閱讀與分享

    思想幾行代碼實現降幀率算法。 https://mp.weixin.qq.com/s/9Vhe1rUCI8ZGBGGy3todcwPDM系列文章之二:一文搞懂PDM編碼基本原理1bit
    發表于 11-20 13:58

    【「算法電路—數字芯片算法的電路實現」閱讀體驗】+一本介紹基礎硬件算法模塊實現的好書

    作為嵌入式開發者往往比較關注硬件和軟件的協調。本書介紹了除法器,信號發生器,濾波器,分頻器等基本算法的電路實現,雖然都是基礎內容,但是也是最常用到的基本模塊,本書的內容比較對本人胃口。 我們先來
    發表于 11-20 13:42

    RTL8192CU驅動

    RTL8192CU驅動,支持WINXP/7/10
    發表于 10-29 10:17 ?2次下載

    名單公布!【書籍評測活動NO.46】算法電路 | 數字芯片算法的電路實現

    :elecfans123)領取書籍進行評測,如在5個工作日內未聯系,視為放棄本次試用評測資格! 《算法電路——數字芯片算法的電路實現
    發表于 10-09 13:43

    C加密算法實現

    電子發燒友網站提供《C加密算法實現.pdf》資料免費下載
    發表于 09-20 11:10 ?1次下載
    C加密<b class='flag-5'>算法</b>的<b class='flag-5'>實現</b>

    新書推薦 | TSMaster開發入門精通

    書名:TSMaster開發入門精通書號:9787302667193作者:楊金升劉矗劉功申定價:99.80元《CANoe開發入門精通》作者又一力作!本書旨在幫助廣大汽車工業領域的
    的頭像 發表于 08-30 12:37 ?606次閱讀
    新書推薦 | TSMaster開發<b class='flag-5'>從</b>入門<b class='flag-5'>到</b>精通

    RTL8187L和802.11n

    802.11n:802.11n是IEEE制定的一種無線傳輸標準,用于實現高速無線網絡連接。它支持多輸入多輸出(MIMO)和40MHz頻帶寬度,可以將數據傳輸速率提高600Mbps或更高。此標準通常在
    發表于 08-24 14:23

    名單公布!【書籍評測活動NO.40】數字IC設計入門,多角度透視芯片設計

    共4項。移知課程“算法RTL實現”主講人。 申請時間 2024年8月8日——2024年9月8日 活動參與方式 1、在本帖下方留言回帖
    發表于 08-08 15:31

    FPGA能實現什么樣的算法

    FPGA功能如此強大,請問用FPGA能實現或者比較適合實現什么樣的算法
    發表于 05-26 20:18

    FCom解讀熱敏晶振與溫補晶振:結構原理,差異使用條件

    解讀熱敏晶振與溫補晶振:結構原理,差異使用條件 一、結構組成 二、工作原理 三、相似點 四、區別 五、使用條件
    的頭像 發表于 05-23 12:04 ?1935次閱讀
    FCom解讀熱敏晶振與溫補晶振:<b class='flag-5'>從</b>結構<b class='flag-5'>到</b>原理,<b class='flag-5'>從</b>差異<b class='flag-5'>到</b>使用條件

    基于樹莓派5的RTL仿真體驗

    《基于樹莓派5的RTL仿真體驗》 對于FPGA或者RTL愛好者來講,樹莓派5開發板可以運行RTL仿真,仿真工具使用iverilog,波形工具使用gtkwave。為什么是這些?因為工具免費且對硬件性能
    發表于 04-30 17:35

    如何通過優化RTL減少功耗

    對于功耗估算來說,架構階段為時過早,物理設計階段為時已晚。有一種趨勢是在項目的RTL階段分析power hot spots。與后期分析相比,基于 RTL 的功耗分析更快、更容易執行,迭代時間更短。
    的頭像 發表于 04-05 09:15 ?2236次閱讀
    如何通過優化<b class='flag-5'>RTL</b>減少功耗
    主站蜘蛛池模板: 亚洲欧美视频| 日本免费不卡视频| 国产精品资源在线观看| 五月激情综合丁香色婷婷| 一级做a爰片久久毛片一| 男人视频在线| 国产人成午夜免费噼啪视频| 中文字幕123| 国产福利vr专区精品| 亚洲激情视频| 色版视频| 美国色网站| 四虎影院在线播放| 色婷婷精品综合久久狠狠| 日韩色中色| 久久免费特黄毛片| 大尺度在线| 国产亚洲3p一区二区三区| 欧美18同性gay视频| 狠狠色狠狠色综合久久一| 成年免费大片黄在线观看免费| 精品欧美小视频在线观看| 丁香婷婷在线观看| 天天做天天爱天天爽综合网| 美女丝袜长腿喷水gif动态图| good韩国理论在线三级| 手机在线亚洲| 色香视频一sxmv首页| 久久综合欧美成人| 夜夜春夜夜夜夜猛噜噜噜噜噜| 欧美黄色大片免费观看| 黄色在线| 亚洲第一页在线| 毛片官网| 午夜欧美精品久久久久久久| 99久久免费午夜国产精品| 久久久久久午夜精品| 色播视频在线观看免费| 国产精品免费观看网站| 成人看片在线观看| 免费又爽又黄1000禁片|