《用于动态电压频率调节的可旁路钟控存储电路.pdf》由会员分享,可在线阅读,更多相关《用于动态电压频率调节的可旁路钟控存储电路.pdf(33页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103970254 A (43)申请公布日 2014.08.06 C N 1 0 3 9 7 0 2 5 4 A (21)申请号 201410042269.6 (22)申请日 2014.01.28 13/754,579 2013.01.30 US G06F 1/32(2006.01) (71)申请人阿尔特拉公司 地址美国加利福尼亚 (72)发明人 JC克劳姆扎克 (74)专利代理机构北京纪凯知识产权代理有限 公司 11245 代理人赵蓉民 (54) 发明名称 用于动态电压-频率调节的可旁路钟控存储 电路 (57) 摘要 用于动态电压-频率调节的可旁路钟控存储 电路。提。
2、供具有时序逻辑电路的集成电路。时序 逻辑电路可以包括耦合在速率关键输入终端和 速率关键输出终端之间的可旁路钟控存储元件的 链。组合逻辑电路可以插入到链中的每对相邻的 可旁路钟控存储元件之间。动态电压-频率调节 (DVFS)控制电路可以向组合逻辑电路提供可调节 的电源电压并可以提供可调节的时钟信号以控制 钟控存储元件。DVFS控制电路可以用来选择性地 使能至少一些可旁路钟控存储元件同时禁能其它 可旁路钟控存储元件,使得在维持相同的操作频 率的同时减小电源电压。可以对电源电压和时钟 信号的频率进行调节以提供期望的电压-频率平 衡。 (30)优先权数据 (51)Int.Cl. 权利要求书3页 说明书。
3、15页 附图14页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书3页 说明书15页 附图14页 (10)申请公布号 CN 103970254 A CN 103970254 A 1/3页 2 1.一种在至少第一和第二状态中操作集成电路的方法,其中所述集成电路包括插入在 数据路径中的逻辑电路,所述方法包括: 当在所述第一状态中操作所述集成电路时,以给定的频率操作所述逻辑电路的同时利 用具有第一电压水平的第一电源电压为所述逻辑电路供电;以及 当在所述第二状态中操作所述集成电路时,以所述给定的频率操作所述逻辑电路的同 时利用具有不同于所述第一电压水平的第二电压水平的第二电源电。
4、压为所述逻辑电路供 电。 2.如权利要求1所述的方法,其中所述逻辑电路包括插入在所述数据路径中的多个可 旁路钟控存储元件,所述方法包括: 当在所述第一状态中操作所述集成电路时,将所述多个可旁路钟控存储元件的第一子 集切换为使用;以及 当在所述第二状态中操作所述集成电路时,将所述多个可旁路钟控存储元件的不同于 所述第一子集的第二子集切换至使用。 3.如权利要求1所述的方法,其中所述逻辑电路进一步包括插入在所述数据路径中的 多个可旁路钟控存储元件和多个组合逻辑延迟元件,所述方法进一步包括: 当在所述第一状态中操作所述集成电路时,使能第一数量的可旁路钟控存储元件;以 及 当在所述第二状态中操作所述集。
5、成电路时,使能第二数量的可旁路钟控存储元件,其 中所述第二数量大于所述第一数量,并且其中所述第二电压水平小于所述第一电压水平。 4.如权利要求1所述的方法,其中所述集成电路进一步包括插入在额外的数据路径中 的额外的逻辑电路,并且其中所述逻辑电路和所述额外的逻辑电路中的每个都包括相应的 多个可旁路寄存器电路和组合逻辑延迟元件,所述方法进一步包括: 使能所述数据路径中的一部分可旁路寄存器电路,从而使所述数据路径呈现出给定的 数据路径时延;以及 使能所述额外的数据路径中的一部分可旁路寄存器电路,从而使所述额外的数据路径 呈现出所述给定的数据路径时延,其中与所述数据路径相关的所述组合逻辑延迟元件呈现 。
6、出和与所述额外的数据路径相关联的所述组合逻辑延迟元件的延迟不相同的延迟。 5.如权利要求1所述的方法,其中所述逻辑电路包括插入在所述数据路径中的时序逻 辑电路和组合逻辑电路,所述方法进一步包括: 将所述第一和第二电源电压中所选择的一个提供给所述组合逻辑电路;以及 将给定频率的时钟信号提供给所述时序逻辑电路。 6.如权利要求1所述的方法,进一步包括:当用所述第一电源电压为所述逻辑电路供 电时,以不同于所述给定频率的另一频率操作所述逻辑电路。 7.如权利要求1所述的方法,进一步包括:在所述第一和第二状态之间动态切换,而不 使用新的配置数据组来重新配置所述集成电路。 8.一种集成电路,其包括: 数据。
7、路径输入端; 数据路径输出端;以及 插入在所述数据路径输入端和所述数据路径输出端之间的多个可旁路钟控存储元件。 权 利 要 求 书CN 103970254 A 2/3页 3 9.如权利要求8所述的集成电路,进一步包括:多个组合逻辑延迟元件,每个组合逻辑 延迟元件都耦合在所述多个可旁路钟控存储元件中的至少相应的一对相邻的可旁路钟控 存储元件之间。 10.如权利要求9所述的集成电路,进一步包括:向所述多个组合逻辑延迟元件提供可 调节的电源电压的控制电路。 11.如权利要求9所述的集成电路,进一步包括:向所述多个可旁路钟控存储元件提供 可调节的时钟信号的控制电路。 12.如权利要求9所述的集成电路,。
8、其中所述多个可旁路钟控存储元件中的至少一个 可旁路钟控存储元件包括: 具有输入端和输出端的边沿触发的触发器电路;以及 多路复用电路,所述多路复用电路具有耦合到所述边沿触发的触发器电路的所述输入 端的第一输入端,耦合到所述边沿触发的触发器电路的所述输出端的第二输入端以及输出 端,其中所述多路复用电路被配置为当所述至少一个可旁路钟控存储元件被设置成旁路模 式时将来自第一输入端的信号路由至其输出端,并且其中所述多路复用电路被配置为当所 述至少一个可旁路钟控存储元件被设置成正常模式时将来自第二输入端的信号路由至其 输出端。 13.如权利要求9所述的集成电路,其中所述多个可旁路钟控存储元件中的至少一个 。
9、可旁路钟控存储元件包括: 以交叉耦合配置连接的第一和第二反相器;以及 插入在所述一对交叉耦合的反相器中的多路复用电路,其中所述多路复用电路被配置 为当所述至少一个可旁路钟控存储元件被设置成正常模式时以所述交叉耦合配置电气连 接所述第一和第二反相器;并且其中所述多路复用电路被配置为当所述至少一个可旁路钟 控存储元件被设置成旁路模式时暂停所述交叉耦合配置。 14.如权利要求9所述的集成电路,进一步包括: 向所述多个组合逻辑延迟元件提供可调节的电源电压并且向所述多个可旁路钟控存 储元件提供可调节的时钟信号的控制电路,其中所述控制电路适于以固定的操作频率执行 动态电压调节。 15.一种操作集成电路的方。
10、法,其中所述集成电路包括插入在数据路径中的具有反馈 环的逻辑电路,所述方法包括: 在第一多线程模式中,通过具有所述反馈环的所述逻辑电路处理来自第一数量的输入 线程的数据,同时,用第一电源电压对所述逻辑电路进行供电;以及 在第二多线程模式中,通过具有所述反馈环的所述逻辑电路处理来自不同于所述第一 数量的输入线程的第二数量的输入线程的数据,同时,用不同于所述第一电源电压的第二 电源电压对所述逻辑电路进行供电。 16.如权利要求15所述的方法,其中所述第二数量的输入线程大于所述第一数量的输 入线程,并且其中所述第二电源电压小于所述第一电源电压。 17.如权利要求16所述的方法,其中所述逻辑电路进一步。
11、包括插入在所述数据路径中 的多个可旁路钟控存储元件,进一步包括: 在所述第一多线程模式中使能所述多个可旁路钟控存储元件中的第一数量的可旁路 权 利 要 求 书CN 103970254 A 3/3页 4 钟控存储元件;以及 在所述第二多线程模式中使能所述多个可旁路钟控存储元件中的第二数量的可旁路 钟控存储元件;其中所述第二数量的可旁路钟控存储元件大于所述第一数量的可旁路钟控 存储元件。 18.如权利要求16所述的方法,进一步包括: 在所述第一多线程模式中,以给定频率操作所述逻辑电路;以及 在所述第二多线程模式中,以所述给定频率操作所述逻辑电路。 19.如权利要求15所述的方法,其中所述逻辑电路进。
12、一步包括插入在所述数据路径中 的多个可旁路钟控存储元件,进一步包括: 在所述第一多线程模式中使能所述多个可旁路钟控存储元件的第一子集;以及 在所述第二多线程模式中使能所述多个可旁路钟控存储元件的不同于所述第一子集 的第二子集。 20.如权利要求15所述的方法,其中所述集成电路进一步包括插入在所述数据路径中 的多路复用电路,所述方法进一步包括: 在所述第一多线程模式中,用所述多路复用电路将来自所述第一数量的输入线程的数 据路由至所述逻辑电路;以及在所述第二多线程模式中将所述第二数量的输入线程的数据 路由至所述逻辑电路,其中不同的输入线程之间没有数据依赖。 权 利 要 求 书CN 10397025。
13、4 A 1/15页 5 用于动态电压 - 频率调节的可旁路钟控存储电路 0001 本申请要求2013年1月30日提交的美国专利申请No.13/754,579的优先权,其 全文通过引用合并于此。 背景技术 0002 对数字集成电路在最小化功率消耗的同时以较高的速率运行的需求不断增加。为 了在功率消耗和跨各种应用和运行条件的性能之间实现期望的平衡,有时为数字集成电路 提供动态电压-频率调节(DVFS)能力。 0003 在常规的动态电压-频率调节方案中,集成电路能够在不同的频率-电压点运行。 当需要更高的性能时,可以增加电压来减少门延迟并允许增加计时频率。当期望低功耗时, 计时频率被减小以允许电压的。
14、减小。根据当前的输入工作量或运行条件的变化,可以将集 成电路设置成这些不同的电压-频率状态。 0004 常规的DVFS方案允许集成电路在不连续的电压-频率点处或在连续的电压-频 率范围内运行。然而,电压和频率之间的关系在设计时是固定的,并且由特定的电路结构确 定。例如,考虑集成电路包含插入在两个触发器电路之间的组合逻辑的情形,其中当利用 1.0V的电源电压为组合逻辑供电时,组合逻辑表现出四纳秒的传播延迟。在该示例中,能够 运行触发器电路的最大工作频率被限制在250MHz。也就是说,给定电压处的最大工作频率 完全由组合逻辑的电路结构确定,并且更具体地由与组合逻辑相关联的延迟确定,无论是 组合逻辑。
15、的电路结构还是与组合逻辑相关联的延迟都无法在制造之后调节。 发明内容 0005 本发明通常涉及集成电路,更具体地,涉及具有动态电压-频率调节能力的集成 电路。可以为集成电路(例如,提供有配置数据的可编程集成电路)提供插入在数据路径中 的逻辑电路。该逻辑电路可以包括如可旁路钟控存储元件(有时也被称为可旁路寄存器)的 时序逻辑电路和如逻辑延迟元件(例如,逻辑门、可编程互连等)的组合逻辑电路。逻辑延迟 元件可以耦合在数据路径中的每对相邻可旁路寄存器之间。 0006 集成电路可以运行在各种电压-频率状态中。在第一状态中,当逻辑电路以给定 频率操作时,可以用控制电路来为逻辑电路提供第一电源电压。在第二状。
16、态中,当逻辑电路 以给定频率操作时,可以用控制电路来为逻辑电路提供第二电源电压。在第一状态期间,可 以将第一数量的可旁路寄存器切换至使用,而在第二状态期间,可以将第二数量的可旁路 寄存器切换至使用。 0007 也就是说,可以通过选择性地使能数据路径中的适当数量的可旁路寄存器以固定 的工作频率执行电压调节。控制电路可以动态地从第一状态切换为第二状态而不必用一组 新的配置数据来重新配置集成电路,并且反之亦然。通常,控制电路可以用来通过向组合逻 辑电路提供可调节的电源电压以及向时序逻辑电路提供可调节的频率时钟信号而实现动 态电压-频率调节功能。 0008 如果需要,集成电路可以支持多线程操作来处理带。
17、有反馈环的逻辑电路。特别地, 说 明 书CN 103970254 A 2/15页 6 也可以为带有反馈环的逻辑电路提供可旁路寄存器。在不同的多线程模式中,可以使能不 同数量的可旁路寄存器来处理来自相应数量的线程的输入信号。通常,将更多的可旁路寄 存器切换至使用可以用于以时延为代价使能更低的电压操作(例如,可以通过多线程技术 以反馈电路的固定频率执行电压调节)。 0009 根据附图和下文的具体实施方式,本发明的进一步的特征、其本质和各种优势将 更加明显。 附图说明 0010 图1是根据本发明实施例的说明性可编程集成电路的图示。 0011 图2是根据本发明的实施例可以利用逻辑设计系统来配置可编程集。
18、成电路的说 明性系统环境的图示。 0012 图3是根据本发明的实施例用于生成实现可编程集成电路中的定制电路设计的 配置数据的逻辑设计系统的图示。 0013 图4是根据本发明的实施例可以在逻辑设计系统中使用的说明性计算机辅助设 计(CAD)工具的图示。 0014 图5是根据本发明的实施例用于设计定制逻辑电路及执行时序分析的说明性步 骤的流程图。 0015 图6是根据本发明实施例的可旁路钟控存储元件和组合逻辑延迟元件的说明性 链的图示。 0016 图7和图8是根据本发明实施例的说明性可旁路钟控存储元件的电路图。 0017 图9A、图9B和图9C是根据本发明的实施例示出被配置为在不同的电压-频率状 。
19、态中运行的图6的可旁路钟控存储元件和组合逻辑延迟元件的链的图示。 0018 图10是根据本发明的实施例示出次优电压-频率调节配置的图示。 0019 图11是根据本发明的实施例示出最优电压-频率调节配置的图示。 0020 图12是根据本发明实施例的带有可编程除法器的说明性锁相环(PLL)的图示。 0021 图13是根据本发明实施例的说明性时钟信号选择电路的图示。 0022 图14是根据本发明实施例的说明性可编程电压调节器的图示。 0023 图15是根据本发明实施例的说明性电源电压选择电路的图示。 0024 图16是根据本发明的实施例示出具有平衡延迟的两个说明性数据路径的图示。 0025 图17是。
20、根据本发明的实施例具有耦合到前馈路径的可旁路钟控存储元件的说明 性环电路的图示。 0026 图18是根据本发明实施例的工作在单线程模式中的说明性累加器环的图示。 0027 图19是根据本发明实施例的工作在双线程模式中的说明性累加器环的图示。 0028 图20是根据本发明实施例的可操作以在多线程配置中工作的说明性环电路的图 示。 0029 图21是根据本发明实施例的用于执行动态电压-频率调节操作的说明性步骤的 流程图。 具体实施方式 说 明 书CN 103970254 A 3/15页 7 0030 本发明的各实施例涉及具有逻辑电路的集成电路。该集成电路可以是任何合适类 型的集成电路,例如微处理器。
21、、专用集成电路、数字信号处理器、存储器电路或其它集成电 路。如果需要,则集成电路可以是包含可编程逻辑电路的可编程集成电路。本发明将主要 在集成电路如作为示例的可编程逻辑器件(PLD)集成电路的背景中描述。 0031 图1是说明性集成电路如可编程集成电路10的图示。可编程器件10可以包括输 入-输出电路12,其用于通过输入-输出引脚14将信号驱动离开器件10并接收来自其它 器件的信号。互连资源16如全局和局部垂直和水平导线以及总线可以用来路由(route)器 件10上的信号。互连资源16包括导线和相应的导线之间的可编程连接,因此其有时被称 为可编程互连16。 0032 可编程器件10可以包括可编。
22、程逻辑18,其可以被配置为执行定制逻辑功能。可编 程逻辑18可以包括组合逻辑电路和时序逻辑电路。可编程互连16可以被看作是一种类型 的可编程逻辑18。 0033 器件10也可以包含可编程存储器元件20。可以利用引脚14和输入-输出电路 12对存储器元件20加载配置数据(也称为编程数据)。一旦被加载,存储器元件中的每个都 可以提供相应的静态控制信号,该静态控制信号控制可编程逻辑18中的相关联的逻辑组 件的操作。在典型情况下,加载的存储器元件20的输出被施加到可编程逻辑18中的金属 氧化物半导体晶体管的栅极以打开或关闭某些晶体管,并由此配置可编程逻辑18中的逻 辑及路由路径。可以以这种方式控制的可。
23、编程逻辑电路元件包括导通晶体管、多路复用器 的部分(例如,用于在可编程互连16中形成路由路径的多路复用器)、查找表、逻辑阵列、各 种逻辑门等。 0034 存储器元件20可以利用任何合适的易失性和/或非易失性存储器结构如随机访 问存储器(RAM)单元、熔断器、反熔丝、可编程只读存储器存储单元、掩膜编程和激光编程结 构、这些结构的组合等来实现。由于在编程期间存储器元件20加载有配置数据,因此存储 器元件20有时被称为配置存储器、配置RAM(CRAM)或可编程存储器元件。 0035 可以利用任何合适的架构来组织器件10的电路。作为示例,可以将器件10的逻 辑组织在较大可编程逻辑区域的一系列行和列中,。
24、每个可编程逻辑区域包含多个较小的逻 辑区域。较小的逻辑区域可以是诸如有时被称为逻辑元件(LE)的逻辑区域,每个逻辑元件 都包含查找表(LUT)、一个或更多寄存器和可编程多路复用器电路。较小的区域也可以是诸 如有时被称为自适应逻辑模块(ALM)的逻辑区域。每个自适应逻辑模块都可以包括一对加 法器、一对相关联的寄存器以及查找表或共享组合逻辑的其它块(作为示例)。较大的区域 可以是诸如包含多个逻辑元件或多个ALM的逻辑阵列块(LAB)。在图1的示例中,说明性逻 辑区域22(其可以是诸如LE或ALM)显示在图1中的可编程逻辑18的较大区域中。在典 型的可编程逻辑器件10中,可能有成百或上千个较小的逻辑。
25、区域22。图1中所示的逻辑区 域22仅是说明性的。 0036 在器件编程期间,配置数据被加载到器件10中,该配置数据对可编程逻辑区域22 和可编程逻辑区域18进行配置,使得他们的逻辑资源根据其输入执行期望的逻辑功能并 产生期望的输出信号。例如,对CRAM单元加载合适的配置数据位,以配置器件10上的加法 器和其它电路来实现期望的定制逻辑设计。 0037 可以用可编程互连16来互连如可编程逻辑18的器件10的资源。互连16通常包 说 明 书CN 103970254 A 4/15页 8 括竖直和水平的导体。这些导体可以包括基本上跨越器件10的全部的全局导线、跨越器件 10的一部分的部分线路如半线或四。
26、分之一线、特定长度的交错线(例如,足以互连几个逻辑 阵列块或其它这样的逻辑区域)、更小的局部线路或任何其它合适的互连资源布置。如果需 要,器件10的逻辑可以被布置成更多的等级或层,在这些更多的等级或层中,可以对多个 大的区域进行互连来形成逻辑的更大部分。其它器件布置仍然可以使用没有按行和列布置 的逻辑。 0038 除了图1中所示的可编程逻辑的相对较大的块之外,器件10通常也包括一些与器 件10上的可编程互连、存储器以及输入-输出电路相关联的可编程逻辑。例如,输入-输 出电路12可以包含可编程输入和输出缓冲器。可以将互连16编程为将信号路由到期望的 目的地。 0039 图2中示出用于设计和配置可。
27、编程集成电路10的说明性系统环境。器件10可以 被安装在系统380的板360上。器件10可以从编程设备或从任何其它合适的设备或器件 中接收配置数据。 0040 在图2的示例中,器件10是从相关联的集成电路400接收配置数据的一种类型的 可编程集成电路。在这种类型的布置下,如果需要,电路400可以安装在与器件10相同的 板360上。电路400可以是将来自外部电可擦除可编程只读存储器(EEPRAM)芯片的配置数 据加载到可编程逻辑器件存储器的可编程逻辑器件配置数据加载芯片、带有内置存储器的 可编程逻辑器件配置数据加载芯片(有时被称为配置器件)或任何其它合适的器件。当系统 380启动时(或在另一合适。
28、的时间),配置数据可以从器件400提供给器件10,如由路径420 示意性示出的。提供给器件10的配置数据可以存储在器件10的可编程元件20(例如,配 置随机访问存储器元件)中。 0041 系统380可以包括与器件10通信的处理电路440、存储460以及其它系统组件 480。系统380的组件可以位于一个或更多板(例如,板360)上或其它合适的安装结构或外 壳上。 0042 可以利用通信路径将器件10互连到其它组件。例如,可以利用通信路径370在安 装在板360上的集成电路390和器件10之间传递数据。可以利用通信路径350和500在 器件10和组件440、460和480之间传递信号。 0043 。
29、可以通过路径如路径520将器件10的配置数据提供给配置器件400。例如,配置 器件400可以从配置数据加载设备540或在配置器件400中存储配置数据的其它合适的设 备中接收配置数据。器件400可以在安装到板360之前或之后加载数据。 0044 在可编程逻辑器件中设计并实现期望的逻辑电路是一项重要的工作。因此,逻辑 设计者通常使用基于计算机辅助设计(CAD)工具的逻辑设计系统来帮助他们设计电路。逻 辑设计系统(有时被称为电路设计系统)可以帮助逻辑设计者设计并测试系统的复杂电路。 当设计完成时,可以利用逻辑设计系统来生成用于电编程适当的可编程逻辑器件的配置数 据。逻辑设计系统可以在计算设备上实现。。
30、 0045 如图2所示,可以通过路径如路径580将逻辑设计系统560产生的配置数据提供 给设备540。设备540将配置数据提供给器件400,使得器件400随后能够通过路径420将 该配置数据提供给器件10。系统560可以基于一个或更多计算机或一个或更多软件程序。 通常,软件和数据可以存储在系统560中并被示意性示为存储装置600的任何计算机可读 说 明 书CN 103970254 A 5/15页 9 介质(存储)上。 0046 在典型的情形下,逻辑设计者使用逻辑设计系统560来创建定制电路设计。系统 560产生提供给配置器件400的相应配置数据。上电后,可以利用配置器件400和器件10 上的数。
31、据加载电路将配置数据加载到器件10的可编程存储器元件20中。然后,器件10可 以用于系统380的正常操作。 0047 图3根据本发明示出说明性逻辑设计系统560。系统560可以基于一个或更多处 理器,例如个人计算机、工作站等。处理器可以使用网络(例如,局域网或广域网)来链接。 这些计算机中的存储器或外部存储器和存储设备如内部和/外部硬盘可用来存储指令和 数据。 0048 基于软件的组件如计算机辅助设计工具620和数据库630位于系统560上。在操 作期间,可执行软件如计算机辅助设计工具620的软件在系统560的处理器上运行。数据 库630用来存储用于系统560的操作的数据。通常,软件和数据可以。
32、存储在系统560中的 任何计算机可读介质(存储装置)中。这种存储装置(示意性示为图2的存储600)可以包括 计算机存储器芯片、可移除和固定介质如硬盘驱动器、闪存、光盘(CD)、DVD、其它光学介质 和软盘、磁带或任何其它合适的存储器或存储器件。当系统560的软件被安装时,系统560 的存储装置600具有引起系统560中的计算设备执行各种方法(过程)的指令和数据。当执 行这些过程时,计算设备被配置为实现逻辑设计系统的功能。 0049 计算机辅助设计(CAD)工具620(其中的一些或全部有时被统称为CAD工具)可以 由单个供应商或多个供应商提供。工具620可以被提供为工具的一个或更多套件(例如,用。
33、 于执行与实现可编程逻辑器件中的电路设计相关联的编译器套件)和/或作为一个或更多 独立的软件组件(工具)。数据库630可以包括仅由特定的一个或多个工具访问的一个或更 多数据库,并可以包括一个或更多共享数据库。共享数据库可以由多个工具访问。例如,第 一工具可以为第二工具将数据存储在共享数据库中。第二工具可访问该共享数据库以获取 由第一工具存储的数据。这允许一个工具将信息传递到另一工具。如果期望的话,工具也 可以在彼此之间传递信息而不在共享数据库中存储信息。 0050 图4示出可以在如图2和图3的系统560的逻辑设计系统中使用的说明性计算机 辅助设计工具620。 0051 设计过程一般以阐明逻辑电。
34、路功能规范(例如,逻辑电路的功能描述)开始。逻辑 设计者可以利用设计和约束输入工具来指定期望的电路应当如何起作用。设计和约束输入 工具664可以包括诸如设计和约束输入帮助666和设计编辑器668的工具。可以利用如帮 助666的设计和约束输入帮助来帮助逻辑设计者从现有的逻辑设计库中定位期望的设计, 并可以向逻辑设计者提供计算机辅助协助以输入(指定)期望的设计。 0052 作为示例,设计和约束输入帮助666可用于向用户呈现屏幕选项。用户可以点击 屏幕上的选项以选择设计的电路是否应当具有某些特征。设计编辑器668可用于输入设计 (例如,通过输入多行硬件描述语言代码),可用于编辑从库中得到的设计(例如。
35、,使用设计 和约束输入帮助),或者可帮助用户选择并编辑适当的预封装/预打包的代码/设计。 0053 设计和约束输入工具664可用于允许逻辑设计者用任何合适的格式提供期望的 逻辑设计。例如,设计和约束输入工具664可以包括允许逻辑设计者使用真值表输入逻辑 设计的工具。真值表可以利用文本文件或时序图来指定并可以从库中导入。真值表逻辑设 说 明 书CN 103970254 A 6/15页 10 计和约束输入可以用于大型电路的一部分或用于整个电路。 0054 作为另一示例,设计和约束输入工具664可以包括示意性捕获工具。示意性捕获 工具可以允许逻辑设计者根据构成部件如逻辑门和逻辑门的群组可视地构建逻辑。
36、电路。先 前存在的逻辑电路的库可用于允许使用示意性捕获工具导入设计的期望部分。 0055 如果期望,设计和约束输入工具664可以允许逻辑设计者使用硬件描述语言如 Verilog硬件描述语言(HDL)或超高速集成电路硬件描述语言(VHDL)向逻辑设计系统560 提供逻辑设计。逻辑电路的设计者可通过使用编辑器668写入硬件描述语言代码来输入逻 辑设计。代码块可以根据需要从用户维持的库或商用库中导入。 0056 在利用设计和约束输入工具664输入设计之后,可以利用行为仿真工具672来仿 真该设计的功能性能。如果该设计的功能性能不完整或不正确,则逻辑设计者可以利用设 计和约束输入工具664来改变设计。。
37、在使用工具674执行合成操作之前,可以利用行为仿 真工具672来验证新设计的功能操作。如果需要,也可以在设计流程中的其它阶段(例如, 在逻辑合成之后)使用如工具672的仿真工具。可以将行为仿真工具672的输出以任何合 适的格式(例如,真值表、时序图等)提供给逻辑设计者。 0057 一旦确定逻辑设计的功能操作达到要求,就可以利用逻辑合成和优化工具674在 特定的可编程逻辑器件中(即,在特定的可编程逻辑器件产品或产品族的逻辑和互连资源 中)实现该逻辑设计。 0058 工具674试图基于逻辑设计者利用工具664输入的逻辑设计数据和约束数据通过 选择适当的硬件实现逻辑设计中的不同逻辑功能来优化设计。 。
38、0059 在利用工具674进行逻辑合成和优化之后,逻辑设计系统可以使用工具如布局和 布线工具676来执行物理设计步骤(布局合成操作)。可以利用布局和布线工具676来确定 如何在可编程逻辑器件内布置每个逻辑功能的电路。例如,如果两个计数器彼此交互,则布 局和布线工具676可以将这些计数器定位在可编程逻辑器件上的相邻逻辑区域中以减小 互联延迟或满足规定了允许的最大互联延迟的时序要求。布局和布线工具676为给定的可 编程逻辑器件产生逻辑设计的有序和有效的实现。 0060 如工具674和676的工具可以是编译器套件的一部分(例如,由可编程逻辑器件销 售商提供的编译器工具的套件的一部分)。根据本发明,如。
39、工具674、676和678的工具可以 自动考虑实施期望的电路设计时互连之间的串扰效应。工具674、676和678也可以包括时 序分析工具。这使得工具674和676在为编程集成电路如可编程集成电路10生成配置数 据时满足性能要求(例如,时序要求)。 0061 在利用布局和布线工具676生成可编程逻辑器件中的期望的逻辑设计的实现之 后,可以利用分析工具678对设计的实现进行分析和测试。在利用工具620完成满意的优 化操作之后,工具620可以为可编程逻辑器件产生配置数据。 0062 图5中示出使用图4的工具620产生配置数据文件所涉及的说明性操作。如图5 所示,在步骤82中对初始网表80进行合成,以。
40、产生后合成网表84。在步骤86中,在布局 和布线以及优化操作期间对用户输入88和后合成网表84进行处理。在步骤86的操作期 间,CAD工具620考虑使用不同的正向电源电压和/或体偏置电压的影响,并且通过电源和 体偏置水平的适当选择、电路资源的分配以及布局决策,工具620在满足设计约束的同时 降低了功耗。 说 明 书CN 103970254 A 10 7/15页 11 0063 可以通过使用逻辑设计系统560执行时序分析(步骤91)来进一步处理产生的网 表90。时序分析可用来帮助确保在配置可编程集成电路10之前最终网表90满足时序约 束。如果需要,处理可以可选地通过路径93返回到步骤86,以利用。
41、最终网表来执行额外的 优化。例如,逻辑设计系统560可以识别最终网表中不满足时序约束的路由路径并经由可 选路径93返回到步骤86来确定替换路由路径。 0064 在步骤92中,可以在汇编过程期间进一步对最终网表进行处理以产生配置数据 文件输出(例如,.pof或.sof文件)。然后,可以将配置数据文件输出加载到可编程器件10 上。 0065 图6示出本发明的一个合适的实施例,其中器件10包括逻辑数据路径如数据路径 100。如图6所示,数据路径100可以耦合在输入端102和输出端104之间。为满足性能标 准,将数据从输入端102传送到输出端104的速率和在输出104处生成数据的速率可能必 须大于预定。
42、的阈值水平。因此,终端102和104有时可以被分别称为速率关键输入端和速 率关键输出端,并且数据路径100可以被称为关键数据路径。 0066 可以将多个存储元件如钟控存储元件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的 时序逻辑电。
43、路。在一些实施例中,可以利用有时被称为触发器的边沿触发寄存器电路(例 如,正向边沿触发的触发器或负向边沿触发的触发器)来实现元件110。在其它实施例中, 可以利用电平敏感锁存器如脉冲锁存器来实现元件110。这些示例仅仅是说明性的。如果 需要,可以利用其它类型的时序或时钟控制存储组件来实现元件110。 0067 组合逻辑(CL)如组合逻辑延迟元件106可以耦合在相邻的每对钟控(时序)存储 元件110之间。延迟元件可以包括逻辑门、互连路径和/或其它可编程逻辑电路。在图6 的示例中,第一逻辑延迟元件106可以耦合在寄存器R0的输出和寄存器R1的输入之间的 数据路径中,第二逻辑延迟元件106可以耦合在。
44、寄存器R1的输出和寄存器R2的输入之间 的数据路径中,第三逻辑延迟元件106可以耦合在寄存器R2的输出和寄存器R3的输入之 间的数据路径中,并且第四逻辑延迟元件106可以耦合在寄存器R3的输出和寄存器R4的 输入之间的数据路径中。每个组合逻辑延迟元件106都可以具有能够通过非关键数据路径 接收其它数据信号的其它输入,例如输入107。当确定器件10的最大工作频率时,只需要对 速率关键数据路径的吞吐量进行分析(例如,关键数据路径包括任意两个相邻时序电路之 间的最大组合延迟)。 0068 根据本发明的实施例,器件10可以提供有动态电压-频率调节(DVFS)能力。也 就是说,可以以各种工作频率以及不同。
45、的电源电压水平操作数据路径100(例如,可以在不 同的电压-频率设置或“状态”上操作器件10上的逻辑电路)。器件10能够动态地从一个 状态切换到另一状态而不必用新的配置数据组来重新配置集成电路。 0069 特别地,可以通过操作时序元件110作为“可旁路”钟控存储元件来执行固定工作 频率的电压调节。例如,可以将每个寄存器110都设置为正常模式或旁路模式。当寄存器 110设置为正常模式时,寄存器110被切换至使用并能够锁存其输入端的数据并在其输出 说 明 书CN 103970254 A 11 8/15页 12 端呈现相应的锁存数据。当寄存器110被设置为旁路(或透明)模式时,寄存器110被有效 地。
46、从使用中切换出来,并且在其输入端呈现的任何数据都被直接传送到其输出端。为满足 设计标准,可以通过用设计工具620执行期望的时序分析91来验证不同的电压-频率操作 设置(假设合适的钟控存储元件已经被使能)。 0070 图7是示出旁路钟控存储元件110的一个合适的布置的电路图。如图7所示,钟 控存储元件110可以包括由相关联的动态电压-频率调节(DVFS)控制电路120控制的寄 存器114和多路复用电路112。寄存器114可以是边沿触发的触发器或电平敏感锁存器(例 如,脉冲锁存器)。寄存器114可以具有用作元件110的输入终端A的数据输入端D、输出端 Q和时钟输入端。多路复用器112可以具有耦合到。
47、寄存器114的数据输入端的第一(0)输 入端、耦合到寄存器114的输出端Q的第二(1)输入端、用作元件110的输出终端B的输出 端以及控制输入端。 0071 可以利用控制电路120来产生到寄存器114的时钟输入端的可调节时钟信号Clk、 到多路复用器112的控制输入端的控制信号Ctr以及用于为数据路径100中的电路供电的 可调节电源电压Vcc。控制电路120可以使信号Ctr有效用于将钟控存储元件110设置为 正常模式(例如,用于配置多路复用器112将来自其第二输入端的信号路由至其输出端),并 可以使信号Ctr无效以将钟控存储元件110设置为旁路模式(例如,以配置多路复用器112 以将来自其第一。
48、输入端的信号路由至其输出端)。当执行电压-频率调节操作时,也可以利 用动态电压-频率调节控制电路120来调节信号Clk的频率和Vcc的电压水平。 0072 图8是示出旁路钟控存储元件110的另一合适的布置的电路图。如图8所示,钟控 存储元件110可以包括逻辑NAND门130、多路复用器122以及反相器124、126和128。反 相器128可以具有用作元件110的输入终端A的输入端以及输出端。多路复用器122可以 具有第一(0)输入端、耦合到反相器128的输出端的第二(1)输入端、输出端以及控制输入 端。反相器126可以具有耦合到多路复用器122的输出端的输入端和用作元件110的输出 终端B的输。
49、出端。反相器124可以具有耦合到反相器126的输出端的输入端和耦合到多路 复用器122的第一输入端的输出端。当多路复用器122被配置为将来自其第一输入端的信 号路由到其输出端时,以这种交叉耦合配置连接的反相器124和126可以用作锁存电路。 0073 逻辑NAND门可以具有分别从DVFS控制电路120接收时钟脉冲信号Cp和控制信 号Ctr的第一输入端和第二输入端,并可以具有耦合到多路复用器122的控制输入端的输 出端。控制电路120可以用来生成可调节的时钟脉冲信号Cp(例如,具有可调节的脉冲宽 度的时钟信号)、控制信号Ctr以及用于为数据路径100中的电路供电的可调节电源电压 Vcc。控制电路120可以使信号Ctr有效以将钟控存储元件110设置为正常模式(例如,信 号Cp可以被传送到多路复用器122),并可以使信号Ctr无效以将钟控存储元件110设置为 旁路模式(例如,通过使用门130迫使多路复用器122的控制输入端处于高电压水平)。也 就是说,当元件110被设置为正常模式时,多路复用电路1。