在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3166|回复: 7

[求助] 有以下问题,麻烦懂的大佬帮忙看一下,感激不尽

[复制链接]
发表于 2019-8-16 20:16:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 放郭 于 2019-8-16 21:38 编辑

vcs -sverilog -ntb_opts uvm-1.2 $UVM_HOME/src/dpi/uvm_dpi.cc  -CFLAGS -DVCS -vpi  -timescale=1ns/1ps    dut.sv top_tb.sv my_driver.sv

用以上命令行运行张强的UVM实战的例子代码
出现了下面的错误:
uvm_dpi.o: In function `m_uvm_report_dpi':
uvm_dpi.cc.text+0x43): multiple definition of `m_uvm_report_dpi'
uvm_dpi.o:uvm_dpi.cc.text+0x43): first defined here
uvm_dpi.o: In function `int_str_max':
uvm_dpi.cc.text+0x1cd): multiple definition of `int_str_max'
uvm_dpi.o:uvm_dpi.cc:(.text+0x1cd): first defined here
uvm_dpi.o: In function `uvm_re_match':
uvm_dpi.cc:(.text+0x1f8): multiple definition of `uvm_re_match'
uvm_dpi.o:uvm_dpi.cc:(.text+0x1f8): first defined here
uvm_dpi.o: In function `uvm_glob_to_re':
uvm_dpi.cc:(.text+0x460): multiple definition of `uvm_glob_to_re'
uvm_dpi.o:uvm_dpi.cc:(.text+0x460): first defined here
uvm_dpi.o: In function `uvm_dump_re_cache':
uvm_dpi.cc:(.text+0x6fc): multiple definition of `uvm_dump_re_cache'
uvm_dpi.o:uvm_dpi.cc:(.text+0x6fc): first defined here
uvm_dpi.o: In function `uvm_hdl_check_path':
uvm_dpi.cc:(.text+0x72f): multiple definition of `uvm_hdl_check_path'
uvm_dpi.o:uvm_dpi.cc:(.text+0x72f): first defined here
uvm_dpi.o: In function `uvm_hdl_btoi':
uvm_dpi.cc:(.text+0x755): multiple definition of `uvm_hdl_btoi'
uvm_dpi.o:uvm_dpi.cc:(.text+0x755): first defined here
uvm_dpi.o: In function `uvm_hdl_dtob':
uvm_dpi.cc:(.text+0x890): multiple definition of `uvm_hdl_dtob'
uvm_dpi.o:uvm_dpi.cc:(.text+0x890): first defined here
uvm_dpi.o: In function `uvm_hdl_get_mhdl':
uvm_dpi.cc:(.text+0x8f9): multiple definition of `uvm_hdl_get_mhdl'
uvm_dpi.o:uvm_dpi.cc:(.text+0x8f9): first defined here
uvm_dpi.o: In function `uvm_hdl_read':
uvm_dpi.cc:(.text+0xbf1): multiple definition of `uvm_hdl_read'
uvm_dpi.o:uvm_dpi.cc:(.text+0xbf1): first defined here
uvm_dpi.o: In function `uvm_hdl_set_mhdl':
uvm_dpi.cc:(.text+0xe36): multiple definition of `uvm_hdl_set_mhdl'
uvm_dpi.o:uvm_dpi.cc:(.text+0xe36): first defined here
uvm_dpi.o: In function `uvm_hdl_deposit':
uvm_dpi.cc:(.text+0xefb): multiple definition of `uvm_hdl_deposit'
uvm_dpi.o:uvm_dpi.cc:(.text+0xefb): first defined here
uvm_dpi.o: In function `uvm_hdl_force':
uvm_dpi.cc:(.text+0xf80): multiple definition of `uvm_hdl_force'
uvm_dpi.o:uvm_dpi.cc:(.text+0xf80): first defined here
uvm_dpi.o: In function `uvm_hdl_release_and_read':
uvm_dpi.cc:(.text+0x1005): multiple definition of `uvm_hdl_release_and_read'
uvm_dpi.o:uvm_dpi.cc:(.text+0x1005): first defined here
uvm_dpi.o: In function `uvm_hdl_release':
uvm_dpi.cc:(.text+0x1082): multiple definition of `uvm_hdl_release'
uvm_dpi.o:uvm_dpi.cc:(.text+0x1082): first defined here
uvm_dpi.o: In function `push_data':
uvm_dpi.cc:(.text+0x110a): multiple definition of `push_data'
uvm_dpi.o:uvm_dpi.cc:(.text+0x110a): first defined here
uvm_dpi.o:(.bss+0x10): multiple definition of `argc_total'
uvm_dpi.o:(.bss+0x10): first defined here
uvm_dpi.o:(.bss+0x0): multiple definition of `argv_ptr'
uvm_dpi.o:(.bss+0x0): first defined here
uvm_dpi.o: In function `walk_level':
uvm_dpi.cc:(.text+0x112e): multiple definition of `walk_level'
uvm_dpi.o:uvm_dpi.cc:(.text+0x112e): first defined here
uvm_dpi.o: In function `uvm_dpi_get_next_arg_c':
uvm_dpi.cc:(.text+0x11f7): multiple definition of `uvm_dpi_get_next_arg_c'
uvm_dpi.o:uvm_dpi.cc:(.text+0x11f7): first defined here
uvm_dpi.o:(.bss+0x8): multiple definition of `argv_stack'
uvm_dpi.o:(.bss+0x8): first defined here
uvm_dpi.o: In function `uvm_dpi_get_tool_name_c':
uvm_dpi.cc:(.text+0x12bd): multiple definition of `uvm_dpi_get_tool_name_c'
uvm_dpi.o:uvm_dpi.cc:(.text+0x12bd): first defined here
uvm_dpi.o: In function `uvm_dpi_get_tool_version_c':
uvm_dpi.cc:(.text+0x12d3): multiple definition of `uvm_dpi_get_tool_version_c'
uvm_dpi.o:uvm_dpi.cc:(.text+0x12d3): first defined here
uvm_dpi.o: In function `uvm_dpi_regcomp':
uvm_dpi.cc:(.text+0x12e9): multiple definition of `uvm_dpi_regcomp'
uvm_dpi.o:uvm_dpi.cc:(.text+0x12e9): first defined here
uvm_dpi.o: In function `uvm_dpi_regexec':
uvm_dpi.cc:(.text+0x13b3): multiple definition of `uvm_dpi_regexec'
uvm_dpi.o:uvm_dpi.cc:(.text+0x13b3): first defined here
uvm_dpi.o: In function `uvm_dpi_regfree':
uvm_dpi.cc:(.text+0x13dc): multiple definition of `uvm_dpi_regfree'
uvm_dpi.o:uvm_dpi.cc:(.text+0x13dc): first defined here
collect2: error: ld returned 1 exit status
Makefile:104: recipe for target 'product_timestamp' failed
make: *** [product_timestamp] Error 1
Make exited with status 2
cpu time: 2.905 seconds to compile + .015 seconds to elab + .205 seconds to link
希望大佬帮忙看一下,感激不尽!
vcs的版本是vcs-mx_vl-2016.06
uvm的版本是uvm-1.2
发表于 2019-8-17 08:36:40 | 显示全部楼层
仿真选项后面$UVM_HOME/src/dpi/uvm_dpi.cc  -CFLAGS -DVCS -vpi  这串是干啥用的。
 楼主| 发表于 2019-8-17 10:34:16 | 显示全部楼层
其实我也不太清楚,只是UVM实战那本书的源码中的run文件里面是这样写的

发表于 2019-8-17 14:49:13 | 显示全部楼层


放郭 发表于 2019-8-17 10:34
其实我也不太清楚,只是UVM实战那本书的源码中的run文件里面是这样写的


Vcs编译我是直接把 uvm-1.2解压后的包放到 vcs目录下,编译选项没有用到那一串过。
发表于 2019-8-19 10:01:47 | 显示全部楼层
comp:

        vcs +acc +vpi -sverilog -full64 -debug_all $(tscale) $(lib) $(UVM_COMPILE) $(cov_cmp_vcs) -f ../filelist.f  -l comp.log \
            -P /usr/synopsys/soft/verdi/Verdi3_L-2016.06-1/share/PLI/VCS/LINUX64/novas.tab \
               /usr/synopsys/soft/verdi/Verdi3_L-2016.06-1/share/PLI/VCS/LINUX64/pli.a



UVM_HOME = /usr/synopsys/soft/uvm_1.2
uvm_incdir =+incdir+${UVM_HOME}/src+${UVM_HOME}/src/vcs
uvm_file = ${UVM_HOME}/src/uvm_pkg.sv
UVM_COMPILE = ${UVM_HOME}/src/dpi/uvm_dpi.cc \
    ${uvm_file}\
    -CFLAGS \
    -DVCS \
    $(uvm_incdir) \
    $(uvm_comp_option)
rtl = ../dut.v

tb  = ../top_tb.sv
 楼主| 发表于 2019-8-19 20:22:09 | 显示全部楼层
本帖最后由 放郭 于 2019-8-19 20:25 编辑


weerbest 发表于 2019-8-19 10:01
comp:

        vcs +acc +vpi -sverilog -full64 -debug_all $(tscale) $(lib) $(UVM_COMPILE) $(cov_cmp_vcs) -f ...


谢谢老铁,你这个写的很全,我仿真没通过,加了$UVM_HOME/src/dpi/uvm_dpi.cc,通过了,感谢老铁.

 楼主| 发表于 2019-8-19 20:23:12 | 显示全部楼层


huaihui 发表于 2019-8-17 14:49
Vcs编译我是直接把 uvm-1.2解压后的包放到 vcs目录下,编译选项没有用到那一串过。 ...


谢谢老铁,通过了!
发表于 2021-10-21 15:52:13 | 显示全部楼层
这个是重复写了 dpi.cc ,去掉即可
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-26 18:25 , Processed in 0.025791 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表