serdes(是英文SERializer(串行器)/DESerializer(解串器)的简称)速率超过50G之后,在VSR光模块场景下SSPRQ使用较为广泛。SSPRQ用于PAM4光模块眼图压力,闭合率测试。
但是有很多serdes IP不支持此功能。出于测试需要需要新设计SSPRQ码型测试。
SSPRQ的定义在802.3协议内部,它来自PRBS31 的4段码型,抽取了最严酷的几段,可以在短时间内遍历一轮数据发送。
相比而言PRBS31需要发送很长时间才能完整的是所有数据循环一次。而其中的绝大部分时候数据ISI不够严酷。
需要注意SSPRQ只有TX,目的是发送给示波器,因此无RX check模块。
方法一:SSPRQ码型可以使用802.3官网现成的数据,然后保存到区域,使用固定的TX CLK并口频率,以及位宽进行循环发送,加载数据到serdes的并口,完成串并转换。可以使用一块SRAM ,例如1024X128,使用TX CLK高频时钟域做计数器,最好寄存器可以配置最大1024,然后轮流一次将128bit数据发送。开始前将短码型的数据如SSPRQ写入RAM。
实现后还可以设计其他的短码型数据,配置循环周期进行测试,例如JP03A,JP03B等等。
为了节省资源可以多个lane使用1个SSPRQ发生器,通过寄存器MUX加载到要测试的lane上。临近的lane使用自带的PRBS31做串扰就可以满足协议要求。
方法二:安照协议用4个PRBS31 gen,做个计数器,分成4段,每个PRBS31 GEN用不同的种子产生数据,然后进行拼接,翻转,去头去尾而成。这个方法适用于数据逻辑设计处理技巧非常熟练的工程师。做好后只能做SSPRQ,无法做其他功能。