SoC設(shè)計(jì)方法學(xué)(二)
SoC設(shè)計(jì)方法學(xué)
本文引用地址:http://butianyuan.cn/article/226426.htmSoC設(shè)計(jì)方法學(xué)的內(nèi)容可以簡(jiǎn)單的歸納為如下三點(diǎn):軟硬件協(xié)同設(shè)計(jì)技術(shù),IP核生成及復(fù)用技術(shù)和超深亞微米IC設(shè)計(jì)技術(shù)(有時(shí)又稱(chēng)納米級(jí)電路設(shè)計(jì)技術(shù))。它們又分別包含一系列的子課題(圖5)。
在這些子課題中有些是我們已經(jīng)十分熟悉的,但是這并不意味著它們是已經(jīng)解決的問(wèn)題。恰恰相反,這些課題在融入SoC設(shè)計(jì)方法學(xué)的框架之后,已經(jīng)在內(nèi)涵上產(chǎn)生了很大的變化。
軟硬件協(xié)同設(shè)計(jì)技術(shù)
首先探討一下軟硬件協(xié)同設(shè)計(jì)。軟硬件協(xié)同設(shè)計(jì)課題的提出已有多年的歷史,但是早期的研究多集中在針對(duì)一個(gè)特定的硬件如何進(jìn)行軟件開(kāi)發(fā)或根據(jù)一個(gè)已有的軟件實(shí)現(xiàn)具體的硬件結(jié)構(gòu)。前者是一個(gè)經(jīng)典的軟件開(kāi)發(fā)問(wèn)題,軟件性能的好壞不僅僅取決于軟件開(kāi)發(fā)人員的技術(shù)水平,更有賴(lài)于所使用的硬件平臺(tái),后者是一個(gè)軟件固化的問(wèn)題,實(shí)現(xiàn)的途徑可以是采用一個(gè)與原有軟件平臺(tái)相同的軟件處理器,并將軟件代碼存儲(chǔ)于存儲(chǔ)器當(dāng)中,也可以是在充分理解軟件的內(nèi)在功能之后完全用硬件來(lái)實(shí)現(xiàn)軟件的功能。采用存儲(chǔ)器固化軟件代碼的作法一般來(lái)說(shuō)可以比較快地實(shí)現(xiàn)芯片設(shè)計(jì),且芯片具有一定的二次開(kāi)發(fā)可能,但是由于考慮到實(shí)現(xiàn)所需的硬件平臺(tái)的一致性,芯片的性能將受到較大的限制,大多應(yīng)用在性能比較低的場(chǎng)合。除此之外,有時(shí)候要找到一個(gè)可用的、與軟件開(kāi)發(fā)時(shí)所使用的硬件平臺(tái)兼容的處理器也是一件十分困難的事情。將軟件功能全部由硬件來(lái)實(shí)現(xiàn)的作法具有較大的風(fēng)險(xiǎn),一般需要比較長(zhǎng)的時(shí)間和比較大的人力、物力和財(cái)力的投入,特別是進(jìn)入市場(chǎng)的時(shí)間較為苛刻的時(shí),這種做法有其局限性。但是一旦成功,則芯片具有較高的性能。從上述介紹不難發(fā)現(xiàn),早期的軟硬件協(xié)同設(shè)計(jì)方法研究還是一種面向目標(biāo)的(Object Oriented)軟硬件設(shè)計(jì)方法,研究的內(nèi)容和結(jié)果與所要實(shí)現(xiàn)的目標(biāo)和已具備的條件密切相關(guān),形不成具有普遍適用性的理論體系。
其次是這一全新的設(shè)計(jì)方理論與已有的IC設(shè)計(jì)理論之間的接口??梢灶A(yù)見(jiàn),這種全新的設(shè)計(jì)理論應(yīng)該是現(xiàn)有IC設(shè)計(jì)理論的完善,是建筑在現(xiàn)有理論之上的一個(gè)更高層次的設(shè)計(jì)理論,它與現(xiàn)有理論一起組成了更為完善的理論體系。在這種假設(shè)下,這種設(shè)計(jì)理論的輸出就應(yīng)該是現(xiàn)有理論的輸入。
第三,這種全新的軟硬件協(xié)同設(shè)計(jì)理論將如何確定最優(yōu)性原則。顯然沿用以往的最優(yōu)性準(zhǔn)則是不夠的。除了芯片設(shè)計(jì)師們已經(jīng)熟知的速度、面積等硬件優(yōu)化指標(biāo)外,與軟件相關(guān)的如代碼長(zhǎng)度、資源利用率、穩(wěn)定性等指標(biāo)也必須由設(shè)計(jì)者認(rèn)真地加以考慮。
第四,如何對(duì)這樣的一個(gè)包含軟件和硬件的系統(tǒng)的功能進(jìn)行驗(yàn)證。除了驗(yàn)證所必須的環(huán)境之外,確認(rèn)設(shè)計(jì)錯(cuò)誤發(fā)生的地方和機(jī)理將是一個(gè)不得不面對(duì)的課題。
最后,功耗問(wèn)題。傳統(tǒng)的IC在功耗的分析和估計(jì)方面已有一整套理論和方法。但是,要用這些現(xiàn)成的理論來(lái)分析和估計(jì)含有軟件和硬件兩部分的SoC將是遠(yuǎn)遠(yuǎn)不夠的。簡(jiǎn)單地對(duì)一個(gè)硬件設(shè)計(jì)進(jìn)行功耗分析是可以的,但是由于軟件運(yùn)行引起的動(dòng)態(tài)功耗則只能通過(guò)軟硬件的聯(lián)合運(yùn)行才能知道。其實(shí),還可以舉出很多新理論要涉及的問(wèn)題,它們一起構(gòu)成了面向SoC的軟硬件協(xié)同設(shè)計(jì)的內(nèi)容。
IP核生成及復(fù)用技術(shù)
其次來(lái)看一下設(shè)計(jì)重用技術(shù)。正如前面所討論的,今天在單個(gè)芯片上已可以集成上千萬(wàn)乃至上億只晶體管。芯片變得如此復(fù)雜,它實(shí)現(xiàn)了以前需要許多塊印制電容板(PCB)甚至機(jī)架才能完成的功能。在這樣高的集成度下,設(shè)計(jì)的難度已變得非常高,設(shè)計(jì)代價(jià)事實(shí)上主導(dǎo)了芯片的代價(jià)。這不僅要求設(shè)計(jì)者必須具備系統(tǒng)和芯片兩方面的知識(shí),同時(shí)也必須充分考慮市場(chǎng)競(jìng)爭(zhēng)的壓力,最大限度地縮短設(shè)計(jì)周期。凡事從零做起的思路顯然不能適應(yīng)這種新情況,而采用前人成功的設(shè)計(jì)經(jīng)驗(yàn)和設(shè)計(jì)資料是解決這個(gè)問(wèn)題的明智選擇。
所謂設(shè)計(jì)重用實(shí)際上包含兩個(gè)方面的內(nèi)容,涉及設(shè)計(jì)資料重用技術(shù)和如何生成可被他人重用的設(shè)計(jì)資料。前者通常被稱(chēng)為IP重用(IP Reuse),因?yàn)榭梢匝a(bǔ)反復(fù)使用的設(shè)計(jì)資料通常具備比較復(fù)雜的功能,且經(jīng)過(guò)驗(yàn)證。設(shè)計(jì)資料內(nèi)不僅僅包含一些物理功能和技術(shù)特性,更重要的是包含了設(shè)計(jì)者的創(chuàng)造性思維,具有很強(qiáng)的知識(shí)內(nèi)涵。這些資料因而也被稱(chēng)為具有知識(shí)產(chǎn)權(quán)的內(nèi)核(IP Core),簡(jiǎn)稱(chēng)IP核。后者則涉及到如何去生成IP核。
(1)IP核的生成
先討論一下IP核的生成。所謂IP核實(shí)際上就是一個(gè)經(jīng)過(guò)驗(yàn)證的IC設(shè)計(jì),從其實(shí)現(xiàn)的形式和應(yīng)用層次上來(lái)看,IP核可以有三種不同的表現(xiàn)形式:軟核(Soft-Core)、固核(Firm-Core)和硬核(Hard-Core)。
軟核以HDL的方式提交,其性能通過(guò)時(shí)序模擬進(jìn)行驗(yàn)證。由于軟核不依賴(lài)于任何實(shí)現(xiàn)工藝或?qū)崿F(xiàn)技術(shù),具有很大的靈活性。使用者可以方便地將其映射到自己所使用的工藝上去,可復(fù)用性很高。軟核的另外一個(gè)重要的優(yōu)點(diǎn)是使用者擁有全部源代碼。使用者可以通過(guò)修改源代碼,方便地生成同樣功能且自有版權(quán)的新軟核,從而避免向原有軟核作者支付版稅。同時(shí)聰明的軟核使用者還可以通過(guò)增加自己的知識(shí)和經(jīng)驗(yàn),產(chǎn)生出遠(yuǎn)比原始軟核廣泛得多的新的軟核。正是由于軟核的上述優(yōu)點(diǎn),它的價(jià)格不菲,且提供者寥寥無(wú)幾。
但是軟核也有自身的弱點(diǎn)。由于軟核的載體是硬件描述語(yǔ)言且與實(shí)現(xiàn)的工藝無(wú)關(guān),使用者在最終將其嵌入自己的設(shè)計(jì)時(shí)就要對(duì)從描述到版圖的轉(zhuǎn)換的全過(guò)程負(fù)責(zé)。雖然這要涉及經(jīng)曲IC設(shè)計(jì)的全部?jī)?nèi)容,IC設(shè)計(jì)人員必須具備相當(dāng)?shù)娘L(fēng)險(xiǎn)意識(shí)。另外,工藝映射和系統(tǒng)的性能有著一定的內(nèi)在關(guān)系,是否可以不加修改地將一個(gè)軟核映射到任何一個(gè)工藝上仍然是需要探討的一個(gè)問(wèn)題。
硬核以IC版圖的形式提交,并經(jīng)過(guò)實(shí)際工藝流片驗(yàn)證。顯然,硬核強(qiáng)列地依賴(lài)于某一個(gè)特定的實(shí)現(xiàn)工藝,而且在具體的物理尺寸,物理形態(tài)及性能上具不可更改性。
這些特點(diǎn)對(duì)使用者來(lái)說(shuō)有喜有憂(yōu)。喜的是硬核已經(jīng)過(guò)驗(yàn)證并具有最優(yōu)的面積代價(jià)和性能的設(shè)計(jì),使用者不需考慮與上相關(guān)的優(yōu)化問(wèn)題。憂(yōu)的是硬核與工藝的強(qiáng)相關(guān)性迫使使用也只能使用核工藝完成電路其它部分的設(shè)計(jì),而且要在布局布線遵守注意固核的物理限制。顯然,固核的特點(diǎn)決定了使用者進(jìn)行電路設(shè)計(jì)時(shí)的靈活性很小,希望通過(guò)獲得固核以生成其它固核的可能基本上沒(méi)有。即使有,受到加工工藝、經(jīng)費(fèi)和知識(shí)產(chǎn)權(quán)等方面的限制,也會(huì)失去意義。從另外一個(gè)角度看,正是因?yàn)楣毯说倪@些缺點(diǎn),的使用價(jià)格在軟核、固核和硬核三種IP核中,是最低的。
處于軟核和硬核之間的固核以電路網(wǎng)表的形式提交并通常采用硬件進(jìn)行驗(yàn)證。硬件驗(yàn)證的方式有很多種,比如可以采用可編程器件(如FPGA,EPLD)進(jìn)行驗(yàn)證,采用硬件仿真器進(jìn)行驗(yàn)證等。
固核往往對(duì)應(yīng)于某一個(gè)特定的實(shí)現(xiàn)工藝,在該實(shí)現(xiàn)工藝的條件下固核具有最優(yōu)的面積和性能特性。對(duì)于使用者來(lái)說(shuō)不需要對(duì)固核的功能給于過(guò)多地關(guān)注,可以減少許多相關(guān)的設(shè)計(jì)工作,同時(shí)由于固核的時(shí)序特性是經(jīng)過(guò)嚴(yán)格檢驗(yàn)的,設(shè)計(jì)者只要保證在布局布線過(guò)程中電路關(guān)鍵路徑的分布參數(shù)不會(huì)引起時(shí)序混亂就可以保證芯片的設(shè)計(jì)成功。
但是固核也有其自身的缺點(diǎn),那就是它與實(shí)現(xiàn)工藝的相關(guān)性及網(wǎng)表的難讀性。與實(shí)現(xiàn)工藝的相關(guān)性限制了固核的使用范圍,網(wǎng)表的難讀性則使得布局布線后發(fā)生的時(shí)序違反的排除變得比較困難。由于固核在使用的方便程序上和開(kāi)放程序上均介于軟核和硬核之間,其價(jià)格也處于它們的價(jià)格之間。
(2)IP核與常規(guī)IC不同的地方
IP核的生成具有與常規(guī)的IC設(shè)計(jì)不同的特點(diǎn)。例如時(shí)序,測(cè)試和低功耗等雖然是IC設(shè)計(jì)中的經(jīng)典問(wèn)題,但是直接將已有的設(shè)計(jì)方法應(yīng)用到IP核的設(shè)計(jì)中就會(huì)出現(xiàn)許多意想不到的困難。看一個(gè)簡(jiǎn)單的例子(圖6)。
圖6的右上角給出了一個(gè)簡(jiǎn)單的邏輯表達(dá)式,下方給出了該表達(dá)式的邏輯實(shí)現(xiàn),這個(gè)邏輯實(shí)現(xiàn)對(duì)應(yīng)的時(shí)序圖也在圖中給出。顯然,時(shí)序圖的最下邊的一個(gè)波形是邏輯表達(dá)式所定義的,但是由于在異或門(mén)的輸入端引入了一個(gè)非門(mén),其時(shí)延將會(huì)影響到電路的輸出,實(shí)際的波形將會(huì)類(lèi)似于倒數(shù)第二個(gè)波形,包含有若干個(gè)毛剌。盡管有這些毛剌,但是就一個(gè)特定的應(yīng)用來(lái)說(shuō),只要確定好輸出端的采樣時(shí)間,仍然可以保證輸出信號(hào)的正確性。但是要將這樣一個(gè)帶有時(shí)序毛刺的電路當(dāng)作IP核提供給他人使用則是絕對(duì)錯(cuò)誤的。由于不知道具體應(yīng)用環(huán)境對(duì)信號(hào)采樣的位置,很可能采到的信號(hào)恰恰是毛刺所在地,從而導(dǎo)致輸出錯(cuò)誤。為了獲得沒(méi)有毛不剌的、時(shí)序干凈的設(shè)計(jì),可以對(duì)邏輯表達(dá)式進(jìn)行一系列變換(圖7)最終獲得圖7給出的邏輯實(shí)現(xiàn)方式。
這個(gè)例子說(shuō)明了設(shè)計(jì)人員今天熟悉的電路設(shè)計(jì)理論和方法必須要有所發(fā)展以適應(yīng)面向SoC的IP核生成,簡(jiǎn)單地照搬是不行的。
(3)IP核面臨的新問(wèn)題
IP核的使用也面臨許多新問(wèn)題。由于IP核的特殊性和IC開(kāi)發(fā)的高風(fēng)險(xiǎn)性,IP核的使用決不是這些IP核的簡(jiǎn)單堆砌,使用過(guò)程中不僅僅要考慮它們的功能,更要使它們?nèi)苋胄酒?。以為有了IP核就可以進(jìn)行SoC設(shè)計(jì)的想法不免過(guò)于天真??梢钥匆幌聢D8中給出的一個(gè)有關(guān)可測(cè)性設(shè)計(jì)的例子。
根據(jù)可測(cè)性設(shè)計(jì)理論,一個(gè)時(shí)序電路的可測(cè)性與其時(shí)序路徑上的長(zhǎng)度有關(guān),而測(cè)試復(fù)雜度與環(huán)路長(zhǎng)度成正比。環(huán)路長(zhǎng)度越長(zhǎng)測(cè)試復(fù)雜度越高,且這種關(guān)系成指數(shù)形式變化。一個(gè)IP核經(jīng)過(guò)精心設(shè)計(jì)可以具有很好的可測(cè)性,但是在具體被嵌入使用時(shí),外部配套電路設(shè)計(jì)不當(dāng)會(huì)引入環(huán)路,使電路的可測(cè)向下降。從圖8可知,即使所使用的IP核內(nèi)部沒(méi)有任何環(huán)路、具有很高的可測(cè)性,但是在引入了外圍電路之后,也會(huì)產(chǎn)生不止一條穿過(guò)IP核的環(huán)路。這個(gè)例子說(shuō)明IP核的使用需要綜合考慮諸多因素,而不是幾個(gè)IP核的簡(jiǎn)單堆砌。
另外一個(gè)例子涉及低功耗,即使所使用的所有IP核均是精心設(shè)計(jì)并具有低功耗的特點(diǎn),也會(huì)由于IP核的提供者不同,在接口的時(shí)序上存在一些差異。為了同步這些時(shí)序上的差異,就需要IP核之外的電路工作在一個(gè)較高的頻率上。顯然,芯片的開(kāi)關(guān)功耗會(huì)因此大大提高,眾而部分抵肖IP核低功耗帶來(lái)的好處。
(4)超深亞微米IC設(shè)計(jì)技術(shù)
最后來(lái)探討一下超深亞微米IC設(shè)計(jì)技術(shù)。超深亞微米IC設(shè)計(jì)技術(shù)是深亞微米IC設(shè)計(jì)技術(shù)的延伸。除了傳統(tǒng)的連線延遲問(wèn)題之外,IC設(shè)計(jì)人員還要考慮信號(hào)完整性等其它的問(wèn)題。人們?cè)诳缛氤顏單⒚讜r(shí)代的時(shí)候,實(shí)際上尚未徹底解決深亞微米階段的關(guān)鍵課題。連線延遲大于單元延遲引起的一系列問(wèn)題仍然困擾著設(shè)計(jì)人員。所以要探討超深亞微米IC的設(shè)計(jì),就有必要對(duì)這個(gè)經(jīng)典的問(wèn)題作一個(gè)仔細(xì)的分析。
設(shè)計(jì)迭代
以布爾代數(shù)為基本理論基礎(chǔ)的現(xiàn)代數(shù)字IC設(shè)計(jì)技術(shù)面向的是系統(tǒng)的功能設(shè)計(jì)(Logic Oriented)布爾代數(shù)定義的各種基本邏輯運(yùn)算所描述的是一個(gè)系統(tǒng)的輸出對(duì)輸入的邏輯關(guān)系。這種邏輯關(guān)系以一組包含“0”和“1”兩個(gè)基本邏輯值的邏輯向量來(lái)表示。現(xiàn)代IC設(shè)計(jì)的核心問(wèn)題就是解決如何準(zhǔn)確地實(shí)現(xiàn)這種用二值邏輯確定的系統(tǒng)功能,或者說(shuō)找到一組正確描述系統(tǒng)功能的邏輯表達(dá)式。顯然,在具體實(shí)現(xiàn)中采取哪種實(shí)現(xiàn)方法在邏輯表達(dá)式中沒(méi)有表示。理論工作的貢獻(xiàn)在布爾代數(shù)上得到了巨大的體現(xiàn)。如果沒(méi)有布爾代數(shù),今天我們賴(lài)以生布的IC工業(yè)也就失去了這的理論基礎(chǔ)。
信號(hào)完整性問(wèn)題
在超深亞微米IC設(shè)計(jì)技術(shù)的研究中,除了要克服由于連線延遲引起的設(shè)計(jì)迭代之外,設(shè)計(jì)人員還要克服由于特征尺寸縮小后,信號(hào)延遲變小,工作頻率提高帶來(lái)的所謂信號(hào)完整性的問(wèn)題。圖9給出了特征尺寸與芯片內(nèi)部最高工作頻率的關(guān)系。
在芯片內(nèi)部工作頻率提高的同時(shí),由于集成度的大幅度上升,單個(gè)芯片中的連線長(zhǎng)度也隨之大幅度升高。單個(gè)芯片中的連線總長(zhǎng)將達(dá)到十幾~幾十公里,其中不乏有些連線的長(zhǎng)度達(dá)到十幾米~幾十米。根據(jù)物理學(xué)的基本定律,頻率與波長(zhǎng)成反比。當(dāng)芯片的內(nèi)部工作時(shí)鐘達(dá)到幾千兆赫的時(shí)候,相應(yīng)的波長(zhǎng)只有若干米。再考慮到電磁場(chǎng)的有關(guān)理論,可以知道當(dāng)連線長(zhǎng)度達(dá)到波長(zhǎng)的幾倍時(shí),連線將成為向外界發(fā)射電磁波的天線,同樣這些連線也會(huì)成為接收電磁波的天線。考慮到IC芯片內(nèi)部連線密布,在很高的工作頻率下,信號(hào)的干擾將成為一個(gè)不容忽視的問(wèn)題,信號(hào)的完整性將成為設(shè)計(jì)得面對(duì)的另外一個(gè)嚴(yán)重的挑戰(zhàn)。所以傳統(tǒng)的基于布爾代數(shù)的數(shù)字IC設(shè)計(jì)理論必須要從簡(jiǎn)單的面向邏輯,轉(zhuǎn)向吸引其它相關(guān)領(lǐng)域的理論,形成新的理論體系。
評(píng)論