一種FPGA 的嵌入式塊SRAM 的設(shè)計(jì)_第1頁(yè)
一種FPGA 的嵌入式塊SRAM 的設(shè)計(jì)_第2頁(yè)
一種FPGA 的嵌入式塊SRAM 的設(shè)計(jì)_第3頁(yè)
一種FPGA 的嵌入式塊SRAM 的設(shè)計(jì)_第4頁(yè)
一種FPGA 的嵌入式塊SRAM 的設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、【W(wǎng)ord版本下載可任意編輯】 一種FPGA 的嵌入式塊SRAM 的設(shè)計(jì) 文章中提出了一種應(yīng)用于FPGA 的嵌入式可配置雙端口的塊存儲(chǔ)器。該存儲(chǔ)器包括與其他電路的布線接口、可配置邏輯、可配置譯碼、高速讀寫(xiě)電路。在編程狀態(tài)下,可對(duì)所有存儲(chǔ)單元開(kāi)展清零,且編程后為兩端口獨(dú)立的雙端存儲(chǔ)器。當(dāng)與FPGA 其他邏輯塊編程連接時(shí),能實(shí)現(xiàn)FIFO 等功能?;?.5V 電源電壓、chart 0.22 m CMOS 單多晶五鋁工藝設(shè)計(jì)生產(chǎn),流片結(jié)果說(shuō)明滿足工作頻率200MHz,可實(shí)現(xiàn)不同位數(shù)存儲(chǔ)器功能。 1 引言 對(duì)于邏輯芯片的嵌入存儲(chǔ)器來(lái)說(shuō),嵌入式SRAM 是常用的一種,其典型的應(yīng)用包括片上緩沖器、高速緩沖

2、存儲(chǔ)器、存放器堆等。除非用到某些特殊的構(gòu)造,標(biāo)準(zhǔn)的六管單元(6T)SRAM 對(duì)于邏輯工藝有著很好的兼容性。對(duì)于小于2Mb 存儲(chǔ)器的應(yīng)用,嵌入式SRAM 可能有更好的成本效率并通常首先考慮。 Xilinx 公司SRAM型FPGA 主要由配置存儲(chǔ)器、布線資源、可編程I/O、可編程邏輯單元CLB、塊存儲(chǔ)器BRAM 和數(shù)字時(shí)鐘管理模塊組成。它包含了分布式RAM,位于CLB中。每個(gè)CLB包含了16 1bit的SRAM構(gòu)造。BRAM的參加既增加了RAM的容量,也可構(gòu)成大型LUT,更完善了CLB 的功能。 2 BRAM塊劃分 現(xiàn)代數(shù)字系統(tǒng)對(duì)存儲(chǔ)器容量的存儲(chǔ)速率要求越來(lái)越高,讀訪問(wèn)時(shí)間就是一個(gè)重要參數(shù),它是從

3、地址信號(hào)的出現(xiàn)到存儲(chǔ)在該地址上的數(shù)據(jù)在輸出端出現(xiàn)的時(shí)間延遲。提高BRAM 讀取速度的一個(gè)有效方法是減小位線和字線上的總負(fù)載電容,這可以通過(guò)減少連接在同一字線和位線上的存儲(chǔ)單元數(shù)目來(lái)實(shí)現(xiàn),即采用存儲(chǔ)陣列分塊技術(shù)。本電路采用設(shè)計(jì)多個(gè)BRAM的方法,每個(gè)BRAM都有自己的譯碼電路、敏感放大器和數(shù)據(jù)通道,各個(gè)BRAM 獨(dú)立工作,每個(gè)BRAM 的讀取時(shí)間得到了大大提高。 3 BRAM塊設(shè)計(jì) 3.1 BRAM與布線資源接口 FPGA 中每個(gè)BRAM塊都嵌在內(nèi)部連線構(gòu)造中,與BRAM 直接相連的有RAMLINE、VLONG 和GLOBAL。左邊32根RAMLINE提供BRAM的地址輸入,也可以提供控制信號(hào)(

4、CLK、WE、ENA、RST)的輸入。左邊兩組16 根RAMLINE 一起布線提供BRAM雙端口的數(shù)據(jù)輸入,右邊兩組RAMLINE提供BRAM雙端口數(shù)據(jù)輸出通道。4 根GLOBLE全局時(shí)鐘線優(yōu)化用作時(shí)鐘輸入,提供較短的延遲和的失真。VLONG也被專(zhuān)門(mén)用作BRAM中WE、ENA、RST的控制輸入。RAMLINE 為BRAM專(zhuān)有布線,如從水平方向的SINGLE、UNIHEX、BIHEX通過(guò)可編程開(kāi)關(guān)矩陣PSM 把信號(hào)輸送到RAMLINE 上,進(jìn)而送到BRAM 用作地址、數(shù)據(jù)。而B(niǎo)RAM 的輸出也通過(guò)RAMLINE終送到HLONG上。 圖1 BRAM周?chē)季€ 相鄰BRAM 的RAMLINE 也可通過(guò)

5、三態(tài)門(mén)連到下的RAMLINE,于是整列中的BRAM 可共享RAMLINE 上的數(shù)據(jù)。每個(gè)BRAM與FPGA其他電路的相連主要通過(guò)水平方向的4 組主要互連線完成。 3.2 BRAM內(nèi)部設(shè)計(jì) BRAM為真正的雙端口RAM,兩個(gè)端口完全獨(dú)立,每個(gè)端口可以配置為讀寫(xiě)端口,并可以把BRAM配置成特定的數(shù)據(jù)寬度。 3.2.1 可配置數(shù)據(jù)位寬實(shí)現(xiàn)方法 配置邏輯中三位控制信號(hào)WIDTH_SEL連到BRAM中,同時(shí)對(duì)地址寬度、數(shù)據(jù)寬度開(kāi)展控制。 由于BRAM可以實(shí)現(xiàn)1、2、4、8、16 位的任意位寬,所以地址總線寬度、數(shù)據(jù)總線寬度都必須滿足其中任意一種模式下的要求。于是設(shè)計(jì)時(shí)使地址總線寬度為各種模式下的值,即1

6、位時(shí)的地址寬度,其他模式下可使不用的地址位使能無(wú)效,進(jìn)而獲得所需的地址位。數(shù)據(jù)總線寬度也設(shè)置為各種情況下的值,即16 位時(shí)的數(shù)據(jù)寬度,其他情況下選擇有用的數(shù)據(jù)位開(kāi)展存儲(chǔ)。 表1可見(jiàn)WIDTH_SEL對(duì)地址使能的控制,主要在于對(duì)地址的控制,其他位地址則一直有效。 表1 不同數(shù)據(jù)位寬的地址使能 由WIDTH_SEL另外譯碼產(chǎn)生一組數(shù)據(jù)控制信號(hào),分別為S_1、S_2、S_4、S_8、S_16 控制數(shù)據(jù)如何分配到位線上。這當(dāng)中* 根位線實(shí)行了分片,每片4 根: S_1有效:DI可分配到16片中的任何一片上。 S_2有效:DI可分配到、?任何相鄰兩片上,每片1 位數(shù)據(jù)。 S_4有效:DI可分配到、任何相

7、鄰四片上,每片1 位數(shù)據(jù)。 S_8 有效:DI可分配到或 8片上,每片1 位數(shù)據(jù)。 S_16 有效:DI剛好分配到16片上,每片1 位數(shù)據(jù)。 至于上述終究存儲(chǔ)到哪些片上以及具體存儲(chǔ)到片內(nèi)哪根位線上則由列譯碼控制。 3.2.2 譯碼控制 行譯碼采用了常用的3-8 譯碼器,3-8 譯碼器內(nèi)由與門(mén)組成。級(jí)用兩個(gè)3-8 譯碼器,輸入端接入行地址ADDR,第二級(jí)用64 個(gè)與門(mén)把級(jí)譯碼進(jìn)一步譯出來(lái),可實(shí)現(xiàn)64 行中選出1 行。 圖2 64 選1 行譯碼 列譯碼相對(duì)較復(fù)雜,首先將列地址分為兩組,一組用于片選譯,一組用于片內(nèi)譯碼。片選地址由ADDR組成,片內(nèi)譯碼由ADDR組成。 片選地址譯碼由地址和地址使能組

8、成,而地址使能則是由WIDTH_SEL配置決定的。 圖3 片選譯碼 譯碼所得的A_DEC即可實(shí)現(xiàn)片選存儲(chǔ)。當(dāng)配置為1 位時(shí),4 位地址均有效,譯出的16位中只有1 位有效,只能選擇16 片中的1 片。當(dāng)配置為2 位時(shí),ADDR使能無(wú)效,譯出16位中有連續(xù)2 位有效,能選擇16 片中連續(xù)2 片。當(dāng)配置為4 位時(shí),譯出16 位中有連續(xù)4 位有效,能選擇16 片中連續(xù)4 片。配置為8 位就能選擇16 片中的上8 片或下8 片。配置為16 位,4 個(gè)地址均無(wú)效,譯出的16 位全有效,16 片全選。經(jīng)過(guò)了片選的譯碼,列譯碼還需經(jīng)過(guò)第二級(jí)的片內(nèi)譯碼。 圖4 片內(nèi)譯碼 A_DEC與A7 譯碼均為低有效,A6

9、譯碼為高有效。之所以能夠用或門(mén)譯碼,是因?yàn)闆](méi)被譯碼的一對(duì)BL 和BLN 位線上的數(shù)據(jù)是不會(huì)被寫(xiě)入存儲(chǔ)單元的,如A7為1,A_DEC為1,BL與BLN均為1,即使字線打開(kāi)了,它們也是不會(huì)被寫(xiě)入存儲(chǔ)陣列的。而被譯碼選中的一對(duì)位線,BL與BLN 互補(bǔ),它們上的數(shù)據(jù)即可被寫(xiě)入存儲(chǔ)單元。 3.2.3 位線充電電路 對(duì)位線的充電共有兩對(duì)充電管和一對(duì)上拉管,寬長(zhǎng)比在設(shè)計(jì)上也是有講究的。上拉管一直開(kāi)啟,為倒比管。柵極接平衡管的M1 和M2 時(shí)序要求較高,因?yàn)樗鼈兊膶掗L(zhǎng)比較大,為主要充電管。在BRAM總使能信號(hào)ENA和時(shí)鐘CLK有效時(shí)工作,開(kāi)展預(yù)充電。在CLK 下降沿,M1 和M2 短暫關(guān)閉可執(zhí)行讀操作。M1、

10、M2和平衡管都在Pre1_BL信號(hào)控制下工作。 Pre1_BL 需在數(shù)據(jù)線與位線之間的開(kāi)關(guān)管打開(kāi)時(shí)關(guān)閉,不影響數(shù)據(jù)的讀操作。Pre1_BL信號(hào)受到數(shù)據(jù)線與位線的開(kāi)關(guān)管控制信號(hào)A 的約束,圖4 的構(gòu)造即可防止Pre1_BL與A的時(shí)序沖突,在A有效時(shí),Pre1_BL無(wú)效,且當(dāng)A 關(guān)閉時(shí),Pre1_BL 延遲開(kāi)啟。 而M3 和M4 管則由Pre2_BL信號(hào)控制,Pre2_BL由BRAM全局信號(hào)ENA、CLK 和WE 一起控制。由于BRAM 在開(kāi)展寫(xiě)操作時(shí),也可鏡像地輸出寫(xiě)入的數(shù)據(jù),即也做了讀操作。為了更好地在寫(xiě)入時(shí)也讀出,且滿足頻率要求,有必要增加這一充電管。 圖5 Pre1_BL 信號(hào)產(chǎn)生電路 圖6 位線充電電路 4 BRAM應(yīng)用 作為隨機(jī)存取存儲(chǔ)器,BRAM 除了實(shí)現(xiàn)一般的存儲(chǔ)器功能外,還可實(shí)現(xiàn)不同數(shù)據(jù)寬度的存儲(chǔ),且可用作ROM,以實(shí)現(xiàn)組合邏輯函數(shù)。當(dāng)初始化了BRAM后,一組地址輸入就對(duì)應(yīng)了一組數(shù)據(jù)的輸出,根據(jù)數(shù)據(jù)和地址的對(duì)應(yīng)關(guān)系,就能實(shí)現(xiàn)一定的函數(shù)功能,BRAM 之所以能實(shí)現(xiàn)函數(shù)邏輯,原因是它擁有足夠的存儲(chǔ)單元,可以把邏輯函數(shù)所有可能的結(jié)果預(yù)先存入到存儲(chǔ)單元中。如實(shí)現(xiàn)4 4 二進(jìn)制乘法器: 即由地址來(lái)查找數(shù)據(jù),如同LUT。

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論