今天,系統級芯片 (SoC) 設計師在產品開發中面臨的最重要的問題之一就是如何選擇一個知識產權 (IP) 內核。它能夠影響產品的性能和質量,以及上市時間和盈利能力。然而SoC 設計師在選擇一個內核的時候面臨著諸多挑戰。他們需要仔細考慮以決定哪種內核對特定的SoC最合適。他們必須決定內核的類型(軟內核或是硬內核)、可交付成果的質量、可靠性和IP提供商的承諾等等。本文將就以上每個環節進行討論,并為如何最好地評估多個競爭的IP內核的特性提供一個指導。
引言
芯片生產技術的持續進步已經使得今天設計工程師擁有了大量的芯片資源。但不幸的是,設計團隊設計電路的能力沒有跟上發展的步伐。這種不平衡催生了IP內核產業。IP內核可使設計團隊通過整合預制的模塊快速創建大量的系統級芯片(SoCs) 設計,而這些模塊不需要任何設計或驗證工作。然而,這一新的設計模式也伴隨著一些嚴峻的挑戰。根據內核的不同,它們能夠被最小化或者被惡化。
首先,IP內核可以以兩種形式提供給客戶:軟內核和硬內核。兩種內核的提供方式都可以使客戶獲得在功能方面經過驗證的設計。軟內核,也被稱為可合成內核,需要由客戶集成在其SoC上實現。另一方面,硬內核可以完全實現和直接投入生產。(從技術上說,一種設計只有生產后才能實現。但是在此情況下,實現的意思是指安排布局并可直接投入生產)。SoC團隊只需將硬內核像一個單片集成電路片那樣置入芯片即可。軟內核和硬內核具有不同的問題和好處,下面將逐一詳細介紹。
IP內核啟動了SoC設計工作中一個關鍵部分。利用驗證的設計,設計團隊能夠以更少的時間、使用更少的設計及電子設計自動化 (EDA) 資源完成其芯片設計。然而,將內核整合到一個芯片上需要很多步驟。這個過程是否能夠很容易地完成,主要取決于提供的交付成果。這篇文章詳細介紹了一些能夠非常容易地將內核集成到SoC設計過程的所有步驟的附屬交付成果。
最后,還需要考慮IP供應商。IP產業剛剛起步,存在許多低質量甚至一些有缺陷的產品,而且它們還沒有被限制開發。客戶不僅必須對IP內核進行評估,而且還要評估IP提供商。
軟內核與硬內核的對比
我們來分析一下兩者的優勢與不足:
性能
由于軟內核不用執行,因此它在功能和實現方面比硬內核更加靈活。另一方面,硬內核開發者能夠花更多的時間來優化它們的實現,因為它們能夠在很多設計中使用。因此,這使人們覺得硬內核能夠提供更高的性能。
事實上,為那些最先進工藝設計的高端、全定制硬內核確實能夠提供比軟內核更好的性能表現。通過使用鎖存、動態邏輯、三態信號、定制存儲器等,全定制設計組能夠獲得比完全靜態合成的設計更好的結果。對于需要達到現有工藝和設計技術極限性能的SoC來說,全定制硬內核能夠更好地的滿足這些要求。
然而,如果性能目標只是在一個軟內核范圍內,那么硬內核潛在性能優勢就無關緊要了。SoC設計團隊能夠使用軟內核滿足性能要求,并利用其內在靈活性的優勢。(隨著工藝技術的進步,軟內核的最高頻率限制也在提高,使它們成為了更多SoC設計師的選擇。)在較低時鐘頻率下,硬內核或許可以提供芯片尺寸方面的優勢。但是情況往往并不是這樣。硬內核經常簡單地使用ASIC的方法進行固化,使之不能提供速度上的優勢。在其他情況下,全定制內核不能根據每一代工藝進行重新優化,所以減小了頻率和尺寸上的優勢。
技術獨立和簡化
軟內核的優勢之一是采用獨立的技術。這就是說,高水平的Verilog 或 VHDL 不需要使用一種特定的工藝技術或標準的單元程序庫。這意味著同一個IP內核能夠應用到多種設計,或現有設計的下一代產品中。(一些軟內核提供商利用使客戶依賴其內核技術的設計方式,但是這種方式的好處并不明顯。)
另一方面,硬內核是非常特殊的技術。事實上,如果代工廠改變其工藝參數或庫函數,隨著工藝的改變硬內核可能無法正常工作。這就產生了一個風險,因為在工藝參數改變時,IP提供商需要重新對硬內核進行驗證。
硬內核能夠采用新的工藝技術,但是重新優化全定制內核的工作既費事又昂貴。而對于一些先進的微處理器內核,這可能要花兩年或更長的時間。因此,硬內核經常根據新的工藝進行光學調整。雖然這一方式既簡單又快速,但是它減少了由設計團隊為現有工藝定制優化的許多優勢。
不僅如此,光學調整同時帶來了另一個風險,因為它只能保證新的設計滿足設計規則,而不能保證準確的時序或功能。因為光學調整是一條設計捷徑,全面重新驗證經過光學調整的IP內核是非常困難的。
速度/尺寸/功率優化
硬內核的IP提供商執行硬內核時先要進行一次優化。因為內核只被優化一次,IP提供商能夠承擔主要的資源成本。因而對于一種技術來說,硬內核經常比可比較的軟內核運行的速度更快。但是即使在這種技術中,硬內核僅僅是針對一組目標而優化的。如果目標是在合理的性能上使芯片尺寸更小,那么,對于這種應用來說,為高度可調性能而優化的硬內核就可能太大了。
另一方面,軟內核能夠被應用優化。為適合特定的嵌入式SoC設計,時序、尺寸和功率目標可能需要進行調整。例如:如果SoC使用200 MHz 時鐘,那么設計運行在250 MHz的軟IP內核可能需要改為準確地運行在200 MHz上。這可在得到更小尺寸和更低功率的同時滿足設計要求。
這種應用優化同時適用于低層IO時序。軟內核的IO限制可以進行調整,以準確配合內核的使用環境。如果硬內核有延遲輸出信號,SoC設計師幾乎無法改善時序。
如果SoC的速度、尺寸和功率目標與硬內核的目標相符,那么硬內核將極具競爭力。但對于大多數設計師來說,軟內核在特定的SoC優化方面更具優勢。
用戶定制能力
軟內核相對硬內核還具有另外一個優勢:編譯時間用戶定制化。這些是執行之前的設計選擇。
高速緩沖存儲器的內存大小就是一種常見的編譯時間用戶定制化。軟內核處理器能夠精確地根據特殊嵌入式應用所需的高速緩沖存儲器的大小進行配置。而硬內核在這方面就不能定制化。
另一種在許多軟內核中應用的定制化是指令專用,或選擇性支持某種特殊指令。例如,一些系統可能需要對擴展協處理器的支持。然而,在一些不使用這些特性的系統中,軟內核中多余的硬件可以去掉,以節省空間和功率。
軟內核也可以包括執行配置參數。它們是一種特殊的編譯時間用戶定制化,可幫助軟內核更好地配合SoC團隊使用的設計方式。例如,微處理器內核經常通過使用門控時鐘電路實現。然而,這種時鐘不能與某些時鐘路由工具很好配合。如果處理器內核可提供一種將所有門控時鐘變為相等的重復多工器的編譯時間設置,將使SoC團隊的實現更為容易。
整合的便利
除非內部設計組已經實現了硬內核,軟內核能夠更容易集成到SoC設計團隊使用的流程中。其原因是SoC設計團隊將在他們認可的IP內核周圍添加RTL模塊。這些內核看上去就像其他SoC模塊,并可像它們一樣地實現。
另一方面,硬內核看上去更像一個黑匣子隨機存儲器,特別是在它通過全定制技術實現時。這意味著硬內核提供商將需要為該內核提供更多的黑匣子模型,使SoC設計師能夠在其周圍設計其模塊。這本身就比使用軟內核更困難。例如,全定制硬內核也許沒有門級排線表。這是因為該設計已經在晶體管層完成,而沒有使用邏輯門。但是設計團隊可能需要通過逆向注解時序運行門級功能仿真。因為缺少門級排線表,這將非常難以實現。
附屬材料
一個有競爭力的軟IP內核不只是一個Verilog 或 VHDL源文件的集合。出于同樣原因,一個好的硬內核也不只是一個設計圖數據庫。今天的IP內核包含一套交付成果,它們允許SoC 設計團隊將IP內核整合到他們的設計中。這些附屬交付成果的目的是盡可能容易地將IP內核整合到設計流程的各個環節。
圖1顯示了采用不同IP內核的SoC開發活動。這部分討論了一些對軟內核和硬內核都必需的交付成果。
文件
清晰和簡練的文件是大多數技術產品的先決條件。然而,需要參考IP內核文件的人的差異非常大,這對于IP內核技術文件具有非常大的挑戰性。
在圖1中,每一個開發活動都有不同的文件需求。例如,軟件開發者需要了解硬件的可編程特性,但他們可能不關心它是怎樣實現的。因此,一組好的文件可使軟件開發者更容易發現他們所需的信息,而不致被大量無用的信息困擾。
最后,如果SoC團隊需要為能重復使用IP內核文件的SoC創建文件,IP提供商應該提供可編輯的源文件和SoC文件的引用權。
責任編輯:gt
評論
查看更多