設(shè)計(jì)人員預(yù)測(cè)完成設(shè)計(jì)所需的時(shí)間和資源、設(shè)備的性能以及何時(shí)可以交付給客戶的能力受到影響。即使使用最好的工具,一些 SoC 設(shè)計(jì)趨勢(shì)也會(huì)極大地影響可預(yù)測(cè)性,從而影響總體開(kāi)發(fā)成本,如圖 1 所示。
圖1
導(dǎo)致這種不可預(yù)測(cè)性危機(jī)的問(wèn)題分為四大類:
系統(tǒng)復(fù)雜性:盡管設(shè)計(jì)人員了解各個(gè) IP 內(nèi)核,但他們?nèi)耘c系統(tǒng)復(fù)雜性作斗爭(zhēng),這來(lái)自 IP 內(nèi)核交互的乘法效應(yīng)以及與其操作相關(guān)的信息流。
抽象級(jí)別不當(dāng):用于描述功能塊的語(yǔ)言和技術(shù)沒(méi)有規(guī)定來(lái)描述系統(tǒng)中的這些功能交互以及這些交互如何影響整個(gè)系統(tǒng)。
先進(jìn)的電源管理技術(shù):使用動(dòng)態(tài)電壓和頻率縮放對(duì)傳統(tǒng)設(shè)計(jì)方法施加了額外的限制。
工藝可變性:隨著技術(shù)下降到 65 nm 以下,處理工藝可變性是非常不可預(yù)測(cè)的,特別是對(duì)于傳統(tǒng)技術(shù)。
系統(tǒng)復(fù)雜性
復(fù)雜性看似隱蔽,因?yàn)殍b于先進(jìn)工藝技術(shù)的能力,它似乎是一個(gè)容易解決的問(wèn)題。隨著今天大量可用的晶體管,似乎可以構(gòu)建任何可以想象的東西。那么為什么處理系統(tǒng)復(fù)雜性如此困難呢?原因是,雖然可用晶體管的數(shù)量大致呈線性增長(zhǎng)(不考慮利用率),但引入不確定性并因此帶來(lái)可預(yù)測(cè)性挑戰(zhàn)的系統(tǒng)交互會(huì)因乘法效應(yīng)而增長(zhǎng)。這種乘法效應(yīng)基于 SoC 設(shè)計(jì)中的幾種復(fù)合趨勢(shì)。
多處理器
首先,從單處理器系統(tǒng)到多個(gè)異構(gòu)和同構(gòu)處理器的轉(zhuǎn)變正在增加系統(tǒng)交互,從而增加了復(fù)雜性。現(xiàn)代 SoC 通常包含一個(gè)或兩個(gè)以上的處理器。除了編程挑戰(zhàn)之外,協(xié)調(diào)這些多處理器硬件驅(qū)動(dòng)的活動(dòng)給設(shè)計(jì)人員帶來(lái)了困難。設(shè)計(jì)團(tuán)隊(duì)必須了解一些問(wèn)題,包括:
對(duì)共享資源的真正需求是什么?
使用這些共享資源的合理目標(biāo)是什么?
是否有可能讓處理器忙于一組資源限制?
本地高速緩存過(guò)多或過(guò)少的總體影響是什么?
是否對(duì)所有預(yù)期應(yīng)用程序進(jìn)行了充分建模,以確保它們?cè)谒璧奶幚砥骱凸蚕碣Y源集合上按預(yù)期運(yùn)行?
為了了解并隨后預(yù)測(cè)更改對(duì)共享資源的影響,一些最先進(jìn)的 SoC 設(shè)計(jì)團(tuán)隊(duì)已經(jīng)使用 SystemC 或類似語(yǔ)言構(gòu)建了完整的系統(tǒng)模型。建立和維護(hù)這種復(fù)雜程度的投資可能超出了主流 SoC 設(shè)計(jì)團(tuán)隊(duì)的能力范圍。即使使用這種方法,預(yù)測(cè)底層硬件的實(shí)際行為的能力(避免因后期實(shí)施意外而導(dǎo)致的昂貴的迭代周期所必需的)也由于這些建模環(huán)境(有限的準(zhǔn)確性)而受到限制。
傳統(tǒng)的 SoC 由人類交互時(shí)間和低性能數(shù)據(jù)移動(dòng)驅(qū)動(dòng)的輸入和輸出發(fā)生了巨大變化。SoC 上的接口數(shù)量、I/O 流量類型以及與系統(tǒng)中其他功能的 I/O 交互變得更加復(fù)雜。
例如,用于聯(lián)網(wǎng)家庭的設(shè)備可能具有無(wú)線網(wǎng)絡(luò)、傳統(tǒng)有線網(wǎng)絡(luò)、進(jìn)出外部存儲(chǔ)的數(shù)據(jù)移動(dòng)以及同時(shí)運(yùn)行的視頻和音頻輸出服務(wù)。為每種可能的用途提供最大的能力——全速率千兆以太網(wǎng),同時(shí)全速率訪問(wèn)磁盤(pán)控制器、無(wú)線以太網(wǎng)控制器和 USB 2.0——并非不合理;問(wèn)題是這些接口將如何與復(fù)雜的處理功能交互?在此示例中,將 I/O 與處理功能相結(jié)合可能涉及 16 個(gè) I/O 流與六個(gè)主要處理功能同時(shí)運(yùn)行,所有這些都共享公共 DRAM。這種情況比任何一種交互本身都復(fù)雜 100 倍。
IP復(fù)用
SoC 設(shè)計(jì)團(tuán)隊(duì)可以奢侈地為設(shè)計(jì)中的所有 IP 使用單一標(biāo)準(zhǔn)接口的日子已經(jīng)一去不復(fù)返了。幾乎所有 SoC 團(tuán)隊(duì)都面臨著解決內(nèi)部開(kāi)發(fā)的舊 IP、內(nèi)部開(kāi)發(fā)的新 IP(通常由不同的組或部門)以及可能遵循不同接口標(biāo)準(zhǔn)的外部來(lái)源 IP 的互操作性問(wèn)題的挑戰(zhàn)。
要使 IP 重用策略取得成功,各種標(biāo)準(zhǔn)之間的自動(dòng)轉(zhuǎn)換至關(guān)重要。實(shí)現(xiàn) IP 重用,包括測(cè)試套件、制造設(shè)計(jì)/良率設(shè)計(jì)和可靠性,排除了針對(duì)每個(gè)系統(tǒng)使用修改 IP。修改 IP(包括接口)會(huì)給設(shè)計(jì)進(jìn)度增加太多風(fēng)險(xiǎn)。設(shè)計(jì)團(tuán)隊(duì)必須保留大部分 IP,而是對(duì)系統(tǒng)中的其他 IP 進(jìn)行調(diào)整,通常在自定義橋接器和總線適配器中。但是,手動(dòng)執(zhí)行此操作會(huì)使過(guò)程不可預(yù)測(cè)且不可擴(kuò)展。一旦接口達(dá)到大于 1:1 的對(duì)應(yīng)關(guān)系,交互復(fù)雜性就會(huì)迅速上升。
具有三種類型接口的簡(jiǎn)單系統(tǒng)(對(duì)于大多數(shù) SoC 團(tuán)隊(duì)來(lái)說(shuō)是典型的)涉及六種轉(zhuǎn)換:三種用于請(qǐng)求,三種用于響應(yīng)。任何界面特征的變化都會(huì)將六種轉(zhuǎn)換乘以必須考慮的不同特征的數(shù)量。人為地限制這些特性是不現(xiàn)實(shí)的,因?yàn)檫@樣做會(huì)導(dǎo)致簡(jiǎn)單功能的過(guò)度設(shè)計(jì)或妨礙復(fù)雜功能的性能。處理這種復(fù)雜性增加了可預(yù)測(cè)性的挑戰(zhàn)。
流量和帶寬
復(fù)雜 SoC 中管理的流量的性質(zhì)和數(shù)量也發(fā)生了很大變化。諸如視頻和音頻之類的速率關(guān)鍵流量通常與面向處理器的流量混合在一起,后者往往具有更嚴(yán)格的延遲要求并以突發(fā)形式出現(xiàn)。再加上任何實(shí)時(shí)要求,例如可能對(duì)網(wǎng)絡(luò)流量施加的要求(必須在可用時(shí)提供千兆以太網(wǎng)以避免丟失數(shù)據(jù))。在相互交互的各種功能中為這些不同的流量類型提供服務(wù)是很困難的。
然后,數(shù)據(jù)量會(huì)加劇這種復(fù)雜性。高清視頻需要至少 6 倍標(biāo)清視頻的帶寬。在真實(shí)硬件的環(huán)境中分析這一點(diǎn)非常耗時(shí),例如,運(yùn)行足夠長(zhǎng)時(shí)間的模擬以確定一組特定的 IP 功能及其交互是否可以正確管理視頻幀是不切實(shí)際的。因此,SoC 設(shè)計(jì)團(tuán)隊(duì)專注于他們認(rèn)為是最壞情況的幾種情況,并希望一切正常。然而,希望在 SoC 設(shè)計(jì)中并不是一個(gè)可預(yù)測(cè)的數(shù)量。
操作模式
幾乎所有 SoC 都以不同的模式運(yùn)行。這些操作模式通常涉及以獨(dú)特方式交互的各種關(guān)鍵 IP 功能。不同模式的數(shù)量增加了分析和確定如何正確操作一組特定交互的復(fù)雜性。
例如,機(jī)頂盒 SoC 可能具有媒體提供兩個(gè)多媒體流的模式:一個(gè)流向顯示和音頻系統(tǒng)進(jìn)行處理,另一個(gè)存儲(chǔ)在磁盤(pán)上。這種模式不同于硬盤(pán)提供輸出功能的模式,其中一個(gè)媒體輸入被放入存儲(chǔ)信息內(nèi)的圖片窗口中。另一種模式可能會(huì)在解碼和顯示一個(gè)或兩個(gè)媒體輸入時(shí)從本地磁盤(pán)向網(wǎng)絡(luò)端口提供信息。可以很容易地看出,模式的數(shù)量極大地?cái)U(kuò)展了互操作功能和數(shù)據(jù)流的集合。確保所有這些模式都能正常運(yùn)行,這使 SoC 設(shè)計(jì)團(tuán)隊(duì)面臨的任務(wù)更加復(fù)雜。
這些系統(tǒng)復(fù)雜性問(wèn)題相互疊加。即使設(shè)計(jì)人員需要重復(fù)設(shè)計(jì)、實(shí)現(xiàn)或驗(yàn)證的一部分的可能性很小,但在所有這些問(wèn)題上累積的小百分比使得通過(guò)設(shè)計(jì)流程中的一個(gè)或多個(gè)步驟進(jìn)行多次迭代幾乎是必然的要求。
抽象級(jí)別不當(dāng)
SoC 設(shè)計(jì)社區(qū)繼續(xù)依賴于為描述由門組成的各個(gè)功能而構(gòu)建的語(yǔ)言和工具。這是一個(gè)很大的限制,因?yàn)檫@些語(yǔ)言(Verilog 或 C/C++/SystemC)不包含描述 IP 功能所必需的語(yǔ)法、概念和結(jié)構(gòu),以及復(fù)雜 SoC 中的交互。
如前所述,系統(tǒng)是復(fù)雜功能的組合,這些功能以各種方式進(jìn)行交互,具體取決于所提供的整體功能。為了正確描述和分析系統(tǒng)交互,設(shè)計(jì)人員必須有一種方法來(lái)描述對(duì)正確操作至關(guān)重要的系統(tǒng)級(jí)方面。這可能包括重要時(shí)間窗口中的帶寬特征、特定操作模式內(nèi)的流量并發(fā)、構(gòu)成操作模式的不同交互以及交互影響彼此的方式。缺乏將這些方面捕獲為可以驗(yàn)證的需求的方法會(huì)導(dǎo)致手動(dòng)解釋的硬件的低級(jí)表示無(wú)法按預(yù)期執(zhí)行的可能性很大。
先進(jìn)的電源管理技術(shù)
在 65 納米及以下部署的復(fù)雜電源管理方法專注于控制工作頻率,同時(shí)改變部分 SoC 的電源電壓。雖然這種能力有巨大的好處,但整個(gè)部分可能會(huì)完全關(guān)閉以消耗“零”功率,并且對(duì)系統(tǒng)級(jí)設(shè)計(jì)的影響提供了額外程度的復(fù)雜性。
這不僅使時(shí)鐘分配和管理變得困難,而且還對(duì)必須如何控制數(shù)據(jù)移動(dòng)施加了限制,具體取決于設(shè)備的哪些部分可能正在運(yùn)行、未運(yùn)行或以降低的速率運(yùn)行。除了關(guān)閉之外,可以以兩種不同速率運(yùn)行的設(shè)備的一部分使系統(tǒng)交互設(shè)計(jì)和分析復(fù)雜化了三倍。至少,子系統(tǒng)隔離、時(shí)鐘管理、電源關(guān)閉和適當(dāng)?shù)淖酉到y(tǒng)恢復(fù)所需的附加電路使設(shè)備設(shè)計(jì)的所有方面都復(fù)雜化。同時(shí),補(bǔ)充操作點(diǎn)增加了系統(tǒng)分析的復(fù)雜性,類似于或與操作模式復(fù)雜性相一致。
過(guò)程可變性
隨著工藝技術(shù)繼續(xù)向 65 nm 以下移動(dòng),單個(gè)設(shè)備操作的可變性會(huì)在本地和整個(gè)設(shè)備上引入電路功能和性能的不確定性。雖然統(tǒng)計(jì)靜態(tài)時(shí)序分析和其他技術(shù)有助于分析可變性影響,但它們不能提供減少可變性影響的解決方案。
為了適應(yīng)可變性,額外的余量用于確保電路在面對(duì)可變性時(shí)能夠正常工作。這種額外的余量會(huì)降低性能或功能增益,否則這些增益可能會(huì)通過(guò)更高級(jí)的流程實(shí)現(xiàn)。最終結(jié)果是設(shè)計(jì)團(tuán)隊(duì)能夠滿足在設(shè)計(jì)開(kāi)始時(shí)設(shè)定的目標(biāo)的保證較少。當(dāng)然,直到設(shè)計(jì)后期才知道這一點(diǎn),這可能會(huì)導(dǎo)致設(shè)計(jì)流程中某些步驟的迭代成本高昂。
總之,這些問(wèn)題在當(dāng)前 SoC 設(shè)計(jì)中引入的復(fù)雜性將可能的交互和需要考慮的情況的數(shù)量增加了幾個(gè)數(shù)量級(jí)。這個(gè)因素,加上缺乏適當(dāng)?shù)姆椒▉?lái)指定系統(tǒng)級(jí)交互并在適當(dāng)?shù)某橄蠹?jí)別對(duì)其進(jìn)行分析,使得設(shè)計(jì) SoC 成為一項(xiàng)非常冒險(xiǎn)、不可預(yù)測(cè)且因此成本高昂的業(yè)務(wù)。
審核編輯:郭婷
-
電源
+關(guān)注
關(guān)注
184文章
17812瀏覽量
251152 -
處理器
+關(guān)注
關(guān)注
68文章
19390瀏覽量
230604 -
soc
+關(guān)注
關(guān)注
38文章
4192瀏覽量
218686
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論