@@ -108,8 +108,22 @@ generic (
108
108
AMM_FREQ_KHZ : natural := 0 ;
109
109
110
110
STATUS_LEDS : natural := 2 ;
111
+ -- Width of MISC signal between Top-Level FPGA design and FPGA_COMMON
111
112
MISC_IN_WIDTH : natural := 0 ;
113
+ -- Width of MISC signal between FPGA_COMMON and Top-Level FPGA design
112
114
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 ;
113
127
114
128
DEVICE : string := " AGILEX" ;
115
129
BOARD : string := " 400G1"
@@ -244,8 +258,24 @@ port (
244
258
BOOT_MI_ARDY : in std_logic := '0' ;
245
259
BOOT_MI_DRDY : in std_logic := '0' ;
246
260
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.
248
277
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.
249
279
MISC_OUT : out std_logic_vector (MISC_OUT_WIDTH- 1 downto 0 )
250
280
);
251
281
end entity ;
@@ -796,6 +826,8 @@ begin
796
826
DMA_BAR_ENABLE => (DMA_TYPE = 4 ),
797
827
XVC_ENABLE => VIRTUAL_DEBUG_ENABLE,
798
828
CARD_ID_WIDTH => FPGA_ID_WIDTH,
829
+ MISC_TOP2PCIE_WIDTH => MISC_TOP2PCIE_WIDTH,
830
+ MISC_PCIE2TOP_WIDTH => MISC_PCIE2TOP_WIDTH,
799
831
DEVICE => DEVICE
800
832
)
801
833
port map (
@@ -881,7 +913,10 @@ begin
881
913
MI_DBG_WR => mi_adc_wr (MI_ADC_PORT_PCI_DBG),
882
914
MI_DBG_DRD => mi_adc_drd (MI_ADC_PORT_PCI_DBG),
883
915
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
885
920
);
886
921
887
922
cdc_pcie_up_g: for i in 0 to PCIE_ENDPOINTS- 1 generate
@@ -1293,6 +1328,8 @@ begin
1293
1328
MI_ADDR_WIDTH => MI_ADDR_WIDTH,
1294
1329
FPGA_ID_WIDTH => FPGA_ID_WIDTH,
1295
1330
RESET_WIDTH => RESET_WIDTH,
1331
+ MISC_TOP2APP_WIDTH => MISC_TOP2APP_WIDTH,
1332
+ MISC_APP2TOP_WIDTH => MISC_APP2TOP_WIDTH,
1296
1333
BOARD => BOARD,
1297
1334
DEVICE => DEVICE
1298
1335
)
@@ -1466,7 +1503,10 @@ begin
1466
1503
MI_WR => mi_adc_wr(MI_ADC_PORT_USERAPP),
1467
1504
MI_DRD => mi_adc_drd(MI_ADC_PORT_USERAPP),
1468
1505
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
1470
1510
);
1471
1511
1472
1512
-- =========================================================================
@@ -1505,6 +1545,8 @@ begin
1505
1545
LANE_RX_POLARITY => ETH_LANE_RXPOLARITY,
1506
1546
LANE_TX_POLARITY => ETH_LANE_TXPOLARITY,
1507
1547
RESET_WIDTH => 1 ,
1548
+ MISC_TOP2NET_WIDTH => MISC_TOP2NET_WIDTH,
1549
+ MISC_NET2TOP_WIDTH => MISC_NET2TOP_WIDTH,
1508
1550
DEVICE => DEVICE ,
1509
1551
BOARD => BOARD ,
1510
1552
@@ -1606,7 +1648,10 @@ begin
1606
1648
TSU_CLK => tsu_clk,
1607
1649
TSU_RST => tsu_rst,
1608
1650
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
1610
1655
);
1611
1656
1612
1657
eth_led_ctrl_i: entity work.ETH_LED_CTRL_TOP
0 commit comments