CN104008222B - 设定谐振时钟分布***中的开关大小和转变型式 - Google Patents

设定谐振时钟分布***中的开关大小和转变型式 Download PDF

Info

Publication number
CN104008222B
CN104008222B CN201410059321.9A CN201410059321A CN104008222B CN 104008222 B CN104008222 B CN 104008222B CN 201410059321 A CN201410059321 A CN 201410059321A CN 104008222 B CN104008222 B CN 104008222B
Authority
CN
China
Prior art keywords
resonance
switch
control circuit
clock
clock control
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.)
Expired - Fee Related
Application number
CN201410059321.9A
Other languages
English (en)
Other versions
CN104008222A (zh
Inventor
J·D·希伯勒
W·R·雷赫尔
P·J·雷斯特尔
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.)
Core Usa Second LLC
GlobalFoundries Inc
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN104008222A publication Critical patent/CN104008222A/zh
Application granted granted Critical
Publication of CN104008222B publication Critical patent/CN104008222B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • G06F30/343Logical level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • 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/396Clock trees
    • 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/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/06Power analysis or power optimisation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K2005/00013Delay, i.e. output pulse is delayed after input pulse and pulse length of output pulse is dependent on pulse length of input pulse
    • H03K2005/0015Layout of the delay element
    • H03K2005/00195Layout of the delay element using FET's

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Power Sources (AREA)

Abstract

本申请涉及设定谐振时钟分布***中的开关大小和转变型式。具体而言,提供了回收利用时钟分布网络中的能量。一种方法包括创建包括时钟网格的谐振钟控电路。该方法还包括提供分布在时钟网格中的多个谐振结构。该方法还包括提供控制谐振结构在非谐振模式和谐振模式之间切换的开关。该方法还包括通过以下步骤确定最小化谐振钟控电路的功率消耗的开关大小:迭代地增大开关的大小,并且对于大小的每次迭代增大,确定谐振钟控电路消耗的功率。

Description

设定谐振时钟分布***中的开关大小和转变型式
技术领域
本发明涉及集成电路中的时钟分布,更具体而言涉及降低集成电路中的时钟分布***消耗的功率。
背景技术
集成电路(大规模、超大规模等等,包括片上***(SOC)配置)采用一个或多个主(即,基本)时钟信号来同步逻辑操作。时钟分布***将主时钟信号从周期性信号的源分布到电路目的地节点。为了同步集成电路的操作,时钟分布***被设计成使得集成电路内的每个目的地节点处的时钟转变(即,上升沿和/或下降沿)基本同时发生。然而,由于时钟分布***的物理特征(例如,与源的距离和组件的性能差异),在不同节点处发生时钟信号的差异。这些时钟信号差异被称为“偏差”(skew)。如果时钟分布***的设计导致超过集成电路的设计的定时要求所允许的裕量的偏差,则集成电路可能不会如期望那样工作。
另外,时钟分布***消耗集成电路的总***功率的一大部分。谐振钟控(resonantclocking)是通过利用包含在时钟分布***中的耦合LC(电感和电容)振荡器电路回收利用能量来降低驱动时钟分布***所需的功率的技术。谐振钟控***的振荡被调谐到特定的频率。这样,以不同频率操作的集成电路(例如处理器)必须能够使能和禁能谐振钟控。
发明内容
在本发明的第一方面中,有一种用于提供谐振钟控电路的方法,包括创建包括时钟网格的谐振钟控电路。该方法还包括提供分布在时钟网格中的多个谐振结构。该方法还包括提供与谐振结构相对应的开关,每个开关控制谐振结构中的相应一个在非谐振模式和谐振模式之间切换。该方法还包括通过以下步骤确定最小化谐振钟控电路的功率消耗的开关大小:迭代地增大开关各自的大小,并且对于大小的每次迭代增大,确定谐振钟控电路消耗的功率。
在本发明的另一方面中,有一种用于提供谐振钟控电路的***,包括计算机设备,该计算机设备包括处理器和设计工具,被构造并布置为对谐振钟控电路建模,该谐振钟控电路包括谐振结构,谐振结构具有相应的开关,开关控制谐振结构在非谐振模式和谐振模式之间切换。计算机设备还被布置为在迭代地增大开关的大小的同时确定在有开关的情况下操作的谐振钟控电路所消耗的功率。
在本发明的另一方面中,有一种用于提供谐振钟控电路的方法,包括创建时钟网格,该时钟网格包括分布在该时钟网格中的谐振结构。该方法还包括提供可编程开关,可编程开关在非谐振模式和谐振模式之间切换谐振结构中的相应一个,每个可编程开关可被控制为逐步地激励谐振结构中的相应一个。该方法还包括确定用于控制可编程开关逐步地激励谐振结构的转变型式。
在本发明的另一方面中,有一种用于提供谐振钟控电路的***,包括计算机设备,该计算机设备包括处理器和设计工具,被构造并布置为对谐振钟控电路建模,该谐振钟控电路包括谐振结构,谐振结构具有相应的开关,开关控制谐振结构在非谐振模式和谐振模式之间切换。计算机设备还被布置为确定用于激活开关在非谐振模式和谐振模式之间逐步地切换谐振结构的转变型式。
在本发明的另一方面中,有一种用于提供包括谐振钟控电路的集成电路的计算机程序产品,该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质包含有程序代码,该程序代码可被计算机设备的处理器读取和/或执行来提供由时钟网格构成的谐振钟控电路,时钟网格包括分布在时钟网格的相应区段中的谐振结构,谐振结构具有控制谐振结构在非谐振模式和谐振模式之间切换的相应开关。另外,程序代码可被计算机设备的处理器读取和/或执行来确定在经由多个开关中的相应一个取消激活第一谐振结构时谐振钟控电路的性能参数。另外,当谐振钟控电路的性能参数在预定的设计约束以外时,程序代码可被计算机设备的处理器读取和/或执行来在与包括第一谐振结构的第一区段相对应的修复信息记录中存储第一值。第一值指出为了谐振钟控电路在谐振模式中操作,第一区段必须正常工作。另外,当谐振钟控电路的性能参数在预定的设计约束以内时,程序代码可被计算机设备的处理器读取和/或执行来在与包括第一谐振结构的第一区段相对应的修复信息记录中存储第二值。第二值指出为了谐振钟控电路在谐振模式中操作,第一区段不是必须要正常工作。
在本发明的另一方面中,提供了一种有形地包含在机器可读存储介质中的用于设计、制造或测试集成电路的设计结构。该设计结构包括本发明的结构。在另外的实施例中,编码在机器可读数据存储介质上的硬件描述语言(HDL)设计结构包括当在计算机辅助设计***中被处理时生成用于回收利用时钟分布网络中的能量的电路的机器可执行表示的元素,该电路包括本发明的结构。在另外的实施例中,提供了计算机辅助设计***中的一种方法,用于生成用于回收利用时钟分布网络中的能量的电路的功能设计模型。该方法包括生成用于回收利用时钟分布网络中的能量的电路的结构元素的功能表示。
附图说明
在接下来的详细描述中参考提到的多幅附图利用本发明的示范性实施例的非限制性示例来描述本发明。
图1示出了用于实现根据本发明各方面的设计和步骤的例示性环境;
图2示出了示范性时钟分布电路的框图;
图3示出了根据本发明各方面的谐振钟控电路的电路图;
图4A示出了根据本发明各方面的用于确定谐振结构中的开关的大小的示范性过程的流程图;
图4B是图示出根据本发明各方面的谐振结构在谐振模式中花费的时间的比率与谐振结构中的开关的大小之间的示范性比较的曲线图;
图5A示出了根据本发明各方面的用于确定非谐振钟控与谐振钟控之间的转变型式的示范性过程的流程图;
图5B示出了根据本发明各方面的用于实现递增转变的示范性开关;
图5C描绘了根据本发明实施例的用于实现递增转变的示范性开关器件;
图5D示出了图示根据本发明各方面的示范性转变方案的曲线图;
图6示出了根据本发明各方面的用于修改谐振使能开关的栅极电压的示范性过程的流程图;
图7A示出了根据本发明各方面的用于选择性地禁能谐振钟控电路的区段的过程的流程图;
图7B示出了图示根据本发明各方面的用于谐振钟控电路的示范性修复可能性表的数据结构;
图8示出了根据本发明各方面的用于选择性地调谐谐振钟控电路的频率的示范性过程的流程图;并且
图9示出了半导体设计、制造和/或测试中使用的设计过程的流程图。
具体实施方式
本发明涉及集成电路中的时钟分布,更具体而言涉及降低集成电路中的时钟分布***消耗的功率。本发明的实施例提供了一种芯片和一种自动化芯片设计过程,用于在时钟分布***中实现谐振钟控。本发明的各方面提供了一种包括谐振结构的时钟分布***,谐振结构具有开关,开关选择性地使能和禁能谐振结构,从而得到两种操作模式:谐振模式和非谐振模式。另外,本发明的各方面减小了谐振使能/禁能开关的面积和功率开销。另外,本发明的各方面确定一种转变型式,其将时钟分布***从非谐振模式转变到谐振模式,而对时钟周期没有显著的干扰。另外,本发明的各方面修改选择性地使能和禁能时钟分布***的谐振结构的谐振使能/禁能开关的供给电压以最小化谐振使能/禁能开关的面积开销。此外,本发明的各方面使用谐振使能/禁能开关来选择性地禁能时钟分布***中的谐振结构,同时时钟分布***在没有一些被禁能的谐振结构的情况下在谐振模式中操作。
所属技术领域的技术人员知道,本发明的各个方面可以实现为***、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“***”。此外,在一些实施例中,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照根据本发明实施例的方法、装置(***)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
也可以把计算机程序指令加载到计算机、其他可编程数据处理装置或其他设备上以使得一系列操作步骤在该计算机、其他可编程装置或其他设备上被执行来产生计算机实现的过程,使得在该计算机或其他可编程装置上执行的指令提供用于实现流程图和/或方框图的一个或多个方框中指定的功能/动作的过程。
图1是用于实现根据本发明各方面的步骤的例示性环境10。在这种程度上,环境10包括可执行本文描述的过程的服务器或其他计算基础设施12。具体地,计算基础设施12包括计算设备14。计算设备14可驻留在网络基础设施或第三方服务提供商的计算设备上(图1中概括表示了其中任一个)。
计算设备14还包括处理器20、存储器22A、I/O接口24和总线26。存储器22A可包括在程序代码的实际执行期间采用的本地存储器、大容量存储装置以及缓存存储器,缓存存储器提供对至少一些程序代码的临时存储以便减少在执行期间必须从大容量存储装置取回代码的次数。此外,计算设备包括随机访问存储器(RAM)、只读存储器(ROM)和操作***(O/S)。
计算设备14与外部I/O设备28和存储***22B通信。例如,I/O设备28可包括任何使得个体能够与计算设备14交互的设备(例如,用户界面)或者任何使得计算设备14能够利用任何类型的通信链路与一个或多个其他计算设备通信的设备。外部I/O设备/资源28例如可以是手持设备、PDA、手机、键盘,等等。
一般地,处理器20执行可存储在存储器22A和/或存储***22B中的计算机程序代码(例如,程序控件44)。另外,根据本发明的各方面,程序控件44控制执行根据本发明各方面的过程和步骤的一个或多个模块,包括设计模块105、开关大小设定模块110、转变型式模块112、栅极电压模块114、区段禁能模块116和频率调谐模块118。这些模块可作为单独的或组合的模块实现为存储器22A中存储的程序控件44中的一组或多组程序代码。此外,这些模块可实现为单独的专用处理器或者单个或若干个处理器以提供这些工具的功能。
在执行计算机程序代码的同时,处理器20可向/从存储器22A、存储***22B和/或I/O接口24读取和/或写入数据。程序代码执行本发明的过程,例如设计模块105、开关大小设定模块110、转变型式模块112、栅极电压模块114、区段禁能模块116和频率调谐模块118。另外,向/从存储器22A、存储***22B和/或I/O接口24读取和/或写入的数据可包括IC设计120、元件定义122、开关大小设定信息124、转变型式信息126、栅极电压信息128、区段禁能信息130和频率调谐信息132。总线26提供计算设备14中的每个组件之间的通信链路。
根据本发明的各方面,设计模块105是存储在例如存储器22A和/或存储***22B中的计算机程序代码,其在被处理器20执行时使得计算设备14对IC设计120的各方面进行建模和仿真。设计模块105可包括一个或多个软件或硬件模块,用于利用诸如VERILOG或VHDL之类的硬件描述语言对IC设计进行设计、建模、仿真和验证。例如,设计模块105可以是读入设计定义(例如VHDL)、物理面积约束、定时约束、功率约束、设计库信息、合成规则和操作条件的合成/布置CAD工具。利用这些各种参数,设计模块105可为IC设计中的元件迭代地确定布局。所确定的布局和关联的信息可被计算设备14存储在存储***22B中作为IC设计120。此外,基于布局信息、关于定时和功率的规则(例如,要求、约束和裕量)、元件模型和/或操作条件,设计模块105可部分或全部地对IC设计120的操作进行建模和仿真。例如,设计模块105可基于IC设计120的模型来仿真谐振钟控***的操作,包括其定时和功率消耗。
根据本发明的各方面,设计模块105可与开关大小设定模块110、转变型式模块112、栅极电压模块114、区段禁能模块116和频率调谐模块118结合使用。如下文更详细描述的,开关大小设定模块110确定使能/禁能谐振结构的开关的大小。转变型式模块112确定非谐振钟控与谐振钟控之间的转变型式。栅极电压模块114修改谐振使能开关的栅极电压。区段禁能模块116选择性地禁能时钟分布***网络的区段。频率调谐模块118选择性地调谐时钟分布***网络的区段中的组件以实现期望的谐振频率。
计算设备14可包括任何能够执行安装在其上的计算机程序代码的通用计算制品(例如,个人计算机、服务器,等等)。然而,要理解,计算设备14只是代表了可执行本文描述的过程的各种可能的等同计算设备。在这种程度上,在实施例中,由计算设备14提供的功能可由包括通用和/或专用硬件和/或计算机程序代码的任何组合的计算制品实现。在每个实施例中,可分别利用标准的编程和工程技术来创建程序代码和硬件。
类似地,计算基础设施12只是例示了用于实现本发明的各种类型的计算机基础设施。例如,在实施例中,计算基础设施12包括两个或更多个计算设备(例如,服务器集群),它们通过诸如网络、共享存储器等等之类的任何类型的通信链路通信以执行本文描述的过程。另外,在执行本文描述的过程的同时,计算基础设施12上的一个或多个计算设备可利用任何类型的通信链路与计算基础设施12外部的一个或多个其他计算设备通信。通信链路可包括有线和/或无线链路的任何组合;一种或多种类型的网络(例如,因特网、广域网、局域网、虚拟专用网,等等)的任何组合;和/或利用传输技术和协议的任何组合。
图2示出了包括示范性时钟分布***205的集成电路200的图。时钟分布***205可用于例如向集成电路200内的器件215分布时钟信号。时钟分布***205包括主时钟210、缓冲器树220、时钟网格230以及逻辑时钟缓冲器和锁存器240。主时钟210是生成用于集成电路的同步逻辑的周期性时钟信号的器件,该时钟信号通过时钟分布***205被分布到器件215。在实现中,主时钟210可包括生成时钟信号的锁相环(即PLL)。
缓冲器树220把由主时钟210提供的时钟信号分布到时钟网格230。缓冲器树220包括按层级布置的数个缓冲器(例如,重新提供动力的缓冲器)。例如,第一层级的缓冲器,例如主缓冲器222,扇出到一个或多个次级缓冲器,例如缓冲器224,然后到最终层级的叶缓冲器,例如叶缓冲器226。叶缓冲器226向时钟网格230提供时钟信号。时钟网格230的每个矩形部分形成时钟信号的一个区段,该区段可被视为一个单元。在时钟网格230的节点,例如节点235,本地时钟缓冲器和锁存器240从时钟网格230接收时钟信号并将时钟信号分布到器件,例如器件215。通过此布置,时钟分布***205以最小的偏差将时钟信号分布到集成电路的器件。
图3示出了示范性谐振钟控电路300的图。谐振钟控电路300包括时钟分布***205和谐振结构305。如上所述,时钟分布***205包括主时钟210、缓冲器树(例如,包括缓冲器222、224、226的缓冲器树220)和时钟网格230的节点235。此外,谐振结构305包括形成谐振LC电路的电容器312、314和电感器316,该谐振LC电路连接到供给电压VDD并经由节点235连接到图2的时钟网格230。
谐振钟控电路300利用包括电容器312、314和电感器316的耦合LC(电感和电容)振荡器电路提供谐振钟控。电感器316回收利用功率来用于对集成电路200的器件215进行钟控。为了例示起见,图3只图示了单个谐振结构305。然而,时钟网格230包括许多这样的谐振结构。在实施例中,谐振结构305的一个或多个实例均匀分布在时钟网格230的每个区段D11…D34的各处。虽然图3只例如示出了区段D11…D34,但应当理解,区段的数目不限于这个区段数目,而是可以包括多得多的区段。
根据本发明的各方面,谐振结构305包括开关318。谐振使能信号320激活/取消激活开关318,开关318进而又通过包括/排除谐振所必需的LC电路的电容器312、314来使能/禁能谐振结构305。虽然在图3中只对于谐振结构305示出,但应当理解,时钟网格230中的每个谐振结构可包括这种开关318来用于接收相应的谐振使能信号320,使得时钟网格230的每个矩形区段包含至少一个相应的开关318。可从例如处理器(例如处理器20)向谐振钟控电路300中的每个谐振结构305提供谐振使能信号320。
图4A是根据本发明各方面的用于确定谐振结构(例如谐振结构305)中的开关(例如开关318)的大小的示范性过程的流程图。在谐振模式期间(即,当谐振结构被激活时),当开关活动时(例如由谐振使能信号320激活),更大的开关在谐振结构(例如谐振结构305)中提供更小的电阻。更低的电阻增大谐振钟控结构的效率,这增大了谐振钟控电路(例如谐振钟控电路300)提供的功率节省。
在实现中,开关是一个或多个场效应晶体管(FET)。通过增大形成开关的FET的大小和/或通过并联链接数个FET,可以使开关的大小更大。然而,使用更大和/或更多的FET增加了非谐振模式期间(当它们未被接通时)时钟分布***中的功率消耗,因为即使当开关未用于谐振钟控时,连接到时钟分布***(例如时钟分布***205)的FET漏极/源极端子仍被充电。换言之,FET漏极/源极端子的寄生电容汲取额外的功率。另外,更大的FET也消耗了额外的硅面积。
根据本发明的各方面,确定一个或多个谐振结构(例如谐振结构305)中的开关(例如开关218)的大小以最大化从谐振钟控电路(谐振钟控电路300)得到的整体功率节省。参考图4A,在步骤405,开关大小设定模块(例如,由计算设备14执行的开关大小设定模块110)确定可用于谐振结构中的开关的最大面积开销。最大面积开销可基于开关所需的硅面积和将开关连接到时钟网格(例如网格230)所需的配线资源来确定。例如,利用电子计算机辅助设计(ECAD)应用(例如设计模块105)和集成电路的组件的模型(例如元件定义122)对集成电路设计(例如IC设计120)的元件的布局建模,可确定开关中的器件所需的集成电路芯片的硅面积和连接开关所需的配线资源。
在步骤410,开关大小设定模块获得开关的初始面积和非谐振功率开销。开关大小设定模块可从预定的设计标准(例如,IC设计120和元件定义122)和/或从来自设计工程师的输入(例如,经由由开关大小设定模块110提供的计算机-用户界面)获得此信息。例如,初始FET电感器面积和非谐振功率开销可以是1%硅面积和非谐振模式中的5%功率。
在步骤413,开关大小设定模块利用越来越大的开关对集成电路(例如IC设计120)的不同版本迭代地建模。在实施例中,开关大小设定模块可使用在集成电路的设计的预定设计裕量内(即,在IC设计120中定义的非谐振模式中的面积阈值和功率阈值内)的更大开关。在实施例中,开关大小设定模块自动地从预定的一组开关中选择更大的开关。或者,设计工程师可选择更大的开关并且将这些选择提供给开关大小设定模块(例如,经由由开关大小设定模块110提供的计算机-用户界面)。
在步骤415,对于开关大小的每次迭代,开关大小设定模块确定谐振模式中的功率节省。例如,对于更大开关大小的每次迭代,开关大小设定模块可以对包括谐振结构的谐振模式中的集成电路的操作进行仿真,并且确定与步骤410的初始开关大小相比的功率节省(或损耗)。开关大小设定模块可以记录描述开关大小和相应功率节省的信息(例如,作为存储***22B中的开关大小信息124)。
在步骤417,开关大小设定模块选择在谐振模式中提供最大功率节省的一个或多个开关大小。在实施例中,开关大小设定模块可比较在步骤415确定的每个开关的功率节省信息并且选择如下一组开关:该组开关具有与初始选择的开关大小相比在谐振中提供最大功率节省的大小。例如,开关大小设定模块可选择相对于初始开关大小被确定为消耗最少功率的一组五个开关。或者,设计工程师可审查存储的功率节省信息并选择提供最大功率节省的开关。对开关的选择可被存储来供将来参考(例如,存储为开关大小设定信息124)。
在步骤419,开关大小设定模块确定在非谐振模式中用于每个所选开关的功率量。例如,对于在步骤417中选择的开关中的一些或全部,开关大小设定模块可对集成电路的操作进行仿真并且确定在非谐振模式操作中使用的功率。为每个所选开关确定的非谐振模式功率操作可被存储来供将来参考和分析(例如,存储在开关大小设定信息中)。如上所述,在非谐振模式中,由于为开关中的每个FET对连接到时钟网络的FET节点充电的开销,更大的开关消耗更多的功率。从而,在非谐振模式中可以使用在谐振模式中从更大的开关获得的功率节省中的一些。这样,谐振模式操作中的功率节省与非谐振模式中的功率损耗之间的平衡可基于预期特定的谐振结构在任一模式中要操作多少时间来确定。
在步骤421,开关大小设定模块选择来自步骤419的在操作条件下提供最大功率节省的开关。在实现中,操作条件是预期集成电路在谐振模式中操作的时间百分比(例如45%),并且开关大小设定模块选择具有最大化整体功率降低的大小的开关。计算设备可从预定的设计标准(例如IC设计120)和/或从来自设计工程师的输入(例如,经由设计模块的计算机-用户界面)获得操作条件信息。预期集成电路在谐振模式中操作的时间百分比可基于在类似类型的芯片中使用的时钟分布***的历史信息或基于使用类似类型的芯片的***的预期工作负荷的历史信息。
图4B是根据本发明的各方面对于谐振结构中的各种开关大小图示出在谐振模式中花费的时间的比率(x轴)与开关中的FET的大小(y轴)之间的示范性比较的曲线图。从图4B可见,开关大小设定模块可以为在谐振模式中花费更大量时间的集成电路在开关(例如开关318)中选择更大的FET,因为更大的FET在谐振模式期间在连接到时钟分布***的LC电路中提供更小的电阻,从而提供更高效的集成电路。相反,对于在谐振模式中花费相对较少量时间的集成电路,开关大小设定模块可选择更小的开关,因为更小的开关在非谐振模式中具有更低的寄生电容。
图5A是根据本发明各方面的用于确定非谐振钟控与谐振钟控之间的转变型式的示范性过程的流程图。在实施例中,逐步执行从非谐振模式到谐振模式的转变以确保对时钟信号的周期的干扰最小化。在实现中,转变型式是通过优化步阶的持续时间(例如缩短或增长)来确定的,这对应于在谐振和非谐振模式之间的转变期间将谐振能量包括到时钟分布***中或从时钟分布***中去除谐振能量。
根据本发明的各方面,转变型式由每个谐振结构(例如谐振结构305)中的开关(例如开关318)控制,其中这些开关可被控制来逐步地允许更多或更少电流。在实现中,开关包括并联连接的数个FET,使得在开关内逐步激活每个额外的FET将递增地增大为谐振结构馈给的FET的源极和漏极之间的总能量流动。在这种实现中,转变型式中包括的转变增量(即步阶)的数目可基于谐振结构的开关中包括的FET的数目、控制集成电路内的每个转变增量所需的布线资源以及每个个体转变增量对应的整个开关大小的百分比。例如,转变型式由利用可编程开关实现的从不导通状态到完全导通状态的逐渐转变构成。
参考图5A,在步骤505,转变型式模块(例如,由计算设备14执行的转变型式模块112)获得包括谐振钟控电路(例如谐振钟控电路300)的集成电路(例如集成电路200)能够容忍的最大周期缩短或周期增长值。在实现中,转变型式模块可从用于集成电路设计(例如IC设计120)的预定设计参数取回最大周期缩短/增长值。集成电路设计可包括定时约束,其中包括预期时钟周期和从预期时钟周期的允许偏离量。例如,如果预期时钟周期是250皮秒(ps),则时钟周期的4%缩短对应于10ps。或者,设计工程师可向转变型式模块提供最大周期缩短或周期增长值(例如,经由由转变型式模块112提供的计算机-用户界面)。
在步骤510,转变型式模块确定谐振结构(例如谐振结构305)的关断状态与接通状态之间可能的转变数目。在实现中,该转变数目对应于可编程开关(例如开关318)中包括的增量(即步阶)。转变型式模块可从描述开关的信息(例如,在步骤421确定的开关大小设定信息124)和/或从来自设计工程师的输入(例如,经由转变型式模块的计算机-用户界面)获得此信息。例如,开关可包括八个FET,它们可由控制器(例如处理器20)分别激活以在转变型式中提供八个离散步阶。
在步骤515,转变型式模块获得可用于完成转变型式的总转变时间。此总转变时间是对***的约束并且是由设计工程师设定的。总转变时间的值可预先确定并存储在设计规格(例如IC设计120)中。
在步骤520,转变型式模块确定每个转变增量的长度。在实现中,转变型式模块通过用总转变时间(来自步骤515)除以总转变数目(来自步骤510)来为每个增量确定初始转变长度。从而,在使用具有数个FET的开关的实现中,每个转变增量的长度对应于开关中的FET的总数。
在步骤525,转变型式模块最小化转变时间。在实施例中,转变型式模块通过在确保所有步阶的周期缩短和增长保持在步骤505中确定的值以下的同时设定转变型式的每个增量,来优化转变型式以最小化总转变时间。每步阶(向谐振模式中的转变)的最优宽度优选随着时间超线性地增长。这样,每个相继的增量均匀地将谐振能量引入到网格中,这最小化了任何一个增量中的时钟干扰。
转变型式模块确定在非谐振模式与谐振模式之间(即,从谐振模式到非谐振模式,或者从非谐振模式到谐振模式)改变所需的总时间。在实施例中,转变型式模块使在转变型式的步阶数上转变最大值的缩短最大化。或者,转变型式模块最小化总转变时间和总周期缩短/增长或最大周期缩短/增长两者。
在步骤530,转变型式模块记录所确定的转变型式。例如,转变型式可被记录为转变型式信息(例如转变型式信息126)。可以向根据包括谐振钟控电路(例如谐振钟控电路300)的设计(例如IC设计120)产生的集成电路(例如集成电路200)提供转变型式信息的拷贝以用于控制谐振与非谐振模式之间的切换。例如,集成电路可以是包括存储所确定的转变型式信息的拷贝的非易失性存储器的片上***。
图5B示出了根据本发明各方面的用于实现递增转变的示范性开关540。在实施例中,开关540包括一个或多个FET542。描述物理大小(即,芯片面积)、性能特性(例如源极-漏极电阻)和约束(例如电压容差阈值)的信息可被存储在一个或多个FET模型中(例如作为元件定义122存储在存储***22B中)。FET542的栅极可由集成电路(例如集成电路200)中包括的控制器分别控制以根据所确定的转变型式信息激活每个FET542。开关中包括的FET542的数目可受开关540的大小所限制,如上文联系图4A和4B所述。例如,图5B中的开关具有七个FET542。开关540可用作图3中的开关318。
图5C描绘了根据本发明实施例的用于实现递增转变的示范性开关器件545。开关器件545包括多个步阶,例如步阶1410、1420、1430、1440、1450、1460。在步阶1410中,反相器1413接收谐振模式(RES_MODE)信号,并且反相器1414接收使能(EN_1)信号。或门1411接收反相的谐振模式信号和反相的使能信号作为输入并将其输出提供到开关组件1415中的PFET的栅极。与门1412接收谐振模式信号和使能信号并将输出提供到开关组件1415中的NFET的栅极。
如果谐振模式信号被取消断言(低)并且使能信号EN_1被取消断言(低),则或门1411的输出为高并且与门1412的输出为低,在此情况下开关组件1415的PFET和NFET两者都处于关断状态。如果谐振模式信号被取消断言(低)并且使能信号EN_1被断言(高),则或门1411的输出为高并且与门1412的输出为低,在此情况下开关组件1415的PFET和NFET两者都处于关断状态。如果谐振模式信号被断言(高)并且使能信号EN_1被取消断言(低),则或门1411的输出为高并且与门1412的输出为低,在此情况下开关组件1415的PFET和NFET两者都处于关断状态。如果谐振模式信号被断言并且使能信号EN_1被断言,则或门1411的输出为低并且与门1412的输出为高,在此情况下开关组件1415的PFET和NFET两者都处于接通状态。从而,当谐振模式信号被断言并且使能信号EN_1被断言时,开关组件1415被接通。
当步阶1410接通开关组件1415时,电流经过电感器1402(与电感器316类似)和开关组件1415流入时钟网格(例如时钟网格230)中。可以按类似的方式控制步阶1420、1430、1440、1450、1460。从而,控制逻辑(例如,来自区段禁能模块116或区段禁能模块116)可通过断言使能信号EN_1,EN_2,EN_3…EN_16来递增地接通开关器件545。开关器件545的接通因此是完全可编程的。随着控制逻辑使能每个步阶(例如,步阶1410、1420、1430、1440、1450和1460),开关器件545的导通性增大并且电阻减小。值得注意的是,步阶1410、1420、1430、1440、1450和1460具有1、2、4、8、16和32的大小。例如,步阶1410具有等于1的步长,步阶1420具有等于2的步长,步阶1430具有等于4的步长,步阶1440具有等于8的步长,步阶1450具有等于16的步长,并且步阶1460具有等于32的步长。这些大小是示范性的,并且对于步阶中的一个或多个可以使用其他大小。
图5D是图示根据本发明各方面的示范性转变方案的曲线图。图示的转变型式可表示如图5A中所述由转变型式模块在步骤530记录的那个。曲线图的x轴表示时间。y轴表示谐振结构的开关中被接通的FET占总数的百分比,其中“0.2”表示开关被部分接通,“1”表示开关被完全接通。图5D中绘出的线550描绘了在不同时间接通的总FET的百分比。接通的FET的百分比对应于当开关中的FET被激活时开关的导通率。
图5B、5C和5D是示范性的,而本发明的实施例不限于这些示例中例示的特定开关或转变型式。不同的开关可添加不同量的导通率并且具有不同的转变型式。另外,图5A、5B、5C和5D描述了一种数字实施例,其中通过递增地添加FET来增大开关携带的功率。然而,本发明的实施例可改为是模拟的,其中随着时间的流逝连续地增大单个FET的栅极电压。
图6是根据本发明实施例的用于修改谐振使能开关的栅极电压的示范性过程的流程图。在集成电路面积的使用中的更高面积效率可通过在谐振结构(例如谐振结构305)中使用更小的开关(例如开关318)和高于标称供给电压(例如VDD)的栅极电压来实现。这是可能的,因为当开关完全接通(例如FET被激活)并且其电容器(例如电容器312、314)被充电时,源极和漏极处的电压基本上保持为开关的供给电压的值的一半(例如VDD/2)。从而,在开关的栅极上可维持更高的电压,而不超过开关的关于栅极到源极或栅极到漏极电势的可靠性容差。这样,在开关是场效应晶体管(FET)的实现方式中,可向FET的栅极提供大于供给电压的电压(即,谐振使能信号的电压大于VDD)。向栅极施加增大的电压进而允许了使用具有比较大的FET的电流携带能力的更小FET。因此,本发明的实现方式增大了FET的大小,而不超过空间限制(即,芯片面积阈值)并且不超过非谐振模式中的功率阈值。
参考图6,在步骤605,栅极电压模块(例如,由计算设备14执行的栅极电压模块114)为谐振模式开关确定初始栅极电压(例如VDD)。在步骤610,栅极电压模块为开关确定最大电压容差。栅极电压模块可根据预定的设计标准(例如IC设计120)、开关的FET的预定器件信息(例如,在元件定义122中)和/或根据来自设计工程师的输入(例如,经由栅极电压模块的计算机-用户界面)来确定此信息。例如,FET栅极电压的基于可靠性的容差(例如,关于SOI的)可被规定为Vgate–Vsource/drain。
在步骤615,栅极电压模块为开关选择大于在步骤605确定的供给电压并且小于在步骤610确定的最大电压容差的栅极电压。栅极电压模块可根据预定的设计标准(例如,存储在元件定义122中)和/或根据来自设计工程师的输入(例如,经由设计模块的计算机-用户界面)来选择栅极电压。所选择的栅极电压值可被存储为栅极电压信息(例如,存储在栅极电压信息128中)。基于所确定的栅极电压信息,可以修改集成电路设计(例如IC设计120)信息以向开关提供所选的电压。在实施例中,利用电荷泵或类似的电路来提供开关的栅极处的增大的电压。
图7A是根据本发明各方面的用于选择性地禁能谐振钟控电路的区段的示范性过程的流程图。由于制造差异和/或缺陷,集成电路中的谐振结构中的一些可能不是像设计的那样工作。例如,一些电容器(例如电容器312、314)可能被形成地有缺陷,结果,它们作为其一部分的谐振结构(例如谐振结构305)可能不会适当地工作。然而,因为根据本发明的各方面,谐振结构可分布在整个集成电路各处,所以集成电路包括冗余的谐振结构。因此,失去一些个体谐振结构是可容忍的。即使如此,负载的差异也会使整个谐振钟控电路的一些区段比其他区段对这种缺陷更敏感。因此,在节点(例如节点235)处可发生偏差、回转(slew)或周期压缩并且导致谐振钟控电路的故障。例如,本地负载的差别可使得谐振模式中的时钟电路对于特定的电感器和电容器对的存在尤其敏感。如果谐振电路内的这些电容器在集成电路被制造出来以后被发现是有缺陷的,则为了安全的操作,不应当在谐振模式中操作集成电路。
根据本发明的各方面,针对个体谐振结构(例如谐振结构305)分析时钟分布***(例如时钟分布***205)的敏感性以确定任何特定谐振结构的失去是否会损害集成电路在谐振模式中运行的能力。如果任何这种个体谐振结构确实存在并且随后在硬件测试期间被发现有缺陷,则集成电路被识别为不能在谐振模式中运行。
参考图7A,在步骤705,对于时钟网格(例如时钟网格230)的每个区段(例如,D11…D34),区段禁能模块(例如,由计算设备14执行的区段禁能模块116)取消激活该区段中的谐振电路(在每个区段有多于一个谐振电路的情况下)。例如,区段禁能模块可控制谐振使能/禁能开关(例如开关318)以取消激活所选的谐振结构(例如,区段D11中的谐振结构305)。
在步骤708,区段禁能模块确定当在所选区段被取消激活的情况下操作时时钟分布***的性能。在实现中,性能的参数包括偏差、回转、周期压缩。所确定的参数可与所选区段的标识符相关联地被存储为区段禁能信息(例如,作为区段禁能信息130存储在存储***22B中)。区段禁能模块可确定在谐振模式中稳态执行时和从非谐振模式转变到谐振模式以及从谐振模式转变到非谐振模式时的时钟分布***的性能参数。此评估可通过对集成电路设计(例如IC设计120)的仿真来执行或者通过对例如集成电路的硬件测试来执行。
在步骤711,区段禁能模块确定在步骤708确定的性能(例如,偏差、回转和/或周期压缩)是否在设计约束内。在实施例中,区段禁能模块将区段禁能信息中存储的性能参数与集成电路设计(例如IC设计120)中包括的相应约束相比较。如果确定性能参数违反了集成电路的设计参数的约束,则在步骤714,关于被取消激活的区段的信息被记录在区段禁能信息中的修复可能性的表格(即,“修复可能性表”)中,指出被取消激活的区段必须正常工作。例如,如果确定性能在设计约束之外,则在步骤714,区段禁能模块在修复可能性表中为该区段记录“0”。
如果确定性能参数没有违反集成电路的设计参数的约束,则在步骤717,在区段禁能信息中的修复可能性表中记录信息,指出被取消激活的区段不是必须要正常工作。例如,如果确定性能在设计约束内,则在步骤717,区段禁能模块在修复可能性表中为该区段记录“1”。在步骤720,区段禁能模块确定是否为谐振钟控电路的所有区段(例如,D11…D34)完成了步骤705…717。如果否,则过程返回到步骤705并且对于下一个未测试的区段重复。
在步骤725,区段禁能模块确定在谐振钟控电路内是否存在故障谐振结构。例如,对集成电路的台架测试可确定特定谐振结构中的一电容器由于制造缺陷而没有适当地充电和/或放电。如果集成电路不包括故障谐振结构,则在步骤726,区段禁能模块与该集成电路相关联地记录信息,指出可在谐振模式中操作该特定集成电路。
如果确定在集成电路中有故障谐振电路,则在步骤728,基于在步骤714和717中记录的评估信息来确定是否可能修复。如果关于包括故障谐振电路的区段的相应信息指出该区段不是必须要正常工作(例如,在修复可能性表的相应单元中记录了“1”),则在步骤726,区段禁能模块与集成电路相关联地记录指出可在谐振模式中操作该特定集成电路的信息。否则,如果关于包括故障谐振结构的区段的相应信息指出区段必须正常工作(例如,在修复可能性表的相应单元中记录了“0”),则在步骤730,区段禁能模块与集成电路相关联地记录指出不应当在谐振模式中操作该特定集成电路的信息。
图7B是图示根据本发明各方面的谐振钟控电路的示范性修复可能性表700的数据结构。在实现中,修复可能性表700是单元的矩阵,其中每个单元对应于谐振钟控电路(例如谐振钟控电路300)的时钟网格(例如时钟网格305)的一个区段。每个单元中存储的值指出相应区段中的(一个或多个)谐振结构是否必须正常工作(例如“0”或“1”)。修复可能性表700被描绘为单元的矩阵,然而,本发明的实现方式不限于此示例,而也可改为使用其他结构(例如,将每个区段映射到相应的修复可能性值的2xN表格)。例如,表700指出,当从谐振操作中禁能区段D23和D31(其包含0)时,不能在谐振模式中安全地操作集成电路。
图8是根据本发明各方面的用于选择性地调谐谐振钟控电路(例如谐振钟控电路300)的频率的示范性过程的流程图。谐振频率作为电容(C)和电感(L)的乘积的平方根的倒数变化。因此,如果谐振LC回路中的电容器(例如电容器312、314)和电感器(例如电感器316)是并联布置的,就像它们在例如图3中所示的谐振电路中那样,则更少的电感器和电容器导致更大的C和L,并从而导致更低的谐振频率。在给定的一组电感器和电容器和时钟网格(例如时钟网格230)上的负载的情况下,本发明的各方面禁能所选的谐振结构(例如谐振结构305),并从而改变时钟网格的谐振频率以提高在特定操作频率下谐振钟控电路的功率效率。例如,可以选择性地使能谐振电路的特定集合或型式(例如“棋盘”型式)以提高特定操作频率下谐振钟控电路的功率效率。
参考图8,在步骤805,频率调谐模块(例如,由计算设备14执行的频率调谐模块118)取消激活时钟网格(例如时钟网格230)的所选区段(例如区段D11…D34)。在实现中,作为初始方案,频率调谐模块以某种型式取消激活时钟网格的预定区段。例如,初始方案可以以棋盘型式取消激活区段。预定的区段(或区段型式)可被存储在频率调谐信息(例如,存储***22B中存储的频率调谐信息132)中。
在步骤807,频率调谐模块确定在所选区段被取消激活的情况下谐振钟控电路的谐振频率。对于由取消激活的区段引起的谐振频率的确定可通过利用例如ECAD应用(例如设计模块105)对集成电路进行仿真来进行。额外地或替换地,对于由取消激活的区段引起的谐振频率的确定可通过对制造的集成电路的硬件测试来进行。
在步骤810,频率调谐模块确定取消激活的区段是否导致期望的时钟频率。频率调谐模块可从预定的设计信息(例如IC设计120)获得期望的时钟频率,或者此信息可存储在频率调谐信息中。或者,设计工程师可提供期望的时钟频率(例如,经由由频率调谐模块提供的计算机-用户界面)。
如果在步骤810,频率调谐模块确定时钟网格的当前取消激活的区段导致谐振钟控电路在与期望频率基本相同的谐振频率下操作,则在步骤815,描述当前取消激活的区段的信息被记录在频率调谐信息中。此信息可被处理器(例如处理器20)用于控制所选结构中的开关(例如开关318)并从而控制集成电路在由频率调谐模块确定的谐振频率下工作。
如果在步骤810,频率调谐模块确定时钟网格的当前取消激活的区段没有导致谐振钟控电路在与期望频率基本相同的谐振频率下操作,则在步骤817,频率调谐模块修改先前在步骤805取消激活的区段并且过程迭代地返回到步骤807。在实现中,修改区段包括迭代地使能或禁能先前的被取消激活的区段的集合中的区段中的一个或多个。或者,修改区段包括选择不同的预定区段型式,其与先前选择的型式具有被取消激活的区段的不同密度。
图9是根据本发明各方面的半导体设计、制造和/或测试中使用的设计过程的流程图。图9示出了用在例如半导体IC逻辑设计、仿真、测试、布局和制造中的示范性设计流程900的框图。设计流程900包括用于处理设计结构或器件以生成上文描述和图2、3、和5B中示出的设计结构和/或器件的在逻辑上或以其他方式在功能上等同的表示的过程、机器和/或机制。由设计流程900处理和/或生成的设计结构可被编码在机器可读传输或存储介质上以包括数据和/或指令,所述数据和/或指令当在数据处理***上被执行或以其他方式处理时生成硬件组件、电路、器件或***的在逻辑上、结构上、机械上或以其他方式在功能上等同的表示。机器包括但不限于在IC设计过程——例如设计、制造或仿真电路、组件、器件或***——中使用的任何机器。例如,机器可包括:光刻机器、用于生成掩模的机器和/或装备(例如,电子束写入器)、用于仿真设计结构的计算机或装备、制造或测试过程中使用的任何装置、或者用于将设计结构的功能上等同的表示编程到任何介质中的任何机器(例如,用于对可编程门阵列编程的机器)。
设计流程900可依据所设计的表示的类型而变化。例如,用于构建专用IC(ASIC)的设计流程900可不同于用于设计标准组件的设计流程900或者不同于用于将设计具现化到可编程阵列中的设计流程900,其中可编程阵列例如是由Inc.或Inc.提供的可编程门阵列(PGA)或现场可编程门阵列(FPGA)。
图9图示了多个这种设计结构,其中包括优选由设计过程910处理的输入设计结构920。设计结构920可以是由设计过程910生成和处理来产生硬件器件的逻辑上等同的功能表示的逻辑仿真设计结构。设计结构920可以额外或替换地包括在被设计过程910处理时生成硬件器件的物理结构的功能表示的数据和/或程序指令。无论是表示功能还是结构设计特征,设计结构920都可利用例如由核开发者/设计者实现的电子计算机辅助设计(ECAD)来生成。当被编码在机器可读数据传输、门阵列或存储介质上时,设计结构920可被设计过程910内的一个或多个硬件和/或软件模块访问和处理以仿真或以其他方式从功能上表示电子组件、电路、电子或逻辑模块、装置、器件或***,例如图2、3和5B中所示的那些。这样,设计结构920可包括文件或其他数据结构,其中包括人类和/或机器可读源代码、编译的结构和计算机可执行代码结构,它们在被设计或仿真数据处理***所处理时从功能上仿真或以其他方式表示电路或其他级别的硬件逻辑设计。这种数据结构可包括硬件描述语言(HDL)设计实体或者符合和/或兼容诸如Verilog和VHDL之类的更低级别HDL设计语言和/或诸如C或C++之类的更高级别设计语言的其他数据结构。
设计过程910优选采用并包含硬件和/或软件模块,用于合成、转化或以其他方式处理图2、3和5B中所示的组件、电路、器件或逻辑结构的设计/仿真功能等同物,以生成可包含诸如设计结构920之类的设计结构的网表980。网表980例如可包括编译的或以其他方式处理的数据结构,这些数据结构表示导线、分立组件、逻辑门、控制电路、I/O器件、模型等等的列表,该列表描述了与集成电路设计中的其他元件和电路的连接。网表980可利用迭代过程来合成,其中依据器件的设计规格和参数,网表980被再合成一次或多次。与本文描述的其他设计结构类型一样,网表980可被记录在机器可读数据存储介质上或编程到可编程门阵列中。介质可以是非易失性存储介质,例如磁盘或光盘驱动器、可编程门阵列、紧凑式闪存或其他闪存存储器。额外地,或者替换地,介质可以是***或缓存存储器、缓冲器空间或者导电或导光的器件和材料,数据包可经由因特网或其他适于联网的手段在这些器件和材料上传输并立即被存储。
设计过程910可包括用于处理包括网表980在内的多种输入数据结构类型的硬件和软件模块。这种数据结构类型可驻留在例如库元件930内并且包括一组常用的元件、电路和器件,其中包括模型、布局和符号表示,用于给定的制造技术(例如,不同的技术节点、32nm、45nm、90nm,等等)。数据结构类型还可包括设计规格940、表征数据950、验证数据960、设计规则970和测试数据文件985,测试数据文件985可包括输入测试型式、输出测试型式和其他测试信息。设计过程910还可包括例如标准机械设计过程,比如应力分析、热分析、机械事件仿真、对于诸如浇铸、模塑、模具冲压成型等等之类的操作的过程仿真。机械设计领域的普通技术人员可以明白在不脱离本发明的范围和精神的情况下在设计过程910中使用的可能机械设计工具和应用的程度。设计过程910还可包括用于执行诸如定时分析、验证、设计规则检查、布置和布线操作等等之类的标准电路设计过程的模块。
设计过程910采用并包含诸如HDL编译器和仿真模型构建工具之类的逻辑和物理设计工具来将设计结构920与所描绘的支持数据结构中的一些或全部一起连同任何额外的机械设计或数据(如果适用的话)来加以处理,以生成第二设计结构990。
设计结构990以用于机械器件和结构的数据交换的数据格式驻留在存储介质或可编程门阵列上(例如,以IGES、DXF、Parasolid XT、JT、DRG或者任何其他用于存储或渲染这种机械设计结构的适当格式存储的信息)。与设计结构920类似,设计结构990优选包括一个或多个文件、数据结构或其他计算机编码的数据或指令,它们驻留在传输或数据存储介质上,并且当被ECAD***处理时生成图2、3和5B中示出的本发明的一个或多个实施例的在逻辑上或以其他方式在功能上等同的形式。在一个实施例中,设计结构990可包括在功能上仿真图2、3和5B中所示的器件的经编译的可执行HDL仿真模型。
设计结构990也可采用用于集成电路的布局数据交换的数据格式和/或符号数据格式(例如,以GDSII(GDS2)、GL1、OASIS、映射文件或者任何其他用于存储这种设计数据结构的适当格式存储的信息)。设计结构990可包括诸如以下信息:符号数据、映射文件、测试数据文件、设计内容文件、制造数据、布局参数、导线、金属级别、过孔、形状、用于按某种路径经过制造线的数据、以及制造者或其他设计者/开发者为了产生如上文所述和图2、3和5B中所示的器件或结构而需要的任何其他数据。设计结构990随后可前往阶段995,在该处,例如,设计结构990:前往流片,被释放到制造,被释放到掩模公司,被发送到另一设计公司,被发送回客户,等等。
如上所述的方法用于集成电路芯片的制作。所得到的集成电路芯片可被制作者以空白晶片的形式发行(即,作为具有多个未封装芯片的单个晶片)、作为裸片发行或者以封装形式发行。在后一种情况下,芯片被安装在单芯片封装中(例如塑料载体,具有附接到主板或其他更高级载体的引线)或安装在多芯片封装中(例如陶瓷载体,其具有表面互连或隐埋互连中的任一者或两者)。在任何情况下,芯片随后与其他芯片、分立电路元件和/或其他信号处理器件集成为(a)中间产品(例如主板)或(b)最终产品的一部分。最终产品可以是包括集成电路芯片的任何产品,从玩具和其他低端应用到具有显示器、键盘或其他输入设备和中央处理器的高级计算机产品不等。
对本发明的各种实施例的描述是为了例示而给出的,但并不打算是穷尽的或者限于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,本领域普通技术人员将清楚许多修改和变化。选择本文使用的术语是为了最好地说明实施例的原理、实际应用或者相对于市场中存在的技术的技术改进,或者使得本领域普通技术人员能够理解本文公开的实施例。

Claims (29)

1.一种用于提供谐振钟控电路的方法,包括:
创建包括时钟网格的谐振钟控电路;
提供分布在所述时钟网格中的多个谐振结构;
提供与所述多个谐振结构相对应的多个开关,所述多个开关中的每一个控制所述多个谐振结构中的相应一个在非谐振模式和谐振模式之间切换;以及
通过以下步骤确定最小化所述谐振钟控电路的功率消耗的开关大小:
迭代地增大所述多个开关各自的大小;以及
对于大小的每次迭代增大,确定所述谐振钟控电路消耗的功率。
2.如权利要求1所述的方法,其中,确定所述谐振钟控电路消耗的功率是基于预期所述谐振钟控电路在谐振模式和非谐振模式中操作的时间量的。
3.如权利要求1所述的方法,其中,所述多个开关中的每一个是由一个或多个场效应晶体管构成的可编程开关。
4.如权利要求3所述的方法,还包括:
确定提供给所述一个或多个场效应晶体管的初始栅极电压;
确定所述一个或多个场效应晶体管的最大电压容差;以及
选择提供给所述一个或多个场效应晶体管的修改后栅极电压,所述修改后栅极电压大于所述初始栅极电压并且小于所述一个或多个场效应晶体管的最大电压容差。
5.如权利要求1所述的方法,还包括:
利用所述多个开关中的相应一个来取消激活所述多个谐振结构中的第一谐振结构;
确定当在所述第一谐振结构被取消激活的情况下操作时所述谐振钟控电路的性能不在设计约束以内;以及
记录指出为了所述谐振钟控电路在谐振模式中操作所述第一谐振结构必须正常工作的信息。
6.如权利要求1所述的方法,还包括:
利用所述多个开关取消激活所述多个谐振结构中的所选一组谐振结构;
确定当在所述所选一组谐振结构被取消激活的情况下操作时所述谐振钟控电路的谐振频率;以及
基于对于所确定的谐振频率不匹配预定频率的确定,迭代地修改所述所选一组谐振结构。
7.一种用于提供谐振钟控电路的***,包括:
计算机设备,包括处理器和设计工具,被构造并布置为:
对谐振钟控电路建模,所述谐振钟控电路包括多个谐振结构,所述多个谐振结构具有相应的多个开关,所述多个开关控制所述多个谐振结构在非谐振模式和谐振模式之间切换;以及
在迭代地增大所述多个开关的大小的同时确定在有所述多个开关的情况下操作的所述谐振钟控电路所消耗的功率。
8.如权利要求7所述的***,还包括基于确定包括某一开关大小的所述谐振钟控电路消耗最少功率而选择该开关大小。
9.如权利要求7所述的***,其中,所述多个开关中的每一个是由一个或多个场效应晶体管构成的。
10.如权利要求9所述的***,其中,所述计算机设备还被布置为:
确定提供给所述一个或多个场效应晶体管的初始栅极电压;
确定所述一个或多个场效应晶体管的最大电压容差;以及
选择提供给所述一个或多个场效应晶体管的修改后栅极电压,所述修改后栅极电压大于所述初始栅极电压并且小于所述一个或多个场效应晶体管的最大电压容差。
11.如权利要求7所述的***,其中,所述计算机设备还被布置为:
利用所述多个开关中的相应一个来取消激活所述多个谐振结构中的第一谐振结构;
确定当在所述第一谐振结构被取消激活的情况下操作时所述谐振钟控电路的性能不在设计约束以内;以及
记录指出为了所述谐振钟控电路在谐振模式中操作所述第一谐振结构必须正常工作的信息。
12.如权利要求7所述的***,其中,所述计算机设备还被布置为:
利用所述开关取消激活所述多个谐振结构中的所选一组谐振结构;
确定当在所述所选一组谐振结构被取消激活的情况下操作时所述谐振钟控电路的谐振频率;以及
基于对于所确定的谐振频率不匹配预定频率的确定,迭代地修改所述所选一组谐振结构。
13.一种用于提供谐振钟控电路的方法,包括:
创建时钟网格,所述时钟网格包括分布在所述时钟网格中的多个谐振结构;
提供多个可编程开关,所述多个可编程开关在非谐振模式和谐振模式之间切换所述多个谐振结构中的相应一个,所述多个可编程开关中的每一个可被控制为逐步地激励所述多个谐振结构中的相应一个;以及
确定用于控制所述多个可编程开关逐步地激励所述多个谐振结构的转变型式。
14.如权利要求13所述的方法,其中
所述多个开关包括数个增量,每个增量向所述多个谐振结构中的相应一个提供能量;并且
所述转变型式包括与所述数个增量相对应的数个转变。
15.如权利要求14所述的方法,其中,确定所述转变型式包括:
确定在所述谐振模式和所述非谐振模式之间可用的转变的数目;
确定在所述谐振模式和所述非谐振模式之间的转变的总时间;以及
确定在所述谐振模式和所述非谐振模式之间可用的转变中的每一个的长度。
16.如权利要求14所述的方法,还包括最小化所述转变的总时间。
17.如权利要求13所述的方法,其中,创建包括所述多个谐振结构的所述时钟网格包括在所述时钟网格中均匀地分布包括耦合的电感器和电容器的多个振荡器电路。
18.一种用于提供谐振钟控电路的***,包括:
计算机设备,包括处理器和设计工具,被构造并布置为:
对谐振钟控电路建模,所述谐振钟控电路包括多个谐振结构,所述多个谐振结构具有相应的多个开关,所述多个开关控制所述多个谐振结构在非谐振模式和谐振模式之间切换;以及
确定用于激活所述多个开关在所述非谐振模式和所述谐振模式之间逐步地切换所述多个谐振结构的转变型式。
19.如权利要求18所述的***,其中:
所述多个开关中的每一个包括向所述多个谐振结构中的相应一个提供额外能量的数个增量;并且
所述转变型式包括与所述数个增量相对应的数个转变。
20.如权利要求19所述的***,其中,所述增量中的每一个对应于一场效应晶体管。
21.如权利要求18所述的***,其中,所述计算机设备通过以下操作来确定所述转变型式:
确定在所述谐振模式和所述非谐振模式之间可用的转变的数目;
确定在所述谐振模式和所述非谐振模式之间的转变的总时间;以及
确定在所述谐振模式和所述非谐振模式之间可用的转变中的每一个的长度。
22.如权利要求21所述的***,其中,所述计算机设备还通过最小化所述转变的总时间来确定所述转变型式。
23.如权利要求18所述的***,其中:
所述钟控电路包括时钟网格,所述时钟网格包括所述多个谐振结构;
所述谐振结构由包括耦合的电感器和电容器的振荡器电路构成;并且
所述谐振结构均匀地分布在所述时钟网格中。
24.一种用于提供包括谐振钟控电路的集成电路的方法,该方法包括:
提供由时钟网格构成的谐振钟控电路,所述时钟网格包括分布在所述时钟网格的相应区段中的多个谐振结构,所述多个谐振结构具有控制所述多个谐振结构在非谐振模式和谐振模式之间切换的相应多个开关;
确定在经由所述多个开关中的相应一个取消激活所述多个谐振结构中的第一谐振结构时所述谐振钟控电路的一个或多个性能参数;
当所述谐振钟控电路的一个或多个性能参数在预定的设计约束以外时,在与所述多个区段中的包括所述第一谐振结构的第一区段相对应的修复信息记录中存储第一值,该第一值指出为了所述谐振钟控电路在谐振模式中操作,所述第一区段必须正常工作;以及
当所述谐振钟控电路的一个或多个性能参数在所述预定的设计约束以内时,在与所述多个区段中的包括所述第一谐振结构的第一区段相对应的修复信息记录中存储第二值,该第二值指出为了所述谐振钟控电路在谐振模式中操作,所述第一区段不是必须要正常工作。
25.如权利要求24所述的方法,其中,所述一个或多个性能参数包括时钟偏差、时钟回转和周期压缩。
26.如权利要求24所述的方法,其中,所述方法还包括:
确定所述谐振钟控电路包括故障谐振结构;
确定与所述多个区段中包括所述故障谐振结构的相应一个区段相对应的修复信息记录指出所述多个区段中的所述一个区段必须正常工作;以及
与所述集成电路相关联地记录指出不应在谐振模式中操作所述集成电路的信息。
27.如权利要求24所述的方法,其中,所述方法还包括:
确定所述谐振钟控电路包括故障谐振结构;
确定与所述多个区段中包括所述故障谐振结构的相应一个区段相对应的修复信息记录指出所述多个区段中的所述一个区段不是必须要正常工作;以及
与所述集成电路相关联地记录指出可以在谐振模式中操作所述集成电路的信息。
28.如权利要求24所述的方法,其中,所述修复信息记录被存储在包括被映射到所述时钟网格的区段的多个条目的修复可能性表中。
29.一种用于提供包括谐振钟控电路的集成电路的***,包括被配置为执行如权利要求24-28中任何一项的步骤的设备。
CN201410059321.9A 2013-02-22 2014-02-21 设定谐振时钟分布***中的开关大小和转变型式 Expired - Fee Related CN104008222B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US13/773,854 US8887118B2 (en) 2013-02-22 2013-02-22 Setting switch size and transition pattern in a resonant clock distribution system
US13/773,854 2013-02-22
US14/136,651 2013-12-20
US14/136,651 US9268886B2 (en) 2013-02-22 2013-12-20 Setting switch size and transition pattern in a resonant clock distribution system
US14/136,770 2013-12-20
US14/136,770 US8850373B2 (en) 2013-02-22 2013-12-20 Setting switch size and transition pattern in a resonant clock distribution system

Publications (2)

Publication Number Publication Date
CN104008222A CN104008222A (zh) 2014-08-27
CN104008222B true CN104008222B (zh) 2017-11-21

Family

ID=51387525

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410059321.9A Expired - Fee Related CN104008222B (zh) 2013-02-22 2014-02-21 设定谐振时钟分布***中的开关大小和转变型式

Country Status (2)

Country Link
US (3) US8887118B2 (zh)
CN (1) CN104008222B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9542518B2 (en) * 2014-11-17 2017-01-10 Qualcomm Incorporated User experience based management technique for mobile system-on-chips
US9256246B1 (en) * 2015-01-29 2016-02-09 Qualcomm Incorporated Clock skew compensation with adaptive body biasing in three-dimensional (3D) integrated circuits (ICs) (3DICs)
US10423884B2 (en) * 2015-06-04 2019-09-24 The Mathworks, Inc. Extension of model-based design to identify and analyze impact of reliability information on systems and components
US9612614B2 (en) 2015-07-31 2017-04-04 International Business Machines Corporation Pulse-drive resonant clock with on-the-fly mode change
US9634654B2 (en) 2015-08-07 2017-04-25 International Business Machines Corporation Sequenced pulse-width adjustment in a resonant clocking circuit
US9568548B1 (en) 2015-10-14 2017-02-14 International Business Machines Corporation Measurement of signal delays in microprocessor integrated circuits with sub-picosecond accuracy using frequency stepping
US9916409B2 (en) * 2015-12-08 2018-03-13 International Business Machines Corporation Generating a layout for an integrated circuit
US10998854B2 (en) 2017-06-02 2021-05-04 International Business Machines Corporation Resonant clock circuit with magnetic shield
CN109996375B (zh) * 2017-12-29 2023-06-20 联合汽车电子有限公司 转向灯跛行装置
US10796066B1 (en) * 2018-12-20 2020-10-06 Cadence Design Systems, Inc. Power aware resizing of clock tree instances
CN113434007A (zh) * 2020-03-23 2021-09-24 华为技术有限公司 处理器时钟***、时钟***中的子节点电路及电子器件

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101176254A (zh) * 2005-03-21 2008-05-07 麦比乌斯微***公司 分立时钟发生器和/或定时/频率参考
CN100390702C (zh) * 2003-11-24 2008-05-28 国际商业机器公司 谐振树驱动的时钟分配栅格
CN202495917U (zh) * 2012-03-16 2012-10-17 安徽大学 无晶振cmos时钟产生电路

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0572260A (ja) 1991-09-17 1993-03-23 Fuji Xerox Co Ltd 半導体集積回路の静的消費電流測定方法
US5446420A (en) 1993-08-25 1995-08-29 Motorola, Inc. Method and apparatus for reducing jitter and improving testability of an oscillator
US5633805A (en) * 1994-09-30 1997-05-27 Intel Corporation Logic synthesis having two-dimensional sizing progression for selecting gates from cell libraries
DE19638393C1 (de) 1996-09-19 1997-12-11 Siemens Ag Schaltungsanordnung zur Widerstands- und Leckmessung sowie deren Verwendung
JP2979513B2 (ja) 1997-02-19 1999-11-15 ラムトロン・インターナショナル・コーポレーション 通常アクセスを介して不揮発性メモリにおける内部テストモードを制御するためのシステム及び方法
US6242936B1 (en) 1998-08-11 2001-06-05 Texas Instruments Incorporated Circuit for driving conductive line and testing conductive line for current leakage
US6832173B1 (en) 2002-07-30 2004-12-14 Altera Corporation Testing circuit and method for phase-locked loop
US7082580B2 (en) 2003-02-10 2006-07-25 Lsi Logic Corporation Energy recycling in clock distribution networks using on-chip inductors
TWI220694B (en) 2003-04-23 2004-09-01 Toppoly Optoelectronics Corp Pixel measuring method
JP5170086B2 (ja) 2007-04-10 2013-03-27 富士通セミコンダクター株式会社 リーク電流検出回路、ボディバイアス制御回路、半導体装置及び半導体装置の試験方法
JP2013507888A (ja) 2009-10-12 2013-03-04 サイクロス セミコンダクター, インコーポレイテッド 共振クロックネットワークを従来モードで作動させるためのアーキテクチャ
US8120968B2 (en) 2010-02-12 2012-02-21 International Business Machines Corporation High voltage word line driver
US8860425B2 (en) 2012-03-02 2014-10-14 International Business Machines Corporation Defect detection on characteristically capacitive circuit nodes
US8736342B1 (en) 2012-12-19 2014-05-27 International Business Machines Corporation Changing resonant clock modes

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100390702C (zh) * 2003-11-24 2008-05-28 国际商业机器公司 谐振树驱动的时钟分配栅格
CN101176254A (zh) * 2005-03-21 2008-05-07 麦比乌斯微***公司 分立时钟发生器和/或定时/频率参考
CN202495917U (zh) * 2012-03-16 2012-10-17 安徽大学 无晶振cmos时钟产生电路

Also Published As

Publication number Publication date
US8887118B2 (en) 2014-11-11
CN104008222A (zh) 2014-08-27
US9268886B2 (en) 2016-02-23
US20140240021A1 (en) 2014-08-28
US20140245250A1 (en) 2014-08-28
US20140245244A1 (en) 2014-08-28
US8850373B2 (en) 2014-09-30

Similar Documents

Publication Publication Date Title
CN104008222B (zh) 设定谐振时钟分布***中的开关大小和转变型式
USRE44479E1 (en) Method and mechanism for implementing electronic designs having power information specifications background
CN113544688B (zh) 用于设计集成电路的***和方法
CN103678745B (zh) 一种用于fpga的跨平台多层次集成设计***
CN101517576A (zh) 基于软件程序在处理***上的运行而设计asic
US8832626B2 (en) Distributing spare latch circuits in integrated circuit designs
CN104903855B (zh) 用于配置多处理器阵列的方法和设备以及开发***
CN108073762A (zh) 用于利用经延迟的初始化来验证经重定时的电路的方法
CN102741777A (zh) 基于分区的漏电功率优化
US8689170B2 (en) Changing the location of a buffer bay in a netlist
US20170031383A1 (en) Pulse-drive resonant clock with on-the-fly mode change
US10572617B2 (en) System and method for generation of an integrated circuit design
US10684642B2 (en) Adaptive clock mesh wiring
CN107766619A (zh) 对芯片进行fpga原型验证的方法和装置
Wang et al. On the use of bloom filters for defect maps in nanocomputing
KR20230109626A (ko) 하드웨어 설계 컴파일 실패에 대한 자동 순차적 재시도
Mureşan et al. Greedy tree growing heuristics on block-test scheduling under power constraints
CN101339582A (zh) 模拟电路合成方法与相关技术
TWI672001B (zh) 用於對電路元件進行智慧型交換的由電腦實施的方法、以及智慧型元件交換器
Chodacki Genetic algorithm as self-test path and circular self-test path design method
US8825433B2 (en) Automatic generation of valid at-speed structural test (ASST) test groups
Kong et al. Design and synthesis of self-healing memristive circuits for timing resilient processor design
Arumugam et al. A novel PDWC‐UCO algorithm‐based buffer placement in FPGA architecture
JP7083558B2 (ja) 動的内部電源ノードへの供給電圧の提供
Vinco et al. A framework for efficient evaluation and comparison of ees models

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20171124

Address after: Grand Cayman, Cayman Islands

Patentee after: GLOBALFOUNDRIES INC.

Address before: American New York

Patentee before: Core USA second LLC

Effective date of registration: 20171124

Address after: American New York

Patentee after: Core USA second LLC

Address before: American New York

Patentee before: International Business Machines Corp.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20171121

CF01 Termination of patent right due to non-payment of annual fee