VCS仿真环境的建立及相关问题的解决方法

第一章: 初学者如何建立VCS仿真环境

前言

对于芯片数字设计初学者来说,搭建VCS仿真环境是第一步。本文就教你如何属于你的搭建第一个仿真环境,敲开数字设计的大门。


一、VCS是什么?

VCS是S公司下面的数字电路仿真工具,业界普遍使用该工具完成数字电路的前仿真和后仿真。
数字电路工程师在完成RTL coding后,需要对设计的电路做仿真验证,通常是用VCS+verdi搭配完成仿真和debug。

二、搭建VCS仿真环境需要准备什么?

1.RTL 代码

module adder (
 input clk 
,input rst_
,input [3:0] a
,input [3:0] b
,output [4:0] out
);

reg [4:0] add_ab;

always @(posedge clk or negedge rst_)
   if(~rst_)begin
       add_ab <= 5'h0;
   end
   else begin
      add_ab <= a + b;
   end
assign out = add_ab;   

endmodule

2.test bench

代码如下(示例):

module top ();
//创建时钟和复位信号
reg clk;
reg rst_;
initial begin
clk  = 0;
rst_ = 0;
#10us;
rst_ = 1;
end

always #100us clk = ~clk;

//添加输入激励
reg [3:0] a;
reg [3:0] b;

initial begin
  a = 4'h5;
  b = 4'h8;
  #500us;
  a = 4'ha;
  b = 4'hc;  
  #500us;
  a = 4'h2;
  b = 4'hf;  
end

wire [4:0] out;
module adder (
 .clk   (clk ), 
 .rst_  (rst_),
 .a     (a),
 .b     (b),
 .out   (out)
);

initial begin
  $fsdbDumpfile("top.fsdb");
  $fsdbDumpvars(0,top,"+mda");
end
endmodule

3.VCS运行脚本

Makefile

vsc:
   vcs +v2k \
   -full64 \
   -notice \
   -debug_acc+all \
   -sv \
   -f flist.v \
   -l compile.log  \
   -top top \
   ./simv -l run.log

flist.v文件需要指定仿真用到的所有.v文件

 ../top.v
 ../adder.v

总结

对于初学者来说,找到正确的入门的方法非常重要。以上就是本章内容,大家可以按照以上内容,初步建立自己的仿真环境。拥有了第一个仿真环境,才能够建立信心和找到学习的乐趣,进而发展更多的可能性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值