#! /usr/bin/vvp :ivl_version "12.0 (stable)" "(v12_0-dirty)"; :ivl_delay_selection "TYPICAL"; :vpi_time_precision + 0; :vpi_module "/usr/lib/ivl/system.vpi"; :vpi_module "/usr/lib/ivl/vhdl_sys.vpi"; :vpi_module "/usr/lib/ivl/vhdl_textio.vpi"; :vpi_module "/usr/lib/ivl/v2005_math.vpi"; :vpi_module "/usr/lib/ivl/va_math.vpi"; :vpi_module "/usr/lib/ivl/v2009.vpi"; S_0x5617a32fb170 .scope package, "$unit" "$unit" 2 1; .timescale 0 0; S_0x5617a32fb300 .scope module, "chip8_processor" "chip8_processor" 3 1; .timescale 0 0; .port_info 0 /INPUT 16 "opcode"; o0x7f10d36a7018 .functor BUFZ 16, C4; HiZ drive v0x5617a32fb490_0 .net "opcode", 15 0, o0x7f10d36a7018; 0 drivers v0x5617a33439a0_0 .var "opcode2", 15 0; .scope S_0x5617a32fb300; T_0 ; %wait E_0x0; %pushi/vec4 4064, 0, 16; %store/vec4 v0x5617a33439a0_0, 0, 16; %load/vec4 v0x5617a33439a0_0; %dup/vec4; %pushi/vec4 224, 0, 16; %cmp/z; %jmp/1 T_0.0, 4; %dup/vec4; %pushi/vec4 238, 0, 16; %cmp/z; %jmp/1 T_0.1, 4; %dup/vec4; %pushi/vec4 0, 4095, 16; %cmp/z; %jmp/1 T_0.2, 4; %dup/vec4; %pushi/vec4 4096, 4095, 16; %cmp/z; %jmp/1 T_0.3, 4; %dup/vec4; %pushi/vec4 8192, 4095, 16; %cmp/z; %jmp/1 T_0.4, 4; %jmp T_0.5; T_0.0 ; %vpi_call/w 3 9 "$display", "CLS" {0 0 0}; %jmp T_0.5; T_0.1 ; %vpi_call/w 3 10 "$display", "RET" {0 0 0}; %jmp T_0.5; T_0.2 ; %vpi_call/w 3 11 "$display", "SYS" {0 0 0}; %jmp T_0.5; T_0.3 ; %vpi_call/w 3 12 "$display", "JP" {0 0 0}; %jmp T_0.5; T_0.4 ; %vpi_call/w 3 13 "$display", "CALL" {0 0 0}; %jmp T_0.5; T_0.5 ; %pop/vec4 1; %vpi_call/w 3 15 "$display", "yayacemu" {0 0 0}; %jmp T_0; .thread T_0; # The file index is used to find the file name in the following table. :file_names 4; "N/A"; ""; "-"; "yayacemu.sv";