问题描述
创建hard_temac_v3_00_b是为了修复Virtex-4 FX生产芯片(CES4或更高版本)的MDIO接口中的问题。但是,在与PHY通信方面,EDK 8.2i SP2中的新hard_temac_v3_00_b与前CES4芯片无法正常工作。
此问题适用于具有外部PHY的电路板,该外部PHY绑定到MDIO PHY地址“00000”。根据以太网规范(IEEE802),不应使用地址零,因为它是为广播保留的。广播用于写入,因此您可以编写(作为示例)广播重置以通过单次写入重置总线上的所有MDIO器件。如果进行广播读取,则会在总线上产生争用,因为每个MDIO器件都会响应,这会导致MDIO总线上的争用。
解决/修复方法
您可以使用以下选项之一解决此问题。
选项1
对于所有不需要的以太网类型,PCS / PMA PHY保持复位状态,SGMII和1000BASE-X除外,因为这些需要使用内部PCS / PMA TEMAC PHY。如果没有保持复位状态,MDIO接口上的所有PHY都将响应,包括内部PHY。在hard_temac中,内部PHY(用于1000BASE-X / SGMII)未保持复位状态。
可以通过更改v4_1_single_gmii.vhd中的HDL代码来解决此问题,以便内部PHY保持在复位状态,并且无法响应地址0.此文件和更改位于:
EDK_82 \硬件\ XilinxProcessorIPLib \ pcores \ hard_temac_v3_00_b \ HDL \ VHDL \ v4_1_single_gmii.vhd
从:
phy_config_vector_0_i <=“00000”; – PCS / PMA逻辑未使用
至:
phy_config_vector_0_i <=“10000”; – PCS / PMA逻辑未使用
选项2
使用以下选项也更正了此问题:
– 预CES4芯片(ML403,预生产ML405 / ML410)使用hard_temac_v3_00_a。
– CES4或更高版本的芯片(生产ML405,ML410板)使用hard_temac_v3_00_b。
如果您的ML403板使用CES4生产芯片,则必须使用hard_temac_v3_00_b。
没有回复内容