picker 构建记录
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 maindut.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`)兼容。
相关文章:
picker 构建记录
picker 构建记录 tomlinuxtom:~/openverify/picker$ cd picker bash: cd: picker: 没有那个文件或目录 tomlinuxtom:~/openverify/picker$ export BUILD_XSPCOMM_SWIGpython tomlinuxtom:~/openverify/picker$ make rm -rf temp build /home/tom/Tools/verible-v0.0-3724/bin/…...
Docker部署kafka,Docker所在宿主机以外主机访问
# 安装启动zookeeper docker run -d --name zookeeper --publish 2181:2181 --volume /etc/localtime:/etc/localtime zookeeper:latest --network 指定的网络 -p:设置映射端口(默认2181) -d:后台启动 # 启动kafka docker run -d…...
控制欲过强的Linux小进程
控制欲强?视奸?普通人那才叫视奸,您是皇帝,天下大事无一逃过您的耳目,您想看什么就看什么,臣怀疑他在朋友圈私养兵士,囤积枪甲,蓄意谋反,图谋皇位啊! 哈哈哈哈开个玩笑&…...
探讨元宇宙和VR虚拟现实之间的区别
在数字时代,人们对虚拟现实的兴趣与日俱增。在虚拟现实技术的推动下,出现了两个概念:元宇宙和VR虚拟现实。虽然这两个概念都与虚拟现实有关,但它们有着不同的特点和用途。在本文中,我们将探讨元宇宙和VR虚拟现实之间的…...
Docker Desktop安装
0 Preface/Foreward 1 安装 1.1 运行docker安装包 安装完Docker Desktop后,运行Docker Desktop,出现WSL 2安装不完整情况,具体情况如下: 解决方法:旧版 WSL 的手动安装步骤 | Microsoft Learn 也可以直接下载新的安…...
《Towards Black-Box Membership Inference Attack for Diffusion Models》论文笔记
《Towards Black-Box Membership Inference Attack for Diffusion Models》 Abstract 识别艺术品是否用于训练扩散模型的挑战,重点是人工智能生成的艺术品中的成员推断攻击——copyright protection不需要访问内部模型组件的新型黑盒攻击方法展示了在评估 DALL-E …...
vscode调试nextjs前端后端程序、nextjs api接口
最近有一个项目使用了nextjs框架,并且使用nextjs同时实现了前后端,由于之前前后端都是分离的,前端的调试可以通过在代码种添加debugger或者直接在浏览器中打断点实现,现在想调试后端接口,前面的方式就不适用了。故研究…...
《SeTformer Is What You Need for Vision and Language》
会议:AAAI 年份:2024 论文:DDAE: Towards Deep Dynamic Vision BERT Pretraining - AMinerhttps://www.aminer.cn/pub/6602613613fb2c6cf6c387c2/ddae-towards-deep-dynamic-vision-bert-pretraining 摘要 这篇论文介绍了一种新型的变换器…...
[保姆级教程]uniapp安装使用uViewUI教程
文章目录 创建 UniApp 项目下载uView UI下载安装方式步骤 1: 安装 uView UI步骤 2: 查看uView UI是否下载成功步骤 3: 引入 uView 主 JS 库步骤 4: 引入 uView 的全局 SCSS 主题文件步骤 5: 引入 uView 基础样式步骤 6: 配置 easycom 组件模式注意事项 NPM方式步骤 1: 安装 uVi…...
网络安全法规对企业做等保有哪些具体规定?
网络安全法规对企业做等保的具体规定 根据《中华人民共和国网络安全法》,企业作为网络运营者,需要履行网络安全等级保护制度的相关义务,确保网络安全和数据保护。具体规定包括: 网络安全等级保护制度:企业应根据网络安…...
Java开发中超好用Orika属性映射工具
Orika属性映射工具 引入pom依赖 <dependency><groupId>ma.glasnost.orika</groupId><artifactId>orika-core</artifactId><version>1.5.4</version></dependency>上干货 封装的工具类:OriUtilsimport ma.glasnost.orika.Map…...
qt初入门8:下拉框,输入框模糊查询,提示简单了解 (借助QCompleter)
实现一个简单的模糊查询的逻辑,输入框能提示相关项。 主要借助qt的QCompleter 类( Qt 框架中提供的一个用于自动补全和模糊搜索的类),结合一些控件,比如QComboBox和QLineEdit,实现模糊查询的功能。 1&…...
【qt】VS中如何配置Qt环境
https://download.qt.io/official_releases/vsaddin/ 首先需要下载一下vsaddin,上面的是下载的网站. 下载的时候可能会出现下图的情况 说明你下的vsaddin和您的VS版本不匹配,所以你可以多下几个其他版本的vsAddin,一般都是和你VS版本相匹配的才可以,如Vs2022,那就试试vsaddin2…...
对于相同网段的IP,部分无法ping通问题
现象1:在Linux上执行 ping 192.168.1.232,无法ping通 分析1:使用ifconfig查询,联网使用eth0口,只能上网192.168.10.xx网段,需要增加网段 解决方法:使用ip addr 查询,本身只具备10网…...
Unity发布XR中用于worldbuilding的全新电子书
通过身临其境的虚拟领域开始旅程,在维度之间传送,或将数字奇迹与现实世界融合——虚拟现实(VR)和混合现实(MR)的千万种可能性将邀请创作者把他们的想象力带入生活。 Unity发布的最新版综合指南将帮助有抱负的创作者和经验丰富的开发者深入研究和理解构建…...
Vue3相比于Vue2进行了哪些更新
1、响应式原理 vue2 vue2中采用 defineProperty 来劫持整个对象,然后进行深度遍历所有属性,给每个属性添加getter和setter,结合发布订阅模式实现响应式。 存在的问题: 检测不到对象属性的添加和删除数组API方法无法监听到需要对…...
Unity UGUI 之 Slider
本文仅作学习笔记与交流,不作任何商业用途 本文包括但不限于unity官方手册,唐老狮,麦扣教程知识,引用会标记,如有不足还请斧正 1.Slider是什么 滑块,由三部分组成:背景 填充条 手柄 填充条就是…...
这7款高效爬虫工具软件,非常实用!
在当今数据驱动的时代,自动化爬虫工具和软件成为了许多企业和个人获取数据的重要手段。这里会介绍6款功能强大、操作简便的自动化爬虫工具,用好了可以更高效地进行数据采集。 1. 八爪鱼采集器 八爪鱼是一款功能强大的桌面端爬虫软件,主打可…...
【OJ】二叉树相关OJ题
✨✨欢迎大家来到Celia的博客✨✨ 🎉🎉创作不易,请点赞关注,多多支持哦🎉🎉 所属专栏:OJ题 个人主页:Celias blog~ 目录 编辑 单值二叉树 题目描述 OJ-单值二叉树 解题思路 …...
Blender中保存透明图片
在Blender中保存透明图片,主要是通过在渲染设置中调整背景透明度,并选择合适的文件格式来保存图像。以下是一个详细的步骤指南: 一、设置渲染属性 打开Blender并加载你想要渲染的模型。在右侧的属性编辑器中,找到并点击“渲染属…...
MySQL之索引优化
1、在进行查询时,索引列不能是表达式的一部分,也不能是函数的参数,否则无法使用索引 例如下面的查询不能使用 actor_id 列的索引: #这是错误的 SELECT actor_id FROM sakila.actor WHERE actor_id 1 5; 优化方式:…...
Spring Boot 与 Amazon S3:快速上传与下载文件的完整指南
概要 在将 Spring Boot 更新到 3 系列时,由于 javax 需要被替换为 jakarta,因此原先依赖于 javax 的 spring-cloud-starter-aws1 将无法使用(虽然在我本地环境中仍然可以正常工作)。为了确保兼容性,我将依赖关系更改为…...
细节剖析:HTTP与HTTPS在安全性、性能等方面的不同!
HTTPS是现代互联网通信的重要基石,通过加密通信、身份验证和数据完整性保护,为数十亿用户提供了安全可靠的互联网体验。 小编整理了2GB程序员相关资料,关注微信公众号“程序员Style”回复“程序员”免费领取! 1、介绍 随着 HTT…...
MySQL面试篇章——MySQL索引
文章目录 MySQL 索引索引分类索引创建和删除索引的执行过程explain 查看执行计划explain 结果字段分析 索引的底层实现原理B-树B树哈希索引 聚集和非聚集索引MyISAM(\*.MYD,*.MYI)主键索引辅助索引(二级索引) InnoDB&a…...
WSL 2 Oracle Linux 9.1 安装配置
文章目录 环境使用体验安装 Oracle Linux 9.1修改默认存储路径默认 root 用户登录启用 systemd启用 SSH 连接WSL 无法 ping 通宿主机和域名WSL 使用主机代理(测试通过)WSL 常用命令 环境 OS:Win11 24H2 (OS 内部版本26120.1252) wsl --versio…...
MySQL日志文件详解
MySQL中的日志文件是MySQL数据库系统的重要组成部分,它们记录了数据库的运行情况、用户操作、错误信息等,对于数据库的维护、优化、故障排查和恢复都具有重要意义。以下是MySQL中几种主要日志文件的详解: 1. 二进制日志(Binary L…...
MySQL零散拾遗(三)
在mysql中,JOIN ON 和 WHERE 的作用和用法是怎么样的? 在MySQL中,JOIN语句用于将两个或多个表根据指定的关联条件合并成一个新的结果集。JOIN ON和WHERE子句在JOIN语句中扮演着不同的角色,它们的用法和作用如下: JOI…...
鸿蒙 使用 Refresh 实现下拉刷新
import promptAction from ohos.promptActionEntry Component struct Index {Staterefreshing: boolean falseStatelist: number[] Array(20).fill(Date.now())Buildercontent(){Stack(){Row(){LoadingProgress().height(32)Text(正在刷新...).fontSize(16).margin({left:20}…...
【JavaScript 算法】图的遍历:理解图的结构
🔥 个人主页:空白诗 文章目录 一、深度优先搜索(DFS)深度优先搜索的步骤深度优先搜索的JavaScript实现 二、广度优先搜索(BFS)广度优先搜索的步骤 三、应用场景四、总结 图的遍历是图论中的基本操作之一&am…...
Ubuntu 中默认的 root 用户密码
场景:想要切换root用户,发现得输入密码,以为是以前设置过然后一直尝试都是错误【认证失败】最后发现根本没设置过root用户,默认会随机生成root用户的密码😅 Ubuntu 中默认的 root 密码是随机的,即每次开机都…...
Rust编程-高级特性
unsafe:内存不安全 内存安全问题,例如空指针解引用 关键字unsafe来切换到不安全模式,并在被标记后的代码块中使用不安全代码 使用unsafe告诉编译器后面代码安全性自行负责 因为电脑硬件安全问题,必须编写可能不安全的代码 可以将…...
JavaRegexImprove练习(1) (2024.7.22)
ImproveExercise1 package RegexImprove20240722; import java.util.Scanner; public class ImproveExercise {public static void main(String[] args) {Scanner sc new Scanner(System.in);System.out.println("请输入一个字符串");String str sc.nextLine();//…...
基于YOLO模型的鸟类识别系统
鸟类识别在生物研究和保护中具有重要意义。本文将详细介绍如何使用YOLO(You Only Look Once)模型构建一个鸟类识别系统,包括UI界面、YOLOv8/v7/v6/v5代码以及训练数据集。 目录 2. 环境配置 2.1 安装Python和相关库 2.2 安装YOLO模型库 …...
WebRTC通话原理(SDP、STUN、 TURN、 信令服务器)
文章目录 1.媒体协商SDP简介 2.网络协商STUN的工作原理TURN工作原理 3.信令服务器信令服务器的主要功能信令服务器的实现方式 1.媒体协商 比如下面这个例子 A端与B端要想通信 A端视频采用VP8做解码,然后发送给B端,B端怎么解码? B端视频采用…...
面试场景题系列--(1)如果系统的 QPS 突然提升 10 倍该怎么设计?--xunznux
1. 如果系统的 QPS 突然提升 10 倍该怎么设计? 1.1 硬件的扩展微服务的拆分 如果所有的业务包括交易系统、会员信息、库存、商品等等都夹杂在一起,当流量一旦起来之后,单体架构的问题就暴露出来了,机器挂了所有的业务就全部无法…...
【数学建模】——前沿图与网络模型:新时代算法解析与应用
目录 1.图与网络的基本概念 1. 无向图和有向图 2. 简单图、完全图、赋权图 3. 顶点的度 4. 子图与图的连通性 2.图的矩阵表示 1. 关联矩阵 2. 邻接矩阵 3.最短路问题 1.Dijkstra 算法 2.Floyd 算法 4.最小生成树问题 1.Kruskal 算法 2.Prim 算法 5.着色问题 6.…...
视频分帧【截取图片】(YOLO目标检测【生成数据集】)
高效率制作数据集【按这个流程走,速度很顶】 本次制作,1059张图片【马路上流动车辆】 几乎就是全自动了,只要视频拍得好,YOLO辅助制作数据集就效率极高 视频中的图片抽取: 【由于视频内存过大,遇到报错执行…...
Redis7(二)Redis持久化双雄
持久化之RDB RDB的持久化方式是在指定时间间隔,执行数据集的时间点快照。也就是在指定的时间间隔将内存中的数据集快照写入磁盘,也就是Snapshot内存快照,它恢复时再将硬盘快照文件直接读回到内存里面。 RDB保存的是dump.rdb文件。 自动触发…...
发布支持TS的npm包
你现在有这么一个包,已经将他发布在npm上了,周下载量也还比较可观。美中不足的就是,这个包之前使用js写的,现在你想增加TS类型,提升用户使用体验,那么你现在可以做以下几个步骤 1.在你的包的根目录下创建一…...
计算机视觉9 全卷积网络
全卷积网络(Fully Convolutional Network,简称 FCN)在计算机视觉领域具有重要地位。 传统的卷积神经网络(CNN)在最后的输出层通常使用全连接层来进行分类任务。然而,全连接层会丢失空间信息,使得…...
02.C++入门基础(下)
1.函数重载 C支持在同一作用域中出现同名函数,但是要求这些同名函数的形参不同,可以是参数个数不同或者类型不同。这样C函数调用就表现出了多态行为,使用更灵活。C语言是不支持同一作用域中出现同名函数的。 1、参数类型不同 2、参数个数不同…...
【数据结构】探索排序的奥秘
若有不懂地方,可查阅我之前文章哦! 个人主页:小八哥向前冲~_csdn博客 所属专栏:数据结构_专栏 目录 排序的概念 几种排序方法介绍 冒泡排序 选择排序 插入排序 堆排序 向上调整建堆排序 向下调整建堆排序 希尔排序 快速…...
数据结构面试知识点总结3
#来自ウルトラマンティガ(迪迦) 1 线性表 最基本、最简单、最常用的一种数据结构。一个线性表是 n 个具有相同特性的数据元素的有限序列。 特征:数据元素之间是一对一的逻辑关系。 第一个数据元素没有前驱,称为头结点࿱…...
python-爬虫实例(5):将进酒,杯莫停!
目录 前言 将进酒,杯莫停! 一、浇给 二、前摇 1.导入selenium库 2.下载浏览器驱动 三、爬虫四步走 1.UA伪装 2.获取url 3.发送请求 4.获取响应数据进行解析并保存 总结 前言 博主身为一个农批,当然要尝试爬取王者荣耀的东西啦。 将进…...
AGI 之 【Hugging Face】 的【从零训练Transformer模型】之二 [ 从零训练一个模型 ] 的简单整理
AGI 之 【Hugging Face】 的【从零训练Transformer模型】之二 [ 从零训练一个模型 ] 的简单整理 目录 AGI 之 【Hugging Face】 的【从零训练Transformer模型】之二 [ 从零训练一个模型 ] 的简单整理 一、简单介绍 二、Transformer 1、模型架构 2、应用场景 3、Hugging …...
十大排序的稳定性和时间复杂度
十大排序算法的稳定性和时间复杂度是数据结构和算法中的重要内容。 以下是对这些算法的稳定性和时间复杂度的详细分析: 稳定性 稳定性指的是排序算法在排序过程中是否能够保持相等元素的原始相对顺序。根据这个定义,我们可以将排序算法分为稳定排序和…...
【系列教程之】1、点亮一个LED灯
1、点亮一个LED灯 作者将狼才鲸创建日期2024-07-23 CSDN教程目录地址:【目录】8051汇编与C语言系列教程本Gitee仓库原始地址:才鲸嵌入式/8051_c51_单片机从汇编到C_从Boot到应用实践教程 本源码包含C语言和汇编工程,能直接在电脑中通过Keil…...
搜维尔科技:Manus Metagloves使用精确的量子跟踪技术捕捉手部每一个细节动作
Manus Metagloves使用精确的量子跟踪技术捕捉手部每一个细节动作 搜维尔科技:Manus Metagloves使用精确的量子跟踪技术捕捉手部每一个细节动作...
机器学习 | 阿里云安全恶意程序检测
目录 一、数据探索1.1 数据说明1.2 训练集数据探索1.2.1 数据特征类型1.2.2 数据分布1.2.3 缺失值1.2.4 异常值1.2.5 标签分布探索 1.3 测试集探索1.3.1 数据信息1.3.2 缺失值1.3.3 数据分布1.3.4 异常值 1.4 数据集联合分析1.4.1 file_id 分析1.4.2 API 分析 二、特征工程与基…...
python打包exe文件-实现记录
1、使用pyinstaller库 安装库: pip install pyinstaller打包命令标注主入库程序: pyinstaller -F.\程序入口文件.py 出现了一个问题就是我在打包运行之后会出现有一些插件没有被打包。 解决问题: 通过添加--hidden-importcomtypes.strea…...