我們以一個簡單的加法器為例,來看下如何用vcs+verdi仿真Verilog文件并查看波形。
源文件內容如下:
//adder.v moduleadder( inputclk, inputrst, input[9:0]A, input[9:0]B, outputreg[10:0]C ); always@(posedgeclk)begin if(rst) C<=?#`FFD?'b0; ????else ????????C?<=?#`FFD?A?+?B; end endmodule
我們再定義一個宏定義的文件:
//macro_define.sv `defineFFD1ns
我們需要再定義一個testbench文件:
//test.sv moduletest; regclk; regrst; reg[9:0]A; reg[9:0]B; wire[10:0]C; initialbegin rst=1; A=0; B=0; #1us; rst=0; #1us; A=10'd100; B=10'd200; #1us; A=10'd300; B=10'd400; #20us; $finish; end initialbegin clk=0; forever#10nsclk<=?~clk; end adder?add_inst( ????.clk(clk), ????.rst(rst), ????.A(A), ????.B(B), ????.C(C) ); `ifdef?DUMP_FSDB ????initial?begin? ????????????????$fsdbDumpfile("tb.fsdb"); ????????$fsdbDumpvars("+all"); ????????//string?testname; ????????//if($value$plusargs("TESTNAME=%s",?testname))?begin ????????//????$fsdbDumpfile({testname,?"_sim_dir/",?testname,?".fsdb"}); ????????//end?else?begin ????????//????$fsdbDumpfile("tb.fsdb"); ????????//end ????end? `endif? endmodule
再定義一個filelist文件:dut.f
./macro_define.sv ./adder.v ./test.sv
最后就是需要一個Makefile文件了:
#!/bin/make all:compsim comp: vcs-full64-timescale=1ns/1ps-V-R-sverilog -debug_access+all+vc+v2k-kdb -lvcs.log -fdut.f+define+DUMP_FSDB=1 -toptest sim: ./simv-lsimv.log clean: rm-rf*~corecsrcsimv*vc_hdrs.hucli.keyurg**.lognovas.**.fsdb*verdiLog64*DVEfiles*.vpd
總的文件如下:
執行make all:
跑完后如下:
生成的文件如下:
用verdi打開波形:verdi -ssf tb.fsdb
可以看到波形如下:
審核編輯:劉清
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
Verilog
+關注
關注
28文章
1351瀏覽量
110074 -
加法器
+關注
關注
6文章
183瀏覽量
30114 -
VCS
+關注
關注
0文章
79瀏覽量
9600
原文標題:vcs+verdi仿真Verilog代碼
文章出處:【微信號:傅里葉的貓,微信公眾號:傅里葉的貓】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
請教VCS和verdi怎么聯合使用
最近要用到VCS仿真后生成FSDB文件,然后在Verdi中進行自動偵錯,請問我怎么安裝Verdi這個軟件以及如何啟動license,并且怎么
發表于 01-22 14:53
VCS仿真卡住,為什么無法生成verdi波形文件呢?
在make com編譯成功后,terminal卡住了一直沒有反應,這是什么情況有大佬知道嗎?VCS仿真卡住,為什么無法生成verdi波形文件
發表于 06-21 08:14
基于linux系統的VCS使用及仿真說明
代碼如下:頂層模塊代碼:波特率產生模塊接收模塊代碼:發送數據模塊一、VCS仿真下面開始進行VCS仿真。VCS要使用圖形化界面,必須得先編譯得
發表于 07-18 16:18
在Linux上用vcs+verdi對demo_nice進行仿真沒有成功的原因?
請教大神,我在Linux上用vcs+verdi對demo_nice進行仿真,但是沒有成功
我是用hibrd.sdk把demo_nice編譯成.verilog文件的,其內容如下
另
發表于 08-12 08:07
vcs和verdi的調試及聯合仿真案例
若想用Verdi觀察波形,需要在仿真時生成fsdb文件,而fsdb在vcs或者modelsim中的生成是通過兩個系統調用$fsdbDumpf
如何通過自動化腳本實現Questasim和Verdi的聯合仿真
Verdi是用來仿真以及debug波形的工具,但它不能夠用來編譯verilog和systemverilog文件,所以需要借助第三方EDA工具
如何使用Icarus Verilog+GTKWave來進行verilog文件的編譯和仿真
Windows+Linux+MacOS,并且源代碼開源。通過tb文件可以生成對應的仿真波形數據文件,通過GTKWave可以查看仿真
利用vcs+verdi仿真工具蜂鳥E200系列處理器仿真分析
開源RISC-V Hummingbird E203(蜂鳥E203)的仿真工具是開源的iverilog,這里利用vcs+verdi仿真工具進行仿真;
Verdi環境配置、生成波形的方法
Verdi是一個功能強大的debug工具,可以配合不同的仿真軟件進行debug,很多企業常用的就是VCS+Verdi或或者Xcelium(xrun)+Verdi的方式進行代碼的
評論