Global Sources
電子工程專輯
 
電子工程專輯 > 嵌入式技術
 
 
嵌入式技術  

數據緩衝設計的最佳選擇

上網時間: 2006年03月10日     打印版  Bookmark and Share  字型大小:  

關鍵字:FPGA  數據緩衝器  分離FIFO  多埠記憶體  定序器 

對於那些時脈頻率低於100MHz、記憶體密度低於512K數據緩衝應用來說,將該設計整合在一個單FPGA中常常能夠提供最理想的解決方案。然而,隨著緩衝記憶體的需求成長和時脈頻率的增加,設計者會發現採用分離FIFO多埠記憶體的高性能和低成本特性將會提供獨特的優勢。

FPGA為工程師提供了一個製作硬體原型的平台,其可重覆編程和擦寫的功能使設計工程師有能力來不斷完善設計,這些特性也引起了教育機構的廣泛關注。採用FPGA,學生們能快速設立基本的系統架構和研究基本邏輯和記憶體的作業。此外,FPGA固有的可重新編程特性可以讓學生們快速學習不同的設計選項和展示‘假設分析’。同時也使教授們能夠應對技術方面的持續變化,並採用適當的結構和課程保持與產業趨勢的一致。最重要的是,學生們採用FPGA可以節省大量在電路板上為晶片佈線的時間,把更多的精力投入到設計而非建構上。

在這些課程中,該技術被廣泛地應用在系統和電腦架構中,許多年輕的工程師在工作中考慮潛在設計選項時首先想到可程式邏輯。然而,隨著對可程式邏輯的日益依賴也給教授電路設計帶來了經常被忽略的一些問題,這使許多年輕的工程師在製作系統時,沒有意識到現在有許多可選擇的技術能夠解決他們在設計上的挑戰。在許多情況下,這種產業選擇的知識缺乏與實踐設置經驗的缺乏是有關係的,這種專門技術的缺乏直接影響到他們設計高性能、低成本產品的能力。

內嵌的緩衝記憶體

這種趨勢的最好例子就是內嵌的數據緩衝儲存應用。多年來,FIFO和多埠記憶體一直是資深設計工程師製作高性價比的數據緩衝子系統的事實上的標準。然而,隨著FPGA記憶體密度的增加,設計工程師們已經選擇使用晶片上記憶體取代分離的FIFO或多埠記憶體的功能。

圖1:用於高性能路由器的40Gbps解決方案。

對高階系統來說,把分離的FIFO或多埠記憶體功能整合在FPGA似乎很有意義。將多個數據緩衝器和數據控制功能整合一個晶片中,提供了一個更為優秀的解決方案。其吸引力在於能使設計工程師減少元件數量和大幅地縮小電路板的空間需求。為了幫助設計工程師,FPGA供應商提供了一系列標準化的設計建構模組來加速開發進程。

但是,優秀的解決方案需要一定的成本,高密度的FPGA並不便宜。當數據匯流排速度超過100MHz,同時需要更高密度的緩衝器時,那就要更加昂貴的FPGA。性能也可能成為一個問題。當工程師把FIFO或多埠記憶體功能整合在可程式邏輯單元時,一些性能侷限並不是顯而易見的。在許多情況下,採用分離元件或結合小型FPGA可以提供更為理想的解決方案。

在沒有意識的情況下問題產生了。假定教育機構過分依賴可程式邏輯,那麼今天的許多工程師就失去了對分離的專用記憶體最新發展的認識,例如FIFO和多埠記憶體。現在,半導體供應商可提供密度範圍高達18Mb的FIFO元件。讀寫埠能夠完全獨立地以高達250MHz的速度執行,而且DDR選項能使每個埠性能提高達20Gbps。眾多的可選擇埠特性使用戶可選擇匯流排的寬度、I/O電壓、數據速率和同步或非同步作業。整合標記運算(flag operation)增加了元件的功能,最重要的是,整個產品線的接腳相容性使設計工程師很容易升級到更高的密度和速度。

多埠記憶體有類似的發展過程。設計工程師可選擇每個埠不同匯流排寬度,支援8到72位元之間的元件。這些元件在同步模式下速度高達200MHz或在非同步模式存取速率達10ns,同時密度高達36Mb。目前元件可支援的核心電壓範圍為5V、3.3V、2.5V或1.8V,I/O電壓為5V、3.3V、2.5V,可選擇3.3V/2.5V或1.8V。還有許多特殊功能可供使用,包括全邊界計數器(full-boundary counter)、獨立位元組致能、衝突檢測、中斷、旗語和忙仲裁。

性能的侷限

當一直被教育使用FPGA的工程師設計數據緩衝子系統時,他們自然地傾向於把FIFO設計成FPGA。然而許多人沒有意識到,因為他們設計中的FIFO數量的增加使他們面臨著性能侷限性的問題。通常,這些工程師使用來自主要供應商的工具,自動地將多FIFO映射到單個實體記憶體模組中,在多個特定用戶FIFO之間產生時間域再使用所需的邏輯。然而,因為每個獨立的FIFO埠必須一起進行再使用,所以每個FIFO埠的最高工作頻率與映射到設計中的FIFO的數量成反比。

當每個FIFO元件利用其時脈獨立執行時,數據、控制輸入和狀態標記、FIFO之間整體儲存頻寬是共享的。當一個FIFO元件的讀寫作業啟動時,定序器(sequencer)電路會在快速的時分再使用(TDM)時脈域存取實體數據。之後,定序器電路快速存取TDM時脈域的實體記憶體。然後,定序器把資訊傳回到FIFO埠的時脈域完成儲存存取。因為時脈域的傳輸,FIFO元件的性能受到定序器電路的速度和使用的FIFO數量固有的限制。實際上,一些領先FPGA供應商推薦需要在高性能設計中把他們元件的FIFO數量控制在10個之內。

在把一個FPGA配置成雙埠時,也會有很多與性能相關的問題。在很多這種應用中,FPGA往往和ASIC連接在一起。性能受三個主要因素控制:內在速度或從雙埠寫入和讀取資訊的速度、設立時間或數據在ASIC輸入變得穩定需要的時間,以及最高速度或外部ASIC獲得雙埠資訊的速度。

圖2:低功耗雙埠元件是多媒體智慧電話的理想選擇。

因為在輸入的數據穩定之前ASIC不能執行,設立時間就直接影響到速度的提升。由於設計工程師在FPGA中使用了大量的記憶體,所以某些記憶體會離I/O和邏輯閘很遠。結果,內部寫入脈衝的長度就會存在很大的差異性,並導致設立時間延長,最後使性能降低。在某些情況下,由於減少了設立時間,一個內部速度超過200MHz的FPGA將只能表現出最高120MHz的速度或者更低。相反,200MHz的雙埠記憶體的設立時間和最大速度則保持?定,並明顯快於整個記憶體密度範圍的FPGA。如果設計工程師選擇使用小型FPGA和外部多埠,性能就只會受FPGA的I/O限制。

面積和成本的考慮

封裝面積是另一個有時具有欺騙性的需要考慮的問題。如前所述,在許多情況下,把一個數據緩衝器設計整合在一個FPGA可以在低密度情況下顯著節省佔板面積。然而,隨著密度的增加,空間節省並不明顯。在許多情況下,元件數量越多,卻可出乎意料佔用更小的空間。

例如,隨著設計工程師將小型4萬閘FPGA換成8百萬閘FPGA,封裝的尺寸幾乎增加6倍,從256接腳球柵陣列封裝(BGA)成長到1,152接腳BGA封裝。相反,FIFO和多埠記憶體在不同的密度條件下,可以提供相同的256接腳的BGA封裝。在這些情況下,使用一個非常大的FPGA增加記憶體容量不會實現最小的佔板面積。對於更高密度的選擇,設計工程師可以透過組合具有足夠閘數的FPGA和外部多埠FIFO或者多埠記憶體,得到更為有效的結果。

在許多設計中成本是至關重要的,經常迫使設計工程師對其性能做出折衷,數據緩衝器設計也不例外。不過,對FPGA記憶體和分離記憶體仔細的成本分析可以帶來最具成本效益的選擇。

FPGA和FIFO記憶體每位元成本之間的比較說明了分離記憶體元件和FPGA之間主要的區別。像任何分離記憶體元件一樣,FIFO和多埠元件的每位元成本隨著密度增加都會按合理比例持續減少。儘管記憶體嵌入到一個FPGA裡價格會比分離元件高,在256K以下隨著每位元的成本變化速度與FIFO和多埠元件相近,而密度高於256K的FPGA每位元成本成長更快,高密度下的FPGA記憶體更昂貴。

這個區別對於不得不在他們的設計中增加記憶體的設計工程師來說具有很重要的意義。當設計工程師的需求已經超過一個FPGA的記憶體容量時,他們必須轉向到下一個更高密度的元件。更高容量的FPGA不僅迫使設計工程師為額外的記憶體付出更高的成本,也迫使他們為嵌入在更高密度FPGA裡的邏輯買單。此外,高密度的FPGA也要求大的封裝來滿足額外的I/O,所以也增大了電路板空間站用。使用分離的FIFO或多埠元件的設計可以利用接腳上相容的下一代高密度元件,來增加額外的記憶體IC或替代現有的記憶體,因而簡便地擴展容量。因此,使用分離元件增加記憶體的成本實際上保持不變,使用FPGA增加記憶體的成本卻不斷增加。

接腳相容的分離FIFO和多埠記憶體系列產品的可用性也在很大程度上影響設計靈活性,它使設計工程師能夠升級性能或推出另一個有不同性能的終端產品。而改變FPGA裡的設計實現,通常需要重新編輯、改變計時和進行其他調節。

可靠性是設計中需要考慮的另一個問題。縮小製程尺寸和降低工作電壓有助於增加記憶體的密度。但是,降低容量和降低電壓也會增加SRAM單元裡的軟錯誤(soft-error)。由於FPGA比FIFO和多埠更趨向採用更小更低電壓和尺寸,也會出現更多的軟錯誤。工作在高電壓下使用FIFO和多埠的記憶體將很少受到軟錯誤的影響,而且可以提供更高的性能。

作者:Casey Springer

高級產品工程師

IDT公司專業儲存產品部




投票數:   加入我的最愛
我來評論 - 數據緩衝設計的最佳選擇
評論:  
*  您還能輸入[0]個字
*驗證碼:
 
論壇熱門主題 熱門下載
 •   將邁入40歲的你...存款多少了  •  深入電容觸控技術就從這個問題開始
 •  我有一個數位電源的專利...  •  磷酸鋰鐵電池一問
 •   關於設備商公司的工程師(廠商)薪資前景  •  計算諧振轉換器的同步整流MOSFET功耗損失
 •   Touch sensor & MEMS controller  •  針對智慧電表PLC通訊應用的線路驅動器
 •   下週 深圳 llC 2012 關於PCB免費工具的研討會  •  邏輯閘的應用


EE人生人氣排行
 
返回頁首