linux vcs是什么

linux vcs是編譯型verilog仿真器,是一種用來進(jìn)行仿真看波形的工具;其類似于windows下面的modelsim以及questasim等工具,以及quartus、vivado仿真的操作。

linux vcs是什么

本教程操作環(huán)境:linux5.9.8系統(tǒng)、Dell G3電腦。

linux vcs是什么?

VCS工具的基本使用

VCS是在linux下面用來進(jìn)行仿真看波形的工具,類似于windows下面的modelsim以及questasim等工具,以及quartus、vivado仿真的操作。

1.vcs的基本指令

vcs的常見指令后綴

指令 含義
-l readme.log 用于將編譯產(chǎn)生的信息放在log文件內(nèi)
+v2k 是使VCS兼容verilog 2001以前的標(biāo)準(zhǔn)
-debug_all 用于產(chǎn)生debug所需的文件
-f verilog_file.f 可將.f文件里的源碼全部編譯
-R 編譯后立即運(yùn)行,即編譯完成后立即執(zhí)行 ./simv
-Mupdate 源文件有修改時(shí),只重新編譯有改動(dòng)的**.v**文件,節(jié)約編譯時(shí)間。
-sverilog 打開對Systemverilog的支持,編譯Systemverilog文件時(shí)使用。
-timescale=1ns/1ns 設(shè)置仿真精度
-o simv_file 編譯默認(rèn)產(chǎn)生的可執(zhí)行文件為simv,可以使用 -o 更改可執(zhí)行文件名。如果這里修改執(zhí)行仿真時(shí)候就不是使用simv而是對應(yīng)的o名字了。

simv的常見指令

指令 含義
./simv -l run.log 執(zhí)行的日志文件保存
./simv -gui 以圖形化界面打開

2.使用vcs的實(shí)例

采用的是全加器的官方教程,首先介紹不使用腳本的執(zhí)行過程。
(1)先執(zhí)行vcs加入對應(yīng)的full_adder文件

vcs -sverilog  -debug_all   -timescale=1ns/1ps  full_adder.v  full_adder_tb.v -l com.log

這里先寫full_adder.v 是因?yàn)?strong>tb文件需要調(diào)用它,所以把被調(diào)用的文件先寫出來,這條語句會(huì)生成simv文件(如果使用了-o simv_file會(huì)生成對應(yīng)的文件名字)。
(2)可以用./simv文件執(zhí)行波形的界面,也可以采用下面指令以后臺方式打開一個(gè)界面。

dve  &或者  ./simv -l run.log -gui

(3)如果以./simv執(zhí)行會(huì)直接看到波形文件,如果使用dve & 需要自行加入simv文件來查看波形,選中simulator->Setup,加入生成的simv文件。
linux vcs是什么
在下方run all,如果沒有給時(shí)間刻度這里會(huì)報(bào)錯(cuò)。沒有報(bào)錯(cuò),則說明我們的功能是完全正確無誤的。右鍵加入波形文件,按f鍵顯示波形。
(4)如下的四個(gè)按鍵作用
第一個(gè): 追蹤誰驅(qū)動(dòng)該信號 ctrl+d
第二個(gè): 追蹤信號的值變換 ctrl+shift+d
第三個(gè): 追蹤未知態(tài)
第四個(gè): 追蹤用于驅(qū)動(dòng)誰
linux vcs是什么

3.makefile文件的寫法

vcs的腳本寫法可以幫助快遞進(jìn)行仿真得到波形文件。
其中.PHONY可以指定對應(yīng)哪些關(guān)鍵詞進(jìn)行make操作。

.PHONY:vcs sim dve clean   OUTPUT = adder  VCS = vcs -sverilog +v2k -timescale=1ns/1ns                                        -debug_all                                                               -o ${OUTPUT}                                                             -l compile.log                                                SIM = ./${OUTPUT} -l run.log   vcs:        ${VCS} -f verilog_file.f   sim:        ${SIM}dve: 		dve -vpd    vcdplus.vpd &  clean:       rm -rf *.log  csrc  simv*  *.key *.vpd  DVEfiles coverage *.vdb

這樣 make vcs執(zhí)行vcs語句,make sim執(zhí)行simv語句,make dve打開波形文件,make clean清除一些冗余文件。
其中,verilog_file.f是文件的列表,可以采用下面語句生成,這樣將所有以v結(jié)尾的文件名寫到目標(biāo)文件中。

find  -name  ".*v"   > file.list

相關(guān)推薦:《Linux視頻教程

以上就是

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊7 分享