當前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]浮點模型的定點化到產(chǎn)品級代碼的生成

浮點轉(zhuǎn)換為定點是嵌入式軟件開發(fā)中的一個重要步驟,這項工作非常繁瑣,需要大量人力并且容易產(chǎn)生錯誤。用浮點數(shù)學設(shè)計的算法表示理想的算法行為,經(jīng)常必須轉(zhuǎn)換為定點數(shù)學,才能用于更加經(jīng)濟的、只支持整數(shù)的大規(guī)模生產(chǎn)的硬件。轉(zhuǎn)換后,位精確的定點仿真使您在將該設(shè)計嵌入到硬件之前就能夠研究定點數(shù)據(jù)類型的行為。


本文使用具有容錯能力的燃料系統(tǒng)模型作為示例,描述了將浮點模型定點化并生成產(chǎn)品級代碼的工具和工作流程。涵蓋的主題包括:


* 準備模型和數(shù)據(jù)

* 分析、改進以及優(yōu)化定點定標

* 生成優(yōu)化代碼


此處描述的方法采用 Simulink Fixed Point 中的兩種工具:Fixed-Point Advisor 和 Fixed-Point Tool。


準備模型和數(shù)據(jù)進行轉(zhuǎn)換


容錯燃料系統(tǒng)模型包含三個主要組件:ECU 控制器、發(fā)動機氣動力學設(shè)備以及幾個傳感器。在本文中,我們著重講述 ECU 控制器。


Fixed-Point Advisor 是一個交互式工具,旨在加速模型準備過程


圖1: 通過 Fixed-Point Advisor 準備模型。


使用 Fixed-Point Advisor,我們可完成下列步驟(在下面會詳細討論):


* 替換不支持的模塊。

* 設(shè)置信號記錄并創(chuàng)建初始參考數(shù)據(jù)。

* 指定目標硬件特性。

* 準備數(shù)據(jù)類型和定標。

* 執(zhí)行初始數(shù)據(jù)類型和定標。

* 檢查模型對于產(chǎn)品級代碼部署的適宜性。


替換不支持的模塊


Fixed Point Advisor 會檢查模型里是否有不支持定點數(shù)據(jù)類型的模塊。連續(xù)的模塊將被離散的模塊替換。Simulink 模塊支持的數(shù)據(jù)類型列表表明大多數(shù)模塊支持定點數(shù)據(jù)類型。與成百個嵌入式 MATLAB 函數(shù)(包括嵌入式算法設(shè)計中通常使用的函數(shù))一樣,Stateflow 完全支持定點數(shù)據(jù)類型。


設(shè)置信號記錄并創(chuàng)建初始參考數(shù)據(jù)


在仿真過程中,會記錄諸如輸入和輸出信號等感興趣的信號,以用于與浮點模型的等值比較以及代碼生成。我們可以記錄所有信號,或者從模型子系統(tǒng)層級中選擇信號,包括未命名的信號。


指定目標硬件特性


Fixed Point Advisor 會提醒我們?yōu)樽址汀⒄?、長字節(jié)和其他對特定處理器而言獨特的屬性指定正確的字長,以避免仿真或代碼生成時產(chǎn)生錯誤結(jié)果。


準備數(shù)據(jù)類型和定標


在初始設(shè)計中,工程師通常使用繼承數(shù)據(jù)類型傳遞,以加速原型設(shè)計并快速迭代幾個設(shè)計。當項目接近產(chǎn)品化時,他們會調(diào)整并指定每個數(shù)據(jù)類型并定標,以優(yōu)化定點結(jié)果。


Fixed-Point Advisor 通過自動執(zhí)行下列步驟,可加速此工作流程:


* 去除輸出數(shù)據(jù)類型的繼承,以幫助避免數(shù)據(jù)類型傳遞沖突。

* 放寬可能導(dǎo)致數(shù)據(jù)類型傳遞錯誤的輸入數(shù)據(jù)類型的設(shè)置或限制。

* 確定需要我們指定用于定點轉(zhuǎn)換的設(shè)計最小值和最大值的模塊。

執(zhí)行初始數(shù)據(jù)類型和定標


依據(jù)我們的初始輸入,F(xiàn)ixed-Point Advisor 可為輸入模塊、常數(shù)、參數(shù)以及具有中間數(shù)據(jù)類型的模塊(例如求和模塊)建議數(shù)據(jù)類型和初始定標。該工具使用設(shè)計或仿真浮點數(shù)據(jù)的最小值和最大值,建議初始定點數(shù)據(jù)定標。該工具可報告定標沖突并提出解決沖突的方法。然后,檢查數(shù)值錯誤并分析記錄的信號。


于是生成了初步定標的定點模型,以及比較浮點到定點模型結(jié)果的方案。


檢查模型對于產(chǎn)品級代碼部署的適宜性


我們使用 Fixed-Point Advisor 來運行最終檢查,以確定該模型對于產(chǎn)品級代碼部署的適宜性。包括:


* 指出可生成昂貴的飽和和舍入代碼的模塊。

* 指出有問題的定點操作,例如確保定點查找表有足夠的空間,以最大化代碼效率。


分析、改進以及優(yōu)化定點定標


使用 Fixed-Point Tool 可在您的模型中互動地分析、改進以及優(yōu)化定點定標。該工具首先確定溢出和/或飽和的定點值。然后,通過臨時將所有信號轉(zhuǎn)換為浮點精度并執(zhí)行另一個仿真運行,找到定標的合適動態(tài)范圍。合適的動態(tài)范圍用于計算對于每個模塊而言更合適的定點定標。然后,我們接受或拒絕每個信號的建議定標。我們還可配置該工具,以忽略所選的模塊,使您能夠?qū)为毝说哪K使用自動定標。


圖2:利用 Fixed-Point Tool 對容錯燃料系統(tǒng)模型進行自動定標。

[!--empirenews.page--]
顯示了用于容錯燃料系統(tǒng)模型的工具及其建議的定標。注意,上述步驟可用于相同的模型,使您能夠?qū)τ诟↑c設(shè)計和定點設(shè)計使用一個模型,并減少在設(shè)計迭代過程中維護獨立模型的需求。


在整個過程中,比較圖提供快速且簡單的方法,分析和對比定點設(shè)計和浮點設(shè)計的行為

圖3:比較當前定點結(jié)果與參考浮點結(jié)果,以及這些結(jié)果之間的差別。


生成優(yōu)化代碼


我們可使用 Real-Time Workshop Embedded Coder 生成針對不同目標的代碼。如果我們選擇默認 ANSI/ISO C 代碼選項,可在具有指定字長的任何目標上部署可移植代碼。我們還通過使用目標函數(shù)庫來利用處理器優(yōu)化的代碼,以將生成的數(shù)學函數(shù)、數(shù)學運算符以及內(nèi)存分配函數(shù)(例如 memcpy)自動替換為特定于目標的形式。圖 4:定點 ANSI C 代碼與為 Infineon TriCore 處理器優(yōu)化的使用目標函數(shù)庫定點代碼的比較。 比較具有飽和邏輯的 32 位整數(shù)定點相加的 ANSI C 代碼與 Infineon TriCore 優(yōu)化代碼。


圖4:定點 ANSI C 代碼與為 Infineon TriCore 處理器優(yōu)化的使用目標函數(shù)庫定點代碼的比較。


位精確的定點仿真可幫助您在 Simulink 環(huán)境內(nèi)對設(shè)計建模。Simulink Fixed Point 提供的工具可讓您自動化定點轉(zhuǎn)換工作流程的耗時部分,并研究設(shè)計以進一步改進定點性能。Real-Time Workshop Embedded Coder 對產(chǎn)品級代碼部署提供一種自動化途徑。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉