純system verilog搭建rtl驗(yàn)證平臺(tái)創(chuàng)客成長(zhǎng)系列之RTL模塊功能_第1頁(yè)
純system verilog搭建rtl驗(yàn)證平臺(tái)創(chuàng)客成長(zhǎng)系列之RTL模塊功能_第2頁(yè)
純system verilog搭建rtl驗(yàn)證平臺(tái)創(chuàng)客成長(zhǎng)系列之RTL模塊功能_第3頁(yè)
純system verilog搭建rtl驗(yàn)證平臺(tái)創(chuàng)客成長(zhǎng)系列之RTL模塊功能_第4頁(yè)
純system verilog搭建rtl驗(yàn)證平臺(tái)創(chuàng)客成長(zhǎng)系列之RTL模塊功能_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第一 一頓亂 第二章拿個(gè)測(cè)試模塊 第三章驗(yàn)證基本方 第四章平臺(tái)搭 平臺(tái)架 Object interface接 CPU模 top頂 個(gè)人工 分 隨機(jī)問(wèn) 平臺(tái)run起 第五章一頓亂總 第一章一頓亂緒LINUXVimVCS+VerdiPythonGUI編程我會(huì)在Win下進(jìn)行,其他的我?guī)缀醵荚贚inux環(huán)境下完成,Vim是比較好用的文本編輯器,VCSVerdiPythonSPerl忘的一干二凈。語(yǔ)言好多,但我個(gè)人比較偏好Python,不僅僅因?yàn)樗荗OP語(yǔ)言,更主要的是它能完成好多東西(普通,GUI,網(wǎng)絡(luò)編程,游戲開(kāi)發(fā)及Web應(yīng)用等。我自認(rèn)為,碼解釋,而且對(duì)涉及的SystemVerilog的基礎(chǔ)點(diǎn)也有回顧理解。第二章

2-*data=changeEn&&!changeWay:changeseg1tochangeEn&&changeWay:sweepseg1andoutData[31]:outData[30]:管腳名 屬 III IIOO OOORTL換掉。這里主要講述平臺(tái)搭建方法,平臺(tái)代碼只是供給讀的再仔細(xì),讀起來(lái)也是很吃力,畢竟Verilog是“并行”語(yǔ)言。第三章驗(yàn)證基本思路第四章平臺(tái)搭建平臺(tái)架構(gòu)RefObjectreg_debugdebug的一個(gè)開(kāi)關(guān),用來(lái)開(kāi)啟和關(guān)閉顯示信息。我們來(lái)看一下object這個(gè)類:我們直接看構(gòu)造函數(shù),在了object類的對(duì)象并給這個(gè)對(duì)象分配地址空間時(shí),new()config[hash]。reg型變量是verilog中的數(shù)據(jù)類型,這里可以替換成logic數(shù)據(jù)類型。SystemVerilogverilog,現(xiàn)在市面上有用SystemVerilog進(jìn)行開(kāi)發(fā)的書(shū)。class,function,task等)都可以作為一個(gè)模板,后續(xù)在例化它時(shí)可以在修改它,這就是基于面向?qū)ο缶幊?。不同的或修改?shí)現(xiàn)不同的對(duì)象、接口和方法。就像給interface定義個(gè)virtual,那么接口的每個(gè)實(shí)例都可以獨(dú)立的使用。virtual可用可不用,我的使用習(xí)慣是基本都使用上virtual。在Object.sv中,還了個(gè)“看門(mén)狗”類,這個(gè)類是用來(lái)控制仿真時(shí)間的,還有防止加間隔)。細(xì)心的讀者還發(fā)現(xiàn),stopTime沒(méi)有用到,代碼寫(xiě)的太快忘記了,這個(gè)后續(xù)完善,讀者可以自己想著這個(gè)功能怎么實(shí)現(xiàn)。reset用于重新計(jì)數(shù),用途是在發(fā)送新數(shù)據(jù)時(shí)回到仿Object.sv中最后一個(gè)類就是用戶自定義的數(shù)據(jù)結(jié)構(gòu),我們這個(gè)例子中,數(shù)據(jù)很簡(jiǎn)單,就是一段32bit長(zhǎng)的數(shù)據(jù)。約束很簡(jiǎn)單,就是在1-ffff_ffff中間隨機(jī)。數(shù)據(jù)的數(shù)量為3。virtualvirtual接口,接口內(nèi)容和寫(xiě)法后面再說(shuō),通過(guò)構(gòu)造函數(shù)的看是否隨機(jī)成功,隨機(jī)成功返回1,不成功則終止程序報(bào)錯(cuò)。47行的TestLink是個(gè)郵箱,這個(gè)在后面講頂層的時(shí)候介紹。forkjoin_none中包含begin…end,還有一種是fork…onork...o,frk…on_noefor…on_anyfrk…on。在for…onfor…onork…onfrk…on_noefk…on_anon_noeinterfaceCPUACK信號(hào)以表示操作完,CPU可繼續(xù)操作。這個(gè)接口中定義了ACK的個(gè)數(shù),設(shè)計(jì)中應(yīng)該在最后這兩比如,DUT的輸入就是平臺(tái)的輸出,DUT的輸出就是平臺(tái)的輸入。換句話說(shuō)就是驗(yàn)證平臺(tái)interface。在整個(gè)平臺(tái)中,使用VirIntfCpu就等于使用virtualinterface。Dut得平臺(tái)和DUT同步,數(shù)據(jù)都在時(shí)鐘邊沿操作。是程序設(shè)計(jì)者自己都很,不懂得精簡(jiǎn)代碼。CPUCPU模型很簡(jiǎn)單,原因是我們這本書(shū)的重點(diǎn)是在講驗(yàn)證平臺(tái)的簡(jiǎn)單架構(gòu),是級(jí)讀物,CPU的功能其實(shí)做全了很復(fù)雜,包括中斷處理,系統(tǒng)初始化,寄存器遍歷操作。這就留給讀者自己去研究了,有的可以郵件我討論據(jù)寬度。第23行這個(gè)類的寄存器接口,注意,用modport的在例化時(shí)要加接口里定義Test5354Object類的兩個(gè)成員,為什的值,11就一直停在這邊(這樣講應(yīng)該已經(jīng)很通俗了。DUT回的ACK一般為一個(gè)時(shí)鐘周期,不能一直拉著。我們?cè)賮?lái)看下讀函數(shù),主要是配置文件中CPU模型只往寄存器里寫(xiě)數(shù)據(jù),讀者可以自己想想怎么從寄存器里讀數(shù)據(jù),有興C語(yǔ)言,那這些都不陌生。等須等寄存器配置完畢后再啟動(dòng)平臺(tái),init()init_done信號(hào)給頂層,頂層根據(jù)這個(gè)信Model模型(ScoreScoreBoard,當(dāng)然,包含很多東西,這里就是做一個(gè)參考模型。根據(jù)SpecDUTDUTDebug。將需要觀察的信號(hào)通過(guò)定義的接口全部放進(jìn)model里面。我們來(lái)看下代碼:里來(lái)。20行是個(gè)什么鬼?恩,所有寄存器信號(hào)都放在這個(gè)接口里,這是我的習(xí)慣。我們來(lái)Debug。一個(gè)就是比較功能,當(dāng)然,refMod寫(xiě)在了比較任務(wù)讀者看下refMod,有基礎(chǔ)的童鞋可以發(fā)現(xiàn)問(wèn)題了,如果你讀懂DUT代碼。final注意,init_done后才啟動(dòng)mod。top可以看到這些都是object.sv的類。9-15行之間,$test$plusargs(“dump”),這個(gè)是說(shuō)在vcsdump這個(gè)選項(xiàng)的話就返回Ture,11行,1213行的函數(shù)依次表示打開(kāi)仿真波形開(kāi)關(guān),從最頂層開(kāi)始波形和將的波形保存在TestDut.fsdb文件中。Top中的21行-22行是接口的,25行開(kāi)始是DUT的例化,將接口都接好下面是重點(diǎn),program塊,為什么要有這個(gè)塊?究其原因是在設(shè)計(jì)和測(cè)試平臺(tái)的混合在同一個(gè)片內(nèi),你用純RTL程序會(huì)產(chǎn)生同樣的問(wèn)題。程序塊的出現(xiàn)就是解決這個(gè)問(wèn)FromFromprevioustime第一個(gè)區(qū)域是Active區(qū)域,這個(gè)區(qū)域中運(yùn)行設(shè)計(jì),包括RTL,門(mén)級(jí)代碼和時(shí)鐘發(fā)生器;第二個(gè)區(qū)域是Observed,執(zhí)行斷言;Reactive這個(gè)區(qū)域是執(zhí)試平臺(tái)代碼的。Observed和Reactive區(qū)域的可以觸發(fā)本時(shí)鐘周期內(nèi)Active中進(jìn)一步的設(shè)計(jì)操作,這也是為什么在top中進(jìn)行全局初始化時(shí)要關(guān)斷言;Postponed,將在時(shí)鐘片最后所有設(shè)計(jì)活動(dòng)都結(jié)束后的只個(gè)人工 分 src下放的是平臺(tái)代碼,sim是仿 隨機(jī)問(wèn)題問(wèn)題的方

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論