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

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

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

3天內不再提示

把一個算法用RTL實現,有哪些比較科學的步驟?

sanyue7758 ? 來源:FPGA算法工程師 ? 2023-03-22 09:21 ? 次閱讀

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

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

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

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

64268772-c7e7-11ed-bfe3-dac502259ad0.png

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

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

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

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

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

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

645374e4-c7e7-11ed-bfe3-dac502259ad0.png

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

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

64721c28-c7e7-11ed-bfe3-dac502259ad0.png

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

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

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

648eb752-c7e7-11ed-bfe3-dac502259ad0.png

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

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

64a103da-c7e7-11ed-bfe3-dac502259ad0.png

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

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

64c14d2a-c7e7-11ed-bfe3-dac502259ad0.png

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

64db6bce-c7e7-11ed-bfe3-dac502259ad0.png

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

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

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

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

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

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

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

64ef333e-c7e7-11ed-bfe3-dac502259ad0.png

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

65182550-c7e7-11ed-bfe3-dac502259ad0.png

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

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






審核編輯:劉清

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

    關注

    1630

    文章

    21768

    瀏覽量

    604624
  • 邏輯電路
    +關注

    關注

    13

    文章

    494

    瀏覽量

    42658
  • asic
    +關注

    關注

    34

    文章

    1205

    瀏覽量

    120600
  • RTL
    RTL
    +關注

    關注

    1

    文章

    385

    瀏覽量

    59874

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

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

收藏 人收藏

    評論

    相關推薦

    算法RTL實現課程預覽 - 1

    算法RTL
    皮特派
    發布于 :2022年08月01日 14:53:52

    算法RTL實現課程預覽 -2

    算法RTL
    皮特派
    發布于 :2022年08月01日 15:03:15

    求教關于算法到硬件實現的問題

    本人大四,做一個關于腦電信號特征提取的算法分析,然后優化后用硬件實現,要求比較簡單,就是只要能把腦電信號中比如α波或者β波分離出來,通過對基本節律的頻域分析,提取其基本的強度等特征,進
    發表于 05-15 19:15

    如何用數字IC/FPGA實現算法

    主要內容包括:1. 為什么很多人覺得學習FPGA很困難,以及HDL學習的些誤區;2. 軟件和硬件在算法實現上的區別;3. 通過具體例子詳細講解了從算法的行為級建模向
    發表于 09-18 15:44

    想用FPGA實現雙邊濾波算法懂得能說下具體的實現步驟

    想用FPGA實現雙邊濾波算法懂得能說下具體的實現步驟
    發表于 03-21 15:41

    硬件實現EMD算法那種架構比較好?

    本人學生,在實驗室打算做EMD算法的硬件實現,看了些論文,感覺主要是單獨用FPGA實現,或者DSP+FPGA
    發表于 04-25 21:04

    請問能不能用CORDIC算法代替ROM表,FPGA實現CORDIC算法來控制AD9910?

    正在做一個課題,FPGA控制AD9910,但是本人想把基于ROM表的改成基于CORDIC算法的,這樣還能不能用FPGA實現控制AD9910,理論上應該可以的,但是不知道這樣有沒有意義
    發表于 12-01 08:47

    請問IMU和AHRS算法stm32如何實現

    最近在直研究四軸的些東西,不過聽到學長說四軸IMU算法比較好,所以我想問下IMU 和AH
    發表于 04-19 06:36

    Zynq 7020 FPGA做一個RTL引腳規劃

    你好,我目前正在為我的Zynq 7020 FPGA做一個RTL引腳規劃。我非常基本的問題。我在PL EMI上的PS和AXI EMC v
    發表于 04-10 10:21

    OPB總線仲裁器的RTL設計與FPGA實現

    本文詳細介紹了OPB總線仲裁器的信號和仲裁機理。在QuartusII8.0平臺上,分別用固定優先級算法和LRU算法,硬件描述語言(verilog HDL)對OPB總線仲裁器進行了RTL
    發表于 07-17 18:10 ?25次下載

    51單片機控制RTL8029實現以太網通信

    摘要:本文介紹了TCP/IP協議、RTL8029的結構特性以及PCI總線協議的特點,給出了P89C51RD2單片機控制以太網接口芯片RTL80內
    發表于 09-19 21:11 ?58次下載

    科學的PLC編程的9步驟

    科學的PLC編程步驟其實很簡單,但往往大多數工程師就是認為簡單而忽略很多細節。細節的忽略,必然會在以后出現問題。想避免日后的問題,只有好好的遵守規則,沒有規矩不成方圓,plc編程
    的頭像 發表于 09-28 17:06 ?3393次閱讀

    算法RTL實現哪些比較科學步驟

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

    算法RTL實現該怎么做?

    算法RTL實現,怎么做?” 這個問題,對于芯片設計工程師、芯片算法工程師、FPGA工程師來
    的頭像 發表于 06-02 15:35 ?964次閱讀

    EEMD方法的原理與算法實現步驟

    電子發燒友網站提供《EEMD方法的原理與算法實現步驟.pdf》資料免費下載
    發表于 10-23 11:44 ?0次下載
    EEMD方法的原理與<b class='flag-5'>算法</b><b class='flag-5'>實現</b><b class='flag-5'>步驟</b>
    主站蜘蛛池模板: 日本黄色免费电影| 日韩色影视| 久综合| 欧美成人午夜| 亚洲 欧美 日韩 综合| 干一干操一操| 777奇米四色米奇影院在线播放| 天天做天天爽爽快快| 天天综合天天综合| 久操视屏| 人人干网| 图片视频小说| 77788色淫免费网站视频| 亚洲午夜免费视频| 免费看黄色录像| 欧美女同网站| 天天摸天天躁天天添天天爽| www.色多多| 狠狠狠色丁香婷婷综合久久88| 人人人人澡| 国内精品久久久久久影院老狼| 可以免费观看的一级毛片| 黄色免费网站在线| 97在线人人| 一级片a| 美女福利在线观看| rrr523亚洲国产片| 91大神在线看| 99久久精品免费看国产| 直接看的黄色网址| 综合爱爱| 日韩有色| 丁香六月色婷婷| 97就要鲁就要鲁夜夜爽| 日本欧美强乱视频在线| 免费播放视频| 亚洲不卡网| 河南毛片| 久久久久久久久女黄| 日本不卡在线视频| 日韩乱轮|