Skip to content

Commit d02ad83

Browse files
msc25h17 Irina Korotkova (ikorotkova)FrancescoConti
authored andcommitted
Fix: added additional mode when periph id is represented by a number, not a bit mask
1 parent 4977b6c commit d02ad83

File tree

1 file changed

+15
-6
lines changed

1 file changed

+15
-6
lines changed

rtl/hwpe_ctrl_slave.sv

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ module hwpe_ctrl_slave
2525
parameter int unsigned N_GENERIC_REGS = 0,
2626
parameter int unsigned N_SW_EVT = 8,
2727
parameter int unsigned ID_WIDTH = 16,
28+
parameter int unsigned CFG_ID_BITMASK = 1,
2829
parameter int unsigned EXT_IN_REGGED = REGFILE_EXT_IN_REGGED
2930
)
3031
(
@@ -112,9 +113,13 @@ module hwpe_ctrl_slave
112113
begin
113114
if (regfile_flags.is_commit == 1)
114115
begin
115-
for(int i=0; i<N_CORES; i++)
116-
if (cfg.id[i] == 1'b1)
117-
offloading_core[pointer_context] <= i;
116+
if (CFG_ID_BITMASK == 1) begin : bitmask_mode_multi_context
117+
for(int i=0; i<N_CORES; i++)
118+
if (cfg.id[i] == 1'b1)
119+
offloading_core[pointer_context] <= i;
120+
end else begin : user_id_mode_multi_context
121+
offloading_core[pointer_context] <= cfg.id - 1;
122+
end
118123
end
119124
end
120125
end
@@ -174,9 +179,13 @@ module hwpe_ctrl_slave
174179
begin
175180
if (regfile_flags.is_commit == 1)
176181
begin
177-
for(int i=0; i<N_CORES; i++)
178-
if (cfg.id[i] == 1'b1)
179-
offloading_core[0] <= i;
182+
if (CFG_ID_BITMASK == 1) begin : bitmask_mode_single_context
183+
for(int i=0; i<N_CORES; i++)
184+
if (cfg.id[i] == 1'b1)
185+
offloading_core[0] <= i;
186+
end else begin : user_id_mode_single_context
187+
offloading_core[0] <= cfg.id - 1;
188+
end
180189
end
181190
end
182191
end

0 commit comments

Comments
 (0)