亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

從命令行測試集成電路的系統(tǒng)、方法和計算機(jī)程序產(chǎn)品的制作方法

文檔序號:6180176閱讀:196來源:國知局
從命令行測試集成電路的系統(tǒng)、方法和計算機(jī)程序產(chǎn)品的制作方法
【專利摘要】本發(fā)明提供了從命令行測試集成電路的系統(tǒng)、方法和計算機(jī)程序產(chǎn)品。提供了用于測試電路表示的系統(tǒng)、方法和計算機(jī)程序產(chǎn)品。在命令行接口處接收命令行輸入。命令行輸入被轉(zhuǎn)譯成一個或多個測試條件。此外,生成配置為對電路表示進(jìn)行仿真并驗證一個或多個測試條件的測試環(huán)境。
【專利說明】從命令行測試集成電路的系統(tǒng)、方法和計算機(jī)程序產(chǎn)品
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及集成電路仿真。
【背景技術(shù)】
[0002]使模擬和數(shù)字電路能夠以軟件的方式仿真和測試的應(yīng)用是可用的。SPICE (以集成電路為重點的仿真程序)是眾所周知的用于測試模擬電路的仿真程序。Verilog和VHDL(超高速集成電路硬件描述語言)是眾所周知的與用于測試數(shù)字電路的各種仿真器兼容的硬件描述語言。對表示電路的代碼的驗證典型地要求由電路設(shè)計者構(gòu)建專用測試臺以及規(guī)定測試向量刺激。當(dāng)電路是較大單元內(nèi)的邏輯的一部分時,專用測試臺的構(gòu)建和測試向量的規(guī)定可能占用電路設(shè)計者大量的時間。因此,有時僅在較大單元的水平實施驗證。
[0003]因此存在針對較大單元內(nèi)的子電路簡化電路驗證過程和/或解決與現(xiàn)有技術(shù)相關(guān)聯(lián)的其他問題的需要。

【發(fā)明內(nèi)容】

[0004]提供了用于測試電路表示的系統(tǒng)、方法和計算機(jī)程序產(chǎn)品。在命令行接口處接收命令行輸入。命令行輸入被轉(zhuǎn)譯成一個或多個測試條件。此外,生成配置為對電路表示仿真并驗證一個或多個測試條件的測試環(huán)境。
【專利附圖】

【附圖說明】
[0005]圖1示出依照一個實施例的、根據(jù)命令行輸入由應(yīng)用程序所生成的測試環(huán)境。
[0006]圖2不出依照一個實施例的、用于測試電路表不的方法的流程圖。
[0007]圖3示出依照一個實施例的、用于測試電路表示的另一個方法的流程圖。
[0008]圖4示出其中可實現(xiàn)各種先前實施例的各種架構(gòu)和/或功能性的例示性系統(tǒng)。
【具體實施方式】
[0009]圖1示出依照一個實施例的、根據(jù)命令行輸入105由應(yīng)用程序100所生成的測試環(huán)境150。在一個可能的實施例中,應(yīng)用程序100可以是Vquiz應(yīng)用程序。雖然本文提供Vquiz應(yīng)用程序作為應(yīng)用程序100的示例,但應(yīng)特別注意的是,僅出于示例性目的闡述這種程序,并可采用任何應(yīng)用程序以對其進(jìn)行補(bǔ)充和/或替換。
[0010]電路設(shè)計者通過根據(jù)命令行輸入105自動地生成測試環(huán)境150來測試電路表示110。電路表示110編碼各種電路元件的功能行為,電路元件就此而言,包括但不限于晶體管、時鐘電路、邏輯門、寄存器和/或任何其他電路元件。在一個實施例中,電路表示110可指定連接到各種電路元件的輸入信號和輸出信號。例如,用于觸發(fā)器邏輯設(shè)備的電路表示可指定連接到觸發(fā)器設(shè)備的時鐘輸入信號、輸入信號D以及輸出信號Q。
[0011]通過命令行輸入105,電路設(shè)計者指定一個或多個測試條件以在電路表示110的仿真期間進(jìn)行驗證。如本文所進(jìn)一步描述的,命令行輸入105可以是包括一個或多個測試輸入的文本字符串,就此而言,包括但不限于與電路表示110相對應(yīng)的文件名、讀取的列出測試輸入的文件名、跟隨有一個或多個引數(shù)(argument)(例如信號的布爾組合)的表達(dá)式或假定、一個或多個選項(例如標(biāo)記、開關(guān)等)和/或任何其他測試輸入。在一個實施例中,輸入經(jīng)由諸如Perl編程語言的腳本語言被接收而不是經(jīng)由命令行被接收,并可以是可以不采用引數(shù)而使用的函數(shù)調(diào)用或簡單的函數(shù)調(diào)用。
[0012]在一個可能的實施例中,可由命令行輸入105指定多種不同測試。例如,電路設(shè)計者可檢查電路表示110的輸入或輸出信號在仿真期間是否曾具有特定值,或在仿真期間是否出現(xiàn)輸入和/或輸出值的指定布爾組合。在另一示例中,電路設(shè)計者可檢查在仿真期間電路表示110的特定輸入或輸出信號是否是X (即未知、未經(jīng)指派、或未經(jīng)定義的)值。當(dāng)測試環(huán)境150包括由應(yīng)用程序100所生成的形式驗證結(jié)構(gòu)時,在電路表示110的仿真期間電路設(shè)計者還可實施信號轉(zhuǎn)換的窮舉檢查。在一個實施例中,應(yīng)用程序100可配置為跟隨在電路表示110的仿真之后當(dāng)測試失敗或顯示由測試條件所指定的特定事件時打開波形觀測儀135。
[0013]測試環(huán)境150包括測試條件120、測試臺130、以及波形觀測儀135中的一個或多個。當(dāng)應(yīng)用程序100轉(zhuǎn)譯由命令行輸入105所指定的假定和表達(dá)式時,測試條件120生成。在一個實施例中,假定及表達(dá)式的至少一部分由被包括在命令行輸入105內(nèi)作為引數(shù)的文件所指定。測試臺130包括由應(yīng)用程序100響應(yīng)于命令行輸入105所生成的邏輯聲明125和共同邏輯115。共同邏輯115可包括時鐘信號和時鐘門控電路,其由可實例化電路表示110的所有邏輯單元所使用。邏輯聲明125基于從命令行輸入105所推斷的計數(shù)器和寄存器由應(yīng)用程序100所生成。在一個實施例中,電路表示110是深度3的先入先出(FIFO)緩沖區(qū)。下面的命令行輸入105可被指定用于測試深度3的FIFO緩沖區(qū)電路表示110:
[0014]vquiz-m fifo-assume’ ~wr_req’-always’wr_idle’
[0015]其中fifo是FIFO`緩沖區(qū)電路表示110的名稱,wr_req是FIFO緩沖區(qū)電路表示110的輸入信號,wr_idle是FIFO緩沖區(qū)電路表示110的輸出信號。-assume命令是由電路設(shè)計者所指定的約束。由命令行輸入105所指定的-assume命令驗證當(dāng)wr_req(寫請求)輸入信號被取非(negated)時wr_idle (寫空閑)輸出信號總是被斷言(asserted)。-assume命令由應(yīng)用程序100轉(zhuǎn)譯成測試條件120的第一測試條件。
[0016]在另一個實施例中,F(xiàn)IFO緩沖區(qū)電路表示110不包括wr_idle輸出信號并且下面的命令行輸入105可被指定用于測試當(dāng)wr_req輸入信號針對深度3的FIFO緩沖區(qū)電路表示110被取非時rd_req (讀請求)被斷言并且wr_count信號(寫計數(shù))和rd_count信號(讀計數(shù))二者均是零:
[0017]vquiz-m fifo-assume’ ~wr—req’\
[0018]-always’ rd—req&&wr_count==0&&rd—count—p==0’ 0
[0019]rd—req是輸入信號并且wr—count和rd—count—p是FIFO緩沖區(qū)電路表示110內(nèi)的計數(shù)器的輸出信號。在又一個實施例中,可使用-never表達(dá)式代替-always表達(dá)式來測試FIFO緩沖區(qū)電路表示110:
[0020]vquiz-m fifo-assume'~wr—req,-never,rd—req||wr_count!=0||rd_count_p!=0’在一個實施例中,應(yīng)用程序100假定FIFO緩沖區(qū)電路表示110的elk輸入信號和重置輸入信號是時鐘和重置信號并生成適當(dāng)?shù)呢菁び糜跍y試臺130中的時鐘和重置。[0021]電路設(shè)計者可能想針對具有X (即未知、未經(jīng)指派、或未經(jīng)定義的)值而非被斷言或取非(即分別具有I或O的值)的信號來測試FIFO緩沖區(qū)電路表示110。可指定下面的命令行輸入105:
[0022]vquiz-m fifo-xallowed wr_data’ ?wr—req’\
[0023]-xallowed rd—data,?rd—req,\
[0024]-never_xprop
[0025]在一個實施例中,默認(rèn)情況下電路表不110的所有輸入信號被假定為具有非X (即已知、經(jīng)指派、或經(jīng)定義的)值并且每個輸出可能從不具有X值(在重置期間除外)。-never_xprop表達(dá)式用來檢查X從未被傳播到輸出并且,在仿真期間,每個輸出分開被檢查。-xallowed表達(dá)式可用來允許當(dāng)某些布爾表達(dá)式為真時輸入信號和輸出信號具有X值。
[0026]在上文所示的命令行輸入105中,第一-xallowed表達(dá)式指定第一測試條件,其中當(dāng)wr_req輸入信號被取非時wr_data (寫數(shù)據(jù))輸入信號可具有值X。第二-xallowed表達(dá)式指定第二測試條件,其中當(dāng)rd_req輸入信號被取非時rd_data (讀數(shù)據(jù))輸入信號可具有X值。_never_xprop表達(dá)式指定一次一個地測試FIFO緩沖區(qū)電路表示110的每個輸出信號。默認(rèn)情況下應(yīng)用程序100將具有X值的輸出信號標(biāo)識為錯誤。可由應(yīng)用程序100假定所有其他輸入和輸出是控制信號并且應(yīng)從未具有X值。
[0027]現(xiàn)在將關(guān)于各種可選架構(gòu)和特征闡述更示例性的信息,前述框架根據(jù)用戶意愿可以采用或可以不采用所述各種可選架構(gòu)和特征來實現(xiàn)。應(yīng)強(qiáng)烈注意的是,下面的信息出于示例性目的而被闡述,并且不應(yīng)視為以任何方式加以限制。任何下面的特征可被可選地包含,排斥或不排斥所描述的其他特征。
[0028]圖2示出依照一個實施例的、用于測試電路表示110的方法200的流程圖。在步驟205,向應(yīng)用程序100提供要被測試的電路表示110。在一個實施例中,電路表示110以Verilog硬件描述語言寫入。編碼電路表示110的文件的名稱可被提供作為命令行輸入105內(nèi)的引數(shù)或可基于操作上下文加以推斷。在步驟210,應(yīng)用程序100在命令行接口處經(jīng)由命令行輸入105接收一個或多個測試輸入。測試輸入指定電路表不110以及一個或多個假定及表達(dá)式,例如一assume、-always> -never> —cover、一xallowed、-never_xprop 等等。測試輸入還可包括重復(fù)變量和延遲變量,該重復(fù)變量和延遲變量分別在測試期間對條件施加到電路表示110的周期數(shù)目和延遲特定條件的周期數(shù)目進(jìn)行控制。
[0029]在步驟215,經(jīng)由命令行輸入105所接收的測試輸入的至少一部分由應(yīng)用程序100轉(zhuǎn)譯成測試條件120。在步驟220,根據(jù)經(jīng)由命令行輸入105所接收的測試輸入由應(yīng)用程序100生成測試環(huán)境150。在步驟225,應(yīng)用程序100仿真測試環(huán)境150內(nèi)的電路表示110并驗證測試條件。
[0030]如本文進(jìn)一步描述的,應(yīng)用程序100生成包括測試條件(.sva文件)的測試臺130。應(yīng)用程序100還生成輸入和輸出列表(.Sig文件)和腳本(.sigs文件)用于由波形觀測儀135使用以顯示在仿真期間所產(chǎn)生的信號軌跡(signal trace)。最后,應(yīng)用程序100生成將測試臺130和電路表示110實例化的測試環(huán)境150 (.tcl文件)。測試環(huán)境150可以是在步驟225期間被執(zhí)行以實施仿真的腳本。
[0031]可通過表I中示出的示范性Verilog HDL代碼來實現(xiàn)有效/就緒(valid/ready)重定時觸發(fā)器級(pvld_prdy_retiming)的電路表示110。電路表示110包括輸出觸發(fā)器和
滑動寄存器(skid register)以實現(xiàn)完全的有效/就緒握手協(xié)議。表1中示出的示范性文
件是 pvld_prdy_retiming.V。
[0032]表1有效/就緒重定時觸發(fā)器電路表示
【權(quán)利要求】
1.一種方法,包括: 在命令行接口處接收命令行輸入; 將所述命令行輸入轉(zhuǎn)譯成一個或多個測試條件;以及 生成配置為對電路表示進(jìn)行仿真并驗證所述一個或多個測試條件的測試環(huán)境。
2.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括: 生成由所述命令行輸入所指定的附加邏輯的表示;以及 在所述測試環(huán)境中包括所述表示。
3.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括: 生成由所述命令行輸入所指定的邏輯聲明的表示;以及 在所述測試環(huán)境中包括所述表示。
4.根據(jù)權(quán)利要求3所述的方法,其中所述表示是寄存器和計數(shù)器中的至少一個的表/Jn ο
5.根據(jù)權(quán)利要求1所述的方法,其中所述將所述命令行輸入轉(zhuǎn)譯成所述一個或多個測試條件包括基于至少一個信 號將由所述命令行輸入所指定的假定轉(zhuǎn)譯成命令,所述命令當(dāng)被執(zhí)行時驗證與所述假定相對應(yīng)的第一測試條件。
6.根據(jù)權(quán)利要求1所述的方法,其中所述將所述命令行輸入轉(zhuǎn)譯成所述一個或多個測試條件包括基于至少一個信號將由所述命令行輸入所指定的表達(dá)式轉(zhuǎn)譯成命令,所述命令當(dāng)被執(zhí)行時驗證與所述表達(dá)式相對應(yīng)的第一測試條件。
7.根據(jù)權(quán)利要求6所述的方法,其中當(dāng)在所述電路表示的仿真期間所述第一測試條件總是得到滿足時所述電路表示通過測試。
8.根據(jù)權(quán)利要求6所述的方法,其中當(dāng)在所述電路表示的仿真期間所述第一測試條件從未得到滿足時所述電路表示通過測試。
9.根據(jù)權(quán)利要求6所述的方法,其中當(dāng)在所述電路表示的仿真期間所述第一測試條件至少一次得到滿足時所述電路表示通過測試。
10.根據(jù)權(quán)利要求1所述的方法,其中所述將所述命令行輸入轉(zhuǎn)譯成所述一個或多個測試條件包括將由所述命令行輸入所指定的表達(dá)式轉(zhuǎn)譯成命令,所述命令當(dāng)被執(zhí)行時允許至少一個輸入信號在所述電路表示的仿真期間具有未知值。
11.根據(jù)權(quán)利要求1所述的方法,其中所述將所述命令行輸入轉(zhuǎn)譯成所述一個或多個測試條件包括將由所述命令行輸入所指定的表達(dá)式轉(zhuǎn)譯成命令,所述命令當(dāng)被執(zhí)行時允許至少一個輸出信號在所述電路表示的仿真期間具有未知值。
12.根據(jù)權(quán)利要求1所述的方法,其中所述將所述命令行輸入轉(zhuǎn)譯成所述一個或多個測試條件包括將由所述命令行輸入所指定的表達(dá)式轉(zhuǎn)譯成命令,所述命令當(dāng)被執(zhí)行時要求一個或多個輸出信號在所述電路表示的仿真期間具有已知值。
13.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括: 在所述測試環(huán)境內(nèi)對所述電路表示進(jìn)行仿真;以及 當(dāng)?shù)谝粶y試條件得到滿足時,在波形觀測儀中顯示在所述電路表示的仿真期間所產(chǎn)生的一個或多個信號軌跡。
14.一種存儲指令的非暫時性計算機(jī)可讀存儲介質(zhì),當(dāng)所述指令由處理器執(zhí)行時,使所述處理器實施包括以下各項的步驟:在命令行接口處接收命令行輸入; 將所述命令行輸入轉(zhuǎn)譯成一個或多個測試條件;以及 生成配置為對電路表示進(jìn)行仿真并驗證所述一個或多個測試條件的測試環(huán)境。
15.根據(jù)權(quán)利要求14所述的非暫時性計算機(jī)可讀存儲介質(zhì),所述步驟進(jìn)一步包括: 生成由所述命令行輸入所指定的附加邏輯的表示;以及 在所述測試環(huán)境中包括所述表示。
16.根據(jù)權(quán)利要求14所述的非暫時性計算機(jī)可讀存儲介質(zhì),所述步驟進(jìn)一步包括: 生成由所述命令行輸入所指定的邏輯聲明的表示;以及 在所述測試環(huán)境中包括所述表示。
17.根據(jù)權(quán)利要求14所述的非暫時性計算機(jī)可讀存儲介質(zhì),其中所述將所述命令行輸入轉(zhuǎn)譯成所述一個或多個測試條件的步驟包括基于至少一個信號將由所述命令行輸入所指定的假定轉(zhuǎn)譯成命令,所述命令當(dāng)被執(zhí)行時驗證與所述假定相對應(yīng)的第一測試條件。
18.根據(jù)權(quán)利要求14所述的非暫時性計算機(jī)可讀存儲介質(zhì),其中所述將所述命令行輸入轉(zhuǎn)譯成所述一個或多個測試條件的步驟包括基于至少一個信號將由所述命令行輸入所指定的表達(dá)式轉(zhuǎn)譯成命令,所述命令當(dāng)被執(zhí)行時驗證與所述表達(dá)式相對應(yīng)的第一測試條件。
19.根據(jù)權(quán)利要求14所述的非暫時性計算機(jī)可讀存儲介質(zhì),其中所述將所述命令行輸入轉(zhuǎn)譯成所述一個或多個測試條件的步驟包括將由所述命令行輸入所指定的表達(dá)式轉(zhuǎn)譯成命令,所述命令當(dāng)被執(zhí)行時允許至少一個輸入信號在所述電路表示的仿真期間具有未知值。
20.一種用于測試電路表示的系統(tǒng),所述系統(tǒng)包括: 存儲器,其配置為存儲程序指令和所述電路表示;以及 處理器,其配置為: 在命令行接口處接收命令行輸入; 執(zhí)行所述程序指令中的一個或多個以: 將所述命令行輸入轉(zhuǎn)譯成一個或多個測試條件;以及 生成配置為對所述電路表示進(jìn)行仿真并驗證所述一個或多個測試條件的測試環(huán)境。
【文檔編號】G01R31/3167GK103809112SQ201310492256
【公開日】2014年5月21日 申請日期:2013年10月18日 優(yōu)先權(quán)日:2012年11月1日
【發(fā)明者】羅伯特·阿爾菲里 申請人:輝達(dá)公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1