在FPGA中block ram是很常見的硬核資源,合理的利用這些硬件資源一定程度上可以優(yōu)化整個設計,節(jié)約資源利用率,充分開發(fā)FPGA芯片中的潛在價值,本文根據前人總結的一些用法,結合安路科技FPGA做簡單總結,說明基本原理。
用法一:使用雙口模式拆分成2個小容量的BRAM
基本原理如下:
· 以1K*9bit雙端口配置模式為例,一個bram9k,可以當作兩個512*9k rom
· 將A端口的地址最高位固定接0,B端口的地址最高位固定接1,則通過A端口只能訪問0~511的地址空間,通過B端口只能訪問512~1023地址空間,互不沖突,相當于兩個小容量的rom
用法二:用作并行數據的多周期延時
· 將bram例化成簡單雙端口模式,并將寫端口固定使能為寫,讀端口固定使能為讀。
· 將ram模式配置成 “讀優(yōu)先模式”,每次在寫某個地址之前會先把該地址的數據輸出
· 用一個模長為N(N=4)的計數器,反復向ram中寫數據,會得到一個延時為N+1的輸出數據
用法三:用作高速大規(guī)模計數器
基本原理如下:
· 以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的計數器級聯(lián)構造16bit計數
· rom初始化文件
審核編輯:符乾江
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
相關推薦
在現代計算機系統(tǒng)中,隨機存取存儲器(RAM)是至關重要的組件之一。它負責存儲當前正在使用的程序和數據,以便CPU可以快速訪問。隨著技術的發(fā)展,RAM的速度和容量都有了顯著的提升,但如何準確地檢測
發(fā)表于 11-11 09:51
?415次閱讀
什么是RAM內存? RAM(Random Access Memory,隨機存取存儲器)是電腦中的一種易失性存儲器,它用于存儲電腦運行時的數據和程序。與硬盤等非易失性存儲器不同,RAM在斷電后會丟失
發(fā)表于 11-11 09:38
?827次閱讀
自然語言文本。在自然語言處理中,列舉法和描述法是兩種常見的方法。 列舉法 列舉法是一種基于規(guī)則的方法,它通過列舉所有可能的情況來解決問題。在
發(fā)表于 07-03 14:13
?1030次閱讀
將一組8位的256個數據從RAM中讀取出來,然后寫入到eeprom中,modesim仿真顯示一直寫入失敗,eeprom的通訊使用的是i2c。請問這是什么原因呢?找了好久都找不出來。程序和仿真見圖。
發(fā)表于 06-25 16:15
功能寄存器。
個人理解,當結構體定義的時候編譯器給它分配空間,且這個為全局變量一直占用RAM空間,即使初始化后也一直占用空間,編譯器也不會回收其空間。到最后其實有一份硬件特殊功能寄存器的鏡像一直占用
發(fā)表于 05-17 12:24
當使用ram時,width是960bit,depth是16bit,只有15Kb大小, 為什么占用了很多個BRAM?
發(fā)表于 05-06 14:12
?535次閱讀
的因素,集成了我們上面所列舉的目前最先進的硬核,但價格卻比Virtex Ultrascale+便宜很多。當然,目前Achronix的FPGA中的邏輯資源數量相對Virtex Ultrascale+要少一些,I/O數量也自然少一些
發(fā)表于 04-24 15:09
FPGA(現場可編程門陣列)的封裝方式多種多樣,以下列舉了一些常見的封裝技術。
發(fā)表于 03-26 15:24
?2041次閱讀
FPGA雙口RAM的使用主要涉及配置和使用雙端口RAM模塊。雙端口RAM的特點是有兩組獨立的端口,可以對同一存儲塊進行讀寫操作,從而實現并行訪問。
發(fā)表于 03-15 13:58
?986次閱讀
在IC設計中,我們有時會使用深度很大,位寬很小的ram。例如深度為1024,位寬為4bit的ram。
發(fā)表于 03-04 15:08
?2130次閱讀
邏輯功能。
存儲塊(Block RAM):用于數據緩存和存儲。
數字信號處理模塊(DSP Blocks):用于高效地執(zhí)行數字信號處理任務。
輸入/輸出模塊(I/O Blocks):用于連接外部設備或其他
發(fā)表于 02-22 09:52
近幾年,FPGA(Field Programmable Gate Array,現場可編程邏輯門陣列)這個名詞在科技領域中的出現頻率越來越高。作為一種特殊的芯片,FPGA在云計算、人工智能、大數據等
發(fā)表于 02-21 16:10
當電源斷開時,隨機存取存儲器(RAM)中的數據通常會丟失。這是因為RAM是一種易失性存儲器,它必須以恒定的電源供應來維持存儲的數據。在斷電時,RAM
發(fā)表于 01-16 16:30
?9759次閱讀
生成時鐘包括自動生成時鐘(又稱為自動衍生時鐘)和用戶生成時鐘。自動生成時鐘通常由PLL或MMCM生成,也可以由具有分頻功能的時鐘緩沖器生成如7系列FPGA中的BUFR、UltraScale系列
發(fā)表于 01-11 09:50
?1839次閱讀
split在python中的用法 split()是Python中一個非常常用的字符串函數,它能夠根據指定的分隔符將一個字符串分割成多個子字符串,并返回一個包含這些子字符串的列表。本文將詳細介紹
發(fā)表于 12-25 15:12
?2018次閱讀
評論