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