專利名稱:具有可程序化輸出入電路的芯片及在芯片上實現電路布局的方法
技術領域:
本發(fā)明提供一種具有可程序化輸出入電路的芯片及在芯片上實現電路布局的方法,尤指一種僅需改變金屬連接層的布局,即能使相同布局的子電路單元具有不同輸出入功能的芯片及在芯片上實現電路布局的方法。
背景技術:
由半導體芯片所形成的各種電子電路,已經成為現代信息產業(yè)最重要的硬件基礎之一。如何降低半導體芯片設計、制造的時間與成本,也就成為半導體廠商研發(fā)的重點之一。
如本領域人士所知,形成半導體芯片的制造流程是以半導體晶圓基底為基礎,先根據芯片中各電路所需具備的電路功能來設計出電路的布局,并根據電路的布局定義出許多不同的掩膜(mask)。設計出各掩膜的布局后,再于不同的制程中,分別透過對應的掩膜以將不同的半導體材料累積形成為晶圓基底上不同的布局層(像是摻雜區(qū)、多晶硅層、氧化層或各個金屬層等等),以這些布局來組合出半導體芯片中各式各樣的電路,實現芯片中各電路所應具備的電路功能。
在上述流程中,若設計或制造出來的芯片無法發(fā)揮預期的功能,就要修改芯片中各電路配置的設計,以更改各電路的電路功能。隨著電路配置的變更,使得各個掩膜的布局設計也就要跟著改變或完全更新。如果需要修改的掩膜數目較多,無疑地將大幅增加芯片設計制造的時間與成本。換句話說,如果能以較少的掩膜修改就能實現出不同的電路功能,即可有效減少芯片生產的時間與成本。
請參考圖1。圖1所示是以一現有技術來設計、制造電路布局的示意圖。如本領域人士所知,芯片中會設有核心電路及周邊驅動的接口電路;核心電路負責執(zhí)行芯片的主要功能,像是高速的邏輯運作等等。而接口電路中會設有各種輸出入電路,以負責將核心電路運作的結果輸出至芯片外,或是由芯片外接收輸入信號,并緩沖、轉換為核心電路適合接收的信號。像在圖1的芯片10中,就設有一核心電路12以及多個輸出入電路14A至14C等等,以實現接口電路的功能。
一般來說,不同種類芯片所需求的輸出入功能也各不相同;即使同一芯片中,也常需要在不同的輸出入壓點上實現不同的輸出入功能。舉例來說,在某些種類的芯片中,其輸出入功能會要求要具有抑噪的史密特觸發(fā)(Schmidttrigger)的功能。為了滿足此需求,其輸出入電路的設計當然也要包括有能支持史密特觸發(fā)功能的電路。在某些種類的芯片輸出入功能中,則要求其輸出入信號有一定的功率、電流驅動能力,或是具有一定的響應速度(像是回轉率,slew rate)等等。對應地,在此類芯片中,輸出入電路就要經過特殊的設計,比如在輸出入電路的布局中以面積較大的摻雜區(qū)(摻雜井)來實現較高的電流驅動能力。
為了滿足不同輸出入功能的設計與實現,典型的常用作法是將各種所需輸出輸入功能建立為子電路數據庫以記錄各種各樣的子電路單元(cell)設計,每一種子電路單元的布局設計能支持一種輸出入功能,并通過不同的聯機方式,激活所需不同的功能,達到可程序化選擇的功能。當使用者(布局設計工程師)要實現出具有某種輸出入功能的電路時,即可根據輸出入功能來檢索數據庫,找出該種輸出入功能對應的子電路單元布局設計;找到之后,就可選擇具有能開啟所需功能組合的聯機方式,將該子電路單元的布局設計直接套用至芯片的布局設計中。圖1中的例子就是用來示意此種技術實施的情形。在圖1中的數據庫16,即記錄有各種子電路單元18A至18C的布局設計(典型的數據庫可能會記錄有三百種左右的布局設計),各種子電路單元18A至18C分別以不同的布局、不同的晶體管配置來支持其所對應的輸出入功能。舉例來說,子電路單元18B中的晶體管可具有較大的摻雜區(qū)、較寬的信道布局配置,使其能比輸出入電路18A提供更大的驅動電流;而子電路單元18C中則以較復雜的晶體管布局來支持史密特觸發(fā)的功能。而各子電路單元18A至18C也分別具有傳輸端19A至19C等等,以提供對核心電路的連接。
假設輸出入電路14A至14C所需具備的輸出入功能可以分別由子電路單元18A至18C的布局設計來實現,數據庫16的使用者(布局設計工程師)就可在輸出入電路14A至14C中分別套用子電路單元18A至18C的布局設計,再由核心電路12分別布局聯機至各個子電路單元18A至18C的傳輸端19A至19C,以連接核心電路12與各個輸出入電路;這樣即可完成芯片10中核心電路與接口電路的配置。
然而,圖1的現有技術也豐在缺點;其缺點之一,就是在進行電路修改時會大幅地更動許多掩膜的設計。舉例來說,若數據庫16的使用者發(fā)現輸出入電路14B的噪聲過大而要改以噪聲較低、具有抑噪功能的其它種輸出入電路來實現,雖然其可以在數據庫16中再次搜尋其它種類的子電路單元設計并加以套用,但隨著電路布局設計的修改,各個掩膜的設計勢必也要加以更動。由于圖1中現有技術是在各種不同的子電路單元中以不同的晶體管布局設計來實現不同的輸出入功能,而晶體管的布局本身就涉及了許多掩膜(比如定義氧化層、摻雜區(qū)、多晶硅層、金屬層等等的掩膜),故使用者一旦要改變其所選用的子電路單元,就同時要改變多個掩膜上的布局設計。這樣一來,芯片設計、制造的時間與成本也就無法降低。
請參考圖2。圖2是另一種現有技術來實現不同輸出入功能的示意圖。在此種現有技術中,同樣也是以數據庫26中的子電路單元布局設計來實現芯片20中各種輸出入電路24A至24C等等。與圖1不同的是,數據庫26中的各個子電路單元具有有限的程序化能力,能以單一一種子電路單元來實現出不同的輸出入功能。為了要選擇(即程序化)各個子電路單元實際提供的輸出入功能,各個子電路單元還另外具有至少一控制端。舉例來說,在數據庫26中,假設子電路單元28A可選擇性地支持兩種不同的輸出入功能;為了要決定子電路單元28A是提供哪一種輸出入功能,除了與核心電路22交換資料的傳輸端29A之外,子電路單元28A還額外備有另一控制端27A,用來接受一程序化(programming)的控制信號。若控制端27A的控制信號符合某一第一默認值(比如其電壓固定為一第一常數值時),子電路單元28A就能提供第一種的輸出入功能,比如說是提供較小的驅動電流。當控制端27A的控制信號符合另一第二默認值時(比如其電壓為一第二常數值時),子電路單元28A就能提供另一種輸出入功能,比如說是提供較大的驅動電流等等。同理,子電路單元28B則另以其它種類的晶體管布局配置來組合出另一種具有有限程序化能力的輸出入電路;除了與核心電路交換數據的傳輸端29B之外,子電路單元28B還另外設有控制端27B、27C,以程序化、控制子電路單元28B實際提供的是哪一種輸出入功能。一般來說,控制端是用來致能(enable)或失能(disable)一子電路單元中的某些電路,使該子電路單元能選擇性地提供多種不同的輸出入功能。
當數據庫26的使用者要在芯片20中實現不同輸出入功能時,同樣也是套用數據庫26中現有的子電路單元布局設計,再配合各子電路單元中的控制端規(guī)格來程序化各子電路單元所實際提供的輸出入功能。舉例來說,假設芯片20中的輸出入電路24A及24B要具有不同的輸出入功能,而這兩種輸出入功能剛好是子電路單元28A所能實現的兩種輸出入功能,使用者就可直接套用同一子電路單元28A的布局設計來實現輸出入電路24A、24B。當然,除了在核心電路22與輸出入電路24A、24B的傳輸端布局聯機完成核心電路與接口電路的配置外,使用者還要另外設計兩輸出入電路24A、24B的控制端的布局聯機23A、23B,使這兩個輸出入電路24A、24B的控制端能分別接收不同的控制信號,以同一種子電路單元的布局設計來提供不同的輸出入功能。一般來說,控制端可由核心電路來接收控制信號,或被短路至芯片上不同的直流偏壓(像是Vdd電壓或是地端電壓),以不同的直流偏壓來當做不同的控制信號。
若其它輸出入電路所需的輸出入功能不符合子電路單元28A所能支持的兩種輸出入功能,使用者還是要在數據庫26中選用其它種類的子電路單元。舉例來說,在圖2中,若子電路單元28A所能提供的兩種輸出入功能都不符合輸出入電路24C的需求,使用者仍然要選用其它的子電路單元(像是子電路單元28B)來實現輸出入電路24C。同樣地,使用者(也就是布局設計工程師)還是要為輸出入電路24C的控制端另外進行布局聯機,引入程序化的控制信號。
雖然圖2中的常用技術可能以同一子電路單元的設計來實現出不同輸出入功能,但其技術仍有缺點。舉例來說,若某一輸出入電路的表現(performance)不如預期而使用者要使其具備其它種類的輸出入功能時,使用者可能還是要改用數據庫26中的其它種類子電路單元。由于數據庫26中的不同種類子電路單元具有不同的晶體管配置,改用其它種類的子電路單元還是會涉及許多掩膜的修改。在較佳的情形下,使用者所想選用的那種輸出入功能可能剛好符合同一子電路單元所能支持的另一種輸出入功能,舉例來說,假設圖2中的輸出入電路24A的輸出入功能本來是以子電路單元28A的第一種輸出入功能來實現,但在測試后使用者要修改輸出入電路24A的輸出入功能,而修改后所要求的輸出入功能剛好是子電路單元28A所能支持的第二種輸出入功能。然而,即使在此較佳情形下,使用者還是必須重新修改該子電路單元的控制端的聯機布局。此外,各個子電路單元中的控制端還會額外占用各子電路單元的布局面積,增加電路布局的復雜程度。
發(fā)明內容
本發(fā)明的主要目的,即在于提出一種具有多功能的可程序化輸出入電路的芯片及相關設計、制造的方法,以克服現有技術的缺點。
在本發(fā)明的較佳實施例中,以單一一種多功能的可程序化子電路單元為基準,此子電路單元中具有各種不同的電路方塊。適當地以單一連接層(像是一金屬層)上的聯機布局來致能/失能或連接一子電路單元中的各個電路方塊,就能使該子電路單元廣泛地實現出多種不同的輸出入功能。因此,在以本發(fā)明的子電路單元來實現輸出入電路時,只要變動連接層上的聯機布局,就能修改輸出入電路的輸出入功能。這樣一來,即使要修改芯片上各輸出入電路的輸出入功能,也只要修改單一連接層上的布局及其對應的掩膜布局即可,而不需變動其它的掩膜布局設計。所以,本發(fā)明就可大幅降低芯片設計制造的時間與成本。
圖1為現有技術中在一芯片上實現不同輸出入功能的示意圖。
圖2為另一現有技術中在一芯片上實現不同輸出入功能的示意圖。
圖3為本發(fā)明以單一子電路單元的布局設計而于一芯片上實現不同輸出入功能的示意圖。
圖4為圖3中子電路單元更進一步的功能方塊示意圖。
圖號說明14A-14C、24A-24C、34A-34C輸出入電路18A-18C、28A-28B、38 子電路單元10、20、30 芯片12、22、32核心電路16、26 數據庫 19A-19B、29A-29B、39 傳輸端27A-27C控制端 23A-23B 聯機40A-40C聯機布局B1-B6、Bk1-Bk7電路區(qū)塊42A-42C電路
具體實施例方式
請參考圖3。圖3即為本發(fā)明以同一子電路單元實現不同輸出入功能的示意圖。在本發(fā)明的較佳實施例中,可以只提供單一一種子電路單元38的布局設計;此子電路單元38中已經內設有多個電路區(qū)塊(圖3中示意性地以電路區(qū)塊B1至B6作為代表),各個電路區(qū)塊中以不同的晶體管配置來實現不同的功能。適當地將一子電路單元中的不同電路區(qū)塊加以連接,或是將特定的電路區(qū)塊致能或失能,就能使該子電路單元實現出各種不同的輸出入功能。換句話說,以同一子電路單元配合上不同的電路區(qū)塊間的聯機布局設計,就能實現出各種不同的輸出入功能。更進一步地,若電路區(qū)塊間的聯機布局只用單一一層連接層(像是一金屬層)來實現,那么只要修改單一連接層上的聯機布局(也就是單一掩膜的布局),就能夠修改各個子電路單元所提供的輸出入功能。這樣一來,本發(fā)明也就能大幅減少芯片設計制造的時間與成本了。
在較佳情況下,本發(fā)明于子電路單元38中的電路區(qū)塊應可利用致能/失能或相互連接的方式組合出所有規(guī)格的輸出入功能,比如是否具備史密特觸發(fā)的功能、不同的功率、電流驅動能力,不同的回轉率等等各式各樣規(guī)格的輸出入功能。以圖3為例,當子電路單元38配合上聯機布局40A時,就能將子電路單元38中的各個電路區(qū)塊連接為電路42A,而此電路42A就能提供某一種特定的輸出入功能。同理,當子電路單元38配合上聯機布局40B時,子電路單元38中的各個電路區(qū)塊就可被連接/致能/失能為電路42B(舉例來說,聯機布局40B中的某些聯機可將某些電路區(qū)塊連接至芯片30的直流偏壓,像是Vdd或地端電壓,以致能或失能這些電路區(qū)塊)。由于聯機布局40A、40B相異,被致能/失能/連接的電路區(qū)塊也各不相同,使得電路42A、42B能提供的輸出入功能也互不相同。同樣地,將子電路單元38以另一種聯機布局40C來形成電路42C,又能使電路42C能提供不同于電路42A、42B的輸出入功能。
延續(xù)圖3的例子,假設當使用者(布局設計工程師)在設計一芯片30時,需要三個分別具有不同輸出入功能的輸出入電路34A至34C來作為核心電路32的外圍接口電路;而此三個輸出入電路34A至34C所需求的輸出入功能可分別由電路42A、42B及42C來提供。此時,使用者就能以子電路單元38的布局設計再搭配上聯機布局40A的布局設計來實現輸出入電路34A;也就是將子電路單元38的布局與聯機布局40A實現于輸出入電路34A的位置。同理,子電路單元38的布局搭配聯機布局40B可實現輸出入電路34B,子電路單元38搭配聯機布局40C則可實現輸出入電路34C。適當地將各個輸出入電路上的傳輸端(也就是子電路單元38上的傳輸端39)布局聯機至核心電路32,就能完成周邊電路與核心電路間的連接配置。
由以上描述可知,本發(fā)明提供的布局設計資源就是單一的子電路單元38,搭配以各種能讓子電路單元38實現不同輸出入功能的聯機布局設計,也就是一聯機布局的數據庫。當使用者要設計出具有某種輸出入功能的輸出入電路時,只要在各種聯機布局中檢索出哪一種聯機布局能將子電路單元38中的各個電路區(qū)塊致能/失能/連接而實現出該種輸出入功能,就能以連接層上的聯機布局搭配子電路單元38的布局設計來加以實現。等效上來說,本發(fā)明就是以聯機布局來進行輸出入功能的程序化,以不同的聯機布局來程序化、決定子電路單元38所實際能提供的輸出入功能。由于本發(fā)明中的子電路單元38能以不同的聯機布局來實現各種輸出入功能,當使用者要修改某一輸出入電路所具備的輸出入功能時,就不需要修改子電路單元38本身于各個布局層上的布局,也不需修改核心電路與各輸出入電路間的傳輸聯機,只要修改單一連接層上的聯機布局,就能修改該輸出入電路所具備的輸出入功能。換句話說,不論輸出入功能的需求有多大的改變,本發(fā)明都能將布局的改變局限于單一連接層上的改變,也只要修改此一連接層的掩膜布局。也因此,本發(fā)明得以大幅減少芯片設計制造的時間與成本。
請參考圖4(及圖3)。圖4為本發(fā)明子電路單元38的示意圖。如前所述,本發(fā)明可在子電路單元38中設置各種電路區(qū)塊以組合出不同的輸出入功能。舉例來說,如圖4中所示,在子電路單元38的各個電路區(qū)塊Bk1至Bk6的中,可分別設置有摻雜區(qū)面積各異的n型金氧半晶體管與p型金氧半晶體管,作為電流驅動之用。將各個電路區(qū)塊中不同摻雜區(qū)面積的晶體管適當地以連接層的聯機布局連接起來,就可實現出高電流驅動能力、高功率或高回轉率的輸出入功能。若要實現電流驅動能力較低的輸出入功能,則可使聯機布局減少晶體管互相連接的數目;未連接在一起的電路區(qū)塊(也就是未使用的電路區(qū)塊)可適當地短路至芯片的直流偏壓(像是電壓Vdd或地端電壓),使其失能而不作用。而這些被連接至直流偏壓處的電路區(qū)塊還可發(fā)揮芯片靜電(ESD,electrostaticdischarge)防護的功能。
另外,子電路單元38中還可設置某些具有特定功能的電路區(qū)塊,像電路區(qū)塊Bk7可以是以特定的晶體管配置來支持史密特觸發(fā)的功能。以聯機布局連接電路區(qū)塊Bk7并使其致能運作,就能支持史密特觸發(fā)的功能;若聯機布局不連接至電路區(qū)塊Bk7且使其失能,就可停止使用史密特觸發(fā)的功能。
目前本發(fā)明已經能實際地設計出能支持逾百種輸出入功能的單一子電路單元,只要改變連接層的聯機布局,就能使該子電路單元支持16mA、8mA、4mA、2mA(毫安)等等的驅動電流,在各種驅動電流下還可分別支持0.1ns、0.4ns、0.8ns(nanosecond)等等的回轉率,史密特觸發(fā)功能的有無,推高/拉低(pull-up/down)的驅動能力或汲極開路(open drain)等等各種各樣的輸出入功能。在本發(fā)明的較佳實施例中,則是利用芯片中第二層金屬層(metal 2 layer)來作為聯機布局的連接層,以此層的聯機布局來程序化子電路單元所實際提供的輸出入功能。
與現有技術相比,本發(fā)明的技術只要在單一連接層進行程序化布局,即能以同一種子電路單元的布局設計來實現出各種不同的輸出入功能。即使要大幅修改某一輸出入電路的輸出入功能,也只要修改連接層的聯機布局即可,這也使得本發(fā)明能將掩膜修改的程度限制到最低,能有效降低芯片設計制造的時間與成本。另外,相較于圖2中的現有技術,本發(fā)明中的子電路單元不需另外設置控制端;當要以本發(fā)明的子電路單元來實現某一輸出入電路時,只要在連接層上對應于該輸出入電路的布局位置進行布局規(guī)劃即可進行程序化。這也使得本發(fā)明子電路單元不需因功能的程序化而另外占用控制端的布局面積。
以上所述僅為本發(fā)明的較佳實施例,凡依本發(fā)明申請專利范圍所做的均等變化與修飾,皆應屬本發(fā)明專利的涵蓋范圍。
權利要求
1.一種在芯片上實現電路布局的方法,其包含有在芯片上的不同位置實現多個布局相同的子電路單元;以及以不同位置的子電路單元來實現不同的電路功能時,在一連接層上進行一程序化布局,以在該連接層上對應于不同子電路單元的位置形成不同的布局。
2.如權利要求1所述的在芯片上實現電路布局的方法,其特征在于其中該連接層是一金屬層。
3.如權利要求1所述的在芯片上實現電路布局的方法,其特征在于其中以不同位置的子電路單元來實現不同的電路功能時,僅在該連接層上進行該程序化布局,使得不同電路功能的子電路單元僅在該連接層上有不同的布局。
4.如權利要求1所述的在芯片上實現電路布局的方法,其特征在于其中在芯片上實現多個布局相同的子電路單元時,在各個子電路單元中布局出多個電路區(qū)塊;而在進行該程序化布局時,在每一子電路單元的對應位置上以該連接層上的布局選擇性地連接或不連接該子電路單元中的各個電路區(qū)塊,以使得不同位置的子電路單元得以實現不同的電路功能。
5.如權利要求1所述的在芯片上實現電路布局的方法,其特征在于其用來以不同位置的子電路單元來實現具有不同輸出入功能的輸出入電路。
6.如權利要求1所述的在芯片上實現電路布局的方法,其特征在于其以不同位置的子電路單元來實現具有及不具有史密特觸發(fā)功能的輸出入電路。
7.如權利要求1所述的在芯片上實現電路布局的方法,其特征在于其以不同位置的子電路單元來實現出具有不同回轉率的輸出入電路。
8.如權利要求1所述的在芯片上實現電路布局的方法,其特征在于其以不同位置的子電路單元來實現可供應不同驅動電流的輸出入電路。
9.一種芯片,其包含有多個布局層,在該等布局層上的多個相異位置上具有相同的布局,以實現出多個相同布局的子電路單元;以及一連接層,該連接層于該多個位置上以不同的布局來使不同位置的子電路單元得以實現出不同的電路功能。
10.如權利要求9所述的芯片,其特征在于其中該連接層為一金屬層。
11.如權利要求9所述的芯片,其特征在于其中,各個子電路單元中具有多個電路區(qū)塊;而該連接層上的布局于每一子電路單元的位置上選擇性地連接或不連接該子電路單元中的各個電路區(qū)塊,以使得不同位置的子電路單元得以實現不同的電路功能。
12.如權利要求9所述的芯片,其特征在于其中該連接層以不同位置的子電路單元來實現出具有不同輸出入功能的輸出入電路。
13.如權利要求9所述的芯片,其特征在于其中該連接層以不同位置的子電路單元來實現出具有及不具有史密特觸發(fā)功能的輸出入電路。
14.如權利要求9所述的芯片,其特征在于其中該連接層以不同位置的子電路單元來實現出具有不同回轉率的輸出入電路。
15.如權利要求9所述的芯片,其特征在于其中該連接層以不同位置的子電路單元來實現出可供應不同驅動電流的輸出入電路。
全文摘要
本發(fā)明提供一種具有可程序化輸出入電路的芯片及在芯片上實現電路布局的方法。當要在一芯片上將輸出入電路程序化以實現不同的輸出入功能時,是通過相同的布局預先在不同的位置上置入多個子電路單元,而各子電路單元中具有多個電路區(qū)塊實現的。此芯片之所以可以程序化,是通過各個子電路單元可配合一金屬連接層上的聯機布局而于每一子電路單元的位置上選擇性地連接或不連接、致能或失能該子電路單元中的各個電路區(qū)塊,使得不同位置的子電路單元只要以此金屬連接層上的布局規(guī)劃就能實現出不同的輸出入電路功能,達到可程序化的目的,從而降低半導體芯片的制造時間和成本。
文檔編號G06F17/50GK1707485SQ200410047978
公開日2005年12月14日 申請日期2004年6月9日 優(yōu)先權日2004年6月9日
發(fā)明者方星幄, 何明瑾 申請人:聯華電子股份有限公司