VCS簡(jiǎn)易圖文教程_第1頁(yè)
VCS簡(jiǎn)易圖文教程_第2頁(yè)
VCS簡(jiǎn)易圖文教程_第3頁(yè)
VCS簡(jiǎn)易圖文教程_第4頁(yè)
VCS簡(jiǎn)易圖文教程_第5頁(yè)
已閱讀5頁(yè),還剩5頁(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)介

1、VCS簡(jiǎn)易教程 1. 編譯所有點(diǎn)v文件:vcs *.v -debug_all -R -gui -l top_log-debug_all表示調(diào)用UCLI和DVE,并為進(jìn)一步的DVE調(diào)試建立必要的文檔;-R表示編譯之后立即運(yùn)行仿真; -gui表示在仿真0時(shí)刻打開(kāi)DVE界面; -l表示記錄編譯過(guò)程日志,后跟日志文件名2. 在Hierarchy Browser窗口中選中module(左圖),則其端口信號(hào)會(huì)顯示在 Data Pane窗口中(右圖)在 Data Pane窗口中選中要顯示的信號(hào),右擊 add to waves->new wave view (波形窗口打開(kāi))4設(shè)置仿真時(shí)間在空格欄中輸入仿

2、真時(shí)間,點(diǎn)擊左邊的下箭頭,開(kāi)始仿真,右下角的2,1/2是波形放大縮小5調(diào)試波形顯示后,如果又添加了新的信號(hào),則重新點(diǎn)restart圖標(biāo),這時(shí)波形不顯示(modelsim仍然保留),點(diǎn)擊工具欄的加載波形,如下圖的下拉箭頭如果要調(diào)試內(nèi)部某個(gè)模塊的信號(hào),先在Hierarchy Browser窗口選中module(上面的第3步),可以通過(guò)RTL代碼的例化名查找,如上例:例化了雙口RAM 例化名為code_u,添加code_u的所有信號(hào)都波形窗口,信號(hào)很多,包括內(nèi)部的很多wire,buffer等??稍诓ㄐ未翱谥羞^(guò)濾這些信號(hào),只留下輸入輸出端口,方法如下:點(diǎn)擊上圖中過(guò)濾信號(hào)下拉箭頭,將不需要的信號(hào)過(guò)濾(把

3、勾號(hào)去掉,默認(rèn)為所有勾都選上)Wave窗口中只剩下輸入輸出信號(hào)。然后進(jìn)行仿真。若要區(qū)分不同的信號(hào)組,以便觀察,可以插入分割信號(hào):菜單signale->Insert Divider后端網(wǎng)表仿真后仿真,需在tb文件中加入sdf文件,如下:initialbegin$sdf_annotate("XXXX.sdf",top_module_name); / 例: (“xxx.sdf”,soc_i)end(sdf要在PT中生成,DC輸出的sdf可能會(huì)有寫(xiě)warning)標(biāo)準(zhǔn)單元庫(kù)文件有兩種,分別為tsmc18_neg 和tsmc18 ,前者支持neg_tchk負(fù)延遲檢查,后者不支持

4、。因?yàn)閔old time check的值是負(fù)的, 所以要進(jìn)行negative timing check ,否則默認(rèn)將會(huì)使負(fù)值的hold time check改為0,對(duì)hold time負(fù)值的檢查,在vcs時(shí)加上+neg_tchk這個(gè)option。1 編譯源文件并啟動(dòng)軟件圖形界面vcs soc_lvs.v ./tb/*.v ./tb/mem/*.v ./tb/uart/*.v ./TSMC.18/*.v -debug_all -R -gui -l soc_log +incdir+ ./tb ./tb/uart ./tb/mem +v2k -top tb -negdelay +neg_tchk +

5、maxdelays +sdfverbose +no_notifier (需輸出編譯日志加“ > soc_vcs.log”表示運(yùn)行l(wèi)og存于soc_vcs.log)參數(shù)解釋:(參考VCS仿真指南(第二版)-debug_all表示調(diào)用UCLI和DVE,并為進(jìn)一步的DVE調(diào)試建立必要的文檔;-R表示編譯之后立即運(yùn)行仿真; -gui表示在仿真0時(shí)刻打開(kāi)DVE界面; -l表示記錄編譯過(guò)程日志,后跟日志文件名;+incdir+表示文件搜索路徑+v2k表示支持verilog 2001標(biāo)準(zhǔn)-top 設(shè)置編譯頂層模塊,后跟頂層modele名,不是文件名。-negdelay 消除負(fù)延遲引起的error(也可

6、不加,忽略這個(gè)error)+neg_tchk支持負(fù)延遲檢查,主要是檢查hold time,否則反標(biāo)中會(huì)把負(fù)值忽略為0+maxdelays 用SDF文件中的延遲,取代仿真庫(kù)中的延時(shí)(仿真庫(kù)中通常是建立時(shí)間1ns,保持時(shí)間0.5ns),取SDF文件中的最大延遲+mindelays 用SDF文件中的延遲,取代仿真庫(kù)中的延時(shí),取SDF文件中的最小延遲(保持時(shí)間檢查)+sdfverbose 顯示所有的sdf反標(biāo)錯(cuò)誤+no_notifier 關(guān)閉時(shí)序檢查函數(shù)中的不定態(tài)生成傳播,即通過(guò)這個(gè)參數(shù),如果有時(shí)序違規(guī),控制臺(tái)會(huì)報(bào)告,但不會(huì)影響邏輯功能的正確輸出。只做網(wǎng)表的功能仿真可以用+nospecify : 消除

7、所以延遲;而+notimingchecks只是消除延遲違規(guī)斷言,避免輸出不定態(tài),但延遲還在。因此+nospecify的作用包括了+notimingchecks運(yùn)行后控制臺(tái)有warning:SDF Warning:Cannot find timing check $setup(posedge CLKB, posedge CLKA,)以及error:SDF Error: Negative DELAY ignored and replaced by 0.Warning是因?yàn)镻T輸出SDF時(shí),根據(jù)雙口RAM 的時(shí)序模型有檢查CLKA和CLKB時(shí)序,而設(shè)計(jì)方案中用的是單一時(shí)鐘,因此該warning可忽略

8、。Error是因?yàn)镾DF文件中有負(fù)延遲,VCS將其忽略,并用0取代負(fù)值??珊雎?,不影響。加參數(shù)-negdelay 可消除負(fù)延遲導(dǎo)致的error,變成warning:SDF Warning: Negative IOPATH DELAY A to Y ignored.2. 添加波形如要觀察tb頂層端口的信號(hào),點(diǎn)Data.1,切換到信號(hào)窗口,可選中所有窗口中的信號(hào),然后右擊,add to wave ->new wave view。后仿真中,經(jīng)常需要觀察內(nèi)部的信號(hào),而此時(shí)內(nèi)核結(jié)構(gòu)已經(jīng)被打散成統(tǒng)一的網(wǎng)表,不易像RTL級(jí)仿真一樣找到對(duì)應(yīng)的module。可在Hierarchy區(qū)域右擊,點(diǎn)expand

9、all,則展開(kāi)區(qū)域中所有的加號(hào),包括module ,reg等等,然后在頂部的Sim欄中,填入模糊搜索的module名,找到module后,選中,則該module的可觀測(cè)信號(hào)顯示在右側(cè)的Data1欄中,然后可在其中添加需要的信號(hào)到wave。該方法只能添加端口信號(hào),內(nèi)部信號(hào)的輸入輸出。如果要追蹤某條關(guān)鍵路徑,追蹤某個(gè)寄存器的時(shí)序違規(guī),則必須在Hierarchy 中找信號(hào)對(duì)應(yīng)的寄存器,這樣才能在Data1中看到這個(gè)寄存器所有的端口。比如要觀察SDRAM的輸入數(shù)據(jù)s_data_i,這個(gè)是端口信號(hào),連接到寄存器的D端,寄存器的信號(hào)名為dp_rdata,則在Sim欄中先輸入“*”,然后在兩個(gè)*號(hào)之間輸入信

10、號(hào)名,“*dp_rdata*”,則Hierarchy窗口中就會(huì)顯示對(duì)應(yīng)的信號(hào)了,如圖3選中所有dp_rdata信號(hào)(16bit矢量),add to wave ->new wave view,則所有信號(hào)都顯示在波形窗口中,包括所有的使能信號(hào)等,如圖4在信號(hào)列表頂端輸入要顯示的信號(hào)名,可過(guò)濾無(wú)用的信號(hào),如:輸入Q則信號(hào)列表只顯示所有寄存器的輸出Q端,如圖5,同理要保留輸入信號(hào)D,則輸入D即可。 為了觀察信號(hào)數(shù)據(jù),可將位矢量還原成BUS類型:選中列表中所有Q信號(hào),右擊set bus,彈出如下窗口 如上圖所示,信號(hào)從高到低(150),按高位到低位建立總線,要注意高低位是否對(duì)應(yīng),如圖6就對(duì)應(yīng)反了,

11、此時(shí)可選擇所有信號(hào),按左邊的順時(shí)針圖標(biāo),則所有信號(hào)排序上下對(duì)調(diào),如圖7在Name欄中填入要?jiǎng)?chuàng)建的總線名稱,我們填入dp_rdata,然后點(diǎn)下方的Create,則生成了總線并顯示在窗口頂部,如圖8在窗口頂部,選中已經(jīng)生成的總線,點(diǎn)右邊的Add to List圖標(biāo),如圖9至此,總線型信號(hào)添加完畢,關(guān)閉總線創(chuàng)建窗口。觀察波形窗口的分組顯示下拉欄,可看到剛才添加到list的dp_rdata,命名為Group1,選中它,即可顯示在窗口中。如圖10添加其他信號(hào)同理,要通過(guò)波形觀察時(shí)序時(shí),時(shí)序的參考時(shí)鐘必須選對(duì)應(yīng)寄存器的輸入時(shí)鐘,即要將dp_rdata寄存器的CK添加到波形窗口中,而非soc_i頂層的clk,因?yàn)闀r(shí)

溫馨提示

  • 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)論