最近一周一直在忙活,算法理解、数据结构抽取、接口同步机制的定义,一直以为把纯SystemC设计导入Questasim10.2c没有什么问题。没想到上手一试,才发现好像没有我想的那么简单,两个编译运行环境都通了(GNU g++/makefile和Eclipse),就差这个了,郁闷中......
问题描述如下:
拿项目中的一个模块SystemC代码试验,所有的class都分为两个文件(.h和.cpp),除了sc_main.cpp之外。因为这个模块的仿真环境和模型都是单纯的SystemC文件,所以直接用questasim进行编译链接
sccom -g -I ../opengl/include sc_main.cpp
sccom -link
前两步执行都顺利通过,当执行vsim -c sc_main时就郁闷了。
#
QuestaSim>vsim -c sc_main
# vsim -c sc_main
# ** Note: (vsim-3812) Design is being optimized...
# ** Error: (vopt-3197) Load of "/home/wxcheng/workspace/esl/system4.0/temp/work/_sc/linux_x86_64_gcc-4.5.0/systemc.so" failed: /home/wxcheng/workspace/esl/system4.0/temp/work/_sc/linux_x86_64_gcc-4.5.0/systemc.so: undefined symbol: _ZN4Host5helloEv (demangled name: Host::hello()).
# ** Error: (vopt-3676) Could not load shared library /home/wxcheng/workspace/esl/system4.0/temp/work/_sc/linux_x86_64_gcc-4.5.0/systemc.so for SystemC module 'sc_main'.
# ** Error: Failed to find design unit work.sc_main.
# Optimization failed
# Error loading design
问题解决不了,项目后期就无法将RTL代码嵌入到TLM模型中进行验证~