微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > vcs编译vivado库问题

vcs编译vivado库问题

时间:10-02 整理:3721RD 点击:
本人想用VCS对DDR3 的example design进行仿真,但是涉及到一些底层加密的IP,因此希望用vivado的compile simulation libraries选项对vivado库进行编译,但是一直提示 failed to find the 'vcs_mx' simulator executable. 分别选用了VCS2014.03和2014.12都是这个错误(编译的时候simulator executable path一项填的是vcs/gui/dve/bin)。
请问各位,这个问题会不会跟软件的版本有关,我的vivado版本是2015.2.



   不应该是这个目录吧:vcs/gui/dve/bin,你最好检查一下具体的vcs命令所在的目录。

你这个 不是vivado版本的问题,请检查vcs的安装目录,可以查看环境变量文件里vcs的路径

没有设置好吧。



/etc/profile里的设置是:
export VCS_HOME=/home/opt/Synopsys/vcs2014.12/vcs
export VCS_HOME=/home/opt/Synopsys/vcs2014.12/vcs/gui/dve
然后我在simulator executable path尝试了/home/opt/Synopsys/vcs2014.12/vcs和/home/opt/Synopsys/vcs2014.12/vcs/gui/dve,仍然提示相同的错误,请问这一项应该怎么设置呀,急急急



    编译成功了,但是编译出来的这些仿真库如何使用呀?编译时候采用-Mdir指定?


1.看有没有这个路径,*/bin才是放执行文件的地方。
   /home/opt/Synopsys/vcs2014.12/vcs/bin2.你这个是vcs,不是vcs_mx,vivado的IP很多地方会用到vhdl,有可能编译不过。



    我在编译时simulator executable path一项选的是/home/opt/Synopsys/vcs2014.12/vcs,编译时候没提示错误了,但是看不懂,编译出来的文件都是.db或者.sdb文件,请问一下在编译的时候应该如何将该目录下的仿真文件指定给VCS呀,是用-Mdir和-Mlib命令吗



    建议你看看vivado和vcs联合使用的文档。
vivado用vcs仿真很简单。在vivado里面设置就行了。



    你的意思是像vivado调用modelsim那样调用vcs看波形吧,现在我想通过编译vivado的这些库进而脱离vivado,直接采用vcs进行编译、仿真,但是不知道vcs如何指向编译产生的这些.db和.sdb文件



   vivado+vcs会生成脚本,你以后可以脱离vivado,用脚本单独做仿真。


    我现在用vivado生成了一个PCIE的example design,也找到了工程里面的compile/elaborate/simulate.sh文件,按里面命令的操作没有问题,但是这里用到了vlogan,因为我之前是直接用vcs -full64 -sverilog....进行编译的,我在以前搭的仿真目录下用vlogan尝试了一下,发现用vlogan命令时即使添加了-ntb_opts uvm-1.1也识别不了UVM了。
    不好意思,我对这一块不是很熟,请问下能不能直接通过compilation和simulation两步流程进行仿真?如果可以的话在编译时应该注意什么,或者添加些什么命令?谢谢



    1.为什么要用uvm?vivid的example design都是传统的仿真模式。

2. 建议你到xilinx的官网搜索vcs simulation的文档。有比较详细的解释。



   我们原来用的就是UVM,只是现在有两个模块是通过PCIE连接的,所以希望在两模块之间添加一个PCIE的功能仿真模型进行仿真,这样对后续调试帮助会比较大,但是vivado例化出来的PCIE控制器涉及底层加密文件,无法直接用VCS编译,需要借助pre-compiled library,之前之所以用PCIE的example design就是想了解vivado编译出来的pre-compiled library是否依然涉及加密,以及这里面的.db、.sdb是怎么使用的

如果你要仿真VHDL,那必须使用三步仿真方法(vhdlan)。如果你坚持用两步仿真方法,那可以使用write_verilog -mode funcsim filename.v来生成网表,然后使用网表来仿真。使用三步仿真方法来仿真UVM的方法如下:
vlogan  -full64 -sverilog   -work uvm_lib -ntb_opts uvm
vlogan  -full64 -sverilog -ntb_opts uvm \
+incdir+include_dir  path_to_top_module/top_filename.sv
其中uvm_lib是在synopsys_sim.setup文件里面定义的库名称,2014.3默认的UVM是1.1d,使用其他版本可以参考user guide

期待..................

期待..................

请问你是如何解决这个报vcs—mx,这个问题的:我的路径设置disc/VCS2014.12/amd64/bin,也报这个错误



        你好,之前编译的问题解决了,但是我现在使用三部仿真不会再报错,但是采用这种方法好像没有把通过dpi调用的c文件编译进去,运行直接提示找不到c定义的那个函数,事实上这个c函数已经放在filelist里面了,然后我在analyze这一步用-f filelist命令,在elaborate这一步是加入顶层work.TOP,仿真执行到调用c函数的那个地方就提示该函数未定义,这和我在filelist文件中注释掉那个.c文件报的错误是一样的,所以我怀疑用三部仿真的时候该c函数并没有编译进去,请问你知道这是为什么吗



    报了什么错误

大神们,我现在也遇到这样的问题,我把vivado的生成的ip_example移植到NCveriog里面仿真,也是先做了compile_lib -simulator ies,确定生成了lib文件和cds.lib文件,然后在vivado环境里面是可以跑NC的。然而我把这些lib放到NC环境里面,在irun 后面加了 -cdslib cds.lib,把cds.lib文件放在NC环境目录下,竟然吃不进去,后面的仿真也就无从谈起了。大神有知道怎么加这些vivado编译的库的吗?


你好,
     我最近也在用FPGA做这样的设计,不过我是用的Incisive仿真的,也是vivado生成的IP拿到外部环境仿真,我先做了compile_simlib -simulator ies ,然后生成了几个库文件和cds.lib,我把这个cds.lib加到NC环境中去,irun -cdslib cds.lib,然后仿真,发现这些lib就没吃进去,我不知道该怎么做了,还是需要别的文件呢,大神指教啊



    老师你好,
    我现在也遇到这样的问题,我把vivado的生成的ip_example移植到NCveriog里面仿真,也是先做了compile_lib -simulator ies,确定生成了lib文件和cds.lib文件,然后在vivado环境里面是可以跑NC的。然而我把这些lib放到NC环境里面,在irun 后面加了 -cdslib cds.lib,把cds.lib文件放在NC环境目录下,竟然吃不进去,后面的仿真也就无从谈起了。大神有知道怎么加这些vivado编译的库的吗?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top