硬件/軟件接口,簡(jiǎn)稱“HSI”,是一個(gè)術(shù)語(yǔ),用于描述 SoC 外設(shè)的配置和功能以及它們?nèi)绾闻c CPU 交互。
從寄存器位到訪問(wèn)類型、屬性及其控制的功能,這里不同因素的絕對(duì)數(shù)量在現(xiàn)代 SoC 中絕對(duì)是驚人的。例如,如果您有 32 位地址總線,則可以訪問(wèn) 2^32 個(gè)內(nèi)存映射寄存器。如果每個(gè)寄存器本身都是 32 位寬,則寄存器位的總數(shù)變?yōu)?(32 * 2^32) 或 2^37,或 137,438,953,472!
但是,如果地址總線是 64 位怎么辦?如果 SoC 中有多個(gè) CPU 內(nèi)核怎么辦?顯然,說(shuō)典型的SoC架構(gòu)很復(fù)雜有點(diǎn)輕描淡寫。
不可否認(rèn),當(dāng)前的行業(yè)趨勢(shì)只會(huì)帶來(lái)更先進(jìn)的SoC,其外設(shè)數(shù)量比以往任何時(shí)候都多,功能更多。為了理解這一切,更不用說(shuō)管理它了,這將需要我們完全重新思考硬件/軟件接口。就我們已經(jīng)走了多遠(yuǎn)而言,都是如此。..。..以及我們的前進(jìn)方向。
當(dāng)今存在的硬件/軟件接口
在任何給定的時(shí)刻,您都有各種各樣的不同元素正在處理。多個(gè)處理器,包括專門設(shè)計(jì)的處理器。它們周圍是大量的可編程外設(shè)。一切都通過(guò)片上網(wǎng)絡(luò)互連匯集在一起。這樣的例子不勝枚舉。
在現(xiàn)代CPU的背景下,HSI和指令集架構(gòu)(ISA)本質(zhì)上是完全相同的東西。它是軟件與硬件“對(duì)話”的層。CPU可以是ARM,RISC-V - 實(shí)際上并不重要,因?yàn)檫^(guò)程保持不變。你為你想要的目標(biāo)編寫一個(gè)C或C++程序,你編譯它,然后放在CPU上。這就是您與寄存器和外部總線以及 I/O 交互的方式。
就實(shí)際的SoC而言,您還必須處理互連結(jié)構(gòu),這是將CPU連接到各種可編程從站的原因。這些奴隸可能有自己的記憶,甚至可以成為通往較慢總線的橋梁,具體取決于您所說(shuō)的獨(dú)特情況。從站通過(guò)讀取和寫入嵌入式寄存器進(jìn)行編程。當(dāng)你從這種類型的宏觀角度來(lái)看事情時(shí),寄存器和中斷是IP(或從屬)HSI。
雖然到目前為止這一直運(yùn)作良好,但也很難反駁它給任何項(xiàng)目帶來(lái)一些重大挑戰(zhàn)的事實(shí)。在最近的一項(xiàng)研究中,仔細(xì)研究了芯片功能缺陷的根本原因,設(shè)計(jì)錯(cuò)誤是關(guān)鍵因素。還考慮了規(guī)格的變化以及不正確或不完整的規(guī)格。所有這些問(wèn)題都既嚴(yán)重又常見(jiàn),而且它們都有一個(gè)共同點(diǎn):屬于這三個(gè)類別中的任何一個(gè)的問(wèn)題中,超過(guò)50%的問(wèn)題直接與HSI層有關(guān)。
以寄存器為例。您必須始終記住,您正在處理各種不同的類型。間接、UART、影子、鎖定、中斷、FIFO 和分頁(yè)都只是眾多示例中的一小部分。間接寄存器和觸發(fā)緩沖寄存器等復(fù)雜寄存器都有其自身潛在的復(fù)雜性,寄存器組或組數(shù)組也是如此,它們顯然非常不同。
僅基于此,就很容易理解為什么超過(guò)一半的問(wèn)題可以直接與硬件/軟件接口相關(guān)聯(lián)。同樣復(fù)雜的是,公司通常有自己獨(dú)特的SoC特定挑戰(zhàn)和要求。
人們很容易對(duì)這個(gè)消息采取悲觀的態(tài)度,并將其視為令人恐懼的事情。值得慶幸的是,這也是值得慶祝的事情。這意味著,如果你花時(shí)間修復(fù)HSI層,你也會(huì)修復(fù)芯片功能缺陷的大部分根本原因,這些缺陷甚至不應(yīng)該首先存在。
您需要的靈活、創(chuàng)新的未來(lái)
當(dāng)你考慮HSI信息的所有不同消費(fèi)者時(shí),這個(gè)列表可能比人們意識(shí)到的要長(zhǎng)得多。除了設(shè)備驅(qū)動(dòng)程序、固件和硬件驗(yàn)證等因素外,您還需要考慮技術(shù)文檔、診斷、應(yīng)用軟件、硬件設(shè)計(jì)等。對(duì)底層規(guī)范的一次更改需要在所有這些領(lǐng)域進(jìn)行重大轉(zhuǎn)變,這就是為什么找到一種允許這些更改自動(dòng)滲透到所有相關(guān)視圖中的解決方案如此重要的原因。
Agnisys自己的IDesignSpec(IDS)只是在解決所有這些問(wèn)題方面取得重大進(jìn)展的眾多進(jìn)步例子之一。根據(jù)您的需求,這些類型的解決方案通常與各種不同的輸出兼容,包括但不限于Verilog/VHDL,C模型,UVM等。它們通??捎糜趶呐幚恚ㄏ胂耄好钚校┑?Word 和 Excel,甚至是 Open Office 等開(kāi)源選項(xiàng)。
現(xiàn)在可以生成一個(gè)基于 UVM 的寄存器模型,該模型涵蓋所有驗(yàn)證元素,如封面組、封面點(diǎn)、封面箱、非法箱等 - 為您的實(shí)際人類員工騰出寶貴的時(shí)間專注于更大、更重要的事情。
最后,可以使用單個(gè)工具來(lái)創(chuàng)建測(cè)試序列和環(huán)境,創(chuàng)建正式的屬性和斷言,從規(guī)范創(chuàng)建UVM序列和固件例程,并幫助實(shí)現(xiàn)跨平臺(tái)HSI層規(guī)范,以應(yīng)該一直存在的方式平等地為各方服務(wù)。如果您想了解更多信息,Agnisys 有一個(gè)錄制的網(wǎng)絡(luò)研討會(huì),介紹如何在 HSI 中工作時(shí)指定和提高生產(chǎn)力。
這一切都超越了簡(jiǎn)單的自動(dòng)化。它代表了朝著硬件和軟件概念的下一次演變邁出的重要一步。
同樣,您特別談?wù)摰氖悄姆N工具并不重要。下一代硬件/軟件接口解決方案已經(jīng)到來(lái),它們不僅有助于解決“老派”做事方式中存在的絕大多數(shù)挑戰(zhàn),而且還對(duì)幾乎所有你能想到的行業(yè)都提出了許多重大影響,這些行業(yè)太強(qiáng)大了,不容忽視。
功能安全
HSI發(fā)揮重要作用的眾多領(lǐng)域之一與功能安全和ISO 26262標(biāo)準(zhǔn)有關(guān)。例如,汽車工程師需要確保其設(shè)計(jì)中沒(méi)有單點(diǎn)故障,并遵守ECC - CRC和奇偶校驗(yàn)或其他技術(shù)(如三模塊冗余(或TMR))的標(biāo)準(zhǔn)。
出于安全目的,HSI對(duì)于某些應(yīng)用程序在歷史上也很重要。你會(huì)看到很多情況下,內(nèi)存映射被一個(gè)鍵序列鎖定,其中必須使用特定值向某個(gè)地址寫入一系列寫入,以使?fàn)顟B(tài)機(jī)完成解鎖整個(gè)內(nèi)存映射所需的過(guò)程。
最后,我們有醫(yī)療領(lǐng)域 - 硬件/軟件接口很重要的領(lǐng)域,因?yàn)樽袷啬承┮笫顷P(guān)鍵任務(wù)。此外,他們還對(duì)HSI層本身提出了自己獨(dú)特的要求,從而影響您如何實(shí)現(xiàn)某些因素以及未來(lái)的情況。
不幸的是,盡管HSI在理論上很重要,但在執(zhí)行中,它以最糟糕的方式處于停滯狀態(tài)。它與以往一樣重要,但存在某些挑戰(zhàn),這些挑戰(zhàn)絕對(duì)阻礙了創(chuàng)新,而不是推動(dòng)創(chuàng)新向前發(fā)展。
最后
毋庸置疑,在處理復(fù)雜的硬件/軟件接口時(shí)存在很多挑戰(zhàn)。然而,通常情況下,也存在大量的機(jī)會(huì)。這一領(lǐng)域的進(jìn)步,IDesignSpec只是眾多例子之一,使人們有可能更好地改變他們對(duì)HSI的看法。
硬件/軟件接口背后的想法肯定已經(jīng)走了很長(zhǎng)一段路,而且還有很長(zhǎng)的路要走。但與此同時(shí),好東西值得為之奮斗,因?yàn)椤罢_的方法”幾乎可以保證全面顯著提高生產(chǎn)力?!板e(cuò)誤的方法”保證了調(diào)試時(shí)丟失很多周期,以及其他問(wèn)題,這意味著它根本不是一個(gè)真正的選擇。
審核編輯:郭婷
-
寄存器
+關(guān)注
關(guān)注
31文章
5590瀏覽量
129248 -
cpu
+關(guān)注
關(guān)注
68文章
11229瀏覽量
223215 -
soc
+關(guān)注
關(guān)注
38文章
4525瀏覽量
227804
發(fā)布評(píng)論請(qǐng)先 登錄
智能雙卡設(shè)計(jì)實(shí)戰(zhàn)指南:硬件電路與軟件配置詳解!
CIE全國(guó)RISC-V創(chuàng)新應(yīng)用大賽 呼吸機(jī)人機(jī)交互系統(tǒng)
基于蜂鳥(niǎo)E203(一代)的添加外設(shè)基本總線讀寫操作簡(jiǎn)要介紹
蜂鳥(niǎo)E203 SoC的私有設(shè)備總線的簡(jiǎn)單使用
基于hbirdv2的APB總線添加外設(shè)(二)
串口外設(shè)使用分析
E203外設(shè)的例化與編譯配置
如何在e203 SOC中添加自定義外設(shè)
蜂鳥(niǎo)SOC的SPI外設(shè):如何修改SPI的時(shí)鐘相位和時(shí)鐘極性
ESP32-P4—具備豐富IO連接、HMI和出色安全特性的高性能SoC
AD74413R軟件可配置的四通道輸入/輸出技術(shù)手冊(cè)

硬件/軟件接口:描述SoC外設(shè)配置和功能及如何與CPU交互
評(píng)論