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.

tb_counter_4bit.vvp 3.0KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. #! /usr/local/bin/vvp
  2. :ivl_version "12.0 (devel)" "(s20150603-1130-g1f8876be)";
  3. :ivl_delay_selection "TYPICAL";
  4. :vpi_time_precision - 11;
  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. S_0x556346c658c0 .scope module, "tb_counter_4bit" "tb_counter_4bit" 2 1;
  11. .timescale -9 -11;
  12. v0x556346c77d30_0 .var "clk", 0 0;
  13. v0x556346c77df0_0 .var "data", 3 0;
  14. v0x556346c77ec0_0 .net "data_out", 3 0, v0x556346c77920_0; 1 drivers
  15. v0x556346c77fc0_0 .var "load", 0 0;
  16. v0x556346c78090_0 .var "rst", 0 0;
  17. v0x556346c78180_0 .var "updown", 0 0;
  18. S_0x556346c65a50 .scope module, "dut" "counter_4bit" 2 29, 3 8 0, S_0x556346c658c0;
  19. .timescale -9 -11;
  20. .port_info 0 /INPUT 1 "clk";
  21. .port_info 1 /INPUT 1 "rst";
  22. .port_info 2 /INPUT 4 "data";
  23. .port_info 3 /INPUT 1 "updown";
  24. .port_info 4 /INPUT 1 "load";
  25. .port_info 5 /OUTPUT 4 "data_out";
  26. v0x556346c51a80_0 .net "clk", 0 0, v0x556346c77d30_0; 1 drivers
  27. v0x556346c77840_0 .net "data", 3 0, v0x556346c77df0_0; 1 drivers
  28. v0x556346c77920_0 .var "data_out", 3 0;
  29. v0x556346c779e0_0 .net "load", 0 0, v0x556346c77fc0_0; 1 drivers
  30. v0x556346c77aa0_0 .net "rst", 0 0, v0x556346c78090_0; 1 drivers
  31. v0x556346c77bb0_0 .net "updown", 0 0, v0x556346c78180_0; 1 drivers
  32. E_0x556346c631d0 .event posedge, v0x556346c51a80_0;
  33. S_0x556346c518a0 .scope begin, "COUNTER_4BIT_CYCLE" "COUNTER_4BIT_CYCLE" 3 29, 3 29 0, S_0x556346c65a50;
  34. .timescale -9 -11;
  35. .scope S_0x556346c65a50;
  36. T_0 ;
  37. %wait E_0x556346c631d0;
  38. %fork t_1, S_0x556346c518a0;
  39. %jmp t_0;
  40. .scope S_0x556346c518a0;
  41. t_1 ;
  42. %load/vec4 v0x556346c77aa0_0;
  43. %flag_set/vec4 8;
  44. %jmp/0xz T_0.0, 8;
  45. %pushi/vec4 0, 0, 4;
  46. %assign/vec4 v0x556346c77920_0, 0;
  47. %jmp T_0.1;
  48. T_0.0 ;
  49. %load/vec4 v0x556346c779e0_0;
  50. %flag_set/vec4 8;
  51. %jmp/0xz T_0.2, 8;
  52. %load/vec4 v0x556346c77840_0;
  53. %assign/vec4 v0x556346c77920_0, 0;
  54. %jmp T_0.3;
  55. T_0.2 ;
  56. %load/vec4 v0x556346c77bb0_0;
  57. %flag_set/vec4 8;
  58. %jmp/0xz T_0.4, 8;
  59. %load/vec4 v0x556346c77920_0;
  60. %addi 1, 0, 4;
  61. %assign/vec4 v0x556346c77920_0, 0;
  62. %jmp T_0.5;
  63. T_0.4 ;
  64. %load/vec4 v0x556346c77920_0;
  65. %subi 1, 0, 4;
  66. %assign/vec4 v0x556346c77920_0, 0;
  67. T_0.5 ;
  68. T_0.3 ;
  69. T_0.1 ;
  70. %end;
  71. .scope S_0x556346c65a50;
  72. t_0 %join;
  73. %jmp T_0;
  74. .thread T_0;
  75. .scope S_0x556346c658c0;
  76. T_1 ;
  77. %vpi_call 2 13 "$from_myhdl", v0x556346c77d30_0, v0x556346c78090_0, v0x556346c77df0_0, v0x556346c78180_0, v0x556346c77fc0_0 {0 0 0};
  78. %vpi_call 2 20 "$to_myhdl", v0x556346c77ec0_0 {0 0 0};
  79. %vpi_call 2 25 "$dumpfile", "tb_counter_4bit.lxt" {0 0 0};
  80. %vpi_call 2 26 "$dumpvars", 32'sb00000000000000000000000000000000, S_0x556346c658c0 {0 0 0};
  81. %end;
  82. .thread T_1;
  83. # The file index is used to find the file name in the following table.
  84. :file_names 4;
  85. "N/A";
  86. "<interactive>";
  87. "tb_counter_4bit.v";
  88. "counter_4bit.v";