[vivado]在使用1G/2.5G Ethernet PCS/PMA or SGMII(16.2) IP核心配置1G SGMII模式gig_ethernet_pcs_pma_IP时需注意的内容

Xilinx的IP核gig_ethernet_pcs_pma例化案例 Xilinx的IP核gig_ethernet_pcs_pma例化案例1G/2.5G Ethernet PCS/PMA or SGMII v16.1IP核例化计数开头的55,判断1000M或者100M以太网数据异步缓存FIFO总结 1G/2.5G Ethernet PCS/PMA or SGMII v16.1 废话不BB,直接用。手册看完,一礼拜没理解透。理解出现偏差。最后实验出真知。 IP核例化 gig_ethernet_pcs_pma_0 gig_ethernet_pcs_pma_0 ( .gtref 阅读详情

在使用此ETH IP时需注意接收端为gmii时需要进行时序约束 约束举例如下

###############################################################################
# Timing Constraints
###############################################################################
create_clock -period 10.000 -name sys_clk [get_ports sys_clk_p]
create_clock -period 8.000 -name sgmii_ref0_clk_p -waveform {0.000 4.000} [get_ports sgmii_ref0_clk_p]
set_input_delay -clock [get_clocks -of_objects [get_pins axi_pcie_0_i/pcie_slave_i/axi_pcie_0/inst/comp_axi_enhanced_pcie/comp_enhanced_core_top_wrap/axi_pcie_enhanced_core_top_i/pcie_7x_v2_0_2_inst/pcie_top_with_gt_top.gt_ges.gt_top_i/pipe_wrapper_i/pipe_clock_int.pipe_clock_i/mmcm_i/CLKOUT3]] -max 2.000 [get_pins {eth_gmac_top_u/eth_redu_phy_u/gig_ethernet_pcs_pma_0_support_u/phy_gmii_rxd[*]}]
set_input_delay -clock [get_clocks -of_objects [get_pins axi_pcie_0_i/pcie_slave_i/axi_pcie_0/inst/comp_axi_enhanced_pcie/comp_enhanced_core_top_wrap/axi_pcie_enhanced_core_top_i/pcie_7x_v2_0_2_inst/pcie_top_with_gt_top.gt_ges.gt_top_i/pipe_wrapper_i/pipe_clock_int.pipe_clock_i/mmcm_i/CLKOUT3]] -min -1.000 [get_pins {eth_gmac_top_u/eth_redu_phy_u/gig_ethernet_pcs_pma_0_support_u/phy_gmii_rxd[*]}]
set_input_delay -clock [get_clocks -of_objects [get_pins axi_pcie_0_i/pcie_slave_i/axi_pcie_0/inst/comp_axi_enhanced_pcie/comp_enhanced_core_top_wrap/axi_pcie_enhanced_core_top_i/pcie_7x_v2_0_2_inst/pcie_top_with_gt_top.gt_ges.gt_top_i/pipe_wrapper_i/pipe_clock_int.pipe_clock_i/mmcm_i/CLKOUT3]] -max 2.000 [get_pins {eth_gmac_top_u/eth_redu_phy_u/gig_ethernet_pcs_pma_0_support_u/phy_gmii_rx_er[*]}]
set_input_delay -clock [get_clocks -of_objects [get_pins axi_pcie_0_i/pcie_slave_i/axi_pcie_0/inst/comp_axi_enhanced_pcie/comp_enhanced_core_top_wrap/axi_pcie_enhanced_core_top_i/pcie_7x_v2_0_2_inst/pcie_top_with_gt_top.gt_ges.gt_top_i/pipe_wrapper_i/pipe_clock_int.pipe_clock_i/mmcm_i/CLKOUT3]] -min -1.000 [get_pins {eth_gmac_top_u/eth_redu_phy_u/gig_ethernet_pcs_pma_0_support_u/phy_gmii_rx_er[*]}]
set_input_delay -clock [get_clocks -of_objects [get_pins axi_pcie_0_i/pcie_slave_i/axi_pcie_0/inst/comp_axi_enhanced_pcie/comp_enhanced_core_top_wrap/axi_pcie_enhanced_core_top_i/pcie_7x_v2_0_2_inst/pcie_top_with_gt_top.gt_ges.gt_top_i/pipe_wrapper_i/pipe_clock_int.pipe_clock_i/mmcm_i/CLKOUT3]] -max 2.000 [get_pins {eth_gmac_top_u/eth_redu_phy_u/gig_ethernet_pcs_pma_0_support_u/phy_gmii_rx_dv[*]}]
set_input_delay -clock [get_clocks -of_objects [get_pins axi_pcie_0_i/pcie_slave_i/axi_pcie_0/inst/comp_axi_enhanced_pcie/comp_enhanced_core_top_wrap/axi_pcie_enhanced_core_top_i/pcie_7x_v2_0_2_inst/pcie_top_with_gt_top.gt_ges.gt_top_i/pipe_wrapper_i/pipe_clock_int.pipe_clock_i/mmcm_i/CLKOUT3]] -min -1.000 [get_pins {eth_gmac_top_u/eth_redu_phy_u/gig_ethernet_pcs_pma_0_support_u/phy_gmii_rx_dv[*]}]

set_output_delay -clock [get_clocks -of_objects [get_pins axi_pcie_0_i/pcie_slave_i/axi_pcie_0/inst/comp_axi_enhanced_pcie/comp_enhanced_core_top_wrap/axi_pcie_enhanced_core_top_i/pcie_7x_v2_0_2_inst/pcie_top_with_gt_top.gt_ges.gt_top_i/pipe_wrapper_i/pipe_clock_int.pipe_clock_i/mmcm_i/CLKOUT3]] -max 2.000 [get_pins {eth_gmac_top_u/eth_redu_phy_u/gig_ethernet_pcs_pma_0_support_u/phy_gmii_txd[*]}]
set_output_delay -clock [get_clocks -of_objects [get_pins axi_pcie_0_i/pcie_slave_i/axi_pcie_0/inst/comp_axi_enhanced_pcie/comp_enhanced_core_top_wrap/axi_pcie_enhanced_core_top_i/pcie_7x_v2_0_2_inst/pcie_top_with_gt_top.gt_ges.gt_top_i/pipe_wrapper_i/pipe_clock_int.pipe_clock_i/mmcm_i/CLKOUT3]] -min -1.000 [get_pins {eth_gmac_top_u/eth_redu_phy_u/gig_ethernet_pcs_pma_0_support_u/phy_gmii_txd[*]}]
set_output_delay -clock [get_clocks -of_objects [get_pins axi_pcie_0_i/pcie_slave_i/axi_pcie_0/inst/comp_axi_enhanced_pcie/comp_enhanced_core_top_wrap/axi_pcie_enhanced_core_top_i/pcie_7x_v2_0_2_inst/pcie_top_with_gt_top.gt_ges.gt_top_i/pipe_wrapper_i/pipe_clock_int.pipe_clock_i/mmcm_i/CLKOUT3]] -max 2.000 [get_pins {eth_gmac_top_u/eth_redu_phy_u/gig_ethernet_pcs_pma_0_support_u/phy_gmii_tx_en[*]}]
set_output_delay -clock [get_clocks -of_objects [get_pins axi_pcie_0_i/pcie_slave_i/axi_pcie_0/inst/comp_axi_enhanced_pcie/comp_enhanced_core_top_wrap/axi_pcie_enhanced_core_top_i/pcie_7x_v2_0_2_inst/pcie_top_with_gt_top.gt_ges.gt_top_i/pipe_wrapper_i/pipe_clock_int.pipe_clock_i/mmcm_i/CLKOUT3]] -min -1.000 [get_pins {eth_gmac_top_u/eth_redu_phy_u/gig_ethernet_pcs_pma_0_support_u/phy_gmii_tx_en[*]}]
set_output_delay -clock [get_clocks -of_objects [get_pins axi_pcie_0_i/pcie_slave_i/axi_pcie_0/inst/comp_axi_enhanced_pcie/comp_enhanced_core_top_wrap/axi_pcie_enhanced_core_top_i/pcie_7x_v2_0_2_inst/pcie_top_with_gt_top.gt_ges.gt_top_i/pipe_wrapper_i/pipe_clock_int.pipe_clock_i/mmcm_i/CLKOUT3]] -max 2.000 [get_pins {eth_gmac_top_u/eth_redu_phy_u/gig_ethernet_pcs_pma_0_support_u/phy_gmii_tx_er[*]}]
set_output_delay -clock [get_clocks -of_objects [get_pins axi_pcie_0_i/pcie_slave_i/axi_pcie_0/inst/comp_axi_enhanced_pcie/comp_enhanced_core_top_wrap/axi_pcie_enhanced_core_top_i/pcie_7x_v2_0_2_inst/pcie_top_with_gt_top.gt_ges.gt_top_i/pipe_wrapper_i/pipe_clock_int.pipe_clock_i/mmcm_i/CLKOUT3]] -min -1.000 [get_pins {eth_gmac_top_u/eth_redu_phy_u/gig_ethernet_pcs_pma_0_support_u/phy_gmii_tx_er[*]}]

同时此描述文档为pg047

同时以太网秒脉冲为以太网自生产,当需要pps外部秒脉冲守时时需关闭以太网秒脉冲功能.

举例压缩bit和其他约束

set_property LOC IBUFDS_GTE2_X0Y6 [get_cells refclk_ibuf]

#set_clock_groups -asynchronous -group [get_clocks sys_clk_p] -group [get_clocks userclk2]

create_clock -period 10.000 -name sys_clk [get_ports sys_clk_p]

set_property LOC GTXE2_CHANNEL_X0Y12 [get_cells {axi_pcie_0_i/pcie_slave_i/axi_pcie_0/inst/comp_axi_enhanced_pcie/comp_enhanced_core_top_wrap/axi_pcie_enhanced_core_top_i/pcie_7x_v2_0_2_inst/pcie_top_with_gt_top.gt_ges.gt_top_i/pipe_wrapper_i/pipe_lane[0].gt_wrapper_i/gtx_channel.gtxe2_channel_i}]
set_property PACKAGE_PIN D2 [get_ports {pci_exp_txp[0]}]
set_property LOC GTXE2_CHANNEL_X0Y13 [get_cells {axi_pcie_0_i/pcie_slave_i/axi_pcie_0/inst/comp_axi_enhanced_pcie/comp_enhanced_core_top_wrap/axi_pcie_enhanced_core_top_i/pcie_7x_v2_0_2_inst/pcie_top_with_gt_top.gt_ges.gt_top_i/pipe_wrapper_i/pipe_lane[1].gt_wrapper_i/gtx_channel.gtxe2_channel_i}]
set_property PACKAGE_PIN C4 [get_ports {pci_exp_txp[1]}]
set_property LOC GTXE2_CHANNEL_X0Y14 [get_cells {axi_pcie_0_i/pcie_slave_i/axi_pcie_0/inst/comp_axi_enhanced_pcie/comp_enhanced_core_top_wrap/axi_pcie_enhanced_core_top_i/pcie_7x_v2_0_2_inst/pcie_top_with_gt_top.gt_ges.gt_top_i/pipe_wrapper_i/pipe_lane[2].gt_wrapper_i/gtx_channel.gtxe2_channel_i}]
set_property PACKAGE_PIN B2 [get_ports {pci_exp_txp[2]}]
set_property LOC GTXE2_CHANNEL_X0Y15 [get_cells {axi_pcie_0_i/pcie_slave_i/axi_pcie_0/inst/comp_axi_enhanced_pcie/comp_enhanced_core_top_wrap/axi_pcie_enhanced_core_top_i/pcie_7x_v2_0_2_inst/pcie_top_with_gt_top.gt_ges.gt_top_i/pipe_wrapper_i/pipe_lane[3].gt_wrapper_i/gtx_channel.gtxe2_channel_i}]
set_property PACKAGE_PIN A4 [get_ports {pci_exp_txp[3]}]
 

set_property BITSTREAM.GENERAL.COMPRESS TRUE [current_design]
set_property BITSTREAM.CONFIG.CONFIGRATE 66 [current_design]
set_property BITSTREAM.CONFIG.SPI_BUSWIDTH 4 [current_design]
set_property CONFIG_VOLTAGE 3.3 [current_design]
set_property CFGBVS VCCO [current_design]

set_property C_CLK_INPUT_FREQ_HZ 300000000 [get_debug_cores dbg_hub]
set_property C_ENABLE_CLK_DIVIDER false [get_debug_cores dbg_hub]
set_property C_USER_SCAN_CHAIN 1 [get_debug_cores dbg_hub]
connect_debug_port dbg_hub/clk [get_nets sys_clk]

1G/2.5G Ethernet PCS/PMA or SGMII SGMII即Serial GMII,串行GMII,收发各一对差分信号线,时钟频率625MHz,在时钟信号的上升沿和下降沿均采样,所以总的数据速率为1.25Gbps=625Mbps*2。参考时钟RX_CLK由PHY提供,是可选的,主要用于MAC侧没有时钟的情况,一般情况下,RX_CLK不使用。收发都可以从数据中恢复出时钟。在TXD发送的串行数据中,每8比特数据会插入TX_EN/TX_ER 两比特控制信息,同样,在RXD接收数据中,每8比特数据会插入RX_DV/RX_ER 两比特控制信息。 阅读详情

相关推荐

FPGA平台以太网学习:涉及1G/2.5G Ethernet 和Tri Mode Ethernet MAC两个IP核的学习记录(二)——IP学习使用

FPGA平台以太网学习:涉及1G/2.5G Ethernet 和Tri Mode Ethernet MAC两个IP核的学习记录(二)——IP学习使用

weixin_46152123的博客 2万+

基于xilinx k7 325t实现的千兆网udp协议,只需要设置好IP,端口,就可以直接给数据,基本等同于透传,可以不用管底层

基于xilinx k7 325t实现的千兆网udp协议,只需要设置好IP,端口,就可以直接给数据,基本等同于透传,可以不用管底层协议。 可以 # FPGA 实现udp模块说明 ## udp_protocol_top gig_ethernet_pcs_pma有脚本生成,任何版本vivado都可以支持,注释里面有对重要信号的说明,默认是1000M,100M需要改内部信号,PHY芯片是88E1512,SGMII接口。 FPGA和上位机IP,端口都要设置好才能收到数据,注意在同一个网段 ## 接收数据 udp_protocol_top.rx_udp_payload_axis_tvalid拉高的时候就代表udp_protocol_top.rx_udp_payload_axis_tdata有效,udp_protocol_top.rx_udp_payload_axis_tready默认给1可以一直收数据 ## 发送数据 tx_udp_payload_axis_tready=1的时候拉高tx_udp_payload_axis_tvalid,数据才有效,发送完成以后一定要发送一个tx_udp_paylo

UDP_千兆光通信(三)1G/2.5G Ethernet PCS/PMA or SGMII IP核

本文研究了1G/2.5G以太网PCS/PMA和SGMII IP核的应用。主要内容包括:1)IP核配置选项,如MAC选择(PL端或PS端)、速率(1G或2.5G)、标准(1000Base-X或SGMII)及功能设置;2)详细解析了IP核接口,包括时钟复位、GMII数据接口等关键信号;3)重点说明independent_clock_bufg(200MHz独立时钟)、signal_detect(物理信号检测)和Configuration_Vector(工作模式配置)等特殊接口的使用方法。该IP核可实现光纤(100

lzr232的博客 3169

pg047-gig-eth-pcs-pma.pdf

1G/2.5G Ethernet PCS/PMA or SGMII v16.1 LogiCORE IP Product Guide PG047 November 14, 2018

手把手教你用Vivado 2019.1和V7 FPGA搭建千兆以太网(SGMII转GMII实战)

不同于常规的理论讲解,我们将聚焦三个核心痛点:如何正确配置异构接口的时钟域、如何避免PHY管理接口的典型设计陷阱,以及如何利用Example Project加速原型开发。某次实际调试中发现,当MAC核的"Enable Preamble Passing"选项未开启时,会导致前导码被错误修改而无法通过交换机验证。注意:Vivado 2019.1中的1G/2.5G Ethernet PCS/PMA IP核已集成时钟补偿功能,可自动处理GMII接口的125MHz时钟与SGMII的625MHz参考时钟之间的域转换。

weixin_34216614的博客 263

Vivado 2019.1实战:手把手教你用V7 FPGA的GTX实现千兆SGMII以太网(附完整工程)

本文详细解析了在Vivado 2019.1环境下,利用Virtex-7 FPGA的GTX高速收发器实现千兆SGMII以太网的全流程。从IP核选型、配置到工程整合与调试,提供了完整的实践指南,特别适合工业自动化和高速数据采集应用场景。

weixin_29699433的博客 304

xilinx gig_Ethernet_pcs_pma接口mac和phy模式

mac模式和phy模式的区别在于自协商信息。 mac模式发送固定自协商码0x4001; phy模式发送用户通过mdio接口或者an_adv_config_vector配置的自协商码,对端如果使用phy模式,这个配置信息和对端的配置一致才能link。 自协商的状态机可以参考803.3 37.3.1.5,状态机中tx_config_reg是本地端口发送的,这个就是0x4001或者用户配置的(phy模式下)。 mac模式自协商下交互过程,bc 42 00 00 bc b5 00 00,经过一段时间后发送 bc

dai891011的专栏 4931

手把手教你用FPGA实现SGMII接口:从IP核配置到板级调试全流程

本文详细介绍了如何在Xilinx 7系列FPGA上实现SGMII(Serial Gigabit Media Independent Interface)接口的全流程,包括IP核配置、约束编写和硬件调试。通过具体的硬件选型建议、软件工具链配置和PCB设计规范,帮助开发者快速构建稳定可靠的千兆通信链路,并提供了常见故障排查和性能优化技巧。

weixin_29194693的博客 296

FPGA IMPLEMENT 1Gb/10Gb ETH(三)

一般来说,以太网两种情况 使用外部PHY芯片实现PCS/PMA/PMD,FPGA实现MAC通过GMII/SGMII访问外部PHY芯片; 使用FPGA内部的tranceiver实现PMA,FPGA实现MAC通过GMII访问PCS,PCS通过tranceiver实现的PMA来访问外部PMD; Gig_eth_pcs_pma_0这个IP有两种模式: 1000base-x: IP内集成了以太...

weixin_43146112的博客 1194

FPGA网口设计选型:为什么V7项目里常用GMII转SGMII方案?对比MII、RGMII咋选?

本文深入解析了FPGA以太网接口设计中GMII转SGMII方案的技术优势与选型策略。通过对比MII、RGMII等接口标准,详细阐述了在V7项目中采用该方案的原因,包括IP核标准化、GTX收发器高效利用及信号完整性考量。文章还提供了Vivado配置实例和实战建议,帮助工程师优化以太网接口设计。

weixin_33657398的博客 370

FPGA SFP光口千兆以太网设计实战:从GTX配置到UDP收发

高速串行通信是实现远距离、高可靠数据传输的核心技术。FPGA作为灵活高效的硬件平台,常借助SFP光模块与内部GTX高速收发器构建千兆以太网链路。其原理在于通过GTX收发器完成串行数据编解码,结合8B/10B编码、时钟数据恢复和Comma对齐等机制,实现物理层的可靠传输。相比传统电口方案,光口具备传输距离远、电气隔离好、省去外部PHY芯片等优势,广泛应用于工业相机采集、软件无线电、高速数据采集及视频传输等场景。Xilinx参考设计XAPP1082提供了完整的GTX配置、复位时序与IP核集成方案,大幅降低了开发

weixin_33796205的博客 411

1G/2.5G Ethernet PCS/PMA or SGMII应用过程

(3)外部PHY芯片的SGMII接口,连接到专用bank225上(即专用收发器上)。必须按照上图中配置,否则会导致sgmii接收不到数据。其中信号an_restart_config表示再次配置这些接口信息,上升沿有效。使用原因:为了节省FPGA的pin,使用千兆网口dp83867e芯片的SGMII模式。(2)在工程中使用了具有sgmii接口的PHY芯片,所以选择SGMII标准。(5)该配置很关键,必须选择SGMII PHY Mode。应用场景:FPGA+dp83867e+pc。

qq_28319377的博客 3878

ZYNQ使用1G/2.5G Ethernet PCS/PMA or SGMII拓展PS端网口

文章目录前言一、硬件设计1.创建 Block Design2.配置 1G/2.5G Ethernet PCS/PMA or SGMII 核3.配置PS端4.连接PS端和1G/2.5G Ethernet PCS/PMA or SGMII5.添加约束并生成硬件比特流文件二、Petalinux配置1.导入硬件文件2.编译总结 前言 提示:以下是本篇文章正文内容,下面案例可供参考 一、硬件设计 1.创建 Block Design 并在 Block Design 中添加 Zynq 的 PS 端内核1,和1G/2

Markus_xu的博客 1万+

FPGA基于1G/2.5G Ethernet PCS/PMA or SGMII实现UDP以太网通信,提供14套工程源码和技术支持

FPGA基于1G/2.5G Ethernet PCS/PMA or SGMII实现UDP以太网通信,提供14套工程源码和技术支持

qq_41667729的博客 8652

FPGA平台以太网学习:涉及1G/2.5G Ethernet 和Tri Mode Ethernet MAC两个IP核的学习记录(三)——接口与框架

FPGA平台以太网学习:涉及1G/2.5G Ethernet 和Tri Mode Ethernet MAC两个IP核的学习记录(三)——接口与框架

weixin_46152123的博客 5748

FPGA平台以太网学习:涉及1G/2.5G Ethernet 和Tri Mode Ethernet MAC两个IP核的学习记录(一)——知识补给

FPGA平台以太网学习:涉及1G/2.5G Ethernet 和Tri Mode Ethernet MAC两个IP核的学习记录

weixin_46152123的博客 1万+

SGMII调试及丢包问题

使用88E1514和FPGA连接做以太网通信,走的时LVDS接口 ip核使用:GMII转SGMII的桥,使用了同步SGMII模式,需要提供一路125MHz的同步时钟,并固定在1G模式。 -------------------------------------------------------------------------------------------------------------------------------------------- 1、外部时钟使用G

timewh的专栏 9713

【电磁场计算】磁偶极子在外磁场中的受力

最近在总结电磁场计算公式的时候发现,关于磁偶极子受力的计算公式,在不同文献中的说明有点出入,在此特地写一篇博客澄清一下。

sky4403的博客 7463
上一篇: [调试经验]display_hw_ila_data [upload_hw_ila_data [get_hw_ilas -of_objects [get_hw_devices xc7z020_1] -f
浮生啊浮生
博客等级 码龄7年 5粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值