《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 其他 > 業(yè)界動(dòng)態(tài) > 四倍速SRAM與Spartan3 FPGA的接口設(shè)計(jì)

四倍速SRAM與Spartan3 FPGA的接口設(shè)計(jì)

《電子技術(shù)應(yīng)用》
2008-03-26
作者:渠麗芹1,2,蘇宛新1,,張 勇

  摘 要: 介紹一種新的存儲(chǔ)器結(jié)構(gòu)QDR SRAM,,它的接口帶寬是普通SRAM的四倍。并在此基礎(chǔ)上提出了在低成本FPGA結(jié)構(gòu)中實(shí)現(xiàn)該種高性能存儲(chǔ)器的解決方案。
  關(guān)鍵詞: 四倍速 SRAM FPGA 接口設(shè)計(jì)

?

  互聯(lián)網(wǎng)的飛速發(fā)展極大地促進(jìn)了高速數(shù)據(jù)通信系統(tǒng)的需求量增加,,同時(shí)也促進(jìn)了更快速的處理器的發(fā)展,,推動(dòng)了存儲(chǔ)器接口速度的提高。由于這些系統(tǒng)中的處理器提高了系統(tǒng)的性能,,使得傳統(tǒng)的靜態(tài)存儲(chǔ)器已經(jīng)不能滿(mǎn)足系統(tǒng)的需求,。為了滿(mǎn)足當(dāng)前系統(tǒng)和處理器的生產(chǎn)量需求,更新的靜態(tài)存儲(chǔ)器應(yīng)運(yùn)而生,。QDR SRAM就是由Cypress,、Renesas、IDT,、NEC和Samsung為高性能的網(wǎng)絡(luò)系統(tǒng)應(yīng)用而共同開(kāi)發(fā)的一種具有創(chuàng)新體系結(jié)構(gòu)的同步靜態(tài)存儲(chǔ)器,。
1 QDR SRAM的介紹及其性能描述
1.1 QDR的先進(jìn)性
  現(xiàn)有的大部分SRAM都是在PC時(shí)期針對(duì)高效傳輸PC型單精度輸入輸出數(shù)據(jù)而設(shè)計(jì)的。在大多數(shù)的網(wǎng)絡(luò)應(yīng)用中,,SRAM和記憶控制器之間的連續(xù)數(shù)據(jù)傳輸是必需的,。在這些應(yīng)用中,存儲(chǔ)器的讀和寫(xiě)操作之間要進(jìn)行連續(xù)不斷的變化,。在這種情況下標(biāo)準(zhǔn)的同步管道SRAM等單一的輸入/輸出裝置就不能很好地滿(mǎn)足要求,。零總線(xiàn)變換SRAM就是一種優(yōu)化了的SRAM類(lèi)型。它在讀周期與寫(xiě)周期切換時(shí)不需要變換周期,,從而使得總線(xiàn)利用率達(dá)到了100%,。而對(duì)大多數(shù)的網(wǎng)絡(luò)應(yīng)用來(lái)說(shuō),零總線(xiàn)變換SRAM在數(shù)據(jù)吞吐量方面的提高還遠(yuǎn)遠(yuǎn)不夠,。QDR的出現(xiàn)則進(jìn)一步改進(jìn)了SRAM結(jié)構(gòu),。
  QDR就是指四倍數(shù)據(jù)速率SRAM,它是靜態(tài)存儲(chǔ)器的一種,,是專(zhuān)為應(yīng)付帶寬需求極大的應(yīng)用而設(shè)計(jì)的體系結(jié)構(gòu),。它在一個(gè)時(shí)鐘周期" title="時(shí)鐘周期">時(shí)鐘周期內(nèi)可以高效地傳輸4個(gè)字節(jié)的數(shù)據(jù)。QDR提供了讀和寫(xiě)兩個(gè)分別獨(dú)立的接口,,從而滿(mǎn)足了諸如ATM轉(zhuǎn)換和路由器的性能需求,。由于QDR SRAM的結(jié)構(gòu)在數(shù)據(jù)訪問(wèn)時(shí)不需要變換周期且數(shù)據(jù)吞吐量大幅提高,所以保證了可以對(duì)同一地址進(jìn)行同時(shí)訪問(wèn),。
  QDR又分為兩字突發(fā)結(jié)構(gòu)(CY7C1302)和四字突發(fā)結(jié)構(gòu)(CY7C1304)兩種,。這兩種結(jié)構(gòu)的不同就在于每次讀或?qū)懻?qǐng)求的傳輸字?jǐn)?shù)不同。下面就以CY7C1302為例來(lái)詳細(xì)介紹QDR的工作原理及其與Spartan3系列FPGA的接口設(shè)計(jì),。CY7C1302是賽普拉斯公司生產(chǎn)的一種QDR SRAM,。圖1示出了CY7C1302的結(jié)構(gòu)圖。圖中雖然CY7C1302有了分別獨(dú)立的讀寫(xiě)端口,,但是地址總線(xiàn)" title="地址總線(xiàn)">地址總線(xiàn)還是為讀寫(xiě)端口共用,。地址總線(xiàn)的數(shù)據(jù)傳輸采用了DDR的傳輸方式,,即:地址總線(xiàn)的前半個(gè)時(shí)鐘周期提供讀操作地址,而后半個(gè)時(shí)鐘周期提供寫(xiě)操作地址,。也就是在每個(gè)時(shí)鐘周期可以完成4字的傳輸量,。


1.2 QDR SRAM的輸入狀態(tài)描述
  QDR SRAM有四個(gè)時(shí)鐘:K,Kn,,C和Cn,。K和Kn是用來(lái)控制輸入數(shù)據(jù)采樣的,C和Cn則是用來(lái)控制SRAM數(shù)據(jù)輸出的,。所有的數(shù)據(jù)操作都是在K的上升沿" title="上升沿">上升沿進(jìn)行的,。QDR SRAM有一個(gè)簡(jiǎn)單的控制結(jié)構(gòu)。兩個(gè)控制信號(hào):讀控制信號(hào)(RPSn)和寫(xiě)控制信號(hào)(WPSn)分別用來(lái)控制SRAM的讀和寫(xiě)操作的進(jìn)行,。這兩種信號(hào)在K的上升沿時(shí)刻被采樣,。對(duì)QDR來(lái)說(shuō),地址的輸入是讀端口和寫(xiě)端口所共用的,。對(duì)于CY7C1302來(lái)說(shuō),,讀操作是在K的上升沿時(shí)刻開(kāi)始進(jìn)行的,寫(xiě)操作是在Kn的上升沿時(shí)刻開(kāi)始進(jìn)行的,。即地址總線(xiàn)的前半個(gè)時(shí)鐘周期提供讀操作的地址,,后半個(gè)時(shí)鐘周期提供寫(xiě)操作的地址。其數(shù)據(jù)線(xiàn)是單向的,,在每個(gè)循環(huán)周期內(nèi)可以傳輸兩個(gè)字的數(shù)據(jù),。
  一個(gè)時(shí)鐘的上升沿可以使QDR SRAM在同一個(gè)時(shí)鐘周期內(nèi)實(shí)現(xiàn)對(duì)同一地址的讀,、寫(xiě)訪問(wèn),。這樣QDR就會(huì)把寫(xiě)數(shù)據(jù)傳輸?shù)阶x端口以確保把有效的數(shù)據(jù)輸出至數(shù)據(jù)總線(xiàn)。這樣就保證了數(shù)據(jù)的一致性,。
2 低成本解決方案
2.1 用Spartan3作為QDR的存儲(chǔ)控制器

  Spartan3系列FPGA是由Xilinx公司基于成功的Virtex-II FPGA架構(gòu)而研發(fā)的性?xún)r(jià)比較高的一種產(chǎn)品,。Spartan3器件有如下特點(diǎn):嵌入式18×18乘法器支持高性能DSP應(yīng)用;片上數(shù)字時(shí)鐘管理(DCM),,無(wú)需外部時(shí)鐘管理器件,;分布式的存儲(chǔ)器和SRL16移位寄存器邏輯能夠更高效執(zhí)行DSP功能;18KB 塊RAM,,可以用作緩存或是高速緩存,;數(shù)字片上終端能夠消除對(duì)多個(gè)外部電阻器的需求;8個(gè)獨(dú)立的I/O" title="I/O">I/O陣列支持24種不同的I/O標(biāo)準(zhǔn),;Spartan3系列的FPGA獨(dú)有的特性可以簡(jiǎn)化存儲(chǔ)控制器" title="存儲(chǔ)控制器">存儲(chǔ)控制器的設(shè)計(jì),。圖2是用Spartan3系列FPGA實(shí)現(xiàn)的存儲(chǔ)控制器結(jié)構(gòu)圖。


  該存儲(chǔ)控制器的設(shè)計(jì)可以在深度擴(kuò)展模式下實(shí)現(xiàn)對(duì)四個(gè)SRAM的控制,。每個(gè)QDR SRAM會(huì)收到對(duì)各自的讀寫(xiě)端口進(jìn)行控制的相互獨(dú)立的控制信號(hào),,而對(duì)所有的SRAM來(lái)說(shuō),,地址和數(shù)據(jù)端口是共用的。
  存儲(chǔ)控制器是以QDR SRAM工作在單時(shí)鐘模式下對(duì)其進(jìn)行控制的,,從而可以簡(jiǎn)化存儲(chǔ)器接口,。控制器工作在100MHz的時(shí)鐘頻率下,,允許7.2Gbps的帶寬,。存儲(chǔ)控制器有獨(dú)立的讀寫(xiě)狀態(tài)機(jī),存儲(chǔ)控制器的控制是基于兩位指令輸入的形式來(lái)實(shí)現(xiàn)的,。
2.2 QDR SRAM和Xilinx Spartan3系列FPGA的接口連接
  Spartan3系列的FPGA獨(dú)有的特性可以簡(jiǎn)化存儲(chǔ)控制器的設(shè)計(jì),。Spartan3系列產(chǎn)品是業(yè)界成本最低的可編程邏輯電路。在Spartan3系列FPGA中,,有DCM(數(shù)字時(shí)鐘管理)模塊,,可以用來(lái)消除內(nèi)部全局時(shí)鐘網(wǎng)絡(luò)的時(shí)鐘歪斜,或者消除為片外其他系統(tǒng)組成部分提供時(shí)鐘的過(guò)程中所出現(xiàn)的時(shí)鐘歪斜,。DCM中的DLL能夠使控制器完成FPGA的片上時(shí)鐘和QDR SRAM之間的零時(shí)鐘歪斜,。除此之外,DCM還提供其他的功能,,如相位調(diào)解,,分頻和倍頻。圖3所示為DCM在存儲(chǔ)控制器設(shè)計(jì)中的應(yīng)用,。


2.2.1 時(shí)序的實(shí)現(xiàn)
  該設(shè)計(jì)的難點(diǎn)就在于如何滿(mǎn)足CY7C1302的時(shí)序要求,。所有的CY7C1302信號(hào)都被寄存在I/O緩沖器以及HSTL緩沖器中。在寫(xiě)周期的時(shí)間里,,所有的信號(hào)必須滿(mǎn)足那些數(shù)據(jù)建立和保持時(shí)間的要求,。這就意味著必須應(yīng)付來(lái)自Spartan FPGA(時(shí)鐘輸出)的傳輸總延遲,板的接線(xiàn)延遲以及QDR的記憶建立時(shí)間,。所有的延遲總和必須少于寫(xiě)操作的時(shí)間周期,,即要求:
  Tco(FPGA)+Tpd(Board)+Tsu(QDR SRAM)實(shí)際:
  2.5ns+0.6ns+0.8ns=3.8ns  可見(jiàn)時(shí)鐘輸出時(shí)間和QDR的建立時(shí)間值分別為2.5ns和0.8ns。因此對(duì)板延遲來(lái)說(shuō)有個(gè)很充足的時(shí)間盈余,,QDR存儲(chǔ)器要求必須有0.5ns的保持時(shí)間,。
  在讀周期時(shí)間,數(shù)據(jù)必須滿(mǎn)足FPGA的建立和保持時(shí)間,。
即:
  Tco(QDR SRAM)+Tpd(Board)+Tsu(Spartan3)實(shí)際:
  2.5ns+0.6ns+1.55ns=4.65ns  Spartan3系列FPGA的建立時(shí)間是1.55ns,。再加上QDR SRAM的時(shí)鐘輸出時(shí)間為2.5ns,這些時(shí)間要求使得系統(tǒng)工作在100MHz時(shí)鐘下就可以有很充足的時(shí)間盈余,。為確保該控制器的正常工作,,必須要求FPGA的可配置邏輯模塊數(shù)不少于100,至少2個(gè)數(shù)字時(shí)鐘管理模塊,,2個(gè)全局時(shí)鐘緩沖模塊以及119個(gè)I/O緩沖模塊,。若使用更快速的Spartan3系列FPGA可以使該設(shè)計(jì)的接口性能得到進(jìn)一步的提高,。
2.2.2設(shè)計(jì)的綜合
  經(jīng)過(guò)綜合以后的結(jié)果表明:完全控制器的邏輯圖顯示存儲(chǔ)器和它的三路18位總線(xiàn)之間的接口以及主機(jī)和雙重36位數(shù)據(jù)總線(xiàn)、18位地址總線(xiàn)的接口,。Spartan3系列FPGA的內(nèi)部時(shí)鐘工作在200MHz,,由于DDR接口在時(shí)鐘的上升沿和下降沿均傳輸數(shù)據(jù),所以外部總線(xiàn)的時(shí)鐘只需100MHz,。來(lái)自主機(jī)的36位讀數(shù)據(jù)通路在內(nèi)部就被分為兩個(gè)18位的部分并分別設(shè)置了寄存器鎖存,。這兩個(gè)寄存器工作在200MHz的時(shí)鐘下,在時(shí)鐘的上升沿和下降沿都只允許一個(gè)寄存器發(fā)送或接收數(shù)據(jù),。
  該設(shè)計(jì)旨在利用低成本的FPGA實(shí)現(xiàn)高性能QDR SRAM的接口連接,。故選擇了具有低成本與豐富性能的結(jié)合Spartan-3系列的FPGA,它能夠以最高的性?xún)r(jià)比實(shí)現(xiàn)完整的系統(tǒng)功能,。該接口設(shè)計(jì)的實(shí)際意義更在于,,Spartan-3系列FPGA內(nèi)部具有的可配置I/O單元。因?yàn)橥ㄟ^(guò)在實(shí)現(xiàn)中配置相應(yīng)選項(xiàng),,可使不同的I/O單元滿(mǎn)足不同的I/O標(biāo)準(zhǔn),,從而使得Spartan-3系列的FPGA在通信領(lǐng)域中應(yīng)用非常便捷。在該設(shè)計(jì)中存儲(chǔ)器控制器必須工作在HSTL電壓以便支持存儲(chǔ)器和存儲(chǔ)器控制器的輸入輸出的高速數(shù)據(jù)操作,。
  除此之外,,在可編程的片上系統(tǒng)SOPC(System On Programmable Chip)中,為了簡(jiǎn)化系統(tǒng)的結(jié)構(gòu),,提高系統(tǒng)的整體性能,,必須接入外部存儲(chǔ)器。SOPC技術(shù)的目標(biāo)就是試圖將盡可能大而完整的電子系統(tǒng)在單一FPGA中實(shí)現(xiàn),。這就必須在FPGA芯片上外接存儲(chǔ)器以用來(lái)存儲(chǔ)FPGA所要處理的數(shù)據(jù)或者在進(jìn)行數(shù)據(jù)交換時(shí)用來(lái)對(duì)數(shù)據(jù)進(jìn)行暫存以及輔助完成一些其他功能,。SOPC的發(fā)展使得該設(shè)計(jì)的應(yīng)用進(jìn)一步推廣。
參考文獻(xiàn)
1 徐 欣,,于紅旗,,易 凡等.基于FPGA的嵌入式系統(tǒng)設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,,2005
2 李剛強(qiáng),,田 斌,易克初等.FPGA設(shè)計(jì)中關(guān)鍵問(wèn)題的研究.電子技術(shù)應(yīng)用[M],,2002,;(6)
3 楊朋林,張曉飛.FPGA控制實(shí)現(xiàn)圖象系統(tǒng)視頻采集[J].計(jì)算機(jī)測(cè)量與控制,,2003,;(6)
4 褚振勇等.FPGA設(shè)計(jì)及應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2002
5 朱明程.XILINX數(shù)字系統(tǒng)現(xiàn)場(chǎng)集成技術(shù)[M].南京:東南大學(xué)出版社,,2002
6 沙吉樂(lè),,曲興華,,關(guān)紅彥等.基于FPGA技術(shù)的新型高速圖像采集[J].集成電路應(yīng)用,2000,;(9)

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,,請(qǐng)及時(shí)通過(guò)電子郵件或電話(huà)通知我們,,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話(huà):010-82306118,;郵箱:[email protected]