本發(fā)明涉及版圖設(shè)計(jì)技術(shù)領(lǐng)域,尤其涉及一種時(shí)序約束檢查方法。
背景技術(shù):
現(xiàn)有的集成電路布圖設(shè)計(jì)技術(shù)領(lǐng)域中,對(duì)于布圖設(shè)計(jì)的時(shí)序約束檢查通常需要在布線布局之后才能被執(zhí)行。換言之,現(xiàn)有技術(shù)中,對(duì)于布圖設(shè)計(jì)的時(shí)序約束檢查的執(zhí)行時(shí)間較晚,更靠近于最終的流片過(guò)程。則在時(shí)序約束檢查中若出現(xiàn)問(wèn)題,則由于更靠近芯片流片過(guò)程,因此會(huì)產(chǎn)生巨大的影響,一般會(huì)導(dǎo)致芯片流片延期,并且為此付出較多額外的人力成本。
技術(shù)實(shí)現(xiàn)要素:
根據(jù)現(xiàn)有技術(shù)中存在的問(wèn)題,現(xiàn)提供一種時(shí)序約束檢查方法的技術(shù)方案,旨在將時(shí)序約束檢查過(guò)程提前至與布線布局過(guò)程同時(shí)進(jìn)行,解決時(shí)序約束問(wèn)題發(fā)現(xiàn)較晚導(dǎo)致的錯(cuò)誤影響較大,需要付出額外的人力成本等問(wèn)題。
上述技術(shù)方案具體包括:
一種時(shí)序約束檢查方法,適用于集成電路芯片的布圖設(shè)計(jì)過(guò)程;其中,具體包括:
步驟A1,根據(jù)關(guān)聯(lián)于所述布圖設(shè)計(jì)的硬件代碼處理得到相應(yīng)的網(wǎng)絡(luò)表;
步驟A2,根據(jù)所述網(wǎng)絡(luò)表模擬生成相應(yīng)的標(biāo)準(zhǔn)延時(shí)數(shù)據(jù);
步驟A3,根據(jù)所述標(biāo)準(zhǔn)延時(shí)數(shù)據(jù)對(duì)所述布圖設(shè)計(jì)做后仿真操作,以與用于表征所述布圖設(shè)計(jì)的設(shè)計(jì)約束的時(shí)序約束文件進(jìn)行匹配,并輸出匹配結(jié)果;
步驟A4,根據(jù)所述匹配結(jié)果調(diào)整所述時(shí)序約束文件,直至所述匹配結(jié)果表示后仿真合格,隨后轉(zhuǎn)至步驟A5;
步驟A5,對(duì)所述布圖設(shè)計(jì)進(jìn)行相應(yīng)的時(shí)序檢查,隨后退出。
優(yōu)選的,該時(shí)序約束檢查方法,其中,執(zhí)行所述步驟A1之后,于執(zhí)行所述步驟A2-A4的同時(shí)并行執(zhí)行下述步驟:
步驟B1,根據(jù)所述網(wǎng)絡(luò)表處理得到相應(yīng)的布局布線版圖;
步驟B2,對(duì)所述布局布線版圖進(jìn)行靜態(tài)時(shí)序分析,并在所述靜態(tài)時(shí)序分析合格后轉(zhuǎn)至所述步驟A5。
優(yōu)選的,該時(shí)序約束檢查方法,其中,所述步驟A2具體包括:
步驟A21,根據(jù)所述網(wǎng)絡(luò)表進(jìn)行時(shí)序狀況分析,以得到對(duì)應(yīng)每條時(shí)序路徑的余量數(shù)據(jù);
步驟A22,根據(jù)預(yù)設(shè)的第一規(guī)則判斷所述余量數(shù)據(jù)是否合格:
若所述余量數(shù)據(jù)合格,則根據(jù)關(guān)聯(lián)于合格的所述余量數(shù)據(jù)的所述時(shí)序路徑,生成相應(yīng)的所述標(biāo)準(zhǔn)延時(shí)數(shù)據(jù),隨后轉(zhuǎn)向所述步驟A3;
步驟A23,重新調(diào)整對(duì)應(yīng)的所述時(shí)序路徑的所述余量數(shù)據(jù),并返回所述步驟A22。
優(yōu)選的,該時(shí)序約束檢查方法,其中,所述步驟A21中,采用一靜態(tài)時(shí)序分析單元對(duì)所述網(wǎng)絡(luò)表進(jìn)行所述時(shí)序狀況分析,以得到所述余量數(shù)據(jù)。
優(yōu)選的,該時(shí)序約束檢查方法,其中,所述步驟A21中,判斷對(duì)應(yīng)一條所述時(shí)序路徑,是否能夠獲得相應(yīng)的所述余量數(shù)據(jù),并在能夠獲得所述余量數(shù)據(jù)時(shí)轉(zhuǎn)向所述步驟A22;
所述余量數(shù)據(jù)包括建立余量數(shù)據(jù)和保持余量數(shù)據(jù);
則所述步驟A22中,根據(jù)所述預(yù)設(shè)的第一規(guī)則判斷所述余量數(shù)據(jù)是否合格的步驟具體包括:
步驟A221,判斷對(duì)應(yīng)所述時(shí)序路徑的所述余量數(shù)據(jù)是否為正:
若所述余量數(shù)據(jù)不為正,則判斷所述余量數(shù)據(jù)不合格,隨后轉(zhuǎn)向所述步驟A23;
步驟A222,判斷對(duì)應(yīng)所述時(shí)序路徑的所述建立余量數(shù)據(jù)和所述保持余量數(shù)據(jù)是否均滿足下述的判斷條件:
S1=min(Period1,Period2);
S2=min(Period1,Period2);
其中,
Period1表示所述時(shí)序路徑的起始點(diǎn)發(fā)起時(shí)鐘的時(shí)鐘周期;
Period2表示所述時(shí)序路徑的結(jié)束點(diǎn)采樣時(shí)鐘的時(shí)鐘周期;
若所述建立余量數(shù)據(jù)小于S1并且大于0,則表示所述建立余量數(shù)據(jù)滿足 所述判斷條件;
若所述保持余量數(shù)據(jù)小于S2并且大于0,則表示所述保持余量數(shù)據(jù)滿足所述判斷條件;
若所述建立余量數(shù)據(jù)和/或所述保持余量數(shù)據(jù)不滿足所述判斷條件,則轉(zhuǎn)至步驟A224;
步驟A223,判斷余量數(shù)據(jù)合格,并根據(jù)所述余量數(shù)據(jù)生成相應(yīng)的所述標(biāo)準(zhǔn)延時(shí)數(shù)據(jù);
步驟A224,分別生成關(guān)聯(lián)于符合所述判斷條件的所述建立余量數(shù)據(jù)的第一標(biāo)準(zhǔn)延時(shí)數(shù)據(jù),以及關(guān)聯(lián)于符合所述判斷條件的所述保持余量數(shù)據(jù)的第二標(biāo)準(zhǔn)延時(shí)數(shù)據(jù),隨后根據(jù)所述第一標(biāo)準(zhǔn)延時(shí)數(shù)據(jù)和所述第二標(biāo)準(zhǔn)延時(shí)數(shù)據(jù)合成相應(yīng)的所述標(biāo)準(zhǔn)延時(shí)數(shù)據(jù)。
優(yōu)選的,該時(shí)序約束檢查方法,其中,所述步驟A23中:
在不合格的所述余量數(shù)據(jù)所對(duì)應(yīng)的所述時(shí)序路徑中加入相應(yīng)的緩沖延遲,和/或
調(diào)整不合格的所述余量數(shù)據(jù)所對(duì)應(yīng)的所述時(shí)序路徑的延時(shí),
從而完成對(duì)所述時(shí)序路徑的所對(duì)應(yīng)的所述余量數(shù)據(jù)的重新調(diào)整。
優(yōu)選的,該時(shí)序約束檢查方法,其中,所述步驟A21中,若所述時(shí)序路徑中無(wú)法獲取相應(yīng)的所述余量數(shù)據(jù),則執(zhí)行下述步驟
步驟A211,獲取所述時(shí)序路徑對(duì)應(yīng)的數(shù)據(jù)傳輸路徑;
步驟A212,根據(jù)預(yù)設(shè)的第二規(guī)則,判斷所述數(shù)據(jù)傳輸路徑的延時(shí)是否合格:
所述預(yù)設(shè)的第二規(guī)則為:
其中,
D1表示所述數(shù)據(jù)傳輸路徑的路徑長(zhǎng)度;
D2表示根據(jù)所述數(shù)據(jù)傳輸路徑修正斜率后的路徑長(zhǎng)度;
Latency1表示所述時(shí)序路徑的終止點(diǎn)上的時(shí)序電路的時(shí)鐘長(zhǎng)度;
Latency2表示所述時(shí)序路徑的起始點(diǎn)上的時(shí)序電路的時(shí)鐘長(zhǎng)度;
Period3表示所述時(shí)序路徑的終止點(diǎn)上的時(shí)序電路的時(shí)鐘周期;
若所述數(shù)據(jù)傳輸路徑的延時(shí)大于D,則表示所述數(shù)據(jù)傳輸路徑的延時(shí)符合所述預(yù)設(shè)的第二規(guī)則,對(duì)應(yīng)的所述時(shí)序路徑合格,并根據(jù)合格的所述時(shí)序路徑生成相應(yīng)的所述標(biāo)準(zhǔn)延時(shí)數(shù)據(jù),隨后轉(zhuǎn)向所述步驟A3。
上述技術(shù)方案的有益效果是:提供一種時(shí)序約束檢查方法,能夠?qū)r(shí)序約束檢查過(guò)程提前至與布線布局過(guò)程同時(shí)進(jìn)行,解決時(shí)序約束問(wèn)題發(fā)現(xiàn)較晚導(dǎo)致的錯(cuò)誤影響較大,需要付出額外的人力成本等問(wèn)題。
附圖說(shuō)明
圖1是現(xiàn)有技術(shù)中,對(duì)時(shí)序約束進(jìn)行檢查的流程示意圖;
圖2是本發(fā)明的較佳的實(shí)施例中,一種時(shí)序約束檢查方法的總體流程示意圖;
圖3-5是本發(fā)明的較佳的實(shí)施例中,于圖2的基礎(chǔ)上,一種時(shí)序約束檢查方法的分步驟流程示意圖;
圖6是本發(fā)明的較佳的實(shí)施例中,于時(shí)序約束檢查過(guò)程的同時(shí)進(jìn)行布線布局過(guò)程的流程示意圖;
圖7是本發(fā)明的較佳的實(shí)施例中,結(jié)合圖2與圖5形成的布圖設(shè)計(jì)時(shí)序檢查的總體流程圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
需要說(shuō)明的是,在不沖突的情況下,本發(fā)明中的實(shí)施例及實(shí)施例中的特征可以相互組合。
下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明,但不作為本發(fā)明的限定。
現(xiàn)有的集成電路布圖設(shè)計(jì)的時(shí)序檢查過(guò)程如圖1所示,可以包括:
步驟S1,根據(jù)RTL文件生成相應(yīng)的網(wǎng)絡(luò)表(Netlist);
該步驟中,RTL文件為布圖設(shè)計(jì)的文件格式。網(wǎng)絡(luò)表(Netlist)是一種生成集成電路的條件檢測(cè)表格,其中包括集成電路中各元件的封裝、名字、大小等基本屬性,是對(duì)各元件之間電氣連接的定義。
步驟S2,根據(jù)網(wǎng)絡(luò)表執(zhí)行布局布線處理(Place&Route,P&R);
該步驟中,所謂布局布線處理(P&R),是指將前面的文件(包括Netlist)放入指定的目標(biāo)器件中,并做適當(dāng)?shù)牟季€以盡量滿足設(shè)計(jì)者的要求。
步驟S3,根據(jù)布局布線處理后生成的標(biāo)準(zhǔn)時(shí)序(Standard Delay Format,SDF)文件,進(jìn)行時(shí)序約束檢查;
該步驟中,由于時(shí)序約束檢查需要用到的SDF文件必須在P&R處理之后才能得到,因此步驟S3具體在步驟S2完成之后才能進(jìn)行。
步驟S4,根據(jù)通過(guò)時(shí)序約束檢查的SDF文件進(jìn)行后仿真(Post Simulation)處理,隨后轉(zhuǎn)向步驟S6;
步驟S5,在上述步驟S2完成之后,對(duì)布局布線處理后產(chǎn)生的SDF文件進(jìn)行靜態(tài)時(shí)序分析(Static Timing Analysis,STA),隨后轉(zhuǎn)向步驟S6;
即該步驟與上述步驟S3-S4同時(shí)進(jìn)行。
步驟S6,進(jìn)行時(shí)序檢查(Timing Signoff),隨后根據(jù)檢查結(jié)果進(jìn)行最終的流片(Tapout)處理。
現(xiàn)有的上述步驟中,由于時(shí)序約束檢查需要的SDF文件必須在P&R處理之后才能得到。換言之,時(shí)序約束檢查只能在P&R之后進(jìn)行,而P&R之后就離流片很近了,在這個(gè)時(shí)間點(diǎn)再進(jìn)行時(shí)序約束檢查并發(fā)現(xiàn)問(wèn)題的話,對(duì)于整個(gè)布圖設(shè)計(jì)的影響是非常巨大的,即問(wèn)題發(fā)現(xiàn)越晚影響越大,若在這個(gè)時(shí)間點(diǎn)發(fā)現(xiàn)問(wèn)題,極有可能導(dǎo)致流片處理延期,并且會(huì)耗費(fèi)相當(dāng)大的人力成本。
則本發(fā)明的較佳的實(shí)施例中,基于現(xiàn)有技術(shù)中存在的上述問(wèn)題,現(xiàn)提供一種時(shí)序約束檢查方法,其適用于集成電路芯片的布圖設(shè)計(jì)過(guò)程。
具體地,本發(fā)明的較佳的實(shí)施例中,如圖2所示,上述時(shí)序約束檢查方法具體包括:
步驟A1,根據(jù)關(guān)聯(lián)于布圖設(shè)計(jì)的硬件代碼處理得到相應(yīng)的網(wǎng)絡(luò)表;
本發(fā)明的較佳的實(shí)施例中,所謂處理,可以采用現(xiàn)有技術(shù)中的綜合處理方法,從RTL文件中經(jīng)過(guò)處理得到關(guān)聯(lián)于該布圖設(shè)計(jì)的網(wǎng)絡(luò)表(Netlist)。 步驟A1在現(xiàn)有技術(shù)中存在各種用于通過(guò)綜合處理得到網(wǎng)絡(luò)表的方式,在此不再贅述。
步驟A2,根據(jù)網(wǎng)絡(luò)表模擬生成相應(yīng)的標(biāo)準(zhǔn)延時(shí)數(shù)據(jù);
本發(fā)明的較佳的實(shí)施例中,于現(xiàn)有技術(shù)中不同的地方在于,上述步驟A2中,直接通過(guò)網(wǎng)絡(luò)表模擬得到相應(yīng)的標(biāo)準(zhǔn)延時(shí)數(shù)據(jù),即通過(guò)Netlist模擬得到SDF文件,而不是如現(xiàn)有技術(shù)中所做的通過(guò)P&R處理之后才能得到時(shí)序約束檢查所需的SDF文件。
本發(fā)明的較佳的實(shí)施例中,同時(shí)根據(jù)網(wǎng)絡(luò)表和表征時(shí)序信息(Synopsys Design Constraints,SDC)的文件模擬生成相應(yīng)的SDF文件。
則本發(fā)明的較佳的實(shí)施例中,如圖3所示,上述步驟A2具體包括:
步驟A21,根據(jù)網(wǎng)絡(luò)表進(jìn)行時(shí)序狀況分析,以得到對(duì)應(yīng)每條時(shí)序路徑的余量數(shù)據(jù);
本發(fā)明的較佳的實(shí)施例中,上述步驟S21中,采用一靜態(tài)時(shí)序分析單元對(duì)網(wǎng)絡(luò)表進(jìn)行時(shí)序狀況分析,以得到余量數(shù)據(jù)。換言之,本發(fā)明的較佳的實(shí)施例中,上述步驟S21中,將上述網(wǎng)絡(luò)表放入一STA工具中,并采用該STA工具進(jìn)行時(shí)序狀況分析,并得到對(duì)應(yīng)于每條時(shí)序路徑的余量數(shù)據(jù)(Slack)。
具體地,本發(fā)明的較佳的實(shí)施例中,上述時(shí)序狀況分析過(guò)程中,由于是模擬形成SDF文件,并沒(méi)有后端可以使用,因此可以先模擬處理由后端工具生成的時(shí)鐘網(wǎng)絡(luò)(Clock Tree Synthesis,CTS)以及高扇出(High Fanout)的網(wǎng)絡(luò)(net),具體可以為根據(jù)上述數(shù)據(jù)模擬出一個(gè)簡(jiǎn)單的樹(shù)形結(jié)構(gòu),以滿足時(shí)鐘分組以及時(shí)鐘偏斜(skew)的要求。
本發(fā)明的較佳的實(shí)施例中,若從時(shí)序路徑(Timing path)中無(wú)法獲取相應(yīng)的余量數(shù)據(jù),則執(zhí)行如圖4所示的步驟:
步驟A211,獲取時(shí)序路徑對(duì)應(yīng)的數(shù)據(jù)傳輸路徑;
本發(fā)明的較佳的實(shí)施例中,時(shí)序路徑對(duì)應(yīng)于數(shù)據(jù)傳輸路徑(data path)。則若于該時(shí)序路徑中,通過(guò)靜態(tài)時(shí)序分析,無(wú)法獲得相應(yīng)的余量數(shù)據(jù)(例如一些特殊的路徑set_case_analysis和set_false_path)時(shí),則直接根據(jù)相應(yīng)的數(shù)據(jù)傳輸路徑進(jìn)行分析。
步驟A212,根據(jù)預(yù)設(shè)的第二規(guī)則,判斷數(shù)據(jù)傳輸路徑的延時(shí)是否合格:
若數(shù)據(jù)傳輸路徑的延時(shí)符合預(yù)設(shè)的第二規(guī)則,則表示對(duì)應(yīng)的時(shí)序路徑合 格,并根據(jù)合格的時(shí)序路徑生成相應(yīng)的標(biāo)準(zhǔn)延時(shí)數(shù)據(jù),隨后轉(zhuǎn)向步驟A3。
本發(fā)明的較佳的實(shí)施例中,上述預(yù)設(shè)的第二規(guī)則為:
其中,
D1表示數(shù)據(jù)傳輸路徑的路徑長(zhǎng)度(data path 1);
D2表示根據(jù)數(shù)據(jù)傳輸路徑修正斜率(slew)后的路徑長(zhǎng)度(data path 2);上述公式(1)中包括的10ns為本發(fā)明的一個(gè)較佳的實(shí)施例中的預(yù)設(shè)值,該預(yù)設(shè)值可以根據(jù)實(shí)際情況進(jìn)行相應(yīng)調(diào)整,在此不再贅述。
Latency1表示時(shí)序路徑的終止點(diǎn)上的時(shí)序電路的時(shí)鐘長(zhǎng)度(Destination Clock Latency);
Latency2表示時(shí)序路徑的起始點(diǎn)上的時(shí)序電路的時(shí)鐘長(zhǎng)度(Source Clock Latency);Period3表示時(shí)序路徑的終止點(diǎn)上的時(shí)序電路的時(shí)鐘周期(Destination Clock Period);
則本發(fā)明的較佳的實(shí)施例中,若數(shù)據(jù)傳輸路徑的延時(shí)(Delay)大于D,則表示數(shù)據(jù)傳輸路徑的延時(shí)符合預(yù)設(shè)的第二規(guī)則。
換言之,本發(fā)明的較佳的實(shí)施例中,依據(jù)時(shí)序關(guān)系,為了剔除一個(gè)周期的干擾,將上述數(shù)據(jù)傳輸路徑的延時(shí)限定在上文中所述的兩個(gè)路徑長(zhǎng)度中的最大值,因此可以將這些數(shù)據(jù)傳輸路徑的延時(shí)延長(zhǎng)到上述數(shù)值,從而可以模擬真實(shí)情形。
本發(fā)明的較佳的實(shí)施例中,若無(wú)法滿足預(yù)設(shè)的第二規(guī)則,則可以對(duì)數(shù)據(jù)傳輸路徑進(jìn)行重新調(diào)整,例如延長(zhǎng)其延時(shí),以達(dá)到相應(yīng)的路徑長(zhǎng)度等,并將經(jīng)過(guò)調(diào)整的數(shù)據(jù)傳輸路徑重新送回步驟A212中進(jìn)行判斷,以最終符合預(yù)設(shè)的第二規(guī)則。
本發(fā)明的較佳的實(shí)施例中,若根據(jù)STA分析能夠找到對(duì)應(yīng)的時(shí)序路徑的余量數(shù)據(jù),則轉(zhuǎn)向下述步驟A22。
步驟A22,根據(jù)預(yù)設(shè)的第一規(guī)則判斷余量數(shù)據(jù)是否合格:
若余量數(shù)據(jù)合格,則根據(jù)關(guān)聯(lián)于合格的余量數(shù)據(jù)的時(shí)序路徑,生成相應(yīng)的標(biāo)準(zhǔn)延時(shí)數(shù)據(jù),隨后轉(zhuǎn)向步驟A3;
本發(fā)明的較佳的實(shí)施例中,上述步驟A22中,根據(jù)預(yù)設(shè)的第一規(guī)則判斷余量數(shù)據(jù)是否合格的過(guò)程如圖5所示,即上述預(yù)設(shè)的第一規(guī)則如下文中所述,具體包括;
步驟A221,判斷對(duì)應(yīng)時(shí)序路徑的余量數(shù)據(jù)是否為正:
若余量數(shù)據(jù)不為正,則判斷余量數(shù)據(jù)不合格,隨后轉(zhuǎn)向步驟A23;
本發(fā)明的較佳的實(shí)施例中,余量數(shù)據(jù)為正即表明相應(yīng)的時(shí)序路徑是符合時(shí)序(Timing)約束的,可以根據(jù)該時(shí)序路徑進(jìn)行后續(xù)的后仿真(Post Simulation)操作。
本發(fā)明的較佳的實(shí)施例中,若余量數(shù)據(jù)不為正,則表示相應(yīng)的時(shí)序路徑不符合時(shí)序約束的要求,此時(shí)需要轉(zhuǎn)至下述步驟A23進(jìn)行相應(yīng)的調(diào)整,以使余量數(shù)據(jù)最終符合時(shí)序約束的要求。調(diào)整方式在下文中會(huì)詳述。
步驟A222,判斷對(duì)應(yīng)時(shí)序路徑的建立余量數(shù)據(jù)和保持余量數(shù)據(jù)是否均滿足下述的判斷條件:
若建立余量數(shù)據(jù)和/或保持余量數(shù)據(jù)不滿足判斷條件,則轉(zhuǎn)至步驟A224;
本發(fā)明的較佳的實(shí)施例中,上述判斷條件如下文中所述,具體包括:
S1=min(Period1,Period2); (2)
S2=min(Period1,Period2); (3)
其中,
Period1表示時(shí)序路徑的起始點(diǎn)發(fā)起時(shí)鐘的時(shí)鐘周期;
Period2表示時(shí)序路徑的結(jié)束點(diǎn)采樣時(shí)鐘的時(shí)鐘周期;
本發(fā)明的較佳的實(shí)施例中,對(duì)應(yīng)于一條時(shí)序路徑的余量數(shù)據(jù)中包括建立余量數(shù)據(jù)(Setup Slack)和保持余量數(shù)據(jù)(Hold Slack)。關(guān)于Setup/Hold Slack的計(jì)算方式在現(xiàn)有技術(shù)中有相應(yīng)的實(shí)現(xiàn)方法,在此不再贅述。
因此,本發(fā)明的較佳的實(shí)施例中,上述公式(2)和(3)中,上述Setup Slack必須小于S1(并且大于0),即Setup Slack必須滿足min(Period1,Period2),即取Period1和Period2中的最小值。同樣地,上述Hold Slack也必須小于S2(并且大于0),即Hold Slack需要取Period1和Period2中的最小值,這樣是為了防止上述取值邊緣(Margin)導(dǎo)致在SDC文件下的約束不能正確反映到之后模擬生成的SDF文件中。
換言之,本發(fā)明的較佳的實(shí)施例中,上述預(yù)設(shè)的第一規(guī)則即為:
1)所有Slack數(shù)值均為正(包括Setup/Hold Slack);
2)Setup/Hold Slack均滿足上述公式(2)和(3)。
滿足上述預(yù)設(shè)的第一規(guī)則,才認(rèn)為該時(shí)序路徑是合格的。
本發(fā)明的較佳的實(shí)施例中,針對(duì)上述預(yù)設(shè)的第一規(guī)則中的第二條,若其中Setup Slack滿足條件,但Hold Slack沒(méi)有滿足條件,又或者Hold Slack滿足條件,而Setup Slack不滿足條件,即Setup/Hold Slack依據(jù)第二條預(yù)設(shè)的第一規(guī)則出現(xiàn)互斥的情況時(shí),則分別根據(jù)Setup Slack產(chǎn)生一第一標(biāo)準(zhǔn)延時(shí)數(shù)據(jù),以及根據(jù)Hold Slack產(chǎn)生一第二標(biāo)準(zhǔn)延時(shí)數(shù)據(jù),隨后將這兩個(gè)數(shù)據(jù)相互覆蓋,以產(chǎn)生最終的標(biāo)準(zhǔn)延時(shí)數(shù)據(jù)(前提條件是Setup/Hold Slack均為正)。
步驟A223,判斷余量數(shù)據(jù)合格,并根據(jù)余量數(shù)據(jù)生成相應(yīng)的標(biāo)準(zhǔn)延時(shí)數(shù)據(jù);
步驟A224,分別生成關(guān)聯(lián)于符合判斷條件的建立余量數(shù)據(jù)的第一標(biāo)準(zhǔn)延時(shí)數(shù)據(jù),以及關(guān)聯(lián)于符合判斷條件的保持余量數(shù)據(jù)的第二標(biāo)準(zhǔn)延時(shí)數(shù)據(jù),隨后根據(jù)第一標(biāo)準(zhǔn)延時(shí)數(shù)據(jù)和第二標(biāo)準(zhǔn)延時(shí)數(shù)據(jù)合成相應(yīng)的標(biāo)準(zhǔn)延時(shí)數(shù)據(jù);
則本發(fā)明的較佳的實(shí)施例中,最終根據(jù):
關(guān)聯(lián)于合格的余量數(shù)據(jù)的時(shí)序路徑生成相應(yīng)的標(biāo)準(zhǔn)延時(shí)數(shù)據(jù);和/或
根據(jù)第一標(biāo)準(zhǔn)延時(shí)數(shù)據(jù)和第二標(biāo)準(zhǔn)延時(shí)數(shù)據(jù)合成相應(yīng)的標(biāo)準(zhǔn)延時(shí)數(shù)據(jù);
隨后轉(zhuǎn)至步驟A3。
步驟A23,重新調(diào)整對(duì)應(yīng)的時(shí)序路徑的余量數(shù)據(jù),并返回步驟A22。
本發(fā)明的較佳的實(shí)施例中,重新調(diào)整的方式包括:在余量數(shù)據(jù)不滿足第一規(guī)則的對(duì)應(yīng)的時(shí)序路徑上的點(diǎn)插入緩沖延遲(buffer),比如插入10ps/100ps/200ps不等的buffer。又或者將某些不符合第一規(guī)則的點(diǎn)減少其延時(shí)(delay),例如可以減少某些點(diǎn)的delay,最多減少到0。應(yīng)用上述兩種重新調(diào)整的方式的最終目的在于重新調(diào)整相應(yīng)的余量數(shù)據(jù),以使其符合上述預(yù)設(shè)的第一規(guī)則。
本發(fā)明的較佳的實(shí)施例中,經(jīng)過(guò)重新調(diào)整后,返回到上述步驟A22,以繼續(xù)根據(jù)預(yù)設(shè)的第一規(guī)則對(duì)時(shí)序路徑中的余量數(shù)據(jù)進(jìn)行判斷。上述過(guò)程可以循環(huán)進(jìn)行,直到余量數(shù)據(jù)滿足預(yù)設(shè)的第一規(guī)則。
步驟A3,根據(jù)標(biāo)準(zhǔn)延時(shí)數(shù)據(jù)對(duì)布圖設(shè)計(jì)做后仿真操作,以與用于表征布圖設(shè)計(jì)的設(shè)計(jì)約束的時(shí)序約束文件進(jìn)行匹配,并輸出匹配結(jié)果;
本發(fā)明的較佳的實(shí)施例中,上述步驟A3中,根據(jù)上文中判斷合格的時(shí)序路徑形成SDF文件,并根據(jù)SDF文件進(jìn)行相應(yīng)的Post Simulation。
本發(fā)明的較佳的實(shí)施例中,所謂時(shí)序約束文件,即指SDC文件。
步驟A4,根據(jù)匹配結(jié)果調(diào)整時(shí)序約束文件,直至匹配結(jié)果表示后仿真合格,隨后轉(zhuǎn)至步驟A5;
本發(fā)明的較佳的實(shí)施例中,上述步驟A3-A4表示,根據(jù)SDF文件進(jìn)行相應(yīng)的Post Simulation,并根據(jù)仿真結(jié)果判斷是否匹配時(shí)序約束文件。
本發(fā)明的較佳的實(shí)施例中,若上述匹配結(jié)果表示仿真結(jié)果不匹配相應(yīng)的時(shí)序約束文件,則直接返回上述步驟A2,以進(jìn)行重新調(diào)整。
本發(fā)明的較佳的實(shí)施例中,若上述匹配結(jié)果表示仿真結(jié)果匹配相應(yīng)的時(shí)序約束文件,則轉(zhuǎn)至下述步驟A5,即表示后仿真成功(Pass)。
步驟A5,對(duì)布圖設(shè)計(jì)進(jìn)行相應(yīng)的時(shí)序檢查,隨后退出。
本發(fā)明的較佳的實(shí)施例中,上述步驟A5中,執(zhí)行流片(Tapout)之前的時(shí)序檢查(Timing Signoff),隨后進(jìn)行流片。
本發(fā)明的較佳的實(shí)施例中,于上述步驟A2-A4進(jìn)行處理的同時(shí),執(zhí)行如圖6所示的下述步驟:
步驟B1,根據(jù)網(wǎng)絡(luò)表處理得到相應(yīng)的布局布線版圖;
步驟B2,對(duì)布局布線版圖進(jìn)行靜態(tài)時(shí)序分析,并在靜態(tài)時(shí)序分析合格后轉(zhuǎn)至步驟A5。
換言之,本發(fā)明的較佳的實(shí)施例中,根據(jù)網(wǎng)絡(luò)表模擬生成SDF文件并直接進(jìn)行后仿真處理的過(guò)程,與現(xiàn)有技術(shù)中進(jìn)行布局布線處理的過(guò)程同時(shí)進(jìn)行,其最終的完整處理過(guò)程如圖7所示。
因此,本發(fā)明技術(shù)方案中,可以在進(jìn)行布局布線處理之前,根據(jù)網(wǎng)絡(luò)表模擬生成相應(yīng)的SDF文件,并直接進(jìn)行后仿真處理,以及早發(fā)現(xiàn)針對(duì)時(shí)序約束的設(shè)計(jì)問(wèn)題。同時(shí)可以進(jìn)行P&R處理,以及相應(yīng)后續(xù)的STA分析。兩個(gè)過(guò)程同時(shí)進(jìn)行,與現(xiàn)有技術(shù)中必須將SDF文件的后仿真放在P&R處理之后不同,能夠及早暴露時(shí)序約束問(wèn)題,及早處理,無(wú)需放至快要流片時(shí)才發(fā)現(xiàn)并處理相應(yīng)問(wèn)題,有效減少最后階段進(jìn)行后仿真的時(shí)間,降低從后仿真到流片的時(shí)間,并節(jié)省大量的人力成本,保證集成電路布圖設(shè)計(jì)的順利流片。
以上所述僅為本發(fā)明較佳的實(shí)施例,并非因此限制本發(fā)明的實(shí)施方式及保護(hù)范圍,對(duì)于本領(lǐng)域技術(shù)人員而言,應(yīng)當(dāng)能夠意識(shí)到凡運(yùn)用本發(fā)明說(shuō)明書(shū)及圖示內(nèi)容所作出的等同替換和顯而易見(jiàn)的變化所得到的方案,均應(yīng)當(dāng)包含在本發(fā)明的保護(hù)范圍內(nèi)。