#! /usr/bin/vvp :ivl_version "12.0 (stable)"; :ivl_delay_selection "TYPICAL"; :vpi_time_precision + 0; :vpi_module "/usr/lib64/ivl/system.vpi"; :vpi_module "/usr/lib64/ivl/vhdl_sys.vpi"; :vpi_module "/usr/lib64/ivl/vhdl_textio.vpi"; :vpi_module "/usr/lib64/ivl/v2005_math.vpi"; :vpi_module "/usr/lib64/ivl/va_math.vpi"; S_0x562710cf28c0 .scope module, "pcIMemTB" "pcIMemTB" 2 1; .timescale 0 0; v0x562710d063a0_0 .var "clk", 0 0; v0x562710d06460_0 .net "instr", 31 0, L_0x562710d06a00; 1 drivers v0x562710d06500_0 .net "next_pc", 31 0, v0x562710d06080_0; 1 drivers v0x562710d06600_0 .net "pc", 31 0, v0x562710d06160_0; 1 drivers v0x562710d066d0_0 .var "rst", 0 0; S_0x562710cf2a50 .scope module, "dut" "pcIMem" 2 9, 3 1 0, S_0x562710cf28c0; .timescale 0 0; .port_info 0 /INPUT 1 "rst"; .port_info 1 /INPUT 1 "clk"; .port_info 2 /OUTPUT 32 "pc"; .port_info 3 /OUTPUT 32 "next_pc"; .port_info 4 /OUTPUT 32 "instr"; L_0x562710d06a00 .functor BUFZ 32, L_0x562710d067c0, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>; v0x562710cdff80_0 .net *"_ivl_0", 31 0, L_0x562710d067c0; 1 drivers v0x562710d05d10_0 .net *"_ivl_3", 29 0, L_0x562710d068c0; 1 drivers v0x562710d05df0_0 .net "clk", 0 0, v0x562710d063a0_0; 1 drivers v0x562710d05e90 .array "imem", 255 0, 31 0; v0x562710d05f50_0 .net "instr", 31 0, L_0x562710d06a00; alias, 1 drivers v0x562710d06080_0 .var "next_pc", 31 0; v0x562710d06160_0 .var "pc", 31 0; v0x562710d06240_0 .net "rst", 0 0, v0x562710d066d0_0; 1 drivers E_0x562710cf0790 .event posedge, v0x562710d05df0_0; L_0x562710d067c0 .array/port v0x562710d05e90, L_0x562710d068c0; L_0x562710d068c0 .part v0x562710d06160_0, 2, 30; .scope S_0x562710cf2a50; T_0 ; %wait E_0x562710cf0790; %load/vec4 v0x562710d06240_0; %flag_set/vec4 8; %jmp/0xz T_0.0, 8; %pushi/vec4 0, 0, 32; %assign/vec4 v0x562710d06160_0, 0; %jmp T_0.1; T_0.0 ; %load/vec4 v0x562710d06160_0; %assign/vec4 v0x562710d06080_0, 0; %load/vec4 v0x562710d06160_0; %addi 4, 0, 32; %assign/vec4 v0x562710d06160_0, 0; T_0.1 ; %jmp T_0; .thread T_0; .scope S_0x562710cf2a50; T_1 ; %vpi_call 3 25 "$readmemh", "program.hex", v0x562710d05e90 {0 0 0}; %end; .thread T_1; .scope S_0x562710cf28c0; T_2 ; %load/vec4 v0x562710d063a0_0; %inv; %store/vec4 v0x562710d063a0_0, 0, 1; %delay 2, 0; %jmp T_2; .thread T_2; .scope S_0x562710cf28c0; T_3 ; %vpi_call 2 22 "$dumpfile", "pcIMem.vcd" {0 0 0}; %vpi_call 2 23 "$dumpvars" {0 0 0}; %pushi/vec4 0, 0, 1; %store/vec4 v0x562710d063a0_0, 0, 1; %pushi/vec4 1, 0, 1; %store/vec4 v0x562710d066d0_0, 0, 1; %delay 4, 0; %pushi/vec4 0, 0, 1; %store/vec4 v0x562710d066d0_0, 0, 1; %delay 38, 0; %vpi_call 2 27 "$finish" {0 0 0}; %end; .thread T_3; # The file index is used to find the file name in the following table. :file_names 4; "N/A"; ""; "pcIMemTB.v"; "pcIMem.v";