99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

把一個(gè)算法用RTL實(shí)現(xiàn),有哪些比較科學(xué)的步驟?

sanyue7758 ? 來源:FPGA算法工程師 ? 2023-03-22 09:21 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

“把一個(gè)算法用RTL實(shí)現(xiàn),有哪些比較科學(xué)的步驟?第一步干什么?第二步干什么?第三步干什么……?”

這個(gè)問題,對于FPGAASIC等邏輯電路設(shè)計(jì)人員來講,是非常重要的問題。

通常來講,我們做算法實(shí)現(xiàn),需要有對標(biāo)的算法模型,作為驗(yàn)證硬件邏輯設(shè)計(jì)是否正確的參考依據(jù)。

我們首先要根據(jù)實(shí)際需求,針對某方面的信號(hào)處理問題,做一個(gè)鏈路級或模塊級快速仿真驗(yàn)證設(shè)計(jì)。最常見的比如通過MATLAB/C/C++等軟件環(huán)境進(jìn)行設(shè)計(jì)和驗(yàn)證。

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

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

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

做好算法設(shè)計(jì)后,需要進(jìn)行性能評估,看是否符合預(yù)期要求,不符合則進(jìn)一步優(yōu)化,或者換一種設(shè)計(jì)方法。

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

當(dāng)算法實(shí)際滿足要求后,則考慮邏輯實(shí)現(xiàn)的問題。

首先,建議采用自頂向下的設(shè)計(jì)思想,進(jìn)行系統(tǒng)架構(gòu)設(shè)計(jì),明確整個(gè)處理過程,需要執(zhí)行哪些功能,涉及哪些接口

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

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

其次,評估處理時(shí)間要求,是否需要實(shí)時(shí)性處理,給予多少時(shí)間來處理,進(jìn)而評估所需時(shí)鐘頻率,以及是否需要存在多個(gè)時(shí)鐘域處理。

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

對于信號(hào)處理系統(tǒng),有的需要實(shí)時(shí)處理,有的則不需要實(shí)時(shí)處理。最具挑戰(zhàn)的無疑是實(shí)時(shí)性要求高的通信、雷達(dá)和圖像等領(lǐng)域的信號(hào)處理問題。

首先解決信號(hào)處理中的算法問題,為實(shí)現(xiàn)某一處理過程,需要分哪些步驟,最終得到什么樣的結(jié)果。

為了實(shí)現(xiàn)實(shí)時(shí)處理,邏輯電路該怎么去設(shè)計(jì)?

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

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

電路實(shí)現(xiàn)時(shí),則需要考慮資源消耗、并行處理結(jié)構(gòu),流水處理和控制邏輯。

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

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

同時(shí),務(wù)必明確數(shù)據(jù)流向,前后級接口,功能模塊內(nèi)部RTL邏輯處理,細(xì)化到每個(gè)時(shí)鐘應(yīng)該怎么處理,step by step。

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

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

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

RTL代碼設(shè)計(jì)完成之后,進(jìn)行TestBench平臺(tái)搭建和仿真驗(yàn)證是必要的,特別是對于復(fù)雜功能模塊或系統(tǒng)設(shè)計(jì)而言。經(jīng)驗(yàn)再豐富的工程師,也不敢保證,不經(jīng)過仿真驗(yàn)證直接上板一定沒問題。

驗(yàn)證也是一門重要的技術(shù),這也是為什么存在IC驗(yàn)證崗位,目的就是為芯片成功流片嚴(yán)格把關(guān),一旦流片失敗,損失重大,影響深遠(yuǎn)。

FPGA的開發(fā)設(shè)計(jì),同樣需要進(jìn)行仿真驗(yàn)證。通常,我們可以通過算法鏈路產(chǎn)生所需激勵(lì)源,通過TestBench對功能模塊進(jìn)行驗(yàn)證,并進(jìn)行結(jié)果對比分析。重點(diǎn)解決兩個(gè)問題:

一是驗(yàn)證邏輯時(shí)序是否存在問題,比如信號(hào)是否對齊,有無接口處理不當(dāng)導(dǎo)致數(shù)據(jù)丟失等。

二是信號(hào)處理過程是否得當(dāng),數(shù)據(jù)位寬、精度等是否符合算法要求。

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

剩下的邏輯綜合、實(shí)現(xiàn)、比特流生成和調(diào)試等環(huán)節(jié),屬于常規(guī)操作,但對于邏輯綜合、實(shí)現(xiàn)中的時(shí)序約束和相關(guān)策略設(shè)置,也是十分重要的。

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

最后,用一張圖總結(jié)如何從算法到RTL實(shí)現(xiàn)。

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

本文只是粗略地分析了算法到RTL代碼實(shí)現(xiàn)之間的邏輯關(guān)系,以及從實(shí)現(xiàn)角度,我們應(yīng)該怎么去著手。

具體到某個(gè)信號(hào)處理算法實(shí)現(xiàn)時(shí),必須清楚整個(gè)信號(hào)處理過程,對算法一步一步分解,再對信號(hào)流、定點(diǎn)和接口進(jìn)行設(shè)計(jì)。






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1645

    文章

    22040

    瀏覽量

    618156
  • 邏輯電路
    +關(guān)注

    關(guān)注

    13

    文章

    502

    瀏覽量

    43324
  • asic
    +關(guān)注

    關(guān)注

    34

    文章

    1246

    瀏覽量

    122357
  • RTL
    RTL
    +關(guān)注

    關(guān)注

    1

    文章

    389

    瀏覽量

    61071

原文標(biāo)題:從算法到RTL實(shí)現(xiàn),F(xiàn)PGA工程師該怎么做?

文章出處:【微信號(hào):處芯積律,微信公眾號(hào):處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    算法RTL實(shí)現(xiàn)課程預(yù)覽 - 1

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

    算法RTL實(shí)現(xiàn)課程預(yù)覽 -2

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

    求教個(gè)關(guān)于算法到硬件實(shí)現(xiàn)的問題

    本人大四,做一個(gè)關(guān)于腦電信號(hào)特征提取的算法分析,然后優(yōu)化后用硬件實(shí)現(xiàn),要求比較簡單,就是只要能把腦電信號(hào)中比如α波或者β波分離出來,通過對基本節(jié)律的頻域分析,提取其基本的強(qiáng)度等特征,進(jìn)
    發(fā)表于 05-15 19:15

    如何用數(shù)字IC/FPGA實(shí)現(xiàn)算法

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

    想用FPGA實(shí)現(xiàn)雙邊濾波算法,懂得能說下具體的實(shí)現(xiàn)步驟

    想用FPGA實(shí)現(xiàn)雙邊濾波算法懂得能說下具體的實(shí)現(xiàn)步驟
    發(fā)表于 03-21 15:41

    硬件實(shí)現(xiàn)EMD算法那種架構(gòu)比較好?

    本人學(xué)生,在實(shí)驗(yàn)室打算做EMD算法的硬件實(shí)現(xiàn),看了些論文,感覺主要是單獨(dú)用FPGA實(shí)現(xiàn),或者DSP+FPGA
    發(fā)表于 04-25 21:04

    請問能不能用CORDIC算法代替ROM表,FPGA實(shí)現(xiàn)CORDIC算法來控制AD9910?

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

    請問IMU和AHRS算法stm32如何實(shí)現(xiàn)?

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

    Zynq 7020 FPGA做一個(gè)RTL引腳規(guī)劃

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

    OPB總線仲裁器的RTL設(shè)計(jì)與FPGA實(shí)現(xiàn)

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

    51單片機(jī)控制RTL8029實(shí)現(xiàn)以太網(wǎng)通信

    摘要:本文介紹了TCP/IP協(xié)議、RTL8029的結(jié)構(gòu)特性以及PCI總線協(xié)議的特點(diǎn),給出了P89C51RD2單片機(jī)控制以太網(wǎng)接口芯片RTL80內(nèi)
    發(fā)表于 09-19 21:11 ?58次下載

    科學(xué)的PLC編程的9個(gè)步驟

    科學(xué)的PLC編程步驟其實(shí)很簡單,但往往大多數(shù)工程師就是認(rèn)為簡單而忽略很多細(xì)節(jié)。細(xì)節(jié)的忽略,必然會(huì)在以后出現(xiàn)問題。想避免日后的問題,只有好好的遵守規(guī)則,沒有規(guī)矩不成方圓,plc編程
    的頭像 發(fā)表于 09-28 17:06 ?3646次閱讀

    個(gè)算法RTL實(shí)現(xiàn),哪些比較科學(xué)步驟?

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

    算法RTL實(shí)現(xiàn)該怎么做?

    算法RTL實(shí)現(xiàn),怎么做?” 這個(gè)問題,對于芯片設(shè)計(jì)工程師、芯片算法工程師、FPGA工程師來
    的頭像 發(fā)表于 06-02 15:35 ?1182次閱讀

    EEMD方法的原理與算法實(shí)現(xiàn)步驟

    電子發(fā)燒友網(wǎng)站提供《EEMD方法的原理與算法實(shí)現(xiàn)步驟.pdf》資料免費(fèi)下載
    發(fā)表于 10-23 11:44 ?0次下載
    EEMD方法的原理與<b class='flag-5'>算法</b><b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>步驟</b>