微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC验证交流 > 费劲周折终于setup起来了vcs和mvtools

费劲周折终于setup起来了vcs和mvtools

时间:10-02 整理:3721RD 点击:
昨天和印度人交流,终于把vcs和mvtools的co-sim环境setup起来了,说说我的遭遇吧1. 在ubuntu下分别安装vcs和mvtools成功,vcs可以用,mvtools可以编译文件,但是co-sim报错,error:segment error...
解决2周未果,上论坛查资料未果,貌似segment error是致命问题。
2. 在印度人的建议下移植环境到Redhat企业版6.0,co-sim还是报错.
3. 一气之下把vcs和vcs_mx的2011-2012的32bit和64bit全部安装一遍,一个一个尝试和mvtools进行co-sim。
4. 最终和印度人一起修改了我的project的upf,最后把mvtools和vcs的版本调整到2012.09版本,co-sim成功,我的那个project比较大,
昨晚看着环境终于跑起来好好的谢了一番印度哥们。看着出来的log和波形欣喜若狂,接下来开始好好研究low power的verification。

不知道小编想表示什么?如果能把您做LP design/verification的心得写出来和大家分享分享那就太好了。当然有flow和scritp就更好了。呵呵

我想表示让大家少走我的弯路

高手,我也在学习低功耗,请问mvtools的破解,求教!

很麻烦的,希望别走我的弯路

看了你的经验,今天我也来试了一下,也碰到和你一样的问题,就是segmental fault,我的操作系统是RHEL54 64bit,vcs(其实是vcs_mx)和mvtool都是用的2012.09版,单独的vcs可以跑,mvcmp有时可以跑,有时也有segmental fault,但即使跑过了,接下来的mvdbgen也会产生segmental fault,不知小编或其他大侠有知道如何修正这个虫子的方法吗?

LP最近在做, 大家多讨论,我回去也自己试试mvtools。

希望多交流一下,这个MVtools软件和VCS_vG_2012.09很不稳定,经常出现奔溃,郁闷得要死。

你用的什么系统?通过虚拟机安装的吗?首先要保证系统能够正确承载vcs,ubuntu偶尔会出现问题,我单独运行vcs的时候ubuntu基本没有问题,加上mvtools就总是出现问题。



谢谢你的回复,我用的是win7下的虚拟机,vcs和mvtool应该都是64bit,查了一下gcc版本,是4.1.2,不知最新的是多少,能告诉我你的gcc版本吗

我的gcc版本:
gcc version 4.4.6 20120305 (Red Hat 4.4.6-4) (GCC)

我用的是Red Hat Enterprise linux AS release 4,不是虚拟机,是我们实验室的服务器上面,我用MVtools2012.09基本上在mvsim后出现VCS奔溃的问题,错误如下:
--- Stack trace follows:
[Thread debugging using libthread_db enabled]
[New Thread 0xf2dffba0 (LWP 17226)]
[New Thread 0xf6febba0 (LWP 17221)]
0xffffe410 in __kernel_vsyscall ()
Thread 3 (Thread 0xf6febba0 (LWP 17221)):
#00xffffe410 in __kernel_vsyscall ()
#10x0035c4db in waitpid () from [img]file:///C:\Users\gzj\AppData\Local\Temp\)A[Y)I~](ZC9Z[3Y)IDK7LK.gif[/img]b/tls[img]file:///C:\Users\gzj\AppData\Local\Temp\)A[Y)I~](ZC9Z[3Y)IDK7LK.gif[/img]bc.so.6
#20x00305779 in do_system () from [img]file:///C:\Users\gzj\AppData\Local\Temp\)A[Y)I~](ZC9Z[3Y)IDK7LK.gif[/img]b/tls[img]file:///C:\Users\gzj\AppData\Local\Temp\)A[Y)I~](ZC9Z[3Y)IDK7LK.gif[/img]bc.so.6
#30x00305af1 in system () from [img]file:///C:\Users\gzj\AppData\Local\Temp\)A[Y)I~](ZC9Z[3Y)IDK7LK.gif[/img]b/tls[img]file:///C:\Users\gzj\AppData\Local\Temp\)A[Y)I~](ZC9Z[3Y)IDK7LK.gif[/img]bc.so.6
#40x0051198d in system () from [img]file:///C:\Users\gzj\AppData\Local\Temp\)A[Y)I~](ZC9Z[3Y)IDK7LK.gif[/img]b/tls[img]file:///C:\Users\gzj\AppData\Local\Temp\)A[Y)I~](ZC9Z[3Y)IDK7LK.gif[/img]bpthread.so.0
#50x0b3bc389 in tracker::StackAnnotator::getGdbOutput(char const*, char const* , char const*) ()
#60x0b3bd677 in tracker::StackAnnotator::dumpProcessStack(unsigned int, char c onst*, char const*) ()
#70x0b3b29c6 in dumpStackTrace ()
#80x0b07ebb5 in stackTraceHandler ()
#90x0b07d737 in SigHandler ()
#10 <signal handler called>
#11 0xf753622c in ? ()
#12 0xf6feb1a0 in ? ()
#13 0xf753722b in ? ()
#14 0xf6feb1a0 in ? ()
#15 0xf752b123 in ? ()
#16 0xf7b471d4 in ? ()
#17 0xf7b460c8 in ? ()
#18 0x00000050 in ? ()
#19 0x0c9adeb0 in ? ()
#20 0xf752a0ed in ? ()
#21 0xf7b7af54 in ? ()
#22 0xf7b7af54 in ? ()
#23 0xf6feb488 in ? ()
#24 0x0050b3cc in start_thread () from [img]file:///C:\Users\gzj\AppData\Local\Temp\)A[Y)I~](ZC9Z[3Y)IDK7LK.gif[/img]b/tls[img]file:///C:\Users\gzj\AppData\Local\Temp\)A[Y)I~](ZC9Z[3Y)IDK7LK.gif[/img]bpthread.so.0
#25 0x0039cf0e in clone () from [img]file:///C:\Users\gzj\AppData\Local\Temp\)A[Y)I~](ZC9Z[3Y)IDK7LK.gif[/img]b/tls[img]file:///C:\Users\gzj\AppData\Local\Temp\)A[Y)I~](ZC9Z[3Y)IDK7LK.gif[/img]bc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further
Thread 2 (Thread 0xf2dffba0 (LWP 17226)):
#00xffffe410 in __kernel_vsyscall ()
#10x00395951 in select () from [img]file:///C:\Users\gzj\AppData\Local\Temp\)A[Y)I~](ZC9Z[3Y)IDK7LK.gif[/img]b/tls[img]file:///C:\Users\gzj\AppData\Local\Temp\)A[Y)I~](ZC9Z[3Y)IDK7LK.gif[/img]bc.so.6
#20x0aef4169 in ? ()
#30x0aef4fcb in rt1tE6I7sRtuNh4 ()
#40x0aee8ec3 in C34lja2TrlHEPKx ()
#50x0aee7e8d in ? ()
#60x0050b3cc in start_thread () from [img]file:///C:\Users\gzj\AppData\Local\Temp\)A[Y)I~](ZC9Z[3Y)IDK7LK.gif[/img]b/tls[img]file:///C:\Users\gzj\AppData\Local\Temp\)A[Y)I~](ZC9Z[3Y)IDK7LK.gif[/img]bpthread.so.0
#70x0039cf0e in clone () from [img]file:///C:\Users\gzj\AppData\Local\Temp\)A[Y)I~](ZC9Z[3Y)IDK7LK.gif[/img]b/tls[img]file:///C:\Users\gzj\AppData\Local\Temp\)A[Y)I~](ZC9Z[3Y)IDK7LK.gif[/img]bc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further
Thread 1 (Thread 0xf7f86700 (LWP 17218)):
#00xffffe410 in __kernel_vsyscall ()
#10x0035cbe6 in nanosleep () from [img]file:///C:\Users\gzj\AppData\Local\Temp\)A[Y)I~](ZC9Z[3Y)IDK7LK.gif[/img]b/tls[img]file:///C:\Users\gzj\AppData\Local\Temp\)A[Y)I~](ZC9Z[3Y)IDK7LK.gif[/img]bc.so.6
#20x0035c9ec in sleep () from [img]file:///C:\Users\gzj\AppData\Local\Temp\)A[Y)I~](ZC9Z[3Y)IDK7LK.gif[/img]b/tls[img]file:///C:\Users\gzj\AppData\Local\Temp\)A[Y)I~](ZC9Z[3Y)IDK7LK.gif[/img]bc.so.6
#30x0adcbf87 in LLy8bjyG0uqiwBz ()
#40x0adcc0cc in bW7ifz5jPPyae3Z ()
#50x0adcb97a in pizBhiy39Ywj9j ()
#60x0adcbaf9 in Vi9wVDbIr1poz5K ()
#70x0adbc379 in ? ()
#80x0adbcfb5 in _scl_lc_checkout ()
#90x0adbde48 in ? ()
#10 0x0adbafa2 in _scl_lc_checkout_wrapper ()
#11 0x0adbe19b in ? ()
#12 0x0adb0a6c in vcs_checkout ()
#13 0x0adae678 in lDeleteFromSchedulerQ ()
#14 0x0adaa06e in GetAFlexLicense ()
#15 0x0adaa437 in tfdvsf_chk ()
#16 0x087694e3 in ? ()
#17 0x0876be44 in c_main ()
#18 0x09293842 in main ()
No context available
CPU time: .608 seconds to compile
make[1]: *** [compile] Error 1
make: *** [build] Error 2
不知道是什么原因,真是纠结....

我的gcc是3.4.6版本的,不知道是不是gcc的问题,VCS和MVtools均是2012.09 amd64版本就是出现我刚才上面写的那种错误,前几次还可以通过,后面有偶尔通过,但是我试了好多次,基本每次都报错。

你最好换成高版本的gcc/g++, 昨天我的linux找不到license了,报SNPSLMD_LICENSE_FILE相关错误,我以为是我前几天把系统弄坏了,结果又重新装个linux,不过现在发现原来的linux系统又好了。可见用vmware安装linux后跑vcs等软件还是会偶尔不太稳定,这是我low power的一个截图

lp

你这个属于工具访问堆栈错误,mvtools是s家收购来的,毕竟不是一个血统的,出现问题的概率较大;
建议:全部使用64bit仿真模式,每次仿真前务必清除上次仿真形成的中间文件,vcs2012.09已经具有
mv仿真的nlp模式,不需要在co-sim。如果设计很大,物理内存也需要尽量大,停止不必要的服务;
在某些情况下,如果你的设计中存在一些比较怪异的地方,可能也会出现这种问题,需要仔细检查设计,以及约束;

路过,学习中!

表示小编什么也没说,只说了一个印度人对你帮助巨大 ……

MV仿真非常耗内存,超出人的想像。
另外,MCCMP编译一遍后,调用VCS时还会再编译一遍,而且第二遍编译尤其慢,因为在第一遍时插入了一些power的信息到SRC中。
如果每次仿真修改不大,而且只修改testbench,不建议删除中间文件,否则编译太影响效率,只用修改中间文件,然后用增量编译的方式直接启动mvsim,而不要mvcmp,不然太慢了。
最好找到segmental fault的原因,不要每次都删中间文件,否则太慢了。

I have encountered that problem too


I have encountered that problem too; Do you know why?

I think it's caused by the gcc version, I installed a redhat 63, and there is no such problem any more, thanks for all the help from this post

运行mvtools自带的例子,没有改动任何代码,出现下面这样的错误,请好心人指点一下:
[MVDBGEN] ERROR 3658: Connect_supply_net UPF command missing for 'Primary power pins'pins of 'LS/ELS Cells'. See file 'ARCH_PGConn.upf' for explicit PG connections expected in UPF.

VCS_MX_2012.09 的 NLP不是直接可以把upf吃进去了吗,不需要mvcmp,mvdbgen这些不走了
我们现在就是安装起,直接用vcs就可以了。

感谢小编
好人啊

Mark之,以后做LP时参考

有介绍下使用经验的么

前辈你好,我现在遇到和你这个一模一样的问题,请问你当时怎么解决的?

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

网站地图

Top