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