由于 F-tile 架构以及 PMA 和 FEC 直接 PHY IP 中存在错误,在 PMA 宽度为 16b 且启用 TX 和 RX 双倍宽度的情况下进行配置时,在 Quartus® Prime 软件版本 22.1 中看不到错误选择的配置的任何错误消息。
IP 向导不会抱怨,并允许您生成 IP 文件。
在编译的 SLG 阶段,将看到以下错误。
错误 (21843): 冲突 0
----------------------------------------------------------------
错误 (21843):规则:gdr_wrapper::topology_mapping_mux_rule@
错误 (21843): as.sw_topology != UX16E400GPTP_XX_DISABLED_XX_DISABLED ||
gdr.z1577a.拓扑 == UX16E400GPTP_XX_DISABLED_XX_DISABLED
错误 (21843): 规则:
gdr_virtual_channel::topo_and_stream_down_to_maib_adapter_tx_and_rx_fifo_mode_and_width_rules
@ gdr 错误 (21843): gdr.z1577a.topology !=
UX16E400GPTP_XX_DISABLED_XX_DISABLED ||
gdr.z1577a.u_e400g_top.e400g_stream15_tx_en == FALSE ||
gdr.z1577a.u_e400g_top.e400g_stream15_sys_clk_src !=
E400G_STREAM15_SYS_CLK_SRC_XCVR ||
gdr.z1577a.u_e400g_top.e400g_stream15_tx_aib_if_fifo_mode !=
E400G_STREAM15_TX_AIB_IF_FIFO_MODE_REGISTER ||
gdr.z1577a.u_e400g_top.e400g_stream15_tx_excvr_if_fifo_mode !=
E400G_STREAM15_TX_EXCVR_IF_FIFO_MODE_PHASECOMP ||
gdr.z1577a.u_e400g_top.e400g_stream15_tx_primary_use !=
E400G_STREAM15_TX_PRIMARY_USE_DIRECT_BUNDLE ||
gdr.z1577a.u_e400g_top.e400g_stream15_tx_xcvr_width
{E400G_STREAM15_TX_XCVR_WIDTH_10,E400G_STREAM15_TX_XCVR_WIDTH_20,E400G_STREAM15_TX_XCVR_WIDTH_32}
错误 (21843):规则:gdra_gdr_e400g_top::e400g_stream15_sys_clk_src_rule
@ gdr.z1577a.u_e400g_top错误(21843):
(gdr.z1577a.u_e400g_top.e400g_25g_15_sys_clk_src ->
MAC_LOOPBACK。PCSMAC.fgt_10g_single|directphy_f_0|dphy_hip_inst|persystem[0].perehip_rx[0].rx_ehip.x_bb_f_ehip_rx.sys_clk_src)
!= E400G_25G_15_SYS_CLK_SRC_XCVR ||
(gdr.z1577a.u_e400g_top.e400g_25g_15_tx_en ->
MAC_LOOPBACK。PCSMAC.fgt_10g_single|directphy_f_0|dphy_hip_inst|persystem[0].perehip_tx[0].tx_ehip.x_bb_f_ehip_tx.tx_en)
== 假 ||gdr.z1577a.u_e400g_top.e400g_stream15_sys_clk_src==
E400G_STREAM15_SYS_CLK_SRC_XCVR错误 (21843): 规则:
gdra_gdr_e400g_top::e400g_stream15_tx_aib_if_fifo_mode_rule@
gdr.z1577a.u_e400g_top错误 (21843):
(gdr.z1577a.u_e400g_top.e400g_25g_15_tx_en ->
MAC_LOOPBACK。PCSMAC.fgt_10g_single|directphy_f_0|dphy_hip_inst|persystem[0].perehip_tx[0].tx_ehip.x_bb_f_ehip_tx.tx_en)
== 假 ||(gdr.z1577a.u_e400g_top.e400g_25g_15_tx_aib_if_fifo_mode ->
MAC_LOOPBACK。PCSMAC.fgt_10g_single|directphy_f_0|dphy_hip_inst|persystem[0].perehip_tx[0].tx_ehip.x_bb_f_ehip_tx.tx_aib_if_fifo_mode)
!= E400G_25G_15_TX_AIB_IF_FIFO_MODE_REGISTER ||
gdr.z1577a.u_e400g_top.e400g_stream15_tx_aib_if_fifo_mode ==
E400G_STREAM15_TX_AIB_IF_FIFO_MODE_REGISTER错误 (21843): 规则:
gdra_gdr_e400g_top::e400g_stream15_tx_enable_rule@
gdr.z1577a.u_e400g_top错误 (21843):
(gdr.z1577a.u_e400g_top.e400g_25g_15_tx_primary_use ->
MAC_LOOPBACK。PCSMAC.fgt_10g_single|directphy_f_0|dphy_hip_inst|persystem[0].perehip_tx[0].tx_ehip.x_bb_f_ehip_tx.tx_primary_use)
== E400G_25G_15_TX_PRIMARY_USE_DISABLED ||
gdr.z1577a.u_e400g_top.e400g_stream15_tx_en == TRUE Error(21843): 规则:
gdra_gdr_e400g_top::e400g_stream15_tx_excvr_if_fifo_mode_rule@
gdr.z1577a.u_e400g_top错误 (21843):
(gdr.z1577a.u_e400g_top.e400g_25g_15_tx_en ->
MAC_LOOPBACK。PCSMAC.fgt_10g_single|directphy_f_0|dphy_hip_inst|persystem[0].perehip_tx[0].tx_ehip.x_bb_f_ehip_tx.tx_en)
== 假 ||(gdr.z1577a.u_e400g_top.e400g_25g_15_tx_excvr_if_fifo_mode
->
MAC_LOOPBACK。PCSMAC.fgt_10g_single|directphy_f_0|dphy_hip_inst|persystem[0].perehip_tx[0].tx_ehip.x_bb_f_ehip_tx.tx_excvr_if_fifo_mode)
!= E400G_25G_15_TX_EXCVR_IF_FIFO_MODE_PHASECOMP ||
gdr.z1577a.u_e400g_top.e400g_stream15_tx_excvr_if_fifo_mode ==
E400G_STREAM15_TX_EXCVR_IF_FIFO_MODE_PHASECOMP错误 (21843): 规则:
gdra_gdr_e400g_top::e400g_stream15_tx_primary_use_rule@
gdr.z1577a.u_e400g_top错误 (21843):
(gdr.z1577a.u_e400g_top.e400g_25g_15_tx_en ->
MAC_LOOPBACK。PCSMAC.fgt_10g_single|directphy_f_0|dphy_hip_inst|persystem[0].perehip_tx[0].tx_ehip.x_bb_f_ehip_tx.tx_en)
== 假 ||(gdr.z1577a.u_e400g_top.e400g_25g_15_tx_primary_use ->
MAC_LOOPBACK。PCSMAC.fgt_10g_single|directphy_f_0|dphy_hip_inst|persystem[0].perehip_tx[0].tx_ehip.x_bb_f_ehip_tx.tx_primary_use)
!= E400G_25G_15_TX_PRIMARY_USE_DIRECT_BUNDLE ||
gdr.z1577a.u_e400g_top.e400g_stream15_tx_primary_use ==
E400G_STREAM15_TX_PRIMARY_USE_DIRECT_BUNDLE错误 (21843): 规则:
gdra_gdr_e400g_top::e400g_stream15_tx_xcvr_width_rule@
gdr.z1577a.u_e400g_top错误 (21843):
(gdr.z1577a.u_e400g_top.e400g_25g_15_tx_en ->
MAC_LOOPBACK。PCSMAC.fgt_10g_single|directphy_f_0|dphy_hip_inst|persystem[0].perehip_tx[0].tx_ehip.x_bb_f_ehip_tx.tx_en)
== 假 ||(gdr.z1577a.u_e400g_top.e400g_25g_15_tx_xcvr_width ->
MAC_LOOPBACK。PCSMAC.fgt_10g_single|directphy_f_0|dphy_hip_inst|persystem[0].perehip_tx[0].tx_ehip.x_bb_f_ehip_tx.tx_xcvr_width)
!= E400G_25G_15_TX_XCVR_WIDTH_16 ||
gdr.z1577a.u_e400g_top.e400g_stream15_tx_xcvr_width ==
E400G_STREAM15_TX_XCVR_WIDTH_16错误 (21843): 输入变量:
错误(21843): as.sw_topology == UX16E400GPTP_XX_DISABLED_XX_DISABLED
错误 (21843): user.bb_f_ehip_tx[0] ->
MAC_LOOPBACK。PCSMAC.fgt_10g_single|directphy_f_0|dphy_hip_inst|persystem[0].perehip_tx[0].tx_ehip.x_bb_f_ehip_tx
错误 (21843): is_used == TRUE 错误 (21843): 位置 == E400G_25G_15
错误 (21843): sys_clk_src== SYS_CLK_SRC_XCVR 错误 (21843):
tx_aib_if_fifo_mode == TX_AIB_IF_FIFO_MODE_REGISTER错误(21843):tx_en
== 真误差(21843): tx_excvr_if_fifo_mode ==
TX_EXCVR_IF_FIFO_MODE_PHASECOMP错误(21843): tx_primary_use ==
TX_PRIMARY_USE_DIRECT_BUNDLE错误(21843): tx_xcvr_width ==
TX_XCVR_WIDTH_16
问题是 gdr.z1577a.u_e400g_top.e400g_stream15_tx_xcvr_width
里面
{E400G_STREAM15_TX_XCVR_WIDTH_10,E400G_STREAM15_TX_XCVR_WIDTH_20,E400G_STREAM15_TX_XCVR_WIDTH_32}
tx_xcvr_width == TX_XCVR_WIDTH_16似乎不允许。
要变通解决此问题,请确保仅生成支持的模式,如 F-Tile 架构和 PMA 和 FEC 直接 PHY IP 用户指南 的 PMA 支持模式 部分所述。