smc_internal_axi_lite_xbar_pkg

Declare SMC internal AXI-Lite crossbar types and configuration.

Defines initiator/target counts and AXI-Lite typedefs for the internal CSR xbar: one initiator, 8 targets and 8 address rules on a 32-bit address and 64-bit data bus, 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_internal_axi_lite_xbar.

axi_lite64_addr_t

Protocol: axi_lite64 (AXI4_LITE)

Alias for logic [31:0]

axi_lite64_data_t

Alias for logic [63:0]

axi_lite64_strb_t

Alias for logic [7:0]

axi_lite64_aw_chan_t

Packed struct

Table 1. axi_lite64_aw_chan_t
FieldTypeDescription
addraxi_lite64_addr_t
protaxi_pkg::prot_t

axi_lite64_w_chan_t

Packed struct

Table 2. axi_lite64_w_chan_t
FieldTypeDescription
dataaxi_lite64_data_t
strbaxi_lite64_strb_t

axi_lite64_b_chan_t

Packed struct

Table 3. axi_lite64_b_chan_t
FieldTypeDescription
respaxi_pkg::resp_t

axi_lite64_ar_chan_t

Packed struct

Table 4. axi_lite64_ar_chan_t
FieldTypeDescription
addraxi_lite64_addr_t
protaxi_pkg::prot_t

axi_lite64_r_chan_t

Packed struct

Table 5. axi_lite64_r_chan_t
FieldTypeDescription
dataaxi_lite64_data_t
respaxi_pkg::resp_t

axi_lite64_req_t

Packed struct

Table 6. axi_lite64_req_t
FieldTypeDescription
awaxi_lite64_aw_chan_t
aw_validlogic
waxi_lite64_w_chan_t
w_validlogic
b_readylogic
araxi_lite64_ar_chan_t
ar_validlogic
r_readylogic

axi_lite64_resp_t

Packed struct

Table 7. axi_lite64_resp_t
FieldTypeDescription
aw_readylogic
w_readylogic
baxi_lite64_b_chan_t
b_validlogic
ar_readylogic
raxi_lite64_r_chan_t
r_validlogic

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

Table 8. xbar_slv_aw_chan_t
FieldTypeDescription
addrxbar_addr_t
protaxi_pkg::prot_t

xbar_slv_w_chan_t

Packed struct

Table 9. xbar_slv_w_chan_t
FieldTypeDescription
dataxbar_data_t
strbxbar_strb_t

xbar_slv_b_chan_t

Packed struct

Table 10. xbar_slv_b_chan_t
FieldTypeDescription
respaxi_pkg::resp_t

xbar_slv_ar_chan_t

Packed struct

Table 11. xbar_slv_ar_chan_t
FieldTypeDescription
addrxbar_addr_t
protaxi_pkg::prot_t

xbar_slv_r_chan_t

Packed struct

Table 12. xbar_slv_r_chan_t
FieldTypeDescription
dataxbar_data_t
respaxi_pkg::resp_t

xbar_slv_req_t

Packed struct

Table 13. xbar_slv_req_t
FieldTypeDescription
awxbar_slv_aw_chan_t
aw_validlogic
wxbar_slv_w_chan_t
w_validlogic
b_readylogic
arxbar_slv_ar_chan_t
ar_validlogic
r_readylogic

xbar_slv_resp_t

Packed struct

Table 14. xbar_slv_resp_t
FieldTypeDescription
aw_readylogic
w_readylogic
bxbar_slv_b_chan_t
b_validlogic
ar_readylogic
rxbar_slv_r_chan_t
r_validlogic

xbar_mst_aw_chan_t

Packed struct

Table 15. xbar_mst_aw_chan_t
FieldTypeDescription
addrxbar_addr_t
protaxi_pkg::prot_t

xbar_mst_b_chan_t

Packed struct

Table 16. xbar_mst_b_chan_t
FieldTypeDescription
respaxi_pkg::resp_t

xbar_mst_ar_chan_t

Packed struct

Table 17. xbar_mst_ar_chan_t
FieldTypeDescription
addrxbar_addr_t
protaxi_pkg::prot_t

xbar_mst_r_chan_t

Packed struct

Table 18. xbar_mst_r_chan_t
FieldTypeDescription
dataxbar_data_t
respaxi_pkg::resp_t

xbar_mst_req_t

Packed struct

Table 19. xbar_mst_req_t
FieldTypeDescription
awxbar_mst_aw_chan_t
aw_validlogic
wxbar_slv_w_chan_t
w_validlogic
b_readylogic
arxbar_mst_ar_chan_t
ar_validlogic
r_readylogic

xbar_mst_resp_t

Packed struct

Table 20. xbar_mst_resp_t
FieldTypeDescription
aw_readylogic
w_readylogic
bxbar_mst_b_chan_t
b_validlogic
ar_readylogic
rxbar_mst_r_chan_t
r_validlogic

addr_rule_t

Custom address rule type with end_addr 1 bit wider to handle overflow

Packed struct

Table 21. addr_rule_t
FieldTypeDescription
idxint unsigned
start_addrlogic [31:0]
end_addrlogic [32:0]

apb_addr_rule_t

APB address rule type for AXI-Lite to APB bridges (decode width = xbar AXI-Lite width)

Packed struct

Table 22. apb_addr_rule_t
FieldTypeDescription
idxint unsigned
start_addrlogic [31:0]
end_addrlogic [32:0]