吴忠躺衫网络科技有限公司

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)部結構
    新2百家乐官网娱乐城| 百家乐官网破解秘| 百家乐官网电脑游戏机投注法实例| 百家乐赌博游戏| 百家乐官网赢钱绝技| 百家乐玩法开户彩公司| 全南县| 利记百家乐现金网| 阿克陶县| 百家乐群1188999| 百家乐官网怎么赢9| 现金网制作| 百家乐官网操作技巧| 台山市| 实战百家乐十大取胜原因百分百战胜百家乐不买币不吹牛只你能做到按我说的.百家乐基本规则 | 速博娱乐| 百家乐楼梯缆| 百家乐官网代理博彩正网| 百家乐游戏筹码| 百家乐21点游戏| 百家乐假在哪里| 网上百家乐官网的技巧| 百家乐官网桌布| 大发888娱乐场888| 真人百家乐输钱惨了| 百家乐官网揽子打法| 太阳城娱乐城申博| 网上百家乐有哪些玩法| 济州岛百家乐官网的玩法技巧和规则| 阳山县| 皇室国际娱乐城| 威尼斯人娱乐场it| 澳门百家乐的赢钱不倒翁| 百家乐官网赌博详解| 澳门百家乐官网走势图怎么看| 临泽县| 永发国际娱乐城| 兴义市| 网上赌博网址| 大发888游戏是真的么| 世界顶级赌场酒店|