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

文件
清晰和簡練的文件是大多數(shù)技術(shù)產(chǎn)品的先決條件。然而,需要參考IP內(nèi)核文件的人的差異非常大,這對于IP內(nèi)核技術(shù)文件具有非常大的挑戰(zhàn)性。
在圖1中,每一個開發(fā)活動都有不同的文件需求。例如,軟件開發(fā)者需要了解硬件的可編程特性,但他們可能不關(guān)心它是怎樣實現(xiàn)的。因此,一組好的文件可使軟件開發(fā)者更容易發(fā)現(xiàn)他們所需的信息,而不致被大量無用的信息困擾。
最后,如果SoC團(tuán)隊需要為能重復(fù)使用IP內(nèi)核文件的SoC創(chuàng)建文件,IP提供商應(yīng)該提供可編輯的源文件和SoC文件的引用權(quán)。
責(zé)任編輯:gt
電子發(fā)燒友App


















評論