求助,VCS在ubuntu 64位的问题
我有两个文件,count.v 和count_tb.v,使用vcs count_tb.v count.v执行有问题。log如下:
/usr/synopsys/D-2010.06-4/bin/vcsMsgReport: line 332: /bin/basename: 没有那个文件或目录
Warning-[LNX_OS_VERUN] Unsupported Linux version
Linux version '' is not supported on 'x86_64' officially, assuming linux
compatibility by default. Set VCS_ARCH_OVERRIDE to linux or suse32 to
override.
Please refer to release notes for information on supported platforms.
Chronologic VCS (TM)
Version D-2010.06-4 -- Tue Feb 26 09:12:27 2013
Copyright (c) 1991-2010 by Synopsys Inc.
ALL RIGHTS RESERVED
This program is proprietary and confidential information of Synopsys Inc.
and may be used and disclosed only as authorized in a license agreement
controlling such use and disclosure.
9:12:27 (snpslmd) OUT: "VCSCompiler_Net" root@ubuntu
Parsing design file 'count_tb.v'
Parsing design file 'count.v'
Top Level Modules:
count_tb
TimeScale is 1 ns / 1 ns
Warning-[PALF] Potential always loop found
count_tb.v, 20
This always block has no event control or delay statements, it might cause
an infinite loop in simulation.
Starting vcs inline pass...
2 modules and 0 UDP read.
However, due to incremental compilation, no re-compilation is necessary.
9:12:28 (snpslmd) IN: "VCSCompiler_Net" root@ubuntu
if [ -x ../simv ]; then chmod -x ../simv; fi
g++-o ../simv -melf_i386 -m32SIM_l.o 5NrI_d.o 5NrIB_d.opre_vcsobj_1_1.ormapats_mop.o rmapats.o/usr/synopsys/D-2010.06-4/linux/lib/libvirsim.so /usr/synopsys/D-2010.06-4/linux/lib/librterrorinf.so /usr/synopsys/D-2010.06-4/linux/lib/libsnpsmalloc.so/usr/synopsys/D-2010.06-4/linux/lib/libvcsnew.so/usr/synopsys/D-2010.06-4/linux/lib/vcs_save_restore_new.o /usr/synopsys/D-2010.06-4/linux/lib/ctype-stubs_32.a -ldl-lc -lm -lpthread -ldl
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../libdl.so when searching for -ldl
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../libdl.a when searching for -ldl
/usr/bin/ld: skipping incompatible /usr/lib/libdl.so when searching for -ldl
/usr/bin/ld: skipping incompatible /usr/lib/libdl.a when searching for -ldl
/usr/bin/ld: cannot find -ldl
collect2: ld returned 1 exit status
make: *** [product_timestamp] 错误 1
Make exited with status 2
CPU time: .220 seconds to compile + .100 seconds to elab + .180 seconds to link
我加上-full64参数之后,出现另外一个错误,log如下:
/usr/synopsys/D-2010.06-4/bin/vcsMsgReport: line 332: /bin/basename: 没有那个文件或目录
Warning-[LNX_OS_VERUN] Unsupported Linux version
Linux version '' is not supported on 'x86_64' officially, assuming linux
compatibility by default. Set VCS_ARCH_OVERRIDE to linux or suse32 to
override.
Please refer to release notes for information on supported platforms.
Chronologic VCS (TM)
Version D-2010.06-4_Full64 -- Tue Feb 26 09:14:03 2013
Copyright (c) 1991-2010 by Synopsys Inc.
ALL RIGHTS RESERVED
This program is proprietary and confidential information of Synopsys Inc.
and may be used and disclosed only as authorized in a license agreement
controlling such use and disclosure.
9:14:03 (snpslmd) OUT: "VCSCompiler_Net" root@ubuntu
Parsing design file 'count_tb.v'
Parsing design file 'count.v'
Top Level Modules:
count_tb
TimeScale is 1 ns / 1 ns
Warning-[PALF] Potential always loop found
count_tb.v, 20
This always block has no event control or delay statements, it might cause
an infinite loop in simulation.
Starting vcs inline pass...
2 modules and 0 UDP read.
recompiling module count_tb
recompiling module count
Both modules done.
9:14:04 (snpslmd) IN: "VCSCompiler_Net" root@ubuntu
if [ -x ../simv ]; then chmod -x ../simv; fi
g++-o ../simv_vcsobj_1_1.o5NrI_d.o 5NrIB_d.o SIM_l.ormapats_mop.o rmapats.o/usr/synopsys/D-2010.06-4/amd64/lib/libvirsim.so /usr/synopsys/D-2010.06-4/amd64/lib/liberrorinf.so /usr/synopsys/D-2010.06-4/amd64/lib/libsnpsmalloc.so/usr/synopsys/D-2010.06-4/amd64/lib/libvcsnew.so/usr/synopsys/D-2010.06-4/amd64/lib/vcs_save_restore_new.o -ldl-lc -lm -lpthread -ldl
/usr/bin/ld: i386 architecture of input file `rmapats_mop.o' is incompatible with i386:x86-64 output
collect2: ld returned 1 exit status
make: *** [product_timestamp] 错误 1
Make exited with status 2
CPU time: .230 seconds to compile + .070 seconds to elab + .280 seconds to link
在线求助,感激不尽。
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../libdl.so when searching for -ldl
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../libdl.a when searching for -ldl
/usr/bin/ld: skipping incompatible /usr/lib/libdl.so when searching for -ldl
/usr/bin/ld: skipping incompatible /usr/lib/libdl.a when searching for -ldl
/usr/bin/ld: cannot find -ldl
collect2: ld returned 1 exit status
这个错误可以通过安装g++-multilib解决,但是连接还是有第二个错误,怎么解决呢,log如下:
/usr/synopsys/D-2010.06-4/bin/vcsMsgReport: line 332: /bin/basename: 没有那个文件或目录
Warning-[LNX_OS_VERUN] Unsupported Linux version
Linux version '' is not supported on 'x86_64' officially, assuming linux
compatibility by default. Set VCS_ARCH_OVERRIDE to linux or suse32 to
override.
Please refer to release notes for information on supported platforms.
Chronologic VCS (TM)
Version D-2010.06-4 -- Tue Feb 26 09:43:44 2013
Copyright (c) 1991-2010 by Synopsys Inc.
ALL RIGHTS RESERVED
This program is proprietary and confidential information of Synopsys Inc.
and may be used and disclosed only as authorized in a license agreement
controlling such use and disclosure.
9:43:44 (snpslmd) OUT: "VCSCompiler_Net" root@ubuntu
Parsing design file 'count_tb.v'
Parsing design file 'count.v'
Top Level Modules:
count_tb
TimeScale is 1 ns / 1 ns
Warning-[PALF] Potential always loop found
count_tb.v, 20
This always block has no event control or delay statements, it might cause
an infinite loop in simulation.
Starting vcs inline pass...
2 modules and 0 UDP read.
recompiling module count_tb because:
Generated file (F6R9_1) not found, or not incremental.
recompiling module count because:
Generated file (r07N_1) not found, or not incremental.
Both modules done.
9:43:44 (snpslmd) IN: "VCSCompiler_Net" root@ubuntu
if [ -x ../simv ]; then chmod -x ../simv; fi
g++-o ../simv -melf_i386 -m32_vcsobj_1_1.o5NrI_d.o 5NrIB_d.o SIM_l.ormapats_mop.o rmapats.o/usr/synopsys/D-2010.06-4/linux/lib/libvirsim.so /usr/synopsys/D-2010.06-4/linux/lib/librterrorinf.so /usr/synopsys/D-2010.06-4/linux/lib/libsnpsmalloc.so/usr/synopsys/D-2010.06-4/linux/lib/libvcsnew.so/usr/synopsys/D-2010.06-4/linux/lib/vcs_save_restore_new.o /usr/synopsys/D-2010.06-4/linux/lib/ctype-stubs_32.a -ldl-lc -lm -lpthread -ldl
/usr/bin/ld: i386:x86-64 architecture of input file `rmapats.o' is incompatible with i386 output
/usr/bin/ld: final link failed: Invalid operation
collect2: ld returned 1 exit status
make: *** [product_timestamp] 错误 1
问题已经解决,哎整了将近两天啊。
解决方法如下:
执行编译命令,遇到这个问题后,在当前目录下会有一个csrc目录,进入这个目录,发现有个Makefile,用gedit打开,将下面字段
# Override TARGET_ARCH
TARGET_ARCH=
修改为:
# Override TARGET_ARCH
TARGET_ARCH=x86-64
并且删除*.o,rm *.o,然后再执行make,重新生成rmapats.o文件,这次生成的就对了。
这也是一种临时解决办法,真是折腾啊。
使用vcs -full64 x.v 仍然存在问题,采用类似方法会出现段错误,64位使用不了。只能使用32位的了。
=====================================================
= 后来64位的采样类似的方法处理之后也可以,无语啊无语!方法如下:
=====================================================
正如上面所述,会遇到段错误,此时将csrc目录删除,rm -r csrc,然后执行下面命令:
vcs -full64 -m64 xx00.v xx01.v xx02.v
正确生成simv文件,模拟正确。
=====================================================
另外:我在安装comon的时候,安装到最后出现过错误,被我忽略了,不知道有没有后遗症。
根据目标目录下的instll.log可以分析,暂且不管!
高手啊高手
不错啊,刚好碰到这个问题
我的错是“/usr/bin/ld: i386:x86-64 architecture of input file `/usr/lib/x86_64-linux-gnu/crti.o' is incompatible with i386 output”
这个怎么搞定?我原来跑得好好的,都不知道装那个东西搞烂的 T_T
跟Linux没啥关系吧
good man
应该是前后两次编译的版本之类的有问题吧?
我也遇到同樣的問題,依照樓主的解法已經解決了,
最後我是用 vcs -full64 -m64 xxx.v 解決的,
感謝樓主
vcs开关不对,具体怎么操作我也不是很清楚,没有细细研究vcs
Hi,
you just need to set VCS_TARGET_ARCH=amd64 to run full 64-bit simulation