基于扫描链的芯片内部寄存器复位方法及复位控制装置的制作方法

文档序号:7525556阅读:351来源:国知局
专利名称:基于扫描链的芯片内部寄存器复位方法及复位控制装置的制作方法
技术领域
本发明涉及数字集成电路领域,具体涉及一种基于扫描链的芯片内部寄存器复位方法及复位控制装置。
背景技术
在数字集成电路中,需要通过一定的方法对寄存器进行复位,使得其有一个确定的初始状态(O或1),从而确保数字集成电路能够正常工作。现有技术中常用的寄存器复位方法包括同步复位和异步复位。在同步复位时,当复位信号有效时,寄存器并不立即复位,而是在寄存器的时钟发 生有效跳变时,才将寄存器复位为固定的初值。在同步复位结构中,复位信号被作为数据信号,参与寄存器数据输入端的组合逻辑操作,这增加了寄存器之间的组合逻辑级数,对芯片的性能有一定的影响;在异步复位时,当复位信号有效时,无论是否有有效的时钟跳变,寄存器将立刻被复位为固定的初值。异步复位寄存器将复位信号作为寄存器的独立输入,因此复位信号不作为数据信号参与寄存器数据输入端的组合逻辑操作,但是异步复位结构的电路稳定性不如同步复位电路。在正常工作时,异步复位电路中复位信号上的任何毛刺都将导致寄存器被错误地复位,而同步复位电路中除非复位信号上的毛刺恰好发生在时钟的有效跳变沿,否则不会导致寄存器被错误地复位。但是,同步复位和异步复位都需要一根全局的复位信号线。在数字集成电路规模不断扩大的情况下,无论是同步复位还是异步复位,都面临全局信号线的布线问题。随着集成电路工艺的不断提高,数字集成电路的规模不断扩大,单个芯片内集成的寄存器数目越来越多。无论是采用同步复位还是异步复位,都需要将全局复位信号送给每一个需要复位的寄存器,这将导致全局复位信号线的负载非常大。且寄存器遍布芯片每一个角落,复位信号需要走很长的路径才能到达寄存器,这导致很大的信号线延迟。目前通用的做法是采用复位树结构,通过多级缓冲,将单根全局复位信号做树形散开,并保证从根节点到所有叶节点的信号线延迟相同。这不仅耗费了大量的硬件资源,带来了一定的复位树功耗开销,而且随着数字集成电路规模的不断扩大,复位树将不断提升芯片物理设计复杂度,对芯片的设计实现造成极大的困难。综上所述,现有技术的数字集成电路的同步复位方法对数字集成电路芯片的性能有一定的影响,而现有技术的数字集成电路的异步复位方法却又具有潜在的稳定性问题。而且,无论是同步复位结构还是异步复位结构,都需要设计实现全局的复位树结构,不仅带来额外的功耗开销,还对芯片物理实现带来极大的困难。因此,随着集成电路工艺的不断提高和集成度的不断增大,急需一种有效的数字集成电路寄存器复位的技术方案来解决目前通用的同步和异步复位方法来实现寄存器复位时的种种问题。

发明内容
本发明要解决的技术问题是提供一种对数字集成电路芯片性能影响低、稳定性高、功耗开销小,结构简单、实现方便的基于扫描链的芯片内部寄存器复位方法及复位控制装置为了解决上述技术问题,本发明采用的技术方案为
一种基于扫描链的芯片内部寄存器复位方法,其实施步骤如下
1)在芯片设计阶段,在芯片内部将需要复位为O的寄存器构建至少一条扫描链、将需要复位为I的寄存器构建至少一条扫描链,且同一扫描链中前一个寄存器的扫描输出端与后一个寄存器的扫描输入端相连;
2)在芯片使用阶段,将芯片内部各个寄存器的扫描使能信号置为有效,在需要复位为O的寄存器所组成的扫描链链头输入复位值O、在需要复位为I的寄存器所组成的扫描链链头输入复位值1,并提供复位时钟,控制各个扫描链进入复位扫描状态,在输入复位时钟的控制下将复位值依次写入扫描链中的各个寄存器,在扫描链尾寄存器被写入复位值以后,将扫描使能信号置为无效,退出复位扫描状态,完成芯片复位。—种基于扫描链的芯片内部寄存器复位控制装置,其特征在于包括扫描链使能控制单元、扫描链时钟控制模块和分别向扫描链链头输出测试数据或复位值的输入数据选择器,所述复位控制装置的输入端口包括测试使能端、复位信号输入端、测试扫描使能信号输入端、工作时钟输入端、复位时钟输入端、测试时钟输入端以及多个测试数据输入端,所述扫描链使能控制单元由状态控制器和用于选择输出扫描链使能信号的使能信号选择器组成,所述状态控制器与复位信号输入端相连,并根据复位输入信号的值控制复位状态,所述使能信号选择器的一个输入端与状态控制器相连,所述扫描链使能信号选择器的另一个输入端与测试扫描使能信号输入端相连;所述扫描链时钟控制模块由级联的一级时钟选择器和用于向集成电路输出时钟信号的二级时钟选择器组成,所述一级时钟选择器的输入端分别与工作时钟输入端、复位时钟输入端相连,所述一级时钟选择器的控制端与状态控制器的输出端相连,所述二级时钟选择器的一个输入端与测试时钟输入端相连,所述二级时钟选择器的另一个输入端与一级时钟选择器的输出端相连;所述输入数据选择器与测试数据输入端一一对应,且所述输入数据选择器的一个输入端与对应的测试数据输入端相连,所述输入数据选择器的另一个输入端为预制的复位值O或I ;所述使能信号选择器、二级时钟选择器以及各个输入数据选择器的选择控制端均与测试使能端相连。本发明基于扫描链的芯片内部寄存器复位方法具有下述优点
I、本发明基于扫描链的芯片内部寄存器复位方法充分利用数字集成电路测试所必须的扫描链结构,通过将数字集成电路内部需要复位为O或I的寄存器分别构建扫描链,对由需要复位为O的寄存器所构建的扫描链链头输入复位值O、对由需要复位为I的寄存器所构建的扫描链链头输入复位值1,在输入时钟信号的控制下将扫描链链头输入信号依次写入扫描链中的各个寄存器,能够简单方便地实现寄存器的复位,具有不影响数据通路性能、稳定性高、物理实现简单的优点,解决了现有同步或异步复位技术存在的影响性能、稳定性差、具有额外的复位树功耗开销和物理实现困难的问题,具有对性能影响低、稳定性高、功效开销小,结构简单、实现方便的优点。2、通过基于复位值的串链方法,实现链上寄存器的灵活复位,可以将寄存器灵活复位为O或I,具有灵活度高的优点。3、本发明基于扫描链的芯片内部寄存器复位控制装置能够根据各个输入端口输入的信号控制数字集成电路进行测试或者寄存器复位,利用数字集成电路测试所必须的扫描链结构,除对测试控制器进行改进以外并不增加额外的逻辑,具有结构简单、实现方便的优点。


图I为本发明实施例的方法基本实施流程示意图。图2为应用本发明实施例的寄存器框图及其输入输出真值表。图3为应用本发明实施例寄存器复位控制装置的框架结构示意图。图4为本发明实施例寄存器复位控制装置的框架结构示意图。
图例说明101、测试使能端;102、复位信号输入端;103、测试扫描使能信号输入端;104、工作时钟输入端;105、复位时钟输入端;106、测试时钟输入端;107、测试数据输入端;1、扫描链使能控制单元;11、状态控制器;12、使能信号选择器;2、扫描链时钟控制模块;21、一级时钟选择器;22、二级时钟选择器;3、输入数据选择器。
具体实施例方式如图I所示,本发明实施例基于扫描链的芯片内部寄存器复位方法的实施步骤如 下
1)在芯片设计阶段,在芯片内部将需要复位为O的寄存器构建至少一条扫描链、将需要复位为I的寄存器构建至少一条扫描链,且同一扫描链中前一个寄存器的扫描输出端与后一个寄存器的扫描输入端相连;
2)在芯片使用阶段,将芯片内部各个寄存器的扫描使能信号置为有效,在需要复位为O的寄存器所组成的扫描链链头输入复位值O、在需要复位为I的寄存器所组成的扫描链链头输入复位值1,并提供复位时钟,控制各个扫描链进入复位扫描状态,在输入复位时钟的控制下将复位值依次写入扫描链中的各个寄存器,在扫描链尾寄存器被写入复位值以后,将扫描使能信号置为无效,退出复位扫描状态,完成芯片复位。本实施例利用数字集成电路芯片中已有的用于测试的扫描链结构,将需要复位为O和复位为I的寄存器分别组织在一条或多条扫描链上,在复位时通过复位控制单元控制扫描链进入扫描状态,并在扫描链的链头输入固定的O或1,从而实现寄存器的复位,解决了现有寄存器复位需要复位树,实现困难并存在一定性能开销的问题,本发明实施例能够取消现有同步复位或异步复位方法所需要的复位树结构,易于实现,且无额外的性能开销。如图2所示,本发明实施例基于扫描链的芯片内部寄存器复位控制装置包括扫描链使能控制单元I、扫描链时钟控制模块2和分别向扫描链链头输出测试数据或复位值的输入数据选择器3,所述复位控制装置的输入端口包括测试使能端101、复位信号输入端102、测试扫描使能信号输入端103、工作时钟输入端104、复位时钟输入端105、测试时钟输入端106以及多个测试数据输入端107,所述扫描链使能控制单元I由状态控制器11和用于选择输出扫描链使能信号的使能信号选择器12组成,所述状态控制器11与复位信号输入端102相连,并根据复位输入信号102的值控制复位状态,所述使能信号选择器12的一个输入端与状态控制器11相连,所述扫描链使能信号选择器12的另一个输入端与测试扫描使能信号输入端103相连;所述扫描链时钟控制模块2由级联的一级时钟选择器21和用于向集成电路输出时钟信号的二级时钟选择器22组成,所述一级时钟选择器21的输入端分别与工作时钟输入端104、复位时钟输入端105相连,所述一级时钟选择器21的控制端与状态控制器11的输出端相连,所述二级时钟选择器22的一个输入端与测试时钟输入端106相连,所述二级时钟选择器22的另一个输入端与一级时钟选择器21的输出端相连;所述输入数据选择器3与测试数据输入端107 —一对应,且所述输入数据选择器3的一个输入端与对应的测试数据输入端107相连,所述输入数据选择器3的另一个输入端为预制的复位值O或I ;所述使能信号选择器12、二级时钟选择器22以及各个输入数据选择器3的选择控制端均与测试使能端101相连。在进行寄存器复位时,本实施例的寄存器复位控制装置将数字集成电路内部各个寄存器的扫描使能信号置为有效并提供复位时钟,然后在复位扫描状态,在需要复位为O的扫描链链头输入复位值O、在需要复位为I的扫描链链头输入复位值1,并在复位时钟的控制下将复位值依次写入扫描链中的各个寄存器,在将复位值写入所有扫描链尾的寄存器后控制扫描链退出复位扫描状态,从而完成复位。本实施例的寄存器复位控制装置的输入端口如下测试使能端101用于输入测试 使能信号DFT_EN、复位信号输入端102用于输入复位信号RST、测试扫描使能信号输入端103用于输入测试时扫描链使能信号T_SE、工作时钟输入端104用于输入工作时钟信号F_CK、复位时钟输入端105用于输入复位时钟信号R_CK、测试时钟输入端106用于输入测试时钟信号T_CK、测试数据输入端107分别用于输入扫描测试数据……T_SIit)本实施例的寄存器复位控制装置的输出端口如下使能信号选择器12的输出端用于在扫描测试或者复位时输出扫描链使能信号SE ;二级时钟选择器22的输出端用于在测试时输出测试时钟信号T_CK、在复位时输出复位时钟信号R_CK以及在复位完毕后输出工作时钟信号F_CK ;输入数据选择器3的输出端用于在复位时输出复位值或者在测试时输出扫描测试数据。如图3所示,典型的寄存器具有四个输入口和一个输出口,输入口分别是数据输入端D、扫描输入端SI、扫描使能端SE和时钟端CK,输出端为Q。在时钟端CK的上升沿,如果扫描使能端SE为O,则Q端采样D端数据。从寄存器的输入输出真值表可知,如果扫描使能端SE输入为1,则Q端采样SI端数据。在其他情况下,无论CK为O或1,Q端均保持不变。如图4所不,本实施例中数字集成电路中全芯片内的寄存器串为一条或多条扫描链,且复位为O和复位为I的寄存器分别组织在一条或多条扫描链上。如图4所示,有扫描链O、扫描链I、……、扫描链i共计i+Ι条扫描链,其中扫描链O上的寄存器全部需要复位为0,扫描链i上的寄存器全部需要复位为I。所有扫描链的链头都由寄存器复位控制装置控制,与输入数据选择器3的输出端相连;所有寄存器的时钟输入端CK和扫描使能端SE也都由寄存器复位控制装置控制,时钟输入端CK与二级时钟选择器22的输出端相连,扫描使能端SE与使能信号选择器12的输出端相连。本发明实施例用于数字集成电路的寄存器复位控制装置的详细工作过程如下
I、测试使能信号DFT_EN为I有效时,控制扫描链进入测试模式,此时本实施例的寄存器复位控制装置可以用于实现数字集成电路的测试。此时,使能信号选择器12选择测试时扫描链使能信号T_SE为扫描链使能信号SE ;二级时钟选择器22选择测试时钟信号T_CK作为输出的时钟信号;输入数据选择器3分别选择输入测试数据……T_SIi输入各个扫描链链头作为扫描链输入。2、测试使能信号DFT_EN为O无效时,如果复位信号RST有效,则此时本实施例的寄存器复位控制装置进入复位扫描状态,可以用于实现数字集成电路的寄存器复位。此时,由状态控制器11输出扫描使能信号,并由使能信号选择器12选择作为扫描链使能信号SE ;状态控制器11控制一级时钟选择器21选择复位时钟信号R_CK并通过二级时钟选择器22作为时钟信号CK输出;输入数据选择器3分别选择预制的复位值作为扫描链输入数据,也即如果该链上所有寄存器都需要被复位为O,则选择O作为复位输入数据输出;如果该链上所有寄存器都需要被复位为1,则选择I作为复位输入数据输出。在进入复位扫描状态后,复位信号RST即可撤销,变为无效。此后一定的时间之内,状态控制器11将保持复位扫描状态,从而使所有的扫描链都完成复位扫描,也即所有的寄存器都完成复位。在将所有扫描链上的寄存器都写入复位值后,状态控制器11将扫描链使能信号SE置为无效,并控制一级时钟选择器21选择工作时时钟信号F_CK并通过二级时钟选择器22作为时钟信号CK输出,从而控制扫描链退出复位扫描状态,进入工作状态。至此,所有的寄存器都已经通过扫描链被复位到期望的初值。以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域 的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种基于扫描链的芯片内部寄存器复位方法,其特征在于,其实施步骤如下 1)在芯片设计阶段,在芯片内部将需要复位为O的寄存器构建至少一条扫描链、将需要复位为I的寄存器构建至少一条扫描链,且同一扫描链中前一个寄存器的扫描输出端与后一个寄存器的扫描输入端相连; 2)在芯片使用阶段,将芯片内部各个寄存器的扫描使能信号置为有效,在需要复位为O的寄存器所组成的扫描链链头输入复位值O、在需要复位为I的寄存器所组成的扫描链链头输入复位值1,并提供复位时钟,控制各个扫描链进入复位扫描状态,在输入复位时钟的控制下将复位值依次写入扫描链中的各个寄存器,在扫描链尾寄存器被写入复位值以后,将扫描使能信号置为无效,退出复位扫描状态,完成芯片复位。
2.一种基于扫描链的芯片内部寄存器复位控制装置,其特征在于包括扫描链使能控制单元(I)、扫描链时钟控制模块(2)和分别向扫描链链头输出测试数据或复位值的输入数据选择器(3),所述复位控制装置的输入端口包括测试使能端(101)、复位信号输入端(102)、测试扫描使能信号输入端(103)、工作时钟输入端(104)、复位时钟输入端(105)、测试时钟输入端(106)以及多个测试数据输入端(107),所述扫描链使能控制单元(I)由状态控制器(11)和用于选择输出扫描链使能信号的使能信号选择器(12)组成,所述状态控制器(11)与复位信号输入端(102)相连,并根据复位输入信号(102)的值控制复位状态,所述使能信号选择器(12)的一个输入端与状态控制器(11)相连,所述扫描链使能信号选择器(12)的另一个输入端与测试扫描使能信号输入端(103)相连;所述扫描链时钟控制模块(2)由级联的一级时钟选择器(21)和用于向集成电路输出时钟信号的二级时钟选择器(22)组成,所述一级时钟选择器(21)的输入端分别与工作时钟输入端(104)、复位时钟输入端(105)相连,所述一级时钟选择器(21)的控制端与状态控制器(11)的输出端相连,所述二级时钟选择器(22)的一个输入端与测试时钟输入端(106)相连,所述二级时钟选择器(22)的另一个输入端与一级时钟选择器(21)的输出端相连;所述输入数据选择器(3)与测试数据输入端(107) —一对应,且所述输入数据选择器(3)的一个输入端与对应的测试数据输入端(107)相连,所述输入数据选择器(3)的另一个输入端为预制的复位值O或I ;所述使能信号选择器(12)、二级时钟选择器(22)以及各个输入数据选择器(3)的选择控制端均与测试使能端(101)相连。
全文摘要
本发明公开了一种基于扫描链的芯片内部寄存器复位方法及复位控制装置,复位方法包括1)在芯片设计阶段将寄存器根据复位值为0或1分别构建至少一条扫描链;2)在芯片使用阶段将各个寄存器的扫描使能信号置为有效并将复位值写入扫描链链头;复位控制装置包括扫描链使能控制单元、扫描链时钟控制模块和分别向扫描链链头输出测试数据或复位值的输入数据选择器,复位控制装置的输入端口包括测试使能端、复位信号输入端、测试扫描使能信号/工作时钟/复位时钟/测试时钟输入端及多个测试数据输入端。本发明能够高效实现芯片内部寄存器的复位,对数字集成电路芯片性能影响低,具有稳定性高、功耗开销小,结构简单、实现方便的优点。
文档编号H03K17/22GK102970013SQ20121049331
公开日2013年3月13日 申请日期2012年11月28日 优先权日2012年11月28日
发明者邓宇, 龚锐, 郭御风, 张明, 任巨, 石伟, 马爱永, 罗莉, 窦强, 王永文 申请人:中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1