(1)客户端接口 发送器的客户端接口将帧传送给以太网MAC。当接收到的数据小于最短的以太网帧长度时,发送器将该数据加长,并且保持最小的帧间距;可以增加间隔的长度,还可以通过配置发送器在帧中添加一个帧检验序列。一个单独的流控制接口允许你生成暂停帧。在半双工模式下,信号发送之间存在冲突,在有效冲突情况下,需要进行帧重发。 接收器接口检验传入帧和信号帧误差。这里分别提供了好帧信号和坏帧信号。还可以通过配置以太网MAC以便在检测到有效的暂停帧之后,暂停和重新启动帧传输。 客户端接口的数据的宽度通常是8位或者16位。8位接口主要针对标准的以太网应用,它利用一个125MHz的时钟产生1000Mb/s的数据传输速率。当使用16位模式时,可以在不提高客户端接口时钟频率的条件下将数据传输速率提高到2000Mb/s。 (2)控制接口 每个以太网MAC有一个可选的管理数据I/O(MDIO)接口。它允许对外部PHY的管理寄存器和以太网MAC中PCS/PMA内部的物理接口管理寄存器进行访问。 3 Virtex-5以太网MAC封装 图4显示了一个HDL封装的模块结构图,它可以从Xilinx的CORE Generator工具中获得。
图4 Virtex-5以太网MAC封装的模块结构图
以太网MAC是一个具有162个端口和79个参数的复杂组件。封装文件让你可以仅对特定应用所需端口的参数和接口轻松进行设置。它们的另外一个优势是简化了时钟和物理I/O资源的使用。 以太网MAC封装。在最低级别,实体化一个单独的或者双以太网MAC,同时在CORE Generator GUI中将它的属性设置成你偏好的选项。所有未使用的输入端口接地,未使用的输出端口保持开路状态。 模块级别的封装。在下一层级,对物理接口以及所要求的时钟资源进行实体化。这包括用于串行接口的RocketIO GTP收发器。同时针对你的配置对时钟进行优化,并且利用时钟将输出同步到你的设计。 LocalLink级别的封装。在该级别,将FIFO添加到客户端发送器和接收器接口。FIFO能够处理接收时坏帧的丢失并且以半双工模式对帧重新传输。LocalLink可以作为后端接口使用。 |