Vivado+VCS+Verdi联合仿真

Vivado+VCS+Verdi联合仿真

1 Introduction

在ASIC开发中在流片前除了常规的功能仿真还需要利用FPGA来验证数字系统设计的正确性以及方便软件部门提前进行软件驱动的编写以及调试。为使整个系统可以在FPGA器件上正常运行FPGA原型验证人员需要对原始的设计进行一些必要的修改与替换。修改后当软件人员进行测试发现系统与预期行为不一致时需要对FPGA进行系统的仿真来排查问题。VIVADO虽然也自带了仿真器但是对于SOC这种大型的系统来说仿真的速度以及便利性相对于VCS+Verdi还是有所不足。同时对于复杂IP的问题排查还需要相应的设计以及验证人员进行协助,而他们对于VCS+Verdi的工具链更加熟悉。因此将FPGA的工程采用VCS+Verdi的工具进行仿真就十分具有必要。但是FPGA工程不能直接利用VCS+Verdi进行仿真因为某些模块使用了FPGA特有的IP,直接进行编译会报错。我们需要进行一系列的步骤来完成仿真。

2 Steps

为使FPGA相关IP能在VCS进行编译与仿真需要分别完成下面的几个步骤IP的编译,setup文件的建立,VCS与Verdi的makefile文件编写。下面就以实际的工程为例完成相关的说明。

2.1 IP 库文件编译

在编译时需要注意VIVDAO与VCS的版本搭配问题,如果编译没有产生预期的文件可以尝试更换版本进行尝试。在本次的示例采用的版本为Vivado2019.1以及VCS 2018.06。
a、选择tools中编译库的选项并正确填写下面的选项主要是VCS的路径以及生成库的路径。
vcs vivado 库编译

b、编译完成后会synopsys_sim.setup。如果在设置路径下产生了该文件则表示库正常生成。
生成的synopsys_sim文件

2.2 调用IP的生成

采用工程对IP进行管理。打开vivado软件选择下面的选项进行需要IP的生成。生成的在向相关的IP目录下面会生成一系列文件其中仿真需要文件xx_sim_netlist.v文件。将该文件补充添加到filelist文件中。
ip 的工程管理

2.3 setup文件的创建

在VCS工程路径下即makefile同路径下建一个synopsys_sim.setup文件。在该文件中指明工作目录与生成库中synopsys_sim.setup的路径。如下例所示

    mywork: ./mywork
    OTHERS=/the path of synopsys_sim.setup

2.4 makefile文件的创建

下面是一个makefile文件的示例需要注意的是VCS需要采用所谓的三步法。即先用vlogan编译verilog代码并指明-work为mywork与snopsys_sim.setup的库名称相对应。VCS的编译选项为库指定顶层文件mywork.$(TOP_MODULE),同时mywork.glbl也是必须的选项否则会报错。然后运行生成的仿真文件。最后用verdi查看生成的fsdb文件。

TOP_MODULE = tb_int2fp
DUT_RTL = -f ./file_list
vcs 00: 
    vlogan -work mywork  -sverilog $(DUT_RTL) -l log_vlogan
    vcs $(VCS_OPT) mywork.$(TOP_MODULE) mywork.glbl
    ./simv  | tee all_run.log
verdi 01:
    verdi -sv -ssv -ssf  $(TOP_MODULE).fsdb $(DUT_RTL)&
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值