在线观看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
    +關注

    關注

    1643

    文章

    21925

    瀏覽量

    612556
  • 寄存器
    +關注

    關注

    31

    文章

    5402

    瀏覽量

    122928
  • fifo
    +關注

    關注

    3

    文章

    397

    瀏覽量

    44520
  • IP核
    +關注

    關注

    4

    文章

    337

    瀏覽量

    50320
  • BRAM
    +關注

    關注

    0

    文章

    41

    瀏覽量

    11206
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    FPGA設計BRAM的知識科普

    FPGA設計BRAM是一項非常關鍵的內置存儲資源,FPGA開發需要熟練使用BRAM,今天再復習一下BRAM的知識,包括BRAM的定義、組
    發表于 08-15 15:44 ?6710次閱讀
    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端口讀同一地址,讀出的是新寫入的數據。    實例化方式  對于 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 ?6809次閱讀

    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 ?7664次閱讀
    一文解析<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 ?5255次閱讀
    如何在<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 ?2122次閱讀
    <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 ?2145次閱讀
    主站蜘蛛池模板: 中文网丁香综合网 | 国内精品91久久久久 | 国产一级αv片免费观看 | fxxx性xxx性 | 夜夜夜爽| 男女一区二区三区免费 | 欧美亚洲视频一区 | 婷婷久久精品 | 天堂资源中文官网 | 免费人成网站在线高清 | 国产一卡二卡3卡4卡四卡在线视频 | 国产主播一区二区 | 91综合网 | aa在线视频 | 色视频免费观看高清完整 | 四虎影视在线影院在线观看 | 国产操女 | 亚洲欧美视频二区 | 日韩在线视频一区 | 天天看毛片 | 精品国产1000部91麻豆 | 成人中文字幕一区二区三区 | 九九精品久久久久久噜噜 | 永久在线免费观看 | 欧美又黄又嫩大片a级 | 12306影院午夜入口 | 亚洲网站免费 | 大量真实偷拍情侣视频野战 | 一个色在线视频 | 九九草在线观看 | 欧美色综合久久 | 久久大尺度 | 不卡一区二区在线观看 | 国产性videostv另类极品 | 成人午夜性视频欧美成人 | 免费看国产黄色片 | 国产伦精品一区二区三区免 | 国产黄色大全 | 67194最新网址 | 扒开双腿疯狂进出爽爽爽 | 久久久久久人精品免费费看 |