Provide various technologies to effectively implement user designs that include clock and/or data recovery circuit systems and/or deserializers in programmable logic devices (PLDs). In one example, a method includes receiving a serial data stream, using at least one Gray-code oscillator to measure the time period between signal transitions in the serial data stream, and generating a recovered data signal corresponding to the serial data stream by comparing the measured time period with one or more calibration periods at least partially. In another example, a system includes a Gray Code Oscillator configured to increment the Gray Code count between signal transitions in a serial data stream, and a Gray Code Converter configured to approximately convert the Gray Code count to multiple binary counts at signal transitions, each of which corresponds to one or more signal transitions in a serial data stream. Intersection.
【技术实现步骤摘要】
【国外来华专利技术】用于可编程逻辑器件的时钟恢复和数据恢复相关申请的交叉引用本专利申请要求于2016年9月8日提交的题为“CDRINPROGRAMMABLELOGIC”的美国临时专利申请62/385,247、于2016年9月9日提交的题为“CDRINPROGRAMMABLELOGIC”的美国临时专利申请62/385,359、于2016年9月9日提交的题为“CDRINPROGRAMMABLELOGIC”的美国临时专利申请62/385,437和于2017年1月30日提交的题为“CDRINPLB”的美国临时专利申请62/452,213的优先权和权益,所有这些专利申请的全部内容通过引入并入本文。
本专利技术总体上涉及可编程逻辑器件,并且更具体地涉及可编程逻辑器件中的时钟和/或数据恢复。
技术介绍
可编程逻辑器件(PLD)(例如,现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)、现场可编程片上系统(FPSC)或其他类型的可编程器件)可以配置有各种用户设计以实现期望的功能。通常,用户设计被合成并且映射到可配置资源(例如,可编程逻辑门、查找表(LUT)、嵌入式硬件或其他类型的资源)和特 ...
【技术保护点】
1.一种方法,包括:接收串行数据流;使用至少一个格雷码振荡器,来测量所述串行数据流的有效载荷部分中的信号转变之间的有效载荷时间段;以及通过至少部分地将所测量的有效载荷时间段与一个或多个校准时间段进行比较,来生成与所述串行数据流的所述有效载荷部分相对应的恢复后的数据信号。
【技术特征摘要】
【国外来华专利技术】2016.09.08 US 62/385,247;2016.09.09 US 62/385,359;1.一种方法,包括:接收串行数据流;使用至少一个格雷码振荡器,来测量所述串行数据流的有效载荷部分中的信号转变之间的有效载荷时间段;以及通过至少部分地将所测量的有效载荷时间段与一个或多个校准时间段进行比较,来生成与所述串行数据流的所述有效载荷部分相对应的恢复后的数据信号。2.根据权利要求1所述的方法,其中测量所述有效载荷时间段包括:通过所述格雷码振荡器,在所述串行数据流的所述有效载荷部分中的所述信号转变之间来递增格雷码计数;以及近似地在所述信号转变处将所述格雷码计数转换为多个二进制计数,每个二进制计数对应于所述有效载荷时间段中的一个有效载荷时间段。3.根据权利要求1所述的方法,其中所述格雷码振荡器包括第一格雷码振荡器,并且其中测量所述有效载荷时间段包括:通过所述第一格雷码振荡器,在所述串行数据流的所述有效载荷部分中的负信号转变与相邻正信号转变之间、从零来递增第一格雷码计数;近似地在所述相邻正信号转变处,将所述第一格雷码计数转换为和所述负信号转变与所述相邻正信号转变之间的低有效载荷时间段相对应的多个低二进制计数;通过第二格雷码振荡器,在所述串行数据流的所述有效载荷部分中的正信号转变与相邻负信号转变之间、从零来递增第二格雷码计数;以及近似地在所述相邻负信号转变处,将所述第二格雷码计数转换为和所述正信号转变与所述相邻负信号转变之间的高有效载荷时间段相对应的多个高二进制计数。4.根据权利要求3所述的方法,其中对于所述串行数据流的所述有效载荷部分的每对相邻的低时间段和高时间段,生成所述恢复后的数据信号包括:将对应的低二进制计数与一个或多个低校准二进制计数和/或数据模式进行比较,以标识与成对的相邻的低时间段和高时间段相关联的对应的低数据模式;将对应的高二进制计数与一个或多个高校准二进制计数和/或数据模式进行比较,以标识与所述成对的相邻的低时间段和高时间段相关联的对应的高数据模式;以及组合所述低数据模式和所述高数据模式,以形成与所述成对的相邻的低时间段和高时间段相对应的所述恢复后的数据信号的一部分。5.根据权利要求1所述的方法,其中生成所述恢复后的数据信号包括:通过至少部分地将所测量的有效载荷时间段与基础校准时间段进行比较、并且在所测量的有效载荷时间段超过所述基础校准时间段时启动恢复后的时钟信号转变,来生成与所述串行数据流相对应的恢复后的时钟信号;以及通过在所述恢复后的时钟信号转变处对所述串行数据流的所述有效载荷部分进行采样,来生成所述恢复后的数据信号。6.根据权利要求1所述的方法,其中所述串行数据流的所述有效载荷部分包括经编码的数据流,并且所述恢复后的数据信号包括相应的编码数据信号,所述方法还包括:将所述恢复后的数据信号解码成8位经编码的数据信号。7.根据权利要求1所述的方法,还包括:检测所述串行数据流的前导码中的训练部分;至少部分地基于所述串行数据流的所述训练部分,来生成一个或多个校准串行数据流;使用所述至少一个格雷码振荡器,来测量对应的一个或多个校准串行数据流中的校准信号转变之间的所述一个或多个校准时间段;以及将所述一个或多个校准时间段存储在对应的一个或多个存储寄存器中。8.根据权利要求7所述的方法,其中测量所述一个或多个校准时间段包括:通过所述格雷码振荡器,在对应的一个或多个校准串行数据流中的校准信号转变之间来递增格雷码计数;以及近似地在所述校准信号转变处,将所述格雷码计数转换为多个校准二进制计数,每个校准二进制计数对应于所述一个或多个校准时间段中的一个校准时间段。9.根据权利要求7所述的方法,其中所述格雷码振荡器包括第一格雷码振荡器,并且其中测量所述一个或多个校准时间段包括:通过所述第一格雷码振荡器,在对应的一个或多个校准串行数据流中的负信号转变与相邻正信号转变之间、从零递增所述第一格雷码计数;近似地在所述相邻正信号转变处,将所述第一格雷码计数转换为和所述负信号转变与所述相邻正信号转变之间的一个或多个校准时间段相对应的多个低校准二进制计数;通过所述第二格雷码振荡器,在对应的一个或多个校准串行数据流中的正信号转变与相邻负信号转变之间、从零递增所述第二格雷码计数;以及近似地在所述相邻负信号转变处,将所述第二格雷码计数转换为和所述正信号转变与所述相邻负信号转变之间的所述一个或多个校准时间段相对应的多个高校准二进制计数。10.一种计算机实现的方法,包括:在用于可编程逻辑器件(PLD)的设计中检测串行数据流输入和解串器块,所述解串器块被配置为生成与由所述串行数据流输入提供的串行数据流的有效载荷部分相对应的恢复后的数据信号;以及将所述设计合成为多个PLD组件,其中所述多个PLD组件被配置为实现:用于所述设计中的所述解串器块的格雷码振荡器,其中所述格雷码振荡器被配置为测量由所述串行数据流输入提供的所述串行数据流的有效载荷部分中的信号转变之间的有效载荷时间段;以及用于所述设计中的所述解串器块的至少一个比较器,其中所述至少一个比较器被配置为将由所述格雷码振荡器提供的所测量的有效载荷时间段与一个或多个校准时间段进行比较,以生成所述恢复后的数据信号。11.根据权利要求10所述的计算机实现的方法,其中所述多个PLD组件还被配置为实现:用于所述设计中的所述解串器块的格雷码转换器,其中所述格雷码转换器被配置为近似地在所述信号转变处,将由所述格雷码振荡器提供的格雷码计数转换为多个二进制计数,每个二进制计数对应于所述有效载荷时间段中的一个有效载荷时间段。12.根据权利要求10所述的计算机实现的方法,其中所述多个PLD组件还被配置为实现:用于所述设计中的所述解串器块的至少一个存储寄存器,其中所述至少一个存储寄存器被配置为存储与所述一个或多个校准时间段相对应的一个或多个校准二进制计数,并且将所述一个或多个校准二进制计数提供给所述至少一个比较器。13.根据权利要求10所述的计算机实现的方法,其中所述串行数据流的所述有效载荷部分包括经编码的数据流,以及所述恢复后的数据信号包括对应的编码数据信号,其中所述多个PLD组件还被配置为实现:用于所述设计中的所述解串器块的解码器,其中所述解码器被配置为将所述恢复后的数据信号解码为8位经编码的数据信号。14.根据权利要求10所述的计算机实现的方法,其中所述多个PLD组件还被配置为实现:用于所述设计中的所述解串器块的数据恢复电路,包括所述至少一个比较器,其中所述数据恢复电路被配置为接收所述一个或多个校准时间段和所测量的有效载荷时间段,并且生成与所述串行数据流相对应的恢复后的数据信号,并且其中所述恢复后的数据信号至少部分地基于所述至少一个比较器的输出状态的变化。15.根据权利要求10所述的计算机实现的方法,其中所述多个PLD组件还被配置为实现:用于所述设计中的所述解串器块的校准信号发生器,其中所述校准信号发生器被配置为检测所述串行数据流的前导码中的训练部分、和/或至少部分地基于所述串行数据流的所述训练部分来生成一个或多个校准串行数据流。16.根据权利要求10所述的计算机实现的方法,其中所述格雷码振荡器包括第一格雷码振荡器,并且其中所述多个PLD组件还被配置为实现:用于所述设计中的所述解串器块的第二格雷码振荡器,其中所述第一格雷码振荡器被配置为在所述串行数据流的所述有效载荷部分中的负信号转变与相邻正信号转变之间、从零递增第一格雷码计数,并且所述第二格雷码振荡器被配置为在所述串行数据流的所述有效载荷部分中的正信号转变与相邻负信号转变之间、从零递增第二格雷码计数。17.根据权利要求16所述的计算机实现的方法,其中:所述第一格雷码振荡器和/或所述第二格雷码振荡器每个完全在所述PLD的可编程逻辑块内被实现。18.根据权利要求10所述的计算机实现的方法,还包括:接收所述设计;在所述多个PLD组件之间布线连接件;生成配置数据,以根据所述多个PLD组件和用于所述设计的布线来配置所述PLD的物理组件;以及利用所述配置数据来编程所述PLD。19.一种包括配置数据的PLD,所述PLD包括根据权利要求10所述的计算机实现的方法合成的所述多个PLD组件。20.一种用于执行根据权利要求10所述的计算机实现的方法的系统...
【专利技术属性】
技术研发人员:B·沙佩吉斯勒,
申请(专利权)人:美国莱迪思半导体公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。