国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

浮點模型的定點化到產品級代碼的生成

發布時間:2010-10-14 11:00    發布者:techshare
關鍵詞: 產品級 , 代碼 , 定點化 , 浮點 , 模型
浮點轉換為定點是嵌入式軟件開發中的一個重要步驟,這項工作非常繁瑣,需要大量人力并且容易產生錯誤。用浮點數學設計的算法表示理想的算法行為,經常必須轉換為定點數學,才能用于更加經濟的、只支持整數的大規模生產的硬件。轉換后,位精確的定點仿真使您在將該設計嵌入到硬件之前就能夠研究定點數據類型的行為。  

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

* 準備模型和數據  

* 分析、改進以及優化定點定標  

* 生成優化代碼  

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

準備模型和數據進行轉換  

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

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



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

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

* 替換不支持的模塊。  

* 設置信號記錄并創建初始參考數據。  

* 指定目標硬件特性。  

* 準備數據類型和定標。  

* 執行初始數據類型和定標。  

* 檢查模型對于產品級代碼部署的適宜性。  

替換不支持的模塊  

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

設置信號記錄并創建初始參考數據  

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

指定目標硬件特性  

Fixed Point Advisor 會提醒我們為字符型、整型、長字節和其他對特定處理器而言獨特的屬性指定正確的字長,以避免仿真或代碼生成時產生錯誤結果。  

準備數據類型和定標  

在初始設計中,工程師通常使用繼承數據類型傳遞,以加速原型設計并快速迭代幾個設計。當項目接近產品化時,他們會調整并指定每個數據類型并定標,以優化定點結果。  

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

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

* 放寬可能導致數據類型傳遞錯誤的輸入數據類型的設置或限制。  

* 確定需要我們指定用于定點轉換的設計最小值和最大值的模塊。

執行初始數據類型和定標  

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

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

檢查模型對于產品級代碼部署的適宜性  

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

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

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

分析、改進以及優化定點定標  

使用 Fixed-Point Tool 可在您的模型中互動地分析、改進以及優化定點定標。該工具首先確定溢出和/或飽和的定點值。然后,通過臨時將所有信號轉換為浮點精度并執行另一個仿真運行,找到定標的合適動態范圍。合適的動態范圍用于計算對于每個模塊而言更合適的定點定標。然后,我們接受或拒絕每個信號的建議定標。我們還可配置該工具,以忽略所選的模塊,使您能夠對單獨定標的模塊使用自動定標。  



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

顯示了用于容錯燃料系統模型的工具及其建議的定標。注意,上述步驟可用于相同的模型,使您能夠對于浮點設計和定點設計使用一個模型,并減少在設計迭代過程中維護獨立模型的需求。  

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



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

生成優化代碼  

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



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

位精確的定點仿真可幫助您在 Simulink 環境內對設計建模。Simulink Fixed Point 提供的工具可讓您自動化定點轉換工作流程的耗時部分,并研究設計以進一步改進定點性能。Real-Time Workshop Embedded Coder 對產品級代碼部署提供一種自動化途徑。
本文地址:http://www.qingdxww.cn/thread-32273-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • Dev Tool Bits——使用MPLAB® Discover瀏覽資源
  • Dev Tool Bits——使用條件軟件斷點宏來節省時間和空間
  • Dev Tool Bits——使用DVRT協議查看項目中的數據
  • Dev Tool Bits——使用MPLAB® Data Visualizer進行功率監視
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲 欧美 中文 日韩欧美 | 国产老色批视频在线观看应用 | 青青草乐园 | 国产精品三级一区二区 | 欧美系列在线观看 | 青青草国产免费久久久91 | h黄视频在线观看 | 国产欧美在线不卡 | 91精品视频网站 | 亚洲一级大片 | 欧美一级www | 欧美日韩在线网站 | 极品美女在线播放 | 艹黑丝| 亚洲aaaa级特黄毛片 | 日本精品视频在线观看 | 兔女郎穿着丝袜被啪啪 | 天美麻豆蜜桃91制片厂 | 国产免费啪视频观看网站 | 日本特黄特色大片免费播放视频 | 国产午夜人做人视频羞羞 | 老子影院午夜伦不卡不四虎卡 | 美女伊人网 | 日本欧美一区二区三区视频麻豆 | 国产91久久精品 | 福利国产在线 | 亚洲国产一区二区三区在线观看 | 香蕉97超级碰碰碰碰碰久 | 97在线观免费视频观看 | 免费看特级毛片 | 色在线网站免费观看 | 国产亚洲福利一区二区免费看 | 伊人丁香狠狠色综合久久 | 国产入口在线观看 | 亚洲天堂一区在线 | 久久久久综合网 | 亚洲女人天堂a在线播放 | 91香蕉国产在线观看免费永久 | 妈妈的朋友们3线在线观看 妈妈的朋友伦理在线观看 妈妈的朋友伦理片在线观看 | 久久国产影视 | 草莓丝瓜app |