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