一種驗(yàn)證高級(jí)微控制器總線接口的裝置制造方法
【專利摘要】本發(fā)明公開(kāi)了一種驗(yàn)證高級(jí)微控制器總線接口的裝置,包括:參數(shù)生成單元,用于根據(jù)約束條件產(chǎn)生隨機(jī)傳輸包,該傳輸包中包含數(shù)據(jù)、地址、讀寫(xiě)類型、突發(fā)長(zhǎng)度等參數(shù);傳輸單元,用于隨機(jī)傳輸包的內(nèi)容,生成出不同的命令;驅(qū)動(dòng)單元,用于將不同命令轉(zhuǎn)化成接口上的信號(hào),發(fā)送到驗(yàn)證對(duì)象;檢測(cè)單元,用于監(jiān)測(cè)驗(yàn)證對(duì)象總線的行為,并實(shí)時(shí)檢查總線的協(xié)議的正確性;功能覆蓋率統(tǒng)計(jì)單元,用于接收所述傳輸單元和/或檢測(cè)單元發(fā)送的傳輸包,根據(jù)其內(nèi)容進(jìn)行總線行為的覆蓋率統(tǒng)計(jì),包括訪問(wèn)類型、地址空間、數(shù)據(jù)空間、突發(fā)類型中至少之一。本發(fā)明提供的裝置適用于任何基于高級(jí)微控制器總線架構(gòu)AMBA的系統(tǒng)級(jí)或模塊級(jí)的驗(yàn)證,可提高整個(gè)芯片的設(shè)計(jì)驗(yàn)證效率。
【專利說(shuō)明】一種驗(yàn)證高級(jí)微控制器總線接口的裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及系統(tǒng)芯片【技術(shù)領(lǐng)域】,具體涉及系統(tǒng)芯片的驗(yàn)證技術(shù)。本發(fā)明涉及一種驗(yàn)證高級(jí)微控制器總線接口的裝置。
【背景技術(shù)】
[0002]隨著領(lǐng)先的系統(tǒng)芯片(SoC, System on Chip)設(shè)計(jì)中都包含了更復(fù)雜的各種協(xié)議,用于驗(yàn)證的知識(shí)產(chǎn)權(quán)(VIP, Verification Intellectual Property)已經(jīng)成為驗(yàn)證環(huán)境的一個(gè)重要組成部分,并使工程師能夠在緊張的項(xiàng)目進(jìn)度中達(dá)到覆蓋率目標(biāo)。VIP提供各種芯片上和芯片外的功能模型,如ARM? AMBA?、PCI Express, USB、MIP1、HDMI和以太網(wǎng)等。驗(yàn)證工程師使用這些模型在流片前來(lái)測(cè)試所有的SoC接口,使他們能夠驗(yàn)證一個(gè)接口是否符合所公布的標(biāo)準(zhǔn)。
[0003]電子設(shè)計(jì)自動(dòng)化(EDA)軟件工具廠商推出的SystemVerilog驗(yàn)證方法學(xué)(VMM)被很多電子公司采用,用于開(kāi)發(fā)先進(jìn)驗(yàn)證環(huán)境。使用SystemVerilog創(chuàng)建采用覆蓋主導(dǎo)、隨機(jī)約束、基于斷言驗(yàn)證技術(shù)的綜合驗(yàn)證環(huán)境,同時(shí)為可互用驗(yàn)證組件指定了建庫(kù)數(shù)據(jù)塊。VMM方法學(xué)得到全球數(shù)百家SoC和娃IP驗(yàn)證團(tuán)隊(duì)的采用,加速開(kāi)發(fā)基于SystemVerilog的功能強(qiáng)大的驗(yàn)證環(huán)境,并有助于以較少時(shí)間和努力達(dá)到可測(cè)量的功能覆蓋率目標(biāo)。
[0004]主流芯片設(shè)計(jì)越來(lái)越需要使用可廣泛重用IP的基于SoC的設(shè)計(jì)技術(shù)。這增加了設(shè)計(jì)的復(fù)雜性,給工程師提出更大的驗(yàn)證挑戰(zhàn),需要采用強(qiáng)大的新驗(yàn)證技術(shù)和方法。采用了VMM方法學(xué)的標(biāo)準(zhǔn),它極大提高了芯片驗(yàn)證過(guò)程的質(zhì)量和生產(chǎn)率。
[0005]隨著芯片規(guī)模越來(lái)越大、設(shè)計(jì)復(fù)雜度越來(lái)越高,芯片設(shè)計(jì)中的驗(yàn)證成為設(shè)計(jì)師的挑戰(zhàn)。運(yùn)用VMM方法學(xué)的SystemVerilog可以有效地幫助芯片設(shè)計(jì)工程師解決驗(yàn)證挑戰(zhàn)。
[0006]近來(lái)有軟件工具廠商推出基于SystemVerilog語(yǔ)言,帶有原生的UVM、VMM和OVM支持不同于其他商用化的VIP,該VIP完全采用SystemVerilog語(yǔ)言編寫(xiě),在一個(gè)采用了另一種不同語(yǔ)言的原始實(shí)現(xiàn)周圍,也無(wú)須任何的封裝或者方法學(xué)擴(kuò)展。Discovery VIP采用了原生地支持通用驗(yàn)證方法學(xué)(UVM, Universal Verification Methodology)、驗(yàn)證方法學(xué)手冊(cè)(VMM, Verification Methodology Manual)和開(kāi)放式驗(yàn)證方法學(xué)(OVM, OpenVerification Methodology)的架構(gòu),而不需要方法學(xué)級(jí)別的互操作性封裝、或者在外層之下的翻譯及重新映射。針對(duì)AMBA3.0之前的標(biāo)準(zhǔn),有相關(guān)的商用VIP,但是大都建立在相關(guān)的驗(yàn)證方法學(xué)(或仿真工作)之上,沒(méi)有單純的基于System Verilog語(yǔ)言的VIP。
[0007]為了響應(yīng)對(duì)更高性能和功率效率的需求,現(xiàn)在看到行業(yè)中廣泛而快速地采用AMBA 4AXI4?和ACE?協(xié)議,以支持可持續(xù)不斷的、多樣化的以及多處理器SoC芯片,AMBA
4.0的標(biāo)準(zhǔn)推出后,沒(méi)有成熟的VIP驗(yàn)證AXI4和ACE的總線接口,因此,需要開(kāi)發(fā)了一套AMBA VIP,兼容AMBA4.0以下全部標(biāo)準(zhǔn),與驗(yàn)證方法學(xué)無(wú)關(guān),與仿真工具無(wú)關(guān),基于systemverilog語(yǔ)言,可以集成到任何AMBA體系的SoC驗(yàn)證環(huán)境中。
【發(fā)明內(nèi)容】
[0008]本發(fā)明提供一種驗(yàn)證高級(jí)微控制器總線接口的裝置,適用于任何基于AMBA的系統(tǒng)級(jí)或模塊級(jí)的驗(yàn)證,可提高整個(gè)芯片的設(shè)計(jì)驗(yàn)證效率。
[0009]本發(fā)明提供的一種驗(yàn)證高級(jí)微控制器總線接口的裝置,包括:
[0010]參數(shù)生成單元,用于根據(jù)約束條件產(chǎn)生隨機(jī)傳輸包(random transaction),該傳輸包中包含下述參數(shù)中至少之一:數(shù)據(jù)、地址、讀寫(xiě)類型、突發(fā)長(zhǎng)度,并發(fā)送所述隨機(jī)傳輸包給傳輸單兀;
[0011]傳輸單元(Transactor),用于所述隨機(jī)傳輸包transaction的內(nèi)容,生成出不同的命令,并發(fā)送給驅(qū)動(dòng)單元Driver ;
[0012]驅(qū)動(dòng)單元,用于將所述不同命令轉(zhuǎn)化成接口(interface)上的信號(hào),通過(guò)相應(yīng)的標(biāo)準(zhǔn)接口 interface發(fā)送到驗(yàn)證對(duì)象(DUT);
[0013]檢測(cè)單元,用于監(jiān)測(cè)所述驗(yàn)證對(duì)象DUT總線的行為,并實(shí)時(shí)檢查所述總線的協(xié)議的正確性;
[0014]功能覆蓋率統(tǒng)計(jì)單元,用于接收所述傳輸單元和/或檢測(cè)單元發(fā)送的傳輸包transaction,根據(jù)其內(nèi)容進(jìn)行總線行為的覆蓋率統(tǒng)計(jì),包括訪問(wèn)類型、地址空間、數(shù)據(jù)空間、突發(fā)類型中至少之一。
[0015]驅(qū)動(dòng)單元Driver中維護(hù)有緩存(cache)模型,根據(jù)不同的ACE類型來(lái)獲取/更新cache模型的狀態(tài),模擬一個(gè)真實(shí)高級(jí)一致性擴(kuò)展接口 ACE Master中的高速緩存cache行為,用于響應(yīng)和/或發(fā)送監(jiān)聽(tīng)snoop類型的訪問(wèn)。
[0016]驅(qū)動(dòng)單元中設(shè)置有操作控制模塊,用于控制將讀寫(xiě)操作分開(kāi),并根據(jù)超發(fā)(outstanding)深度控制傳輸進(jìn)程,若未達(dá)到預(yù)定的超發(fā)深度,則連續(xù)驅(qū)動(dòng)地址;若達(dá)到預(yù)定的超發(fā)深度,則等待一個(gè)傳輸結(jié)束再發(fā)起下一次傳輸。
[0017]任何基于AMBA的系統(tǒng)級(jí)或模塊級(jí)的驗(yàn)證環(huán)境都可以直接復(fù)用本發(fā)明提供的裝置。在驗(yàn)證對(duì)象DUT的傳輸模塊開(kāi)發(fā)完成之前可以用本發(fā)明提供的VIP裝置替代DUT的傳輸模塊完成系統(tǒng)級(jí)驗(yàn)證。由于模塊充分復(fù)用,很大程度上縮短了驗(yàn)證平臺(tái)(Testbench)的開(kāi)發(fā)周期,提高整個(gè)芯片的設(shè)計(jì)驗(yàn)證效率。
【專利附圖】
【附圖說(shuō)明】
[0018]圖1是本發(fā)明提供的一種驗(yàn)證高級(jí)微控制器總線接口的裝置架構(gòu)示意圖;
[0019]圖2是本發(fā)明實(shí)施例中提供的驗(yàn)證高級(jí)微控制器總線接口的裝置工作流程圖。
[0020]圖3是采用本發(fā)明提供的驗(yàn)證高級(jí)微控制器總線接口的裝置的驗(yàn)證環(huán)境示意圖。
【具體實(shí)施方式】
[0021]在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明。但是本發(fā)明能夠以很多不同于在此描述的其它方式來(lái)實(shí)施,本領(lǐng)域技術(shù)人員可以在不違背本發(fā)明內(nèi)涵的情況下做類似推廣,因此本發(fā)明不受下面公開(kāi)的具體實(shí)施的限制。
[0022]系統(tǒng)芯片產(chǎn)商推出以高級(jí)微控制器總線架構(gòu)(AMBA, Advanced MicrocontrollerBus Architecture)的高級(jí)一致性擴(kuò)展接口(ACE,Advanced Coherency Extensions)為主要特色的新版AMBA接口與協(xié)議規(guī)格。要有效維持共享資源中本地緩存所儲(chǔ)存數(shù)據(jù)的一致性,緩存的一致性是關(guān)鍵。AMBA 4ACE規(guī)格能在不同叢集的多核心處理器間達(dá)成系統(tǒng)等級(jí)的高速緩存一致性(包括多核心處理器與繪圖處理器)。
[0023]AMBA 4ACE不但讓極度復(fù)雜的異質(zhì)系統(tǒng)單芯片設(shè)計(jì)達(dá)到高效節(jié)能的目標(biāo),也是專為行動(dòng)、家用、網(wǎng)絡(luò)與游戲等領(lǐng)域的次世代運(yùn)算應(yīng)用所設(shè)計(jì)。
[0024]AMBA 4ACE規(guī)格能確保系統(tǒng)層級(jí)的高速緩存一致性,使高效能多核心處理器得以管理更頻繁的數(shù)據(jù)及緩存共享,以及更多的跨組件通訊,同時(shí)支持存取共享緩存及外部?jī)?nèi)存的額外處理引擎。由一套標(biāo)準(zhǔn)程序,用來(lái)管理高速緩存一致性、內(nèi)存屏障以及虛擬內(nèi)存,將可降低軟件緩存的維護(hù)需求,節(jié)省處理器周期,并且減少外部?jī)?nèi)存之存取。
[0025]通過(guò)內(nèi)存子系統(tǒng)導(dǎo)入內(nèi)存屏障,使系統(tǒng)工程師能夠完成最佳指令排序,必要時(shí)可提升系統(tǒng)效能。分布式虛擬內(nèi)存的訊號(hào)處理,搭配最新推出的架構(gòu)及處理器,可將內(nèi)存虛擬化擴(kuò)充至內(nèi)存管理系統(tǒng)(MMU, Memory Management Unit),更能有效運(yùn)用外部?jī)?nèi)存,同時(shí)讓多重操作系統(tǒng)(OS)能夠于適當(dāng)?shù)奶摂M管理軟件監(jiān)控下分享硬件資源。
[0026]有鑒于此,本發(fā)明實(shí)施例提供一種驗(yàn)證高級(jí)微控制器總線接口的裝置,如圖1所示,該裝置100包括:
[0027]參數(shù)生成單元10,用于根據(jù)約束條件產(chǎn)生隨機(jī)傳輸包(random transaction),該傳輸包中包含下述參數(shù)中至少之一:數(shù)據(jù)、地址、讀寫(xiě)類型、突發(fā)長(zhǎng)度,并發(fā)送所述隨機(jī)傳輸包給傳輸單元20 ;
[0028]傳輸單元20 (Transactor),用于所述隨機(jī)傳輸包transaction的內(nèi)容,生成出不同的命令,并發(fā)送給驅(qū)動(dòng)單元30 (Driver);
[0029]驅(qū)動(dòng)單元30,用于將所述不同命令轉(zhuǎn)化成接口 interface上的信號(hào),通過(guò)相應(yīng)的標(biāo)準(zhǔn)接口 interface發(fā)送到驗(yàn)證對(duì)象DUT ;
[0030]檢測(cè)單元40,用于監(jiān)測(cè)所述驗(yàn)證對(duì)象DUT總線的行為,并實(shí)時(shí)檢查所述總線的協(xié)議的正確性;
[0031]功能覆蓋率統(tǒng)計(jì)單元50,用于接收所述傳輸單元20和/或檢測(cè)單元40發(fā)送的傳輸包transaction,根據(jù)其內(nèi)容進(jìn)行總線行為的覆蓋率統(tǒng)計(jì),包括訪問(wèn)類型、地址空間、數(shù)據(jù)空間、突發(fā)類型中至少之一。
[0032]隨機(jī)傳輸包中還包括下述參數(shù)至少之一:
[0033]讀寫(xiě)ID、數(shù)據(jù)包大小、鎖定類型、響應(yīng)類型。
[0034]在所述隨機(jī)傳輸包中設(shè)置有監(jiān)聽(tīng)snoop read類型、snoop write類型或/和domain域類型元素。
[0035]傳輸單元20Transactor采用回調(diào)(callback)機(jī)制,根據(jù)用戶需要,注入一些錯(cuò)誤的元素到所述隨機(jī)傳輸包transaction,以檢查驗(yàn)證對(duì)象DUT在不合法激勵(lì)下的響應(yīng)。
[0036]驅(qū)動(dòng)單元30 (Driver)中維護(hù)高速緩存(cache)模型,根據(jù)不同的ACE類型來(lái)獲取/更新cache模型的狀態(tài),模擬一個(gè)真實(shí)高級(jí)一致性擴(kuò)展接口 ACE Master中的高速緩存cache行為,用于響應(yīng)和/或發(fā)送監(jiān)聽(tīng)snoop類型的訪問(wèn)。
[0037]驅(qū)動(dòng)單元30中設(shè)置有操作控制模塊,用于控制將讀寫(xiě)操作分開(kāi),并根據(jù)超發(fā)(outstanding)深度控制傳輸進(jìn)程,若未達(dá)到預(yù)定的超發(fā)深度,則連續(xù)驅(qū)動(dòng)地址;若達(dá)到預(yù)定的超發(fā)深度,則等待一個(gè)傳輸結(jié)束再發(fā)起下一次傳輸。
[0038]為了使本發(fā)明的原理、特性和優(yōu)點(diǎn)根據(jù)清楚,下面結(jié)合具體實(shí)施方案對(duì)本發(fā)明進(jìn)行詳細(xì)描述。[0039]圖1所示為一個(gè)AMBA VIP module的基本結(jié)構(gòu),分為四個(gè)層次,場(chǎng)景(scenario)、功能(function)、命令(command)、信號(hào)(signal),這符合經(jīng)典的system verilog的層次結(jié)構(gòu)。
[0040]參照?qǐng)D1,其中參數(shù)生成單元10 (Generator)可以根據(jù)約束條件(constraint)產(chǎn)生random transaction,其中包括數(shù)據(jù)、地址、讀寫(xiě)類型、突發(fā)長(zhǎng)度等各類元素;通過(guò)mailbox 傳遞到 Transactor。
[0041]信箱(Mailbox)是system verilog語(yǔ)言中定義的一種通信機(jī)制,用于transaction (傳輸單元)之間的通信。Mailbox本身也是system verilog的關(guān)鍵字,它的實(shí)現(xiàn)方式類似于數(shù)據(jù)源端和收端之間的一個(gè)FIFO, FIFO中填充的數(shù)據(jù)是transaction (傳輸包)。
[0042]當(dāng)然還存在其他的傳輸通信方式,例如TLM。但這些方式都是語(yǔ)言/標(biāo)準(zhǔn)定義好的。
[0043]Transactor是function level的模塊,它根據(jù)隨機(jī)產(chǎn)生的transaction內(nèi)容,生成出不同的命令,繼續(xù)通過(guò)mailbox發(fā)送到Driver。Driver是command level的模塊,也是VIP中最復(fù)雜的一部分,它負(fù)責(zé)把不同命令轉(zhuǎn)化成interface上的信號(hào),通過(guò)systemverilog的標(biāo)準(zhǔn)的interface發(fā)送到DUT。
[0044]檢測(cè)單元包括監(jiān)測(cè)模塊Monitor和檢查模塊Checker,它們組成了 AMBAVIP的檢查機(jī)制,觀測(cè)驗(yàn)證對(duì)象DUT總線的行為,監(jiān)測(cè)模塊Monitor實(shí)時(shí)檢查AMBA總線的協(xié)議的正確性,如果有signal level的錯(cuò)誤產(chǎn)生可以報(bào)告出來(lái),也可以立即停止仿真。Checker完成了signal level到function level的轉(zhuǎn)換,用戶也可以自定義一些檢查方式在Checker內(nèi)部。監(jiān)測(cè)模塊Monitor和驗(yàn)證對(duì)象DUT之間依靠Interface通信,Monitor和Checker之間依靠mailbox通信。AMBAVIP這套檢查機(jī)制可以被獨(dú)立的使能,檢查一個(gè)真實(shí)的Master/Slave的總線行為。功能覆蓋統(tǒng)計(jì)單元Function Coverage模塊針對(duì)AMBA協(xié)議定義了覆蓋組coverage group,從而保證驗(yàn)證的覆蓋率。
[0045]coverage group (覆蓋組)是system verilog語(yǔ)言的概念,也是關(guān)鍵字。簡(jiǎn)單說(shuō)來(lái),一個(gè)覆蓋組包含多個(gè)覆蓋點(diǎn),一個(gè)覆蓋點(diǎn)包含多個(gè)覆蓋倉(cāng)。工作流程簡(jiǎn)要說(shuō)明如下,F(xiàn)unction Coverage模塊定義了兩個(gè)覆蓋組,一邊接收transactor發(fā)送的transaction,根據(jù)其內(nèi)容做總線行為的覆蓋率統(tǒng)計(jì),包括訪問(wèn)類型/地址空間/數(shù)據(jù)空間/突發(fā)類型等等;同時(shí)也可以接受checker發(fā)送的transaction,不但能統(tǒng)計(jì)transactor發(fā)送的總線行為的覆蓋率,而且統(tǒng)計(jì)總線上隨機(jī)訪問(wèn)/響應(yīng)的時(shí)序(timing)信息。當(dāng)VIP的generator和transactor都工作時(shí),是主動(dòng)模式,兩路coverage都在統(tǒng)計(jì);當(dāng)VIP的generator和transactor都不工作時(shí),僅有monitor和checker工作,是被動(dòng)模式,只收集checker這一路的 coverage。
[0046]Checker根據(jù)AMBA總線信號(hào),生成新的transaction,這個(gè)transaction的內(nèi)容和generator生成的基本一致,只是增加一些總線的timing信息,用于覆蓋率收集。
[0047]自定義檢查方式就比較多樣化,例如可以和generator發(fā)出的transaction做數(shù)據(jù)/地址對(duì)比。
[0048]高級(jí)一致性擴(kuò)展接口 ACE是AMBA 4新引入的總線標(biāo)準(zhǔn),它的復(fù)雜度在于保證系統(tǒng)級(jí)芯片(SoC, System on Chip也稱片上系統(tǒng))多個(gè)master之間緩存一致性,SoC是一個(gè)有專用目標(biāo)的集成電路,其中包含完整系統(tǒng)并有嵌入軟件的全部?jī)?nèi)容。那么以ACEMaster 為例,簡(jiǎn)要說(shuō)明一下用于驗(yàn)證的 IP (VIP, Verification Intellectual Property)實(shí)現(xiàn)方式。參數(shù)生成單元Generator是根據(jù)約束條件constraint產(chǎn)生隨機(jī)傳輸包randomtransaction,該傳輸包transaction中不僅包括數(shù)據(jù)、地址、讀寫(xiě)類型、突發(fā)類型、突發(fā)長(zhǎng)度、讀寫(xiě)ID、數(shù)據(jù)包大小、鎖定類型、響應(yīng)類型;而且定義snoop read類型、snoop write類型、domain類型等各類元素;傳輸單元Transactor包括一套回調(diào)(callback)機(jī)制,可以根據(jù)用戶需要,明確的注入一些錯(cuò)誤的元素到transaction,從而檢查驗(yàn)證對(duì)象DUT在不合法激勵(lì)下的響應(yīng)?;卣{(diào)Callback機(jī)制是system verilog語(yǔ)言建議使用的一種任務(wù)調(diào)用機(jī)制,它的基本思路是在底層的對(duì)象中定義一個(gè)任務(wù)的接口,不做任務(wù)的實(shí)現(xiàn),而在頂層對(duì)象中可以針對(duì)不同的場(chǎng)景修改這個(gè)任務(wù)的內(nèi)容。這樣的好處是維護(hù)的代碼相對(duì)較少。
[0049]Cache模型在初始化和和仿真過(guò)程中都留下了 callback接口,針對(duì)不同的場(chǎng)景重新實(shí)現(xiàn)這個(gè)接口任務(wù)就可以修改Cache模型中數(shù)值。這也是System Verilog的一種常用方式。
[0050]ACE masterVIP的Driver中維護(hù)了一套高速緩存(cache)模型,模擬一個(gè)真實(shí)ACEMaster中的cache行為,用于響應(yīng)/發(fā)送snoop類型的訪問(wèn)。Cache模型是ACE VIP實(shí)現(xiàn)Cache 一致性的關(guān)鍵技術(shù)。Cache模型的一些物理參數(shù)可以在初始化的時(shí)候設(shè)定,包括緩存空間大小、每個(gè)cache line的大小、cache way (路)的個(gè)數(shù)。兩個(gè)基本函數(shù)維護(hù)cache的狀態(tài):get_cache_state (addr)和 set_cache_state (line_idx, state)。Driver 根據(jù)不同的ACE類型來(lái)獲取/更新cache模型的狀態(tài)。Cache模型的初始狀態(tài)可以通過(guò)函數(shù)設(shè)定,也可以在仿真過(guò)程中通過(guò)callback的方式改變,從而進(jìn)一步提高驗(yàn)證的覆蓋率。
[0051]ACE/AXI與之前的AMBA總線相比增加了超前傳輸(outstanding transaction)的功能,也稱為“超發(fā)”,它可以在前一次傳輸完成之前發(fā)起后面的傳輸,從而大大提高了整個(gè)系統(tǒng)的效率。所以本發(fā)明提供的驗(yàn)證裝置VIP可實(shí)現(xiàn)對(duì)超前傳輸outstanding的支持,如圖2所示:
[0052]在超前傳輸Outstanding模式下,基本的工作模式如下:
[0053]1.讀寫(xiě)?yīng)毩⒌尿?qū)動(dòng)單元driver內(nèi)設(shè)置有操作控制模塊,將讀寫(xiě)操作分開(kāi),驅(qū)動(dòng)單元driver通過(guò)讀寫(xiě)的隊(duì)列從transactor分別獲取讀寫(xiě)的transaction。
[0054]2.Driver維護(hù)get_and_put任務(wù),一邊獲取transaction, —邊根據(jù)讀寫(xiě)類型吧transaction分配到獨(dú)立的隊(duì)列中去。
[0055]3.Driver維護(hù)Write_drive任務(wù),從寫(xiě)隊(duì)列中獲取transaction,根據(jù)其內(nèi)容驅(qū)動(dòng)地址、數(shù)據(jù)、響應(yīng)信號(hào)。
[0056]a)如果沒(méi)有達(dá)到超發(fā)outstanding深度,Driver會(huì)連續(xù)的驅(qū)動(dòng)地址,不必等待傳
輸結(jié)束。
[0057]b)如果已經(jīng)達(dá)到超發(fā)outstanding深度,Driver會(huì)等待一個(gè)傳輸結(jié)束再發(fā)起下一次傳輸。
[0058]c)ffrite_data 和 write_response 不會(huì)阻塞控制循環(huán),以 fork_join_none 的方式管理。
[0059]d)對(duì)于單獨(dú)的循環(huán)進(jìn)程,必須保證響應(yīng)發(fā)生。
[0060]Driver同時(shí)維護(hù)讀驅(qū)動(dòng)Read_drive任務(wù),它根據(jù)read transaction驅(qū)動(dòng)地址,獲取從設(shè)備的數(shù)據(jù)。基本的循環(huán)管理方式與寫(xiě)驅(qū)動(dòng)Write_drive相同,讀地址read_address被超發(fā)outstanding深度阻塞,讀數(shù)據(jù)read_data不會(huì)阻塞循環(huán)。
[0061]如圖3所示,示范性地說(shuō)明了一個(gè)集成AMBA VIP的完整SoC驗(yàn)證環(huán)境,虛線內(nèi)部的白色模塊都可以看作DUT的組成部分,VIP和測(cè)試用例Testcase是VIP相關(guān)的驗(yàn)證部分。本例子中集成了 ACE Master, ACE-Lite Master, AXI monitor, ACE slave 等 VIP,以及高級(jí)高性能總線(AHB, Advanced High-performance Bus)和高級(jí)外設(shè)總線(APB, AdvancedPeripheral Bus)。通過(guò)interface和master通信。測(cè)試用例Testcase通過(guò)system verilogprogram的方式實(shí)現(xiàn),通過(guò)修改transaction的constraint可以產(chǎn)生不同的random激勵(lì)。
[0062]綜上所述,任何基于AMBA的系統(tǒng)級(jí)或模塊級(jí)的驗(yàn)證環(huán)境都可以直接復(fù)用本發(fā)明提供的裝置。在驗(yàn)證對(duì)象DUT的傳輸模塊開(kāi)發(fā)完成之前可以用本發(fā)明提供的VIP裝置替代DUT的傳輸模塊完成系統(tǒng)級(jí)驗(yàn)證。由于模塊充分復(fù)用,很大程度上縮短了驗(yàn)證平臺(tái)Testbench的開(kāi)發(fā)周期,提高整個(gè)芯片的設(shè)計(jì)驗(yàn)證效率。
[0063]本發(fā)明雖然以較佳實(shí)施例公開(kāi)如上,但其并不是用來(lái)限定本發(fā)明,任何本領(lǐng)域技術(shù)人員在不脫離本發(fā)明的精神和范圍內(nèi),都可以做出可能的變動(dòng)和修改,因此本發(fā)明的保護(hù)范圍應(yīng)當(dāng)以本發(fā)明權(quán)利要求所界定的范圍為準(zhǔn)。
【權(quán)利要求】
1.一種驗(yàn)證高級(jí)微控制器總線接口的裝置,其特征在于,包括: 參數(shù)生成單元,用于根據(jù)約束條件產(chǎn)生隨機(jī)傳輸包,該傳輸包中包含下述參數(shù)中至少之一:數(shù)據(jù)、地址、讀寫(xiě)類型、突發(fā)長(zhǎng)度,并發(fā)送所述隨機(jī)傳輸包給傳輸單元; 傳輸單元,用于所述隨機(jī)傳輸包的內(nèi)容,生成出不同的命令,并發(fā)送給驅(qū)動(dòng)單元; 驅(qū)動(dòng)單元,用于將所述不同命令轉(zhuǎn)化成接口上的信號(hào),通過(guò)相應(yīng)的標(biāo)準(zhǔn)接口發(fā)送到驗(yàn)證對(duì)象; 檢測(cè)單元,用于監(jiān)測(cè)所述驗(yàn)證對(duì)象總線的行為,并實(shí)時(shí)檢查所述總線的協(xié)議的正確性; 功能覆蓋率統(tǒng)計(jì)單元,用于接收所述傳輸單元和/或檢測(cè)單元發(fā)送的傳輸包,根據(jù)其內(nèi)容進(jìn)行總線行為的覆蓋率統(tǒng)計(jì),包括訪問(wèn)類型、地址空間、數(shù)據(jù)空間、突發(fā)類型中至少之
O
2.如權(quán)利要求1所述的裝置,其特征在于,所述隨機(jī)傳輸包中還包括下述參數(shù)至少之 讀寫(xiě)ID、數(shù)據(jù)包大小、鎖定類型、響應(yīng)類型。
3.如權(quán)利要求1所述的裝置,其特征在于, 在所述隨機(jī)傳輸包中設(shè)置有監(jiān)聽(tīng)讀類型、監(jiān)聽(tīng)寫(xiě)類型或/和域類型元素。
4.如權(quán)利要求1所述的裝置,其特征在于, 所述傳輸單元采用回調(diào)機(jī)制 ,根據(jù)用戶需要,注入一些錯(cuò)誤的元素到所述傳輸包,以檢查驗(yàn)證對(duì)象在不合法激勵(lì)下的響應(yīng)。
5.如權(quán)利要求1所述的裝置,其特征在于, 所述驅(qū)動(dòng)單元中維護(hù)有緩存模型,根據(jù)不同的高級(jí)一致性擴(kuò)展接口類型來(lái)獲取或更新緩存模型的狀態(tài),模擬一個(gè)真實(shí)高級(jí)一致性擴(kuò)展接口中的高速緩存行為,用于響應(yīng)和/或發(fā)送監(jiān)聽(tīng)類型的訪問(wèn)。
6.如權(quán)利要求1所述的裝置,其特征在于, 所述驅(qū)動(dòng)單元中設(shè)置有操作控制模塊,用于控制將讀寫(xiě)操作分開(kāi),并根據(jù)超發(fā)深度控制傳輸進(jìn)程,若未達(dá)到預(yù)定的超發(fā)深度,則連續(xù)驅(qū)動(dòng)地址;若達(dá)到預(yù)定的超發(fā)深度,則等待一個(gè)傳輸結(jié)束再發(fā)起下一次傳輸。
【文檔編號(hào)】G06F13/38GK103455460SQ201210179329
【公開(kāi)日】2013年12月18日 申請(qǐng)日期:2012年6月1日 優(yōu)先權(quán)日:2012年6月1日
【發(fā)明者】張 浩, 馬超, 盧鼎, 毛維 申請(qǐng)人:廣東新岸線計(jì)算機(jī)系統(tǒng)芯片有限公司