Verwendeter Programmcode in Studienarbeit für ESY1B zum Thema "Verifikation mit SystemVerilog und Python"
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

sim.vvp 2.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. #! /usr/local/bin/vvp
  2. :ivl_version "12.0 (devel)" "(s20150603-1130-g1f8876be)";
  3. :ivl_delay_selection "TYPICAL";
  4. :vpi_time_precision - 12;
  5. :vpi_module "/usr/local/lib/ivl/system.vpi";
  6. :vpi_module "/usr/local/lib/ivl/vhdl_sys.vpi";
  7. :vpi_module "/usr/local/lib/ivl/vhdl_textio.vpi";
  8. :vpi_module "/usr/local/lib/ivl/v2005_math.vpi";
  9. :vpi_module "/usr/local/lib/ivl/va_math.vpi";
  10. :vpi_module "/usr/local/lib/ivl/v2009.vpi";
  11. S_0x55fb04b57e00 .scope package, "$unit" "$unit" 2 1;
  12. .timescale -9 -12;
  13. S_0x55fb04b57f90 .scope module, "counter" "counter" 3 5;
  14. .timescale -9 -12;
  15. .port_info 0 /INPUT 1 "clk";
  16. .port_info 1 /INPUT 1 "rst";
  17. .port_info 2 /INPUT 4 "data";
  18. .port_info 3 /INPUT 1 "updown";
  19. .port_info 4 /INPUT 1 "load";
  20. .port_info 5 /OUTPUT 4 "data_out";
  21. o0x7f9f460c2018 .functor BUFZ 1, C4<z>; HiZ drive
  22. v0x55fb04b7dc80_0 .net "clk", 0 0, o0x7f9f460c2018; 0 drivers
  23. o0x7f9f460c2048 .functor BUFZ 4, C4<zzzz>; HiZ drive
  24. v0x55fb04ba0930_0 .net "data", 3 0, o0x7f9f460c2048; 0 drivers
  25. v0x55fb04ba0a10_0 .var "data_out", 3 0;
  26. o0x7f9f460c20a8 .functor BUFZ 1, C4<z>; HiZ drive
  27. v0x55fb04ba0ad0_0 .net "load", 0 0, o0x7f9f460c20a8; 0 drivers
  28. o0x7f9f460c20d8 .functor BUFZ 1, C4<z>; HiZ drive
  29. v0x55fb04ba0b90_0 .net "rst", 0 0, o0x7f9f460c20d8; 0 drivers
  30. o0x7f9f460c2108 .functor BUFZ 1, C4<z>; HiZ drive
  31. v0x55fb04ba0ca0_0 .net "updown", 0 0, o0x7f9f460c2108; 0 drivers
  32. E_0x55fb04b905c0 .event posedge, v0x55fb04b7dc80_0;
  33. .scope S_0x55fb04b57f90;
  34. T_0 ;
  35. %wait E_0x55fb04b905c0;
  36. %load/vec4 v0x55fb04ba0b90_0;
  37. %flag_set/vec4 8;
  38. %jmp/0xz T_0.0, 8;
  39. %pushi/vec4 0, 0, 4;
  40. %assign/vec4 v0x55fb04ba0a10_0, 0;
  41. %jmp T_0.1;
  42. T_0.0 ;
  43. %load/vec4 v0x55fb04ba0ad0_0;
  44. %flag_set/vec4 8;
  45. %jmp/0xz T_0.2, 8;
  46. %load/vec4 v0x55fb04ba0930_0;
  47. %assign/vec4 v0x55fb04ba0a10_0, 0;
  48. %jmp T_0.3;
  49. T_0.2 ;
  50. %load/vec4 v0x55fb04ba0ca0_0;
  51. %flag_set/vec4 8;
  52. %jmp/0 T_0.4, 8;
  53. %load/vec4 v0x55fb04ba0a10_0;
  54. %addi 1, 0, 4;
  55. %jmp/1 T_0.5, 8;
  56. T_0.4 ; End of true expr.
  57. %load/vec4 v0x55fb04ba0a10_0;
  58. %subi 1, 0, 4;
  59. %jmp/0 T_0.5, 8;
  60. ; End of false expr.
  61. %blend;
  62. T_0.5;
  63. %assign/vec4 v0x55fb04ba0a10_0, 0;
  64. T_0.3 ;
  65. T_0.1 ;
  66. %jmp T_0;
  67. .thread T_0;
  68. .scope S_0x55fb04b57f90;
  69. T_1 ;
  70. %vpi_call/w 3 25 "$dumpfile", "dump.vcd" {0 0 0};
  71. %vpi_call/w 3 26 "$dumpvars", 32'sb00000000000000000000000000000001, S_0x55fb04b57f90 {0 0 0};
  72. %end;
  73. .thread T_1;
  74. # The file index is used to find the file name in the following table.
  75. :file_names 4;
  76. "N/A";
  77. "<interactive>";
  78. "-";
  79. "/home/sim/ice40/cocotb/examples/4-bit-counter/tests/../hdl/counter.sv";