一種高速緩存方案的實(shí)現(xiàn)方法
摘要:基于Altera公司的EP2SGX90FF1508C3N和NEC公司的UPD44165364AF5,提出了一種高速緩存方案。本設(shè)計(jì)采用可編程邏輯器件,靈活性高,可靠性強(qiáng),可以根據(jù)用戶的需要進(jìn)行方便的擴(kuò)展和升級(jí)。深入研究了QDRII SRAM的工作原理和時(shí)序原理,提出了比較可靠的讀寫狀態(tài)機(jī)實(shí)現(xiàn)方案。硬件設(shè)計(jì)經(jīng)過實(shí)際測(cè)試,達(dá)到了預(yù)期的指標(biāo),實(shí)現(xiàn)了43.2 Gb/s的數(shù)據(jù)吞吐速率,并且成功用于某產(chǎn)品中。
關(guān)鍵詞:QDRII SRAM;高速緩存;時(shí)序圖;狀態(tài)機(jī);FPGA
引言
在移動(dòng)通信領(lǐng)域隨著3G時(shí)代的到來和4G的發(fā)展,無線基站離不開高速率、高帶寬和大動(dòng)態(tài)的數(shù)據(jù)采集,采集下來的高速數(shù)據(jù)需要進(jìn)行高速緩存、高速數(shù)據(jù)處理和傳輸。本文實(shí)現(xiàn)了一種基于FPGA和QDRII SDRAM高速緩存解決方案,并且經(jīng)過實(shí)際驗(yàn)證,已成功應(yīng)用于某產(chǎn)品中。
1 QDRII工作原理
QDR協(xié)議由存儲(chǔ)器供應(yīng)商Cypress、IDT、NEC、Renesas和Samsung公司組成的聯(lián)盟共同發(fā)布,主要針對(duì)網(wǎng)絡(luò)交換機(jī)、路由器和其他通信設(shè)備的應(yīng)用。QDRII由兩個(gè)獨(dú)立的“讀”和“寫”端口組成,“讀”和“寫”端口有分別獨(dú)立的數(shù)據(jù)輸出和數(shù)據(jù)輸入端口來支持相應(yīng)的讀寫操作,并且讀寫端口分別為雙倍數(shù)據(jù)速率端口。
QDRII SRAM提供了2字突發(fā)和4字突發(fā)結(jié)構(gòu)。2字突發(fā)結(jié)構(gòu)的DDR地址總線在前半個(gè)時(shí)鐘周期允許讀請(qǐng)求,后半個(gè)周期允許寫請(qǐng)求。4字突發(fā)結(jié)構(gòu)針對(duì)每一個(gè)讀或?qū)懻?qǐng)求傳輸4個(gè)字,這樣只需一個(gè)SDR的地址總線就能最大程度地利用數(shù)據(jù)帶寬。以Cypress公司生產(chǎn)的CY7C1310V18為例,說明QDRII器件內(nèi)部邏輯結(jié)構(gòu),如圖1所示。
決定。
的上升沿第二個(gè)數(shù)據(jù)字被鎖存。第三個(gè)和第四個(gè)數(shù)據(jù)字在K、控制時(shí),在時(shí)鐘K的上升沿,當(dāng)讀選通信號(hào)為低電平時(shí),讀地址SA被鎖存。在其之后的第二個(gè)時(shí)鐘K的上升沿,設(shè)備鎖存Q上的第一個(gè)數(shù)據(jù)字,在接下來的的上升沿鎖存Q上第二個(gè)數(shù)據(jù)字。在之后的K、的上升沿鎖存Q上的第三個(gè)和第4個(gè)數(shù)據(jù)字。讀總線數(shù)據(jù)輸出Q值在DDR模式下從存儲(chǔ)器中輸出時(shí),與CQ、源同步時(shí)鐘邊沿對(duì)齊,此時(shí)完成一個(gè)完整的讀操作。
2 QDRII SRAM讀寫狀態(tài)機(jī)
在實(shí)際的應(yīng)用系統(tǒng)中,為了讓器件連續(xù)有效地工作,必須設(shè)計(jì)相應(yīng)的控制程序來完成各種控制狀態(tài)之間的轉(zhuǎn)換,對(duì)于4字節(jié)突發(fā)QDRII器件,設(shè)計(jì)的讀寫狀態(tài)機(jī)如圖4所示。使QDRII在讀寫狀態(tài)中自由跳轉(zhuǎn)。
選通脈沖。讀/寫狀態(tài)機(jī)持續(xù)監(jiān)控用戶接口FIFO狀態(tài)信號(hào),以確定是否存在待處理讀/寫請(qǐng)求。連續(xù)不斷地并發(fā)讀/寫請(qǐng)求流將導(dǎo)致狀態(tài)機(jī)只在讀狀態(tài)和寫狀態(tài)之間轉(zhuǎn)換,以確保正確無誤地將請(qǐng)求交替發(fā)送到外部存儲(chǔ)器。一串只寫請(qǐng)求將導(dǎo)致空閑狀態(tài)和寫狀態(tài)輪流出現(xiàn),同樣,一串讀請(qǐng)求也會(huì)在空閑狀態(tài)和讀狀態(tài)問轉(zhuǎn)換。
3 系統(tǒng)的硬件實(shí)現(xiàn)
本文實(shí)現(xiàn)的高速緩存系統(tǒng)是以FPGA和QDRII器件為核心的,F(xiàn)PGA采用Altera公司的Stratix II GX系列,具體型號(hào)為EP2SGX90FF1508C3N Stratix II系列芯片采用90 nm工藝,1.2 V內(nèi)核電壓供電,具有片上可編程電阻特性,簡(jiǎn)化了設(shè)計(jì),容易實(shí)現(xiàn)阻抗匹配,提高了信號(hào)完整
性。QDRII采用NEC公司的UPD44165364AF5-E33EQ2-A,具有4字節(jié)突發(fā)結(jié)構(gòu),最高工作頻率為300 MHz。FPGA與QDRII的接口如圖5所示。
QDRII的控制時(shí)序十分復(fù)雜,為簡(jiǎn)化設(shè)計(jì)過程,增強(qiáng)系統(tǒng)的可靠性,可以采用IP核進(jìn)行控制。IP核是一種預(yù)定義的并經(jīng)過驗(yàn)證的復(fù)雜功能模塊,可以方便地集成到系統(tǒng)中。
Altera公司的QDRII SDRAM Controller MegaCore可提供一些底層的時(shí)序控制,使得對(duì)QDRII的控制變得相對(duì)簡(jiǎn)單,IP核留給用戶一些上層的Avalon通信接口,用戶可以根據(jù)自己的需要對(duì)相應(yīng)的狀態(tài)引腳進(jìn)行監(jiān)控和編寫驅(qū)動(dòng),實(shí)現(xiàn)對(duì)QDRII器件的操作。
4 實(shí)驗(yàn)設(shè)計(jì)及測(cè)試結(jié)果
用VHDL編寫testbench,測(cè)試系統(tǒng)性能,設(shè)計(jì)原理如圖6所示。設(shè)計(jì)數(shù)據(jù)源對(duì)QDRII進(jìn)行寫操作,再把讀出來的數(shù)據(jù)與原始數(shù)據(jù)對(duì)比,最后給出測(cè)試結(jié)果。
進(jìn)行速度測(cè)試,以300 MHz的速率進(jìn)行讀寫,通過測(cè)試證明本系統(tǒng)能夠穩(wěn)定工作,測(cè)試結(jié)果如圖7所示。
為了便于觀察,選取幾個(gè)固定地址,循環(huán)讀取該地址的數(shù)據(jù),用SignalTap對(duì)其進(jìn)行實(shí)時(shí)采樣,結(jié)果如圖8所示??梢郧逦乜闯鼋o定固定地址00004H后,發(fā)出讀請(qǐng)求,在avl_data_read_valid有效時(shí)讀取數(shù)據(jù)為AAAAFFFFAAAAFFFFAAH,與寫入數(shù)據(jù)一致。
結(jié)語
本文通過深入分析QDRII的結(jié)構(gòu)和工作原理,設(shè)計(jì)一種狀態(tài)機(jī),給出了一種基于FPGA的高速緩存方案。經(jīng)過實(shí)驗(yàn)驗(yàn)證,QDRII可以穩(wěn)定工作在300 MHz,使36位存儲(chǔ)器接口的總流量達(dá)到43.2 Gb/s,具有實(shí)際應(yīng)用價(jià)值,使各種數(shù)據(jù)密集型應(yīng)用中的讀/寫能力得以提升。
交換機(jī)相關(guān)文章:交換機(jī)工作原理
評(píng)論