《基于Virtex-5器件中的嵌入式三态以太网MAC模块的功能集设计.docx》由会员分享,可在线阅读,更多相关《基于Virtex-5器件中的嵌入式三态以太网MAC模块的功能集设计.docx(6页珍藏版)》请在第一文库网上搜索。
1、基于Virte-5器件中的嵌入式三态以太网MAC模块的功能集设计以幽是一个占据绝对优势的固线连接标准。Xi1inxVirteXT-5以太网媒体接入控制器(以太网MAC)模块提供了专用的以太网功能,它和VirteX-5RocketIOGTP收发器以及Se1eCt1ON技术相结合,能够让用户与各种网络设备进行连接。VirteX-5器件中,以太网MAC模块作为一个硬件块集成在FPGA内部。在Xi1inX设计环境中,以太网MAC是一个库原语,名为JMAC该原语包括一对10/100/1000Mbps的以太网MAC。每个VirteX-51XT器件含有四个以太网MAC模块;因此,一个VirteX-51XT设
2、计能够融合两个TEMAC原语。利用标准的XiIinX汽员,您可以建立一系列度身定制的数据包处理和网络端点产品。Xi1inX还提供了一种超频模式,它能够使底板的连接速率高达2,000Mbpso基于Virtex-4FX以太网MAC,Xi1inx开发出了Virte-5以太网MAC,较之前者,后者在全局时钟使用、串行接口的灵活性以及软件控制复杂度方面都有了较大的改进。本文将介绍Virtex-5器件中的以太网MAC模块的功能集,同时描述Virtex-5和Virte-4FX以太网MAC之间的区别,指出一些潜在的应用,探索如何使用标准的Xi1inx工具将以太网MAC融入用户的设计。支持的接口Virtex-5
3、以太网MAC完全符合IEEE802.3规范。图1显示了一个以太网MAC的模块结构图。图1Virtex-5以太网MAC的模块结构图物理接口您可以单独配置每个以太网MAC的物理接口,使其作为五种不同的以太网接口中的一种进行工作。媒体独立接口(M1I),吉比特媒体独立接口(GMII)和简化的吉比特媒体独立接口(RGM11)是并行接口。它们通常连接到一个外部物理层(PHY)甚左以提供速率为10/100/1000Mbps的BASE-T功能。同时它还支持速率为10/100Mbps的半双工操作以及各种速率条件下的全双工操作。串行吉比特媒体独立接口和IOOOBASET是串行接口,它们使用以太网MAC中的物理编
4、码子层(PCS)和物理媒体接入子层(PMA)部分。它们连接到Virtex-5RocketIOGTP串行收发器。当与并行接口一起使用时,SGMII提供了速率为10/100/1000Mbps的全双工BASE-T功能。该串行接口大大减少了与外部PHY芯片相连的引脚数量。当将以太网MAC配置成1000BASE-X模式时,PCS/PMA模块与RocketIO收发器一起工作,能够提供与吉比特转换器(GBIC)或者小型可插式(型)光纤收发器进行直接连接所需要的所有功能。这可以避免IOOOBASE-X网络应用所需的外部PHY芯片。控制接口主机接口为接入以太网MAC模块配置麦谴提供了通道。配置选项的示例中包括巨
5、帧使能、暂停、单播地址设置以及帧检验序列生成。可以通过通用主机总线或者设备控制寄存器(KR)总线(当与处理器连接时)对主机接口进行访问。另外,每个以太网MAC还有一个可选的管理数据I/O(MDIO)接口。它允许对外部PHY的管理寄存器和以太网MAC中PCS/PMA内部的物理接口管理寄存器进行访问。客户端接口发送器的客户端接口将帧传送给以太网MAC0当接收到的数据小于最短的以太网帧长度时,发送器将该数据加长,并且保持最小的帧间距;但是,您可以增加间隔的长度,还可以通过配置发送器在帧中添加一个帧检验序列。一个单独的流控制接口允许您生成暂停帧。在半双工模式下,信号发送之间存在冲突,在有效冲突情况下,
6、需要进行帧重发。接收母接口检验传入帧和信号帧误差。这里分别提供了好帧信号和坏帧信号。还可以通过配置以太网MAC以便在检测到有效的暂停帧之后,暂停和重新启动帧传输。客户端接口的数据的宽度通常是8位或者16位。8位接口主要针对标准的以太网应用,它利用一个125MHZ的时钟产生1,OOOMbPS的数据率。当使用16比特模式时,可以在不提高客户端接口时钟频率的条件下将数据率提高到2,000Mbpso每个以太网MAC都会输出一些统计向量,其中含有发送和接收数据通路上所看到的以太网帧的信息。Xi1inxCOREGeneratO产软件免费提供了一个外部统计模块。该统计模块对每个以太网MAC的发送和接收数据通
7、路上的所有统计信息进行累加。Virtex-5以太网MAC的新特性在VirteX-4FPGA中,仅仅实现数据通路就会消耗多达四个全局时钟缓冲暹:其中两个分别用于发送和接收客户端接口逻辑,另外两个分别用于发送和接收的物理接口逻辑。在VirtCX-5FPGA中,XiIinX添加了一个时钟使能特性。您可以把生成的时钟用于所有客户端逻辑的物理接口。内部产生的时钟使能,为在每个接口保持正确的数据吞吐率提供了一个方法。这种方法使所需的时钟缓冲器数目减少了一半。DCR总线寻址现在VirteX-5DCR接口为每个以太网MAC提供了一个单独的基地址。这使得共享DCR总线接口对软件驱动程序成为透明的。软件不再需要知
8、道每个单独以太网MAC的位地址;硬件根据基地址自动选择正确的比特位。串行接口改动Xi1inx对串行接口的操作做了一些改动。随着一个可编程链接计时器的加入,自动检测功能变得更加灵活。您可以在改变自动检测进程时序的同时缩短仿真时间。新添加的单向模式根据IEEE802.3ah-2004规范执行单向使能功能。一旦使能,不管有效输入是否出现在接收端,以太网MAC都会进行传输。最后,以太网MAC和收发器可以产生回环。这使得在回环状态中能够将闲置状态传输给链接对象,从而确保该链接保持活动性。I图2在VirteX-5FPGA,MAC连接到一个处理器Virtex-5以太网MAC使用的模型VirteX-5以太网M
9、AC的多功能性使其可以应用在众多领域。比如,您可可以将该以太网MAC连接到一个在网络处理或者远程监测系统中运行协议栈的处理器上,如图2所示。将以太网MAC连接到一个在FPGA上实现的数据包处理系统,例如校验和计算及验证的卸载引擎或者远程直接存储器访问设计。 针对数据包的存储、桥接或者交换应用,将多个以太网MAC连接到专用数据包FIFo和外部存储器。工具和IP支持XiIinX通过C郎EGenerator软件、1ogiCOREIP和参考设计对以太网MAC提供支持。Virtex-5以太网MAC封装图3显示了一个HD1封装的模块结构图,它可以从Xi1inx的COREGenerator工具中获得。图3V
10、irtex-5以太网MAC封装的模块结构图以太网MAC是一个具有162个端口和79个参数的复杂组件。封装文件使您可以仅对特定应用所需端口的参数和接口轻松进行设置。它们的另外一个优势是简化了时钟和物理I/O资源的使用。分级结构使您可以针对自己的应用抽取正确的封装。 以太网MAC封装。在最低级别,实体化一个单独的或者双以太网MAC,同时在COREGeneratorGUI中将它的属性设置成您偏好的选项。所有未使用的输入端口接地,未使用的输出端口保持开路状态。 模块级别的封装。在下一层级,对物理接口以及所要求的时钟资源进行实体化。这包括用于串行接口的RocketIOGTP收发器。同时针对您的配置对时钟
11、进行优化,并且利用时钟将输出同步到您的设计。 1OCa11ink级别的封装。在该级别,将FIFO添加到客户端发送器和接收器接口。FIFO能够处理接收时坏帧的丢失并且以半双工模式对帧重新传输。1oca11ink可以作为后端接口使用。 示例设计的封装。顶层具有一个演示设计,在这个设计中接收到的数据经过回环重新发送给发送器。您可以将该设计下载到一个开发板上,然后利用网络设备对该接收器发出激励,从而演示硬件中以太网MAC的操作过程。激励该设计的接收器输入和监视该设计发送器输出的测试台也包含在COREGeneratOr软件中。1ogiCOREIP和参考设计现有的大部分Virte-4以太网MAC文档都可以在Virte-5以太网MAC上重复使用。例如,以太网内核硬件演示平台(XAPP443,)同样适用于VirteX-5以太网MACo1ogiCOREIP,比如以太网统计,已经支持这种新的架构。结论Virtex-5以太网MAC为各种网络接口提供了一个经济合算的解决方案,使您能够以10/100/1000Mbps的速率连接到BASE-X和BASE-T网络。Xi1inx的软件工具和IP同样为您充分利用该以太网MAC的改进特性提供了相应支持。