MIPS千兆網(wǎng)閘系統實(shí)現及仿真分析
關(guān)鍵詞 千兆網(wǎng) 網(wǎng)閘技術(shù)信號完整性仿真
引 言
隨著(zhù)互聯(lián)網(wǎng)的快速發(fā)展,網(wǎng)絡(luò )安全問(wèn)題日益突出。目前采用最多的網(wǎng)絡(luò )安全措施是防火墻類(lèi)軟件,但防火墻類(lèi)軟件本身存在先天缺陷。防火墻隔離的網(wǎng)絡(luò )是基于TCP/IP協(xié)議來(lái)進(jìn)行信息交換的,而TCP/IP本身存在漏洞;同時(shí)防火墻的運行離不開(kāi)操作系統,操作系統也可能存在未知的漏洞。采用網(wǎng)絡(luò )隔離技術(shù)的網(wǎng)閘,能更有效阻斷已知和未知的攻擊,防范安全漏洞,隔離可信網(wǎng)絡(luò )和不可信網(wǎng)絡(luò )并能保持數據高效交換,從而提供更好的安全保護,是網(wǎng)絡(luò )安全技術(shù)的發(fā)展方向。MIPS CPU作為RISCCPU體系結構的一種,無(wú)論是在高端的服務(wù)器還是在低端的嵌入式系統中,都得到了廣泛的應用。對網(wǎng)絡(luò )速度的要求、服務(wù)器的瓶頸、應用方式的變化,也在促使網(wǎng)絡(luò )向千兆帶寬發(fā)展。MIPS千兆網(wǎng)閘系統的開(kāi)發(fā)對于現在及將來(lái)的網(wǎng)絡(luò )安全意義重大。千兆網(wǎng)閘系統的PCB上有許多高速器件,時(shí)鐘速度和信號上升時(shí)間很快。PCB本身尺寸也在逐漸縮小,導致PCB密度增加。元器件和PCB的參數、損耗的影響、電源分配、元器件在PCB上的布局、高速信號的布線(xiàn)等因素,都會(huì )引起信號的完整性(SI)問(wèn)題,導致系統工作不穩定,甚至完全不工作。因此高速設計本身已成為設計過(guò)程的重要部分。在千兆網(wǎng)閘的系統設計完成之后,必須仔細考慮其信號的完整性設計問(wèn)題。
1 設計指導原則
1.1 網(wǎng)閘技術(shù)
網(wǎng)絡(luò )隔離的思路在于:中斷直接連接,把協(xié)議剝離掉,還原成原始數據,對數據進(jìn)行檢查和掃描,防止惡意代碼和病毒,不依賴(lài)于操作系統。網(wǎng)絡(luò )隔離技術(shù)具有最高的安全性,因此成為安全市場(chǎng)的黑馬,而基于網(wǎng)絡(luò )隔離技術(shù)的產(chǎn)品―網(wǎng)閘,則逐漸成為主流。網(wǎng)閘在OSI七層模型上全面進(jìn)行隔離。采用三模塊結構―兩個(gè)主機子系統、控制電路和存儲介質(zhì)組成的隔離設備。兩個(gè)獨立主機子系統分別連接安全與非安全網(wǎng)絡(luò )。保證存儲介質(zhì)與安全網(wǎng)絡(luò )連通時(shí),斷開(kāi)與非安全網(wǎng)絡(luò )的連接;與非安全網(wǎng)絡(luò )連通時(shí),斷開(kāi)與安全網(wǎng)絡(luò )的連接,通過(guò)數據擺渡實(shí)現安全的數據交換。網(wǎng)閘從物理層進(jìn)行網(wǎng)絡(luò )隔離,消除了數據鏈路的通信協(xié)議,剝離了TCP/IP協(xié)議和應用協(xié)議,在安全交換后再進(jìn)行協(xié)議的恢復和重建。
本文的網(wǎng)閘系統采用了動(dòng)態(tài)開(kāi)關(guān)技術(shù)―基于內存總線(xiàn)的設計。FPGA作為獨立控制電路,存儲介質(zhì)為雙端口靜態(tài)存儲器,以下簡(jiǎn)稱(chēng)DPRAM(Dual Port SRAM)。DPRAM每一個(gè)端口的接口部分分別與外部、內部主機的內存系統相連,以實(shí)現在外部、內部主機兩個(gè)端口上的開(kāi)關(guān)。兩個(gè)開(kāi)關(guān)不能同時(shí)閉合,原理如圖1所示。
1.2信號完整性
1.2.1概述
信號完整性是指信號在電路中以正確的時(shí)序和電壓做出響應的能力。如果電路中信號能夠以要求的時(shí)序、持續時(shí)間和電壓幅度到達IC,則該電路具有較好的信號完整性。反之,當信號不能正常響應時(shí),就出現了信號完整性問(wèn)題。從廣義上講,信號完整性問(wèn)題主要表現為5個(gè)方面:延遲、反射、串擾、同步切換噪聲(SSN)和電磁兼容性(EMC)。
延遲是指信號在PCB的導線(xiàn)上以有限的速度傳輸,信號從發(fā)送端發(fā)出到達接收端,其問(wèn)存在一個(gè)傳輸延遲。信號的延遲會(huì )對系統的時(shí)序產(chǎn)生影響,在高速數字系統中,傳輸延遲主要取決于導線(xiàn)的長(cháng)度和導線(xiàn)周?chē)橘|(zhì)的介電常數。反射是指當PCB上導線(xiàn)(高速數字系統中稱(chēng)為傳輸線(xiàn))的特征阻抗與負載阻抗不匹配時(shí),信號到達接收端后有一部分能量將沿著(zhù)傳輸線(xiàn)反射回去,使信號波形發(fā)生畸變,甚至出現信號的過(guò)沖和下沖。信號如果在傳輸線(xiàn)上來(lái)回反射,就會(huì )產(chǎn)生振鈴和環(huán)繞振蕩。串擾是指由于PCB上的任何兩個(gè)器件或導線(xiàn)之間都存在互容(mutualcapacitance)和互感,當一個(gè)器件或一根導線(xiàn)上的信號發(fā)生變化時(shí),其變化會(huì )通過(guò)互容和互感影響其他器件或導線(xiàn)。串擾的強度取決于器件及導線(xiàn)的幾何尺寸和相互距離。當PCB上的眾多數字信號同步進(jìn)行切換時(shí)(如CPU的數據總線(xiàn)、地址總線(xiàn)等),由于電源線(xiàn)和地線(xiàn)上存在阻抗,會(huì )產(chǎn)生同步切換噪聲,在地線(xiàn)上還會(huì )出現地平面反彈噪聲(簡(jiǎn)稱(chēng)地彈)。SSN和地彈的強度取決于集成電路的I/O特性、PCB電源層和地平面層的阻抗以及高速器件在PCB上的布局和布線(xiàn)方式。另外,同其他的電子設備一樣,PCB也有電磁兼容性問(wèn)題,其產(chǎn)生也主要與PCB的布局和布線(xiàn)方式有關(guān)。
1.2.2千兆系統的SI
千兆系統有眾多高速信號,信號完整性更加突出。許多低速設備設計中無(wú)需考慮的方面,現在都很可能成為系統性能下降甚至崩潰的原因。下面著(zhù)重討論千兆系統PCB信號完整性設計應重點(diǎn)考慮的一些方面。
(l)高速器件模型
能夠進(jìn)行仿真的前提是,芯片的電氣行為和互連信號線(xiàn)有足夠準確的描述。這主要通過(guò)對芯片的緩沖器和走線(xiàn)建模實(shí)現。對芯片的緩沖器建模主要通過(guò)SCICE網(wǎng)表描述和通過(guò)IBIS模型描述兩種方式。SPICE網(wǎng)表的仿真非常精確,因為它是對緩沖器結構一個(gè)幾乎完整的描述;但從另外一方面看,這樣也會(huì )造成芯片設計細節的泄漏以及由于仿真涉及的大量計算造成不可容忍的緩慢速度。IBIS模型是行為級模型,只是采用I/V和V/t表的形式來(lái)描述芯片I/0單元和引腳的特性,不涉及內部細節,擁有較快的仿真速度;同時(shí),IBIS規范是由國際標準組織ANSI/EIA來(lái)維護的,對于所有的仿真軟件有統一的描述規范,得到了絕大多數仿真軟件廠(chǎng)商的支持,因此IBIS模型是當前主要的I/O仿真模型規范。標準元件制造商現在都提供IBIS模型。仿真工具也可以自己建立模型。對于PCB的走線(xiàn)建模主要采用傳輸線(xiàn)模型,可以由2D、2.5D甚至3D的電磁場(chǎng)解析器來(lái)分析。比較熟悉的仿真工具SpecctraQuest中就內嵌了場(chǎng)解析器。
(2)差分信號
差分信號通過(guò)一對信號線(xiàn)來(lái)傳輸。一條信號線(xiàn)上傳輸通常所理解的信號;另一條信號線(xiàn)上則傳輸一個(gè)等值而方向相反的信號。如果一條信號線(xiàn)上的電壓高于另一信號線(xiàn)上的電壓,就可得到一種邏輯狀態(tài);而如果前者低于后者就可得到另外一種邏輯狀態(tài)。這種信號的優(yōu)點(diǎn)有:很容易識別小信號;對外部電磁干擾(EMI)是高度免疫的。
(3)電源分配系統
電源系統為信號轉換提供穩定的電壓參考,為所有的邏輯器件分配電源,是整個(gè)系統的驅動(dòng)部分,地位十分重要。在電源系統中,電源模塊有極低的輸出阻抗。安裝在板上的電路通過(guò)電線(xiàn)、電纜或電路板走線(xiàn)連接到電源。這條線(xiàn)稱(chēng)為電源分配線(xiàn)。電源分配線(xiàn)具有相對大一些的電感,增大大多數電源的低輸出阻抗。其直流特性可能比較好,但是高頻的阻抗將會(huì )增大。這些都影響了電源和地之間的阻抗。電容的寄生參數包括一個(gè)等效串連電感(ESL)和一個(gè)等效串連電阻(ESR)。電容的模型是電容、電感和電阻的串連。在電路板上布放的大旁路電容,與電源并聯(lián)。在一定頻率范圍內,此旁路電容提供了電源和地之間的一個(gè)低阻抗回路;但是在一些更高的頻率下,大旁路電容又會(huì )因為其引腳電感(ESL)的值增大而失去效果。此時(shí),可以安放小電容陣列來(lái)實(shí)現第二級的旁路。N個(gè)容值為C、ESR值為R、ESI值為L(cháng)的小電容并聯(lián)后,其容值為NC,等效串連電感變?yōu)長(cháng)/N,等效串連電阻變?yōu)镽/N。平行的電源平面和地平面提供了第三級的旁路電容。這些電容引腳電感和串連電阻值為零,在非常高的頻率下可以減少電源和地噪聲。電源、布線(xiàn)、大旁路電容、小旁路電容陣列與電源和地平面之間的固有電容,在這些因素的共同作用下,在整個(gè)工作頻率范圍內為每個(gè)邏輯器件提供了一個(gè)低的電源源端阻抗,組合起來(lái)統稱(chēng)為多級電源分配系統(multilayereId powar distribution system)。因此,從板級的角度來(lái)看,電源分配系統由電源模塊VRM(Voltage Regulator Modtlle)、電源平面和地平面、各種電容組成。它們分別在不同的頻率范圍內做出響應。電源模塊響應的頻率范圍大約是從直流到lkHz,大的電解電容提供電流并在1 kHz~1 MHz的范圍內保持較低阻抗,高頻陶瓷電容組成的小電容陣列在1MHz到幾百MHz的頻率范圍內保持較低阻抗,電源和地平面對則在100 MHz以上發(fā)揮重要作用,如圖2所示。
2 設計方案
2.1 網(wǎng)閘系統設計
2.1.1 內外網(wǎng)接口的實(shí)現
考慮到x86架構的安全問(wèn)題,采用了完全不同于英特爾x86架構的MIPS CPU。由于整個(gè)系統的數據交換速度達到千兆,必須要求所選擇的處理器具有很高的處理性能。據此選擇了PMC-Sierra公司的。RM7065C處理器。它是具有指令預取功能的雙發(fā)射對稱(chēng)超標量64位處理器,主頻600MHz,64位SysAD總線(xiàn)工作頻率為100MHz。GT64240是MarvelI公司的北橋芯片。該芯片擁有2個(gè)32/64位PCI接口,3個(gè)百兆網(wǎng)口,內建有DMA控制器和PCI仲裁器,其內部使用的Crossbar技術(shù)能夠提供高達100 Gbps的數據吞吐量,同時(shí)允許CPU、PCI、LAN、WAN和memoiy間數據的DMA無(wú)阻塞傳輸。Intel 82544GC千兆以太網(wǎng)芯片連接到北橋的PCIO口,數據傳輸采用DMA方式。82371AB是Intel 南橋芯片,與北橋的PCll口相連,為系統提供IDE接口;同時(shí),通過(guò)ISA總線(xiàn)連接I/O芯片,再憑借I/0芯片為系統提供PS/2鼠標鍵盤(pán)接口。SDRAM為系統內存,采用標準168腳SDRAM插槽,工作時(shí)鐘頻率133 MHz,大小為256 Mb。EEPROM使用29C040存放BIOS,大小為4Mb。
2.1.2隔離設備的實(shí)現
隔離設備由存儲介質(zhì)和FPGA控制芯片構成。選用的FPGA是Xilinx公司的XC2V40。它是Virtex-II家族中的一員。Virtex-II系列FPGA是Xilinx公司開(kāi)發(fā)的新一代大規模SRAM工藝的主流產(chǎn)品,存儲介質(zhì)使用的雙口SRAM采用的是兩片IDT公司的IDT70V3579S。采用位擴展方式將32位寬度的數據擴展成64位,以符合SDRAM的64位讀寫(xiě)方式(64位數據位,8位校驗位)。
MIPS體系架構中,空間地址是統一編址的。北橋負責完成地址映射。北橋的SDRAM控制器的SCS[3:0]片選端對應一定的地址段。當CPU訪(fǎng)問(wèn)內存即這些地址段時(shí),就會(huì )使能相應的SDRAM的片選信號。本設計使用L/R_SCS3選中FPGA,從而整個(gè)隔離設備開(kāi)始工作。
利用片選使能雙口SRAM,并把雙口SRAM掛在SDRAM總線(xiàn)上,把雙口SRAM當成SDRAM的一部分,但SDRAM和雙口SRAM不是同時(shí)選中。當SPU訪(fǎng)問(wèn)到相應地址時(shí)就能對雙口SRAM進(jìn)行操作,從而完成數據擺渡的工作。但是,SDRAM操作規范和雙口SRAM的操作規范并不相同,并且如果2個(gè)CPU同時(shí)寫(xiě)同一雙口SRAM地址時(shí)也會(huì )出錯,因此FPGA既要完成不同規范之間的協(xié)議轉換,還要完成對雙口SRAM存儲資源的統一管理。
為避免可能因為同時(shí)寫(xiě)而出現錯誤,把兩片雙口SRAM中32K64位的資源以地址形式分成高低兩部分??紤]到CPU對Cache每次存取數據的大小是2 KB,為了取得較好的Cache命中率,相應地把雙口SRAM資源也分成2 KB大小的段。因為兩片雙口SRAM共有258KB容量,這樣就變成了總共128段,并劃分成了高64段和低64段。把高64段作為左端北橋寫(xiě)入部分和右端北橋讀出部分,把低64段作為右端北橋寫(xiě)入部分和左端北橋讀出部分。FPGA發(fā)出高7位地址L/R_SEG_AD[14:8]作為雙口SRAM的段地址(選中128段中的某一段),與北橋發(fā)出的14位地址L/R_ADD[13:0]中的低8位地址L/R_ADD[7:0](作為段內地址,選中某一段中的某8B)組成DPRAM的15位的完整地址,訪(fǎng)問(wèn)DPRAM。其示意圖如圖4所示。
2.2信號完整性設計
2.2.1 Sl仿真分析
實(shí)際設計中,運用Cadence公司的SpeccctraQuest(以下簡(jiǎn)稱(chēng)SQ)。SQ是一個(gè)功能強大并全面支持IBIS模型的仿真工具,它提供圖形化的拓撲結構顯示(在Sigxplorer中顯示,再調入SigWave顯示仿真結果的波形),可進(jìn)行完整的有損傳輸線(xiàn)SI分析:釋放鼠線(xiàn)提取布線(xiàn)前或布線(xiàn)后的互連參數,從而控制驅動(dòng)能力、阻抗匹配、防止串擾和反射等設計。由于網(wǎng)閘主板中信號數量非常多,對全部信號進(jìn)行SI分析是不現實(shí)的,也是完全沒(méi)有必要的。這里采取了重點(diǎn)分析的策略,選取的重要信號是左邊外部子系統的共用信號L_SD_DP_CLK,它是北橋、兩片雙口SRAM―IDT公司的70V3579S(采用位擴展方式將32位數據擴展成64位以符合SDRAM讀寫(xiě)方式)以及FPGA三者的共同時(shí)鐘信號,對它進(jìn)行仿真分析,結果如圖6所示。
較粗的一根線(xiàn)是主時(shí)鐘芯片發(fā)出的數據信號L_SD_DP_CLK,另外四根較細的線(xiàn)分別是北橋、FPGA、兩片雙口SRAM(每片各需要一個(gè))的接收信號波形。無(wú)論是接收信號,還是發(fā)送信號,波形出現了嚴重的失真:在高電平和低電平的維持階段,信號很不平穩;在高電平處有明顯的振鈴效應;信號上升沿出現了非單調的情況,并且上升沿的切換時(shí)間很長(cháng);信號的下沖最大接近一900mV,某些信號在下沖幅值比較大時(shí)持續時(shí)間還比較長(cháng),可能會(huì )對接收端芯片造成損壞或影響。
針對仿真出現的情況進(jìn)行分析,注意到離驅動(dòng)芯片越遠,越容易出現超過(guò)門(mén)限的負過(guò)沖,且持續時(shí)間更長(cháng),幅度更大。同時(shí)一個(gè)驅動(dòng)芯片有多個(gè)接收芯片,要使驅動(dòng)芯片盡量處于多個(gè)接收芯片的中間位置,保證信號完整性。根據分析結果,對布局進(jìn)行了調整,為主時(shí)鐘驅動(dòng)芯片騰出了空間,相應調整了其他接收芯片的相對位置,并注意調整了源端和負載端的端接電阻值。然后對此信號網(wǎng)絡(luò )進(jìn)行了第2次布線(xiàn)前仿真,其仿真波形如圖7所示。
圖7中,第1次出現的振鈴、非單調上升沿、下沖、上升沿切換時(shí)間過(guò)長(cháng)等現象都得到了極大的改善;而且,與發(fā)送信號波形相比,除了一個(gè)接收信號稍微有一些差異以外,其他的接收信號幾乎與發(fā)送信號波形吻合,說(shuō)明時(shí)延很小,信號完整性得到了保證。仿真結果令人滿(mǎn)意,這樣的布局也是可取的。前仿真作為對新設計探索性的仿真是成功的。
2.2.2差分信號布線(xiàn)策略
在千兆信號傳輸中,高速重要信號采用差分信號布線(xiàn),可以更好地降低串擾、EMI等的影響。在差分線(xiàn)對的布局布線(xiàn)過(guò)程中,差分線(xiàn)對中的兩條PCB線(xiàn)應完全一致,即確保差分線(xiàn)對中的PCB線(xiàn)具有完全一樣的阻抗并且布線(xiàn)的長(cháng)度也完全一致;同時(shí)差分線(xiàn)對的布局布線(xiàn)應盡可能地靠近。差分線(xiàn)用眼圖來(lái)分析仿真結果。仿真軟件設定隨機序列碼產(chǎn)生眼圖,并且可以輸入抖動(dòng)與偏移參數分析其對眼圖的影響。
2.2.3電源分配系統解決方案
在千兆系統中,要避免SSN的干擾,保證電源分配系統在帶寬范圍內具有較低阻抗。一般在低頻段,采用去耦電容降低阻抗,高頻段主要考慮電源、地平面分布。SPECCTRAQuest可以分析由于封裝結構造成的SSN的影響。其中的Power Integrity軟件采用頻域分析電源分配系統,可以有效分析去耦電容數量與位置以及電源、地平面的影響效果。對EMC,則需要將控制EMC的各項設計規則應用在設計的每一個(gè)環(huán)節,實(shí)現在設計各環(huán)節上的規則驅動(dòng)和控制,設計完成測試驗證后又可以形成新的規則應用到新的設計中。
結語(yǔ)
本文講述了網(wǎng)閘的實(shí)現原理,給出一套MIPS千兆網(wǎng)閘的實(shí)現方案。該設計為同樣采用MIPS IV指令集的國產(chǎn)CPU龍芯2號的推廣和應用提供了借鑒。同時(shí)提出的千兆系統PCB信號完整性設計方法具有很強的實(shí)用意義和先進(jìn)性,不僅能夠有效提高產(chǎn)品設計的性能,而且可以大幅縮短產(chǎn)品開(kāi)發(fā)周期,降低開(kāi)發(fā)成本。
評論