TWI467401B - 變更點搜尋方法及裝置 - Google Patents
變更點搜尋方法及裝置 Download PDFInfo
- Publication number
- TWI467401B TWI467401B TW98114441A TW98114441A TWI467401B TW I467401 B TWI467401 B TW I467401B TW 98114441 A TW98114441 A TW 98114441A TW 98114441 A TW98114441 A TW 98114441A TW I467401 B TWI467401 B TW I467401B
- Authority
- TW
- Taiwan
- Prior art keywords
- logic circuit
- pin
- description language
- hardware description
- module
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
本發明係與邏輯電路(logic circuit)有關,特別地,關於一種能夠於邏輯電路中快速找到工程變更命令(Engineering Change Order,ECO)點之變更點搜尋方法及裝置。
隨著電子科技不斷地發展,各式各樣的電子產品之體積愈來愈輕薄短小,但其具備的功能亦愈來愈多。因此,在面積相當小的晶片中必須設置有數目非常龐大的各種電子元件,才足以應付電子產品之實際需求。
在傳統的IC設計流程中,工程變更命令係屬於整個設計流程後端的工程變更步驟。假設一邏輯電路源自於暫存器傳輸級(Register Transfer Level,RTL)硬體描述語言,經合成(synthesized)後轉換為合成邏輯閘級(gate level)硬體描述語言,接著,再透過自動佈局繞線法(Automatic Placement and Routing,APR)轉換為最佳化(optimized)的繞線後邏輯閘級硬體描述語言。
於此一階段下,由於該邏輯電路經過了合成及自動佈局繞線等程序後,該邏輯電路包含的所有功能元件之間將會彼此進行耦接、合併或化簡,以使得邏輯電路能夠通過時序限制(timing constraint)並且縮小其使用面積,因此,當設計者欲於此時對該邏輯電路的繞線後邏輯閘級硬體描述語言進行工程變更命令之修改,將會變成相當困難。
其最大的難處在於,設計者必須分別對於該邏輯電路的暫存器傳輸級硬體描述語言以及繞線後邏輯閘級硬體描述語言之功能元件進行邏輯等效檢查(logical equivalent check),才能確保設計者於該邏輯電路所進行的修改無論是在暫存器傳輸級硬體描述語言之階段以及繞線後邏輯閘級硬體描述語言之階段均為正確無誤的。也就是說,為了進行工程變更命令之修改,設計者必須反覆回到合成邏輯閘級硬體描述語言之階段及繞線後邏輯閘級硬體描述語言之階段,再次執行繁瑣的資料匯出和匯入作業。
然而,很明顯地,要在已合成且最佳化的該邏輯電路之繞線後邏輯閘級硬體描述語言中尋找可能的工程變更命令點遠較在原本的暫存器傳輸級硬體描述語言中尋找可能的工程變更命令點來得困難。因此,為了進行工程變更命令之修改,設計者勢必要花費大量的時間及精神於複雜的該邏輯電路之繞線後邏輯閘級硬體描述語言中找到可能的工程變更命令點,這將會嚴重影響整個IC設計流程的進度,因而導致後續產品生產及上市時程之延遲。
因此,本發明之主要範疇在於提供一種變更點搜尋方法及裝置,以解決上述問題。
根據本發明之第一具體實施例為一種變更點搜尋裝置。於此實施例中,該變更點搜尋裝置係應用於一邏輯電路。該邏輯電路源自於一暫存器傳輸級硬體描述語言,經合成後轉換為一合成邏輯閘級硬體描述語言,再透過自動佈局繞線法轉換為一繞線後邏輯閘級硬體描述語言。
於此實施例中,該變更點搜尋裝置包含一定義模組、一驗證模組、一比較模組及一檢查模組。該定義模組係耦接至該邏輯電路,並係用以定義一指示地圖。其中,該指示地圖係用以指示出複數個接腳。該驗證模組係耦接至該定義模組,並係用以對該指示地圖執行功能等效檢查以判斷該指示地圖是否正確。該比較模組係耦接至該驗證模組及該邏輯電路,若該驗證模組之判斷結果為是,該比較模組將會於該邏輯電路之該暫存器傳輸級硬體描述語言加入陷阱,以使得該邏輯電路之該繞線後邏輯閘級硬體描述語言產生複數個比較點。該檢查模組係耦接至該比較模組及該邏輯電路,並係用以根據該複數個比較點對該邏輯電路之該繞線後邏輯閘級硬體描述語言反向執行功能等效檢查,以在該繞線後邏輯閘級硬體描述語言中找到一變更點。
根據本發明之第二具體實施例為一種變更點搜尋方法。於此實施例中,該變更點搜尋方法係應用於一邏輯電路。該邏輯電路源自於一暫存器傳輸級硬體描述語言,經合成後轉換為一合成邏輯閘級硬體描述語言,再透過自動佈局繞線法轉換為一繞線後邏輯閘級硬體描述語言。
於該變更點搜尋方法中,首先,定義一指示地圖,該指示地圖係用以指示出複數個接腳;接著,執行功能等效檢查以判斷該指示地圖是否正確;若上述判斷結果為是,於該邏輯電路之該暫存器傳輸級硬體描述語言加入陷阱,以使得該邏輯電路之該繞線後邏輯閘級硬體描述語言產生複數個比較點(comparing point);根據該複數個比較點對該邏輯電路之該繞線後邏輯閘級硬體描述語言依一反向順序執行功能等效檢查,以在該繞線後邏輯閘級硬體描述語言中找到一變更點。於實際應用中,該變更點可以是一工程變更命令點;該至少一陷阱可以是一工程變更命令之變更,但不以此為限。
相較於先前技術,根據本發明之變更點搜尋方法及裝置係透過於邏輯電路之暫存器傳輸級硬體描述語言加入陷阱(亦即工程變更命令之變更),使得邏輯電路之繞線後邏輯閘級硬體描述語言亦會出現相對應的比較點,接著,該變更點搜尋裝置再透過限定模組逐步縮小工程變更命令點可能出現的範圍,故能夠迅速地於邏輯電路之繞線後邏輯閘級硬體描述語言找到所需的工程變更命令點。
藉此,透過本發明提出之變更點搜尋方法以及變更點搜尋裝置的幫助,設計者即可大幅節省原先花費在複雜的邏輯電路之繞線後邏輯閘級硬體描述語言中尋找可能的工程變更命令點之時間及精神,故可有效提升整個IC設計流程的效率,亦可縮短產品上市之時程,以提升其競爭力。
關於本發明之優點與精神可以藉由以下的發明詳述及所附圖式得到進一步的瞭解。
本發明之主要目的在於提出一種變更點搜尋方法以及變更點搜尋裝置。藉由本發明之協助,設計者即可大幅節省原先花費在複雜的邏輯電路之繞線後邏輯閘級硬體描述語言中尋找可能的工程變更命令點之時間,以提升整個IC設計流程之效率,避免由於設計流程後端的工程變更導致後續產品生產及上市時程之延遲。
根據本發明之第一具體實施例為一種變更點搜尋裝置。實際上,該變更點搜尋裝置係應用於一邏輯電路;該變更點可以是工程變更命令點,但不以此為限。於此實施例中,該邏輯電路源自於一暫存器傳輸級硬體描述語言之網路表(netlist),經過合成後轉換為一合成邏輯閘級硬體描述語言之網路表,接著,該邏輯電路再透過自動佈局繞線法轉換為最佳化的一繞線後邏輯閘級硬體描述語言之網路表。
請參照圖一,圖一係繪示根據本發明之第一具體實施例的變更點搜尋裝置之功能方塊圖。如圖一所示,變更點搜尋裝置1包含定義模組10、驗證模組12、分解模組14、比較模組16、限定模組18及檢查模組20。其中,驗證模組12耦接至定義模組10及分解模組14;比較模組16耦接至分解模組14及限定模組18;檢查模組20耦接至限定模組18;定義模組10、驗證模組12、分解模組14、比較模組16、限定模組18及檢查模組20均耦接至一邏輯電路(未示出),以於該邏輯電路中尋找一目標工程變更命令點。接下來,將分別就變更點搜尋裝置1所包含之各模組及其功能進行介紹。
請先參照圖二(A)及圖二(B),圖二(A)為合成邏輯閘級硬體描述語言之功能地圖的示意圖,而圖二(B)為圖二(A)之合成邏輯閘級硬體描述語言經過自動佈局繞線後轉換為繞線後邏輯閘級硬體描述語言之功能地圖的示意圖。如圖二(A)所示,該邏輯電路之合成邏輯閘級硬體描述語言2之輸入端包含有掃瞄接腳(scan pin)21、測試接腳(test pin)22、資料複製接腳(data clone pin)23、資料倒轉接腳(data inverter pin)24及時脈接腳(clock pin)25,其中,掃瞄接腳21係耦接至探針9;時脈接腳25係耦接至鎖相迴路(Phase Loop Lock,PLL)8以及該邏輯電路內之正反器(Flip-Flop,FF)26,但不以此為限。
當圖二(A)中之該邏輯電路之合成邏輯閘級硬體描述語言2經過自動佈局繞線程序後,便會成為圖二(B)所示之繞線後邏輯閘級硬體描述語言2'。比較圖二(A)及圖二(B)可知,於此實施例中,繞線後邏輯閘級硬體描述語言2'與合成邏輯閘級硬體描述語言2之差別僅在於:原本耦接至資料複製接腳23之邏輯元件27經過自動佈局繞線後,將會分解成兩個邏輯元件271'及272'。
於此實施例中,變更點搜尋裝置1之定義模組10係用以根據該邏輯電路之合成邏輯閘級硬體描述語言2與繞線後邏輯閘級硬體描述語言2'定義指示地圖(instruction map),以利變更點搜尋裝置1後續搜尋動作之進行。實際上,指示地圖可包含有基本比較點資訊,故此實施例之指示地圖即可包含有掃瞄接腳21、測試接腳22、資料複製接腳23、資料倒轉接腳24、時脈接腳25及正反器26的位置資訊,但不以此為限。
接著,變更點搜尋裝置1之驗證模組12即會對該指示地圖執行功能等效檢查(functional equivalent check)以判斷該指示地圖是否正確。實際上,驗證模組12係針對該邏輯電路之暫存器傳輸級硬體描述語言以及繞線後邏輯閘級硬體描述語言2'進行邏輯元件功能的比對,以完成功能等效檢查。
若驗證模組12之判斷結果為是,也就是說,驗證模組12已經確認該指示地圖無誤,因此,變更點搜尋裝置1將會繼續進行後續的變更點搜尋程序。
於此實施例中,變更點搜尋裝置1之比較模組16將會於該邏輯電路之暫存器傳輸級硬體描述語言加入至少一陷阱(trap),以使得該邏輯電路之繞線後邏輯閘級硬體描述語言產生複數個比較點(comparing points)。於實際應用中,該至少一陷阱係與工程變更命令之變更有關,亦即使用者可於該邏輯電路之暫存器傳輸級硬體描述語言加入一些工程變更命令之變更,當該邏輯電路之暫存器傳輸級硬體描述語言經過合成及自動佈局繞線而成為繞線後邏輯閘級硬體描述語言時,即會顯示出對應於這些工程變更命令之變更的該些比較點。實際上,該些比較點可選自該邏輯電路的各輸出接腳以及正反器之一輸入接腳,但不以此為限。
接下來,變更點搜尋裝置1之限定模組18將會根據比較點定義該邏輯電路中之一扇入錐(fanin cone)區域並判斷位於該扇入錐區域內之功能元件是否符合一特定條件。其中,該特定條件係對應於該至少一陷阱。
於實際應用中,限定模組18所進行之上述判斷程序即為所謂的「扇入錐功能失效測試」(fanin cone function abort test),用以排除掉扇入錐區域內不可能為欲尋找之變更點的功能元件,以增進變更點搜尋裝置1之搜尋速度。若限定模組18之判斷結果為是,限定模組18將會定義符合該特定條件的這些功能元件為待檢查功能元件。
值得注意的是,由於限定模組18已經定義出扇入錐區域內之該些待檢查功能元件,所以檢查模組20僅需以反向的順序針對這些待檢查功能元件進行功能等效檢查即可,並不需要再對該邏輯電路之繞線後邏輯閘級硬體描述語言中之其他功能元件進行功能等效檢查,故可大幅縮減變更點搜尋裝置1搜尋變更點所花費的時間。實際上,由於這些待檢查功能元件並不一定就是變更點搜尋裝置1所欲尋找的變更點,故變更點搜尋裝置1亦可能找不到任何變更點。
請參照圖三,圖三係繪示透過在該邏輯電路之暫存器傳輸級硬體描述語言加入陷阱之方式找出繞線後邏輯閘級硬體描述語言之比較點的一範例。其中,圖三(A)係繪示在該邏輯電路的暫存器傳輸級硬體描述語言之程式編碼中加入陷阱之敘述(如虛線圈起處所示)的示意圖;圖三(B)則係繪示在該邏輯電路之繞線後邏輯閘級硬體描述語言找出比較點並定義扇入錐區域之示意圖。
如圖三(B)所示,假設在該邏輯電路之繞線後邏輯閘級硬體描述語言3中對應於比較模組16所加入之陷阱(亦即於原來的暫存器傳輸級硬體描述語言所作之工程變更命令的變更)的比較點為輸出接腳out6以及正反器36之輸入端D,則限定模組18即根據上述比較點於繞線後邏輯閘級硬體描述語言3內定義扇入錐區域30,並且扇入錐區域30係由該邏輯電路之輸入端向輸出端變窄。
於此實施例中,由於扇入錐區域30內包含有邏輯元件31~34,所以限定模組18即會以反向(由輸出端至輸入端之方向)的順序分別對邏輯元件31~34進行扇入錐功能失效測試,以判斷邏輯元件31~34是否可能是變更點搜尋裝置1所欲尋找之變更點的功能元件。
舉例而言,由圖三(A)所加入的陷阱之敘述可知,變更點搜尋裝置1所欲尋找之變更點的功能元件所對應的輸入接腳應為(In2,In3,In4);至於邏輯元件31~34所對應的輸入接腳分別是(In2,In3,In4,In5)、(In2,In3,In4)、(In2,In4)及(In2,In3,In5)。經由限定模組18進行比對後,因為邏輯元件33及34所對應的輸入接腳並未包含(In2,In3,In4)中之所有輸入接腳,故限定模組18即會將邏輯元件33及34加以排除,並將邏輯元件31及32定義為待檢查功能元件。因此,檢查模組20僅需對邏輯元件31及32進行功能等效檢查,即可搜尋出該邏輯電路之繞線後邏輯閘級硬體描述語言中是否具有對應於比較模組16所加入陷阱的變更點。
值得注意的是,當驗證模組12已經確認該指示地圖無誤後,在比較模組16於該邏輯電路之暫存器傳輸級硬體描述語言加入陷阱使得繞線後邏輯閘級硬體描述語言產生比較點之前,分解模組14可以先判斷該邏輯電路中是否包含具有多輸入端之功能元件,若分解模組14之判斷結果為是,代表該邏輯電路中之某些邏輯元件可能包含三個(含)以上之輸入接腳,此時,分解模組14即會將這些具有多輸入端之功能元件加以分解(decompose)成多個具有兩輸入接腳的功能元件。
請參照圖四(A)及圖四(B),圖四(A)及圖四(B)係繪示暫存器傳輸級硬體描述語言之回饋多工器(feedback multiplexer)轉換為繞線後邏輯閘級硬體描述語言之示意圖。如圖四(A)所示,暫存器傳輸級硬體描述語言4的回饋多工器41包含三個輸入接腳in1、in2及in3以及一個輸出接腳out,其中回饋多工器41之輸出接腳out耦接至正反器42的輸入端D並且輸入接腳in1耦接至正反器42的輸出端Q,因此,回饋多工器41可以透過輸出接腳out傳送一輸出訊號至正反器42,並且透過輸入接腳in1接收正反器42所產生的一回饋訊號,故回饋多工器41具有其回饋之功能。
當圖四(A)的暫存器傳輸級硬體描述語言4轉換為整合性時脈控制(Integrated Clock Gating,ICG)之繞線後邏輯閘級硬體描述語言4',如圖四(B)所示。很明顯地,當變更點搜尋裝置1之分解模組14偵測到暫存器傳輸級硬體描述語言4的回饋多工器41包含三個輸入接腳in1、in2及in3,所以分解模組14即會將回饋多工器41分解成兩個包含兩輸入接腳的功能元件411'及412',至於正反器42則不變,只是各元件彼此間的耦接關係有所改變。於此實施例中,功能元件411'為一正反器。實際上,上述功能元件的種類可依據實際的電路需求進行選擇,例如乘法器、加法器等,並無一定的限制。
圖四(C)則係繪示對圖四(B)之繞線後邏輯閘級硬體描述語言4'進行扇入錐功能失效測試的示意圖。如圖四(C)所示,當變更點搜尋裝置1之限定模組18以反向之順序對繞線後邏輯閘級硬體描述語言4'進行扇入錐功能失效測試時,比較點除了原本的正反器42之輸入端D之外,亦包含正反器411'之輸入端D。
接下來,將以實際例子對前述之扇入錐功能失效測試作進一步的探討。請參照圖五(A),圖五(A)係繪示對一邏輯電路之繞線後邏輯閘級硬體描述語言進行扇入錐功能失效測試之示意圖。如圖五(A)所示,限定模組18於該邏輯電路之繞線後邏輯閘級硬體描述語言5中定義了扇入錐區域50,扇入錐區域50內包含有邏輯元件51~55,並且測試點P1~P5分別對應於邏輯元件51~55。接著,限定模組18即會依照反向的順序分別對扇入錐區域50內之測試點P1~P5進行扇入錐功能失效測試。假設變更點搜尋裝置1所欲尋找之變更點所對應的輸入接腳為(In2,In3,In4),則測試點P1~P5當中只有測試點P1及P2能夠通過此一測試,至於測試點P3~P5則否,故限定模組18即會將邏輯元件53~55加以排除,並將邏輯元件51及52定義為待檢查邏輯元件。
值得注意的是,通過扇入錐功能失效測試的邏輯元件51及52可以構成電路模組AOI21,其中Y為電路模組AOI21的輸出接腳,A0、A1及B0為電路模組AOI21的輸入接腳。電路模組AOI21之功用在於透過邏輯元件52將自輸入接腳A0及A1輸入的訊號相乘後再與輸入接腳B0輸入的訊號相加,亦即輸出接腳Y所輸出之訊號為(A0*A1)+B0。於實際應用中,電路模組AOI21之功能地圖可以儲存於變更點搜尋裝置1之一資料庫(未顯示於圖中),當分解模組14欲分解具有多輸入端的功能元件時,即可至該資料庫尋找是否有相對應的功能地圖,以作為扇入錐功能失效測試時之參考依據。
圖五(B)則係繪示對另一邏輯電路之繞線後邏輯閘級硬體描述語言進行扇入錐功能失效測試之示意圖。如圖五(B)所示,限定模組18於該邏輯電路之繞線後邏輯閘級硬體描述語言6中定義了扇入錐區域60,扇入錐區域60內包含有邏輯元件61~72及測試點P6~P13,並且測試點P6~P9分別對應於邏輯元件61~64;測試點P10~P13分別對應於邏輯元件67、70~72。接著,限定模組18即會依照反向的順序分別對扇入錐區域60內之測試點P6~P9進行扇入錐功能失效測試。假設變更點搜尋裝置1所欲尋找之變更點所對應的輸入接腳為(In2,In3,In4),則測試點P6~P9當中只有測試點P6及P7能夠通過此一測試,至於測試點P8及P9則否,故限定模組18即會將對應於測試點P8及P9的邏輯元件63及64加以排除,並將對應於測試點P6及P7的邏輯元件61及62定義為待檢查邏輯元件。
同理,限定模組18亦會依照反向的順序分別對扇入錐區域60內之測試點P10~P13進行扇入錐功能失效測試。假設變更點搜尋裝置1所欲尋找之變更點所對應的輸入接腳為(In2,In3,In5),則測試點P10~P13當中只有測試點P10及P11能夠通過此一測試,至於測試點P12及P13則否,故限定模組18即會將對應於測試點P12及P13的邏輯元件71及72加以排除,並將對應於測試點P10及P11的邏輯元件67及70定義為待檢查邏輯元件。至於扇入錐區域60內的其他邏輯元件亦可依此類推,故不另行贅述。
值得注意的是,上述的邏輯元件61~72均屬於電路模組NAND4的一部份。如圖五(B)所示,電路模組NAND4包含輸出接腳Y以及輸入接腳A~D,電路模組NAND4之功用在於將自輸入接腳A~D輸入的訊號相乘後再反相,亦即輸出接腳Y所輸出之訊號為(A*B*C*D)'。同樣地,電路模組NAND4之功能地圖亦可儲存於變更點搜尋裝置1之資料庫內,當分解模組14欲分解具有多輸入端的功能元件時,即可至該資料庫尋找是否有相對應的功能地圖,以作為扇入錐功能失效測試時之參考依據。
根據本發明之第二具體實施例為一種變更點搜尋方法。於此實施例中,該變更點搜尋方法係應用於一邏輯電路。該邏輯電路源自於一暫存器傳輸級硬體描述語言,經合成後轉換為一合成邏輯閘級硬體描述語言,接著,再透過自動佈局繞線法轉換為繞線後邏輯閘級硬體描述語言。實際上,該變更點搜尋方法所尋找的變更點可以是一工程變更命令(Engineering Change Order,ECO)點,但不以此為限。
請參照圖六,圖六係繪示根據本發明之第二具體實施例之變更點搜尋方法的流程圖。如圖六所示,首先,該變更點搜尋方法執行步驟S10,定義一指示地圖。於此實施例中,該指示地圖係用以指示出該邏輯電路之複數個接腳。
於實際應用中,該邏輯電路之輸入端包含有時脈接腳、測試接腳、掃瞄接腳、資料複製接腳及資料倒轉接腳等,但不以此為限。實際上,指示地圖可包含有基本比較點資訊,故此實施例之指示地圖可包含時脈接腳、測試接腳、掃瞄接腳、資料複製接腳、資料倒轉接腳及正反器的位置資訊,但不以此為限。
接著,該變更點搜尋方法執行步驟S12,執行功能等效檢查以判斷該指示地圖是否正確。若步驟S12之判斷結果為是,該方法執行步驟S14,判斷該邏輯電路中是否包含具有多輸入端之功能元件。若步驟S14之判斷結果為是,代表該邏輯電路中之某些功能元件具有多個輸入接腳,該方法執行步驟S16,將這些具有多輸入端之功能元件分解成複數個具有兩輸入端的功能元件。
接著,該方法執行步驟S18,於該邏輯電路之該暫存器傳輸級硬體描述語言加入至少一陷阱,以使得該邏輯電路之該繞線後邏輯閘級硬體描述語言產生複數個比較點。於實際應用中,該至少一陷阱係與工程變更命令之變更有關,但不以此為限。此外,該邏輯電路包含有複數個輸出接腳及正反器,該複數個比較點係選自該複數個輸出接腳及正反器之輸入接腳,但不以此為限。
然後,該方法執行步驟S20,根據該比較點定義該邏輯電路中之一扇入錐區域,其中該扇入錐區域係由該邏輯電路之輸入端向輸出端變窄。接著,該方法執行步驟S22,判斷位於該扇入錐區域內之功能元件是否符合一特定條件,其中該特定條件係對應於該至少一陷阱。若步驟S22之判斷結果為是,該方法執行步驟S24,定義符合該特定條件的功能元件為待檢查功能元件。藉此,該方法僅需對該些待檢查功能元件進行功能等效檢查,即可快速地搜尋出該邏輯電路之該繞線後邏輯閘級硬體描述語言中是否具有對應於該方法於步驟S18中所加入之陷阱的變更點。若步驟S22之判斷結果為否,該方法執行步驟S26,排除不符合該特定條件的功能元件。
最後,該方法執行步驟S28,根據該複數個比較點對該邏輯電路之該繞線後邏輯閘級硬體描述語言依一反向順序執行功能等效檢查,以在該繞線後邏輯閘級硬體描述語言中找到一變更點。實際上,該方法係於該扇入錐區域內依該反向順序對該等待檢查功能元件進行功能等效檢查,以自該等待檢查功能元件中找出該變更點。
相較於先前技術,根據本發明之變更點搜尋方法及裝置係透過於邏輯電路之暫存器傳輸級硬體描述語言加入陷阱(亦即於暫存器傳輸級硬體描述語言之工程變更命令的變更),使得邏輯電路之繞線後邏輯閘級硬體描述語言亦會出現相對應的比較點,接著,該變更點搜尋裝置再透過限定模組逐步縮小工程變更命令點可能出現的範圍,故該變更點搜尋裝置能夠迅速地於邏輯電路之繞線後邏輯閘級硬體描述語言中找到所需的工程變更命令點。
藉此,透過本發明提出之變更點搜尋方法及裝置的幫助,設計者即可大幅節省原先花費在複雜的繞線後邏輯閘級硬體描述語言電路中尋找可能的工程變更命令點之時間及精神,故可有效提升整個IC設計流程的效率,亦可縮短產品上市之時程,以提升其競爭力。
藉由以上較佳具體實施例之詳述,係希望能更加清楚描述本發明之特徵與精神,而並非以上述所揭露的較佳具體實施例來對本發明之範疇加以限制。相反地,其目的是希望能涵蓋各種改變及具相等性的安排於本發明所欲申請之專利範圍的範疇內。
S10~S28...流程步驟
1...變更點搜尋裝置
10...定義模組
12...驗證模組
14...分解模組
16...比較模組
18...限定模組
20...檢查模組
30、50、60...扇入錐區域
2...合成邏輯閘級硬體描述語言
21...掃瞄接腳
22...測試接腳
23...資料複製接腳
24...資料倒轉接腳
25...時脈接腳
26、42...正反器
8...鎖相迴路
9...探針
2'、3、4'、5、6...繞線後邏輯閘級硬體描述語言
4...暫存器傳輸級硬體描述語言
41...回饋多工器
D...正反器之輸入端
411'~412'...功能元件
P1~P13...測試點
27、271'~272'、31~34、51~55、61~72...邏輯元件
AOI21、NAND4...電路模組
Q...正反器之輸出端
in1~in3、A0~A1、B0、A~D...輸入接腳
ou1~out6、out、Y...輸出接腳
圖一係繪示根據本發明之第一具體實施例的變更點搜尋裝置之功能方塊圖。
圖二(A)為邏輯電路的合成邏輯閘級硬體描述語言之功能地圖的示意圖;圖二(B)為圖二(A)之合成邏輯閘級硬體描述語言經過自動佈局繞線後之繞線後邏輯閘級硬體描述語言之功能地圖的示意圖。
圖三(A)係繪示在邏輯電路的暫存器傳輸級硬體描述語言之程式編碼中加入陷阱之敘述的示意圖;圖三(B)係繪示在該邏輯電路之繞線後邏輯閘級硬體描述語言找出比較點並定義扇入錐區域之示意圖。
圖四(A)及(B)係繪示邏輯電路的暫存器傳輸級硬體描述語言之回饋多工器經過合成為合成邏輯閘級硬體描述語言之示意圖;圖四(C)係繪示對圖四(B)之合成邏輯閘級硬體描述語言進行扇入錐功能失效測試的示意圖。
圖五(A)及(B)係分別繪示對不同的邏輯電路之合成邏輯閘級硬體描述語言進行扇入錐功能失效測試之示意圖。
圖六係繪示根據本發明之第二具體實施例之變更點搜尋方法的流程圖。
1...變更點搜尋裝置
10...定義模組
14...分解模組
12...驗證模組
16...比較模組
18...限定模組
20...檢查模組
Claims (20)
- 一種搜尋一變更點之方法,應用於一邏輯電路,該邏輯電路源自於一暫存器傳輸級(Register Transfer Level,RTL)硬體描述語言(Hardware Description Language,HDL),經合成後轉換為一合成邏輯閘級(synthesized gate level)硬體描述語言,再透過自動佈局繞線法轉換為一繞線後(Automatic Placement and Routing,APR)邏輯閘級硬體描述語言,該方法包含下列步驟:定義一指示地圖(instruction map),該指示地圖係用以指示出複數個接腳;當執行功能等效檢查(functional equivalent check)判斷該指示地圖係正確時,於該暫存器傳輸級硬體描述語言加入至少一陷阱(trap),使得該繞線後邏輯閘級硬體描述語言產生複數個比較點(comparing points);以及根據該複數個比較點對該繞線後邏輯閘級硬體描述語言依一反向(backward)順序執行功能等效檢查,以在該繞線後邏輯閘級硬體描述語言中找到該變更點。
- 如申請專利範圍第1項所述之搜尋方法,其中該變更點係一工程變更命令(Engineering Change Order,ECO)點。
- 如申請專利範圍第1項所述之搜尋方法,於該判斷該指示地圖是否正確的步驟後更包含下列步驟:當判斷該邏輯電路中是否包含具有多輸入端之功能元件之結果為是時,將具有多輸入端之功能元件分解(decompose)成複數個具有兩輸入端的功能元件。
- 如申請專利範圍第1項所述之搜尋方法,其中該邏輯電路之輸入端包含一時脈接腳(clock pin)、一測試接腳(test pin)、一掃瞄接腳(scan pin)、一資料複製接腳(data clone pin)及一資料倒轉接腳(data inverter pin)。
- 如申請專利範圍第4項所述之搜尋方法,其中該指示地圖包含該時脈接腳、該測試接腳、該掃瞄接腳、該資料複製接腳及該資料倒轉接腳之位置資訊。
- 如申請專利範圍第1項所述之搜尋方法,其中該邏輯電路包含複數個輸出接腳(output pin)及一正反器(flip-flop),該複數個比較點係選自該複數個輸出接腳以及該正反器之一輸入接腳。
- 如申請專利範圍第1項所述之搜尋方法,於該加入該至少一陷阱的步驟後更包含下列步驟:根據該比較點定義該邏輯電路中之一扇入錐(fanin cone)區域,其中該扇入錐區域係由該邏輯電路之輸入端向輸出端變窄;以及當判斷位於該扇入錐區域內之功能元件是否符合一特定條件的結果為是,及其中該特定條件係對應於該至少一陷阱時,定義符合該特定條件的功能元件為待檢查功能元件。
- 如申請專利範圍第7項所述之搜尋方法,其中於依該反向順序執行功能等效檢查的步驟中,係於該扇入錐區域內依該反向順序對該等待檢查功能元件進行功能等效檢查,以自該等待檢查功能元件中找出該變更點。
- 如申請專利範圍第1項所述之搜尋方法,其中該至少一陷阱係與工程變更命令之變更有關。
- 一種搜尋一變更點之裝置,應用於一邏輯電路,該邏輯電路源自於一暫存器傳輸級硬體描述語言,經合成後轉換為一合成邏輯閘級硬體描述語言,再透過自動佈局繞線法轉換為一繞線後邏輯閘級硬體描述語言,該搜尋變更點之裝置包含:一定義模組,耦接至該邏輯電路,用以定義一指示地圖,該指示地圖係用以指示出複數個接腳;一驗證模組,耦接至該定義模組及該邏輯電路,用以對該指示地圖執行功能等效檢查以判斷該指示地圖是否正確;一比較模組,耦接至該驗證模組及該邏輯電路,若該驗證模組之判斷結果為是,該比較模組於該邏輯電路之該暫存器傳輸級硬體描述語言加入至少一陷阱,使得該繞線後邏輯閘級硬體描述語言產生複數個比較點;以及一檢查模組,耦接至該比較模組及該邏輯電路,用以根據該複數個比較點對該繞線後邏輯閘級硬體描述語言依一反向(backward)順序執行功能等效檢查,以在該繞線後邏輯閘級硬體描述語言中找到該變更點。
- 如申請專利範圍第10項所述之搜尋裝置,其中該變更點係一工程變更命令(Engineering Change Order,ECO)點。
- 如申請專利範圍第10項所述之搜尋裝置,進一步包含:一分解模組,耦接至該驗證模組、該比較模組及該邏輯電路,用以判斷該邏輯電路中是否包含具有多輸入端之功能元件,若判斷結果為是,該分解模組將具有多輸入端之功能元件分解(decompose)成複數個具有兩輸入端的功能元件。
- 如申請專利範圍第10項所述之搜尋裝置,其中該邏輯電路之輸入端包含一時脈接腳(clock pin)、一測試接腳(test pin)、一掃瞄接腳(scan pin)、一資料複製接腳(data clone pin)及一資料倒轉接腳(data inverter pin)。
- 如申請專利範圍第13項所述之搜尋裝置,其中該指示地圖包含該時脈接腳、該測試接腳、該掃瞄接腳、該資料複製接腳及該資料倒轉接腳之位置資訊。
- 如申請專利範圍第10項所述之搜尋裝置,其中該邏輯電路包含複數個輸出接腳(output pin)及一正反器(flip-flop),該複數個比較點係選自該複數個輸出接腳以及該正反器之一輸入接腳。
- 如申請專利範圍第10項所述之搜尋裝置,進一步包含:一限定模組,耦接至該比較模組、該檢查模組及該邏輯電路,用以根據該比較點定義該邏輯電路中之一扇入錐(fanin cone)區域並判斷位於該扇入錐區域內之功能元件是否符合一特定條件,若判斷結果為是,該限定模組定義符合該特定條件的功能元件為待檢查功能元件。
- 如申請專利範圍第16項所述之搜尋裝置,其中該扇入錐區域係由該邏輯電路之輸入端向輸出端變窄。
- 如申請專利範圍第16項所述之搜尋裝置,其中該特定條件係對應於該至少一陷阱。
- 如申請專利範圍第16項所述之搜尋裝置,其中該檢查模組係於該扇入錐區域內依該反向順序對該等待檢查功能元件進行功能等效檢查,以自該等待檢查功能元件中找出該變更點。
- 如申請專利範圍第10項所述之搜尋裝置,其中該至少一陷阱係與工程變更命令之變更有關。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW98114441A TWI467401B (zh) | 2009-04-30 | 2009-04-30 | 變更點搜尋方法及裝置 |
| US12/698,468 US8370788B2 (en) | 2009-04-30 | 2010-02-02 | Circuit design change and correspondence point finding method between HDL land RLT design |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW98114441A TWI467401B (zh) | 2009-04-30 | 2009-04-30 | 變更點搜尋方法及裝置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201039163A TW201039163A (en) | 2010-11-01 |
| TWI467401B true TWI467401B (zh) | 2015-01-01 |
Family
ID=43031369
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW98114441A TWI467401B (zh) | 2009-04-30 | 2009-04-30 | 變更點搜尋方法及裝置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US8370788B2 (zh) |
| TW (1) | TWI467401B (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108389555A (zh) * | 2018-02-06 | 2018-08-10 | 昆山龙腾光电有限公司 | 驱动电路和显示装置 |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8468477B2 (en) | 2011-04-28 | 2013-06-18 | International Business Machines Corporation | Logic modification synthesis for high performance circuits |
| US8914755B1 (en) * | 2013-05-28 | 2014-12-16 | Taiwan Semiconductor Manufacturing Company Limited | Layout re-decomposition for multiple patterning layouts |
| US10489541B1 (en) * | 2017-11-21 | 2019-11-26 | Xilinx, Inc. | Hardware description language specification translator |
| US10460060B2 (en) * | 2017-11-27 | 2019-10-29 | Mellanox Technologies, Ltd. | Checking equivalence between changes made in a circuit definition language and changes in post-synthesis nets |
| US10614181B2 (en) | 2018-02-08 | 2020-04-07 | Mellanox Technologies, Ltd. | Electronic design tools using non-synthesizable circuit elements |
| US10599802B2 (en) * | 2018-06-18 | 2020-03-24 | Mellanox Technologies, Ltd. | Methods for automatic engineering change order (ECO) bug fixing in integrated circuit design |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020162086A1 (en) * | 2001-04-30 | 2002-10-31 | Morgan David A. | RTL annotation tool for layout induced netlist changes |
| US7331030B2 (en) * | 2004-12-17 | 2008-02-12 | Stmicroelectronics, Inc. | Method to unate a design for improved synthesizable domino logic flow |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4831375B2 (ja) * | 2009-06-26 | 2011-12-07 | 日本電気株式会社 | 検証装置、検証方法、及びプログラム |
-
2009
- 2009-04-30 TW TW98114441A patent/TWI467401B/zh not_active IP Right Cessation
-
2010
- 2010-02-02 US US12/698,468 patent/US8370788B2/en not_active Expired - Fee Related
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020162086A1 (en) * | 2001-04-30 | 2002-10-31 | Morgan David A. | RTL annotation tool for layout induced netlist changes |
| US7331030B2 (en) * | 2004-12-17 | 2008-02-12 | Stmicroelectronics, Inc. | Method to unate a design for improved synthesizable domino logic flow |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108389555A (zh) * | 2018-02-06 | 2018-08-10 | 昆山龙腾光电有限公司 | 驱动电路和显示装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20100281443A1 (en) | 2010-11-04 |
| US8370788B2 (en) | 2013-02-05 |
| TW201039163A (en) | 2010-11-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI467401B (zh) | 變更點搜尋方法及裝置 | |
| US20090132984A1 (en) | Optimal Flow In Designing A Circuit Operable In Multiple Timing Modes | |
| US7234123B2 (en) | Circuit group design methodologies | |
| KR20100124770A (ko) | 동기에서 비동기로의 논리 변환 | |
| US20130091483A1 (en) | Automatic flow of megacell generation | |
| CN104620242A (zh) | 相关时序架构 | |
| Stevens et al. | Characterization of asynchronous templates for integration into clocked CAD flows | |
| Gayathri et al. | RTL synthesis of case study using design compiler | |
| CN116205171A (zh) | 电源开关单元的匹配方法、装置、设备及存储介质 | |
| US6993740B1 (en) | Methods and arrangements for automatically interconnecting cores in systems-on-chip | |
| US7325209B2 (en) | Using patterns for high-level modeling and specification of properties for hardware systems | |
| TWI685064B (zh) | 電路設計方法及相關的電腦程式產品 | |
| JPH06274568A (ja) | 階層図形データの展開方法 | |
| US8074198B2 (en) | Apparatus and method for circuit layout using longest path and shortest path search elements | |
| JP2008065382A (ja) | Lsiの消費電力算出方法及びその算出プログラム | |
| CN111695321B (zh) | 电路设计方法及相关的电脑程序产品 | |
| US20080127026A1 (en) | Logic synthesis method and device | |
| JP5797928B2 (ja) | 論理回路の設計方法及び論理設計プログラム | |
| Plassan et al. | Improving the efficiency of formal verification: the case of clock-domain crossings | |
| CN102110176A (zh) | 一种用于逻辑电路变更点搜寻方法及装置 | |
| US12406122B1 (en) | Modifying scan patterns to enable broadcasting a scan enable signal to multiple circuit blocks | |
| US12541097B2 (en) | Optical path tracing in an optical circuit design | |
| US20240354477A1 (en) | Constant, equal, or opposite registers or ports detection during logic synthesis | |
| CN104823190A (zh) | 依照功能规范的有序结构提取 | |
| JP2024536744A (ja) | 光回路設計における光経路追跡 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MM4A | Annulment or lapse of patent due to non-payment of fees |