當我們談論仿真時,我們通常談論以 RTL 形式表示的數字邏輯,然后在仿真器中填充門。而且有很多這樣的邏輯,所以就目前而言這很好。
但是,數字邏輯比以往任何時候都更需要與現實世界的模擬系統進行交互。其中許多系統都可以建模——就像數字系統一樣。不同之處在于,這些模型通常利用連續時間實現而不是離散實現。它們被稱為數學模型、連續時間模型或機電一體化模型。
對汽車革命的關注是其中的一部分,因為汽車中的電子控制單元(ECU)通常連接到機械部件。但是,您也可以在工業物聯網中找到此類模型,其中越來越多的傳感器和執行器連接到機械設備。
此外,還有一些離散時間應用 - 數字信號處理(DSP) - 也可能具有比RTL中可能表達的更復雜的數學模型或抽象的數學模型。
將這些類型的模型連接到 Veloce 仿真器非常簡單。與 SystemVerilog 中表示的更典型的選擇方案的使用相比,它可以提供更徹底的驗證練習。但是,在仿真計劃中包含此類模型的確切方式取決于模型的來源。
矩陣模型
Matlab 是一種非常流行的工具,用于以抽象的數學方式對現實世界的現象進行建模。它既可用于離散時間DSP模型,也可用于連續時間機電一體化或其他數學模型。
有三種可能的方法可以將此類模型連接到 Veloce 仿真器。
原生 Matlab 協同仿真。這需要在仿真期間訪問 Matlab;仿真器通過直接編程接口 (DPI) 連接到模型。當然,您需要 Matlab 許可證才能運行模型;Matlab本身將作為自己的獨立進程在主機上執行,與測試平臺的其他元素一起運行。
導出 HDL 模型。這允許您在不運行 Matlab 實例的情況下使用該模型。相反,您可以使用 Matlab 的 HDL 編碼器功能導出模型的 HDL 版本,該功能需要自己的功能許可證。然后,將模型模擬或模擬為 HDL。
導出 C 模型。與前面的方法類似,這利用了 Matlab Coder 功能,該功能同樣需要功能許可證。C 模型可以使用 DPI 接口連接到模擬器。
Amesim和其他:FMU和FMI
像西門子的Amesim這樣的工具也可以用來生成用于仿真的數學模型。但是這些程序依賴于連接到Veloce的模型的不同交換格式。這種格式是廣為接受的行業標準,不僅得到西門子的支持,而且得到博世和其他數十家公司的支持。
這些模型有兩個部分。首先,有功能模型單元或FMU的概念。您可以將其視為所需任何功能的塊盒模型。它由C代碼和一個XML文件組成。
通過功能模型界面(FMI)訪問FMU。FMI 是封裝或包裝 FMU 的 API。它基于開放標準,這意味著無論用于生成FMU的工具如何,都可以合并FMU。只要它們遵守 FMI,那么任何使用 FMI 的模擬或仿真環境都可以訪問該模型。FMI 還與設備無關,使模型在驗證系統和主機之間可移植。
有兩種類型的 FMU。
模型交換版本。其目的是僅提供模型的數學定義部分。如果您使用此模型,則假定您將擁有自己的求解器,該求解器能夠查詢和練習模型。如果您只是嘗試將模型提供給已經擁有自己的工具來執行模型的團隊,那么這是最適合您的格式。
協同模擬版本。此版本更適合驗證和協同仿真。它包括求解器和數學模型,使其作為可集成到測試平臺中的可執行單元自給自足。
請注意,Matlab 不直接支持 FMU。但是,您可以創建一個 C 模型,然后使用單獨的工具將該 C 模型轉換為成熟的 FMU。或者,如果沒有這樣的工具,您可以手動編碼 C 包裝器和 XML 文件。
插入模型
無論模型類型如何 - Matlab native,Matlab HDL,Matlab C或FMU - 它們都通過SCE-MI接口連接到Veloce仿真器,允許在主機上的測試平臺和仿真器之間有效地來回通信更高級別的抽象和事務。
因此,隨著連接到機械和模擬組件的系統數量的增加,這些組件的模型正在成為驗證和確認的一個重要方面。如果仿真器能夠依靠復雜、準確的模型來了解連接組件的行為方式,它們將能夠完成更徹底、更現實的工作。來自模型的信號將作為仿真器中邏輯的更真實的激勵,仿真器的輸出可以驅動組件模型,以驗證組件在響應這些輸出時是否按預期運行。
數學模型是測試平臺可以更準確地表示仿真電路將連接到的世界的另一種方式。由于模型使用驗證工程師在運行仿真時已經熟悉的標準接口連接到 Veloce 仿真器,因此使用它們的門檻應該很低。
這將是驗證復雜集成電路以確保它們在爆炸式增長的汽車和工業設備領域正常運行的一種越來越重要的方法。
審核編輯:郭婷
-
dsp
+關注
關注
553文章
8030瀏覽量
349319 -
編碼器
+關注
關注
45文章
3649瀏覽量
134745 -
仿真器
+關注
關注
14文章
1019瀏覽量
83804
發布評論請先 登錄
相關推薦
評論