版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、Embedded Coder為嵌入式系統(tǒng)生成優(yōu)化的C/C+代碼 Embedded coder可為嵌入式處理器、目標上的快速原型及產(chǎn)品中使用的微處理器生成可讀的、集成的、高效的C/C+代碼。Embedded coder擴展了Matlab coder和Simulink coder配置選項和優(yōu)化設(shè)置,來更好的控制生成代碼的函數(shù)、文件和數(shù)據(jù)。這些優(yōu)化設(shè)置提高了代碼的執(zhí)行效率,并能夠集成產(chǎn)品應(yīng)用時的外部代碼、數(shù)據(jù)類型及標定參數(shù)。還可以將第三方開發(fā)環(huán)境集成到為嵌入式系統(tǒng)生成可執(zhí)行文件的build過程中。
2、0; Embedded coder本身提供對AUTOSAR和ASAP2軟件標準的支持。同時也提供可追溯性報告、代碼接口文件和自動化的軟件測試來支持DO-178B,IEC61508和ISO26262的軟件開發(fā)。特點:· 擴展了Matlab coder和Simulink coder的優(yōu)化和代碼生成配置選項。Ø · 具有使用Simulink數(shù)據(jù)字典進行存儲類型、數(shù)據(jù)類型和別名定義的能力。Ø · 針對具體目標平臺的代碼優(yōu)化。Ø · 無論有無RTOS的多速率、多任務(wù)
3、和多核的代碼執(zhí)行。Ø · 代碼驗證,包含SIL/PIL測試,自定義注釋,具有模型和需求到代碼雙向追蹤的代碼報告。Ø · 集成Texas Instruments Code Composer Studio, AnalogØ Devices VisualDSP+®及其它的第三方嵌入式開發(fā)環(huán)境。 · 對標準的支持,包含ASAP2, AUTOSAR, DO-178, IEC 61508, ISO 26262,Ø and MISRA C。一個生成代碼的定點模型和它的設(shè)置為SIL執(zhí)行的仿真模型
4、。Embedded Coder可進行產(chǎn)品級的嵌入式系統(tǒng)代碼快速生成、歸檔和測試。強大的功能 配置目標平臺 可使用Matlab Coder的工程用戶界面及Simulink Model Explore來設(shè)置Embedded Coder的代碼生成的配置選項。也可以直接使用Matlab命令和腳本的形式對每個選項進行設(shè)置。 從Matlab Coder的工程用戶界面,可進行:· 為MATLAB文件和函數(shù)生成代碼
5、。l · 選擇使用Embedded Coder特性。l · 為代碼生成配置功臣設(shè)置選項。l · 創(chuàng)建、加載和重用多個工程。l 從Simulink Model Explore,可進行:· 為Simulink模型和子系統(tǒng)生成代碼。l · 選擇一個Embedded Coder目標。l · 為代碼生成進行目標配置。l · 創(chuàng)建、加載和重用多個配置集。l
6、60; 選擇目標 Embedded Coder使用配置對象和系統(tǒng)目標文件將MATLAB代碼和Simulink模型轉(zhuǎn)換為產(chǎn)品級的源代碼和可執(zhí)行文件。 對于一個MATLAB配置對象,需要說明如下的輸出目標:· MEX文件l · C/C+靜態(tài)庫l · C/C+可執(zhí)行文件l 對于Simulink系統(tǒng)目標文件,需要說明生成的代碼即將
7、運行在哪種實時環(huán)境中。 Embedded Coder包含多種配置的目標文件,也支持第三方和自定義目標。內(nèi)置的目標包括:· Embedded Real-Time目標:為任意的產(chǎn)品級處理器生成具有定點和浮點數(shù)據(jù)的ANSI/ISOl C,C+代碼,可進行高效的實時運行。 · AUTOSAR 目標:生成支持AUTOSAR軟件組件的C代碼和實時運行接口。l · 共享庫目標:生成可在主機目標平臺上運行的靜態(tài)庫,如windows的動態(tài)鏈接庫(.dll),UNIX共享目標文件
8、(.so)。l · IDEl LINK目標:生成支持第三方集成開發(fā)環(huán)境編譯和下載的代碼,如(CCS)。 定義嵌入式硬件特性 可從預(yù)定義的列表或者使用目標設(shè)置為MATLAB或者SIMULINK代碼生成選擇目標平臺??赏ㄟ^自定義環(huán)境來擴展這個預(yù)定義的列表??赏ㄟ^Simulink Model Explore為代碼部署設(shè)置預(yù)定義列表或者設(shè)置生成的微處理器選項。Embedded Coder可為任意的微處理器或者DSP生成代碼,包括8位,16位,32位。 &
9、#160; 定義及控制自定義數(shù)據(jù) Embedded Coder可以定義及控制生成代碼中的數(shù)據(jù)格式。為了便于軟件集成,可以通過MATLAB Coder工程用戶界面說明入口函數(shù)和全局數(shù)據(jù)的類型、長度及是否是復(fù)數(shù)。 對于MATLAB代碼,Embedded Coder支持所有的MATLAB Coder的數(shù)據(jù)定義,包括定點數(shù)據(jù)對象。 對于Simulink模型,Embedded Coder生成代碼支
10、持如下的數(shù)據(jù)說明及數(shù)據(jù)字典定義:· Simulink datal object提供預(yù)定義存儲類型,包括constant,volatile,exported global,imported global,structure,bit fileld及獲取和設(shè)置的方法。 · Module packaging datal object為高級的數(shù)據(jù)對象提供預(yù)定義的特性,主要用于多種產(chǎn)品,如內(nèi)存分配來進行標定或者調(diào)節(jié)查表數(shù)據(jù)。 · User datal type-從復(fù)雜的數(shù)據(jù)中創(chuàng)建抽象的數(shù)據(jù)類型,可精確控制生成代碼中的模型數(shù)據(jù),可與legac
11、y data進行交互,同時也可替代simulink內(nèi)置的數(shù)據(jù)類型。 如下的工具將有助于在simulink中設(shè)計和管理工程數(shù)據(jù):· Custom Storage Classl Designer-通過圖形化的界面創(chuàng)建自定義的數(shù)據(jù)定義和聲明,將數(shù)據(jù)結(jié)構(gòu)導(dǎo)入到生成的代碼中,或者是導(dǎo)出數(shù)據(jù),分配內(nèi)存,將自動生成與交換標準如ASAM或者ASAP2兼容的數(shù)據(jù)格式。 · Simulink Modell Explore顯示simulink模型和stateflow圖中所有用到的數(shù)據(jù),可以以數(shù)據(jù)字典的格式查看所有
12、自定義數(shù)據(jù)的信息。 · Embeddedl Coder可以創(chuàng)建ASAP2的數(shù)據(jù)交換文件,能夠使用ASAP2標準導(dǎo)出具有復(fù)雜數(shù)據(jù)定義的模型數(shù)據(jù)??尚薷膬?nèi)置的屬性生成其它的數(shù)據(jù)交換機制文件。通過Custom Storage Class Designer創(chuàng)建自定義的存儲類型,可使用內(nèi)置圖形用戶界面進行設(shè)計、查看及驗證復(fù)雜數(shù)據(jù)類型。 優(yōu)化及打包代碼 使用Embedded Coder,可控制函數(shù)邊界、保留表達式,對多個模塊使用優(yōu)化選項以減少代碼量。數(shù)據(jù)通過全局變量或者
13、函數(shù)參數(shù)的形式與生成的代碼進行交換??蓪⑸傻拇a追溯到模型中的模塊和信號。 從MATLAB代碼和Simulink模型生成代碼,Embedded Coder選項可進行:· 為數(shù)學(xué)函數(shù)和操作符生成具體目標平臺的代碼。l · 生成導(dǎo)出到外部環(huán)境的可重用代碼。l · 減少不必要的初始化、終止、記錄和錯誤處理的代碼。l · 從整形應(yīng)用中去除浮點型代碼。l Embedded Co
14、der還為simulink模型提供額外的代碼優(yōu)化和配置選項,可進行: 從模型中生成具有處理器編譯宏定義的代碼變量。 按位存儲布爾型數(shù)據(jù)和stateflow狀態(tài)。· 可控制每個生成文件的格式。l · 控制全局變量數(shù)據(jù)是如何定義和引用的。l · 對注釋的內(nèi)容和放置位置進行說明。l具有具體目標平臺的數(shù)學(xué)擴展函數(shù)和重用函數(shù)優(yōu)化選項的MATLAB例子和Simulink例子。Embedded Coder使用具體目標平臺和可
15、移植的代碼優(yōu)化選項來提高代碼的執(zhí)行效率。 注釋、追溯及記錄代碼 Embedded Coder提供多種方式來檢查從MATLAB文件和函數(shù)或者Simulink模型和子系統(tǒng)生成的代碼。使用這些方式,可進行:· 生成代碼生成報告,來描述模型和模塊的配置選項。l · 控制生成代碼中全局數(shù)據(jù),數(shù)據(jù)烈性和函數(shù)的標識符。l · 在生成的代碼中可將MATLAB代碼作為注釋,包含函數(shù)幫助文檔。l
16、160; Embedded Coder也可將高級需求作為代碼注釋插入到代碼中,與需求文檔可進行鏈接(需要Simulink Verification and Validation)。代碼生成報告也包含代碼接口描述文件,追溯性報告及可顯示生成的源文件和代碼。模型和代碼間存在雙向的鏈接,可以方便的在每行代碼和相關(guān)的simulink模型間進行定位,包含子系統(tǒng)、模塊、MATLAB函數(shù)和代碼及Stateflow狀態(tài)圖和轉(zhuǎn)換??牲c擊一個鏈接以高亮顯示相關(guān)的模型元素或者代碼行,更加方便代碼檢查和調(diào)試。Simulink代碼生成報告,高亮現(xiàn)實算法和代碼間的雙向追蹤。 &
17、#160; 執(zhí)行和驗證代碼 Embedded Coder可將生成的代碼與代碼執(zhí)行環(huán)境進行集成,Embedded Coder對MATLAB生成的代碼的執(zhí)行與使用MATLAB Coder生成的代碼具有相同的執(zhí)行框架。 對于Simulink,Embedded Coder擴展了Simulink Coder提供的實時執(zhí)行的框架。默認情況下,代碼可在具有或者沒有實時操作系統(tǒng)、單任務(wù)多任務(wù)或者異步模式下執(zhí)行。也可以使用軟件在環(huán)(SIL)和處理器在環(huán)(PIL)的
18、方式驗證代碼執(zhí)行的結(jié)果。 生成主程序 Embedded Coder按照所提供的實時環(huán)境代碼部署信息生成一個可擴展的主程序。這種特性可為模型生成和創(chuàng)建一個完整的自定義可執(zhí)行文件。 速率分組 Embedded Coder按照模型中的采樣時間設(shè)置生成單速率或者多速率代碼。對于多速率多任務(wù)模型,按照速率分組為每個速率任務(wù)生成獨立的函數(shù)。 使用鏈接和目標
19、60; 第三方IDE、微處理器及RTOS包括Wind River Systems® VxWorks支持生成代碼的自動下載、集成、優(yōu)化和執(zhí)行。 SIL和PIL測試 Embedded Coder可在simulink中使用simulink仿真模型或者s-function模塊自動執(zhí)行生成代碼進行SIL測試,或者在嵌入式目標平臺上進行PIL測試。代碼生成測試API可幫助自動測試的執(zhí)行,并與之前的模型比較測試結(jié)果。與第三方工具的集成可
20、進行代碼結(jié)構(gòu)覆蓋度分析來確保測試的完整性。 Simulink Coder從Simulink和Stateflow模型生成C和C+代碼 Simulink Code(之前版本為 Real-Time Workshop)從 Simulink框圖、Stateflow圖和 MATLAB函數(shù)生成并執(zhí)行 C和C+代碼。生成的代碼可用于實時和非實時應(yīng)用,包括仿真加速、快速原型建立和硬件在回路測試??梢允褂?Simulink 對生成的代碼進行調(diào)優(yōu)和監(jiān)測,或在 MATLAB和 Simulink之外運行代碼并與之交互。特點
21、160; 離散、連續(xù)或混合 Simulink 和 Stateflow 模型的 ANSI/ISO C 和 C+ 代碼及可執(zhí)行文件 用于大型模型的增量代碼生成 支持整型、浮點型和定點型數(shù)據(jù)類型 針對單采樣率、多采樣率和異步模型的代碼生成 使用或不使用 RTOS 的單任務(wù)、多任務(wù)和多核代碼執(zhí)行
22、 用于參數(shù)調(diào)優(yōu)和信號監(jiān)測的外部模式仿真強大的功能 選擇和使用目標 Simulink 模型資源管理器在 Simulink 中提供了單一用戶界面,用于配置所有代碼生成設(shè)置。模型資源管理器可提供:· 選擇代碼生成目標l · 配置目標以進行代碼生成l · 為模型或子系統(tǒng)生成代碼l Code Generation Advisor 會檢查模型和代碼生成設(shè)置
23、,然后根據(jù)需求針對如何改進配置提供建議。 一旦為項目確定了最優(yōu)設(shè)置之后,便可以將這些設(shè)置保存為配置集以重復(fù)用于其他模型。使用 Simulink 建模的大型飛機系統(tǒng)。 Simulink Coder 支持用于大規(guī)模建模的高級 Simulink 功能,包括模型塊、變量子系統(tǒng)和總線數(shù)組。 選擇目標: Simulink Coder 使用系統(tǒng)目標文件將模型轉(zhuǎn)換為源代碼和可執(zhí)行文件。 目標文件指定生成的代碼將要在其中運行的環(huán)境。 Simulink Coder 包括若干個準備好運行的配置的目標文件,還支持
24、第三方目標和自定義目標。 內(nèi)置目標包括:· 一般實時目標生成用于模型參數(shù)交互式調(diào)優(yōu)的代碼,記錄和顯示實時仿真結(jié)果并靜態(tài)分配數(shù)據(jù)為進行高效的實時執(zhí)行;l · 一般實時 Mallocl 目標在生成的代碼中使用動態(tài)內(nèi)存分配,以便在一個可執(zhí)行文件中包含同一模型的多個實例或包含多個模型; · 快速仿真目標 (RSim)提供快速靈活的測試平臺用于使用定步長或變步長求解器執(zhí)行批量或 Montel Carlo 仿真研究,并使您可以將每次運行的數(shù)據(jù)保存到唯一的輸出文件中。 可以擴展這些目
25、標以創(chuàng)建自定義的運行時接口和設(shè)備驅(qū)動程序文件,從而能以特定環(huán)境為目標,訪問 Simulink Coder 的執(zhí)行并調(diào)試其中的功能。 編譯和執(zhí)行生成的代碼 Simulink Coder為使用常用桌面環(huán)境編譯和執(zhí)行生成的代碼提供內(nèi)置支持,包括:· Eclipse IDEl · Microsoft® Visual C+® IDEl · Linux® 操作系統(tǒng)l · Windows
26、® 操作系統(tǒng)l 可以使用 Embedded Coder 在實時嵌入式系統(tǒng)中生成和運用優(yōu)化的 C 和 C+ 代碼。 定義和控制數(shù)據(jù) Simulink Coder 允許用戶定義和控制模型數(shù)據(jù)在所生成代碼中的出現(xiàn)方式。 可通過以下方式管理數(shù)據(jù):· 將數(shù)據(jù)類型聲明為整型、浮點型和定點型l · 指定調(diào)優(yōu)和校準參數(shù)或常數(shù)的存儲區(qū)l · 指定監(jiān)測和記錄信號數(shù)據(jù)
27、的存儲區(qū)l · 重復(fù)使用存儲區(qū)以最小化局部范圍的數(shù)據(jù)l Simulink Coder 從存儲在 Simulink 框圖或數(shù)據(jù)字典(通過 Simulink 模型資源管理器訪問)中的數(shù)據(jù)生成代碼。 通過利用不同的數(shù)據(jù)字典集,可以將代碼從一個模型重新運用到多個目標。Simulink 模型資源管理器可顯示模型中使用的各種數(shù)據(jù)類型和存儲類。注意存儲類要求Embedded Coder。 生成代碼 Simulin
28、k Coder 為 Simulink 和 Stateflow 功能和組件提供了全面的代碼生成支持,包括:· 模型塊用于增量生成代碼l · 原子子系統(tǒng)和原子子圖表,用于通過可重入 C 函數(shù)的重用代碼l · 在代碼中,總線對象和總線數(shù)組用于生成結(jié)構(gòu)l · S-函數(shù),用于對已有代碼進行仿真和對接l Simulink 中的 MATLAB 函數(shù)塊和 Stateflow 中的 MATLAB 函數(shù),用于從具有 MATLAB 組件的模型生成代碼
29、; Simulink Coder 還支持 Simulink 系列產(chǎn)品,包括定點建模、物理建模、信號處理和通信建模以及快速原型建立和硬件在回路 (HIL) 測試產(chǎn)品。 代碼生成選項: Simulink Coder 提供了用戶可選擇的選項,以便在桌面和仿真環(huán)境中執(zhí)行生成的代碼。選項包括:· 代碼重用l · 表達式折疊l · 信號存儲區(qū)重用l · 死路
30、徑消除l · 參數(shù)內(nèi)聯(lián)l · 單精度和預(yù)制數(shù)學(xué)庫(包括 ISO C 和 GNU C)l生成的代碼,其中將 For 循環(huán)融合和表達式折疊用于一個 10 元素數(shù)組模型。Simulink Coder 為單維和多維信號生成高效且可讀的代碼。 在實時環(huán)境中執(zhí)行代碼 Simulink Coder 提供了實時執(zhí)行生成的代碼并將其合并到用戶執(zhí)行環(huán)境中的完整框架。 它根據(jù)用戶在模型中指定的周期采樣次數(shù)生成單采樣率或多采樣率代碼。
31、 執(zhí)行模式: 在單任務(wù)、多任務(wù)或異步模式下部署代碼,可使用或不使用 RTOS。 單任務(wù)模式 在單任務(wù)模式下,簡單的調(diào)度程序以單線程執(zhí)行來調(diào)用生成的代碼,防止不同速率之間的搶占。 多任務(wù)模式 在多任務(wù)模式下,通過確定性單調(diào)速率調(diào)度程序調(diào)用生成的代碼,允許不同速率之間的搶占。在裸機環(huán)境中以嵌套中斷來搶占代碼。在 RTOS
32、 環(huán)境中則使用任務(wù)優(yōu)先級和任務(wù)搶占。 異步模式 在異步模式下,使用 Simulink S-函數(shù)指定非周期性采樣率或異步采樣率。 Simulink Coder 將這些采樣率轉(zhuǎn)換為用戶執(zhí)行環(huán)境所需的代碼。 用戶為硬件中斷之類的事件建模并生成代碼,然后作為獨立的任務(wù)觸發(fā)各子系統(tǒng)。 可以使用所含的異步塊庫作為模板,以創(chuàng)建適用于其他環(huán)境的庫。 實時部署 Simulink 和 Simulink C
33、oder 為實時部署提供了一整套獨立于目標的功能。其中包括:· 可以為模型中的每個采樣率指定的任務(wù)優(yōu)先級l · 產(chǎn)品級質(zhì)量計數(shù)器以及計算絕對時間和實耗時間的計時器l · 采樣率轉(zhuǎn)移塊,用于指定各采樣率之間的數(shù)據(jù)傳輸機制(例如信號量、互斥和雙緩沖),從而使您可以權(quán)衡數(shù)據(jù)完整性、確定性和性能l · 對合并每種采樣率的錯誤處理邏輯進行超限檢測l 繼承代碼集成 通過合并已有的用于仿真和代碼生成的自定義 C、Fo
34、rtran、Ada 和 C+ 代碼,可以自定義生成的代碼及其運行時環(huán)境。 Simulink Coder 中的自定義工具包括目標語言編譯器 (TLC)、自定義代碼塊、模板聯(lián)編文件 (makefile)、構(gòu)建過程 API 和 S-函數(shù)生成器。 使用代碼繼承工具 (Legacy Code Tool),可以快速地將現(xiàn)有 C 和 C+ 函數(shù)集成到 Simulink 模塊中,這對于集成通常用于嵌入式系統(tǒng)的離散時間代碼特別有用。 調(diào)優(yōu)參數(shù)和記錄數(shù)據(jù) Simulink Coder 使用戶可以與生成的可執(zhí)行文件交互并進
35、行分析,從而幫助用戶優(yōu)化算法的性能并改進代碼執(zhí)行行為。 通過 Simulink Coder 可以使用下列數(shù)據(jù)接口來監(jiān)測和調(diào)優(yōu)模塊信號及參數(shù):· 基于目標的 C API允許用戶編寫的代碼訪問 MATLAB 和 Simulinkl 外部的模塊輸出和參數(shù); · 基于主機的 ASAP2 數(shù)據(jù)交換文件允許將 ASAP2 標準數(shù)據(jù)描述用于 MATLAB 和l Simulink 外部的數(shù)據(jù)測量、校準和診斷系統(tǒng); · Simulink 外部模式允許下載新的參數(shù)值和上傳信號值,
36、以便在 Simulink 內(nèi)部查看或在l MATLAB 工作空間中進行記錄。(打開源模塊的對話框會造成 Simulink 暫停。盡管 Simulink 已暫停,但仍可編輯參數(shù)值。 必須關(guān)閉該對話框才能使更改生效并使 Simulink 繼續(xù)運行。) Simulink Coder從Simulink和Stateflow模型生成C和C+代碼 Simulink Code(之前版本為 Real-Time Workshop)從 Simulink框圖、Stateflow圖和 MATLAB函數(shù)生成并執(zhí)行 C和C+代碼。生成的代碼可用于實時和非
37、實時應(yīng)用,包括仿真加速、快速原型建立和硬件在回路測試??梢允褂?Simulink 對生成的代碼進行調(diào)優(yōu)和監(jiān)測,或在 MATLAB和 Simulink之外運行代碼并與之交互。特點 離散、連續(xù)或混合 Simulink 和 Stateflow 模型的 ANSI/ISO C 和 C+ 代碼及可執(zhí)行文件 用于大型模型的增量代碼生成 支持整型、浮點型和定點型數(shù)據(jù)類型 針
38、對單采樣率、多采樣率和異步模型的代碼生成 使用或不使用 RTOS 的單任務(wù)、多任務(wù)和多核代碼執(zhí)行 用于參數(shù)調(diào)優(yōu)和信號監(jiān)測的外部模式仿真強大的功能 選擇和使用目標 Simulink 模型資源管理器在 Simulink 中提供了單一用戶界面,用于配置所有代碼生成設(shè)置。模型資源管理器可提供:· 選擇代碼生成目標l · 配置目標以進行代
39、碼生成l · 為模型或子系統(tǒng)生成代碼l Code Generation Advisor 會檢查模型和代碼生成設(shè)置,然后根據(jù)需求針對如何改進配置提供建議。 一旦為項目確定了最優(yōu)設(shè)置之后,便可以將這些設(shè)置保存為配置集以重復(fù)用于其他模型。使用 Simulink 建模的大型飛機系統(tǒng)。 Simulink Coder 支持用于大規(guī)模建模的高級 Simulink 功能,包括模型塊、變量子系統(tǒng)和總線數(shù)組。 選擇目標:
40、0;Simulink Coder 使用系統(tǒng)目標文件將模型轉(zhuǎn)換為源代碼和可執(zhí)行文件。 目標文件指定生成的代碼將要在其中運行的環(huán)境。 Simulink Coder 包括若干個準備好運行的配置的目標文件,還支持第三方目標和自定義目標。 內(nèi)置目標包括:· 一般實時目標生成用于模型參數(shù)交互式調(diào)優(yōu)的代碼,記錄和顯示實時仿真結(jié)果并靜態(tài)分配數(shù)據(jù)為進行高效的實時執(zhí)行;l · 一般實時 Mallocl 目標在生成的代碼中使用動態(tài)內(nèi)存分配,以便在一個可執(zhí)行文件中包含同一模型的多個實例或包含多個模型; · 快速仿真目標 (RSim)提供快速靈活的測試平
41、臺用于使用定步長或變步長求解器執(zhí)行批量或 Montel Carlo 仿真研究,并使您可以將每次運行的數(shù)據(jù)保存到唯一的輸出文件中。 可以擴展這些目標以創(chuàng)建自定義的運行時接口和設(shè)備驅(qū)動程序文件,從而能以特定環(huán)境為目標,訪問 Simulink Coder 的執(zhí)行并調(diào)試其中的功能。 編譯和執(zhí)行生成的代碼 Simulink Coder為使用常用桌面環(huán)境編譯和執(zhí)行生成的代碼提供內(nèi)置支持,包括:· Eclipse IDEl
42、 · Microsoft® Visual C+® IDEl · Linux® 操作系統(tǒng)l · Windows® 操作系統(tǒng)l 可以使用 Embedded Coder 在實時嵌入式系統(tǒng)中生成和運用優(yōu)化的 C 和 C+ 代碼。 定義和控制數(shù)據(jù) Simulink Coder 允許用戶定義和控制模型數(shù)據(jù)在所生成代碼中的出現(xiàn)方式
43、。 可通過以下方式管理數(shù)據(jù):· 將數(shù)據(jù)類型聲明為整型、浮點型和定點型l · 指定調(diào)優(yōu)和校準參數(shù)或常數(shù)的存儲區(qū)l · 指定監(jiān)測和記錄信號數(shù)據(jù)的存儲區(qū)l · 重復(fù)使用存儲區(qū)以最小化局部范圍的數(shù)據(jù)l Simulink Coder 從存儲在 Simulink 框圖或數(shù)據(jù)字典(通過 Simulink 模型資源管理器訪問)中的數(shù)據(jù)生成代碼。 通過利用不同的數(shù)據(jù)字典集,可以將代碼從一個模型重新運用到多個目標。Simulink 模型資源管理器可顯示模型中
44、使用的各種數(shù)據(jù)類型和存儲類。注意存儲類要求Embedded Coder。 生成代碼 Simulink Coder 為 Simulink 和 Stateflow 功能和組件提供了全面的代碼生成支持,包括:· 模型塊用于增量生成代碼l · 原子子系統(tǒng)和原子子圖表,用于通過可重入 C 函數(shù)的重用代碼l · 在代碼中,總線對象和總線數(shù)組用于生成結(jié)構(gòu)l · S-函數(shù),用于對已有代碼進行仿真和對接l
45、160; Simulink 中的 MATLAB 函數(shù)塊和 Stateflow 中的 MATLAB 函數(shù),用于從具有 MATLAB 組件的模型生成代碼 Simulink Coder 還支持 Simulink 系列產(chǎn)品,包括定點建模、物理建模、信號處理和通信建模以及快速原型建立和硬件在回路 (HIL) 測試產(chǎn)品。 代碼生成選項: Simulink Coder 提供了用戶可選擇的選
46、項,以便在桌面和仿真環(huán)境中執(zhí)行生成的代碼。選項包括:· 代碼重用l · 表達式折疊l · 信號存儲區(qū)重用l · 死路徑消除l · 參數(shù)內(nèi)聯(lián)l · 單精度和預(yù)制數(shù)學(xué)庫(包括 ISO C 和 GNU C)l生成的代碼,其中將 For 循環(huán)融合和表達式折疊用于一個 10 元素數(shù)組模型。Simulink Coder 為單維和多維信號生成高效且可讀的代碼。 在實時環(huán)境中執(zhí)行代碼 &
47、#160;Simulink Coder 提供了實時執(zhí)行生成的代碼并將其合并到用戶執(zhí)行環(huán)境中的完整框架。 它根據(jù)用戶在模型中指定的周期采樣次數(shù)生成單采樣率或多采樣率代碼。 執(zhí)行模式: 在單任務(wù)、多任務(wù)或異步模式下部署代碼,可使用或不使用 RTOS。 單任務(wù)模式 在單任務(wù)模式下,簡單的調(diào)度程序以單線程執(zhí)行來調(diào)用生成的代碼,防止不同速率之間的搶占。 多任務(wù)
48、模式 在多任務(wù)模式下,通過確定性單調(diào)速率調(diào)度程序調(diào)用生成的代碼,允許不同速率之間的搶占。在裸機環(huán)境中以嵌套中斷來搶占代碼。在 RTOS 環(huán)境中則使用任務(wù)優(yōu)先級和任務(wù)搶占。 異步模式 在異步模式下,使用 Simulink S-函數(shù)指定非周期性采樣率或異步采樣率。 Simulink Coder 將這些采樣率轉(zhuǎn)換為用戶執(zhí)行環(huán)境所需的代碼。 用戶為硬件中斷之類的事件建模并生成代碼,然后作為獨立的任務(wù)觸發(fā)各子系統(tǒng)。 可以使用所含的
49、異步塊庫作為模板,以創(chuàng)建適用于其他環(huán)境的庫。 實時部署 Simulink 和 Simulink Coder 為實時部署提供了一整套獨立于目標的功能。其中包括:· 可以為模型中的每個采樣率指定的任務(wù)優(yōu)先級l · 產(chǎn)品級質(zhì)量計數(shù)器以及計算絕對時間和實耗時間的計時器l · 采樣率轉(zhuǎn)移塊,用于指定各采樣率之間的數(shù)據(jù)傳輸機制(例如信號量、互斥和雙緩沖),從而使您可以權(quán)衡數(shù)據(jù)完整性、確定性和性能l · 對合并每種采
50、樣率的錯誤處理邏輯進行超限檢測l 繼承代碼集成 通過合并已有的用于仿真和代碼生成的自定義 C、Fortran、Ada 和 C+ 代碼,可以自定義生成的代碼及其運行時環(huán)境。 Simulink Coder 中的自定義工具包括目標語言編譯器 (TLC)、自定義代碼塊、模板聯(lián)編文件 (makefile)、構(gòu)建過程 API 和 S-函數(shù)生成器。 使用代碼繼承工具 (Legacy Code Tool),可以快速地將現(xiàn)有 C 和 C+ 函數(shù)集成到 Simulink 模塊中,這對于集成通常用于嵌入式系統(tǒng)的
51、離散時間代碼特別有用。 調(diào)優(yōu)參數(shù)和記錄數(shù)據(jù) Simulink Coder 使用戶可以與生成的可執(zhí)行文件交互并進行分析,從而幫助用戶優(yōu)化算法的性能并改進代碼執(zhí)行行為。 通過 Simulink Coder 可以使用下列數(shù)據(jù)接口來監(jiān)測和調(diào)優(yōu)模塊信號及參數(shù):· 基于目標的 C API允許用戶編寫的代碼訪問 MATLAB 和 Simulinkl 外部的模塊輸出和參數(shù); · 基于主機的 ASAP2 數(shù)
52、據(jù)交換文件允許將 ASAP2 標準數(shù)據(jù)描述用于 MATLAB 和l Simulink 外部的數(shù)據(jù)測量、校準和診斷系統(tǒng); · Simulink 外部模式允許下載新的參數(shù)值和上傳信號值,以便在 Simulink 內(nèi)部查看或在l MATLAB 工作空間中進行記錄。(打開源模塊的對話框會造成 Simulink 暫停。盡管 Simulink 已暫停,但仍可編輯參數(shù)值。 必須關(guān)閉該對話框才能使更改生效并使 Simulink 繼續(xù)運行。) Simulink HDL Coder 將Simulink模型和MATLAB代碼生成可綜合的HDL代碼 &
53、#160; Simulink HDL Coder可以把Simulink模型、MATLAB代碼和Stateflow框圖生成位真(bit-true)、周期精確(cycle-accurate)、可綜合的Verilog和VHDL代碼。通過使用工業(yè)標準化設(shè)計工具,可以對自動生成的HDL代碼進行仿真和綜合,并進一步映射到FPGA和ASIC芯片上。 Simulink HDL Coder可以控制HDL的體系架構(gòu)和實施,突出模型中的關(guān)鍵路徑,生成硬件資源利用評估。Simulink HDL Code還能夠生成測試驗證平
54、臺以及EDA Simulator Link的仿真模型,并提供支持DO-254工作流的代碼跟蹤能力,從而對生成的HDL代碼進行快速驗證。特點:· 將Simulink模型、MATLAB代碼和Stateflow框圖生成獨立于目標器件、可綜合的HDL代碼;· 支持Mealy / Moore有限狀態(tài)機以及控制邏輯的實現(xiàn);· 生成測試驗證平臺和EDA Simulator Link協(xié)同仿真模型;· 資源共享和子系統(tǒng)級重定時,以實現(xiàn)面積與速度的權(quán)衡;· 利用時間約束信息和HDL合成工具箱進行Simulink模型的優(yōu)化;· 支持DO-254規(guī)范從代碼到
55、模型,模型到代碼的跟蹤能力;· 遺產(chǎn)代碼集成;將Simulink模型生成HDL代碼;Simulink HDL Coder能夠為系統(tǒng)建模,自動生成位真、周期精確(cycle-accurate)、可綜合的Verilog和VHDL代碼,以及測試平臺。使用Simulink HDL Coder 從建模到FPGA和ASIC的實現(xiàn),Simulink HDL Coder能夠使得算法設(shè)計過程自動化,步驟如下:· 配置參數(shù),以選擇實現(xiàn)不同的HDL模塊 · 優(yōu)化模型以達到面積與速度的設(shè)計指標 · 利用HDL Work
56、flow Advisor或者Configuration Parameters GUI生成HDL代碼 · 根據(jù)測試平臺驗證生成的代碼,并自動生成協(xié)同仿真模型 通過使用Simulink HDL Coder,用戶可以首先在Simulink、MATLAB和Stateflow中構(gòu)建系統(tǒng)模型,然后對模型進行HDL代碼的生成。Simulink提供了160多個模塊供用戶選擇,來進行信號處理和通信的算法建模。例如,可以使用Viterbi譯碼器或者Reed-Solomon譯碼器來建立通信接收端模型,并生產(chǎn)HDL代碼。同樣,可以使用信號處理FFT
57、函數(shù)和濾波算法,如CIC插值法、FIR插值法,以及抽取濾波器等。 Simulink中的Embedded MATLAB功能模塊可以將MATLAB代碼生成HDL代碼。Simulink HDL Coder提供了一個現(xiàn)有的通用邏輯單元庫,如可以寫入MALAB代碼中的計數(shù)器和定時器等。用戶還可以在Stateflow中建立有限狀態(tài)機(FSM)模型,并且通過黑箱接口將手寫代碼或者HDL遺產(chǎn)代碼與Simulink模型合成為一體。 用戶創(chuàng)建好模型之后, 通過HDL Work Advisor或者
58、Configuration Parameters GUI,并應(yīng)用代碼生成控制文件來生成HDL代碼。通過Configuration Parameters GUI設(shè)置代碼生成選項并生成Verilog及VHDL Code Simulink HDL Coder與EDA仿真器共同生成協(xié)同仿真測試平臺模型,并由HDL仿真器進行配置,包括Cadence Incisive,Mentor Graphics ModelSim和Synopsys Discovery。除此之外,還可以生成HDL測試平臺和腳本文件,從而在仿真環(huán)境中進行獨立的測試驗證。優(yōu)化設(shè)計面
59、積與速度權(quán)衡的資源利用報告 Simulink HDL Coder使得用戶可以通過模型的模塊和子系統(tǒng)來控制HDL代碼的體系結(jié)構(gòu)。例如,將分布式流水線、連續(xù)數(shù)據(jù)流以及資源共享應(yīng)用到子系統(tǒng)、Stateflow框圖和Embedded MATLAB功能模塊,在實現(xiàn)FPGA和ASIC時獲得速度與面積的權(quán)衡。用戶還可以實現(xiàn)多通道設(shè)計和序列化技術(shù),這些技術(shù)通常用于信號處理和多媒體應(yīng)用程序當中。資源優(yōu)化舉例。數(shù)據(jù)速率提高4倍,使得設(shè)計面積減少為原來的1/4文檔記錄及代碼跟蹤 Sim
60、ulink HDL Coder幫助用戶對生成的代碼進行驗證,具體如下:· 用戶自定義注釋及描述,增強代碼可讀性 · 模型到代碼,以及代碼到模型的雙向可跟蹤性 · 生成的代碼中包含需求,且符合DO-254標準模型與代碼之間的相互跟蹤。Simulink HDL Coder促進DO-254標準的符合以及對所做設(shè)計的檢驗和確認 Simulink HDL Coder以HTML報告的形式記錄生成的代碼,報告中全面描述了代碼的模型結(jié)構(gòu)以及在HDL代碼生成過程中應(yīng)用的模型優(yōu)化設(shè)置。報告中包含與Simulink模型直接相關(guān)
61、的摘要和生成的源文件列表。在MATLAB Help瀏覽器中選擇一個源文件使得模型中相應(yīng)的模塊突出顯示,方便對相應(yīng)的代碼跟蹤和回顧。用戶還能夠?qū)imulink模塊,Stateflow狀態(tài)及轉(zhuǎn)移,Embedded MATLAB突觸顯示HDL代碼,以實現(xiàn)代碼和模型之間的雙向跟蹤。使用Simulink Verification and Validation時,Simulink HDL Code將系統(tǒng)需求作為注釋嵌入到HDL代碼中。因此,從系統(tǒng)需求到HDL代碼實現(xiàn),用戶可以對整個流程完整地把握。協(xié)同仿真及測試平臺生成 Simulink HDL
62、 Coder生成VHDL和Verilog測試平臺,對生成的HDL代碼快速驗證。用戶能夠通過若干選項來激勵HDL代碼,從而實現(xiàn)自定義HDL測試平臺。還能夠生成腳本文件,使得在HDL仿真器中,代碼編譯和仿真過程自動化。 Simulink HDL Coder與EDA仿真器共同生成協(xié)同仿真模型。為實現(xiàn)Simulink仿真及協(xié)同仿真,由HDL仿真器對自動生成的模型進行配置,如Cadence Incisive,Mentor Graphics ModelSim和Synopsys Discovery等。利用Simulink HDL Coder自動生成
63、協(xié)同仿真模型(左下)和HDL(右上)測試平臺FPGA自動化設(shè)計Simulink HDL Coder下的FPGA設(shè)計流程。將HDL Workflow Advisor與第三方合成工具,如Xilinx ISE和Altera Quartus共同使用,以實現(xiàn)迭代次數(shù)的快速設(shè)計。 Simulink HDL Coder使得用戶快速地將Simulink模型應(yīng)用到Xilinx和Altera FPGA中。HDL Workflow Advisor支持FPGA設(shè)計過程的全部階段,包括:· 檢測Simulink模型對HDL代碼生成的兼容性
64、· 生成RTL代碼,RTL測試平臺,以及協(xié)同仿真模型 · 在與Xilinx ISE和Altera Quartus II的集成過程中進行綜合時序分析 · 根據(jù)為達到設(shè)計指標所作出的模型修改,提供資源利用評估報告和指導(dǎo) · 根據(jù)關(guān)鍵路徑信息,對Simulink模型后端注釋HDL Workflow Advisor支持在Simulink環(huán)境中進行FPGA設(shè)計過程的全部階段 用戶可以查看到綜合時序分析報告,并對Simulink模型后端注釋以鑒別時序限制瓶頸。與合成工具的綜合使用,為迭代次數(shù)快速設(shè)計提供了途徑,并且使得FPGA的設(shè)計流程時間顯著減少。Simulink中合成前期和后期時序信息的關(guān)鍵路徑突出顯示。能夠快速迭代設(shè)計,以規(guī)避時序限制瓶頸。 Simulink HDL Coder能夠生成可讀的,獨立于目標機的HDL代碼,并且支持遺產(chǎn)代碼集成。因此,用戶能夠根據(jù)設(shè)計需求在FPGA和ASIC的實現(xiàn)之間快速轉(zhuǎn)換。Simulink PLC Coder生成PLCs和PACs的I
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度KTV線上線下融合股權(quán)收購協(xié)議3篇
- 2025年度幕墻施工及售后維護全流程服務(wù)合同4篇
- 二零二五版智慧城市基礎(chǔ)設(shè)施施工框架協(xié)議3篇
- 2025年度建筑材料租賃場買賣合同模板4篇
- 2025年度模具采購合同與模具知識產(chǎn)權(quán)保護協(xié)議4篇
- 二零二五年度木材運輸保險采購合同范本4篇
- 二零二五年度能源項目投標失敗市場趨勢與合同策略合同4篇
- 2025年度環(huán)保型木屋建筑工程施工總承包合同3篇
- 2025版寄宿制學(xué)校學(xué)生入學(xué)家長協(xié)議范本3篇
- 冷水系統(tǒng)施工方案
- 無人化農(nóng)場項目可行性研究報告
- 《如何存款最合算》課件
- 社區(qū)團支部工作計劃
- 拖欠工程款上訪信范文
- 《wifi協(xié)議文庫》課件
- 中華人民共和國職業(yè)分類大典是(專業(yè)職業(yè)分類明細)
- 2025年新高考語文復(fù)習(xí) 文言文速讀技巧 考情分析及備考策略
- 2024年??谑羞x調(diào)生考試(行政職業(yè)能力測驗)綜合能力測試題及答案1套
- 一年級下冊數(shù)學(xué)口算題卡打印
- 2024年中科院心理咨詢師新教材各單元考試題庫大全-下(多選題部分)
- 真人cs基于信號發(fā)射的激光武器設(shè)計
評論
0/150
提交評論