發布日期:2022-07-14 點擊率:22
用QDR-II設計網絡接口卡 當心你的時鐘步伐
作者:倪兆明
萊迪思半導體公司不久前剛剛推出一款最新的針對網絡接口卡的FPGA產品,其中特別設置了一個高速QDR II SRAM存儲控制器接口,意在幫助緩解系統設計工程師在和高速QDR II存儲器打交道時可能面臨的時鐘問題。不過市場上為QDR II定時問題專門考慮的FPGA還不是很普遍,同時
ASIC面臨和QDR II接口又該這么辦?這就要求系統設計工程師對問題的本質有一個比較全面的了解。
當然,本文并不打算手把手教你具體處理特定的定時問題,但想提醒你有哪些可能的“陷阱”隱藏在節奏日益加快的時鐘信號里,使你的系統達不到預想的性能,甚至更糟:在處理關鍵任務時突然死掉。如果你是igmaRAM的擁護者,你也不妨看一下,因為類似“心律不齊”等問題造成的傷害其實是無處不在的,尤其是當網絡處理速度在向10GHz以上挺進時,時鐘問題會讓每一個系統設計師常常感到心絞痛!
QDR II定時問題為什么變得重要?當然首先是QDR IISRAM在網絡產品應用上的前景看來非常光明。盡管有SigmaRAM陣營的挑戰,但QDR陣營現在似乎非常穩固,連Xilinx這樣SigmaRAM陣營的伙伴也開始推出支持QDR的FPGA產品。“2004年以后,網絡基礎設施產品中的SRAM將以QDR II/DDRII占主導,帶寬將向72Mb/管腳寬展,時鐘速度接近300MHz。在經歷2001以來的衰退后,市場容量有望在今后一兩年里回升到4億美元以上。” 賽普拉斯半導體公司存儲器產品部高級應用經理Mathew Arcoleo介紹說。
QDR II同步靜態儲存器被認為非常適合用來搭建網絡接口設備中的各種硬件鏈表、查詢表以及數據緩沖器等諸如此類的玩意。工程師們承認,在網絡通訊設備中,儲存器并非關鍵芯片,但如果沒有使用好它,再先進的網絡處理器也無法把其性能發揮到極至。Mathew Arcoleo則進一步指出:“每一代新的存儲器技術架構的推出都對系統設計工程師提出某種新的挑戰,例如,對于NoBL(無總線延時)架構的產品,設計中的挑戰是總線競爭,對于QDR和QDR-II來說,時鐘信號的定時是新的挑戰。”
為此,他在最近一系列有關存儲技術及其應用的國際研討會上,一再不厭其煩的強調這一點,他認為這是擺在世界上所有通訊系統設計工程師面前的重大挑戰-不單純是印度或中國這樣國家的設計師的問題,他們接觸最新技術和產品的時間實際上已經和他們的歐美同行接近同步。Mathew
Arcoleo指出,解決這些挑戰除了QDR產品的供應商必須和網絡處理器和FPGA供應商等加強合作以外、供應商還必須為系統開發廠商提供更細致的參考設計。此外,系統設計師還必須從 “單一時鐘控制全局”這樣傳統的思維習慣中解脫出來,而QDR是目前最為成功的采用讀-寫時鐘定時信號分離的產品,同時QDR II更要求在接近10皮秒的數量級、精確控制時鐘信號的通道偏移、相位抖動和時鐘信號占空比等。
QDR同步靜態儲存器專門針對患“帶寬饑餓癥”的應用而設計,不過系統設計師必須克服它和FPGA、ASIC之間的一系列可能的接口問題。基本要點是QDR較之以前使用的SRAM其數據有效窗口更窄,結果留給存儲器接口邏輯電路的“建立時間”和“保持時間”的可調余地就很小,因此,當操作頻率增加時,鎖存有效數據也就變得更加困難。QDR II在保持和QDR功能和架構一致的前提下,還想進一步提高性能。原則上,寫操作和QDR沒有什么兩樣,但讀操作卻有所區別。在執行讀操作時,地址線和控制線的處理還是老樣子,但在QDR II上,從讀時鐘的上升開始,第一個有效數據穩定在數據線上要多加半個時鐘周期的等待時間。之所以這樣,是為了縮短Tco參數(時鐘變化沿口到數據有效沿口的時間差),以便系統時鐘頻率可以被進一步得到提升。
QDR II還提供一對位相相反的所謂的“反射時鐘”信號,系統設計師可以利用它們來更好地鎖存讀出的數據。在某些系統中,存儲器和主控單元之間的信號線長度可能相當長,在高頻下,要在準確的時間“捕捉”到輸出數據有時變得相當頭痛。“反射時鐘”信號總是和到達存儲器的時鐘信號形影不離,同時提前數據有效0.2納秒發出一個正脈沖并持續保持這個信號直到數據輸出完成后的0.2納秒才結束。“反射時鐘”信號就好比是“消息樹”、在“鬼子進村”以前就通知人們做好迎接的準備,系統設計師可以很好地利用QDR II上的這顆“消息樹”來克服高頻時、因信號線長度不一致性等造成的讀取問題。
還有一件事需要設計師們引起注意的就是盡可能讓你系統中的定時信號保持精確和完美!例如,你饋送給QDR II芯片的反相定時信號最好嚴格保持180度的相位差,同時每一路信號也請嚴格采用50%的占空比。你如果不能在這些方面做得盡善盡美,上面提到的“消息樹”將不再那么管用,輸出數據也可能變得飄忽不定。這時你如果還不致力于改善定時信號的質量,反而拼命調試諸如“建立時間”和“保持時間”這樣細枝末節的東西,你可能永遠是在數據線上“捕風捉影”、最后無功而返。
最后提一下QDR II上的DLL(Delay Locked Loop)電路,這是QDR II相對于QDR的一個改進,它把數據有效窗口的寬度拉長了30%,有助于系統更穩定的讀出數據。當然這不是沒有代價的。撇開DLL的機制和其在芯片上的實現不談,DLL電路要很穩定的工作就要求定時信號的相位抖動控制在很小的范圍內。相位抖動反過來看就是定時信號周期的穩定性,例如一個4納秒周期的信號(相當于250MHz的頻率),我們要求其相鄰兩個周期的周期誤差小于0.2納秒。如若不然,DLL電路可能時不時地被鎖住。另外,DLL還要求為芯片和時鐘電路供電的直流電源有相當的穩定性(低波紋)。
你可以不理會這里提醒你的一切,在2脈沖突發數據模式下,采用一組時鐘把QDR II當作普通的SRAM來使用,不過這看上去不和潮流也不合邏輯,因此你要考慮在4脈沖突發數據模式下,把QDR II的性能發揮到極致。這時你將更多體會到Mathew Arcoleo所說的“挑戰”這兩個字的正真含義。