以太网接口芯片的验证系统和验证方法与流程

文档序号:20347277发布日期:2020-04-10 22:43阅读:909来源:国知局
以太网接口芯片的验证系统和验证方法与流程

本发明涉及网络通信技术领域,尤其是涉及一种以太网接口芯片的验证系统和验证方法。



背景技术:

对于交换机来说,以太网接口是一个很重要的组成部分,以太网接口芯片的验证也就成为了很关键的一点。

常规的以太网接口芯片验证系统包括rs层、pcs层和pma层,其中rs(reconciliationsublayer,协调子层)层的作用是使不同介质类型对上层(mac子层)透明。pcs(physicalcodingsublayer,物理编码子层)层用于线路编码和crc校验,pma(physicalmediumattachment,物理媒介附加子层)层用于串行化和解串,其与serdes(高速串行接口)连接。rs层接收测试报文后,pcs层对测试报文进行编码,pma层将编码后的报文进行串行化,serdes用于将比特流数据发送给以太网接口芯片进行测试。

在数据的传送过程中,rs层使用一个时钟用于驱动数据的发送,pma使用另一个时钟将数据送到serdes。rs层和pcs层传送的比特数通常是整数倍关系,因此这两个时钟是倍数关系,可以共用rs层的时钟。而pcs中对于10g以上的速率会进行64比特到66比特的编码以及其他可能的编码,导致pma上的速率比前两层稍快。这就导致pma和rs的时钟并非整数倍关系,无法在同时取整的情况下取到比例精确的两个时钟。在两个时钟取不到精确值的情况下,会导致pma层传送到serdes上时出现数据不够或数据多出被丢弃的情况。即如果pma的时钟取的慢一点,中间的数据就会不够;如果pma的时钟取的快一点就会有数据被丢弃,当然也可以设置fifo对数据进行缓存,但是由于这种情况缓存的数据会越积越多,从而需要的fifo的内存要非常大;另外,即使fifo非常大,也可能由于无限制增长的缓存导致数据被丢弃。



技术实现要素:

本发明的目的在于提供一种以太网接口芯片的验证系统和验证方法。

为实现上述发明目的之一,本发明一实施方式提供一种以太网接口芯片的验证系统,所述系统包括rs层、pcs层、pma层和连接所述rs层和pma层的流控单元,其中:

所述pma层设置有pma时钟和缓冲器,所述缓冲器用于存储从所述pcs层传送过来的数据,所述pma时钟用于控制所述pma层将所述缓冲器中的数据发送给待测试的以太网接口芯片;

所述流控单元通过判断所述缓冲器中数据量是否充足,控制rs层数据的发送;

所述rs层在所述流控单元的控制下向所述pcs层发送数据;

所述pcs层将所述rs层发送的数据发送给所述pma层。

作为本发明一实施方式的进一步改进,所述流控单元还用于当判定所述缓冲器中的数据量不足时,向所述rs层发送请求;

所述rs层还用于当接收到所述流控单元的请求后,向所述pcs层发送数据。

作为本发明一实施方式的进一步改进,所述流控单元还用于:

根据所述系统的对外传输速率、所pma时钟的选取和从所述流控单元向rs层发送请求到所述pma层接收到数据的时间间隔,设定所述缓冲器的数据量阈值;

当检测到所述缓冲器的数据量小于数据量阈值时,判定pma层的缓冲器中的数据量不足。

作为本发明一实施方式的进一步改进,所述pcs层包括多条pcslane,每条pcslane都设置有fifo,所述pcslane中的数据拆分成单比特送入对应的fifo,所述fifo将单比特数据送入所述pma层。

为实现上述发明目的之一,本发明一实施方式提供一种以太网接口芯片的验证方法,所述方法使用上述任一所述的验证系统对以太网接口芯片进行验证,所述方法包括:

流控单元判定pma层的缓冲器中的数据量不足,向rs层发送请求;

所述rs层在接收到所述流控单元的请求后,将从外部接收到的数据发送给pcs层;

所述pcs层将接收到的数据发送给pma层;

所述pma层将接受到的数据存储在缓冲器中,并在pma时钟的控制下,将所述缓冲器中的数据发送给待测试的以太网接口芯片。

作为本发明一实施方式的进一步改进,所述“流控单元判定pma层的缓冲器中的数据量不足”具体包括:

根据所述系统的对外传输速率、所述pma时钟的选取和从所述流控单元向rs层发送请求到所述pma层接收到数据的时间间隔,设定所述缓冲器的数据量阈值;

当检测到所述缓冲器的数据量小于数据量阈值时,判定pma层的缓冲器中的数据量不足。

作为本发明一实施方式的进一步改进,所述pcs层包括多条pcslane,每条pcslane都设置有fifo,所述pcslane中的数据拆分成单比特送入对应的fifo,所述fifo将单比特数据送入所述pma层,所述pma层将数据通过serdes传送给待测试的以太网接口芯片。

作为本发明一实施方式的进一步改进,所述方法还包括:

将所述pcslane中的数据送入对应的fifo之前,先在不同的fifo中送入不同数量比特的随机数据,用于制造pcslane之间传输的数据的错位。

作为本发明一实施方式的进一步改进,所述方法还包括:

根据pcslane的数量,产生对应数量的互不相同的随机数,随机分配给各个pcslane;

将所有的pcslane根据分配的随机数的大小进行排序,用于制造pcslane的乱序。

作为本发明一实施方式的进一步改进,所述方法还包括:

pma层获取与其连接的serdes的位宽;

根据所述位宽,所述pma层将缓冲器中的数据拼接成与所述serdes的位宽相同的数据块,发送给所述serdes。

与现有技术相比,本发明的以太网接口芯片的验证系统,只有pma层设置有时钟,rs层不设置时钟,rs层数据的传送由流控单元控制,这样pma层需要缓冲的数据量可以控制在一定的范围内,而不会随着时间的增加而无限制的增长,能够更好的对以太网接口芯片进行验证。另外,本发明的以太网接口芯片的验证方法,能够制造pcslane之间传输的数据的错位和打乱pcslane的顺序,用以验证太网接口芯片的容错功能;另外,使用所述验证方法,可以做到灵活支持不同位宽的serdes。

附图说明

图1是本发明以太网接口芯片的验证系统的模块示意图。

图2是本发明以太网接口芯片的验证方法的流程示意图。

具体实施方式

以下将结合附图所示的具体实施方式对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。

如图1所示,本发明提供一种以太网接口芯片的验证系统,所述系统包括rs层、pcs层、pma层和连接所述rs层和pma层的流控单元。rs层用于接收外部数据,外部数据按照顺序从rs层传送到pcs层,再传送到pma层,最终pma层将数据通过serdes发送给待测试的以太网接口芯片。

其中,所述pma层设置有pma时钟和缓冲器,所述缓冲器用于存储从所述pcs层传送过来的数据,所述pma时钟用于控制所述pma层将所述缓冲器中的数据发送给待测试的以太网接口芯片。优选所述pma时钟的时钟信号处于上升沿或下降沿时,触发所述缓冲器发送数据。

所述流控单元通过判断所述缓冲器中数据量的是否充足,控制rs层数据的发送。具体的,当所述流控单元判定所述缓冲器中的数据量不足时,向所述rs层发送请求,所述rs层接收到所述流控单元的请求后,向所述pcs层发送数据。

需要说明的是,所述缓冲器中的数据量不足,是指缓冲器中的数据量小于数据量阈值。所述数据量阈值是在确保在任何时候所述缓存器中的数据量都大于每次发送给serdes的数据量的一个合理数据量,优选所述合理数据量为最小数据量,从而所述缓冲器需要的内存最小。

所述数据量阈值的设定与两个因素相关:(1)所述系统的对外传输速率(所述对外传输速率可以预先设置好或协商好)和时钟的选取;(2)从所述流控单元向rs层发送请求到所述pma层接收到数据的时间间隔。假设根据因素(1)确定每个时钟周期发送给serdes的数据量为n,因素(2)的时间间隔为m(以时钟周期为单位,向上取整,即如果时钟间隔为1.3个时钟周期,则m为2),所述数据量阈值>=n*m。

需要说明的是,所述流控单元可以每个时钟周期(pma时钟)都对缓冲器进行检测,也可以每r个时钟周期检测一次(r为大于1的正整数),流控单元检测的间隔越短,所述缓冲器的内存就可以相对小,反之,流控单元检测的间隔越长,所述缓冲器的内存就需要相对大。

本发明的验证系统,只有pma层设置有时钟,rs层不设置时钟,rs层数据的传送由流控单元控制,这样pma层需要缓冲的数据量可以控制在一定的范围内,而不会随着时间的增加而无限制的增长,能够更好的对以太网接口芯片进行验证。

在一个优选的实施方式中,所述pcs层包括多条pcslane(pcs通道),每条pcslane都设置有fifo,所述pcslane中的数据拆分成单比特送入对应的fifo,所述fifo将单比特数据送入所述pma层。

如图2所示,本发明还提供一种以太网接口芯片的验证方法,所述方法使用上述的验证系统对以太网接口芯片进行验证,所述方法包括:

步骤s100:流控单元判定pma层的缓冲器中的数据量不足,向rs层发送请求。

当流控单元检测到所述缓冲器的数据量小于数据量阈值时,判定pma层的缓冲器中的数据量不足。此时,向rs层发送数据下发请求。所述数据量阈值的设定前面已经解释过,此处不再赘述。

步骤s200:所述rs层在接收到所述流控单元的请求后,将从外部接收到的数据发送给pcs层。

所述rs层不再根据时钟信号向下层(pcs层)发送数据,而是只有接收到rs层的请求时,才向下层发送数据。

步骤s300:所述pcs层将接收到的数据发送给pma层。

所述pcs层包括多条pcslane,每条pcslane都设置有fifo。所述pcslane中的数据拆分成单比特送入对应的fifo,所述fifo将单比特数据送入所述pma层。

步骤s400:所述pma层将接收到的数据存储在缓冲器中,并在pma时钟的控制下,将所述缓冲器中的数据发送给待测试的以太网接口芯片。

由于所述验证系统只在pma层设置时钟,rs层不设置时钟,rs层数据的传送由流控单元控制,从而pma层需要缓冲的数据量可以控制在一定的范围内,因此所述缓冲器的大小,可以根据所述需要缓冲的数据量进行选取。所述pma时钟控制所述缓存器中数据的发送,优选所述pma时钟的时钟信号处于上升沿或下降沿时,触发所述缓冲器发送数据。

所述pma需要将所述缓冲器中的数据发送给serdes,serdes再发送给待测试的以太网接口芯片。

在一个优选的实施方式中,将所述pcslane中的数据送入对应的fifo之前,先在不同的fifo中送入不同数量比特的随机数据,用于制造pcslane之间传输的数据的错位。例如假设有4个pcslane,分别在对应的fifo中送入1、5、3、7个比特的随机数据,在所述pcslane中的数据送入对应的fifo后,fifo中的pcslane的数据不是出于对齐状态的,而是存在错位。制造这种错位数据,能够测试以太网接口芯片的容错功能。

在另一个优选的实施方式中,制造乱序的pcslane,也能够测试以太网接口芯片的容错功能。具体的,根据pcslane的数量,产生对应数量的互不相同的随机数,随机分配给各个pcslane;将所有的pcslane根据分配的随机数的大小进行排序。例如有4个pcslane,lane1、lane2、lane3和lane4,产生4个互不相同的随机数9、6、5和8,依次分配给上述pcslane,再根据随机数对pcslane进行排序,得到新的排序为:lane3、lane2、lane4和lane1。

在一个优选的实施方式中,pma层先获取与其连接的serdes的位宽,然后根据所述位宽,将缓冲器中的数据拼接成与所述serdes的位宽相同的数据块,发送给所述serdes。这种方式可以做到灵活支持不同位宽的serdes。

应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1