提供了用于評估時鐘偏移的方法和裝置,所述方法包括:獲取電路中各個時鐘樹對應的基本時鐘偏移;判斷兩個單元是否位于同一時鐘域中;在其位于不同時鐘域的情況下,將單元之間的時鐘偏移評估為,兩個單元分別對應的時鐘樹的基本時鐘偏移中較大的一個;在兩個單元位于同一時鐘域的情況下,進一步判斷其是否位于同一電路層級邏輯塊中;在其位于不同層級邏輯塊的情況下,將單元之間的時鐘偏移評估為,兩個單元所在的時鐘樹的基本時鐘偏移加上由不同層級邏輯塊引起的時鐘偏移。所述裝置與方法對應。利用上述方法和裝置,能夠更加準確地評估電路中的時鐘偏移,從而提高電路設計的效率。
【技術實現步驟摘要】
本專利技術涉及ASIC設計領域,更具體而言,涉及在ASIC設計過程中評估時鐘偏移的方法和裝置。
技術介紹
在典型的ASIC(Application-Specific Integrated Circuit,專用集成電路)設計過程中,設計人員首先根據芯片電路所需的功能將電路劃分為多個功能塊,并用各種邏輯單元來實現各個功能塊。這樣的邏輯單元可以是各種連接點、邏輯門、寄存器等等。一般地,各種邏輯單元之間的連接關系記錄在網表文件中。根據網表的記錄,設計人員可以對各個邏輯單元進行初步的物理布局。從時序角度來說,網表中記錄的邏輯單元包括組合邏輯單元和時序邏輯單元,其中組合邏輯單元,例如各種邏輯門,其操作狀態僅與當時的輸入變量的狀態有關,而與歷史狀態和時序無關;而時序邏輯單元,例如寄存器、鎖存器,需要依賴于時鐘周期來維持和記錄之前的狀態。相應地,時序邏輯單元具有時鐘針腳,來接收時鐘輸入。為了使得各個時序邏輯單元獲得其需要的時鐘輸入,需要為時序邏輯單元設計時鐘樹,以示出從原始時鐘源到目標時序邏輯單元的路徑。一般地,時鐘樹包含作為時鐘倍頻器的鎖相環PLL和用于驅動時序邏輯單元的緩沖器。接著,將設計的時鐘樹插入到電路設計中,進一步調整物理布局。然后,對電路進行時鐘協調,在時序收斂(timing clean)的基礎上對電路進行布局布線,完成設計。在以上設計并插入時鐘樹的過程中,時鐘偏移(clock skew)是要考慮的重要因素。如上所述,整個電路的所有時序邏輯單元都需要提供有時鐘信號,然而從時鐘源到各個時序邏輯單元所經歷的路徑并不相同,這會導致時鐘信號到達不同時序邏輯單元的時間不同。這樣的時間差異也稱為時鐘偏移。引起時鐘偏移的因素有多種,包括不同單元之間路徑長度的差異、負載個數和大小的差異,以及OCV(on-chip variation,片上工藝差異)引起的偏移,等等。其中OCV差異包含制造工藝引起的差異、操作電壓差異、環境溫度差異等坐寸ο理想地,在設計時鐘樹的過程中,考慮與時鐘相關的各個因素而評估時鐘偏移,從而獲得偏移最小的時鐘樹。在插入時鐘樹時,基于評估的時鐘偏移,利用布局輔助工具(例如ros),對布局進行調整,來進一步減小時鐘偏移,并最終使得時序收斂。因此,對時鐘偏移的準確估計非常重要。在現有技術中,通常由設計人員根據時鐘樹中的時序邏輯單元的數目和位置來評估時鐘偏移;或者,也可以借助時鐘評估工具來進行時鐘偏移的評估。評估工具主要依據時鐘樹中緩沖器的類型、緩沖器的扇出、芯片大小等因素來評估時鐘偏移。但是,以上的評估方式仍存在較大不足。首先,由于所考慮的因素不夠全面,使得評估結果不夠精確。此外,以上方式通常給出一個全局的偏移值作為一個時鐘樹的時鐘偏移,該全局偏移值通常是時鐘路徑差異最大的兩個單元之間的信號到達時間差。而這樣的全局偏移值顯然無法準確描述任意兩個單元之間的時鐘差。出于以上原因,對電路中各個時序邏輯單元的時鐘偏移的估計往往不夠準確,出現估計不足或過度估計兩種情況。對時鐘偏移的估計不足使得在時鐘樹插入之后仍存在較大的時序缺陷有待修補;對時鐘偏移的過度估計則會使得布局輔助工具為了減小時鐘偏移而進行過度的優化工作,增加不必要的消耗。因此,希望提供一種優化的方式,能夠更加準確有效地評估時鐘偏移,從而提高ASIC設計的效率。
技術實現思路
鑒于以上的問題,提出本專利技術,旨在提供一種用于評估時鐘偏移的方法和裝置,以克服現有技術中的至少一項不足,更準確地評估電路中時序邏輯單元之間的時鐘偏移。根據本專利技術第一方面,提供了一種用于評估時鐘偏移的方法,包括獲取電路中各個時鐘樹對應的基本時鐘偏移;判斷電路中的第一單元和第二單元是否位于同一時鐘域中;響應于第一單元和第二單元位于不同時鐘域,將第一單元和第二單元之間的時鐘偏移評估為,第一單元和第二單元分別對應的時鐘樹的基本時鐘偏移中較大的一個;響應于第一單元和第二單元位于同一時鐘域,進一步判斷第一單元和第二單元是否位于同一電路層·級邏輯塊中;響應于第一單元和第二單元位于不同層級邏輯塊,將第一單元和第二單元之間的時鐘偏移評估為,第一單元和第二單元所在的時鐘樹的基本時鐘偏移加上由不同層級邏輯塊引起的時鐘偏移。根據本專利技術第二方面,提供了一種用于評估時鐘偏移的裝置,包括基本偏移獲取模塊,配置為獲取電路中各個時鐘樹對應的基本時鐘偏移;時鐘域判斷模塊,配置為判斷電路中的第一單兀和第二單兀是否位于同一時鐘域中;第一評估模塊,配置為,響應于第一單元和第二單元位于不同時鐘域,將第一單元和第二單元之間的時鐘偏移評估為,第一單元和第二單元分別對應的時鐘樹的基本時鐘偏移中較大的一個;層級判斷模塊,配置為,響應于第一單元和第二單元位于同一時鐘域,判斷第一單元和第二單元是否位于同一電路層級邏輯塊中;第二評估模塊,配置為,響應于第一單元和第二單元位于不同層級邏輯塊,將第一單元和第二單元之間的時鐘偏移評估為,第一單元和第二單元所在的時鐘樹的基本時鐘偏移加上由不同層級邏輯塊引起的時鐘偏移。利用以上的方法和裝置,能夠對電路中的時序邏輯單元之間的時鐘偏移進行更加準確地評估,從而有利于電路設計效率的提高。附圖說明圖I示例出根據本專利技術一個實施例的評估時鐘偏移的流程圖;圖2A示出一個電路的時鐘連接的例子;圖2B示出電路中時鐘連接的另一例子;圖3A示出一個電路時鐘路徑的例子;圖3B示出對圖3A的電路時鐘路徑進行改進的例子;圖4A示出另一個電路時鐘路徑的例子;圖4B不出對圖4A的電路時鐘路徑進彳丁改進的例子;圖5示出根據本專利技術一個實施例的用于評估時鐘偏移的裝置的示意框圖;以及圖6示出了適于用來實現本專利技術實施方式的示例性計算系統的框圖。具體實施例方式下面對本專利技術的具體實施方式進行詳細描述。所屬
的技術人員知道,本專利技術的多個方面可以體現為系統、方法或計算機程序產品。因此,本專利技術的多個方面可以具體實現為以下形式,即,可以是完全的硬件、完全的軟件(包括固件、駐留軟件、微代碼等)、或者本文一般稱為“電路”、“模塊”或“系統”的軟件部分與硬件部分的組合。此外,本專利技術的多個方面還可以采取體現在一個或多個計算機可讀介質中的計算機程序產品的形式,該計算機可讀介質中包含計算機可用的程序碼。可以使用一個或多個計算機可讀的介質的任何組合。計算機可讀介質可以是計算機可讀信號介質或者計算機可讀存儲介質。計算機可讀存儲介質例如可以是一但不限于——電的、磁的、光的、電磁的、紅外線的、或半導體的系統、裝置、器件或任何以上的組合。計算機可讀存儲介質的更具體的例子(非窮舉的列表)包括以下有一個或多個導線 的電連接、便攜式計算機磁盤、硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPR0M或閃存)、光纖、便攜式緊湊磁盤只讀存儲器(CD-ROM)、光存儲器件、磁存儲器件、或者上述的任何合適的組合。在本文件的語境中,計算機可讀存儲介質可以是任何包含或存儲程序的有形的介質,該程序被指令執行系統、裝置或者器件使用或者與其結合使用。計算機可讀的信號介質可包括在基帶中或者作為載波一部分傳播的、其中體現計算機可讀的程序碼的傳播的數據信號。這種傳播的信號可以采用多種形式,包括——但不限于——電磁信號、光信號或任何以上合適的組合。計算機可讀的信號介質可本文檔來自技高網...
【技術保護點】
一種用于評估時鐘偏移的方法,包括:獲取電路中各個時鐘樹對應的基本時鐘偏移;判斷電路中的第一單元和第二單元是否位于同一時鐘域中;響應于第一單元和第二單元位于不同時鐘域,將第一單元和第二單元之間的時鐘偏移評估為,第一單元和第二單元分別對應的時鐘樹的基本時鐘偏移中較大的一個;響應于第一單元和第二單元位于同一時鐘域,進一步判斷第一單元和第二單元是否位于同一電路層級邏輯塊中;響應于第一單元和第二單元位于不同層級邏輯塊,將第一單元和第二單元之間的時鐘偏移評估為,第一單元和第二單元所在的時鐘樹的基本時鐘偏移加上由不同層級邏輯塊引起的時鐘偏移。
【技術特征摘要】
【專利技術屬性】
技術研發人員:李恭瓊,戴紅衛,談珺,牛佳,
申請(專利權)人:國際商業機器公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。