CN105553448A - 调节时钟偏斜的方法、***和设备 - Google Patents

调节时钟偏斜的方法、***和设备 Download PDF

Info

Publication number
CN105553448A
CN105553448A CN201510701438.7A CN201510701438A CN105553448A CN 105553448 A CN105553448 A CN 105553448A CN 201510701438 A CN201510701438 A CN 201510701438A CN 105553448 A CN105553448 A CN 105553448A
Authority
CN
China
Prior art keywords
clock
end points
surplus
circuit
skewed
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.)
Granted
Application number
CN201510701438.7A
Other languages
English (en)
Other versions
CN105553448B (zh
Inventor
阿赫桑·乔杜里
布莱恩·米勒
约翰·M·费奥多尔
迈克·P·路易斯
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN105553448A publication Critical patent/CN105553448A/zh
Application granted granted Critical
Publication of CN105553448B publication Critical patent/CN105553448B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/01Shaping pulses
    • H03K5/04Shaping pulses by increasing duration; by decreasing duration
    • H03K5/05Shaping pulses by increasing duration; by decreasing duration by the use of clock signals or other time reference signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Computer Hardware Design (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)

Abstract

提供了一种调节时钟偏斜的方法、***和设备。所述方法包括:接收电路模型,该电路模型包括至少部分地被时钟网控制的逻辑电路,时钟网通过将各个时钟信号输入到各个逻辑电路的端点来至少部分控制每个逻辑电路;通过以下步骤向电路模型提供增量延时调节,即,确定作为调节各个端点的时钟偏斜调度的候选项的一个或多个端点,对于与负前余量关联的每个端点,按量化量调节各个端点的时钟偏斜调度直至达到最大推阈值,对于与负后余量关联的每个端点,按量化量调节关联的各个端点的时钟偏斜调度直至最大拉阈值;将向电路模型提供增量时序更新的步骤重复多次。方法还包括经由动态时序验证、静态时序分析或这二者,执行对电路模型的时序评估。

Description

调节时钟偏斜的方法、***和设备
相关申请的交叉引用
本申请要求于2014年10月27日提交的第62/069,278号美国临时申请、2014年10月27日提交的第62/069,276号美国临时申请以及2015年7月30日提交的第14/814,495号美国申请的优先权。所述先前申请的主题以引用方式并入本文。
技术领域
本说明书涉及电子电路的设计,更具体地讲,涉及时钟网的时序。
背景技术
大多数数字电路***(诸如,计算机***)的操作被称为“时钟”的周期信号所同步,该周期信号指示电路的器件的顺序和节奏。常常,这个时钟是从单个源分布到电路的所有存储器元件,这些存储器元件也被称为寄存器、锁存器、触发器或存储器。在使用边沿触发型触发器的电路中,当时钟边沿或节拍(tick)到达触发器时,触发器将触发器输入传递至触发器输出,这些新的输出值流过组合逻辑,以在下一个时钟节拍提供下一个触发器输入的值。
理想地,各存储器元件的输入达到将在下一个时钟节拍的时间计算出的其最终值,使得可精确地预测整个电路的行为。***可通常运行的最大速度或时钟频率将由于物理组成、温度和路径长度的差异而导致的电路的各种元件之间出现的变化计算在内。
在电路设计中,时钟偏斜(有时被称为时序偏斜)是(从时钟电路发送的)时钟信号在不同时间到达不同组件的同步电路中的现象。偶尔,造成这种现象的原因诸多,诸如,布线互连长度、温度变化、中间装置的变化、电容耦合、材料缺陷、使用时钟的装置的时钟输入处的输入电容差异、随机和***性变化和时钟抖动等。随着电路的时钟速率增加,时序变得更关键,并且如果电路正确发挥作用,则可容忍较少的变化。
通常,存在两种类型的有用偏斜。当接收触发器晚于发送触发器接收时钟节拍时,出现正偏斜(推)。负偏斜是相反的:接收寄存器早于发送寄存器得到时钟节拍(拉)。零时钟偏斜是指时钟节拍基本上同时到达发送和接收寄存器。
发明内容
根据一个总体方面,一种调节时钟偏斜的方法可包括:接收电路模型,该电路模型包括至少部分地被时钟网控制的逻辑电路,其中,时钟网通过将各个时钟信号输入到各个逻辑电路的端点来至少部分控制每个逻辑电路。所述方法还可包括通过以下步骤向电路模型提供增量延时调节:确定作为调节各个端点的时钟偏斜调度的候选项的一个或多个端点,对于与负前余量关联的每个端点,按量化量调节各个端点的时钟偏斜调度,直至达到最大推阈值,对于与负后余量关联的每个端点,按量化量调节关联的各个端点的时钟偏斜调度,直至最大拉阈值。所述方法还可包括将向电路模型提供增量时序更新的步骤重复多次。
所述方法还可包括经由动态时序验证、静态时序分析或这二者,执行对电路模型的时序评估。
向电路模型提供增量时序更新的步骤可包括:通过用单独的步骤调节与负前余量关联的端点并调节与负后余量关联的端点,来避免端点之间的推/拉调节时钟延时冲突。
调节各个端点的时钟偏斜的步骤可包括:在调节端点的时钟偏斜调度之后临时估计与端点关联的新余量,而不执行动态时序验证、静态时序分析或这二者。重复向电路模型提供增量时序更新的步骤可包括:基于临时估计的新余量来确定作为调节候选项的端点。
调节与负前余量关联的各个端点的时钟偏斜调度的步骤可包括:在针对每个端点调节时钟偏斜调度之后,不执行单独的时序更新。向电路模型提供增量时序更新的步骤可包括:在调节与负前余量关联的每个端点的时钟偏斜的步骤之后,但在调节与负后余量关联的每个端点的时钟余量之前,重新评估电路模型中的每个端点的余量。
对于与负后余量关联的每个端点,按量化量调节与负后余量关联的各个端点的时钟偏斜调度的步骤可包括:如果前余量和后余量都是负的,则调节时钟偏斜调度,以至少部分均衡量化步长大小内的前余量和后余量。
将向电路模型提供增量时序更新的步骤重复多次的步骤可包括:在多个流水线阶段内,有效执行时钟余量的多阶段前瞻调度。
调节时钟偏斜调度的第一量化量和第二量化量可以是与偏斜缓冲器电路关联的延迟。最大推阈值可小于最大拉阈值。
将向电路模型提供增量时序更新的步骤重复多次的步骤可包括:将有用的偏斜调度与物理合成优化共同优化,以在时序收敛方向上重新组织电路模型。
确定作为调节相应端点的时钟偏斜调度候选项的一个或多个端点的步骤可包括:将端点分类成一个或至少两个类别,其中,所述至少两个类别包括拉候选项和推候选项。
向电路模型提供增量时序更新的步骤可包括:经由选择针对偏斜的余量阈值和最大推/拉极限,来选择最差负余量和总负余量之间的优选项。
调节时钟偏斜调度的步骤可包括按电力恢复方式调节时钟偏斜调度。
为了建立减小而调节时钟偏斜调度可包括以保持获知的方式来调节时钟偏斜调度。
调节时钟偏斜调度的步骤可包括:调节时钟偏斜调度以进行保持减小。
调节时钟偏斜调度的步骤可包括:以建立获知方式为了保持减小而进行调度。
根据另一个总体方面,一种用于调节数字电路的时钟偏斜调度的计算机程序产品,所述计算机程序产品被有形实施在计算机可读介质上并且包括可执行代码,可执行代码被构造成在被执行时使数据处理设备:接收电路模型,该电路模型包括至少部分受时钟网控制的逻辑电路,其中,时钟网通过将各个时钟信号输入各个逻辑电路的端点来至少部分控制每个逻辑电路;通过以下步骤向电路模型提供增量时序更新:确定与大于最小余量阈值的绝对余量的量关联的一个或多个端点,对于与负前余量关联的每个端点,按量化量调节与负前余量关联的各个端点的时钟偏斜调度,直至达到最大推阈值,对于与负后余量关联的每个端点,按量化量调节与负后余量关联的各个端点的时钟偏斜调度,直至达到最大拉阈值。
可执行代码可被构造为在被执行时使数据处理设备:在针对各个端点调节时钟偏斜调度之后,不执行单独的时序更新。
根据另一个总体方面,一种用于调节时钟偏斜的***可包括:数据处理设备;存储器,存储有计算机可执行代码。所述计算机可执行代码被构造为被执行时使所述数据处理设备:接收电路模型,该电路模型包括至少部分受时钟网控制的逻辑电路,其中,时钟网通过将各个时钟信号输入各个逻辑电路的端点来至少部分控制每个逻辑电路;通过以下步骤向电路模型提供增量时序更新:确定与大于最小余量阈值的绝对余量的量关联的一个或多个端点,对于与负前余量关联的每个端点,按量化量调节与负前余量关联的各个端点的时钟偏斜调度,直至达到最大推阈值,以及对于与负后余量关联的每个端点,按量化量调节与负后余量关联的各个端点的时钟偏斜调度,直至达到最大拉阈值。
根据另一个总体方面,一种用于调节时钟偏斜的设备可包括:数字电路接收器,被构造为存储数字电路模型,该数字电路模型包括多个逻辑电路和被构造为将时钟信号提供个所述多个逻辑电路的时钟网的模型,所述多个逻辑电路中的每个逻辑电路至少部分受施加到其一个或多个端点的时钟信号所控制;调节候选识别器,被构造为将一个或多个端点识别为拉候选项或推候选项;时钟拉调度器,被构造为对于每个拉候选项,将通向各个端点的时钟信号的时钟延时减小第一量化量;时钟推调度器,被构造成对于每个推候选项,将通向各个端点的时钟信号的时钟延时增大第二量化量;时序模型发生器,被构造为在时钟拉调度器处理了数字电路模型和/或时钟推调度器处理了数字电路模型之后更新数字电路的时序模型。数字电路模型的时钟时序可经过调节候选识别器、时钟拉调度器、时钟推调度器和时序模型发生器的多次操作而被增量调节。
附图和以下的描述中阐述一个或多个实现方式的细节。根据描述和附图并且根据权利要求书,将清楚其它特征。
用于设计电子电路的***和/或方法,更具体地,时钟网络的时序,基本上如至少一个附图中示出和/或结合至少一个附图描述的,如在权利要求书中更完全阐述的。
附图说明
图1是根据本公开主题的***的示例实施例的框图。
图2是根据本公开主题的***的示例实施例的框图。
图3是根据本公开主题的技术的示例实施例的流程图。
图4是可包括根据本公开主题的原理形成的装置的信息处理***的示意性框图。
各种附图中的类似参考符号指示类似的元件。
具体实施方式
下文中,将参照附图更充分地描述各种示例实施例,在附图中示出一些示例实施例。然而,本公开主题可用许多不同形式来实施并且不应该被理解为限于在此提出的示例实施例。相反地,提供这些示例实施例使得本公开将是彻底和完全的,并且将把当前公开主题的范围充分地传达给本领域的技术人员。在附图中,为了清晰起见,可夸大层和区域的尺寸和相对尺寸。
应该理解,当元件或层被称为在另一元件或层“上”,“连接到”或“结合到”另一元件或层时,该元件或层可直接在另一元件或层上,直接连接或结合到另一元件或层,或者可存在中间元件或中间层。相反,当元件被称为“直接”在另一元件“上”或“直接连接到”或“直接结合到”另一元件或层时,不存在中间元件或中间层。类似的标号始终表示类似的元件。如在这里使用的,术语“和/或”包括一个或多个相关所列项的任意组合和所有组合。
应该理解,尽管在这里可使用术语“第一”、“第二”、“第三”等来描述各种元件、组件、区域、层和/或部分,但是这些元件、组件、区域、层和/或部分不应该受这些术语的限制。这些术语只是用来将一个元件、组件、区域、层或部分与另一个区域、层或部分区分开来。因此,在不脱离本公开主题的教导的情况下,下面讨论的第一元件、组件、区域、层或部分可被命名为第二元件、组件、区域、层或部分。
为了便于描述,在这里可使用空间相对术语诸如“之下”、“下方”、“下面”、“上方”、“上面”等来描述如图中所示的一个元件或特征与其它元件(一个或多个)或特征(一个或多个)的关系。应该理解,空间相对术语意在包含除了在附图中描述的方位之外的装置在使用或操作时的不同方位。例如,如果在附图中装置被翻转,则被描述为在其它元件或特征“下方”或“下面”的元件随后将被定位为在其它元件或特征“上方”。因此,示例性术语“下方”可包含上方和下方这两种方位。所述装置可被另外定位(旋转90度或者在其它方位),相应地解释这里使用的空间相对描述符。
这里使用的术语只是出于描述特定示例性实施例的目的,而不意图限制本公开主题。如这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式。还应该理解,当在本说明书中使用术语“包括”和/或“包含”时,说明存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或附加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其组。
这里,参照作为理想化实施例(和中间结构)的示意性图示的剖面图示,描述示例实施例。如此,将预料到,由于(例如)制造技术和/或公差导致的图示的形状变化。因此,示例实施例应该不被理解为限于这里示出的区域的特定形状,而是将包括由于(例如)制造导致的形状偏差。例如,被示出为矩形的注入区域将在其边缘具有倒圆或弯曲的特征和/或注入浓度的梯度,而不是从注入区到非注入区的二元变化。同样地,通过注入而形成的掩埋区可导致掩埋区和穿过其发生注入的表面之间的区域中有一些注入。因此,附图中示出的区域本质是示意性的并且它们的形状不意图示出器件的区域的实际形状,而是意图限制当前公开主题的范围。
除非另有定义,否则这里使用的所有术语(包括技术术语和科技术语)具有与本公开主题所属领域的普通技术人员所通常理解的意思相同的意思。应该进一步理解,除非这里明确定义,否则术语(诸如,在通用字典中定义的术语)应该被解释为具有与相关领域的上下文中它们的意思相同的意思,并且将不理想地或者过于正式地解释它们的意思。
下文中,将参照附图详细说明示例实施例。
图1是根据本公开主题的***100的示例实施例的框图。示出的实施例示出在有用偏斜被引入之前的时序违规(timingviolation)的简化示例(示于状态101)及其改善(示于状态191)。在各种实施例中,可借助本公开主题实现时钟偏斜的改善。
在示出的实施例中,***100可包括三个触发器(或更一般地,“端点”)102、104和106。***100还可包括四个组合逻辑部112、114、116和118。在各种实施例中,组合逻辑部可包括各种电子电路,诸如,例如,与非(NAND)门、或非(NOR)门、电容器、寄存器等。将被处理的针对组合逻辑的输入并且导致组合逻辑部的输出要会花费一定量的时间。
如上所述,如果这个处理时间比时钟信号131的周期短,则该电路被称作具有“正余量(positiveslack)”。相反地,如果处理时间比时钟信号131的周期长,则该电路被称作具有“负余量(negativeslack)”,更重要地,当与输出关联的触发器存储输出信号时,输出将未就绪。在各种实施例中,这可通过增加时钟周期或者减小时钟频率而进行改善。
在示出的实施例中,时钟周期是714皮秒(ps)或者时钟频率~1.4千兆赫兹(GHz)。在示出的实施例中,组合逻辑112可花费814ps进行处理。因此,由于组合逻辑112从逻辑上讲在触发器102前方,所以触发器102可具有-100ps(即,714ps-814ps)的前余量。接着,可考虑,在组合逻辑部分112的输出就绪或者被充分计算之前的100ps,时钟信号到达触发器102。
在示出的实施例中,组合逻辑114可花费414ps来进行处理。因此,由于组合逻辑114从逻辑上讲在触发器102后方,所以触发器102可具有+300ps的后余量(即,714ps-414ps)。这意味着,触发器102可比当前释放输入晚300ps地释放输入信号,且组合逻辑部分114将仍然有足够的时间来充分计算输出值。触发器104可具有+300ps(即,714ps-414ps)的前余量。
要理解,这里描述的示例只是几个示例性示例,公开主题不限于这些示例。例如,这些示例出于例证性目的被简化,并不包括像时钟抖动、建立时间等情况。
在示出的实施例中,组合逻辑116可花费764ps进行处理。因此,触发器104可具有-50ps(即,714ps-764ps)的后余量并且触发器106可具有-50ps(即,714ps-764ps)的前余量。在示出的实施例中,组合逻辑118可花费714ps来进行处理。因此,触发器106可具有0ps(即,714ps-714ps)的后余量。要理解,以上只是一个示例性示例,公开主题不限于该示例。
同样地,在示出的实施例中,时钟网络或时钟网可包括时钟信号131和多个缓冲器或驱动器132、134和136。在示出的实施例中,每个缓冲器可将时钟信号131延迟50ps。要理解,行处理。要理解,以上只是一个例证性示例,本公开主题不限于该示例。
如上所述,在初始状态(状态101)下,***100具有被认为具有负(前)余量的两个触发器或端点(触发器102和106)。这两个触发器102和106之前的逻辑112和116的失效造成***100不能够满足其在1.4GHz下操作的设计目标,因为需要814ps(替代所需的714ps)的时钟周期来充分处理最慢的逻辑部(电路112)。
图1还示出根据本公开主题改变或调节时钟网络之后的***100(状态191)。在此实施例中,已经在时钟网络中添加了缓冲器或从时钟网络中去除了缓冲器,以增加(推(push))或减少(拉(pull))各触发器经历的时钟延时。这个时钟延时的调节意味着,并非所有的组合逻辑部(例如,逻辑112等)经受严格的714ps执行时间。替代地,给定逻辑部可具有更长时间(例如,814ps等)或更短时间(例如,414ps等)。参照其它附图,更详细地描述在各种实施例中调节时钟延时所采用的技术。在示出的实施例中,仅仅引入构思。
在示出的实施例中,可通过添加两个缓冲器(缓冲器142和152)将针对触发器102的时钟信号延迟100ps。这样可将逻辑部112的执行时间的结束推动100ps,从而向逻辑部112提供完整的814ps来完成处理。这可导致触发器102具有0ps的前余量。
然而,针对触发器102的时钟信号推动100ps并不是孤立地进行的。这还意味着,下一个流水线阶段(pipelinestage)或组合逻辑114开始也被推动100ps。幸运的是,逻辑部114只需要414ps来完成并且延迟并不是问题。通过添加缓冲器142和152,可使触发器104具有+200ps的前余量。
但是,在图示的实施例中,逻辑部112可能不是唯一的问题部分。在计算时间为764ps的情况下,组合逻辑部116也可超过所需的714ps的周期。在各种实施例中,可能期望使用针对触发器104可用的过大余量来消除逻辑部116上的一些负担。
在此实施例中,对于触发器104的时钟延时可减少或被拉动。在这样一个实施例中,可从时钟网络中去除缓冲器134。这会造成逻辑部116执行其计算必须要花费的时间量增加50ps,或者总时间是764ps。在此实施例中,触发器104接着可具有+150ps的前余量和0ps的后余量。同样地,触发器106(没有使其时钟延时被推动或拉动)可具有0ps的前余量和0ps的后余量。
在另一个实施例中,如果逻辑118具有少于714ps的处理时间(例如,614ps),则触发器106的时钟延时可被推动,以适应逻辑部116。在此实施例中,对于触发器104的时钟延时可没有被拉动。要理解,以上只是一个例证性示例,公开主题不限于该示例。
在示出的实施例中,时钟信号131和缓冲器132、134、136、142和152可以是时钟网网络的部分。通常,时钟网网络的特征在于,时钟网和触发器或端点之间极浅的逻辑深度。通常只是单个缓冲器(例如,缓冲器132等)或时钟门直接驱动电子终点或端点。这与更传统的时钟树相当,该更传统的时钟树通常的特征在于,源自分支直至设计中的各终点的时钟根的有机树结构。在时钟树方案中,缓冲器和时钟门控水平经常存在相对大的深度。时钟网网络中的时钟信号131的根源和端点之间的多个缓冲器中的深度的这种不足降低了管理时钟偏斜的机会,特别是,拉动时钟延时的机会。
在示出的实施例中,各缓冲器(例如,缓冲器142、缓冲器134等)可造成时钟信号131延迟50ps。在各种实施例中,本公开主题可被构造成使用量化量进行操作,以推或拉时钟偏斜。在此实施例中,可能无法将时钟延时调节成特定所需值(例如,800ps),而是只调节成与量化量(例如,814ps、764ps等)的间隔所指示的所需值接近的值。要理解,在各种实施例中,量化的水平可变化(例如,40ps、100ps、15ps等)。要理解,以上只是一些例证性示例,本公开主题不限于这些示例。
图2是根据本公开主题的***200的示例实施例的框图。在示出的实施例中,在集成电路设计过程期间,数字电路模型202可被创建。可期望确定一组时钟延时调度208。可如下所述地采用***200的组件来确定模型202的一组时钟延时调度208。
在示出的实施例中,在执行物理电路合成或者使模型202经受更缜密的时序评估技术之前,***200可被采用来确定数字电路模型202的一组时钟延时调度208。在另一个实施例中,***200可被采用来在设计过程中的晚期(例如,与最终时序一样晚,等等)调节数字电路模型202的时钟偏斜。在各种实施例中,通过在设计过程的晚期通过***200运行数字电路模型202,可得益于能够使用最精确的时序来固定实际最关键的路径。要理解,以上只是一个示意性示例,本公开主题不限于这个示例。
在一个实施例中,***200可接收数字电路模型202。在各种实施例中,数字电路模型202可包括物理合成的或布局的模型。在另一个实施例中,数字电路模型202可包括居间位于设计过程的两端之间的电路的表现形式。要理解,以上只是一些例证性示例,本公开主题不限于这些示例。
在各种实施例中,数字电路模型202可包括时钟网204(或其表现形式)。在此实施例中,时钟网204可被构造成向多个时钟电路206(或其表现形式)提供时钟信号。在此实施例中,如上所述,时钟信号以相应的时钟延时量可到达每个逻辑电路206。
在各种实施例中,如上所述,数字电路模型202可包括多个逻辑电路206。在一些实施例中,每个逻辑电路206可被通向相应逻辑电路206的一个或多个端点的时钟信号所至少部分控制。在这个背景下,端点可包括触发器、锁存器或其它寄存器或状态装置(例如,图1的触发器、存储器等)。在各种实施例中,端点可标记流水线阶段的开始/结束。
在一个实施例中,***200可包括数字电路接收器210。数字电路接收器210可被构造成接收数字电路模型202。在各种实施例中,数字电路接收器210还可被构造成接收一个或多个偏斜调度参数211。
在一些实施例中,这些参数211可包括以下中的一个或多个:推步长大小、拉步长大小、最大推极限或阈值、最大拉极限或阈值、余量阈值。
在各种实施例中,推步长大小参数可指示控制与真实世界的偏斜缓冲器(或其它电路;例如,时钟门缓冲器延迟等)所提供的实际步长大小符合的推量化(例如,通过时钟推调度器216等进行的)的格式。这个参数可避免基于传统时钟树***(CTS)的方法中发现的实现效率的丧失。在示出的实施例中,通过采用量化的推步长大小,理论上或预实现时钟延时调度可更好地与时钟网204的物理或后实现关联。
在一些实施例中,拉步长大小参数可类似地指示与真实世界的偏斜缓冲器(或其它电路;例如,时钟门缓冲器延迟等)提供的实际步长大小符合的拉量化(例如,通过时钟拉调度器214等进行的)的格式。在各种实施例中,拉步长大小的功能或值与推步长大小近似。
在一个实施例中,最大(Max)推量参数可设置可添加于任何端点的时钟延时调度的最大量的上限值。在一个实施例中,这样可允许确定性能/电力折衷的方式。例如,添加的偏斜缓冲器(或其它电路)越多,消耗的电力可越多,但可改进数字电路的整体时序(例如,时钟的推解决了各种时序问题等)。在这种实施例中,最大推量参数可限制添加的偏斜缓冲器所消耗的电量。另外,在一些实施例中,最大推量参数可受实现限制(诸如,例如,拥塞、单元的破坏等)的控制。
在各种实施例中,最大(Max)拉量参数可设置可从任何端点减去的时钟延时调度的最大量的值。在各种实施例中,这样可允许独立于推调度的拉调度的可控性。另外,在一些实施例中,可通过从设计中去除偏斜缓冲器(或时钟门缓冲器延迟调节)来实现拉调度。在一些实施例中,可去除的偏斜缓冲器的数量可受限制。例如,在图1中,只存在缓冲器134作为针对触发器104的输入。因此,与触发器104(或一般地***100)关联的最大拉量可以是一个缓冲器(依据时间、缓冲器、步骤等表现)。
在各种实施例中,余量参数的余量阈值可允许将被设置的最差负余量(WNS)和总负余量(TNS)之间的所需折衷。这样可促成性能和电力之间的折衷。要理解,以上只是一些示意性示例,公开主题不限于这些示例。
在另一个实施例中,数字电路接收器210可接收参数211并且将它们与数字电路模型202一起传递到***200的其它组件中的一个或多个组件。在这种实施例中,***200的其它组件的作用可被修改或限制。例如,如上所述,推步长大小可指示当尝试推给定端点的时钟延时时钟推调度器216可采用的量化的水平或量,对于拉步长大小参数和时钟拉调度器214同样如此。要理解,以上只是一些例证性示例,公开主题不限于这些示例。
在示出的实施例中,***200可包括推/拉调节候选识别器212。在各种实施例中,调节候选识别器212可被构造成识别包括前余量的量或后余量的量的一个或多个端点。
虽然在各种实施例中对本公开主题的描述可主要表示建立余量和时序,但在各种实施例中,还可采用本公开主题来解决其它形式的余量(诸如,保持余量)。要理解,以上只是一个示意性示例,本公开主题不限于这个示例。在另一个实施例中,可采用有用偏斜调度来改善功率而非时序余量。在又一个实施例中,可采用有用偏斜调度来改善保持时序而非建立余量。
在各种实施例中,推/拉调节候选识别器212可被构造成将端点分桶存储(bucket)成两个(或更多个)类别。在这种实施例中,第一类别可包括被候选为将被推的端点。在一个实施例中,如果端点包括小于其后余量的前余量,其前余量是负的并且其具有比“偏斜的余量阈值”差的前余量,则端点可以是推候选项。第二类别可包括被候选为将被拉的端点。在一个实施例中,如果端点包括大于其后余量的前余量,其后余量是负的,并且其具有比“偏斜的余量阈值”阈值差的后余量,则端点可以是拉候选项。在各种实施例中,可跳过既不是将被推的候选项也不是将被拉的候选项的端点。在一些实施例中,这些跳过的或非候选的端点可包括第三类别。在其它实施例中,可为了降低数字电路的功率来调度被跳过的端点。要理解,以上只是一个例证性示例,本公开主题不限于这个示例。
在示出的实施例中,***200可包括时钟拉调度器214。在这种实施例中,时钟拉调度器214可被构造用于将通向相应拉候选端点的时钟信号的时钟延时减小第一量化量。
以下的伪代码示出用于计算候选端点的推拉调节的量的示例技术。在各种实施例中,时钟拉调度器214和/或时钟推调度器216可采用这种技术。要理解,以上只是一个示意性示例,本公开主题不限于这个示例。
在这种实施例中,针对每个候选项,如果前余量小于后余量,则可减小后余量以改善前余量。只有当在各种实施例中前余量小于阈值并且后余量保持超过调节后的前余量,这才可结束。因此,可存在没有发生调节的候选项。如果将调节候选项,则前余量可增大,且后余量减小达量化步长量,直到以上条件被满足。要理解,以上只是一个示意性示例,本公开主题不限于这个示例。
在示出的实施例中,***200可包括时序模型发生器218。在一些实施例中,时序模型发生器218可被构造成在时钟拉调度器214处理了数字电路模型202之后更新数字电路模型202的时序模型。在各种实施例中,***200可包括被构造成调节数字电路模型202的延时测量的增量延时调节器219。
在示出的实施例中,***200可包括时钟推调度器216。在这种实施例中,时钟推调度器216可被构造成用于将通向相应推候选端点的时钟信号的时钟延时增加第二量化量。在时钟推调度器216修改了时钟偏斜调度之后,数字电路模型202的时序模型可被更新(例如,通过时序模型发生器218、增量延时调节器219)。
尽管在示出的实施例中,时钟拉调度器214在时钟推调度器216(例如,包括组件212、214、218、219、212、216和218的回路)之前处理数字电路模型202,但是在另一个实施例中,处理次序可被颠倒(例如,包括组件212、216、218、219、212、214和218的回路)。要理解,以上只是一个示意性示例,本公开主题不限于这个示例。
如上所述,在一个实施例中,对于各候选项,如果后余量小于前余量,则前余量可被减小以改善后余量。只有在各种实施例中后余量小于阈值并且前余量保持超过调节后的前余量,这才可进行。因此,可存在没有出现调节的候选项。如果候选项将被调节,则前余量可减小,并且后余量增大量化步长量,直到以上条件被满足。要理解,以上只是一个示意性示例,本公开主题不限于这个示例。
在各种实施例中,通过将端点分成两个推/拉存储桶并且随后通过单独步骤来执行推时钟偏斜调度调节和拉时钟偏斜调度调节,可避免产生调度冲突。在这种实施例中,可避免在调度每个端点之后传统上需要代价增加地进行时序更新。在这种实施例中,可在整个数字模型202中的推/拉候选项已经被处理之后,更新时序模型。
在示出的实施例中,***200可使数字电路模型202经过时钟拉调度器214、时钟推调度器216、时序模型发生器218、增量时序调节器219,循环多次。在这种实施例中,正确确定端点的时钟偏斜调度经常取决于多个流水线阶段的时序余量和动态借用从这些后续多阶段起算的时间。这通常涉及多阶段前瞻调度,这是个复杂的问题。通过利用单级调度(例如,时钟拉调度器214、时钟推调度器216等)执行多个迭代循环,允许时钟偏斜调度变化,以通过设计进行传播直到已经实现稳定状态来解决这个困难。
在示出的实施例中,***200可在循环时钟推调度器214/时钟拉调度器216、时序模型发生器218、增量延时调节器219的多个迭代之后,产生结果物的时钟偏斜调度208。在一些实施例中,这些时钟偏斜调度208可被提供用于数字电路设计过程中的其它阶段。
在这种一个实施例中,其它阶段(和***200)可包括时钟门和/或偏斜缓冲器调节器220。在一些实施例中,时钟门和/或偏斜缓冲器调节器220可被构造成将数字电路模型202和时钟偏斜调度208作为输入并且调节在数字电路模型202内的各种电路(例如,偏斜缓冲器、时钟门等),以影响***200确定的时序改变。要理解,以上只是一个示意性示例,本公开主题不限于这个示例。
在各种实施例中,其它阶段可包括静态和/动态时序评估器230。在这种实施例中,静态和/动态时序评估器230可被构造成在指定时钟偏斜调度208的情况下对数字电路模型202执行静态和/或动态时序分析。在这种实施例中,在物理合成和/或时序优化期间,应用时钟偏斜调度208可按时序模型以期望方式收敛这样的方式“晃动”数字电路模型202。静态和/动态时序评估器230可产生电路物理模型292,电路物理模型292不仅仅代表电路的功能特性,而且代表电路的物理特性。
图3是根据本公开主题的技术300的示例实施例的流程图。在各种实施例中,可由***(诸如,图1、图2或图4的***)使用或产生技术300。但是,要理解,以上只是一些示意性示例,本公开主题不限于这些示例。要理解,本公开主题不限于技术300所示的动作的排序或数量。
块302示出,在一个实施例中,如上所述,可定义一个或多个构造参数。在各种实施例中,构造参数可包括最大推极限、最大拉极限、推步长大小、拉步长大小和/或偏斜值的余量阈值,如上所述。要理解,以上只是一些示意性示例,本公开主题不限于这些示例。
块304示出,在一个实施例中,如上所述,***(例如,图2的***200等)可遍历每个端点并且确定拉候选项和推候选项。在各种实施例中,如上所述,推候选项可包括具有比其后余量小的前余量、负的前余量、比偏斜值的余量阈值差的前余量的端点。在各种实施例中,如上所述,拉候选项可包括具有比其后余量大的前余量、负的后余量、比偏斜值的余量阈值差的后余量的端点。要理解,以上只是一些示意性示例,本公开主题不限于这些示例。
块306示出,在一个实施例中,如上所述,***(例如,图2的***200等)可遍历每个拉候选项并且将量化的拉调节应用于时钟偏斜调度。在这种实施例中,如上所述,可通过拉步长大小参数控制对时钟偏斜调度的量化拉调节。在一个实施例中,可用上述伪代码计算拉调节。
块307示出,在一个实施例中,可基于拉调节来更新时序模型。在另一个实施例中,在技术300中可不包括块307。在这种实施例中,可针对每个迭代,只将时序模型更新一次。要理解,以上只是一个示意性示例,本公开主题不限于这个示例。
块308示出,在一个实施例中,如上所述,***(例如,图2的***200等)可遍历每个推候选项并且将量化的推调节应用于时钟偏斜调度。在这种实施例中,如上所述,可通过推步长大小参数控制对时钟偏斜调度的量化推调节。在一个实施例中,可用上述伪代码计算推调节。
块309示出,在一个实施例中,可基于推调节来更新时序模型。在另一个实施例中,可基于推调节和拉调节二者来执行块309。在这种实施例中,可针对每次迭代,只将时序模型更新一次。要理解,以上只是一个示意性示例,本公开主题不限于这个示例。
块310示出,在一个实施例中,如上所述,可将过程重复多次。在这种实施例中,如上所述,可调节多个流水线阶段的余量。在各种实施例中,如上所述,通过动态借用从后续多阶段起算的时间,块310的迭代过程可影响多阶段前瞻调度。
块312示出,在一个实施例中,如上所述,可执行物理合成和/或时序优化。在这种实施例中,如上所述,这样可允许进行同时调度和数据路径优化。块314示出,在一个实施例中,如上所述,可将技术300重复多次。在各种实施例中,这样可按以所需方式进行时序收敛这样的方式“晃动”数字电路模型202。
图4是可包括根据本公开主题的原理形成的半导体装置的信息处理***400的示意性框图。
参照图4,信息处理***400可包括根据本公开主题的原理构造的装置中的一个或多个。在另一个实施例中,信息处理***400可来采用或执行根据本公开主题的原理的一种或多种技术。
在各种实施例中,信息处理***400可包括计算装置诸如(例如)膝上型电脑、桌上型电脑、工作站、服务器、刀片式服务器、个人数码助理、智能电话、平板和其它合适的计算机等、或其虚拟机或虚拟计算装置。在各种实施例中,信息处理***400可供用户(未示出)使用。
根据本公开主题的信息处理***400还可包括中央处理单元(CPU)、逻辑或处理器410。在一些实施例中,处理器410可包括一个或多个功能单元块(FUB)或组合逻辑块(CLB)415。在这种实施例中,组合逻辑块可包括各种布尔逻辑运算(例如,与非、或非、非、异或等)、稳定逻辑器件(例如,触发器、锁存器等)、其它逻辑器件或其组合。可按简单或复杂的方式构造这些组合逻辑运算,以处理输入信号来实现所需结果。要理解,虽然描述了同步组合逻辑运算的一些示意性示例,但本公开主题不受此限制并且可包括异步运算、或其组合物。在一个实施例中,组合逻辑运算可包括多个互补金属氧化物半导体(CMOS)晶体管。在各种实施例中,这些CMOS晶体管可被布置成执行逻辑运算的门;但是,要理解,可使用其它技术并且这些技术在本公开主题的范围内。
根据本公开主题的信息处理***400还可包括易失性存储器420(例如,随机存取存储器(RAM)等)。根据本公开主题的信息处理***400还可包括非易失性存储器430(例如,硬驱动器、光学存储器、与非或闪速存储器等)。在一些实施例中,易失性存储器420、非易失性存储器430或其组合或一些部分可被称为“存储介质”。在各种实施例中,易失性存储器420和/或非易失性存储器430可被构造成将数据以半永久或基本上永久的形式进行存储。
在各种实施例中,信息处理***400可包括一个或多个网络接口440,网络接口440被构造成允许信息处理***400成为通信网络的部分并且经由通信网络进行通信。Wi-Fi协议的示例可包括(但不限于)电气和电子工程师协会(IEEE)802.11g、IEEE802.11n等。蜂窝协议的示例可包括(但不限于):IEEE802.16m(也称为无线MAN(城域网)高级、长期演进(LTE)高级)、增强数据率的GSM(全球移动通信***)演进(EDGE)、演进高速分组接入(HSPA+)等。有线协议的示例可包括(但不限于):IEEE802.3(也称为以太网)、光纤信道、电力线通信(例如,HomePlug、IEEE1901等)等。要理解,以上只是一些示意性示例,本公开主题不限于这些示例。
根据本公开主题的信息处理***400还可包括用户接口单元450(例如,显示适配器、触觉接口、人界面装置等)。在各种实施例中,这个用户接口单元450可被构造成从用户接收输入和/或将输出提供给用户。可使用其它种类的装置来提供与用户的交互,例如,提供给用户的反馈可以是传感器反馈(例如,视觉反馈、听觉反馈或触觉反馈)中的任一形式,可按任何形式(包括声音、语音或触觉输入)接收用户的输入。
在各种实施例中,信息处理***400可包括一个或多个其它装置或硬件组件460(例如,显示器或监视器、键盘、鼠标、相机、指纹读取器、视频处理器等)。要理解,以上只是一些示意性示例,本公开主题不限于这些示例。
根据本公开主题的信息处理***400还可包括一条或多条***总线405。在这种实施例中,***总线405可被构造成通信地结合处理器410、易失性存储器420、非易失性存储器430、网络接口440、用户接口单元450和一个或多个硬件组件460。被处理器410处理的数据或从非易失性存储器430的外部输入的数据可被存储在非易失性存储器430或易失性存储器420中。
在各种实施例中,信息处理***400可包括或执行一个或多个软件组件470。在一些实施例中,软件组件470可包括操作***(OS)和/或应用。在一些实施例中,OS可被构造成向应用提供一个或多个服务并且管理或充当该应用和信息处理***400的各种硬件组件(例如,处理器410、网络接口440等)之间的中介物。在这种实施例中,信息处理***400可包括一个或多个本机应用,这些本机应用可被本地安装(例如,安装在非易失性存储器430等内)并且被构造成直接由处理器410执行并且执行与OS的交互。在这种实施例中,本机应用可包括预先编译的机器可执行代码。在一些实施例中,本机应用可包括被构造成将源代码或对象代码翻译成接着由处理器410执行的可执行代码的脚本翻译器(例如,Cshell(csh)、AppleScript、AutoHotkey等)或虚拟执行机(VM)(例如,Java虚拟机、微软通用语言运行库等)。
可使用各种封装技术包封上述的半导体器件。例如,可使用叠层封装(POP)技术、球栅阵列(BGA)技术、芯片级封装(CSP)技术、带引线的塑料芯片载体(PLCC)技术、塑料双列直插封装(PDIP)技术、窝伏尔封装件中的晶粒、晶圆形式中的晶粒技术、板上芯片(COB)技术、陶瓷双列直插封装(CERDIP)技术、塑料公制四方扁平封装(PMQFP)技术、塑料四方扁平封装(PQFP)技术、小外形封装(SOIC)技术、缩小外形封装(SSOP)技术,薄型小外形封装(TSOP)技术、薄型四方扁平封装(TQFP)技术,封装内***(SIP)技术、多芯片封装(MCP)技术、晶圆级构造封装(WFP)技术、晶圆级处理堆叠封装(WSP)技术、或本领域的技术人员将已知的其它技术中的任一种来包封根据公开主题的原理构造的半导体器件。
可通过一个或多个可编程处理器执行方法步骤,这些可编程处理器执行计算机程序,以通过对输入数据进行操作并且产生输出来执行功能。还可通过专用逻辑电路(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))执行方法步骤或者可将设备实现为专用逻辑电路(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))。
在各种实施例中,计算机可读介质可包括当执行时致使装置执行方法步骤的至少一部分的指令。在一些实施例中,计算机可读介质可被包括在磁性介质、光学介质、其它介质或其组合(例如,CD-ROM、硬驱动器、只读存储器、闪存驱动器等)中。在这种实施例中,计算机可读介质可以是有形且非暂态实施的制造制品。
虽然已经参照示例实施例描述了本公开主题的原理,但本领域的技术人员应该清楚,可在不脱离这些公开公司的精神和范围的情况下,对其进行各种改变和修改。因此,应该理解,以上实施例并非限制,而只是示意性的。因此,本公开构思的范围将通过所附权利要求书及其等同物的最广可允许释意来确定的,并且不应该受以上描述的约束或限制。因此,要理解,所附的权利要求书旨在涵盖落入实施例的范围内的所有这种修改和变化。

Claims (18)

1.一种调节时钟偏斜的方法,所述方法包括:
接收电路模型,该电路模型包括至少部分地被时钟网控制的逻辑电路,其中,时钟网通过将各个时钟信号输入到各个逻辑电路的端点来至少部分控制每个逻辑电路;
通过以下步骤向电路模型提供增量延时调节:
确定作为调节各个端点的时钟偏斜调度的候选项的一个或多个端点,
对于与负前余量关联的每个端点,按量化量调节各个端点的时钟偏斜调度,直至达到最大推阈值,
对于与负后余量关联的每个端点,按量化量调节关联的各个端点的时钟偏斜调度,直至最大拉阈值,
将向电路模型提供增量时序更新的步骤重复多次;
经由动态时序验证、静态时序分析或这二者,执行对电路模型的时序评估。
2.根据权利要求1所述的方法,其中,向电路模型提供增量时序更新的步骤包括:通过用单独的步骤调节与负前余量关联的端点并调节与负后余量关联的端点,来避免端点之间的推/拉调节时钟延时冲突。
3.根据权利要求1所述的方法,其中,调节各个端点的时钟偏斜的步骤包括:
在调节端点的时钟偏斜调度之后临时估计与端点关联的新余量,而不执行动态时序验证、静态时序分析或这二者;
其中,重复向电路模型提供增量时序更新的步骤包括:基于临时估计的新余量来确定作为调节候选项的端点。
4.根据权利要求1所述的方法,其中,调节与负前余量关联的各个端点的时钟偏斜调度的步骤包括:
在针对每个端点调节时钟偏斜调度之后,不执行单独的时序更新,
其中,向电路模型提供增量时序更新的步骤包括:
在调节与负前余量关联的每个端点的时钟偏斜的步骤之后,但在调节与负后余量关联的每个端点的时钟余量之前,重新评估电路模型中的每个端点的余量。
5.根据权利要求1所述的方法,其中,对于与负后余量关联的每个端点,按量化量调节与负后余量关联的各个端点的时钟偏斜调度的步骤包括:
如果前余量和后余量都是负的,则调节时钟偏斜调度,以至少部分均衡量化步长大小内的前余量和后余量。
6.根据权利要求1所述的方法,其中,将向电路模型提供增量时序更新的步骤重复多次的步骤包括:
在多个流水线阶段内,有效执行时钟余量的多阶段前瞻调度。
7.根据权利要求1所述的方法,其中,调节时钟偏斜调度的量化量是与偏斜缓冲器电路关联的延迟,
其中,最大推阈值小于最大拉阈值。
8.根据权利要求1所述的方法,其中,将向电路模型提供增量时序更新的步骤重复多次的步骤包括:
将有用的偏斜调度与物理合成优化共同优化,以在时序收敛方向上重新组织电路模型。
9.根据权利要求1所述的方法,其中,确定作为调节相应端点的时钟偏斜调度候选项的一个或多个端点的步骤包括:
将端点分类成一个或至少两个类别,其中,所述至少两个类别包括拉候选项和推候选项。
10.根据权利要求1所述的方法,其中,向电路模型提供增量时序更新的步骤包括:
经由选择针对偏斜的余量阈值和最大推/拉极限,来选择最差负余量和总负余量之间的优选项。
11.根据权利要求1所述的方法,其中,调节时钟偏斜调度的步骤包括按电力恢复方式调节时钟偏斜调度。
12.根据权利要求1所述的方法,其中,为了建立减小而调节时钟偏斜调度包括以保持获知的方式来调节时钟偏斜调度。
13.根据权利要求1所述的方法,其中,调节时钟偏斜调度的步骤包括:调节时钟偏斜调度以进行保持减小。
14.根据权利要求13所述的方法,其中,调节时钟偏斜调度的步骤包括:以建立获知方式为了保持减小而进行调度。
15.一种用于调节数字电路的时钟偏斜调度的计算机程序产品,所述计算机程序产品被有形实施在计算机可读介质上并且包括可执行代码,可执行代码被构造成在被执行时使数据处理设备:
接收电路模型,该电路模型包括至少部分受时钟网控制的逻辑电路,其中,时钟网通过将各个时钟信号输入各个逻辑电路的端点来至少部分控制每个逻辑电路;
通过以下步骤向电路模型提供增量时序更新:
确定与大于最小余量阈值的绝对余量的量关联的一个或多个端点,
对于与负前余量关联的每个端点,按量化量调节与负前余量关联的各个端点的时钟偏斜调度,直至达到最大推阈值,
对于与负后余量关联的每个端点,按量化量调节与负后余量关联的各个端点的时钟偏斜调度,直至达到最大拉阈值。
16.根据权利要求15所述的计算机程序产品,其中,可执行代码被构造为在被执行时使数据处理设备:
在针对各个端点调节时钟偏斜调度之后,不执行单独的时序更新。
17.一种用于调节时钟偏斜的***,包括:
数据处理设备;
存储器,存储有计算机可执行代码,
其中,所述计算机可执行代码被构造为被执行时使所述数据处理设备:
接收电路模型,该电路模型包括至少部分受时钟网控制的逻辑电路,其中,时钟网通过将各个时钟信号输入各个逻辑电路的端点来至少部分控制每个逻辑电路;
通过以下步骤向电路模型提供增量时序更新:
确定与大于最小余量阈值的绝对余量的量关联的一个或多个端点,
对于与负前余量关联的每个端点,按量化量调节与负前余量关联的各个端点的时钟偏斜调度,直至达到最大推阈值,
对于与负后余量关联的每个端点,按量化量调节与负后余量关联的各个端点的时钟偏斜调度,直至达到最大拉阈值。
18.一种用于调节时钟偏斜的设备,包括:
数字电路接收器,被构造为存储数字电路模型,该数字电路模型包括多个逻辑电路和被构造为将时钟信号提供个所述多个逻辑电路的时钟网的模型,所述多个逻辑电路中的每个逻辑电路至少部分受施加到其一个或多个端点的时钟信号所控制;
调节候选识别器,被构造为将一个或多个端点识别为拉候选项或推候选项;
时钟拉调度器,被构造为对于每个拉候选项,将通向各个端点的时钟信号的时钟延时减小第一量化量;
时钟推调度器,被构造成对于每个推候选项,将通向各个端点的时钟信号的时钟延时增大第二量化量;
时序模型发生器,被构造为在时钟拉调度器处理了数字电路模型和/或时钟推调度器处理了数字电路模型之后更新数字电路的时序模型,
其中,数字电路模型的时钟时序经过调节候选识别器、时钟拉调度器、时钟推调度器和时序模型发生器的多次操作而被增量调节。
CN201510701438.7A 2014-10-27 2015-10-26 调节时钟偏斜的方法、***和设备 Active CN105553448B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201462069278P 2014-10-27 2014-10-27
US201462069276P 2014-10-27 2014-10-27
US62/069,278 2014-10-27
US62/069,276 2014-10-27
US14/814,495 US9571074B2 (en) 2014-10-27 2015-07-30 Efficient skew scheduling methodology for performance and low power of a clock-mesh implementation
US14/814,495 2015-07-30

Publications (2)

Publication Number Publication Date
CN105553448A true CN105553448A (zh) 2016-05-04
CN105553448B CN105553448B (zh) 2020-09-22

Family

ID=55698704

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510701438.7A Active CN105553448B (zh) 2014-10-27 2015-10-26 调节时钟偏斜的方法、***和设备

Country Status (4)

Country Link
US (1) US9571074B2 (zh)
KR (1) KR102413712B1 (zh)
CN (1) CN105553448B (zh)
DE (1) DE102015117511A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106125822A (zh) * 2016-06-23 2016-11-16 中国电子科技集团公司第五十八研究所 一种降低长时钟走线上时钟偏斜的方法
CN106788353A (zh) * 2016-11-18 2017-05-31 深圳市紫光同创电子有限公司 一种时钟偏斜纠正方法及电路、终端设备
CN111835335A (zh) * 2020-05-26 2020-10-27 上海安路信息科技有限公司 现场可编程门阵列的时钟结构及其调整方法
CN112632887A (zh) * 2020-12-18 2021-04-09 展讯通信(上海)有限公司 存储器的时钟延时调整方法及装置、存储介质、终端
CN114818595A (zh) * 2022-06-24 2022-07-29 飞腾信息技术有限公司 芯片模块接口时钟构建方法、装置、存储介质及电子设备

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180006653A1 (en) * 2016-06-29 2018-01-04 Altera Corporation Integrated circuits with hybrid fixed/configurable clock networks
US10423743B2 (en) * 2016-11-15 2019-09-24 Synopsys, Inc. Context-dependent useful skew estimation for optimization, placement, and clock tree synthesis
CN106815657B (zh) * 2017-01-05 2020-08-14 国网福建省电力有限公司 一种考虑时序性和可靠性的配电网双层规划方法
US10048316B1 (en) 2017-04-20 2018-08-14 Qualcomm Incorporated Estimating timing slack with an endpoint criticality sensor circuit
US10755009B1 (en) 2017-04-20 2020-08-25 Synopsys, Inc. Optimization after allocating potential slacks to clock arrival times
US10289795B1 (en) * 2017-08-22 2019-05-14 Cadence Design Systems, Inc. Routing tree topology generation
US10445265B2 (en) * 2017-10-20 2019-10-15 Cisco Technology, Inc. Method and apparatus for deskewing decentralized data streams
US11829769B2 (en) * 2018-12-18 2023-11-28 Northwestern University Instruction driven dynamic clock management for deep pipeline and out-of-order operation of microprocessor using on-chip critical path messenger and elastic pipeline clocking

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6550045B1 (en) * 2001-11-20 2003-04-15 Lsi Logic Corporation Changing clock delays in an integrated circuit for skew optimization
CN101038602A (zh) * 2007-04-19 2007-09-19 复旦大学 一种工艺参数变化下成品率驱动的时钟偏差安排方法
US20100262941A1 (en) * 2009-04-09 2010-10-14 Lsi Corporation Automated Timing Optimization
CN103324774A (zh) * 2012-12-29 2013-09-25 东南大学 一种基于时钟规划偏差算法的处理器性能优化方法
CN103914297A (zh) * 2013-01-04 2014-07-09 阿尔特拉公司 适于考虑重新定时的可编程器件配置方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0830655A (ja) * 1994-07-19 1996-02-02 Matsushita Electric Ind Co Ltd 半導体装置の同期回路レイアウト設計方法
JP2001338985A (ja) 1999-09-20 2001-12-07 Matsushita Electric Ind Co Ltd クロック回路及びその設計方法
US7296246B1 (en) 2003-11-05 2007-11-13 Cadence Design Systems, Inc. Multi-domain clock skew scheduling
US7937604B2 (en) 2007-04-19 2011-05-03 International Business Machines Corporation Method for generating a skew schedule for a clock distribution network containing gating elements
US8539413B1 (en) 2010-04-27 2013-09-17 Applied Micro Circuits Corporation Frequency optimization using useful skew timing
US20140176215A1 (en) * 2012-12-21 2014-06-26 Samsung Electronics Co., Ltd. Method of implementing clock skew and integrated circuit adopting the same

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6550045B1 (en) * 2001-11-20 2003-04-15 Lsi Logic Corporation Changing clock delays in an integrated circuit for skew optimization
CN101038602A (zh) * 2007-04-19 2007-09-19 复旦大学 一种工艺参数变化下成品率驱动的时钟偏差安排方法
US20100262941A1 (en) * 2009-04-09 2010-10-14 Lsi Corporation Automated Timing Optimization
CN103324774A (zh) * 2012-12-29 2013-09-25 东南大学 一种基于时钟规划偏差算法的处理器性能优化方法
CN103914297A (zh) * 2013-01-04 2014-07-09 阿尔特拉公司 适于考虑重新定时的可编程器件配置方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106125822A (zh) * 2016-06-23 2016-11-16 中国电子科技集团公司第五十八研究所 一种降低长时钟走线上时钟偏斜的方法
CN106125822B (zh) * 2016-06-23 2019-02-15 中国电子科技集团公司第五十八研究所 一种降低长时钟走线上时钟偏斜的方法
CN106788353A (zh) * 2016-11-18 2017-05-31 深圳市紫光同创电子有限公司 一种时钟偏斜纠正方法及电路、终端设备
CN111835335A (zh) * 2020-05-26 2020-10-27 上海安路信息科技有限公司 现场可编程门阵列的时钟结构及其调整方法
CN111835335B (zh) * 2020-05-26 2021-06-04 上海安路信息科技股份有限公司 现场可编程门阵列的时钟结构及其调整方法
CN112632887A (zh) * 2020-12-18 2021-04-09 展讯通信(上海)有限公司 存储器的时钟延时调整方法及装置、存储介质、终端
CN114818595A (zh) * 2022-06-24 2022-07-29 飞腾信息技术有限公司 芯片模块接口时钟构建方法、装置、存储介质及电子设备
CN114818595B (zh) * 2022-06-24 2022-09-13 飞腾信息技术有限公司 芯片模块接口时钟构建方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
KR20160049465A (ko) 2016-05-09
US20160118966A1 (en) 2016-04-28
KR102413712B1 (ko) 2022-06-27
CN105553448B (zh) 2020-09-22
US9571074B2 (en) 2017-02-14
DE102015117511A1 (de) 2016-04-28

Similar Documents

Publication Publication Date Title
CN105553448A (zh) 调节时钟偏斜的方法、***和设备
US20240143396A1 (en) Controlling operation of a gpu
US20240118924A1 (en) Controlling scheduling of a gpu
US10037394B1 (en) Hierarchical timing analysis for multi-instance blocks
Parsan et al. Gate mapping automation for asynchronous NULL convention logic circuits
US10169501B1 (en) Timing context generation with multi-instance blocks for hierarchical analysis
US8719763B1 (en) Frequency selection with selective voltage binning
US11475194B1 (en) Multi-PVT frequency prediction (multi-PVT FP) for statically timed designs through statistical regression
CN109597648A (zh) 处理指令的装置和方法
US10380287B1 (en) Systems and methods for modifying a balanced clock structure
US9779201B2 (en) Low power minimal disruptive method to implement large quantity push and pull useful-skew schedules with enabling circuits in a clock-mesh based design
US10796066B1 (en) Power aware resizing of clock tree instances
Ciccazzo et al. Derivative-free robust optimization for circuit design
CN103136162B (zh) Asic片内云架构及基于该架构的设计方法
US10248750B2 (en) Power savings method in a clock mesh-based design through a smart decloning technique
Wu et al. Asynchronous circuit placement by lagrangian relaxation
US10095821B1 (en) Transistor level low power verification for mixed signal circuit design
TWI834856B (zh) 時脈閘控鎖存設備以及時脈閘控鎖存系統
CN107403025A (zh) 使用深亚微米应力效应和邻近效应来产生高性能标准单元
US10572621B1 (en) Physical synthesis within placement
Wang et al. Variation-aware resource sharing and binding in behavioral synthesis
Nawrot et al. Synthesis of energy-efficient FSMs implemented in PLD circuits
US20150213179A1 (en) Leakage power reduction in integrated circuits by selective removal and/or sizing of switch cells
Xie et al. Computation reduction for statistical analysis of the effect of nano-CMOS variability on asynchronous circuits
Roy et al. An optimal algorithm for sizing sequential circuits for industrial library based designs

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant