0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

VCS独立仿真Vivado IP核的一些方法总结

FPGA之家 来源:Bug记录 作者:Bug记录 2021-03-22 10:31 次阅读

前年,发表了一篇文章《VCS独立仿真Vivado IP核的一些方法总结》(链接在参考资料1),里面简单讲述了使用VCS仿真Vivado IP核时遇到的一些问题及解决方案,发表之后经过一年多操作上也有些许改进,所以写这篇文章补充下。

在仿真Vivado IP核时分两种情况,分为未使用SECURE IP核和使用了SECURE IP核。

对于没有使用SECURE IP核的IP核仿真,只需要在VCS的命令行加上‘-y’选项,并给出库文件路径。这些库文件在$VIVADO_INSTALLER_PATHdataverilogsrc,其中$VIVADO_INSTALLER_PATH是VIVADO的安装路径,进入对应的版本号,比如2019.2,进入后找到data文件夹依次往下寻找。找到后可以把这些库文件复制到虚拟机,每个文件夹的库文件包含的内容不同,然后如下图:

即可加入对应的库文件夹。IP核仿真结束。

对于使用了SECURE IP核仿真的情况,除了要包含上面的这些库文件外,还要把SECURE IP加入到VCS;

首先,找到SECURE IP文件夹,在$VIVADO_INSTALLER_PATHdatasecureip,将里面的文件复制到虚拟机。每个文件夹包含的功能不同。

之前的文章讲接下来的操作如下:

操作上还是太复杂,这里简化操作如下。首先,VCS在仿真SECURE IP里面的VP文件时,需要加上一句“+verilog2001ext+.vp”,这句话的意思是将VP文件以verilog2001标准执行。出处在:

这是一份日语版本的UG900(参考资料2),但是在最新的UG900 英文版里(参考资料3),并没有这相关的内容;我的猜测是Xilinx不推荐独立仿真的方式,更加主推Vivado和VCS联合仿真,或者使用“export_simulation”等TCL语句将仿真库编译好直接使用的方式。

此外,也不需要我们修改SECURE IP文件夹的vcs_secureip_cell.list.f里面的路径,在makefile文件里使用如下方法:

使用export命令定义XILINX_VIVADO的路径,这样vcs_secureip_cell.list.f会根据这个路径去查找对应的文件。

注意,SECURE IP是加密之后的IP,而VIVADO在2016版本后更换了加密密钥,所以VCS2017之前的版本只能使用VIVADO2017之前的SECURE IP。

此外,还有网友提出问题,VIVADO项目(source)IP核文件夹里,哪些东西是对仿真有用的?

首先,IP核文件夹里的$IP_NAME_stub.v,$IP_NAME是生成IP的名字,这个文件是没有用的,它只有对IP的端口定义;其次,进行功能仿真时,可以选择$IP_NAME_sim_netlist.v,这个文件注释专门写着是为功能仿真准备的,推荐使用这类文件;最后,也可以使用$IP_NAME.v,这个文件大多数情况也可以用来仿真。

注意,如果存在$IP_NAME_sim_netlist.v和$IP_NAME.v时,只能选择一个文件加入仿真,否则会出现redefine的报错。因为IP核文件夹里面可能存在多个verilog文件,推荐删去$IP_NAME_stub.v,保留$IP_NAME_sim_netlist.v和$IP_NAME.v中的一个,然后在VCS命令里将文件夹的verilog都包含进来。

可能有人就会问,既然项目里的IP文件夹包含了verilog文件,为什么还要加入那些库;这些库大部分是作为基础库存在,供各类IP核调用,是它们的相同部分,而项目里的IP文件夹是它们之间不同的部分。

对于IP核文件只有VHDL的情况请看参考资料4。

原文标题:VCS独立仿真Vivado IP核的问题补充

文章出处:【微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • IP
    IP
    +关注

    关注

    5

    文章

    1404

    浏览量

    148272
  • VCS
    VCS
    +关注

    关注

    0

    文章

    78

    浏览量

    9495

原文标题:VCS独立仿真Vivado IP核的问题补充

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Vivado 使用Simulink设计FIR滤波器

    领域都有着广泛的应用。 Vivado自带的FIR滤波器IP已经很好用,这里借FIR滤波器的设计,介绍Simulink图形设计编程方法。Simulink可以使设计更直观,使硬件资源得到
    发表于 04-17 17:29

    VCS 仿真option 解析

    VCS仿真选项分编译(compile-time)选项和运行(run-time)选项。编译选项用于RTL/TB的编译,一遍是编译了就定了,不能在仿真中更改其特性,例如define等等。
    的头像 发表于 01-06 10:19 530次阅读

    FPGA新IP学习的正确打开方式

    的情况时,总会遇到一些以前未曾接触过的新内容,这些新内容会让我们感到陌生和恐惧,不知道该如何下手。 那么今天以xilinx vivado 为例分享学习FPGA 新IP的正确打开方式
    发表于 11-17 11:09

    vcs实用技巧

    VCS是编译型verilog仿真器,VCS先将verilog/systemverilog文件转化为C文件,在linux下编译生成的可执行文./simv即可得到仿真结果。
    的头像 发表于 10-25 17:22 543次阅读
    <b class='flag-5'>vcs</b>实用技巧

    为什么说Vivado是基于IP的设计?

    Vivado是Xilinx公司2012年推出的新一代集成开发环境,它强调系统级的设计思想及以IP为核心的设计理念,突出IP核在数字系统设计中的作用。
    的头像 发表于 09-17 15:37 1146次阅读
    为什么说<b class='flag-5'>Vivado</b>是基于<b class='flag-5'>IP</b>的设计?

    Vivado IP核Shared Logic选项配置

    在给Vivado中的一些IP核进行配置的时候,发现有Shared Logic这一项,这里以Tri Mode Ethernet MAC IP核为例,如图1所示。
    的头像 发表于 09-06 17:05 632次阅读
    <b class='flag-5'>Vivado</b> <b class='flag-5'>IP</b>核Shared Logic选项配置

    vivado仿真添加rtl时导致编译不通过如何解决?

    VCS仿真没问题,用vivado仿真时添加rtl时就出现错误; 出错在rtl里断言语法上(assert property),这会导致编译不通过;该如何解决?
    发表于 08-16 07:47

    vivado仿真流程

    vivado开发软件自带了仿真工具,下面将介绍vivado仿真流程,方便初学者进行仿真实验。
    的头像 发表于 07-18 09:06 2547次阅读
    <b class='flag-5'>vivado</b><b class='flag-5'>仿真</b>流程

    VCS独立仿真Vivado IP核的问题补充

    仿真Vivado IP核时分两种情况,分为未使用SECURE IP核和使用了SECURE IP核。
    的头像 发表于 06-20 14:23 660次阅读
    <b class='flag-5'>VCS</b><b class='flag-5'>独立</b><b class='flag-5'>仿真</b><b class='flag-5'>Vivado</b> <b class='flag-5'>IP</b>核的问题补充

    xilinx vivado调用cordic IP进行实现时报错多重驱动?

    ] m_axis_dout_tdata ); endmodule cordic ip配置页面如下: vivado message窗口,实现时报错信息截图如下: RTL视图多重驱动的信号线截图如下: 附加,综合时关于cordic i
    发表于 06-06 17:17

    VCS独立仿真Vivado IP核的问题补充

    仿真Vivado IP核时分两种情况,分为未使用SECURE IP核和使用了SECURE IP核。
    的头像 发表于 06-06 14:45 1274次阅读
    <b class='flag-5'>VCS</b><b class='flag-5'>独立</b><b class='flag-5'>仿真</b><b class='flag-5'>Vivado</b> <b class='flag-5'>IP</b>核的问题补充

    记录VCS仿真IP核只有VHDL文件的解决方法

    使用VCS仿真Vivado里面的IP核时,如果VivadoIP核的
    的头像 发表于 06-06 11:15 1438次阅读
    记录<b class='flag-5'>VCS</b><b class='flag-5'>仿真</b>的<b class='flag-5'>IP</b>核只有VHDL文件的解决<b class='flag-5'>方法</b>

    VCS独立仿真Vivado IP核的一些方法总结

    最近,需要使用VCS仿真一个高速并串转换的Demo,其中需要用到Vivado的SelectIO IP核以及IDELAYCTRL,IDELAY2原语。而此前我只使用
    的头像 发表于 06-06 11:09 1729次阅读
    <b class='flag-5'>VCS</b><b class='flag-5'>独立</b><b class='flag-5'>仿真</b><b class='flag-5'>Vivado</b> <b class='flag-5'>IP</b>核的<b class='flag-5'>一些</b><b class='flag-5'>方法</b><b class='flag-5'>总结</b>

    VCS实用技巧分享

    VCS是编译型verilog仿真器,VCS先将verilog/systemverilog文件转化为C文件,在linux下编译生成的可执行文./simv即可得到仿真结果。
    的头像 发表于 05-30 09:26 877次阅读
    <b class='flag-5'>VCS</b>实用技巧分享

    如何用vcs+verdi仿真Verilog文件

    我们以一个简单的加法器为例,来看下如何用vcs+verdi仿真Verilog文件并查看波形。 源文件内容如下:
    的头像 发表于 05-11 17:03 1447次阅读
    如何用<b class='flag-5'>vcs</b>+verdi<b class='flag-5'>仿真</b>Verilog文件