在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初始化文件
審核編輯:符乾江
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
相關推薦
希望TI莊家幫我解決一下RLD block、Lead-off detection的作用、用法的疑惑
發表于 01-13 06:43
在現代計算機系統中,隨機存取存儲器(RAM)是至關重要的組件之一。它負責存儲當前正在使用的程序和數據,以便CPU可以快速訪問。隨著技術的發展,RAM的速度和容量都有了顯著的提升,但如何準確地檢測
發表于 11-11 09:51
?1737次閱讀
隨著技術的發展,計算機已經成為我們日常生活中不可或缺的一部分。無論是工作、學習還是娛樂,一臺性能出色的計算機都能極大地提高效率和體驗。而RAM(隨機存取存儲器)作為計算機的重要組成部分,直接影響
發表于 11-11 09:40
?1211次閱讀
什么是RAM內存? RAM(Random Access Memory,隨機存取存儲器)是電腦中的一種易失性存儲器,它用于存儲電腦運行時的數據和程序。與硬盤等非易失性存儲器不同,RAM在斷電后會丟失
發表于 11-11 09:38
?4887次閱讀
意味著即使在斷電的情況下,它也能保持數據不丟失。ROM中的數據通常是在制造過程中預先寫入的,或者是通過特殊的編程過程寫入的,一旦寫入,就很難或無法更改。ROM主要用于存儲固件或系統軟件,這些是計算機啟動和運行所必需的。 1.2
發表于 11-04 10:01
?1.2w次閱讀
TLV320AIC3204中Processing Block 是做什么用的啊?
發表于 10-24 08:24
RAM(Random Access Memory,隨機存取存儲器)和ROM(Read-Only Memory,只讀存儲器)是計算機存儲系統中的兩種重要組成部分,它們在計算機的性能和功能上扮演著不同的角色。下面將分別詳細解釋RAM
發表于 08-30 11:38
?7658次閱讀
自然語言文本。在自然語言處理中,列舉法和描述法是兩種常見的方法。 列舉法 列舉法是一種基于規則的方法,它通過列舉所有可能的情況來解決問題。在
發表于 07-03 14:13
?1447次閱讀
將一組8位的256個數據從RAM中讀取出來,然后寫入到eeprom中,modesim仿真顯示一直寫入失敗,eeprom的通訊使用的是i2c。請問這是什么原因呢?找了好久都找不出來。程序和仿真見圖。
發表于 06-25 16:15
在工業自動化控制系統中,PLC(Programmable Logic Controller,可編程邏輯控制器)扮演著至關重要的角色。PLC通過執行各種指令來控制設備的運行,其中SFTL(Shift
發表于 06-15 17:48
?4308次閱讀
進行處理其給出結果的延時是兩行圖像的時間。還有這個算子法和現在卷積神經網絡中最前面的卷積層運算是類似的。
FPGA中的Block Ram是重要和稀缺資源,能緩存的圖像數據行數是有限
發表于 06-12 16:26
FPGA的學習。
在學習中才發現,FPGA遠不是門電路那么簡單。FPGA中有各種需要的資源,比如門電路、存儲單元、片內RAM、嵌入式乘法器、
發表于 05-22 18:27
功能寄存器。
個人理解,當結構體定義的時候編譯器給它分配空間,且這個為全局變量一直占用RAM空間,即使初始化后也一直占用空間,編譯器也不會回收其空間。到最后其實有一份硬件特殊功能寄存器的鏡像一直占用
發表于 05-17 12:24
當使用ram時,width是960bit,depth是16bit,只有15Kb大小, 為什么占用了很多個BRAM?
發表于 05-06 14:12
?756次閱讀
的因素,集成了我們上面所列舉的目前最先進的硬核,但價格卻比Virtex Ultrascale+便宜很多。當然,目前Achronix的FPGA中的邏輯資源數量相對Virtex Ultrascale+要少一些,I/O數量也自然少一些
發表于 04-24 15:09
評論