專利名稱:集成電路設(shè)計(jì)過程中單節(jié)點(diǎn)并行自動(dòng)修復(fù)保持時(shí)間違例的方法
技術(shù)領(lǐng)域:
本發(fā)明屬于超大規(guī)模集成電路設(shè)計(jì)、制造技術(shù)領(lǐng)域,尤其是一種集成電路設(shè)計(jì)過程中單節(jié)點(diǎn)并行自動(dòng)修復(fù)保持時(shí)間違例的方法。
背景技術(shù):
在現(xiàn)代大規(guī)模集成電路設(shè)計(jì)過程中,自動(dòng)布局布線工具會(huì)主動(dòng)的嘗試修復(fù)保持時(shí)間違例。但是在復(fù)雜時(shí)鐘域的高頻大規(guī)模集成電路設(shè)計(jì)中,現(xiàn)有的工具對(duì)于在自動(dòng)布局布線過程中修復(fù)保持時(shí)間違例的處理上能力有限。一般情況下,需要大量的人力做長(zhǎng)時(shí)間反復(fù)的修復(fù)工作,此項(xiàng)工作會(huì)可觀的耗費(fèi)芯片設(shè)計(jì)產(chǎn)出周期。人工手動(dòng)修復(fù)保持時(shí)間違例的方法在現(xiàn)代大規(guī)模集成電路設(shè)計(jì)過程中也會(huì)被采用,但是展開此項(xiàng)工作的前提是電路時(shí)鐘域較為簡(jiǎn)單且保持時(shí)間違例的數(shù)目不是很多的情況,并且人工修復(fù)工作往往只能對(duì)保持時(shí)間違例路徑逐一分析修復(fù)。當(dāng)電路時(shí)鐘域較為復(fù)雜時(shí),人工修復(fù)保持時(shí)間違例的工作量就會(huì)倍增。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服上述現(xiàn)有技術(shù)的缺點(diǎn),提供一種集成電路設(shè)計(jì)過程中單節(jié)點(diǎn)并行自動(dòng)修復(fù)保持時(shí)間違例的方法,該方法能夠自動(dòng)并行高效的修復(fù)保持時(shí)間違例,能夠縮短大規(guī)模集成電路設(shè)計(jì)過程中保持時(shí)間修復(fù)的周期,從而縮短芯片設(shè)計(jì)周期。本發(fā)明的目的是通過以下技術(shù)方案來解決的一種集成電路設(shè)計(jì)過程中單節(jié)點(diǎn)并行自動(dòng)修復(fù)保持時(shí)間違例的方法,其特征在于,包括以下步驟1)對(duì)于每一條存在保持時(shí)間違例的時(shí)序路徑,提取其建立時(shí)間裕度最大的節(jié)點(diǎn), 將所有的提取的節(jié)點(diǎn)按建立時(shí)間裕度的值由大到小匯總為一個(gè)列表;2)判斷上步驟產(chǎn)生的列表是否為空;如是,則報(bào)告電路保持時(shí)間違例不可修復(fù), 如否則執(zhí)行下一步;3)設(shè)定列表的第一個(gè)元素為操作對(duì)象4)依次考察列表中操作對(duì)象之后的所有元素,去除與操作對(duì)象相關(guān)的所有元素, 所述相關(guān),是指兩個(gè)元素共屬于某一條建立時(shí)間路徑,重新整理列表,設(shè)定下一個(gè)元素為操作對(duì)象;5)重復(fù)步驟4),直到所有的列表元素都不具備相關(guān)性;6)根據(jù)列表中元素的值在相應(yīng)的節(jié)點(diǎn)處插入緩沖單元;7)選擇是否做下一輪的保持時(shí)間違例修復(fù);如是,則更新電路的時(shí)序信息;如否則報(bào)告保持時(shí)間違例修復(fù)完畢。在以上所述步驟1)中首先列出所有保持時(shí)間違例的路徑;然后逐一分析每條保持時(shí)間違例時(shí)序路徑上各個(gè)多輸入單元相關(guān)引腳節(jié)點(diǎn)的建立時(shí)間裕度;最后取出每條保持時(shí)間違例時(shí)序路徑上建立時(shí)間裕度的最大值及相關(guān)節(jié)點(diǎn),由大到小匯總為一個(gè)列表。上述步驟4)具體按照以下步驟進(jìn)行S41、設(shè)定列表中第一個(gè)節(jié)點(diǎn)為考察對(duì)象,如列表只有一個(gè)節(jié)點(diǎn),則直接轉(zhuǎn)向S45 步驟;S42、檢查考察對(duì)象與其后下一個(gè)節(jié)點(diǎn)是否同屬于同一個(gè)建立時(shí)間路徑如是,從列表中刪除該節(jié)點(diǎn);如否,保留該節(jié)點(diǎn);S43、重復(fù)S42直到完成考察對(duì)象與列表中其他所有節(jié)點(diǎn)的相關(guān)性檢查;S44、設(shè)定列表下一個(gè)節(jié)點(diǎn)為考察對(duì)象,如其為列表最后一個(gè)節(jié)點(diǎn),則直接轉(zhuǎn)向 S45,否則轉(zhuǎn)向S42 ;S45、根據(jù)列表中保留的節(jié)點(diǎn)的建立時(shí)間裕度的值,準(zhǔn)備在各個(gè)節(jié)點(diǎn)處插入對(duì)應(yīng)數(shù)目的緩沖單元。以上步驟6)具體為S61、根據(jù)節(jié)點(diǎn)信息選定合適的緩沖單元;S62、考察緩沖單元的延遲時(shí)間參數(shù);S63、將列表中節(jié)點(diǎn)對(duì)應(yīng)的值除以緩沖單元的時(shí)間參數(shù),將商的值取整保存;S64、按照商的取整后的數(shù)值在相應(yīng)的電路節(jié)點(diǎn)處插入緩沖單元。在以上的S63中,當(dāng)對(duì)商的值取整時(shí),只舍不入。本發(fā)明具有以下有益效果本發(fā)明通過對(duì)整個(gè)電路的整體分析,能并行、高效的插入緩沖單元以修復(fù)保持時(shí)間違例。相對(duì)于現(xiàn)有的單個(gè)路徑逐一分析修復(fù)保持時(shí)間違例的方法,本發(fā)明提供的方法能夠極大的縮短大規(guī)模集成電路設(shè)計(jì)過程中保持時(shí)間修復(fù)的周期,從而縮短芯片設(shè)計(jì)周期。
圖1為本發(fā)明的詳細(xì)流程圖。
具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步詳細(xì)描述參見圖3,本發(fā)明的集成電路設(shè)計(jì)過程中單節(jié)點(diǎn)并行自動(dòng)修復(fù)保持時(shí)間違例的方法,包括以下步驟1)對(duì)于每一條存在保持時(shí)間違例的時(shí)序路徑,提取其建立時(shí)間裕度(setup time margin)最大的節(jié)點(diǎn),將所有的提取的節(jié)點(diǎn)按建立時(shí)間裕度的值由大到小匯總為一個(gè)列表;在該步驟中,如圖1所示,首先要列出所有保持時(shí)間違例的路徑;然后逐一分析每條保持時(shí)間違例時(shí)序路徑上各個(gè)多輸入單元相關(guān)引腳節(jié)點(diǎn)的建立時(shí)間裕度;最后取出每條保持時(shí)間違例時(shí)序路徑上建立時(shí)間裕度的最大值及相關(guān)節(jié)點(diǎn),由大到小匯總為一個(gè)列表;2)判斷上步驟產(chǎn)生的列表是否為空;如是,則報(bào)告電路保持時(shí)間違例不可修復(fù), 如否則執(zhí)行下一步;3)設(shè)定列表的第一個(gè)元素為操作對(duì)象4)依次考察列表中操作對(duì)象之后的所有元素,去除與操作對(duì)象‘相關(guān)’的所有元素,所述的‘相關(guān)’,是指兩個(gè)元素共屬于某一條建立時(shí)間路徑(setup time path),也可以稱之為具有相關(guān)性;重新整理列表,設(shè)定下一個(gè)元素為操作對(duì)象;5)重復(fù)步驟4),直到所有的列表元素都不具備相關(guān)性,如表1所示為某電路采用本發(fā)明自動(dòng)修復(fù)保持時(shí)間違例過程中,列表元素去相關(guān)性后的結(jié)果列表;表1
權(quán)利要求
1.一種集成電路設(shè)計(jì)過程中單節(jié)點(diǎn)并行自動(dòng)修復(fù)保持時(shí)間違例的方法,其特征在于, 包括以下步驟1)對(duì)于每一條存在保持時(shí)間違例的時(shí)序路徑,提取其建立時(shí)間裕度最大的節(jié)點(diǎn),將所有的提取的節(jié)點(diǎn)按建立時(shí)間裕度的值由大到小匯總為一個(gè)列表;2)判斷上步驟產(chǎn)生的列表是否為空;如是,則報(bào)告電路保持時(shí)間違例不可修復(fù),如否, 則執(zhí)行下一步;3)設(shè)定列表的第一個(gè)元素為操作對(duì)象;4)依次考察列表中操作對(duì)象之后的所有元素,去除與操作對(duì)象相關(guān)的所有元素,所述相關(guān),是指兩個(gè)元素共屬于某一條建立時(shí)間路徑,重新整理列表,設(shè)定下一個(gè)元素為操作對(duì)象;5)重復(fù)步驟4),直到所有的列表元素都不具備相關(guān)性;6)根據(jù)列表中元素的值在相應(yīng)的節(jié)點(diǎn)處插入緩沖單元;7)選擇是否做下一輪的保持時(shí)間違例修復(fù);如是,則更新電路的時(shí)序信息;如否則報(bào)告保持時(shí)間違例修復(fù)完畢。
2.根據(jù)權(quán)利要求1所述的集成電路設(shè)計(jì)過程中單節(jié)點(diǎn)并行自動(dòng)修復(fù)保持時(shí)間違例的方法,其特征在于,在所述步驟1)中首先列出所有保持時(shí)間違例的路徑;然后逐一分析每條保持時(shí)間違例時(shí)序路徑上各個(gè)多輸入單元相關(guān)引腳節(jié)點(diǎn)的建立時(shí)間裕度;最后取出每條保持時(shí)間違例時(shí)序路徑上建立時(shí)間裕度的最大值及相關(guān)節(jié)點(diǎn),由大到小匯總為一個(gè)列表。
3.根據(jù)權(quán)利要求1所述的集成電路設(shè)計(jì)過程中單節(jié)點(diǎn)并行自動(dòng)修復(fù)保持時(shí)間違例的方法,其特征在于,步驟4)具體按照以下步驟進(jìn)行541、設(shè)定列表中第一個(gè)節(jié)點(diǎn)為考察對(duì)象,如列表只有一個(gè)節(jié)點(diǎn),則直接轉(zhuǎn)向S45步驟;542、檢查考察對(duì)象與其后下一個(gè)節(jié)點(diǎn)是否同屬于同一個(gè)建立時(shí)間路徑如是,從列表中刪除該節(jié)點(diǎn);如否,保留該節(jié)點(diǎn);543、重復(fù)S42直到完成考察對(duì)象與列表中其他所有節(jié)點(diǎn)的相關(guān)性檢查;544、設(shè)定列表下一個(gè)節(jié)點(diǎn)為考察對(duì)象,如其為列表最后一個(gè)節(jié)點(diǎn),則直接轉(zhuǎn)向S45,否則轉(zhuǎn)向S42 ;545、根據(jù)列表中保留的節(jié)點(diǎn)的建立時(shí)間裕度的值,準(zhǔn)備在各個(gè)節(jié)點(diǎn)處插入對(duì)應(yīng)數(shù)目的緩沖單元。
4.根據(jù)權(quán)利要求1所述的集成電路設(shè)計(jì)過程中單節(jié)點(diǎn)并行自動(dòng)修復(fù)保持時(shí)間違例的方法,其特征在于,步驟6)具體為561、根據(jù)節(jié)點(diǎn)信息選定合適的緩沖單元;562、考察緩沖單元的延遲時(shí)間參數(shù);563、將列表中節(jié)點(diǎn)對(duì)應(yīng)的值除以緩沖單元的時(shí)間參數(shù),將商的值取整保存;564、按照商的取整后的數(shù)值在相應(yīng)的電路節(jié)點(diǎn)處插入緩沖單元。
5.根據(jù)權(quán)利要求4所述的集成電路設(shè)計(jì)過程中單節(jié)點(diǎn)并行自動(dòng)修復(fù)保持時(shí)間違例的方法,其特征在于,在S63中,當(dāng)對(duì)商的值取整時(shí),只舍不入。
全文摘要
本發(fā)明公開了一種集成電路設(shè)計(jì)過程中單節(jié)點(diǎn)并行自動(dòng)修復(fù)保持時(shí)間違例的方法,包括1)將所有的提取的節(jié)點(diǎn)按建立時(shí)間裕度的值由大到小匯總為一個(gè)列表;2)判斷列表是否為空;3)設(shè)定列表的第一個(gè)元素為操作對(duì)象;4)依次考察列表中操作對(duì)象之后的所有元素,去除與操作對(duì)象相關(guān)的元素;5)重復(fù)步驟4),到列表元素不具備相關(guān)性;6)根據(jù)列表中元素值在節(jié)點(diǎn)處插入緩沖單元;7)選擇是否做下輪的保持時(shí)間違例修復(fù);如是,則更新電路時(shí)序信息;如否則報(bào)告保持時(shí)間違例修復(fù)完畢。本發(fā)明通過對(duì)整個(gè)電路的整體分析,能并行、高效的插入緩沖單元以修復(fù)保持時(shí)間違例,可以極大的縮減集成電路設(shè)計(jì)過程中修復(fù)保持時(shí)間違例的周期,從而縮短設(shè)計(jì)周期。
文檔編號(hào)G06F17/50GK102332048SQ20111033328
公開日2012年1月25日 申請(qǐng)日期2011年10月27日 優(yōu)先權(quán)日2011年10月27日
發(fā)明者左豐國(guó) 申請(qǐng)人:山東華芯半導(dǎo)體有限公司