tru_wishbone_slave

Topology Resolution Unit (TRU)

Contents:

1. Memory map summary
2. HDL symbol
3. Register description
3.1. TRU Global Control Register
3.2. TRU Global Status Register 0
3.3. TRU Global Status Register 1
3.4. Pattern Control Register
3.5. Link Aggregation Control Register
3.6. Link Aggregation Group ID Mask Table
3.7. Transition Control General Register
3.8. Transition Control Port Register
3.9. Transition Status Register
3.10. Real Time Reconfiguration Control Register
3.11. TRU Table Register 0
3.12. TRU Table Register 1
3.13. TRU Table Register 2
3.14. TRU Table Register 3
3.15. TRU Table Register 4
3.16. TRU Table Register 5

1. Memory map summary

H/W Address Type Name VHDL/Verilog prefix C prefix
0x0 REG TRU Global Control Register tru_gcr GCR
0x1 REG TRU Global Status Register 0 tru_gsr0 GSR0
0x2 REG TRU Global Status Register 1 tru_gsr1 GSR1
0x3 REG Pattern Control Register tru_mcr MCR
0x4 REG Link Aggregation Control Register tru_lacr LACR
0x5 REG Link Aggregation Group ID Mask Table tru_lagt LAGT
0x6 REG Transition Control General Register tru_tcgr TCGR
0x7 REG Transition Control Port Register tru_tcpr TCPR
0x8 REG Transition Status Register tru_tsr TSR
0x9 REG Real Time Reconfiguration Control Register tru_rtrcr RTRCR
0xa REG TRU Table Register 0 tru_ttr0 TTR0
0xb REG TRU Table Register 1 tru_ttr1 TTR1
0xc REG TRU Table Register 2 tru_ttr2 TTR2
0xd REG TRU Table Register 3 tru_ttr3 TTR3
0xe REG TRU Table Register 4 tru_ttr4 TTR4
0xf REG TRU Table Register 5 tru_ttr5 TTR5

2. HDL symbol

rst_n_i TRU Global Control Register:
wb_clk_i tru_gcr_g_ena_o
wb_addr_i[3:0] tru_gcr_tru_bank_o
wb_data_i[31:0] tru_gcr_rx_frame_reset_o[23:0]
wb_data_o[31:0]  
wb_cyc_i TRU Global Status Register 0:
wb_sel_i[3:0] tru_gsr0_stat_bank_i
wb_stb_i tru_gsr0_stat_stb_up_i[23:0]
wb_we_i  
wb_ack_o TRU Global Status Register 1:
tru_gsr1_stat_up_i[31:0]
 
Pattern Control Register:
tru_mcr_pattern_mode_rep_o[3:0]
tru_mcr_pattern_mode_add_o[3:0]
 
Link Aggregation Control Register:
tru_lacr_agg_gr_num_o[3:0]
tru_lacr_agg_df_br_id_o[3:0]
tru_lacr_agg_df_un_id_o[3:0]
 
Link Aggregation Group ID Mask Table:
tru_lagt_lagt_gr_id_mask_0_o[3:0]
tru_lagt_lagt_gr_id_mask_1_o[3:0]
tru_lagt_lagt_gr_id_mask_2_o[3:0]
tru_lagt_lagt_gr_id_mask_3_o[3:0]
tru_lagt_lagt_gr_id_mask_4_o[3:0]
tru_lagt_lagt_gr_id_mask_5_o[3:0]
tru_lagt_lagt_gr_id_mask_6_o[3:0]
tru_lagt_lagt_gr_id_mask_7_o[3:0]
 
Transition Control General Register:
tru_tcgr_trans_ena_o
tru_tcgr_trans_clear_o
tru_tcgr_trans_mode_o[2:0]
tru_tcgr_trans_rx_id_o[2:0]
tru_tcgr_trans_prio_o[2:0]
tru_tcgr_trans_time_diff_o[15:0]
 
Transition Control Port Register:
tru_tcpr_trans_port_a_id_o[5:0]
tru_tcpr_trans_port_a_valid_o
tru_tcpr_trans_port_b_id_o[5:0]
tru_tcpr_trans_port_b_valid_o
 
Transition Status Register:
tru_tsr_trans_stat_active_i
tru_tsr_trans_stat_finished_i
 
Real Time Reconfiguration Control Register:
tru_rtrcr_rtr_ena_o
tru_rtrcr_rtr_reset_o
tru_rtrcr_rtr_mode_o[3:0]
tru_rtrcr_rtr_rx_o[3:0]
tru_rtrcr_rtr_tx_o[3:0]
 
TRU Table Register 0:
tru_ttr0_fid_o[7:0]
tru_ttr0_sub_fid_o[7:0]
tru_ttr0_update_o
tru_ttr0_mask_valid_o
tru_ttr0_patrn_mode_o[3:0]
 
TRU Table Register 1:
tru_ttr1_ports_ingress_o[31:0]
 
TRU Table Register 2:
tru_ttr2_ports_egress_o[31:0]
 
TRU Table Register 3:
tru_ttr3_ports_mask_o[31:0]
 
TRU Table Register 4:
tru_ttr4_patrn_match_o[31:0]
 
TRU Table Register 5:
tru_ttr5_patrn_mask_o[31:0]

3. Register description

3.1. TRU Global Control Register

HW prefix: tru_gcr
HW address: 0x0
C prefix: GCR
C offset: 0x0

Control register containing global (port-independent) settings of the TRU.

31 30 29 28 27 26 25 24
RX_FRAME_RESET[23:16]
23 22 21 20 19 18 17 16
RX_FRAME_RESET[15:8]
15 14 13 12 11 10 9 8
RX_FRAME_RESET[7:0]
7 6 5 4 3 2 1 0
- - - - - - TRU_BANK G_ENA

3.2. TRU Global Status Register 0

HW prefix: tru_gsr0
HW address: 0x1
C prefix: GSR0
C offset: 0x4

Provides status of TRU actions

31 30 29 28 27 26 25 24
STAT_STB_UP[23:16]
23 22 21 20 19 18 17 16
STAT_STB_UP[15:8]
15 14 13 12 11 10 9 8
STAT_STB_UP[7:0]
7 6 5 4 3 2 1 0
- - - - - - - STAT_BANK

3.3. TRU Global Status Register 1

HW prefix: tru_gsr1
HW address: 0x2
C prefix: GSR1
C offset: 0x8

Provides status of TRU actions

31 30 29 28 27 26 25 24
STAT_UP[31:24]
23 22 21 20 19 18 17 16
STAT_UP[23:16]
15 14 13 12 11 10 9 8
STAT_UP[15:8]
7 6 5 4 3 2 1 0
STAT_UP[7:0]

3.4. Pattern Control Register

HW prefix: tru_mcr
HW address: 0x3
C prefix: MCR
C offset: 0xc

Defines matching pattern mode/configuration for quick port reconfiguration

31 30 29 28 27 26 25 24
- - - - - - - -
23 22 21 20 19 18 17 16
- - - - - - - -
15 14 13 12 11 10 9 8
- - - - PATTERN_MODE_ADD[3:0]
7 6 5 4 3 2 1 0
- - - - PATTERN_MODE_REP[3:0]

3.5. Link Aggregation Control Register

HW prefix: tru_lacr
HW address: 0x4
C prefix: LACR
C offset: 0x10

Register controlling Link Aggregation specific config

31 30 29 28 27 26 25 24
- - - - - - - -
23 22 21 20 19 18 17 16
- - - - AGG_DF_UN_ID[3:0]
15 14 13 12 11 10 9 8
- - - - AGG_DF_BR_ID[3:0]
7 6 5 4 3 2 1 0
- - - - AGG_GR_NUM[3:0]

3.6. Link Aggregation Group ID Mask Table

HW prefix: tru_lagt
HW address: 0x5
C prefix: LAGT
C offset: 0x14

Table which Translation between bit number from the endpoint mask and Aggregation Group

31 30 29 28 27 26 25 24
LAGT_GR_ID_MASK_7[3:0] LAGT_GR_ID_MASK_6[3:0]
23 22 21 20 19 18 17 16
LAGT_GR_ID_MASK_5[3:0] LAGT_GR_ID_MASK_4[3:0]
15 14 13 12 11 10 9 8
LAGT_GR_ID_MASK_3[3:0] LAGT_GR_ID_MASK_2[3:0]
7 6 5 4 3 2 1 0
LAGT_GR_ID_MASK_1[3:0] LAGT_GR_ID_MASK_0[3:0]

3.7. Transition Control General Register

HW prefix: tru_tcgr
HW address: 0x6
C prefix: TCGR
C offset: 0x18

Defines transition mode/configuration for slow port reconfiguration - decides
when two swap banks such that HP packets are not lost.

31 30 29 28 27 26 25 24
TRANS_TIME_DIFF[15:8]
23 22 21 20 19 18 17 16
TRANS_TIME_DIFF[7:0]
15 14 13 12 11 10 9 8
- TRANS_PRIO[2:0] - TRANS_RX_ID[2:0]
7 6 5 4 3 2 1 0
- TRANS_MODE[2:0] - - TRANS_CLEAR TRANS_ENA

3.8. Transition Control Port Register

HW prefix: tru_tcpr
HW address: 0x7
C prefix: TCPR
C offset: 0x1c

Defines transition mode/configuration for slow port reconfiguration - decides
when two swap banks such that HP packets are not lost.

31 30 29 28 27 26 25 24
- - - - - - - TRANS_PORT_B_VALID
23 22 21 20 19 18 17 16
- - TRANS_PORT_B_ID[5:0]
15 14 13 12 11 10 9 8
- - - - - - - TRANS_PORT_A_VALID
7 6 5 4 3 2 1 0
- - TRANS_PORT_A_ID[5:0]

3.9. Transition Status Register

HW prefix: tru_tsr
HW address: 0x8
C prefix: TSR
C offset: 0x20

Provides information about the state of transition (if any).

31 30 29 28 27 26 25 24
- - - - - - - -
23 22 21 20 19 18 17 16
- - - - - - - -
15 14 13 12 11 10 9 8
- - - - - - - -
7 6 5 4 3 2 1 0
- - - - - - TRANS_STAT_FINISHED TRANS_STAT_ACTIVE

3.10. Real Time Reconfiguration Control Register

HW prefix: tru_rtrcr
HW address: 0x9
C prefix: RTRCR
C offset: 0x24

Controls Real Time Handler.

31 30 29 28 27 26 25 24
- - - - RTR_TX[3:0]
23 22 21 20 19 18 17 16
- - - - RTR_RX[3:0]
15 14 13 12 11 10 9 8
- - - - RTR_MODE[3:0]
7 6 5 4 3 2 1 0
- - - - - - RTR_RESET RTR_ENA

3.11. TRU Table Register 0

HW prefix: tru_ttr0
HW address: 0xa
C prefix: TTR0
C offset: 0x28
31 30 29 28 27 26 25 24
- - - - PATRN_MODE[3:0]
23 22 21 20 19 18 17 16
- - - - - - MASK_VALID UPDATE
15 14 13 12 11 10 9 8
SUB_FID[7:0]
7 6 5 4 3 2 1 0
FID[7:0]

3.12. TRU Table Register 1

HW prefix: tru_ttr1
HW address: 0xb
C prefix: TTR1
C offset: 0x2c
31 30 29 28 27 26 25 24
PORTS_INGRESS[31:24]
23 22 21 20 19 18 17 16
PORTS_INGRESS[23:16]
15 14 13 12 11 10 9 8
PORTS_INGRESS[15:8]
7 6 5 4 3 2 1 0
PORTS_INGRESS[7:0]

3.13. TRU Table Register 2

HW prefix: tru_ttr2
HW address: 0xc
C prefix: TTR2
C offset: 0x30
31 30 29 28 27 26 25 24
PORTS_EGRESS[31:24]
23 22 21 20 19 18 17 16
PORTS_EGRESS[23:16]
15 14 13 12 11 10 9 8
PORTS_EGRESS[15:8]
7 6 5 4 3 2 1 0
PORTS_EGRESS[7:0]

3.14. TRU Table Register 3

HW prefix: tru_ttr3
HW address: 0xd
C prefix: TTR3
C offset: 0x34
31 30 29 28 27 26 25 24
PORTS_MASK[31:24]
23 22 21 20 19 18 17 16
PORTS_MASK[23:16]
15 14 13 12 11 10 9 8
PORTS_MASK[15:8]
7 6 5 4 3 2 1 0
PORTS_MASK[7:0]

3.15. TRU Table Register 4

HW prefix: tru_ttr4
HW address: 0xe
C prefix: TTR4
C offset: 0x38
31 30 29 28 27 26 25 24
PATRN_MATCH[31:24]
23 22 21 20 19 18 17 16
PATRN_MATCH[23:16]
15 14 13 12 11 10 9 8
PATRN_MATCH[15:8]
7 6 5 4 3 2 1 0
PATRN_MATCH[7:0]

3.16. TRU Table Register 5

HW prefix: tru_ttr5
HW address: 0xf
C prefix: TTR5
C offset: 0x3c
31 30 29 28 27 26 25 24
PATRN_MASK[31:24]
23 22 21 20 19 18 17 16
PATRN_MASK[23:16]
15 14 13 12 11 10 9 8
PATRN_MASK[15:8]
7 6 5 4 3 2 1 0
PATRN_MASK[7:0]