• 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 位运行选项;问题都能得到解决。

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

  • 相关阅读:
    Node.js 笔记03
    Node.js 笔记02
    Node.js 笔记01
    源代码管理工具-git
    ES6笔记01
    07_查找、软链接、打包压缩、软件安装
    06_系统信息相关命令
    oracle序列中cache和nocache
    PL/SQL规范、块、过程、函数、包、触发器
    对Xcode菜单选项的详细探索(干货)
  • 原文地址:https://www.cnblogs.com/blog-li/p/4650873.html
Copyright © 2020-2023  润新知