Skip to content

Commit 2763dba

Browse files
committed
Fix perf_metric enum values
1 parent a3090c1 commit 2763dba

File tree

1 file changed

+62
-32
lines changed

1 file changed

+62
-32
lines changed

hw/snitch_cluster/src/snitch_cluster_peripheral/snitch_cluster_peripheral.sv

Lines changed: 62 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -149,37 +149,66 @@ module snitch_cluster_peripheral
149149
sel_core_events = core_events_i[hart_select];
150150
sel_dma_events = dma_events_q[hart_select];
151151
unique case (perf_metrics_q[i])
152-
Cycle: perf_cnt_d[i] += 1;
153-
TcdmAccessed: perf_cnt_d[i] += tcdm_events_q.inc_accessed;
154-
TcdmCongested: perf_cnt_d[i] += tcdm_events_q.inc_congested;
155-
IssueFpu: perf_cnt_d[i] += sel_core_events.issue_fpu;
156-
IssueFpuSeq: perf_cnt_d[i] += sel_core_events.issue_fpu_seq;
157-
IssueCoreToFpu: perf_cnt_d[i] += sel_core_events.issue_core_to_fpu;
158-
RetiredInstr: perf_cnt_d[i] += sel_core_events.retired_instr;
159-
RetiredLoad: perf_cnt_d[i] += sel_core_events.retired_load;
160-
RetiredI: perf_cnt_d[i] += sel_core_events.retired_i;
161-
RetiredAcc: perf_cnt_d[i] += sel_core_events.retired_acc;
162-
DmaAwStall: perf_cnt_d[i] += sel_dma_events.aw_stall;
163-
DmaArStall: perf_cnt_d[i] += sel_dma_events.ar_stall;
164-
DmaRStall: perf_cnt_d[i] += sel_dma_events.r_stall;
165-
DmaWStall: perf_cnt_d[i] += sel_dma_events.w_stall;
166-
DmaBufWStall: perf_cnt_d[i] += sel_dma_events.buf_w_stall;
167-
DmaBufRStall: perf_cnt_d[i] += sel_dma_events.buf_r_stall;
168-
DmaAwDone: perf_cnt_d[i] += sel_dma_events.aw_done;
169-
DmaAwBw: perf_cnt_d[i] += ((sel_dma_events.aw_len + 1) << (sel_dma_events.aw_size));
170-
DmaArDone: perf_cnt_d[i] += sel_dma_events.ar_done;
171-
DmaArBw: perf_cnt_d[i] += ((sel_dma_events.ar_len + 1) << (sel_dma_events.ar_size));
172-
DmaRDone: perf_cnt_d[i] += sel_dma_events.r_done;
173-
DmaRBw: perf_cnt_d[i] += DMADataWidth/8;
174-
DmaWDone: perf_cnt_d[i] += sel_dma_events.w_done;
175-
DmaWBw: perf_cnt_d[i] += sel_dma_events.num_bytes_written;
176-
DmaBDone: perf_cnt_d[i] += sel_dma_events.b_done;
177-
DmaBusy: perf_cnt_d[i] += sel_dma_events.dma_busy;
178-
IcacheMiss: perf_cnt_d[i] += icache_events_q[hart_select].l0_miss;
179-
IcacheHit: perf_cnt_d[i] += icache_events_q[hart_select].l0_hit;
180-
IcachePrefetch: perf_cnt_d[i] += icache_events_q[hart_select].l0_prefetch;
181-
IcacheDoubleHit: perf_cnt_d[i] += icache_events_q[hart_select].l0_double_hit;
182-
IcacheStall: perf_cnt_d[i] += icache_events_q[hart_select].l0_stall;
152+
snitch_cluster_peripheral_reg__PERF_METRIC__CYCLE: perf_cnt_d[i] += 1;
153+
snitch_cluster_peripheral_reg__PERF_METRIC__TCDM_ACCESSED: perf_cnt_d[i] +=
154+
tcdm_events_q.inc_accessed;
155+
snitch_cluster_peripheral_reg__PERF_METRIC__TCDM_CONGESTED: perf_cnt_d[i] +=
156+
tcdm_events_q.inc_congested;
157+
snitch_cluster_peripheral_reg__PERF_METRIC__ISSUE_FPU: perf_cnt_d[i] +=
158+
sel_core_events.issue_fpu;
159+
snitch_cluster_peripheral_reg__PERF_METRIC__ISSUE_FPU_SEQ: perf_cnt_d[i] +=
160+
sel_core_events.issue_fpu_seq;
161+
snitch_cluster_peripheral_reg__PERF_METRIC__ISSUE_CORE_TO_FPU: perf_cnt_d[i] +=
162+
sel_core_events.issue_core_to_fpu;
163+
snitch_cluster_peripheral_reg__PERF_METRIC__RETIRED_INSTR: perf_cnt_d[i] +=
164+
sel_core_events.retired_instr;
165+
snitch_cluster_peripheral_reg__PERF_METRIC__RETIRED_LOAD: perf_cnt_d[i] +=
166+
sel_core_events.retired_load;
167+
snitch_cluster_peripheral_reg__PERF_METRIC__RETIRED_I: perf_cnt_d[i] +=
168+
sel_core_events.retired_i;
169+
snitch_cluster_peripheral_reg__PERF_METRIC__RETIRED_ACC: perf_cnt_d[i] +=
170+
sel_core_events.retired_acc;
171+
snitch_cluster_peripheral_reg__PERF_METRIC__DMA_AW_STALL: perf_cnt_d[i] +=
172+
sel_dma_events.aw_stall;
173+
snitch_cluster_peripheral_reg__PERF_METRIC__DMA_AR_STALL: perf_cnt_d[i] +=
174+
sel_dma_events.ar_stall;
175+
snitch_cluster_peripheral_reg__PERF_METRIC__DMA_R_STALL: perf_cnt_d[i] +=
176+
sel_dma_events.r_stall;
177+
snitch_cluster_peripheral_reg__PERF_METRIC__DMA_W_STALL: perf_cnt_d[i] +=
178+
sel_dma_events.w_stall;
179+
snitch_cluster_peripheral_reg__PERF_METRIC__DMA_BUF_W_STALL: perf_cnt_d[i] +=
180+
sel_dma_events.buf_w_stall;
181+
snitch_cluster_peripheral_reg__PERF_METRIC__DMA_BUF_R_STALL: perf_cnt_d[i] +=
182+
sel_dma_events.buf_r_stall;
183+
snitch_cluster_peripheral_reg__PERF_METRIC__DMA_AW_DONE: perf_cnt_d[i] +=
184+
sel_dma_events.aw_done;
185+
snitch_cluster_peripheral_reg__PERF_METRIC__DMA_AW_BW: perf_cnt_d[i] +=
186+
((sel_dma_events.aw_len + 1) << (sel_dma_events.aw_size));
187+
snitch_cluster_peripheral_reg__PERF_METRIC__DMA_AR_DONE: perf_cnt_d[i] +=
188+
sel_dma_events.ar_done;
189+
snitch_cluster_peripheral_reg__PERF_METRIC__DMA_AR_BW: perf_cnt_d[i] +=
190+
((sel_dma_events.ar_len + 1) << (sel_dma_events.ar_size));
191+
snitch_cluster_peripheral_reg__PERF_METRIC__DMA_R_DONE: perf_cnt_d[i] +=
192+
sel_dma_events.r_done;
193+
snitch_cluster_peripheral_reg__PERF_METRIC__DMA_R_BW: perf_cnt_d[i] += DMADataWidth/8;
194+
snitch_cluster_peripheral_reg__PERF_METRIC__DMA_W_DONE: perf_cnt_d[i] +=
195+
sel_dma_events.w_done;
196+
snitch_cluster_peripheral_reg__PERF_METRIC__DMA_W_BW: perf_cnt_d[i] +=
197+
sel_dma_events.num_bytes_written;
198+
snitch_cluster_peripheral_reg__PERF_METRIC__DMA_B_DONE: perf_cnt_d[i] +=
199+
sel_dma_events.b_done;
200+
snitch_cluster_peripheral_reg__PERF_METRIC__DMA_BUSY: perf_cnt_d[i] +=
201+
sel_dma_events.dma_busy;
202+
snitch_cluster_peripheral_reg__PERF_METRIC__ICACHE_MISS: perf_cnt_d[i] +=
203+
icache_events_q[hart_select].l0_miss;
204+
snitch_cluster_peripheral_reg__PERF_METRIC__ICACHE_HIT: perf_cnt_d[i] +=
205+
icache_events_q[hart_select].l0_hit;
206+
snitch_cluster_peripheral_reg__PERF_METRIC__ICACHE_PREFETCH: perf_cnt_d[i] +=
207+
icache_events_q[hart_select].l0_prefetch;
208+
snitch_cluster_peripheral_reg__PERF_METRIC__ICACHE_DOUBLE_HIT: perf_cnt_d[i] +=
209+
icache_events_q[hart_select].l0_double_hit;
210+
snitch_cluster_peripheral_reg__PERF_METRIC__ICACHE_STALL: perf_cnt_d[i] +=
211+
icache_events_q[hart_select].l0_stall;
183212
default:;
184213
endcase
185214
// Set performance metric.
@@ -213,7 +242,8 @@ module snitch_cluster_peripheral
213242
if (i < NumPerfMetricRstValues) begin : gen_perf_metrics_rst_value
214243
`FF(perf_metrics_q[i], perf_metrics_d[i], PerfMetricRstValues[i], clk_i, rst_ni)
215244
end else begin : gen_perf_metrics_default
216-
`FF(perf_metrics_q[i], perf_metrics_d[i], Cycle, clk_i, rst_ni)
245+
`FF(perf_metrics_q[i], perf_metrics_d[i],
246+
snitch_cluster_peripheral_reg__PERF_METRIC__CYCLE, clk_i, rst_ni)
217247
end
218248
end
219249

0 commit comments

Comments
 (0)