CN106788353A - 一种时钟偏斜纠正方法及电路、终端设备 - Google Patents

一种时钟偏斜纠正方法及电路、终端设备 Download PDF

Info

Publication number
CN106788353A
CN106788353A CN201611031294.XA CN201611031294A CN106788353A CN 106788353 A CN106788353 A CN 106788353A CN 201611031294 A CN201611031294 A CN 201611031294A CN 106788353 A CN106788353 A CN 106788353A
Authority
CN
China
Prior art keywords
clock
sequential logic
cell block
logic cell
delay
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201611031294.XA
Other languages
English (en)
Inventor
冯坚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Pango Microsystems Co Ltd
Original Assignee
Shenzhen Pango Microsystems Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Pango Microsystems Co Ltd filed Critical Shenzhen Pango Microsystems Co Ltd
Priority to CN201611031294.XA priority Critical patent/CN106788353A/zh
Publication of CN106788353A publication Critical patent/CN106788353A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/22Circuits having more than one input and one output for comparing pulses or pulse trains with each other according to input signal characteristics, e.g. slope, integral
    • H03K5/26Circuits having more than one input and one output for comparing pulses or pulse trains with each other according to input signal characteristics, e.g. slope, integral the characteristic being duration, interval, position, frequency, or sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/159Applications of delay lines not covered by the preceding subgroups

Landscapes

  • Physics & Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Pulse Circuits (AREA)

Abstract

本发明提供了一种时钟偏斜纠正方法及电路、终端设备,该方法包括:确定待进行时钟偏斜纠正的目标时序逻辑单元块,确定目标时序逻辑单元块中参考时序逻辑单元块及纠正时序逻辑单元块,检测参考时序逻辑单元块输入时钟与纠正时序逻辑单元块输入时钟在相同时钟变化沿的时钟偏斜,根据时钟偏斜,计算对纠正时序逻辑单元块输入时钟的纠正参数,根据纠正参数,对纠正时序逻辑单元块输入时钟进行延时纠正。本发明可以纠正时钟偏斜的问题,打破传统时钟网络的局限的设计方法,亦解决了占用过多金属层影响芯片面积等问题。

Description

一种时钟偏斜纠正方法及电路、终端设备
技术领域
本发明涉及集成电路设计领域,尤其涉及一种用于可编程逻辑器件的时钟偏斜纠正方法及电路、终端设备。
背景技术
在集成电路芯片规模日益增加及设计工艺的不断提升的大背景下,作为半定制集成电路的FPGA(Field-Programmable GateArray,现场可编程门阵列)FPGA(Fieldprogrammable Gate Array),为满足不同用户在应用上更灵活的各种需求,其芯片规模亦再不断增大。用户通过FPGA的配套软件下载位流文件到FPGA芯片,从而将用户通过硬件语言编写的可实现某种功能的电路在FPGA芯片上得到实现。正因为FPGA设计的便利性,FPGA的应用领域越来越广泛,同时,用户希望FPGA芯片能支持更复杂的逻辑设计电路及时序设计电路,于是在FPGA芯片规模增加的同时,对于逻辑设计电路及时序设计电路的时钟网络的要求也越来越高。
FPGA芯片规模的增加,可以容纳更多的供用户设计的时序逻辑单元块。同时,带来的问题是,逻辑单元数量的增加及物理面积的增加,导致不同时序逻辑单元块的时钟会带来偏斜,从而可能引起时序设计的错误,这是用户所不希望看到的。
如图1所示,为解决时钟偏斜的问题,比较常用的解决方法是,将芯片中心位置作为全局时钟的起始点,然后通过等长传送路径连接到不同的时序逻辑单元区域建立时钟树,但带来的问题是:一方面限制了全局时钟的起始点,不利于芯片设计的布局;另一方面,等长的时钟传送路径需要消耗大面积的金属层,从而导致芯片面积不得不因此增大,造成应用的不便和生产成本的浪费。
发明内容
本发明提供了一种时钟偏斜纠正方法及电路、终端设备,以解决现有时钟偏斜解决方法存在的限制全局时钟起点的问题。
本发明提供了一种用于可编程逻辑器件的时钟偏斜纠正方法,包括:
确定待进行时钟偏斜纠正的目标时序逻辑单元块,目标时序逻辑单元块包括至少两个设置在同一可编程逻辑器件内、且共用同一全局时钟源的时序逻辑单元块;
根据目标时序逻辑单元块中各时序逻辑单元块输入时钟的传输路径,确定目标时序逻辑单元块中参考时序逻辑单元块及纠正时序逻辑单元块;传输路径为时钟信号从全局时钟源到时序逻辑单元块的信号传输路径;
检测参考时序逻辑单元块输入时钟与纠正时序逻辑单元块输入时钟在相同时钟变化沿的时钟偏斜;
根据时钟偏斜,计算对纠正时序逻辑单元块输入时钟的纠正参数;
根据纠正参数,对纠正时序逻辑单元块输入时钟进行延时纠正。
进一步的,根据目标时序逻辑单元块中各时序逻辑单元块输入时钟的传输路径,确定目标时序逻辑单元块中参考时序逻辑单元块及纠正时序逻辑单元块包括:
获取各时序逻辑单元块输入时钟的传输路径的路径长度;
比较各时序逻辑单元块输入时钟的传输路径的路径长度;
将路径长度最大的传输路径对应的时序逻辑单元块,作为参考时序逻辑单元块,其他时序逻辑单元块作为纠正时序逻辑单元块。
进一步的,将路径长度最大的传输路径对应的时序逻辑单元块,作为参考时序逻辑单元块,其他时序逻辑单元块作为纠正时序逻辑单元块,包括:
若仅存在两种路径长度时,在延时纠正时,将路径长度最大的传输路径对应的时序逻辑单元块,作为参考时序逻辑单元块,其他时序逻辑单元块作为纠正时序逻辑单元块;
若存在至少三种路径长度时,在所有延时纠正中,将路径长度最大的传输路径对应的时序逻辑单元块,作为参考时序逻辑单元块,其他时序逻辑单元块作为纠正时序逻辑单元块;
或者,
若存在至少三种路径长度时,在第一次延时纠正中,将路径长度最大的传输路径对应的时序逻辑单元块,作为参考时序逻辑单元块,将路径长度第二大的传输路径对应的时序逻辑单元块,作为纠正时序逻辑单元块,进行第一次延时纠正;在第二次延时纠正中,将路径长度第二大的传输路径对应的时序逻辑单元块,作为参考时序逻辑单元块,将路径长度第三大的传输路径对应的时序逻辑单元块,作为纠正时序逻辑单元块,进行第二次延时纠正;依次循环,至所有的非路径长度最大的时序逻辑单元块都进行延时纠正。
进一步的,检测参考时序逻辑单元块输入时钟与纠正时序逻辑单元块输入时钟在相同时钟变化沿的时钟偏斜包括:
将参考时序逻辑单元块输入时钟作为第一寄存器的输入时钟,将纠正时序逻辑单元块输入时钟作为第二寄存器的输入时钟,第一寄存器及第二寄存器均为时钟上升沿触发;第一寄存器的输出信号连接脉冲信号生成器,第二寄存器的输出信号进过反相器后连接脉冲信号生成器,脉冲信号生成器仅在两个输入信号都为高电平时,输出高电平脉宽信号;
当参考时序逻辑单元块输入时钟的第一个上升沿到达,第一寄存器被触发,其输出信号由0变成1,第二寄存器的输出为0,脉冲信号生成器由0变成1;
当纠正时序逻辑单元块输入时钟的第一个上升沿到达,第二寄存器被触发,第二寄存器输出由0变成1,脉冲信号生成器由1变成0,得到一个高脉宽等于纠正时序逻辑单元块输入时钟与参考时序逻辑单元块输入时钟之间的时钟偏斜的偏斜脉冲信号。
进一步的,根据时钟偏斜,计算对纠正时序逻辑单元块输入时钟的纠正参数包括:
将偏斜脉冲信号依次通过串联的多个单位延迟单元,单位延迟单元使得脉冲信号产生单位时间的延迟;
各单位延迟单元分别输出一个延迟脉冲信号;
比较各单位延迟单元的延迟脉冲信号与偏斜脉冲信号,确定与偏斜脉冲信号具备相同高脉宽的延迟脉冲信号对应的目标单位延迟单元;
根据目标单位延迟单元的位置属性,生成纠正参数。
进一步的,根据纠正参数,对纠正时序逻辑单元块输入时钟进行延时纠正包括:
将纠正参数传输至延时单元链,延时单元链包括依次串联的多个时钟延迟单元、及与各时钟延迟单元分别对应的传输门,时钟延迟单元用于对纠正时序逻辑单元块输入时钟进行单位时间延迟;
根据纠正参数控制各时钟延迟单元对应的传输门的开关,控制对应时钟延迟单元是否工作;
处于工作状态的时钟延迟单元对纠正时序逻辑单元块输入时钟进行单位时间延迟,生成延迟纠正时序逻辑单元块输入时钟后,输入至纠正时序逻辑单元块。
本发明提供了一种用于可编程逻辑器件的时钟偏斜纠正电路,包括:时钟偏斜检测模块、偏斜控制模块及延时单元链,其中,
可编程逻辑器件包括待进行时钟偏斜纠正的目标时序逻辑单元块,目标时序逻辑单元块包括至少两个设置在同一可编程逻辑器件内、且共用同一全局时钟源的时序逻辑单元块;用于根据目标时序逻辑单元块中各时序逻辑单元块输入时钟的传输路径,确定目标时序逻辑单元块中参考时序逻辑单元块及纠正时序逻辑单元块;传输路径为时钟信号从全局时钟源到时序逻辑单元块的信号传输路径;
时钟偏斜检测模块用于检测参考时序逻辑单元块输入时钟与纠正时序逻辑单元块输入时钟在相同时钟变化沿的时钟偏斜;
偏斜控制模块用于根据时钟偏斜,计算对纠正时序逻辑单元块输入时钟的纠正参数;
延时单元链用于根据纠正参数,对纠正时序逻辑单元块输入时钟进行延时纠正。
进一步的,时钟偏斜检测模块包括:第一寄存器、第二寄存器、反相器、脉冲信号生成器,将参考时序逻辑单元块输入时钟作为第一寄存器的输入时钟,将纠正时序逻辑单元块输入时钟作为第二寄存器的输入时钟,第一寄存器及第二寄存器均为时钟上升沿触发;第一寄存器的输出信号连接脉冲信号生成器,第二寄存器的输出信号进过反相器后连接脉冲信号生成器,脉冲信号生成器仅在两个输入信号都为高电平时,输出高电平脉宽信号;用于当参考时序逻辑单元块输入时钟的第一个上升沿到达,第一寄存器被触发,其输出信号由0变成1,第二寄存器的输出为0,脉冲信号生成器由0变成1,当纠正时序逻辑单元块输入时钟的第一个上升沿到达,第二寄存器被触发,第二寄存器输出由0变成1,脉冲信号生成器由1变成0,得到一个高脉宽等于纠正时序逻辑单元块输入时钟与参考时序逻辑单元块输入时钟之间的时钟偏斜的偏斜脉冲信号。
进一步的,偏斜控制模块包括依次串联的多个单位延迟单元,单位延迟单元使得脉冲信号产生单位时间的延迟,用于将偏斜脉冲信号依次通过串联的多个单位延迟单元,各单位延迟单元分别输出一个延迟脉冲信号,比较各单位延迟单元的延迟脉冲信号与偏斜脉冲信号,确定与偏斜脉冲信号具备相同高脉宽的延迟脉冲信号对应的目标单位延迟单元,根据目标单位延迟单元的位置属性,生成纠正参数。
进一步的,延时单元链包括依次串联的多个时钟延迟单元、及与各时钟延迟单元分别对应的传输门,时钟延迟单元用于对纠正时序逻辑单元块输入时钟进行单位时间延迟,用于根据纠正参数控制各时钟延迟单元对应的传输门的开关,控制对应时钟延迟单元是否工作,处于工作状态的时钟延迟单元对纠正时序逻辑单元块输入时钟进行单位时间延迟,生成延迟纠正时序逻辑单元块输入时钟后,输入至纠正时序逻辑单元块。
进一步的,可编程逻辑器件中各时序逻辑单元块对应一个延时单元链,延时单元链设置在全局时钟的传输路径分叉点与时序逻辑单元块的时钟输入点之间。
本发明提供了一种基于可编程逻辑器件的终端设备,终端设备占用可编程逻辑器件的至少两个需要基于相同时序工作的时序逻辑单元块,可编程逻辑器件包括本发明提供的时钟偏斜纠正电路。
本发明的有益效果:
本发明提供了一种时钟偏斜纠正方法,可以纠正时钟偏斜的问题,打破传统时钟网络的局限的设计方法,亦解决了占用过多金属层影响芯片面积等问题。
附图说明
图1为现有的全局时钟网络结构;
图2为本发明第一实施例提供的时钟偏斜纠正方法的流程图;
图3为本发明第二实施例提供的时钟偏斜纠正电路的结构示意图;
图4为本发明第三实施例提供的全局时钟网络结构;
图5为本发明第三实施例提供的偏斜检测模块的结构图;
图6为本发明第三实施例提供的偏斜检测模块的波形图;
图7为本发明第三实施例提供的偏斜控制模块的结构图;
图8为本发明第三实施例提供的偏斜控制模块的波形图;
图9为本发明第三实施例提供的延时单元链的结构图;
图10为本发明第三实施例提供的延时单元链控制部分的结构图;
图11为本发明第三实施例提供的CLK0与CLK1之间的去偏斜波形图。
具体实施方式
现通过具体实施方式结合附图的方式对本发明做输出进一步的诠释说明。
第一实施例:
图2为本发明第一实施例提供的时钟偏斜纠正方法的流程图,由图2可知,在本实施例中,本发明提供的时钟偏斜纠正方法包括:
S201:确定待进行时钟偏斜纠正的目标时序逻辑单元块,目标时序逻辑单元块包括至少两个设置在同一可编程逻辑器件内、且共用同一全局时钟源的时序逻辑单元块;
S202:根据目标时序逻辑单元块中各时序逻辑单元块输入时钟的传输路径,确定目标时序逻辑单元块中参考时序逻辑单元块及纠正时序逻辑单元块;传输路径为时钟信号从全局时钟源到时序逻辑单元块的信号传输路径;
S203:检测参考时序逻辑单元块输入时钟与纠正时序逻辑单元块输入时钟在相同时钟变化沿的时钟偏斜;
S204:根据时钟偏斜,计算对纠正时序逻辑单元块输入时钟的纠正参数;
S205:根据纠正参数,对纠正时序逻辑单元块输入时钟进行延时纠正。
在一些实施例中,上述实施例中的根据目标时序逻辑单元块中各时序逻辑单元块输入时钟的传输路径,确定目标时序逻辑单元块中参考时序逻辑单元块及纠正时序逻辑单元块包括:
获取各时序逻辑单元块输入时钟的传输路径的路径长度;
比较各时序逻辑单元块输入时钟的传输路径的路径长度;
将路径长度最大的传输路径对应的时序逻辑单元块,作为参考时序逻辑单元块,其他时序逻辑单元块作为纠正时序逻辑单元块。
在一些实施例中,上述实施例中的将路径长度最大的传输路径对应的时序逻辑单元块,作为参考时序逻辑单元块,其他时序逻辑单元块作为纠正时序逻辑单元块,包括:
若仅存在两种路径长度时,在延时纠正时,将路径长度最大的传输路径对应的时序逻辑单元块,作为参考时序逻辑单元块,其他时序逻辑单元块作为纠正时序逻辑单元块;
若存在至少三种路径长度时,在所有延时纠正中,将路径长度最大的传输路径对应的时序逻辑单元块,作为参考时序逻辑单元块,其他时序逻辑单元块作为纠正时序逻辑单元块;
或者,
若存在至少三种路径长度时,在第一次延时纠正中,将路径长度最大的传输路径对应的时序逻辑单元块,作为参考时序逻辑单元块,将路径长度第二大的传输路径对应的时序逻辑单元块,作为纠正时序逻辑单元块,进行第一次延时纠正;在第二次延时纠正中,将路径长度第二大的传输路径对应的时序逻辑单元块,作为参考时序逻辑单元块,将路径长度第三大的传输路径对应的时序逻辑单元块,作为纠正时序逻辑单元块,进行第二次延时纠正;依次循环,至所有的非路径长度最大的时序逻辑单元块都进行延时纠正。
在一些实施例中,上述实施例中的检测参考时序逻辑单元块输入时钟与纠正时序逻辑单元块输入时钟在相同时钟变化沿的时钟偏斜包括:
将参考时序逻辑单元块输入时钟作为第一寄存器的输入时钟,将纠正时序逻辑单元块输入时钟作为第二寄存器的输入时钟,第一寄存器及第二寄存器均为时钟上升沿触发;第一寄存器的输出信号连接脉冲信号生成器,第二寄存器的输出信号进过反相器后连接脉冲信号生成器,脉冲信号生成器仅在两个输入信号都为高电平时,输出高电平脉宽信号;
当参考时序逻辑单元块输入时钟的第一个上升沿到达,第一寄存器被触发,其输出信号由0变成1,第二寄存器的输出为0,脉冲信号生成器由0变成1;
当纠正时序逻辑单元块输入时钟的第一个上升沿到达,第二寄存器被触发,第二寄存器输出由0变成1,脉冲信号生成器由1变成0,得到一个高脉宽等于纠正时序逻辑单元块输入时钟与参考时序逻辑单元块输入时钟之间的时钟偏斜的偏斜脉冲信号。
在一些实施例中,上述实施例中的根据时钟偏斜,计算对纠正时序逻辑单元块输入时钟的纠正参数包括:
将偏斜脉冲信号依次通过串联的多个单位延迟单元,单位延迟单元使得脉冲信号产生单位时间的延迟;
各单位延迟单元分别输出一个延迟脉冲信号;
比较各单位延迟单元的延迟脉冲信号与偏斜脉冲信号,确定与偏斜脉冲信号具备相同高脉宽的延迟脉冲信号对应的目标单位延迟单元;
根据目标单位延迟单元的位置属性,生成纠正参数。
在一些实施例中,上述实施例中的根据纠正参数,对纠正时序逻辑单元块输入时钟进行延时纠正包括:
将纠正参数传输至延时单元链,延时单元链包括依次串联的多个时钟延迟单元、及与各时钟延迟单元分别对应的传输门,时钟延迟单元用于对纠正时序逻辑单元块输入时钟进行单位时间延迟;
根据纠正参数控制各时钟延迟单元对应的传输门的开关,控制对应时钟延迟单元是否工作;
处于工作状态的时钟延迟单元对纠正时序逻辑单元块输入时钟进行单位时间延迟,生成延迟纠正时序逻辑单元块输入时钟后,输入至纠正时序逻辑单元块。
第二实施例:
图3为本发明第二实施例提供的时钟偏斜纠正电路的结构示意图,由图3可知,在本实施例中,本发明提供的时钟偏斜纠正电路用于可编程逻辑器件,其包括:时钟偏斜检测模块31、偏斜控制模块32及延时单元链33,其中,
可编程逻辑器件包括待进行时钟偏斜纠正的目标时序逻辑单元块,目标时序逻辑单元块包括至少两个设置在同一可编程逻辑器件内、且共用同一全局时钟源的时序逻辑单元块;用于根据目标时序逻辑单元块中各时序逻辑单元块输入时钟的传输路径,确定目标时序逻辑单元块中参考时序逻辑单元块及纠正时序逻辑单元块;传输路径为时钟信号从全局时钟源到时序逻辑单元块的信号传输路径;
时钟偏斜检测模块31用于检测参考时序逻辑单元块输入时钟与纠正时序逻辑单元块输入时钟在相同时钟变化沿的时钟偏斜;
偏斜控制模块32用于根据时钟偏斜,计算对纠正时序逻辑单元块输入时钟的纠正参数;
延时单元链33用于根据纠正参数,对纠正时序逻辑单元块输入时钟进行延时纠正。
在一些实施例中,上述实施例中的时钟偏斜检测模块31包括:第一寄存器、第二寄存器、反相器、脉冲信号生成器,将参考时序逻辑单元块输入时钟作为第一寄存器的输入时钟,将纠正时序逻辑单元块输入时钟作为第二寄存器的输入时钟,第一寄存器及第二寄存器均为时钟上升沿触发;第一寄存器的输出信号连接脉冲信号生成器,第二寄存器的输出信号进过反相器后连接脉冲信号生成器,脉冲信号生成器仅在两个输入信号都为高电平时,输出高电平脉宽信号;用于当参考时序逻辑单元块输入时钟的第一个上升沿到达,第一寄存器被触发,其输出信号由0变成1,第二寄存器的输出为0,脉冲信号生成器由0变成1,当纠正时序逻辑单元块输入时钟的第一个上升沿到达,第二寄存器被触发,第二寄存器输出由0变成1,脉冲信号生成器由1变成0,得到一个高脉宽等于纠正时序逻辑单元块输入时钟与参考时序逻辑单元块输入时钟之间的时钟偏斜的偏斜脉冲信号。
在一些实施例中,上述实施例中的偏斜控制模块32包括依次串联的多个单位延迟单元,单位延迟单元使得脉冲信号产生单位时间的延迟,用于将偏斜脉冲信号依次通过串联的多个单位延迟单元,各单位延迟单元分别输出一个延迟脉冲信号,比较各单位延迟单元的延迟脉冲信号与偏斜脉冲信号,确定与偏斜脉冲信号具备相同高脉宽的延迟脉冲信号对应的目标单位延迟单元,根据目标单位延迟单元的位置属性,生成纠正参数。
在一些实施例中,上述实施例中的延时单元链33包括依次串联的多个时钟延迟单元、及与各时钟延迟单元分别对应的传输门,时钟延迟单元用于对纠正时序逻辑单元块输入时钟进行单位时间延迟,用于根据纠正参数控制各时钟延迟单元对应的传输门的开关,控制对应时钟延迟单元是否工作,处于工作状态的时钟延迟单元对纠正时序逻辑单元块输入时钟进行单位时间延迟,生成延迟纠正时序逻辑单元块输入时钟后,输入至纠正时序逻辑单元块。
在一些实施例中,上述实施例中的可编程逻辑器件中各时序逻辑单元块对应一个延时单元链,延时单元链设置在全局时钟的传输路径分叉点与时序逻辑单元块的时钟输入点之间。
对应的,本发明提供了一种基于可编程逻辑器件的终端设备,终端设备占用可编程逻辑器件的至少两个需要基于相同时序工作的时序逻辑单元块,可编程逻辑器件包括本发明提供的时钟偏斜纠正电路。
现结合具体应用场景对本发明做进一步的诠释说明。
第三实施例:
为了解决时钟偏斜过大、常用的设计方法不灵活、增加芯片设计难度和提高生产成本等问题,本发明提供一种可实现偏斜自动纠正的时钟网络结构。
参见图4,该网络结构由时钟偏斜检测模块31、偏斜控制模块32和延时单元链33三部分组成,以CLK0和CLK1之间存在偏斜,并CLK1延时于CLK0为例:
偏斜检测模块31会分别检测时钟CLK0和时钟CLK1的第一个时钟上升沿,并比较两个时钟上升沿之间的偏斜T1,产生一个与该时钟偏斜T1等宽的脉冲信号PLUSE1。时钟偏斜T1越大,则PLUSE1的高脉宽越宽;时钟偏斜T1越小,则PLUSE1的高脉宽越窄。从而将偏斜信息转化成有效的信号。至此完成时钟之间的偏斜检测。
脉冲信号PLUSE1将作为偏斜控制模块32的输入脉冲信号。偏斜控制模块由延时链和控制信号生成电路组成,每个延时单元会产生时钟偏斜T2,所以脉冲信号PLUSE1经过的延时单元越多,经过第N个延时单元后,输出脉冲信号PLUSE2与输入脉冲信号PLUSE1的偏斜达到了T2*N,与PLUSE1的高脉宽相等时候,则判断CLK1与CLK0的偏斜值为T2*N,此时会根据经过的延时单元链的数量N送出控制信号。
控制信号控制延时单元链33,控制CLK0时钟路径上的延时单元链,在CLK0上增加T2*N的延时单元链,经过延时处理后的CLK0即能与CLK1保持一致的相位,很好的消除了CLK0与CLK1之间的偏斜问题。进行检测比较后,会产生延时单元链的控制信号。延时单元链的控制信号自动调整各个时钟的延迟单元链,直至时钟自检测模块检测不同的输入时钟的偏斜被纠正。从而消除不同时钟之间的偏斜问题。
本发明可以纠正时钟偏斜的问题,打破传统时钟网络的局限的设计方法,亦解决了占用过多金属层影响芯片面积等问题。
本发明基于全局时钟网络架构,在每个时序逻辑单元块建立时钟树结构,从而保证单独的时序逻辑块内的时钟偏斜值得到优化,如图4所示,但因为纵向的时序逻辑块在物理距离上的差异,纵向的不同时序逻辑块之间的全局时钟存在较大偏斜。全局时钟CLK0和全局时钟CLK1之间存在偏斜,本发明通过时钟偏斜检测模块、偏斜控制模块和延时单元链的设计,能有效的纠正CLK0和CLK1之间的这种偏斜。
如图5所示,CLK0和CLK1作为时钟偏斜检测模块10的输入时钟。CLK0作为寄存器010的输入时钟,CLK1作为寄存器011的输入时钟。寄存器010及寄存器011均为时钟上升沿触发。当寄存器010被时钟CLK0触发,输出1。当寄存器011被时钟CLK1触发,输出1。寄存器复位有效时,寄存器输出为0。首先对寄存器进行复位,则022=0,023=1,PLUSE1=0。然后释放复位信号。当CLK0的第一个上升沿到达,寄存器被触发,则022由0变成1。由于CLK1是延迟于CLK0的,所以此时寄存器011的输出仍然为0,即023等于1,此时PLUSE1由0变成1。直至CLK1的第一个上升沿到达,寄存器011被CLK1触发,寄存器011输出由0变成1,023由1变成0,则PLUSE1由1变成0。从而得到一个高脉宽等于CLK1与CLK0之间的偏斜的PLUSE脉冲信号,如图6所示。
如图7所示,脉冲信号进入偏斜控制模块。偏斜控制模块的作用是,通过判断PLUSE1的高脉宽的宽度,从而产生相应的控制时钟延迟链的控制信号。具体的,PLUSE1经过延迟单元130_0,130_1,130_2,130_3,….130_N-1,130_N,130_N+1,130_N+2,产生经过不同延迟的脉冲信号110_0,110_1,110_2,110_3,…,110_N-1,110_N,110_N+1。110_0与110_1之间偏斜T2,110_1与110_2之间偏斜T2,110_2与110_3之间偏斜T2,…,110_N-1与110_N之间偏斜T2,110_N与110_N+1之间偏斜T2。所有延迟脉冲信号110_0,110_1,110_2,110_3,…,110_N-1,110_N,110_N+1分别与PLUSE1组成与门器件140_0,140_1,140_2,140_3,…,140_N-1,140_N,140_N+1的输入信号,各与门器件分别产生输出信号120_0,120_1,120_2,120_3,…,120_N-1,120_N,120_N+1。与门器件的输出信号120_0,120_1,120_2,120_3,…,120_N-1,120_N,120_N+1分别作为寄存器150_0,150_1,150_2,150_3,…,150_N-1,150_N,150_N+1的输入时钟。RST是寄存器150_0,150_1,150_2,150_3,…,150_N-1,150_N,150_N+1的复位信号。当RST=0,对寄存器进行复位,寄存器输出等于0。当RST=1,复位被释放,寄存器正常工作。寄存器通过输入时钟上升沿触发,当RST=1,与门的输出信号120_0,120_1,120_2,120_3,…,120_N-1,120_N,120_N+1分别作为寄存器150_0,150_1,150_2,150_3,…,150_N-1,150_N,150_N+1出现第一个上升沿时,寄存器输出Q0、Q1、Q2、…、QN-1、QN、QN+1由0变成1,如图8所示,从而得到时钟延迟链的控制信号Q0、Q1、Q2、…、QN-1、QN、QN+1。
如图9所示,时钟延迟链的控制信号Q0、Q1、Q2、…、QN-1、QN、QN+1控制传输门模块。传输门模块通过对Q0、Q1、Q2、…、QN-1、QN、QN+1进行逻辑处理,控制由PMOS和NMOS组成的传输门打开或关闭,如图10所示,并按照下表1所示的真值表进行译码处理。
表1
Q0 Q1 Q2 Q3 QN-2 QN-1 QN QN+1 QN+2 CLK0_DLY
0 0 0 0 0 0 0 0 0 0 CLK0_DLY=CLK0
1 0 0 0 0 0 0 0 0 0 CLK0_DLY=200_0
1 1 0 0 0 0 0 0 0 0 CLK0_DLY=200_1
1 1 1 0 0 0 0 0 0 0 CLK0_DLY=200_2
1 1 1 1 0 0 0 0 0 0 CLK0_DLY=200_3
1 1 1 1 1 1 1 0 0 0 CLK0_DLY=200_N-1
1 1 1 1 1 1 1 1 0 0 CLK0_DLY=200_N
1 1 1 1 1 1 1 1 1 0 CLK0_DLY=200_N+1
如图11所示,经过时钟延时链的延时作用,CLK0延时若干T2,变成CLK0_DLY。而CLK0_DLY是经过时钟偏斜检测模块、偏斜控制模块和延时单元链而产生的与CLK1一致的时钟,所以,本发明能有效精确的自动纠正全局时钟CLK0和全局时钟CLK1的偏斜。
综上可知,通过本发明的实施,至少存在以下有益效果:
本发明提供了一种时钟偏斜纠正方法,可以纠正时钟偏斜的问题,打破传统时钟网络的局限的设计方法,亦解决了占用过多金属层影响芯片面积等问题。
以上仅是本发明的具体实施方式而已,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施方式所做的任意简单修改、等同变化、结合或修饰,均仍属于本发明技术方案的保护范围。

Claims (12)

1.一种用于可编程逻辑器件的时钟偏斜纠正方法,其特征在于,包括:
确定待进行时钟偏斜纠正的目标时序逻辑单元块,所述目标时序逻辑单元块包括至少两个设置在同一可编程逻辑器件内、且共用同一全局时钟源的时序逻辑单元块;
根据所述目标时序逻辑单元块中各时序逻辑单元块输入时钟的传输路径,确定所述目标时序逻辑单元块中参考时序逻辑单元块及纠正时序逻辑单元块;所述传输路径为时钟信号从所述全局时钟源到时序逻辑单元块的信号传输路径;
检测所述参考时序逻辑单元块输入时钟与所述纠正时序逻辑单元块输入时钟在相同时钟变化沿的时钟偏斜;
根据所述时钟偏斜,计算对所述纠正时序逻辑单元块输入时钟的纠正参数;
根据所述纠正参数,对所述纠正时序逻辑单元块输入时钟进行延时纠正。
2.如权利要求1所述的时钟偏斜纠正方法,其特征在于,所述根据所述目标时序逻辑单元块中各时序逻辑单元块输入时钟的传输路径,确定所述目标时序逻辑单元块中参考时序逻辑单元块及纠正时序逻辑单元块包括:
获取各时序逻辑单元块输入时钟的传输路径的路径长度;
比较各时序逻辑单元块输入时钟的传输路径的路径长度;
将路径长度最大的传输路径对应的时序逻辑单元块,作为所述参考时序逻辑单元块,其他时序逻辑单元块作为纠正时序逻辑单元块。
3.如权利要求2所述的时钟偏斜纠正方法,其特征在于,所述将路径长度最大的传输路径对应的时序逻辑单元块,作为所述参考时序逻辑单元块,其他时序逻辑单元块作为纠正时序逻辑单元块,包括:
若仅存在两种路径长度时,在延时纠正时,将路径长度最大的传输路径对应的时序逻辑单元块,作为所述参考时序逻辑单元块,其他时序逻辑单元块作为纠正时序逻辑单元块;
若存在至少三种路径长度时,在所有延时纠正中,将路径长度最大的传输路径对应的时序逻辑单元块,作为所述参考时序逻辑单元块,其他时序逻辑单元块作为纠正时序逻辑单元块;
或者,
若存在至少三种路径长度时,在第一次延时纠正中,将路径长度最大的传输路径对应的时序逻辑单元块,作为所述参考时序逻辑单元块,将路径长度第二大的传输路径对应的时序逻辑单元块,作为所述纠正时序逻辑单元块,进行第一次延时纠正;在第二次延时纠正中,将路径长度第二大的传输路径对应的时序逻辑单元块,作为所述参考时序逻辑单元块,将路径长度第三大的传输路径对应的时序逻辑单元块,作为所述纠正时序逻辑单元块,进行第二次延时纠正;依次循环,至所有的非路径长度最大的时序逻辑单元块都进行延时纠正。
4.如权利要求1至3任一项所述的时钟偏斜纠正方法,其特征在于,所述检测所述参考时序逻辑单元块输入时钟与所述纠正时序逻辑单元块输入时钟在相同时钟变化沿的时钟偏斜包括:
将所述参考时序逻辑单元块输入时钟作为第一寄存器的输入时钟,将所述纠正时序逻辑单元块输入时钟作为第二寄存器的输入时钟,所述第一寄存器及第二寄存器均为时钟上升沿触发;所述第一寄存器的输出信号连接脉冲信号生成器,所述第二寄存器的输出信号进过反相器后连接所述脉冲信号生成器,所述脉冲信号生成器仅在两个输入信号都为高电平时,输出高电平脉宽信号;
当所述参考时序逻辑单元块输入时钟的第一个上升沿到达,第一寄存器被触发,其输出信号由0变成1,第二寄存器的输出为0,所述脉冲信号生成器由0变成1;
当所述纠正时序逻辑单元块输入时钟的第一个上升沿到达,第二寄存器被触发,第二寄存器输出由0变成1,所述脉冲信号生成器由1变成0,得到一个高脉宽等于纠正时序逻辑单元块输入时钟与参考时序逻辑单元块输入时钟之间的时钟偏斜的偏斜脉冲信号。
5.如权利要求4所述的时钟偏斜纠正方法,其特征在于,所述根据所述时钟偏斜,计算对所述纠正时序逻辑单元块输入时钟的纠正参数包括:
将所述偏斜脉冲信号依次通过串联的多个单位延迟单元,所述单位延迟单元使得脉冲信号产生单位时间的延迟;
各单位延迟单元分别输出一个延迟脉冲信号;
比较所述各单位延迟单元的延迟脉冲信号与所述偏斜脉冲信号,确定与所述偏斜脉冲信号具备相同高脉宽的延迟脉冲信号对应的目标单位延迟单元;
根据所述目标单位延迟单元的位置属性,生成所述纠正参数。
6.如权利要求5所述的时钟偏斜纠正方法,其特征在于,所述根据所述纠正参数,对所述纠正时序逻辑单元块输入时钟进行延时纠正包括:
将所述纠正参数传输至延时单元链,所述延时单元链包括依次串联的多个时钟延迟单元、及与各时钟延迟单元分别对应的传输门,所述时钟延迟单元用于对所述纠正时序逻辑单元块输入时钟进行单位时间延迟;
根据所述纠正参数控制各时钟延迟单元对应的传输门的开关,控制对应时钟延迟单元是否工作;
处于工作状态的时钟延迟单元对所述纠正时序逻辑单元块输入时钟进行单位时间延迟,生成延迟纠正时序逻辑单元块输入时钟后,输入至所述纠正时序逻辑单元块。
7.一种用于可编程逻辑器件的时钟偏斜纠正电路,其特征在于,包括:时钟偏斜检测模块、偏斜控制模块及延时单元链,其中,
所述可编程逻辑器件包括待进行时钟偏斜纠正的目标时序逻辑单元块,所述目标时序逻辑单元块包括至少两个设置在同一可编程逻辑器件内、且共用同一全局时钟源的时序逻辑单元块;用于根据所述目标时序逻辑单元块中各时序逻辑单元块输入时钟的传输路径,确定所述目标时序逻辑单元块中参考时序逻辑单元块及纠正时序逻辑单元块;所述传输路径为时钟信号从所述全局时钟源到时序逻辑单元块的信号传输路径;
所述时钟偏斜检测模块用于检测所述参考时序逻辑单元块输入时钟与所述纠正时序逻辑单元块输入时钟在相同时钟变化沿的时钟偏斜;
所述偏斜控制模块用于根据所述时钟偏斜,计算对所述纠正时序逻辑单元块输入时钟的纠正参数;
所述延时单元链用于根据所述纠正参数,对所述纠正时序逻辑单元块输入时钟进行延时纠正。
8.如权利要求7所述的时钟偏斜纠正电路,其特征在于,所述时钟偏斜检测模块包括:第一寄存器、第二寄存器、反相器、脉冲信号生成器,将所述参考时序逻辑单元块输入时钟作为第一寄存器的输入时钟,将所述纠正时序逻辑单元块输入时钟作为第二寄存器的输入时钟,所述第一寄存器及第二寄存器均为时钟上升沿触发;所述第一寄存器的输出信号连接脉冲信号生成器,所述第二寄存器的输出信号进过反相器后连接所述脉冲信号生成器,所述脉冲信号生成器仅在两个输入信号都为高电平时,输出高电平脉宽信号;用于当所述参考时序逻辑单元块输入时钟的第一个上升沿到达,第一寄存器被触发,其输出信号由0变成1,第二寄存器的输出为0,所述脉冲信号生成器由0变成1,当所述纠正时序逻辑单元块输入时钟的第一个上升沿到达,第二寄存器被触发,第二寄存器输出由0变成1,所述脉冲信号生成器由1变成0,得到一个高脉宽等于纠正时序逻辑单元块输入时钟与参考时序逻辑单元块输入时钟之间的时钟偏斜的偏斜脉冲信号。
9.如权利要求8所述的时钟偏斜纠正电路,其特征在于,所述偏斜控制模块包括依次串联的多个单位延迟单元,所述单位延迟单元使得脉冲信号产生单位时间的延迟,用于将所述偏斜脉冲信号依次通过串联的多个单位延迟单元,各单位延迟单元分别输出一个延迟脉冲信号,比较所述各单位延迟单元的延迟脉冲信号与所述偏斜脉冲信号,确定与所述偏斜脉冲信号具备相同高脉宽的延迟脉冲信号对应的目标单位延迟单元,根据所述目标单位延迟单元的位置属性,生成所述纠正参数。
10.如权利要求9所述的时钟偏斜纠正电路,其特征在于,所述延时单元链包括依次串联的多个时钟延迟单元、及与各时钟延迟单元分别对应的传输门,所述时钟延迟单元用于对所述纠正时序逻辑单元块输入时钟进行单位时间延迟,用于根据所述纠正参数控制各时钟延迟单元对应的传输门的开关,控制对应时钟延迟单元是否工作,处于工作状态的时钟延迟单元对所述纠正时序逻辑单元块输入时钟进行单位时间延迟,生成延迟纠正时序逻辑单元块输入时钟后,输入至所述纠正时序逻辑单元块。
11.如权利要求7至10任一项所述的时钟偏斜纠正电路,其特征在于,所述可编程逻辑器件中各时序逻辑单元块对应一个所述延时单元链,所述延时单元链设置在全局时钟的传输路径分叉点与所述时序逻辑单元块的时钟输入点之间。
12.一种基于可编程逻辑器件的终端设备,其特征在于,所述终端设备占用所述可编程逻辑器件的至少两个需要基于相同时序工作的时序逻辑单元块,所述可编程逻辑器件包括如权利要求7至11任一项所述的时钟偏斜纠正电路。
CN201611031294.XA 2016-11-18 2016-11-18 一种时钟偏斜纠正方法及电路、终端设备 Pending CN106788353A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611031294.XA CN106788353A (zh) 2016-11-18 2016-11-18 一种时钟偏斜纠正方法及电路、终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611031294.XA CN106788353A (zh) 2016-11-18 2016-11-18 一种时钟偏斜纠正方法及电路、终端设备

Publications (1)

Publication Number Publication Date
CN106788353A true CN106788353A (zh) 2017-05-31

Family

ID=58971440

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611031294.XA Pending CN106788353A (zh) 2016-11-18 2016-11-18 一种时钟偏斜纠正方法及电路、终端设备

Country Status (1)

Country Link
CN (1) CN106788353A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109428588A (zh) * 2017-08-28 2019-03-05 中科亿海微电子科技(苏州)有限公司 具有低时钟偏斜特征的三维fpga
CN109900971A (zh) * 2017-12-11 2019-06-18 长鑫存储技术有限公司 脉冲信号延时检测方法、装置以及半导体存储器
CN110018654A (zh) * 2019-03-19 2019-07-16 中科亿海微电子科技(苏州)有限公司 细粒度可编程时序控制逻辑模块
CN111817701A (zh) * 2020-06-24 2020-10-23 苏州浪潮智能科技有限公司 相位自纠正电路
CN112580278A (zh) * 2020-12-07 2021-03-30 海光信息技术股份有限公司 逻辑电路的优化方法、优化装置以及存储介质
WO2023178989A1 (zh) * 2022-03-21 2023-09-28 东芯半导体股份有限公司 用于输入缓冲器的偏移消除校准电路的自对准控制电路

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080204103A1 (en) * 2007-02-27 2008-08-28 Gun-Ok Jung Clock skew controller and integrated circuit including the same
CN103248341A (zh) * 2013-05-06 2013-08-14 复旦大学 一种适用于vlsi片上时钟***的偏斜检测和去偏斜调节电路
CN105051642A (zh) * 2012-11-15 2015-11-11 吉林克斯公司 对集成电路具有较高灵活性的时钟网络架构
CN105553448A (zh) * 2014-10-27 2016-05-04 三星电子株式会社 调节时钟偏斜的方法、***和设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080204103A1 (en) * 2007-02-27 2008-08-28 Gun-Ok Jung Clock skew controller and integrated circuit including the same
CN105051642A (zh) * 2012-11-15 2015-11-11 吉林克斯公司 对集成电路具有较高灵活性的时钟网络架构
CN103248341A (zh) * 2013-05-06 2013-08-14 复旦大学 一种适用于vlsi片上时钟***的偏斜检测和去偏斜调节电路
CN105553448A (zh) * 2014-10-27 2016-05-04 三星电子株式会社 调节时钟偏斜的方法、***和设备

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109428588A (zh) * 2017-08-28 2019-03-05 中科亿海微电子科技(苏州)有限公司 具有低时钟偏斜特征的三维fpga
CN109428588B (zh) * 2017-08-28 2023-12-12 中科亿海微电子科技(苏州)有限公司 具有低时钟偏斜特征的三维fpga
CN109900971A (zh) * 2017-12-11 2019-06-18 长鑫存储技术有限公司 脉冲信号延时检测方法、装置以及半导体存储器
CN110018654A (zh) * 2019-03-19 2019-07-16 中科亿海微电子科技(苏州)有限公司 细粒度可编程时序控制逻辑模块
CN110018654B (zh) * 2019-03-19 2021-09-14 中科亿海微电子科技(苏州)有限公司 细粒度可编程时序控制逻辑模块
CN111817701A (zh) * 2020-06-24 2020-10-23 苏州浪潮智能科技有限公司 相位自纠正电路
CN111817701B (zh) * 2020-06-24 2023-01-10 苏州浪潮智能科技有限公司 相位自纠正电路
US11979149B2 (en) 2020-06-24 2024-05-07 Inspur Suzhou Intelligent Technology Co., Ltd. Phase self-correction circuit
CN112580278A (zh) * 2020-12-07 2021-03-30 海光信息技术股份有限公司 逻辑电路的优化方法、优化装置以及存储介质
WO2023178989A1 (zh) * 2022-03-21 2023-09-28 东芯半导体股份有限公司 用于输入缓冲器的偏移消除校准电路的自对准控制电路

Similar Documents

Publication Publication Date Title
CN106788353A (zh) 一种时钟偏斜纠正方法及电路、终端设备
US10644683B2 (en) Clock driving circuit resistant to single-event transient
CN104579320B (zh) 时钟延迟方法、装置、延迟锁相环及数字时钟管理单元
JP7116375B2 (ja) オンチップ・タイミング不確実性測定の分解能を増大させるシステムおよび方法
CN109039307A (zh) 双沿防抖电路结构
WO2018026460A1 (en) Dynamic clock-data phase alignment in a source synchronous interface circuit
US7170960B2 (en) Instantaneous clock recovery circuit
CN105227257B (zh) 一种改进型时钟同步镜像延迟电路
CN105242903B (zh) 随机数生成装置和方法
RU2517295C1 (ru) Импульсный селектор
CN103812472B (zh) 抗单粒子瞬态效应的触发器
CN208999990U (zh) 真随机数发生器
US9203415B2 (en) Modulated clock synchronizer
CN101018050A (zh) 含异步仲裁器单元的延迟线校准电路
JP5431290B2 (ja) クロック・ドメイン・クロッシングのデータ転送回路および方法
JP6602849B2 (ja) プログラマブル遅延回路ブロック
Teehan et al. Towards reliable 5Gbps wave-pipelined and 3Gbps surfing interconnect in 65nm FPGAs
JP3871797B2 (ja) 可変遅延回路
CN108781080A (zh) 分频电路、分路器电路、以及半导体集成电路
CN203276255U (zh) 竞争冒险发生器及***
US9698784B1 (en) Level-sensitive two-phase single-wire latch controllers without contention
Huemer et al. Revisiting sorting network based completion detection for 4 phase delay insensitive codes
CN207720100U (zh) 一种cpld双边沿触发器电路
Van Toan et al. Energy-efficient and high performance 2-phase asynchronous micropipelines
Teehan Reliable high-throughput FPGA interconnect using source-synchronous surfing and wave pipelining

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20170531

RJ01 Rejection of invention patent application after publication