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