我們以一個簡單的加法器為例,來看下如何用vcs+verdi仿真Verilog文件并查看波形。
源文件內(nèi)容如下:
//adder.v
module adder(
input clk,
input rst,
input [9:0] A,
input [9:0] B,
output reg [10:0] C
);
always @ ( posedge clk ) begin
if(rst)
C <= #`FFD 'b0;
else
C <= #`FFD A + B;
end
endmodule
我們再定義一個宏定義的文件:
//macro_define.sv
`define FFD 1ns
我們需要再定義一個testbench文件:
//test.sv
module test;
reg clk;
reg rst;
reg [9:0] A;
reg [9:0] B;
wire [10:0] C;
initial begin
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
initial begin
clk = 0;
forever #10ns clk <= ~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: comp sim
comp:
vcs -full64 -timescale=1ns/1ps -V -R -sverilog \\
-debug_access+all +vc +v2k -kdb \\
-l vcs.log \\
-f dut.f +define+DUMP_FSDB=1 \\
-top test
sim:
./simv -l simv.log
clean:
rm -rf *~ core csrc simv* vc_hdrs.h ucli.key urg* *.log novas.* *.fsdb* verdiLog 64* DVEfiles *.vpd
總的文件如下:

image-20230507181530700
執(zhí)行make all:

image-20230507181735377
跑完后如下:

image-20230507181825085
生成的文件如下:

image-20230507182042134
用verdi打開波形:verdi -ssf tb.fsdb

image-20230507182017953
可以看到波形如下:

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
Verilog
+關(guān)注
關(guān)注
30文章
1374瀏覽量
114520 -
加法器
+關(guān)注
關(guān)注
6文章
183瀏覽量
31417 -
VCS
+關(guān)注
關(guān)注
0文章
80瀏覽量
10298 -
Verdi
+關(guān)注
關(guān)注
0文章
22瀏覽量
9157
發(fā)布評論請先 登錄
相關(guān)推薦
熱點推薦
vcs和vivado聯(lián)合仿真
文件夾下輸入仿真命令如下:
./tb_top.sh
verdi -f filelist.f -ssf tb_top.fsdb
即可實現(xiàn)用vcs和
發(fā)表于 10-24 07:28
芯來e203移植開發(fā)分享(一)——vcs+verdi仿真環(huán)境搭建
這里就不詳細介紹蜂鳥e203,e203的仿真環(huán)境使用的是iverilog,一般工作中,主要使用的是vcs+verdi。個人覺得使用vcs的學(xué)習(xí)環(huán)境更為好一些。在這里簡單分享一下。
代碼準備
由于
發(fā)表于 10-27 06:09
請教VCS和verdi怎么聯(lián)合使用
最近要用到VCS仿真后生成FSDB文件,然后在Verdi中進行自動偵錯,請問我怎么安裝Verdi這個軟件以及如何啟動license,并且怎么
發(fā)表于 01-22 14:53
VCS仿真卡住,為什么無法生成verdi波形文件呢?
在make com編譯成功后,terminal卡住了一直沒有反應(yīng),這是什么情況有大佬知道嗎?VCS仿真卡住,為什么無法生成verdi波形文件呢?
發(fā)表于 06-21 08:14
在Linux上用vcs+verdi對demo_nice進行仿真沒有成功的原因?
請教大神,我在Linux上用vcs+verdi對demo_nice進行仿真,但是沒有成功
我是用hibrd.sdk把demo_nice編譯成.verilog文件的,其內(nèi)容如下
另
發(fā)表于 08-12 08:07
vcs和verdi的調(diào)試及聯(lián)合仿真案例
若想用Verdi觀察波形,需要在仿真時生成fsdb文件,而fsdb在vcs或者modelsim中的生成是通過兩個系統(tǒng)調(diào)用$fsdbDumpfile $fsdbDumpvars來實現(xiàn)的。
vcs學(xué)習(xí)筆記(常用選項/仿真流程/代碼覆蓋率/綜合后仿真/圖一樂技巧)
VCS是編譯型verilog仿真器,VCS先將verilog/systemverilog文件轉(zhuǎn)化
利用vcs+verdi仿真工具蜂鳥E200系列處理器仿真分析
開源RISC-V Hummingbird E203(蜂鳥E203)的仿真工具是開源的iverilog,這里利用vcs+verdi仿真工具進行仿真;
全網(wǎng)最實用的Verdi教程1
Verdi是一個功能強大的debug工具,可以配合不同的仿真軟件進行debug,很多企業(yè)常用VCS+Verdi或者Xcelium/xrun+Verdi的方式進行代碼的
Verdi環(huán)境配置、生成波形的方法
Verdi是一個功能強大的debug工具,可以配合不同的仿真軟件進行debug,很多企業(yè)常用的就是VCS+Verdi或或者Xcelium(xrun)+Verdi的方式進行代碼的
如何用vcs+verdi仿真Verilog文件
評論