smc_periph_axi_lite_xbar_pkg
Declare SMC peripheral AXI-Lite crossbar types and configuration.
Defines initiator/target counts and AXI-Lite typedefs for the peripheral CSR xbar: one 32-bit initiator, 12 targets and 14 address rules, with four outstanding transactions per port, every port cut and full connectivity. The rule type carries a 33-bit end address so a window can end at 2^32; apb_addr_rule_t is declared but unused. Address rules are defined by smc_periph_axi_lite_xbar.
axi_lite32_addr_t
Protocol: axi_lite32 (AXI4_LITE)
Alias for logic [31:0]
axi_lite32_data_t
Alias for logic [31:0]
axi_lite32_strb_t
Alias for logic [3:0]
axi_lite32_aw_chan_t
Packed struct
| Field | Type | Description |
|---|---|---|
addr | axi_lite32_addr_t | |
prot | axi_pkg::prot_t |
axi_lite32_w_chan_t
Packed struct
| Field | Type | Description |
|---|---|---|
data | axi_lite32_data_t | |
strb | axi_lite32_strb_t |
axi_lite32_b_chan_t
Packed struct
| Field | Type | Description |
|---|---|---|
resp | axi_pkg::resp_t |
axi_lite32_ar_chan_t
Packed struct
| Field | Type | Description |
|---|---|---|
addr | axi_lite32_addr_t | |
prot | axi_pkg::prot_t |
axi_lite32_r_chan_t
Packed struct
| Field | Type | Description |
|---|---|---|
data | axi_lite32_data_t | |
resp | axi_pkg::resp_t |
axi_lite32_req_t
Packed struct
| Field | Type | Description |
|---|---|---|
aw | axi_lite32_aw_chan_t | |
aw_valid | logic | |
w | axi_lite32_w_chan_t | |
w_valid | logic | |
b_ready | logic | |
ar | axi_lite32_ar_chan_t | |
ar_valid | logic | |
r_ready | logic |
axi_lite32_resp_t
Packed struct
| Field | Type | Description |
|---|---|---|
aw_ready | logic | |
w_ready | logic | |
b | axi_lite32_b_chan_t | |
b_valid | logic | |
ar_ready | logic | |
r | axi_lite32_r_chan_t | |
r_valid | logic |
xbar_addr_t
Alias for logic [XbarAddrWidth-1:0]
xbar_data_t
Alias for logic [XbarDataWidth-1:0]
xbar_strb_t
Alias for logic [XbarStrbWidth-1:0]
xbar_slv_aw_chan_t
Packed struct
| Field | Type | Description |
|---|---|---|
addr | xbar_addr_t | |
prot | axi_pkg::prot_t |
xbar_slv_w_chan_t
Packed struct
| Field | Type | Description |
|---|---|---|
data | xbar_data_t | |
strb | xbar_strb_t |
xbar_slv_b_chan_t
Packed struct
| Field | Type | Description |
|---|---|---|
resp | axi_pkg::resp_t |
xbar_slv_ar_chan_t
Packed struct
| Field | Type | Description |
|---|---|---|
addr | xbar_addr_t | |
prot | axi_pkg::prot_t |
xbar_slv_r_chan_t
Packed struct
| Field | Type | Description |
|---|---|---|
data | xbar_data_t | |
resp | axi_pkg::resp_t |
xbar_slv_req_t
Packed struct
| Field | Type | Description |
|---|---|---|
aw | xbar_slv_aw_chan_t | |
aw_valid | logic | |
w | xbar_slv_w_chan_t | |
w_valid | logic | |
b_ready | logic | |
ar | xbar_slv_ar_chan_t | |
ar_valid | logic | |
r_ready | logic |
xbar_slv_resp_t
Packed struct
| Field | Type | Description |
|---|---|---|
aw_ready | logic | |
w_ready | logic | |
b | xbar_slv_b_chan_t | |
b_valid | logic | |
ar_ready | logic | |
r | xbar_slv_r_chan_t | |
r_valid | logic |
xbar_mst_aw_chan_t
Packed struct
| Field | Type | Description |
|---|---|---|
addr | xbar_addr_t | |
prot | axi_pkg::prot_t |
xbar_mst_b_chan_t
Packed struct
| Field | Type | Description |
|---|---|---|
resp | axi_pkg::resp_t |
xbar_mst_ar_chan_t
Packed struct
| Field | Type | Description |
|---|---|---|
addr | xbar_addr_t | |
prot | axi_pkg::prot_t |
xbar_mst_r_chan_t
Packed struct
| Field | Type | Description |
|---|---|---|
data | xbar_data_t | |
resp | axi_pkg::resp_t |
xbar_mst_req_t
Packed struct
| Field | Type | Description |
|---|---|---|
aw | xbar_mst_aw_chan_t | |
aw_valid | logic | |
w | xbar_slv_w_chan_t | |
w_valid | logic | |
b_ready | logic | |
ar | xbar_mst_ar_chan_t | |
ar_valid | logic | |
r_ready | logic |
xbar_mst_resp_t
Packed struct
| Field | Type | Description |
|---|---|---|
aw_ready | logic | |
w_ready | logic | |
b | xbar_mst_b_chan_t | |
b_valid | logic | |
ar_ready | logic | |
r | xbar_mst_r_chan_t | |
r_valid | logic |
addr_rule_t
Custom address rule type with end_addr 1 bit wider to handle overflow
Packed struct
| Field | Type | Description |
|---|---|---|
idx | int unsigned | |
start_addr | logic [31:0] | |
end_addr | logic [32:0] |
apb_addr_rule_t
APB address rule type for AXI-Lite to APB bridges (decode width = xbar AXI-Lite width)
Packed struct
| Field | Type | Description |
|---|---|---|
idx | int unsigned | |
start_addr | logic [31:0] | |
end_addr | logic [32:0] |