From 48468ed26a66a330c03c6704ecbc264ecf0bfc9d Mon Sep 17 00:00:00 2001 From: felsabbagh3 Date: Fri, 10 May 2019 00:49:54 -0700 Subject: [PATCH] Proper SIMT with fine-grain scheduler implemented --- kernel/vortex_test.dump | 3379 ++++++++++---------- kernel/vortex_test.elf | Bin 15536 -> 15464 bytes kernel/vortex_test.hex | 795 +++-- kernel/vx_include/vx_front.c | 16 +- kernel/vx_main.c | 40 +- kernel/vx_os/vx_back/vx_back.s | 10 +- rtl/VX_context.v | 17 +- rtl/VX_context_slave.v | 145 + rtl/VX_decode.v | 171 +- rtl/VX_execute.v | 7 + rtl/VX_fetch.v | 128 +- rtl/VX_memory.v | 14 +- rtl/VX_register_file.v | 9 +- rtl/VX_register_file_master_slave.v | 72 + rtl/VX_register_file_slave.v | 15 +- rtl/VX_warp.v | 8 +- rtl/Vortex.v | 30 +- rtl/obj_dir/VVortex | Bin 411004 -> 431484 bytes rtl/obj_dir/VVortex.cpp | 4435 ++++++++++++++++++++------- rtl/obj_dir/VVortex.h | 107 +- rtl/obj_dir/VVortex__ALL.a | Bin 72904 -> 92480 bytes rtl/obj_dir/VVortex__ALLcls.o | Bin 69768 -> 89344 bytes rtl/obj_dir/VVortex__ver.d | 2 +- rtl/obj_dir/VVortex__verFiles.dat | 36 +- rtl/obj_dir/test_bench.o | Bin 66380 -> 66380 bytes rtl/results.txt | 8 +- rtl/test_bench.h | 11 +- 27 files changed, 6080 insertions(+), 3375 deletions(-) create mode 100644 rtl/VX_context_slave.v create mode 100644 rtl/VX_register_file_master_slave.v diff --git a/kernel/vortex_test.dump b/kernel/vortex_test.dump index 0befe0cf..9e6b29f7 100644 --- a/kernel/vortex_test.dump +++ b/kernel/vortex_test.dump @@ -5,15 +5,15 @@ vortex_test.elf: file format elf32-littleriscv Disassembly of section .text: 80000000 <_start>: -80000000: 00100513 li a0,1 +80000000: 00200513 li a0,2 80000004: 02051073 csrw 0x20,a0 80000008: 00200513 li a0,2 8000000c: 02151073 csrw 0x21,a0 80000010: f1401073 csrw mhartid,zero 80000014: 30101073 csrw misa,zero 80000018: 7ffff137 lui sp,0x7ffff -8000001c: 198000ef jal ra,800001b4 -80000020: 6dc010ef jal ra,800016fc
+8000001c: 1b0000ef jal ra,800001cc +80000020: 6a8010ef jal ra,800016c8
80000024: 00000073 ecall 80000028 : @@ -38,1621 +38,1548 @@ Disassembly of section .text: 80000050: fedff06f j 8000003c 80000054 : -80000054: 000f0113 mv sp,t5 -80000058: 00000513 li a0,0 -8000005c: 00060f93 mv t6,a2 -80000060: 00038d93 mv s11,t2 -80000064: 01bfe0eb 0x1bfe0eb -80000068: 00000517 auipc a0,0x0 -8000006c: 1b050513 addi a0,a0,432 # 80000218 -80000070: 0005406b 0x5406b +80000054: 00000013 nop +80000058: 00000013 nop +8000005c: 00000013 nop +80000060: 00000013 nop +80000064: 00000013 nop +80000068: 00000013 nop +8000006c: 000f0113 mv sp,t5 +80000070: 00000513 li a0,0 +80000074: 00060f93 mv t6,a2 +80000078: 00038d93 mv s11,t2 +8000007c: 01bfe0eb 0x1bfe0eb +80000080: 00000517 auipc a0,0x0 +80000084: 1b050513 addi a0,a0,432 # 80000230 +80000088: 0005406b 0x5406b -80000074 : -80000074: 00000317 auipc t1,0x0 -80000078: fb430313 addi t1,t1,-76 # 80000028 -8000007c: 0003006b 0x3006b -80000080: 00008067 ret +8000008c : +8000008c: 00000317 auipc t1,0x0 +80000090: f9c30313 addi t1,t1,-100 # 80000028 +80000094: 0003006b 0x3006b +80000098: 00008067 ret -80000084 : -80000084: 01000217 auipc tp,0x1000 -80000088: 26020213 addi tp,tp,608 # 810002e4 -8000008c: 00022023 sw zero,0(tp) # 0 -80000090: 00122223 sw ra,4(tp) # 4 -80000094: 00222423 sw sp,8(tp) # 8 -80000098: 00322623 sw gp,12(tp) # c -8000009c: 00422823 sw tp,16(tp) # 10 -800000a0: 00522a23 sw t0,20(tp) # 14 -800000a4: 00622c23 sw t1,24(tp) # 18 -800000a8: 00722e23 sw t2,28(tp) # 1c -800000ac: 02822023 sw s0,32(tp) # 20 -800000b0: 02922223 sw s1,36(tp) # 24 -800000b4: 02a22423 sw a0,40(tp) # 28 -800000b8: 02b22623 sw a1,44(tp) # 2c -800000bc: 02c22823 sw a2,48(tp) # 30 -800000c0: 02d22a23 sw a3,52(tp) # 34 -800000c4: 02e22c23 sw a4,56(tp) # 38 -800000c8: 02f22e23 sw a5,60(tp) # 3c -800000cc: 05022023 sw a6,64(tp) # 40 -800000d0: 05122223 sw a7,68(tp) # 44 -800000d4: 05222423 sw s2,72(tp) # 48 -800000d8: 05322623 sw s3,76(tp) # 4c -800000dc: 05422823 sw s4,80(tp) # 50 -800000e0: 05522a23 sw s5,84(tp) # 54 -800000e4: 05622c23 sw s6,88(tp) # 58 -800000e8: 05722e23 sw s7,92(tp) # 5c -800000ec: 07822023 sw s8,96(tp) # 60 -800000f0: 07922223 sw s9,100(tp) # 64 -800000f4: 07a22423 sw s10,104(tp) # 68 -800000f8: 07b22623 sw s11,108(tp) # 6c -800000fc: 07c22823 sw t3,112(tp) # 70 -80000100: 07d22a23 sw t4,116(tp) # 74 -80000104: 07e22c23 sw t5,120(tp) # 78 -80000108: 07f22e23 sw t6,124(tp) # 7c -8000010c: 00100213 li tp,1 -80000110: 00008067 ret +8000009c : +8000009c: 01000217 auipc tp,0x1000 +800000a0: 20020213 addi tp,tp,512 # 8100029c +800000a4: 00022023 sw zero,0(tp) # 0 +800000a8: 00122223 sw ra,4(tp) # 4 +800000ac: 00222423 sw sp,8(tp) # 8 +800000b0: 00322623 sw gp,12(tp) # c +800000b4: 00422823 sw tp,16(tp) # 10 +800000b8: 00522a23 sw t0,20(tp) # 14 +800000bc: 00622c23 sw t1,24(tp) # 18 +800000c0: 00722e23 sw t2,28(tp) # 1c +800000c4: 02822023 sw s0,32(tp) # 20 +800000c8: 02922223 sw s1,36(tp) # 24 +800000cc: 02a22423 sw a0,40(tp) # 28 +800000d0: 02b22623 sw a1,44(tp) # 2c +800000d4: 02c22823 sw a2,48(tp) # 30 +800000d8: 02d22a23 sw a3,52(tp) # 34 +800000dc: 02e22c23 sw a4,56(tp) # 38 +800000e0: 02f22e23 sw a5,60(tp) # 3c +800000e4: 05022023 sw a6,64(tp) # 40 +800000e8: 05122223 sw a7,68(tp) # 44 +800000ec: 05222423 sw s2,72(tp) # 48 +800000f0: 05322623 sw s3,76(tp) # 4c +800000f4: 05422823 sw s4,80(tp) # 50 +800000f8: 05522a23 sw s5,84(tp) # 54 +800000fc: 05622c23 sw s6,88(tp) # 58 +80000100: 05722e23 sw s7,92(tp) # 5c +80000104: 07822023 sw s8,96(tp) # 60 +80000108: 07922223 sw s9,100(tp) # 64 +8000010c: 07a22423 sw s10,104(tp) # 68 +80000110: 07b22623 sw s11,108(tp) # 6c +80000114: 07c22823 sw t3,112(tp) # 70 +80000118: 07d22a23 sw t4,116(tp) # 74 +8000011c: 07e22c23 sw t5,120(tp) # 78 +80000120: 07f22e23 sw t6,124(tp) # 7c +80000124: 00100213 li tp,1 +80000128: 00008067 ret -80000114 : -80000114: 01000217 auipc tp,0x1000 -80000118: 1d020213 addi tp,tp,464 # 810002e4 -8000011c: 00022003 lw zero,0(tp) # 0 -80000120: 00422083 lw ra,4(tp) # 4 -80000124: 00822103 lw sp,8(tp) # 8 -80000128: 00c22183 lw gp,12(tp) # c -8000012c: 01022203 lw tp,16(tp) # 10 -80000130: 01422283 lw t0,20(tp) # 14 -80000134: 01822303 lw t1,24(tp) # 18 -80000138: 01c22383 lw t2,28(tp) # 1c -8000013c: 02022403 lw s0,32(tp) # 20 -80000140: 02422483 lw s1,36(tp) # 24 -80000144: 02822503 lw a0,40(tp) # 28 -80000148: 02c22583 lw a1,44(tp) # 2c -8000014c: 03022603 lw a2,48(tp) # 30 -80000150: 03422683 lw a3,52(tp) # 34 -80000154: 03822703 lw a4,56(tp) # 38 -80000158: 03c22783 lw a5,60(tp) # 3c -8000015c: 04022803 lw a6,64(tp) # 40 -80000160: 04422883 lw a7,68(tp) # 44 -80000164: 04822903 lw s2,72(tp) # 48 -80000168: 04c22983 lw s3,76(tp) # 4c -8000016c: 05022a03 lw s4,80(tp) # 50 -80000170: 05422a83 lw s5,84(tp) # 54 -80000174: 05822b03 lw s6,88(tp) # 58 -80000178: 05c22b83 lw s7,92(tp) # 5c -8000017c: 06022c03 lw s8,96(tp) # 60 -80000180: 06422c83 lw s9,100(tp) # 64 -80000184: 06822d03 lw s10,104(tp) # 68 -80000188: 06c22d83 lw s11,108(tp) # 6c -8000018c: 07022e03 lw t3,112(tp) # 70 -80000190: 07422e83 lw t4,116(tp) # 74 -80000194: 07822f03 lw t5,120(tp) # 78 -80000198: 07c22f83 lw t6,124(tp) # 7c -8000019c: 00000213 li tp,0 -800001a0: 00008067 ret +8000012c : +8000012c: 01000217 auipc tp,0x1000 +80000130: 17020213 addi tp,tp,368 # 8100029c +80000134: 00022003 lw zero,0(tp) # 0 +80000138: 00422083 lw ra,4(tp) # 4 +8000013c: 00822103 lw sp,8(tp) # 8 +80000140: 00c22183 lw gp,12(tp) # c +80000144: 01022203 lw tp,16(tp) # 10 +80000148: 01422283 lw t0,20(tp) # 14 +8000014c: 01822303 lw t1,24(tp) # 18 +80000150: 01c22383 lw t2,28(tp) # 1c +80000154: 02022403 lw s0,32(tp) # 20 +80000158: 02422483 lw s1,36(tp) # 24 +8000015c: 02822503 lw a0,40(tp) # 28 +80000160: 02c22583 lw a1,44(tp) # 2c +80000164: 03022603 lw a2,48(tp) # 30 +80000168: 03422683 lw a3,52(tp) # 34 +8000016c: 03822703 lw a4,56(tp) # 38 +80000170: 03c22783 lw a5,60(tp) # 3c +80000174: 04022803 lw a6,64(tp) # 40 +80000178: 04422883 lw a7,68(tp) # 44 +8000017c: 04822903 lw s2,72(tp) # 48 +80000180: 04c22983 lw s3,76(tp) # 4c +80000184: 05022a03 lw s4,80(tp) # 50 +80000188: 05422a83 lw s5,84(tp) # 54 +8000018c: 05822b03 lw s6,88(tp) # 58 +80000190: 05c22b83 lw s7,92(tp) # 5c +80000194: 06022c03 lw s8,96(tp) # 60 +80000198: 06422c83 lw s9,100(tp) # 64 +8000019c: 06822d03 lw s10,104(tp) # 68 +800001a0: 06c22d83 lw s11,108(tp) # 6c +800001a4: 07022e03 lw t3,112(tp) # 70 +800001a8: 07422e83 lw t4,116(tp) # 74 +800001ac: 07822f03 lw t5,120(tp) # 78 +800001b0: 07c22f83 lw t6,124(tp) # 7c +800001b4: 00000213 li tp,0 +800001b8: 00008067 ret -800001a4 : -800001a4: 02002573 csrr a0,0x20 -800001a8: 00008067 ret +800001bc : +800001bc: 02002573 csrr a0,0x20 +800001c0: 00008067 ret -800001ac : -800001ac: 02102573 csrr a0,0x21 -800001b0: 00008067 ret +800001c4 : +800001c4: 02102573 csrr a0,0x21 +800001c8: 00008067 ret -800001b4 : -800001b4: fe010113 addi sp,sp,-32 -800001b8: 00112e23 sw ra,28(sp) -800001bc: 00812c23 sw s0,24(sp) -800001c0: 02010413 addi s0,sp,32 -800001c4: fe042623 sw zero,-20(s0) -800001c8: 0300006f j 800001f8 -800001cc: fec42703 lw a4,-20(s0) -800001d0: 4c400793 li a5,1220 -800001d4: 02f70733 mul a4,a4,a5 -800001d8: 810007b7 lui a5,0x81000 -800001dc: 36478793 addi a5,a5,868 # 81000364 -800001e0: 00f707b3 add a5,a4,a5 -800001e4: 00078513 mv a0,a5 -800001e8: 404000ef jal ra,800005ec -800001ec: fec42783 lw a5,-20(s0) -800001f0: 00178793 addi a5,a5,1 -800001f4: fef42623 sw a5,-20(s0) -800001f8: fec42703 lw a4,-20(s0) -800001fc: 00700793 li a5,7 -80000200: fce7d6e3 bge a5,a4,800001cc -80000204: 00000013 nop -80000208: 01c12083 lw ra,28(sp) -8000020c: 01812403 lw s0,24(sp) -80000210: 02010113 addi sp,sp,32 -80000214: 00008067 ret +800001cc : +800001cc: fe010113 addi sp,sp,-32 +800001d0: 00112e23 sw ra,28(sp) +800001d4: 00812c23 sw s0,24(sp) +800001d8: 02010413 addi s0,sp,32 +800001dc: fe042623 sw zero,-20(s0) +800001e0: 0300006f j 80000210 +800001e4: fec42703 lw a4,-20(s0) +800001e8: 4c400793 li a5,1220 +800001ec: 02f70733 mul a4,a4,a5 +800001f0: 810007b7 lui a5,0x81000 +800001f4: 31c78793 addi a5,a5,796 # 8100031c +800001f8: 00f707b3 add a5,a4,a5 +800001fc: 00078513 mv a0,a5 +80000200: 404000ef jal ra,80000604 +80000204: fec42783 lw a5,-20(s0) +80000208: 00178793 addi a5,a5,1 +8000020c: fef42623 sw a5,-20(s0) +80000210: fec42703 lw a4,-20(s0) +80000214: 00700793 li a5,7 +80000218: fce7d6e3 bge a5,a4,800001e4 +8000021c: 00000013 nop +80000220: 01c12083 lw ra,28(sp) +80000224: 01812403 lw s0,24(sp) +80000228: 02010113 addi sp,sp,32 +8000022c: 00008067 ret -80000218 : -80000218: fd010113 addi sp,sp,-48 -8000021c: 02112623 sw ra,44(sp) -80000220: 02812423 sw s0,40(sp) -80000224: 03a12223 sw s10,36(sp) -80000228: 03010413 addi s0,sp,48 -8000022c: 000d0713 mv a4,s10 -80000230: 4c400793 li a5,1220 -80000234: 02f70733 mul a4,a4,a5 -80000238: 810007b7 lui a5,0x81000 -8000023c: 36478793 addi a5,a5,868 # 81000364 -80000240: 00f707b3 add a5,a4,a5 -80000244: 00078513 mv a0,a5 -80000248: 4b8000ef jal ra,80000700 -8000024c: 00050793 mv a5,a0 -80000250: 02078a63 beqz a5,80000284 -80000254: 000d0713 mv a4,s10 -80000258: 810007b7 lui a5,0x81000 -8000025c: 00271713 slli a4,a4,0x2 -80000260: 2c478793 addi a5,a5,708 # 810002c4 -80000264: 00f707b3 add a5,a4,a5 -80000268: 00100713 li a4,1 -8000026c: 00e7a023 sw a4,0(a5) -80000270: 000d0793 mv a5,s10 -80000274: 00079663 bnez a5,80000280 -80000278: e9dff0ef jal ra,80000114 -8000027c: 0580006f j 800002d4 -80000280: 00000073 ecall -80000284: 000d0713 mv a4,s10 -80000288: 4c400793 li a5,1220 -8000028c: 02f70733 mul a4,a4,a5 -80000290: 810007b7 lui a5,0x81000 -80000294: 36478793 addi a5,a5,868 # 81000364 -80000298: 00f707b3 add a5,a4,a5 -8000029c: fd840713 addi a4,s0,-40 -800002a0: 00070593 mv a1,a4 -800002a4: 00078513 mv a0,a5 -800002a8: 3d0000ef jal ra,80000678 -800002ac: fe042783 lw a5,-32(s0) -800002b0: 00078113 mv sp,a5 -800002b4: fdc42783 lw a5,-36(s0) -800002b8: fd842583 lw a1,-40(s0) -800002bc: fe442603 lw a2,-28(s0) -800002c0: fe842683 lw a3,-24(s0) -800002c4: fec42703 lw a4,-20(s0) -800002c8: 00078513 mv a0,a5 -800002cc: d5dff0ef jal ra,80000028 -800002d0: 00000073 ecall -800002d4: 02c12083 lw ra,44(sp) -800002d8: 02812403 lw s0,40(sp) -800002dc: 02412d03 lw s10,36(sp) -800002e0: 03010113 addi sp,sp,48 -800002e4: 00008067 ret +80000230 : +80000230: fd010113 addi sp,sp,-48 +80000234: 02112623 sw ra,44(sp) +80000238: 02812423 sw s0,40(sp) +8000023c: 03a12223 sw s10,36(sp) +80000240: 03010413 addi s0,sp,48 +80000244: 000d0713 mv a4,s10 +80000248: 4c400793 li a5,1220 +8000024c: 02f70733 mul a4,a4,a5 +80000250: 810007b7 lui a5,0x81000 +80000254: 31c78793 addi a5,a5,796 # 8100031c +80000258: 00f707b3 add a5,a4,a5 +8000025c: 00078513 mv a0,a5 +80000260: 4b8000ef jal ra,80000718 +80000264: 00050793 mv a5,a0 +80000268: 02078a63 beqz a5,8000029c +8000026c: 000d0713 mv a4,s10 +80000270: 810007b7 lui a5,0x81000 +80000274: 00271713 slli a4,a4,0x2 +80000278: 27c78793 addi a5,a5,636 # 8100027c +8000027c: 00f707b3 add a5,a4,a5 +80000280: 00100713 li a4,1 +80000284: 00e7a023 sw a4,0(a5) +80000288: 000d0793 mv a5,s10 +8000028c: 00079663 bnez a5,80000298 +80000290: e9dff0ef jal ra,8000012c +80000294: 0580006f j 800002ec +80000298: 00000073 ecall +8000029c: 000d0713 mv a4,s10 +800002a0: 4c400793 li a5,1220 +800002a4: 02f70733 mul a4,a4,a5 +800002a8: 810007b7 lui a5,0x81000 +800002ac: 31c78793 addi a5,a5,796 # 8100031c +800002b0: 00f707b3 add a5,a4,a5 +800002b4: fd840713 addi a4,s0,-40 +800002b8: 00070593 mv a1,a4 +800002bc: 00078513 mv a0,a5 +800002c0: 3d0000ef jal ra,80000690 +800002c4: fe042783 lw a5,-32(s0) +800002c8: 00078113 mv sp,a5 +800002cc: fdc42783 lw a5,-36(s0) +800002d0: fd842583 lw a1,-40(s0) +800002d4: fe442603 lw a2,-28(s0) +800002d8: fe842683 lw a3,-24(s0) +800002dc: fec42703 lw a4,-20(s0) +800002e0: 00078513 mv a0,a5 +800002e4: d45ff0ef jal ra,80000028 +800002e8: 00000073 ecall +800002ec: 02c12083 lw ra,44(sp) +800002f0: 02812403 lw s0,40(sp) +800002f4: 02412d03 lw s10,36(sp) +800002f8: 03010113 addi sp,sp,48 +800002fc: 00008067 ret -800002e8 : -800002e8: fb010113 addi sp,sp,-80 -800002ec: 04112623 sw ra,76(sp) -800002f0: 04812423 sw s0,72(sp) -800002f4: 05010413 addi s0,sp,80 -800002f8: eadff0ef jal ra,800001a4 -800002fc: fea42423 sw a0,-24(s0) -80000300: 00010993 mv s3,sp -80000304: 00100793 li a5,1 -80000308: fef42623 sw a5,-20(s0) -8000030c: 0840006f j 80000390 -80000310: fec42703 lw a4,-20(s0) -80000314: 4c400793 li a5,1220 -80000318: 02f70733 mul a4,a4,a5 -8000031c: 810007b7 lui a5,0x81000 -80000320: 36478793 addi a5,a5,868 # 81000364 -80000324: 00f707b3 add a5,a4,a5 -80000328: 00078513 mv a0,a5 -8000032c: 3d4000ef jal ra,80000700 -80000330: 00050793 mv a5,a0 -80000334: 04079863 bnez a5,80000384 -80000338: fec42703 lw a4,-20(s0) -8000033c: 4c400793 li a5,1220 -80000340: 02f70733 mul a4,a4,a5 -80000344: 810007b7 lui a5,0x81000 -80000348: 36478793 addi a5,a5,868 # 81000364 -8000034c: 00f707b3 add a5,a4,a5 -80000350: fd040713 addi a4,s0,-48 -80000354: 00070593 mv a1,a4 -80000358: 00078513 mv a0,a5 -8000035c: 31c000ef jal ra,80000678 -80000360: fd842783 lw a5,-40(s0) -80000364: 00078113 mv sp,a5 -80000368: fd442783 lw a5,-44(s0) -8000036c: fd042583 lw a1,-48(s0) -80000370: fdc42603 lw a2,-36(s0) -80000374: fe042683 lw a3,-32(s0) -80000378: fe442703 lw a4,-28(s0) -8000037c: 00078513 mv a0,a5 -80000380: cf5ff0ef jal ra,80000074 -80000384: fec42783 lw a5,-20(s0) -80000388: 00178793 addi a5,a5,1 -8000038c: fef42623 sw a5,-20(s0) -80000390: fec42783 lw a5,-20(s0) -80000394: fe842703 lw a4,-24(s0) -80000398: f6e7ece3 bltu a5,a4,80000310 -8000039c: 00098113 mv sp,s3 -800003a0: ce5ff0ef jal ra,80000084 -800003a4: 00020793 mv a5,tp -800003a8: 04078863 beqz a5,800003f8 -800003ac: 810007b7 lui a5,0x81000 -800003b0: 36478513 addi a0,a5,868 # 81000364 -800003b4: 34c000ef jal ra,80000700 -800003b8: 00050793 mv a5,a0 -800003bc: 02079e63 bnez a5,800003f8 -800003c0: fb840793 addi a5,s0,-72 -800003c4: 00078593 mv a1,a5 -800003c8: 810007b7 lui a5,0x81000 -800003cc: 36478513 addi a0,a5,868 # 81000364 -800003d0: 2a8000ef jal ra,80000678 -800003d4: fc042783 lw a5,-64(s0) -800003d8: 00078113 mv sp,a5 -800003dc: fbc42783 lw a5,-68(s0) -800003e0: fb842583 lw a1,-72(s0) -800003e4: fc442603 lw a2,-60(s0) -800003e8: fc842683 lw a3,-56(s0) -800003ec: fcc42703 lw a4,-52(s0) -800003f0: 00078513 mv a0,a5 -800003f4: c35ff0ef jal ra,80000028 -800003f8: 00000013 nop -800003fc: 04c12083 lw ra,76(sp) -80000400: 04812403 lw s0,72(sp) -80000404: 05010113 addi sp,sp,80 -80000408: 00008067 ret +80000300 : +80000300: fb010113 addi sp,sp,-80 +80000304: 04112623 sw ra,76(sp) +80000308: 04812423 sw s0,72(sp) +8000030c: 05010413 addi s0,sp,80 +80000310: eadff0ef jal ra,800001bc +80000314: fea42423 sw a0,-24(s0) +80000318: 00010993 mv s3,sp +8000031c: 00100793 li a5,1 +80000320: fef42623 sw a5,-20(s0) +80000324: 0840006f j 800003a8 +80000328: fec42703 lw a4,-20(s0) +8000032c: 4c400793 li a5,1220 +80000330: 02f70733 mul a4,a4,a5 +80000334: 810007b7 lui a5,0x81000 +80000338: 31c78793 addi a5,a5,796 # 8100031c +8000033c: 00f707b3 add a5,a4,a5 +80000340: 00078513 mv a0,a5 +80000344: 3d4000ef jal ra,80000718 +80000348: 00050793 mv a5,a0 +8000034c: 04079863 bnez a5,8000039c +80000350: fec42703 lw a4,-20(s0) +80000354: 4c400793 li a5,1220 +80000358: 02f70733 mul a4,a4,a5 +8000035c: 810007b7 lui a5,0x81000 +80000360: 31c78793 addi a5,a5,796 # 8100031c +80000364: 00f707b3 add a5,a4,a5 +80000368: fd040713 addi a4,s0,-48 +8000036c: 00070593 mv a1,a4 +80000370: 00078513 mv a0,a5 +80000374: 31c000ef jal ra,80000690 +80000378: fd842783 lw a5,-40(s0) +8000037c: 00078113 mv sp,a5 +80000380: fd442783 lw a5,-44(s0) +80000384: fd042583 lw a1,-48(s0) +80000388: fdc42603 lw a2,-36(s0) +8000038c: fe042683 lw a3,-32(s0) +80000390: fe442703 lw a4,-28(s0) +80000394: 00078513 mv a0,a5 +80000398: cf5ff0ef jal ra,8000008c +8000039c: fec42783 lw a5,-20(s0) +800003a0: 00178793 addi a5,a5,1 +800003a4: fef42623 sw a5,-20(s0) +800003a8: fec42783 lw a5,-20(s0) +800003ac: fe842703 lw a4,-24(s0) +800003b0: f6e7ece3 bltu a5,a4,80000328 +800003b4: 00098113 mv sp,s3 +800003b8: ce5ff0ef jal ra,8000009c +800003bc: 00020793 mv a5,tp +800003c0: 04078863 beqz a5,80000410 +800003c4: 810007b7 lui a5,0x81000 +800003c8: 31c78513 addi a0,a5,796 # 8100031c +800003cc: 34c000ef jal ra,80000718 +800003d0: 00050793 mv a5,a0 +800003d4: 02079e63 bnez a5,80000410 +800003d8: fb840793 addi a5,s0,-72 +800003dc: 00078593 mv a1,a5 +800003e0: 810007b7 lui a5,0x81000 +800003e4: 31c78513 addi a0,a5,796 # 8100031c +800003e8: 2a8000ef jal ra,80000690 +800003ec: fc042783 lw a5,-64(s0) +800003f0: 00078113 mv sp,a5 +800003f4: fbc42783 lw a5,-68(s0) +800003f8: fb842583 lw a1,-72(s0) +800003fc: fc442603 lw a2,-60(s0) +80000400: fc842683 lw a3,-56(s0) +80000404: fcc42703 lw a4,-52(s0) +80000408: 00078513 mv a0,a5 +8000040c: c1dff0ef jal ra,80000028 +80000410: 00000013 nop +80000414: 04c12083 lw ra,76(sp) +80000418: 04812403 lw s0,72(sp) +8000041c: 05010113 addi sp,sp,80 +80000420: 00008067 ret -8000040c : -8000040c: fb010113 addi sp,sp,-80 -80000410: 04112623 sw ra,76(sp) -80000414: 04812423 sw s0,72(sp) -80000418: 05010413 addi s0,sp,80 -8000041c: faa42e23 sw a0,-68(s0) -80000420: fab42c23 sw a1,-72(s0) -80000424: fac42a23 sw a2,-76(s0) -80000428: fad42823 sw a3,-80(s0) -8000042c: d89ff0ef jal ra,800001b4 -80000430: d75ff0ef jal ra,800001a4 -80000434: fea42223 sw a0,-28(s0) -80000438: 00010913 mv s2,sp -8000043c: fe042623 sw zero,-20(s0) -80000440: fe042423 sw zero,-24(s0) -80000444: 08c0006f j 800004d0 -80000448: ffff09b7 lui s3,0xffff0 -8000044c: 01310133 add sp,sp,s3 -80000450: fe842783 lw a5,-24(s0) -80000454: fcf42623 sw a5,-52(s0) -80000458: fb842783 lw a5,-72(s0) -8000045c: fcf42823 sw a5,-48(s0) -80000460: 00010793 mv a5,sp -80000464: fcf42a23 sw a5,-44(s0) -80000468: fb442783 lw a5,-76(s0) -8000046c: fcf42c23 sw a5,-40(s0) -80000470: fb042783 lw a5,-80(s0) -80000474: fcf42e23 sw a5,-36(s0) -80000478: fec42783 lw a5,-20(s0) -8000047c: fef42023 sw a5,-32(s0) -80000480: fec42703 lw a4,-20(s0) -80000484: 4c400793 li a5,1220 -80000488: 02f70733 mul a4,a4,a5 -8000048c: 810007b7 lui a5,0x81000 -80000490: 36478793 addi a5,a5,868 # 81000364 -80000494: 00f707b3 add a5,a4,a5 -80000498: fcc40713 addi a4,s0,-52 -8000049c: 00070593 mv a1,a4 -800004a0: 00078513 mv a0,a5 -800004a4: 16c000ef jal ra,80000610 -800004a8: fec42783 lw a5,-20(s0) -800004ac: 00178793 addi a5,a5,1 -800004b0: fef42623 sw a5,-20(s0) -800004b4: fec42783 lw a5,-20(s0) -800004b8: fe442703 lw a4,-28(s0) -800004bc: 00e7e463 bltu a5,a4,800004c4 -800004c0: fe042623 sw zero,-20(s0) -800004c4: fe842783 lw a5,-24(s0) -800004c8: 00178793 addi a5,a5,1 -800004cc: fef42423 sw a5,-24(s0) -800004d0: fe842703 lw a4,-24(s0) -800004d4: fbc42783 lw a5,-68(s0) -800004d8: f6f768e3 bltu a4,a5,80000448 -800004dc: 00090113 mv sp,s2 -800004e0: e09ff0ef jal ra,800002e8 -800004e4: 00000013 nop -800004e8: 04c12083 lw ra,76(sp) -800004ec: 04812403 lw s0,72(sp) -800004f0: 05010113 addi sp,sp,80 -800004f4: 00008067 ret +80000424 : +80000424: fb010113 addi sp,sp,-80 +80000428: 04112623 sw ra,76(sp) +8000042c: 04812423 sw s0,72(sp) +80000430: 05010413 addi s0,sp,80 +80000434: faa42e23 sw a0,-68(s0) +80000438: fab42c23 sw a1,-72(s0) +8000043c: fac42a23 sw a2,-76(s0) +80000440: fad42823 sw a3,-80(s0) +80000444: d89ff0ef jal ra,800001cc +80000448: d75ff0ef jal ra,800001bc +8000044c: fea42223 sw a0,-28(s0) +80000450: 00010913 mv s2,sp +80000454: fe042623 sw zero,-20(s0) +80000458: fe042423 sw zero,-24(s0) +8000045c: 08c0006f j 800004e8 +80000460: ffff09b7 lui s3,0xffff0 +80000464: 01310133 add sp,sp,s3 +80000468: fe842783 lw a5,-24(s0) +8000046c: fcf42623 sw a5,-52(s0) +80000470: fb842783 lw a5,-72(s0) +80000474: fcf42823 sw a5,-48(s0) +80000478: 00010793 mv a5,sp +8000047c: fcf42a23 sw a5,-44(s0) +80000480: fb442783 lw a5,-76(s0) +80000484: fcf42c23 sw a5,-40(s0) +80000488: fb042783 lw a5,-80(s0) +8000048c: fcf42e23 sw a5,-36(s0) +80000490: fec42783 lw a5,-20(s0) +80000494: fef42023 sw a5,-32(s0) +80000498: fec42703 lw a4,-20(s0) +8000049c: 4c400793 li a5,1220 +800004a0: 02f70733 mul a4,a4,a5 +800004a4: 810007b7 lui a5,0x81000 +800004a8: 31c78793 addi a5,a5,796 # 8100031c +800004ac: 00f707b3 add a5,a4,a5 +800004b0: fcc40713 addi a4,s0,-52 +800004b4: 00070593 mv a1,a4 +800004b8: 00078513 mv a0,a5 +800004bc: 16c000ef jal ra,80000628 +800004c0: fec42783 lw a5,-20(s0) +800004c4: 00178793 addi a5,a5,1 +800004c8: fef42623 sw a5,-20(s0) +800004cc: fec42783 lw a5,-20(s0) +800004d0: fe442703 lw a4,-28(s0) +800004d4: 00e7e463 bltu a5,a4,800004dc +800004d8: fe042623 sw zero,-20(s0) +800004dc: fe842783 lw a5,-24(s0) +800004e0: 00178793 addi a5,a5,1 +800004e4: fef42423 sw a5,-24(s0) +800004e8: fe842703 lw a4,-24(s0) +800004ec: fbc42783 lw a5,-68(s0) +800004f0: f6f768e3 bltu a4,a5,80000460 +800004f4: 00090113 mv sp,s2 +800004f8: e09ff0ef jal ra,80000300 +800004fc: 00000013 nop +80000500: 04c12083 lw ra,76(sp) +80000504: 04812403 lw s0,72(sp) +80000508: 05010113 addi sp,sp,80 +8000050c: 00008067 ret -800004f8 : -800004f8: fd010113 addi sp,sp,-48 -800004fc: 02112623 sw ra,44(sp) -80000500: 02812423 sw s0,40(sp) -80000504: 03010413 addi s0,sp,48 -80000508: fca42e23 sw a0,-36(s0) -8000050c: c99ff0ef jal ra,800001a4 -80000510: fea42023 sw a0,-32(s0) -80000514: fe042623 sw zero,-20(s0) -80000518: 0540006f j 8000056c -8000051c: fe042623 sw zero,-20(s0) -80000520: fe042423 sw zero,-24(s0) -80000524: 03c0006f j 80000560 -80000528: 810007b7 lui a5,0x81000 -8000052c: fe842703 lw a4,-24(s0) -80000530: 00271713 slli a4,a4,0x2 -80000534: 2c478793 addi a5,a5,708 # 810002c4 -80000538: 00f707b3 add a5,a4,a5 -8000053c: 0007a703 lw a4,0(a5) -80000540: 00100793 li a5,1 -80000544: 00f71863 bne a4,a5,80000554 -80000548: fec42783 lw a5,-20(s0) -8000054c: 00178793 addi a5,a5,1 -80000550: fef42623 sw a5,-20(s0) -80000554: fe842783 lw a5,-24(s0) -80000558: 00178793 addi a5,a5,1 -8000055c: fef42423 sw a5,-24(s0) -80000560: fe842783 lw a5,-24(s0) -80000564: fe042703 lw a4,-32(s0) -80000568: fce7e0e3 bltu a5,a4,80000528 -8000056c: fec42703 lw a4,-20(s0) -80000570: fdc42783 lw a5,-36(s0) -80000574: faf714e3 bne a4,a5,8000051c -80000578: fe042223 sw zero,-28(s0) -8000057c: 0280006f j 800005a4 -80000580: 810007b7 lui a5,0x81000 -80000584: fe442703 lw a4,-28(s0) -80000588: 00271713 slli a4,a4,0x2 -8000058c: 2c478793 addi a5,a5,708 # 810002c4 -80000590: 00f707b3 add a5,a4,a5 -80000594: 0007a023 sw zero,0(a5) -80000598: fe442783 lw a5,-28(s0) -8000059c: 00178793 addi a5,a5,1 -800005a0: fef42223 sw a5,-28(s0) -800005a4: fe442783 lw a5,-28(s0) -800005a8: fe042703 lw a4,-32(s0) -800005ac: fce7eae3 bltu a5,a4,80000580 -800005b0: 00000013 nop -800005b4: 02c12083 lw ra,44(sp) -800005b8: 02812403 lw s0,40(sp) -800005bc: 03010113 addi sp,sp,48 -800005c0: 00008067 ret +80000510 : +80000510: fd010113 addi sp,sp,-48 +80000514: 02112623 sw ra,44(sp) +80000518: 02812423 sw s0,40(sp) +8000051c: 03010413 addi s0,sp,48 +80000520: fca42e23 sw a0,-36(s0) +80000524: c99ff0ef jal ra,800001bc +80000528: fea42023 sw a0,-32(s0) +8000052c: fe042623 sw zero,-20(s0) +80000530: 0540006f j 80000584 +80000534: fe042623 sw zero,-20(s0) +80000538: fe042423 sw zero,-24(s0) +8000053c: 03c0006f j 80000578 +80000540: 810007b7 lui a5,0x81000 +80000544: fe842703 lw a4,-24(s0) +80000548: 00271713 slli a4,a4,0x2 +8000054c: 27c78793 addi a5,a5,636 # 8100027c +80000550: 00f707b3 add a5,a4,a5 +80000554: 0007a703 lw a4,0(a5) +80000558: 00100793 li a5,1 +8000055c: 00f71863 bne a4,a5,8000056c +80000560: fec42783 lw a5,-20(s0) +80000564: 00178793 addi a5,a5,1 +80000568: fef42623 sw a5,-20(s0) +8000056c: fe842783 lw a5,-24(s0) +80000570: 00178793 addi a5,a5,1 +80000574: fef42423 sw a5,-24(s0) +80000578: fe842783 lw a5,-24(s0) +8000057c: fe042703 lw a4,-32(s0) +80000580: fce7e0e3 bltu a5,a4,80000540 +80000584: fec42703 lw a4,-20(s0) +80000588: fdc42783 lw a5,-36(s0) +8000058c: faf714e3 bne a4,a5,80000534 +80000590: fe042223 sw zero,-28(s0) +80000594: 0280006f j 800005bc +80000598: 810007b7 lui a5,0x81000 +8000059c: fe442703 lw a4,-28(s0) +800005a0: 00271713 slli a4,a4,0x2 +800005a4: 27c78793 addi a5,a5,636 # 8100027c +800005a8: 00f707b3 add a5,a4,a5 +800005ac: 0007a023 sw zero,0(a5) +800005b0: fe442783 lw a5,-28(s0) +800005b4: 00178793 addi a5,a5,1 +800005b8: fef42223 sw a5,-28(s0) +800005bc: fe442783 lw a5,-28(s0) +800005c0: fe042703 lw a4,-32(s0) +800005c4: fce7eae3 bltu a5,a4,80000598 +800005c8: 00000013 nop +800005cc: 02c12083 lw ra,44(sp) +800005d0: 02812403 lw s0,40(sp) +800005d4: 03010113 addi sp,sp,48 +800005d8: 00008067 ret -800005c4 : -800005c4: ff010113 addi sp,sp,-16 -800005c8: 00812623 sw s0,12(sp) -800005cc: 01712423 sw s7,8(sp) -800005d0: 01010413 addi s0,sp,16 -800005d4: 000b8793 mv a5,s7 -800005d8: 00078513 mv a0,a5 -800005dc: 00c12403 lw s0,12(sp) -800005e0: 00812b83 lw s7,8(sp) -800005e4: 01010113 addi sp,sp,16 -800005e8: 00008067 ret +800005dc : +800005dc: ff010113 addi sp,sp,-16 +800005e0: 00812623 sw s0,12(sp) +800005e4: 01712423 sw s7,8(sp) +800005e8: 01010413 addi s0,sp,16 +800005ec: 000b8793 mv a5,s7 +800005f0: 00078513 mv a0,a5 +800005f4: 00c12403 lw s0,12(sp) +800005f8: 00812b83 lw s7,8(sp) +800005fc: 01010113 addi sp,sp,16 +80000600: 00008067 ret -800005ec : -800005ec: 00050293 mv t0,a0 -800005f0: 00000313 li t1,0 -800005f4: 00700393 li t2,7 -800005f8: 0062a023 sw t1,0(t0) -800005fc: 0062a223 sw t1,4(t0) -80000600: 0062a423 sw t1,8(t0) -80000604: 0072a623 sw t2,12(t0) -80000608: 0062a823 sw t1,16(t0) -8000060c: 00008067 ret +80000604 : +80000604: 00050293 mv t0,a0 +80000608: 00000313 li t1,0 +8000060c: 00700393 li t2,7 +80000610: 0062a023 sw t1,0(t0) +80000614: 0062a223 sw t1,4(t0) +80000618: 0062a423 sw t1,8(t0) +8000061c: 0072a623 sw t2,12(t0) +80000620: 0062a823 sw t1,16(t0) +80000624: 00008067 ret -80000610 : -80000610: 00050293 mv t0,a0 -80000614: 0082a303 lw t1,8(t0) -80000618: 00130313 addi t1,t1,1 -8000061c: 0062a423 sw t1,8(t0) -80000620: 01428313 addi t1,t0,20 -80000624: 0042ae83 lw t4,4(t0) -80000628: 005e9393 slli t2,t4,0x5 -8000062c: 00730333 add t1,t1,t2 -80000630: 0005ae03 lw t3,0(a1) -80000634: 01c32023 sw t3,0(t1) -80000638: 0045ae03 lw t3,4(a1) -8000063c: 01c32223 sw t3,4(t1) -80000640: 0085ae03 lw t3,8(a1) -80000644: 01c32423 sw t3,8(t1) -80000648: 00c5ae03 lw t3,12(a1) -8000064c: 01c32623 sw t3,12(t1) -80000650: 0105ae03 lw t3,16(a1) -80000654: 01c32823 sw t3,16(t1) -80000658: 0145ae03 lw t3,20(a1) -8000065c: 01c32a23 sw t3,20(t1) -80000660: 001e8e93 addi t4,t4,1 -80000664: 03200f13 li t5,50 -80000668: 01ee9463 bne t4,t5,80000670 -8000066c: 00000e93 li t4,0 +80000628 : +80000628: 00050293 mv t0,a0 +8000062c: 0082a303 lw t1,8(t0) +80000630: 00130313 addi t1,t1,1 +80000634: 0062a423 sw t1,8(t0) +80000638: 01428313 addi t1,t0,20 +8000063c: 0042ae83 lw t4,4(t0) +80000640: 005e9393 slli t2,t4,0x5 +80000644: 00730333 add t1,t1,t2 +80000648: 0005ae03 lw t3,0(a1) +8000064c: 01c32023 sw t3,0(t1) +80000650: 0045ae03 lw t3,4(a1) +80000654: 01c32223 sw t3,4(t1) +80000658: 0085ae03 lw t3,8(a1) +8000065c: 01c32423 sw t3,8(t1) +80000660: 00c5ae03 lw t3,12(a1) +80000664: 01c32623 sw t3,12(t1) +80000668: 0105ae03 lw t3,16(a1) +8000066c: 01c32823 sw t3,16(t1) +80000670: 0145ae03 lw t3,20(a1) +80000674: 01c32a23 sw t3,20(t1) +80000678: 001e8e93 addi t4,t4,1 +8000067c: 03200f13 li t5,50 +80000680: 01ee9463 bne t4,t5,80000688 +80000684: 00000e93 li t4,0 -80000670 : -80000670: 01d2a223 sw t4,4(t0) -80000674: 00008067 ret +80000688 : +80000688: 01d2a223 sw t4,4(t0) +8000068c: 00008067 ret -80000678 : -80000678: 00050293 mv t0,a0 -8000067c: 0082a303 lw t1,8(t0) -80000680: fff30313 addi t1,t1,-1 -80000684: 0062a423 sw t1,8(t0) -80000688: 01428313 addi t1,t0,20 -8000068c: 0002ae83 lw t4,0(t0) -80000690: 03200f93 li t6,50 -80000694: 000e8f13 mv t5,t4 -80000698: 001f0f13 addi t5,t5,1 -8000069c: 01ff1463 bne t5,t6,800006a4 -800006a0: 00000f13 li t5,0 +80000690 : +80000690: 00050293 mv t0,a0 +80000694: 0082a303 lw t1,8(t0) +80000698: fff30313 addi t1,t1,-1 +8000069c: 0062a423 sw t1,8(t0) +800006a0: 01428313 addi t1,t0,20 +800006a4: 0002ae83 lw t4,0(t0) +800006a8: 03200f93 li t6,50 +800006ac: 000e8f13 mv t5,t4 +800006b0: 001f0f13 addi t5,t5,1 +800006b4: 01ff1463 bne t5,t6,800006bc +800006b8: 00000f13 li t5,0 -800006a4 : -800006a4: 01e2a023 sw t5,0(t0) -800006a8: 005e9393 slli t2,t4,0x5 -800006ac: 00730333 add t1,t1,t2 -800006b0: 00032e03 lw t3,0(t1) -800006b4: 01c5a023 sw t3,0(a1) -800006b8: 00432e03 lw t3,4(t1) -800006bc: 01c5a223 sw t3,4(a1) -800006c0: 00832e03 lw t3,8(t1) -800006c4: 01c5a423 sw t3,8(a1) -800006c8: 00c32e03 lw t3,12(t1) -800006cc: 01c5a623 sw t3,12(a1) -800006d0: 01032e03 lw t3,16(t1) -800006d4: 01c5a823 sw t3,16(a1) -800006d8: 01432e03 lw t3,20(t1) -800006dc: 01c5aa23 sw t3,20(a1) -800006e0: 00008067 ret +800006bc : +800006bc: 01e2a023 sw t5,0(t0) +800006c0: 005e9393 slli t2,t4,0x5 +800006c4: 00730333 add t1,t1,t2 +800006c8: 00032e03 lw t3,0(t1) +800006cc: 01c5a023 sw t3,0(a1) +800006d0: 00432e03 lw t3,4(t1) +800006d4: 01c5a223 sw t3,4(a1) +800006d8: 00832e03 lw t3,8(t1) +800006dc: 01c5a423 sw t3,8(a1) +800006e0: 00c32e03 lw t3,12(t1) +800006e4: 01c5a623 sw t3,12(a1) +800006e8: 01032e03 lw t3,16(t1) +800006ec: 01c5a823 sw t3,16(a1) +800006f0: 01432e03 lw t3,20(t1) +800006f4: 01c5aa23 sw t3,20(a1) +800006f8: 00008067 ret -800006e4 : -800006e4: 00050293 mv t0,a0 -800006e8: 0082a303 lw t1,8(t0) -800006ec: 00000513 li a0,0 -800006f0: 03200e13 li t3,50 -800006f4: 006e1463 bne t3,t1,800006fc -800006f8: 00150513 addi a0,a0,1 +800006fc : +800006fc: 00050293 mv t0,a0 +80000700: 0082a303 lw t1,8(t0) +80000704: 00000513 li a0,0 +80000708: 03200e13 li t3,50 +8000070c: 006e1463 bne t3,t1,80000714 +80000710: 00150513 addi a0,a0,1 -800006fc : -800006fc: 00008067 ret +80000714 : +80000714: 00008067 ret -80000700 : -80000700: 00050293 mv t0,a0 -80000704: 0082a303 lw t1,8(t0) -80000708: 00000513 li a0,0 -8000070c: 00000e13 li t3,0 -80000710: 006e1463 bne t3,t1,80000718 -80000714: 00150513 addi a0,a0,1 +80000718 : +80000718: 00050293 mv t0,a0 +8000071c: 0082a303 lw t1,8(t0) +80000720: 00000513 li a0,0 +80000724: 00000e13 li t3,0 +80000728: 006e1463 bne t3,t1,80000730 +8000072c: 00150513 addi a0,a0,1 -80000718 : -80000718: 00008067 ret +80000730 : +80000730: 00008067 ret -8000071c : -8000071c: 00050293 mv t0,a0 -80000720: 00c2a303 lw t1,12(t0) -80000724: 0102a383 lw t2,16(t0) -80000728: 0063b533 sltu a0,t2,t1 -8000072c: 00008067 ret +80000734 : +80000734: 00050293 mv t0,a0 +80000738: 00c2a303 lw t1,12(t0) +8000073c: 0102a383 lw t2,16(t0) +80000740: 0063b533 sltu a0,t2,t1 +80000744: 00008067 ret -80000730 : -80000730: ff410113 addi sp,sp,-12 -80000734: 00112023 sw ra,0(sp) -80000738: 00b12223 sw a1,4(sp) +80000748 : +80000748: ff410113 addi sp,sp,-12 +8000074c: 00112023 sw ra,0(sp) +80000750: 00b12223 sw a1,4(sp) -8000073c : -8000073c: 00054583 lbu a1,0(a0) -80000740: 00058863 beqz a1,80000750 -80000744: 01c000ef jal ra,80000760 -80000748: 00150513 addi a0,a0,1 -8000074c: ff1ff06f j 8000073c +80000754 : +80000754: 00054583 lbu a1,0(a0) +80000758: 00058863 beqz a1,80000768 +8000075c: 01c000ef jal ra,80000778 +80000760: 00150513 addi a0,a0,1 +80000764: ff1ff06f j 80000754 -80000750 : -80000750: 00012083 lw ra,0(sp) -80000754: 00412583 lw a1,4(sp) -80000758: 00c10113 addi sp,sp,12 -8000075c: 00008067 ret +80000768 : +80000768: 00012083 lw ra,0(sp) +8000076c: 00412583 lw a1,4(sp) +80000770: 00c10113 addi sp,sp,12 +80000774: 00008067 ret -80000760 : -80000760: 000108b7 lui a7,0x10 -80000764: 00b8a023 sw a1,0(a7) # 10000 -80000768: 00008067 ret +80000778 : +80000778: 000108b7 lui a7,0x10 +8000077c: 00b8a023 sw a1,0(a7) # 10000 +80000780: 00008067 ret -8000076c : -8000076c: fd010113 addi sp,sp,-48 -80000770: 02112623 sw ra,44(sp) -80000774: 02812423 sw s0,40(sp) -80000778: 03010413 addi s0,sp,48 -8000077c: fca42e23 sw a0,-36(s0) -80000780: fdc42703 lw a4,-36(s0) -80000784: 00f00793 li a5,15 -80000788: 02e7e463 bltu a5,a4,800007b0 -8000078c: 810007b7 lui a5,0x81000 -80000790: fdc42703 lw a4,-36(s0) -80000794: 00271713 slli a4,a4,0x2 -80000798: 20478793 addi a5,a5,516 # 81000204 -8000079c: 00f707b3 add a5,a4,a5 -800007a0: 0007a783 lw a5,0(a5) -800007a4: 00078513 mv a0,a5 -800007a8: f89ff0ef jal ra,80000730 -800007ac: 0740006f j 80000820 -800007b0: 02000793 li a5,32 -800007b4: fef42623 sw a5,-20(s0) -800007b8: fe0405a3 sb zero,-21(s0) -800007bc: fec42783 lw a5,-20(s0) -800007c0: ffc78793 addi a5,a5,-4 -800007c4: fdc42703 lw a4,-36(s0) -800007c8: 00f757b3 srl a5,a4,a5 -800007cc: 00f7f793 andi a5,a5,15 -800007d0: fef42223 sw a5,-28(s0) -800007d4: fe442783 lw a5,-28(s0) -800007d8: 00078663 beqz a5,800007e4 -800007dc: 00100793 li a5,1 -800007e0: fef405a3 sb a5,-21(s0) -800007e4: feb44783 lbu a5,-21(s0) -800007e8: 02078263 beqz a5,8000080c -800007ec: 810007b7 lui a5,0x81000 -800007f0: fe442703 lw a4,-28(s0) -800007f4: 00271713 slli a4,a4,0x2 -800007f8: 20478793 addi a5,a5,516 # 81000204 -800007fc: 00f707b3 add a5,a4,a5 -80000800: 0007a783 lw a5,0(a5) -80000804: 00078513 mv a0,a5 -80000808: f29ff0ef jal ra,80000730 -8000080c: fec42783 lw a5,-20(s0) -80000810: ffc78793 addi a5,a5,-4 -80000814: fef42623 sw a5,-20(s0) -80000818: fec42783 lw a5,-20(s0) -8000081c: faf040e3 bgtz a5,800007bc -80000820: 02c12083 lw ra,44(sp) -80000824: 02812403 lw s0,40(sp) -80000828: 03010113 addi sp,sp,48 -8000082c: 00008067 ret +80000784 : +80000784: fd010113 addi sp,sp,-48 +80000788: 02112623 sw ra,44(sp) +8000078c: 02812423 sw s0,40(sp) +80000790: 03010413 addi s0,sp,48 +80000794: fca42e23 sw a0,-36(s0) +80000798: fdc42703 lw a4,-36(s0) +8000079c: 00f00793 li a5,15 +800007a0: 02e7e463 bltu a5,a4,800007c8 +800007a4: 810007b7 lui a5,0x81000 +800007a8: fdc42703 lw a4,-36(s0) +800007ac: 00271713 slli a4,a4,0x2 +800007b0: 1bc78793 addi a5,a5,444 # 810001bc +800007b4: 00f707b3 add a5,a4,a5 +800007b8: 0007a783 lw a5,0(a5) +800007bc: 00078513 mv a0,a5 +800007c0: f89ff0ef jal ra,80000748 +800007c4: 0740006f j 80000838 +800007c8: 02000793 li a5,32 +800007cc: fef42623 sw a5,-20(s0) +800007d0: fe0405a3 sb zero,-21(s0) +800007d4: fec42783 lw a5,-20(s0) +800007d8: ffc78793 addi a5,a5,-4 +800007dc: fdc42703 lw a4,-36(s0) +800007e0: 00f757b3 srl a5,a4,a5 +800007e4: 00f7f793 andi a5,a5,15 +800007e8: fef42223 sw a5,-28(s0) +800007ec: fe442783 lw a5,-28(s0) +800007f0: 00078663 beqz a5,800007fc +800007f4: 00100793 li a5,1 +800007f8: fef405a3 sb a5,-21(s0) +800007fc: feb44783 lbu a5,-21(s0) +80000800: 02078263 beqz a5,80000824 +80000804: 810007b7 lui a5,0x81000 +80000808: fe442703 lw a4,-28(s0) +8000080c: 00271713 slli a4,a4,0x2 +80000810: 1bc78793 addi a5,a5,444 # 810001bc +80000814: 00f707b3 add a5,a4,a5 +80000818: 0007a783 lw a5,0(a5) +8000081c: 00078513 mv a0,a5 +80000820: f29ff0ef jal ra,80000748 +80000824: fec42783 lw a5,-20(s0) +80000828: ffc78793 addi a5,a5,-4 +8000082c: fef42623 sw a5,-20(s0) +80000830: fec42783 lw a5,-20(s0) +80000834: faf040e3 bgtz a5,800007d4 +80000838: 02c12083 lw ra,44(sp) +8000083c: 02812403 lw s0,40(sp) +80000840: 03010113 addi sp,sp,48 +80000844: 00008067 ret -80000830 : -80000830: fe010113 addi sp,sp,-32 -80000834: 00112e23 sw ra,28(sp) -80000838: 00812c23 sw s0,24(sp) -8000083c: 02010413 addi s0,sp,32 -80000840: fea42623 sw a0,-20(s0) -80000844: feb42423 sw a1,-24(s0) -80000848: fec42503 lw a0,-20(s0) -8000084c: ee5ff0ef jal ra,80000730 -80000850: fe842503 lw a0,-24(s0) -80000854: f19ff0ef jal ra,8000076c -80000858: 810007b7 lui a5,0x81000 -8000085c: 08078513 addi a0,a5,128 # 81000080 -80000860: ed1ff0ef jal ra,80000730 -80000864: 00000013 nop -80000868: 01c12083 lw ra,28(sp) -8000086c: 01812403 lw s0,24(sp) -80000870: 02010113 addi sp,sp,32 -80000874: 00008067 ret +80000848 : +80000848: fe010113 addi sp,sp,-32 +8000084c: 00112e23 sw ra,28(sp) +80000850: 00812c23 sw s0,24(sp) +80000854: 02010413 addi s0,sp,32 +80000858: fea42623 sw a0,-20(s0) +8000085c: feb42423 sw a1,-24(s0) +80000860: fec42503 lw a0,-20(s0) +80000864: ee5ff0ef jal ra,80000748 +80000868: fe842503 lw a0,-24(s0) +8000086c: f19ff0ef jal ra,80000784 +80000870: 810007b7 lui a5,0x81000 +80000874: 08078513 addi a0,a5,128 # 81000080 +80000878: ed1ff0ef jal ra,80000748 +8000087c: 00000013 nop +80000880: 01c12083 lw ra,28(sp) +80000884: 01812403 lw s0,24(sp) +80000888: 02010113 addi sp,sp,32 +8000088c: 00008067 ret -80000878 : -80000878: fd010113 addi sp,sp,-48 -8000087c: 02112623 sw ra,44(sp) -80000880: 02812423 sw s0,40(sp) -80000884: 03010413 addi s0,sp,48 -80000888: fca42e23 sw a0,-36(s0) -8000088c: fcb42c23 sw a1,-40(s0) -80000890: fcc42a23 sw a2,-44(s0) -80000894: fcd42823 sw a3,-48(s0) -80000898: 810037b7 lui a5,0x81003 -8000089c: fdc42703 lw a4,-36(s0) -800008a0: 9ae7a223 sw a4,-1628(a5) # 810029a4 -800008a4: 810037b7 lui a5,0x81003 -800008a8: 9a478793 addi a5,a5,-1628 # 810029a4 -800008ac: fd842703 lw a4,-40(s0) -800008b0: 00e7a223 sw a4,4(a5) -800008b4: 810037b7 lui a5,0x81003 -800008b8: 9a478793 addi a5,a5,-1628 # 810029a4 -800008bc: fd442703 lw a4,-44(s0) -800008c0: 00e7a423 sw a4,8(a5) -800008c4: 810037b7 lui a5,0x81003 -800008c8: 9a478793 addi a5,a5,-1628 # 810029a4 -800008cc: fd042703 lw a4,-48(s0) -800008d0: 00e7a623 sw a4,12(a5) -800008d4: 8d9ff0ef jal ra,800001ac -800008d8: fea42423 sw a0,-24(s0) -800008dc: fd042703 lw a4,-48(s0) -800008e0: fe842783 lw a5,-24(s0) -800008e4: 02f757b3 divu a5,a4,a5 -800008e8: fef42623 sw a5,-20(s0) -800008ec: fd042703 lw a4,-48(s0) -800008f0: fe842783 lw a5,-24(s0) -800008f4: 02f777b3 remu a5,a4,a5 -800008f8: 00078863 beqz a5,80000908 -800008fc: fec42783 lw a5,-20(s0) -80000900: 00178793 addi a5,a5,1 -80000904: fef42623 sw a5,-20(s0) -80000908: fec42583 lw a1,-20(s0) -8000090c: 810007b7 lui a5,0x81000 -80000910: 0c478513 addi a0,a5,196 # 810000c4 -80000914: f1dff0ef jal ra,80000830 -80000918: 810037b7 lui a5,0x81003 -8000091c: 9a478793 addi a5,a5,-1628 # 810029a4 -80000920: fec42703 lw a4,-20(s0) -80000924: 00e7a823 sw a4,16(a5) -80000928: fd042703 lw a4,-48(s0) -8000092c: fe842783 lw a5,-24(s0) -80000930: 02f76263 bltu a4,a5,80000954 -80000934: 810037b7 lui a5,0x81003 -80000938: 9a478693 addi a3,a5,-1628 # 810029a4 -8000093c: 800017b7 lui a5,0x80001 -80000940: 9ac78613 addi a2,a5,-1620 # 800009ac -80000944: fe842583 lw a1,-24(s0) -80000948: fd042503 lw a0,-48(s0) -8000094c: ac1ff0ef jal ra,8000040c -80000950: 0200006f j 80000970 -80000954: 810037b7 lui a5,0x81003 -80000958: 9a478693 addi a3,a5,-1628 # 810029a4 -8000095c: 800017b7 lui a5,0x80001 -80000960: 9ac78613 addi a2,a5,-1620 # 800009ac -80000964: fd042583 lw a1,-48(s0) -80000968: fd042503 lw a0,-48(s0) -8000096c: aa1ff0ef jal ra,8000040c -80000970: 835ff0ef jal ra,800001a4 -80000974: fea42223 sw a0,-28(s0) -80000978: fd042703 lw a4,-48(s0) -8000097c: fe442783 lw a5,-28(s0) -80000980: 00e7f863 bgeu a5,a4,80000990 -80000984: fe442503 lw a0,-28(s0) -80000988: b71ff0ef jal ra,800004f8 -8000098c: 00c0006f j 80000998 -80000990: fd042503 lw a0,-48(s0) -80000994: b65ff0ef jal ra,800004f8 -80000998: 00000013 nop -8000099c: 02c12083 lw ra,44(sp) -800009a0: 02812403 lw s0,40(sp) -800009a4: 03010113 addi sp,sp,48 -800009a8: 00008067 ret +80000890 : +80000890: fd010113 addi sp,sp,-48 +80000894: 02112623 sw ra,44(sp) +80000898: 02812423 sw s0,40(sp) +8000089c: 03010413 addi s0,sp,48 +800008a0: fca42e23 sw a0,-36(s0) +800008a4: fcb42c23 sw a1,-40(s0) +800008a8: fcc42a23 sw a2,-44(s0) +800008ac: fcd42823 sw a3,-48(s0) +800008b0: 810037b7 lui a5,0x81003 +800008b4: fdc42703 lw a4,-36(s0) +800008b8: 94e7ae23 sw a4,-1700(a5) # 8100295c +800008bc: 810037b7 lui a5,0x81003 +800008c0: 95c78793 addi a5,a5,-1700 # 8100295c +800008c4: fd842703 lw a4,-40(s0) +800008c8: 00e7a223 sw a4,4(a5) +800008cc: 810037b7 lui a5,0x81003 +800008d0: 95c78793 addi a5,a5,-1700 # 8100295c +800008d4: fd442703 lw a4,-44(s0) +800008d8: 00e7a423 sw a4,8(a5) +800008dc: 810037b7 lui a5,0x81003 +800008e0: 95c78793 addi a5,a5,-1700 # 8100295c +800008e4: fd042703 lw a4,-48(s0) +800008e8: 00e7a623 sw a4,12(a5) +800008ec: 8d9ff0ef jal ra,800001c4 +800008f0: fea42423 sw a0,-24(s0) +800008f4: fd042703 lw a4,-48(s0) +800008f8: fe842783 lw a5,-24(s0) +800008fc: 02f757b3 divu a5,a4,a5 +80000900: fef42623 sw a5,-20(s0) +80000904: fd042703 lw a4,-48(s0) +80000908: fe842783 lw a5,-24(s0) +8000090c: 02f777b3 remu a5,a4,a5 +80000910: 00078863 beqz a5,80000920 +80000914: fec42783 lw a5,-20(s0) +80000918: 00178793 addi a5,a5,1 +8000091c: fef42623 sw a5,-20(s0) +80000920: fec42583 lw a1,-20(s0) +80000924: 810007b7 lui a5,0x81000 +80000928: 0c478513 addi a0,a5,196 # 810000c4 +8000092c: f1dff0ef jal ra,80000848 +80000930: 810037b7 lui a5,0x81003 +80000934: 95c78793 addi a5,a5,-1700 # 8100295c +80000938: fec42703 lw a4,-20(s0) +8000093c: 00e7a823 sw a4,16(a5) +80000940: fd042703 lw a4,-48(s0) +80000944: fe842783 lw a5,-24(s0) +80000948: 02f76263 bltu a4,a5,8000096c +8000094c: 810037b7 lui a5,0x81003 +80000950: 95c78693 addi a3,a5,-1700 # 8100295c +80000954: 800017b7 lui a5,0x80001 +80000958: 9c478613 addi a2,a5,-1596 # 800009c4 +8000095c: fe842583 lw a1,-24(s0) +80000960: fd042503 lw a0,-48(s0) +80000964: ac1ff0ef jal ra,80000424 +80000968: 0200006f j 80000988 +8000096c: 810037b7 lui a5,0x81003 +80000970: 95c78693 addi a3,a5,-1700 # 8100295c +80000974: 800017b7 lui a5,0x80001 +80000978: 9c478613 addi a2,a5,-1596 # 800009c4 +8000097c: fd042583 lw a1,-48(s0) +80000980: fd042503 lw a0,-48(s0) +80000984: aa1ff0ef jal ra,80000424 +80000988: 835ff0ef jal ra,800001bc +8000098c: fea42223 sw a0,-28(s0) +80000990: fd042703 lw a4,-48(s0) +80000994: fe442783 lw a5,-28(s0) +80000998: 00e7f863 bgeu a5,a4,800009a8 +8000099c: fe442503 lw a0,-28(s0) +800009a0: b71ff0ef jal ra,80000510 +800009a4: 00c0006f j 800009b0 +800009a8: fd042503 lw a0,-48(s0) +800009ac: b65ff0ef jal ra,80000510 +800009b0: 00000013 nop +800009b4: 02c12083 lw ra,44(sp) +800009b8: 02812403 lw s0,40(sp) +800009bc: 03010113 addi sp,sp,48 +800009c0: 00008067 ret -800009ac <_vx_mat_mult>: -800009ac: fa010113 addi sp,sp,-96 -800009b0: 04112e23 sw ra,92(sp) -800009b4: 04812c23 sw s0,88(sp) -800009b8: 06010413 addi s0,sp,96 -800009bc: faa42623 sw a0,-84(s0) -800009c0: fab42423 sw a1,-88(s0) -800009c4: c01ff0ef jal ra,800005c4 -800009c8: fca42c23 sw a0,-40(s0) -800009cc: fd842783 lw a5,-40(s0) -800009d0: 0007a783 lw a5,0(a5) -800009d4: fcf42a23 sw a5,-44(s0) -800009d8: fd842783 lw a5,-40(s0) -800009dc: 0047a783 lw a5,4(a5) -800009e0: fcf42823 sw a5,-48(s0) +800009c4 <_vx_mat_mult>: +800009c4: fa010113 addi sp,sp,-96 +800009c8: 04112e23 sw ra,92(sp) +800009cc: 04812c23 sw s0,88(sp) +800009d0: 06010413 addi s0,sp,96 +800009d4: faa42623 sw a0,-84(s0) +800009d8: fab42423 sw a1,-88(s0) +800009dc: c01ff0ef jal ra,800005dc +800009e0: fca42c23 sw a0,-40(s0) 800009e4: fd842783 lw a5,-40(s0) -800009e8: 0087a783 lw a5,8(a5) -800009ec: fcf42623 sw a5,-52(s0) +800009e8: 0007a783 lw a5,0(a5) +800009ec: fcf42a23 sw a5,-44(s0) 800009f0: fd842783 lw a5,-40(s0) -800009f4: 0107a783 lw a5,16(a5) -800009f8: fef42623 sw a5,-20(s0) -800009fc: fec42703 lw a4,-20(s0) -80000a00: fac42783 lw a5,-84(s0) -80000a04: 02f707b3 mul a5,a4,a5 -80000a08: fef42423 sw a5,-24(s0) -80000a0c: fec42783 lw a5,-20(s0) -80000a10: 00079a63 bnez a5,80000a24 <_vx_mat_mult+0x78> -80000a14: 00100793 li a5,1 -80000a18: fef42623 sw a5,-20(s0) -80000a1c: fac42783 lw a5,-84(s0) +800009f4: 0047a783 lw a5,4(a5) +800009f8: fcf42823 sw a5,-48(s0) +800009fc: fd842783 lw a5,-40(s0) +80000a00: 0087a783 lw a5,8(a5) +80000a04: fcf42623 sw a5,-52(s0) +80000a08: fd842783 lw a5,-40(s0) +80000a0c: 0107a783 lw a5,16(a5) +80000a10: fef42623 sw a5,-20(s0) +80000a14: fec42703 lw a4,-20(s0) +80000a18: fac42783 lw a5,-84(s0) +80000a1c: 02f707b3 mul a5,a4,a5 80000a20: fef42423 sw a5,-24(s0) -80000a24: fd842783 lw a5,-40(s0) -80000a28: 00c7a783 lw a5,12(a5) -80000a2c: fcf42423 sw a5,-56(s0) -80000a30: fe042223 sw zero,-28(s0) -80000a34: 1240006f j 80000b58 <_vx_mat_mult+0x1ac> -80000a38: fe042023 sw zero,-32(s0) -80000a3c: fc042e23 sw zero,-36(s0) -80000a40: 0780006f j 80000ab8 <_vx_mat_mult+0x10c> -80000a44: fa842703 lw a4,-88(s0) -80000a48: fc842783 lw a5,-56(s0) -80000a4c: 02f707b3 mul a5,a4,a5 -80000a50: fdc42703 lw a4,-36(s0) -80000a54: 00f707b3 add a5,a4,a5 -80000a58: fcf42223 sw a5,-60(s0) -80000a5c: fc842703 lw a4,-56(s0) -80000a60: fdc42783 lw a5,-36(s0) +80000a24: fec42783 lw a5,-20(s0) +80000a28: 00079a63 bnez a5,80000a3c <_vx_mat_mult+0x78> +80000a2c: 00100793 li a5,1 +80000a30: fef42623 sw a5,-20(s0) +80000a34: fac42783 lw a5,-84(s0) +80000a38: fef42423 sw a5,-24(s0) +80000a3c: fd842783 lw a5,-40(s0) +80000a40: 00c7a783 lw a5,12(a5) +80000a44: fcf42423 sw a5,-56(s0) +80000a48: fe042223 sw zero,-28(s0) +80000a4c: 0d80006f j 80000b24 <_vx_mat_mult+0x160> +80000a50: fe042023 sw zero,-32(s0) +80000a54: fc042e23 sw zero,-36(s0) +80000a58: 0780006f j 80000ad0 <_vx_mat_mult+0x10c> +80000a5c: fa842703 lw a4,-88(s0) +80000a60: fc842783 lw a5,-56(s0) 80000a64: 02f707b3 mul a5,a4,a5 -80000a68: fe842703 lw a4,-24(s0) +80000a68: fdc42703 lw a4,-36(s0) 80000a6c: 00f707b3 add a5,a4,a5 -80000a70: fcf42023 sw a5,-64(s0) -80000a74: fc442783 lw a5,-60(s0) -80000a78: 00279793 slli a5,a5,0x2 -80000a7c: fd442703 lw a4,-44(s0) -80000a80: 00f707b3 add a5,a4,a5 -80000a84: 0007a703 lw a4,0(a5) -80000a88: fc042783 lw a5,-64(s0) -80000a8c: 00279793 slli a5,a5,0x2 -80000a90: fd042683 lw a3,-48(s0) -80000a94: 00f687b3 add a5,a3,a5 -80000a98: 0007a783 lw a5,0(a5) -80000a9c: 02f707b3 mul a5,a4,a5 -80000aa0: fe042703 lw a4,-32(s0) -80000aa4: 00f707b3 add a5,a4,a5 -80000aa8: fef42023 sw a5,-32(s0) -80000aac: fdc42783 lw a5,-36(s0) -80000ab0: 00178793 addi a5,a5,1 -80000ab4: fcf42e23 sw a5,-36(s0) -80000ab8: fdc42703 lw a4,-36(s0) -80000abc: fc842783 lw a5,-56(s0) -80000ac0: f8f762e3 bltu a4,a5,80000a44 <_vx_mat_mult+0x98> -80000ac4: fa842703 lw a4,-88(s0) -80000ac8: fc842783 lw a5,-56(s0) -80000acc: 02f70733 mul a4,a4,a5 -80000ad0: fe842783 lw a5,-24(s0) -80000ad4: 00f707b3 add a5,a4,a5 -80000ad8: faf42e23 sw a5,-68(s0) -80000adc: fe842703 lw a4,-24(s0) +80000a70: fcf42223 sw a5,-60(s0) +80000a74: fc842703 lw a4,-56(s0) +80000a78: fdc42783 lw a5,-36(s0) +80000a7c: 02f707b3 mul a5,a4,a5 +80000a80: fe842703 lw a4,-24(s0) +80000a84: 00f707b3 add a5,a4,a5 +80000a88: fcf42023 sw a5,-64(s0) +80000a8c: fc442783 lw a5,-60(s0) +80000a90: 00279793 slli a5,a5,0x2 +80000a94: fd442703 lw a4,-44(s0) +80000a98: 00f707b3 add a5,a4,a5 +80000a9c: 0007a703 lw a4,0(a5) +80000aa0: fc042783 lw a5,-64(s0) +80000aa4: 00279793 slli a5,a5,0x2 +80000aa8: fd042683 lw a3,-48(s0) +80000aac: 00f687b3 add a5,a3,a5 +80000ab0: 0007a783 lw a5,0(a5) +80000ab4: 02f707b3 mul a5,a4,a5 +80000ab8: fe042703 lw a4,-32(s0) +80000abc: 00f707b3 add a5,a4,a5 +80000ac0: fef42023 sw a5,-32(s0) +80000ac4: fdc42783 lw a5,-36(s0) +80000ac8: 00178793 addi a5,a5,1 +80000acc: fcf42e23 sw a5,-36(s0) +80000ad0: fdc42703 lw a4,-36(s0) +80000ad4: fc842783 lw a5,-56(s0) +80000ad8: f8f762e3 bltu a4,a5,80000a5c <_vx_mat_mult+0x98> +80000adc: fa842703 lw a4,-88(s0) 80000ae0: fc842783 lw a5,-56(s0) -80000ae4: 00f737b3 sltu a5,a4,a5 -80000ae8: 0ff7f793 andi a5,a5,255 -80000aec: faf42c23 sw a5,-72(s0) -80000af0: fb842783 lw a5,-72(s0) -80000af4: 0017b793 seqz a5,a5 -80000af8: faf40ba3 sb a5,-73(s0) -80000afc: fb744783 lbu a5,-73(s0) -80000b00: 00078f13 mv t5,a5 -80000b04: 800017b7 lui a5,0x80001 -80000b08: b4478f93 addi t6,a5,-1212 # 80000b44 -80000b0c: 000f206b 0xf206b -80000b10: 01ff707b 0x1ff707b -80000b14: fbc42783 lw a5,-68(s0) -80000b18: 00279793 slli a5,a5,0x2 -80000b1c: fcc42703 lw a4,-52(s0) -80000b20: 00f707b3 add a5,a4,a5 -80000b24: fe042703 lw a4,-32(s0) -80000b28: 00e7a023 sw a4,0(a5) -80000b2c: fe842783 lw a5,-24(s0) -80000b30: 00178793 addi a5,a5,1 -80000b34: fef42423 sw a5,-24(s0) -80000b38: 800017b7 lui a5,0x80001 -80000b3c: b4878e13 addi t3,a5,-1208 # 80000b48 -80000b40: 000e0067 jr t3 -80000b44: 00000013 nop -80000b48: 0000306b 0x306b -80000b4c: fe442783 lw a5,-28(s0) -80000b50: 00178793 addi a5,a5,1 -80000b54: fef42223 sw a5,-28(s0) -80000b58: fe442783 lw a5,-28(s0) -80000b5c: fec42703 lw a4,-20(s0) -80000b60: ece7ece3 bltu a5,a4,80000a38 <_vx_mat_mult+0x8c> -80000b64: 00000013 nop -80000b68: 05c12083 lw ra,92(sp) -80000b6c: 05812403 lw s0,88(sp) -80000b70: 06010113 addi sp,sp,96 -80000b74: 00008067 ret +80000ae4: 02f70733 mul a4,a4,a5 +80000ae8: fe842783 lw a5,-24(s0) +80000aec: 00f707b3 add a5,a4,a5 +80000af0: faf42e23 sw a5,-68(s0) +80000af4: fbc42783 lw a5,-68(s0) +80000af8: 00279793 slli a5,a5,0x2 +80000afc: fcc42703 lw a4,-52(s0) +80000b00: 00f707b3 add a5,a4,a5 +80000b04: fe042703 lw a4,-32(s0) +80000b08: 00e7a023 sw a4,0(a5) +80000b0c: fe842783 lw a5,-24(s0) +80000b10: 00178793 addi a5,a5,1 +80000b14: fef42423 sw a5,-24(s0) +80000b18: fe442783 lw a5,-28(s0) +80000b1c: 00178793 addi a5,a5,1 +80000b20: fef42223 sw a5,-28(s0) +80000b24: fe442783 lw a5,-28(s0) +80000b28: fec42703 lw a4,-20(s0) +80000b2c: f2e7e2e3 bltu a5,a4,80000a50 <_vx_mat_mult+0x8c> +80000b30: 00000013 nop +80000b34: 05c12083 lw ra,92(sp) +80000b38: 05812403 lw s0,88(sp) +80000b3c: 06010113 addi sp,sp,96 +80000b40: 00008067 ret -80000b78 : -80000b78: fc010113 addi sp,sp,-64 -80000b7c: 02112e23 sw ra,60(sp) -80000b80: 02812c23 sw s0,56(sp) -80000b84: 04010413 addi s0,sp,64 -80000b88: fca42e23 sw a0,-36(s0) -80000b8c: fcb42c23 sw a1,-40(s0) -80000b90: fcc42a23 sw a2,-44(s0) -80000b94: fcd42823 sw a3,-48(s0) -80000b98: fce42623 sw a4,-52(s0) -80000b9c: 810037b7 lui a5,0x81003 -80000ba0: fdc42703 lw a4,-36(s0) -80000ba4: 9ae7ac23 sw a4,-1608(a5) # 810029b8 -80000ba8: 810037b7 lui a5,0x81003 -80000bac: 9b878793 addi a5,a5,-1608 # 810029b8 -80000bb0: fd842703 lw a4,-40(s0) -80000bb4: 00e7a223 sw a4,4(a5) -80000bb8: 810037b7 lui a5,0x81003 -80000bbc: 9b878793 addi a5,a5,-1608 # 810029b8 -80000bc0: fd442703 lw a4,-44(s0) -80000bc4: 00e7a423 sw a4,8(a5) -80000bc8: 810037b7 lui a5,0x81003 -80000bcc: 9b878793 addi a5,a5,-1608 # 810029b8 -80000bd0: fcc42703 lw a4,-52(s0) -80000bd4: 00e7a623 sw a4,12(a5) -80000bd8: 810037b7 lui a5,0x81003 -80000bdc: 9b878793 addi a5,a5,-1608 # 810029b8 -80000be0: fd042703 lw a4,-48(s0) -80000be4: 00e7a823 sw a4,16(a5) -80000be8: dc4ff0ef jal ra,800001ac -80000bec: fea42423 sw a0,-24(s0) -80000bf0: fcc42703 lw a4,-52(s0) -80000bf4: fe842783 lw a5,-24(s0) -80000bf8: 02f757b3 divu a5,a4,a5 -80000bfc: fef42623 sw a5,-20(s0) -80000c00: fcc42703 lw a4,-52(s0) -80000c04: fe842783 lw a5,-24(s0) -80000c08: 02f777b3 remu a5,a4,a5 -80000c0c: 00078863 beqz a5,80000c1c -80000c10: fec42783 lw a5,-20(s0) -80000c14: 00178793 addi a5,a5,1 -80000c18: fef42623 sw a5,-20(s0) -80000c1c: 810037b7 lui a5,0x81003 -80000c20: 9b878793 addi a5,a5,-1608 # 810029b8 -80000c24: fec42703 lw a4,-20(s0) -80000c28: 00e7aa23 sw a4,20(a5) -80000c2c: fcc42703 lw a4,-52(s0) -80000c30: fe842783 lw a5,-24(s0) -80000c34: 02f76263 bltu a4,a5,80000c58 -80000c38: 810037b7 lui a5,0x81003 -80000c3c: 9b878693 addi a3,a5,-1608 # 810029b8 -80000c40: 800017b7 lui a5,0x80001 -80000c44: cb078613 addi a2,a5,-848 # 80000cb0 -80000c48: fe842583 lw a1,-24(s0) -80000c4c: fd042503 lw a0,-48(s0) -80000c50: fbcff0ef jal ra,8000040c -80000c54: 0200006f j 80000c74 -80000c58: 810037b7 lui a5,0x81003 -80000c5c: 9b878693 addi a3,a5,-1608 # 810029b8 -80000c60: 800017b7 lui a5,0x80001 -80000c64: cb078613 addi a2,a5,-848 # 80000cb0 -80000c68: fcc42583 lw a1,-52(s0) -80000c6c: fd042503 lw a0,-48(s0) -80000c70: f9cff0ef jal ra,8000040c -80000c74: d30ff0ef jal ra,800001a4 -80000c78: fea42223 sw a0,-28(s0) -80000c7c: fd042703 lw a4,-48(s0) -80000c80: fe442783 lw a5,-28(s0) -80000c84: 00e7f863 bgeu a5,a4,80000c94 -80000c88: fe442503 lw a0,-28(s0) -80000c8c: 86dff0ef jal ra,800004f8 -80000c90: 00c0006f j 80000c9c -80000c94: fd042503 lw a0,-48(s0) -80000c98: 861ff0ef jal ra,800004f8 -80000c9c: 00000013 nop -80000ca0: 03c12083 lw ra,60(sp) -80000ca4: 03812403 lw s0,56(sp) -80000ca8: 04010113 addi sp,sp,64 -80000cac: 00008067 ret +80000b44 : +80000b44: fc010113 addi sp,sp,-64 +80000b48: 02112e23 sw ra,60(sp) +80000b4c: 02812c23 sw s0,56(sp) +80000b50: 04010413 addi s0,sp,64 +80000b54: fca42e23 sw a0,-36(s0) +80000b58: fcb42c23 sw a1,-40(s0) +80000b5c: fcc42a23 sw a2,-44(s0) +80000b60: fcd42823 sw a3,-48(s0) +80000b64: fce42623 sw a4,-52(s0) +80000b68: 810037b7 lui a5,0x81003 +80000b6c: fdc42703 lw a4,-36(s0) +80000b70: 96e7a823 sw a4,-1680(a5) # 81002970 +80000b74: 810037b7 lui a5,0x81003 +80000b78: 97078793 addi a5,a5,-1680 # 81002970 +80000b7c: fd842703 lw a4,-40(s0) +80000b80: 00e7a223 sw a4,4(a5) +80000b84: 810037b7 lui a5,0x81003 +80000b88: 97078793 addi a5,a5,-1680 # 81002970 +80000b8c: fd442703 lw a4,-44(s0) +80000b90: 00e7a423 sw a4,8(a5) +80000b94: 810037b7 lui a5,0x81003 +80000b98: 97078793 addi a5,a5,-1680 # 81002970 +80000b9c: fcc42703 lw a4,-52(s0) +80000ba0: 00e7a623 sw a4,12(a5) +80000ba4: 810037b7 lui a5,0x81003 +80000ba8: 97078793 addi a5,a5,-1680 # 81002970 +80000bac: fd042703 lw a4,-48(s0) +80000bb0: 00e7a823 sw a4,16(a5) +80000bb4: e10ff0ef jal ra,800001c4 +80000bb8: fea42423 sw a0,-24(s0) +80000bbc: fcc42703 lw a4,-52(s0) +80000bc0: fe842783 lw a5,-24(s0) +80000bc4: 02f757b3 divu a5,a4,a5 +80000bc8: fef42623 sw a5,-20(s0) +80000bcc: fcc42703 lw a4,-52(s0) +80000bd0: fe842783 lw a5,-24(s0) +80000bd4: 02f777b3 remu a5,a4,a5 +80000bd8: 00078863 beqz a5,80000be8 +80000bdc: fec42783 lw a5,-20(s0) +80000be0: 00178793 addi a5,a5,1 +80000be4: fef42623 sw a5,-20(s0) +80000be8: 810037b7 lui a5,0x81003 +80000bec: 97078793 addi a5,a5,-1680 # 81002970 +80000bf0: fec42703 lw a4,-20(s0) +80000bf4: 00e7aa23 sw a4,20(a5) +80000bf8: fcc42703 lw a4,-52(s0) +80000bfc: fe842783 lw a5,-24(s0) +80000c00: 02f76263 bltu a4,a5,80000c24 +80000c04: 810037b7 lui a5,0x81003 +80000c08: 97078693 addi a3,a5,-1680 # 81002970 +80000c0c: 800017b7 lui a5,0x80001 +80000c10: c7c78613 addi a2,a5,-900 # 80000c7c +80000c14: fe842583 lw a1,-24(s0) +80000c18: fd042503 lw a0,-48(s0) +80000c1c: 809ff0ef jal ra,80000424 +80000c20: 0200006f j 80000c40 +80000c24: 810037b7 lui a5,0x81003 +80000c28: 97078693 addi a3,a5,-1680 # 81002970 +80000c2c: 800017b7 lui a5,0x80001 +80000c30: c7c78613 addi a2,a5,-900 # 80000c7c +80000c34: fcc42583 lw a1,-52(s0) +80000c38: fd042503 lw a0,-48(s0) +80000c3c: fe8ff0ef jal ra,80000424 +80000c40: d7cff0ef jal ra,800001bc +80000c44: fea42223 sw a0,-28(s0) +80000c48: fd042703 lw a4,-48(s0) +80000c4c: fe442783 lw a5,-28(s0) +80000c50: 00e7f863 bgeu a5,a4,80000c60 +80000c54: fe442503 lw a0,-28(s0) +80000c58: 8b9ff0ef jal ra,80000510 +80000c5c: 00c0006f j 80000c68 +80000c60: fd042503 lw a0,-48(s0) +80000c64: 8adff0ef jal ra,80000510 +80000c68: 00000013 nop +80000c6c: 03c12083 lw ra,60(sp) +80000c70: 03812403 lw s0,56(sp) +80000c74: 04010113 addi sp,sp,64 +80000c78: 00008067 ret -80000cb0 <_vx_mat_add>: -80000cb0: fb010113 addi sp,sp,-80 -80000cb4: 04112623 sw ra,76(sp) -80000cb8: 04812423 sw s0,72(sp) -80000cbc: 05010413 addi s0,sp,80 -80000cc0: faa42e23 sw a0,-68(s0) -80000cc4: fab42c23 sw a1,-72(s0) -80000cc8: 8fdff0ef jal ra,800005c4 -80000ccc: fea42023 sw a0,-32(s0) -80000cd0: fe042783 lw a5,-32(s0) -80000cd4: 0007a783 lw a5,0(a5) -80000cd8: fcf42e23 sw a5,-36(s0) -80000cdc: fe042783 lw a5,-32(s0) -80000ce0: 0047a783 lw a5,4(a5) -80000ce4: fcf42c23 sw a5,-40(s0) -80000ce8: fe042783 lw a5,-32(s0) -80000cec: 0087a783 lw a5,8(a5) -80000cf0: fcf42a23 sw a5,-44(s0) +80000c7c <_vx_mat_add>: +80000c7c: fb010113 addi sp,sp,-80 +80000c80: 04112623 sw ra,76(sp) +80000c84: 04812423 sw s0,72(sp) +80000c88: 05010413 addi s0,sp,80 +80000c8c: faa42e23 sw a0,-68(s0) +80000c90: fab42c23 sw a1,-72(s0) +80000c94: 949ff0ef jal ra,800005dc +80000c98: fea42023 sw a0,-32(s0) +80000c9c: fe042783 lw a5,-32(s0) +80000ca0: 0007a783 lw a5,0(a5) +80000ca4: fcf42e23 sw a5,-36(s0) +80000ca8: fe042783 lw a5,-32(s0) +80000cac: 0047a783 lw a5,4(a5) +80000cb0: fcf42c23 sw a5,-40(s0) +80000cb4: fe042783 lw a5,-32(s0) +80000cb8: 0087a783 lw a5,8(a5) +80000cbc: fcf42a23 sw a5,-44(s0) +80000cc0: fe042783 lw a5,-32(s0) +80000cc4: 0147a783 lw a5,20(a5) +80000cc8: fef42623 sw a5,-20(s0) +80000ccc: fec42703 lw a4,-20(s0) +80000cd0: fbc42783 lw a5,-68(s0) +80000cd4: 02f707b3 mul a5,a4,a5 +80000cd8: fef42423 sw a5,-24(s0) +80000cdc: fec42783 lw a5,-20(s0) +80000ce0: 00079a63 bnez a5,80000cf4 <_vx_mat_add+0x78> +80000ce4: 00100793 li a5,1 +80000ce8: fef42623 sw a5,-20(s0) +80000cec: fbc42783 lw a5,-68(s0) +80000cf0: fef42423 sw a5,-24(s0) 80000cf4: fe042783 lw a5,-32(s0) -80000cf8: 0147a783 lw a5,20(a5) -80000cfc: fef42623 sw a5,-20(s0) -80000d00: fec42703 lw a4,-20(s0) -80000d04: fbc42783 lw a5,-68(s0) -80000d08: 02f707b3 mul a5,a4,a5 -80000d0c: fef42423 sw a5,-24(s0) -80000d10: fec42783 lw a5,-20(s0) -80000d14: 00079a63 bnez a5,80000d28 <_vx_mat_add+0x78> -80000d18: 00100793 li a5,1 -80000d1c: fef42623 sw a5,-20(s0) -80000d20: fbc42783 lw a5,-68(s0) -80000d24: fef42423 sw a5,-24(s0) -80000d28: fe042783 lw a5,-32(s0) -80000d2c: 00c7a783 lw a5,12(a5) -80000d30: fcf42823 sw a5,-48(s0) -80000d34: fe042223 sw zero,-28(s0) -80000d38: 0c00006f j 80000df8 <_vx_mat_add+0x148> -80000d3c: fb842703 lw a4,-72(s0) -80000d40: fd042783 lw a5,-48(s0) -80000d44: 02f70733 mul a4,a4,a5 -80000d48: fe842783 lw a5,-24(s0) -80000d4c: 00f707b3 add a5,a4,a5 -80000d50: fcf42623 sw a5,-52(s0) -80000d54: fe842703 lw a4,-24(s0) -80000d58: fd042783 lw a5,-48(s0) -80000d5c: 00f737b3 sltu a5,a4,a5 -80000d60: 0ff7f793 andi a5,a5,255 -80000d64: fcf42423 sw a5,-56(s0) -80000d68: fc842783 lw a5,-56(s0) -80000d6c: 0017b793 seqz a5,a5 -80000d70: fcf403a3 sb a5,-57(s0) -80000d74: fc744783 lbu a5,-57(s0) -80000d78: 00078f13 mv t5,a5 -80000d7c: 800017b7 lui a5,0x80001 -80000d80: de478f93 addi t6,a5,-540 # 80000de4 -80000d84: 000f206b 0xf206b -80000d88: 01ff707b 0x1ff707b -80000d8c: fcc42783 lw a5,-52(s0) -80000d90: 00279793 slli a5,a5,0x2 -80000d94: fdc42703 lw a4,-36(s0) -80000d98: 00f707b3 add a5,a4,a5 -80000d9c: 0007a683 lw a3,0(a5) -80000da0: fcc42783 lw a5,-52(s0) -80000da4: 00279793 slli a5,a5,0x2 -80000da8: fd842703 lw a4,-40(s0) -80000dac: 00f707b3 add a5,a4,a5 -80000db0: 0007a703 lw a4,0(a5) -80000db4: fcc42783 lw a5,-52(s0) -80000db8: 00279793 slli a5,a5,0x2 -80000dbc: fd442603 lw a2,-44(s0) -80000dc0: 00f607b3 add a5,a2,a5 -80000dc4: 00e68733 add a4,a3,a4 -80000dc8: 00e7a023 sw a4,0(a5) -80000dcc: fe842783 lw a5,-24(s0) -80000dd0: 00178793 addi a5,a5,1 -80000dd4: fef42423 sw a5,-24(s0) -80000dd8: 800017b7 lui a5,0x80001 -80000ddc: de878e13 addi t3,a5,-536 # 80000de8 -80000de0: 000e0067 jr t3 -80000de4: 00000013 nop -80000de8: 0000306b 0x306b -80000dec: fe442783 lw a5,-28(s0) -80000df0: 00178793 addi a5,a5,1 -80000df4: fef42223 sw a5,-28(s0) -80000df8: fe442783 lw a5,-28(s0) -80000dfc: fec42703 lw a4,-20(s0) -80000e00: f2e7eee3 bltu a5,a4,80000d3c <_vx_mat_add+0x8c> -80000e04: 00000013 nop -80000e08: 04c12083 lw ra,76(sp) -80000e0c: 04812403 lw s0,72(sp) -80000e10: 05010113 addi sp,sp,80 -80000e14: 00008067 ret +80000cf8: 00c7a783 lw a5,12(a5) +80000cfc: fcf42823 sw a5,-48(s0) +80000d00: fe042223 sw zero,-28(s0) +80000d04: 0c00006f j 80000dc4 <_vx_mat_add+0x148> +80000d08: fb842703 lw a4,-72(s0) +80000d0c: fd042783 lw a5,-48(s0) +80000d10: 02f70733 mul a4,a4,a5 +80000d14: fe842783 lw a5,-24(s0) +80000d18: 00f707b3 add a5,a4,a5 +80000d1c: fcf42623 sw a5,-52(s0) +80000d20: fe842703 lw a4,-24(s0) +80000d24: fd042783 lw a5,-48(s0) +80000d28: 00f737b3 sltu a5,a4,a5 +80000d2c: 0ff7f793 andi a5,a5,255 +80000d30: fcf42423 sw a5,-56(s0) +80000d34: fc842783 lw a5,-56(s0) +80000d38: 0017b793 seqz a5,a5 +80000d3c: fcf403a3 sb a5,-57(s0) +80000d40: fc744783 lbu a5,-57(s0) +80000d44: 00078f13 mv t5,a5 +80000d48: 800017b7 lui a5,0x80001 +80000d4c: db078f93 addi t6,a5,-592 # 80000db0 +80000d50: 000f206b 0xf206b +80000d54: 01ff707b 0x1ff707b +80000d58: fcc42783 lw a5,-52(s0) +80000d5c: 00279793 slli a5,a5,0x2 +80000d60: fdc42703 lw a4,-36(s0) +80000d64: 00f707b3 add a5,a4,a5 +80000d68: 0007a683 lw a3,0(a5) +80000d6c: fcc42783 lw a5,-52(s0) +80000d70: 00279793 slli a5,a5,0x2 +80000d74: fd842703 lw a4,-40(s0) +80000d78: 00f707b3 add a5,a4,a5 +80000d7c: 0007a703 lw a4,0(a5) +80000d80: fcc42783 lw a5,-52(s0) +80000d84: 00279793 slli a5,a5,0x2 +80000d88: fd442603 lw a2,-44(s0) +80000d8c: 00f607b3 add a5,a2,a5 +80000d90: 00e68733 add a4,a3,a4 +80000d94: 00e7a023 sw a4,0(a5) +80000d98: fe842783 lw a5,-24(s0) +80000d9c: 00178793 addi a5,a5,1 +80000da0: fef42423 sw a5,-24(s0) +80000da4: 800017b7 lui a5,0x80001 +80000da8: db478e13 addi t3,a5,-588 # 80000db4 +80000dac: 000e0067 jr t3 +80000db0: 00000013 nop +80000db4: 0000306b 0x306b +80000db8: fe442783 lw a5,-28(s0) +80000dbc: 00178793 addi a5,a5,1 +80000dc0: fef42223 sw a5,-28(s0) +80000dc4: fe442783 lw a5,-28(s0) +80000dc8: fec42703 lw a4,-20(s0) +80000dcc: f2e7eee3 bltu a5,a4,80000d08 <_vx_mat_add+0x8c> +80000dd0: 00000013 nop +80000dd4: 04c12083 lw ra,76(sp) +80000dd8: 04812403 lw s0,72(sp) +80000ddc: 05010113 addi sp,sp,80 +80000de0: 00008067 ret -80000e18 : -80000e18: fc010113 addi sp,sp,-64 -80000e1c: 02112e23 sw ra,60(sp) -80000e20: 02812c23 sw s0,56(sp) -80000e24: 04010413 addi s0,sp,64 -80000e28: fca42e23 sw a0,-36(s0) -80000e2c: fcb42c23 sw a1,-40(s0) -80000e30: fcc42a23 sw a2,-44(s0) -80000e34: fcd42823 sw a3,-48(s0) -80000e38: fce42623 sw a4,-52(s0) -80000e3c: 810037b7 lui a5,0x81003 -80000e40: fdc42703 lw a4,-36(s0) -80000e44: 9ae7ac23 sw a4,-1608(a5) # 810029b8 -80000e48: 810037b7 lui a5,0x81003 -80000e4c: 9b878793 addi a5,a5,-1608 # 810029b8 -80000e50: fd842703 lw a4,-40(s0) -80000e54: 00e7a223 sw a4,4(a5) -80000e58: 810037b7 lui a5,0x81003 -80000e5c: 9b878793 addi a5,a5,-1608 # 810029b8 -80000e60: fd442703 lw a4,-44(s0) -80000e64: 00e7a423 sw a4,8(a5) -80000e68: 810037b7 lui a5,0x81003 -80000e6c: 9b878793 addi a5,a5,-1608 # 810029b8 -80000e70: fcc42703 lw a4,-52(s0) -80000e74: 00e7a623 sw a4,12(a5) -80000e78: 810037b7 lui a5,0x81003 -80000e7c: 9b878793 addi a5,a5,-1608 # 810029b8 -80000e80: fd042703 lw a4,-48(s0) -80000e84: 00e7a823 sw a4,16(a5) -80000e88: b24ff0ef jal ra,800001ac -80000e8c: fea42423 sw a0,-24(s0) -80000e90: fcc42703 lw a4,-52(s0) -80000e94: fe842783 lw a5,-24(s0) -80000e98: 02f757b3 divu a5,a4,a5 -80000e9c: fef42623 sw a5,-20(s0) -80000ea0: fcc42703 lw a4,-52(s0) -80000ea4: fe842783 lw a5,-24(s0) -80000ea8: 02f777b3 remu a5,a4,a5 -80000eac: 00078863 beqz a5,80000ebc -80000eb0: fec42783 lw a5,-20(s0) -80000eb4: 00178793 addi a5,a5,1 -80000eb8: fef42623 sw a5,-20(s0) -80000ebc: 810037b7 lui a5,0x81003 -80000ec0: 9b878793 addi a5,a5,-1608 # 810029b8 -80000ec4: fec42703 lw a4,-20(s0) -80000ec8: 00e7aa23 sw a4,20(a5) -80000ecc: fcc42703 lw a4,-52(s0) -80000ed0: fe842783 lw a5,-24(s0) -80000ed4: 02f76263 bltu a4,a5,80000ef8 -80000ed8: 810037b7 lui a5,0x81003 -80000edc: 9b878693 addi a3,a5,-1608 # 810029b8 -80000ee0: 800017b7 lui a5,0x80001 -80000ee4: f5078613 addi a2,a5,-176 # 80000f50 -80000ee8: fe842583 lw a1,-24(s0) -80000eec: fd042503 lw a0,-48(s0) -80000ef0: d1cff0ef jal ra,8000040c -80000ef4: 0200006f j 80000f14 -80000ef8: 810037b7 lui a5,0x81003 -80000efc: 9b878693 addi a3,a5,-1608 # 810029b8 -80000f00: 800017b7 lui a5,0x80001 -80000f04: f5078613 addi a2,a5,-176 # 80000f50 -80000f08: fcc42583 lw a1,-52(s0) -80000f0c: fd042503 lw a0,-48(s0) -80000f10: cfcff0ef jal ra,8000040c -80000f14: a90ff0ef jal ra,800001a4 -80000f18: fea42223 sw a0,-28(s0) -80000f1c: fd042703 lw a4,-48(s0) -80000f20: fe442783 lw a5,-28(s0) -80000f24: 00e7f863 bgeu a5,a4,80000f34 -80000f28: fe442503 lw a0,-28(s0) -80000f2c: dccff0ef jal ra,800004f8 -80000f30: 00c0006f j 80000f3c -80000f34: fd042503 lw a0,-48(s0) -80000f38: dc0ff0ef jal ra,800004f8 -80000f3c: 00000013 nop -80000f40: 03c12083 lw ra,60(sp) -80000f44: 03812403 lw s0,56(sp) -80000f48: 04010113 addi sp,sp,64 -80000f4c: 00008067 ret +80000de4 : +80000de4: fc010113 addi sp,sp,-64 +80000de8: 02112e23 sw ra,60(sp) +80000dec: 02812c23 sw s0,56(sp) +80000df0: 04010413 addi s0,sp,64 +80000df4: fca42e23 sw a0,-36(s0) +80000df8: fcb42c23 sw a1,-40(s0) +80000dfc: fcc42a23 sw a2,-44(s0) +80000e00: fcd42823 sw a3,-48(s0) +80000e04: fce42623 sw a4,-52(s0) +80000e08: 810037b7 lui a5,0x81003 +80000e0c: fdc42703 lw a4,-36(s0) +80000e10: 96e7a823 sw a4,-1680(a5) # 81002970 +80000e14: 810037b7 lui a5,0x81003 +80000e18: 97078793 addi a5,a5,-1680 # 81002970 +80000e1c: fd842703 lw a4,-40(s0) +80000e20: 00e7a223 sw a4,4(a5) +80000e24: 810037b7 lui a5,0x81003 +80000e28: 97078793 addi a5,a5,-1680 # 81002970 +80000e2c: fd442703 lw a4,-44(s0) +80000e30: 00e7a423 sw a4,8(a5) +80000e34: 810037b7 lui a5,0x81003 +80000e38: 97078793 addi a5,a5,-1680 # 81002970 +80000e3c: fcc42703 lw a4,-52(s0) +80000e40: 00e7a623 sw a4,12(a5) +80000e44: 810037b7 lui a5,0x81003 +80000e48: 97078793 addi a5,a5,-1680 # 81002970 +80000e4c: fd042703 lw a4,-48(s0) +80000e50: 00e7a823 sw a4,16(a5) +80000e54: b70ff0ef jal ra,800001c4 +80000e58: fea42423 sw a0,-24(s0) +80000e5c: fcc42703 lw a4,-52(s0) +80000e60: fe842783 lw a5,-24(s0) +80000e64: 02f757b3 divu a5,a4,a5 +80000e68: fef42623 sw a5,-20(s0) +80000e6c: fcc42703 lw a4,-52(s0) +80000e70: fe842783 lw a5,-24(s0) +80000e74: 02f777b3 remu a5,a4,a5 +80000e78: 00078863 beqz a5,80000e88 +80000e7c: fec42783 lw a5,-20(s0) +80000e80: 00178793 addi a5,a5,1 +80000e84: fef42623 sw a5,-20(s0) +80000e88: 810037b7 lui a5,0x81003 +80000e8c: 97078793 addi a5,a5,-1680 # 81002970 +80000e90: fec42703 lw a4,-20(s0) +80000e94: 00e7aa23 sw a4,20(a5) +80000e98: fcc42703 lw a4,-52(s0) +80000e9c: fe842783 lw a5,-24(s0) +80000ea0: 02f76263 bltu a4,a5,80000ec4 +80000ea4: 810037b7 lui a5,0x81003 +80000ea8: 97078693 addi a3,a5,-1680 # 81002970 +80000eac: 800017b7 lui a5,0x80001 +80000eb0: f1c78613 addi a2,a5,-228 # 80000f1c +80000eb4: fe842583 lw a1,-24(s0) +80000eb8: fd042503 lw a0,-48(s0) +80000ebc: d68ff0ef jal ra,80000424 +80000ec0: 0200006f j 80000ee0 +80000ec4: 810037b7 lui a5,0x81003 +80000ec8: 97078693 addi a3,a5,-1680 # 81002970 +80000ecc: 800017b7 lui a5,0x80001 +80000ed0: f1c78613 addi a2,a5,-228 # 80000f1c +80000ed4: fcc42583 lw a1,-52(s0) +80000ed8: fd042503 lw a0,-48(s0) +80000edc: d48ff0ef jal ra,80000424 +80000ee0: adcff0ef jal ra,800001bc +80000ee4: fea42223 sw a0,-28(s0) +80000ee8: fd042703 lw a4,-48(s0) +80000eec: fe442783 lw a5,-28(s0) +80000ef0: 00e7f863 bgeu a5,a4,80000f00 +80000ef4: fe442503 lw a0,-28(s0) +80000ef8: e18ff0ef jal ra,80000510 +80000efc: 00c0006f j 80000f08 +80000f00: fd042503 lw a0,-48(s0) +80000f04: e0cff0ef jal ra,80000510 +80000f08: 00000013 nop +80000f0c: 03c12083 lw ra,60(sp) +80000f10: 03812403 lw s0,56(sp) +80000f14: 04010113 addi sp,sp,64 +80000f18: 00008067 ret -80000f50 <_vx_mat_sub>: -80000f50: fb010113 addi sp,sp,-80 -80000f54: 04112623 sw ra,76(sp) -80000f58: 04812423 sw s0,72(sp) -80000f5c: 05010413 addi s0,sp,80 -80000f60: faa42e23 sw a0,-68(s0) -80000f64: fab42c23 sw a1,-72(s0) -80000f68: e5cff0ef jal ra,800005c4 -80000f6c: fea42023 sw a0,-32(s0) -80000f70: fe042783 lw a5,-32(s0) -80000f74: 0007a783 lw a5,0(a5) -80000f78: fcf42e23 sw a5,-36(s0) -80000f7c: fe042783 lw a5,-32(s0) -80000f80: 0047a783 lw a5,4(a5) -80000f84: fcf42c23 sw a5,-40(s0) -80000f88: fe042783 lw a5,-32(s0) -80000f8c: 0087a783 lw a5,8(a5) -80000f90: fcf42a23 sw a5,-44(s0) +80000f1c <_vx_mat_sub>: +80000f1c: fb010113 addi sp,sp,-80 +80000f20: 04112623 sw ra,76(sp) +80000f24: 04812423 sw s0,72(sp) +80000f28: 05010413 addi s0,sp,80 +80000f2c: faa42e23 sw a0,-68(s0) +80000f30: fab42c23 sw a1,-72(s0) +80000f34: ea8ff0ef jal ra,800005dc +80000f38: fea42023 sw a0,-32(s0) +80000f3c: fe042783 lw a5,-32(s0) +80000f40: 0007a783 lw a5,0(a5) +80000f44: fcf42e23 sw a5,-36(s0) +80000f48: fe042783 lw a5,-32(s0) +80000f4c: 0047a783 lw a5,4(a5) +80000f50: fcf42c23 sw a5,-40(s0) +80000f54: fe042783 lw a5,-32(s0) +80000f58: 0087a783 lw a5,8(a5) +80000f5c: fcf42a23 sw a5,-44(s0) +80000f60: fe042783 lw a5,-32(s0) +80000f64: 0147a783 lw a5,20(a5) +80000f68: fef42623 sw a5,-20(s0) +80000f6c: fec42703 lw a4,-20(s0) +80000f70: fbc42783 lw a5,-68(s0) +80000f74: 02f707b3 mul a5,a4,a5 +80000f78: fef42423 sw a5,-24(s0) +80000f7c: fec42783 lw a5,-20(s0) +80000f80: 00079a63 bnez a5,80000f94 <_vx_mat_sub+0x78> +80000f84: 00100793 li a5,1 +80000f88: fef42623 sw a5,-20(s0) +80000f8c: fbc42783 lw a5,-68(s0) +80000f90: fef42423 sw a5,-24(s0) 80000f94: fe042783 lw a5,-32(s0) -80000f98: 0147a783 lw a5,20(a5) -80000f9c: fef42623 sw a5,-20(s0) -80000fa0: fec42703 lw a4,-20(s0) -80000fa4: fbc42783 lw a5,-68(s0) -80000fa8: 02f707b3 mul a5,a4,a5 -80000fac: fef42423 sw a5,-24(s0) -80000fb0: fec42783 lw a5,-20(s0) -80000fb4: 00079a63 bnez a5,80000fc8 <_vx_mat_sub+0x78> -80000fb8: 00100793 li a5,1 -80000fbc: fef42623 sw a5,-20(s0) -80000fc0: fbc42783 lw a5,-68(s0) -80000fc4: fef42423 sw a5,-24(s0) -80000fc8: fe042783 lw a5,-32(s0) -80000fcc: 00c7a783 lw a5,12(a5) -80000fd0: fcf42823 sw a5,-48(s0) -80000fd4: fe042223 sw zero,-28(s0) -80000fd8: 0c00006f j 80001098 <_vx_mat_sub+0x148> -80000fdc: fb842703 lw a4,-72(s0) -80000fe0: fd042783 lw a5,-48(s0) -80000fe4: 02f70733 mul a4,a4,a5 -80000fe8: fe842783 lw a5,-24(s0) -80000fec: 00f707b3 add a5,a4,a5 -80000ff0: fcf42623 sw a5,-52(s0) -80000ff4: fe842703 lw a4,-24(s0) -80000ff8: fd042783 lw a5,-48(s0) -80000ffc: 00f737b3 sltu a5,a4,a5 -80001000: 0ff7f793 andi a5,a5,255 -80001004: fcf42423 sw a5,-56(s0) -80001008: fc842783 lw a5,-56(s0) -8000100c: 0017b793 seqz a5,a5 -80001010: fcf403a3 sb a5,-57(s0) -80001014: fc744783 lbu a5,-57(s0) -80001018: 00078f13 mv t5,a5 -8000101c: 800017b7 lui a5,0x80001 -80001020: 08478f93 addi t6,a5,132 # 80001084 -80001024: 000f206b 0xf206b -80001028: 01ff707b 0x1ff707b -8000102c: fcc42783 lw a5,-52(s0) -80001030: 00279793 slli a5,a5,0x2 -80001034: fdc42703 lw a4,-36(s0) -80001038: 00f707b3 add a5,a4,a5 -8000103c: 0007a683 lw a3,0(a5) -80001040: fcc42783 lw a5,-52(s0) -80001044: 00279793 slli a5,a5,0x2 -80001048: fd842703 lw a4,-40(s0) -8000104c: 00f707b3 add a5,a4,a5 -80001050: 0007a703 lw a4,0(a5) -80001054: fcc42783 lw a5,-52(s0) -80001058: 00279793 slli a5,a5,0x2 -8000105c: fd442603 lw a2,-44(s0) -80001060: 00f607b3 add a5,a2,a5 -80001064: 40e68733 sub a4,a3,a4 -80001068: 00e7a023 sw a4,0(a5) -8000106c: fe842783 lw a5,-24(s0) -80001070: 00178793 addi a5,a5,1 -80001074: fef42423 sw a5,-24(s0) -80001078: 800017b7 lui a5,0x80001 -8000107c: 08878e13 addi t3,a5,136 # 80001088 -80001080: 000e0067 jr t3 -80001084: 00000013 nop -80001088: 0000306b 0x306b -8000108c: fe442783 lw a5,-28(s0) -80001090: 00178793 addi a5,a5,1 -80001094: fef42223 sw a5,-28(s0) -80001098: fe442783 lw a5,-28(s0) -8000109c: fec42703 lw a4,-20(s0) -800010a0: f2e7eee3 bltu a5,a4,80000fdc <_vx_mat_sub+0x8c> -800010a4: 00000013 nop -800010a8: 04c12083 lw ra,76(sp) -800010ac: 04812403 lw s0,72(sp) -800010b0: 05010113 addi sp,sp,80 -800010b4: 00008067 ret +80000f98: 00c7a783 lw a5,12(a5) +80000f9c: fcf42823 sw a5,-48(s0) +80000fa0: fe042223 sw zero,-28(s0) +80000fa4: 0c00006f j 80001064 <_vx_mat_sub+0x148> +80000fa8: fb842703 lw a4,-72(s0) +80000fac: fd042783 lw a5,-48(s0) +80000fb0: 02f70733 mul a4,a4,a5 +80000fb4: fe842783 lw a5,-24(s0) +80000fb8: 00f707b3 add a5,a4,a5 +80000fbc: fcf42623 sw a5,-52(s0) +80000fc0: fe842703 lw a4,-24(s0) +80000fc4: fd042783 lw a5,-48(s0) +80000fc8: 00f737b3 sltu a5,a4,a5 +80000fcc: 0ff7f793 andi a5,a5,255 +80000fd0: fcf42423 sw a5,-56(s0) +80000fd4: fc842783 lw a5,-56(s0) +80000fd8: 0017b793 seqz a5,a5 +80000fdc: fcf403a3 sb a5,-57(s0) +80000fe0: fc744783 lbu a5,-57(s0) +80000fe4: 00078f13 mv t5,a5 +80000fe8: 800017b7 lui a5,0x80001 +80000fec: 05078f93 addi t6,a5,80 # 80001050 +80000ff0: 000f206b 0xf206b +80000ff4: 01ff707b 0x1ff707b +80000ff8: fcc42783 lw a5,-52(s0) +80000ffc: 00279793 slli a5,a5,0x2 +80001000: fdc42703 lw a4,-36(s0) +80001004: 00f707b3 add a5,a4,a5 +80001008: 0007a683 lw a3,0(a5) +8000100c: fcc42783 lw a5,-52(s0) +80001010: 00279793 slli a5,a5,0x2 +80001014: fd842703 lw a4,-40(s0) +80001018: 00f707b3 add a5,a4,a5 +8000101c: 0007a703 lw a4,0(a5) +80001020: fcc42783 lw a5,-52(s0) +80001024: 00279793 slli a5,a5,0x2 +80001028: fd442603 lw a2,-44(s0) +8000102c: 00f607b3 add a5,a2,a5 +80001030: 40e68733 sub a4,a3,a4 +80001034: 00e7a023 sw a4,0(a5) +80001038: fe842783 lw a5,-24(s0) +8000103c: 00178793 addi a5,a5,1 +80001040: fef42423 sw a5,-24(s0) +80001044: 800017b7 lui a5,0x80001 +80001048: 05478e13 addi t3,a5,84 # 80001054 +8000104c: 000e0067 jr t3 +80001050: 00000013 nop +80001054: 0000306b 0x306b +80001058: fe442783 lw a5,-28(s0) +8000105c: 00178793 addi a5,a5,1 +80001060: fef42223 sw a5,-28(s0) +80001064: fe442783 lw a5,-28(s0) +80001068: fec42703 lw a4,-20(s0) +8000106c: f2e7eee3 bltu a5,a4,80000fa8 <_vx_mat_sub+0x8c> +80001070: 00000013 nop +80001074: 04c12083 lw ra,76(sp) +80001078: 04812403 lw s0,72(sp) +8000107c: 05010113 addi sp,sp,80 +80001080: 00008067 ret -800010b8 : -800010b8: fc010113 addi sp,sp,-64 -800010bc: 02112e23 sw ra,60(sp) -800010c0: 02812c23 sw s0,56(sp) -800010c4: 04010413 addi s0,sp,64 -800010c8: fca42e23 sw a0,-36(s0) -800010cc: fcb42c23 sw a1,-40(s0) -800010d0: fcc42a23 sw a2,-44(s0) -800010d4: fcd42823 sw a3,-48(s0) -800010d8: fce42623 sw a4,-52(s0) -800010dc: 810037b7 lui a5,0x81003 -800010e0: fdc42703 lw a4,-36(s0) -800010e4: 9ce7a823 sw a4,-1584(a5) # 810029d0 -800010e8: 810037b7 lui a5,0x81003 -800010ec: 9d078793 addi a5,a5,-1584 # 810029d0 -800010f0: fd842703 lw a4,-40(s0) -800010f4: 00e7a223 sw a4,4(a5) -800010f8: 810037b7 lui a5,0x81003 -800010fc: 9d078793 addi a5,a5,-1584 # 810029d0 -80001100: fd442703 lw a4,-44(s0) -80001104: 00e7a423 sw a4,8(a5) -80001108: 810037b7 lui a5,0x81003 -8000110c: 9d078793 addi a5,a5,-1584 # 810029d0 -80001110: fcc42703 lw a4,-52(s0) -80001114: 00e7a623 sw a4,12(a5) -80001118: 810037b7 lui a5,0x81003 -8000111c: 9d078793 addi a5,a5,-1584 # 810029d0 -80001120: fd042703 lw a4,-48(s0) -80001124: 00e7a823 sw a4,16(a5) -80001128: 884ff0ef jal ra,800001ac -8000112c: fea42423 sw a0,-24(s0) -80001130: fcc42703 lw a4,-52(s0) -80001134: fe842783 lw a5,-24(s0) -80001138: 02f757b3 divu a5,a4,a5 -8000113c: fef42623 sw a5,-20(s0) -80001140: fcc42703 lw a4,-52(s0) -80001144: fe842783 lw a5,-24(s0) -80001148: 02f777b3 remu a5,a4,a5 -8000114c: 00078863 beqz a5,8000115c -80001150: fec42783 lw a5,-20(s0) -80001154: 00178793 addi a5,a5,1 -80001158: fef42623 sw a5,-20(s0) -8000115c: 810037b7 lui a5,0x81003 -80001160: 9d078793 addi a5,a5,-1584 # 810029d0 -80001164: fec42703 lw a4,-20(s0) -80001168: 00e7aa23 sw a4,20(a5) -8000116c: fcc42703 lw a4,-52(s0) -80001170: fe842783 lw a5,-24(s0) -80001174: 02f76263 bltu a4,a5,80001198 -80001178: 810037b7 lui a5,0x81003 -8000117c: 9d078693 addi a3,a5,-1584 # 810029d0 -80001180: 800017b7 lui a5,0x80001 -80001184: 1f078613 addi a2,a5,496 # 800011f0 -80001188: fe842583 lw a1,-24(s0) -8000118c: fd042503 lw a0,-48(s0) -80001190: a7cff0ef jal ra,8000040c -80001194: 0200006f j 800011b4 -80001198: 810037b7 lui a5,0x81003 -8000119c: 9d078693 addi a3,a5,-1584 # 810029d0 -800011a0: 800017b7 lui a5,0x80001 -800011a4: 1f078613 addi a2,a5,496 # 800011f0 -800011a8: fcc42583 lw a1,-52(s0) -800011ac: fd042503 lw a0,-48(s0) -800011b0: a5cff0ef jal ra,8000040c -800011b4: ff1fe0ef jal ra,800001a4 -800011b8: fea42223 sw a0,-28(s0) -800011bc: fd042703 lw a4,-48(s0) -800011c0: fe442783 lw a5,-28(s0) -800011c4: 00e7f863 bgeu a5,a4,800011d4 -800011c8: fe442503 lw a0,-28(s0) -800011cc: b2cff0ef jal ra,800004f8 -800011d0: 00c0006f j 800011dc -800011d4: fd042503 lw a0,-48(s0) -800011d8: b20ff0ef jal ra,800004f8 -800011dc: 00000013 nop -800011e0: 03c12083 lw ra,60(sp) -800011e4: 03812403 lw s0,56(sp) -800011e8: 04010113 addi sp,sp,64 -800011ec: 00008067 ret +80001084 : +80001084: fc010113 addi sp,sp,-64 +80001088: 02112e23 sw ra,60(sp) +8000108c: 02812c23 sw s0,56(sp) +80001090: 04010413 addi s0,sp,64 +80001094: fca42e23 sw a0,-36(s0) +80001098: fcb42c23 sw a1,-40(s0) +8000109c: fcc42a23 sw a2,-44(s0) +800010a0: fcd42823 sw a3,-48(s0) +800010a4: fce42623 sw a4,-52(s0) +800010a8: 810037b7 lui a5,0x81003 +800010ac: fdc42703 lw a4,-36(s0) +800010b0: 98e7a423 sw a4,-1656(a5) # 81002988 +800010b4: 810037b7 lui a5,0x81003 +800010b8: 98878793 addi a5,a5,-1656 # 81002988 +800010bc: fd842703 lw a4,-40(s0) +800010c0: 00e7a223 sw a4,4(a5) +800010c4: 810037b7 lui a5,0x81003 +800010c8: 98878793 addi a5,a5,-1656 # 81002988 +800010cc: fd442703 lw a4,-44(s0) +800010d0: 00e7a423 sw a4,8(a5) +800010d4: 810037b7 lui a5,0x81003 +800010d8: 98878793 addi a5,a5,-1656 # 81002988 +800010dc: fcc42703 lw a4,-52(s0) +800010e0: 00e7a623 sw a4,12(a5) +800010e4: 810037b7 lui a5,0x81003 +800010e8: 98878793 addi a5,a5,-1656 # 81002988 +800010ec: fd042703 lw a4,-48(s0) +800010f0: 00e7a823 sw a4,16(a5) +800010f4: 8d0ff0ef jal ra,800001c4 +800010f8: fea42423 sw a0,-24(s0) +800010fc: fcc42703 lw a4,-52(s0) +80001100: fe842783 lw a5,-24(s0) +80001104: 02f757b3 divu a5,a4,a5 +80001108: fef42623 sw a5,-20(s0) +8000110c: fcc42703 lw a4,-52(s0) +80001110: fe842783 lw a5,-24(s0) +80001114: 02f777b3 remu a5,a4,a5 +80001118: 00078863 beqz a5,80001128 +8000111c: fec42783 lw a5,-20(s0) +80001120: 00178793 addi a5,a5,1 +80001124: fef42623 sw a5,-20(s0) +80001128: 810037b7 lui a5,0x81003 +8000112c: 98878793 addi a5,a5,-1656 # 81002988 +80001130: fec42703 lw a4,-20(s0) +80001134: 00e7aa23 sw a4,20(a5) +80001138: fcc42703 lw a4,-52(s0) +8000113c: fe842783 lw a5,-24(s0) +80001140: 02f76263 bltu a4,a5,80001164 +80001144: 810037b7 lui a5,0x81003 +80001148: 98878693 addi a3,a5,-1656 # 81002988 +8000114c: 800017b7 lui a5,0x80001 +80001150: 1bc78613 addi a2,a5,444 # 800011bc +80001154: fe842583 lw a1,-24(s0) +80001158: fd042503 lw a0,-48(s0) +8000115c: ac8ff0ef jal ra,80000424 +80001160: 0200006f j 80001180 +80001164: 810037b7 lui a5,0x81003 +80001168: 98878693 addi a3,a5,-1656 # 81002988 +8000116c: 800017b7 lui a5,0x80001 +80001170: 1bc78613 addi a2,a5,444 # 800011bc +80001174: fcc42583 lw a1,-52(s0) +80001178: fd042503 lw a0,-48(s0) +8000117c: aa8ff0ef jal ra,80000424 +80001180: 83cff0ef jal ra,800001bc +80001184: fea42223 sw a0,-28(s0) +80001188: fd042703 lw a4,-48(s0) +8000118c: fe442783 lw a5,-28(s0) +80001190: 00e7f863 bgeu a5,a4,800011a0 +80001194: fe442503 lw a0,-28(s0) +80001198: b78ff0ef jal ra,80000510 +8000119c: 00c0006f j 800011a8 +800011a0: fd042503 lw a0,-48(s0) +800011a4: b6cff0ef jal ra,80000510 +800011a8: 00000013 nop +800011ac: 03c12083 lw ra,60(sp) +800011b0: 03812403 lw s0,56(sp) +800011b4: 04010113 addi sp,sp,64 +800011b8: 00008067 ret -800011f0 <_vx_e_mat_add>: -800011f0: fb010113 addi sp,sp,-80 -800011f4: 04112623 sw ra,76(sp) -800011f8: 04812423 sw s0,72(sp) -800011fc: 05010413 addi s0,sp,80 -80001200: faa42e23 sw a0,-68(s0) -80001204: fab42c23 sw a1,-72(s0) -80001208: bbcff0ef jal ra,800005c4 -8000120c: fea42023 sw a0,-32(s0) -80001210: fe042783 lw a5,-32(s0) -80001214: 0007a783 lw a5,0(a5) -80001218: fcf42e23 sw a5,-36(s0) -8000121c: fe042783 lw a5,-32(s0) -80001220: 0047a783 lw a5,4(a5) -80001224: 0007a783 lw a5,0(a5) -80001228: fcf42c23 sw a5,-40(s0) -8000122c: fe042783 lw a5,-32(s0) -80001230: 0087a783 lw a5,8(a5) -80001234: fcf42a23 sw a5,-44(s0) +800011bc <_vx_e_mat_add>: +800011bc: fb010113 addi sp,sp,-80 +800011c0: 04112623 sw ra,76(sp) +800011c4: 04812423 sw s0,72(sp) +800011c8: 05010413 addi s0,sp,80 +800011cc: faa42e23 sw a0,-68(s0) +800011d0: fab42c23 sw a1,-72(s0) +800011d4: c08ff0ef jal ra,800005dc +800011d8: fea42023 sw a0,-32(s0) +800011dc: fe042783 lw a5,-32(s0) +800011e0: 0007a783 lw a5,0(a5) +800011e4: fcf42e23 sw a5,-36(s0) +800011e8: fe042783 lw a5,-32(s0) +800011ec: 0047a783 lw a5,4(a5) +800011f0: 0007a783 lw a5,0(a5) +800011f4: fcf42c23 sw a5,-40(s0) +800011f8: fe042783 lw a5,-32(s0) +800011fc: 0087a783 lw a5,8(a5) +80001200: fcf42a23 sw a5,-44(s0) +80001204: fe042783 lw a5,-32(s0) +80001208: 0147a783 lw a5,20(a5) +8000120c: fef42623 sw a5,-20(s0) +80001210: fec42703 lw a4,-20(s0) +80001214: fbc42783 lw a5,-68(s0) +80001218: 02f707b3 mul a5,a4,a5 +8000121c: fef42423 sw a5,-24(s0) +80001220: fec42783 lw a5,-20(s0) +80001224: 00079a63 bnez a5,80001238 <_vx_e_mat_add+0x7c> +80001228: 00100793 li a5,1 +8000122c: fef42623 sw a5,-20(s0) +80001230: fbc42783 lw a5,-68(s0) +80001234: fef42423 sw a5,-24(s0) 80001238: fe042783 lw a5,-32(s0) -8000123c: 0147a783 lw a5,20(a5) -80001240: fef42623 sw a5,-20(s0) -80001244: fec42703 lw a4,-20(s0) -80001248: fbc42783 lw a5,-68(s0) -8000124c: 02f707b3 mul a5,a4,a5 -80001250: fef42423 sw a5,-24(s0) -80001254: fec42783 lw a5,-20(s0) -80001258: 00079a63 bnez a5,8000126c <_vx_e_mat_add+0x7c> -8000125c: 00100793 li a5,1 -80001260: fef42623 sw a5,-20(s0) -80001264: fbc42783 lw a5,-68(s0) -80001268: fef42423 sw a5,-24(s0) -8000126c: fe042783 lw a5,-32(s0) -80001270: 00c7a783 lw a5,12(a5) -80001274: fcf42823 sw a5,-48(s0) -80001278: fe042223 sw zero,-28(s0) -8000127c: 0b00006f j 8000132c <_vx_e_mat_add+0x13c> -80001280: fb842703 lw a4,-72(s0) -80001284: fd042783 lw a5,-48(s0) -80001288: 02f70733 mul a4,a4,a5 -8000128c: fe842783 lw a5,-24(s0) -80001290: 00f707b3 add a5,a4,a5 -80001294: fcf42623 sw a5,-52(s0) -80001298: fe842703 lw a4,-24(s0) -8000129c: fd042783 lw a5,-48(s0) -800012a0: 00f737b3 sltu a5,a4,a5 -800012a4: 0ff7f793 andi a5,a5,255 -800012a8: fcf42423 sw a5,-56(s0) -800012ac: fc842783 lw a5,-56(s0) -800012b0: 0017b793 seqz a5,a5 -800012b4: fcf403a3 sb a5,-57(s0) -800012b8: fc744783 lbu a5,-57(s0) -800012bc: 00078f13 mv t5,a5 -800012c0: 800017b7 lui a5,0x80001 -800012c4: 31878f93 addi t6,a5,792 # 80001318 -800012c8: 000f206b 0xf206b -800012cc: 01ff707b 0x1ff707b -800012d0: fcc42783 lw a5,-52(s0) -800012d4: 00279793 slli a5,a5,0x2 -800012d8: fdc42703 lw a4,-36(s0) -800012dc: 00f707b3 add a5,a4,a5 -800012e0: 0007a683 lw a3,0(a5) -800012e4: fcc42783 lw a5,-52(s0) -800012e8: 00279793 slli a5,a5,0x2 -800012ec: fd442703 lw a4,-44(s0) -800012f0: 00f707b3 add a5,a4,a5 -800012f4: fd842703 lw a4,-40(s0) -800012f8: 00e68733 add a4,a3,a4 -800012fc: 00e7a023 sw a4,0(a5) -80001300: fe842783 lw a5,-24(s0) -80001304: 00178793 addi a5,a5,1 -80001308: fef42423 sw a5,-24(s0) -8000130c: 800017b7 lui a5,0x80001 -80001310: 31c78e13 addi t3,a5,796 # 8000131c -80001314: 000e0067 jr t3 -80001318: 00000013 nop -8000131c: 0000306b 0x306b -80001320: fe442783 lw a5,-28(s0) -80001324: 00178793 addi a5,a5,1 -80001328: fef42223 sw a5,-28(s0) -8000132c: fe442783 lw a5,-28(s0) -80001330: fec42703 lw a4,-20(s0) -80001334: f4e7e6e3 bltu a5,a4,80001280 <_vx_e_mat_add+0x90> -80001338: 00000013 nop -8000133c: 04c12083 lw ra,76(sp) -80001340: 04812403 lw s0,72(sp) -80001344: 05010113 addi sp,sp,80 -80001348: 00008067 ret +8000123c: 00c7a783 lw a5,12(a5) +80001240: fcf42823 sw a5,-48(s0) +80001244: fe042223 sw zero,-28(s0) +80001248: 0b00006f j 800012f8 <_vx_e_mat_add+0x13c> +8000124c: fb842703 lw a4,-72(s0) +80001250: fd042783 lw a5,-48(s0) +80001254: 02f70733 mul a4,a4,a5 +80001258: fe842783 lw a5,-24(s0) +8000125c: 00f707b3 add a5,a4,a5 +80001260: fcf42623 sw a5,-52(s0) +80001264: fe842703 lw a4,-24(s0) +80001268: fd042783 lw a5,-48(s0) +8000126c: 00f737b3 sltu a5,a4,a5 +80001270: 0ff7f793 andi a5,a5,255 +80001274: fcf42423 sw a5,-56(s0) +80001278: fc842783 lw a5,-56(s0) +8000127c: 0017b793 seqz a5,a5 +80001280: fcf403a3 sb a5,-57(s0) +80001284: fc744783 lbu a5,-57(s0) +80001288: 00078f13 mv t5,a5 +8000128c: 800017b7 lui a5,0x80001 +80001290: 2e478f93 addi t6,a5,740 # 800012e4 +80001294: 000f206b 0xf206b +80001298: 01ff707b 0x1ff707b +8000129c: fcc42783 lw a5,-52(s0) +800012a0: 00279793 slli a5,a5,0x2 +800012a4: fdc42703 lw a4,-36(s0) +800012a8: 00f707b3 add a5,a4,a5 +800012ac: 0007a683 lw a3,0(a5) +800012b0: fcc42783 lw a5,-52(s0) +800012b4: 00279793 slli a5,a5,0x2 +800012b8: fd442703 lw a4,-44(s0) +800012bc: 00f707b3 add a5,a4,a5 +800012c0: fd842703 lw a4,-40(s0) +800012c4: 00e68733 add a4,a3,a4 +800012c8: 00e7a023 sw a4,0(a5) +800012cc: fe842783 lw a5,-24(s0) +800012d0: 00178793 addi a5,a5,1 +800012d4: fef42423 sw a5,-24(s0) +800012d8: 800017b7 lui a5,0x80001 +800012dc: 2e878e13 addi t3,a5,744 # 800012e8 +800012e0: 000e0067 jr t3 +800012e4: 00000013 nop +800012e8: 0000306b 0x306b +800012ec: fe442783 lw a5,-28(s0) +800012f0: 00178793 addi a5,a5,1 +800012f4: fef42223 sw a5,-28(s0) +800012f8: fe442783 lw a5,-28(s0) +800012fc: fec42703 lw a4,-20(s0) +80001300: f4e7e6e3 bltu a5,a4,8000124c <_vx_e_mat_add+0x90> +80001304: 00000013 nop +80001308: 04c12083 lw ra,76(sp) +8000130c: 04812403 lw s0,72(sp) +80001310: 05010113 addi sp,sp,80 +80001314: 00008067 ret -8000134c : -8000134c: fc010113 addi sp,sp,-64 -80001350: 02112e23 sw ra,60(sp) -80001354: 02812c23 sw s0,56(sp) -80001358: 04010413 addi s0,sp,64 -8000135c: fca42e23 sw a0,-36(s0) -80001360: fcb42c23 sw a1,-40(s0) -80001364: fcc42a23 sw a2,-44(s0) -80001368: fcd42823 sw a3,-48(s0) -8000136c: fce42623 sw a4,-52(s0) -80001370: 810037b7 lui a5,0x81003 -80001374: fdc42703 lw a4,-36(s0) -80001378: 9ce7a823 sw a4,-1584(a5) # 810029d0 -8000137c: 810037b7 lui a5,0x81003 -80001380: 9d078793 addi a5,a5,-1584 # 810029d0 -80001384: fd842703 lw a4,-40(s0) -80001388: 00e7a223 sw a4,4(a5) -8000138c: 810037b7 lui a5,0x81003 -80001390: 9d078793 addi a5,a5,-1584 # 810029d0 -80001394: fd442703 lw a4,-44(s0) -80001398: 00e7a423 sw a4,8(a5) -8000139c: 810037b7 lui a5,0x81003 -800013a0: 9d078793 addi a5,a5,-1584 # 810029d0 -800013a4: fcc42703 lw a4,-52(s0) -800013a8: 00e7a623 sw a4,12(a5) -800013ac: 810037b7 lui a5,0x81003 -800013b0: 9d078793 addi a5,a5,-1584 # 810029d0 -800013b4: fd042703 lw a4,-48(s0) -800013b8: 00e7a823 sw a4,16(a5) -800013bc: df1fe0ef jal ra,800001ac -800013c0: fea42423 sw a0,-24(s0) -800013c4: fcc42703 lw a4,-52(s0) -800013c8: fe842783 lw a5,-24(s0) -800013cc: 02f757b3 divu a5,a4,a5 -800013d0: fef42623 sw a5,-20(s0) -800013d4: fcc42703 lw a4,-52(s0) -800013d8: fe842783 lw a5,-24(s0) -800013dc: 02f777b3 remu a5,a4,a5 -800013e0: 00078863 beqz a5,800013f0 -800013e4: fec42783 lw a5,-20(s0) -800013e8: 00178793 addi a5,a5,1 -800013ec: fef42623 sw a5,-20(s0) -800013f0: 810037b7 lui a5,0x81003 -800013f4: 9d078793 addi a5,a5,-1584 # 810029d0 -800013f8: fec42703 lw a4,-20(s0) -800013fc: 00e7aa23 sw a4,20(a5) -80001400: fcc42703 lw a4,-52(s0) -80001404: fe842783 lw a5,-24(s0) -80001408: 02f76263 bltu a4,a5,8000142c -8000140c: 810037b7 lui a5,0x81003 -80001410: 9d078693 addi a3,a5,-1584 # 810029d0 -80001414: 800017b7 lui a5,0x80001 -80001418: 48478613 addi a2,a5,1156 # 80001484 -8000141c: fe842583 lw a1,-24(s0) -80001420: fd042503 lw a0,-48(s0) -80001424: fe9fe0ef jal ra,8000040c -80001428: 0200006f j 80001448 -8000142c: 810037b7 lui a5,0x81003 -80001430: 9d078693 addi a3,a5,-1584 # 810029d0 -80001434: 800017b7 lui a5,0x80001 -80001438: 48478613 addi a2,a5,1156 # 80001484 -8000143c: fcc42583 lw a1,-52(s0) -80001440: fd042503 lw a0,-48(s0) -80001444: fc9fe0ef jal ra,8000040c -80001448: d5dfe0ef jal ra,800001a4 -8000144c: fea42223 sw a0,-28(s0) -80001450: fd042703 lw a4,-48(s0) -80001454: fe442783 lw a5,-28(s0) -80001458: 00e7f863 bgeu a5,a4,80001468 -8000145c: fe442503 lw a0,-28(s0) -80001460: 898ff0ef jal ra,800004f8 -80001464: 00c0006f j 80001470 -80001468: fd042503 lw a0,-48(s0) -8000146c: 88cff0ef jal ra,800004f8 -80001470: 00000013 nop -80001474: 03c12083 lw ra,60(sp) -80001478: 03812403 lw s0,56(sp) -8000147c: 04010113 addi sp,sp,64 -80001480: 00008067 ret +80001318 : +80001318: fc010113 addi sp,sp,-64 +8000131c: 02112e23 sw ra,60(sp) +80001320: 02812c23 sw s0,56(sp) +80001324: 04010413 addi s0,sp,64 +80001328: fca42e23 sw a0,-36(s0) +8000132c: fcb42c23 sw a1,-40(s0) +80001330: fcc42a23 sw a2,-44(s0) +80001334: fcd42823 sw a3,-48(s0) +80001338: fce42623 sw a4,-52(s0) +8000133c: 810037b7 lui a5,0x81003 +80001340: fdc42703 lw a4,-36(s0) +80001344: 98e7a423 sw a4,-1656(a5) # 81002988 +80001348: 810037b7 lui a5,0x81003 +8000134c: 98878793 addi a5,a5,-1656 # 81002988 +80001350: fd842703 lw a4,-40(s0) +80001354: 00e7a223 sw a4,4(a5) +80001358: 810037b7 lui a5,0x81003 +8000135c: 98878793 addi a5,a5,-1656 # 81002988 +80001360: fd442703 lw a4,-44(s0) +80001364: 00e7a423 sw a4,8(a5) +80001368: 810037b7 lui a5,0x81003 +8000136c: 98878793 addi a5,a5,-1656 # 81002988 +80001370: fcc42703 lw a4,-52(s0) +80001374: 00e7a623 sw a4,12(a5) +80001378: 810037b7 lui a5,0x81003 +8000137c: 98878793 addi a5,a5,-1656 # 81002988 +80001380: fd042703 lw a4,-48(s0) +80001384: 00e7a823 sw a4,16(a5) +80001388: e3dfe0ef jal ra,800001c4 +8000138c: fea42423 sw a0,-24(s0) +80001390: fcc42703 lw a4,-52(s0) +80001394: fe842783 lw a5,-24(s0) +80001398: 02f757b3 divu a5,a4,a5 +8000139c: fef42623 sw a5,-20(s0) +800013a0: fcc42703 lw a4,-52(s0) +800013a4: fe842783 lw a5,-24(s0) +800013a8: 02f777b3 remu a5,a4,a5 +800013ac: 00078863 beqz a5,800013bc +800013b0: fec42783 lw a5,-20(s0) +800013b4: 00178793 addi a5,a5,1 +800013b8: fef42623 sw a5,-20(s0) +800013bc: 810037b7 lui a5,0x81003 +800013c0: 98878793 addi a5,a5,-1656 # 81002988 +800013c4: fec42703 lw a4,-20(s0) +800013c8: 00e7aa23 sw a4,20(a5) +800013cc: fcc42703 lw a4,-52(s0) +800013d0: fe842783 lw a5,-24(s0) +800013d4: 02f76263 bltu a4,a5,800013f8 +800013d8: 810037b7 lui a5,0x81003 +800013dc: 98878693 addi a3,a5,-1656 # 81002988 +800013e0: 800017b7 lui a5,0x80001 +800013e4: 45078613 addi a2,a5,1104 # 80001450 +800013e8: fe842583 lw a1,-24(s0) +800013ec: fd042503 lw a0,-48(s0) +800013f0: 834ff0ef jal ra,80000424 +800013f4: 0200006f j 80001414 +800013f8: 810037b7 lui a5,0x81003 +800013fc: 98878693 addi a3,a5,-1656 # 81002988 +80001400: 800017b7 lui a5,0x80001 +80001404: 45078613 addi a2,a5,1104 # 80001450 +80001408: fcc42583 lw a1,-52(s0) +8000140c: fd042503 lw a0,-48(s0) +80001410: 814ff0ef jal ra,80000424 +80001414: da9fe0ef jal ra,800001bc +80001418: fea42223 sw a0,-28(s0) +8000141c: fd042703 lw a4,-48(s0) +80001420: fe442783 lw a5,-28(s0) +80001424: 00e7f863 bgeu a5,a4,80001434 +80001428: fe442503 lw a0,-28(s0) +8000142c: 8e4ff0ef jal ra,80000510 +80001430: 00c0006f j 8000143c +80001434: fd042503 lw a0,-48(s0) +80001438: 8d8ff0ef jal ra,80000510 +8000143c: 00000013 nop +80001440: 03c12083 lw ra,60(sp) +80001444: 03812403 lw s0,56(sp) +80001448: 04010113 addi sp,sp,64 +8000144c: 00008067 ret -80001484 <_vx_e_mat_mult>: -80001484: fb010113 addi sp,sp,-80 -80001488: 04112623 sw ra,76(sp) -8000148c: 04812423 sw s0,72(sp) -80001490: 05010413 addi s0,sp,80 -80001494: faa42e23 sw a0,-68(s0) -80001498: fab42c23 sw a1,-72(s0) -8000149c: 928ff0ef jal ra,800005c4 -800014a0: fea42023 sw a0,-32(s0) -800014a4: fe042783 lw a5,-32(s0) -800014a8: 0007a783 lw a5,0(a5) -800014ac: fcf42e23 sw a5,-36(s0) -800014b0: fe042783 lw a5,-32(s0) -800014b4: 0047a783 lw a5,4(a5) -800014b8: 0007a783 lw a5,0(a5) -800014bc: fcf42c23 sw a5,-40(s0) -800014c0: fe042783 lw a5,-32(s0) -800014c4: 0087a783 lw a5,8(a5) -800014c8: fcf42a23 sw a5,-44(s0) +80001450 <_vx_e_mat_mult>: +80001450: fb010113 addi sp,sp,-80 +80001454: 04112623 sw ra,76(sp) +80001458: 04812423 sw s0,72(sp) +8000145c: 05010413 addi s0,sp,80 +80001460: faa42e23 sw a0,-68(s0) +80001464: fab42c23 sw a1,-72(s0) +80001468: 974ff0ef jal ra,800005dc +8000146c: fea42023 sw a0,-32(s0) +80001470: fe042783 lw a5,-32(s0) +80001474: 0007a783 lw a5,0(a5) +80001478: fcf42e23 sw a5,-36(s0) +8000147c: fe042783 lw a5,-32(s0) +80001480: 0047a783 lw a5,4(a5) +80001484: 0007a783 lw a5,0(a5) +80001488: fcf42c23 sw a5,-40(s0) +8000148c: fe042783 lw a5,-32(s0) +80001490: 0087a783 lw a5,8(a5) +80001494: fcf42a23 sw a5,-44(s0) +80001498: fe042783 lw a5,-32(s0) +8000149c: 0147a783 lw a5,20(a5) +800014a0: fef42623 sw a5,-20(s0) +800014a4: fec42703 lw a4,-20(s0) +800014a8: fbc42783 lw a5,-68(s0) +800014ac: 02f707b3 mul a5,a4,a5 +800014b0: fef42423 sw a5,-24(s0) +800014b4: fec42783 lw a5,-20(s0) +800014b8: 00079a63 bnez a5,800014cc <_vx_e_mat_mult+0x7c> +800014bc: 00100793 li a5,1 +800014c0: fef42623 sw a5,-20(s0) +800014c4: fbc42783 lw a5,-68(s0) +800014c8: fef42423 sw a5,-24(s0) 800014cc: fe042783 lw a5,-32(s0) -800014d0: 0147a783 lw a5,20(a5) -800014d4: fef42623 sw a5,-20(s0) -800014d8: fec42703 lw a4,-20(s0) -800014dc: fbc42783 lw a5,-68(s0) -800014e0: 02f707b3 mul a5,a4,a5 -800014e4: fef42423 sw a5,-24(s0) -800014e8: fec42783 lw a5,-20(s0) -800014ec: 00079a63 bnez a5,80001500 <_vx_e_mat_mult+0x7c> -800014f0: 00100793 li a5,1 -800014f4: fef42623 sw a5,-20(s0) -800014f8: fbc42783 lw a5,-68(s0) -800014fc: fef42423 sw a5,-24(s0) -80001500: fe042783 lw a5,-32(s0) -80001504: 00c7a783 lw a5,12(a5) -80001508: fcf42823 sw a5,-48(s0) -8000150c: fe042223 sw zero,-28(s0) -80001510: 0b00006f j 800015c0 <_vx_e_mat_mult+0x13c> -80001514: fb842703 lw a4,-72(s0) -80001518: fd042783 lw a5,-48(s0) -8000151c: 02f70733 mul a4,a4,a5 -80001520: fe842783 lw a5,-24(s0) -80001524: 00f707b3 add a5,a4,a5 -80001528: fcf42623 sw a5,-52(s0) -8000152c: fe842703 lw a4,-24(s0) -80001530: fd042783 lw a5,-48(s0) -80001534: 00f737b3 sltu a5,a4,a5 -80001538: 0ff7f793 andi a5,a5,255 -8000153c: fcf42423 sw a5,-56(s0) -80001540: fc842783 lw a5,-56(s0) -80001544: 0017b793 seqz a5,a5 -80001548: fcf403a3 sb a5,-57(s0) -8000154c: fc744783 lbu a5,-57(s0) -80001550: 00078f13 mv t5,a5 -80001554: 800017b7 lui a5,0x80001 -80001558: 5ac78f93 addi t6,a5,1452 # 800015ac -8000155c: 000f206b 0xf206b -80001560: 01ff707b 0x1ff707b -80001564: fcc42783 lw a5,-52(s0) -80001568: 00279793 slli a5,a5,0x2 -8000156c: fdc42703 lw a4,-36(s0) -80001570: 00f707b3 add a5,a4,a5 -80001574: 0007a683 lw a3,0(a5) -80001578: fcc42783 lw a5,-52(s0) -8000157c: 00279793 slli a5,a5,0x2 -80001580: fd442703 lw a4,-44(s0) -80001584: 00f707b3 add a5,a4,a5 -80001588: fd842703 lw a4,-40(s0) -8000158c: 02e68733 mul a4,a3,a4 -80001590: 00e7a023 sw a4,0(a5) -80001594: fe842783 lw a5,-24(s0) -80001598: 00178793 addi a5,a5,1 -8000159c: fef42423 sw a5,-24(s0) -800015a0: 800017b7 lui a5,0x80001 -800015a4: 5b078e13 addi t3,a5,1456 # 800015b0 -800015a8: 000e0067 jr t3 -800015ac: 00000013 nop -800015b0: 0000306b 0x306b -800015b4: fe442783 lw a5,-28(s0) -800015b8: 00178793 addi a5,a5,1 -800015bc: fef42223 sw a5,-28(s0) -800015c0: fe442783 lw a5,-28(s0) +800014d0: 00c7a783 lw a5,12(a5) +800014d4: fcf42823 sw a5,-48(s0) +800014d8: fe042223 sw zero,-28(s0) +800014dc: 0b00006f j 8000158c <_vx_e_mat_mult+0x13c> +800014e0: fb842703 lw a4,-72(s0) +800014e4: fd042783 lw a5,-48(s0) +800014e8: 02f70733 mul a4,a4,a5 +800014ec: fe842783 lw a5,-24(s0) +800014f0: 00f707b3 add a5,a4,a5 +800014f4: fcf42623 sw a5,-52(s0) +800014f8: fe842703 lw a4,-24(s0) +800014fc: fd042783 lw a5,-48(s0) +80001500: 00f737b3 sltu a5,a4,a5 +80001504: 0ff7f793 andi a5,a5,255 +80001508: fcf42423 sw a5,-56(s0) +8000150c: fc842783 lw a5,-56(s0) +80001510: 0017b793 seqz a5,a5 +80001514: fcf403a3 sb a5,-57(s0) +80001518: fc744783 lbu a5,-57(s0) +8000151c: 00078f13 mv t5,a5 +80001520: 800017b7 lui a5,0x80001 +80001524: 57878f93 addi t6,a5,1400 # 80001578 +80001528: 000f206b 0xf206b +8000152c: 01ff707b 0x1ff707b +80001530: fcc42783 lw a5,-52(s0) +80001534: 00279793 slli a5,a5,0x2 +80001538: fdc42703 lw a4,-36(s0) +8000153c: 00f707b3 add a5,a4,a5 +80001540: 0007a683 lw a3,0(a5) +80001544: fcc42783 lw a5,-52(s0) +80001548: 00279793 slli a5,a5,0x2 +8000154c: fd442703 lw a4,-44(s0) +80001550: 00f707b3 add a5,a4,a5 +80001554: fd842703 lw a4,-40(s0) +80001558: 02e68733 mul a4,a3,a4 +8000155c: 00e7a023 sw a4,0(a5) +80001560: fe842783 lw a5,-24(s0) +80001564: 00178793 addi a5,a5,1 +80001568: fef42423 sw a5,-24(s0) +8000156c: 800017b7 lui a5,0x80001 +80001570: 57c78e13 addi t3,a5,1404 # 8000157c +80001574: 000e0067 jr t3 +80001578: 00000013 nop +8000157c: 0000306b 0x306b +80001580: fe442783 lw a5,-28(s0) +80001584: 00178793 addi a5,a5,1 +80001588: fef42223 sw a5,-28(s0) +8000158c: fe442783 lw a5,-28(s0) +80001590: fec42703 lw a4,-20(s0) +80001594: f4e7e6e3 bltu a5,a4,800014e0 <_vx_e_mat_mult+0x90> +80001598: 00000013 nop +8000159c: 04c12083 lw ra,76(sp) +800015a0: 04812403 lw s0,72(sp) +800015a4: 05010113 addi sp,sp,80 +800015a8: 00008067 ret + +800015ac : +800015ac: fe010113 addi sp,sp,-32 +800015b0: 00812e23 sw s0,28(sp) +800015b4: 02010413 addi s0,sp,32 +800015b8: fe042623 sw zero,-20(s0) +800015bc: 0480006f j 80001604 +800015c0: 810037b7 lui a5,0x81003 800015c4: fec42703 lw a4,-20(s0) -800015c8: f4e7e6e3 bltu a5,a4,80001514 <_vx_e_mat_mult+0x90> -800015cc: 00000013 nop -800015d0: 04c12083 lw ra,76(sp) -800015d4: 04812403 lw s0,72(sp) -800015d8: 05010113 addi sp,sp,80 -800015dc: 00008067 ret +800015c8: 00271713 slli a4,a4,0x2 +800015cc: 9a078793 addi a5,a5,-1632 # 810029a0 +800015d0: 00f707b3 add a5,a4,a5 +800015d4: 00300713 li a4,3 +800015d8: 00e7a023 sw a4,0(a5) +800015dc: 810047b7 lui a5,0x81004 +800015e0: fec42703 lw a4,-20(s0) +800015e4: 00271713 slli a4,a4,0x2 +800015e8: 9a078793 addi a5,a5,-1632 # 810039a0 +800015ec: 00f707b3 add a5,a4,a5 +800015f0: 00200713 li a4,2 +800015f4: 00e7a023 sw a4,0(a5) +800015f8: fec42783 lw a5,-20(s0) +800015fc: 00178793 addi a5,a5,1 +80001600: fef42623 sw a5,-20(s0) +80001604: fec42703 lw a4,-20(s0) +80001608: 0ff00793 li a5,255 +8000160c: fae7dae3 bge a5,a4,800015c0 +80001610: 00000013 nop +80001614: 01c12403 lw s0,28(sp) +80001618: 02010113 addi sp,sp,32 +8000161c: 00008067 ret -800015e0 : -800015e0: fe010113 addi sp,sp,-32 -800015e4: 00812e23 sw s0,28(sp) -800015e8: 02010413 addi s0,sp,32 -800015ec: fe042623 sw zero,-20(s0) -800015f0: 0480006f j 80001638 -800015f4: 810037b7 lui a5,0x81003 -800015f8: fec42703 lw a4,-20(s0) -800015fc: 00271713 slli a4,a4,0x2 -80001600: 9e878793 addi a5,a5,-1560 # 810029e8 -80001604: 00f707b3 add a5,a4,a5 -80001608: 00300713 li a4,3 -8000160c: 00e7a023 sw a4,0(a5) -80001610: 810047b7 lui a5,0x81004 -80001614: fec42703 lw a4,-20(s0) -80001618: 00271713 slli a4,a4,0x2 -8000161c: 9e878793 addi a5,a5,-1560 # 810039e8 -80001620: 00f707b3 add a5,a4,a5 -80001624: 00200713 li a4,2 -80001628: 00e7a023 sw a4,0(a5) -8000162c: fec42783 lw a5,-20(s0) -80001630: 00178793 addi a5,a5,1 -80001634: fef42623 sw a5,-20(s0) -80001638: fec42703 lw a4,-20(s0) -8000163c: 03f00793 li a5,63 -80001640: fae7dae3 bge a5,a4,800015f4 -80001644: 00000013 nop -80001648: 01c12403 lw s0,28(sp) -8000164c: 02010113 addi sp,sp,32 -80001650: 00008067 ret +80001620 : +80001620: fd010113 addi sp,sp,-48 +80001624: 02112623 sw ra,44(sp) +80001628: 02812423 sw s0,40(sp) +8000162c: 03010413 addi s0,sp,48 +80001630: fca42e23 sw a0,-36(s0) +80001634: 810007b7 lui a5,0x81000 +80001638: 11078513 addi a0,a5,272 # 81000110 +8000163c: 90cff0ef jal ra,80000748 +80001640: fe042623 sw zero,-20(s0) +80001644: 0580006f j 8000169c +80001648: fec42783 lw a5,-20(s0) +8000164c: 00078e63 beqz a5,80001668 +80001650: fec42783 lw a5,-20(s0) +80001654: 00f7f793 andi a5,a5,15 +80001658: 00079863 bnez a5,80001668 +8000165c: 810007b7 lui a5,0x81000 +80001660: 13478513 addi a0,a5,308 # 81000134 +80001664: 8e4ff0ef jal ra,80000748 +80001668: fec42783 lw a5,-20(s0) +8000166c: 00279793 slli a5,a5,0x2 +80001670: fdc42703 lw a4,-36(s0) +80001674: 00f707b3 add a5,a4,a5 +80001678: 0007a783 lw a5,0(a5) +8000167c: 00078513 mv a0,a5 +80001680: 904ff0ef jal ra,80000784 +80001684: 810007b7 lui a5,0x81000 +80001688: 13878513 addi a0,a5,312 # 81000138 +8000168c: 8bcff0ef jal ra,80000748 +80001690: fec42783 lw a5,-20(s0) +80001694: 00178793 addi a5,a5,1 +80001698: fef42623 sw a5,-20(s0) +8000169c: fec42703 lw a4,-20(s0) +800016a0: 0ff00793 li a5,255 +800016a4: fae7d2e3 bge a5,a4,80001648 +800016a8: 810007b7 lui a5,0x81000 +800016ac: 13c78513 addi a0,a5,316 # 8100013c +800016b0: 898ff0ef jal ra,80000748 +800016b4: 00000013 nop +800016b8: 02c12083 lw ra,44(sp) +800016bc: 02812403 lw s0,40(sp) +800016c0: 03010113 addi sp,sp,48 +800016c4: 00008067 ret -80001654 : -80001654: fd010113 addi sp,sp,-48 -80001658: 02112623 sw ra,44(sp) -8000165c: 02812423 sw s0,40(sp) -80001660: 03010413 addi s0,sp,48 -80001664: fca42e23 sw a0,-36(s0) -80001668: 810007b7 lui a5,0x81000 -8000166c: 11078513 addi a0,a5,272 # 81000110 -80001670: 8c0ff0ef jal ra,80000730 -80001674: fe042623 sw zero,-20(s0) -80001678: 0580006f j 800016d0 -8000167c: fec42783 lw a5,-20(s0) -80001680: 00078e63 beqz a5,8000169c -80001684: fec42783 lw a5,-20(s0) -80001688: 0077f793 andi a5,a5,7 -8000168c: 00079863 bnez a5,8000169c -80001690: 810007b7 lui a5,0x81000 -80001694: 13478513 addi a0,a5,308 # 81000134 -80001698: 898ff0ef jal ra,80000730 -8000169c: fec42783 lw a5,-20(s0) -800016a0: 00279793 slli a5,a5,0x2 -800016a4: fdc42703 lw a4,-36(s0) -800016a8: 00f707b3 add a5,a4,a5 -800016ac: 0007a783 lw a5,0(a5) -800016b0: 00078513 mv a0,a5 -800016b4: 8b8ff0ef jal ra,8000076c -800016b8: 810007b7 lui a5,0x81000 -800016bc: 13878513 addi a0,a5,312 # 81000138 -800016c0: 870ff0ef jal ra,80000730 -800016c4: fec42783 lw a5,-20(s0) -800016c8: 00178793 addi a5,a5,1 -800016cc: fef42623 sw a5,-20(s0) -800016d0: fec42703 lw a4,-20(s0) -800016d4: 03f00793 li a5,63 -800016d8: fae7d2e3 bge a5,a4,8000167c -800016dc: 810007b7 lui a5,0x81000 -800016e0: 13c78513 addi a0,a5,316 # 8100013c -800016e4: 84cff0ef jal ra,80000730 -800016e8: 00000013 nop -800016ec: 02c12083 lw ra,44(sp) -800016f0: 02812403 lw s0,40(sp) -800016f4: 03010113 addi sp,sp,48 -800016f8: 00008067 ret - -800016fc
: -800016fc: fe010113 addi sp,sp,-32 -80001700: 00112e23 sw ra,28(sp) -80001704: 00812c23 sw s0,24(sp) -80001708: 02010413 addi s0,sp,32 -8000170c: ed5ff0ef jal ra,800015e0 -80001710: 00800693 li a3,8 -80001714: 810057b7 lui a5,0x81005 -80001718: 9e878613 addi a2,a5,-1560 # 810049e8 -8000171c: 810047b7 lui a5,0x81004 -80001720: 9e878593 addi a1,a5,-1560 # 810039e8 -80001724: 810037b7 lui a5,0x81003 -80001728: 9e878513 addi a0,a5,-1560 # 810029e8 -8000172c: 94cff0ef jal ra,80000878 -80001730: 810007b7 lui a5,0x81000 -80001734: 16078513 addi a0,a5,352 # 81000160 -80001738: ff9fe0ef jal ra,80000730 -8000173c: 810057b7 lui a5,0x81005 -80001740: 9e878513 addi a0,a5,-1560 # 810049e8 -80001744: f11ff0ef jal ra,80001654 -80001748: 00800713 li a4,8 -8000174c: 00800693 li a3,8 -80001750: 810057b7 lui a5,0x81005 -80001754: 9e878613 addi a2,a5,-1560 # 810049e8 -80001758: 810047b7 lui a5,0x81004 -8000175c: 9e878593 addi a1,a5,-1560 # 810039e8 -80001760: 810037b7 lui a5,0x81003 -80001764: 9e878513 addi a0,a5,-1560 # 810029e8 -80001768: c10ff0ef jal ra,80000b78 -8000176c: 810007b7 lui a5,0x81000 -80001770: 17c78513 addi a0,a5,380 # 8100017c -80001774: fbdfe0ef jal ra,80000730 -80001778: 810057b7 lui a5,0x81005 -8000177c: 9e878513 addi a0,a5,-1560 # 810049e8 -80001780: ed5ff0ef jal ra,80001654 -80001784: 00800713 li a4,8 -80001788: 00800693 li a3,8 -8000178c: 810057b7 lui a5,0x81005 -80001790: 9e878613 addi a2,a5,-1560 # 810049e8 -80001794: 810047b7 lui a5,0x81004 -80001798: 9e878593 addi a1,a5,-1560 # 810039e8 -8000179c: 810037b7 lui a5,0x81003 -800017a0: 9e878513 addi a0,a5,-1560 # 810029e8 -800017a4: e74ff0ef jal ra,80000e18 -800017a8: 810007b7 lui a5,0x81000 -800017ac: 19078513 addi a0,a5,400 # 81000190 -800017b0: f81fe0ef jal ra,80000730 -800017b4: 810057b7 lui a5,0x81005 -800017b8: 9e878513 addi a0,a5,-1560 # 810049e8 -800017bc: e99ff0ef jal ra,80001654 -800017c0: 00300793 li a5,3 -800017c4: fef42623 sw a5,-20(s0) -800017c8: fec40593 addi a1,s0,-20 -800017cc: 00800713 li a4,8 -800017d0: 00800693 li a3,8 -800017d4: 810057b7 lui a5,0x81005 -800017d8: 9e878613 addi a2,a5,-1560 # 810049e8 -800017dc: 810057b7 lui a5,0x81005 -800017e0: 9e878513 addi a0,a5,-1560 # 810049e8 -800017e4: 8d5ff0ef jal ra,800010b8 -800017e8: 810007b7 lui a5,0x81000 -800017ec: 1a878513 addi a0,a5,424 # 810001a8 -800017f0: f41fe0ef jal ra,80000730 -800017f4: 810057b7 lui a5,0x81005 -800017f8: 9e878513 addi a0,a5,-1560 # 810049e8 -800017fc: e59ff0ef jal ra,80001654 -80001800: fec40593 addi a1,s0,-20 -80001804: 00800713 li a4,8 -80001808: 00800693 li a3,8 -8000180c: 810057b7 lui a5,0x81005 -80001810: 9e878613 addi a2,a5,-1560 # 810049e8 -80001814: 810057b7 lui a5,0x81005 -80001818: 9e878513 addi a0,a5,-1560 # 810049e8 -8000181c: b31ff0ef jal ra,8000134c -80001820: 810007b7 lui a5,0x81000 -80001824: 1a878513 addi a0,a5,424 # 810001a8 -80001828: f09fe0ef jal ra,80000730 -8000182c: 810057b7 lui a5,0x81005 -80001830: 9e878513 addi a0,a5,-1560 # 810049e8 -80001834: e21ff0ef jal ra,80001654 -80001838: 00000793 li a5,0 -8000183c: 00078513 mv a0,a5 -80001840: 01c12083 lw ra,28(sp) -80001844: 01812403 lw s0,24(sp) -80001848: 02010113 addi sp,sp,32 -8000184c: 00008067 ret +800016c8
: +800016c8: ff010113 addi sp,sp,-16 +800016cc: 00112623 sw ra,12(sp) +800016d0: 00812423 sw s0,8(sp) +800016d4: 01010413 addi s0,sp,16 +800016d8: ed5ff0ef jal ra,800015ac +800016dc: 01000693 li a3,16 +800016e0: 810057b7 lui a5,0x81005 +800016e4: 9a078613 addi a2,a5,-1632 # 810049a0 +800016e8: 810047b7 lui a5,0x81004 +800016ec: 9a078593 addi a1,a5,-1632 # 810039a0 +800016f0: 810037b7 lui a5,0x81003 +800016f4: 9a078513 addi a0,a5,-1632 # 810029a0 +800016f8: 998ff0ef jal ra,80000890 +800016fc: 810007b7 lui a5,0x81000 +80001700: 16078513 addi a0,a5,352 # 81000160 +80001704: 844ff0ef jal ra,80000748 +80001708: 810057b7 lui a5,0x81005 +8000170c: 9a078513 addi a0,a5,-1632 # 810049a0 +80001710: f11ff0ef jal ra,80001620 +80001714: 00000793 li a5,0 +80001718: 00078513 mv a0,a5 +8000171c: 00c12083 lw ra,12(sp) +80001720: 00812403 lw s0,8(sp) +80001724: 01010113 addi sp,sp,16 +80001728: 00008067 ret Disassembly of section .rodata: @@ -1679,7 +1606,7 @@ Disassembly of section .rodata: 8100002a: 0000 unimp 8100002c: 0062 c.slli zero,0x18 8100002e: 0000 unimp -81000030: 00000063 beqz zero,81000030 +81000030: 00000063 beqz zero,81000030 81000034: 0064 addi s1,sp,12 81000036: 0000 unimp 81000038: 0065 c.nop 25 @@ -1708,7 +1635,7 @@ Disassembly of section .rodata: 8100006a: 0000 unimp 8100006c: 0062 c.slli zero,0x18 8100006e: 0000 unimp -81000070: 00000063 beqz zero,81000070 +81000070: 00000063 beqz zero,81000070 81000074: 0064 addi s1,sp,12 81000076: 0000 unimp 81000078: 0065 c.nop 25 @@ -1739,7 +1666,7 @@ Disassembly of section .rodata: 810000ae: 0000 unimp 810000b0: 0062 c.slli zero,0x18 810000b2: 0000 unimp -810000b4: 00000063 beqz zero,810000b4 +810000b4: 00000063 beqz zero,810000b4 810000b8: 0064 addi s1,sp,12 810000ba: 0000 unimp 810000bc: 0065 c.nop 25 @@ -1773,28 +1700,28 @@ Disassembly of section .rodata: 810000fa: 0000 unimp 810000fc: 0062 c.slli zero,0x18 810000fe: 0000 unimp -81000100: 00000063 beqz zero,81000100 +81000100: 00000063 beqz zero,81000100 81000104: 0064 addi s1,sp,12 81000106: 0000 unimp 81000108: 0065 c.nop 25 8100010a: 0000 unimp 8100010c: 0066 c.slli zero,0x19 8100010e: 0000 unimp -81000110: 2d2d jal 8100074a -81000112: 2d2d jal 8100074c -81000114: 2d2d jal 8100074e -81000116: 2d2d jal 81000750 -81000118: 2d2d jal 81000752 -8100011a: 2d2d jal 81000754 -8100011c: 2d2d jal 81000756 -8100011e: 2d2d jal 81000758 -81000120: 2d2d jal 8100075a -81000122: 2d2d jal 8100075c -81000124: 2d2d jal 8100075e -81000126: 2d2d jal 81000760 -81000128: 2d2d jal 81000762 -8100012a: 2d2d jal 81000764 -8100012c: 2d2d jal 81000766 +81000110: 2d2d jal 8100074a +81000112: 2d2d jal 8100074c +81000114: 2d2d jal 8100074e +81000116: 2d2d jal 81000750 +81000118: 2d2d jal 81000752 +8100011a: 2d2d jal 81000754 +8100011c: 2d2d jal 81000756 +8100011e: 2d2d jal 81000758 +81000120: 2d2d jal 8100075a +81000122: 2d2d jal 8100075c +81000124: 2d2d jal 8100075e +81000126: 2d2d jal 81000760 +81000128: 2d2d jal 81000762 +8100012a: 2d2d jal 81000764 +8100012c: 2d2d jal 81000766 8100012e: 0a2d addi s4,s4,11 81000130: 0000 unimp 81000132: 0000 unimp @@ -1803,21 +1730,21 @@ Disassembly of section .rodata: 81000138: 0020 addi s0,sp,8 8100013a: 0000 unimp 8100013c: 2d0a fld fs10,128(sp) -8100013e: 2d2d jal 81000778 -81000140: 2d2d jal 8100077a -81000142: 2d2d jal 8100077c -81000144: 2d2d jal 8100077e -81000146: 2d2d jal 81000780 -81000148: 2d2d jal 81000782 -8100014a: 2d2d jal 81000784 -8100014c: 2d2d jal 81000786 -8100014e: 2d2d jal 81000788 -81000150: 2d2d jal 8100078a -81000152: 2d2d jal 8100078c -81000154: 2d2d jal 8100078e -81000156: 2d2d jal 81000790 -81000158: 2d2d jal 81000792 -8100015a: 2d2d jal 81000794 +8100013e: 2d2d jal 81000778 +81000140: 2d2d jal 8100077a +81000142: 2d2d jal 8100077c +81000144: 2d2d jal 8100077e +81000146: 2d2d jal 81000780 +81000148: 2d2d jal 81000782 +8100014a: 2d2d jal 81000784 +8100014c: 2d2d jal 81000786 +8100014e: 2d2d jal 81000788 +81000150: 2d2d jal 8100078a +81000152: 2d2d jal 8100078c +81000154: 2d2d jal 8100078e +81000156: 2d2d jal 81000790 +81000158: 2d2d jal 81000792 +8100015a: 2d2d jal 81000794 8100015c: 000a c.slli zero,0x2 8100015e: 0000 unimp 81000160: 0a0a slli s4,s4,0x2 @@ -1832,227 +1759,191 @@ Disassembly of section .rodata: 81000172: 7461 lui s0,0xffff8 81000174: 6f69 lui t5,0x1a 81000176: 0a6e slli s4,s4,0x1b -81000178: 0000 unimp -8100017a: 0000 unimp -8100017c: 0a0a slli s4,s4,0x2 -8100017e: 614d addi sp,sp,176 -81000180: 7274 flw fa3,100(a2) -81000182: 7869 lui a6,0xffffa -81000184: 4120 lw s0,64(a0) -81000186: 6464 flw fs1,76(s0) -81000188: 7469 lui s0,0xffffa -8100018a: 6f69 lui t5,0x1a -8100018c: 0a6e slli s4,s4,0x1b -8100018e: 0000 unimp -81000190: 0a0a slli s4,s4,0x2 -81000192: 614d addi sp,sp,176 -81000194: 7274 flw fa3,100(a2) -81000196: 7869 lui a6,0xffffa -81000198: 5320 lw s0,96(a4) -8100019a: 6275 lui tp,0x1d -8100019c: 7274 flw fa3,100(a2) -8100019e: 6361 lui t1,0x18 -810001a0: 6974 flw fa3,84(a0) -810001a2: 000a6e6f jal t3,810a61a2 -810001a6: 0000 unimp -810001a8: 0a0a slli s4,s4,0x2 -810001aa: 614d addi sp,sp,176 -810001ac: 7274 flw fa3,100(a2) -810001ae: 7869 lui a6,0xffffa -810001b0: 4520 lw s0,72(a0) -810001b2: 656c flw fa1,76(a0) -810001b4: 656d lui a0,0x1b -810001b6: 746e flw fs0,248(sp) -810001b8: 4120 lw s0,64(a0) -810001ba: 6464 flw fs1,76(s0) -810001bc: 7469 lui s0,0xffffa -810001be: 6f69 lui t5,0x1a -810001c0: 0a6e slli s4,s4,0x1b ... Disassembly of section .data: -810001c4 : -810001c4: 0000 unimp +8100017c : +8100017c: 0000 unimp +8100017e: 8100 0x8100 +81000180: 0004 0x4 +81000182: 8100 0x8100 +81000184: 0008 0x8 +81000186: 8100 0x8100 +81000188: 000c 0xc +8100018a: 8100 0x8100 +8100018c: 0010 0x10 +8100018e: 8100 0x8100 +81000190: 0014 0x14 +81000192: 8100 0x8100 +81000194: 0018 0x18 +81000196: 8100 0x8100 +81000198: 001c 0x1c +8100019a: 8100 0x8100 +8100019c: 0020 addi s0,sp,8 +8100019e: 8100 0x8100 +810001a0: 0024 addi s1,sp,8 +810001a2: 8100 0x8100 +810001a4: 0028 addi a0,sp,8 +810001a6: 8100 0x8100 +810001a8: 002c addi a1,sp,8 +810001aa: 8100 0x8100 +810001ac: 0030 addi a2,sp,8 +810001ae: 8100 0x8100 +810001b0: 0034 addi a3,sp,8 +810001b2: 8100 0x8100 +810001b4: 0038 addi a4,sp,8 +810001b6: 8100 0x8100 +810001b8: 003c addi a5,sp,8 +810001ba: 8100 0x8100 + +810001bc : +810001bc: 0040 addi s0,sp,4 +810001be: 8100 0x8100 +810001c0: 0044 addi s1,sp,4 +810001c2: 8100 0x8100 +810001c4: 0048 addi a0,sp,4 810001c6: 8100 0x8100 -810001c8: 0004 0x4 +810001c8: 004c addi a1,sp,4 810001ca: 8100 0x8100 -810001cc: 0008 0x8 +810001cc: 0050 addi a2,sp,4 810001ce: 8100 0x8100 -810001d0: 000c 0xc +810001d0: 0054 addi a3,sp,4 810001d2: 8100 0x8100 -810001d4: 0010 0x10 +810001d4: 0058 addi a4,sp,4 810001d6: 8100 0x8100 -810001d8: 0014 0x14 +810001d8: 005c addi a5,sp,4 810001da: 8100 0x8100 -810001dc: 0018 0x18 +810001dc: 0060 addi s0,sp,12 810001de: 8100 0x8100 -810001e0: 001c 0x1c +810001e0: 0064 addi s1,sp,12 810001e2: 8100 0x8100 -810001e4: 0020 addi s0,sp,8 +810001e4: 0068 addi a0,sp,12 810001e6: 8100 0x8100 -810001e8: 0024 addi s1,sp,8 +810001e8: 006c addi a1,sp,12 810001ea: 8100 0x8100 -810001ec: 0028 addi a0,sp,8 +810001ec: 0070 addi a2,sp,12 810001ee: 8100 0x8100 -810001f0: 002c addi a1,sp,8 +810001f0: 0074 addi a3,sp,12 810001f2: 8100 0x8100 -810001f4: 0030 addi a2,sp,8 +810001f4: 0078 addi a4,sp,12 810001f6: 8100 0x8100 -810001f8: 0034 addi a3,sp,8 +810001f8: 007c addi a5,sp,12 810001fa: 8100 0x8100 -810001fc: 0038 addi a4,sp,8 + +810001fc : +810001fc: 0084 addi s1,sp,64 810001fe: 8100 0x8100 -81000200: 003c addi a5,sp,8 +81000200: 0088 addi a0,sp,64 81000202: 8100 0x8100 - -81000204 : -81000204: 0040 addi s0,sp,4 +81000204: 008c addi a1,sp,64 81000206: 8100 0x8100 -81000208: 0044 addi s1,sp,4 +81000208: 0090 addi a2,sp,64 8100020a: 8100 0x8100 -8100020c: 0048 addi a0,sp,4 +8100020c: 0094 addi a3,sp,64 8100020e: 8100 0x8100 -81000210: 004c addi a1,sp,4 +81000210: 0098 addi a4,sp,64 81000212: 8100 0x8100 -81000214: 0050 addi a2,sp,4 +81000214: 009c addi a5,sp,64 81000216: 8100 0x8100 -81000218: 0054 addi a3,sp,4 +81000218: 00a0 addi s0,sp,72 8100021a: 8100 0x8100 -8100021c: 0058 addi a4,sp,4 +8100021c: 00a4 addi s1,sp,72 8100021e: 8100 0x8100 -81000220: 005c addi a5,sp,4 +81000220: 00a8 addi a0,sp,72 81000222: 8100 0x8100 -81000224: 0060 addi s0,sp,12 +81000224: 00ac addi a1,sp,72 81000226: 8100 0x8100 -81000228: 0064 addi s1,sp,12 +81000228: 00b0 addi a2,sp,72 8100022a: 8100 0x8100 -8100022c: 0068 addi a0,sp,12 +8100022c: 00b4 addi a3,sp,72 8100022e: 8100 0x8100 -81000230: 006c addi a1,sp,12 +81000230: 00b8 addi a4,sp,72 81000232: 8100 0x8100 -81000234: 0070 addi a2,sp,12 +81000234: 00bc addi a5,sp,72 81000236: 8100 0x8100 -81000238: 0074 addi a3,sp,12 +81000238: 00c0 addi s0,sp,68 8100023a: 8100 0x8100 -8100023c: 0078 addi a4,sp,12 + +8100023c : +8100023c: 00d0 addi a2,sp,68 8100023e: 8100 0x8100 -81000240: 007c addi a5,sp,12 +81000240: 00d4 addi a3,sp,68 81000242: 8100 0x8100 - -81000244 : -81000244: 0084 addi s1,sp,64 +81000244: 00d8 addi a4,sp,68 81000246: 8100 0x8100 -81000248: 0088 addi a0,sp,64 +81000248: 00dc addi a5,sp,68 8100024a: 8100 0x8100 -8100024c: 008c addi a1,sp,64 +8100024c: 00e0 addi s0,sp,76 8100024e: 8100 0x8100 -81000250: 0090 addi a2,sp,64 +81000250: 00e4 addi s1,sp,76 81000252: 8100 0x8100 -81000254: 0094 addi a3,sp,64 +81000254: 00e8 addi a0,sp,76 81000256: 8100 0x8100 -81000258: 0098 addi a4,sp,64 +81000258: 00ec addi a1,sp,76 8100025a: 8100 0x8100 -8100025c: 009c addi a5,sp,64 +8100025c: 00f0 addi a2,sp,76 8100025e: 8100 0x8100 -81000260: 00a0 addi s0,sp,72 +81000260: 00f4 addi a3,sp,76 81000262: 8100 0x8100 -81000264: 00a4 addi s1,sp,72 +81000264: 00f8 addi a4,sp,76 81000266: 8100 0x8100 -81000268: 00a8 addi a0,sp,72 +81000268: 00fc addi a5,sp,76 8100026a: 8100 0x8100 -8100026c: 00ac addi a1,sp,72 +8100026c: 0100 addi s0,sp,128 8100026e: 8100 0x8100 -81000270: 00b0 addi a2,sp,72 +81000270: 0104 addi s1,sp,128 81000272: 8100 0x8100 -81000274: 00b4 addi a3,sp,72 +81000274: 0108 addi a0,sp,128 81000276: 8100 0x8100 -81000278: 00b8 addi a4,sp,72 +81000278: 010c addi a1,sp,128 8100027a: 8100 0x8100 -8100027c: 00bc addi a5,sp,72 -8100027e: 8100 0x8100 -81000280: 00c0 addi s0,sp,68 -81000282: 8100 0x8100 - -81000284 : -81000284: 00d0 addi a2,sp,68 -81000286: 8100 0x8100 -81000288: 00d4 addi a3,sp,68 -8100028a: 8100 0x8100 -8100028c: 00d8 addi a4,sp,68 -8100028e: 8100 0x8100 -81000290: 00dc addi a5,sp,68 -81000292: 8100 0x8100 -81000294: 00e0 addi s0,sp,76 -81000296: 8100 0x8100 -81000298: 00e4 addi s1,sp,76 -8100029a: 8100 0x8100 -8100029c: 00e8 addi a0,sp,76 -8100029e: 8100 0x8100 -810002a0: 00ec addi a1,sp,76 -810002a2: 8100 0x8100 -810002a4: 00f0 addi a2,sp,76 -810002a6: 8100 0x8100 -810002a8: 00f4 addi a3,sp,76 -810002aa: 8100 0x8100 -810002ac: 00f8 addi a4,sp,76 -810002ae: 8100 0x8100 -810002b0: 00fc addi a5,sp,76 -810002b2: 8100 0x8100 -810002b4: 0100 addi s0,sp,128 -810002b6: 8100 0x8100 -810002b8: 0104 addi s1,sp,128 -810002ba: 8100 0x8100 -810002bc: 0108 addi a0,sp,128 -810002be: 8100 0x8100 -810002c0: 010c addi a1,sp,128 -810002c2: 8100 0x8100 Disassembly of section .bss: -810002c4 : +8100027c : ... -810002e0 : -810002e0: 0000 unimp +81000298 : +81000298: 0000 unimp ... -810002e4 : +8100029c : ... -81000364 : +8100031c : ... -81002984 : +8100293c : ... -810029a0 : -810029a0: 0000 unimp +81002958 : +81002958: 0000 unimp ... -810029a4 : +8100295c : ... -810029b8 : +81002970 : ... -810029d0 : +81002988 : ... -810029e8 : +810029a0 : ... -810039e8 : +810039a0 : ... -810049e8 : +810049a0 : ... -810059e8 : +810059a0 : ... -81005a04 : -81005a04: 0000 unimp +810059bc : +810059bc: 0000 unimp ... Disassembly of section .comment: diff --git a/kernel/vortex_test.elf b/kernel/vortex_test.elf index 1bad09ba804b1b2812569d1cbf30315a5f75cb94..68431a8407e2a3171b5211c061505c2f59158e18 100755 GIT binary patch delta 2570 zcmb`IZA?>F7{{M`+j4cAqve7{inMS`tBe@H4(h;+8BCGP)EP51VKWmpoy*1+)M(O- z+q61(-Bt(c|i!r+CNY-TI18yYU5)JB{TjmmQn$#>?T9zgF0^Od|UbvS86F=C5 z9)9OMFaQ5J_nuzZe{Wyd#=+4-DWlX3P-;HfkeA`(0fx6;+|`{~WP?_tffo&I%;8&& zwG*vIV_DV2e{FF9OWY{$Lc6h?GC`c@4>uVdS>Hc+4|K3Y1~Bu$i9Bz^!^Td|jQOVT z_-Hwfo8DwYZB`K^2$W@9QyM*_}9+uFReVWyD=e$nCU^wR)o{w6v*Gvs9IA#9qg)d@Vkt*>uA33Pzwyx|IGB*r|j4RHr#7p#`kq$zdaZ4=AYt)Ti96az_UwTyyq6m zwjFDqhSkUuTb)p?cHW%FDy`32y+Kyb&u_K!wrX{BeAeo6?oZXJA?38eMotYlzVvO+ zK&(4`tfB6?$I4iHtcQ*JsV1C9{FYn2l)6 zew{Lld+a6LFnRrk_pBhFEAdg0nGdbNT1z4RSe%DmspP5n9Ur^%#D0afs$XwFJ=__; zY<A6`)z)|-VW7o=aCt|%X#mKl;O~3GTgvNH!EgW6$m|p!X$`78A$!~Dtf?A z=a&@CPQZ}RgEohi%fwnoMagJba_EySAR7V{(9|IS8*y?Hnz{w$uJVZSgtr5G9eEYr zaQgZR(bVXnRA|TylH*@``6x|DWZtnMRLmLE*AiI@>ej39IKxXn;fiG#y z&jfj=!r#)US9X%EUnU;nQ~_hey&6Gr;(f}VviJwYWjx4N6#dtVk12Ymlb0Vi8o}c8?%sPFVoaF>!1jHZ# zQGktfpHT`tq5`>irK&c=-SDobwHZaXKcnJ<`pR8YjG;Wdeo5(^Mja&FsELy8emY4LFSCeb#{9wxS!66` z6Ez!SQ&?ds*%!Nvs?OLfc5s0BV~eTE;~msg@>{66$|q9e$HlVC#2D8?RY%+@8t#mL z4^4M_d^F1nR?=g_+*T52KK`x0)j`LV>A*p`E3 zLzrixJ9`w!=%~TAbmTGWae~Qyn2X&H=Z8i zOG(xZ4-J#_q!mKP6DH3wOs-*~TFXSWG-3Pk2_x0|NeUMTuDwkT+OnBrBt1E)^jH{- zyP|^ikE>uF&Av1d2Je3q2pVqMQrbe{K^255#&Br%f>0nh*jxh_@w+^rW|Eis5(aN?6Yw3PpZfRPa9mbih6L#vPw|K2&SZhiXZ4K2%Si&wj+oV!7ian3Pm{Tsa_%hUbjR z!)f-Xc}@p>mZ^W?>C*6Yg?TO@&jls}&&EOCvCk)cDJHfr1CgqP_M!g{tM_Kn3dGF9UhMMWCPAz7mBfmE}G_np|?$Zecwq$TfQ+ zHN$obqa*Vi%UHuflJ8is=`*M}iccd4F1|_N13~YBMtmcX@6zy%AWe32qtJMU1HOsF zhsgU?*w2H029NCLF@eo7f)548a6#Q)H-;XEefrR+-%UCbOyn)|{DwfV>^_MUp?3oo zYWAGy74R+9gcjdcJX&-<5)R}R1bnSivY)(edBAfbJUiBKNhxZ=nT@NlW%rfXhG!IB zJERm&z&mJ64Q~CLaOpA~iI751H9>BtMrV=U&ZLtO{q_No37wVwqs6)n}J_`ic6D}oUq21j=Y*M0FIVvM~1G7AlG z-Uwoj5^xf2eH4fkg(f(Q)@cCoV?|#;JB$rryu5!EbsMAVLDX(dLjlwuDf6ZI9-%g4 zgV&V!`D_EgJUxiR%0d!$+=B@#75xJ0bZls~qBBtkV?g{66VZe#QG=#{6SeK$;r2Cr2@t9!@ z2X|EgdyLv0rw(Qgwr$kpH|Zb+I_IfJX+wwg*mt{p;?O`5XvBZcy9MMcHrO13L< zgR{0|%jcvx#~E2$UA=CF(A}PMgk_y(@>;HgxlF2ZEfEqvu@X6uYl}bz{B|xkjgiRj a_<4&kdGvEhUYa>77vNPa_2fcK`T7T#NOnyC diff --git a/kernel/vortex_test.hex b/kernel/vortex_test.hex index 1e7886e6..e3063c3e 100644 --- a/kernel/vortex_test.hex +++ b/kernel/vortex_test.hex @@ -1,393 +1,375 @@ :0200000480007A -:10000000130510007310050213052000731015026C -:10001000731040F17310103037F1FF7FEF0080193B -:10002000EF10C06D73000000938B0600130D0700E6 +:10000000130520007310050213052000731015025C +:10001000731040F17310103037F1FF7FEF00001BB9 +:10002000EF10806A73000000938B0600130D070029 :10003000130F01009303050013051000635C7500A6 :1000400013010180130305006B5003001305150015 -:100050006FF0DFFE13010F0013050000930F060081 -:10006000938D0300EBE0BF01170500001305051B8E -:100070006B40050017030000130343FB6B000300F4 -:1000800067800000170200011302022623200200ED -:100090002322120023242200232632002328420098 -:1000A000232A5200232C6200232E72002320820276 -:1000B000232292022324A2022326B2022328C20270 -:1000C000232AD202232CE202232EF202232002054D -:1000D0002322120523242205232632052328420544 -:1000E000232A5205232C6205232E72052320820722 -:1000F000232292072324A2072326B2072328C2071C -:10010000232AD207232CE207232EF2071302100022 -:1001100067800000170200011302021D0320020085 -:1001200083204200032182008321C20003220201B6 -:1001300083224201032382018323C201032402029A -:1001400083244202032582028325C202032602037E -:1001500083264203032782038327C2030328020462 -:1001600083284204032982048329C204032A020546 -:10017000832A4205032B8205832BC205032C02062A -:10018000832C4206032D8206832DC206032E02070E -:10019000832E4207032F8207832FC207130200001A -:1001A000678000007325000267800000732510023D -:1001B00067800000130101FE232E1100232C810013 -:1001C00013040102232604FE6F0000030327C4FE6C -:1001D0009307404C3307F702B707008193874736F0 -:1001E000B307F70013850700EF0040408327C4FEE4 -:1001F000938717002326F4FE0327C4FE930770009D -:10020000E3D6E7FC130000008320C1010324810131 -:100210001301010267800000130101FD2326110272 -:10022000232481022322A1031304010313070D00D9 -:100230009307404C3307F702B7070081938747368F -:10024000B307F70013850700EF00804B9307050005 -:10025000638A070213070D00B707008113172700F1 -:100260009387472CB307F7001307100023A0E7007C -:1002700093070D0063960700EFF0DFE96F0080053C -:100280007300000013070D009307404C3307F7027B -:10029000B707008193874736B307F700130784FD3C -:1002A0009305070013850700EF00003D832704FE38 -:1002B000138107008327C4FD832584FD032644FEA4 -:1002C000832684FE0327C4FE13850700EFF0DFD5E5 -:1002D000730000008320C10203248102032D410228 -:1002E0001301010367800000130101FB23261104A1 -:1002F0002324810413040105EFF0DFEA2324A4FE84 -:1003000093090100930710002326F4FE6F004008B4 -:100310000327C4FE9307404C3307F702B707008159 -:1003200093874736B307F70013850700EF00403D7A -:1003300093070500639807040327C4FE9307404C06 -:100340003307F702B707008193874736B307F700F3 -:10035000130704FD9305070013850700EF00C03164 -:10036000832784FD13810700832744FD832504FD33 -:100370000326C4FD832604FE032744FE13850700DD -:10038000EFF05FCF8327C4FE938717002326F4FE88 -:100390008327C4FE032784FEE3ECE7F613810900FC -:1003A000EFF05FCE9307020063880704B707008170 -:1003B00013854736EF00C03493070500639E07029C -:1003C000930784FB93850700B707008113854736A1 -:1003D000EF00802A832704FC138107008327C4FBD6 -:1003E000832584FB032644FC832684FC0327C4FC6A -:1003F00013850700EFF05FC3130000008320C104E2 -:10040000032481041301010567800000130101FB2F -:10041000232611042324810413040105232EA4FAA6 -:10042000232CB4FA232AC4FA2328D4FAEFF09FD855 -:10043000EFF05FD72322A4FE13090100232604FE58 -:10044000232404FE6F00C008B709FFFF3301310108 -:10045000832784FE2326F4FC832784FB2328F4FCD3 -:1004600093070100232AF4FC832744FB232CF4FC8C -:10047000832704FB232EF4FC8327C4FE2320F4FEF1 -:100480000327C4FE9307404C3307F702B7070081E8 -:1004900093874736B307F7001307C4FC930507009B -:1004A00013850700EF00C0168327C4FE938717004B -:1004B0002326F4FE8327C4FE032744FE63E4E700FB -:1004C000232604FE832784FE938717002324F4FE4B -:1004D000032784FE8327C4FBE368F7F613010900B2 -:1004E000EFF09FE0130000008320C1040324810487 -:1004F0001301010567800000130101FD232611028D -:100500002324810213040103232EA4FCEFF09FC9CE -:100510002320A4FE232604FE6F004005232604FEAC -:10052000232404FE6F00C003B7070081032784FE65 -:10053000131727009387472CB307F70003A707007B -:10054000930710006318F7008327C4FE93871700F2 -:100550002326F4FE832784FE938717002324F4FECA -:10056000832784FE032704FEE3E0E7FC0327C4FEA1 -:100570008327C4FDE314F7FA232204FE6F008002F0 -:10058000B7070081032744FE131727009387472CE2 -:10059000B307F70023A00700832744FE93871700C3 -:1005A0002322F4FE832744FE032704FEE3EAE7FC4C -:1005B000130000008320C102032481021301010300 -:1005C00067800000130101FF2326810023247101AD -:1005D0001304010193870B00138507000324C10056 -:1005E000832B810013010101678000009302050045 -:1005F000130300009303700023A0620023A2620093 -:1006000023A4620023A6720023A862006780000072 -:100610009302050003A382001303130023A46200C6 -:100620001383420183AE420093935E003303730051 -:1006300003AE05002320C30103AE45002322C301FE -:1006400003AE85002324C30103AEC5002326C301E6 -:1006500003AE05012328C30103AE4501232AC301CC -:10066000938E1E00130F20036394EE01930E00007F -:1006700023A2D201678000009302050003A3820039 -:100680001303F3FF23A462001383420183AE02002D -:10069000930F2003138F0E00130F1F006314FF012D -:1006A000130F000023A0E20193935E003303730055 -:1006B000032E030023A0C501032E430023A2C5017E -:1006C000032E830023A4C501032EC30023A6C50166 -:1006D000032E030123A8C501032E430123AAC5014C -:1006E000678000009302050003A382001305000049 -:1006F000130E200363146E001305150067800000BD -:100700009302050003A3820013050000130E0000EE -:1007100063146E0013051500678000009302050046 -:1007200003A3C20083A3020133B563006780000006 -:10073000130141FF232011002322B100834505004E -:1007400063880500EF00C001130515006FF01FFF5F -:1007500083200100832541001301C1006780000050 -:10076000B708010023A0B80067800000130101FD55 -:10077000232611022324810213040103232EA4FC47 -:100780000327C4FD9307F00063E4E702B707008185 -:100790000327C4FD1317270093874720B307F700EB -:1007A00083A7070013850700EFF09FF86F0040074D -:1007B000930700022326F4FEA30504FE8327C4FE4C -:1007C0009387C7FF0327C4FDB357F70093F7F700DC -:1007D0002322F4FE832744FE63860700930710005C -:1007E000A305F4FE8347B4FE63820702B7070081C6 -:1007F000032744FE1317270093874720B307F7000A -:1008000083A7070013850700EFF09FF28327C4FE3C -:100810009387C7FF2326F4FE8327C4FEE340F0FA44 -:100820008320C102032481021301010367800000B9 -:10083000130101FE232E1100232C81001304010259 -:100840002326A4FE2324B4FE0325C4FEEFF05FEEAE -:10085000032584FEEFF09FF1B70700811385070899 -:10086000EFF01FED130000008320C101032481017C -:100870001301010267800000130101FD232611020C -:100880002324810213040103232EA4FC232CB4FC93 -:10089000232AC4FC2328D4FCB73700810327C4FDD6 -:1008A00023A2E79AB73700819387479A032784FDED -:1008B00023A2E700B73700819387479A032744FDB7 -:1008C00023A4E700B73700819387479A032704FDE5 -:1008D00023A6E700EFF09F8D2324A4FE032704FD49 -:1008E000832784FEB357F7022326F4FE032704FD73 -:1008F000832784FEB377F702638807008327C4FE4B -:10090000938717002326F4FE8325C4FEB7070081D2 -:100910001385470CEFF0DFF1B73700819387479AD3 -:100920000327C4FE23A8E700032704FD832784FED2 -:100930006362F702B73700819386479AB717008042 -:100940001386C79A832584FE032504FDEFF01FACB0 -:100950006F000002B73700819386479AB71700806F -:100960001386C79A832504FD032504FDEFF01FAA13 -:10097000EFF05F832322A4FE032704FD832744FEB8 -:1009800063F8E700032544FEEFF01FB76F00C000D7 -:10099000032504FDEFF05FB6130000008320C102C1 -:1009A000032481021301010367800000130101FA8F -:1009B000232E1104232C8104130401062326A4FAF8 -:1009C0002324B4FAEFF01FC0232CA4FC832784FD5A -:1009D00083A70700232AF4FC832784FD83A747000D -:1009E0002328F4FC832784FD83A787002326F4FCB7 -:1009F000832784FD83A707012326F4FE0327C4FE73 -:100A00008327C4FAB307F7022324F4FE8327C4FE26 -:100A1000639A0700930710002326F4FE8327C4FA85 -:100A20002324F4FE832784FD83A7C7002324F4FC3A -:100A3000232204FE6F004012232004FE232E04FC18 -:100A40006F008007032784FA832784FCB307F7022B -:100A50000327C4FDB307F7002322F4FC032784FC1B -:100A60008327C4FDB307F702032784FEB307F7000B -:100A70002320F4FC832744FC93972700032744FD9D -:100A8000B307F70003A70700832704FC9397270009 -:100A9000832604FDB387F60083A70700B307F70298 -:100AA000032704FEB307F7002320F4FE8327C4FDC9 -:100AB00093871700232EF4FC0327C4FD832784FCAF -:100AC000E362F7F8032784FA832784FC3307F702ED -:100AD000832784FEB307F700232EF4FA032784FE4E -:100AE000832784FCB337F70093F7F70F232CF4FA2E -:100AF000832784FB93B71700A30BF4FA834774FB97 -:100B0000138F0700B7170080938F47B46B200F0037 -:100B10007B70FF018327C4FB939727000327C4FC46 -:100B2000B307F700032704FE23A0E700832784FE12 -:100B3000938717002324F4FEB7170080138E87B421 -:100B400067000E00130000006B300000832744FE96 -:100B5000938717002322F4FE832744FE0327C4FE55 -:100B6000E3ECE7EC130000008320C10503248105BA -:100B70001301010667800000130101FC232E1102FE -:100B8000232C810213040104232EA4FC232CB4FC87 -:100B9000232AC4FC2328D4FC2326E4FCB737008195 -:100BA0000327C4FD23ACE79AB73700819387879B5F -:100BB000032784FD23A2E700B73700819387879B33 -:100BC000032744FD23A4E700B73700819387879B61 -:100BD0000327C4FC23A6E700B73700819387879BD0 -:100BE000032704FD23A8E700EFF04FDC2324A4FE35 -:100BF0000327C4FC832784FEB357F7022326F4FEA1 -:100C00000327C4FC832784FEB377F70263880700B9 -:100C10008327C4FE938717002326F4FEB73700818D -:100C20009387879B0327C4FE23AAE7000327C4FCFE -:100C3000832784FE6362F702B73700819386879B20 -:100C4000B7170080138607CB832584FE032504FD98 -:100C5000EFF0CFFB6F000002B73700819386879BD0 -:100C6000B7170080138607CB8325C4FC032504FD3A -:100C7000EFF0CFF9EFF00FD32322A4FE032704FDFA -:100C8000832744FE63F8E700032544FEEFF0DF8688 -:100C90006F00C000032504FDEFF01F861300000065 -:100CA0008320C10303248103130101046780000032 -:100CB000130101FB232611042324810413040105DD -:100CC000232EA4FA232CB4FAEFF0DF8F2320A4FE06 -:100CD000832704FE83A70700232EF4FC832704FE4A -:100CE00083A74700232CF4FC832704FE83A78700F7 -:100CF000232AF4FC832704FE83A747012326F4FE5E -:100D00000327C4FE8327C4FBB307F7022324F4FEA2 -:100D10008327C4FE639A0700930710002326F4FE7E -:100D20008327C4FB2324F4FE832704FE83A7C70084 -:100D30002328F4FC232204FE6F00000C032784FB0D -:100D4000832704FD3307F702832784FEB307F700E8 -:100D50002326F4FC032784FE832704FDB337F70022 -:100D600093F7F70F2324F4FC832784FC93B7170031 -:100D7000A303F4FC834774FC138F0700B7170080AC -:100D8000938F47DE6B200F007B70FF018327C4FC2D -:100D9000939727000327C4FDB307F70083A6070036 -:100DA0008327C4FC93972700032784FDB307F7002C -:100DB00003A707008327C4FC93972700032644FD5D -:100DC000B307F6003387E60023A0E700832784FEFD -:100DD000938717002324F4FEB7170080138E87DE55 -:100DE00067000E00130000006B300000832744FEF4 -:100DF000938717002322F4FE832744FE0327C4FEB3 -:100E0000E3EEE7F2130000008320C1040324810411 -:100E10001301010567800000130101FC232E11025C -:100E2000232C810213040104232EA4FC232CB4FCE4 -:100E3000232AC4FC2328D4FC2326E4FCB7370081F2 -:100E40000327C4FD23ACE79AB73700819387879BBC -:100E5000032784FD23A2E700B73700819387879B90 -:100E6000032744FD23A4E700B73700819387879BBE -:100E70000327C4FC23A6E700B73700819387879B2D -:100E8000032704FD23A8E700EFF04FB22324A4FEBC -:100E90000327C4FC832784FEB357F7022326F4FEFE -:100EA0000327C4FC832784FEB377F7026388070017 -:100EB0008327C4FE938717002326F4FEB7370081EB -:100EC0009387879B0327C4FE23AAE7000327C4FC5C -:100ED000832784FE6362F702B73700819386879B7E -:100EE000B7170080138607F5832584FE032504FDCC -:100EF000EFF0CFD16F000002B73700819386879B58 -:100F0000B7170080138607F58325C4FC032504FD6D -:100F1000EFF0CFCFEFF00FA92322A4FE032704FDAB -:100F2000832744FE63F8E700032544FEEFF0CFDC9F -:100F30006F00C000032504FDEFF00FDC130000007C -:100F40008320C1030324810313010104678000008F -:100F5000130101FB2326110423248104130401053A -:100F6000232EA4FA232CB4FAEFF0CFE52320A4FE1D -:100F7000832704FE83A70700232EF4FC832704FEA7 -:100F800083A74700232CF4FC832704FE83A7870054 -:100F9000232AF4FC832704FE83A747012326F4FEBB -:100FA0000327C4FE8327C4FBB307F7022324F4FE00 -:100FB0008327C4FE639A0700930710002326F4FEDC -:100FC0008327C4FB2324F4FE832704FE83A7C700E2 -:100FD0002328F4FC232204FE6F00000C032784FB6B -:100FE000832704FD3307F702832784FEB307F70046 -:100FF0002326F4FC032784FE832704FDB337F70080 -:1010000093F7F70F2324F4FC832784FC93B717008E -:10101000A303F4FC834774FC138F0700B717008009 -:10102000938F47086B200F007B70FF018327C4FC60 -:10103000939727000327C4FDB307F70083A6070093 -:101040008327C4FC93972700032784FDB307F70089 -:1010500003A707008327C4FC93972700032644FDBA -:10106000B307F6003387E64023A0E700832784FE1A -:10107000938717002324F4FEB7170080138E870888 -:1010800067000E00130000006B300000832744FE51 -:10109000938717002322F4FE832744FE0327C4FE10 -:1010A000E3EEE7F2130000008320C104032481046F -:1010B0001301010567800000130101FC232E1102BA -:1010C000232C810213040104232EA4FC232CB4FC42 -:1010D000232AC4FC2328D4FC2326E4FCB737008150 -:1010E0000327C4FD23A8E79CB73700819387079D9A -:1010F000032784FD23A2E700B73700819387079D6C -:10110000032744FD23A4E700B73700819387079D99 -:101110000327C4FC23A6E700B73700819387079D08 -:10112000032704FD23A8E700EFF04F882324A4FE43 -:101130000327C4FC832784FEB357F7022326F4FE5B -:101140000327C4FC832784FEB377F7026388070074 -:101150008327C4FE938717002326F4FEB737008148 -:101160009387079D0327C4FE23AAE7000327C4FC37 -:10117000832784FE6362F702B73700819386079D59 -:10118000B71700801386071F832584FE032504FDFF -:10119000EFF0CFA76F000002B73700819386079D5D -:1011A000B71700801386071F8325C4FC032504FDA1 -:1011B000EFF0CFA5EFE01FFF2322A4FE032704FDDD -:1011C000832744FE63F8E700032544FEEFF0CFB227 -:1011D0006F00C000032504FDEFF00FB21300000004 -:1011E0008320C103032481031301010467800000ED -:1011F000130101FB23261104232481041304010598 -:10120000232EA4FA232CB4FAEFF0CFBB2320A4FEA4 -:10121000832704FE83A70700232EF4FC832704FE04 -:1012200083A7470083A70700232CF4FC832704FE31 -:1012300083A78700232AF4FC832704FE83A74701A2 -:101240002326F4FE0327C4FE8327C4FBB307F7025B -:101250002324F4FE8327C4FE639A0700930710003B -:101260002326F4FE8327C4FB2324F4FE832704FEF5 -:1012700083A7C7002328F4FC232204FE6F00000B81 -:10128000032784FB832704FD3307F702832784FEAB -:10129000B307F7002326F4FC032784FE832704FD0D -:1012A000B337F70093F7F70F2324F4FC832784FC6C -:1012B00093B71700A303F4FC834774FC138F070054 -:1012C000B7170080938F87316B200F007B70FF0171 -:1012D0008327C4FC939727000327C4FDB307F700B7 -:1012E00083A607008327C4FC93972700032744FDA8 -:1012F000B307F700032784FD3387E60023A0E70048 -:10130000832784FE938717002324F4FEB7170080F9 -:10131000138EC73167000E00130000006B30000011 -:10132000832744FE938717002322F4FE832744FE7D -:101330000327C4FEE3E6E7F4130000008320C104A2 -:10134000032481041301010567800000130101FCDF -:10135000232E1102232C810213040104232EA4FC4A -:10136000232CB4FC232AC4FC2328D4FC2326E4FC2D -:10137000B73700810327C4FD23A8E79CB737008156 -:101380009387079D032784FD23A2E700B7370081D9 -:101390009387079D032744FD23A4E700B737008107 -:1013A0009387079D0327C4FC23A6E700B737008176 -:1013B0009387079D032704FD23A8E700EFE01FDFC5 -:1013C0002324A4FE0327C4FC832784FEB357F7021B -:1013D0002326F4FE0327C4FC832784FEB377F70299 -:1013E000638807008327C4FE938717002326F4FE33 -:1013F000B73700819387079D0327C4FE23AAE70020 -:101400000327C4FC832784FE6362F702B737008199 -:101410009386079DB717008013864748832584FE6F -:10142000032504FDEFE09FFE6F000002B737008147 -:101430009386079DB7170080138647488325C4FC11 -:10144000032504FDEFE09FFCEFE0DFD52322A4FE9F -:10145000032704FD832744FE63F8E700032544FEC9 -:10146000EFF08F896F00C000032504FDEFF0CF88F7 -:10147000130000008320C10303248103130101042E -:1014800067800000130101FB23261104232481043B -:1014900013040105232EA4FA232CB4FAEFF08F9243 -:1014A0002320A4FE832704FE83A70700232EF4FC39 -:1014B000832704FE83A7470083A70700232CF4FC9F -:1014C000832704FE83A78700232AF4FC832704FED6 -:1014D00083A747012326F4FE0327C4FE8327C4FB0A -:1014E000B307F7022324F4FE8327C4FE639A0700A0 -:1014F000930710002326F4FE8327C4FB2324F4FE65 -:10150000832704FE83A7C7002328F4FC232204FEBC -:101510006F00000B032784FB832704FD3307F702CA -:10152000832784FEB307F7002326F4FC032784FEF9 -:10153000832704FDB337F70093F7F70F2324F4FC58 -:10154000832784FC93B71700A303F4FC834774FC40 -:10155000138F0700B7170080938FC75A6B200F00B7 -:101560007B70FF018327C4FC939727000327C4FDEA -:10157000B307F70083A607008327C4FC93972700CF -:10158000032744FDB307F700032784FD3387E602F2 -:1015900023A0E700832784FE938717002324F4FE0B -:1015A000B7170080138E075B67000E001300000062 -:1015B0006B300000832744FE938717002322F4FE3C -:1015C000832744FE0327C4FEE3E6E7F4130000008C -:1015D0008320C104032481041301010567800000F6 -:1015E000130101FE232E810013040102232604FEB1 -:1015F0006F008004B73700810327C4FE131727004C -:101600009387879EB307F7001307300023A0E700F6 -:10161000B74700810327C4FE131727009387879ECF -:10162000B307F7001307200023A0E7008327C4FEB9 -:10163000938717002326F4FE0327C4FE9307F003C5 -:10164000E3DAE7FA130000000324C10113010102E9 -:1016500067800000130101FD23261102232481026B -:1016600013040103232EA4FCB7070081138507117F -:10167000EFF00F8C232604FE6F0080058327C4FE45 -:10168000638E07008327C4FE93F7770063980700F3 -:10169000B707008113854713EFF08F898327C4FEB6 -:1016A000939727000327C4FDB307F70083A707001C -:1016B00013850700EFF08F8BB70700811385871321 -:1016C000EFF00F878327C4FE938717002326F4FECD -:1016D0000327C4FE9307F003E3D2E7FAB7070081BC -:1016E0001385C713EFF0CF84130000008320C102DD -:1016F000032481021301010367800000130101FE2E -:10170000232E1100232C810013040102EFF05FED62 -:1017100093068000B75700811386879EB7470081E4 -:101720009385879EB73700811385879EEFF0CF940E -:10173000B707008113850716EFE09FFFB7570081B9 -:101740001385879EEFF01FF113078000930680003A -:10175000B75700811386879EB74700819385879E80 -:10176000B73700811385879EEFF00FC1B70700815F -:101770001385C717EFE0DFFBB75700811385879EFE -:10178000EFF05FED1307800093068000B7570081EC -:101790001386879EB74700819385879EB737008160 -:1017A0001385879EEFF04FE7B70700811385071970 -:1017B000EFE01FF8B75700811385879EEFF09FE990 -:1017C000930730002326F4FE9305C4FE1307800020 -:1017D00093068000B75700811386879EB757008114 -:1017E0001385879EEFF05F8DB70700811385871AF9 -:1017F000EFE01FF4B75700811385879EEFF09FE558 -:101800009305C4FE1307800093068000B75700813C -:101810001386879EB75700811385879EEFF01FB30D -:10182000B70700811385871AEFE09FF0B757008153 -:101830001385879EEFF01FE29307000013850700D2 -:101840008320C1010324810113010102678000008C +:100050006FF0DFFE1300000013000000130000002B +:1000600013000000130000001300000013010F0034 +:1000700013050000930F0600938D0300EBE0BF0112 +:10008000170500001305051B6B4005001703000052 +:100090001303C3F96B00030067800000170200011F +:1000A0001302022023200200232212002324220014 +:1000B0002326320023284200232A5200232C6200E8 +:1000C000232E720023208202232292022324A202E2 +:1000D0002326B2022328C202232AD202232CE202C0 +:1000E000232EF202232002052322120523242205B7 +:1000F0002326320523284205232A5205232C620594 +:10010000232E720523208207232292072324A2078D +:100110002326B2072328C207232AD207232CE2076B +:10012000232EF2071302100067800000170200015F +:1001300013020217032002008320420003218200E1 +:100140008321C20003220201832242010323820190 +:100150008323C20103240202832442020325820274 +:100160008325C20203260203832642030327820358 +:100170008327C2030328020483284204032982043C +:100180008329C204032A0205832A4205032B820520 +:10019000832BC205032C0206832C4206032D820604 +:1001A000832DC206032E0207832E4207032F8207E8 +:1001B000832FC2071302000067800000732500022E +:1001C000678000007325100267800000130101FEA4 +:1001D000232E1100232C810013040102232604FE88 +:1001E0006F0000030327C4FE9307404C3307F70258 +:1001F000B70700819387C731B307F700138507005E +:10020000EF0040408327C4FE938717002326F4FEA7 +:100210000327C4FE93077000E3D6E7FC1300000039 +:100220008320C101032481011301010267800000C2 +:10023000130101FD23261102232481022322A1039D +:100240001304010313070D009307404C3307F70213 +:10025000B70700819387C731B307F70013850700FD +:10026000EF00804B93070500638A070213070D0018 +:10027000B7070081131727009387C727B307F70035 +:100280001307100023A0E70093070D0063960700F3 +:10029000EFF0DFE96F0080057300000013070D0029 +:1002A0009307404C3307F702B70700819387C731A4 +:1002B000B307F700130784FD9305070013850700B4 +:1002C000EF00003D832704FE138107008327C4FD50 +:1002D000832584FD032644FE832684FE0327C4FE73 +:1002E00013850700EFF05FD4730000008320C10284 +:1002F00003248102032D41021301010367800000E2 +:10030000130101FB23261104232481041304010596 +:10031000EFF0DFEA2324A4FE930901009307100005 +:100320002326F4FE6F0040080327C4FE9307404CC9 +:100330003307F702B70700819387C731B307F70088 +:1003400013850700EF00403D9307050063980704FD +:100350000327C4FE9307404C3307F702B707008119 +:100360009387C731B307F700130704FD9305070010 +:1003700013850700EF00C031832784FD1381070038 +:10038000832744FD832504FD0326C4FD832604FE44 +:10039000032744FE13850700EFF05FCF8327C4FED9 +:1003A000938717002326F4FE8327C4FE032784FEC9 +:1003B000E3ECE7F613810900EFF05FCE930702004C +:1003C00063880704B70700811385C731EF00C03485 +:1003D00093070500639E0702930784FB938507003C +:1003E000B70700811385C731EF00802A832704FCFB +:1003F000138107008327C4FB832584FB032644FC69 +:10040000832684FC0327C4FC13850700EFF0DFC1BB +:10041000130000008320C10403248104130101059B +:1004200067800000130101FB2326110423248104AB +:1004300013040105232EA4FA232CB4FA232AC4FAA8 +:100440002328D4FAEFF09FD8EFF05FD72322A4FE41 +:1004500013090100232604FE232404FE6F00C008B4 +:10046000B709FFFF33013101832784FE2326F4FC03 +:10047000832784FB2328F4FC93070100232AF4FC40 +:10048000832744FB232CF4FC832704FB232EF4FC5A +:100490008327C4FE2320F4FE0327C4FE9307404CA9 +:1004A0003307F702B70700819387C731B307F70017 +:1004B0001307C4FC9305070013850700EF00C0165F +:1004C0008327C4FE938717002326F4FE8327C4FEE8 +:1004D000032744FE63E4E700232604FE832784FE0B +:1004E000938717002324F4FE032784FE8327C4FB8D +:1004F000E368F7F613010900EFF09FE01300000036 +:100500008320C104032481041301010567800000D6 +:10051000130101FD23261102232481021304010388 +:10052000232EA4FCEFF09FC92320A4FE232604FE63 +:100530006F004005232604FE232404FE6F00C00341 +:10054000B7070081032784FE131727009387C72767 +:10055000B307F70003A70700930710006318F7001D +:100560008327C4FE938717002326F4FE832784FE87 +:10057000938717002324F4FE832784FE032704FEB9 +:10058000E3E0E7FC0327C4FE8327C4FDE314F7FA86 +:10059000232204FE6F008002B7070081032744FE78 +:1005A000131727009387C727B307F70023A0070077 +:1005B000832744FE938717002322F4FE832744FEFB +:1005C000032704FEE3EAE7FC130000008320C102D6 +:1005D000032481021301010367800000130101FF5E +:1005E00023268100232471011304010193870B004A +:1005F000138507000324C100832B8100130101012F +:10060000678000009302050013030000930370004D +:1006100023A0620023A2620023A4620023A672002A +:1006200023A86200678000009302050003A38200F4 +:100630001303130023A462001383420183AE42001C +:1006400093935E003303730003AE05002320C301C0 +:1006500003AE45002322C30103AE85002324C3015A +:1006600003AEC5002326C30103AE05012328C30141 +:1006700003AE4501232AC301938E1E00130F2003EE +:100680006394EE01930E000023A2D2016780000064 +:100690009302050003A382001303F3FF23A4620067 +:1006A0001383420183AE0200930F2003138F0E00C9 +:1006B000130F1F006314FF01130F000023A0E201BA +:1006C00093935E0033037300032E030023A0C50140 +:1006D000032E430023A2C501032E830023A4C501DA +:1006E000032EC30023A6C501032E030123A8C501C1 +:1006F000032E430123AAC501678000009302050071 +:1007000003A3820013050000130E200363146E0080 +:1007100013051500678000009302050003A3820003 +:1007200013050000130E000063146E00130515007E +:10073000678000009302050003A3C20083A30201A7 +:1007400033B5630067800000130141FF23201100CF +:100750002322B1008345050063880500EF00C00136 +:10076000130515006FF01FFF832001008325410052 +:100770001301C10067800000B708010023A0B80082 +:1007800067800000130101FD23261102232481024A +:1007900013040103232EA4FC0327C4FD9307F000D8 +:1007A00063E4E702B70700810327C4FD131727009E +:1007B0009387C71BB307F70083A7070013850700BC +:1007C000EFF09FF86F004007930700022326F4FE26 +:1007D000A30504FE8327C4FE9387C7FF0327C4FD38 +:1007E000B357F70093F7F7002322F4FE832744FE64 +:1007F0006386070093071000A305F4FE8347B4FE49 +:1008000063820702B7070081032744FE13172700FE +:100810009387C71BB307F70083A70700138507005B +:10082000EFF09FF28327C4FE9387C7FF2326F4FED1 +:100830008327C4FEE340F0FA8320C102032481022F +:100840001301010367800000130101FE232E110034 +:10085000232C8100130401022326A4FE2324B4FECA +:100860000325C4FEEFF05FEE032584FEEFF09FF159 +:10087000B707008113850708EFF01FED1300000094 +:100880008320C1010324810113010102678000005C +:10089000130101FD23261102232481021304010305 +:1008A000232EA4FC232CB4FC232AC4FC2328D4FC30 +:1008B000B73700810327C4FD23AEE794B737008123 +:1008C0009387C795032784FD23A2E700B7370081EC +:1008D0009387C795032744FD23A4E700B73700811A +:1008E0009387C795032704FD23A6E700EFF09F8DAC +:1008F0002324A4FE032704FD832784FEB357F702B5 +:100900002326F4FE032704FD832784FEB377F70232 +:10091000638807008327C4FE938717002326F4FE0D +:100920008325C4FEB70700811385470CEFF0DFF184 +:10093000B73700819387C7950327C4FE23A8E70034 +:10094000032704FD832784FE6362F702B737008123 +:100950009386C795B71700801386479C832584FE2E +:10096000032504FDEFF01FAC6F000002B7370081D4 +:100970009386C795B71700801386479C832504FD8F +:10098000032504FDEFF01FAAEFF05F832322A4FEEE +:10099000032704FD832744FE63F8E700032544FE94 +:1009A000EFF01FB76F00C000032504FDEFF05FB646 +:1009B000130000008320C1020324810213010103FC +:1009C00067800000130101FA232E1104232C8104F7 +:1009D000130401062326A4FA2324B4FAEFF01FC05F +:1009E000232CA4FC832784FD83A70700232AF4FC7F +:1009F000832784FD83A747002328F4FC832784FDF5 +:100A000083A787002326F4FC832784FD83A707019F +:100A10002326F4FE0327C4FE8327C4FAB307F70294 +:100A20002324F4FE8327C4FE639A07009307100073 +:100A30002326F4FE8327C4FA2324F4FE832784FDAF +:100A400083A7C7002324F4FC232204FE6F00800D3B +:100A5000232004FE232E04FC6F008007032784FA62 +:100A6000832784FCB307F7020327C4FDB307F7000D +:100A70002322F4FC032784FC8327C4FDB307F70279 +:100A8000032784FEB307F7002320F4FC832744FCEC +:100A900093972700032744FDB307F70003A7070038 +:100AA000832704FC93972700832604FDB387F60071 +:100AB00083A70700B307F702032704FEB307F70075 +:100AC0002320F4FE8327C4FD93871700232EF4FC14 +:100AD0000327C4FD832784FCE362F7F8032784FA25 +:100AE000832784FC3307F702832784FEB307F700CC +:100AF000232EF4FA8327C4FB939727000327C4FC13 +:100B0000B307F700032704FE23A0E700832784FE32 +:100B1000938717002324F4FE832744FE938717004E +:100B20002322F4FE832744FE0327C4FEE3E2E7F218 +:100B3000130000008320C105032481051301010671 +:100B400067800000130101FC232E1102232C810277 +:100B500013040104232EA4FC232CB4FC232AC4FC7C +:100B60002328D4FC2326E4FCB73700810327C4FDE7 +:100B700023A8E796B737008193870797032784FD5B +:100B800023A2E700B737008193870797032744FD27 +:100B900023A4E700B7370081938707970327C4FC96 +:100BA00023A6E700B737008193870797032704FD43 +:100BB00023A8E700EFF00FE12324A4FE0327C4FCE1 +:100BC000832784FEB357F7022326F4FE0327C4FCD1 +:100BD000832784FEB377F702638807008327C4FE68 +:100BE000938717002326F4FEB73700819387079772 +:100BF0000327C4FE23AAE7000327C4FC832784FE3F +:100C00006362F702B737008193860797B7170080B2 +:100C10001386C7C7832584FE032504FDEFF09F805C +:100C20006F000002B737008193860797B7170080DF +:100C30001386C7C78325C4FC032504FDEFF08FFE90 +:100C4000EFF0CFD72322A4FE032704FD832744FE21 +:100C500063F8E700032544FEEFF09F8B6F00C000B0 +:100C6000032504FDEFF0DF8A130000008320C10399 +:100C7000032481031301010467800000130101FBB9 +:100C8000232611042324810413040105232EA4FA2E +:100C9000232CB4FAEFF09F942320A4FE832704FEB4 +:100CA00083A70700232EF4FC832704FE83A74700B5 +:100CB000232CF4FC832704FE83A78700232AF4FC5B +:100CC000832704FE83A747012326F4FE0327C4FEDF +:100CD0008327C4FBB307F7022324F4FE8327C4FE53 +:100CE000639A0700930710002326F4FE8327C4FBB2 +:100CF0002324F4FE832704FE83A7C7002328F4FCE3 +:100D0000232204FE6F00000C032784FB832704FDCD +:100D10003307F702832784FEB307F7002326F4FC8A +:100D2000032784FE832704FDB337F70093F7F70FFB +:100D30002324F4FC832784FC93B71700A303F4FC5B +:100D4000834774FC138F0700B7170080938F07DB6E +:100D50006B200F007B70FF018327C4FC9397270053 +:100D60000327C4FDB307F70083A607008327C4FC4D +:100D700093972700032784FDB307F70003A7070015 +:100D80008327C4FC93972700032644FDB307F6008E +:100D90003387E60023A0E700832784FE93871700AC +:100DA0002324F4FEB7170080138E47DB67000E0084 +:100DB000130000006B300000832744FE9387170068 +:100DC0002322F4FE832744FE0327C4FEE3EEE7F26A +:100DD000130000008320C1040324810413010105D2 +:100DE00067800000130101FC232E1102232C8102D5 +:100DF00013040104232EA4FC232CB4FC232AC4FCDA +:100E00002328D4FC2326E4FCB73700810327C4FD44 +:100E100023A8E796B737008193870797032784FDB8 +:100E200023A2E700B737008193870797032744FD84 +:100E300023A4E700B7370081938707970327C4FCF3 +:100E400023A6E700B737008193870797032704FDA0 +:100E500023A8E700EFF00FB72324A4FE0327C4FC68 +:100E6000832784FEB357F7022326F4FE0327C4FC2E +:100E7000832784FEB377F702638807008327C4FEC5 +:100E8000938717002326F4FEB737008193870797CF +:100E90000327C4FE23AAE7000327C4FC832784FE9C +:100EA0006362F702B737008193860797B717008010 +:100EB0001386C7F1832584FE032504FDEFF08FD64A +:100EC0006F000002B737008193860797B71700803D +:100ED0001386C7F18325C4FC032504FDEFF08FD4EE +:100EE000EFF0CFAD2322A4FE032704FD832744FEA9 +:100EF00063F8E700032544FEEFF08FE16F00C000C8 +:100F0000032504FDEFF0CFE0130000008320C103B0 +:100F1000032481031301010467800000130101FB16 +:100F2000232611042324810413040105232EA4FA8B +:100F3000232CB4FAEFF08FEA2320A4FE832704FECB +:100F400083A70700232EF4FC832704FE83A7470012 +:100F5000232CF4FC832704FE83A78700232AF4FCB8 +:100F6000832704FE83A747012326F4FE0327C4FE3C +:100F70008327C4FBB307F7022324F4FE8327C4FEB0 +:100F8000639A0700930710002326F4FE8327C4FB0F +:100F90002324F4FE832704FE83A7C7002328F4FC40 +:100FA000232204FE6F00000C032784FB832704FD2B +:100FB0003307F702832784FEB307F7002326F4FCE8 +:100FC000032784FE832704FDB337F70093F7F70F59 +:100FD0002324F4FC832784FC93B71700A303F4FCB9 +:100FE000834774FC138F0700B7170080938F0705A2 +:100FF0006B200F007B70FF018327C4FC93972700B1 +:101000000327C4FDB307F70083A607008327C4FCAA +:1010100093972700032784FDB307F70003A7070072 +:101020008327C4FC93972700032644FDB307F600EB +:101030003387E64023A0E700832784FE93871700C9 +:101040002324F4FEB7170080138E470567000E00B7 +:10105000130000006B300000832744FE93871700C5 +:101060002322F4FE832744FE0327C4FEE3EEE7F2C7 +:10107000130000008320C10403248104130101052F +:1010800067800000130101FC232E1102232C810232 +:1010900013040104232EA4FC232CB4FC232AC4FC37 +:1010A0002328D4FC2326E4FCB73700810327C4FDA2 +:1010B00023A4E798B737008193878798032784FD97 +:1010C00023A2E700B737008193878798032744FD61 +:1010D00023A4E700B7370081938787980327C4FCD0 +:1010E00023A6E700B737008193878798032704FD7D +:1010F00023A8E700EFF00F8D2324A4FE0327C4FCF0 +:10110000832784FEB357F7022326F4FE0327C4FC8B +:10111000832784FEB377F702638807008327C4FE22 +:10112000938717002326F4FEB737008193878798AB +:101130000327C4FE23AAE7000327C4FC832784FEF9 +:101140006362F702B737008193868798B7170080EC +:101150001386C71B832584FE032504FDEFF08FACA7 +:101160006F000002B737008193868798B717008019 +:101170001386C71B8325C4FC032504FDEFF08FAA4B +:10118000EFF0CF832322A4FE032704FD832744FE30 +:1011900063F8E700032544FEEFF08FB76F00C0004F +:1011A000032504FDEFF0CFB6130000008320C10338 +:1011B000032481031301010467800000130101FB74 +:1011C000232611042324810413040105232EA4FAE9 +:1011D000232CB4FAEFF08FC02320A4FE832704FE53 +:1011E00083A70700232EF4FC832704FE83A7470070 +:1011F00083A70700232CF4FC832704FE83A7870022 +:10120000232AF4FC832704FE83A747012326F4FE48 +:101210000327C4FE8327C4FBB307F7022324F4FE8D +:101220008327C4FE639A0700930710002326F4FE69 +:101230008327C4FB2324F4FE832704FE83A7C7006F +:101240002328F4FC232204FE6F00000B032784FBF9 +:10125000832704FD3307F702832784FEB307F700D3 +:101260002326F4FC032784FE832704FDB337F7000D +:1012700093F7F70F2324F4FC832784FC93B717001C +:10128000A303F4FC834774FC138F0700B717008097 +:10129000938F472E6B200F007B70FF018327C4FCC8 +:1012A000939727000327C4FDB307F70083A6070021 +:1012B0008327C4FC93972700032744FDB307F70057 +:1012C000032784FD3387E60023A0E700832784FEFD +:1012D000938717002324F4FEB7170080138E872E00 +:1012E00067000E00130000006B300000832744FEEF +:1012F000938717002322F4FE832744FE0327C4FEAE +:10130000E3E6E7F4130000008320C1040324810412 +:101310001301010567800000130101FC232E110257 +:10132000232C810213040104232EA4FC232CB4FCDF +:10133000232AC4FC2328D4FC2326E4FCB7370081ED +:101340000327C4FD23A4E798B737008193878798C4 +:10135000032784FD23A2E700B7370081938787988E +:10136000032744FD23A4E700B737008193878798BC +:101370000327C4FC23A6E700B7370081938787982B +:10138000032704FD23A8E700EFE0DFE32324A4FE06 +:101390000327C4FC832784FEB357F7022326F4FEF9 +:1013A0000327C4FC832784FEB377F7026388070012 +:1013B0008327C4FE938717002326F4FEB7370081E6 +:1013C000938787980327C4FE23AAE7000327C4FC5A +:1013D000832784FE6362F702B7370081938687987C +:1013E000B717008013860745832584FE032504FD77 +:1013F000EFF04F836F000002B73700819386879824 +:10140000B7170080138607458325C4FC032504FD18 +:10141000EFF04F81EFE09FDA2322A4FE032704FDC3 +:10142000832744FE63F8E700032544FEEFF04F8E68 +:101430006F00C000032504FDEFF08F8D1300000046 +:101440008320C1030324810313010104678000008A +:10145000130101FB23261104232481041304010535 +:10146000232EA4FA232CB4FAEFF04F972320A4FEE6 +:10147000832704FE83A70700232EF4FC832704FEA2 +:1014800083A7470083A70700232CF4FC832704FECF +:1014900083A78700232AF4FC832704FE83A7470140 +:1014A0002326F4FE0327C4FE8327C4FBB307F702F9 +:1014B0002324F4FE8327C4FE639A070093071000D9 +:1014C0002326F4FE8327C4FB2324F4FE832704FE93 +:1014D00083A7C7002328F4FC232204FE6F00000B1F +:1014E000032784FB832704FD3307F702832784FE49 +:1014F000B307F7002326F4FC032784FE832704FDAB +:10150000B337F70093F7F70F2324F4FC832784FC09 +:1015100093B71700A303F4FC834774FC138F0700F1 +:10152000B7170080938F87576B200F007B70FF01E8 +:101530008327C4FC939727000327C4FDB307F70054 +:1015400083A607008327C4FC93972700032744FD45 +:10155000B307F700032784FD3387E60223A0E700E3 +:10156000832784FE938717002324F4FEB717008097 +:10157000138EC75767000E00130000006B30000089 +:10158000832744FE938717002322F4FE832744FE1B +:101590000327C4FEE3E6E7F4130000008320C10440 +:1015A000032481041301010567800000130101FE7B +:1015B000232E810013040102232604FE6F00800401 +:1015C000B73700810327C4FE131727009387079AB4 +:1015D000B307F7001307300023A0E700B7470081E7 +:1015E0000327C4FE131727009387079AB307F70052 +:1015F0001307200023A0E7008327C4FE938717006A +:101600002326F4FE0327C4FE9307F00FE3DAE7FA7C +:10161000130000000324C1011301010267800000D0 +:10162000130101FD23261102232481021304010367 +:10163000232EA4FCB707008113850711EFF0CF908C +:10164000232604FE6F0080058327C4FE638E0700F7 +:101650008327C4FE93F7F70063980700B70700815C +:1016600013854713EFF04F8E8327C4FE939727000F +:101670000327C4FDB307F70083A7070013850700FE +:10168000EFF04F90B707008113858713EFF0CF8BF2 +:101690008327C4FE938717002326F4FE0327C4FE86 +:1016A0009307F00FE3D2E7FAB70700811385C7135A +:1016B000EFF08F89130000008320C1020324810210 +:1016C0001301010367800000130101FF23261100AD +:1016D0002324810013040101EFF05FED9306000164 +:1016E000B75700811386079AB74700819385079AF9 +:1016F000B73700811385079AEFF08F99B7070081FC +:1017000013850716EFF04F84B75700811385079AAA +:10171000EFF01FF193070000138507008320C1003D +:0C17200003248100130101016780000018 :02000004810079 :10000000300000003100000032000000330000002A :10001000340000003500000036000000370000000A @@ -412,27 +394,22 @@ :100140002D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2DDF :100150002D2D2D2D2D2D2D2D2D2D2D2D0A00000079 :100160000A0A4D6174726978206D756C7469706CDF -:1001700069636174696F6E0A000000000A0A4D61CC -:1001800074726978204164646974696F6E0A000052 -:100190000A0A4D61747269782053756274726163E2 -:1001A00074696F6E0A0000000A0A4D617472697802 -:1001B00020456C656D656E74204164646974696F77 -:0301C0006E0A00C4 -:1001C4000000008104000081080000810C0000810F -:1001D4001000008114000081180000811C000081BF -:1001E4002000008124000081280000812C0000816F -:1001F4003000008134000081380000813C0000811F -:100204004000008144000081480000814C000081CE -:100214005000008154000081580000815C0000817E -:100224006000008164000081680000816C0000812E -:100234007000008174000081780000817C000081DE -:1002440084000081880000818C000081900000817E -:1002540094000081980000819C000081A00000812E -:10026400A4000081A8000081AC000081B0000081DE -:10027400B4000081B8000081BC000081C00000818E -:10028400D0000081D4000081D8000081DC0000810E -:10029400E0000081E4000081E8000081EC000081BE -:1002A400F0000081F4000081F8000081FC0000816E -:1002B4000001008104010081080100810C0100811A +:0901700069636174696F6E0A0095 +:10017C000000008104000081080000810C00008157 +:10018C001000008114000081180000811C00008107 +:10019C002000008124000081280000812C000081B7 +:1001AC003000008134000081380000813C00008167 +:1001BC004000008144000081480000814C00008117 +:1001CC005000008154000081580000815C000081C7 +:1001DC006000008164000081680000816C00008177 +:1001EC007000008174000081780000817C00008127 +:1001FC0084000081880000818C00008190000081C7 +:10020C0094000081980000819C000081A000008176 +:10021C00A4000081A8000081AC000081B000008126 +:10022C00B4000081B8000081BC000081C0000081D6 +:10023C00D0000081D4000081D8000081DC00008156 +:10024C00E0000081E4000081E8000081EC00008106 +:10025C00F0000081F4000081F8000081FC000081B6 +:10026C000001008104010081080100810C01008162 :040000058000000077 :00000001FF diff --git a/kernel/vx_include/vx_front.c b/kernel/vx_include/vx_front.c index c64db4c7..cc51ba2e 100644 --- a/kernel/vx_include/vx_front.c +++ b/kernel/vx_include/vx_front.c @@ -74,21 +74,21 @@ void _vx_mat_mult(unsigned tid, unsigned wid) unsigned total = 0; for (unsigned place = 0; place < mat_dim; ++place) { - unsigned x_i = (wid * mat_dim) + place; - unsigned y_i = (mat_dim * place) + i_index; + unsigned x_i = (wid * mat_dim) + place; + unsigned y_i = (mat_dim * place ) + i_index; total += (x_ptr[x_i] * y_ptr[y_i]); } int final_i = (wid * mat_dim) + i_index; - unsigned cond = i_index < mat_dim; - __if(cond) - { + // unsigned cond = i_index < mat_dim; + // __if(cond) + // { z_ptr[final_i] = total; i_index++; - } - __else - __end_if + // } + // __else + // __end_if } // for (int z = 0; z < ((1000 * wid) + 1000); z++); diff --git a/kernel/vx_main.c b/kernel/vx_main.c index 28b83600..f9b88ac9 100644 --- a/kernel/vx_main.c +++ b/kernel/vx_main.c @@ -5,10 +5,10 @@ unsigned x[1024] = {0}; unsigned y[1024] = {0}; unsigned z[1024] = {0}; -#define MAT_DIM 8 +#define MAT_DIM 16 -#define NUM_COLS 8 -#define NUM_ROWS 8 +#define NUM_COLS 16 +#define NUM_ROWS 16 void initialize_mats() { @@ -42,28 +42,28 @@ int main() print_matrix(z); - // matrix addition - vx_mat_add(x, y, z, NUM_ROWS, NUM_COLS); - vx_print_str("\n\nMatrix Addition\n"); - print_matrix(z); + // // matrix addition + // vx_mat_add(x, y, z, NUM_ROWS, NUM_COLS); + // vx_print_str("\n\nMatrix Addition\n"); + // print_matrix(z); - // matrix sub - vx_mat_sub(x, y, z, NUM_ROWS, NUM_COLS); - vx_print_str("\n\nMatrix Subtraction\n"); - print_matrix(z); + // // matrix sub + // vx_mat_sub(x, y, z, NUM_ROWS, NUM_COLS); + // vx_print_str("\n\nMatrix Subtraction\n"); + // print_matrix(z); - unsigned scal = 3; + // unsigned scal = 3; - // matrix element add - vx_e_mat_add(z, &scal, z, NUM_ROWS, NUM_COLS); - vx_print_str("\n\nMatrix Element Addition\n"); - print_matrix(z); + // // matrix element add + // vx_e_mat_add(z, &scal, z, NUM_ROWS, NUM_COLS); + // vx_print_str("\n\nMatrix Element Addition\n"); + // print_matrix(z); - // matrix element add - vx_e_mat_mult(z, &scal, z, NUM_ROWS, NUM_COLS); - vx_print_str("\n\nMatrix Element Addition\n"); - print_matrix(z); + // // matrix element add + // vx_e_mat_mult(z, &scal, z, NUM_ROWS, NUM_COLS); + // vx_print_str("\n\nMatrix Element Addition\n"); + // print_matrix(z); return 0; diff --git a/kernel/vx_os/vx_back/vx_back.s b/kernel/vx_os/vx_back/vx_back.s index 546d309a..c913d2d8 100644 --- a/kernel/vx_os/vx_back/vx_back.s +++ b/kernel/vx_os/vx_back/vx_back.s @@ -6,7 +6,7 @@ .type _start, @function .global _start _start: - li a0, 1 # Num Warps + li a0, 2 # Num Warps csrw 0x20, a0 # Setting the number of available warps li a0, 2 # Num Threads csrw 0x21, a0 # Setting the number of available threads @@ -31,11 +31,17 @@ loop_cond: loop_body: addi sp,sp,-2048 # Allocate 2k stack for new thread mv t1, a0 # #lane = i - .word 0x3506b # clone register state + .word 0x3506b # clone register state loop_inc: addi a0, a0, 1 j loop_cond loop_done: + nop + nop + nop + nop + nop + nop mv sp,t5 # Restoring the stack li a0,0 # setting tid = 0 for main thread mv t6,a2 # setting func_addr diff --git a/rtl/VX_context.v b/rtl/VX_context.v index c18e255e..eebe0b99 100644 --- a/rtl/VX_context.v +++ b/rtl/VX_context.v @@ -4,6 +4,7 @@ module VX_context ( input wire clk, input wire in_warp, + input wire in_wb_warp, input wire in_valid[`NT_M1:0], input wire in_write_register, input wire[4:0] in_rd, @@ -20,18 +21,26 @@ module VX_context ( output reg[31:0] out_a_reg_data[`NT_M1:0], output reg[31:0] out_b_reg_data[`NT_M1:0], - output wire out_clone_stall + output wire out_clone_stall, + output wire[31:0] w0_t0_registers[31:0] ); + reg[5:0] state_stall; + initial begin + state_stall = 0; + end + wire[31:0] rd1_register[`NT_M1:0]; wire[31:0] rd2_register[`NT_M1:0]; /* verilator lint_off UNUSED */ wire[31:0] clone_regsiters[31:0]; /* verilator lint_on UNUSED */ + + assign w0_t0_registers = clone_regsiters; VX_register_file vx_register_file_master( .clk (clk), - .in_warp (in_warp), + .in_wb_warp (in_wb_warp), .in_valid (in_valid[0]), .in_write_register (in_write_register), .in_rd (in_rd), @@ -52,6 +61,7 @@ module VX_context ( VX_register_file_slave vx_register_file_slave( .clk (clk), .in_warp (in_warp), + .in_wb_warp (in_wb_warp), .in_valid (in_valid[index]), .in_write_register (in_write_register), .in_rd (in_rd), @@ -64,11 +74,10 @@ module VX_context ( .out_src1_data (rd1_register[index]), .out_src2_data (rd2_register[index]) ); - end + end endgenerate - reg[5:0] state_stall = 0; always @(posedge clk) begin if ((in_is_clone) && state_stall == 0) begin state_stall <= 10; diff --git a/rtl/VX_context_slave.v b/rtl/VX_context_slave.v new file mode 100644 index 00000000..fc5c4d0b --- /dev/null +++ b/rtl/VX_context_slave.v @@ -0,0 +1,145 @@ + +`include "VX_define.v" + +module VX_context_slave ( + input wire clk, + input wire in_warp, + input wire in_wb_warp, + input wire in_valid[`NT_M1:0], + input wire in_write_register, + input wire[4:0] in_rd, + input wire[31:0] in_write_data[`NT_M1:0], + input wire[4:0] in_src1, + input wire[4:0] in_src2, + input wire[31:0] in_curr_PC, + input wire in_is_clone, + input wire in_is_jal, + input wire in_src1_fwd, + input wire[31:0] in_src1_fwd_data[`NT_M1:0], + input wire in_src2_fwd, + input wire[31:0] in_src2_fwd_data[`NT_M1:0], + input wire[31:0] in_wspawn_regs[31:0], + input wire in_wspawn, + + output reg[31:0] out_a_reg_data[`NT_M1:0], + output reg[31:0] out_b_reg_data[`NT_M1:0], + output wire out_clone_stall + +); + wire[31:0] rd1_register[`NT_M1:0]; + wire[31:0] rd2_register[`NT_M1:0]; + /* verilator lint_off UNUSED */ + wire[31:0] clone_regsiters[31:0]; + /* verilator lint_on UNUSED */ + + + reg[5:0] clone_state_stall = 0; + reg[5:0] wspawn_state_stall = 0; + + initial begin + clone_state_stall = 0; + wspawn_state_stall = 0; + end + + + wire to_wspawn = wspawn_state_stall == 2; + // always @(*) begin + // if (to_wspawn) + // $display("-----> to_wspawn == 1"); + // end + VX_register_file_master_slave vx_register_file_master( + .clk (clk), + .in_wb_warp (in_wb_warp), + .in_valid (in_valid[0]), + .in_write_register (in_write_register), + .in_rd (in_rd), + .in_data (in_write_data[0]), + .in_src1 (in_src1), + .in_src2 (in_src2), + .in_wspawn (in_wspawn), + .in_to_wspawn (to_wspawn), + .in_wspawn_regs (in_wspawn_regs), + .out_regs (clone_regsiters), + .out_src1_data (rd1_register[0]), + .out_src2_data (rd2_register[0]) + ); + + genvar index; + generate + for (index=1; index < `NT; index=index+1) + begin: gen_code_label + wire to_clone; + assign to_clone = (index == rd1_register[0]) && (clone_state_stall == 1); + VX_register_file_slave vx_register_file_slave( + .clk (clk), + .in_warp (in_warp), + .in_wb_warp (in_wb_warp), + .in_valid (in_valid[index]), + .in_write_register (in_write_register), + .in_rd (in_rd), + .in_data (in_write_data[index]), + .in_src1 (in_src1), + .in_src2 (in_src2), + .in_clone (in_is_clone), + .in_to_clone (to_clone), + .in_regs (clone_regsiters), + .out_src1_data (rd1_register[index]), + .out_src2_data (rd2_register[index]) + ); + end + endgenerate + + // always @(*) begin + // if (in_valid[0] && in_valid[1]) begin + // $display("Reg write: %h %h", in_write_data[0], in_write_data[1]); + // end else if (in_valid[0]) begin + // $display("Reg write: %h", in_write_data[0]); + // end + // end + + + // for clone + always @(posedge clk) begin + if ((in_is_clone) && clone_state_stall == 0) begin + clone_state_stall <= 10; + // $display("CLONEEE BITCH %d, 1 =? %h = %h -- %d", clone_state_stall, rd1_register[0], to_clone_1, in_is_clone); + end else if (clone_state_stall == 1) begin + // $display("ENDING CLONE, 1 =? %h = %h -- %d", rd1_register[0], to_clone_1, in_is_clone); + clone_state_stall <= 0; + end else if (clone_state_stall > 0) begin + clone_state_stall <= clone_state_stall - 1; + // $display("CLONEEE BITCH %d, 1 =? %h = %h -- %d", clone_state_stall, rd1_register[0], to_clone_1, in_is_clone); + end + end + + + // for wspawn + always @(posedge clk) begin + if ((in_wspawn) && wspawn_state_stall == 0) begin + wspawn_state_stall <= 10; + // $display("starting wspawn stalling -- in_wspawn: %d -- stall %d", in_wspawn, wspwan_stall); + end else if (wspawn_state_stall == 1) begin + // $display("ENDING wspawn stalling -- in_wspawn %d -- stall: %d", in_wspawn, wspwan_stall); + wspawn_state_stall <= 0; + end else if (wspawn_state_stall > 0) begin + wspawn_state_stall <= wspawn_state_stall - 1; + // $display("wspawn state: %d in_wspawn: %d -- stall: %d", wspawn_state_stall, in_wspawn, wspwan_stall); + end + end + + + genvar index_out_reg; + generate + for (index_out_reg = 0; index_out_reg < `NT; index_out_reg = index_out_reg + 1) + begin + assign out_a_reg_data[index_out_reg] = ( (in_is_jal == 1'b1) ? in_curr_PC : ((in_src1_fwd == 1'b1) ? in_src1_fwd_data[index_out_reg] : rd1_register[index_out_reg])); + assign out_b_reg_data[index_out_reg] = (in_src2_fwd == 1'b1) ? in_src2_fwd_data[index_out_reg] : rd2_register[index_out_reg]; + end + endgenerate + + wire clone_stall = ((clone_state_stall == 0) && in_is_clone) || ((clone_state_stall != 1) && in_is_clone); + wire wspwan_stall = ((wspawn_state_stall == 0) && in_wspawn) || (wspawn_state_stall > 1); + + assign out_clone_stall = clone_stall || wspwan_stall; + +endmodule \ No newline at end of file diff --git a/rtl/VX_decode.v b/rtl/VX_decode.v index 3fb8901f..c9b0115a 100644 --- a/rtl/VX_decode.v +++ b/rtl/VX_decode.v @@ -3,55 +3,55 @@ module VX_decode( // Fetch Inputs - input wire clk, - input wire[31:0] in_instruction, - input wire[31:0] in_curr_PC, - input wire in_valid[`NT_M1:0], + input wire clk, + input wire[31:0] in_instruction, + input wire[31:0] in_curr_PC, + input wire in_valid[`NT_M1:0], // WriteBack inputs - input wire[31:0] in_write_data[`NT_M1:0], - input wire[4:0] in_rd, - input wire[1:0] in_wb, - input wire in_wb_valid[`NT_M1:0], - input wire[`NW_M1:0] in_wb_warp_num, + input wire[31:0] in_write_data[`NT_M1:0], + input wire[4:0] in_rd, + input wire[1:0] in_wb, + input wire in_wb_valid[`NT_M1:0], + input wire[`NW_M1:0] in_wb_warp_num, // FORWARDING INPUTS - input wire in_src1_fwd, - input wire[31:0] in_src1_fwd_data[`NT_M1:0], - input wire in_src2_fwd, - input wire[31:0] in_src2_fwd_data[`NT_M1:0], - - input wire[`NW_M1:0] in_warp_num, - - - output wire[11:0] out_csr_address, - output wire out_is_csr, - output wire[31:0] out_csr_mask, + input wire in_src1_fwd, + input wire[31:0] in_src1_fwd_data[`NT_M1:0], + input wire in_src2_fwd, + input wire[31:0] in_src2_fwd_data[`NT_M1:0], + input wire[`NW_M1:0] in_warp_num, + output wire[11:0] out_csr_address, + output wire out_is_csr, + output wire[31:0] out_csr_mask, // Outputs - output wire[4:0] out_rd, - output wire[4:0] out_rs1, - output wire[4:0] out_rs2, - output wire[31:0] out_a_reg_data[`NT_M1:0], - output wire[31:0] out_b_reg_data[`NT_M1:0], - output wire[1:0] out_wb, - output wire[4:0] out_alu_op, - output wire out_rs2_src, - output reg[31:0] out_itype_immed, - output wire[2:0] out_mem_read, - output wire[2:0] out_mem_write, - output reg[2:0] out_branch_type, - output reg out_branch_stall, - output reg out_jal, - output reg[31:0] out_jal_offset, - output reg[19:0] out_upper_immed, - output wire[31:0] out_PC_next, - output reg out_clone_stall, - output wire out_change_mask, - output wire out_thread_mask[`NT_M1:0], - output wire out_valid[`NT_M1:0], - output wire[`NW_M1:0] out_warp_num + output wire[4:0] out_rd, + output wire[4:0] out_rs1, + output wire[4:0] out_rs2, + output wire[31:0] out_a_reg_data[`NT_M1:0], + output wire[31:0] out_b_reg_data[`NT_M1:0], + output wire[1:0] out_wb, + output wire[4:0] out_alu_op, + output wire out_rs2_src, + output reg[31:0] out_itype_immed, + output wire[2:0] out_mem_read, + output wire[2:0] out_mem_write, + output reg[2:0] out_branch_type, + output reg out_branch_stall, + output reg out_jal, + output reg[31:0] out_jal_offset, + output reg[19:0] out_upper_immed, + output wire[31:0] out_PC_next, + output reg out_clone_stall, + output wire out_change_mask, + output wire out_thread_mask[`NT_M1:0], + output wire out_valid[`NT_M1:0], + output wire[`NW_M1:0] out_warp_num, + output wire out_wspawn, + output wire[31:0] out_wspawn_pc, + output wire out_ebreak ); wire[6:0] curr_opcode; @@ -73,6 +73,7 @@ module VX_decode( wire is_clone; wire is_jalrs; wire is_jmprt; + wire is_wspawn; wire write_register; @@ -110,11 +111,28 @@ module VX_decode( reg[4:0] alu_op; reg[4:0] mul_alu; - wire context_zero_valid = (in_wb_warp_num == 0); + wire[31:0] w0_t0_registers[31:0]; - VX_context VX_Context( + wire context_zero_valid = (in_wb_warp_num == 0); + wire[31:0] zero_a_reg_data[`NT_M1:0]; + wire[31:0] zero_b_reg_data[`NT_M1:0]; + reg zero_clone_stall; + + // always @(*) begin + // $display("DECODE WARP: %h", in_warp_num); + // end + + wire curr_warp_zero = in_warp_num == 0; + wire curr_warp_one = in_warp_num == 1; + + // always @(*) begin + // $display("DECODE WARP: %h PC: %h",in_warp_num, in_curr_PC); + // end + + VX_context VX_Context_zero( .clk (clk), - .in_warp (context_zero_valid), + .in_warp (curr_warp_zero), + .in_wb_warp (context_zero_valid), .in_valid (in_wb_valid), .in_rd (in_rd), .in_src1 (out_rs1), @@ -128,13 +146,52 @@ module VX_decode( .in_src2_fwd_data (in_src2_fwd_data), .in_write_register(write_register), .in_write_data (in_write_data), - .out_a_reg_data (out_a_reg_data), - .out_b_reg_data (out_b_reg_data), - .out_clone_stall (out_clone_stall) - ); + .out_a_reg_data (zero_a_reg_data), + .out_b_reg_data (zero_b_reg_data), + .out_clone_stall (zero_clone_stall), + .w0_t0_registers (w0_t0_registers) + ); + + wire context_one_valid = (in_wb_warp_num == 1); + wire[31:0] one_a_reg_data[`NT_M1:0]; + wire[31:0] one_b_reg_data[`NT_M1:0]; + reg one_clone_stall; + VX_context_slave VX_Context_one( + .clk (clk), + .in_warp (curr_warp_one), + .in_wb_warp (context_one_valid), + .in_valid (in_wb_valid), + .in_rd (in_rd), + .in_src1 (out_rs1), + .in_src2 (out_rs2), + .in_curr_PC (in_curr_PC), + .in_is_clone (is_clone), + .in_is_jal (is_jal), + .in_src1_fwd (in_src1_fwd), + .in_src1_fwd_data (in_src1_fwd_data), + .in_src2_fwd (in_src2_fwd), + .in_src2_fwd_data (in_src2_fwd_data), + .in_write_register(write_register), + .in_write_data (in_write_data), + .in_wspawn_regs (w0_t0_registers), + .in_wspawn (is_wspawn), + .out_a_reg_data (one_a_reg_data), + .out_b_reg_data (one_b_reg_data), + .out_clone_stall (one_clone_stall) + ); + + assign out_a_reg_data = curr_warp_zero ? zero_a_reg_data : one_a_reg_data; + assign out_b_reg_data = curr_warp_zero ? zero_b_reg_data : one_b_reg_data; + assign out_clone_stall = zero_clone_stall || one_clone_stall; + + // always @(*) begin + // if (context_one_valid) begin + // $display("PC: %h -> src1: %h\tsrc2: %h",in_curr_PC, one_a_reg_data[0], one_b_reg_data[0]); + // end + // end assign out_warp_num = in_warp_num; - assign out_valid = in_valid; + assign out_valid = in_valid; assign write_register = (in_wb != 2'h0) ? (1'b1) : (1'b0); @@ -171,6 +228,10 @@ module VX_decode( assign is_clone = is_gpgpu && (func3 == 5); assign is_jalrs = is_gpgpu && (func3 == 6); assign is_jmprt = is_gpgpu && (func3 == 4); + assign is_wspawn = is_gpgpu && (func3 == 0); + + assign out_wspawn = is_wspawn; + assign out_wspawn_pc = out_a_reg_data[0]; // always @(*) begin // if (is_jalrs) begin @@ -259,7 +320,7 @@ module VX_decode( case(curr_opcode) `LUI_INST: out_upper_immed = {func7, out_rs2, out_rs1, func3}; `AUIPC_INST: out_upper_immed = {func7, out_rs2, out_rs1, func3}; - default: out_upper_immed = 20'h0; + default: out_upper_immed = 20'h0; endcase // curr_opcode end @@ -306,6 +367,7 @@ module VX_decode( end `SYS_INST: begin + // $display("SYS EBREAK %h", (jal_sys_jal && in_valid[0]) ); out_jal = jal_sys_jal && in_valid[0]; out_jal_offset = jal_sys_off; end @@ -317,6 +379,13 @@ module VX_decode( endcase end + wire is_ebreak; + + + assign is_ebreak = (curr_opcode == `SYS_INST) && (jal_sys_jal && in_valid[0]); + + + assign out_ebreak = is_ebreak; // CSR diff --git a/rtl/VX_execute.v b/rtl/VX_execute.v index a156b629..a483b96c 100644 --- a/rtl/VX_execute.v +++ b/rtl/VX_execute.v @@ -68,6 +68,13 @@ module VX_execute ( end endgenerate + // always @(*) begin + // if ((in_alu_op == `MUL) && (in_warp_num == 1)) begin + // $display("@PC: %h ---> %d * %d = %d\t%d * %d = %d", in_curr_PC, in_a_reg_data[0], in_b_reg_data[0], out_alu_result[0], in_a_reg_data[1], in_b_reg_data[1], out_alu_result[1]); + // end + + // end + assign out_jal_dest = $signed(in_a_reg_data[0]) + $signed(in_jal_offset); assign out_jal = in_jal; diff --git a/rtl/VX_fetch.v b/rtl/VX_fetch.v index 090b80f8..f9e52047 100644 --- a/rtl/VX_fetch.v +++ b/rtl/VX_fetch.v @@ -2,30 +2,34 @@ `include "VX_define.v" module VX_fetch ( - input wire clk, - input wire reset, - input wire in_branch_dir, - input wire in_freeze, - input wire[31:0] in_branch_dest, - input wire in_branch_stall, - input wire in_fwd_stall, - input wire in_branch_stall_exe, - input wire in_clone_stall, - input wire in_jal, - input wire[31:0] in_jal_dest, - input wire in_interrupt, - input wire in_debug, - input wire[31:0] in_instruction, - input wire in_thread_mask[`NT_M1:0], - input wire in_change_mask, + input wire clk, + input wire reset, + input wire in_branch_dir, + input wire in_freeze, + input wire[31:0] in_branch_dest, + input wire in_branch_stall, + input wire in_fwd_stall, + input wire in_branch_stall_exe, + input wire in_clone_stall, + input wire in_jal, + input wire[31:0] in_jal_dest, + input wire in_interrupt, + input wire in_debug, + input wire[31:0] in_instruction, + input wire in_thread_mask[`NT_M1:0], + input wire in_change_mask, input wire[`NW_M1:0] in_decode_warp_num, input wire[`NW_M1:0] in_memory_warp_num, + input wire in_wspawn, + input wire[31:0] in_wspawn_pc, + input wire in_ebreak, - output wire[31:0] out_instruction, - output wire out_delay, + output wire[31:0] out_instruction, + output wire out_delay, output wire[`NW_M1:0] out_warp_num, - output wire[31:0] out_curr_PC, - output wire out_valid[`NT_M1:0] + output wire[31:0] out_curr_PC, + output wire out_valid[`NT_M1:0], + output wire out_ebreak ); reg stall; @@ -39,42 +43,98 @@ module VX_fetch ( warp_state = 0; end + wire add_warp = in_wspawn && !in_ebreak && !in_clone_stall; + wire remove_warp = in_ebreak && !in_wspawn && !in_clone_stall; + always @(posedge clk or posedge reset) begin - if (reset || (warp_num == warp_state)) begin - warp_num <= 0; + if (reset || (warp_num == warp_state) || remove_warp || add_warp) begin + warp_num <= 0; end else begin - warp_num <= warp_num + 1; + warp_num <= warp_num + 1; end + if (add_warp) begin + // $display("Adding a new warp %h", warp_state); + warp_state <= warp_state + 1; + end else if (remove_warp) begin + // $display("Removing a warp %h", warp_state); + warp_state <= warp_state - 1; + end end + assign out_ebreak = (warp_state == 0) && in_ebreak; + assign stall = in_clone_stall || in_branch_stall || in_fwd_stall || in_branch_stall_exe || in_interrupt || in_freeze || in_debug; - wire[31:0] warp_pc; - wire warp_valid[`NT_M1:0]; + wire warp_zero_change_mask = in_change_mask && (in_decode_warp_num == 0); + wire warp_zero_jal = in_jal && (in_memory_warp_num == 0); + wire warp_zero_branch = in_branch_dir && (in_memory_warp_num == 0); + wire warp_zero_stall = stall || (warp_num == 1); + wire warp_zero_wspawn = 0; + wire[31:0] warp_zero_wspawn_pc = 32'h0; - wire warp_zero_change_mask = in_change_mask && (in_decode_warp_num == 0); - wire warp_zero_jal = in_jal && (in_memory_warp_num == 0); - wire warp_zero_branch = in_branch_dir && (in_memory_warp_num == 0); - VX_warp VX_Warp( + wire[31:0] warp_zero_pc; + wire warp_zero_valid[`NT_M1:0]; + VX_warp VX_Warp_zero( .clk (clk), .reset (reset), - .stall (stall), + .stall (warp_zero_stall), .in_thread_mask(in_thread_mask), .in_change_mask(warp_zero_change_mask), .in_jal (warp_zero_jal), .in_jal_dest (in_jal_dest), .in_branch_dir (warp_zero_branch), .in_branch_dest(in_branch_dest), - .out_PC (warp_pc), - .out_valid (warp_valid) + .in_wspawn (warp_zero_wspawn), + .in_wspawn_pc (warp_zero_wspawn_pc), + .out_PC (warp_zero_pc), + .out_valid (warp_zero_valid) ); - assign out_PC = warp_pc; + wire warp_one_change_mask = in_change_mask && (in_decode_warp_num == 1); + wire warp_one_jal = in_jal && (in_memory_warp_num == 1); + wire warp_one_branch = in_branch_dir && (in_memory_warp_num == 1); + wire warp_one_stall = stall || (warp_num == 0); + wire[31:0] warp_one_pc; + wire warp_one_valid[`NT_M1:0]; + VX_warp VX_Warp_one( + .clk (clk), + .reset (reset), + .stall (warp_one_stall), + .in_thread_mask(in_thread_mask), + .in_change_mask(warp_one_change_mask), + .in_jal (warp_one_jal), + .in_jal_dest (in_jal_dest), + .in_branch_dir (warp_one_branch), + .in_branch_dest(in_branch_dest), + .in_wspawn (in_wspawn), + .in_wspawn_pc (in_wspawn_pc), + .out_PC (warp_one_pc), + .out_valid (warp_one_valid) + ); + + // always @(*) begin + // if (in_wspawn) begin + // $display("Spawning a warp @ %h",in_wspawn_pc); + // end + // end + + // always @(posedge clk) begin + // $display("curr warp: %h Threads:%d%d PC: %h", warp_num, out_valid[0],out_valid[1], out_PC); + // end + + // always @(*) begin + // if (warp_num == 1) begin + // $display("Going to PC: %h", warp_one_pc); + // end + // end + + assign out_PC = (warp_num == 0) ? warp_zero_pc : warp_one_pc; + assign out_valid = (warp_num == 0) ? warp_zero_valid : warp_one_valid; // always @(*) begin // $display("FETCH PC: %h (%h, %h, %h)",delete, delete, in_jal_dest, in_branch_dest); @@ -82,9 +142,9 @@ module VX_fetch ( assign out_curr_PC = out_PC; - assign out_valid = warp_valid; assign out_warp_num = warp_num; assign out_delay = 0; + assign out_instruction = stall ? 32'b0 : in_instruction; diff --git a/rtl/VX_memory.v b/rtl/VX_memory.v index cca232f2..fa271841 100644 --- a/rtl/VX_memory.v +++ b/rtl/VX_memory.v @@ -65,6 +65,12 @@ module VX_memory ( assign out_cache_driver_in_data = in_rd2; assign out_cache_driver_in_valid = in_valid; + // always @(*) begin + // if (in_valid[0] && (in_mem_write == `SW_MEM_WRITE) && (in_alu_result[0] >= 32'h810049a0)) begin + // $display("SW$ PC: %h - Warp: %h -> [%h]%h = %h || [%h]%h = %h",in_curr_PC, in_warp_num, in_valid[0], in_alu_result[0], in_rd2[0], in_valid[1], in_alu_result[1], in_rd2[1]); + // end + // end + // wire[31:0] sm_out_data[`NT_M1:0]; @@ -113,7 +119,13 @@ module VX_memory ( end `BLT: out_branch_dir = (in_alu_result[0][31] == 0) ? `NOT_TAKEN : `TAKEN; `BGT: out_branch_dir = (in_alu_result[0][31] == 0) ? `TAKEN : `NOT_TAKEN; - `BLTU: out_branch_dir = (in_alu_result[0][31] == 0) ? `NOT_TAKEN : `TAKEN; + `BLTU: + begin + out_branch_dir = (in_alu_result[0][31] == 0) ? `NOT_TAKEN : `TAKEN; + if (in_warp_num == 1) begin + // $display("BLTU PC:%h : %d < %d = %d", in_curr_PC, in_rs1, in_rs2, (in_alu_result[0][31] == 0)); + end + end `BGTU: out_branch_dir = (in_alu_result[0][31] == 0) ? `TAKEN : `NOT_TAKEN; `NO_BRANCH: out_branch_dir = `NOT_TAKEN; default: out_branch_dir = `NOT_TAKEN; diff --git a/rtl/VX_register_file.v b/rtl/VX_register_file.v index 61cba771..c9273125 100644 --- a/rtl/VX_register_file.v +++ b/rtl/VX_register_file.v @@ -2,7 +2,7 @@ module VX_register_file ( input wire clk, - input wire in_warp, + input wire in_wb_warp, input wire in_valid, input wire in_write_register, input wire[4:0] in_rd, @@ -30,6 +30,11 @@ module VX_register_file ( // end // end + // always @(*) begin + // $display("TID: %d: %h",10,registers[10]); + // $display("WID: %d: %h",11,registers[11]); + // end + assign out_regs = registers; assign write_data = in_data; @@ -38,7 +43,7 @@ module VX_register_file ( assign write_enable = (in_write_register && (in_rd != 5'h0)) && in_valid; always @(posedge clk) begin - if(write_enable && in_warp) begin + if(write_enable && in_wb_warp) begin // $display("RF: Writing %h to %d",write_data, write_register); registers[write_register] <= write_data; end diff --git a/rtl/VX_register_file_master_slave.v b/rtl/VX_register_file_master_slave.v new file mode 100644 index 00000000..cf50d9e5 --- /dev/null +++ b/rtl/VX_register_file_master_slave.v @@ -0,0 +1,72 @@ + +module VX_register_file_master_slave ( + input wire clk, + input wire in_wb_warp, + input wire in_valid, + input wire in_write_register, + input wire[4:0] in_rd, + input wire[31:0] in_data, + input wire[4:0] in_src1, + input wire[4:0] in_src2, + input wire in_wspawn, + input wire in_to_wspawn, + input wire[31:0] in_wspawn_regs[31:0], + + output reg[31:0] out_src1_data, + output reg[31:0] out_src2_data, + output wire[31:0] out_regs[31:0] +); + + reg[31:0] registers[31:0]; + + wire[31:0] write_data; + + wire[4:0] write_register; + + wire write_enable; + + + assign out_regs = registers; + + // reg[5:0] i; + // always @(posedge clk) begin + // for (i = 0; i < 32; i++) begin + // $display("%d: %h",i, registers[i[4:0]]); + // end + // end + + // integer i; + + assign write_data = in_data; + assign write_register = in_rd; + + // always @(*) begin + // $display("TID: %d: %h",10,registers[10]); + // $display("WID: %d: %h",11,registers[11]); + // end + + assign write_enable = (in_write_register && (in_rd != 5'h0)) && in_valid && in_wb_warp; + + always @(posedge clk) begin + if(write_enable && !in_wspawn) begin + // $display("RF: Writing %h to %d",write_data, write_register); + registers[write_register] <= write_data; + end else if (in_wspawn && in_to_wspawn) begin + // $display("WSPAWN IN MASTER SLAVE"); + registers <= in_wspawn_regs; + end + end + + // always @(posedge clk) begin + // for (i = 0; i < 32; i = i + 1) + // $display("(%d): %x", i, registers[i]); + + // end + + always @(negedge clk) begin + out_src1_data <= registers[in_src1]; + out_src2_data <= registers[in_src2]; + end + + +endmodule \ No newline at end of file diff --git a/rtl/VX_register_file_slave.v b/rtl/VX_register_file_slave.v index 2a2e8b88..77951f3b 100644 --- a/rtl/VX_register_file_slave.v +++ b/rtl/VX_register_file_slave.v @@ -6,6 +6,7 @@ module VX_register_file_slave ( input wire clk, input wire in_warp, + input wire in_wb_warp, input wire in_valid, input wire in_write_register, input wire[4:0] in_rd, @@ -37,17 +38,23 @@ module VX_register_file_slave ( // integer i; + // always @(*) begin + // if (in_warp) begin + // $display("TID: %d: %h",10,registers[10]); + // $display("WID: %d: %h",11,registers[11]); + // end + // end + assign write_data = in_data; assign write_register = in_rd; - assign write_enable = (in_write_register && (in_rd != 5'h0)) && in_valid; + assign write_enable = (in_write_register && (in_rd != 5'h0)) && in_valid && in_wb_warp; always @(posedge clk) begin - if(write_enable && !in_clone && in_warp) begin + if(write_enable && !in_clone) begin // $display("RF: Writing %h to %d",write_data, write_register); registers[write_register] <= write_data; - end else if (in_clone && in_to_clone) begin - // $display("CLONING IN SLAVE"); + end else if (in_clone && in_to_clone && in_warp) begin registers <= in_regs; end end diff --git a/rtl/VX_warp.v b/rtl/VX_warp.v index f81b2871..cf6039c3 100644 --- a/rtl/VX_warp.v +++ b/rtl/VX_warp.v @@ -11,7 +11,8 @@ module VX_warp ( input wire[31:0] in_jal_dest, input wire in_branch_dir, input wire[31:0] in_branch_dest, - + input wire in_wspawn, + input wire[31:0] in_wspawn_pc, output wire[31:0] out_PC, output wire out_valid[`NT_M1:0] @@ -62,7 +63,10 @@ module VX_warp ( always @(posedge clk or posedge reset) begin if (reset) begin real_PC <= 0; - end else if (stall == 1'b0) begin + end else if (in_wspawn == 1'b1) begin + // $display("Inside warp ***** Spawn @ %H",in_wspawn_pc); + real_PC <= in_wspawn_pc; + end else if (!stall) begin real_PC <= use_PC + 32'h4; end else begin real_PC <= use_PC; diff --git a/rtl/Vortex.v b/rtl/Vortex.v index b7ddee77..34c23946 100644 --- a/rtl/Vortex.v +++ b/rtl/Vortex.v @@ -13,7 +13,8 @@ module Vortex( output wire[2:0] out_cache_driver_in_mem_read, output wire[2:0] out_cache_driver_in_mem_write, output wire out_cache_driver_in_valid[`NT_M1:0], - output wire[31:0] out_cache_driver_in_data[`NT_M1:0] + output wire[31:0] out_cache_driver_in_data[`NT_M1:0], + output wire out_ebreak ); // wire[31:0] in_cache_driver_out_data[`NT_M1:0]; @@ -25,11 +26,12 @@ module Vortex( assign curr_PC = fetch_curr_PC; // From fetch -wire[31:0] fetch_instruction; -wire fetch_delay; -wire[31:0] fetch_curr_PC; -wire fetch_valid[`NT_M1:0]; +wire[31:0] fetch_instruction; +wire fetch_delay; +wire[31:0] fetch_curr_PC; +wire fetch_valid[`NT_M1:0]; wire[`NW_M1:0] fetch_warp_num; +wire fetch_ebreak; // From f_d_register wire[31:0] f_d_instruction; @@ -62,7 +64,10 @@ wire decode_valid[`NT_M1:0]; wire decode_clone_stall; wire decode_change_mask; wire decode_thread_mask[`NT_M1:0]; -wire[`NW_M1:0] decode_warp_num; +wire[`NW_M1:0] decode_warp_num; +wire decode_wspawn; +wire[31:0] decode_wspawn_pc; +wire decode_ebreak; // From d_e_register wire[11:0] d_e_csr_address; @@ -193,7 +198,7 @@ wire debug; assign debug = 1'b0; assign interrupt = 1'b0; assign total_freeze = fetch_delay || memory_delay; - +assign out_ebreak = fetch_ebreak; VX_fetch vx_fetch( .clk (clk), @@ -214,12 +219,16 @@ VX_fetch vx_fetch( .in_change_mask (decode_change_mask), .in_decode_warp_num (decode_warp_num), .in_memory_warp_num (memory_warp_num), + .in_wspawn (decode_wspawn), + .in_wspawn_pc (decode_wspawn_pc), + .in_ebreak (decode_ebreak), .out_instruction (fetch_instruction), .out_delay (fetch_delay), .out_curr_PC (fetch_curr_PC), .out_warp_num (fetch_warp_num), - .out_valid (fetch_valid) + .out_valid (fetch_valid), + .out_ebreak (fetch_ebreak) ); @@ -280,7 +289,10 @@ VX_decode vx_decode( .out_clone_stall (decode_clone_stall), .out_change_mask (decode_change_mask), .out_thread_mask (decode_thread_mask), - .out_warp_num (decode_warp_num) + .out_warp_num (decode_warp_num), + .out_wspawn (decode_wspawn), + .out_wspawn_pc (decode_wspawn_pc), + .out_ebreak (decode_ebreak) ); diff --git a/rtl/obj_dir/VVortex b/rtl/obj_dir/VVortex index fb1f5621a128ad78bfa1828db23c8e44893fb36a..5882e08dba35a8d869979c6893e81d27c8c40e10 100755 GIT binary patch delta 116320 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 TQ!R7VKEqos*k|}=M}PEx1B&IX delta 96839 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 QwXWCc+NG^@t>NMCbJF~9DF6Tf diff --git a/rtl/obj_dir/VVortex.cpp b/rtl/obj_dir/VVortex.cpp index 8d6a0f68..de9647a3 100644 --- a/rtl/obj_dir/VVortex.cpp +++ b/rtl/obj_dir/VVortex.cpp @@ -95,12 +95,21 @@ void VVortex::_initial__TOP__1(VVortex__Syms* __restrict vlSymsp) { VL_DEBUG_IF(VL_DBG_MSGF("+ VVortex::_initial__TOP__1\n"); ); VVortex* __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; // Body - // INITIAL at VX_warp.v:27 - vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp__DOT__real_PC = 0U; - vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp__DOT__valid[1U] = 0U; - vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp__DOT__valid[0U] = 1U; - // INITIAL at VX_context.v:71 - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__state_stall = 0U; + // INITIAL at VX_warp.v:28 + vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp_zero__DOT__real_PC = 0U; + vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp_zero__DOT__valid[1U] = 0U; + vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp_zero__DOT__valid[0U] = 1U; + // INITIAL at VX_warp.v:28 + vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp_one__DOT__real_PC = 0U; + vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp_one__DOT__valid[1U] = 0U; + vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp_one__DOT__valid[0U] = 1U; + // INITIAL at VX_context.v:29 + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__state_stall = 0U; + // INITIAL at VX_context_slave.v:36 + // INITIAL at VX_context_slave.v:37 + // INITIAL at VX_context_slave.v:39 + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_state_stall = 0U; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__wspawn_state_stall = 0U; // INITIAL at VX_m_w_reg.v:41 vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__rd = 0U; vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb = 0U; @@ -161,7 +170,7 @@ void VVortex::_initial__TOP__1(VVortex__Syms* __restrict vlSymsp) { vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__jal = 0U; vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__jal_offset = 0U; vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__warp_num = 0U; - // INITIAL at VX_fetch.v:37 + // INITIAL at VX_fetch.v:41 vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_num = 0U; vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_state = 0U; } @@ -182,105 +191,109 @@ void VVortex::_settle__TOP__2(VVortex__Syms* __restrict vlSymsp) { vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_valid[0U] = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__valid [0U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__rd1_register[0U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_src1_data; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__rd1_register[1U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__out_src1_data; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0x1fU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__rd1_register[0U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_src1_data; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__rd1_register[1U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__out_src1_data; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__rd1_register[0U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_src1_data; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__rd1_register[1U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__out_src1_data; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0x1fU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers [0x1fU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0x1eU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0x1eU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers [0x1eU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0x1dU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0x1dU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers [0x1dU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0x1cU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0x1cU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers [0x1cU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0x1bU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0x1bU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers [0x1bU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0x1aU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0x1aU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers [0x1aU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0x19U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0x19U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers [0x19U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0x18U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0x18U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers [0x18U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0x17U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0x17U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers [0x17U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0x16U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0x16U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers [0x16U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0x15U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0x15U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers [0x15U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0x14U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0x14U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers [0x14U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0x13U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0x13U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers [0x13U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0x12U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0x12U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers [0x12U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0x11U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0x11U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers [0x11U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0x10U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0x10U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers [0x10U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0xfU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0xfU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers [0xfU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0xeU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0xeU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers [0xeU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0xdU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0xdU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers [0xdU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0xcU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0xcU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers [0xcU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0xbU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0xbU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers [0xbU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0xaU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0xaU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers [0xaU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[9U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[9U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers [9U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[8U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[8U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers [8U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[7U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[7U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers [7U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[6U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[6U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers [6U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[5U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[5U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers [5U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[4U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[4U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers [4U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[3U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[3U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers [3U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[2U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[2U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers [2U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[1U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[1U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers [1U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers [0U]; vlTOPp->Vortex__DOT____Vcellout__vx_f_d_reg__out_valid[1U] = vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__valid @@ -288,10 +301,110 @@ void VVortex::_settle__TOP__2(VVortex__Syms* __restrict vlSymsp) { vlTOPp->Vortex__DOT____Vcellout__vx_f_d_reg__out_valid[0U] = vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__valid [0U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__rd2_register[0U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_src2_data; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__rd2_register[1U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__out_src2_data; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__rd2_register[0U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_src2_data; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__rd2_register[1U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__out_src2_data; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__rd2_register[0U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_src2_data; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__rd2_register[1U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__out_src2_data; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0x1fU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers + [0x1fU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0x1eU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers + [0x1eU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0x1dU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers + [0x1dU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0x1cU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers + [0x1cU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0x1bU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers + [0x1bU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0x1aU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers + [0x1aU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0x19U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers + [0x19U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0x18U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers + [0x18U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0x17U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers + [0x17U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0x16U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers + [0x16U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0x15U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers + [0x15U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0x14U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers + [0x14U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0x13U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers + [0x13U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0x12U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers + [0x12U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0x11U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers + [0x11U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0x10U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers + [0x10U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0xfU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers + [0xfU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0xeU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers + [0xeU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0xdU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers + [0xdU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0xcU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers + [0xcU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0xbU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers + [0xbU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0xaU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers + [0xaU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[9U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers + [9U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[8U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers + [8U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[7U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers + [7U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[6U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers + [6U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[5U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers + [5U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[4U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers + [4U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[3U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers + [3U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[2U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers + [2U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[1U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers + [1U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers + [0U]; vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_alu_result[1U] = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__alu_result [1U]; @@ -322,7 +435,7 @@ void VVortex::_settle__TOP__2(VVortex__Syms* __restrict vlSymsp) { (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction >> 0x14U) : 0x55U)); - // ALWAYS at VX_decode.v:404 + // ALWAYS at VX_decode.v:473 vlTOPp->__Vtableidx1 = (7U & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction >> 0xcU)); vlTOPp->Vortex__DOT__vx_decode__DOT__mul_alu = @@ -348,10 +461,19 @@ void VVortex::_settle__TOP__2(VVortex__Syms* __restrict vlSymsp) { (7U & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction >> 0xcU)))); + vlTOPp->Vortex__DOT__vx_decode__DOT__jal_sys_jal + = ((0U == (7U & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction + >> 0xcU))) & (2U > (0xfffU + & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction + >> 0x14U)))); vlTOPp->Vortex__DOT__vx_decode__DOT__is_clone = ((0x6bU == (0x7fU & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) & (5U == (7U & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction >> 0xcU)))); + vlTOPp->Vortex__DOT__vx_decode__DOT__is_wspawn + = ((0x6bU == (0x7fU & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) + & (0U == (7U & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction + >> 0xcU)))); vlTOPp->Vortex__DOT__vx_decode__DOT__is_jmprt = ((0x6bU == (0x7fU & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) & (4U == (7U & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction @@ -392,6 +514,9 @@ void VVortex::_settle__TOP__2(VVortex__Syms* __restrict vlSymsp) { [vlTOPp->Vortex__DOT__vx_csr_handler__DOT__decode_csr_address])))); vlTOPp->out_cache_driver_in_mem_read = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__mem_read; vlTOPp->out_cache_driver_in_mem_write = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__mem_write; + vlTOPp->Vortex__DOT__memory_branch_dest = (vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__curr_PC + + (vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__branch_offset + << 1U)); vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_b_reg_data[1U] = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__b_reg_data [1U]; @@ -464,106 +589,202 @@ void VVortex::_settle__TOP__2(VVortex__Syms* __restrict vlSymsp) { [1U]; vlTOPp->Vortex__DOT__m_w_valid[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_valid [0U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0x1fU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0x1fU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs [0x1fU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0x1eU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0x1eU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs [0x1eU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0x1dU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0x1dU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs [0x1dU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0x1cU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0x1cU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs [0x1cU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0x1bU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0x1bU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs [0x1bU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0x1aU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0x1aU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs [0x1aU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0x19U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0x19U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs [0x19U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0x18U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0x18U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs [0x18U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0x17U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0x17U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs [0x17U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0x16U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0x16U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs [0x16U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0x15U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0x15U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs [0x15U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0x14U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0x14U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs [0x14U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0x13U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0x13U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs [0x13U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0x12U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0x12U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs [0x12U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0x11U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0x11U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs [0x11U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0x10U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0x10U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs [0x10U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0xfU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0xfU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs [0xfU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0xeU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0xeU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs [0xeU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0xdU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0xdU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs [0xdU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0xcU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0xcU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs [0xcU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0xbU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0xbU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs [0xbU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0xaU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0xaU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs [0xaU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[9U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[9U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs [9U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[8U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[8U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs [8U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[7U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[7U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs [7U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[6U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[6U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs [6U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[5U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[5U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs [5U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[4U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[4U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs [4U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[3U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[3U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs [3U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[2U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[2U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs [2U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[1U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[1U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs [1U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs [0U]; vlTOPp->Vortex__DOT__f_d_valid[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_f_d_reg__out_valid [1U]; vlTOPp->Vortex__DOT__f_d_valid[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_f_d_reg__out_valid [0U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0x1fU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs + [0x1fU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0x1eU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs + [0x1eU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0x1dU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs + [0x1dU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0x1cU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs + [0x1cU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0x1bU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs + [0x1bU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0x1aU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs + [0x1aU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0x19U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs + [0x19U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0x18U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs + [0x18U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0x17U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs + [0x17U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0x16U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs + [0x16U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0x15U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs + [0x15U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0x14U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs + [0x14U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0x13U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs + [0x13U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0x12U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs + [0x12U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0x11U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs + [0x11U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0x10U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs + [0x10U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0xfU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs + [0xfU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0xeU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs + [0xeU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0xdU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs + [0xdU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0xcU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs + [0xcU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0xbU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs + [0xbU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0xaU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs + [0xaU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[9U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs + [9U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[8U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs + [8U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[7U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs + [7U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[6U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs + [6U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[5U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs + [5U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[4U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs + [4U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[3U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs + [3U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[2U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs + [2U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[1U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs + [1U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs + [0U]; vlTOPp->Vortex__DOT__m_w_alu_result[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_alu_result [1U]; vlTOPp->Vortex__DOT__m_w_alu_result[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_alu_result @@ -572,7 +793,7 @@ void VVortex::_settle__TOP__2(VVortex__Syms* __restrict vlSymsp) { [1U]; vlTOPp->Vortex__DOT__m_w_mem_result[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_mem_result [0U]; - // ALWAYS at VX_decode.v:335 + // ALWAYS at VX_decode.v:404 vlTOPp->Vortex__DOT__decode_itype_immed = ((0x40U & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction) ? ( @@ -707,12 +928,22 @@ void VVortex::_settle__TOP__2(VVortex__Syms* __restrict vlSymsp) { >> 0x14U))) : 0xdeadbeefU) : 0xdeadbeefU)))))); - vlTOPp->Vortex__DOT__decode_clone_stall = (((0U - == (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__state_stall)) - | (1U - != (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__state_stall))) - & (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__is_clone)); - // ALWAYS at VX_decode.v:287 + vlTOPp->Vortex__DOT__decode_clone_stall = ((((0U + == (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__state_stall)) + | (1U + != (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__state_stall))) + & (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__is_clone)) + | ((((0U + == (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_state_stall)) + | (1U + != (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_state_stall))) + & (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__is_clone)) + | (((0U + == (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__wspawn_state_stall)) + & (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__is_wspawn)) + | (1U + < (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__wspawn_state_stall))))); + // ALWAYS at VX_decode.v:348 if ((0x40U & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) { if ((0x20U & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) { if ((0x10U & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) { @@ -800,7 +1031,7 @@ void VVortex::_settle__TOP__2(VVortex__Syms* __restrict vlSymsp) { } else { vlTOPp->Vortex__DOT__decode_jal_offset = 0xdeadbeefU; } - // ALWAYS at VX_decode.v:346 + // ALWAYS at VX_decode.v:415 if ((0x40U & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) { if ((0x20U & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) { if ((0x10U & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) { @@ -859,10 +1090,8 @@ void VVortex::_settle__TOP__2(VVortex__Syms* __restrict vlSymsp) { } else { vlTOPp->Vortex__DOT__decode_branch_type = 0U; } - vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_zero_change_mask - = (((IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__is_jalrs) - | (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__is_jmprt)) - & (0U == (IData)(vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__warp_num))); + vlTOPp->Vortex__DOT__decode_change_mask = ((IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__is_jalrs) + | (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__is_jmprt)); vlTOPp->Vortex__DOT__e_m_b_reg_data[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_b_reg_data [1U]; vlTOPp->Vortex__DOT__e_m_b_reg_data[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_b_reg_data @@ -913,106 +1142,298 @@ void VVortex::_settle__TOP__2(VVortex__Syms* __restrict vlSymsp) { = vlTOPp->Vortex__DOT__m_w_valid[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_wb_valid[0U] = vlTOPp->Vortex__DOT__m_w_valid[0U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x1fU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x1fU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters [0x1fU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x1eU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x1eU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters [0x1eU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x1dU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x1dU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters [0x1dU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x1cU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x1cU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters [0x1cU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x1bU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x1bU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters [0x1bU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x1aU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x1aU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters [0x1aU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x19U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x19U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters [0x19U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x18U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x18U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters [0x18U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x17U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x17U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters [0x17U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x16U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x16U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters [0x16U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x15U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x15U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters [0x15U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x14U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x14U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters [0x14U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x13U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x13U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters [0x13U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x12U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x12U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters [0x12U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x11U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x11U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters [0x11U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x10U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x10U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters [0x10U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0xfU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0xfU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters [0xfU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0xeU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0xeU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters [0xeU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0xdU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0xdU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters [0xdU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0xcU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0xcU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters [0xcU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0xbU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0xbU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters [0xbU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0xaU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0xaU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters [0xaU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[9U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[9U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters [9U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[8U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[8U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters [8U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[7U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[7U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters [7U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[6U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[6U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters [6U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[5U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[5U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters [5U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[4U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[4U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters [4U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[3U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[3U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters [3U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[2U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[2U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters [2U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[1U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[1U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters [1U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters [0U]; vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_valid[1U] = vlTOPp->Vortex__DOT__f_d_valid[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_valid[0U] = vlTOPp->Vortex__DOT__f_d_valid[0U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x1fU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x1fU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x1eU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x1eU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x1dU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x1dU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x1cU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x1cU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x1bU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x1bU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x1aU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x1aU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x19U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x19U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x18U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x18U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x17U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x17U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x16U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x16U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x15U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x15U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x14U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x14U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x13U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x13U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x12U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x12U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x11U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x11U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x10U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x10U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0xfU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0xfU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0xeU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0xeU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0xdU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0xdU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0xcU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0xcU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0xbU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0xbU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0xaU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0xaU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[9U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [9U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[8U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [8U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[7U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [7U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[6U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [6U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[5U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [5U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[4U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [4U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[3U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [3U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[2U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [2U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[1U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [1U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0x1fU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x1fU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0x1eU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x1eU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0x1dU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x1dU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0x1cU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x1cU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0x1bU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x1bU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0x1aU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x1aU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0x19U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x19U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0x18U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x18U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0x17U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x17U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0x16U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x16U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0x15U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x15U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0x14U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x14U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0x13U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x13U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0x12U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x12U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0x11U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x11U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0x10U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x10U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0xfU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0xfU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0xeU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0xeU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0xdU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0xdU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0xcU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0xcU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0xbU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0xbU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0xaU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0xaU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[9U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [9U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[8U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [8U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[7U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [7U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[6U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [6U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[5U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [5U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[4U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [4U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[3U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [3U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[2U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [2U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[1U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [1U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0U]; vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_alu_result[1U] = vlTOPp->Vortex__DOT__m_w_alu_result[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_alu_result[0U] @@ -1110,6 +1531,12 @@ void VVortex::_settle__TOP__2(VVortex__Syms* __restrict vlSymsp) { >> 0x19U))) ? 0U : 1U)))))))))); + vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_zero_change_mask + = ((IData)(vlTOPp->Vortex__DOT__decode_change_mask) + & (0U == (IData)(vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__warp_num))); + vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_one_change_mask + = ((IData)(vlTOPp->Vortex__DOT__decode_change_mask) + & (1U == (IData)(vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__warp_num))); vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_rd2[1U] = vlTOPp->Vortex__DOT__e_m_b_reg_data[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_rd2[0U] @@ -1170,10 +1597,16 @@ void VVortex::_settle__TOP__2(VVortex__Syms* __restrict vlSymsp) { = vlTOPp->Vortex__DOT__memory_mem_result[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_mem_data[0U] = vlTOPp->Vortex__DOT__memory_mem_result[0U]; - vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context__in_valid[1U] + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_zero__in_valid[1U] = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_wb_valid [1U]; - vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context__in_valid[0U] + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_zero__in_valid[0U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_wb_valid + [0U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_valid[1U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_wb_valid + [1U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_valid[0U] = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_wb_valid [0U]; vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_valid[1U] @@ -1182,7 +1615,7 @@ void VVortex::_settle__TOP__2(VVortex__Syms* __restrict vlSymsp) { vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_valid[0U] = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_valid [0U]; - // ALWAYS at VX_decode.v:287 + // ALWAYS at VX_decode.v:348 if ((0x40U & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) { if ((0x20U & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) { if ((0x10U & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) { @@ -1196,16 +1629,7 @@ void VVortex::_settle__TOP__2(VVortex__Syms* __restrict vlSymsp) { & ((vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction >> 1U) & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction - & (((0U - == - (7U - & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction - >> 0xcU))) - & (2U - > - (0xfffU - & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction - >> 0x14U)))) + & ((IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__jal_sys_jal) & vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_valid [0U]))))); } else { @@ -1247,7 +1671,12 @@ void VVortex::_settle__TOP__2(VVortex__Syms* __restrict vlSymsp) { } else { vlTOPp->Vortex__DOT__decode_jal = 0U; } - // ALWAYS at VX_decode.v:346 + vlTOPp->Vortex__DOT__vx_decode__DOT__is_ebreak + = ((0x73U == (0x7fU & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) + & ((IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__jal_sys_jal) + & vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_valid + [0U])); + // ALWAYS at VX_decode.v:415 if ((0x40U & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) { if ((0x20U & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) { if ((0x10U & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) { @@ -1295,6 +1724,102 @@ void VVortex::_settle__TOP__2(VVortex__Syms* __restrict vlSymsp) { } else { vlTOPp->Vortex__DOT__decode_branch_stall = 0U; } + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0x1fU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0x1fU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0x1eU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0x1eU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0x1dU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0x1dU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0x1cU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0x1cU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0x1bU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0x1bU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0x1aU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0x1aU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0x19U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0x19U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0x18U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0x18U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0x17U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0x17U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0x16U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0x16U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0x15U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0x15U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0x14U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0x14U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0x13U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0x13U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0x12U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0x12U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0x11U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0x11U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0x10U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0x10U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0xfU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0xfU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0xeU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0xeU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0xdU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0xdU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0xcU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0xcU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0xbU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0xbU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0xaU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0xaU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[9U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [9U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[8U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [8U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[7U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [7U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[6U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [6U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[5U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [5U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[4U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [4U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[3U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [3U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[2U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [2U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[1U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [1U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0U]; vlTOPp->Vortex__DOT____Vcellout__vx_writeback__out_write_data[1U] = ((3U == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)) ? vlTOPp->Vortex__DOT__vx_writeback__DOT__out_pc_data @@ -1327,45 +1852,58 @@ void VVortex::_settle__TOP__2(VVortex__Syms* __restrict vlSymsp) { vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_valid[0U] = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_valid [0U]; - // ALWAYS at VX_warp.v:49 - vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp__DOT__temp_PC - = (((IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__jal) - & (0U == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__warp_num))) - ? vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__jal_dest - : ((((4U & (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__branch_type)) - ? ((2U & (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__branch_type)) - ? ((~ (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__branch_type)) - & (~ (vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result - [0U] >> 0x1fU))) : ( - (1U - & (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__branch_type)) - ? - (vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result - [0U] - >> 0x1fU) - : - (~ - (vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result - [0U] - >> 0x1fU)))) - : ((2U & (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__branch_type)) - ? ((1U & (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__branch_type)) - ? (vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result - [0U] >> 0x1fU) : (0U != - vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result - [0U])) - : ((IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__branch_type) - & (0U == vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result - [0U])))) & (0U == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__warp_num))) - ? (vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__curr_PC - + (vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__branch_offset - << 1U)) : vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp__DOT__real_PC)); vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_address[1U] = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result [1U]; vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_address[0U] = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result [0U]; + // ALWAYS at VX_memory.v:113 + vlTOPp->Vortex__DOT__memory_branch_dir = (1U & + ((4U + & (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__branch_type)) + ? ( + (2U + & (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__branch_type)) + ? + ((~ (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__branch_type)) + & (~ + (vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result + [0U] + >> 0x1fU))) + : + ((1U + & (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__branch_type)) + ? + (vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result + [0U] + >> 0x1fU) + : + (~ + (vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result + [0U] + >> 0x1fU)))) + : ( + (2U + & (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__branch_type)) + ? + ((1U + & (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__branch_type)) + ? + (vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result + [0U] + >> 0x1fU) + : + (0U + != + vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result + [0U])) + : + ((IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__branch_type) + & (0U + == + vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result + [0U]))))); vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_alu_result[1U] = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result [1U]; @@ -1408,10 +1946,116 @@ void VVortex::_settle__TOP__2(VVortex__Syms* __restrict vlSymsp) { [1U]; vlTOPp->Vortex__DOT__decode_valid[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_valid [0U]; + vlTOPp->out_ebreak = ((0U == (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_state)) + & (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__is_ebreak)); + vlTOPp->Vortex__DOT__vx_fetch__DOT__add_warp = + (((IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__is_wspawn) + & (~ (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__is_ebreak))) + & (~ (IData)(vlTOPp->Vortex__DOT__decode_clone_stall))); + vlTOPp->Vortex__DOT__vx_fetch__DOT__remove_warp + = (((IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__is_ebreak) + & (~ (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__is_wspawn))) + & (~ (IData)(vlTOPp->Vortex__DOT__decode_clone_stall))); vlTOPp->Vortex__DOT__vx_fetch__DOT__stall = ((((IData)(vlTOPp->Vortex__DOT__decode_clone_stall) | (IData)(vlTOPp->Vortex__DOT__decode_branch_stall)) | (IData)(vlTOPp->Vortex__DOT__forwarding_fwd_stall)) | (IData)(vlTOPp->Vortex__DOT__execute_branch_stall)); + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0x1fU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0x1fU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0x1eU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0x1eU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0x1dU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0x1dU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0x1cU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0x1cU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0x1bU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0x1bU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0x1aU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0x1aU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0x19U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0x19U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0x18U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0x18U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0x17U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0x17U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0x16U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0x16U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0x15U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0x15U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0x14U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0x14U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0x13U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0x13U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0x12U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0x12U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0x11U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0x11U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0x10U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0x10U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0xfU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0xfU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0xeU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0xeU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0xdU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0xdU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0xcU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0xcU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0xbU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0xbU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0xaU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0xaU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[9U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [9U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[8U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [8U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[7U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [7U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[6U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [6U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[5U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [5U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[4U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [4U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[3U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [3U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[2U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [2U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[1U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [1U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0U]; vlTOPp->Vortex__DOT__writeback_write_data[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_writeback__out_write_data [1U]; @@ -1430,11 +2074,28 @@ void VVortex::_settle__TOP__2(VVortex__Syms* __restrict vlSymsp) { [1U]; vlTOPp->Vortex__DOT__memory_valid[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_valid [0U]; - vlTOPp->curr_PC = vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp__DOT__temp_PC; vlTOPp->out_cache_driver_in_address[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_address [1U]; vlTOPp->out_cache_driver_in_address[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_address [0U]; + // ALWAYS at VX_warp.v:50 + vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp_zero__DOT__temp_PC + = (((IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__jal) + & (0U == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__warp_num))) + ? vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__jal_dest + : (((IData)(vlTOPp->Vortex__DOT__memory_branch_dir) + & (0U == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__warp_num))) + ? vlTOPp->Vortex__DOT__memory_branch_dest + : vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp_zero__DOT__real_PC)); + // ALWAYS at VX_warp.v:50 + vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp_one__DOT__temp_PC + = (((IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__jal) + & (1U == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__warp_num))) + ? vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__jal_dest + : (((IData)(vlTOPp->Vortex__DOT__memory_branch_dir) + & (1U == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__warp_num))) + ? vlTOPp->Vortex__DOT__memory_branch_dest + : vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp_one__DOT__real_PC)); vlTOPp->Vortex__DOT__memory_alu_result[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_alu_result [1U]; vlTOPp->Vortex__DOT__memory_alu_result[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_alu_result @@ -1461,6 +2122,108 @@ void VVortex::_settle__TOP__2(VVortex__Syms* __restrict vlSymsp) { = vlTOPp->Vortex__DOT__decode_valid[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_valid[0U] = vlTOPp->Vortex__DOT__decode_valid[0U]; + vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_zero_stall + = ((IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__stall) + | (1U == (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_num))); + vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_one_stall + = ((IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__stall) + | (0U == (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_num))); + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0x1fU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0x1fU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0x1eU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0x1eU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0x1dU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0x1dU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0x1cU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0x1cU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0x1bU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0x1bU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0x1aU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0x1aU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0x19U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0x19U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0x18U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0x18U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0x17U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0x17U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0x16U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0x16U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0x15U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0x15U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0x14U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0x14U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0x13U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0x13U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0x12U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0x12U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0x11U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0x11U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0x10U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0x10U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0xfU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0xfU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0xeU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0xeU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0xdU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0xdU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0xcU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0xcU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0xbU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0xbU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0xaU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0xaU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[9U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [9U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[8U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [8U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[7U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [7U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[6U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [6U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[5U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [5U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[4U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [4U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[3U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [3U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[2U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [2U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[1U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [1U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0U]; vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_write_data[1U] = vlTOPp->Vortex__DOT__writeback_write_data [1U]; @@ -1471,6 +2234,10 @@ void VVortex::_settle__TOP__2(VVortex__Syms* __restrict vlSymsp) { = vlTOPp->Vortex__DOT__memory_valid[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_valid[0U] = vlTOPp->Vortex__DOT__memory_valid[0U]; + vlTOPp->Vortex__DOT__vx_fetch__DOT__out_PC = ((0U + == (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_num)) + ? vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp_zero__DOT__temp_PC + : vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp_one__DOT__temp_PC); vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_alu_result[1U] = vlTOPp->Vortex__DOT__memory_alu_result[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_alu_result[0U] @@ -1741,12 +2508,19 @@ void VVortex::_settle__TOP__2(VVortex__Syms* __restrict vlSymsp) { (vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_a_reg_data [1U] + vlTOPp->Vortex__DOT__vx_execute__DOT__genblk1__BRA__1__KET____DOT__vx_alu__DOT__ALU_in2)))))); - vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context__in_write_data[1U] + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_zero__in_write_data[1U] = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_write_data [1U]; - vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context__in_write_data[0U] + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_zero__in_write_data[0U] = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_write_data [0U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_write_data[1U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_write_data + [1U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_write_data[0U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_write_data + [0U]; + vlTOPp->curr_PC = vlTOPp->Vortex__DOT__vx_fetch__DOT__out_PC; vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_alu_result[0U] = vlTOPp->Vortex__DOT__vx_execute__DOT____Vcellout__genblk1__BRA__0__KET____DOT__vx_alu__out_alu_result; vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_alu_result[1U] @@ -1899,54 +2673,122 @@ void VVortex::_settle__TOP__2(VVortex__Syms* __restrict vlSymsp) { vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src2_fwd_data[0U] = vlTOPp->Vortex__DOT__forwarding_src2_fwd_data [0U]; - vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context__in_src1_fwd_data[1U] + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_zero__in_src1_fwd_data[1U] = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src1_fwd_data [1U]; - vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context__in_src1_fwd_data[0U] + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_zero__in_src1_fwd_data[0U] = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src1_fwd_data [0U]; - vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context__in_src2_fwd_data[1U] + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_src1_fwd_data[1U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src1_fwd_data + [1U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_src1_fwd_data[0U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src1_fwd_data + [0U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_zero__in_src2_fwd_data[1U] = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src2_fwd_data [1U]; - vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context__in_src2_fwd_data[0U] + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_zero__in_src2_fwd_data[0U] = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src2_fwd_data [0U]; - vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context__out_a_reg_data[0U] + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_src2_fwd_data[1U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src2_fwd_data + [1U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_src2_fwd_data[0U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src2_fwd_data + [0U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__out_a_reg_data[0U] = ((0x6fU == (0x7fU & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) ? vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__curr_PC : ((IData)(vlTOPp->Vortex__DOT__forwarding_src1_fwd) - ? vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context__in_src1_fwd_data - [0U] : vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__rd1_register + ? vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_zero__in_src1_fwd_data + [0U] : vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__rd1_register [0U])); - vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context__out_a_reg_data[1U] + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__out_a_reg_data[1U] = ((0x6fU == (0x7fU & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) ? vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__curr_PC : ((IData)(vlTOPp->Vortex__DOT__forwarding_src1_fwd) - ? vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context__in_src1_fwd_data - [1U] : vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__rd1_register + ? vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_zero__in_src1_fwd_data + [1U] : vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__rd1_register [1U])); - vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context__out_b_reg_data[0U] + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_one__out_a_reg_data[0U] + = ((0x6fU == (0x7fU & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) + ? vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__curr_PC + : ((IData)(vlTOPp->Vortex__DOT__forwarding_src1_fwd) + ? vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_src1_fwd_data + [0U] : vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__rd1_register + [0U])); + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_one__out_a_reg_data[1U] + = ((0x6fU == (0x7fU & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) + ? vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__curr_PC + : ((IData)(vlTOPp->Vortex__DOT__forwarding_src1_fwd) + ? vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_src1_fwd_data + [1U] : vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__rd1_register + [1U])); + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__out_b_reg_data[0U] = ((IData)(vlTOPp->Vortex__DOT__forwarding_src2_fwd) - ? vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context__in_src2_fwd_data - [0U] : vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__rd2_register + ? vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_zero__in_src2_fwd_data + [0U] : vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__rd2_register [0U]); - vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context__out_b_reg_data[1U] + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__out_b_reg_data[1U] = ((IData)(vlTOPp->Vortex__DOT__forwarding_src2_fwd) - ? vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context__in_src2_fwd_data - [1U] : vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__rd2_register + ? vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_zero__in_src2_fwd_data + [1U] : vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__rd2_register [1U]); + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_one__out_b_reg_data[0U] + = ((IData)(vlTOPp->Vortex__DOT__forwarding_src2_fwd) + ? vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_src2_fwd_data + [0U] : vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__rd2_register + [0U]); + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_one__out_b_reg_data[1U] + = ((IData)(vlTOPp->Vortex__DOT__forwarding_src2_fwd) + ? vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_src2_fwd_data + [1U] : vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__rd2_register + [1U]); + vlTOPp->Vortex__DOT__vx_decode__DOT__zero_a_reg_data[1U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__out_a_reg_data + [1U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__zero_a_reg_data[0U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__out_a_reg_data + [0U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__one_a_reg_data[1U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_one__out_a_reg_data + [1U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__one_a_reg_data[0U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_one__out_a_reg_data + [0U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__zero_b_reg_data[1U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__out_b_reg_data + [1U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__zero_b_reg_data[0U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__out_b_reg_data + [0U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__one_b_reg_data[1U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_one__out_b_reg_data + [1U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__one_b_reg_data[0U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_one__out_b_reg_data + [0U]; vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_a_reg_data[1U] - = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context__out_a_reg_data - [1U]; + = ((0U == (IData)(vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__warp_num)) + ? vlTOPp->Vortex__DOT__vx_decode__DOT__zero_a_reg_data + [1U] : vlTOPp->Vortex__DOT__vx_decode__DOT__one_a_reg_data + [1U]); vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_a_reg_data[0U] - = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context__out_a_reg_data - [0U]; + = ((0U == (IData)(vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__warp_num)) + ? vlTOPp->Vortex__DOT__vx_decode__DOT__zero_a_reg_data + [0U] : vlTOPp->Vortex__DOT__vx_decode__DOT__one_a_reg_data + [0U]); vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_b_reg_data[1U] - = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context__out_b_reg_data - [1U]; + = ((0U == (IData)(vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__warp_num)) + ? vlTOPp->Vortex__DOT__vx_decode__DOT__zero_b_reg_data + [1U] : vlTOPp->Vortex__DOT__vx_decode__DOT__one_b_reg_data + [1U]); vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_b_reg_data[0U] - = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context__out_b_reg_data - [0U]; + = ((0U == (IData)(vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__warp_num)) + ? vlTOPp->Vortex__DOT__vx_decode__DOT__zero_b_reg_data + [0U] : vlTOPp->Vortex__DOT__vx_decode__DOT__one_b_reg_data + [0U]); vlTOPp->Vortex__DOT__decode_a_reg_data[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_a_reg_data [1U]; vlTOPp->Vortex__DOT__decode_a_reg_data[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_a_reg_data @@ -1987,45 +2829,82 @@ void VVortex::_settle__TOP__2(VVortex__Syms* __restrict vlSymsp) { = vlTOPp->Vortex__DOT__decode_thread_mask[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_fetch__in_thread_mask[0U] = vlTOPp->Vortex__DOT__decode_thread_mask[0U]; - vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp__in_thread_mask[1U] + vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp_zero__in_thread_mask[1U] = vlTOPp->Vortex__DOT____Vcellinp__vx_fetch__in_thread_mask [1U]; - vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp__in_thread_mask[0U] + vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp_zero__in_thread_mask[0U] = vlTOPp->Vortex__DOT____Vcellinp__vx_fetch__in_thread_mask [0U]; - // ALWAYS at VX_warp.v:35 + vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp_one__in_thread_mask[1U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_fetch__in_thread_mask + [1U]; + vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp_one__in_thread_mask[0U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_fetch__in_thread_mask + [0U]; + // ALWAYS at VX_warp.v:36 if (vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_zero_change_mask) { - vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp__DOT__valid[1U] - = vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp__in_thread_mask + vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp_zero__DOT__valid[1U] + = vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp_zero__in_thread_mask [1U]; - vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp__DOT__valid[0U] - = vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp__in_thread_mask + vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp_zero__DOT__valid[0U] + = vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp_zero__in_thread_mask [0U]; } - vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellout__VX_Warp__out_valid[0U] + // ALWAYS at VX_warp.v:36 + if (vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_one_change_mask) { + vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp_one__DOT__valid[1U] + = vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp_one__in_thread_mask + [1U]; + vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp_one__DOT__valid[0U] + = vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp_one__in_thread_mask + [0U]; + } + vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellout__VX_Warp_zero__out_valid[0U] = ((IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_zero_change_mask) - ? vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp__in_thread_mask - [0U] : ((~ (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__stall)) - & vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp__DOT__valid + ? vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp_zero__in_thread_mask + [0U] : ((~ (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_zero_stall)) + & vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp_zero__DOT__valid [0U])); - vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellout__VX_Warp__out_valid[1U] + vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellout__VX_Warp_zero__out_valid[1U] = ((IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_zero_change_mask) - ? vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp__in_thread_mask - [1U] : ((~ (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__stall)) - & vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp__DOT__valid + ? vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp_zero__in_thread_mask + [1U] : ((~ (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_zero_stall)) + & vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp_zero__DOT__valid [1U])); - vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_valid[1U] - = vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellout__VX_Warp__out_valid + vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellout__VX_Warp_one__out_valid[0U] + = ((IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_one_change_mask) + ? vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp_one__in_thread_mask + [0U] : ((~ (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_one_stall)) + & vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp_one__DOT__valid + [0U])); + vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellout__VX_Warp_one__out_valid[1U] + = ((IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_one_change_mask) + ? vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp_one__in_thread_mask + [1U] : ((~ (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_one_stall)) + & vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp_one__DOT__valid + [1U])); + vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_zero_valid[1U] + = vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellout__VX_Warp_zero__out_valid [1U]; - vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_valid[0U] - = vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellout__VX_Warp__out_valid + vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_zero_valid[0U] + = vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellout__VX_Warp_zero__out_valid + [0U]; + vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_one_valid[1U] + = vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellout__VX_Warp_one__out_valid + [1U]; + vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_one_valid[0U] + = vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellout__VX_Warp_one__out_valid [0U]; vlTOPp->Vortex__DOT____Vcellout__vx_fetch__out_valid[1U] - = vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_valid - [1U]; + = ((0U == (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_num)) + ? vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_zero_valid + [1U] : vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_one_valid + [1U]); vlTOPp->Vortex__DOT____Vcellout__vx_fetch__out_valid[0U] - = vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_valid - [0U]; + = ((0U == (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_num)) + ? vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_zero_valid + [0U] : vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_one_valid + [0U]); vlTOPp->Vortex__DOT__fetch_valid[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_fetch__out_valid [1U]; vlTOPp->Vortex__DOT__fetch_valid[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_fetch__out_valid @@ -2041,89 +2920,20 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__3(VVortex__Syms* __restrict vlSymsp) VVortex* __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; // Variables // Begin mtask footprint all: - VL_SIG8(__Vdlyvset__Vortex__DOT__vx_f_d_reg__DOT__valid__v0,0,0); - VL_SIG8(__Vdlyvval__Vortex__DOT__vx_f_d_reg__DOT__valid__v2,0,0); - VL_SIG8(__Vdlyvset__Vortex__DOT__vx_f_d_reg__DOT__valid__v2,0,0); - VL_SIG8(__Vdlyvval__Vortex__DOT__vx_f_d_reg__DOT__valid__v3,0,0); - // Body - vlTOPp->__Vdly__Vortex__DOT__vx_fetch__DOT__warp_num - = vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_num; - __Vdlyvset__Vortex__DOT__vx_f_d_reg__DOT__valid__v0 = 0U; - __Vdlyvset__Vortex__DOT__vx_f_d_reg__DOT__valid__v2 = 0U; - // ALWAYS at VX_fetch.v:42 - vlTOPp->__Vdly__Vortex__DOT__vx_fetch__DOT__warp_num - = (3U & (((IData)(vlTOPp->reset) | ((IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_num) - == (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_state))) - ? 0U : ((IData)(1U) + (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_num)))); - // ALWAYS at VX_warp.v:62 - vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp__DOT__real_PC - = ((IData)(vlTOPp->reset) ? 0U : ((IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__stall) - ? vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp__DOT__temp_PC - : ((IData)(4U) - + vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp__DOT__temp_PC))); - // ALWAYS at VX_f_d_reg.v:36 - if (vlTOPp->reset) { - __Vdlyvset__Vortex__DOT__vx_f_d_reg__DOT__valid__v0 = 1U; - } else { - if ((1U & (~ ((IData)(vlTOPp->Vortex__DOT__forwarding_fwd_stall) - | (IData)(vlTOPp->Vortex__DOT__decode_clone_stall))))) { - __Vdlyvval__Vortex__DOT__vx_f_d_reg__DOT__valid__v2 - = vlTOPp->Vortex__DOT____Vcellinp__vx_f_d_reg__in_valid - [1U]; - __Vdlyvset__Vortex__DOT__vx_f_d_reg__DOT__valid__v2 = 1U; - __Vdlyvval__Vortex__DOT__vx_f_d_reg__DOT__valid__v3 - = vlTOPp->Vortex__DOT____Vcellinp__vx_f_d_reg__in_valid - [0U]; - } - } - // ALWAYSPOST at VX_f_d_reg.v:42 - if (__Vdlyvset__Vortex__DOT__vx_f_d_reg__DOT__valid__v0) { - vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__valid[0U] = 0U; - vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__valid[1U] = 0U; - } - if (__Vdlyvset__Vortex__DOT__vx_f_d_reg__DOT__valid__v2) { - vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__valid[1U] - = __Vdlyvval__Vortex__DOT__vx_f_d_reg__DOT__valid__v2; - vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__valid[0U] - = __Vdlyvval__Vortex__DOT__vx_f_d_reg__DOT__valid__v3; - } - vlTOPp->Vortex__DOT____Vcellout__vx_f_d_reg__out_valid[1U] - = vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__valid - [1U]; - vlTOPp->Vortex__DOT____Vcellout__vx_f_d_reg__out_valid[0U] - = vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__valid - [0U]; - vlTOPp->Vortex__DOT__f_d_valid[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_f_d_reg__out_valid - [1U]; - vlTOPp->Vortex__DOT__f_d_valid[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_f_d_reg__out_valid - [0U]; - vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_valid[1U] - = vlTOPp->Vortex__DOT__f_d_valid[1U]; - vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_valid[0U] - = vlTOPp->Vortex__DOT__f_d_valid[0U]; - vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_valid[1U] - = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_valid - [1U]; - vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_valid[0U] - = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_valid - [0U]; - vlTOPp->Vortex__DOT__decode_valid[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_valid - [1U]; - vlTOPp->Vortex__DOT__decode_valid[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_valid - [0U]; -} - -VL_INLINE_OPT void VVortex::_sequent__TOP__4(VVortex__Syms* __restrict vlSymsp) { - VL_DEBUG_IF(VL_DBG_MSGF("+ VVortex::_sequent__TOP__4\n"); ); - VVortex* __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; - // Variables - // Begin mtask footprint all: - VL_SIG8(__Vdly__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__state_stall,5,0); - VL_SIG8(__Vdlyvdim0__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers__v0,4,0); - VL_SIG8(__Vdlyvset__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers__v0,0,0); - VL_SIG8(__Vdlyvdim0__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v0,4,0); - VL_SIG8(__Vdlyvset__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v0,0,0); - VL_SIG8(__Vdlyvset__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v1,0,0); + VL_SIG8(__Vdly__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__state_stall,5,0); + VL_SIG8(__Vdlyvdim0__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers__v0,4,0); + VL_SIG8(__Vdlyvset__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers__v0,0,0); + VL_SIG8(__Vdlyvdim0__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v0,4,0); + VL_SIG8(__Vdlyvset__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v0,0,0); + VL_SIG8(__Vdlyvset__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v1,0,0); + VL_SIG8(__Vdly__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_state_stall,5,0); + VL_SIG8(__Vdly__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__wspawn_state_stall,5,0); + VL_SIG8(__Vdlyvdim0__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v0,4,0); + VL_SIG8(__Vdlyvset__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v0,0,0); + VL_SIG8(__Vdlyvset__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v1,0,0); + VL_SIG8(__Vdlyvdim0__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v0,4,0); + VL_SIG8(__Vdlyvset__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v0,0,0); + VL_SIG8(__Vdlyvset__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v1,0,0); VL_SIG8(__Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__valid__v0,0,0); VL_SIG8(__Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__valid__v1,0,0); VL_SIG8(__Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__valid__v0,0,0); @@ -2133,40 +2943,106 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__4(VVortex__Syms* __restrict vlSymsp) VL_SIG8(__Vdlyvset__Vortex__DOT__vx_csr_handler__DOT__csr__v0,0,0); VL_SIG16(__Vdlyvdim0__Vortex__DOT__vx_csr_handler__DOT__csr__v0,11,0); VL_SIG16(__Vdlyvval__Vortex__DOT__vx_csr_handler__DOT__csr__v0,11,0); - VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers__v0,31,0); - VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v0,31,0); - VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v1,31,0); - VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v2,31,0); - VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v3,31,0); - VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v4,31,0); - VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v5,31,0); - VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v6,31,0); - VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v7,31,0); - VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v8,31,0); - VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v9,31,0); - VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v10,31,0); - VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v11,31,0); - VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v12,31,0); - VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v13,31,0); - VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v14,31,0); - VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v15,31,0); - VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v16,31,0); - VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v17,31,0); - VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v18,31,0); - VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v19,31,0); - VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v20,31,0); - VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v21,31,0); - VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v22,31,0); - VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v23,31,0); - VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v24,31,0); - VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v25,31,0); - VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v26,31,0); - VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v27,31,0); - VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v28,31,0); - VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v29,31,0); - VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v30,31,0); - VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v31,31,0); - VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v32,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers__v0,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v0,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v1,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v2,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v3,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v4,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v5,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v6,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v7,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v8,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v9,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v10,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v11,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v12,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v13,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v14,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v15,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v16,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v17,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v18,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v19,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v20,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v21,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v22,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v23,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v24,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v25,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v26,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v27,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v28,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v29,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v30,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v31,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v32,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v0,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v1,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v2,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v3,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v4,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v5,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v6,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v7,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v8,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v9,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v10,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v11,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v12,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v13,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v14,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v15,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v16,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v17,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v18,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v19,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v20,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v21,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v22,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v23,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v24,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v25,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v26,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v27,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v28,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v29,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v30,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v31,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v32,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v0,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v1,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v2,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v3,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v4,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v5,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v6,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v7,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v8,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v9,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v10,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v11,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v12,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v13,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v14,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v15,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v16,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v17,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v18,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v19,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v20,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v21,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v22,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v23,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v24,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v25,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v26,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v27,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v28,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v29,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v30,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v31,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v32,31,0); VL_SIG(__Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__a_reg_data__v0,31,0); VL_SIG(__Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__a_reg_data__v1,31,0); VL_SIG(__Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__b_reg_data__v0,31,0); @@ -2180,12 +3056,20 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__4(VVortex__Syms* __restrict vlSymsp) VL_SIG(__Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__alu_result__v0,31,0); VL_SIG(__Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__alu_result__v1,31,0); // Body - __Vdly__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__state_stall - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__state_stall; - __Vdlyvset__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers__v0 = 0U; + __Vdly__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__state_stall + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__state_stall; + __Vdly__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_state_stall + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_state_stall; + __Vdly__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__wspawn_state_stall + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__wspawn_state_stall; + __Vdlyvset__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers__v0 = 0U; __Vdlyvset__Vortex__DOT__vx_csr_handler__DOT__csr__v0 = 0U; - __Vdlyvset__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v0 = 0U; - __Vdlyvset__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v1 = 0U; + __Vdlyvset__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v0 = 0U; + __Vdlyvset__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v1 = 0U; + __Vdlyvset__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v0 = 0U; + __Vdlyvset__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v1 = 0U; + __Vdlyvset__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v0 = 0U; + __Vdlyvset__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v1 = 0U; // ALWAYS at VX_m_w_reg.v:63 __Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__valid__v0 = vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_valid @@ -2207,17 +3091,47 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__4(VVortex__Syms* __restrict vlSymsp) __Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__valid__v1 = vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_valid [0U]; - // ALWAYS at VX_context.v:72 + // ALWAYS at VX_context.v:81 if (((IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__is_clone) - & (0U == (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__state_stall)))) { - __Vdly__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__state_stall = 0xaU; + & (0U == (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__state_stall)))) { + __Vdly__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__state_stall = 0xaU; } else { - if ((1U == (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__state_stall))) { - __Vdly__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__state_stall = 0U; + if ((1U == (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__state_stall))) { + __Vdly__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__state_stall = 0U; } else { - if ((0U < (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__state_stall))) { - __Vdly__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__state_stall - = (0x3fU & ((IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__state_stall) + if ((0U < (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__state_stall))) { + __Vdly__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__state_stall + = (0x3fU & ((IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__state_stall) + - (IData)(1U))); + } + } + } + // ALWAYS at VX_context_slave.v:102 + if (((IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__is_clone) + & (0U == (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_state_stall)))) { + __Vdly__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_state_stall = 0xaU; + } else { + if ((1U == (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_state_stall))) { + __Vdly__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_state_stall = 0U; + } else { + if ((0U < (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_state_stall))) { + __Vdly__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_state_stall + = (0x3fU & ((IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_state_stall) + - (IData)(1U))); + } + } + } + // ALWAYS at VX_context_slave.v:117 + if (((IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__is_wspawn) + & (0U == (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__wspawn_state_stall)))) { + __Vdly__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__wspawn_state_stall = 0xaU; + } else { + if ((1U == (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__wspawn_state_stall))) { + __Vdly__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__wspawn_state_stall = 0U; + } else { + if ((0U < (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__wspawn_state_stall))) { + __Vdly__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__wspawn_state_stall + = (0x3fU & ((IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__wspawn_state_stall) - (IData)(1U))); } } @@ -2273,11 +3187,6 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__4(VVortex__Syms* __restrict vlSymsp) __Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__alu_result__v1 = vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_alu_result [0U]; - // ALWAYS at VX_e_m_reg.v:128 - vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__jal = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__jal; - // ALWAYS at VX_e_m_reg.v:128 - vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__branch_type - = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__branch_type; // ALWAYS at VX_d_e_reg.v:145 __Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__valid__v0 = ((IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__stalling) @@ -2290,6 +3199,11 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__4(VVortex__Syms* __restrict vlSymsp) [0U] : vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_valid [0U]); // ALWAYS at VX_e_m_reg.v:128 + vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__jal = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__jal; + // ALWAYS at VX_e_m_reg.v:128 + vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__branch_type + = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__branch_type; + // ALWAYS at VX_e_m_reg.v:128 vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__mem_read = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__mem_read; // ALWAYS at VX_e_m_reg.v:128 @@ -2317,16 +3231,16 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__4(VVortex__Syms* __restrict vlSymsp) ? vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__reg_data_z [0U] : vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_a_reg_data [0U]); - // ALWAYS at VX_register_file.v:40 + // ALWAYS at VX_register_file.v:45 if (((((0U != (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)) & (0U != (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__rd))) - & vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context__in_valid + & vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_zero__in_valid [0U]) & (0U == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__warp_num)))) { - __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers__v0 - = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context__in_write_data + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers__v0 + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_zero__in_write_data [0U]; - __Vdlyvset__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers__v0 = 1U; - __Vdlyvdim0__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers__v0 + __Vdlyvset__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers__v0 = 1U; + __Vdlyvdim0__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers__v0 = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__rd; } // ALWAYS at VX_csr_handler.v:43 @@ -2348,118 +3262,349 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__4(VVortex__Syms* __restrict vlSymsp) ? vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__reg_data_z [0U] : vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_b_reg_data [0U]); - // ALWAYS at VX_register_file_slave.v:45 + // ALWAYS at VX_register_file_master_slave.v:50 if ((((((0U != (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)) & (0U != (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__rd))) - & vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context__in_valid - [1U]) & (~ (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__is_clone))) - & (0U == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__warp_num)))) { - __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v0 - = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context__in_write_data - [1U]; - __Vdlyvset__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v0 = 1U; - __Vdlyvdim0__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v0 + & vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_valid + [0U]) & (1U == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__warp_num))) + & (~ (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__is_wspawn)))) { + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v0 + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_write_data + [0U]; + __Vdlyvset__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v0 = 1U; + __Vdlyvdim0__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v0 = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__rd; } else { - if (((IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__is_clone) - & ((1U == vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__rd1_register - [0U]) & (1U == (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__state_stall))))) { - __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v1 - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + if (((IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__is_wspawn) + & (2U == (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__wspawn_state_stall)))) { + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v1 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs [0x1fU]; - __Vdlyvset__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v1 = 1U; - __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v2 - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + __Vdlyvset__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v1 = 1U; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v2 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs [0x1eU]; - __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v3 - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v3 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs [0x1dU]; - __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v4 - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v4 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs [0x1cU]; - __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v5 - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v5 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs [0x1bU]; - __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v6 - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v6 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs [0x1aU]; - __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v7 - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v7 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs [0x19U]; - __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v8 - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v8 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs [0x18U]; - __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v9 - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v9 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs [0x17U]; - __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v10 - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v10 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs [0x16U]; - __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v11 - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v11 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs [0x15U]; - __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v12 - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v12 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs [0x14U]; - __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v13 - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v13 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs [0x13U]; - __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v14 - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v14 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs [0x12U]; - __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v15 - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v15 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs [0x11U]; - __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v16 - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v16 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs [0x10U]; - __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v17 - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v17 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs [0xfU]; - __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v18 - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v18 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs [0xeU]; - __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v19 - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v19 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs [0xdU]; - __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v20 - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v20 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs [0xcU]; - __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v21 - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v21 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs [0xbU]; - __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v22 - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v22 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs [0xaU]; - __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v23 - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v23 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs [9U]; - __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v24 - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v24 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs [8U]; - __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v25 - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v25 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs [7U]; - __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v26 - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v26 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs [6U]; - __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v27 - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v27 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs [5U]; - __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v28 - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v28 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs [4U]; - __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v29 - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v29 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs [3U]; - __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v30 - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v30 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs [2U]; - __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v31 - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v31 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs [1U]; - __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v32 - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v32 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs + [0U]; + } + } + // ALWAYS at VX_register_file_slave.v:53 + if ((((((0U != (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)) + & (0U != (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__rd))) + & vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_zero__in_valid + [1U]) & (0U == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__warp_num))) + & (~ (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__is_clone)))) { + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v0 + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_zero__in_write_data + [1U]; + __Vdlyvset__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v0 = 1U; + __Vdlyvdim0__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v0 + = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__rd; + } else { + if ((((IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__is_clone) + & ((1U == vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__rd1_register + [0U]) & (1U == (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__state_stall)))) + & (0U == (IData)(vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__warp_num)))) { + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v1 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0x1fU]; + __Vdlyvset__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v1 = 1U; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v2 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0x1eU]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v3 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0x1dU]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v4 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0x1cU]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v5 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0x1bU]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v6 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0x1aU]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v7 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0x19U]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v8 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0x18U]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v9 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0x17U]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v10 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0x16U]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v11 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0x15U]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v12 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0x14U]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v13 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0x13U]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v14 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0x12U]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v15 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0x11U]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v16 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0x10U]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v17 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0xfU]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v18 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0xeU]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v19 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0xdU]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v20 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0xcU]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v21 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0xbU]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v22 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0xaU]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v23 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [9U]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v24 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [8U]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v25 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [7U]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v26 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [6U]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v27 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [5U]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v28 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [4U]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v29 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [3U]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v30 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [2U]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v31 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [1U]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v32 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0U]; + } + } + // ALWAYS at VX_register_file_slave.v:53 + if ((((((0U != (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)) + & (0U != (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__rd))) + & vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_valid + [1U]) & (1U == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__warp_num))) + & (~ (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__is_clone)))) { + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v0 + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_write_data + [1U]; + __Vdlyvset__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v0 = 1U; + __Vdlyvdim0__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v0 + = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__rd; + } else { + if ((((IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__is_clone) + & ((1U == vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__rd1_register + [0U]) & (1U == (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_state_stall)))) + & (1U == (IData)(vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__warp_num)))) { + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v1 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0x1fU]; + __Vdlyvset__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v1 = 1U; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v2 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0x1eU]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v3 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0x1dU]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v4 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0x1cU]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v5 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0x1bU]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v6 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0x1aU]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v7 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0x19U]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v8 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0x18U]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v9 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0x17U]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v10 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0x16U]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v11 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0x15U]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v12 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0x14U]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v13 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0x13U]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v14 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0x12U]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v15 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0x11U]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v16 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0x10U]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v17 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0xfU]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v18 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0xeU]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v19 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0xdU]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v20 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0xcU]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v21 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0xbU]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v22 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [0xaU]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v23 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [9U]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v24 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [8U]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v25 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [7U]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v26 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [6U]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v27 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [5U]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v28 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [4U]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v29 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [3U]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v30 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [2U]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v31 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs + [1U]; + __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v32 + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs [0U]; } } @@ -2503,10 +3648,10 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__4(VVortex__Syms* __restrict vlSymsp) = __Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__a_reg_data__v0; vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__a_reg_data[0U] = __Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__a_reg_data__v1; - // ALWAYSPOST at VX_register_file.v:43 - if (__Vdlyvset__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers__v0) { - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers[__Vdlyvdim0__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers__v0] - = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers__v0; + // ALWAYSPOST at VX_register_file.v:48 + if (__Vdlyvset__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers__v0) { + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers[__Vdlyvdim0__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers__v0] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers__v0; } // ALWAYSPOST at VX_csr_handler.v:45 if (__Vdlyvset__Vortex__DOT__vx_csr_handler__DOT__csr__v0) { @@ -2518,79 +3663,225 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__4(VVortex__Syms* __restrict vlSymsp) = __Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__b_reg_data__v0; vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__b_reg_data[0U] = __Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__b_reg_data__v1; - // ALWAYSPOST at VX_register_file_slave.v:48 - if (__Vdlyvset__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v0) { - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[__Vdlyvdim0__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v0] - = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v0; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__wspawn_state_stall + = __Vdly__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__wspawn_state_stall; + // ALWAYSPOST at VX_register_file_master_slave.v:53 + if (__Vdlyvset__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v0) { + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers[__Vdlyvdim0__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v0] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v0; } - if (__Vdlyvset__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v1) { - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x1fU] - = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v1; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x1eU] - = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v2; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x1dU] - = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v3; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x1cU] - = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v4; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x1bU] - = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v5; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x1aU] - = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v6; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x19U] - = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v7; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x18U] - = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v8; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x17U] - = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v9; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x16U] - = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v10; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x15U] - = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v11; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x14U] - = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v12; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x13U] - = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v13; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x12U] - = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v14; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x11U] - = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v15; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x10U] - = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v16; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0xfU] - = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v17; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0xeU] - = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v18; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0xdU] - = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v19; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0xcU] - = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v20; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0xbU] - = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v21; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0xaU] - = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v22; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[9U] - = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v23; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[8U] - = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v24; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[7U] - = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v25; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[6U] - = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v26; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[5U] - = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v27; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[4U] - = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v28; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[3U] - = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v29; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[2U] - = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v30; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[1U] - = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v31; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0U] - = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v32; + if (__Vdlyvset__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v1) { + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers[0x1fU] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v1; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers[0x1eU] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v2; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers[0x1dU] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v3; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers[0x1cU] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v4; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers[0x1bU] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v5; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers[0x1aU] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v6; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers[0x19U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v7; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers[0x18U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v8; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers[0x17U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v9; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers[0x16U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v10; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers[0x15U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v11; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers[0x14U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v12; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers[0x13U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v13; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers[0x12U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v14; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers[0x11U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v15; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers[0x10U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v16; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers[0xfU] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v17; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers[0xeU] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v18; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers[0xdU] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v19; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers[0xcU] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v20; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers[0xbU] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v21; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers[0xaU] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v22; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers[9U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v23; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers[8U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v24; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers[7U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v25; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers[6U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v26; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers[5U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v27; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers[4U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v28; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers[3U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v29; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers[2U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v30; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers[1U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v31; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers[0U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers__v32; } - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__state_stall - = __Vdly__Vortex__DOT__vx_decode__DOT__VX_Context__DOT__state_stall; + // ALWAYSPOST at VX_register_file_slave.v:56 + if (__Vdlyvset__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v0) { + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[__Vdlyvdim0__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v0] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v0; + } + if (__Vdlyvset__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v1) { + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x1fU] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v1; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x1eU] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v2; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x1dU] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v3; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x1cU] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v4; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x1bU] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v5; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x1aU] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v6; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x19U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v7; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x18U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v8; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x17U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v9; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x16U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v10; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x15U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v11; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x14U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v12; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x13U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v13; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x12U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v14; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x11U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v15; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x10U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v16; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0xfU] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v17; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0xeU] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v18; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0xdU] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v19; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0xcU] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v20; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0xbU] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v21; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0xaU] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v22; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[9U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v23; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[8U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v24; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[7U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v25; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[6U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v26; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[5U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v27; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[4U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v28; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[3U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v29; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[2U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v30; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[1U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v31; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v32; + } + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__state_stall + = __Vdly__Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__state_stall; + // ALWAYSPOST at VX_register_file_slave.v:56 + if (__Vdlyvset__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v0) { + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[__Vdlyvdim0__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v0] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v0; + } + if (__Vdlyvset__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v1) { + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x1fU] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v1; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x1eU] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v2; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x1dU] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v3; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x1cU] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v4; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x1bU] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v5; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x1aU] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v6; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x19U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v7; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x18U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v8; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x17U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v9; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x16U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v10; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x15U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v11; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x14U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v12; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x13U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v13; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x12U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v14; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x11U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v15; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0x10U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v16; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0xfU] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v17; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0xeU] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v18; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0xdU] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v19; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0xcU] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v20; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0xbU] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v21; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0xaU] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v22; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[9U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v23; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[8U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v24; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[7U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v25; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[6U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v26; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[5U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v27; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[4U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v28; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[3U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v29; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[2U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v30; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[1U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v31; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[0U] + = __Vdlyvval__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers__v32; + } + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_state_stall + = __Vdly__Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_state_stall; vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_valid[1U] = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__valid [1U]; @@ -2627,6 +3918,12 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__4(VVortex__Syms* __restrict vlSymsp) vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_alu_result[0U] = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__alu_result [0U]; + vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_valid[1U] + = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__valid + [1U]; + vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_valid[0U] + = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__valid + [0U]; // ALWAYS at VX_d_e_reg.v:145 vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__jal = ((~ (IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__stalling)) & (IData)(vlTOPp->Vortex__DOT__decode_jal)); @@ -2634,12 +3931,6 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__4(VVortex__Syms* __restrict vlSymsp) vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__branch_type = ((IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__stalling) ? 0U : (IData)(vlTOPp->Vortex__DOT__decode_branch_type)); - vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_valid[1U] - = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__valid - [1U]; - vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_valid[0U] - = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__valid - [0U]; vlTOPp->out_cache_driver_in_mem_read = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__mem_read; // ALWAYS at VX_d_e_reg.v:145 vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__mem_read @@ -2662,6 +3953,9 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__4(VVortex__Syms* __restrict vlSymsp) vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__jal_offset = ((IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__stalling) ? 0U : vlTOPp->Vortex__DOT__decode_jal_offset); + vlTOPp->Vortex__DOT__memory_branch_dest = (vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__curr_PC + + (vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__branch_offset + << 1U)); // ALWAYS at VX_d_e_reg.v:145 vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__itype_immed = ((IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__stalling) @@ -2682,101 +3976,101 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__4(VVortex__Syms* __restrict vlSymsp) vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_a_reg_data[0U] = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__a_reg_data [0U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0x1fU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0x1fU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers [0x1fU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0x1eU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0x1eU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers [0x1eU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0x1dU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0x1dU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers [0x1dU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0x1cU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0x1cU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers [0x1cU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0x1bU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0x1bU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers [0x1bU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0x1aU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0x1aU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers [0x1aU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0x19U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0x19U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers [0x19U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0x18U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0x18U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers [0x18U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0x17U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0x17U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers [0x17U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0x16U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0x16U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers [0x16U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0x15U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0x15U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers [0x15U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0x14U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0x14U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers [0x14U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0x13U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0x13U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers [0x13U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0x12U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0x12U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers [0x12U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0x11U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0x11U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers [0x11U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0x10U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0x10U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers [0x10U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0xfU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0xfU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers [0xfU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0xeU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0xeU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers [0xeU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0xdU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0xdU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers [0xdU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0xcU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0xcU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers [0xcU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0xbU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0xbU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers [0xbU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0xaU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0xaU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers [0xaU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[9U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[9U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers [9U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[8U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[8U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers [8U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[7U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[7U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers [7U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[6U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[6U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers [6U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[5U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[5U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers [5U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[4U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[4U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers [4U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[3U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[3U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers [3U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[2U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[2U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers [2U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[1U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[1U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers [1U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[0U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[0U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers [0U]; // ALWAYS at VX_e_m_reg.v:128 vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__csr_address @@ -2800,12 +4094,108 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__4(VVortex__Syms* __restrict vlSymsp) vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_b_reg_data[0U] = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__b_reg_data [0U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0x1fU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers + [0x1fU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0x1eU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers + [0x1eU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0x1dU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers + [0x1dU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0x1cU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers + [0x1cU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0x1bU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers + [0x1bU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0x1aU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers + [0x1aU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0x19U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers + [0x19U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0x18U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers + [0x18U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0x17U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers + [0x17U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0x16U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers + [0x16U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0x15U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers + [0x15U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0x14U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers + [0x14U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0x13U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers + [0x13U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0x12U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers + [0x12U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0x11U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers + [0x11U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0x10U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers + [0x10U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0xfU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers + [0xfU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0xeU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers + [0xeU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0xdU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers + [0xdU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0xcU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers + [0xcU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0xbU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers + [0xbU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0xaU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers + [0xaU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[9U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers + [9U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[8U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers + [8U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[7U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers + [7U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[6U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers + [6U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[5U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers + [5U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[4U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers + [4U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[3U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers + [3U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[2U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers + [2U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[1U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers + [1U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[0U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers + [0U]; + // ALWAYS at VX_m_w_reg.v:63 + vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__rd = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__rd; // ALWAYS at VX_m_w_reg.v:63 vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__warp_num = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__warp_num; // ALWAYS at VX_m_w_reg.v:63 - vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__rd = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__rd; - // ALWAYS at VX_m_w_reg.v:63 vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__wb; vlTOPp->Vortex__DOT__m_w_valid[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_valid [1U]; @@ -2839,101 +4229,101 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__4(VVortex__Syms* __restrict vlSymsp) [1U]; vlTOPp->Vortex__DOT__d_e_a_reg_data[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_a_reg_data [0U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0x1fU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0x1fU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs [0x1fU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0x1eU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0x1eU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs [0x1eU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0x1dU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0x1dU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs [0x1dU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0x1cU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0x1cU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs [0x1cU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0x1bU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0x1bU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs [0x1bU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0x1aU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0x1aU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs [0x1aU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0x19U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0x19U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs [0x19U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0x18U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0x18U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs [0x18U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0x17U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0x17U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs [0x17U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0x16U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0x16U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs [0x16U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0x15U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0x15U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs [0x15U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0x14U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0x14U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs [0x14U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0x13U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0x13U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs [0x13U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0x12U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0x12U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs [0x12U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0x11U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0x11U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs [0x11U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0x10U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0x10U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs [0x10U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0xfU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0xfU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs [0xfU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0xeU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0xeU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs [0xeU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0xdU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0xdU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs [0xdU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0xcU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0xcU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs [0xcU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0xbU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0xbU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs [0xbU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0xaU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0xaU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs [0xaU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[9U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[9U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs [9U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[8U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[8U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs [8U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[7U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[7U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs [7U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[6U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[6U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs [6U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[5U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[5U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs [5U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[4U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[4U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs [4U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[3U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[3U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs [3U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[2U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[2U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs [2U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[1U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[1U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs [1U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[0U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[0U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs [0U]; vlTOPp->Vortex__DOT__csr_decode_csr_data = ((0xc00U == (IData)(vlTOPp->Vortex__DOT__vx_csr_handler__DOT__decode_csr_address)) @@ -2961,6 +4351,102 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__4(VVortex__Syms* __restrict vlSymsp) [1U]; vlTOPp->Vortex__DOT__d_e_b_reg_data[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_b_reg_data [0U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0x1fU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs + [0x1fU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0x1eU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs + [0x1eU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0x1dU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs + [0x1dU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0x1cU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs + [0x1cU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0x1bU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs + [0x1bU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0x1aU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs + [0x1aU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0x19U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs + [0x19U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0x18U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs + [0x18U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0x17U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs + [0x17U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0x16U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs + [0x16U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0x15U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs + [0x15U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0x14U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs + [0x14U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0x13U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs + [0x13U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0x12U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs + [0x12U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0x11U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs + [0x11U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0x10U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs + [0x10U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0xfU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs + [0xfU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0xeU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs + [0xeU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0xdU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs + [0xdU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0xcU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs + [0xcU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0xbU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs + [0xbU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0xaU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs + [0xaU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[9U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs + [9U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[8U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs + [8U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[7U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs + [7U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[6U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs + [6U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[5U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs + [5U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[4U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs + [4U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[3U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs + [3U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[2U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs + [2U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[1U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs + [1U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[0U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs + [0U]; vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_wb_valid[1U] = vlTOPp->Vortex__DOT__m_w_valid[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_wb_valid[0U] @@ -2993,13 +4479,13 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__4(VVortex__Syms* __restrict vlSymsp) = vlTOPp->Vortex__DOT__e_m_alu_result[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result[0U] = vlTOPp->Vortex__DOT__e_m_alu_result[0U]; - vlTOPp->Vortex__DOT__execute_branch_stall = ((0U - != (IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__branch_type)) - | (IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__jal)); vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_valid[1U] = vlTOPp->Vortex__DOT__d_e_valid[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_valid[0U] = vlTOPp->Vortex__DOT__d_e_valid[0U]; + vlTOPp->Vortex__DOT__execute_branch_stall = ((0U + != (IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__branch_type)) + | (IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__jal)); vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_memory_PC_next[0U] = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__PC_next; vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_memory_PC_next[1U] @@ -3012,101 +4498,197 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__4(VVortex__Syms* __restrict vlSymsp) = vlTOPp->Vortex__DOT__d_e_a_reg_data[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_a_reg_data[0U] = vlTOPp->Vortex__DOT__d_e_a_reg_data[0U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x1fU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x1fU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters [0x1fU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x1eU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x1eU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters [0x1eU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x1dU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x1dU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters [0x1dU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x1cU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x1cU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters [0x1cU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x1bU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x1bU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters [0x1bU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x1aU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x1aU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters [0x1aU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x19U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x19U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters [0x19U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x18U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x18U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters [0x18U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x17U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x17U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters [0x17U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x16U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x16U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters [0x16U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x15U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x15U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters [0x15U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x14U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x14U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters [0x14U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x13U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x13U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters [0x13U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x12U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x12U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters [0x12U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x11U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x11U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters [0x11U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x10U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x10U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters [0x10U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0xfU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0xfU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters [0xfU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0xeU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0xeU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters [0xeU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0xdU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0xdU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters [0xdU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0xcU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0xcU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters [0xcU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0xbU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0xbU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters [0xbU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0xaU] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0xaU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters [0xaU]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[9U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[9U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters [9U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[8U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[8U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters [8U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[7U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[7U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters [7U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[6U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[6U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters [6U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[5U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[5U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters [5U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[4U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[4U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters [4U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[3U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[3U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters [3U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[2U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[2U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters [2U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[1U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[1U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters [1U]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0x1fU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x1fU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0x1eU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x1eU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0x1dU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x1dU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0x1cU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x1cU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0x1bU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x1bU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0x1aU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x1aU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0x19U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x19U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0x18U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x18U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0x17U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x17U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0x16U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x16U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0x15U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x15U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0x14U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x14U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0x13U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x13U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0x12U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x12U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0x11U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x11U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0x10U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0x10U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0xfU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0xfU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0xeU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0xeU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0xdU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0xdU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0xcU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0xcU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0xbU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0xbU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0xaU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [0xaU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[9U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [9U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[8U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [8U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[7U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [7U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[6U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [6U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[5U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [5U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[4U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [4U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[3U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [3U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[2U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [2U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[1U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters + [1U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[0U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters [0U]; // ALWAYS at VX_d_e_reg.v:145 vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__csr_address @@ -3137,17 +4719,119 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__4(VVortex__Syms* __restrict vlSymsp) = vlTOPp->Vortex__DOT__d_e_b_reg_data[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_b_reg_data[0U] = vlTOPp->Vortex__DOT__d_e_b_reg_data[0U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x1fU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters + [0x1fU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x1eU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters + [0x1eU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x1dU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters + [0x1dU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x1cU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters + [0x1cU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x1bU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters + [0x1bU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x1aU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters + [0x1aU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x19U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters + [0x19U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x18U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters + [0x18U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x17U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters + [0x17U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x16U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters + [0x16U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x15U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters + [0x15U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x14U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters + [0x14U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x13U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters + [0x13U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x12U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters + [0x12U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x11U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters + [0x11U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0x10U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters + [0x10U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0xfU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters + [0xfU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0xeU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters + [0xeU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0xdU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters + [0xdU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0xcU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters + [0xcU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0xbU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters + [0xbU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0xaU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters + [0xaU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[9U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters + [9U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[8U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters + [8U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[7U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters + [7U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[6U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters + [6U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[5U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters + [5U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[4U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters + [4U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[3U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters + [3U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[2U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters + [2U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[1U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters + [1U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[0U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters + [0U]; + // ALWAYS at VX_e_m_reg.v:128 + vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__rd = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__rd; // ALWAYS at VX_e_m_reg.v:128 vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__warp_num = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__warp_num; // ALWAYS at VX_e_m_reg.v:128 - vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__rd = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__rd; - // ALWAYS at VX_e_m_reg.v:128 vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__wb = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__wb; - vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context__in_valid[1U] + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_zero__in_valid[1U] = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_wb_valid [1U]; - vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context__in_valid[0U] + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_zero__in_valid[0U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_wb_valid + [0U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_valid[1U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_wb_valid + [1U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_valid[0U] = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_wb_valid [0U]; vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_data[1U] @@ -3188,6 +4872,52 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__4(VVortex__Syms* __restrict vlSymsp) vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_address[0U] = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result [0U]; + // ALWAYS at VX_memory.v:113 + vlTOPp->Vortex__DOT__memory_branch_dir = (1U & + ((4U + & (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__branch_type)) + ? ( + (2U + & (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__branch_type)) + ? + ((~ (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__branch_type)) + & (~ + (vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result + [0U] + >> 0x1fU))) + : + ((1U + & (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__branch_type)) + ? + (vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result + [0U] + >> 0x1fU) + : + (~ + (vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result + [0U] + >> 0x1fU)))) + : ( + (2U + & (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__branch_type)) + ? + ((1U + & (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__branch_type)) + ? + (vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result + [0U] + >> 0x1fU) + : + (0U + != + vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result + [0U])) + : + ((IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__branch_type) + & (0U + == + vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result + [0U]))))); vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_alu_result[1U] = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result [1U]; @@ -3200,6 +4930,102 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__4(VVortex__Syms* __restrict vlSymsp) vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_valid[0U] = vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_valid [0U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0x1fU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0x1fU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0x1eU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0x1eU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0x1dU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0x1dU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0x1cU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0x1cU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0x1bU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0x1bU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0x1aU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0x1aU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0x19U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0x19U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0x18U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0x18U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0x17U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0x17U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0x16U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0x16U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0x15U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0x15U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0x14U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0x14U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0x13U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0x13U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0x12U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0x12U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0x11U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0x11U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0x10U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0x10U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0xfU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0xfU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0xeU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0xeU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0xdU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0xdU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0xcU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0xcU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0xbU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0xbU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0xaU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0xaU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[9U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [9U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[8U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [8U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[7U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [7U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[6U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [6U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[5U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [5U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[4U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [4U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[3U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [3U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[2U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [2U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[1U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [1U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers[0U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers + [0U]; vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_b_reg_data[1U] = vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_b_reg_data [1U]; @@ -3250,6 +5076,102 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__4(VVortex__Syms* __restrict vlSymsp) = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__PC_next_out; vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_execute_PC_next[1U] = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__PC_next_out; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0x1fU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0x1fU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0x1eU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0x1eU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0x1dU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0x1dU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0x1cU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0x1cU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0x1bU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0x1bU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0x1aU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0x1aU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0x19U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0x19U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0x18U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0x18U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0x17U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0x17U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0x16U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0x16U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0x15U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0x15U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0x14U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0x14U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0x13U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0x13U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0x12U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0x12U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0x11U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0x11U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0x10U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0x10U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0xfU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0xfU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0xeU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0xeU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0xdU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0xdU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0xcU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0xcU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0xbU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0xbU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0xaU] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0xaU]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[9U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [9U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[8U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [8U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[7U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [7U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[6U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [6U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[5U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [5U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[4U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [4U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[3U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [3U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[2U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [2U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[1U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [1U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[0U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__w0_t0_registers + [0U]; vlTOPp->Vortex__DOT__execute_b_reg_data[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_b_reg_data [1U]; vlTOPp->Vortex__DOT__execute_b_reg_data[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_b_reg_data @@ -3265,10 +5187,6 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__4(VVortex__Syms* __restrict vlSymsp) [1U]), VL_EXTENDS_QI(64,32, vlTOPp->Vortex__DOT__vx_execute__DOT__genblk1__BRA__1__KET____DOT__vx_alu__DOT__ALU_in2)); // ALWAYS at VX_d_e_reg.v:145 - vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__warp_num - = (3U & ((IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__stalling) - ? 0U : (IData)(vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__warp_num))); - // ALWAYS at VX_d_e_reg.v:145 vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__rd = (0x1fU & ((IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__stalling) ? 0U @@ -3276,6 +5194,10 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__4(VVortex__Syms* __restrict vlSymsp) (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction >> 7U))); // ALWAYS at VX_d_e_reg.v:145 + vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__warp_num + = (3U & ((IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__stalling) + ? 0U : (IData)(vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__warp_num))); + // ALWAYS at VX_d_e_reg.v:145 vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__wb = ((IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__stalling) ? 0U : @@ -3343,6 +5265,102 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__4(VVortex__Syms* __restrict vlSymsp) = vlTOPp->Vortex__DOT__execute_valid[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_valid[0U] = vlTOPp->Vortex__DOT__execute_valid[0U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0x1fU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0x1fU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0x1eU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0x1eU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0x1dU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0x1dU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0x1cU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0x1cU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0x1bU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0x1bU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0x1aU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0x1aU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0x19U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0x19U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0x18U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0x18U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0x17U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0x17U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0x16U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0x16U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0x15U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0x15U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0x14U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0x14U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0x13U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0x13U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0x12U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0x12U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0x11U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0x11U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0x10U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0x10U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0xfU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0xfU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0xeU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0xeU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0xdU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0xdU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0xcU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0xcU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0xbU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0xbU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0xaU] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0xaU]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[9U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [9U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[8U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [8U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[7U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [7U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[6U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [6U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[5U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [5U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[4U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [4U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[3U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [3U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[2U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [2U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[1U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [1U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[0U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs + [0U]; vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_b_reg_data[1U] = vlTOPp->Vortex__DOT__execute_b_reg_data[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_b_reg_data[0U] @@ -3601,10 +5619,16 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__4(VVortex__Syms* __restrict vlSymsp) (vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_a_reg_data [1U] + vlTOPp->Vortex__DOT__vx_execute__DOT__genblk1__BRA__1__KET____DOT__vx_alu__DOT__ALU_in2)))))); - vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context__in_write_data[1U] + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_zero__in_write_data[1U] = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_write_data [1U]; - vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context__in_write_data[0U] + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_zero__in_write_data[0U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_write_data + [0U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_write_data[1U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_write_data + [1U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_write_data[0U] = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_write_data [0U]; vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_alu_result[0U] @@ -3625,6 +5649,157 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__4(VVortex__Syms* __restrict vlSymsp) = vlTOPp->Vortex__DOT__execute_alu_result[0U]; } +VL_INLINE_OPT void VVortex::_sequent__TOP__4(VVortex__Syms* __restrict vlSymsp) { + VL_DEBUG_IF(VL_DBG_MSGF("+ VVortex::_sequent__TOP__4\n"); ); + VVortex* __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; + // Variables + // Begin mtask footprint all: + VL_SIG8(__Vdly__Vortex__DOT__vx_fetch__DOT__warp_num,1,0); + VL_SIG8(__Vdly__Vortex__DOT__vx_fetch__DOT__warp_state,1,0); + VL_SIG8(__Vdlyvset__Vortex__DOT__vx_f_d_reg__DOT__valid__v0,0,0); + VL_SIG8(__Vdlyvval__Vortex__DOT__vx_f_d_reg__DOT__valid__v2,0,0); + VL_SIG8(__Vdlyvset__Vortex__DOT__vx_f_d_reg__DOT__valid__v2,0,0); + VL_SIG8(__Vdlyvval__Vortex__DOT__vx_f_d_reg__DOT__valid__v3,0,0); + // Body + __Vdly__Vortex__DOT__vx_fetch__DOT__warp_state + = vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_state; + __Vdly__Vortex__DOT__vx_fetch__DOT__warp_num = vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_num; + __Vdlyvset__Vortex__DOT__vx_f_d_reg__DOT__valid__v0 = 0U; + __Vdlyvset__Vortex__DOT__vx_f_d_reg__DOT__valid__v2 = 0U; + // ALWAYS at VX_warp.v:63 + vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp_zero__DOT__real_PC + = ((IData)(vlTOPp->reset) ? 0U : ((IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_zero_stall) + ? vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp_zero__DOT__temp_PC + : ((IData)(4U) + + vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp_zero__DOT__temp_PC))); + // ALWAYS at VX_fetch.v:49 + __Vdly__Vortex__DOT__vx_fetch__DOT__warp_num = + (3U & (((((IData)(vlTOPp->reset) | ((IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_num) + == (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_state))) + | (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__remove_warp)) + | (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__add_warp)) + ? 0U : ((IData)(1U) + (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_num)))); + if (vlTOPp->Vortex__DOT__vx_fetch__DOT__add_warp) { + __Vdly__Vortex__DOT__vx_fetch__DOT__warp_state + = (3U & ((IData)(1U) + (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_state))); + } else { + if (vlTOPp->Vortex__DOT__vx_fetch__DOT__remove_warp) { + __Vdly__Vortex__DOT__vx_fetch__DOT__warp_state + = (3U & ((IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_state) + - (IData)(1U))); + } + } + // ALWAYS at VX_warp.v:63 + vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp_one__DOT__real_PC + = ((IData)(vlTOPp->reset) ? 0U : ((IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__is_wspawn) + ? vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_a_reg_data + [0U] : ((IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_one_stall) + ? vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp_one__DOT__temp_PC + : + ((IData)(4U) + + vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp_one__DOT__temp_PC)))); + // ALWAYS at VX_f_d_reg.v:36 + if (vlTOPp->reset) { + vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__curr_PC = 0U; + } else { + if ((1U & (~ ((IData)(vlTOPp->Vortex__DOT__forwarding_fwd_stall) + | (IData)(vlTOPp->Vortex__DOT__decode_clone_stall))))) { + vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__curr_PC + = vlTOPp->Vortex__DOT__vx_fetch__DOT__out_PC; + } + } + // ALWAYS at VX_f_d_reg.v:36 + if (vlTOPp->reset) { + __Vdlyvset__Vortex__DOT__vx_f_d_reg__DOT__valid__v0 = 1U; + } else { + if ((1U & (~ ((IData)(vlTOPp->Vortex__DOT__forwarding_fwd_stall) + | (IData)(vlTOPp->Vortex__DOT__decode_clone_stall))))) { + __Vdlyvval__Vortex__DOT__vx_f_d_reg__DOT__valid__v2 + = vlTOPp->Vortex__DOT____Vcellinp__vx_f_d_reg__in_valid + [1U]; + __Vdlyvset__Vortex__DOT__vx_f_d_reg__DOT__valid__v2 = 1U; + __Vdlyvval__Vortex__DOT__vx_f_d_reg__DOT__valid__v3 + = vlTOPp->Vortex__DOT____Vcellinp__vx_f_d_reg__in_valid + [0U]; + } + } + // ALWAYS at VX_f_d_reg.v:36 + if (vlTOPp->reset) { + vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__warp_num = 0U; + } else { + if ((1U & (~ ((IData)(vlTOPp->Vortex__DOT__forwarding_fwd_stall) + | (IData)(vlTOPp->Vortex__DOT__decode_clone_stall))))) { + vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__warp_num + = vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_num; + } + } + vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_state + = __Vdly__Vortex__DOT__vx_fetch__DOT__warp_state; + // ALWAYSPOST at VX_f_d_reg.v:42 + if (__Vdlyvset__Vortex__DOT__vx_f_d_reg__DOT__valid__v0) { + vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__valid[0U] = 0U; + vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__valid[1U] = 0U; + } + if (__Vdlyvset__Vortex__DOT__vx_f_d_reg__DOT__valid__v2) { + vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__valid[1U] + = __Vdlyvval__Vortex__DOT__vx_f_d_reg__DOT__valid__v2; + vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__valid[0U] + = __Vdlyvval__Vortex__DOT__vx_f_d_reg__DOT__valid__v3; + } + vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_num = __Vdly__Vortex__DOT__vx_fetch__DOT__warp_num; + // ALWAYS at VX_warp.v:50 + vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp_zero__DOT__temp_PC + = (((IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__jal) + & (0U == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__warp_num))) + ? vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__jal_dest + : (((IData)(vlTOPp->Vortex__DOT__memory_branch_dir) + & (0U == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__warp_num))) + ? vlTOPp->Vortex__DOT__memory_branch_dest + : vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp_zero__DOT__real_PC)); + // ALWAYS at VX_warp.v:50 + vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp_one__DOT__temp_PC + = (((IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__jal) + & (1U == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__warp_num))) + ? vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__jal_dest + : (((IData)(vlTOPp->Vortex__DOT__memory_branch_dir) + & (1U == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__warp_num))) + ? vlTOPp->Vortex__DOT__memory_branch_dest + : vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp_one__DOT__real_PC)); + vlTOPp->Vortex__DOT____Vcellout__vx_f_d_reg__out_valid[1U] + = vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__valid + [1U]; + vlTOPp->Vortex__DOT____Vcellout__vx_f_d_reg__out_valid[0U] + = vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__valid + [0U]; + vlTOPp->Vortex__DOT__vx_fetch__DOT__out_PC = ((0U + == (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_num)) + ? vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp_zero__DOT__temp_PC + : vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp_one__DOT__temp_PC); + vlTOPp->Vortex__DOT__f_d_valid[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_f_d_reg__out_valid + [1U]; + vlTOPp->Vortex__DOT__f_d_valid[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_f_d_reg__out_valid + [0U]; + vlTOPp->curr_PC = vlTOPp->Vortex__DOT__vx_fetch__DOT__out_PC; + vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_valid[1U] + = vlTOPp->Vortex__DOT__f_d_valid[1U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_valid[0U] + = vlTOPp->Vortex__DOT__f_d_valid[0U]; + vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_valid[1U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_valid + [1U]; + vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_valid[0U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_valid + [0U]; + vlTOPp->Vortex__DOT__decode_valid[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_valid + [1U]; + vlTOPp->Vortex__DOT__decode_valid[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_valid + [0U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_valid[1U] + = vlTOPp->Vortex__DOT__decode_valid[1U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_valid[0U] + = vlTOPp->Vortex__DOT__decode_valid[0U]; +} + VL_INLINE_OPT void VVortex::_combo__TOP__5(VVortex__Syms* __restrict vlSymsp) { VL_DEBUG_IF(VL_DBG_MSGF("+ VVortex::_combo__TOP__5\n"); ); VVortex* __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; @@ -3657,64 +5832,68 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__6(VVortex__Syms* __restrict vlSymsp) VL_DEBUG_IF(VL_DBG_MSGF("+ VVortex::_sequent__TOP__6\n"); ); VVortex* __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; // Body - // ALWAYS at VX_register_file_slave.v:61 - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__out_src1_data - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers + // ALWAYS at VX_register_file_slave.v:68 + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__out_src1_data + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers [(0x1fU & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction >> 0xfU))]; - // ALWAYS at VX_register_file.v:47 - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_src1_data - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + // ALWAYS at VX_register_file_slave.v:68 + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__out_src1_data + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers [(0x1fU & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction >> 0xfU))]; - // ALWAYS at VX_register_file_slave.v:61 - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__out_src2_data - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers + // ALWAYS at VX_register_file_master_slave.v:66 + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_src1_data + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers + [(0x1fU & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction + >> 0xfU))]; + // ALWAYS at VX_register_file_slave.v:68 + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__out_src2_data + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers [(0x1fU & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction >> 0x14U))]; - // ALWAYS at VX_register_file.v:47 - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_src2_data - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers + // ALWAYS at VX_register_file_slave.v:68 + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__out_src2_data + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers [(0x1fU & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction >> 0x14U))]; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__rd1_register[1U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__out_src1_data; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__rd1_register[0U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_src1_data; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__rd2_register[1U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__out_src2_data; - vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__rd2_register[0U] - = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_src2_data; + // ALWAYS at VX_register_file_master_slave.v:66 + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_src2_data + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers + [(0x1fU & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction + >> 0x14U))]; + // ALWAYS at VX_register_file.v:52 + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_src1_data + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers + [(0x1fU & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction + >> 0xfU))]; + // ALWAYS at VX_register_file.v:52 + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_src2_data + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers + [(0x1fU & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction + >> 0x14U))]; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__rd1_register[1U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__out_src1_data; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__rd1_register[1U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__out_src1_data; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__rd1_register[0U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_src1_data; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__rd2_register[1U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__out_src2_data; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__rd2_register[1U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__out_src2_data; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__rd2_register[0U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_src2_data; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__rd1_register[0U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_src1_data; + vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__rd2_register[0U] + = vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_src2_data; } VL_INLINE_OPT void VVortex::_sequent__TOP__7(VVortex__Syms* __restrict vlSymsp) { VL_DEBUG_IF(VL_DBG_MSGF("+ VVortex::_sequent__TOP__7\n"); ); VVortex* __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; // Body - vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_valid[1U] - = vlTOPp->Vortex__DOT__decode_valid[1U]; - vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_valid[0U] - = vlTOPp->Vortex__DOT__decode_valid[0U]; - // ALWAYS at VX_f_d_reg.v:36 - if (vlTOPp->reset) { - vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__curr_PC = 0U; - } else { - if ((1U & (~ ((IData)(vlTOPp->Vortex__DOT__forwarding_fwd_stall) - | (IData)(vlTOPp->Vortex__DOT__decode_clone_stall))))) { - vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__curr_PC - = vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp__DOT__temp_PC; - } - } - // ALWAYS at VX_f_d_reg.v:36 - if (vlTOPp->reset) { - vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__warp_num = 0U; - } else { - if ((1U & (~ ((IData)(vlTOPp->Vortex__DOT__forwarding_fwd_stall) - | (IData)(vlTOPp->Vortex__DOT__decode_clone_stall))))) { - vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__warp_num - = vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_num; - } - } // ALWAYS at VX_f_d_reg.v:36 if (vlTOPp->reset) { vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction = 0U; @@ -3726,41 +5905,6 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__7(VVortex__Syms* __restrict vlSymsp) ? 0U : vlTOPp->fe_instruction); } } - // ALWAYS at VX_warp.v:49 - vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp__DOT__temp_PC - = (((IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__jal) - & (0U == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__warp_num))) - ? vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__jal_dest - : ((((4U & (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__branch_type)) - ? ((2U & (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__branch_type)) - ? ((~ (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__branch_type)) - & (~ (vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result - [0U] >> 0x1fU))) : ( - (1U - & (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__branch_type)) - ? - (vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result - [0U] - >> 0x1fU) - : - (~ - (vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result - [0U] - >> 0x1fU)))) - : ((2U & (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__branch_type)) - ? ((1U & (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__branch_type)) - ? (vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result - [0U] >> 0x1fU) : (0U != - vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result - [0U])) - : ((IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__branch_type) - & (0U == vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result - [0U])))) & (0U == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__warp_num))) - ? (vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__curr_PC - + (vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__branch_offset - << 1U)) : vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp__DOT__real_PC)); - vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_num = vlTOPp->__Vdly__Vortex__DOT__vx_fetch__DOT__warp_num; - vlTOPp->curr_PC = vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp__DOT__temp_PC; vlTOPp->Vortex__DOT__vx_decode__DOT__is_itype = ((0x13U == (0x7fU & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) | (3U == (0x7fU & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction))); @@ -3779,7 +5923,7 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__7(VVortex__Syms* __restrict vlSymsp) (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction >> 0x14U) : 0x55U)); - // ALWAYS at VX_decode.v:404 + // ALWAYS at VX_decode.v:473 vlTOPp->__Vtableidx1 = (7U & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction >> 0xcU)); vlTOPp->Vortex__DOT__vx_decode__DOT__mul_alu = @@ -3805,14 +5949,27 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__7(VVortex__Syms* __restrict vlSymsp) (7U & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction >> 0xcU)))); + vlTOPp->Vortex__DOT__vx_decode__DOT__jal_sys_jal + = ((0U == (7U & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction + >> 0xcU))) & (2U > (0xfffU + & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction + >> 0x14U)))); vlTOPp->Vortex__DOT__vx_decode__DOT__is_clone = ((0x6bU == (0x7fU & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) & (5U == (7U & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction >> 0xcU)))); + vlTOPp->Vortex__DOT__vx_decode__DOT__is_wspawn + = ((0x6bU == (0x7fU & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) + & (0U == (7U & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction + >> 0xcU)))); vlTOPp->Vortex__DOT__vx_decode__DOT__is_jmprt = ((0x6bU == (0x7fU & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) & (4U == (7U & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction >> 0xcU)))); + vlTOPp->Vortex__DOT__vx_decode__DOT__is_jalrs = + ((0x6bU == (0x7fU & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) + & (6U == (7U & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction + >> 0xcU)))); vlTOPp->Vortex__DOT__vx_forwarding__DOT__src1_exe_fwd = (((((0x1fU & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction >> 0xfU)) == (IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__rd)) @@ -3820,10 +5977,6 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__7(VVortex__Syms* __restrict vlSymsp) >> 0xfU)))) & (0U != (IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__wb))) & ((IData)(vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__warp_num) == (IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__warp_num))); - vlTOPp->Vortex__DOT__vx_decode__DOT__is_jalrs = - ((0x6bU == (0x7fU & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) - & (6U == (7U & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction - >> 0xcU)))); vlTOPp->Vortex__DOT__vx_forwarding__DOT__src2_exe_fwd = (((((0x1fU & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction >> 0x14U)) == (IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__rd)) @@ -3832,7 +5985,7 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__7(VVortex__Syms* __restrict vlSymsp) != (IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__wb))) & ((IData)(vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__warp_num) == (IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__warp_num))); - // ALWAYS at VX_decode.v:335 + // ALWAYS at VX_decode.v:404 vlTOPp->Vortex__DOT__decode_itype_immed = ((0x40U & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction) ? ( @@ -3967,21 +6120,27 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__7(VVortex__Syms* __restrict vlSymsp) >> 0x14U))) : 0xdeadbeefU) : 0xdeadbeefU)))))); - vlTOPp->Vortex__DOT__decode_clone_stall = (((0U - == (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__state_stall)) - | (1U - != (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__state_stall))) - & (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__is_clone)); - vlTOPp->Vortex__DOT__vx_forwarding__DOT__src1_mem_fwd - = ((((((0x1fU & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction - >> 0xfU)) == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__rd)) - & (0U != (0x1fU & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction - >> 0xfU)))) & (0U - != (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__wb))) - & (~ (IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src1_exe_fwd))) - & ((IData)(vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__warp_num) - == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__warp_num))); - // ALWAYS at VX_decode.v:287 + vlTOPp->Vortex__DOT__vx_decode__DOT__is_ebreak + = ((0x73U == (0x7fU & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) + & ((IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__jal_sys_jal) + & vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_valid + [0U])); + vlTOPp->Vortex__DOT__decode_clone_stall = ((((0U + == (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__state_stall)) + | (1U + != (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__state_stall))) + & (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__is_clone)) + | ((((0U + == (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_state_stall)) + | (1U + != (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_state_stall))) + & (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__is_clone)) + | (((0U + == (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__wspawn_state_stall)) + & (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__is_wspawn)) + | (1U + < (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__wspawn_state_stall))))); + // ALWAYS at VX_decode.v:348 if ((0x40U & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) { if ((0x20U & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) { if ((0x10U & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) { @@ -4069,7 +6228,7 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__7(VVortex__Syms* __restrict vlSymsp) } else { vlTOPp->Vortex__DOT__decode_jal_offset = 0xdeadbeefU; } - // ALWAYS at VX_decode.v:287 + // ALWAYS at VX_decode.v:348 if ((0x40U & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) { if ((0x20U & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) { if ((0x10U & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) { @@ -4083,16 +6242,7 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__7(VVortex__Syms* __restrict vlSymsp) & ((vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction >> 1U) & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction - & (((0U - == - (7U - & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction - >> 0xcU))) - & (2U - > - (0xfffU - & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction - >> 0x14U)))) + & ((IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__jal_sys_jal) & vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_valid [0U]))))); } else { @@ -4134,7 +6284,7 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__7(VVortex__Syms* __restrict vlSymsp) } else { vlTOPp->Vortex__DOT__decode_jal = 0U; } - // ALWAYS at VX_decode.v:346 + // ALWAYS at VX_decode.v:415 if ((0x40U & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) { if ((0x20U & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) { if ((0x10U & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) { @@ -4193,7 +6343,7 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__7(VVortex__Syms* __restrict vlSymsp) } else { vlTOPp->Vortex__DOT__decode_branch_type = 0U; } - // ALWAYS at VX_decode.v:346 + // ALWAYS at VX_decode.v:415 if ((0x40U & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) { if ((0x20U & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) { if ((0x10U & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) { @@ -4241,10 +6391,17 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__7(VVortex__Syms* __restrict vlSymsp) } else { vlTOPp->Vortex__DOT__decode_branch_stall = 0U; } - vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_zero_change_mask - = (((IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__is_jalrs) - | (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__is_jmprt)) - & (0U == (IData)(vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__warp_num))); + vlTOPp->Vortex__DOT__decode_change_mask = ((IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__is_jalrs) + | (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__is_jmprt)); + vlTOPp->Vortex__DOT__vx_forwarding__DOT__src1_mem_fwd + = ((((((0x1fU & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction + >> 0xfU)) == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__rd)) + & (0U != (0x1fU & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction + >> 0xfU)))) & (0U + != (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__wb))) + & (~ (IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src1_exe_fwd))) + & ((IData)(vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__warp_num) + == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__warp_num))); vlTOPp->Vortex__DOT__vx_forwarding__DOT__src2_mem_fwd = ((((((0x1fU & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction >> 0x14U)) == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__rd)) @@ -4254,16 +6411,16 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__7(VVortex__Syms* __restrict vlSymsp) & (~ (IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src2_exe_fwd))) & ((IData)(vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__warp_num) == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__warp_num))); - vlTOPp->Vortex__DOT__vx_forwarding__DOT__src1_wb_fwd - = (((((((0x1fU & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction - >> 0xfU)) == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__rd)) - & (0U != (0x1fU & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction - >> 0xfU)))) & (0U - != (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb))) - & ((IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__warp_num) - == (IData)(vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__warp_num))) - & (~ (IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src1_exe_fwd))) - & (~ (IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src1_mem_fwd))); + vlTOPp->out_ebreak = ((0U == (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_state)) + & (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__is_ebreak)); + vlTOPp->Vortex__DOT__vx_fetch__DOT__add_warp = + (((IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__is_wspawn) + & (~ (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__is_ebreak))) + & (~ (IData)(vlTOPp->Vortex__DOT__decode_clone_stall))); + vlTOPp->Vortex__DOT__vx_fetch__DOT__remove_warp + = (((IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__is_ebreak) + & (~ (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__is_wspawn))) + & (~ (IData)(vlTOPp->Vortex__DOT__decode_clone_stall))); vlTOPp->Vortex__DOT__vx_decode__DOT__temp_final_alu = ((0x63U == (0x7fU & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) ? ((5U > (IData)(vlTOPp->Vortex__DOT__decode_branch_type)) @@ -4345,6 +6502,22 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__7(VVortex__Syms* __restrict vlSymsp) >> 0x19U))) ? 0U : 1U)))))))))); + vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_zero_change_mask + = ((IData)(vlTOPp->Vortex__DOT__decode_change_mask) + & (0U == (IData)(vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__warp_num))); + vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_one_change_mask + = ((IData)(vlTOPp->Vortex__DOT__decode_change_mask) + & (1U == (IData)(vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__warp_num))); + vlTOPp->Vortex__DOT__vx_forwarding__DOT__src1_wb_fwd + = (((((((0x1fU & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction + >> 0xfU)) == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__rd)) + & (0U != (0x1fU & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction + >> 0xfU)))) & (0U + != (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb))) + & ((IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__warp_num) + == (IData)(vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__warp_num))) + & (~ (IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src1_exe_fwd))) + & (~ (IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src1_mem_fwd))); vlTOPp->Vortex__DOT__forwarding_fwd_stall = ((((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src1_exe_fwd) | (IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src2_exe_fwd)) & (2U @@ -4377,6 +6550,12 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__7(VVortex__Syms* __restrict vlSymsp) vlTOPp->Vortex__DOT__forwarding_src2_fwd = (((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src2_exe_fwd) | (IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src2_mem_fwd)) | (IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src2_wb_fwd)); + vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_zero_stall + = ((IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__stall) + | (1U == (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_num))); + vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_one_stall + = ((IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__stall) + | (0U == (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_num))); } VL_INLINE_OPT void VVortex::_combo__TOP__8(VVortex__Syms* __restrict vlSymsp) { @@ -4519,54 +6698,122 @@ VL_INLINE_OPT void VVortex::_combo__TOP__8(VVortex__Syms* __restrict vlSymsp) { vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src2_fwd_data[0U] = vlTOPp->Vortex__DOT__forwarding_src2_fwd_data [0U]; - vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context__in_src1_fwd_data[1U] + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_zero__in_src1_fwd_data[1U] = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src1_fwd_data [1U]; - vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context__in_src1_fwd_data[0U] + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_zero__in_src1_fwd_data[0U] = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src1_fwd_data [0U]; - vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context__in_src2_fwd_data[1U] + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_src1_fwd_data[1U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src1_fwd_data + [1U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_src1_fwd_data[0U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src1_fwd_data + [0U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_zero__in_src2_fwd_data[1U] = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src2_fwd_data [1U]; - vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context__in_src2_fwd_data[0U] + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_zero__in_src2_fwd_data[0U] = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src2_fwd_data [0U]; - vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context__out_a_reg_data[0U] + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_src2_fwd_data[1U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src2_fwd_data + [1U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_src2_fwd_data[0U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src2_fwd_data + [0U]; + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__out_a_reg_data[0U] = ((0x6fU == (0x7fU & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) ? vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__curr_PC : ((IData)(vlTOPp->Vortex__DOT__forwarding_src1_fwd) - ? vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context__in_src1_fwd_data - [0U] : vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__rd1_register + ? vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_zero__in_src1_fwd_data + [0U] : vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__rd1_register [0U])); - vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context__out_a_reg_data[1U] + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__out_a_reg_data[1U] = ((0x6fU == (0x7fU & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) ? vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__curr_PC : ((IData)(vlTOPp->Vortex__DOT__forwarding_src1_fwd) - ? vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context__in_src1_fwd_data - [1U] : vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__rd1_register + ? vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_zero__in_src1_fwd_data + [1U] : vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__rd1_register [1U])); - vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context__out_b_reg_data[0U] + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_one__out_a_reg_data[0U] + = ((0x6fU == (0x7fU & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) + ? vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__curr_PC + : ((IData)(vlTOPp->Vortex__DOT__forwarding_src1_fwd) + ? vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_src1_fwd_data + [0U] : vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__rd1_register + [0U])); + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_one__out_a_reg_data[1U] + = ((0x6fU == (0x7fU & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction)) + ? vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__curr_PC + : ((IData)(vlTOPp->Vortex__DOT__forwarding_src1_fwd) + ? vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_src1_fwd_data + [1U] : vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__rd1_register + [1U])); + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__out_b_reg_data[0U] = ((IData)(vlTOPp->Vortex__DOT__forwarding_src2_fwd) - ? vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context__in_src2_fwd_data - [0U] : vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__rd2_register + ? vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_zero__in_src2_fwd_data + [0U] : vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__rd2_register [0U]); - vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context__out_b_reg_data[1U] + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__out_b_reg_data[1U] = ((IData)(vlTOPp->Vortex__DOT__forwarding_src2_fwd) - ? vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context__in_src2_fwd_data - [1U] : vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context__DOT__rd2_register + ? vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_zero__in_src2_fwd_data + [1U] : vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__rd2_register [1U]); + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_one__out_b_reg_data[0U] + = ((IData)(vlTOPp->Vortex__DOT__forwarding_src2_fwd) + ? vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_src2_fwd_data + [0U] : vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__rd2_register + [0U]); + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_one__out_b_reg_data[1U] + = ((IData)(vlTOPp->Vortex__DOT__forwarding_src2_fwd) + ? vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_src2_fwd_data + [1U] : vlTOPp->Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__rd2_register + [1U]); + vlTOPp->Vortex__DOT__vx_decode__DOT__zero_a_reg_data[1U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__out_a_reg_data + [1U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__zero_a_reg_data[0U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__out_a_reg_data + [0U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__one_a_reg_data[1U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_one__out_a_reg_data + [1U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__one_a_reg_data[0U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_one__out_a_reg_data + [0U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__zero_b_reg_data[1U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__out_b_reg_data + [1U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__zero_b_reg_data[0U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__out_b_reg_data + [0U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__one_b_reg_data[1U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_one__out_b_reg_data + [1U]; + vlTOPp->Vortex__DOT__vx_decode__DOT__one_b_reg_data[0U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_one__out_b_reg_data + [0U]; vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_a_reg_data[1U] - = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context__out_a_reg_data - [1U]; + = ((0U == (IData)(vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__warp_num)) + ? vlTOPp->Vortex__DOT__vx_decode__DOT__zero_a_reg_data + [1U] : vlTOPp->Vortex__DOT__vx_decode__DOT__one_a_reg_data + [1U]); vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_a_reg_data[0U] - = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context__out_a_reg_data - [0U]; + = ((0U == (IData)(vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__warp_num)) + ? vlTOPp->Vortex__DOT__vx_decode__DOT__zero_a_reg_data + [0U] : vlTOPp->Vortex__DOT__vx_decode__DOT__one_a_reg_data + [0U]); vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_b_reg_data[1U] - = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context__out_b_reg_data - [1U]; + = ((0U == (IData)(vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__warp_num)) + ? vlTOPp->Vortex__DOT__vx_decode__DOT__zero_b_reg_data + [1U] : vlTOPp->Vortex__DOT__vx_decode__DOT__one_b_reg_data + [1U]); vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_b_reg_data[0U] - = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context__out_b_reg_data - [0U]; + = ((0U == (IData)(vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__warp_num)) + ? vlTOPp->Vortex__DOT__vx_decode__DOT__zero_b_reg_data + [0U] : vlTOPp->Vortex__DOT__vx_decode__DOT__one_b_reg_data + [0U]); vlTOPp->Vortex__DOT__decode_a_reg_data[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_a_reg_data [1U]; vlTOPp->Vortex__DOT__decode_a_reg_data[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_a_reg_data @@ -4607,45 +6854,82 @@ VL_INLINE_OPT void VVortex::_combo__TOP__8(VVortex__Syms* __restrict vlSymsp) { = vlTOPp->Vortex__DOT__decode_thread_mask[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_fetch__in_thread_mask[0U] = vlTOPp->Vortex__DOT__decode_thread_mask[0U]; - vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp__in_thread_mask[1U] + vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp_zero__in_thread_mask[1U] = vlTOPp->Vortex__DOT____Vcellinp__vx_fetch__in_thread_mask [1U]; - vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp__in_thread_mask[0U] + vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp_zero__in_thread_mask[0U] = vlTOPp->Vortex__DOT____Vcellinp__vx_fetch__in_thread_mask [0U]; - // ALWAYS at VX_warp.v:35 + vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp_one__in_thread_mask[1U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_fetch__in_thread_mask + [1U]; + vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp_one__in_thread_mask[0U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_fetch__in_thread_mask + [0U]; + // ALWAYS at VX_warp.v:36 if (vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_zero_change_mask) { - vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp__DOT__valid[1U] - = vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp__in_thread_mask + vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp_zero__DOT__valid[1U] + = vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp_zero__in_thread_mask [1U]; - vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp__DOT__valid[0U] - = vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp__in_thread_mask + vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp_zero__DOT__valid[0U] + = vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp_zero__in_thread_mask [0U]; } - vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellout__VX_Warp__out_valid[0U] + // ALWAYS at VX_warp.v:36 + if (vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_one_change_mask) { + vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp_one__DOT__valid[1U] + = vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp_one__in_thread_mask + [1U]; + vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp_one__DOT__valid[0U] + = vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp_one__in_thread_mask + [0U]; + } + vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellout__VX_Warp_zero__out_valid[0U] = ((IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_zero_change_mask) - ? vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp__in_thread_mask - [0U] : ((~ (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__stall)) - & vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp__DOT__valid + ? vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp_zero__in_thread_mask + [0U] : ((~ (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_zero_stall)) + & vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp_zero__DOT__valid [0U])); - vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellout__VX_Warp__out_valid[1U] + vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellout__VX_Warp_zero__out_valid[1U] = ((IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_zero_change_mask) - ? vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp__in_thread_mask - [1U] : ((~ (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__stall)) - & vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp__DOT__valid + ? vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp_zero__in_thread_mask + [1U] : ((~ (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_zero_stall)) + & vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp_zero__DOT__valid [1U])); - vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_valid[1U] - = vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellout__VX_Warp__out_valid + vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellout__VX_Warp_one__out_valid[0U] + = ((IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_one_change_mask) + ? vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp_one__in_thread_mask + [0U] : ((~ (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_one_stall)) + & vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp_one__DOT__valid + [0U])); + vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellout__VX_Warp_one__out_valid[1U] + = ((IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_one_change_mask) + ? vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp_one__in_thread_mask + [1U] : ((~ (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_one_stall)) + & vlTOPp->Vortex__DOT__vx_fetch__DOT__VX_Warp_one__DOT__valid + [1U])); + vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_zero_valid[1U] + = vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellout__VX_Warp_zero__out_valid [1U]; - vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_valid[0U] - = vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellout__VX_Warp__out_valid + vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_zero_valid[0U] + = vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellout__VX_Warp_zero__out_valid + [0U]; + vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_one_valid[1U] + = vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellout__VX_Warp_one__out_valid + [1U]; + vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_one_valid[0U] + = vlTOPp->Vortex__DOT__vx_fetch__DOT____Vcellout__VX_Warp_one__out_valid [0U]; vlTOPp->Vortex__DOT____Vcellout__vx_fetch__out_valid[1U] - = vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_valid - [1U]; + = ((0U == (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_num)) + ? vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_zero_valid + [1U] : vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_one_valid + [1U]); vlTOPp->Vortex__DOT____Vcellout__vx_fetch__out_valid[0U] - = vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_valid - [0U]; + = ((0U == (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_num)) + ? vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_zero_valid + [0U] : vlTOPp->Vortex__DOT__vx_fetch__DOT__warp_one_valid + [0U]); vlTOPp->Vortex__DOT__fetch_valid[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_fetch__out_valid [1U]; vlTOPp->Vortex__DOT__fetch_valid[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_fetch__out_valid @@ -4660,11 +6944,11 @@ void VVortex::_eval(VVortex__Syms* __restrict vlSymsp) { VL_DEBUG_IF(VL_DBG_MSGF("+ VVortex::_eval\n"); ); VVortex* __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; // Body - if ((((IData)(vlTOPp->clk) & (~ (IData)(vlTOPp->__Vclklast__TOP__clk))) - | ((IData)(vlTOPp->reset) & (~ (IData)(vlTOPp->__Vclklast__TOP__reset))))) { + if (((IData)(vlTOPp->clk) & (~ (IData)(vlTOPp->__Vclklast__TOP__clk)))) { vlTOPp->_sequent__TOP__3(vlSymsp); } - if (((IData)(vlTOPp->clk) & (~ (IData)(vlTOPp->__Vclklast__TOP__clk)))) { + if ((((IData)(vlTOPp->clk) & (~ (IData)(vlTOPp->__Vclklast__TOP__clk))) + | ((IData)(vlTOPp->reset) & (~ (IData)(vlTOPp->__Vclklast__TOP__reset))))) { vlTOPp->_sequent__TOP__4(vlSymsp); } vlTOPp->_combo__TOP__5(vlSymsp); @@ -4745,6 +7029,7 @@ void VVortex::_ctor_var_reset() { { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { out_cache_driver_in_data[__Vi0] = VL_RAND_RESET_I(32); }} + out_ebreak = VL_RAND_RESET_I(1); { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { Vortex__DOT__fetch_valid[__Vi0] = VL_RAND_RESET_I(1); }} @@ -4767,6 +7052,7 @@ void VVortex::_ctor_var_reset() { Vortex__DOT__decode_valid[__Vi0] = VL_RAND_RESET_I(1); }} Vortex__DOT__decode_clone_stall = VL_RAND_RESET_I(1); + Vortex__DOT__decode_change_mask = VL_RAND_RESET_I(1); { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { Vortex__DOT__decode_thread_mask[__Vi0] = VL_RAND_RESET_I(1); }} @@ -4798,6 +7084,8 @@ void VVortex::_ctor_var_reset() { { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { Vortex__DOT__e_m_valid[__Vi0] = VL_RAND_RESET_I(1); }} + Vortex__DOT__memory_branch_dir = VL_RAND_RESET_I(1); + Vortex__DOT__memory_branch_dest = VL_RAND_RESET_I(32); { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { Vortex__DOT__memory_alu_result[__Vi0] = VL_RAND_RESET_I(32); }} @@ -5001,22 +7289,42 @@ void VVortex::_ctor_var_reset() { Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result[__Vi0] = VL_RAND_RESET_I(32); }} Vortex__DOT__vx_fetch__DOT__stall = VL_RAND_RESET_I(1); + Vortex__DOT__vx_fetch__DOT__out_PC = VL_RAND_RESET_I(32); Vortex__DOT__vx_fetch__DOT__warp_num = VL_RAND_RESET_I(2); Vortex__DOT__vx_fetch__DOT__warp_state = VL_RAND_RESET_I(2); - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { - Vortex__DOT__vx_fetch__DOT__warp_valid[__Vi0] = VL_RAND_RESET_I(1); - }} + Vortex__DOT__vx_fetch__DOT__add_warp = VL_RAND_RESET_I(1); + Vortex__DOT__vx_fetch__DOT__remove_warp = VL_RAND_RESET_I(1); Vortex__DOT__vx_fetch__DOT__warp_zero_change_mask = VL_RAND_RESET_I(1); + Vortex__DOT__vx_fetch__DOT__warp_zero_stall = VL_RAND_RESET_I(1); { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { - Vortex__DOT__vx_fetch__DOT____Vcellout__VX_Warp__out_valid[__Vi0] = VL_RAND_RESET_I(1); + Vortex__DOT__vx_fetch__DOT__warp_zero_valid[__Vi0] = VL_RAND_RESET_I(1); }} { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { - Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp__in_thread_mask[__Vi0] = VL_RAND_RESET_I(1); + Vortex__DOT__vx_fetch__DOT____Vcellout__VX_Warp_zero__out_valid[__Vi0] = VL_RAND_RESET_I(1); }} - Vortex__DOT__vx_fetch__DOT__VX_Warp__DOT__real_PC = VL_RAND_RESET_I(32); - Vortex__DOT__vx_fetch__DOT__VX_Warp__DOT__temp_PC = VL_RAND_RESET_I(32); { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { - Vortex__DOT__vx_fetch__DOT__VX_Warp__DOT__valid[__Vi0] = VL_RAND_RESET_I(1); + Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp_zero__in_thread_mask[__Vi0] = VL_RAND_RESET_I(1); + }} + Vortex__DOT__vx_fetch__DOT__warp_one_change_mask = VL_RAND_RESET_I(1); + Vortex__DOT__vx_fetch__DOT__warp_one_stall = VL_RAND_RESET_I(1); + { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + Vortex__DOT__vx_fetch__DOT__warp_one_valid[__Vi0] = VL_RAND_RESET_I(1); + }} + { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + Vortex__DOT__vx_fetch__DOT____Vcellout__VX_Warp_one__out_valid[__Vi0] = VL_RAND_RESET_I(1); + }} + { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp_one__in_thread_mask[__Vi0] = VL_RAND_RESET_I(1); + }} + Vortex__DOT__vx_fetch__DOT__VX_Warp_zero__DOT__real_PC = VL_RAND_RESET_I(32); + Vortex__DOT__vx_fetch__DOT__VX_Warp_zero__DOT__temp_PC = VL_RAND_RESET_I(32); + { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + Vortex__DOT__vx_fetch__DOT__VX_Warp_zero__DOT__valid[__Vi0] = VL_RAND_RESET_I(1); + }} + Vortex__DOT__vx_fetch__DOT__VX_Warp_one__DOT__real_PC = VL_RAND_RESET_I(32); + Vortex__DOT__vx_fetch__DOT__VX_Warp_one__DOT__temp_PC = VL_RAND_RESET_I(32); + { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + Vortex__DOT__vx_fetch__DOT__VX_Warp_one__DOT__valid[__Vi0] = VL_RAND_RESET_I(1); }} Vortex__DOT__vx_f_d_reg__DOT__instruction = VL_RAND_RESET_I(32); Vortex__DOT__vx_f_d_reg__DOT__curr_PC = VL_RAND_RESET_I(32); @@ -5029,25 +7337,66 @@ void VVortex::_ctor_var_reset() { Vortex__DOT__vx_decode__DOT__is_clone = VL_RAND_RESET_I(1); Vortex__DOT__vx_decode__DOT__is_jalrs = VL_RAND_RESET_I(1); Vortex__DOT__vx_decode__DOT__is_jmprt = VL_RAND_RESET_I(1); + Vortex__DOT__vx_decode__DOT__is_wspawn = VL_RAND_RESET_I(1); + Vortex__DOT__vx_decode__DOT__jal_sys_jal = VL_RAND_RESET_I(1); Vortex__DOT__vx_decode__DOT__alu_tempp = VL_RAND_RESET_I(12); Vortex__DOT__vx_decode__DOT__mul_alu = VL_RAND_RESET_I(5); - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { - Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context__out_b_reg_data[__Vi0] = VL_RAND_RESET_I(32); + { int __Vi0=0; for (; __Vi0<32; ++__Vi0) { + Vortex__DOT__vx_decode__DOT__w0_t0_registers[__Vi0] = VL_RAND_RESET_I(32); }} { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { - Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context__out_a_reg_data[__Vi0] = VL_RAND_RESET_I(32); + Vortex__DOT__vx_decode__DOT__zero_a_reg_data[__Vi0] = VL_RAND_RESET_I(32); }} { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { - Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context__in_write_data[__Vi0] = VL_RAND_RESET_I(32); + Vortex__DOT__vx_decode__DOT__zero_b_reg_data[__Vi0] = VL_RAND_RESET_I(32); + }} + { int __Vi0=0; for (; __Vi0<32; ++__Vi0) { + Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[__Vi0] = VL_RAND_RESET_I(32); }} { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { - Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context__in_src2_fwd_data[__Vi0] = VL_RAND_RESET_I(32); + Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__out_b_reg_data[__Vi0] = VL_RAND_RESET_I(32); }} { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { - Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context__in_src1_fwd_data[__Vi0] = VL_RAND_RESET_I(32); + Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__out_a_reg_data[__Vi0] = VL_RAND_RESET_I(32); }} { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { - Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context__in_valid[__Vi0] = VL_RAND_RESET_I(1); + Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_zero__in_write_data[__Vi0] = VL_RAND_RESET_I(32); + }} + { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_zero__in_src2_fwd_data[__Vi0] = VL_RAND_RESET_I(32); + }} + { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_zero__in_src1_fwd_data[__Vi0] = VL_RAND_RESET_I(32); + }} + { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_zero__in_valid[__Vi0] = VL_RAND_RESET_I(1); + }} + { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + Vortex__DOT__vx_decode__DOT__one_a_reg_data[__Vi0] = VL_RAND_RESET_I(32); + }} + { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + Vortex__DOT__vx_decode__DOT__one_b_reg_data[__Vi0] = VL_RAND_RESET_I(32); + }} + { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_one__out_b_reg_data[__Vi0] = VL_RAND_RESET_I(32); + }} + { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_one__out_a_reg_data[__Vi0] = VL_RAND_RESET_I(32); + }} + { int __Vi0=0; for (; __Vi0<32; ++__Vi0) { + Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[__Vi0] = VL_RAND_RESET_I(32); + }} + { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_write_data[__Vi0] = VL_RAND_RESET_I(32); + }} + { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_src2_fwd_data[__Vi0] = VL_RAND_RESET_I(32); + }} + { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_src1_fwd_data[__Vi0] = VL_RAND_RESET_I(32); + }} + { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_valid[__Vi0] = VL_RAND_RESET_I(1); }} { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { Vortex__DOT__vx_decode__DOT__jalrs_thread_mask[__Vi0] = VL_RAND_RESET_I(1); @@ -5055,32 +7404,63 @@ void VVortex::_ctor_var_reset() { { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { Vortex__DOT__vx_decode__DOT__jmprt_thread_mask[__Vi0] = VL_RAND_RESET_I(1); }} + Vortex__DOT__vx_decode__DOT__is_ebreak = VL_RAND_RESET_I(1); Vortex__DOT__vx_decode__DOT__temp_final_alu = VL_RAND_RESET_I(5); + Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__state_stall = VL_RAND_RESET_I(6); { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { - Vortex__DOT__vx_decode__DOT__VX_Context__DOT__rd1_register[__Vi0] = VL_RAND_RESET_I(32); + Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__rd1_register[__Vi0] = VL_RAND_RESET_I(32); }} { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { - Vortex__DOT__vx_decode__DOT__VX_Context__DOT__rd2_register[__Vi0] = VL_RAND_RESET_I(32); + Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__rd2_register[__Vi0] = VL_RAND_RESET_I(32); }} { int __Vi0=0; for (; __Vi0<32; ++__Vi0) { - Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[__Vi0] = VL_RAND_RESET_I(32); + Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[__Vi0] = VL_RAND_RESET_I(32); }} - Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_src2_data = VL_RAND_RESET_I(32); - Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_src1_data = VL_RAND_RESET_I(32); + Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_src2_data = VL_RAND_RESET_I(32); + Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_src1_data = VL_RAND_RESET_I(32); { int __Vi0=0; for (; __Vi0<32; ++__Vi0) { - Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[__Vi0] = VL_RAND_RESET_I(32); + Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[__Vi0] = VL_RAND_RESET_I(32); }} - Vortex__DOT__vx_decode__DOT__VX_Context__DOT__state_stall = VL_RAND_RESET_I(6); - Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__out_src2_data = VL_RAND_RESET_I(32); - Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__out_src1_data = VL_RAND_RESET_I(32); + Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__out_src2_data = VL_RAND_RESET_I(32); + Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__out_src1_data = VL_RAND_RESET_I(32); { int __Vi0=0; for (; __Vi0<32; ++__Vi0) { - Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[__Vi0] = VL_RAND_RESET_I(32); + Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[__Vi0] = VL_RAND_RESET_I(32); }} { int __Vi0=0; for (; __Vi0<32; ++__Vi0) { - Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers[__Vi0] = VL_RAND_RESET_I(32); + Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers[__Vi0] = VL_RAND_RESET_I(32); }} { int __Vi0=0; for (; __Vi0<32; ++__Vi0) { - Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[__Vi0] = VL_RAND_RESET_I(32); + Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[__Vi0] = VL_RAND_RESET_I(32); + }} + { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__rd1_register[__Vi0] = VL_RAND_RESET_I(32); + }} + { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__rd2_register[__Vi0] = VL_RAND_RESET_I(32); + }} + { int __Vi0=0; for (; __Vi0<32; ++__Vi0) { + Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[__Vi0] = VL_RAND_RESET_I(32); + }} + Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_state_stall = VL_RAND_RESET_I(6); + Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__wspawn_state_stall = VL_RAND_RESET_I(6); + Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_src2_data = VL_RAND_RESET_I(32); + Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_src1_data = VL_RAND_RESET_I(32); + { int __Vi0=0; for (; __Vi0<32; ++__Vi0) { + Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[__Vi0] = VL_RAND_RESET_I(32); + }} + { int __Vi0=0; for (; __Vi0<32; ++__Vi0) { + Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[__Vi0] = VL_RAND_RESET_I(32); + }} + Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__out_src2_data = VL_RAND_RESET_I(32); + Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__out_src1_data = VL_RAND_RESET_I(32); + { int __Vi0=0; for (; __Vi0<32; ++__Vi0) { + Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[__Vi0] = VL_RAND_RESET_I(32); + }} + { int __Vi0=0; for (; __Vi0<32; ++__Vi0) { + Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers[__Vi0] = VL_RAND_RESET_I(32); + }} + { int __Vi0=0; for (; __Vi0<32; ++__Vi0) { + Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[__Vi0] = VL_RAND_RESET_I(32); }} Vortex__DOT__vx_d_e_reg__DOT__rd = VL_RAND_RESET_I(5); { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { @@ -5193,5 +7573,4 @@ void VVortex::_ctor_var_reset() { __Vtable1_Vortex__DOT__vx_decode__DOT__mul_alu[5] = 0x15U; __Vtable1_Vortex__DOT__vx_decode__DOT__mul_alu[6] = 0x16U; __Vtable1_Vortex__DOT__vx_decode__DOT__mul_alu[7] = 0x17U; - __Vdly__Vortex__DOT__vx_fetch__DOT__warp_num = VL_RAND_RESET_I(2); } diff --git a/rtl/obj_dir/VVortex.h b/rtl/obj_dir/VVortex.h index e6668355..5f027ce3 100644 --- a/rtl/obj_dir/VVortex.h +++ b/rtl/obj_dir/VVortex.h @@ -25,6 +25,7 @@ VL_MODULE(VVortex) { VL_IN8(reset,0,0); VL_OUT8(out_cache_driver_in_mem_read,2,0); VL_OUT8(out_cache_driver_in_mem_write,2,0); + VL_OUT8(out_ebreak,0,0); VL_IN(fe_instruction,31,0); VL_OUT(curr_PC,31,0); VL_IN(in_cache_driver_out_data[2],31,0); @@ -41,23 +42,35 @@ VL_MODULE(VVortex) { VL_SIG8(Vortex__DOT__decode_branch_type,2,0); VL_SIG8(Vortex__DOT__decode_jal,0,0); VL_SIG8(Vortex__DOT__decode_clone_stall,0,0); + VL_SIG8(Vortex__DOT__decode_change_mask,0,0); VL_SIG8(Vortex__DOT__execute_branch_stall,0,0); + VL_SIG8(Vortex__DOT__memory_branch_dir,0,0); VL_SIG8(Vortex__DOT__forwarding_fwd_stall,0,0); VL_SIG8(Vortex__DOT__forwarding_src1_fwd,0,0); VL_SIG8(Vortex__DOT__forwarding_src2_fwd,0,0); VL_SIG8(Vortex__DOT__vx_fetch__DOT__stall,0,0); VL_SIG8(Vortex__DOT__vx_fetch__DOT__warp_num,1,0); VL_SIG8(Vortex__DOT__vx_fetch__DOT__warp_state,1,0); + VL_SIG8(Vortex__DOT__vx_fetch__DOT__add_warp,0,0); + VL_SIG8(Vortex__DOT__vx_fetch__DOT__remove_warp,0,0); VL_SIG8(Vortex__DOT__vx_fetch__DOT__warp_zero_change_mask,0,0); + VL_SIG8(Vortex__DOT__vx_fetch__DOT__warp_zero_stall,0,0); + VL_SIG8(Vortex__DOT__vx_fetch__DOT__warp_one_change_mask,0,0); + VL_SIG8(Vortex__DOT__vx_fetch__DOT__warp_one_stall,0,0); VL_SIG8(Vortex__DOT__vx_f_d_reg__DOT__warp_num,1,0); VL_SIG8(Vortex__DOT__vx_decode__DOT__is_itype,0,0); VL_SIG8(Vortex__DOT__vx_decode__DOT__is_csr,0,0); VL_SIG8(Vortex__DOT__vx_decode__DOT__is_clone,0,0); VL_SIG8(Vortex__DOT__vx_decode__DOT__is_jalrs,0,0); VL_SIG8(Vortex__DOT__vx_decode__DOT__is_jmprt,0,0); + VL_SIG8(Vortex__DOT__vx_decode__DOT__is_wspawn,0,0); + VL_SIG8(Vortex__DOT__vx_decode__DOT__jal_sys_jal,0,0); VL_SIG8(Vortex__DOT__vx_decode__DOT__mul_alu,4,0); + VL_SIG8(Vortex__DOT__vx_decode__DOT__is_ebreak,0,0); VL_SIG8(Vortex__DOT__vx_decode__DOT__temp_final_alu,4,0); - VL_SIG8(Vortex__DOT__vx_decode__DOT__VX_Context__DOT__state_stall,5,0); + VL_SIG8(Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__state_stall,5,0); + VL_SIG8(Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_state_stall,5,0); + VL_SIG8(Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__wspawn_state_stall,5,0); VL_SIG8(Vortex__DOT__vx_d_e_reg__DOT__rd,4,0); VL_SIG8(Vortex__DOT__vx_d_e_reg__DOT__alu_op,4,0); VL_SIG8(Vortex__DOT__vx_d_e_reg__DOT__wb,1,0); @@ -89,20 +102,24 @@ VL_MODULE(VVortex) { VL_SIG16(Vortex__DOT__decode_csr_address,11,0); VL_SIG16(Vortex__DOT__vx_decode__DOT__alu_tempp,11,0); VL_SIG16(Vortex__DOT__vx_d_e_reg__DOT__csr_address,11,0); + }; + struct { VL_SIG16(Vortex__DOT__vx_e_m_reg__DOT__csr_address,11,0); VL_SIG16(Vortex__DOT__vx_csr_handler__DOT__decode_csr_address,11,0); VL_SIG(Vortex__DOT__decode_itype_immed,31,0); VL_SIG(Vortex__DOT__decode_jal_offset,31,0); + VL_SIG(Vortex__DOT__memory_branch_dest,31,0); VL_SIG(Vortex__DOT__csr_decode_csr_data,31,0); - VL_SIG(Vortex__DOT__vx_fetch__DOT__VX_Warp__DOT__real_PC,31,0); - VL_SIG(Vortex__DOT__vx_fetch__DOT__VX_Warp__DOT__temp_PC,31,0); + VL_SIG(Vortex__DOT__vx_fetch__DOT__out_PC,31,0); + VL_SIG(Vortex__DOT__vx_fetch__DOT__VX_Warp_zero__DOT__real_PC,31,0); + VL_SIG(Vortex__DOT__vx_fetch__DOT__VX_Warp_zero__DOT__temp_PC,31,0); + VL_SIG(Vortex__DOT__vx_fetch__DOT__VX_Warp_one__DOT__real_PC,31,0); + VL_SIG(Vortex__DOT__vx_fetch__DOT__VX_Warp_one__DOT__temp_PC,31,0); VL_SIG(Vortex__DOT__vx_f_d_reg__DOT__instruction,31,0); VL_SIG(Vortex__DOT__vx_f_d_reg__DOT__curr_PC,31,0); VL_SIG(Vortex__DOT__vx_d_e_reg__DOT__PC_next_out,31,0); VL_SIG(Vortex__DOT__vx_d_e_reg__DOT__itype_immed,31,0); VL_SIG(Vortex__DOT__vx_d_e_reg__DOT__upper_immed,19,0); - }; - struct { VL_SIG(Vortex__DOT__vx_d_e_reg__DOT__csr_mask,31,0); VL_SIG(Vortex__DOT__vx_d_e_reg__DOT__curr_PC,31,0); VL_SIG(Vortex__DOT__vx_d_e_reg__DOT__jal_offset,31,0); @@ -142,16 +159,30 @@ VL_MODULE(VVortex) { VL_SIG(Vortex__DOT__writeback_write_data[2],31,0); VL_SIG(Vortex__DOT__forwarding_src1_fwd_data[2],31,0); VL_SIG(Vortex__DOT__forwarding_src2_fwd_data[2],31,0); - VL_SIG8(Vortex__DOT__vx_fetch__DOT__warp_valid[2],0,0); - VL_SIG8(Vortex__DOT__vx_fetch__DOT__VX_Warp__DOT__valid[2],0,0); + VL_SIG8(Vortex__DOT__vx_fetch__DOT__warp_zero_valid[2],0,0); + VL_SIG8(Vortex__DOT__vx_fetch__DOT__warp_one_valid[2],0,0); + VL_SIG8(Vortex__DOT__vx_fetch__DOT__VX_Warp_zero__DOT__valid[2],0,0); + VL_SIG8(Vortex__DOT__vx_fetch__DOT__VX_Warp_one__DOT__valid[2],0,0); VL_SIG8(Vortex__DOT__vx_f_d_reg__DOT__valid[2],0,0); + VL_SIG(Vortex__DOT__vx_decode__DOT__w0_t0_registers[32],31,0); + VL_SIG(Vortex__DOT__vx_decode__DOT__zero_a_reg_data[2],31,0); + VL_SIG(Vortex__DOT__vx_decode__DOT__zero_b_reg_data[2],31,0); + VL_SIG(Vortex__DOT__vx_decode__DOT__one_a_reg_data[2],31,0); + }; + struct { + VL_SIG(Vortex__DOT__vx_decode__DOT__one_b_reg_data[2],31,0); VL_SIG8(Vortex__DOT__vx_decode__DOT__jalrs_thread_mask[2],0,0); VL_SIG8(Vortex__DOT__vx_decode__DOT__jmprt_thread_mask[2],0,0); - VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context__DOT__rd1_register[2],31,0); - VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context__DOT__rd2_register[2],31,0); - VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context__DOT__clone_regsiters[32],31,0); - VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context__DOT__vx_register_file_master__DOT__registers[32],31,0); - VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[32],31,0); + VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__rd1_register[2],31,0); + VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__rd2_register[2],31,0); + VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__clone_regsiters[32],31,0); + VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__vx_register_file_master__DOT__registers[32],31,0); + VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[32],31,0); + VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__rd1_register[2],31,0); + VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__rd2_register[2],31,0); + VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__clone_regsiters[32],31,0); + VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__vx_register_file_master__DOT__registers[32],31,0); + VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__DOT__registers[32],31,0); VL_SIG(Vortex__DOT__vx_d_e_reg__DOT__a_reg_data[2],31,0); VL_SIG(Vortex__DOT__vx_d_e_reg__DOT__b_reg_data[2],31,0); VL_SIG8(Vortex__DOT__vx_d_e_reg__DOT__valid[2],0,0); @@ -167,8 +198,6 @@ VL_MODULE(VVortex) { VL_SIG(Vortex__DOT__vx_writeback__DOT__out_pc_data[2],31,0); VL_SIG(Vortex__DOT__vx_forwarding__DOT__use_execute_PC_next[2],31,0); VL_SIG(Vortex__DOT__vx_forwarding__DOT__use_memory_PC_next[2],31,0); - }; - struct { VL_SIG(Vortex__DOT__vx_forwarding__DOT__use_writeback_PC_next[2],31,0); VL_SIG16(Vortex__DOT__vx_csr_handler__DOT__csr[4096],11,0); }; @@ -179,13 +208,16 @@ VL_MODULE(VVortex) { struct { // Begin mtask footprint all: VL_SIG8(__Vtableidx1,2,0); - VL_SIG8(__Vdly__Vortex__DOT__vx_fetch__DOT__warp_num,1,0); VL_SIG8(__Vclklast__TOP__clk,0,0); VL_SIG8(__Vclklast__TOP__reset,0,0); - VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_src2_data,31,0); - VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_src1_data,31,0); - VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__out_src2_data,31,0); - VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__out_src1_data,31,0); + VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_src2_data,31,0); + VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_src1_data,31,0); + VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__out_src2_data,31,0); + VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__out_src1_data,31,0); + VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_src2_data,31,0); + VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_src1_data,31,0); + VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__out_src2_data,31,0); + VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__out_src1_data,31,0); VL_SIG(Vortex__DOT__vx_execute__DOT____Vcellout__genblk1__BRA__0__KET____DOT__vx_alu__out_alu_result,31,0); VL_SIG(Vortex__DOT__vx_execute__DOT____Vcellout__genblk1__BRA__1__KET____DOT__vx_alu__out_alu_result,31,0); VL_SIG8(Vortex__DOT____Vcellout__vx_fetch__out_valid[2],0,0); @@ -239,24 +271,37 @@ VL_MODULE(VVortex) { VL_SIG(Vortex__DOT____Vcellinp__vx_writeback__in_mem_result[2],31,0); VL_SIG(Vortex__DOT____Vcellinp__vx_writeback__in_alu_result[2],31,0); VL_SIG(Vortex__DOT____Vcellout__vx_forwarding__out_src2_fwd_data[2],31,0); + }; + struct { VL_SIG(Vortex__DOT____Vcellout__vx_forwarding__out_src1_fwd_data[2],31,0); VL_SIG(Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_mem_data[2],31,0); VL_SIG(Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_alu_result[2],31,0); - }; - struct { VL_SIG(Vortex__DOT____Vcellinp__vx_forwarding__in_memory_mem_data[2],31,0); VL_SIG(Vortex__DOT____Vcellinp__vx_forwarding__in_memory_alu_result[2],31,0); VL_SIG(Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result[2],31,0); - VL_SIG8(Vortex__DOT__vx_fetch__DOT____Vcellout__VX_Warp__out_valid[2],0,0); - VL_SIG8(Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp__in_thread_mask[2],0,0); - VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context__out_b_reg_data[2],31,0); - VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context__out_a_reg_data[2],31,0); - VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context__in_write_data[2],31,0); - VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context__in_src2_fwd_data[2],31,0); - VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context__in_src1_fwd_data[2],31,0); - VL_SIG8(Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context__in_valid[2],0,0); - VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellout__vx_register_file_master__out_regs[32],31,0); - VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[32],31,0); + VL_SIG8(Vortex__DOT__vx_fetch__DOT____Vcellout__VX_Warp_zero__out_valid[2],0,0); + VL_SIG8(Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp_zero__in_thread_mask[2],0,0); + VL_SIG8(Vortex__DOT__vx_fetch__DOT____Vcellout__VX_Warp_one__out_valid[2],0,0); + VL_SIG8(Vortex__DOT__vx_fetch__DOT____Vcellinp__VX_Warp_one__in_thread_mask[2],0,0); + VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__w0_t0_registers[32],31,0); + VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__out_b_reg_data[2],31,0); + VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_zero__out_a_reg_data[2],31,0); + VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_zero__in_write_data[2],31,0); + VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_zero__in_src2_fwd_data[2],31,0); + VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_zero__in_src1_fwd_data[2],31,0); + VL_SIG8(Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_zero__in_valid[2],0,0); + VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_one__out_b_reg_data[2],31,0); + VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellout__VX_Context_one__out_a_reg_data[2],31,0); + VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_wspawn_regs[32],31,0); + VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_write_data[2],31,0); + VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_src2_fwd_data[2],31,0); + VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_src1_fwd_data[2],31,0); + VL_SIG8(Vortex__DOT__vx_decode__DOT____Vcellinp__VX_Context_one__in_valid[2],0,0); + VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellout__vx_register_file_master__out_regs[32],31,0); + VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_zero__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[32],31,0); + VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellout__vx_register_file_master__out_regs[32],31,0); + VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__vx_register_file_master__in_wspawn_regs[32],31,0); + VL_SIG(Vortex__DOT__vx_decode__DOT__VX_Context_one__DOT____Vcellinp__gen_code_label__BRA__1__KET____DOT__vx_register_file_slave__in_regs[32],31,0); }; static VL_ST_SIG8(__Vtable1_Vortex__DOT__vx_decode__DOT__mul_alu[8],4,0); diff --git a/rtl/obj_dir/VVortex__ALL.a b/rtl/obj_dir/VVortex__ALL.a index 8712c3475c9284e57682ce814873300b4539be92..5826850fd0ce66fc417fbc5cac299eca9104c1f5 100644 GIT binary patch literal 92480 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 literal 72904 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 diff --git a/rtl/obj_dir/VVortex__ALLcls.o b/rtl/obj_dir/VVortex__ALLcls.o index 3b8332b2a995bd6c07fee833a2a53f2a571f6c96..cd842ca5a4c3ecd5405179280f05f55ef1abb4bb 100644 GIT binary patch literal 89344 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 Q>AkUitG&4(Lsww^KQ9(V5C8xG literal 69768 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 Bp9=s0 diff --git a/rtl/results.txt b/rtl/results.txt index dc381a3e..28b5491f 100644 --- a/rtl/results.txt +++ b/rtl/results.txt @@ -1,7 +1,7 @@ -# Dynamic Instructions: 122612 -# of total cycles: 122624 +# Dynamic Instructions: 222955 +# of total cycles: 222962 # of forwarding stalls: 0 # of branch stalls: 0 -# CPI: 1.0001 +# CPI: 1.00003 # time to simulate: 6.95312e-310 milliseconds -# GRADE: Failed on test: 0 +# GRADE: Failed on test: 4294967295 diff --git a/rtl/test_bench.h b/rtl/test_bench.h index 7802293f..1d4790a6 100644 --- a/rtl/test_bench.h +++ b/rtl/test_bench.h @@ -326,11 +326,12 @@ bool Vortex::simulate(std::string file_to_simulate) bool istop; bool dstop; - + bool cont = false; // for (int i = 0; i < 500; i++) // unsigned cycles; - while (this->stop && (!(stop && (counter > 5)))) + counter = 0; + while (this->stop && ((counter < 5))) { // std::cout << "************* Cycle: " << cycle << "\n"; @@ -347,10 +348,12 @@ bool Vortex::simulate(std::string file_to_simulate) vortex->eval(); - stop = istop && dstop; + // stop = istop && dstop; + stop = vortex->out_ebreak; - if (stop) + if (stop || cont) { + cont = true; counter++; } else {