CN103970254B - 用于动态电压-频率调节的可旁路钟控存储电路 - Google Patents

用于动态电压-频率调节的可旁路钟控存储电路 Download PDF

Info

Publication number
CN103970254B
CN103970254B CN201410042269.6A CN201410042269A CN103970254B CN 103970254 B CN103970254 B CN 103970254B CN 201410042269 A CN201410042269 A CN 201410042269A CN 103970254 B CN103970254 B CN 103970254B
Authority
CN
China
Prior art keywords
circuit
memory element
clock
bypass
data path
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.)
Active
Application number
CN201410042269.6A
Other languages
English (en)
Other versions
CN103970254A (zh
Inventor
J·C·克劳姆扎克
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.)
Altera Corp
Original Assignee
Altera 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 Altera Corp filed Critical Altera Corp
Publication of CN103970254A publication Critical patent/CN103970254A/zh
Application granted granted Critical
Publication of CN103970254B publication Critical patent/CN103970254B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/0175Coupling arrangements; Interface arrangements
    • 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
    • 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/324Power saving characterised by the action undertaken by lowering clock frequency
    • 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
    • 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/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/1778Structural details for adapting physical parameters
    • H03K19/17792Structural details for adapting physical parameters for operating speed
    • 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)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Logic Circuits (AREA)

Abstract

用于动态电压‑频率调节的可旁路钟控存储电路。提供具有时序逻辑电路的集成电路。时序逻辑电路可以包括耦合在速率关键输入终端和速率关键输出终端之间的可旁路钟控存储元件的链。组合逻辑电路可以插入到链中的每对相邻的可旁路钟控存储元件之间。动态电压‑频率调节(DVFS)控制电路可以向组合逻辑电路提供可调节的电源电压并可以提供可调节的时钟信号以控制钟控存储元件。DVFS控制电路可以用来选择性地使能至少一些可旁路钟控存储元件同时禁能其它可旁路钟控存储元件,使得在维持相同的操作频率的同时减小电源电压。可以对电源电压和时钟信号的频率进行调节以提供期望的电压‑频率平衡。

Description

用于动态电压-频率调节的可旁路钟控存储电路
本申请要求2013年1月30日提交的美国专利申请No.13/754,579的优先权,其全文通过引用合并于此。
背景技术
对数字集成电路在最小化功率消耗的同时以较高的速率运行的需求不断增加。为了在功率消耗和跨各种应用和运行条件的性能之间实现期望的平衡,有时为数字集成电路提供动态电压-频率调节(DVFS)能力。
在常规的动态电压-频率调节方案中,集成电路能够在不同的频率-电压点运行。当需要更高的性能时,可以增加电压来减少门延迟并允许增加计时频率。当期望低功耗时,计时频率被减小以允许电压的减小。根据当前的输入工作量或运行条件的变化,可以将集成电路设置成这些不同的电压-频率状态。
常规的DVFS方案允许集成电路在不连续的电压-频率点处或在连续的电压-频率范围内运行。然而,电压和频率之间的关系在设计时是固定的,并且由特定的电路结构确定。例如,考虑集成电路包含插入在两个触发器电路之间的组合逻辑的情形,其中当利用1.0V的电源电压为组合逻辑供电时,组合逻辑表现出四纳秒的传播延迟。在该示例中,能够运行触发器电路的最大工作频率被限制在250MHz。也就是说,给定电压处的最大工作频率完全由组合逻辑的电路结构确定,并且更具体地由与组合逻辑相关联的延迟确定,无论是组合逻辑的电路结构还是与组合逻辑相关联的延迟都无法在制造之后调节。
发明内容
本发明通常涉及集成电路,更具体地,涉及具有动态电压-频率调节能力的集成电路。可以为集成电路(例如,提供有配置数据的可编程集成电路)提供插入在数据路径中的逻辑电路。该逻辑电路可以包括如可旁路钟控存储元件(有时也被称为可旁路寄存器)的时序逻辑电路和如逻辑延迟元件(例如,逻辑门、可编程互连等)的组合逻辑电路。逻辑延迟元件可以耦合在数据路径中的每对相邻可旁路寄存器之间。
集成电路可以运行在各种电压-频率状态中。在第一状态中,当逻辑电路以给定频率操作时,可以用控制电路来为逻辑电路提供第一电源电压。在第二状态中,当逻辑电路以给定频率操作时,可以用控制电路来为逻辑电路提供第二电源电压。在第一状态期间,可以将第一数量的可旁路寄存器切换至使用,而在第二状态期间,可以将第二数量的可旁路寄存器切换至使用。
也就是说,可以通过选择性地使能数据路径中的适当数量的可旁路寄存器以固定的工作频率执行电压调节。控制电路可以动态地从第一状态切换为第二状态而不必用一组新的配置数据来重新配置集成电路,并且反之亦然。通常,控制电路可以用来通过向组合逻辑电路提供可调节的电源电压以及向时序逻辑电路提供可调节的频率时钟信号而实现动态电压-频率调节功能。
如果需要,集成电路可以支持多线程操作来处理带有反馈环的逻辑电路。特别地,也可以为带有反馈环的逻辑电路提供可旁路寄存器。在不同的多线程模式中,可以使能不同数量的可旁路寄存器来处理来自相应数量的线程的输入信号。通常,将更多的可旁路寄存器切换至使用可以用于以时延为代价使能更低的电压操作(例如,可以通过多线程技术以反馈电路的固定频率执行电压调节)。
根据附图和下文的具体实施方式,本发明的进一步的特征、其本质和各种优势将更加明显。
附图说明
图1是根据本发明实施例的说明性可编程集成电路的图示。
图2是根据本发明的实施例可以利用逻辑设计系统来配置可编程集成电路的说明性系统环境的图示。
图3是根据本发明的实施例用于生成实现可编程集成电路中的定制电路设计的配置数据的逻辑设计系统的图示。
图4是根据本发明的实施例可以在逻辑设计系统中使用的说明性计算机辅助设计(CAD)工具的图示。
图5是根据本发明的实施例用于设计定制逻辑电路及执行时序分析的说明性步骤的流程图。
图6是根据本发明实施例的可旁路钟控存储元件和组合逻辑延迟元件的说明性链的图示。
图7和图8是根据本发明实施例的说明性可旁路钟控存储元件的电路图。
图9A、图9B和图9C是根据本发明的实施例示出被配置为在不同的电压-频率状态中运行的图6的可旁路钟控存储元件和组合逻辑延迟元件的链的图示。
图10是根据本发明的实施例示出次优电压-频率调节配置的图示。
图11是根据本发明的实施例示出最优电压-频率调节配置的图示。
图12是根据本发明实施例的带有可编程除法器的说明性锁相环(PLL)的图示。
图13是根据本发明实施例的说明性时钟信号选择电路的图示。
图14是根据本发明实施例的说明性可编程电压调节器的图示。
图15是根据本发明实施例的说明性电源电压选择电路的图示。
图16是根据本发明的实施例示出具有平衡延迟的两个说明性数据路径的图示。
图17是根据本发明的实施例具有耦合到前馈路径的可旁路钟控存储元件的说明性环电路的图示。
图18是根据本发明实施例的工作在单线程模式中的说明性累加器环的图示。
图19是根据本发明实施例的工作在双线程模式中的说明性累加器环的图示。
图20是根据本发明实施例的可操作以在多线程配置中工作的说明性环电路的图示。
图21是根据本发明实施例的用于执行动态电压-频率调节操作的说明性步骤的流程图。
具体实施方式
本发明的各实施例涉及具有逻辑电路的集成电路。该集成电路可以是任何合适类型的集成电路,例如微处理器、专用集成电路、数字信号处理器、存储器电路或其它集成电路。如果需要,则集成电路可以是包含可编程逻辑电路的可编程集成电路。本发明将主要在集成电路如作为示例的可编程逻辑器件(PLD)集成电路的背景中描述。
图1是说明性集成电路如可编程集成电路10的图示。可编程器件10可以包括输入-输出电路12,其用于通过输入-输出引脚14将信号驱动离开器件10并接收来自其它器件的信号。互连资源16如全局和局部垂直和水平导线以及总线可以用来路由(route)器件10上的信号。互连资源16包括导线和相应的导线之间的可编程连接,因此其有时被称为可编程互连16。
可编程器件10可以包括可编程逻辑18,其可以被配置为执行定制逻辑功能。可编程逻辑18可以包括组合逻辑电路和时序逻辑电路。可编程互连16可以被看作是一种类型的可编程逻辑18。
器件10也可以包含可编程存储器元件20。可以利用引脚14和输入-输出电路12对存储器元件20加载配置数据(也称为编程数据)。一旦被加载,存储器元件中的每个都可以提供相应的静态控制信号,该静态控制信号控制可编程逻辑18中的相关联的逻辑组件的操作。在典型情况下,加载的存储器元件20的输出被施加到可编程逻辑18中的金属氧化物半导体晶体管的栅极以打开或关闭某些晶体管,并由此配置可编程逻辑18中的逻辑及路由路径。可以以这种方式控制的可编程逻辑电路元件包括导通晶体管、多路复用器的部分(例如,用于在可编程互连16中形成路由路径的多路复用器)、查找表、逻辑阵列、各种逻辑门等。
存储器元件20可以利用任何合适的易失性和/或非易失性存储器结构如随机访问存储器(RAM)单元、熔断器、反熔丝、可编程只读存储器存储单元、掩膜编程和激光编程结构、这些结构的组合等来实现。由于在编程期间存储器元件20加载有配置数据,因此存储器元件20有时被称为配置存储器、配置RAM(CRAM)或可编程存储器元件。
可以利用任何合适的架构来组织器件10的电路。作为示例,可以将器件10的逻辑组织在较大可编程逻辑区域的一系列行和列中,每个可编程逻辑区域包含多个较小的逻辑区域。较小的逻辑区域可以是诸如有时被称为逻辑元件(LE)的逻辑区域,每个逻辑元件都包含查找表(LUT)、一个或更多寄存器和可编程多路复用器电路。较小的区域也可以是诸如有时被称为自适应逻辑模块(ALM)的逻辑区域。每个自适应逻辑模块都可以包括一对加法器、一对相关联的寄存器以及查找表或共享组合逻辑的其它块(作为示例)。较大的区域可以是诸如包含多个逻辑元件或多个ALM的逻辑阵列块(LAB)。在图1的示例中,说明性逻辑区域22(其可以是诸如LE或ALM)显示在图1中的可编程逻辑18的较大区域中。在典型的可编程逻辑器件10中,可能有成百或上千个较小的逻辑区域22。图1中所示的逻辑区域22仅是说明性的。
在器件编程期间,配置数据被加载到器件10中,该配置数据对可编程逻辑区域22和可编程逻辑区域18进行配置,使得他们的逻辑资源根据其输入执行期望的逻辑功能并产生期望的输出信号。例如,对CRAM单元加载合适的配置数据位,以配置器件10上的加法器和其它电路来实现期望的定制逻辑设计。
可以用可编程互连16来互连如可编程逻辑18的器件10的资源。互连16通常包括竖直和水平的导体。这些导体可以包括基本上跨越器件10的全部的全局导线、跨越器件10的一部分的部分线路如半线或四分之一线、特定长度的交错线(例如,足以互连几个逻辑阵列块或其它这样的逻辑区域)、更小的局部线路或任何其它合适的互连资源布置。如果需要,器件10的逻辑可以被布置成更多的等级或层,在这些更多的等级或层中,可以对多个大的区域进行互连来形成逻辑的更大部分。其它器件布置仍然可以使用没有按行和列布置的逻辑。
除了图1中所示的可编程逻辑的相对较大的块之外,器件10通常也包括一些与器件10上的可编程互连、存储器以及输入-输出电路相关联的可编程逻辑。例如,输入-输出电路12可以包含可编程输入和输出缓冲器。可以将互连16编程为将信号路由到期望的目的地。
图2中示出用于设计和配置可编程集成电路10的说明性系统环境。器件10可以被安装在系统380的板360上。器件10可以从编程设备或从任何其它合适的设备或器件中接收配置数据。
在图2的示例中,器件10是从相关联的集成电路400接收配置数据的一种类型的可编程集成电路。在这种类型的布置下,如果需要,电路400可以安装在与器件10相同的板360上。电路400可以是将来自外部电可擦除可编程只读存储器(EEPRAM)芯片的配置数据加载到可编程逻辑器件存储器的可编程逻辑器件配置数据加载芯片、带有内置存储器的可编程逻辑器件配置数据加载芯片(有时被称为配置器件)或任何其它合适的器件。当系统380启动时(或在另一合适的时间),配置数据可以从器件400提供给器件10,如由路径420示意性示出的。提供给器件10的配置数据可以存储在器件10的可编程元件20(例如,配置随机访问存储器元件)中。
系统380可以包括与器件10通信的处理电路440、存储460以及其它系统组件480。系统380的组件可以位于一个或更多板(例如,板360)上或其它合适的安装结构或外壳上。
可以利用通信路径将器件10互连到其它组件。例如,可以利用通信路径370在安装在板360上的集成电路390和器件10之间传递数据。可以利用通信路径350和500在器件10和组件440、460和480之间传递信号。
可以通过路径如路径520将器件10的配置数据提供给配置器件400。例如,配置器件400可以从配置数据加载设备540或在配置器件400中存储配置数据的其它合适的设备中接收配置数据。器件400可以在安装到板360之前或之后加载数据。
在可编程逻辑器件中设计并实现期望的逻辑电路是一项重要的工作。因此,逻辑设计者通常使用基于计算机辅助设计(CAD)工具的逻辑设计系统来帮助他们设计电路。逻辑设计系统(有时被称为电路设计系统)可以帮助逻辑设计者设计并测试系统的复杂电路。当设计完成时,可以利用逻辑设计系统来生成用于电编程适当的可编程逻辑器件的配置数据。逻辑设计系统可以在计算设备上实现。
如图2所示,可以通过路径如路径580将逻辑设计系统560产生的配置数据提供给设备540。设备540将配置数据提供给器件400,使得器件400随后能够通过路径420将该配置数据提供给器件10。系统560可以基于一个或更多计算机或一个或更多软件程序。通常,软件和数据可以存储在系统560中并被示意性示为存储装置600的任何计算机可读介质(存储)上。
在典型的情形下,逻辑设计者使用逻辑设计系统560来创建定制电路设计。系统560产生提供给配置器件400的相应配置数据。上电后,可以利用配置器件400和器件10上的数据加载电路将配置数据加载到器件10的可编程存储器元件20中。然后,器件10可以用于系统380的正常操作。
图3根据本发明示出说明性逻辑设计系统560。系统560可以基于一个或更多处理器,例如个人计算机、工作站等。处理器可以使用网络(例如,局域网或广域网)来链接。这些计算机中的存储器或外部存储器和存储设备如内部和/外部硬盘可用来存储指令和数据。
基于软件的组件如计算机辅助设计工具620和数据库630位于系统560上。在操作期间,可执行软件如计算机辅助设计工具620的软件在系统560的处理器上运行。数据库630用来存储用于系统560的操作的数据。通常,软件和数据可以存储在系统560中的任何计算机可读介质(存储装置)中。这种存储装置(示意性示为图2的存储600)可以包括计算机存储器芯片、可移除和固定介质如硬盘驱动器、闪存、光盘(CD)、DVD、其它光学介质和软盘、磁带或任何其它合适的存储器或存储器件。当系统560的软件被安装时,系统560的存储装置600具有引起系统560中的计算设备执行各种方法(过程)的指令和数据。当执行这些过程时,计算设备被配置为实现逻辑设计系统的功能。
计算机辅助设计(CAD)工具620(其中的一些或全部有时被统称为CAD工具)可以由单个供应商或多个供应商提供。工具620可以被提供为工具的一个或更多套件(例如,用于执行与实现可编程逻辑器件中的电路设计相关联的编译器套件)和/或作为一个或更多独立的软件组件(工具)。数据库630可以包括仅由特定的一个或多个工具访问的一个或更多数据库,并可以包括一个或更多共享数据库。共享数据库可以由多个工具访问。例如,第一工具可以为第二工具将数据存储在共享数据库中。第二工具可访问该共享数据库以获取由第一工具存储的数据。这允许一个工具将信息传递到另一工具。如果期望的话,工具也可以在彼此之间传递信息而不在共享数据库中存储信息。
图4示出可以在如图2和图3的系统560的逻辑设计系统中使用的说明性计算机辅助设计工具620。
设计过程一般以阐明逻辑电路功能规范(例如,逻辑电路的功能描述)开始。逻辑设计者可以利用设计和约束输入工具来指定期望的电路应当如何起作用。设计和约束输入工具664可以包括诸如设计和约束输入帮助666和设计编辑器668的工具。可以利用如帮助666的设计和约束输入帮助来帮助逻辑设计者从现有的逻辑设计库中定位期望的设计,并可以向逻辑设计者提供计算机辅助协助以输入(指定)期望的设计。
作为示例,设计和约束输入帮助666可用于向用户呈现屏幕选项。用户可以点击屏幕上的选项以选择设计的电路是否应当具有某些特征。设计编辑器668可用于输入设计(例如,通过输入多行硬件描述语言代码),可用于编辑从库中得到的设计(例如,使用设计和约束输入帮助),或者可帮助用户选择并编辑适当的预封装/预打包的代码/设计。
设计和约束输入工具664可用于允许逻辑设计者用任何合适的格式提供期望的逻辑设计。例如,设计和约束输入工具664可以包括允许逻辑设计者使用真值表输入逻辑设计的工具。真值表可以利用文本文件或时序图来指定并可以从库中导入。真值表逻辑设计和约束输入可以用于大型电路的一部分或用于整个电路。
作为另一示例,设计和约束输入工具664可以包括示意性捕获工具。示意性捕获工具可以允许逻辑设计者根据构成部件如逻辑门和逻辑门的群组可视地构建逻辑电路。先前存在的逻辑电路的库可用于允许使用示意性捕获工具导入设计的期望部分。
如果期望,设计和约束输入工具664可以允许逻辑设计者使用硬件描述语言如Verilog硬件描述语言(HDL)或超高速集成电路硬件描述语言(VHDL)向逻辑设计系统560提供逻辑设计。逻辑电路的设计者可通过使用编辑器668写入硬件描述语言代码来输入逻辑设计。代码块可以根据需要从用户维持的库或商用库中导入。
在利用设计和约束输入工具664输入设计之后,可以利用行为仿真工具672来仿真该设计的功能性能。如果该设计的功能性能不完整或不正确,则逻辑设计者可以利用设计和约束输入工具664来改变设计。在使用工具674执行合成操作之前,可以利用行为仿真工具672来验证新设计的功能操作。如果需要,也可以在设计流程中的其它阶段(例如,在逻辑合成之后)使用如工具672的仿真工具。可以将行为仿真工具672的输出以任何合适的格式(例如,真值表、时序图等)提供给逻辑设计者。
一旦确定逻辑设计的功能操作达到要求,就可以利用逻辑合成和优化工具674在特定的可编程逻辑器件中(即,在特定的可编程逻辑器件产品或产品族的逻辑和互连资源中)实现该逻辑设计。
工具674试图基于逻辑设计者利用工具664输入的逻辑设计数据和约束数据通过选择适当的硬件实现逻辑设计中的不同逻辑功能来优化设计。
在利用工具674进行逻辑合成和优化之后,逻辑设计系统可以使用工具如布局和布线工具676来执行物理设计步骤(布局合成操作)。可以利用布局和布线工具676来确定如何在可编程逻辑器件内布置每个逻辑功能的电路。例如,如果两个计数器彼此交互,则布局和布线工具676可以将这些计数器定位在可编程逻辑器件上的相邻逻辑区域中以减小互联延迟或满足规定了允许的最大互联延迟的时序要求。布局和布线工具676为给定的可编程逻辑器件产生逻辑设计的有序和有效的实现。
如工具674和676的工具可以是编译器套件的一部分(例如,由可编程逻辑器件销售商提供的编译器工具的套件的一部分)。根据本发明,如工具674、676和678的工具可以自动考虑实施期望的电路设计时互连之间的串扰效应。工具674、676和678也可以包括时序分析工具。这使得工具674和676在为编程集成电路如可编程集成电路10生成配置数据时满足性能要求(例如,时序要求)。
在利用布局和布线工具676生成可编程逻辑器件中的期望的逻辑设计的实现之后,可以利用分析工具678对设计的实现进行分析和测试。在利用工具620完成满意的优化操作之后,工具620可以为可编程逻辑器件产生配置数据。
图5中示出使用图4的工具620产生配置数据文件所涉及的说明性操作。如图5所示,在步骤82中对初始网表80进行合成,以产生后合成网表84。在步骤86中,在布局和布线以及优化操作期间对用户输入88和后合成网表84进行处理。在步骤86的操作期间,CAD工具620考虑使用不同的正向电源电压和/或体偏置电压的影响,并且通过电源和体偏置水平的适当选择、电路资源的分配以及布局决策,工具620在满足设计约束的同时降低了功耗。
可以通过使用逻辑设计系统560执行时序分析(步骤91)来进一步处理产生的网表90。时序分析可用来帮助确保在配置可编程集成电路10之前最终网表90满足时序约束。如果需要,处理可以可选地通过路径93返回到步骤86,以利用最终网表来执行额外的优化。例如,逻辑设计系统560可以识别最终网表中不满足时序约束的路由路径并经由可选路径93返回到步骤86来确定替换路由路径。
在步骤92中,可以在汇编过程期间进一步对最终网表进行处理以产生配置数据文件输出(例如,.pof或.sof文件)。然后,可以将配置数据文件输出加载到可编程器件10上。
图6示出本发明的一个合适的实施例,其中器件10包括逻辑数据路径如数据路径100。如图6所示,数据路径100可以耦合在输入端102和输出端104之间。为满足性能标准,将数据从输入端102传送到输出端104的速率和在输出104处生成数据的速率可能必须大于预定的阈值水平。因此,终端102和104有时可以被分别称为速率关键输入端和速率关键输出端,并且数据路径100可以被称为关键数据路径。
可以将多个存储元件如钟控存储元件110插入终端102和104之间的数据路径100中。在图6的示例中,有第一钟控存储元件110-0(也表示为寄存器R0)、第二钟控存储元件110-1(也表示为寄存器R1)、第三钟控存储元件110-2(也表示为寄存器R2)、第四钟控存储元件110-3(也表示为寄存器R3)、第五钟控存储元件110-4(也表示为寄存器R4)。钟控存储元件110(例如,寄存器R0-R4)可以是通常被称为寄存器具有输入A和输出B的时序逻辑电路。在一些实施例中,可以利用有时被称为触发器的边沿触发寄存器电路(例如,正向边沿触发的触发器或负向边沿触发的触发器)来实现元件110。在其它实施例中,可以利用电平敏感锁存器如脉冲锁存器来实现元件110。这些示例仅仅是说明性的。如果需要,可以利用其它类型的时序或时钟控制存储组件来实现元件110。
组合逻辑(CL)如组合逻辑延迟元件106可以耦合在相邻的每对钟控(时序)存储元件110之间。延迟元件可以包括逻辑门、互连路径和/或其它可编程逻辑电路。在图6的示例中,第一逻辑延迟元件106可以耦合在寄存器R0的输出和寄存器R1的输入之间的数据路径中,第二逻辑延迟元件106可以耦合在寄存器R1的输出和寄存器R2的输入之间的数据路径中,第三逻辑延迟元件106可以耦合在寄存器R2的输出和寄存器R3的输入之间的数据路径中,并且第四逻辑延迟元件106可以耦合在寄存器R3的输出和寄存器R4的输入之间的数据路径中。每个组合逻辑延迟元件106都可以具有能够通过非关键数据路径接收其它数据信号的其它输入,例如输入107。当确定器件10的最大工作频率时,只需要对速率关键数据路径的吞吐量进行分析(例如,关键数据路径包括任意两个相邻时序电路之间的最大组合延迟)。
根据本发明的实施例,器件10可以提供有动态电压-频率调节(DVFS)能力。也就是说,可以以各种工作频率以及不同的电源电压水平操作数据路径100(例如,可以在不同的电压-频率设置或“状态”上操作器件10上的逻辑电路)。器件10能够动态地从一个状态切换到另一状态而不必用新的配置数据组来重新配置集成电路。
特别地,可以通过操作时序元件110作为“可旁路”钟控存储元件来执行固定工作频率的电压调节。例如,可以将每个寄存器110都设置为正常模式或旁路模式。当寄存器110设置为正常模式时,寄存器110被切换至使用并能够锁存其输入端的数据并在其输出端呈现相应的锁存数据。当寄存器110被设置为旁路(或透明)模式时,寄存器110被有效地从使用中切换出来,并且在其输入端呈现的任何数据都被直接传送到其输出端。为满足设计标准,可以通过用设计工具620执行期望的时序分析91来验证不同的电压-频率操作设置(假设合适的钟控存储元件已经被使能)。
图7是示出旁路钟控存储元件110的一个合适的布置的电路图。如图7所示,钟控存储元件110可以包括由相关联的动态电压-频率调节(DVFS)控制电路120控制的寄存器114和多路复用电路112。寄存器114可以是边沿触发的触发器或电平敏感锁存器(例如,脉冲锁存器)。寄存器114可以具有用作元件110的输入终端A的数据输入端D、输出端Q和时钟输入端。多路复用器112可以具有耦合到寄存器114的数据输入端的第一(0)输入端、耦合到寄存器114的输出端Q的第二(1)输入端、用作元件110的输出终端B的输出端以及控制输入端。
可以利用控制电路120来产生到寄存器114的时钟输入端的可调节时钟信号Clk、到多路复用器112的控制输入端的控制信号Ctr以及用于为数据路径100中的电路供电的可调节电源电压Vcc。控制电路120可以使信号Ctr有效用于将钟控存储元件110设置为正常模式(例如,用于配置多路复用器112将来自其第二输入端的信号路由至其输出端),并可以使信号Ctr无效以将钟控存储元件110设置为旁路模式(例如,以配置多路复用器112以将来自其第一输入端的信号路由至其输出端)。当执行电压-频率调节操作时,也可以利用动态电压-频率调节控制电路120来调节信号Clk的频率和Vcc的电压水平。
图8是示出旁路钟控存储元件110的另一合适的布置的电路图。如图8所示,钟控存储元件110可以包括逻辑NAND门130、多路复用器122以及反相器124、126和128。反相器128可以具有用作元件110的输入终端A的输入端以及输出端。多路复用器122可以具有第一(0)输入端、耦合到反相器128的输出端的第二(1)输入端、输出端以及控制输入端。反相器126可以具有耦合到多路复用器122的输出端的输入端和用作元件110的输出终端B的输出端。反相器124可以具有耦合到反相器126的输出端的输入端和耦合到多路复用器122的第一输入端的输出端。当多路复用器122被配置为将来自其第一输入端的信号路由到其输出端时,以这种交叉耦合配置连接的反相器124和126可以用作锁存电路。
逻辑NAND门可以具有分别从DVFS控制电路120接收时钟脉冲信号Cp和控制信号Ctr的第一输入端和第二输入端,并可以具有耦合到多路复用器122的控制输入端的输出端。控制电路120可以用来生成可调节的时钟脉冲信号Cp(例如,具有可调节的脉冲宽度的时钟信号)、控制信号Ctr以及用于为数据路径100中的电路供电的可调节电源电压Vcc。控制电路120可以使信号Ctr有效以将钟控存储元件110设置为正常模式(例如,信号Cp可以被传送到多路复用器122),并可以使信号Ctr无效以将钟控存储元件110设置为旁路模式(例如,通过使用门130迫使多路复用器122的控制输入端处于高电压水平)。也就是说,当元件110被设置为正常模式时,多路复用电路122可以被配置为以交叉耦合配置来电气连接反相器124和126,并且当元件110被设置为旁路模式时,多路复用电路122可以被配置为暂停该交叉耦合配置。当执行电压-频率调节操作时,动态电压-频率调节控制电路120也可以用来调节信号Clk的频率和Vcc的电压水平。
图7的布置以基于边沿触发寄存器的实现为特征,而图8的布置以基于电平敏感的锁存器的实现为特征。这些示例仅是说明性的,并且不用来限制本发明的范围。如果需要,可以使用其它合适方式来实现相似类型的旁路钟控存储元件。
图9A、图9B和图9C是描述如何控制数据路径100以在给定的操作频率下提供电压调节的图示。如图9A所示,可以通过电源线140将1.2V的电源电压Vcc提供给控制电路120中的逻辑延迟元件106。在图9A的示例中,当用1.2V的Vcc供电时,每个逻辑延迟元件106都显示出1纳秒的传播延迟。通过禁能旁路元件R1、R2和R3(即,通过将元件R1-R3设置为旁路模式),输入寄存器R0和输出寄存器R4之间的总的传播延迟因此大约等于4纳秒,具有从输入到输出的两个循环时延。结果,未旁路的寄存器R0和R4可以工作的最大时钟频率是250MHz(1除以4ns)。
在另一合适的布置中,控制电路120可以将电压Vcc向下调节至1.0V以降低功耗(例如,参见图9B)。当Vcc被降低时,每个逻辑延迟元件106可以显示出相对较高的2纳秒的传播延迟。通过选择性地禁能旁路元件R1和R3同时使能元件R0、R2和R4,任意两个相邻的活动的(或未禁能的/未旁路的)时序电路110之间的最大传播延迟将仍然约等于4纳秒,不同之处在于从输入到输出有三个循环时延。由于最坏情况的寄存器到寄存器的延迟保持固定在4纳秒,因此未旁路的(起作用的)寄存器R0、R2和R4可以工作的最大时钟频率仍然等于250MHz。
在另一合适的布置中,控制电路120可以将电压Vcc向下调节至0.8V以进一步降低功耗(例如,参见图9C)。当Vcc被降低为0.8V时,每个逻辑延迟元件106可以显示出甚至更高的4纳秒的传播延迟。通过使能数据路径100中的所有可旁路元件,任何两个相邻的起作用的的时序电路110之间的最大传播延迟将仍然约等于4纳秒,不同之处在于从输入到输出有五个循环时延。由于最坏情况的寄存器到寄存器的延迟保持固定在4纳秒,因此起作用的寄存器R0-R4可以操作的最大时钟频率仍然等于250MHz。
如图9A、图9B和图9C的示例所示,可以在通过选择性地使能/禁能沿关键数据路径的可旁路钟控存储元件110将时钟频率维持在250MHz的同时执行电压调节。可以动态地执行固定频率下的电压调节而不必用新的配置数据组来重新配置集成电路10(作为示例)。将沿着数据路径的更多寄存器110设置为正常模式有效地提供了额外的管道阶段并可以用来以增加的延迟为代价使能较低的电压操作。
如果需要,电压Vcc可以被进一步降低到0.8V以下。由于已经使能所有的可旁路元件110,因此将电压Vcc降低至0.8V以下将需要将操作频率减小到小于250MHz来满足数据路径时序要求(例如,时钟速率受任意两个相邻的时序电路110之间的最大延迟的限制)。例如,将Vcc从0.8V减小至0.6V可以导致性能从250MHz降低为125MHz。
通常,耦合到速率关键输入端102的可旁路寄存器元件和耦合到速率关键输出端104的可旁路寄存器元件不需要被旁路。实际上,延迟元件106将不会一直呈现出相同的延迟并且不会一直随电压Vcc的调节均匀地缩放。作为示例,互联延迟不如逻辑门延迟对电压变化敏感。
可以以非对称的方式使能可旁路钟控存储元件110(例如,参见图10)。如图10所示,寄存器R1被使能而寄存器R2和R3被禁能。结果,起作用的寄存器R0和R1之间的延迟只有1纳秒,而起作用的寄存器R1和R4之间的延迟等于3纳秒。因此,最大操作频率受两个延迟中的最大延迟的限制。在该示例中,由于不对称地使能可旁路寄存器元件产生实质上不均匀的延迟,因此导致次优配置,可以通过使能数据路径中的额外的未使用的寄存器(即,元件R2和R3)来简单地提高操作频率。
然而,在某些情形中,以不对称的方式使能钟控存储元件110可能是需要的。图11描述了与逻辑元件106相关联的延迟基本上不匹配的情形。如图11所示,耦合在寄存器R3和R4之间的延迟元件106可以呈现出3纳秒的延迟,而耦合在寄存器R0和R3之间的每个元件106只呈现出1纳秒的延迟。通过将寄存器R1和R2旁路,起作用的寄存器R0和R3之间的延迟为3纳秒,而起作用的寄存器R3和R4之间的延迟也等于3纳秒。在该示例中,由于不对称地使能可旁路寄存器元件产生了实质上平衡的延迟,并且相对于R1和R2不必要地使能的布置降低了时延,因此与只提供对称的寄存器使能方案可能获得的配置相比,获得了更优化的配置。
五个可旁路钟控存储元件耦合在输入端102和输出端104之间的示例性数据路径仅是说明性的。如果需要,可以将多于或少于五个的可旁路钟控存储元件110插入到器件10上的任意给定数据路径中。
如图7和图8所示,可以利用DVFS控制电路120来产生可调节的时钟信号和/或时钟脉冲。在一个合适的布置中,DVFS控制电路120可以包括用于产生可调节时钟信号Clk的可调节锁相环(PLL)电路150(例如,参见图12)。如图12所示,锁相环150可以包括输入除法器152、相位检测器154、电荷泵156、环滤波器158、电压受控振荡器(VCO)160、输出除法器162以及反馈除法器164。输入除法器可以接收频率为fref的参考时钟信号RefClk。相位检测器154、电荷泵156、环滤波器158以及VCO 160可以串行耦合在输入除法器152和输出除法器162之间。反馈除法器164可以耦合在VCO 160的输出和相位检测器154的输入之间。
除法器152、162和164可以是可调节的除法器电路。例如,除法器152可以接收控制电路120产生的控制信号CtrN,其中控制电路120调整由除法器152提供的除法因子N。除法器162可以接收控制电路120产生的控制信号CtrC,其中控制电路120调整由除法器162提供的除法因子C。类似地,除法器164可以接收控制电路120产生的控制信号CtrM,其中控制电路120调整由除法器164提供的除法因子M。以这种方式控制的锁相环150可以输出输出频率等于fref和M的乘积除以N和C的乘积(fref*M/(N*C))的时钟信号Clk。
图13示出输出可调节时钟信号的另一合适的方式。如图13所示,可以提供时钟选择电路170,其接收多个具有不同的各自频率的时钟信号。特别地,时钟选择电路170可以包括多路复用器172,其具有接收时钟信号Clk0,Clk1,…,ClkN的输入端。时钟信号Clk0-ClkN可以表示具有不同频率的时钟信号,这些时钟信号利用片上时钟源(例如,PLL电路)产生或从片外时钟源接收。可以利用由控制电路120产生的信号ClkSel对多路复用器172进行控制,从而选择信号Clk0-ClkN中的哪一个信号被传送到多路复用器172的输出端作为信号Clk。
图12和图13仅示出了提供可调节时钟信号的两种不同方式。如果需要,也可以以类似的方式产生可调节的时钟脉冲Cp。如果需要,可以使用在连续的频率范围上产生可调整周期信号的其它方式。
也可以利用控制电路120来产生可调节电源电压Vcc。在一个合适的布置中,DVFS控制电路120可以包括用于产生可调节电源电压Vcc的可调整电源电路180(例如,参见图14)。如图14所示,电源电路180可以包括电压调节器182、运算放大器184以及晶体管186。电压调节器182可以从片外电源接收输入电压Vin,并且可以用来提供调节的参考电压Vref。参考电压Vref可以具有利用控制信号CtrV控制的电压水平,该控制信号CtrV是利用控制电路120来产生的(作为示例)。控制信号CtrV可以是数字控制信号或模拟控制信号。
运算放大器184可以具有从调节器182接收Vref的第一(正的)输入端、在其上提供电源电压Vcc的第二(负的)输入端以及输出端。该晶体管可以具有接收输入电压Vin的第一源-漏极端子、耦合到放大器184的第二输入端的第二源-漏极端子以及耦合到放大器184的输出端的栅极终端。可以通过改变Vref的电压水平来调整电源电压Vcc(例如,可以将Vcc的电压水平设置为等于Vref的电压水平)。
图15示出为不同的组合逻辑电路106提供不同的电源电压信号的一种合适的方式。如图15所示,可以提供接收多个具有不同幅值的电源电压信号的电压选择电路181。特别地,电压选择电路181可以包括多个多路复用电路190,每个多路复用电路190都具有从第一电源线192接收第一电源电压Vcc0的第一输入端、从第二电源线194接收第二电源电压Vcc1的第二输入端、接收利用控制电路120产生的控制信号VccSel的控制输入端以及被馈送至与相应的组合逻辑电路106相关联的电源端子的输出端。电源电压Vcc0和Vcc1可以具有不同的幅度并可以使用不同的电源电路180来产生或可以从片外电源接收。控制电路120可以将VccSel设置为低以将Vcc0路由到每个延迟元件106,或者可以将VccSel设置为高以将Vcc1路由到每个延迟元件106。图15的配置仅是说明性的。如果需要,电压选择电路181可以被配置为在多于两个的不同电源电压水平中进行选择以提供更宽的电压调节范围。如果需要,控制器120也可以产生多个独一无二的VccSel信号,使得不同的组合逻辑块根据其性能要求接收不同的电压。
图14和图15仅示出在器件10上产生/提供多个电源电压水平的两种方式。如果需要,可以使用在连续的电压范围上产生可调电压信号的其它方式。
对器件1上的不同数据路径而言,显示出匹配的或“平衡的”延迟可能是期望的。图16描述其中的第一数据路径200和第二数据路径202中的每个都包括三个可旁路钟控组件110的链的情形。特别地,第一数据路径200包括耦合在数据路径输入In0和数据路径输出Out0之间的可旁路钟控组件R0、R1和R2,其中插入在R0和R1之间的第一逻辑电路106-1和插入在R1和R2之间的第二逻辑电路106-1接收0.8V的Vcc,并且每个都显示出4ns的传播延迟。另一方面,第二数据路径202包括耦合在数据路径输入In1和数据路径输出Out1之间的可旁路钟控组件R0、R1和R2,其中插入在第二数据路径中的R0和R1之间的第一逻辑电路106-2和插入在第二数据路径中的R1和R2之间的第二逻辑电路106-2也接收0.8V的Vcc,但是每个都显示出仅2ns的传播延迟。
在这种情形中,可以将第一数据路径200中的寄存器R1切换至使用,从而维持此低电压操作下令人满意的时钟频率。即使可能没有必要使能第二数据路径202中的寄存器R1(例如,因为元件106-2的延迟实质上小于元件106-1的延迟),然而仍然可以将第二数据路径中的寄存器R1切换至使用,从而平衡数据路径200和202的时延。以这种方式平衡时延确保器件10上的不同数据路径的相对时延要求都被满足。
到目前为止,结合图6、图9A、图9B、图9C、图10以及图11所描述的类型的数据路径有时被称为前馈数据路径,其中数据只沿着从输入到输出的方向流动。使能和禁能可旁路钟控存储元件的使用非常适合主要由前馈数据路径组成的高度流水线的、时延不敏感的设计。
当考虑可旁路钟控存储组件的使用时,必须关注带有反馈路径或“环”的电路。图17是示出具有环的示例性电路210的图示。电路210可以包括加法器电路212和触发器214。加法器电路212可以具有从输入端X接收信号的第一输入端、第二输入端和输出端。触发器214可以具有耦合到加法器212的输出端的数据输入端和耦合到加法器212的第二输入端的数据输出端。以这种布置连接后,电路210可以用作累加器电路。假设设计能够容忍增加的时延(以及更长的启动延迟)但无功能上的改变,将可旁路钟控存储元件与这种类型的环电路进行合并的方式之一是将至少一个可旁路钟控存储元件110插入到前馈输出路径(例如,通过在触发器214的输出端和前馈输出端Y之间插入寄存器110)。
可替代地,在合成操作期间,最小化环的使用(参见图4和图5)可能是期望的。逻辑设计工具620可以被配置为将反馈电路视为更加时序关键的。结果,稀缺的快速资源块只对有环的电路可用。在布局和布线操作期间,有环的电路也可以被给定延迟最优的布置(即便这意味着总的电路区域的增加)。以减小的电压水平满足反馈电路的时序要求的其它方式可以包括选择性地前移环中的体偏置单元以减小延迟以及向该类型的电路提供固定的额定(非减小的)电压水平。
处理带有环的电路的另一方式是以多线程机制操作反馈电路。多线程结构涉及在交错的线程中处理来自不同阈值的数据,这些不同的线程中没有任何数据依赖性或通信。
图18是包括在具有1个时钟周期的最小延迟的单线程模式中操作的累加器环226的数据路径220的图示。如图18所示,累加器环226可以包括连接在环中的加法器电路228、触发器230以及可旁路钟控存储元件110。特别地,当数据路径220在多线程模式中操作时,在不改变电路226的功能的情况下,可旁路钟控存储元件110可以连接在反馈环234之前。
由于数据路径220在单线程模式中操作,因此元件110可以被旁路(如被阴影遮盖的寄存器元件110所示)。耦合到环226的输入端的输入多路复用器222可以配置为仅路由来自第一线程输入T0_in的信号通过环226,经由输出多路复用器224至相应的第一线程输出T0_out(例如,多路复用器222和224都可以接收贯穿整个单线程操作的低控制信号)。
图19是示出操作在双线程模式中的数据路径220的图示。在双线程模式中,可以使能可旁路钟控存储元件110并且可以降低操作电压。也就是说,通过增加活动线程的数量(例如,通过使能环中额外的可旁路寄存器组件110)可以实现更低的电压操作。如之前的情形中,使能钟控存储元件110将不会影响吞吐量(假设频率不变),但是将增加时延,因为每个线程每两个周期才会被处理一次。
输入多路复用器222可以在路由来自第一线程输入端T0_in的信号和路由来自第二线程输入端T1_in的信号至其输出端之间持续地切换。类似地,多路复用器224可以在将信号输出至第一线程输出端T0_out和将信号输出至第二线程输出端T1_out之间持续地切换。即,在整个双线程操作期间,多路复用器222和224都可以接收交错的“0101…”控制比特模式,从而处理来自第一和第二线程中的每个线程的数据。
图20示出涉及在四个不同的线程之间交替的普通多线程配置。通常,多线程可以被应用于包括内部状态和/或反馈环的任何时序电路。在图20的示例中,四线程操作将需要反馈路径中的至少四个可旁路寄存器组件。如果需要,反馈路径中可以包括任意合适的数目的可旁路钟控存储组件以帮助减小电压、增大操作频率或以其它方式优化器件10的性能/功率节省。
图21是在器件10上执行动态的电压-频率调节的说明性步骤的流程图。在步骤250处,控制电路120可以通过调整时钟发生器来选择操作频率,从而将具有所选频率的相应的时钟信号输出到器件10上的时序逻辑电路。
在步骤252处,控制电路120可用于调节电源电压Vcc,以优化节能性能(例如,可以将电源电压调节到期望的电压水平)。
在步骤254处,可以选择性地使能器件10上的不同的数据路径中的可旁路钟控存储元件110,从而在保证满足时延要求的同时增加吞吐量。如路径256所示,处理可以返回到步骤250中,从而动态地调节操作频率。如路径258所示,处理也可以返回到步骤252,从而动态地调节电源电压。如果需要,可以使能和/或禁能至少一些可旁路寄存器110来帮助确保沿不同的数据路径行进的信号具有匹配的时延并满足性能标准(如环260所示)。
附加实施例
附加实施例1.一种在至少第一和第二状态中操作集成电路的方法,其中所述集成电路包括插入在数据路径中的逻辑电路,所述方法包括:当在所述第一状态中操作所述集成电路时,以给定的频率操作所述逻辑电路的同时利用具有第一电压水平的第一电源电压为所述逻辑电路供电;以及当在所述第二状态中操作所述集成电路时,以所述给定的频率操作所述逻辑电路的同时利用具有不同于所述第一电压水平的第二电压水平的第二电源电压为所述逻辑电路供电。
附加实施例2.如附加实施例1所述的方法,其中所述逻辑电路包括插入在所述数据路径中的多个可旁路钟控存储元件,所述方法包括:当在所述第一状态中操作所述集成电路时,将所述多个可旁路钟控存储元件的第一子集切换为使用;以及当在所述第二状态中操作所述集成电路时,将所述多个可旁路钟控存储元件的不同于所述第一子集的第二子集切换至使用。
附加实施例3.如附加实施例1所述的方法,其中所述逻辑电路进一步包括插入在所述数据路径中的多个可旁路钟控存储元件和多个组合逻辑延迟元件,所述方法进一步包括:当在所述第一状态中操作所述集成电路时,使能第一数量的可旁路钟控存储元件;当在所述第二状态中操作所述集成电路时,使能第二数量的可旁路钟控存储元件,其中所述第二数量大于所述第一数量,并且其中所述第二电压水平小于所述第一电压水平。
附加实施例4.如附加实施例1所述的方法,其中所述集成电路进一步包括插入在额外的数据路径中的额外的逻辑电路,并且其中所述逻辑电路和所述额外的逻辑电路中的每个都包括相应的多个可旁路寄存器电路和组合逻辑延迟元件,所述方法进一步包括:使能所述数据路径中的一部分所述可旁路寄存器电路,从而使所述数据路径呈现出给定的数据路径时延;以及使能所述额外的数据路径中的一部分可旁路寄存器电路,从而使所述额外的数据路径呈现出给定的数据路径时延,其中与所述数据路径相关的所述组合逻辑延迟元件呈现出和与所述额外的数据路径相关联的所述组合逻辑延迟元件的延迟不相同的延迟。
附加实施例5.如附加实施例1所述的方法,其中所述逻辑电路包括插入在所述数据路径中的时序逻辑电路和组合逻辑电路,所述方法进一步包括:将所述第一和第二电源电压中所选择的一个提供给所述组合逻辑电路;以及将给定频率的时钟信号提供给所述时序逻辑电路。
附加实施例6.如附加实施例1所述的方法,进一步包括当用所述第一电源电压为所述逻辑电路供电时,以不同于所述给定频率的另一频率操作所述逻辑电路。
附加实施例7.如附加实施例1所述的方法,进一步包括:在所述第一和第二状态之间动态切换,而不使用新的配置数据组来重新配置所述集成电路。
附加实施例8.一种集成电路,其包括:数据路径输入端、数据路径输出端,以及插入在所述数据路径输入端和所述数据路径输出端之间的多个可旁路钟控存储元件。
附加实施例9.如附加实施例8所述的集成电路,进一步包括多个组合逻辑延迟元件,每个组合逻辑延迟元件都耦合在所述多个可旁路钟控存储元件中的至少相应的一对相邻的可旁路钟控存储元件之间。
附加实施例10.如附加实施例9所述的集成电路,进一步包括向所述多个组合逻辑延迟元件提供可调节的电源电压的控制电路。
附加实施例11.如附加实施例9所述的集成电路,进一步包括向所述多个可旁路钟控存储元件提供可调节的时钟信号的控制电路。
附加实施例12.如附加实施例9所述的集成电路,其中所述多个可旁路钟控存储元件中的至少一个可旁路钟控存储元件包括:具有输入端和输出端的边沿触发的触发器电路;以及多路复用电路,所述多路复用电路具有耦合到所述边沿触发的触发器电路的所述输入端的第一输入端,耦合到所述边沿触发的触发器电路的所述输出端的第二输入端以及输出端,其中所述多路复用电路被配置为当所述至少一个可旁路钟控存储元件被设置成旁路模式时将来自第一输入端的信号路由至其输出端,并且其中所述多路复用电路被配置为当所述至少一个可旁路钟控存储元件被设置成正常模式时将来自第二输入端的信号路由至其输出端。
附加实施例13.如附加实施例9所述的集成电路,其中所述多个可旁路钟控存储元件中的至少一个可旁路钟控存储元件包括:以交叉耦合配置连接的第一和第二反相器;以及插入在所述一对交叉耦合的反相器中的多路复用电路,其中所述多路复用电路被配置为当所述至少一个可旁路钟控存储元件被设置成正常模式时以所述交叉耦合配置电气连接所述第一和第二反相器;并且其中所述多路复用电路被配置为当所述至少一个可旁路钟控存储元件被设置成旁路模式时暂停所述交叉耦合配置。
附加实施例14.如附加实施例9所述的集成电路,进一步包括:向所述多个组合逻辑延迟元件提供可调节的电源电压并且向所述多个可旁路钟控存储元件提供可调节的时钟信号的控制电路,其中所述控制电路适于以固定的操作频率执行动态电压调节。
附加实施例15.一种操作集成电路的方法,其中所述集成电路包括插入在数据路径中的具有反馈环的逻辑电路,所述方法包括:在第一多线程模式中,通过具有所述反馈环的所述逻辑电路处理来自第一数量的输入线程的数据,同时,用第一电源电压对所述逻辑电路进行供电;以及在第二多线程模式中,通过具有所述反馈环的所述逻辑电路处理来自不同于所述第一数量的输入线程的第二数量的输入线程的数据,同时,用不同于所述第一电源电压的第二电源电压对所述逻辑电路进行供电。
附加实施例16.如附加实施例15所述的方法,其中所述第二数量的输入线程大于所述第一数量的输入线程,并且其中所述第二电源电压小于所述第一电源电压。
附加实施例17.如附加实施例16所述的方法,其中所述逻辑电路进一步包括插入在所述数据路径中的多个可旁路钟控存储元件,进一步包括:在所述第一多线程模式中使能所述多个可旁路钟控存储元件中的第一数量的可旁路钟控存储元件;以及在所述第二多线程模式中使能所述多个可旁路钟控存储元件中的第二数量的可旁路钟控存储元件;其中所述第二数量的可旁路钟控存储元件大于所述第一数量的可旁路钟控存储元件。
附加实施例18.如附加实施例16所述的方法,进一步包括:在所述第一多线程模式中,以给定频率操作所述逻辑电路;以及在所述第二多线程模式中,以所述给定频率操作所述逻辑电路。
附加实施例19.如附加实施例15所述的方法,其中所述逻辑电路进一步包括插入在所述数据路径中的多个可旁路钟控存储元件,进一步包括在所述第一多线程模式中使能所述多个可旁路钟控存储元件的第一子集;以及在所述第二多线程模式中使能所述多个可旁路钟控存储元件的不同于所述第一子集的第二子集。
附加实施例20.如附加实施例15所述的方法,其中所述集成电路进一步包括插入在所述数据路径中的多路复用电路,所述方法进一步包括:在所述第一多线程模式中,用所述多路复用电路将来自所述第一数量的输入线程的数据路由至所述逻辑电路;以及在所述第二多线程模式中将所述第二数量的输入线程的数据路由至所述逻辑电路,其中不同的输入线程之间没有数据依赖。
上述内容仅仅说明本发明的原理,并且在不脱离本发明的范围和精神的情况下,本领域的技术人员可以进行各种修改。上述实施例可以单独实施或以任意组合实施。

Claims (19)

1.一种在至少第一状态和第二状态中操作集成电路的方法,其中所述集成电路包括插入在数据路径中的逻辑电路,所述方法包括:
当在所述第一状态中操作所述集成电路时,以给定的频率操作所述逻辑电路的同时利用具有第一电压水平的第一电源电压为不同于所述逻辑电路的组合逻辑电路供电,其中所述组合逻辑电路与可旁路钟控存储元件串联耦合;以及
当在所述第二状态中操作所述集成电路时,以所述给定的频率操作所述逻辑电路的同时利用具有不同于所述第一电压水平的第二电压水平的第二电源电压为所述组合逻辑电路供电,以及将所述可旁路钟控存储元件旁路。
2.如权利要求1所述的方法,其中所述逻辑电路包括插入在所述数据路径中的多个可旁路钟控存储元件,所述方法进一步包括:
当在所述第一状态中操作所述集成电路时,将所述多个可旁路钟控存储元件的第一子集切换为使用;以及
当在所述第二状态中操作所述集成电路时,将所述多个可旁路钟控存储元件的不同于所述第一子集的第二子集切换至使用。
3.如权利要求1所述的方法,其中所述逻辑电路进一步包括插入在所述数据路径中的多个可旁路钟控存储元件和多个组合逻辑延迟元件,所述方法进一步包括:
当在所述第一状态中操作所述集成电路时,使能第一数量的可旁路钟控存储元件;以及
当在所述第二状态中操作所述集成电路时,使能第二数量的可旁路钟控存储元件,其中所述第二数量大于所述第一数量,并且其中所述第二电压水平小于所述第一电压水平。
4.如权利要求1所述的方法,其中所述集成电路进一步包括插入在额外的数据路径中的额外的逻辑电路,并且其中所述逻辑电路和所述额外的逻辑电路各自都包括相应的多个可旁路寄存器电路和组合逻辑延迟元件,所述方法进一步包括:
使能所述数据路径中的一部分所述可旁路寄存器电路,从而使所述数据路径呈现出给定的数据路径时延;以及
使能所述额外的数据路径中的一部分所述可旁路寄存器电路,从而使所述额外的数据路径呈现出所述给定的数据路径时延,其中与所述数据路径相关联的所述组合逻辑延迟元件呈现出和与所述额外的数据路径相关联的所述组合逻辑延迟元件的延迟不相同的延迟。
5.如权利要求1所述的方法,其中所述逻辑电路包括插入在所述数据路径中的时序逻辑电路和组合逻辑电路,所述方法进一步包括:
将所述第一电源电压和所述第二电源电压中所选择的一个提供给所述组合逻辑电路;以及
将所述给定的频率的时钟信号提供给所述时序逻辑电路。
6.如权利要求1所述的方法,进一步包括:当用所述第一电源电压为所述组合逻辑电路供电时,以不同于所述给定的频率的另一频率操作所述逻辑电路。
7.如权利要求1所述的方法,进一步包括:在所述第一状态和所述第二状态之间动态切换,而不使用新的配置数据组来重新配置所述集成电路。
8.一种集成电路,其包括:
数据路径输入端;
数据路径输出端;
插入在所述数据路径输入端和所述数据路径输出端之间的多个可旁路钟控存储元件;
在多个电压水平操作的组合逻辑延迟元件,其中所述组合逻辑延迟元件耦合在所述多个可旁路钟控存储元件中的给定的一对可旁路钟控存储元件之间。
9.如权利要求8所述的集成电路,进一步包括:多个组合逻辑延迟元件,每个组合逻辑延迟元件都耦合在所述多个可旁路钟控存储元件中的至少相应的一对相邻的可旁路钟控存储元件之间。
10.如权利要求9所述的集成电路,进一步包括:向所述多个组合逻辑延迟元件提供可调节的电源电压的控制电路。
11.如权利要求9所述的集成电路,进一步包括:向所述多个可旁路钟控存储元件提供可调节的时钟信号的控制电路。
12.如权利要求9所述的集成电路,其中所述多个可旁路钟控存储元件中的至少一个可旁路钟控存储元件包括:
具有输入端和输出端的边沿触发的触发器电路;以及
多路复用电路,所述多路复用电路具有耦合到所述边沿触发的触发器电路的所述输入端的第一输入端,耦合到所述边沿触发的触发器电路的所述输出端的第二输入端以及输出端,其中所述多路复用电路被配置为当所述至少一个可旁路钟控存储元件被设置成旁路模式时将来自其第一输入端的信号路由至其输出端,并且其中所述多路复用电路被配置为当所述至少一个可旁路钟控存储元件被设置成正常模式时将来自其第二输入端的信号路由至其输出端。
13.如权利要求9所述的集成电路,其中所述多个可旁路钟控存储元件中的至少一个可旁路钟控存储元件包括:
以交叉耦合配置连接的第一反相器和第二反相器;以及
插入在一对交叉耦合的反相器中的多路复用电路,其中所述多路复用电路被配置为当所述至少一个可旁路钟控存储元件被设置成正常模式时以所述交叉耦合配置电气连接所述第一反相器和所述第二反相器,并且其中所述多路复用电路被配置为当所述至少一个可旁路钟控存储元件被设置成旁路模式时暂停所述交叉耦合配置。
14.如权利要求9所述的集成电路,进一步包括:
向所述多个组合逻辑延迟元件提供可调节的电源电压并且向所述多个可旁路钟控存储元件提供可调节的时钟信号的控制电路,其中所述控制电路适于以固定的操作频率执行动态电压调节。
15.一种操作集成电路的方法,其中所述集成电路包括插入在数据路径中的具有反馈环的逻辑电路,其中所述逻辑电路进一步包括插入在所述数据路径中的多个可旁路钟控存储元件,所述方法包括:
在第一多线程模式中,通过具有所述反馈环的所述逻辑电路处理来自第一数量的输入线程的数据,同时,用第一电源电压对所述逻辑电路进行供电,并且使能所述多个可旁路钟控存储元件的第一子集;以及
在第二多线程模式中,通过具有所述反馈环的所述逻辑电路处理来自不同于所述第一数量的输入线程的第二数量的输入线程的数据,同时,用不同于所述第一电源电压的第二电源电压对所述逻辑电路进行供电,并且使能所述多个可旁路钟控存储元件的不同于所述第一子集的第二子集。
16.如权利要求15所述的方法,其中所述第二数量的输入线程大于所述第一数量的输入线程,并且其中所述第二电源电压小于所述第一电源电压。
17.如权利要求16所述的方法,进一步包括:
在所述第一多线程模式中使能所述多个可旁路钟控存储元件中的第一数量的可旁路钟控存储元件;以及
在所述第二多线程模式中使能所述多个可旁路钟控存储元件中的第二数量的可旁路钟控存储元件,其中所述第二数量的可旁路钟控存储元件大于所述第一数量的可旁路钟控存储元件。
18.如权利要求16所述的方法,进一步包括:
在所述第一多线程模式中,以给定频率操作所述逻辑电路;以及
在所述第二多线程模式中,以所述给定频率操作所述逻辑电路。
19.如权利要求15所述的方法,其中所述集成电路进一步包括插入在所述数据路径中的多路复用电路,所述方法进一步包括:
在所述第一多线程模式中,用所述多路复用电路将来自所述第一数量的输入线程的数据路由至所述逻辑电路;以及在所述第二多线程模式中将来自所述第二数量的输入线程的数据路由至所述逻辑电路,其中不同的输入线程之间没有数据依赖。
CN201410042269.6A 2013-01-30 2014-01-28 用于动态电压-频率调节的可旁路钟控存储电路 Active CN103970254B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/754,579 2013-01-30
US13/754,579 US9065440B2 (en) 2013-01-30 2013-01-30 Bypassable clocked storage circuitry for dynamic voltage-frequency scaling

Publications (2)

Publication Number Publication Date
CN103970254A CN103970254A (zh) 2014-08-06
CN103970254B true CN103970254B (zh) 2018-04-27

Family

ID=49920163

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410042269.6A Active CN103970254B (zh) 2013-01-30 2014-01-28 用于动态电压-频率调节的可旁路钟控存储电路

Country Status (3)

Country Link
US (1) US9065440B2 (zh)
EP (1) EP2762991B1 (zh)
CN (1) CN103970254B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10136384B1 (en) * 2014-10-14 2018-11-20 Altera Corporation Methods and apparatus for performing buffer fill level controlled dynamic power scaling
US9628077B2 (en) * 2015-03-04 2017-04-18 Qualcomm Incorporated Dual power swing pipeline design with separation of combinational and sequential logics
US9495497B1 (en) * 2015-12-07 2016-11-15 International Business Machines Corporation Dynamic voltage frequency scaling
US10303200B2 (en) * 2017-02-24 2019-05-28 Advanced Micro Devices, Inc. Clock divider device and methods thereof
WO2018213637A1 (en) * 2017-05-17 2018-11-22 Synopsys, Inc. Method for compression of emulation time line in presence of dynamic re-programming of clocks
CN109408846B (zh) 2017-08-18 2024-03-08 三星电子株式会社 集成电路、非暂时性计算机可读介质以及计算系统
US10579087B2 (en) * 2018-05-02 2020-03-03 Silicon Laboratories Inc. System, apparatus and method for flexible control of a voltage regulator of an integrated circuit
KR102577748B1 (ko) 2018-11-29 2023-09-14 에스케이하이닉스 주식회사 전원 제어 회로 및 이를 이용하는 반도체 장치
CN109885154B (zh) * 2019-02-28 2023-06-23 江西天漪半导体有限公司 一种带旁路通道的低功耗寄存器
US11360541B2 (en) * 2020-06-26 2022-06-14 Advanced Micro Devices, Inc. Programmable voltage regulation for data processor
CN112763890B (zh) * 2020-12-15 2022-09-16 成都海光微电子技术有限公司 用于芯片的自适应电压与频率调节的测试电路的实现方法
US11599139B1 (en) * 2021-09-03 2023-03-07 Xepic Corporation Limited Dynamic adjustment of root clock frequency in logic system design during verification

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7346861B1 (en) * 2004-12-02 2008-03-18 Altera Corporation Programmable logic devices with two-phase latch circuitry
CN101552600A (zh) * 2008-04-01 2009-10-07 阿尔特拉公司 健壮的时间借用脉冲锁存器

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7155617B2 (en) 2002-08-01 2006-12-26 Texas Instruments Incorporated Methods and systems for performing dynamic power management via frequency and voltage scaling
JP5417688B2 (ja) * 2007-03-15 2014-02-19 富士通株式会社 半導体集積回路
JP5481871B2 (ja) 2009-02-17 2014-04-23 富士通セミコンダクター株式会社 多電源システム、半導体集積回路
US8207764B2 (en) 2009-10-28 2012-06-26 Texas Instruments Incorporated Enhancement of power management using dynamic voltage and frequency scaling and digital phase lock loop high speed bypass mode
US8710889B1 (en) * 2010-09-22 2014-04-29 Altera Corporation Apparatus for controllable delay cell and associated methods
US8314632B1 (en) * 2011-07-29 2012-11-20 Lattice Semiconductor Corporation Method and system for placing integrated circuits into predominantly ultra-low voltage mode for standby purposes

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7346861B1 (en) * 2004-12-02 2008-03-18 Altera Corporation Programmable logic devices with two-phase latch circuitry
CN101552600A (zh) * 2008-04-01 2009-10-07 阿尔特拉公司 健壮的时间借用脉冲锁存器

Also Published As

Publication number Publication date
EP2762991A1 (en) 2014-08-06
US9065440B2 (en) 2015-06-23
US20140210510A1 (en) 2014-07-31
EP2762991B1 (en) 2015-09-16
CN103970254A (zh) 2014-08-06

Similar Documents

Publication Publication Date Title
CN103970254B (zh) 用于动态电压-频率调节的可旁路钟控存储电路
US11480993B2 (en) Methods for optimizing circuit performance via configurable clock skews
CN101277109B (zh) 可配置的时间借用触发器
JP3729943B2 (ja) 時間多重書込可能論理装置
US8595671B2 (en) Low-power FPGA circuits and methods
CN101552600A (zh) 健壮的时间借用脉冲锁存器
Chen et al. Low-power technology mapping for FPGA architectures with dual supply voltages
CN106250577A (zh) 用于执行有关位于与不同的时钟域关联的电路之间的同步区域的寄存器重定时操作的方法
US9147025B2 (en) Method for efficient FPGA packing
US10068042B1 (en) Methods and apparatus for regulating the supply voltage of an integrated circuit
US7669151B1 (en) Methods for reducing power supply simultaneous switching noise
Poon Power estimation for field programmable gate arrays
Bsoul et al. An FPGA with power-gated switch blocks
Low et al. Variation tolerant AFPGA architecture
Ganusov et al. Time-borrowing platform in the Xilinx Ultrascale+ family of FPGAs and MPSoCs
CN108446424A (zh) 用于为重定时的电路系统自动实现补偿重置的方法和装置
Chen et al. Technology mapping and clustering for FPGA architectures with dual supply voltages
Li et al. New power-aware placement for region-based FPGA architecture combined with dynamic power gating by PCHM
Stephenson Design guidelines for optimal results in FPGAs
Zakaria Asynchronous architecture for power efficiency and yield enhancement in the decananometric technologies: application to a multi-core system-on-chip
Chakravarthi et al. Clock Tree Synthesis (CTS) in SoC Physical Design
Gore OpenFPGA-Physical: A Scalable Framework for Physical Design of Tileable Field Programmable Gate Array Architectures
Memory Extended Temperature Fusion Family of Mixed Signal FPGAs Features and Benefits
Aken'ova et al. ``Soft++: An Improved Embedded FPGA Methodology for SoC Designs''
Marconi et al. A Novel Logic Element for Power Reduction in FPDs

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