用于减少可编程逻辑器件的功率消耗的装置和相关方法

文档序号:7526223阅读:99来源:国知局
专利名称:用于减少可编程逻辑器件的功率消耗的装置和相关方法
技术领域
所公开的构思 一 般地涉及控制、调整和优化可编程逻辑器件 (PLD)的性能,并且更具体而言,涉及调整PLD的功率消耗。
背景技术
PLD是灵活的电子器件,其允许用户根据需要对器件的功能性 进行改变或编程。为了适应用户日益复杂的设计,现代的PLD包括 相对多的数目的晶体管。结果,PLD的功率消耗、功率耗散、管芯 温度以及因此的功率密度(在各种电路或块中的功率耗散)已经成 为曰益重要的问题。

发明内容
在一个所示的实施例中,可编程逻辑器件(PLD)包括驱动器电 路、配置存储器和控制电路。配置存储器存储驱动器电路的驱动强 度信息。控制电路使用存储在配置电路中的驱动强度信息来控制驱 动器的驱动强度。在另一个示例性实施例中,PLD包括传送信号的 驱动器电路和接收该信号并生成接收信号的接收器电路。PLD还包 括使用接收信号的至少 一 个质量标准来控制驱动器电路的特性的控 制电路。在又一示例性实施例中,控制PLD的功率消耗的方法包括 生成关于驱动器电路的电流驱动能力的信息并存储该关于驱动器电路的电流驱动能力的信息。该方法还包括使用该信息来控制驱动器 电路的电流驱动能力。


的限定。受益于本公开的本领域普通技术人员可以认识到,所公开 的构思也适用于其它等同效果的实施例。在附图中,在一个或更多 个附图中使用相同的附图标记来表示相同、相似或等同的功能性、
部件或块。
图1示出了根据示例性实施例的PLD的 一般框图。
图2示出了根据示例性实施例的PLD计算机辅助设计(CAD)
软件的各种软件模块。
图3示出了根据示例性实施例的PLD中的可编程逻辑和可编程
互连的概念性简化框图。
图4描述了根据示例性实施例的用于控制PLD的功率消耗的电
路的概念性框图。
图5示出了根据示例性实施例的驱动器电路的简化示意图。 图6示出了根据另 一 示例性实施例的驱动器电路的简化示意图。 图7描述了根据又 一 示例性实施例的驱动器电路的简化示意图。 图8描述了根据再一示例性实施例的驱动器电路的简化示意图。 图9示出了根据示例性实施例的用于控制PLD的功率消耗的电
路的概念性框图。
图10描述了根据另 一 示例性实施例的用于控制PLD的功率消耗
的电路的概念性框图。
具体实施例方式
所公开的构思涉及用于控制、调整和优化PLD的功率消耗的装 置和相关方法。更具体而言,所公开的构思提供了用于控制PLD内 的互连电路的功率消耗的纟支术。图1示出了根据示例性实施例的PLD 103的一般框图。PLD 103 包括配置电路130、配置存储器(CRAM) 133、控制电路136、可 编程逻辑106、可编程互连109以及I/O电路112。另外,根据需要, PLD 103可以包括测试/调试电路115、 一个或更多个处理器118、 一 个或更多个通信电路121、 一个或更多个存储器124、 一个或更多个 控制器127。
注意,图1示出了 PLD 103的简化框图。由此,如本领域普通 技术人员所理解的那样,PLD 103可以包括其它块和电路。这种电 路的例子包括时钟生成和分配电路、冗余电路等。此外,根据需要, PLD 103可以包括模拟电路、其它数字电^各和/或混合信号电路。根 据需要,可以将设计方法和所公开构思应用于PLD 103的各种资源、 块或电路。此外,可以将所公开的方法和构思应用于其它PLD架构, 包括任何需要的块、区域或电路,如受益于所公开构思的描述的本 领域普通技术人员所理解的那样。
可编程逻辑106包括可配置或可编程逻辑电路的块,诸如查找 表(LUT)、乘积项逻辑、复用器(MUX)、逻辑门、寄存器、存 储器等。可编程互连109耦合到可编程逻辑106并在可编程逻辑106 内的各种块和PLD 103内或外的其它电路之间提供可配置互连(耦 合机制)。
控制电路136控制PLD 103内的各种操作,包括用于控制、调 整和优化PLD 103的功率消^>的各方面4支术,如以下详细描述的那 样。在控制电路136的控制下,PLD配置电路130使用配置数据(从 诸如存储设备、主机等的外部源获得)来编程或配置PLD 103的功 能性。配置数据通常存储CRAM 133中的信息。CRAM 133的内容 确定PLD 103的诸如可编程逻辑106和可编程互连109的各种块的 功能性,如受益于本公开的本领域普通技术人员所理解的那样。
I/O电路112可以包括各种不同的1/0设备或电路,正如受益于 所公开构思的描述的本领域普通技术人员所理解的那样。I/O电路 112可以耦合到PLD 103的各种部件,例如,可编程逻辑106和可编程互连109。 I/O电路112提供用于使PLD 103内各种块与外部电 路或设备通信的才几制和电路。
测试/调试电路115实现PLD 103内的各种块和电路的测试和故 障排除。测试/调试电路115可以包括受益于所公开构思的描述的本 领域普通技术人员已知的各种块或电路。例如,根据需要,测试/调 试电路115可以包括用于在PLD 103通电或重启后执行测试的电路。 根据需要,测试/调试电路115还可以包括编码和奇偶校验电路。
PLD 103可以包括一个或多个处理器118。处理器118可以耦合 到PLD 103内的其它块和电路。处理器118可以从PLD 103内或外 的电路接收数据和信息,并且以各种不同的方式来处理信息,如受 益于所公开构思的描述的本领域普通技术人员所理解的那样。 一个 或更多个处理器118可以包括数字信号处理器(DSP)。根据需要, DSP允许执行各种不同的信号处理任务,诸如压缩、解压缩、音频 处理、视频处理、滤波等。
PLD 103还可以包括一个或更多个通信电^各121。通信电^各121 可以实现PLD 103内的各种电路与PLD 103外的电路之间的数据和 信息交换,如受益于本公开的本领域普通技术人员所理解的那样。
PLD 103还可以包括一个或更多个存储器124以及一个或更多 个控制器127。存储器124允许存储PLD 103内的各种数据和信息 (诸如用户数据、中间结果、计算结果等)。根据需要,存储器124 可以具有粒状或块的形式。控制器127允许对PLD外的电路的各种 功能和操作进行接口连接和控制。例如,根据需要,控制器127可 以包括对外部同步动态随机存取存储器(SDRAM)进行接口连接和 控制的存储器控制器。
图2示出了根据示例性实施例的PLD中的可编程逻辑106和可 编程互连109的概念性简化框图。PLD 103包括设置为二维阵列的 可编程逻辑106。设置为水平互连和垂直互连的可编程互连109将可 编程逻辑106的块彼此耦合。
在所示实施例中,PLD可以具有分级架构。换句话i兌,可编程
8逻辑106中的每个块又可以包括更小或更多粒状的可编程逻辑块或
电路。此外,可编程互连109可以具有分级架构。如受益于所公开 构思的描述的本领域普通技术人员所理解的那样,可编程互连109 可以包括将可编程逻辑106的部分与PLD 103内或外的其它电路耦 合的互连电路的各段。
可编程互连109可以包括互连电路,根据需要且如受益于所公 开构思的描述的本领域普通技术人员所理解的那样,该互连电路跨 过PLD103内的整行或整列电路或者行和/或列的子集。 一般来说, 可编程互连109的架构依赖于PLD 103的整体架构。与可编程互连 109的结构和具体细节无关,可以使用所公开的技术来调整或控制可 编程互连109的至少一部分的功率消耗,并因此可以调整或控制PLD 103整体的功率消^^。
实施PLD中的设计通常需要使用CAD软件。根据所公开构思的 一个方面,CAD软件确定关于在PLD 103中的可编程互连109中的 各种驱动器的信息(例如,合适或需要的"驱动强度")。CAD软 件可以基于各种因素,诸如驱动器、接收器、耦合机制等的物理位 置和电属性来确定该信息,如受益于所公开构思的描述的本领域普 通技术人员所理解的那样。
图3示出根据所示实施例的PLD计算机辅助设计(CAD)软件 所使用的各种软件模块。这些模块包括设计入口模块150、合成模块 155、布局和布线模块160以及验证模块165。以下描述提供对每个 模块的操作的简单说明,随后是用于减少或最小化PLD中功率消耗 的CAD技术的描述。
设计入口模块150允许多个设计文件的集成。根据需要,用户 可以通过使用设计入口模块150或通过使用各种电子设计自动化 (EDA)或CAD工具(诸如工业标准EDA工具)来生成设计文件。 根据需要,用户可以以图形格式、基于波形的格式、示意图格式、 文本或二进制格式或这些格式的组合来进入设计。
合成模块155接受设计入口模块150的输出。基于用户提供的设计,合成模块155生成实现用户提供的设计的合适的逻辑电路。
一个或更多个PLD (没有明确示出)实现合成的整体设计或系统。
合成模块155也可以生成允许用户设计中的各种模块的集成以 及适当操作和接口连接的任何胶合逻辑。例如,合成模块155提供 合适的硬件,使得一个块的输出适当地与另 一个块的输入接口连接。 合成模块155可以提供合适的硬件以满足整体设计或系统中的每个 模块的规格。
此外,合成模块155可以包括用于优化合成设计的算法和例程。 通过优化,合成模块155寻求更有效地使用实施整体设计或系统的 一个或更多个PLD的资源。合成模块155提供其输出至布局和布线 模块160。
布局和布线模块160使用设计者的时序规格来执行优化的逻辑 映射和布局。逻辑映射和布局确定PLD内的布线资源的使用。换句 话说,通过对设计的某些部分使用PLD中的特定可编程互连,布局 和布线模块160帮助优化整体设计或系统的性能。通过适当地使用 PLD布线资源,布局和布线模块160帮助满足整体设计或系统的关 键时序路径。
布局和布线模块160优化关键时序路径以便帮助提供以受益于 所公开构思的描述的本领域普通技术人员已知的方式更快的时序收 敛(timing closure )。结果,整体设计或系统可以实现更快的性能(即, 以更高的时钟速率操作或者具有更高的吞吐量)。根据需要,布局 和布线模块160可以使用关于设计或系统内的关键路径的信息来调 整设计或系统的全部或部分的功率消耗。由此,布局和布线模块160 可以提供关于PLD 103中一个或更多个驱动器的适当或所需的"驱 动强度,,的信息(通过将该信息存储在配置CRAM 133中)。在用 户模式(即,其中PLD 103实施用户的所需电路或功能的模式)期 间,该信息变为可以被PLD 130中的各种电路(例如控制电路136) 所用。
如下文所述,该信息与允许对给定驱动器的"驱动强度"进行
10控制或调整的驱动器电路一起提供用于对该驱动器的功率消耗进行 控制、调整或优化的机制。根据需要,可以将该技术用于更少或更 多的驱动器,如受益于所公开构思的描述的本领域普通技术人员所
理解的那样。
验证模块165执行设计的模拟和验证。模拟和验证部分地旨在 验证设计符合用户的预定规格。模拟和验证的目的还在于在对设计 进行制版之前检测和校正任何设计问题。由此验证模块165帮助用 户减少整个设计或系统的整体成本和上市时间。
根据需要,验证模块165还支持并执行各种验证和模拟选项。 根据需要,选项可以包括设计规则检验、功能验证、测试平台生 成、静态时序分析、时序模拟、硬件/软件模拟、系统内验证、板级 时序分析、信号完整性分析和电磁兼容性(EMC)、形式网表验证 以及功率消耗估计。注意,可以根据需要,如受益于所公开构思的 描述的本领域技术人员所理解的那样,执行其它或附加的验证技术。
图4描述了根据示例性实施例的用于控制PLD的功率消耗的电 路的概念性框图。图4中的电路布置包括配置电路133、控制电路 136和可编程互连109。可编程互连109包括驱动器203、耦合才几制 或通道206 (例如,总线、导线、半导体材料、导体、金属迹线等) 以及接收器209。
控制电路136经由信号链路136A耦合到驱动器203。类似于耦 合机制206,信号链路136A可以包括总线、 一个或更多个导线、半 导体材料、导体、金属迹线等。信号链路136A提供用于在控制电路 136和驱动器203之间的通信的机制。
使用信号链路136A,控制电路136可以提供一个或更多个命令 或控制信号至驱动器203。该信号提供了调整或控制驱动器203的 "驱动强度"的方式。调整或控制驱动器203的"驱动强度"又允 许对在驱动器203内并且一般地在可编程互连109内的功率消耗的 调整、控制或优化。
如所述,根据所7>开构思的一个方面,在PLD 103的编程或配置阶段期间,CAD软件从PLD的用户接受电路或功能定义,并对 PLD103进行编程或配置以实现该电路或功能。在该处理期间,CAD 软件确定各种PLD资源的布局以及用以耦合资源的可编程互连109 的布线。
依赖于诸如驱动器203和接收器209之间的物理距离或电阻抗 的因素,可以对驱动器203使用各种级别的"驱动强度"。例如, 如果驱动器203物理上驻留于PLD 103的一角并且接收器209在 PLD 103的物理相对角,则可能希望对驱动器203使用相对高的"驱 动强度"(例如,较高的电流驱动能力、较短的上升和下降时间等)。 相反地,如果驱动器203和接收器209物理上彼此靠近,则可能希 望对驱动器203使用相对低的"驱动强度"。
在PLD配置CAD软件的控制下(在PLD 103的配置阶段期间), 配置CRAM 133接收并存储关于PLD 103中各种驱动器203的"驱 动强度"的信息。随后,在PLD 103的用户模式或阶段期间(即, 当PLD 103实施用户的电路或功能时),控制电路136使用该信息 来设置或调整PLD 103中的一个或更多个驱动器203的"驱动强度"。
通过使用关于每个驱动器203的信息(在配置阶段期间确定或 获得),可以调整或控制或设置每个驱动器203的"驱动强度"以 便避免不必要的功率消耗或耗散。例如,如果驱动器203需要只提 供lmA的电流驱动能力,则可以使用(存储在配置CRAM 133中的) 该信息来调整驱动器203的"驱动强度",使得它提供lmA或者大 约1mA的电流驱动能力。
通过将驱动器203的"驱动强度"约束至具体电路或布局所需 的程度,而不是使用较差情形下的或过度保守的"驱动强度",可 以避免驱动器203中不必要或过度的功率消耗或耗散。考虑到典型 PLD包括相对多数目的驱动器,将这一技术应用到PLD中的驱动器
可以带来实质性的功率节省。
图5示出了根据示例性实施例的驱动器电路203的筒化示意图。 驱动器203经由信号链路136A耦合到控制电路136并根据经由信号链路136A而从控制电路136接收的一个或更多个控制信号进行操作。
驱动器203包括以反向器配置耦合的NMOS晶体管253和PMOS 晶体管256。 PMOS晶体管256的源极耦合到供给电压VDD。 NMOS 晶体管253的源极经由可编程电流源259耦合为接地。控制电路136 经由信号链路136A耦合到可编程电流源259。
使用信号链路136A,控制电路136编程或控制或调整通过可编 程电流源259提供或接收的电流。更具体而言,控制电^各136使用 信号链路136A来提供一个或更多个控制信号给可编程电流源259。 控制信号控制或调整或编程可编程电流源259接收或提供的电流的 量。提供或接收的电流又确定驱动器203的整体功率消耗。
换言之,通过使用控制信号来编程可编程电流源259,控制电路 136编程或控制或调整或优化驱动器203的功率消耗。通过将这一技 术应用于PLD 103中的一个或更多个驱动器203,可以减少或控制 或优化PLD 103的整体功率消耗。
注意,除了使用互补金属氧化物电路,也可以根据需要并如受 益于所公开构思的描述的本领域普通技术人员所理解的那样,通过 对所示电路布置进行改型来使用NMOS或PMOS电路。此外,除了 在驱动器203的接地路径中耦合可编程电流源259以外,可以根据 需要并如受益于所公开构思的描述的本领域普通技术人员所理解的 那样,通过对所示电路布置进行改型,在驱动器203的源路径中耦 合可编程电流源259。
图6描述了根据另 一 示例性实施例的驱动器电路的简化示意图。 类似于图5,在图6的电路布置中,驱动器203使用 一组耦合的PMOS 和NMOS晶体管以形成逻辑反向器。然而,与图5的电路布置相反, 图6的电路布置使用并联晶体管来形成逻辑反向器。
更具体而言,图6中的驱动器203包括所需数目即N个(其中 N表示大于1的正整数)并联耦合的NMOS晶体管253A-253N。类 似地,驱动器203包括并联耦合的PMOS晶体管256A-256N。
13控制电路136耦合到驱动器203,并且经由信号链路136A提供 N个信号来控制晶体管253A-253N的栅极端子以及提供N个信号来 控制晶体管256A-256N的栅极端子。换言之,控制电3各136可以选 择性地使晶体管253A-253N和晶体管256A-256N中的每个(或所需 的组合)导通或截止。通过这样做,控制电路136可以编程、调整、 控制或优化反向器电路的有效尺寸并且由此可以编程、调整、控制 或优化驱动器203的"驱动强度"。
可以以任何所需的方式调整晶体管253A-253N和晶体管 256A-256N的尺寸。例如,在一个实施例中,可以相同地调整晶体 管的尺寸(例如,使用相同的宽长比或W/L比)。在另一实施例中, 可以设置晶体管253B的W/L比为晶体管253A的W/L比的两倍等 等(换句话说,将W/L比增加2的倍数)。可以对晶体管256A-256N 的W/L比应用类似的方法。如受益于所公开构思的描述的本领域普 通技术人员所理解的那样,可以根据需要,依据具体情况的性能规 格和设计来使用各种其它方法选择晶体管253A-253N和晶体管 256A-256N的尺寸。
注意,除了使用互补金属氧化物电路,也可以根据需要并如受 益于所公开构思的描述的本领域普通技术人员所理解的那样,通过 对所示电路布置进行改型来使用NMOS或PMOS电路。此外,可以 根据需要并如受益于所公开构思的描述的本领域普通技术人员所理 解的那样,以各种方式来实现控制信号136以便以各种方式来提供 晶体管253A-253N和晶体管256A-256N的栅极控制信号。控制电路 136的具体电路的选择依赖于具体情况的性能规格和设计。
图7描述了根据又 一 示例性实施例的驱动器电路的筒化示意图。 图7中的电路布置使用CML配置而不是CMOS配置(见图5)。
具体而言,驱动器203包括NMOS晶体管253A和253B、负载 257 (每个均耦合到晶体管253A-253B中的相应一个)、可编程电流 源259、控制电路136。负载257将晶体管253A-253B耦合到供给电 压Vdd。反向器210提供输入信号的互补信号来驱动晶体管253A(输入信号的真实版本驱动晶体管253B)。
NMOS晶体管253A-253B的源极经由可编程电流源259耦合为 接地。控制电路136经由信号链路136A耦合到可编程电流源259。
使用信号链路136A,控制电路136编程或控制或调整通过可编 程电流源259提供或接收的电流。更具体而言,控制电路136使用 信号链路136A来提供一个或更多个控制信号给可编程电流源259。 控制信号控制或调整或编程可编程电流源259接收或提供的电流的 量。提供或接收的电流又确定驱动器203的整体功率消耗。
换句话说,通过使用控制信号来编程可编程电流源259,控制电 路136编程或控制或调整或优化驱动器203的功率消耗。通过将这 一技术应用于PLD 103中的一个或更多个驱动器203,可以减少或 控制或优化PLD 103的整体功率消耗。
注意,除了使用NMOS晶体管,也可以根据需要并如受益于所 公开构思的描述的本领域普通技术人员所理解的那样,通过对所示 电路布置进行改型来使用PMOS晶体管。此外,除了在驱动器203 的接地路径中耦合可编程电流源259以外,可以根据需要并如受益 于所公开构思的描述的本领域普通技术人员所理解的那样,通过对 所示电路布置进行改型,根据需要在驱动器203的源路径中耦合可 编程电流源259。
图8示出了根据又一示例性实施例的驱动器电路的简化示意图。 图8中的电路布置采用例如适用于LVDS应用的H树配置。
更具体而言,图8中的驱动器203包括耦合成"H配置"的NMOS 晶体管253A-253B和PMOS晶体管256A-256B。另外,该电路布置 包括可编程电流源259、控制电路136。
反向器210提供输入信号的互补信号来驱动晶体管253A-253B。 输入信号的真实版本驱动晶体管256A-256B。
晶体管256A-256B耦合到供给电压VDD 。 NMOS晶体管 253A-253B的源极经由可编程电流源259耦合为接地。控制电路136 经由信号链路136A耦合到可编程电流源259。使用信号链路136A,控制电路136编程或控制或调整通过可编 程电流源259提供或接收的电流。更具体而言,控制电路136使用 信号链路136A来提供一个或更多个控制信号给可编程电流源259。 控制信号控制或调整或编程可编程电流源259接收或提供的电流的 量。提供或接收的电流又确定驱动器203的整体功率消耗。
换言之,通过使用控制信号来编程可编程电流源259,控制电路 136编程或控制或调整或优化驱动器203的功率消耗。通过将这一技 术应用于PLD 103中的一个或更多个驱动器203,可以减少或控制 或优化PLD 103的整体功率消耗。
注意,除了使用CMOS配置,也可以根据需要并如受益于所公 开构思的描述的本领域普通技术人员所理解的那样,通过对所示电 路布置进行改型来使用NMOS晶体管或PMOS晶体管。此外,除了 在驱动器203的接地路径中耦合可编程电流源259以外,可以根据 需要并如受益于所公开构思的描述的本领域普通技术人员所理解的 那样,通过对所示电路布置进行改型,根据需要在驱动器203的源 路径中耦合可编程电流源259。
所公开构思的另一方面涉及通过调整或编程或控制"驱动强度" 来减少或控制或优化驱动器中的功率消耗,使得由驱动器发送的信 号到达预定的接收器而没有任何错误(或只有统计上可以接受的错 误,例如,如果使用错误校正代码或类似的技术)。换句话说,通 过经由所需信号路径从驱动器发送信号至接收器,并监视到达接收 器的信号,可以确定到达信号的一个或更多个质量标准。例如,可 以比较发送和接收的信号来确定它们是否匹配。
依赖于确定质量标准的结果,可以调整、编程、控制或优化对 应驱动器(发送信号的驱动器)的"驱动强度"。例如,如果信号 在有错误的情况下到达,则可以增加"驱动强度"。相反地,如果 信号在没有错误的情况下到达,则可以减少"驱动强度,,并重复信 号传播测试。
通过重复这一过程,可以找到允许信号到达目的地(例如,对
16应接收器)的"驱动强度"并满足所需的质量标准。如果需要,可 以将"驱动强度"增加到该阈值以上以提供安全裕度或错误裕度从 而防止通道退化、处理效应、温度或电压变化等,如受益于所公开 构思的描述的本领域普通技术人员所理解的那样。
图9示出了根据示例性实施例的用于控制PLD的功率消耗的电
路的概念性框图。图9中的电路布置包括信号生成器260、互连电路 109、错误一企测器309和控制电路136。
信号生成器260提供所需信号至驱动器203。信号生成器260可 以使用任意所需的信号或可以使用有利于检测具体类型的错误的信 号等等。驱动器203经由耦合机制或通道206将其输出信号提供给 接收器209。
接收器209将其输出信号提供给错误检测器309。在示例性实施 例中,错误检测器309可以包括异或(XOR)门。然而,除了 XOR 门,可以使用其它器件或电路,如受益于所公开构思的描述的本领 域普通技术人员所理解的那样。
如所述,可以以各种方式确定错误的存在,每种方式具有相关 的复杂度。例如,使用(以复杂度增加的顺序) 一个或更多个奇偶 位、校验和、顺序估计等。注意,进一步的错误评估/预测可以出现 在FPGA器件合成阶段和/或通过使用硅上的训练序列(阶段)而出 现或者始终被使能。
错误检测器309比较信号生成器260的输出信号和接收器309 的输出信号以确定接收信号是否满足质量准则或标准(即,是否没 有错误),并在其输出处提供结果。错误检测器309将其输出信号 提供给控制电路136。依赖于错误检测器309提供的结果,控制电路 136经由信号链路136A提供一个或更多个控制信号给驱动器203。 如上所述,控制信号编程、调整、控制或优化驱动器203的"驱动 强度"。
图10描述了根据另 一 示例性实施例的用于控制PLD的功率消耗 的电路的概念性框图。更具体而言,图10中的电路布置使用一个或更多个信号质量标准来影响"驱动强度"并由此影响功率消耗。
图10中的电路布置包括伪随机位流(PRBS)生成器300、触发 器303、经由耦合机制或通道206耦合到接收器209的驱动器203、 触发器306、错误检测器309、 PRBS生成器312和控制电路136。 如名称所暗示的,PRBS生成器300和PRBS生成器312生成伪随机 位流或位序列。合适的PRBS生成器的设计和实施属于受益于所公 开构思的描述的本领域普通技术人员的知识和技术水平以内。
PRBS生成器300将其输出信号提供给触发器303。时钟信号 CLK将PRBS生成器300的输出信号同步(clock )到触发器303中。 触发器303的输出驱动驱动器203的输入。
驱动器203经由耦合机制206将其输出信号提供给接收器209。 接收器209将接收信号提供给触发器306。时钟信号CLK将信息同 步到触发器306中。触发器306的输出驱动错误检测器309的一个 输入。PRBS生成器312的一个输出驱动错误检测器309的另一个输 入。如所述,错误检测器309确定接收信号是否满足一个或更多个 信号质量标准(例如,是否包含或没有错误)。错误检测器309将 确定的结果提供给控制电路136。
依赖于错误检测器309提供的结果,控制电路136经由信号链 路136A提供一个或更多个控制信号给驱动器203。如上所述,控制 信号编程、调整、控制或优化驱动器203的"驱动强度"。
注意,除了使用单端信号路径,可以根据需要(例如,当使用 低压差分信令(LVDS)或类似的信令方案时),通过对图10的电 路布置进行适当改型来使用差分信号路径。这些改型(例如,使用 触发器303的真实和互补输出以及在接收器侧的差分到单端的信号 转换器)属于受益于所公开构思的描述的本领域普通技术人员的知 识和才支术水平以内。
如所述,可以根据需要利用用于减少PLD的功率消耗的软件技 术补充上述的和在附图中示出的实施例。例如,可以将此专利文件 中描述的一个或更多个实施例中的一些或全部的电路与用于配置
18PLD 103内的电路的技术相结合来实现控制或减少PLD的功率消耗 的灵活系统。
如受益于本公开的本领域普通技术人员所理解的那样,可以根 据需要将所公开的构思有效地应用于包括可编程或可配置逻辑电路 的各种IC,这些IC在本领域中可能被称为其它的名称。这些电路的 例子包括称为复杂可编程逻辑器件(CPLD)、可编程门阵列(PGA) 和现场可编程门阵列(FPGA)的器件。
参考附图,本领域普通技术人员将认识到,所示的各种块主要 描述概念性的功能和信号流。实际的电路实施可以包含或也可以不 包含用于各种功能块的可分开标识的硬件,并且可以使用或可以不 使用所示的具体电路。例如,可以根据需要将各个块的功能组合到 一个电路块中。此外,可以根据需要将单个块的功能实现在数个电 路块中。电路实施的选择依赖于各种因素,诸如对于给定实施的具 体设计和性能规格,正如受益于本公开的描述的本领域普通技术人 员所理解的那样。除了这里描述的内容以外,其它改型和可替选实 施例对受益于本公开的本领域普通技术人员而言也是显而易见的。 因而,本说明书教导本领域技术人员实施所公开构思的方式并且只 是示例性的。
所示出和描述的形式和实施例应被 一见作是当前优选的或示例性 的实施例。本领域4支术人员可以在不脱离本文7>开内容的范围的情 况下进行部件形状、尺寸和布置的各种改变。例如,本领域技术人 员可以用等同元件来代替本文描述和示出的元件。而且,受益于本 公开的本领域技术人员可以在不脱离所公开构思的范围的情况下独
权利要求
1.一种集成电路(IC),包括驱动器电路;配置电路,其存储所述驱动器电路的驱动强度信息;以及控制电路,其中所述控制电路使用存储在所述配置电路中的所述驱动强度信息来控制驱动器的驱动强度。
2. 根据权利要求1的集成电路(IC),其中所述驱动强度信息 包括电流驱动能力信息。
3. 根据权利要求1的集成电路(IC),其中所述驱动器包括互 补金属氧化物半导体(CMOS)电^^。
4. 根据权利要求1的集成电路(IC),其中所述驱动器电路还 包括耦合到所述控制电路的可编程电流源。
5. 根据权利要求3的集成电路(IC),其中所述驱动器电路包 括逻辑反向器。
6. 根据权利要求3的集成电路(IC),其中所述驱动器电路包 括CML电路。
7. 根据权利要求3的集成电路(IC),其中所述驱动器电路包 括H树电^各。
8. 根据权利要求4的集成电路(IC),其中所述可编程电流源 控制所述驱动器电路的功率消耗。
9. 根据权利要求1的集成电路(IC),其中所述控制电路还接 收至少 一 个信号质量标准,并使用所述信息来控制所述驱动器电路 的驱动强度。
10. 根据权利要求1的集成电路(IC),进一步包括 接收器电路,其接收信号并生成接收信号,其中所述驱动器电路传送所述信号。
11. 根据权利要求9的集成电路(IC),其中所述至少一个信号质量标准包括所述接收信号是否包括错误。
12. 根据权利要求9的集成电路(IC),进一步包括错误检测器,其将由所述驱动器电路传送的信号与所述接收信号进行比较,以生 成所述至少一个信号质量标准。
13. 根据权利要求9的集成电路(IC),其中所述驱动器接收第 一伪随机位流生成器的输出信号。
14. 根据权利要求13的集成电路(IC),进一步包括错误检测 器,其比较所述接收信号与第二伪随机位流生成器的输出信号,以 生成所述至少一个信号质量标准。
15. 根据权利要求1的集成电路(IC),其中存储在所述配置存 储器中的所述驱动强度信息由计算机辅助设计(CAD)软件程序确 定。
16. —种控制集成电路(IC)的功率消耗的方法,所述方法包括 生成关于驱动器电路的电流驱动能力的信息;存储所述关于驱动器电路的电流驱动能力的信息;以及使用所述信息来控制所述驱动器电路的电流驱动能力。
17. 根据权利要求16的方法,其中生成关于驱动器电路的电流 驱动能力的信息包括通过使用计算机辅助设计(CAD)软件来生成所述信息。
18. 根据权利要求16的方法,其中存储所述关于驱动器电路的 电流驱动能力的信息包括将所述信息存储在所述集成电路UC)的配置存储器中。
19. 根据权利要求16的方法,其中使用所述信息来控制所述驱 动器电路的电流驱动能力还包括通过使用可编程电流源来控制所述驱动器电路的功率消耗。
20. 根据权利要求16的方法,其中使用所述信息来控制所述驱 动器电路的电流驱动能力还包括选择性地使所述驱动器电路中的多个晶体管中的 一个晶体管导通。
21. 根据权利要求16的方法,进一步包括基于至少 一 个信号质量标准来控制所述驱动器电路的电流驱动能力。
22. 根据权利要求21的方法,其中所述至少一个信号质量标准 包括确定从所述驱动器电路接收的信号是否没有错误。
23. 根据权利要求22的方法,其中确定从所述驱动器电路接收 的信号是否没有错误进一 步包括将由所述驱动器电路发送的信号与从所述驱动器电路接收的信 号进行比较。
全文摘要
本发明提供一种用于减少可编程逻辑器件的功率消耗的装置和相关方法。可编程逻辑器件(PLD)包括驱动器电路、配置存储器和控制电路。配置存储器存储驱动器电路的驱动强度信息。控制电路使用存储在配置电路中的驱动强度信息来控制驱动器的驱动强度。
文档编号H03K19/00GK101651455SQ20091014742
公开日2010年2月17日 申请日期2009年6月10日 优先权日2008年6月10日
发明者R·H·帕特尔, T·克瓦斯尼维斯基 申请人:阿尔特拉公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1