国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

vivado中bram簡單使用

這篇具有很好參考價值的文章主要介紹了vivado中bram簡單使用。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

bram設(shè)置為簡單雙口
vivado bram,fpga開發(fā)
vivado bram,fpga開發(fā)
建議取消勾選這個,這樣讀出來的數(shù)據(jù)是差一個時鐘周期的
vivado中的bram,寫的時候,寫使能,寫地址,寫數(shù)據(jù)一起賦值

讀的時候,讀使能,讀地址可以一起賦值,數(shù)據(jù)為下一時鐘周期才會來
vivado bram,fpga開發(fā)
邏輯為在地址1寫入了數(shù)據(jù)2。
vivado bram,fpga開發(fā)
讀的邏輯,地址1的數(shù)據(jù)2在一個時鐘周期之后

代碼:

`timescale 1ns / 1ps

module test_bram(
    input wire clk,
    input wire restn
    );

wire ena, enb, wea;
wire [9 : 0] addra, addrb;
wire [15 : 0] dina, doutb;
reg ena_r, enb_r, wea_r;
reg [9 : 0] addra_r, addrb_r;
reg [15 : 0] dina_r;
assign ena = ena_r;
assign enb = enb_r;
assign wea = wea_r;
assign addra = addra_r;
assign addrb = addrb_r;
assign dina = dina_r;
reg [9:0] cnt;
reg enb_r_1;
blk_mem_gen_0 bram (
  .clka(clk),    // input wire clka
  .ena(ena),      // input wire ena
  .wea(wea),      // input wire [0 : 0] wea
  .addra(addra),  // input wire [9 : 0] addra
  .dina(dina),    // input wire [15 : 0] dina
  .clkb(clk),    // input wire clkb
  .enb(enb),      // input wire enb
  .addrb(addrb),  // input wire [9 : 0] addrb
  .doutb(doutb)  // output wire [15 : 0] doutb
);
// bram先寫后讀驗證
reg [9:0] cnt_a;
always @(posedge clk or negedge restn) begin
    if(!restn) begin
        ena_r <= 0;
        wea_r <= 0;
        dina_r <= 1;//數(shù)據(jù)為地址加一
        addra_r <= 0;
        cnt_a <= 0;
    end
    else if (cnt_a < 10'd639)begin
        ena_r <= 1;
        wea_r <= 1;
        dina_r <= dina_r + 1;
        addra_r <= addra_r + 1;
        cnt_a <= cnt_a + 1;
    end
    else begin
        ena_r <= 0;
        wea_r <= 0;
        dina_r <= 0;
        addra_r <= 0;
    end
end

always @(posedge clk or negedge restn) begin
    if(!restn) begin
        enb_r <= 0;
        addrb_r <= 0;
    end
    else if (cnt_a == 10'd639)begin
        enb_r <= 1;
        addrb_r <= (addrb_r>=10'd639) ? 10'd639 : (addrb_r + 1);
    end
end

endmodule

testbench:文章來源地址http://www.zghlxwxcb.cn/news/detail-548336.html

//~ `New testbench
`timescale  1ns / 1ps

module tb_test_bram;

// test_bram Parameters
parameter PERIOD  = 10;


// test_bram Inputs
reg   clk                                  = 0 ;
reg   restn                                = 0 ;

// test_bram Outputs



initial
begin
    forever #(PERIOD/2)  clk=~clk;
end

initial
begin
    #(PERIOD*2) restn  =  1;
end

test_bram  u_test_bram (
    .clk                     ( clk     ),
    .restn                   ( restn   )
);

initial
begin

    $finish;
end

endmodule

到了這里,關(guān)于vivado中bram簡單使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • Vivado綜合生成BRAM及與LUTRAM的區(qū)別

    Vivado綜合生成BRAM及與LUTRAM的區(qū)別

    使用vivado中的BRAM可以通過例化 Block Memory Generator 這一ip并進行相關(guān)的設(shè)定。 另外可以通過直接編寫符合BRAM規(guī)范的代碼,借助綜合工具直接將其綜合為BRAM。這時需要通過 (*ram_style=\\\"block\\\"*) 對 array 進行修飾。 下面給出一種看似可以綜合為BRAM的示例。 上述代碼雖然用 (*ram_style

    2024年02月15日
    瀏覽(64)
  • Vivado開發(fā)FPGA使用流程、教程 verilog(建立工程、編譯文件到最終燒錄的全流程)

    Vivado開發(fā)FPGA使用流程、教程 verilog(建立工程、編譯文件到最終燒錄的全流程)

    目錄 一、概述 二、工程創(chuàng)建 三、添加設(shè)計文件并編譯 四、線上仿真 五、布局布線 六、生成比特流文件 七、燒錄 一、概述 vivado開發(fā)FPGA流程分為創(chuàng)建工程、添加設(shè)計文件、編譯、線上仿真、布局布線(添加約束文件)、生成比特流文件、燒錄等步驟,下文將按照這些步驟講

    2024年02月09日
    瀏覽(27)
  • FPGA開發(fā)環(huán)境 Vivado

    FPGA開發(fā)環(huán)境 Vivado

    Vivado是Xilinx系列FPGA開發(fā)環(huán)境。本文記載收錄了vivado常用開發(fā)技巧,隨機記錄、隨時更新。。。 任何Xilinx相關(guān)問題都可到WELCOME TO XILINX SUPPORT!查詢 靜態(tài)時序分析(Static Timing Analysis, STA):簡介及內(nèi)容導航 VIVADO的綜合屬性ASYNC_REG 在XDC中作如下約束,表示對名字末尾為 _cdc_to 的寄

    2024年02月11日
    瀏覽(31)
  • FPGA開發(fā)環(huán)境安裝VIVADO

    FPGA開發(fā)環(huán)境安裝VIVADO

    ?BASYS3開發(fā)板使用的是 Xilinx 廠商的 Artix-7 FPGA 芯片,所以要使用 Xilinx 提供的配套開發(fā)軟件 Vivado ,我使用的是 Vivado 18.3 。Vivado 18.3 的版本相對來說是較為穩(wěn)定的,所以推薦給大家這個版本當然 讀者也可安裝更新的版本,安裝步驟都是大同小異的。 第一步: 找到 Vivado 2018.

    2024年02月09日
    瀏覽(34)
  • FPGA | BRAM和DRAM

    Block ram 由一定數(shù)量固定大小的存儲塊構(gòu)成的,使用 BLOCK RAM 資源不占用額外的邏輯資源,并且速度快。 但是 使用的時候消耗的 BLOCK RAM 資源是其塊大小的整數(shù)倍 。如?Xilinx公司的結(jié)構(gòu)中每個 BRAM 有 36Kbit 的容量,既可以作為一個 36Kbit 的存儲器使用,也可以拆分為兩個獨立的

    2024年02月12日
    瀏覽(24)
  • FPGA開發(fā)必備軟件——Vivado,安裝教程

    FPGA開發(fā)必備軟件——Vivado,安裝教程 如果你想開始FPGA的開發(fā)學習,那么Vivado是一個不可或缺的軟件。它是Xilinx推出的一款針對FPGA、SoC和ASIC開發(fā)的綜合設(shè)計環(huán)境。在這里,我們詳細介紹如何下載、安裝和配置Vivado軟件。 在Xilinx官網(wǎng)上注冊一個賬號。注冊時需要提供自己的郵

    2024年02月13日
    瀏覽(32)
  • FPGA — BRAM學習筆記—讀寫操作

    FPGA — BRAM學習筆記—讀寫操作

    使用軟件: Vivado 開發(fā)板: EGO1采用Xilinx Artix-7系列XC7A35T-1CSG324C FPGA BRAM 即塊 RAM, 是 FPGA 的固有硬件資源。 另一種形式的 RAM 是分布RAM(Distribution RAM), 是由 FPGA 邏輯資源查找表 LUT 拼起來的 。這兩種 RAM 最本質(zhì)的區(qū)別是 塊RAM 默認輸入有寄存器 ,所以它在讀、寫使能信號后的 下個

    2024年02月01日
    瀏覽(54)
  • 【FPGA/數(shù)字IC】Multiport RAM,多讀多寫寄存器-——基于FPGA BRAM的多端口地址查找表與FPGA BRAM的資源分析

    【FPGA/數(shù)字IC】Multiport RAM,多讀多寫寄存器-——基于FPGA BRAM的多端口地址查找表與FPGA BRAM的資源分析

    目錄 背景 手寫Multiport Ram Multiport RAM 代碼方案 資源評估 Multiport RAM 資源利用的優(yōu)化 資源評估 防止讀寫沖突的組合邏輯設(shè)計(寫優(yōu)先) 仿真和時序 單口寫數(shù)據(jù) 單端口讀數(shù)據(jù) 多口讀相同數(shù)據(jù) 多口同時讀不同數(shù)據(jù) 背景 ????????在多端口交換機的設(shè)計中,交換機的每個端口

    2024年04月26日
    瀏覽(38)
  • [FPGA IP系列] 2分鐘了解FPGA中的BRAM

    [FPGA IP系列] 2分鐘了解FPGA中的BRAM

    FPGA設(shè)計中,BRAM是一項非常關(guān)鍵的內(nèi)置存儲資源,F(xiàn)PGA開發(fā)需要熟練使用BRAM,今天再復習一下BRAM的知識,包括BRAM的定義、組成、應用等等。 RAM是Random Access Memory,也就是隨機訪問數(shù)據(jù)存儲器,RAM的內(nèi)部是一個一個小內(nèi)存單元(可以看成是一個小格子)組成。 每個內(nèi)存單元都對應

    2024年02月12日
    瀏覽(30)
  • 【FPGA】Vivado開發(fā)流程(基于2018.3版本)

    【FPGA】Vivado開發(fā)流程(基于2018.3版本)

    基本流程:①設(shè)計定義 ②設(shè)計輸入 ③分析綜合 ④功能仿真 ⑤布局布線 ⑥分析性能 ? 雙擊 Vivado圖標即可啟動 Vivado 軟件。 ①Q(mào)uick Start 組包含有 Create Project(創(chuàng)建工程)?Open Project(打開工程)OpenExample Project(打開實例工程)。 ②Tasks 組包含有 Manage IP(管理 IP)?Open Hardw

    2024年02月14日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包