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