RM新时代网站-首页

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

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

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

FPGA設(shè)計(jì)如何最優(yōu)化

FPGA快樂學(xué)習(xí) ? 來源:FPGA快樂學(xué)習(xí) ? 2023-06-25 15:46 ? 次閱讀

這是筆者去年某個(gè)時(shí)間節(jié)點(diǎn)的感悟,由于工作繁忙,寫完后擱置一邊了。而對(duì)于“設(shè)計(jì)最優(yōu)化”這個(gè)議題,筆者也一直深感功力不夠,不敢多做闡釋。但是,不管怎樣,若能每隔幾年都好好做些反思回顧,讓自己對(duì)“設(shè)計(jì)最優(yōu)化”的認(rèn)知再做一些提升,也算是給當(dāng)下的自己一個(gè)“設(shè)計(jì)最優(yōu)化”吧?;诖?,把去年的文章略作梳理,分享給大家。

之所以想寫點(diǎn)什么,是基于近期的一些工作觸動(dòng)。兩年前,由于公司人力資源的需要,筆者從當(dāng)時(shí)基本穩(wěn)定的FPGA設(shè)計(jì)中抽出身來,大部分的精力投入到了產(chǎn)品算法開發(fā)中。而在那個(gè)當(dāng)兒,正好做了一個(gè)算法的FPGA實(shí)現(xiàn)評(píng)估,整個(gè)設(shè)計(jì),包括代碼、仿真基本做完了。在當(dāng)時(shí),目標(biāo)是用有限的FPGA資源實(shí)現(xiàn)一個(gè)復(fù)雜的圖像處理算法,可以說是絞盡腦汁做了很多實(shí)際的FPGA設(shè)計(jì)優(yōu)化。

時(shí)過境遷,經(jīng)過兩年算法的學(xué)習(xí)研究和工程實(shí)踐后,基于系統(tǒng)最優(yōu)化的一些考慮,又重新回到原點(diǎn),需要再次評(píng)估和實(shí)現(xiàn)當(dāng)年那個(gè)圖像處理算法的FPGA版本。而當(dāng)重新審查當(dāng)年的那些設(shè)計(jì)代碼時(shí),忽然感受到當(dāng)時(shí)一些設(shè)計(jì)細(xì)節(jié)做得尤為精妙,雖然大多數(shù)方法其實(shí)是一些經(jīng)典的通用的優(yōu)化方法——用加法和流水線設(shè)計(jì)減少乘法器數(shù)量;用移位比較以及流水線的方式定制化一個(gè)資源占用率極低的除法器;用查找表實(shí)現(xiàn)指數(shù)運(yùn)算;甚至嘗試過自己實(shí)現(xiàn)開根號(hào)的邏輯源碼……當(dāng)然,我并不是覺得這些設(shè)計(jì)已經(jīng)登峰造極,做到設(shè)計(jì)最佳了。反而,讓我重新思考FPGA的設(shè)計(jì)最優(yōu)化問題。做算法的經(jīng)歷,讓我感受到了CPU的強(qiáng)大算力;但是一些實(shí)時(shí)應(yīng)用場(chǎng)景下,又讓我感受到了CPU在面對(duì)一個(gè)復(fù)雜和大計(jì)算量的算法時(shí)的力不從心。做FPGA的經(jīng)歷,讓我即便是在寫著跑在CPU上的代碼,也處心積慮的考慮速度性能問題——能用加法或移位就絕不用乘法、能用乘法就絕不用除法、能查表的就絕不直接進(jìn)行指數(shù)或根號(hào)等復(fù)雜的運(yùn)算……總而言之,不做一次多余的或不必要的復(fù)雜的運(yùn)算。

對(duì)于FPGA的工程實(shí)現(xiàn)而言,設(shè)計(jì)本身并沒有絕對(duì)的最優(yōu)化。對(duì)于一些沒有實(shí)用性要求的研究或評(píng)估,對(duì)于FPGA的器件資源、實(shí)時(shí)的速度性能或許不會(huì)太在意。但是對(duì)于必須產(chǎn)品化的工程實(shí)現(xiàn)來說,目標(biāo)通常是在FPGA器件的資源有限制、吞吐量有要求的情況下完成既定功能。FPGA的資源,通常包括FPGA內(nèi)部的邏輯資源、乘法器資源、片內(nèi)存儲(chǔ)器資源、布局布線資源以及其它諸如時(shí)鐘、高速接口等專用資源。FPGA的數(shù)據(jù)吞吐量,通常表現(xiàn)為FPGA在單位時(shí)間內(nèi)的平均處理能力或瞬時(shí)最大處理能力,這可能涉及FPGA片內(nèi)或片外存儲(chǔ)器的讀寫訪問速度、滿足必須的并行運(yùn)算處理所需的資源可用性、達(dá)到設(shè)計(jì)目標(biāo)的最低FPGA時(shí)鐘頻率的時(shí)序性能等。

由此看來,F(xiàn)PGA的設(shè)計(jì)最優(yōu)化,并不意味著最高的絕對(duì)精度、最快的處理速度或最大的數(shù)據(jù)吞吐量,也不意味著最高的資源利用率或最低的實(shí)現(xiàn)資源……純粹的研究或評(píng)估,或許可以只關(guān)注某一方面的最佳性能;但對(duì)于FPGA的產(chǎn)品實(shí)現(xiàn)而言,在眾多的限制條件下,各方面性能達(dá)到一個(gè)動(dòng)態(tài)平衡,讓我們的目標(biāo)FPGA器件物盡其用,或許才是我們這些務(wù)實(shí)的工程師所追求的“最優(yōu)化設(shè)計(jì)”。
責(zé)任編輯:彭菁

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

    關(guān)注

    9

    文章

    428

    瀏覽量

    26509
  • 存儲(chǔ)器
    +關(guān)注

    關(guān)注

    38

    文章

    7484

    瀏覽量

    163762
  • 圖像處理
    +關(guān)注

    關(guān)注

    27

    文章

    1289

    瀏覽量

    56722

原文標(biāo)題:設(shè)計(jì)最優(yōu)化

文章出處:【微信號(hào):FPGA快樂學(xué)習(xí),微信公眾號(hào):FPGA快樂學(xué)習(xí)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    FPGA與ASIC的區(qū)別 FPGA性能優(yōu)化技巧

    FPGA與ASIC的區(qū)別 FPGA(現(xiàn)場(chǎng)可編程門陣列)和ASIC(專用集成電路)是兩種不同的集成電路技術(shù),它們?cè)诙鄠€(gè)方面存在顯著的區(qū)別: FPGA ASIC 基本定義 由通用的邏輯單元組成,可以通過
    的頭像 發(fā)表于 12-02 09:51 ?169次閱讀

    如何優(yōu)化FPGA設(shè)計(jì)的性能

    優(yōu)化FPGA(現(xiàn)場(chǎng)可編程門陣列)設(shè)計(jì)的性能是一個(gè)復(fù)雜而多維的任務(wù),涉及多個(gè)方面和步驟。以下是一些關(guān)鍵的優(yōu)化策略: 一、明確性能指標(biāo) 確定需求 :首先,需要明確FPGA設(shè)計(jì)的性能指標(biāo),包
    的頭像 發(fā)表于 10-25 09:23 ?295次閱讀

    25G/28G重定時(shí)器與轉(zhuǎn)接驅(qū)動(dòng)器在常見應(yīng)用中的最優(yōu)化實(shí)現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《25G/28G重定時(shí)器與轉(zhuǎn)接驅(qū)動(dòng)器在常見應(yīng)用中的最優(yōu)化實(shí)現(xiàn).pdf》資料免費(fèi)下載
    發(fā)表于 09-06 11:26 ?0次下載
    25G/28G重定時(shí)器與轉(zhuǎn)接驅(qū)動(dòng)器在常見應(yīng)用中的<b class='flag-5'>最優(yōu)化</b>實(shí)現(xiàn)

    FPGA如何消除時(shí)鐘抖動(dòng)

    FPGA(現(xiàn)場(chǎng)可編程門陣列)設(shè)計(jì)中,消除時(shí)鐘抖動(dòng)是一個(gè)關(guān)鍵任務(wù),因?yàn)闀r(shí)鐘抖動(dòng)會(huì)直接影響系統(tǒng)的時(shí)序性能、穩(wěn)定性和可靠性。以下將詳細(xì)闡述FPGA中消除時(shí)鐘抖動(dòng)的多種方法,這些方法涵蓋了從硬件設(shè)計(jì)到軟件優(yōu)化的各個(gè)方面。
    的頭像 發(fā)表于 08-19 17:58 ?1264次閱讀

    優(yōu)化 FPGA HLS 設(shè)計(jì)

    優(yōu)化 FPGA HLS 設(shè)計(jì) 用工具用 C 生成 RTL 的代碼基本不可讀。以下是如何在不更改任何 RTL 的情況下提高設(shè)計(jì)性能。 介紹 高級(jí)設(shè)計(jì)能夠以簡(jiǎn)潔的方式捕獲設(shè)計(jì),從而
    發(fā)表于 08-16 19:56

    FPGA的PCIE接口應(yīng)用需要注意哪些問題

    ,選擇高性能的PCIe IP核并進(jìn)行精細(xì)的設(shè)計(jì)優(yōu)化是至關(guān)重要的。 軟件和驅(qū)動(dòng)程序 : 即便硬件設(shè)計(jì)得當(dāng),軟件和驅(qū)動(dòng)程序的效率也會(huì)影響到系統(tǒng)的最終性能。需要確保軟件和驅(qū)動(dòng)程序與FPGA和PCIe接口兼容
    發(fā)表于 05-27 16:17

    CAM在FPGA上的最優(yōu)化實(shí)現(xiàn)方案

    我們都知道RAM是根據(jù)地址查找對(duì)應(yīng)的數(shù)據(jù),而對(duì)于CAM,則恰好相反,是已知數(shù)據(jù)查找其對(duì)應(yīng)的地址。像在網(wǎng)絡(luò)報(bào)文處理里,根據(jù)報(bào)文的五元組的一些信息去查詢其所屬的規(guī)則地址,隨后通過該地址去查詢對(duì)應(yīng)的RAM獲取對(duì)應(yīng)的Action信息。
    發(fā)表于 04-15 11:06 ?768次閱讀
    CAM在<b class='flag-5'>FPGA</b>上的<b class='flag-5'>最優(yōu)化</b>實(shí)現(xiàn)方案

    FPGA布局布線優(yōu)化技術(shù)

    寄存器排序是布局工具把多位寄存器的相鄰位分組放進(jìn)單個(gè)邏輯元件所利用的方法。大多數(shù)基于單元的邏輯元件有不止一個(gè)觸發(fā)器,因此,相鄰位放置在一起,時(shí)序可以被優(yōu)化。
    發(fā)表于 03-29 11:30 ?381次閱讀
    <b class='flag-5'>FPGA</b>布局布線<b class='flag-5'>優(yōu)化</b>技術(shù)

    FPGA布局布線優(yōu)化方案

    調(diào)整電壓和溫度設(shè)置不要求FPGA 實(shí)現(xiàn)任何改變,可以提供一個(gè)方便的手段增量地改善最壞條件的性能。
    發(fā)表于 03-26 14:32 ?1134次閱讀
    <b class='flag-5'>FPGA</b>布局布線<b class='flag-5'>優(yōu)化</b>方案

    fpga是干什么工作的

    FPGA(現(xiàn)場(chǎng)可編程門陣列)主要被用于進(jìn)行邏輯設(shè)計(jì)、算法實(shí)現(xiàn)、功能定義以及時(shí)序優(yōu)化等工作。具體來說,FPGA工程師的主要職責(zé)包括但不限于以下幾個(gè)方面。
    的頭像 發(fā)表于 03-14 17:09 ?1434次閱讀

    AMD推出Spartan UltraScale+ FPGA系列產(chǎn)品

    AMD公司,全球知名的芯片巨頭,近日宣布推出全新的AMD Spartan UltraScale+ FPGA系列產(chǎn)品組合。這一新系列作為AMD成本優(yōu)化FPGA、自適應(yīng)SoC產(chǎn)品家族的最新成員,特別針對(duì)成本敏感型邊緣應(yīng)用進(jìn)行了
    的頭像 發(fā)表于 03-07 10:15 ?687次閱讀

    AMD推出全新Spartan UltraScale+ FPGA系列

    AMD日前正式推出了全新的Spartan UltraScale+ FPGA系列,該系列作為AMD廣泛的成本優(yōu)化FPGA和自適應(yīng)SoC產(chǎn)品組合的最新成員,專為邊緣端各種I/O密集型應(yīng)用設(shè)計(jì)。
    的頭像 發(fā)表于 03-06 11:09 ?821次閱讀

    FPGA圖書分享系列-2024.01.31

    成本具有重要意義。 設(shè)計(jì)優(yōu)化:書中對(duì)FPGA加速器的技術(shù)進(jìn)行了優(yōu)化,例如循環(huán)平鋪和轉(zhuǎn)換,并通過定量分析計(jì)算吞吐量和片內(nèi)外I/O帶寬,幫助讀者理解如何設(shè)計(jì)出更高效的加速器硬件參數(shù)。 實(shí)際應(yīng)用:介紹了
    發(fā)表于 01-31 21:14

    FPGA分類

    :適用于各種不同的應(yīng)用,如通信、工業(yè)控制、視頻處理等。 專用FPGA :針對(duì)特定的應(yīng)用領(lǐng)域進(jìn)行優(yōu)化,如高速接口、網(wǎng)絡(luò)處理、AI加速等。 上述分類并非互斥,某些FPGA可能同時(shí)屬于多個(gè)類別。
    發(fā)表于 01-26 10:09

    FPGA基本開發(fā)設(shè)計(jì)流程

    FPGA的設(shè)計(jì)流程就是利用EDA開發(fā)軟件和編程工具對(duì)FPGA芯片進(jìn)行開發(fā)的過程。FPGA的開發(fā)流程一般包括功能定義、設(shè)計(jì)輸入、功能仿真、綜合優(yōu)化、綜合后仿真、實(shí)現(xiàn)與布局布線、時(shí)序仿真與
    發(fā)表于 12-31 21:15
    RM新时代网站-首页