用于扩充电路设计以检测和纠正定时错误的设备的制作方法

文档序号:6591746阅读:172来源:国知局
专利名称:用于扩充电路设计以检测和纠正定时错误的设备的制作方法
技术领域
本实用新型主要地涉及用于检测和纠正电路设计中的错误的技术和系统。具体而 言,本实用新型涉及用于扩充电路设计以检测和纠正定时错误的技术和系统。
背景技术
半导体制作技术的发展通过制作更小晶体管并且将这些晶体管更近地压缩在一 起,已经引起每一半导体器件的晶体管数目剧增。然而,这些新设计实践可能使制作的集成 电路(IC)更容易受到可能影响IC性能的物理故障或者寄生效应。回应这些潜在危险,常 常只要有可能就设计具有冗余、检错和纠错的IC以使这些电路更稳健。然而,与这样的检 错和纠错电路关联的性能和布局开销可能使它们在新电路设计中难以广泛应用。具体而言,针对制造的IC的定时延迟错误在用于IC的初始设计循环期间难以估 计和防止。这些错误在不能在对寄存器进行采样以捕获产生的结果之前完成针对给定输入 矢量的计算时出现。在一些场合中,定时延迟错误可能由于随机制造错误而出现在制造的 IC中,此时可能丢弃有故障的IC。然而,当在一批制造的IC内遇到定时延迟错误时,可以 降低用于IC的时钟频率以允许IC正确地操作,但是以牺牲为IC设计的操作性能水平为代 价。另一方面,制造的IC可以在比针对它的电路设计而预测的频率更高的频率工作。 当设计和实施给定电路时,该电路一般被设计成在保守的用于过程和环境变量的值的集合 (即,设计拐角)内操作。另外,通常填补由分析算法和模型所生成的针对电路的定时预测, 以解决它们不能对一些物理、电和/或逻辑效应进行建模。这些预测产生如下设计裕度,该 设计裕度是在制造的电路与分析结果之间的定时中的差异,并且它是对性能预测对于设计 过程而言有多保守的测量。当由于大设计裕度而引起所假设的最坏情况的场景无法用硅具 体实现时,该大设计裕度的结果是超裕度设计的电路,这是所不希望的。普遍做法是在宽范 围的功率和时钟频率参数之下测试制作的IC以确定IC的实际工作参数。通常一旦IC经 历定时错误就发现IC的一个断点。已经开发用于检测和纠正定时错误的诸多解决方案,并且这些方案中的多种方案 基于双倍数据采样寄存器(DDSR)。DDSR是如下的经过修改的触发器(FF),该FF能够通过 使用比标准寄存器更迟地对数据进行采样的额外“阴影”锁存器、然后比较两个采样数据的 差异,来检测延迟错误。如果DDSR的“阴影”锁存器采样到与DDSR的常规锁存器不同的值, 则DDSR确定它已经检测到错误。一旦DDSR已经检测到错误,错误信号就传播到设计中的 可以纠正错误的逻辑。然而,利用DDSR来实施检错电路的现有系统常常要求存在对电路的专门化流水 线组织,并且通过刷新流水线和重放指令/数据来进行纠错。用于执行检错和纠错的两种 常用DDSR解决方案包括 通过停滞(stall)时钟以允许利用来自“阴影”锁存器的正确值取代不正确的值 或者通过停滞修改的流水线设计中的数据,在原处纠错。
5[0008]·在检测到电路流水线中的错误之后刷新该流水线,并且允许电路流水线重新计
晳社里 异5口米。这些实施可能对给定的电路设计引起大量物理开销,并且可能在刷新流水线以进 行纠错时引入显著性能损失。第一种解决方案可能对可以用检错和纠错能力扩充什么类别 的电路设定严格限制,因为它要求简易流水线。另外,它也由于它的纠错机制和修改的电路 流水线而引起大量电路开销。第一种解决方案通常用于定制电路设计,其中检错和纠错适 用于设计的特定部分。没有广泛使用第二种解决方案以用检错和纠错能力扩充一般的ASIC 设计,因为它无论何时检测错误都可能引起大量性能开销。

实用新型内容根据本实用新型的一个方面,提供一种用于扩充电路设计以检测和纠正定时错误 的设备。该设备可以包括分割装置,其被配置为将电路设计分割为一组块,其中相应块由 局部时钟信号钟控;第一集成装置,其被配置为在该组块之间集成错误信号传播电路;以 及对于相应块确定装置,其被配置为确定将实施为双倍数据采样寄存器的一组内部寄存 器,其中给定的双倍数据采样寄存器被配置成在它检测到定时错误时生成错误信号;取代 装置,其被配置为用双倍数据采样寄存器取代确定的一组内部寄存器;第二集成装置,其 被配置为将两阶段纠错电路集成到相应块中,其中在被双倍数据采样寄存器通知定时错误 时,两阶段纠错电路被配置成停滞相应块中的寄存器;以及第三集成装置,其被配置为将根 据全局时钟信号和错误信号来生成局部时钟信号的定时电路集成到相应块中。根据一个实施例,第二装置可以包括第一配置装置,用于配置相应块的内部寄存 器以在两阶段纠错电路的第一或者第二停滞阶段期间停滞;第二配置装置,用于配置输入 缓存器以在第一停滞阶段期间对相应块的输入信号源的信号值进行采样和保持;第三配置 装置,用于配置输入复用器以在第二停滞阶段期间选择输入缓存器的输出信号,并且除此 之外选择用于相应块的输入信号源,其中输入复用器的输出耦合到相应块的主输入信号; 第四配置装置,用于配置第一输出寄存器以在两阶段纠错电路的第二停滞阶段期间停滞, 其中第一输出寄存器的输出信号耦合到相应块的主输出信号;以及第五配置装置,用于配 置第二输出寄存器以在两阶段纠错电路的第一或者第二停滞阶段期间停滞,其中第二输出 寄存器的输出信号耦合到第一输出寄存器的输入信号。根据一个实施例,两阶段纠错电路针对在双倍数据采样寄存器通知定时错误之后 的时钟循环激活第一停滞阶段。根据一个实施例,两阶段纠错电路针对在第一停滞阶段之后的时钟循环激活第二 停滞阶段。根据一个实施例,该确定装置可以包括第一选择装置,其被配置为选择检错覆盖 范围,检错覆盖范围指定相应块中将实施为双倍数据采样寄存器的寄存器的比例;关键路 径确定装置,其被配置为确定相应块中在所需频率难以设计的关键路径;以及第二选择装 置,其被配置为从确定的关键路径选择多个寄存器,从而选择的寄存器的比例落在选择的 检错覆盖范围内。根据一个实施例,第一集成装置可以包括第一生成装置,其被配置为通过使用第 一逻辑电路来组合由相应块的双倍数据采样寄存器生成的错误信号,从而生成针对相应块
6的块级错误信号,其中第一逻辑电路在由双倍数据采样寄存器生成的至少一个错误信号的 信号值是错误值时,将错误值传播到块级错误信号上;以及第二生成装置,其被配置为通过 使用第二逻辑电路来组合来自一组块的块级错误信号来生成全局错误信号,其中第二逻辑 电路在至少一个块级错误信号的信号值是错误值时将错误值传播到全局错误信号上。根据一个实施例,相应块的定时电路基于块级错误信号、全局错误信号和全局时 钟信号来生成局部时钟信号;其中定时电路在块级错误信号和全局错误信号的信号值不是 错误值时将全局时钟信号传播到局部时钟信号上;以及其中定时电路在块级错误信号或者 全局错误信号中的至少一个的信号值是错误值时阻止全局时钟信号的时钟信号转变传播 到局部时钟信号上。根据本实用新型的另一方面,提供一种用于检测和纠正电路设计中的定时错误的 设备。该设备可以包括错误信号传播电路,其被配置成生成全局错误信号;以及从电路设 计分割的一组块,其中相应块由局部时钟信号钟控,并且其中相应块包括实施为双倍数据 采样寄存器的一组内部寄存器,其中给定的双倍数据采样寄存器被配置成在它检测到定时 错误时生成错误信号;两阶段纠错电路,其中在被双倍数据采样寄存器通知定时错误时,两 阶段纠错电路被配置成停滞相应块中的寄存器;以及定时电路,其根据全局时钟信号和错 误信号来生成局部时钟信号。根据一个实施例,两阶段纠错电路被配置为其包括第一停滞装置,其被配置为在 两阶段纠错电路的第一或者第二停滞阶段期间停滞相应块的内部寄存器;第一触发装置, 其被配置为触发输入缓存器以在第一停滞阶段期间对相应块的输入信号源的信号值进行 采样和保持;第二触发装置,其被配置为触发输入复用器以在第二停滞阶段期间选择输入 缓存器的输出信号,并且除此之外选择用于相应块的输入信号源,其中输入复用器的输出 耦合到相应块的主输入信号;第二停滞装置,其被配置为在两阶段纠错电路的第二停滞阶 段期间停滞第一输出寄存器,其中第一输出寄存器的输出信号耦合到相应块的主输出信 号;以及第三停滞装置,其被配置为在两阶段纠错电路的第一或者第二停滞阶段期间停滞 第二输出寄存器,其中第二输出寄存器的输出信号耦合到第一输出寄存器的输入信号。根据一个实施例,两阶段纠错电路针对在双倍数据采样寄存器通知定时错误之后 的时钟循环激活第一停滞阶段。根据一个实施例,两阶段纠错电路针对在第一停滞阶段之后的时钟循环激活第二 停滞阶段。根据一个实施例,错误信号传播电路包括第一电路,配置成生成针对相应块的块 级错误信号,其中第一电路的输入信号耦合到由相应块的双倍数据采样寄存器生成的错误 信号;以及第二电路,配置成生成全局错误信号,其中第二电路的输入信号耦合到来自一组 块的块级错误信号。根据一个实施例,相应块的定时电路包括被配置成生成局部时钟信号的第三电 路,其中第三电路的输入信号耦合到块级错误信号、全局错误信号和全局时钟信号。本实用新型的一个实施例提供用于用定时错误检测和纠正机制扩充电路设计的 方法和装置。这一系统首先将电路设计分割为由独立时钟信号钟控的一组块并且在这一组 块之间集成错误信号传播电路。对于相应块,该系统确定将实施为双倍数据采样寄存器的 一组内部寄存器,并且用双倍数据采样寄存器取代确定的一组内部寄存器,其中给定的双倍数据采样寄存器被配置成在它检测到定时错误时生成错误信号。然后,该系统将两阶段 纠错电路集成到相应块中,其中在被双倍数据采样寄存器通知定时错误时,两阶段纠错电 路被配置成停滞相应块中的寄存器。该系统还将根据全局时钟信号和错误信号来生成局部 时钟信号的定时电路集成到相应块中。在对这一实施例的一种变化中,该系统通过配置相应块的内部寄存器以在两阶段 纠错电路的第一或者第二停滞阶段期间停滞来将两阶段纠错电路集成到相应块中。另外, 该系统配置输入缓存器以在第一停滞阶段期间对相应块的输入信号源的信号值进行采样 和保持。该系统配置输入复用器以在第二停滞阶段期间选择输入缓存器的输出信号,并且 除此之外选择用于相应块的输入信号源,从而输入复用器的输出信号耦合到相应块的主输 入信号。该系统还配置第一输出寄存器以在两阶段纠错电路的第二停滞阶段期间停滞,其 中第一输出寄存器的输出信号耦合到相应块的主输出信号。类似地,该系统配置第二输出 寄存器以在两阶段纠错电路的第一或者第二停滞阶段期间停滞,其中第二输出寄存器的输 出信号耦合到第一输出寄存器的输入信号。在又一变化中,两阶段纠错电路针对在双倍数据采样寄存器通知定时错误之后的 时钟循环激活第一停滞阶段。在又一变化中,两阶段纠错电路针对在第一停滞阶段之后的时钟循环激活第二停 滞阶段。在对这一实施例的一种变化中,该系统通过首先选择检错覆盖范围来确定将实施 为双倍数据采样寄存器的一组寄存器,该检错覆盖范围指定相应块中将实施为双倍数据采 样寄存器的寄存器的比例。然后,该系统确定相应块中在所需频率难以设计的关键路径,并 且从确定的关键路径选择多个寄存器,从而所选寄存器的比例落在所选检错覆盖范围内。在对这一实施例的一种变化中,该系统通过使用第一逻辑电路来组合由相应块的 双倍数据采样寄存器生成的错误信号生成针对相应块的块级错误信号,来在一组块之间集 成错误信号传播电路,其中第一逻辑电路在由双倍数据采样寄存器生成的至少一个错误信 号的信号值是错误值时将错误值传播到块级错误信号上。另外,错误信号传播电路通过使 用第二逻辑电路来组合来自该一组块的块级错误信号来生成全局错误信号,其中第二逻辑 电路在至少一个块级错误信号的信号值是错误值时将错误值传播到全局错误信号上。在又一变化中,相应块的定时电路基于块级错误信号、全局错误信号和全局时钟 信号的信号值来生成局部时钟信号。为此,定时电路在块级错误信号和全局错误信号的信 号值不是错误值时将全局时钟信号传播到局部时钟信号上。另外,定时电路在块级错误信 号或者全局错误信号中的至少一个的信号值是错误值时阻止全局时钟信号的时钟信号转 变传播到局部时钟信号上。

图1图示了根据本实用新型一个实施例的用检错和纠错系统扩充的电路设计,该 电路包括多个电路块和耦合到该电路块的多个通信信号。图2图示了根据本实用新型一个实施例的扩充电路块。图3图示了根据本实用新型一个实施例的扩充电路的全局错误传播电路。图4A图示了根据本实用新型一个实施例的局部错误传播电路。[0034]图4B图示了根据本实用新型一个实施例的全局错误传播电路。图4C图示了根据本实用新型一个实施例的定时电路。图4D图示了根据本实用新型一个实施例的局部错误传播电路。图4E图示了根据本实用新型一个实施例的全局错误传播电路。图4F图示了根据本实用新型一个实施例的定时电路。图5A图示了根据本实用新型一个实施例的四级布尔AND运算。图5B图示了根据本实用新型一个实施例的用于四级布尔AND运算的晶体管电路 实施。图6图示了根据本实用新型一个实施例的用于扩充电路的多个传播路径。图7呈现了根据本实用新型一个实施例的用于扩充电路以检测和纠正定时错误 的过程的流程图。图8呈现了根据本实用新型一个实施例的用于配置扩充电路块以检测和纠正定 时错误的过程的流程图。图9呈现了根据本实用新型一个实施例的用于检测和纠正定时错误的过程的流 程图。图10图示了根据本实用新型一个实施例的有助于扩充电路以检测和纠正定时错 误的示例计算机系统。图11示出了根据本实用新型一个实施例的用于扩充电路设计以检测和纠正定时 错误的设备的框图。表1说明了根据本实用新型一个实施例的示例性纠错过程。
具体实施方式
呈现以下描述以使本领域技术人员能够实现和利用本实用新型,并且在特定应用 及其要求的上下文中提供该描述。本领域技术人员将容易清楚对公开的实施例的各种修 改,并且这里限定的一般原理可以适用于其它实施例和应用而不脱离本实用新型的精神实 质和范围。因此,本实用新型不限于所示实施例而是将被赋予以与这里公开的原理和特征 一致的最广范围。在本具体实施方式
中描述的数据结构和代码通常存储于计算机可读存储介质上, 该介质可以是能够存储用于由计算机系统使用的代码和/或数据的任何设备或者介质。计 算机可读存储介质包括但不限于易失性存储器、非易失性存储器、磁和光存储设备(比如 盘驱动器)、磁带、CD (光盘)、DVD (数字多功能盘或者数字视频盘)或者现在已知或者以后 开发的能够存储计算机可读介质的其它介质。可以将具体实施方式
这一节中描述的方法和过程实施为能够存储于如上所述的 计算机可读存储介质中的代码和/或数据。当计算机系统读取和执行计算机可读存储介质 上存储的代码和/或数据时,计算机系统执行体现为数据结构和代码的并且存储于计算机 可读存储介质内的方法和过程。另外,可以在硬件模块中包括下文描述的方法和过程。例如,硬件模块可以包括但 不限于专用集成电路(ASIC)芯片、现场可编程门阵列(FPGA)和现在已知或者以后开发的 其它可编程逻辑器件。当激活硬件模块时,硬件模块执行硬件模块内包括的方法和过程。[0052]鍵本实用新型的实施例提供一种用于利用执行检错和纠错操作的逻辑架构扩充电 路设计的方法和系统。这些方法可服从电子设计自动化(EDA)工具和流程,并且可以由包 括处理器、存储器和用于存储指令的存储设备的计算机系统实施,这些指令在由计算机系 统执行时造成计算机系统执行用于利用对电路设计执行检错和纠错操作的逻辑来扩充电 路设计的方法。用于利用检错和纠错能力扩充电路设计的方法和系统在下文中称为扩充系 统。另外,由扩充系统修改以实现检错和纠错能力的电路在下文中称为扩充电路。在本实用新型的一些实施例中,扩充电路能够纠正某些类型的定时诱发错误而对 电路的表现(behavior)影响最少。另外,扩充系统旨在于克服与用检错和纠错能力扩充电 路设计关联的诸多复杂问题。例如,错误恢复操作可以使电路的一个部分变得与电路的其 余部分不同步(即,落后一个时钟循环)。另外,对快速电信号可以如何跨微芯片传播的物 理限制使得用检错和纠错能力扩充快速和大型电路设计这一任务变得复杂。这是因为需要 检测错误,并且需要生成错误信号和跨微芯片传播错误信号,以防止检测到的错误传播,所 有这些都在后续时钟转变之前。当对完整电路设计施加纠错时,从时钟源到DDSR的传播延 时可能妨碍DDSR及时生成错误信号以在数据源处阻止后续上升时钟沿。在本实用新型的一些实施例中,扩充系统将时钟停滞(门控)和原处纠错电路并 入到电路设计中,以管理与用检错和纠错能力扩充完整设计关联的复杂问题。这些实施例 将电路设计分割为多个独立钟控的电路块,其中每个电路块实施如下两阶段时钟停滞技 术,该技术允许电路从任何数目或者序列的局部延迟错误中恢复,并且响应于在任何电路 块的纠错操作跨电路块执行隐式重新同步操作。图1图示了根据本实用新型一个实施例的用检错和纠错能力扩充的示例电路 100。扩充电路100由扩充系统创建以用检错和纠错能力扩充电路设计,并且扩充电路包括 多个电路块102-106和耦合到电路块102-106的多个块间通信信号(例如,块间通信信号 108)。在本实用新型的一些实施例中,扩充系统向扩充电路100提供一种用以在错误恢 复操作之后重新同步电路块的机制,其中时钟延迟朝着电路边界传播。这一电路边界包括 能够与电系统的其它电路部件传递时钟延迟的握手机制110-112。因此,当来自独立钟控的 电路块内的错误恢复操作造成时钟停滞而朝着扩充电路100的电路边界传播时,电路100 的握手机制110-112向其它电路部件通知电路边界是接受还是提供新数据。扩充电路架构在本实用新型的一些实施例中,扩充电路设计包括将以下部件并入到扩充电路 中用于执行检错的DDSR、用于跨电路块传播错误信号的电路、用于从检测到的错误恢复 并且用于同步独立钟控电路块的电路、以及在电路设计的电路边界处的握手机制。在这些 实施例的一些变化中,扩充电路采用已经存在于电路设计的异步IO中的握手机制。在其它 变化中,扩充电路可以将存在于电路设计的内部块内的握手协议扩展到电路设计的边界处 的握手机制上。在一些实施例中,扩充系统可以用来扩充广泛的多种流水线式电路设计,并且不 限于可刷新(flushable)的流水线。另外,扩充系统可以用来扩充比其它检错/纠错技术 能够管理的电路设计更大的电路设计。扩充系统提供的性能归因于电路如何分割为块,其中每个块具有独立门控的时钟源。当扩充电路检测到电路块内的错误时,它触发相同电路 块内的纠错操作,并且利用后续时钟循环以执行电路块之间的重新同步。在一些实施例中,用检错和纠错能力扩充电路设计影响用于电路设计的面积、功 率、性能和设计方法。影响水平依赖于若干高级设计决策。第一决策要求选择DDSR覆盖范 围转换成DDSR以执行检错的寄存器的比例。用于电路设计的更大DDSR覆盖范围造成更 大功率/面积开销,这反过来可能有碍于通过用检错和纠错能力扩充电路设计而提供的优 点。另一方面,更小DDSR覆盖范围需要用于准确地确定应当转换成用于执行检错的DDSR 的理想寄存器候选的高级工具和方法。第二决策要求选择一种用于将DDSR插入到电路设计中的方法。有两种基本DDSR 插入方式在优化电路设计之前通过将电路分割为块来预先规划,或者用于在设计过程后 期更改电路实施的工程设计改变订单(ECO)方式。前者能够使用电路优化结果以检测可以 从检错中受益最多的电路块中的最坏情况的路径,然后扩充分割的电路设计以将DDSR插 入到这些最坏情况的路径中。在本实用新型的一些实施例中,一种扩充系统执行如下组合 式方法,该方法在设计过程早期执行与用检错和纠错能力来扩充电路设计相关联的一些决 策(例如,在电路优化过程之前执行时钟门控和/或电路块分割),而在设计过程后期执行 一些实施操作(即,在电路合成之后进行DDSR插入和/或电路扩充操作)。第三决策要求确定用于用检错和纠错能力扩充电路设计的目的。在本实用新型 的一些实施例中,可以扩充电路以实施可以容易地移至动态频率和/或本体偏置(body bias)的动态电源变化。这可能造成扩充电路遇到跨大量电路路径的定时错误,因此要求扩 充电路实施大DDSR覆盖范围。在本实用新型的其它实施例中,可以扩充电路以确保在所需 频率难以设计的多个电路路径内的适当功能性。在本实用新型的一些实施例中,电路设计者可以针对典型设计裕度优化电路设 计,并且依赖于由扩充系统并入到电路设计中的检错和纠错能力,以处理可能在最坏情况 的运行期情景中经历定时错误的电路路径。这一方法对于多数应用而言需要极少量DDSR, 因此对电路功率和面积具有很小影响。这一方式可以用来减少第一代电路设计的面市时间 或者适度地增加电路设计的性能。电路块流水线当逻辑块的功能不能在一个时钟周期内执行时,常常使用流水线式架构来实施电 路设计。众所周知电路流水线包括通过钟控的寄存器来耦合成序列的多个有顺序的元件, 其中有顺序的元件可以并行或者串行执行。在信号与有顺序的元件之间的流水线距离是在 信号与前述有顺序的元件之间的任何可能路径上需要穿越的有顺序的元件的最小数目。对 通过流水线的距离的这一定义可以用来确定在电路块的输入管脚与给定寄存器之间的距 离或者在给定寄存器与块的输出管脚之间的距离。在下文中,符号FFU指代与电路块的任 何输入管脚有最小距离i而与电路块的任何输出管脚有最小距离j的寄存器。类似地,符 号表示FFi'-指代无论寄存器与输出管脚的距离如何都与输入管脚有最小距离i的一组寄 存器。另外,符号表示指代无论寄存器与输入管脚的距离如何都与输出管脚有最小距 离j的一组寄存器。图2图示了根据本实用新型一个实施例的扩充电路块200。电路块200实施扩充 电路的独立钟控的块,并且包括电路块202、输入复用器204、输入缓存器205、第一输入寄
11存器206、在电路块202中的多个DDSR (例如,DDSR 208)和寄存器(例如,寄存器210)、第 一输出寄存器214和第二输出寄存器212。电路块200的寄存器206-214形成具有最少三 级的流水线。在这一流水线中,第一输入寄存器206是FF°’_&成员,并且可以实施为普通 寄存器或者DDSR。另外,第一输出寄存器214是FF_’°的成员,第二输出寄存器212是FF’1 的成员,而输出寄存器212-214没有实施为DDSR。在一些实施例中,寄存器212-214可以是 来自电路块202的初始寄存器流水线的寄存器。在一些其它实施例中,寄存器212-214可 以是在用于电路块202的初始电路设计没有实施具有最少三级的寄存器流水线时扩充到 电路块202上的寄存器。电路块200接受全局时钟信号220和全局错误信号236,并且生成多个时钟信号 以在进行纠错的同时控制寄存器206-214的定时。第一输出寄存器214由局部时钟221触 发,第二输出寄存器212和寄存器206-210由时钟222触发,而输入缓存器205偶尔由时钟 223触发。另外,电路块200在纠错操作期间生成扩充电路的其它块可以用来将它们本身 与电路块200同步的块级错误信号。以下段落描述由扩充系统用来创建以下电路部件的技 术,该电路部件用于生成时钟信号221-223、用于控制用于输入复用器204的选择信号226、 以及用于生成块级错误信号234。两阶段时钟停滞技术在本实用新型的一些实施例中,扩充系统将两阶段时钟停滞技术并入到扩充电路 中,其中扩充电路实施可以独立地时钟门控的多个电路块200。在一些实施例中,两个时钟 停滞阶段规定电路块200如何响应检测到的错误如下阶段I 检测到错误的所有电路块200针对在检错之后的时钟循环取得立即停滞。阶段II 没有检测到错误的其余电路块200针对在立即停滞之后的时钟循环取得 时钟停滞。第一时钟停滞阶段保证在执行纠错之前没有传播错误(纠错在与检测到错误相 同的时钟循环中开始)。纠正的值可能占用一个附加时钟循环来传播,在某些寄存器处这需 要时钟停滞以保证错误值没有被锁存。需要第二阶段以在电路块执行纠错操作之后重新同 步单独钟控的块。在下文中,与检错和纠错操作关联的时钟循环标记如下E1表示在电路块200检 测到第一错误时的时钟循环,而E2-E4表示由扩充电路用来执行纠错的时钟循环。类似地, 没有检测到错误(并且没有执行纠错操作)的扩充电路具有按以下对应顺序来标记的对应 时钟循环,该对应顺序为NE1、NE2、NE3和NE4。例如,如果在第二扩充电路中没有发现错 误,则用于第一扩充电路的NEl将等效于用于第二扩充电路的E1。另外,时钟循环在下文中称为在时钟的采样转变时开始,而恰在后续采样转变之 前结束。由寄存器在给定时钟循环期间锁存的信号在相同时钟循环期间传播到一些其它寄 存器的输入,并且在后续时钟循环期间锁存这些输入。将DDSR插入到电路块200中取代标 准寄存器引入在功率、面积和性能方面的开销。在一些应用中,有可能的是针对特定寄存器 插入检错和纠错逻辑的益处可能没有大到足以使该开销具有合理性。因此,本实用新型的 实施例没有提倡在整个给定电路设计内用DDSR取代寄存器。代替的是,针对电路块200的 关键部分以DDSR作为目标。在扩充系统的一些应用中,可以存在不需要任何DDSR的多个 块。然而,即使当电路块200无需DDSR用于检错时,仍然用两阶段时钟停滞技术实施它,因
12而它可以与扩充电路的其它电路块重新同步。扩充电路表现在本实用新型的一些实施例中,用于扩充电路设计的方法可以设定关于如何用 DDSR对扩充电路的电路块200进行实施和扩充的若干条件。这些条件可以包括· Cl-驱动电路块200的时钟信号222与驱动扩充电路中的其它块的时钟信号分 离,并且可以被阻止一个时钟循环(尽管,电路块200仍然可以使用输入缓存器205上的时 钟信号223来接收和缓存传入输入矢量)。· C2-DDSR取代不属于FF_’°或者FF—’1的寄存器。· C3-去往FF°’ _的输入矢量缓存到输入缓存器205中,并且输入复用器204在当 前输入信号源228与输入缓存器205之间选择。在一种对这些实施例的变化中,输入缓存 器205可以由全局时钟220钟控。在另一变化中,输入缓存器205由时钟信号223钟控,这 通过仅针对在检错之后的时钟循环生成时钟脉冲来减少功率消耗。-C4-在阶段I的停滞中(在E2期间),对于适用电路块,停滞除了 FF_’°和输入缓 存器之外的整个电路块200(即,停滞时钟信号222,但是没有停滞时钟信号221和223)。*C5_在阶段II的停滞中(在E3期间),对于适用块,停滞整个电路块200。在对 这一实施例的一些变化中,这通过停滞全局时钟信号220来实现。在其它变化中,这通过停 滞电路块200的时钟信号221-223来实现。· C6-组合来自电路块200的DDSR的错误信号(例如,DDSR错误224)以形成块 级错误信号234,并且组合来自扩充电路的一组电路块的块级错误信号以形成全局错误信 号236。在本实用新型的一些实施例中,全局错误信号236传播回到用于全局时钟信号220 的源,以在阶段II的停滞期间停滞每个独立钟控的块。· C7-输入复用器204在经历阶段I停滞操作的电路块中在停滞操作之后的时钟 循环期间选择输入缓存器205的输出。除此之外,输入复用器204选择用于所有其它电路 块的输入信号源228。在一些实施例中,电路块200的表现可能受到与扩充系统实施的检错和纠错能力 关联的若干性质的影响。这些性质包括· Pl-当停滞寄存器时该寄存器没有锁存错误。· P2-如果错误不可检测则它不存在(例如,其中未采用DDSR的寄存器)。·Ρ3_在紧接在停滞操作之后的时钟循环期间没有检测到定时错误(例如,在停滞 需要1. 5ΧΤ时其允许安排信号2Τ,T是时钟周期)。三个块性质Ρ1-Ρ3表明扩充电路块200在El至Ε3期间在多于一个时钟循环中没 有经历错误,并且电路块200在Ε3期间没有经历错误。以下段落通过展示系统在Ε3结束 时的稳定状态与在ΝΕ2结束时的稳定状态相同来确定扩充电路从检测到的错误中正确地 恢复出来。实质上,系统在检测到错误之后在三个时钟循环内从错误中完全地恢复,并且仅 耗用一个时钟循环用于该恢复过程。这一展示针对在检测到错误之后的时钟循环来说明块 的信号如何表现,然后将这些信号值与对应无错情况的信号值相对照。表1说明了当两个电路块在后续全局时钟时段中检测到错误时的示例性纠错过 程。这一例子与包括输入握手机制HI、三个电路块(即,B1-B3)和输出握手机制H2的扩充 电路关联。在本例中,电路块B2在时钟时段T1期间检测到定时错误,并且启动纠错过程。[0091]纠错过程的阶段I在时钟时段T2期间发生,其中电路块B2被停滞以执行局部纠 错操作。这一停滞操作向电路块B2提供它从定时错误中恢复所需要的额外时间。纠错过 程的阶段II在时钟时段T3期间发生,其中电路块Bl和B3以及握手机制H1-H2被停滞,以 将它们与电路块B2同步。作为纠错过程的结果,电路块B2的寄存器在全局时钟时段T2结 束时锁存正确值,并且电路块B2在全局时钟时段T3结束时与扩充电路的其余部分再次同

少ο也在本例中,电路块B3在时钟时段T2期间经历定时错误。然而,由于在时钟时段 T3期间停滞电路块B3,所以它具有充足时间来从定时错误中恢复。这一停滞操作防止电路 块B3检测到定时错误(即,性质P3),并且防止它启动新纠错过程。
时钟周期T1T2 (阶段I)T3 (阶段II)T4全局时钟01 01 01 01 0Hl (T111)NElNE2NE2NE3Bl (T111)NElNE2NE2NE3B2 (T1)ElNElNE2NE3B3 (T11)NElE2NE2NE3H2(Tm)NElNE2NE2NE3表1在一些实施例中,仅存在几种在扩充电路中可以遇到的块类型与块性质P1-P3 — 致 类型I-在El期间检测错误的电路块(例如,表1的电路块B2)。 类型II-在E2期间检测错误的电路块(例如,表1的电路块B3)。·类型III-在El、E2或者E3期间没有检测到任何错误的电路块(例如,表1的 电路块Bi)。电路块在El期间操作如下·类型I电路块-块锁存与NEl值对应的相同值,并且锁存一些错误。-块在最后两级寄存器没有经历错误。·类型II和III电路块-所有信号值对应于NEl值,因为所有操作在这一点正确,并且所有寄存器都被正 常地钟控。电路块在E2期间操作如下·类型I电路块-停滞除了寄存器FF_’°之外的所有寄存器。-局部地纠正所有错误,因而所有停滞的寄存器保留与NEl对应的正确值。
14[0109]-没有传播错误(S卩,目标寄存器没有锁存错误),因为没有DDSR向钟控的寄存器 馈送,并且没有DDSR直接地馈送输出(即,DDSR向可以停滞的FF—’1和FF_’°馈送)。-FF-'0锁存与NE2值对应的正确值,该值是由FF—’1寄存器在先前时钟节拍(tick) 传播的。-块输入值对应于NE2值。然而,FF°’_没有接受输入矢量(即,FF°’_被停滞)。-输入值由输入缓存器锁存(即,输入缓存器保持与NE2对应的输入信号)。 类型II电路块-独立钟控的块锁存与NE2对应的相同值(其中存在一些错误)。-独立钟控的块在块的输出没有经历错误(即,输出信号值对应于NE2)。 类型III电路块-所有信号值对应于NE2信号值,因为所有操作在这一点都是正确的,并且正常地 钟控所有寄存器。电路块在E3期间操作如下 类型I电路块-钟控所有寄存器。-FF-'0锁存与NE2值对应的值,因为它的输入没有改变(即,FF—’1继续锁存来自先 前时钟循环的值)。-块输入值改变成与NE3值对应的值(S卩,所有块的输出在先前时钟节拍期间起动 NE2信号值)。-已经在El期间停滞的所有寄存器(其锁存与NEl值对应的值)现在由于停滞而 锁存与NE2值对应的值。-作为一种特殊情况,?严_通过锁存输入缓存器的输出来锁存与NE2值对应的值。 类型II电路块-停滞所有寄存器(包括FF_’°),这造成锁存的值对应于正确NE2值。-块输入值对应于NE3值,但是没有处理它们。 类型III电路块-停滞所有寄存器,这造成锁存的值对应于正确NE2值。_块输出值没有改变。-输入值改变成NE3信号值,但是没有处理它们。针对跨时钟循环E1-E3的时钟停滞操作而呈现的表现说明了在E3期间类型I-III 的电路块包含与正确NE2值对应的信号值。另外,假如握手机制保证电子系统的其它电路 部件期望与正确NE2值对应的输入值,则扩充电路将这些信号值正确地传播到这些其它电 路部件中任何一个的输入。错误信号传播图3图示了根据本实用新型一个实施例的扩充电路300的全局错误传播电路308。 扩充电路300包括接收全局时钟信号304并且生成多个块级错误信号(例如,块级错误 306)的多个电路块(例如,电路块302)。这些块级错误信号传播到全局错误传播电路308, 该电路使用这些块级错误信号以生成全局级错误310,并且将全局级错误信号310传播到 电路块。
15[0135]在一些情形中,多个独立钟控的电路块可能同时(即,在跨多个独立钟控的块的 对应时钟循环内)或者跨多个时钟循环经历错误。在这两种情况中的任一情况下,扩充电 路将来自经历错误的所有电路块的错误信号及时传播到所有其它电路块,以停滞时钟信号 的后继采样转变。图4A图示了根据本实用新型一个实施例的局部错误传播电路400。局部错误传 播电路400。局部错误传播电路400存在于独立钟控的电路块内,并且可以通过组合多个 DDSR错误404-406与布尔AND逻辑门402来生成针对电路块的块级错误信号408。在这一 实施例中,DDSR错误信号404-406是去往局部错误传播电路400的活跃-低输入信号,而 块级错误408是活跃-低输出信号。为了适应生成活跃_高错误信号的DDSR,来自DDSR的 错误信号可以通过将活跃-高错误信号反相以生成活跃-低错误信号,来耦合到局部错误 传播电路400的输入。图4B图示了根据本实用新型一个实施例的全局错误传播电路420。全局错误传播 电路420存在于扩充电路内,并且可以通过组合多个块级错误424-426与布尔AND逻辑门 422来为扩充电路的独立钟控的电路块生成全局级错误信号428。在这一实施例中,块级错 误信号424-426是去往全局错误传播电路420的活跃-低输入信号,而全局级错误428是 活跃-低输出信号。图4C图示了根据本实用新型一个实施例的定时电路440。扩充电路通过产生用于 相应电路块的局部时钟信号448来对独立钟控的电路块内的全局时钟信号444进行门控。 定时电路440存在于独立钟控的电路块内,并且通过将全局时钟444、全局错误445和块级 错误446与布尔AND逻辑门442进行组合来生成用于电路块的局部时钟信号448。在这一 实施例中,全局错误445和块级错误446是去往定时电路440的活跃-低输入信号,并且在 DDSR检测到错误时造成局部时钟448保持为低。在上升时钟沿门控输入值的DDSR在下降 时钟沿之后生成错误信号而输入时钟保持为低。因此,定时电路440在全局时钟444为低 时接收错误信号445-446,并且在DDSR断言错误信号之时防止全局时钟444上的上升时钟 沿传播到局部时钟448。为了适应在下降时钟沿对输入信号进行门控的寄存器(例如,在上 升时钟沿之后生成错误信号的DDSR),DDSR的时钟输入可以耦合到通过将局部时钟448反 相而生成的时钟信号。图4D图示了根据本实用新型一个实施例的局部错误传播电路450。局部错误传播 电路450存在于独立钟控的电路块内,并且可以通过组合多个DDSR错误信号454-456与布 尔OR逻辑门452来生成针对电路块的块级错误信号458。在这一实施例中,DDSR错误信号 454-456是去往局部错误传播电路450的活跃-高输入信号,而块级错误458是活跃-高 输出信号。为了适应生成活跃-低错误信号的DDSR,来自DDSR的错误信号可以通过将活 跃_低错误信号反相以产生活跃_高错误信号来耦合到局部错误传播电路450的输入。图4E图示了根据本实用新型一个实施例的全局错误传播电路460。全局错误传 播电路460存在于扩充电路内,并且可以通过组合多个块级错误464-466与布尔OR逻辑门 462来为扩充电路的独立钟控的电路块生成全局级错误信号468。在这一实施例中,块级错 误信号464-466是去往全局错误传播电路460的活跃-高输入信号,而全局级错误468是 活跃-高输出信号。图4F图示了根据本实用新型一个实施例的定时电路470。扩充电路通过为相应电路块产生局部时钟信号478来对独立钟控的电路块内的全局时钟信号474进行门控。定时 电路470存在于独立钟控的电路块内,并且通过组合全局时钟474、全局错误475和块级错 误476与布尔OR逻辑门472来生成用于电路块的局部时钟信号478。在这一实施例中,全 局错误475和块级错误476是去往定时电路470的活跃-高输入信号,并且在DDSR检测到 错误时造成局部时钟478保持为高。在下降时钟沿门控输入值的DDSR在上升时钟沿之后 生成错误信号,而同时输入时钟保持为高。因此,定时电路470在全局时钟474为高时接收 错误信号475-476,并且在DDSR断言错误信号时防止全局时钟474上的下降时钟沿传播到 局部时钟478。为了适应在上升时钟沿门控输入信号的寄存器(例如,在下降时钟沿之后生 成错误信号的DDSR),DDSR的时钟输入可以耦合到通过将局部时钟478反相而生成的时钟 信号。图5A图示了根据本实用新型一个实施例的四级布尔AND运算500。通过布尔逻 辑门(例如,逻辑门502-504)的多层NAND-NOR配置来实施布尔AND运算500。在对这一 实施例的一些变化中,布尔AND运算500可以实施为具有少数逻辑级的宽逻辑门。这一实 施提供最佳性能,因为逻辑门的晶体管就一个逻辑门的典型扇出而言具有恒定输出负载, 并且用于1到0的输入信号转变的关键路径通过NAND和NOR逻辑门的并行晶体管(例如, 图5B的网络532-534)传播。在布尔AND运算500的四层实施中,逻辑门的第一层接受与 用于布尔AND运算500的输入对应的多个输入信号(例如,输入信号506),而第四层实施为 单个布尔NOR逻辑门,该逻辑门生成与用于布尔AND运算500的输出对应的输出信号508。图5B图示了根据本实用新型一个实施例的实施四级布尔AND运算500的晶体管 电路520。上拉网络530和下拉网络532 —起实施布尔NAND逻辑门502。类似地,上拉网 络534和下拉网络536 —起实施布尔NOR逻辑门504。在本实用新型的一些实施例中,优化用于布尔AND操作500的CMOS (互补金属氧 化物半导体)实施以便传播错误信号的使能(enabling)转变。对于在信号转变从逻辑值1 转变成逻辑值0时发生的使能转变,通过晶体管电路520的时间关键路径通过上拉网络530 和下拉网络536传播。换而言之,时间关键路径通过逻辑门502-504中的并联晶体管之一传 播,由此避免一般较慢的晶体管栈。因此,可以通过偏置CMOS电路来针对使能输入转变优 化用于逻辑门502-504的CMOS实施。为了这样做,栈晶体管网络(例如,下拉网络532和 上拉网络534)可以被配置成比并联晶体管网络(例如,上拉网络530和下拉网络536)更 弱的拉动。这一优化是可能的,因为实施布尔AND操作的逻辑门无需平衡的延迟。在本实用新型的一些实施例中,可以基于用于实施布尔AND操作500的类似技术 来实施四级布尔OR运算。例如,可以通过将第一级布尔NOR逻辑门的输出信号耦合到第二 级布尔NAND逻辑门的输入信号,来实施二级布尔OR运算。另外,可以基于上述用于实施 布尔NAND逻辑门502和布尔NOR逻辑门504的技术,来构造用于四级布尔OR运算的布尔 NAND和布尔NOR逻辑门的CMOS实施。通过这样做,针对布尔OR运算的CMOS实施被优化, 以便传播在错误信号从逻辑值0转变成逻辑值1时活跃-高错误信号发生的使能转变。下文按照四扇出(F04)延迟来表达通过门和互连的延迟。F04延迟是载有四个同 尺寸反相器的反相器的延迟。在用失衡上拉和下拉网络实施逻辑门的情况下,该延迟是针 对0到1和1到0的信号转变的延迟的平均。针对检错和纠错电路的物理约束
17[0148]图6图示了根据本实用新型一个实施例的用于扩充电路600的多个传播路径 602-604。错误信号传播路径604反映DDSR错误信号622在它传播回到DDSR 620时穿越 的路径。错误信号传播路径604穿越块级错误信号624和局部时钟信号628,并且传播的 值还受扩充电路600的全局时钟信号626影响。逻辑传播路径602反映在信号通过寄存器 606-612的流水线传播时通过逻辑614-618的延迟。这些传播路径对扩充电路设定两个定时约束。第一约束应用于电路设计的扩充 电路块而不是整个芯片。在这一配置之下,局部错误信号与局部独立门控的时钟源争相停 止后继采样转变。下文将该约束场景称为“块内”约束。第二约束涉及到在扩充电路块生 成全局错误信号,并且在一个时钟周期内将全局错误信号传播回到扩充电路的独立钟控的 块。下文也将第二约束称为“块间”约束。在以下段落中,为时钟和错误信号导出传播约束。这些传播约束对应于多个电路 设计假设,并且导出的约束值可以随着不同假设而因电路设计而变化。这些传播约束可以 影响用于电路块的可能尺度,由此在用检错和纠错能力扩充电路设计时影响如何将电路设 计分割为多个独立钟控的块。块内约束源于如下观察由于不能使用DDSR来实施局部钟控电路块的最后两级 寄存器,所以该块需要至少三个流水线级以将DDSR包括到块流水线中。因此,该块必须具 有足以支持三级流水线的复杂度,其中一个理想传播延迟大于3T(T是时钟周期)。将电路的定时约束与电路的物理尺度约束相联系要求考虑信号传播速度可以怎 样随着不同类别的电路而变化。例如,以下假设允许计算通过相对稠密的逻辑的信号传播 速度1.将逻辑门以直线对准,2.某一白空间与单元之比(例如,33%),3.将成为F04延迟的平均门延迟。这些假设将它们本身运用于计算在F04上通过逻辑的信号传播速度,该信号传播 速度以CW单位(通常为微米)表达S 逻辑=1.33XCW。类似地,本实用新型的一些实施例可以根据实际时钟树信息来计算通过时钟分布 的信号传播速度,而其它实施例可以基于一些预定假设来计算信号传播速度。例如,可以基 于通过另一类电路的速度来近似通过时钟分布的信号传播速度为了接近最佳延迟而插入 反相器的传输线。众所周知存在介于16于40个F04延迟之间的任意流水线级的延迟,其中更小延 迟提供更大胆的电路设计(即,更接近定制设计性能)。为了使电路设计适应具有这些延 迟的流水线级,因而针对错误信号传播的延迟加上时钟分布延迟应当少于8到20个F04延 迟。根据前一节,可以有把握地认为错误信号传播少于4个F04延迟。因此,块应当小到足 以可以在4到16个F04延迟内传播时钟分布。换而言之,考虑在时钟源处于中心的情况下 使用曼哈顿路由来实施的方块,时钟信号需要在少于4到16个F04时间内越过块的宽度。 同时,穿过逻辑的信号可能经历比48到120个F04延迟更大的延迟(即,至少三个流水线 级)。可以就通过相应电路类别的信号在允许时间内越过的距离方面来记下物理约束。在 示例性电路中,时钟信号具有约4到16个F04的时间来越过比通过逻辑的信号可以在48到120个F04的时间越过的距离更大的距离,这意味着距离时钟>距离逻辑这里使用符号表示"Sww ”来记下时钟信号传播的速度,而使用符号表示 “4. . . 16 (F04),,来记下针对时钟信号的4到16个F04时间的近似延迟。类似地,这里使用 符号表示"Ss^来记下通过逻辑传播逻辑信号的速度,而使用符号表示“48. . . 120 (F04) ” 来记下用于传播信号的48到120个F04时间的近似延迟。使用这一符号表示,时钟信号之 间行进的距离与通过逻辑的信号所行进的距离之间的关系意味着S 时钟 X4. · · 16 (F04) > S 逻辑 X48. · · 120 (F04)。观察到高性能设计有更高要求,时钟信号的传播速度与逻辑信号的传播速度之间 的约束采用以下形式S 时钟/S 逻辑 > 12。方法效果在本实用新型的一些实施例中,扩充系统向扩充电路提供可以用于诸多应用的进 行检错和纠错的能力1.可以设计电路以在给定功率/性能裕度内操作,并且能够在最坏情况的设计裕 度参数之下可靠地工作。因此,扩充系统使电路能够获得比未用检错和纠错能力扩充的电 路更好的功率/性能权衡。另外,通过制造的如下电路来改善电路设计的制作产量,这些电 路利用由扩充系统并入到电路设计中的自纠正性质。2.可以通过更早终止电路优化过程来改善电路设计的面市时间。可以通过用检错 和纠错能力扩充电路设计的关键路径,而不是对这些关键路径进行优化以使它们能够在设 计裕度内操作,来节省时间。在不仅可以按照实际松弛值而且可以按照变得关键的概率对 关键路径进行排序时,这一方法变得引人关注。例如,可以用检错和纠错能力扩充由信号噪 声引入明显延迟的长路径,而不是执行侵犯方(aggressor)对准以使侵犯方引入的噪声电 平最小。有可能的是可以在用检错和纠错能力扩充时允许所有芯片作为正常操作模式进入 检错/纠错循环。3.扩充电路可以与可变电源、频率和本体偏置组合以使基本电路设计的性能最 高。在对这些实施例的一些变化中,扩充系统可以通过在电路设计中创建如下岛状物来扩 充电路设计,可以独立地调节这些岛状物以使制造的电路的功率消耗最小。因为可以预先 确定错误位置,并且可以将针对各种性能参数的调节预先编程到扩充电路中,这一扩展是 可能的。在更多变化中,这一设计方式可以用来应对扩充电路的老化。4.对于可以提供多个产品副品(spin)的公司,扩充系统可以扩充电路设计以使 初始产品副品的风险最小,并且可以在已经验证性能或者已经优化电路设计之后被去除。在本实用新型的一些实施例中,扩充系统可以作为对给定电路设计进行扩充的多 个EDA工具能力而存在。在对这些实施例的一些变化中,第一工具能力允许电路优化过程 将DDSR插入到电路设计中而不是需要加大电路设计尺寸或者必须对电路设计重新定时。 从功率/性能观点来看,制造的电路应当在错误率最小的情况下工作。然而,并入过多DDSR 和依赖于其纠错能力的电路设计为了实现最优功率或者性能等级而经历过多错误的可能 性高。另外,假如DDSR与标准寄存器相比具有更大尺寸和功率消耗,假如一些电路实现也 需要最少延迟缓存器,并且假如扩充电路将需要额外逻辑,则用DDSR扩充电路设计会增加
19电路的制造和运行期成本。因此,选择一组最优的寄存器以使用DDSR来进行实施需要一种 静态定时分析工具,其能够在电路路径变得关键的概率方面来区分它们的优先级。这一第一工具能力涉及给定电路设计的产量(即,给定关键路径可能影响的制造 芯片的比例)、与逻辑概率(即,在将两个数相乘时最高有效位(MSB)有多频繁地切换)关 联的效果以及侵犯方对准概率(即,如果给定路径仅在5个或者更多侵犯方对准时才变得 关键则可以确定它具有低的权重)。在对这些实施例的一些变化中,无需这一工具功能以产 生准确路径优先级从而提升高效工具运行期,而在其它实施例中,这一工具被配置为产生 准确路径优先级从而保证检错和纠错能力的最佳性能。在本实用新型的一些实施例中,第二工具能力以遵循前述定时约束C1-C7的方式 将电路设计自动地分割为独立钟控的块。在这些实施例的一些变化中,这一第二工具能力 在分割电路设计时利用分级电路设计的模块边界作为向导。在本实用新型的一些实施例中,扩充电路的块级独立门控的时钟和定时约束进一 步设置对时钟树合成工具和对布局布线(place-and-route)工具的更多约束。重要的是这 两种工具使给定块内的块传播延迟最小,并且优化单元布置以使块面积最小。图7呈现如下流程图,该流程图图示了根据本实用新型一个实施例的为了扩充电 路以检测和纠正定时错误而由计算机系统执行的过程。该系统从将电路分割为一组块开始 (操作702)。接着,该系统将错误信号传播电路集成到扩充电路中以耦合来自这一组块的 错误信号(操作704)。然后对于相应电路块(操作706),该系统确定将被实施为DDSR的一 组寄存器(操作708)并且用DDSR取代该寄存器集合(操作710)。该系统还将两阶段纠错 电路集成到相应电路块中(操作712),并且将定时电路集成到相应电路块中(操作714)。 注意可以同时或者按任何顺序执行操作708-714。图8呈现如下流程图,该流程图图示了根据本实用新型一个实施例的用于配置扩 充电路的电路块以检测和纠正定时错误而由计算机系统执行的过程。该系统同时或者按 任何顺序执行多个操作802-812。在一个操作中,该系统配置电路块的多个内部寄存器,以 在第一或者第二停滞阶段期间停滞(操作802)。在第二操作中,该系统配置电路块的输入 缓存器,以在第一停滞阶段期间对信号值进行采样和保持(操作804)。在第三操作中,该 系统配置输入复用器,以在第二停滞阶段期间选择输入缓存器的输出(操作806)。在第四 操作中,该系统配置输入复用器以在电路块不在第二停滞阶段中时选择输入信号源(操作 808)。在第五操作中,该系统配置第一输出寄存器以在第二停滞阶段期间停滞(操作810)。 在第六操作中,该系统配置第二输出寄存器以在第一或者第二停滞阶段期间停滞(操作 812)。图9呈现如下流程图,该流程图图示了根据本实用新型一个实施例的由扩充电路 执行的用于检测和纠正定时错误的过程。扩充电路首先确定第一电路块的DDSR是否检测 到错误(操作902)。如果没有检测到错误,则扩充电路触发第一电路块中的输入复用器,以 选择用于电路块的输入信号源(操作904)。否则,如果检测到错误,则扩充电路在检错之后 的时钟循环期间启动第一停滞阶段。在这一第一停滞阶段期间,扩充电路停滞第一电路块 中除了第一输出寄存器之外的所有寄存器,并且触发第一电路块中的输入缓存器以锁存输 入信号值(操作906)。然后,扩充电路在第一停滞阶段之后的时钟循环期间启动第二停滞 阶段。在这一第二停滞阶段期间,扩充电路停滞除了第一电路块之外的所有电路块中的所有寄存器、停滞第一电路块中的第一和第二输出寄存器、并且触发第一电路块的输入复用 器,以选择输入缓存器的输出信号(操作908)。计算机系统和设备图10图示了根据本实用新型一个实施例的有助于扩充电路检测和纠正定时错误 的示例性计算机系统。计算机系统1002包括处理器1004、存储器1006和存储设备1008。另外,计算机 系统1002可以耦合到显示设备1010和输入设备1011。存储设备1008存储操作系统1012、电路扩充系统1014、电路设计1018、多个覆盖 目标1020、多个项目配置1022和扩充电路1024。在一个实施例中,IC扩充系统1014包括 图形用户接口 (GUI)模块1016。在操作期间,将IC扩充系统1014从存储设备1008加载到存储器1006中并且由 处理器1004执行。电路扩充系统1014将电路设计1018以及多个覆盖目标1020和多个项 目配置1022作为输入,并且生成包括定时错误检测和纠正能力的扩充电路1024。图11示出了根据本实用新型一个实施例的用于扩充电路设计以检测和纠正定时 错误的设备的框图。该设备100可以包括分割装置1110,其被配置为将电路设计分割为 一组块,其中相应块由局部时钟信号钟控;第一集成装置1120,其被配置为在该组块之间 集成错误信号传播电路;以及针对相应块的确定装置1130,其被配置为确定将实施为双 倍数据采样寄存器的一组内部寄存器,其中给定的双倍数据采样寄存器被配置成在它检测 到定时错误时生成错误信号;取代装置1140,其被配置为用双倍数据采样寄存器取代确定 的一组内部寄存器;第二集成装置1150,其被配置为将两阶段纠错电路集成到相应块中, 其中在被双倍数据采样寄存器通知定时错误时,两阶段纠错电路被配置成停滞相应块中的 寄存器;以及第三集成装置1160,其被配置为将根据全局时钟信号和错误信号来生成局部 时钟信号的定时电路集成到相应块中。已经仅出于示例和描述的目的而呈现了对本实用新型实施例的前文描述。本意并 非让它们穷举本实用新型或者将本实用新型限于公开的形式。因而,本领域技术人员将清 楚许多修改和变化。此外,本意并非让上述公开内容限制本实用新型。本实用新型的范围 由所附权利要求限定。
权利要求一种用于扩充电路设计以检测和纠正定时错误的设备,其特征在于所述设备包括分割装置,其被配置为将所述电路设计分割为一组块,其中相应块由局部时钟信号钟控;第一集成装置,其被配置为在所述一组块之间集成错误信号传播电路;以及对于相应块确定装置,其被配置为确定将实施为双倍数据采样寄存器的一组内部寄存器,其中给定的双倍数据采样寄存器被配置成在它检测到定时错误时生成错误信号;取代装置,其被配置为用双倍数据采样寄存器取代所述确定的一组内部寄存器;第二集成装置,其被配置为将两阶段纠错电路集成到所述相应块中,其中在被双倍数据采样寄存器通知定时错误时,所述两阶段纠错电路被配置成停滞所述相应块中的寄存器;以及第三集成装置,其被配置为将根据全局时钟信号和所述错误信号来生成所述局部时钟信号的定时电路集成到所述相应块中。
2.根据权利要求1所述的设备,其特征在于,所述第二集成装置包括第一配置装置,用于配置所述相应块的内部寄存器以在所述两阶段纠错电路的第一或 者第二停滞阶段期间停滞;第二配置装置,用于配置输入缓存器以在所述第一停滞阶段期间对所述相应块的输入 信号源的信号值进行采样和保持;第三配置装置,用于配置输入复用器以在所述第二停滞阶段期间选择所述输入缓存器 的输出信号,并且除此之外选择用于所述相应块的输入信号源,其中所述输入复用器的输 出耦合到所述相应块的主输入信号;第四配置装置,用于配置第一输出寄存器以在所述两阶段纠错电路的所述第二停滞阶 段期间停滞,其中所述第一输出寄存器的输出信号耦合到所述相应块的主输出信号;以及第五配置装置,用于配置第二输出寄存器以在所述两阶段纠错电路的所述第一或者第 二停滞阶段期间停滞,其中所述第二输出寄存器的输出信号耦合到所述第一输出寄存器的 输入信号。
3.根据权利要求2所述的设备,其特征在于,所述两阶段纠错电路针对在双倍数据采 样寄存器通知定时错误之后的时钟循环激活所述第一停滞阶段。
4.根据权利要求3所述的设备,其特征在于,所述两阶段纠错电路针对在所述第一停 滞阶段之后的时钟循环激活所述第二停滞阶段。
5.根据权利要求1所述的设备,其特征在于,所述确定装置包括第一选择装置,其被配置为选择检错覆盖范围,所述检错覆盖范围指定相应块中将实 施为双倍数据采样寄存器的寄存器的比例;关键路径确定装置,其被配置为确定所述相应块中在所需频率难以设计的关键路径;以及第二选择装置,其被配置为从所述确定的关键路径选择多个寄存器,从而选择的寄存 器的比例落在所述选择的检错覆盖范围内。
6.根据权利要求1所述的设备,其特征在于,所述第一集成装置包括第一生成装置,其被配置为通过使用第一逻辑电路来组合由相应块的所述双倍数据采样寄存器生成的所述错误信号,从而生成针对相应块的块级错误信号,其中所述第一逻辑 电路在由所述双倍数据采样寄存器生成的至少一个所述错误信号的信号值是错误值时,将 错误值传播到所述块级错误信号上;以及第二生成装置,其被配置为通过使用第二逻辑电路来组合来自所述一组块的块级错误 信号来生成全局错误信号,其中所述第二逻辑电路在至少一个所述块级错误信号的信号值 是错误值时将错误值传播到所述全局错误信号上。
7.根据权利要求6所述的设备,其特征在于,所述相应块的所述定时电路基于所述块 级错误信号、所述全局错误信号和所述全局时钟信号来生成所述局部时钟信号;其中所述定时电路在所述块级错误信号和所述全局错误信号的信号值不是错误值时 将所述全局时钟信号传播到所述局部时钟信号上;以及其中所述定时电路在所述块级错误信号或者所述全局错误信号中的至少一个的信号 值是错误值时阻止所述全局时钟信号的时钟信号转变传播到所述局部时钟信号上。
8.一种用于检测和纠正电路设计中的定时错误的设备,其特征在于,所述设备包括 错误信号传播电路,其被配置成生成全局错误信号;以及从所述电路设计分割的一组块,其中相应块由局部时钟信号钟控,并且其中所述相应 块包括实施为双倍数据采样寄存器的一组内部寄存器,其中给定的双倍数据采样寄存器被配 置成在它检测到定时错误时生成错误信号;两阶段纠错电路,其中在被双倍数据采样寄存器通知定时错误时,所述两阶段纠错电 路被配置成停滞所述相应块中的寄存器;以及定时电路,其根据全局时钟信号和所述错误信号来生成所述局部时钟信号。
9.根据权利要求8所述的设备,其特征在于,所述两阶段纠错电路包括第一停滞装置,其被配置为在所述两阶段纠错电路的第一或者第二停滞阶段期间停滞 所述相应块的内部寄存器;第一触发装置,其被配置为触发输入缓存器以在所述第一停滞阶段期间对所述相应块 的输入信号源的信号值进行采样和保持;第二触发装置,其被配置为触发输入复用器以在所述第二停滞阶段期间选择所述输入 缓存器的输出信号,并且除此之外选择用于所述相应块的输入信号源,其中所述输入复用 器的输出耦合到所述相应块的主输入信号;第二停滞装置,其被配置为在所述两阶段纠错电路的所述第二停滞阶段期间停滞第一 输出寄存器,其中所述第一输出寄存器的输出信号耦合到所述相应块的主输出信号;以及第三停滞装置,其被配置为在所述两阶段纠错电路的所述第一或者第二停滞阶段期间 停滞第二输出寄存器,其中所述第二输出寄存器的输出信号耦合到所述第一输出寄存器的 输入信号。
10.根据权利要求9所述的设备,其特征在于,所述两阶段纠错电路针对在双倍数据采 样寄存器通知定时错误之后的时钟循环激活所述第一停滞阶段。
11.根据权利要求10所述的设备,其特征在于,所述两阶段纠错电路针对在所述第一 停滞阶段之后的时钟循环激活所述第二停滞阶段。
12.根据权利要求8所述的设备,其特征在于,所述错误信号传播电路包括第一电路,配置成生成针对相应块的块级错误信号,其中所述第一电路的输入信号耦 合到由所述相应块的所述双倍数据采样寄存器生成的所述错误信号;以及第二电路,配置成生成全局错误信号,其中所述第二电路的输入信号耦合到来自所述 一组块的块级错误信号。
13.根据权利要求12所述的设备,其特征在于,所述相应块的所述定时电路包括被配 置成生成所述局部时钟信号的第三电路,其中所述第三电路的输入信号耦合到所述块级错 误信号、所述全局错误信号和所述全局时钟信号。
专利摘要本实用新型提供用于扩充电路设计以检测和纠正定时错误的设备。它包括分割装置,配置为将电路设计分割为一组块,其中相应块由局部时钟信号钟控;第一集成装置,配置为在该组块之间集成错误信号传播电路;以及对于相应块确定装置,配置为确定将实施为双倍数据采样寄存器的一组内部寄存器;取代装置,配置为用双倍数据采样寄存器取代确定的一组内部寄存器;第二集成装置,配置为将两阶段纠错电路集成到相应块中,其中在被双倍数据采样寄存器通知定时错误时,两阶段纠错电路被配置成停滞相应块中的寄存器;以及第三集成装置,配置为将根据全局时钟信号和错误信号来生成局部时钟信号的定时电路集成到相应块中。
文档编号G06F17/50GK201765591SQ20092026776
公开日2011年3月16日 申请日期2009年10月21日 优先权日2008年10月22日
发明者F·达图, N·V·舍诺伊 申请人:新思科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1