@@ -108,8 +108,22 @@ generic (
108108 AMM_FREQ_KHZ : natural := 0 ;
109109
110110 STATUS_LEDS : natural := 2 ;
111+ -- Width of MISC signal between Top-Level FPGA design and FPGA_COMMON
111112 MISC_IN_WIDTH : natural := 0 ;
113+ -- Width of MISC signal between FPGA_COMMON and Top-Level FPGA design
112114 MISC_OUT_WIDTH : natural := 0 ;
115+ -- Width of MISC signal between Top-Level FPGA design and APP core logic
116+ MISC_TOP2APP_WIDTH : natural := 1 ;
117+ -- Width of MISC signal between APP core logic and Top-Level FPGA design
118+ MISC_APP2TOP_WIDTH : natural := 1 ;
119+ -- Width of MISC signal between Top-Level FPGA design and PCIE core logic
120+ MISC_TOP2PCIE_WIDTH : natural := 1 ;
121+ -- Width of MISC signal between PCIE core logic and Top-Level FPGA design
122+ MISC_PCIE2TOP_WIDTH : natural := 1 ;
123+ -- Width of MISC signal between Top-Level FPGA design and NET_MOD core logic
124+ MISC_TOP2NET_WIDTH : natural := 1 ;
125+ -- Width of MISC signal between NET_MOD core logic and Top-Level FPGA design
126+ MISC_NET2TOP_WIDTH : natural := 1 ;
113127
114128 DEVICE : string := " AGILEX" ;
115129 BOARD : string := " 400G1"
@@ -244,8 +258,24 @@ port (
244258 BOOT_MI_ARDY : in std_logic := '0' ;
245259 BOOT_MI_DRDY : in std_logic := '0' ;
246260
247- -- Misc interface, board specific
261+ -- =========================================================================
262+ -- MISC SIGNALS (the clock signal is not defined)
263+ -- =========================================================================
264+ -- Optional signal for MISC connection from Top-Level FPGA design to APP core.
265+ MISC_TOP2APP : in std_logic_vector (MISC_TOP2APP_WIDTH- 1 downto 0 ) := (others => '0' );
266+ -- Optional signal for MISC connection from APP core to Top-Level FPGA design.
267+ MISC_APP2TOP : out std_logic_vector (MISC_APP2TOP_WIDTH- 1 downto 0 );
268+ -- Optional signal for MISC connection from Top-Level FPGA design to PCIE core.
269+ MISC_TOP2PCIE : in slv_array_t(PCIE_ENDPOINTS- 1 downto 0 )(MISC_TOP2PCIE_WIDTH- 1 downto 0 ) := (others => (others => '0' ));
270+ -- Optional signal for MISC connection from PCIE core to Top-Level FPGA design.
271+ MISC_PCIE2TOP : out slv_array_t(PCIE_ENDPOINTS- 1 downto 0 )(MISC_PCIE2TOP_WIDTH- 1 downto 0 );
272+ -- Optional signal for MISC connection from Top-Level FPGA design to NET_MOD core.
273+ MISC_TOP2NET : in slv_array_t(ETH_PORTS- 1 downto 0 )(MISC_TOP2NET_WIDTH- 1 downto 0 ) := (others => (others => '0' ));
274+ -- Optional signal for MISC connection from NET_MOD core to Top-Level FPGA design.
275+ MISC_NET2TOP : out slv_array_t(ETH_PORTS- 1 downto 0 )(MISC_NET2TOP_WIDTH- 1 downto 0 );
276+ -- Optional signal for MISC connection from Top-Level FPGA design to FPGA_COMMON.
248277 MISC_IN : in std_logic_vector (MISC_IN_WIDTH- 1 downto 0 ) := (others => '0' );
278+ -- Optional signal for MISC connection from FPGA_COMMON to Top-Level FPGA design.
249279 MISC_OUT : out std_logic_vector (MISC_OUT_WIDTH- 1 downto 0 )
250280);
251281end entity ;
@@ -796,6 +826,8 @@ begin
796826 DMA_BAR_ENABLE => (DMA_TYPE = 4 ),
797827 XVC_ENABLE => VIRTUAL_DEBUG_ENABLE,
798828 CARD_ID_WIDTH => FPGA_ID_WIDTH,
829+ MISC_TOP2PCIE_WIDTH => MISC_TOP2PCIE_WIDTH,
830+ MISC_PCIE2TOP_WIDTH => MISC_PCIE2TOP_WIDTH,
799831 DEVICE => DEVICE
800832 )
801833 port map (
@@ -881,7 +913,10 @@ begin
881913 MI_DBG_WR => mi_adc_wr (MI_ADC_PORT_PCI_DBG),
882914 MI_DBG_DRD => mi_adc_drd (MI_ADC_PORT_PCI_DBG),
883915 MI_DBG_ARDY => mi_adc_ardy(MI_ADC_PORT_PCI_DBG),
884- MI_DBG_DRDY => mi_adc_drdy(MI_ADC_PORT_PCI_DBG)
916+ MI_DBG_DRDY => mi_adc_drdy(MI_ADC_PORT_PCI_DBG),
917+
918+ MISC_TOP2PCIE => MISC_TOP2PCIE,
919+ MISC_PCIE2TOP => MISC_PCIE2TOP
885920 );
886921
887922 cdc_pcie_up_g: for i in 0 to PCIE_ENDPOINTS- 1 generate
@@ -1293,6 +1328,8 @@ begin
12931328 MI_ADDR_WIDTH => MI_ADDR_WIDTH,
12941329 FPGA_ID_WIDTH => FPGA_ID_WIDTH,
12951330 RESET_WIDTH => RESET_WIDTH,
1331+ MISC_TOP2APP_WIDTH => MISC_TOP2APP_WIDTH,
1332+ MISC_APP2TOP_WIDTH => MISC_APP2TOP_WIDTH,
12961333 BOARD => BOARD,
12971334 DEVICE => DEVICE
12981335 )
@@ -1466,7 +1503,10 @@ begin
14661503 MI_WR => mi_adc_wr(MI_ADC_PORT_USERAPP),
14671504 MI_DRD => mi_adc_drd(MI_ADC_PORT_USERAPP),
14681505 MI_ARDY => mi_adc_ardy(MI_ADC_PORT_USERAPP),
1469- MI_DRDY => mi_adc_drdy(MI_ADC_PORT_USERAPP)
1506+ MI_DRDY => mi_adc_drdy(MI_ADC_PORT_USERAPP),
1507+
1508+ MISC_TOP2APP => MISC_TOP2APP,
1509+ MISC_APP2TOP => MISC_APP2TOP
14701510 );
14711511
14721512 -- =========================================================================
@@ -1505,6 +1545,8 @@ begin
15051545 LANE_RX_POLARITY => ETH_LANE_RXPOLARITY,
15061546 LANE_TX_POLARITY => ETH_LANE_TXPOLARITY,
15071547 RESET_WIDTH => 1 ,
1548+ MISC_TOP2NET_WIDTH => MISC_TOP2NET_WIDTH,
1549+ MISC_NET2TOP_WIDTH => MISC_NET2TOP_WIDTH,
15081550 DEVICE => DEVICE ,
15091551 BOARD => BOARD ,
15101552
@@ -1606,7 +1648,10 @@ begin
16061648 TSU_CLK => tsu_clk,
16071649 TSU_RST => tsu_rst,
16081650 TSU_TS_NS => tsu_ns,
1609- TSU_TS_DV => tsu_dv
1651+ TSU_TS_DV => tsu_dv,
1652+
1653+ MISC_TOP2NET => MISC_TOP2NET,
1654+ MISC_NET2TOP => MISC_NET2TOP
16101655 );
16111656
16121657 eth_led_ctrl_i: entity work.ETH_LED_CTRL_TOP
0 commit comments