LogiCORE IP以太网1000BASE-X PCS / PMA或SGMII v11.1  – 在7系列初始ES芯片上实现内核所需的更改-Altera-Intel社区-FPGA CPLD-ChipDebug

LogiCORE IP以太网1000BASE-X PCS / PMA或SGMII v11.1 – 在7系列初始ES芯片上实现内核所需的更改

描述

要在7系列初始ES芯片上成功实施LogiCORE IP以太网1000BASE-X PCS / PMA或SGMII v11.1,需要进行一些更改。 7系列FPGA收发器向导应更新至v1.5rev1,需要更新的复位逻辑,并且可能需要更新时钟逻辑。在硬件上进行测试之前,请先应用下面列出的所有更改。

使用GTX向导v1.5rev1(来自ISE13.4)替换GTX包装器文件,以获取最新的Initial ES GTX属性

1)运行7系列千兆位收发器向导v1.5rev1。(要获得初始ES芯片下拉,请务必在7系列千兆位收发器向导中选择支持初始ES芯片的部件和封装,请参阅(Xilinx答复43244)了解更多信息细节。)

a)如果使用没有结构弹性缓冲区的1000BASE-X或SGMII (在GUI的第3页,请在SGMII功能下选择“10/100/1000 Mb / s(限制时钟容差)或100/1000 Mb / s”) :
一世。将名称设置为“GTWIZARD”。
II。选择“Initial ES”Silicon Version。
III。在协议模板中选择“千兆以太网”。
b)如果将SGMII与结构弹性缓冲区一起使用 (在GUI的第3页,请在SGMII功能下选择“10/100/1000 Mb / s(符合以太网规范的时钟容差))。
一世。将名称设置为“GTWIZARD”。
II。选择“Initial ES”Silicon Version。
III。选择“千兆以太网”协议模板。
IV。在第2页,对于RXUSERCLK源选择RXOUTCLK
v。在第3页的RX COMMA检测下,选择Two Byte Boundaries。
六。在第4页上,在“时钟校正”下,取消选择“使用时钟校正”。
2)将生成的gtwizard.v(hd)和gtwizard_gt.v(hd)文件复制到example_design / transceiver文件夹中。
3)在gtwizard.vhd / vand gtwizard_gt.vhd / v文件中:
a)在GTWIZARD上注释掉这些端口:
i.GT0_RXBYTEISALIGNED_OUT
II。 GT0_RXBYTEREALIGN_OUT
III。 GT0_RXCOMMADET_OUT
IV。 GT0_RXPCSRESET_IN
v.GT0_TXPCSRESET_IN
b)在GTWIZARD_GT上注释掉这些端口:
i.RXBYTEISALIGNED_OUT
ii.RXBYTEREALIGN_OUT
III。 RXCOMMADET_OUT
IV。 RXPCSRESET_IN
v.TXPCSRESET_IN
c)在GTXE2_CHANNEL上保持以下端口打开:
一世。 RXBYTEISALIGNED
II。 RXBYTEREALIGN
III。 RXCOMMADET
d)在GTXE2_CHANNEL上将这些信号映射到地面:
一世。 RXPCSRESET
II。 TXPCSRESET
4)如果没有在transceiver.v / vhd文件中使用带有结构缓冲区的SGMII,请注释掉GTWIZARD端口:GT0_RXOUTCLK_OUT

更新Wrappers以将MMCM锁定到收发器网表:

1)将输入端口添加到core_name _block和称为mmcm_locked的收发器。
2)在core_name _example_design.v / vhd文件中:
a)创建信号mmcm_locked
b)将信号mmcm_locked连接到用于生成userclk和userclk2的MMCM的LOCKED端口以及添加到core_name _block的mmcm_locked输入
3)在transceiver.v / vhd文件中,使用mmcm_locked驱动GT0_TXUSERRDY_IN和GT0_RXUSERRDY_IN。 (TXUSERCLK / RXUSERCLK之前由cplllock驱动)
4)在core_name _block.v / vhd 中将 mmcm_locked映射到核心网表上的DCM_LOCKED输入端口

配置时的复位要求 (Xilinx答复43482) (这些更改已在以太网1000BASE-X PCS / PMA或SGMII内核的v11.2及更高版本中实现。)

1)在示例设计中:
通过保持MMCM复位(mmcm_reset)直到收发器复位,从MMCM生成a.mask时钟。
b。将independent_clock_bufg传递给收发器。
2)在块模块中
一个。将independent_clock_bufg传递给收发器
3)在transceiver.vfile中:
一个。收到全局重置后添加等待逻辑(pmareset)
湾为GT生成复位的逻辑(reset_pulse)
C。 Resetdone信号使MMCM保持复位状态。

实现TXOUTCLK和RXOUTCLK端口限制 (Xilinx答复43244)

1)如果使用没有结构弹性缓冲区的1000BASE-X或SGMII (在GUI的第3页,请在SGMII功能下选择“10/100/1000 Mb / s(限制时钟容差)或100/1000 Mb / s”) ,不需要改变。
2)如果将SGMII与结构弹性缓冲区一起使用 (在GUI的第3页,请在SGMII功能下选择“10/100/1000 Mb / s(符合以太网规范的时钟容差))。

内核使用TXOUTCLK作为TX侧,RXOUTCLK作为RX侧。因此,不使用两个时钟,IBUFDS_GTXE2可用于代替TXOUTCLK。

如果需要, 实施已知的收发器软件使用模型更改 (Xilinx答复43339)

修订记录
02/23/2012 – 更新为MMCM锁定驱动器RX / TXUSRRDY而不是RX / TXPCSRESET
02/21/2012 – 更新以提供所需更改的具体详细信息,并添加更新以将MMCM_LOCKED用于重置逻辑。
11/09/2011 – 初始版本

请登录后发表评论

    没有回复内容