色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

如何將算法“翻譯”成Verilog?

ruikundianzi ? 來源:IP與SoC設(shè)計(jì) ? 作者:IP與SoC設(shè)計(jì) ? 2022-11-03 15:38 ? 次閱讀

我是一名數(shù)字前端IP設(shè)計(jì)工程師,方向?yàn)?a href="http://www.1cnz.cn/v/tag/1301/" target="_blank">通信芯片IP設(shè)計(jì),我的主要工作就是“翻譯”算法代碼。

經(jīng)典的ASIC開發(fā)流程主要有:

以算法設(shè)計(jì)為主導(dǎo)

算法C代碼手工轉(zhuǎn)換為RTL

RTL與算法C代碼生成的測試向量對比進(jìn)行驗(yàn)證

依賴FPGA做大量實(shí)時(shí)、現(xiàn)場測試

適合通信信號處理,音視頻處理或圖像處理等產(chǎn)品

我的工作主要就是將算法C代碼手工轉(zhuǎn)換為RTL,尤其是通信芯片的設(shè)計(jì),算法主要是將浮點(diǎn)運(yùn)算近似成定點(diǎn)運(yùn)算,定點(diǎn)的精度決定了系統(tǒng)的性能,所以一種開發(fā)模式就是,用C平臺生成的case數(shù)據(jù)和RTL仿真的數(shù)據(jù)進(jìn)行對比,保證定點(diǎn)化后的仿真性能。

所以對于單個(gè)計(jì)算模塊的開發(fā)來說,可以說就是體力活了,算法的計(jì)算過程已經(jīng)擺在那里,單就是純翻譯。

然而再復(fù)雜的算法,在設(shè)計(jì)工程師的眼里,也就是一堆數(shù)學(xué)公式,算法設(shè)計(jì)者也應(yīng)該盡量做簡單的算法實(shí)現(xiàn),比如除法,求冪次方、開平方等復(fù)雜運(yùn)算到了設(shè)計(jì)工程師這里都已經(jīng)轉(zhuǎn)化成了簡單的乘法和加法運(yùn)算。更復(fù)雜的就是累加、累乘(我所能接觸到的)。

做芯片第一應(yīng)該關(guān)注的是芯片的PPA(Performance, Power, Area),如何設(shè)計(jì)的出更高性能的電路,占用更少的資源/面積,更低的功耗。這才是我們的專業(yè)知識。

通過學(xué)習(xí)算法代碼和文檔以及協(xié)議,了解算法的計(jì)算意圖。然后進(jìn)行數(shù)據(jù)通路的分析,整體的數(shù)據(jù)流走向。哪些需要計(jì)算的數(shù)據(jù)可以用寄存器存儲,哪些數(shù)據(jù)需要用RAM存儲。模塊的劃分可拆解,哪些計(jì)算單元是功能類似的,可以做成一個(gè)小IP,乘法器同時(shí)使用的最大數(shù)量,是否能在整個(gè)大模塊中分時(shí)復(fù)用。

算法的設(shè)計(jì)中沒有時(shí)序的概念,也沒有計(jì)算時(shí)間的長短。需要設(shè)計(jì)工程師去整理整個(gè)模塊的計(jì)算流水,流水線排的時(shí)間長,需要的計(jì)算邏輯就越少,反之,面積越大。面積與速度互換思想,貫穿始終。現(xiàn)成乘法器的數(shù)量有限,是否能加上幾個(gè)乘法器而獲得模塊整體運(yùn)算速度提高30%的收益,都需要去折中(Trade off)考慮。

排好計(jì)算流水,控制通路,一般都使用狀態(tài)機(jī)去做,當(dāng)然,狀態(tài)機(jī)怎么設(shè)計(jì)算法可不會教你。整個(gè)模塊與更高層模塊的交互,接口控制時(shí)序需要討論確定。數(shù)據(jù)通路可能還需要用到RAM/Regfile去緩存中間數(shù)據(jù)的結(jié)果,RAM/Regfile的讀寫地址控制也是常見設(shè)計(jì)。數(shù)據(jù)通路的運(yùn)算,是主要消耗資源的部分,所以一個(gè)好的詳細(xì)設(shè)計(jì)方案非常重要,同樣的設(shè)計(jì),別人可以用比你小30%的面積和少30%的時(shí)間來實(shí)現(xiàn)。這可能就是設(shè)計(jì)工程師真正的價(jià)值體現(xiàn)之處。

對于通信算法中,矩陣運(yùn)算也是比較常見的,復(fù)雜矩陣的運(yùn)算是最耗費(fèi)資源的,矩陣運(yùn)算的拆解也需要很多技巧,比如矩陣的乘法是A的第一行乘以B的第一列,累加得到第一個(gè)元素,這部分的運(yùn)算電路可以復(fù)用流水起來做。一個(gè)矩陣需要拆解合并成數(shù)個(gè)小矩陣,想要保持并行,用寄存器存儲,就會消耗的資源多。存在RAM中就是串行流水做會消耗的時(shí)間長,所以這都需要在模塊架構(gòu)設(shè)計(jì)階段去計(jì)算處理時(shí)間和評估消耗資源、折中是否采取(Trade off)。

這種大型矩陣運(yùn)算動(dòng)輒幾百上千bit的寄存器輸出,連線選擇運(yùn)算,可能會造成后端congestion問題,所以方案設(shè)計(jì)的重要性又體現(xiàn)出來了。組合邏輯的運(yùn)算,如果路徑過長,時(shí)序會出現(xiàn)問題,插寄存器的位置也非常重要,消耗的寄存器的數(shù)量也是不同的,甚至可以通過手動(dòng)retimming,找個(gè)寄存器把打拍的位置換一下,消耗的資源還是相同的。

對于芯片的功耗前端能做的就是,去加一些時(shí)鐘門控,模塊不用時(shí)候可以關(guān)掉,組合邏輯計(jì)算單元不用的時(shí)候避免翻轉(zhuǎn),乘法器的使能信號的控制,避免無效翻轉(zhuǎn),數(shù)據(jù)通路寄存器帶著使能打拍,工具也會自動(dòng)插時(shí)鐘門控,這些就和算法沒關(guān)系了。

至于算法,當(dāng)然不同領(lǐng)域的相關(guān)知識不同,雖然設(shè)計(jì)方法是完全類似的,但是在一個(gè)領(lǐng)域深扎,成為這個(gè)領(lǐng)域的專業(yè)的人,可以更好的理解算法到硬件的實(shí)現(xiàn)。

IP設(shè)計(jì)工程師經(jīng)常調(diào)侃自己是算法“翻譯官”,雖然也沒什么問題,但是自嘲歸自嘲,如果感興趣的話,還是應(yīng)該去想著如何更好的做好自己的設(shè)計(jì),做好芯片。即使是“翻譯官”也是一個(gè)十分有價(jià)值的“翻譯官”。

審核編輯 :李倩

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

    關(guān)注

    23

    文章

    4702

    瀏覽量

    94971
  • Verilog
    +關(guān)注

    關(guān)注

    29

    文章

    1366

    瀏覽量

    111994

原文標(biāo)題:如何將算法“翻譯”成Verilog?

文章出處:【微信號:IP與SoC設(shè)計(jì),微信公眾號:IP與SoC設(shè)計(jì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 0人收藏

    評論

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

    技術(shù)分享 | 迅為RK3568開發(fā)板如何將 Linux 板卡虛擬U盤

    技術(shù)分享 | 迅為RK3568開發(fā)板如何將 Linux 板卡虛擬U盤
    的頭像 發(fā)表于 06-04 10:57 ?313次閱讀
    技術(shù)分享 | 迅為RK3568開發(fā)板<b class='flag-5'>如何將</b> Linux 板卡虛擬<b class='flag-5'>成</b>U盤

    如何將Linux安裝包快速轉(zhuǎn)成玲瓏包

    本篇將以 motrix 為例為大家展示如何將 Linux 安裝包快速轉(zhuǎn)成玲瓏包。
    的頭像 發(fā)表于 03-12 16:01 ?459次閱讀
    <b class='flag-5'>如何將</b>Linux安裝包快速轉(zhuǎn)成玲瓏包

    如何將項(xiàng)目從IAR遷移到Embedded Studio

    本文描述如何將IAR EWARM項(xiàng)目遷移到SEGGER Embedded Studio(簡稱SES)中。
    的頭像 發(fā)表于 02-25 17:11 ?509次閱讀
    <b class='flag-5'>如何將</b>項(xiàng)目從IAR遷移到Embedded Studio

    如何將RT-Thread移植到NXP MCUXPressoIDE上

    RT-Thread默認(rèn)支持的IDE只有IAR 和 Keil, 那如何將RT-Thread移植到NXP MCUXPressoIDE上呢?本文內(nèi)容比較簡單但稍有瑣碎,希望對有需要的小伙伴有所幫助。
    的頭像 發(fā)表于 02-13 10:37 ?1796次閱讀
    <b class='flag-5'>如何將</b>RT-Thread移植到NXP MCUXPressoIDE上

    如何將python文件導(dǎo)入到ROS系統(tǒng)中

    本文通過使用myCobot機(jī)械臂進(jìn)行QR碼視覺追蹤的實(shí)踐案例分析,介紹如何將 python 文件導(dǎo)入到 ROS 系統(tǒng)中。
    的頭像 發(fā)表于 02-11 11:08 ?723次閱讀
    <b class='flag-5'>如何將</b>python文件導(dǎo)入到ROS系統(tǒng)中

    AI助力實(shí)時(shí)翻譯耳機(jī)

    是一種能夠?qū)崟r(shí)一種語言翻譯成另一種語言的耳機(jī)設(shè)備。它通常由一個(gè)耳機(jī)和一個(gè)配套的應(yīng)用程序組成,用戶可以通過應(yīng)用程序選擇需要翻譯的語言,并通過耳機(jī)聽到翻譯結(jié)果。 2 實(shí)時(shí)
    的頭像 發(fā)表于 01-24 11:14 ?1499次閱讀
    AI助力實(shí)時(shí)<b class='flag-5'>翻譯</b>耳機(jī)

    請問ccs4.2如何將采集到的數(shù)據(jù)導(dǎo)出dat文件?

    ccs4.2如何將采集到的數(shù)據(jù)導(dǎo)出dat文件
    發(fā)表于 01-14 08:08

    Verilog 測試平臺設(shè)計(jì)方法 Verilog FPGA開發(fā)指南

    Verilog測試平臺設(shè)計(jì)方法是Verilog FPGA開發(fā)中的重要環(huán)節(jié),它用于驗(yàn)證Verilog設(shè)計(jì)的正確性和性能。以下是一個(gè)詳細(xì)的Verilog測試平臺設(shè)計(jì)方法及
    的頭像 發(fā)表于 12-17 09:50 ?1067次閱讀

    LLMWorld上線代碼翻譯新工具——問丫·碼語翻譯俠,快來體驗(yàn)!

    應(yīng)用案例 aicode.llmworld.net 案例一 閱讀復(fù)雜算法,將計(jì)算機(jī)語言翻譯成自然語言和偽代碼,快速幫助用戶理解算法實(shí)現(xiàn)邏輯。 Input(C++): 正弦波信號進(jìn)行傅里葉變換,并輸出其頻域結(jié)果的C++
    的頭像 發(fā)表于 12-09 11:11 ?929次閱讀
    LLMWorld上線代碼<b class='flag-5'>翻譯</b>新工具——問丫·碼語<b class='flag-5'>翻譯</b>俠,快來體驗(yàn)!

    如何將LVDS/OLDI橋接到HDMI/DVI

    電子發(fā)燒友網(wǎng)站提供《如何將LVDS/OLDI橋接到HDMI/DVI.pdf》資料免費(fèi)下載
    發(fā)表于 09-27 09:35 ?5次下載
    <b class='flag-5'>如何將</b>LVDS/OLDI橋接到HDMI/DVI

    如何將BQ35100配置為EOS模式

    電子發(fā)燒友網(wǎng)站提供《如何將BQ35100配置為EOS模式.pdf》資料免費(fèi)下載
    發(fā)表于 09-11 10:03 ?0次下載
    <b class='flag-5'>如何將</b>BQ35100配置為EOS模式

    【招聘】verilog vhdl FPGA

    1.熟悉FPGA架構(gòu)及應(yīng)用,熟悉圖像算法的FPGA實(shí)現(xiàn)。 2.熟悉verilog vhdl,熟悉Xilinx或Intel等開發(fā)工具。 3.有AI算法 fpga實(shí)現(xiàn)經(jīng)驗(yàn)優(yōu)先。 4.本科及以上學(xué)歷,碩士優(yōu)先。具有強(qiáng)烈的責(zé)任心,執(zhí)行力
    發(fā)表于 09-02 15:50

    如何將LMH34400評估模塊設(shè)置電流輸入模式?

    LMH34400 評估模塊手冊里注明默認(rèn)電壓輸入模式,如何設(shè)置電流輸入模式?jīng)]有說明,煩請說明下如何將LMH34400 評估模塊設(shè)置電流輸入模式,謝謝。
    發(fā)表于 08-01 07:35

    AD7124的程序如何將它導(dǎo)出hex格式呢?

    ,那么如何將它導(dǎo)出hex格式呢?我翻遍了其中的資料還是沒有找到辦法。因?yàn)橹挥邪堰@個(gè)hex文件燒寫到黑色的評估板里,才能測試AD7124呢。
    發(fā)表于 07-23 08:13

    如何將GPIO修改為QSPI SLSO?

    我們使用的是 TC49x,我能否 GPIO 用作 SLSO(SLSO 不是專用的),如果可以,請告訴我們如何將 GPIO 修改為 QSPI SLSO。 我正在使用 QSPI1,需要使用 P31.6 作為 SLSO ,請?zhí)峁┲笇?dǎo)。
    發(fā)表于 07-22 06:25
    主站蜘蛛池模板: 99影视久久电影网久久看影院 | 国产亚洲精品AV麻豆狂野 | 免费国产成人高清在线看软件 | 2020年国产精品午夜福利在线观看 | 欧美丰满熟妇无码XOXOXO | 成人性生交大片免费看金瓶七仙女 | 亚洲AV久久无码高潮喷水 | 成人免费视频无遮挡在线看 | 色偷偷777 | 99精品国产第一福利网站 | 把腿张开再深点好爽宝贝 | 18美女腿打开无遮软件 | 亚洲精品自在线拍2019 | 男人免费网站 | 啊片色播电影 | 国产精品毛片在线视频 | 91久久精品一区二区三区 | 祺鑫WRITEAS流出来了 | 久久久久亚洲日日精品 | 年轻的搜子8中字在线观看 年轻的朋友4在线看中文字幕 | 玩弄朋友娇妻呻吟交换电影 | 甜性涩爱免费下载 | 亚洲乱码高清午夜理论电影 | 国产乱人精品视频AV麻豆 | 国产伦子沙发午休系列资源曝光 | 九九精品久久 | 亚洲熟女片嫩草影院 | 2022精品福利在线小视频 | 久久久久久久尹人综合网亚洲 | 99re在线播放 | 女人爽得直叫免费视频 | 成人国产三级在线播放 | 日韩免费一区 | BLACKED太粗太长 | 海角国精产品一区一区三区糖心 | 国产美熟女乱又伦AV | 日本无修肉动漫在线观看 | 人成片在线观看亚洲无遮拦 | 亞洲人妻AV無碼在線視頻 | 伊人草久久| 99在线观看免费视频 |

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品