本發(fā)明涉及仿真技術(shù)領(lǐng)域,特別是涉及芯片驗證平臺仿真結(jié)束控制方法與系統(tǒng)。
背景技術(shù):
仿真是指利用模型復(fù)現(xiàn)實際系統(tǒng)中發(fā)生的本質(zhì)過程,并通過對系統(tǒng)模型的實驗來研究存在的或設(shè)計中的系統(tǒng)。
隨著科學(xué)技術(shù)發(fā)展,目前仿真技術(shù)的應(yīng)用范圍越來越廣泛,甚至已經(jīng)應(yīng)用在芯片驗證等領(lǐng)域。對于大規(guī)模集成電路芯片,其整個驗證仿真過程,從模塊層次的驗證,到多個模塊的集成驗證仿真,以及完整芯片級別的驗證仿真,都需要較為準(zhǔn)確地判斷仿真驗證何時能夠結(jié)束,在仿真時間超出預(yù)期的范圍時,也要及時地對其進行終止。
目前芯片驗證平臺仿真結(jié)束控制方式一般是根據(jù)預(yù)設(shè)的程序或操作人員憑借經(jīng)驗進行控制的,在面對多種應(yīng)用環(huán)境時,該芯片驗證平臺仿真結(jié)束控制方式顯然無法實現(xiàn)準(zhǔn)確控制。
技術(shù)實現(xiàn)要素:
基于此,有必要針對一般芯片驗證平臺仿真結(jié)束控制方式控制不準(zhǔn)確的問題,提供一種控制準(zhǔn)確的芯片驗證平臺仿真結(jié)束控制方法與系統(tǒng)。
一種芯片驗證平臺仿真結(jié)束控制方法,包括步驟:
對待驗證芯片輸入/輸出接口上的信號進行歸類分析,獲取信號中的數(shù)據(jù)有效信號;
生成信號組,信號組包括valid信號,valid信號攜帶數(shù)據(jù)有效信號的邏輯或;
基于UVM(Universal Verification Methodology,通用驗證方法學(xué))驗證平臺結(jié)構(gòu),構(gòu)建待驗證芯片的UVM平臺,UVM平臺包括WatchDog環(huán)境變量;
根據(jù)信號組,并通過WatchDog環(huán)境變量控制UVM平臺仿真結(jié)束。
一種芯片驗證平臺仿真結(jié)束控制系統(tǒng),包括:
有效信號獲取模塊,用于對待驗證芯片輸入/輸出接口上的信號進行歸類分析,獲取信號中的數(shù)據(jù)有效信號;
信號組生成模塊,用于生成信號組,信號組包括valid信號,valid信號攜帶數(shù)據(jù)有效信號的邏輯或;
平臺構(gòu)建模塊,用于基于UVM驗證平臺結(jié)構(gòu),構(gòu)建待驗證芯片的UVM平臺,UVM平臺包括WatchDog環(huán)境變量;
仿真結(jié)束控制模塊,用于根據(jù)信號組,并通過WatchDog環(huán)境變量控制UVM平臺仿真結(jié)束。
本發(fā)明芯片驗證平臺仿真結(jié)束控制方法與系統(tǒng),對待驗證芯片輸入/輸出接口上的信號進行歸類分析,獲取信號中的數(shù)據(jù)有效信號,生成信號組,信號組內(nèi)攜帶數(shù)據(jù)有效信號的邏輯或,基于UVM驗證平臺結(jié)構(gòu),構(gòu)建待驗證芯片的UVM平臺,UVM平臺包括WatchDog環(huán)境變量,根據(jù)信號組,并通過WatchDog環(huán)境變量控制UVM平臺仿真結(jié)束。整個過程中,構(gòu)建UVM平臺,并結(jié)合UVM平臺中的WatchDog環(huán)境變量與待驗證芯片輸入/輸出接口中數(shù)據(jù)有效信號,將仿真結(jié)束控制發(fā)生于信號級進行控制,實現(xiàn)對芯片驗證平臺仿真結(jié)束的準(zhǔn)確控制。
附圖說明
圖1為本發(fā)明芯片驗證平臺仿真結(jié)束控制方法第一個實施例的流程示意圖;
圖2為本發(fā)明芯片驗證平臺仿真結(jié)束控制方法第二個實施例的流程示意圖;
圖3為本發(fā)明芯片驗證平臺仿真結(jié)束控制系統(tǒng)第一個實施例的結(jié)構(gòu)示意圖;
圖4為本發(fā)明芯片驗證平臺仿真結(jié)束控制系統(tǒng)第二個實施例的結(jié)構(gòu)示意圖。
具體實施方式
如圖1所示,一種芯片驗證平臺仿真結(jié)束控制方法,包括步驟:
S200:對待驗證芯片輸入/輸出接口上的信號進行歸類分析,獲取信號中的數(shù)據(jù)有效信號。
對待驗證芯片輸入/輸出接口上的信號進行歸類分析,將信號分為數(shù)據(jù)有效信號與數(shù)據(jù)信號,獲取其中的數(shù)據(jù)有效信號。
S400:生成信號組,信號組包括valid信號,valid信號攜帶數(shù)據(jù)有效信號的邏輯或。
生成一個專門用于仿真控制的信號組(interface):IntfWatchDog,該信號組內(nèi)包含一個信號valid。信號組輸入為時鐘信號(clock)與復(fù)位信號(reset)。Valid信號攜帶待驗證芯片輸入/輸出接口上的數(shù)據(jù)有效信號的邏輯或。
S600:基于UVM驗證平臺結(jié)構(gòu),構(gòu)建待驗證芯片的UVM平臺,UVM平臺包括WatchDog環(huán)境變量。
UVM是一個以SystemVerilog類庫為主體的驗證平臺開發(fā)框架,驗證工程師可以利用其可重用組件構(gòu)建具有標(biāo)準(zhǔn)化層次結(jié)構(gòu)和接口的功能驗證環(huán)境。采用UV描述裝結(jié)構(gòu)對CPU進行驗證平臺設(shè)計,可以獲得初始的基于UVM驗證平臺CPU參考模型。非必要的,這里可以采用UVM1.1庫。基于UVM驗證平臺結(jié)構(gòu),構(gòu)建模塊的驗證平臺。平臺UVM頂層為測試層,其中包括以下幾個環(huán)境變量:EnvDut、EnvClk、EnvRst以及WatchDog。非必要的,當(dāng)平臺需要多個時鐘與復(fù)位時,可以例化多個EnvClk或EnvRst。
S800:根據(jù)信號組,并通過WatchDog環(huán)境變量控制UVM平臺仿真結(jié)束。
WatchDog負責(zé)驗證平臺的仿真結(jié)束控制。仿真結(jié)束分兩種類型,一種為仿真正常結(jié)束,一種為仿真超時。超時結(jié)束屬于仿真出錯。根據(jù)步驟S400生成的信號組,并通過WatchDog環(huán)境變量控制UVM平臺仿真結(jié)束。
如圖2所示,在其中一個實施例中,步驟S800具體包括:
S810:獲取WatchDog環(huán)境變量所需的信號組。
一般來說,基于UVM架構(gòu),WatchDog環(huán)境變量所需的信號組在UVM平臺的頂層。非必要的,還可以對WatchDog環(huán)境變量所需的信號組進行例化,以使整個UVM平臺中設(shè)置多個時鐘與復(fù)位。
S820:通過UVM驗證平臺內(nèi)置的參數(shù)傳輸宏指定WatchDog環(huán)境變量的類型對象、以及在當(dāng)前類型對象下WatchDog環(huán)境變量中所需信號靜默時間以及仿真超時時間。
通過UVM參數(shù)傳輸宏指定WatchDog環(huán)境變量的類型對象,以及WatchDog環(huán)境變量中所需的信號靜默時間與仿真超時時間。具體來說,參數(shù)傳輸宏為uvm_config_db?;赨VM驗證平臺內(nèi)UVM庫(UVM1.1庫)中預(yù)先存儲的數(shù)據(jù),通過UVM參數(shù)傳輸宏即可實現(xiàn)步驟S820。
S830:對數(shù)據(jù)有效信號進行或操作,并更新WatchDog環(huán)境變量所需的信號組。
在UVM驗證平臺頂層中將待驗證芯片輸入/輸出接口上的所有數(shù)據(jù)有效信號進行或操作后賦予IntfWatchDog.valid,以實現(xiàn)對WatchDog環(huán)境變量所需的信號組的更新。非必要IntfWatchDog.clock與IntfWatchdog.reset同樣在頂層中獲取。
S840:通過更新后的WatchDog環(huán)境變量實時監(jiān)控數(shù)據(jù)有效信號的活躍性。
S850:當(dāng)數(shù)據(jù)有效信號處于靜默狀態(tài)的時間超出信號靜默時間,或當(dāng)數(shù)據(jù)有效信號處于活躍狀態(tài)的時間超出仿真超時時間時,終止仿真。
數(shù)據(jù)有效信號一般處于靜默狀態(tài)或活躍狀態(tài)。在仿真開始后,WatchDog環(huán)境變量實時監(jiān)控待驗證芯片接口數(shù)據(jù)有效信號的活躍性,當(dāng)數(shù)據(jù)有效信號處于靜默狀態(tài)的時間超出信號靜默時間時,通過WatchDog環(huán)境變量控制仿真終止。當(dāng)數(shù)據(jù)有效信號處于活躍狀態(tài)的時間超出仿真超時時間時,通過WatchDog環(huán)境變量控制仿真終止。非必要的,還可以提示仿真超時出錯。
本發(fā)明芯片驗證平臺仿真結(jié)束控制方法,對待驗證芯片輸入/輸出接口上的信號進行歸類分析,獲取信號中的數(shù)據(jù)有效信號,生成信號組,信號組內(nèi)攜帶數(shù)據(jù)有效信號的邏輯或,基于UVM驗證平臺結(jié)構(gòu),構(gòu)建待驗證芯片的UVM平臺,UVM平臺包括WatchDog環(huán)境變量,根據(jù)信號組,并通過WatchDog環(huán)境變量控制UVM平臺仿真結(jié)束。整個過程中,構(gòu)建UVM平臺,并結(jié)合UVM平臺中的WatchDog環(huán)境變量與待驗證芯片輸入/輸出接口中數(shù)據(jù)有效信號,將仿真結(jié)束控制發(fā)生于信號級進行控制,實現(xiàn)對芯片驗證平臺仿真結(jié)束的準(zhǔn)確控制。
如圖3所示,一種芯片驗證平臺仿真結(jié)束控制系統(tǒng),包括:
有效信號獲取模塊200,用于對待驗證芯片輸入/輸出接口上的信號進行歸類分析,獲取信號中的數(shù)據(jù)有效信號。
信號組生成模塊400,用于生成信號組,信號組包括valid信號,valid信號攜帶數(shù)據(jù)有效信號的邏輯或。
平臺構(gòu)建模塊600,用于基于UVM驗證平臺結(jié)構(gòu),構(gòu)建待驗證芯片的UVM平臺,UVM平臺包括WatchDog環(huán)境變量。
仿真結(jié)束控制模塊800,用于根據(jù)信號組,并通過WatchDog環(huán)境變量控制UVM平臺仿真結(jié)束。
本發(fā)明芯片驗證平臺仿真結(jié)束控制系統(tǒng),有效信號獲取模塊200對待驗證芯片輸入/輸出接口上的信號進行歸類分析,獲取信號中的數(shù)據(jù)有效信號,信號組生成模塊400生成信號組,信號組內(nèi)攜帶數(shù)據(jù)有效信號的邏輯或,平臺構(gòu)建模塊600基于UVM驗證平臺結(jié)構(gòu),構(gòu)建待驗證芯片的UVM平臺,UVM平臺包括WatchDog環(huán)境變量,仿真結(jié)束控制模塊800根據(jù)信號組,并通過WatchDog環(huán)境變量控制UVM平臺仿真結(jié)束。整個過程中,構(gòu)建UVM平臺,并結(jié)合UVM平臺中的WatchDog環(huán)境變量與待驗證芯片輸入/輸出接口中數(shù)據(jù)有效信號,將仿真結(jié)束控制發(fā)生于信號級進行控制,實現(xiàn)對芯片驗證平臺仿真結(jié)束的準(zhǔn)確控制。
如圖4所示,在其中一個實施例中,仿真結(jié)束控制模塊800包括:
信號組獲取單元810,用于獲取WatchDog環(huán)境變量所需的信號組。
變量指定單元820,用于通過UVM驗證平臺內(nèi)置的參數(shù)傳輸宏指定WatchDog環(huán)境變量的類型對象、以及在當(dāng)前類型對象下WatchDog環(huán)境變量中所需信號靜默時間以及仿真超時時間。
更新單元830,用于對數(shù)據(jù)有效信號進行或操作,并更新WatchDog環(huán)境變量所需的信號組。
活躍性監(jiān)測單元840,用于通過更新后的WatchDog環(huán)境變量實時監(jiān)控數(shù)據(jù)有效信號的活躍性。
仿真結(jié)束控制單元850,用于當(dāng)數(shù)據(jù)有效信號處于靜默狀態(tài)的時間超出信號靜默時間,或當(dāng)數(shù)據(jù)有效信號處于活躍狀態(tài)的時間超出仿真超時時間時,終止仿真。
在其中一個實施例中,仿真結(jié)束控制模塊800還包括:
提示單元,用于當(dāng)數(shù)據(jù)有效信號處于活躍狀態(tài)的時間超出仿真超時時間時,提示仿真超時。
在其中一個實施例中,仿真結(jié)束控制模塊800還包括:
例化單元,用于將WatchDog環(huán)境變量所需的信號組例化。
在其中一個實施例中,UVM驗證平臺內(nèi)置的參數(shù)傳輸宏為uvm_config_db。
為更進一步詳細解釋本發(fā)明芯片驗證平臺仿真結(jié)束控制方法與系統(tǒng)的技術(shù)方案及其有益效果,下面將采用一具體應(yīng)用實例進行詳細說明。
步驟一:生成仿真結(jié)束控制方法接口信號。為仿真結(jié)束控制方法接口信號設(shè)計獨立的信號組,并在信號組中對其中唯一信號有效信號的活躍性不定態(tài)監(jiān)測。
步驟二:仿真結(jié)束控制方法所處的驗證環(huán)境中,用于仿真結(jié)束控制的WatchDog環(huán)境變量作為一個獨立的驗證模塊而存在。
步驟三:WatchDog環(huán)境變量通過信號組獲取待驗證芯片輸入/輸出接口上的數(shù)據(jù)有效信號的狀態(tài);而信號組的獲取由UVM提供的uvm_config_db宏來實現(xiàn)。同樣,仿真結(jié)束控制所需的時間參數(shù)設(shè)置也有UVM提供。
步驟四:計數(shù)器累計每一個時間步長,當(dāng)計數(shù)器到達所設(shè)置的接口信號靜默時間步長累計數(shù)目后,終止仿真。此時認為仿真屬于在所有活動結(jié)束后的正常結(jié)束。
步驟五:在仿真開始后,等待所設(shè)定的超時時間單位。如在此過程中仿真一直未正常結(jié)束,導(dǎo)致仿真時間到達所設(shè)定的超時時間,則強制調(diào)用UVM仿真結(jié)束宏`uvm_fatal以結(jié)束仿真。
以上所述實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。