檢測不合理元器件擺放約束的方法與裝置的製作方法
2023-05-02 14:43:51
專利名稱:檢測不合理元器件擺放約束的方法與裝置的製作方法
技術領域:
本發明是關於一種檢測用戶對元器件擺放的不合理約束的方法與裝置,尤其是關 於一種自動檢測集成電路(integrated circuit, IC)設計中用戶自定義的不合理的元器件 擺放約束的方法與裝置。
背景技術:
在IC設計中,通常依用戶的需求設計工具會按其默認的設置進行操作。以元器件 的擺放為例,較普遍的設計方法如圖1所示。首先在一前端設計的步驟700中生成一門級網 表,然後經後端設計的擺放優化步驟701、時鐘樹建立與優化步驟702和連線優化步驟703 等後端設計流程得到最終的IC設計結果。該設計方法簡便快捷,然在很多情況下,用戶認 為設計工具的默認設計不能涵蓋一些特別的需要,希望能根據自己的需求判斷加入一些特 殊的約束以尋求獲得更接近預期的設計結果。為滿足上述需求,圖2所示是一種可供用戶自定義的IC設計方法。在前端設計的 步驟710中以默認設置生成一門級網表;在步驟711中接收用戶自定義的元器件擺放約束, 在步驟712中將其與默認設置生成的門級網表一併輸入自定義的門級網表生成裝置,如編 譯器中;由該編譯器生成帶有用戶自定義的元器件擺放約束的門級網表。接著進入後端設 計流程,經擺放優化步驟713、時鐘樹建立與優化步驟714,及連線優化步驟715等得到最終 的IC設計結果。通過該可自定義的IC設計工具,用戶可加入自定義的元器件擺放約束來 控制設計的集成電路中的元器件以一種預期的排列方式組合在一起放置,希望藉此獲取更 優異的設計結果。但實際上,在很多情況下用戶自定義的元器件擺放約束並不會全部起到 改善作用,其中甚至可能會有一部分不合理的約束導致設計結果的惡化。然而,一直以來業 界的設計工具並沒有對用戶的這部分自定義約束提供甄別功能,用戶只能憑自己的經驗判 斷是否加入了不合理的約束,並手動檢出;因而難以保證理想的設計結果和設計效率。鑑於上述原因,現有的IC設計方法與裝置仍需進一步完善,如何自動檢測出用戶 自定義的不合理的元器件擺放約束具有極大的商業價值。
發明內容
本發明致力於提供一種自動檢測IC設計中用戶自定義的不合理的元器件擺放約 束的方法與裝置,其在滿足用戶自定義需求的同時,可避免用戶盲目設置造成的設計結果惡化。本發明提供一種檢測不合理的元器件擺放約束的方法,包含如下步驟產生一基 準集成電路設計;產生一自定義集成電路設計,其較該基準集成電路設計加入了至少一用 戶自定義的元器件擺放約束;將該基準集成電路設計與該自定義集成電路設計相比較,以 一判斷標準找出該自定義集成電路設計中所有較基準集成電路設計中對應路徑變差的路 徑;及找出該變差路徑上所有屬於該至少一用戶自定義的元器件擺放約束定義的元器件, 從而找到該至少一用戶自定義的元器件擺放約束中不合理的元器件擺放約束。
在一實施例中,該產生一基準集成電路設計步驟進一步包含由一前期設計流程 生成一基準門級網表;對該基準門級網表繼續一後端設計流程得到該基準集成電路設計。 該產生一自定義集成電路設計步驟進一步包含接收該至少一用戶自定義的元器件擺放約 束;由該至少一用戶自定義的元器件擺放約束與該基準門級網表生成一帶有用戶自定義的 元器件擺放約束的門級網表;對該帶有用戶自定義的元器件擺放約束的門級網表繼續該後 端設計流程得到該自定義集成電路設計。該後期設計流程可以是集成電路設計中後端設計 步驟中的任意步驟,該任意步驟可以是元器件擺放優化步驟及之前的所有後端設計步驟、 或時鐘樹建立和優化步驟及之前的所有後端設計步驟、或連線優化步驟及之前的所有後端 設計步驟。該判斷標準是該基準集成電路設計與該自定義集成電路設計中對應路徑的時間 餘量,其中時間餘量的值越小表示路徑越差。該判斷標準是該基準集成電路設計與該自定 義集成電路設計中對應路徑的實際長度,其中該實際長度的值越大表示路徑越差;或是該 基準集成電路設計與該自定義集成電路設計中對應路徑上的電容值,其中該電容值越大表 示路徑越差;或是該基準集成電路設計與該自定義集成電路設計中對應路徑上的元器件的 數目,其中數目越大表示路徑越差。對應本發明的方法,本發明還提供一種檢測不合理的元器件擺放約束的裝置。該 檢測不合理的元器件擺放約束的裝置包含一基準集成電路設計生成器,產生一基準集成電 路設計;一自定義集成電路設計生成器,產生較該基準集成電路設計加入了至少一用戶自 定義的元器件擺放約束的一自定義集成電路設計;一比較器,與該基準集成電路設計生成 器與該自定義集成電路設計生成器相連接,並接收該基準集成電路設計與該自定義集成電 路設計;將該基準集成電路設計與該自定義集成電路設計相比較,以一判斷標準找出該自 定義集成電路設計中所有較基準集成電路設計中對應路徑的變差路徑;及一定位器,與該 計較器相連接並接收該比較器的比較結果;及找出該變差路徑上所有由該至少一用戶自定 義的元器件擺放約束設置的元器件,從而找到該至少一用戶自定義的元器件擺放約束中不 合理的元器件擺放約束。在一實施例中,該基準集成電路設計生成器進一步包含一第一接收器,接收一前 期設計流程生成的一基準門級網表;一基準後端設計器,對該基準門級網表繼續一後端設 計流程從而得到該基準集成電路設計。該自定義集成電路設計生成器進一步包含一第二 接收器,接收該至少一用戶自定義的元器件擺放約束與該前期設計流程生成的基準門級網 表;一自定義門級網表生成器,將該基準門級網表與該至少一用戶自定義的元器件擺放約 束生成一帶有用戶自定義的元器件擺放約束的門級網表;及一自定義後端設計器,與該基 準後端設計器同步;對該帶有用戶自定義的元器件擺放約束的門級網表繼續該後端設計流 程得到該自定義集成電路設計。本發明較現有技術可自動檢出用戶自定義的不合理的元器件擺放約束,檢測結果 不必依賴用戶的經驗,因而不會錯檢、漏檢;進而使用戶自定義的元器件擺放約束的優化作 用最大化,設計結果更符合預期,設計效率高。
圖1是一未加入用戶自定義的元器件擺放約束的IC設計方法的流程圖;圖2是一加入用戶自定義的元器件擺放約束的IC設計方法的流程圖3是一根據本發明的自動檢測用戶自定義的不合理的元器件擺放約束的方法 的流程圖;圖4是根據本發明一實施例的自動檢測用戶自定義的不合理RP約束的方法的流 程圖;圖5是根據本發明的一實施例獲得的一基準IC設計的示意圖;圖6是根據本發明的一實施例獲得的一自定義IC設計的示意圖;圖7是根據本發明的一自動檢測用戶自定義的不合理的元器件擺放約束的裝置 的結構框圖;圖8是根據本發明一實施例的基準IC設計生成器的結構框圖;圖9是根據本發明一實施例的自定義IC設計生成器的結構框圖。
具體實施例方式為便於更好的理解本發明的精神,以下結合本發明的優選實施例對其作進一步說 明。本發明提供一種自動檢測IC設計中用戶自定義的不合理的元器件擺放約束的方法與裝置。如圖3所示,在一實施例中本發明的自動檢測IC設計中用戶自定義的不合理元器 件擺放約束的方法,以路徑(path)的好壞作為評價標準。首先在步驟10生成一個基準IC 設計,其元器件擺放約束完全是基於設計工具的默認設置。在步驟11生成一個自定義IC設 計,該自定義IC設計較該基準IC設計加入了至少一用戶自定義的元器件擺放約束。在步 驟12中將該基準IC設計與該自定義IC設計相比較,根據一判斷標準找出該自定義IC設 計中所有較該基準IC設計中對應的路徑變差的路徑。接著在步驟13,找出自定義IC設計 中變差路徑上所有由該用戶自定義的元器件擺放約束設置的元器件;如此即可定位找到對 應的用戶自定義的不合理的元器件擺放約束。根據本發明的自動檢測用戶自定義的不合理的元器件擺放約束的方法,其中路徑 好壞的判斷標準根據實際情況可以有多種選擇。例如,比較基準IC設計與自定義IC設計中 對應路徑上的時間餘量(timing slack)值,其中時間餘量的值越小表示路徑越差。例如, 比較基準IC設計與自定義IC設計中對應路徑的實際長度,其中路徑的長度越大表示路徑 越差。再例如,比較基準IC設計與自定義IC設計中對應路徑上的電容值,其中電容越大表 示路徑越差。或例如,比較基準IC設計與自定義IC設計中相應路徑上的元器件的數目,元 器件的數目越大表示路徑越差。具體的,如圖4所示,根據本發明的一實施例,在一 IC設計方法中,用戶可通過設 置自定義的元器件相關擺放(RP,relative placement)約束,預期獲得的IC設計中元器件 按該自定義RP約束的排列方式組合放置在一起。首先在步驟20,需要分別建立一個按系統默認設置進行元器件擺放的基準IC設 計和一個加入了用戶自定義的RP約束的自定義IC設計。其中建立該未加入用戶自定義的 RP約束的基準IC設計包含在步驟200接收在一前期的前端設計流程中依默認設置獲得 的一基準門級網表;在步驟201對該基準門級網表進行一後續的後端設計流程。而建立該 加入了用戶自定義的RP約束的自定義IC設計包含在步驟202接收用戶自定義的RP約束與該基準門級網表,在步驟203將該由前期設計生成的基準門級網表與用戶自定義的RP約 束一併輸入相應的IC設計工具中,如IC編譯器(Compiler)進行編譯,從而基於該基準門 級網表與用戶自定義的RP約束產生一自定義門級網表;接著在步驟204對該自定義門級網 表進行後續的後端設計流程。當然該基準門級網表與自定義門級網表所繼續的後端設計流程必須是相同的,以 保證基準IC設計與自定義IC設計的可比性。在實際應用中,該基準IC設計與自定義IC 設計可以是集成電路設計中後端設計流程中任意一個相同步驟後的結果,如可以是經過擺 放優化步驟之後的設計結果、時鐘樹建立與優化步驟之後的設計結果,及連線優化步驟之 後的設計結果;在擺放優化步驟中可以在基本的擺放和優化之後,也可以是在多次擺放優 化之後。用戶可根據需要隨意自一後端設計流程中選擇設計結果比較。本實施例中,用戶 是在得到相應的基準門級網表與自定義門級網表後,經後端設計的初始擺放、初始設計規 則檢查(design rule check)優化和初始時鐘樹優化三個步驟後得到相應的基準IC設計 與自定義IC設計。在步驟21比較該基準IC設計與自定義IC設計,找出該自定義IC設計中所有比 該基準IC設計中相應路徑變差的路徑。如選取時間餘量為判斷標準,找出其中該自定義IC 設計中所有較基準IC設計中相應路徑具有更大時間餘量的路徑,這些路徑就是因用戶自 定義的RP約束加入而變得惡化。接著在步驟22找出所有位於該變差的路徑上的是由用戶自定義的RP約束設置的 元器件,由該元器件找到相應的用戶自定義RP約束,其即是不合理的用戶自定義RP約束。圖5與圖6分別是根據本發明一實施例所獲得的基準IC設計40與自定義IC設 計41的示意圖。如圖5所示,該基準IC設計40包含若干端腳和若干元器件,其中元器件的擺放是 按設計工具默認設置確定的。以其中的兩條路徑為例,其中第一路徑50以一端腳500為 起點,依次包含元器件501、502、503,第二路徑51以另一端腳510為起點,依次包含元器件 511、512、513、514。如圖6所示,該自定義IC設計41包含與圖5中基準IC設計40中同樣的端腳和 元器件,其中部分元器件的擺放是根據用戶自定義的RP約束設置的。具體的,用戶自定義 的RP約束設置了兩個自定義元器件組52、53 ;—第三路徑55對應基準IC設計40中的第 一路徑50,一第四路徑56對應基準IC設計20的第二路徑51 ;而且該第三路徑55中的一 元器件503的位置是由用戶自定義的RP決定的,包含在自定義元器件組53內。以時間餘量為判斷標準比較該基準IC設計40與該自定義IC設計41中的所有對 應路徑,即比較圖5中的第一路徑50與圖6中的第三路徑55,圖5中的第二路徑51與圖6 中的第四路徑56,可發現該自定義IC設計41中的第三路徑55較基準IC設計40中的相 應路徑——第一路徑50的時間餘量更長,說明該第三路徑55是因加入了用戶自定義的RP 約束而變差的路徑。由於該第三路徑55中的元器件503屬於自定義元器件組53,因此設置 該自定義元器件組53的用戶自定義RP約束即是造成該第三路徑55變差的不合理的RP約 束ο對應本發明的方法,本發明還提供一種自動檢測用戶自定義的不合理的元器件擺 放約束的裝置。
如圖7所示,該檢測用戶自定義的不合理的元器件擺放約束的裝置6,包含一基準 IC設計生成器60、一自定義IC設計生成器61、一比較器62,及一定位器63。首先該基準IC設計生成器60與一自定義IC設計生成器61分別生成一個基準IC 設計與一自定義IC設計。該基準IC設計的元器件擺放約束完全是基於設計工具的默認設 置,該自定義IC設計較該基準IC設計加入了至少一用戶自定義的元器件擺放約束。該比 較器62將該基準IC設計與該自定義IC設計相比較,根據一判斷標準找出該自定義IC設 計中所有較該基準IC設計中對應的路徑變差的路徑。接著,由定位器63找出自定義IC設 計中變差路徑上所有由該用戶自定義的元器件擺放約束設置的元器件;如此即可定位找到 用戶自定義的不合理的元器件擺放約束。具體的,根據本發明的一實施例,在一檢測用戶自定義的不合理的元器件擺放約 束的裝置6中,用戶可通過設置自定義的元器件相關擺放(RP,relative placement)約束, 預期獲得的IC設計中元器件按該RP約束規定的排列方式組合放置在一起。圖8、圖9是該自動檢測用戶自定義的不合理的RP約束的裝置6的基準IC設計生 成器60與自定義IC設計生成器61的結構框圖,其中該基準IC設計生成器60是用於建立 一個按系統默認設置進行元器件擺放的基準IC設計,該自定義IC設計生成器61是用於建 立一個加入了用戶自定義的RP約束的自定義IC設計。如圖8所示,該基準IC設計生成器60包含一第一接收器600與一基準後端設計 器601,其建立該未加入用戶自定義的RP約束的基準IC設計包含該第一接收器600接收 在前期的前端設計流程中依默認設置獲得的一基準門級網表;該基準後端設計器601對該 基準門級網表進行一後續的後端設計流程。而如圖9所示,該自定義IC設計生成器61包含一第二接收器610與一自定義後 端設計器611,其建立該加入了用戶自定義的RP約束的自定義IC設計包含該第二接收器 610接收用戶自定義的RP約束與該由前期設計生成的基準門級網表,將該基準門級網表與 用戶自定義的RP約束一併輸入該自定義門級網表生成器611中,從而由該自定義門級網表 生成器611基於該基準門級網表與用戶自定義的RP約束生成一自定義門級網表;接著由一 自定義後端設計器612對該自定義門級網表進行後續的後端設計流程。由於該基準門級網表與自定義門級網表所繼續的後端設計流程必須是相同的,以 保證產生的基準IC設計與自定義IC設計的可比性。在本實施例中,基準IC設計生成器60 的基準後端設計器601與自定義IC設計生成器61的自定義後端設計器612之間是通過同 步信號控制的,以保證該基準IC設計與自定義IC設計僅存在用戶自定義的RP約束這一區 別。在實際應用中,只需保證該基準IC設計40與自定義IC設計41所經歷的後端設計流 程相同即可,可以是後端設計流程中任意一個相同步驟後的結果,如可以在基本的擺放和 優化之後,也可以是在多次擺放優化之後。用戶可根據需要隨意自一後端設計流程中選擇 設計結果比較。例如,用戶可以是在得到相應的基準門級網表與自定義門級網表後,經後端 設計的初始擺放、初始設計規則檢查優化和初始時鐘樹優化三個步驟後得到相應的基準IC 設計與自定義IC設計。該基準IC設計生成器60生成的基準IC設計與自定義IC設計生成器所生成的自 定義IC設計將輸入比較器62進行比較,由比較器以一判斷標準找出該自定義IC設計41 中所有比該基準IC設計中相應路徑變差的路徑。如比較器62可以選取時間餘量為判斷標準,找出該自定義IC設計中所有較基準IC設計中相應路徑具有更大時間餘量的路徑,這些 路徑就是因用戶自定義的RP約束加入而變得惡化。接著定位器63根據比較器62的比較結果找出所有位於該變差的路徑上由用戶自 定義的RP約束設置的元器件,再由該元器件找到相應的用戶自定義RP約束,其即是不合理 的用戶自定義RP約束。本發明的自動檢測用戶自定義的不合理的元器件擺放約束的方法與裝置,在找出 不合理的用戶自定義的元器件擺放約束後,可通知用戶剔除這些不合理的元器件擺放約束 重新生成自定義門級網表進行後續設計,從而得到最優化的元器件擺放方案。與現有技術相比,本發明可自動檢測出用戶自定義的不合理的元器件擺放約束, 使得用戶可得到更符合預期的集成電路設計,而不必擔心自定義可能造成的設計結構惡 化;且較手動檢查定位不合理的元器件擺放約束,極大提高了檢測的準確率與效率。本發明的技術內容及技術特點已揭示如上,然而熟悉本領域的技術人員仍可能基 於本發明的教示及揭示而作種種不背離本發明精神的替換及修飾。因此,本發明的保護範 圍應不限於實施例所揭示的內容,而應包括各種不背離本發明的替換及修飾,並為本專利 申請權利要求所涵蓋。
權利要求
1.一種檢測不合理的元器件擺放約束的方法,其特徵在於包含如下步驟產生一基準集成電路設計;產生一自定義集成電路設計,其較該基準集成電路設計加入了至少一用戶自定義的元 器件擺放約束;將該基準集成電路設計與該自定義集成電路設計相比較,以一判斷標準找出該自定義 集成電路設計中所有較該基準集成電路設計中對應路徑變差的路徑;及找出該變差路徑上所有由該至少一用戶自定義的元器件擺放約束設置的元器件,從而 找到該至少一用戶自定義的元器件擺放約束中不合理的元器件擺放約束。
2.根據權利要求1所述的檢測不合理的元器件擺放約束的方法,其特徵在於其中該產 生一基準集成電路設計步驟進一步包含接收由一前期設計流程生成的一基準門級網表;及對該基準門級網表繼續一後期設計流程得到該基準集成電路設計。
3.根據權利要求2所述的檢測不合理的元器件擺放約束的方法,其特徵在於其中該產 生一自定義集成電路設計步驟進一步包含接收該至少一用戶自定義的元器件擺放約束;接收由該前期設計流程生成的該基準門級網表;基於該至少一用戶自定義的元器件擺放約束與該基準門級網表生成一自定義門級網 表;及對該自定義門級網表繼續該後期設計流程得到該自定義集成電路設計。
4.根據權利要求2或3之一所述的檢測不合理的元器件擺放約束的方法,其特徵在於 其中該後期設計流程可以是集成電路設計中後端設計步驟中的任意步驟。
5.根據權利要求4所述的檢測不合理的元器件擺放約束的方法,其特徵在於其中該任 意步驟可以是元器件擺放優化步驟及其之前的所有後端設計步驟、或時鐘樹建立和優化步 驟及其之前的所有後端設計步驟、或連線優化步驟及其之前的所有後端設計步驟。
6.根據權利要求1所述的檢測不合理的元器件擺放約束的方法,其特徵在於其中該判 斷標準是該基準集成電路設計與該自定義集成電路設計中對應路徑的時間餘量,其中時間 餘量的值越小表示路徑越差。
7.根據權利要求1所述的檢測不合理的元器件擺放約束的方法,其特徵在於其中該判 斷標準是該基準集成電路設計與該自定義集成電路設計中對應路徑的實際長度,其中該實 際長度的值越大表示路徑越差。
8.根據權利要求1所述的檢測不合理的元器件擺放約束的方法,其特徵在於其中該判 斷標準是該基準集成電路設計與該自定義集成電路設計中對應路徑上的電容值,其中該電 容值越大表示路徑越差。
9.根據權利要求1所述的檢測不合理的元器件擺放約束的方法,其特徵在於其中該判 斷標準是該基準集成電路設計與該自定義集成電路設計中對應路徑上的元器件的數目,其 中數目越大表示路徑越差。
10.一種檢測不合理的元器件擺放約束的裝置,其特徵在於包含一基準集成電路設計生成器,產生一基準集成電路設計;一自定義集成電路設計生成器,產生一自定義集成電路設計,其較該基準集成電路設計加入了至少一用戶自定義的元器件擺放約束;一比較器,與該基準集成電路設計生成器及該自定義集成電路設計生成器相連接;將 該基準集成電路設計與該自定義集成電路設計相比較,以一判斷標準找出該自定義集成電 路設計中所有較基準集成電路設計中對應路徑的變差路徑;及一定位器,與該計較器相連接並接收該比較器的比較結果,找出該變差路徑上所有由 該至少一用戶自定義的元器件擺放約束設置的元器件,從而定位找到該至少一用戶自定義 的元器件擺放約束中不合理的元器件擺放約束。
11.根據權利要求10所述的檢測不合理的元器件擺放約束的裝置,其特徵在於其中該 基準集成電路設計生成器進一步包含一第一接收器,接收一前期設計流程生成的一基準門級網表;及一基準後端設計器,對該基準門級網表進行一後期設計流程從而得到該基準集成電路 設計。
12.根據權利要求11所述的檢測不合理的元器件擺放約束的裝置,其特徵在於其中該 自定義集成電路設計生成器進一步包含一第二接收器,接收該至少一用戶自定義的元器件擺放約束及該基準門級網表;一自定義門級網表生成器,基於該基準門級網表與該至少一用戶自定義的元器件擺放 約束生成一自定義門級網表;及一自定義後端設計器,與該基準後端設計器同步;對該自定義門級網表進行該後期設 計流程得到該自定義集成電路設計。
13.根據權利要求11或12之一所述的檢測不合理的元器件擺放約束的裝置,其特徵在 於其中該後期設計流程可以是集成電路設計中後端設計步驟中的任意步驟。
14.根據權利要求13所述的檢測不合理的元器件擺放約束的裝置,其特徵在於其中該 任意步驟可以是元器件擺放優化步驟及之前的所有後端設計步驟、或時鐘樹建立和優化步 驟及之前的所有後端設計步驟、或連線優化步驟及之前的所有後端設計步驟。
15.根據權利要求10所述的檢測不合理的元器件擺放約束的裝置,其特徵在於其中該 判斷標準是該基準集成電路設計與該自定義集成電路設計中對應路徑的時間餘量,其中時 間餘量的值越小表示路徑越差。
16.根據權利要求10所述的檢測不合理的元器件擺放約束的裝置,其特徵在於其中該 判斷標準是該基準集成電路設計與該自定義集成電路設計中對應路徑的實際長度,其中該 實際長度的值越大表示路徑越差。
17.根據權利要求10所述的檢測不合理的元器件擺放約束的裝置,其特徵在於其中該 判斷標準是該基準集成電路設計與該自定義集成電路設計中對應路徑上的電容值,其中該 電容值越大表示路徑越差。
18.根據權利要求10所述的檢測不合理的元器件擺放約束的裝置,其特徵在於其中該 判斷標準是該基準集成電路設計與該自定義集成電路設計中對應路徑上的元器件的數目, 其中元器件的數目越大表示路徑越差。
全文摘要
本發明提供一種自動檢測用戶自定義的不合理RP約束的方法與裝置,其中該檢測方法包含分別產生一基準集成電路設計與一自定義集成電路設計,該自定義集成電路設計較該基準集成電路設計加入了至少一用戶自定義的元器件擺放約束;將該基準集成電路設計與該自定義集成電路設計相比較,以一判斷標準找出該自定義集成電路設計中所有較基準集成電路設計中對應路徑變差的路徑;然後找出該變差路徑上所有屬於該至少一用戶自定義的元器件擺放約束定義的元器件,從而找到該至少一用戶自定義的元器件擺放約束中不合理的元器件擺放約束。本發明具有檢測結果準確、檢測效率高,設計結果更符合預期的優點。
文檔編號G06F17/50GK102054080SQ20091021139
公開日2011年5月11日 申請日期2009年10月30日 優先權日2009年10月30日
發明者幸波, 石國語 申請人:新思科技(上海)有限公司