專利名稱:用于通過(guò)仿真全陣列模型中的邊緣單元的操作來(lái)檢驗(yàn)陣列性能的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電路仿真和檢驗(yàn)方法以及軟件,并且更特別地,涉及檢驗(yàn) 陣列性能的陣列建才莫方法和軟件。
背景技術(shù):
通常并不通過(guò)在設(shè)計(jì)檢驗(yàn)期間同時(shí)建模陣列中的每個(gè)單元來(lái)實(shí)現(xiàn)全電 路仿真。由于所需要的計(jì)算時(shí)間和存儲(chǔ)器的總量隨陣列維數(shù)幾何增加,因 此通常通過(guò)在特定時(shí)序通過(guò)期間^使用非活動(dòng)單元的集總參數(shù)才莫型來(lái)實(shí)現(xiàn)時(shí) 序分析。使用非活動(dòng)單元負(fù)載效應(yīng)的模型降低了仿真的精確度,并且在高速存儲(chǔ)器設(shè)計(jì)上導(dǎo)致了不太理想的設(shè)計(jì)和超過(guò)規(guī)定(over-specified)的余量。通常通過(guò)沿陣列邊緣的單元來(lái)指示陣列(或者子陣列,如果該陣列祐: 分割的話)的最壞情況的讀取性能,因?yàn)閺年嚵羞吔绲淖顗那闆r的字線(wordline )到達(dá)時(shí)間延遲以及從單元通路元件(cell pass device )的輸出 到輸出電路(通常是讀取電路)的最壞情況的傳播時(shí)間將總是具有位于陣 列的相對(duì)角(opposing corner)處的最短和最長(zhǎng)值。由于陣列是通過(guò)沿一 個(gè)邊緣的字線以及沿其它邊緣的位線的行進(jìn)(progression)而被限定的, 因此對(duì)應(yīng)于最短位線和字線的角單元(corner cell)應(yīng)當(dāng)具有最小延遲并且相對(duì)角具有最大延遲。然而,由于字線驅(qū)動(dòng)電路具有非均勻的延遲,因此最壞情況的讀取延 遲值(最小和最大值這二者)可能發(fā)生在沿陣列邊緣的任何地方。進(jìn)一步 地,如果讀取電路是非均勻的或者具有到達(dá)下游點(diǎn)(路徑在此必須被定時(shí)) 的非均勻路徑,那么最壞情況的讀取延遲值可能發(fā)生在該陣列內(nèi)的任何單元。最小和最大延遲在設(shè)計(jì)中都很關(guān)鍵,其被定時(shí)以便提供最短的連續(xù)讀 取周期,因?yàn)閿?shù)據(jù)不能夠被定時(shí)到達(dá)得太早或太晚。由于寫性能取決于位線上的數(shù)據(jù)值和字線上的選通值(strobe value) 這二者的相對(duì)到達(dá),因此最壞情況的寫入條件也并不總是發(fā)生在陣列的邊 緣,因?yàn)閬?lái)自其相應(yīng)驅(qū)動(dòng)電路的最壞情況的字線和數(shù)據(jù)位線延遲可能發(fā)生 在行和列的任意組合處。對(duì)陣列中每個(gè)單元進(jìn)行仿真是耗時(shí)的過(guò)程,因?yàn)樵谀壳暗姆治鲕浖校?單元內(nèi)信號(hào)的每一傳播通常都需要完整執(zhí)行用于每個(gè)單元的仿真代碼,除 非將該單元從模型中完全移除,這正是為什么經(jīng)常使用上述集總|*模型 技術(shù)的原因。已經(jīng)進(jìn)行了一些嘗試,以便通過(guò)將除了邊緣單元之外的所有 單元進(jìn)4于移除來(lái)建才莫陣列。然而,如上所述,寫入失敗可能由于成功寫入 對(duì)選通和數(shù)據(jù)值的相對(duì)到達(dá)的依賴而被遺漏。進(jìn)一步地,移除所有的中央 單元改變了位線和字線負(fù)載,從而導(dǎo)致可能遺漏寫入失敗和潛在的讀取失 敗的時(shí)序偏差。極其需要這樣的減少,因?yàn)閷?duì)J乘K的陣列的全仿真具有單元計(jì)算時(shí) 間乘以J x K的計(jì)算時(shí)間,實(shí)質(zhì)上是隨陣列維數(shù)增加的N的平方的負(fù)擔(dān)。 僅對(duì)邊緣單元的全仿真只需要2 x (J+K) - 4,其是隨陣列維數(shù)增加的N階 計(jì)算負(fù)擔(dān)。因此,將期望提供一種用于陣列的i殳計(jì)檢驗(yàn)方法,其可以降低分析時(shí) 間,同時(shí)精確檢驗(yàn)整個(gè)陣列的讀取和寫入性能。發(fā)明內(nèi)容在第一方面中,本發(fā)明相應(yīng)地提供了 一種用于檢驗(yàn)陣列設(shè)計(jì)的性能的 方法,所述方法包括指定所述陣列設(shè)計(jì)的單元的晶體管級(jí)才莫型;禁用所 述陣列設(shè)計(jì)內(nèi)并沒(méi)有位于沿所述陣列設(shè)計(jì)的布局的任何邊界的非邊緣單元 的內(nèi)部仿真;仿真所述晶體管,型,其中所迷非邊緣單元被包括在所述 陣列設(shè)計(jì)內(nèi)的信號(hào)線的負(fù)載中;以及實(shí)現(xiàn)對(duì)位于所述陣列設(shè)計(jì)的邊界處的 邊緣單元的時(shí)序分析,以便通過(guò)確定讀取和寫入時(shí)序值中的至少 一個(gè)來(lái)檢驗(yàn)所述性能,其中所述非邊緣單元被包括在所述陣列設(shè)計(jì)內(nèi)的信號(hào)線的負(fù) 載中。優(yōu)選地,所述陣列設(shè)計(jì)是靜態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器(SRAM)陣列設(shè)計(jì), 并且所述時(shí)序分析確定讀取延遲和寫入周期時(shí)間中的至少一個(gè)。所述方法可以進(jìn)一步包括依照所述時(shí)序分析的結(jié)果,為所述陣列設(shè) 計(jì)的每個(gè)單元確定字線邊緣和位線邊緣的到達(dá)之間的差別;第 一確定所述 邊緣單元中所述差別的最大和最小差別;第二確定除了所述邊緣單元之外 的任何非邊緣單元是否具有比所述邊緣單元中的所述最大差別更大的差 別;第三確定任何所述非邊緣單元是否具有比所述邊緣單元中的所述最小 差別更小的差別;以及響應(yīng)于確定給定的其它單元具有比所述最大差別更 大的差別和比所述最小差別更小的差別中的一個(gè),啟用對(duì)所述給定的其它 單元的內(nèi)部仿真并且通過(guò)補(bǔ)充的晶體管級(jí)仿真來(lái)仿真所述給定單元。優(yōu)選地,所述陣列設(shè)計(jì)包括多個(gè)子陣列,由此,所述字線邊緣和所述 位線邊緣的最壞情況的到達(dá)并不發(fā)生在所述陣列設(shè)計(jì)的邊緣,而是義生在 所述子陣列的邊緣,并且其中,對(duì)所述多個(gè)子陣列中的每一個(gè)重復(fù)所述指 定、禁用、仿真和實(shí)現(xiàn)。優(yōu)選地,通過(guò)電路模型軟件包來(lái)實(shí)現(xiàn)所述仿真,所述電路模型軟件包 仿真所提供的模型中具有任何內(nèi)部信號(hào)變化的所有電路,并且其中所述禁 用包括利用指令來(lái)重寫在所述陣列設(shè)計(jì)的所述非邊緣單元處的字線輸入。優(yōu)選地,通過(guò)在邏輯上禁用所述非邊緣單元的所有單元通路晶體管的 指令來(lái)實(shí)現(xiàn)所述重寫。所述方法可以進(jìn)一步包括對(duì)于在所述陣列的特定列處所述陣列的每 行,確定字線到達(dá)延遲;確定從所述陣列內(nèi)每個(gè)單元到對(duì)應(yīng)的讀取電路的 位線延遲;對(duì)于每個(gè)所述單元,將所述字線延遲和位線延遲進(jìn)行求和;找 到所述求和的最大和最小結(jié)果;確定所述最大和最小延遲中的至少一個(gè)是 否對(duì)應(yīng)于所述陣列的單元的至少一個(gè)非邊緣行;以及響應(yīng)于確定所述求和 的所述最大和最小結(jié)果中的所述至少一個(gè)對(duì)應(yīng)于非邊緣4亍內(nèi)的特定單元, 啟用對(duì)所述單元的非邊緣行的內(nèi)部仿真并且通過(guò)補(bǔ)充的晶體管級(jí)仿真來(lái)仿真所述單元的非邊緣行。在第二方面中,提供了一種工作站計(jì)算機(jī)系統(tǒng),其包括存儲(chǔ)器以及處 理器,所述存儲(chǔ)器用于存儲(chǔ)用于檢驗(yàn)陣列設(shè)計(jì)的性能的程序指令,所述處 理器用于執(zhí)行所述程序指令,并且其中所述程序指令包括用于以下操作的程序指令指定所述陣列設(shè)計(jì)的單元的晶體管級(jí)模型;禁用所述陣列設(shè)計(jì)真;仿真所述晶體管級(jí)模型,其中所述非邊緣單元被包括在所述陣列設(shè)計(jì) 內(nèi)的信號(hào)線的負(fù)載中;以及實(shí)現(xiàn)對(duì)位于所述陣列設(shè)計(jì)的邊界處的邊緣單元 的時(shí)序分析,以便通過(guò)確定讀取和寫入時(shí)序值中的至少 一個(gè)來(lái)檢驗(yàn)所述性 能,其中所述非邊緣單元被包括在所述陣列設(shè)計(jì)內(nèi)的信號(hào)線的負(fù)載中。優(yōu)選地,所述陣列設(shè)計(jì)是靜態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器(SRAM)陣列設(shè)計(jì), 并且其中所述時(shí)序分析確定讀取延遲和寫入周期時(shí)間中的至少 一個(gè)。優(yōu)選地,所述程序指令進(jìn)一步包括用于以下操作的程序指令依照所 述時(shí)序分析的結(jié)果,為所述陣列設(shè)計(jì)的每個(gè)單元確定字線邊緣和位線邊緣 的到達(dá)之間的差別;第一確定所述邊緣單元中所述差別的最大和最小差別; 第二確定除了所述邊緣單元之外的任何非邊緣單元是否具有比所述邊緣單 元中的所述最大差別更大的差別;第三確定任何所述非邊緣單元是否具有 比所述邊緣單元中的所述最小差別更小的差別;以及響應(yīng)于確定給定的其 它單元具有比所述最大差別更大的差別和比所述最小差別更小的差別中的 一個(gè),啟用對(duì)所述給定的其它單元的內(nèi)部仿真并且對(duì)給定單元重復(fù)用于仿 真的所述程序指令。優(yōu)選地,所述陣列設(shè)計(jì)包括多個(gè)子陣列,由此,所述字線邊緣和所述 位線邊緣的最壞情況的到達(dá)并不發(fā)生在所述陣列設(shè)計(jì)的邊緣,而l良生在 所述子陣列的邊緣,并且其中所述程序指令進(jìn)一步包括用于以下操作的程 序指令對(duì)所述多個(gè)子陣列中的每一個(gè)重復(fù)用于指定、禁用、仿真和實(shí)現(xiàn) 的所述程序指令。優(yōu)選地,用于仿真的所述程序指令包括電路模型軟件包,其仿真所提 供的模型中具有任何內(nèi)部信號(hào)變化的所有電路,并且其中用于禁用的所述程序指令包括用于響應(yīng)于指令而重寫所述陣列設(shè)計(jì)的所述非邊緣單元處的 字線輸入的程序指令。優(yōu)選地,用于重寫的所述程序指令響應(yīng)于在邏輯上禁用所述非邊緣單 元的所有單元通路晶體管的指令。優(yōu)選地,所述程序指令進(jìn)一步包括用于以下操作的程序指令對(duì)于在 所述陣列的特定列處所述陣列的每行,確定字線到達(dá)延遲;確定從所述陣 列內(nèi)每個(gè)單元到對(duì)應(yīng)的讀取電路的位線延遲;對(duì)于每個(gè)所述單元,將所述 字線延遲和位線延遲進(jìn)行求和;找到所迷求和的最大和最小結(jié)果;確定所 述最大和最小延遲中的至少一個(gè)是否對(duì)應(yīng)于所述陣列的單元的至少一個(gè)非 邊緣行;以及響應(yīng)于確定所述求和的所述最大和最小結(jié)果中的所述至少一 個(gè)對(duì)應(yīng)于非邊緣4亍內(nèi)的特定單元,啟用對(duì)所述單元的非邊緣行的內(nèi)部仿真 并且通過(guò)補(bǔ)充的晶體管級(jí)仿真來(lái)仿真所述單元的非邊緣行。在第三方面中,提供了一種包括計(jì)算才A^呈序代碼的計(jì)算機(jī)程序,當(dāng)被 加載到計(jì)算機(jī)系統(tǒng)中并在其上執(zhí)行的時(shí)候,其使得所述計(jì)算機(jī)系統(tǒng)實(shí)現(xiàn)根 據(jù)所述第一方面的方法的所有步驟??梢栽谟?jì)算積4呈序產(chǎn)品中實(shí)現(xiàn)所述第三方面,所述計(jì)算機(jī)程序產(chǎn)品包 括用于在通用計(jì)算機(jī)系統(tǒng)上執(zhí)行的信號(hào)承載介質(zhì)編碼程序指令,其用于檢 驗(yàn)陣列設(shè)計(jì)的性能,其中所述程序指令包括用于以下操作的程序指令指 定所述陣列設(shè)計(jì)的單元的晶體管級(jí)模型;禁用所述陣列設(shè)計(jì)內(nèi)并沒(méi)有位于 沿所述陣列設(shè)計(jì)的布局的任何邊界的非邊緣單元的內(nèi)部仿真;仿真所述晶 體管,型,其中所述非邊緣單元被包括在所述陣列設(shè)計(jì)內(nèi)的信號(hào)線的負(fù) 載中;以及實(shí)現(xiàn)對(duì)位于所述陣列設(shè)計(jì)的邊界處的邊緣單元的時(shí)序分析,以 便通過(guò)確定讀取和寫入時(shí)序值中的至少 一個(gè)來(lái)檢驗(yàn)所述性能,其中所述非 邊緣單元被包括在所述陣列設(shè)計(jì)內(nèi)的信號(hào)線的負(fù)載中。優(yōu)選地,所述陣列設(shè)計(jì)是靜態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器(SRAM)陣列設(shè)計(jì), 并且其中所述時(shí)序分析確定讀取延遲和寫入周期時(shí)間中的至少 一個(gè)。優(yōu)選地,所述程序指令進(jìn)一步包括用于以下操作的程序指令依照所 述時(shí)序分析的結(jié)果,為所述陣列設(shè)計(jì)的每個(gè)單元確定字線邊緣和位線邊緣的到達(dá)之間的差別;第一確定所述邊緣單元中所述差別的最大和最小差別; 第二確定除了所述邊緣單元之外的任何非邊緣單元是否具有比所述邊緣單 元中的所述最大差別更大的差別;第三確定任何所述非邊緣單元是否具有 比所述邊緣單元中的所述最小差別更小的差別;以及響應(yīng)于確定給定的其 它單元具有比所述最大差別更大的差別和比所述最小差別更小的差別中的 一個(gè),啟用對(duì)所述給定的其它單元的內(nèi)部仿真并且對(duì)給定單元重復(fù)用于仿 真的所述程序指令。優(yōu)選地,所述陣列設(shè)計(jì)包括多個(gè)子陣列,由此,所述字線邊緣和所述 位線邊緣的最壞情況的到達(dá)并不發(fā)生在所述陣列設(shè)計(jì)的邊緣,而是發(fā)生在 所述子陣列的邊緣,并且其中所述程序指令進(jìn)一步包括用于以下操作的程 序指令對(duì)所述多個(gè)子陣列中的每一個(gè)重復(fù)用于指定、禁用、仿真和實(shí)現(xiàn) 的所述程序指令。優(yōu)選地,用于仿真的所述程序指令包括電路模型軟件包,其仿真所提供的模型中具有任何內(nèi)部信號(hào)變化的所有電路,并且其中用于禁用的所述 程序指令包括用于響應(yīng)于指令而重寫所述陣列設(shè)計(jì)的所述非邊緣單元處的字線輸入的程序指令。優(yōu)選地,所述程序指令進(jìn)一步包括用于以下梯:作的程序指令對(duì)于在 所述陣列的特定列處所述陣列的每行,確定字線到達(dá)延遲;確定從所述陣 列內(nèi)的每個(gè)單元到對(duì)應(yīng)的讀取電路的位線延遲;對(duì)于每個(gè)所述單元,將所 述字線延遲和位線延遲進(jìn)行求和;找到所述求和的最大和最小結(jié)果;確定 所述最大和最小延遲中的至少一個(gè)是否對(duì)應(yīng)于所述陣列的單元的至少一個(gè) 非邊緣行;以及響應(yīng)于確定所述求和的所述最大和最小結(jié)果中的所述至少 一個(gè)對(duì)應(yīng)于非邊緣行內(nèi)的特定單元,啟用對(duì)所述單元的非邊緣行的內(nèi)部仿 真并且通過(guò)補(bǔ)充的晶體管級(jí)仿真來(lái)仿真所述單元的非邊緣行。因而在計(jì)算機(jī)實(shí)現(xiàn)的檢驗(yàn)方法中給出了在減少的計(jì)算時(shí)間的情況下檢 驗(yàn)整個(gè)陣列的讀取和寫入性能的上述優(yōu)點(diǎn)。所述方法可以體現(xiàn)于執(zhí)行程序指令的計(jì)算機(jī)系統(tǒng)中,所述程序指令用 于執(zhí)行所述方法的步驟,并且所述方法可以進(jìn)一步體現(xiàn)于計(jì)算機(jī)程序產(chǎn)品中,所述計(jì)算機(jī)程序產(chǎn)品含有用于執(zhí)行所述方法的步驟的計(jì)算機(jī)可讀形式 的程序指令。所述方法使用晶體管級(jí)仿真僅對(duì)陣列(或者如果有的話,每個(gè)子陣列) 的邊緣單元進(jìn)行全仿真,其可以包括靜態(tài)時(shí)序分析檢查。所述陣列的中央 內(nèi)的單元^皮留在才莫型中,以便提供負(fù)載測(cè)量,但是,對(duì)單元內(nèi)的操作的計(jì) 算被禁用,以便呈現(xiàn)負(fù)載效應(yīng)。除了仿真邊緣單元(其通常顯現(xiàn)最壞情況的讀取時(shí)序和余量),還在 陣列(或者如果有的話,每個(gè)子陣列)的每個(gè)單元處檢測(cè)字線和位線邊緣 的到達(dá),并且為每個(gè)單元計(jì)算到達(dá)差別值。如果對(duì)于中央單元來(lái)說(shuō),有任 何到達(dá)差別大于邊緣單元中的最大到達(dá)差別或小于邊緣單元中的最小到達(dá) 差別,那么具有更大或更小到達(dá)差別的那些中央單元也被全仿真,以便找 到最壞情況的寫入時(shí)序和余量。如果字線絕對(duì)到達(dá)時(shí)間是非均勻的和/或下游讀取延遲值具有來(lái)自陣 列邊界的關(guān)鍵時(shí)序差別,那么 一個(gè)或多個(gè)附加行也可能需要被進(jìn)一步仿真, 以便確定最短或最長(zhǎng)的讀取延遲??梢栽谔囟?通常是邊緣列)處觀察 字線邊緣的到達(dá)時(shí)間,并且當(dāng)從所仿真的邊緣列之一進(jìn)行定時(shí)的時(shí)候,從 位線讀取傳播差別中確定讀取電路處的讀取延遲。為每個(gè)單元計(jì)算字線延 遲和讀取延遲的總和,并且將其與邊緣單元的最短和最長(zhǎng)讀取延遲進(jìn)行比 較。如果對(duì)于全仿真的行邊緣單元來(lái)說(shuō),任何所計(jì)算的讀取延遲大于最長(zhǎng) 或小于最短的讀取延遲,那么含有那些單元的行便,皮全仿真,以便找到最 壞情況的讀取時(shí)序和余量。根據(jù)以下對(duì)本發(fā)明的優(yōu)選實(shí)施例的更特別的描述,如附圖中所說(shuō)明的, 本發(fā)明的前述以及其它的目的、特征和優(yōu)點(diǎn)將顯而易見(jiàn)。
現(xiàn)在將參照附圖僅通過(guò)舉例的方式來(lái)描述本發(fā)明的優(yōu)選實(shí)施例,其中 圖l是工作站計(jì)算機(jī)系統(tǒng)的示意圖,其中實(shí)現(xiàn)了依照本發(fā)明的實(shí)施例的方法;圖2是依照本發(fā)明的實(shí)施例的陣列設(shè)計(jì)模型中的單元陣列的框圖; 圖3A和3B是可以在圖2的陣列設(shè)計(jì)內(nèi)部署的單元的示意圖;以及 圖4是依照本發(fā)明的實(shí)施例的方法的流程圖。
具體實(shí)施方式
本發(fā)明的優(yōu)選實(shí)施例涉及計(jì)算機(jī)實(shí)現(xiàn)的設(shè)計(jì)檢驗(yàn)方法和用于執(zhí)行該方 法的計(jì)算枳4呈序。所述程序可以是具有依照本發(fā)明的實(shí)施例的程序指令的 專用程序,或者諸如程序變化之一的現(xiàn)有設(shè)計(jì)工具,例如可以采用 "Simulation Program with Integrated Circuits Emphasis (在集成電路加 強(qiáng)情況下的仿真程序)"(SPICE -由加利福尼亞大學(xué)伯克利分校最初開(kāi) 發(fā))。特別的仿真程序必須4皮修改或者通過(guò)接受可以在邏輯上禁用單元內(nèi) 的器件的仿真輸入指令來(lái)包括下文詳細(xì)指向的具體操作。仿真結(jié)果然后可 以被用于向諸如EINSTIMER (國(guó)際商業(yè)機(jī)器公司的一種產(chǎn)品)的靜態(tài)時(shí) 序分析工具提供輸入。本發(fā)明的優(yōu)選實(shí)施例的方法顯著降低了用于實(shí)現(xiàn)對(duì)陣列讀取延遲和余 量以及在指定時(shí)序和余量上的寫入性能(即,陣列中的每個(gè)單元是否將被 保證接受狀態(tài)變化)進(jìn)行全電路級(jí)檢驗(yàn)的時(shí)間量。此外,可以通過(guò) Monte-Carlo定向仿真或其它4支術(shù)來(lái)包括制造變化(fabrication variation )。 檢驗(yàn)時(shí)間上的減少是通過(guò)對(duì)僅僅陣列的邊緣單元的"環(huán)形(donut)"(陣 列周圍一個(gè)單元縱深的單元環(huán))的晶體管級(jí)仿真來(lái)實(shí)現(xiàn)的,而不是對(duì)陣列 中的所有單元。通過(guò)將所仿真的陣列限定為在字線和位線信號(hào)的分布延遲 上具有單調(diào)趨勢(shì)的最小陣列單元,邊緣單元仿真被保證捕獲陣列內(nèi)位線(數(shù)據(jù))和字線(讀取和寫入選通)信號(hào)的最壞情況的絕對(duì)時(shí)序。因此,如果 諸如靜態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器(SRAM)的存儲(chǔ)器或其它設(shè)備包括子陣列,例 如,其中從陣列的中央驅(qū)動(dòng)字線,那么每個(gè)子陣列均被仿真以確保可預(yù)測(cè) 的絕對(duì)延遲行為。對(duì)僅僅邊緣單元的檢驗(yàn)將捕獲最壞情況的讀取條件以及陣列可寫能力 的最壞情況的條件。然而,在寫入時(shí),輸入和輸出每個(gè)單元的字線信號(hào)和位線數(shù)據(jù)信號(hào)的邊緣之間的相對(duì)時(shí)序差別的特性是以下情況的決定因素 即該單元是會(huì)在特定窗口內(nèi)呈現(xiàn)讀取數(shù)據(jù)還是會(huì)正確寫入。由于在陣列邊 界處字線邊緣和數(shù)據(jù)邊緣之間的延遲差別,最壞情況的寫入條件可能根本 不發(fā)生在邊緣單元處。此外,對(duì)于非均勻的讀取輸出電路路徑和非均勻的 字線延遲來(lái)說(shuō),陣列邊界處的字線邊緣之間的延遲差別和讀取輸出路徑非 均勻性可能導(dǎo)致最壞情況的讀取條件發(fā)生自并不沿陣列邊緣的單元。因此,對(duì)僅僅邊緣單元的全仿真不會(huì)總是顯現(xiàn)整個(gè)陣列是可寫入的還 是具有適當(dāng)?shù)淖x取延遲和余量。為了克服上述對(duì)于可寫能力的限制,本發(fā)明的優(yōu)選實(shí)施例的方法和計(jì) 算機(jī)程序僅對(duì)每個(gè)單元處的字線和位線信號(hào)的邊緣的相對(duì)時(shí)序進(jìn)行二旨 查,其確定環(huán)形中央內(nèi)的任何單元是否是可能造成陣列故障的"異點(diǎn) (outliers)"。然后,在補(bǔ)充仿真中對(duì)分別被確定在邊緣之間具有大于或 小于邊緣單元中的最大和最小差別的差別的任何單元進(jìn)行全仿真,其可以 是對(duì)邊緣單元和異點(diǎn)的集合的重新仿真,或者可以單獨(dú)仿真新發(fā)現(xiàn)的異點(diǎn)。為了克服上述對(duì)讀取延遲的限制,本發(fā)明的優(yōu)選實(shí)施例的方法和計(jì)算 才幾禾呈序僅在與相對(duì)的位線到讀取電路延遲(relative bitline-to-read circuit delay )(其通常可以根據(jù)陣列中被選為參考列的任何列來(lái)確定)求和的情 況下對(duì)陣列中特定列處的字線信號(hào)邊緣的相對(duì)時(shí)序進(jìn)行二級(jí)檢查。在陣列中的所有單元上找到具有字線邊緣到達(dá)延遲和位線到讀取電路延遲的總和 的最小和最大值的單元,并且如果那些單元并不位于陣列邊緣處的行中, 那么在補(bǔ)充仿真中仿真對(duì)應(yīng)的非邊緣行(或者將對(duì)應(yīng)的非邊緣行添加到對(duì) 于上述寫入資格而收集的補(bǔ)充單元),其可以是對(duì)邊緣單元和附加行以及 在二級(jí)寫入檢查中找到的異點(diǎn)的集合的重新仿真或附加的補(bǔ)充仿真?,F(xiàn)在參照?qǐng)D1,其中示出了具有耦合于存儲(chǔ)器17的處理器16的工作 站計(jì)算機(jī)18,其用于執(zhí)行來(lái)自存儲(chǔ)器17的程序指令,其中所述程序指令 包括用于執(zhí)行依照本發(fā)明的實(shí)施例的一種或多種方法的程序指令。 CD-ROM驅(qū)動(dòng)15也耦合于處理器16,用于從含有用于執(zhí)4亍依照本發(fā)明的 實(shí)施例的方法的程序指令的介質(zhì)(例如CD-ROM 30)傳送程序產(chǎn)品。工作站計(jì)算機(jī)18還耦合于圖形顯示器19,其用于顯示通過(guò)本發(fā)明的 實(shí)施例所計(jì)算的程序輸出,例如時(shí)序信息、余量和通ii/失敗值。工作站計(jì) 算機(jī)18進(jìn)一步耦合于諸如鼠標(biāo)14B和鍵盤14A的輸入設(shè)備,其用于接收 用戶輸入。工作站計(jì)算機(jī)可以耦合于諸如因特網(wǎng)的公共網(wǎng)絡(luò),或者可以是 諸如各種"內(nèi)聯(lián)網(wǎng)"的私有網(wǎng)絡(luò),并且含有體現(xiàn)了依照本發(fā)明的實(shí)施例的 方法的程序指令的軟件可以位于遠(yuǎn)程計(jì)算機(jī)上或本地位于工作站計(jì)算機(jī) 18內(nèi)?,F(xiàn)在參照?qǐng)D2,其中描繪了諸如示例性SRAM陣列的陣列設(shè)備。示出 了兩個(gè)相同的子陣列20A和20B,僅詳細(xì)介紹子陣列20A。然而,實(shí)際設(shè) 備可能包括超過(guò)兩個(gè)的子陣列。示例性陣列是中央驅(qū)動(dòng)陣列,具有將字線 選通驅(qū)動(dòng)到字線(例如,wll)上的各個(gè)行選擇電路24。為了說(shuō)明,從e00 到eNN枚舉了邊緣單元。關(guān)于字線信號(hào)邊緣,最長(zhǎng)的延遲將發(fā)生在單元之 一e[i]N,其中i的范圍從O到N,即子陣列20A的維數(shù)。在讀取操作中, 讀取電路26檢測(cè)位線(例如,位線blOc和blOt)的狀態(tài),并且讀取性能 是這樣確定的,即響應(yīng)于斷言對(duì)應(yīng)的字線(例如,wll),從e00到eNN 的任何單元可以如何快地通過(guò)讀取電路26產(chǎn)生正確數(shù)據(jù)。通常,給定均勻的輸出讀取電路以及通往接受讀取電路的輸出的任何 時(shí)4中限制點(diǎn)(clock-qualified point)的均衡路徑Uqualized path ),最壞 情況的讀取延遲值將出現(xiàn)在與最早和最晚字線邊緣到W目對(duì)應(yīng)的行中的陣 列邊緣。然而,如果輸出讀取電路路徑對(duì)關(guān)鍵時(shí)序點(diǎn)是非均勻的,那么最 壞情況的讀取延遲值可能發(fā)生在那些行中的任何地方,其可以是或可以不 是邊緣行。同時(shí),最壞情況的延遲指示讀取周期開(kāi)始和結(jié)束之間的時(shí)序。對(duì)于寫入來(lái)i兌,位線數(shù)據(jù)值通過(guò)數(shù)據(jù)驅(qū)動(dòng)器22被施加到位線上,例如 位線bl0c和bl0t,并且位線信號(hào)邊緣的最長(zhǎng)延遲將發(fā)生在行N。因而, 關(guān)于位線和字線信號(hào)這二者的最長(zhǎng)絕對(duì)延遲將發(fā)生在單元eNN,并且最短 絕對(duì)延遲將發(fā)生在單元e00。然而,由于正是位線和字線邊緣的到達(dá)之間 的差別確定了每個(gè)單元的可寫能力和時(shí)序余量,因此陣列本身內(nèi)最壞情況 的差別時(shí)序值將通常發(fā)生在角單元eN0和e0N附近,但不一定在那些角,因?yàn)樾羞x擇24、數(shù)據(jù)驅(qū)動(dòng)器22以及所有的信號(hào)路徑在位線和字線之間的 差別延遲中都起作用。陣列的所有邊緣單元都必須被仿真,以便獲得對(duì)于陣列來(lái)說(shuō)最壞情況 的絕對(duì)時(shí)序,并且最壞情況的差別時(shí)序(以及由此的可寫能力)僅可以通 過(guò)考慮陣列的所有單元(包括虛線內(nèi)的非邊緣單元)來(lái)確定。此外,讀取 延遲僅可以通過(guò)考慮具有最早和最晚字線到達(dá)的行來(lái)確定,除非非均勻的 時(shí)序可以被假設(shè)用于通往任何關(guān)鍵點(diǎn)的位線的下游。此外,必須考慮每個(gè)單元的分布式負(fù)載效應(yīng),以便精確預(yù)測(cè)在每個(gè)單 元處的字線和位線邊緣的時(shí)序。因此,為了精確的時(shí)序結(jié)果,在仿真分析 中必須至少包括含有所有單元的精確負(fù)載效應(yīng)。如上所述,用于負(fù)載的集 總參數(shù)模型并不提供足夠精確的結(jié)果。本發(fā)明的方法確保通過(guò)將陣列中的所有單元留在仿真模型中來(lái)捕獲精 確的時(shí)序,但是在用于非邊緣單元的仿真模型中卻通過(guò)指令來(lái)禁用非邊緣 單元中的內(nèi)部信號(hào)路徑。被禁用的信號(hào)路徑是到達(dá)或來(lái)自禁用單元的所有 輸入和輸出路徑。然后僅利用明顯加重計(jì)算負(fù)擔(dān)的邊緣單元來(lái)實(shí)現(xiàn)晶體管 級(jí)仿真,因?yàn)榻脙?nèi)部信號(hào)路徑使得將不仿真單元的內(nèi)部行為,并且僅留 下來(lái)自禁用單元的位線和字線上的分布式負(fù)載效應(yīng)。在仿真之后,對(duì)于整個(gè)陣列觀察位線和字線邊緣的差別到達(dá),以便確寫能力。如果找到需要仿真的任何非邊緣單元,那么通過(guò)晶體管級(jí)仿真以 及#見(jiàn)情況的時(shí)序分析檢查來(lái)仿真那些單元。此外,在參考列處檢查最壞情 況的字線到達(dá),并且也通過(guò)晶體管級(jí)仿真以及視情況的時(shí)序分析檢查來(lái)仿 真與最壞情況的字線到i^目對(duì)應(yīng)的任何非邊緣行。還是在仿真之后,對(duì)于陣列中的每個(gè)單元,將經(jīng)定時(shí)的字線到達(dá)與從 一個(gè)或兩個(gè)邊緣列所確定的漸進(jìn)的位線延遲進(jìn)行求和,以便確定對(duì)經(jīng)由讀 取電路的字線選擇來(lái)說(shuō)最大或最小的總讀取延遲是否處在非邊緣單元的集 合內(nèi)。如果是的話,也通過(guò)晶體管級(jí)仿真以及視情況的時(shí)序分析檢查來(lái)仿 真那些單元?,F(xiàn)在參照?qǐng)D3A,其中示出了從由晶體管PIO、 N10和P11、 Nll所形 成的兩個(gè)背對(duì)背的反相器構(gòu)成的簡(jiǎn)單6T單元。當(dāng)斷言字線wl的時(shí)候,通 路晶體管N12和N13分別將位線BLC和BLT耦合于反相器,從而使得由 反相器形成的鎖存器的值可以被設(shè)置在對(duì)單元的寫入上。為了禁用對(duì)圖3A 的單元的仿真,為每個(gè)通路晶體管N12和N13的柵極設(shè)置"忽略器件 (Ignore Device)"指令。"忽略器件"指令使得仿真器對(duì)器件的處理就 好像其在邏輯上^L斷開(kāi)一樣(例如,對(duì)于NFET就好^*極設(shè)置接地)。 然而,該器件保持在關(guān)于負(fù)載特征的電路模型中。由于當(dāng)禁用圖3A的晶體管N12和N13的時(shí)候,沒(méi)有路徑輸入或輸出 單元,因此在晶體管級(jí)陣列建模仿真內(nèi)并不實(shí)現(xiàn)對(duì)圖3A的單元的內(nèi)件的 內(nèi)部仿真,但單元的AC負(fù)載效應(yīng)仍被包括,其影響位線BLT、 BLC和字 線wl上的信號(hào)。現(xiàn)在參照?qǐng)D3B,其中描繪了具有兩個(gè)數(shù)據(jù)端口的較為復(fù)雜的可掃描存 儲(chǔ)單元。包括并以相同的方式禁用上述6T單元的元件。另外,通路晶體 管N12A和N13A提供第二寫入端口并且也通過(guò)"忽略器件"指令而被禁 用。此外,通過(guò)N15A、 N15B、 N16A、 N16B提供雙重讀取端口 ,并且通 過(guò)"忽略器件"指令在邏輯上對(duì)其加以禁用。通過(guò)掃描電路僅是提供了剩余的信號(hào)路徑,其可以影響圖3B的單元 的內(nèi)部狀態(tài)或可以在來(lái)自單元的輸出處引起效應(yīng)。當(dāng)斷言掃描時(shí)鐘cka的 時(shí)候,晶體管N14A和N14B提供掃描輸入值sic和sit。通過(guò)晶體管N14A 和N14B的路徑被"忽略器件"指令在邏輯上禁用。當(dāng)掃描時(shí)鐘ckb激活晶體管N17A和N17B的時(shí)候,反相器11-14以及 掃描鎖存器L1改變掃描輸出信號(hào)soc、 sot。通過(guò)"忽略器件"指令禁用晶 體管N17A和N17B防止了掃描鎖存器和輸出電路內(nèi)任何地方的變化,從 而防止對(duì)那些電路的仿真。僅針對(duì)只仿真邊緣單元的第 一靜態(tài)時(shí)序分析通路中的非邊緣單元設(shè)置 上述"忽略器件,,指令。在定位陣列中央內(nèi)的任何異點(diǎn)之后,除了這些異 點(diǎn)之外可以以相同的方式禁用整個(gè)陣列,且通過(guò)在那些單元才莫型內(nèi)移除"忽略器件"指令來(lái)對(duì)非邊緣異點(diǎn)單元進(jìn)行全仿真?,F(xiàn)在參照?qǐng)D4,在流程圖中說(shuō)明了依照本發(fā)明的實(shí)施例的方法。首先, 在所有非邊緣單元禁用通路器件(以及其它輸入路徑)的情況下,對(duì)所有 邊緣單元實(shí)現(xiàn)晶體管級(jí)仿真(步驟50)。從邊緣列數(shù)據(jù)找到字線邊緣到達(dá) 延遲和位線到讀取電路延遲的總和(步驟51)。如果牽涉到任何非邊緣行 (判定52),那么對(duì)于進(jìn)一步的晶體管級(jí)仿真啟用那些行(步驟53)。接 下來(lái),為陣列的每個(gè)單元確定字線和位線邊緣在到達(dá)上的差別(步驟54), 并且確定邊緣單元的最大和最小差別以便找到差別范圍(步驟55)。如果 任何"異點(diǎn)"非邊緣單元的差別超過(guò)該范圍(判定56),那么對(duì)于進(jìn)一步 的晶體管級(jí)仿真啟用那些行(步驟57)。最后,對(duì)于附加單元,在其輸入 路徑;故啟用,而其它非邊緣單元(以及視情況先前所仿真的邊緣單元)使 輸入路徑凈皮禁用的情況下,實(shí)現(xiàn)晶體管級(jí)仿真(步驟59)。最后,根據(jù)邊 緣單元時(shí)序和任何附加單元/行的時(shí)序來(lái)檢驗(yàn)讀取和寫入性能(步驟58)。 雖然已經(jīng)參照本發(fā)明的優(yōu)選實(shí)施例特別示出并描述了本發(fā)明,但是本 領(lǐng)域的技術(shù)人員將理解可以在形式和細(xì)節(jié)上對(duì)其進(jìn)行前述以及4艮多其它的 改變。
權(quán)利要求
1.一種用于檢驗(yàn)陣列設(shè)計(jì)的性能的方法,所述方法包括指定所述陣列設(shè)計(jì)的單元的晶體管級(jí)模型;禁用所述陣列設(shè)計(jì)內(nèi)并沒(méi)有位于沿所述陣列設(shè)計(jì)的布局的任何邊界的非邊緣單元的內(nèi)部仿真;仿真所述晶體管級(jí)模型,其中所述非邊緣單元被包括在所述陣列設(shè)計(jì)內(nèi)的信號(hào)線的負(fù)載中;以及實(shí)現(xiàn)對(duì)位于所述陣列設(shè)計(jì)的邊界處的邊緣單元的時(shí)序分析,以便通過(guò)確定讀取和寫入時(shí)序值中的至少一個(gè)來(lái)檢驗(yàn)所述性能,其中所述非邊緣單元被包括在所述陣列設(shè)計(jì)內(nèi)的信號(hào)線的負(fù)載中。
2. 根據(jù)權(quán)利要求l的方法,其中所述陣列設(shè)計(jì)是靜態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器(SRAM)陣列i殳計(jì),并且其中所述時(shí)序分析確定讀取延遲和寫入周期時(shí)間中的至少一個(gè)。
3. 根據(jù)權(quán)利要求1或2的方法,其進(jìn)一步包括依照所述時(shí)序分析的結(jié)果,為所述陣列設(shè)計(jì)的每個(gè)單元確定字線邊緣 和位線邊緣的到達(dá)之間的差別;第一確定所述邊緣單元中所述差別的最大和最小差別;第二確定除了所述邊緣單元之外的任何非邊緣單元是否具有比所述邊 緣單元中的所述最大差別更大的差別;第三確定任何所述非邊緣單元是否具有比所述邊緣單元中的所述最小 差別更小的差別;以及響應(yīng)于確定給定的其它單元具有比所述最大差別更大的差別和比所述 最小差別更小的差別中的一個(gè),啟用對(duì)所述給定的其它單元的內(nèi)部仿真并 且通過(guò)補(bǔ)充的晶體管級(jí)仿真來(lái)仿真所述給定單元。
4. 根據(jù)權(quán)利要求l至3中任何一項(xiàng)的方法,其中所述陣列設(shè)計(jì)包括多 個(gè)子陣列,由此,所述字線邊緣和所述位線邊緣的最壞情況的到達(dá)并不發(fā) 生在所述陣列i殳計(jì)的邊緣,而^JL生在所述子陣列的邊緣,并且其中對(duì)所述多個(gè)子陣列中的每一個(gè)重復(fù)所述指定、禁用、仿真和實(shí)現(xiàn)。
5. 根據(jù)權(quán)利要求1至4中任何一項(xiàng)的方法,其中通過(guò)電路模型軟件包 來(lái)實(shí)現(xiàn)所述仿真,所述電路模型軟件包仿真所提供的模型中具有任何內(nèi)部 信號(hào)變化的所有電路,并且其中所述禁用包括利用指令來(lái)重寫所述陣列i殳 計(jì)的所述非邊緣單元處的字線輸入。
6. 根據(jù)權(quán)利要求5的方法,其中通過(guò)在邏輯上禁用所述非邊緣單元的 所有單元通路晶體管的指令來(lái)實(shí)現(xiàn)所述重寫。
7. 根據(jù)權(quán)利要求1的方法,其進(jìn)一步包括 對(duì)于在所述陣列的特定列處所述陣列的每行,確定字線到達(dá)延遲; 確定從所述陣列內(nèi)每個(gè)單元到對(duì)應(yīng)的讀取電路的位線延遲; 對(duì)于每個(gè)所述單元,將所述字線延遲和位線延遲進(jìn)行求和; 找到所述求和的最大和最小結(jié)果;確定所述最大和最小延遲中的至少一個(gè)是否對(duì)應(yīng)于所述陣列的單元的 至少一個(gè)非邊緣行;以及響應(yīng)于確定所述求和的所述最大和最小結(jié)果中的所述至少一個(gè)對(duì)應(yīng)于 非邊緣行內(nèi)的特定單元,啟用對(duì)所述單元的非邊緣行的內(nèi)部仿真并且通過(guò) 補(bǔ)充的晶體管級(jí)仿真來(lái)仿真所述單元的非邊緣行。
8. —種工作站計(jì)算機(jī)系統(tǒng),其包括存儲(chǔ)器和處理器,所述存儲(chǔ)器用于 存儲(chǔ)用于檢驗(yàn)陣列設(shè)計(jì)的性能的程序指令,并且所述處理器用于執(zhí)行所述 程序指令,并且其中所述程序指令包括用于以下操作的程序指令指定所述陣列設(shè)計(jì)的單元的晶體管,型;禁用所述陣列設(shè)計(jì)內(nèi)并沒(méi)有位于沿所述陣列設(shè)計(jì)的布局的任何邊界的 非邊緣單元的內(nèi)部仿真;仿真所述晶體管級(jí)才莫型,其中所述非邊緣單元凈皮包括在所述陣列設(shè)計(jì) 內(nèi)的信號(hào)線的負(fù)載中;以及實(shí)現(xiàn)對(duì)位于所述陣列設(shè)計(jì)的邊界處的邊緣單元的時(shí)序分析,以^更通過(guò) 確定讀取和寫入時(shí)序值中的至少一個(gè)來(lái)檢驗(yàn)所述性能,其中所述非邊緣單 元^L包括在所述陣列^:計(jì)內(nèi)的信號(hào)線的負(fù)載中。
9. 根據(jù)權(quán)利要求8的工作站計(jì)算機(jī)系統(tǒng),其中所述陣列設(shè)計(jì)是靜態(tài)隨 機(jī)訪問(wèn)存儲(chǔ)器(SRAM)陣列設(shè)計(jì),并且其中所述時(shí)序分析確定讀取延遲 和寫入周期時(shí)間中的至少一個(gè)。
10. —種包括計(jì)算機(jī)程序代碼的計(jì)算機(jī)程序,當(dāng)被加載到計(jì)算機(jī)系統(tǒng) 并在其上執(zhí)行的時(shí)候,其使得所述計(jì)算機(jī)系統(tǒng)實(shí)現(xiàn)根據(jù)權(quán)利要求1至7中 任何一 項(xiàng)的方法的所有步驟。
全文摘要
一種用于通過(guò)仿真全陣列模型中的邊緣單元的操作來(lái)檢驗(yàn)陣列性能的方法和系統(tǒng),其減少了用于完整的設(shè)計(jì)檢驗(yàn)所需的計(jì)算時(shí)間。所述陣列(或者如果陣列被分割的話,每個(gè)子陣列)的邊緣單元受到時(shí)序仿真,而所述陣列的中央單元在邏輯上被禁用,但卻保留在電路模型中,提供合適的負(fù)載。如果計(jì)算指示了由非邊緣單元所導(dǎo)致的最壞情況的條件,則指定附加單元來(lái)仿真。觀察字線到達(dá)以便確定最壞情況的行來(lái)進(jìn)行選擇。對(duì)于寫入操作,字線邊緣和數(shù)據(jù)邊緣之間的差別被用于定位任何的非邊緣“異點(diǎn)”單元。對(duì)于讀取操作,將字線延遲與從邊緣列數(shù)據(jù)確定的位線延遲進(jìn)行求和,以便定位任何的異點(diǎn)。
文檔編號(hào)G06F17/50GK101405737SQ200780009878
公開(kāi)日2009年4月8日 申請(qǐng)日期2007年3月27日 優(yōu)先權(quán)日2006年4月11日
發(fā)明者M·J·H·李, P·G·謝潑德三世, V·阿加瓦爾 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司