用于對電路設計進行仿真的方法和裝置的制造方法
【技術領域】
[0001] 本發明涉及集成電路設計技術,更具體地說,涉及用于對電路設計進行仿真 (simulation)的方法和設備。
【背景技術】
[0002] 在現代的集成電路設計流程中,需要使用EDA工具對集成電路設計進行仿真。仿 真占整個設計周期的比例通常多達70%。在進行仿真時,需要模擬電路中各個電路元件的 特性。送里的電路元件不僅包括電路中的各功能模塊,還包括功能模塊之間的連線。所述 特性包括邏輯特性和時序特性。所述邏輯特性指的是電路元件的輸入和輸出之間的關系, 所述時序特性指的是電路元件的延時、建立時間、保持時間等與時間相關的特性。電路元件 的特性通常存儲在與該電路元件相關的標注(annotation)中。
[0003] 本領域技術人員可W理解,一方面,對每個電路元件的特性考慮得越全面,所得到 的驗證結果就越精確,越能反應集成電路的實際情況;另一方面,對每個電路元件的特性考 慮得越全面,將導致仿真時的計算量增加。特別是,在對口級網表進行仿真時,由于元件數 目巨大,因此多考慮一項特性所導致的計算量增加都是非常可觀的。
[0004] -般來說,電路元件的邏輯特性是在仿真時需要考慮的基本特性。圖2示出了對 同一電路設計進行考慮時序特性的仿真和進行不考慮時序特性的仿真時所需要的仿真時 間。可W看出,在考慮時序特性的情況下,仿真所需要的時間是不考慮時序特性的仿真所需 要的時間的50多倍。
[0005] 因此,需要一種方法來縮短在考慮電路元件的時序特性時所需要的仿真時間。
【發明內容】
[0006] 根據本發明的一個方面,提供了一種用于對電路設計進行仿真的方法,包括:識別 電路設計中的至少一個時序邏輯元件到時序邏輯元件S2S塊,其中所述S2S塊包括至少一 個輸入端時序邏輯元件,至少一個輸出端時序邏輯元件,和輸入端時序邏輯元件與輸出端 時序邏輯元件之間的中間部分,并且其中所述中間部分包括至少一個組合邏輯元件;確定 所述中間部分的邏輯特性和時序特性;和W具有所述邏輯特性和時序特性的功能性模塊替 換所述中間部分,生成簡化的電路設計用于仿真。
[0007] 根據本發明的另一個方面,提供了一種用于對電路設計進行仿真的設備,包括:識 別裝置,配置為識別電路設計中的至少一個時序邏輯元件到時序邏輯元件S2S塊,其中所 述S2S塊包括至少一個輸入端時序邏輯元件,至少一個輸出端時序邏輯元件,和輸入端時 序邏輯元件與輸出端時序邏輯元件之間的中間部分,并且其中所述中間部分包括至少一個 組合邏輯元件;特性確定裝置,配置為確定所述中間部分的邏輯特性和時序特性;和簡化 裝置,配置為W具有所述邏輯特性和時序特性的功能性模塊替換所述中間部分,生成簡化 的電路設計用于仿真。
【附圖說明】
[0008] 通過結合附圖對本公開示例性實施方式進行更詳細的描述,本公開的上述W及其 它目的、特征和優勢將變得更加明顯,其中,在本公開示例性實施方式中,相同的參考標號 通常代表相同部件。
[0009] 圖1示出適于用來實現本發明實施方式的示例性計算機系統/服務器12的框圖。
[0010] 圖2示出仿真所需的時間。
[0011] 圖3示出根據本發明實施例的用于對電路設計進行仿真的方法的流程圖。
[0012] 圖4A和4B示出示例性的S2S塊。
[0013] 圖5A和圖5B示出仿真時的事件列表。
[0014] 圖6示出根據本發明實施例用于對電路設計進行仿真的方法的流程圖。
[0015] 圖7A、7B和7C示例性的S2S塊。
[0016] 圖8示出根據本發明實施例用于對電路設計進行仿真的設備的方框圖。
【具體實施方式】
[0017] 下面將參照附圖更詳細地描述本公開的優選實施方式。雖然附圖中顯示了本公開 的優選實施方式,然而應該理解,可W W各種形式實現本公開而不應被送里闡述的實施方 式所限制。相反,提供送些實施方式是為了使本公開更加透徹和完整,并且能夠將本公開的 范圍完整地傳達給本領域的技術人員。
[0018] 圖1示出了適于用來實現本發明實施方式的示例性計算機系統/服務器12的框 圖。圖1顯示的計算機系統/服務器12僅僅是一個示例,不應對本發明實施例的功能和使 用范圍帶來任何限制。
[0019] 如圖1所示,計算機系統/服務器12 W通用計算設備的形式表現。計算機系統 /服務器12的組件可W包括但不限于;一個或者多個處理器或者處理單元16,系統存儲器 28,連接不同系統組件(包括系統存儲器28和處理單元16)的總線18。
[0020] 總線18表示幾類總線結構中的一種或多種,包括存儲器總線或者存儲器控制器, 外圍總線,圖形加速端口,處理器或者使用多種總線結構中的任意總線結構的局域總線。舉 例來說,送些體系結構包括但不限于工業標準體系結構(ISA)總線,微通道體系結構(MAC) 總線,增強型ISA總線、視頻電子標準協會(VESA)局域總線W及外圍組件互連(PCI)總線。
[0021] 計算機系統/服務器12典型地包括多種計算機系統可讀介質。送些介質可W是 任何能夠被計算機系統/服務器12訪問的可用介質,包括易失性和非易失性介質,可移動 的和不可移動的介質。
[0022] 系統存儲器28可W包括易失性存儲器形式的計算機系統可讀介質,例如隨機存 取存儲器(RAM) 30和/或高速緩存存儲器32。計算機系統/服務器12可W進一步包括其 它可移動/不可移動的、易失性/非易失性計算機系統存儲介質。僅作為舉例,存儲系統34 可W用于讀寫不可移動的、非易失性磁介質(圖1未顯示,通常稱為"硬盤驅動器")。盡管 圖1中未示出,可W提供用于對可移動非易失性磁盤(例如"軟盤")讀寫的磁盤驅動器, W及對可移動非易失性光盤(例如CD-ROM, DVD-ROM或者其它光介質)讀寫的光盤驅動器。 在送些情況下,每個驅動器可W通過一個或者多個數據介質接口與總線18相連。存儲器28 可W包括至少一個程序產品,該程序產品具有一組(例如至少一個)程序模塊,送些程序模 塊被配置w執行本發明各實施例的功能。
[0023] 具有一組(至少一個)程序模塊42的程序/實用工具40,可W存儲在例如存儲器 28中,送樣的程序模塊42包括一但不限于一操作系統、一個或者多個應用程序、其它 程序模塊W及程序數據,送些示例中的每一個或某種組合中可能包括網絡環境的實現。程 序模塊42通常執行本發明所描述的實施例中的功能和/或方法。
[0024] 計算機系統/服務器12也可W與一個或多個外部設備14 (例如鍵盤、指向設備、 顯示器24等)通信,還可與一個或者多個使得用戶能與該計算機系統/服務器12交互的 設備通信,和/或與使得該計算機系統/服務器12能與一個或多個其它計算設備進行通信 的任何設備(例如網卡,調制解調器等等)通信。送種通信可W通過輸入/輸出(I/O)接 口 22進行。并且,計算機系統/服務器12還可W通過網絡適配器20與一個或者多個網絡 (例如局域網(LAN),廣域網(WAN)和/或公共網絡,例如因特網)通信。如圖所示,網絡適 配器20通過總線18與計算機系統/服務器12的其它模塊通信。應當明白,盡管圖中未示 出,可W結合計算機系統/服務器12使用其它硬件和/或軟件模塊,包括但不限于;微代 碼、設備驅動器、兀余處理單元、外部磁盤驅動陣列、RAID系統、磁帶驅動器W及數據備份存 儲系統等。
[0025] 如前所述,與不考慮電路元件時