用于调整集成电路性能的设备和方法

文档序号:6656415阅读:279来源:国知局
专利名称:用于调整集成电路性能的设备和方法
技术领域
0002本发明的构思一般涉及调整集成电路(IC)的性能,此处的集成电路包括可编程逻辑器件(PLD)。
背景技术
0003PLD是普遍存在的既能给设计者又能给终端用户提供灵活性的电子器件。在电子电路或电子系统的设计周期中,对每个设计,设计者仅通过对PLD重新编程就可以完成大量的重复设计。因此,与其它可选方案相比,减少了设计周期的长度和费用。类似地,终端用户可能需要对包括PLD的设计的功能性进行一定的控制。用户可在现场或实时地对PLD编程,就能改变电路或系统的运行方式。
0004为适应日益复杂的设计,现代PLD中包含的晶体管相对较多。而且,用户对性能的要求也提高了,这就产生了较大的运行频率。因此,可编程逻辑器件的功率消耗,功率耗散,晶片温度及因此的功率密度(在各种电路或各种块中的功率耗散)也在增大。然而,功率密度的增大可能会使PLD的设计和实现变得不实际或更容易失败。所以需要以可调整的功率消耗和可调整的性能为特征的PLD。更进一步讲,还需要直接对普通集成电路内的晶体管的性能(泄漏,速度和功率耗散)进行控制。

发明内容
0005本发明公开的新构思涉及用于调整PLD性能的设备和方法,例如在速度和功率耗散之间做出权衡。本发明的构思的一方面涉及用于调整PLD的性能的设备。在一个实施例中,配置成实现用户电路的PLD包括延迟电路和体偏置发生器。延迟电路具有一个延迟,它表示在PLD中实现的用户电路的延迟。用户电路包括至少一个晶体管。响应从延迟电路的传播延迟中得到的延迟量,体偏置发生器对用户电路中晶体管的体偏置进行调整。
0006在另一个实施例中,PLD包括参考晶体管,电流测量电路和体偏置发生器。参考晶体管提供关于PLD内的电路的电流。电流测量电路测量由参考晶体管提供的电流,并将测量的电流信号提供给体偏置发生器。体偏置发生器从测量的电流信号中得到至少一个体偏置信号,并将此体偏置信号(可为多于一个)提供给PLD中的电路。
0007在又一个实施例中,PLD包括多个用户电路和多于一个体偏置发生器。每个用户电路都在PLD中实现。多个体偏置发生器中至少一个体偏置发生器被配置成可选择性地调整用户电路中至少一个用户电路的晶体管的体偏置。
0008本发明的构思的另一方面涉及调整PLD的性能和使用PLD实现用户电路的方法。在一个实施例中,使用PLD实现电子电路的方法包括将电子电路映射成PLD内的功能资源以生成一个设计;及从表示生成的设计中的至少一部分内的信号传播延迟的延迟得到体偏置值。所述方法进一步包括将生成的设计中的一部分的至少一个晶体管的体偏置电平编程为体偏置值。
0009在另一实施例中,调整包含在PLD内的电路的晶体管的泄漏电平的方法包括获得表示晶体管的漏电流的电流;和从获得的电流中得到体偏置电平。该方法进一步包括将晶体管的体偏置调整为得到的体偏置电平。
0010在又一实施例中,在PLD内的至少一个电路区中实现用户电路的方法包括选择电路区中的至少一个晶体管的体偏置电平;和生成PLD内该电路区的初始布置。如果目前的体偏置电平和布置不能满足规定的性能标准,则该方法将进一步包括将施加到电路区中的晶体管的体偏置电平改变成另一电平至少一次。
附图的简要描述0011附图仅对本发明的示例性实施例进行了图解说明,因此不应被认为是限制本发明的范围。本领域普通技术人员从本发明的描述中将理解所公开的发明构思会使他们想到其它等同的有效的实施例。在附图中,多于一个附图中使用的同样的数字指示符表示相同的,相似的,或等同的功能性,部件或块。
0012

图1显示根据本发明的图解实施例的PLD的一般方框图。
0013图2图解说明了用在本发明的示例性实施例中的MOS晶体管。
0014图3描述了根据本发明的示例性实施例中的PLD的平面布置图。
0015图4显示根据本发明的示例性实施例的PLD中的可编程逻辑的结构图。
0016图5图解说明了用在根据本发明的示例性实施例的加入了体偏置调整的PLD中的多路复用器。
0017图6A描述了根据本发明的示例性实施例的PLD计算机辅助设计(CAD)软件的各种软件模块。
0018图6B图解说明了根据本发明的示例性实施例的PLD CAD软件的流程图。
0019图7显示了根据本发明的示例性实施例的调整体偏置的过程的流程图。
0020图8图解说明了根据本发明的示例性实施例的PLD内用来对期望的PLD电路或块的体偏置电平进行调整,编程或设置的电路的结构图。
0021图9描述了根据本发明的示例性实施例用于可选择地关断电路或减少或一般控制PLD内电路的功率消耗的电路的结构图。
0022图10显示根据本发明的示例性实施例用来响应外部源来调整PLD内的体偏置电平的电路布置图。
0023图11图解说明了根据本发明的示例性实施例的用于调节PLD内的体偏置电平的电路布置。
0024图12描述了对用在本发明的示例性实施例的PLD的体偏置电平进行调整,编程,或设置的过程或技术的流程图。
0025图13显示考虑了温度水平,用来对体偏置电平进行调整,编程,或设置的过程或技术的流程图。
0026图14图解说明了考虑了PLD运行的环境特征,用来对体偏置电平进行调整,编程,或设置的过程或技术的流程图。
0027图15描述了考虑了PLD运行的温度水平和环境特征,用来对体偏置电平进行调整,编程,或设置的过程或技术的流程图。
0028图16显示根据用户电路的运行延迟的延迟表示来调整用户电路的晶体管的体偏置的电路布置图。
0029图17图解说明了根据本发明的说明性实施例的体偏置控制器的结构图。
0030图18描述了根据本发明的示例性实施例的参考信号发生器的电路布置。
0031图19显示根据本发明的示例性实施例的相位比较器的电路布置图。
0032图20图解说明了根据本发明的示例性实施例的相位比较器的另一电路布置。
0033图21描述了根据本发明的用在说明性实施例中的可配置的延迟电路。
0034图22显示根据本发明的示例性实施例的用于可配置的延迟电路的电路布置图。
0035图23图解说明了根据本发明的说明性实施例的布线延迟元件的电路布置。
0036图24描述了根据本发明的示例性实施例的逻辑延迟元件的电路布置。
0037图25显示根据本发明的示例性实施例的泄漏锁定环的结构图。
0038图26图解说明了根据本发明的另一示例性实施例的泄漏锁定环的结构图。
0039图27描述了根据本发明的示例性实施例的泄漏测量电路。
0040图28显示根据本发明的示例性实施例的参考值和比较器电路。
0041图29图解说明了根据本发明的另一示例性实施例的参考值和比较器电路。
0042图30描述了根据本发明的示例性实施例用于给集成电路IC提供多个体偏置电路的电路布置。
详细描述0043本发明的构思设计了以可调功率和可调性能为特征的PLD的设备和相关方法。本发明的构思有助于克服传统PLD会遇到的功率密度水平过大的问题。而且,可以对根据本发明的PLD的期望的一部分或全部性能水平进行调整(即,从个别晶体管一直到整个PLD电路的粒状基础上)。
0044见如下的详细描述,更具体地讲,本发明的构思设计了对PLD中的个别晶体管或晶体管组的体偏置或电位阱(well)偏置进行的设置,编程或调整。对体偏置进行的调整改变了晶体管的功率消耗及性能。
0045本发明的构思相对传统的实现方法具有以下优点。首先,本发明的构思可以在性能和功率消耗之间做出权衡,或能优化性能-功率消耗之间的权衡。其次,可以选择性对PLD的关键电路路径或部分PLD的体偏置电平进行设置,编程或调整,以期增强其性能。相反地,也可以选择性地对PLD的非关键电路路径或部分PLD的体偏置电平进行设置,编程或调整,从而减少其功率消耗,并降低其功率密度。
0046此外,可以关闭或禁用PLD内的没有使用的部分或电路,这样减少它们的功率消耗,并降低它们的功率密度。也可以利用本发明的构思来阻止热耗散(或减少热耗散的可能性)。更具体地讲,在传统的PLD中,运行在相对较高速度的电路势必要消耗更多的功率,导致PLD的温度升高。功率消耗的增加会使那些电路消耗更多的功率。这种正反馈的机制可能使功率密度增大到不安全或破坏性水平。
0047图1所示为根据本发明的示例性实施例的PLD 103的一般的结构图。PLD 103包括配置电路130,配置内存133,控制电路136,可编程逻辑106,可编程互联109,及输入/输出电路112。此外,如果需要,PLD 103还可以包括测试/调试电路115,一个或多于一个处理器118,一个或多于一个通信电路121,一个或多于一个内存1 24,一个或多于一个控制器127。
0048注意图1显示PLD 103的简化的结构图。因此,PLD 103还可以包括其它块或电路,其能为本领域普通技术人员所理解。这种电路的例子包括时钟发生和分布电路,冗余电路,及类似电路。而且,如果需要,PLD 103可以包括模拟电路,其它数字电路,和/或混合模式电路。
0049可编程逻辑106包括可配置或可编程逻辑电路块,诸如查询表(LUT),乘积项逻辑,多路复用器,逻辑门,寄存器,内存,和类似电路块。可编程互连109耦连到可编程逻辑106,并在可编程逻辑106内的各块和PLD 103之内或之外的其它电路之间提供可配置互联(耦连机构)。
0050控制电路136对PLD 103内的各种运行进行控制。在控制电路136的管理下,PLD配置电路130使用配置数据(从诸如存储器设备,主机等的外部源获得)来对PLD 103的功能性进行编程或配置。通过对可编程逻辑106和可编程互联109进行编程,配置数据确定了PLD103的功能性,如本领域普通技术人员受益于本发明的描述所理解的。
0051I/O电路112可由多种I/O设备或电路组成,如本领域普通技术人员受益于本发明的描述所理解的。I/O电路112可以耦连到PLD 103的各个部分,例如,可耦连到可编程逻辑106和可编程互联109。I/O电路112为PLD 103内的各个块提供了与外部电路或外部设备进行通信的机构和电路。
0052测试/调试电路115用于PLD 103内的各个块和各个电路的测试和故障查找。测试/调试电路115可包括本领域普通技术人员在参考本发明的描述之后能知道的各种块或电路。例如,如果需要,测试/调试电路115可包括PLD 103上电或重置之后执行测试的电路。如果需要,测试/调试电路115还可以包括编码和奇偶校验电路。
0053如上所述,PLD 103可包括一个或多于一个处理器118。处理器118可耦连到PLD 103内的其它块和其它电路。处理器118可从PLD103内部或外部接收数据和信息,并能以许多种方式处理信息,如本领域普通技术人员受益于本发明的描述所理解的。一个或多于一个处理器118可由数字信号处理器(DSP)组成。如果需要,DSP可执行许多诸如压缩,解压缩,音频处理,视频处理,滤波,和类似处理的信号处理任务。
0054PLD 103还可以包括一个或多于一个通信电路121。通信电路121可以用于PLD 103内的各个电路和PLD 103的外部各电路之间的数据和信息交换,如本领域普通技术人员受益于本发明的描述所理解的。举例来说,如果需要,通信电路121可提供各种协议功能(例如,传输控制协议/互联网协议(TCP/IP),用户数据报协议(UDP)等)。举另外一个例子,如果需要,通信电路121可以包括网络(诸如,以太网,令牌网等等)或总线接口电路。
0055PLD 103可进一步包括一个或多于一个内存124及一个或多于一个控制器127。内存124可以存储PLD 103内的各种数据和各种信息(诸如,用户数据,中间结果,计算结果,等等)。如果需要,内存124可以具有粒状或块形式。控制器127可以与PLD之外的电路的运行和各个功能进行接口连接,并对其进行控制。例如,如果需要,控制器127可由与外部同步的动态随机存储器(SDRAM)接口并对其进行控制的内存控制器组成。
0056PLD 103内的电路块包括许多晶体管。更具体地讲,如果需要,晶体管由金属氧化物半导体(MOS)晶体管组成,诸如由N型MOS(NMOS),P型MOS(PMOS),互补型MOS(CMOS),或部分耗尽绝缘膜上硅(SOI)MOS晶体管(或这些类型晶体管的组合)组成。
0057图2显示用在本发明的示例性实施例中的MOS晶体管。MOS晶体管包括体(或衬底)区203,源区206,漏区209,栅极绝缘子215,和栅极212。运行在饱和区的MOS晶体管的漏电流取决于晶体管的阈值电压和栅-源电压。
这里iD=总的漏电流(即,包括交流分量和直流分量),K=常数,
vGS=总的栅-源电压(即,包括交流分量和直流分量),和VT=阈值电压。
0058阈值电压,VT,由许多因素决定,诸如晶体管的源区206和体区203之间的电压。以下等式将阈值电压表示成体-源电压的函数。
VT=VT(0)+γ{2φF-vBS-2φF}---(2A)]]>可替换地,可以把等式2A根据源-体电压写成VT=VT(0)+γ{2φF+vSB-2φF}---(2B)]]>这里VT(o)=源-体电压设定为0(或体-源电压)的阈值电压,γ=体因子,取决于体的掺杂水平的常数,φF=常数,vBS=总的体-源电压(即,包括交流分量直流分量),和vSB=总的源-体电压(即,包括交流分量和直流分量)。
注意当体-源电压vBS(或源-体电压vSB)等于零时,阈值电压VT等于VT(o)。
0059如等式2B所示,对于有限体因子γ,随着源-体电压vSB的增大,晶体管的阈值电压也随之增大。然而,等式1说明对于一个给定的栅-源电压,阈值电压的增大会使晶体管的漏电流iD减小。换言之,根据等式1和等式2B,对于一个恒定的栅-源电压vGS,源-体电压vSB的增大会引起阈值电压VT的增大。
0060阈值电压VT的增大反过来又引起量(vGS-VT)的减少,因此,使晶体管的漏电流iD减小。因此,对于一个恒定的栅-源电压vGS,源-体电压vSB的增大引起晶体管的电流驱动能力(性能的一种度量)降低。晶体管的电流驱动能力的降低反过来又导致电路运行变慢,并最终使包括该晶体管的PLD的运行变慢。
0061晶体管的功率耗散还会随着其阈值电压的变化而发生改变。更具体地地讲,一个较小的阈值电压会使晶体管的断开状态的漏电流(Ioff)增大,反之亦然。晶体管的Ioff影响了其静态(非开关)的功率耗散。此外,一个较小的阈值电压会使晶体管的动态或开关功率耗散减小。因此,通过调整体偏置来改变阈值电压会影响MOS晶体管的功率耗散。
0062而且,对于一个给定的电源电压VDD,阈值电压VT的增大限制了晶体管作为传输晶体管运行时晶体管能传输的最大电压。换言之,如果阈值电压VT增大到等于或超过栅-源电压vGS,则漏极电流减小到零。因此,施加到晶体管漏极的电压,例如对应于逻辑1电平的电压,不能完全传输到晶体管的源极。结果使晶体管不能可靠地作为传输晶体管运行。
0063如以上描述所示,可以通过调整MOS晶体管的体偏置,从而调整其源-体电压(最终使其阈值电压发生变化)来影响其性能。对体偏置的调整影响诸如电流驱动能力,运行速度,功率耗散等的性能指标或度量。
0064如上所述,在本发明的各实施例中,如果需要可以调整PLD内的个别晶体管,个别电路或块,晶体管组或块组的体偏置,或甚至可以调整整个PLD的体偏置。而且,如果需要,可以控制个别NMOS和PMOS晶体管的体偏置,或可控制NMOS晶体管组和PMOS晶体管组的体偏置。以下将详细进行描述。
0065图3显示根据本发明的示例性实施例的PLD103的平面布置图。PLD 103包括布置为二维阵列的可编程逻辑106。布置为水平互联和垂直互联的可编程互联109将可编程逻辑106的各块互相耦连在一起。如果需要,可以调整可编程逻辑106的每一块的体偏置,及可编程互联109的每一段的体偏置,或可对两者的体偏置进行调整。而且,如果需要,可以调整一个或多于一个可编程逻辑106各块的一部分及可编程互联109的一部分的体偏置或可调整两者的体偏置。
0066在示例性的实施例中,根据本发明的PLD具有分级结构。换言之,图3中的可编程逻辑106的每一块包括较小或更多粒状的可编程逻辑块或可编程逻辑电路。如果需要,可以调整PLD的分级结构中每一级的晶体管的体偏置。
0067图4显示根据本发明的示例性实施例的PLD中的可编程逻辑106的结构图。可编程逻辑106包括逻辑元件或可编程逻辑电路250,局部互联253,接口电路256,和接口电路259。逻辑元件250提供可配置或可编程功能,诸如LUT,寄存器,乘积项逻辑等等,如本领域普通技术人员受益于本发明的描述所理解的。局部互联253为逻辑元件250提供可配置或可编程机构,以耦连到另一个逻辑元件或如果需要可对可编程互联109(有时称为“全局互联”)进行编程。
0068接口电路256和接口电路259为可编程逻辑106电路块提供可配置的或可编程的方式以耦连到可编程互联109(并因此耦连到如图3所示的其它的可编程逻辑106)。接口电路256和接口电路259可包括多路复用器(MUX),寄存器,缓冲器,驱动器,和类似器件,如本领域普通技术人员受益于本发明的描述所理解的。
0069如果需要,可以调整PLD 103内的电路的每一部分或每一块的体偏置(见图1,3,和4)。而且,如果需要,可以独立于其它部分,在个别或集合的基础上,调整电路的每一部分或每一块的体偏置。在电路的每一部分或每一块内,如果需要,可以在个别或集合的基础上,调整每一子块或晶体管,子块组或晶体管组的体偏置。
0070例如,根据本发明的示例性实施例,可以调整以下所列的PLD内的全部或一部分电路的体偏置图1中的一个或多于一个块(例如,可编程逻辑106,可编程互联109等);在一个或多于一个可编程逻辑块106内的一个或多于一个逻辑元件250;在一个或多于一个可编程逻辑块106内的一个或多于一个接口电路256和/或259;在一个或多于一个可编程逻辑块106内的一个或多于一个局部互联;和在一个或多于一个接口电路256和/或259内的一个或多于一个MUX,驱动器,缓冲器,等等。
0071如上所述,可以在任何需要的粒度水平上对体偏置进行调整。换言之,如果需要并适用,可以对适用于个别晶体管,晶体管组,子块,块或整个PLD进行调整。例如,如果需要可以独立于一个或多于一个PMOS晶体管对一个或多于一个NMOS晶体管进行体偏置调整。
0072而且,如果需要,可以独立于PLD 103内的所有其它元件调整PLD 103中的一个元件的体偏置。如本领域普通技术人员受益于本发明的描述所理解的,如果需要,可以调整PLD的某些部分的体偏置,并对PLD的其它部分提供固定或默认的体偏置。
0073作为体偏置调整的粒度的一个例子,考虑一个两个输入,一个输出的多路复用器(MUX)。图5显示用于根据本发明的包括体偏置调整的示例性实施例中的PLD的MUX。该MUX包括晶体管275和晶体管278。MUX从电路A接收一个信号,从电路B接收另一个信号。响应选择信号S,或其反S’,MUX把来自电路A的信号或来自电路B的信号路由至电路C(耦连到MUX的输出)。
0074可以以多种方式调整晶体管275和晶体管278的体偏置。首先,可以选择不调整体偏置(例如,使用PLD内的默认的体偏置)。其次,可以把晶体管275的体偏置调整到与晶体管278的体偏置相同的电平。可选择地,可以对晶体管275和晶体管278中的一个的体偏置进行调整。还可以选择,单独调整晶体管275和晶体管278中每一个的体偏置。
0075因此,可以以灵活的方式配置MUX的性能特性。换言之,可以在MUX的运行速度,电流驱动能力,和功率耗散之间进行平衡或在它们之间进行权衡。再如,注意可以将体偏置调整的构思扩展到MUX中的一组晶体管,一个特定的信号布线(例如,对应于特定输入的信号布线),一组传输晶体管(例如,可编程布线中的一组传输晶体管,其提供其它组的晶体管共享的MUX以保存配置内存的位计数),等等。
0076如上所述,根据本发明,用户可以对PLD的各个部分的体偏置进行调整。用户可以使用将设计映射到PLD的软件来进行调整。图6A描述了根据本发明的说明性实施例使用的PLD计算机辅助设计(CAD)软件的各个软件模块。这些模块包括设计入口模块305,合成模块310,布局布线模块315和验证模块320。
0077设计入口模块305可以把多个设计文件进行集成。如果需要,用户可以使用设计入口模块305或使用各种电子设计自动化(EDA)或CAD工具(诸如工业标准的EDA工具)生成设计文件。用户可以以图表形式,基于波形图的形式,原理图形式,文本或二进制形式,或这些形式的组合来进入设计。
0078合成模块310接收设计入口模块305的输出。基于用户提供的设计,合成模块310生成能实现用户提供的设计的适当的逻辑电路。一个或多于一个PLD(未清楚示出)实现了合成的总体设计或系统。合成模块310还可以生成任何能将用户设计中的各模块集成,并适当运行,及接口的胶联逻辑(glue logic)。例如,合成模块310可以提供适当的硬件,以使一个块的输出能适当地与另一个块的输入相接。合成模块310可以提供适当的硬件以满足总体设计或系统中每一模块的规范。
0079而且,合成模块310可包含用来优化经过合成的设计的算法和程序。通过优化,合成模块310可更有效地使用实现总体设计或系统的一个或多于一个PLD的资源。合成模块310将其输出提供给布局布线模块315。
0080布局布线模块315使用设计者的时序规范来实现优化的逻辑映射和布局。逻辑映射和布局确定了PLD内的布线资源的使用。换言之,通过对设计的某些部分使用PLD内的特定的可编程互联,布局布线模块315有助于优化总体设计或系统的性能。通过适当地使用PLD的布线资源,布局布线模块315有助于满足总体设计或系统的关键的时序路径。布局布线模块315对关键的时序路径进行优化,以用本领域普通技术人员根据本发明的描述已知的方式使时序收敛得更快。结果,总体设计或系统可以获得更快的性能(即,运行在较高的时钟速率或有较大的吞吐量)。
0081而且,布局布线模块315对实现本设计或系统的一部分PLD或全部PLD的体偏置进行调整。布局布线模块315可根据用户规定的标准自动进行调整,或将此两者结合来进行调整。布局布线模块315可使用用户规定的标准(例如,诸如功率耗散,速度,和/或电流驱动能力的性能规范)。此外或可替代地,如果需要,布局布线模块315可使用在设计或系统内有关关键路径的信息来对此设计或系统的部分或全部的体偏置进行调整。
0082例如,布局布线模块315可对设计或系统的关键部分的体偏置进行调整以获得较高的性能。如果需要,布局布线模块315可考虑功率耗散标准(如,最大功率密度)以在功率和性能之间做出权衡。布局布线模块315向验证模块320提供经过优化的设计。
0083验证模块320执行设计的仿真和验证。该仿真和验证能部分地对设计是否符合用户规定的规范进行验证。仿真和验证的目的还在于在设计的原型制作前,检测并更正任何设计问题。因此,验证模块320能帮助用户减少总体花费并缩短总体设计或系统推向市场的时间。
0084如果需要,验证模块320可以支持或执行多种验证和仿真选择。这些选择包括设计规则检查,功能验证,测试工作台生成,静态时序分析,时序仿真,硬件/软件仿真,系统验证,板级时序分析,信号完整性分析和电磁兼容(EMC),网表形式验证,和功率消耗估计。注意如果需要可以执行其它或附加的验证技术,如本领域普通技术人员受益于本发明的描述所理解的。如上所述,根据本发明的PLD的结构和电路能为用户提供在PLD中或在PLD各区域,对泄漏速度(并因此产生的功率耗散)进行权衡的能力。为了使用户能尽可能方便地使用该功能性,根据本发明示例性实施例的PLD CAD能自动配置此电路以自动满足用户的规范和标准。而且,为最大化或最有效地减少泄漏,同时最小化速度对用户电路的影响,根据本发明的各个实施例的PLD CAD在实现用户电路的过程中考虑了偏置区的存在,并优化了该电路以最大化偏置区的有效性。以下将对PLD CAD的功能性进行详细描述。
0085对时序驱动的PLD CAD系统,为更好地利用衬底偏置,在设计实现过程中,应该估计PLD的衬底偏置,或PLD的每一区(可能包括一个或多于一个晶体管)的衬底偏置。在设计的时序分析过程中,PLD CAD考虑了体偏置。因此,从时序角度看,体偏置电平会影响设计的哪部分会变得很关键。
0086一开始,CAD系统为PLD的每一区假定一些体偏置电平,用户希望对这些区的一个或多于一个晶体管的体偏置电平进行设置或编程。作为一种可能的选择,PLD CAD可以假设所有受影响的区都使用相对较低的速度设定(即,产生相对较低的泄漏电平的体偏置)。PLD CAD系统提供PLD电路的初始布局。通过对初始布局进行迭代改进,来继续布局。
0087在迭代改进程序的各个点上,PLD CAD估计电路的速度,并计算涉及到的所有连接的时序松弛值(timing slack value)。计算时序间隙值考虑了估计延迟时为每一区选择的电流体偏置电平。应注意PLD CAD将体偏置的选择与迭代的布局改进进行交织。PLD CAD对包含较小的平均值和最坏情况的连接松弛值(slack value)的部分电路区域进行评估,以转换到较高速度(对应于较高泄漏)的体偏置设定。CAD软件选择一个或多于一个区域的新的备选偏置设定,并根据电路的时序,和漏电流和/或功率的总的增大,通过估计新设定的总花费来评估偏置设定。如果新的偏置设定会在该区域的所有连接上产生正的松弛值(或在该区域产生不负(less negative)的松弛值),则PLD CAD通常会采用新的偏置设定。
0088类似地,CAD软件对目前具有相对高的偏置设定,但所有连接都有正的松弛值的那些区域进行评估以转换到低速体偏置设定。如果这种做法不会违反任何电路时序标准或多于一条标准,则CAD软件采用新的体偏置设定。
0089一旦改变了一个或多于一个偏置设定,迭代布局改进继续试图解决任何潜在的时序问题或由改变的偏置设定产生的犯规,或试图将时序要求更严格的电路移动到具有较高速度的新产生的偏置区。当布局或布线满足用户的时序和功率目标,或当达到期望或规定的迭代极限(即,不能完成任何更进一步的改进出现)时,算法终止。
0090图6B图解说明了根据本发明的示例性实施例的PLD CAD软件的流程图。图6B所示的PLD CAD把PLD的每一区的体偏置的选择并入了时序驱动的布局布线CAD系统。
0091更具体地讲,在330,PLD CAD设置初始区的体偏置设定。在335,软件生成初始布局。然后,在338,软件利用反映当前体偏置设定的延迟估计值分析电路的时序。在341,软件确定是否已经满足了用户的时序和功率目标。如果满足,在344,软件记录布局和体偏置选择。如果不满足,在347软件检查确定是否已经达到了迭代极限。如果已经达到迭代极限,则软件进行到344以记录电流布局和体偏置选择。如果软件还没有达到迭代极限,则递增迭代次数(未清楚示出),并在350改变至少一些区域的偏置设定。在353,软件利用反映变化的体偏置设定的延迟估计值来分析电路的时序。在356,软件对电路的布局进行改进,然后跳转到341以确定是否已经满足用户的时序和功率目标。
0092如本领域普通技术人员受益于本发明的描述所理解的,可以使用此处描述的算法的许多种变形。例如,可以使用许多种初始体偏置设定,诸如把所有的区域设置成低速或设置成高速。如果软件估计到在一个布局中能满足所有的时序规范,则对高速偏置区转换到低速区进行评价,优选对包含有与较大的正松弛值连接的区域进行评估。把一些区域转换成低速区域之后,软件继续进行布局改进。软件对上面描述的两个步骤进行迭代直到满足用户的功率和时序目标。
0093作为第二个例子,软件可以从用户的芯片平面布置图生成偏置区的初始设定。软件一开始将平面布局图上对时间要求严格的区域的偏置设置成高速运行,把其它区域的偏置设置成相对低速运行。然后软件使用图6B所示的技术以进一步对偏置选择进行改进。
0094作为第三个例子,软件可以从电路的快速布局中生成体偏置的初始设定,之后进行时序分析以把对速度要求严格的区域和其它区域区别开来。布局可以由标准布局构成,或者也可以由“粗略布局”构成,“粗略布局”能确定布局中的体偏置区域以对用户电路的每一部分进行定位。然后软件可以使用图6B中的算法对那些初始偏置设定进一步改进。
0095作为第四个例子,在开始布局之前,软件把电路预先分簇(pre-cluster)成由体偏置区域构成的相对较大的电路元件。每一簇由对时间要求严格或对时间要求不严格的电路组成。软件把这些簇放置到表示PLD的体偏置区域的粗略的网格中。然后软件根据放置进网格的电路的类型对每一区域的偏置电平进行设置。因此,对时间要求严格的电路接收相对较高速的体偏置设定,而对时间要求不严格的电路接收相对较低速的体偏置设定。然后软件使用图6B中的算法用那些初始偏置设定对布局进行改进。
0096作为第五个例子,除了布局算法以外的其它算法,诸如布线算法,可以考虑延迟估计中的给定区域的体偏置。可以通过对区域体偏置选择和标准算法优化进行交织,把这些算法和体区域偏置细调进行交织。
0097一旦PLD CAD已经实现了一次设计(即,合成,布局布线该设计),CAD软件就自动地将体偏置电路(即,体偏置生成电路,体偏置控制电路)设置成正确的状态和体偏置电平。取决于体偏置电路的工作细节,及用户的目标,软件可以以多种方式实现此操作。
0098一个可选方法是,如果用户对泄漏功率目标有要求,且偏置电路加入了泄漏锁定环(以下将详细描述),则PLD CAD应对偏置电路进行设置以使泄漏功率小于或等于用户的功率耗散目标。CAD软件然后在相对较高的温度下,及在具有漏电流与“导通”晶体管驱动电流最高比率的工艺拐点(process corner)下分析电路的时序,以使电路在该工艺过程和运行条件下满足所有的时序规范。相反,如果用户的目标是最小化泄漏功率,使其满足所有的时序规范,则软件对每一区域的泄漏锁定环进行设置以使晶体管在最坏的期望过程和操作拐点(operating corner)下在满足所有的时序约束的区域内运行。一般来说,该拐点会出现在相对较高的温度下及在具有漏电流与“导通”晶体管的驱动电流的最高比率的工艺拐点处。
0099另一可选择方法,如果用户的目标是最小化功率以满足一些时序规范,且偏置电路包括延迟锁定环,则CAD软件对延迟环进行设置或编程以使电路满足那些时序规范。通过时序分析,软件可以在每一体偏置区域的电路中提取最关键的路径来对延迟环进行设置或编程。如果延迟锁定环使用可编程延迟链,则软件对电路进行设置以把每一体偏置区域中的参考链的延迟设置成额定延迟值,该额定延迟值比对应的体偏置区域的关键路径的额定延迟要大。软件布线到延迟锁定电路,并路由定义关键路径的激励和捕捉边缘的适当的时钟信号。通常同一时钟信号定义了激励和捕捉边缘,但在具有多个相和频率相关的时钟信号的设计中,单独的时钟域可定义激励和捕捉边缘。如果延迟锁定环是“软的”并锁定到一些PLD电路,则CAD系统应尽可能精确地把每一偏置区域的每一关键路径复制以用作延迟锁定环的参考延迟。
0100又一可选择方法,PLD CAD通过对体偏置电路进行编程,可以给用户提供在各种功率-延迟之间权衡选择的能力。在那种情况下,CAD软件根据用户已经选择的偏置设定,查询适当的功率和延迟模块,并把那些模块使用在功率和时序分析中。软件可以使功率和延迟模块不那么保守(最坏情况)。这是通过在给用户发货前,测试设备并存储指示晶体管速度和PLD中的泄漏的数据(通常,以阈值电压的形式)来实现的(例如,驻存在PLD内的非易失内存)。在编程过程中,CAD软件仍将用户期望的功率-延迟权衡编程到设备中,但片上硬件将此“期望的”权衡和存储的设备特性进行比较,计算并应用适当的体偏置电平以使晶体管具有期望的功率-延迟权衡。
0101图7显示根据本发明的示例性实施例来调整体偏置的过程的流程图。诸如与图6A结合进行描述的软件的程序可实现图7中的过程。
0102一旦该过程开始,在400,辨别如上所述的实现设计或系统的PLD内的关键电路的路径,如本领域普通技术人员受益于本发明的描述所理解的。在403,程序对辨别的关键电路路径内的晶体管的体偏置进行调整。换言之,程序为一个或多于一个晶体管或晶体管组选择一个或多于一个体偏置电平。接下来,在406,程序对关键电路路径编程或配置一个或多于一个体偏置发生器。体偏置发生器生成一个或多于一个在403中选择的体偏置电平。
0103注意程序不必将其仅局限于识别的关键的电路路径或块。而是或此外,用户可以识别或说明用户期望满足的特定的性能标准的电路路径或块。例如,用户可能希望在PLD内实现高速的加法器。用户可识别用来实现该加法器的电路或块,并向软件说明以调整电路的体偏置电平来满足某些时序规范。用户可提供诸如功率耗散的其它的性能规范或标准。软件可在各种性能规范之间做出权衡以选择电路路径或块的体偏置电平。
0104图8显示根据本发明的示例性实施例的用来对PLD内期望的PLD电路或块的体偏置电平进行调整、编程或设置的电路的结构图。该电路包括体偏置发生器430,多个配置内存(配置随机存取存储器,或CRAM,或内存的其它实现)单元438A-438D,多个晶体管440A-440D,和PLD电路445A-445B。
0105体偏置发生器430生成一个或多于一个体偏置信号435并将这些信号提供给晶体管440A-440D。响应CRAM单元438A-438 D中的数据的每一个,晶体管440A-440D将体偏置信号435提供给PLD电路445A-445B。PLD电路445A-445B可由希望设置、编程或调整的体偏置电平的电路构成,诸如如上所述的个别晶体管,晶体管组,电路块等等。
0106举例来说,假设CRAM单元438A和438C存储二进制1,而CRAM单元438B和438D存储二进制零。结果,晶体管440A和440C导通,并将体偏置信号435A提供给PLD电路445A-445B。晶体管440B和440D断开,因此不给PLD电路445A-445B提供任何信号。
0107作为另外一个例子,假设前面例子的相反的情况存在(即,CRAM单元438A-438D分别保持二进制数据0,1,0,1)。在这种情况下,晶体管440A和440C断开(且因此不向PLD电路445A-445B提供任何信号),而晶体管440B和440D导通。结果,晶体管440B和440D向PLD电路445A-445D提供体偏置信号435B。
0108在示例性实施例中,如果需要,CRAM单元438A-438D可用作不止一个用途。更具体地讲,CRAM单元438A-438D可以控制PLD内各电路的体偏置(如,PLD电路445A或445B)。此外,CRAM单元438A-438D可作为布线CRAM单元。换言之,除了控制体偏置电平外,如果需要,一个或多于一个CRAM单元438A-438D可在MUX内选择一个电路路径而不选另一个电路路径(即,在MUX内选择与MUX内的可选的布线路径相反的一个布线路径)。
0109注意可以以多种方式实现体偏置发生器430,如本领域普通技术人员受益于本发明的描述所理解的。例如,可以使用偏置源(如多种已知的偏置源中的一个)然后使用电荷泵生成被加压成适当的或期望电平的体偏置信号435。举另外一个例子,可以使用对应于体偏置电平的存储的数字数据,并使用一个或多于一个定标电路(scalercircuit)和一个或多于一个数-模转换器(DAC)以生成期望的体偏置信号435。
0110除了对体偏置电平进行调整、编程或设置外,可以使用其它的方式来控制功率耗散,并因此控制PLD的功率密度。更具体地讲,可以选择地关闭或关断PLD中的部分电路。结果,可进一步降低PLD内的功率耗散。
0111图9所示为根据本发明的示例性实施例用于选择性地关断电路或减少或一般控制PLD内电路的功率消耗的电路的结构图。该电路包括控制电路136,晶体管450,PLD电路445A。此外,该电路还可以包括晶体管450A,晶体管453,电源电路456,晶体管453A和PLD电路445B。
0112假设希望关断PLD电路445A。晶体管450把PLD电路445A耦连到电源电压VDD。换言之,当晶体管450导通时,PLD电路445A接收电源电压VDD,反之亦然。晶体管响应来自控制电路136的控制信号导通或关断。因此,要关断PLD电路445A,应使控制电路136使晶体管450的栅极信号无效,并中断到PLD电路445A的电源电压。接着,在控制电路136的管理下,可以通过使能(assert)晶体管450的栅极信号来接通PLD电路445A。
0113注意,除了把晶体管450断开或导通外,可以控制晶体管450的栅极电压以把晶体管450用作可变阻抗的器件。因此,晶体管450在其极限状态具有相对较高的阻抗(断开状态),相对较低的阻抗(导通状态),或介于此两种状态之间的阻抗水平。结果,不仅可以关断或接通PLD电路445A,还可以通过控制晶体管450的阻抗来控制这些电路功率耗散。
0114除此之外或可替代地,使用晶体管450来控制供给PLD电路445A(不管关断,接通,或以上所述的这些极限状态之间的任何状态)的电源电压VDD,可以用晶体管450A来控制电源电压VSS(一般电路接地)的供给。操作的细节类似于以上对晶体管450和电源电压VDD的描述,如本领域普通技术人员受益于本发明的描述所理解的。
0115如果需要,PLD 103可以使用多于一个的电源电压。换言之,可以选择使用电源电压电路456从主电源电压VDD生成第二电源电压459。如果需要,与主电源电压相比,第二电源电压459可以有较小或较大的幅值。而且,如果需要,可以使用多于一个的第二电源电压。第二电源电压445B给PLD电路445B供电。在控制电路136的管理下,可以分别对晶体管453的栅极信号无效或使能来关断或给PLD电路445B上电。
0116注意,除了关断或接通晶体管453外,可以控制晶体管453的栅极以把晶体管用作可变阻抗的器件。因此,晶体管453在其极限状态具有相对较高的阻抗(断开状态),相对较低的阻抗(导通状态),或介于此两种状态之间的阻抗水平。结果,不仅可以关断并接通PLD电路445B,还可以通过控制晶体管453的阻抗,来控制那些电路的功率耗散。
0117除此之外,或可替代地,使用晶体管453来控制供给PLD电路445B(不管关断,接通,或以上所述的在这些极限状态之间的任何状态)的第二电源电压459,可以用晶体管453A来控制电源电压VSS(一般电路接地)的供给。操作的细节类似于以上对晶体管453和第二电源电压459的描述,如本领域普通技术人员受益于本发明的描述所理解的。
0118注意如果需要,每个PLD电路445A和/或PLD电路445B可由PLD块(如,见图1,图3和图4),部分PLD块,或一组PLD块构成。换言之,如果需要,可以选择性地把电源控制技术应用到PLD内的一个或多于一个块、子块、或部分块。
0119注意响应PLD的外部源,可以对体偏置电平进行调整,编程或设置。例如,可以把体偏置电平发送给PLD以调整或修改其性能。图10显示根据本发明的示例性实施例用来响应外部源470来调整PLD内的体偏置电平的电路布置图。该电路布置包括外部源470,通信/接口电路475,和体偏置发生器430。
0120通信/接口电路475给外部源470或体偏置发生器430提供了通信和交换信息的机构。外部源470可向PLD 103内的通信/接口电路475提供一个或多于一个控制信号480。通信/接口电路475把从外部源470接收的信息提供给体偏置发生器430。响应该信息,体偏置发生器430生成其电平对应于控制信号480的电平的一个或多于一个体偏置信号435。通信/接口电路475可把诸如状态信号的信息从体偏置发生器430(或一般由PLD 103)提供给外部源470。
0121外部源470可由多种器件、结构或布置组成,如本领域普通技术人员受益于本发明的描述所理解的。例如,如果需要,外部源470可由互联网,计算机网络,总线等构成。
0122注意如果需要可以在动态或时变的基础上对PLD内的体偏置电平进行调整、编程或设置以考虑进或响应变化的条件(如,性能规范的改变)。举例来说,参考图10,外部源470可对提供给PLD 103的控制信号进行更新或修改。响应该信号,体偏置发生器430提供对应于更新的或修改的控制信号480的体偏置信号435。
0123举另外一个例子,可以改变或修改体偏置电平以响应PLD103内部的变化,例如,PLD 103的一个或多于一个电路或区域的温度的变化。图11显示根据本发明的示例性实施例的用于调节PLD内的体偏置电平的电路布置图。
0124此电路布置包括一个或多于一个温度传感器503,一个或多于一个参考源512,减法器509和体偏置发生器430。温度传感器503检测PLD 103内的一个或多于一个区域,电路或块的温度,并把温度信号506提供给减法器509。参考源512把参考信号515提供给减法器509。参考信号515可具有对应于各种温度水平的值。
0125减法器509从温度信号506中减去参考信号515,并把差值信号518提供给体偏置发生器430。差值信号518可由PLD 103内的一个或多于一个部分的实际温度和期望的温度之间的差值构成。
0126响应差值信号518,体偏置发生器430生成体偏置信号435。体偏置发生器430可用差值信号518以生成影响PLD 103性能的各个方面的体偏置信号435。例如,如果差值信号518指示比阈值温度或最高温度低,则体偏置发生器430就会生成降低PLD 103内的一个或多于一个晶体管的阈值电压的体偏置信号(因此性能提高)。相反地,如果差值信号518指示温度水平高于安全水平或最大水平,则体偏置发生器430可生成增大PLD 103内的一个或多于一个晶体管的阈值电压的体偏置信号(因此,引起温度水平下降,尽管使性能下降。)0127更一般地讲,可以实现生成体偏置电平的反馈环以针对特定的性能标准。换言之,可以把PLD的实际的性能度量和期望的或具体的度量或标准进行比较,并相应地对体偏置电平进行调整,编程,或设置。
0128图12显示用在本发明的示例性实施例的对PLD的体偏置电平进行调整,编程,或设置的过程或技术的流程图。用适当的诸如控制电路136的电路(或电路和软件或固件的结合),可以实现该程序或技术。
0129该程序以如下方式运行。在550,对PLD的期望的一部分或几部分的初始体偏置电平进行设置或编程。接着,在533,可以获得PLD的性能度量。性能度量可包括许多种标准,诸如给定的操作花费的时间,功率消耗,功率密度,吞吐量,芯片上自检结果和类似的标准,如本领域普通技术人员受益于本发明的描述所理解的。
0130接下来,在556,程序检查以确定实际的性能度量是否满足期望的或具体的一个标准或多于一个的标准。如果满足,在559,程序保持体偏置电平不变。另一方面,如果实际的性能度量不能满足指定的一个标准或多于一个的标准,在562,程序对更新的体偏置电平进行调整,编程或设置以减小实际的和期望的性能度量之间的差。然后程序转回到553以检查新的体偏置电平是否影响实际性能度量。如果需要,该程序可以无限继续或继续到一给定的次数。
0131除了检查性能度量(如,运行速度,吞吐量,功率消耗)以外,可以检查PLD内的一个或多于一个部分或电路的温度水平。图13显示考虑了温度水平,用来对体偏置电平进行调整,编程,或设置的过程或技术的流程图。如上所述,用适当的诸如控制电路136的电路(或电路和软件或固件的结合)可以实现该程序或技术。
0132在550,程序对PLD内的期望的晶体管,电路,块或类似元件的初始体偏置电平进行设置,编程或调整。在553,程序获得性能度量。性能度量可以包括如上所述的许多种参数或变量。性能度量的选择取决于诸如PLD实现的电路或系统的设计和性能规范的因素,如本领域普通技术人员理解的。
0133接下来,在553A,程序获得温度水平。如上所述,可以从PLD的各部分获得并检查一个或多于一个温度水平。在示例性实施例中,可以从任何识别的关键路径,或一般而言,可以从任何具有相对较高的功率消耗并因此具有相对较高的温度水平的电路中获得温度水平。
0134在556A中,程序检查以确定实际的性能度量是否满足期望的或具体的标准或多于一个的标准。而且,程序检查以确定实际的温度水平是否满足期望的或具体的标准或多于一个的标准(如,实际的温度是否落在规定的范围内或位于阈值水平之下等)。
0135如果两个条件都成立,在559中,程序保持体偏置电平不变。如果两个条件都不成立,则在562中,程序对新的或更新的体偏置电平进行调整,编程或设置以减小实际的和期望的性能度量之间的差,及实际的和期望的或规定的温度水平之间的差。然后程序转回到553以检查确定新设置的体偏置电平是否对实际的性能度量和温度度量产生影响。如果需要,程序可无限继续,或继续到一给定的次数。
0136在其它实施例中,响应或根据PLD实现的电路或系统的运行环境,可以对体偏置电平进行调整,编程或设置。例如,假设根据本发明使用PLD来实现通信网络控制器或布线器。在运行过程中,PLD可以获得关于控制器或布线器运行的环境的条件或特征的信息。
0137例如,PLD可获得此环境内的有关通信量水平的度量。取决于其运行环境的条件或特性,PLD可以对一个或多于一个晶体管的体偏置电平进行调整、编程或设置以使其性能与运行环境的需求相匹配。当然,以上的例子仅说明如何使用这种PLD。可以将本发明的构思应用到许多种电路,系统,和运行环境中,每一个都具有自己的特性或条件,如本领域普通技术人员受益于本发明的描述所理解的。
0138图14显示考虑了PLD运行的环境特征或条件,用来对体偏置电平进行调整,编程,或设置的过程或技术的流程图。如上所述,可以用诸如控制电路136的适当的电路(或电路和软件或固件的结合)来实现该程序或技术。
0139程序以如下方式运行。在550,对PLD的期望的一部分或几部分的体偏置电平进行编程或设置。接下来,在553B,可以获得PLD运行的环境、电路或系统的一个或多于一个条件或特性。所述条件或特性可以包括如上所述的许多项。
0140接着,在556B中,程序检查以确定运行环境的条件或特性是否能获得理想的更高的PLD性能水平。(例如,为了用以上的例子,如果网络交通水平相对很高,因此获得更理想的更高的PLD性能或吞吐量),如果没有,在559,程序保持体偏置电平不变。另一方面,如果需要较高的PLD性能或吞吐量,在562,程序对新的或更新的体偏置电平进行调整、编程或设置以减小实际的和期望的性能度量之间的差。然后,程序转回到553B,以检查新的体偏置电平是否影响了实际的性能度量。如果需要,该程序可无限继续或继续到一给定的次数。
0141根据本发明的构思,可以使用多种实施例,这取决于诸如对一特定的应用或实施方式的设计和性能规范的因素。例如,参考图14,注意其与结合图13描述的实施例类似,如果需要,可以把PLD的各部分的温度水平考虑进去。
0142换种方式讲,不仅可以检查是否需要较高的PLD性能或吞吐量,还可以检查PLD内的温度水平或功率密度是否安全或适当地提高了PLD的性能。图15显示用于实现这种实施例的程序。根据应用,可以把该程序重复期望的次数。
如上所述,可以用诸如控制电路136的适当的电路(或电路和软件或固件的结合)来实现该程序或技术。
0143本公开的另一方面涉及通过测量PLD内的选定的电路或区域的延迟来对PLD内的电路的体偏置进行设置或调整。图16显示根据用户电路的运行延迟的延迟表示来调整用户电路中的晶体管的体偏置的电路布置图。更具体地讲,该电路布置包括PLD 103,PLD区606,用户电路609,延迟电路612和体偏置控制器603。
0144PLD区606包括用户电路609和延迟电路612。用户电路609可包括任何需要的电路,诸如用户实现的或指定的电路或部分指定电路(如,关键路径)。延迟电路612表示用户电路609的实际延迟或以用户电路609的实际延迟为模型。一般而言,该延迟表示用户电路609的延迟,且该延迟不必与用户电路609的延迟相同。例如,如果需要,延迟电路612可以与用户电路609具有相同的延迟、两倍于用户电路的延迟、或为用户电路的延迟的一半等等。
0145延迟电路612可通过信号链615(诸如导体的一个或多于一个耦连机构)耦连到体偏置控制器603。响应延迟电路612的实际延迟,体偏置控制器603把一个或多于一个体偏置信号提供给PLD区606中的至少一些晶体管(以下将详细描述)。
0146注意,图16显示两个体偏置信号Vb1和Vb2。体偏置信号对PLD区606中的至少一个晶体管的体偏置进行调整或设置。例如,一个体偏置信号(比如说Vb1)可以设置PMOS晶体管的体偏置,而另一信号(比如说,Vb2)可以设置NMOS晶体管的体偏置等等。通过调整用户电路609中的晶体管的体偏置,可以如上所述控制或调整其速度或泄漏。
0147图17显示根据本发明的说明性实施例的体偏置控制器的结构图。体偏置控制器603包括参考信号发生器625,延迟电路612,相位比较器637和体偏置发生器430。任选地,体偏置控制器603可包括MUX627,以下将详细描述。
0148参考信号发生器625从时钟信号628生成参考信号631。取决于根据电路的实际设计和实施方式的因素(即,延迟电路612的延迟和用户电路609的延迟的关系),如果需要,参考信号631可以与时钟信号628有特定的关系。例如,参考信号631的频率可为时钟信号628的频率的一半。参考信号631供给延迟电路612。响应该参考信号,延迟电路612产生输出信号634,其为参考信号631的延迟形式。
0149注意,如果需要,可任选使用MUX 627以能从若干时钟信号628A中选择一个。如下面详细描述的,体偏置控制器603使用时钟信号628的周期对参考电路的延迟进行测量,并使用测量的结果以生成体偏置信号并将其提供给PLD 103上的各电路。通过MUX 627的选择信号627A,可以从时钟信号628A中选择一个以使选择的时钟信号有期望的或特定的周期。在这种方式下,可以提高体偏置控制器603的灵活性。
0150相位比较器637将参考信号631和延迟电路612的输出信号634进行比较。根据两个信号的相对相位,比较器637产生输出信号640(加速)和输出信号643(减速)。输出信号640和643驱动体偏置发生器430。响应输出信号640和643,体偏置发生器430产生体偏置信号。在如图17所示的特定的例子中,体偏置发生器产生体偏置信号646(vb1)和体偏置信号649(vb2)。
0151图18显示根据本发明的示例性实施例的参考信号发生器的电路布置。参考信号发生器625包括触发器660,和反相器663和666。在此特定的例子中,参考信号发生器625由1∶2分频电路构成。因此,触发器660和反相器663生成的信号的频率是时钟信号628的一半。反相器666对信号进行缓冲产生参考信号631。如本领域普通技术人员受益于本发明的描述所理解的,取决于电路配置及应用,如果需要,可以不需要使用反相器666或可以省略它。
0152图19描述了根据本发明的示例性实施例的相位比较器637的电路布置。比较器637包括异或(XOR)门675,和触发器681。延迟电路612的输出提供XOR门675的一个输入。参考信号631提供XOR门675的另一个输入。
0153XOR门675的输出提供触发器681的数据(D)输入。时钟信号628驱动触发器681和684。触发器681的Q输出提供输出信号640(加速/ )。高输出信号表明电路运行非常慢(应该有更大的前向体偏置),反之亦然(低速信号表明电路应该有更大的反向体偏置)。
0154如果经过延迟电路612的延迟比时钟信号628的周期短,则用户电路运行太快。在此情况下,在时钟信号628的上升转换时刻,门675的输出应为逻辑零。相反地,如果经过延迟电路612的延迟比时钟信号628的周期长,则用户电路运行太慢。在这些情况下,在时钟信号628的上升转换时刻,XOR门675在其输出提供逻辑高电平信号。结果,触发器681提供加速的输出信号。
0155图20图解说明了根据本发明的示例性实施例的相位比较器的另一电路布置。类似于图19,图20中的比较器637包括异或门675,异或非(XNOR)门678和触发器681和684。此外,图20中的比较器637包括死区延迟电路690。死区延迟电路690能对PLD 103内的晶体管进行更稳定和更功率有效的体偏置调整。
0156更具体地讲,死区延迟电路690使XNOR门678接收参考信号634的延迟形式,而是接收参考信号634本身。在没有死区延迟电路690时,当比较器637试图寻找用户电路609的平衡的速度,泄漏,和功率消耗时,可重复交替地使能其加速和减速输出信号。重复地进行体调整(晶体管体的充电和放电)可能会引起功率消耗增加,因此使效率下降。
0157死区延迟电路690有助于减少比较器637的输出“振动”。换言之,在比较器637包括延迟电路612和死区延迟电路690(即,图20)的情况下,一个延迟电路会形成最小的延迟,两个延迟的和会形成最大的延迟。如果时钟信号628的周期超过两个延迟的和,则用户电路609运行速度太快。结果,比较器637使能减速输出信号。
0158相反,如果时钟周期比延迟电路612的延迟短,则用户电路609运行速度太慢。因此,比较器637使能加速输出信号。如果用户电路609在可接收的或规定的速度范围内运行(具有对应的泄漏和功率消耗水平),则比较器307不对其输出信号使能。因此,比较器637不在其输出信号之间重复交替变化,目的是获得用户电路609的可接受的运行速度。
0159注意延迟电路612可以提供固定的或可调的或可配置的延迟。在固定延迟情况下,延迟电路612包括具有期望或规定延迟的逻辑电路。例如,延迟电路612可以包括诸如门的组合逻辑元件的布置。可以用PLD 103的可编程资源实现延迟电路612,这些可编程资源诸如可编程逻辑106和可编程布线或互联109(见图1)。
0160可替代地,延迟电路612具有可配置的延迟。图21描述了用于本发明的示例性实施例中的可配置延迟电路。图21中的延迟电路612接收一组配置或调整信号703。信号703包括一组表示为B0到Bi.的位。配置信号703调整或配置延迟电路612的延迟。换言之,通过调整配置信号703的各位的值,可以调整延迟电路612将其输入信号进行延迟的时间量以生成其输出信号。
0161图22显示根据本发明的示例性实施例的用于可配置延迟电路的电路布置图。可配置延迟电路包括耦连的一组互联或布线延迟元件710的级联或串联,耦连的一组逻辑延迟元件719、MUX713和MUX725的级联或串联。
0162布线延迟元件710的输出信号构成了MUX713的输入信号。MUX713还接收一个或多于一个选择信号716。选择信号716的数量取决于布线延迟元件710的数量,如本领域普通技术人员受益于本发明的描述所理解的。通过选择信号716,可以选择地把布线延迟元件710中的一个元件的输出耦连到MUX713的输出。因此,可以把第一布线延迟元件的输入信号(参考信号631)配置一定量的延迟再从MUX713输出。
0163类似地,逻辑延迟元件719的输出信号作为MUX 725的输入信号。MUX 725还接收一个或多于一个选择信号728。选择信号728的数量取决于逻辑延迟元件719的数量,如本领域普通技术人员受益于本发明的描述所理解的。通过使用选择信号728,可以选择地把逻辑延迟元件719中的一个元件的输出耦连到MUX728的输出。相应地,可以把第一逻辑延迟元件(即MUX 713的输出信号)的输入信号配置一定量的延迟再从MUX725输出。
0164利用MUX713和MUX725,可以对可配置延迟电路的延迟进行配置,以构成需要数量的布线延迟元件710和逻辑延迟元件719的各个延迟的组合。因此,可以配置延迟电路(如,通过如上详细描述的PLD配置软件)以使其延迟表示用户电路的延迟。而且,如果需要可以以动态的方式(响应变化的运行环境,外部控制,用户控制等等)配置延迟。
0166图23显示用于根据本发明的示例性实施例的布线延迟元件710的电路布置。布线延迟元件710包括MUX735和反相器738。MUX 735和反相器738一起表示PLD 103内的一般的布线机制(包括其相应的延迟)。MUX 735多个输入中的一个输入和其选择输入接地,以使MUX 735将其输入信号耦连到反相器738的输入。反相器738的输出信号由布线延迟元件738的输出信号构成。因此,布线延迟逻辑710的输出信号是其输入信号的取反的形式。
0167注意这些图(如图18-20,和22-24)仅是它们表示的各自电路的示例性的实施例。如本领域普通技术人员受益于本发明的描述所理解的,如果需要,可根据诸如设计和性能规范,使用其它的电路和实施例。
0168仅作为一个例子,可以不使用具有离散时间输出值的比较器,而使用具有连续时间输出值的比较器。而且,如果需要,可以使用多于一个的体偏置控制器603(和比较器),以给PLD 103的各部分提供可调的或可编程的体偏置信号。
0169作为另一个例子,如果需要,可以使用专用电路来实现这些图中的各个电路(如,体偏置控制器603),比如,可作为控制电路136(见图1)的一部分电路。作为一种可选方案,如果需要,可以在PLD 103(如,见图1、3和4)的可编程资源中实现那些电路,即在可编程逻辑106和可编程互联109中实现。如本领域普通技术人员受益于本发明的描述所理解的,可以使用这两种方法的结合。换言之,如果需要,可以部分使用PLD 103的可编程资源,部分使用专用电路来实现该电路。如果实现方式使用了PLD可编程资源,PLD CAD软件(如,见图6A和相应的描述)对PLD 103的可编程结构(可编程逻辑106和可编程互联109)内的各电路元件进行布局布线。
0170此外,PLD CAD对实现延迟电路112的电路元件(可组合的逻辑元件或布线延迟元件710和逻辑延迟元件719)进行选择,布局,和布线。PLD CAD软件选择电路元件以使延迟电路612表示用户电路609的延迟。PLD CAD软件对配置内存133(见图1)的位形式的值进行编程以接下来将其值提供给各种配置或编程信号,诸如MUX选择信号627A(见图17)和配置信号703(见图21)。在可替代的实施例中,用户可以把延迟电路的参数定义到模型用户电路609中。可替代的实施例给用户提供了将PLD的电路的性能与用户的规范或要求匹配的能力。
0171注意,除了可使用一个延迟电路612和一个比较器637外,如果需要,还可使用多个延迟电路612和/或多个比较器637。这样,可以提供由延迟链提供的延迟的更高的分辨率,并因此改进体偏置控制器的收敛(convergence)。
0172本公开的另一方面涉及直接对集成电路中的晶体管的性能(泄漏,速度和功率耗散)进行总体的调整或编程(不使用以包括那些晶体管的电路的性能为模型的延迟电路)。更具体地讲,可以利用泄漏锁定环(LLL),通过对晶体管的体偏置进行编程或调整来设置集成电路中的一个或多于一个晶体管的泄漏电平。
0173泄漏锁定环技术的优点是它能够直接控制电路的泄漏,而非利用将延迟表示为漏电流的度量来间接控制。该技术使用户能指定容许的或期望的泄漏电平并在性能,漏电流和功率耗散之间选择和指定期望做出的权衡。注意可以把泄漏锁定环的构思总体地应用到包括PLD的集成电路中。
0174图25显示根据本发明的说明性实施例的泄漏锁定环的结构图。泄漏锁定环包括参考晶体管760,泄漏测量电路766,加法器755和体偏置发生器430。一般而言,泄漏锁定环包括负反馈电路。它利用参考晶体管760来度量集成电路763中的晶体管的漏电流,并利用测量的漏电流来生成那些晶体管的体偏置信号。
0175注意,如果需要,可以设计出泄漏锁定环的其它实施例,泄漏锁定环测量其它的量,并对一个或多于一个晶体管的体偏置进行调整以满足一个或多于一个用户规定的标准,如本领域普通技术人员受益于本发明的描述所理解的。这种量的例子包括参考晶体管的阈值电压(VT),或参考晶体管的饱和电流(Idsat)。
0176参考晶体管760位于IC电路763中。注意,如果需要,可以用多于一个的参考晶体管760(如,用来测量IC电路763中的多于一个位置的漏电流)。IC电路763由集成电路内的电路构成,该集成电路的性能是人们寻求通过体偏置电平进行调整或编程的性能。例如,在集成电路是可编程逻辑器件的情况下,IC电路763可由用户电路609构成(例如参见图16)。
0177通常,应选择IC电路763在集成电路内包含足够小的部分电路,以使其中的晶体管(包括参考晶体管760)有相似的电特征,且条件的变化(如,过程,电压和温度或PVT)不会显著降低在整个IC电路763内对体偏置的编程。
0178泄漏测量电路766测量参考晶体管760的泄漏,且把泄漏信号769提供给加法器755。加法器755把泄漏信号769和参考泄漏信号(vref)772进行比较以生成误差信号778。体偏置发生器430利用误差信号生成一个或多于一个体偏置信号435。体偏置发生器430把体偏置信号435提供给IC电路760内的期望的晶体管。
0179注意,如果需要,可以用图25中的泄漏锁定环的可配置元件。例如,如果需要,可以使用可配置泄漏测量电路766(可配置增益),可配置加法器775(可配置增益)或单独的增益块跟随加法器775,可配置参考泄漏信号772(可配置电平),和/或体偏置发生器430的可配置增益。注意,如果需要,可以用PLD配置RAM位、PLD上的来自用户电路的信号、或这两者的结合来对这些可配置元件的每一个元件进行配置。
0180图26图解说明了根据本发明的另一示例性实施例的泄漏锁定环的结构图。图26中的泄漏锁定环包括参考晶体管760(其位于IC电路763内),泄漏测量电路766,参考值和比较器电路775,滤波器787和体偏置发生器430。
0181参考晶体管760和IC电路763与结合图25的以上描述的那些电路具有相同的或类似的配置。泄漏测量电路766通过控制信号781提供可编程的增益。更具体地讲,通过控制信号781,可以调整泄漏测量电路766施加到测量到的漏电流的增益以提供泄漏信号769。
0182参考值和比较器电路775对泄漏信号进行处理。通过控制信号784,如果需要,参考值和比较器电路775提供可编程参考值、可编程增益、或可提供两者。换言之,如果需要,通过控制信号784,可以调整参考泄漏信号(类似于图25中的参考泄漏信号772)、将泄漏信号769和参考泄漏信号进行比较以生成泄漏误差信号778的比较器(未清楚示出)的增益、或两者。如果需要,参考值和比较器电路775任选地包括将比较器的输出信号进行量化的量化器。
0183滤波器787过滤并处理泄漏误差信号778以产生过滤的信号790。体偏置发生器430以上述结合图25描述的方式运行,以给IC电路763提供一个或多于一个的体偏置信号。
0184注意,如果需要,可以从泄漏锁定环中省掉滤波器787。滤波器787具有期望的传递功能,诸如增益块或电路,低通传递功能或积分器晶体管功能。选择是否包含滤波器787及其特定的传递功能取决于设计和性能规范及考虑,如本领域普通技术人员受益于本发明的描述所理解的。
0185如果需要,可以以多种方式实现泄漏测量电路766及参考值和比较器775。对电路和实施方式的选择取决于多种因素(如,使用的集成电路技术、期望的性能特征等等),如本领域普通技术人员受益于本发明的描述所理解的。图27-29给出了一些例子。
0186图27描述了根据本发明的说明性实施例的泄漏测量电路766。泄漏测量电路766包括PMOS晶体管803和805、参考晶体管760和多个NMOS晶体管808A-808D。
0187参考晶体管760的栅极耦连到其源极,这会使参考晶体管760处于断开状态。因此,导通流过参考晶体管760的电流表示其漏电流。晶体管803串联耦连在参考晶体管760上。晶体管803的栅极耦连到其漏极(所谓的“二极管连接”配置)。
0188晶体管803和晶体管805形成电流镜。电流镜放大了漏电流(流过参考晶体管760的电流)。放大的水平取决于晶体管803和805的相对的尺寸,如本领域普通技术人员受益于本发明的描述所理解的。
0189由电流镜放大的电流流过处于导通状态的晶体管808A-808D中的任何一个晶体管。晶体管808A-808D提供可配置的输出电流(漏电流769)。通过施加适当电平的控制信号781,并选择地接通晶体管808A-808D,从而配置输出电流。通常,对于有i位的控制信号781,可以提供2i个参考电流电平。晶体管808A-808D可能具有选择的相关的尺寸,以响应控制信号781,提供期望的参考电流分布。
0190如本领域普通技术人员受益于本发明的描述所理解的,可以使用多个晶体管的数量和尺寸的多种组合。举一个例子,可以选择晶体管808A-808D的尺寸以使晶体管808B-808D中的每一个的宽度是前面的晶体管(二进制加权配置)的两倍。在示例性的实施例中,对于一个给定的通道长度,晶体管706的宽为200,晶体管803的宽为1,晶体管805的宽为50,晶体管808A的宽为1,晶体管808B-808D具有二进制加权的宽度(即,晶体管808B的宽为2,晶体管808C的宽为4,以此类推)。
0191图28显示根据本发明的说明性实施例的参考值和比较器电路775。该电路包括电阻818,电阻821和比较器815。电阻818和821形成电压分压器,它把泄漏参考信号772提供给比较器815。可以选择电阻818和821的值以提供期望的参考电平。比较器815把泄漏信号769和泄漏参考信号722进行比较,以提供泄漏误差信号778。如果需要,比较器815具有可配置的增益(响应控制信号784)。注意图28显示简化的比较器815,而且,如果需要,此比较器815可包括稳定的参考电路以提供相对准确的参考电压。
0192图29图解说明了根据本发明的另一示例性实施例的参考值和比较器电路775。该电路包括电阻824,电阻827,电阻830,比较器815A,比较器815B和计数器839。如果需要,比较器815A和/或815B可具有可配置的增益(响应控制信号784)。
0193图29中的参考值和比较器电路775类似于图28中的电路,但它用了两个参考信号以提供漏电流的一个下界和一个上界。更具体地讲,电阻824、827和830形成电压分压器,电压分压器将泄漏参考信号772A提供给比较器815A,将泄漏参考信号772B提供给比较器815B。泄漏参考信号772A和772B构成漏电流的边界。换言之,泄漏参考信号772A和772B提供漏电流的“视窗”值。可以选择电阻824、827和830的阻值以提供期望电平的漏电流参考信号772A和772B。
0194比较器815A把泄漏信号769和泄漏参考信号772A进行比较以提供下降信号833。下降信号833使计数器839向下计数(即,使集成电路的运行速度降低)。相反地,比较器815B把泄漏信号769和泄漏参考信号772B进行比较以提供上升信号836。上升信号836使计数器839向上计数(即,使集成电路的运行速度提高)。换言之,计数器与图26中的把积分器用作滤波器787是类似的。计数信号842提供计数器839的电流计数值。体偏置发生器430(图29中未示出)使用计数信号842以生成体偏置信号435(图29中未示出),并将此信号提供给IC电路763。
0195为了进一步对体偏置电平进行控制或编程,如果需要,集成电路内可以包含多于一个的体偏置发生器电路430。在这种配置中,每一体偏置发生器430向集成电路内的电路(诸如IC电路763)或区域提供一个或多于一个体偏置信号435。
0196因此,可以对体偏置发生器430进行编程以为集成电路的每一电路或每一区域提供特定的或个性化的体偏置信号。作为可选的方法,用户可以对体偏置发生器430进行指定或编程,以生成集成电路的给定的电路或区域的期望数量或电平的体偏置信号435。具体调整或编程的体偏置电平能在集成电路的每一电路或每一区域的性能、泄漏和功率耗散之间进行权衡。结果,用户用更精细的粒度,增强了对集成电路的各部分或各电路的性能和功率之间的权衡的控制。
0197图30描述了根据本发明的示例性实施例用于给集成电路IC提供多个体偏置电路的电路布置。此电路布置包括集成电路区870,一组IC电路763A-763C,相应数量的MUX 875A-875C,和一组体偏置发生器435A-435C。
0198每一体偏置发生器430A-430C生成一个或多于一个体偏置信号,表示为体偏置信号435A-435C,并将这些信号提供给每一MUX875A-875C。响应选择信号880,每一MUX 875A-875C从体偏置发生器435A-435C中的一个选择体偏置信号,并将选择的体偏置信号提供给对应的集成电路763A-763C中的一个集成电路。
0199除了用MUX 875A-875C外,还可以使用可用可编程非易失耦连机构(诸如熔丝)。在这种情况下,可以在制造之后,测试个别集成电路以确定其特征(如,泄漏电平)并对非易失耦连机构进行编程以把期望的或适当的体偏置信号提供给集成电路的各个区或各个电路。通过包含若干体偏置发生器,可以给用户对那些区域或电路的体偏置电平独立进行编程的能力。
0200在另一个实施例中,可以用储存在非易失内存(诸如与集成电路的特征相关的值(如泄漏电平)或集成电路内的特定的区或电路)的值和用户配置的或用户指定的值相结合以生成体偏置电平。该方案既考虑了集成电路的特征又考虑了用户指定的参数,以在性能,功率耗散和泄漏电平之间做出权衡。
0201如果是PLD,则PLD区780由PLD区606(例如,见图25)构成,每一IC电路763可以对应于用户电路609。可以给PLD 103中的每一用户电路609(例子,见图25)提供一个或多于一个调整的或编程的体偏置信号435。在另一个实施例中,IC电路763可以对应于物理上相近的一组PLD电路(可编程逻辑106和可编程互联109),或选择的一组可编程逻辑106和可编程互联109(如,图3中排列成矩形阵列的一组可编程逻辑电路106)。
0202图30图解说明了体偏置发生器430A-430C作为提供体偏置信号435A-435C的电路。在PLD的情况下,一般可以用体偏置控制器603A-603C(如,见图25),而不使用体偏置发生器430A-430C。
0203注意图30图解说明的IC区780包括IC电路763A-763C,如本领域普通技术人员受益于本发明的描述所理解的,相反的情况也可能存在(即,每一IC电路可包括一个或多于一个IC区870)。
0204还应注意可以把以上所述的性能调整构思和其它的技术结合起来以降低功率密度或使他们保持在安全范围内。例如,可以接通或关断PLD内的各电路(见图9和相应描述)以在期望的性能水平及安全性或规定的功率消耗水平或功率密度之间做出权衡。其它的修改和实施例对参考了本发明的描述的本领域普通技术人员是很明显的。
0205通常,应该注意如果需要可以把本发明的构思有效地应用到各种可编程逻辑电路或本领域叫做其它名称的集成电路,如本领域普通技术人员受益于本发明的描述所理解的。这类电路包括被称为复杂可编程逻辑器件(CPLD)、可编程门阵列(PGA)和现场可编程门阵列(FPGA)的器件。
0206本领域普通技术人员在参考这些图后会注意到所示的各个块主要描述概念上的功能和信号流。实际的电路实施方式可能包含或可能不包含各功能块的个别的可识别的硬件,且可能使用或可能不使用所示的特定电路。
0207例如,如果需要,可以把各个块的功能性组合到一个电路块中。而且,如果需要,可以在几个电路块中实现单个块的功能性。电路实施方式的选择取决于诸如一个给定的实施方式的特定设计规格和性能规范,如本领域普通技术人员受益于本发明的描述所理解的。
0208除了此处描述的本发明的实施例以外的其它修改例和可替代的实施例,对从本发明的描述中获益的本领域普通技术人员是明显的。因此,此描述教给本领域技术人员实施本发明的方式,而且,此描述仅被认为是说明性的。
0209所显示和描述的本发明的形式应该被认为目前优选的或示例性的实施例。本领域技术人员可以对各部分的形状,尺寸和布置进行修改,而不偏离此文描述的本发明的范围。例如,本领域技术人员可用等同的元件替代此处图解说明和描述的元件。而且,本领域技术人员在参考本发明的描述后可把本发明的一些特征独立于其它特征使用,而不偏离本发明范围。
权利要求
1.一种可编程逻辑器件PLD,包括延迟电路,所述延迟电路的延迟被配置成表示在所述PLD内实现的用户电路的延迟;和体偏置发生器,所述体偏置发生器被配置为调整所述用户电路的晶体管的体偏置,以响应从所述延迟电路的传播延迟中得到的电平。
2.根据权利要求1所述的可编程逻辑器件,其中所述延迟电路包括可组合的逻辑。
3.根据权利要求1所述的可编程逻辑器件,其中所述延迟电路包括至少一个逻辑延迟元件和至少一个布线延迟元件。
4.根据权利要求3所述的可编程逻辑器件,其中所述至少一个逻辑延迟元件和所述至少一个延迟元件用所述PLD中的可编程电路实现。
5.根据权利要求1所述的可编程逻辑器件,进一步包括相位比较器,所述相位比较器被配置为响应施加到所述延迟电路的一个输入的参考信号,将所述延迟电路的输出信号的相位和所述参考信号的相位进行比较。
6.根据权利要求5所述的可编程逻辑器件,其中所述比较器进一步被配置成提供第一输出信号和第二输出信号。
7.根据权利要求6所述的可编程逻辑器件,其中,响应所述第一输出信号,所述体偏置发生器对所述晶体管的所述体偏置进行调整以使所述晶体管的运行加速。
8.根据权利要求6所述的可编程逻辑器件,其中,响应所述第二输出信号,所述体偏置发生器对所述晶体管的所述体偏置进行调整以便所述晶体管的运行减速。
9.根据权利要求5所述的可编程逻辑器件,其中所述延迟电路包括可配置延迟电路。
10.根据权利要求9所述的可编程逻辑器件,其中所述可配置延迟电路的传播延迟是可配置的。
11.根据权利要求1所述的可编程逻辑器件,其中所述用户电路包括至少一个可编程逻辑元件和至少一个可编程互联元件。
12.一种可编程逻辑器件PLD,包括用来产生延迟的装置,该延迟表示在所述PLD内实现的用户电路的传播延迟;用来根据所产生的延迟得到至少一个信号的装置;和响应所述至少一个信号,用来对所述用户电路中的晶体管的体偏置进行编程的装置。
13.根据权利要求12所述的可编程逻辑器件,其中所述用户电路中的所述晶体管存在于可编程逻辑元件中。
14.根据权利要求12所述的可编程逻辑器件,其中所述用户电路中的所述晶体管存在于可编程互连元件中。
15.根据权利要求12所述的可编程逻辑器件,其中由产生所述延迟的所述装置产生的所述延迟是可调的。
16.根据权利要求15所述的可编程逻辑器件,其中调整所述延迟会引起所述至少一个信号产生变化。
17.根据权利要求16所述的可编程逻辑器件,其中用来得到至少一个信号的所述装置得到所述至少一个信号,以使用于对所述晶体管的所述体偏置进行编程的所述装置加速所述晶体管。
18.根据权利要求16所述的可编程逻辑器件,其中用来得到至少一个信号的所述装置得到所述至少一个信号,以使用来对所述晶体管的所述体偏置进行编程的所述装置减速所述晶体管。
19.一种可编程逻辑器件PLD,包括参考晶体管,该参考晶体管被配置成提供与所述PLD中的电路相关的电流;电流测量电路,所述电流测量电路被配置成测量由所述参考晶体管提供的所述电流以提供测量的电流信号;和体偏置发生器,该体偏置发生器被配置成从所述测量的电流信号中得到至少一个体偏置信号;所述体偏置发生器进一步被配置成向所述PLD中的所述电路提供所述至少一个体偏置信号。
20.根据权利要求19所述的可编程逻辑器件,进一步包括耦连到所述电流测量电路和所述体偏置发生器的比较器,所述比较器被配置成通过把测量的电流信号和参考信号进行比较得到一个信号,所述比较器进一步被配置成将所述信号提供给所述体偏置发生器。
21.根据权利要求20所述的可编程逻辑器件,进一步包括耦连在所述比较器和所述体偏置发生器之间的滤波器。
22.根据权利要求21所述的可编程逻辑器件,其中所述滤波器包括一个积分器。
23.根据权利要求20所述的可编程逻辑器件,其中所述电流测量电路包括一个电流镜,所述电流反射镜被配置成对由所述参考晶体管提供的所述电流进行放大,以提供经过放大的电流。
24.根据权利要求23所述的可编程逻辑器件,其中所述电流测量电路进一步包括电流定标电路,所述电流定标电路被配置成对所述放大的电流进行比例缩放。
25.根据权利要求20所述的可编程逻辑器件,其中所述比较器包括可配置比较器。
26.根据权利要求19所述的可编程逻辑器件,进一步包括耦连到所述电流测量电路和所述体偏置发生器的第一和第二比较器,所述第一和第二比较器被配置成通过将所测量的电流信号与第一和第二电流参考信号进行比较得到一对信号,所述第一和第二比较器进一步被配置成将所述一对信号提供给所述体偏置发生器。
27.根据权利要求20所述的可编程逻辑器件,其中所述第一和第二电流参考信号分别对应于较低泄漏值和较高泄漏值。
28.根据权利要求27所述的可编程逻辑器件,进一步包括耦连到所述第一和第二比较器的计数器,所述计数器被配置成响应由所述第一和第二比较器提供的所述一对信号来进行计数,所述计数器进一步被配置成向所述体偏置发生器提供计数值。
29.根据权利要求28所述的可编程逻辑器件,其中所述第一比较器包括一个可配置的比较器,其中所述第二比较器包括一个可配置的比较器。
30.根据权利要求19所述的可编程逻辑器件,其中所述PLD中的所述电路包括可编程逻辑。
31.根据权利要求30所述的可编程逻辑器件,其中所述PLD中的所述电路包括可编程互连。
32.根据权利要求19所述的可编程逻辑器件,其中所述测量的电流信号包括漏电流信号。
33.根据权利要求19所述的可编程逻辑器件,其中所述测量的电流信号包括从晶体管的阈值电压(VT)中得到的电流。
34.根据权利要求19所述的可编程逻辑器件,其中所述测量的电流信号包括晶体管的饱和电流(Idsat)。
35.一种可编程逻辑器件PLD,包括用来获得电路中的漏电流的装置;通过测量所述漏电流来产生测量的漏电流的装置;和响应所述测量的漏电流,对所述电路中的晶体管的体偏置进行编程的装置。
36.根据权利要求35所述的可编程逻辑器件,其中所述用来获得漏电流的装置位于所述电路中。
37.根据权利要求35所述的可编程逻辑器件,进一步包括用来将所述测量的漏电流和至少一个泄漏参考信号进行比较的装置。
38.根据权利要求37所述的可编程逻辑器件,其中所述用来进行比较的所述装置向所述体偏置发生器提供至少一个输出信号。
39.根据权利要求38所述的可编程逻辑器件,进一步包括通过对用于进行比较的所述装置的所述至少一个输出信号进行处理来产生至少一个处理的信号的装置,以及用来将所述至少一个处理的信号提供给所述体偏置发生器的装置。
40.根据权利要求37所述的可编程逻辑器件,其中所述用来比较所述测量的漏电流的装置把所述测量的漏电流与第一和第二泄漏参考信号进行比较,并且其中所述第一和第二参考信号对应于所述电路中期望范围的漏电流。
41.一种可编程逻辑器件PLD,包括多个用户电路,每一所述用户电路在所述PLD中实现;和多个体偏置发生器,其中所述多个体偏置发生器中的至少一个体偏置发生器被配置成可选择地对所述多个用户电路中的至少一个用户电路的晶体管的体偏置进行调整。
42.根据权利要求41所述的可编程逻辑器件,其中所述多个体偏置发生器中的所述至少一个体偏置发生器进一步被配置成可选择地对所述多个用户电路中的至少两个用户电路的每一电路中的晶体管的体偏置进行调整。
43.根据权利要求42所述的可编程逻辑器件,其中所述多个体偏置发生器中的每一体偏置发生器被配置成可选择地对所述多个用户电路中的相应的用户电路中的晶体管的体偏置进行调整。
44.根据权利要求43所述的可编程逻辑器件,其中所述多个用户电路中的每一用户电路中的所述晶体管的所述体偏置被调整到各个电平。
45.根据权利要求41所述的可编程逻辑器件,其中调整所述晶体管的所述体偏置以在运行速度和功率耗散之间做出权衡。
46.根据权利要求41所述的可编程逻辑器件,其中调整所述晶体管的所述体偏置以在运行速度和漏电流之间做出权衡。
47.一种利用可编程逻辑器件PLD来实现电子电路的方法,所述方法包括把所述电子电路映射成所述PLD内的功能资源以生成一个设计;从表示所述生成的设计中的至少一部分中的信号传播延迟的延迟得到体偏置值;和把所述生成的设计中的所述至少一部分的至少一个晶体管的体偏置电平编程为所述体偏置值。
48.根据权利要求47所述的方法,其中把所述电子电路映射成所述PLD内的功能资源进一步包括把所述电子电路的至少一部分映射到所述PLD内的可编程逻辑资源。
49.根据权利要求47所述的方法,其中把所述电子电路映射成PLD内的功能资源进一步包括把所述电子电路的至少一部分映射到所述PLD内的可编程逻辑资源。
50.根据权利要求47所述的方法,其中从表示所述生成的设计中的至少一部分的信号传播延迟的延迟得到体偏置值进一步包括把所述延迟和已知的时间周期进行比较。
51.根据权利要求50所述的方法,其中所述延迟是可调的。
52.根据权利要求47所述的方法,其中所述延迟由在所述PLD内实现的逻辑电路产生。
53.一种对可编程逻辑器件PLD内实现的电路中的晶体管的泄漏电平进行调整的方法,所述方法包括获得表示所述晶体管的漏电流的电流;从所获得的电流中得到体偏置电平;和把所述晶体管的体偏置调整为所得到的体偏置电平。
54.根据权利要求53所述的方法,其中获得表示所述晶体管的漏电流的电流进一步包括测量所述电路中的漏电流。
55.根据权利要求53所述的方法,其中从所述获得的电流中得到体偏置电平进一步包括将所述获得的电流和至少一个泄漏参考值进行比较以生成至少一个误差信号。
56.根据权利要求55所述的方法,其中从所述获得的电流中得到体偏置电平进一步包括从所述至少一个误差信号中得到所述体偏置电平。
57.根据权利要求56所述的方法,其中从所述获得的电流中得到体偏置电平进一步包括对所述至少一个误差信号进行滤波以生成一个滤波的信号;和从所述滤波的信号中得到所述体偏置电平。
58.根据权利要求55所述的方法,其中将所述获得的电流与至少一个泄漏参考值进行比较进一步包括将所述获得的电流与第一和第二泄漏参考值进行比较,其中所述第一和第二泄漏参考值限定了所述晶体管的漏电流的范围。
59.一种在可编程逻辑器件PLD的至少一个电路区中实现用户电路的方法,所述方法包括在所述电路区中,选择至少一个晶体管的体偏置电平;在所述PLD内生成所述电路区的初始布局;和如果目前的体偏置电平和布局不能满足规定的性能标准,则将所述电路区中施加到所述至少一个晶体管的所述体偏置电平改变为另一电平至少一次。
60.根据权利要求59所述的方法,进一步包括如果所述目前的体偏置电平和布局不能满足规定的性能标准,则使用从所述体偏置的新的电平中得到的延迟估计来对所述电路区的所述时序进行至少一次分析。
61.根据权利要求60所述的方法,进一步包括如果所述目前的体偏置电平和布局不能满足规定的性能标准,则在所述PLD内将所述电路区的所述布局改进至少一次。
62.根据权利要求61所述的方法,进一步包括如果所述目前的体偏置电平和布局满足规定的性能标准,则记录所述电路区的所述目前的布局和体偏置电平。
63.根据权利要求59所述的方法,其中所述规定的性能标准包括时序标准。
64.根据权利要求59所述的方法,其中所述规定的性能标准包括功率标准。
全文摘要
可编程逻辑器件(PLD)包括延迟电路和体偏置发生器。所述延迟电路的延迟被配置成表示在PLD内实现的用户电路的延迟。所述体偏置发生器被配置成调整用户电路中晶体管的体偏置。所述体偏置发生器响应从延迟电路的信号传播延迟中得到的电平,调整晶体管的体偏置。
文档编号G06F17/50GK1985440SQ200580023570
公开日2007年6月20日 申请日期2005年5月18日 优先权日2004年5月19日
发明者D·刘易斯, V·贝茨, I·拉希姆, P·麦克尔赫尼, Y-J·W·刘, B·彼得森 申请人:阿尔特拉公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1