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并加载你想要渲染的模型。在右侧的属性编辑器中,找到并点击“渲染属…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...
[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?
论文网址:pdf 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...
React19源码系列之 事件插件系统
事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...
Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级
在互联网的快速发展中,高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司,近期做出了一个重大技术决策:弃用长期使用的 Nginx,转而采用其内部开发…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中,新增了一个本地验证码接口 /code,使用函数式路由(RouterFunction)和 Hutool 的 Circle…...
华为OD机考-机房布局
import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...
LRU 缓存机制详解与实现(Java版) + 力扣解决
📌 LRU 缓存机制详解与实现(Java版) 一、📖 问题背景 在日常开发中,我们经常会使用 缓存(Cache) 来提升性能。但由于内存有限,缓存不可能无限增长,于是需要策略决定&am…...
