NoC邊界掃描測試系統(tǒng)硬件設(shè)計
全釗鋒
(桂林電子科技大學(xué) 電子工程與自動化學(xué)院,廣西 桂林541004)
摘要為了解決內(nèi)部結(jié)構(gòu)日益復(fù)雜的片上網(wǎng)絡(luò)系統(tǒng)故障測試的問題,在研究3×3 2D-Mesh體系結(jié)構(gòu)的NoC系統(tǒng)、邊界掃描測試技術(shù)和資源節(jié)點(diǎn)故障類型的基礎(chǔ)上,以FPGA為核心器件設(shè)計邊界掃描測試系統(tǒng)。完成了數(shù)據(jù)采集、頻率計、放大器、SRAM、IEEE1500 Wrapper等資源節(jié)點(diǎn)電路以及資源節(jié)點(diǎn)邊界掃描鏈路的接口電路設(shè)計,并利用測試軟件、信號發(fā)生器、萬用表和數(shù)字示波器,通過邊界掃描鏈路完成對整個硬件設(shè)計的測試。測試結(jié)果表明該設(shè)計性能穩(wěn)定,為研究NoC系統(tǒng)的邊界掃描測試技術(shù)提供了硬件平臺。
關(guān)鍵詞片上網(wǎng)絡(luò);FPGA;邊界掃描;硬件平臺
收稿日期:2015-03-09
作者簡介:全釗鋒(1987—),男,碩士研究生。研究方向:集成電路設(shè)計。E-mail:602345825@qq.com
doi:10.16180/j.cnki.issn1007-7820.2015.09.017
中圖分類號TN47
Hardware Design of NoC Boundary Scan Test System
QUAN Zhaofeng
(School of Electronic Engineering and Automatic,Guilin University of Electronic Technology,Guilin 541004,China)
AbstractA boundary scan test system is designed with FPGA as the core for fault testing of complex network on chip systems based on 3×3 2D-Mesh structure of NoC system,the boundary scan test technology and the resource node fault types.The frequency meter,amplifier,SRAM,IEEE1500 Wrapper and the boundary scanning chains of resource nodes interface are implemented.The test software,signal generator,AVO meter,digital oscilloscope are used to checkout the whole hardware design through boundary chain.The test results show that the design offers stable performance and provides a hardware platform of boundary scan test in the research of NoC systems.
Keywordsnetwork on chip;FPGA;boundary scan;hardware platform
片上網(wǎng)絡(luò)(Network-on-Chip,NoC)是專門用于芯片內(nèi)部互連的通信網(wǎng)絡(luò),它借鑒了計算機(jī)網(wǎng)絡(luò)中分組交換的通信方法,可以根據(jù)應(yīng)用靈活地采用多種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)互連片上系統(tǒng)或者IP核[1]。隨著集成技術(shù)的發(fā)展,越來越高的集成芯片密集程度使得外部可接觸的測試引腳越來越少,NoC測試的難度越來越大,甚至測試的成本比設(shè)計系統(tǒng)本身還高。
NoC系統(tǒng)的測試可以分為IP核測試和NoC通信框架的測試,后者則又可以分為路由器和鏈路的測試[2]。目前在NoC測試方面已經(jīng)開展了很多研究:文獻(xiàn)[2]提出復(fù)用NoC傳輸測試數(shù)據(jù)的并行內(nèi)建自(Build-In Self Test,BIST)測試結(jié)構(gòu),使用路由設(shè)置分組實現(xiàn)路由工作模式和測試模式之間的切換并對路由表進(jìn)行設(shè)置,給被測的FIFOs提供了可靠的測試數(shù)據(jù)傳輸服務(wù);文獻(xiàn)[3]在NoC結(jié)構(gòu)下采用異構(gòu)IP核的并行測試方法,在測試數(shù)據(jù)傳輸?shù)牟⑿行院蜏y試應(yīng)用的并行性兩方面提高NoC測試效率;文獻(xiàn)[4]提出基于BIST測試的方法測試NoC路由器內(nèi)部交換開關(guān)的互連線串?dāng)_故障;文獻(xiàn)[5]在不影響FPGA應(yīng)用區(qū)域的前提下,研究NoC的硬連線作為訪問機(jī)制的在線測試方法,并對此進(jìn)行了相關(guān)的實驗。利用BIST方法測試NoC居多,而應(yīng)用邊界掃描(Boundary Scan)技術(shù)測試NoC系統(tǒng)的頗少。邊界掃描的主要思想是將邊界掃描結(jié)構(gòu)置于器件的每個管腳與內(nèi)部邏輯之間,通過這些邊界掃描單元來控制和觀測輸入輸出管腳的信號值[6]。
為檢測NoC系統(tǒng)中資源節(jié)點(diǎn)和通信架構(gòu)的故障,本系統(tǒng)設(shè)計基于FPGA的NoC邊界掃描測試硬件系統(tǒng),針對3×3的2D-Mesh網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)完成數(shù)據(jù)采集、頻率計、放大器、SRAM、IEEE1500 Wrapper等資源節(jié)點(diǎn)電路設(shè)計,并且添加邊界掃描單元設(shè)計NoC邊界掃描鏈路,為研究和實現(xiàn)NoC邊講解掃描技術(shù)提供了硬件平臺。
1NoC系統(tǒng)
NoC系統(tǒng)由兩種基本單元組成:負(fù)責(zé)處理的資源節(jié)點(diǎn)和負(fù)責(zé)通信的路由節(jié)點(diǎn)[7]。圖3是NoC系統(tǒng)規(guī)則的3×3 2D-Mesh拓?fù)浣Y(jié)構(gòu),該結(jié)構(gòu)中主要由9個路由節(jié)點(diǎn),9個資源節(jié)點(diǎn),9個資源網(wǎng)絡(luò)接口以及若干網(wǎng)絡(luò)傳輸線組成。可見,路由節(jié)點(diǎn)不但通過資源網(wǎng)絡(luò)接口與資源節(jié)點(diǎn)相連,而且還和與之相連的4個路由節(jié)點(diǎn)相連。本文以FPGA為載體,利用Verilog語言設(shè)計路由節(jié)點(diǎn),通過例化迅速構(gòu)造該拓?fù)浣Y(jié)構(gòu)的路由節(jié)點(diǎn),而且FPGA的可再編程使得改變結(jié)構(gòu)較為簡單,對于不便在FPGA內(nèi)部設(shè)計的資源節(jié)點(diǎn),FPGA豐富的I/O資源可滿足設(shè)計要求。NoC系統(tǒng)故障主要出現(xiàn)在通信架構(gòu)和資源節(jié)點(diǎn)兩方面。通信架構(gòu)故障主要包括鏈路和路由節(jié)點(diǎn)等方面的故障。鏈路故障主要有固定性故障(SAF)、橋接故障等類型[8]。
圖1 基于2D-Mesh的3×3 NoC系統(tǒng)結(jié)構(gòu)模型
2NoC邊界掃描測試系統(tǒng)電路設(shè)計
由于NoC邊界掃描測試系統(tǒng)電路是在NoC系統(tǒng)硬件的基礎(chǔ)上添加邊界掃描鏈設(shè)計而成的,因此首先需要設(shè)計NoC系統(tǒng)的硬件電路。如圖2所示,NoC系統(tǒng)的硬件結(jié)構(gòu)主要包括核心器件FPGA和9個資源節(jié)點(diǎn)電路。核心器件選用EP4CE115F29C7型號的FPGA,該器件具有115KLE,432個M9K存儲塊,4個鎖相環(huán),20個全局同步時鐘網(wǎng)絡(luò),780管腳的BGA封裝內(nèi)提供528個用戶I/O端口;9個資源節(jié)點(diǎn)電路設(shè)計如下:(1)SRAM資源節(jié)點(diǎn)。(2)數(shù)字I/O資源節(jié)點(diǎn)。(3)頻率計資源節(jié)點(diǎn)。(4)8通道數(shù)據(jù)采集卡。(5)小信號模擬放大器資源節(jié)點(diǎn)。(6)全加器資源節(jié)點(diǎn)。(7)設(shè)計通信口資源節(jié)點(diǎn)。(8)支持IEEE1500測試標(biāo)準(zhǔn)的IP核。(9)以內(nèi)嵌有1149.1標(biāo)準(zhǔn)的邊界掃描單元的8路D觸發(fā)器電路資源節(jié)點(diǎn)。
圖2 NoC硬件結(jié)構(gòu)
邊界掃描硬件單元主要由測試存取通道、TAP控制器、指令寄存器(IR)和測試數(shù)據(jù)寄存器(TDR)4部分組成[9]。測試數(shù)據(jù)輸入(TDI)、測試數(shù)據(jù)輸出(TDO)、測試方式選擇端(TMS)、測試時鐘(TCK)和復(fù)位信號(TRST)允許外部訪問。圖3是在NoC體系的結(jié)構(gòu)中為路由節(jié)點(diǎn)和資源節(jié)點(diǎn)添加邊界掃描單元構(gòu)成的TDI和TDO鏈路。
圖3 NoC系統(tǒng)的TDI和TDO鏈路
其中,每個路由節(jié)點(diǎn)和資源節(jié)點(diǎn)均具有被外部訪問的TDI、TDO、TMS、TCK和TRST信號端口,通過具有串行級聯(lián)、配置靈活、電路簡單等特點(diǎn)的菊花鏈結(jié)構(gòu)將資源節(jié)點(diǎn)和路由節(jié)點(diǎn)的TDI和TDO,以TDI→TDO→TDI…的方式串聯(lián)成NoC系統(tǒng)的邊界掃描鏈路。所有的TMS、TCK和TRST信號端口連接在一起,并且利用Verilog HDL語言描述的TAP控制器、指令寄存器和測試數(shù)據(jù)寄存器實現(xiàn)整個NoC系統(tǒng)的邊界掃描測試。
3放大器資源節(jié)點(diǎn)設(shè)計
由于其他的資源節(jié)點(diǎn)功能電路較為簡單,其接口設(shè)計與本節(jié)設(shè)計的接口電路設(shè)計大致相同,本文主要以放大器資源節(jié)點(diǎn)為例介紹資源節(jié)點(diǎn)電路設(shè)計和接口電路設(shè)計。
本文以放大器芯片為核心實現(xiàn)放大器資源節(jié)點(diǎn)硬件設(shè)計。電路圖如圖4所示,主要包括前端處理和放大部分。前端處理部分采用π型網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計75 Ω的阻抗匹配電路使得獲取輸入信號的功率最大化,選用高增益、低功耗、低噪聲的AD8056放大芯片設(shè)計濾波器,切除信號干擾噪聲獲取干凈無毛刺的波形信號;放大部分是選用低噪聲放大芯片AD8056設(shè)計理論值為11倍的模擬小信號放大器。
圖4中,TES0、TEST1、TEST2為放大器資源節(jié)點(diǎn)測試端口,用于獲取端口信息,判斷該資源節(jié)點(diǎn)故障及分析故障點(diǎn)位置。
圖4 放大器電路
邊界掃描測試系統(tǒng)運(yùn)用菊花鏈結(jié)構(gòu)串聯(lián)路由節(jié)點(diǎn)和資源節(jié)點(diǎn)間的TDI和TDO鏈路。當(dāng)測試矢量從TDI鏈路到資源節(jié)點(diǎn)或測試響應(yīng)從資源節(jié)點(diǎn)到TDO鏈路時,需接口電路對資源節(jié)點(diǎn)的測試矢量和測試響應(yīng)處理。
放大器資源節(jié)點(diǎn)以測試端口為對象設(shè)計接口電路,由放大器TES0、TEST1、TEST2測試端口分析,TES0、TEST1、TEST2的信號屬性是模擬量。
綜上分析,得出放大器資源節(jié)點(diǎn)接口電路框圖,如圖5所示。圖中主要分為兩大部分:A/D模塊和控制處理模塊(FPGA內(nèi)部Verilog HDL語言描述)。其中,TES0、TEST1、TEST2測試端口與A/D模塊的3個輸入通道相連??刂铺幚砟K執(zhí)行TDI掃描鏈傳輸?shù)臏y試命令;控制啟動A/D模塊采集通道模擬量和電平轉(zhuǎn)換,得出的測試響應(yīng)通過TDO掃描鏈路移位輸出,完成一次邊界掃描技術(shù)對放大器資源節(jié)點(diǎn)端口的測試。最后,分析、處理測試矢量和測試響應(yīng),以判斷放大器資源節(jié)點(diǎn)故障及分析故障點(diǎn)位置。
圖5 接口電路框圖
4電氣分析與電路板設(shè)計
信號層、電源層、地層的規(guī)劃、走線寬度與密度直接影響電路板設(shè)計的層數(shù)及整個系統(tǒng)的穩(wěn)定性。由于FPGA的型號器件具有528個用戶I/O口,且封裝是29×29型號的BGA,通過計算,如果線寬和安全距離均>5 mil(1 mil=0.025 4 mm),則要將所有I/O口以及配置管腳扇出,至少需要總層數(shù)為8層。考慮現(xiàn)有工藝、干擾和性價比等問題,以PCB層數(shù)為6進(jìn)行設(shè)計??傮w的疊層方案是:信號1→地層2→信號3→電源4→地層5→信號6,如圖6所示。兩地層將信號層與電源層隔開,以減少干擾。
圖6 疊層分布
整個系統(tǒng)電壓需求為1.2 V、2.5 V、3.3 V、+5 V和-5 V。本設(shè)計的輸入電源電壓是+5 V和-5 V,需要設(shè)計1.2 V、2.5 V、3.3 V的穩(wěn)壓電源模塊。以低損耗、線性高的穩(wěn)壓芯片為核心,采用濾波網(wǎng)絡(luò)電路,設(shè)計紋波電壓小、精確度高的電源模塊。
采用1.2 V、2.5 V、3.3 V的穩(wěn)壓集成芯片型號依次為SPX3819、AMS11117-3.3、LP38692MP-ADJ。為了給FPGA輸送紋波電壓小的電源,在靠近FPGA電源輸入端增加電感、電容和0 Ω電阻組成的低通濾波網(wǎng)絡(luò)電路,保障電源的電壓紋波系數(shù)在FGPA可接受的范圍內(nèi)。同時為了盡量減少同一個電源電壓給FPGA不同電壓組之間供電產(chǎn)生的影響,在FPGA不同電壓組之間增加的電阻隔離。表1是分別使用Agilent六位半萬用表、泰克數(shù)字示波器對電路板實際工作電壓的電壓和紋波測量的結(jié)果,實測電壓的有效位只保留3位,其中Δ%=(理論電壓-實測電壓)/理論電壓。測量結(jié)果表明電源模塊的電壓紋波小、精度高。
表1 電源模塊參數(shù)
5結(jié)果與分析
本文以FPGA為核心器件設(shè)計了9個資源節(jié)點(diǎn)電路的NoC邊界掃描測試系統(tǒng),使用Agilent六位半萬用表和泰克的數(shù)字示波器對整個硬件功能進(jìn)行測試。測試組成結(jié)構(gòu)包括測試軟件、信號發(fā)生器、示波器和萬用表,如圖7所示。
圖7 測試組成結(jié)構(gòu)
測試結(jié)果表明,所有的資源節(jié)點(diǎn)電路和邊界掃描鏈路功能正常,在設(shè)置故障的情況下,利用邊界掃描技術(shù)將故障診斷出來。本文以放大器資源節(jié)點(diǎn)為例闡述具體的測試結(jié)果。
圖8在沒有設(shè)置故障的情況下輸入正弦波幅值為100 mV頻率為1 kHz的放大器源節(jié)點(diǎn)輸入波形。
圖8 模擬放大器資源節(jié)點(diǎn)輸入波形
圖9在沒有設(shè)置故障的情況下,輸入正弦波幅值為100 mV,頻率為1 kHz的放大器源節(jié)點(diǎn)響應(yīng)波形。
圖9 模擬放大器資源節(jié)點(diǎn)輸出波形
經(jīng)測量響應(yīng)波形的電壓幅值是1.05 V,輸入波形電壓幅值為1.00 V,計算電壓實際放大倍數(shù)為Av=10.5。結(jié)果表明模擬放大器在信號波形無明顯失真的情況下正常工作。
在設(shè)置放大器資源節(jié)點(diǎn)故障時,100 mV頻率為1 kHz或者2 kHz的放大器源節(jié)點(diǎn)響應(yīng)的波形不是設(shè)計所需要的波形。表2是針對發(fā)生故障時選擇60 mV標(biāo)準(zhǔn)直流電壓輸入,利用邊界掃描技術(shù)檢測放大器TEST0、TEST1、TEST2的端口電壓。由端口測試數(shù)據(jù)可知放大器資源節(jié)點(diǎn)電路中放大電路的短路和開路故障。
表2 獲取的測試端口電壓
對所有資源節(jié)點(diǎn)的測試表明,NoC邊界掃描測試系統(tǒng)硬件設(shè)計的各模塊功能正常,可準(zhǔn)確地找到故障點(diǎn),達(dá)到預(yù)期的設(shè)計效果。
6結(jié)束語
本文以FPGA為核心器件實現(xiàn)了2D-Mesh網(wǎng)絡(luò)結(jié)構(gòu)的NoC邊界掃描測試系統(tǒng)的電路設(shè)計。該設(shè)計在具有通用性好和性價比高的情況下,利用較少的管腳實現(xiàn)故障診斷和定位,為研究NoC系統(tǒng)的邊界掃描技術(shù)提供了良好的硬件平臺。
參考文獻(xiàn)
[1]許川佩,唐海,胡聰.基于FPGA的NoC硬件系統(tǒng)設(shè)計[J].電子技術(shù)應(yīng)用,2012,38(2):118-123.
[2]趙建武,師奕兵,王志剛.片上網(wǎng)絡(luò)FIFOs的內(nèi)自建測試方法研究[J].儀器儀表學(xué)報,2009,30(8):1768-1772.
[3]歐陽一鳴,賀超,梁華國.NoC架構(gòu)下異構(gòu)IP核的并行測試方法[J].電子學(xué)報,2013,41(12):2391-2396.
[4]Reza N P,Nafiseh M.A fully parallel BIST-based method to test the crosstalk defects on the inter-switch links in NoC [J].Microelectronics Journal,2013,44(3):248-257.
[5]Muhammad A W,Kees G.TeMNOT:A test methodology for the non-instrusive online testing of FPGA with hardwired network on chip [J].Microprocessors and Microsystems,2012,37(2):129-146.
[6]陳壽宏,顏學(xué)龍,黃新.基于網(wǎng)絡(luò)的混合信號邊界掃描測試系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機(jī)測量與控制,2012,20(5):1168-1182.
[7]李惠民,沈海斌.不規(guī)則Mesh NoC上基于路由表的路由[J].計算機(jī)工程,2013,39(10):279-286.
[8]許川佩,任智新.基于FPGA的NoC路由節(jié)點(diǎn)的設(shè)計[J].微電子學(xué)與計算機(jī),2012,29(8):53-57.
[9]李鑫,劉偉.支持邊界掃描測試的電路設(shè)計[J].無線電通訊技術(shù),2009,35(6):41-44.