在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

Vivado中BRAM IP的配置方式和使用技巧

CHANBAEK ? 來源:FPGA入門到精通 ? 作者:未可知摩爾 ? 2023-08-29 16:41 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

FPGA開發中使用頻率非常高的兩個IP就是FIFO和BRAM,上一篇文章中已經詳細介紹了Vivado FIFO IP,今天我們來聊一聊BRAM IP。

本文將詳細介紹Vivado中BRAM IP的配置方式和使用技巧。

一、BRAM IP核的配置

1、打開BRAM IP核

在Vivado的IP Catalog中找到Block Memory Generator IP核,雙擊打開參數配置界面。

圖片

2、配置BRAM IP基本參數

圖片

(1)IP名

定制的IP的名字只能在定制時設定好,后續不能修改。

IP名設定,簡單易懂即可,按照功能或數據寬度和深度來設定即可,例如BRAM_8x256,即表示數據寬度為8bit,數據深度為256bit。

(2)接口類型(Interface Type)

Native:最基本的接口,包括數據寫入、數據讀取等信號

AXI4:AXI4總線通信協議接口

(3)存儲類型(Memory Type)

Single Port RAM:單端口RAM

Simple Dual Port RAM:簡單雙端口RAM,可選同步時鐘和異步時鐘,A端口只支持寫數據,B端口只支持讀數據。

True Dual Port RAM:真雙端口RAM,可選同步時鐘和異步時鐘,A端口和B端口都支持寫數據和讀數據。

Single Port ROM:單端口ROM

Dual Port ROM:雙端口ROM,A端口和B端口都可以讀取數據

3、配置A端口或B端口參數

A端口和B端口參數配置界面基本一致,這里只介紹A端口的參數配置。

圖片

(1)存儲大小設置(Memory Size)

設置讀數據或寫數據端的數據位寬和深度,數據位寬范圍為1 ~ 4608bit,數存儲深度為2~1048576。

operating mode:讀寫同一個地址時,操作模式設定:寫優先、讀優先、不變,建議在實際應用時不出現這種情況。

Enable Port Type:設定是否開放端口使能控制信號。

(2)輸出數據寄存設置

Primitives Output Register:輸出數據是否插入一個寄存器,如果不選中這個,則讀數據延時只有1個周期,否則讀數據延時有2個周期。

建議選中這個輸出寄存器,可以改善時序。

(3)復位參數設置

RSTA Pin (setreset pin):復位端口選擇,如果選中,則開放復位端口。

Output Reset Value (Hex):設定復位生效后,輸出數據值,默認為0

4、Other Options

這部分初始化值,對于RAM來說可能用處不大,但對于ROM來說很重要。

圖片

選中這個Load Init File,再點擊“Browse”選中“coe或mif”格式文件,最后點擊“Edit”,在打開的界面選擇“Valide”校驗一下,如果有問題,這部分會提示紅色文字,否則繼續下一步即可。

5、IP設置參數總覽

IP設置參數總覽,可看到資源消耗、寬度、深度、讀延遲等信息。

圖片

6、點擊OK生成IP核。

在IP核生成完成后,點擊source窗口下的“IP source”,鼠標左鍵單擊這個IP,在“Instantiation Template”下,雙擊“veo”后綴文件,即可看到例化模板。

圖片

二、BRAM IP核的接口

1、時鐘信號和復位信號

復位信號 rsta/rstb

時鐘 clka(A端口時鐘) clkb(b端口時鐘),復位信號 rsta(A端口復位),rstb(B端口復位)

2、端口信號

A和B端口信號基本一樣,這里以A端口為例。

ena A端口使能信號

wea A端口寫使能信號

addra A端口讀寫地址

dina A端口的寫入數據

douta A端口的讀取數據

三、BRAM IP核的調用

BRAM IP核的調用很簡單,這里以同步時鐘下的簡單雙端口RAM為例:

module top (
  input clk,
  input [7:0] data_in,
  input wr_en, 
  input [7:0] wr_addr,
  input [7:0] rd_addr,
  output [7:0] data_out  
);

    BRAM_8x256 u_BRAM_8x256 (
      .clka(clk),    // input wire clka
      .ena(1'b1),      // input wire ena
      .wea(wr_en),      // input wire [0 : 0] wea
      .addra(wr_addr),  // input wire [7 : 0] addra
      .dina(data_in),    // input wire [7 : 0] dina
      .clkb(clk),    // input wire clkb
      .enb(1'b1),      // input wire enb
      .addrb(rd_addr),  // input wire [7 : 0] addrb
      .doutb(data_out)  // output wire [7 : 0] doutb
    );

endmodule

下面是BRAM IP核的一個簡單的testbench:

module test;

reg clk;  
reg [7:0] din;
reg wen;
reg [7:0] waddr;
reg [7:0] raddr;
wire [7:0] dout;

top u_top(
  .clk(clk), 
  .data_in(din),
  .wr_en(wen),
  .wr_addr(waddr),
  .rd_addr(raddr),
  .data_out(dout)  
);

initial begin
  clk = 0;
  wen = 0; waddr = 0; raddr = 0;
  #10 wen = 1; waddr = 1; din = 5; 
  #10 wen = 1; waddr = 2; din = 6; 
  #10 wen = 1; waddr = 3; din = 7; 
  #10 wen = 1; waddr = 4; din = 8;
  #10 wen = 1; waddr = 5; din = 9;
  #10 wen = 0; raddr = 1;
  #10 wen = 0; raddr = 2;
  #10 wen = 0; raddr = 3;
  #10 wen = 0; raddr = 4;
  #10 wen = 0; raddr = 5;
  #30 $finish;
end

always #5 clk = ~clk;  

endmodule

仿真測試圖:

圖片

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

    關注

    1645

    文章

    22018

    瀏覽量

    616960
  • 寄存器
    +關注

    關注

    31

    文章

    5432

    瀏覽量

    124041
  • fifo
    +關注

    關注

    3

    文章

    400

    瀏覽量

    44744
  • IP核
    +關注

    關注

    4

    文章

    338

    瀏覽量

    50667
  • BRAM
    +關注

    關注

    0

    文章

    41

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    FPGA設計BRAM的知識科普

    FPGA設計BRAM是一項非常關鍵的內置存儲資源,FPGA開發需要熟練使用BRAM,今天再復習一下BRAM的知識,包括BRAM的定義、組
    發表于 08-15 15:44 ?7076次閱讀
    FPGA設計<b class='flag-5'>中</b><b class='flag-5'>BRAM</b>的知識科普

    請問vivado如何減少BRAM瓦片這一數量?如何操作?

    嗨,我的設計在合成中使用141.5 BRAM瓦片。但是,在Zynq可以使用140 BRAM瓦片。實施后,這個數量下降到133瓦。我的問題是vivado如何減少這一數量?實施?這點可以
    發表于 10-31 16:17

    初始化BRAM警告coe文件不存在

    大家好,我搜索了幾個關于初始化BRAM的線程,但我找不到答案。我使用的是Vivado 2015.4。我寫了一個coe文件,想把coe文件加載到BRAM。首先,我添加一個
    發表于 04-17 09:47

    如何使用Vivado IP Block Design?

    對你所有的人來說,我已經閱讀了有關IP Block Designs的手冊和培訓材料,并成功地生成了AXI LITE BRAM IP設計,以及之前在USER社區為您提供的一些幫助。我所
    發表于 03-20 08:52

    vivadobram加載coe文件數據僅在實例化中生成datain

    vivadobram加載coe文件數據僅在instatntiation中生成datain,但沒有datain
    發表于 04-15 10:12

    URAM和BRAM的區別是什么

    地址,讀出的是該地址原有數據;A端口寫而B端口讀同一地址,讀出的是新寫入的數據?!   嵗?b class='flag-5'>方式  對于 BRAM,可采用原語、XPM_MEMORY、RTL代碼或者IP Core的方式
    發表于 12-23 16:57

    BRAM IP核包括哪幾種類型?怎么使用?

    BRAM IP核包括哪幾種類型?Vivadoxilinx_BRAM IP核怎么使用?
    發表于 03-08 07:11

    如何在Vivado Design Suite 中進行IP加密

    此視頻概述了Vivado Design SuiteIP加密。 它涵蓋了IP加密工具流程,如何準備加密IP以及如何在
    的頭像 發表于 11-20 06:34 ?6955次閱讀

    FPGA實現基于VivadoBRAM IP核的使用

    ? Xilinx公司的FPGA中有著很多的有用且對整個工程很有益處的IP核,比如數學類的IP核,數字信號處理使用的IP核,以及存儲類的IP核,本篇文章主要介紹
    的頭像 發表于 12-29 15:59 ?1.3w次閱讀

    Vivadoxilinx_BRAM IP核使用

    Vivado2017.2 BRAM版本為 Block Memory Generator Specific Features 8.3。BRAM I
    發表于 03-10 06:15 ?19次下載
    <b class='flag-5'>Vivado</b><b class='flag-5'>中</b>xilinx_<b class='flag-5'>BRAM</b> <b class='flag-5'>IP</b>核使用

    淺析VivadoIP核DDS使用方式及注意事項

    vivado提供了DDS IP核可以輸出正余弦波形,配置方法如下
    的頭像 發表于 04-27 15:52 ?1.1w次閱讀
    淺析<b class='flag-5'>Vivado</b>的<b class='flag-5'>IP</b>核DDS使用<b class='flag-5'>方式</b>及注意事項

    一文解析Vivado的三種封裝IP方式

    Vivado提供了三種封裝IP方式:(1)將當前工程封裝為IP;(2)將當前工程的BD(IPI 設計)封裝為
    的頭像 發表于 08-10 18:09 ?8070次閱讀
    一文解析<b class='flag-5'>Vivado</b>的三種封裝<b class='flag-5'>IP</b>的<b class='flag-5'>方式</b>

    如何在Vivado配置FIFO IP

    Vivado IP核提供了強大的FIFO生成器,可以通過圖形化配置快速生成FIFO IP核。
    的頭像 發表于 08-07 15:36 ?5684次閱讀
    如何在<b class='flag-5'>Vivado</b><b class='flag-5'>中</b><b class='flag-5'>配置</b>FIFO <b class='flag-5'>IP</b>核

    Vivado IP核Shared Logic選項配置

    在給Vivado的一些IP核進行配置的時候,發現有Shared Logic這一項,這里以Tri Mode Ethernet MAC IP
    的頭像 發表于 09-06 17:05 ?2317次閱讀
    <b class='flag-5'>Vivado</b> <b class='flag-5'>IP</b>核Shared Logic選項<b class='flag-5'>配置</b>

    FPGA實現基于VivadoBRAM IP核的使用

    Xilinx公司的FPGA中有著很多的有用且對整個工程很有益處的IP核,比如數學類的IP核,數字信號處理使用的IP核,以及存儲類的IP核,本篇文章主要介紹
    的頭像 發表于 12-05 15:05 ?2366次閱讀
    主站蜘蛛池模板: 高清成年美女xx免费网站黄 | 国产精品伦理一区二区三区 | 欧美色图亚洲自拍 | 福利天堂| 91中文字幕视频 | 免费在线播放毛片 | 午夜寂寞视频在线观看 | 五月激情综合 | 午夜福利毛片 | 1024手机看片你懂得的 日韩欧美 | 五月天婷婷免费观看视频在线 | 亚1州区2区三区4区产品 | 人人公开免费超级碰碰碰视频 | 欧美特黄一级视频 | 91亚色视频| 热久久最新视频 | 亚洲影视网 | 日本三级s级在线播放 | 黄色在线观看视频网站 | 美女被日出白浆 | 四虎亚洲国产成人久久精品 | 久久青草国产免费观看 | 99香蕉国产 | 天天插夜夜爽 | 性夜影院爽黄a爽免费看网站 | 黄网站在线观看高清免费 | 国产精品推荐天天看天天爽 | 国产成人精品日本亚洲网站 | 国产一级簧片 | 成人区精品一区二区毛片不卡 | 亚洲精品久久久久午夜福 | 很黄很黄的网站免费的 | gay超刺激污文| 久久电影福利 | 99视频网址 | 国产91久久最新观看地址 | 欧美在线黄色 | 天天躁狠狠躁夜夜躁2021 | 美女扒开尿口给男人桶爽视频 | 色窝网| 欧美午夜精品一区二区三区 |