专利名称::使用非线性元件的动态可配置逻辑门的利记博彩app使用非线性元件的动态可配置逻辑门发明领域该发明涉及动态计算领域,尤其涉及关于使用非线性元件的逻辑门的可配置计算架构。
背景技术:
:传统的计算系统依靠逻辑门的静态组合来实现一个或多个预定的布尔代数功能和/或存储器。在静态计算系统中,计算系统的不同的硬件组件在操作过程中不能重新连接或重新配置。例如,类似逻辑门或存储器锁存的硬件组件功能一旦制造出来,就不能动态地改变。虽然如此,一些计算^t块在一定限度内可以重新配置。例如,现场可编程逻辑门阵列(FPGAs)提供了一定限度的关于重新配置的灵活性。这样的努力被限制在简单地重定向信号流或者"重写"类似FPGA的设备或组件。其它使用混沌或非线性元件的、例如已知的Chua,scircuit实现经典的混沌理论行为。该Chua,scircuit最早在1980年代早期由LeonO.Chua提出。该电路的易于实现使其成为混沌系统在现实世界中的普遍使用的例子。虽然Chua'scircuit容易用架子组件实现,却不易使用集成电路技术制造。因为必须的电感器和电容器占用了太多的电路区域,并且大量的运算放大器使用大量的晶体管。而且,基于Chua'scircuit的集成电路常常因为组件非常的敏感而难于控制。甚至一个细微的组件数值的改变也能成倍地造成混沌振动的衰减。为了P争低该非线性电路的功耗,模拟的设计方式需要被转化为静态功耗浪费较少的数字的设计方式。输入值和输出值、以及来自非线性或混沌函数的输出都需要与数字值兼容。此外,需要更大型的基于非线性函数的复杂逻辑,同时要减小芯片大小、减小芯片功耗消耗、降低非线性函数重新配置控制电路的复杂性。因此,需要一种方法、电路以及系统来提^f吏用非线性或混沌函数的可配置逻辑元件的低功耗的实现方式。
发明内容简言之,该发明公开了一种动态可配置逻辑门。该动态可配置逻辑门包括用于接收第一输入信号和第二输入信号以产生总输入信号的一个输入加法器。此夕卜,该动态可配置逻辑门包括对该总输入信号使用非线性函数从而产生非线性输出信号的一个非线性元件。响应于调整该总输入信号和/或该非'线性函数,该动态可配置逻辑门的输出信号对应于复数个不同逻辑门中的一个。在另一实施例中,公开了一种动态可配置逻辑门,其包括两个输入,l)控制信号、输出信号,它们反4贵给一个或多个所述输入,2)动态可配置逻辑门。该动态可配置逻辑门接收所述两个输入,并且作为复数个不同逻辑门类型中的一个,基于控制信号选择,至少产生相应于存储器锁存的输出信号。在另一个实施例中,公开了一种动态可配置逻辑元件的阵列。该阵列包括一个多路复用器,其选择第一控制信号和/或第二控制信号来产生第一阵列选择控制信号。第一动态可配置逻辑元件包括在该阵列中,其中该第一逻辑元件按照该第一选择控制信号作为复数个不同逻辑元件类型中的一个。此外,该阵列包括第二动态可配置逻辑元件,其中该第二逻辑元件至少按照该第一选择控制信号作为复数个不同逻辑元件类型中的一个。该动态可配置逻辑元件阵列响应于第一选择控制信号,实现至少一个逻辑表达式和/或存储器锁存。该发明实现的逻辑表达式包括AND、NAND、OR、X0R、NOR、XN0R、NOT、ONE、以及ZERO门。当非线性输出信号反馈给该输入加法器时,产生相应于存储器锁存的该输出信号。本发明提供了使用非线性或混沌函数的可配置逻辑元件。减少的功耗消耗、更少的组件以及数字和/或模拟兼容的设计都只是本发明的一部分优点。本发明还才是供了包括可配置布线的可配置逻辑块阵列的优点。本发明的前述的以及其他的特征和优点,将在以下更多的本发明的实施例的详细描述和相应的附图中显而易见。本发明的主题在说明书的结尾处的权利要求中有特别地指出和清晰地主张。本发明前述的以及其他的特征和优点将在以下结合附图的描述中显而易见图l是根据本发明的示意图,其阐明了动态可配置逻辑门的高级电路架构的一个实施例。图2根据本发明阐明了使用图1的电路的NAND门的实现方式。图3是才艮据本发明的示意图,其阐明了动态可配置逻辑门的'高级电路架构的另一个实施例。图4根据本发明阐明了使用图3的电路的XOR门的实现方式。图5是根据本发明的示意图,其阐明了关于动态可配置逻辑门的高级电路架构的另一个实施例。图6是据本发明的、图5中输入加法器的示意图。图7是根据本发明的、由图5中动态可配置逻辑门实现的逻辑的输出波形。图8是图3显示的实施例,其中该输入部分不结合参考电压。图9和图10是4艮椐本发明的示意图,其阐明了用于产生图1和图3中非线性函数的非线性元件的实现示例电路。图11是才艮据本发明的电路示意图,其阐明了由用于动态可配置逻辑门1102的D-Latch实现的存储器元件的一个实施例。图12是根据本发明的示意图,其阐明了关于在更大阵列中使用的动态可配置逻辑门的高级电路架构的一个实施例。图134艮据本发明阐明了一般阵列的横截面。图14根据本发明,阐明了使用选择位来为阵列将函数变形的一般阵列元件的实施例。图15根据本发明,阐明了4对1的多路复用器。图16是根据本发明的、在阵列部分中能够独立控制选择的阵列。图17是根据本发明的、使用该动态可配置逻辑在两个不同的循环冗余校验函数间切换的简图。图18是根据本发明的、在两个使用状态机信息的通信协议或解码器之间切换的简图。图19是根据本发明的、有三个可切换功能的算术逻辑部件(ALU)的筒图。具体实施方式需要理解的是,这些实施例只是此处使用创新教导的许多有益使用的示例。一般而言,本申请说明书中的陈述不对提出的多种发明构成限制。进一步地,某些陈述适用于某些有创造性的特征但是不适用于其他特征。除4、特别说明,一般来说,单个的元件也可以为多个,反之依然,这并不使其一般性丧失。本申请整体引入以下两篇参考文献1)于2003年10月7日递交美国专利商标局的美国专利申请No.10/680,271,其于2006年8月22日授权为美国专利US7096437;以及2)于2005年12月15日递交美国专利商标局的美国专利申请No.11/304,125,其现在审查中。按照要求,此处公开了本发明的具体实施例。需要理解的是,公开的实施例只是本发明的示例,它们是可以不同形式实现的。所以,此处公开的的特定的结构和功能不应当视为限制,而只是作为权利要求的勤出,作为教导本领域技术人员以任何恰当细节结构来多样化实现本发明的相应的_|^出。进一步的,此处使用的术语和短语不够成限制,而是对本发明可懂的描述。此处的术语"一个"指代一个或多个。此处的术语复数指代两个或两个以上。此处的术语另一个指代至少第二个或更多。此处的术语包括和/或有指代包含(例如开放性的包含)。此处术语耦合指代连接,可以不是直接连接或机械连接。术语非线性元件、混沌元件以及有非线性函数和混沌函数的动态可配置元件,可以交换使用,它们指代敏感依赖初始状态的动态可配置逻辑。术语信号、控制、阈值是任何电学、磁学、光学、生物学、化学或以上结合的、将信息转化为模拟或数字的输入。本发明的一个实施例是使用非线性或混沌元件的可配置逻辑元件的一个数字实现。本发明降低了静态功耗的损耗,降低了芯片电路面积,并且提供了输入、输出和与数字电路实现兼容的非线性或混沌输出。但需要注意的是,本发明没有被限制为用数字方式实现,而且模拟的方式以及数字和模拟电路结合的方式也包含在本发明的精神和范围内。进一步的,本发明消除了该非线性或混沌元件的^gj赍。多个非线性或混沌演化并非必须,在这些输入和输出的阈值或控制之间,只要单个混沌演化就够了。移动吸引子本身来匹配这些输入,而非根据吸引子的混沌函数的上升沿和下降沿,移动输入电压。在另一个实施例中,本发明提供了使用可配置布线建立更大更复杂数字函数的可配置逻辑块的阵列。'本发明4是供混沌逻辑门方法、系统和装置,其能够-故配置为具有不同逻辑门的功能。以上逻辑门可以是"与"(AND)门、"或"(OR)门、"异或"(XOR)门、以及"非"(NOT)门。改变提供给该门和/或该门自身的非线性函数的一个或多个参考电压,可以改变该动态可配置逻辑门的功能。因此,作为一个简单的例子,此处公开的有创造性的动态可配置逻辑,能够作为^类门运行,例如AND逻辑门;在运算期间,接收指令,开始作为另一类逻辑门运算或运行,例如OR逻辑门。非线性或混沌函^t的背景4支术以下的表1阐明了基本运算的真值表。例如左侧的第3列说明了AND门输入(IhI2)的操作,第4列显示了OR门输入(Ibl2)的操作,第5列显示了XOR门输入(IhI2)的操作。表1的第二部分显示了NOT门输入I时的运算。表lI!i2AND()RX'OKIN([00(J(,()()010f11"1()()111110_混沌逻辑门的初始状态由x的值表示。根据此处公开的创造性安排,每个基本逻辑门的运算AND、OR、NOT和XOR包括以下三个步骤1、为AND、OR和XOR运算输入x—x。+Xi+X2;为NOT运算x—x0+X,其中xo代表系统的初始状态,X-0当I-0,以及X-3当1=1。2、混沌更新x—f(x),其中f(x)是混沌函数。3、阈值。为了获得输出Z:z=0如果f(x)《x*并且z=f(x)-x*如果f(x)>x*,其中乂*是阈值。以上解释为如果Z二O逻辑输出0以及如果z=3逻辑输出1。根据本发明的实施例,输入和输出可以等价地定义,这样二个单元既可以用于输入也可以用于输出,从而用于多种逻辑运算。这要求常量e在整个网络中假设为同一个值。这样的配置允许实现门功能的一个混、;屯模块的输出耦合到另一个实现某种门功能的混沌才莫块,从而形成实现混合逻辑运算的门阵列。假设动态f(x)在物理装置中使用,必须确定满足条件的阈值和初始状态信号,其中这些条件来自实现的真值表。以下的表2说明了为了实现逻辑运算AND、OR、XOR和NOT,满足混沌计算元件必须的条件。这些对称的输入将表l中真值表中的四种情况变为三种不同的情况,其中表1的第二和第三行合并表示为表2种的情况二。表2<table>tableseeoriginaldocumentpage13</column></row><table>以下的表3显示了在满足表2中f(x)-4ax(l-x)的条件时,其中参数a-l,的初始xo和阈值x+的精确解。该常量>1/4对于输入和输出以及所有的逻辑门都是公用的。表3<table>tableseeoriginaldocumentpage14</column></row><table>动态可配置逻辑门的第一实施例现在回到图1,其根据本发明显示了用于动态可配置逻辑门'的高级电路架构ioo的一个实施例。在这个实现中,多个混沌演化并不是必须的,在输入和输出的阈值电路之间只需要单个混沌演化。通过实现该单个混沌演化,最大化地简化了关于输入加法器或输入加法器102、非线性元件或混沌电路106、以及输出比较器108的电i各。如图l所示,该动态可配置逻辑门包括输入加法器或输入加法器102。该输入加法器102接收三个信号输入第一信号102、第二输入信号122、以及第一阈值信号130。该输入加法器102合并这三个信号120、122和130,形成作为该非线性元件104输入的总信号140。该非线性信号104利用非线性函数106作用于该总输入信号140来产生非线性输出信号150。比较器108接收该非线性输出信号150和第二阈值信号来产生该输出信号170。响应于调整该总输入信号MO和/或该非线性函数106,该非线性输出信号150对应于复数个不同逻辑门中的一个。图2显示了架构100实现的NAND逻辑门的一个例子。图2中曲线200的整体形状是实质上的类三次曲线。图2中的点202在输入120和122都为零("0")的位置,并且点202在第二阈值160以上,产生了一个数字一('T,)。图2中点204在输入120和122之一是数字一("1")的位置。正如看到的,在Y轴上该点也在i.2伏以上,并且也认为是数字一("r)。对于这个例子来说,x*,该第二阈值160在Y轴上选择1.2伏。第一阀值130和第二阈值160的改变改变了该输出逻辑。点206显示了在该曲线上两个输入都是数字一("1")的位置。这个值比Y轴上的x、〗、很多,并且被认为是数字零。Xo和X^々不同值可以产生其他类型的门。表4是这个实现方式的真值表。表4<formula>formulaseeoriginaldocumentpage15</formula>在表4中,第一阈值或参考信号130指代x。,而第二阈值或参考信号160指代x515。在这个例子中,&=0.6¥乂*=1.2¥并且乂0和或乂*中的任一个变化都改变输出。动态可配置逻辑门的第二实施例图3是根据本发明的示意图,其阐明了用于动态可配置逻辑门的高级电路架构300的另一个实施例。输7vii。法器或输入加法器302接收两个输入信号320和322,形成总信号340。该总信号是有非线性函数306的非线性或混沌元件304的输入。该非线性或混沌元件304被配置为利用非线性函数306到总信号340,产生非线性输出信号370。该非线性函数是306,和/或总信号340映射到的动态区域,响应于参考信号380、382和384中至少一个的变化而改变。响应于调整参考信号380、382和384和/或非线性函数306中的一个或多个,该非线性输出信号370对应于复凄t个不同逻辑门。在这个电路架构300中,进入混沌函数的参考信号380、382和384是离散的。输出阶段也会改变,以致于比较器被除去,然后数字值从非线性函数304产生。由于这些改变,非线性函数306被改变。先前用于选择进入混沌函数f(x)的模拟电压的开始点的阔值电压Xo和另一个阈值电压x*是模拟比较点。在这个实现方式中,有三个改变f(x)360自身的电压。图4根据本发明阐明了使用图3中电路的XOR门的实现方式。如前面提到的,参考信号380、382和384控制函数f(x)306自身的低电平到高电平和高电平到低电平的变化。该曲线形状看起来是类三次曲线,但曲线的顶部和底部是平緩的。然后使用阈值电压来传送函数306的上升沿和下降沿。在这个实施例中,移动混沌函数306的吸引子来匹配输入320和322,而非根据混沌函数306的吸引子来移动输入电压320和322。这些改变导致降低了功耗,并且显著地降低了动态可配置i殳备的物理面积。表5是图5中显示的XOR门例子的实现方式的真值表。表5ji色Ml—,丄.........帆,iH—()0(),50謹(1(i111<"5」*25在这个XOR门例子中,对于所有的门类型,在两个输入都为零时,X轴显示的输入电压约为0.5V;在一个输入为零以及一个输入为一时,输入电压是1.25V;在两个输入都为一时,输入电压为2.0V。选择阈值电压用于在输入电压之间中点发生的转换。以XOR为例,从0到1的第一转换大约在0.88V。从1到0的第二转换大约在1.63V。因此,正如从图中看到的,曲线上所示的这三个点产生了对于XOR门的真值表。动态可配置逻辑门的第三实施例在该实施例中,在动态可配置逻辑门中全部使用数字CMOS,功耗得到进一步的降低。该实施例介绍了动态可配置逻辑门的其它实施例的主要元件。输入力口法器提供输入计数器作为状态空间。该配置作为阔值机制改变输入状态空间到混沌演化的映射。该非线性或混沌演化提供非线性函数来转换输出。因为全部数字化,静态功耗几乎降低到了零。图5是根据本发明的示意图,其阐明了用于动态可配置逻辑门的高级电路架说明书第10/19页构500的另一个实施例。输入加法器或输入加法器502接受三个输入信号520、522和524,形成数字状态输出信号530、532和534。所不同的是,数字状态输出信号530、532和534代表了存在于非线性或混沌元件504的输入中的"1"的数量,其中非线性或混沌元件504实现了非线性函数f(x)504。该控制块508安排f(x)的输入,形成函数f(x)。在该实施例中,静态几乎降低到了零。图6是4艮据本发明的、图5中输入加法器502的示意图。如图所示的输入520、522和524并行地々贵入OR门604、MajorityVote606以冬AND门608。该三个信号S1、S2和S3表示输入的状态。例如,若三个输入520、522和524中的至少一个设置为'l,,则S1为T。若三个输入520、522和524中的至少两个设置为'l,,则S2为T。如果三个输入520、522和524都设置为'1,,则S3为T。在图6中,644表示的T和646表示的'0,馈入配置块508,将输入总状态S1、S2、S3映射到非线性函数f(x)506的限制范围。参见图7,输入总状态Sl、S2、S3的范围当输入520、522和524不同时,显示在非线性函数f(x)506的x轴上。例如,为了作为反相门(NAND、NOR、或反相MajorityVote),输入状态X1、X2、X3被限制在x轴的(0,0,0)和(l,0,0)之间的上半部分运算。为了实现上述情况,X2和X3均依赖于输入到配置块508的'l,,并且X1依赖于适当的总状态输入S1、S2或S3来产生校正反相逻辑门函数。在另一个例子中,为了产生同相门(AND、OR以及MajorityVote),输入状态的范围被限制在图7中四种状态中的中间两种,例如{1,0,0}和{1,1,0}。在该同相门例子中,XI依赖于T并且X3依赖于'0,。通过将S1、S2或S3中的任何一个运用到X2,合适的逻辑功能性就产生了。相反地,XOR和XNOR函数都无需将该输入状态限制到非线性函数f(x)506的一部分。为了产生XNOR,状态S1、S2、S3直接映射到X1、X2、X3。为了产生XOR,输入状态S1、S2、S3都在被映射到X1、X2、X3之前,反相和颠倒顺序。在XOR和XNOR的两种情况中,给配置块508的'0,和'1,输入都没有使用。配置块508的一个示例实现方式显示在如下标题为"阵列中变形多路复用器的实施例"的部分中。配置块508的输出作为输出570的XNOR665的输入。表6是图5和图6中显示的XNOR门例子的实施方式的真值表。表6ln()lniIn2■0U0f1()()1I0_iII0参看表6和图5、图6,该实施例中有状态S1、S2、S3的输入加法器604、606、608直接通过非线性函数f(x)665的输入Xl、X2、X3。在所有输入为零时,如下表所示,该输入状态在000产生一个输出。余下的状态情况如下,100产生零,110产生一,lll产生零。该动态可配置逻辑门的实施例中,表7显示了二输入和三输入逻辑门的丰富的集合。尺寸、功耗和配置复杂性都进一步降低。静态功耗被消除了。表7函数X3(船si0Majo勿0扁)3lS30N()R3Sl00S3(J0XM图SIS3Zerot00图7是根据本发明的、图5中由动态可配置逻辑门实现的逻辑的输出波形700。该非线性或混沌元件的电路实现方式图8是图3中显示的实施例,其中输入部分没有结合参考电压。特别地,图8中输入电路800接收两个输入VINA840和VINB842。为了完整地阐明跨越图8、图9和图10三幅图的整体电路,图8通过节点A、B和C电耦合到图9。对应地,图9通过节点D、E、F和G电耦合到图IO。图9和图IO是根据本发明的示意图,阐明了产生图1和图3中之一电路的非线性函数的非线性元件的示例电路的实现方式的一部分。基于输入中一的数量,该两个输入转化为三个电压电平的结合。图9是实现该非线輝或混沌函数f(x)的非线性电路900。这个例子中该非线性函数基于三个电流镜910、912和914,这三个电流镜的输出控制非线性方程f(x)的过渡点。这些电流镜910、912和914由阈值电压VT1920、VT2922和VT3924控制。节点B,特别地,三个电流镜910、912和914包括三个差分放大器,该三个差分放大器结合起来形成两个电流N2和N3。只要输入电压VI越过阈值参考(VT1,VT2,VT3),差分放大器中的一个跳变,导致N2和N3之间的电流差跳变,从而改变输出电压Vout950的状态。存储器锁存逻辑门实施例图11是根据本发明的电路1100的示意图,其阐明了由三输入D-Latch实现的存储器元件的一个实施例,其中D-Latch用于动态可配置逻辑门1104。动态可配置逻辑门1104接收输入1122和1124,产生输出1150。电路1100包含多路复用器1110来形成存储器锁存。多路复用器1110接收动态可配置逻辑门1102的输入1120,并且动态可配置逻辑门1102的输出1150被时钟输入1128选择性地多路复用。所不同的是,时钟控制输入1128用来在输入1120和反馈1150之间进行切换。此外,该反馈增强了在时钟锁存阶段的输入值。当时钟在透明阶段,外部输入控制该门使其完全可组合。当时钟切换到时钟锁存阶段,该门的输出被切换到输入,从而增强和保持外部输入值。在这一点上,外部输入可以改变但不影响该门的输出。其它的输入能够用来异步置位或复位信号。表8阐明了图11中不同的D-Latch。表819<table>tableseeoriginaldocumentpage20</column></row><table>该实施例中,"锁存类型"标签列显示了对应于三种^^入动态非线性元件的不同D-Latch的配置。"INI"输入总是给锁存"D"输入。另两种输入或是硬线连接,或是用于"Set"、"Reset"以及"Set/Reset"两者。输出列是动态非线性元件的输出。依靠其它输入的配置,动态非线性元件被编程为合适的门类型,产生在"元件类型"种描述的D-Latch。例如,对于有异步复位的D-Latch,若第二输入保持为零,该混沌门将设置为"MajorityVote"门。如果第二输入保持为一,该混沌门将被设置为"AND"门。这样允许了单元编程中有灵活性,为封装算法提供了优化。表9阐明了图11中有异步复位的不同D-Latch。表9('ikD公式f)()()()0()D&,福1()0D&t、;Reset<)1tXU()y&隐'wtXI表9显示了对应于有异步复位的D-Latch的真值表。当时钟是零,该锁存在透明阶段。该阶段中,它像普通的可组合门。假若忽略第三输入,该门被编程为"AND"门。当时钟是高电平,该复位是唯一影响输出的输入。如果该复位异步地为低电平,该输出复位为零。伴随复位的保持高电平,当时钟从J氐电平到高电平转变时,匹配输入(伴随适当的设置和保持)值的输出的值被锁存并且保持在时钟高电平周期。在透明阶段和锁存阶段,通过反相该时钟来切换该时钟值。这允许该锁存捕捉在下降沿的数据。这样在反相时钟阶段,通过将两个D-Latch背靠背放置,创建了一个D触发器。动态可配置逻辑门阵列综述^了提供更复杂'的逻辑,该动态可配置逻辑门连接在一起可形成更大的数字功能。;第一步是形成一个可组合逻辑元件combinatoriallogicelement(CLE)类似FPGA的情况。该CLE用来代表每个动态可配置逻辑门的高级参考。该CLE不同于FPGA架构,因为这种设计没有专用的触发器。取而代之的是,该实施例中四个动态可配置逻辑门组合成单一的CLE,使得在逻辑和触发器或锁存之间允许了巨大的配置灵活性。例如,这些相同门能够配置为两个触发器,一个触发器和两个3输入门,或者四个3输入门。其它可能性包括逻辑门和D-Latch的不同组合。相对于如果设计提高组合度或提高了触发器的比例则可能有更多不使用逻辑的FPGA,这样考虑了更好的灵活性。这实施例的一个设计为微处理器或微控制器使用了功能设计。无论底层芯片21的架构、产品都能方使i也利用该动态可配置逻辑门来构造可重配置产品。用于阵列的单个可选择的ChaoGate实施例图12是才艮据本发明的示意图,其阐明了关于用于更大阵列的动态可配置逻辑门的高级电3各架构的一个实施例。这个实施例中,有两个输入1220和1222的动态可配置逻辑门1202是动态可配置逻辑门阵列的一部分。这个实施例中,四个全局阁值1230、1232、1234和1236用来切换非线性函数1206经过多路复用器1210、1212和1214,/人而在对应于每个阈值电压的两种可鈕电压之间切换。通过每个输入与四个全局阈值1230、1232、1234、1236之一连接,个性化阈值电压的选择。这样允许为每个可能的函数组合构造个性化的门。这些门根据该函数构造,当选择位是零,f(0)1206,当选择位是一,f(l)。例如,一类门有"AND"f(0)和"XOR"f(l)。必要地,构造其它门。这样的例子包括f(0)="NAND",f(l)="NOR";f(0)="NOR",f(l)="NAND",f(0)="OR",f(l)-"OR"等等。构造这些门允许使用ASIC设计中已知的布局和布线技术。在这个例子中,尽管运用标准的ASIC布局和布线技术,其结果类似于使用均匀阵列并通过单个导通孔掩模对该阵列进行编程,以此在正确的全局阈值电压下,将每个模拟多路复用器的输入连接到动态可配置逻辑门1202。使用这种架构,动态可配置逻辑门1202变成适合于更大功能阵列的构件块。使用这种架构,通过改变单个位来改变底层逻辑,该阵列还能在两种功能之间转换或"变形",其中底层逻辑由每个动态可配置逻辑门1202实现。这两种功能的例子将在标题为"在多种功能之间切换的例子"的部分中进一步讨论。使用导通孔可编程架构的阵列的实施例VPGA(viaprogrammablegatearray,导通孔可编程阵门阵列)与FPGA相似,体现在组成该逻辑阵列的经常可编程门结构。然而因为布线通过导通孔连接而不是采用激活的门,这些逻辑块在一起可以封装得更紧凑。图13根据本发明,阐明了该一般阵列1300的横截面。单元上的水平和垂直的布线是标准的均匀的结构。'通过在一或两层添加导通孔来制作连接,可以实现个性化。除了使用将单个设计映射到阵列的标准VPGA设计的已知的优点,本发明将多个设计映射到一般阵列。一个实施例中,CLE被设计为能够在二至四种设计之间切换,其中该二至四种设计通过全局选择位来实现。图14根据本发明阐明了CLE使用选择位为阵列对函数进行变形的实施例。该CLE由前面描述和显示过的可重新配置CLE改变而来。有i若这样,才是到的多^各复用器不是^皮用来作为该电路的配置,而是用来在四个被编程的电路中进行选择。这些被昵称为"变形多路复用器,,("MorphingMultiplexer",MM)。如图14所示,每个MM有四个输入(in0、inl、in2和in3)和两个选择位。因此,给出了四种设i+,A、B、C和D,当设计A在该阵列中实现时,其所有的布线连接到MM的inO。同样地,设计B连接到MM的inl,设计C和D类似地相应连接到in2和in3。这种方式下,当这两个全局选择4立改变,电i各的整个功能改变。图14中的ii^每个元件的时钟布线是个特例。显然,全面的时钟方案对于在阵列中控制时钟偏移十分重要。这将有助于在阵列同步中方便地建立和保持问题。每个CLE中,每个动态可配置逻辑门可变成可组合元件,该组合元件是D-Latch还是半个触发器,依赖于时钟怎样连接。"CLK"和"notCLK"信号可给触发器提供两个阶段或者给D-Latch提供透明的阶段之一。通过连接到"Gnd",ChaoGate被配置为可组合的。这个实施例中,描述了有多个混沌门的可配置块。一个实施例中,使用ASIC技术的阵列在两个功能之间切换。这些是"硬线连接"或者预定功能。其它实施例构造提供更多功能选择的可配置块。更多的功能选择提供动态的和可编程的选择给当前的FPGA实现。通过即将多个元件分组到单个块,顶层布线问题变得更便于管理。该设计的目标是允许多个输入和输出,灵活的功能,触发器/锁存都可组合,以及最小化控制结构来筒化可重新配置。该实施例的各方面包括可配置布线,特别是顶层布线,其中不同的功能有不同的结构和数据流(例如,加法器VS乘法器)。这样在ASICI和FPGA之间提供了平衡,消除了ASIC布线中缺乏灵活性的特性。可配置布线的FPGA关于快速配置有太多位。该实施例中可配置块只在两种功能中切换,并且布线修改保持最小。然而,需要特别注意的是,两种类似的功能可以有完全不同的布线结构。例如,加法器和乘法器都是ALU元件,但是它们可在数据流如何从输入到输出上完全不同。当扩展需求为阵列配置任何功能时,顶层的布线也需要在其配置中具备灵活性。用于阵列的变形多i各复用器(MM)的实施例图15才艮据本发明,阐明了4对1多路复用器1500。如图,4对1多路复用器1500由3个2对1多路复用器1512、1514和1516构成。由第一交叉阴影模式1502(红色)指代的线条和由第二交叉阴影模式1504(绿色)指代的线条是两个金属层,它们是用于阵列的标准的掩模。长的垂直金属1506(绿色)代表全局布线。这个金属的不同轨道有来自其它门的不同的输出。水平的金属条1508(红色)通过导通孔布局,连接到全局布线。对于图15中描述的底部多路复用器1514,金属1508(红色)也旁路该多路复用器,并且导通孔直接连接下一个多路复用器层1530。顶层1532也采用了旁路整体多路复用器的结构。当多路复用器结构的输入是通用的,旁路性能提高了同步性和功耗的消散。该MM在动态可配置逻辑门中用来为每个设计选择门类型。MM将出现在图5和图6的"配置"云638中,相对应于之前描述的动态可配置逻辑门的第三实施例。它们将在之前描述过的导通孔中被编程。根据选择位,这样使得动态可配置逻辑门变成四,种不同的门类型。选择阵列结构实施例如图16,其显示了在部分阵列中能够独立控制选择的阵列1600。选择位在每个阵列中是全局的。然而,由多个独立阵列组成的ASIC连接到不同的选择位。这样为创建不同的架构提供了更大的灵活性。例如,处理器类型可从i/o或控制接口中选择,虽然在处理器的控制下,不同的外围设备可以在芯片的其它部分选择。.这个选择方案也能在有命令解码的处理器中使用,其中命令解码是处理器特有的,但是ALU部分由解码块选择(例如,乘法器和除法器指令等等)。这比起用于整个ASIC的一个全局选择,允许了更大的灵活性。24在多个功能之间切换的例子以下是使用动态可配置逻辑门的、经过修改提供不同功能的电路的非详尽的列表。另一个例子是循环冗余校验(CRC)计算,其在两个不同的CRC之间可以切换。n位的循环冗余校验电路和m位的循环冗余校验电路,其中n和m是不同的正整数,如CRCS4位输入到CRC8位输入。图17是根据本发明、使用动态可配置逻辑在两个不同的循环冗余校验功能之间进行切换的筒图。这个实施例中,该CRC是相同的多项式,但是CRC算法的输入在8位到16位之间变化。输入宽度因为CRC改变逻辑方程。使用同样的电路,这种应用是一个穿过CRC来双倍带宽的例子。该逻辑阵列这样设计的一个重要方面是在算法之间最小化布线的差别。另一个例子是用于处理不同的通信协议的第一解码器/编码器和第二解码器/编码器。其中第一解码器算法和第二解码器是不同的解码器,例如SPI接口到I2C接口。这个实施例中两个不同的通信协议要求复杂的状态才几信息和数据流。特别地,这个实施例中该电路能够重新配置为SPI(SerialPeripheralInterface)或I2C(interICcontrol)总线实现方式。图18是根据本发明的、在两个通信协议或有状态机信息的解码器之间进行切换的简图。另一个例子是第一算术算法和第二算术算法。第一算术算法和第二算术算法是不同的算术算法,例如,从加法器累加器到乘法器。图19是根据本发明的、有三个可切换功能的算术逻辑单元(ALU)的简图。这个实施例中,ALU包括三个可切换功能、两个算术功能(加法器、乘法器、除法器、桶式移位器或其它)以及暂存存储器的一个功能。第一FPCGA示范实现了小算术逻辑单元或ALU。该ALU能够在至少两个算术功能之间进行切换,并且完全不同尚功能,例如小先进先出或先进先出(FIFO),在用于緩冲和流控制的电子电路中广泛使用。这种试验对于显示未来可重新配置计算的可能性迈出了重要的一步s通过一个微控制器接口的控制,这三种功能结合到了单个逻辑阵列中。该微控制器接口能够切换功能,接着写数据到该接口,最后从该接口读回结果。非限制的例子以上描述的电路是集成电路芯片设计的一部分。该芯片设计在图形化计算机编程语言中创建,存储在计算机存储介质中(例如磁盘、磁带、物理硬盘,或如存储访问网络的虚拟硬盘)。如果设计者不制作芯片或者不制造用于制作芯片的光刻掩模,设计者通过物理装置(例如通过提供存储介质存储该设计的拷贝)或电子化(例如通过Internet)地,将最终设计直接或间接地发送到这些实体。该存储的设计转化成适当的格式(例如,GDSII)用于光刻掩模的制作,其中包括该芯片设计的多个拷贝。该芯片设计的问题在于形成在一个晶片上。该光刻掩模被用来定义蚀刻或其它处理过的晶片(和/或其上的层)的区域。以上描述的方法用于集成电路芯片的制作中。最终的集成电路芯片被制作者以原料晶片的形式(也就是说,作为单个晶片有多个未封装的芯片)、棵芯片、或以封装的形式分配。在后面的情况中,该芯片安装在单个芯片封装(例如有在母板上附导线的塑料载体或其它高级载体)中,或在多芯片封装(例如使用表面互联或埋入互联其中一种或两种的陶资载体)中。任何情况下,该芯片然后与其它芯片、离散电路元件、和/或其它信号处理设备集成,作为以下其中之一的一部分(a)中间产品,例如母板,或(b)最终产品。该最终产品可以是任何包括集成电路的产品,其范围从玩具和低档应用到有显示器、键盘、其它输入设备和中央处理器的高端计算机产品。尽管讨论了本发明的特定实现方式,但在不脱离本发明精神和范围的情况下,本领域技术人员能够对该特定实现方式进行修改。所以,本发明的范围不受特定实施方式的限制,随后的权利要求覆盖了在本发明范围内的任何这样的应用、修改和实现方式。权利要求1.一种动态可配置逻辑门,包括输入加法器,接收至少第一输入信号和至少第二输入信号,从而产生至少一个总输入信号;以及至少一个非线性元件,被配置用来将至少一个非线性函数用于该总输入信号,从而产生至少一个非线性输出信号;其中响应于调整该总输入信号和该非线性函数中的至少一个,该动态可配置逻辑门的输出信号对应于复数个不同逻辑门中的一个。2.如权利要求1所述的动态可配置逻辑门,其中调整该总输入信号将该总信号映射到不同的动态区域和该非线性元件不同的领域中的至少一个。3.如权利要求1所述的动态可配置逻辑门,其中调整该非线性函数包括修改该非线性函数本身。4.如权利要求1所述的动态可配置逻辑门,其中该非线性函数进一步包括至少一个输入,其接收控制信号从而调整该总输入信号和该非线性函数中的至少一个。5.如;f又利要求1所述的动态可配置逻辑门,其中该总1#入4言号和该非线性函数中的至少一个被调整从而产生该逻辑门的输出信号,该逻辑门的输出信号对应于以下任4可一个门AND门;NAND门;OR门;XOR门;NOR门;XNOR;NOT门;ONE门;以及ZERO门。6.如权利要求4所述的动态可配置逻辑门,其中该非线性输出是该输入加法器的反馈,并且其中该第一参考信号和该第二参考信号和该控制信号中的至少一个被调整从而产生相关于存储器锁存的该逻辑门的输出信号。7.如权利要求1所述的动态可配置逻辑门,其中该非线性输出是该输入加法器的反馈,以便产生相关于存储器锁存的输出信号。8.如权利要求7所述的动态可配置逻辑门,进一步包括至少一个多路复用器,其伴随着该非线性输出信号在该第一输入信号和该第二输入信号中至少选择一个,从而给该非线性元件产生输入信号,从而形成一个D-Latch。9.一种动态可配置逻辑门,包括输入加法器,接收至少第一参考信号和至少一个输入信号,从而产生至少一个总信号;以及至少一个非线性元件,被配置用来将至少一个非线性函数用于该总信号,从而产生至少一个非线性输出信号;以及其中响应于调整该第一参考信号和该非线性函数中的至少一个,该非线性输出信号对应于复数个不同逻辑门中的一个。10.如权利要求9所述的动态可配置逻辑门,进一步包括至少一个比较器,从至少第二参考信号和该非线性输出信号中产生逻辑门输出信号;其中响应于调整以下中的至少一个i)该第一参考信号;ii)该非线性函数;以及iii)该第二参考信号,该非线性逻辑门的输出信号对应于复数个不同逻辑门中的一个。11.如权利要求10所述的动态可配置逻辑门,其中所述的调整以下中的至少一个i)该第一参考信号;ii)该非线性函数;以及iii)该笫二参考信号,进一步包括至少一个控制函数,用于将该总信号映射到不同的动态区域和该非线性元件不同的领域中的至少一个。12.如权利要求10所述的动态可配置逻辑门,其中所述的调整该非线性函数包4奮修改该非线性函数本身。13.如权利要求9所述的动态可配置逻辑门,其中该总输入信号和该非线性函数中的至少一个被调整从而产生该非线性输出信号,该非线性输出信号对应于以下任何一个门AND门;NAND门;OR门;XOR门;NOR门;XNOR;NOT门;ONE门;以及ZERO门。14.'如权利要求9所述的动态可配置逻辑门,其中该非线性输出信号是该输入加法器的反馈,以便产生相关于存储器锁存的输出信号。15.如权利要求14所述的动态可配置逻辑门,进一步包括至少一个多路复用器,其伴随着该非线性输出信号在该第一输入信号和该第二输入信号中至少选择一个,从而给该非线性元件产生输入信号,由此形成一个D-Latch。16.—种动态可配置元件,包括至少两个,命入;控制信号;输出信号,给该输入中的至少一个作为反馈;以及至少一个动态可配置逻辑门,用于接收该输入,其中该逻辑门作为复数个不同逻辑门类型中的一种,以便根据至少该控制信号的选择,产生对应于存储器锁存的输出信号。17.如权利要求16所述的动态可配置元件,其中该逻辑门对应于复数个不同逻辑门进行运算。18.如权利要求16所述的动态可配置元件,其中该存储器锁存是置位-复位锁存。19.如权利要求16所述的动态可配置元件,其中该存储器锁存是D-Latch。20.—个动态可配置逻辑元件阵列,包括至少一个多路复用器,其在第一控制信号和第二控制信号中至少选择一个,从而由此产生至少第一阵列选择控制信号;第一动态可配置逻辑元件,其中根据至少该第一选择控制信号,该第一逻辑元件作为复数个不同逻辑元件类型中的一种;以及至少第二动态可配置逻辑元件,其中根据至少该第一选择控制信号,该第二逻辑元件作为复数个不同逻辑元件类型中的一种;其中响应于第一选择控制信号,通过动态可配置逻辑元件的改变,实现逻辑表达式和存储器锁存中的至少一个。21.如权利要求20所述的动态可配置逻辑元件阵列,其中该动态可配置元件中的至少两个可组合形成一个D触发器。22.如权利要求20所述的动态可配置逻辑元件阵列,其中该至少第二动态可配置逻辑元件包括至少一个输出以及至少第三动态可配置元件,该第三动态可配置元件有至少一个输入;第二多路复用器,其在该第一动态可配置元件的输出和第二动态可配置元件的输出中至少选择一个,从而创建可选择输入,该可选择输入馈入该第三动态可配置元件的输入。23.如^=又利要求20所述的动态可配置逻辑元件阵列,其中该动态可配置元件中的至少两个可组合形成一个置位-复位触发器。24.如权利要求20所述的动态可配置逻辑元件阵列,其中利用至少一个导通孔模式门阵列,该多路复用器、该第一动态可配置逻辑元件和该第二动态可配置逻辑元件被连接到至少一个布线。25.如权利要求20所述的动态可配置逻辑元件阵列,其中由该动态可配置逻辑阵列实现的该逻辑表达式实现了用于至少一对函数的逻辑,其中该函数划分为如下情况第一通信协议和第二通信协议,其中该第一通信协议和该第二通信协议是不同的协议标准;第一算术算法和第二算术算法,其中该第一算术算法和该第二算术算法是不同的算术算法;n位循环冗余校验电路和m位循环冗余校验电路,其中n和m是不同的正整数;第一解码器和第二解码器,其中该第一解码器算法和该第二解码器是不同的解码器;第一编码器和第二编码器,其中该第一编码器算法和该第二编码器是不同的编码器;存^f诸器阵列和处理器。全文摘要一种动态可配置逻辑门包括接收第一输入信号和第二输入信号从而产生总输入信号的输入加法器。此外,该动态可配置逻辑门包括将非线性函数用于总输入信号来产生非线性输出信号的非线性元件。响应于调整该总输入信号和/或该非线性函数,该动态可配置逻辑门的输出信号对应于复数个不同逻辑门中的一个。另一个实施例中,该动态可配置逻辑门包括对这些输入之一的反馈。该动态可配置逻辑门接收两个输入,并作为复数个不同逻辑门类型中的一种,以便根据控制信号的选择,产生对应于存储器锁存的输出信号。本发明还公开了一种动态可配置逻辑元件的阵列结构。文档编号G06F7/57GK101632065SQ200780047741公开日2010年1月20日申请日期2007年12月20日优先权日2006年12月22日发明者史蒂文·L·基尔,拉克·E·莱曼,迈克尔·J·施耐德温德,道格拉斯·N·柯瑞恩宁申请人:科欧罗基克斯有限公司