文章快速检索     高级检索
  浙江大学学报(工学版)  2017, Vol. 51 Issue (3): 605-611  DOI:10.3785/j.issn.1008-973X.2017.03.024
0

引用本文 [复制中英文]

郝子轶, 项晓燕, 陈晨, 孟建熠. 轻量级现场纠正的错误消除寄存器设计[J]. 浙江大学学报(工学版), 2017, 51(3): 605-611.
dx.doi.org/10.3785/j.issn.1008-973X.2017.03.024
[复制中文]
HAO Zi-yi, XIANG Xiao-yan, CHEN Chen, MENG Jian-yi. Error cancellation flip-flop design with lightweight in-situ error correction[J]. Journal of Zhejiang University(Engineering Science), 2017, 51(3): 605-611.
dx.doi.org/10.3785/j.issn.1008-973X.2017.03.024
[复制英文]

基金项目

国家“863”高技术研究发展计划资助项目(2015AA016601-005);上海市自然科学基金资助项目(15ZR1402700);专用集成电路与系统国家重点实验室重点资助项目(2015ZD005)

作者简介

郝子轶(1989—), 男, 博士生,从事低功耗时序容错处理器研究.
orcid.org/0000-0002-4425-8594.
E-mail: haozy@vlsi.zju.edu.cn

通信联系人

项晓燕, 女, 讲师.
orcid.org/0000-0002-5602-2749.
E-mail: xiangxy@fudan.edu.cn

文章历史

收稿日期:2016-03-13
轻量级现场纠正的错误消除寄存器设计
郝子轶1 , 项晓燕2 , 陈晨2 , 孟建熠2     
1. 浙江大学 电气工程学院, 浙江 杭州 310027;
2. 复旦大学 微电子学院, 上海 201203
摘要: 针对时序错误实时检测和纠正技术中存在的检错成本和纠错性能问题, 提出一种基于轻量级现场纠错技术的错误消除寄存器.错误消除寄存器采用自带的内部虚拟节点作为错误检测点, 以无额外成本的方式实现时序错误的实时检测;基于观测到的高低电平信息, 直接在寄存器内部进行错误纠正, 通过仅增加4个额外晶体管的代价, 完成即时的现场纠错.错误消除寄存器没有使用复杂的外置翻转探测电路进行错误检测, 并且也没有使用额外的存储单元用于错误纠正, 因此引入的额外面积和额外功耗极低.为评估错误消除寄存器的时序容错能力和电路效率提升能力, 在中芯国际40 nm工艺下将该寄存器集成到商用嵌入式处理器CK802中进行实验.实验结果表明, 错误消除寄存器大幅度降低了容错处理器的面积成本和性能损失, 相比现有技术, 在同电压下有10.9%的性能提升, 在同性能下有17.7%的功耗优化.
关键词: 电路稳定性    错误检测与纠正    轻量级    虚拟节点    现场纠错    容错性能    
Error cancellation flip-flop design with lightweight in-situ error correction
HAO Zi-yi1 , XIANG Xiao-yan2 , CHEN Chen2 , MENG Jian-yi2     
1. College of Electrical Engineering, Zhejiang University, Hangzhou 310027, China;
2. College of Microelectronics, Fudan University, Shanghai, 201203, China
Abstract: A lightweight error cancellation flip-flop based on in-situ error correction was proposed to address the problems of cost and performance in timing error detection and correction techniques. Error cancellation flip-flop could detect timing error by observing the build-in virtual rails, thus no additional cost was introduced in error detection. Based on the observed information of input potential, timing error was directly corrected inside the flip-flop and only 4 additional transistors were utilized to accomplish in-situ error correction. Complicated transition detector for error detection and additional storage cell for error correction were not used in error cancellation flip-flop, so the area and power overhead were ultra-low. To evaluate the timing error tolerance ability and the improving capacity of energy efficiency, the flip-flop was applied into a commercial processor CK802 at SMIC 40 nm technology. Experiment results show that error correction flip-flop can largely decrease area overhead and performance loss of timing error tolerance processor. Compared to the existent technique of art error detection and correction, error correction flip-flop increases the performance of processor by 10.9% at fixed supply voltage and decreases the power consumption by 17.7% under fixed throughput.
Key words: circuit stability    error detection and correction    lightweight    virtual rails    in-situ error correction    error-tolerance    

现代集成电路受工艺、电压和温度(process, voltageand temperature, PVT)等因素的影响, 具有较大的不确定性.PVT波动会引起时序路径延时发生变化, 导致一些关键路径的延时不能满足要求, 从而使电路不能正常工作[1].为维护电路的稳定性和可靠性, 目前主流的设计方法是增加足够的冗余电路提供安全余量, 然而这些余量会导致电路工作速度的下降、面积和能量消耗的增大[2].其中, 关键路径在将关键路径的时序长度收敛至寄存器建立时间约束内时增加的冗余电路是设计余量最主要的部分.因此, 去除建立时间约束的设计余量是提高电路能量效率的重要研究方向.针对这种现状, Das等[3]提出了基于时序错误实时检测和纠正(error detection and correction, EDAC)的动态调节技术.该技术消除了设计余量引入的冗余电路, 使用时序错误检测技术对关键路径建立错误检测点并进行动态检测, 在发现时序错误时, 通过时序错误纠正技术使电路恢复正常.这种动态检测并纠正的方式可以使电路有效并精准地适应PVT波动.

时序错误检测技术主要有冗余路径探测[4-5]和终点翻转检测[6-8].冗余路径探测方法的实现比较简单, 但很难检测局部的PVT变化, 而且存在一定的误判概率;终点翻转检测方法的电路实现略微复杂, 但可以有效检测全局和局部PVT变化, 而且没有误判的情况发生.近年来, 时序错误在线检测技术多数采用的是终点翻转检测方法.但是该技术需要较高的检错成本, 一般需要在每个目标寄存器中额外增加约30~44个晶体管, 而典型的带复位功能的寄存器一共只使用28个晶体管.较高的检错成本会抵消设计余量消除带来的收益, 限制了EDAC技术的进一步发展.

时序错误纠正技术主要采用指令回放的方式, 在回放过程中通过降低时钟频率[7-8]或者提高电源电压[2, 6, 9]的手段消除时序错误.但是指令回放方法在每次修复错误时至少需要8个额外的时钟周期, 为了不产生较大的性能损失, 系统往往只能工作在首次出错点(point of first failure, PoFF)附近, 并且将错误率(总运行时间内检测到时序错误的概率)严格控制在1%以下, 这样大大限制了EDAC技术的容错能力.

针对以上问题, 近年来研究者们虽然提出了一些解决方案, 但都不能同时解决上述检错和纠错方案存在的现有问题.比如Kwon等[10]只使用8个晶体管完成错误检测, 但是使用的错误恢复技术在每次错误发生时仍会引入11个时钟周期的性能损失;基于时序借用的错误纠正技术[11-13]以不高于1个时钟周期的代价完成错误恢复, 但是需要为每个检错寄存器额外增加至少28个晶体管的纠错成本.

本文首先对传统D型寄存器产生时序错误的主要原因进行分析, 并对这些时序错误进行检测纠正, 提出利用寄存器自带虚拟节点加4个赋值晶体管的错误消除寄存器(error cancellation flip-folp, ECFF)的设计思路, 并研究该错误消除寄存器的工作原理和物理参数变化.本文将错误消除寄存器应用到商用嵌入式处理器CK802[14]中, 通过评估该处理器的时序容错能力和功耗优化能力, 对基于错误消除寄存器的轻量级现场纠错技术的优势进行分析.

1 错误消除寄存器电路设计

传统D型寄存器的电路结构如图 1所示, 其中, TINV1为主锁存器的第一个三态反相器, CLK为寄存器的时钟输入信号, D为寄存器的数据输入信号, FBL1为主锁存器的反馈环储值电路, TINV2为从锁存器的第一个三态反相器, Q为寄存器的输出信号.寄存器的建立时间约束要求D型寄存器(D Flip-flop, DFF)的输入端在时钟有效边沿到达前一段时间就必须稳定下来, 若D端翻转违反建立时间约束, 则无法被正确采样, TINV1此时已经关闭.

图 1 传统D型寄存器的(DFF)电路结构 Fig. 1 Circuit structure of traditional D flip-flop (DFF)

ECFF的设计思路如下:利用传统D型寄存器自带的虚拟节点进行无额外成本的时序错误检测, 然后在D型寄存器的从锁存器上增加4个晶体管完成现场纠错;基于观测到的高低电平信息分别进行错误纠正, 无需其他机制或复杂的赋值电路;在错误检测结束时, 预期采样值被直接存储在寄存器内部, 无需其他额外的时序存储电路.ECFF使用极低额外成本的寄存器电路, 实现了基本无性能损失的即时现场纠错.

1.1 错误消除寄存器的电路结构

图 2所示为ECFF的电路结构, 其中, M1~M4为组成TINV1的4个晶体管, DN为TINV1和反馈环储值电路的连接点, VVDD和VVSS为TINV1上的2个中间虚拟节点, QM为主锁存器和从锁存器的连接点, 点S为TINV2和从锁存器反馈环储值电路的连接点, 虚线框标注了额外增加的晶体管M5~M8.文献[10]中已经证明, 在时钟高电平期间, 当三态反相器TINV1的2个虚拟节点VVDD和VVSS在寄存器出现1→0或0→1时序错误时, 会分别产生放电/充电反应, 从而被用作错误信息指示信号.

图 2 错误消除寄存器(ECFF)的电路结构 Fig. 2 Circuit structure of error cancellation flip-flop (ECFF)

ECFF直接使用这2个虚拟节点进行错误检测, 不引入任何额外成本.在建立时间点到时钟高电平结束的时间段内, VVDD和VVSS都可以有效工作, 即该方法的有效检测窗口为整个时钟高电平的长度.

利用VVDD和VVSS提供的错误信息, ECFF在DFF的基础上额外增加4个晶体管M5~M8, 将寄存器的输出赋值为输入值, 实现了在检测到时序错误时立即将其恢复的目的.其中, VVSS通过M5、M8等效同QM作或非逻辑, VVDD通过M6、M7等效同QM点作与非逻辑.

由于P型金属-氧化物-半导体场效应晶体管(metal-oxide-semiconductor filed-effect transistor, MOSFET)的“弱0”特性和N型MOSFET的“弱1”特性, 图 2中VVDD和VVSS的有效信号并不是全电压摆幅的信号.因此, 对M5~M8晶体管的长宽比进行输入偏置性调整, 将M5和M8的有效输入电压向“0”偏置, 将M6和M7的有效输入电压向“1”偏置, 使ECFF在更宽的电压范围内有效工作.

1.2 错误消除寄存器的工作原理

由Spice软件仿真得到的ECFF的具体工作原理如图 3所示, clk-q为寄存器的输出传播延时, TB为时序借用的时间长度.当未出现时序错误时, VVDD和VVSS保持各自原电平不变;当寄存器D端在检错窗口内有翻转时, 2个虚拟节点其中之一会发生电平变化来标记该时序错误.

图 3 错误消除寄存器正常采样和时序错误纠正过程中的电平变化情况 Fig. 3 Signal transition scheme during processes of normal sampling and timing error correction in ECFF

以寄存器“1→0”时序错误为例, 当D端在检错窗口内从1变为0时, VVDD通过M2连接到DN, 被放电到低电平.VVDD通过M6、M7和QM点做与非逻辑, 得到S点的值为1;经过寄存器输出反相器取反并且稳定输出能力后, 得到正确的寄存器输出, 即Q值为0.当时钟下降沿到达时, 预期值被存储在从锁存器的反馈环储值电路内, 提供时钟低电平期间的寄存器输出.“0→1”时序错误纠正, 由VVSS通过M5、M8同QM点做或非逻辑完成, 整个过程与“1→0”时序错误纠正类似.

ECFF纠错的过程借用了下级流水线的一段时序(图 3中的TB段), TB段长度由D端翻转的具体时间决定, 最长为整个检错窗口大小.

1.3 错误消除寄存器的物理参数

图 4所示为ECFF的版图实现.其中,虚线框内的4个晶体管对应图 2中ECFF增加的M5~M8.加入4个晶体管后, 原寄存器版图的膨胀量很小.

图 4 错误消除寄存器(ECFF)的版图设计 Fig. 4 Layout design of ECFF

使用Spice工具对ECFF进行参数提取, 得到如下结果:ECFF相对原DFF的建立时间、保持时间和时钟到输出传播时间分别延长了3.2%、1.7%和5.5%, 变化量很小;相对原寄存器ECFF的面积,增大了13.8%, 约为增加4个晶体管后相对原28个晶体管的增加比例;寄存器动态功耗增加了15.2%, 这是由于多出的晶体管增加了电源负载;在出现时序错误时, 寄存器纠错功耗是普通动态功耗的1.283倍, 这是由于纠错晶体管在工作时, 会比原设计明显增加需要充放电的晶体管数, 即会增大系统工作电流.

根据ECFF版图生成的晶体管级电路网表, 进一步使用Spice工具提取出各种输入和环境条件下的物理参数.将这些物理参数按照标准单元库的格式进行整合即可得到ECFF的标准单元库模型.使用该标准单元库模型可以较为方便地将前端综合网表中的目标寄存器替换为ECFF, 后端流程可按照工业界标准的做法实现, 便于快速集成.

1.4 错误消除寄存器上报时序错误

将VVDD和VVSS作为ECFF的输出端口连通至电路系统, 即可把时序错误信息上报.

由于VVDD检测到D下降错误时低电平有效, VVSS检测到D上升错误时高电平有效, 系统可对所有ECFF寄存器的VVDD端作与逻辑汇总, 对VVSS端作或逻辑汇总, 将时序错误收集起来.将VVDD的汇总结果取反, 再同VVSS的汇总结果进行或逻辑, 即可得到最终的错误信号.时序错误信号可以被进一步用于错误统计或者其他系统反应.

当ECFF寄存器数量较多时, VVDD汇总和VVSS汇总若采用级联的高扇入静态互补金属氧化物半导体(complementary metal oxide semiconductor, CMOS)与逻辑、或逻辑会产生较大的电路延时, 此时可以考虑将汇总逻辑使用如图 5所示的多级动态CMOS电路实现, 以10个左右的信号为一组.其中, VVSS_Rst和VVDD_Rst分别为动态或逻辑电路和动态与逻辑电路中的复位信号, Rising Error和Falling Error分别为2个电路产生的时序错误信号, VVSS0~VVSSn和VVDD0~VVDDn为所有ECFF寄存器上报的时序错误信号.

图 5 使用动态逻辑加速时序错误信号收集的电路结构图 Fig. 5 Circuit structure of accelerating collection oferror signals using dynamic logics
2 错误消除寄存器实验平台设计

为了验证ECFF的时序容错能力, 基于国产嵌入式处理器CK802建立容错实验平台.CK802是基于CSKY V2指令集的CSKY 800系列中面向低成本微控制单元应用的处理器, 采用16/32混编的精简指令集架构, 拥有单指令发射退休的三级流水线, 数据通路为32位宽.基于ECFF的CK802系统使用中芯国际40 nm CMOS工艺, 在0.9 V标准工艺角下的设计收敛频率为244 MHz, 共使用了1 138个寄存器.

2.1 检错窗口大小选择

与多数EDAC方法类似, ECFF的检错窗口为整个时钟高电平, 即通过调节时钟信号占空比的方式设计检错窗口, 因此需要在路径上增加保持缓冲器, 保证终点为ECFF的路径长度不会短于检错窗口大小.故而, 检错窗口大小需要通过仔细衡量确定:若检错窗口太小, 则检错能力较差, 电路提升有限;若检错窗口太大, 则修正短路径引入的缓冲器过多, 面积代价高.窗口的具体大小由具体设计中的路径分布情况决定, 按照之前EDAC设计的经验, 窗口大小一般为时钟周期的10%~30%.

图 6所示为CK802系统中检错窗口大小选择和短路径缓冲器代价的关系图, m为窗口内的时序路径条数, a为在当前窗口大小选择下处理器的面积增大比例, s为检错窗口在整个时钟周期内的占比.从图中可以看到, 当选择窗口占比s=10%时, 检错窗口覆盖的关键路径较小, 检错能力较弱; 而s为30%时短路径缓冲器代价太大.综合考虑检错能力和面积损失, CK802选择20%时钟周期长度作为检错窗口大小.在该窗口大小下, 有278个寄存器被替换, 修正短路径引入460个等效门的缓冲器资源.

图 6 CK802系统检错窗口大小与面积增大代价的关系 Fig. 6 Relation of detection window size and area overhead in CK802 system
2.2 容错处理器物理实现

确定检错窗口后, 将CK802前端综合网表中落在检错窗口内的路径终端寄存器全部替换为ECFF.使用检错窗口的长度作为EDAC路径的短路径约束, 进行布局布线.完成布局布线后的CK802处理器物理版如图 7所示, 被替换的ECFF寄存器位置在图中使用矩形框标记.

图 7 集成错误消除寄存器后的CK802处理器物理实现 Fig. 7 Physical design of CK802 after inserting error cancellation flip-flop

CK802处理器的物理参数如下.基于ECFF的EDAC CK802在标准工艺、25 ℃、0.9 V的工艺角下收敛, 设计约束频率为244 MHz;ECFF的总替换比例为24.4%;相对原CK802面积增大5.3%, 其中替换的ECFF令总面积增大2.6%, 修正短路径和引入系统时钟路径的组合逻辑使总面积增大2.7%.

2.3 时序借用安全性分析

理论上基于时序借用的设计都可能给下级流水线带来时序错误风险, 尤其是在系统中存在串联关键路径(即一个关键路径的终点是另一个关键路径的起点).在多级时序借用累积或者单级时序过度借用的情况下, 有可能导致系统出现无法检测、修复的时序错误.但文献[15]中的数据分析显示, 在一般设计中, 前10%最长关键路径相互串联的可能性为0.010 000%~0.000 001%, 而运行过程中动态出现级联错误的可能性更低.基于此, 在系统设计中为避免时序借用可能引入的风险, 使用以下3种方案保证时序借用过程的安全性.

1) 针对每次的时序借用都进行时序“归还”.例如文献[11]中使用的时钟延展策略, 即每次出现时序借用后, 采用轮转的方式使系统时钟延长1个检错窗口的长度, 从而保证不论是多级时序借用累积还是单级时序借用过度都不会影响下级的路径长度, 此方法的缺点是对时钟产生逻辑有一定的修改.

2) 采用动态检测并重置多级时序错误的方式.例如TIMBER[12]在发生两级时序错误时, 采用简单易行的方式使系统降频刷新, 这样保证了多级时序错误不会继续传播.由于动态级联错误发生概率较低, 降频刷新付出的性能代价很有限.此方法的缺点是需要增加额外的系统刷新机制.

3) 采用全局门控时钟的方式跳过时序借用.例如文献[13]的研究中, 任何1个时序错误都会触发1次全局时钟停摆, 这个方法也可以保证时序借用的安全性.缺点是每次纠错都会损失1个时钟周期的性能, 并且会增加额外的全局时钟控制.

本文基于错误消除寄存器的时序借用方案采用时钟推移的方式保证安全性, 其行为跟方案1) 中的行为类似, 即每次检测到时序借用时, 系统的下一拍时钟在全局层面上推移1个检错窗口的长度, 这种方式的代价是每次纠错会产生0.2个时钟周期的性能损失.

3 实验数据及分析

为了验证基于ECFF的时序检测和恢复处理器CK802(CKE)的实际工作能力, 将上述的实验平台进行时序容错能力和功耗优化能力的仿真实验.将未使用时序检测和恢复的CK802(CKB)作为基础参照, 同时选择基于现有电路额外成本最小的Razor Lite技术[10]的CK802 (CKR)作为另一对比参照, 评估CKE的时序容错性能和系统功耗优化能力, 并比较近年来EDAC方法的主要指标.

3.1 时序容错能力评估

在固定电源电压下, 不断提高时钟频率, 统计时序错误率和各处理器的性能变化, 从而评估时序容错能力.如图 8所示为0.9 V工作电压下CKE和CKR方案的吞吐量和错误率.其中f为时钟频率, T为吞吐量, r为时序错误率.由于CKR在纠错过程中会引入较大的性能损失, 在超过PoFF之后, 随着时钟频率f的提高, 错误率r也迅速升高, CKR的吞吐量T反而开始明显下降, 而基本无纠错性能损失的CKE方案可以在有效的检错窗口内持续提升系统性能.CKE的最高性能相对CKR提升了10.9%, 相对CKB提升了18.3%.

图 8 各时序容错处理器(CKE、CKR)的性能和错误率随时钟频率升高的变化趋势 Fig. 8 Changing trend of throughput and error rate along with frequency scaling in error tolerance processors(CKE, CKR)
3.2 电路功耗优化能力评估

在固定处理器吞吐量的条件下, 降低工作电源电压, 获得CKB、CKR和CKE3个方案下处理器的最优功耗, 功耗数据如表 1所示, 其中u为供电电压, W为功耗.

表 1 各时序容错处理器(CKB、CKR和CKE)在降低电压过程中的功耗对比 Table 1 Power consumption comparison with voltage scaling of error tolerance processors (CKB, CKR and CKE)

当CKE的电源电压u=0.84 V时即可获得跟基准处理器相同的性能, 此时r=26.56%, 而CKR则需要工作在0.87 V的电压下, 错误率仅为0.09%.实验数据显示, CKE的功耗比CKB小25.6%, 比CKR小17.7%.

3.3 各容错方法指标对比

表 2总结了近年来几种典型时序容错方法的重要指标.多数EDAC方法都采用了寄存器形式实现方案.基于两相锁存器[7-8]的设计可以直接在两级锁存器之间进行时序借用, 但是两相时钟的工作不稳定性和EDA主流工具的支持不完善决定了商用处理器基本不可能采用锁存器实现流水线, 因此使用寄存器的EDAC设计具有应用优势.

表 2 近年来的时序容错方法参数对比 Table 2 Parameters comparison of timing error tolerance methods used in recent years

主流的基于双重采样[6, 8, 12-13]和翻转检测[7, 16-17]的错误检测方法都会带来较大的晶体管增加.前者采用影子锁存器延时采样主寄存器输入并和主寄存器进行比较来判断时序错误;后者通过一系列动态电路在时钟高电平期间捕捉寄存器输入的翻转.这2种方式都至少会增加30个晶体管, 而ECFF采用的电位检测方法利用寄存器内部原有的虚拟电位点进行错误观察, 在错误检测上没有增加晶体管.

基于指令回放的错误恢复方法会带来很大的性能损失, 根据具体的处理器流水线深度和回放过程的降频情况, 损失周期数分为8~15个不等.如表 2所示, 文献[13]中使用门控时钟方式的错误恢复方法可以将恢复代价降至0.5个周期, 在时序分布较为宽松的设计中, 这种方式具有很大的可行性.ECFF使用的时序借用方法在检测错误的同时进行了错误恢复, 基本没有性能损失, 0.2个纠错损失周期来自纠错后时钟偏移的1个窗口长度.

ECFF单元的晶体管只增加4个, 在目前所有的EDAC方法中是最少的.ECFF系统的时序单元替换比例为24.4%, 是除Bubble之外所有方法中最高的(Bubble的整体实现方式决定了所有时序单元都必须被替换, 其总面积膨胀达到了103%).ECFF系统只有5.3%的面积膨胀, 但膨胀程度实际上是所有方法中最低的, 因为表面上膨胀数字较低的系统都集成了较大的高速缓存, 而高速缓存会将系统总面积明显变大, 使得EDAC引入的相对面积膨胀比例缩小.因此, ECFF的轻量级属性可以使系统用极低的额外成本实现相当高的单元替换比例.

4 结语

本文提出了一种轻量级错误消除寄存器ECFF, 首次使用了根据检测错误信息直接赋值进行错误纠正的技术进行时序容错, 为EDAC研究提供了一个新的思路.相对近年来的同类技术, ECFF最大的贡献在于其极低的额外成本和性能损失.ECFF仍未解决传统EDAC方法中的保持时间缓冲器问题和亚稳态问题.因此, 后续研究将着重面向进一步减小EDAC方法的额外成本, 降低保持时间缓冲器的使用量, 解决检测过程亚稳态问题.

参考文献
[1] 冯亚勇. 抗PVT变化的自适应电源电压调整电路设计[D]. 哈尔滨: 哈尔滨工业大学, 2011: 13.
FENG Ya-yong. Design of adaptive power supply regulating circuit against PVT fluctuation [D]. Harbin: Harbin Institute of Technology, 2011: 13.
[2] 秋攀, 乔树山, 凌康, 等. 基于关键路径延时检测的自适应电压缩减技术[J]. 半导体技术, 2015, 40(4): 250–254.
QIU Pan, QIAO Shu-shan, LING Kang, et al. Adaptive voltage scaling technique based on critical path delay monitoring[J]. Semiconductor Technology, 2015, 40(4): 250–254.
[3] DAS S, ROBERTS D, LEE S, et al. A self-tuning DVS processor using delay-error detection and correction[J]. IEEE Journal of Solid-State Circuits, 2006, 41(4): 792–804. DOI:10.1109/JSSC.2006.870912
[4] TSCHANZ J, BOWMAN K, WALSTRA S, et al. Tunable replica circuits and adaptive voltage-frequency techniques for dynamic voltage, temperature, and aging variation tolerance [C] // 2009 Symposium on VLSI Circuits. Kyoto: IEEE, 2009: 112-113.
[5] 雷庭. 处理器自查错纠错技术: 延时故障建模、设计决策与规划[D]. 北京: 清华大学, 2011: 12.
LEI Ting. Error-detection and error-correction technologies for processors: delay fault modeling, design decisions and planning [D]. Beijing: Tsinghua University, 2011: 12.
[6] ERNST D, DAS S, LEE S, et al. Razor: circuit-level correction of timing errors for low-power operation[J]. IEEE Micro, 2004, 24(6): 10–20. DOI:10.1109/MM.2004.85
[7] BOWMAN K, TSCHANZ J, DE V, et al. Energy-efficient and metastability-immune resilient circuits for dynamic variation tolerance[J]. IEEE Journal of Solid-State Circuits, 2009, 44(1): 49–63. DOI:10.1109/JSSC.2008.2007148
[8] BOWMAN K, TSCHANZ J, LU S, et al. A 45 nmresilient microprocessor core for dynamic variation tolerance[J]. IEEE Journal of Solid-State Circuits, 2011, 46(1): 194–208. DOI:10.1109/JSSC.2010.2089657
[9] 邱吉冰, 鄢贵海, 韩银和, 等. 适应宽温环境的集成电路低功耗实现技术[J]. 计算机工程与设计, 2016, 37(1): 269–274.
QIU Ji-bing, Yan Gui-hai, Han Yin-he, et al. Low power design technique for IC with wide temperature range[J]. Computer Engineering and Design, 2016, 37(1): 269–274.
[10] KWON I, KIM S, SYLVESTER D, et al. Razor-Lite: a light-weight register for error detection by observing virtual supply rails[J]. IEEE Journal of Solid-State Circuits, 2014, 49(9): 2054–2066. DOI:10.1109/JSSC.2014.2328658
[11] CHAE K, MUKHOPADHYAY S. A dynamic timing error prevention technique in pipelines with time borrowing and clock stretching[J]. IEEE Transactions on Circuits and Systems I: Regular Papers, 2014, 61(1): 74–83. DOI:10.1109/TCSI.2013.2268272
[12] CHOUDHURY M, CHANDRA V, MOHANRAM K, et al. Time-borrowing circuit designs and hardware prototyping for timing error resilience[J]. IEEE Transactions on Computers, 2014, 63(2): 497–509. DOI:10.1109/TC.2012.190
[13] FOJTIK M, FICK D, SYLVESTER D, et al. Bubble razor: eliminating timing margins in an ARM cortex-M3 processor in 45 nm CMOS using architecturally independent error detection and correction[J]. IEEE Journal of Solid-State Circuits, 2013, 48(1): 66–81. DOI:10.1109/JSSC.2012.2220912
[14] C-SKY Microsystems. 32-bit high performance and low power embedded processor [EB/OL]. [2016-03-13]. http://www.c-sky.com/down.php?id=39.
[15] CHOUDHURY M, MOHANRAM K. Masking timing errors on speed-paths in logic circuits [C] // In Design, Automation Test in Europe Conference Exhibition. Nice: IEEE, 2009: 87-92.
[16] DAS S, TOKUNAGA C, BLAAUW D, et al. RazorII: In situ error detection and correction for pvt and ser tolerance[J]. IEEE Journal of Solid-State Circuits, 2009, 44(1): 32–48. DOI:10.1109/JSSC.2008.2007145
[17] BULL D, DAS S, BLAAUW D, et al. A power-efficient 32 bit arm processor using timing-error detection and correction for transient-error tolerance and adaptation to pvt variation[J]. IEEE Journal of Solid-State Circuits, 2011, 46(1): 18–31. DOI:10.1109/JSSC.2010.2079410