摘 要: 設計了基于FPGA的片上網(wǎng)絡系統(tǒng)硬件平臺,。系統(tǒng)由大容量的FPGA,、存儲器、高速A/D與D/A,、通信接口和一個擴展的ARM9系統(tǒng)組成,。完成了集高速數(shù)字信號處理、視頻編解碼和網(wǎng)絡傳輸功能與一體的多核系統(tǒng)設計。針對典型的3×3 2D Mesh結(jié)構(gòu)的NoC系統(tǒng)應用進行了探討,,闡述了NoC系統(tǒng)設計過程中的關鍵技術,,并使用SigXplorer軟件對系統(tǒng)的信號完整性解決方案進行了PCB的反射與串擾仿真。
關鍵詞: 片上網(wǎng)絡,;信號完整性,;驗證平臺;片上端接
中圖分類號:TN47 文獻標識碼:B 文章編號:0258-7998(2012)02-0117-03
IC制造技術的發(fā)展推動著芯片向更高集成度方向前進,,從而能夠?qū)⒄麄€系統(tǒng)設計到單個芯片中構(gòu)成片上系統(tǒng)SoC(System on Chip),。SoC采用全局同步型共享總線通信結(jié)構(gòu)。這類系統(tǒng)由于掛在總線上的設備在通信時對總線的獨占性以及單一系統(tǒng)總線對同步時鐘的要求,,使得在片上IP核越來越多的芯片中,,不可避免地存在通信效率低下、全局同步時鐘開銷大等問題,。
片上網(wǎng)絡NoC(Network on Chip)的提出有效地解決了上述問題,。該系統(tǒng)借鑒了計算機網(wǎng)絡中分組交換的通信方法,可以根據(jù)應用靈活地采用多種網(wǎng)絡拓撲結(jié)構(gòu)互連片上IP核[1],。各IP核間有多條鏈路可以進行并行通信,,由FIFO跨接處于異步時鐘域中的IP核,實現(xiàn)全局異部局部同步時鐘系統(tǒng),。具有可擴展性好,、低互連功耗和低延遲等特點。
然而目前NoC還處于研究階段,,國內(nèi)許多科研機構(gòu)和院校圍繞著網(wǎng)絡拓撲結(jié)構(gòu),、映射算法、路由算法,、測試方法,、路由節(jié)點的設計等展開研究[2]。各種基礎理論的驗證通常依賴于軟件建模和硬件仿真,。但針對NoC具體的應用系統(tǒng)少有報道,。本文闡述了一個小型NoC系統(tǒng)的硬件實現(xiàn),對系統(tǒng)的硬件實現(xiàn)方案,、通信接口及信號完整性等問題進行了細致地研究,。通過對完整系統(tǒng)的設計與實現(xiàn),探索了NoC系統(tǒng)應用過程中的關鍵技術與難點,,同時驗證了NoC相關理論算法與結(jié)構(gòu),、路由節(jié)點的設計和FPGA的多核技術等。
1 硬件平臺的設計
NoC應用的最終目標是將大型的多核系統(tǒng)設計到單芯片中,,使得片內(nèi)可以容納大量處理器核,、專用IP核,、存儲器、數(shù)據(jù)通信單元等,。然而這類龐大的系統(tǒng)在流片之前都需要合適的硬件平臺來進行仿真,、驗證工作。另外某些場合的NoC系統(tǒng)更可能會直接選擇使用FPGA作為其最終的硬件實現(xiàn)方案,。因此基于FPGA的NoC應用系統(tǒng)設計具有實用性,。考慮到FPGA的資源限制與NoC系統(tǒng)特點,,針對3×3 的2D Mesh結(jié)構(gòu)設計了基于FPGA的NoC應用系統(tǒng)框架,,如圖1所示。
圖1 NoC平臺的FPGA系統(tǒng)結(jié)構(gòu)圖
圖中NoC系統(tǒng)包含9個資源節(jié)點,,分為3行3列排列,,每個資源節(jié)點有一個相鄰的路由節(jié)點R與其相連。9個路由節(jié)點按規(guī)則的二維網(wǎng)狀排列,,由并行互連線連接構(gòu)成通信網(wǎng)絡,。資源節(jié)點包括資源網(wǎng)絡接口SNI(Source Network Interface)、片內(nèi)存儲器M和IP核等,。其中IP核可以是處理器核NIOS,、專用IP核、DSP核,,也可以是用戶設計的專用電路,,而處理器核運行所需的存儲任務在驗證過程中由片外存儲器SDRAM和Flash實現(xiàn);通信網(wǎng)絡包括路由節(jié)點R和并行互連線,,路由節(jié)點實現(xiàn)與本節(jié)點相連的資源節(jié)點的數(shù)據(jù)收發(fā)和相鄰路由節(jié)點的數(shù)據(jù)轉(zhuǎn)發(fā)功能,。互連線構(gòu)成路由節(jié)點間信息傳輸?shù)妮d體,,F(xiàn)PGA內(nèi)部大量的可編程互連線可以保障路由節(jié)點間足夠的通信帶寬,。
1.1 NoC系統(tǒng)設計
NoC系統(tǒng)中資源節(jié)點使用的IP核、路由節(jié)點所需的FIFO緩沖器以及大量的互連線, 對平臺的核心器件FPGA提出了嚴峻的挑戰(zhàn),。以目前最先進的FPGA來構(gòu)建大型的NoC系統(tǒng)仍顯不足,,解決的方法通常由多片F(xiàn)PGA組合實現(xiàn)系統(tǒng)功能??紤]到本平臺主要由一個小型應用系統(tǒng)的實現(xiàn),,以及算法和路由的驗證等組成,采用了單片大容量器件構(gòu)成獨立的系統(tǒng)平臺,,并設計了擴展接口,,可進行多片組合實現(xiàn)更大的應用系統(tǒng)。
目前,大容量可編程器件的供應商主要有Xilinx公司,、Altera公司和Actel公司,。各大供應商都提供了大容量與高速度的產(chǎn)品、完善的開發(fā)工具支持和常用IP核,。綜合應用的速度,、軟核的開放性、器件的定購周期與性價比,,最終選定了Altera公司Cyclone IV 系列的EP4CE115F29芯片,。該器件具有115 KLE,432 個M9K存儲塊,,4個鎖相環(huán),20個全局同步時鐘網(wǎng)絡,,780腳的BGA封裝內(nèi)提供528個用戶I/O端口[3]。
處理器核是多核系統(tǒng)中應用功能實現(xiàn)的常用部件,。作為一款32位RISC處理器,,Altera提供的軟核NIOS II在僅占用3 KLE的情況下提供超過200 DMIPS的性能,并提供了豐富的外設接口IP和高性能的AVLEN總線,。開發(fā)工具SoPC Builder軟件支持單芯片內(nèi)多個獨立NIOS核的定制,,同時NIOS II IDE軟件提供了多核的程序開發(fā)與調(diào)試環(huán)境。因此NIOS II可以作為NoC應用系統(tǒng)中的軟核處理器,。
路由節(jié)點負責NoC的通信工作,,其通信帶寬與可靠性直接影響著系統(tǒng)的性能。許多研究人員深入研究了路由節(jié)點的設計,,并針對多種應用設計進行了優(yōu)化[4],。這類優(yōu)化大多圍繞著提高通信吞吐量、減少通信延遲,,解決擁塞等問題,。路由的改進給節(jié)點的RTL綜合提出了新的要求。例如一個緩沖式快速蟲孔交換路由節(jié)點,,片內(nèi)設計有10個以上獨立的32×16 FIFO,,然而許多的小FIFO在綜合時都會各自占用一個包含32×256 的M9K單元。造成內(nèi)部存儲單元的使用效率低下,、資源緊缺的問題,。另外由于片上網(wǎng)絡全局異步時鐘的特點,現(xiàn)代FPGA越來越豐富的全局時鐘樹網(wǎng)絡顯得多余而浪費,。器件供應商們?nèi)绻茉贔PGA的設計過程中引入對這些問題的解決方案,,必然會極大地推動未來NoC應用系統(tǒng)的FPGA實現(xiàn)。
1.2 基于ARM的資源網(wǎng)絡節(jié)點設計
ARM(Advanced RISC Machines)系列處理器因其高性能,、低功耗,、開放性好等優(yōu)點,在許多領域廣泛應用,。長期的應用開發(fā)形成了許多相關的軟硬件資源,。例如三星公司的S3C24XX系列處理器,,不僅提供了豐富的外設接口,移植了成熟的ARM-Linux,,更可以提供完整的TCP/IP協(xié)議支持和相當豐富的外設驅(qū)動,,加速了應用的開發(fā)速度。NoC系統(tǒng)如能將片外的ARM處理器作為片上多核系統(tǒng)中的片外資源節(jié)點,,充分利用現(xiàn)有軟硬件資源,,將給NoC系統(tǒng)帶來巨大的應用空間。片外硬核與NoC系統(tǒng)的信息交換,,即ARM同路由節(jié)點的通信由專用資源網(wǎng)絡接口SNI完成,。針對ARM 處理器AHB總線時序,設計了基于DMA通信的SNI單元,,如圖2所示,。圖中ARM的數(shù)據(jù)總線為雙向數(shù)據(jù)總線,需要通過SNIC(Source NetworkInterface Controller)的控制實現(xiàn)分時復用,。數(shù)據(jù)傳輸由SNIC發(fā)起,,經(jīng)過nXDREQ向DMAC發(fā)送請求信號,DMAC在獲得總路控制權(quán)后發(fā)出nXDACK信號[5],。隨后AHB總線將產(chǎn)生源和目的地址的讀寫信號進行數(shù)據(jù)傳送,,最終完成一次DMA傳輸。
圖2 ARM通信接口結(jié)構(gòu)圖
1.3 外圍電路及電源設計
系統(tǒng)為實現(xiàn)各類功能驗證提供了大量的外圍電路,,包括多套NIOS軟核運行所需的存儲器,、雙通道高速模擬信號輸入與輸出單元、攝像頭模組接口,、VGA視頻輸出單元,、10 M/100 M以太網(wǎng)接口單元和音頻接口單元。
電壓要求的多樣化需要多組的電源設計,,其中FPGA由1.2 V核心電壓,、3.3 V與2.5 V I/O Buffer電壓、2.5 V模擬PLL電壓以及1.2 V數(shù)字PLL電壓組成,。模擬PLL電壓需選用線性整流降壓得到,,以獲得低紋波輸出的穩(wěn)定電壓源;其他數(shù)字部分電源適合采用開關型整流器電路供應,。例如TI的TPS54550器件,具有輸出電流大,、效率高、外圍器件少等優(yōu)點,。值得一提的是,CYCLONE IV 內(nèi)部具有電壓檢測與電源管理功能,,沒有上電順序要求,簡化了電源的設計,。
2 信號完整性分析
大量高速器件的采用,、FPGA的高密度封裝,、敏感的A/D和D/A轉(zhuǎn)換芯片和許多開關整流器的噪聲,這些都決定著需要對信號完整性分析予以足夠的重視。設計過程中對疊層,、電源隔離,、地線處理做了細致的工作。采用Cyclone片內(nèi)端接OCT(On-Chip Termination)的源端端接方案,,并通過精心的布局布線,有效地克服了各種信號干擾,。最后使用SigXplorer 軟件提取PCB模型對信號的反射和串擾進行仿真,,驗證了系統(tǒng)的信號完整性設計。
2.1 疊層設計
疊層設計涉及電源與信號層的規(guī)劃,、走線的密度與層數(shù)的折衷等問題,。本系統(tǒng)中29×29的BGA780封裝的扇出是決定信號層層數(shù)的重要因素,假設1 mm球間距間扇出一根導線,,在沒有考慮頂層扇出限制和扇出線物理連接限制的情況下,,可以計算出528個用戶I/O端口加上少量配置線至少需要5個信號層,加上電源層后的總層數(shù)將達到8~12層,,導致層數(shù)過大,。結(jié)合加工工藝和串擾分析等情況,在允許的范圍內(nèi)盡可能降低層數(shù)的原則,最終確定間距39.37 mils扇出2根導線,, 其中包括14 mils 的扇出過孔,、5 mils的線寬和扇出線間距。采用信號1-電源-信號2-信號3-地-信號4的層疊方案,。信號線線寬為5mils時的特征阻抗控制為50 ?贅,。
2.2 阻抗匹配設計與仿真
輸出緩沖的源端內(nèi)阻、高速系統(tǒng)中傳輸線的特征阻抗以及輸入緩沖的輸入電阻間的差距帶來了信號傳輸過程中的反射,。當輸出門的信號在傳輸介質(zhì)上往返時間大于信號最小邊沿時間時,,電路需采取端接來實現(xiàn)阻抗匹配,端接可采用末端并接電阻或源端串接電阻等方式,。
末端端接將電阻放置于接收器端一側(cè),,驅(qū)動波形沿傳輸線以滿幅度傳播,到達末端時由端接電阻吸收,,接收電壓等于傳輸電壓,。末端端接具有上升時間快的優(yōu)點,但對輸出門的驅(qū)動電流有一定的要求,,這也帶來了較大的功率消耗,。
源端端接采取控制輸出端的反射系數(shù)的方法。通過在源端串接一個電阻,,使得串接電阻加上源端緩沖器的內(nèi)阻接近傳輸線的特征阻抗,。Cyclone IV系列產(chǎn)品均設計了OCT功能,,可以選擇使用片內(nèi)串接電阻。使用SigXplorer軟件首先提取PCB上AD9765數(shù)據(jù)線的傳輸線模型,,然后與Altera提供的TTL 2.5 V串接50 ?贅電阻的IBIS模型進行125 MHz信號的反射仿真,,仿真結(jié)果如圖3所示。源端信號波形的幅度由于端接電阻的分壓,,在傳輸介質(zhì)上的初始信號幅度降至滿幅度信號的1/2,,這1/2幅度的信號大約經(jīng)過1 ns后到達末端。由于末端數(shù)字電路輸入阻抗非常大,,反射系數(shù)接近+1,,從而得到1/2幅度的反射信號,與原1/2幅度信號疊加后在末端得到完整幅度的信號。反射信號再經(jīng)過1 ns延遲后回到源端,,被源端端接衰減,,此類端接具有靜態(tài)功率小等優(yōu)點。
圖3 TTL 2.5 V 串接50 Ω電阻模型仿真圖
同時對未串接50 Ω電阻的TTL 2.5 V 模型進行了仿真,,其它仿真參數(shù)均不變的情況下,,發(fā)現(xiàn)電路末端信號具有明顯過沖現(xiàn)象,如圖4所示,。因而Cyclone IV的OCT技術是簡化高速線路PCB板設計,、提高信號完整性最簡便實用的途徑。實驗表明,,測量結(jié)果與仿真波形接近,,AD9765在最高理論速度125 MHz下工作穩(wěn)定。
圖4 TTL 2.5 V 未串接50 Ω電阻模型仿真圖
2.3 串擾仿真
互感,、互容使得相鄰傳輸線間信號相互耦合從而形成串擾,,傳輸線的間距是其中最關鍵的因素。本系統(tǒng)中大多數(shù)走線間距為15 mils,,無需擔心串擾問題,,而BGA的扇出采用的是5 mils的間距, 并且存在許多長度在1 000 mils以上的平行線,串擾的仿真與降低串擾的影響成為設計過程中不可缺少的一個環(huán)節(jié),。采用SigXplorer對相鄰BGA扇出微帶線的模型進行了仿真,結(jié)果如圖5所示,。干擾源是125 MHz的時鐘信號,被干擾線路為相距干擾線路5 mils的弱下拉平行微帶線,??梢娫诒粩_線路的源端和末端產(chǎn)生了接近200 mV的串擾,屬于電路正常工作可以接受的范圍,。
設計了基于FPGA的NoC系統(tǒng)硬件平臺,,在此基礎上完成了一個小型的片上網(wǎng)絡系統(tǒng)。設計過程中充分考慮了片上網(wǎng)絡系統(tǒng)的應用特點,針對典型3×3的2D Mesh結(jié)構(gòu)進行設計,。實踐表明,,系統(tǒng)達到了設計要求,可以滿足NoC系統(tǒng)的硬件要求,,同時系統(tǒng)也將作為后續(xù)NoC映射,、路由及測試算法的驗證與仿真平臺。
圖5 串擾信號仿真圖
NoC仍然有著廣闊的研究空間,,許多新的結(jié)構(gòu)或算法將會不斷涌現(xiàn),,以及更復雜應用系統(tǒng)的驗證需求對硬件平臺會有更高的要求。本文對平臺設計中一些重要的問題進行了探討,, 對于后續(xù)相關硬件平臺的開發(fā)及FPGA應用系統(tǒng)的設計具有一定的借鑒意義,。
參考文獻
[1] AXEL J,HANNU T. 網(wǎng)絡化芯片[M]. 王忠,,孫繼銀,等譯.西安:西安交通大學出版社,,2007.
[2] 周干民.基于通訊的NoC 設計[J].微電子學與計算機,,2006,23(4):11-14.
[3] Altera Inc. Cyclone IV device handbook[Z]. http://www.altera.com,2010.2
[4] 蔡志翔,,沈海斌.片上網(wǎng)絡的一種共享緩存的多路徑路由方法[J].機電工程,,2010,6(6):96-99.
[5] Samsung. S3C2440 32-Bit Microcontroller User′s ManualZ].http://www.samsung.com,2004.12.