在IC設(shè)計(jì)中,我們有時(shí)會(huì)使用深度很大,位寬很小的ram。例如深度為1024,位寬為4bit的ram。此類(lèi)的ram有個(gè)明顯的缺點(diǎn):形狀狹長(zhǎng),不利于布局布線(xiàn)、導(dǎo)致讀寫(xiě)接口走線(xiàn)過(guò)長(zhǎng),不利于時(shí)序收斂。
此時(shí)為了方便布局布線(xiàn)和時(shí)序收斂,我們通常會(huì)進(jìn)行折疊設(shè)計(jì)。
如下圖所示,深度為1024,位寬為4bit的雙端口1r1w的ram,有一個(gè)讀接口,一個(gè)寫(xiě)接口,支持同時(shí)讀寫(xiě)操作,出于以上考慮,我們會(huì)進(jìn)行折疊設(shè)計(jì),采用2個(gè)128x32的1r1w的ram實(shí)現(xiàn)。
如圖所示:兩個(gè)2個(gè)128x32存儲(chǔ)的內(nèi)容完全一致。
無(wú)論是否進(jìn)行折疊設(shè)計(jì),ram接口信號(hào)位寬均一致。讀寫(xiě)地址位寬為10bit,讀寫(xiě)數(shù)據(jù)位寬為4bit。部分ram讀寫(xiě)接口信號(hào)如下
信號(hào) | 位寬 | 描述 |
waddr | 10 | 寫(xiě)地址 |
wen | 1 | 寫(xiě)使能信號(hào),1表示寫(xiě)有效 |
wdata | 4 | 寫(xiě)數(shù)據(jù) |
raddr | 10 | 讀地址 |
ren | 1 | 讀使能信號(hào),1表示讀有效 |
rdata | 4 | 讀數(shù)據(jù) |
進(jìn)行寫(xiě)操作時(shí):
使用waddr[9:5] 作為讀地址,讀128x32_ram_u0,獲得rdata[31:0] 使用waddr[4:0] 選擇rdata[31:0]中一個(gè)bit,使用wdata[0:0]進(jìn)行替換,得到寫(xiě)入數(shù)據(jù)wdata_inter[31:0] 使用waddr_dly[9:5] 作為寫(xiě)地址,將wdata_inter[31:0]作為寫(xiě)數(shù)據(jù)同時(shí)寫(xiě)入128x32_ram_u0和128x32_ram_u1。
進(jìn)行讀操作時(shí): 使用raddr[9:5] 作為讀地址,讀128x32_ram_u1,獲得rdata1[31:0] 使用raddr[4:0] 選擇rdata1[31:0]中一個(gè)bit,賦值給o_rdata。 ? ? ? ? ?
為什么需要用兩個(gè)128x32的ram?
因?yàn)?024x1_1r1w_ram_wrapper需要同時(shí)支持讀寫(xiě)操作,而在折疊設(shè)計(jì)中,寫(xiě)操作需要先讀ram,讀操作也需要讀ram,如果僅僅使用1個(gè)128x32的ram,就會(huì)出現(xiàn)有兩個(gè)讀請(qǐng)求同時(shí)產(chǎn)生,因此為了避免出現(xiàn)此沖突,需要2個(gè)128x32的ram才能實(shí)現(xiàn)。
審核編輯:劉清
-
IC設(shè)計(jì)
+關(guān)注
關(guān)注
38文章
1365瀏覽量
107361 -
RAM
+關(guān)注
關(guān)注
8文章
1396瀏覽量
119208
原文標(biāo)題:IC設(shè)計(jì):ram的折疊設(shè)計(jì)
文章出處:【微信號(hào):IP與SoC設(shè)計(jì),微信公眾號(hào):IP與SoC設(shè)計(jì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
IC設(shè)計(jì):常見(jiàn)的ram訪(fǎng)問(wèn)沖突

用Jlink和J-Flash RAM讀取單片機(jī)程序和燒錄單片機(jī)程序操作步驟
不止于大,如何打造優(yōu)秀的折疊屏應(yīng)用體驗(yàn)
折疊屏有什么意義
RAM的項(xiàng)目設(shè)計(jì)需求與操作步驟
IC的焊接步驟與用注意哪些基本事項(xiàng)
如何使用FPGA內(nèi)部的RAM以及程序?qū)υ?b class='flag-5'>RAM的數(shù)據(jù)讀寫(xiě)操作

TANDY WP 2 RAM IC卡開(kāi)源分享

IC設(shè)計(jì)中關(guān)于ram的應(yīng)用

評(píng)論