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