# Design Hierarchy ## Summary | Hierarchy | Modules | Instantiations | | :---: | --- | --- | | Open Design Hierarchy Graph | 35 | 103 | ## Dependencies Properly architecture your design to tend to a highly hierarchical design. Modules that instantiate too many other modules have likely too many responsibilities. | Instance | Modules | Instantiations | | --- | --- | --- | |inst_data_link|Count: 16
FIFO_DC_DROP_BAD_FRAME
data_crc_check
data_crc_compute
data_desencapsulation
data_desencapsulation_bc
data_encapsulation
data_err_management
data_in_bc_buf
data_in_buf
data_link_reset
data_mac
data_out_bc_buf
data_out_buff
data_seq_check
data_seq_compute
data_word_id_fsm|Count: 31
gen_data_in_buff(0)\.inst_data_in_buf: data_in_buf (rtl)
gen_data_in_buff(1)\.inst_data_in_buf: data_in_buf (rtl)
gen_data_in_buff(2)\.inst_data_in_buf: data_in_buf (rtl)
gen_data_in_buff(3)\.inst_data_in_buf: data_in_buf (rtl)
gen_data_in_buff(4)\.inst_data_in_buf: data_in_buf (rtl)
gen_data_in_buff(5)\.inst_data_in_buf: data_in_buf (rtl)
gen_data_in_buff(6)\.inst_data_in_buf: data_in_buf (rtl)
gen_data_in_buff(7)\.inst_data_in_buf: data_in_buf (rtl)
gen_data_out_buff(0)\.inst_data_out_buff: data_out_buff (rtl)
gen_data_out_buff(1)\.inst_data_out_buff: data_out_buff (rtl)
gen_data_out_buff(2)\.inst_data_out_buff: data_out_buff (rtl)
gen_data_out_buff(3)\.inst_data_out_buff: data_out_buff (rtl)
gen_data_out_buff(4)\.inst_data_out_buff: data_out_buff (rtl)
gen_data_out_buff(5)\.inst_data_out_buff: data_out_buff (rtl)
gen_data_out_buff(6)\.inst_data_out_buff: data_out_buff (rtl)
gen_data_out_buff(7)\.inst_data_out_buff: data_out_buff (rtl)
inst_data_crc_check: data_crc_check (rtl)
inst_data_crc_compute: data_crc_compute (rtl)
inst_data_desencapsulation: data_desencapsulation (rtl)
inst_data_desencapsulation_bc: data_desencapsulation_bc (rtl)
inst_data_encapsulation: data_encapsulation (rtl)
inst_data_err_management: data_err_management (Behavioral)
inst_data_in_bc_buf: data_in_bc_buf (rtl)
inst_data_link_reset: data_link_reset (rtl)
inst_data_mac: data_mac (rtl)
inst_data_out_bc_buf: data_out_bc_buf (rtl)
inst_data_seq_check: data_seq_check (rtl)
inst_data_seq_compute: data_seq_compute (rtl)
inst_data_word_id_fsm: data_word_id_fsm (rtl)
inst_mid_buf: FIFO_DC_DROP_BAD_FRAME (RTL)
inst_mid_buf_bc: FIFO_DC_DROP_BAD_FRAME (RTL)
| |spacefibre_light_top (top)|Count: 7
demux_rx
mux_tx
reset_gen
data_link
mib_data_link
mib_phy_plus_lane
phy_plus_lane|Count: 7
inst_data_link: data_link (Behavioral)
inst_demux_rx: demux_rx (rtl)
inst_mib_data_link: mib_data_link (rtl)
inst_mib_phy_plus_lane: mib_phy_plus_lane (rtl)
inst_mux_tx: mux_tx (rtl)
inst_phy_plus_lane: phy_plus_lane (rtl)
inst_reset_sync_clk_from_GTY: reset_gen (rtl)
| |inst_phy_plus_lane|Count: 7
FIFO_DC
lane_ctrl_word_detect
lane_ctrl_word_insert
lane_init_fsm
parallel_loopback
rx_sync_fsm
skip_insertion|Count: 10
inst_fifo_in_ctrl: FIFO_DC (RTL)
inst_fifo_out_ctrl: FIFO_DC (RTL)
inst_fifo_rx_data: FIFO_DC (RTL)
inst_fifo_tx_data: FIFO_DC (RTL)
inst_lane_ctrl_word_detect: lane_ctrl_word_detect (rtl)
inst_lane_ctrl_word_insert: lane_ctrl_word_insert (rtl)
inst_lane_init_fsm: lane_init_fsm (rtl)
inst_parallel_loopback: parallel_loopback (rtl)
inst_rx_sync_fsm: rx_sync_fsm (rtl)
inst_skip_insertion: skip_insertion (rtl)
| |ints_fifo_dc_axis_m|Count: 2
FIFO_DC
AXIS_MASTER|Count: 2
AXIS_MASTER_inst: AXIS_MASTER (implementation)
fifo_dc_inst: FIFO_DC (RTL)
| |ints_fifo_dc_axis_m|Count: 2
FIFO_DC
AXIS_MASTER|Count: 2
AXIS_MASTER_inst: AXIS_MASTER (implementation)
fifo_dc_inst: FIFO_DC (RTL)
| |ints_fifo_dc_axis_m|Count: 2
FIFO_DC
AXIS_MASTER|Count: 2
AXIS_MASTER_inst: AXIS_MASTER (implementation)
fifo_dc_inst: FIFO_DC (RTL)
| |ints_fifo_dc_axis_m|Count: 2
FIFO_DC
AXIS_MASTER|Count: 2
AXIS_MASTER_inst: AXIS_MASTER (implementation)
fifo_dc_inst: FIFO_DC (RTL)
| |ints_fifo_dc_axis_m|Count: 2
FIFO_DC
AXIS_MASTER|Count: 2
AXIS_MASTER_inst: AXIS_MASTER (implementation)
fifo_dc_inst: FIFO_DC (RTL)
| |ints_fifo_dc_axis_m|Count: 2
FIFO_DC
AXIS_MASTER|Count: 2
AXIS_MASTER_inst: AXIS_MASTER (implementation)
fifo_dc_inst: FIFO_DC (RTL)
| |ints_fifo_dc_axis_m|Count: 2
FIFO_DC
AXIS_MASTER|Count: 2
AXIS_MASTER_inst: AXIS_MASTER (implementation)
fifo_dc_inst: FIFO_DC (RTL)
| |ints_fifo_dc_axis_m|Count: 2
FIFO_DC
AXIS_MASTER|Count: 2
AXIS_MASTER_inst: AXIS_MASTER (implementation)
fifo_dc_inst: FIFO_DC (RTL)
| |ints_fifo_dc_axis_m|Count: 2
FIFO_DC
AXIS_MASTER|Count: 2
AXIS_MASTER_inst: AXIS_MASTER (implementation)
fifo_dc_inst: FIFO_DC (RTL)
| |ints_fifo_dc_axis_s|Count: 2
FIFO_DC
AXIS_SLAVE|Count: 2
AXIS_SLAVE_inst: AXIS_SLAVE (implementation)
fifo_dc_inst: FIFO_DC (RTL)
| |ints_fifo_dc_axis_s|Count: 2
FIFO_DC
AXIS_SLAVE|Count: 2
AXIS_SLAVE_inst: AXIS_SLAVE (implementation)
fifo_dc_inst: FIFO_DC (RTL)
| |ints_fifo_dc_axis_s|Count: 2
FIFO_DC
AXIS_SLAVE|Count: 2
AXIS_SLAVE_inst: AXIS_SLAVE (implementation)
fifo_dc_inst: FIFO_DC (RTL)
| |ints_fifo_dc_axis_s|Count: 2
FIFO_DC
AXIS_SLAVE|Count: 2
AXIS_SLAVE_inst: AXIS_SLAVE (implementation)
fifo_dc_inst: FIFO_DC (RTL)
| |ints_fifo_dc_axis_s|Count: 2
FIFO_DC
AXIS_SLAVE|Count: 2
AXIS_SLAVE_inst: AXIS_SLAVE (implementation)
fifo_dc_inst: FIFO_DC (RTL)
| |ints_fifo_dc_axis_s|Count: 2
FIFO_DC
AXIS_SLAVE|Count: 2
AXIS_SLAVE_inst: AXIS_SLAVE (implementation)
fifo_dc_inst: FIFO_DC (RTL)
| |ints_fifo_dc_axis_s|Count: 2
FIFO_DC
AXIS_SLAVE|Count: 2
AXIS_SLAVE_inst: AXIS_SLAVE (implementation)
fifo_dc_inst: FIFO_DC (RTL)
| |ints_fifo_dc_axis_s|Count: 2
FIFO_DC
AXIS_SLAVE|Count: 2
AXIS_SLAVE_inst: AXIS_SLAVE (implementation)
fifo_dc_inst: FIFO_DC (RTL)
| |ints_fifo_dc_axis_s|Count: 2
FIFO_DC
AXIS_SLAVE|Count: 2
AXIS_SLAVE_inst: AXIS_SLAVE (implementation)
fifo_dc_inst: FIFO_DC (RTL)
| |gen_data_in_buff(0)\.inst_data_in_buf|Count: 1
FIFO_DC_AXIS_M|Count: 1
ints_fifo_dc_axis_m: FIFO_DC_AXIS_M (arch_imp)
| |gen_data_in_buff(1)\.inst_data_in_buf|Count: 1
FIFO_DC_AXIS_M|Count: 1
ints_fifo_dc_axis_m: FIFO_DC_AXIS_M (arch_imp)
| |gen_data_in_buff(2)\.inst_data_in_buf|Count: 1
FIFO_DC_AXIS_M|Count: 1
ints_fifo_dc_axis_m: FIFO_DC_AXIS_M (arch_imp)
| |gen_data_in_buff(3)\.inst_data_in_buf|Count: 1
FIFO_DC_AXIS_M|Count: 1
ints_fifo_dc_axis_m: FIFO_DC_AXIS_M (arch_imp)
| |gen_data_in_buff(4)\.inst_data_in_buf|Count: 1
FIFO_DC_AXIS_M|Count: 1
ints_fifo_dc_axis_m: FIFO_DC_AXIS_M (arch_imp)
| |gen_data_in_buff(5)\.inst_data_in_buf|Count: 1
FIFO_DC_AXIS_M|Count: 1
ints_fifo_dc_axis_m: FIFO_DC_AXIS_M (arch_imp)
| |gen_data_in_buff(6)\.inst_data_in_buf|Count: 1
FIFO_DC_AXIS_M|Count: 1
ints_fifo_dc_axis_m: FIFO_DC_AXIS_M (arch_imp)
| |gen_data_in_buff(7)\.inst_data_in_buf|Count: 1
FIFO_DC_AXIS_M|Count: 1
ints_fifo_dc_axis_m: FIFO_DC_AXIS_M (arch_imp)
| |gen_data_out_buff(0)\.inst_data_out_buff|Count: 1
FIFO_DC_AXIS_S|Count: 1
ints_fifo_dc_axis_s: FIFO_DC_AXIS_S (arch_imp)
| |gen_data_out_buff(1)\.inst_data_out_buff|Count: 1
FIFO_DC_AXIS_S|Count: 1
ints_fifo_dc_axis_s: FIFO_DC_AXIS_S (arch_imp)
| |gen_data_out_buff(2)\.inst_data_out_buff|Count: 1
FIFO_DC_AXIS_S|Count: 1
ints_fifo_dc_axis_s: FIFO_DC_AXIS_S (arch_imp)
| |gen_data_out_buff(3)\.inst_data_out_buff|Count: 1
FIFO_DC_AXIS_S|Count: 1
ints_fifo_dc_axis_s: FIFO_DC_AXIS_S (arch_imp)
| |gen_data_out_buff(4)\.inst_data_out_buff|Count: 1
FIFO_DC_AXIS_S|Count: 1
ints_fifo_dc_axis_s: FIFO_DC_AXIS_S (arch_imp)
| |gen_data_out_buff(5)\.inst_data_out_buff|Count: 1
FIFO_DC_AXIS_S|Count: 1
ints_fifo_dc_axis_s: FIFO_DC_AXIS_S (arch_imp)
| |gen_data_out_buff(6)\.inst_data_out_buff|Count: 1
FIFO_DC_AXIS_S|Count: 1
ints_fifo_dc_axis_s: FIFO_DC_AXIS_S (arch_imp)
| |gen_data_out_buff(7)\.inst_data_out_buff|Count: 1
FIFO_DC_AXIS_S|Count: 1
ints_fifo_dc_axis_s: FIFO_DC_AXIS_S (arch_imp)
| |inst_data_in_bc_buf|Count: 1
FIFO_DC_AXIS_M|Count: 1
ints_fifo_dc_axis_m: FIFO_DC_AXIS_M (arch_imp)
| |inst_data_out_bc_buf|Count: 1
FIFO_DC_AXIS_S|Count: 1
ints_fifo_dc_axis_s: FIFO_DC_AXIS_S (arch_imp)
| |AXIS_MASTER_inst||| |AXIS_MASTER_inst||| |AXIS_MASTER_inst||| |AXIS_MASTER_inst||| |AXIS_MASTER_inst||| |AXIS_MASTER_inst||| |AXIS_MASTER_inst||| |AXIS_MASTER_inst||| |AXIS_MASTER_inst||| |AXIS_SLAVE_inst||| |AXIS_SLAVE_inst||| |AXIS_SLAVE_inst||| |AXIS_SLAVE_inst||| |AXIS_SLAVE_inst||| |AXIS_SLAVE_inst||| |AXIS_SLAVE_inst||| |AXIS_SLAVE_inst||| |AXIS_SLAVE_inst||| |fifo_dc_inst||| |fifo_dc_inst||| |fifo_dc_inst||| |fifo_dc_inst||| |fifo_dc_inst||| |fifo_dc_inst||| |fifo_dc_inst||| |fifo_dc_inst||| |fifo_dc_inst||| |fifo_dc_inst||| |fifo_dc_inst||| |fifo_dc_inst||| |fifo_dc_inst||| |fifo_dc_inst||| |fifo_dc_inst||| |fifo_dc_inst||| |fifo_dc_inst||| |fifo_dc_inst||| |inst_data_crc_check||| |inst_data_crc_compute||| |inst_data_desencapsulation||| |inst_data_desencapsulation_bc||| |inst_data_encapsulation||| |inst_data_err_management||| |inst_data_link_reset||| |inst_data_mac||| |inst_data_seq_check||| |inst_data_seq_compute||| |inst_data_word_id_fsm||| |inst_demux_rx||| |inst_fifo_in_ctrl||| |inst_fifo_out_ctrl||| |inst_fifo_rx_data||| |inst_fifo_tx_data||| |inst_lane_ctrl_word_detect||| |inst_lane_ctrl_word_insert||| |inst_lane_init_fsm||| |inst_mib_data_link||| |inst_mib_phy_plus_lane||| |inst_mid_buf||| |inst_mid_buf_bc||| |inst_mux_tx||| |inst_parallel_loopback||| |inst_reset_sync_clk_from_GTY||| |inst_rx_sync_fsm||| |inst_skip_insertion||| Note that instantiations from blackboxes or third-party IPs are not listed in this report. ## VHDL Entities Count: 50 | Name | Location | Description | Details | | --- | --- | --- | :---: | |AXIS_MASTER|AXIS_MASTER.vhd#19||[View VHDL Entity Details](design/module_1.md)| |AXIS_SLAVE|AXIS_SLAVE.vhd#19||[View VHDL Entity Details](design/module_2.md)| |FIFO_DC|fifo_dc.vhd#36||[View VHDL Entity Details](design/module_3.md)| |FIFO_DC_AXIS_M|FIFO_DC_AXIS_M.vhd#36||[View VHDL Entity Details](design/module_4.md)| |FIFO_DC_AXIS_S|FIFO_DC_AXIS_S.vhd#36||[View VHDL Entity Details](design/module_5.md)| |FIFO_DC_DROP_BAD_FRAME|fifo_dc_drop_bad_frame.vhd#36||[View VHDL Entity Details](design/module_6.md)| |data_crc_check|data_crc_check.vhd#32||[View VHDL Entity Details](design/module_7.md)| |data_crc_check_tb|data_crc_check_tb.vhd#22||[View VHDL Entity Details](design/module_8.md)| |data_crc_compute|data_crc_compute.vhd#32||[View VHDL Entity Details](design/module_9.md)| |data_desencapsulation|data_desencapsulation.vhd#32||[View VHDL Entity Details](design/module_10.md)| |data_desencapsulation_bc|data_desencapsulation_bc.vhd#32||[View VHDL Entity Details](design/module_11.md)| |data_encapsulation|data_encapsulation.vhd#32||[View VHDL Entity Details](design/module_12.md)| |data_err_management|data_err_management.vhd#32||[View VHDL Entity Details](design/module_13.md)| |data_in_bc_buf|data_in_bc_buf.vhd#32||[View VHDL Entity Details](design/module_14.md)| |data_in_buf|data_in_buf.vhd#33||[View VHDL Entity Details](design/module_15.md)| |data_link|data_link.vhd#31||[View VHDL Entity Details](design/module_16.md)| |data_link_reset|data_link_reset.vhd#32||[View VHDL Entity Details](design/module_17.md)| |data_mac|data_mac.vhd#32||[View VHDL Entity Details](design/module_18.md)| |data_out_bc_buf|data_out_bc_buf.vhd#32||[View VHDL Entity Details](design/module_19.md)| |data_out_buff|data_out_buf.vhd#33||[View VHDL Entity Details](design/module_20.md)| |data_seq_check|data_seq_check.vhd#32||[View VHDL Entity Details](design/module_21.md)| |data_seq_compute|data_seq_compute.vhd#32||[View VHDL Entity Details](design/module_22.md)| |data_word_id_fsm|data_word_id_fsm.vhd#32||[View VHDL Entity Details](design/module_23.md)| |demux_rx|demux_rx.vhd#32||[View VHDL Entity Details](design/module_24.md)| |lane_ctrl_word_detect|lane_ctrl_word_detect.vhd#33||[View VHDL Entity Details](design/module_25.md)| |lane_ctrl_word_insert|lane_ctrl_word_insert.vhd#33||[View VHDL Entity Details](design/module_26.md)| |lane_init_fsm|lane_init_fsm.vhd#32||[View VHDL Entity Details](design/module_27.md)| |mib_data_link|mib_data_link.vhd#29||[View VHDL Entity Details](design/module_28.md)| |mib_phy_plus_lane|mib_phy_plus_lane.vhd#32||[View VHDL Entity Details](design/module_29.md)| |mux_tx|mux_tx.vhd#32||[View VHDL Entity Details](design/module_30.md)| |parallel_loopback|parallel_loopback.vhd#32||[View VHDL Entity Details](design/module_31.md)| |phy_plus_lane|phy_plus_lane.vhd#41||[View VHDL Entity Details](design/module_32.md)| |reset_gen|reset_gen.vhd#30||[View VHDL Entity Details](design/module_33.md)| |rx_sync_fsm|rx_sync_fsm.vhd#32||[View VHDL Entity Details](design/module_34.md)| |skip_insertion|skip_insertion.vhd#33||[View VHDL Entity Details](design/module_35.md)| |spacefibre_light_top|spacefibre_light_top.vhd#39||[View VHDL Entity Details](design/module_36.md)| |spacefibre_light_top_ip|spacefibre_light_top_ip.vhd#36||[View VHDL Entity Details](design/module_37.md)| |subpart_tb|subpart_tb.vhd#22||[View VHDL Entity Details](design/module_38.md)| |tb_data_desencapsulation|tb_data_desencapsulation.vhd#22||[View VHDL Entity Details](design/module_39.md)| |tb_data_in_buf|data_in_buf_tb.vhd#19||[View VHDL Entity Details](design/module_40.md)| |tb_data_mac|data_mac_tb.vhd#22||[View VHDL Entity Details](design/module_41.md)| |tb_data_out_buff|data_out_buf_tb.vhd#22||[View VHDL Entity Details](design/module_42.md)| |tb_fifo_dc|tb_fifo_dc.vhd#7||[View VHDL Entity Details](design/module_43.md)| |tb_fifo_dc_axis_to_custom|tb_fifo_dc_axis_to_custom.vhd#34||[View VHDL Entity Details](design/module_44.md)| |tb_fifo_dc_custom_to_axis|tb_fifo_dc_custom_to_axis.vhd#16||[View VHDL Entity Details](design/module_45.md)| |tb_fifo_dc_drop_bad_frame|tb_fifo_dc_drop_bad_frame.vhd#7||[View VHDL Entity Details](design/module_46.md)| |tb_lane_ctrl_word_insert|tb_lane_ctrl_word_insert.vhd#7||[View VHDL Entity Details](design/module_47.md)| |tb_lane_init_fsm|tb_lane_init_fsm.vhd#7||[View VHDL Entity Details](design/module_48.md)| |tb_receive_error|tb_receive_error.vhd#21||[View VHDL Entity Details](design/module_49.md)| |tb_rx_sync_fsm|tb_rx_sync_fsm.vhd#7||[View VHDL Entity Details](design/module_50.md)| ## VHDL Packages Count: 3 | Name | Location | Description | Details | | --- | --- | --- | :---: | |PKG_TOOLS|pkg_tools.vhd#47||[View VHDL Package Details](design/package_1.md)| |data_link_lib|pkg_data_link.vhd#32||[View VHDL Package Details](design/package_2.md)| |pkg_phy_plus_lane|pkg_phy_plus_lane.vhd#34||[View VHDL Package Details](design/package_3.md)|