黨宏社, 王 黎, 王曉倩
(1.陜西科技大學(xué) 電氣與信息工程學(xué)院, 陜西 西安 710021; 2.浙江大學(xué) 控制科學(xué)與工程學(xué)系, 浙江 杭州 310000)
?
基于Vivado HLS的FPGA開發(fā)與應(yīng)用研究
黨宏社1, 王黎1, 王曉倩2
(1.陜西科技大學(xué) 電氣與信息工程學(xué)院, 陜西 西安710021; 2.浙江大學(xué) 控制科學(xué)與工程學(xué)系, 浙江 杭州310000)
摘要:為在硬件中更快速地實(shí)現(xiàn)數(shù)字信號處理或圖像處理算法,可使用Vivado HLS工具與Zynq系列的全可編程SoC進(jìn)行FPGA的設(shè)計(jì)與開發(fā).開發(fā)者能夠借助它們直接使用C或C++語言進(jìn)行FPGA的開發(fā),相對于Verilog或VHDL設(shè)計(jì)而言,開發(fā)周期短、成本低。本文詳細(xì)介紹了Vivado HLS工具的特點(diǎn)與應(yīng)用等內(nèi)容,并以“圖像色調(diào)分離”和“循環(huán)編碼器”兩種不同類型的實(shí)例,描述了該工具的使用方法與設(shè)計(jì)技巧.
關(guān)鍵詞:高層次綜合; Vivado; FPGA
0引言
FPGA是以硬件描述語言Verilog或VHDL完成電路設(shè)計(jì),并經(jīng)過仿真、時(shí)序分析和綜合,最終通過大量的基本邏輯門電路去實(shí)現(xiàn)復(fù)雜的數(shù)字邏
輯功能.FPGA以并行運(yùn)算為主,與傳統(tǒng)的PC單片機(jī)開發(fā)有很大的不同.造成FPGA的開發(fā)較難,與一般的程序設(shè)計(jì)思路有著很大的區(qū)別.
在FPGA內(nèi)進(jìn)行復(fù)雜的時(shí)序設(shè)計(jì)一般使用狀態(tài)機(jī)進(jìn)行開發(fā),這需要花費(fèi)較多的時(shí)間進(jìn)行分析與設(shè)計(jì).為了得到更好的時(shí)序等性能,還需要更多的時(shí)間去重復(fù)仿真與優(yōu)化.若要將已有的PC算法程序移植到FPGA時(shí),需要根據(jù)設(shè)計(jì)的邏輯去轉(zhuǎn)換,費(fèi)時(shí)費(fèi)力.因此,若是有一種能夠使用C或C++語言來進(jìn)行開發(fā)FPGA的工具,將會(huì)給FPGA設(shè)計(jì)帶來更高的效率,并能夠充分利用已有的可靠軟件程序,減少開發(fā)成本與時(shí)間[1].賽靈思公司開發(fā)出的Vivado軟件是ISE的升級版,并且包含了高層次綜合(HLS)工具,它能夠以C、C++或System C直接進(jìn)行設(shè)計(jì),對其進(jìn)行綜合優(yōu)化后即可生成相應(yīng)的硬件描述語言,用于FPGA開發(fā).
1Vivado HLS簡介
Vivado設(shè)計(jì)套件,是FPGA廠商賽靈思公司2012年發(fā)布的FPGA集成設(shè)計(jì)環(huán)境.其中的HLS是極具創(chuàng)新的一個(gè)工具,是未來可編程邏輯器件設(shè)計(jì)的重要方法.
由于Verilog或VHDL等RTL設(shè)計(jì)語言與軟件工程師的知識背景存在一定的差距,難以直接進(jìn)行FPGA的開發(fā)與應(yīng)用,這已經(jīng)妨礙了FPGA應(yīng)用技術(shù)的發(fā)展.而使用HLS能夠讓系統(tǒng)設(shè)計(jì)工程師使用All Programmable SoC實(shí)現(xiàn)軟硬件的協(xié)同設(shè)計(jì),大幅度縮短產(chǎn)品的開發(fā)與上市進(jìn)程.HLS提出了一種全新的設(shè)計(jì)思路,更加注重FPGA設(shè)計(jì)的“系統(tǒng)級”建模.設(shè)計(jì)人員在充分理解了軟件串行執(zhí)行與硬件并行執(zhí)行的特點(diǎn)后,能夠大幅提高使用HLS進(jìn)行FPGA開發(fā)的效率[2].
圖1所示為Vivado HLS工具的一般開發(fā)流程.首先使用C或C++語言設(shè)計(jì)一個(gè)有具體功能的函數(shù),以及一個(gè)用于描述期望設(shè)計(jì)行為的C測試平臺.隨后用C仿真器驗(yàn)證設(shè)計(jì)的功能是否滿足要求.當(dāng)設(shè)計(jì)的功能通過驗(yàn)證后,就可以通過Vivado HLS綜合工具生成對應(yīng)功能的RTL設(shè)計(jì),生成的代碼可以是Verilog或VHDL.得到 RTL 設(shè)計(jì)后即可使用Vivado內(nèi)的仿真工具或Modelsim進(jìn)行仿真,并進(jìn)一步根據(jù)之前創(chuàng)建的 C 測試平臺,驗(yàn)證設(shè)計(jì)的架構(gòu)行為和功能[3].
圖1 Vivado HLS開發(fā)流程
2HLS的功能
Vivado HLS有助于降低整個(gè)系統(tǒng)的功耗、物料成本,提高系統(tǒng)性能并加速設(shè)計(jì)生產(chǎn)力.下面將從Vivado HLS工具的幾個(gè)特點(diǎn)進(jìn)行介紹.
2.1加速FPGA設(shè)計(jì)
對于那些邏輯、時(shí)序要求較為寬松,時(shí)間緊迫的FPGA開發(fā)項(xiàng)目,或是已有成熟的C程序算法的FPGA移植項(xiàng)目,使用Vivado HLS工具進(jìn)行設(shè)計(jì)都是不錯(cuò)的選擇.
對一個(gè)新的開發(fā)項(xiàng)目,首先可以在Matlab中進(jìn)行算法功能驗(yàn)證,當(dāng)達(dá)到功能要求后,將算法代碼轉(zhuǎn)換為C、C++代碼,然后在Vivado HLS工具中再次進(jìn)行功能驗(yàn)證和最后的綜合優(yōu)化步驟.對綜合優(yōu)化結(jié)果進(jìn)行分析并修改優(yōu)化指令或程序結(jié)構(gòu),直到綜合結(jié)果能夠滿足設(shè)計(jì)要求為止.
使用HLS工具進(jìn)行的設(shè)計(jì)一般都用于Matlab和C模型的構(gòu)建,真正使用HLS工具本身的時(shí)間是相對較少的.所以對于已有現(xiàn)成C程序算法的移植項(xiàng)目,只需對程序本身進(jìn)行必要的修改或不用修改就可以直接進(jìn)行最后的綜合優(yōu)化步驟.
2.2數(shù)據(jù)處理
在Vivado HLS中能夠?qū)崿F(xiàn)各種不同的數(shù)據(jù)處理,包括普通的數(shù)值計(jì)算、圖像處理、系統(tǒng)控制以及網(wǎng)絡(luò)等方面的數(shù)據(jù)處理 .
2.2.1任意精度數(shù)據(jù)
使用任意精度設(shè)計(jì),能夠解決C語言設(shè)計(jì)FPGA程序的數(shù)據(jù)類型問題.在C語言中的浮點(diǎn)數(shù)包括單精度浮點(diǎn)和雙精度浮點(diǎn)類型,分別占用32位和64位數(shù)據(jù)空間,以及其它整形類數(shù)據(jù)都會(huì)占用整數(shù)字節(jié)的數(shù)據(jù)空間(8位、16位、32位).對于不是占用整數(shù)字節(jié)的數(shù)據(jù),如7位、24位或128位數(shù)據(jù),在C語言中是沒有對應(yīng)的數(shù)據(jù)類型的.若不進(jìn)行數(shù)據(jù)類型定義而直接在RTL內(nèi)綜合,就會(huì)自動(dòng)使用整數(shù)字節(jié)的寄存器型或線型數(shù)據(jù),或是根本不能進(jìn)行數(shù)據(jù)定義(128位數(shù)據(jù)),這樣將不能充分有效的利用FPGA內(nèi)的邏輯資源.
使用Vivado HLS內(nèi)的任意精度類型定義數(shù)據(jù),可以根據(jù)需要指定每一個(gè)整型或浮點(diǎn)數(shù)據(jù)的位數(shù),HLS軟件內(nèi)的綜合工具會(huì)進(jìn)行識別,并按指定的位數(shù)去定義最后綜合在FPGA內(nèi)部的數(shù)據(jù)位數(shù)[4].如下的兩句聲明程序,C_UINT7與C_UINT19分別能夠用來定義7位和19位的整形數(shù)據(jù).
typedef ap_uint<7> C_UINT7;
typedef ap_uint<19> C_UINT19;
2.2.2圖像處理
OpenCV是一個(gè)開源發(fā)行的跨平臺計(jì)算機(jī)視覺庫,可以運(yùn)行在多種計(jì)算機(jī)操作系統(tǒng)上[5,6].它具有輕量級而高效的特點(diǎn),由一系列 C 函數(shù)和少量 C++ 類構(gòu)成,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺方面的很多通用算法,能夠應(yīng)用于人臉識別、運(yùn)動(dòng)跟蹤、結(jié)構(gòu)分析等多種領(lǐng)域.
HLS工具內(nèi)包含有專用的OpenCV庫函數(shù),包括了大部分計(jì)算機(jī)版本OpenCV的庫函數(shù)功能.對于在計(jì)算機(jī)上已經(jīng)實(shí)現(xiàn)的圖像處理程序只需稍加修改即可在FPGA內(nèi)實(shí)現(xiàn)對應(yīng)功能的圖像處理算法.賽靈思的OpenCV庫為用Vivado HLS對設(shè)計(jì)進(jìn)行了深度優(yōu)化[7],這些庫能提供1080p分辨率的像素處理功能,并且有著很強(qiáng)的并行處理性能.
2.2.3控制及網(wǎng)絡(luò)處理
控制算法一般都有較高的控制周期要求,網(wǎng)絡(luò)協(xié)議則有較復(fù)雜的邏輯,使用硬件描述語言Verilog或VHDL進(jìn)行編程[8,9]難度非常大.而對于控制或網(wǎng)絡(luò)數(shù)據(jù)處理一般都有較可靠的軟件實(shí)現(xiàn)算法,使用Vivado HLS工具不需修改或稍加修改就可以將其直接進(jìn)行綜合并應(yīng)用在FPGA內(nèi).所以Vivado HLS工具十分適合對有現(xiàn)成算法的功能進(jìn)行設(shè)計(jì),并有巨大的優(yōu)勢.
2.3IP封裝
Vivado HLS編譯器流程的最后兩步就是RTL實(shí)現(xiàn)和IP封裝.這是Vivado HLS編譯器中能夠自動(dòng)實(shí)現(xiàn)的兩步,賽靈思產(chǎn)品針對組合中不同器件的RTL創(chuàng)建優(yōu)化細(xì)節(jié)內(nèi)置在編譯器中,不需要用戶具備RTL方面的知識.Vivado HLS編譯器的輸出自動(dòng)封裝為IP-XACT等其它賽靈思工具能直接使用的格式,因此無需進(jìn)行其它操作,就可在Vivado或ISE中使用HLS生成的IP核[10].
總之,我們可以使用HLS完成多種設(shè)計(jì),包括電機(jī)控制、矩陣數(shù)據(jù)處理、圖像處理等各個(gè)方面.使用HLS設(shè)計(jì)套件生成的IP核可以直接在FPGA內(nèi)調(diào)用,為快速實(shí)現(xiàn)項(xiàng)目開發(fā)提供有力保障.
3HLS應(yīng)用開發(fā)
下面通過2個(gè)具體的實(shí)例介紹如何使用Vivado HLS進(jìn)行FPGA的設(shè)計(jì)與開發(fā).
3.1開發(fā)界面
Vivado HLS的基本開發(fā)流程如簡介中的圖1所示,在清楚開發(fā)流程后就可使用該工具按步驟進(jìn)行FPGA開發(fā).Vivado HLS的軟件界面如圖2,最左邊①為設(shè)計(jì)中用到的庫、源代碼、測試平臺以及解決方案等文件的目錄;中間②為修改代碼、查看相關(guān)綜合結(jié)果報(bào)告的界面;最右邊③為綜合時(shí)的優(yōu)化指令目錄;最下邊④可以顯示相關(guān)調(diào)試信息的界面.
圖2 Vivado HLS軟件界面
首先在源代碼目錄里加入用于RTL綜合的目標(biāo)功能函數(shù),作為Top Function,然后加入用于對比驗(yàn)證的功能函數(shù),并編寫C測試平臺用來進(jìn)行后續(xù)的功能驗(yàn)證.使用C仿真器運(yùn)行程序,對兩個(gè)功能函數(shù)的運(yùn)行結(jié)果進(jìn)行對比,若結(jié)果相同即可進(jìn)行后續(xù)的綜合步驟.綜合后可根據(jù)設(shè)計(jì)的指標(biāo)加入優(yōu)化指令,對綜合方法進(jìn)行優(yōu)化、約束并再次進(jìn)行綜合,直到相關(guān)指標(biāo)達(dá)到設(shè)計(jì)要求.此時(shí)可以進(jìn)行C/RTL聯(lián)合仿真,使用C測試平臺去仿真驗(yàn)證綜合結(jié)果.最后將綜合后的RTL設(shè)計(jì)打包為IP核,作為專用的功能模塊以備使用.
3.2圖像處理開發(fā)實(shí)例
Vivado HLS能夠借助OpenCV圖像處理函數(shù)庫進(jìn)行多種圖像處理算法的開發(fā).下面介紹如何使用該工具設(shè)計(jì)一個(gè)具有圖像色調(diào)分離功能的模塊.
3.2.1色調(diào)分離原理
色調(diào)分離是指一幅圖像原本是由緊緊相鄰的漸變色階構(gòu)成,被數(shù)種突然的顏色轉(zhuǎn)變所代替.這一種突然的轉(zhuǎn)變,亦稱作“跳階”. 基本效果如圖3所示,(a)是原始圖像,(b)為色調(diào)分離后的圖像,可以看到色調(diào)分離后圖像的色調(diào)發(fā)生了跳變,云彩處的變化較為明顯.
(a)原始圖像
(b)色調(diào)分離后的圖像圖3 色調(diào)分離效果
為了實(shí)現(xiàn)色調(diào)分離,首先需要了解色調(diào)分離的圖像處理原理.圖4為色調(diào)分離前和分離后的圖像色階直方圖.可以看到正是因?yàn)樯A直方圖由本身的看似連續(xù)變化轉(zhuǎn)變?yōu)榱朔蛛x的形式,所以才會(huì)產(chǎn)生圖3中的色調(diào)跳變現(xiàn)象.還有諸如色階拉伸或是曲線調(diào)整等方法,也會(huì)產(chǎn)生不均勻的色調(diào)分離效果.
(a)分離前 (b)分離后圖4 色調(diào)分離前后的圖像直方圖
色調(diào)分離作為一種簡單的減少圖像色階數(shù)的處理方法,可以應(yīng)用在印刷廠原始膠片生成、海報(bào)圖片制作和圖像分割[11]等方面.
3.2.2開發(fā)步驟
由前面了解到色調(diào)分離后的圖像的各個(gè)色階值被平均分配到一個(gè)確定的色階值上,根據(jù)分配的對應(yīng)關(guān)系,可以編寫程序建立對應(yīng)的查找表.這樣就能夠根據(jù)原始圖像的像素灰度值和查找表直接確定新的灰度值,并最終得到色調(diào)分離后的圖像.
在HLS中設(shè)計(jì)的軟件流程如圖5所示.首先根據(jù)色調(diào)分離參數(shù)計(jì)算出色調(diào)分離的查找表,這樣就能由原始圖像的像素灰度值直接得到處理后的灰度值.FPGA內(nèi)嵌的ARM處理器提供圖像數(shù)據(jù)至本模塊,由AXI圖像數(shù)據(jù)流轉(zhuǎn)換為OpenCV庫函數(shù)能夠處理的Mat類型.然后對像素點(diǎn)的三個(gè)顏色通道的灰度值分別進(jìn)行查表,得到結(jié)果后再次轉(zhuǎn)換為AXI圖像數(shù)據(jù)流并輸出至ARM處理器.
圖5 色調(diào)分離處理流程
按照設(shè)計(jì)的軟件流程編寫該圖像色調(diào)分離模塊的程序,作為RTL綜合的目標(biāo)功能函數(shù).同時(shí)編寫測試平臺程序,對該模塊進(jìn)行C功能驗(yàn)證.當(dāng)功能驗(yàn)證結(jié)果正確后即可進(jìn)行綜合與優(yōu)化.綜合功能是HLS工具自行完成的,根據(jù)實(shí)際要求與不斷嘗試修改,優(yōu)化指令能夠盡量使設(shè)計(jì)達(dá)到理想要求.在本設(shè)計(jì)當(dāng)中主要使用了流水線(Pipeline)和數(shù)據(jù)流(Dataflow)兩種優(yōu)化方式,有助于提高系統(tǒng)處理圖像的速度.
3.2.3綜合結(jié)果
綜合后的時(shí)序結(jié)果如圖6所示.第5和第7行分別表示色調(diào)分離模塊當(dāng)中的計(jì)算查找表和灰度值更新的步驟,第6、8行為AXI圖像數(shù)據(jù)流和Mat數(shù)據(jù)類型的轉(zhuǎn)換步驟.每行后面的方塊代表該處理步驟在整個(gè)模塊處理當(dāng)中的處理順序和占用的時(shí)間比例.
圖6 時(shí)序分析
同時(shí)可以觀察到各個(gè)步驟所占用的時(shí)序是從上至下、從左至右的,這保證了綜合后的設(shè)計(jì)是在最小處理周期情況下有最小處理間隔,而且處理間隔小于延時(shí),即綜合后的模塊是能夠?qū)崿F(xiàn)流水線處理的[12].
本設(shè)計(jì)的系統(tǒng)時(shí)鐘為150 MHz,能夠處理最大為1 080 p分辨率的圖像.每41.6 ms左右就能處理一張,每間隔13.87 ms就能輸入一張,同一時(shí)刻可以有3張同樣分辨率的圖象在進(jìn)行色調(diào)分離并行處理.
3.3循環(huán)編碼器開發(fā)實(shí)例
要求設(shè)計(jì)一種編碼器,有8位輸入引腳(能以二進(jìn)制編碼方式輸入10~60)和30~60個(gè)輸出引腳.輸出端引腳置位高電平的數(shù)量是根據(jù)輸入端讀到數(shù)值來確定的,如輸入上限值配置為30,輸出引腳個(gè)數(shù)配置為60,輸入一個(gè)數(shù)值1則2個(gè)引腳要輸出高電平,輸入數(shù)值為30則全部輸出要為高.輸出的引腳有1~60的序號,根據(jù)輸出高電平的個(gè)數(shù),從起始第1位開始輸出高電平.每次調(diào)用此模塊,起始位會(huì)依次向后循環(huán)移動(dòng),若起始位到達(dá)最高位,則下一次會(huì)回到第1位.至此,這種循環(huán)編碼器的功能已基本清楚.
設(shè)計(jì)中還有一個(gè)要求,當(dāng)編碼器后方的設(shè)備對編碼器輸出進(jìn)行接收的某一引腳發(fā)生故障時(shí),會(huì)有對應(yīng)的一個(gè)信號反饋并輸入到該編碼器內(nèi).編碼器進(jìn)行編碼時(shí)需要跳過該故障位,并將輸出推后1位.當(dāng)同時(shí)有3個(gè)以上的故障信號時(shí),編碼器會(huì)輸出故障信號并取消編碼功能.
這個(gè)設(shè)計(jì)若使用C語言進(jìn)行設(shè)計(jì)會(huì)十分方便,都是一些位操作的語句,而使用Verilog設(shè)計(jì)就需要考慮一些編碼、數(shù)據(jù)位數(shù)等問題.本設(shè)計(jì)應(yīng)用的場合不是高速環(huán)境,使用Vivado HLS工具進(jìn)行設(shè)計(jì)能夠滿足要求.表1為按要求功能設(shè)計(jì)出的模塊性能,該模塊工作頻率為100 MHz,使用8位輸入情況下的處理周期約為21微秒(210個(gè)時(shí)鐘周期).該設(shè)計(jì)能夠達(dá)到系統(tǒng)實(shí)時(shí)性的要求,更重要的是設(shè)計(jì)周期較短,只需一天就可完成這種循環(huán)編碼器的設(shè)計(jì).
表1 編碼器性能
注:時(shí)鐘頻率為100 MHz
4結(jié)束語
介紹并展示了Vivado HLS工具的優(yōu)勢及其應(yīng)用領(lǐng)域,可通過本文大致了解該工具的使用方法和注意事項(xiàng).該工具對于不了解硬件設(shè)計(jì)語言的軟件工程師,亦或是FPGA開發(fā)工程師都是一種新的FPGA設(shè)計(jì)思路.在Vivado HLS工具中通過C設(shè)計(jì)、綜合與優(yōu)化,能夠加速FPGA設(shè)計(jì),為項(xiàng)目開發(fā)節(jié)省寶貴的時(shí)間.
參考文獻(xiàn)
[1] 叢秋波.Vivado設(shè)計(jì)套件將可編程系統(tǒng)集成度和實(shí)施速度提升4倍[J].電子設(shè)計(jì)技術(shù),2012,19(6):22-24.
[2] 何賓.Xilinx All Programmable Zynq-7000 SoC設(shè)計(jì)指南[M].北京:清華大學(xué)出版社,2013.
[3] 21ic官方微博.賽靈思Vivado 開啟“All Programmable”新征程[EB/OL].http://www.21ic.com/wz/CRXDQWHFA/20120501/20120501.htm,2014-08-15.
[4] James Hrica.利用賽靈思Vivado HLS實(shí)現(xiàn)浮點(diǎn)設(shè)計(jì)[J].今日電子,2013,21(1):34-38.
[5] 方玫,喻擎蒼,李華強(qiáng).C++Builder下基于OpenCV的數(shù)字圖像處理[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,29(4):882-884.
[6] 郭暉,陳光.基于OpenCV的視頻圖像處理應(yīng)用研究[J].微型機(jī)與應(yīng)用,2010,29(21):14-16,20.
[7] Xilinx Inc.Accelerating OpenCV applications with zynq-7000 all programmable SoC using Vivado HLS video libraries[EB/OL].http://www.xilinx.com/support/documentation/application_notes/xapp1167.pdf,2014-08-15.
[8] 白瑞林,江呂鋒,王建.基于FPGA的模糊自整定PID控制器的研究[J].儀器儀表學(xué)報(bào),2005,26(8):833-837.
[9] 馬文超,張濤.一種基于FPGA的以太網(wǎng)高速傳輸平臺[J].計(jì)算機(jī)工程,2012,38(1):242-244.
[10] Xilinx Inc.Vivado design suite tutorial high-level synthesis[EB/OL].http://www.xilinx.com/support/documentation/sw_manuals/xilinx2012_4/ug871-vivado-high-level-synthesis-tutorial.pdf,2014-08-15.
[11] 張馨,劉雙喜,鄭文秀,等.基于色調(diào)分離的棉花異性纖維分割[J].中國棉花加工,2009,29(4):35-37,40.
[12] Xilinx Inc.Vivado design suite user guide high-level synthesis[EB/OL].http://www.xilinx.com/support/documentation/sw_manuals/xilinx2012_4/ug902-vivado-high-level-synthesis.pdf,2014-08-15.
Development and application of FPGA based on Vivado HLS
DANG Hong-she1, WANG Li1, WANG Xiao-qian2
(1.College of Electrical and Information Engineering, Shaanxi University of Science & Technology, Xi′an 710021, China; 2.Department of Science and Engineering, Zhejiang University, Hangzhou 310000, China)
Abstract:In order to more rapid implementation of digital signal processing and image processing algorithm in hardware design.Vivado High-Level Synthesis (HLS) design tools can be used in the design and development of Zynq All programmable with FPGA.HLS can transform a C or C++ design specification into a Register Transfer Level implementation which can be synthesized into a Xilinx FPGA.Compared with Veirlog or VHDL design,this tool will reduce development cycles and costs of FPGA.This paper describes the characteristics and applications of HLS in detail.With the examples of image posterization and loop encoder, we can learn the design method and skills.
Key words:high level synthesis; Vivado; FPGA
中圖分類號:TN47
文獻(xiàn)標(biāo)志碼:A
文章編號:1000-5811(2015)01-0155-05
作者簡介:黨宏社(1962-),男,陜西武功人,教授,博士,研究方向:工業(yè)過程智能控制、多源信息融合、數(shù)字圖像處理
基金項(xiàng)目:西安市科技計(jì)劃項(xiàng)目(NC10015)
收稿日期:*2014-09-26