基于扫描链的芯片内部寄存器的复位方法

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

发明内容
本发明要解决的技术问题是提供一种能够取消现有同步复位或异步复位方法所需的复位树结构,不影响芯片性能、稳定性好、实现简单、性能开销小的基于扫描链的芯片内部寄存器的复位方法。为了解决上述技术问题,本发明采用的技术方案为一种基于扫描链的芯片内部寄存器的复位方法,其实施步骤如下
1)在芯片设计阶段,将需要复位的寄存器串链构建为至少一条扫描链,且构建扫描链时根据扫描链链头寄存器的复位值以及每一个寄存器的复位值确定该寄存器与扫描链中上一个寄存器之间的连接关系;如果扫描链链头寄存器的复位值为I时,将I连接到该寄存器的扫描输入端; 如果扫描链链头寄存器的复位值为O时,将O连接到该寄存器的扫描输入端;如果寄存器与扫描链中上一个寄存器的复位值相同,将该寄存器的扫描输入端与扫描链中上一个寄存器的正向输出端相连;如果寄存器与扫描链中上一个寄存器的复位值不同,将该寄存器的扫描输入端与扫描链中上一个寄存器的反向输出端相连;
2)在芯片使用阶段,将芯片内部各个寄存器的扫描使能信号置为有效,若链头寄存器的复位值为O则在该链头输入O、若链头寄存器的复位值为I则在该链头输入1,并提供复位时钟,控制各个扫描链进入复位扫描状态,在输入复位时钟的控制下将复位值依次写入扫描链中的各个寄存器,在扫描链尾寄存器被写入复位值以后,将扫描使能信号置为无效,退出复位扫描状态,完成芯片复位。本发明具有下述优点
I、本发明利用芯片中已有的用于测试的扫描链结构,根据扫描链链头寄存器的复位值以及每一个寄存器的复位值确定该寄存器与扫描链中上一个寄存器之间的连接关系并构建扫描链,将需要复位为O和复位为I的寄存器混合组织在一条或多条扫描链上,在复位时通过复位控制装置控制扫描链进入扫描状态,并在扫描链的链头输入固定的O或1,通过扫描链中寄存器之间的连接关系将寄存器复位为O或1,能够取消现有同步复位或异步复位方法所需的复位树结构,易于实现,无额外的性能开销,解决了现有同步或异步复位技术存在的影响芯片性能、稳定性差、物理实现困难的问题,具有不影响芯片性能、稳定性好、实现简单、性能开销小的优点。2、本发明充分利用芯片中已有的用于测试的扫描链结构,实现对寄存器的复位,除复位控制装置外,并不增加额外的逻辑,具有不影响数据通路性能、稳定性高、物理实现简单的优点。3、本发明通过基于复位值的串链方法,实现链上寄存器的灵活复位,可以将链上的寄存器灵活复位为O或1,具有灵活性高的优点。


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