FPGA的FIFO設(shè)計(jì)和應(yīng)用_第1頁(yè)
FPGA的FIFO設(shè)計(jì)和應(yīng)用_第2頁(yè)
FPGA的FIFO設(shè)計(jì)和應(yīng)用_第3頁(yè)
FPGA的FIFO設(shè)計(jì)和應(yīng)用_第4頁(yè)
FPGA的FIFO設(shè)計(jì)和應(yīng)用_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(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的FIFO設(shè)計(jì)和應(yīng)用 引 言 在利用DSP實(shí)現(xiàn)視頻實(shí)時(shí)跟蹤時(shí),需要開(kāi)展大量高速的圖像采集。而DSP本身自帶的FIFO并缺陷以支持系統(tǒng)中大量數(shù)據(jù)的暫時(shí)存儲(chǔ),這就要求大的中間緩存,而專用的高速FIFO芯片價(jià)格昂貴且容量受限,大大增加了商業(yè)成本,因此在實(shí)際應(yīng)用中尋找FIFO代替器件是很有必要的。 1 器件選擇 這里在視頻信號(hào)處理系統(tǒng)中,將利用FPGA作為橋梁,實(shí)現(xiàn)對(duì)SDRAM的控制,以到達(dá)大量高速存取數(shù)據(jù)的功能。之所以選取SDRAM,主要是因?yàn)樵诟鞣N隨機(jī)存取器件中,SDRAM的容量較大,價(jià)格較低,且數(shù)據(jù)突發(fā)傳輸模式大大提高了存取速度,能夠滿足應(yīng)用的要求。 FI

2、FO的速度受到兩個(gè)因素的限制: (1)SDRAM的工作頻率。SDRAM的工作頻率越高,數(shù)據(jù)的傳輸速率就越高; (2)SDRAM的突發(fā)長(zhǎng)度。SDRAM的突發(fā)長(zhǎng)度越長(zhǎng),對(duì)數(shù)據(jù)流的吞吐量就越大,可以從某種程度上提高數(shù)據(jù)的傳輸速率。 FIFO的大小由所選SDRAM芯片的容量來(lái)決定。該設(shè)計(jì)以采用MICRON公司的MT48LC4M3282(4 BANK4M32 b)為例,存儲(chǔ)容量為128 Mb,數(shù)據(jù)帶寬為32位,內(nèi)部由4個(gè)BANK組成,每個(gè)BANK有4 096行和256列。 MT48LC4M3282的控制信號(hào)有CLK(時(shí)鐘信號(hào))、CKE(時(shí)鐘使能)、CS(片選信號(hào))、WE(寫(xiě)使能)、CAS(列有效)、RA

3、S(行有效)、DQM0DQM3(輸入輸出使能)。控制信號(hào)組成的常用控制命令如下表1所示。 2 FIFO系統(tǒng)設(shè)計(jì) FIFO系統(tǒng)由FGPA和SDRAM兩部分組成。其中,F(xiàn)GPA內(nèi)部包含F(xiàn)IFO.、緩沖器、SDRAM控制器三個(gè)模塊。FIFO.的作用是將FIFO的狀態(tài)轉(zhuǎn)變成狀態(tài)機(jī)的讀、寫(xiě)信號(hào)。若操作為向SDRAM寫(xiě)數(shù)據(jù),則在FIFO已滿時(shí),F(xiàn)IFO.送出一個(gè)信號(hào),以阻止寫(xiě)操作繼續(xù)向FIFO中寫(xiě)數(shù)據(jù)而造成溢出;若操作為向SDRAM讀數(shù)據(jù),則在緩沖器已空時(shí),F(xiàn)IFO.送出一個(gè)信號(hào),以阻止讀操作繼續(xù)從FIFO中讀數(shù)據(jù)而造成無(wú)效數(shù)據(jù)的讀出。FIFO的模塊構(gòu)造如圖1所示。 在該設(shè)計(jì)中,攝像頭采用640480的屏

4、幕分辨率,圖像深度為8,每秒為25幀,圖像數(shù)據(jù)量的大小為圖像中像素總數(shù)與圖像深度的乘積,由此可以得出每幀圖像的大小為2.457 Mb,每秒鐘視頻產(chǎn)生數(shù)據(jù)的大小為61.44 Mb。因?yàn)橄到y(tǒng)向SDRAM控制器寫(xiě)入和讀出數(shù)據(jù)的速度比較低,約為62 MHz,F(xiàn)PGA的外接晶振CLK為27 MHz,F(xiàn)PGA和SDRAM的工作時(shí)鐘由鎖相環(huán)4倍頻后生成,即為108 MHz,所以SDRAM控制器向SDRAM寫(xiě)入和讀出數(shù)據(jù)的速率為108 MHz,因此二者屬于不同的時(shí)鐘域,需要用緩沖器作為輸入和輸出的緩存。 SDRAM控制器的模塊構(gòu)造如圖2所示,其中SDRAM控制器內(nèi)部包括:初始化模塊、模式存放器、控制模塊和狀態(tài)

5、機(jī)。SDRAM的接口設(shè)計(jì)是極其關(guān)鍵的,可根據(jù)SDRAM內(nèi)部操作狀態(tài)之間的聯(lián)系,通過(guò)狀態(tài)機(jī)來(lái)實(shí)現(xiàn)接口設(shè)計(jì)。初始化模塊負(fù)責(zé)SDRAM的初始化,在上電和時(shí)鐘穩(wěn)定后等待100 ms,至少執(zhí)行一條空操作,然后對(duì)所有頁(yè)執(zhí)行預(yù)充電操作,使所有頁(yè)處于空閑狀態(tài),接著向各頁(yè)發(fā)出兩條刷新操作指令,發(fā)出一個(gè)模式存放器裝載命令,使SDRAM有確定的狀態(tài)開(kāi)展讀寫(xiě)操作。模式存放器可根據(jù)要求對(duì)SDRAM的突發(fā)長(zhǎng)度、突發(fā)類型、CAS延時(shí)的時(shí)鐘數(shù)、運(yùn)行模式和寫(xiě)突發(fā)模式開(kāi)展設(shè)置,確定SDRAM在讀寫(xiě)操作時(shí)的工作狀態(tài)。模式存放器M0M2用于規(guī)定突發(fā)長(zhǎng)度,可以為1,2,4,8。M3用于規(guī)定突發(fā)類型,當(dāng)M3=0時(shí),突發(fā)類型是連續(xù)的;當(dāng)M

6、3=1時(shí),突發(fā)類型是交錯(cuò)的。M4M6用于規(guī)定CAS延遲的時(shí)鐘周期數(shù),可以分為1,2,3。M7,M8用于規(guī)定運(yùn)行模式。M9用于規(guī)定寫(xiě)突發(fā)模式,當(dāng)M9=0時(shí),按實(shí)際編程的突發(fā)長(zhǎng)度存?。划?dāng)M9=1時(shí),按單個(gè)存取單元寫(xiě)入,但可按實(shí)際編程的突發(fā)長(zhǎng)度讀出。 狀態(tài)機(jī)是SDRAM控制器的控制模塊,其作用主要有兩個(gè)方面:其一是對(duì)各模塊發(fā)出的操作請(qǐng)求開(kāi)展仲裁,在適當(dāng)?shù)臅r(shí)刻作出反映,發(fā)出對(duì)SDRAM適當(dāng)?shù)目刂泼?;其二是協(xié)調(diào)各模塊之間的時(shí)序關(guān)系,滿足對(duì)SDRAM讀寫(xiě)所必需的時(shí)序要求。狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)移如圖3所示。 在模式設(shè)定之后,BANK和行地址選中需要訪問(wèn)數(shù)據(jù)所在的具體BANK塊和行,狀態(tài)機(jī)對(duì)這一行發(fā)出激活命令,從

7、激活到讀寫(xiě)操作需要經(jīng)過(guò)一個(gè)tRCD的延時(shí),設(shè)計(jì)中選tRCD=20 ns,而系統(tǒng)時(shí)鐘周期為9.26 ns,所以從激活到執(zhí)行讀寫(xiě)操作之間至少需要3個(gè)時(shí)鐘周期。在執(zhí)行讀寫(xiě)操作時(shí),只要狀態(tài)機(jī)通過(guò)讀寫(xiě)命令選中數(shù)據(jù)所在行的列地址,就能到達(dá)讀寫(xiě)具體存儲(chǔ)單元的目的。狀態(tài)機(jī)對(duì)SDRAM發(fā)出一個(gè)讀命令后,需要等待一個(gè)CAS latency,然后才能讀數(shù)據(jù);而寫(xiě)操作是實(shí)時(shí)的,不需要延時(shí),狀態(tài)機(jī)在發(fā)出寫(xiě)命令后,就可以對(duì)SDRAM開(kāi)展寫(xiě)操作。SDRAM同時(shí)只允許一行地址激活,因此在完成某BANKROW的讀寫(xiě)操作后,對(duì)該BANKROW開(kāi)展預(yù)充電,然后才能激活下一個(gè)BANKROW。從預(yù)充電成功到下激活命令成功,如果是在同一

8、個(gè)BANK塊,則需要延時(shí)tRC,如果是不同的BANK塊,則需要延時(shí)tRRD。 SDRAM要求在64 ms之內(nèi)對(duì)4 096行開(kāi)展刷新,也就是每15.625s刷新一行。由于系統(tǒng)時(shí)鐘周期為9.26 ns,所以刷新模塊計(jì)數(shù)到達(dá)1 685時(shí),就需要對(duì)SDRAM發(fā)出刷新命令,保證SDRAM中的數(shù)據(jù)不丟失。將自動(dòng)刷新請(qǐng)求設(shè)為優(yōu)先請(qǐng)求,狀態(tài)機(jī)內(nèi)部有請(qǐng)求仲裁邏輯,當(dāng)自動(dòng)刷新請(qǐng)求和其他請(qǐng)求同時(shí)出現(xiàn)時(shí),優(yōu)先保證自動(dòng)刷新請(qǐng)求,狀態(tài)轉(zhuǎn)移至刷新操作,當(dāng)刷新操作結(jié)束時(shí),重新返回空閑狀態(tài),開(kāi)始響應(yīng)其他請(qǐng)求。 3 工程應(yīng)用介紹 該設(shè)計(jì)目的是為了擴(kuò)展TMS320DM642的FIFO容量,以FPGA為接口,實(shí)現(xiàn)與SDRAM的連接。

9、TMS320DM642可以對(duì)4 GB的地址開(kāi)展尋址,而實(shí)際應(yīng)用中FIFO的容量只有256 KB,尋址空間為0 x01840000 x0187FFFF,因此在實(shí)際應(yīng)用中必須開(kāi)展擴(kuò)展。這里采用1片MICRON公司的MT48LC4M3282型號(hào)的128 Mb SDRAM,采用32位數(shù)據(jù)總線,將其通過(guò)FPGA配置在TMS320DM642處理器的EMIFA CE3上,其地址范圍為0 xB00000000 xB7FFFFFF。在該設(shè)計(jì)中,突發(fā)長(zhǎng)度為8,CAS latency為3。圖4為用Modelsim SE 6.0仿真的SDRAM讀時(shí)序圖。 4 結(jié) 語(yǔ) 該設(shè)計(jì)已應(yīng)用于目標(biāo)識(shí)別與跟蹤系統(tǒng)中的幀緩沖。文中主要介紹了SDRAM的具體信號(hào)關(guān)系,說(shuō)明各種操作命令,給出在高速圖像存儲(chǔ)系

溫馨提示

  • 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)論