CommonEvaluationPlatform / CEP

The Common Evaluation Platform (CEP), based on UCB's Chipyard Framework, is an SoC design that contains only license-unencumbered, freely available components.
BSD 3-Clause "New" or "Revised" License
20 stars 6 forks source link

How to produce a VCD file when running Verilator with CEP 4.5 #39

Open jordankrim opened 6 days ago

jordankrim commented 6 days ago

In CEP v4.4 one could add -v my.vcd to the simulator binary invocation with Verilator. Now I need to debug a hanging baremetal test in CE#P v4.5, but when I try to add that parameter, it gives an error that the -v parameter is not valid. If that is the case, how can I produce a VCD with Verilator?

jordankrim commented 6 days ago

OK. I forgot to add the --debug parameter to the verilator invocation, but when I do I get this failure where as without the --debug it compiles fine: /mnt/data/projects/avalon/jkrim/cep_v4_5_test_perl/CEP/.conda-env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: warning: libboost_regex.so.1.66.0, needed by /mnt/data/projects/avalon/jkrim/cep_v4_5_test_perl/CEP/.conda-env/riscv-tools/lib/libriscv.so, not found (try using -rpath or -rpath-link) /mnt/data/projects/avalon/jkrim/cep_v4_5_test_perl/CEP/.conda-env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: warning: libboost_system.so.1.66.0, needed by /mnt/data/projects/avalon/jkrim/cep_v4_5_test_perl/CEP/.conda-env/riscv-tools/lib/libriscv.so, not found (try using -rpath or -rpath-link) /mnt/data/projects/avalon/jkrim/cep_v4_5_test_perl/CEP/.conda-env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /mnt/data/projects/avalon/jkrim/cep_v4_5_test_perl/CEP/.conda-env/riscv-tools/lib/libriscv.so: undefined reference to boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::maybe_assign(boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&)' /mnt/data/projects/avalon/jkrim/cep_v4_5_test_perl/CEP/.conda-env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /mnt/data/projects/avalon/jkrim/cep_v4_5_test_perl/CEP/.conda-env/riscv-tools/lib/libriscv.so: undefined reference toboost::re_detail_106600::verify_options(unsigned int, boost::regex_constants::_match_flags)' /mnt/data/projects/avalon/jkrim/cep_v4_5_test_perl/CEP/.conda-env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /mnt/data/projects/avalon/jkrim/cep_v4_5_test_perl/CEP/.conda-env/riscv-tools/lib/libriscv.so: undefined reference to boost::re_detail_106600::get_default_error_string(boost::regex_constants::error_type)' /mnt/data/projects/avalon/jkrim/cep_v4_5_test_perl/CEP/.conda-env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /mnt/data/projects/avalon/jkrim/cep_v4_5_test_perl/CEP/.conda-env/riscv-tools/lib/libriscv.so: undefined reference toboost::re_detail_106600::raise_runtime_error(std::runtime_error const&)' /mnt/data/projects/avalon/jkrim/cep_v4_5_test_perl/CEP/.conda-env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /mnt/data/projects/avalon/jkrim/cep_v4_5_test_perl/CEP/.conda-env/riscv-tools/lib/libriscv.so: undefined reference to boost::re_detail_106600::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags)' /mnt/data/projects/avalon/jkrim/cep_v4_5_test_perl/CEP/.conda-env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /mnt/data/projects/avalon/jkrim/cep_v4_5_test_perl/CEP/.conda-env/riscv-tools/lib/libriscv.so: undefined reference toboost::re_detail_106600::put_mem_block(void)' /mnt/data/projects/avalon/jkrim/cep_v4_5_test_perl/CEP/.conda-env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /mnt/data/projects/avalon/jkrim/cep_v4_5_test_perl/CEP/.conda-env/riscv-tools/lib/libriscv.so: undefined reference to boost::system::system_category()' /mnt/data/projects/avalon/jkrim/cep_v4_5_test_perl/CEP/.conda-env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /mnt/data/projects/avalon/jkrim/cep_v4_5_test_perl/CEP/.conda-env/riscv-tools/lib/libriscv.so: undefined reference toboost::cpp_regex_traits::toi(char const&, char const, int) const' /mnt/data/projects/avalon/jkrim/cep_v4_5_test_perl/CEP/.conda-env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /mnt/data/projects/avalon/jkrim/cep_v4_5_test_perl/CEP/.conda-env/riscv-tools/lib/libriscv.so: undefined reference to boost::re_detail_106600::get_mem_block()' /mnt/data/projects/avalon/jkrim/cep_v4_5_test_perl/CEP/.conda-env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /mnt/data/projects/avalon/jkrim/cep_v4_5_test_perl/CEP/.conda-env/riscv-tools/lib/libriscv.so: undefined reference toboost::re_detail_106600::cpp_regex_traits_implementation::transform_primary[abi:cxx11](char const, char const) const' /mnt/data/projects/avalon/jkrim/cep_v4_5_test_perl/CEP/.conda-env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /mnt/data/projects/avalon/jkrim/cep_v4_5_test_perl/CEP/.conda-env/riscv-tools/lib/libriscv.so: undefined reference to boost::system::generic_category()' /mnt/data/projects/avalon/jkrim/cep_v4_5_test_perl/CEP/.conda-env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /mnt/data/projects/avalon/jkrim/cep_v4_5_test_perl/CEP/.conda-env/riscv-tools/lib/libriscv.so: undefined reference toboost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits > >::do_assign(char const, char const, unsigned int)' /mnt/data/projects/avalon/jkrim/cep_v4_5_test_perl/CEP/.conda-env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /mnt/data/projects/avalon/jkrim/cep_v4_5_test_perl/CEP/.conda-env/riscv-tools/lib/libriscv.so: undefined reference to `boost::re_detail_106600::cpp_regex_traits_implementation::transform[abi:cxx11](char const, char const*) const' /mnt/data/projects/avalon/jkrim/cep_v4_5_test_perl/CEP/.conda-env/bin/../lib/gcc/x86_64-conda-linux-gnu/12.2.0/../../../../x86_64-conda-linux-gnu/bin/ld: /mnt/data/projects/avalon/jkrim/cep_v4_5_test_perl/CEP/.conda-env/riscv-tools/lib/libriscv.so: undefined reference to `statx@GLIBC_2.28' collect2: error: ld returned 1 exit status make[1]: [VTestDriver.mk:93: /mnt/data/projects/avalon/jkrim/cep_v4_5_test_perl2/CEP/sims/verilator/simulator-chipyard.harness-CEPVerilatorRocketConfig] Error 1 rm VTestDriver__ALL.verilator_deplist.tmp make[1]: Leaving directory '/mnt/data/projects/avalon/jkrim/cep_v4_5_test_perl2/CEP/sims/verilator/generated-src/chipyard.harness.TestHarness.CEPVerilatorRocketConfig/chipyard.harness.TestHarness.CEPVerilatorRocketConfig' make: [Makefile:247: /mnt/data/projects/avalon/jkrim/cep_v4_5_test_perl2/CEP/sims/verilator/simulator-chipyard.harness-CEPVerilatorRocketConfig] Error 2

jordankrim commented 4 days ago

The --debug should not be necessary to produce a VCD file, so still doesn't work.