C++ 硬件验证 (VCS 配置)

     从大学到小硕,先后搞了 web->服务器->并行计算->SoC设计验证,语言 C->java->Verilog->SV->VHDL->C++,从软件到嵌入式,从嵌入式到硬件,从硬件又到软件。绕了个圈,越学越觉得自己无知,CS太过强大,最近在某司又搞C++硬件验证,又接触一些新东西,学习验证平台。

平台基于VPI实现C++与硬件Verilog实现信息流交互,是软件层面可见硬件信号。  配上新的方法又成一套新的验证路径,当然老美IBM有强大的FRM,其实前几做CPU的公司基本上都是一个套路。。。

    下面是搞平台时遇到的问题:

xxx_xxx.vcs.so: could not read symbols: File in wrong format

就是生成一个动态链接库,vcs加载时出错,问题的根源在于CentOS是64系统,GCC生成动态链接库时是64位形式,但是vcs 编译默认加载使用32形式,

g++  -o ../simv  -melf_i386 -m32    -Wl,-whole-archive    -Wl,-no-whole-archive  _vcsobj_1_1.o ,所以上述动态链接库在加载的时候报格式错误,

32位VCS应用无法识别64位格式,解决方法两个:1. 编译平台时gcc加上参数 -m32,把动态链接库生成32位形式。 2. 给VCS加上 -full64 位运行选项;问题都能得到解决。

 

   好久不碰软件的东西,很多东西略显生疏。  ->_-> , 加油啦。

 

posted @ 2015-07-16 12:04  java_li  阅读(775)  评论(0编辑  收藏  举报