一种低时延的交换芯片时钟域结构

文档序号:1711808 发布日期:2019-12-13 浏览:21次 >En<

阅读说明:本技术 一种低时延的交换芯片时钟域结构 (low-delay clock domain structure of switching chip ) 是由 李沛杰 吕平 刘勤让 沈剑良 刘冬培 陈艇 张文建 张丽 董春雷 张霞 于 2019-08-30 设计创作,主要内容包括:本发明提供一种低时延的交换芯片时钟域结构。该时钟域结构包括:依次连接的入口SerDes RX单元、第一CDC单元、入口端口RX、第二CDC单元、核心交换单元、第三CDC单元、出口端口TX、第四CDC单元和出口SerDes TX单元;第一CDC单元,用于将入口SerDes RX单元接收的数据的时钟域由SerDes RX时钟域跨到核心交换时钟域;SerDes RX时钟域指SerDes RX单元工作时的时钟域,核心交换时钟域指核心交换单元工作时的时钟域;入口端口RX、核心交换单元和出口端口TX工作时采用相同的时钟域;第四CDC单元,用于将出口端口TX输出的数据的时钟域由核心交换时钟域跨到SerDes TX时钟域;SerDes TX时钟域指出口SerDes TX单元工作时的时钟域。本发明旨在提供一种降低交换时延,便于芯片性能提升的通用交换芯片的时钟域架构。(The invention provides a low-delay clock domain structure of a switching chip. The clock domain structure includes: the system comprises an inlet SerDes RX unit, a first CDC unit, an inlet port RX, a second CDC unit, a core switching unit, a third CDC unit, an outlet port TX, a fourth CDC unit and an outlet SerDes TX unit which are connected in sequence; a first CDC unit to cross a clock domain of data received by the ingress SerDes RX unit from the SerDes RX clock domain to a core switch clock domain; the SerDes RX clock domain refers to a clock domain when the SerDes RX unit works, and the core switching clock domain refers to a clock domain when the core switching unit works; the same clock domain is adopted when the inlet port RX, the core switching unit and the outlet port TX work; the fourth CDC unit is used for crossing the clock domain of the data output by the output port TX from the core switching clock domain to the SerDes TX clock domain; the SerDes TX clock domain indicates the clock domain in which the port SerDes TX unit operates. The invention aims to provide a clock domain framework of a universal switching chip, which reduces the switching time delay and is convenient for improving the performance of the chip.)

一种低时延的交换芯片时钟域结构

技术领域

本发明涉及交换芯片技术领域,尤其涉及一种低时延的交换芯片时钟域结构。

背景技术

基于硬件电路实现的交换芯片的交换结构一般分为三类:基于CrossBar的矩阵交换结构,基于时分复用的总线交换结构,和基于Central Buffer的共享存储交换结构(例如,汪洋.基于共享存储的高速交换结构研究[D].华中科技大学.2008.),其中基于CrossBar的矩阵交换结构的交换芯片在处理转发数据时,具有交换效率高、易于实现的优点,但是其在扩展性和管理性上较差;基于总线结构和基于Central Buffer结构的交换则具有扩展性强的优势,但是需要通过提升转发处理带宽实现高效的交换效率,这对于芯片的工艺提出较大的挑战。随着应用的发展,交换芯片的吞吐量逐渐提升,基于单一结构的交换芯片已经无法满***换规模的增长,逐步开始结合各类交换结构的优点,最常见的即为基于CrossBar的矩阵结构与基于Central Buffer的共享存储结构的结合,该种结构能够一定程度上弥补交换规模带来的膨胀,同时兼顾工艺局限性,实现高效交换。但无论是哪种交换结构,其在设计的过程中主要基于交换转发的性能和系统的可扩展性确定时钟域的结构,这种处理方式很难兼顾交换系统低时延的需求。

发明内容

为解决现有交换芯片的时钟域结构存在的跨时钟域处理逻辑较多导致延迟增大的缺点,本发明提供一种低时延的交换芯片的时钟域结构,该结构主要是通过结合交换芯片数据流的处理过程,以减小跨时钟域处理延迟为原则,旨在提供一种降低交换芯片时延,便于芯片性能提升的通用交换芯片的时钟域架构。

本发明提供一种低时延的交换芯片的时钟域结构,该时钟域结构包括:依次连接的入口SerDes RX单元、第一CDC单元、入口端口RX、第二CDC单元、核心交换单元、第三CDC单元、出口端口TX、第四CDC单元和出口SerDes TX单元;

所述第一CDC单元,用于将所述入口SerDes RX单元接收的数据的时钟域由SerDesRX时钟域跨到核心交换时钟域;所述SerDes RX时钟域指SerDes RX单元工作时的时钟域,所述核心交换时钟域指核心交换单元工作时的时钟域;

所述入口端口RX、核心交换单元和出口端口TX工作时采用相同的时钟域;

所述第四CDC单元,用于将所述出口端口TX输出的数据的时钟域由核心交换时钟域跨到SerDes TX时钟域;所述SerDes TX时钟域指出口SerDes TX单元工作时的时钟域。

进一步地,所述第二CDC单元和所述第三CDC单元均为同步存储单元。

进一步地,所述第一CDC单元、第二CDC单元、第三CDC单元和第四CDC单元均采用弹性缓存结构,每个CDC单元均包括:异步FIFO单元和弹性缓存删减监测与处理单元;

所述弹性缓存删减监测与处理单元,用于监测所述异步FIFO单元发生的空满状态告警信号并根据监测到的空满状态告警信号执行相应的读写操作。

进一步地,所述空满状态告警信号包括:prog_empty指示信号、empty指示信号、prog_full指示信号和full指示信号。

进一步地,所述弹性缓存删减监测与处理单元包括:prog_empty告警消除模块和prog_full告警消除模块;

所述prog_empty告警消除模块,用于监测prog_empty指示信号;以及在监测到prog_empty指示信号时,根据通信协议特性,增加一个空闲字节,同时触发read_en的一次暂停;

所述prog_full告警消除模块,用于监测prog_full指示信号;以及在监测到prog_full指示信号时,根据通信协议特性,删除一个空闲字节,同时触发write_en的一次暂停。

本发明的有益效果:

1、本发明是对现有交换芯片时钟域结构的修正,能够最大范围的扩大核心处理逻辑的范围,可以在工艺允许的条件下,最大化提升核心处理逻辑的时钟频率,从而最大化的降低交换时延;

2、本发明在降低交换时延的同时,简化了整个交换芯片的时钟域结构,使得在交换芯片结构更新或工艺改变时,仅需要更新SerDes相关的时钟结构,核心交换单元的端口和交换逻辑的时钟结构可不做调整,因此本发明提供的时钟域结构从一定程度上决定了交换芯片结构的鲁棒性和强继承性;

3、本发明是一种通用的低时延交换芯片时钟域结构,原则上不局限核心交换单元的结构,适用于现有通用的多种典型交换结构下的交换芯片;

4、本发明将跨时钟域处理设计到交换芯片的边缘,这使得交换芯片的结构变得更加清晰,交换芯片的模块划分更加简化,弱化需外接集成第三方SerDes IP的依赖性。

附图说明

图1为本发明实施例提供的一种低时延的交换芯片时钟域结构的结构示意图;

图2为本发明实施例提供的采用弹性缓存结构的CDC单元的结构示意图;

图3为现有技术提供的交换芯片基本结构示意图;

图4为现有技术提供的常见的交换芯片结构示意图;

图5为现有技术提供的常见的交换芯片的时钟域结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在整个交换芯片的数据处理过程中,需完成接收数据串/并转换,接收协议数据帧处理,数据帧转发,发送协议帧处理,发送数据并/串转换等的过程,整个交换芯片的时延将由上述处理过程决定,交换芯片的结构可用图3所示进行抽象,可以看出,交换芯片的基本结构包括了3部分:SerDes部分,主要用于完成数据的串/并,并/串转换;端口部分,主要完成协议数据的接收和发送;核心交换部分,主要完成数据帧的转发。传统的交换芯片的时钟处理主要依赖上述结构进行设计,一般来讲核心交换的处理逻辑为单一时钟域,SerDes处理接收和发送数据的串化和解串,其时钟分为接收方向时钟,发送方向时钟,端口部分进行协议相关的数据帧处理,其时钟域的结构直接影响交换芯片的处理延迟。

从现有的交换芯片的结构(图3所示)可以看出,交换芯片的延迟主要受核心交换处理、SerDes处理及端口处理的时钟域决定的。现有的交换芯片处理中,一般将端口及SerDes合并为端口/通道的处理逻辑,此类处理的结果是端口的时钟由SerDes进行提供,其时钟域的结构如图4所示。

一般来讲,SerDes的时钟源为外部晶振或时钟处理芯片的输出,SerDes RX通过内部的CDR(Clock Data Recover,时钟数据恢复)输出接收端的时钟,SerDes TX通过内部的PLL(Phase Lock Loop,锁相环)提供发送端的时钟,端口内分为端口RX和端口TX两部分,其中由于数据在端口和SerDes之间进行传递,端口TX和端口RX的时钟将是由SerDes TX直接提供的本地时钟。在接收侧,由于SerDes RX输出的时钟为CDR恢复的时钟,在数据处理过程中,存在了接收端恢复时钟与本地时钟之间的跨时钟域,因此需要在SerDes RX与端口RX之间设置CDC单元(Clock Domain Crossing,跨时钟域),解决异步时钟的交互问题;同样的,由于核心交换的时钟一般由芯片内部独立的PLL提供,这使得核心交换的时钟与端口工作时钟也是异步的,因此在核心交换与端口TX,及核心交换与端口RX之间分别设计有CDC单元,用于解决异步时钟的交互问题。

基于上述结构的交换芯片在端到端的数据通路上,时钟域上被划分为4部分,如图3所示,按照数据的处理流程:时钟域从入端口的SerDes RX时钟域经过CDC 1跨到入端口的SerDes TX时钟域(由于CDC 1两侧的数据流不间断,且一般不设计反压逻辑,因此CDC 1需对不同源的时钟进行时钟补偿处理,解决异步时钟之间的频偏),入端口的工作时钟SerDesTX时钟域经过CDC 2跨到核心交换时钟域(由于CDC 2两侧为数据报文的处理,一般会设计流控及反压控制逻辑,因此CDC 2需基于报文或反压,解决异步时钟之间的频偏),核心交换时钟域经过CDC 3跨到出端口工作时钟SerDes TX时钟域(由于CDC 3两侧位数据报文的处理,一般会设计流控及反压控制逻辑,因此CDC 3需基于报文或反压,解决异步时钟之间的频偏),出端口与SerDes TX侧将无时钟域变换。

本发明通过对交换芯片的数据处理过程分析,提出一种低时延的交换芯片时钟域结构。本发明实施例提供的一种低时延的交换芯片时钟域结构,包括:依次连接的入口SerDes RX单元、第一CDC单元、入口端口RX、第二CDC单元、核心交换单元、第三CDC单元、出口端口TX、第四CDC单元和出口SerDes TX单元;所述第一CDC单元,用于将所述入口SerDesRX单元接收的数据的时钟域由SerDes RX时钟域跨到核心交换时钟域;所述入口端口RX、核心交换单元和出口端口TX工作时采用相同的时钟域;所述第四CDC单元,用于将所述出口端口TX输出的数据的时钟域由核心交换时钟域跨到SerDes TX时钟域。

具体地,如图1所示,该结构的时钟域处理主要依据数据的转发,其转发流程可描述如下:交换芯片入口接收的串行数据经过入口SerDes RX单元处理(包括数据时钟恢复,串并转换等)后,入口SerDes RX单元将数据交付入口端口RX进行处理,入口端口RX将处理后的数据报文交付核心交换单元进行转发,核心交换单元将数据报文转发至出口端口TX进行处理,出口端口TX将发送数据报文及其他数据发送至出口SerDes TX单元处理(包括并串转换)后发出。

对应数据转发流程,本发明实施例所设计的低时延的交换芯片时钟域结构可描述如下:交换芯片入口接收到的数据经过入口SerDes RX单元后,再经过第一CDC单元(图1中CDC 1)将时钟域由SerDes RX时钟域跨到核心交换时钟域(由于CDC 1两侧的数据流不间断,且一般不设计反压逻辑,因此CDC 1需对不同源的时钟进行时钟补偿处理,解决异步时钟之间的频偏);且本发明实施例中,端口处理逻辑与核心交换处理逻辑工作在同一时钟域下,因此第二CDC单元(图1中CDC 2)及第三CDC单元(图1中CDC 3)将不实现跨时钟域处理的功能,而采用同步存储单元实现;然后,经过入口端口RX接收处理后的数据经核心交换单元转发后,在出口端口TX的数据经过第四CDC单元(图1中CDC4)将时钟域由核心交换时钟域跨到SerDes TX时钟域(由于CDC 4两侧的数据流不间断,且一般不设计反压逻辑,因此CDC 4需对不同源的时钟进行时钟补偿处理,解决异步时钟之间的频偏)。

其中,所述SerDes RX时钟域指SerDes RX单元工作时的时钟域,所述核心交换时钟域指核心交换单元工作时的时钟域;所述SerDes TX时钟域指出口SerDes TX单元工作时的时钟域。

本发明实施例提供的时钟域结构中,第一CDC单元和第四CDC单元这个CDC单元位置的选择是本时钟域结构的关键之一,由于SerDes主要完成接收数据的串/并转换和发送数据的并/串转换,并行数据将直接由PCS(Physical Coding Sublayer,物理编码子层)接收端接收或发送端生成,因此在该结构中,将第一CDC单元放置在SerDes RX串/并转换之后,入口端口RX之前,将第四CDC单元放置在SerDes TX并/串转换之前,端口TX出口之后。

在上述实施例的基础上,所述第一CDC单元、第二CDC单元、第三CDC单元和第四CDC单元均采用弹性缓存结构,每个CDC单元均包括:异步FIFO单元和弹性缓存删减监测与处理单元;所述弹性缓存删减监测与处理单元用于监测所述异步FIFO单元发生的空满状态告警信号并根据监测到的空满状态告警信号执行相应的读写操作。

作为一种可实施方式,所述弹性缓存删减监测与处理单元包括:prog_empty告警消除模块和prog_full告警消除模块;所述prog_empty告警消除模块,用于监测prog_empty指示信号;以及在监测到prog_empty指示信号时,根据通信协议特性,增加一个空闲字节,同时触发read_en的一次暂停;所述prog_full告警消除模块,用于监测prog_full指示信号;以及在监测到prog_full指示信号时,根据通信协议特性,删除一个空闲字节,同时触发write_en的一次暂停。

具体地,本发明实施例中的CDC单元均采用弹性缓存的结构,如图5所示,其结构主要包括异步FIFO单元和弹性缓存删减监测与处理单元。其中,异步FIFO单元完成不间断数据流的存储,弹性缓存删减监测与处理单元完成存储状态监测及弹性缓存读写控制逻辑。

各CDC单元的处理过程可描述如下:

异步FIFO单元接收来自SerDes或端口TX的数据,由于异步FIFO单元两侧的时钟存在频偏,随着时间的推移,异步FIFO单元会出现空满状态告警,并生成相应的空满状态告警信号;弹性缓存删减监测与处理单元将监测该空满状态告警信号并执行相应的读写操作。具体来讲,异步FIFO单元生成的空满状态告警信号包括几乎空prog_empty指示信号和空empty指示信号,以及几乎满prog_full指示信号和满full指示信号,其中交换芯片的CDC设计合理情况下不会出现empty和full状态。当异步FIFO单元写侧时钟比读侧时钟快时,随着时间推移,异步FIFO单元会逐渐查到prog_full状态,当异步FIFO单元触发prog_full指示信号时,弹性缓存删减监测与处理单元中的prog_full告警消除模块将监测到该状态指示信号,并根据通信协议特性,删除一个空闲字节,同时触发write_en的一次暂停,使得读侧能够在一定时间内多读异步FIFO单元,消除prog_full指示信号;当异步FIFO单元写侧时钟比读侧时钟慢时,随着时间推移,异步FIFO单元会逐渐查到prog_empty状态,当异步FIFO单元触发prog_empty指示信号时,弹性缓存删减监测与处理单元中的prog_empty告警消除模块将监测到该状态指示指示信号,并根据通信协议特性,增加一个空闲字节,同时触发read_en的一次暂停,使得写侧能够在一定时间内多写异步FIFO单元,消除prog_empty指示信号。

与通用交换芯片的时钟域结构相比,本发明实施例提供的低时延的交换芯片时钟域结构,减小了时钟域的数量,跨时钟域尽量放在交换芯片的边缘进行处理,使得单一时钟域处理的核心逻辑范围增大,核心处理逻辑的时钟频率可一定程度的提升,新增加的第四CDC单元的跨时钟域部分会在某种程度上增加一定延迟,但由于该部分处于交换芯片的边缘,SerDes收发通道的处理时延主要表现在串/并转换,以及并/串转换上,其时延相对固定,从整体上来讲,核心处理逻辑的时钟频率的提升仍在一定程度上降低了交换芯片的交换时延。

利用本发明提供的低时延的交换芯片时钟域结构,具有以下优点:

1、本发明是对现有交换芯片时钟域结构的修正,能够最大范围的扩大核心处理逻辑的范围,可以在工艺允许的条件下,最大化提升核心处理逻辑的时钟频率,从而最大化的降低交换时延;

2、本发明在降低交换时延的同时,简化了整个交换芯片的时钟域结构,使得在交换芯片结构更新或工艺改变时,仅需要更新SerDes相关的时钟结构,核心交换单元的端口和交换逻辑的时钟结构可不做调整,因此本发明提供的时钟域结构从一定程度上决定了交换芯片结构的鲁棒性和强继承性;

3、本发明是一种通用的低时延交换芯片时钟域结构,原则上不局限核心交换单元的结构,适用于现有通用的多种典型交换结构下的交换芯片,例如适用于目前常用的基于CrossBar及基于CrossBar和Central Buffer结合的交换结构的交换芯片,同时也可适用于基于Certral Buffer,基于总线的交换结构的交换芯片;

4、本发明将跨时钟域处理设计到交换芯片的边缘,这使得交换芯片的结构变得更加清晰,交换芯片的模块划分更加简化,弱化需外接集成第三方SerDes IP的依赖性。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

9页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种NMEA数据的波特率识别方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!