CN102970022B - 用于提高电子电路可靠性的装置和相关方法 - Google Patents
用于提高电子电路可靠性的装置和相关方法 Download PDFInfo
- Publication number
- CN102970022B CN102970022B CN201210231836.3A CN201210231836A CN102970022B CN 102970022 B CN102970022 B CN 102970022B CN 201210231836 A CN201210231836 A CN 201210231836A CN 102970022 B CN102970022 B CN 102970022B
- Authority
- CN
- China
- Prior art keywords
- configuration
- circuit
- group
- circuit element
- described device
- 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
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic 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/17748—Structural details of configuration resources
- H03K19/17752—Structural details of configuration resources for hot reconfiguration
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic 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/17748—Structural details of configuration resources
- H03K19/17764—Structural details of configuration resources for reliability
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/003—Modifications for increasing the reliability for protection
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Logic Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明涉及用于提高电子电路可靠性的装置和相关方法。在示范性实施例中,一种装置包括第一组电路元件和第二组电路元件。第一组电路元件用于所述装置的第一配置,以及第二组电路元件用于所述装置的第二配置。将所述装置的第一配置切换至所述装置的第二配置以便提高所述装置的可靠性。
Description
技术领域
本发明构思通常涉及电子电路和器件,以及更特别地,涉及用于提高诸如现场可编程门阵列(FPGA)的电子器件和电路的装置以及相关方法。
背景技术
电子学的发展,已经导致由例如集成电路(IC)的半导体器件实现的功能和能力持续增加。为了提供这些功能和能力,诸如IC的半导体器件继续包括持续增加的晶体管数目。
为了减少成本并且也满足用于更多功能和能力的规范,半导体技术已继续向更高的设备密度和更小的设备几何尺寸的趋势驱动。这些趋势已经影响了半导体设备的特性。例如,一些半导体设备倾向于在接近半导体设备的寿命末期时具有与在接近它们的寿命初期时不同的特性。
发明内容
根据各种实施例的装置和相关方法提高了诸如IC的电子电路或装置的可靠性。在一个示范性实施例中,一种装置包括用于装置的两个配置中的两组电路元件。第一组电路元件用于装置的第一配置,而第二组电路元件用于装置的第二配置。将装置的第一配置切换至装置的第二配置,以便提高装置的可靠性。
在另一个示范性实施例中,一种方法包括,通过使用分配至第一配置的第一组电路元件在第一配置中操作IC,以及通过分配至第二配置的第二组电路元件在第二配置中操作IC。根据本发明的方法,跟随在第一配置中操作IC之后地在第二配置中操作IC提高了该IC的可靠性。
在又一个实施例中,一种配置IC的方法,包括,分配第一组电路元件至IC的第一配置,以及分配第二组电路元件至IC的第二配置。该方法进一步包括,配置IC使得将IC的第一配置切换至IC的第二配置,以便提高IC的可靠性。
附图说明
所附附图仅示出了示范性实施例,并且因此不应当认为是对范围的限制。受益于本公开内容的本领域普通技术人员理解本发明构思会将他们引导至其他等同的有效实施例。在附图中,在一个以上的附图中使用的相同附图标记指示相同的、类似的或等同的功能、元件或模块。
图1示出了根据示范性实施例的电路,其包括用于分配至两个或更多配置的多个电路元件;
图2描绘了根据示范性实施例的用于切换配置的电路;
图3示出了根据另一示范性实施例的用于切换配置的电路;
图4示出了根据示范性实施例的FPGA的模块图;
图5描绘了根据示范性实施例的FPGA的平面图;
图6描绘了根据示范性实施例的FPGA内的可编程逻辑和可编程互联的模块图;
图7示出了根据示范性实施例的FPGA CAD流程;
图8-10示出了根据示范性实施例的由两种配置来使用FPGA资源的示例;
图11-12示出了根据示范性实施例的提供配置信息至FPGA的电路布置;
图13描绘了根据本公开构思的用于信息处理的示范性系统的模块图;
具体实施方式
本公开构思通常涉及诸如IC的电子电路和器件的可靠性和功能。更具体地,本公开构思提供用于提高例如IC的电子电路或器件的可靠性的装置和方法。
现代的半导体制造技术,诸如那些用于制造互补金属氧化物半导体(CMOS)器件和IC的技术,已经导致有时候以相当显著的方式引入改变器件(例如,诸如p型金属氧化物半导体(PMOS)或n型金属氧化物半导体(NMOS)晶体管之类的晶体管)特性的新机制或现象。本领域技术人员已知的这类不利现象的示例包括PMOS器件中的负偏压温度不稳定性(NBTI),以及NMOS器件中的正偏压温度不稳定性(PBTI)。
其他现象也可能改变器件的特性并可能降低可靠性。示例包括在诸如IC的电路的至少一部分上的应力(电的、机械的、环境的(热、冷等)等)和诸如老化的时间相关的现象。取决于应用,一些上述现象可能更加显著。例如,汽车、军事或太空应用可能相比于其他应用令电路承受增加的应力。
由于上述现象或其他现象的结果,在诸如晶体管的电路元件的寿命周期期间,器件或电路的特性发生改变。例如,晶体管在它们(或IC的)的工作寿命开始时可能具有与在接近它们(或IC的)工作寿命的末期时相比不同的特性。器件特性的改变可能不利地影响器件的可靠性。
根据本发明的实施例的装置和方法,提供的优点在于通过降低上述现象或其他现象的效应,从而提高电子电路和器件的可靠性和/或使用寿命。通常,本公开内容在电路(诸如IC)内使用两个或更多的电路元件配置,从而来应对可能不利影响电路的应力和现象的效应。更具体地,根据示范性实施例的装置和方法在两个或更多配置之间进行切换(或旋转、取代、改变、替换、或移位),从而切换电路元件的使用。更具体地,在诸如IC的电路内的电路元件被分配给两个或更多组。在一个配置中,使用一组电路元件(该一组电路元件例如是激活的),而一些其他组的电路元件(例如,未使用的电路元件或模块)是不激活的。
在一段时间之后,使用另一配置,这可以使得一些之前不激活的电路元件(以及在一些实施例中还有一些之前激活的电路元件)的使用变为激活的,以及反之亦然。以这种方式,切换配置来取代之前的配置。这种处理可以重复,并且可以在相应的时间段中使用给定的配置。在示范性实施例中,选择使时间段具有足够的长度来允许对应于给定配置的至少一些电路元件从上面描述的应力和/或其他不利现象的效应中恢复或基本恢复过来(例如,返回至电路元件的之前特性,或者基本上或有效地返回至电路元件的之前特性)。例如,在足够长的时间段之后,可以发生配置切换来使之前使用(例如,刚刚使用)的电路元件从NBTI和/或PBTI效应中恢复过来(或者,充分恢复过来以允许该电路元件的随后使用)。
本领域技术人员明白,可能会存在一些现象,电路元件不能够或不会有效地从这些现象的效应中恢复过来。即使在这种情况中,电子电路的有效寿命可能会增加(例如,如果使用下面详细描述的N配置的话,则以N因子增加)。
一般而言,将在诸如IC的电路中可用的或出现的电路元件被选择或分配至两个或更多配置中。在一些实施例中,空闲(或额外或未使用)的电路元件(即,在整个电路或器件中,比执行整体功能所需或所使用的更多的电路元件)可以用于实施一个或多个附加的配置。在如下所述的一些其他实施例中,一些电路元件可以共用至两个或更多电路配置中。
图1示出了根据示范性实施例的电路10。电路10可以是如图1中所示的IC或通常的任意类型的电路。电路10包括多个电路元件20。电路元件20可以构成从单独的晶体管到包含数个晶体管、模块、子系统等的电路的范围内的各种各样的电路。粒度级别取决于诸如电路10的应用、电路元件20的数目等的因素。
每个电路元件20可以实现或提供与其他电路元件20相同或不同的功能。因此,在一些实施例中,所有电路元件20提供相同或基本相同的功能。在其他的实施例中,每个电路元件20提供与其他电路元件20不同的功能。在又一个实施例中,一些电路元件20提供相同或基本相同的功能,而其他电路元件20提供一个或多个不同的功能。
电路10进一步包括控制器30。控制器30可以选择和分配电路元件20至两个或更多配置。备选地,可以由用户通过软件或固件,和/或例如IC外部的电路之类的其他电路来执行选择和分配电路元件至配置。在任一种情形中,配置可以存储于电子电路的外部(例如IC,与电子电路通信的文档)、电子电路的内部(例如,IC内的电路模块,或分布于IC内)。在电路10的给定配置中,控制器30可以使得一个或多个电路元件激活,即参与到实现整个电路10的功能中或在实现整个电路10的功能中是激活的。换言之,对于给定的配置,控制器30确定哪些电路元件20操作或是激活的以实现电路10的整体期望功能。例如,假定电路元件20构成逻辑门以及在多工器(MUX)功能中的电路20的期望整体功能。控制器30可以选择和分配数个逻辑门为激活的,以便实施用于给定配置的期望MUX功能。
在给定的配置中,例如在初始配置中,控制器30选择一组电路元件(例如电路元件20A-20D)在电路10的一个配置期间为激活的(即分配至那个配置)。因此,控制器30(单独或与一些其他机制结合)使得电路20A-20D实现期望的功能。控制器30保持跟踪哪些电路元件20被用于电路10的每个配置。因此,在上面的示例中,控制器30标记(或否则保持跟踪)电路元件20A-20D为正在配置中使用。控制器30还可以保持跟踪一组电路元件20已经被使用多久了,即已经被激活用于实现电路10的至少一部分功能。在一段时间后,控制器30选择另一组电路元件(例如用于电路10的另一配置的电路元件20E-20G)、停止使用之前的配置并且使用新的配置(使得电路元件20A-20D变为不激活的,以及电路元件20E-20G变为激活的),即,切换一个配置取代另一个。换言之,在电路10的第二配置中,控制器30激活电路元件20E-20G取代电路元件20A-20D(这些元件变得不激活)。此后,电路元件20E-20G在这个配置中实现电路10的至少一部分功能。
控制器30可以以各种方式去激活对应于给定配置的电路元件20。在一些实施例中,控制器30可以闭合或断电这些电路元件。在一些实施例中,控制器30可以例如通过电路元件的启用输入的使用来禁用这些电路元件。在其他实施例中,控制器30可以使得这些电路元件进入睡眠模式。
控制器30可以以各种方式执行配置的切换,即切换或改变电路元件20的激活或不激活状态。例如,在一些实施例中,控制器30可以实现自动切换(例如,使用计时器或一些对激活电路元件20A-20D的性能的测量等)。在其他实施例中,控制器30可以至少部分响应于电路10的外部输入(例如来自用户的输入)而执行切换。
在示范性实施例中,诸如上面描述的示例中,在切换前的激活电路元件不会与配置切换之后的激活电路元件重叠。因此,在上面的示例中,电路元件20A-20D不会与电路元件20E-20G重叠(并且不同于电路元件20E-20G)。在其他示范性实施例中,在配置切换之前和之后的电路元件可以有一定程度的重叠。在其他示范性实施例中,在配置切换之前和之后的电路元件可以重叠,但优选为不重叠。在其他示范性实施例中,配置切换之前和之后的激活电路元件可以从可用电路元件池中随机或伪随机地选择。
在其他示范性实施例中,配置切换之前和之后的一些电路元件可以重叠甚至相同,但在配置切换之前的至少一些电路元件的输入和/或输出处的逻辑值是与在配置切换之后的对应值相反的布尔逻辑。例如,在切换之前的逆变器20H可以具有逻辑1的输入和由此的逻辑0的输出。在切换配置之后,逆变器20H被控制器30(或其他机制)用在和/或布置在整个电路10中,从而逆变器20H具有逻辑0输入和由此的逻辑1输出。在一些实施例中,一些电路元件例如可以在一个以上的配置中激活,但如上所述具有不同的布尔逻辑输入。
在一些实施例中,可以使用一个或以上的附加配置(即,在电路、IC等中的电路元件的三个或更多的配置)。换言之,不是具有对应于两个配置的两组电路元件,而是可以具有两组以上的电路元件和/或两个或更多的配置切换。配置的数目可以取决于许多因素,诸如电路的复杂性、各种电路元件承受的应力等级、空闲电路元件的类型和/或数目、配置之间期望的或所允许的重叠程度等。
不管电路元件的确切布置和用于切换配置的整个机制如何,分配电路元件和切换配置的目标是降低对电路元件、电路(例如,电路10)、或器件的可靠性和/或寿命有不利影响的现象(诸如上面描述的现象)的效应。诸如IC的电路的可靠性和/或寿命可以按相对显著的量提高或增加(例如,在一些实施例中,双倍地或三倍地提高寿命)。增加的可靠性和/或寿命产生了数个优势,诸如降低的成本(例如,由于替换)、增加的客户或终端用户的满意度、和/或增加的对相对苛刻应用(例如,汽车的、军事的、太空的)的适应性。
更具体的,用于电路10的配置中的一些电路元件20(例如,图1中的电路元件20A-20D)变为激活的并且因此承受上面描述的现象。作为结果,典型地随时间用于配置的电路元件中的器件的一个或多个特性可以变得劣化和/或电路元件20可以变得应力紧张(stressed)。在一段时间后,控制器30切换电路10至新的配置。因此,在上述的示例中,控制器30使得电路元件20A-20D变得不激活的,以及使电路元件20E-20G变得激活的。
配置切换处理可以根据需要重复。因此,在一些实施例中,控制器30可以在一段时间后切换回第一配置,然后再至第二配置,等等。在具有两个以上配置的实施例中,控制器30可以以各种方式(例如,序列的、随机的、伪随机地、根据预定的顺序等)在配置之间切换。
根据本公开内容的一方面,电路10包括允许控制器30切换电路10的配置的电路和耦合机制(例如,MUX,解多工器(DEMUX),通道晶体管、切换矩阵等)。换言之,这种电路和耦合机制允许控制器30在给定的配置中以提供电路10的整体期望功能的方式耦合激活电路元件20。类似地,这种电路和耦合机制向控制器30提供去耦合或去激活其他电路元件20(例如,用于电路10的其他配置中的那些电路元件)的能力,即配置那些电路元件20使得它们在该特定配置期间不实现电路10的功能。
图2描绘了根据示范性实施例的用于切换配置的电路。在这个示例中,电路元件20I和20J在电路10的两个配置中是分别激活的(即,电路元件20I可以在一个配置中是激活的,而电路元件20J可以在另一配置中是激活的)。在第一配置期间,控制器30使用控制信号35A来使得解多工器(DMUX)35提供输入信号32(例如电路10的内部信号或电路10外部的信号)至电路元件20I。响应于来自DEMUX 35的信号35B,电路元件20I提供输出信号38B。使用控制信号38A,控制器30使得MUX 38提供信号38B作为MUX 38的输出信号40。
在电路10的第二(或另一)配置期间,控制器30使用控制信号35A使得解多工器(DMUX)35提供信号32至电路元件20J。响应于来自DMUX 35的信号35C,电路元件20J提供输出信号38C。使用控制信号38A,控制器30使得MUX 38提供信号38C作为输出信号。
图3示出了根据另一示范性实施例的用于切换配置的电路。在这个实施例中,控制器30分别使用信号42A、44A、46A和48A控制受控开关42、44、46和48。响应于它们各自的控制信号,开关42、44、46和48可以根据需要断开或闭合。因此,信号42A的一个值可以使得开关42闭合,而信号42A的另一个值可以使得开关42断开。开关44、46和48类似地响应于它们各自的控制信号(即控制信号44A、46A和48A)而操作。
在一个配置中,控制器30使用信号42A来使得开关42闭合并且因此提供输入信号32至电路元件20I的输入。同样地,使用信号46A,控制器30使得开关46闭合和提供电路元件20I的输出信号作为输出信号40。在另一配置中,控制器30使用信号44A来使得开关44闭合,这从而提供输入信号32至电路元件20J的输入。类似地,使用信号48A,控制器30使得开关48闭合,这转而提供电路元件20J的输出信号作为输出信号40。
注意,本领域技术人员应明白,用于配置切换的各种电路和方案是可能的。图2-3仅提供了两个示例。而且,图3中的开关42、44、46和48可以以各种方式实施,如本领域技术人员所明白的。例如,在示范性实施例中,可以使用晶体管、传输门(transmission gates)、逻辑门等。
本公开内容的一方面涉及降低对具有可编程电路的IC(诸如现场可编程门阵列(FPGA))的可靠性和/或寿命不利影响的现象的效应。根据本发明构思的装置和方法提供的优点在于克服或降低了诸如NBTI、PBTI、应力等现象的不利影响,尤其在使用通道门(passgate)或通道晶体管来实施它们的路由互联或可编程互联的FPGA中。
为了将提高上面描述的可靠性和寿命的技术应用至FPGA,可以将FPGA中的各种电路模块分配给两个或更多配置,以及然后切换该配置。在一些实施例中,电路模块可以包括在FPGA的结构(fabric)中的电路(例如,可编程的逻辑和/或可编程互联)。通常,可以将FPGA中的任意电路(或这种电路的部分,或多个这种电路)视为要分配至上述配置的电路模块。
图4示出了根据示范性实施例的FPGA 103的通用模块图。FPGA103包括配置电路130、配置存储器(CRAM)133、控制器30、可编程逻辑106、可编程互联109、以及I/O电路112。此外,FPGA 103可以包括根据需要的测试/调试电路115、一个或多个处理器118、一个或多个通信电路121、一个或多个存储器124、一个或多个控制器127、和初始化电路139。注意,该图示出了FPGA 103的通用模块图。因此,本领域技术人员应明白,FPGA 103可以包括其他模块和电路。这种电路的示例包括时钟生成和分发电路等。而且,FPGA 103可以包括根据需要的模拟电路、其他数字电路、和/或混合信号电路、熔丝(fuse)、反熔丝等。
可编程逻辑106包括可配置的或可编程的逻辑电路的模块,诸如查询表(LUT)、乘积项(product-term)逻辑、通道门、多工器(MUX)、逻辑门、寄存器、存储器等。可编程互联109耦合至可编程逻辑106并提供在可编程逻辑106内的各种模块之间的可配置互联(耦合机制)以及FPGA 103内或外的其他电路(例如,通过使用通道门和/或MUX)。在一些实施例中,可编程逻辑106和/或可编程互联109可以包括熔丝和/或反熔丝来提供附加的灵活性或可编程性。
控制器30控制FPGA 103内的各种操作,包括配置切换和电路元件分配。在控制器30的监控之下,FPGA配置电路130使用配置数据(这可以从诸如存储设备、主机等的源获得,或在FPGA 103的配置切换期间获得)来编程或配置FPGA 103的功能。配置数据典型地存储在CRAM 133。CRAM 133的内容确定FPGA 103的各种模块(诸如可编程逻辑106和可编程互联109)的功能。可以使用下面描述的计算机辅助(CAD)流程来产生配置数据。在一些实施例中,配置数据可以包括用于多个配置的信息或数据。备选地,在一些实施例中,控制器30可以使用用于FPGA 103的初始配置的初始配置数据,并产生基于初始配置的一个或多个附加配置。在示范性实施例中,CRAM 133可以包含在配置电路130中,可以是独立的电路模块或可以分布于FPGA 103内。
初始化电路139可以在FPGA 103重置或上电时使得执行各种功能。I/O电路112可以构成各种各样的I/O设备或电路。I/O电路112可以耦合至例如可编程逻辑106和可编程互联109的FPGA 103的各种部分。I/O电路112提供用于FPGA 103内的各种模块与外部电路或设备通信的机制和电路。测试/调试电路115促进FPGA 103内的各种模块和电路的测试和故障检修。测试/调试电路115可以包括对本领域技术人员已知的各种模块或电路。例如,测试/调试电路115可以根据需要包括用于在FPGA 103上电或重置之后执行测试的电路。测试/调试电路115还可以根据需要包括编码和奇偶(parity)电路。
FPGA 103可以包括一个或多个处理器118。处理器118可以耦合至FPGA 103内的其他模块和电路。处理器118可以从FPGA 103内或外的电路接收数据和信息,并以各种各样方式处理该信息,如本领域技术人员所明白的。一个或多个处理器118可以构成数字信号处理器(DSP)。DSP允许根据需要执行各种各样的信号处理任务,诸如压缩、解压缩、音频处理、视频处理、滤波等。
FPGA 103还可以包括一个或多个通信电路121。本领域技术人员明白,通信电路121可以促进FPGA 103内的各种电路和FPGA 103外的电路之间的数据和信息交换。通信电路121的示例包括收发机、网络接口电路等。FPGA 103还可以包括一个或多个存储器124和一个或多个存储器控制器127。存储器124允许在FPGA 103内存储各种数据和信息(诸如用户数据、中间结果、计算结果等)。存储器124可以根据需要具有粒状或模块形式。存储器控制器127允许接口连接至FPGA外部的电路以及控制FPGA外部的电路的操作和各种功能。例如,存储器控制器127可以接口连接至以及控制外部的同步动态随机存储器(SDRAM)。
注意,在一些实施例中,FPGA的结构和核心可以被分配为对应于一个或多个配置的电路模块。FPGA 103的结构或核心可以采取各种形式。在一些实施例中,FPGA 103的核心电路除了包括其他电路外,还包括可编程逻辑106和可编程互联109。可编程逻辑106和可编程互联109通常以阵列或规则结构(例如二维阵列)驻留在FPGA内。因此,在一些实施例中,FPGA 103的结构或核心可以布置为行和列。
图5描绘了根据示范性实施例的FPGA 103的平面图。FPGA 103包括布置成二维阵列的可编程逻辑106。布置成水平互联段和竖直互联段的可编程互联109将可编程逻辑106的模块彼此耦合。本领域技术人员明白,可以以特定的方式放置模块以便执行用户的设计。一个模块、一个模块的一部分、或一组模块可以构成FPGA 103的一个片或区。因此,本领域技术人员明白,FPGA 103可以包括布置成期望配置(例如,以两半、四个象限等)的许多片。在其他实施例中,FPGA 103可以包括电路的行和/或列,或者电路的模块。
FPGA 103的核心和结构可以包括可编程电路(例如,可编程逻辑、可编程互联等)的更加粒状的结构。图6示出了根据示范性实施例的在FPGA 103内的可编程逻辑106和可编程互联109的模块图。在所示的示范性实施例中,可编程逻辑106包括逻辑元件或可编程逻辑元件、电路或模块150、本地互联152、接口电路153和接口电路156。
本领域技术人员明白,逻辑元件150提供例如LUT、触发器、寄存器、乘积项逻辑等的可配置的或可编程的逻辑功能。本地互联152根据需要提供用于逻辑元件150的可配置或可编程的机制来彼此耦合或耦合至可编程互联109(有时称为“全局互联”)。接口电路156和接口电路159提供用于可编程逻辑106电路模块耦合至可编程互联109(并且因此至其他可编程逻辑106)的可配置或可编程方式。受益于本发明的描述的本领域技术人员明白,接口电路156和接口电路159可以包括MUX、DEMUX、寄存器、缓冲器、通道门、驱动器等。在更高的层级上,可以将许多逻辑元件150和相关电路组合来实现更大的可编程模块。可以根据需要或在给定情形中适当地重复这个过程,来产生具有期望可编程性的粒度级别的可编程电路模块。
FPGA 103内的各种电路或模块可以视为要分配至一个或多个配置的电路元件(例如,视为电路元件20(见图1))。在示范性实施例中,可以使用用于分配电路元件的各种粒度级别。例如,在一些实施例中,可以将单独晶体管(例如充当通道门的晶体管)作为要分配至一个或多个配置的电路元件。作为另一个示例,考虑在可编程逻辑106内的电路元件的分配。在一些实施例中,逻辑元件(或者逻辑元件中的组件或模块)或一组逻辑元件可以分配至一个或多个配置中。对本领域技术人员而言,其他的示例将是显而易见的,例如逻辑元件的模块、片(tile)、象限、行、列等。
类似地、可编程互联109内电路的各种部分或模块可以分配至一个或多个配置中。例如,一个或多个本地互联可以分配至一个或多个配置。作为另一个示例,一个或多个全局互联(或者一个或多个这种互联的部分)可以分配至一个或多个配置。对本领域技术人员而言,其他取决于诸如所探讨的FPGA的架构、FPGA的核心或结构的粒度级别等的因素的示例将是显而易见的。
参照图4,除了或替代可编程逻辑106和可编程互联109,FPGA103内的其他电路或模块可以分配至一个或多个配置。例如,在一些实施例中,存储器124可以实施为FPGA 103内的存储器模块。存储器124内的一个或多个存储器模块可以分配至一个或多个配置。对于处理器118、通信电路121、I/O电路112等也存在类似的可能性。一般而言,FPGA 103内的一个或多个电路或电路的模块的部分或全部可以分配至一个或多个配置,可以根据上面描述切换该一个或多个配置来提高FPGA 103的可靠性和/或寿命。
用于FPGA 103内的多种配置的各种方案是可能的。本公开内容的一方面涉及使用FPGA CAD流程或软件来产生用于FPGA 103的多个配置。图7示出了根据示范性实施例的FPGA CAD流程。该CAD流程包括设计-入口模块203、合成模块206、布置和路由(place-and-route)模块209以及验证模块210。设计入口-模块203允许根据需要使用电路或其行为的图形化或文本描述(诸如示意图、硬件描述语言(HDL)、或波形)来编辑各种设计描述文档。用户可以根据需要通过使用设计-入口模块203或使用各种电子设计自动化(EDA)或CAD工具(诸如工业标准的EDA工具)来生成设计文档。用户可以根据需要以图形格式、基于波形的格式、示意图格式、文本或二进制格式、或这些格式的组合来输入该设计。
合成模块206接受设计-入口模块203的输出。基于用户提供的设计,合成电路206生成实现用户提供设计的适当的逻辑电路。诸如图1中的FPGA 103的一个或多个FPGA(未明确示出)实施该合成的整体设计或系统。合成模块206还可以生成允许在用户设计中的各种模块的集成和适当操作以及接口连接的任意胶合逻辑(glue logic)。例如,合成模块206提供合适的硬件使得一个模块的输出正确地与另一模块的输入接口连接。合成模块206可以提供合适的硬件,使得满足在整体设计或系统中的每个模块的规范。而且,合成模块206可以包括用于优化所合成设计的算法和例程。通过优化,合成模块206寻求对实施整体设计或系统的一个或多个FPGA的资源的更高效使用。合成模块206提供它的输出至布置和路由模块209。紧随合成之后,可以包括技术映射模块(在图7中未示出)。
布置和路由模块209使用设计者的规范(例如定时规范)来执行最佳逻辑映射和布置。逻辑映射和布置确定在FPGA内的逻辑资源的使用。通过使用FPGA内的用于设计的某些部分的特定资源(诸如可编程逻辑106和/或可编程互联),布置和路由模块209帮助优化整体设计或系统的性能。通过正确使用FPGA资源,布置和路由模块209帮助满足整体设计或系统的关键定时路径(critical timing path)。布置和路由模块209还可以优化关键定时路径来帮助提供更快的定时关闭。因此,整体设计或系统可以实现更快的性能(即,在更高的时钟速率操作或具有更高的吞吐量)。
验证模块210执行设计的模拟和验证。该模拟和验证部分地寻求验证该设计符合用户预定的规范。该模拟和验证目的还在于在制出该设计的原型样板(prototyping)之前探测或校正任意的设计问题。因此,验证模块210帮助用户降低整体设计或系统的整体成本和上市时间。验证模块210可以根据需要支持和执行各种验证和模拟选项。该选项可以包括功能验证、测试台生成、静态定时分析、定时模拟、硬件/软件模拟、系统内验证、板层级(board level)定时分析、信号完整性分析和电磁兼容性(EMC)、正规网表验证等。注意,可以根据需要执行其他或附加的验证技术。而且,设计的验证还可以在流程中合适的和根据需要的其他阶段执行。
FPGA CAD流程,特别是布置和路由模块209,可以用于生成和/或管理用于FPGA103的多个配置的使用。例如,在一些实施例中,可以使用两个或更多的互补配置。换言之,创建配置使得由一个配置使用的路由通道门(或传输门、MUX、DEMUX等)均不被其他配置使用。为了这样做,用户的设计可以被首先映射至一个配置,以及用于(或被选择用于)那个配置的资源(通道门、传输门、MUX、DEMUX等)可以被标记或旗标。然后可以在限制的前提下创建附加的(第二)配置,该限制即其不使用(或如果可能,不使用)第一配置使用的任意相应资源。
在一些实施例中,布置和路由模块209还可以包括允许确定资源已使用多久的诸如计数的信息。以这种方式,布置和路由模块209可以选择最近最少使用的以及因此具有更多时间从上面描述的不利现象中恢复过来的那些资源来用于配置中。
典型地,相对少比例的路由资源用于用户的设计中。而且,使用相对少数目的路由MUX的通道门或通道晶体管(当路由MUX用于配置中时)。因此,这个方案将不会对路由附加配置产生特别严重的限制。在一些实施例中,布置和路由模块209可以配置成否决(不允许)之前由另一配置使用的路由资源或连接的使用。作为备选,如果可能的话,布置和路由模块209可以被偏置来避免使用之前由一个或多个其他配置使用的资源。
图8-10示出了根据示范性实施例的由两个配置使用FPGA资源的示例。更具体地,图8-10对应下如下的情形,即在可能的情况下,布置和路由模块209否决或避免使用或访问之前已经被另一配置使用的路由资源或连接。图8示出了FPGA 103的路由资源的一部分。输入缓冲器303接收多个信号,并使用许多通道门或通道晶体管将这些信号路由至输出缓冲器306。输入信号可以来自由所合成的用户设计指定的任意期望资源。类似地,缓冲器306的输出信号可以馈给任意期望目的地。
在不失普遍性的前提下,假定用户的设计指定路由两个信号。为此,布置和路由模块209可以使用FPGA 103内的各种资源,例如多个通道晶体管310、输入缓冲器303以及输出缓冲器306(或通道晶体管310、输入缓冲器303以及输出缓冲器306的池)。当创建或生成一个配置(例如,用于FPGA 103的第一配置)时,布置和路由模块209可以例如使用缓冲器303B和303E来接收来自它们各自资源的两个信号,以及使用缓冲器306B和306C来提供信号至它们各自的目的地。因此,在所示的示例中,布置和路由模块209通过使用通道晶体管310A将缓冲器303B的输出耦合至缓冲器306B的输入来路由第一信号。类似地,布置和路由模块209通过使用通道晶体管310B将缓冲器303E的输出耦合至缓冲器306C的输入来路由第二信号。因此,FPGA 103的第一配置(例如,初始配置)使用缓冲器303B、303E、306B、306C以及通道晶体管310A和310B来路由上面所述的两个信号。布置和路由模块209将缓冲器303B、303E、306B、306C和通道晶体管310A和310B标记为已在一个配置中使用。例如可将这个信息保存在像碟之类的永久存储设备中,以备由布置和路由模块209将来使用(将来运行或活动)。
为了创建另一配置(例如,第二配置),布置和路由模块209检查可用路由资源池。如图9所示,在这个示例中,缓冲器303B、303E、306B、306C和通道晶体管310A、310B之前已经被使用过了。因此,布置和路由模块209在可能情况下否决或避免它们的使用。假定图9中标记为303C的一个输入缓冲器未使用且可用,以及标记为310C和310D的两个通道晶体管也可用。通常,布置和路由模块209试图使用之前未被使用的(或最近未被使用的)电路元件或一般而言的资源。在图9所示的示例中,假定仅有输入缓冲器303C和303E可用。为了路由该两个信号,布置和路由模块209选择输入缓冲器303C和输入缓冲器303E,即便它之前已经在配置中使用过。布置和路由模块209重新使用输入缓冲器303E,因为在这个示例中没有其他输入缓冲器可用。类似地,布置和路由模块209选择输出缓冲器306B和306C,因为在用户的设计中它们是用于路由该两个信号的两个可用输出缓冲器。最后,布置和路由模块209选择通道晶体管310C、310D来完成该两个信号的路由。图10示出了用于附加或第二配置的路由资源的结果布置。
在一些实施例中,一个或多个配置的路由的一个或多个重复(iteration)可以用于避免或否决资源的重新使用。例如,如果用于配置的资源的之前路由导致一些资源正被两个或多个配置使用(例如,在期望避免由两个或更多配置重新使用资源的情形中),则布置和路由模块209可以在路由另一个配置之后重新路由一个配置。作为另一个示例,布置和路由模块209可以配置成避免路由资源,而不是其他资源的重新使用(或由一个以上的配置使用)。因为路由资源倾向于承受更多上面描述的不利现象的结果,所以布置和路由模块209可以同时路由两个配置,以及允许一个以上的配置使用FPGA103内的路由资源以外的资源。
尽管FPGA内的路由资源倾向于是对PBTI、NBTI或其他不利效应最敏感的FPGA资源,但FPGA 103内的其他资源也可能受那些效应的影响。在一些实施例中,除了路由资源,布置和路由模块209还可以配置成选择FPGA 103内的其他资源(诸如可编程逻辑106)来包括在配置中,从而避免它们的重新使用。例如FPGA 103内的逻辑元件(例如图6中的逻辑元件150)可以包括组合的LUT和寄存器。LUT和寄存器中的任意一个或两个可以在配置中未使用。在一些实施例中,布置和路由模块209可以配置成在配置中优先使用在之前的配置中未使用(或最近较少或最少使用)的寄存器和/或LUT。
类似的技术可以应用至FPGA 103内的一个(或多个)存储器124。典型地,在给定的配置中并非存储器124内的所有单元或位置都被使用。依赖于诸如存储器124的粒度的因素,当合成用于另一配置的逻辑时,合成模块206(参见图7)可以将未使用的地址位设置为用于两个或多个配置的不同值,使得不同的存储器位由不同的配置使用。备选地,依赖于存储器124的粒度,布置和路由模块209可以选择用于不同配置的存储器位置或模块,从而避免或阻止存储器的重新使用(使得不同的存储器位置或模块被不同的配置使用)。
本公开内容的其他方面涉及基于信号值的概率创建配置。具体地,可以计算具有逻辑1或逻辑0的每个节点(或者节点集或子集)的概率(这种概率典型地出于各种理由而计算,例如估计FPGA电路的功耗)。然后可以合成用户的设计(例如使用图7中的合成模块206)来增加或最大化用于两个配置的FPGA 103中的任意节点的以下概率,即具有在一个配置中具有逻辑值1而在另一个配置中具有逻辑值0的相对高的概率的概率。另外,在一个配置中未使用的FPGA资源(例如未使用的可编程逻辑106)可以被编程使得未使用电路节点的期望逻辑值与当被选择和编程由另一配置使用时的那些节点的期望逻辑值相反。这些仅仅是在相同设计的不同实施方式中不同资源如何能够被使用(或优先被使用)的一些示例。本领域技术人员明白,还可以使用各种其他方案。
一旦创建了两个或更多配置,FPGA 103可以在它们之间切换以便增加如上所述的器件可靠性和/或寿命。图11示出了根据示范性实施例的用于提供配置信息至FPGA 103的电路布置。配置器件403(或配置信息的其他源)包含或存储用于许多配置(一般为m个配置,其中m是大于1的正整数)的信息。在图11所示的示例中,配置器件403包括从十六进制地址0x00000000开始的“配置1”,以及从十六进制地址0x80000000开始的“配置2”。FPGA 103使用地址线406(或其他可能是串行模式的控制线)来访问用于特定配置的配置信息。例如,为访问“配置1”,FPGA 103可以通过地址线406提供十六进制地址0x00000000至配置器件403。作为响应,配置器件403通过配置数据线412(或例如在并行模式接口中的许多线)提供用于指定配置的信息至FPGA 103。
此外或备选地,FPGA 103可以提供标记为N的数或值409至配置器件403,该数或值409指定了要获取的期望配置、或地址,或者它们两者。因此,在一些实施例中,例如如图12所示,可以提供N作为地址信息的一部分,其中N构成信息的一位以在“配置1”和“配置2”之间选择。作为响应,配置器件403通过线412提供对应于期望配置的信息。因此,N=0使得配置器件403提供用于“配置1”的信息,而N=1使得配置器件403提供用于“配置2”的信息。在一些实施例中,地址信息可以用于选择或获取用于配置的信息。在一些实施例中,N可以用于选择或获取用于配置的信息。
本领域技术人员明白,各种其他方案和电路布置也是可能的。例如,配置信息可以存储于FPGA 103的内部,例如其中FPGA 103使用相对少量的配置信息。而且,取决于诸如终端使用、系统考虑、期望速度、灵活性等的因素,可以使用其他类型的接口以及控制方案和电路。
FPGA 103可以以各种方式切换配置。在一些实施例中,FPGA103可以当其上电或自我配置时切换配置(例如,从初始配置至第二、第三、第四(或更多)配置)。例如,当器件被配置或发生配置切换时,存储在非易失性存储器或存储等中的(由电池备用电路支持)内部旗标或值可以被触发或改变。该值或旗标可以指定下一次使用哪个配置。该值可以根据需要的以环形的方式递增(或递减),即最后的值可以递增(递减)至初始值。
作为另一示例,例如每k次(k指代正整数)配置FPGA 103(例如当上电时)或当之前的配置故障(例如由于上述不利的现象)等时,可以自动地执行配置切换。FPGA 103可以在配置之间触发或切换直到在配置之一中探测到一个或多个故障,在这时配置可以被标记为“不要使用”。这个方案可以避免重新使用那个配置。备选地,响应于配置故障,可以移至下一配置(或另一配置),而忽略该故障的配置以下n个循环(n指代正整数),在这之后可以尝试该故障配置。例如如果内置自检有时出于器件老化之外的原因标记错误,这个方案将是有用的(因为检测到故障的配置最终会重新尝试,但不会每隔一个配置这么频繁)。作为又一个示例,可以使用配置直到它在用户的设计中导致故障,在这时可以作出切换至另一配置。(用户设计中的故障可以典型地由FPGA 103内或外(例如,作为系统范围的错误检测电路)实施的自检电路探测)。作为另一示例,可以由用户确定至配置电路130(见图4)的输入,这将导致配置选择值的改变或触发。作为又一个示例,在一些实施例中,配置之间的切换可以由FPGA用户通过耦合至FPGA 103的定制电路发起。在一个实施例中,可以使用配置直到已经经过预定时间段,该预定时间段可以是用户可选择的,在这时可以作出切换至另一配置。
如上所述,用于确定配置应在给定时间被使用或加载的电路(例如,控制电路或控制器)可以驻留在FPGA 103的外部。例如,可以在FPGA 103的外部例如通过用户、通过在处理器上运行软件的外部系统等来作出这种确定。在一些实施例中,FPGA 103可以是另一设备的从设备。在这个情形中,配置数据可以通过外部电路被“推”到或通讯至FPGA 103(在这种情况中,FPGA 103可以不提供如上所述的地址信息)。
根据本发明构思的一方面,可以设计和实施与诸如上面描述那些的各种装置实施例或者诸如固件之类的装置和方法的组合相对应的算法、方法、流程或软件。在一个示范性实施例中,一种方法包括,通过使用分配至第一配置的第一组电路元件以在第一配置中操作IC,以及通过使用配置至第二配置的第二组电路元件以在第二配置中操作IC。根据该方法的跟随在第一配置中操作IC之后地在第二配置中操作IC提高了IC的可靠性。在另一示范性实施例中,配置IC的方法,包括:分配第一组电路元件至IC的第一配置;以及分配第二组电路元件至IC的第二配置。该方法进一步包括配置IC使得将IC的第一配置切换至IC的第二配置,从而提高IC的可靠性。
根据本发明构思的一方面,可以在计算机系统、设备、处理器、控制器等上执行、运行或实行所公开的算法、流程或软件。图13示出了根据本发明构思的用于处理信息的示范性系统1000的模块图。系统1000包括计算机设备1005、输入设备1010、视频/显示设备1015和存储/输出设备1020,尽管可以根据需要包括一个以上的每一那些设备。
计算机设备1005耦合至输入设备1010、视频/显示设备1015和存储/输出设备1020。系统1000可以根据需要包括一个以上的计算机设备1005、例如一组相关的计算机设备或系统。
典型地,系统1000与来自用户的输入相关地进行操作。用户输入典型地使得系统1000执行信息处理任务,诸如包括配置的创建、电路元件的选择等所公开的信息处理任务。系统1000部分使用计算机设备1005来执行那些任务。计算机设备105包括诸如中央处理单元(CPU)、控制器、微控制器等的信息处理电路,虽然本领域技术人员将明白,可以使用一个以上这样的设备或信息处理电路。
输入设备1010接收来自用户的输入以及使得该输入对计算机设备1005可用以用于处理。用户输入可以根据需要包括数据、指令或它们两者。输入设备1010可以构成字母数字型的输入设备(例如,键盘)、指针设备(例如,鼠标、滚球、光笔、触摸感应设备(触摸感应显示器、平板(tablet)))或它们两者。用户操作字母数字型的键盘将诸如ASCII字符之类的文本提供给计算机设备1005。类似地,用户操作指针设备以提供光标位置或控制信息给计算机设备1005。
视频/显示设备1015显示可视化图像给用户。视频/显示设备1015可以根据需要包括诸如图形处理器的图形电路。可视化图像可以包括关于计算机设备1005操作的信息,诸如图形、图片、图像和文本。本领域技术人员将明白,视频/显示设备1015可以包括计算机监视器或显示器、投影设备等。如果用户使用触摸感应显示器、该显示器也可以操作以向计算机设备1005提供用户输入。
存储/输入设备1020允许计算机设备1005存储用于附加处理或后续获取(例如,软拷贝)的信息、以各种形式呈现信息(例如,硬拷贝)或者它们两者。作为示例,存储/输入设备1020可以包括能够在期望介质上以及以期望格式存储信息的磁的、光的、半导体的或磁光的驱动。作为另一示例,存储/输出设备1020可以构成打印机、绘图器或其它输出设备以生成对来自计算机设备1005的信息的打印或绘制表达。
计算可读介质1025在结构和功能上与计算机设备1005互相关联。计算机可读介质1025存储、编码、记录和/或具体化功能描述性材料。借助示例的方式,该功能描述性材料可以包括计算机程序、计算机代码、计算机应用和/或信息结构(例如,数据结构或文档系统)。当由计算机可读介质1025存储、编码、记录和/或具体化时,该功能描述性材料给予功能性。功能描述性材料与计算机可读介质1025互相关联。
功能描述性材料内的信息结构定义了在信息结构和计算机可读介质1025和/或系统1000的其他方面之间的结构和功能的互相关联。这些互相关联允许实现信息结构的功能性。
而且,在这种功能描述性材料中,计算机程序定义了在计算机程序和计算机可读介质1025和系统1000的其他方面之间的结构和功能的互相关联。这些互相关联允许实现计算机程序的功能性。因此,通常意义上,计算机可读介质1025包括诸如指令的信息,当其由计算机设备1005执行时,使得计算机设备1005(通常为系统1000)提供由(部分或全部)包含在计算机可读介质1025之内的计算机程序、软件、方法、算法等预定的功能性。
借助示例的方式,计算机设备1005读取、访问或拷贝功能描述性材料进计算机设备1005的计算机存储器(在图中未明确示出)。计算机设备1005响应于计算机存储器中出现的该材料而执行操作。计算机设备1005可以执行对使得计算机设备1005执行附加操作的计算机应用进行处理的操作。相应地,功能描述性材料展现与计算机设备1005执行处理和执行操作的方式互相关联的功能。
而且,计算机可读介质1025构成计算机设备1005从其访问计算机信息、程序、代码和/或应用的装置。计算机设备1005可以处理使得计算机设备1005执行附加或期望任务或操作的信息、程序、代码和/或应用。
注意,本领域技术人员将明白,可以以各种方式实施计算机可读介质1025。例如,计算机设备1005内的存储器可以根据需要构成计算机可读介质1025。
备选地,当计算机设备1005从信息处理系统或计算机设备的网络接收功能描述性材料时,计算机可读介质1025例如可以包括一组相关的、互相关联的、耦合的(例如通过导体、光纤等)或网络的计算机可读介质。注意,计算机设备1005可以从计算机可读介质1025、网络或它们两者处接收功能描述性材料。
尽管上述公开内容部分讨论了用于提高FPGA的可靠性和/或寿命的技术和电路,但本发明的构思可一般性地应用于具有可编程或可配置电路的IC。对本领域技术人员而言,这种IC可能已知为可编程逻辑器件(PLD)、复杂可编程逻辑器件(CPLD)等。
参照附图,本领域技术人员将注意到所示的各种模块可能主要描绘了构思的功能和信令流程。实际的电路实施方式可能会或不会包括用于各种功能模块的单独可识别的硬件以及可能会或不会使用所示的特定电路。例如,可以根据需要将各种模块的功能组合为一个电路模块。而且,可以根据需要将单个模块的功能实现为数个电路模块。本领域技术人员明白,电路实施方式的选择取决于各种因素,诸如用于给定实施方式的特定设计和性能规范。对本领域技术人员而言,除上面描述的实施例之外的其他修改或备选实施例将是显而易见的。因此,本说明书教导了本领域技术人员执行所公开构思的方式,并且应当仅解释为示例性的。
所示出的和描述的形式和实施例应认为是示例性实施例。本领域技术人员在不脱离本文所公开构思的范围的前提下,可以在形状、尺寸和部分的布置上作出各种改变。例如,本领域技术人员可以用等同元件替换这里所示出和描述的元件。而且,在不脱离所公开构思的范围的前提下,受益于本公开内容的本领域技术人员可以使用本公开构思的一些特征,而不受其他特征使用的约束。
Claims (24)
1.一种用于提高电子电路可靠性的装置,包括:
第一组电路元件,用于在所述装置的第一配置中执行第一逻辑功能;以及
第二组电路元件,用于所述装置的第二配置中执行第二逻辑功能;
其中将所述装置的第一配置切换到所述装置的第二配置,以便通过降低偏压温度不稳定性的效应来提高所述装置的可靠性,其中所述第一组电路元件和所述第二组电路元件是不重叠的,并且其中所述第一逻辑功能不同于所述第二逻辑功能。
2.根据权利要求1所述的装置,其中将所述装置的第一配置切换到所述装置的第二配置来降低负偏压温度不稳定性(NBTI)和/或正偏压温度不稳定性(PBTI)的效应。
3.根据权利要求1所述的装置,其中将所述装置的第一配置切换到所述装置的第二配置来降低在所述装置的至少一部分上的应力效应。
4.根据权利要求1所述的装置,进一步包括控制器,适于将第一组电路元件分配至第一配置以及将第二组电路元件分配至第二配置。
5.根据权利要求4所述的装置,其中所述控制器适于分配第一和第二组电路元件,使得所述第一组电路元件和所述第二组电路元件是不重叠的。
6.根据权利要求4所述的装置,其中所述控制器适于将所述装置的第一配置切换至所述装置的第二配置。
7.根据权利要求6所述的装置,其中所述控制器适于通过解激活第一组电路元件以及激活第二组电路元件,将所述装置的第一配置切换至所述装置的第二配置。
8.根据权利要求4所述的装置,其中所述装置适于在所述装置被切换至所述第二配置之前,在第一时间段中在第一配置中操作。
9.根据权利要求8所述的装置,其中所述装置适于在所述装置被切换回至所述第一配置之前,在第二时间段中在第二配置中操作。
10.根据权利要求1所述的装置,进一步包括至少一个或多个附加组电路元件,所述一个或多个附加组电路元件用于所述装置的一个或多个附加对应配置中,其中将所述装置的第一配置切换至所述装置的第二配置,以及然后将所述装置的第二配置切换至所述装置的一个或多个附加对应配置。
11.根据权利要求1所述的装置,其中所述第一和第二组电路元件的至少一个包括可编程逻辑和/或可编程互联。
12.根据权利要求1所述的装置,其中所述第一和第二组电路元件的至少一个包括路由电路。
13.一种用于提高电子电路可靠性的方法,包括:
通过使用分配至第一配置的第一组电路元件,在第一配置中操作集成电路(IC),所述第一组电路元件执行第一逻辑功能;
通过使用分配至第二配置的第二组电路元件,在第二配置中操作IC,所述第二组电路元件执行第二逻辑功能,其中跟随在第一配置中操作IC之后,在第二配置中操作IC,以通过降低偏压温度不稳定性的效应来提高IC的可靠性,其中所述第一逻辑功能不同于所述第二逻辑功能。
14.根据权利要求13所述的方法,其中在第一配置中操作IC进一步包括激活第一组电路元件。
15.根据权利要求14所述的方法,其中在第二配置中操作IC进一步包括解激活第一组电路元件而激活第二组电路元件。
16.根据权利要求13所述的方法,其中在第一配置中操作IC进一步包括在第一时间段中使用第一组电路元件,以及在第二配置中操作IC进一步包括在第二时间段中使用第二组电路元件。
17.根据权利要求13所述的方法,其中选择第一时间段的长度使得允许第一组电路元件从负偏压温度不稳定性(NBTI)和/或正偏压温度不稳定性(PBTI)的效应中恢复过来,以及选择第二时间段的长度使得允许第二组电路元件从NBTI和/或PBTI的效应中恢复过来。
18.根据权利要求13所述的方法,其中选择第一和第二时间段使得允许第一和第二组电路元件分别从应力的效应中恢复过来。
19.一种配置集成电路(IC)的方法,所述方法包括:
在IC的第一配置中分配用于执行第一逻辑功能的第一组电路元件;
在IC的第二配置中分配用于执行第二逻辑功能的第二组电路元件,其中所述第一组电路元件和所述第二组电路元件被分配为使得所述第一组电路元件和所述第二组电路元件是不重叠的,并且其中所述第一逻辑功能不同于所述第二逻辑功能;以及
配置所述IC使得将IC的第一配置切换至IC的第二配置,以便通过降低偏压温度不稳定性的效应来提高IC的可靠性。
20.根据权利要求19所述的方法,其中配置所述IC进一步包括:
配置所述IC使得在所述IC已在第一时间段中使用第一配置之后,将IC的第一配置切换至IC的第二配置。
21.根据权利要求20所述的方法,进一步包括:
配置所述IC使得在所述IC已在第二时间段中使用第二配置之后,将IC的第二配置切换至IC的第一配置。
22.根据权利要求21所述的方法,进一步包括:
选择第一时间段以具有足够的长度来允许第一组电路元件恢复,以及选择第二时间段以具有足够的长度来允许第二组电路元件恢复。
23.根据权利要求19所述的方法,其中分配第一组电路元件进一步包括分配可编程逻辑和/或可编程互联至所述IC的第一配置,以及分配第二组电路元件进一步包括分配可编程逻辑和/或可编程互联至所述IC的第二配置。
24.根据权利要求19所述的方法,其中分配第一和第二组电路元件使得第一和第二组电路元件至少是部分重叠的。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/174,599 US9455715B2 (en) | 2011-06-30 | 2011-06-30 | Apparatus for improving reliability of electronic circuitry and associated methods |
US13/174,599 | 2011-06-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102970022A CN102970022A (zh) | 2013-03-13 |
CN102970022B true CN102970022B (zh) | 2017-08-25 |
Family
ID=47389987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210231836.3A Active CN102970022B (zh) | 2011-06-30 | 2012-07-02 | 用于提高电子电路可靠性的装置和相关方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9455715B2 (zh) |
JP (1) | JP5969284B2 (zh) |
CN (1) | CN102970022B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7330050B2 (en) | 2004-11-08 | 2008-02-12 | Tabula, Inc. | Storage elements for a configurable IC and method and apparatus for accessing data stored in the storage elements |
EP2201569A4 (en) | 2007-09-06 | 2011-07-13 | Tabula Inc | CONFIGURATION CONTEXT SWITCH |
WO2011123151A1 (en) | 2010-04-02 | 2011-10-06 | Tabula Inc. | System and method for reducing reconfiguration power usage |
US8941409B2 (en) | 2011-07-01 | 2015-01-27 | Tabula, Inc. | Configurable storage elements |
CN103439644B (zh) * | 2013-08-13 | 2015-09-23 | 哈尔滨工业大学 | 一种SRAM-based FPGA退化测试系统 |
JP6747765B2 (ja) * | 2014-06-23 | 2020-08-26 | 東芝情報システム株式会社 | 半導体装置 |
JP6598432B2 (ja) * | 2014-06-24 | 2019-10-30 | キヤノン株式会社 | 画像処理装置、その制御方法およびプログラム |
US11113442B2 (en) * | 2017-09-28 | 2021-09-07 | Intel Corporation | Methods and apparatus for reducing reliability degradation on an integrated circuit |
US11841467B2 (en) | 2020-02-19 | 2023-12-12 | Canon Kabushiki Kaisha | Semiconductor device, photoelectric conversion device, photoelectric conversion system, transport apparatus, and control method of semiconductor device |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1463042A (zh) * | 2002-05-31 | 2003-12-24 | 株式会社东芝 | 电子电路器件和电子器件封装 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5646544A (en) * | 1995-06-05 | 1997-07-08 | International Business Machines Corporation | System and method for dynamically reconfiguring a programmable gate array |
JP2002305435A (ja) | 2001-04-05 | 2002-10-18 | Nec Corp | 半導体装置 |
US7782090B2 (en) | 2004-08-02 | 2010-08-24 | Panasonic Corporation | Semiconductor device |
JP4769509B2 (ja) * | 2004-08-02 | 2011-09-07 | パナソニック株式会社 | 半導体装置 |
US7804354B2 (en) | 2007-10-24 | 2010-09-28 | Honeywell International Inc. | Circuit architecture for radiation resilience |
JP5141246B2 (ja) | 2007-12-28 | 2013-02-13 | 日本電気株式会社 | クロック伝搬回路 |
US7973556B1 (en) * | 2009-03-05 | 2011-07-05 | Xilinx, Inc. | System and method for using reconfiguration ports for power management in integrated circuits |
US8570068B2 (en) * | 2010-04-28 | 2013-10-29 | Taiwan Semiconductor Manufacturing Company, Ltd. | Circuit for reducing negative bias temperature instability |
-
2011
- 2011-06-30 US US13/174,599 patent/US9455715B2/en active Active
-
2012
- 2012-06-29 JP JP2012147222A patent/JP5969284B2/ja not_active Expired - Fee Related
- 2012-07-02 CN CN201210231836.3A patent/CN102970022B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1463042A (zh) * | 2002-05-31 | 2003-12-24 | 株式会社东芝 | 电子电路器件和电子器件封装 |
Also Published As
Publication number | Publication date |
---|---|
CN102970022A (zh) | 2013-03-13 |
US9455715B2 (en) | 2016-09-27 |
US20130002287A1 (en) | 2013-01-03 |
JP5969284B2 (ja) | 2016-08-17 |
JP2013017171A (ja) | 2013-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102970022B (zh) | 用于提高电子电路可靠性的装置和相关方法 | |
CN110086461A (zh) | 具有多个扇区的可编程电路 | |
US7669165B2 (en) | Method and system for equivalence checking of a low power design | |
US7576557B1 (en) | Method and apparatus for mitigating one or more event upsets | |
CN103207849B (zh) | 用于灵活电子接口的装置和关联方法 | |
US9032343B1 (en) | Integrating multiple FPGA designs by merging configuration settings | |
US8813013B2 (en) | Partitioning designs to facilitate certification | |
US8392862B1 (en) | Structures and methods for optimizing power consumption in an integrated chip design | |
US9298865B1 (en) | Debugging an optimized design implemented in a device with a pre-optimized design simulation | |
US6853572B1 (en) | Methods and apparatuses for a ROM memory array having twisted source or bit lines | |
CN109558649B (zh) | 一种面向宇航芯片的寄存器单粒子效应模拟仿真方法 | |
CN105164921A (zh) | Fpga互连中的细粒度功率门控 | |
CN106250577A (zh) | 用于执行有关位于与不同的时钟域关联的电路之间的同步区域的寄存器重定时操作的方法 | |
TWI495979B (zh) | 用於控制相關電路中的訊號時序的裝置及其方法 | |
Ho et al. | Architecture and design flow for a highly efficient structured ASIC | |
CN102841873A (zh) | 用于在无需使用外部存储器的情况下配置sopc的系统和方法 | |
Xue et al. | Fine-tuning CLB placement to speed up reconfigurations in NVM-based FPGAs | |
US8904334B2 (en) | Footprint-based optimization performed simultaneously with other steps | |
CN104919708B (zh) | 压力编程集成电路的方法和系统 | |
Lin et al. | Circuits and architectures for field programmable gate array with configurable supply voltage | |
US20090302887A1 (en) | Apparatus for power consumption reduction in programmable logic devices and associated methods | |
JP2016507818A (ja) | ネットリストアブストラクション | |
Simek et al. | Reconfigurable Platform with Polymorphic Digital Gates and Partial Reconfiguration Feature | |
Bhardwaj | FPGA Design Flow and CAD | |
Qi | Circuit Solutions and Tool Flow of Ultra-Low-Power FPGAs |
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 |