picker 构建记录
tom@linuxtom:~/openverify/picker$ cd picker
bash: cd: picker: 没有那个文件或目录
tom@linuxtom:~/openverify/picker$ export BUILD_XSPCOMM_SWIG=python
tom@linuxtom:~/openverify/picker$ make
rm -rf temp build
/home/tom/Tools/verible-v0.0-3724/bin/verible-verilog-format
cmake . -Bbuild -DCMAKE_BUILD_TYPE=Release
-- The C compiler identification is GNU 11.4.0
-- The CXX compiler identification is GNU 11.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/lib/ccache/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/lib/ccache/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- GIT not DIRTY:
-- Looking for execinfo.h
-- Looking for execinfo.h - found
-- Performing Test COMPILER_SUPPORTS_CXX20
-- Performing Test COMPILER_SUPPORTS_CXX20 - Success
Find CMP0078, set it be NEW
Find CMP0086, set it be NEW
-- Found SWIG: /usr/bin/swig (found suitable version "4.2.1", minimum required is "4.2.0")
-- Found Python: /usr/bin/python3.10 (found version "3.10.12") found components: Interpreter Development Development.Module Development.Embed
-- Configuring done
-- Generating done
-- Build files have been written to: /home/tom/openverify/picker/build
cd build && make -j`nproc`
make[1]: 进入目录“/home/tom/openverify/picker/build”
make[2]: 进入目录“/home/tom/openverify/picker/build”
make[3]: 进入目录“/home/tom/openverify/picker/build”
make[3]: 进入目录“/home/tom/openverify/picker/build”
make[3]: 进入目录“/home/tom/openverify/picker/build”
Scanning dependencies of target pyxspcomm_swig_compilation
make[3]: 离开目录“/home/tom/openverify/picker/build”
make[3]: 离开目录“/home/tom/openverify/picker/build”
make[3]: 离开目录“/home/tom/openverify/picker/build”
make[3]: 进入目录“/home/tom/openverify/picker/build”
make[3]: 进入目录“/home/tom/openverify/picker/build”
make[3]: 进入目录“/home/tom/openverify/picker/build”
[ 1%] Building CXX object dependence/xcomm/src/CMakeFiles/xspcomm.dir/xclock.cpp.o
[ 3%] Building CXX object dependence/xcomm/src/CMakeFiles/xspcomm.dir/xport.cpp.o
[ 4%] Swig compile python.i for python
[ 6%] Building CXX object dependence/xcomm/src/CMakeFiles/xspcomm.dir/xutil.cpp.o
[ 7%] Building CXX object dependence/xcomm/src/CMakeFiles/xspcomm.dir/xcoroutine.cpp.o
[ 10%] Building CXX object third/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/contrib/graphbuilderadapter.cpp.o
[ 10%] Building CXX object dependence/xcomm/src/CMakeFiles/xspcomm.dir/xdata.cpp.o
[ 12%] Building CXX object third/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/convert.cpp.o
[ 13%] Building CXX object third/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/contrib/graphbuilder.cpp.o
[ 15%] Building CXX object dependence/xcomm/src/CMakeFiles/xspcomm.dir/xinstance.cpp.o
[ 16%] Building CXX object third/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/binary.cpp.o
[ 18%] Building CXX object third/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/depthguard.cpp.o
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xdata.h:59: Warning 362: operator= ignored
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xdata.h:60: Warning 362: operator= ignored
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xdata.h:61: Warning 362: operator= ignored
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xdata.h:79: Warning 362: operator= ignored
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xdata.h:89: Warning 362: operator= ignored
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xdata.h:241: Warning 389: operator[] ignored (consider using %extend)
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xdata.h:248: Warning 362: operator= ignored
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xdata.h:249: Warning 362: operator= ignored
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xdata.h:250: Warning 362: operator= ignored
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xdata.h:251: Warning 362: operator= ignored
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xdata.h:252: Warning 362: operator= ignored
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xdata.h:270: Warning 362: operator= ignored
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xport.h:38: Warning 389: operator[] ignored (consider using %extend)
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xcallback.h:55: Warning 362: operator= ignored
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xcallback.h:60: Warning 362: operator= ignored
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xcallback.h:64: Warning 362: operator= ignored
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xcallback.h:85: Warning 362: operator= ignored
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xcallback.h:11: Warning 401: Nothing known about base class '_xfunction_ptr< void,bool ... >'. Ignored.
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xcallback.h:11: Warning 401: Maybe you forgot to instantiate '_xfunction_ptr< void,bool ... >' using %template.
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xcallback.h:11: Warning 401: Nothing known about base class '_xfunction_ptr< void,unsigned char *... >'. Ignored.
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xcallback.h:11: Warning 401: Maybe you forgot to instantiate '_xfunction_ptr< void,unsigned char *... >' using %template.
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xcallback.h:11: Warning 401: Nothing known about base class '_xfunction_ptr< void,unsigned char ... >'. Ignored.
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xcallback.h:11: Warning 401: Maybe you forgot to instantiate '_xfunction_ptr< void,unsigned char ... >' using %template.
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xcallback.h:11: Warning 401: Nothing known about base class '_xfunction_ptr< void,xspcomm::xsvLogicVecVal *... >'. Ignored.
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xcallback.h:11: Warning 401: Maybe you forgot to instantiate '_xfunction_ptr< void,xspcomm::xsvLogicVecVal *... >' using %template.
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xcallback.h:11: Warning 401: Nothing known about base class '_xfunction_ptr< int,bool ... >'. Ignored.
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xcallback.h:11: Warning 401: Maybe you forgot to instantiate '_xfunction_ptr< int,bool ... >' using %template.
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xcallback.h:11: Warning 401: Nothing known about base class '_xfunction_ptr< void,uint64_t ... >'. Ignored.
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xcallback.h:11: Warning 401: Maybe you forgot to instantiate '_xfunction_ptr< void,uint64_t ... >' using %template.
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xclock.h:71: Warning 476: Initialization using std::initializer_list.
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xclock.h:72: Warning 476: Initialization using std::initializer_list.
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xclock.h:71: Warning 476: Initialization using std::initializer_list.
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xclock.h:74: Warning 476: Initialization using std::initializer_list.
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xclock.h:75: Warning 476: Initialization using std::initializer_list.
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xclock.h:74: Warning 476: Initialization using std::initializer_list.
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xclock.h:77: Warning 509: Overloaded method xspcomm::XClock::Add(xspcomm::XData &) effectively ignored,
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xclock.h:76: Warning 509: as it is shadowed by xspcomm::XClock::Add(xspcomm::XData *).
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xclock.h:79: Warning 509: Overloaded method xspcomm::XClock::Add(xspcomm::XPort &) effectively ignored,
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xclock.h:78: Warning 509: as it is shadowed by xspcomm::XClock::Add(xspcomm::XPort *).
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xdata.h:62: Warning 503: Can't wrap 'operator u_int8_t' unless renamed to a valid identifier.
[ 20%] Building CXX object third/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/directives.cpp.o
[ 21%] Building CXX object third/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/emit.cpp.o
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xdata.h:247: Warning 509: Overloaded method xspcomm::XData::operator ==(char *) effectively ignored,
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xdata.h:246: Warning 509: as it is shadowed by xspcomm::XData::operator ==(char const *).
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xdata.h:253: Warning 503: Can't wrap 'operator std::string' unless renamed to a valid identifier.
/home/tom/openverify/picker/dependence/xcomm/swig/../include/xspcomm/xdata.h:254: Warning 503: Can't wrap 'operator u_int64_t' unless renamed to a valid identifier.
make[3]: 离开目录“/home/tom/openverify/picker/build”
[ 21%] Built target pyxspcomm_swig_compilation
[ 23%] Building CXX object third/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/emitter.cpp.o
[ 24%] Building CXX object third/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/emitfromevents.cpp.o
[ 26%] Building CXX object third/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/emitterstate.cpp.o
[ 27%] Building CXX object third/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/emitterutils.cpp.o
[ 29%] Building CXX object third/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/exceptions.cpp.o
/home/tom/openverify/picker/dependence/xcomm/src/xcoroutine.cpp:5:47: note: ‘#pragma message: ENABLE_XCOROUTINE is enabled’
5 | #pragma message("ENABLE_XCOROUTINE is enabled")
| ^
[ 30%] Building CXX object third/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/exp.cpp.o
[ 32%] Building CXX object third/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/memory.cpp.o
[ 33%] Building CXX object third/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/node.cpp.o
[ 35%] Building CXX object third/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/node_data.cpp.o
[ 36%] Building CXX object third/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/nodebuilder.cpp.o
[ 38%] Building CXX object third/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/nodeevents.cpp.o
[ 40%] Building CXX object third/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/null.cpp.o
[ 41%] Building CXX object third/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/ostream_wrapper.cpp.o
[ 43%] Building CXX object third/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/parse.cpp.o
[ 44%] Building CXX object third/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/parser.cpp.o
[ 46%] Building CXX object third/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/regex_yaml.cpp.o
[ 47%] Building CXX object third/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/scanner.cpp.o
[ 49%] Building CXX object third/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/scantag.cpp.o
[ 50%] Building CXX object third/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/scanscalar.cpp.o
[ 52%] Linking CXX shared library ../lib/libxspcomm.so
[ 53%] Building CXX object third/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/scantoken.cpp.o
[ 55%] Building CXX object third/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/simplekey.cpp.o
make[3]: 离开目录“/home/tom/openverify/picker/build”
[ 55%] Built target xspcomm
make[3]: 进入目录“/home/tom/openverify/picker/build”
make[3]: 离开目录“/home/tom/openverify/picker/build”
make[3]: 进入目录“/home/tom/openverify/picker/build”
[ 56%] Building CXX object third/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/singledocparser.cpp.o
make[3]: 离开目录“/home/tom/openverify/picker/build”
[ 56%] Built target copy_xspcomm_include
make[3]: 进入目录“/home/tom/openverify/picker/build”
make[3]: 离开目录“/home/tom/openverify/picker/build”
make[3]: 进入目录“/home/tom/openverify/picker/build”
[ 58%] Building CXX object dependence/xcomm/tests/CMakeFiles/test_xdata.dir/test_xdata.cpp.o
[ 60%] Building CXX object third/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/stream.cpp.o
[ 61%] Building CXX object third/yaml-cpp/CMakeFiles/yaml-cpp.dir/src/tag.cpp.o
make[3]: 进入目录“/home/tom/openverify/picker/build”
make[3]: 离开目录“/home/tom/openverify/picker/build”
make[3]: 进入目录“/home/tom/openverify/picker/build”
[ 63%] Building CXX object dependence/xcomm/swig/python/CMakeFiles/pyxspcomm.dir/_pyswig/pythonPYTHON_wrap.cxx.o
[ 64%] Building CXX object dependence/xcomm/swig/python/CMakeFiles/pyxspcomm.dir/thirdcall.cpp.o
[ 66%] Linking CXX executable ../../../bin/test_xdata
make[3]: 离开目录“/home/tom/openverify/picker/build”
[ 66%] Built target test_xdata
[ 67%] Linking CXX static library ../../lib/libyaml-cpp.a
make[3]: 离开目录“/home/tom/openverify/picker/build”
[ 67%] Built target yaml-cpp
make[3]: 进入目录“/home/tom/openverify/picker/build”
make[3]: 进入目录“/home/tom/openverify/picker/build”
make[3]: 进入目录“/home/tom/openverify/picker/build”
make[3]: 离开目录“/home/tom/openverify/picker/build”
make[3]: 离开目录“/home/tom/openverify/picker/build”
make[3]: 离开目录“/home/tom/openverify/picker/build”
make[3]: 进入目录“/home/tom/openverify/picker/build”
make[3]: 进入目录“/home/tom/openverify/picker/build”
make[3]: 进入目录“/home/tom/openverify/picker/build”
[ 69%] Building CXX object src/parser/CMakeFiles/parser.dir/internalcfg.cpp.o
[ 73%] Building CXX object src/codegen/CMakeFiles/codegen.dir/cpp.cpp.o
[ 73%] Building CXX object src/parser/CMakeFiles/parser.dir/sv.cpp.o
[ 73%] Building CXX object src/parser/CMakeFiles/parser.dir/uvm.cpp.o
[ 75%] Building CXX object src/codegen/CMakeFiles/codegen.dir/python.cpp.o
[ 76%] Building CXX object test/CMakeFiles/test_internalcfg.dir/test_internalcfg.cpp.o
[ 78%] Building CXX object src/codegen/CMakeFiles/codegen.dir/java.cpp.o
[ 81%] Building CXX object src/codegen/CMakeFiles/codegen.dir/scala.cpp.o
[ 81%] Building CXX object test/CMakeFiles/test_internalcfg.dir/__/src/parser/internalcfg.cpp.o
[ 83%] Building CXX object src/codegen/CMakeFiles/codegen.dir/sv.cpp.o
[ 84%] Building CXX object src/codegen/CMakeFiles/codegen.dir/golang.cpp.o
[ 86%] Linking CXX shared module _pyswig/_pyxspcomm.so
/usr/lib/ccache/c++ -fPIC -std=c++11 -std=c++20 -fcoroutines -O3 -DNDEBUG -Wl,-rpath,/home/tom/openverify/picker/build/dependence/xcomm/lib "-Wl,-rpath,~/.local/lib" -Wl,-rpath,/usr/local/lib -shared -o _pyswig/_pyxspcomm.so CMakeFiles/pyxspcomm.dir/_pyswig/pythonPYTHON_wrap.cxx.o CMakeFiles/pyxspcomm.dir/thirdcall.cpp.o -Wl,-rpath,/home/tom/openverify/picker/build/dependence/xcomm/lib ../../lib/libxspcomm.so.0.0.1
make[3]: 离开目录“/home/tom/openverify/picker/build”
[ 86%] Built target pyxspcomm
make[3]: 进入目录“/home/tom/openverify/picker/build”
make[3]: 离开目录“/home/tom/openverify/picker/build”
make[3]: 进入目录“/home/tom/openverify/picker/build”
[ 87%] Generating ../../python/xspcomm/info.py
[ 89%] Generating pyxspcomm_so_lnk
make[3]: 离开目录“/home/tom/openverify/picker/build”
[ 89%] Built target _DummyTarget_create_pyxspcomm_so_link
[ 90%] Building CXX object src/codegen/CMakeFiles/codegen.dir/lib.cpp.o
[ 92%] Building CXX object src/codegen/CMakeFiles/codegen.dir/uvm.cpp.o
[ 93%] Linking CXX executable ../bin/test_internalcfg
make[3]: 离开目录“/home/tom/openverify/picker/build”
[ 93%] Built target test_internalcfg
[ 95%] Linking CXX static library ../../lib/libcodegen.a
make[3]: 离开目录“/home/tom/openverify/picker/build”
[ 95%] Built target codegen
[ 96%] Linking CXX static library ../../lib/libparser.a
make[3]: 离开目录“/home/tom/openverify/picker/build”
[ 96%] Built target parser
make[3]: 进入目录“/home/tom/openverify/picker/build”
make[3]: 离开目录“/home/tom/openverify/picker/build”
make[3]: 进入目录“/home/tom/openverify/picker/build”
[ 98%] Building CXX object src/CMakeFiles/picker.dir/picker.cpp.o
[100%] Linking CXX executable ../bin/picker
make[3]: 离开目录“/home/tom/openverify/picker/build”
[100%] Built target picker
make[2]: 离开目录“/home/tom/openverify/picker/build”
make[1]: 离开目录“/home/tom/openverify/picker/build”
tom@linuxtom:~/openverify/picker$ sudo -E make install
[sudo] tom 的密码:
cd build && make install
make[1]: 进入目录“/home/tom/openverify/picker/build”
make[2]: 进入目录“/home/tom/openverify/picker/build”
make[3]: 进入目录“/home/tom/openverify/picker/build”
Consolidate compiler generated dependencies of target xspcomm
make[3]: 离开目录“/home/tom/openverify/picker/build”
[ 10%] Built target xspcomm
make[3]: 进入目录“/home/tom/openverify/picker/build”
make[3]: 离开目录“/home/tom/openverify/picker/build”
make[3]: 进入目录“/home/tom/openverify/picker/build”
make[3]: 离开目录“/home/tom/openverify/picker/build”
[ 10%] Built target copy_xspcomm_include
make[3]: 进入目录“/home/tom/openverify/picker/build”
Consolidate compiler generated dependencies of target test_xdata
make[3]: 离开目录“/home/tom/openverify/picker/build”
[ 13%] Built target test_xdata
make[3]: 进入目录“/home/tom/openverify/picker/build”
make[3]: 离开目录“/home/tom/openverify/picker/build”
[ 15%] Built target pyxspcomm_swig_compilation
make[3]: 进入目录“/home/tom/openverify/picker/build”
Consolidate compiler generated dependencies of target pyxspcomm
make[3]: 离开目录“/home/tom/openverify/picker/build”
[ 20%] Built target pyxspcomm
make[3]: 进入目录“/home/tom/openverify/picker/build”
make[3]: 离开目录“/home/tom/openverify/picker/build”
make[3]: 进入目录“/home/tom/openverify/picker/build”
[ 21%] Generating pyxspcomm_so_lnk
make[3]: 离开目录“/home/tom/openverify/picker/build”
[ 23%] Built target _DummyTarget_create_pyxspcomm_so_link
make[3]: 进入目录“/home/tom/openverify/picker/build”
Consolidate compiler generated dependencies of target yaml-cpp
make[3]: 离开目录“/home/tom/openverify/picker/build”
[ 72%] Built target yaml-cpp
make[3]: 进入目录“/home/tom/openverify/picker/build”
Consolidate compiler generated dependencies of target parser
make[3]: 离开目录“/home/tom/openverify/picker/build”
[ 78%] Built target parser
make[3]: 进入目录“/home/tom/openverify/picker/build”
Consolidate compiler generated dependencies of target codegen
make[3]: 离开目录“/home/tom/openverify/picker/build”
[ 92%] Built target codegen
make[3]: 进入目录“/home/tom/openverify/picker/build”
Consolidate compiler generated dependencies of target picker
make[3]: 离开目录“/home/tom/openverify/picker/build”
[ 95%] Built target picker
make[3]: 进入目录“/home/tom/openverify/picker/build”
Consolidate compiler generated dependencies of target test_internalcfg
make[3]: 离开目录“/home/tom/openverify/picker/build”
[100%] Built target test_internalcfg
make[2]: 离开目录“/home/tom/openverify/picker/build”
Install the project...
-- Install configuration: "Release"
-- Installing: /usr/local/bin/picker
-- Installing: /usr/local/share/picker/template
-- Installing: /usr/local/share/picker/template/lib
-- Installing: /usr/local/share/picker/template/lib/dut_base.hpp
-- Installing: /usr/local/share/picker/template/lib/top.v
-- Installing: /usr/local/share/picker/template/lib/filelist.f
-- Installing: /usr/local/share/picker/template/lib/top.sv
-- Installing: /usr/local/share/picker/template/lib/dut_base.cpp
-- Installing: /usr/local/share/picker/template/lib/CMakeLists.txt
-- Installing: /usr/local/share/picker/template/lib/cmake
-- Installing: /usr/local/share/picker/template/lib/cmake/vcs.cmake
-- Installing: /usr/local/share/picker/template/lib/cmake/verilator.cmake
-- Installing: /usr/local/share/picker/template/lib/Makefile
-- Installing: /usr/local/share/picker/template/lib/mk
-- Installing: /usr/local/share/picker/template/lib/mk/java.mk
-- Installing: /usr/local/share/picker/template/lib/mk/scala.mk
-- Installing: /usr/local/share/picker/template/lib/mk/golang.mk
-- Installing: /usr/local/share/picker/template/lib/mk/python.mk
-- Installing: /usr/local/share/picker/template/lib/mk/cpp.mk
-- Installing: /usr/local/share/picker/template/python
-- Installing: /usr/local/share/picker/template/python/dut.py
-- Installing: /usr/local/share/picker/template/python/CMakeLists.txt
-- Installing: /usr/local/share/picker/template/python/cmake
-- Installing: /usr/local/share/picker/template/python/cmake/vcs.cmake
-- Installing: /usr/local/share/picker/template/python/cmake/verilator.cmake
-- Installing: /usr/local/share/picker/template/python/Makefile
-- Installing: /usr/local/share/picker/template/python/example.py
-- Installing: /usr/local/share/picker/template/python/dut.i
-- Installing: /usr/local/share/picker/template/uvm
-- Installing: /usr/local/share/picker/template/uvm/xagent.py
-- Installing: /usr/local/share/picker/template/uvm/example_python.py
-- Installing: /usr/local/share/picker/template/uvm/example_uvm.sv
-- Installing: /usr/local/share/picker/template/uvm/xagent.sv
-- Installing: /usr/local/share/picker/template/uvm/Makefile
-- Installing: /usr/local/share/picker/template/uvm/get_macro_value.sh
-- Installing: /usr/local/share/picker/template/cpp
-- Installing: /usr/local/share/picker/template/cpp/dut.cpp
-- Installing: /usr/local/share/picker/template/cpp/dut.hpp
-- Installing: /usr/local/share/picker/template/cpp/example.cpp
-- Installing: /usr/local/share/picker/template/cpp/CMakeLists.txt
-- Installing: /usr/local/share/picker/template/cpp/cmake
-- Installing: /usr/local/share/picker/template/cpp/cmake/vcs.cmake
-- Installing: /usr/local/share/picker/template/cpp/cmake/verilator.cmake
-- Installing: /usr/local/share/picker/template/cpp/Makefile
-- Installing: /usr/local/share/picker/template/java
-- Installing: /usr/local/share/picker/template/java/MANIFEST.MF
-- Installing: /usr/local/share/picker/template/java/example.java
-- Installing: /usr/local/share/picker/template/java/dut.java
-- Installing: /usr/local/share/picker/template/java/CMakeLists.txt
-- Installing: /usr/local/share/picker/template/java/cmake
-- Installing: /usr/local/share/picker/template/java/cmake/vcs.cmake
-- Installing: /usr/local/share/picker/template/java/cmake/verilator.cmake
-- Installing: /usr/local/share/picker/template/java/Makefile
-- Installing: /usr/local/share/picker/template/java/dut.i
-- Installing: /usr/local/share/picker/template/golang
-- Installing: /usr/local/share/picker/template/golang/CMakeLists.txt
-- Installing: /usr/local/share/picker/template/golang/dut.go
-- Installing: /usr/local/share/picker/template/golang/go.mod
-- Installing: /usr/local/share/picker/template/golang/cmake
-- Installing: /usr/local/share/picker/template/golang/cmake/vcs.cmake
-- Installing: /usr/local/share/picker/template/golang/cmake/verilator.cmake
-- Installing: /usr/local/share/picker/template/golang/Makefile
-- Installing: /usr/local/share/picker/template/golang/example.go
-- Installing: /usr/local/share/picker/template/golang/dut.i
-- Installing: /usr/local/share/picker/template/scala
-- Installing: /usr/local/share/picker/template/scala/example.scala
-- Installing: /usr/local/share/picker/template/scala/MANIFEST.MF
-- Installing: /usr/local/share/picker/template/scala/dut.scala
-- Installing: /usr/local/share/picker/template/scala/dut.java
-- Installing: /usr/local/share/picker/template/scala/CMakeLists.txt
-- Installing: /usr/local/share/picker/template/scala/cmake
-- Installing: /usr/local/share/picker/template/scala/cmake/vcs.cmake
-- Installing: /usr/local/share/picker/template/scala/cmake/verilator.cmake
-- Installing: /usr/local/share/picker/template/scala/Makefile
-- Installing: /usr/local/share/picker/template/scala/dut.i
-- Installing: /usr/local/share/picker/python/xspcomm
-- Installing: /usr/local/share/picker/python/xspcomm/info.py
-- Installing: /usr/local/share/picker/python/xspcomm/__init__.py
-- Installing: /usr/local/share/picker/python/xspcomm/_pyxspcomm.so
-- Installing: /usr/local/share/picker/python/xspcomm/pyxspcomm.py
-- Installing: /usr/local/share/picker/python/xspcomm/_pyxspcomm.so.0.0.1
-- Up-to-date: /usr/local/include
-- Installing: /usr/local/include/xspcomm
-- Installing: /usr/local/include/xspcomm/xinstance.h
-- Installing: /usr/local/include/xspcomm/xdata.h
-- Installing: /usr/local/include/xspcomm/xport.h
-- Installing: /usr/local/include/xspcomm/xcoroutine.h
-- Installing: /usr/local/include/xspcomm/xcomm.h
-- Installing: /usr/local/include/xspcomm/xclock.h
-- Installing: /usr/local/include/xspcomm/xcallback.h
-- Installing: /usr/local/include/xspcomm/thirdcall.h
-- Installing: /usr/local/include/xspcomm/tlm_pbsb.cpp
-- Installing: /usr/local/include/xspcomm/python_tlm_pbsb.i
-- Installing: /usr/local/include/xspcomm/tlm_pbsb.h
-- Installing: /usr/local/include/xspcomm/_uvmc_pbsb.h
-- Installing: /usr/local/include/xspcomm/tlm_msg.h
-- Installing: /usr/local/include/xspcomm/_not_export.h
-- Installing: /usr/local/include/xspcomm/xutil.h
-- Installing: /usr/local/lib/libxspcomm.so.0.0.1
-- Installing: /usr/local/lib/libxspcomm.so
-- Installing: /usr/local/share/picker/include
-- Installing: /usr/local/share/picker/include/xspcomm
-- Installing: /usr/local/share/picker/include/xspcomm/xinstance.h
-- Installing: /usr/local/share/picker/include/xspcomm/xdata.h
-- Installing: /usr/local/share/picker/include/xspcomm/xport.h
-- Installing: /usr/local/share/picker/include/xspcomm/xcoroutine.h
-- Installing: /usr/local/share/picker/include/xspcomm/xcomm.h
-- Installing: /usr/local/share/picker/include/xspcomm/xclock.h
-- Installing: /usr/local/share/picker/include/xspcomm/xcallback.h
-- Installing: /usr/local/share/picker/include/xspcomm/thirdcall.h
-- Installing: /usr/local/share/picker/include/xspcomm/tlm_pbsb.cpp
-- Installing: /usr/local/share/picker/include/xspcomm/python_tlm_pbsb.i
-- Installing: /usr/local/share/picker/include/xspcomm/tlm_pbsb.h
-- Installing: /usr/local/share/picker/include/xspcomm/_uvmc_pbsb.h
-- Installing: /usr/local/share/picker/include/xspcomm/tlm_msg.h
-- Installing: /usr/local/share/picker/include/xspcomm/_not_export.h
-- Installing: /usr/local/share/picker/include/xspcomm/xutil.h
-- Installing: /usr/local/share/picker/lib/libxspcomm.so.0.0.1
-- Installing: /usr/local/share/picker/lib/libxspcomm.so
make[1]: 离开目录“/home/tom/openverify/picker/build”
tom@linuxtom:~/openverify/picker$
example1.加法器
tom@linuxtom:~/openverify/veriwork/Adder$ picker export --autobuild=false Adder.v -w Adder.fst --sname Adder --tdir picker_out_adder --lang python -e --sim verilator
start call!
start parse!
start filter!
want module: Adder
"#"
"("
"parameter"
"SymbolIdentifier"
parameter_name: WIDTH, parameter_value: 64
"("
"input"
"SymbolIdentifier"
pin length expression: 64-1 as 63.000000
pin length expression: 0 as 0.000000
","
"input"
"SymbolIdentifier"
pin length expression: 64-1 as 63.000000
pin length expression: 0 as 0.000000
","
"input"
"SymbolIdentifier"
","
"output"
"SymbolIdentifier"
pin length expression: 64-1 as 63.000000
pin length expression: 0 as 0.000000
","
"output"
"SymbolIdentifier"
")"
Frequency: 100MHz
Render file: CMakeLists.txt to picker_out_adder/CMakeLists.txt
Write file: picker_out_adder/CMakeLists.txt
Render file: top.sv to picker_out_adder/top.sv
Write file: picker_out_adder/top.sv
Render file: vcs.cmake to picker_out_adder/cmake/vcs.cmake
Write file: picker_out_adder/cmake/vcs.cmake
Render file: verilator.cmake to picker_out_adder/cmake/verilator.cmake
Write file: picker_out_adder/cmake/verilator.cmake
Render file: dut_base.hpp to picker_out_adder/dut_base.hpp
Write file: picker_out_adder/dut_base.hpp
Render file: Makefile to picker_out_adder/Makefile
Write file: picker_out_adder/Makefile
Render file: filelist.f to picker_out_adder/filelist.f
Write file: picker_out_adder/filelist.f
Render file: dut_base.cpp to picker_out_adder/dut_base.cpp
Write file: picker_out_adder/dut_base.cpp
Render file: python.mk to picker_out_adder/mk/python.mk
Write file: picker_out_adder/mk/python.mk
Render file: golang.mk to picker_out_adder/mk/golang.mk
Write file: picker_out_adder/mk/golang.mk
Render file: scala.mk to picker_out_adder/mk/scala.mk
Write file: picker_out_adder/mk/scala.mk
Render file: java.mk to picker_out_adder/mk/java.mk
Write file: picker_out_adder/mk/java.mk
Render file: cpp.mk to picker_out_adder/mk/cpp.mk
Write file: picker_out_adder/mk/cpp.mk
Render file: top.v to picker_out_adder/top.v
Write file: picker_out_adder/top.v
Generate DPI files successfully!
Render file: CMakeLists.txt to picker_out_adder/python/CMakeLists.txt
Write file: picker_out_adder/python/CMakeLists.txt
Render file: example.py to picker_out_adder/python/example.py
Write file: picker_out_adder/python/example.py
Render file: dut.i to picker_out_adder/python/dut.i
Write file: picker_out_adder/python/dut.i
Render file: dut.py to picker_out_adder/python/dut.py
Write file: picker_out_adder/python/dut.py
Render file: vcs.cmake to picker_out_adder/python/cmake/vcs.cmake
Write file: picker_out_adder/python/cmake/vcs.cmake
Render file: verilator.cmake to picker_out_adder/python/cmake/verilator.cmake
Write file: picker_out_adder/python/cmake/verilator.cmake
Render file: Makefile to picker_out_adder/python/Makefile
Write file: picker_out_adder/python/Makefile
tom@linuxtom:~/openverify/veriwork/Adder$
tom@linuxtom:~/openverify/veriwork/Adder$ cd picker_out_adder
tom@linuxtom:~/openverify/veriwork/Adder/picker_out_adder$ make
cmake . -Bbuild -DSIMULATOR=verilator -DTRACE=fst -DPROJECT=Adder \
-DSIMULATOR_FLAGS= -DCFLAGS= -DCOVERAGE=OFF
Re-run cmake no build system arguments
-- The C compiler identification is GNU 11.4.0
-- The CXX compiler identification is GNU 11.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/lib/ccache/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/lib/ccache/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test _faligned_new
-- Performing Test _faligned_new - Success
-- Performing Test _fbracket_depth_4096
-- Performing Test _fbracket_depth_4096 - Failed
-- Performing Test _fcf_protection_none
-- Performing Test _fcf_protection_none - Success
-- Performing Test _mno_cet
-- Performing Test _mno_cet - Failed
-- Performing Test _Qunused_arguments
-- Performing Test _Qunused_arguments - Failed
-- Performing Test _Wno_bool_operation
-- Performing Test _Wno_bool_operation - Success
-- Performing Test _Wno_c__11_narrowing
-- Performing Test _Wno_c__11_narrowing - Success
-- Performing Test _Wno_constant_logical_operand
-- Performing Test _Wno_constant_logical_operand - Success
-- Performing Test _Wno_non_pod_varargs
-- Performing Test _Wno_non_pod_varargs - Success
-- Performing Test _Wno_overloaded_virtual
-- Performing Test _Wno_overloaded_virtual - Success
-- Performing Test _Wno_parentheses_equality
-- Performing Test _Wno_parentheses_equality - Success
-- Performing Test _Wno_shadow
-- Performing Test _Wno_shadow - Success
-- Performing Test _Wno_sign_compare
-- Performing Test _Wno_sign_compare - Success
-- Performing Test _Wno_tautological_bitwise_compare
-- Performing Test _Wno_tautological_bitwise_compare - Success
-- Performing Test _Wno_uninitialized
-- Performing Test _Wno_uninitialized - Success
-- Performing Test _Wno_unused_but_set_parameter
-- Performing Test _Wno_unused_but_set_parameter - Success
-- Performing Test _Wno_unused_but_set_variable
-- Performing Test _Wno_unused_but_set_variable - Success
-- Performing Test _Wno_unused_parameter
-- Performing Test _Wno_unused_parameter - Success
-- Performing Test _Wno_unused_variable
-- Performing Test _Wno_unused_variable - Success
-- Performing Test _mt
-- Performing Test _mt - Failed
-- Performing Test _pthread
-- Performing Test _pthread - Success
-- Performing Test _lpthread
-- Performing Test _lpthread - Success
-- Performing Test _latomic
-- Performing Test _latomic - Success
-- Executing Verilator...
-- Verilator generated files in /home/tom/openverify/veriwork/Adder/picker_out_adder/build/DPIAdder
-- Configuring done
-- Generating done
-- Build files have been written to: /home/tom/openverify/veriwork/Adder/picker_out_adder/build
cmake --build build --config Debug --parallel `nproc`
gmake[1]: 进入目录“/home/tom/openverify/veriwork/Adder/picker_out_adder/build”
/usr/bin/cmake -S/home/tom/openverify/veriwork/Adder/picker_out_adder -B/home/tom/openverify/veriwork/Adder/picker_out_adder/build --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /home/tom/openverify/veriwork/Adder/picker_out_adder/build/CMakeFiles /home/tom/openverify/veriwork/Adder/picker_out_adder/build//CMakeFiles/progress.marks
/usr/bin/gmake -f CMakeFiles/Makefile2 all
gmake[2]: 进入目录“/home/tom/openverify/veriwork/Adder/picker_out_adder/build”
/usr/bin/gmake -f CMakeFiles/DPIAdder.dir/build.make CMakeFiles/DPIAdder.dir/depend
gmake[3]: 进入目录“/home/tom/openverify/veriwork/Adder/picker_out_adder/build”
cd /home/tom/openverify/veriwork/Adder/picker_out_adder/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/tom/openverify/veriwork/Adder/picker_out_adder /home/tom/openverify/veriwork/Adder/picker_out_adder /home/tom/openverify/veriwork/Adder/picker_out_adder/build /home/tom/openverify/veriwork/Adder/picker_out_adder/build /home/tom/openverify/veriwork/Adder/picker_out_adder/build/CMakeFiles/DPIAdder.dir/DependInfo.cmake --color=
gmake[3]: 离开目录“/home/tom/openverify/veriwork/Adder/picker_out_adder/build”
/usr/bin/gmake -f CMakeFiles/DPIAdder.dir/build.make CMakeFiles/DPIAdder.dir/build
gmake[3]: 进入目录“/home/tom/openverify/veriwork/Adder/picker_out_adder/build”
[ 4%] Building CXX object CMakeFiles/DPIAdder.dir/DPIAdder/VAdder.cpp.o
[ 8%] Building CXX object CMakeFiles/DPIAdder.dir/DPIAdder/VAdder__Dpi_Export__0.cpp.o
[ 13%] Building CXX object CMakeFiles/DPIAdder.dir/DPIAdder/VAdder___024root__DepSet_h93c2aa03__0.cpp.o
[ 17%] Building CXX object CMakeFiles/DPIAdder.dir/DPIAdder/VAdder___024root__DepSet_hfe519e27__0.cpp.o
[ 21%] Building CXX object CMakeFiles/DPIAdder.dir/DPIAdder/VAdder___024root__Slow.cpp.o
[ 26%] Building CXX object CMakeFiles/DPIAdder.dir/DPIAdder/VAdder___024root__DepSet_h93c2aa03__0__Slow.cpp.o
/usr/lib/ccache/c++ -DUSE_VERILATOR -DVL_TRACE -DVM_COVERAGE=0 -DVM_SC=0 -DVM_TRACE=1 -DVM_TRACE_FST=1 -DVM_TRACE_VCD=0 -I/usr/local/share/verilator/include -I/usr/local/share/verilator/include/vltstd -I/home/tom/openverify/veriwork/Adder/picker_out_adder/build/DPIAdder -fcoroutines -ftls-model=global-dynamic -std=gnu++20 -fPIC -MD -MT CMakeFiles/DPIAdder.dir/DPIAdder/VAdder.cpp.o -MF CMakeFiles/DPIAdder.dir/DPIAdder/VAdder.cpp.o.d -o CMakeFiles/DPIAdder.dir/DPIAdder/VAdder.cpp.o -c /home/tom/openverify/veriwork/Adder/picker_out_adder/build/DPIAdder/VAdder.cpp
/usr/lib/ccache/c++ -DUSE_VERILATOR -DVL_TRACE -DVM_COVERAGE=0 -DVM_SC=0 -DVM_TRACE=1 -DVM_TRACE_FST=1 -DVM_TRACE_VCD=0 -I/usr/local/share/verilator/include -I/usr/local/share/verilator/include/vltstd -I/home/tom/openverify/veriwork/Adder/picker_out_adder/build/DPIAdder -fcoroutines -ftls-model=global-dynamic -std=gnu++20 -fPIC -MD -MT CMakeFiles/DPIAdder.dir/DPIAdder/VAdder__Dpi_Export__0.cpp.o -MF CMakeFiles/DPIAdder.dir/DPIAdder/VAdder__Dpi_Export__0.cpp.o.d -o CMakeFiles/DPIAdder.dir/DPIAdder/VAdder__Dpi_Export__0.cpp.o -c /home/tom/openverify/veriwork/Adder/picker_out_adder/build/DPIAdder/VAdder__Dpi_Export__0.cpp
/usr/lib/ccache/c++ -DUSE_VERILATOR -DVL_TRACE -DVM_COVERAGE=0 -DVM_SC=0 -DVM_TRACE=1 -DVM_TRACE_FST=1 -DVM_TRACE_VCD=0 -I/usr/local/share/verilator/include -I/usr/local/share/verilator/include/vltstd -I/home/tom/openverify/veriwork/Adder/picker_out_adder/build/DPIAdder -fcoroutines -ftls-model=global-dynamic -std=gnu++20 -fPIC -MD -MT CMakeFiles/DPIAdder.dir/DPIAdder/VAdder___024root__DepSet_h93c2aa03__0.cpp.o -MF CMakeFiles/DPIAdder.dir/DPIAdder/VAdder___024root__DepSet_h93c2aa03__0.cpp.o.d -o CMakeFiles/DPIAdder.dir/DPIAdder/VAdder___024root__DepSet_h93c2aa03__0.cpp.o -c /home/tom/openverify/veriwork/Adder/picker_out_adder/build/DPIAdder/VAdder___024root__DepSet_h93c2aa03__0.cpp
[ 30%] Building CXX object CMakeFiles/DPIAdder.dir/DPIAdder/VAdder___024root__DepSet_hfe519e27__0__Slow.cpp.o
[ 34%] Building CXX object CMakeFiles/DPIAdder.dir/DPIAdder/VAdder__Dpi.cpp.o
/usr/lib/ccache/c++ -DUSE_VERILATOR -DVL_TRACE -DVM_COVERAGE=0 -DVM_SC=0 -DVM_TRACE=1 -DVM_TRACE_FST=1 -DVM_TRACE_VCD=0 -I/usr/local/share/verilator/include -I/usr/local/share/verilator/include/vltstd -I/home/tom/openverify/veriwork/Adder/picker_out_adder/build/DPIAdder -fcoroutines -ftls-model=global-dynamic -std=gnu++20 -fPIC -MD -MT CMakeFiles/DPIAdder.dir/DPIAdder/VAdder___024root__DepSet_hfe519e27__0.cpp.o -MF CMakeFiles/DPIAdder.dir/DPIAdder/VAdder___024root__DepSet_hfe519e27__0.cpp.o.d -o CMakeFiles/DPIAdder.dir/DPIAdder/VAdder___024root__DepSet_hfe519e27__0.cpp.o -c /home/tom/openverify/veriwork/Adder/picker_out_adder/build/DPIAdder/VAdder___024root__DepSet_hfe519e27__0.cpp
[ 39%] Building CXX object CMakeFiles/DPIAdder.dir/DPIAdder/VAdder__Trace__0__Slow.cpp.o
/usr/lib/ccache/c++ -DUSE_VERILATOR -DVL_TRACE -DVM_COVERAGE=0 -DVM_SC=0 -DVM_TRACE=1 -DVM_TRACE_FST=1 -DVM_TRACE_VCD=0 -I/usr/local/share/verilator/include -I/usr/local/share/verilator/include/vltstd -I/home/tom/openverify/veriwork/Adder/picker_out_adder/build/DPIAdder -fcoroutines -ftls-model=global-dynamic -std=gnu++20 -fPIC -MD -MT CMakeFiles/DPIAdder.dir/DPIAdder/VAdder___024root__Slow.cpp.o -MF CMakeFiles/DPIAdder.dir/DPIAdder/VAdder___024root__Slow.cpp.o.d -o CMakeFiles/DPIAdder.dir/DPIAdder/VAdder___024root__Slow.cpp.o -c /home/tom/openverify/veriwork/Adder/picker_out_adder/build/DPIAdder/VAdder___024root__Slow.cpp
/usr/lib/ccache/c++ -DUSE_VERILATOR -DVL_TRACE -DVM_COVERAGE=0 -DVM_SC=0 -DVM_TRACE=1 -DVM_TRACE_FST=1 -DVM_TRACE_VCD=0 -I/usr/local/share/verilator/include -I/usr/local/share/verilator/include/vltstd -I/home/tom/openverify/veriwork/Adder/picker_out_adder/build/DPIAdder -fcoroutines -ftls-model=global-dynamic -std=gnu++20 -fPIC -MD -MT CMakeFiles/DPIAdder.dir/DPIAdder/VAdder___024root__DepSet_h93c2aa03__0__Slow.cpp.o -MF CMakeFiles/DPIAdder.dir/DPIAdder/VAdder___024root__DepSet_h93c2aa03__0__Slow.cpp.o.d -o CMakeFiles/DPIAdder.dir/DPIAdder/VAdder___024root__DepSet_h93c2aa03__0__Slow.cpp.o -c /home/tom/openverify/veriwork/Adder/picker_out_adder/build/DPIAdder/VAdder___024root__DepSet_h93c2aa03__0__Slow.cpp
/usr/lib/ccache/c++ -DUSE_VERILATOR -DVL_TRACE -DVM_COVERAGE=0 -DVM_SC=0 -DVM_TRACE=1 -DVM_TRACE_FST=1 -DVM_TRACE_VCD=0 -I/usr/local/share/verilator/include -I/usr/local/share/verilator/include/vltstd -I/home/tom/openverify/veriwork/Adder/picker_out_adder/build/DPIAdder -fcoroutines -ftls-model=global-dynamic -std=gnu++20 -fPIC -MD -MT CMakeFiles/DPIAdder.dir/DPIAdder/VAdder___024root__DepSet_hfe519e27__0__Slow.cpp.o -MF CMakeFiles/DPIAdder.dir/DPIAdder/VAdder___024root__DepSet_hfe519e27__0__Slow.cpp.o.d -o CMakeFiles/DPIAdder.dir/DPIAdder/VAdder___024root__DepSet_hfe519e27__0__Slow.cpp.o -c /home/tom/openverify/veriwork/Adder/picker_out_adder/build/DPIAdder/VAdder___024root__DepSet_hfe519e27__0__Slow.cpp
/usr/lib/ccache/c++ -DUSE_VERILATOR -DVL_TRACE -DVM_COVERAGE=0 -DVM_SC=0 -DVM_TRACE=1 -DVM_TRACE_FST=1 -DVM_TRACE_VCD=0 -I/usr/local/share/verilator/include -I/usr/local/share/verilator/include/vltstd -I/home/tom/openverify/veriwork/Adder/picker_out_adder/build/DPIAdder -fcoroutines -ftls-model=global-dynamic -std=gnu++20 -fPIC -MD -MT CMakeFiles/DPIAdder.dir/DPIAdder/VAdder__Dpi.cpp.o -MF CMakeFiles/DPIAdder.dir/DPIAdder/VAdder__Dpi.cpp.o.d -o CMakeFiles/DPIAdder.dir/DPIAdder/VAdder__Dpi.cpp.o -c /home/tom/openverify/veriwork/Adder/picker_out_adder/build/DPIAdder/VAdder__Dpi.cpp
[ 47%] Building CXX object CMakeFiles/DPIAdder.dir/DPIAdder/VAdder__Trace__0.cpp.o
[ 47%] Building CXX object CMakeFiles/DPIAdder.dir/DPIAdder/VAdder__TraceDecls__0__Slow.cpp.o
/usr/lib/ccache/c++ -DUSE_VERILATOR -DVL_TRACE -DVM_COVERAGE=0 -DVM_SC=0 -DVM_TRACE=1 -DVM_TRACE_FST=1 -DVM_TRACE_VCD=0 -I/usr/local/share/verilator/include -I/usr/local/share/verilator/include/vltstd -I/home/tom/openverify/veriwork/Adder/picker_out_adder/build/DPIAdder -fcoroutines -ftls-model=global-dynamic -std=gnu++20 -fPIC -MD -MT CMakeFiles/DPIAdder.dir/DPIAdder/VAdder__Trace__0__Slow.cpp.o -MF CMakeFiles/DPIAdder.dir/DPIAdder/VAdder__Trace__0__Slow.cpp.o.d -o CMakeFiles/DPIAdder.dir/DPIAdder/VAdder__Trace__0__Slow.cpp.o -c /home/tom/openverify/veriwork/Adder/picker_out_adder/build/DPIAdder/VAdder__Trace__0__Slow.cpp
/usr/lib/ccache/c++ -DUSE_VERILATOR -DVL_TRACE -DVM_COVERAGE=0 -DVM_SC=0 -DVM_TRACE=1 -DVM_TRACE_FST=1 -DVM_TRACE_VCD=0 -I/usr/local/share/verilator/include -I/usr/local/share/verilator/include/vltstd -I/home/tom/openverify/veriwork/Adder/picker_out_adder/build/DPIAdder -fcoroutines -ftls-model=global-dynamic -std=gnu++20 -fPIC -MD -MT CMakeFiles/DPIAdder.dir/DPIAdder/VAdder__Trace__0.cpp.o -MF CMakeFiles/DPIAdder.dir/DPIAdder/VAdder__Trace__0.cpp.o.d -o CMakeFiles/DPIAdder.dir/DPIAdder/VAdder__Trace__0.cpp.o -c /home/tom/openverify/veriwork/Adder/picker_out_adder/build/DPIAdder/VAdder__Trace__0.cpp
[ 52%] Building CXX object CMakeFiles/DPIAdder.dir/DPIAdder/VAdder__Syms.cpp.o
/usr/lib/ccache/c++ -DUSE_VERILATOR -DVL_TRACE -DVM_COVERAGE=0 -DVM_SC=0 -DVM_TRACE=1 -DVM_TRACE_FST=1 -DVM_TRACE_VCD=0 -I/usr/local/share/verilator/include -I/usr/local/share/verilator/include/vltstd -I/home/tom/openverify/veriwork/Adder/picker_out_adder/build/DPIAdder -fcoroutines -ftls-model=global-dynamic -std=gnu++20 -fPIC -MD -MT CMakeFiles/DPIAdder.dir/DPIAdder/VAdder__TraceDecls__0__Slow.cpp.o -MF CMakeFiles/DPIAdder.dir/DPIAdder/VAdder__TraceDecls__0__Slow.cpp.o.d -o CMakeFiles/DPIAdder.dir/DPIAdder/VAdder__TraceDecls__0__Slow.cpp.o -c /home/tom/openverify/veriwork/Adder/picker_out_adder/build/DPIAdder/VAdder__TraceDecls__0__Slow.cpp
/usr/lib/ccache/c++ -DUSE_VERILATOR -DVL_TRACE -DVM_COVERAGE=0 -DVM_SC=0 -DVM_TRACE=1 -DVM_TRACE_FST=1 -DVM_TRACE_VCD=0 -I/usr/local/share/verilator/include -I/usr/local/share/verilator/include/vltstd -I/home/tom/openverify/veriwork/Adder/picker_out_adder/build/DPIAdder -fcoroutines -ftls-model=global-dynamic -std=gnu++20 -fPIC -MD -MT CMakeFiles/DPIAdder.dir/DPIAdder/VAdder__Syms.cpp.o -MF CMakeFiles/DPIAdder.dir/DPIAdder/VAdder__Syms.cpp.o.d -o CMakeFiles/DPIAdder.dir/DPIAdder/VAdder__Syms.cpp.o -c /home/tom/openverify/veriwork/Adder/picker_out_adder/build/DPIAdder/VAdder__Syms.cpp
[ 56%] Building CXX object CMakeFiles/DPIAdder.dir/usr/local/share/verilator/include/verilated.cpp.o
/usr/lib/ccache/c++ -DUSE_VERILATOR -DVL_TRACE -DVM_COVERAGE=0 -DVM_SC=0 -DVM_TRACE=1 -DVM_TRACE_FST=1 -DVM_TRACE_VCD=0 -I/usr/local/share/verilator/include -I/usr/local/share/verilator/include/vltstd -I/home/tom/openverify/veriwork/Adder/picker_out_adder/build/DPIAdder -fcoroutines -ftls-model=global-dynamic -std=gnu++20 -fPIC -MD -MT CMakeFiles/DPIAdder.dir/usr/local/share/verilator/include/verilated.cpp.o -MF CMakeFiles/DPIAdder.dir/usr/local/share/verilator/include/verilated.cpp.o.d -o CMakeFiles/DPIAdder.dir/usr/local/share/verilator/include/verilated.cpp.o -c /usr/local/share/verilator/include/verilated.cpp
[ 60%] Building CXX object CMakeFiles/DPIAdder.dir/usr/local/share/verilator/include/verilated_dpi.cpp.o
/usr/lib/ccache/c++ -DUSE_VERILATOR -DVL_TRACE -DVM_COVERAGE=0 -DVM_SC=0 -DVM_TRACE=1 -DVM_TRACE_FST=1 -DVM_TRACE_VCD=0 -I/usr/local/share/verilator/include -I/usr/local/share/verilator/include/vltstd -I/home/tom/openverify/veriwork/Adder/picker_out_adder/build/DPIAdder -fcoroutines -ftls-model=global-dynamic -std=gnu++20 -fPIC -MD -MT CMakeFiles/DPIAdder.dir/usr/local/share/verilator/include/verilated_dpi.cpp.o -MF CMakeFiles/DPIAdder.dir/usr/local/share/verilator/include/verilated_dpi.cpp.o.d -o CMakeFiles/DPIAdder.dir/usr/local/share/verilator/include/verilated_dpi.cpp.o -c /usr/local/share/verilator/include/verilated_dpi.cpp
[ 65%] Building CXX object CMakeFiles/DPIAdder.dir/usr/local/share/verilator/include/verilated_fst_c.cpp.o
/usr/lib/ccache/c++ -DUSE_VERILATOR -DVL_TRACE -DVM_COVERAGE=0 -DVM_SC=0 -DVM_TRACE=1 -DVM_TRACE_FST=1 -DVM_TRACE_VCD=0 -I/usr/local/share/verilator/include -I/usr/local/share/verilator/include/vltstd -I/home/tom/openverify/veriwork/Adder/picker_out_adder/build/DPIAdder -fcoroutines -ftls-model=global-dynamic -std=gnu++20 -fPIC -MD -MT CMakeFiles/DPIAdder.dir/usr/local/share/verilator/include/verilated_fst_c.cpp.o -MF CMakeFiles/DPIAdder.dir/usr/local/share/verilator/include/verilated_fst_c.cpp.o.d -o CMakeFiles/DPIAdder.dir/usr/local/share/verilator/include/verilated_fst_c.cpp.o -c /usr/local/share/verilator/include/verilated_fst_c.cpp
[ 69%] Building CXX object CMakeFiles/DPIAdder.dir/usr/local/share/verilator/include/verilated_threads.cpp.o
/usr/lib/ccache/c++ -DUSE_VERILATOR -DVL_TRACE -DVM_COVERAGE=0 -DVM_SC=0 -DVM_TRACE=1 -DVM_TRACE_FST=1 -DVM_TRACE_VCD=0 -I/usr/local/share/verilator/include -I/usr/local/share/verilator/include/vltstd -I/home/tom/openverify/veriwork/Adder/picker_out_adder/build/DPIAdder -fcoroutines -ftls-model=global-dynamic -std=gnu++20 -fPIC -MD -MT CMakeFiles/DPIAdder.dir/usr/local/share/verilator/include/verilated_threads.cpp.o -MF CMakeFiles/DPIAdder.dir/usr/local/share/verilator/include/verilated_threads.cpp.o.d -o CMakeFiles/DPIAdder.dir/usr/local/share/verilator/include/verilated_threads.cpp.o -c /usr/local/share/verilator/include/verilated_threads.cpp
[ 73%] Linking CXX static library libDPIAdder.a
/usr/bin/cmake -P CMakeFiles/DPIAdder.dir/cmake_clean_target.cmake
/usr/bin/cmake -E cmake_link_script CMakeFiles/DPIAdder.dir/link.txt --verbose=1
/usr/bin/ar qc libDPIAdder.a CMakeFiles/DPIAdder.dir/DPIAdder/VAdder.cpp.o CMakeFiles/DPIAdder.dir/DPIAdder/VAdder__Dpi_Export__0.cpp.o CMakeFiles/DPIAdder.dir/DPIAdder/VAdder___024root__DepSet_h93c2aa03__0.cpp.o CMakeFiles/DPIAdder.dir/DPIAdder/VAdder___024root__DepSet_hfe519e27__0.cpp.o CMakeFiles/DPIAdder.dir/DPIAdder/VAdder___024root__Slow.cpp.o CMakeFiles/DPIAdder.dir/DPIAdder/VAdder___024root__DepSet_h93c2aa03__0__Slow.cpp.o CMakeFiles/DPIAdder.dir/DPIAdder/VAdder___024root__DepSet_hfe519e27__0__Slow.cpp.o CMakeFiles/DPIAdder.dir/DPIAdder/VAdder__Dpi.cpp.o CMakeFiles/DPIAdder.dir/DPIAdder/VAdder__Trace__0.cpp.o CMakeFiles/DPIAdder.dir/DPIAdder/VAdder__Syms.cpp.o CMakeFiles/DPIAdder.dir/DPIAdder/VAdder__Trace__0__Slow.cpp.o CMakeFiles/DPIAdder.dir/DPIAdder/VAdder__TraceDecls__0__Slow.cpp.o CMakeFiles/DPIAdder.dir/usr/local/share/verilator/include/verilated.cpp.o CMakeFiles/DPIAdder.dir/usr/local/share/verilator/include/verilated_dpi.cpp.o CMakeFiles/DPIAdder.dir/usr/local/share/verilator/include/verilated_fst_c.cpp.o CMakeFiles/DPIAdder.dir/usr/local/share/verilator/include/verilated_threads.cpp.o
/usr/bin/ranlib libDPIAdder.a
gmake[3]: 离开目录“/home/tom/openverify/veriwork/Adder/picker_out_adder/build”
[ 82%] Built target DPIAdder
/usr/bin/gmake -f CMakeFiles/dut_base.dir/build.make CMakeFiles/dut_base.dir/depend
/usr/bin/gmake -f CMakeFiles/Adder.dir/build.make CMakeFiles/Adder.dir/depend
gmake[3]: 进入目录“/home/tom/openverify/veriwork/Adder/picker_out_adder/build”
cd /home/tom/openverify/veriwork/Adder/picker_out_adder/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/tom/openverify/veriwork/Adder/picker_out_adder /home/tom/openverify/veriwork/Adder/picker_out_adder /home/tom/openverify/veriwork/Adder/picker_out_adder/build /home/tom/openverify/veriwork/Adder/picker_out_adder/build /home/tom/openverify/veriwork/Adder/picker_out_adder/build/CMakeFiles/dut_base.dir/DependInfo.cmake --color=
gmake[3]: 进入目录“/home/tom/openverify/veriwork/Adder/picker_out_adder/build”
cd /home/tom/openverify/veriwork/Adder/picker_out_adder/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/tom/openverify/veriwork/Adder/picker_out_adder /home/tom/openverify/veriwork/Adder/picker_out_adder /home/tom/openverify/veriwork/Adder/picker_out_adder/build /home/tom/openverify/veriwork/Adder/picker_out_adder/build /home/tom/openverify/veriwork/Adder/picker_out_adder/build/CMakeFiles/Adder.dir/DependInfo.cmake --color=
gmake[3]: 离开目录“/home/tom/openverify/veriwork/Adder/picker_out_adder/build”
gmake[3]: 离开目录“/home/tom/openverify/veriwork/Adder/picker_out_adder/build”
/usr/bin/gmake -f CMakeFiles/dut_base.dir/build.make CMakeFiles/dut_base.dir/build
/usr/bin/gmake -f CMakeFiles/Adder.dir/build.make CMakeFiles/Adder.dir/build
gmake[3]: 进入目录“/home/tom/openverify/veriwork/Adder/picker_out_adder/build”
gmake[3]: 进入目录“/home/tom/openverify/veriwork/Adder/picker_out_adder/build”
[ 91%] Building CXX object CMakeFiles/dut_base.dir/dut_base.cpp.o
[ 91%] Building CXX object CMakeFiles/Adder.dir/dut_base.cpp.o
/usr/lib/ccache/c++ -DUSE_VERILATOR -DVL_TRACE -I/usr/local/share/verilator/include -I/usr/local/share/verilator/include/vltstd -I/home/tom/openverify/veriwork/Adder/picker_out_adder/build/DPIAdder -fcoroutines -ftls-model=global-dynamic -std=gnu++20 -MD -MT CMakeFiles/dut_base.dir/dut_base.cpp.o -MF CMakeFiles/dut_base.dir/dut_base.cpp.o.d -o CMakeFiles/dut_base.dir/dut_base.cpp.o -c /home/tom/openverify/veriwork/Adder/picker_out_adder/dut_base.cpp
/usr/lib/ccache/c++ -DAdder_EXPORTS -DUSE_VERILATOR -DVL_TRACE -I/usr/local/share/verilator/include -I/usr/local/share/verilator/include/vltstd -I/home/tom/openverify/veriwork/Adder/picker_out_adder/build/DPIAdder -fcoroutines -ftls-model=global-dynamic -fPIC -std=gnu++20 -MD -MT CMakeFiles/Adder.dir/dut_base.cpp.o -MF CMakeFiles/Adder.dir/dut_base.cpp.o.d -o CMakeFiles/Adder.dir/dut_base.cpp.o -c /home/tom/openverify/veriwork/Adder/picker_out_adder/dut_base.cpp
[ 95%] Linking CXX shared library libUTAdder.so
[100%] Linking CXX static library libdut_base.a
/usr/bin/cmake -E cmake_link_script CMakeFiles/Adder.dir/link.txt --verbose=1
/usr/bin/cmake -P CMakeFiles/dut_base.dir/cmake_clean_target.cmake
/usr/lib/ccache/c++ -fPIC -fcoroutines -ftls-model=global-dynamic -shared -Wl,-soname,libUTAdder.so -o libUTAdder.so CMakeFiles/Adder.dir/dut_base.cpp.o -Wl,-rpath,"\$ORIGIN" -Wl,--whole-archive libDPIAdder.a -Wl,--no-whole-archive -ldl -lz -pthread -lpthread -latomic
/usr/bin/cmake -E cmake_link_script CMakeFiles/dut_base.dir/link.txt --verbose=1
/usr/bin/ar qc libdut_base.a CMakeFiles/dut_base.dir/dut_base.cpp.o
/usr/bin/ranlib libdut_base.a
gmake[3]: 离开目录“/home/tom/openverify/veriwork/Adder/picker_out_adder/build”
[100%] Built target dut_base
Copying Adder to /home/tom/openverify/veriwork/Adder/picker_out_adder/build/UT_Adder
/usr/bin/cmake -E copy /home/tom/openverify/veriwork/Adder/picker_out_adder/build/libUTAdder.so /home/tom/openverify/veriwork/Adder/picker_out_adder/build/UT_Adder
/usr/bin/cmake -E copy /home/tom/openverify/veriwork/Adder/picker_out_adder/build/libDPIAdder.a /home/tom/openverify/veriwork/Adder/picker_out_adder/build/UT_Adder
gmake[3]: 离开目录“/home/tom/openverify/veriwork/Adder/picker_out_adder/build”
[100%] Built target Adder
gmake[2]: 离开目录“/home/tom/openverify/veriwork/Adder/picker_out_adder/build”
/usr/bin/cmake -E cmake_progress_start /home/tom/openverify/veriwork/Adder/picker_out_adder/build/CMakeFiles 0
gmake[1]: 离开目录“/home/tom/openverify/veriwork/Adder/picker_out_adder/build”
make[1]: 进入目录“/home/tom/openverify/veriwork/Adder/picker_out_adder”
make[2]: 进入目录“/home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder”
cmake . -Bbuild
Re-run cmake no build system arguments
-- The C compiler identification is GNU 11.4.0
-- The CXX compiler identification is GNU 11.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/lib/ccache/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/lib/ccache/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for execinfo.h
-- Looking for execinfo.h - found
-- Performing Test COMPILER_SUPPORTS_CXX20
-- Performing Test COMPILER_SUPPORTS_CXX20 - Success
Find CMP0078, set it be NEW
Find CMP0086, set it be NEW
-- Found SWIG: /usr/bin/swig (found suitable version "4.2.1", minimum required is "4.2.0")
-- Found Python: /usr/bin/python3.10 (found version "3.10.12") found components: Interpreter Development Development.Module Development.Embed
-- Performing Test _faligned_new
-- Performing Test _faligned_new - Success
-- Performing Test _fbracket_depth_4096
-- Performing Test _fbracket_depth_4096 - Failed
-- Performing Test _fcf_protection_none
-- Performing Test _fcf_protection_none - Success
-- Performing Test _mno_cet
-- Performing Test _mno_cet - Failed
-- Performing Test _Qunused_arguments
-- Performing Test _Qunused_arguments - Failed
-- Performing Test _Wno_bool_operation
-- Performing Test _Wno_bool_operation - Success
-- Performing Test _Wno_c__11_narrowing
-- Performing Test _Wno_c__11_narrowing - Success
-- Performing Test _Wno_constant_logical_operand
-- Performing Test _Wno_constant_logical_operand - Success
-- Performing Test _Wno_non_pod_varargs
-- Performing Test _Wno_non_pod_varargs - Success
-- Performing Test _Wno_overloaded_virtual
-- Performing Test _Wno_overloaded_virtual - Success
-- Performing Test _Wno_parentheses_equality
-- Performing Test _Wno_parentheses_equality - Success
-- Performing Test _Wno_shadow
-- Performing Test _Wno_shadow - Success
-- Performing Test _Wno_sign_compare
-- Performing Test _Wno_sign_compare - Success
-- Performing Test _Wno_tautological_bitwise_compare
-- Performing Test _Wno_tautological_bitwise_compare - Success
-- Performing Test _Wno_uninitialized
-- Performing Test _Wno_uninitialized - Success
-- Performing Test _Wno_unused_but_set_parameter
-- Performing Test _Wno_unused_but_set_parameter - Success
-- Performing Test _Wno_unused_but_set_variable
-- Performing Test _Wno_unused_but_set_variable - Success
-- Performing Test _Wno_unused_parameter
-- Performing Test _Wno_unused_parameter - Success
-- Performing Test _Wno_unused_variable
-- Performing Test _Wno_unused_variable - Success
-- Performing Test _mt
-- Performing Test _mt - Failed
-- Performing Test _pthread
-- Performing Test _pthread - Success
-- Performing Test _lpthread
-- Performing Test _lpthread - Success
-- Performing Test _latomic
-- Performing Test _latomic - Success
-- Configuring done
-- Generating done
-- Build files have been written to: /home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder/build
cmake --build build --config Debug --parallel `nproc`
gmake[3]: 进入目录“/home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder/build”
/usr/bin/cmake -S/home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder -B/home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder/build --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder/build/CMakeFiles /home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder/build//CMakeFiles/progress.marks
/usr/bin/gmake -f CMakeFiles/Makefile2 all
gmake[4]: 进入目录“/home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder/build”
/usr/bin/gmake -f CMakeFiles/UT_Adder_swig_compilation.dir/build.make CMakeFiles/UT_Adder_swig_compilation.dir/depend
gmake[5]: 进入目录“/home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder/build”
cd /home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder /home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder /home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder/build /home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder/build /home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder/build/CMakeFiles/UT_Adder_swig_compilation.dir/DependInfo.cmake --color=
Dependee "/home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder/build/CMakeFiles/UT_Adder_swig_compilation.dir/DependInfo.cmake" is newer than depender "/home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder/build/CMakeFiles/UT_Adder_swig_compilation.dir/depend.internal".
Dependee "/home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder/build/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder/build/CMakeFiles/UT_Adder_swig_compilation.dir/depend.internal".
Scanning dependencies of target UT_Adder_swig_compilation
gmake[5]: 离开目录“/home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder/build”
/usr/bin/gmake -f CMakeFiles/UT_Adder_swig_compilation.dir/build.make CMakeFiles/UT_Adder_swig_compilation.dir/build
gmake[5]: 进入目录“/home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder/build”
[ 33%] Swig compile dut.i for python
/usr/bin/cmake -E make_directory /home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder/build/CMakeFiles/UT_Adder.dir /home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder/build /home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder/build/_pyswig
/usr/bin/cmake -E touch /home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder/build/CMakeFiles/UT_Adder.dir/dutPYTHON.stamp
/usr/bin/cmake -E env SWIG_LIB=/usr/share/swig/4.2.1 /usr/bin/swig -python -c++ -outdir /home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder/build -c++ -interface _UT_Adder -I/home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder/. -I/usr/include/python3.10 -I/usr/local/share/verilator/include -I/usr/local/share/verilator/include/vltstd -I/home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder -o /home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder/build/_pyswig/dutPYTHON_wrap.cxx /home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder/dut.i
gmake[5]: 离开目录“/home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder/build”
[ 33%] Built target UT_Adder_swig_compilation
/usr/bin/gmake -f CMakeFiles/UT_Adder.dir/build.make CMakeFiles/UT_Adder.dir/depend
gmake[5]: 进入目录“/home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder/build”
cd /home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder /home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder /home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder/build /home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder/build /home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder/build/CMakeFiles/UT_Adder.dir/DependInfo.cmake --color=
gmake[5]: 离开目录“/home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder/build”
/usr/bin/gmake -f CMakeFiles/UT_Adder.dir/build.make CMakeFiles/UT_Adder.dir/build
gmake[5]: 进入目录“/home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder/build”
[ 66%] Building CXX object CMakeFiles/UT_Adder.dir/_pyswig/dutPYTHON_wrap.cxx.o
/usr/lib/ccache/c++ -DENABLE_XCOROUTINE=true -DHAVE_EXECINFO_H -DUSE_VERILATOR -DUT_Adder_EXPORTS -DXSPCOMM_VERSION=\"0.0.1\" -I/home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder/. -I/usr/include/python3.10 -I/usr/local/share/verilator/include -I/usr/local/share/verilator/include/vltstd -I/home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder -std=c++20 -fcoroutines -ftls-model=global-dynamic -fPIC -std=gnu++20 -MD -MT CMakeFiles/UT_Adder.dir/_pyswig/dutPYTHON_wrap.cxx.o -MF CMakeFiles/UT_Adder.dir/_pyswig/dutPYTHON_wrap.cxx.o.d -o CMakeFiles/UT_Adder.dir/_pyswig/dutPYTHON_wrap.cxx.o -c /home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder/build/_pyswig/dutPYTHON_wrap.cxx
[100%] Linking CXX shared module _UT_Adder.so
/usr/bin/cmake -E cmake_link_script CMakeFiles/UT_Adder.dir/link.txt --verbose=1
/usr/lib/ccache/c++ -fPIC -std=c++20 -fcoroutines -ftls-model=global-dynamic "-Wl,-rpath=~/.local/lib" -Wl,-rpath=/usr/local/lib -shared -o _UT_Adder.so CMakeFiles/UT_Adder.dir/_pyswig/dutPYTHON_wrap.cxx.o -Wl,-rpath,"\$ORIGIN:/home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder" ../libUTAdder.so -lxspcomm -ldl
gmake[5]: 离开目录“/home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder/build”
[100%] Built target UT_Adder
gmake[4]: 离开目录“/home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder/build”
/usr/bin/cmake -E cmake_progress_start /home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder/build/CMakeFiles 0
gmake[3]: 离开目录“/home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder/build”
INFO: Shared DPI Library Path: /home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder/libUTAdder.so
INFO: Using main namespace
--------------Comple Success Test Step DUT--------------------
INFO: Shared DPI Library Path: /home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder/libUTAdder.so
INFO: Using main namespace
--------------------------------------------------------------
All complete
make[2]: 离开目录“/home/tom/openverify/veriwork/Adder/picker_out_adder/UT_Adder”
make[1]: 离开目录“/home/tom/openverify/veriwork/Adder/picker_out_adder”
tom@linuxtom:~/openverify/veriwork/Adder/picker_out_adder$
之后,注意需要替换 example.py
中的内容,才能保证 example 示例项目按预期运行。
在 picker_out_adder
目录下执行 python example.py
命令,即可运行测试。在测试完成后我们即可看到 example 示例项目的输出。波形文件会被保存在 Adder.fst
中。
//教程给出的参考
[...]
[cycle 114513] a=0x6defb0918b94495d, b=0x72348b453ae6a7a8, cin=0x0
DUT: sum=0xe0243bd6c67af105, cout=0x0
REF: sum=0xe0243bd6c67af105, cout=0x0
[cycle 114514] a=0x767fa8cbfd6bbfdc, b=0x4486aa3a9b29719a, cin=0x1
DUT: sum=0xbb06530698953177, cout=0x0
REF: sum=0xbb06530698953177, cout=0x0
Test Passed, destroy UTAdder
[cycle 114514] a=0x4e40acded5cbf5d, b=0x1ff4cd38b9147357, cin=0x1
DUT: sum=0x24d8d806a67132b5, cout=0x0
REF: sum=0x24d8d806a67132b5, cout=0x0
Traceback (most recent call last):
File "/home/tom/openverify/veriwork/Adder/picker_out_adder/example.py", line 58, in <module>
main()
File "/home/tom/openverify/veriwork/Adder/picker_out_adder/example.py", line 54, in main
dut.finalize() # 必须显式调用finalize方法,否则会导致内存泄漏,并无法生成波形和覆盖率
AttributeError: 'DUTAdder' object has no attribute 'finalize'
这个错误信息表明 `DUTAdder` 类的实例(对象)没有 `finalize` 方法。下面是解决此问题的一些可能步骤和建议:
### 1. 检查 `DUTAdder` 类定义
首先,打开 `example.py` 文件,找到 `DUTAdder` 类的定义,确认该类是否确实定义了 `finalize` 方法。例如:
```python
class DUTAdder:
def __init__(self):
# 初始化方法# 确保这里有一个 finalize 方法
def finalize(self):
# finalize 方法的实现
```如果 `DUTAdder` 类中没有 `finalize` 方法,你需要根据代码的逻辑添加该方法,或者确认你是否使用了错误的类。
### 2. 检查 `DUTAdder` 的父类
如果 `DUTAdder` 类是从某个父类继承而来,确保父类中也有 `finalize` 方法。例如:
```python
class BaseDUT:
def finalize(self):
# 实现父类的 finalize 方法class DUTAdder(BaseDUT):
def __init__(self):
# 初始化方法
```### 3. 调用正确的方法
确认在 `main` 函数中调用 `finalize` 是否是正确的。如果你想要调用其他方法来最终化对象,检查是否有其他方法实现了类似的功能。
### 4. 检查拼写错误
确保在调用 `finalize` 方法时,没有拼写错误。如果你在其他地方定义了该方法,但调用时拼写不一致,也会导致这个错误。
### 5. 查找其他文档或示例
如果 `DUTAdder` 是第三方库的一部分,那么查阅该库的文档或示例代码,确认该类的正确用法和可用方法。
### 6. 示例修复
假设你发现 `DUTAdder` 的确是从某个父类 `BaseDUT` 继承而来且父类中有 `finalize` 方法,但是在子类中却没有重写,如果你确定需要调用的 `finalize` 方法是父类的,可以直接创建对象并调用它:
```python
class DUTAdder(BaseDUT):
def __init__(self):
super().__init__()
# 其他初始化代码def main():
dut = DUTAdder()
# 其他代码
dut.finalize() # 确保这里可以调用到 finalize 方法
```通过以上步骤,你应该能找到并解决这个 `AttributeError` 的原因。如果仍有问题,建议查看完整的类定义和相关代码进行调试。
根据提供的代码及错误信息,这个 `example.py` 文件中存在对 `finalize` 方法的调用,但`DUTAdder` 类并没有该方法的实现。这是导致 `AttributeError` 的主要原因。
### 如何修复这个问题
1. **检查 `DUTAdder` 类的实现**:
确认 `UT_Adder` 模块中 `DUTAdder` 类是否定义了一个 `finalize` 方法。如果没有,你需要根据代码的要求自行添加一个,或确认想要的行为到底是否应该由该方法来实现。2. **实现 `finalize` 方法**:
如果 `DUTAdder` 类没有 `finalize` 方法,那么你可以添加一个类似如下的实现(根据你的实际需求调整):```python
class DUTAdder:
def __init__(self):
# 初始设置def finalize(self):
# 清理资源,防止内存泄漏
print("Finalizing DUTAdder, releasing resources.")
# 具体的清理操作
```3. **如果是基类**:
检查是否有其他继承的基类提供了 `finalize` 方法,如果有,确保 `DUTAdder` 类继承了这个基类。4. **调用合适的清理方法**:
如果在 `DUTAdder` 中根本不需要 `finalize` 方法,但你仍然想在测试结束时进行一些清理工作,确保在 `finalize` 方法中添加适当的逻辑,或者直接从 `main` 方法中去掉 `finalize` 调用。### 修改后的代码示例
假设你决定在 `DUTAdder` 类中添加一个 `finalize` 方法,代码修改如下:
```python
# UT_Adder.py
class DUTAdder:
def __init__(self):
# 初始化代码
passdef finalize(self):
# 清理代码
print("Finalizing DUTAdder, releasing resources.")# example.py
from UT_Adder import *
import randomclass input_t:
def __init__(self, a, b, cin):
self.a = a
self.b = b
self.cin = cinclass output_t:
def __init__(self):
self.sum = 0
self.cout = 0def random_int():
return random.randint(-(2**63), 2**63 - 1) & ((1 << 63) - 1)def as_uint(x, nbits):
return x & ((1 << nbits) - 1)def main():
dut = DUTAdder()
print("Initialized UTAdder")for c in range(114514):
i = input_t(random_int(), random_int(), random_int() & 1)
o_dut, o_ref = output_t(), output_t()def dut_cal():
dut.a.value, dut.b.value, dut.cin.value = i.a, i.b, i.cin
dut.Step(1)
o_dut.sum = dut.sum.value
o_dut.cout = dut.cout.valuedef ref_cal():
sum = as_uint(i.a + i.b, 64)
carry = sum < i.a
sum += i.cin
carry = carry or sum < i.cin
o_ref.sum, o_ref.cout = sum, carrydut_cal()
ref_cal()print(f"[cycle {dut.xclock.clk}] a=0x{i.a:x}, b=0x{i.b:x}, cin=0x{i.cin:x} ")
print(f"DUT: sum=0x{o_dut.sum:x}, cout=0x{o_dut.cout:x}")
print(f"REF: sum=0x{o_ref.sum:x}, cout=0x{o_ref.cout:x}")assert o_dut.sum == o_ref.sum, "sum mismatch"
dut.finalize() # 确保此调用现在有效
print("Test Passed, destroy UTAdder")if __name__ == "__main__":
main()
```### 最后
确保在你的 `DUTAdder` 类或者其相关基类中实现了有效的 `finalize` 方法后,这个错误便可以被解决。确保遵循相应清理和资源释放的步骤,以免造成内存泄漏等问题。
当然可以!以下是一个示例 `example.py` 文件的完整源代码,其中包括一个需要显式调用 `finalize` 方法的 `DUTAdder` 类。此示例实现了基本的加法器功能,并在程序结束时显式调用 `finalize` 方法来清理资源。
```python
import random# 确保 DUTAdder 定义在这里
class DUTAdder:
def __init__(self):
# 初始化状态
self.a = 0
self.b = 0
self.cin = 0
self.sum = 0
self.cout = 0def Step(self, cycles):
# 模拟一个时钟周期
for _ in range(cycles):
self.sum = (self.a + self.b + self.cin) & 0xFFFFFFFFFFFFFFFF # 64位加法
self.cout = int(self.sum < self.a or self.sum < self.b or self.sum < self.cin)def finalize(self):
# 清理资源,防止内存泄漏
print("Finalizing DUTAdder, releasing resources.")class InputT:
def __init__(self, a, b, cin):
self.a = a
self.b = b
self.cin = cinclass OutputT:
def __init__(self):
self.sum = 0
self.cout = 0def random_int():
return random.randint(-(2**63), 2**63 - 1) & ((1 << 63) - 1)def as_uint(x, nbits):
return x & ((1 << nbits) - 1)def main():
dut = DUTAdder()
print("Initialized DUTAdder")for _ in range(10): # 进行十次测试
i = InputT(random_int(), random_int(), random.randint(0, 1)) # 随机输入
o_dut, o_ref = OutputT(), OutputT()# DUT 计算
dut.a, dut.b, dut.cin = i.a, i.b, i.cin
dut.Step(1)
o_dut.sum = dut.sum
o_dut.cout = dut.cout# 参考计算
sum_ref = as_uint(i.a + i.b, 64)
carry_ref = sum_ref < i.a
sum_ref += i.cin
carry_ref = carry_ref or sum_ref < i.cino_ref.sum, o_ref.cout = sum_ref, carry_ref
print(f"[Input] a=0x{i.a:x}, b=0x{i.b:x}, cin=0x{i.cin:x}")
print(f"[DUT Output] sum=0x{o_dut.sum:x}, cout=0x{o_dut.cout:x}")
print(f"[REF Output] sum=0x{o_ref.sum:x}, cout=0x{o_ref.cout:x}")# 确保输出一致
assert o_dut.sum == o_ref.sum, "Sum mismatch"
assert o_dut.cout == o_ref.cout, "Carry out mismatch"# 显式调用 finalize 方法
dut.finalize()
print("Test completed, resources cleaned up.")if __name__ == "__main__":
main()
```### 代码说明
- **DUTAdder**: 该类实现了一个简单的 64 位加法器,提供 `Step` 方法以模拟加法计算。
- **InputT 和 OutputT**: 这些类分别用于输入和输出数据的封装。
- **random_int**: 生成 64 位范围内的随机整数。
- **as_uint**: 确保计算结果符合无符号整数的处理。
- **main 函数**: 主运行函数,初始化 `DUTAdder` 并进行多次加法运算。在每次运算之后,还会进行输出的比较来验证结果的正确性。最后明确调用 `finalize` 方法以释放资源。此代码提供了基本的测试逻辑,你可以根据需要扩展或调整测试次数和其他参数。
from…import * 语句与 import 区别菜鸟教程-笔记详情页面..https://www.runoob.com/note/26325
看完这章之后对这个 from…import * 语句与 import 区别很是疑惑从别处看完解释理解如下。
首先你要了解 import 与 from…import 的区别。
- import 模块:导入一个模块;注:相当于导入的是一个文件夹,是个相对路径。
- from…import:导入了一个模块中的一个函数;注:相当于导入的是一个文件夹中的文件,是个绝对路径。
所以使用上的的区别是当引用文件时是:
import //模块.函数 from…import // 直接使用函数名使用就可以了所以
from…import *:是把一个模块中所有函数都导入进来; 注:相当于:相当于导入的是一个文件夹中所有文件,所有函数都是绝对路径。
结论:
from…import *语句与import区别在于:
import 导入模块,每次使用模块中的函数都要是定是哪个模块。
from…import * 导入模块,每次使用模块中的函数,直接使用函数就可以了;注因为已经知道该函数是那个模块中的了。
你提供的 `DUTAdder` 类的代码结构整体上看起来是合理的,但为了确保该类正确实现并能有效管理资源,以下是一些潜在的问题和修改建议,供你参考:
### 1. **类和方法的注释**:
增加明确的文档字符串(docstring)以描述类及其方法。这可以提高代码的可读性和可维护性。### 2. **DPI 绑定的错误处理**:
在绑定 DPI 指针时,应该检查是否成功执行操作,以避免可能的未处理异常。### 3. **事件和资源管理**:
确保在 `__del__` 方法中适当释放事件和任何其他资源,避免在对象销毁时出现未释放资源的问题。### 4. **初始化参数**:
在初始化时没有检查 `*args` 是否为空,如果未传入任何参数可能导致 `DutUnifiedBase` 初始化失败。### 5. **无用模块的引用**:
确保代码中只引用必要的模块,确认 `xsp` 和 `DutUnifiedBase` 在代码中的来源。### 最终代码示例
在这里,我将应用上述建议,进行代码的修改和注释。```python
class DUTAdder(object):
"""
DUTAdder class for managing the DUT (Design Under Test)
with input pins for a, b, cin and output pins for sum and cout.
"""def __init__(self, *args, **kwargs):
"""
Initialize the DUTAdder instance.
Parameters:
*args: Arguments passed to the DutUnifiedBase constructor.
**kwargs: Additional keyword arguments (optional)
- waveform_filename: Filename for waveform output.
- coverage_filename: Filename for coverage output.
"""
self.dut = DutUnifiedBase(*args)
self.xclock = xsp.XClock(self.dut.simStep)
self.xport = xsp.XPort()
self.xclock.Add(self.xport)
self.event = self.xclock.getEvent()# Set output files if provided
if kwargs.get("waveform_filename"):
self.dut.SetWaveform(kwargs.get("waveform_filename"))
if kwargs.get("coverage_filename"):
self.dut.SetCoverage(kwargs.get("coverage_filename"))# Initialize Pins
self.a = xsp.XPin(xsp.XData(64, xsp.XData.In), self.event)
self.b = xsp.XPin(xsp.XData(64, xsp.XData.In), self.event)
self.cin = xsp.XPin(xsp.XData(0, xsp.XData.In), self.event)
self.sum = xsp.XPin(xsp.XData(64, xsp.XData.Out), self.event)
self.cout = xsp.XPin(xsp.XData(0, xsp.XData.Out), self.event)# Bind DPI
try:
self.a.BindDPIPtr(self.dut.GetDPIHandle("a", 0), self.dut.GetDPIHandle("a", 1))
self.b.BindDPIPtr(self.dut.GetDPIHandle("b", 0), self.dut.GetDPIHandle("b", 1))
self.cin.BindDPIPtr(self.dut.GetDPIHandle("cin", 0), self.dut.GetDPIHandle("cin", 1))
self.sum.BindDPIPtr(self.dut.GetDPIHandle("sum", 0), self.dut.GetDPIHandle("sum", 1))
self.cout.BindDPIPtr(self.dut.GetDPIHandle("cout", 0), self.dut.GetDPIHandle("cout", 1))
except Exception as e:
print(f"Error binding DPI pointers: {e}")# Add pins to the port
self.xport.Add("a", self.a.xdata)
self.xport.Add("b", self.b.xdata)
self.xport.Add("cin", self.cin.xdata)
self.xport.Add("sum", self.sum.xdata)
self.xport.Add("cout", self.cout.xdata)def __del__(self):
"""
Destructor to clean up resources.
"""
self.Finish()def Finish(self):
"""
Finish method to release resources and perform cleanup.
"""
# Perform any necessary cleanup actions here
print("Cleaning up DUTAdder resources.")
```### 代码说明
1. **文档字符串**:为类和方法添加了 docstring,以明确说明它们的功能。
2. **错误处理**:在绑定 DPI 指针时加入了错误处理以避免程序在运行时崩溃。
3. **资源管理**:在 `Finish` 方法内部可以实施具体的资源清理行为,并在析构函数中调用。请根据具体库和环境进行调整,确保代码能很好地与外部依赖(如 `xsp` 和 `DutUnifiedBase`)兼容。