電子產(chǎn)業(yè)一站式賦能平臺(tái)

PCB聯(lián)盟網(wǎng)

搜索
查看: 1520|回復(fù): 0
收起左側(cè)

嵌入式軟件工程師難學(xué)嗎_如何用硬件仿真使嵌入式系統(tǒng)更加的可靠實(shí)用

[復(fù)制鏈接]

2607

主題

2607

帖子

7472

積分

高級(jí)會(huì)員

Rank: 5Rank: 5

積分
7472
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2020-7-22 10:57:04 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
嵌入式軟件工程師難學(xué)嗎_如何用硬件仿真使嵌入式系統(tǒng)更加的可靠實(shí)用,   

(文章來(lái)源:中國(guó)電工儀器儀表信息網(wǎng))

在當(dāng)今競(jìng)爭(zhēng)激烈的形勢(shì)下,使富含嵌入式軟件的復(fù)雜電子設(shè)備更快面市,但是同時(shí)確保其更便宜更可靠,是一種相當(dāng)冒險(xiǎn)的做法。未經(jīng)徹底測(cè)試硬件設(shè)計(jì)不可避免地導(dǎo)致返工,增加設(shè)計(jì)成本并延長(zhǎng)布局流程的網(wǎng)表交付時(shí)間,并最終延遲上市時(shí)間目標(biāo),對(duì)收益源造成破壞性影響。推遲嵌入式軟件的測(cè)試也潛藏有錯(cuò)過(guò)上市機(jī)遇的可能,會(huì)帶來(lái)更嚴(yán)重的后果。

正因?yàn)槿绱耍?xiàng)目周期的驗(yàn)證部分極大地占用計(jì)劃時(shí)間變成了很常見(jiàn)的事情。其中的根本塬因,在于跟蹤和消除錯(cuò)誤極為不易,尤其是在片上系統(tǒng) (SoC) 的軟件內(nèi)容以每年約 200% 的速度增長(zhǎng)的情況下。與此相反,設(shè)計(jì)的硬件部分僅增長(zhǎng)約 50%。

過(guò)去,硬件調(diào)試和測(cè)試是項(xiàng)目周期驗(yàn)證部分的唯一工作,此作業(yè)由硬件描述語(yǔ)言 (HDL) 測(cè)試平臺(tái)驅(qū)動(dòng)的邏輯軟件仿真進(jìn)行管理。傳統(tǒng)的大箱式硬件仿真只用于最大型的設(shè)計(jì)。很多開發(fā)團(tuán)隊(duì)已采用正式驗(yàn)證對(duì)軟件仿真進(jìn)行補(bǔ)充,以增加基礎(chǔ)覆蓋范圍并確保不遺漏特殊用例。但是,只有硬件仿真可以在比較可行的時(shí)間內(nèi)完成 SoC 設(shè)計(jì)的全部驗(yàn)證任務(wù),并緩解與基于事件的軟件仿真相關(guān)的運(yùn)行問(wèn)題。

SoC 的軟件內(nèi)容使協(xié)同驗(yàn)證成為驗(yàn)證策略中一個(gè)非常重要的部分,因?yàn)樗梢栽谕镀按_認(rèn)一個(gè)嵌入式 SoC 的硬件和軟件部分同時(shí)得到驗(yàn)證且正確交互。過(guò)去,如果設(shè)計(jì)流片后發(fā)生硬件問(wèn)題,軟件開發(fā)者必須盡其所能設(shè)法圍繞問(wèn)題進(jìn)行編碼。在 SoC 完成之前驗(yàn)證軟件,設(shè)計(jì)團(tuán)隊(duì)可以在進(jìn)入硅片階段之前解決硬件問(wèn)題。如前所述,硬件仿真檢查用于確保嵌入式軟件根據(jù)規(guī)范在硬件上運(yùn)行。

  

過(guò)去使用各種調(diào)試引擎進(jìn)行軟件調(diào)試。每種引擎有一個(gè)核心,充分利用硬件對(duì)處理器內(nèi)部工作的可視性和控制功能。雖然提供了部分調(diào)試功能,但由于處理器提供的接入方式,診斷問(wèn)題的能力受限。此外,由于傳統(tǒng)軟件調(diào)試通常發(fā)生在實(shí)際系統(tǒng)中,軟件開發(fā)者以目標(biāo)系統(tǒng)速度在實(shí)際硬件上執(zhí)行實(shí)際代碼。這樣他們可以通過(guò)大量代碼迅速找到錯(cuò)誤的程序。

這些傳統(tǒng)技術(shù)在調(diào)試 SoC 時(shí)無(wú)效,因?yàn)闆](méi)有實(shí)際硬件,無(wú)法以真實(shí)系統(tǒng)速度執(zhí)行代碼。一般來(lái)說(shuō),只要執(zhí)行代碼且軟件模擬器提供所有硬件可視性,即可仿真硬件。但問(wèn)題是速度 - 調(diào)試代碼是很慢的一種方法。例如,如果 SoC 設(shè)計(jì)為在 Linux 上運(yùn)行程序,軟件開發(fā)者必須以數(shù)十億時(shí)鐘周期完成 Linux 啟動(dòng),軟件才能開始執(zhí)行。粗略估計(jì)這會(huì)以約 10 赫茲 (Hz) 的典型軟件仿真速度花費(fèi) 28 年以上完成 Linux 啟動(dòng)。

不管調(diào)試硬件還是軟件,傳統(tǒng)硬件和軟件調(diào)試工具都無(wú)法得知彼此的任何情況。如果采用復(fù)雜的大型 SoC 設(shè)計(jì),嘗試找到問(wèn)題時(shí)獨(dú)立完成兩種調(diào)試是效率低下的。兩者結(jié)合是最為理想的方法,這樣硬件仿真就可以節(jié)約時(shí)間。SoC 硬件通常在 FPGA 或其他可編程器件中實(shí)施,速度更快。在此設(shè)置中,根據(jù)運(yùn)行速度,最快可以 15 分鐘的速度完成 Linux 啟動(dòng)。硬件仿真可提供與硬件調(diào)試器相似的斷點(diǎn)和波形控制及可視性。

硬件仿真以其高性能(這是軟件需求推動(dòng)的越來(lái)越重要的需求)在一眾驗(yàn)證工具中脫穎而出。它能夠確認(rèn) SoC 設(shè)計(jì)按計(jì)劃工作,并適于處理大到十億 ASIC 等效門的復(fù)雜設(shè)計(jì),且每月可完成超過(guò)一萬(wàn)億驗(yàn)證周期。即使是這樣,現(xiàn)階段使用硬件仿真進(jìn)行徹底詳盡的功能驗(yàn)證仍然是可用的最具成本效益且有效的調(diào)試方法。

引入事務(wù)級(jí)建模 (TLM) 和事務(wù)處理器可用性可將硬件仿真轉(zhuǎn)為一系列垂直市場(chǎng)的虛擬平臺(tái)測(cè)試環(huán)境。事務(wù)處理器作為驗(yàn)證知識(shí)產(chǎn)權(quán) (IP) 組合的一部分,是外設(shè)功能或協(xié)議的一種高級(jí)抽象模型。事務(wù)處理器通常作為現(xiàn)成 IP 提供,可用于各種不同的協(xié)議。典型的事務(wù)處理器通常包括 PCIe、USB、FireWire、Ethernet、Digital Video、RGB、HDMI、I2C、UART 和 JTAG 器件。

先前,硬件設(shè)計(jì)獨(dú)立于要在芯片上執(zhí)行的軟件的開發(fā)。但今非昔比,由于 SoC 處理器數(shù)量翻倍且每代產(chǎn)品包含兩倍的軟件內(nèi)容,軟件問(wèn)題成為開發(fā)團(tuán)隊(duì)和項(xiàng)目經(jīng)理優(yōu)先考慮的對(duì)象。現(xiàn)在,開發(fā)團(tuán)隊(duì)證實(shí)預(yù)期軟件在硬件平臺(tái)正常工作后,SoC 才算完整。

SoC 是一個(gè)全面的嵌入式系統(tǒng),需要進(jìn)行硬件仿真來(lái)驗(yàn)證其能否正常工作。通過(guò)硬件仿真,開發(fā)團(tuán)隊(duì)可以更策略性地進(jìn)行計(jì)劃,并根據(jù)多個(gè)抽象層面實(shí)施調(diào)試方法。他們可以同時(shí)在硬件和嵌入式軟件之間追蹤錯(cuò)誤,確定問(wèn)題所在。通過(guò)具有更高性價(jià)比且有效的方式,他們?cè)谶@個(gè)過(guò)程中節(jié)約了時(shí)間,大幅降低錯(cuò)過(guò)上市機(jī)遇的風(fēng)險(xiǎn)。

(責(zé)任編輯:fqj)

發(fā)表回復(fù)

本版積分規(guī)則


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表