摘 要: 介紹一種新的存儲器結構QDR SRAM,它的接口帶寬是普通SRAM的四倍。并在此基礎上提出了在低成本FPGA結構中實現該種高性能存儲器的解決方案。
關鍵詞: 四倍速 SRAM FPGA 接口設計
?
互聯網的飛速發展極大地促進了高速數據通信系統的需求量增加,同時也促進了更快速的處理器的發展,推動了存儲器接口速度的提高。由于這些系統中的處理器提高了系統的性能,使得傳統的靜態存儲器已經不能滿足系統的需求。為了滿足當前系統和處理器的生產量需求,更新的靜態存儲器應運而生。QDR SRAM就是由Cypress、Renesas、IDT、NEC和Samsung為高性能的網絡系統應用而共同開發的一種具有創新體系結構的同步靜態存儲器。
1 QDR SRAM的介紹及其性能描述
1.1 QDR的先進性
現有的大部分SRAM都是在PC時期針對高效傳輸PC型單精度輸入輸出數據而設計的。在大多數的網絡應用中,SRAM和記憶控制器之間的連續數據傳輸是必需的。在這些應用中,存儲器的讀和寫操作之間要進行連續不斷的變化。在這種情況下標準的同步管道SRAM等單一的輸入/輸出裝置就不能很好地滿足要求。零總線變換SRAM就是一種優化了的SRAM類型。它在讀周期與寫周期切換時不需要變換周期,從而使得總線利用率達到了100%。而對大多數的網絡應用來說,零總線變換SRAM在數據吞吐量方面的提高還遠遠不夠。QDR的出現則進一步改進了SRAM結構。
QDR就是指四倍數據速率SRAM,它是靜態存儲器的一種,是專為應付帶寬需求極大的應用而設計的體系結構。它在一個時鐘周期" title="時鐘周期">時鐘周期內可以高效地傳輸4個字節的數據。QDR提供了讀和寫兩個分別獨立的接口,從而滿足了諸如ATM轉換和路由器的性能需求。由于QDR SRAM的結構在數據訪問時不需要變換周期且數據吞吐量大幅提高,所以保證了可以對同一地址進行同時訪問。
QDR又分為兩字突發結構(CY7C1302)和四字突發結構(CY7C1304)兩種。這兩種結構的不同就在于每次讀或寫請求的傳輸字數不同。下面就以CY7C1302為例來詳細介紹QDR的工作原理及其與Spartan3系列FPGA的接口設計。CY7C1302是賽普拉斯公司生產的一種QDR SRAM。圖1示出了CY7C1302的結構圖。圖中雖然CY7C1302有了分別獨立的讀寫端口,但是地址總線" title="地址總線">地址總線還是為讀寫端口共用。地址總線的數據傳輸采用了DDR的傳輸方式,即:地址總線的前半個時鐘周期提供讀操作地址,而后半個時鐘周期提供寫操作地址。也就是在每個時鐘周期可以完成4字的傳輸量。
1.2 QDR SRAM的輸入狀態描述
QDR SRAM有四個時鐘:K,Kn,C和Cn。K和Kn是用來控制輸入數據采樣的,C和Cn則是用來控制SRAM數據輸出的。所有的數據操作都是在K的上升沿" title="上升沿">上升沿進行的。QDR SRAM有一個簡單的控制結構。兩個控制信號:讀控制信號(RPSn)和寫控制信號(WPSn)分別用來控制SRAM的讀和寫操作的進行。這兩種信號在K的上升沿時刻被采樣。對QDR來說,地址的輸入是讀端口和寫端口所共用的。對于CY7C1302來說,讀操作是在K的上升沿時刻開始進行的,寫操作是在Kn的上升沿時刻開始進行的。即地址總線的前半個時鐘周期提供讀操作的地址,后半個時鐘周期提供寫操作的地址。其數據線是單向的,在每個循環周期內可以傳輸兩個字的數據。
一個時鐘的上升沿可以使QDR SRAM在同一個時鐘周期內實現對同一地址的讀、寫訪問。這樣QDR就會把寫數據傳輸到讀端口以確保把有效的數據輸出至數據總線。這樣就保證了數據的一致性。
2 低成本解決方案
2.1 用Spartan3作為QDR的存儲控制器
Spartan3系列FPGA是由Xilinx公司基于成功的Virtex-II FPGA架構而研發的性價比較高的一種產品。Spartan3器件有如下特點:嵌入式18×18乘法器支持高性能DSP應用;片上數字時鐘管理(DCM),無需外部時鐘管理器件;分布式的存儲器和SRL16移位寄存器邏輯能夠更高效執行DSP功能;18KB 塊RAM,可以用作緩存或是高速緩存;數字片上終端能夠消除對多個外部電阻器的需求;8個獨立的I/O" title="I/O">I/O陣列支持24種不同的I/O標準;Spartan3系列的FPGA獨有的特性可以簡化存儲控制器" title="存儲控制器">存儲控制器的設計。圖2是用Spartan3系列FPGA實現的存儲控制器結構圖。
該存儲控制器的設計可以在深度擴展模式下實現對四個SRAM的控制。每個QDR SRAM會收到對各自的讀寫端口進行控制的相互獨立的控制信號,而對所有的SRAM來說,地址和數據端口是共用的。
存儲控制器是以QDR SRAM工作在單時鐘模式下對其進行控制的,從而可以簡化存儲器接口??刂破鞴ぷ髟?00MHz的時鐘頻率下,允許7.2Gbps的帶寬。存儲控制器有獨立的讀寫狀態機,存儲控制器的控制是基于兩位指令輸入的形式來實現的。
2.2 QDR SRAM和Xilinx Spartan3系列FPGA的接口連接
Spartan3系列的FPGA獨有的特性可以簡化存儲控制器的設計。Spartan3系列產品是業界成本最低的可編程邏輯電路。在Spartan3系列FPGA中,有DCM(數字時鐘管理)模塊,可以用來消除內部全局時鐘網絡的時鐘歪斜,或者消除為片外其他系統組成部分提供時鐘的過程中所出現的時鐘歪斜。DCM中的DLL能夠使控制器完成FPGA的片上時鐘和QDR SRAM之間的零時鐘歪斜。除此之外,DCM還提供其他的功能,如相位調解,分頻和倍頻。圖3所示為DCM在存儲控制器設計中的應用。
2.2.1 時序的實現
該設計的難點就在于如何滿足CY7C1302的時序要求。所有的CY7C1302信號都被寄存在I/O緩沖器以及HSTL緩沖器中。在寫周期的時間里,所有的信號必須滿足那些數據建立和保持時間的要求。這就意味著必須應付來自Spartan FPGA(時鐘輸出)的傳輸總延遲,板的接線延遲以及QDR的記憶建立時間。所有的延遲總和必須少于寫操作的時間周期,即要求:
Tco(FPGA)+Tpd(Board)+Tsu(QDR SRAM)
2.5ns+0.6ns+0.8ns=3.8ns
在讀周期時間,數據必須滿足FPGA的建立和保持時間。
即:
Tco(QDR SRAM)+Tpd(Board)+Tsu(Spartan3)
2.5ns+0.6ns+1.55ns=4.65ns
2.2.2設計的綜合
經過綜合以后的結果表明:完全控制器的邏輯圖顯示存儲器和它的三路18位總線之間的接口以及主機和雙重36位數據總線、18位地址總線的接口。Spartan3系列FPGA的內部時鐘工作在200MHz,由于DDR接口在時鐘的上升沿和下降沿均傳輸數據,所以外部總線的時鐘只需100MHz。來自主機的36位讀數據通路在內部就被分為兩個18位的部分并分別設置了寄存器鎖存。這兩個寄存器工作在200MHz的時鐘下,在時鐘的上升沿和下降沿都只允許一個寄存器發送或接收數據。
該設計旨在利用低成本的FPGA實現高性能QDR SRAM的接口連接。故選擇了具有低成本與豐富性能的結合Spartan-3系列的FPGA,它能夠以最高的性價比實現完整的系統功能。該接口設計的實際意義更在于,Spartan-3系列FPGA內部具有的可配置I/O單元。因為通過在實現中配置相應選項,可使不同的I/O單元滿足不同的I/O標準,從而使得Spartan-3系列的FPGA在通信領域中應用非常便捷。在該設計中存儲器控制器必須工作在HSTL電壓以便支持存儲器和存儲器控制器的輸入輸出的高速數據操作。
除此之外,在可編程的片上系統SOPC(System On Programmable Chip)中,為了簡化系統的結構,提高系統的整體性能,必須接入外部存儲器。SOPC技術的目標就是試圖將盡可能大而完整的電子系統在單一FPGA中實現。這就必須在FPGA芯片上外接存儲器以用來存儲FPGA所要處理的數據或者在進行數據交換時用來對數據進行暫存以及輔助完成一些其他功能。SOPC的發展使得該設計的應用進一步推廣。
參考文獻
1 徐 欣,于紅旗,易 凡等.基于FPGA的嵌入式系統設計[M].北京:機械工業出版社,2005
2 李剛強,田 斌,易克初等.FPGA設計中關鍵問題的研究.電子技術應用[M],2002;(6)
3 楊朋林,張曉飛.FPGA控制實現圖象系統視頻采集[J].計算機測量與控制,2003;(6)
4 褚振勇等.FPGA設計及應用[M].西安:西安電子科技大學出版社,2002
5 朱明程.XILINX數字系統現場集成技術[M].南京:東南大學出版社,2002
6 沙吉樂,曲興華,關紅彥等.基于FPGA技術的新型高速圖像采集[J].集成電路應用,2000;(9)