#! /home/ge45vuq/bin/bin/vvp :ivl_version "13.0 (devel)" "(s20221226-498-g52d049b51)"; :ivl_delay_selection "TYPICAL"; :vpi_time_precision - 12; :vpi_module "/home/ge45vuq/bin/lib/ivl/system.vpi"; :vpi_module "/home/ge45vuq/bin/lib/ivl/vhdl_sys.vpi"; :vpi_module "/home/ge45vuq/bin/lib/ivl/vhdl_textio.vpi"; :vpi_module "/home/ge45vuq/bin/lib/ivl/v2005_math.vpi"; :vpi_module "/home/ge45vuq/bin/lib/ivl/va_math.vpi"; :vpi_module "/home/ge45vuq/bin/lib/ivl/v2009.vpi"; S_0x55a8c6df2e40 .scope package, "$unit" "$unit" 2 1; .timescale 0 0; S_0x55a8c6df2fd0 .scope module, "testbench" "testbench" 3 2; .timescale -9 -12; v0x55a8c6e1f0c0_0 .var "amount", 1 0; v0x55a8c6e1f1a0_0 .var "clk", 0 0; v0x55a8c6e1f270_0 .var "data", 63 0; v0x55a8c6e1f370_0 .var "ena", 0 0; v0x55a8c6e1f440_0 .var/i "file", 31 0; v0x55a8c6e1f530_0 .var "load", 0 0; v0x55a8c6e1f5d0_0 .net "q", 63 0, v0x55a8c6e1ef20_0; 1 drivers v0x55a8c6e1f6a0_0 .var/i "scenario", 31 0; S_0x55a8c6dfd350 .scope module, "DUT" "top_module" 3 12, 4 1 0, S_0x55a8c6df2fd0; .timescale -9 -12; .port_info 0 /INPUT 1 "clk"; .port_info 1 /INPUT 1 "load"; .port_info 2 /INPUT 1 "ena"; .port_info 3 /INPUT 2 "amount"; .port_info 4 /INPUT 64 "data"; .port_info 5 /OUTPUT 64 "q"; v0x55a8c6dcb1b0_0 .net "amount", 1 0, v0x55a8c6e1f0c0_0; 1 drivers v0x55a8c6dcb250_0 .net "clk", 0 0, v0x55a8c6e1f1a0_0; 1 drivers v0x55a8c6e1ec90_0 .net "data", 63 0, v0x55a8c6e1f270_0; 1 drivers v0x55a8c6e1ed50_0 .net "ena", 0 0, v0x55a8c6e1f370_0; 1 drivers v0x55a8c6e1ee10_0 .net "load", 0 0, v0x55a8c6e1f530_0; 1 drivers v0x55a8c6e1ef20_0 .var "q", 63 0; .scope S_0x55a8c6df2fd0; T_0 ; %pushi/vec4 0, 0, 1; %store/vec4 v0x55a8c6e1f1a0_0, 0, 1; T_0.0 ; %delay 5000, 0; %load/vec4 v0x55a8c6e1f1a0_0; %inv; %store/vec4 v0x55a8c6e1f1a0_0, 0, 1; %jmp T_0.0; T_0.1 ; %end; .thread T_0; .scope S_0x55a8c6df2fd0; T_1 ; %vpi_func 3 27 "$fopen" 32, "TBout.txt", "w" {0 0 0}; %store/vec4 v0x55a8c6e1f440_0, 0, 32; %end; .thread T_1; .scope S_0x55a8c6df2fd0; T_2 ; %pushi/vec4 1, 0, 32; %store/vec4 v0x55a8c6e1f6a0_0, 0, 32; %pushi/vec4 1, 0, 1; %store/vec4 v0x55a8c6e1f530_0, 0, 1; %pushi/vec4 0, 0, 1; %store/vec4 v0x55a8c6e1f370_0, 0, 1; %pushi/vec4 0, 0, 2; %store/vec4 v0x55a8c6e1f0c0_0, 0, 2; %pushi/vec4 2863311530, 0, 32; %concati/vec4 2863311530, 0, 32; %store/vec4 v0x55a8c6e1f270_0, 0, 64; %vpi_call/w 3 37 "$fdisplay", v0x55a8c6e1f440_0, "scenario: %d, clk = %d, load = %d, ena = %d, amount = %d, data = %d, q = %d", v0x55a8c6e1f6a0_0, v0x55a8c6e1f1a0_0, v0x55a8c6e1f530_0, v0x55a8c6e1f370_0, v0x55a8c6e1f0c0_0, v0x55a8c6e1f270_0, v0x55a8c6e1f5d0_0 {0 0 0}; %delay 10000, 0; %vpi_call/w 3 39 "$fdisplay", v0x55a8c6e1f440_0, "[check]scenario: %d, clk = %d, load = %d, ena = %d, amount = %d, data = %d, q = %d", v0x55a8c6e1f6a0_0, v0x55a8c6e1f1a0_0, v0x55a8c6e1f530_0, v0x55a8c6e1f370_0, v0x55a8c6e1f0c0_0, v0x55a8c6e1f270_0, v0x55a8c6e1f5d0_0 {0 0 0}; %delay 10000, 0; %pushi/vec4 2, 0, 32; %store/vec4 v0x55a8c6e1f6a0_0, 0, 32; %pushi/vec4 0, 0, 1; %store/vec4 v0x55a8c6e1f530_0, 0, 1; %pushi/vec4 1, 0, 1; %store/vec4 v0x55a8c6e1f370_0, 0, 1; %vpi_call/w 3 45 "$fdisplay", v0x55a8c6e1f440_0, "scenario: %d, clk = %d, load = %d, ena = %d, amount = %d, data = %d, q = %d", v0x55a8c6e1f6a0_0, v0x55a8c6e1f1a0_0, v0x55a8c6e1f530_0, v0x55a8c6e1f370_0, v0x55a8c6e1f0c0_0, v0x55a8c6e1f270_0, v0x55a8c6e1f5d0_0 {0 0 0}; %delay 10000, 0; %pushi/vec4 0, 0, 2; %store/vec4 v0x55a8c6e1f0c0_0, 0, 2; %vpi_call/w 3 47 "$fdisplay", v0x55a8c6e1f440_0, "scenario: %d, clk = %d, load = %d, ena = %d, amount = %d, data = %d, q = %d", v0x55a8c6e1f6a0_0, v0x55a8c6e1f1a0_0, v0x55a8c6e1f530_0, v0x55a8c6e1f370_0, v0x55a8c6e1f0c0_0, v0x55a8c6e1f270_0, v0x55a8c6e1f5d0_0 {0 0 0}; %delay 10000, 0; %vpi_call/w 3 49 "$fdisplay", v0x55a8c6e1f440_0, "[check]scenario: %d, clk = %d, load = %d, ena = %d, amount = %d, data = %d, q = %d", v0x55a8c6e1f6a0_0, v0x55a8c6e1f1a0_0, v0x55a8c6e1f530_0, v0x55a8c6e1f370_0, v0x55a8c6e1f0c0_0, v0x55a8c6e1f270_0, v0x55a8c6e1f5d0_0 {0 0 0}; %delay 10000, 0; %pushi/vec4 3, 0, 32; %store/vec4 v0x55a8c6e1f6a0_0, 0, 32; %pushi/vec4 1, 0, 2; %store/vec4 v0x55a8c6e1f0c0_0, 0, 2; %vpi_call/w 3 54 "$fdisplay", v0x55a8c6e1f440_0, "scenario: %d, clk = %d, load = %d, ena = %d, amount = %d, data = %d, q = %d", v0x55a8c6e1f6a0_0, v0x55a8c6e1f1a0_0, v0x55a8c6e1f530_0, v0x55a8c6e1f370_0, v0x55a8c6e1f0c0_0, v0x55a8c6e1f270_0, v0x55a8c6e1f5d0_0 {0 0 0}; %delay 10000, 0; %vpi_call/w 3 56 "$fdisplay", v0x55a8c6e1f440_0, "[check]scenario: %d, clk = %d, load = %d, ena = %d, amount = %d, data = %d, q = %d", v0x55a8c6e1f6a0_0, v0x55a8c6e1f1a0_0, v0x55a8c6e1f530_0, v0x55a8c6e1f370_0, v0x55a8c6e1f0c0_0, v0x55a8c6e1f270_0, v0x55a8c6e1f5d0_0 {0 0 0}; %delay 10000, 0; %pushi/vec4 4, 0, 32; %store/vec4 v0x55a8c6e1f6a0_0, 0, 32; %pushi/vec4 2, 0, 2; %store/vec4 v0x55a8c6e1f0c0_0, 0, 2; %vpi_call/w 3 61 "$fdisplay", v0x55a8c6e1f440_0, "scenario: %d, clk = %d, load = %d, ena = %d, amount = %d, data = %d, q = %d", v0x55a8c6e1f6a0_0, v0x55a8c6e1f1a0_0, v0x55a8c6e1f530_0, v0x55a8c6e1f370_0, v0x55a8c6e1f0c0_0, v0x55a8c6e1f270_0, v0x55a8c6e1f5d0_0 {0 0 0}; %delay 10000, 0; %vpi_call/w 3 63 "$fdisplay", v0x55a8c6e1f440_0, "[check]scenario: %d, clk = %d, load = %d, ena = %d, amount = %d, data = %d, q = %d", v0x55a8c6e1f6a0_0, v0x55a8c6e1f1a0_0, v0x55a8c6e1f530_0, v0x55a8c6e1f370_0, v0x55a8c6e1f0c0_0, v0x55a8c6e1f270_0, v0x55a8c6e1f5d0_0 {0 0 0}; %delay 10000, 0; %pushi/vec4 5, 0, 32; %store/vec4 v0x55a8c6e1f6a0_0, 0, 32; %pushi/vec4 3, 0, 2; %store/vec4 v0x55a8c6e1f0c0_0, 0, 2; %vpi_call/w 3 68 "$fdisplay", v0x55a8c6e1f440_0, "scenario: %d, clk = %d, load = %d, ena = %d, amount = %d, data = %d, q = %d", v0x55a8c6e1f6a0_0, v0x55a8c6e1f1a0_0, v0x55a8c6e1f530_0, v0x55a8c6e1f370_0, v0x55a8c6e1f0c0_0, v0x55a8c6e1f270_0, v0x55a8c6e1f5d0_0 {0 0 0}; %delay 10000, 0; %vpi_call/w 3 70 "$fdisplay", v0x55a8c6e1f440_0, "[check]scenario: %d, clk = %d, load = %d, ena = %d, amount = %d, data = %d, q = %d", v0x55a8c6e1f6a0_0, v0x55a8c6e1f1a0_0, v0x55a8c6e1f530_0, v0x55a8c6e1f370_0, v0x55a8c6e1f0c0_0, v0x55a8c6e1f270_0, v0x55a8c6e1f5d0_0 {0 0 0}; %delay 10000, 0; %pushi/vec4 6, 0, 32; %store/vec4 v0x55a8c6e1f6a0_0, 0, 32; %pushi/vec4 0, 0, 1; %store/vec4 v0x55a8c6e1f370_0, 0, 1; %vpi_call/w 3 75 "$fdisplay", v0x55a8c6e1f440_0, "scenario: %d, clk = %d, load = %d, ena = %d, amount = %d, data = %d, q = %d", v0x55a8c6e1f6a0_0, v0x55a8c6e1f1a0_0, v0x55a8c6e1f530_0, v0x55a8c6e1f370_0, v0x55a8c6e1f0c0_0, v0x55a8c6e1f270_0, v0x55a8c6e1f5d0_0 {0 0 0}; %delay 10000, 0; %pushi/vec4 0, 0, 2; %store/vec4 v0x55a8c6e1f0c0_0, 0, 2; %vpi_call/w 3 77 "$fdisplay", v0x55a8c6e1f440_0, "scenario: %d, clk = %d, load = %d, ena = %d, amount = %d, data = %d, q = %d", v0x55a8c6e1f6a0_0, v0x55a8c6e1f1a0_0, v0x55a8c6e1f530_0, v0x55a8c6e1f370_0, v0x55a8c6e1f0c0_0, v0x55a8c6e1f270_0, v0x55a8c6e1f5d0_0 {0 0 0}; %delay 10000, 0; %vpi_call/w 3 79 "$fdisplay", v0x55a8c6e1f440_0, "[check]scenario: %d, clk = %d, load = %d, ena = %d, amount = %d, data = %d, q = %d", v0x55a8c6e1f6a0_0, v0x55a8c6e1f1a0_0, v0x55a8c6e1f530_0, v0x55a8c6e1f370_0, v0x55a8c6e1f0c0_0, v0x55a8c6e1f270_0, v0x55a8c6e1f5d0_0 {0 0 0}; %delay 10000, 0; %pushi/vec4 7, 0, 32; %store/vec4 v0x55a8c6e1f6a0_0, 0, 32; %pushi/vec4 1, 0, 1; %store/vec4 v0x55a8c6e1f530_0, 0, 1; %pushi/vec4 0, 0, 1; %store/vec4 v0x55a8c6e1f370_0, 0, 1; %pushi/vec4 2863311530, 0, 33; %concati/vec4 1431655765, 0, 31; %store/vec4 v0x55a8c6e1f270_0, 0, 64; %vpi_call/w 3 86 "$fdisplay", v0x55a8c6e1f440_0, "scenario: %d, clk = %d, load = %d, ena = %d, amount = %d, data = %d, q = %d", v0x55a8c6e1f6a0_0, v0x55a8c6e1f1a0_0, v0x55a8c6e1f530_0, v0x55a8c6e1f370_0, v0x55a8c6e1f0c0_0, v0x55a8c6e1f270_0, v0x55a8c6e1f5d0_0 {0 0 0}; %delay 10000, 0; %vpi_call/w 3 88 "$fdisplay", v0x55a8c6e1f440_0, "[check]scenario: %d, clk = %d, load = %d, ena = %d, amount = %d, data = %d, q = %d", v0x55a8c6e1f6a0_0, v0x55a8c6e1f1a0_0, v0x55a8c6e1f530_0, v0x55a8c6e1f370_0, v0x55a8c6e1f0c0_0, v0x55a8c6e1f270_0, v0x55a8c6e1f5d0_0 {0 0 0}; %delay 10000, 0; %pushi/vec4 8, 0, 32; %store/vec4 v0x55a8c6e1f6a0_0, 0, 32; %pushi/vec4 1, 0, 1; %store/vec4 v0x55a8c6e1f530_0, 0, 1; %pushi/vec4 4294967295, 0, 32; %concati/vec4 4294967295, 0, 32; %store/vec4 v0x55a8c6e1f270_0, 0, 64; %vpi_call/w 3 94 "$fdisplay", v0x55a8c6e1f440_0, "scenario: %d, clk = %d, load = %d, ena = %d, amount = %d, data = %d, q = %d", v0x55a8c6e1f6a0_0, v0x55a8c6e1f1a0_0, v0x55a8c6e1f530_0, v0x55a8c6e1f370_0, v0x55a8c6e1f0c0_0, v0x55a8c6e1f270_0, v0x55a8c6e1f5d0_0 {0 0 0}; %delay 10000, 0; %pushi/vec4 1, 0, 1; %store/vec4 v0x55a8c6e1f370_0, 0, 1; %pushi/vec4 0, 0, 1; %store/vec4 v0x55a8c6e1f530_0, 0, 1; %pushi/vec4 0, 0, 2; %store/vec4 v0x55a8c6e1f0c0_0, 0, 2; %vpi_call/w 3 99 "$fdisplay", v0x55a8c6e1f440_0, "scenario: %d, clk = %d, load = %d, ena = %d, amount = %d, data = %d, q = %d", v0x55a8c6e1f6a0_0, v0x55a8c6e1f1a0_0, v0x55a8c6e1f530_0, v0x55a8c6e1f370_0, v0x55a8c6e1f0c0_0, v0x55a8c6e1f270_0, v0x55a8c6e1f5d0_0 {0 0 0}; %delay 10000, 0; %vpi_call/w 3 101 "$fdisplay", v0x55a8c6e1f440_0, "[check]scenario: %d, clk = %d, load = %d, ena = %d, amount = %d, data = %d, q = %d", v0x55a8c6e1f6a0_0, v0x55a8c6e1f1a0_0, v0x55a8c6e1f530_0, v0x55a8c6e1f370_0, v0x55a8c6e1f0c0_0, v0x55a8c6e1f270_0, v0x55a8c6e1f5d0_0 {0 0 0}; %delay 10000, 0; %pushi/vec4 9, 0, 32; %store/vec4 v0x55a8c6e1f6a0_0, 0, 32; %pushi/vec4 1, 0, 1; %store/vec4 v0x55a8c6e1f530_0, 0, 1; %pushi/vec4 2147483648, 0, 32; %concati/vec4 0, 0, 32; %store/vec4 v0x55a8c6e1f270_0, 0, 64; %vpi_call/w 3 107 "$fdisplay", v0x55a8c6e1f440_0, "scenario: %d, clk = %d, load = %d, ena = %d, amount = %d, data = %d, q = %d", v0x55a8c6e1f6a0_0, v0x55a8c6e1f1a0_0, v0x55a8c6e1f530_0, v0x55a8c6e1f370_0, v0x55a8c6e1f0c0_0, v0x55a8c6e1f270_0, v0x55a8c6e1f5d0_0 {0 0 0}; %delay 10000, 0; %pushi/vec4 0, 0, 1; %store/vec4 v0x55a8c6e1f530_0, 0, 1; %pushi/vec4 1, 0, 1; %store/vec4 v0x55a8c6e1f370_0, 0, 1; %pushi/vec4 2, 0, 2; %store/vec4 v0x55a8c6e1f0c0_0, 0, 2; %vpi_call/w 3 112 "$fdisplay", v0x55a8c6e1f440_0, "scenario: %d, clk = %d, load = %d, ena = %d, amount = %d, data = %d, q = %d", v0x55a8c6e1f6a0_0, v0x55a8c6e1f1a0_0, v0x55a8c6e1f530_0, v0x55a8c6e1f370_0, v0x55a8c6e1f0c0_0, v0x55a8c6e1f270_0, v0x55a8c6e1f5d0_0 {0 0 0}; %delay 10000, 0; %vpi_call/w 3 114 "$fdisplay", v0x55a8c6e1f440_0, "[check]scenario: %d, clk = %d, load = %d, ena = %d, amount = %d, data = %d, q = %d", v0x55a8c6e1f6a0_0, v0x55a8c6e1f1a0_0, v0x55a8c6e1f530_0, v0x55a8c6e1f370_0, v0x55a8c6e1f0c0_0, v0x55a8c6e1f270_0, v0x55a8c6e1f5d0_0 {0 0 0}; %delay 10000, 0; %pushi/vec4 3, 0, 2; %store/vec4 v0x55a8c6e1f0c0_0, 0, 2; %vpi_call/w 3 116 "$fdisplay", v0x55a8c6e1f440_0, "scenario: %d, clk = %d, load = %d, ena = %d, amount = %d, data = %d, q = %d", v0x55a8c6e1f6a0_0, v0x55a8c6e1f1a0_0, v0x55a8c6e1f530_0, v0x55a8c6e1f370_0, v0x55a8c6e1f0c0_0, v0x55a8c6e1f270_0, v0x55a8c6e1f5d0_0 {0 0 0}; %delay 10000, 0; %vpi_call/w 3 118 "$fdisplay", v0x55a8c6e1f440_0, "[check]scenario: %d, clk = %d, load = %d, ena = %d, amount = %d, data = %d, q = %d", v0x55a8c6e1f6a0_0, v0x55a8c6e1f1a0_0, v0x55a8c6e1f530_0, v0x55a8c6e1f370_0, v0x55a8c6e1f0c0_0, v0x55a8c6e1f270_0, v0x55a8c6e1f5d0_0 {0 0 0}; %delay 10000, 0; %pushi/vec4 10, 0, 32; %store/vec4 v0x55a8c6e1f6a0_0, 0, 32; %pushi/vec4 0, 0, 1; %store/vec4 v0x55a8c6e1f530_0, 0, 1; %pushi/vec4 0, 0, 2; %store/vec4 v0x55a8c6e1f0c0_0, 0, 2; %vpi_call/w 3 124 "$fdisplay", v0x55a8c6e1f440_0, "scenario: %d, clk = %d, load = %d, ena = %d, amount = %d, data = %d, q = %d", v0x55a8c6e1f6a0_0, v0x55a8c6e1f1a0_0, v0x55a8c6e1f530_0, v0x55a8c6e1f370_0, v0x55a8c6e1f0c0_0, v0x55a8c6e1f270_0, v0x55a8c6e1f5d0_0 {0 0 0}; %delay 10000, 0; %pushi/vec4 3, 0, 32; T_2.0 %dup/vec4; %pushi/vec4 0, 0, 32; %cmp/s; %jmp/1xz T_2.1, 5; %jmp/1 T_2.1, 4; %pushi/vec4 1, 0, 32; %sub; %vpi_call/w 3 126 "$fdisplay", v0x55a8c6e1f440_0, "[check]scenario: %d, clk = %d, load = %d, ena = %d, amount = %d, data = %d, q = %d", v0x55a8c6e1f6a0_0, v0x55a8c6e1f1a0_0, v0x55a8c6e1f530_0, v0x55a8c6e1f370_0, v0x55a8c6e1f0c0_0, v0x55a8c6e1f270_0, v0x55a8c6e1f5d0_0 {0 0 0}; %delay 10000, 0; %jmp T_2.0; T_2.1 ; %pop/vec4 1; %pushi/vec4 11, 0, 32; %store/vec4 v0x55a8c6e1f6a0_0, 0, 32; %pushi/vec4 1, 0, 1; %store/vec4 v0x55a8c6e1f530_0, 0, 1; %pushi/vec4 0, 0, 1; %store/vec4 v0x55a8c6e1f370_0, 0, 1; %pushi/vec4 2443359172, 0, 35; %concati/vec4 448585456, 0, 29; %store/vec4 v0x55a8c6e1f270_0, 0, 64; %vpi_call/w 3 134 "$fdisplay", v0x55a8c6e1f440_0, "scenario: %d, clk = %d, load = %d, ena = %d, amount = %d, data = %d, q = %d", v0x55a8c6e1f6a0_0, v0x55a8c6e1f1a0_0, v0x55a8c6e1f530_0, v0x55a8c6e1f370_0, v0x55a8c6e1f0c0_0, v0x55a8c6e1f270_0, v0x55a8c6e1f5d0_0 {0 0 0}; %delay 10000, 0; %vpi_call/w 3 136 "$fdisplay", v0x55a8c6e1f440_0, "[check]scenario: %d, clk = %d, load = %d, ena = %d, amount = %d, data = %d, q = %d", v0x55a8c6e1f6a0_0, v0x55a8c6e1f1a0_0, v0x55a8c6e1f530_0, v0x55a8c6e1f370_0, v0x55a8c6e1f0c0_0, v0x55a8c6e1f270_0, v0x55a8c6e1f5d0_0 {0 0 0}; %vpi_call/w 3 138 "$fclose", v0x55a8c6e1f440_0 {0 0 0}; %vpi_call/w 3 139 "$finish" {0 0 0}; %end; .thread T_2; # The file index is used to find the file name in the following table. :file_names 5; "N/A"; ""; "-"; "shift18_tb.v"; "shift18.v";