a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 消費電子 > 設計應用 > 高端路由器設計需要考慮的數據緩沖器問題

高端路由器設計需要考慮的數據緩沖器問題

——
作者:IDT 公司 Michael Olsen 時間:2006-12-22 來源:電子設計應用 收藏

迅速增加的數據、語音和量進入(MAN)后,服務于這些應用的必須能將多路的1 Gbps數據流匯聚成高達40 Gbps帶寬的數據流.為了保持線速性能,系統必須在出口端提供等于或高于進入傳輸速率的信息包處理能力,或者對信息包進行備份,這時緩沖就變得至關重要。
這些數據緩存的性能和效率對的性能至關重要。性能的主要威脅來自數據的重發。因此,城域邊緣的必須能夠匯聚多個較低速率的接入線路,并將其轉發至高速核心連接而不致欠載。路由器也必須保證從更高速的核心網到邊緣網的數據分發操作不會超時。在任何情況下超過了數據緩存的最大能力,發送到 MAN 的任何額外數據都必須重傳。
因此,最大限度地降低系統延遲和確保系統最大吞吐量的關鍵是為具體應用選擇合適的數據緩存。如果緩存過大,就會大幅度增加系統成本。如果過小,就會溢出緩存并重發數據,導致性能下降。

這種考慮涉及三個主要因素:輸入數據的速率(入口線路)、輸出數據的速率(出口線路)及內部處理時間需求。只要來自網絡的入口數據速率與回到網絡的出口數據速率相等,而且具有最小的處理需求,數據緩存即可保持相對較小。因為內部處理只增加很小的延遲,流量也比較穩定,所以幾乎不需要存儲數據。不過,隨著系統執行更高級別的處理,就必須增大緩存來消除處理功能帶來的延遲。突發流量對數據緩存的設計也有顯著的影響。如果入口數據速率隨著時間顯著變化并偶爾超過信息包處理器的能力,就必須適當地改變入口的尺寸,以解決與這些處理功能相關的延遲問題。

可編程邏輯器件的優勢

在為這些應用構建緩沖子系統時,工程師傾向于首先考慮采用FPGA,而不是現成的分立存儲器件。由于工程教育機構日益依賴于 FPGA 來教授電路設計的基礎知識。因此,大部分工程師都熟悉這種技術。FPGA 有助于設計師隨時對他們的設計進行重新配置,提供高度靈活性,并在短期內完成硬件的測試。此外,由于這些工具常常是人們熟悉的,可以迅速轉變成最終解決方案。
現在,FPGA 可提供數百萬的邏輯門和兆比特級的片上存儲器,設計師可將多個 FIFO集成到一個芯片上(見圖 1)。然而,在數據緩存需求比較高的城域邊緣網領域,設計師必須仔細評估他們所有的設計選擇。在某些情況下,設計師會發現可編程邏輯器件在給定性能或成本方面存在固有的局限性,而分立器件可提供更具吸引力的解決方案。


圖1 可集成多個FIFO的FPGA

例如,許多工程師沒有意識到,基于 FPGA 的解決方案的性能會隨著滿足應用需求的數據緩存大小的改變而變化。雖然現在的FPGA 可以更高的時鐘速率運行,當設計師把越來越多的 FIFO 映射到 FPGA 時,他們面臨重大的性能局限性。設計師會使用來自 FPGA 供應商的工具,自動地將多個 FIFO 映射到單個物理存儲器塊中,并創建在不同的FIFO之間時域復用所需的邏輯。然而,采用這種復用方法,會使每個FIFO端口的工作頻率與映射到設計中的 FIFO 數量成反比。這是因為當每個 FIFO 獨立運行時,整個存儲帶寬是共享的。當 FIFO 器件的讀寫操作開始時,時序電路會在快速的 TDM 時鐘域中訪問物理存儲器。為了完成每次存儲器的存取,時序器必須將信息傳回到FIFO端口的時鐘域。隨著 FPGA 中FIFO 數量的增加,時序電路的速度和時鐘域傳輸的數量將會嚴重限制 FIFO 的性能。因此,一些FPGA供應商建議設計師把器件采用的 FIFO 的數量控制在10個之內。
 
高性能城域邊緣網路由器設計的存儲器密度也會影響 FPGA 的性能。為了充分發揮性能,設計師很自然地優先選擇內嵌的數據。所以,許多設計師選擇采用更高密度的 FPGA 來滿足大型數據的存儲需求。

然而,采用這種策略也會產生一些問題。當設計師在 FPGA 中使用大量存儲器時,一些存儲器將會進一步遠離I/O和邏輯門。這種存儲資源在芯片內的分散將導致內部寫脈沖隨線長而變化,并延長建立時間。在一些應用中,FPGA 中大型存儲陣列的使用可降低高達40%的芯片內部速度。

解決該問題的一種方法是選擇更小和成本更低的 FPGA實現控制邏輯,并采用外部分立存儲器來支持。設計師會采用外部SRAM來增強 FPGA 的存儲能力。FPGA供應商可提供預定義模塊,設計師可將其集成到 FPGA 中,用以進行外部存儲器管理。這種方法有助于設計師使用更小和更便宜的 FPGA。
但是,由于FPGA架構固有的 I/O 局限性,這種方法為設計帶來了延時。在采用 FPGA 和外部存儲器的設計中,數據通過 FPGA 中比較慢的可編程門進入緩沖器,然后子系統必須為控制器分配一個地址,并將數據轉移到外部存儲器。接下來,系統必須分配一個地址并把數據拖到外部存儲器中。這兩個操作必須通過 FPGA 中比較慢的可編程 I/O門進行。最后,數據必須從 FPGA 發送到系統中,并再次經過 FPGA 可編程門。假設在 FPGA 和外部存儲器中進行大量的存取,該子系統需要 8 個時鐘周期來處理每個數據字節。

理想的選擇

在這些應用中,一種更為可行的方法是采用現成的分立 FIFO 來設計數據緩沖器(見圖 2)。目前,供應商可提供密度高達 18 Mb、運行速度高達 250 MHz 的FIFO器件。這些器件的輸入和輸出端口可進行獨立配置,同時以單倍數據速率(SDR)和雙倍數據速率(DDR)運行,并可支持高達 20 Gbps的數據速率。


圖2  采用分立FIFO的數據緩沖器

如果需要更高密度的緩沖器,一些 FIFO 可以進行級聯,在多芯片配置模式下實現更高的密度。不同的時鐘運行模式有助于設計者在級聯配置中優化緩沖器設計。在標準模式中,寫入一個空 FIFO 中的第一個字被存儲在內部存儲器中,除非進行特定的讀操作,該字不會在數據輸出線上出現。第二種(首字直接通過)模式是通過將一個 FIFO 的數據輸出連接到下一個 FIFO 的數據輸入來支持深度擴展。這使緩沖器可自動地將進入緩沖器的第一個字以流水線方式送到第一個 FIFO  中,并利用第二個FIFO實現反壓。

分立緩沖器件制造商可以提供多達128個隊列以全線速區分并對數據進行優先級排序的FIFO。這些器件可提供高達 10 Mb的存儲密度,并利用高達 166 MHz 的 DDR 支持超過 10 Gbps的運行速度。這些產品配置了 x40 位數據總線,可提供13.3 Gbps的高數據吞吐量,并可支持下一代高吞吐量平臺的服務質量(QoS)需求。

比較FPGA 和其他替代解決方案,簡單對比數據手冊已經不能得到滿意的答案。FPGA 的易于編程特性有助于模塊化數據手冊,每段的數據通道部分都需要進行確認、評估和添加,以確定合成電路的時序。為了實現這一點,FPGA 制造商可為 FPGA 的設計和編程提供軟件。這種設計軟件可鑒別設計并評估電路,提供性能時序參數。供應商豐富的經驗和他們各自的軟件包可提供非常精確的模型。在評估這些解決方案的過程中,工程師可使用 Xilinx ISE 和 Altera Quartus II 設計軟件。他們可以使用這些軟件工具對 FPGA 進行配置,以執行 FIFO 存儲功能,并利用設計軟件提供的合成模型來模擬實際電路。使用 Xilinx 的 LogicCore 和 Altera 的 MegaWizard 可產生 FIFO 單元。這些工具可提供優化性能的設計實現。該實驗可在各種尺寸的器件和存儲器配置上進行。性能測試結果基于后布局和走線時序。

在決定采用現成的 FIFO 或可編程邏輯器件建立一個數據緩沖器子系統之前,工程師應該考慮到該決定對其設計復雜性的影響。低密度的情況下,把 FIFO 和控制邏輯集成到一個 IC中,可提供一種更為簡單的電路板設計。隨著緩沖器尺寸超過256K的密度,而且成本促使其采用外部SRAM來補充 FPGA,標準的 FIFO 可提供更為簡單的方法。隨著設計者對系統的升級轉向更高的存儲密度,這種方法也具有優勢。例如,大多數 FIFO 都是引腳兼容的產品,密度范圍在 0.5 Mb~18 Mb 之間。使設計師簡單更換一個元件,即可迅速而容易地增強其系統能力。在基于 FPGA 的配置中,設計師通常需要花費時間和精力重新編譯器件,或對一個新的、更高密度的 FPGA 進行設計和編程。
異步設計中的時鐘同步也是一個應該考慮的問題。在大多數路由器環境中,進入系統的傳輸線路與主系統時鐘會在不同的時鐘域中運行。設計師必須連接不同寬度的總線。路由器設計師面臨的一個常見的挑戰就是如何使用數據緩沖器使這些全異時鐘同步,并復用16 位和 32 位或 32 位和 64 位之間的數據,以確保整個系統中數據的完整性。

設計師使用基于FPGA的方法調整他們的邏輯以實現上述目標。然而在一般情況下,該工作需要豐富的電路設計專業知識以及模擬和測試這些電路的時間。相比之下,許多高性能 FIFO 提供的嵌入式總線匹配能力可自動解決這個問題。這些器件可提供多總線寬度和端口可選的總線寬度匹配,有助于出口線路和入口線路之間的無縫連接。這些器件也具備獨立的讀寫時鐘,可使設計者實現不同時鐘域之間的頻率匹配。

面積和成本

在設計緩沖器時,器件成本和板卡空間也是要考慮的因素。通過分析FIFO和FPGA 中存儲器相關的單位比特成本,可以看出兩種技術中的存儲器成本在達到256K之前保持在非常相似的水平(見圖3)。然而,FIFO 中的單位比特成本是隨著密度的增加而穩定下降的,但是 FPGA 中存儲器成本的增速很快。密度為 1 Mb 以上的 FPGA 存儲器就變得過于昂貴了。


圖3  FPGA和分立FIFO方案的成本對比

這種成本差異是非常令人吃驚的。當設計師被迫在 FPGA 設計中添加更多數量的存儲器時,他們必須支付額外的存儲器和嵌入到更高密度器件中的額外邏輯的成本。采用分立的 FIFO則可以穩定地增加密度。

封裝面積和引腳也是需要考慮的重要內容。在低密度情況下,把緩沖器集成到單個 FPGA中可以實現更緊湊的引腳布局。然而,隨著 FPGA密度和引腳數量的增加,這種折衷的效果并不明顯。用大型的 8 M 門 FPGA 實現數據緩沖器需要設計師在電路板上焊接一個 1152 引腳 的 BGA,另一方面,不論存儲器密度如何,采用比較簡單的 256 引腳 BGA封裝的FIFO即可達到相同的效果。

結語

隨著數據速率的持續上升,數據緩沖器設計將在優化網絡性能方面扮演重要的角色。通過分析所有的設計選擇,并利用現成的分立器件和可編程邏輯器件的獨特性能,設計師可以用盡可能低的成本構建高性能的解決方案。■



評論


相關推薦

技術專區

關閉