新聞中心

EEPW首頁 > 消費電子 > 設(shè)計應(yīng)用 > 高端路由器設(shè)計需要考慮的數(shù)據(jù)緩沖器問題

高端路由器設(shè)計需要考慮的數(shù)據(jù)緩沖器問題

——
作者:IDT 公司 Michael Olsen 時間:2006-12-22 來源:電子設(shè)計應(yīng)用 收藏

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

這種考慮涉及三個主要因素:輸入數(shù)據(jù)的速率(入口線路)、輸出數(shù)據(jù)的速率(出口線路)及內(nèi)部處理時間需求。只要來自網(wǎng)絡(luò)的入口數(shù)據(jù)速率與回到網(wǎng)絡(luò)的出口數(shù)據(jù)速率相等,而且具有最小的處理需求,數(shù)據(jù)緩存即可保持相對較小。因為內(nèi)部處理只增加很小的延遲,流量也比較穩(wěn)定,所以幾乎不需要存儲數(shù)據(jù)。不過,隨著系統(tǒng)執(zhí)行更高級別的處理,就必須增大緩存來消除處理功能帶來的延遲。突發(fā)流量對數(shù)據(jù)緩存的設(shè)計也有顯著的影響。如果入口數(shù)據(jù)速率隨著時間顯著變化并偶爾超過信息包處理器的能力,就必須適當(dāng)?shù)馗淖內(nèi)肟?a class="contentlabel" href="http://butianyuan.cn/news/listbylabel/label/緩沖器">緩沖器的尺寸,以解決與這些處理功能相關(guān)的延遲問題。

可編程邏輯器件的優(yōu)勢

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


圖1 可集成多個FIFO的FPGA

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

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

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

理想的選擇

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


圖2  采用分立FIFO的數(shù)據(jù)緩沖器

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

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

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

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

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

面積和成本

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


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

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

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

結(jié)語

隨著數(shù)據(jù)速率的持續(xù)上升,數(shù)據(jù)緩沖器設(shè)計將在優(yōu)化網(wǎng)絡(luò)性能方面扮演重要的角色。通過分析所有的設(shè)計選擇,并利用現(xiàn)成的分立器件和可編程邏輯器件的獨特性能,設(shè)計師可以用盡可能低的成本構(gòu)建高性能的解決方案?!?/P>



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉