VCS仿真指南

發(fā)布時(shí)間:2010-10-6 21:13    發(fā)布者:eetech
關(guān)鍵詞: VCS , 仿真 , 指南
VCS-verilog compiled simulator是synopsys公司的產(chǎn)品.其仿真速度相當快,而且支持多種調用方式;使用的步驟和modelsim類(lèi)似,都要先做編譯,再調用仿真.

Vcs包括兩種調試界面:Text-based:Command Line Interface(CLI) 和 GUI-based(VirSim);仿真主要的兩個(gè)步驟是編譯,運行:

>vcs design.v
//編譯verilog的源文件并且生成一個(gè)可執行文件simv
>simv
//運行simv

一般情況下都存在vcs 做編譯的時(shí)候的compile_time_options和運行時(shí)候的run_time_options,這些我們在下面再具體介紹.

一.VCS的三種調試模式

使用vcs存在三種調試模式:CLI調試模式,VirSim交互調試模式和VirSim后處理調試模式.下面舉例說(shuō)明:

1. CLI調試模式

CLI調試模式存在兩種調用方法,一種是編譯后馬上執行,一種是把編譯執行分開(kāi)處理

>vcs source.v +cli+3 –R –s

或者

>vcs source.v +cli+3
>simv source.v –s

其中 +cli+[1 2 3 4]是指調試時(shí)候交互調試的能力.

+cli+[<module_name>=]1|2|3|4
Enable CLI debugging.
1 enables you to see the values of nets and registers and deposit values to registers.
2 also enables breakpoints on value changes of nets and registers.
3 also enables you to force a value on nets.
4 also enables you to force a value on a register.

You can specify a module to enable CLI debugging only for instances of the module.
-line 能夠支持單步調試 但是這些都是會(huì )增加運行時(shí)間的.

這里不詳細介紹CLI 命令具體可以參考usrerguide.注意我們也可以把CLI的命令寫(xiě)成一個(gè)script的文件在vcs編譯時(shí)調用.

>vcs source.v –R –s –include script_file
或者在cli下調用cli>source script_file

2. VirSim交互調試模式

啟動(dòng)VirSim交互調試模式和調用CLI一樣也是有兩中方法.

>vcs source.v –RI –line +vcsd +cfgfile+filename

或者

>vcs source.v –I –line +vcsd
>vcs source.v -RIG +cfgfile+filename

其中-RI 作用有兩個(gè):編譯生成可以在VirSim中可執行的文件并且編譯后馬上啟動(dòng)Virsim;

要編譯成可以在VirSim中可執行的文件必須在編譯階段加-I,在要生成vcd或vpd時(shí)這個(gè)參數一定要添加;-RIG通過(guò)一個(gè)已編譯完成的默認的simv文件啟動(dòng)Virsim,在啟動(dòng)之前一定要通過(guò)vcs –RI或者-I對源文件做過(guò)編譯.

使用vcs編譯源文件之后會(huì )發(fā)現目錄下多了simv和/csrc等文件,其中simv是默認的可執行文件,可以在vcs做編譯的時(shí)候 –o filename改變輸出的名字,/csrc是存的增量編譯的結果,/simv.daidir如果設置中使用到了PLI就會(huì )創(chuàng )建.

具體如何使用VirSim做交互調試這里也不具體介紹,可以參考VirSim的userguide和vcs安裝下面的doc的tutorial.

3. VirSim的后處理調試模式

注意什么時(shí)候用后處理調試模式,什么時(shí)候使用交換模式那?在初步仿真的過(guò)程使用交互模式,若是調試一個(gè)成熟的設計或者很多人一起做調試這樣子可以使用post-processing mode.其主要的方法是通過(guò)仿真運行dump數據在vcd或者vpd文件中,運行結束后通過(guò)vcd或者vpd觀(guān)察運行過(guò)程的情況,交互調試能力相對較差,但是通過(guò)記錄的數據可以觀(guān)察出其中異常的地方;也就是包括兩個(gè)步驟Write VCD+ file,View result.

>vcs source.v –line –R -PP +vcsd

其中-R自動(dòng)運行并且生成vcd+文件

-PP編譯的時(shí)候是faster VirSim post_processing
>VCS –RPP source.v +vpdfile+vcdplus.vpd

注意:VirSim只能處理VCD+ file.VCD文件可以被轉換成VCD+格式的文件.

VCD+和VCD有什么不一樣那?更快,更小.

VCD+系統任務(wù)可以在testbench中使用也可以在仿真的時(shí)候添加.(注意使用到這些系統函數時(shí),在vcs編譯的時(shí)候一定要添加-I或者-RI.)

$vcdpluson(level_number,module_instance,….|net_or reg,….)
level_numbers

指定記錄的層次
0- 記錄整個(gè)指定module_instance的所有信號
1- 記錄指定module_instance頂層信號
n- 記錄從頂層開(kāi)始到下面的n層例化模塊的信號
module_instance 指定例化名
net_ or reg 指定特定的wire或者reg作為記錄的對象,默認是所有信號.
$vcdplusoff(module_instance,….|net_ or reg,…)
其他系統函數可以參見(jiàn)VCS quick reference.

二. 其他情況

注意區別的兩個(gè)方面:

1. –R –I 不同于-RI
-R –I是編譯成VirSim的可執行文件而且馬上運行仿真, -RI是編譯成VirSim的可執行文件并且調用VirSim.

2. –R –PP 不同于-RPP
-R –PP是編譯成VirSim的可執行文件并且在運行的時(shí)候加快輸出VCD+文件
-RPP是在存在VCD+的條件下調用VirSim進(jìn)行post processing的調試.

門(mén)級仿真需要反標SDF文件,可以在testbench中添加$sdf_annotate系統函數.并且在編譯的時(shí)候注意要使用standcell的仿真庫.
本文地址:http://selenalain.com/thread-30479-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页