smu_axi_xbar_pkg

Hold SMU AXI crossbar types, fabric widths, configuration, and connectivity matrix.

Declare the 56/64 slave and expanded-ID master channel types used by smu_axi_xbar, the address rule type whose end address is one bit wider than the address, the axi_xbar configuration, and the input-to-output connectivity matrix. The runtime address rule values live in the crossbar module itself.

axi_56_64_addr_t

Protocol: axi_56_64 (AXI4, 56-bit addr, 64-bit data)

Alias for logic [55:0]

axi_56_64_data_t

Alias for logic [63:0]

axi_56_64_strb_t

Alias for logic [7:0]

axi_56_64_id_t

Alias for logic [7:0]

axi_56_64_user_t

Alias for logic [11:0]

axi_56_64_aw_chan_t

Packed struct

Table 1. axi_56_64_aw_chan_t
FieldTypeDescription
idaxi_56_64_id_t
addraxi_56_64_addr_t
lenaxi_pkg::len_t
sizeaxi_pkg::size_t
burstaxi_pkg::burst_t
locklogic
cacheaxi_pkg::cache_t
protaxi_pkg::prot_t
qosaxi_pkg::qos_t
regionaxi_pkg::region_t
atopaxi_pkg::atop_t
useraxi_56_64_user_t

axi_56_64_w_chan_t

Packed struct

Table 2. axi_56_64_w_chan_t
FieldTypeDescription
dataaxi_56_64_data_t
strbaxi_56_64_strb_t
lastlogic
useraxi_56_64_user_t

axi_56_64_b_chan_t

Packed struct

Table 3. axi_56_64_b_chan_t
FieldTypeDescription
idaxi_56_64_id_t
respaxi_pkg::resp_t
useraxi_56_64_user_t

axi_56_64_ar_chan_t

Packed struct

Table 4. axi_56_64_ar_chan_t
FieldTypeDescription
idaxi_56_64_id_t
addraxi_56_64_addr_t
lenaxi_pkg::len_t
sizeaxi_pkg::size_t
burstaxi_pkg::burst_t
locklogic
cacheaxi_pkg::cache_t
protaxi_pkg::prot_t
qosaxi_pkg::qos_t
regionaxi_pkg::region_t
useraxi_56_64_user_t

axi_56_64_r_chan_t

Packed struct

Table 5. axi_56_64_r_chan_t
FieldTypeDescription
idaxi_56_64_id_t
dataaxi_56_64_data_t
respaxi_pkg::resp_t
lastlogic
useraxi_56_64_user_t

axi_56_64_req_t

Packed struct

Table 6. axi_56_64_req_t
FieldTypeDescription
awaxi_56_64_aw_chan_t
aw_validlogic
waxi_56_64_w_chan_t
w_validlogic
b_readylogic
araxi_56_64_ar_chan_t
ar_validlogic
r_readylogic

axi_56_64_resp_t

Packed struct

Table 7. axi_56_64_resp_t
FieldTypeDescription
aw_readylogic
ar_readylogic
w_readylogic
b_validlogic
baxi_56_64_b_chan_t
r_validlogic
raxi_56_64_r_chan_t

axi_out_addr_t

=========================================================================

Alias for logic [XbarAddrWidth-1:0]

axi_out_data_t

Alias for logic [XbarDataWidth-1:0]

axi_out_strb_t

Alias for logic [XbarStrbWidth-1:0]

axi_out_id_t

Alias for logic [XbarOutputIdW-1:0]

axi_out_user_t

Alias for logic [XbarUserWidth-1:0]

axi_out_aw_chan_t

Packed struct

Table 8. axi_out_aw_chan_t
FieldTypeDescription
idaxi_out_id_t
addraxi_out_addr_t
lenaxi_pkg::len_t
sizeaxi_pkg::size_t
burstaxi_pkg::burst_t
locklogic
cacheaxi_pkg::cache_t
protaxi_pkg::prot_t
qosaxi_pkg::qos_t
regionaxi_pkg::region_t
atopaxi_pkg::atop_t
useraxi_out_user_t

axi_out_w_chan_t

Packed struct

Table 9. axi_out_w_chan_t
FieldTypeDescription
dataaxi_out_data_t
strbaxi_out_strb_t
lastlogic
useraxi_out_user_t

axi_out_b_chan_t

Packed struct

Table 10. axi_out_b_chan_t
FieldTypeDescription
idaxi_out_id_t
respaxi_pkg::resp_t
useraxi_out_user_t

axi_out_ar_chan_t

Packed struct

Table 11. axi_out_ar_chan_t
FieldTypeDescription
idaxi_out_id_t
addraxi_out_addr_t
lenaxi_pkg::len_t
sizeaxi_pkg::size_t
burstaxi_pkg::burst_t
locklogic
cacheaxi_pkg::cache_t
protaxi_pkg::prot_t
qosaxi_pkg::qos_t
regionaxi_pkg::region_t
useraxi_out_user_t

axi_out_r_chan_t

Packed struct

Table 12. axi_out_r_chan_t
FieldTypeDescription
idaxi_out_id_t
dataaxi_out_data_t
respaxi_pkg::resp_t
lastlogic
useraxi_out_user_t

axi_out_req_t

Packed struct

Table 13. axi_out_req_t
FieldTypeDescription
awaxi_out_aw_chan_t
aw_validlogic
waxi_out_w_chan_t
w_validlogic
b_readylogic
araxi_out_ar_chan_t
ar_validlogic
r_readylogic

axi_out_resp_t

Packed struct

Table 14. axi_out_resp_t
FieldTypeDescription
aw_readylogic
ar_readylogic
w_readylogic
b_validlogic
baxi_out_b_chan_t
r_validlogic
raxi_out_r_chan_t

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_id_t

Alias for logic [MaxInputIdW-1:0]

xbar_mst_id_t

Alias for logic [XbarOutputIdW-1:0]

xbar_user_t

Alias for logic [XbarUserWidth-1:0]

xbar_slv_aw_chan_t

Packed struct

Table 15. xbar_slv_aw_chan_t
FieldTypeDescription
idxbar_slv_id_t
addrxbar_addr_t
lenaxi_pkg::len_t
sizeaxi_pkg::size_t
burstaxi_pkg::burst_t
locklogic
cacheaxi_pkg::cache_t
protaxi_pkg::prot_t
qosaxi_pkg::qos_t
regionaxi_pkg::region_t
atopaxi_pkg::atop_t
userxbar_user_t

xbar_slv_w_chan_t

Packed struct

Table 16. xbar_slv_w_chan_t
FieldTypeDescription
dataxbar_data_t
strbxbar_strb_t
lastlogic
userxbar_user_t

xbar_slv_b_chan_t

Packed struct

Table 17. xbar_slv_b_chan_t
FieldTypeDescription
idxbar_slv_id_t
respaxi_pkg::resp_t
userxbar_user_t

xbar_slv_ar_chan_t

Packed struct

Table 18. xbar_slv_ar_chan_t
FieldTypeDescription
idxbar_slv_id_t
addrxbar_addr_t
lenaxi_pkg::len_t
sizeaxi_pkg::size_t
burstaxi_pkg::burst_t
locklogic
cacheaxi_pkg::cache_t
protaxi_pkg::prot_t
qosaxi_pkg::qos_t
regionaxi_pkg::region_t
userxbar_user_t

xbar_slv_r_chan_t

Packed struct

Table 19. xbar_slv_r_chan_t
FieldTypeDescription
idxbar_slv_id_t
dataxbar_data_t
respaxi_pkg::resp_t
lastlogic
userxbar_user_t

xbar_slv_req_t

Packed struct

Table 20. 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 21. xbar_slv_resp_t
FieldTypeDescription
aw_readylogic
ar_readylogic
w_readylogic
b_validlogic
bxbar_slv_b_chan_t
r_validlogic
rxbar_slv_r_chan_t

xbar_mst_aw_chan_t

Packed struct

Table 22. xbar_mst_aw_chan_t
FieldTypeDescription
idxbar_mst_id_t
addrxbar_addr_t
lenaxi_pkg::len_t
sizeaxi_pkg::size_t
burstaxi_pkg::burst_t
locklogic
cacheaxi_pkg::cache_t
protaxi_pkg::prot_t
qosaxi_pkg::qos_t
regionaxi_pkg::region_t
atopaxi_pkg::atop_t
userxbar_user_t

xbar_mst_b_chan_t

Packed struct

Table 23. xbar_mst_b_chan_t
FieldTypeDescription
idxbar_mst_id_t
respaxi_pkg::resp_t
userxbar_user_t

xbar_mst_ar_chan_t

Packed struct

Table 24. xbar_mst_ar_chan_t
FieldTypeDescription
idxbar_mst_id_t
addrxbar_addr_t
lenaxi_pkg::len_t
sizeaxi_pkg::size_t
burstaxi_pkg::burst_t
locklogic
cacheaxi_pkg::cache_t
protaxi_pkg::prot_t
qosaxi_pkg::qos_t
regionaxi_pkg::region_t
userxbar_user_t

xbar_mst_r_chan_t

Packed struct

Table 25. xbar_mst_r_chan_t
FieldTypeDescription
idxbar_mst_id_t
dataxbar_data_t
respaxi_pkg::resp_t
lastlogic
userxbar_user_t

xbar_mst_req_t

Packed struct

Table 26. 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 27. xbar_mst_resp_t
FieldTypeDescription
aw_readylogic
ar_readylogic
w_readylogic
b_validlogic
bxbar_mst_b_chan_t
r_validlogic
rxbar_mst_r_chan_t

addr_rule_t

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

Packed struct

Table 28. addr_rule_t
FieldTypeDescription
idxint unsigned
start_addrlogic [55:0]
end_addrlogic [56:0]