在FPGA中block ram是很常見的硬核資源,合理的利用這些硬件資源一定程度上可以優(yōu)化整個設(shè)計,節(jié)約資源利用率,充分開發(fā)FPGA芯片中的潛在價值,本文根據(jù)前人總結(jié)的一些用法,結(jié)合安路科技FPGA做簡單總結(jié),說明基本原理。
用法一:使用雙口模式拆分成2個小容量的BRAM
基本原理如下:
· 以1K*9bit雙端口配置模式為例,一個bram9k,可以當(dāng)作兩個512*9k rom
· 將A端口的地址最高位固定接0,B端口的地址最高位固定接1,則通過A端口只能訪問0~511的地址空間,通過B端口只能訪問512~1023地址空間,互不沖突,相當(dāng)于兩個小容量的rom
用法二:用作并行數(shù)據(jù)的多周期延時
· 將bram例化成簡單雙端口模式,并將寫端口固定使能為寫,讀端口固定使能為讀。
· 將ram模式配置成 “讀優(yōu)先模式”,每次在寫某個地址之前會先把該地址的數(shù)據(jù)輸出
· 用一個模長為N(N=4)的計數(shù)器,反復(fù)向ram中寫數(shù)據(jù),會得到一個延時為N+1的輸出數(shù)據(jù)
如下圖:
用法三:用作高速大規(guī)模計數(shù)器
基本原理如下:
· 以9Kbit bram為例,設(shè)置成雙端口,1k*9bit模式
· A端口doa[7:0]是低8bit 計數(shù)器輸出,doa[8]是進位信號,給到B端口的使能
· B端口dob[7:0]是高8bit計數(shù)器輸出。
· 由于B端口數(shù)據(jù)有一個周期延時,將A端口數(shù)據(jù)延時一個周期之后與B端口構(gòu)成16bit計數(shù)器
· 也即一個9Kbit bram可以構(gòu)造成一個16bit的計數(shù)器
· 設(shè)計原型是兩個8bit的計數(shù)器級聯(lián)構(gòu)造16bit計數(shù)
· rom初始化文件
用法四:構(gòu)造高速復(fù)雜的狀態(tài)機
一般狀態(tài)機原理框圖如下:
基于rom的狀態(tài)機原理如下:
· 首先明確 狀態(tài)劃分,狀態(tài)跳轉(zhuǎn)條件,狀態(tài)輸出
· 將現(xiàn)態(tài)輸出與輸入給到rom_a的地址端,初始化值為輸出值
· 將現(xiàn)態(tài)輸出與跳轉(zhuǎn)條件給到rom_b的地址端,初始化值為次態(tài)輸出
· 若狀態(tài)不多,可以將rom_a與rom_b合并成一個真雙口的rom
關(guān)于更多細(xì)節(jié)請參考如下相關(guān)文檔:
1. 《基于FPGA的數(shù)字信號處理》 高亞軍 電子工業(yè)出版社
2. EF2_datahseet_V3.9
免責(zé)聲明:以上內(nèi)容為本網(wǎng)站轉(zhuǎn)自其它媒體,相關(guān)信息僅為傳遞更多信息之目的,不代表本網(wǎng)觀點,亦不代表本網(wǎng)站贊同其觀點或證實其內(nèi)容的真實性。如稿件版權(quán)單位或個人不想在本網(wǎng)發(fā)布,可與本網(wǎng)聯(lián)系,本網(wǎng)視情況可立即將其撤除。
互聯(lián)網(wǎng)新聞信息服務(wù)許可證10120230012 信息網(wǎng)絡(luò)傳播視聽節(jié)目許可證0121673 增值電信業(yè)務(wù)經(jīng)營許可證京B2-20171219 廣播電視節(jié)目制作經(jīng)營許可證(京)字第10250號
關(guān)于我們 中宏網(wǎng)動態(tài) 廣告服務(wù) 中宏網(wǎng)版權(quán)所有 京ICP備2023030128號-1 舉報電話:010-63359623
Copyright ? 2016-2024 by qmsqmyp.com. all rights reserved 運營管理:國家發(fā)展和改革委員會宏觀經(jīng)濟雜志社