文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.12.020
中文引用格式: 談俊燕,華迪,Virginie Fresse,等. 用于油畫鑒別的自適應(yīng)MPSoC中NoC仿真平臺研究[J].電子技術(shù)應(yīng)用,2016,42(12):76-80.
英文引用格式: Tan Junyan,Hua Di,Virginie Fress,et al. Emulation platform dedicated to adaptive MPSoC-based NoC architecture for the art authentication application[J].Application of Electronic Technique,2016,42(12):76-80.
0 引言
多光譜成像技術(shù)是一項針對光譜圖像處理而開發(fā)的技術(shù)。專用的圖像采集設(shè)備可以采集到相比于人類視覺更多的頻率下的圖像,多光譜成像算法提取人類眼睛在紅、藍、綠色可見光譜中不能采集的附加信息。光譜成像技術(shù)應(yīng)用廣泛,通常用于檢測、鑒定、衛(wèi)星觀測以及醫(yī)學(xué)檢查中[1-3]。這類應(yīng)用常要求系統(tǒng)有較大的計算資源用于處理復(fù)雜的圖像處理算法,并且隨著用戶對實時性和集成度要求的提高,這類應(yīng)用通常定位為實時的嵌入式應(yīng)用。而現(xiàn)有的系統(tǒng)實現(xiàn)平臺已經(jīng)無法滿足系統(tǒng)所要求的性能。
基于FPGA平臺的片上網(wǎng)絡(luò)(Network on Chip,NoC)作為通信架構(gòu)的片上系統(tǒng)(System on Chip,SoC),被認為是應(yīng)用于多譜或者超譜的實時圖像處理及其他高性能的圖像處理最合適的解決方案之一[4]。FPGA能以較少的資源實現(xiàn)高速的性能,處理大規(guī)模的復(fù)雜的操作。片上網(wǎng)絡(luò)NoC以其自身特有的性能,成為了SoC的可擴展通信架構(gòu)設(shè)計的一個可行性的選擇。一個NoC能在低功耗、低復(fù)雜度的前提下,為通信架構(gòu)的設(shè)計提供更多的帶寬和更強的可擴展性能[4,5]。而NoC的設(shè)計意味著對不同架構(gòu)的選擇,包括緩沖區(qū)的大小、流量控制的策略以及拓撲的選擇。在NoC的設(shè)計過程中,這些結(jié)構(gòu)的選擇必須滿足目標用途的要求,例如延遲、功耗以及測試時間等關(guān)鍵約束條件及需求。另外,設(shè)計空間的寬度、設(shè)計流程的自動化都必須在設(shè)計過程中考慮到,從而確保對每種設(shè)計方案的快速評估和測試。
針對上文中提到的設(shè)計中需要考慮的相關(guān)約束,本文提出了一種基于FPGA的仿真平臺,用于開發(fā)和評估基于NoC通信架構(gòu)的多核片上系統(tǒng)(Multi-Processors- System-on-Chip,MPSoC)。仿真平臺包括了NoC架構(gòu)、可參數(shù)化的流量生成模塊和流量接收模塊,用于評估圖像處理應(yīng)用所需要的通信設(shè)計。仿真平臺的生成和執(zhí)行的可靠性高,實驗的時間短。設(shè)計者指定采用的算法,在FPGA平臺上仿真通信結(jié)構(gòu),從而獲得準確的時間和性能的實時評估。
1 基于多譜的油畫鑒別算法
多譜成像技術(shù)可以比人眼捕獲更多頻率的光。目前,光譜成像技術(shù)有著廣泛的應(yīng)用,航天、探測、鑒別等領(lǐng)域較為廣泛地采用該成像技術(shù)[1,2]。本文采用的多譜成像技術(shù)油畫鑒別算法主要通過對原始圖像和鑒別圖像之間的比較來實現(xiàn)。
鑒別算法的流程如圖1所示,OI表示原始圖像,CI表示需鑒別的圖像。
首先,采用多光譜照相機采集圖像上每個像素的光譜值作為原始數(shù)據(jù)。從OI和CI中提取圖像的幾個顯著區(qū)域,并計算這些區(qū)域的平均色值。根據(jù)實驗的需要,本文所有實驗均采用32×32像素的窗口尺寸。通過色彩投影將色平均值轉(zhuǎn)換成顏色空間值,OI和CI將分別進行色彩投影。投影后的色彩圖像將在鑒別算法中進行比較處理。顏色距離是指OI和CI之間具有的基本的中性幾何距離。目前所存在的顏色距離都可以被鑒別算法采用?;诙嘧V技術(shù)的鑒別算法采用光譜算法來計算CI的光譜圖像數(shù)據(jù)與OI的光譜圖像數(shù)據(jù)之間的多譜距離。在鑒別過程中,某些算法要求高精度的計算,這就意味著設(shè)計的硬件系統(tǒng)能夠處理大量的浮點數(shù)據(jù),實現(xiàn)復(fù)雜的計算功能。
針對油畫鑒別應(yīng)用的通信架構(gòu)是全可參數(shù)化的。設(shè)計者可調(diào)整下述參數(shù):OI和CI的尺寸、平均色值計算的窗口尺寸(或者其他類似的計算)、算法中的公式的數(shù)目和類型、每個公式的數(shù)據(jù)的大小和數(shù)目。執(zhí)行的操作中數(shù)據(jù)可以是不同大小的浮點數(shù)或定點數(shù)(8,16,32或者為64位的數(shù)據(jù))。
2 仿真平臺
通信架構(gòu)的開發(fā)探索是依托于連接著仿真模塊的NoC架構(gòu)進行的。仿真模塊主要包括流量生成模塊和流量接收模塊。下文中將詳細介紹這些模塊的構(gòu)成以及評估標準。
2.1 NoC架構(gòu)
NoC架構(gòu)作為一種新的通信架構(gòu),至今已有十幾年的發(fā)展[6-8]。這類通信架構(gòu)具有高擴展性、高性能、低功耗的優(yōu)點,致力于改善SoC通信系統(tǒng)的靈活性。NoC架構(gòu)的應(yīng)用實現(xiàn)了片上系統(tǒng)千兆級通信的集成。一般情況下,NoC架構(gòu)由幾個基本要素構(gòu)成:網(wǎng)絡(luò)接口(Network Interface,NI)或網(wǎng)絡(luò)適配器(Network Adaptor,NA)、交換機(Switch,S)、鏈接(Link)、處理單元(Resource)。
上述要素組成了NoC架構(gòu)中的網(wǎng)絡(luò)節(jié)點。數(shù)據(jù)以數(shù)據(jù)包的模式在NoC架構(gòu)中傳輸。流量控制單元(Flow control Unit,F(xiàn)lit)是NoC內(nèi)部數(shù)據(jù)傳輸最基本的單元。若干個Flit構(gòu)成構(gòu)成一個數(shù)據(jù)包。若干個數(shù)據(jù)通過一個數(shù)據(jù)包進行傳輸。NoC中的Flit的數(shù)量可以根據(jù)所要傳輸?shù)臄?shù)據(jù)的大小和數(shù)量進行調(diào)整。NoC架構(gòu)支持不同大小的數(shù)據(jù)。
本文實驗采用的NoC為Hermes NoC[7]。該NoC由巴西Rio Grande do Sul天主教大學(xué)研究設(shè)計,采用2D Mesh 交換機的基礎(chǔ)結(jié)構(gòu),針對不同的協(xié)議、Flit的大小、緩沖器的深度以及路由算法在芯片上實現(xiàn)分組交換(packet-switching)網(wǎng)絡(luò)。Hermes NoC的基本結(jié)構(gòu)如圖2所示,主要包含Hermes交換機和IP核。Hermes交換機含有路由控制邏輯和5個雙向端口:East、West、North、South和Local端。Local端用來建立交換機和本地IP核之間的鏈接。其他的端口則被連接到附近的交換機上。所有的端口都具有用于臨時存儲信息的輸入緩沖器。
Hermes NoC采用蟲洞(wormhole)調(diào)度技術(shù),包含了4種路由算法,一個確定性算法(XY算法)和3個部分自適應(yīng)算法, 即West-first、North-last和Negative-first。這4種算法中,XY算法的確定性和最小化的設(shè)計使得該算法最為常用,本文的實驗中也將采用該種算法。
2.2 流量發(fā)生器
對于NoC架構(gòu)的仿真,連接到NoC的IP模塊或其他組件由流量生成模塊,即流量發(fā)生器(Traffic Generator,TG)代替。確定性的流量發(fā)生器被廣泛使用于NoC的仿真評估。流量生成器模擬NoC中IP模塊之間的通信。根據(jù)給定的應(yīng)用,流量生成器產(chǎn)生傳輸?shù)臄?shù)據(jù),并參數(shù)化數(shù)據(jù)的大小、傳輸時間、空閑時間以及傳輸目標模塊,從而與替換的IP模塊的行為和功能相匹配。現(xiàn)有的幾種用于NoC仿真評估的流量發(fā)生器無法用于仿真圖像處理應(yīng)用的SoC中的通信結(jié)構(gòu)。本文介紹的仿真平臺包含了針對圖像處理應(yīng)用中的復(fù)雜數(shù)據(jù)處理和通信而設(shè)計的流量生成器。在NoC的仿真評估過程中,流量發(fā)生器產(chǎn)生的數(shù)據(jù)包包含兩部分:5個Flits作為數(shù)據(jù)包的頭信息部分和數(shù)據(jù)部分,如圖3所示。頭信息部分包括下列內(nèi)容:
(1)目標核地址(Dest)。任意一個數(shù)據(jù)始發(fā)核都可以向一個或多個目標核發(fā)送數(shù)據(jù)。
(2)始發(fā)核地址(Source)。
(3)初始化時鐘(Clk_init)。該Flit專屬用于保存延遲的評估。當數(shù)據(jù)包發(fā)送時,發(fā)送時間被加載到改Flit中。
(4)傳輸?shù)臄?shù)據(jù)包的大小(Sz_pckt)。
(5)數(shù)據(jù)包數(shù)量(Nb_pckt)。
仿真平臺中的流量發(fā)生器被設(shè)計成為一個參數(shù)化的VHDL的IP模塊,如圖4所示。
2.3 流量接收器
流量發(fā)生器產(chǎn)生的仿真數(shù)據(jù)在通信架構(gòu)內(nèi)被發(fā)送傳輸,并被目標核中的流量接收器(Traffic Receptor,TR)所接收。在接收數(shù)據(jù)包后,流量接收器在NoC的內(nèi)部分析數(shù)據(jù)并提取數(shù)據(jù)傳輸?shù)男阅堋1疚脑O(shè)計的仿真平臺提供了兩種類型的流量接收器。一種流量接收器通過硬件中執(zhí)行的仿真來分析和統(tǒng)計(周期數(shù)、內(nèi)部的FPGA連接數(shù)…)。另一種流量接收器僅僅生成一個包含了仿真評估所有具體數(shù)值的追蹤報告,然后通過外部的軟件對數(shù)值進行分析和統(tǒng)計,從而得到整體NoC架構(gòu)性能的仿真評估。仿真平臺中的這兩種類型的流量接收器都被設(shè)計成參數(shù)化的VHDL模塊,便于仿真平臺的自動生成。
2.4 實驗仿真平臺
在建立針對相關(guān)應(yīng)用的SoC的NoC通信仿真平臺前,首先需要根據(jù)具體的應(yīng)用確定NoC的尺寸[9]。通過對油畫鑒別算法的具體分析,整個SoC系統(tǒng)中所涉及到的功能處理單元及相關(guān)的參數(shù)規(guī)格如下:
(1)每個Flit為8 bit或者16 bit;
(2)2個處理單元用于平均色彩投影;
(3)采用6個處理單元,利用任務(wù)并行處理XYZ色彩投影:3個用于原圖,3個用于鑒別圖像;
(4)6個處理單元用于原圖和鑒別圖像的RGB、Lab、RMS的色彩投影;
(5)1個處理單元用于顏色距離的計算;
(6)1個處理單元用于多光譜距離的計算;
(7)1個處理單元用于多譜鑒別;
(8)從多譜照相機采集的數(shù)據(jù)(鑒別圖像)和來自于存儲器的數(shù)據(jù)(原始圖像)分別來自于2個不同的交換機;
(9)數(shù)據(jù)包的數(shù)量和大小沒有限制。
因此,仿真平臺自動生成的用于油畫鑒別應(yīng)用的NoC仿真評估平臺是一個帶有處理功能的4×4的Mesh NoC,如圖5所示。在實驗中,采用MIPS處理器來實現(xiàn)圖5中的相關(guān)處理計算功能。
3 性能評估標準
本文中對NoC Hermes的性能評估將從時間和資源上進行仿真實驗,標準主要為:平均延時和占用的資源。
平均延時Laverage(時鐘周期數(shù))定義如下:
其中,L為每個數(shù)據(jù)包的平均延時,P為總的數(shù)據(jù)包數(shù)量。
用于架構(gòu)評估的標準還包括FPGA中使用的資源,主要為查找表(Look-Up-Table,LUT)、寄存器和存儲器。
4 實驗仿真
油畫鑒別應(yīng)用的通信架構(gòu)的仿真評估在單片F(xiàn)PGA上進行,各個處理功能具有多個仿真場景。
用于NoC仿真的FPGA平臺為ML506。該平臺包含了Virtex5 XC5VSXFPGA芯片、32 640個LUT、32 640個寄存器和480個輸入/輸出模塊(Input/Output,IO)。所有這些組件被配置成用來生成所屬的通信架構(gòu)和仿真模塊。資源性能的評估主要考察占用資源的百分比。
上文中介紹的算法采用下述的參數(shù):
(1)區(qū)域數(shù)R=1;
(2)每個區(qū)域的波長數(shù)W=128,240,480,960,992;
(3)圖像窗大小S=8×8,16×16,32×32,64×64像素。
下文中介紹的實驗基于處理功能的評估和交換機之間的通信評估。通過改變各種參數(shù)進行仿真評估。
4.1 處理模塊的評估
因為計算的復(fù)雜性,整個應(yīng)用中的處理功能將植入到MIPS處理器中來實現(xiàn)計算。MIPS是一個32位的RISC機構(gòu)的處理器。通過自動生成的仿真平臺,每一個處理功能的執(zhí)行時間都可以由仿真得到。平均值的計算取決于窗口的尺寸和波長數(shù)量。平均值模塊的執(zhí)行時間和窗口的尺寸及波長數(shù)量成線性正比的關(guān)系。其他功能模塊的執(zhí)行時間如表1所示。模塊的執(zhí)行時間和波長的數(shù)量成線性關(guān)系,主要是因為MIPS體系結(jié)構(gòu)是一個順序處理器核。
設(shè)計者可以根據(jù)波長的數(shù)量和窗口的尺寸來估算每個處理功能在MIPS上的執(zhí)行時間。
4.2 通信評估
該部分的實驗主要是對通信性能的評估,所用的NoC為4×4 的Mesh結(jié)構(gòu)。參數(shù)化TG和TR來模擬算法中核與核之間的數(shù)據(jù)傳輸。數(shù)據(jù)通過數(shù)據(jù)包的形式從一個節(jié)點傳輸?shù)搅硪粋€節(jié)點。
表2給出了NoC結(jié)構(gòu)在FPGA平臺上所占用的資源。NoC架構(gòu)單獨占用了30%的LUT、8%的寄存器。整個仿真平臺占用了58%的LUT和24%的寄存器。仿真模塊占用的資源較少,TG占用362個LUT和214個寄存器,TR占用382個LUT和240個寄存器。處理核或者IP模塊的選擇將直接影響仿真平臺,因為FPGA無法滿足大規(guī)模的處理單元所需的資源。在這種情況下,需要將NoC分布在多個FPGA上進行仿真評估。
仿真平臺中用于NoC的時鐘頻率為100 MHz,用于獲得一個同步的MPSoC架構(gòu)。
(1)實驗1基于以下參數(shù):R=1,W=128,S=64。實時仿真評估結(jié)果見表3。
鑒別算法中的8種通信場景分別列于表3,用于所有數(shù)據(jù)傳輸?shù)难訒r為56 041個時鐘周期。由于算法的復(fù)雜性,Average1和Average2做 GFC的算法處理的時占用了9 872個時鐘周期。而由于處理的數(shù)據(jù)量龐大,輸入數(shù)據(jù)平均值算法占據(jù)了總處理周期的80%。
(2)實驗2主要進行input_1與average1之間的通信仿真,通過改變窗口的尺寸和波長的數(shù)目來評估通信性能,見圖6和圖7。
因為數(shù)據(jù)傳輸是通過數(shù)據(jù)包的模式進行,窗口尺寸變化的情況下,通信的延時不再呈線性關(guān)系。在改變波長數(shù)量的情況下,數(shù)據(jù)傳輸時間則隨波長的增加而線性增加。因此設(shè)計者可以通過平臺的仿真評估獲得每個功能之間的通信周期,從而估算不同參數(shù)下的功能通信。
(3)實驗3主要通過改變區(qū)域數(shù)R來仿真評估系統(tǒng)的通信。一個區(qū)域的數(shù)據(jù)使用一個數(shù)據(jù)包進行傳輸。數(shù)據(jù)包的數(shù)量取決于區(qū)域的數(shù)量。表格4介紹了不同區(qū)域數(shù)目的情況下所獲得的系統(tǒng)通信時間。數(shù)據(jù)注入率為50%。從表4可以看出,通信時間取決于區(qū)域數(shù)目,增加的通信時間和等同于乘以增加的區(qū)域數(shù)目的倍數(shù)。設(shè)計者根據(jù)這個實驗來預(yù)算應(yīng)用程序的若干區(qū)域所需的通信時間。
5 結(jié)論
本文提出了一個基于NoC的MPSoC仿真評估平臺。所設(shè)計的仿真模塊用來模擬圖像處理應(yīng)用中所有的數(shù)據(jù)傳輸方案??蓞?shù)化的IP核直接連接到所選擇的NoC架構(gòu)。整個仿真平臺可快速方便地植入到FPGA中,用于實時的仿真評估。設(shè)計人員可以通過修改不同的參數(shù)來仿真評估所設(shè)計的MPSoC的通信系統(tǒng)從而來定義結(jié)構(gòu)的設(shè)計空間探索,并評估應(yīng)用程序的實時性能。
通過對油畫驗證算法進行仿真實驗,采用不同的參數(shù)來仿真評估通信架構(gòu),驗證了所設(shè)計平臺的功能。
參考文獻
[1] CORCHS S,GASPARINI F.Enhancing underexposed images preserving the original mood[C].International Workshop,2011:125-136.
[2] RUGNA J D,KONIK H.A robust approach to segment desired object based on salient colors[J].Eurasip Journal on Image & Video Processing,2008,6957(5):1-11.
[3] BORENGASSER M,HUNGATE W S,WATKINS R.Hyper-spectral remote sensing:Principles and applications[M].Crc Press,2007.
[4] AL-HASHIMI B M.System-on-Chip:next generation electronics[M].IEE Press,2006.
[5] JANTSCH A,TENHUNEN H.Networks on Chip[M].Springer US,2003.
[6] DALLY W J,TOWLES B.Route packets,not wires:on-chip interconnection networks[C].Proceeding of the 38th Conference on Design Automation,2001:684-689.
[7] MORAES F,CALAZANS N,MELLO A,et al.HERMES:an infrastructure for low area overhead packet-switching networks on chip[J].Integration the Vlsi Journal,2004,38(1):69-93.
[8] GENKO N,ATIENZA D,MICHELI G D,et al.A complete network-on-chip emulation framework[C].Design,Automation & Test in Europe Conference & Exhibition.IEEE,2005:246-251.
[9] FRESSE V,TAN J,ROUSSEAU F.Exploration of an adaptive NoC architecture on FPGA dedicated to multi and hysperspectral algorithm for art Processing Theory Tools and Applications(IPTA),2010 2nd International Conference on.IEEE,2010:529-534.