CN113168495A - 基于覆盖率的微电子电路及用于提供微电子电路的设计的方法 - Google Patents

基于覆盖率的微电子电路及用于提供微电子电路的设计的方法 Download PDF

Info

Publication number
CN113168495A
CN113168495A CN201880099774.0A CN201880099774A CN113168495A CN 113168495 A CN113168495 A CN 113168495A CN 201880099774 A CN201880099774 A CN 201880099774A CN 113168495 A CN113168495 A CN 113168495A
Authority
CN
China
Prior art keywords
circuit
register
monitor
delay
circuits
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.)
Pending
Application number
CN201880099774.0A
Other languages
English (en)
Inventor
纳夫尼特·古普塔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Minima Processor Oy
Original Assignee
Minima Processor Oy
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Minima Processor Oy filed Critical Minima Processor Oy
Publication of CN113168495A publication Critical patent/CN113168495A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/003Modifications for increasing the reliability for protection
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/007Fail-safe circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
    • H03K3/037Bistable circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/13Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/19Monitoring patterns of pulse trains
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/12Timing analysis or timing optimisation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/20Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Nonlinear Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Architecture (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Internal Circuitry In Semiconductor Integrated Circuit Devices (AREA)

Abstract

微电子电路包含布置在多个处理路径中的多个逻辑单元及寄存器电路、以及与该处理路径中的个别该处理路径相关联的多个监视单元。各该监视单元配置为响应于该个别处理路径的异常运行,以产生观察信号。依据可能产生的延迟量,所述多个逻辑单元中的每个属于多个延迟等级的一者。该延迟等级包含第一、第二和第三等级,其中,该第一等级覆盖可能产生最长延迟的逻辑单元,该第二等级覆盖可能产生相较于该第一等级较短的延迟的逻辑单元,而该第三等级覆盖可能产生相较于该第二等级较短的延迟的逻辑单元。至少一些所述多个处理路径包含属于该第二等级但没有监视单元的逻辑单元。至少一些所述多个处理路径包含属于该第三等级但具有与它们相关联的监视单元的逻辑单元。

Description

基于覆盖率的微电子电路及用于提供微电子电路的设计的 方法
技术领域
该发明涉及一种关于包含多个处理路径的微电子电路的技术。特别地,该发明涉及一种方式,在该方式中,该处理路径的不同等级的延迟关键性可列入考虑。
背景技术
微电子电路中的处理路径行进通过逻辑单元及寄存器电路,使得寄存器电路在触发信号的上升或下降边缘(如果寄存器电路是触发器)或在触发信号的高或低电平(如果寄存器电路是锁存器)储存前一个逻辑单元的输出值。触发信号的触发边缘或一些其它控制事件定义可允许的时间限制,在可允许的时间限制之前,数字值必需出现在寄存器电路的数据输入处,以被适当地储存。可允许的时间限制不必然是触发边缘的确切瞬间,而是由于诸如电压电平能够变化的有限速率的物理效应被定义为与触发边缘的确切瞬间有某种关系。
微电子电路中的时间借用是指:电路组件暂时地被允许借用来自后续阶段的时间,也就是比预期晚地改变数字值,如果相同处理路径上的接续电路组件可处理它,而没有破坏被处理的数据的话。时间借用的事例的发生应侦测成时序事件。
监视器电路是侦测时序事件的一种方式。监视器电路是添加至或与寄存器电路相关联的电路组件或功能性,并且被配置为产生时序事件观察(timing event observation,TEO)信号,以作为晚于该可允许的时间限制发生的输入数字值中的变化的响应。除了实际监视器电路外,微电子电路必需包含OR树和/或其它结构,用于收集、处理及分析来自监视器电路的TEO信号。
存在其它种类的监视单元及方法。一个示例是使用仿真实际处理路径上的延迟量的复制路径。已知输入信号可以被馈入至复制路径;复制路径的已知建构是指,已知种类的输出信号应该出来。如果复制路径的输出不是其应有的输出,则非常有可能某些数字值在实际处理路径也变化的晚。
以一种或另一种方式进行的监视可以与举例来说先进电压调节((AdvancedVoltage Scaling,AVS);有时也是适配性电压调节(Adaptive Voltage Scaling))组合,使得在监视中侦测的事件的数量增加引发运行电压升高,反之亦然。侦测的事件数量也可触发其它补偿动作,通常涉及电路的其它运行参数的数值中的变化,举例来说,如时钟频率或者暂时地改变时钟波形。
用于监视使用的电路单元的主要缺点是在于它们消耗电路面积及运行功率。将监视器电路、复制路径和/或其它监视单元放置至设计的微电子电路内涉及折衷。监视单元越多,用于侦测时序事件的覆盖率就越佳,但同时,与最初设计的微电子电路的电路面积及运行功率相比,用于其他目的消耗更多的电路面积及运行功率。
关于电路组件如何工作的知识允许微电子电路的设计者作出延迟分布分析,其判定各电路组件将会对数据引发多少延迟,该数据通过电路组件而进行。用来放置监视单元的直接指南将涉及将电路组件依据它们将引发多长延迟而分类成延迟等级,并且涉及决定仅监视在处理路径上属于最长延迟等级的那些电路组件。然而,由于许多原因,那将仅提供该问题的一部分解决方案。
首先,制造的微电子电路之间的个别差异使得无法确定哪个电路组件将实际是关键者。依据延迟分布分析而仅属于第二或第三最长延迟等级的电路组件有可能实际是真实生活制造的电路中的最关键电路组件。其次,执行的软件有可能使得(至少在特定情况下)它没有使用行进通过该最关键电路组件的那些处理路径,用于延伸的时间周期,使得应该实际地被侦测到的事件在延迟分布分析中在不被认为是关键的那些处理路径上发生。第三、即使数据正在流经关键处理路径,也可能发生数据在瞬间含有延伸序列的常数(不变)的数字值,其自然地使得在那些路径上侦测任何例外事件成为不可能,因为这种事件仅发生于数字值在寄存器电路的输入处变化时。
对于设计微电子电路的任务的额外复杂性来自于测试的需求。可测试性设计(Designed For Testability,DFT)、或测试设计(Design-For-Test,DFT)的概念已经成为事实上的工业标准,其定义用于测试微电子电路的某些程序。例如,应该有可能选择地耦接微电子电路中所含有的寄存器电路至主要地作为移位寄存器而运行的长链(long chain)中;一串数字值可从一端馈入,并从另一端读出。将已知测试图案通过这种寄存器电路链并且在输出处核对其形式,决定该链中的所有寄存器电路是否正在如期望的改变它们的状态,或者是否有寄存器电路固定在一些特别数值(固定型故障测试(stuck-at faulttest))。快速故障测试(at-speed fault test)涉及以低时钟速度缓慢地馈入测试图案,之后以完全运行速度给出一个或多个时钟脉冲,使得测试图案在该链中以功能性逻辑速度进行与时钟脉冲一样多的步骤,并且最终再次以低时钟速度结束(clock out)该测试图案。快速测试可给出关于寄存器电路是慢于预期的信息。如果涉及监视器电路及时间借用能力、或其它种类的监视单元,则这些也应该是可测试的。
发明内容
此处的目的是提出微电子电路,其打破在监视单元的数量与因此获得的覆盖率之间的最佳平衡。覆盖率是指处理路径可被监视用于时序事件的发生的比率。
另一个目的是提出用来产生具有上面提到的特性的微电子电路的设计的方法。
又另一个目的是确保该微电子电路与标准DFT方法学兼容,并且能够进行AVS。
通过考虑行进经过寄存器电路之间的两个或多个逻辑单元级的一条处理路径的延迟关键性而至少决定用来放置监视单元的一些位置,以达成这些目的。
依据第一方面,提供一种包含多个逻辑单元及寄存器电路的微电子电路,逻辑单元及寄存器电路布置在多个处理路径中。该微电子电路包含与相应处理路径相关联的多个监视单元,这些监视单元中的每个被配置为产生观察信号,作为对该相应处理路径的异常运行的响应。依据可能产生的延迟量,所述多个逻辑单元中的每个属于多个延迟等级的一者。该延迟等级包含第一、第二和第三等级,其中,该第一等级覆盖可能产生最长延迟的逻辑单元,该第二等级覆盖可能产生相较于该第一等级较短的延迟的逻辑单元,而该第三等级覆盖可能产生相较于该第二等级较短的延迟的逻辑单元。至少一些所述多个处理路径包含属于该第二等级但没有监视单元的逻辑单元。至少一些所述多个处理路径包含属于该第三等级但具有与它们相关联的监视单元的逻辑单元。
依据实施例,监视单元包含与相应的所述多个寄存器电路相关联的多个监视器电路,所述多个监视器电路中的每个监视器电路被配置为产生相应的时序事件观察信号,作为对于在所述相应寄存器电路的输入处的数字值的改变的响应,该改变是晚于由该相应寄存器电路的触发信号所定义的可允许的时间限制而发生的。在这些处理路径上接着属于该第二等级的逻辑单元的至少一些所述寄存器电路没有监视器电路,以及至少一些所述监视器电路与在该处理路径上接着属于该第三等级的逻辑单元的寄存器电路相关联。监视器电路的使用包含可以使该微电子电路的控制单元知道发生的时序事件、并且采取适当措施的优点。
依据实施例,至少一些所述处理路径为适配性处理路径,其性能能够通过使该微电子电路的运行参数取(assume)运行参数值来配置。这种处理路径的适配性使得可以将监视用于时序事件以达成节省所需的运行功率成为可能。
依据实施例,该微电子电路包含第一信号收集电路,其配置为至少收集时序事件观察信号,时序事件观察信号由与在处理路径上接着属于该第一等级的逻辑单元的寄存器电路相关联的监视器电路产生。这包含有效地和及时地将关于该发生的时序事件的信息传达给控制单元知道的优点。
依据实施例,该第一信号收集电路配置为也收集该时序事件观察信号,该时序事件观察信号由与在该处理路径上接着属于除了该第一等级外的其它等级的逻辑单元的寄存器电路相关联的该监视器电路产生。这样做的好处是,可以对时序事件作出反应,而不需要考虑它们发生在电路的哪一部分。
依据实施例,该微电子电路包含第二信号收集电路,其配置为收集时序事件观察信号,该时序事件观察信号由与在该处理路径上接着属于该第二和第三等级中的至少一个等级的逻辑单元的寄存器电路相关联的该监视器电路产生。这包含可以根据微电子电路的在其中观察到时序事件的部分而以不同方式使该微电子电路作出反应的优点。
依据实施例,该微电子电路配置为通过该第一信号收集电路收集时序事件观察信号、通过该第二信号收集电路收集时序事件观察信号、通过使该微电子电路的运行参数依据第一适配规则、响应于经由所述第一信号收集电路所收集的时序事件观察信号地取运行参数值来适配该微电子电路的至少一部分的运行、以及通过使该微电子电路的运行参数依据第二适配规则、响应于经由所述第二信号收集电路所收集的时序事件观察信号地取运行参数值来适配该微电子电路的至少一部分的运行。这包含取决于微电子电路的在其中观察到时序事件的部分来适配该微电子电路的运行的特定方式的优点。
依据实施例,该第一适配规则基于每单位时间通过该第一信号收集电路所收集的时序事件观察信号的第一数量,而该第二适配规则基于每单位时间通过该第二信号收集电路所收集的时序事件观察信号的不同的第二数量。这样做的好处是:根据时序事件在多少有点延迟关键的部分中被观察的频率,可能有不同的反应方式。
依据实施例,该微电子电路包含测试输入装置,其配置为可控制地将由测试输入值所组成的测试输入信号馈入至该处理路径的至少一个处理路径的多个电路组件内;以及测试输出装置,其配置为可控制地收集来自该处理路径的该至少一个处理路径的所述多个电路组件的测试输出值。此包含可以使该微电子电路与标准DFT方法学兼容的优点。
依据实施例,该微电子电路包含运行参数值选择器,其被配置为基于收集的测试输出值选择该运行参数值。此包含可以使测试结果以影响至少一部份该电路的AVS行为的优点。
依据实施例,该测试输出装置配置为选择地收集该测试输出值,该测试输出值来自所述多个寄存器电路的数据输出、所述多个监视器电路的时序事件观察信号输出中的至少一个。此包含可以将测试针对该微电子电路的期望部分的优点。
依据实施例,该测试输出装置被配置为可控制地收集来自如下处理路径的测试输出值:在该条处理路径上,中间级包含不与相应监视单元相关联的寄存器电路,而后续级包含与相应监视电路相关联的寄存器电路。此包含可以测试多周期关键路径的运行的优点。
依据实施例,该测试输出装置配置为控制地收集来自一条处理路径的测试输出值,在该条处理路径上,至少一个中间级包含能够时间借用的寄存器电路。此包含可以测试多周期关键路径的运行的优点,而不论是否存在与其中间级相关联的监视器。
依据实施例,至少一些所述监视单元包含复制路径,所述复制路径被配置为用已知输入数据来仿真所述多个处理路径中的相应的一个处理路径的运行。这包含存在用于检查用于时序事件的该电路的运行的替代方式的优点。
依据第二方面,提供一种用于产生微电子电路的设计的方法。该方法包含:
a)提供该微电子电路的初步的第一设计,该第一设计定义通过该微电子电路内的逻辑单元和寄存器电路的处理路径,
b)实施对该第一设计的延迟分布分析,以将逻辑单元依据可能产生的延迟量分类成延迟等级,
c)基于这些逻辑单元的第一子集在该延迟分布分析中的一个或多个最长延迟等级的出现将它们分类成延迟关键逻辑单元,
d)通过将监视单元与包含所述延迟关键逻辑单元处理路径相关联,产生该微电子电路的中间的第二设计,
e)通过将监视单元与如下处理路径相关联来产生该微电子电路的另外的第三设计:所述处理路径包含在步骤c)中未被分类为延迟关键逻辑单元的逻辑单元,并且所述处理路径至少含有阈值数量的、不带相关联的监视单元的处理路径,以及
f)输出该第三设计作为该微电子电路的该设计。
依据实施例,处理路径的该阈值数量被定义为不带相关联的监视单元的寄存器电路的数量,其中相应的处理路径通过所述寄存器电路。这包含可用鲁棒及直接的方式来识别此种类的延迟关键路径的优点。
依据实施例,处理路径的该阈值数量的被定义为沿着相应的处理路径的电路组件依据该延迟分布分析可能产生的总延迟。这包含可用非常灵活及精确的方式来识别延迟关键路径的优点。
依据实施例,步骤d)包含将监视器电路放置至在该处理路径上出现在该延迟关键逻辑单元之后的寄存器电路,而步骤e)包含将监视器电路放置至如下寄存器电路:所述寄存器电路在所述处理路径上出现在在步骤c)中未被分类为延迟关键逻辑单元的逻辑单元之后,但是在所述处理路径上在所述寄存器电路之前有至少阈值数量的、没有配备了监视器的寄存器电路的处理路径。这包含可以为监视器电路找到最佳位置的优点。
依据实施例,步骤e)包含添加一个或多个信号收集电路,以收集来自该监视器电路的信号,该监视器电路是放置至寄存器电路,该寄存器电路在处理路径上出现在在步骤c)中未被分类为延迟关键逻辑单元的逻辑单元之后。这包含可使该微电子电路的控制单元知道时序事件的发生并且采取适当措施的优点。
依据实施例,步骤e)包含:将监视单元与处理路径相关联,该处理路径包含在步骤c)中未被分类为延迟关键逻辑单元的逻辑单元的第二子集,并且所述处理路径至少含有第一阈值数量的、没有相关联的监视单元的处理路径,以及将监视单元与处理路径相关联,该处理路径包含在步骤c)中未被分类为延迟关键逻辑单元的逻辑单元的第三子集,并且所述处理路径至少含有不同于该第一阈值数量的第二阈值数量的、没有相关联的监视单元的处理路径。这包含可以找到最佳位置放置监视单元的优点。
依据实施例,将监视单元与处理路径相关联包含将监视器电路放置至那个处理路径上的寄存器电路,并且步骤e)额外地包含:添加第一信号收集电路,以收集来自放置至接着该第二子集的逻辑单元的寄存器电路的监视器电路的输出端的信号,以及添加第二信号收集电路,以收集来自放置至接着该第三子集的逻辑单元的寄存器电路的监视器电路的输出端的信号。这包含可以根据微电子电路的在其中观察到时序事件的部分而以不同方式使该微电子电路作出反应的优点。
附图说明
该附图包括提供该发明的进一步理解以及构成本说明书的一部分,附图例示该发明的实施例,并且连同该描述一起有助于解释该发明的原理。在该图示中:
图1示意地例示寄存器电路,
图2例示图1所示的种类的寄存器电路中的一些信号的波形,
图3示意地例示寄存器电路,
图4示意地例示寄存器电路,
图5示意地例示复制路径的使用,
图6示意地例示微电子电路的一部分,
图7示意地例示方法,以及
图8示意地例示使用信号收集电路来适应该微电子电路的运行的原理。
具体实施方式
在下文中,将描述微电子电路及其设计和运行的方法。典型的微电子电路包含布置在多个处理路径中的多个逻辑单元及寄存器电路。处理路径是一序列的电路组件,数字数据可通过该序列的电路组件,使得它在逻辑单元中进行处理,并且暂时地储存在位于所述处理路径上的接续逻辑单元之间的寄存器电路中。该微电子电路执行的软件定义在任何给定时间使用哪个处理路径并且以哪个方式使用。
为了提供更好的理解后面解释的一些细节,参考图1描述寄存器电路的示例。图1的寄存器电路包含第一子寄存器级101及第二子寄存器级102。第一子寄存器级101的数据输入及数据输出分别标记为i1和q1,而第二子寄存器级102的数据输入及数据输出分别标记为i2和q2。寄存器电路的数据输入D是经由多路转换器103耦接至第一子寄存器级101的数据输入i1,使得控制信号SE的高电平引发测试输入SI被耦接至第一子寄存器级101的数据输入i1。第二子寄存器级102的数据输出q2耦接至寄存器电路的数据输出Q。
寄存器电路包含用于触发信号CP和CPD的两个触发信号输入。前者在此处可称为时钟信号。为了在下方详细解释的原因,其他触发信号CPD是时钟信号CP的延迟版本,较佳地使得延迟不超过CP的一半周期(cycle),并且因此可以被称为延迟时钟信号。取决于控制信号TTBEN数值(低/高)而定,延迟时钟信号CPD或时钟信号CP被耦接至第一子寄存器级101的触发信号输入。时钟信号CP被耦接至第二子寄存器级102的触发信号输入。
寄存器电路包含监视器电路105或与监视器电路105相关联,其配置为产生时序事件观察(timing event observation,TEO)信号,以作为在寄存器电路的数据输入D处的数字值中的改变的响应,该改变是晚于可允许的时间限制发生。时间限制是由时钟信号CP并由适当电路组件的实体特性定义。简单言之,在数据输入D处的数字值应该刚好在时钟信号CP的触发边缘之前假定其适当的值,使得如果应该在触发边缘之前发生的改变在触发边缘之后发生,则该改变就晚了。实际上,存在诸如有限上升和下降时间的因素,其是指可允许的时间限制不是刚好是触发边缘的瞬间,而是通常稍微较早些。在某些特殊情况下,它甚至可能会稍微较晚一些。
监视器电路105的数据输入DM接收进入第一子寄存器级101的数据输入i1的副本。监视器电路105的时钟脉冲输入端CPP接收定义可允许的时间限制的触发信号,在可允许的时间限制后,在寄存器电路的数据输入处的该数字值的变化是晚的。在时钟脉冲输入端CPP处所接收的触发信号可定义所谓的TEO窗口,使得它也定义结束限制,在该结束限制后,监视器电路105不再对输入数据中的变化做出反应。
在其时序事件输出TE处,监视器电路105配置为产生TEO信号。此处我们可以假定一个信号电平协议,依据该信号电平协议,该TEO信号通常为低,但在观察时序事件的瞬间变为高电平,并且直到观察到时序事件的频率周期结束为止保持为高电平。利用控制信号TMTEOH的适合值,可以使监视器电路105将TEO信号的高值(一旦发生)保持比直到时钟周期结束时更长的时间。此功能例如在测试模式下很有用,在测试模式下,该TEO信号的保持的高值可被收集以用于进行进一步的处理及分析。
使用延迟的时钟信号CPD作为第一子寄存器级101的触发信号使得寄存器电路能够借用时间。换言之,暂时地允许在此种类的寄存器电路之前的逻辑单元或处理路径的其他部分引发时序事件,也就是数字值的晚的变化,因为图1的寄存器电路可处理它,而不会破坏正在处理的数据。只要在数据输入D处的数字值的晚到达的变化在延迟的时钟信号CPD中的触发边缘之前发生,它就会被正确地储存在寄存器电路中。(确切地说,此处也涉及上升及下降时间,因此该最终限制是由延迟的时钟信号CPD所定义的一些可允许的时间限制,而不必然是其该触发边缘的确切瞬间。)可以通过将控制信号TTBEN的值设为高来使时间借用失能,在这种情况下,时钟信号CP是用作第一子寄存器级101的触发信号。
第二子寄存器级102的数据输入i2接收该第一子寄存器级101的数据输出q1处的值或监视器电路105的TE输出处的值,这取决于控制多路转换器106的控制信号TMSE的值。此处假定微电子电路包含所谓的一般扫描链(common scan chain),其是用于收集被测试的电路组件于测试模式期间所生产的数字值。控制信号TMSE的高值引发监视器电路105的输出值被导向至一般扫描链,但TMSE的低的值将进入第一和第二子寄存器级的实际、暂时地储存的数字值导引至一般扫描链。至该第二子寄存器电路102的控制信号CDN是异步重置信号。
图1例示一种产生进入监视器电路的时钟脉冲输入端CPP的触发信号CKP的可能方式。相关联的波形如图2所示。正常地,信号TCPDG是低电平,因此其反相是高电平,故延迟的时钟信号CPD会经过与门107至或非门108的一个输入端。或非门的另一个输入端接收时钟信号CP的反相CPN。进入监视器电路105的触发输入端CPP的触发信号CKP在时钟与延迟的时钟信号CP和CPD的上升边缘之间的持续时间是高的。当信号TCPDG变为高电平时,其反相变为低电平,并且与门107的输出保持低电平。这产生触发信号CKP及反相时钟信号CPN的反相、也就是等于时钟信号CP。
监视器电路105内部地实施的确切方式没有那么重要了,只要它能够实施本文中所描述的功能即可。监视器电路的实体实作的示例可在例如第PCT/FI2017/050290号专利申请案中找到。
为了提供对于之后解释的一些细节的一些进一步理解,参考图3描述寄存器电路的另一个示例。图3的寄存器电路能够时间借用,但不包含监视器电路或与监视器电路不相关联。与图1的寄存器电路共享的是:在数据输入D及数据输出Q之间存在串联连接的第一子寄存器级301及第二子寄存器级302,并连同两个多路转换器303和304。取决于控制信号SE的值,第一多路转换器303用来耦接数据输入D或测试输入SI至第一子寄存器级的数据输入i1。取决于控制信号TTBEN的值,第二多路转换器304用来耦接时钟信号CP或延迟的时钟信号CPD至第一子寄存器级301的(反相)触发信号输入。时钟信号CP被耦接至第二子寄存器级302的触发信号输入,并且异步重置信号CDN被耦接至该第二子寄存器级302的控制输入。
在第二多路转换器304处的极性使得控制信号TTBEN的高值通过使时钟信号CP成为第一次寄存器级301的触发信号而使时间借用失能,但其低值通过使延迟的时钟信号CPD成为第一子寄存器级301的触发信号而致能时间借用。由于没有监视器,因此,任何实际使用时间借用功能的情况都不会引发任何侦测到的时序事件。此种类的寄存器电路可能仍然具有特殊的使用,这将在下文中更详细地描述。
为了比较的缘故,图4例示出可测试但不支持时间借用的寄存器电路。相同的触发信号CP为两个子寄存器级401和402提供时钟。如果数据输入D处的数字值变化晚,也就是仅在该触发信号CP所定义的允许时间限制之后,则它不会被适当地储存在图4的寄存器电路中。多路转换器403可以用于耦接测试输入SI,而不是数据输入D。
图3及4的任何寄存器电路均可与监视器电路相关联;作为替代特性,监视器电路可放置在图3或4的任何寄存器电路上。在此意义上,监视器电路是一种电路,其被配置为产生相应时序事件观察信号,以作为相应别寄存器电路的输入端处的数字值的变化的响应,该变化晚于由至相应寄存器电路的触发信号所定义的可允许的时间限制发生。时序事件是相应处理路径的异常运行的示例,因为正常来说,在处理路径上的所有电路组件都应该确保数字值中的任何变化都依据由适当的触发信号所定义的时序通过处理路径进行。
使用监视器电路侦测时序事件不是侦测处理路径的异常运行的唯一方式。另一种方式的示例是示意地显示在图5中。此处假定微电子电路包含多个处理路径,多个处理路径之一是如图5中所示的处理路径501。微电子电路包含所谓的复制路径502,其任务是仿真该处理路径501的运行,但用已知的输入数据。复制路径502中的已知输入数据的处理应该引起从复制路径502出来已知形式的测试数据。如果输出的测试数据与其应有的内容不同,则复制路径将以一些异常方式运行。因此,可以以合理的概率假定“实际”的处理路径501在相同的运行条件下也异常地运行,也就是,在像运行电压、时钟频率及类似的运行参数的相同值的影响下。
与寄存器电路关联的监视器电路的使用、复制路径的使用、以及其它类似布置,一般描述为存储与处理路径中的相应处理路径相关联的监视单元。每个这种监视单元被配置为产生观察信号,以作为相应处理路径的异常运行的响应。在配备有监视器的寄存器电路的情况下,监视单元是监视器电路,并且观察信号是时序事件观察信号。在复制路径的情况下,监视单元是复制路径连同分析其输出的电路组件,并且观察信号是一个指示复制路径的输出不是它本来应该的输出的信号。
监视器电路的使用(如图1所示)不需要相应的寄存器电路能够时间借用。在某些情况下,产生的TEO信号可使用在微电子电路中的其他地方,以忽略或过滤来自寄存器电路的输出数据,该寄存器电路接收其输入数据晚,如由TEO信号所指示的。甚至存在一些应用,在其中,输出数据能够被允许通过,而不管输出数据是否适当地被储存(尽管其晚到达)的某种不确定性。举例来说,如果处理的数据表示供人类使用者观看的视频信号,则可接受数据中的一些噪声,因为它在再现的视频影像中几乎注意不到。
图6是微电子电路的一部分的示意图。它包含显示成圆角矩形的多个逻辑单元、以及显示成尖角矩形的多个寄存器电路。这些被布置成多个处理路径,在图6中被显示为从左至右行进的线。举例来说,经过左边的寄存器电路602的处理路径被显示为连续经过该逻辑单元611、寄存器电路622、逻辑单元631、寄存器电路641、逻辑单元651及寄存器电路661。
微电子电路包含与该处理路径中的个别处理路径相关联的多个监视单元。各监视单元被配置为产生观察信号,以作为相应处理路径的异常运行的响应。在上面所列出的可能的替代方案中,图6例示与多个寄存器电路中的相应寄存器电路相关联的监视器电路的使用。用语「与…相关联」涵盖所有可能方式,其中,讨论中的该监视器电路被配置为只监视针对时序事件的发生的寄存器电路。
并非图6的微电子电路的所有寄存器电路均具有与其相关联的监视器电路。具有的那些在图6中以文字MON标记;这些是寄存器电路622、642及661。各监视器电路配置为产生相应时序事件观察信号,以作为相应寄存器电路的输入处的数字值的变化的响应,该变化晚于由至相应寄存器电路的触发信号所定义的可允许的时间限制发生。
依据可能产生的延迟量,图6中所显示的各个逻辑单元属于多个延迟等级之一。该延迟是相应输入值于逻辑单元而言已变为可用之后、逻辑单元的输出取适当值所花费的时间量。微电子电路的设计者可使用各种分析工具中的任何一者来产生逻辑单元预期产生的延迟量的计算得出的估计值。估计延迟的过程可称为延迟分布分析。
延迟等级可以包含至少第一、第二及第三等级。实际上,能够有任意数量的这种等级,但这些等级在此处是作为示例。第一等级包含依据分析有可能产生最长延迟的逻辑单元。第二等级包含有可能产生相较于第一等级较短延迟的逻辑单元,而第三等级包含相较于该第二等级较短延迟的逻辑单元。
延迟等级的概念在此处是用作一个笼统的概念,其涵盖所有方式,分析的电路组件可以以该所有方式依据它们可能产生的延迟量被分割、或分配、或划分。有鉴于在运行期间可能产生的时序事件,第一等级中的逻辑单元,也就是那些预期产生最长延迟的逻辑单元是最关键的。因此,当考虑监视器电路的放置时,在至少一个处理路径上接着属于该第一等级的逻辑单元的任何寄存器电路均应该是最有可能获得与其相关联的监视器电路的候选电路。此处「接着」是指立即接着,也就是,讨论中的寄存器电路是第一等级的逻辑单元的输出值在触发信号的下一个触发边缘应该被暂时地储存在该寄存器电路中的关系。
微电子电路显示在图6中的一部分仅包含属于第一等级的一个逻辑单元,亦即逻辑单元611。通过逻辑单元611的所有处理路径紧接着寄存器电路622行进。换言之,寄存器电路622接着所有处理路径上的逻辑单元611。因此,监视器电路与寄存器电路622相关联。
图6的微电子电路的特征在于至少一些处理路径包含属于第二等级、但没有监视单元的逻辑单元,而至少一些处理路径包含属于第三等级、但具有与它们相关联的监视单元的逻辑单元。此特征在下文中更详细地描述。
监视器电路也与寄存器电路642相关联,寄存器电路642接着在行进经过该逻辑单元的所有那些处理路径上的逻辑单元632,尽管逻辑单元632属于第三等级,并且尽管在相应处理路径上接着属于第二等级的逻辑单元的至少一些寄存器电路没有监视器电路(参见逻辑单元631和652,寄存器电路641和662接着逻辑单元631和652)。对于此的逻辑解释在于:通过考虑在各寄存器电路之前的处理路径数量,监视器电路已经被放置在微电子电路的该设计中。处理路径的数量可定义为相应处理路径经过的寄存器电路的数量。额外地或可替代地,处理路径的数量可定义为沿着该相应处理路径的电路组件依据延迟分布分析可能产生的总延迟。
图7示意地例示用于产生微电子电路的设计的方法,该方法遵循上面列出的原理。步骤701表示提供微电子电路的初步的第一设计。此第一设计定义经过微电子电路内逻辑单元及寄存器电路的处理路径。
步骤702表示实施第一设计的延迟分布分析。延迟分布分析的目标是将微电子电路的逻辑单元依据它们可能产生的延迟量分类成延迟等级。步骤702的结果,在微电子电路中要设计的逻辑单元已知属于特定的延迟等级。
步骤703表示将要设计为延迟关键逻辑单元的微电子电路的逻辑单元的子集分类。此子集为了命名的一致性可被称为第一子集,并且所述分类基于它们在延迟分布分析中的一个或多个最长延迟等级中的出现。该表述“一个或多个最长延迟等级”是指虽然在上面图6的描述中建议了只有第一等级的逻辑单元会被自动地视为关键的,但微电子电路的设计者可以决定属于N个最长延迟等级的所有逻辑单元均是关键的,其中,N是一正整数。相较于图6,我们可假定此处N=1。
步骤704表示通过将监视单元与包含延迟关键逻辑单元的处理路径相关联来产生微电子电路的第二、中间设计。在图6的方案中,此是指放置监视器电路至步骤703中所发现的延迟关键寄存器电路:在步骤704中放置与寄存器电路622相关联的监视器电路。
步骤705表示找到在上面没有被分类为延迟关键、但却是位于在处理路径上的逻辑单元,这些处理路径至少含有阈值数量的没有相关联的监视单元的处理路径。在图6的方案中,这是等同于找到寄存器电路,该寄存器电路(直接地)接着等级2或3的逻辑单元,该逻辑单元之前是至少阈值数量的处理路径而没有配备了监视器电路的寄存器电路。步骤706表示通过将监视单元与以此种方式找到的处理路径相关联来产微电子电路的第三、另外设计。再次参考图6,此是指将监视器电路放置至接着等级2或3的逻辑单元的寄存器电路,该逻辑单元之前是至少阈值数量的处理路径而没有配备了监视器电路的寄存器电路。换言之,这意味着将监视器电路放置至寄存器电路642及661。步骤707表示输出第三设计,作为该方法的结果。
上面已经指出定义什么是关键数量的在前处理路径的一种方式是将其定义为数个寄存器电路(而不带由相应处理路径所通过的关联的监视单元)。相较于图6,我们可假定:这个所谓的步骤大小是二。因此,举例来说,监视器电路已经被放置至寄存器电路642,因为有行进经过它、并且行进经过没有监视器的两个在前寄存器电路的处理路径:举例来说,经过电路组件601、612、623及632的处理路径;或经过电路组件604、613、624及632的处理路径。监视器已经被放置至寄存器电路661,因为有一个经过它、并且行进经过没有监视器的两个在前寄存器电路的处理路径(经过电路组件612、631、641及651)。
定义什么是在前处理路径的关键数量的另一种方式是将其定义为沿着个别处理路径的电路组件依据延迟分布分析可能产生的总延迟。并且此种的定义也可产生如图6中的微电子电路的设计。举例来说,即使逻辑单元612及632皆足够快以属于第三延迟等级,它们预期产生的延迟的总和也可能大于变得关键的阈值数量的延迟。因此,例如沿着处理路径603-612-623-632的电路组件的总延迟可能足够大,足以证明应当放置监视器至该寄存器电路642。
定义关键数量的处理路径为总延迟、而不只是经由没有监视器的在前寄存器电路的数个步骤,可称为找到多周期关键路径(MultiCycle Critical Path,MCCP)。MCCP是行进经过特定电路组件的处理路径,使得一段数字数据通过经由这些电路组件所花费的时间是两个或多个时钟周期。特别地,该词“关键”表明这些电路组件沿着MCCP可能产生的总延迟是长于阈值。
应该注意到的是,MCCP的定义不限于上升或下降边缘是如何发生在触发(时钟)信号中。寄存器电路(像第1、3和4图中的那些)是单边缘触发的:数字数据在输入端处的实际值在触发信号的各个上升边缘处储存到寄存器电路中。如果讨论中的处理路径中的所有寄存器电路均是这种类型,则所有延迟均表示为一个时钟周期的倍数。如果有其它种类的寄存器电路,例如双边缘触发的触发器、锁存器、脉波式锁存器和/或类似者,延迟的评估必需将那列入评估。
MCCP的更一般情况可以特性化成多控制事件关键路径(Multiple Control EventCritical Path),其中,对延迟的评估也必需将处理路径列入考虑,在该处理路径上,电路组件之间的传播时间可为时钟周期的非整数倍。举例来说,如果寄存器电路是单边缘触发的触发器,则使数据通过为三个控制事件长的MCCP需要三个时钟周期。如果寄存器电路是双边缘触发的触发器或锁存器,则使数据通过为三个控制事件长的MCCP需要一个半时钟周期。
为了利用监视器电路可在使用监视器电路的那些实施例中产生的TEO信号,应该添加信号收集电路。遵循图8中示意地显示的原理,第一信号收集电路801可以被配置为至少收集由与延迟关键寄存器电路相关联的监视器电路产生的TEO信号。这些是在处理路径上接着属于第一等级的逻辑单元(也就是预期产生最长延迟的逻辑单元)的寄存器电路。第二信号收集电路802可以被配置为收集由与其它寄存器电路相关联的监视器电路的产生的TEO信号。这些是在处理路径上接着属于第二和/或第三等级的逻辑单元的寄存器电路。信号收集电路的示例是OR树,其产生时序事件已经被侦测到的指示,如果在连接至那个OR树的任何监视器电路中至少一个TEO信号变为高的话。
可有单一、一般信号收集电路,其被配置为不仅收集由与在所述处理路径上接着属于第一等级的逻辑单元的寄存器电路相关联的监视器电路产生的TEO信号,也收集由与接着属于除了该第一等级外的任何其它等级的逻辑单元的寄存器电路相关联的监视器电路产生的TEO信号。然而,可有利地具有至少一些单独的侦测能力,用于侦测发生在延迟关键寄存器电路中的时序事件(信号收集电路801)、以及用于侦测发生在其前仅有关键数量的处理路径的那些寄存器电路中的时序事件(信号收集电路802)。可利用侦测的时序事件来适配微电子电路或其部件的运行,并且这种适配可依据不同适配规则来进行,不同适配规则基于在延迟关键寄存器电路中每单位时间所观察的时序事件(如果有的话)数量以及在其它寄存器电路中每单位时间所观察的时序事件(如果有的话)数量。
为了适配性,微电子电路必需包含一个或多个适配性处理路径。如果其一个或多个电路组件是适配性的,则处理路径是适配性处理路径,使得所述处理路径变成适配地响应于所述一个或多个电路组件的可用的运行参数的值。
在图8中,区块803示意地表示微电子电路适配其至少一部分的运行的能力。这是通过使微电子电路的运行参数依据第一适配规则响应于通过第一信号收集电路801收集的时序事件观察信号、并且依据第二适配规则响应于通过该第二信号收集电路802收集的时序事件观察信号地取运行参数值而实现的。
适配微电子电路或其部分的运行也可在那些实施例中完成,其中,监视单元不是配备有监视器的寄存器电路,而是举例来说复制路径。例如,这可包含使微电子电路的运行参数依据第一适配规则、响应于经由第一群组的复制路径所侦测到的异常运行、以及依据第二适配规则、响应于经由第二群组的复制路径所侦测到的异常运行来取运行参数值。
可能有放置寄存器电路或其它监视单元及收集TEO信号或异常运行的其它指示的更精细策略。作为示例,我们可考虑一种案例,在其中,图7中的步骤706包含基于两个不同阈值数量的在前处理路径来放置监视器电路。首先,监视器电路可以被放置至寄存器电路的一个子集,该子集在步骤703中没有被分类为延迟关键,但在处理路径上在其之前有至少第一阈值数量的处理路径(其没有配备了监视器电路的寄存器电路)。监视器电路可以被放置至寄存器电路的另一个子集,另一个子集在步骤703中没有被分类为延迟关键寄存器电路,但在处理路径上在其之前有至少第二阈值数量(不同于该第一数量)的处理路径(其没有配备了监视器电路的寄存器电路)。该方法可以包含添加第一信号收集电路以收集来自放置至第一次提到的子集的寄存器电路的监视器电路的输出端的信号、以及包含添加第二信号收集电路以收集来自放置至接着提到的子集的寄存器电路的监视器电路的输出端的信号。
从不同地放置的监视器电路收集TEO信号的信号收集电路越多,基于侦测到的时序事件来适配微电子电路的运行的可能性就越多样化。适配微电子电路的运行的示例是先进(或适配性)电压调节,已知为AVS(Adaptive Voltage Scaling)。基本上,它是指如果侦测到更多时序事件或异常运行的其它指示,则微电子电路的适配性部分的运行电压也会增加,反之亦然。如果有不同的信号收集电路(像上面所描述的那些),则可依据在何处观察到异常,而对于时序事件或异常运行的其它指示在每单位时间的可接受数量的采用不同阈值。并且,微电子电路的运行模式可以具有影响:举例来说,如果微电子电路是在待机模式,即使在延迟关键寄存器电路中没有观察到时序事件并且在其它寄存器电路观察到的时序事件非常少,那么AVS控制配置可能会决定不降低运行电压。这是因为待机模式是指非常少的数据处理正在进行,因此,侦测到低数量的时序事件可能无法独自说明整个情况。
上面参考图1,已经提到微电子电路可以为DFT,也就是可测试性设计或测试设计(Design-For-Testing)。为了此目的,微电子电路可以包含测试输入装置,其被配置为可控制地将由测试输入值所组成的测试输入信号馈入至处理路径的至少一个的多个电路组件内。在像图1和3中的那些的寄存器电路中,测试输入信号将经由测试输入SI。然后,微电子电路可以包含测试输出装置,其被配置为可控制地收集来自处理路径的该至少一个的多个电路组件的测试输出值。该测试输出配置将包含早先提到的扫描链。
可以对处理路径实施快速测试,该处理路径包含具有监视器电路的寄存器电路(如在图1中)及没有监视器电路的寄存器电路(如在图3中)两者。测试输入信号(也就是,一系列的测试输入值)可缓慢地被确定时钟,但维持TTBEN信号为高电平,这将使时间借用失能。之后,TTBEN信号可设为低电平,致能时间借用,并且多个时钟周期可以以功能性逻辑速度被提供。这样做是为了捕捉时序事件;提供至少像从处理路径上的不带监视器的寄存器电路直到处理路径上的下一个配备了监视器的寄存器电路的步骤一样多的时钟周期。于是,测试输出信号的收集可以包含收集由在以功能性逻辑速度的所述时钟周期期间所发生的时序事件可能已经引发的TEO信号。
可描述一种致能MCCP的快速测试的测试输出装置,使得将其配置为可控制地收集来自一条的处理路径的测试输出值,在该条处理路径上,中间级包含不与相应监视单元相关联的寄存器电路,以及后续级包含与相应监视电路相关联的寄存器电路。换言之,可进行MCCP的快速测试,使得首先缓慢地将测试输入信号时钟化,直到MCCP的起点。之后,以完全功能性速度给定的时钟周期与通过MCCP传播测试输入信号所需要的时钟周期相同,此后,MCCP的输出被捕捉为测试输出值。
可描述致能MCCP的快速测试的另一种测试输出装置,使得将其配置为可控制地收集来自一条处理路径的测试输出值,在该条处理路径上,至少一个中间级包含能够时间借用的寄存器电路。此处,时间借用的定义是上面已经使用的那个,也就是电路组件暂时允许数字值晚于预期的变化的能力,而没有破坏被处理的数据。能够时间借用的寄存器电路因此暂时地允许处理路径上在它前面的逻辑单元关于触发信号晚点提供其输出值。
可以组合DFT及适配性的概念。在系统层次上,也就是关于整个微电子电路,这是指能够使用测试结果来选择并设定用于适配性微电子电路及其部件的一个或多个运行参数的一个或多个新值。在电路组件的层级也是如此,使得测试一个电路组件或数个电路组件可以实现选择并设定用于电路组件的一个或多个运行参数的一个或多个新值。
作为示例,执行MCCP的快速测试给出有关它是否能够以此时钟速度以及测试期间所使用的运行电压适当地运行的信息。如果是的话,特别地如果测试的结果在可接受的范围内,则时钟频率可被提高和/或运行电压可被降低。在电路组件的层级上,参数(其数值可基于测试结果而改变)的额外示例是时间窗口的长度,时序事件在所述时间窗口期间被侦测。适配时间窗口的长度可以通过改变CP与CPD信号之间的延迟而完成。
如果找到了微电子电路的MCCP,并且将其作为放置那个微电子电路的至少一些监视器电路的基础,以及额外地,如果这些MCCP是DFT,则可能会使用这些特征用于特性化。从概念上说,特性化微电子电路、处理路径或电路组件是指识别及量化其在与目标性能有关的不同运行条件下的性能。可以使用特性化MCCP例如以识别:依据图7中的步骤706所放置的监视器电路的数量及位置是否足以使处理路径按期望运行。
特性化可举例来说以接下来的方式进行。微电子电路被置于测试模式,并且依据该DFT方法执行多个测试,更改运行参数的值(像监视窗口的尺寸(也就是时间的长度))或在一个或多个处理路径的一个或多个中间级中所需要的时间借用的数量。可以此方式找到用于运行参数的最佳值;最佳值是在测试中引发不超过可接受的数量的事件、但同时地最小化运行功率或其它资源的数量、和/或就时钟速度或其它测量而言最大化性能的值。当已经找到最佳值时,将其储存以用于正常运行模式,并且微电子电路是从DFT模式返回到正常运行模式。
对于具有先进技术的本领域技术技术人员而言,该发明的基本想法可以各种方式被实施是明显的。该发明及其实施例因此不应被限制为上面所描述的示例,而是它们可在权利要求的范围内变化。

Claims (21)

1.一种微电子电路,包含:
多个逻辑单元及寄存器电路,所述多个逻辑单元和寄存器电路被布置在多个处理路径中,以及
多个监视单元,其与所述多个处理路径中的相应处理路径相关联,所述多个监视单元中的每个监视单元被配置为产生观察信号,作为对该相应处理路径的异常运行的响应;
其中,依据可能产生的延迟量,所述多个逻辑单元中的每个逻辑单元属于多个延迟等级之一,并且其中,所述延迟等级包含第一等级、第二等级和第三等级,其中,第一等级覆盖可能产生最长延迟的逻辑单元,第二等级覆盖可能产生相较于第一等级较短的延迟的逻辑单元,而第三等级覆盖可能产生相较于第二等级较短的延迟的逻辑单元,
其特征在于:
所述多个处理路径中的至少一些处理路径包含属于该第二等级但没有监视单元的逻辑单元,以及
所述多个处理路径中的至少一些处理路径包含属于该第三等级但具有与它们相关联的监视单元的逻辑单元。
2.如权利要求1所述的微电子电路,其中:
所述多个监视单元包含与所述多个寄存器电路中的相应的寄存器电路相关联的多个监视器电路,所述多个监视器电路中的每个监视器电路被配置为产生相应的时序事件观察信号,作为对于在所述相应寄存器电路的输入处的数字值的改变的响应,该改变是晚于由该相应寄存器电路的触发信号所定义的可允许的时间限制而发生的;
在这些处理路径上接着属于该第二等级的逻辑单元的至少一些所述寄存器电路没有监视器电路,以及
至少一些所述监视器电路与在这些处理路径接着属于该第三等级的逻辑单元的寄存器电路相关联。
3.如权利要求1或2所述的微电子电路,其中,至少一些处理路径是适配性处理路径,其性能能够通过使该微电子电路的运行参数取运行参数值来配置。
4.如权利要求2或3所述的微电子电路,包含:
第一信号收集电路,其被配置为至少收集时序事件观察信号,所述时序事件观察信号由与在所述处理路径上接着属于该第一等级的逻辑单元的寄存器电路相关联的监视器电路产生。
5.如权利要求4所述的微电子电路,其中,该第一信号收集电路被配置为也收集如下时序事件观察信号:该时序事件观察信号由与在该处理路径上接着属于除了该第一等级外的任何其它等级的逻辑单元的寄存器电路相关联的监视器电路产生。
6.如权利要求4所述的微电子电路,包含:
第二信号收集电路,其被配置为收集如下时序事件观察信号:该时序事件观察信号由与在处理路径上接着属于第二等级和第三等级中的至少一个等级的逻辑单元的寄存器电路相关联的监视器电路产生。
7.如权利要求6所述的微电子电路,被配置为:
通过该第一信号收集电路收集时序事件观察信号,
通过该第二信号收集电路收集时序事件观察信号,
通过使该微电子电路的运行参数依据第一适配规则、响应于经由所述第一信号收集电路所收集的时序事件观察信号地取运行参数值,来适配该微电子电路的至少一部分的运行,以及
通过使该微电子电路的运行参数依据第二适配规则、响应于经由所述第二信号收集电路所收集的时序事件观察信号地取运行参数值,来适配该微电子电路的至少一部分的运行。
8.如权利要求7所述的微电子电路,其中,该第一适配规则基于每单位时间通过该第一信号收集电路所收集的时序事件观察信号的第一数量,而该第二适配规则基于每单位时间通过该第二信号收集电路所收集的时序事件观察信号的不同的第二数量。
9.如权利要求1至8中任一项所述的微电子电路,包含:
测试输入装置,其被配置为可控制地将由测试输入值所组成的测试输入信号馈入至这些处理路径中的至少一个处理路径的多个电路元件内,以及
测试输出装置,其被配置为可控制地收集来自这些处理路径中的所述至少一个处理路径的所述多个电路元件的测试输出值。
10.如权利要求9所述的微电子电路,当依据权利要求3时,包含运行参数值选择器,其被配置为基于收集的所述测试输出值来选择该运行参数值。
11.如权利要求9或10所述的微电子电路,其中,该测试输出装置被配置为选择地收集所述测试输出值,这些测试输出值来自所述多个寄存器电路的数据输出、所述多个监视器电路的时序事件观察信号输出中的至少一个。
12.如权利要求9至11中任一项所述的微电子电路,其中,该测试输出装置被配置为可控制地收集来自如下处理路径的测试输出值:在该条处理路径上,中间级包含不与相应监视单元相关联的寄存器电路,而后续级包含与相应监视电路相关联的寄存器电路。
13.如权利要求9至11中任一项所述的微电子电路,其中,该测试输出装置被配置为可控制地收集来自如下处理路径的测试输出值:在该条处理路径上,至少一个中间级包含能够时间借用的寄存器电路。
14.如权利要求1至13中任一项所述的微电子电路,其中,至少一些所述监视单元包含复制路径,所述复制路径被配置为用已知输入数据来仿真所述多个处理路径中的相应的一个处理路径的运行。
15.一种用于产生微电子电路的设计的方法,包含:
a)提供该微电子电路的初步的第一设计,该第一设计定义通过该微电子电路内的逻辑单元和寄存器电路的处理路径,
b)实施对该第一设计的延迟分布分析,以将所述逻辑单元依据可能产生的延迟量分类成延迟等级,
c)基于这些逻辑单元的第一子集在该延迟分布分析中的一个或多个最长延迟等级的出现将它们分类成延迟关键逻辑单元,
d)通过将监视单元与包含所述延迟关键逻辑单元的处理路径相关联,产生该微电子电路的中间的第二设计,
e)通过将监视单元与如下处理路径相关联来产生该微电子电路的另外的第三设计:所述处理路径包含在步骤c)中未被分类为延迟关键逻辑单元的逻辑单元,并且所述处理路径至少含有阈值数量的、不带相关联的监视单元的处理路径,以及
f)输出该第三设计作为该微电子电路的所述设计。
16.如权利要求15所述的方法,其中,处理路径的所述阈值数量被定义为不带相关联的监视单元的寄存器电路的数量,其中相应的处理路径通过所述寄存器电路。
17.如权利要求15或16所述的方法,其中,处理路径的所述阈值数量被定义为沿着相应的处理路径的电路组件依据该延迟分布分析可能产生的总延迟。
18.如权利要求15至17中任一项所述的方法,其中:
步骤d)包含将监视器电路放置至如下寄存器电路:所述寄存器电路在所述处理路径上出现在所述延迟关键逻辑单元之后,以及
步骤e)包含将监视器电路放置至如下寄存器电路:所述寄存器电路在所述处理路径上出现在在步骤c)中未被分类为延迟关键逻辑单元的逻辑单元之后,但是在所述处理路径上在所述寄存器电路之前有至少阈值数量的、没有配备了监视器的寄存器电路的处理路径。
19.如权利要求18所述的方法,其中,步骤e)包含添加一个或多个信号收集电路,以收集来自所述监视器电路的信号,所述监视器电路被放置至寄存器电路,所述寄存器电路在处理路径上出现在在步骤c)中未被分类为延迟关键逻辑单元的逻辑单元之后。
20.如权利要求15至19中任一项所述的方法,其中,步骤e)包含:
e1)将监视单元与如下处理路径相关联:所述处理路径包含在步骤c)中未被分类为延迟关键逻辑单元的逻辑单元的第二子集,并且所述处理路径至少含有第一阈值数量的、没有相关联的监视单的处理路径,以及
e2)将监视单元与如下处理路径相关联:所述处理路径包含在步骤c)中未被分类为延迟关键逻辑单元的逻辑单元的第三子集,并且所述处理路径至少含有不同于该第一阈值数量的第二阈值数量的、没有相关联的监视单元的处理路径。
21.如权利要求20所述的方法,当依据权利要求18时,其中,将监视单元与处理路径相关联包含将监视器电路放置至那个处理路径上的寄存器电路,并且步骤e)额外地包含:
e3)添加第一信号收集电路,以收集来自放置至接着该第二子集的逻辑单元的寄存器电路的监视器电路的输出端的信号,以及
e4)添加第二信号收集电路,以收集来自放置至接着该第三子集的逻辑单元的寄存器电路的监视器电路的输出端的信号。
CN201880099774.0A 2018-11-27 2018-11-27 基于覆盖率的微电子电路及用于提供微电子电路的设计的方法 Pending CN113168495A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/FI2018/050857 WO2020109647A1 (en) 2018-11-27 2018-11-27 Coverage based microelectronic circuit, and method for providing a design of a microelectronic circuit

Publications (1)

Publication Number Publication Date
CN113168495A true CN113168495A (zh) 2021-07-23

Family

ID=70852426

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880099774.0A Pending CN113168495A (zh) 2018-11-27 2018-11-27 基于覆盖率的微电子电路及用于提供微电子电路的设计的方法

Country Status (5)

Country Link
US (1) US11699012B2 (zh)
EP (1) EP3887957A4 (zh)
CN (1) CN113168495A (zh)
TW (1) TWI824055B (zh)
WO (1) WO2020109647A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020109647A1 (en) * 2018-11-27 2020-06-04 Minima Processor Oy Coverage based microelectronic circuit, and method for providing a design of a microelectronic circuit
EP3891893A4 (en) * 2018-12-05 2022-07-20 Minima Processor Oy REGISTER CIRCUIT WITH DATA EVENTS DETECTION AND METHOD OF DETECTING DATA EVENTS IN A REGISTER CIRCUIT
TWI783310B (zh) * 2020-11-26 2022-11-11 華邦電子股份有限公司 計數方法以及計數裝置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102065330B1 (ko) 2009-10-16 2020-01-13 가부시키가이샤 한도오따이 에네루기 켄큐쇼 액정 표시 장치의 제작 방법
EP2662791A1 (en) * 2012-05-11 2013-11-13 Stichting IMEC Nederland A method and apparatus for monitoring timing of cricital paths
US10924098B2 (en) 2017-04-18 2021-02-16 Minima Processor Oy Sequential circuit with timing event detection and a method of detecting timing events
US10540463B1 (en) * 2018-02-13 2020-01-21 Xilinx, Inc. Placement of delay circuits for avoiding hold violations
US10503861B1 (en) * 2018-05-21 2019-12-10 Xilinx, Inc. Placing and routing an interface portion and a main portion of a circuit design
WO2020109647A1 (en) * 2018-11-27 2020-06-04 Minima Processor Oy Coverage based microelectronic circuit, and method for providing a design of a microelectronic circuit
US10963613B1 (en) * 2019-07-26 2021-03-30 Xilinx, Inc. Partial reconfiguration of integrated circuits using shell representation of platform design with extended routing region

Also Published As

Publication number Publication date
WO2020109647A1 (en) 2020-06-04
TW202038053A (zh) 2020-10-16
US11699012B2 (en) 2023-07-11
EP3887957A4 (en) 2022-07-20
EP3887957A1 (en) 2021-10-06
TWI824055B (zh) 2023-12-01
US20220027541A1 (en) 2022-01-27

Similar Documents

Publication Publication Date Title
KR101592042B1 (ko) 스캔 체인을 분석하고, 스캔 체인에서의 홀드 타임 결함의 수 또는 위치를 판정하는 방법
KR101312978B1 (ko) 성능 모니터링을 위한 임계―경로 회로
US6393594B1 (en) Method and system for performing pseudo-random testing of an integrated circuit
CN105631077B (zh) 具有增大的故障覆盖率的集成电路
US7853846B2 (en) Locating hold time violations in scan chains by generating patterns on ATE
TWI824055B (zh) 基於覆蓋率之微電子電路及用於提供微電子電路之設計的方法
Yang et al. Quick scan chain diagnosis using signal profiling
US8612815B2 (en) Asynchronous circuit with an at-speed built-in self-test (BIST) architecture
US20080313499A1 (en) Debug circuit
CN113391193A (zh) 一种基于bist结构和自振荡环的电路老化测试方法
US8230283B2 (en) Method to test hold path faults using functional clocking
CN112969927A (zh) 可测试性设计的适应性微电子电路的应用
US11408938B2 (en) Bidirectional scan cells for single-path reversible scan chains
US7650550B2 (en) Over temperature detection apparatus and method thereof
US11894848B2 (en) Register circuit with detection of data events, and method for detecting data events in a register circuit
US7461304B1 (en) Integrated circuit test using clock signal modification
US6198700B1 (en) Method and apparatus for retiming test signals
US10018671B2 (en) Reducing power requirements and switching during logic built-in-self-test and scan test
Lin et al. Speed binning with high-quality structural patterns from functional timing analysis (FTA)
US11755804B2 (en) Hybrid synchronous and asynchronous control for scan-based testing
Fang et al. Reproduction and detection of board-level functional failure
Biswal et al. On-line testing of digital vlsi circuits at register transfer level using high level decision diagrams
US8319518B2 (en) Detecting transitions in circuits during periodic detection windows
WO2024163015A1 (en) Cell-aware chain diagnosis
McLaurin et al. A methodology for testing one-hot transmission gate multiplexers

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination