TWI479351B - 模擬電路設計之方法及設備以及電腦可讀取儲存媒體 - Google Patents

模擬電路設計之方法及設備以及電腦可讀取儲存媒體 Download PDF

Info

Publication number
TWI479351B
TWI479351B TW099111440A TW99111440A TWI479351B TW I479351 B TWI479351 B TW I479351B TW 099111440 A TW099111440 A TW 099111440A TW 99111440 A TW99111440 A TW 99111440A TW I479351 B TWI479351 B TW I479351B
Authority
TW
Taiwan
Prior art keywords
value
clock
circuit design
signal
sampling
Prior art date
Application number
TW099111440A
Other languages
English (en)
Other versions
TW201104479A (en
Inventor
Alexander Rabinovitch
Ramesh Narayanaswamy
Original Assignee
Synopsys Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Synopsys Inc filed Critical Synopsys Inc
Publication of TW201104479A publication Critical patent/TW201104479A/zh
Application granted granted Critical
Publication of TWI479351B publication Critical patent/TWI479351B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking

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)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)

Description

模擬電路設計之方法及設備以及電腦可讀取儲存媒體
本揭示一般係相關於電子設計自動化。尤其是,本揭示係相關於用於邏輯模擬及/或仿真之方法和設備。
由於設計和驗證工具的進步使得計算技術能夠快速進展,因為沒有此種工具,幾乎無法設計和驗證今日計算裝置中常見之複雜的積體電路。邏輯模擬及仿真技術在驗證電路設計中扮演重要角色。
需注意的是,通常想要提高邏輯模擬及/或仿真技術的準確度。例如,藉由仿真電路設計幾百萬循環,半導體公司通常使用硬體仿真來驗證電路設計的行為。若在硬體仿真期間偵測到錯誤,則錯誤通常被局部化到合理的小循環範圍,如、幾千循環。然後,在小循環範圍上執行詳細的邏輯模擬以去除電路錯誤。
為了使用此途徑成功去除電路錯誤,模擬器理想上應以遵循硬體語意之方式來模擬電路。若邏輯模擬器以未遵循硬體語意之方式來模擬電路,則邏輯模擬器無法複製錯誤,或錯誤會在模擬期間以不同方式呈現出來。在另一情況中,錯誤將不固定。不幸地是,習知邏輯模擬器無法以遵循硬體語意之方式來模擬電路。
本發明的一些實施例提供用以模擬電路設計使得模擬遵循硬體語意之技術和系統。尤其是,藉由適當處理邏輯模擬期間可能發生之狀態元件中的競賽條件及/或時脈樹中的錯誤信號,一些實施例確保模擬遵循硬體語意。
需注意的是,可以不同的抽象化位準來模擬電路。另外,可使用不同的技術來模擬電路。此揭示所說明之技術和系統通常可應用到需要適當處理邏輯模擬期間可能發生之狀態元件中的競賽條件及/或時脈樹中的錯誤信號之任何類型的邏輯模擬。尤其是,此揭示所說明之技術和系統可被用於邏輯模擬器和仿真器。
邏輯模擬循環可被認為包括兩階段:激源施加階段和時脈傳播階段。在激源施加階段中,施加激源並且值係經由組合邏輯來傳播。在激源施加階段的末端,組合邏輯反映所施加之激源的效果。需注意的是,此階段所傳播之值未依賴時脈信號。在時脈傳播階段中,系統評估依賴時脈之信號值。本發明的一些實施例在激源施加階段取樣信號值,及在時脈傳播階段使用取樣信號值來處理邏輯模擬期間可能發生之狀態元件中的競賽條件及/或時脈樹中的錯誤信號。尤其是,為了確保邏輯模擬遵循硬體語意,一些實施例以不同於習知邏輯模擬器之方式來模擬位準靈敏順序電路元件(如、鎖存器)和邊緣觸發順序電路元件(如、正反器)。
需注意的是,電路可包括一或多個位準靈敏順序電路元件及/或一或多個邊緣觸發順序電路元件。本發明的一些實施例確保滿足下面要求:(1)當在同一時脈循環內評估兩或多個邊緣觸發順序電路元件時,邊緣觸發順序電路元件的其中之一的新輸出值不應影響那循環中之另一邊緣觸發順序電路元件的輸出值;(2)若由於循環的末端鎖存器的時脈變得穩定不活動,則在時脈傳播階段期間不應改變位準靈敏順序電路元件的輸出;及(3)甚至當時脈的其中之一是更新順序電路元件的結果時仍必須滿足上述兩要求。
當一群條件中的至少一條件為真時,位準靈敏順序電路元件傳播其輸入值到其輸出。系統可模擬位準靈敏順序電路元件如下。在激源施加階段期間,系統可取樣位準靈敏順序電路元件的輸出,以獲得取樣值。接著,在時脈傳播階段期間,若系統決定一群條件中的所有條件為假,則系統能夠分配取樣值給順序電路元件的輸出。
當邊緣觸發順序電路元件在其時脈輸入的至少其中之一上接收觸發邊緣變換時,邊緣觸發順序電路元件傳播其資料輸入值到其資料輸出。不失一般性地,可假設當時脈輸入從第一值變換到第二值時發生觸發邊緣變換。就正邊緣觸發順序電路元件而言,第一值為低值,而第二值為高值,相反地,就負邊緣觸發順序電路元件而言,第一值為高值,而第二值為低值。系統可模擬邊緣觸發順序電路元件如下。在激源施加階段期間,系統能夠取樣邊緣觸發順序電路元件的輸入、輸出、和時脈,以獲得取樣輸入值、取樣輸出值、和取樣時脈值。接著,在時脈傳播階段期間,若系統偵測時脈輸入經歷從第一值到第二值的觸發邊緣變換,以及偵測取樣時脈值等於第一值,則系統能夠分配取樣輸入值給順序電路元件的資料輸出。另外,在時脈傳播階段期間,若系統偵測從第二值到第一值之時脈輸入中的非觸發邊緣變換,則系統能夠分配取樣輸出值給順序電路元件的資料輸出。
需注意的是,在系統於激源施加階段期間取樣它們的值之後,順序元件的輸出會改變。因此,當系統分配取樣值給順序元件的輸出時,系統有效地分配值給順序元件的輸出,其不同於由習知模擬器及/或仿真器所分配之值。順序元件的輸出之此條件修正防止由於狀態元件中的競賽條件及/或時脈信號中的錯誤信號所導致之邏輯模擬及/或仿真的不準確。尤其是,本發明的實施例通常可與任何模擬器一起使用,任何模擬器包括但並不侷限於事件驅動模擬器、循環為基的模擬器、和使用忘卻模擬技術之模擬器。
需注意的是,在時脈傳播階段期間,無法決定目前評估是否為最後評估。然而,若系統確保在各個評估的末端模擬狀態與硬體語意一致,則其能夠保證在最後評估之後模擬狀態將與硬體一致。本發明的一些實施例確保在各個評估的末端模擬狀態與硬體語意一致,藉以確保在時脈傳播階段的末端模擬狀態與硬體語意一致。
硬體描述語言會或不會支援取樣指令。若硬體描述語言未支援取樣指令,則系統能夠修改硬體描述語言的語意,使得模擬器以遵循硬體語意之方式來模擬或仿真順序電路元件。另一方面,若硬體描述語言支援取樣指令,則系統能夠選用地使用取樣指令來重寫順序電路元件的描述,使得重寫的電路描述遵循硬體語意。需注意的是,本發明的實施例可應用到兩值邏輯與多值邏輯。尤其是,本發明的實施例可被用於模擬四值邏輯。
提出下面說明以使熟悉本項技術之人士能夠進行和使用本發明,並且按特定應用和其要求來提供下面說明。只要不違背本揭示的精神和範疇,熟悉本項技術之人士將可充分了解可進行針對所揭示的實施例之各種修正,及此處所定義之通則可應用到其他實施例和應用。如此,本發明並不侷限於所示之實施例,而是符合與此處所揭示之原則和特徵一致的最廣泛範圍。
此詳細說明所說明之資料結構和碼典型上係儲存於電腦可讀取儲存媒體上,此電腦可讀取儲存媒體可以是能夠儲存供給電腦系統使用的碼及/或資料之任何裝置或媒體。電腦可讀取儲存媒體包括但並不侷限於:揮發性記憶體,非揮發性記憶體,磁性及光學儲存裝置,諸如碟驅動器、磁帶、CD(光碟)、DVD(數位多用途碟或數位視頻碟)等,或能夠儲存現在已知或以後發展的電腦可讀取媒體之其他媒體。
此詳細說明段所說明之方法和程序可被賦予碼及/或資料的形式,其可被儲存在如上述之電腦可讀取儲存媒體。當電腦系統讀出和執行儲存在電腦可讀取儲存媒體上之碼及/或資料時,電腦系統執行被賦予資料結構和碼的形式並且儲存在電腦可讀取儲存媒體內之方法及程序。
而且,可將此處所說明的方法及程序包括在硬體模組或設備中。這些模組或設備可包括但並不侷限於:特定應用積體電路(ASIC)晶片、現場可程式閘陣列(FPGA)、在特定時間執行特定軟體模組或一段碼之專屬或共享處理器、及/或現在已知或以後將發展之其他可程式邏輯裝置。當致動硬體模組或設備時,硬體模組或設備執行包括在它們之中的方法及程序。
積體電路(IC)設計流
圖1表示根據本發明的實施例之積體電路的設計和製造程序之各種階段。
IC設計程序典型上開始於產品概念(操作100),其使用EDA程序來實現(操作110)。一旦完成設計,典型上將其下線(事件140),其意指進入製造程序(操作150)與封裝及組裝程序(操作160),以生產所製造的微晶片(結果170)。
EDA程序(操作110)包含操作112-130,其以下的說明僅為了圖解而不用於限制本發明。尤其是,實際積體電路設計需要設計者能夠以除了以下說明的順序之不同順序來執行設計操作。
系統設計(操作112):在此階段,設計者描述實施產品概念的功能。他們亦能夠執行“會如何”規畫以使功能更加提升、執行成本分析等。硬體-軟體架構劃分可出現在此階段。可用於此階段之來自Synopsys,Inc.的例示EDA軟體產品包括Model Architect、Saber、System Studio、及DesignWare
邏輯設計和功能驗證(操作114):在此階段,寫入用於系統中的模組之VHDL、Verilog或System Verilog碼,及可為功能準確性核對設計。尤其是,可核對設計以確保其產生正確回應。可用於此階段之來自Synopsys,Inc.的例示EDA軟體產品包括VCS、Vera、DesignWare、MagellanTM 、Formality、ESP和Leda
測試的合成和設計(操作116):在此階段,可將VHDL/Verilog來源碼翻譯成網路連線表。另外,可為目標技術最佳化網路連線表,及可設計和實施測試,以核對所製造的微晶片。可用於此階段之來自Synopsys,Inc.的例示EDA軟體產品包括Design Compiler、Physical Compiler、Test Compiler、Power CompilerTM 、FPGA Compiler、TetraMAX、及DesignWare
網路連線表驗證(操作118):在此階段,可為遵循時序限制和為與VHDL/Verilog來源碼的對應性核對網路連線表。可用於此階段之來自Synopsys,Inc.的例示EDA軟體產品包括Formality、PrimeTime、及VCS
設計規劃(操作120):在此階段,可為時序和最高位準的路由構製和分析用於微晶片的整個平面設計。可用於此階段之來自Synopsys,Inc.的例示EDA軟體產品包括AstroTM 和IC Compiler產品。
實體實施(操作122):在此階段發生置放(電路元件的定位)和路由(互連的置放)。可用於此階段之來自Synopsys,Inc.的例示EDA軟體產品包括AstroTM 和IC Compiler產品。
分析和析取(操作124):在此階段,可以電晶體位準驗證電路的功能;接著,此讓“會如何”更加精鍊。可用於此階段之來自Synopsys,Inc.的例示EDA軟體產品包括AstroRailTM 、PrimeRail、PrimeTime、及Star-RCXTTM
實體驗證(操作126):在此階段,可核對設計,以確保製造、電議題、微影議題、和電路系統的正確性。HerculesTM 是可用於此階段之來自Synopsys,Inc.的例示EDA軟體產品。
解析度增強(操作128):此階段包含佈局的幾何操縱,以提高設計的可製造性。可用於此階段之來自Synopsys,Inc.的例示EDA軟體產品包括Proteus/Progen、ProteusAF、及PSMGen。
遮罩資料備製(操作130):此階段包含用於遮罩產生之“下線”資料,以產生完成晶片。可用於此階段之來自Synopsys,Inc.的例示EDA軟體產品包括CATS產品家族。
邏輯模擬系統
圖2表示根據本發明的實施例之用以分析電路設計的例示計算環境。計算環境200可包括工作站202、邏輯模擬系統204、和電路仿真系統206。在操作期間,使用者208可使用工作站202來產生用於電路設計的實施。使用者208可使用邏輯模擬系統204來模擬電路設計210的一部分,和產生模擬輸出214。使用者208亦可使用電路仿真系統206來仿真電路設計210,和產生仿真輸出212。需注意的是,電路仿真系統206可使用專門硬體來加速電路仿真。若仿真輸出212指出電路設計210具有錯誤,則使用者208能夠使用邏輯模擬系統204來幫助去除電路設計210錯誤。
圖3為根據本發明的實施例之用以模擬電路設計之程序的流程圖。
該程序係可藉由電腦系統來執行,電腦系統包括電腦可讀取儲存媒體,其儲存當電腦系統執行時使電腦系統能夠執行模擬電路設計之指令。系統可開始於接收電路設計的描述(操作302)。電路係可使用任何硬體描述語言來說明,其包括但並不侷限於VHDL、Verilog、System Verilog、或任何現在已知或以後將發展的其他硬體描述語言。然後,系統能夠分析電路設計的描述,以識別必須根據新語意來模擬之順序電路元件和主要時脈(操作304)。接著,系統能夠根據新語意來模擬電路設計(操作306)。在一些實施例中,可修正編譯程式,使得編譯程式所產生的可執行包括實施新語意的指令。在其他實施例中,系統可使用“取樣”指令來重寫電路描述,使得重寫的描述實施新語意。
在各個模擬循環中,系統能夠藉由施加測試台激源來執行激源施加階段(操作308),在其中,系統評估未依賴電路設計的時脈輸入之信號。在激源施加階段期間,或在激源施加階段完成之後和時脈傳播階段開始之前,系統能夠取樣與順序電路元件相關聯的信號(操作310)。接著,系統能夠執行時脈傳播階段(操作312),在其中,系統能夠評估依賴電路設計的時脈輸入之信號。
位準靈敏順序元件
位準靈敏順序元件通常為當符合一或多個條件時傳播資料輸入值到資料輸出之任何順序元件。例如,若鎖存器的時脈輸入(即、賦能信號)是穩定活動的,則鎖存器傳播其資料輸入的值到其輸出。需注意的是,通常,位準靈敏順序元件可具有多個輸入和輸出。另外,將位準靈敏順序元件的輸入值傳播到其輸出之一或多個條件可能是隨意複雜的。
表格1A及1B圖解根據本發明的實施例之位準靈敏順序電路元件的鎖存器如何能夠使用新語意來模擬。
鎖存器可使用下面硬體描述語言陳述來說明:“always@(C or D)if(C)Q=D”,其中“C”為鎖存器的時脈輸入,“D”為鎖存器的輸入,及“Q”為鎖存器的輸出。本發明的一些實施例根據新語意來模擬鎖存器,新語意不同於習知模擬器所使用的習知語意。
尤其是,如下面表格1A所示,鎖存器被模擬如下。若鎖存器(C)的時脈輸入改變值,或若鎖存器(D)的資料輸入改變值,則若時脈輸入(C)保留穩定活動的值,鎖存器(Q)的資料輸出被分配來自資料輸入(D)的值。否則,取樣值被分配到鎖存器的資料輸出。
需注意的是,表格1A僅圖解表示新語意的許多方式之之一。例如,下面所示的表格1B以不同方式表示新語意。表格1B中的第一陳述複製習知語意的行為:若鎖存器(C)的時脈輸入改變值,或若鎖存器(D)的資料輸入改變值,則若時脈輸入保留觸發值(即、穩定活動的值),鎖存器(Q)的資料輸出被分配來自資料輸入(D)的值。第二陳述是新的,即、在模擬鎖存器的同時,習知模擬器將不執行第二陳述所說明的操作。第二陳述指明若時脈輸入從觸發值變換到非觸發邊緣值,則鎖存器的資料輸出被分配來自資料輸出的取樣值。
需注意的是,表格1A及1B所示之新模擬語意可應用到兩值邏輯與多值邏輯。尤其是,新模擬語意可被用於四值邏輯模擬。
圖4為根據本發明的實施例之用以模擬位準靈敏順序電路元件的程序之流程圖。需注意的是,圖4圖解在新語意之下所執行的新操作。在習知語意(如、表格1A中的第一陳述)之下所執行的操作亦被執行,但為了清楚並未圖示於圖4。
系統可開始於接收電路設計的描述(操作402)。接著,系統為電路設計中的位準靈敏順序電路元件之邏輯模擬執行激源施加階段(操作404)。需注意的是,當一群條件中的至少一條件為真時,位準靈敏順序電路元件傳播其輸入值到其輸出。在激源施加階段中,系統取樣順序電路元件的資料輸出,以獲得取樣輸出值(操作406)。然後,系統為順序電路元件的邏輯模擬執行時脈傳播階段(操作408)。在時脈傳播階段中,系統決定一群條件中的所有條件是否為假(操作410)。若一群條件中的所有條件為假,則系統分配取樣輸出值到順序電路元件的資料輸出信號(操作412)。若一群條件中的至少一條件為真,則系統能夠根據習知語意來模擬。
在一些實施例中,在接近激源施加階段的末端時,操作406取樣信號的值,及在至少整個後續時脈傳播階段,系統保留取樣值。因此,若時脈傳播階段使信號的值改變,則用於信號的取樣值將維持不受變化的影響。
此揭示的後面段落說明即使狀態元件中出現競賽條件及/或時脈樹中出現錯誤信號,新語意如何幫助確保位準靈敏順序電路元件的模擬將遵循硬體語意。
邊緣觸發順序元件
邊緣觸發順序元件通常可具有一或更多個輸入、輸出、和時脈。邊緣觸發順序元件至少依據其時脈輸入的至少其中之一的觸發變換來傳播其輸入值到其輸出。
下面所示的表格2圖解根據本發明的實施例之邊緣觸發順序元件的正反器如何使用新語意來模擬。
正反器為可藉由下面硬體描述語言碼來說明之邊緣觸發順序元件:“always@(posedge C)Q=D,”其中“D”為正反器的資料輸入,“Q”為正反器的輸出,及“C”為正反器的時脈輸入。用於正反器的表格2所示之新語意中的第一陳述指明,若正反器的時脈輸入(如、信號C)執行觸發變換,及若取樣時脈值等於零,則正反器的資料輸出被分配來自正反器的資料輸入之取樣值。第二陳述指明,若時脈輸入執行非觸發變換,則正反器的資料輸出被分配來自資料輸出之取樣值。需注意的是,在不失一般性之下,表格2所示之正反器例子假設觸發變換係從零值到一值。表格2所示之新模擬語意可應用到兩值邏輯與多值邏輯。尤其是,新模擬語意可被用於四值邏輯模擬。
圖5A及5B為根據本發明的實施例之用以模擬邊緣觸發順序電路元件的程序之流程圖。需注意的是,圖5A及5B圖解新語意之下所執行的新操作。圖5A及5B中的符號“B1”及“B2”已被用於將流程圖分成兩表格。
系統可開始於接收電路設計的描述(操作502)。接著,系統為電路設計中的邊緣觸發順序電路元件之邏輯模擬執行激源施加階段(操作504)。在激源施加階段期間,系統取樣順序電路元件的資料輸入,以獲得取樣輸入值(操作506),取樣順序電路元件的資料輸出,以獲得取樣輸出值(操作508),和取樣順序電路元件的時脈輸入,以獲得取樣時脈值(操作510)。需注意的是,圖5A所示的取樣順序僅用於圖解說明。通常,系統能夠以任何順序來取樣信號。而且,可在接近激源施加階段的末端時取樣信號,因為取樣值必須等於信號在激源施加階段的末端所具有的值。
系統然後可為順序電路元件的邏輯模擬執行時脈傳播階段(操作512)。在時脈傳播階段期間,系統決定用於順序電路元件的時脈輸入是否執行從第一值(如、零)到第二值(如、一)的觸發變換,及取樣時脈值是否等於第一值(操作514)。若符合這些條件二者,則系統分配取樣輸入值給順序電路元件的資料輸出信號(操作516)。
此外,如圖5B所示,系統決定時脈輸入是否在時脈傳播階段期間執行非觸發變換(操作530)。若是,則系統分配取樣輸出值給順序電路元件的資料輸出信號(操作532)。
如上述,在接近激源施加階段的末端時取樣信號值,及在至少整個後續時脈傳播階段,系統保存取樣值。因此,若信號的值在時脈傳播階段被錯誤地改變,則用於信號的取樣值可被用於校正錯誤。此揭示的後面段落將說明,即使狀態元件中出現一或多個競賽條件及/或時脈樹中出現一或多個錯誤信號,新語意如何幫助確保正反器的模擬將遵循硬體語意。
圖6A為根據本發明的實施例之具有鎖存器的例示電路設計圖。在一些實施例中,電路設計600可包括順序元件602、鎖存器604、組合邏輯612-614、及時脈樹邏輯616。在操作期間,資料輸入606透過組合邏輯612傳播到順序元件602的資料輸入(即、信號S1.D)。當時脈輸入608滿足觸發條件時,順序元件602傳播信號S1.D的值到信號S1.Q。
信號S1.Q透過執行邏輯轉換之組合邏輯614傳播到鎖存器604的資料輸入信號(即、信號S2.D),使得其產生用於輸入信號X的輸出值f(X)。然後,若時脈輸入624在觸發位準,則鎖存器604傳播信號S2.D的值到信號S2.Q。需注意的是,時脈樹邏輯616至少依據時脈輸入610來產生時脈輸入624。
圖6B表示根據本發明的實施例之具有正反器的例示電路設計。在一些實施例中,電路設計630可包括順序元件632、正反器634、組合邏輯642及644、和時脈樹邏輯646。在操作期間,資料輸入636透過組合邏輯642傳播到順序元件632的資料輸入(即、信號S1.D)。當時脈輸入638滿足觸發條件時,順序元件632傳播信號S1.D的值到信號S1.Q。
再者,信號S1.Q透過執行邏輯轉換之組合邏輯644傳播到正反器634的資料輸入信號(即、信號S2.D),使得其產生用於輸入信號X的輸出值f(X)。然後,當時脈輸入654經歷觸發變換時,正反器634傳播信號S2.D的值到信號S2.Q。時脈樹邏輯646依據時脈輸入640產生時脈輸入654。
在模擬期間,到一或更多個順序元件之時脈輸入經歷錯誤信號,當順序元件不應該改變值時,錯誤信號會使順序元件改變其輸出值。另一選擇是,可存在使零延遲模擬器會分配值給不同於若已模擬具有非零延遲之實體電路則應具有的值之順序元件的輸出之競賽條件。在任一例子中,模擬將不遵循硬體語意。
圖7A圖解來自鎖存器的習知邏輯模擬之例示模擬輸出。圖7A可圖解用於圖6A之電路600的模擬輸出。需注意的是,模擬輸出涵蓋九個模擬疊代(即、模擬疊代t1 至t9 )。
用於鎖存器S2的時脈輸入為用於鎖存器S1的時脈輸入之反相。此時脈組態用於防止在單一時脈週期內電路的資料輸入(即、信號S1.D)被傳播到電路的資料輸出(即、信號S2.Q)。尤其是,當S1.CLK具有隨後將傳播到信號S2.D之觸發值(如、邏輯一值)時,信號S1.Q從S1.D獲得值。然後,當信號S2.CLK獲得觸發值(和信號S1.CLK獲得非觸發值)時,信號S2.Q從S2.D獲得值。
不幸地是,當時脈信號S1.CLK具有觸發值時(如、信號S2.CLK在模擬疊代T5 期間切換),模擬器會錯誤地引發時脈信號S2.CLK中的錯誤信號。在零延遲模擬中,錯誤信號可打開經由鎖存器S1及S2的傳播路徑(即、從信號S1.D到信號S2.Q的傳播路徑)。在模擬疊代期間t5 ,此錯誤信號會使信號S2.Q獲得值f(I)。當時脈信號S1.Q獲得非觸發值時,在模擬疊代t6 之前,值f(I)並不想到達信號S2.Q。換言之,在習知模擬器中,若信號S2.CLK經歷不想要的錯誤信號,則信號S2.Q將不遵循硬體語意。
另外,時脈信號S2.CLK可包含在競賽條件中,使得在信號S1.CLK獲得觸發值之後(如、模擬疊代t7 ),信號S2.CLK獲得非觸發值。在習知零延遲模擬中,競賽條件可打開經由鎖存器S1及S2的傳播路徑,因為當鎖存器S1進入操作的透明模式時,鎖存器S2維持在操作的透明模式。在模擬疊代t7 期間,此競賽條件使信號S2.Q能夠獲得值f(J),此在模擬疊代t8 之前不應發生。換言之,在習知模擬器中,若時脈信號S2.CLK包含在競賽條件中,則信號S2.Q將不遵循硬體語意。
圖7B表示根據本發明的實施例之用於使用利用取樣值的新語意來模擬之鎖存器的例示模擬輸出。圖7B可圖解用於圖6A之電路600的模擬輸出。鎖存器S1及S2可使用表格1A及1B所說明的新語意來模擬。需注意的是,模擬輸出涵蓋九個模擬疊代(即、模擬疊代t1 至t9 )。而且,模擬疊代包括激源施加階段(由用於模擬疊代ti 的指數Di 來圖解),及包括時脈傳播階段(由用於模擬疊代ti 的指數Ci 來圖解)。
如上述,用於鎖存器S2的時脈輸入為用於鎖存器S1的時脈輸入之反相。當S1.CLK具有觸發值(如、邏輯一值)及S2.CLK具有非觸發值時,此時脈組態使信號S1.Q能夠從S1.D獲得值。然後,當信號S2.CLK獲得觸發值(及S1.CLK獲得非觸發值)時,信號S2.Q從S2.D獲得值。在一些實施例中,在激源施加階段之後和後續時脈傳播階段之前(即、在用於模擬疊代ti 的Di 之後和Ci 之前),SAMPLE(S2.Q)從信號S2.Q獲得值。
當時脈信號S1.CLK具有觸發值時(如、信號S2.CLK在模擬疊代T5 期間切換),模擬器會錯誤地引發時脈信號S2.CLK中的錯誤信號時,錯誤信號會打開經由鎖存器S1及S2的傳播路徑(即、從信號S1.D到信號S2.Q的傳播路徑),其會使鎖存器S2在模擬疊代t5 期間分配值f(I)給其資料輸出。然而,不像習知零延遲邏輯模擬一般,本發明的一些實施例使用新語意從此情況恢復,因為當在時脈傳播階段C5 期間信號S2.CLK獲得非觸發值時,信號S2.Q從SAMPLE(S2.Q)獲得值f(H),如此使信號S2.Q能夠維持其在錯誤信號之前所擁有的值。換言之,藉由使用取樣值,即使模擬器在信號中引發不想要的錯誤信號,本發明的一些實施例仍能夠確保模擬遵循硬體語意。
另外,如上述,時脈信號S2.CLK可包含在競賽條件中,使得在信號S1.CLK獲得觸發值之後(如、在模擬疊代t7 的時脈傳播階段C7 期間),時脈信號S2.CLK獲得非觸發值。競賽條件可打開經由鎖存器S1及S2的傳播路徑,如此使模擬器能夠在模擬疊代t7 期間分配值f(J)給其資料輸出。然而,不像習知零延遲邏輯模擬一般,本發明的一些實施例使用新語意從此情況恢復,因為當信號S2.CLK在時脈傳播階段C7 期間獲得非觸發值時,信號S2.Q從SAMPLE(S2.Q)獲得值f(I),如此使信號S2.Q能夠維持其在競賽條件之前所擁有的值。
圖8A圖解來自正反器的習知邏輯模擬之例示模擬輸出。圖8A圖解用於圖6B之電路630的模擬輸出。需注意的是,模擬輸出涵蓋九個模擬疊代(即、模擬疊代t1 至t9 )。
用於正反器S2的時脈輸入大體上可類似於用於正反器S1的時脈輸入。當S1.CLK經歷觸發邊緣變換時(如、從邏輯零變換到邏輯一),信號S1.Q從S1.D獲得值。同時,當S2.CLK獲得觸發邊緣變換時,信號S2.Q從S2.D獲得值。
模擬器會引發時脈信號S2.CLK中不想要的錯誤信號,其會使S2.CLK暫時保留邏輯零(如、在模擬疊代t2 期間信號S2.CLK上的錯誤信號)。在習知零延遲模擬中,當信號S2.CLK獲得觸發邊緣變換時,錯誤信號會使信號S2.Q從信號S2.D獲得值。當時脈信號S1.Q獲得觸發邊緣變換時,此錯誤信號使信號S2.Q會在模擬疊代t2 期間獲得值f(H),其在模擬疊代t4 之前不應到達信號S2.Q。另外,如圖8A所示,時脈信號S2.CLK可經歷另一錯誤信號,其使S2.CLK會暫時保留邏輯一(如、在模擬疊代t8 期間信號S2.CLK上的錯誤信號)。當信號S2.CLK獲得觸發邊緣變換時,錯誤信號會使信號S2.Q從信號S2.D獲得值。當時脈信號S1.Q獲得觸發邊緣變換時,此錯誤信號使信號S2.Q會在模擬疊代t8 期間獲得值f(J),其在模擬疊代t9 之前不應到達信號S2.Q。換言之,當時脈信號經歷不想要的錯誤信號,則習知零延遲模擬器將不遵循硬體語意。
另外,時脈信號S2.CLK可包含在競賽條件中,使得在信號S1.CLK獲得觸發邊緣變換之後(如、模擬疊代t4 ),信號S2.CLK獲得觸發邊緣變換。在習知零延遲模擬中,競賽條件可使信號在單一時脈循環內傳播遍及正反器S1及S2。尤其是,當信號S1.CLK獲得觸發邊緣變換時,信號能夠在競賽條件一開始傳播到S1.Q。然後,當信號S2.CLK獲得觸發邊緣變換時,信號能夠在競賽條件的末端傳播到S2.Q。此競賽條件使信號S2.Q能夠在模擬疊代t4 期間獲得值f(I),其在模擬疊代t6 之前不應出現。
圖8B表示根據本發明的實施例之用於使用新語意所模擬的正反器之例示模擬輸出。圖8B可圖解用於圖6B之電路630的模擬輸出。而且,可使用表格2所示之語意來模擬正反器S1及S2。需注意的是,模擬輸出涵蓋九個模擬疊代(即、模擬疊代t1 至t9 )。而且,模擬疊代包括激源施加階段(由用於模擬疊代ti 的指數Di 來圖解),及包括時脈傳播階段(由用於模擬疊代ti 的指數Ci 來圖解)。
如上述,用於正反器S2的時脈輸入可大體上類似於用於正反器S1的時脈輸入。當S1.CLK獲得觸發邊緣變換(如、從邏輯零變換到邏輯一)時,信號S1.Q能夠從S1.D獲得值。同時,當S2.CLK獲得觸發邊緣變換時,信號S2.Q從S2.D獲得值。本發明的一些實施例取樣S2.CLK的值,以在接近激源施加階段的末端但在後續時脈傳播階段開始之前(即、在用於模擬疊代ti 的Di 之後和Ci 之前),獲得SAMPLE(S2.CLK)。同樣地,在接近激源施加階段的末端但在後續時脈傳播階段之前,SAMPLE(S2.D)從信號S2.D獲得值,及SAMPLE(S2.Q)從信號S2.Q獲得值。
當時脈信號S2.CLK經歷錯誤信號,其使S2.CLK暫時保留邏輯零(如、在模擬疊代t2 期間信號S2.CLK上的錯誤信號)。當正反器的時脈獲得觸發邊緣變換時,錯誤信號能夠使正反器分配新的值給其資料輸出。然而,不像習知零延遲模擬一般,本發明的一些實施例從此情況恢復,因為當信號S2.CLK獲得觸發邊緣變換時,SAMPLE(S2.CLK)未保留邏輯零值。
另外,當時脈信號S2.CLK經歷使S2.CLK暫時保留邏輯一之錯誤信號時(如、在模擬疊代t8 期間信號S2.CLK上的錯誤信號),當習知模擬器的時脈獲得觸發邊緣變換時,其能夠使習知模擬器分配新的值給其資料輸出。然而,不像習知零延遲邏輯模擬一般,當信號S2.CLK在時脈傳播階段C8 期間獲得非觸發邊緣變換時,本發明的一些實施例藉由使信號S2.Q能夠從SAMPLE(S2.Q)獲得值f(I)而從此情況恢復。以此方式,本發明的一些實施例使信號S2.Q能夠維持錯誤信號之前擁有的值,及如此進行,可確保模擬遵循硬體語意。
假設時脈信號S2.CLK包含在競賽條件中,在競賽條件中,在信號S1.CLK獲得觸發邊緣變換之後(如、模擬疊代t4 ),信號S2.CLK獲得觸發邊緣變換。在習知模擬器中,競賽條件可使信號在單一時脈循環內傳播遍及兩正反器。
然而,不像習知零延遲模擬器一般,當信號S2.CLK獲得觸發邊緣變換時,本發明的一些實施例分配SAMPLE(S2.D)給信號S2.Q,藉以確保其間的競賽條件不會使來自S1.Q的新值傳播經過正反器S2。換言之,即使競賽條件存在電路中,本發明的一些實施例仍確保模擬遵循硬體語意。
圖9為根據本發明的實施例之根據硬體語意來幫助模擬電路設計的例示電腦系統。電腦系統902包括處理器904、記憶體906、及儲存裝置908。而且,電腦系統902可被耦合至顯示裝置910、鍵盤912、和指向裝置913。
儲存裝置908儲存作業系統914、邏輯模擬系統916、硬體描述926、一組取樣信號值928、和模擬輸出930。邏輯模擬系統916可包括圖形使用者介面(GUI)918、激源施加模組920、時脈傳播模組922、和信號取樣模組924。
在操作期間,將邏輯模擬系統916從儲存裝置908下載到記憶體906內並且由處理器904執行。在一些實施例中,邏輯模擬系統916可採用用於電路設計的硬體描述926當作輸入,及產生用於硬體描述926的模擬輸出930,使得模擬輸出930係根據硬體語意。
在一些實施例中,激源施加模組920執行用於硬體描述926的模擬之激源施加階段。在操作期間,激源施加模組920評估未依賴時脈輸入信號之硬體描述926之信號。時脈傳播模組922執行用於硬體描述926的模擬之時脈傳播階段。在操作期間,時脈傳播模組922評估依賴時脈輸入信號之硬體描述926。若時脈傳播模組922需要取樣值來評估信號,則時脈傳播模組922可提供信號給信號取樣模組924,及信號取樣模組924將送回用於信號的取樣信號值928。
在一些實施例中,信號取樣模組924可在激源施加階段的末端取樣用於硬體描述926的信號值(即、在激源施加階段完成之後,及在後續時脈傳播階段開始之前)。如此作,信號取樣模組924讀取硬體描述926中之用於信號的模擬值,及儲存用於信號的取樣信號值928,直到在後續激源施加階段之後再次將其取樣為止。而且,在硬體描述926的模擬期間,信號取樣模組924可提供取樣信號值928給激源施加模組920以及給時脈傳播模組922。
圖10表示根據本發明的實施例之幫助執行電路設計的邏輯模擬之設備。邏輯模擬設備1002可包含能夠透過有線或無線通訊頻道彼此通訊之一些機構。邏輯模擬設備1002可使用一或更多個積體電路來實現,及其可被整合在電腦系統中,或其可被實現當作能夠與其他電腦系統及/或裝置通訊之分開裝置。尤其是,邏輯模擬設備1002可包括激源施加機構1004、 時脈傳播機構1006、信號取樣機構1008、和接收機構1010。
在一些實施例中,邏輯模擬設備1002採用電路設計1012當作輸入,及為電路設計1012產生模擬輸出1020,使得模擬輸出1020係根據硬體語意。
在一些實施例中,激源施加機構1004執行用於電路設計1012的模擬之激源施加階段。在操作期間,激源施加機構1004評估未依賴時脈輸入信號之電路設計1012的信號。若激源施加機構1004需要取樣值來評估信號,則激源施加機構1004可提供信號1014給信號取樣機構1008,及信號取樣機構1008將送回用於信號1014的取樣值1018。同樣地,時脈傳播機構1006執行用於電路設計1012的模擬之時脈傳播階段。在操作期間,時脈傳播機構1006評估依賴時脈輸入信號之電路設計1012的信號。若時脈傳播機構1006需要取樣值來評估信號,時脈傳播機構1006可提供信號1016給信號取樣機構1008,及信號取樣機構1008將送回用於信號1016的取樣值1018。
在一些實施例中,信號取樣機構1008可在激源施加階段的末端取樣用於電路設計1012的信號之值(即、在激源施加階段完成之後,及在後續時脈傳播階段開始之前)。如此作,信號取樣機構1008讀取電路設計1012中之用於信號的模擬值,及儲存用於信號的取樣值,直到在後續激源施加階段之後再次取樣信號為止。而且,信號取樣機構1008可提供用於電路設計1012的信號(如、信號1014-1016)之取樣值(如、取樣值1018)給激源施加機構1004和時脈傳播機構1006。
提供上述各種實施例的說明僅為了圖解和說明。它們並不用於將本發明耗盡性或侷限於所揭示的形式。因此,許多修正和變化對熟悉本技術之人士是顯而易見的。因此,上述揭示並不在於侷限本發明。
200...計算環境
202...工作站
204...邏輯模擬系統
206...電路仿真系統
208...使用者
210...電路設計
212...仿真輸出
214...模擬輸出
600...電路設計
602...順序元件
604...鎖存器
606...資料輸入
608...時脈輸入
610...時脈輸入
612...組合邏輯
614...組合邏輯
616...時脈樹邏輯
620...資料輸入
624...時脈輸入
626...輸出取樣
628...資料輸出
630...電路設計
632...順序元件
634...正反器
636...資料輸入
638...時脈輸入
640...時脈輸入
642...組合邏輯
644...組合邏輯
646...時脈樹邏輯
650...資料輸入
652...資料輸入取樣
653...資料輸出取樣
654...時脈輸入
656...時脈取樣
658...資料輸出
902...電腦系統
904...處理器
906...記憶體
908...儲存裝置
910...顯示裝置
912...鍵盤
913...指向裝置
914...作業系統
916...邏輯模擬系統
918...圖形使用者介面
920...激源施加模組
922...時脈傳播模組
924...信號取樣模組
926...硬體描述
928...取樣信號值
930...模擬輸出
1002...邏輯模擬設備
1004...激源施加機構
1006...時脈傳播機構
1008...信號取樣機構
1010...接收機構
1012...電路設計
1014...信號
1016...信號
1018...取樣值
1020...模擬輸出
S1...鎖存器
S1...正反器
S2...鎖存器
S2...正反器
圖1表示根據本發明的實施例之積體電路的設計和製造程序之各種階段。
圖2表示根據本發明的實施例之用以分析電路設計的例示計算環境。
圖3為根據本發明的實施例之用以產生用於電路設計的模擬輸出之程序的流程圖。
圖4為根據本發明的實施例之用以模擬位準靈敏順序電路元件的程序之流程圖。
圖5A及5B為根據本發明的實施例之用以模擬邊緣觸發順序電路元件的程序之流程圖。
圖6A表示根據本發明的實施例之具有鎖存器的例示電路設計。
圖6B表示根據本發明的實施例之具有正反器的例示電路設計。
圖7A表示來自鎖存器的習知邏輯模擬之例示模擬輸出。
圖7B表示根據本發明的實施例之以使用取樣值的新語意來模擬之鎖存器的例示模擬輸出。
圖8A表示來自正反器的習知邏輯模擬之例示模擬輸出。
圖8B表示根據本發明的實施例之使用新語意來模擬的正反器之例示模擬輸出。
圖9表示根據本發明的實施例之依據硬體語意來幫助模擬電路設計的例示電腦系統。
圖10表示根據本發明的實施例之幫助執行電路設計的邏輯模擬之設備。
表格1A及1B說明根據本發明的實施例之位準靈敏順序電路元件的鎖存器如何能夠使用新語意來模擬。
所示之表格2說明根據本發明的實施例之邊緣觸發順序電路元件的正反器如何能夠使用新語意來模擬。

Claims (22)

  1. 一種模擬電路設計之方法,其中模擬循環包括激源施加階段和時脈傳播階段,其中在該激源施加階段期間評估未依賴時脈之信號值,及其中在該時脈傳播階段期間評估依賴時脈之信號值,該方法包含:接收該電路設計的描述,其中該電路設計包括位準靈敏順序電路元件,該位準靈敏順序電路元件包括至少資料輸入和至少資料輸出,及其中當一群條件中的至少一條件為真時,該位準靈敏順序電路元件傳播該資料輸入的值到該資料輸出;以及在該模擬循環期間模擬該位準靈敏順序電路元件,其係藉由至少:在該激源施加階段期間,取樣該資料輸出的值,以獲得取樣輸出值;以及在該時脈傳播階段期間,回應於決定該群條件中之所有條件為假,分配該取樣輸出值給該資料輸出。
  2. 根據申請專利範圍第1項之方法,另外包含分析該電路設計的該描述,以識別主要時脈和該位準靈敏順序電路元件。
  3. 根據申請專利範圍第1項之方法,其中以硬體描述語言描寫該電路設計的該描述,該硬體描述語言支援取樣指令,當執行該取樣指令時,使被指定作該取樣指令的參數之信號值能夠在該激源施加階段被取樣。
  4. 根據申請專利範圍第3項之方法,另外包含重寫該電路設計的該描述,使得該電路設計的該重寫描述使用該取樣指令來取樣該資料輸出的值。
  5. 根據申請專利範圍第1項之方法,其中該電路設計中的信號係使用四值邏輯來表示。
  6. 一種電腦可讀取儲存媒體,其儲存當電腦執行時使該電腦能夠執行模擬電路設計的方法之指令,其中模擬循環包括激源施加階段和時脈傳播階段,其中在該激源施加階段期間評估未依賴時脈之信號值,及其中在該時脈傳播階段期間評估依賴時脈之信號值,該方法包含:接收該電路設計的描述,其中該電路設計包括位準靈敏順序電路元件,該位準靈敏順序電路元件包括至少資料輸入和至少資料輸出,及其中當一群條件中的至少一條件為真時,該位準靈敏順序電路元件傳播該資料輸入的值到該資料輸出;以及在該模擬循環期間模擬該位準靈敏順序電路元件,其係藉由至少:在該激源施加階段期間,取樣該資料輸出的值,以獲得取樣輸出值;以及在該時脈傳播階段期間,回應於決定該群條件中之所有條件為假,分配該取樣輸出值給該資料輸出。
  7. 根據申請專利範圍第6項之電腦可讀取儲存媒體,另外包含分析該電路設計的該描述,以識別主要時脈和該位準靈敏順序電路元件。
  8. 根據申請專利範圍第6項之電腦可讀取儲存媒體,其中以硬體描述語言描寫該電路設計的該描述,該硬體描述語言支援取樣指令,當執行該取樣指令時,使被指定作該取樣指令的參數之信號值能夠在該激源施加階段被取樣。
  9. 根據申請專利範圍第8項之電腦可讀取儲存媒體,另外包含重寫該電路設計的該描述,使得該電路設計的該重寫描述包括取樣指令,用以取樣該資料輸出的值。
  10. 根據申請專利範圍第6項之電腦可讀取儲存媒體,其中該電路設計中的信號係使用四值邏輯來表示。
  11. 一種模擬電路設計之設備,其中模擬循環包括激源施加階段和時脈傳播階段,其中在該激源施加階段期間評估未依賴時脈之信號值,及其中在該時脈傳播階段期間評估依賴時脈之信號值,該設備包含:接收機構,被組配成接收該電路設計的描述,其中該電路設計包括位準靈敏順序電路元件,該位準靈敏順序電路元件包括至少資料輸入和至少資料輸出,及其中當一群條件中的至少一條件為真時,該位準靈敏順序電路元件傳播該資料輸入的值到該資料輸出;激源施加機構,被組配成執行該模擬循環的該激源施加階段;信號取樣機構,被組配成在該激源施加階段期間,取樣該資料輸出的值,以獲得取樣輸出值;以及時脈傳播機構,被組配成藉由回應於決定該群條件中之所有條件為假而至少分配該取樣輸出值給該資料輸出,來執行該模擬循環的該時脈傳播階段。
  12. 一種模擬電路設計之方法,其中模擬循環包括激源施加階段和時脈傳播階段,其中在該激源施加階段期間評估未依賴時脈之信號值,及其中在該時脈傳播階段期間評估依賴時脈之信號值,該方法包含:接收該電路設計的描述,其中該電路設計包括邊緣觸發順序電路元件,該邊緣觸發順序電路元件包括至少資料輸入、至少資料輸出、和至少時脈輸入,其中至少依據偵測從第一值到第二值之該時脈輸入的觸發邊緣變換,而該邊緣觸發順序電路元件傳播該資料輸入的值到該資料輸出;以及在該模擬循環期間模擬該邊緣觸發順序電路元件,其係藉由至少:在該激源施加階段期間,取樣該資料輸入的值,以獲得取樣輸入值;取樣該資料輸出的值,以獲得取樣輸出值;及取樣該時脈輸入的值,以獲得取樣時脈值;以及在該時脈傳播階段期間,回應於偵測經歷從該第一值到該第二值的觸發邊緣變換之該時脈輸入,和回應於偵測該取樣時脈值等於該第一值,分配該取樣輸入值給該資料輸出,及回應於偵測從該第二值到該第一值之該時脈輸入的非觸發邊緣變換,分配該取樣輸出值給該資料輸出。
  13. 根據申請專利範圍第12項之方法,另外包含分析該電路設計的該描述,以識別該邊緣觸發順序電路元件。
  14. 根據申請專利範圍第12項之方法,其中以硬體描述語言描寫該電路設計的該描述,該硬體描述語言支援取樣指令,當執行該取樣指令時,使被指定作該取樣指令的參數之信號值能夠在該激源施加階段被取樣。
  15. 根據申請專利範圍第14項之方法,另外包含重寫該電路設計的該描述,使得該電路設計的該重寫描述使用該取樣指令來取樣該資料輸出的值。
  16. 根據申請專利範圍第12項之方法,其中該電路設計中的信號係使用四值邏輯來表示。
  17. 一種電腦可讀取儲存媒體,其儲存當電腦執行時使該電腦能夠執行模擬電路設計的方法之指令,其中模擬循環包括激源施加階段和時脈傳播階段,其中在該激源施加階段期間評估未依賴時脈之信號值,及其中在該時脈傳播階段期間評估依賴時脈之信號值,該方法包含:接收該電路設計的描述,其中該電路設計包括邊緣觸發順序電路元件,該邊緣觸發順序電路元件包括至少資料輸入、至少資料輸出、和至少時脈輸入,其中至少依據偵測從第一值到第二值之該時脈輸入的觸發邊緣變換,而該邊緣觸發順序電路元件傳播該資料輸入的值到該資料輸出;以及在該模擬循環期間模擬該邊緣觸發順序電路元件,其係藉由至少:在該激源施加階段期間,取樣該資料輸入的值,以獲得取樣輸入值;取樣該資料輸出的值,以獲得取樣輸出值;及取樣該時脈輸入的值,以獲得取樣時脈值;以及在該時脈傳播階段期間,回應於偵測經歷從該第一值到該第二值的觸發邊緣變換之該時脈輸入,和回應於偵測該取樣時脈值等於該第一值,分配該取樣輸入值給該資料輸出,及回應於偵測從該第二值到該第一值之該時脈輸入的非觸發邊緣變換,分配該取樣輸出值給該資料輸出。
  18. 根據申請專利範圍第17項之電腦可讀取儲存媒體,另外包含分析該電路設計的該描述,以識別該邊緣觸發順序電路元件。
  19. 根據申請專利範圍第17項之電腦可讀取儲存媒體,其中以硬體描述語言描寫該電路設計的該描述,該硬體描述語言支援取樣指令,當執行該取樣指令時,使被指定作該取樣指令的參數之信號值能夠在該激源施加階段被取樣。
  20. 根據申請專利範圍第19項之電腦可讀取儲存媒體,另外包含重寫該電路設計的該描述,使得該電路設計的該重寫描述使用該取樣指令來取樣該資料輸出的值。
  21. 根據申請專利範圍第17項之電腦可讀取儲存媒體,其中該電路設計中的信號係使用四值邏輯來表示。
  22. 一種模擬電路設計之設備,其中模擬循環包括激源施加階段和時脈傳播階段,其中在該激源施加階段期間評估未依賴時脈之信號值,及其中在該時脈傳播階段期間評估依賴時脈之信號值,該設備包含:接收機構,被組配成接收該電路設計的描述,其中該電路設計包括邊緣觸發順序電路元件,該邊緣觸發順序電路元件包括資料輸入、資料輸出、和時脈輸入,其中至少依據偵測從第一值到第二值之該時脈輸入的觸發邊緣變換,而該邊緣觸發順序電路元件傳播該資料輸入的值到該資料輸出;激源施加機構,被組配成執行該模擬循環的該激源施加階段;信號取樣機構,被組配成:在該激源施加階段期間,取樣該資料輸入的值,以獲得取樣輸入值;在該激源施加階段期間,取樣該資料輸出的值,以獲得取樣輸出值;及在該激源施加階段期間,取樣該時脈輸入的值,以獲得取樣時脈值;以及時脈傳播機構,被組配成執行該模擬循環的該時脈傳播階段,其係藉由至少:回應於偵測經歷從該第一值到該第二值的觸發邊緣變換之該時脈輸入,和回應於偵測該取樣時脈值等於該第一值,分配該取樣輸入值給該資料輸出,及回應於偵測從該第二值到該第一值之該時脈輸入的非觸發邊緣變換,分配該取樣輸出值給該資料輸出。
TW099111440A 2009-04-29 2010-04-13 模擬電路設計之方法及設備以及電腦可讀取儲存媒體 TWI479351B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/432,017 US10423740B2 (en) 2009-04-29 2009-04-29 Logic simulation and/or emulation which follows hardware semantics

Publications (2)

Publication Number Publication Date
TW201104479A TW201104479A (en) 2011-02-01
TWI479351B true TWI479351B (zh) 2015-04-01

Family

ID=43019574

Family Applications (1)

Application Number Title Priority Date Filing Date
TW099111440A TWI479351B (zh) 2009-04-29 2010-04-13 模擬電路設計之方法及設備以及電腦可讀取儲存媒體

Country Status (4)

Country Link
US (1) US10423740B2 (zh)
CN (1) CN101877019B (zh)
TW (1) TWI479351B (zh)
WO (1) WO2010126683A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI821414B (zh) * 2018-09-25 2023-11-11 美商新思科技股份有限公司 一種用於仿真系統之控制塊及其電路與製作方法

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130097568A1 (en) * 2011-10-14 2013-04-18 William W. Yang Global clock handler object for hdl environment
US8798969B2 (en) * 2012-03-28 2014-08-05 Sap Ag Machine learning for a memory-based database
JP6232704B2 (ja) * 2012-04-16 2017-11-22 株式会社リコー シート処理装置及び画像形成システム
US20130290919A1 (en) 2012-04-27 2013-10-31 Synopsys, Inc. Selective execution for partitioned parallel simulations
US9575951B2 (en) * 2013-09-03 2017-02-21 Roger Midmore Methods and systems of four valued analogical transformation operators used in natural language processing and other applications
US9576244B2 (en) * 2013-09-03 2017-02-21 Roger Midmore Methods and systems of four-valued simulation
CN104951583B (zh) 2014-03-31 2018-04-20 格芯公司 数字集成电路仿真方法及仿真器
EP4224355A3 (en) * 2015-01-22 2023-08-16 Synopsys, Inc. X-propagation in emulation
US10140413B2 (en) * 2015-04-21 2018-11-27 Synopsys, Inc. Efficient resolution of latch race conditions in emulation
US9852244B2 (en) 2015-05-04 2017-12-26 Synopsys, Inc. Efficient waveform generation for emulation
US9286424B1 (en) * 2015-05-04 2016-03-15 Synopsys, Inc. Efficient waveform generation for emulation
US10120965B2 (en) * 2015-09-30 2018-11-06 Synopsys, Inc. Waveform based reconstruction for emulation
WO2018023363A1 (zh) * 2016-08-02 2018-02-08 邹霞 一种故障仿真系统
TWI676133B (zh) 2016-11-11 2019-11-01 美商賽諾西斯公司 用於仿真之以波形為基礎之重建
JP2020149312A (ja) * 2019-03-13 2020-09-17 株式会社東芝 回路設計支援方法、及び回路設計支援プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW464828B (en) * 1996-10-17 2001-11-21 Quickturn Design Systems Inc Method and apparatus for design verification using emulation and simulation
US7080365B2 (en) * 2001-08-17 2006-07-18 Sun Microsystems, Inc. Method and apparatus for simulation system compiler
US7191412B1 (en) * 2005-09-28 2007-03-13 Xilinx, Inc. Method and apparatus for processing a circuit description for logic simulation
US7370312B1 (en) * 2005-01-31 2008-05-06 Bluespec, Inc. System and method for controlling simulation of hardware in a hardware development process

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5490266A (en) * 1991-03-01 1996-02-06 Altera Corporation Process oriented logic simulation having stability checking
US6785873B1 (en) * 1997-05-02 2004-08-31 Axis Systems, Inc. Emulation system with multiple asynchronous clocks
US20060117274A1 (en) * 1998-08-31 2006-06-01 Tseng Ping-Sheng Behavior processor system and method
US6823497B2 (en) * 1999-11-30 2004-11-23 Synplicity, Inc. Method and user interface for debugging an electronic system
US20030105620A1 (en) * 2001-01-29 2003-06-05 Matt Bowen System, method and article of manufacture for interface constructs in a programming language capable of programming hardware architetures
US6606734B2 (en) * 2001-06-21 2003-08-12 David J. Greaves Simulation method and compiler for hardware/software programming
IL154480A0 (en) * 2001-08-14 2003-09-17 Axis Systems Inc Timing-sensitive glitch-free logic system and method
US7047175B1 (en) * 2001-11-16 2006-05-16 Synopsys, Inc. System and method for enhancing the speed of dynamic timing simulation using delay assessment at compile time
US7131091B1 (en) * 2004-08-31 2006-10-31 Xilinx, Inc. Generating fast logic simulation models for a PLD design description
US7251794B2 (en) * 2004-10-21 2007-07-31 International Business Machines Corporation Simulation testing of digital logic circuit designs
US7454722B2 (en) * 2004-11-15 2008-11-18 Mentor Graphics Corporation Acyclic modeling of combinational loops
US8050904B2 (en) * 2006-09-15 2011-11-01 Freescale Semiconductor, Inc. System and method for circuit symbolic timing analysis of circuit designs
US8024597B2 (en) * 2008-02-21 2011-09-20 International Business Machines Corporation Signal phase verification for systems incorporating two synchronous clock domains

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW464828B (en) * 1996-10-17 2001-11-21 Quickturn Design Systems Inc Method and apparatus for design verification using emulation and simulation
US7080365B2 (en) * 2001-08-17 2006-07-18 Sun Microsystems, Inc. Method and apparatus for simulation system compiler
US7370312B1 (en) * 2005-01-31 2008-05-06 Bluespec, Inc. System and method for controlling simulation of hardware in a hardware development process
US7191412B1 (en) * 2005-09-28 2007-03-13 Xilinx, Inc. Method and apparatus for processing a circuit description for logic simulation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI821414B (zh) * 2018-09-25 2023-11-11 美商新思科技股份有限公司 一種用於仿真系統之控制塊及其電路與製作方法

Also Published As

Publication number Publication date
TW201104479A (en) 2011-02-01
WO2010126683A2 (en) 2010-11-04
WO2010126683A3 (en) 2011-01-20
CN101877019B (zh) 2015-01-14
US20100280814A1 (en) 2010-11-04
US10423740B2 (en) 2019-09-24
CN101877019A (zh) 2010-11-03

Similar Documents

Publication Publication Date Title
TWI479351B (zh) 模擬電路設計之方法及設備以及電腦可讀取儲存媒體
US7941774B2 (en) Partial timing modeling for gate level simulation
JP5263904B2 (ja) スキャン回路テスト中のic構造シミュレーション速度向上
JP4806529B2 (ja) 複製されたロジックを使用するデバッグの方法とシステム
US8650513B2 (en) Reducing x-pessimism in gate-level simulation and verification
US20070230645A1 (en) Metastability injector for a circuit description
US9934342B1 (en) Clock gating verification during RTL stage of integrated circuit design
Cohen et al. Using PSL/Sugar for formal and dynamic verification: Guide to Property Specification Language for Assertion-based Verification
Wagner et al. Post-Silicon and Runtime Verification for Modern Processors
TWI464679B (zh) 執行硬體描述語言程式碼之方法
Sohofi et al. Assertion-based verification for system-level designs
US9965575B2 (en) Methods and systems for correcting X-pessimism in gate-level simulation or emulation
US10635767B2 (en) Glitch detection at clock domain crossing
US7254793B2 (en) Latch modeling technique for formal verification
US6748573B2 (en) Apparatus and method for removing effects of phase abstraction from a phase abstracted trace
US10521528B2 (en) Signal reconstruction in sequential logic circuitry
US8091049B2 (en) Integrated single spice deck sensitization for gate level tools
CN104981806B (zh) 自动时钟树综合例外生成
US20220327269A1 (en) Computing device and method for detecting clock domain crossing violation in design of memory device
Anghel et al. Self-test library generation for in-field test of path delay faults
US10726180B1 (en) Systems and methods for fixing X-pessimism from uninitialized latches in gate-level simulation
Gibiluka Analysis of voltage scaling effects in the design of resilient circuits
US9542514B2 (en) Constraint memory node identification in sequential logic
Zhang Production-Level Test Issues in Delay Line Based Asynchronous Designs
Swetha Priya et al. Estimation of SoC Testability at Early RTL Stage