From 52a839f84dd86af0c61cb8f27a2afdc538fe1bef Mon Sep 17 00:00:00 2001 From: felsabbagh3 Date: Sat, 30 Mar 2019 22:14:44 -0400 Subject: [PATCH] Using verilog For-loops + Passing all tests --- rtl/VX_define.h | 5 +- rtl/VX_define.v | 5 +- rtl/VX_fetch.v | 8 +- rtl/obj_dir/VVortex | Bin 381468 -> 401948 bytes rtl/obj_dir/VVortex.cpp | 2378 +++++++++++++++++++++++++---- rtl/obj_dir/VVortex.h | 212 +-- rtl/obj_dir/VVortex__ALL.a | Bin 61792 -> 80880 bytes rtl/obj_dir/VVortex__ALLcls.o | Bin 58556 -> 77644 bytes rtl/obj_dir/VVortex__verFiles.dat | 20 +- rtl/obj_dir/debug.txt | 246 +-- rtl/obj_dir/test_bench.o | Bin 64740 -> 64740 bytes rtl/results.txt | 92 +- 12 files changed, 2379 insertions(+), 587 deletions(-) diff --git a/rtl/VX_define.h b/rtl/VX_define.h index 0ef8d8b6..2fd9f837 100644 --- a/rtl/VX_define.h +++ b/rtl/VX_define.h @@ -1,8 +1,7 @@ -#define NT 2 -#define NT_M1 1 -#define NT_T2_M1 3 +#define NT 5 +#define NT_M1 4 #define R_INST 51 #define L_INST 3 diff --git a/rtl/VX_define.v b/rtl/VX_define.v index 5bc5b8ce..627c576d 100644 --- a/rtl/VX_define.v +++ b/rtl/VX_define.v @@ -1,7 +1,6 @@ -`define NT 2 -`define NT_M1 1 -`define NT_T2_M1 3 +`define NT 5 +`define NT_M1 4 `define R_INST 7'd51 diff --git a/rtl/VX_fetch.v b/rtl/VX_fetch.v index e208adbf..835ea6fe 100644 --- a/rtl/VX_fetch.v +++ b/rtl/VX_fetch.v @@ -45,14 +45,14 @@ module VX_fetch ( reg[`NT_M1:0] valid; - // integer ini_cur_th = 0; + integer ini_cur_th = 0; genvar out_cur_th; initial begin - // for (ini_cur_th = 0; ini_cur_th < `NT; ini_cur_th=ini_cur_th+1) - // valid[ini_cur_th] = 1; // Thread 1 active + for (ini_cur_th = 1; ini_cur_th < `NT; ini_cur_th=ini_cur_th+1) + valid[ini_cur_th] = 0; // Thread 1 active valid[0] = 1; - valid[1] = 0; + // valid[1] = 0; stall_reg = 0; delay_reg = 0; old = 0; diff --git a/rtl/obj_dir/VVortex b/rtl/obj_dir/VVortex index 66696e66d2f2108e39f6306938f4103e44c5e949..517a7088050adacec41d8e10f8b0562bac4be633 100755 GIT binary patch delta 92615 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

f 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

T*4(1Al)zNExr`*PM6x} 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 = ((IData)(vlTOPp->reset) ? 0U @@ -129,11 +132,20 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__1(VVortex__Syms* __restrict vlSymsp) __Vdlyvset__Vortex__DOT__vx_f_d_reg__DOT__valid__v0 = 1U; } else { if ((1U & (~ (IData)(vlTOPp->Vortex__DOT__forwarding_fwd_stall)))) { - __Vdlyvval__Vortex__DOT__vx_f_d_reg__DOT__valid__v2 + __Vdlyvval__Vortex__DOT__vx_f_d_reg__DOT__valid__v5 + = vlTOPp->Vortex__DOT____Vcellinp__vx_f_d_reg__in_valid + [4U]; + __Vdlyvset__Vortex__DOT__vx_f_d_reg__DOT__valid__v5 = 1U; + __Vdlyvval__Vortex__DOT__vx_f_d_reg__DOT__valid__v6 + = vlTOPp->Vortex__DOT____Vcellinp__vx_f_d_reg__in_valid + [3U]; + __Vdlyvval__Vortex__DOT__vx_f_d_reg__DOT__valid__v7 + = vlTOPp->Vortex__DOT____Vcellinp__vx_f_d_reg__in_valid + [2U]; + __Vdlyvval__Vortex__DOT__vx_f_d_reg__DOT__valid__v8 = 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 + __Vdlyvval__Vortex__DOT__vx_f_d_reg__DOT__valid__v9 = vlTOPp->Vortex__DOT____Vcellinp__vx_f_d_reg__in_valid [0U]; } @@ -161,13 +173,31 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__1(VVortex__Syms* __restrict vlSymsp) 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; + vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__valid[2U] = 0U; + vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__valid[3U] = 0U; + vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__valid[4U] = 0U; } - if (__Vdlyvset__Vortex__DOT__vx_f_d_reg__DOT__valid__v2) { + if (__Vdlyvset__Vortex__DOT__vx_f_d_reg__DOT__valid__v5) { + vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__valid[4U] + = __Vdlyvval__Vortex__DOT__vx_f_d_reg__DOT__valid__v5; + vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__valid[3U] + = __Vdlyvval__Vortex__DOT__vx_f_d_reg__DOT__valid__v6; + vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__valid[2U] + = __Vdlyvval__Vortex__DOT__vx_f_d_reg__DOT__valid__v7; vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__valid[1U] - = __Vdlyvval__Vortex__DOT__vx_f_d_reg__DOT__valid__v2; + = __Vdlyvval__Vortex__DOT__vx_f_d_reg__DOT__valid__v8; vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__valid[0U] - = __Vdlyvval__Vortex__DOT__vx_f_d_reg__DOT__valid__v3; + = __Vdlyvval__Vortex__DOT__vx_f_d_reg__DOT__valid__v9; } + vlTOPp->Vortex__DOT____Vcellout__vx_f_d_reg__out_valid[4U] + = vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__valid + [4U]; + vlTOPp->Vortex__DOT____Vcellout__vx_f_d_reg__out_valid[3U] + = vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__valid + [3U]; + vlTOPp->Vortex__DOT____Vcellout__vx_f_d_reg__out_valid[2U] + = vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__valid + [2U]; vlTOPp->Vortex__DOT____Vcellout__vx_f_d_reg__out_valid[1U] = vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__valid [1U]; @@ -197,20 +227,47 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__1(VVortex__Syms* __restrict vlSymsp) : ((1U & (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__state)) ? vlTOPp->Vortex__DOT__vx_fetch__DOT__JAL_reg : vlTOPp->Vortex__DOT__vx_fetch__DOT__real_PC))))))); + vlTOPp->Vortex__DOT__f_d_valid[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_f_d_reg__out_valid + [4U]; + vlTOPp->Vortex__DOT__f_d_valid[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_f_d_reg__out_valid + [3U]; + vlTOPp->Vortex__DOT__f_d_valid[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_f_d_reg__out_valid + [2U]; 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[4U] + = vlTOPp->Vortex__DOT__f_d_valid[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_valid[3U] + = vlTOPp->Vortex__DOT__f_d_valid[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_valid[2U] + = vlTOPp->Vortex__DOT__f_d_valid[2U]; 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[4U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_valid + [4U]; + vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_valid[3U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_valid + [3U]; + vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_valid[2U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_valid + [2U]; 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[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_valid + [4U]; + vlTOPp->Vortex__DOT__decode_valid[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_valid + [3U]; + vlTOPp->Vortex__DOT__decode_valid[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_valid + [2U]; 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 @@ -228,10 +285,19 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__2(VVortex__Syms* __restrict vlSymsp) VL_SIG8(__Vdlyvset__Vortex__DOT__vx_decode__DOT__vx_register_file_1__DOT__registers__v0,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_d_e_reg__DOT__valid__v2,0,0); + VL_SIG8(__Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__valid__v3,0,0); + VL_SIG8(__Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__valid__v4,0,0); VL_SIG8(__Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__valid__v0,0,0); VL_SIG8(__Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__valid__v1,0,0); + VL_SIG8(__Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__valid__v2,0,0); + VL_SIG8(__Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__valid__v3,0,0); + VL_SIG8(__Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__valid__v4,0,0); VL_SIG8(__Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__valid__v0,0,0); VL_SIG8(__Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__valid__v1,0,0); + VL_SIG8(__Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__valid__v2,0,0); + VL_SIG8(__Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__valid__v3,0,0); + VL_SIG8(__Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__valid__v4,0,0); 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); @@ -239,16 +305,34 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__2(VVortex__Syms* __restrict vlSymsp) VL_SIG(__Vdlyvval__Vortex__DOT__vx_decode__DOT__vx_register_file_1__DOT__registers__v0,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__a_reg_data__v2,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__a_reg_data__v3,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__a_reg_data__v4,31,0); VL_SIG(__Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__b_reg_data__v0,31,0); VL_SIG(__Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__b_reg_data__v1,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__b_reg_data__v2,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__b_reg_data__v3,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__b_reg_data__v4,31,0); VL_SIG(__Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__alu_result__v0,31,0); VL_SIG(__Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__alu_result__v1,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__alu_result__v2,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__alu_result__v3,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__alu_result__v4,31,0); VL_SIG(__Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__b_reg_data__v0,31,0); VL_SIG(__Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__b_reg_data__v1,31,0); - VL_SIG(__Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__mem_result__v0,31,0); - VL_SIG(__Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__mem_result__v1,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__b_reg_data__v2,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__b_reg_data__v3,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__b_reg_data__v4,31,0); 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); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__alu_result__v2,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__alu_result__v3,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__alu_result__v4,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__mem_result__v0,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__mem_result__v1,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__mem_result__v2,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__mem_result__v3,31,0); + VL_SIG(__Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__mem_result__v4,31,0); // Body __Vdlyvset__Vortex__DOT__vx_decode__DOT__vx_register_file_1__DOT__registers__v0 = 0U; __Vdlyvset__Vortex__DOT__vx_decode__DOT__vx_register_file_0__DOT__registers__v0 = 0U; @@ -256,37 +340,50 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__2(VVortex__Syms* __restrict vlSymsp) // ALWAYS at VX_m_w_reg.v:60 __Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__valid__v0 = vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_valid - [1U]; + [4U]; __Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__valid__v1 + = vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_valid + [3U]; + __Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__valid__v2 + = vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_valid + [2U]; + __Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__valid__v3 + = vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_valid + [1U]; + __Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__valid__v4 = vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_valid [0U]; // ALWAYS at VX_e_m_reg.v:126 __Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__b_reg_data__v0 = vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_b_reg_data - [1U]; + [4U]; __Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__b_reg_data__v1 + = vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_b_reg_data + [3U]; + __Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__b_reg_data__v2 + = vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_b_reg_data + [2U]; + __Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__b_reg_data__v3 + = vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_b_reg_data + [1U]; + __Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__b_reg_data__v4 = vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_b_reg_data [0U]; // ALWAYS at VX_e_m_reg.v:126 __Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__valid__v0 = vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_valid - [1U]; + [4U]; __Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__valid__v1 = vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_valid - [0U]; - // ALWAYS at VX_m_w_reg.v:60 - __Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__alu_result__v0 - = vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_alu_result + [3U]; + __Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__valid__v2 + = vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_valid + [2U]; + __Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__valid__v3 + = vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_valid [1U]; - __Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__alu_result__v1 - = vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_alu_result - [0U]; - // ALWAYS at VX_m_w_reg.v:60 - __Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__mem_result__v0 - = vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_mem_result - [1U]; - __Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__mem_result__v1 - = vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_mem_result + __Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__valid__v4 + = vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_valid [0U]; // ALWAYS at VX_d_e_reg.v:138 vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__upper_immed @@ -304,6 +401,38 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__2(VVortex__Syms* __restrict vlSymsp) // ALWAYS at VX_csr_handler.v:34 vlTOPp->Vortex__DOT__vx_csr_handler__DOT__decode_csr_address = vlTOPp->Vortex__DOT__decode_csr_address; + // ALWAYS at VX_m_w_reg.v:60 + __Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__mem_result__v0 + = vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_mem_result + [4U]; + __Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__mem_result__v1 + = vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_mem_result + [3U]; + __Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__mem_result__v2 + = vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_mem_result + [2U]; + __Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__mem_result__v3 + = vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_mem_result + [1U]; + __Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__mem_result__v4 + = vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_mem_result + [0U]; + // ALWAYS at VX_m_w_reg.v:60 + __Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__alu_result__v0 + = vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_alu_result + [4U]; + __Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__alu_result__v1 + = vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_alu_result + [3U]; + __Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__alu_result__v2 + = vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_alu_result + [2U]; + __Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__alu_result__v3 + = vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_alu_result + [1U]; + __Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__alu_result__v4 + = vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_alu_result + [0U]; // ALWAYS at VX_csr_handler.v:34 vlTOPp->Vortex__DOT__vx_csr_handler__DOT__cycle = (VL_ULL(1) + vlTOPp->Vortex__DOT__vx_csr_handler__DOT__cycle); @@ -319,22 +448,30 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__2(VVortex__Syms* __restrict vlSymsp) | (0x23U == (0x7fU & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction))) ? 1U : 0U)))); // ALWAYS at VX_e_m_reg.v:126 - __Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__alu_result__v0 - = vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_alu_result - [1U]; - __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:126 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:138 __Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__valid__v0 + = ((IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__stalling) + ? vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__valid_z + [4U] : vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_valid + [4U]); + __Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__valid__v1 + = ((IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__stalling) + ? vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__valid_z + [3U] : vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_valid + [3U]); + __Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__valid__v2 + = ((IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__stalling) + ? vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__valid_z + [2U] : vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_valid + [2U]); + __Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__valid__v3 = ((IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__stalling) ? vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__valid_z [1U] : vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_valid [1U]); - __Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__valid__v1 + __Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__valid__v4 = ((IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__stalling) ? vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__valid_z [0U] : vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_valid @@ -350,12 +487,28 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__2(VVortex__Syms* __restrict vlSymsp) // ALWAYS at VX_e_m_reg.v:126 vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__curr_PC = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__curr_PC; // ALWAYS at VX_e_m_reg.v:126 + vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__branch_offset + = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__itype_immed; + // ALWAYS at VX_e_m_reg.v:126 vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__jal_dest = (vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_a_reg_data [0U] + vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__jal_offset); // ALWAYS at VX_e_m_reg.v:126 - vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__branch_offset - = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__itype_immed; + __Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__alu_result__v0 + = vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_alu_result + [4U]; + __Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__alu_result__v1 + = vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_alu_result + [3U]; + __Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__alu_result__v2 + = vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_alu_result + [2U]; + __Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__alu_result__v3 + = vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_alu_result + [1U]; + __Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__alu_result__v4 + = vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_alu_result + [0U]; // ALWAYS at VX_m_w_reg.v:60 vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__PC_next = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__PC_next; // ALWAYS at VX_register_file.v:36 @@ -388,11 +541,26 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__2(VVortex__Syms* __restrict vlSymsp) } // ALWAYS at VX_d_e_reg.v:138 __Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__a_reg_data__v0 + = ((IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__stalling) + ? vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__reg_data_z + [4U] : vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_a_reg_data + [4U]); + __Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__a_reg_data__v1 + = ((IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__stalling) + ? vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__reg_data_z + [3U] : vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_a_reg_data + [3U]); + __Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__a_reg_data__v2 + = ((IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__stalling) + ? vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__reg_data_z + [2U] : vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_a_reg_data + [2U]); + __Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__a_reg_data__v3 = ((IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__stalling) ? vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__reg_data_z [1U] : vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_a_reg_data [1U]); - __Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__a_reg_data__v1 + __Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__a_reg_data__v4 = ((IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__stalling) ? vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__reg_data_z [0U] : vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_a_reg_data @@ -407,50 +575,107 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__2(VVortex__Syms* __restrict vlSymsp) } // ALWAYS at VX_d_e_reg.v:138 __Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__b_reg_data__v0 + = ((IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__stalling) + ? vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__reg_data_z + [4U] : vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_b_reg_data + [4U]); + __Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__b_reg_data__v1 + = ((IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__stalling) + ? vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__reg_data_z + [3U] : vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_b_reg_data + [3U]); + __Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__b_reg_data__v2 + = ((IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__stalling) + ? vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__reg_data_z + [2U] : vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_b_reg_data + [2U]); + __Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__b_reg_data__v3 = ((IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__stalling) ? vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__reg_data_z [1U] : vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_b_reg_data [1U]); - __Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__b_reg_data__v1 + __Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__b_reg_data__v4 = ((IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__stalling) ? 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]); // ALWAYSPOST at VX_m_w_reg.v:69 - vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__valid[1U] + vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__valid[4U] = __Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__valid__v0; - vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__valid[0U] + vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__valid[3U] = __Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__valid__v1; + vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__valid[2U] + = __Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__valid__v2; + vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__valid[1U] + = __Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__valid__v3; + vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__valid[0U] + = __Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__valid__v4; // ALWAYSPOST at VX_e_m_reg.v:137 - vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__b_reg_data[1U] + vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__b_reg_data[4U] = __Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__b_reg_data__v0; - vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__b_reg_data[0U] + vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__b_reg_data[3U] = __Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__b_reg_data__v1; + vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__b_reg_data[2U] + = __Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__b_reg_data__v2; + vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__b_reg_data[1U] + = __Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__b_reg_data__v3; + vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__b_reg_data[0U] + = __Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__b_reg_data__v4; // ALWAYSPOST at VX_e_m_reg.v:146 - vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__valid[1U] + vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__valid[4U] = __Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__valid__v0; - vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__valid[0U] + vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__valid[3U] = __Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__valid__v1; - // ALWAYSPOST at VX_m_w_reg.v:62 - vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__alu_result[1U] - = __Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__alu_result__v0; - vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__alu_result[0U] - = __Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__alu_result__v1; + vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__valid[2U] + = __Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__valid__v2; + vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__valid[1U] + = __Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__valid__v3; + vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__valid[0U] + = __Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__valid__v4; // ALWAYSPOST at VX_m_w_reg.v:63 - vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__mem_result[1U] + vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__mem_result[4U] = __Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__mem_result__v0; - vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__mem_result[0U] + vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__mem_result[3U] = __Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__mem_result__v1; - // ALWAYSPOST at VX_e_m_reg.v:128 - vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__alu_result[1U] - = __Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__alu_result__v0; - vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__alu_result[0U] - = __Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__alu_result__v1; + vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__mem_result[2U] + = __Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__mem_result__v2; + vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__mem_result[1U] + = __Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__mem_result__v3; + vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__mem_result[0U] + = __Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__mem_result__v4; + // ALWAYSPOST at VX_m_w_reg.v:62 + vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__alu_result[4U] + = __Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__alu_result__v0; + vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__alu_result[3U] + = __Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__alu_result__v1; + vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__alu_result[2U] + = __Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__alu_result__v2; + vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__alu_result[1U] + = __Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__alu_result__v3; + vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__alu_result[0U] + = __Vdlyvval__Vortex__DOT__vx_m_w_reg__DOT__alu_result__v4; // ALWAYSPOST at VX_d_e_reg.v:160 - vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__valid[1U] + vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__valid[4U] = __Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__valid__v0; - vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__valid[0U] + vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__valid[3U] = __Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__valid__v1; + vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__valid[2U] + = __Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__valid__v2; + vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__valid[1U] + = __Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__valid__v3; + vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__valid[0U] + = __Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__valid__v4; + // ALWAYSPOST at VX_e_m_reg.v:128 + vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__alu_result[4U] + = __Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__alu_result__v0; + vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__alu_result[3U] + = __Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__alu_result__v1; + vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__alu_result[2U] + = __Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__alu_result__v2; + vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__alu_result[1U] + = __Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__alu_result__v3; + vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__alu_result[0U] + = __Vdlyvval__Vortex__DOT__vx_e_m_reg__DOT__alu_result__v4; // ALWAYSPOST at VX_register_file.v:39 if (__Vdlyvset__Vortex__DOT__vx_decode__DOT__vx_register_file_1__DOT__registers__v0) { vlTOPp->Vortex__DOT__vx_decode__DOT__vx_register_file_1__DOT__registers[__Vdlyvdim0__Vortex__DOT__vx_decode__DOT__vx_register_file_1__DOT__registers__v0] @@ -462,60 +687,120 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__2(VVortex__Syms* __restrict vlSymsp) = __Vdlyvval__Vortex__DOT__vx_decode__DOT__vx_register_file_0__DOT__registers__v0; } // ALWAYSPOST at VX_d_e_reg.v:143 - vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__a_reg_data[1U] + vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__a_reg_data[4U] = __Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__a_reg_data__v0; - vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__a_reg_data[0U] + vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__a_reg_data[3U] = __Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__a_reg_data__v1; + vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__a_reg_data[2U] + = __Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__a_reg_data__v2; + vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__a_reg_data[1U] + = __Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__a_reg_data__v3; + vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__a_reg_data[0U] + = __Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__a_reg_data__v4; // ALWAYSPOST at VX_csr_handler.v:45 if (__Vdlyvset__Vortex__DOT__vx_csr_handler__DOT__csr__v0) { vlTOPp->Vortex__DOT__vx_csr_handler__DOT__csr[__Vdlyvdim0__Vortex__DOT__vx_csr_handler__DOT__csr__v0] = __Vdlyvval__Vortex__DOT__vx_csr_handler__DOT__csr__v0; } // ALWAYSPOST at VX_d_e_reg.v:144 - vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__b_reg_data[1U] + vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__b_reg_data[4U] = __Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__b_reg_data__v0; - vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__b_reg_data[0U] + vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__b_reg_data[3U] = __Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__b_reg_data__v1; + vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__b_reg_data[2U] + = __Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__b_reg_data__v2; + vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__b_reg_data[1U] + = __Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__b_reg_data__v3; + vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__b_reg_data[0U] + = __Vdlyvval__Vortex__DOT__vx_d_e_reg__DOT__b_reg_data__v4; + vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_valid[4U] + = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__valid + [4U]; + vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_valid[3U] + = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__valid + [3U]; + vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_valid[2U] + = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__valid + [2U]; vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_valid[1U] = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__valid [1U]; vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_valid[0U] = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__valid [0U]; + vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_b_reg_data[4U] + = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__b_reg_data + [4U]; + vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_b_reg_data[3U] + = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__b_reg_data + [3U]; + vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_b_reg_data[2U] + = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__b_reg_data + [2U]; 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]; vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_b_reg_data[0U] = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__b_reg_data [0U]; + vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_valid[4U] + = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__valid + [4U]; + vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_valid[3U] + = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__valid + [3U]; + vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_valid[2U] + = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__valid + [2U]; vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_valid[1U] = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__valid [1U]; vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_valid[0U] = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__valid [0U]; - vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_alu_result[1U] - = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__alu_result - [1U]; - vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_alu_result[0U] - = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__alu_result - [0U]; + vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_mem_result[4U] + = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__mem_result + [4U]; + vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_mem_result[3U] + = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__mem_result + [3U]; + vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_mem_result[2U] + = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__mem_result + [2U]; vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_mem_result[1U] = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__mem_result [1U]; vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_mem_result[0U] = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__mem_result [0U]; - vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_alu_result[1U] - = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__alu_result + vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_alu_result[4U] + = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__alu_result + [4U]; + vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_alu_result[3U] + = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__alu_result + [3U]; + vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_alu_result[2U] + = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__alu_result + [2U]; + vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_alu_result[1U] + = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__alu_result [1U]; - vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_alu_result[0U] - = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__alu_result + vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_alu_result[0U] + = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__alu_result [0U]; // ALWAYS at VX_d_e_reg.v:138 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[4U] + = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__valid + [4U]; + vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_valid[3U] + = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__valid + [3U]; + vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_valid[2U] + = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__valid + [2U]; vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_valid[1U] = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__valid [1U]; @@ -564,6 +849,13 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__2(VVortex__Syms* __restrict vlSymsp) vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__curr_PC = ((IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__stalling) ? 0U : vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__curr_PC); + 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:138 + vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__itype_immed + = ((IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__stalling) + ? 0xdeadbeefU : vlTOPp->Vortex__DOT__decode_itype_immed); // ALWAYS at VX_d_e_reg.v:138 vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__jal_offset = ((IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__stalling) @@ -596,13 +888,21 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__2(VVortex__Syms* __restrict vlSymsp) >> 0x14U)))) ? 0xb0000000U : 0xdeadbeefU) : 0xdeadbeefU)))); - 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:138 - vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__itype_immed - = ((IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__stalling) - ? 0xdeadbeefU : vlTOPp->Vortex__DOT__decode_itype_immed); + vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_alu_result[4U] + = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__alu_result + [4U]; + vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_alu_result[3U] + = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__alu_result + [3U]; + vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_alu_result[2U] + = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__alu_result + [2U]; + vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_alu_result[1U] + = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__alu_result + [1U]; + 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__vx_writeback__DOT__out_pc_data[0U] = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__PC_next; vlTOPp->Vortex__DOT__vx_writeback__DOT__out_pc_data[1U] @@ -611,12 +911,27 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__2(VVortex__Syms* __restrict vlSymsp) = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__PC_next; vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_writeback_PC_next[1U] = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__PC_next; + vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_writeback_PC_next[2U] + = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__PC_next; + vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_writeback_PC_next[3U] + = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__PC_next; + vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_writeback_PC_next[4U] + = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__PC_next; // ALWAYS at VX_e_m_reg.v:126 vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__PC_next = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__PC_next_out; // ALWAYS at VX_m_w_reg.v:60 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:60 vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__wb; + vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_a_reg_data[4U] + = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__a_reg_data + [4U]; + vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_a_reg_data[3U] + = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__a_reg_data + [3U]; + vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_a_reg_data[2U] + = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__a_reg_data + [2U]; vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_a_reg_data[1U] = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__a_reg_data [1U]; @@ -639,40 +954,97 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__2(VVortex__Syms* __restrict vlSymsp) ? (vlTOPp->Vortex__DOT__csr_decode_csr_data & ((IData)(0xffffffffU) - vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__csr_mask)) : 0xdeadbeefU))); + vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_b_reg_data[4U] + = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__b_reg_data + [4U]; + vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_b_reg_data[3U] + = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__b_reg_data + [3U]; + vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_b_reg_data[2U] + = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__b_reg_data + [2U]; vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_b_reg_data[1U] = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__b_reg_data [1U]; 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__m_w_valid[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_valid + [4U]; + vlTOPp->Vortex__DOT__m_w_valid[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_valid + [3U]; + vlTOPp->Vortex__DOT__m_w_valid[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_valid + [2U]; vlTOPp->Vortex__DOT__m_w_valid[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_valid [1U]; vlTOPp->Vortex__DOT__m_w_valid[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_valid [0U]; + vlTOPp->Vortex__DOT__e_m_b_reg_data[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_b_reg_data + [4U]; + vlTOPp->Vortex__DOT__e_m_b_reg_data[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_b_reg_data + [3U]; + vlTOPp->Vortex__DOT__e_m_b_reg_data[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_b_reg_data + [2U]; 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 [0U]; + vlTOPp->Vortex__DOT__e_m_valid[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_valid + [4U]; + vlTOPp->Vortex__DOT__e_m_valid[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_valid + [3U]; + vlTOPp->Vortex__DOT__e_m_valid[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_valid + [2U]; vlTOPp->Vortex__DOT__e_m_valid[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_valid [1U]; vlTOPp->Vortex__DOT__e_m_valid[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_valid [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 - [0U]; + vlTOPp->Vortex__DOT__m_w_mem_result[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_mem_result + [4U]; + vlTOPp->Vortex__DOT__m_w_mem_result[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_mem_result + [3U]; + vlTOPp->Vortex__DOT__m_w_mem_result[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_mem_result + [2U]; vlTOPp->Vortex__DOT__m_w_mem_result[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_mem_result [1U]; vlTOPp->Vortex__DOT__m_w_mem_result[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_mem_result [0U]; - vlTOPp->Vortex__DOT__e_m_alu_result[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_alu_result + vlTOPp->Vortex__DOT__m_w_alu_result[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_alu_result + [4U]; + vlTOPp->Vortex__DOT__m_w_alu_result[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_alu_result + [3U]; + vlTOPp->Vortex__DOT__m_w_alu_result[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_alu_result + [2U]; + vlTOPp->Vortex__DOT__m_w_alu_result[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_alu_result [1U]; - vlTOPp->Vortex__DOT__e_m_alu_result[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_alu_result + vlTOPp->Vortex__DOT__m_w_alu_result[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_alu_result [0U]; + vlTOPp->Vortex__DOT__d_e_valid[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_valid + [4U]; + vlTOPp->Vortex__DOT__d_e_valid[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_valid + [3U]; + vlTOPp->Vortex__DOT__d_e_valid[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_valid + [2U]; vlTOPp->Vortex__DOT__d_e_valid[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_valid [1U]; vlTOPp->Vortex__DOT__d_e_valid[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_valid [0U]; + vlTOPp->Vortex__DOT__e_m_alu_result[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_alu_result + [4U]; + vlTOPp->Vortex__DOT__e_m_alu_result[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_alu_result + [3U]; + vlTOPp->Vortex__DOT__e_m_alu_result[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_alu_result + [2U]; + vlTOPp->Vortex__DOT__e_m_alu_result[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_alu_result + [1U]; + vlTOPp->Vortex__DOT__e_m_alu_result[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_alu_result + [0U]; + vlTOPp->Vortex__DOT__d_e_a_reg_data[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_a_reg_data + [4U]; + vlTOPp->Vortex__DOT__d_e_a_reg_data[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_a_reg_data + [3U]; + vlTOPp->Vortex__DOT__d_e_a_reg_data[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_a_reg_data + [2U]; vlTOPp->Vortex__DOT__d_e_a_reg_data[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_a_reg_data [1U]; vlTOPp->Vortex__DOT__d_e_a_reg_data[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_a_reg_data @@ -699,46 +1071,102 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__2(VVortex__Syms* __restrict vlSymsp) : vlTOPp->Vortex__DOT__vx_csr_handler__DOT__csr [vlTOPp->Vortex__DOT__vx_csr_handler__DOT__decode_csr_address])))); + vlTOPp->Vortex__DOT__d_e_b_reg_data[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_b_reg_data + [4U]; + vlTOPp->Vortex__DOT__d_e_b_reg_data[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_b_reg_data + [3U]; + vlTOPp->Vortex__DOT__d_e_b_reg_data[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_b_reg_data + [2U]; vlTOPp->Vortex__DOT__d_e_b_reg_data[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_b_reg_data [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____Vcellinp__vx_decode__in_wb_valid[4U] + = vlTOPp->Vortex__DOT__m_w_valid[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_wb_valid[3U] + = vlTOPp->Vortex__DOT__m_w_valid[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_wb_valid[2U] + = vlTOPp->Vortex__DOT__m_w_valid[2U]; 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] = vlTOPp->Vortex__DOT__m_w_valid[0U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_valid[4U] + = vlTOPp->Vortex__DOT__m_w_valid[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_valid[3U] + = vlTOPp->Vortex__DOT__m_w_valid[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_valid[2U] + = vlTOPp->Vortex__DOT__m_w_valid[2U]; vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_valid[1U] = vlTOPp->Vortex__DOT__m_w_valid[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_valid[0U] = vlTOPp->Vortex__DOT__m_w_valid[0U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_rd2[4U] + = vlTOPp->Vortex__DOT__e_m_b_reg_data[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_rd2[3U] + = vlTOPp->Vortex__DOT__e_m_b_reg_data[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_rd2[2U] + = vlTOPp->Vortex__DOT__e_m_b_reg_data[2U]; 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] = vlTOPp->Vortex__DOT__e_m_b_reg_data[0U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_valid[4U] + = vlTOPp->Vortex__DOT__e_m_valid[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_valid[3U] + = vlTOPp->Vortex__DOT__e_m_valid[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_valid[2U] + = vlTOPp->Vortex__DOT__e_m_valid[2U]; vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_valid[1U] = vlTOPp->Vortex__DOT__e_m_valid[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_valid[0U] = vlTOPp->Vortex__DOT__e_m_valid[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] - = vlTOPp->Vortex__DOT__m_w_alu_result[0U]; - vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_alu_result[1U] - = vlTOPp->Vortex__DOT__m_w_alu_result[1U]; - vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_alu_result[0U] - = vlTOPp->Vortex__DOT__m_w_alu_result[0U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_mem_result[4U] + = vlTOPp->Vortex__DOT__m_w_mem_result[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_mem_result[3U] + = vlTOPp->Vortex__DOT__m_w_mem_result[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_mem_result[2U] + = vlTOPp->Vortex__DOT__m_w_mem_result[2U]; vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_mem_result[1U] = vlTOPp->Vortex__DOT__m_w_mem_result[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_mem_result[0U] = vlTOPp->Vortex__DOT__m_w_mem_result[0U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_mem_data[4U] + = vlTOPp->Vortex__DOT__m_w_mem_result[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_mem_data[3U] + = vlTOPp->Vortex__DOT__m_w_mem_result[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_mem_data[2U] + = vlTOPp->Vortex__DOT__m_w_mem_result[2U]; vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_mem_data[1U] = vlTOPp->Vortex__DOT__m_w_mem_result[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_mem_data[0U] = vlTOPp->Vortex__DOT__m_w_mem_result[0U]; - vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result[1U] - = 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____Vcellinp__vx_writeback__in_alu_result[4U] + = vlTOPp->Vortex__DOT__m_w_alu_result[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_alu_result[3U] + = vlTOPp->Vortex__DOT__m_w_alu_result[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_alu_result[2U] + = vlTOPp->Vortex__DOT__m_w_alu_result[2U]; + 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] + = vlTOPp->Vortex__DOT__m_w_alu_result[0U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_alu_result[4U] + = vlTOPp->Vortex__DOT__m_w_alu_result[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_alu_result[3U] + = vlTOPp->Vortex__DOT__m_w_alu_result[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_alu_result[2U] + = vlTOPp->Vortex__DOT__m_w_alu_result[2U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_alu_result[1U] + = vlTOPp->Vortex__DOT__m_w_alu_result[1U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_alu_result[0U] + = vlTOPp->Vortex__DOT__m_w_alu_result[0U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_valid[4U] + = vlTOPp->Vortex__DOT__d_e_valid[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_valid[3U] + = vlTOPp->Vortex__DOT__d_e_valid[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_valid[2U] + = vlTOPp->Vortex__DOT__d_e_valid[2U]; 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] @@ -746,10 +1174,26 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__2(VVortex__Syms* __restrict vlSymsp) 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_memory__in_alu_result[4U] + = vlTOPp->Vortex__DOT__e_m_alu_result[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result[3U] + = vlTOPp->Vortex__DOT__e_m_alu_result[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result[2U] + = vlTOPp->Vortex__DOT__e_m_alu_result[2U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result[1U] + = 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__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] = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__PC_next; + vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_memory_PC_next[2U] + = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__PC_next; + vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_memory_PC_next[3U] + = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__PC_next; + vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_memory_PC_next[4U] + = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__PC_next; // ALWAYS at VX_d_e_reg.v:138 vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__PC_next_out = ((IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__stalling) @@ -758,6 +1202,12 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__2(VVortex__Syms* __restrict vlSymsp) 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:126 vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__wb = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__wb; + vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_a_reg_data[4U] + = vlTOPp->Vortex__DOT__d_e_a_reg_data[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_a_reg_data[3U] + = vlTOPp->Vortex__DOT__d_e_a_reg_data[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_a_reg_data[2U] + = vlTOPp->Vortex__DOT__d_e_a_reg_data[2U]; vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_a_reg_data[1U] = vlTOPp->Vortex__DOT__d_e_a_reg_data[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_a_reg_data[0U] @@ -787,28 +1237,82 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__2(VVortex__Syms* __restrict vlSymsp) & vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction))) ? (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__mul_alu) : (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__temp_final_alu))); + vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_b_reg_data[4U] + = vlTOPp->Vortex__DOT__d_e_b_reg_data[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_b_reg_data[3U] + = vlTOPp->Vortex__DOT__d_e_b_reg_data[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_b_reg_data[2U] + = vlTOPp->Vortex__DOT__d_e_b_reg_data[2U]; vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_b_reg_data[1U] = 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____Vcellout__vx_memory__out_cache_driver_in_data[4U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_rd2 + [4U]; + vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_data[3U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_rd2 + [3U]; + vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_data[2U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_rd2 + [2U]; vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_data[1U] = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_rd2 [1U]; vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_data[0U] = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_rd2 [0U]; + vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_valid[4U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_valid + [4U]; + vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_valid[3U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_valid + [3U]; + vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_valid[2U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_valid + [2U]; vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_valid[1U] = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_valid [1U]; vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_valid[0U] = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_valid [0U]; + vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_valid[4U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_valid + [4U]; + vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_valid[3U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_valid + [3U]; + vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_valid[2U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_valid + [2U]; vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_valid[1U] = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_valid [1U]; vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_valid[0U] = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_valid [0U]; + vlTOPp->Vortex__DOT____Vcellout__vx_writeback__out_write_data[4U] + = ((3U == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT__vx_writeback__DOT__out_pc_data + [4U] : ((1U == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_alu_result + [4U] : vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_mem_result + [4U])); + vlTOPp->Vortex__DOT____Vcellout__vx_writeback__out_write_data[3U] + = ((3U == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT__vx_writeback__DOT__out_pc_data + [3U] : ((1U == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_alu_result + [3U] : vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_mem_result + [3U])); + vlTOPp->Vortex__DOT____Vcellout__vx_writeback__out_write_data[2U] + = ((3U == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT__vx_writeback__DOT__out_pc_data + [2U] : ((1U == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_alu_result + [2U] : vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_mem_result + [2U])); 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 @@ -823,11 +1327,20 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__2(VVortex__Syms* __restrict vlSymsp) ? vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_alu_result [0U] : vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_mem_result [0U])); - vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_address[1U] - = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result + vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_valid[4U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_valid + [4U]; + vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_valid[3U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_valid + [3U]; + vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_valid[2U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_valid + [2U]; + vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_valid[1U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_valid [1U]; - vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_address[0U] - = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result + vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_valid[0U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_valid [0U]; // ALWAYS at VX_memory.v:74 vlTOPp->Vortex__DOT__memory_branch_dir = (1U & @@ -875,18 +1388,45 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__2(VVortex__Syms* __restrict vlSymsp) == vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result [0U]))))); + vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_address[4U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result + [4U]; + vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_address[3U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result + [3U]; + vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_address[2U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result + [2U]; + 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]; + vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_alu_result[4U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result + [4U]; + vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_alu_result[3U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result + [3U]; + vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_alu_result[2U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result + [2U]; vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_alu_result[1U] = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result [1U]; vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_alu_result[0U] = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result [0U]; - vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_valid[1U] - = vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_valid - [1U]; - vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_valid[0U] - = vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_valid - [0U]; + vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_b_reg_data[4U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_b_reg_data + [4U]; + vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_b_reg_data[3U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_b_reg_data + [3U]; + vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_b_reg_data[2U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_b_reg_data + [2U]; vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_b_reg_data[1U] = vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_b_reg_data [1U]; @@ -903,40 +1443,91 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__2(VVortex__Syms* __restrict vlSymsp) ? vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__itype_immed : vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_b_reg_data [1U]); + vlTOPp->out_cache_driver_in_data[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_data + [4U]; + vlTOPp->out_cache_driver_in_data[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_data + [3U]; + vlTOPp->out_cache_driver_in_data[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_data + [2U]; vlTOPp->out_cache_driver_in_data[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_data [1U]; vlTOPp->out_cache_driver_in_data[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_data [0U]; + vlTOPp->out_cache_driver_in_valid[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_valid + [4U]; + vlTOPp->out_cache_driver_in_valid[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_valid + [3U]; + vlTOPp->out_cache_driver_in_valid[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_valid + [2U]; vlTOPp->out_cache_driver_in_valid[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_valid [1U]; vlTOPp->out_cache_driver_in_valid[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_valid [0U]; + vlTOPp->Vortex__DOT__memory_valid[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_valid + [4U]; + vlTOPp->Vortex__DOT__memory_valid[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_valid + [3U]; + vlTOPp->Vortex__DOT__memory_valid[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_valid + [2U]; vlTOPp->Vortex__DOT__memory_valid[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_valid [1U]; vlTOPp->Vortex__DOT__memory_valid[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_valid [0U]; + vlTOPp->Vortex__DOT__writeback_write_data[4U] = + vlTOPp->Vortex__DOT____Vcellout__vx_writeback__out_write_data + [4U]; + vlTOPp->Vortex__DOT__writeback_write_data[3U] = + vlTOPp->Vortex__DOT____Vcellout__vx_writeback__out_write_data + [3U]; + vlTOPp->Vortex__DOT__writeback_write_data[2U] = + vlTOPp->Vortex__DOT____Vcellout__vx_writeback__out_write_data + [2U]; vlTOPp->Vortex__DOT__writeback_write_data[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_writeback__out_write_data [1U]; vlTOPp->Vortex__DOT__writeback_write_data[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_writeback__out_write_data [0U]; - 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]; - 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 - [0U]; + vlTOPp->Vortex__DOT__execute_valid[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_valid + [4U]; + vlTOPp->Vortex__DOT__execute_valid[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_valid + [3U]; + vlTOPp->Vortex__DOT__execute_valid[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_valid + [2U]; vlTOPp->Vortex__DOT__execute_valid[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_valid [1U]; vlTOPp->Vortex__DOT__execute_valid[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_valid [0U]; + vlTOPp->out_cache_driver_in_address[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_address + [4U]; + vlTOPp->out_cache_driver_in_address[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_address + [3U]; + vlTOPp->out_cache_driver_in_address[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_address + [2U]; + 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]; + vlTOPp->Vortex__DOT__memory_alu_result[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_alu_result + [4U]; + vlTOPp->Vortex__DOT__memory_alu_result[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_alu_result + [3U]; + vlTOPp->Vortex__DOT__memory_alu_result[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_alu_result + [2U]; + 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 + [0U]; vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_execute_PC_next[0U] = 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_forwarding__DOT__use_execute_PC_next[2U] + = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__PC_next_out; + vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_execute_PC_next[3U] + = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__PC_next_out; + vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_execute_PC_next[4U] + = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__PC_next_out; // ALWAYS at VX_d_e_reg.v:138 vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__rd = (0x1fU & ((IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__stalling) @@ -989,6 +1580,12 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__2(VVortex__Syms* __restrict vlSymsp) | (IData)(vlTOPp->Vortex__DOT__vx_decode__DOT__is_csr)) ? 1U : 0U)))); + vlTOPp->Vortex__DOT__execute_b_reg_data[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_b_reg_data + [4U]; + vlTOPp->Vortex__DOT__execute_b_reg_data[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_b_reg_data + [3U]; + vlTOPp->Vortex__DOT__execute_b_reg_data[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_b_reg_data + [2U]; 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 @@ -1003,28 +1600,67 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__2(VVortex__Syms* __restrict vlSymsp) vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_a_reg_data [1U]), VL_EXTENDS_QI(64,32, vlTOPp->Vortex__DOT__vx_execute__DOT__vx_alu_1__DOT__ALU_in2)); + vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_valid[4U] + = vlTOPp->Vortex__DOT__memory_valid[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_valid[3U] + = vlTOPp->Vortex__DOT__memory_valid[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_valid[2U] + = vlTOPp->Vortex__DOT__memory_valid[2U]; vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_valid[1U] = 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____Vcellinp__vx_decode__in_write_data[4U] + = vlTOPp->Vortex__DOT__writeback_write_data + [4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_write_data[3U] + = vlTOPp->Vortex__DOT__writeback_write_data + [3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_write_data[2U] + = vlTOPp->Vortex__DOT__writeback_write_data + [2U]; vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_write_data[1U] = vlTOPp->Vortex__DOT__writeback_write_data [1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_write_data[0U] = vlTOPp->Vortex__DOT__writeback_write_data [0U]; - 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] - = vlTOPp->Vortex__DOT__memory_alu_result[0U]; - vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_alu_result[1U] - = vlTOPp->Vortex__DOT__memory_alu_result[1U]; - vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_alu_result[0U] - = vlTOPp->Vortex__DOT__memory_alu_result[0U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_valid[4U] + = vlTOPp->Vortex__DOT__execute_valid[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_valid[3U] + = vlTOPp->Vortex__DOT__execute_valid[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_valid[2U] + = vlTOPp->Vortex__DOT__execute_valid[2U]; vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_valid[1U] = 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____Vcellinp__vx_m_w_reg__in_alu_result[4U] + = vlTOPp->Vortex__DOT__memory_alu_result[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_alu_result[3U] + = vlTOPp->Vortex__DOT__memory_alu_result[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_alu_result[2U] + = vlTOPp->Vortex__DOT__memory_alu_result[2U]; + 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] + = vlTOPp->Vortex__DOT__memory_alu_result[0U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_alu_result[4U] + = vlTOPp->Vortex__DOT__memory_alu_result[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_alu_result[3U] + = vlTOPp->Vortex__DOT__memory_alu_result[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_alu_result[2U] + = vlTOPp->Vortex__DOT__memory_alu_result[2U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_alu_result[1U] + = vlTOPp->Vortex__DOT__memory_alu_result[1U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_alu_result[0U] + = vlTOPp->Vortex__DOT__memory_alu_result[0U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_b_reg_data[4U] + = vlTOPp->Vortex__DOT__execute_b_reg_data[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_b_reg_data[3U] + = vlTOPp->Vortex__DOT__execute_b_reg_data[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_b_reg_data[2U] + = vlTOPp->Vortex__DOT__execute_b_reg_data[2U]; 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] @@ -1323,24 +1959,93 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__2(VVortex__Syms* __restrict vlSymsp) = vlTOPp->Vortex__DOT__vx_execute__DOT____Vcellout__vx_alu_0__out_alu_result; vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_alu_result[1U] = vlTOPp->Vortex__DOT__vx_execute__DOT____Vcellout__vx_alu_1__out_alu_result; + vlTOPp->Vortex__DOT__execute_alu_result[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_alu_result + [4U]; + vlTOPp->Vortex__DOT__execute_alu_result[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_alu_result + [3U]; + vlTOPp->Vortex__DOT__execute_alu_result[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_alu_result + [2U]; vlTOPp->Vortex__DOT__execute_alu_result[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_alu_result [1U]; vlTOPp->Vortex__DOT__execute_alu_result[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_alu_result [0U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_alu_result[4U] + = vlTOPp->Vortex__DOT__execute_alu_result[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_alu_result[3U] + = vlTOPp->Vortex__DOT__execute_alu_result[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_alu_result[2U] + = vlTOPp->Vortex__DOT__execute_alu_result[2U]; vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_alu_result[1U] = vlTOPp->Vortex__DOT__execute_alu_result[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_alu_result[0U] = vlTOPp->Vortex__DOT__execute_alu_result[0U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result[4U] + = vlTOPp->Vortex__DOT__execute_alu_result[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result[3U] + = vlTOPp->Vortex__DOT__execute_alu_result[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result[2U] + = vlTOPp->Vortex__DOT__execute_alu_result[2U]; vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result[1U] = vlTOPp->Vortex__DOT__execute_alu_result[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result[0U] = vlTOPp->Vortex__DOT__execute_alu_result[0U]; } -VL_INLINE_OPT void VVortex::_combo__TOP__3(VVortex__Syms* __restrict vlSymsp) { - VL_DEBUG_IF(VL_DBG_MSGF("+ VVortex::_combo__TOP__3\n"); ); +VL_INLINE_OPT void VVortex::_sequent__TOP__3(VVortex__Syms* __restrict vlSymsp) { + VL_DEBUG_IF(VL_DBG_MSGF("+ VVortex::_sequent__TOP__3\n"); ); VVortex* __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; // Body + // ALWAYS at VX_writeback.v:43 + if (VL_UNLIKELY((0U != (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)))) { + VL_WRITEF("[%x] WB Data: %x {%x}, to register: %2# [%1# %1#]\n", + 32,(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__PC_next + - (IData)(4U)),32,vlTOPp->Vortex__DOT____Vcellout__vx_writeback__out_write_data + [0U],32,vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_mem_result + [0U],5,vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__rd, + 1,vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_valid + [0U],1,vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_valid + [1U]); + } + // ALWAYS at VX_register_file.v:43 + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__vx_register_file_1__out_src2_data + = vlTOPp->Vortex__DOT__vx_decode__DOT__vx_register_file_1__DOT__registers + [(0x1fU & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction + >> 0x14U))]; + // ALWAYS at VX_register_file.v:43 + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__vx_register_file_0__out_src2_data + = vlTOPp->Vortex__DOT__vx_decode__DOT__vx_register_file_0__DOT__registers + [(0x1fU & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction + >> 0x14U))]; + // ALWAYS at VX_register_file.v:43 + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__vx_register_file_1__out_src1_data + = vlTOPp->Vortex__DOT__vx_decode__DOT__vx_register_file_1__DOT__registers + [(0x1fU & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction + >> 0xfU))]; + // ALWAYS at VX_register_file.v:43 + vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__vx_register_file_0__out_src1_data + = vlTOPp->Vortex__DOT__vx_decode__DOT__vx_register_file_0__DOT__registers + [(0x1fU & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction + >> 0xfU))]; + vlTOPp->Vortex__DOT__vx_decode__DOT__rd2_register[1U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__vx_register_file_1__out_src2_data; + vlTOPp->Vortex__DOT__vx_decode__DOT__rd2_register[0U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__vx_register_file_0__out_src2_data; + vlTOPp->Vortex__DOT__vx_decode__DOT__rd1_register[1U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__vx_register_file_1__out_src1_data; + vlTOPp->Vortex__DOT__vx_decode__DOT__rd1_register[0U] + = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__vx_register_file_0__out_src1_data; +} + +VL_INLINE_OPT void VVortex::_combo__TOP__4(VVortex__Syms* __restrict vlSymsp) { + VL_DEBUG_IF(VL_DBG_MSGF("+ VVortex::_combo__TOP__4\n"); ); + VVortex* __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; + // Body + vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_cache_driver_out_data[4U] + = vlTOPp->in_cache_driver_out_data[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_cache_driver_out_data[3U] + = vlTOPp->in_cache_driver_out_data[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_cache_driver_out_data[2U] + = vlTOPp->in_cache_driver_out_data[2U]; vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_cache_driver_out_data[1U] = vlTOPp->in_cache_driver_out_data[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_cache_driver_out_data[0U] @@ -1352,6 +2057,15 @@ VL_INLINE_OPT void VVortex::_combo__TOP__3(VVortex__Syms* __restrict vlSymsp) { 32,vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_cache_driver_out_data [0U]); } + vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_mem_result[4U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_cache_driver_out_data + [4U]; + vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_mem_result[3U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_cache_driver_out_data + [3U]; + vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_mem_result[2U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_cache_driver_out_data + [2U]; vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_mem_result[1U] = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_cache_driver_out_data [1U]; @@ -1366,28 +2080,61 @@ VL_INLINE_OPT void VVortex::_combo__TOP__3(VVortex__Syms* __restrict vlSymsp) { [0U],32,vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result [0U]); } + vlTOPp->Vortex__DOT__memory_mem_result[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_mem_result + [4U]; + vlTOPp->Vortex__DOT__memory_mem_result[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_mem_result + [3U]; + vlTOPp->Vortex__DOT__memory_mem_result[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_mem_result + [2U]; vlTOPp->Vortex__DOT__memory_mem_result[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_mem_result [1U]; vlTOPp->Vortex__DOT__memory_mem_result[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_mem_result [0U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_mem_result[4U] + = vlTOPp->Vortex__DOT__memory_mem_result[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_mem_result[3U] + = vlTOPp->Vortex__DOT__memory_mem_result[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_mem_result[2U] + = vlTOPp->Vortex__DOT__memory_mem_result[2U]; vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_mem_result[1U] = vlTOPp->Vortex__DOT__memory_mem_result[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_mem_result[0U] = vlTOPp->Vortex__DOT__memory_mem_result[0U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_mem_data[4U] + = vlTOPp->Vortex__DOT__memory_mem_result[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_mem_data[3U] + = vlTOPp->Vortex__DOT__memory_mem_result[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_mem_data[2U] + = vlTOPp->Vortex__DOT__memory_mem_result[2U]; vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_mem_data[1U] = 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]; } -void VVortex::_settle__TOP__4(VVortex__Syms* __restrict vlSymsp) { - VL_DEBUG_IF(VL_DBG_MSGF("+ VVortex::_settle__TOP__4\n"); ); +void VVortex::_settle__TOP__5(VVortex__Syms* __restrict vlSymsp) { + VL_DEBUG_IF(VL_DBG_MSGF("+ VVortex::_settle__TOP__5\n"); ); VVortex* __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; // Body + vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_cache_driver_out_data[4U] + = vlTOPp->in_cache_driver_out_data[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_cache_driver_out_data[3U] + = vlTOPp->in_cache_driver_out_data[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_cache_driver_out_data[2U] + = vlTOPp->in_cache_driver_out_data[2U]; vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_cache_driver_out_data[1U] = vlTOPp->in_cache_driver_out_data[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_cache_driver_out_data[0U] = vlTOPp->in_cache_driver_out_data[0U]; + vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_valid[4U] + = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__valid + [4U]; + vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_valid[3U] + = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__valid + [3U]; + vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_valid[2U] + = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__valid + [2U]; vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_valid[1U] = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__valid [1U]; @@ -1402,18 +2149,45 @@ void VVortex::_settle__TOP__4(VVortex__Syms* __restrict vlSymsp) { = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__vx_register_file_0__out_src1_data; vlTOPp->Vortex__DOT__vx_decode__DOT__rd1_register[1U] = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__vx_register_file_1__out_src1_data; + vlTOPp->Vortex__DOT____Vcellout__vx_f_d_reg__out_valid[4U] + = vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__valid + [4U]; + vlTOPp->Vortex__DOT____Vcellout__vx_f_d_reg__out_valid[3U] + = vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__valid + [3U]; + vlTOPp->Vortex__DOT____Vcellout__vx_f_d_reg__out_valid[2U] + = vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__valid + [2U]; 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____Vcellout__vx_m_w_reg__out_alu_result[4U] + = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__alu_result + [4U]; + vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_alu_result[3U] + = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__alu_result + [3U]; + vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_alu_result[2U] + = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__alu_result + [2U]; vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_alu_result[1U] = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__alu_result [1U]; vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_alu_result[0U] = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__alu_result [0U]; + vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_mem_result[4U] + = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__mem_result + [4U]; + vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_mem_result[3U] + = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__mem_result + [3U]; + vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_mem_result[2U] + = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__mem_result + [2U]; vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_mem_result[1U] = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__mem_result [1U]; @@ -1502,24 +2276,57 @@ void VVortex::_settle__TOP__4(VVortex__Syms* __restrict vlSymsp) { 32,vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_cache_driver_out_data [0U]); } + vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_mem_result[4U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_cache_driver_out_data + [4U]; + vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_mem_result[3U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_cache_driver_out_data + [3U]; + vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_mem_result[2U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_cache_driver_out_data + [2U]; vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_mem_result[1U] = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_cache_driver_out_data [1U]; vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_mem_result[0U] = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_cache_driver_out_data [0U]; + vlTOPp->Vortex__DOT__m_w_valid[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_valid + [4U]; + vlTOPp->Vortex__DOT__m_w_valid[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_valid + [3U]; + vlTOPp->Vortex__DOT__m_w_valid[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_valid + [2U]; vlTOPp->Vortex__DOT__m_w_valid[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_valid [1U]; vlTOPp->Vortex__DOT__m_w_valid[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_valid [0U]; + vlTOPp->Vortex__DOT__f_d_valid[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_f_d_reg__out_valid + [4U]; + vlTOPp->Vortex__DOT__f_d_valid[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_f_d_reg__out_valid + [3U]; + vlTOPp->Vortex__DOT__f_d_valid[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_f_d_reg__out_valid + [2U]; 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__m_w_alu_result[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_alu_result + [4U]; + vlTOPp->Vortex__DOT__m_w_alu_result[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_alu_result + [3U]; + vlTOPp->Vortex__DOT__m_w_alu_result[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_alu_result + [2U]; 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 [0U]; + vlTOPp->Vortex__DOT__m_w_mem_result[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_mem_result + [4U]; + vlTOPp->Vortex__DOT__m_w_mem_result[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_mem_result + [3U]; + vlTOPp->Vortex__DOT__m_w_mem_result[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_mem_result + [2U]; vlTOPp->Vortex__DOT__m_w_mem_result[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_mem_result [1U]; vlTOPp->Vortex__DOT__m_w_mem_result[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_m_w_reg__out_mem_result @@ -1740,116 +2547,158 @@ void VVortex::_settle__TOP__4(VVortex__Syms* __restrict vlSymsp) { >> 0x19U))) ? 0U : 1U)))))))))); + vlTOPp->Vortex__DOT__memory_mem_result[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_mem_result + [4U]; + vlTOPp->Vortex__DOT__memory_mem_result[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_mem_result + [3U]; + vlTOPp->Vortex__DOT__memory_mem_result[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_mem_result + [2U]; vlTOPp->Vortex__DOT__memory_mem_result[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_mem_result [1U]; vlTOPp->Vortex__DOT__memory_mem_result[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_mem_result [0U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_wb_valid[4U] + = vlTOPp->Vortex__DOT__m_w_valid[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_wb_valid[3U] + = vlTOPp->Vortex__DOT__m_w_valid[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_wb_valid[2U] + = vlTOPp->Vortex__DOT__m_w_valid[2U]; 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] = vlTOPp->Vortex__DOT__m_w_valid[0U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_valid[4U] + = vlTOPp->Vortex__DOT__m_w_valid[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_valid[3U] + = vlTOPp->Vortex__DOT__m_w_valid[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_valid[2U] + = vlTOPp->Vortex__DOT__m_w_valid[2U]; vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_valid[1U] = vlTOPp->Vortex__DOT__m_w_valid[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_valid[0U] = vlTOPp->Vortex__DOT__m_w_valid[0U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_valid[4U] + = vlTOPp->Vortex__DOT__f_d_valid[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_valid[3U] + = vlTOPp->Vortex__DOT__f_d_valid[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_valid[2U] + = vlTOPp->Vortex__DOT__f_d_valid[2U]; 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____Vcellinp__vx_writeback__in_alu_result[4U] + = vlTOPp->Vortex__DOT__m_w_alu_result[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_alu_result[3U] + = vlTOPp->Vortex__DOT__m_w_alu_result[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_alu_result[2U] + = vlTOPp->Vortex__DOT__m_w_alu_result[2U]; 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] = vlTOPp->Vortex__DOT__m_w_alu_result[0U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_alu_result[4U] + = vlTOPp->Vortex__DOT__m_w_alu_result[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_alu_result[3U] + = vlTOPp->Vortex__DOT__m_w_alu_result[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_alu_result[2U] + = vlTOPp->Vortex__DOT__m_w_alu_result[2U]; vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_alu_result[1U] = vlTOPp->Vortex__DOT__m_w_alu_result[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_alu_result[0U] = vlTOPp->Vortex__DOT__m_w_alu_result[0U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_mem_result[4U] + = vlTOPp->Vortex__DOT__m_w_mem_result[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_mem_result[3U] + = vlTOPp->Vortex__DOT__m_w_mem_result[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_mem_result[2U] + = vlTOPp->Vortex__DOT__m_w_mem_result[2U]; vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_mem_result[1U] = vlTOPp->Vortex__DOT__m_w_mem_result[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_mem_result[0U] = vlTOPp->Vortex__DOT__m_w_mem_result[0U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_mem_data[4U] + = vlTOPp->Vortex__DOT__m_w_mem_result[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_mem_data[3U] + = vlTOPp->Vortex__DOT__m_w_mem_result[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_mem_data[2U] + = vlTOPp->Vortex__DOT__m_w_mem_result[2U]; vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_mem_data[1U] = vlTOPp->Vortex__DOT__m_w_mem_result[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_mem_data[0U] = vlTOPp->Vortex__DOT__m_w_mem_result[0U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_mem_result[4U] + = vlTOPp->Vortex__DOT__memory_mem_result[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_mem_result[3U] + = vlTOPp->Vortex__DOT__memory_mem_result[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_mem_result[2U] + = vlTOPp->Vortex__DOT__memory_mem_result[2U]; vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_mem_result[1U] = vlTOPp->Vortex__DOT__memory_mem_result[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_mem_result[0U] = vlTOPp->Vortex__DOT__memory_mem_result[0U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_mem_data[4U] + = vlTOPp->Vortex__DOT__memory_mem_result[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_mem_data[3U] + = vlTOPp->Vortex__DOT__memory_mem_result[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_mem_data[2U] + = vlTOPp->Vortex__DOT__memory_mem_result[2U]; vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_mem_data[1U] = 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____Vcellout__vx_decode__out_valid[4U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_valid + [4U]; + vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_valid[3U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_valid + [3U]; + vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_valid[2U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_valid + [2U]; 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[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_valid + [4U]; + vlTOPp->Vortex__DOT__decode_valid[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_valid + [3U]; + vlTOPp->Vortex__DOT__decode_valid[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_valid + [2U]; 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[4U] + = vlTOPp->Vortex__DOT__decode_valid[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_valid[3U] + = vlTOPp->Vortex__DOT__decode_valid[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_valid[2U] + = vlTOPp->Vortex__DOT__decode_valid[2U]; 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::_sequent__TOP__5(VVortex__Syms* __restrict vlSymsp) { - VL_DEBUG_IF(VL_DBG_MSGF("+ VVortex::_sequent__TOP__5\n"); ); - VVortex* __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; - // Body - // ALWAYS at VX_writeback.v:43 - if (VL_UNLIKELY((0U != (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)))) { - VL_WRITEF("[%x] WB Data: %x {%x}, to register: %2# [%1# %1#]\n", - 32,(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__PC_next - - (IData)(4U)),32,vlTOPp->Vortex__DOT____Vcellout__vx_writeback__out_write_data - [0U],32,vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_mem_result - [0U],5,vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__rd, - 1,vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_valid - [0U],1,vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_valid - [1U]); - } - // ALWAYS at VX_register_file.v:43 - vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__vx_register_file_1__out_src2_data - = vlTOPp->Vortex__DOT__vx_decode__DOT__vx_register_file_1__DOT__registers - [(0x1fU & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction - >> 0x14U))]; - // ALWAYS at VX_register_file.v:43 - vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__vx_register_file_0__out_src2_data - = vlTOPp->Vortex__DOT__vx_decode__DOT__vx_register_file_0__DOT__registers - [(0x1fU & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction - >> 0x14U))]; - // ALWAYS at VX_register_file.v:43 - vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__vx_register_file_1__out_src1_data - = vlTOPp->Vortex__DOT__vx_decode__DOT__vx_register_file_1__DOT__registers - [(0x1fU & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction - >> 0xfU))]; - // ALWAYS at VX_register_file.v:43 - vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__vx_register_file_0__out_src1_data - = vlTOPp->Vortex__DOT__vx_decode__DOT__vx_register_file_0__DOT__registers - [(0x1fU & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction - >> 0xfU))]; - vlTOPp->Vortex__DOT__vx_decode__DOT__rd2_register[1U] - = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__vx_register_file_1__out_src2_data; - vlTOPp->Vortex__DOT__vx_decode__DOT__rd2_register[0U] - = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__vx_register_file_0__out_src2_data; - vlTOPp->Vortex__DOT__vx_decode__DOT__rd1_register[1U] - = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__vx_register_file_1__out_src1_data; - vlTOPp->Vortex__DOT__vx_decode__DOT__rd1_register[0U] - = vlTOPp->Vortex__DOT__vx_decode__DOT____Vcellout__vx_register_file_0__out_src1_data; -} - void VVortex::_initial__TOP__6(VVortex__Syms* __restrict vlSymsp) { VL_DEBUG_IF(VL_DBG_MSGF("+ VVortex::_initial__TOP__6\n"); ); VVortex* __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; // Body // INITIAL at VX_fetch.v:51 + vlTOPp->Vortex__DOT__vx_fetch__DOT__valid = (0x1dU + & (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__valid)); + vlTOPp->Vortex__DOT__vx_fetch__DOT__valid = (0x1bU + & (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__valid)); + vlTOPp->Vortex__DOT__vx_fetch__DOT__valid = (0x17U + & (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__valid)); + vlTOPp->Vortex__DOT__vx_fetch__DOT__valid = (0xfU + & (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__valid)); vlTOPp->Vortex__DOT__vx_fetch__DOT__valid = (1U | (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__valid)); - vlTOPp->Vortex__DOT__vx_fetch__DOT__valid = (1U - & (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__valid)); vlTOPp->Vortex__DOT__vx_fetch__DOT__stall_reg = 0U; vlTOPp->Vortex__DOT__vx_fetch__DOT__delay_reg = 0U; vlTOPp->Vortex__DOT__vx_fetch__DOT__old = 0U; @@ -1888,6 +2737,18 @@ void VVortex::_initial__TOP__6(VVortex__Syms* __restrict vlSymsp) { vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__b_reg_data[1U] = 0U; vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__valid[1U] = 0U; vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__alu_result[1U] = 0U; + vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__a_reg_data[2U] = 0U; + vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__b_reg_data[2U] = 0U; + vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__valid[2U] = 0U; + vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__alu_result[2U] = 0U; + vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__a_reg_data[3U] = 0U; + vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__b_reg_data[3U] = 0U; + vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__valid[3U] = 0U; + vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__alu_result[3U] = 0U; + vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__a_reg_data[4U] = 0U; + vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__b_reg_data[4U] = 0U; + vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__valid[4U] = 0U; + vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__alu_result[4U] = 0U; // INITIAL at VX_d_e_reg.v:82 vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__rd = 0U; vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__a_reg_data[0U] = 0U; @@ -1900,6 +2761,21 @@ void VVortex::_initial__TOP__6(VVortex__Syms* __restrict vlSymsp) { vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__reg_data_z[1U] = 0U; vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__valid[1U] = 0U; vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__valid_z[1U] = 0U; + vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__a_reg_data[2U] = 0U; + vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__b_reg_data[2U] = 0U; + vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__reg_data_z[2U] = 0U; + vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__valid[2U] = 0U; + vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__valid_z[2U] = 0U; + vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__a_reg_data[3U] = 0U; + vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__b_reg_data[3U] = 0U; + vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__reg_data_z[3U] = 0U; + vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__valid[3U] = 0U; + vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__valid_z[3U] = 0U; + vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__a_reg_data[4U] = 0U; + vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__b_reg_data[4U] = 0U; + vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__reg_data_z[4U] = 0U; + vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__valid[4U] = 0U; + vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__valid_z[4U] = 0U; vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__alu_op = 0U; vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__wb = 0U; vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__PC_next_out = 0U; @@ -1921,6 +2797,12 @@ 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[4U] + = vlTOPp->Vortex__DOT__decode_valid[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_valid[3U] + = vlTOPp->Vortex__DOT__decode_valid[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_valid[2U] + = vlTOPp->Vortex__DOT__decode_valid[2U]; 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] @@ -2324,10 +3206,34 @@ VL_INLINE_OPT void VVortex::_sequent__TOP__7(VVortex__Syms* __restrict vlSymsp) = (1U & ((~ (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__stall)) & ((IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__valid) >> 1U))); + vlTOPp->Vortex__DOT____Vcellout__vx_fetch__out_valid[2U] + = (1U & ((~ (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__stall)) + & ((IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__valid) + >> 2U))); + vlTOPp->Vortex__DOT____Vcellout__vx_fetch__out_valid[3U] + = (1U & ((~ (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__stall)) + & ((IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__valid) + >> 3U))); + vlTOPp->Vortex__DOT____Vcellout__vx_fetch__out_valid[4U] + = (1U & ((~ (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__stall)) + & ((IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__valid) + >> 4U))); + vlTOPp->Vortex__DOT__fetch_valid[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_fetch__out_valid + [4U]; + vlTOPp->Vortex__DOT__fetch_valid[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_fetch__out_valid + [3U]; + vlTOPp->Vortex__DOT__fetch_valid[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_fetch__out_valid + [2U]; 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 [0U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_f_d_reg__in_valid[4U] + = vlTOPp->Vortex__DOT__fetch_valid[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_f_d_reg__in_valid[3U] + = vlTOPp->Vortex__DOT__fetch_valid[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_f_d_reg__in_valid[2U] + = vlTOPp->Vortex__DOT__fetch_valid[2U]; vlTOPp->Vortex__DOT____Vcellinp__vx_f_d_reg__in_valid[1U] = vlTOPp->Vortex__DOT__fetch_valid[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_f_d_reg__in_valid[0U] @@ -2367,6 +3273,12 @@ void VVortex::_settle__TOP__8(VVortex__Syms* __restrict vlSymsp) { = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__PC_next; vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_writeback_PC_next[1U] = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__PC_next; + vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_writeback_PC_next[2U] + = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__PC_next; + vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_writeback_PC_next[3U] + = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__PC_next; + vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_writeback_PC_next[4U] + = vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__PC_next; vlTOPp->Vortex__DOT__csr_decode_csr_data = ((0xc00U == (IData)(vlTOPp->Vortex__DOT__vx_csr_handler__DOT__decode_csr_address)) ? (IData)(vlTOPp->Vortex__DOT__vx_csr_handler__DOT__cycle) @@ -2394,18 +3306,45 @@ void VVortex::_settle__TOP__8(VVortex__Syms* __restrict vlSymsp) { 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[4U] + = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__b_reg_data + [4U]; + vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_b_reg_data[3U] + = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__b_reg_data + [3U]; + vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_b_reg_data[2U] + = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__b_reg_data + [2U]; 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]; vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_b_reg_data[0U] = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__b_reg_data [0U]; + vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_valid[4U] + = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__valid + [4U]; + vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_valid[3U] + = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__valid + [3U]; + vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_valid[2U] + = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__valid + [2U]; vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_valid[1U] = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__valid [1U]; vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_valid[0U] = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__valid [0U]; + vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_alu_result[4U] + = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__alu_result + [4U]; + vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_alu_result[3U] + = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__alu_result + [3U]; + vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_alu_result[2U] + = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__alu_result + [2U]; vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_alu_result[1U] = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__alu_result [1U]; @@ -2416,21 +3355,54 @@ void VVortex::_settle__TOP__8(VVortex__Syms* __restrict vlSymsp) { = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__PC_next; vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_memory_PC_next[1U] = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__PC_next; + vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_memory_PC_next[2U] + = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__PC_next; + vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_memory_PC_next[3U] + = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__PC_next; + vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_memory_PC_next[4U] + = vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__PC_next; 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____Vcellout__vx_d_e_reg__out_valid[4U] + = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__valid + [4U]; + vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_valid[3U] + = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__valid + [3U]; + vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_valid[2U] + = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__valid + [2U]; 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->Vortex__DOT____Vcellout__vx_d_e_reg__out_a_reg_data[4U] + = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__a_reg_data + [4U]; + vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_a_reg_data[3U] + = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__a_reg_data + [3U]; + vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_a_reg_data[2U] + = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__a_reg_data + [2U]; vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_a_reg_data[1U] = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__a_reg_data [1U]; 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____Vcellout__vx_d_e_reg__out_b_reg_data[4U] + = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__b_reg_data + [4U]; + vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_b_reg_data[3U] + = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__b_reg_data + [3U]; + vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_b_reg_data[2U] + = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__b_reg_data + [2U]; vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_b_reg_data[1U] = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__b_reg_data [1U]; @@ -2441,6 +3413,12 @@ void VVortex::_settle__TOP__8(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_forwarding__DOT__use_execute_PC_next[2U] + = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__PC_next_out; + vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_execute_PC_next[3U] + = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__PC_next_out; + vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_execute_PC_next[4U] + = vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__PC_next_out; 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)) @@ -2451,6 +3429,27 @@ void VVortex::_settle__TOP__8(VVortex__Syms* __restrict vlSymsp) { >> 0xfU)) == (IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__rd)) & (0U != (0x1fU & (vlTOPp->Vortex__DOT__vx_f_d_reg__DOT__instruction >> 0xfU)))) & (0U != (IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__wb))); + vlTOPp->Vortex__DOT____Vcellout__vx_writeback__out_write_data[4U] + = ((3U == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT__vx_writeback__DOT__out_pc_data + [4U] : ((1U == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_alu_result + [4U] : vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_mem_result + [4U])); + vlTOPp->Vortex__DOT____Vcellout__vx_writeback__out_write_data[3U] + = ((3U == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT__vx_writeback__DOT__out_pc_data + [3U] : ((1U == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_alu_result + [3U] : vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_mem_result + [3U])); + vlTOPp->Vortex__DOT____Vcellout__vx_writeback__out_write_data[2U] + = ((3U == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT__vx_writeback__DOT__out_pc_data + [2U] : ((1U == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_alu_result + [2U] : vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_mem_result + [2U])); 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 @@ -2465,26 +3464,62 @@ void VVortex::_settle__TOP__8(VVortex__Syms* __restrict vlSymsp) { ? vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_alu_result [0U] : vlTOPp->Vortex__DOT____Vcellinp__vx_writeback__in_mem_result [0U])); + vlTOPp->Vortex__DOT__e_m_b_reg_data[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_b_reg_data + [4U]; + vlTOPp->Vortex__DOT__e_m_b_reg_data[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_b_reg_data + [3U]; + vlTOPp->Vortex__DOT__e_m_b_reg_data[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_b_reg_data + [2U]; 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 [0U]; + vlTOPp->Vortex__DOT__e_m_valid[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_valid + [4U]; + vlTOPp->Vortex__DOT__e_m_valid[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_valid + [3U]; + vlTOPp->Vortex__DOT__e_m_valid[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_valid + [2U]; vlTOPp->Vortex__DOT__e_m_valid[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_valid [1U]; vlTOPp->Vortex__DOT__e_m_valid[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_valid [0U]; + vlTOPp->Vortex__DOT__e_m_alu_result[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_alu_result + [4U]; + vlTOPp->Vortex__DOT__e_m_alu_result[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_alu_result + [3U]; + vlTOPp->Vortex__DOT__e_m_alu_result[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_alu_result + [2U]; vlTOPp->Vortex__DOT__e_m_alu_result[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_alu_result [1U]; vlTOPp->Vortex__DOT__e_m_alu_result[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_e_m_reg__out_alu_result [0U]; + vlTOPp->Vortex__DOT__d_e_valid[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_valid + [4U]; + vlTOPp->Vortex__DOT__d_e_valid[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_valid + [3U]; + vlTOPp->Vortex__DOT__d_e_valid[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_valid + [2U]; vlTOPp->Vortex__DOT__d_e_valid[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_valid [1U]; vlTOPp->Vortex__DOT__d_e_valid[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_valid [0U]; + vlTOPp->Vortex__DOT__d_e_a_reg_data[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_a_reg_data + [4U]; + vlTOPp->Vortex__DOT__d_e_a_reg_data[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_a_reg_data + [3U]; + vlTOPp->Vortex__DOT__d_e_a_reg_data[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_a_reg_data + [2U]; vlTOPp->Vortex__DOT__d_e_a_reg_data[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_a_reg_data [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__d_e_b_reg_data[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_b_reg_data + [4U]; + vlTOPp->Vortex__DOT__d_e_b_reg_data[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_b_reg_data + [3U]; + vlTOPp->Vortex__DOT__d_e_b_reg_data[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_b_reg_data + [2U]; vlTOPp->Vortex__DOT__d_e_b_reg_data[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_b_reg_data [1U]; vlTOPp->Vortex__DOT__d_e_b_reg_data[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_d_e_reg__out_b_reg_data @@ -2502,32 +3537,77 @@ void VVortex::_settle__TOP__8(VVortex__Syms* __restrict vlSymsp) { & (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))); + vlTOPp->Vortex__DOT__writeback_write_data[4U] = + vlTOPp->Vortex__DOT____Vcellout__vx_writeback__out_write_data + [4U]; + vlTOPp->Vortex__DOT__writeback_write_data[3U] = + vlTOPp->Vortex__DOT____Vcellout__vx_writeback__out_write_data + [3U]; + vlTOPp->Vortex__DOT__writeback_write_data[2U] = + vlTOPp->Vortex__DOT____Vcellout__vx_writeback__out_write_data + [2U]; vlTOPp->Vortex__DOT__writeback_write_data[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_writeback__out_write_data [1U]; vlTOPp->Vortex__DOT__writeback_write_data[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_writeback__out_write_data [0U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_rd2[4U] + = vlTOPp->Vortex__DOT__e_m_b_reg_data[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_rd2[3U] + = vlTOPp->Vortex__DOT__e_m_b_reg_data[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_rd2[2U] + = vlTOPp->Vortex__DOT__e_m_b_reg_data[2U]; 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] = vlTOPp->Vortex__DOT__e_m_b_reg_data[0U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_valid[4U] + = vlTOPp->Vortex__DOT__e_m_valid[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_valid[3U] + = vlTOPp->Vortex__DOT__e_m_valid[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_valid[2U] + = vlTOPp->Vortex__DOT__e_m_valid[2U]; vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_valid[1U] = vlTOPp->Vortex__DOT__e_m_valid[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_valid[0U] = vlTOPp->Vortex__DOT__e_m_valid[0U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result[4U] + = vlTOPp->Vortex__DOT__e_m_alu_result[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result[3U] + = vlTOPp->Vortex__DOT__e_m_alu_result[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result[2U] + = vlTOPp->Vortex__DOT__e_m_alu_result[2U]; vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result[1U] = 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____Vcellinp__vx_execute__in_valid[4U] + = vlTOPp->Vortex__DOT__d_e_valid[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_valid[3U] + = vlTOPp->Vortex__DOT__d_e_valid[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_valid[2U] + = vlTOPp->Vortex__DOT__d_e_valid[2U]; 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____Vcellinp__vx_execute__in_a_reg_data[4U] + = vlTOPp->Vortex__DOT__d_e_a_reg_data[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_a_reg_data[3U] + = vlTOPp->Vortex__DOT__d_e_a_reg_data[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_a_reg_data[2U] + = vlTOPp->Vortex__DOT__d_e_a_reg_data[2U]; vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_a_reg_data[1U] = 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____Vcellinp__vx_execute__in_b_reg_data[4U] + = vlTOPp->Vortex__DOT__d_e_b_reg_data[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_b_reg_data[3U] + = vlTOPp->Vortex__DOT__d_e_b_reg_data[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_b_reg_data[2U] + = vlTOPp->Vortex__DOT__d_e_b_reg_data[2U]; vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_b_reg_data[1U] = vlTOPp->Vortex__DOT__d_e_b_reg_data[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_b_reg_data[0U] @@ -2556,24 +3636,60 @@ void VVortex::_settle__TOP__8(VVortex__Syms* __restrict vlSymsp) { != (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb))) & (~ (IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src1_exe_fwd))) & (~ (IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src1_mem_fwd))); + vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_write_data[4U] + = vlTOPp->Vortex__DOT__writeback_write_data + [4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_write_data[3U] + = vlTOPp->Vortex__DOT__writeback_write_data + [3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_write_data[2U] + = vlTOPp->Vortex__DOT__writeback_write_data + [2U]; vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_write_data[1U] = vlTOPp->Vortex__DOT__writeback_write_data [1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_write_data[0U] = vlTOPp->Vortex__DOT__writeback_write_data [0U]; + vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_data[4U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_rd2 + [4U]; + vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_data[3U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_rd2 + [3U]; + vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_data[2U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_rd2 + [2U]; vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_data[1U] = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_rd2 [1U]; vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_data[0U] = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_rd2 [0U]; + vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_valid[4U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_valid + [4U]; + vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_valid[3U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_valid + [3U]; + vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_valid[2U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_valid + [2U]; vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_valid[1U] = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_valid [1U]; vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_valid[0U] = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_valid [0U]; + vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_valid[4U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_valid + [4U]; + vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_valid[3U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_valid + [3U]; + vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_valid[2U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_valid + [2U]; vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_valid[1U] = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_valid [1U]; @@ -2588,12 +3704,6 @@ void VVortex::_settle__TOP__8(VVortex__Syms* __restrict vlSymsp) { [0U],32,vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result [0U]); } - 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:74 vlTOPp->Vortex__DOT__memory_branch_dir = (1U & ((4U @@ -2640,18 +3750,60 @@ void VVortex::_settle__TOP__8(VVortex__Syms* __restrict vlSymsp) { == vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result [0U]))))); + vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_address[4U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result + [4U]; + vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_address[3U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result + [3U]; + vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_address[2U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result + [2U]; + 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]; + vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_alu_result[4U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result + [4U]; + vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_alu_result[3U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result + [3U]; + vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_alu_result[2U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result + [2U]; vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_alu_result[1U] = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result [1U]; vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_alu_result[0U] = vlTOPp->Vortex__DOT____Vcellinp__vx_memory__in_alu_result [0U]; + vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_valid[4U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_valid + [4U]; + vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_valid[3U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_valid + [3U]; + vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_valid[2U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_valid + [2U]; vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_valid[1U] = vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_valid [1U]; vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_valid[0U] = vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_valid [0U]; + vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_b_reg_data[4U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_b_reg_data + [4U]; + vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_b_reg_data[3U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_b_reg_data + [3U]; + vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_b_reg_data[2U] + = vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_b_reg_data + [2U]; vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_b_reg_data[1U] = vlTOPp->Vortex__DOT____Vcellinp__vx_execute__in_b_reg_data [1U]; @@ -2692,22 +3844,36 @@ void VVortex::_settle__TOP__8(VVortex__Syms* __restrict vlSymsp) { vlTOPp->Vortex__DOT__forwarding_src1_fwd = (((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src1_exe_fwd) | (IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src1_mem_fwd)) | (IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src1_wb_fwd)); + vlTOPp->out_cache_driver_in_data[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_data + [4U]; + vlTOPp->out_cache_driver_in_data[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_data + [3U]; + vlTOPp->out_cache_driver_in_data[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_data + [2U]; vlTOPp->out_cache_driver_in_data[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_data [1U]; vlTOPp->out_cache_driver_in_data[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_data [0U]; + vlTOPp->out_cache_driver_in_valid[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_valid + [4U]; + vlTOPp->out_cache_driver_in_valid[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_valid + [3U]; + vlTOPp->out_cache_driver_in_valid[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_valid + [2U]; vlTOPp->out_cache_driver_in_valid[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_valid [1U]; vlTOPp->out_cache_driver_in_valid[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_valid [0U]; + vlTOPp->Vortex__DOT__memory_valid[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_valid + [4U]; + vlTOPp->Vortex__DOT__memory_valid[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_valid + [3U]; + vlTOPp->Vortex__DOT__memory_valid[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_valid + [2U]; vlTOPp->Vortex__DOT__memory_valid[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_valid [1U]; vlTOPp->Vortex__DOT__memory_valid[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_valid [0U]; - 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_fetch.v:113 vlTOPp->Vortex__DOT__vx_fetch__DOT__temp_PC = ( ((IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__jal) @@ -2718,14 +3884,42 @@ void VVortex::_settle__TOP__8(VVortex__Syms* __restrict vlSymsp) { & (~ (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__delay_reg))) ? vlTOPp->Vortex__DOT__memory_branch_dest : vlTOPp->Vortex__DOT__vx_fetch__DOT__PC_to_use)); + vlTOPp->out_cache_driver_in_address[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_address + [4U]; + vlTOPp->out_cache_driver_in_address[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_address + [3U]; + vlTOPp->out_cache_driver_in_address[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_address + [2U]; + 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]; + vlTOPp->Vortex__DOT__memory_alu_result[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_alu_result + [4U]; + vlTOPp->Vortex__DOT__memory_alu_result[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_alu_result + [3U]; + vlTOPp->Vortex__DOT__memory_alu_result[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_memory__out_alu_result + [2U]; 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 [0U]; + vlTOPp->Vortex__DOT__execute_valid[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_valid + [4U]; + vlTOPp->Vortex__DOT__execute_valid[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_valid + [3U]; + vlTOPp->Vortex__DOT__execute_valid[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_valid + [2U]; vlTOPp->Vortex__DOT__execute_valid[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_valid [1U]; vlTOPp->Vortex__DOT__execute_valid[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_valid [0U]; + vlTOPp->Vortex__DOT__execute_b_reg_data[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_b_reg_data + [4U]; + vlTOPp->Vortex__DOT__execute_b_reg_data[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_b_reg_data + [3U]; + vlTOPp->Vortex__DOT__execute_b_reg_data[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_b_reg_data + [2U]; 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 @@ -2747,23 +3941,65 @@ void VVortex::_settle__TOP__8(VVortex__Syms* __restrict vlSymsp) { = (1U & ((~ (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__stall)) & ((IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__valid) >> 1U))); + vlTOPp->Vortex__DOT____Vcellout__vx_fetch__out_valid[2U] + = (1U & ((~ (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__stall)) + & ((IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__valid) + >> 2U))); + vlTOPp->Vortex__DOT____Vcellout__vx_fetch__out_valid[3U] + = (1U & ((~ (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__stall)) + & ((IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__valid) + >> 3U))); + vlTOPp->Vortex__DOT____Vcellout__vx_fetch__out_valid[4U] + = (1U & ((~ (IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__stall)) + & ((IData)(vlTOPp->Vortex__DOT__vx_fetch__DOT__valid) + >> 4U))); + vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_valid[4U] + = vlTOPp->Vortex__DOT__memory_valid[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_valid[3U] + = vlTOPp->Vortex__DOT__memory_valid[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_valid[2U] + = vlTOPp->Vortex__DOT__memory_valid[2U]; vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_valid[1U] = vlTOPp->Vortex__DOT__memory_valid[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_valid[0U] = vlTOPp->Vortex__DOT__memory_valid[0U]; vlTOPp->curr_PC = vlTOPp->Vortex__DOT__vx_fetch__DOT__temp_PC; + vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_alu_result[4U] + = vlTOPp->Vortex__DOT__memory_alu_result[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_alu_result[3U] + = vlTOPp->Vortex__DOT__memory_alu_result[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_m_w_reg__in_alu_result[2U] + = vlTOPp->Vortex__DOT__memory_alu_result[2U]; 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] = vlTOPp->Vortex__DOT__memory_alu_result[0U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_alu_result[4U] + = vlTOPp->Vortex__DOT__memory_alu_result[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_alu_result[3U] + = vlTOPp->Vortex__DOT__memory_alu_result[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_alu_result[2U] + = vlTOPp->Vortex__DOT__memory_alu_result[2U]; vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_alu_result[1U] = vlTOPp->Vortex__DOT__memory_alu_result[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_alu_result[0U] = vlTOPp->Vortex__DOT__memory_alu_result[0U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_valid[4U] + = vlTOPp->Vortex__DOT__execute_valid[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_valid[3U] + = vlTOPp->Vortex__DOT__execute_valid[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_valid[2U] + = vlTOPp->Vortex__DOT__execute_valid[2U]; vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_valid[1U] = 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____Vcellinp__vx_e_m_reg__in_b_reg_data[4U] + = vlTOPp->Vortex__DOT__execute_b_reg_data[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_b_reg_data[3U] + = vlTOPp->Vortex__DOT__execute_b_reg_data[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_b_reg_data[2U] + = vlTOPp->Vortex__DOT__execute_b_reg_data[2U]; 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] @@ -3058,6 +4294,12 @@ void VVortex::_settle__TOP__8(VVortex__Syms* __restrict vlSymsp) { [1U] + vlTOPp->Vortex__DOT__vx_execute__DOT__vx_alu_1__DOT__ALU_in2))))); } + vlTOPp->Vortex__DOT__fetch_valid[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_fetch__out_valid + [4U]; + vlTOPp->Vortex__DOT__fetch_valid[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_fetch__out_valid + [3U]; + vlTOPp->Vortex__DOT__fetch_valid[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_fetch__out_valid + [2U]; 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 @@ -3066,22 +4308,130 @@ void VVortex::_settle__TOP__8(VVortex__Syms* __restrict vlSymsp) { = vlTOPp->Vortex__DOT__vx_execute__DOT____Vcellout__vx_alu_0__out_alu_result; vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_alu_result[1U] = vlTOPp->Vortex__DOT__vx_execute__DOT____Vcellout__vx_alu_1__out_alu_result; + vlTOPp->Vortex__DOT____Vcellinp__vx_f_d_reg__in_valid[4U] + = vlTOPp->Vortex__DOT__fetch_valid[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_f_d_reg__in_valid[3U] + = vlTOPp->Vortex__DOT__fetch_valid[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_f_d_reg__in_valid[2U] + = vlTOPp->Vortex__DOT__fetch_valid[2U]; vlTOPp->Vortex__DOT____Vcellinp__vx_f_d_reg__in_valid[1U] = vlTOPp->Vortex__DOT__fetch_valid[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_f_d_reg__in_valid[0U] = vlTOPp->Vortex__DOT__fetch_valid[0U]; + vlTOPp->Vortex__DOT__execute_alu_result[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_alu_result + [4U]; + vlTOPp->Vortex__DOT__execute_alu_result[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_alu_result + [3U]; + vlTOPp->Vortex__DOT__execute_alu_result[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_alu_result + [2U]; vlTOPp->Vortex__DOT__execute_alu_result[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_alu_result [1U]; vlTOPp->Vortex__DOT__execute_alu_result[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_execute__out_alu_result [0U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_alu_result[4U] + = vlTOPp->Vortex__DOT__execute_alu_result[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_alu_result[3U] + = vlTOPp->Vortex__DOT__execute_alu_result[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_alu_result[2U] + = vlTOPp->Vortex__DOT__execute_alu_result[2U]; vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_alu_result[1U] = vlTOPp->Vortex__DOT__execute_alu_result[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_e_m_reg__in_alu_result[0U] = vlTOPp->Vortex__DOT__execute_alu_result[0U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result[4U] + = vlTOPp->Vortex__DOT__execute_alu_result[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result[3U] + = vlTOPp->Vortex__DOT__execute_alu_result[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result[2U] + = vlTOPp->Vortex__DOT__execute_alu_result[2U]; vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result[1U] = vlTOPp->Vortex__DOT__execute_alu_result[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result[0U] = vlTOPp->Vortex__DOT__execute_alu_result[0U]; + vlTOPp->Vortex__DOT____Vcellout__vx_forwarding__out_src2_fwd_data[4U] + = ((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src2_exe_fwd) + ? ((3U == (IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_execute_PC_next + [4U] : vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result + [4U]) : ((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src2_mem_fwd) + ? ((3U == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_memory_PC_next + [4U] : ((2U == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_mem_data + [4U] : vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_alu_result + [4U])) : ((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src2_wb_fwd) + ? ((3U + == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)) + ? + vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_writeback_PC_next + [4U] + : + ((2U + == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)) + ? + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_mem_data + [4U] + : + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_alu_result + [4U])) + : vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result + [4U]))); + vlTOPp->Vortex__DOT____Vcellout__vx_forwarding__out_src2_fwd_data[3U] + = ((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src2_exe_fwd) + ? ((3U == (IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_execute_PC_next + [3U] : vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result + [3U]) : ((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src2_mem_fwd) + ? ((3U == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_memory_PC_next + [3U] : ((2U == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_mem_data + [3U] : vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_alu_result + [3U])) : ((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src2_wb_fwd) + ? ((3U + == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)) + ? + vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_writeback_PC_next + [3U] + : + ((2U + == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)) + ? + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_mem_data + [3U] + : + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_alu_result + [3U])) + : vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result + [3U]))); + vlTOPp->Vortex__DOT____Vcellout__vx_forwarding__out_src2_fwd_data[2U] + = ((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src2_exe_fwd) + ? ((3U == (IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_execute_PC_next + [2U] : vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result + [2U]) : ((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src2_mem_fwd) + ? ((3U == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_memory_PC_next + [2U] : ((2U == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_mem_data + [2U] : vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_alu_result + [2U])) : ((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src2_wb_fwd) + ? ((3U + == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)) + ? + vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_writeback_PC_next + [2U] + : + ((2U + == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)) + ? + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_mem_data + [2U] + : + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_alu_result + [2U])) + : vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result + [2U]))); vlTOPp->Vortex__DOT____Vcellout__vx_forwarding__out_src2_fwd_data[1U] = ((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src2_exe_fwd) ? ((3U == (IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__wb)) @@ -3138,6 +4488,90 @@ void VVortex::_settle__TOP__8(VVortex__Syms* __restrict vlSymsp) { [0U])) : vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result [0U]))); + vlTOPp->Vortex__DOT____Vcellout__vx_forwarding__out_src1_fwd_data[4U] + = ((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src1_exe_fwd) + ? ((3U == (IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_execute_PC_next + [4U] : vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result + [4U]) : ((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src1_mem_fwd) + ? ((3U == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_memory_PC_next + [4U] : ((2U == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_mem_data + [4U] : vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_alu_result + [4U])) : ((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src1_wb_fwd) + ? ((3U + == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)) + ? + vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_writeback_PC_next + [4U] + : + ((2U + == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)) + ? + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_mem_data + [4U] + : + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_alu_result + [4U])) + : vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result + [4U]))); + vlTOPp->Vortex__DOT____Vcellout__vx_forwarding__out_src1_fwd_data[3U] + = ((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src1_exe_fwd) + ? ((3U == (IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_execute_PC_next + [3U] : vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result + [3U]) : ((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src1_mem_fwd) + ? ((3U == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_memory_PC_next + [3U] : ((2U == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_mem_data + [3U] : vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_alu_result + [3U])) : ((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src1_wb_fwd) + ? ((3U + == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)) + ? + vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_writeback_PC_next + [3U] + : + ((2U + == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)) + ? + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_mem_data + [3U] + : + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_alu_result + [3U])) + : vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result + [3U]))); + vlTOPp->Vortex__DOT____Vcellout__vx_forwarding__out_src1_fwd_data[2U] + = ((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src1_exe_fwd) + ? ((3U == (IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_execute_PC_next + [2U] : vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result + [2U]) : ((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src1_mem_fwd) + ? ((3U == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_memory_PC_next + [2U] : ((2U == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_mem_data + [2U] : vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_alu_result + [2U])) : ((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src1_wb_fwd) + ? ((3U + == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)) + ? + vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_writeback_PC_next + [2U] + : + ((2U + == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)) + ? + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_mem_data + [2U] + : + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_alu_result + [2U])) + : vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result + [2U]))); vlTOPp->Vortex__DOT____Vcellout__vx_forwarding__out_src1_fwd_data[1U] = ((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src1_exe_fwd) ? ((3U == (IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__wb)) @@ -3194,24 +4628,60 @@ void VVortex::_settle__TOP__8(VVortex__Syms* __restrict vlSymsp) { [0U])) : vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result [0U]))); + vlTOPp->Vortex__DOT__forwarding_src2_fwd_data[4U] + = vlTOPp->Vortex__DOT____Vcellout__vx_forwarding__out_src2_fwd_data + [4U]; + vlTOPp->Vortex__DOT__forwarding_src2_fwd_data[3U] + = vlTOPp->Vortex__DOT____Vcellout__vx_forwarding__out_src2_fwd_data + [3U]; + vlTOPp->Vortex__DOT__forwarding_src2_fwd_data[2U] + = vlTOPp->Vortex__DOT____Vcellout__vx_forwarding__out_src2_fwd_data + [2U]; vlTOPp->Vortex__DOT__forwarding_src2_fwd_data[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_forwarding__out_src2_fwd_data [1U]; vlTOPp->Vortex__DOT__forwarding_src2_fwd_data[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_forwarding__out_src2_fwd_data [0U]; + vlTOPp->Vortex__DOT__forwarding_src1_fwd_data[4U] + = vlTOPp->Vortex__DOT____Vcellout__vx_forwarding__out_src1_fwd_data + [4U]; + vlTOPp->Vortex__DOT__forwarding_src1_fwd_data[3U] + = vlTOPp->Vortex__DOT____Vcellout__vx_forwarding__out_src1_fwd_data + [3U]; + vlTOPp->Vortex__DOT__forwarding_src1_fwd_data[2U] + = vlTOPp->Vortex__DOT____Vcellout__vx_forwarding__out_src1_fwd_data + [2U]; vlTOPp->Vortex__DOT__forwarding_src1_fwd_data[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_forwarding__out_src1_fwd_data [1U]; vlTOPp->Vortex__DOT__forwarding_src1_fwd_data[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_forwarding__out_src1_fwd_data [0U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src2_fwd_data[4U] + = vlTOPp->Vortex__DOT__forwarding_src2_fwd_data + [4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src2_fwd_data[3U] + = vlTOPp->Vortex__DOT__forwarding_src2_fwd_data + [3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src2_fwd_data[2U] + = vlTOPp->Vortex__DOT__forwarding_src2_fwd_data + [2U]; vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src2_fwd_data[1U] = vlTOPp->Vortex__DOT__forwarding_src2_fwd_data [1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src2_fwd_data[0U] = vlTOPp->Vortex__DOT__forwarding_src2_fwd_data [0U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src1_fwd_data[4U] + = vlTOPp->Vortex__DOT__forwarding_src1_fwd_data + [4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src1_fwd_data[3U] + = vlTOPp->Vortex__DOT__forwarding_src1_fwd_data + [3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src1_fwd_data[2U] + = vlTOPp->Vortex__DOT__forwarding_src1_fwd_data + [2U]; vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src1_fwd_data[1U] = vlTOPp->Vortex__DOT__forwarding_src1_fwd_data [1U]; @@ -3228,6 +4698,21 @@ void VVortex::_settle__TOP__8(VVortex__Syms* __restrict vlSymsp) { ? vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src2_fwd_data [1U] : vlTOPp->Vortex__DOT__vx_decode__DOT__rd2_register [1U]); + vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_b_reg_data[2U] + = ((IData)(vlTOPp->Vortex__DOT__forwarding_src2_fwd) + ? vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src2_fwd_data + [2U] : vlTOPp->Vortex__DOT__vx_decode__DOT__rd2_register + [2U]); + vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_b_reg_data[3U] + = ((IData)(vlTOPp->Vortex__DOT__forwarding_src2_fwd) + ? vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src2_fwd_data + [3U] : vlTOPp->Vortex__DOT__vx_decode__DOT__rd2_register + [3U]); + vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_b_reg_data[4U] + = ((IData)(vlTOPp->Vortex__DOT__forwarding_src2_fwd) + ? vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src2_fwd_data + [4U] : vlTOPp->Vortex__DOT__vx_decode__DOT__rd2_register + [4U]); vlTOPp->Vortex__DOT____Vcellout__vx_decode__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 @@ -3242,18 +4727,63 @@ void VVortex::_settle__TOP__8(VVortex__Syms* __restrict vlSymsp) { ? vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src1_fwd_data [1U] : vlTOPp->Vortex__DOT__vx_decode__DOT__rd1_register [1U])); + vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_a_reg_data[2U] + = ((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____Vcellinp__vx_decode__in_src1_fwd_data + [2U] : vlTOPp->Vortex__DOT__vx_decode__DOT__rd1_register + [2U])); + vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_a_reg_data[3U] + = ((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____Vcellinp__vx_decode__in_src1_fwd_data + [3U] : vlTOPp->Vortex__DOT__vx_decode__DOT__rd1_register + [3U])); + vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_a_reg_data[4U] + = ((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____Vcellinp__vx_decode__in_src1_fwd_data + [4U] : vlTOPp->Vortex__DOT__vx_decode__DOT__rd1_register + [4U])); + vlTOPp->Vortex__DOT__decode_b_reg_data[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_b_reg_data + [4U]; + vlTOPp->Vortex__DOT__decode_b_reg_data[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_b_reg_data + [3U]; + vlTOPp->Vortex__DOT__decode_b_reg_data[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_b_reg_data + [2U]; vlTOPp->Vortex__DOT__decode_b_reg_data[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_b_reg_data [1U]; vlTOPp->Vortex__DOT__decode_b_reg_data[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_b_reg_data [0U]; + vlTOPp->Vortex__DOT__decode_a_reg_data[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_a_reg_data + [4U]; + vlTOPp->Vortex__DOT__decode_a_reg_data[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_a_reg_data + [3U]; + vlTOPp->Vortex__DOT__decode_a_reg_data[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_a_reg_data + [2U]; 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 [0U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_b_reg_data[4U] + = vlTOPp->Vortex__DOT__decode_b_reg_data[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_b_reg_data[3U] + = vlTOPp->Vortex__DOT__decode_b_reg_data[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_b_reg_data[2U] + = vlTOPp->Vortex__DOT__decode_b_reg_data[2U]; vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_b_reg_data[1U] = vlTOPp->Vortex__DOT__decode_b_reg_data[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_b_reg_data[0U] = vlTOPp->Vortex__DOT__decode_b_reg_data[0U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_a_reg_data[4U] + = vlTOPp->Vortex__DOT__decode_a_reg_data[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_a_reg_data[3U] + = vlTOPp->Vortex__DOT__decode_a_reg_data[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_a_reg_data[2U] + = vlTOPp->Vortex__DOT__decode_a_reg_data[2U]; vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_a_reg_data[1U] = vlTOPp->Vortex__DOT__decode_a_reg_data[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_a_reg_data[0U] @@ -3264,6 +4794,90 @@ VL_INLINE_OPT void VVortex::_combo__TOP__9(VVortex__Syms* __restrict vlSymsp) { VL_DEBUG_IF(VL_DBG_MSGF("+ VVortex::_combo__TOP__9\n"); ); VVortex* __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; // Body + vlTOPp->Vortex__DOT____Vcellout__vx_forwarding__out_src2_fwd_data[4U] + = ((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src2_exe_fwd) + ? ((3U == (IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_execute_PC_next + [4U] : vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result + [4U]) : ((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src2_mem_fwd) + ? ((3U == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_memory_PC_next + [4U] : ((2U == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_mem_data + [4U] : vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_alu_result + [4U])) : ((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src2_wb_fwd) + ? ((3U + == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)) + ? + vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_writeback_PC_next + [4U] + : + ((2U + == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)) + ? + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_mem_data + [4U] + : + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_alu_result + [4U])) + : vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result + [4U]))); + vlTOPp->Vortex__DOT____Vcellout__vx_forwarding__out_src2_fwd_data[3U] + = ((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src2_exe_fwd) + ? ((3U == (IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_execute_PC_next + [3U] : vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result + [3U]) : ((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src2_mem_fwd) + ? ((3U == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_memory_PC_next + [3U] : ((2U == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_mem_data + [3U] : vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_alu_result + [3U])) : ((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src2_wb_fwd) + ? ((3U + == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)) + ? + vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_writeback_PC_next + [3U] + : + ((2U + == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)) + ? + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_mem_data + [3U] + : + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_alu_result + [3U])) + : vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result + [3U]))); + vlTOPp->Vortex__DOT____Vcellout__vx_forwarding__out_src2_fwd_data[2U] + = ((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src2_exe_fwd) + ? ((3U == (IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_execute_PC_next + [2U] : vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result + [2U]) : ((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src2_mem_fwd) + ? ((3U == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_memory_PC_next + [2U] : ((2U == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_mem_data + [2U] : vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_alu_result + [2U])) : ((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src2_wb_fwd) + ? ((3U + == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)) + ? + vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_writeback_PC_next + [2U] + : + ((2U + == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)) + ? + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_mem_data + [2U] + : + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_alu_result + [2U])) + : vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result + [2U]))); vlTOPp->Vortex__DOT____Vcellout__vx_forwarding__out_src2_fwd_data[1U] = ((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src2_exe_fwd) ? ((3U == (IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__wb)) @@ -3320,6 +4934,90 @@ VL_INLINE_OPT void VVortex::_combo__TOP__9(VVortex__Syms* __restrict vlSymsp) { [0U])) : vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result [0U]))); + vlTOPp->Vortex__DOT____Vcellout__vx_forwarding__out_src1_fwd_data[4U] + = ((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src1_exe_fwd) + ? ((3U == (IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_execute_PC_next + [4U] : vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result + [4U]) : ((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src1_mem_fwd) + ? ((3U == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_memory_PC_next + [4U] : ((2U == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_mem_data + [4U] : vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_alu_result + [4U])) : ((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src1_wb_fwd) + ? ((3U + == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)) + ? + vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_writeback_PC_next + [4U] + : + ((2U + == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)) + ? + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_mem_data + [4U] + : + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_alu_result + [4U])) + : vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result + [4U]))); + vlTOPp->Vortex__DOT____Vcellout__vx_forwarding__out_src1_fwd_data[3U] + = ((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src1_exe_fwd) + ? ((3U == (IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_execute_PC_next + [3U] : vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result + [3U]) : ((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src1_mem_fwd) + ? ((3U == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_memory_PC_next + [3U] : ((2U == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_mem_data + [3U] : vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_alu_result + [3U])) : ((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src1_wb_fwd) + ? ((3U + == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)) + ? + vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_writeback_PC_next + [3U] + : + ((2U + == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)) + ? + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_mem_data + [3U] + : + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_alu_result + [3U])) + : vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result + [3U]))); + vlTOPp->Vortex__DOT____Vcellout__vx_forwarding__out_src1_fwd_data[2U] + = ((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src1_exe_fwd) + ? ((3U == (IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_execute_PC_next + [2U] : vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result + [2U]) : ((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src1_mem_fwd) + ? ((3U == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_memory_PC_next + [2U] : ((2U == (IData)(vlTOPp->Vortex__DOT__vx_e_m_reg__DOT__wb)) + ? vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_mem_data + [2U] : vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_memory_alu_result + [2U])) : ((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src1_wb_fwd) + ? ((3U + == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)) + ? + vlTOPp->Vortex__DOT__vx_forwarding__DOT__use_writeback_PC_next + [2U] + : + ((2U + == (IData)(vlTOPp->Vortex__DOT__vx_m_w_reg__DOT__wb)) + ? + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_mem_data + [2U] + : + vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_alu_result + [2U])) + : vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result + [2U]))); vlTOPp->Vortex__DOT____Vcellout__vx_forwarding__out_src1_fwd_data[1U] = ((IData)(vlTOPp->Vortex__DOT__vx_forwarding__DOT__src1_exe_fwd) ? ((3U == (IData)(vlTOPp->Vortex__DOT__vx_d_e_reg__DOT__wb)) @@ -3376,24 +5074,60 @@ VL_INLINE_OPT void VVortex::_combo__TOP__9(VVortex__Syms* __restrict vlSymsp) { [0U])) : vlTOPp->Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result [0U]))); + vlTOPp->Vortex__DOT__forwarding_src2_fwd_data[4U] + = vlTOPp->Vortex__DOT____Vcellout__vx_forwarding__out_src2_fwd_data + [4U]; + vlTOPp->Vortex__DOT__forwarding_src2_fwd_data[3U] + = vlTOPp->Vortex__DOT____Vcellout__vx_forwarding__out_src2_fwd_data + [3U]; + vlTOPp->Vortex__DOT__forwarding_src2_fwd_data[2U] + = vlTOPp->Vortex__DOT____Vcellout__vx_forwarding__out_src2_fwd_data + [2U]; vlTOPp->Vortex__DOT__forwarding_src2_fwd_data[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_forwarding__out_src2_fwd_data [1U]; vlTOPp->Vortex__DOT__forwarding_src2_fwd_data[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_forwarding__out_src2_fwd_data [0U]; + vlTOPp->Vortex__DOT__forwarding_src1_fwd_data[4U] + = vlTOPp->Vortex__DOT____Vcellout__vx_forwarding__out_src1_fwd_data + [4U]; + vlTOPp->Vortex__DOT__forwarding_src1_fwd_data[3U] + = vlTOPp->Vortex__DOT____Vcellout__vx_forwarding__out_src1_fwd_data + [3U]; + vlTOPp->Vortex__DOT__forwarding_src1_fwd_data[2U] + = vlTOPp->Vortex__DOT____Vcellout__vx_forwarding__out_src1_fwd_data + [2U]; vlTOPp->Vortex__DOT__forwarding_src1_fwd_data[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_forwarding__out_src1_fwd_data [1U]; vlTOPp->Vortex__DOT__forwarding_src1_fwd_data[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_forwarding__out_src1_fwd_data [0U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src2_fwd_data[4U] + = vlTOPp->Vortex__DOT__forwarding_src2_fwd_data + [4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src2_fwd_data[3U] + = vlTOPp->Vortex__DOT__forwarding_src2_fwd_data + [3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src2_fwd_data[2U] + = vlTOPp->Vortex__DOT__forwarding_src2_fwd_data + [2U]; vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src2_fwd_data[1U] = vlTOPp->Vortex__DOT__forwarding_src2_fwd_data [1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src2_fwd_data[0U] = vlTOPp->Vortex__DOT__forwarding_src2_fwd_data [0U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src1_fwd_data[4U] + = vlTOPp->Vortex__DOT__forwarding_src1_fwd_data + [4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src1_fwd_data[3U] + = vlTOPp->Vortex__DOT__forwarding_src1_fwd_data + [3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src1_fwd_data[2U] + = vlTOPp->Vortex__DOT__forwarding_src1_fwd_data + [2U]; vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src1_fwd_data[1U] = vlTOPp->Vortex__DOT__forwarding_src1_fwd_data [1U]; @@ -3410,6 +5144,21 @@ VL_INLINE_OPT void VVortex::_combo__TOP__9(VVortex__Syms* __restrict vlSymsp) { ? vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src2_fwd_data [1U] : vlTOPp->Vortex__DOT__vx_decode__DOT__rd2_register [1U]); + vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_b_reg_data[2U] + = ((IData)(vlTOPp->Vortex__DOT__forwarding_src2_fwd) + ? vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src2_fwd_data + [2U] : vlTOPp->Vortex__DOT__vx_decode__DOT__rd2_register + [2U]); + vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_b_reg_data[3U] + = ((IData)(vlTOPp->Vortex__DOT__forwarding_src2_fwd) + ? vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src2_fwd_data + [3U] : vlTOPp->Vortex__DOT__vx_decode__DOT__rd2_register + [3U]); + vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_b_reg_data[4U] + = ((IData)(vlTOPp->Vortex__DOT__forwarding_src2_fwd) + ? vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src2_fwd_data + [4U] : vlTOPp->Vortex__DOT__vx_decode__DOT__rd2_register + [4U]); vlTOPp->Vortex__DOT____Vcellout__vx_decode__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 @@ -3424,18 +5173,63 @@ VL_INLINE_OPT void VVortex::_combo__TOP__9(VVortex__Syms* __restrict vlSymsp) { ? vlTOPp->Vortex__DOT____Vcellinp__vx_decode__in_src1_fwd_data [1U] : vlTOPp->Vortex__DOT__vx_decode__DOT__rd1_register [1U])); + vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_a_reg_data[2U] + = ((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____Vcellinp__vx_decode__in_src1_fwd_data + [2U] : vlTOPp->Vortex__DOT__vx_decode__DOT__rd1_register + [2U])); + vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_a_reg_data[3U] + = ((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____Vcellinp__vx_decode__in_src1_fwd_data + [3U] : vlTOPp->Vortex__DOT__vx_decode__DOT__rd1_register + [3U])); + vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_a_reg_data[4U] + = ((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____Vcellinp__vx_decode__in_src1_fwd_data + [4U] : vlTOPp->Vortex__DOT__vx_decode__DOT__rd1_register + [4U])); + vlTOPp->Vortex__DOT__decode_b_reg_data[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_b_reg_data + [4U]; + vlTOPp->Vortex__DOT__decode_b_reg_data[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_b_reg_data + [3U]; + vlTOPp->Vortex__DOT__decode_b_reg_data[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_b_reg_data + [2U]; vlTOPp->Vortex__DOT__decode_b_reg_data[1U] = vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_b_reg_data [1U]; vlTOPp->Vortex__DOT__decode_b_reg_data[0U] = vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_b_reg_data [0U]; + vlTOPp->Vortex__DOT__decode_a_reg_data[4U] = vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_a_reg_data + [4U]; + vlTOPp->Vortex__DOT__decode_a_reg_data[3U] = vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_a_reg_data + [3U]; + vlTOPp->Vortex__DOT__decode_a_reg_data[2U] = vlTOPp->Vortex__DOT____Vcellout__vx_decode__out_a_reg_data + [2U]; 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 [0U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_b_reg_data[4U] + = vlTOPp->Vortex__DOT__decode_b_reg_data[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_b_reg_data[3U] + = vlTOPp->Vortex__DOT__decode_b_reg_data[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_b_reg_data[2U] + = vlTOPp->Vortex__DOT__decode_b_reg_data[2U]; vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_b_reg_data[1U] = vlTOPp->Vortex__DOT__decode_b_reg_data[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_b_reg_data[0U] = vlTOPp->Vortex__DOT__decode_b_reg_data[0U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_a_reg_data[4U] + = vlTOPp->Vortex__DOT__decode_a_reg_data[4U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_a_reg_data[3U] + = vlTOPp->Vortex__DOT__decode_a_reg_data[3U]; + vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_a_reg_data[2U] + = vlTOPp->Vortex__DOT__decode_a_reg_data[2U]; vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_a_reg_data[1U] = vlTOPp->Vortex__DOT__decode_a_reg_data[1U]; vlTOPp->Vortex__DOT____Vcellinp__vx_d_e_reg__in_a_reg_data[0U] @@ -3453,10 +5247,10 @@ void VVortex::_eval(VVortex__Syms* __restrict vlSymsp) { if (((IData)(vlTOPp->clk) & (~ (IData)(vlTOPp->__Vclklast__TOP__clk)))) { vlTOPp->_sequent__TOP__2(vlSymsp); } - vlTOPp->_combo__TOP__3(vlSymsp); if (((~ (IData)(vlTOPp->clk)) & (IData)(vlTOPp->__Vclklast__TOP__clk))) { - vlTOPp->_sequent__TOP__5(vlSymsp); + vlTOPp->_sequent__TOP__3(vlSymsp); } + vlTOPp->_combo__TOP__4(vlSymsp); if ((((IData)(vlTOPp->clk) & (~ (IData)(vlTOPp->__Vclklast__TOP__clk))) | ((IData)(vlTOPp->reset) & (~ (IData)(vlTOPp->__Vclklast__TOP__reset))))) { vlTOPp->_sequent__TOP__7(vlSymsp); @@ -3487,7 +5281,7 @@ void VVortex::_eval_settle(VVortex__Syms* __restrict vlSymsp) { VL_DEBUG_IF(VL_DBG_MSGF("+ VVortex::_eval_settle\n"); ); VVortex* __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; // Body - vlTOPp->_settle__TOP__4(vlSymsp); + vlTOPp->_settle__TOP__5(vlSymsp); vlTOPp->_settle__TOP__8(vlSymsp); } @@ -3517,266 +5311,266 @@ void VVortex::_ctor_var_reset() { clk = VL_RAND_RESET_I(1); reset = VL_RAND_RESET_I(1); fe_instruction = VL_RAND_RESET_I(32); - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { in_cache_driver_out_data[__Vi0] = VL_RAND_RESET_I(32); }} curr_PC = VL_RAND_RESET_I(32); - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { out_cache_driver_in_address[__Vi0] = VL_RAND_RESET_I(32); }} out_cache_driver_in_mem_read = VL_RAND_RESET_I(3); out_cache_driver_in_mem_write = VL_RAND_RESET_I(3); - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { out_cache_driver_in_valid[__Vi0] = VL_RAND_RESET_I(1); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { out_cache_driver_in_data[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT__fetch_valid[__Vi0] = VL_RAND_RESET_I(1); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT__f_d_valid[__Vi0] = VL_RAND_RESET_I(1); }} Vortex__DOT__decode_csr_address = VL_RAND_RESET_I(12); - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT__decode_a_reg_data[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT__decode_b_reg_data[__Vi0] = VL_RAND_RESET_I(32); }} Vortex__DOT__decode_itype_immed = VL_RAND_RESET_I(32); Vortex__DOT__decode_branch_type = VL_RAND_RESET_I(3); - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT__decode_valid[__Vi0] = VL_RAND_RESET_I(1); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT__d_e_a_reg_data[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT__d_e_b_reg_data[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT__d_e_valid[__Vi0] = VL_RAND_RESET_I(1); }} Vortex__DOT__execute_branch_stall = VL_RAND_RESET_I(1); - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT__execute_alu_result[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT__execute_b_reg_data[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT__execute_valid[__Vi0] = VL_RAND_RESET_I(1); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT__e_m_alu_result[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT__e_m_b_reg_data[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__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) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT__memory_alu_result[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT__memory_mem_result[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT__memory_valid[__Vi0] = VL_RAND_RESET_I(1); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT__m_w_alu_result[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT__m_w_mem_result[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT__m_w_valid[__Vi0] = VL_RAND_RESET_I(1); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT__writeback_write_data[__Vi0] = VL_RAND_RESET_I(32); }} Vortex__DOT__csr_decode_csr_data = VL_RAND_RESET_I(32); Vortex__DOT__forwarding_fwd_stall = VL_RAND_RESET_I(1); Vortex__DOT__forwarding_src1_fwd = VL_RAND_RESET_I(1); Vortex__DOT__forwarding_src2_fwd = VL_RAND_RESET_I(1); - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT__forwarding_src1_fwd_data[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT__forwarding_src2_fwd_data[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellout__vx_fetch__out_valid[__Vi0] = VL_RAND_RESET_I(1); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellout__vx_f_d_reg__out_valid[__Vi0] = VL_RAND_RESET_I(1); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellinp__vx_f_d_reg__in_valid[__Vi0] = VL_RAND_RESET_I(1); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellout__vx_decode__out_valid[__Vi0] = VL_RAND_RESET_I(1); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellout__vx_decode__out_b_reg_data[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellout__vx_decode__out_a_reg_data[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellinp__vx_decode__in_src2_fwd_data[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellinp__vx_decode__in_src1_fwd_data[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellinp__vx_decode__in_wb_valid[__Vi0] = VL_RAND_RESET_I(1); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellinp__vx_decode__in_write_data[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellinp__vx_decode__in_valid[__Vi0] = VL_RAND_RESET_I(1); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellout__vx_d_e_reg__out_valid[__Vi0] = VL_RAND_RESET_I(1); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellout__vx_d_e_reg__out_b_reg_data[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellout__vx_d_e_reg__out_a_reg_data[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellinp__vx_d_e_reg__in_valid[__Vi0] = VL_RAND_RESET_I(1); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellinp__vx_d_e_reg__in_b_reg_data[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellinp__vx_d_e_reg__in_a_reg_data[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellout__vx_execute__out_valid[__Vi0] = VL_RAND_RESET_I(1); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellout__vx_execute__out_b_reg_data[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellout__vx_execute__out_alu_result[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellinp__vx_execute__in_valid[__Vi0] = VL_RAND_RESET_I(1); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellinp__vx_execute__in_b_reg_data[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellinp__vx_execute__in_a_reg_data[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellout__vx_e_m_reg__out_valid[__Vi0] = VL_RAND_RESET_I(1); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellout__vx_e_m_reg__out_b_reg_data[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellout__vx_e_m_reg__out_alu_result[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellinp__vx_e_m_reg__in_valid[__Vi0] = VL_RAND_RESET_I(1); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellinp__vx_e_m_reg__in_b_reg_data[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellinp__vx_e_m_reg__in_alu_result[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_valid[__Vi0] = VL_RAND_RESET_I(1); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_data[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_address[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellout__vx_memory__out_valid[__Vi0] = VL_RAND_RESET_I(1); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellout__vx_memory__out_mem_result[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellout__vx_memory__out_alu_result[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellinp__vx_memory__in_cache_driver_out_data[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellinp__vx_memory__in_valid[__Vi0] = VL_RAND_RESET_I(1); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellinp__vx_memory__in_rd2[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellinp__vx_memory__in_alu_result[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellout__vx_m_w_reg__out_valid[__Vi0] = VL_RAND_RESET_I(1); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellout__vx_m_w_reg__out_mem_result[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellout__vx_m_w_reg__out_alu_result[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellinp__vx_m_w_reg__in_valid[__Vi0] = VL_RAND_RESET_I(1); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellinp__vx_m_w_reg__in_mem_result[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellinp__vx_m_w_reg__in_alu_result[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellout__vx_writeback__out_write_data[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellinp__vx_writeback__in_valid[__Vi0] = VL_RAND_RESET_I(1); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellinp__vx_writeback__in_mem_result[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellinp__vx_writeback__in_alu_result[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellout__vx_forwarding__out_src2_fwd_data[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellout__vx_forwarding__out_src1_fwd_data[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_mem_data[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_alu_result[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellinp__vx_forwarding__in_memory_mem_data[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellinp__vx_forwarding__in_memory_alu_result[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result[__Vi0] = VL_RAND_RESET_I(32); }} Vortex__DOT__vx_fetch__DOT__stall_reg = VL_RAND_RESET_I(1); @@ -3790,16 +5584,16 @@ void VVortex::_ctor_var_reset() { Vortex__DOT__vx_fetch__DOT__PC_to_use = VL_RAND_RESET_I(32); Vortex__DOT__vx_fetch__DOT__stall = VL_RAND_RESET_I(1); Vortex__DOT__vx_fetch__DOT__temp_PC = VL_RAND_RESET_I(32); - Vortex__DOT__vx_fetch__DOT__valid = VL_RAND_RESET_I(2); + Vortex__DOT__vx_fetch__DOT__valid = VL_RAND_RESET_I(5); 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); - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT__vx_f_d_reg__DOT__valid[__Vi0] = VL_RAND_RESET_I(1); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT__vx_decode__DOT__rd1_register[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT__vx_decode__DOT__rd2_register[__Vi0] = VL_RAND_RESET_I(32); }} Vortex__DOT__vx_decode__DOT__is_itype = VL_RAND_RESET_I(1); @@ -3818,10 +5612,10 @@ void VVortex::_ctor_var_reset() { Vortex__DOT__vx_decode__DOT__vx_register_file_1__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) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT__vx_d_e_reg__DOT__a_reg_data[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT__vx_d_e_reg__DOT__b_reg_data[__Vi0] = VL_RAND_RESET_I(32); }} Vortex__DOT__vx_d_e_reg__DOT__alu_op = VL_RAND_RESET_I(5); @@ -3839,13 +5633,13 @@ void VVortex::_ctor_var_reset() { Vortex__DOT__vx_d_e_reg__DOT__curr_PC = VL_RAND_RESET_I(32); Vortex__DOT__vx_d_e_reg__DOT__jal = VL_RAND_RESET_I(1); Vortex__DOT__vx_d_e_reg__DOT__jal_offset = VL_RAND_RESET_I(32); - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT__vx_d_e_reg__DOT__valid[__Vi0] = VL_RAND_RESET_I(1); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT__vx_d_e_reg__DOT__reg_data_z[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT__vx_d_e_reg__DOT__valid_z[__Vi0] = VL_RAND_RESET_I(1); }} Vortex__DOT__vx_d_e_reg__DOT__stalling = VL_RAND_RESET_I(1); @@ -3855,14 +5649,14 @@ void VVortex::_ctor_var_reset() { Vortex__DOT__vx_execute__DOT__vx_alu_0__DOT__mult_signed_result = VL_RAND_RESET_Q(64); Vortex__DOT__vx_execute__DOT__vx_alu_1__DOT__ALU_in2 = VL_RAND_RESET_I(32); Vortex__DOT__vx_execute__DOT__vx_alu_1__DOT__mult_signed_result = VL_RAND_RESET_Q(64); - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT__vx_e_m_reg__DOT__alu_result[__Vi0] = VL_RAND_RESET_I(32); }} Vortex__DOT__vx_e_m_reg__DOT__rd = VL_RAND_RESET_I(5); - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT__vx_e_m_reg__DOT__a_reg_data[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT__vx_e_m_reg__DOT__b_reg_data[__Vi0] = VL_RAND_RESET_I(32); }} Vortex__DOT__vx_e_m_reg__DOT__wb = VL_RAND_RESET_I(2); @@ -3877,22 +5671,22 @@ void VVortex::_ctor_var_reset() { Vortex__DOT__vx_e_m_reg__DOT__branch_type = VL_RAND_RESET_I(3); Vortex__DOT__vx_e_m_reg__DOT__jal = VL_RAND_RESET_I(1); Vortex__DOT__vx_e_m_reg__DOT__jal_dest = VL_RAND_RESET_I(32); - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT__vx_e_m_reg__DOT__valid[__Vi0] = VL_RAND_RESET_I(1); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT__vx_m_w_reg__DOT__alu_result[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT__vx_m_w_reg__DOT__mem_result[__Vi0] = VL_RAND_RESET_I(32); }} Vortex__DOT__vx_m_w_reg__DOT__rd = VL_RAND_RESET_I(5); Vortex__DOT__vx_m_w_reg__DOT__wb = VL_RAND_RESET_I(2); Vortex__DOT__vx_m_w_reg__DOT__PC_next = VL_RAND_RESET_I(32); - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT__vx_m_w_reg__DOT__valid[__Vi0] = VL_RAND_RESET_I(1); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT__vx_writeback__DOT__out_pc_data[__Vi0] = VL_RAND_RESET_I(32); }} Vortex__DOT__vx_forwarding__DOT__src1_exe_fwd = VL_RAND_RESET_I(1); @@ -3901,13 +5695,13 @@ void VVortex::_ctor_var_reset() { Vortex__DOT__vx_forwarding__DOT__src2_exe_fwd = VL_RAND_RESET_I(1); Vortex__DOT__vx_forwarding__DOT__src2_mem_fwd = VL_RAND_RESET_I(1); Vortex__DOT__vx_forwarding__DOT__src2_wb_fwd = VL_RAND_RESET_I(1); - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT__vx_forwarding__DOT__use_execute_PC_next[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT__vx_forwarding__DOT__use_memory_PC_next[__Vi0] = VL_RAND_RESET_I(32); }} - { int __Vi0=0; for (; __Vi0<2; ++__Vi0) { + { int __Vi0=0; for (; __Vi0<5; ++__Vi0) { Vortex__DOT__vx_forwarding__DOT__use_writeback_PC_next[__Vi0] = VL_RAND_RESET_I(32); }} { int __Vi0=0; for (; __Vi0<4096; ++__Vi0) { diff --git a/rtl/obj_dir/VVortex.h b/rtl/obj_dir/VVortex.h index 5d031d33..7b456d55 100644 --- a/rtl/obj_dir/VVortex.h +++ b/rtl/obj_dir/VVortex.h @@ -27,10 +27,10 @@ VL_MODULE(VVortex) { VL_OUT8(out_cache_driver_in_mem_write,2,0); VL_IN(fe_instruction,31,0); VL_OUT(curr_PC,31,0); - VL_IN(in_cache_driver_out_data[2],31,0); - VL_OUT(out_cache_driver_in_address[2],31,0); - VL_OUT8(out_cache_driver_in_valid[2],0,0); - VL_OUT(out_cache_driver_in_data[2],31,0); + VL_IN(in_cache_driver_out_data[5],31,0); + VL_OUT(out_cache_driver_in_address[5],31,0); + VL_OUT8(out_cache_driver_in_valid[5],0,0); + VL_OUT(out_cache_driver_in_data[5],31,0); // LOCAL SIGNALS // Internals; generally not touched by application code @@ -48,7 +48,7 @@ VL_MODULE(VVortex) { VL_SIG8(Vortex__DOT__vx_fetch__DOT__state,4,0); VL_SIG8(Vortex__DOT__vx_fetch__DOT__prev_debug,0,0); VL_SIG8(Vortex__DOT__vx_fetch__DOT__stall,0,0); - VL_SIG8(Vortex__DOT__vx_fetch__DOT__valid,1,0); + VL_SIG8(Vortex__DOT__vx_fetch__DOT__valid,4,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__mul_alu,4,0); @@ -114,50 +114,50 @@ VL_MODULE(VVortex) { VL_SIG64(Vortex__DOT__vx_execute__DOT__vx_alu_1__DOT__mult_signed_result,63,0); VL_SIG64(Vortex__DOT__vx_csr_handler__DOT__cycle,63,0); VL_SIG64(Vortex__DOT__vx_csr_handler__DOT__instret,63,0); - VL_SIG8(Vortex__DOT__fetch_valid[2],0,0); - VL_SIG8(Vortex__DOT__f_d_valid[2],0,0); - VL_SIG(Vortex__DOT__decode_a_reg_data[2],31,0); - VL_SIG(Vortex__DOT__decode_b_reg_data[2],31,0); - VL_SIG8(Vortex__DOT__decode_valid[2],0,0); - VL_SIG(Vortex__DOT__d_e_a_reg_data[2],31,0); - VL_SIG(Vortex__DOT__d_e_b_reg_data[2],31,0); - VL_SIG8(Vortex__DOT__d_e_valid[2],0,0); - VL_SIG(Vortex__DOT__execute_alu_result[2],31,0); - VL_SIG(Vortex__DOT__execute_b_reg_data[2],31,0); - VL_SIG8(Vortex__DOT__execute_valid[2],0,0); - VL_SIG(Vortex__DOT__e_m_alu_result[2],31,0); - VL_SIG(Vortex__DOT__e_m_b_reg_data[2],31,0); - VL_SIG8(Vortex__DOT__e_m_valid[2],0,0); - VL_SIG(Vortex__DOT__memory_alu_result[2],31,0); - VL_SIG(Vortex__DOT__memory_mem_result[2],31,0); - VL_SIG8(Vortex__DOT__memory_valid[2],0,0); - VL_SIG(Vortex__DOT__m_w_alu_result[2],31,0); - VL_SIG(Vortex__DOT__m_w_mem_result[2],31,0); - VL_SIG8(Vortex__DOT__m_w_valid[2],0,0); - 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_f_d_reg__DOT__valid[2],0,0); - VL_SIG(Vortex__DOT__vx_decode__DOT__rd1_register[2],31,0); - VL_SIG(Vortex__DOT__vx_decode__DOT__rd2_register[2],31,0); + VL_SIG8(Vortex__DOT__fetch_valid[5],0,0); + VL_SIG8(Vortex__DOT__f_d_valid[5],0,0); + VL_SIG(Vortex__DOT__decode_a_reg_data[5],31,0); + VL_SIG(Vortex__DOT__decode_b_reg_data[5],31,0); + VL_SIG8(Vortex__DOT__decode_valid[5],0,0); + VL_SIG(Vortex__DOT__d_e_a_reg_data[5],31,0); + VL_SIG(Vortex__DOT__d_e_b_reg_data[5],31,0); + VL_SIG8(Vortex__DOT__d_e_valid[5],0,0); + VL_SIG(Vortex__DOT__execute_alu_result[5],31,0); + VL_SIG(Vortex__DOT__execute_b_reg_data[5],31,0); + VL_SIG8(Vortex__DOT__execute_valid[5],0,0); + VL_SIG(Vortex__DOT__e_m_alu_result[5],31,0); + VL_SIG(Vortex__DOT__e_m_b_reg_data[5],31,0); + VL_SIG8(Vortex__DOT__e_m_valid[5],0,0); + VL_SIG(Vortex__DOT__memory_alu_result[5],31,0); + VL_SIG(Vortex__DOT__memory_mem_result[5],31,0); + VL_SIG8(Vortex__DOT__memory_valid[5],0,0); + VL_SIG(Vortex__DOT__m_w_alu_result[5],31,0); + VL_SIG(Vortex__DOT__m_w_mem_result[5],31,0); + VL_SIG8(Vortex__DOT__m_w_valid[5],0,0); + VL_SIG(Vortex__DOT__writeback_write_data[5],31,0); + VL_SIG(Vortex__DOT__forwarding_src1_fwd_data[5],31,0); + VL_SIG(Vortex__DOT__forwarding_src2_fwd_data[5],31,0); + VL_SIG8(Vortex__DOT__vx_f_d_reg__DOT__valid[5],0,0); + VL_SIG(Vortex__DOT__vx_decode__DOT__rd1_register[5],31,0); + VL_SIG(Vortex__DOT__vx_decode__DOT__rd2_register[5],31,0); VL_SIG(Vortex__DOT__vx_decode__DOT__vx_register_file_0__DOT__registers[32],31,0); VL_SIG(Vortex__DOT__vx_decode__DOT__vx_register_file_1__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); - VL_SIG(Vortex__DOT__vx_d_e_reg__DOT__reg_data_z[2],31,0); - VL_SIG8(Vortex__DOT__vx_d_e_reg__DOT__valid_z[2],0,0); - VL_SIG(Vortex__DOT__vx_e_m_reg__DOT__alu_result[2],31,0); - VL_SIG(Vortex__DOT__vx_e_m_reg__DOT__a_reg_data[2],31,0); - VL_SIG(Vortex__DOT__vx_e_m_reg__DOT__b_reg_data[2],31,0); - VL_SIG8(Vortex__DOT__vx_e_m_reg__DOT__valid[2],0,0); - VL_SIG(Vortex__DOT__vx_m_w_reg__DOT__alu_result[2],31,0); - VL_SIG(Vortex__DOT__vx_m_w_reg__DOT__mem_result[2],31,0); - VL_SIG8(Vortex__DOT__vx_m_w_reg__DOT__valid[2],0,0); - 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); - VL_SIG(Vortex__DOT__vx_forwarding__DOT__use_writeback_PC_next[2],31,0); + VL_SIG(Vortex__DOT__vx_d_e_reg__DOT__a_reg_data[5],31,0); + VL_SIG(Vortex__DOT__vx_d_e_reg__DOT__b_reg_data[5],31,0); + VL_SIG8(Vortex__DOT__vx_d_e_reg__DOT__valid[5],0,0); + VL_SIG(Vortex__DOT__vx_d_e_reg__DOT__reg_data_z[5],31,0); + VL_SIG8(Vortex__DOT__vx_d_e_reg__DOT__valid_z[5],0,0); + VL_SIG(Vortex__DOT__vx_e_m_reg__DOT__alu_result[5],31,0); + VL_SIG(Vortex__DOT__vx_e_m_reg__DOT__a_reg_data[5],31,0); + VL_SIG(Vortex__DOT__vx_e_m_reg__DOT__b_reg_data[5],31,0); + VL_SIG8(Vortex__DOT__vx_e_m_reg__DOT__valid[5],0,0); + VL_SIG(Vortex__DOT__vx_m_w_reg__DOT__alu_result[5],31,0); + VL_SIG(Vortex__DOT__vx_m_w_reg__DOT__mem_result[5],31,0); + VL_SIG8(Vortex__DOT__vx_m_w_reg__DOT__valid[5],0,0); + VL_SIG(Vortex__DOT__vx_writeback__DOT__out_pc_data[5],31,0); + VL_SIG(Vortex__DOT__vx_forwarding__DOT__use_execute_PC_next[5],31,0); + VL_SIG(Vortex__DOT__vx_forwarding__DOT__use_memory_PC_next[5],31,0); + VL_SIG(Vortex__DOT__vx_forwarding__DOT__use_writeback_PC_next[5],31,0); VL_SIG16(Vortex__DOT__vx_csr_handler__DOT__csr[4096],11,0); }; @@ -175,64 +175,64 @@ VL_MODULE(VVortex) { VL_SIG(Vortex__DOT__vx_decode__DOT____Vcellout__vx_register_file_1__out_src1_data,31,0); VL_SIG(Vortex__DOT__vx_execute__DOT____Vcellout__vx_alu_0__out_alu_result,31,0); VL_SIG(Vortex__DOT__vx_execute__DOT____Vcellout__vx_alu_1__out_alu_result,31,0); - VL_SIG8(Vortex__DOT____Vcellout__vx_fetch__out_valid[2],0,0); - VL_SIG8(Vortex__DOT____Vcellout__vx_f_d_reg__out_valid[2],0,0); - VL_SIG8(Vortex__DOT____Vcellinp__vx_f_d_reg__in_valid[2],0,0); - VL_SIG8(Vortex__DOT____Vcellout__vx_decode__out_valid[2],0,0); - VL_SIG(Vortex__DOT____Vcellout__vx_decode__out_b_reg_data[2],31,0); - VL_SIG(Vortex__DOT____Vcellout__vx_decode__out_a_reg_data[2],31,0); - VL_SIG(Vortex__DOT____Vcellinp__vx_decode__in_src2_fwd_data[2],31,0); - VL_SIG(Vortex__DOT____Vcellinp__vx_decode__in_src1_fwd_data[2],31,0); - VL_SIG8(Vortex__DOT____Vcellinp__vx_decode__in_wb_valid[2],0,0); - VL_SIG(Vortex__DOT____Vcellinp__vx_decode__in_write_data[2],31,0); - VL_SIG8(Vortex__DOT____Vcellinp__vx_decode__in_valid[2],0,0); - VL_SIG8(Vortex__DOT____Vcellout__vx_d_e_reg__out_valid[2],0,0); - VL_SIG(Vortex__DOT____Vcellout__vx_d_e_reg__out_b_reg_data[2],31,0); - VL_SIG(Vortex__DOT____Vcellout__vx_d_e_reg__out_a_reg_data[2],31,0); - VL_SIG8(Vortex__DOT____Vcellinp__vx_d_e_reg__in_valid[2],0,0); - VL_SIG(Vortex__DOT____Vcellinp__vx_d_e_reg__in_b_reg_data[2],31,0); - VL_SIG(Vortex__DOT____Vcellinp__vx_d_e_reg__in_a_reg_data[2],31,0); - VL_SIG8(Vortex__DOT____Vcellout__vx_execute__out_valid[2],0,0); - VL_SIG(Vortex__DOT____Vcellout__vx_execute__out_b_reg_data[2],31,0); - VL_SIG(Vortex__DOT____Vcellout__vx_execute__out_alu_result[2],31,0); - VL_SIG8(Vortex__DOT____Vcellinp__vx_execute__in_valid[2],0,0); - VL_SIG(Vortex__DOT____Vcellinp__vx_execute__in_b_reg_data[2],31,0); - VL_SIG(Vortex__DOT____Vcellinp__vx_execute__in_a_reg_data[2],31,0); - VL_SIG8(Vortex__DOT____Vcellout__vx_e_m_reg__out_valid[2],0,0); - VL_SIG(Vortex__DOT____Vcellout__vx_e_m_reg__out_b_reg_data[2],31,0); - VL_SIG(Vortex__DOT____Vcellout__vx_e_m_reg__out_alu_result[2],31,0); - VL_SIG8(Vortex__DOT____Vcellinp__vx_e_m_reg__in_valid[2],0,0); - VL_SIG(Vortex__DOT____Vcellinp__vx_e_m_reg__in_b_reg_data[2],31,0); - VL_SIG(Vortex__DOT____Vcellinp__vx_e_m_reg__in_alu_result[2],31,0); - VL_SIG8(Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_valid[2],0,0); - VL_SIG(Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_data[2],31,0); - VL_SIG(Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_address[2],31,0); - VL_SIG8(Vortex__DOT____Vcellout__vx_memory__out_valid[2],0,0); - VL_SIG(Vortex__DOT____Vcellout__vx_memory__out_mem_result[2],31,0); - VL_SIG(Vortex__DOT____Vcellout__vx_memory__out_alu_result[2],31,0); - VL_SIG(Vortex__DOT____Vcellinp__vx_memory__in_cache_driver_out_data[2],31,0); - VL_SIG8(Vortex__DOT____Vcellinp__vx_memory__in_valid[2],0,0); - VL_SIG(Vortex__DOT____Vcellinp__vx_memory__in_rd2[2],31,0); - VL_SIG(Vortex__DOT____Vcellinp__vx_memory__in_alu_result[2],31,0); - VL_SIG8(Vortex__DOT____Vcellout__vx_m_w_reg__out_valid[2],0,0); - VL_SIG(Vortex__DOT____Vcellout__vx_m_w_reg__out_mem_result[2],31,0); - VL_SIG(Vortex__DOT____Vcellout__vx_m_w_reg__out_alu_result[2],31,0); - VL_SIG8(Vortex__DOT____Vcellinp__vx_m_w_reg__in_valid[2],0,0); - VL_SIG(Vortex__DOT____Vcellinp__vx_m_w_reg__in_mem_result[2],31,0); - VL_SIG(Vortex__DOT____Vcellinp__vx_m_w_reg__in_alu_result[2],31,0); - VL_SIG(Vortex__DOT____Vcellout__vx_writeback__out_write_data[2],31,0); - VL_SIG8(Vortex__DOT____Vcellinp__vx_writeback__in_valid[2],0,0); - 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); - 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); - 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_SIG8(Vortex__DOT____Vcellout__vx_fetch__out_valid[5],0,0); + VL_SIG8(Vortex__DOT____Vcellout__vx_f_d_reg__out_valid[5],0,0); + VL_SIG8(Vortex__DOT____Vcellinp__vx_f_d_reg__in_valid[5],0,0); + VL_SIG8(Vortex__DOT____Vcellout__vx_decode__out_valid[5],0,0); + VL_SIG(Vortex__DOT____Vcellout__vx_decode__out_b_reg_data[5],31,0); + VL_SIG(Vortex__DOT____Vcellout__vx_decode__out_a_reg_data[5],31,0); + VL_SIG(Vortex__DOT____Vcellinp__vx_decode__in_src2_fwd_data[5],31,0); + VL_SIG(Vortex__DOT____Vcellinp__vx_decode__in_src1_fwd_data[5],31,0); + VL_SIG8(Vortex__DOT____Vcellinp__vx_decode__in_wb_valid[5],0,0); + VL_SIG(Vortex__DOT____Vcellinp__vx_decode__in_write_data[5],31,0); + VL_SIG8(Vortex__DOT____Vcellinp__vx_decode__in_valid[5],0,0); + VL_SIG8(Vortex__DOT____Vcellout__vx_d_e_reg__out_valid[5],0,0); + VL_SIG(Vortex__DOT____Vcellout__vx_d_e_reg__out_b_reg_data[5],31,0); + VL_SIG(Vortex__DOT____Vcellout__vx_d_e_reg__out_a_reg_data[5],31,0); + VL_SIG8(Vortex__DOT____Vcellinp__vx_d_e_reg__in_valid[5],0,0); + VL_SIG(Vortex__DOT____Vcellinp__vx_d_e_reg__in_b_reg_data[5],31,0); + VL_SIG(Vortex__DOT____Vcellinp__vx_d_e_reg__in_a_reg_data[5],31,0); + VL_SIG8(Vortex__DOT____Vcellout__vx_execute__out_valid[5],0,0); + VL_SIG(Vortex__DOT____Vcellout__vx_execute__out_b_reg_data[5],31,0); + VL_SIG(Vortex__DOT____Vcellout__vx_execute__out_alu_result[5],31,0); + VL_SIG8(Vortex__DOT____Vcellinp__vx_execute__in_valid[5],0,0); + VL_SIG(Vortex__DOT____Vcellinp__vx_execute__in_b_reg_data[5],31,0); + VL_SIG(Vortex__DOT____Vcellinp__vx_execute__in_a_reg_data[5],31,0); + VL_SIG8(Vortex__DOT____Vcellout__vx_e_m_reg__out_valid[5],0,0); + VL_SIG(Vortex__DOT____Vcellout__vx_e_m_reg__out_b_reg_data[5],31,0); + VL_SIG(Vortex__DOT____Vcellout__vx_e_m_reg__out_alu_result[5],31,0); + VL_SIG8(Vortex__DOT____Vcellinp__vx_e_m_reg__in_valid[5],0,0); + VL_SIG(Vortex__DOT____Vcellinp__vx_e_m_reg__in_b_reg_data[5],31,0); + VL_SIG(Vortex__DOT____Vcellinp__vx_e_m_reg__in_alu_result[5],31,0); + VL_SIG8(Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_valid[5],0,0); + VL_SIG(Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_data[5],31,0); + VL_SIG(Vortex__DOT____Vcellout__vx_memory__out_cache_driver_in_address[5],31,0); + VL_SIG8(Vortex__DOT____Vcellout__vx_memory__out_valid[5],0,0); + VL_SIG(Vortex__DOT____Vcellout__vx_memory__out_mem_result[5],31,0); + VL_SIG(Vortex__DOT____Vcellout__vx_memory__out_alu_result[5],31,0); + VL_SIG(Vortex__DOT____Vcellinp__vx_memory__in_cache_driver_out_data[5],31,0); + VL_SIG8(Vortex__DOT____Vcellinp__vx_memory__in_valid[5],0,0); + VL_SIG(Vortex__DOT____Vcellinp__vx_memory__in_rd2[5],31,0); + VL_SIG(Vortex__DOT____Vcellinp__vx_memory__in_alu_result[5],31,0); + VL_SIG8(Vortex__DOT____Vcellout__vx_m_w_reg__out_valid[5],0,0); + VL_SIG(Vortex__DOT____Vcellout__vx_m_w_reg__out_mem_result[5],31,0); + VL_SIG(Vortex__DOT____Vcellout__vx_m_w_reg__out_alu_result[5],31,0); + VL_SIG8(Vortex__DOT____Vcellinp__vx_m_w_reg__in_valid[5],0,0); + VL_SIG(Vortex__DOT____Vcellinp__vx_m_w_reg__in_mem_result[5],31,0); + VL_SIG(Vortex__DOT____Vcellinp__vx_m_w_reg__in_alu_result[5],31,0); + VL_SIG(Vortex__DOT____Vcellout__vx_writeback__out_write_data[5],31,0); + VL_SIG8(Vortex__DOT____Vcellinp__vx_writeback__in_valid[5],0,0); + VL_SIG(Vortex__DOT____Vcellinp__vx_writeback__in_mem_result[5],31,0); + VL_SIG(Vortex__DOT____Vcellinp__vx_writeback__in_alu_result[5],31,0); + VL_SIG(Vortex__DOT____Vcellout__vx_forwarding__out_src2_fwd_data[5],31,0); + VL_SIG(Vortex__DOT____Vcellout__vx_forwarding__out_src1_fwd_data[5],31,0); + VL_SIG(Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_mem_data[5],31,0); + VL_SIG(Vortex__DOT____Vcellinp__vx_forwarding__in_writeback_alu_result[5],31,0); + VL_SIG(Vortex__DOT____Vcellinp__vx_forwarding__in_memory_mem_data[5],31,0); + VL_SIG(Vortex__DOT____Vcellinp__vx_forwarding__in_memory_alu_result[5],31,0); }; struct { - VL_SIG(Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result[2],31,0); + VL_SIG(Vortex__DOT____Vcellinp__vx_forwarding__in_execute_alu_result[5],31,0); }; static VL_ST_SIG8(__Vtable1_Vortex__DOT__vx_decode__DOT__mul_alu[8],4,0); @@ -268,7 +268,7 @@ VL_MODULE(VVortex) { private: static QData _change_request(VVortex__Syms* __restrict vlSymsp); public: - static void _combo__TOP__3(VVortex__Syms* __restrict vlSymsp); + static void _combo__TOP__4(VVortex__Syms* __restrict vlSymsp); static void _combo__TOP__9(VVortex__Syms* __restrict vlSymsp); private: void _ctor_var_reset(); @@ -284,9 +284,9 @@ VL_MODULE(VVortex) { static void _initial__TOP__6(VVortex__Syms* __restrict vlSymsp); static void _sequent__TOP__1(VVortex__Syms* __restrict vlSymsp); static void _sequent__TOP__2(VVortex__Syms* __restrict vlSymsp); - static void _sequent__TOP__5(VVortex__Syms* __restrict vlSymsp); + static void _sequent__TOP__3(VVortex__Syms* __restrict vlSymsp); static void _sequent__TOP__7(VVortex__Syms* __restrict vlSymsp); - static void _settle__TOP__4(VVortex__Syms* __restrict vlSymsp); + static void _settle__TOP__5(VVortex__Syms* __restrict vlSymsp); static void _settle__TOP__8(VVortex__Syms* __restrict vlSymsp); } VL_ATTR_ALIGNED(128); diff --git a/rtl/obj_dir/VVortex__ALL.a b/rtl/obj_dir/VVortex__ALL.a index aca837644e4560c1bbcbd2197d921b9d3dd6b932..3065c98d1071be3d72df1fa3482dc1e81cee179e 100644 GIT binary patch literal 80880 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

81k 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 literal 61792 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 diff --git a/rtl/obj_dir/VVortex__ALLcls.o b/rtl/obj_dir/VVortex__ALLcls.o index a543a6abb5ee5364ee32db4535327bce3ba0dc72..014997262045b47a049dd6457892b0dd3be68119 100644 GIT binary patch literal 77644 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

etssvSs=$9GY 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 Kj}Lq4#Qz4FMPYsb diff --git a/rtl/obj_dir/VVortex__verFiles.dat b/rtl/obj_dir/VVortex__verFiles.dat index d6d4f082..c2ed054e 100644 --- a/rtl/obj_dir/VVortex__verFiles.dat +++ b/rtl/obj_dir/VVortex__verFiles.dat @@ -5,22 +5,22 @@ S 2862 12889318286 1553966962 0 1553966962 0 "VX_alu. S 1495 12889087229 1553211178 0 1553211178 0 "VX_csr_handler.v" S 5040 12889318287 1553995422 0 1553995422 0 "VX_d_e_reg.v" S 11888 12889419225 1553995767 0 1553995767 0 "VX_decode.v" -S 1551 12889419227 1553898607 0 1553898607 0 "VX_define.v" +S 1532 12889419227 1553998396 0 1553998396 0 "VX_define.v" S 4077 12889318289 1553997299 0 1553997299 0 "VX_e_m_reg.v" S 4908 12889318290 1553997136 0 1553997136 0 "VX_execute.v" S 1382 12889050060 1553673124 0 1553673124 0 "VX_f_d_reg.v" -S 4048 12889419228 1553932280 0 1553932280 0 "VX_fetch.v" +S 4042 12889419228 1553998456 0 1553998456 0 "VX_fetch.v" S 5632 12889086478 1553672336 0 1553672336 0 "VX_forwarding.v" S 1677 12889085814 1553673165 0 1553673165 0 "VX_m_w_reg.v" S 3002 12889084513 1553997670 0 1553997670 0 "VX_memory.v" S 1003 12889419229 1553930745 0 1553930745 0 "VX_register_file.v" S 1173 12889419230 1553930874 0 1553930874 0 "VX_writeback.v" S 16452 12889419231 1553997933 0 1553997933 0 "Vortex.v" -T 183333 12889432530 1553998021 0 1553998021 0 "obj_dir/VVortex.cpp" -T 14673 12889432529 1553998021 0 1553998021 0 "obj_dir/VVortex.h" -T 1800 12889432532 1553998021 0 1553998021 0 "obj_dir/VVortex.mk" -T 530 12889432528 1553998021 0 1553998021 0 "obj_dir/VVortex__Syms.cpp" -T 717 12889432527 1553998021 0 1553998021 0 "obj_dir/VVortex__Syms.h" -T 464 12889432533 1553998021 0 1553998021 0 "obj_dir/VVortex__ver.d" -T 0 0 1553998021 0 1553998021 0 "obj_dir/VVortex__verFiles.dat" -T 1159 12889432531 1553998021 0 1553998021 0 "obj_dir/VVortex_classes.mk" +T 276821 12889432530 1553998459 0 1553998459 0 "obj_dir/VVortex.cpp" +T 14673 12889432529 1553998459 0 1553998459 0 "obj_dir/VVortex.h" +T 1800 12889432532 1553998459 0 1553998459 0 "obj_dir/VVortex.mk" +T 530 12889432528 1553998459 0 1553998459 0 "obj_dir/VVortex__Syms.cpp" +T 717 12889432527 1553998459 0 1553998459 0 "obj_dir/VVortex__Syms.h" +T 464 12889432533 1553998459 0 1553998459 0 "obj_dir/VVortex__ver.d" +T 0 0 1553998459 0 1553998459 0 "obj_dir/VVortex__verFiles.dat" +T 1159 12889432531 1553998459 0 1553998459 0 "obj_dir/VVortex_classes.mk" diff --git a/rtl/obj_dir/debug.txt b/rtl/obj_dir/debug.txt index 02fdafad..e55f0191 100644 --- a/rtl/obj_dir/debug.txt +++ b/rtl/obj_dir/debug.txt @@ -29418,8 +29418,8 @@ RF: Writing 00000000 to 10 RF: Writing 800020bc to 1 ---- ****** -MEM: data read from cache_driver: ffffffff [800000c0] WB Data: 80002000 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: ffffffff ---- ****** @@ -29470,8 +29470,8 @@ RF: Writing 00000002 to 28 RF: Writing 800020d4 to 1 ---- ****** -MEM: data read from cache_driver: 00000000 [800000d8] WB Data: 80002000 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 00000000 ---- ****** @@ -29527,8 +29527,8 @@ RF: Writing 00000003 to 28 RF: Writing 800020ec to 1 ---- ****** -MEM: data read from cache_driver: fffffff0 [800000f0] WB Data: 80002000 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: fffffff0 ---- ****** @@ -29579,8 +29579,8 @@ RF: Writing 00000004 to 28 RF: Writing 80002104 to 1 ---- ****** -MEM: data read from cache_driver: 0000000f [80000108] WB Data: 80002000 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 0000000f ---- ****** @@ -29631,8 +29631,8 @@ RF: Writing 00000005 to 28 RF: Writing 8000211c to 1 ---- ****** -MEM: data read from cache_driver: ffffffff [80000120] WB Data: 80002003 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: ffffffff ---- ****** @@ -29683,8 +29683,8 @@ RF: Writing 00000006 to 28 RF: Writing 80002134 to 1 ---- ****** -MEM: data read from cache_driver: 00000000 [80000138] WB Data: 80002003 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 00000000 ---- ****** @@ -29735,8 +29735,8 @@ RF: Writing 00000007 to 28 RF: Writing 8000214c to 1 ---- ****** -MEM: data read from cache_driver: fffffff0 [80000150] WB Data: 80002003 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: fffffff0 ---- ****** @@ -29787,8 +29787,8 @@ RF: Writing 00000008 to 28 RF: Writing 80002164 to 1 ---- ****** -MEM: data read from cache_driver: 0000000f [80000168] WB Data: 80002003 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 0000000f ---- ****** @@ -29846,8 +29846,8 @@ RF: Writing 8000217c to 1 RF: Writing 80002000 to 1 ---- ****** -MEM: data read from cache_driver: ffffffff [80000184] WB Data: 80001fe0 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: ffffffff ---- ****** @@ -29905,8 +29905,8 @@ RF: Writing 80002198 to 1 RF: Writing 80002000 to 1 ---- ****** -MEM: data read from cache_driver: 00000000 [800001a0] WB Data: 80001ffa {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 00000000 ---- ****** @@ -29971,8 +29971,8 @@ RF: Writing 00000000 to 4 RF: Writing 800021bc to 1 ---- ****** -MEM: data read from cache_driver: fffffff0 [800001c0] WB Data: 80002001 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: fffffff0 ---- ****** @@ -30062,8 +30062,8 @@ RF: Writing 00000002 to 5 RF: Writing 800021bc to 1 ---- ****** -MEM: data read from cache_driver: fffffff0 [800001c0] WB Data: 80002001 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: fffffff0 ---- ****** @@ -30167,8 +30167,8 @@ RF: Writing 00000000 to 4 RF: Writing 800021e8 to 1 ---- ****** -MEM: data read from cache_driver: 0000000f [800001ec] WB Data: 80002002 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 0000000f ---- ****** @@ -30259,8 +30259,8 @@ RF: Writing 00000002 to 5 RF: Writing 800021e8 to 1 ---- ****** -MEM: data read from cache_driver: 0000000f [800001ec] WB Data: 80002002 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 0000000f ---- ****** @@ -30365,8 +30365,8 @@ RF: Writing 00000000 to 4 RF: Writing 80002218 to 1 ---- ****** -MEM: data read from cache_driver: 00000000 [8000021c] WB Data: 80002000 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 00000000 ---- ****** @@ -30458,8 +30458,8 @@ RF: Writing 00000002 to 5 RF: Writing 80002218 to 1 ---- ****** -MEM: data read from cache_driver: 00000000 [8000021c] WB Data: 80002000 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 00000000 ---- ****** @@ -30565,8 +30565,8 @@ RF: Writing 00000000 to 4 RF: Writing 8000224c to 1 ---- ****** -MEM: data read from cache_driver: fffffff0 [80000250] WB Data: 80002001 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: fffffff0 ---- ****** @@ -30644,8 +30644,8 @@ RF: Writing 00000002 to 5 RF: Writing 8000224c to 1 ---- ****** -MEM: data read from cache_driver: fffffff0 [80000250] WB Data: 80002001 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: fffffff0 ---- ****** @@ -30744,8 +30744,8 @@ RF: Writing 80002274 to 1 RF: Writing 80002002 to 1 ---- ****** -MEM: data read from cache_driver: 0000000f [8000027c] WB Data: 00000000 {babebabe}, to register: 0 [1 0] +MEM: data read from cache_driver: 0000000f ---- ****** @@ -30829,8 +30829,8 @@ RF: Writing 80002274 to 1 RF: Writing 80002002 to 1 ---- ****** -MEM: data read from cache_driver: 0000000f [8000027c] WB Data: 00000000 {babebabe}, to register: 0 [1 0] +MEM: data read from cache_driver: 0000000f ---- ****** @@ -30934,8 +30934,8 @@ RF: Writing 80002000 to 1 ****** ---- ****** -MEM: data read from cache_driver: 00000000 [800002ac] WB Data: 00000000 {babebabe}, to register: 0 [1 0] +MEM: data read from cache_driver: 00000000 ---- ****** @@ -31025,8 +31025,8 @@ RF: Writing 80002000 to 1 ****** ---- ****** -MEM: data read from cache_driver: 00000000 [800002ac] WB Data: 00000000 {babebabe}, to register: 0 [1 0] +MEM: data read from cache_driver: 00000000 ---- ****** @@ -31103,8 +31103,8 @@ RF: Writing 00000002 to 5 RF: Writing 800022c8 to 3 ---- ****** -MEM: data read from cache_driver: ffffffff [800002cc] WB Data: 80002000 {babebabe}, to register: 3 [1 0] +MEM: data read from cache_driver: ffffffff ---- ****** @@ -31172,8 +31172,8 @@ RF: Writing 00000012 to 28 RF: Writing 800022e4 to 3 ---- ****** -MEM: data read from cache_driver: ffffffff [800002e8] WB Data: 80002000 {babebabe}, to register: 3 [1 0] +MEM: data read from cache_driver: ffffffff ---- ****** @@ -31546,8 +31546,8 @@ RF: Writing 00000000 to 10 RF: Writing 800020bc to 1 ---- ****** -MEM: data read from cache_driver: 000000ff [800000c0] WB Data: 80002000 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 000000ff ---- ****** @@ -31598,8 +31598,8 @@ RF: Writing 00000002 to 28 RF: Writing 800020d4 to 1 ---- ****** -MEM: data read from cache_driver: 00000000 [800000d8] WB Data: 80002000 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 00000000 ---- ****** @@ -31655,8 +31655,8 @@ RF: Writing 00000003 to 28 RF: Writing 800020ec to 1 ---- ****** -MEM: data read from cache_driver: 000000f0 [800000f0] WB Data: 80002000 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 000000f0 ---- ****** @@ -31707,8 +31707,8 @@ RF: Writing 00000004 to 28 RF: Writing 80002104 to 1 ---- ****** -MEM: data read from cache_driver: 0000000f [80000108] WB Data: 80002000 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 0000000f ---- ****** @@ -31759,8 +31759,8 @@ RF: Writing 00000005 to 28 RF: Writing 8000211c to 1 ---- ****** -MEM: data read from cache_driver: 000000ff [80000120] WB Data: 80002003 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 000000ff ---- ****** @@ -31811,8 +31811,8 @@ RF: Writing 00000006 to 28 RF: Writing 80002134 to 1 ---- ****** -MEM: data read from cache_driver: 00000000 [80000138] WB Data: 80002003 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 00000000 ---- ****** @@ -31863,8 +31863,8 @@ RF: Writing 00000007 to 28 RF: Writing 8000214c to 1 ---- ****** -MEM: data read from cache_driver: 000000f0 [80000150] WB Data: 80002003 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 000000f0 ---- ****** @@ -31915,8 +31915,8 @@ RF: Writing 00000008 to 28 RF: Writing 80002164 to 1 ---- ****** -MEM: data read from cache_driver: 0000000f [80000168] WB Data: 80002003 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 0000000f ---- ****** @@ -31974,8 +31974,8 @@ RF: Writing 8000217c to 1 RF: Writing 80002000 to 1 ---- ****** -MEM: data read from cache_driver: 000000ff [80000184] WB Data: 80001fe0 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 000000ff ---- ****** @@ -32033,8 +32033,8 @@ RF: Writing 80002198 to 1 RF: Writing 80002000 to 1 ---- ****** -MEM: data read from cache_driver: 00000000 [800001a0] WB Data: 80001ffa {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 00000000 ---- ****** @@ -32099,8 +32099,8 @@ RF: Writing 00000000 to 4 RF: Writing 800021bc to 1 ---- ****** -MEM: data read from cache_driver: 000000f0 [800001c0] WB Data: 80002001 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 000000f0 ---- ****** @@ -32190,8 +32190,8 @@ RF: Writing 00000002 to 5 RF: Writing 800021bc to 1 ---- ****** -MEM: data read from cache_driver: 000000f0 [800001c0] WB Data: 80002001 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 000000f0 ---- ****** @@ -32295,8 +32295,8 @@ RF: Writing 00000000 to 4 RF: Writing 800021e8 to 1 ---- ****** -MEM: data read from cache_driver: 0000000f [800001ec] WB Data: 80002002 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 0000000f ---- ****** @@ -32387,8 +32387,8 @@ RF: Writing 00000002 to 5 RF: Writing 800021e8 to 1 ---- ****** -MEM: data read from cache_driver: 0000000f [800001ec] WB Data: 80002002 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 0000000f ---- ****** @@ -32493,8 +32493,8 @@ RF: Writing 00000000 to 4 RF: Writing 80002218 to 1 ---- ****** -MEM: data read from cache_driver: 00000000 [8000021c] WB Data: 80002000 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 00000000 ---- ****** @@ -32586,8 +32586,8 @@ RF: Writing 00000002 to 5 RF: Writing 80002218 to 1 ---- ****** -MEM: data read from cache_driver: 00000000 [8000021c] WB Data: 80002000 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 00000000 ---- ****** @@ -32693,8 +32693,8 @@ RF: Writing 00000000 to 4 RF: Writing 8000224c to 1 ---- ****** -MEM: data read from cache_driver: 000000f0 [80000250] WB Data: 80002001 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 000000f0 ---- ****** @@ -32772,8 +32772,8 @@ RF: Writing 00000002 to 5 RF: Writing 8000224c to 1 ---- ****** -MEM: data read from cache_driver: 000000f0 [80000250] WB Data: 80002001 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 000000f0 ---- ****** @@ -32872,8 +32872,8 @@ RF: Writing 80002274 to 1 RF: Writing 80002002 to 1 ---- ****** -MEM: data read from cache_driver: 0000000f [8000027c] WB Data: 00000000 {babebabe}, to register: 0 [1 0] +MEM: data read from cache_driver: 0000000f ---- ****** @@ -32957,8 +32957,8 @@ RF: Writing 80002274 to 1 RF: Writing 80002002 to 1 ---- ****** -MEM: data read from cache_driver: 0000000f [8000027c] WB Data: 00000000 {babebabe}, to register: 0 [1 0] +MEM: data read from cache_driver: 0000000f ---- ****** @@ -33062,8 +33062,8 @@ RF: Writing 80002000 to 1 ****** ---- ****** -MEM: data read from cache_driver: 00000000 [800002ac] WB Data: 00000000 {babebabe}, to register: 0 [1 0] +MEM: data read from cache_driver: 00000000 ---- ****** @@ -33153,8 +33153,8 @@ RF: Writing 80002000 to 1 ****** ---- ****** -MEM: data read from cache_driver: 00000000 [800002ac] WB Data: 00000000 {babebabe}, to register: 0 [1 0] +MEM: data read from cache_driver: 00000000 ---- ****** @@ -33231,8 +33231,8 @@ RF: Writing 00000002 to 5 RF: Writing 800022c8 to 3 ---- ****** -MEM: data read from cache_driver: 000000ff [800002cc] WB Data: 80002000 {babebabe}, to register: 3 [1 0] +MEM: data read from cache_driver: 000000ff ---- ****** @@ -33300,8 +33300,8 @@ RF: Writing 00000012 to 28 RF: Writing 800022e4 to 3 ---- ****** -MEM: data read from cache_driver: 000000ff [800002e8] WB Data: 80002000 {babebabe}, to register: 3 [1 0] +MEM: data read from cache_driver: 000000ff ---- ****** @@ -33674,8 +33674,8 @@ RF: Writing 00000000 to 10 RF: Writing 800020bc to 1 ---- ****** -MEM: data read from cache_driver: 000000ff [800000c0] WB Data: 80002000 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 000000ff ---- ****** @@ -33726,8 +33726,8 @@ RF: Writing 00000002 to 28 RF: Writing 800020d4 to 1 ---- ****** -MEM: data read from cache_driver: ffffff00 [800000d8] WB Data: 80002000 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: ffffff00 ---- ****** @@ -33783,8 +33783,8 @@ RF: Writing 00000003 to 28 RF: Writing 800020ec to 1 ---- ****** -MEM: data read from cache_driver: 00000ff0 [800000f0] WB Data: 80002000 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 00000ff0 ---- ****** @@ -33842,8 +33842,8 @@ RF: Writing 00000004 to 28 RF: Writing 80002108 to 1 ---- ****** -MEM: data read from cache_driver: fffff00f [8000010c] WB Data: 80002000 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: fffff00f ---- ****** @@ -33901,8 +33901,8 @@ RF: Writing 00000005 to 28 RF: Writing 80002124 to 1 ---- ****** -MEM: data read from cache_driver: 000000ff [80000128] WB Data: 80002006 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 000000ff ---- ****** @@ -33953,8 +33953,8 @@ RF: Writing 00000006 to 28 RF: Writing 8000213c to 1 ---- ****** -MEM: data read from cache_driver: ffffff00 [80000140] WB Data: 80002006 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: ffffff00 ---- ****** @@ -34005,8 +34005,8 @@ RF: Writing 00000007 to 28 RF: Writing 80002154 to 1 ---- ****** -MEM: data read from cache_driver: 00000ff0 [80000158] WB Data: 80002006 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 00000ff0 ---- ****** @@ -34064,8 +34064,8 @@ RF: Writing 00000008 to 28 RF: Writing 80002170 to 1 ---- ****** -MEM: data read from cache_driver: fffff00f [80000174] WB Data: 80002006 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: fffff00f ---- ****** @@ -34130,8 +34130,8 @@ RF: Writing 8000218c to 1 RF: Writing 80002000 to 1 ---- ****** -MEM: data read from cache_driver: 000000ff [80000194] WB Data: 80001fe0 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 000000ff ---- ****** @@ -34189,8 +34189,8 @@ RF: Writing 800021a8 to 1 RF: Writing 80002000 to 1 ---- ****** -MEM: data read from cache_driver: ffffff00 [800001b0] WB Data: 80001ffb {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: ffffff00 ---- ****** @@ -34255,8 +34255,8 @@ RF: Writing 00000000 to 4 RF: Writing 800021cc to 1 ---- ****** -MEM: data read from cache_driver: 00000ff0 [800001d0] WB Data: 80002002 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 00000ff0 ---- ****** @@ -34353,8 +34353,8 @@ RF: Writing 00000002 to 5 RF: Writing 800021cc to 1 ---- ****** -MEM: data read from cache_driver: 00000ff0 [800001d0] WB Data: 80002002 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 00000ff0 ---- ****** @@ -34465,8 +34465,8 @@ RF: Writing 00000000 to 4 RF: Writing 800021fc to 1 ---- ****** -MEM: data read from cache_driver: fffff00f [80000200] WB Data: 80002004 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: fffff00f ---- ****** @@ -34564,8 +34564,8 @@ RF: Writing 00000002 to 5 RF: Writing 800021fc to 1 ---- ****** -MEM: data read from cache_driver: fffff00f [80000200] WB Data: 80002004 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: fffff00f ---- ****** @@ -34677,8 +34677,8 @@ RF: Writing 00000000 to 4 RF: Writing 80002230 to 1 ---- ****** -MEM: data read from cache_driver: ffffff00 [80000234] WB Data: 80002000 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: ffffff00 ---- ****** @@ -34770,8 +34770,8 @@ RF: Writing 00000002 to 5 RF: Writing 80002230 to 1 ---- ****** -MEM: data read from cache_driver: ffffff00 [80000234] WB Data: 80002000 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: ffffff00 ---- ****** @@ -34877,8 +34877,8 @@ RF: Writing 00000000 to 4 RF: Writing 80002264 to 1 ---- ****** -MEM: data read from cache_driver: 00000ff0 [80000268] WB Data: 80002002 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 00000ff0 ---- ****** @@ -34958,8 +34958,8 @@ RF: Writing 00000002 to 5 RF: Writing 80002264 to 1 ---- ****** -MEM: data read from cache_driver: 00000ff0 [80000268] WB Data: 80002002 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 00000ff0 ---- ****** @@ -35060,8 +35060,8 @@ RF: Writing 80002290 to 1 RF: Writing 80002004 to 1 ---- ****** -MEM: data read from cache_driver: fffff00f [80000298] WB Data: 00000000 {babebabe}, to register: 0 [1 0] +MEM: data read from cache_driver: fffff00f ---- ****** @@ -35147,8 +35147,8 @@ RF: Writing 80002290 to 1 RF: Writing 80002004 to 1 ---- ****** -MEM: data read from cache_driver: fffff00f [80000298] WB Data: 00000000 {babebabe}, to register: 0 [1 0] +MEM: data read from cache_driver: fffff00f ---- ****** @@ -35254,8 +35254,8 @@ RF: Writing 80002000 to 1 ****** ---- ****** -MEM: data read from cache_driver: ffffff00 [800002cc] WB Data: 00000000 {babebabe}, to register: 0 [1 0] +MEM: data read from cache_driver: ffffff00 ---- ****** @@ -35345,8 +35345,8 @@ RF: Writing 80002000 to 1 ****** ---- ****** -MEM: data read from cache_driver: ffffff00 [800002cc] WB Data: 00000000 {babebabe}, to register: 0 [1 0] +MEM: data read from cache_driver: ffffff00 ---- ****** @@ -35423,8 +35423,8 @@ RF: Writing 00000002 to 5 RF: Writing 800022e8 to 3 ---- ****** -MEM: data read from cache_driver: 000000ff [800002ec] WB Data: 80002000 {babebabe}, to register: 3 [1 0] +MEM: data read from cache_driver: 000000ff ---- ****** @@ -35492,8 +35492,8 @@ RF: Writing 00000012 to 28 RF: Writing 80002304 to 3 ---- ****** -MEM: data read from cache_driver: 000000ff [80000308] WB Data: 80002000 {babebabe}, to register: 3 [1 0] +MEM: data read from cache_driver: 000000ff ---- ****** @@ -35866,8 +35866,8 @@ RF: Writing 00000000 to 10 RF: Writing 800020bc to 1 ---- ****** -MEM: data read from cache_driver: 000000ff [800000c0] WB Data: 80002000 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 000000ff ---- ****** @@ -35918,8 +35918,8 @@ RF: Writing 00000002 to 28 RF: Writing 800020d4 to 1 ---- ****** -MEM: data read from cache_driver: 0000ff00 [800000d8] WB Data: 80002000 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 0000ff00 ---- ****** @@ -35977,8 +35977,8 @@ RF: Writing 00000003 to 28 RF: Writing 800020f0 to 1 ---- ****** -MEM: data read from cache_driver: 00000ff0 [800000f4] WB Data: 80002000 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 00000ff0 ---- ****** @@ -36036,8 +36036,8 @@ RF: Writing 00000004 to 28 RF: Writing 8000210c to 1 ---- ****** -MEM: data read from cache_driver: 0000f00f [80000110] WB Data: 80002000 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 0000f00f ---- ****** @@ -36095,8 +36095,8 @@ RF: Writing 00000005 to 28 RF: Writing 80002128 to 1 ---- ****** -MEM: data read from cache_driver: 000000ff [8000012c] WB Data: 80002006 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 000000ff ---- ****** @@ -36147,8 +36147,8 @@ RF: Writing 00000006 to 28 RF: Writing 80002140 to 1 ---- ****** -MEM: data read from cache_driver: 0000ff00 [80000144] WB Data: 80002006 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 0000ff00 ---- ****** @@ -36206,8 +36206,8 @@ RF: Writing 00000007 to 28 RF: Writing 8000215c to 1 ---- ****** -MEM: data read from cache_driver: 00000ff0 [80000160] WB Data: 80002006 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 00000ff0 ---- ****** @@ -36265,8 +36265,8 @@ RF: Writing 00000008 to 28 RF: Writing 80002178 to 1 ---- ****** -MEM: data read from cache_driver: 0000f00f [8000017c] WB Data: 80002006 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 0000f00f ---- ****** @@ -36331,8 +36331,8 @@ RF: Writing 80002194 to 1 RF: Writing 80002000 to 1 ---- ****** -MEM: data read from cache_driver: 000000ff [8000019c] WB Data: 80001fe0 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 000000ff ---- ****** @@ -36390,8 +36390,8 @@ RF: Writing 800021b0 to 1 RF: Writing 80002000 to 1 ---- ****** -MEM: data read from cache_driver: 0000ff00 [800001b8] WB Data: 80001ffb {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 0000ff00 ---- ****** @@ -36463,8 +36463,8 @@ RF: Writing 00000000 to 4 RF: Writing 800021d8 to 1 ---- ****** -MEM: data read from cache_driver: 00000ff0 [800001dc] WB Data: 80002002 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 00000ff0 ---- ****** @@ -36561,8 +36561,8 @@ RF: Writing 00000002 to 5 RF: Writing 800021d8 to 1 ---- ****** -MEM: data read from cache_driver: 00000ff0 [800001dc] WB Data: 80002002 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 00000ff0 ---- ****** @@ -36673,8 +36673,8 @@ RF: Writing 00000000 to 4 RF: Writing 80002208 to 1 ---- ****** -MEM: data read from cache_driver: 0000f00f [8000020c] WB Data: 80002004 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 0000f00f ---- ****** @@ -36772,8 +36772,8 @@ RF: Writing 00000002 to 5 RF: Writing 80002208 to 1 ---- ****** -MEM: data read from cache_driver: 0000f00f [8000020c] WB Data: 80002004 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 0000f00f ---- ****** @@ -36885,8 +36885,8 @@ RF: Writing 00000000 to 4 RF: Writing 8000223c to 1 ---- ****** -MEM: data read from cache_driver: 0000ff00 [80000240] WB Data: 80002000 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 0000ff00 ---- ****** @@ -36985,8 +36985,8 @@ RF: Writing 00000002 to 5 RF: Writing 8000223c to 1 ---- ****** -MEM: data read from cache_driver: 0000ff00 [80000240] WB Data: 80002000 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 0000ff00 ---- ****** @@ -37099,8 +37099,8 @@ RF: Writing 00000000 to 4 RF: Writing 80002274 to 1 ---- ****** -MEM: data read from cache_driver: 00000ff0 [80000278] WB Data: 80002002 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 00000ff0 ---- ****** @@ -37180,8 +37180,8 @@ RF: Writing 00000002 to 5 RF: Writing 80002274 to 1 ---- ****** -MEM: data read from cache_driver: 00000ff0 [80000278] WB Data: 80002002 {babebabe}, to register: 1 [1 0] +MEM: data read from cache_driver: 00000ff0 ---- ****** @@ -37282,8 +37282,8 @@ RF: Writing 800022a0 to 1 RF: Writing 80002004 to 1 ---- ****** -MEM: data read from cache_driver: 0000f00f [800002a8] WB Data: 00000000 {babebabe}, to register: 0 [1 0] +MEM: data read from cache_driver: 0000f00f ---- ****** @@ -37369,8 +37369,8 @@ RF: Writing 800022a0 to 1 RF: Writing 80002004 to 1 ---- ****** -MEM: data read from cache_driver: 0000f00f [800002a8] WB Data: 00000000 {babebabe}, to register: 0 [1 0] +MEM: data read from cache_driver: 0000f00f ---- ****** @@ -37476,8 +37476,8 @@ RF: Writing 80002000 to 1 ****** ---- ****** -MEM: data read from cache_driver: 0000ff00 [800002dc] WB Data: 00000000 {babebabe}, to register: 0 [1 0] +MEM: data read from cache_driver: 0000ff00 ---- ****** @@ -37569,8 +37569,8 @@ RF: Writing 80002000 to 1 ****** ---- ****** -MEM: data read from cache_driver: 0000ff00 [800002dc] WB Data: 00000000 {babebabe}, to register: 0 [1 0] +MEM: data read from cache_driver: 0000ff00 ---- ****** @@ -37649,8 +37649,8 @@ RF: Writing 00000002 to 5 RF: Writing 800022fc to 3 ---- ****** -MEM: data read from cache_driver: 000000ff [80000300] WB Data: 80002000 {babebabe}, to register: 3 [1 0] +MEM: data read from cache_driver: 000000ff ---- ****** @@ -37718,8 +37718,8 @@ RF: Writing 00000012 to 28 RF: Writing 80002318 to 3 ---- ****** -MEM: data read from cache_driver: 000000ff [8000031c] WB Data: 80002000 {babebabe}, to register: 3 [1 0] +MEM: data read from cache_driver: 000000ff ---- ****** @@ -38598,9 +38598,9 @@ PC: 800000c4 ----> Received: babebabe for addr: 80002000 ---- READING - Addr: 80002000 = ff00ff ****** +[800000c0] WB Data: 80002000 {babebabe}, to register: 1 [1 0] MEM: data read from cache_driver: 00ff00ff PC: 800000c4 ----> Received: 00ff00ff for addr: 80002000 -[800000c0] WB Data: 80002000 {babebabe}, to register: 1 [1 0] ---- READING - Addr: 80002000 = ff00ff @@ -38661,9 +38661,9 @@ PC: 800000e0 ----> Received: babebabe for addr: 80002004 ---- READING - Addr: 80002004 = ff00ff00 ****** +[800000dc] WB Data: 80002000 {babebabe}, to register: 1 [1 0] MEM: data read from cache_driver: ff00ff00 PC: 800000e0 ----> Received: ff00ff00 for addr: 80002004 -[800000dc] WB Data: 80002000 {babebabe}, to register: 1 [1 0] ---- READING - Addr: 80002004 = ff00ff00 @@ -38724,9 +38724,9 @@ PC: 800000fc ----> Received: babebabe for addr: 80002008 ---- READING - Addr: 80002008 = ff00ff0 ****** +[800000f8] WB Data: 80002000 {babebabe}, to register: 1 [1 0] MEM: data read from cache_driver: 0ff00ff0 PC: 800000fc ----> Received: 0ff00ff0 for addr: 80002008 -[800000f8] WB Data: 80002000 {babebabe}, to register: 1 [1 0] ---- READING - Addr: 80002008 = ff00ff0 @@ -38787,9 +38787,9 @@ PC: 80000118 ----> Received: babebabe for addr: 8000200c ---- READING - Addr: 8000200c = f00ff00f ****** +[80000114] WB Data: 80002000 {babebabe}, to register: 1 [1 0] MEM: data read from cache_driver: f00ff00f PC: 80000118 ----> Received: f00ff00f for addr: 8000200c -[80000114] WB Data: 80002000 {babebabe}, to register: 1 [1 0] ---- READING - Addr: 8000200c = f00ff00f @@ -38850,9 +38850,9 @@ PC: 80000134 ----> Received: babebabe for addr: 80002000 ---- READING - Addr: 80002000 = ff00ff ****** +[80000130] WB Data: 8000200c {babebabe}, to register: 1 [1 0] MEM: data read from cache_driver: 00ff00ff PC: 80000134 ----> Received: 00ff00ff for addr: 80002000 -[80000130] WB Data: 8000200c {babebabe}, to register: 1 [1 0] ---- READING - Addr: 80002000 = ff00ff @@ -38913,9 +38913,9 @@ PC: 80000150 ----> Received: babebabe for addr: 80002004 ---- READING - Addr: 80002004 = ff00ff00 ****** +[8000014c] WB Data: 8000200c {babebabe}, to register: 1 [1 0] MEM: data read from cache_driver: ff00ff00 PC: 80000150 ----> Received: ff00ff00 for addr: 80002004 -[8000014c] WB Data: 8000200c {babebabe}, to register: 1 [1 0] ---- READING - Addr: 80002004 = ff00ff00 @@ -38976,9 +38976,9 @@ PC: 8000016c ----> Received: babebabe for addr: 80002008 ---- READING - Addr: 80002008 = ff00ff0 ****** +[80000168] WB Data: 8000200c {babebabe}, to register: 1 [1 0] MEM: data read from cache_driver: 0ff00ff0 PC: 8000016c ----> Received: 0ff00ff0 for addr: 80002008 -[80000168] WB Data: 8000200c {babebabe}, to register: 1 [1 0] ---- READING - Addr: 80002008 = ff00ff0 @@ -39039,9 +39039,9 @@ PC: 80000188 ----> Received: babebabe for addr: 8000200c ---- READING - Addr: 8000200c = f00ff00f ****** +[80000184] WB Data: 8000200c {babebabe}, to register: 1 [1 0] MEM: data read from cache_driver: f00ff00f PC: 80000188 ----> Received: f00ff00f for addr: 8000200c -[80000184] WB Data: 8000200c {babebabe}, to register: 1 [1 0] ---- READING - Addr: 8000200c = f00ff00f @@ -39109,9 +39109,9 @@ PC: 800001a8 ----> Received: babebabe for addr: 80002000 ---- READING - Addr: 80002000 = ff00ff ****** +[800001a4] WB Data: 80001fe0 {babebabe}, to register: 1 [1 0] MEM: data read from cache_driver: 00ff00ff PC: 800001a8 ----> Received: 00ff00ff for addr: 80002000 -[800001a4] WB Data: 80001fe0 {babebabe}, to register: 1 [1 0] ---- READING - Addr: 80002000 = ff00ff @@ -39179,9 +39179,9 @@ PC: 800001c8 ----> Received: babebabe for addr: 80002004 ---- READING - Addr: 80002004 = ff00ff00 ****** +[800001c4] WB Data: 80001ffd {babebabe}, to register: 1 [1 0] MEM: data read from cache_driver: ff00ff00 PC: 800001c8 ----> Received: ff00ff00 for addr: 80002004 -[800001c4] WB Data: 80001ffd {babebabe}, to register: 1 [1 0] ---- READING - Addr: 80002004 = ff00ff00 @@ -39256,9 +39256,9 @@ PC: 800001ec ----> Received: babebabe for addr: 80002008 ---- READING - Addr: 80002008 = ff00ff0 ****** +[800001e8] WB Data: 80002004 {babebabe}, to register: 1 [1 0] MEM: data read from cache_driver: 0ff00ff0 PC: 800001ec ----> Received: 0ff00ff0 for addr: 80002008 -[800001e8] WB Data: 80002004 {babebabe}, to register: 1 [1 0] ---- READING - Addr: 80002008 = ff00ff0 @@ -39358,9 +39358,9 @@ PC: 800001ec ----> Received: babebabe for addr: 80002008 ---- READING - Addr: 80002008 = ff00ff0 ****** +[800001e8] WB Data: 80002004 {babebabe}, to register: 1 [1 0] MEM: data read from cache_driver: 0ff00ff0 PC: 800001ec ----> Received: 0ff00ff0 for addr: 80002008 -[800001e8] WB Data: 80002004 {babebabe}, to register: 1 [1 0] ---- READING - Addr: 80002008 = ff00ff0 @@ -39474,9 +39474,9 @@ PC: 8000021c ----> Received: babebabe for addr: 8000200c ---- READING - Addr: 8000200c = f00ff00f ****** +[80000218] WB Data: 80002008 {babebabe}, to register: 1 [1 0] MEM: data read from cache_driver: f00ff00f PC: 8000021c ----> Received: f00ff00f for addr: 8000200c -[80000218] WB Data: 80002008 {babebabe}, to register: 1 [1 0] ---- READING - Addr: 8000200c = f00ff00f @@ -39577,9 +39577,9 @@ PC: 8000021c ----> Received: babebabe for addr: 8000200c ---- READING - Addr: 8000200c = f00ff00f ****** +[80000218] WB Data: 80002008 {babebabe}, to register: 1 [1 0] MEM: data read from cache_driver: f00ff00f PC: 8000021c ----> Received: f00ff00f for addr: 8000200c -[80000218] WB Data: 80002008 {babebabe}, to register: 1 [1 0] ---- READING - Addr: 8000200c = f00ff00f @@ -39694,9 +39694,9 @@ PC: 80000250 ----> Received: babebabe for addr: 80002004 ---- READING - Addr: 80002004 = ff00ff00 ****** +[8000024c] WB Data: 80002000 {babebabe}, to register: 1 [1 0] MEM: data read from cache_driver: ff00ff00 PC: 80000250 ----> Received: ff00ff00 for addr: 80002004 -[8000024c] WB Data: 80002000 {babebabe}, to register: 1 [1 0] ---- READING - Addr: 80002004 = ff00ff00 @@ -39798,9 +39798,9 @@ PC: 80000250 ----> Received: babebabe for addr: 80002004 ---- READING - Addr: 80002004 = ff00ff00 ****** +[8000024c] WB Data: 80002000 {babebabe}, to register: 1 [1 0] MEM: data read from cache_driver: ff00ff00 PC: 80000250 ----> Received: ff00ff00 for addr: 80002004 -[8000024c] WB Data: 80002000 {babebabe}, to register: 1 [1 0] ---- READING - Addr: 80002004 = ff00ff00 @@ -39916,9 +39916,9 @@ PC: 80000288 ----> Received: babebabe for addr: 80002008 ---- READING - Addr: 80002008 = ff00ff0 ****** +[80000284] WB Data: 80002004 {babebabe}, to register: 1 [1 0] MEM: data read from cache_driver: 0ff00ff0 PC: 80000288 ----> Received: 0ff00ff0 for addr: 80002008 -[80000284] WB Data: 80002004 {babebabe}, to register: 1 [1 0] ---- READING - Addr: 80002008 = ff00ff0 @@ -40001,9 +40001,9 @@ PC: 80000288 ----> Received: babebabe for addr: 80002008 ---- READING - Addr: 80002008 = ff00ff0 ****** +[80000284] WB Data: 80002004 {babebabe}, to register: 1 [1 0] MEM: data read from cache_driver: 0ff00ff0 PC: 80000288 ----> Received: 0ff00ff0 for addr: 80002008 -[80000284] WB Data: 80002004 {babebabe}, to register: 1 [1 0] ---- READING - Addr: 80002008 = ff00ff0 @@ -40107,9 +40107,9 @@ PC: 800002b8 ----> Received: babebabe for addr: 8000200c ---- READING - Addr: 8000200c = f00ff00f ****** +[800002b4] WB Data: 00000000 {babebabe}, to register: 0 [1 0] MEM: data read from cache_driver: f00ff00f PC: 800002b8 ----> Received: f00ff00f for addr: 8000200c -[800002b4] WB Data: 00000000 {babebabe}, to register: 0 [1 0] ---- READING - Addr: 8000200c = f00ff00f @@ -40198,9 +40198,9 @@ PC: 800002b8 ----> Received: babebabe for addr: 8000200c ---- READING - Addr: 8000200c = f00ff00f ****** +[800002b4] WB Data: 00000000 {babebabe}, to register: 0 [1 0] MEM: data read from cache_driver: f00ff00f PC: 800002b8 ----> Received: f00ff00f for addr: 8000200c -[800002b4] WB Data: 00000000 {babebabe}, to register: 0 [1 0] ---- READING - Addr: 8000200c = f00ff00f @@ -40309,9 +40309,9 @@ PC: 800002ec ----> Received: babebabe for addr: 80002004 ---- READING - Addr: 80002004 = ff00ff00 ****** +[800002e8] WB Data: 00000000 {babebabe}, to register: 0 [1 0] MEM: data read from cache_driver: ff00ff00 PC: 800002ec ----> Received: ff00ff00 for addr: 80002004 -[800002e8] WB Data: 00000000 {babebabe}, to register: 0 [1 0] ---- READING - Addr: 80002004 = ff00ff00 @@ -40406,9 +40406,9 @@ PC: 800002ec ----> Received: babebabe for addr: 80002004 ---- READING - Addr: 80002004 = ff00ff00 ****** +[800002e8] WB Data: 00000000 {babebabe}, to register: 0 [1 0] MEM: data read from cache_driver: ff00ff00 PC: 800002ec ----> Received: ff00ff00 for addr: 80002004 -[800002e8] WB Data: 00000000 {babebabe}, to register: 0 [1 0] ---- READING - Addr: 80002004 = ff00ff00 @@ -40490,9 +40490,9 @@ PC: 80000310 ----> Received: babebabe for addr: 80002000 ---- READING - Addr: 80002000 = ff00ff ****** +[8000030c] WB Data: 80002000 {babebabe}, to register: 3 [1 0] MEM: data read from cache_driver: 00ff00ff PC: 80000310 ----> Received: 00ff00ff for addr: 80002000 -[8000030c] WB Data: 80002000 {babebabe}, to register: 3 [1 0] ---- READING - Addr: 80002000 = ff00ff @@ -40563,9 +40563,9 @@ PC: 8000032c ----> Received: babebabe for addr: 80002000 ---- READING - Addr: 80002000 = ff00ff ****** +[80000328] WB Data: 80002000 {babebabe}, to register: 3 [1 0] MEM: data read from cache_driver: 00ff00ff PC: 8000032c ----> Received: 00ff00ff for addr: 80002000 -[80000328] WB Data: 80002000 {babebabe}, to register: 3 [1 0] ---- READING - Addr: 80002000 = ff00ff @@ -47055,8 +47055,8 @@ RF: Writing 80002002 to 1 RF: Writing 80002204 to 4 ---- ****** -MEM: data read from cache_driver: ffffff98 [80000208] WB Data: 80002009 {babebabe}, to register: 4 [1 0] +MEM: data read from cache_driver: ffffff98 ---- ****** @@ -50716,8 +50716,8 @@ RF: Writing 8000200b to 1 RF: Writing 80002230 to 4 ---- ****** -MEM: data read from cache_driver: 00003098 [80000234] WB Data: 80002012 {babebabe}, to register: 4 [1 0] +MEM: data read from cache_driver: 00003098 ---- ****** @@ -88272,9 +88272,9 @@ PC: 80000248 ----> Received: babebabe for addr: 80002024 ---- READING - Addr: 80002024 = 58213098 ****** +[80000244] WB Data: 80002024 {babebabe}, to register: 4 [1 0] MEM: data read from cache_driver: 58213098 PC: 80000248 ----> Received: 58213098 for addr: 80002024 -[80000244] WB Data: 80002024 {babebabe}, to register: 4 [1 0] ---- READING - Addr: 80002024 = 58213098 diff --git a/rtl/obj_dir/test_bench.o b/rtl/obj_dir/test_bench.o index 7d6d8cf939dbc1805f9010d230c6442d4547e3b4..a5d3fdc149cff5d599378b30a1a1ee869e88b826 100644 GIT binary patch delta 95 zcmaFzlljR{<_!-8nHn@EKNj2!q&CkGddvjk){4e}xVJ^$2{E!xKBZyEXfyebhLng) sXXpiw?hb|q28Qm?6P?$(LpEwm*3$e4R3xJXQsk#4$EdM6SF8LI06VlK9smFU delta 95 zcmaFzlljR{<_!-8nHW?jKNj2!q&CkGddvjk){4e}xVJ^$2{AHFKBZyEs51GFhLng# sXXpiw?hb|q28Qm?6P?$(LpI7x*3$e4R3xJXQsk#4$0)NoSF8LI0GEm(r~m)} diff --git a/rtl/results.txt b/rtl/results.txt index 88562e2e..67713507 100644 --- a/rtl/results.txt +++ b/rtl/results.txt @@ -5,7 +5,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.01843 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32ui-p-addi.hex **************** @@ -14,7 +14,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.03526 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32ui-p-and.hex **************** @@ -23,7 +23,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.01849 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32ui-p-andi.hex **************** @@ -32,7 +32,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.04472 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32ui-p-auipc.hex **************** @@ -41,7 +41,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.16923 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32ui-p-beq.hex **************** @@ -50,7 +50,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.02552 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32ui-p-bge.hex **************** @@ -59,7 +59,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.02355 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32ui-p-bgeu.hex **************** @@ -68,7 +68,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.02236 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32ui-p-blt.hex **************** @@ -77,7 +77,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.02552 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32ui-p-bltu.hex **************** @@ -86,7 +86,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.02412 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32ui-p-bne.hex **************** @@ -95,7 +95,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.02552 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32ui-p-jal.hex **************** @@ -104,7 +104,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.18033 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32ui-p-jalr.hex **************** @@ -113,7 +113,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.07971 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32ui-p-lb.hex **************** @@ -122,7 +122,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.03323 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32ui-p-lbu.hex **************** @@ -131,7 +131,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.03323 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32ui-p-lh.hex **************** @@ -140,7 +140,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.03245 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32ui-p-lhu.hex **************** @@ -149,7 +149,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.03207 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32ui-p-lui.hex **************** @@ -158,7 +158,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.15068 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32ui-p-lw.hex **************** @@ -167,7 +167,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.03179 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32ui-p-or.hex **************** @@ -176,7 +176,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.01839 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32ui-p-ori.hex **************** @@ -185,7 +185,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.04348 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32ui-p-sb.hex **************** @@ -194,7 +194,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.01926 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32ui-p-sh.hex **************** @@ -203,7 +203,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.01824 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32ui-p-simple.hex **************** @@ -212,7 +212,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.2973 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32ui-p-sll.hex **************** @@ -221,7 +221,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.01738 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32ui-p-slli.hex **************** @@ -230,7 +230,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.03537 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32ui-p-slt.hex **************** @@ -239,7 +239,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.01861 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32ui-p-slti.hex **************** @@ -248,7 +248,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.03583 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32ui-p-sltiu.hex **************** @@ -257,7 +257,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.03583 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32ui-p-sltu.hex **************** @@ -266,7 +266,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.01861 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32ui-p-sra.hex **************** @@ -275,7 +275,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.01682 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32ui-p-srai.hex **************** @@ -284,7 +284,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.03374 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32ui-p-srl.hex **************** @@ -293,7 +293,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.01698 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32ui-p-srli.hex **************** @@ -302,7 +302,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.03438 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32ui-p-sub.hex **************** @@ -311,7 +311,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.01874 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32ui-p-sw.hex **************** @@ -320,7 +320,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.01797 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32ui-p-xor.hex **************** @@ -329,7 +329,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.01843 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32ui-p-xori.hex **************** @@ -338,7 +338,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.04314 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32um-p-div.hex **************** @@ -347,7 +347,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.09821 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32um-p-divu.hex **************** @@ -356,7 +356,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.09735 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32um-p-mul.hex **************** @@ -365,7 +365,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.01868 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32um-p-mulh.hex **************** @@ -374,7 +374,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.0188 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32um-p-mulhsu.hex **************** @@ -383,7 +383,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.0188 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32um-p-mulhu.hex **************** @@ -392,7 +392,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.0188 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32um-p-rem.hex **************** @@ -401,7 +401,7 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.09821 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING **************** ../../emulator/riscv_tests/rv32um-p-remu.hex **************** @@ -410,5 +410,5 @@ # of forwarding stalls: 0 # of branch stalls: 0 # CPI: 1.09821 -# time to simulate: 6.95313e-310 milliseconds +# time to simulate: 6.95312e-310 milliseconds # GRADE: PASSING