用于优化可编程逻辑器件性能的装置和方法

文档序号:7539231阅读:221来源:国知局
专利名称:用于优化可编程逻辑器件性能的装置和方法
技术领域
0001本发明的原理一般涉及对可编程逻辑器件(PLD)的性能进行优化。更具体地,本发明涉及对功耗进行优化,并获得PLD功耗和操作速度的最优水平。
背景技术
0002现代PLD在复杂度方面已经并且持续增加。典型的PLD包括数千万个晶体管。一方面,PLD增加的复杂度改善了性能水平和提高了灵活性。另一方面,PLD的复杂度和大量的晶体管已使器件的功耗增加。随着器件尺寸降低到0.1微米以下,功率成为越来越重要的考虑因素。随着PLD复杂度的增加,这种趋势将可能持续。
0003解决功耗问题的一个方法是降低芯片的供给电压(或称电源电压),但这项技术在PLD中吸引力较低,这是由于n型金属氧化物半导体(NMOS)传输晶体管的阈值压降会导致相对严重的速度下降。通过提升传输晶体管的栅极电压可克服这一限制,但这样做可能要消耗额外的处理步骤来提供额外的氧化物厚度,还可能需要电荷泵(charge pump)来供给额外电流。因此,为了获得所需的性能特性,需要优化PLD的功耗。

发明内容
0004所公开的新原理涉及用于优化PLD中功耗的装置和方法。更具体地,本发明的原理针对PLD中增加的或过多的功耗提供了解决方案。在一个实施例中,PLD包括一对用户设计的电路,其使用PLD资源来实现。电路由两个供给电压供电。更具体地,一个用户设计的电路被配置成通过一个供给电压供电,而第二电路被配置成由第二供给电压供电。至少一个供给电压由PLD计算机辅助设计(CAD)流程来确定,上述PLD计算机辅助设计流程用于在PLD中实现用户设计。
0005在另一个实施例中,PLD包括一对用户设计电路,其使用PLD资源来实现。电路由两个供给电压来供电。更具体地,一个用户设计的电路被配置成通过一个供给电压供电,而第二电路被配置成由第二供给电压来供电。供给电压彼此不同(一个供给电压低于另一个供给电压)。
0006本发明的另一个方面涉及优化或降低PLD中功耗的方法。在一个实施例中,一种通过使用PLD中的资源来实现电子电路的方法,该PLD通过两个供给电压来供电,所述方法包括分配一个标称电平到所述供给电压中的一个,比如说,第二供给电压。所述方法还包括执行用于实现电子电路的PLD中的资源的放置和路由,以及确定符合电子电路的时序规范的第二供给电压电平的值。
0007在另一个实施例中,一种通过使用PLD中的资源来实现电子电路的方法,该PLD由两个供给电压供电,所述方法包括分配一个标称电压到所述供给电压中的一个,比如说,第二供给电压。所述方法还包括执行PLD中资源的放置,通过使用与第二供给电压电平对应的延迟估计来优化该放置,以及确定符合电子电路的时序规范的第二供给电压电平的值。


0008附图仅仅示出了本发明的示例性实施例,不应被认为或解释为对本发明范围的限制。从本发明的说明书中受益的本领域普通技术人员应当意识到,所公开的发明原理可使它们获得其它的等效实施例。在附图中,在多于一个的附图中使用的相同的标号表示相同、相似或等同的功能、组件或块。
0009图1显示了根据本发明一个说明性实施例的PLD的总体方框图。
0010图2说明了根据本发明的一个示例性实施例的PLD的平面图。
0011图3描述了根据本发明的一个示例性实施例的PLD中的可编程逻辑电路的一部分的方框图。
0012图4显示了根据本发明的一个示例性实施例的多供给电压PLD的方框图。
0013图5说明了根据本发明的另一个示例性实施例的多供给电压PLD的方框图。
0014图6描述了一种电路布局,其用于根据本发明的一个示例性实施例的路由多路复用器和驱动器。
0015图7-10显示了根据本发明示例性实施例的电路布局,其使用供应到PLD中LUT电路的多个供给电压。
0016图11说明了根据本发明的一个说明性实施例的、包括存储器电路的PLD的一部分的电路布局,其由多个供给电压供电。
0017图12描述了根据本发明另一说明性实施例的、包括存储器电路的PLD的一部分的电路布局,其由多个供给电压供电。
0018图13显示了根据本发明的一个示例性实施例的电路布局,其使用动态逻辑来降低PLD中的功耗。
0019图14说明了根据本发明的一个说明性实施例的、图13的电路布局的一种变形。
0020图15描述了根据本发明说明性实施例的PLD CAD软件所使用的各种的软件模块。
0021图16显示了根据本发明一个说明性实施例的、用于确定PLD供给电压的方法的简化流程图600。
0022图17说明了根据本发明一个说明性实施例的、另一种用于确定PLD供给电压的方法的简化流程图700。
0023图18描述了根据本发明的、又一种用于确定PLD供给电压的方法的简化流程图800。
具体实施例方式
0024本发明的原理专注于用于优化PLD性能的装置及其方法,包括优化PLD中的功耗。本发明的原理的一个特征涉及包含如下结构的PLD该结构为路由驱动器和逻辑提供了可配置的电源电压,同时在传输晶体管栅极上保持较高的电压。
0025本发明的原理的另一个特征涉及计算机辅助设计(CAD)流程确定及最优化(或趋于最优化)电压,以最小化(或趋于最小化)功耗。体系结构和CAD流程还与选择的速率/功率控制或PLD中区域的折衷或权衡(trade-off)有效地结合,以进一步功耗降低。本发明的原理还包括用于确定合适的供给电压值及分派速率/功率配置到PLD上可配置区域的方法。
0026图1显示了根据本发明说明性实施例的PLD 103的总体方框图。PLD 103包括配置电路130、配置存储器(CRAM)133、控制电路136、可编程逻辑106、可编程互连109,及I/O电路112。此外,根据需要,PLD 103可包括测试/调试电路115、一个或多个处理器118、一个或多个通信电路121、一个或多个存储器124、一个或多个控制器127。
0027注意,图1显示了PLD 103的简化方框图。因而,PLD 103可包括其它块和电路,如本领域普通技术人员所理解的。此类电路的实例包括时钟产生和分配电路、冗余电路、等等。另外,根据需要,PLD 103可包括模拟电路、其它数字电路,和/或混合型电路。
0028可编程逻辑106包括可配置或可编程的逻辑电路块,例如查找表(LUT)、乘积项逻辑、多路复用器(MUX)、逻辑门、寄存器、存储器、等等。可编程互连109耦合到可编程逻辑106,并在可编程逻辑106中的各种块和PLD 103内部或外部的其它电路之间提供可配置互连(联接机构)。
0029控制电路136控制PLD 103内的各种操作。在控制电路136的监控下,PLD配置电路130使用配置数据(其可从诸如存储装置、主机等等的外部源来获得)对PLD 103的功能加以编程或配置。配置数据典型地用来在CRAM 133中存储信息。CRAM 133的内容决定了PLD 103的诸如可编程逻辑106和可编程互连109的各种块的功能。
0030I/O电路112可构成多种多样的I/O装置或电路,如受益于本发明说明书的本领域普通技术人员应理解的。I/O电路112可耦合到PLD 103的各个部分,例如,可编程逻辑106和可编程互连109。I/O电路112提供了用于PLD 103内的各种块与外部电路或装置通信的机构和电路。
0031测试/调试电路115有利于PLD 103内的各种块和电路的测试和故障检修。测试/调试电路115可包括受益于本发明说明书的本领域普通技术人员所知道的多种块和电路。例如,根据需要,测试/调试电路115可包括用于在PLD 103加电或重置后执行测试的电路。根据需要,测试/调试电路115还可包括编码和奇偶校检电路。
0032PLD 103可包括一个或多个处理器118。处理器118可耦合到PLD 103内的其它块和电路。处理器118可接收来自PLD 103内部或外部电路的数据和信息,并以很多种方式处理该信息,如受益于本发明说明书的本领域普通技术人员应该意识到的。处理器(一个或多个)118中的一个或多个构成数字信号处理器(DSP)。根据需要,DSP允许执行多种多样的信号处理任务,例如压缩、解压缩、音频处理、视频处理、滤波等等。
0033PLD 103还可包括一个或多个通信电路121。通信电路(一个或多个)121可帮助在PLD 103内的各种电路与PLD 103外的电路之间交换数据和信息,正如受益于本发明说明书的本领域普通技术人员所理解的。
0034PLD 103还可进一步包括一个或多个存储器124和一个或多个控制器(一个或多个)127。存储器124允许在PLD 103内的各种数据和信息(例如,用户数据、中间结果、计算结果等等)的存储。根据需要,存储器124可具有颗粒或块的形式。控制器127允许接口到PLD外部的各种电路,并对PLD外部各种电路的操作以及功能进行控制。例如,根据需要,控制器127可构成存储器控制器,其接口到并控制外部同步动态随机访问存储器(SDRAM)。
0035图2显示了根据本发明一个示例性实施例的PLD 103的平面图。PLD 103包括可编程逻辑106,其布置为二维阵列。布置为水平互连和竖直互连的可编程互连109使可编程逻辑106的块相互耦合。可调节PLD 103中各种块的电源电压,如将在下文详细描述的。在说明性实施例中,根据本发明的PLD具有层次化的体系结构。换句话说,可编程逻辑106的每个块可包含更小或更颗粒化的可编程逻辑块或电路。
0036图3显示了根据本发明一个示例性实施例的PLD中的可编程逻辑106的方框图。可编程逻辑106包括逻辑元件或可编程逻辑电路250、本地互连253、接口电路256,以及接口电路259。逻辑元件250提供了可配置或可编程的逻辑功能,例如,LUT、寄存器、乘积项逻辑等等,正如受益于本发明说明书的本领域普通技术人员应该理解的。根据需要,本地互连253提供可配置或可编程的机制,其用于使逻辑元件250互相耦合或使逻辑元件250与可编程互连109(有时被称为“全局互连”)相耦合。
0037接口电路256和接口电路259提供了可配置或可编程的方式,以用于将可编程逻辑106电路块耦合到可编程互连109(并由此耦合到其它可编程逻辑106,如图3所示)。接口电路256和接口电路259可包括MUX、寄存器、缓冲器、驱动器等等,正如受益于本发明说明书的本领域普通技术人员应该理解的。
0038在根据本发明的示例性实施例中,通过提供用于CRAM 133区域和传输栅极(pass gate)以及用于逻辑和路由的分离的电源电压或电源,以及通过为电源确定合适的电压,而使功耗降低。在这种配置下,一个电源用于CRAM 133和传输晶体管栅极,而另一个电源提供给驱动器和可编程逻辑106。
0039图4说明了根据本发明一个示例性实施例的多供给电压PLD的方框图。PLD 103使用两个供给电压分别以VDDL和VDDH表示的较低供给电压和较高供给电压。供给电压由电源或调节器或稳压器303产生,所述电源或调节器303转换或调节输入功率。根据需要,可设计调节器303,以供给VDDL和VDDH,或供给这两个电压以外的其它供给电压。
0040根据需要,还可提供其它供给电压(未在该图中明确示出),例如体偏置电压,Vbb_p,Vbb_nl,Vbb_nh。这些电压可作为可配置的体偏置电压来使用,例如,以美国专利申请第10/865402号所描述的方式来使用,该美国申请的代理人卷号为ALTR026CIP,题为“Apparatusand Methods for Adjusting Performance of Integrated Circuit”,于2004年6月10日提交。在一个实施例中,单一的Vbb_p可被供给单一的N井,而芯片上的各种区域可在用于P井的Vbb_nl和Vbb_nh之间选择,这取决于PLD的区域分别被设计为低速还是高速。
0041更进一步地,根据需要,可从另一个源获得至少一个供给电压。换句话说,在这种配置下,调节器303提供所述供给电压VDDL和VDDH中的至少一个。供给电压(VDDL和VDDH)中的至少一个由CAD流程确定(将在下文详细描述),以满足用户设计在使用PLD 103实现时的性能需求。
0042每个供给电压(VDDL和VDDH)为PLD的至少一部分提供功率。如所提到的,与VDDH电源相比,VDDL电源具有较低的电压电平。VDDL电源较低的电压电平降低了(或趋于降低了)PLD内的功耗。更具体地,由于功率的耗散及消耗是随供给电压的平方而变化的,因此与通过一个供给电压,比如通过VDDH供给功率到PLD相比,使用具有较低电压电平的VDDL电源降低了(或趋于降低了)PLD的功耗。
0043图5说明了根据本发明另一示例性实施例的多供给电压PLD的方框图。在这一布局中,PLD 103向功率调节器303传递控制或信息信号,其用于一个或多个供给电压(VDDL、VDDH)及任意体偏置电压所需的具体值。基于由CAD流程所产生的信息和其它参数信息,PLD103内的电路确定供给电压(一个或多个)的特定值,所述PLD 103内的电路例如图1中的控制电路136,所述CAD流程选择最优化的或最佳的电压值。根据诸如各种电源的相对电流需求的因素,根据需要,一些电源(或一些它们的组成部分/组件)可片上地或离片地被调整。
0044表示供给电压(一个或多个)的信息存储在CRAM单元133A-133C中。基于CRAM单元133A-133C中的信息,功率编码产生器309产生一个或多个信号315,并将此信号(一个或多个)供给到调节器303。调节器303产生供给电压(一个或多个),该电压与调节器303通过信号315(一个或多个)所收到的信息有关。换句话说,信号315(一个或多个)作为调节器303的控制信号,并确定调节器303输出电压的电平。
0045注意,除了CRAM单元133A-133C中的信息,功率编码产生器309可使用其它信息以产生控制信号(一个或多个)315。例如,功率编码产生器309可使用具体到特定管芯的信息,例如以晶片分拣时间存储在熔丝编程处理器单元312A-312C上的处理相关的数据。
0046其它的可能性包括测量处理相关的信息以及将该信息并入控制信号(一个或多个)315的电路。例如,如果特定管芯具有快速晶体管,则就有可能降低供给电压的值,并且仍然符合用户的性能(如,速度)需求。一般来说,在功率编码产生器309中的电路可确定合适的控制信号(一个或多个)315,其作为由CAD流程为一些标称处理变化所选择的所需供给电压,和在熔丝或其它非易失性存储器中的管芯上编码的特定处理变化信息的函数,或者作为通过处理监控电路306确定的值的函数来传送。
0047受益于本发明说明书的本领域普通技术人员应该理解可使用多种根据本发明的布局。例如,在一个实施例中,功率调节器303可被包含或集成在PLD 103的管芯上(或在多芯片模块等等内),以排除对分离的调节器芯片的需要。在另一个实施例中,根据需要,功率调节器303的一部分(例如控制电路或切换晶体管)可位于PLD 103之上,而功率调节器303的另一部分(例如电感器或电容器)可在PLD103的外部。作为另一选择,功率调节器303也可根据需要整个位于PLD 103的外部。
0048根据本发明的原理,至少两个电源被提供给PLD 103。第一电源,VDDH,或CRAM电源被分发给CRAM 133的用来控制PLD 103的路由结构中的传输晶体管的部分。第二电源,VDDL,或核心电源被分发给PLD 103核心中的其它逻辑(例如,逻辑结构和路由,可能包括存储器和其它功能块)。
0049CRAM 133的供给电压不大于处理中所允许的标称最大电压,VDDNOM,并且核心供给电压不大于用于CRAM 133的供给电压。如果CRAM电源并未增长到超过标称供给电压,则VDDNOM可与VDDH相同。一般来说,VDDH至少与VDDNOM相等,或可能高于VDDNOM。由于核心电源(VDDL)馈送给路由和逻辑结构,因此供给它的电压的特定值将决定PLD 103中的逻辑和路由的性能。根据需要,核心电源可设计为提供特定的电压,或者是可配置的,并且将在下文详细地讨论。
0050在一个实施例中,事先确定合适的供给电压,在PLD 103的外部进行电源设计或配置,以提供这些电压。用于所述电源至少之一的电压规范由CAD流程确定,其确定了供给电压,以符合用户电路的性能规范。由CAD流程提供的电压规范被用于设计电源,其为具体的PLD用户设计提供特定的电压。
0051在另一个实施例中,使用可配置的电源。可配置的电源从PLD103接收指示特定值的信号(例如,信号(一个或多个)315),该特定值被用于供给电压的至少之一。PLD 103使用管芯上的非易失性存储器、配置位,以及管芯上的参数测量电路中的任何一个或多个来产生电压控制信息。
0052管芯上的非易失性存储器133A-133C可被用来存储用于确定特定电压的处理相关信息。例如,快速晶体管的管芯可具有一个指示较低电压可用于获得特定性能级别的编码。可替换地,或与这个方案相协同,管芯上的测量电路可感知与性能有关的参数,并使用该参数来为调节器303提供电压控制信息。例如,各种PLD电路结构(例如,逻辑或路由组件)的饱和漏电流(Idsat)或延迟的测量,可被执行和用来调节供给电压(一个或多个),以满足性能规范。
0053CRAM 133可指示出应当对电压执行某些调节,以满足用户的特定性能规范。例如,不需在PLD 103可获得的最高速度下运行的用户电路,可具有一个指示可使用较低供给电压的编码。存储在CRAM133A-133C中的值由确定电压调节的CAD流程来确定,并且上述值可被应用,以在满足用户电路性能规范的同时降低功率。
0054注意,即使不考虑处理改进,也有可能向CRAM 133施加略大于核心逻辑的标称电源电压,这是由于CRAM 133在电路操作期间通常并不切换。因此,较高供给电压所引起的可能的器件性能下降是可接受的,只要这不引起器件故障。
0055例如,在一次处理中,1.1伏特的最大供给电压对于切换逻辑是可接受的,并且施加1.25伏特到CRAM 133是可接受的而不会造成故障。尽管CRAM的性能随时间可能有一些下降,但是所述下降不会显著影响电路的操作,这是因为CRAM 133的切换时间并不影响电路的操作(在配置完成后)。此外,还可通过电路设计技术来调节这种下降,如受益于本发明说明书的本领域普通技术人员应该理解的。
0056当前的PLD通常使用一组由CRAM元件控制的路由MUX,以在可编程逻辑106的逻辑元件或块之间路由信号。传统上,这些MUX包含一组NMOS传输晶体管,其与互补金属氧化物半导体(CMOS)实现方式相比,消耗的管芯面积更少。此外,一些PLD使用LUT来实现逻辑块(例如可编程逻辑106),其也包含一个或多个MUX。MUX的一些逻辑级是利用NMOS传输晶体管来实现的。
0057图6描述了根据本发明一个示例性实施例的、用于路由多路复用器和驱动器的电路布局。图6中的电路布局包括CRAM单元133D-133J、三输入MUX 350、用于提供快速输入的晶体管353、电平恢复反相器(或缓冲器)356,以及反相器(或缓冲器)362。
0058MUX 350包括晶体管353A-353L,其按受益于本发明说明书的本领域普通技术人员应该理解的配置布置,并按受益于本发明说明书的本领域普通技术人员应该理解的方式操作。CRAM单元133A-133I分别耦合到晶体管353A-353L。CRAM单元133A-133I的内容决定了那个晶体管353A-353L导通,由此就决定了MUX 350所实现的路由功能。MUX 350的输出耦合到电平恢复反相器356的输入。
0059如所提到的,电路布局包括耦合到晶体管353的快速输入。CRAM单元133J控制晶体管353的操作。通过导通晶体管353,可直接将快速输入耦合到反相器356的输入,从而旁路MUX 350。通过旁路MUX 350,快速输入经受更短的延迟路径,并且由此影响电路布局的输出(即反相器输出362),使之更快。
0060MUX 350的输出和晶体管353的输出耦合到反相器356的输入。由于电平恢复反相器356通过至少一个传输晶体管接收其输入,因此电平恢复反相器356使用再生反馈来提供一个逻辑低输出,以响应标称逻辑高输入。
0061电平恢复反相器356包括p沟道晶体管359A和n沟道晶体管359B,其作为传统的反相器来布置。此外,电平恢复反相器356包括p沟道晶体管359。晶体管359的栅极与反相器356的输出相耦合。晶体管359的源极耦合到VDDL。晶体管359的漏极驱动反相器356的输入。通过将反相器356的输出耦合到其输入,晶体管359提供了再生反馈,并且由此当输出电平具有标称逻辑低的值时,恢复(或拉低)反相器356的输出电平(即,其帮助拉或提升输入电压到大约VDDH的逻辑高的值)。电平恢复反相器356的输出驱动反相器362的输入。反相器362具有本领域普通技术人员公知的电路布局。
0062注意,VDDH电源提供了供给电压到CRAM单元133D-133J。VDDH的相对高的电平允许传输晶体管353A-353L及353的更高的输出电压。如果需要,在电平恢复反相器356中,晶体管359可从VDDL或VDDH电源接收功率(在所示出的实施例中,晶体管359从VDDL接收功率)。反相器356中的晶体管359A-359B以及反相器362中的晶体管从VDDL电源接收它们的功率。相对较低的VDDL的电平降低或趋于降低了电路中的功耗。
0063一般来说,可发现在所需VDDL电平下操作逻辑结构以最小化功率。然而,基于LUT的逻辑元件可包含NMOS传输晶体管,其栅极并不由CRAM 133来驱动,而是由来自路由结构的逻辑信号驱动。通常,LUT最初的一级或两级使用NMOS传输晶体管,而LUT的其他级使用全CMOS传输门。
0064在这一情况下,如果路由多路复用器(例如,逻辑元件的输入MUX)的最后一级使用VDDL作为它们的供给电压,则路由信号将被提升到VDDL。为了保证LUT正确操作,并且具有合理的速度,本发明原理的一个方面将NMOS栅极控制信号推动到VDDH电源的电平。可通过使用推动或恢复VDDL电平到VDDH电平的电平转换器来做到这些。可供给CRAM单元,其按照需要将数据输入从VDDL或VDDH电源提供给LUT。
0065图7显示了根据本发明示例性实施例的电路布局,其使用多供给电压向PLD内的LUT电路供电。注意,尽管图7显示了两输入LUT,但在应用本发明原理时可根据需要,通过对图7中的电路布局加以改进而使用具有其它数目的输入的LUT。这些改进都落入了受益于本发明说明书的本领域普通技术人员的能力之内。
0066在图7的电路布局中,LUT的第一级使用了NMOS传输晶体管370A-370D,其被驱动到VDDH。更具体地,该电路布局包含电平转换器,以恢复信号电平。电平转换器包括由VDDL供电的电平恢复反相器356A、拉低NMOS晶体管383A和383B,以及交叉耦合上拉PMOS晶体管380A和380B。在这种布局下,由于一些切换晶体管由VDDH所供电,因此电压一定不能超过该最大值,该最大值是晶体管在器件导通期间没有不希望的性能下降所能忍受的值。
0067电平恢复反相器356A以产生于施加到电平恢复反相器356A输入的输入信号的补充信号,来驱动晶体管383A和383B。交叉耦合晶体管380A和380B将参考VDDH的输出信号提供给一对参考VDDH的级联反相器362A-362B。
0068晶体管380A-380B的交叉耦合的栅极造成正反馈,该正反馈又会导致电平转换器的输出信号增高至VDDH。注意,一般地,使用VDDH的任何级都应使用耦合到VDDH的PMOS上拉晶体管,并且跟随该级的缓冲器也应当由VDDH来供电,以使得它们能够完全关断PMOS上拉晶体管。此外,在后续级中的任何PMOS传输栅极都应使其主体耦合到VDDH,以阻止源极接点前向偏置。然而,与前面所述的无关,可能需要将所有PMOS器件的体终端连接到单独的VDDH,以避免由于N井间隔而增加器件面积。
0069级联反相器362A-362B提供了NMOS传输晶体管370A-370D的栅极信号。根据该栅极信号的电平,晶体管370A-370D选择性地将信号分别从CRAM单元133K-133N传输到一对电平恢复反相器356C-356D。反相器356C-356D的输出驱动CMOS传输门373A-373B各自的输入。传输门373A-373B的输出驱动反相器362D(可选),其最终驱动电路的输出。
0070LUT的另一个输入供给电平恢复反相器356B。反相器356B的输出与反相器362C一起分别驱动传输门373A和373B的输入。
0071注意,反相器356A和356B由(参考到)VDDL电源供电,与反相器362C和362D一样。由于电平转换器的输出也是参考VDDH的,因此反相器362A-362B是参考VDDH的。注意,CRAM单元133K-133N和反相器356C-356D由相同电源供电,即,根据需要,由VDDL或VDDH供电。还要注意,如果反相器356C-356D使用VDDH电源,那么传输门373A-373B也应该使用VDDH作为它们的主体供给电压(VBB),以阻止源极接点前向偏置。
0072在一个替换性实施例中,可提供缓冲器来缓冲CRAM单元133K-133N的输出信号。缓冲器可帮助避免噪声耦合回CRAM单元中。在这种布局中,可能希望从VDDH操作CRAM单元,以使所有的CRAM单元能够共享一个单一电源,这样就简化了电源网络。还可以从VDDL电源操作在CRAM单元输出处的缓冲器,以降低功耗。缓冲器可具有耦合到VDDL的PMOS晶体管的主体(因为相联晶体管的绝缘的栅极端被驱动到VDDH,并且晶体管的剩余部分可能是参考VDDL的)。可替换地,主体可耦合到VDDH,以避免对过大N井间隔的需求。
0073可对图7中的电路布局进行多种改进,以适应特定的应用或实现。图8-10显示了几个实例。
0074图8说明了源自图7电路布局的一种电路布局,其使用了简化的电平转换器。更具体地,图8中的电路布局使用了由VDDH电源供电的电平恢复反相器356A。与图7的布局相比,这个电路布局省去了一些组件。然而,在图8的布局中,VDDL应当不小于(VDDH-VTN),其中VTN代表NMOS晶体管的阈值电压,以阻止电流从VDDH电源流向VDDL电源,这可能引起反相器356A中的漏电流增加。
0075图9描述了源自图8电路布局的一种电路布局,其使用了COMS LUT级。更具体地,CRAM单元133K-133N的输出驱动CMOS传输门390A-390D,其又驱动上文描述的后续级。图9中的电路布局提供了这样的优点其能够以LUT中的VDDL电平操作(或承受LUT中的VDDL电平),并且还可减少功耗。注意,人们可根据需要使用图7或图8的电平转换器。
0076图10说明了源自图9电路布局的一种电路布局,其缓冲CRAM单元的输出。更具体地,图10中的电路布局包括反相器362A1-362D1,其各自的输入耦合到CRAM单元133K-133N的各自输出。在这一布局中,CRAM单元133K-133N由VDDH供电,并且后续的缓冲器由VDDL供电,从而降低了功耗。注意,人们可根据需要使用图7或图8或图9的电平转换器。
0077本发明的另一方面涉及使用多电源,以降低PLD存储器电路中的功耗。通常,存储器设计对供给电源电平表现出一定的灵敏度。换句话说,存储器不能通过很宽的供给电压范围以可接受的裕度操作。从而,可以VDDNOM电平向PLD上的存储器电路供电。然而,以其它供给电压(如VDDL)来操作PLD上的与存储器电路相接口或相耦合的其它电路是有优势的。可使用上文描述的技术在合适的接口处,在供给电压之间进行转换。作为结果,可确保存储器电路的合适操作,并且还可降低PLD上的总功耗。
0078图11显示了根据本发明说明性实施例的、包括存储器电路的PLD的一部分的电路布局,其由多供给电压供电。更具体地,电路布局包括路由接口和控制逻辑403、电平转换器406、字线解码器409、存储器核415、传感放大器和写入驱动器421,以及电平转换器424。
0079路由接口和控制逻辑403允许将存储器电路接口至PLD剩余的部分。路由接口和控制逻辑403与电平转换器406和字线驱动器409一起,使得在存储器核415中寻址某一行更方便。字线驱动器409产生多个字线412,并将它们提供给存储器核415。
0080该电路结构与路由接口和控制逻辑403、电平转换器406以及传感放大器/写入驱动器421一起,允许其它PLD电路(未示出)写信息到存储器核415,并从存储器核415取回信息。传感放大器/写入驱动器421经由多个信号线418与存储器核415通信,并与之交换信息。注意,根据需要,存储器核415可构成存储器块,例如相邻存储器单元阵列,或者其它合适的存储器结构。
0081一般来说,减少或最小化从VDDNOM操作的存储器中的电路数量,会增加或最大化功率节省。在所示的实施例中,存储器核415、字线解码器409,以及传感放大器/写入驱动器421以VDDNOM操作。
0082然而,路由接口和控制逻辑403以VDDL操作,以降低功耗。由VDDNOM供电的电平转换器406将来自路由接口和控制逻辑403的参考VDDL的信号转换到VDDNOM电平的信号,并将这些信号提供给字线解码器409。类似地,电平转换器424将来自路由接口和控制逻辑403的参考VDDL的写入信息转换到VDDNOM电平的写入数据,该数据将提供给传感放大器/写入驱动器421。注意,传感放大器的输出(即,读入数据)可直接驱动路由接口和控制逻辑403。
0083在图11所示的实施例中,电平转换在字线解码器409的输入处执行。这一布局在一定程度上增大了静态功耗,但是对动态功耗的影响相对较小。在一个替换性实施例中,可在字线解码器409的输出处执行电平转换。图12说明了使用这一电平转换方案的电路布局。
0084在图12中的电路布局中,字线解码器409从VDDL供电,由此降低了其功耗(出于该原因,没有在字线解码器的输入处使用电平转换器406)。字线解码器409的每个参考到VDDL的输出驱动多个电平转换器406A-406C中相应的一个。电平转换器406A-406C将参考VDDL的输入信号转换到参考VDDNOM的输出信号,该输出信号供给存储器核415。
0085当使用定时存储器核415时,可使用字线解码器409作为预解码器。更具体地,依赖于存储器核415的时序特性的动态电路可被用来执行转换。在这一电路中,动态逻辑电路,例如本领域普通技术人员阅读本发明说明书后可了解的多米诺逻辑门(domino logic gate),具有由VDDL逻辑(如,路由接口和控制电路403)所驱动的输入,并使用时序的、由VDDNOM供电的字线驱动器(电平转换器406A-406C)来驱动字线。由于动态逻辑可以以上升到合理接近满值电源或逻辑高电压的输入操作,因此动态逻辑可在没有额外晶体管的情况下执行电平转换。
0086图13显示了根据本发明示例性实施例的电路布局,其使用动态逻辑用于降低PLD中的功耗,更具体地,图13中的电路包括与门446、堆叠的NMOS晶体管443和449,上拉PMOS晶体管440,以及电平恢复反相器356。
0087与门446主要执行寻址解码功能。如受益于本发明说明书的本领域普通技术人员所理解的,可根据需要使用其它的电路,这取决于诸如所使用的电路的剩余部分、性能以及设计规范和手段等因素。与门446由VDDL供电。注意,与门446除了两个输入,还可如所需的,具有其它数目的输入,这依赖于诸如所使用的寻址解码方案的因素,正如受益于本发明说明书的本领域普通技术人员所理解的。
0088NMOS晶体管443和449,以及PMOS晶体管440耦合到一起,以提供动态MOS电路。控制信号驱动晶体管440和449的栅极。与门446(或其它合适的电路)的输出驱动晶体管443的栅极。当控制信号处于逻辑低的状态时,晶体管440导通,晶体管449关断,并且该电路预充电。
0089当控制信号处于逻辑高的状态时,晶体管449导通。根据晶体管443是导通还是关断,反相器356的输入被拉为接地或接近VDDNOM,即接近动态电路的供给电压。参考VDDNOM的反相器356输出,反应了其输入(即动态电路的输出)的状态。
0090由于电路的动态特性,到晶体管443栅极的输入不需要始终保持为VDDNOM。假设与门446由VDDL供电,与门446的输出将参考VDDL。然而,晶体管443的栅极的VDDL电平足以使其导通(当与门446的输入都是逻辑高的时候)并允许动态电路放电以及拉低反相器356的输入。
0091因此,图13中的电路布局允许使用VDDL作为寻址预解码电路(未明确示出)和动态电路的接口电路(例如,与门446)的供给电压,所述动态电路执行寻址解码功能的剩余部分。注意,由于反相器356耦合到存储器核,因此反相器356提供参考VDDNOM的输出电压,由此确保存储器核以及整个存储器电路可靠操作。但是,通过使用VDDL作为电路一部分的供给电压,所示的电路布局允许PLD总功耗降低。
0092如上面提到的,图13的电路布局具有多种形式,所示的特定的布局是说明性的。例如,根据需要,可将具有与门446功能的功能包容在动态电路中。图14显示了图13电路布局的这种变形。
0093更具体地,在图14中,图13的与门被省略,并且额外的NMOS晶体管458被串联耦合到晶体管443。由寻址预解码器提供的参考VDDL的输入信号将被供给晶体管443和458的栅极。晶体管443和458的组合提供了与门446的等同功能。
0094类似于驱动与门446的信号,驱动晶体管443和458栅极的信号从VDDL供电的预解码电路中提供。因此,与图13的电路类似,图14中的电路布局也有益于降低PLD的总功耗。
0095可使用PLD设计软件和在此描述的技术一起最优化PLD中的功耗和性能。图15描述了各种的软件模块,其由根据本发明说明性实施例的PLD计算机辅助设计(CAD)软件所使用。模块包括设计入口模块503、合成模块506、放置与路由模块509,以及验证模块512。下面的描述对每个模块的操作进行了简化的解释,接着对降低或最小化PLD中功耗的CAD技术进行了描述。
0096设计入口模块503允许使用对电路或其行为的图形或文本描述来编辑各种设计描述文件,根据需要,上述图形或文本描述例如为图表、硬件描述语言(HDL)或波形。根据需要,用户可通过使用设计入口模块503或通过使用多种电子设计自动化(EDA)或CAD工具(例如,工业标准化EDA工具),来产生设计文件。根据需要,用户可以图形格式、基于波形的格式、图表格式、文本或二进制格式,或这些格式的组合来输入设计。
0097合成模块506接收设计入口模块503的输出。基于用户提供的设计,合成模块506产生合适的逻辑电路,其可实现用户提供的设计。一个或多个PLD(未清楚示出)实现合成的总的设计或系统。合成模块506还可产生任意的粘合逻辑(glue logic),其允许在用户设计中的各种模块的集成和合适的操作及接口。例如,合成模块506提供合适的硬件,以使得一个块的输出合适地接口到另一块的输入。合成模块506可提供合适的硬件,以使得符合整个设计或系统中每个模块的规范。
0098此外,合成模块506可包括用于优化所合成的设计的算法和程序。通过最优化,合成模块506寻求更有效地使用用于实现整个设计或系统的一个或多个PLD的资源。合成模块506提供了其输出到放置与路由模块509。
0099放置与路由模块509使用设计者的时序规范来执行最优化的逻辑映射和放置。逻辑映射和放置确定了PLD(一个或多个)内的路由资源的使用。换句话说,通过使用设计的特定部分的与PLD(一个或多个)的可编程互连,放置与路由模块509帮助最优化整个设计或系统的性能。通过正确的使用PLD路由资源,放置与路由模块509帮助满足整个设计或系统的关键时序路径。放置与路由模块509最优化关键时序路径,以帮助通过本领域普通技术人员阅读本发明说明书后可以了解的方式,来更快地提供时序关断。最为结果,总设计或系统可获得更快性能(即,以更高的时钟频率操作或具有更高的产出)。根据需要,放置与路由模块509可使用关于设计或系统内部关键路径的信息,以调整部分的或整个的设计或系统的功耗。
0100验证模块512执行设计的仿真和验证。仿真和验证寻求部分验证设计遵循用户的预定规范。仿真和验证的目标还在于在试生产设计之前检测和校正任何设计问题。这样,验证模块512帮助用户降低整个设计或系统的总成本和投放到市场的时间。
0101根据需要,验证模块512可支持并执行多种仿真和验证选择。根据需要,该选择可包括功能化验证、测试工作台产生、静态时序分析、时序仿真、硬件/软件仿真、系统上验证、主体电平时序分析、信号完整性分析和电磁兼容性(EMC)、均匀网表验证,以及功耗估计。注意到可按照需要执行其它或额外的验证技术,正如受益于本发明说明书的本领域普通技术人员可理解的。适当地并根据需要,设计验证还可在流程的其它阶段执行。
0102下面的描述提供了多种CAD方法的细节,所述CAD方法用于使用多个供给电压的PLD。CAD流程或方法在满足用户速度规范的同时,确定了最优化的电压以最小化功率。VDDL的最优电压值是可为根据用户的速度/时序规范的电路提供正确操作的最小值。
0103注意,作为CAD流程的组分之一,CAD流程使用用户设计的时序分析,该用户希望通过使用PLD来实现该用户设计。本发明的一个方面提供了用于时序分析的多种方法。
0104一般来说,时序模型平衡计算资源(如,时间、处理功率和资源、存储器、计算复杂度等等)的准确度。为了最优化VDDL的值,时序模型应当确保电路在所选择的VDDL的值下操作。具有足够准确度确保在某特定的VDDL值下性能的时序模型可被称为最终时序模型。最终时序模型通常制造得尽可能准确,对于任何不准确通过提供设计时序中的裕度来补偿。注意到最终时序模型可包括多于一个的每类资源的延迟值(例如,最小延迟和最大延迟,或各种处理、电压或温度拐点下的延迟)。
0105为了使用特定VDDL值,最终时序模型应当一定程度上依赖于VDDL的值。时序分析的目的之一在于使在PLD中实现的实际电路的延迟不超过由最终时序模型所预定的延迟的范围或界限。由于器件的绝对性能由在VDDL的最大值(VDDL=VDDNOM)下的最终时序模型来限定,因此最终时序模型应当在此电压值下尽可能准确。
0106降低的准确度在较低电压下是可接受的,只要时序模型是保守的(即,保证电路延迟小于在任意电压下的模型所预测的延迟)。这一降低的准确度是可以忍受的,这是由于最终的效应将过度预测为操作所选的VDDL值,与较准确的模型相比这可能导致一些过度功率耗散,但不会引起功能故障或失灵。如受益于本发明说明书的本领域普通技术人员可理解的,最终时序模型通过供给电压值的范围越准确,则CAD系统就越接近地预测提供电路功能化(如,满足用户时序规范)的VDDL的最小值。
0107在用于时序分析的一个实施例中,每类资源(如,可编程逻辑电路、可编程路由等等)的时序特性被建模为VDDL的函数。当VDDL的值变化时,该模型允许执行各种资源的时序分析。
0108在另一个实施例中,每类资源的时序在VDDL=VDDNOM时建模,并且一个或多个比例因子作为电压的函数被施加到各类的资源类型。例如,资源可被分类为逻辑或路由资源,以及对于每一类的延迟比例函数可作为供给电压的函数被提供。在一个示例性实施例中,可施加单独一个比例函数到所有的资源类型。每个比例函数提供了该类中的资源的最坏情况界限(即,所有最小时序模型的最小值,所有最大时序模型的最大值)。
0109可使用多种算法,其使用前述的时序分析来选自PLD的供给电压(一个或多个)。在一个实施例中,通过假定最大标称供给电压作为VDDL电源来供给,操作CAD流程。CAD流程执行在可编程逻辑和路由结构中的用户设计的聚类、放置和路由,同时尝试在尽可能多的裕度情况下满足用户的时序规范。该裕度可允许VDDL的值降低,并仍然满足用户的时序规范。在执行聚类、放置和路由之后,执行第一时序分析以确定电路可用的时序裕度的数量。
0110可使用最终时序模型来确定在该值下电路可操作的VDDL的最小值。这种方法使用了采用最终时序模型的一种或多种时序分析,来确定各种电压值下的电路性能。基于特定电路的时序性能,并使用电压初始估计的典型的延迟,可找出对最低电压更准确的估计。
0111例如,假定开始用户电路在10ns的时序规范下使用,假设一1.2V的VDDL值。假定采用最终时序模型,则可确定电路可使用1.2V的VDDL值在8ns下操作。接着,该方法选定另一个电压,例如1.1V,并使用最终时序模型来确定电路能够以9ns延迟操作。综合这两个确定,并执行线性外插,可估计到操作的最低VDDL电压为1.0V。接下来,所述分析在这个电压被迭代地重复,直到确定一定精度的最小电压值为止。
0112上文描述的变化使用了正割法来确定VDDL的最小值。可使用其它方法以足够的准确度来得出VDDL的最小值,正如阅读了本发明说明书的本领域普通技术人员所理解的。例如,可使用二分搜索。注意到这些方法使用了最终时序模型,并且使用已经用在最终时序模型中的几组VDDL值上的预测性能来确定每次迭代的新估计。
0113图16显示了流程图600,其提供了对上述实施例的总结。所述方法采用了单一的时序模型,其用来确定通过电路的延迟,并执行一次或多次迭代以确定VDDL的最小值。
0114更具体地,在603,该方法将VDDL设置为VDDNOM(即,分配VDDNOM到VDDL)。在606,执行对设计的放置与路由。在609,使用VDDL的当前值来执行设计的时序分析。时序分析使用了时序模型,其如前面所提到的包括一些作为VDDL函数的时序依赖性。
0115在609,使用在一个或多个前面VDDL值的时序计算,来确定满足用户时序规范的VDDL的最小值。在612,可使用在前面的迭代中所使用的一个或多个VDDL值处的时序,来确定满足用户时序规范的VDDL的最小值。在615,进行测试以确定所估计的VDDL的电平或准确度对于提供最优功耗的性能和所需电平是否足够。如果所估计的VDDL的准确度不是足够的,则方法就回到609选择另一个VDDL值。
0116注意,使用最终时序模型来给定一些电路的公知时序,其优势在于在不执行另一个时序分析的情况下,可估计VDDL的值,该值允许操作以满足某特定时序。为了做到这些,需要使用分离的时序模型,延迟灵敏度时序模型。该延迟灵敏度时序模型提供了作为电压函数的、对完整电路的时序估计。该估计可能是不够准确的,但其用来对可被正确使用的VDDL进行估计。
0117从而,延迟灵敏度模型可能不如最终时序模型准确,尽管延迟灵敏度模型也可能一样准确,或可能与最终时序模型同样准确。每个这样的使用了低准确度延迟灵敏度模型的估计应当使用最终时序模型加以验证,以确定延迟灵敏度模型是不是相比于最终时序模型是确认是悲观的或不利的。然而,延迟灵敏度模型的使用可允许CAD流程在每次迭代中对VDDL加以更准确的估计。
0118作为图16中和上文所述方法的变形,可通过使用分离的延迟灵敏度模型来减少迭代的次数。延迟灵敏度模型可在复杂度上变化,但这趋于影响到作为VDDL函数的整个电路的性能。一种简单的延迟灵敏度模型包括使用延迟对电压的特征表,其使用了出现在用户电路中的关键路径上的PLD的资源的典型混合。可使用特征表来迭代所估计的VDDL的值,直到其足够接近所允许的最小值为止。
0119在另一个变形中,时序分析可使用最终时序模型,在单独一次分析中确定作为电压函数的电路的时序。在这种情况下,延迟灵敏度模型可能是具体的,以及与最终时序模型相同的。换句话说,时序不是通过使用延迟值来计算的(所述延迟值反应了在电路中感兴趣的每个点处的单独一个延迟值),而是使用了作为电压函数的延迟的显式模型在时序分析的每一步中计算的。
0120在最详细的版本中,这个模型将是作为在电路中每个时序点处电压的函数的准确时序模型。例如,该模型可能是诸如分段线性延迟模型的分段多项式。在时序分析的最后,整个电路的时序被作为电压的函数,并且接下来可通过为特定延迟求解结果延迟对电压的函数,来找到最小的可满足所需延迟值的供给电压。在这种情况下,由于时序分析将延迟灵敏度分析作为时序分析的一部分,延迟灵敏度时序模型和最终时序模型是相同的。延迟灵敏度模型的另一个变形根据需要,可位于单独特征表的极端和最终时序模型的使用之间。
0121在一个版本中,时序分析器可包括对关于电压的多个电路路径的灵敏度的近似表示。例如,在路由延迟和逻辑延迟由电压进行不同缩放的结构中,时序分析器可跟踪对不同资源类型的一种或多种有贡献的总延迟量。一般来说,时序分析器可按照需要构建一任意复杂度的延迟对电压的模型,正如阅读了本发明说明书的本领域普通技术人员理解的。
0122上面详细描述的方法有效地确定分段线性延迟与电压的曲线,其在两个线性区段之间至多包含一个断点。将延迟建模为依赖于具有已知电压灵敏度的多种不同资源类型的方法,等价于具有与独立灵敏度数目相对应的固定数目断点的分段线性方法。
0123一种粗略的方法将考虑在每个接点上的最大延迟和最大灵敏度,从而降低所需数据的量。在时序分析器使用不如最终时序模型精确的延迟灵敏度时序模型的每个方法中,可使用最终时序模型执行迭代以提供准确的应答。如果可确保延迟灵敏度模型相比于最终时序模型是悲观的,则尽管执行额外的迭代会增加VDDL最小值估计的准确度,但也不必执行额外的迭代。注意,更详细和更粗略且耗时的方法也都是可能的,但任何相对于电压、对独立的路径或元件,或者路径或元件的集合的延迟依赖性进行建模的方法,不论在特定用户设计之内,还是对某些设计集合的表达,都落在本发明范围之内。
0124作为图16中的方法的变形,在609,使用VDDL的当前值,可通过使用包括某些作为VDDL函数的时序依赖性的时序模型,来执行电路的时序分析,并报告与VDDL有一定依赖性的时序。在612,使用在609计算的作为电压函数的时序,来确定符合用户时序规范的VDDL的最小值,以估计VDDL的新值。(在603和606处执行的函数,以及在615处的测试都如上文所述。)0125如果时序在每个接点处作为电压的函数被清楚地计算,在分析的最后电路总的时序将跨过整个电压范围而被确定。接着,CAD流程可选择离散的电压组之一,或跨过有限数据集来执行内插,来确定最小供给电压,在该电压处电路可操作。由于延迟和电压之间的功能化关系可以是近似的,以便获得相对快速和有效的计算因此还需要在该特定的电压处使用更精确的时序特征再次执行时序分析,以确认用户的时序规范获得满足,在不能满足的情况下可能还需迭代地调整电压。
0126注意,上述例子提供了仅仅是计算具有电压依赖性的电路的延迟特性的方法的例子。如受益于本发明说明书的本领域普通技术人员所理解的,在确定VDDL最小电平的方法中,可使用其它包括这种依赖性的方法。
0127为了避免作为电压函数的特定电路的延迟分析的复杂度,CAD流程可根据需要,使用典型电路的总体功能的简化表达。在另一个示例性实施例中,CAD流程执行聚类、放置和路由,其后跟着使用在标称值下核电压的时序特征来进行的单独时序分析。
0128如果存在足够的裕度,CAD流程就使用时序与电压相比较的平衡来估计所允许的最小电压,上述平衡具有PLD中的典型电路的延迟对电压的表达。接着,CAD流程使用在特定核电压下所确定的时序特征,来重复时序分析,以确定用户的时序规范是否还被满足,或者是否存在过多的裕度。
0129时序分析的结果提供了CAD流程的第二电压-时序点,并且可被用来更精确地估计核电压,例如通过使用线性内插或外插。根据需要,这一处理可迭代地重复,其使用逐渐更加详细的全部电路电压-时序平衡的模型,直到获得所需的容差为止。接着,所确定的核电压被从所述CAD流程输出,或者作为数据传给用户或嵌入到PLD的程序流中,这样可配置电源来传输该电压电平。
0130应当注意的是,将延迟作为电源的函数如何变化的表达可以是一些离散电路的行为的平均值,也可以是有意设计得悲观,以减少给定的特定电路可能具有比所表达的更坏的延迟/电压特性的可能性,由此引起了多个时序迭代。例如,典型电路对于1%VDDL的变化可表现1.5%延迟,但计算中可能对于1%VDDL的变化采用更悲观的2%的延迟,以减少任何给定电路具有比估计更高的灵敏度的可能性。
0131注意,上文所述的CAD流程在固定的VDDL值下来执行电路实现和优化(放置和路由),并且接下来作为后续处理步骤确定符合电路实现要求的VDDL的最小值。根据需要,通过转为考虑在电路优化算法(例如放置和路由)期间最有可能使用的VDDL值,可获得提升的电路优化。下文的描述提供了一些实例。
0132图17显示了根据本发明另一说明性实施例的用于确定PLD供给电压的方法的简化流程图700。图17中的方法为放置优化而提供,其还可执行对VDDL供给电压的选择。在703,方法将VDDL设置为VDDNOM(分配VDDNOM的值或电平给VDDL)。在706,执行初始放置与路由。在709,使用与VDDL当前值相对应的延迟估计来优化放置。
0133在712,分析该设计,以确定允许符合时序的最小VDDL。根据需要,时序分析可使用图16中所示的方法或上文描述的该方法的变形来执行。
0134在715,如果找到了VDDL的值,则方法继续到718;否则,在716,VDDL被设置为VDDL的最大值,方法继续到724。在718进行了测试,以确定VDDL的值是否为最小的VDDL值,以及路由能力目标是否满足。如果满足,方法就继续到724。否则,在721,进行测试以确定迭代次数(用于找到VDDL)是否已经达到,以及VDDL是否没有减少或者是否获得时序和路由能力目标的提升。如果达到,则方法在724继续。否则,方法返回到709。
0135另一个例子,图18显示了根据本发明另一方法的用于确定PLD供给电压的方法的简化流程图800。图18中的方法为路由优化而提供,其还可执行对VDDL供给电压的选择。通过在803从来自图17中的724继续,图18中的方法增加了示于图17的处理。
0136在803,产生了合法路由(一种路由,其符合于属于路由资源的约束/规范),并且优化了时序。根据需要,时序分析可使用图16中所示的方法或上文描述的其变形来执行。在806,分析设计以确定符合时序的最小VDDL。
0137在809,如果找到VDDL的值,该方法就继续到815;否则,在812,VDDL被置为VDDL的最大值,并且该方法继续到821。在815进行一个测试,以确定VDDL的值是否是最小的VDDL值,以及是否符合时序目标。如果是这样,则方法继续到821。否则,在818,进行测试以确定是否获得了VDDL的降低。如果没有,则方法继续到821。否则,方法回到806。
0138注意,根据需要,根据所描述的步骤单独设置VDDH电平,或者作为包括上述过程的CAD流程的一部分。作为另一种选择,根据需要,用户可提供VDDH电源的电平。根据需要,用户可基于他/她的偏好来进行上述工作,或者基于由CAD流程提供的数据来进行上述工作。
0139注意,根据需要,可将该发明的原理有效地应用于各种可编程IC,其包括可编程或可配置逻辑电路,其在本技术领域还有其它的名称,正如阅读了本发明说明书的本领域普通技术人员所理解的。这种电路包括,例如,被称为复杂可编程逻辑器件(CPLD)、可编程门阵列(PGA)、现场可编程门阵列(FPGA)的器件。
0140参考附图,本领域普通技术人员应当理解所示的各种块主要描述了原理性的功能和信号流。实际的电路实现可包括或不包括分别标识的用于各种功能块的硬件,并且可使用或不使用所示的特定电路。例如,根据需要,可将各种块的功能结合到一个电路块之中。此外,根据需要,可在几个电路块中实现单独一个块的功能。电路实现的选择依赖于各种因素,例如对于给定实现的特定设计和性能规范,正如阅读了本发明说明书的本领域普通技术人员所理解的。对于阅读了本发明说明书的本领域普通技术人员而言,除了所描述的之外,本发明的其它改进和替换性实施例是显而易见的。由此,本说明书向本领域技术人员介绍了实现本发明的方式,其仅应被解释为说明性的。
0141示出和描述的本发明的形式应被认为是目前优选或示意性的实施例。本领域技术人员在不脱离本文所述的本发明的范围的情况下,可在部件的形状、尺寸和布局上作出各种改变。例如,本领域技术人员可用等效元件来替代本文示出和描述的元件。此外,在不脱离本发明范围的情况下,受益于本发明说明书的本领域技术人员可独立于其它特征的使用,而单独使用本发明的某些特征。
权利要求
1.一种可编程逻辑器件PLD,包括用户设计中的第一电路,所述第一电路被配置成由第一供给电压供电;以及所述用户设计中的第二电路,所述第二电路被配置成由第二供给电压供电,其中所述第一和第二供给电压中的至少一个由用于实现所述PLD中用户设计的PLD计算机辅助设计CAD流程来确定。
2.根据权利要求1所述的可编程逻辑器件PLD,其中所述第一和第二供给电压由所述PLD外部的调节器提供。
3.根据权利要求1所述的可编程逻辑器件PLD,其中所述第一和第二供给电压由调节器提供,其中所述调节器的至少一部分处于所述PLD之内。
4.根据权利要求1所述的可编程逻辑器件PLD,进一步包括编码产生器,其中所述编码产生器提供至少一个信号给调节器,该调节器被配置成提供所述第一和第二供给电压中的至少一个。
5.根据权利要求4所述的可编程逻辑器件PLD,其中所述调节器被配置成使用所述至少一个信号来设置所述第一和第二供给电压中至少一个的电平。
6.根据权利要求5所述的可编程逻辑器件PLD,其中所述至少一个信号包括从所述PLD的配置存储器CRAM中的数据中获得的信息。
7.根据权利要求5所述的可编程逻辑器件PLD,其中所述至少一个信号包括从编码在所述PLD内的数据中获得的信息。
8.根据权利要求5所述的可编程逻辑器件PLD,进一步包括处理监控电路,其被配置成提供处理相关的信息,其中所述至少一个信号包括从所述处理监控电路的输出中获得的信息。
9.一种可编程逻辑器件PLD,包括第一电路,其由第一供给电压供电;以及第二电路,其由第二供给电压供电,其中,所述第二供给电压小于所述第一供给电压。
10.根据权利要求9所述的可编程逻辑器件PLD,其中所述第一电路包括配置存储器单元,其耦合到所述PLD内的多路复用器。
11.根据权利要求10所述的可编程逻辑器件PLD,其中所述第二电路包括电平恢复反相器,其耦合到所述多路复用器。
12.根据权利要求11所述的可编程逻辑器件PLD,其中所述第二电路包括反相器,其耦合到所述电平恢复反相器。
13.根据权利要求9所述的可编程逻辑器件PLD,其中所述第一电路包括信号电平转换器。
14.根据权利要求9所述的可编程逻辑器件PLD,其中所述第二电路包括信号电平转换器。
15.根据权利要求9所述的可编程逻辑器件PLD,进一步包括电平转换器,其中所述电平转换器由所述第一和第二供给电压共同供电。
16.根据权利要求9所述的可编程逻辑器件PLD,其中所述第一电路包括多个配置存储器单元,其耦合到多个电平恢复反相器。
17.根据权利要求9所述的可编程逻辑器件PLD,其中所述第二电路包括多个配置存储器单元,其耦合到多个电平恢复反相器。
18.根据权利要求9所述的可编程逻辑器件PLD,其中所述第二电路包括多个配置存储器单元和多个反相器,其中所述多个配置存储器单元经由多个传输门耦合到所述多个反相器。
19.根据权利要求9所述的可编程逻辑器件PLD,其中所述第一电路包括多个配置存储器单元,其中所述第二电路包括多个反相器,以及其中所述多个配置存储器单元耦合到所述多个反相器,并且所述多个反相器耦合到多个传输门。
20.根据权利要求9所述的可编程逻辑器件PLD,进一步包括第一接口电路,其由所述第二供给电压供电;第一电平转换器,其由第三供给电压供电,所述第一电平转换器耦合到所述接口电路;解码器,其由所述第三供给电压供电,所述解码器耦合到所述第一电平转换器;以及存储器电路,其由所述第三供给电压供电,所述存储器电路耦合到所述解码器。
21.根据权利要求20所述的可编程逻辑器件PLD,进一步包括第二接口电路,其由所述第三供给电压供电,所述第二接口电路耦合到所述存储器电路;以及第二电平转换器,其由所述第三供给电压供电,所述第二电平转换器耦合到所述第二接口电路。
22.根据权利要求21所述的可编程逻辑器件PLD,其中所述第二接口电路包括传感放大器和写入驱动器。
23.根据权利要求21所述的可编程逻辑器件PLD,其中所述解码器包括动态逻辑电路。
24.根据权利要求9所述的可编程逻辑器件PLD,进一步包括第一接口电路,其由所述第二供给电压供电;解码器,其由所述第二供给电压供电,所述解码器耦合到所述第一接口电路;多个电平转换器,其由所述第三供给电压供电,所述多个电平转换器耦合到所述接口电路;以及存储器电路,其由所述第三供给电压供电,所述存储器电路耦合到所述多个电平转换器。
25.根据权利要求24所述的可编程逻辑器件PLD,进一步包括第二接口电路,其由所述第三供给电压供电,所述第二接口电路耦合到所述存储器电路;以及第二电平转换器,其由所述第三供给电压供电,所述第二电平转换器耦合到所述第二接口电路。
26.根据权利要求25所述的可编程逻辑器件PLD,其中所述第二接口电路包括传感放大器和写入驱动器。
27.根据权利要求25所述的可编程逻辑器件PLD,其中所述解码器包括动态逻辑电路。
28.一种通过使用可编程逻辑器件PLD中的资源来实现电子电路的方法,其中所述PLD由第一和第二供给电压供电,所述方法包括a1)分配标称电平给所述第二供给电压;b1)在用于实现所述电子电路的所述PLD内,执行所述资源的放置和路由;以及c1)确定满足所述电子电路的时序规范的所述第二供给电压电平的值。
29.根据权利要求28所述的方法,进一步包括将预设电平分配给所述第一供给电压。
30.根据权利要求28所述的方法,其中确定满足所述电子电路的时序规范的所述第二供给电压电平的值进一步包括确定满足所述电子电路的时序规范的所述第二供给电压电平的最小值。
31.根据权利要求30所述的方法,其中确定满足所述电子电路的时序规范的所述第二供给电压电平的值进一步包括确定所选的第二供给电平是否足以提供所需性能级别;以及如果所选的第二供给电平不足以提供所需性能级别,则转到b1)。
32.根据权利要求30所述的方法,其中确定满足所述电子电路的时序规范的所述第二供给电压电平的最小值进一步包括使用依赖于所述第二供给电压值的时序模型。
33.根据权利要求32所述的方法,其中确定满足所述电子电路的时序规范的所述第二供给电压电平的最小值进一步包括使用作为电压函数计算的时序,来估计所述第二供给电压电平的新值。
34.一种通过使用可编程逻辑器件PLD中的资源来实现电子电路的方法,其中所述PLD由第一和第二供给电压供电,所述方法包括a2)分配标称电平到所述第二供给电压;b2)执行PLD内的资源的放置;c2)通过使用与所述第二供给电压电平对应的延迟估计,来优化所述放置;以及(d2)确定满足所述电子电路的时序规范的所述第二供给电压电平的值。
35.根据权利要求34所述的方法,进一步包括将预设电平分配给所述第一供给电压。
36.根据权利要求34所述的方法,其中确定满足所述电子电路的时序规范的所述第二供给电压电平的值进一步包括确定满足所述电子电路的时序规范的所述第二供给电压电平的最小值。
37.根据权利要求36所述的方法,其中确定满足所述电子电路的时序规范的所述第二供给电压电平的值进一步包括为所述第二供给电压分配一最大电平,其取决于成功地确定满足所述电子电路的时序规范的所述第二供给电压电平的值;以及确定在所述第二供给电压电平下是否满足时序和路由能力的目标。
38.根据权利要求37所述的方法,其进一步包括创建满足一组路由规范的路由;优化所述电子电路的时序;以及分析所述电子电路,以确定满足一组时序规范的所述最小第二供给电压值。
全文摘要
一种可编程逻辑器件(PLD),包括第一和第二电路。所述第一和第二电路是用户设计的一部分,其使用PLD资源来实现。所述第一电路由第一供给电压供电。所述第二电路由第二供给电压供电。所述第一和第二供给电压中的至少一个由用于实现所述PLD中用户设计的PLD计算机辅助设计(CAD)流程来确定。
文档编号H03K19/173GK1917371SQ20061011576
公开日2007年2月21日 申请日期2006年8月16日 优先权日2005年8月16日
发明者D·刘易斯, V·贝茨, P·莱温体斯, C·莱恩, A·李, J·瓦特, T·万德胡克 申请人:阿尔特拉公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1