文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2016.12.020
中文引用格式: 談俊燕,華迪,Virginie Fresse,等. 用于油畫鑒別的自適應(yīng)MPSoC中NoC仿真平臺(tái)研究[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ù)是一項(xiàng)針對(duì)光譜圖像處理而開發(fā)的技術(shù)。專用的圖像采集設(shè)備可以采集到相比于人類視覺更多的頻率下的圖像,多光譜成像算法提取人類眼睛在紅、藍(lán)、綠色可見光譜中不能采集的附加信息。光譜成像技術(shù)應(yīng)用廣泛,通常用于檢測、鑒定、衛(wèi)星觀測以及醫(yī)學(xué)檢查中[1-3]。這類應(yīng)用常要求系統(tǒng)有較大的計(jì)算資源用于處理復(fù)雜的圖像處理算法,并且隨著用戶對(duì)實(shí)時(shí)性和集成度要求的提高,這類應(yīng)用通常定位為實(shí)時(shí)的嵌入式應(yīng)用。而現(xiàn)有的系統(tǒng)實(shí)現(xiàn)平臺(tái)已經(jīng)無法滿足系統(tǒng)所要求的性能。
基于FPGA平臺(tái)的片上網(wǎng)絡(luò)(Network on Chip,NoC)作為通信架構(gòu)的片上系統(tǒng)(System on Chip,SoC),被認(rèn)為是應(yīng)用于多譜或者超譜的實(shí)時(shí)圖像處理及其他高性能的圖像處理最合適的解決方案之一[4]。FPGA能以較少的資源實(shí)現(xiàn)高速的性能,處理大規(guī)模的復(fù)雜的操作。片上網(wǎng)絡(luò)NoC以其自身特有的性能,成為了SoC的可擴(kuò)展通信架構(gòu)設(shè)計(jì)的一個(gè)可行性的選擇。一個(gè)NoC能在低功耗、低復(fù)雜度的前提下,為通信架構(gòu)的設(shè)計(jì)提供更多的帶寬和更強(qiáng)的可擴(kuò)展性能[4,5]。而NoC的設(shè)計(jì)意味著對(duì)不同架構(gòu)的選擇,包括緩沖區(qū)的大小、流量控制的策略以及拓?fù)涞倪x擇。在NoC的設(shè)計(jì)過程中,這些結(jié)構(gòu)的選擇必須滿足目標(biāo)用途的要求,例如延遲、功耗以及測試時(shí)間等關(guān)鍵約束條件及需求。另外,設(shè)計(jì)空間的寬度、設(shè)計(jì)流程的自動(dòng)化都必須在設(shè)計(jì)過程中考慮到,從而確保對(duì)每種設(shè)計(jì)方案的快速評(píng)估和測試。
針對(duì)上文中提到的設(shè)計(jì)中需要考慮的相關(guān)約束,本文提出了一種基于FPGA的仿真平臺(tái),用于開發(fā)和評(píng)估基于NoC通信架構(gòu)的多核片上系統(tǒng)(Multi-Processors- System-on-Chip,MPSoC)。仿真平臺(tái)包括了NoC架構(gòu)、可參數(shù)化的流量生成模塊和流量接收模塊,用于評(píng)估圖像處理應(yīng)用所需要的通信設(shè)計(jì)。仿真平臺(tái)的生成和執(zhí)行的可靠性高,實(shí)驗(yàn)的時(shí)間短。設(shè)計(jì)者指定采用的算法,在FPGA平臺(tái)上仿真通信結(jié)構(gòu),從而獲得準(zhǔn)確的時(shí)間和性能的實(shí)時(shí)評(píng)估。
1 基于多譜的油畫鑒別算法
多譜成像技術(shù)可以比人眼捕獲更多頻率的光。目前,光譜成像技術(shù)有著廣泛的應(yīng)用,航天、探測、鑒別等領(lǐng)域較為廣泛地采用該成像技術(shù)[1,2]。本文采用的多譜成像技術(shù)油畫鑒別算法主要通過對(duì)原始圖像和鑒別圖像之間的比較來實(shí)現(xiàn)。
鑒別算法的流程如圖1所示,OI表示原始圖像,CI表示需鑒別的圖像。
首先,采用多光譜照相機(jī)采集圖像上每個(gè)像素的光譜值作為原始數(shù)據(jù)。從OI和CI中提取圖像的幾個(gè)顯著區(qū)域,并計(jì)算這些區(qū)域的平均色值。根據(jù)實(shí)驗(yàn)的需要,本文所有實(shí)驗(yàn)均采用32×32像素的窗口尺寸。通過色彩投影將色平均值轉(zhuǎn)換成顏色空間值,OI和CI將分別進(jìn)行色彩投影。投影后的色彩圖像將在鑒別算法中進(jìn)行比較處理。顏色距離是指OI和CI之間具有的基本的中性幾何距離。目前所存在的顏色距離都可以被鑒別算法采用。基于多譜技術(shù)的鑒別算法采用光譜算法來計(jì)算CI的光譜圖像數(shù)據(jù)與OI的光譜圖像數(shù)據(jù)之間的多譜距離。在鑒別過程中,某些算法要求高精度的計(jì)算,這就意味著設(shè)計(jì)的硬件系統(tǒng)能夠處理大量的浮點(diǎn)數(shù)據(jù),實(shí)現(xiàn)復(fù)雜的計(jì)算功能。
針對(duì)油畫鑒別應(yīng)用的通信架構(gòu)是全可參數(shù)化的。設(shè)計(jì)者可調(diào)整下述參數(shù):OI和CI的尺寸、平均色值計(jì)算的窗口尺寸(或者其他類似的計(jì)算)、算法中的公式的數(shù)目和類型、每個(gè)公式的數(shù)據(jù)的大小和數(shù)目。執(zhí)行的操作中數(shù)據(jù)可以是不同大小的浮點(diǎn)數(shù)或定點(diǎn)數(shù)(8,16,32或者為64位的數(shù)據(jù))。
2 仿真平臺(tái)
通信架構(gòu)的開發(fā)探索是依托于連接著仿真模塊的NoC架構(gòu)進(jìn)行的。仿真模塊主要包括流量生成模塊和流量接收模塊。下文中將詳細(xì)介紹這些模塊的構(gòu)成以及評(píng)估標(biāo)準(zhǔn)。
2.1 NoC架構(gòu)
NoC架構(gòu)作為一種新的通信架構(gòu),至今已有十幾年的發(fā)展[6-8]。這類通信架構(gòu)具有高擴(kuò)展性、高性能、低功耗的優(yōu)點(diǎn),致力于改善SoC通信系統(tǒng)的靈活性。NoC架構(gòu)的應(yīng)用實(shí)現(xiàn)了片上系統(tǒng)千兆級(jí)通信的集成。一般情況下,NoC架構(gòu)由幾個(gè)基本要素構(gòu)成:網(wǎng)絡(luò)接口(Network Interface,NI)或網(wǎng)絡(luò)適配器(Network Adaptor,NA)、交換機(jī)(Switch,S)、鏈接(Link)、處理單元(Resource)。
上述要素組成了NoC架構(gòu)中的網(wǎng)絡(luò)節(jié)點(diǎn)。數(shù)據(jù)以數(shù)據(jù)包的模式在NoC架構(gòu)中傳輸。流量控制單元(Flow control Unit,F(xiàn)lit)是NoC內(nèi)部數(shù)據(jù)傳輸最基本的單元。若干個(gè)Flit構(gòu)成構(gòu)成一個(gè)數(shù)據(jù)包。若干個(gè)數(shù)據(jù)通過一個(gè)數(shù)據(jù)包進(jìn)行傳輸。NoC中的Flit的數(shù)量可以根據(jù)所要傳輸?shù)臄?shù)據(jù)的大小和數(shù)量進(jìn)行調(diào)整。NoC架構(gòu)支持不同大小的數(shù)據(jù)。
本文實(shí)驗(yàn)采用的NoC為Hermes NoC[7]。該NoC由巴西Rio Grande do Sul天主教大學(xué)研究設(shè)計(jì),采用2D Mesh 交換機(jī)的基礎(chǔ)結(jié)構(gòu),針對(duì)不同的協(xié)議、Flit的大小、緩沖器的深度以及路由算法在芯片上實(shí)現(xiàn)分組交換(packet-switching)網(wǎng)絡(luò)。Hermes NoC的基本結(jié)構(gòu)如圖2所示,主要包含Hermes交換機(jī)和IP核。Hermes交換機(jī)含有路由控制邏輯和5個(gè)雙向端口:East、West、North、South和Local端。Local端用來建立交換機(jī)和本地IP核之間的鏈接。其他的端口則被連接到附近的交換機(jī)上。所有的端口都具有用于臨時(shí)存儲(chǔ)信息的輸入緩沖器。
Hermes NoC采用蟲洞(wormhole)調(diào)度技術(shù),包含了4種路由算法,一個(gè)確定性算法(XY算法)和3個(gè)部分自適應(yīng)算法, 即West-first、North-last和Negative-first。這4種算法中,XY算法的確定性和最小化的設(shè)計(jì)使得該算法最為常用,本文的實(shí)驗(yàn)中也將采用該種算法。
2.2 流量發(fā)生器
對(duì)于NoC架構(gòu)的仿真,連接到NoC的IP模塊或其他組件由流量生成模塊,即流量發(fā)生器(Traffic Generator,TG)代替。確定性的流量發(fā)生器被廣泛使用于NoC的仿真評(píng)估。流量生成器模擬NoC中IP模塊之間的通信。根據(jù)給定的應(yīng)用,流量生成器產(chǎn)生傳輸?shù)臄?shù)據(jù),并參數(shù)化數(shù)據(jù)的大小、傳輸時(shí)間、空閑時(shí)間以及傳輸目標(biāo)模塊,從而與替換的IP模塊的行為和功能相匹配?,F(xiàn)有的幾種用于NoC仿真評(píng)估的流量發(fā)生器無法用于仿真圖像處理應(yīng)用的SoC中的通信結(jié)構(gòu)。本文介紹的仿真平臺(tái)包含了針對(duì)圖像處理應(yīng)用中的復(fù)雜數(shù)據(jù)處理和通信而設(shè)計(jì)的流量生成器。在NoC的仿真評(píng)估過程中,流量發(fā)生器產(chǎn)生的數(shù)據(jù)包包含兩部分:5個(gè)Flits作為數(shù)據(jù)包的頭信息部分和數(shù)據(jù)部分,如圖3所示。頭信息部分包括下列內(nèi)容:
(1)目標(biāo)核地址(Dest)。任意一個(gè)數(shù)據(jù)始發(fā)核都可以向一個(gè)或多個(gè)目標(biāo)核發(fā)送數(shù)據(jù)。
(2)始發(fā)核地址(Source)。
(3)初始化時(shí)鐘(Clk_init)。該Flit專屬用于保存延遲的評(píng)估。當(dāng)數(shù)據(jù)包發(fā)送時(shí),發(fā)送時(shí)間被加載到改Flit中。
(4)傳輸?shù)臄?shù)據(jù)包的大小(Sz_pckt)。
(5)數(shù)據(jù)包數(shù)量(Nb_pckt)。
仿真平臺(tái)中的流量發(fā)生器被設(shè)計(jì)成為一個(gè)參數(shù)化的VHDL的IP模塊,如圖4所示。
2.3 流量接收器
流量發(fā)生器產(chǎn)生的仿真數(shù)據(jù)在通信架構(gòu)內(nèi)被發(fā)送傳輸,并被目標(biāo)核中的流量接收器(Traffic Receptor,TR)所接收。在接收數(shù)據(jù)包后,流量接收器在NoC的內(nèi)部分析數(shù)據(jù)并提取數(shù)據(jù)傳輸?shù)男阅?。本文設(shè)計(jì)的仿真平臺(tái)提供了兩種類型的流量接收器。一種流量接收器通過硬件中執(zhí)行的仿真來分析和統(tǒng)計(jì)(周期數(shù)、內(nèi)部的FPGA連接數(shù)…)。另一種流量接收器僅僅生成一個(gè)包含了仿真評(píng)估所有具體數(shù)值的追蹤報(bào)告,然后通過外部的軟件對(duì)數(shù)值進(jìn)行分析和統(tǒng)計(jì),從而得到整體NoC架構(gòu)性能的仿真評(píng)估。仿真平臺(tái)中的這兩種類型的流量接收器都被設(shè)計(jì)成參數(shù)化的VHDL模塊,便于仿真平臺(tái)的自動(dòng)生成。
2.4 實(shí)驗(yàn)仿真平臺(tái)
在建立針對(duì)相關(guān)應(yīng)用的SoC的NoC通信仿真平臺(tái)前,首先需要根據(jù)具體的應(yīng)用確定NoC的尺寸[9]。通過對(duì)油畫鑒別算法的具體分析,整個(gè)SoC系統(tǒng)中所涉及到的功能處理單元及相關(guān)的參數(shù)規(guī)格如下:
(1)每個(gè)Flit為8 bit或者16 bit;
(2)2個(gè)處理單元用于平均色彩投影;
(3)采用6個(gè)處理單元,利用任務(wù)并行處理XYZ色彩投影:3個(gè)用于原圖,3個(gè)用于鑒別圖像;
(4)6個(gè)處理單元用于原圖和鑒別圖像的RGB、Lab、RMS的色彩投影;
(5)1個(gè)處理單元用于顏色距離的計(jì)算;
(6)1個(gè)處理單元用于多光譜距離的計(jì)算;
(7)1個(gè)處理單元用于多譜鑒別;
(8)從多譜照相機(jī)采集的數(shù)據(jù)(鑒別圖像)和來自于存儲(chǔ)器的數(shù)據(jù)(原始圖像)分別來自于2個(gè)不同的交換機(jī);
(9)數(shù)據(jù)包的數(shù)量和大小沒有限制。
因此,仿真平臺(tái)自動(dòng)生成的用于油畫鑒別應(yīng)用的NoC仿真評(píng)估平臺(tái)是一個(gè)帶有處理功能的4×4的Mesh NoC,如圖5所示。在實(shí)驗(yàn)中,采用MIPS處理器來實(shí)現(xiàn)圖5中的相關(guān)處理計(jì)算功能。
3 性能評(píng)估標(biāo)準(zhǔn)
本文中對(duì)NoC Hermes的性能評(píng)估將從時(shí)間和資源上進(jìn)行仿真實(shí)驗(yàn),標(biāo)準(zhǔn)主要為:平均延時(shí)和占用的資源。
平均延時(shí)Laverage(時(shí)鐘周期數(shù))定義如下:
其中,L為每個(gè)數(shù)據(jù)包的平均延時(shí),P為總的數(shù)據(jù)包數(shù)量。
用于架構(gòu)評(píng)估的標(biāo)準(zhǔn)還包括FPGA中使用的資源,主要為查找表(Look-Up-Table,LUT)、寄存器和存儲(chǔ)器。
4 實(shí)驗(yàn)仿真
油畫鑒別應(yīng)用的通信架構(gòu)的仿真評(píng)估在單片F(xiàn)PGA上進(jìn)行,各個(gè)處理功能具有多個(gè)仿真場景。
用于NoC仿真的FPGA平臺(tái)為ML506。該平臺(tái)包含了Virtex5 XC5VSXFPGA芯片、32 640個(gè)LUT、32 640個(gè)寄存器和480個(gè)輸入/輸出模塊(Input/Output,IO)。所有這些組件被配置成用來生成所屬的通信架構(gòu)和仿真模塊。資源性能的評(píng)估主要考察占用資源的百分比。
上文中介紹的算法采用下述的參數(shù):
(1)區(qū)域數(shù)R=1;
(2)每個(gè)區(qū)域的波長數(shù)W=128,240,480,960,992;
(3)圖像窗大小S=8×8,16×16,32×32,64×64像素。
下文中介紹的實(shí)驗(yàn)基于處理功能的評(píng)估和交換機(jī)之間的通信評(píng)估。通過改變各種參數(shù)進(jìn)行仿真評(píng)估。
4.1 處理模塊的評(píng)估
因?yàn)橛?jì)算的復(fù)雜性,整個(gè)應(yīng)用中的處理功能將植入到MIPS處理器中來實(shí)現(xiàn)計(jì)算。MIPS是一個(gè)32位的RISC機(jī)構(gòu)的處理器。通過自動(dòng)生成的仿真平臺(tái),每一個(gè)處理功能的執(zhí)行時(shí)間都可以由仿真得到。平均值的計(jì)算取決于窗口的尺寸和波長數(shù)量。平均值模塊的執(zhí)行時(shí)間和窗口的尺寸及波長數(shù)量成線性正比的關(guān)系。其他功能模塊的執(zhí)行時(shí)間如表1所示。模塊的執(zhí)行時(shí)間和波長的數(shù)量成線性關(guān)系,主要是因?yàn)镸IPS體系結(jié)構(gòu)是一個(gè)順序處理器核。
設(shè)計(jì)者可以根據(jù)波長的數(shù)量和窗口的尺寸來估算每個(gè)處理功能在MIPS上的執(zhí)行時(shí)間。
4.2 通信評(píng)估
該部分的實(shí)驗(yàn)主要是對(duì)通信性能的評(píng)估,所用的NoC為4×4 的Mesh結(jié)構(gòu)。參數(shù)化TG和TR來模擬算法中核與核之間的數(shù)據(jù)傳輸。數(shù)據(jù)通過數(shù)據(jù)包的形式從一個(gè)節(jié)點(diǎn)傳輸?shù)搅硪粋€(gè)節(jié)點(diǎn)。
表2給出了NoC結(jié)構(gòu)在FPGA平臺(tái)上所占用的資源。NoC架構(gòu)單獨(dú)占用了30%的LUT、8%的寄存器。整個(gè)仿真平臺(tái)占用了58%的LUT和24%的寄存器。仿真模塊占用的資源較少,TG占用362個(gè)LUT和214個(gè)寄存器,TR占用382個(gè)LUT和240個(gè)寄存器。處理核或者IP模塊的選擇將直接影響仿真平臺(tái),因?yàn)镕PGA無法滿足大規(guī)模的處理單元所需的資源。在這種情況下,需要將NoC分布在多個(gè)FPGA上進(jìn)行仿真評(píng)估。
仿真平臺(tái)中用于NoC的時(shí)鐘頻率為100 MHz,用于獲得一個(gè)同步的MPSoC架構(gòu)。
(1)實(shí)驗(yàn)1基于以下參數(shù):R=1,W=128,S=64。實(shí)時(shí)仿真評(píng)估結(jié)果見表3。
鑒別算法中的8種通信場景分別列于表3,用于所有數(shù)據(jù)傳輸?shù)难訒r(shí)為56 041個(gè)時(shí)鐘周期。由于算法的復(fù)雜性,Average1和Average2做 GFC的算法處理的時(shí)占用了9 872個(gè)時(shí)鐘周期。而由于處理的數(shù)據(jù)量龐大,輸入數(shù)據(jù)平均值算法占據(jù)了總處理周期的80%。
(2)實(shí)驗(yàn)2主要進(jìn)行input_1與average1之間的通信仿真,通過改變窗口的尺寸和波長的數(shù)目來評(píng)估通信性能,見圖6和圖7。
因?yàn)閿?shù)據(jù)傳輸是通過數(shù)據(jù)包的模式進(jìn)行,窗口尺寸變化的情況下,通信的延時(shí)不再呈線性關(guān)系。在改變波長數(shù)量的情況下,數(shù)據(jù)傳輸時(shí)間則隨波長的增加而線性增加。因此設(shè)計(jì)者可以通過平臺(tái)的仿真評(píng)估獲得每個(gè)功能之間的通信周期,從而估算不同參數(shù)下的功能通信。
(3)實(shí)驗(yàn)3主要通過改變區(qū)域數(shù)R來仿真評(píng)估系統(tǒng)的通信。一個(gè)區(qū)域的數(shù)據(jù)使用一個(gè)數(shù)據(jù)包進(jìn)行傳輸。數(shù)據(jù)包的數(shù)量取決于區(qū)域的數(shù)量。表格4介紹了不同區(qū)域數(shù)目的情況下所獲得的系統(tǒng)通信時(shí)間。數(shù)據(jù)注入率為50%。從表4可以看出,通信時(shí)間取決于區(qū)域數(shù)目,增加的通信時(shí)間和等同于乘以增加的區(qū)域數(shù)目的倍數(shù)。設(shè)計(jì)者根據(jù)這個(gè)實(shí)驗(yàn)來預(yù)算應(yīng)用程序的若干區(qū)域所需的通信時(shí)間。
5 結(jié)論
本文提出了一個(gè)基于NoC的MPSoC仿真評(píng)估平臺(tái)。所設(shè)計(jì)的仿真模塊用來模擬圖像處理應(yīng)用中所有的數(shù)據(jù)傳輸方案。可參數(shù)化的IP核直接連接到所選擇的NoC架構(gòu)。整個(gè)仿真平臺(tái)可快速方便地植入到FPGA中,用于實(shí)時(shí)的仿真評(píng)估。設(shè)計(jì)人員可以通過修改不同的參數(shù)來仿真評(píng)估所設(shè)計(jì)的MPSoC的通信系統(tǒng)從而來定義結(jié)構(gòu)的設(shè)計(jì)空間探索,并評(píng)估應(yīng)用程序的實(shí)時(shí)性能。
通過對(duì)油畫驗(yàn)證算法進(jìn)行仿真實(shí)驗(yàn),采用不同的參數(shù)來仿真評(píng)估通信架構(gòu),驗(yàn)證了所設(shè)計(jì)平臺(tái)的功能。
參考文獻(xiàn)
[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.