《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于異構信號處理平臺的自動代碼生成工具
基于異構信號處理平臺的自動代碼生成工具
2016年電子技術應用第9期
杜 虹,彭 華,馬金全,岳春生
信息工程大學 信息系統工程學院,河南 鄭州450001
摘要: 針對新型異構通信信號處理平臺系統復雜、開發難度大、開發周期長、應用復雜等問題,提出了一種新型綜合性的代碼自動生成工具。通過實現通信信號處理平臺中框架配置文件、要素宏定義文件、硬件驅動源代碼框架、軟件組件源程序框架、裝配粘合代碼的自動生成等功能,不僅可滿足平臺在實時性、分布式、可靠性等方面要求,而且可保證平臺中軟硬件編程的一致性,縮短了開發周期,大大減少需要手工編寫開發和測試代碼的工作量。
中圖分類號: TN92;TP311.5
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.09.031
中文引用格式: 杜虹,彭華,馬金全,等. 基于異構信號處理平臺的自動代碼生成工具[J].電子技術應用,2016,42(9):118-121.
英文引用格式: Du Hong,Peng Hua,Ma Jinquan,et al. Automatic code generation framework for heterogeneous processing platform[J].Application of Electronic Technique,2016,42(9):118-121.
Automatic code generation framework for heterogeneous processing platform
Du Hong,Peng Hua,Ma Jinquan,Yue Chunsheng
College of Information System Engineering,Information Engineering University,Zhengzhou 450001,China
Abstract: To solve the Heterogeneous platform development difficulties on period and complexity,a new automatic code generation is put forward. This auto-code-generation comprises of framework configuration,element macro definition,hardware drive,component software and component assembly.Experimental results show that the auto-code-generation meets the demands of real-time,distributed processing and reliability,can ensure the consistence with the actual engineering and reduce workload on manual programming.
Key words : automatic code generation;heterogeneous platform;Python;twin-engine

0 引言

  隨著通信信號處理技術不斷發展,面臨著無線通信體制更新換代速度快、軟硬件升級頻繁、研制成本高、開發周期長等問題[1]。為應對多體制通信處理的快速更新,基于軟件化定義的異構通信處理平臺成為了近年來的研究熱點[2]。

  雖然異構通信處理平臺性能良好、適用性廣,但是由于其涉及軟硬件類型繁多,導致了開發過程復雜、開發周期長、分工合作銜接困難等問題[3]。在龐大復雜的平臺系統中,一點改動就可能牽一發而動全身,導致程序的不一致性。為了降低軟件開發強度,縮短開發周期,減少代碼的重復書寫,一直以來軟件開發者都致力于代碼自動生成方面的研究。作為復用技術的核心和基礎,代碼自動生成是提高軟件開發效率的有效手段[4]。自動代碼生成器不僅減小了開發人員的工作量,同時提高了工程的一致性,更易于分工與維護。

  針對異構通信信號處理平臺在實時性、分布式、可靠性等方面的要求,自動代碼生成器需應對異構平臺中的實時處理,以及編程一致的系統可靠性[5]。為了提高軟件開發綜合效率,實現組件的快速開發,縮短新算法從理論到應用的開發周期,本文提出了一種新型的代碼自動生成器工具。該生成工具包括框架配置文件向導、描述要素宏定義文件實時更新、硬件驅動源代碼框架生成、軟件組件源程序框架生成、軟件包組裝以及裝配粘合代碼的自動生成等。實測分析表明,該生成工具對于異構通信平臺軟件快速開發、硬件迅速映射、用戶便捷應用等方面有顯著突破,是異構通信信號處理平臺實現其實時性、分布式、可靠性的重要工具。

1 自動代碼生成技術

  目前,自動代碼生成技術應用十分廣泛,在UML建模[6]、模型驅動框架(MDA)[7]、數據庫表創建[8]等方面都有所突破。但是在異構通信處理平臺上的代碼自動生成技術仍不完善,只在異構多核處理器方面有少量研究[9]。

  基于異構通信信號處理平臺的代碼自動生成關鍵在于建模抽象技術[10]、復用技術[11]、Python引擎技術[12]。代碼主要分為3種類型[13]:第一種是框架代碼中的固定部分,無需做任何修改;第二種代碼指大部分不用修改,只對有相應的輸入來源和邏輯規律的代碼進行修改;第三種是沒有任何規律可循的特殊代碼,這類代碼須由專業人員填寫,無法自動生成。第一種代碼可直接使用,第三種代碼留白待用,第二種代碼即需要實現自動生成的主要代碼。

  代碼自動生成主要由元數據、代碼模板、數據模型和代碼生成引擎組成,其流程如圖1所示。

圖像 001.png

  (1)元數據:元數據是對異構通信處理平臺資源的一種描述,通過建模實現,是數據信息傳遞的基礎。

  (2)代碼模板:代碼模板是用戶想要生成的源代碼模型,它表示源代碼中的共性部分,即無需修改的部分。

  (3)數據模型:數據模型是代碼自動生成框架的基礎模型,具有高度的抽象性。它表示了源代碼中的個性部分,即需根據規律自動生成的部分。

  (4)源代碼:源代碼是代碼自動生成的成果,即通過自動生成形成的可加入工程直接使用的完整代碼。

2 異構平臺的軟件體系架構

  異構通信處理平臺包括對ATCA、VPX、CPCI、專用PC等已有硬件處理平臺的兼容,可以統一地開發運行環境實現軟硬件的無縫交互,實現多功能應用組件的高度共享。其軟件體系架構分為硬件層、板級支持包層、操作系統與驅動層、硬件抽象層、核心服務層和應用層。

  一般地,為了實現異構通信信號處理平臺中多處理器和軟件組件的升級繼承與資源共享,其自動代碼生成器需滿足平臺框架需求,具體層級分布如圖2所示。通信處理平臺的自動代碼生成器提高了軟件開發的綜合效率,實現硬件驅動和軟件組件的快速開發,縮短了新算法應用的實際周期,為通信領域的快速發展提供了良好的平臺。

圖像 002.png

3 自動代碼生成器實現

  3.1 操作系統與驅動層代碼生成

  在操作系統與驅動層,異構通信處理平臺的自動代碼生成工具主要涉及硬件設備驅動的自動代碼生成。處理器包括作為設備的處理器和平臺中的處理器。每個硬件設備驅動都要實現如表1所示的功能。

圖像 007.png

  驅動接口名稱由功能名稱和數據庫存儲的板卡類型號、處理器類型碼和處理器號組成。板卡類型號表明處理器所在板卡信息,確定處理器歸屬。處理器類型碼表明了處理器的類型、處理方式和編程模式。處理器號是對某板卡上具體處理器的確定。由以上三方面的信息共同確定系統中唯一一個處理器,由此定義驅動函數。

  根據組合形成的函數名,通過函數模板實現驅動接口的定義、注冊和函數框架生成。首先根據函數名形成相應的驅動接口定義文件,驅動接口注冊文件和驅動接口函數文件。根據函數定義、注冊、函數框架的函數模板,自動完成不同文件的驅動定義和注冊。

  3.2 核心服務層代碼生成

  3.2.1 配置文件向導

  在核心服務層,異構通信處理平臺的自動代碼生成工具主要涉及配置文件向導和描述要素宏定義。配置文件向導主要是針對平臺配置時的可視化向導,主要方面如表2所示。用戶可根據可視化向導對平臺進行配置,由具體模板模式以及用戶對平臺的配置信息,形成系統可識別的配置文件。

圖像 008.png

  3.2.2 描述要素宏定義

  描述要素是對平臺系統的整體描述,包括軟硬件物理元件、連接關系和功能描述。根據對異構通信處理平臺建模,元數據結合特定編碼形成宏定義,模板變量如表3所示。自動生成要素宏定義保證了系統擴展升級時的一致性,是實現平臺高可靠性和可擴展性的保證。

圖像 009.png

  3.3 應用層代碼生成

  3.3.1 軟件組件函數框架

  軟件組件源代碼主要包括對應用功能組件的定義和實現。軟件組件的函數如表4所示。組件函數名由組件名稱和功能名稱組成,創建對唯一組件的初始化、數據處理和參數配置等。根據組件名,在數據庫中查找組件對應的參數名和參數類型,為實現數據結構定義提供數據。根據組件名稱,由組件名作為定義文件和函數文件的名稱創建組件應用文件。

圖像 010.png

  3.3.2 軟件裝配腳本

  軟件裝配的腳本生成是通信處理平臺的中心環節。根據通信處理流程形成的腳本文件,記錄了組件功能和連接方式,是軟件化處理的核心。Python腳本可直接解釋執行,省去了編譯時間;并且可與多種語言保持良好的兼容性和互操作性[14]。用Python做腳本文件可無縫調用C模塊程序,既運用了C的快速計算功能,也兼具了Python簡單的流模式記錄特性,是軟件裝配腳本的良好選擇。文本文件對操作系統的適應性更強,增加了系統可移植性,但是需要設計文本格式和解析引擎。

  為保證系統實時性和可擴展性,軟件裝配的腳本采用雙解析引擎,以txt文本和python文件共同作為裝配腳本,如圖3所示。兩種腳本可視化應用對用戶沒有區別,可根據自己熟悉的編程模式選擇腳本類型。在應用運行時,雙引擎解析自動識別應用描述腳本,執行應用。

圖像 003.png

4 實測分析

  為驗證本文提出的自動代碼生成器的有效性,將以一個QPSK調制解調信號處理流程為例,在實際系統上進行測試。

  4.1 實驗系統體系組成

  本次實驗系統的硬件平臺以PC作為域管理器,ATCA和VPX作為處理平臺。ATCA平臺包括兩塊板卡,板卡上有DSP和FPGA。VPX包括一塊板卡,板卡上有FPGA。其中,DSP類型為TMS320C6678,FPGA類型為XC5VLX50T,硬件平臺拓撲如圖4所示。

圖像 004.png

  以QPSK調制解調信號處理流程為例。Txdemo組件的功能是產生1 024長度的二進制信號,并通過輸出端口發送出去,Rxdemo組件的功能是接收信號,并且將信號保存到指定文件中,方便用戶查看。首先由Txdemo信源發送數據,經QPSK調制模塊調制,通過AWGN信道后,再由QPSK解調模塊解調,最后將解調后的數據保存在Rxdemo中。其中,Txdemo組件和Rxdemo組件部署在PC上,QPSK調制模塊和QPSK 解調模塊部分別部署在ATCA的兩塊處理板上,AWGN信道部署在VPX的處理板上,具體部署如圖5。

圖像 005.png

  4.2 實驗結果及分析

  QPSK調制解調波形結果如圖6所示。結果與實驗預期結果相符,印證了框架的可行性,即自動代碼生成的編程一致性和可靠性。應用模塊分布在不同的處理器上,滿足代碼自動生成的異構平臺分布性。在系統運行過程中,除了模塊功能代碼之外,均由代碼自動生成實現。各模塊的運行時間如表5所示。經計算,框架代碼生成時間開銷占應用總開銷的2%,滿足實時性要求。綜合驗證結果,基于異構通信處理平臺的自動代碼生成技術滿足了系統對實時性、分布式、可靠性等方面的要求,證明了自動代碼生成的有效性。

圖像 011.png

圖像 006.png

5 結論

  本文基于異構通信處理平臺框架,根據其對實時性、分布式、可靠性等方面的要求,實現了該框架的自動代碼生成。實現了框架配置文件、要素宏定義文件、硬件驅動源代碼框架、軟件組件源程序框架以及裝配粘合代碼的自動生成,加強了平臺中軟硬件編程的一致性、縮短了開發周期,大大減少需要手工編寫開發和測試代碼的工作量,提高了軟件開發的效率。

  參考文獻

  [1] JTRS Draft Specification.Software communications architecture specification(rev.4.0)[R].Washington:JTRS Joint Program Office,2012.

  [2] DICKENS M L.Surfer:Any-core software defined radio[J].Dissertations & Theses-Gradworks,2012,8(2):204-205.

  [3] ADRAT M,ASCHEID G.Special issue on recent innovations in wireless software-defined radio systems[J].Journal of Signal Processing Systems,2015,78(3):239-241.

  [4] Wang Miao,Qi Fengbin.Automatic code generation framework for Heterogeneous multi-core systems[J].Journal of Frontiers of Computer Science and Technology,2013,7(6):518-526. 

  [5] FAYEZ J A.Designing a software defined radio to run on a heterogeneous processor[D].Virginia:Virginia Polytechnic Institute and State University,2011.

  [6] 曹雷,薛平貞.UML建模在嵌入式系統開發中的應用[J].現代電子技術,2013(16):41-44.

  [7] 張清波.基于MDA模型驅動的代碼生成的研究與設計[J].現代計算機:專業版,2015(9):73-79.

  [8] 劉雪飛,吳伯橋,王申強.XML文檔與數據庫表信息互相轉換的方法研究與實踐[J].信息安全與技術,2013(7):67-69.

  [9] TULIKA M,MIHAI P.Bahurupi:A polymorphic heterogeneous multi-core architecture[J].Acm Transactions on Architelture & Code Optimization,2013,8(4):73-94.

  [10] CHEN Q,TIRUMALA S,JAIN A.Integrated circuit optimization modeling technology:US,US 8555233 B2[P].2013.

  [11] HONG Y S,SONG H U.Refresh period signal generatorwith digital temperature information generation function:US,US7859931[P].2010.

  [12] MUSHTAQ A,OLAUSSEN K.Automatic code generator for higher order integrators[J].Computer Physics Communications,2014,185(5):1461-1472.

  [13] 張曦,湯俊,湯小為,等.基于TS201的信號處理軟件框架及自動代碼生成器[J].科學技術與工程,2013,13(18):5356-5360.

  [14] SAUTER N K,HATTNE J,GROSSE-KUNSTLEVE R W,et al.New Python-based methods for data processing[J].Acta Crystallographica,2013,69(7):1274-1282.

  

  


此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
在线综合亚洲| 99国产精品久久久久久久成人热| 一区二区三区在线视频免费观看 | 夜夜爽www精品| 亚洲日产国产精品| 91久久午夜| 亚洲精品久久久久久久久久久| 亚洲第一免费播放区| 欧美诱惑福利视频| 午夜在线a亚洲v天堂网2018| 亚洲专区免费| 午夜免费久久久久| 欧美一区二区三区的| 久久9热精品视频| 久久精品亚洲一区| 亚洲高清三级视频| 亚洲精品欧美专区| 一区二区日韩精品| 一区二区三区四区五区在线| 亚洲无线观看| 欧美一区二区视频网站| 欧美中文字幕在线播放| 久久精品在线免费观看| 久久久亚洲一区| 欧美va天堂在线| 欧美日本一区二区高清播放视频| 欧美另类高清视频在线| 欧美日韩在线影院| 国产精品免费aⅴ片在线观看| 国产精品稀缺呦系列在线| 国产一区二区久久久| 在线精品观看| 亚洲九九九在线观看| 亚洲最新视频在线| 亚洲午夜国产成人av电影男同| 亚洲一区二区三区精品视频| 欧美一区二区三区视频免费| 亚洲国产高清自拍| 一区二区免费看| 午夜在线不卡| 久久综合久久综合久久综合| 欧美激情一区| 国产精品色午夜在线观看| 国产区精品视频| 依依成人综合视频| 艳妇臀荡乳欲伦亚洲一区| 亚洲欧美国产日韩中文字幕| 亚洲福利视频网| 一本久久综合亚洲鲁鲁五月天| 午夜精品国产更新| 久久在线免费观看视频| 欧美日韩国产探花| 国产丝袜美腿一区二区三区| 亚洲缚视频在线观看| 在线视频一区二区| 亚洲成人在线网站| 亚洲视频一二| 久久久久久久网| 欧美色图首页| 极品少妇一区二区三区| 99在线|亚洲一区二区| 欧美专区日韩专区| 一二三区精品| 久久亚洲国产精品一区二区| 欧美久久久久久蜜桃| 国产欧美在线观看一区| 91久久国产自产拍夜夜嗨| 亚洲欧美激情诱惑| 日韩午夜激情| 久久久久欧美精品| 欧美日一区二区在线观看 | 久久精品一区四区| 亚洲一区二区黄| 女人天堂亚洲aⅴ在线观看| 国产精品久久久久久久久| 亚洲第一在线综合在线| 亚洲欧美在线x视频| 一本色道久久88亚洲综合88| 久久精品亚洲一区二区三区浴池| 欧美日韩亚洲三区| 亚洲国产mv| 久久本道综合色狠狠五月| 亚洲影院污污.| 欧美区一区二| 影音先锋亚洲一区| 亚洲欧美偷拍卡通变态| 国产精品99久久久久久宅男| 另类欧美日韩国产在线| 国产精品一区在线观看| 亚洲美女91| 91久久精品久久国产性色也91| 欧美在线日韩精品| 国产精品草草| 99re66热这里只有精品3直播| 亚洲国产精品一区在线观看不卡 | 欧美—级在线免费片| 韩国精品在线观看| 亚洲男人av电影| 亚洲专区在线| 欧美日韩午夜剧场| 亚洲日本中文字幕区| 亚洲国产精品尤物yw在线观看 | 黄色亚洲在线| 欧美亚洲一级片| 欧美一区二区日韩一区二区| 欧美日韩一区自拍| 亚洲毛片在线看| 99视频热这里只有精品免费| 欧美二区乱c少妇| 在线播放中文字幕一区| 久久精品夜色噜噜亚洲a∨| 久久精品人人爽| 国产区亚洲区欧美区| 亚洲免费视频观看| 午夜精品久久久久久久99水蜜桃 | 午夜精品一区二区三区在线播放| 欧美日韩亚洲激情| 亚洲久久成人| 亚洲午夜影视影院在线观看| 欧美另类高清视频在线| 亚洲日本黄色| 亚洲网址在线| 国产精品国产三级国产专区53| 一本久久精品一区二区| 亚洲天堂视频在线观看| 欧美亚洲成人网| 亚洲一区免费在线观看| 亚洲女同同性videoxma| 国产精品多人| 亚洲欧美国产不卡| 欧美在线视频日韩| 国产自产高清不卡| 亚洲国产综合在线| 欧美激情久久久久| 99国产麻豆精品| 午夜精品一区二区三区四区| 国产麻豆9l精品三级站| 欧美一区二区视频免费观看| 久久米奇亚洲| 亚洲黄色尤物视频| 中文在线一区| 国产精品一级在线| 久久国产精品一区二区三区四区| 免费观看成人鲁鲁鲁鲁鲁视频| 亚洲国内精品| 亚洲一区精彩视频| 国产欧美一区二区精品婷婷 | 农村妇女精品| 亚洲美女视频在线观看| 亚洲免费在线观看| 国产一区二区三区视频在线观看| 亚洲国产成人不卡| 欧美人与性禽动交情品 | 欧美激情精品久久久| 99亚洲视频| 欧美一区视频| 亚洲电影免费观看高清| 一本色道久久88综合日韩精品| 国产精品久久久久久av下载红粉 | 久久成人在线| 亚洲电影第三页| 亚洲女性喷水在线观看一区| 国产一区二区三区高清| 日韩亚洲欧美成人一区| 国产精品香蕉在线观看| 亚洲黄色成人| 国产精品国产自产拍高清av王其| 久久精品青青大伊人av| 欧美日本韩国一区| 欧美一区二区精美| 欧美日韩999| 欧美中在线观看| 欧美日韩综合一区| 亚洲丰满在线| 国产精品盗摄一区二区三区| 亚洲福利免费| 国产精品久久毛片a| 亚洲激情视频在线观看| 国产精品极品美女粉嫩高清在线 | 欧美另类亚洲| 欧美一级久久| 欧美日韩在线观看视频| 亚洲第一精品福利| 国产精品高潮呻吟视频| 亚洲黄色片网站| 国产麻豆精品视频| 正在播放亚洲| 揄拍成人国产精品视频| 亚洲欧美激情在线视频| 亚洲电影下载| 久久av红桃一区二区小说| 日韩视频精品在线观看| 久久综合影视| 午夜精品av| 国产精品av一区二区| 最新日韩在线视频| 国产一级一区二区| 亚洲专区在线| 亚洲蜜桃精久久久久久久| 久久综合网络一区二区|