讓我們談?wù)剬?RISC-V 整合到工業(yè)產(chǎn)品線開發(fā)流程中。這里的關(guān)鍵信息是,軟件工程師可以更早、更頻繁地進(jìn)行創(chuàng)新,并為硬件設(shè)計(jì)團(tuán)隊(duì)提出更具體的核心要求。如果你曾經(jīng)做過基于 Linux 的設(shè)計(jì),你應(yīng)該熟悉這個(gè)過程,因?yàn)橛泻芏嘞嗨浦帯M瑫r(shí),硬件工程師利用開源 RISC-V 實(shí)施,可以在創(chuàng)新和協(xié)作方面領(lǐng)先一步,并參與開放社區(qū)。
圖1
如圖所示,傳統(tǒng)的硬件/軟件協(xié)同設(shè)計(jì)模型在劃分階段后硬件和軟件設(shè)計(jì)并行向前發(fā)展。雖然這是“完美世界”的場(chǎng)景,但現(xiàn)實(shí)情況是硬件通常驅(qū)動(dòng)設(shè)計(jì)的大部分定義,而軟件則支持硬件定義的內(nèi)容。雖然這種情況多年來有所改善,并且軟件對(duì)整體定義的貢獻(xiàn)比過去更大,但它仍然是一個(gè)以硬件為主的模型。
像所有模型一樣,最終您必須從概念到實(shí)際實(shí)施,并且必須以具有成本效益的方式進(jìn)行。因此,大多數(shù)組織實(shí)施產(chǎn)品開發(fā)模型來管理此過程,例如 NXP 顯示的模型,其中硬件和軟件開發(fā)階段大部分與幾個(gè)已定義的正式里程碑并行運(yùn)行。
美中不足的地方在于,硬件和軟件開發(fā)人員通常是從不同的地方裁減出來的。對(duì)于每個(gè)學(xué)科來說,完美的解決方案看起來都非常不同,而性能方面的考慮往往會(huì)迫使做出對(duì)軟件人員不友好的決策。一種潛在的解決方案是,在做出這些決定時(shí),硬件開發(fā)人員應(yīng)該考慮如何讓軟件團(tuán)隊(duì)更輕松,即幫助他們利用已知的范例。
在 NXP,軟件團(tuán)隊(duì)驅(qū)動(dòng)下一代物聯(lián)網(wǎng)系統(tǒng)的編程模型,這是定義算法和數(shù)據(jù)結(jié)構(gòu)表達(dá)的底層計(jì)算系統(tǒng)的抽象。這有助于彌合底層硬件架構(gòu)與應(yīng)用程序開發(fā)人員的軟件支持層之間的差距。它將包括操作系統(tǒng)以及可以通過硬件實(shí)現(xiàn)改進(jìn)的功能,例如低級(jí)中斷、內(nèi)存管理和時(shí)鐘支持。例如,對(duì)于具有連接性的嵌入式處理器,軟件團(tuán)隊(duì)提供與硬件設(shè)計(jì)團(tuán)隊(duì)緊密架構(gòu)的 PHY 和 MAC 層堆棧的輸入,以實(shí)現(xiàn)高效的 SoC 設(shè)計(jì)。
當(dāng)您查看當(dāng)前設(shè)計(jì)所投入的資源(資源等于人)時(shí),很明顯軟件開始主導(dǎo)嵌入式設(shè)計(jì)的成本。因此,軟件團(tuán)隊(duì)需要在決策中擁有更大的發(fā)言權(quán)。
圖 3
圖 3 顯示了一個(gè)更現(xiàn)實(shí)的設(shè)計(jì)流程,其中硬件設(shè)計(jì)在軟件之前開始,為軟件團(tuán)隊(duì)提供了一些關(guān)于它需要支持什么的定義。不幸的是,這最終會(huì)導(dǎo)致更長的軟件設(shè)計(jì)時(shí)間。
圖 4
如圖 4 所示,可以通過使用 Zebu 和仿真等快速仿真技術(shù)在流程的早期開始,采用“左移”方法進(jìn)行軟件開發(fā)。因此,圖 3 中的過程圖已經(jīng)演變,現(xiàn)在顯示軟件開始更早,結(jié)束更早。
RISC-V 編程模型由創(chuàng)建機(jī)器抽象視圖的語言和庫組成。關(guān)于控制你需要問的問題是”
并行性是如何產(chǎn)生的?
如何強(qiáng)制執(zhí)行依賴項(xiàng)(排序)?
對(duì)于數(shù)據(jù),它是:
數(shù)據(jù)可以共享還是全部私有?
如何訪問共享數(shù)據(jù)或傳輸私有數(shù)據(jù)?
對(duì)于同步:
可以使用哪些操作來協(xié)調(diào)并行性?
什么是原子(不可分割)操作?
使用 Chisel 硬件設(shè)計(jì)工具等工具和 RISC-V 等開放式 ISA 實(shí)現(xiàn),軟件團(tuán)隊(duì)可以在流程的早期開始探索,使用關(guān)鍵軟件算法和應(yīng)用程序,設(shè)計(jì)可以有效執(zhí)行這些關(guān)鍵軟件應(yīng)用程序的專用 RISC-V 內(nèi)核。 這尤其適用于系統(tǒng)定義和軟件系統(tǒng)建模。
在處理系統(tǒng)定義和軟件系統(tǒng)建模時(shí),軟件工程師使用類似于 C/C++ 程序或 Matlab 模型的模型以及一組性能要求。然后,Chisel 用于設(shè)計(jì)探索。
一旦團(tuán)隊(duì)獲得了擴(kuò)展 RISC-V 架構(gòu)所需的指令,它們就會(huì)作為新指令的定義傳遞出去,最終生成編程模型。這就是發(fā)送回硬件團(tuán)隊(duì)進(jìn)行實(shí)施和優(yōu)化的內(nèi)容。
一個(gè)重要的問題是 RISC-V 是否可以“足夠開放”以類似于 Linux 模型的方式運(yùn)行。如果你看看 Linux 的早期以及它是如何開始流行的,那么如果它確實(shí)以這種方式發(fā)生,那將是對(duì)行業(yè)有利的。在嵌入式領(lǐng)域,Linux 項(xiàng)目的數(shù)量大約增長了 50%。大約 80% 的用戶使用操作系統(tǒng)的免費(fèi)版本。
RISC-V要取得成功,必須堅(jiān)持這四個(gè)“自由”:
出于任何目的運(yùn)行軟件的自由。
研究軟件如何工作的自由,并對(duì)其進(jìn)行更改以使其按照您的意愿行事。訪問源代碼是一個(gè)先決條件。
重新分發(fā)副本的自由,以便您可以幫助您的鄰居。
將修改后的版本的副本分發(fā)給他人的自由。
關(guān)鍵信息是嵌入式軟件工程師將在定義 SoC 架構(gòu),特別是編程模型和系統(tǒng)優(yōu)化方面發(fā)揮更大的作用。開源 RISC-V 實(shí)現(xiàn)將允許更多的軟件驅(qū)動(dòng)硬件。生態(tài)系統(tǒng)對(duì)于 RISC-V 的成功至關(guān)重要。
審核編輯:郭婷
-
嵌入式
+關(guān)注
關(guān)注
5150文章
19665瀏覽量
317457 -
soc
+關(guān)注
關(guān)注
38文章
4387瀏覽量
222721 -
C++
+關(guān)注
關(guān)注
22文章
2119瀏覽量
75289
發(fā)布評(píng)論請(qǐng)先 登錄
大象機(jī)器人攜手進(jìn)迭時(shí)空推出 RISC-V 全棧開源六軸機(jī)械臂產(chǎn)品
關(guān)于RISC-V芯片的應(yīng)用學(xué)習(xí)總結(jié)
RISC-V MCU技術(shù)
Imagination放棄RISC-V處理器內(nèi)核開發(fā)
RISC-V架構(gòu)及MRS開發(fā)環(huán)境回顧
2024年RISC-V產(chǎn)品和應(yīng)用創(chuàng)新案例征集活動(dòng)公告

關(guān)于RISC-V學(xué)習(xí)路線圖推薦
《RISC-V能否復(fù)制Linux 的成功?》
RISC-V,即將進(jìn)入應(yīng)用的爆發(fā)期
宣布 RISE RISC-V 開發(fā)者表彰試點(diǎn)計(jì)劃:賦能開發(fā)者拓展 RISC-V 影響力

RISC-V Summit China 2024 | 青稞RISC-V+接口PHY,賦能RISC-V高效落地
2024 RISC-V 中國峰會(huì):華秋電子助力RISC-V生態(tài)!
匠芯創(chuàng)引領(lǐng)RISC-V工業(yè)芯國產(chǎn)化浪潮

評(píng)論