VCS仿真教程(一):Verilog+波形+Makefile

目录

    • Verilog文件
    • VCS仿真
    • DVE查看波形
    • 利用Makefile自动化仿真

本博文主要讲述怎么通过vcs仿真verilog文件并且查看波形,以及通过一个简单的makefile脚本帮助我们自动化操作。EDA软件大家可以从这里下载 EDA软件

Verilog文件

RTL文件:命名为add.v

//一个简单的加法器
module add (

	input         [20:0]	A ,
	input signed  [17:0]	B	,

	output signed [22:0]	C);

	wire signed [21:0]	A_signed;

assign A_signed = {1'b0,A};
assign C = A_signed + B;

endmodule

testbench文件:命名为test.v文件

`timescale 1ns/1ns

module test;

reg clk;
reg rst_n;

reg [20:0] A;
reg signed [17:0] B;

wire signed [22:0] C;

initial begin
	clk = 0;
	rst_n = 0;
	#10;
	rst_n = 1;
	A = 21'b0_0000_0000_0000_1111_1111;
	B = 18'b11_1111_1111_0000_0000;
    #200;
    $stop;

end

always #5 clk = ~clk;

add add_inst(
	.A(A),
	.B(B),
	.C(C));
endmodule

VCS仿真

把add.v和test.v放在同一个文件夹下:
VCS仿真教程(一):Verilog+波形+Makefile_第1张图片

在的当前路径下打开终端,输入命令:
test.v必须放在add.v前面VCS仿真教程(一):Verilog+波形+Makefile_第2张图片
结束后在当前路径下会产生其他几个文件:
VCS仿真教程(一):Verilog+波形+Makefile_第3张图片
这里的simv是一个可执行文件,接下来就执行simv
在终端中输入以下命令:
VCS仿真教程(一):Verilog+波形+Makefile_第4张图片
这时候会出现一个查看波形的窗口DVE
VCS仿真教程(一):Verilog+波形+Makefile_第5张图片

DVE查看波形

接下来:

鼠标选择add文件定义的端口,然后右键,add to wave,选择第一个new wave view
VCS仿真教程(一):Verilog+波形+Makefile_第6张图片
这时候会产生一个新的波形窗口:
VCS仿真教程(一):Verilog+波形+Makefile_第7张图片
我们点击左上角的向下箭头,开始运行,马上就会产生右侧的波形
VCS仿真教程(一):Verilog+波形+Makefile_第8张图片
我们可以改一下进制,这样看的更清楚:
选择ABC三个端口,右键Set Radix,选择二进制
VCS仿真教程(一):Verilog+波形+Makefile_第9张图片
这样我们就会看到:
在这里插入图片描述
这样我们就可以通过波形来分析verilog设计中的逻辑是否符合我们预期

利用Makefile自动化仿真

通过上面的内容,我们可以知道,vcs先编译我们的verilog源文件,然后会产生一个叫simv的可执行文件,通过执行simv,我们可以得到仿真的结果,并且通过-gui命令打开可视化窗口查看波形。这整个过程我们可以写一个简单的makefile脚本来帮助我们自动化操作。
新建一个文本,命名为makefile,内容如下:

all: compile sim

compile:
	vcs test.v add.v -debug_all

sim:
	./simv -gui

clean:
	rm -r csrc DVEfiles simv.daidir *.vpd simv *.key

当我们在终端中输入make compile就等同于执行vcs test.v add.v -debug_all
当我们在终端中输入make sim就等同于执行./simv -gui
当我们在终端中输入make all就等同于先compile,再sim,编译执行一步到位
当我们在终端中输入make clean 就等同于删除所有编译和执行时产生的文件,只保留了add.v,test.v以及makefile

你可能感兴趣的:(VCS学习,verilog,systemverilog,makefile,vcs)