日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

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

FPGA之家 ? 來源:FPGA之家 ? 作者:FPGA之家 ? 2022-04-26 10:19 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

針對近日技術(shù)交流群里討論的算法與RTL實現(xiàn)問題,寫篇文章,做一次總結(jié)。

新手遇到的是新問題,對于有相關(guān)經(jīng)驗的工程師而言,可能都遇到過。

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

群友們提到一個很多人都會遇到的現(xiàn)實問題:

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

c5cfc0d6-c506-11ec-bce3-dac502259ad0.png

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

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

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

c5ddef1c-c506-11ec-bce3-dac502259ad0.png

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

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

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

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

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

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

c5ea2908-c506-11ec-bce3-dac502259ad0.png

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

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

c605bc72-c506-11ec-bce3-dac502259ad0.png

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

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

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

c61816e2-c506-11ec-bce3-dac502259ad0.png

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

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

c6233ac2-c506-11ec-bce3-dac502259ad0.png

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

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

c63a474e-c506-11ec-bce3-dac502259ad0.png

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

c65190fc-c506-11ec-bce3-dac502259ad0.png

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

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

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

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

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

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

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

c671246c-c506-11ec-bce3-dac502259ad0.png

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

c68b0e72-c506-11ec-bce3-dac502259ad0.png

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

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

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

審核編輯 :李倩

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

    關(guān)注

    1664

    文章

    22509

    瀏覽量

    639565
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4810

    瀏覽量

    98610
  • 仿真模型
    +關(guān)注

    關(guān)注

    1

    文章

    31

    瀏覽量

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

    關(guān)注

    1

    文章

    395

    瀏覽量

    62903

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

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    RTL8762CMF/RTL8752CMF:藍牙低功耗SOC的卓越之選

    RTL8762CMF/RTL8752CMF:藍牙低功耗SOC的卓越之選 、引言 在當(dāng)今的物聯(lián)網(wǎng)時代,藍牙低功耗技術(shù)在各類設(shè)備中得到了廣泛應(yīng)用。Realtek的RTL
    的頭像 發(fā)表于 04-11 16:40 ?736次閱讀

    單片機常用的14C語言算法分享

    ,對控制對象進行控制。 十四、開根號算法 單片機開平方的快速算法 因為工作的需要,要在單片機上實現(xiàn)開根號的操作。目前開平方的方法大部分是牛頓迭代法。我在查了
    發(fā)表于 01-29 06:59

    代碼實戰(zhàn)!什么是傅里葉變換?什么?Matlab實現(xiàn)FFT

    的提出讓人們看問題的角度從時域變成了頻域,多了維度??焖俑道锶~變換算法的提出普及了傅里葉變換在工程領(lǐng)域的應(yīng)用,在科學(xué)計算和數(shù)字信號處理等領(lǐng)域,F(xiàn)FT至今依然是非常強大的工具之
    的頭像 發(fā)表于 01-16 07:45 ?819次閱讀
    代碼實戰(zhàn)!什么是傅里葉變換?<b class='flag-5'>有</b>什么<b class='flag-5'>用</b>?Matlab<b class='flag-5'>實現(xiàn)</b>FFT

    用于單片機幾種C語言算法

    為克服隨機干擾引起的誤差,硬件上可采用濾波技術(shù),軟件上可采用軟件算法實現(xiàn)數(shù)字濾波。濾波算法往往是系統(tǒng)測控算法
    發(fā)表于 11-27 06:00

    利用Verdi調(diào)試協(xié)處理器的實現(xiàn)步驟

    本次給大家介紹的是利用Verdi調(diào)試協(xié)處理器的實現(xiàn)步驟。 有時為了觀察協(xié)處理器運行情況,需要查看協(xié)處理器接口的信號波形,此時可以Verdi來查看主處理器發(fā)給協(xié)處理器的自定義指令以進
    發(fā)表于 10-30 08:26

    RC5算法協(xié)處理器設(shè)計實現(xiàn)

    1、RC5算法參數(shù)選擇 通過三可變參數(shù)可確定組加密算法,可表示為RC5-w/r/b。w表示明文/秘文字分組后的字長,完整明文/秘文字長為2w;w
    發(fā)表于 10-30 08:25

    SM4算法實現(xiàn)分享(算法原理

    。而解密算法與加密算法采用同結(jié)構(gòu),只是輪密鑰使用的順序不同,加密采用順序的,解密采用逆序的。 SM4加密算法是典型的分組密碼算法,分組密
    發(fā)表于 10-30 08:10

    MD5信息摘要算法實現(xiàn)(基于蜂鳥E203協(xié)處理器)

    參與下一個512位分組數(shù)據(jù)中鏈接變量的初始值,重復(fù)2、3步驟,直到完成所有的分組,最后的輸出是32位的A、 B、 C和D的級聯(lián)成128位的信息摘要。 然后將其轉(zhuǎn)換為大端輸出。 【注:MD5算法的計算都是
    發(fā)表于 10-30 07:18

    復(fù)雜的軟件算法硬件IP核的實現(xiàn)

    看到整個實現(xiàn)只有狀態(tài)“S0”。 對于復(fù)雜時序要求的操作,例如加密算法里面常見的 for 循環(huán)結(jié)構(gòu),在生成 begin 和 end 之
    發(fā)表于 10-30 07:02

    如何使用恢復(fù)算法實現(xiàn)開平方運算

    =0.1101,具體計算過程如下: 硬件實現(xiàn)架構(gòu)圖如下所示,其中我們將8比特的操作數(shù)X作為輸入,從而得到的Q是4比特的。我們總共用到了17減法模塊(SB,Subtract Block),每一個減法模塊都是
    發(fā)表于 10-24 13:33

    Newton-Raphson算法實現(xiàn)浮點除法(七)

    的牛頓迭代算法,直逼近于f(x) = 0的點,則有xi+1 = xi (2 - xi b),這樣我們能夠用下述步驟實現(xiàn)a/b: 1)b
    發(fā)表于 10-24 07:53

    分享LabVIEW開發(fā)的聲學(xué)測試軟件

    分享聲學(xué)測試軟件,采用聲卡作硬件采集設(shè)備。純LabVIEW開發(fā),內(nèi)置頻響/失真等曲線分析算法、中科藍訊ANC混合降噪、序號輸入、數(shù)據(jù)顯示、圖形顯示、信息提示等基本步驟都有, PPL
    發(fā)表于 10-22 13:38

    數(shù)據(jù)濾波算法的具體實現(xiàn)步驟是怎樣的?

    (高頻電磁、瞬時脈沖等),選擇適配的濾波算法并落地。以下以電能質(zhì)量監(jiān)測中最常用的 IIR 低通濾波(抗高頻干擾)、滑動平均濾波(抗瞬時脈沖)、卡爾曼濾波(抗動態(tài)波動) 為例,詳解具體實現(xiàn)步驟
    的頭像 發(fā)表于 10-10 16:45 ?1027次閱讀

    CW32L012實現(xiàn)外部flash下載算法

    外部flash或者內(nèi)置的片上flash,都是編譯器通過調(diào)用寫好的FLM文件來實現(xiàn)下載,單片機內(nèi)部的安裝pack包就會有(官方實現(xiàn)),外部flash的情況比較復(fù)雜,例如用的哪種flash,
    的頭像 發(fā)表于 10-09 17:38 ?1830次閱讀
    CW32L012<b class='flag-5'>實現(xiàn)</b>外部flash下載<b class='flag-5'>算法</b>

    【「AI芯片:科技探索與AGI愿景」閱讀體驗】+AI的科學(xué)應(yīng)用

    AI被賦予了人的智能,科學(xué)家們希望在沒有人類的引導(dǎo)下,AI自主的提出科學(xué)假設(shè),諾貝爾獎級別的假設(shè)哦。 AI驅(qū)動科學(xué)被認(rèn)為是科學(xué)發(fā)現(xiàn)的第五
    發(fā)表于 09-17 11:45
    岢岚县| 芒康县| 彭泽县| 新晃| 宣武区| 廊坊市| 河曲县| 成武县| 岑巩县| 沈阳市| 天气| 沙湾县| 民县| 顺义区| 长沙县| 临安市| 崇信县| 舟曲县| 唐河县| 贡觉县| 宁城县| 明溪县| 乡城县| 囊谦县| 肇庆市| 通海县| 滁州市| 黄龙县| 雷山县| 县级市| 昭觉县| 资兴市| 全南县| 左权县| 石屏县| 扶沟县| 巴楚县| 邳州市| 集贤县| 武鸣县| 嘉峪关市|