TW201331775A - 用於硬體描述語言環境之全域時鐘處理常式物件 - Google Patents

用於硬體描述語言環境之全域時鐘處理常式物件 Download PDF

Info

Publication number
TW201331775A
TW201331775A TW101135376A TW101135376A TW201331775A TW 201331775 A TW201331775 A TW 201331775A TW 101135376 A TW101135376 A TW 101135376A TW 101135376 A TW101135376 A TW 101135376A TW 201331775 A TW201331775 A TW 201331775A
Authority
TW
Taiwan
Prior art keywords
clock
hdl
processing routine
module
analog
Prior art date
Application number
TW101135376A
Other languages
English (en)
Inventor
William W Yang
Chameera R Fernando
Original Assignee
Apple 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 Apple Inc filed Critical Apple Inc
Publication of TW201331775A publication Critical patent/TW201331775A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • 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
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/396Clock trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

本發明揭示一種用於一硬體描述語言(HDL)環境中的全域時鐘處理常式模組。一HDL模組可包括一或多個時鐘陳述式。當一電腦系統執行該等時鐘陳述式時,可呼叫一時鐘處理常式物件。該時鐘處理常式物件可產生用於一積體電路設計之一或多個模擬功能區塊的模擬時鐘信號。可將每一模擬時鐘指派給一單獨且唯一之執行緒。該時鐘處理常式物件可為經組態以管理一積體電路設計之每一模擬時鐘信號的一單例物件。可由該時鐘處理常式物件在一動態陣列中執行每一模擬時鐘信號之產生及控制。該動態陣列可包括指定該等模擬時鐘信號中之每一者之參數的元素。

Description

用於硬體描述語言環境之全域時鐘處理常式物件
本發明係關於硬體描述語言(HDL),且更特定而言,係關於HDL環境中模擬時鐘信號之產生及控制。
部分地歸因於可藉由現代製造技術達成之高整合等級,積體電路設計已變得非常複雜。具有高整合等級之複雜積體電路在電路級或甚至在邏輯閘級上對於設計而言係不切實際的。因此,為了管理複雜積體電路設計,已開發了各種硬體描述語言(HDL)。HDL允許積體電路之高級描述。該描述可呈軟體程式碼之形式,該軟體程式碼可在電腦系統上執行以模擬積體電路設計。另外,HDL可用以撰寫稱作測試工作台之模組,該測試工作台可用以測試描述特定硬體件之其他模組。
典型積體電路設計可包括眾多不同功能單元。舉例而言,系統單晶片(SOC)設計可包括多個處理器核心、至少一記憶體、一圖形處理單元、一切換單元及一或多個介面電路。可藉由一單獨HDL模組來描述此等不同功能單元中之每一者。更特定而言,可藉由HDL程式碼之眾多陳述式(該等陳述式為功能單元之速記描述)來描述每一HDL模組。此等陳述式可連同描述功能區塊之內部操作的額外陳述式一起指定該功能區塊之輸入及輸出。此等功能單元中之許多者可能需要時鐘信號。因此,每一對應HDL模組可包括指定時鐘信號之眾多陳述式,其具有諸如頻率、開始 時間、結束時間及各種靜態監視狀態之參數。
本發明揭示一種用於一硬體描述語言(HDL)環境中的全域時鐘處理常式物件。在一實施例中,一HDL模組可包括一或多個時鐘陳述式。當一電腦系統執行該等時鐘陳述式時,可呼叫一時鐘處理常式物件。該時鐘處理常式物件可產生用於一積體電路設計之一或多個模擬功能區塊的模擬時鐘信號。可將每一模擬時鐘指派給一單獨且唯一之執行緒。該時鐘處理常式物件可為經組態以管理一積體電路設計之每一模擬時鐘信號的單例物件(singleton object)。
在一實施例中,稱為測試工作台之HDL模組可包括眾多不同時鐘陳述式。該測試工作台可經組態以執行體現一積體電路設計之另一HDL模組(被測裝置,或「DUT」)的測試。回應於該等時鐘陳述式之執行,該測試工作台可調用時鐘處理常式物件以產生對應時鐘信號之模擬且將其指派給該DUT之各別埠。每一時鐘處理常式陳述式可指定一對應之模擬時鐘信號的特定參數。該等參數可包括(但不限於)頻率、開始時間、停止時間,及相對於另一時鐘信號之偏移。該時鐘處理常式物件可維護一動態陣列以記住各種模擬時鐘信號及其對應參數。該時鐘處理常式物件可針對測試工作台之操作且在DUT之模擬期間根據測試工作台產生且控制所有該等經模擬時鐘信號。該時鐘處理常式物件可為一單例物件,亦即,其可在一積體電路設計之模擬期間具現化一次。
以下詳細描述參看現簡要描述之隨附圖式。
雖然本發明容易具有各種修改及替代形式,但在圖式中作為實例展示了其特定實施例,且將在本文中對其進行詳細描述。然而應理解,該等圖式及對其詳細描述並非意欲將本發明限於所揭示的特定形式,而相反,本發明意欲涵蓋在如附加申請專利範圍所界定的本發明之精神及範疇內的所有修改、等效物或替代。本文中所使用之標題僅為達成組織性目的,且不意欲用以限制該描述之範疇。如本申請案全篇中所使用,詞語「可」係在允許意義(亦即,意謂有可能)而非強制意義(亦即,意謂必須)上使用。類似地,詞語「包括」意謂包括但不限於。
可將各種單元、電路或其他組件描述為「經組態以」執行(若干)任務。在該等上下文中,「經組態以」係對結構之廣泛敍述,其大體上意謂「具有在操作期間執行該(該等)任務之電路」。因而,單元/電路/組件可經組態以甚至在單元/電路/組件當前未接通時仍執行任務。大體而言,形成對應於「經組態以」之結構的電路可包括硬體電路及/或儲存可執行以實施操作之程式指令的記憶體。該記憶體可包括揮發性記憶體(諸如,靜態或動態隨機存取記憶體),及/或非揮發性記憶體(諸如,光碟或磁碟儲存器、快閃記憶體、可程式化唯讀記憶體,等等)。類似地,為了描述之便利起見,各種單元/電路/組件可被描述為執行(若干)任務。此等描述應解釋為包括片語「經組態以」。敍述經 組態以執行一或多個任務之一單元/電路/組件明確地不意欲援引35 U.S.C.§ 112第六段對於彼單元/電路/組件之解釋。
現轉看圖1,說明積體電路設計之一實施例及對應於該設計之硬體描述語言(HDL)模組之一對應群組的方塊圖。在所展示實施例中之積體電路(IC)10為包括多個功能區塊之初步IC設計的方塊圖。應注意,在此所說明之IC 10為例示性的,且其並不意欲為限制性的。
在其建議設計中,IC 10為具有兩個核心(核心12及核心14)之多核心處理器。在一實施例中,核心12及14可彼此等同。在另一實施例中,該等核心可不同,例如,一個核心可經實施用於一般處理,而另一核心專用於圖形處理。IC 10進一步包括耦接至兩個核心之記憶體控制器15。在最終實施中,記憶體控制器15將經組態而用於將一介面提供至一系統記憶體。IC 10亦包括耦接至兩個核心且耦接至記憶體控制器15之匯流排介面16。匯流排介面16在最終實施中將經組態以提供IC 10與一或多個周邊匯流排之間的介面。更特定而言,匯流排介面16可協調附接至周邊匯流排之裝置與IC 10之其他功能區塊之間的訊務流。
在圖1中所說明之實例中,IC 10之設計可由硬體描述語言(HDL)模組20來表示,該硬體描述語言(HDL)模組20又包含額外HDL模組。此實例中之HDL模組22為核心12之HDL描述。類似地,HDL模組24、25及26分別提供核心14、記憶體控制器15及匯流排介面16之HDL描述。在 HDL(亦即,在編譯之前)中,每一模組可包括眾多陳述式。HDL陳述式可指定至每一模組之輸入、自每一模組之輸出、由每一模組執行之操作,等等。應進一步注意,圖1中所展示之HDL模組中的每一者可自身在其中包括額外HDL模組。舉例而言,圖1中所展示之給定HDL模組可包括額外模組,諸如加法器、除法器、多工器、記憶體、各種類型之狀態機,等。HDL模組20內之一些HDL模組可自預先設計之程式庫獲得,而其他者可在IC 10之設計過程期間撰寫。
圖2為說明包括時鐘處理常式物件及用於測試積體電路設計之測試工作台模組的HDL模組之群組之一實施例之組織的方塊圖。給定實例中之測試工作台32為經組態以執行HDL模組20中所描述之IC設計及以上參看圖1所描述之其各種模組之測試的HDL模組。因此,所展示之實施例中的測試工作台32涵蓋HDL模組20及其各種子模組。另外,測試工作台模組32亦可包括眾多HDL陳述式,當執行時,該眾多陳述式將測試刺激提供至HDL模組20及其子模組。在一些情形下,此等陳述式檢查藉由提供測試刺激所產生之結果,但單獨之驗證陳述式亦可包括於測試工作台32中以用於更複雜及/或需要更多時間來完成的測試。
所展示實施例中的測試工作台32包括眾多例示性時鐘陳述式。當執行時,此等時鐘陳述式呼叫時鐘處理常式物件35。回應於時鐘陳述式中之每一者的執行,時鐘處理常式物件35可產生待提供至HDL模組20之時鐘埠(例如, Clk_1、Clk_2)中之一者中的對應模擬時鐘信號。時鐘處理常式物件35亦可產生待替代經由時鐘埠而在內部提供至HDL模組20之若干部分的模擬時鐘信號。在任一情形下,時鐘處理常式物件35可將模擬時鐘信號提供至對應於在操作期間利用一或多個時鐘信號之功能區塊的HDL模組中之每一者。大體而言,時鐘處理常式物件35可產生用於HDL模組20之任何部分及其各別子模組的模擬時鐘信號。
所展示實施例中之時鐘處理常式物件35為一單例物件。亦即,在測試工作台32之執行及/或IC設計經由HDL模組20之模擬期間僅時鐘處理常式物件35之一執行個體在作用中。另外,所展示實施例中之時鐘處理常式物件35經組態以產生且控制用於給定模擬之所有模擬時鐘信號,且因此充當一全域時鐘處理常式。相比之下,先前技術實施例不包括如由時鐘處理常式物件35所提供之集中時鐘控制,而是以HDL程式碼之單獨部分產生模擬時鐘信號及所有其各別參數。
圖2之實例中所說明之每一時鐘陳述式指定時鐘處理常式物件(「clk_hdlr」)、待由時鐘處理常式執行之函式(例如,「get_clk」)、時鐘名稱(例如,「CLK_1」)、將被指派模擬時鐘之時鐘埠(例如,「Clk_1」)及一或多個引數。該等引數可用以指定諸如時鐘信號頻率之時鐘信號參數。另外,時鐘處理常式物件35之應用程式設計介面(API)可用以設定模擬時鐘信號之額外參數。因此,稱為時鐘處理常式物件35之HDL模組亦可包括建立模擬時鐘信號之時鐘陳 述式,從而指定開始時間、停止時間、待執行之眾多循環,及工作循環,以及偏移(相對於另一時鐘信號),以及其他可能參數。呼叫此等函式之時鐘陳述式可被置於HDL模組內之任一處,包括測試工作台模組32。
應注意,時鐘處理常式物件32之所說明實施例中之時鐘陳述式及API的格式為例示性的。其他格式為可能的且經預期。
所展示之實施例中的時鐘處理常式物件32經組態以逐執行緒地產生且控制模擬時鐘信號。亦即,所展示實施例中之時鐘處理常式物件35經組態以產生用於模擬時鐘信號中的每一者之單獨執行執行緒。在所展示之實例中,執行緒1專用於CLK_1,執行緒2專用於CLK_2,且執行緒3專用於CLK_3。提供用於每一模擬時鐘信號之單獨執行緒可簡化同時在作用中之多個模擬時鐘信號的管理及控制。舉例而言,給定模擬時鐘信號之參數之改變可影響專用於同一模擬時鐘信號之執行緒而不影響其他模擬時鐘信號之對應執行緒。
時鐘處理常式物件35可產生且維護一動態陣列以便管理多個模擬時鐘信號。該陣列可為動態的,此係因為其大小可視需要而增大或減小。圖3為說明藉由時鐘處理常式物件之一實施例維護之動態陣列的圖。在所展示之實施例中,陣列300包括以列及行配置之眾多元素。陣列300之元素中之每一者對應於由時鐘處理常式物件35產生之模擬時鐘信號中的一者。經儲存而作為陣列300中之元素的各種 參數可包括以上所提及之彼等參數,諸如,時鐘名稱、週期/頻率、開始時間、停止時間,等。圖3中未明確論述或展示之額外參數亦可存在於一些實施例中。
如先前所指出,陣列300為動態陣列。因此,(例如)當時鐘陳述式呼叫時鐘處理常式物件35以請求一模擬時鐘信號時,可將元素之新集合添加至陣列300。元素之該新集合可對應於最近請求之模擬時鐘信號。另外,時鐘處理常式物件35可在元素不再被需要時自陣列300移除該等元素。舉例而言,若模擬時鐘信號將僅在模擬/測試之早期部分操作,則時鐘處理常式物件35可在模擬時鐘信號變得不在作用中時自陣列300移除其各別元素。時鐘處理常式物件35亦可在模擬/測試期間改變陣列300之特定元素之值。舉例而言,若一時鐘陳述式指定給定模擬時鐘信號之偏移值的改變,則時鐘處理常式物件35可在使得所請求改變有效的同時更新陣列300中之對應元素。
圖4為說明用於使用測試工作台來起始IC設計之測試的方法之一實施例的流程圖。在所展示之實施例中,方法400自起始一測試工作台模組之一或多個指令之執行開始(區塊405)。在一實施例中,起始測試工作台模組之一或多個指令以及在方法400中執行之其他指令可為自HDL陳述式編譯之機器語言指令。使用解譯器來執行HDL陳述式之實施例亦為可能的且經預期。
在測試工作台模組之起始之後,可執行對應於一或多個時鐘陳述式之指令,其中時鐘處理常式物件回應於該等指 令而被呼叫(區塊410)。時鐘處理常式物件可接著根據任何所指定之參數產生對應模擬時鐘信號(區塊415)。時鐘處理常式物件可將對應於任何最近產生之時鐘信號模擬之各種參數的元素添加至一動態陣列(區塊420)。第一時鐘陳述式之執行可產生動態陣列。請求新的模擬時鐘信號(區塊425,是)之額外時鐘陳述式的執行可將對應元素添加至動態陣列。指定先前所產生之模擬時鐘信號之特定參數的額外時鐘陳述式可使得該動態陣列被更新。
若在開始IC設計之模擬及其測試之前不產生額外模擬時鐘信號(區塊425,否),則可起始對應於該IC設計之HDL模組(區塊430)。然而,應注意,在模擬時鐘信號之執行及產生之前起始描述IC設計及其功能區塊之HDL模組的實施例亦為可能的且經預期。
一旦測試工作台、所要時鐘信號模擬及對應於IC設計之HDL模組中的所有者皆已起始,測試工作台之執行及IC設計之測試便可開始(區塊435)。在測試工作台之執行期間,可將測試向量提供至IC設計之各種輸入,且可經由各種輸出擷取測試之結果。可分析測試結果之擷取以判定IC設計功能是否正確且是否在規格之內。
儘管方法400包括在開始測試之前經由時鐘陳述式之執行而產生一或多個模擬時鐘信號,但應注意,在該方法期間可在任何時間執行額外時鐘陳述式。舉例而言,可在開始測試之後執行改變一模擬時鐘信號相對於另一者之偏移的時鐘陳述式。另外,亦可在測試期間執行開始及/或停 止一模擬時鐘信號的陳述式。在一些情形下,若一模擬時鐘信號針對測試序列之剩餘者而言不起作用,則時鐘處理常式物件可自動態陣列消除對應元素以減小其大小且因此減小其記憶體佔據面積。大體而言,可在測試工作台之操作及/或IC設計之模擬期間的任何時間執行時鐘陳述式。另外,雖然本發明已使用了自測試工作台內部執行之時鐘陳述式之實例,但應注意,可自包括描述IC設計之功能單元之HDL模組的任何HDL模組內執行呼叫時鐘處理常式物件之時鐘陳述式。
圖5為電腦可讀媒體之一實施例的方塊圖。在所展示之實施例中,電腦可讀媒體50為非暫時性電腦可讀媒體。非暫時性電腦可讀媒體之實例包括快閃記憶體(例如,在隨身碟(flash drive)中)、硬碟儲存器、CD-ROM、DVD-ROM,等。大體而言,電腦可讀媒體50可為任何類型之非暫時性電腦可讀媒體,適當裝備之電腦系統可自該非暫時性電腦可讀媒體存取儲存於其上之資訊。
在此特定實例中,電腦可讀媒體50儲存各種資料結構,該等資料結構組成時鐘處理常式物件35、測試工作台模組32、HDL模組20及其各種子模組(HDL模組22、24、25及26)中之每一者。如本文中所使用,術語「資料結構」可包括任何指令、資料或儲存於電腦可讀媒體50上之時鐘處理常式物件35、測試工作台32及各種HDL模組中之任一者的其他資訊。
圖5中亦展示了電腦系統60。電腦系統60在此未進行詳 細展示,但實際上可為可自電腦可讀媒體50存取資訊的任何類型之電腦系統。另外,電腦系統60亦可經組態以執行使用各種HDL模組描述之IC設計的模擬及測試。電腦系統60可包括一或多個處理器或處理器核心、各種類型之記憶體(例如,動態隨機存取記憶體,或DRAM)及儲存器(例如,硬碟機)以及可藉以存取來自電腦可讀媒體之資料的各種埠。電腦系統60亦可在其各別儲存器中包括軟體。該軟體可包括一編譯器,該編譯器用以將HDL模組中之HDL陳述式轉換為機器可讀格式(例如,處理器指令集之指令)。
電腦可讀媒體可由電腦系統60存取。更特定而言,電腦系統60可存取儲存於電腦可讀媒體50上之資料結構以執行藉由HDL模組20及其各別子模組描述之IC設計的模擬。電腦可讀媒體50之資料結構亦可由電腦系統60存取以便按照由測試工作台模組32描述之測試常式來執行IC設計之測試。可藉由使電腦系統60執行來自測試工作台模組32以及來自HDL模組20、22、24、25及26中之每一者的指令而實現該測試。在利用模擬時鐘信號之模擬及測試中,可藉由對應於時鐘陳述式之指令的執行來呼叫時鐘處理常式物件35。回應於對應於時鐘陳述式之指令的執行,時鐘處理常式35可產生且控制一或多個模擬時鐘信號。
如本文中所使用,HDL可指代可用以描述IC中所實施之硬體的任何語言。除了工業上已知之HDL以外,按照本發明之HDL亦可包括諸如System Verilog、C/C++等之語言。
對於熟習此項技術者而言,一旦已完全瞭解上述揭示內容,眾多變化及修改便將變得顯而易見。意欲將以下申請專利範圍解釋為涵蓋所有該等變化及修改。
10‧‧‧積體電路(IC)
12‧‧‧核心
14‧‧‧核心
15‧‧‧記憶體控制器
16‧‧‧匯流排介面
20‧‧‧硬體描述語言(HDL)模組
22‧‧‧HDL(硬體描述語言)模組
24‧‧‧HDL(硬體描述語言)模組
25‧‧‧HDL(硬體描述語言)模組
26‧‧‧HDL(硬體描述語言)模組
32‧‧‧測試工作台模組
35‧‧‧時鐘處理常式物件
50‧‧‧電腦可讀媒體
60‧‧‧電腦系統
300‧‧‧陣列
400‧‧‧方法
圖1為積體電路設計之一實施例及對應於該設計之硬體描述語言(HDL)模組之一對應群組的方塊圖。
圖2為說明包括時鐘處理常式物件及用於測試積體電路設計之測試工作台模組的HDL模組之群組之一實施例之組織的方塊圖。
圖3為說明由時鐘處理常式物件之一實施例維護的動態陣列之圖。
圖4為說明用於使用測試工作台來起始積體電路設計之測試的方法之一實施例的流程圖。
圖5為電腦可讀媒體之一實施例的方塊圖。
20‧‧‧硬體描述語言(HDL)模組
22‧‧‧HDL(硬體描述語言)模組
24‧‧‧HDL(硬體描述語言)模組
25‧‧‧HDL(硬體描述語言)模組
26‧‧‧HDL(硬體描述語言)模組
32‧‧‧測試工作台模組
35‧‧‧時鐘處理常式物件

Claims (20)

  1. 一種具有儲存於其上之程式指令的非暫時性電腦可讀儲存媒體,該等程式指令在執行時使得一電腦:自一第一硬體描述語言(HDL)模組接收一請求以產生用於模擬一積體電路之操作的一模擬時鐘信號;及藉由將一模擬時鐘信號提供至該第一HDL模組來回應該請求。
  2. 如請求項1之非暫時性電腦可讀儲存媒體,其中該時鐘處理常式物件為一單例物件。
  3. 如請求項1之非暫時性電腦可讀儲存媒體,其中該時鐘處理常式物件經組態以回應於該第一HDL模組中之對應複數個時鐘處理常式陳述式的執行而在對應之唯一執行緒內部產生複數個模擬時鐘信號中的每一者。
  4. 如請求項1之非暫時性電腦可讀儲存媒體,其中該時鐘處理常式物件經組態以針對該模擬時鐘信號設定相對於另一時鐘信號之一偏移。
  5. 如請求項1之非暫時性電腦可讀儲存媒體,其中該時鐘處理常式物件經組態以維護一動態陣列,其中該動態陣列之每一元素包括關於一或多個模擬時鐘信號中之一者的資訊。
  6. 如請求項1之非暫時性電腦可讀儲存媒體,其中該時鐘處理常式物件經組態以產生複數個模擬時鐘信號,每一模擬時鐘信號對應於藉由複數個HDL模組中之一對應者描述之該積體電路之一設計的複數個功能區塊中之一 者。
  7. 如請求項6之非暫時性電腦可讀儲存媒體,其中該第一HDL模組為經組態以測試該複數個HDL模組中之至少一其他者的一測試工作台模組,且其中該測試工作台模組包括複數個時鐘陳述式,該複數個時鐘陳述式在由該電腦執行時產生該複數個模擬時鐘信號。
  8. 如請求項7之非暫時性電腦可讀儲存媒體,其中該複數個時鐘陳述式中之每一者經組態以指示該複數個模擬時鐘信號中之一對應者的一或多個參數,其中該一或多個參數包括一時鐘週期。
  9. 一種方法,其包含:一電腦系統在一積體電路之模擬期間執行一時鐘處理常式陳述式;在該電腦系統上執行之一時鐘處理常式物件回應於該時鐘處理常式陳述式之執行而產生一模擬時鐘信號。
  10. 如請求項9之方法,其進一步包含將該模擬時鐘信號指派給一硬體描述語言(HDL)模組之一模擬時鐘埠,其中該HDL模組對應於該積體電路之一區塊。
  11. 如請求項9之方法,其進一步包含該時鐘處理常式物件產生對應於該模擬時鐘信號之一執行緒。
  12. 如請求項9之方法,其進一步包含該時鐘處理常式物件設定該模擬時鐘信號之參數,其中該等參數包括一時鐘信號偏移。
  13. 如請求項12之方法,其進一步包含該時鐘處理常式物件 維護對應於該模擬時鐘信號及一或多個額外模擬時鐘信號之資訊的一動態陣列,其中該動態陣列之每一元素包括關於該模擬時鐘信號或該一或多個額外模擬時鐘信號中之一者之一參數的資訊。
  14. 如請求項13之方法,其中該動態陣列之每一元素包括指示一對應模擬時鐘信號之一週期的一值。
  15. 如請求項10之方法,其進一步包含進行該HDL模組之一測試的一測試工作台模組,其中該測試工作台模組包括該時鐘處理常式陳述式。
  16. 一種具有儲存於其上之程式指令的非暫時性電腦可讀儲存媒體,該等程式指令在執行時使得一電腦執行包含以下各者之操作:模擬一積體電路,其中該積體電路之一設計係以一硬體描述語言(HDL)進行描述,其中該積體電路設計包括一或多個功能區塊,由複數個HDL模組中之一對應者描述每一功能區塊,且其中該一或多個功能區塊中之每一者利用一或多個時鐘信號中之一者;使用一時鐘處理常式產生該一或多個模擬時鐘信號,其中該時鐘處理常式可執行以回應於一時鐘陳述式之執行而產生用於一對應功能區塊之一對應模擬時鐘信號。
  17. 如請求項16之非暫時性電腦可讀儲存媒體,其中該時鐘處理常式可執行以產生複數個模擬時鐘信號,每一模擬時鐘信號對應於藉由複數個HDL模組中之一對應者描述之該積體電路設計的複數個功能區塊中之一者。
  18. 如請求項17之非暫時性電腦可讀儲存媒體,其中該時鐘處理常式可執行以相對於該複數個時鐘信號中之其他者中的每一者將該複數個模擬時鐘信號中之每一者指派給一唯一執行緒。
  19. 如請求項16之非暫時性電腦可讀儲存媒體,其中該時鐘處理常式可執行以根據在該時鐘陳述式中所指定之一或多個參數而提供該模擬時鐘信號。
  20. 如請求項16之非暫時性電腦可讀儲存媒體,其中該複數個HDL模組包括一測試工作台模組,其中該測試工作台模組經組態以測試該複數個HDL模組中之至少一其他者,且其中該測試工作台模組包括該時鐘陳述式。
TW101135376A 2011-10-14 2012-09-26 用於硬體描述語言環境之全域時鐘處理常式物件 TW201331775A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/274,015 US20130097568A1 (en) 2011-10-14 2011-10-14 Global clock handler object for hdl environment

Publications (1)

Publication Number Publication Date
TW201331775A true TW201331775A (zh) 2013-08-01

Family

ID=47044791

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101135376A TW201331775A (zh) 2011-10-14 2012-09-26 用於硬體描述語言環境之全域時鐘處理常式物件

Country Status (8)

Country Link
US (1) US20130097568A1 (zh)
EP (1) EP2581844A1 (zh)
JP (1) JP5562394B2 (zh)
KR (1) KR101418162B1 (zh)
CN (1) CN103049599A (zh)
AU (1) AU2012227208B2 (zh)
TW (1) TW201331775A (zh)
WO (1) WO2013055512A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106250280A (zh) * 2016-07-25 2016-12-21 北京联盛德微电子有限责任公司 一种时钟信号测试方法和装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103439648B (zh) * 2013-08-08 2016-05-04 北京华大信安科技有限公司 一种验证方法、装置及芯片
US9922150B1 (en) * 2014-11-11 2018-03-20 Altera Corporation Method and apparatus for satisfying operating conditions in a system design using an electronic design automation tool
US10325046B2 (en) * 2016-09-20 2019-06-18 Synopsys, Inc. Formal method for clock tree analysis and optimization
KR102545621B1 (ko) * 2018-09-25 2023-06-20 시놉시스, 인크. 상태-유지 루프들 및 발진 루프들을 식별하기 위한 하드웨어 시뮬레이션 시스템들 및 방법들

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3505018B2 (ja) * 1994-11-22 2004-03-08 株式会社ルネサステクノロジ 半導体集積回路
JP2908337B2 (ja) * 1996-08-26 1999-06-21 静岡日本電気株式会社 マルチプロセス対応vhdlシミュレーション実行システム
US6785873B1 (en) * 1997-05-02 2004-08-31 Axis Systems, Inc. Emulation system with multiple asynchronous clocks
JPH11213021A (ja) * 1998-01-26 1999-08-06 Matsushita Electric Ind Co Ltd シミュレーションモデル生成方法及び装置
US6466898B1 (en) * 1999-01-12 2002-10-15 Terence Chan Multithreaded, mixed hardware description languages logic simulation on engineering workstations
US6571373B1 (en) * 2000-01-31 2003-05-27 International Business Machines Corporation Simulator-independent system-on-chip verification methodology
WO2002003310A1 (en) * 2000-07-05 2002-01-10 Meyer Steven J Mixed signal simulation
US6269043B1 (en) * 2000-07-31 2001-07-31 Cisco Technology, Inc. Power conservation system employing a snooze mode
JP4088439B2 (ja) * 2000-12-28 2008-05-21 富士通株式会社 論理装置の動作シミュレーション方法並びに論理装置の動作シミュレーションプログラム及び同プログラムを記録したコンピュータ読み取り可能な記録媒体
US20030018462A1 (en) * 2001-07-16 2003-01-23 Liang T. Chen Multi-clock system simulation
US7080365B2 (en) * 2001-08-17 2006-07-18 Sun Microsystems, Inc. Method and apparatus for simulation system compiler
JP2004013860A (ja) * 2002-06-12 2004-01-15 Fujitsu Ltd 論理シミュレーション方法及び装置
US20040093198A1 (en) 2002-11-08 2004-05-13 Carbon Design Systems Hardware simulation with access restrictions
US7366652B2 (en) * 2003-06-16 2008-04-29 Springsoft, Inc. Method of programming a co-verification system
US7849297B2 (en) * 2003-08-28 2010-12-07 Mips Technologies, Inc. Software emulation of directed exceptions in a multithreading processor
US7260798B2 (en) * 2003-12-29 2007-08-21 Mentor Graphics Corporation Compilation of remote procedure calls between a timed HDL model on a reconfigurable hardware platform and an untimed model on a sequential computing platform
KR100536293B1 (ko) * 2004-02-17 2005-12-12 박현주 칩 설계 검증 장치 및 방법
US7433813B1 (en) * 2004-05-20 2008-10-07 Xilinx, Inc. Embedding a co-simulated hardware object in an event-driven simulator
US7225416B1 (en) * 2004-06-15 2007-05-29 Altera Corporation Methods and apparatus for automatic test component generation and inclusion into simulation testbench
JP4631493B2 (ja) * 2005-03-25 2011-02-16 ヤマハ株式会社 シミュレーション装置
US7890901B2 (en) * 2006-03-24 2011-02-15 International Business Machines Corporation Method and system for verifying the equivalence of digital circuits
US10423740B2 (en) * 2009-04-29 2019-09-24 Synopsys, Inc. Logic simulation and/or emulation which follows hardware semantics
JP2011070343A (ja) 2009-09-25 2011-04-07 Hitachi Information & Communication Engineering Ltd 論理エミュレーション方法及び論理エミュレーションプログラム
CN102054109B (zh) * 2010-12-31 2014-03-19 北京大学深圳研究生院 集成电路下层硬件映射方法、数据控制流生成方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106250280A (zh) * 2016-07-25 2016-12-21 北京联盛德微电子有限责任公司 一种时钟信号测试方法和装置
CN106250280B (zh) * 2016-07-25 2021-03-19 北京联盛德微电子有限责任公司 一种时钟信号测试方法和装置

Also Published As

Publication number Publication date
KR101418162B1 (ko) 2014-07-09
WO2013055512A1 (en) 2013-04-18
AU2012227208B2 (en) 2013-11-21
US20130097568A1 (en) 2013-04-18
AU2012227208A1 (en) 2013-05-02
JP5562394B2 (ja) 2014-07-30
KR20130040701A (ko) 2013-04-24
JP2013101604A (ja) 2013-05-23
EP2581844A1 (en) 2013-04-17
CN103049599A (zh) 2013-04-17

Similar Documents

Publication Publication Date Title
JP6289751B2 (ja) プログラム生成装置、プログラム生成方法及びプログラム生成プログラム
US10255400B1 (en) Debugging system and method
JP2018507449A (ja) プログラム可能集積回路を対象としたヘテロジニアスマルチプロセッサプログラムコンパイル
TW201331775A (zh) 用於硬體描述語言環境之全域時鐘處理常式物件
TWI723219B (zh) 加速閘層級模擬的方法與設備
US10891413B1 (en) Incremental initialization by parent and child placer processes in processing a circuit design
JP5004566B2 (ja) 設計を検証するシステム
Han et al. TinySPICE: A parallel SPICE simulator on GPU for massively repeated small circuit simulations
JP2008186252A (ja) テストベンチ生成機能を有する動作合成装置と方法及びプログラム
US20130024178A1 (en) Playback methodology for verification components
TWI818068B (zh) 用於分段記憶體實體之方法及裝置
US20220327272A1 (en) Real time view swapping (rtvs) in a mixed signal simulation
CN114328062B (zh) 校验缓存一致性的方法、装置和存储介质
US11430496B2 (en) Phase-aware DDR command dynamic scheduling
CN115828805A (zh) 分割逻辑系统设计的方法、设备及存储介质
US9823305B1 (en) Method and system for generating post-silicon validation tests
Alali et al. Modeling and simulation of multiprocessor systems MPSoC by SystemC/TLM2
CN107247577B (zh) 一种配置soc ip核的方法、装置及系统
Choi et al. Early HW/SW Co-Verification Using Virtual Platforms
US8510691B2 (en) Semiconductor verification apparatus, method and program
JP2016071883A (ja) Fpgaからリードバックするための信号の特定
JP2006268606A (ja) シミュレーション装置
US11106851B1 (en) Serialization in electronic design automation flows
US20230367938A1 (en) Method for comprehensive low power simulation coverage
US20210173989A1 (en) Simulation signal viewing method and system for digital product