死結檢測方法以及機器可讀媒體的制作方法
【專利摘要】一種死結檢測方法,死結檢測方法包含有:找出一集成電路的一電路設計檔案的至少一電源節(jié)點輸入;找出該至少一電源節(jié)點輸入之間的一啟動順序;依據(jù)該啟動順序由一特定節(jié)點開始找出一目標路徑;以及依據(jù)該啟動順序以及該目標路徑來進行死結檢測。一種機器可讀媒體,儲存一程序代碼,當該程序代碼被處理器所執(zhí)行時會致使該處理器執(zhí)行以下步驟:找出一集成電路的一電路設計檔案的至少一電源節(jié)點輸入;找出該至少一電源節(jié)點輸入之間的一啟動順序;依據(jù)該啟動順序由一特定節(jié)點開始找出一目標路徑;以及依據(jù)該啟動順序以及該目標路徑來進行死結檢測。
【專利說明】死結檢測方法以及機器可讀媒體
【技術領域】
[0001]本發(fā)明所披露的實施例涉及電路設計的驗證,尤指一種檢查電路路徑是否發(fā)生死結的死結檢測方法以及機器可讀媒體。
【背景技術】
[0002]隨著集成電路技術的發(fā)展,集成電路上可容納的晶體管數(shù)目大致上符合摩爾定律(Moore’s Law)而不斷穩(wěn)定地上升,因此造成電路的規(guī)模與復雜度也越來越龐大,為了保證實際上的設計與規(guī)范之間的一致性,設計驗證便成為集成電路設計中所面臨的最大挑戰(zhàn)。一般來說,靜態(tài)的型式驗證速度較快,但是只能盡可能地找出設計中潛在的錯誤或是缺陷,并不能證明電路設計在功能上完全正確。而模擬驗證雖然可以相當準確地模擬出真實芯片中的電路行為,但卻因為龐大的設計而常常讓模擬驗證變得曠日廢時,特別是在數(shù)字-類比混合信號的電路設計中。因此集成電路設計者通常會將各個電路模塊(module)分開進行模擬驗證以在合理的模擬時間下得到足夠的模擬結果。然而,這樣的作法雖然可以快速地獲得各個電路模塊的功能性驗證,但各個電路模塊之間有可能會有死結(deadlock)的發(fā)生,換句話說,各個電路模塊都分別運作正常,但整個系統(tǒng)卻可能發(fā)生鎖死的狀況,傳統(tǒng)上,這樣的狀況在最終需要靠電路設計者之間的溝通以及事先的人工檢查來避免,不僅不夠嚴密而且效率不彰。
[0003]因此,為了同時滿足對于快速驗證以及驗證正確性的需求,需要一種創(chuàng)新的死結檢測方法來處理包含所有電路模塊的完整電路系統(tǒng)的驗證。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的一目的為提供一種檢查電路路徑是否發(fā)生死結的死結檢測方法以及機器可讀媒體以解決上述的問題。
[0005]本發(fā)明的一實施例披露一種死結檢測方法,包含有:找出一集成電路的一電路設計檔案的至少一電源節(jié)點輸入;找出該至少一電源節(jié)點輸入之間的一啟動順序;依據(jù)該啟動順序由一特定節(jié)點開始找出一目標路徑;以及依據(jù)該啟動順序以及該目標路徑來進行死結檢測。
[0006]本發(fā)明的另一實施例披露一種機器可讀媒體,儲存一程序代碼,當該程序代碼被一處理器所執(zhí)行時,該程序代碼會致使該處理器執(zhí)行以下的步驟:找出一集成電路的一電路設計檔案的至少一電源節(jié)點輸入;找出該至少一電源節(jié)點輸入之間的一啟動順序;依據(jù)該啟動順序由一特定節(jié)點開始找出一目標路徑;以及依據(jù)該啟動順序以及該目標路徑來進行死結檢測。
[0007]通過本發(fā)明所披露的示范性實施例可以將一集成電路的一電路設計檔案轉(zhuǎn)換為資源分配圖,再利用該資源分配圖算法來對資源分配圖進行靜態(tài)的死結檢測,便可以快速而且正確地檢驗該集成電路的該電路設計檔案中是否存在有死結的問題?!緦@綀D】
【附圖說明】
[0008]圖1為本發(fā)明死結檢測方法的一示范性實施例的流程圖。
[0009]圖2為采用本發(fā)明死結檢測方法的一示范性實施例的示意圖。
[0010]圖3為本發(fā)明死結檢測方法中依據(jù)該資源分配圖算法來對該目標路徑進行死結檢測的步驟的一示范性實施例的流程圖。
[0011]圖4為對應圖2所示的電路設計的資源分配圖。
[0012]圖5為本發(fā)明死結檢測方法的另一示范性實施例的示意圖。
[0013]圖6為對應圖5所示的電路設計的資源分配圖。
[0014]圖7為本發(fā)明用以執(zhí)行死結檢測的一電腦系統(tǒng)的一實施例的示意圖。
[0015]【主要元件符號說明】
[0016]100~110 步驟
[0017]200電源控制電路
[0018]201第一連接線
[0019]202第一反向器
[0020]203第二連接線
[0021]204第二反向器
[0022]205第三連接線
[0023]206電平轉(zhuǎn)換器
[0024]207第四連接線
[0025]208帶差電路
[0026]209第五連接線
[0027]210低壓降穩(wěn)壓器
[0028]211第六連接線
[0029]300~310 流程
[0030]400、600資源分配圖
[0031]401,601第一資源頂點
[0032]402,602第一程序頂點
[0033]403,603第二資源頂點
[0034]404、604第二程序頂點
[0035]405,605第三資源頂點
[0036]406、606第三程序頂點
[0037]407、607第四資源頂點
[0038]408第四程序頂點
[0039]409第五資源頂點
[0040]410第五程序頂點
[0041]411第六資源頂點
[0042]500時鐘控制電路
[0043]501第一連接線
[0044]502晶體振蕩器[0045]503第二連接線
[0046]504第一正反器
[0047]505第三連接線
[0048]506第二正反器
[0049]507第四連接線
[0050]700電腦系統(tǒng)
[0051]702處理器
[0052]704機器可讀媒體
【具體實施方式】
[0053]請參考圖1,圖1為本發(fā)明死結檢測方法的一示范性實施例的流程圖。倘若大體上可達到相同的結果,并不需要一定遵照圖1所示的流程中的步驟順序來進行,且圖1所示的步驟不一定要連續(xù)進行,也即其他步驟也可插入其中,此外,圖1中的某些步驟也可根據(jù)不同實施例或設計需求省略之。該方法主要會包含有以下步驟:
[0054]步驟100:找出一集成電路的一電路設計檔案的至少一電源節(jié)點輸入;
[0055]步驟102:找出該至少一電源節(jié)點輸入之間的一啟動順序;
[0056]步驟104:將該電路設計檔案中的多個元件劃分為至少一群組;
[0057]步驟106:找出該至少一群組相對應的至少一電源節(jié)點輸入;
[0058]步驟108:依據(jù)該啟動順序由一特定節(jié)點開始找出一目標路徑;
[0059]步驟110:依據(jù)該啟動順序以及該目標路徑來進行死結檢測。
[0060]優(yōu)選地,步驟110的死結檢測可以依據(jù)一資源分配圖算法(resource allocationgraph algorithm)來進行。
[0061]由于本發(fā)明系針對集成電路的電路設計檔案中的回路的死結檢測方法,因此首先如以上的步驟100所示,先找出集成電路的電路設計檔案中所有的電源節(jié)點輸入,如此一來,便可以依據(jù)這些電源節(jié)點輸入之間的關系來找出這些電源節(jié)點輸入之間的一啟動順序(步驟102)。接下來請一并參考圖2,圖2為采用本發(fā)明死結檢測方法的一示范性實施例的不意圖。圖2中的電源控制電路200包含有一第一反向器202、一第二反向器204、一電平轉(zhuǎn)換器(level shifter) 206>一帶差(bandgap)電路 208 以及一低壓降穩(wěn)壓器(low dropoutregulator, LDO) 210。由于集成電路當中的基本元件單元相當瑣碎,舉例來說,一個簡單的加法器可能由數(shù)十個邏輯門所組成,因此為了分析上的方便,可以先將電路設計檔案中的多個元件按照所屬的上層模塊以及功能相關性來進行分類,并且劃分為若干個群組。例如在一信號路徑上的多個串接的反相器(或緩沖器),若其電壓源(或電源節(jié)點)相同,則可保留頭尾兩個反相器即可表達其功能性,也即可以電壓源(或電源節(jié)點)相同下,在不影響信號的功能性路徑下來簡化集成電路的電路設計檔案。在此實施例中,電源控制電路200中復雜的基本元件單元可以依據(jù)圖2中的五個功能元件來進行分類,換句話說,第一反向器202、第二反向器204、電平轉(zhuǎn)換器206、帶差電路208以及低壓降穩(wěn)壓器210之中各自的基本元件單元由于具有各自的關連性,因此會分別被歸屬在五個群組之中(步驟104)。
[0062] 關于步驟106中所述的找出上述五個群組所對應的五個電源節(jié)點輸入,一般來說,由內(nèi)往外來分別找出第一反向器202、第二反向器204、電平轉(zhuǎn)換器206、帶差電路208以及低壓降穩(wěn)壓器210所對應的上述步驟100中所找出的這些電源節(jié)點輸入,如此一來,也可以由上述步驟102中的這些電源節(jié)點輸入之間的該啟動順序來得到該五個群組所對應的五個電源節(jié)點輸入之間的一啟動順序。舉例來說,圖2中的第一反向器202、第二反向器204以及電平轉(zhuǎn)換器206屬于一第一電源節(jié)點P1,而圖2中的帶差電路208以及低壓降穩(wěn)壓器210屬于一第二電源節(jié)點P2,除此之外,由于低壓降穩(wěn)壓器210所輸出的輸出電壓V12提供給第一反向器202、第二反向器204以及電平轉(zhuǎn)換器206的供應電壓,因此可以得知第二電源節(jié)點P2的啟動順序應早于第一電源節(jié)點Pl的啟動順序。
[0063]接下來,在集成電路的電路設計檔案中指定一啟動信號(enable signal)來作為步驟108中的一特定節(jié)點,并且從該特定節(jié)點開始,依據(jù)所經(jīng)過的至少一群組、該至少一群組所對應的至少一電源節(jié)點輸入以及該啟動順序來找出一目標路徑。例如一第一連接線207連接圖2中的電平轉(zhuǎn)換器206的一電平轉(zhuǎn)換器輸出以及用來使能(enable)帶差電路208的一啟動端,因此可指定電平轉(zhuǎn)換器206的該電平轉(zhuǎn)換器輸出為上述的該啟動信號,而從該電平轉(zhuǎn)換器輸出開始往前以及往后尋找(即從第一連接線207開始往前以及往后尋找),可以由集成電路的電路設計檔案中得到該目標路徑(即從連結第一反向器202的一輸入端的一第一連接線201開始,經(jīng)過第一反向器202、一第二連接線203、第二反向器204、一第三連接線205、電平轉(zhuǎn)換器206、第四連接線207、帶差電路208、一第五連接線209、低壓降穩(wěn)壓器210以及一第六連接線211)。如此一來,便可以依據(jù)該啟動順序以及該五個群組所對應的電源節(jié)點輸入來對該目標路徑進行死結檢測(步驟110)。優(yōu)選地,其可以依據(jù)該資源分配圖算法來進行,以進一步加速該死結檢測的速度。
[0064]請注意,該資源分配圖算法可參考Gagne, G., Galvin, P.B., &Silberschatz, A.(2011)的Operating System Concepts,第八版,第七章中所述的資源分配圖算法,應注意的是,Operating System Concepts中所述的資源分配圖算法僅是針對軟件(例如操作系統(tǒng))中的死結進行檢測,然而本發(fā)明所披露的實施例基于Operating System Concepts中所述的資源分配圖算法,并經(jīng)由深入的研究與開發(fā)而將資源分配圖算法轉(zhuǎn)用至對硬件中的死結進行檢測,換句話說,本發(fā)明提出能夠?qū)perating System Concepts中所述的資源分配圖算法應用在集成電路的電路設計檔案中的回路的死結檢測方法。請參考圖3,圖3為本發(fā)明死結檢測方法中依據(jù)該資源分配圖算法來對該目標路徑進行死結檢測的步驟的一示范性實施例的流程圖。倘若大體上可達到相同的結果,并不需要一定遵照圖3所示的流程中的步驟順序來進行,且圖3所示的步驟不一定要連續(xù)進行,也即其他步驟也可插入其中,此夕卜,圖3中的某些步驟也可根據(jù)不同實施例或設計需求省略之。該方法主要會包含有以下步驟:
[0065]步驟300:將該目標路徑上的至少一目標群組設定為至少一程序頂點(processvertex);
[0066]步驟302:將該目標路徑上的至少一接線設定為至少一資源頂點(resourcevertex);
[0067]步驟304:將該目標路徑上的該至少一目標群組的至少一輸入設定為至少一請求邊(request edge);
[0068]步驟306:將該目標路徑上的該至少一目標群組的至少一輸出設定為至少一指派邊(assignment edge);[0069]步驟308:將該至少一程序頂點、該至少一資源頂點、該至少一請求邊以及該至少一指派邊來構成一資源分配圖;
[0070]步驟310:依據(jù)該資源分配圖算法以及該資源分配圖來對該目標路徑進行死結檢測。
[0071]接下來請一并參考圖4,圖4為對應圖2所示的電路設計的資源分配圖400。如以上的步驟300所示,首先將圖2中的這些目標群組(也就是第一反向器202、第二反向器204、電平轉(zhuǎn)換器206、帶差電路208以及低壓降穩(wěn)壓器210)分別設定為圖4中的一第一程序頂點402、一第二程序頂點404、一第三程序頂點406、一第四程序頂點408以及一第五程序頂點410。接下來,再依據(jù)步驟302來將圖2中的該目標路徑上的接線(也就是第一連接線201、第二連接線203、第三連接線205、第四連接線207、第五連接線209以及第六連接線211分別設定為一第一資源頂點401、一第二資源頂點403、一第三資源頂點405、一第四資源頂點407、一第五資源頂點409以及一第六資源頂點411)。在得到上述的這些程序頂點以及這些資源頂點之后,還需要依據(jù)圖2的電源控制電路200的目標路徑上的這些目標群組的輸入來設定請求邊,舉例來說,圖2中的第一反向器202的輸入端連接至第一連接線201,因此圖4中的第一程序頂點402與第一資源頂點401之間的箭頭應該被設定為一第一請求邊,且該第一請求邊的方向由第一程序頂點402指向第一資源頂點401。依此類推,第二程序頂點404與第二資源頂點403之間的箭頭應該被設定為一第二請求邊,且該第二請求邊的方向由第二程序頂點404指向第二資源頂點403。第三程序頂點406與第三資源頂點405之間的箭頭應該被設定為一第三請求邊,且該第三請求邊的方向由第三程序頂點406指向第三資源頂點405。第四程序頂點408與第四資源頂點407之間的箭頭應該被設定為一第四請求邊,且該第四請求邊的方向由第四程序頂點408指向第四資源頂點407。第五程序頂點410與第五資源頂點409之間的箭頭應該被設定為一第五請求邊,且該第五請求邊的方向由第五程序頂點410指向第五資源頂點409。
[0072]應注意的是,該資源分配算法的請求觀念包括程序頂點對信號(例如小信號)的請求以及對電源的請求,也就是說,也應包括低壓降穩(wěn)壓器210經(jīng)由第六連接線211輸出電源至第一反向器202、第二反向器204以及電平轉(zhuǎn)換器206,因此圖4中的第一程序頂點402、第二程序頂點404以及第三程序頂點406與第六資源頂點411之間的箭頭應該分別被設定為一第六請求邊、一第七請求邊以及一第八請求邊,且該第六請求邊、該第七請求邊以及該第八請求邊的方向由第一程序頂點402、第二程序頂點404以及第三程序頂點406指向第六資源頂點411。
[0073]除此之外,還需要依據(jù)圖2的電源控制電路200的目標路徑上的這些目標群組的輸出來設定指派邊,舉例來說,圖2中的第一反向器202的一第一反向器輸出連接至第二連接線203,因此圖4中的第一程序頂點402與第二資源頂點403之間的箭頭應該被設定為一第一指派邊,且該第一指派邊的方向由第二資源頂點403指向第一程序頂點402。依此類推,第二程序頂點404與第三資源頂點405之間的箭頭應該被設定為一第二指派邊,且該第二指派邊的方向由第三資源頂點405指向第二程序頂點404。第三程序頂點406與第四資源頂點407之間的箭頭應該被設定為一第三指派邊,且該第三指派邊的方向由第四資源頂點407指向第三程序頂點406。第四程序頂點408與第五資源頂點409之間的箭頭應該被設定為一第四指派邊,且該第四指派邊的方向由第五資源頂點409指向第四程序頂點408。[0074]應注意的是,該資源分配圖算法的指派觀念包括程序頂點對信號的指派以及對電源的指派,也就是說,也應包括低壓降穩(wěn)壓器210經(jīng)由第六連接線211輸出電源至第一反向器202、第二反向器204以及電平轉(zhuǎn)換器206,因此圖4中的第五程序頂點410與第六資源頂點411之間的箭頭應該被設定為一第五指派邊,且該第五指派邊的方向由第六資源頂點411指向第五程序頂點410。
[0075]經(jīng)由以上段落的敘述,可根據(jù)第一程序頂點402、第二程序頂點404、第三程序頂點406、第四程序頂點408、第五程序頂點410、第一資源頂點401、第二資源頂點403、第三資源頂點405、第四資源頂點407、第五資源頂點409、第六資源頂點411、第一請求邊、第二請求邊、第三請求邊、第四請求邊、第五請求邊、第六請求邊、第七請求邊、第八請求邊、第一指派邊、第二指派邊、第三指派邊、第四指派邊以及第五指派邊來構成資源分配圖400,并且依據(jù)Operating System Concepts第七章中所述的資源分配圖算法來對電源控制電路200中的目標路徑所構成的資源分配圖400進行死結檢測,即可檢測出電源控制電路200中是否存在有死結問題(即低壓降穩(wěn)壓器210的啟動信號源頭來自第一反向器202,然而第一反向器202的電源來自低壓降穩(wěn)壓器210,此即為一死結)。
[0076]請參考圖5,圖5為本發(fā)明死結檢測方法的另一示范性實施例的示意圖。圖5中的時鐘控制電路500包含有一晶體振蕩器502、一第一正反器(flip flop)504以及一第二正反器506。為了分析上的方便,可以將時鐘控制電路500中復雜的基本元件單元依據(jù)圖5中的三個功能元件來分類,換句話說,晶體振蕩器502、第一正反器504以及第二正反器506之中各自的基本元件單元由于具有各自的關連性,因此會分別被歸屬在三個群組之中(步驟104)。接下來,依據(jù)上述步驟102中的這些電源節(jié)點輸入之間的該啟動順序來得到該三個群組所對應的三個電源節(jié)點輸入之間的一啟動順序,其中該三個電源節(jié)點可以從屬于同一電源或不同電源。此外,指定一啟動信號來作為步驟108中的一特定節(jié)點,例如一第四連接線507連接圖5中的第二正反器506的一第二正反器輸出以及用來使能晶體振蕩器502的一啟動端,因此可指定第二正反器506的第二正反器輸出為上述的該啟動信號,而從該第二正反器輸出開始往前以及往后尋找(即從第四連接線507開始往前以及往后尋找),可以由集成電路的電路設計檔案中得到該目標路徑(即從一第二連接線503開始,經(jīng)過第一正反器504、一第三連接線505、第二正反器506、第四連接線507、晶體振蕩器502以及第一連接線501)。如此一來,便可以依據(jù)該資源分配圖算法、該啟動順序以及該五個群組相對應的電源節(jié)點輸入來對該目標路徑進行死結檢測(步驟110)。
[0077]請一并參考圖6,圖6為對應圖5所示的電路設計的資源分配圖600。如以上的步驟300所示,首先將圖5中的這些目標群組(也就是晶體振蕩器502、第一正反器504以及第二正反器506)分別設定為圖6中的一第一程序頂點602、一第二程序頂點604以及一第三程序頂點606。接下來,再依據(jù)步驟302來將圖2中的目標路徑上的這些接線(也就是第一連接線501、第二連接線503、第三連接線505以及第四連接線507)分別設定為一第一資源頂點601、一第二資源頂點603、一第三資源頂點605以及一第四資源頂點607。在得到上述的這些程序頂點以及這些連接線之后,還需要依據(jù)圖2的電源控制電路200的目標路徑上的這些目標群組的輸入來設定請求邊,舉例來說,圖5中的晶體振蕩器502的輸入端連接至第四連接線507,因此圖6中的第一程序頂點602與第四資源頂點607之間的箭頭應該被設定為一第一請求邊,且該第一請求邊的方向由第一程序頂點602指向第四資源頂點607。依此類推,第二程序頂點604與第一資源頂點601之間的箭頭應該被設定為一第二請求邊,且該第二請求邊的方向由第二程序頂點604指向第一資源頂點601。第三程序頂點606與第一資源頂點601之間的箭頭應該被設定為一第三請求邊,且該第三請求邊的方向由第三程序頂點606指向第一資源頂點601。第二程序頂點604與第二資源頂點603之間的箭頭應該被設定為一第四請求邊,且該第四請求邊的方向由第二程序頂點604指向第二資源頂點603。第三程序頂點606與第三資源頂點605之間的箭頭應該被設定為一第五請求邊,且該第五請求邊的方向由第三程序頂點606指向第三資源頂點605。
[0078]除此之外,還需要依據(jù)圖5的時鐘控制電路500的目標路徑上的這些目標群組的輸出來設定指派邊,舉例來說,圖5中的晶體振蕩器502的一晶體振蕩器輸出連接至第一連接線501,因此圖6中的第一程序頂點602與第一資源頂點601之間的箭頭應該被設定為一第一指派邊,且該第一指派邊的方向由第一資源頂點601指向第一程序頂點602。依此類推,第二程序頂點604與第三資源頂點605之間的箭頭應該被設定為一第二指派邊,且該第二指派邊的方向由第三資源頂點605指向第二程序頂點604。第三程序頂點606與第四資源頂點607之間的箭頭應該被設定為一第三指派邊,且該第三指派邊的方向由第四資源頂點607指向第三程序頂點606。
[0079]經(jīng)由以上段落的敘述,可根據(jù)第一程序頂點602、第二程序頂點604、第三程序頂點606、第一資源頂點601、第二資源頂點603、第三資源頂點605、第四資源頂點607、第一請求邊、第二請求邊、第三請求邊、第四請求邊、第五請求邊、第一指派邊、第二指派邊以及第三指派邊來構成資源分配圖600,并且依據(jù)Operating System Concepts第七章中所述的該資源分配圖算法來對時鐘控制電路500中該目標路徑所構成的資源分配圖600進行死結檢測,即可檢測出時鐘源控制電路500中是否存在有死結問題(即晶體振蕩器502的啟動信號源頭來自第一正反器504,然而第一正反器504的時鐘源來自晶體振蕩器502,此即為一死結)。
[0080]請參閱圖7,圖7為本發(fā)明用以執(zhí)行死結檢測的一電腦系統(tǒng)的一實施例的示意圖。電腦系統(tǒng)700包含有一處理器702以及一機器可讀媒體704,舉例來說,電腦系統(tǒng)700可以是一個人電腦,而機器可讀媒體704可以是個人電腦中任何具有數(shù)據(jù)儲存功能的儲存裝置,例如揮發(fā)性內(nèi)存、非揮發(fā)性內(nèi)存、硬盤、光盤等。本實施例中,機器可讀媒體704中儲存一程序代碼PR0G,因此,當程序代碼PROG被處理器702所加載并執(zhí)行時,程序代碼PROG會致使處理器702針對集成電路的電路設計檔案File IN執(zhí)行本發(fā)明所揭示的死結檢測方法(也即圖1所示的步驟100?110以及圖3所示的驟300?310)。由于所屬領域的普通技術人員于閱讀上述針對死結檢測方法的內(nèi)容之后應可輕易了解處理器702執(zhí)行程序代碼PROG所進行的死結檢測操作,故進一步的說明并在此省略以求簡潔。
[0081]通過本發(fā)明所披露的示范性實施例可以將電源控制電路200以及時鐘源控制電路500的電路設計分別轉(zhuǎn)換為資源分配圖400以及資源分配圖600,再利用OperatingSystem Concepts第七章中所述的資源分配圖算法來對資源分配圖400以及資源分配圖600進行靜態(tài)的死結檢測,便可以快速而且正確地檢驗電源控制電路200以及時鐘源控制電路500中是否存在有死結的問題。
[0082]以上所述僅為本發(fā)明的優(yōu)選實施例,凡依本發(fā)明申請專利范圍所做的均等變化與修飾,皆應屬本發(fā)明的涵蓋范圍。
【權利要求】
1.一種死結檢測方法,包含有: 找出一集成電路的一電路設計檔案的至少一電源節(jié)點輸入; 找出所述至少一電源節(jié)點輸入之間的一啟動順序; 依據(jù)所述啟動順序由一特定節(jié)點開始找出一目標路徑;以及 依據(jù)所述啟動順序以及所述目標路徑來進行一死結檢測。
2.根據(jù)權利要求1所述的死結檢測方法,其中,所述死結檢測的步驟依據(jù)一資源分配圖算法來進行。
3.根據(jù)權利要求2所述的死結檢測方法,還包含有: 將所述電路設計檔案中的多個元件劃分為至少一群組;以及 找出與所述至少一群組相對應的至少一電源節(jié)點輸入。
4.根據(jù)權利要求3所述的死結檢測方法,其中,將所述電路設計檔案中的所述多個元件劃分為所述至少一群組的步驟包含有: 依據(jù)所述多個元件的功能相關性來將所述電路設計檔案中的所述多個元件劃分為同一群組。
5.根據(jù)權利要求3所述的死結檢測方法,其中,所述特定節(jié)點為一啟動信號節(jié)點。
6.根據(jù)權利要求3所述的死結檢測方法,其中,依據(jù)所述啟動順序由 由所述特定節(jié)點開始找出所述目標路徑的步驟包含有: 由所述特定節(jié)點開始,依據(jù)所經(jīng)過的至少一群組、與所述至少一群組相對應的所述至少一電源節(jié)點輸入以及所述啟動順序來找出所述目標路徑。
7.根據(jù)權利要求3所述的死結檢測方法,其中,依據(jù)所述資源分配圖算法來進行所述死結檢測的步驟包含有: 將所述目標路徑上的至少一目標群組設定為至少一程序頂點; 將所述目標路徑上的至少一接線設定為至少一資源頂點; 將所述目標路徑上的所述至少一目標群組的至少一輸入設定為至少一請求邊; 將所述目標路徑上的所述至少一目標群組的至少一輸出設定為至少一指派邊; 將所述至少一程序頂點、所述至少一資源頂點、所述至少一請求邊以及所述至少一指派邊構成一資源分配圖;以及 依據(jù)所述資源分配圖算法以及所述資源分配圖對所述目標路徑進行死結檢測。
8.一種機器可讀媒體,儲存一程序代碼,當所述程序代碼被一處理器所執(zhí)行時,所述程序代碼能夠致使所述處理器執(zhí)行以下的步驟: 找出一集成電路的一電路設計檔案的至少一電源節(jié)點輸入; 找出所述至少一電源節(jié)點輸入之間的一啟動順序; 依據(jù)一特定節(jié)點找出一目標路徑;以及 依據(jù)所述啟動順序以及所述目標路徑來進行一死結檢測。
9.根據(jù)權利要求8所述的機器可讀媒體,其中,所述死結檢測的步驟依據(jù)一資源分配圖算法來進行。
10.根據(jù)權利要求9所述的機器可讀媒體,其中,所述程序代碼能夠致使所述處理器執(zhí)行以下的步驟: 將所述電路設計檔案中的多個元件劃分為至少一群組;以及找出與所述至少一群組相對應的至少一電源節(jié)點輸入。
11.根據(jù)權利要求9所述的機器可讀媒體,其中,所述特定節(jié)點為一啟動信號節(jié)點。
12.根據(jù)權利要求9所述的機器可讀媒體,其中,由所述特定節(jié)點開始找出所述目標路徑的步驟包含有: 由所述特定節(jié)點開始,依據(jù)所經(jīng)過的至少一群組、與所述至少一群組相對應的所述至少一電源節(jié)點輸入以及所述啟動順序來找出所述目標路徑。
13.根據(jù)權利要求9所述的機器可讀媒體,其中,依據(jù)所述資源分配圖算法來進行所述死結檢測的步驟包含有: 將所述目標路徑上的至少一目標群組設定為至少一程序頂點; 將所述目標路徑上的至少一接線設定為至少一資源頂點; 將所述目標路徑上的所述至少一目標群組的至少一輸入設定為至少一請求邊; 將所述目標路徑上的所述至少一目標群組的至少一輸出設定為至少一指派邊; 將所述至少一程 序頂點、所述至少一資源頂點、所述至少一請求邊以及所述至少一指派邊構成一資源分配圖;以及 依據(jù)所述資源分配圖算法以及所述資源分配圖對所述目標路徑進行死結檢測。
【文檔編號】G06F17/50GK103970917SQ201310032514
【公開日】2014年8月6日 申請日期:2013年1月28日 優(yōu)先權日:2013年1月28日
【發(fā)明者】王鼎雄, 羅幼嵐, 高淑怡 申請人:瑞昱半導體股份有限公司