Skip to content

Commit 595d2b5

Browse files
committed
Update peakrdl-regblock to custom version for address offsets
1 parent 7b098ef commit 595d2b5

File tree

4 files changed

+24
-14
lines changed

4 files changed

+24
-14
lines changed

hw/snitch_cluster/src/snitch_cluster_peripheral/snitch_cluster_peripheral_reg.sv

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -129,25 +129,25 @@ module snitch_cluster_peripheral_reg (
129129
automatic logic is_external;
130130
is_external = '0;
131131
for(int i0=0; i0<16; i0++) begin
132-
decoded_reg_strb.PERF_REGS.PERF_CNT_EN[i0] = cpuif_req_masked & (cpuif_addr == 9'h0 + (9)'(i0) * 9'h8);
132+
decoded_reg_strb.PERF_REGS.PERF_CNT_EN[i0] = cpuif_req_masked & (cpuif_addr == snitch_cluster_peripheral_reg_pkg::SNITCH_CLUSTER_PERIPHERAL_REG__PERF_REGS__PERF_CNT_EN__OFFSET + (9)'(i0) * 9'h8);
133133
end
134134
for(int i0=0; i0<16; i0++) begin
135-
decoded_reg_strb.PERF_REGS.PERF_CNT_SEL[i0] = cpuif_req_masked & (cpuif_addr == 9'h80 + (9)'(i0) * 9'h8);
136-
is_external |= cpuif_req_masked & (cpuif_addr == 9'h80 + (9)'(i0) * 9'h8);
135+
decoded_reg_strb.PERF_REGS.PERF_CNT_SEL[i0] = cpuif_req_masked & (cpuif_addr == snitch_cluster_peripheral_reg_pkg::SNITCH_CLUSTER_PERIPHERAL_REG__PERF_REGS__PERF_CNT_SEL__OFFSET + (9)'(i0) * 9'h8);
136+
is_external |= cpuif_req_masked & (cpuif_addr == snitch_cluster_peripheral_reg_pkg::SNITCH_CLUSTER_PERIPHERAL_REG__PERF_REGS__PERF_CNT_SEL__OFFSET + (9)'(i0) * 9'h8);
137137
end
138138
for(int i0=0; i0<16; i0++) begin
139-
decoded_reg_strb.PERF_REGS.PERF_CNT[i0] = cpuif_req_masked & (cpuif_addr == 9'h100 + (9)'(i0) * 9'h8);
140-
is_external |= cpuif_req_masked & (cpuif_addr == 9'h100 + (9)'(i0) * 9'h8);
139+
decoded_reg_strb.PERF_REGS.PERF_CNT[i0] = cpuif_req_masked & (cpuif_addr == snitch_cluster_peripheral_reg_pkg::SNITCH_CLUSTER_PERIPHERAL_REG__PERF_REGS__PERF_CNT__OFFSET + (9)'(i0) * 9'h8);
140+
is_external |= cpuif_req_masked & (cpuif_addr == snitch_cluster_peripheral_reg_pkg::SNITCH_CLUSTER_PERIPHERAL_REG__PERF_REGS__PERF_CNT__OFFSET + (9)'(i0) * 9'h8);
141141
end
142142
for(int i0=0; i0<4; i0++) begin
143-
decoded_reg_strb.SCRATCH[i0] = cpuif_req_masked & (cpuif_addr == 9'h180 + (9)'(i0) * 9'h8);
143+
decoded_reg_strb.SCRATCH[i0] = cpuif_req_masked & (cpuif_addr == snitch_cluster_peripheral_reg_pkg::SNITCH_CLUSTER_PERIPHERAL_REG__SCRATCH__OFFSET + (9)'(i0) * 9'h8);
144144
end
145-
decoded_reg_strb.CL_CLINT_SET = cpuif_req_masked & (cpuif_addr == 9'h1a0);
146-
is_external |= cpuif_req_masked & (cpuif_addr == 9'h1a0) & cpuif_req_is_wr;
147-
decoded_reg_strb.CL_CLINT_CLEAR = cpuif_req_masked & (cpuif_addr == 9'h1a8);
148-
is_external |= cpuif_req_masked & (cpuif_addr == 9'h1a8) & cpuif_req_is_wr;
149-
decoded_reg_strb.ICACHE_PREFETCH_ENABLE = cpuif_req_masked & (cpuif_addr == 9'h1b0);
150-
decoded_reg_strb.unused = cpuif_req_masked & (cpuif_addr == 9'h1b8);
145+
decoded_reg_strb.CL_CLINT_SET = cpuif_req_masked & (cpuif_addr == snitch_cluster_peripheral_reg_pkg::SNITCH_CLUSTER_PERIPHERAL_REG__CL_CLINT_SET__OFFSET);
146+
is_external |= cpuif_req_masked & (cpuif_addr == snitch_cluster_peripheral_reg_pkg::SNITCH_CLUSTER_PERIPHERAL_REG__CL_CLINT_SET__OFFSET) & cpuif_req_is_wr;
147+
decoded_reg_strb.CL_CLINT_CLEAR = cpuif_req_masked & (cpuif_addr == snitch_cluster_peripheral_reg_pkg::SNITCH_CLUSTER_PERIPHERAL_REG__CL_CLINT_CLEAR__OFFSET);
148+
is_external |= cpuif_req_masked & (cpuif_addr == snitch_cluster_peripheral_reg_pkg::SNITCH_CLUSTER_PERIPHERAL_REG__CL_CLINT_CLEAR__OFFSET) & cpuif_req_is_wr;
149+
decoded_reg_strb.ICACHE_PREFETCH_ENABLE = cpuif_req_masked & (cpuif_addr == snitch_cluster_peripheral_reg_pkg::SNITCH_CLUSTER_PERIPHERAL_REG__ICACHE_PREFETCH_ENABLE__OFFSET);
150+
decoded_reg_strb.unused = cpuif_req_masked & (cpuif_addr == snitch_cluster_peripheral_reg_pkg::SNITCH_CLUSTER_PERIPHERAL_REG__UNUSED__OFFSET);
151151
decoded_strb_is_external = is_external;
152152
external_req = is_external;
153153
end

hw/snitch_cluster/src/snitch_cluster_peripheral/snitch_cluster_peripheral_reg_pkg.sv

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,4 +163,13 @@ package snitch_cluster_peripheral_reg_pkg;
163163
snitch_cluster_peripheral_reg__PERF_METRIC__ICACHE_DOUBLE_HIT = 'h1d,
164164
snitch_cluster_peripheral_reg__PERF_METRIC__ICACHE_STALL = 'h1e
165165
} snitch_cluster_peripheral_reg__PERF_METRIC_e;
166+
167+
localparam bit [8:0] SNITCH_CLUSTER_PERIPHERAL_REG__PERF_REGS__PERF_CNT_EN__OFFSET = 9'h0;
168+
localparam bit [8:0] SNITCH_CLUSTER_PERIPHERAL_REG__PERF_REGS__PERF_CNT_SEL__OFFSET = 9'h80;
169+
localparam bit [8:0] SNITCH_CLUSTER_PERIPHERAL_REG__PERF_REGS__PERF_CNT__OFFSET = 9'h100;
170+
localparam bit [8:0] SNITCH_CLUSTER_PERIPHERAL_REG__SCRATCH__OFFSET = 9'h180;
171+
localparam bit [8:0] SNITCH_CLUSTER_PERIPHERAL_REG__CL_CLINT_SET__OFFSET = 9'h1a0;
172+
localparam bit [8:0] SNITCH_CLUSTER_PERIPHERAL_REG__CL_CLINT_CLEAR__OFFSET = 9'h1a8;
173+
localparam bit [8:0] SNITCH_CLUSTER_PERIPHERAL_REG__ICACHE_PREFETCH_ENABLE__OFFSET = 9'h1b0;
174+
localparam bit [8:0] SNITCH_CLUSTER_PERIPHERAL_REG__UNUSED__OFFSET = 9'h1b8;
166175
endpackage

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ dependencies = [
3535
"pandas",
3636
"peakrdl",
3737
"peakrdl-markdown",
38+
"peakrdl-regblock@git+https://github.com/micprog/PeakRDL-regblock.git#egg=offset_params",
3839
"prettytable",
3940
"progressbar2",
4041
"psutil",

target/snitch_cluster/test/vip_snitch_cluster.sv

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ module vip_snitch_cluster
3131
import "DPI-C" function int unsigned get_bin_entry();
3232

3333
localparam addr_t PeriphBaseAddr = CfgClusterBaseAddr + ((TcdmSize + BootromSize) * 1024);
34-
localparam addr_t Scratch1Addr = PeriphBaseAddr + SNITCH_CLUSTER_PERIPHERAL_SCRATCH_1_OFFSET;
35-
localparam addr_t SnitchClClintSetAddr = PeriphBaseAddr + SNITCH_CLUSTER_PERIPHERAL_CL_CLINT_SET_OFFSET;
34+
localparam addr_t Scratch1Addr = PeriphBaseAddr + SNITCH_CLUSTER_PERIPHERAL_REG__SCRATCH__OFFSET + 'h8;
35+
localparam addr_t SnitchClClintSetAddr = PeriphBaseAddr + SNITCH_CLUSTER_PERIPHERAL_REG__CL_CLINT_SET__OFFSET;
3636

3737
///////////////////////////
3838
// Clock, Reset, etc. //

0 commit comments

Comments
 (0)