mirror of
https://github.com/sxpert/hp-saturn
synced 2024-12-26 09:58:09 +01:00
645 lines
17 KiB
Text
Executable file
645 lines
17 KiB
Text
Executable file
#! /usr/bin/vvp -v
|
|
:ivl_version "10.1 (stable)";
|
|
:ivl_delay_selection "TYPICAL";
|
|
:vpi_time_precision + 0;
|
|
:vpi_module "system";
|
|
:vpi_module "vhdl_sys";
|
|
:vpi_module "v2005_math";
|
|
:vpi_module "va_math";
|
|
S_0x562a0b875c60 .scope module, "mask_gen_tb" "mask_gen_tb" 2 89;
|
|
.timescale 0 0;
|
|
v0x562a0b8968d0_0 .var "clock", 0 0;
|
|
v0x562a0b896990_0 .net "m", 63 0, v0x562a0b896040_0; 1 drivers
|
|
v0x562a0b896a60_0 .var "ns", 3 0;
|
|
v0x562a0b896b60_0 .var "nw", 3 0;
|
|
S_0x562a0b875de0 .scope module, "U0" "mask_gen" 2 100, 2 1 0, S_0x562a0b875c60;
|
|
.timescale 0 0;
|
|
.port_info 0 /INPUT 1 "clk"
|
|
.port_info 1 /INPUT 4 "nibble_width"
|
|
.port_info 2 /INPUT 4 "nibble_start"
|
|
.port_info 3 /OUTPUT 64 "mask"
|
|
v0x562a0b85f770_0 .var "bitmask", 15 0;
|
|
v0x562a0b895de0_0 .var "bitmask_1", 15 0;
|
|
v0x562a0b895ec0_0 .var "bitmask_2", 15 0;
|
|
v0x562a0b895f80_0 .net "clk", 0 0, v0x562a0b8968d0_0; 1 drivers
|
|
v0x562a0b896040_0 .var "mask", 63 0;
|
|
v0x562a0b896170_0 .var "n_max", 4 0;
|
|
v0x562a0b896250_0 .net "nibble_start", 3 0, v0x562a0b896a60_0; 1 drivers
|
|
v0x562a0b896330_0 .net "nibble_width", 3 0, v0x562a0b896b60_0; 1 drivers
|
|
v0x562a0b896410_0 .net "nm1", 3 0, L_0x562a0b896c30; 1 drivers
|
|
E_0x562a0b8468f0 .event posedge, v0x562a0b895f80_0;
|
|
L_0x562a0b896c30 .part v0x562a0b896170_0, 0, 4;
|
|
S_0x562a0b896570 .scope task, "run_mask_gen" "run_mask_gen" 2 151, 2 151 0, S_0x562a0b875c60;
|
|
.timescale 0 0;
|
|
v0x562a0b896710_0 .var "_ns", 3 0;
|
|
v0x562a0b8967f0_0 .var "_nw", 3 0;
|
|
TD_mask_gen_tb.run_mask_gen ;
|
|
%vpi_call 2 155 "$display", "running", v0x562a0b8967f0_0, v0x562a0b896710_0 {0 0 0};
|
|
%wait E_0x562a0b8468f0;
|
|
%load/vec4 v0x562a0b8967f0_0;
|
|
%store/vec4 v0x562a0b896b60_0, 0, 4;
|
|
%load/vec4 v0x562a0b896710_0;
|
|
%store/vec4 v0x562a0b896a60_0, 0, 4;
|
|
%end;
|
|
.scope S_0x562a0b875de0;
|
|
T_1 ;
|
|
%wait E_0x562a0b8468f0;
|
|
%load/vec4 v0x562a0b896250_0;
|
|
%pad/u 32;
|
|
%pushi/vec4 0, 0, 32;
|
|
%cmp/e;
|
|
%flag_get/vec4 4;
|
|
%ix/load 4, 0, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b895de0_0, 4, 1;
|
|
%load/vec4 v0x562a0b896250_0;
|
|
%pad/u 32;
|
|
%pushi/vec4 1, 0, 32;
|
|
%cmp/e;
|
|
%flag_get/vec4 4;
|
|
%load/vec4 v0x562a0b895de0_0;
|
|
%parti/s 1, 0, 2;
|
|
%or;
|
|
%ix/load 4, 1, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b895de0_0, 4, 1;
|
|
%load/vec4 v0x562a0b896250_0;
|
|
%pad/u 32;
|
|
%pushi/vec4 2, 0, 32;
|
|
%cmp/e;
|
|
%flag_get/vec4 4;
|
|
%load/vec4 v0x562a0b895de0_0;
|
|
%parti/s 1, 1, 2;
|
|
%or;
|
|
%ix/load 4, 2, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b895de0_0, 4, 1;
|
|
%load/vec4 v0x562a0b896250_0;
|
|
%pad/u 32;
|
|
%pushi/vec4 3, 0, 32;
|
|
%cmp/e;
|
|
%flag_get/vec4 4;
|
|
%load/vec4 v0x562a0b895de0_0;
|
|
%parti/s 1, 2, 3;
|
|
%or;
|
|
%ix/load 4, 3, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b895de0_0, 4, 1;
|
|
%load/vec4 v0x562a0b896250_0;
|
|
%pad/u 32;
|
|
%pushi/vec4 4, 0, 32;
|
|
%cmp/e;
|
|
%flag_get/vec4 4;
|
|
%load/vec4 v0x562a0b895de0_0;
|
|
%parti/s 1, 3, 3;
|
|
%or;
|
|
%ix/load 4, 4, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b895de0_0, 4, 1;
|
|
%load/vec4 v0x562a0b896250_0;
|
|
%pad/u 32;
|
|
%pushi/vec4 5, 0, 32;
|
|
%cmp/e;
|
|
%flag_get/vec4 4;
|
|
%load/vec4 v0x562a0b895de0_0;
|
|
%parti/s 1, 4, 4;
|
|
%or;
|
|
%ix/load 4, 5, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b895de0_0, 4, 1;
|
|
%load/vec4 v0x562a0b896250_0;
|
|
%pad/u 32;
|
|
%pushi/vec4 6, 0, 32;
|
|
%cmp/e;
|
|
%flag_get/vec4 4;
|
|
%load/vec4 v0x562a0b895de0_0;
|
|
%parti/s 1, 5, 4;
|
|
%or;
|
|
%ix/load 4, 6, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b895de0_0, 4, 1;
|
|
%load/vec4 v0x562a0b896250_0;
|
|
%pad/u 32;
|
|
%pushi/vec4 7, 0, 32;
|
|
%cmp/e;
|
|
%flag_get/vec4 4;
|
|
%load/vec4 v0x562a0b895de0_0;
|
|
%parti/s 1, 6, 4;
|
|
%or;
|
|
%ix/load 4, 7, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b895de0_0, 4, 1;
|
|
%load/vec4 v0x562a0b896250_0;
|
|
%pad/u 32;
|
|
%pushi/vec4 8, 0, 32;
|
|
%cmp/e;
|
|
%flag_get/vec4 4;
|
|
%load/vec4 v0x562a0b895de0_0;
|
|
%parti/s 1, 7, 4;
|
|
%or;
|
|
%ix/load 4, 8, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b895de0_0, 4, 1;
|
|
%load/vec4 v0x562a0b896250_0;
|
|
%pad/u 32;
|
|
%pushi/vec4 9, 0, 32;
|
|
%cmp/e;
|
|
%flag_get/vec4 4;
|
|
%load/vec4 v0x562a0b895de0_0;
|
|
%parti/s 1, 8, 5;
|
|
%or;
|
|
%ix/load 4, 9, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b895de0_0, 4, 1;
|
|
%load/vec4 v0x562a0b896250_0;
|
|
%pad/u 32;
|
|
%pushi/vec4 10, 0, 32;
|
|
%cmp/e;
|
|
%flag_get/vec4 4;
|
|
%load/vec4 v0x562a0b895de0_0;
|
|
%parti/s 1, 9, 5;
|
|
%or;
|
|
%ix/load 4, 10, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b895de0_0, 4, 1;
|
|
%load/vec4 v0x562a0b896250_0;
|
|
%pad/u 32;
|
|
%pushi/vec4 11, 0, 32;
|
|
%cmp/e;
|
|
%flag_get/vec4 4;
|
|
%load/vec4 v0x562a0b895de0_0;
|
|
%parti/s 1, 10, 5;
|
|
%or;
|
|
%ix/load 4, 11, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b895de0_0, 4, 1;
|
|
%load/vec4 v0x562a0b896250_0;
|
|
%pad/u 32;
|
|
%pushi/vec4 12, 0, 32;
|
|
%cmp/e;
|
|
%flag_get/vec4 4;
|
|
%load/vec4 v0x562a0b895de0_0;
|
|
%parti/s 1, 11, 5;
|
|
%or;
|
|
%ix/load 4, 12, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b895de0_0, 4, 1;
|
|
%load/vec4 v0x562a0b896250_0;
|
|
%pad/u 32;
|
|
%pushi/vec4 13, 0, 32;
|
|
%cmp/e;
|
|
%flag_get/vec4 4;
|
|
%load/vec4 v0x562a0b895de0_0;
|
|
%parti/s 1, 12, 5;
|
|
%or;
|
|
%ix/load 4, 13, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b895de0_0, 4, 1;
|
|
%load/vec4 v0x562a0b896250_0;
|
|
%pad/u 32;
|
|
%pushi/vec4 14, 0, 32;
|
|
%cmp/e;
|
|
%flag_get/vec4 4;
|
|
%load/vec4 v0x562a0b895de0_0;
|
|
%parti/s 1, 13, 5;
|
|
%or;
|
|
%ix/load 4, 14, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b895de0_0, 4, 1;
|
|
%load/vec4 v0x562a0b896250_0;
|
|
%pad/u 32;
|
|
%pushi/vec4 15, 0, 32;
|
|
%cmp/e;
|
|
%flag_get/vec4 4;
|
|
%load/vec4 v0x562a0b895de0_0;
|
|
%parti/s 1, 14, 5;
|
|
%or;
|
|
%ix/load 4, 15, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b895de0_0, 4, 1;
|
|
%vpi_call 2 37 "$display", "bm1 : %b", v0x562a0b895de0_0 {0 0 0};
|
|
%load/vec4 v0x562a0b896250_0;
|
|
%pad/u 5;
|
|
%load/vec4 v0x562a0b896330_0;
|
|
%pad/u 5;
|
|
%add;
|
|
%addi 1, 0, 5;
|
|
%assign/vec4 v0x562a0b896170_0, 0;
|
|
%vpi_call 2 41 "$display", "n_max : %h", v0x562a0b896170_0 {0 0 0};
|
|
%load/vec4 v0x562a0b896410_0;
|
|
%pad/u 32;
|
|
%pushi/vec4 15, 0, 32;
|
|
%cmp/e;
|
|
%flag_get/vec4 4;
|
|
%ix/load 4, 15, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b895ec0_0, 4, 1;
|
|
%load/vec4 v0x562a0b896410_0;
|
|
%pad/u 32;
|
|
%pushi/vec4 14, 0, 32;
|
|
%cmp/e;
|
|
%flag_get/vec4 4;
|
|
%load/vec4 v0x562a0b895ec0_0;
|
|
%parti/s 1, 15, 5;
|
|
%or;
|
|
%ix/load 4, 14, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b895ec0_0, 4, 1;
|
|
%load/vec4 v0x562a0b896410_0;
|
|
%pad/u 32;
|
|
%pushi/vec4 13, 0, 32;
|
|
%cmp/e;
|
|
%flag_get/vec4 4;
|
|
%load/vec4 v0x562a0b895ec0_0;
|
|
%parti/s 1, 14, 5;
|
|
%or;
|
|
%ix/load 4, 13, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b895ec0_0, 4, 1;
|
|
%load/vec4 v0x562a0b896410_0;
|
|
%pad/u 32;
|
|
%pushi/vec4 12, 0, 32;
|
|
%cmp/e;
|
|
%flag_get/vec4 4;
|
|
%load/vec4 v0x562a0b895ec0_0;
|
|
%parti/s 1, 13, 5;
|
|
%or;
|
|
%ix/load 4, 12, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b895ec0_0, 4, 1;
|
|
%load/vec4 v0x562a0b896410_0;
|
|
%pad/u 32;
|
|
%pushi/vec4 11, 0, 32;
|
|
%cmp/e;
|
|
%flag_get/vec4 4;
|
|
%load/vec4 v0x562a0b895ec0_0;
|
|
%parti/s 1, 12, 5;
|
|
%or;
|
|
%ix/load 4, 11, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b895ec0_0, 4, 1;
|
|
%load/vec4 v0x562a0b896410_0;
|
|
%pad/u 32;
|
|
%pushi/vec4 10, 0, 32;
|
|
%cmp/e;
|
|
%flag_get/vec4 4;
|
|
%load/vec4 v0x562a0b895ec0_0;
|
|
%parti/s 1, 11, 5;
|
|
%or;
|
|
%ix/load 4, 10, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b895ec0_0, 4, 1;
|
|
%load/vec4 v0x562a0b896410_0;
|
|
%pad/u 32;
|
|
%pushi/vec4 9, 0, 32;
|
|
%cmp/e;
|
|
%flag_get/vec4 4;
|
|
%load/vec4 v0x562a0b895ec0_0;
|
|
%parti/s 1, 10, 5;
|
|
%or;
|
|
%ix/load 4, 9, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b895ec0_0, 4, 1;
|
|
%load/vec4 v0x562a0b896410_0;
|
|
%pad/u 32;
|
|
%pushi/vec4 8, 0, 32;
|
|
%cmp/e;
|
|
%flag_get/vec4 4;
|
|
%load/vec4 v0x562a0b895ec0_0;
|
|
%parti/s 1, 9, 5;
|
|
%or;
|
|
%ix/load 4, 8, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b895ec0_0, 4, 1;
|
|
%load/vec4 v0x562a0b896410_0;
|
|
%pad/u 32;
|
|
%pushi/vec4 7, 0, 32;
|
|
%cmp/e;
|
|
%flag_get/vec4 4;
|
|
%load/vec4 v0x562a0b895ec0_0;
|
|
%parti/s 1, 8, 5;
|
|
%or;
|
|
%ix/load 4, 7, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b895ec0_0, 4, 1;
|
|
%load/vec4 v0x562a0b896410_0;
|
|
%pad/u 32;
|
|
%pushi/vec4 6, 0, 32;
|
|
%cmp/e;
|
|
%flag_get/vec4 4;
|
|
%load/vec4 v0x562a0b895ec0_0;
|
|
%parti/s 1, 7, 4;
|
|
%or;
|
|
%ix/load 4, 6, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b895ec0_0, 4, 1;
|
|
%load/vec4 v0x562a0b896410_0;
|
|
%pad/u 32;
|
|
%pushi/vec4 5, 0, 32;
|
|
%cmp/e;
|
|
%flag_get/vec4 4;
|
|
%load/vec4 v0x562a0b895ec0_0;
|
|
%parti/s 1, 6, 4;
|
|
%or;
|
|
%ix/load 4, 5, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b895ec0_0, 4, 1;
|
|
%load/vec4 v0x562a0b896410_0;
|
|
%pad/u 32;
|
|
%pushi/vec4 4, 0, 32;
|
|
%cmp/e;
|
|
%flag_get/vec4 4;
|
|
%load/vec4 v0x562a0b895ec0_0;
|
|
%parti/s 1, 5, 4;
|
|
%or;
|
|
%ix/load 4, 4, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b895ec0_0, 4, 1;
|
|
%load/vec4 v0x562a0b896410_0;
|
|
%pad/u 32;
|
|
%pushi/vec4 3, 0, 32;
|
|
%cmp/e;
|
|
%flag_get/vec4 4;
|
|
%load/vec4 v0x562a0b895ec0_0;
|
|
%parti/s 1, 4, 4;
|
|
%or;
|
|
%ix/load 4, 3, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b895ec0_0, 4, 1;
|
|
%load/vec4 v0x562a0b896410_0;
|
|
%pad/u 32;
|
|
%pushi/vec4 2, 0, 32;
|
|
%cmp/e;
|
|
%flag_get/vec4 4;
|
|
%load/vec4 v0x562a0b895ec0_0;
|
|
%parti/s 1, 3, 3;
|
|
%or;
|
|
%ix/load 4, 2, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b895ec0_0, 4, 1;
|
|
%load/vec4 v0x562a0b896410_0;
|
|
%pad/u 32;
|
|
%pushi/vec4 1, 0, 32;
|
|
%cmp/e;
|
|
%flag_get/vec4 4;
|
|
%load/vec4 v0x562a0b895ec0_0;
|
|
%parti/s 1, 2, 3;
|
|
%or;
|
|
%ix/load 4, 1, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b895ec0_0, 4, 1;
|
|
%load/vec4 v0x562a0b896410_0;
|
|
%pad/u 32;
|
|
%pushi/vec4 0, 0, 32;
|
|
%cmp/e;
|
|
%flag_get/vec4 4;
|
|
%load/vec4 v0x562a0b895ec0_0;
|
|
%parti/s 1, 1, 2;
|
|
%or;
|
|
%ix/load 4, 0, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b895ec0_0, 4, 1;
|
|
%vpi_call 2 60 "$display", "bm2 : %b", v0x562a0b895ec0_0 {0 0 0};
|
|
%load/vec4 v0x562a0b896170_0;
|
|
%parti/s 1, 4, 4;
|
|
%flag_set/vec4 8;
|
|
%jmp/0 T_1.0, 8;
|
|
%load/vec4 v0x562a0b895de0_0;
|
|
%load/vec4 v0x562a0b895ec0_0;
|
|
%or;
|
|
%jmp/1 T_1.1, 8;
|
|
T_1.0 ; End of true expr.
|
|
%load/vec4 v0x562a0b895de0_0;
|
|
%load/vec4 v0x562a0b895ec0_0;
|
|
%and;
|
|
%jmp/0 T_1.1, 8;
|
|
; End of false expr.
|
|
%blend;
|
|
T_1.1;
|
|
%store/vec4 v0x562a0b85f770_0, 0, 16;
|
|
%vpi_call 2 63 "$display", "bm : %b", v0x562a0b85f770_0 {0 0 0};
|
|
%load/vec4 v0x562a0b85f770_0;
|
|
%parti/s 1, 0, 2;
|
|
%replicate 4;
|
|
%ix/load 4, 0, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b896040_0, 4, 4;
|
|
%load/vec4 v0x562a0b85f770_0;
|
|
%parti/s 1, 1, 2;
|
|
%replicate 4;
|
|
%ix/load 4, 4, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b896040_0, 4, 4;
|
|
%load/vec4 v0x562a0b85f770_0;
|
|
%parti/s 1, 2, 3;
|
|
%replicate 4;
|
|
%ix/load 4, 8, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b896040_0, 4, 4;
|
|
%load/vec4 v0x562a0b85f770_0;
|
|
%parti/s 1, 3, 3;
|
|
%replicate 4;
|
|
%ix/load 4, 12, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b896040_0, 4, 4;
|
|
%load/vec4 v0x562a0b85f770_0;
|
|
%parti/s 1, 4, 4;
|
|
%replicate 4;
|
|
%ix/load 4, 16, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b896040_0, 4, 4;
|
|
%load/vec4 v0x562a0b85f770_0;
|
|
%parti/s 1, 5, 4;
|
|
%replicate 4;
|
|
%ix/load 4, 20, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b896040_0, 4, 4;
|
|
%load/vec4 v0x562a0b85f770_0;
|
|
%parti/s 1, 6, 4;
|
|
%replicate 4;
|
|
%ix/load 4, 24, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b896040_0, 4, 4;
|
|
%load/vec4 v0x562a0b85f770_0;
|
|
%parti/s 1, 7, 4;
|
|
%replicate 4;
|
|
%ix/load 4, 28, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b896040_0, 4, 4;
|
|
%load/vec4 v0x562a0b85f770_0;
|
|
%parti/s 1, 8, 5;
|
|
%replicate 4;
|
|
%ix/load 4, 32, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b896040_0, 4, 4;
|
|
%load/vec4 v0x562a0b85f770_0;
|
|
%parti/s 1, 9, 5;
|
|
%replicate 4;
|
|
%ix/load 4, 36, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b896040_0, 4, 4;
|
|
%load/vec4 v0x562a0b85f770_0;
|
|
%parti/s 1, 10, 5;
|
|
%replicate 4;
|
|
%ix/load 4, 40, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b896040_0, 4, 4;
|
|
%load/vec4 v0x562a0b85f770_0;
|
|
%parti/s 1, 11, 5;
|
|
%replicate 4;
|
|
%ix/load 4, 44, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b896040_0, 4, 4;
|
|
%load/vec4 v0x562a0b85f770_0;
|
|
%parti/s 1, 12, 5;
|
|
%replicate 4;
|
|
%ix/load 4, 48, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b896040_0, 4, 4;
|
|
%load/vec4 v0x562a0b85f770_0;
|
|
%parti/s 1, 13, 5;
|
|
%replicate 4;
|
|
%ix/load 4, 52, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b896040_0, 4, 4;
|
|
%load/vec4 v0x562a0b85f770_0;
|
|
%parti/s 1, 14, 5;
|
|
%replicate 4;
|
|
%ix/load 4, 56, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b896040_0, 4, 4;
|
|
%load/vec4 v0x562a0b85f770_0;
|
|
%parti/s 1, 15, 5;
|
|
%replicate 4;
|
|
%ix/load 4, 60, 0;
|
|
%flag_set/imm 4, 0;
|
|
%store/vec4 v0x562a0b896040_0, 4, 4;
|
|
%jmp T_1;
|
|
.thread T_1;
|
|
.scope S_0x562a0b875c60;
|
|
T_2 ;
|
|
%delay 10, 0;
|
|
%load/vec4 v0x562a0b8968d0_0;
|
|
%pushi/vec4 0, 0, 1;
|
|
%cmp/e;
|
|
%flag_get/vec4 6;
|
|
%store/vec4 v0x562a0b8968d0_0, 0, 1;
|
|
%jmp T_2;
|
|
.thread T_2;
|
|
.scope S_0x562a0b875c60;
|
|
T_3 ;
|
|
%vpi_call 2 113 "$monitor", "clk %b | nw %d | ns %d | m %h", v0x562a0b8968d0_0, v0x562a0b896b60_0, v0x562a0b896a60_0, v0x562a0b896990_0 {0 0 0};
|
|
%end;
|
|
.thread T_3;
|
|
.scope S_0x562a0b875c60;
|
|
T_4 ;
|
|
%vpi_call 2 121 "$dumpfile", "text.vcd" {0 0 0};
|
|
%vpi_call 2 122 "$dumpvars", v0x562a0b8968d0_0, v0x562a0b896b60_0, v0x562a0b896a60_0, v0x562a0b896990_0 {0 0 0};
|
|
%vpi_call 2 123 "$display", $time, "starting simulation" {0 0 0};
|
|
%pushi/vec4 0, 0, 1;
|
|
%store/vec4 v0x562a0b8968d0_0, 0, 1;
|
|
%vpi_call 2 125 "$display", "starting the simulation" {0 0 0};
|
|
%pushi/vec4 4, 0, 4;
|
|
%store/vec4 v0x562a0b8967f0_0, 0, 4;
|
|
%pushi/vec4 0, 0, 4;
|
|
%store/vec4 v0x562a0b896710_0, 0, 4;
|
|
%fork TD_mask_gen_tb.run_mask_gen, S_0x562a0b896570;
|
|
%join;
|
|
%pushi/vec4 4, 0, 4;
|
|
%store/vec4 v0x562a0b8967f0_0, 0, 4;
|
|
%pushi/vec4 1, 0, 4;
|
|
%store/vec4 v0x562a0b896710_0, 0, 4;
|
|
%fork TD_mask_gen_tb.run_mask_gen, S_0x562a0b896570;
|
|
%join;
|
|
%pushi/vec4 4, 0, 4;
|
|
%store/vec4 v0x562a0b8967f0_0, 0, 4;
|
|
%pushi/vec4 2, 0, 4;
|
|
%store/vec4 v0x562a0b896710_0, 0, 4;
|
|
%fork TD_mask_gen_tb.run_mask_gen, S_0x562a0b896570;
|
|
%join;
|
|
%pushi/vec4 4, 0, 4;
|
|
%store/vec4 v0x562a0b8967f0_0, 0, 4;
|
|
%pushi/vec4 3, 0, 4;
|
|
%store/vec4 v0x562a0b896710_0, 0, 4;
|
|
%fork TD_mask_gen_tb.run_mask_gen, S_0x562a0b896570;
|
|
%join;
|
|
%pushi/vec4 4, 0, 4;
|
|
%store/vec4 v0x562a0b8967f0_0, 0, 4;
|
|
%pushi/vec4 4, 0, 4;
|
|
%store/vec4 v0x562a0b896710_0, 0, 4;
|
|
%fork TD_mask_gen_tb.run_mask_gen, S_0x562a0b896570;
|
|
%join;
|
|
%pushi/vec4 4, 0, 4;
|
|
%store/vec4 v0x562a0b8967f0_0, 0, 4;
|
|
%pushi/vec4 5, 0, 4;
|
|
%store/vec4 v0x562a0b896710_0, 0, 4;
|
|
%fork TD_mask_gen_tb.run_mask_gen, S_0x562a0b896570;
|
|
%join;
|
|
%pushi/vec4 4, 0, 4;
|
|
%store/vec4 v0x562a0b8967f0_0, 0, 4;
|
|
%pushi/vec4 6, 0, 4;
|
|
%store/vec4 v0x562a0b896710_0, 0, 4;
|
|
%fork TD_mask_gen_tb.run_mask_gen, S_0x562a0b896570;
|
|
%join;
|
|
%pushi/vec4 4, 0, 4;
|
|
%store/vec4 v0x562a0b8967f0_0, 0, 4;
|
|
%pushi/vec4 7, 0, 4;
|
|
%store/vec4 v0x562a0b896710_0, 0, 4;
|
|
%fork TD_mask_gen_tb.run_mask_gen, S_0x562a0b896570;
|
|
%join;
|
|
%pushi/vec4 4, 0, 4;
|
|
%store/vec4 v0x562a0b8967f0_0, 0, 4;
|
|
%pushi/vec4 8, 0, 4;
|
|
%store/vec4 v0x562a0b896710_0, 0, 4;
|
|
%fork TD_mask_gen_tb.run_mask_gen, S_0x562a0b896570;
|
|
%join;
|
|
%pushi/vec4 4, 0, 4;
|
|
%store/vec4 v0x562a0b8967f0_0, 0, 4;
|
|
%pushi/vec4 9, 0, 4;
|
|
%store/vec4 v0x562a0b896710_0, 0, 4;
|
|
%fork TD_mask_gen_tb.run_mask_gen, S_0x562a0b896570;
|
|
%join;
|
|
%pushi/vec4 4, 0, 4;
|
|
%store/vec4 v0x562a0b8967f0_0, 0, 4;
|
|
%pushi/vec4 10, 0, 4;
|
|
%store/vec4 v0x562a0b896710_0, 0, 4;
|
|
%fork TD_mask_gen_tb.run_mask_gen, S_0x562a0b896570;
|
|
%join;
|
|
%pushi/vec4 4, 0, 4;
|
|
%store/vec4 v0x562a0b8967f0_0, 0, 4;
|
|
%pushi/vec4 11, 0, 4;
|
|
%store/vec4 v0x562a0b896710_0, 0, 4;
|
|
%fork TD_mask_gen_tb.run_mask_gen, S_0x562a0b896570;
|
|
%join;
|
|
%pushi/vec4 4, 0, 4;
|
|
%store/vec4 v0x562a0b8967f0_0, 0, 4;
|
|
%pushi/vec4 12, 0, 4;
|
|
%store/vec4 v0x562a0b896710_0, 0, 4;
|
|
%fork TD_mask_gen_tb.run_mask_gen, S_0x562a0b896570;
|
|
%join;
|
|
%pushi/vec4 4, 0, 4;
|
|
%store/vec4 v0x562a0b8967f0_0, 0, 4;
|
|
%pushi/vec4 13, 0, 4;
|
|
%store/vec4 v0x562a0b896710_0, 0, 4;
|
|
%fork TD_mask_gen_tb.run_mask_gen, S_0x562a0b896570;
|
|
%join;
|
|
%pushi/vec4 4, 0, 4;
|
|
%store/vec4 v0x562a0b8967f0_0, 0, 4;
|
|
%pushi/vec4 14, 0, 4;
|
|
%store/vec4 v0x562a0b896710_0, 0, 4;
|
|
%fork TD_mask_gen_tb.run_mask_gen, S_0x562a0b896570;
|
|
%join;
|
|
%pushi/vec4 4, 0, 4;
|
|
%store/vec4 v0x562a0b8967f0_0, 0, 4;
|
|
%pushi/vec4 15, 0, 4;
|
|
%store/vec4 v0x562a0b896710_0, 0, 4;
|
|
%fork TD_mask_gen_tb.run_mask_gen, S_0x562a0b896570;
|
|
%join;
|
|
%vpi_call 2 147 "$finish" {0 0 0};
|
|
%end;
|
|
.thread T_4;
|
|
# The file index is used to find the file name in the following table.
|
|
:file_names 3;
|
|
"N/A";
|
|
"<interactive>";
|
|
"mask_gen.v";
|