多端口的以太网接口及其实现方法和物理层接口的制作方法

文档序号:7692008阅读:173来源:国知局
专利名称:多端口的以太网接口及其实现方法和物理层接口的制作方法
技术领域
本发明涉及以太网接口技术,尤其涉及一种多端口的以太网4妄口及其实 现方法,以及一种物理层4妻口。
背景技术
以太网4^口被广泛应用于网络芯片系统中, 一般是网络芯片必不可少的 接口 ,因此以太网接口的设计是网络系统设计的一项关键技术。以太网接口的介质访问控制(MAC, Media Access Control)层,可分 为IOM、 100M、 1000M、 10G几个带宽等级。对于和物理层(PHY)侧的 常用接口,对应10M/100M的带宽等级可以分为介质无关接口 (Mil),简 化的介质无关接口 (RMII),串行介质无关接口 (SMII),源同步的串行 介质无关4妻口 (SS—SMII),对应1000M的带宽等级可以分为千兆位的介质 无关接口 (GMII),简化的千兆位的介质无关接口 (RGMII),十比特的千 兆接口 (TBI),简化的十比特的千兆接口 (RTBI),对应IOG的带宽等级 可以分为万兆位的介质无关接口 (XGMII),十六比特的万兆接口 (XSBI), 万兆位的附属单元接口 (XAUI)。通常情况下,各种带宽的MAC的协议处理都相同,不同仅仅在于带宽 不同,体现在接口上,即数据宽度和时钟频率不同。例如,带宽为1000M 的千兆位的介质访问控制(GMAC, Gigabit Media Access Control)的时钟 频率通常为125MHz,内部处理的数据宽度为8bit;带宽为100M/10M的百 兆位/十兆位的介质访问控制(FMAC, Fast Media Access Control)的时钟频 率通常为25MHz/2.5MHz,内部处理数据宽度为4bit。现有技术中,无论哪种带宽的MAC,由于协议处理都相同,在与PHY侧相连时,对于PHY的每个端口, MAC内部的一种逻辑结构可均如图l所 示,包括寄存器L、组合逻辑(图1以接收数据为例,为接收组合逻辑) 和寄存器R。其中,组合逻辑通常指输出值随输入值的变化而即时变化的一 套逻辑算法,如与或运算等,具体算法实现根据实际需要而定,并且对应一 个端口的组合逻辑可以有几个,如寄存器R之后还可以有组合逻辑,相应地 该组合逻辑之后还有相应地寄存器,依此类推,使两个寄存器之间有一个组 合逻辑,寄存器的个数与组合逻辑的个数之差为1,其中,不同的组合逻辑 其逻辑算法可以不同,此处不再赘述。本文中为描述方便,将对应一个端口 的所有组合逻辑简称为一套组合逻辑,将对应一个端口的所有寄存器简称为 一套寄存器。在接收数据时,当接收数据使能信号(rx—ena)有效时,寄存 器L将来自PHY侧的数据送入组合逻辑,组合逻辑对所接收的数据进行运 算后,将运算结果输出给寄存器R进行锁存,以便进行后续组合逻辑运算, 直到所有组合逻辑运算结束,将结果数据通过FIFO模块(异步FIFO模块 或同步FIFO模块)或其它应用层接口提供给MAC的应用侧。对于图1中 示出的 一个组合逻辑的情况,寄存器R中锁存的结果数据直接通过FIFO模 块或其它应用层接口提供给MAC的应用侧。发明人在研究中发现,随着产品带宽的需求越来越大,网络芯片上需要 的以太网端口越来越多,并且和MAC对接的PHY芯片,也出现了很多多 端口的PHY芯片,即一个PHY芯片里面有4个或者8个甚至更多个PHY 端口,此时,如果按照数目去例化MAC的逻辑,即每个端口都对应MAC 的一套组合逻辑,则整个网络芯片的组合逻辑面积会随着端口数目的增加而 急剧增加。如图2所示,图2中示出了 8个端口以太网接口的结构示意图, 其中,8个端口 (图示中标记为端口 0~端口 7 )对应8个MAC的内部实现, 而每个MAC的内部实现可如图1所示,则相应地,8个端口对应MAC的8 套组合逻辑,而通常情况下每个端口对应的组合逻辑都是一样的,因此多个 重复的组合逻辑造成了组合逻辑资源的浪费,并且增加了组合逻辑的修改和 维护难度。此外,当端口过多时,有时甚至无法用现有的现场可编程门阵列(FPGA)芯片进行验证。 发明内容本发明实施例提供了 一种多端口的以太网接口 、 一种物理层接口及一种 多端口的以太网接口的实现方法,以降低逻辑资源的浪费。本发明实施例中提供的多端口的以太网接口,包括物理层接口才莫块、 介质访问控制MAC模块和应用层接口模块,其中,所述物理层接口模块分别与MAC模块和外部的N个物理层端口连接,用 于以分时方式连通各物理层端口与MAC模块之间的数据传输;所述MAC模块用于将所述物理层接口模块发送的来自各物理层端口的数 据共用一套接收组合逻辑进行运算后,输出给所述应用层接口模块;将所述应 用层接口模块发送给各物理层端口的数据共用 一套发送组合逻辑进行运算后, 输出给所述物理层接口模块;所述应用层接口模块与MAC模块和外部的N个应用层接口连接,用于以 分时方式连通MAC模块与各应用层接口之间的数据传输;其中,N为大于1的整数。本发明实施例中提供的物理层接口 ,分别与MAC模块和N个物理层端 口连接,该物理层接口包括计数模块,用于根据本地时钟按照预设计数间隔进行计数,得到计数结果;使能信号生成模块,用于根据所述计数结果,生成对应物理层端口的数据 使能信号;数据传输模块,用于根据所述对应物理层端口的数据使能信号,在数据 使能信号有效的物理层端口与MAC模块之间进行数据传输。本发明实施例中提供的多端口的以太网接口的实现方法,包括 所述以太网接口中的物理层接口模块以分时方式连通与所述物理层接口模 块一側相连的各物理层端口和与所述物理层接口模块另 一侧相连的MAC模块 之间的数据传输;所述以太网接口中的MAC模块将所述物理层接口模块发送的来自各物理层端口的数据共用一套接收组合逻辑进行运算后,输出给以太网接口中的应用 层接口模块,将所述应用层接口模块发送给各物理层端口的数据共用一套发送组合逻辑进行运算后,输出给所述物理层接口^^莫块;所述应用层接口模块以分时方式连通与所述应用层接口模块一侧相连的 MAC模块和与与所述应用层接口模块另 一侧相连的各应用层接口之间的数据 传输;其中,N为大于1的整数。从上述方案可以看出,本发明中的以太网接口包括物理层接口模块、 MAC模块和应用层接口模块,其中,物理层接口模块以分时方式连通各物 理层端口与MAC模块之间的数据传输;应用层接口模块以分时方式连通 MAC模块与各应用层接口之间的数据传输;MAC模块将物理层接口模块发 送的来自各物理层端口的数据共用 一套接收组合逻辑进行运算后,输出给应 用层接口模块,将应用层接口模块发送给各物理层端口的数据共用 一套发送 组合逻辑进行运算后,输出给物理层接口模块,可见实现了多端口复用一套 组合逻辑,从而降低了逻辑资源的浪费。


图1为现有技术中MAC内部的一种逻辑结构示意图;图2为现有技术中8个端口以太网接口的结构示意图;图3为本发明实施例中8个端口以太网接口的结构示意图;图4为图3所示以太网接口中物理层接口模块的结构示意图;图5(a)和图5(b)为本发明实施例中10个计数周期的时序图;图6为本发明实施例中MAC模块的一种逻辑结构示意图;图7为本发明实施例中MAC模块的又一种逻辑结构示意图。
具体实施方式
随着ASIC工艺技术的提高,逻辑时钟能够运行到125MHz等高速率已 经不成问题,且FPGA器件的速度也越来越快,125MHz等高速率在FPGA 中也不成问题,因此基于这些高速率器件的以太网接口可以支持高带宽的端 口连接,或者可以支持分时复用的多个低带宽的端口连接,进一步地,为了 提高以太网接口的灵活性,可以同时支持高带宽的端口连接以及分时复用的 多个低带宽的端口连接,至于当前采用何种带宽的工作模式,可根据实际需 要进行选择。例如, 一个GMAC的处理带宽是10倍的100M的FMAC的处 理带宽,是100倍10M的FMAC的处理带宽,因此可以采用一种分时复用 的方式,用一个GMAC的组合逻辑面积和10倍的寄存器或存储模块寄存 IO个端口的数据,处理10个FMAC数据,这样就可以使得组合逻辑的资源 大大减少,考虑到需要留给CPU配置的时间通道,以及目前的多端口PHY 芯片的通道凄t目一4殳为4, 8, 16, 24……,所以可以实现一个8端口分时 复用的MAC,当然,也可以根据其它具体情况,实现不同个数的端口的分 时复用。下面对以太网接口支持分时复用多个低带宽端口的情况进行详细描述。 图3为本发明实施例中多端口分时复用的以太网接口的示例性结构图。 如图3中的实线部分所示,该以太网接口包括物理层接口模块301、 MAC 模块302和应用层接口模块303。其中,物理层接口模块301与MAC模块302和N个物理层端口 304连接, 用于以分时方式连通各物理层端口 304与MAC模块302之间的数据传输。其 中,N为大于1的整凄t,图3中以N=8的情况为例。MAC模块302用于将物理层接口模块301发送的来自各物理层端口 304的 数据共用一套接收组合逻辑进行运算后,输出给应用层接口模块303;将应用 层接口模块303发送给各物理层端口 304的数据共用 一套发送组合逻辑进行运 算后,输出给物理层接口模块301。应用层接口模块303与MAC模块302和N个FIFO模块305连接,用于以 分时方式连通MAC模块302与各FIFO模块305之间的数据传输。其中,FIFO 模块305也可以被其它应用层接口代替,本实施例中主要以FIFO模块305为 例进行描述。其中,N为大于1的整数,图3中以N=8的情况为例。其中,8个物理层端口 304可只包括GMAC、也可只包括百兆位的FMAC, 还可只包括十兆位的FMAC,或者也可既包括百兆位的FMAC又包括十兆位的 FMAC等,本实施例中假设端口 0、 2、 3、 5、 6、 7为百兆位的FMAC,端口 1 和4为十兆位的FMAC。具体实现时,为了实现分时复用,物理层接口才莫块301的内部结构可有 多种实现形式,其中一种可如图4中的实线部分所示,包括计数模块401、 使能信号生成模块402和数据传输模块403。其中,计数模块401用于根据本地时钟按照预设计数间隔进行计数,得 到计数结果。对于图3所示实施例中N为8,即8个端口分时复用的情况, 可对8个物理层端口及8个FIFO冲莫块进行编号,如编号为0~7,即图3中 对PHY侧接口的8个物理层端口编号为端口 0、 1、 2、 3、 4、 5、 6、 7,对 8个FIFO模块编号为FIFO模块0、 1、 2、 3、 4、 5、 6、 7。此时,计数模 块401可以进行周期循环计数,其中循环周期大于8,假i殳本地时钟为 125MHz,则计数间隔可以为12.5MHz对应的时间间隔,对应的计凄t循环周 期为10,相应地计数范围可为0 9,相当于将125MHz分成10个时隙。将 计数结果(port_num)与8个端口分别对应,如计数结果为0时,对应的物 理层端口为端口 0,对应的FIFO模块为FIFO模块0,计数结果为1时,对 应的物理层端口为端口 1,对应的FIFO模块为FIFO模块1 ,以此类推,计 数结果为7时,对应的物理层端口为端口 7,对应的FIFO模块为FIFO才莫块 7。此外,对于计凄t结果为8和9时的剩余时隙,可对以太网4妻口的CPU配 置部分进行访问。使能信号生成模块402用于根据计数模块401的计数结果,生成对应物理 层端口的数据使能信号。其中,对于带宽一致的物理层端口 304,可直接根据计数结果402将对应该物理层端口 304的使能信号(rx一ena一n, n=0, 1,……, 7)的当前状态值置为有效,否则所述使能信号的当前状态值无效,通过判断各 使能信号的状态,可确定当前对哪个物理层端口 304进行操作。例如,对于图 3实线部分所示8个端口 (端口 0 端口 7),若都为百兆位的FMAC,则可在计 数结果为0时,将对应的物理层端口 304即端口 0的数据使能信号rx一ena一O的 状态值置为有效,在计数结果为1时,将对应的端口 1的数据使能信号rx—ena一l 的状态值置为有效;以此类推。而对于带宽不一致的物理层端口 304,则还需 一个辅助的计数结果,例如,对于图3实线部分所示8个端口,若其中的端口 1和4为十兆位的FMAC,则由于其与百兆位的FMAC的时4f频率为10倍的 关系,因此为了生成对应的使能信号,物理层接口模块301还可包括一个循环 周期计数模块404,用于对计数模块401计数的循环次数进行计数,得到循环 次数(ten—cycle )。则使能信号生成模块402在循环周期计数模块404每计数十 次时,根据计数模块401的当前计数结果,在所述计数结果分别对应端口 l和 端口 4时,将端口 1和端口 4的4吏能信号rx一ena—1和rx—ena一4的当前状态分别 置为有效。此时,数据传输才莫块403,用于根据所述使能信号生成模块402生成的对 应物理层端口的数据使能信号,在数据使能信号有效的物理层端口 304与MAC 模块302之间进行数据传输。进一步地,为避免对每个使能信号的状态值均进行判定,可将各物理层端 口对应的数据使能信号的当前状态值逻辑或在一起,生成对应物理层端口 304 的总的数据使能信号(rx一ena),该总的数据使能信号用于指示当前各物理层端 口 304中是否存在使能信号有效的端口,如果存在,则根据计凄欠结果可确定当 前使能信号有效的端口是哪个端口 ,进而可对该端口进行操作。此时,如图4中的虚线部分所示,数据传输模块403,进一步根据计数 结果(port—加m)及所述使能信号生成模块402生成的对应物理层端口 304 的总的数据使能信号,在数据使能信号有效的物理层端口 304,即在所述总 的数据使能信号有效时,与所述计数结果对应的物理层端口 304与MAC模块302之间进行数据传输。由于物理层端口 304所支持的数据宽度与MAC模块302所支持的数据 宽度可以相同,也可以不相同,因此当二者所支持的数据宽度不相同时,在 物理层端口 304与MAC模块302之间进行数据传输时,可将数据使能信号 有效的物理层端口 304的数据进行转换后发送给MAC模块,将来自MAC 模块302的数据进行转换后发送给所述物理层端口 304。具体实现时,该数 据传输模块403可包括数据转换子模块和数据传输子模块。其中,数据转换子模块,用于将第一数据宽度的数据转换为第二数据宽度 的数据,将第二数据宽度的数据转换为第一数据宽度的数据。数据传输子模块,用于接收来自数据使能信号有效的物理层端口的第一 数据宽度的数据,将所述第一数据宽度的数据发送给数据转换子模块,接收 来自数据转换子模块的第二数据宽度的数据,将所述第二数据宽度的数据发 送给所述MAC模块;接收来自所述MAC模块的第二数据宽度的数据,将 所述第二数据宽度的数据发送给数据转换子模块,接收来自数据转换子模块的第 一数据宽度的数据,将所述第一数据宽度的数据发送给物理层端口 。对于本地时钟为125MHz的情况,若MAC才莫块302内部的#史据处理宽 度为8比特,而物理层端口 304对应的FMAC接口的数据带宽为4比特, 则数据传输模块403将数据使能信号有效的物理层端口 304的4比特的数据 转换为8比特的数据后发送给MAC模块302,将来自MAC模块302的8 比特的数据转换为4比特的数据后发送给所述物理层端口 304。相应地,应用层接口模块303可根据所述计数结果(port—num),在与 所迷计数结杲对应的物理层端口 304的数据使能信号有效时,在与计数结果 对应的FIFO模块305和所述MAC模块302之间进行数据传输。其中,图3 和图4中未示出应用层接口模块303和计数模块401及信号使能模块402之 间的连接关系。其中,由于物理层端口 304可有各种类型,针对不同类型的物理层端口 304,物理层接口模块301在与各物理层端口 304进行数据传输时也稍有不同。其中,从物理层端口 304接收数据时,若物理层端口 304为SM1I和/ 或SS—SMII,则SMII和/或SS—SMII接口还会有一个转换功能,用于将SMII 和/或SS一SMII接口的数据由串行转换为4比特后再传输给物理层接口模块 301,而来自物理层接口模块301的数据也会由4比特转换为串行后再提供 给SMII和/或SS一SMII接口 ,此外,由于这样的物理层端口 304的接收时钟 和本地时钟是同源的,因此,物理层接口模块301的数据传输才莫块403可直 接利用本地的高速时钟(如125MHz )去采样SMII和/或SS—SMII接口的低 速时钟(如25MHz或2.5MHz),在采样到对方的时钟跳变时,锁定该物理 层端口 304的数据;当物理层端口 304为独立的Mil时,由于Mil本身即为 4比特的数据接口 ,因此该物理层端口 304无需转换功能,但由于MII接口 的时钟与本地时钟通常不是同源的,因此采样之前,物理层接口模块301还 进一步包括异步处理模块(图4中未示出),用于先对MII接口进行异步 处理,得到同步于本地时钟的接收数据。之后,在对应该物理层端口 304的 使能信号有效时,由数据传输模块403将来自物理层端口 304的数据由4比 特转换为8比特后发送给MAC模块302。当将数据发送给物理层端口 304时,对于SMII和/或SS—SMII接口的物 理层端口 304,由于其采用的发送时钟即为本地时钟,因此物理层接口模块 301的数据传输模块403可直接根据计数结果将数据发送到对应的物理层端 口 304;对于MII接口的物理层端口 304,则需先由异步处理才莫块进行异步 处理后,再由数据传输模块403将数据根据计数结果发送到对应的物理层端 口 304。其中,为了支持各物理层端口 304的分时复用,第二数据宽度与计数间 隔对应的时钟频率构成的带宽为物理层端口 304对应的最大带宽,即8比特 与12.5MHz构成的带宽为100M,而8个物理层端口中FMAC对应的最大 带宽也为IOOM。图5(a)和图5(b)示出了本发明实施例中IO个计数周期的时序图。其中, 图5(b)是图5(a)的局部放大图。如图5(a)和图5(b)所示,本地时钟为125MHz(图示中标记为dk_125m),对应计数结果O、 2、 3、 5、 6、 7,端口 0、 2、 3、 5、 6、 7的使能信号rx—ena_n, n=0, 2, 3, 5, 6, 7依次有效,对应计 数结果l、 4每10个计数周期,端口 1、 4的使能信号rx_ena—n, n=l, 4依 次有效。各端口使能信号rx_ena—n, n= 1, 2,……,7或在 一起后的数据使 能信号rx—ena在各端口使能信号任一有效时有效。此外,具体实现时,MAC才莫块302的内部实现形式可有多种,下面列 举其中两种第一种MAC模块302包括 一套接收组合逻辑、 一套接收移位寄存 器组、 一套发送组合逻辑和一套发送移位寄存器组。其中,每个接收移位寄 存器组包括N个接收寄存器,两个接收移位寄存器组之间布置一个接收组 合逻辑,每个发送移位寄存器组包括N个发送寄存器,两个发送移位寄存 器组之间布置一个发送组合逻辑。所述一套接收移位寄存器组的输入端与所 述物理层接口模块相连,输出端与所述应用层接口;f莫块相连;所述一套发送 移位寄存器组的输入端与所述应用层接口模块相连,输出端与所述物理层接 口模块相连。则相应地,物理层接口模块301中可如图4中的虚线部分所示,进一步 包括移位标记信号生成模块405,用于在计数结果对应N个物理层端口 304 中的任意一个时,生成移位标记信号(shift_en),并将所述移位标记信号 输出给所述MAC模块302的每个接收移位寄存器组中的各接收寄存器和每 个发送移位寄存器组中的各发送寄存器。则各接收寄存器在数据使能信号有效时,根据所述移位标记信号将锁存 的数据进行移位,其中,输入端与所述物理层接口模块301相连的接收寄存 器将锁存的数据移位后,接收来自所述物理层接口模块301的数据并锁存; 输出端与接收组合逻辑相连的接收寄存器将锁存的数据送入所述接收组合 逻辑,所述接收组合逻辑进行逻辑运算后,输出给输入端与所述接收组合逻 辑相连的接收寄存器进行锁存;输出端与所述应用层接口模块相连的接收寄 存器将锁存的数据输出给所述应用层接口模块303。各发送寄存器在数据使能信号有效时,根据所述移位标记信号将锁存的数据进行移位,其中,输入端与所述应用层接口模块303相连的发送寄存器 将锁存的数据移位后,接收来自所述应用层接口模块303的数据并锁存;输 出端与发送组合逻辑相连的发送寄存器将锁存的数据送入所述发送组合逻 辑,所述发送组合逻辑进行逻辑运算后,输出给输入端与所述发送组合逻辑 相连的发送寄存器进行锁存;输出端与所述物理层接口模块相连的发送寄存 器将锁存的数据输出给所述物理层接口模块301。下面以MAC模块302从物理层端口 304接收数据时的情况为例,假设 仍对图3实线部分所示的8个端口进行分时复用,且假设一套接收组合逻辑 中只有一个接收组合逻辑,则一套接收移位寄存器组有两个接收移位寄存器 组。如图6所示,图6示出了本发明实施例中MAC模块的一种逻辑结构示 意图。其中,输出端与接收组合逻辑相连的接收移位寄存器组中包括8个寄 存器,即寄存器L0 L7,输入端与接收组合逻辑相连的接收移位寄存器组中 也包括8个寄存器,即寄存器R0 R7,在数据使能信号及移位标记信号有效 时,两个移位寄存器组中的每个寄存器分别将自身锁存的数据进行移位。其 中,寄存器L7将自身锁存的数据输出给寄存器L6,接收来自物理层接口模 块301的数据并锁存;寄存器L6将自身锁存的数据输出给寄存器L5,接收 来自寄存器L7的数据并锁存;以此类推;寄存器LO将锁存的数据送入所 述接收组合逻辑,接收来自寄存器Ll的数据并锁存。接收组合逻辑进行逻 辑运算后,将数据输出给寄存器R7;寄存器R7将锁存的数据输出给寄存器 R6后,接收来自接收组合逻辑的数据并锁存;寄存器R6将自身锁存的数据 输出给寄存器R5后,接收来自寄存器R7的数据并锁存;以此类推;寄存 器RO将锁存的数据输出给应用层接口模块后,接收来自寄存器Rl的数据 并锁存。可见,经过上述处理后,某物理层端口 304的数据经过接收组合逻辑处 理之后,结果被锁存起来,等到下一个属于该端口 304的计数结果到来时, 锁存的结果从移位寄存器中移出,并发送给应用层接口模块303。第二种MAC模块302包括 一套接收组合逻辑、 一套接收存储模块、 一套发送组合逻辑和一套发送存储模块。其中,每个接收存储模块包括N 个地址的存储空间,接收存储模块的个数小于等于接收组合逻辑与l的和, 每个发送存储模块包括N个地址的存储空间,发送存储模块的个数小于等 于发送组合逻辑与1的和。此时,物理层接口模块301中的计数模块401进一步将得到的计数结果 提供给所述MAC模块302的每个接收存储模块和每个发送存储模块。其中,存储模块可以是随机存储器(RAM),由于对于RAM这类存储 模块,其数据的读取需要一个过程,因此在从RAM中读取数据时可根据其 读取数据的时延提前读耳又。例如,对于上述计凄t范围为0 9的情况,若RAM 的读取时延需要两拍,则当需要从RAM中获取端口 3寄存的数据时,需要 提前2个节拍进行读取,即在计数结果为1时,开始读取RAM中端口 3寄 存的数据,以此类推,计数结果为8时,开始读取RAM中端口 0寄存的数 据,计数结果为6和7时,不进行读取。则每个接收存储模块用于基于先读取后写入的原则,在与所述计数结果对 应的物理层端口的数据使能信号有效时,接收来自所述物理层接口模块的数据 并写入与所述计数结果对应的地址存储空间,和/或,将根据读取时延预先读取 的与所述计数结果对应的地址存储空间内的数据送入接收组合逻辑,和/或,将 来自接收组合逻辑的数据写入与所述计数结果对应的地址存储空间,和/或,将 根据读取时延预先读取的与所述计数结果对应的地址存储空间内的数据输出给所述应用层接口模块。每个发送存储模块用于基于先读取后写入的原则,在与所述计数结果对 应的物理层端口的数据使能信号有效时,接收来自所述应用层"^ 口模块的数 据并写入与所述计数结果对应的地址存储空间,和/或,将#4居读取时延预 先读取的与所述计数结果对应的地址存储空间内的数据送入发送组合逻辑,和/或,将来自发送组合逻辑的数据写入与所述计数结果对应的地址存储空 间,和/或,将根据读取时延预先读取的与所述计数结果对应的地址存储空间内的数据输出给所述物理层接口模块。下面以MAC模块从物理层端口接收数据时的情况为例,当接收存储模 块只有一个时,则存储模块的宽度为所有需要寄存的信息的数据总宽度,并 且该存储模块的总宽度空间内的不同宽度空间存储不同的信息,^f艮设从物理层接口模块接收的数据的宽度为nl,经第一个接收组合逻辑运算后的数据 的宽度为n2,……,经最后一个,即第x个接收组合逻辑运算后的数据的 宽度为nx,则存储模块的宽度为nl+n2+…+nx,并且存储模块每个地址存储 空间内的前nl宽度用于存放来自物理层接口模块的数据,nl宽度之后的n2 宽度内存放经第一个接收组合逻辑运算后的数据,……,最后nx宽度内存 放经第x个接收组合逻辑运算后的数据。例如,假设计数结果为0且数据使 能信号有效,则该存储模块基于先读取后写入的原则,将根据读取时延预先 读取的地址0存储空间内的前nl宽度内的数据送入第一个接收组合逻辑, 接收来自物理层接口模块的数据并写入地址0存储空间内的前nl宽度的空 间内;将根据读取时延预先读取的地址0存储空间内nl宽度之后的n2宽度 内的数据送入第二个接收组合逻辑,接收来自第一个接收组合逻辑的数据并 写入地址0存储空间内nl宽度之后的n2宽度内;...…;将才艮据读取时延预 先读取的地址0存储空间内的后nx宽度内的数据输出给应用层接口模块, 接收来自第x个接收组合逻辑的数据并写入地址0存储空间内的nx宽度内。 当接收存储模块的个数等于接收组合逻辑与1的和时,存储模块的宽度 为相应的需要寄存的信息的数据宽度,假设从物理层接口模块接收的数据的 宽度为nl,则第一个存储模块的宽度为nl;经第一个接收组合逻辑运算后 的数据的宽度为n2,则第二个存储模块的宽度为n2;……;经最后一个, 即第x个接收组合逻辑运算后的数据的宽度为nx,则第x个存储模块的宽 度为nx。例如,假设计数结果为0且数据使能信号有效,则第一个存储模 块基于先读取后写入的原则,将根据读取时延预先写入的地址0存储空间的 数据送入第一个接收组合逻辑,接收来自物理层接口模块的数据并写入地址 0存储空间内;第二个存储模块基于先读取后写入的原则,将根据读取时延预先读取的地址0存储空间内的数据送入第二个接收组合逻辑,接收来自第一个接收组合逻辑的数据并写入地址O存储空间内;……;第x个存储模块 基于先读取后写入的原则,将根据读取时延预先读取的地址0存储空间内的 数据输出给应用层接口模块,接收来自第x个接收组合逻辑的数据并写入地 址0存4诸空间内。为了增进以太网接口的灵活性,本实施例中的N个物理层端口可与一 个高带宽的物理层端口复用一个组合逻辑。即如图3中的虚线部分所示,物 理层接口模块还可与一个高带宽的物理层端口连接,相应地,应用层接口模 块也与一个对应高带宽的FIFO模块连接。其中,该高带宽的物理层端口对 应的带宽大于等于N倍的N个物理层端口中单个物理层端口对应的最大带 宽。例如,对于图3实线部分所示有8个物理层端口 ,且物理层端口为FMAC 的情况,由于FMAC的最大带宽为100M,则8倍的100M带宽为800M带 宽,则与之分时复用的高带宽物理层端口对应的带宽可以为IOOOM,即该端 口可以是一个GMAC。具体实现时,该高带宽的物理层端口可无需设置单 独的端口,而是可与所述N个物理层端口中的一个端口复用在一起,相应 地,对应高带宽的FIFO模块也可与N个FIFO才莫块中的一个FIFO模块复用 在一起。例如,该GMAC对应的端口可与图3实线部分所示的端口 0复用 在一起,相应的对应高带宽的FIFO模块可与图3实现部分所示的FIFO模 块0复用在一起。在增加了高带宽的物理层端口后,该以太网接口还可包括端口模式选择 模块,用于在高带宽的物理层端口对应的高带宽工作模式和N个物理层端 口对应的分时工作模式之间进行选择。相应地,物理层接口模块进一步地,在高带宽工作模式时,在高带宽的物 理层端口与MAC模块之间进行数据传输。应用层接口模块进一步地,在高带 宽工作模式时,在MAC模块与所述对应高带宽的FIFO模块之间进行数据传输。MAC模块进一步地,在高带宽工作模式时,用于将物理层接口模块发送的 来自高带宽的物理层端口的数据利用所述一套接收组合逻辑进行运算后,输出给应用层接口模块,将应用层接口模块发送给高带宽的物理层端口的数据利用 所述一套发送组合逻辑进行运算后,输出给物理层接口模块。具体实现时,若MAC模块采用移位寄存器组的结构,则图6所示MAC 模块的逻辑结构示意图可变为图7所示,在寄存器L0和寄存器Ll之间添 加了一个选择器,在寄存器R0和寄存器R1之间也添加了一个选择器。各 选择器通过外部的进行工作模式选择的选择信号,使得在高带宽工作模式 时,分别选通物理层接口模块与寄存器LO,接收组合逻辑与寄存器RO之间 的通路,使来自物理层接口模块的数据直接发送给寄存器L0,经接收组合 逻辑运算后的数据直接输出给寄存器R0;否则分别选通寄存器Ll与寄存器 L0,寄存器Rl与寄存器R0之间的通路,则各寄存器按照前述描述的移位 方法进4于相应移4立处理。此外,当在高带宽工作模式时,前述描述的计数模块停止计数,或忽略 其计数结果,且前述的数据使能信号也一直有效。本实施例中,将1端口的GMAC与8端口的FMAC分时复用时,在不 同工作模式下,可对MAC内部的寄存器或存储模块进行配置。对于MAC内部的采用移位寄存器组的情况,可根据计数结果,选择相 应端口对应的寄存器配置,并将所选择的配置输入到MAC模块,或者从 MAC模块反馈到相应的寄存器。当工作在1端口 GMAC模式时,只选择第 O端口对应的寄存器进行相应配置。对于MAC内部的采用存储模块的情况,可根据计数结果选取存储模块 的地址,地址为0的存储空间中存放端口 0对应的数据,地址为1的存储模 块中存放端口 l对应的lt据,以此类推。其中,当工作在8端口 FMAC的分时工作模式时,计数结果为8或者9 时,为CPU访问的时隙,如果在计数结果为0 ~ 7的时候遇到CPU访问, 则锁定CPU访问的信息,等到紧接着的8或者9时隙的时候再响应CPU。本发明实施例中以太网接口中的物理层接口模块、MAC模块和应用层 接口模块均可独立作为 一个相应的接口进行实现。以上对本发明实施例中的以太网接口进4亍了详细描述,下面再对本发明 实施例中以太网接口的实现方法进行详细描述。设置包括物理层接口模块、介质访问控制MAC模块和应用层接口模块的以太网接口 ,所述物理层接口才莫块与MAC才莫块和N个物理层端口连接, 所述应用层接口模块与MAC模块和N个FIFO模块(或其它应用层接口 ) 连接。物理层接口模块以分时方式连通各物理层端口与MAC模块之间的数据 传输;MAC模块将物理层接口模块发送的来自各物理层端口的数据共用一 套接收组合逻辑进行运算后,输出给应用层接口模块,将应用层接口模块发 送给各物理层端口的数据共用 一套发送组合逻辑进行运算后,输出给物理层 接口模块;应用层接口模块以分时方式连通MAC模块与各FIFO模块之间 的数据传输;其中,N为大于l的整数。其中,物理层接口^t块以分时方式连通各物理层端口与MAC模块之间 的数据传输可包括物理层接口模块根据本地时钟按照预设计数间隔进行计 数,得到计数结果;根据所述计数结果,生成对应物理层端口的数据使能信 号;根据所述计数结果,在与所述计数结果对应的物理层端口的数据使能信 号有效时,将与所述计数结果对应的物理层端口的第一数据宽度的数据转换 为第二数据宽度后发送给所述MAC模块,将来自所述MAC模块的第二数据宽度的数据转换为第一数据宽度后发送给所述物理层端口 。各步骤的具体 操作可与上述以太网接口的实施例中描述的具体操作一致,此处不再一一赘述。其中,第二数据宽度与计数间隔对应的时钟频率构成的带宽为物理层端 口对应的最大带宽。此外,应用层接口模块以分时方式连通MAC模块与各FIFO模块(或 其它应用层接口 )之间的数据传输可以为应用层接口模块根据所述物理层 接口模块的计数结果,在与所述计数结果对应的物理层端口的数据使能信号 有效时,在与所述计数结果对应的FIFO模块和所述MAC模块之间进行数据传输。相应地,该步骤的操作也可与上述以太网接口的实施例中描述的具 体操作一致,此处不再——赘述。其中,按照预设计数间隔进行计数时,可以采用循环计数,例如循环周 期可以为10,计数范围可以为0 9。则根据计数结果,生成对应物理层端口的数据使能信号可以为对于带宽一致的物理层端口,可直接根据计数结果 将对应该物理层端口的数据使能信号的当前状态值置为有效,否则所述数据 使能信号的当前状态值无效,通过判断各数据使能信号的状态,可确定当前 对哪个物理层端口进行操作。例如,对于图3所示8个端口 (端口 0~端口 7 ), 若都为百兆位的FMAC,则可在计数结果为0时,将对应的物理层端口即端 口 0的数据使能信号rx—ena一O的状态值置为有效,在计数结果为1时,将 对应的端口 1的数据使能信号rx_ena—l的状态值置为有效;以此类推。而 对于带宽不一致的物理层端口 ,则还需一个辅助的计数结果,例如,对于图 3所示8个端口,若其中的端口 1和4为十兆位的FMAC,则由于其与百兆 位的FMAC的时钟频率为10倍的关系,因此为了生成对应的数据使能信号, 该方法可进一步包括对进行计数的循环次数进行计数,得到循环计数结果 (ten—cycle)。则使能信号生成模块在循环周期计数模块每计数十个循环周 期时,根据计数模块的当前计数结果,在所述计数结果分别对应端口 l和端 口 4时,将端口 1和端口 4的凄史据4吏能信号rx—ena—1和rx—ena一4的当前状 态分别置为有效。进一步地,为避免对每个数据使能信号的状态值均进行判定,可将各物 理层端口对应的数据使能信号的当前状态值逻辑或在一起,生成对应物理层 端口的总的数据使能信号(rx_ena),该总的数据使能信号用于指示当前各 物理层端口中是否存在数据使能信号有效的端口,如果存在,则根据计数结 果可确定当前数据使能信号有效的端口是哪个端口 ,进而可对该端口进行操 作。其中,MAC模块在具体实现时,可与上述以太网接口的实施例中描述 的具体实现一致。即在其中一种情况中,MAC模块可包括 一套接收组合逻辑、 一套接收移位寄存器组、 一套发送组合逻辑和一套发送移位寄存器组。 其中,每个接收移位寄存器组包括N个接收寄存器,两个接收移位寄存器 组之间布置一个接收组合逻辑,每个发送移位寄存器组包括N个发送寄存 器,两个发送移位寄存器组之间布置一个发送组合逻辑。则该方法中可进一步包括物理层接口模块在计数结果对应N个物理 层端口中的任意一个时,生成移位标记信号。则MAC模块将物理层接口模块发送的来自各物理层端口的数据共用一 套接收組合逻辑进行运算,输出给应用层接口模块可包括各接收寄存器在 所述数据使能信号有效时,根据所述移位标记信号将锁存的数据进行移位, 其中,输入端与所述物理层接口模块相连的接收寄存器将锁存的数据移位 后,接收来自所述物理层接口模块的数据并锁存;输出端与接收组合逻辑相 连的接收寄存器将锁存的数据送入所述接收组合逻辑,所述接收组合逻辑进 行逻辑运算后,输出给输入端与所述接收组合逻辑相连的接收寄存器进行锁 存;输出端与所述应用层接口模块相连的接收寄存器将锁存的数据输出给所 述应用层接口模块。MAC模块将应用层接口模块发送给各物理层端口的数据共用一套发送 组合逻辑进行运算,输出给物理层接口模块包括各发送寄存器在所述数据 使能信号有效时,根据所述移位标记信号将锁存的数据进行移位,其中,输 入端与所述应用层接口模块相连的发送寄存器将锁存的数据移位后,接收来 自所述应用层接口模块的数据并锁存;输出端与发送组合逻辑相连的发送寄 存器将锁存的数据送入所述发送组合逻辑,所述发送组合逻辑进行逻辑运算与所述物理层接口模块相连的发送寄存器将锁存的数据输出给所述物理层 接口模块。在另一种情况中,MAC模块可包括 一套接收组合逻辑、 一套接收存 储模块、 一套发送组合逻辑和一套发送存储模块。其中,每个接收存储模块 包括N个地址的存储空间,接收存储模块的个数小于等于接收组合逻辑与1的和,每个发送存储模块包括N个地址的存储空间,发送存储模块的个数 小于等于发送组合逻辑与1的和。则相应地MAC模块将物理层接口模块发送的来自各物理层端口的数据 共用一套接收组合逻辑进行运算后,输出给应用层接口模块可包括每个接 收存储模块基于先读取后写入的原则,在与所述计数结果对应的物理层端口 的数据使能信号有效时,接收来自所述物理层接口模块的数据并写入与所述 计数结果对应的地址存储空间,和/或,将根据读取时延预先读取的与所述 计数结果对应的地址存储空间内的数据送入接收组合逻辑,和/或,将来自 接收组合逻辑的数据写入与所述计数结果对应的地址存储空间,和/或,将 根据读取时延预先读取的与所述计数结果对应的地址存储空间内的数据输 出给所述应用层接口模块。相应地,MAC模块将应用层接口模块发送给各物理层端口的数据共用 一套发送组合逻辑进行运算后,输出给物理层接口模块可包括每个发送存 储模块基于先读取后写入的原则,在与所述计数结果对应的物理层端口的数 据使能信号有效时,接收来自所述应用层接口模块的数据并写入与所述计数 结果对应的地址存储空间,和/或,将根据读取时延预先读取的与所述计数 结果对应的地址存储空间内的数据送入发送组合逻辑,和/或,将来自发送 组合逻辑的数据写入与所述计数结果对应的地址存储空间,和/或,将根据 读取时延预先读取的与所述计数结果对应的地址存储空间内的数据输出给 所述物理层接口模块。与本发明实施例中描述的以太网接口一致。本实现方法中,所述物理层 接口模块还可与一个高带宽的物理层端口连接,相应地,所述应用层接口模 块还可与一个对应高带宽的FIFO模块连接。其中,所述高带宽的物理层端 口对应的带宽大于等于N倍的所述N个物理层端口中单个物理层端口对应 的最大带宽。其中,高带宽的物理层端口与所述N个物理层端口中的一个 端口复用在一起。则该方法中,物理层接口模块以分时方式连通各物理层端口与MAC模块之间的数据传输之前,可进一步包括在高带宽的物理层端口对应的高带 宽工作模式和N个物理层端口对应的分时工作模式之间进行选择,在选择结果为分时工作模式时,执行所述以分时方式连通各物理层端口与MAC模 块之间的数据传输。在选择结果为高带宽工作模式时,该方法可进一步包括物理层接口模 块在高带宽的物理层端口与MAC模块之间进行数据传输;MAC模块将物 理层接口模块发送的来自高带宽的物理层端口的数据利用所述 一 套接收组 合逻辑进行运算后,输出给应用层接口模块,将应用层接口模块发送给高带 宽的物理层端口的数据利用所述一套发送组合逻辑进行运算后,输出给物理 层接口模块;应用层接口模块在MAC模块与所述对应高带宽的FIFO模块 之间进行数据传输。该方法中,N个物理层端口可以为8个FMAC端口 ,高带宽的物理层 端口可以为GMAC端口 ;或者,N个物理层端口可以为8个GMAC端口 , 高带宽的物理层端口可以为万兆位的介质访问控制(10GEMAC)端口。当N个物理层端口为8个FMAC端口,高带宽的物理层端口可以为 GMAC端口时,第一数据宽度为4比特;所述第二数据宽度为8比特。其 中,根据本地时钟按照预设计数间隔进行计数可以为根据频率为125MHz 的本地时钟,按照12.5MHz的时钟频率对应的计数间隔进行周期循环计数, 计数循环周期为10。则与计数结果对应的物理层端口为预先设置的与10 个计数结果中的8个计数结果分别对应的8个物理层端口中,与当前计数结 果对应的物理层端口。其中,在计数结果为与物理层端口不相对应的计数结 果时,对以太网接口的CPU配置部分进行访问。其中,将与计数结果对应的物理层端口的第 一数据宽度的数据转换为第 二数据宽度后发送给MAC模块之前,进一步包括当N个物理层端口为 SMII和/或SS—SMII时,利用本地的125MHz的高速时钟采用所述物理层端 口对应的25MHz或2.5MHz的低速时钟,当采用到低速时钟发生跳变时, 锁定该物理层端口的数据;当N个物理层端口为独立的Mil时,对所述物理层端口进行异步处理,得到同步于本地时钟的数据。之后,在对应该物理 层端口的数据使能信号有效时,执行上述将与计数结果对应的物理层端口的 第一数据宽度的数据转换为第二数据宽度后发送给MAC模块。本发明实施例中的以太网接口的实现方法是基于本发明实施例中的以 太网接口进行实现的,相关具体描述可参见本发明实施例中的以太网接口的 相关描述,此处不再对本发明实施例中的以太网接口的实现方法进行详述。以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了 进一步详细说明,所应理解的是,以上所述^又为本发明的较佳实施例而已, 并非用于限定本发明的保护范围,凡在本发明的精神和原则之内,所作的任 何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1、一种多端口的以太网接口,其特征在于,该接口包括物理层接口模块、介质访问控制MAC模块和应用层接口模块,其中,所述物理层接口模块分别与MAC模块和外部的N个物理层端口连接,用于以分时方式连通各物理层端口与MAC模块之间的数据传输;所述MAC模块用于将所述物理层接口模块发送的来自各物理层端口的数据共用一套接收组合逻辑进行运算后,输出给所述应用层接口模块;将所述应用层接口模块发送给各物理层端口的数据共用一套发送组合逻辑进行运算后,输出给所述物理层接口模块;所述应用层接口模块与MAC模块和外部的N个应用层接口连接,用于以分时方式连通MAC模块与各应用层接口之间的数据传输;其中,N为大于1的整数。
2、 如权利要求l所述的接口,其特征在于,所述物理层接口模块包括 计数模块,用于根据本地时钟按照预设计数间隔进行计数,得到计数结果; 使能信号生成模块,用于根据所述计数结果,生成对应物理层端口的数据使能信号;数据传输模块,用于根据所述对应物理层端口的数据使能信号,在数据使 能信号有效的物理层端口与MAC模块之间进行数据传输。
3、 如权利要求2所述的接口,其特征在于,所述物理层接口模块进一步包括循环周期计数才莫块,用于对所述计数模块计数的循环次数进行计数,得到 循环次数;所述使能信号生成模块,进一步根据所述计数结果及所述循环次数,生成 对应物理层端口的数据使能信号。
4、 如权利要求2或3所述的接口,其特征在于,所述数据传输模块包括 数据转换子模块,用于将第一数据宽度的数据转换为第二数据宽度的数据;将第二数据宽度的数据转换为第 一数据宽度的数据;数据传输子模块,用于接收来自数据使能信号有效的物理层端口的第一数 据宽度的数据,将所述第一数据宽度的数据发送给数据转换子模块,接收来自 数据转换子模块的第二数据宽度的数据,将所述第二数据宽度的数据发送给所述MAC模块;接收来自所述MAC模块的第二数据宽度的数据,将所述第二数 据宽度的数据发送给数据转换子模块,接收来自数据转换子模块的第一数据宽 度的数据,将所述第一数据宽度的数据发送给物理层端口 ;其中,所述第二凄t据宽度与所述计数间隔对应的时钟频率构成的带宽为所 述物理层端口对应的最大带宽。
5、 如权利要求2或3所述的接口,其特征在于,所述MAC模块包括一 套接收组合逻辑、 一套接收移位寄存器组、 一套发送组合逻辑和一套发送移位 寄存器组;其中,两个接收移位寄存器组之间连接一个接收组合逻辑,两个发 送移位寄存器组之间连接一个发送组合逻辑;所述物理层接口沖莫块进一步包括移位标记信号生成模块,用于在所述计 数结果对应N个物理层端口中的任意一个时,生成移位标记信号;每个所述接收移位寄存器组包括N个接收寄存器,用于在所述数据使能信 号有效时,根据所述移位标记信号将锁存的数据进行移位,所述一套接收移位 寄存器组的输入端与所述物理层接口模块相连,输出端与所述应用层接口模块 相连;每个所述发送移位寄存器组包括N个发送寄存器,用于在所述数据使能信 号有效时,根据所述移位标记信号将锁存的数据进行移位,所述一套发送移位 寄存器组的输入端与所述应用层接口模块相连,输出端与所述物理层接口模块 相连。
6、 如权利要求2或3所述的接口,其特征在于,所述MAC模块包括一 套接收组合逻辑、 一套接收存储模块、 一套发送组合逻辑和一套发送存储模块; 其中,每个接收存储模块包括N个地址的存储空间,接收存储模块的个数小于 等于接收组合逻辑与1的和,每个发送存储模块包括N个地址的存储空间,发送存储模块的个数小于等于发送组合逻辑与1的和;所述物理层接口模块中的计数模块进一步将得到的计数结果提供给所述MAC模块的每个接收存储模块和每个发送存储模块;所述每个接收存储;漠块,用于基于先读取后写入的原则,在与所述计数结 果对应的物理层端口的数据使能信号有效时,接收来自所述物理层接口^t块的 数据并写入与所述计数结果对应的地址存储空间,和/或,将根据读取时延预先 读取的与所述计数结果对应的地址存储空间内的^:据送入接收组合逻辑,和/ 或,将来自接收组合逻辑的数据写入与所述计数结果对应的地址存储空间,和/ 或,将根据读取时延预先读取的与所述计数结果对应的地址存储空间内的数据输出给所述应用层接口模块;所述每个发送存储;漠块,用于基于先读取后写入的原则,在与所述计数结果对应的物理层端口的数据使能信号有效时,接收来自所述应用层接口模块的 数据并写入与所述计数结果对应的地址存储空间,和/或,将根据读取时延预先 读取的与所述计数结果对应的地址存储空间内的数据送入发送组合逻辑,和/或,将来自发送组合逻辑的数据写入与所述计数结果对应的地址存储空间,和/ 或,将根据读取时延预先读取的与所述计数结果对应的地址存储空间内的数据 输出给所述物理层接口模块。
7、如权利要求l所述的接口,其特征在于,所述物理层接口模块还与一个 高带宽的物理层端口连接,所述高带宽的物理层端口对应的带宽大于或等于N 倍的所述N个物理层端口中单个物理层端口对应的最大带宽;该接口进一步包括端口模式选择模块,用于在高带宽的物理层端口对应 的高带宽工作模式和N个物理层端口对应的分时工作模式之间进行选择;所述物理层接口模块进一步地,在高带宽工作模式时,连通高带宽的物理 层端口与MAC模块之间的数据传输;所述MAC模块进一步地,在高带宽工作模式时,用于将物理层接口模块 发送的来自高带宽的物理层端口的数据利用所述一套接收组合逻辑进行运算 后,输出给应用层接口模块,将应用层接口模块发送给高带宽的物理层端口的数据利用所述一套发送组合逻辑进行运算后,输出给物理层接口模块;所述应用层接口模块还与一个对应高带宽的应用层接口连接;在高带宽工 作模式时,连通MAC模块与所述对应高带宽的应用层接口之间的数据传输。
8、 如权利要求7所述的接口,其特征在于,所述高带宽的物理层端口与所 述N个物理层端口中的一个端口复用。
9、 如权利要求7所述的接口 ,其特征在于,所述N个物理层端口为8个 百兆位/十兆位的介质访问端口 ,所述高带宽的物理层端口为千兆位的介质访问 端口;或者,所述N个物理层端口为8个千兆位的介质访问端口,所述高带宽的 物理层端口为万兆位的介质访问端口 。
10、 一种物理层接口,其特征在于,所述物理层接口分别与MAC才莫块和N 个物理层端口连接,该物理层接口包括计数模块,用于根据本地时钟按照预设计数间隔进行计数,得到计数结果; 使能信号生成模块,用于根据所述计数结果,生成对应物理层端口的数据 使能信号;数据传输模块,用于根据所述对应物理层端口的数据使能信号,在数据使 能信号有效的物理层端口与MAC模块之间进行数据传输。
11、 如权利要求IO所述的物理层接口,其特征在于,该物理层接口进一步 包括循环周期计数模块,用于对所述计数模块计数的循环次数进行计数,得到 循环次数;所述使能信号生成模块,进一步根据所述计数结果及所述循环次数,生成 对应物理层端口的数据使能信号。
12、 如权利要求10或11所述的物理层接口,其特征在于,所述数据传输 模块包括数据转换子模块,用于将第一数据宽度的数据转换为第二数据宽度的数据; 将第二数据宽度的数据转换为第 一数据宽度的数据;数据传输子模块,用于接收来自数据使能信号有效的物理层端口的第一数 据宽度的数据,将所述第一数据宽度的数据发送给数据转换子模块,接收来自 数据转换子模块的第二数据宽度的数据,将所述第二数据宽度的数据发送给所述MAC模块;接收来自所述MAC模块的第二数据宽度的数据,将所述第二数 据宽度的数据发送给数据转换子模块,接收来自数据转换子模块的第 一数据宽 度的数据,将所述第一数据宽度的数据发送给物理层端口 ;其中,所述第二数据宽度与所述计数间隔对应的时钟频率构成的带宽为所 述物理层端口对应的最大带宽。
13、 一种多端口的以太网接口实现方法,其特征在于,该方法包括 所述以太网接口中的物理层接口模块以分时方式连通与所述物理层接口冲莫块一侧相连的各物理层端口和与与所述物理层接口模块另一侧相连的MAC模 块之间的数据传输;所述以太网接口中的MAC模块将所述物理层接口模块发送的来自各物理 层端口的数据共用一套接收组合逻辑进行运算后,输出给以太网接口中的应用 层接口模块,将所述应用层接口模块发送给各物理层端口的数据共用 一套发送 组合逻辑进行运算后,输出给所述物理层接口模块;所述应用层接口模块以分时方式连通与所述应用层接口模块一侧相连的 MAC模块和与所述应用层接口模块另 一侧相连的各应用层接口之间的数据传 输;其中,N为大于1的整数。
14、 如权利要求13所述的方法,其特征在于,所述物理层接口模块以分时 方式连通各物理层端口与MAC #莫块之间的数据传输包括物理层接口模块根据本地时钟按照预设计数间隔进行计数,得到计数结果; 才艮据所述计数结果,生成对应物理层端口的数据使能信号; 根据所述对应物理层端口的数据使能信号,在数据使能信号有效的物理层 端口与MAC模块之间进行数据传输。
15、 如权利要求14所述的方法,其特征在于,所述在数据使能信号有效的物理层端口与MAC模块之间进行数据传输包括将数据使能信号有效的物理 层端口的第一数据宽度的数据转换为第二数据宽度后发送给所述MAC模块, 将来自所述MAC模块的第二数据宽度的数据转换为第一数据宽度后发送给所 述物理层端口 ;其中,所述第二数据宽度与所述计数间隔对应的时钟频率构成的带宽为所 述物理层端口对应的最大带宽。
16、 如权利要求14所述的方法,其特征在于,进一步包括将各物理层端 口对应的数据使能信号的当前状态值逻辑或在一起,生成对应物理层端口的总 的数据使能信号;所述数据使能信号有效的物理层端口为所述总的数据使能信号有效时, 与所述计数结果对应的物理层端口 。
17、 如权利要求13所述的方法,其特征在于,所述应用层接口模块以分时 方式连通MAC模块与各应用层接口之间的数据传输为应用层接口模块根据所述物理层接口模块的计数结果,在与所述计数结果 对应的物理层端口的数据使能信号有效时,连通与所述计数结果对应的应用层 接口和所述MAC模块之间的数据传输。
18、 如权利要求13所述的方法,其特征在于,所述MAC模块包括 一套 接收组合逻辑、 一套接收移位寄存器组、 一套发送组合逻辑和一套发送移位寄 存器组;其中,每个接收移位寄存器组包括N个接收寄存器,两个接收移位寄 存器组之间布置一个接收组合逻辑,每个发送移位寄存器组包括N个发送寄存 器,两个发送移位寄存器组之间布置一个发送组合逻辑;该方法进一步包括物理层接口模块在计数结果对应N个物理层端口中的 任意一个时,生成移位标记信号;所述MAC模块将物理层接口模块发送的来自各物理层端口的数据共用一 套接收组合逻辑进行运算后,输出给应用层接口模块包括各接收寄存器在所 述数据使能信号有效时,根据所述移位标记信号将锁存的数据进行移位,其中, 输入端与所述物理层接口模块相连的接收寄存器将锁存的数据移位,接收来自所述物理层接口模块的数据并锁存;输出端与接收组合逻辑相连的接收寄存器将锁存的数据送入所述接收组合逻辑,所述接收组合逻辑进行逻辑运算后,输出给输入端与所述接收组合逻辑相连的接收寄存器进行锁存;输出端与所述应 用层接口模块相连的接收寄存器将锁存的数据输出给所述应用层接口模块;所述MAC模块将应用层接口模块发送给各物理层端口的数据共用一套发 送组合逻辑进行运算后,输出给物理层接口模块包括各发送寄存器在所述数 据使能信号有效时,根据所述移位标记信号将锁存的数据进行移位,其中,输 入端与所述应用层接口模块相连的发送寄存器将锁存的数据移位,接收来自所 述应用层接口模块的数据并锁存;输出端与发送组合逻辑相连的发送寄存器将 锁存的数据送入所述发送组合逻辑,所述发送组合逻辑进行逻辑运算后,输出 给输入端与所述发送组合逻辑相连的发送寄存器进行锁存;输出端与所述物理 层接口模块相连的发送寄存器将锁存的数据输出给所述物理层接口模块。
19、如权利要求13所述的方法,其特征在于,所述MAC模块包括 一套 接收组合逻辑、 一套接收存储模块、 一套发送组合逻辑和一套发送存储模块; 其中,每个接收存储模块包括N个地址的存储空间,接收存储模块的个数小于 等于接收组合逻辑与1的和,每个发送存储模块包括N个地址的存储空间,发 送存储模块的个数小于等于发送组合逻辑与1的和;所述MAC模块将物理层接口模块发送的来自各物理层端口的数据共用一 套接收组合逻辑进行运算后,输出给应用层接口模块包括每个接收存储模块 基于先读取后写入的原则,在与所述计数结果对应的物理层端口的数据使能信 号有效时,接收来自所述物理层接口模块的数据并写入与所述计数结果对应的 地址存储空间,和/或,将根据读取时延预先读取的与所述计数结果对应的地址 存储空间内的数据送入接收组合逻辑,和/或,将来自接收组合逻辑的数据写入 与所述计数结果对应的地址存储空间,和/或,将根据读取时延预先读取的与所 述计数结果对应的地址存储空间内的数据输出给所述应用层接口^t块;所述MAC模块将应用层接口模块发送给各物理层端口的数据共用一套发 送组合逻辑进行运算后,输出给物理层接口模块包括每个发送存储模块基于先读取后写入的原则,在与所述计数结果对应的物理层端口的数据使能信号有 效时,接收来自所述应用层接口模块的数据并写入与所述计数结果对应的地址 存储空间,和/或,将根据读取时延预先读取的与所述计数结果对应的地址存储 空间内的数据送入发送组合逻辑,和/或,将来自发送组合逻辑的数据写入与所 述计数结果对应的地址存储空间,和/或,将根据读取时延预先读取的与所述计 数结果对应的地址存储空间内的数据输出给所述物理层接口模块。
20、 如权利要求15所述的方法,其特征在于,所述物理层接口模块还与一个高带宽的物理层端口连接,所述应用层接口模块还与 一个对应高带宽的应用层接口连接;所述高带宽的物理层端口对应的带宽大于等于N倍的所述N个物 理层端口中单个物理层端口对应的最大带宽;所述物理层接口模块以分时方式连通各物理层端口与MAC ^^莫块之间的数 据传输之前,进一步包括在高带宽的物理层端口对应的高带宽工作模式和N 个物理层端口对应的分时工作模式之间进行选择,选择结果为分时工作模式。
21、 如权利要求20所述的方法,其特征在于,该方法进一步包括在选择 结果为高带宽工作模式时,物理层接口模块连通高带宽的物理层端口与MAC 模块之间的数据传输;MAC模块将物理层接口模块发送的来自高带宽的物理层 端口的数据利用所述一套接收组合逻辑进行运算后,输出给应用层接口模块, 将应用层接口模块发送给高带宽的物理层端口的数据利用所述一套发送组合逻 辑进行运算后,输出给物理层接口模块;应用层接口模块在MAC模块连通所 述对应高带宽的应用层接口之间的数据传输。
22、 如权利要求20所述的方法,其特征在于,所述高带宽的物理层端口与 所述N个物理层端口中的 一个端口复用在一起。
23、 如权利要求20所述的方法,其特征在于,所述N个物理层端口为8 个百兆位/十兆位的介质访问端口 ,所述高带宽的物理层端口为千兆位的介质访 问端口。
24、 如权利要求23所述的方法,其特征在于,所述根据本地时钟按照预设 计数间隔进行计数为根据频率为125MHz的本地时钟,按照12.5MHz的时钟频率对应的计数间隔进行周期循环计数,计数循环周期为10。
25、 如权利要求24所述的方法,其特征在于,该方法进一步包括在计数 结果为与物理层端口不相对应的计数结果时,对以太网接口的CPU配置部分进 行访问。
26、 如权利要求24所述的方法,其特征在于,所述N个物理层端口包括 串行介质无关接口和/或源同步的串行介质无关接口 ;所述将与所述计数结果对 应的物理层端口的第一数据宽度的数据转换为第二数据宽度后发送给所述 MAC模块之前,进一步包括利用本地的125MHz的高速时钟采用所述物理层 端口对应的25MHz或2.5MHz的低速时钟,在采样到所述低速时钟的跳变时, 锁定所述物理层端口的lt据;和/或,所述N个物理层端口包括独立的介质无关接口 ;所述将与所述计数 结果对应的物理层端口的第一数据宽度的数据转换为第二数据宽度后发送给所 述MAC模块之前,进一步包括对所述物理层端口进行异步处理,得到同步 于本地时钟的物理层端口的数据。
27、 如权利要求26所述的方法,其特征在于,所述第一lt据宽度为4比特; 所述第二数据宽度为8比特。
28、 如权利要求20所述的方法,其特征在于,所述N个物理层端口为8 个千兆位的介质访问端口 ,所述高带宽的物理层端口为万兆位的介质访问端口 。
全文摘要
本发明公开了一种多端口的以太网接口及其实现方法和物理层接口,其中,以太网接口包括物理层接口模块、MAC模块和应用层接口模块,其中,物理层接口模块与MAC模块和外部的N个物理层端口连接,用于以分时方式连通各物理层端口与MAC模块之间的数据传输;MAC模块用于将来自各物理层端口的数据共用一套接收组合逻辑进行运算后,输出给应用层接口模块,将应用层接口模块发送给各物理层端口的数据共用一套发送组合逻辑进行运算后,输出给物理层接口模块;应用层接口模块与MAC模块和外部N个应用层接口连接,用于以分时方式连通MAC模块与各应用层接口之间的数据传输。本发明公开的技术方案能够降低组合逻辑资源的浪费。
文档编号H04L29/10GK101404645SQ20081009612
公开日2009年4月8日 申请日期2008年4月29日 优先权日2008年4月29日
发明者尚秋平, 李北建, 俊 胡 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1