精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

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

FPGA雙端口RAM的使用簡述

冬至子 ? 來源:FPGA開發(fā)備忘錄 ? 作者:小創(chuàng) ? 2023-04-25 15:58 ? 次閱讀

1 簡述

RAM :隨機(jī)存取存儲器(random access memory,RAM)又稱作“隨機(jī)存儲器”。在FPGA開發(fā)過程中經(jīng)常使用到,而所謂的雙端口RAM就是有兩組獨(dú)立的端口對存儲塊進(jìn)行讀寫操作,如下圖所示。

圖片

一般在應(yīng)用時(shí),一個(gè)作為讀端口,另一個(gè)作為寫端口(也可以同時(shí)寫和讀)。

2 例化IP核

在開發(fā)過程中,常會(huì)用到雙端口RAM,下面說一下FPGA中雙端口RAM的常規(guī)使用方法,更多的使用方案可翻閱參考文獻(xiàn)。

本次仿真采用Xilinx的 Block Memory Generator v8.4的IP核來進(jìn)行例化,例化參數(shù)如下。

圖片

porta端口配置

圖片

portb端口配置

圖片

若以端口a作為寫端口,b作為讀端口,則寫端口的數(shù)據(jù)位寬為128bit,深度為8192,則地址位寬為14bit,而讀端口的數(shù)據(jù)位寬為32bit,深度為3276,則地址寬度為15bit。

3 端口描述

在寫仿真激勵(lì)之前,需要了解各端口在IP核中的功能,例化后的IP核如下圖所示

圖片

各端口定義如下,端口b定義和a一樣。

圖片

4 仿真激勵(lì)編寫

根據(jù)端口定義設(shè)計(jì)仿真激勵(lì),tb代碼如下。

`timescale 1ns / 1ps
module tb_memory();
reg  [12:0]  addra;
reg          clka ;
reg  [127:0] dina ;
reg          wea  ;
reg          ena ;
reg [14:0]   addrb;
reg          clkb ;
wire [31:0] doutb;
reg          enb  ;
reg          web  ;


initial begin
  addra = 13'd0;
  clka  = 1'b0 ;
  dina  = 128'h40000000300000002000000010000000;
  wea   = 1'b1;
  ena   = 1'b1;


  addrb = 15'd0;
  clkb  = 1'b0 ;
  enb   = 1'b1;
  web   = 1'b0;
end


 always #10    clka = ~clka;//寫時(shí)鐘50M
 always #20    clkb = ~clkb;//讀時(shí)鐘為25M

 reg [15:0] counta = 16'd0;
 always @(posedge clka) begin;
  if(wea==1'b1) begin
   addra <= addra + 13'b1;
   dina  <= dina + 128'b1;
   if (addra == 13'h3fff) begin
    addra <= 13'h0;
   end
  end
 end


 reg [15:0] countb = 16'd0;
 always @(posedge clkb) begin
  if(enb==1'b1) begin
   addrb <= addrb + 15'b1;
   if (addrb == 15'h3fff) begin
       addrb <= 15'h0;
   end
  end
 end


design_1_wrapper tb_memory(
  .BRAM_PORTA_0_addr(addra),
  .BRAM_PORTA_0_clk (clka ),
  .BRAM_PORTA_0_din (dina ),
  .BRAM_PORTA_0_we  (wea ),
  .BRAM_PORTA_0_en  (ena),
  .BRAM_PORTB_0_addr(addrb),
  .BRAM_PORTB_0_clk (clkb ),
  .BRAM_PORTB_0_dout(doutb),
  .BRAM_PORTB_0_we  (web),
  .BRAM_PORTB_0_en  (enb)
);
endmodule

仿真結(jié)果如下圖所示

圖片

由上圖所示,由于寫數(shù)據(jù)的位寬為128bit,讀數(shù)據(jù)的位寬為32bit,因此需要讀4次拼接起來才能恢復(fù)寫入的數(shù)據(jù)。

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

    關(guān)注

    38

    文章

    7452

    瀏覽量

    163599
  • RAM
    RAM
    +關(guān)注

    關(guān)注

    8

    文章

    1367

    瀏覽量

    114528
  • FPGA開發(fā)
    +關(guān)注

    關(guān)注

    1

    文章

    43

    瀏覽量

    14891
  • 隨機(jī)存取存儲器

    關(guān)注

    0

    文章

    44

    瀏覽量

    8952
收藏 人收藏

    評論

    相關(guān)推薦

    利用FPGA實(shí)現(xiàn)RAM的設(shè)計(jì)及應(yīng)用

    利用FPGA實(shí)現(xiàn)RAM的設(shè)計(jì)及應(yīng)用 概述:為了在高速采集時(shí)不丟失數(shù)據(jù),在數(shù)據(jù)采集系統(tǒng)和
    發(fā)表于 04-16 14:08 ?1.2w次閱讀
    利用<b class='flag-5'>FPGA</b>實(shí)現(xiàn)<b class='flag-5'>雙</b>口<b class='flag-5'>RAM</b>的設(shè)計(jì)及應(yīng)用

    基于FPGARAM實(shí)現(xiàn)及應(yīng)用

    的應(yīng)用。采用FPGA技術(shù)構(gòu)造RAM,實(shí)現(xiàn)高速信號采集系統(tǒng)中的海量數(shù)據(jù)存儲和時(shí)鐘匹配。功能仿真驗(yàn)證該設(shè)計(jì)的正確性,該設(shè)計(jì)能減小電路設(shè)計(jì)的復(fù)雜性,增強(qiáng)設(shè)計(jì)的靈活性和資源的可配置性能,降低設(shè)計(jì)成本,縮短
    發(fā)表于 04-24 09:44

    關(guān)于FPGA設(shè)計(jì)ram的問題

    我現(xiàn)在需要設(shè)計(jì)一個(gè)口的ram,它要求數(shù)據(jù)和地址線是復(fù)用的,雙向的,想利用FPGA設(shè)計(jì),請教下大家思路,謝謝。
    發(fā)表于 07-13 08:52

    FPGAram

    利用FPGA設(shè)計(jì)ram,最大設(shè)計(jì)多的空間的?如果是cpld來實(shí)現(xiàn),空間是不是更?。咳绾稳ゴ_定這個(gè)大小呢?求指導(dǎo)
    發(fā)表于 10-21 21:23

    求大神?。?!單端口端口RAM的區(qū)別是啥???

    端口端口ram的區(qū)別是什么,能具體介紹下嗎,非常感謝!
    發(fā)表于 02-10 14:00

    FPGA開源教程連載】第十三章A 嵌入式RAM使用之端口RAM

    `嵌入式RAM使用之端口RAM實(shí)驗(yàn)?zāi)康模?1.學(xué)習(xí)Altera公司Cyclone IV系列器件的內(nèi)部結(jié)構(gòu)2.學(xué)會(huì)調(diào)用Quartus II軟件中提供
    發(fā)表于 01-02 09:40

    簡單的端口和真正的端口RAM之間的資源使用差異?

    你好,我想知道簡單的端口和真正的端口RAM之間的資源使用差異? True
    發(fā)表于 06-10 07:15

    請問端口RAM在高速數(shù)據(jù)采集中有什么應(yīng)用?

    FPGA中怎樣去構(gòu)造存儲器?如何利用庫函數(shù)去構(gòu)造端口RAM?庫函數(shù)法構(gòu)造端口
    發(fā)表于 04-14 06:57

    什么是RAM? 基于FPGARAM有哪些應(yīng)用?

    什么是RAM?基于FPGARAM有哪些應(yīng)用?
    發(fā)表于 05-06 07:41

    介紹帶8×8端口RAM的數(shù)據(jù)采集系統(tǒng)AD7581與μP接口

    介紹帶8×8端口RAM的數(shù)據(jù)采集系統(tǒng)AD7581與μP接口:
    發(fā)表于 06-11 14:40 ?30次下載
    介紹帶8×8<b class='flag-5'>雙</b><b class='flag-5'>端口</b><b class='flag-5'>RAM</b>的數(shù)據(jù)采集系統(tǒng)AD7581與μP接口

    基于FPGARAM實(shí)現(xiàn)及應(yīng)用

      為了在高速采集時(shí)不丟失數(shù)據(jù),在數(shù)據(jù)采集系統(tǒng)和CPU之間設(shè)置一個(gè)數(shù)據(jù)暫存區(qū)。介紹RAM的存儲原理及其在數(shù)字系統(tǒng)中的應(yīng)用。采用FPGA技術(shù)構(gòu)造
    發(fā)表于 02-11 11:20 ?69次下載

    基于Actel FPGA端口RAM設(shè)計(jì)

    基于Actel FPGA端口RAM 設(shè)計(jì)端口RAM
    發(fā)表于 11-15 17:44 ?82次下載

    端口RAM的并口設(shè)計(jì)應(yīng)用

    端口RAM的并口設(shè)計(jì)應(yīng)用 摘要:IDT7132/IDT7142是一種高速2k×8端口靜態(tài)RAM
    發(fā)表于 03-03 19:25 ?1870次閱讀
    <b class='flag-5'>雙</b><b class='flag-5'>端口</b><b class='flag-5'>RAM</b>的并口設(shè)計(jì)應(yīng)用

    端口RAM原理介紹及其應(yīng)用

    傳統(tǒng)的并行接口和串行接口設(shè)計(jì)無論在通信速率,還是在可靠性方面都不易滿足要求。而端口RAM則是一個(gè)較好的實(shí)現(xiàn)方案。它具有通訊速率高、接口設(shè)計(jì)簡單等特點(diǎn),因而在設(shè)計(jì)中得到廣
    發(fā)表于 12-29 09:45 ?2w次閱讀
    <b class='flag-5'>雙</b><b class='flag-5'>端口</b><b class='flag-5'>RAM</b>原理介紹及其應(yīng)用

    fpgaram的使用

    FPGARAM的使用主要涉及配置和使用端口RAM模塊。
    的頭像 發(fā)表于 03-15 13:58 ?927次閱讀