diff --git a/rtl/hwpe_ctrl_package.sv b/rtl/hwpe_ctrl_package.sv index b2784a7..0516cd3 100644 --- a/rtl/hwpe_ctrl_package.sv +++ b/rtl/hwpe_ctrl_package.sv @@ -1,7 +1,7 @@ /* * hwpe_ctrl_package.sv * Francesco Conti - * + * Arpan Suravi Prasad * Copyright (C) 2014-2018 ETH Zurich, University of Bologna * Copyright and related rights are licensed under the Solderpad Hardware * License, Version 0.51 (the "License"); you may not use this file except in @@ -114,11 +114,15 @@ package hwpe_ctrl_package; logic valid; logic ready; logic [ULOOP_MAX_NB_REG-1:0] [31:0] offs; + logic [ULOOP_MAX_NB_REG-1:0] [31:0] next_offs; logic [ULOOP_MAX_NB_LOOPS-1:0][ULOOP_MAX_CNT_WIDTH-1:0] idx; + logic [ULOOP_MAX_NB_LOOPS-1:0][ULOOP_MAX_CNT_WIDTH-1:0] next_idx; logic [ULOOP_MAX_NB_LOOPS-1:0] idx_update; + logic next_valid; + logic next_done; logic [$clog2(ULOOP_MAX_NB_LOOPS)-1:0] loop; } flags_uloop_t; - + typedef struct packed { logic [4:0] uloop_addr; logic [3:0] nb_ops; @@ -136,4 +140,4 @@ package hwpe_ctrl_package; logic [ULOOP_MAX_NB_LOOPS-1:0][ULOOP_MAX_CNT_WIDTH-1:0] range; } uloop_code_t; -endpackage // hwpe_ctrl_package +endpackage // hwpe_ctrl_package \ No newline at end of file diff --git a/rtl/hwpe_ctrl_uloop.sv b/rtl/hwpe_ctrl_uloop.sv index c589f99..830de66 100644 --- a/rtl/hwpe_ctrl_uloop.sv +++ b/rtl/hwpe_ctrl_uloop.sv @@ -1,6 +1,7 @@ /* * hwpe_ctrl_uloop.sv * Francesco Conti + * Arpan Suravi Prasad * * Copyright (C) 2014-2018 ETH Zurich, University of Bologna * Copyright and related rights are licensed under the Solderpad Hardware @@ -330,7 +331,15 @@ module hwpe_ctrl_uloop always_comb begin + flags_o.next_idx = 0; flags_o = shadow_flags_rd; + flags_o.next_offs = registers; + flags_o.next_valid = flags_valid; + flags_o.next_done = done_int; + for(int i=0; i