ISE的BlockRAM的設(shè)計(jì)流程 ppt課件_第1頁(yè)
ISE的BlockRAM的設(shè)計(jì)流程 ppt課件_第2頁(yè)
ISE的BlockRAM的設(shè)計(jì)流程 ppt課件_第3頁(yè)
ISE的BlockRAM的設(shè)計(jì)流程 ppt課件_第4頁(yè)
ISE的BlockRAM的設(shè)計(jì)流程 ppt課件_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、7.4 基于IP Core的Block RAM設(shè)計(jì) 7.4 基于IP Core的Block RAM設(shè)計(jì)n 本節(jié)引見基于IP Core的Block RAM設(shè)計(jì),由于Block RAM屬于特殊構(gòu)造,運(yùn)用Xilinx公司提供的IP Core是比較方便的,而且靈敏、高效、不容易出錯(cuò)IP Core的運(yùn)用請(qǐng)見3.1.4節(jié)。7.4.1雙端口塊RAMDual-Port Block RAM雙端口雙端口RAM的特性的特性Virtex、Virtex-E、Virtex-II、Virtex-IIPro、Spartan、Spartan-II、Spartan-IIE和和Spartan-3系列的系列的FPGA都嵌入了都嵌入了

2、Block RAM。支持一切支持一切3種種Virtex-II寫方式寫方式 :Read-After-Write、Read-Before-Write和和 No-Read-On-Write只適用于只適用于Virtex-II和和Spartan-3支持支持RAM和和ROM功能。功能。支持支持1到到256BIT的數(shù)據(jù)端口寬度。的數(shù)據(jù)端口寬度。根據(jù)選擇的不同構(gòu)造,支持根據(jù)選擇的不同構(gòu)造,支持1到到2M字的存儲(chǔ)深度。字的存儲(chǔ)深度。n支持ROM功能,兩個(gè)端口可以同時(shí)對(duì)一個(gè)地址的數(shù)據(jù)進(jìn)展讀操作。n支持RAM功能,兩個(gè)端口可以同時(shí)對(duì)不同的地址進(jìn)展寫操作,或者對(duì)同一地址進(jìn)展讀操作。n兩個(gè)端口是完全獨(dú)立的。n支持A、B

3、端口的不對(duì)稱配置。n支持CORE設(shè)計(jì)或者運(yùn)用SelectRAM+ 、 SelectRAM-II 庫(kù)原語以求面積優(yōu)化。n支持不同極性的控制信號(hào)引腳:時(shí)鐘clock、 使能enable, 寫使能write enable 和輸出初使化output initialization引腳。n結(jié)合Xilinx的Smart-IP技術(shù)使設(shè)計(jì)更靈敏,最優(yōu)化實(shí)現(xiàn)。2雙端口雙端口RAM的功能描畫的功能描畫nDual-Port Block RAM是由一塊或多塊叫做Select-RAM+的4Kb存儲(chǔ)塊組成的。Virtex-II和Spartan-3系列的Dual-Port Block RAM是由一塊或多塊16 Kb存儲(chǔ)塊Se

4、lectRAM-II組成的,能構(gòu)成更寬或者更深的存儲(chǔ)器設(shè)計(jì)。Select-RAM+ 和SelectRAM-II都是真正的雙端口RAM,為Spartan-II和Virtex系列家族的芯片提供快速、離散的而且足夠大的塊RAM。由于Spartan-II和Virtex都運(yùn)用4Kb的Select-RAM+存儲(chǔ)塊,所以任何涉及到Virtex能實(shí)現(xiàn)的RAM,都可以在Spartan-II、Virtex-E、Virtex-II、Virtex-IIPro、Spartan-IIE系列中實(shí)現(xiàn)。 每個(gè)存儲(chǔ)器含有兩個(gè)完全獨(dú)立的端口A和B,兩個(gè)端口享有同時(shí)訪問存儲(chǔ)器中同一地址的才干,存儲(chǔ)器的深度和寬度由運(yùn)用者本人定義。兩個(gè)

5、端口在功能上是完全一樣,都可以對(duì)存儲(chǔ)器進(jìn)展讀寫操作。兩個(gè)端口可以同時(shí)對(duì)存儲(chǔ)器的同一地址進(jìn)展讀操作,假設(shè)對(duì)同一地址進(jìn)展操作,一個(gè)端口讀,一個(gè)端口寫,那么寫操作勝利,而讀出的數(shù)據(jù)是無效的。 根據(jù)運(yùn)用者的定義,可以配置端口A和端口B的數(shù)據(jù)寬度和地址寬度。當(dāng)兩個(gè)端口被禁用時(shí)ENA和ENB無效,存儲(chǔ)器中的數(shù)據(jù)和輸出端口將堅(jiān)持不變。當(dāng)兩個(gè)端口可用時(shí)ENA和ENB有效,對(duì)存儲(chǔ)器的一切操作將在輸入時(shí)鐘的邊沿觸發(fā)。n 進(jìn)展寫操作時(shí)WEA或WEB有效,相應(yīng)數(shù)據(jù)端口的數(shù)據(jù)將寫入地址端口所指定的存儲(chǔ)地址中。 在這個(gè)操作中,Spartan-II/Virtex和Virtex-II系列的塊RAM的輸出端口的動(dòng)作并不一樣。n

6、Virtex-II和Spartan-3系列的塊RAM的輸出端口的詳細(xì)實(shí)現(xiàn)要根據(jù)“寫方式的設(shè)置而定。Virtex-II和Spartan-3系列的塊RAM支持3種“寫方式,每種方式?jīng)Q議了輸出端口在寫操作發(fā)生后將如何作出反響。nSpartan-II和Virtex系列的塊RAM只支持一種“寫方式:Read-After-Write。這種寫方式使寫入的數(shù)據(jù)在寫操作后呈如今輸出端口。n在讀操作時(shí),地址輸入端口指定的地址上的數(shù)據(jù)在輸出端口輸出。當(dāng)同步初始化Synchronous Initialization(SINITA或SINITB)有效時(shí),有鎖存器的輸出端口將被同步初始化,Spartan-II和Virte

7、x系列將被初始化為0,Virtex-II系列將被初始化為運(yùn)用者事先定義的數(shù)據(jù)。同步初始化操作并不影響存儲(chǔ)器中的數(shù)據(jù),也不會(huì)與寫操作發(fā)生沖突。n使能,寫使能和同步初始化可以被定義為高電平有效或者低電平有效。3雙端口雙端口RAM的引腳的引腳n雙端口RAM的Core引腳如圖7.4.1所示。 圖7.4.1 雙端口RAM的引腳n雙端口RAM的Core引腳的詳細(xì)含義列表于表7.4.1。端口名稱 端口方向 功能描述DINA|B可選 輸入 數(shù)據(jù)輸入:數(shù)據(jù)從此端口寫入存儲(chǔ)器。ADDRA|B 輸入 地址輸入:寫或者讀操作的地址由此端口輸入。 WEA|B可選 輸入 寫使能控制信號(hào):控制數(shù)據(jù)寫入存儲(chǔ)器。 ENA|B可

8、選 輸入 使能控制信號(hào):寫或者讀操作的有效控制。SINITA|B可選 輸入 同步初始化控制信號(hào):使輸出端口初始化為預(yù)先設(shè)定的狀態(tài)。 CLKA|B 輸入 時(shí)鐘信號(hào):所有存儲(chǔ)器操作是在輸入時(shí)鐘的同步下進(jìn)行的。 NDA|B可選 輸入 握手信號(hào):表示A或者B端口上有新的而且有效的地址數(shù)據(jù)。(高電平有效)。 DOUTA|B可選 輸出 數(shù)據(jù)輸出端口:存儲(chǔ)器的同步數(shù)據(jù)輸出端口。 RFDA|B可選 輸出 握手信號(hào):表示存儲(chǔ)器已經(jīng)準(zhǔn)備好接受新數(shù)據(jù)。(高電平有效) RDYA|B可選 輸出 握手信號(hào):表示輸出端口上的數(shù)據(jù)有效。(高電平有效)。 7.4.2 運(yùn)用IP Core生成雙端口RAM n Xilinx提供了D

9、ual-Port Block RAM的IP Core。詳細(xì)如何調(diào)用IP Core、生成IP Core見3.1.4節(jié)。這里引見詳細(xì)的一些IP Core參數(shù),設(shè)計(jì)者可以根據(jù)設(shè)計(jì)的需求設(shè)置這些參數(shù)。nDual-Port Block RAM的參數(shù)設(shè)置窗口分別如圖7.4.2、圖7.4.3、圖7.4.4、圖7.4.5所示。Dual-Port Block RAM的參數(shù)設(shè)置一共有4個(gè)窗口,可以單擊按鈕進(jìn)入下一個(gè)窗口。 圖7.4.2 Dual-Port Block RAM的參數(shù)設(shè)置窗口圖7.4.3 Port A Block RAM的參數(shù)設(shè)置窗口圖7.4.4 Port B Block RAM的參數(shù)設(shè)置窗口圖7.4

10、.5 Dual-Port Block RAM的參數(shù)設(shè)置窗口n元件稱號(hào)Component Name:為了生成IP Core,必需為生成的文件取一個(gè)稱號(hào)。n端口A存儲(chǔ)器大小Memory Size:n數(shù)據(jù)端口A寬度Width A:可以選擇數(shù)據(jù)端口A的寬度,寬度可以從1到256。n地址端口A深度Depth A:可以選擇存儲(chǔ)器的字節(jié)數(shù)。根據(jù)所選擇的不同構(gòu)造,字節(jié)數(shù)可以從2BIT到2M??梢赃x擇的地址深度要根據(jù)所選擇的數(shù)據(jù)端口A的寬度而定。Spartan-II和Virtex系列的塊RAM的最大字節(jié)數(shù)為256K,Virtex-II和Spartan-3系列的塊RAM的最大字節(jié)數(shù)為1M。必需留意生成的CORE的

11、大小不能超越目的器件庫(kù)原語的大小 端口B存儲(chǔ)器大小Memory Size: 數(shù)據(jù)端口B寬度Width B:可以選擇數(shù)據(jù)端口B的寬度,可以選擇的數(shù)據(jù)端口B的寬度取決于定義的數(shù)據(jù)端口A的寬度。對(duì)于Spartan-II和Virtex系列的塊RAM,可以選擇的寬度可以是1,2,4,8或16倍A端口的寬度。對(duì)于Virtex-II系列的塊RAM,可以選擇的寬度可以是1,2,4,8,16或32倍A端口的寬度。n地址端口B深度Depth B:定義了Width A、Depth A和Width B后,Depth B的值將為定值。根據(jù)端口A和B定義的存儲(chǔ)器的大小必需相等可以計(jì)算出Depth B。n端口A可選項(xiàng)Por

12、t A Options:n配置Configuration選項(xiàng):可以選擇的有Read And Write讀和寫, Write Only只寫和Read Only只讀。n寫方式(Write mode)選擇:可以為Virtex-II系列的塊RAM選擇寫方式。Spartan-II和Virtex系列的塊RAM只支持Read After Write方式。Read After Write方式支持的有Virtex-II、Spartan-II、Spartan-3、Virtex,能夠有下面幾種情況:沒有輸入輸出存放器時(shí):數(shù)據(jù)在WEA信號(hào)有效后的第一個(gè)時(shí)鐘沿傳送到端口DOUTA。僅有輸入存放器時(shí):數(shù)據(jù)在WEA信號(hào)有效

13、后的第二個(gè)時(shí)鐘沿傳送到端口DOUTA。僅有輸出存放器時(shí):數(shù)據(jù)在WEA信號(hào)有效后的第二個(gè)時(shí)鐘沿傳送到端口DOUTA。有輸入和輸出存放器時(shí):數(shù)據(jù)在WEA信號(hào)有效后的第三個(gè)時(shí)鐘沿傳送到端口DOUTA。Read After Write方式的時(shí)序如圖7.4.6所示。 圖7.4.6 Read After Write方式時(shí)序nRead Before Write方式支持的有Virtex-II、Spartan-3,能夠有下面幾種情況:n沒有輸入輸出存放器時(shí):在WEA信號(hào)有效后的第一個(gè)時(shí)鐘沿,存儲(chǔ)器中當(dāng)前地址上的數(shù)據(jù)被傳送到端口DOUTA。n僅有輸入存放器時(shí):在WEA信號(hào)有效后的第二個(gè)時(shí)鐘沿,存儲(chǔ)器中當(dāng)前地址上的

14、數(shù)據(jù)被傳送到端口DOUTA。n僅有輸出存放器時(shí):在WEA信號(hào)有效后的第二個(gè)時(shí)鐘沿,存儲(chǔ)器中當(dāng)前地址上的數(shù)據(jù)被傳送到端口DOUTA。n有輸入和輸出存放器時(shí):在WEA信號(hào)有效后的第三個(gè)時(shí)鐘沿,存儲(chǔ)器中當(dāng)前地址上的數(shù)據(jù)被傳送到端口DOUTA。圖7.4.7 Read Before Write方式時(shí)序nNo-Read-On-Write方式支持的有Virtex-II、Spartan-3:當(dāng)WEA有效時(shí),不會(huì)進(jìn)展讀操作。DOUTA端口將堅(jiān)持上一次讀操作的數(shù)據(jù)。nNo-Read-On-Write方式時(shí)序如圖7.4.8所示。圖7.4.8 No-Read-On-Write方式時(shí)序n端口B可選項(xiàng)Port B Opt

15、ions: 端口B可選項(xiàng)與端口A可選項(xiàng)一樣。n端口A設(shè)計(jì)選項(xiàng)Port A Design Options:n 1 可選引腳端Optional Pins:n a. 使能引腳端。n b. 握手信號(hào)引腳端。包括ND、RFD、RDY 信號(hào),它們的含義如表7.4.1所示。需求留意的是,ND信號(hào)必需在RFD有效時(shí)才干有效。RFD信號(hào)在EN信號(hào)有效時(shí)不斷是有效的??蛇x輸入存放器Register Options :可以為端口DIN、ADDR和WE添加輸入存放器??蛇x輸出存放器Output Register Options: a. Additional Output Pipe Stages:選擇1可以為輸出端口再

16、添加一級(jí)存放器,選擇0不加存放器。 b. 初始化SINIT引腳: SINIT引腳的含義見表7.4.1。n引腳極性Pin Polarity:運(yùn)用者可以為存在的引腳極性配置。對(duì)于時(shí)鐘信號(hào),可以配置成上升沿或下降沿觸發(fā)。對(duì)于EN、WE和SINIT引腳端,可以配置成高電平或低電平有效。n端口B可選項(xiàng)Port B Options: 端口B可選項(xiàng)與端口A可選項(xiàng)一樣。n庫(kù)原語選擇Primitive Selection:有兩項(xiàng)可供選擇。n面積優(yōu)化Optimize For Area。n選擇庫(kù)原語Select Primitive。Virtex、Virtex-E和Spartan-II的庫(kù)原語有4kx1, 2kx2,

17、 1kx4, 512x8和256x16。Virtex-II的庫(kù)原語有16kx1, 8kx2, 4kx4, 2kx9, 1kx18, 和 512x36.n初始化Initial Contents:可以設(shè)置配置后存儲(chǔ)器中的初始值。n全局初始化值Global Init Value:全局初始化值定義了配置后存儲(chǔ)器中初始值。缺省默許為0。留意輸入的值必需是16進(jìn)制,并且其大小不能超越A端口能輸入的最大值。n加載初始化文件Load Init File:存儲(chǔ)器中的初始值可以保管在一個(gè)以COE為后綴的文件中,加載這個(gè)文件可以使存儲(chǔ)器在配置后,各個(gè)單元的初始值為文件中所列出的值。7.4.3 運(yùn)用Memory Editor生成COE文件n前面提到,可以為雙端口RAM提供一個(gè)初始化數(shù)據(jù)文件,加載這個(gè)文件可以使RAM在配置后,各個(gè)單元的初始值為文件中的所列出的值。下面引見如何

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論