一种适用于JESD204B协议的逗号检测和字对齐方法及系统与流程

文档序号:12824686阅读:495来源:国知局
一种适用于JESD204B协议的逗号检测和字对齐方法及系统与流程

本发明属于高速串行接口芯片技术领域,涉及一种适用于jesd204b协议的逗号检测和字对齐方法及系统。



背景技术:

随着人们对数据量需求的不断增长,传统并行的io接口技术已经成为了数据高速率传输的瓶颈难题。作为数据转换器和逻辑器件高速互联的jesd204b接口协议,相比传统的cmos接口和lvds接口,在高速传输数据、简化系统设计方面具有很大优势。jesd204b协议本质上是serdes技术中的一种标准,主要是为数据转换器和逻辑器件的高速互联而制定的。而在serdes接收机部分,逗号检测(commadetection)模块主要是用来指示字节边界,获取和验证字节同步。通常使用的comma码有k28.1(0011111001或1100000110)、k28.5(0011111010或1100000101)。一般地,逗号检测和字对齐的结构有串行结构和并行结构。串行结构电路非常简单,但是也有一些缺点,比如高速情况很难满足时序要求并且动态功耗大。并行结构由于是在低速率时钟域中进行操作,所以可以很容易满足高速serdes的设计要求。现有技术中的逗号检测和字对齐方法,如果要满足jesd204b协议规定的12.5gbps的速率要求,使用并行10位的逗号检测和字对齐模块至少要在1.25ghz(12.5g/10)时钟速率下满足时序要求,可以看出如果不采用先进的工艺和全定制设计其很难满足速率要求。



技术实现要素:

有鉴于此,本发明的目的在于提供一种适用于jesd204b协议的逗号检测和字对齐方法及系统,能够满足jesd204b协议规定的12.5gbps的速率要求。

为达到上述目的,本发明提供如下技术方案:

一种适用于jesd204b协议的逗号检测和字对齐方法,所述方法包括:

利用第一寄存器和第二寄存器分别缓存输入的n位数据;其中,所述n位数据中包含至少一个完整的逗号检测码;

从所述第一寄存器中取出n位数据,将取出的n位数据进行预设次数的移位,每次移位之后均得到一个n位的移位序列;

在各个所述移位序列中检测所述完整的逗号检测码,以确定所述逗号检测码的位置信息;

在检测到所述逗号检测码的位置信息后,根据状态机生成移位地址;所述移位地址的长度与所述逗号检测码的位置信息的长度相同;

根据所述移位地址,对所述第一寄存器和所述第二寄存器中的2n位数据进行移位,以得到字对齐的数据。

进一步地,所述完整的逗号检测码中包括两串长度相同并且极性相反的k28.5码。

进一步地,所述n为40,所述完整的逗号检测码的长度为20位,所述预设次数为10次。

进一步地,将取出的n位数据进行预设次数的移位包括:

在每次移位时,将取出的n为数据向同一个方向进行移位,并且每次仅向所述方向同步移动一位数据。

进一步地,根据状态机生成移位地址包括:

将状态机复位之后进入搜寻状态,当接收到的触发信息有效时,跳转至锁定状态,以锁定所述移位地址;

当状态机处于锁定状态时,如果接收到来自接收端的搜寻出错信号,则跳转至搜寻状态,以检测所述逗号检测码的位置。

一种适用于jesd204b协议的逗号检测和字对齐系统,所述系统包括第一寄存器、第二寄存器、移位逗号检测模块、状态锁定模块以及移位输出模块,其中:

所述第一寄存器和所述第二寄存器,用于分别缓存输入的n位数据;其中,所述n位数据中包含至少一个完整的逗号检测码;

所述移位逗号检测模块,用于从所述第一寄存器中取出n位数据,将取出的n位数据进行预设次数的移位,每次移位之后均得到一个n位的移位序列;在各个所述移位序列中检测所述完整的逗号检测码,以确定所述逗号检测码的位置信息;

所述状态锁定模块,用于在检测到所述逗号检测码的位置信息后,根据状态机生成移位地址;所述移位地址的长度与所述逗号检测码的位置信息的长度相同;

所述移位输出模块,用于根据所述移位地址,对所述第一寄存器和所述第二寄存器中的2n位数据进行移位,以得到字对齐的数据。

进一步地,所述完整的逗号检测码中包括两串长度相同并且极性相反的k28.5码。

进一步地,所述n为40,所述完整的逗号检测码的长度为20位,所述预设次数为10次。

进一步地,所述移位逗号检测模块还用于在每次移位时,将取出的n为数据向同一个方向进行移位,并且每次仅向所述方向同步移动一位数据。

进一步地,所述状态锁定模块用于将状态机复位之后进入搜寻状态,当接收到的触发信息有效时,跳转至锁定状态,以锁定所述移位地址;当状态机处于锁定状态时,如果接收到来自接收端的搜寻出错信号,则跳转至搜寻状态,以检测所述逗号检测码的位置。

本发明的有益效果为:

本发明在进行逗号检测和对齐时,可以先从寄存器中缓存的存在错位的数据中检测出逗号检测码的位置信息。然后可以通过所述位置信息确定出相应的移位地址,进而可以根据所述移位地址进行字对齐。进一步地,本申请可以在并行的40位数据中进行逗号检测,所以本发明的方案只需在312.5mhz(12.5g/40)的时钟域下满足时序要求即可。

附图说明

为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:

图1为本发明中的系统框架示意图;

图2为本发明中的移位检测示意图;

图3为本发明中的状态锁定示意图。

具体实施方式

下面将结合附图,对本发明的优选实施例进行详细的描述。

本申请实施方式提供一种适用于jesd204b协议的逗号检测和字对齐方法,所述方法包括:

利用第一寄存器和第二寄存器分别缓存输入的n位数据;其中,所述n位数据中包含至少一个完整的逗号检测码;

从所述第一寄存器中取出n位数据,将取出的n位数据进行预设次数的移位,每次移位之后均得到一个n位的移位序列;

在各个所述移位序列中检测所述完整的逗号检测码,以确定所述逗号检测码的位置信息;

在检测到所述逗号检测码的位置信息后,根据状态机生成移位地址;所述移位地址的长度与所述逗号检测码的位置信息的长度相同;

根据所述移位地址,对所述第一寄存器和所述第二寄存器中的2n位数据进行移位,以得到字对齐的数据。

在本实施方式中,所述完整的逗号检测码中包括两串长度相同并且极性相反的k28.5码。

在本实施方式,所述n为40,所述完整的逗号检测码的长度为20位,所述预设次数为10次。

在本实施方式,将取出的n位数据进行预设次数的移位包括:

在每次移位时,将取出的n为数据向同一个方向进行移位,并且每次仅向所述方向同步移动一位数据。

在本实施方式,根据状态机生成移位地址包括:

将状态机复位之后进入搜寻状态,当接收到的触发信息有效时,跳转至锁定状态,以锁定所述移位地址;

当状态机处于锁定状态时,如果接收到来自接收端的搜寻出错信号,则跳转至搜寻状态,以检测所述逗号检测码的位置。

请参阅图1,本申请实施方式还提供一种适用于jesd204b协议的逗号检测和字对齐系统,所述系统包括第一寄存器、第二寄存器、移位逗号检测模块、状态锁定模块以及移位输出模块,其中:

所述第一寄存器和所述第二寄存器,用于分别缓存输入的n位数据;其中,所述n位数据中包含至少一个完整的逗号检测码;

所述移位逗号检测模块,用于从所述第一寄存器中取出n位数据,将取出的n位数据进行预设次数的移位,每次移位之后均得到一个n位的移位序列;在各个所述移位序列中检测所述完整的逗号检测码,以确定所述逗号检测码的位置信息;

所述状态锁定模块,用于在检测到所述逗号检测码的位置信息后,根据状态机生成移位地址;所述移位地址的长度与所述逗号检测码的位置信息的长度相同;

所述移位输出模块,用于根据所述移位地址,对所述第一寄存器和所述第二寄存器中的2n位数据进行移位,以得到字对齐的数据。

在本实施方式,所述完整的逗号检测码中包括两串长度相同并且极性相反的k28.5码。

在本实施方式,所述n为40,所述完整的逗号检测码的长度为20位,所述预设次数为10次。

在本实施方式,所述移位逗号检测模块还用于在每次移位时,将取出的n为数据向同一个方向进行移位,并且每次仅向所述方向同步移动一位数据。

在本实施方式,所述状态锁定模块用于将状态机复位之后进入搜寻状态,当接收到的触发信息有效时,跳转至锁定状态,以锁定所述移位地址;当状态机处于锁定状态时,如果接收到来自接收端的搜寻出错信号,则跳转至搜寻状态,以检测所述逗号检测码的位置。

具体地,请参阅图1至图3,首先可以使用两个40位的寄存器reg0、reg1来缓存输入的40位数据data_in[39:0],根据jesd204b协议要求,在初始阶段发送端一直发送k28.5码(即comma检测码),所以接收端接收到错位的40位数据中至少存在1个完整的由两个连续极性相反k28.5组成的20位comma码(00111110101100000101或11000001010011111010)。逗号检测如图2所示,然后从reg1寄存器取出40位数据来进行十次的移位逗号检测即可发现comma码的位置,并产生十位的comma码位置信息sel[9:0],如图1所示的例子,只需移位两次既可发现comma码位置(根据图2移位检测),所以产生的sel[9:0]=10’b0000_0001_00。请参阅图3,状态锁定模块是在检测到comma码位置信号后根据状态机来产生移位地址shiftaddr[9:0],以便在后续过程中对所有数据进行移位操作,其操作如下:复位后进入search状态,在该状态下使用中间变量sel_tmp[9:0]保存sel[9:0]信息。当trigger信号有效时(即检测到comma码),跳转到lock状态,此时sel_tmp[9:0]由shiftaddr[9:0]给出。所以,只需sel_tmp[9:0]赋值给shiftaddr[9:0]既可实现锁定sel[9:0]。图1中的搜寻出错信号来自接收端jesd204b控制器的输出,其有效时表明没有检测到comma码,此时需要重新进行comma检测,所以状态机跳转search状态。移位输出模块是根据shiftaddr[9:0]信号来对80位数据进行移位(80位数设为shift_data_reg[79:0]),从而输出字对齐的信号。如图1所示的例子,根据图2、图3得到了comma的位置信号shiftaddr[9:0]=10’b0000_0001_00,shiftaddr[2]=1’b1表示shift_data_reg[79:0]取出shift_data_reg[41:2]得到对齐后40位数据。同理,假如shiftaddr[9:0]=10’b0000_0100_00则从shift_data_reg[79:0]取出shift_data_reg[43:4]得到对齐后40位数据。

本发明的有益效果为:

本发明在进行逗号检测和字对齐时,可以先从寄存器中缓存的存在错位的数据中检测出逗号检测码的位置信息。然后可以通过所述位置信息确定出相应的移位地址,进而可以根据所述移位地址进行字对齐。进一步地,本申请可以在并行的40位数据中进行逗号检测,所以本发明的方案只需在312.5mhz(12.5g/40)的时钟域下满足时序要求即可。

最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。

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