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