本發(fā)明屬于設備建模與仿真領域,具體涉及一種通用的外圍設備功能行為級建模與仿真方法。
背景技術:
1、嵌入式系統(tǒng)軟件與硬件高度耦合,開發(fā)人員通常需要基于硬件目標機進行調(diào)試,硬件目標機外圍設備種類繁多、接口復雜、專用性強,難以在不同配置項軟件間進行復用,導致軟件研制環(huán)境定制成本高、開發(fā)效率低等問題。目前,常采用一種虛擬化技術對外圍設備功能進行建模和行為級仿真,構建與硬件功能等效的全數(shù)字設備模型,降低對硬件的依賴,提高復用率,進而提高軟件研制效率。
2、根據(jù)外圍設備建模和仿真的粒度差異,會產(chǎn)生多種設備模型,常見的設備模型包括時鐘周期精確設備模型、事件驅(qū)動設備模型、行為級設備模型。其中,時鐘周期精確模型精度最高,描述設備的硬件細節(jié),保證每個周期與硬件行為一致;行為級設備模型速度最快,模型間通過函數(shù)調(diào)用的方式來交互,抽象級別最高;事件驅(qū)動設備模型的精度和速度介于兩者之間。外圍設備行為級仿真采用高級語言通過函數(shù)調(diào)用、結構體定義等方式對外設寄存器、接口、屬性進行建模,進行邏輯功能行為級模擬,通過對功能和特性進行抽象表示創(chuàng)建設備對象,使用對象間的交互關系來描述硬件設備的組成關系,形成全數(shù)字設備模型,為嵌入式軟件研制和測試提供支撐。
3、嵌入式系統(tǒng)外圍設備接口復雜且種類繁多,普遍存在利用率低、成本高、故障不可逆等問題,在硬件設備未具備時,難以開展有效的嵌入式軟件研制和測試。雖然,采用虛擬化技術可以實現(xiàn)硬件外圍設備模擬,但是,由于外圍設備建模標準不統(tǒng)一,功能仿真效率較低,定制難度大,在嵌入式軟件研制的實際工程應用中無法普及。
4、為了滿足提高嵌入式軟件研制效率的需求,對目標機外圍設備進行建模和仿真,本發(fā)明提供了一種通用的外圍設備行為級功能建模與仿真方法。通過建模對設備進行抽象描述,通過行為級模擬實現(xiàn)外圍設備邏輯功能,形成與硬件功能等效的數(shù)字化設備模型,構建運行環(huán)境,支撐嵌入式軟件的研制和測試。
技術實現(xiàn)思路
1、(一)要解決的技術問題
2、本發(fā)明要解決的技術問題是如何提供一種通用的外圍設備功能行為級建模與仿真方法,以解決當前嵌入式系統(tǒng)外圍設備接口復雜、種類繁多導致的設備建模過程復雜,開發(fā)成本高、仿真效率低、重用性差等問題。
3、(二)技術方案
4、為了解決上述技術問題,本發(fā)明提出一種通用的外圍設備功能行為級建模與仿真方法,該方法包括如下步驟:
5、第一步、外圍設備關鍵特征定義
6、提取設備關鍵特征,定義一種結構化的設備描述文件*.vdl對設備關鍵特征進行抽象描述,設備關鍵特征包括:設備名稱、設備描述、設備接口、設備屬性內(nèi)容;其中設備接口包括輸出接口、輸入接口、注冊接口、釋放接口;設備屬性包括中斷號、設備基地址、寄存器偏移地址;
7、第二步、外圍設備行為級功能建模
8、采用行為級建模方法對外圍設備功能進行建模,包括:寄存器、io接口、仿真核心調(diào)度行為;寄存器行為建模,用于根據(jù)寄存器讀寫內(nèi)容識別出讀寫操作,進行相應的邏輯行為描述;io接口行為建模,用于根據(jù)數(shù)據(jù)輸出方向?qū)?shù)據(jù)收發(fā)功能進行描述,設備間通過調(diào)用io接口函數(shù)實現(xiàn)數(shù)據(jù)通信;仿真核心調(diào)度行為建模,用于根據(jù)設備名稱和設備描述建立設備唯一標識,進行設備的注冊和釋放操作,模擬設備的接入和刪除行為;
9、第三步、外圍設備模型c代碼生成
10、定義一種設備描述語言到c語言的翻譯規(guī)則,對設備關鍵特征和邏輯行為進行翻譯,生成設備c代碼,在此基礎上進行設備功能完善,形成完備的設備模型代碼;
11、第四步、設備功能一致性檢查
12、提取設備模型代碼特征,建立設備關鍵特征描述與設備模型代碼特征的映射關系,通過設備模型代碼特征與設備關鍵特征比對,驗證生成的設備模型代碼與被仿設備關鍵功能的一致性;
13、第五步、標準設備模型庫封裝
14、標準設備模型庫封裝包括設備動態(tài)庫和設備關鍵特征描述文件兩部分;通過一致性檢查后,將設備模型代碼編譯成可供調(diào)用的設備動態(tài)庫,對設備關鍵特征描述和設備動態(tài)庫進行封裝,形成標準的設備模型庫,進行統(tǒng)一管理。
15、(三)有益效果
16、本發(fā)明提出一種通用的外圍設備功能行為級建模與仿真方法,本發(fā)明的一種通用的外圍設備功能行為級建模與仿真方法具有如下特點:
17、1)廣泛采用基于設備描述語言的外圍設備行為級建模技術,規(guī)范了設備建模方法和標準,提高了設備建模效率,解決了設備模型重用性差、互聯(lián)互通困難的問題;
18、2)實現(xiàn)了設備模型代碼的生成,通過翻譯設備描述文件,將接口、屬性、寄存器等關鍵特征信息翻譯成c代碼,建立了c代碼與設備關鍵特征的映射關系,基于映射關系進行設備代碼的一致性檢查;
19、3)實現(xiàn)了標準設備模型的封裝和調(diào)度,將設備描述文件與設備動態(tài)庫結合,形成標準設備模型,設備描述文件提供的接口信息與設備動態(tài)庫提供的仿真算法相匹配,采用不同建模方法實現(xiàn)的設備模型都可基于標準設備模型實現(xiàn)互聯(lián)和通信,基于統(tǒng)一的設備仿真調(diào)度框架運行。
1.一種通用的外圍設備功能行為級建模與仿真方法,其特征在于,該方法包括如下步驟:
2.如權利要求1所述的通用的外圍設備功能行為級建模與仿真方法,其特征在于,設備描述文件*.vdl是基于json格式實現(xiàn)的結構化描述文件,關鍵字包括dev、dev_desc、io_in、io_out、io_inout、reg、reg_offset,使用關鍵字進行設備寄存器、接口功能建模;分析被仿外圍設備功能,抽取設備名稱、設備寄存器、設備io接口、設備屬性關鍵特征信息,使用設備描述語言進行描述。
3.如權利要求2所述的通用的外圍設備功能行為級建模與仿真方法,其特征在于,所述第二步中,寄存器行為進行建模包括寄存器大小和方法兩部分;寄存器大小范圍為1-8個字節(jié),按字節(jié)進行存儲,通過字節(jié)數(shù)組進行模擬;寄存器方法包括讀寫方法,寄存器讀寫訪問時觸發(fā)該方法,方法內(nèi)部根據(jù)讀寫的內(nèi)容,識別出對應的控制、傳輸行為,進行抽象描述。
4.如權利要求2所述的通用的外圍設備功能行為級建模與仿真方法,其特征在于,所述第二步中,io接口行為建模包括:數(shù)據(jù)接收和數(shù)據(jù)發(fā)送兩部分,根據(jù)數(shù)據(jù)傳輸方向?qū)崿F(xiàn)接收方法和發(fā)送方法;接收方法實現(xiàn)接收外部數(shù)據(jù)功能,按照設備通信協(xié)議解析外部數(shù)據(jù)格式,將接收數(shù)據(jù)寫入到設備寄存器、存儲單元;發(fā)送方法實現(xiàn)數(shù)據(jù)向外部發(fā)送功能,讀取設備寄存器、存儲單元內(nèi)容,按照設備通信協(xié)議組幀,發(fā)送數(shù)據(jù)到外部;設備間通信通過調(diào)用對應設備的接收和發(fā)送方法實現(xiàn)通信。
5.如權利要求2所述的通用的外圍設備功能行為級建模與仿真方法,其特征在于,所述第二步中,仿真核心調(diào)度行為建模包括設備注冊、設備釋放方法;設備注冊方法實現(xiàn)設備模型功能初始化,建立設備間io接口函數(shù)調(diào)用映射,將設備加入到仿真核心設備管理隊列;設備釋放方法實現(xiàn)設備功能釋放,將設備從仿真核心設備管理隊列中移除。
6.如權利要求1-5任一項所述的通用的外圍設備功能行為級建模與仿真方法,其特征在于,所述第三步包括:
7.如權利要求6所述的通用的外圍設備功能行為級建模與仿真方法,其特征在于,所述第四步包括:提取生成設備模型代碼的特征,包括接口函數(shù)、設備注冊函數(shù)、設備釋放函數(shù)、寄存器讀寫函數(shù)、寄存器組信息,將代碼特征與設備關鍵特征比對,生成代碼特征與設備關鍵特征的覆蓋性關系。
8.如權利要求7所述的通用的外圍設備功能行為級建模與仿真方法,其特征在于,所述第五步包括:
9.如權利要求9所述的通用的外圍設備功能行為級建模與仿真方法,其特征在于,該方法還在第五步之后還包括第六步:標準設備模型仿真調(diào)度,標準設備模型仿真調(diào)度包括:
10.如權利要求9所述的通用的外圍設備功能行為級建模與仿真方法,其特征在于,采用高級語言對設備的功能和行為進行描述,包括寄存器讀寫行為和接口通信行為;寄存器讀寫行為建模時,首先,采用字節(jié)和數(shù)組結構來描述寄存器組,定義read和write方法;其次,建立寄存器組與內(nèi)存的映射,通過偏移地址來尋址寄存器并進行讀寫操作;最后,根據(jù)寄存器讀寫內(nèi)容完善邏輯功能;接口通信行為建模時,首先在設備內(nèi)部定義數(shù)據(jù)接收和發(fā)送方法,實現(xiàn)數(shù)據(jù)編解碼;其次,建立設備接口和設備內(nèi)部方法的映射關系;最后,設備間通過調(diào)用設備內(nèi)部方法的方式向其他設備發(fā)送數(shù)據(jù)或者從其他設備接收數(shù)據(jù)。