本發(fā)明通常涉及電路的電腦輔助設(shè)計,尤其涉及可用于以第二電路符號替代電路原理圖中的第一電路符號的情境中的方法及系統(tǒng)。
背景技術(shù):
在電子電路的電腦輔助設(shè)計中,可使用電子設(shè)計自動化工具。電子設(shè)計自動化工具可以軟件形式提供,該軟件包括指令,該指令可由計算機(jī)執(zhí)行以處理表示電路原理圖的數(shù)據(jù)。該電路原理圖可包括表示例如晶體管、二極管、電阻器、電容器及電感的電路元件的電路符號。另外,該電路原理圖可包括表示該些電路元件之間的電性連接的導(dǎo)線。
表示電路原理圖的數(shù)據(jù)可定義電路符號、導(dǎo)線和/或其元素的位置及取向,其定義例如在電腦顯示器和/或電路原理圖的打印輸出上所繪制的電路符號、導(dǎo)線和/或其元素的位置及取向。這些位置通常不同于在電路實際物理實施時所設(shè)置的電路元件及電性連接的位置及取向。
各電路符號可包括一個或多個所謂的引腳,該些引腳可用以定義與電路元件的部分的連接。例如,場效應(yīng)晶體管的電路符號通??删哂袞艠O、源極、漏極以及可選的塊體引腳。該些引腳可用以定義電路中與該電路元件的電性連接,其中,當(dāng)在引腳的位置設(shè)置表示電性連接的導(dǎo)線的端部時,尤其是當(dāng)該導(dǎo)線的該端部與位于引腳的位置的中心的引腳形狀(例如矩形或圓形)接觸時,可認(rèn)為已經(jīng)與電路元件的部分形成電性連接。
除引腳外,電路符號還可包括作為表示電子裝置的圖標(biāo)繪制的原圖(artwork),以及參數(shù)和/或文本。
電路符號及其元素的位置,尤其引腳的位置,可被定義于網(wǎng)格上,該網(wǎng)格確定其布置的最小粒度(granularity)。
在半導(dǎo)體工業(yè)中,制程設(shè)計套件(process design kits;PDKs)可由晶圓代工廠提供。除設(shè)計規(guī)則、晶體管的仿真模型及布局信息以外,制程設(shè)計套件可定義電路符號以用于電子設(shè)計自動化工具中。盡管已嘗試提供制程設(shè)計套件中所使用的電路符號的標(biāo)準(zhǔn)化,例如OpenPDK原理圖符號標(biāo)準(zhǔn)(見例如文檔“OpenPDK Schematic Symbol Standard”,V1.0,2012年5月24日,由Silicon Integration Initiative(Si2TM)組織公布,ISBN:1-882750-63-2),但其中采用專有電路符號的制程設(shè)計套件仍在使用。這些專有電路符號可不同于標(biāo)準(zhǔn)電路符號,尤其就引腳的位置、以及電路符號的尺寸、原點、旋轉(zhuǎn)和/或反射而言。
當(dāng)電路原理圖從第一制程設(shè)計套件(process design kit)被轉(zhuǎn)換為第二制程設(shè)計套件時,例如從其中使用專有電路符號的制程設(shè)計套件轉(zhuǎn)換為其中使用標(biāo)準(zhǔn)電路符號(例如依據(jù)OpenPDK V1.0標(biāo)準(zhǔn)的電路符號)的制程設(shè)計套件時,可能發(fā)生問題,該些問題尤其可能與引腳的不同位置有關(guān)。如上所述,由于引腳的位置與確定裝置的連接相關(guān),因此用具有不同引腳位置的第二制程設(shè)計套件的電路符號替代第一制程設(shè)計套件的電路符號可能導(dǎo)致連接性喪失。因此,除電路符號的替代以外,進(jìn)一步的調(diào)整可能是必要的。
美國專利公開號2014/0039846披露一種信息處理方法,其包括:當(dāng)接收到用第二類別的第二組件替代第一組件的第一指令時,由電腦識別包括于包括多個組件的電路數(shù)據(jù)中的第一類別的第一組件;生成將要在其上布置該第二組件的層;獲取該第一組件的引腳與該第二組件的引腳之間的關(guān)聯(lián)性;以及基于該關(guān)聯(lián)性用布置于該些層上的該第二組件替代該第一組件。
將電路原理圖從第一制程設(shè)計套件轉(zhuǎn)換為第二制程設(shè)計套件的已知方法通常依賴經(jīng)驗用戶定義的映射文件或類似查表機(jī)制,這些文件或機(jī)制的提供可能需要較大量的工作。而且,在一些情況下,對于替代、旋轉(zhuǎn)、移動和/或重新布線電路符號,可能需要用戶手動輸入。
本發(fā)明提供有助于基本克服或至少減輕上述問題的其中一些或全部的方法及系統(tǒng)。
技術(shù)實現(xiàn)要素:
下面提供本發(fā)明的簡要總結(jié),以提供本發(fā)明的一些態(tài)樣的基本理解。本發(fā)明內(nèi)容并非詳盡概述本發(fā)明。其并非意圖識別本發(fā)明的關(guān)鍵或重要元件或劃定本發(fā)明的范圍。其唯一目的在于提供一些簡化的概念,作為后面所討論的更詳細(xì)說明的前序。
本文中所述的一種示例方法包括獲得表示第一電路符號的第一數(shù)據(jù)。該第一電路符號具有多個第一引腳。各第一引腳具有與其關(guān)聯(lián)的第一位置向量。獲得表示第二電路符號的第二數(shù)據(jù)。該第二電路符號具有多個第二引腳。各第二引腳具有與其關(guān)聯(lián)的第二位置向量。各該多個第二引腳與該多個第一引腳的其中相應(yīng)一個對應(yīng)。確定將位置向量映射至變換位置向量的調(diào)整變換。該調(diào)整變換最大限度地降低基于一個或多個偏差的誤差測量。各偏差是變換位置向量與關(guān)聯(lián)該第一引腳的其中一個的該第一位置向量之間的偏差。通過將該調(diào)整變換應(yīng)用于與對應(yīng)該第一引腳的該第二引腳關(guān)聯(lián)的該第二位置向量可獲得該變換位置向量。
本文中所述的另一種示例方法包括獲得表示第一電路符號的第一數(shù)據(jù)。該第一電路符號具有多個第一引腳。各第一引腳具有與其關(guān)聯(lián)的第一位置向量。獲得表示第二電路符號的第二數(shù)據(jù)。該第二電路符號具有多個第二引腳。各第二引腳具有與其關(guān)聯(lián)的第二位置向量。各該多個第二引腳與該多個第一引腳的其中相應(yīng)一個對應(yīng)。確定將位置向量映射至變換位置向量的調(diào)整變換。該調(diào)整變換的該確定包括計算調(diào)整取向矩陣。該調(diào)整取向矩陣的該計算包括形成第一引腳位置矩陣及第二引腳位置矩陣。各該第一引腳位置矩陣及該第二引腳位置矩陣具有等于或大于該多個第一引腳的數(shù)目及該多個第二引腳的數(shù)目的行數(shù)。該第一引腳位置矩陣的各該行包括通過自第一組位置向量的相應(yīng)成員減去包括該多個第一位置向量以及如果該第一引腳位置矩陣及該第二引腳位置矩陣的行數(shù)大于該多個第一引腳的數(shù)目及該多個第二引腳的數(shù)目時,該多個第一位置向量的至少其中一個的至少一個副本的第一組位置向量的平均數(shù)所獲得的相應(yīng)向量的分量。該第二引腳位置矩陣的各該行包括通過自第二組位置向量的相應(yīng)成員減去包括該多個第二位置向量以及如果該第一引腳位置矩陣及該第二引腳位置矩陣的行數(shù)大于該多個第一引腳的數(shù)目及該多個第二引腳的數(shù)目時,該第二位置向量的至少其中一個的至少一個副本的第二組位置向量的平均數(shù)所獲得的相應(yīng)向量的分量。該調(diào)整取向矩陣的該計算還包括計算該第一引腳位置矩陣及該第二引腳位置矩陣的其中一個的偽逆,以及將該第一引腳位置矩陣及該第二引腳位置矩陣的該其中一個的該偽逆與該第一引腳位置矩陣及該第二引腳位置矩陣的其中另一個相乘。
本文中所披露的一種示例系統(tǒng)包括存儲器以及調(diào)整變換計算器。該存儲器包括第一數(shù)據(jù)及第二數(shù)據(jù)。該第一數(shù)據(jù)表示第一電路符號。該第一電路符號具有多個第一引腳。各該多個第一引腳具有與其關(guān)聯(lián)的第一位置向量。該第二數(shù)據(jù)表示第二電路符號。該第二電路符號具有多個第二引腳。各該多個第二引腳具有與其關(guān)聯(lián)的第二位置向量,且各該多個第二引腳與該多個第一引腳的其中相應(yīng)一個對應(yīng)。該調(diào)整變換計算器確定將位置向量映射至變換位置向量的調(diào)整變換。該調(diào)整變換最大限度地降低基于一個或多個偏差的誤差測量。各偏差是變換位置向量與關(guān)聯(lián)該第一引腳的其中一個的該第一位置向量之間的偏差。通過將該調(diào)整變換應(yīng)用于與對應(yīng)該第一引腳的該第二引腳關(guān)聯(lián)的該第二位置向量可獲得該變換位置向量。
本文中所披露的另一種示例系統(tǒng)包括用以獲得表示第一電路符號的第一數(shù)據(jù)的構(gòu)件。該第一電路符號具有多個第一引腳。各該多個第一引腳具有與其關(guān)聯(lián)的第一位置向量。該系統(tǒng)另外包括用以獲得表示第二電路符號的第二數(shù)據(jù)的構(gòu)件。該第二電路符號具有多個第二引腳。各該多個第二引腳具有與其關(guān)聯(lián)的第二位置向量,且各該多個第二引腳與該多個第一引腳的其中相應(yīng)一個對應(yīng)。該系統(tǒng)還包括用以確定調(diào)整變換的構(gòu)件。該調(diào)整變換將位置向量映射至變換位置向量,其中,該調(diào)整變換最大限度地降低誤差測量。該誤差測量基于一個或多個偏差。各偏差是變換位置向量與關(guān)聯(lián)該第一引腳的其中一個的該第一位置向量之間的偏差。通過將該調(diào)整變換應(yīng)用于與對應(yīng)該第一引腳的該第二引腳關(guān)聯(lián)的該第二位置向量可獲得該變換位置向量。
本文中所述的示例電腦可讀儲存媒體包括代碼以使電腦獲得第一數(shù)據(jù)、獲得第二數(shù)據(jù)以及確定調(diào)整變換。該第一數(shù)據(jù)表示第一電路符號。該第一電路符號具有多個第一引腳。各第一引腳具有與其關(guān)聯(lián)的第一位置向量。該第二數(shù)據(jù)表示第二電路符號。該第二電路符號具有多個第二引腳。各該多個第二引腳具有與其關(guān)聯(lián)的第二位置向量。各該多個第二引腳與該多個第一引腳的其中相應(yīng)一個對應(yīng)。該調(diào)整變換將位置向量映射至變換位置向量。該調(diào)整變換最大限度地降低基于一個或多個偏差的誤差測量。各偏差是變換位置向量與關(guān)聯(lián)該第一引腳的其中一個的該第一位置向量之間的偏差。通過將該調(diào)整變換應(yīng)用于與對應(yīng)該第一引腳的該第二引腳關(guān)聯(lián)的該第二位置向量可獲得該變換位置向量。
附圖說明
參照下面的說明并結(jié)合附圖可理解本發(fā)明,這些附圖中類似的附圖標(biāo)記代表類似的元件,以及其中:
圖1及2示意顯示晶體管符號;
圖3示意顯示電路原理圖;
圖4顯示圖1及2的晶體管符號相對電路符號主坐標(biāo)系統(tǒng)的布置;
圖5示意顯示圖1及2的晶體管符號在對其中一個晶體管符號應(yīng)用調(diào)整變換以后相對該電路符號主坐標(biāo)系統(tǒng)的布置;
圖6顯示晶體管符號替代以后的圖3的電路原理圖;
圖7及8示意顯示電阻器符號;
圖9示意顯示電路原理圖;
圖10顯示對其中一個電阻器符號應(yīng)用調(diào)整變換以后圖7及8的電阻器符號;
圖11顯示電路符號替代以后的圖9的電路原理圖;
圖12示意顯示本文中所述的系統(tǒng);以及
圖13顯示本文中所述的方法的流程圖。
盡管本文中所披露的發(fā)明主題容許各種修改及替代形式,但附圖中以示例形式顯示本發(fā)明主題的特定實施例,并在此進(jìn)行詳細(xì)說明。不過,應(yīng)當(dāng)理解,本文中對特定實施例的說明并非意圖將本發(fā)明限于所披露的特定形式,相反,意圖涵蓋落入由權(quán)利要求定義的本發(fā)明的精神及范圍內(nèi)的所有修改、等同及替代。
具體實施方式
下面說明本發(fā)明的各種示例實施例。出于清楚目的,不是實際實施中的全部特征都在本說明書中進(jìn)行說明。當(dāng)然,應(yīng)當(dāng)了解,在任意此類實際實施例的開發(fā)中,必須作大量的特定實施決定以滿足開發(fā)者的特定目標(biāo),例如符合與系統(tǒng)相關(guān)及與商業(yè)相關(guān)的約束條件,該些約束條件因不同實施而異。而且,應(yīng)當(dāng)了解,此類開發(fā)努力可能復(fù)雜而耗時,但其仍然是本領(lǐng)域技術(shù)人員借助本發(fā)明所執(zhí)行的常規(guī)程序。
現(xiàn)在將參照附圖來說明本發(fā)明。附圖中示意各種結(jié)構(gòu)、系統(tǒng)及裝置僅是出于解釋目的以及避免使本發(fā)明與本領(lǐng)域技術(shù)人員熟知的細(xì)節(jié)混淆,但仍包括該些附圖以說明并解釋本發(fā)明的示例。本文中所使用的詞語和詞組的意思應(yīng)當(dāng)被理解并解釋為與相關(guān)領(lǐng)域技術(shù)人員對這些詞語及詞組的理解一致。這里的術(shù)語或詞組的連貫使用并不意圖暗含特別的定義,亦即與本領(lǐng)域技術(shù)人員所理解的通?;驊T用意思不同的定義。若術(shù)語或詞組意圖具有特定意思,亦即不同于本領(lǐng)域技術(shù)人員所理解的意思,則此類特別定義會以直接明確地提供該術(shù)語或詞組的特定定義的定義方式明確表示于說明書中。
本文中披露的實施例提供用于包括具有不同電路符號足印(footprint)的實例主符號的制程設(shè)計套件之間的電路原理圖轉(zhuǎn)換的系統(tǒng)及方法。本文中所述的技術(shù)可包括電路符號的實例的反射(鏡像)、旋轉(zhuǎn)及平移的自動更正,重新定位的實例的重新布線以重新建立正確的電路連接性,以及/或者網(wǎng)表的比較以驗證連接性保持的其中一種或多種。利用引腳位置矩陣的奇異值分解可自動確定制程設(shè)計套件的電路符號足印之間的調(diào)整變換。可將坐標(biāo)取整為對齊網(wǎng)格(snap grid)。所得的誤差向量可被計算并轉(zhuǎn)換成導(dǎo)線坐標(biāo)。
在一些實施例中,儲存于數(shù)據(jù)庫(例如OpenAccess)中的電路原理圖可包含具有實例變換信息的電路符號的實例。電路原理圖中的獨立電路元件的符號可以作為實例主符號的電路符號的實例的形式提供,其中,電路符號的各實例包括實例變換信息,該實例變換信息可定義應(yīng)用于實例主符號以提供電路符號的相應(yīng)實例的旋轉(zhuǎn)、反射和/或平移(位移)。
對于第一電路符號的各實例,實例變換信息可經(jīng)儲存及恢復(fù)以將該第一電路符號的該實例反射、旋轉(zhuǎn)和/或移動至原點。接著,針對該電路符號的該實例的實例主符號所確定的調(diào)整變換可應(yīng)用于將要替代該第一電路符號的該實例的第二電路符號的實例,其可包括執(zhí)行該實例的反射、旋轉(zhuǎn)和/或平移。接著,所儲存的實例變換信息可用以將已應(yīng)用調(diào)整變換的該第二電路符號的該實例變換至電路原理圖中的目標(biāo)位置。另外,基于針對主符號計算的導(dǎo)線坐標(biāo)可提供導(dǎo)線,且利用針對該第一電路符號的該實例所儲存的實例變換,可將該些導(dǎo)線變換至電路原理圖中的位置。在這些原理圖處理操作之前及之后,可將電路原理圖轉(zhuǎn)換成網(wǎng)表,并可使用標(biāo)準(zhǔn)的網(wǎng)表比較工具來驗證電路的連接性的保持狀況。
在一些實施例中,在調(diào)整變換的確定以及任意原理圖處理操作之前,可執(zhí)行電路原理圖及電路符號的縮放以及/或者對齊網(wǎng)格(snap grid)的縮放。在一些實施例中,替代使用符號主坐標(biāo)中的調(diào)整變換,以及該調(diào)整變換及重新布線以后的所儲存及重新應(yīng)用的實例變換,在電路原理圖坐標(biāo)中可確定該第二電路符號的各實例的實例變換。
下面將參照附圖說明有關(guān)將電路原理圖從第一制程設(shè)計套件轉(zhuǎn)換為第二制程設(shè)計套件的技術(shù)的實施例。
圖1顯示作為N溝道場效應(yīng)晶體管的實例主符號由第一制程設(shè)計套件提供的第一晶體管符號100的示意視圖。第一晶體管符號100包括源極引腳101、漏極引腳102、柵極引腳103以及本體引腳104。各引腳101、102、103、104可具有中心點及尺寸。在圖1中,引腳101、102、103、104的尺寸由方塊示意顯示,其中,引腳101、102、103、104的中心點通常位于該些方塊的中心,是該些方塊的對角線相交的點。
引腳101、102、103、104的中心點可位于對齊網(wǎng)格106的多個網(wǎng)格點處。對齊網(wǎng)格106可為多個網(wǎng)格點的規(guī)則方形點陣。在圖1中,附圖標(biāo)記107示例表示對齊網(wǎng)格106的多個網(wǎng)格點的其中一個。在圖1的繪制平面中,對齊網(wǎng)格106的第一網(wǎng)格軸(本文中有時表示為“x軸”)沿水平方向延伸,且對齊網(wǎng)格106的第二網(wǎng)格軸(本文中有時表示為“y軸”)沿垂直方向延伸。圖1中所示的對齊網(wǎng)格106的多個網(wǎng)格點之間的間距僅為示例性質(zhì),在一些實施例中,可使用更大或更小的間距。
在圖1中,附圖標(biāo)記105表示電路符號主坐標(biāo)系統(tǒng)的原點,該原點可位于對齊網(wǎng)格106的網(wǎng)格點107的其中一個之處。附圖標(biāo)記108、109分別表示該電路符號主坐標(biāo)系統(tǒng)的x軸及y軸,它們與對齊網(wǎng)格106的x軸及y軸對應(yīng)。
引腳101、102、103、104的中心點的位置可由位置向量表示,其中,相應(yīng)位置向量與各引腳101、102、103、104關(guān)聯(lián)。該些位置向量可為二維向量,各位置向量具有x分量及y分量,其中,x分量表示沿x軸108的引腳的中心點與原點105之間的距離,且y分量表示沿y軸109的引腳的中心點與原點105之間的距離。例如,與源極引腳101及漏極引腳102關(guān)聯(lián)的位置向量可分別具有為0的x分量以及與引腳101、102的中心點與原點105之間的相應(yīng)距離對應(yīng)的y分量。與柵極引腳103及本體引腳104關(guān)聯(lián)的位置向量具有為0的y分量以及非零的x分量。
下面,為方便起見,有時會將引腳101、102、103、104的中心點的位置表示為“引腳的位置”。
除引腳101、102、103、104以外,第一晶體管符號100可包括原圖,該原圖用以表示該N溝道場效應(yīng)晶體管的圖標(biāo)的繪制。另外,依據(jù)已知電子設(shè)計自動化工具中所使用的已知電路符號,第一晶體管符號100可包括其它元件(圖1中未顯示),例如,實例邊界、參數(shù)和/或文本。
為提供第一晶體管符號100,該第一制程設(shè)計套件可包括表示第一晶體管符號100的數(shù)據(jù)。
第一晶體管符號100可用以提供電路原理圖。圖3示意顯示電流鏡電路的電路圖300。電路圖300包括第一晶體管符號100的兩個實例,該兩個實例由附圖標(biāo)記100a及100b表示,并代表該電流鏡電路的兩個N溝道場效應(yīng)晶體管。
在圖3中,第一晶體管符號100的實例100a、100b的源極引腳分別由附圖標(biāo)記101a及101b表示,漏極引腳分別由附圖標(biāo)記102a及102b表示,柵極引腳分別由附圖標(biāo)記103a及103b表示,以及本體引腳分別由附圖標(biāo)記104a及104b表示。電路原理圖300可以表示電路原理圖300的數(shù)據(jù)形式提供,該數(shù)據(jù)可通過作為電子電路的電腦輔助設(shè)計的工具的電腦程序的方式創(chuàng)建。為提供第一晶體管符號100的實例100a、100b,表示電路原理圖300的數(shù)據(jù)可包括針對各實例100a、100b定義第一晶體管符號100的實例將被列入該電路原理圖中的數(shù)據(jù),以及將上面參照圖1所述的電路符號主坐標(biāo)系統(tǒng)(其包括原點105及坐標(biāo)軸108、109)中的位置向量映射至電路原理圖300的原理圖坐標(biāo)系統(tǒng)中的位置向量的實例變換。在圖3中,附圖標(biāo)記301表示該原理圖坐標(biāo)系統(tǒng)的原點。另外,該原理圖坐標(biāo)系統(tǒng)可具有x軸320及y軸321。在圖3的繪制平面中,x軸320沿水平方向延伸,且y軸沿垂直方向延伸。
與第一晶體管符號100的實例100a關(guān)聯(lián)的實例變換定義原理圖坐標(biāo)系統(tǒng)中的實例100a的元件(例如引腳101a、102a、103a、104a)與作為電路符號主坐標(biāo)系統(tǒng)中的實例100a的實例主符號的第一晶體管符號100的相應(yīng)元件的位置之間的關(guān)系。實例變換可為二維剛性變換,該變換可包括反射、旋轉(zhuǎn)和/或平移(位移)。類似地,第一晶體管符號100的實例100b可具有與其關(guān)聯(lián)的實例變換,該變換定義原理圖坐標(biāo)系統(tǒng)中的實例100b的元件的位置(例如實例100b的引腳101b、102b、103b、104b的位置)與電路符號主坐標(biāo)系統(tǒng)中的第一晶體管符號100的相應(yīng)元件(例如引腳101、102、103、104)的位置之間的關(guān)系。與實例100b關(guān)聯(lián)的實例變換可為二維剛性變換,其包括通常不同于與實例100a關(guān)聯(lián)的實例變換的反射、旋轉(zhuǎn)和/或平移。如此,實例100a、100b可設(shè)于電路原理圖300中的不同位置,且它們可具有不同的取向,如圖3中所示。在圖3的示例中,與實例100a關(guān)聯(lián)的實例變換可定義平移以及在y坐標(biāo)軸321的反射。與實例100b關(guān)聯(lián)的實例變換可僅定義平移。
在一些實施例中,實例變換可依據(jù)下面的式子以實例取向矩陣Ri及實例平移向量ti的形式提供:
qk=Ripk+ti (1)
其中,pk表示電路符號主坐標(biāo)系統(tǒng)中的第一晶體管符號100的引腳101、102、103、104的第k個的位置向量,且qk表示原理圖坐標(biāo)系統(tǒng)中第i個實例的引腳的第k個的位置向量。ti表示與第一晶體管符號100的第i個實例關(guān)聯(lián)的二維實例平移向量,且Ri表示與第一晶體管符號100的第i個實例關(guān)聯(lián)的2×2實例取向矩陣,其可定義旋轉(zhuǎn)和/或反射。實例取向矩陣Ri可表示為反射矩陣si與旋轉(zhuǎn)矩陣Ri,θ的積Ri=siRi,θ。
在圖1及3的示例中,實例100a可由索引i=1表示,且實例100b可由索引i=2表示。源極引腳101、101a、101b可由索引k=1表示,漏極引腳102、102a、102b可由索引k=2表示,柵極引腳103、103a、103b可由索引k=3表示,以及本體引腳104、104a、104b可由索引k=4表示。
在提供包括不同于晶體管符號的電路符號的電路原理圖的實施例中,該電路原理圖中的該些電路符號也可以實例主符號的實例形式提供,其中,各實例具有與其關(guān)聯(lián)的實例變換,該實例變換將電路符號主坐標(biāo)系統(tǒng)中的位置向量映射至原理圖坐標(biāo)系統(tǒng)中的位置向量,其中,該實例變換以取向矩陣及平移向量的形式提供。下面將詳細(xì)說明其中使用不同于晶體管符號的電路符號的示例實施例。
電路原理圖300中的位置可設(shè)于具有預(yù)定間距的多個網(wǎng)格點107的對齊網(wǎng)格上,與上面參考圖1所述的對齊網(wǎng)格106類似。為方便起見,在圖3中已略去該對齊網(wǎng)格。實例變換的平移向量的分量可限于對齊網(wǎng)格的間距的倍數(shù),且實例變換的取向矩陣可限于定義旋轉(zhuǎn)角度為90°的倍數(shù)的旋轉(zhuǎn)以及圍繞x軸及y軸的反射的矩陣。如此,可確保實例100a、100b的引腳101a、101b、102a、102b、103a、103b、104a、104b的位置位于對齊網(wǎng)格的網(wǎng)格位置。
旋轉(zhuǎn)矩陣Ri,θ可為具有旋轉(zhuǎn)角度θ的如下形式的矩陣。
反射矩陣可為定義在x軸的反射的一個矩陣定義在y軸的反射的一個矩陣以及無反射的二維單位矩陣的其中一個。
因此,當(dāng)旋轉(zhuǎn)限于旋轉(zhuǎn)角度θ為90°的倍數(shù)時,實例取向矩陣Ri的各元素具有值-1、0及1的其中一個,從而可避免三角函數(shù)sin(θ)及cos(θ)的高代價計算。
針對上述限制可允許的取向的變化可通過總的八個不同的實例取向矩陣說明,這些矩陣可表示為R0、R90、R180、R270、MY、MYR90、MX以及MXR90,其中,后面跟著一個數(shù)字的字母R表示旋轉(zhuǎn)與該數(shù)字對應(yīng)的旋轉(zhuǎn)角度,MX表示在x軸的反射,以及MY表示在y軸的反射。因此,在圖3中所示的電路原理圖300中,與實例100a關(guān)聯(lián)的實例變換可由實例取向矩陣MY及平移向量表示。與實例100b關(guān)聯(lián)的實例變換可由實例取向矩陣R0及平移向量表示。
在一些實施例中,電路原理圖300、第一晶體管符號100以及可選的其它電路符號可以O(shè)penAccess數(shù)據(jù)庫格式儲存,該格式可由電子設(shè)計自動化工具(例如Cadence Virtuoso或Synopsys Custom Designer)讀取。在此類實施例中,對于電路符號的各實例,實例變換可以O(shè)penAccess字符串屬性orient(包括實例取向矩陣名稱R0、R90、R180、R270、MY、MYR90、MX、MXR90的其中一個以指定實例取向矩陣Ri)以及OpenAccess列表屬性xy(包括實例平移向量ti的x及y分量)的形式儲存。與字符串屬性orient的值對應(yīng)的矩陣可預(yù)先定義于OpenAcess數(shù)據(jù)庫中。
除第一晶體管符號100的實例100a、100b以外,電路原理圖300還可包括輸入節(jié)點302、輸出節(jié)點303、導(dǎo)線308至315,以及源極電位連接304、305,該源極電位連接表示電流鏡電路與源極電位VSS的連接,該源極電位VSS可約等于體電位(mass potential)。源極電位連接304、305可具有引腳306、307,該引腳具有與第一晶體管符號100的實例100a、100b的引腳101a至104b的特征類似的特征。
依據(jù)此類電路符號儲存的已知技術(shù)可儲存輸入節(jié)點302、303,源極電位連接304、305以及導(dǎo)線308至315。
在一些實施例中,可執(zhí)行縮放以提供電路原理圖300中所有對象的坐標(biāo)的放大,該些對象包括輸入節(jié)點302、輸出節(jié)點303、導(dǎo)線308至315,以及源極電位連接304、305。而且,可執(zhí)行第一晶體管符號100的所有坐標(biāo)(包括其引腳101、102、103、104的坐標(biāo))的縮放以及電路符號100的實例100a、100b的實例平移向量ti的縮放,以提供實例100a、100b的坐標(biāo)的放大。通過將各坐標(biāo)與共同縮放因子相乘可執(zhí)行坐標(biāo)的縮放。該因子可為對齊網(wǎng)格106的間距及電路原理圖300的對齊網(wǎng)格的整數(shù)倍,以保持電路原理圖300的對象在對齊網(wǎng)格上的布置以及電路的連接性。
如果第一制程設(shè)計套件的實例主符號(包括第一晶體管符號100)的足印的平均尺寸與第二制程設(shè)計套件的實例主符號(包括下面將作說明的第二晶體管符號200)的足印的平均尺寸之間有相對地較大差別,則可執(zhí)行縮放。電路符號的足印區(qū)域是包括電路符號的引腳的區(qū)域。
例如,如果第一制程設(shè)計套件的電路符號的足印的平均尺寸是第二制程設(shè)計套件的電路符號的足印的平均尺寸的大約一半,則可執(zhí)行因子為2的縮放。
在其它實施例中,通過縮放因子的方式可執(zhí)行網(wǎng)格的調(diào)整。例如,在一些實施例中,坐標(biāo)可內(nèi)部儲存于存儲器中,作為數(shù)據(jù)庫單元中的整數(shù)加上定義數(shù)據(jù)庫單元與用戶單元之間的轉(zhuǎn)換的共同縮放因子。在此類實施例中,可調(diào)整該共同縮放因子,以執(zhí)行電路原理圖及電路符號的縮放。
在另外的實施例中,可省略縮放,即使在第一與第二制程設(shè)計套件的實例主符號的足印的平均尺寸之間有差別。
為方便起見,下面將省略縮放的詳細(xì)說明,且下面提到的坐標(biāo)可表示已縮放的坐標(biāo)以及未縮放的坐標(biāo)。
圖2顯示第二晶體管符號200的示意視圖。為方便起見,在圖1中(一方面)以及在圖2中(另一方面),類似的附圖標(biāo)記用以表示類似的組件。除非另外明確說明,否則圖1及2中由類似的附圖標(biāo)記表示的組件可具有相應(yīng)的特征,且有時將省略其詳細(xì)說明。
第二晶體管符號200可為由第二制程設(shè)計套件提供的N溝道場效應(yīng)晶體管的符號,其中,該第二制程設(shè)計套件是與提供上面參照圖1所述的第一晶體管符號100的第一制程設(shè)計套件不同的制程設(shè)計套件。例如,該第一制程設(shè)計套件可為提供專有電路符號的制程設(shè)計套件,且該第二制程設(shè)計套件可為依據(jù)標(biāo)準(zhǔn)(例如OpenPDK V1.0標(biāo)準(zhǔn))提供電路符號的制程設(shè)計套件。
第二晶體管符號200包括源極引腳201、漏極引腳202、柵極引腳203以及本體引腳204,它們分別與第一晶體管符號100的源極引腳101、漏極引腳102、柵極引腳103以及本體引腳104對應(yīng)。各引腳201、202、203、204可具有尺寸(其在圖2中示意顯示為矩形)以及中心點(其可具有與表示該引腳的尺寸的方塊的中心對應(yīng)的位置)。為方便起見,本文中有時會將引腳201、202、203、204的中心點的位置表示為引腳的位置。
引腳201、202、203、204的位置可由具有原點105及坐標(biāo)軸108、109的主坐標(biāo)系統(tǒng)中的位置向量定義,且引腳201、202、203、204的中心點可位于對齊網(wǎng)格106的網(wǎng)格點上,其中,該些網(wǎng)格點的其中一個由圖2中的附圖標(biāo)記107示意表示。
圖1中所示的第一晶體管符號100及圖2中所示的第二晶體管符號200都可用以表示提供于電子電路的物理實施中的相同或相似類型的場效應(yīng)晶體管。不過,晶體管符號100、200可具有不同的特征,該些特征尤其與相對電路符號主坐標(biāo)系統(tǒng)的相應(yīng)引腳的位置有關(guān),通過圖4作進(jìn)一步說明。
圖4中顯示第一晶體管符號100及第二晶體管符號200,其中,第一晶體管符號100由虛線表示,以更清楚地區(qū)分第一晶體管符號100與第二晶體管符號200。如圖4中所示,在第二晶體管符號200中,引腳201、202、203、204的位置通常沿x軸108相對第一晶體管符號100的引腳101、102、103、104的其中相應(yīng)一個偏移。另外,晶體管符號100、200的引腳的相對布置也相互不同。盡管在第一晶體管符號100與第二晶體管符號200中,沿x方向的柵極引腳與本體引腳之間的距離基本相等,但在第二晶體管符號200中,本體引腳204設(shè)于與源極引腳201及漏極引腳202相同的x坐標(biāo),而在第一晶體管符號100中,本體引腳104設(shè)于比源極引腳101及漏極引腳102大的x坐標(biāo)。
為了將電路原理圖例如圖3中所示的電路原理圖300自提供第一晶體管符號100的第一制程設(shè)計套件轉(zhuǎn)換為提供第二晶體管符號200的第二制程設(shè)計套件,如果僅用第二晶體管符號200替代為用于實例100a、100b的提供實例主符號的第一晶體管符號100,并將實例100a、100b的實例變換應(yīng)用于第二晶體管符號200,則如此獲得的第二晶體管符號200的實例將在與第一晶體管符號100的實例100a、100b的引腳101a至104b不同的位置具有引腳。如此,第二晶體管符號200的實例的引腳的位置以及向其提供連接的導(dǎo)線308至315的端部的位置(見圖3)將不再匹配。
在一些實施例中,可確定調(diào)整變換,該調(diào)整變換將位置向量映射至變換位置向量。在一些實施例中,該調(diào)整變換可經(jīng)調(diào)整以將電路符號主坐標(biāo)系統(tǒng)中的位置向量變換為電路符號主坐標(biāo)系統(tǒng)中的變換位置向量,且它可經(jīng)調(diào)整以于利用該調(diào)整變換進(jìn)行變換時,使第二電路符號(例如第二晶體管符號200)的引腳的位置與第一電路符號(例如第一晶體管符號100)的相應(yīng)引腳的位置接近或者基本相等。在一些實施例中,針對表示特定電路元件的第一制程設(shè)計套件與第二制程設(shè)計套件的每對電路符號,可分別確定一次調(diào)整變換。
為將電路原理圖自包括第一電路符號的第一制程設(shè)計套件轉(zhuǎn)換為包括第二電路符號的第二制程設(shè)計套件,對于第一電路符號的各實例,通過將調(diào)整變換與第一電路符號的實例的實例變換聯(lián)系,可確定將要替代第一電路符號的實例的第二電路符號的實例的實例變換。第二電路符號的實例的實例變換可與調(diào)整變換及第一電路符號的實例的實例變換的組合對應(yīng),其中,在第一電路符號的實例變換之前執(zhí)行調(diào)整變換。如此,可提供第二電路符號的實例,其中,電路原理圖中的第二電路符號的實例的引腳至少接近原始電路圖中第一電路符號的實例的引腳。
如果第二電路符號中的如此獲得的實例的引腳位置與第一電路符號的原始實例的引腳位置之間有差別,則可包括線段于該電路原理圖內(nèi),以保持電路的電性連接性。在一些實施例中,針對電路符號主坐標(biāo)系統(tǒng)中的每個電路符號,可確定一次表示一條或多條線段的數(shù)據(jù),并可接著提供其實例,其中,對于各實例,通過第一電路符號的實例變換的方式,將電路符號主坐標(biāo)系統(tǒng)中所確定的線段的位置變換入原理圖坐標(biāo)系統(tǒng)中。
而且,在一些實施例中,可執(zhí)行由電路原理圖表示的電路的連接性的檢查,以確保由電路原理圖表示的電路的連接性不受用第二電路符號的實例替代第一電路符號的實例以及提供線段的實例的負(fù)面影響。
下面將參照圖12及13詳細(xì)說明此類技術(shù)。
圖12顯示依據(jù)一個實施例的系統(tǒng)1200的示意視圖。系統(tǒng)1200可以一臺電腦或者通過網(wǎng)絡(luò)連接的多臺電腦形式提供,該一臺或多臺電腦配置有一個或多個電腦程序,該電腦程序包括代碼以使該一臺或多臺電腦依據(jù)實施例執(zhí)行方法。該一個或多個電腦程序可以有形的電腦可讀儲存媒體(例如CD-ROM、DVD-ROM、硬盤和/或固態(tài)儲存媒體)的形式提供,或者它們可通過網(wǎng)絡(luò)連接被提供給該一臺或多臺電腦。在一些實施例中,該一個或多個電腦程序可利用編程語言(例如Cadence SKILL)實施,以針對電路原理圖的各實例操作于OpenAccess原理圖設(shè)計數(shù)據(jù)庫上??梢訡++或者例如TCL、Python和/或Perl等腳本語言實施的較低級別的OpenAccess功能也可用以操作于原理圖設(shè)計數(shù)據(jù)庫上。在一些實施例中,矩陣計算(下面將作詳細(xì)說明)可以例如GNU Octave和/或Matlab等特別適于矩陣計算的編程語言實施。經(jīng)計算的取向矩陣、平移向量和/或誤差向量可被格式化為例如Cadence SKILL語言中的程序指令,以向主原理圖轉(zhuǎn)換過程輸出子程序、鏈接和/或插件。
系統(tǒng)1200可包括存儲器1201,其中,例如通過OpenAccess數(shù)據(jù)庫的方式可儲存表示電路符號及電路原理圖的數(shù)據(jù)。
系統(tǒng)1200還可包括調(diào)整變換計算器1202、導(dǎo)線插入器1203以及電路原理圖修改器1204。另外,系統(tǒng)1200可包括連接性檢查器1205。調(diào)整變換計算器1202、導(dǎo)線插入器1203、電路原理圖修改器1204以及連接性檢查器1205可以如上所述實施的電腦程序和/或電腦程序的模塊形式提供。
下面將參照圖13說明可通過系統(tǒng)1200的方式執(zhí)行的依據(jù)實施例的方法,圖13顯示依據(jù)一個實施例的方法的示意流程圖1300。
在1301,可提供第一及第二制程設(shè)計套件。各該第一及第二制程設(shè)計套件可包括電路元件的一個或多個實例主符號。在一些實施例中,該第一制程設(shè)計套件可包括圖1中所示的第一晶體管符號100,且該第二制程設(shè)計套件可包括圖2中所示的第二晶體管符號200。另外,各該第一及第二制程設(shè)計套件可包括其它電路元件的實例主符號,下面將說明其例子。該些制程設(shè)計套件可儲存于系統(tǒng)1200的存儲器1201中。
在1302,依據(jù)本文中所披露的至少某些方法可計算調(diào)整變換,其中,可針對電路元件的一對或多對的每個計算調(diào)整變換,其中,各對電路元件包括第一電路元件(其可為來自該第一制程設(shè)計套件的實例主符號)以及第二電路元件(其可為來自該第二制程設(shè)計套件的實例主符號)。尤其,第一晶體管符號100與第二晶體管符號200可形成一對電路符號。通過系統(tǒng)1200的調(diào)整變換計算器1202可執(zhí)行調(diào)整變換的計算。針對屬于共同符號足印類的電路元件對,例如場效應(yīng)晶體管、電阻器及電容器,可執(zhí)行一次調(diào)整變換的計算,且無需針對具有不同符號名稱(可用以進(jìn)一步指定由電路符號所表示的電路元件)的相同符號足印類的電路符號獨立執(zhí)行調(diào)整變換的計算。
在一個實施例中,調(diào)整變換可包括反射、旋轉(zhuǎn)和/或平移,其中,反射和/或旋轉(zhuǎn)可由取向矩陣Ra表示,且平移可由平移向量ta表示。與上述實例變換的取向矩陣Ri及平移向量ti類似,調(diào)整變換的取向矩陣Ra可為2×2矩陣,且調(diào)整變換的平移向量ta可為二維向量。
如此,在一個例子中,依據(jù)下面的式子可獲得變換位置向量rk’:
r′k=Rap′k+ta (2)
其中,pk’表示應(yīng)用調(diào)整變換的位置向量,其可為定義第二電路符號的引腳的第k個的位置的位置向量。在該例子中,其中第二電路符號是第二晶體管符號200,位置向量pk’可定義引腳201、202、203、204的位置,其中,各引腳201、202、203、204由索引k表示。在一些實施例中,索引k=1可表示源極引腳201,索引k=2可表示漏極引腳202,索引k=3可表示柵極引腳203,以及索引k=4可表示本體引腳204。對于晶體管符號100、200的引腳的索引k的分配可經(jīng)選擇以使晶體管符號100、200的相應(yīng)引腳具有相同的索引k。本文中,如果引腳表示與具有相同功能的電路符號所表示的電路元件的連接,則將引腳表示為“對應(yīng)引腳”。例如,第二晶體管符號200的源極引腳201可對應(yīng)第一晶體管符號的源極引腳101,漏極引腳202可對應(yīng)漏極引腳102,柵極引腳203可對應(yīng)柵極引腳103,以及本體引腳204可對應(yīng)本體引腳104。
取向矩陣Ra及平移向量ta可經(jīng)調(diào)整以最大限度地降低誤差測量E,其中,可依據(jù)下式計算誤差測量E:
這里,n表示第一電路符號及第二電路符號的引腳的數(shù)目。在第一電路符號為第一晶體管符號100且第二電路符號為第二晶體管符號200的實施例中,n=4。ek是第一電路符號與第二電路符號的引腳的第k個的誤差向量,是變換位置向量rk’與定義第一電路符號的第k個引腳的位置的位置向量pk之間的差。因此,誤差測量E包括多個第一引腳的在通過將調(diào)整變換應(yīng)用于與對應(yīng)第一引腳的第二引腳關(guān)聯(lián)的第二位置向量所獲得的變換位置向量與關(guān)聯(lián)第一引腳的第一位置向量之間的偏差之和。該偏差包括在變換位置向量與關(guān)聯(lián)第一引腳的第一位置向量之間的差的向量范數(shù)的平方。
與上述實例變換的取向矩陣及平移向量類似,取向矩陣Ra及平移向量ta可經(jīng)調(diào)整以使變換位置向量rk’與對齊網(wǎng)格106匹配。平移向量ta的分量可為對齊網(wǎng)格106的間距的倍數(shù),且取向矩陣Ra可經(jīng)調(diào)整以提供旋轉(zhuǎn)角度為90度的倍數(shù)的旋轉(zhuǎn)與在x軸108及y軸109的其中之一上的反射的組合。
因此,調(diào)整變換可經(jīng)調(diào)整以在變換位置向量rk’與對齊網(wǎng)格匹配的約束條件下,最大限度地降低誤差測量E。
下面將說明可用以計算調(diào)整變換并基于奇異值分解的示例技術(shù)。如下面詳細(xì)所述,這些技術(shù)無需包括誤差測量E的明確計算。不過,這些方法可產(chǎn)生調(diào)整變換,該調(diào)整變換在變換位置向量rk’與對齊網(wǎng)格匹配的約束條件下最大限度地降低誤差測量E。因此,如下所述計算的調(diào)整變換將被理解為最大限度地降低上式3中所定義的誤差測量E的調(diào)整變換。
可依據(jù)下式計算向量ak:
其中,表示第一位置向量pk的平均數(shù)。
另外,可依據(jù)下式計算向量bk:
其中,表示位置向量pk'的平均數(shù)。
接著,依據(jù)下式可使用向量ak及bk形成第一引腳位置矩陣A及第二引腳位置矩陣B:
引腳位置矩陣A及B可為具有兩列以及與第一電路符號及第二電路符號的引腳的數(shù)目相等的行數(shù)的矩陣。第一引腳位置矩陣A的行包括通過從位置向量pk減去位置向量pk的平均數(shù)所獲得的向量的分量,且第二引腳位置矩陣B的行包括通過從第一位置向量pk減去位置向量pk’的平均數(shù)所獲得的向量的分量。
在一些實施例中,矩陣A及B可具有大于第一電路符號及第二電路符號的引腳的數(shù)目的行數(shù),例如行數(shù)等于一加上第一電路符號及第二電路符號的引腳的數(shù)目。在全對稱電路符號的某些情況下,對于取向矩陣Ra(旋轉(zhuǎn)及反射)可具有兩個解,導(dǎo)致相同的誤差測量。在此類情況下,這些解的其中一個,例如,降低電路原理圖中導(dǎo)線的電性短路的風(fēng)險的解可通過復(fù)制引腳的至少其中一個的位置向量來加強(qiáng),這可改變位置向量的平均數(shù),從而打破對稱性。
可計算矩陣A及B的其中一個的偽逆,尤其是矩陣A的偽逆A+。在一些實施例中,這可通過矩陣A的奇異值分解的方式來達(dá)成,其中,可計算矩陣U、W及V,以使:
A=UWVT (8)
其中,U為具有n列及兩行的正交矩陣,W為具有兩行及兩列的對角矩陣,以及其中,矩陣W的對角線元素是矩陣A的奇異值,且V是具有兩列及兩行的正交矩陣。
利用計算奇異值分解的已知數(shù)值技術(shù)可計算矩陣A的奇異值分解。
根據(jù)矩陣A的奇異值分解,可依據(jù)下式計算偽逆A+:
A+=VW+UT (9)
其中,W+是具有兩行及兩列的對角矩陣,其中,通過計算基本不同于零的矩陣W的各對角線元素的逆并提供該逆作為矩陣W+的一個對角線元素,以及針對基本等于零的矩陣W的各對角線元素提供矩陣W+的對角線元素,可從矩陣W的對角線元素計算矩陣W+的對角線元素。通過矩陣的奇異值分解的方式計算矩陣的偽逆的技術(shù)是已知的。
接著,依據(jù)下式可計算預(yù)調(diào)整取向矩陣Ra,p以及預(yù)平移向量ta,p:
Ra,p=A+B (10)
接著,通過將預(yù)調(diào)整取向矩陣Ra,p取整為多個預(yù)定約束取向變化的其中一個并通過將預(yù)調(diào)整平移向量ta,p取整為對齊網(wǎng)格106可計算調(diào)整變換的調(diào)整取向矩陣Ra及調(diào)整平移向量ta(見式2)。該多個預(yù)定約束取向變化可包括角度為90度的倍數(shù)的旋轉(zhuǎn)以及在x軸108及y軸109的其中一個的反射。
如上詳細(xì)所述,當(dāng)旋轉(zhuǎn)限于角度為90度的倍數(shù)的旋轉(zhuǎn)時,實例旋轉(zhuǎn)矩陣的各元素具有值-1、0及1的其中一個。在此類實施例中,通過將預(yù)調(diào)整取向矩陣Ra,p的各元素取整為與值-1、0及1中最接近的一個可獲得調(diào)整取向矩陣Ra。接著,如此獲得的調(diào)整取向矩陣Ra可被映射至OpenAccess字符串屬性orient的八個預(yù)定義取向名稱R0、R90、R180、R270、MY、MYR90、MX、MXR90的其中一個,以儲存于OpenAccess數(shù)據(jù)庫中。
通過將預(yù)調(diào)整平移向量ta,p的各分量取整為對齊網(wǎng)格的間距的整數(shù)倍數(shù),可自預(yù)調(diào)整平移向量ta,p獲得調(diào)整平移向量ta。
圖5顯示第一晶體管符號100及第二晶體管符號200,其中,第一晶體管符號100顯示于相對具有原點105及坐標(biāo)軸108、109的電路符號主坐標(biāo)系統(tǒng)的原始位置,而依據(jù)本文中所述的調(diào)整變換,相對于該電路符號主坐標(biāo)系統(tǒng)的第二晶體管符號200的布置已被改變。與圖4類似,在圖5中,第一晶體管符號100通過虛線顯示,且第二晶體管符號200通過實線顯示,以更清楚地區(qū)分晶體管符號100、200。
通過圖5與圖4(其中,兩個晶體管符號100、200都顯示于其相對電路符號主坐標(biāo)系統(tǒng)的原始位置)的比較可看出,在該示例中,調(diào)整變換不包括旋轉(zhuǎn)但包括與x軸108的方向相反的方向的平移。在相對于電路符號主坐標(biāo)系統(tǒng)的第二晶體管符號200的原始布置中,柵極引腳203位于原點105。在將調(diào)整變換應(yīng)用于第二晶體管符號200的元件(包括引腳201、202、203、204)的位置以后,第二晶體管符號200的本體引腳204位于原點105。
如圖5中所示,該調(diào)整變換將定義第二晶體管符號200的源極引腳201及漏極引腳202的位置的電路符號主坐標(biāo)系統(tǒng)中的位置向量映射至基本等于分別定義第一晶體管符號100的源極引腳101及漏極引腳102的位置向量的變換位置向量。因此,在應(yīng)用該調(diào)整變換以后,源極引腳201的中心點的位置與源極引腳101的中心點的位置匹配,且漏極引腳202的中心點的位置與漏極引腳102的中心點的位置匹配。
不過,由于在第二晶體管符號200中,相對于源極引腳201及漏極引腳202的柵極引腳203及本體引腳204的布置不同于相對于源極引腳101及漏極引腳102的柵極引腳103及本體引腳104的布置,因此即使在應(yīng)用該調(diào)整變換以后,柵極引腳103與柵極引腳203的中心點的位置也不匹配。而且,本體引腳104與本體引腳204的中心點的位置不匹配。
第一晶體管符號100的引腳101、102、103、104的布置與通過調(diào)整變換的方式變換定義其位置的位置向量以后所獲得的第二晶體管符號200的引腳201、202、203、204的布置之間的匹配可由誤差向量ek表示(見式(2)及(3))。在圖5中所示的例子中,源極引腳101、201的誤差向量e1及漏極引腳102、202的誤差向量e2可具有等于零的分量。柵極引腳103、203的誤差向量e3是自柵極引腳103的位置指向在應(yīng)用調(diào)整變換后所獲得的柵極引腳203的調(diào)整位置的向量,該誤差向量可具有為零的y分量以及與圖5中所示的引腳203、103之間的距離對應(yīng)的x分量。本體引腳104、204的誤差向量e4是自本體引腳104的位置指向在應(yīng)用調(diào)整變換后所獲得的本體引腳204的調(diào)整位置的向量,該誤差向量可具有為零的y分量以及與圖5中所示的引腳204、104之間的距離對應(yīng)的x分量。在圖5中所示的示例中,誤差向量e3及e4的x分量可具有負(fù)值。
進(jìn)一步參照圖13,在1303,在一個示例實施例中,基于在應(yīng)用調(diào)整變換以后所獲得的第二電路符號的引腳的位置與第一電路符號的引腳的位置之間的匹配的誤差可形成表示線段的數(shù)據(jù)。這可通過系統(tǒng)1200的導(dǎo)線插入器1203來達(dá)成。對于包括第一電路符號的一個引腳以及第二電路符號的一個相應(yīng)引腳的每對引腳,可依據(jù)式(2)及(3)計算誤差向量ek。如果誤差向量ek的所有分量都約為零,則無需提供線段。如果誤差向量的分量的至少其中一個不為零,則可針對該對引腳提供導(dǎo)線。該導(dǎo)線可將由變換位置向量(通過將調(diào)整變換應(yīng)用于與第二電路元件的引腳關(guān)聯(lián)的位置向量獲得)表示的位置與由與第一電路元件的引腳關(guān)聯(lián)的位置向量表示的位置連接。該導(dǎo)線可具有位于第一電路元件的引腳的位置的第一端點(具有對應(yīng)于與第一電路元件的引腳關(guān)聯(lián)的位置向量的坐標(biāo))以及位于第二電路元件的引腳的位置的第二端點(具有通過向與第一電路元件的引腳關(guān)聯(lián)的位置向量添加針對該對引腳計算的誤差向量所獲得的坐標(biāo))。該導(dǎo)線可以一條或兩條線段的形式提供,其中,如果誤差向量的僅其中一個分量不同于零,則可提供連接導(dǎo)線的端點的一條線段;如果誤差向量的兩個分量都不同于零,則可提供兩條線段,其中一條線段沿x軸108的方向延伸且另一條沿y軸109的方向延伸。如此,可提供正交(曼哈頓)布線。
如果提供兩條線段,則具有兩種可能性來提供布線。其中一種是在導(dǎo)線的第一端點提供沿x軸的方向延伸的線段,并將該線段與沿y軸的方向延伸的線段連接,使其延伸至導(dǎo)線的第二端點。另一種可能性是在導(dǎo)線的第一端點提供沿y軸的方向延伸的線段,并將該線段與沿x軸的方向延伸的線段連接,以使其延伸至第二端點。在一些實施例中,可提供用戶的手動輸入以選擇這兩種可能性的其中一種,例如,為了基本避免或減少線段與引腳及導(dǎo)線相交的風(fēng)險,該相交可能造成電性短路以及電路的連接性的不良變化。
在圖5的示例中,可提供連接?xùn)艠O引腳103、203的位置的導(dǎo)線501,且可提供連接本體引腳104、204的位置的導(dǎo)線502。由于柵極引腳103、203及本體引腳104、204的誤差向量e3及e4分別僅具有一個非零分量,因此各導(dǎo)線501、502可包括沿x軸108的方向延伸的單條線段。
請進(jìn)一步參照圖13,在1304,可由系統(tǒng)1200接收電路原理圖,例如上面參照圖3所述的電路原理圖300。如上所述,電路原理圖300可以數(shù)據(jù)形式提供,該數(shù)據(jù)針對第一晶體管符號100的各實例100a、100b定義可包括實例取向矩陣Ri及實例平移向量ti的實例變換。
在一個示例實施例中,在1305,可提取電路原理圖300的第一網(wǎng)表。這可通過系統(tǒng)1200的連接性檢查器1205來達(dá)成。第一網(wǎng)表可說明電路原理圖的組件之間的連接性,例如,由電路原理圖300說明的電流鏡電路的組件,該電路原理圖300包括兩個N溝道場效應(yīng)晶體管(由第一晶體管符號100的實例100a、100b表示)、電性連接(由導(dǎo)線308及315表示),以及該電流鏡電路與其它電路的連接(由輸入302、輸出303以及源極電位連接304、305表示)。不同于電路原理圖300,第一網(wǎng)表不需要包括定義表示電路元件的電路原理圖300的元件的位置的信息。因此,自定義相同電路的兩個不同電路原理圖提取網(wǎng)表可產(chǎn)生基本相同的網(wǎng)表。
在一個示例實施例中,在1306,可用第二晶體管符號1200的相應(yīng)實例替代第一晶體管符號100的各實例100a、100b。這可通過系統(tǒng)1200的電路原理圖修改器1204來達(dá)成。圖6顯示用第二晶體管符號200的實例200a替代第一晶體管符號100的實例100a且用第二晶體管符號200的實例200b替代第一晶體管符號100的實例100b以后的電路原理圖300。在圖6中,附圖標(biāo)記201a、202a、203a、204a表示與第二晶體管符號200的引腳201、202、203、204對應(yīng)的實例200a的引腳,且附圖標(biāo)記201b、202b、203b、204b表示分別與第二晶體管符號200的引腳201、202、203、204對應(yīng)的實例200b的引腳。
為執(zhí)行用第二晶體管符號200的實例200a、200b對第一晶體管100的實例100a、100b的替代,可向第二晶體管符號200的各實例200a、200b提供實例變換。各該實例變換可包括實例取向矩陣Ri’及實例平移向量ti’,其中,索引i表示第二晶體管符號200的實例。例如,依據(jù)用以表示第一晶體管符號100的實例100a、100b的索引i,索引i=1可用以表示實例200a,且索引i=2可用以表示實例200b。依據(jù)下式,基于在1302計算的調(diào)整變換以及第一晶體管符號100的相應(yīng)實例的實例變換可提供該實例變換:
R′i=RiRa (12)
t′i=Rita+ti (13)
這可通過首先儲存并恢復(fù)第一晶體管符號100的實例的實例變換,對第二晶體管符號200的實例應(yīng)用調(diào)整變換,并接著對其應(yīng)用第一晶體管符號100的實例的儲存實例變換來達(dá)成。在這樣做時,可獲得調(diào)整變換與儲存實例變換的聯(lián)系。
通過使用第二晶體管符號200的實例的實例變換的實例取向矩陣Ri’及實例平移向量ti’,表示包括原點301及坐標(biāo)軸320、321的原理圖坐標(biāo)系統(tǒng)中的第二晶體管符號200的實例的引腳的位置的位置向量qk’可依據(jù)下式計算:
q′k=R′ip′k+t′i (14)
在第二晶體管符號200的實例200a對第一晶體管符號100的實例100a的替代中,表示實例100a的數(shù)據(jù)可由表示實例200a的數(shù)據(jù)(其可包括將要提供第二晶體管符號200的實例的信息)以及實例200a的實例變換(其可包括依據(jù)式(12)及(13)的實例取向矩陣及實例變換向量)替代。
類似地,在第二晶體管符號200的實例200b對第一晶體管符號的實例100b的替代中,可移除表示實例100b的數(shù)據(jù),并可提供表示實例200b的數(shù)據(jù),該數(shù)據(jù)可包括實例200b的實例變換。另外,對于第二晶體管符號200的各實例200a、200b,可在電路原理圖300中提供導(dǎo)線501、502的實例。在圖6中,附圖標(biāo)記501a及502a表示與第二晶體管符號200的實例200a關(guān)聯(lián)的導(dǎo)線501、502的實例,且附圖標(biāo)記501b、502b表示與實例200b關(guān)聯(lián)的導(dǎo)線501、502的實例。
為提供導(dǎo)線501、502的實例501a、502a,針對第一晶體管符號100的實例100a所儲存的實例變換可應(yīng)用于定義電路符號主坐標(biāo)系統(tǒng)中的線段導(dǎo)線501、502的端點的位置的位置向量,以獲得定義原理圖坐標(biāo)系統(tǒng)中的實例501a、502a的線段的端點的位置向量。接著,可基于該位置向量提供定義實例501a、502a的線段的數(shù)據(jù)。類似地,為提供導(dǎo)線501、502的實例501b、502b,針對第一晶體管100的實例100b所儲存的實例變換可應(yīng)用于定義電路符號主坐標(biāo)系統(tǒng)中的導(dǎo)線501、502的端點的位置的位置向量,以獲得定義原理圖坐標(biāo)系統(tǒng)中的實例501b、501b的線段的端點的位置向量。接著,可基于該位置向量提供定義實例501b、502b的線段的數(shù)據(jù)。
實例501a、501b可提供引腳203a、203b與導(dǎo)線310之間的連接。導(dǎo)線502a可提供本體引腳204a與導(dǎo)線312之間的連接,且導(dǎo)線502b可提供本體引腳204b與導(dǎo)線313之間的連接。與源極引腳101a、101b設(shè)于基本相同的位置的源極引腳201a、201b可分別與導(dǎo)線314及315直接連接。類似地,與漏極引腳202a、202b設(shè)于基本相同的位置的漏極引腳102a、102b可分別與導(dǎo)線308、311直接連接。
因此,第二晶體管符號200的實例200a、200b可以與第一晶體管符號100的實例100a、100b基本相同的方式與電路原理圖300的導(dǎo)線連接,以保持電路的連接性。
請再次參照圖13,在用第二晶體管符號200的實例200a、200b替代第一晶體管符號100的實例100a、100b以后并在插入導(dǎo)線501a、501b、502a、502b以后,在一些實施例中,在1307,可執(zhí)行電路原理圖300的清理。電路原理圖300的清理可包括移除僅于一端連接的浮接(外延)線頭。線頭通常不改變電路的連接性。不過,移除線頭可有助于提升用戶對電路原理圖的可讀性。為移除線頭,線頭可通過傳統(tǒng)電子設(shè)計自動化工具(例如Cadence SKILL)所提供的功能的方式來標(biāo)記,并通過電子設(shè)計自動化工具所提供的刪除功能來移除。在其它實施例中,電路原理圖300的清理可省略。
請再次參照圖13,在1308,可提取電路原理圖300的第二網(wǎng)表,其中,該第二網(wǎng)表提取自在用第二晶體管符號200的實例200a、200b替代第一晶體管符號100的實例100a、100b以后且插入導(dǎo)線501a、501b、502a、502b以后且(如果已執(zhí)行電路原理圖300的清理)在清理電路原理圖300以后所獲得的電路原理圖300。這可通過系統(tǒng)1200的連接性檢查器1205來達(dá)成。
隨后,在1309,可比較第一網(wǎng)表與第二網(wǎng)表,以確定是否已在電路原理圖300中引入錯誤或者電路原理圖300是否仍正確地表示電流鏡電路,例如通過連接性檢查器1205的方式。錯誤可由例如電路原理圖中所插入的導(dǎo)線的相交,或者在清理電路原理圖300時意外移除提供電性連接的導(dǎo)線引起。如果存在錯誤,則可執(zhí)行電路原理圖300的手動編輯,以更正該錯誤。作為附加和/或替代,包括第一晶體管符號100的實例100a、100b的原始電路原理圖300(作為來自第一制程設(shè)計套件的第一電路符號的示例)可通過電子設(shè)計自動化工具的方式修改,以在實例100a、100b之間提供較大距離。在這樣做時,該電子設(shè)計自動化工具可利用傳統(tǒng)方法自動移動與實例100a、100b連接的導(dǎo)線,以保持電路的連接性。接著,基于所修改的電路原理圖可再次執(zhí)行在1304至1309執(zhí)行的動作。在實例100a、100b之間提供較大的距離可有助于減少與引起短路發(fā)生的導(dǎo)線相交有關(guān)的錯誤風(fēng)險。
下面將參照圖7至11說明電路符號及電路原理圖的另外例子,其中,可依據(jù)實施例的方法執(zhí)行電路符號的實例的替代。為處理該電路符號及電路原理圖,可使用上面參照圖1至6、12及13所述的系統(tǒng)及方法。為方便起見,在圖1至6中(一方面)且在圖7至11中(另一方面),類似的附圖標(biāo)記有時用以表示類似的組件,且有時會省略其詳細(xì)說明。
圖7示意說明電阻器符號700的一個示例實施例。電阻器符號700包括原圖以及引腳701、702、703。針對各引腳701、702、703可提供位置向量,該位置向量定義相對具有原點105、x軸108及y軸109的電路符號主坐標(biāo)系統(tǒng)的相應(yīng)引腳的中心點的位置。引腳701、702、703以及可選的第一電阻器符號700的其它元件的中心點的位置可定義于對齊網(wǎng)格106的網(wǎng)格點上。第一電阻器符號700可通過第一制程設(shè)計套件提供。
圖8顯示第二電阻器符號800的一個示例實施例的示意視圖。第二電阻器符號800(可通過第二制程設(shè)計套件提供)可包括原圖以及引腳801、802、803。各引腳801、802、803可具有位于對齊網(wǎng)格106的網(wǎng)格點上的中心點。第二電阻器符號800可表示與第一電阻器符號700的類型相同的電阻器。引腳801可與引腳701對應(yīng),引腳802可與引腳702對應(yīng),以及引腳803可與引腳703對應(yīng)。各引腳801、802、803可具有與其關(guān)聯(lián)的位置向量,該位置向量定義相對具有原點105、x軸108及y軸109的電路符號主坐標(biāo)系統(tǒng)的相應(yīng)引腳的中心點的位置。
圖9示意說明低通濾波器的電路原理圖900的一個示例實施例。電路原理圖900可包括第一電阻器符號700的實例700a,其中,第一電阻器符號700為實例700a提供實例主符號。實例700a可具有與其關(guān)聯(lián)的實例變換,該實例變換將電路符號主坐標(biāo)系統(tǒng)中的位置向量映射至具有原點301、x軸320及y軸321的原理圖坐標(biāo)系統(tǒng)中的位置向量。在圖7及9中所示的例子中,與實例700a關(guān)聯(lián)的實例變換可包括x軸320的方向及y軸321的方向二者的平移,其可由具有非零x分量及非零y分量的實例平移向量表示。另外,實例變換可包括實例取向矩陣。在圖7及9中所示的例子中,該實例取向矩陣可為二維單位矩陣,以使引腳701a、702a、703a的相對取向與第一電阻器符號700的引腳701、702、703的相對取向基本相同。
電路原理圖900還可包括具有引腳2001a、2002a以及2003a的電容器符號(未圖示)的實例2000a。與電阻器符號700的實例700a類似,該電容器符號的實例2000a可具有與其關(guān)聯(lián)的實例變換。
另外,電路原理圖900可包括導(dǎo)線906、907、908、909、910、911、輸入902、輸出903以及具有引腳905的源極電位連接904。
在一些實施例中,可提供第一及第二制程設(shè)計套件。該第一制程設(shè)計套件可包括第一電阻器符號700及其它實例主符號,例如針對電容器的實例2000a的實例主符號。在一個示例實施例中,該第二制程設(shè)計套件可包括第二電阻器符號800以及其它實例主符號,例如與電容器符號的實例2000a所表示的電容器的類型相同的電容器的實例主符號。這可依據(jù)上面參照圖13的流程圖1300所述的方法中在1301所執(zhí)行的動作來達(dá)成。
接著,在一個示例實施例中,可針對包括來自第一制程設(shè)計套件的電路元件的實例主符號以及針對來自第二制程設(shè)計套件的電路元件的相應(yīng)實例主符號的每對電路符號計算調(diào)整變換。尤其,可針對電阻器符號700、800和/或來自第一及第二制程設(shè)計套件的電容器的實例主符號計算調(diào)整變換。這可依據(jù)圖3的流程圖1300所示的方法中在1302執(zhí)行的動作來達(dá)成。另外,對于每對電路符號,依據(jù)流程圖1300所示的方法中在1303執(zhí)行的動作,基于調(diào)整變換的誤差可形成表示線段的數(shù)據(jù)。
圖10顯示電阻器符號700、800,其中,通過針對電阻器符號700、800確定的調(diào)整變換的方式已變換第二電阻器符號800的元件的位置。為更清楚地區(qū)分電阻器符號700、800,通過虛線的方式顯示第一電阻器符號700。
在所示的例子中,調(diào)整變換可包括270度的角度的旋轉(zhuǎn)以及平移,以將第二電阻器符號800的引腳802移至原點105,而在原始第二電阻器符號800中,引腳801位于原點105,如圖8中所示。在應(yīng)用調(diào)整變換以后,引腳801與701基本處于相同的位置。類似地,引腳702、802基本處于相同的位置。由于引腳703相對第一晶體管符號700的引腳701、702(一方面)以及引腳803相對第二電阻器符號800的引腳801、802(另一方面)的不同的相對布置,引腳703、803可處于不同的位置。因此,依據(jù)圖13的流程圖1300所示的方法中在1303執(zhí)行的動作,可提供連接引腳703、803的中心點的位置的導(dǎo)線1001。
接著,在1304,可接收電路原理圖900以及可選擇地,在1305可提取電路原理圖900的第一網(wǎng)表。
然后,如圖11中所示,可用第二電阻器符號800的實例800a替代第一電阻器符號700的實例700a,且導(dǎo)線1001的實例1001a可被包括于電路原理圖900中。如上所述,通過將調(diào)整變換與第一電阻器符號700的實例700a的實例變換聯(lián)系,可獲得第二電阻器符號800的實例800a的實例變換。類似地,可用具有引腳3001a、3002a、3003a的來自第二制程設(shè)計套件的第二電容器符號的實例3000a替代第一電容器符號的實例2000a,且導(dǎo)線4001a、4002a的實例可被包括于電路原理圖900中。
接著,可選擇地,在1307可清理電路原理圖,在1308可提取第二網(wǎng)表,以及在1309可比較該些網(wǎng)表。
本發(fā)明不限于實施例,其中,如上所述,在符號主坐標(biāo)中針對包括來自第一制程設(shè)計套件的電路元件的符號以及來自第二制程設(shè)計套件的電路元件的符號的每對符號確定一次調(diào)整變換以及將要包括于電路原理圖中的主導(dǎo)線。在其它實施例中,對于來自第一制程設(shè)計套件的第一電路符號的各實例,通過將關(guān)聯(lián)該第一電路符號的該實例的實例變換應(yīng)用于定義電路符號主坐標(biāo)系統(tǒng)中的引腳的位置的電路主坐標(biāo)系統(tǒng)中的位置向量可提供該實例的各引腳的位置向量。
接著,通過使用與上述技術(shù)對應(yīng)的技術(shù)計算調(diào)整變換,可計算將要替代該第一電路符號的實例的第二電路符號的實例的實例變換,其中,使用表示第一電路符號的實例的引腳的位置的位置向量來替代定義電路符號主坐標(biāo)系統(tǒng)中第一電路符號的引腳的位置的位置向量。
由于本領(lǐng)域的技術(shù)人員借助這里的教導(dǎo)可以很容易地以不同但等同的方式修改并實施本發(fā)明,因此上面披露的特定實施例僅為示例性質(zhì)。例如,可以不同的順序執(zhí)行上述制程步驟。而且,本發(fā)明不限于這里所示架構(gòu)或設(shè)計的細(xì)節(jié),而是如權(quán)利要求所述。因此,顯然,可對上面披露的特定實施例進(jìn)行修改或變更,所有此類變更落入本發(fā)明的范圍及精神內(nèi)。要注意的是,用于說明本說明書以及權(quán)利要求中的各種制程或結(jié)構(gòu)的“第一”、“第二”、“第三”或者“第四”等術(shù)語的使用僅用作此類步驟/結(jié)構(gòu)的快捷參考,并不一定意味著按排列順序執(zhí)行/形成此類步驟/結(jié)構(gòu)。當(dāng)然,依據(jù)準(zhǔn)確的權(quán)利要求語言,可能要求或者不要求此類制程的排列順序。因此,權(quán)利要求書規(guī)定本發(fā)明的保護(hù)范圍。