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

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

3天內不再提示

FPGA中block ram的特殊用法列舉

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2020-12-24 14:28 ? 次閱讀

FPGA中block ram是很常見的硬核資源,合理的利用這些硬件資源一定程度上可以優化整個設計,節約資源利用率,充分開發FPGA芯片中的潛在價值,本文根據前人總結的一些用法,結合安路科技FPGA做簡單總結,說明基本原理。

用法一:使用雙口模式拆分成2個小容量的BRAM

基本原理如下:

· 以1K*9bit雙端口配置模式為例,一個bram9k,可以當作兩個512*9k rom

· 將A端口的地址最高位固定接0,B端口的地址最高位固定接1,則通過A端口只能訪問0~511的地址空間,通過B端口只能訪問512~1023地址空間,互不沖突,相當于兩個小容量的rom

用法二:用作并行數據的多周期延時

· 將bram例化成簡單雙端口模式,并將寫端口固定使能為寫,讀端口固定使能為讀。

· 將ram模式配置成 “讀優先模式”,每次在寫某個地址之前會先把該地址的數據輸出

· 用一個模長為N(N=4)的計數器,反復向ram中寫數據,會得到一個延時為N+1的輸出數據

用法三:用作高速大規模計數器

基本原理如下:

· 以9Kbit bram為例,設置成雙端口,1k*9bit模式

· A端口doa[7:0]是低8bit 計數器輸出,doa[8]是進位信號,給到B端口的使能

· B端口dob[7:0]是高8bit計數器輸出。

· 由于B端口數據有一個周期延時,將A端口數據延時一個周期之后與B端口構成16bit計數器

· 也即一個9Kbit bram可以構造成一個16bit的計數器

· 設計原型是兩個8bit的計數器級聯構造16bit計數

· rom初始化文件

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

    關注

    1608

    文章

    21358

    瀏覽量

    594369
  • BRAM
    +關注

    關注

    0

    文章

    41

    瀏覽量

    10892
收藏 人收藏

    評論

    相關推薦

    硬件特殊功能寄存器編程思路和RAM使用的問題求解?

    功能寄存器。 個人理解,當結構體定義的時候編譯器給它分配空間,且這個為全局變量一直占用RAM空間,即使初始化后也一直占用空間,編譯器也不會回收其空間。到最后其實有一份硬件特殊功能寄存器的鏡像一直占用
    發表于 05-17 12:24

    請問Block RAM的資源如何計算?

    當使用ram時,width是960bit,depth是16bit,只有15Kb大小, 為什么占用了很多個BRAM?
    的頭像 發表于 05-06 14:12 ?154次閱讀
    請問<b class='flag-5'>Block</b> <b class='flag-5'>RAM</b>的資源如何計算?

    中高端FPGA如何選擇

    的因素,集成了我們上面所列舉的目前最先進的硬核,但價格卻比Virtex Ultrascale+便宜很多。當然,目前Achronix的FPGA的邏輯資源數量相對Virtex Ultrascale+要少一些,I/O數量也自然少一些
    發表于 04-24 15:09

    fpga雙口ram的使用

    FPGA雙口RAM的使用主要涉及配置和使用雙端口RAM模塊。雙端口RAM的特點是有兩組獨立的端口,可以對同一存儲塊進行讀寫操作,從而實現并行訪問。
    的頭像 發表于 03-15 13:58 ?367次閱讀

    AD9684與FPGA用LVDS模式接口互聯時,FPGA端如何使用?

    咨詢一個初級A/D問題:AD9684DCO時鐘的用法FPGA控制)。AD9684與FPGA用LVDS模式接口互聯時,FPGA端如何使用?
    發表于 12-13 09:01

    oracle中rowid的用法

    RowID是Oracle中一個特殊的偽列,它是一個唯一標識數據庫中每一行數據的地址。在Oracle數據庫中,每個數據塊都有一個唯一的標識符,當使用RowID時,可以確定一個特定的數據塊和數
    的頭像 發表于 12-06 09:45 ?887次閱讀

    host如何通過spi下載ldr到ram?

    目前通過sigmastudio的Boot Target已經可以將ldr代碼下載到ram,希望實現在imx6q(主)上,將ldr通過spi下載到sharc的ram
    發表于 11-29 07:59

    FPGA中塊RAM的分布和特性

    在選擇FPGA時,關注LUT(Look-Up Table)和BRAM(Block RAM)是非常重要的,因為它們是FPGA架構中的兩個核心資源,對于設計的性能和資源利用至關重要。
    的頭像 發表于 11-21 15:03 ?764次閱讀
    <b class='flag-5'>FPGA</b>中塊<b class='flag-5'>RAM</b>的分布和特性

    Xilinx FPGA IP之Block Memory Generator功能概述

    Xilinx Block Memory Generator(BMG)是一個先進的內存構造器,它使用Xilinx fpga中的嵌入式塊RAM資源生成面積和 性能優化的內存。
    的頭像 發表于 11-14 17:49 ?1148次閱讀
    Xilinx <b class='flag-5'>FPGA</b> IP之<b class='flag-5'>Block</b> Memory Generator功能概述

    FPGA在一個時鐘周期可以讀取多個RAM數據嗎?

    設計都涉及到對RAM的讀寫操作。在FPGA芯片中,RAM也叫做存儲塊(Block RAM),可以存儲大量的數據。
    的頭像 發表于 10-18 15:28 ?825次閱讀

    Stream模塊的基礎用法和進階用法

    有用。在本教程中,我們將介紹 Stream 模塊的基礎用法和進階用法,并提供示例。 基礎用法 在本節中,我們將介紹 Stream 模塊的基礎用法,并提供基礎示例。 從 Vec 中創建
    的頭像 發表于 09-19 15:33 ?756次閱讀

    FPGA RAM簡介和使用案例

    FPGA 邏輯設計中經常用到的數據存儲方式有ROM、RAM和FIFO,根據不同的應用場景選擇不同的存儲方式。Xilinx 平臺三種存儲方式在使用過程中的區別如下。
    的頭像 發表于 08-22 16:12 ?2066次閱讀
    <b class='flag-5'>FPGA</b> <b class='flag-5'>RAM</b>簡介和使用案例

    超高數據流通量FPGA新品類中的Block RAM級聯架構

    本文主要講述了Speedster7t FPGA的片上SRAM,也就是Block RAM針對傳統的結構所做出的一些優化。
    的頭像 發表于 07-13 17:24 ?375次閱讀
    超高數據流通量<b class='flag-5'>FPGA</b>新品類中的<b class='flag-5'>Block</b> <b class='flag-5'>RAM</b>級聯架構

    FIFO和RAM,到底用哪個?

    FPGA的設計中的,內部的FIFO和RAM是兩種非常常見的存儲單元
    的頭像 發表于 07-11 17:23 ?1068次閱讀

    在51系列data,idata,xdata,pdata的區別是什么?

    在51系列data,idata,xdata,pdata的區別: data:固定指前面0x00-0x7f的128個RAM,可以用acc直接讀寫的,速度最快,生成的代碼也最小。 idata:固定指前面
    發表于 06-25 08:48
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>