那曲檬骨新材料有限公司

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

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

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

FPGA的BRAM資源使用優(yōu)化策略

CHANBAEK ? 來源:FPGA入門到精通 ? 作者:未可知摩爾 ? 2023-08-30 16:12 ? 次閱讀

FPGA的BRAM和LUT等資源都是有限的,在FPGA開發(fā)過程中,可能經(jīng)常遇到BRAM或者LUT資源不夠用的情況。

一般建議BRAM和LUT資源的消耗不要超過80%,當然高端一點的FPGA芯片也可以放寬到90%,超過這個限制,可能就會出現(xiàn)時序違例較嚴重的情況,導致上板運行出現(xiàn)異常的情況。

今天分享一下BRAM資源使用優(yōu)化策略,以Vivado的 Block Memory Generator為例 。

1、Distribute BRAM或URAM 替代BRAM

存儲深度和寬度較小,且LUT資源或URAM有富裕,可以用“Distribute BRAM”或“URAM”來替代。

這里需要注意使用的FPGA芯片型號,是否帶URAM資源。

  • (* ram_style = "block" *)表示用Block RAM實現(xiàn)
  • (* ram_style = "reg" *)表示用寄存器實現(xiàn)
  • (* ram_style = "distributed" *)表示用分布式 RAM實現(xiàn)
  • (* ram_style = "uram" *)表示用uram實現(xiàn)

這里給出代碼示例:

// FPGA 雙口 RAM
module dual_port_ram(
  input clk,
  input [7:0] data_in, 
  input [5:0] wr_addr,
  input wr_en,

  input [5:0] rd_addr,
  output reg [7:0] data_out
);

// 聲明雙口 RAM 存儲器  
(* ram_style = "block" *)reg [7:0] ram[63:0];  

// 時鐘上升沿寫入  
always @(posedge clk) begin
  if (wr_en) 
    ram[wr_addr] <= data_in; 
end 

// 讀取;  
always @(posedge clk) begin
  data_out <= ram[rd_addr]; 
end

endmodule

2、雙口ROM替代單口ROM

如果工程中,有兩個以上的ROM或RAM使用的是相同的數(shù)據(jù),可以使用雙口替代單口模式,資源消耗是一樣的,這樣就可以節(jié)省一個或多個ROM IP。

這里對比一下“數(shù)據(jù)寬度為32,存儲深度為1024”的單口和雙口模式下的資源消耗。

圖片

圖片

3、合理的數(shù)據(jù)寬度和深度設置

要想FPGA BRAM資源消耗優(yōu)化,更關鍵的是優(yōu)化FPGA工程的緩存大小設計,計算理論上緩存數(shù)據(jù)的位寬和最大深度,選擇出合適的參數(shù)

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

    關注

    1630

    文章

    21796

    瀏覽量

    605989
  • 芯片
    +關注

    關注

    456

    文章

    51170

    瀏覽量

    427227
  • ROM
    ROM
    +關注

    關注

    4

    文章

    575

    瀏覽量

    85987
  • 資源
    +關注

    關注

    0

    文章

    59

    瀏覽量

    17827
  • BRAM
    +關注

    關注

    0

    文章

    41

    瀏覽量

    11016
收藏 人收藏

    評論

    相關推薦

    FPGA ZYNQ Ultrascale+ MPSOC教程】33.BRAM實現(xiàn)PS與PL交互

    有時CPU需要與PL進行小批量的數(shù)據(jù)交換,可以通過BRAM模塊,也就是Block RAM實現(xiàn)此要求。本章通過Zynq的GP Master接口讀寫PL端的BRAM,實現(xiàn)與PL的交互。在本實驗中加入了自定義的FPGA程序,并利用AX
    的頭像 發(fā)表于 02-22 13:51 ?8286次閱讀
    【<b class='flag-5'>FPGA</b> ZYNQ Ultrascale+ MPSOC教程】33.<b class='flag-5'>BRAM</b>實現(xiàn)PS與PL交互

    FPGA設計中BRAM的知識科普

    FPGA設計中,BRAM是一項非常關鍵的內(nèi)置存儲資源FPGA開發(fā)需要熟練使用BRAM,今天再復習一下B
    發(fā)表于 08-15 15:44 ?5820次閱讀
    <b class='flag-5'>FPGA</b>設計中<b class='flag-5'>BRAM</b>的知識科普

    FPGA資源優(yōu)化方法

    各位大神,小弟最近在做一個項目,由于之前選用的FPGA資源不夠,現(xiàn)在需要將程序的資源占用率降下來。經(jīng)過我的冥思苦想,也找不到好的方法,不知道各位大神平時工作中降低資源利用率的方法有哪些
    發(fā)表于 04-04 00:32

    【InTime試用體驗】使用簡易、策略選擇精確度高的一款時序優(yōu)化軟件

    解決FPGA時序優(yōu)化問題的軟件。InTime 內(nèi)嵌學習引擎,可以智能分析FPGA設計,為綜合和布局布線提供更優(yōu)的策略組合。同時,根據(jù)對器件、設計和工具特點的了解,以及獨有的算法,InT
    發(fā)表于 07-05 11:00

    URAM和BRAM的區(qū)別是什么

      無論是7系列FPGA、UltraScale還是UltraScale Plus系列FPGA,都包含Block RAM(BRAM),但只有UltraScale Plus芯片有UltraRAM也就
    發(fā)表于 12-23 16:57

    FPGA設計應用及優(yōu)化策略有哪些?

    EDA技術具有什么特征?FPGA是什么原理?FPGA設計應用及優(yōu)化策略基于VHDL的FPGA系統(tǒng)行為級設計
    發(fā)表于 04-15 06:33

    FPGA實現(xiàn)基于Vivado的BRAM IP核的使用

    的使用。 ? ? BRAMFPGA定制的RAM資源,有著較大的存儲空間,且在日常的工程中使用較為頻繁。BRAM以陣列的方式排布于FPGA
    的頭像 發(fā)表于 12-29 15:59 ?1.2w次閱讀

    使用FPGA調用RAM資源的詳細說明

    FPGA可以調用分布式RAM和塊RAM兩種RAM,當我們編寫verilog代碼的時候如果合理的編寫就可以使我們想要的RAM被綜合成BRAM(Block RAM)或者DRAM(Distributed
    發(fā)表于 12-30 16:27 ?9次下載

    FPGA布局及資源優(yōu)化

    DDR3。 2.FPGA架構設計問題 我們知道,FPGA片上分布著各種資源,如時鐘,serdes,RAM,LUT,IO等。在進行FPGA規(guī)劃時候,應當需要知道項目設計需求,以及需求各
    的頭像 發(fā)表于 01-07 10:15 ?5236次閱讀
    <b class='flag-5'>FPGA</b>布局及<b class='flag-5'>資源</b><b class='flag-5'>優(yōu)化</b>

    時序分析的優(yōu)化策略詳細說明

    本文檔的主要內(nèi)容詳細介紹的是FPGA的時序分析的優(yōu)化策略詳細說明。
    發(fā)表于 01-14 16:03 ?17次下載
    時序分析的<b class='flag-5'>優(yōu)化</b><b class='flag-5'>策略</b>詳細說明

    時序分析的優(yōu)化策略詳細說明

    本文檔的主要內(nèi)容詳細介紹的是FPGA的時序分析的優(yōu)化策略詳細說明。
    發(fā)表于 01-14 16:03 ?19次下載
    時序分析的<b class='flag-5'>優(yōu)化</b><b class='flag-5'>策略</b>詳細說明

    URAM和BRAM有哪些區(qū)別

    無論是7系列FPGA、UltraScale還是UltraScale Plus系列FPGA,都包含Block RAM(BRAM),但只有UltraScale Plus芯片有UltraRAM也就是我們所說的URAM。
    的頭像 發(fā)表于 07-25 17:54 ?6023次閱讀
    URAM和<b class='flag-5'>BRAM</b>有哪些區(qū)別

    URAM和BRAM有什么區(qū)別

    無論是7系列FPGA、UltraScale還是UltraScale Plus系列FPGA,都包含Block RAM(BRAM),但只有UltraScale Plus芯片有UltraRAM也就是我們所說的URAM。
    發(fā)表于 01-27 06:55 ?12次下載
    URAM和<b class='flag-5'>BRAM</b>有什么區(qū)別

    FPGA實現(xiàn)基于Vivado的BRAM IP核的使用

    定制的RAM資源,有著較大的存儲空間,且在日常的工程中使用較為頻繁。BRAM以陣列的方式排布于FPGA的內(nèi)部,是FPGA實現(xiàn)各種存儲功能的主要部分,是真正的雙讀/寫端口的同步的RAM。
    的頭像 發(fā)表于 12-05 15:05 ?1876次閱讀

    基于FPGA設計的BRAM內(nèi)部結構

    再看末級觸發(fā)器對BRAM時序性能的影響,下圖依次展示了7系列FPGA、UltraScale+和Versal芯片在未使用和使用末級觸發(fā)器兩種情形下時鐘到輸出的延遲。
    發(fā)表于 04-25 10:42 ?448次閱讀
    基于<b class='flag-5'>FPGA</b>設計的<b class='flag-5'>BRAM</b>內(nèi)部結構
    百家乐官网现金投注信誉平台| 百家乐百乐发破解版| 赌场百家乐的玩法技巧和规则| 威尼斯人娱乐场55556| 百家乐官网桌套装| 竞彩足球| 百家乐波音平台开户导航| 无锡市| 大发888注册就送58| 星河百家乐官网的玩法技巧和规则 | 百家乐官网游戏图片| 申博太阳城管理网| 百家乐开户就送现金| 百家乐官网庄闲下载| 百家乐园是真的不| 百家乐官网游戏图片| 百家乐官网天上人间| 威尼斯人娱乐老牌网站| 百家乐官网平注常赢玩法技巧| 百家乐正网包杀| 茶陵县| 肯博百家乐官网现金网| 威尼斯人娱乐城优惠条件| 最新百家乐电脑游戏机| 百家乐官网真人大头贴| 盛世娱乐| 莆田棋牌游戏| 伯爵百家乐赌场娱乐网规则| 百家乐翻天快播粤语| 百家乐官网网上娱乐场开户注册| 威尼斯人娱乐电子游戏| 欢乐博百家乐娱乐城| 至尊百家乐年代| 百家乐大路小路| 百家乐分析仪博彩正网| 利高百家乐现金网| 百家乐官网那个平好| 足球百家乐官网投注网出租| 百家乐官网德州| 百家乐路单资料| 百家乐视频视频|