Euvm library setup / testbench simulation with iverilog

Hi All,

I setup euvm testbench and simulation with icarus.
Here is setup, simulation and debugging history

  1. Download euvm-1.0-beta9.tar.xz & euvm-1.0-beta9-arm-linux-gnueabihf.tar.xz

  2. Extract and install
    console> tar xf euvm-1.0-beta9.tar.xz
    console> tar xf euvm-1.0-beta9-arm-linux-gnueabihf.tar.xz
    console> cd euvm-1.0-beta9/utils
    console> ./setup.sh

  3. If you don’t install GLIBC_2.14 and GLBICXX_3.4.21 on your machine, you will meet following errors.
    …/utils/patchelf: /lib64/libc.so.6: version GLIBC_2.14' not found (required by ../utils/patchelf) ../utils/patchelf: /usr/lib64/libstdc++.so.6: version GLIBCXX_3.4.21’ not found (required by …/utils/patchelf)
    …/utils/patchelf: /lib64/libc.so.6: version GLIBC_2.14' not found (required by ../utils/patchelf) ../utils/patchelf: /usr/lib64/libstdc++.so.6: version GLIBCXX_3.4.21’ not found (required by …/utils/patchelf)
    …/utils/patchelf: /lib64/libc.so.6: version GLIBC_2.14' not found (required by ../utils/patchelf) ../utils/patchelf: /usr/lib64/libstdc++.so.6: version GLIBCXX_3.4.21’ not found (required by …/utils/patchelf)
    …/utils/patchelf: /lib64/libc.so.6: version GLIBC_2.14' not found (required by ../utils/patchelf) ../utils/patchelf: /usr/lib64/libstdc++.so.6: version GLIBCXX_3.4.21’ not found (required by …/utils/patchelf)
    …/utils/patchelf: /lib64/libc.so.6: version GLIBC_2.14' not found (required by ../utils/patchelf) ../utils/patchelf: /usr/lib64/libstdc++.so.6: version GLIBCXX_3.4.21’ not found (required by …/utils/patchelf)
    …/utils/patchelf: /lib64/libc.so.6: version GLIBC_2.14' not found (required by ../utils/patchelf) ../utils/patchelf: /usr/lib64/libstdc++.so.6: version GLIBCXX_3.4.21’ not found (required by …/utils/patchelf)
    …/utils/patchelf: /lib64/libc.so.6: version GLIBC_2.14' not found (required by ../utils/patchelf) ../utils/patchelf: /usr/lib64/libstdc++.so.6: version GLIBCXX_3.4.21’ not found (required by …/utils/patchelf)
    …/utils/patchelf: /lib64/libc.so.6: version GLIBC_2.14' not found (required by ../utils/patchelf) ../utils/patchelf: /usr/lib64/libstdc++.so.6: version GLIBCXX_3.4.21’ not found (required by …/utils/patchelf)
    …/utils/patchelf: /lib64/libc.so.6: version GLIBC_2.14' not found (required by ../utils/patchelf) ../utils/patchelf: /usr/lib64/libstdc++.so.6: version GLIBCXX_3.4.21’ not found (required by …/utils/patchelf)
    …/utils/patchelf: /lib64/libc.so.6: version GLIBC_2.14' not found (required by ../utils/patchelf) ../utils/patchelf: /usr/lib64/libstdc++.so.6: version GLIBCXX_3.4.21’ not found (required by …/utils/patchelf)
    …/utils/patchelf: /lib64/libc.so.6: version GLIBC_2.14' not found (required by ../utils/patchelf) ../utils/patchelf: /usr/lib64/libstdc++.so.6: version GLIBCXX_3.4.21’ not found (required by …/utils/patchelf)
    …/utils/patchelf: /lib64/libc.so.6: version GLIBC_2.14' not found (required by ../utils/patchelf) ../utils/patchelf: /usr/lib64/libstdc++.so.6: version GLIBCXX_3.4.21’ not found (required by …/utils/patchelf)
    Now add the following line to your …bashrc file:
    PATH=/user/…/euvm-1.0-beta9/bin:${PATH]

  4. To resolve above “`GLIBC_2.14’ not found” errors, I upgraded machine’s OS version RHEL6 to RHEL7

  5. And to reslove “`GLIBCXX_3.4.21’ not found” errors, install gcc 5.3 and set your environment variable $path with gcc53/bin and $LD_LIBRARY_PATH with gcc53/lib, gcc53/lib64 on your machine.

  6. console>./setup.sh

  7. If there is no error, you will meet following log.
    Now add the following line to your …bashrc file:
    PATH=/user/…/euvm-1.0-beta9/bin:${PATH]
    this messages are just print, ignore it.

  8. install iverilog & gtkwave

  9. download euvm testbench
    console>git clone https://github.com/uvm/avmm_sha3.git

  10. compile & run simulation
    console>cd sim
    console>make run

  11. In simulation, displayed following log on your console and created avmm_sha3.vcd file.

vvp -M. -mavmm_sha3 avmm_sha3.vvp +UVM_TESTNAME=avmm_sha3.random_test # +UVM_OBJECTION_TRACE # +UVM_VERBOSITY=DEBUG
UVM_INFO uvm/base/uvm_root.d(1281) @ 0: reporter [UVM/RELNOTES]
*********** IMPORTANT RELEASE NOTES ************

This implementation of the UVM Library deviates from the 1800.2-2017
standard. See the DEVIATIONS.md file contained in the release
for more details.


Accellera:1800.2-2017:UVM:1.0

All copyright owners for this kit are listed in NOTICE.txt
All Rights Reserved Worldwide

(Specify +UVM_NO_RELNOTES to turn off this notice)

UVM_INFO uvm/base/uvm_root.d(386) @ 0: reporter [RNTST] Running test avmm_sha3.random_test…
VCD info: dumpfile avmm_sha3.vcd opened for output.
UVM_INFO …/testbench/avmm_sha3.d(470) @ 13320000: uvm_test_top.env.scoreboard [MATCHED] [163, 109, 177, 40, 222, 25, 41, 155, 43, 62, 198, 236, 191, 199, 147, 203, 228, 27, 75, 11, 134, 109, 109, 77, 119, 152, 209, 125, 135, 146, 202, 39, 45, 121, 148, 252, 221, 8, 63, 220, 81, 177, 198, 51, 14, 241, 82, 132]: expected
[163, 109, 177, 40, 222, 25, 41, 155, 43, 62, 198, 236, 191, 199, 147, 203, 228, 27, 75, 11, 134, 109, 109, 77, 119, 152, 209, 125, 135, 146, 202, 39, 45, 121, 148, 252, 221, 8, 63, 220, 81, 177, 198, 51, 14, 241, 82, 132]: actual
UVM_INFO …/testbench/avmm_sha3.d(470) @ 20800000: uvm_test_top.env.scoreboard [MATCHED] [51, 179, 131, 54, 143, 229, 84, 98, 197, 222, 149, 224, 144, 24, 233, 164, 194, 153, 2, 206, 36, 214, 107, 112, 50, 160, 91, 42, 247, 52, 39, 114, 22, 152, 253, 85, 7, 129, 72, 79, 31, 207, 199, 72, 70, 62, 97, 63]: expected

UVM_INFO uvm/base/uvm_report_catcher.d(749) @ 798480000: reporter [UVM/REPORT/CATCHER]
— UVM Report catcher Summary —

Number of demoted UVM_FATAL reports : 0
Number of demoted UVM_ERROR reports : 0
Number of demoted UVM_WARNING reports: 0
Number of caught UVM_FATAL reports : 0
Number of caught UVM_ERROR reports : 0
Number of caught UVM_WARNING reports : 0

UVM_INFO uvm/base/uvm_report_server.d(961) @ 798480000: reporter [UVM/REPORT/SERVER]
— UVM Report Summary —

** Report counts by severity
UVM_INFO : 102
UVM_FATAL : 0
UVM_ERROR : 0
UVM_WARNING : 0
** Report counts by id
[MATCHED] 99
[UVM/RELNOTES] 1
[UVM/REPORT/CATCHER] 1
[RNTST] 1

  1. run gtkwave
    console> gtkwave avmm_sha3.vcd &

Thanks
Chan