1. 程式人生 > >Simulink模型如何做單元測試

Simulink模型如何做單元測試

參考連結:

>>slvnmakeharness(‘model_name’)

注1:slvnvmakeharness(‘model_name’)其中的model_name指的是simulink模型檔案的名稱,非模型中某個模組的名稱。

注2:輸入命令slvnvmakeharness(‘model_name’)時需要將model_name檔案開啟。

注3:需要建立test harness的模型必須滿足:compile無報錯,即點選“run”,simulink右下角會出現“compiling”進度。當compile完成,如果沒彈出錯誤框或者matlab工作視窗中沒有提示錯誤,則表示compile成功。(1、被測模型必須為“輸入+模型+輸出”形式,其中輸入為input,輸出為output,不能為from或者goto模組;)

注4:被測模型中不能有enable or trigger模組。

注5:如果模型中有Z-1形式的delay模組(或者離散時間模組),一定要將simulink配置中的solver option設定為固定步長,否則compile會報錯誤。(solver配置為discrete?)

注6:被測模型的輸入、輸出必須為一一對應input、output,不能出現用BusSelector或者Bus Creator。

注7:出現數據型別衝突的時候,加入convert(後繼承)以匹配前後量的資料型別。

  • 擴充套件測試用例

>>loggedSignals = sldvlogsignals('model_name_harness')

>>save extraTestCases.mat loggedSignals

  • 生成測試用例

進入被測模型介面,頁面選單進入analysisàdesign verifieràoptions

Model coverage objectives可選

載入儲存的mat檔案:extraTestCases.mat

回到Design Verifier主介面,生成用例

生成介面

Q:生成的test harness儲存的路徑