Skip to content

Commit 97933f7

Browse files
committed
clic_apb: Use apb_to_reg_v2 to remove interface
1 parent 20db74b commit 97933f7

2 files changed

Lines changed: 21 additions & 33 deletions

File tree

Bender.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ package:
2323

2424
dependencies:
2525
common_cells: { git: "https://github.com/pulp-platform/common_cells.git", version: 1.26.0 }
26-
register_interface: { git: "https://github.com/pulp-platform/register_interface.git", version: 0.3.9 }
26+
register_interface: { git: "https://github.com/pulp-platform/register_interface.git", rev: phsauter/apb_to_reg_v2 }
2727

2828
sources:
2929
- src/clic_pkg.sv

src/clic_apb.sv

Lines changed: 20 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -55,13 +55,20 @@ module clic_apb #(
5555

5656
);
5757

58+
typedef logic [REG_BUS_ADDR_WIDTH-1:0] addr_t;
59+
typedef logic [REG_BUS_DATA_WIDTH-1:0] data_t;
60+
typedef logic [REG_BUS_DATA_WIDTH/8-1:0] strb_t;
5861

59-
REG_BUS #(
60-
.ADDR_WIDTH (REG_BUS_ADDR_WIDTH),
61-
.DATA_WIDTH (REG_BUS_DATA_WIDTH)
62-
) reg_bus (clk_i);
62+
`REG_BUS_TYPEDEF_REQ(reg_req_t, addr_t, data_t, strb_t)
63+
`REG_BUS_TYPEDEF_RSP(reg_rsp_t, data_t)
6364

64-
apb_to_reg i_apb_to_reg (
65+
reg_req_t clic_req;
66+
reg_rsp_t clic_rsp;
67+
68+
apb_to_reg_v2 #(
69+
.reg_req_t ( reg_req_t ),
70+
.reg_rsp_t ( reg_rsp_t )
71+
) i_apb_to_reg (
6572
.clk_i,
6673
.rst_ni,
6774
.penable_i,
@@ -72,40 +79,21 @@ module clic_apb #(
7279
.prdata_o,
7380
.pready_o,
7481
.pslverr_o,
75-
.reg_o (reg_bus)
82+
.reg_req_o ( clic_req ),
83+
.reg_rsp_i ( clic_rsp )
7684
);
7785

78-
typedef logic [REG_BUS_ADDR_WIDTH-1:0] addr_t;
79-
typedef logic [REG_BUS_DATA_WIDTH-1:0] data_t;
80-
typedef logic [REG_BUS_DATA_WIDTH/8-1:0] strb_t;
81-
82-
`REG_BUS_TYPEDEF_REQ(reg_a32_d32_req_t, addr_t, data_t, strb_t)
83-
`REG_BUS_TYPEDEF_RSP(reg_a32_d32_rsp_t, data_t)
84-
85-
reg_a32_d32_req_t clic_req;
86-
reg_a32_d32_rsp_t clic_rsp;
87-
88-
assign clic_req.addr = reg_bus.addr;
89-
assign clic_req.write = reg_bus.write;
90-
assign clic_req.wdata = reg_bus.wdata;
91-
assign clic_req.wstrb = reg_bus.wstrb;
92-
assign clic_req.valid = reg_bus.valid;
93-
94-
assign reg_bus.rdata = clic_rsp.rdata;
95-
assign reg_bus.error = clic_rsp.error;
96-
assign reg_bus.ready = clic_rsp.ready;
97-
9886
clic #(
99-
.N_SOURCE ( N_SOURCE ),
100-
.INTCTLBITS( INTCTLBITS ),
101-
.reg_req_t ( reg_a32_d32_req_t ),
102-
.reg_rsp_t ( reg_a32_d32_rsp_t )
87+
.N_SOURCE ( N_SOURCE ),
88+
.INTCTLBITS( INTCTLBITS ),
89+
.reg_req_t ( reg_req_t ),
90+
.reg_rsp_t ( reg_rsp_t )
10391
) i_clic (
10492
.clk_i,
10593
.rst_ni,
10694
// Bus Interface
107-
.reg_req_i ( clic_req ),
108-
.reg_rsp_o ( clic_rsp ),
95+
.reg_req_i ( clic_req ),
96+
.reg_rsp_o ( clic_rsp ),
10997
// Interrupt Sources
11098
.intr_src_i,
11199
// Interrupt notification to core

0 commit comments

Comments
 (0)