CN103023467B - 基于扫描方式的寄存器复位方法及装置 - Google Patents
基于扫描方式的寄存器复位方法及装置 Download PDFInfo
- Publication number
- CN103023467B CN103023467B CN201210493798.9A CN201210493798A CN103023467B CN 103023467 B CN103023467 B CN 103023467B CN 201210493798 A CN201210493798 A CN 201210493798A CN 103023467 B CN103023467 B CN 103023467B
- Authority
- CN
- China
- Prior art keywords
- reset
- register
- scan chain
- control logic
- values
- 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.)
- Active
Links
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明公开了一种基于扫描方式的寄存器复位方法及装置,方法步骤如下:1)将所有的寄存器构建扫描链,并且将扫描链中需要复位为1的寄存器的数据输入端和数据输出端分别串接一个非门;2)往扫描链头持续输入复位值0;寄存器复位装置包括复位控制逻辑和时钟控制逻辑,复位控制逻辑和时钟控制逻辑分别与各个寄存器相连,寄存器复位装置还包括数量与需要复位为1的寄存器一一对应的复位值转换单元,复位值转换单元包括两个非门,其中一个非门串接于对应寄存器的数据输入端,另一个非门串接于对应寄存器的数据输出端。本发明能够简化逻辑设计、令复位逻辑的实现对可测试性设计透明,能够减轻可测试性设计的工作量。
Description
技术领域
本发明涉及微处理器的寄存器领域,具体涉及一种基于扫描方式的寄存器复位方法及装置。
背景技术
微处理器设计中,需要通过一定的方式对寄存器、存储器以及其他结构等进行复位,使得微处理器能够有一个确定的初始状态。对于寄存器复位,常见的方法有两种:同步复位和异步复位。无论是同步复位还是异步复位,都涉及到全局复位信号的布线问题。这是因为,在微处理器设计中包含大量的寄存器,复位信号要送给每一个需要复位的寄存器,负载非常大,而且寄存器遍布于微处理器芯片,复位信号线延时也较大。随着处理器芯片规模增大,寄存器数目随之增多;另外,集成电路主流生产工艺已经进入纳米级,线延时更加突出。这些因素导致全局复位信号的布线更加困难。
现有技术公开了一种基于可测性设计(DFT,DesignForTest)扫描链、通过扫描方式复位寄存器的方法,该方法消除了同步复位和异步复位方式中所需要的全局复位信号,并且使用低频时钟进行复位,复位时序易满足、复位功耗低,在纳米级工艺下的多核多线程微处理器设计中将具有非常好的应用前景。但是,微处理器逻辑设计时,寄存器有时需要复位成0,有时需要复位成1。对于需要复位成1的寄存器,就要向对应的时序单元扫入1,否则扫入0。当扫描链中既串有需要复位成1的时序单元,又串有需要复位成0的时序单元时,复位控制模块必须精确控制向扫描链扫入的数据序列和扫描的拍数,否则就可能会出现误复位。这会导致微处理器中的复位逻辑设计比较复杂。另外,如果扫描链中时序单元的连接顺序发生变化或者时序单元的数目发生变化,复位控制模块的控制逻辑也要随之变化。因此,当复位控制模块的逻辑设计完成后,DFT扫描链中时序单元的串链顺序将被固定。这会导致使用工具实现完全自动化的DFT串链不再可能,要么在逻辑代码中将扫描链串好,要么由工具根据指定的串链顺序进行串链。无论采用哪种方法,都需要人工干预,工作量很大。
如图1所示,现有技术基于扫描方式复位寄存器中,寄存器映射的时序单元类型是上升沿触发(positive-edgetriggered)的带扫描端口的D类型触发器(D-typeFlip-Flop,为便于描述,以下简称为D-触发器或DFF)。D-触发器有4个输入端口,分别是时钟CLK,数据输入D,扫描输入SDI和扫描使能SSE;2个输出端口,分别是数据输出Q和扫描输出SDO。时钟的上升沿到来时,如果SSE为0,那么把D的值打入Q,如果SSE为1,那么把SDI的值打入Q,SDO和Q的值总是相同。所有需要复位的寄存器对应的D-触发器串在一条扫描链上,前一个D-触发器的SDO端与下一个D-触发器的SDI端连接。复位控制模块通过输出端口SDI_IN向扫描链输出需要扫入的数据序列,SDI_IN连接到扫描链中第一个D-触发器的SDI端;复位控制模块的另一个输出端口SSE是扫描使能信号,连接到扫描链中所有D-触发器的SSE端。时钟控制模块输出的时钟CLK连接到扫描链中所有D-触发器的CLK端。在通过扫描方式复位寄存器期间,时钟控制模块通过调频输出低频时钟。微处理器复位条件被触发时,比如上电复位,扫描链在复位控制模块输出的信号的控制下开始扫描,实现对扫描链中所有D-触发器的复位。只有在SSE信号为1期间,扫描链才是连通的。在这期间,当CLK的第一个上升沿到来时,SDI_IN输出的第一个数据打入扫描链中第一个D-触发器DFF_1的Q端,即图中的Q1,第二个上升沿到来时,SDI_IN输出的第二个数据打入DFF_1的Q端,第一个数据传到扫描链中第二个D-触发器DFF_2的Q端,即Q2,依此进行下去,在CLK的第n个上升沿到来时,SDI_IN输出的第n个数据打入DFF_1的Q端,第一个数据已经传到扫描链中第n个D-触发器DFF_n的Q端,即Qn。举例说明,假设SSE为1,SDI_IN输出的数据序列为0-1-0-1-0-1……,那么当CLK的第三上升沿到来时,Q1和Q3的值为0,Q2的值为1,即DFF_1和DFF_3对应的寄存器被复位成0,DFF_2对应的寄存器被复位成1;而当CLK的第四个上升沿到来时,Q1和Q3的值为1,Q2的值为0,即DFF_1和DFF_3对应的寄存器被复位成1,DFF_2对应的寄存器被复位成0。可见,通过控制SDI_IN输出的数据序列和扫描使能持续的拍数,可以实现把寄存器复位成1或0的目的。但是复位控制模块必须精确控制向扫描链扫入的数据序列和扫描的拍数,否则就可能会出现误复位。另外,如果扫描链中D-触发器的连接顺序发生变化或者D-触发器的数目发生变化,复位控制模块SDI_IN端输出的数据序列和SSE持续的拍数也要随之变化。
发明内容
本发明要解决的技术问题是提供一种能够简化逻辑设计、令复位逻辑的实现对可测试性设计透明,能够减轻可测试性设计工作量的基于扫描方式的寄存器复位方法及装置。
为了解决上述技术问题,本发明采用的技术方案为:
一种基于扫描方式的寄存器复位方法,其实施步骤如下:
1)将所有的寄存器构建扫描链,并且将扫描链中需要复位为1的寄存器的数据输入端和数据输出端分别串接一个非门;
2)往扫描链头持续输入复位值0,需要复位为1的寄存器通过数据输出端串接的非门将接收的复位值0转换为复位值1后复位为1,需要复位为0的寄存器则直接根据接收的复位值0复位为0;复位值0沿着扫描链输出给下一个寄存器,最终完成所有寄存器的复位。
本发明还提供一种基于扫描方式的寄存器复位装置,包括复位控制逻辑和时钟控制逻辑,所述复位控制逻辑和时钟控制逻辑分别与扫描链中的各个寄存器相连,还包括数量与需要复位为1的寄存器一一对应的复位值转换单元,所述复位值转换单元包括两个非门,其中一个非门串接于对应寄存器的数据输入端,另一个非门串接于对应寄存器的数据输出端。
本发明基于扫描方式的寄存器复位方法具有下述优点:
1、简化复位逻辑。由于扫描链中所有时序单元都是复位成0,因此复位控制模块只需要一直向扫描链扫入0、扫描持续的拍数不小于扫描链中时序单元的数目即可,而不需要精确控制向扫描链扫入的数据序列和扫描拍数,从而简化了复位逻辑的设计。
2、对可测试性设计(DFT设计)透明。由于扫描链中所有时序单元都是复位成0,因此对时序单元的串链顺序没有任何要求,可以由工具按照任意顺序自动完成扫描链的串链,不需要人工干预,从而使得复位逻辑的实现对可测试性设计(DFT设计)透明,减轻可测试性设计(DFT设计)的工作量。
本发明基于扫描方式的寄存器复位装置具有与基于扫描方式的寄存器复位方法相同的技术效果,在此不再赘述。
附图说明
图1为现有技术的寄存器复位的结构示意图。
图2为本发明实施例的基本实施流程示意图。
图3为应用本发明实施例的结构示意图。
图4为本发明实施例中寄存器的复位波形示意图。
具体实施方式
如图2所示,本实施例基于扫描方式的寄存器复位方法的实施步骤如下:
1)将所有的寄存器构建扫描链,并且将扫描链中需要复位为1的寄存器的数据输入端和数据输出端分别串接一个非门;
2)往扫描链头持续输入复位值0,需要复位为1的寄存器通过数据输出端串接的非门将接收的复位值0转换为复位值1后复位为1,需要复位为0的寄存器则直接根据接收的复位值0复位为0;复位值0沿着扫描链输出给下一个寄存器,最终完成所有寄存器的复位。
本实施例中,对于需要复位成1的寄存器,在数据输入端之前和数据输出端之后各增加一个非门,即:要被寄存的数据经过非门后才送给寄存器,寄存器输出的数据经过非门后才被组合逻辑使用。这两个非门的加入并不会影响正常的逻辑功能;在基于扫描方式复位寄存器时,向扫描链中的所有时序单元都扫入0。需要复位成1的寄存器对应的时序单元虽然也被复位成0,但是输出数据经过非门后变成1,因此组合逻辑看到的相应寄存器的初始值实际为1,从而达到了把寄存器复位成1的目的。在微处理器设计时,绝大部分寄存器都是复位成0,真正需要复位成1的寄存器并不多,因此增加的非门带来的硬件开销基本可以忽略。
如图3所示,本实施例基于扫描方式的寄存器复位装置包括复位控制逻辑和时钟控制逻辑,复位控制逻辑和时钟控制逻辑分别与扫描链中的各个寄存器相连,还包括数量与需要复位为1的寄存器一一对应的复位值转换单元,复位值转换单元包括两个非门,其中一个非门串接于对应寄存器的数据输入端,另一个非门串接于对应寄存器的数据输出端。本实施例中,扫描链中第二个D-触发器(DFF_2)和第三个D-触发器(DFF_3)对应的寄存器需要复位成1,因此共设有两个分别对应第二个D-触发器(DFF_2)和第三个D-触发器(DFF_3)的复位值转换单元。对应到图中,D2经过一个非门后送到DFF_2的D端,Q2则是DFF_2的Q端经过一个非门后的值;D3经过一个非门后送到DFF_3的D端,Q3则是DFF_3的Q端经过一个非门后的值。微处理器复位条件被触发时,扫描链在复位控制模块输出的信号的控制下开始扫描,复位波形如图4所示。复位控制模块的SDI_IN端一直输出0,在SSE为1期间向扫描链中扫入0,把扫描链中所有的D-触发器都复位成0。由于DFF_2的数据输出Q经过非门后才送给组合逻辑,所以虽然DFF_2被复位成0,但是组合逻辑看到的Q2的初始值为1,从而达到了把DFF_2对应的寄存器复位成1的目的。同样的,DFF_3对应的寄存器通过同样方法也被复位成1。
如图4所示,当复位控制逻辑输出高电平SSE信号,系统进入复位工作状态:复位控制逻辑持续向扫描链输出低电平SDI_IN信号(0),在时钟CLK的第一个上升沿到来时,第一个D-触发器(DFF_1)被复位,持续上述状态当复位控制逻辑控制扫描持续的拍数不小于扫描链中时序单元的数目时,最后一个D-触发器(DFF_n)也被复位。由于本实施例在实际操作时不需要精确控制向扫描链扫入的数据序列和扫描拍数,能够简化复位逻辑的设计。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (2)
1.一种基于扫描方式的寄存器复位方法,其特征在于其实施步骤如下:
1)将所有的寄存器构建扫描链,并且将扫描链中需要复位为1的寄存器的数据输入端和数据输出端分别串接一个非门;
2)往扫描链头持续输入复位值0,需要复位为1的寄存器通过数据输出端串接的非门将接收的复位值0转换为复位值1后复位为1,需要复位为0的寄存器则直接根据接收的复位值0复位为0;复位值0沿着扫描链输出给下一个寄存器,最终完成所有寄存器的复位。
2.一种基于扫描方式的寄存器复位装置,包括复位控制逻辑和时钟控制逻辑,所述复位控制逻辑和时钟控制逻辑分别与扫描链中的各个寄存器相连,其特征在于:还包括数量与需要复位为1的寄存器一一对应的复位值转换单元,所述复位值转换单元包括两个非门,其中一个非门串接于对应寄存器的数据输入端,另一个非门串接于对应寄存器的数据输出端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210493798.9A CN103023467B (zh) | 2012-11-28 | 2012-11-28 | 基于扫描方式的寄存器复位方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210493798.9A CN103023467B (zh) | 2012-11-28 | 2012-11-28 | 基于扫描方式的寄存器复位方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103023467A CN103023467A (zh) | 2013-04-03 |
CN103023467B true CN103023467B (zh) | 2016-01-20 |
Family
ID=47971653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210493798.9A Active CN103023467B (zh) | 2012-11-28 | 2012-11-28 | 基于扫描方式的寄存器复位方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103023467B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9564877B2 (en) * | 2014-04-11 | 2017-02-07 | Qualcomm Incorporated | Reset scheme for scan chains with asynchronous reset signals |
CN108226763B (zh) * | 2016-12-15 | 2021-08-20 | 三星电子株式会社 | 用于扫描链重新排序的方法、设备和计算机程序产品 |
CN106874601A (zh) * | 2017-02-20 | 2017-06-20 | 中国人民解放军国防科学技术大学 | 一种扫描链重定序方法 |
CN112684327B (zh) * | 2020-11-30 | 2023-09-05 | 海光信息技术股份有限公司 | 扫描链及其设计方法和基于扫描链的串行扫描复位方法 |
CN112713886B (zh) * | 2020-12-02 | 2023-09-15 | 海光信息技术股份有限公司 | 用于扫描寄存器复位的装置和方法 |
CN115407708B (zh) * | 2022-10-31 | 2023-03-21 | 摩尔线程智能科技(北京)有限责任公司 | 用于dft结构的安全电路 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5163155A (en) * | 1988-06-07 | 1992-11-10 | Mitsubishi Denki Kabushiki Kaisha | System for resetting a series of latches to varying data patterns |
CN102495360A (zh) * | 2011-12-16 | 2012-06-13 | 浙江大学 | 一种安全扫描寄存器、安全扫描链及其扫描方法 |
CN102495356A (zh) * | 2011-11-30 | 2012-06-13 | 福州大学 | 扫描链异步复位寄存器复位端口处理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030084390A1 (en) * | 2001-10-26 | 2003-05-01 | Mentor Graphics Corporation | At-speed test using on-chip controller |
-
2012
- 2012-11-28 CN CN201210493798.9A patent/CN103023467B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5163155A (en) * | 1988-06-07 | 1992-11-10 | Mitsubishi Denki Kabushiki Kaisha | System for resetting a series of latches to varying data patterns |
CN102495356A (zh) * | 2011-11-30 | 2012-06-13 | 福州大学 | 扫描链异步复位寄存器复位端口处理方法 |
CN102495360A (zh) * | 2011-12-16 | 2012-06-13 | 浙江大学 | 一种安全扫描寄存器、安全扫描链及其扫描方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103023467A (zh) | 2013-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103023467B (zh) | 基于扫描方式的寄存器复位方法及装置 | |
CN103376400B (zh) | 芯片测试方法及芯片 | |
CN102004219B (zh) | 一种红外焦平面阵列探测器模拟装置及模拟方法 | |
CN103091620B (zh) | 一种针对扫描测试中捕获功耗的优化方法 | |
CN105807202B (zh) | 集成电路测试板卡 | |
CN102970013B (zh) | 基于扫描链的芯片内部寄存器复位方法及复位控制装置 | |
CN103546125B (zh) | 一种多选一无毛刺时钟切换电路 | |
CN102565751B (zh) | 可编程的单相电能计量芯片开发装置 | |
US7808846B2 (en) | Semiconductor memory device | |
CN102353891A (zh) | 一种数字集成电路功能测试仪 | |
CN102419415B (zh) | 一种基于边界扫描电路的tap接口优化电路 | |
CN202216989U (zh) | 基于fifo结构总线控制方式的直流电子负载 | |
CN201237737Y (zh) | 顺序事件记录性能测试装置 | |
CN103166605B (zh) | 一种多相非交叠时钟电路 | |
CN102996482B (zh) | 一种多风扇状态检测方法及装置 | |
CN104749515A (zh) | 一种基于顺序等分分段式的低功耗扫描测试方法和装置 | |
CN107565936B (zh) | 一种输入时钟稳定电路的逻辑实现装置 | |
CN201876872U (zh) | 一种大容量数据采集装置 | |
CN103869155A (zh) | 一种基于plc高速输入的发电机频率测量方法及装置 | |
CN104123966A (zh) | 一种基于自动地周期性读操作的读取速度测量电路 | |
CN103309781B (zh) | 基于dsp与fpga的单倍率同步动态内存的检测方法 | |
CN103065672A (zh) | 一种基于同步静态随机存储器ip的异步静态随机存储器 | |
CN103631314A (zh) | 去除电平信号中毛刺的方法 | |
CN203101590U (zh) | 基于fpga的128路热保护器并行检测系统 | |
CN103795402B (zh) | 同步分频电路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |