衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

用于調試嵌入式系統軟件的硬件仿真

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:Lauro Rizzatti ? 2022-07-05 09:25 ? 次閱讀

在當今競爭激烈的環境中,將富含嵌入式軟件的復雜電子設備更快地推向市場,同時使它們更便宜、更可靠是一個非常冒險的提議。

不徹底地測試硬件設計不可避免地會導致重新設計,增加設計成本并延長網表到布局過程的交付時間,并最終延遲上市時間,對收入流產生破壞性影響。缺少市場窗口的更顯著結果隱藏在嵌入式軟件的后期測試中。

毫不奇怪,項目周期的驗證部分占用了不成比例的大量進度。這是因為跟蹤和消除錯誤并非易事,尤其是當片上系統 (SoC) 的軟件內容以每年大約2 0 0 %的速度增長時。相比之下,設計中硬件部分的增長僅為5 0 %左右。

硬件仿真作為系統驗證的基礎

雖然虛擬原型和現場可編程門陣列 (FPGA) 原型在早期嵌入式軟件測試中受到關注,但它們無法幫助實現軟件和硬件的集成。前者缺乏跟蹤硬件錯誤所需的硬件準確性。后者提供了快速放大錯誤所需的有限硬件調試功能。

因此,開發團隊和項目經理已將硬件仿真作為其驗證策略的基礎。仿真是一種多功能驗證工具,具有許多相關優勢,包括硬件/軟件協同驗證,或測試硬件和軟件集成的能力。軟件開發人員已經注意到了,因為它是唯一能夠確保嵌入式系統軟件與底層硬件正常工作的驗證工具。同樣值得注意的是,對于致力于調試復雜 SoC 設計的硬件工程師來說,它可以將軟件錯誤跟蹤到硬件或軟件行為中的硬件錯誤。其他好處包括它的快速編譯能力,軟件驗證的另一個優點,全面的設計調試和可擴展性,以適應包含超過 10 億個專用集成電路ASIC) 門的設計。此外,它可以高速處理數十億個驗證周期,以驗證嵌入式軟件和執行系統驗證。

過去,硬件調試和測試是項目周期驗證部分的唯一原因,這是由硬件描述語言 (HDL) 測試平臺驅動的邏輯仿真管理的。傳統的 big-box 仿真僅用于最大的設計。許多開發團隊已采用形式驗證來補充模擬,增加基本覆蓋范圍并確保不會遺漏一些極端情況。然而,只有硬件仿真才能在實際時間內完成 SoC 設計的整個驗證任務,并緩解與基于事件的仿真相關的運行時問題。

一切都與軟件內容有關

SoC 的軟件內容使聯合驗證成為驗證策略中最重要的部分,因為它確認嵌入式 SoC 的硬件和軟件部分同時驗證并在提交到芯片之前正確交互。

過去,如果設計流片到芯片上后出現硬件問題,軟件開發人員必須盡可能地解決如何圍繞它編寫代碼。通過在 SoC 完成之前驗證軟件,設計團隊有機會在硬件問題被安裝到芯片之前修復它們。如前所述,仿真檢查以確保嵌入式軟件根據規范在支持硬件上運行。

過去,軟件調試是使用各種調試引擎完成的。每個內核一個,他們利用了硬件功能,這些功能提供了對處理器內部工作的可見性和控制。雖然提供了一些調試功能,但診斷問題的能力受到處理器提供的訪問類型的限制。此外,由于傳統的軟件調試通常發生在實際系統上,因此軟件開發人員正在以目標系統速度在真實硬件上執行真實代碼。這使他們能夠通過大量代碼快速找到錯誤例程。

這些傳統技術在調試 SoC 時會失效。因為沒有真正的硬件,代碼不能以真正的系統速度執行。假設,可以在執行代碼時模擬硬件,并且所有硬件可見性都將由模擬器提供。問題在于速度——這是一種調試代碼的緩慢方式。

例如,如果 SoC 設計為在 Linux 上運行程序,則軟件開發人員必須以數十億個時鐘周期完成 Linux 啟動,然后軟件才能開始執行。粗略的估計是,使用大約1 0赫茲(Hz) 的典型模擬速度完成Linux引導需要超過2 8 年的時間。

不管是硬件調試還是軟件調試,傳統的硬件和軟件調試工具是互不相識的。對于大型且復雜的 SoC 設計,單獨進行兩種類型的調試以嘗試定位問題是低效的。

讓兩者一起工作是理想的場景,而這正是仿真節省時間的地方。SoC 硬件在硬件中實現,通常是 FPGA 或其他一些可編程元件,使其速度更快。使用此設置,Linux 啟動可以在1 5分鐘內完成,具體取決于運行的實際速度。硬件仿真提供與具有斷點和波形的硬件調試器類似的控制和可見性。

確認 SoC 設計將按預期工作

硬件仿真以其高性能區別于其他驗證工具——這是由軟件需求驅動的日益重要的需求。它能夠確認 SoC 設計將按計劃工作,并且適合處理復雜的設計,這些設計可能高達 10 億個 ASIC 等效門,并且每月消耗超過 1 萬億個驗證周期。即便如此,在此階段使用硬件仿真進行徹底和詳盡的功能驗證仍然是可用的最具成本效益和最有效的調試方法。

交易級建模 (TLM) 的引入和交易者的可用性可以將硬件仿真轉變為一系列垂直市場的虛擬平臺測試環境。交易者是驗證知識產權 (IP) 組合的一部分,是外圍功能或協議的高級抽象模型。交易者,通常作為現成的 IP 提供,可用于各種不同的協議。典型目錄包括 PCIe、USB、FireWire、以太網、數字視頻、RGB、HDMII2CUART 和 JTAG 組件。

更好地驗證更復雜的系統

以前,硬件設計獨立于要在這些芯片上執行的軟件的創建。情況不再如此。由于 SoC 的處理器數量翻倍,并且每一代產品包含的軟件內容翻倍,因此對軟件的關注成為開發團隊和項目經理的首要任務。現在,在開發團隊證明預期的軟件可以在硬件平臺上運行之前,SoC 是不完整的。

SoC 是一個成熟的嵌入式系統,需要硬件仿真來驗證它是否正常工作。借助硬件仿真,開發團隊可以更有策略地規劃并實施基于多個抽象級別的調試方法。他們可以同時跟蹤硬件和嵌入式軟件之間的錯誤,以確定問題所在。在此過程中,他們以經濟高效的方式節省了時間,大大降低了錯過市場窗口的風險。

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5093

    文章

    19178

    瀏覽量

    307701
  • 以太網
    +關注

    關注

    40

    文章

    5460

    瀏覽量

    172743
  • soc
    soc
    +關注

    關注

    38

    文章

    4204

    瀏覽量

    219104
收藏 人收藏

    評論

    相關推薦

    如何提高嵌入式代碼質量?

    的情況下也必須保持穩定的性能。 3. 硬件依賴:嵌入式軟件緊密依賴硬件平臺,需要充分理解硬件特性才能編寫高效且穩定的代碼。 了解這些特點有助
    發表于 01-15 10:48

    嵌入式工程師常用的開發工具有哪些?

    仿真器可以模擬復雜的微控制器和外設,幫助工程師在早期階段進行軟件開發和調試。這大大縮短了開發周期,降低了開發成本。 總之,嵌入式工程師需要熟練掌握這些開發工具,才能在
    發表于 12-20 15:29

    嵌入式系統開發與硬件的關系 嵌入式系統開發常見問題解決

    嵌入式系統開發與硬件的關系 嵌入式系統是專為特定應用設計的計算機系統,它們通常
    的頭像 發表于 12-09 09:38 ?418次閱讀

    【「嵌入式Hypervisor:架構、原理與應用」閱讀體驗】+ Hypervisor應用場景調研

    ,比如系統軟件和應用軟件自身的漏洞、病毒和網絡攻擊、以及人為操作導致的破壞,Hypervisor的出現就是為了構建高可靠性的嵌入式系統,原來如此啊! 讀到這里,我感覺Hyperviso
    發表于 10-14 11:21

    嵌入式系統硬件架構

    嵌入式系統是一種專用的計算機系統,它以應用為中心,以現代計算機技術為基礎,能夠根據用戶的具體需求(如功能、可靠性、成本、體積、功耗、環境等)靈活裁剪軟硬件模塊。這類
    的頭像 發表于 09-29 16:29 ?499次閱讀

    嵌入式開發常用軟件有哪些?

    編寫、編譯和調試嵌入式系統軟件。它提供了一個集成的開發環境(IDE),包括代碼編輯器、編譯器、調試器和仿真器等組件,這些組件可以方便地進行配
    發表于 09-09 15:22

    嵌入式系統怎么學?

    系統設計與調試:需要掌握嵌入式系統的設計方法和調試技術,包括硬件設計、
    發表于 07-02 10:10

    如何提升嵌入式編程能力?

    、SPI、CAN、WIFI、MQTT等多種通信協議。 4. 使用開發工具:熟練掌握嵌入式開發工具,如編譯器、調試器、仿真器和實時操作系統(RTOS)。 5. 閱讀數據手冊:仔細閱讀你所
    發表于 06-21 10:01

    嵌入式系統基礎

    嵌入式系統是以應用為中心,以計算機技術為基礎,軟硬件可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統。 它由
    的頭像 發表于 06-19 09:10 ?525次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>系統</b>基礎

    嵌入式硬件VS軟件,到底哪個更難?

    嵌入式系統開發中,硬件軟件是密不可分的兩個方面。但是,究竟是硬件開發更具挑戰性,還是軟件開發
    的頭像 發表于 06-13 08:10 ?1327次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>硬件</b>VS<b class='flag-5'>軟件</b>,到底哪個更難?

    從事嵌入式方向,一定要軟硬件通吃?

    軟件工程師的職責嵌入式軟件工程師的主要職責是為嵌入式系統編寫和調試代碼,確保
    的頭像 發表于 06-05 08:10 ?1287次閱讀
    從事<b class='flag-5'>嵌入式</b>方向,一定要軟<b class='flag-5'>硬件</b>通吃?

    嵌入式軟件工程師和硬件工程師的區別?

    嵌入式軟件工程師和硬件工程師的區別? 嵌入式軟件工程師 嵌入式
    發表于 05-16 11:00

    嵌入式系統硬件基礎知識大全

    嵌入式系統是現代科技發展的一個重要分支,廣泛應用于工業控制、消費電子、醫療設備、汽車電子等領域。本文試圖全面解析嵌入式系統的軟基礎知識,以期
    發表于 05-09 14:12

    JTAG在整個嵌入式系統開發生命周期中的系統調試和測試中的作用

    時代變了。如今,內存空間和高CPU時鐘頻率“幾乎”。設計、調試和測試挑戰已經從硬件組件集成和調試發展到系統硬件設計的
    發表于 05-03 10:13 ?504次閱讀
    JTAG在整個<b class='flag-5'>嵌入式</b><b class='flag-5'>系統</b>開發生命周期中的<b class='flag-5'>系統</b><b class='flag-5'>調試</b>和測試中的作用

    嵌入式軟件開發應該掌握哪些知識?

    嵌入式軟件開發應該掌握哪些知識? 一、 什么是嵌入式軟件嵌入式軟件通常是指
    發表于 02-19 11:23
    德州扑克比赛| 百家乐官网关键词| 百家乐中的小路怎样| 属猪属蛇做生意怎么样| 网络百家乐官网公式打法| 百家乐官网网址哪里有| 七胜国际娱乐| 百家乐官网补第三张牌规则| 百家乐官网怎样玩才能赢| 百家乐官网视频金币| 百乐彩| 亿酷棋牌世界下载手机版| 网上百家乐导航| 电投百家乐网站| 百家乐看盘技巧| 百家乐电脑上怎么赌| VIP百家乐-挤牌卡安桌板| 百家乐大眼仔路| 百家乐单机破解版| 龍城百家乐的玩法技巧和规则| 华侨人百家乐的玩法技巧和规则| 百家乐赚钱方| 自贡百家乐赌场娱乐网规则| 网上百家乐赌场娱乐网规则| 名仕百家乐的玩法技巧和规则| 百家乐官网投资| 海立方百家乐海立方| 赌场百家乐信誉| 大三元百家乐的玩法技巧和规则| 威尼斯人娱乐场 新葡京| 大发888截图| 银河国际娱乐| 百家乐官网游戏必赢法| 百家乐官网系列抢庄龙| 网上百家乐官网赌城| 百家乐官网资深 | 百家乐连锁| 二八杠网站| 太子娱乐城开户| 什么是百家乐官网赌博| 在线百家乐官网策略|