专利名称:具有低静态泄漏的可编程信号路由系统的利记博彩app
技术领域:
本发明公开通常涉及诸如在现场可编程门阵列(FPGA)或其他可编程逻辑器件 (PLD)中创建的可编程信号路由系统。本公开更具体地涉及用于减少与这样的可编程信号 路由系统相关的静态电流泄漏的结构和方法。
背景技术:
现场可编程门阵列(FPGA)器件的特征可以在于由单片、集成电路(IC)构成,该单 片、集成电路典型地具有四个主要特征,即可配置逻辑块(CLB)、可配置信号路由互连、可 配置输入/输出块(CIOB)和用于可编程地配置CLB、互连和CIOB的配置部件。FPGA可以被设计用在各种环境中。一种这样的环境要求至少当FPGA在备用模式 时最小化的功耗。迄今为止,还没有密切关注归因于FPGA和类似的可重新配置的逻辑器件 的可配置信号路由互连的DC功率泄漏(静态泄漏)。
发明内容
根据本发明公开提供一种结构和方法,用于减少在例如FPGA的可配置信号路由 互连中的静态备用电流泄漏。根据本发明一个方面,一种泄漏减少方法包括(a)构造FPGA的长线总线以具 有可三态(tristateable)的长线,并且构造长线总线以便每一个在给定的可重复片结构 (tile structure)中提供2n_l个可分接(tappable)线,其中η是大于1的整数;(b)构 造一类FPGA的长线访问多路复用器以具有2n-l个输入端和η个选择控制位,其中例如逻 辑0. . . 0选择排列(全零)不选择2η-1个输入端的任何一个(其可替换地可以是全1的 排列或另一单值的(unique)排列,在该情形中对下面进一步的步骤进行适当的改变);(c) 对于每条长线,提供多个可三态的长线驱动器以驱动该长线,并且在FPGA的加电或重置期 间,全局地(globally)迫使全部这样的长线驱动器进入高阻抗(Hi-Z)输出模式(全局输 出禁止);(dl)同样在FPGA加电/重置时,全局地重置通过长线驱动器的输入选择多路复 用器控制选择的全部配置存储位到“0”逻辑状态;(d2)可选地,在FPGA的加电/重置期 间,全局地重置通过长线访问(分接)多路复用器控制选择全部配置存储位到“0”逻辑状 态;(e)对配置存储位进行逻辑或(ORring)操作,所述配置存储位通过每个给定的长线驱 动器输入多路复用器来控制选择,并使用逻辑或输出来控制对应的长线驱动器的局部输出 使能(OE),从而通过各自的输入选择多路复用器控制选择的存储位的0. . . 0配置(或其他 预定义的单值排列)将禁止对应的长线驱动器输出;(Π)确定哪个长线将不得不运送活动 信号;(f2)选择性地将长线驱动器输入多路复用器的配置存储位的一个或多个设置到“1” 逻辑状态,所述配置存储位的一个或多个对应的长线驱动器将不得不将活动信号传送到被 确定为不得不运送活动信号的相应长线上;(f3)选择性地把将接收来自对应的可分接长 线的信号的长线访问多路复用器的配置存储位的一个或多个设置到“ 1”逻辑状态,所述配 置存储位的一个或多个的长线驱动器输入多路复用器通过将其配置存储位的一个或多个设置到“1”逻辑状态而已经被或将被选择性地激活;以及(g)在完成各个配置存储位的配置之后,释放全局地迫使全部可三态长线驱动器到Hi-Z状态(使全局禁止无效),并且从而 允许本地输出使能(OE)来确定哪个长线驱动器保持停止(stuck)在Hi-Z状态,并且其可 以将信号传送到它们各自的长线上,从所述长线中活动信号将被分接。从以下详细的描述,所公开的其他方面将变得显而易见。
下面详细描述的部分参考附图,其中图1是根据公开的FPGA系统的介绍性框图;图2A是示出图1的一个长线驱动器和相应的长线总线访问多路复用器之间的相 互作用的详情的示意图;图2B示出当图2A的长线驱动器正在输出高信号(“1”)并且长线总线访问多路 复用器的未被选择的输入端仍然活动地被驱动至低(“0”)和高(“1”)状态的一定排列 时,静态泄漏如何产生;图2C示出当图2A的长线驱动器正在输出低信号(“0”)并且长线总线访问多路 复用器的未被选择的输入端仍然主动地被驱动至高(“1”)和低(“0”)状态的一定排列 时,静态泄漏如何产生;图3是根据公开的泄漏减少方法的流程图;图4是可以与图3的方法结合使用的泄漏减少互连系统的示意图;图5是在图4的电路中可使用的SRAM存储单元的示意图;以及图6是在图4的电路中可使用的长线驱动器的示意图。
具体实施例方式图1是可以应用这里公开的发明的基于FPGA的系统100的方框图。在一个实施 例中,例如第三代移动电话的小型化的移动设备包括电路支撑衬底110,其从移动设备的电 池112接收电力,并且还包括低功率FPGA 115以及在FPGA 115的外部并可与其互操作的 其他电路114。为了引入一些基本概念,放大图115’示出了 FPGA 115的互连结构的部分。可以 理解FPGA 115还包括可配置逻辑块(CLB,s,未示出)和可配置输入输出块(CI0B,s,未 示出)以及可能的局部互连结构、存储块等(省去其组件以避免介绍性的图1中的示例性 混乱)。CLB、可配置互连和FPGA的其他基础部件通常以基本类似和重复的片结构(tile structure)重复,所述片结构分布为例如χ和y矩阵(未示出)。在可配置互连中,提供第一连续导体或“长线”(LL) 120,其在一个实施例中由连续 的金属导体构成。该第一 LL 120在图1中被显示为从第一端片(end-tile) 115a延伸到相 对的端片115e,其中长线120延伸经过诸如插入在其端片的第一 115a和第二 115e之间的 115b-115d的多个中间片。如本领域的技术人员所理解的,长线具有在可编程逻辑器件内的 相对较长的连续距离上运送信号的能力,因此它们的名字为长线。FPGA的可配置互连可以 具有其他类型的较短的线,用于在紧密相邻的片之间提供短距离互连性。为了避免在介绍 性的图1中的示例性的混乱,这些并未示出。
参见图1的第一端片115a内示例性的部件,长线120的相应的第一端由第一三态 长线驱动器121驱动,并且第一端也连接到第一长线总线访问多路复用器131的第一输入 端(被标明为大写字母“A”)。访问多路复用器131具有至少三个输入端(A,B,C),每一个 输入端连接到第一长线120所属于的长线总线(未示出)中相应的局部可分接(tappable) 长线。为了避免在该阶段的示例性混乱,总线的其他长线并未示出(参见图4的简略的总 线420)。第一总线访问多路复用器131还具有两个选择控制端,其耦合到各个配置SRAM单 元131a和131b (也被表示为单元1和2)。这些存储单元131a和131b的配置由配置位编 程电路150来控制,该配置位编程电路150在FPGA115的操作的加电或重置阶段期间配置 SRAM单元131a和131b。如本领域的技术人员将可以理解的,对于两个单元可以存在四种 可能性或排列00、01、10和11。多路复用器131的输出端延伸到第一端片115a中的其他 电路。该其他电路(未完全示出)可以包括其他长线(例如,类似于160),其在与LL 120 的纵向方向(例如,X)不同的方向(例如,Y)延伸和/或延伸经过不同于被LL 120跨越的 可配置片的可配置片。除了到Y方向的LL(与160相似)的Y驱动LL驱动器(与162相 似)输出之外,片115a中的其他电路(未示出)可以可替换地或另外地包括与局部片115a 对应的存储块部分或局部CLB或Ι0Β。在片115a内,还提供另一个多路复用器141 (即输入选择多路复用器),用于选择 将被施加到到长线驱动器121的输入端的输入信号。在示例性的实例中,输入多路复用器 141具有三个可选择的输入端(标明为小写字母a,b,c),并且通过编号为5和6的配置单 元控制这些输入端的选择。第一长线驱动器121具有输出使能端(OE),用于控制其输出的 状态为活动驱动模式或高阻抗(Hi-Z)模式。在LL 120的另一端处的相对端片115e被类似地构造为包括第二长线驱动器122、 第二长线总线访问多路复用器132(尤其访问LL 120)和第二驱动输入选择多路复用器 142。多路复用器132的选择位被标明为3和4,而多路复用器142的配置位被表示为7和 8。在一个可能的实施例中,可能已经使用了表示为9和10的其他配置位(未示出)来控 制驱动器121和122的OE端,尽管这样的其他配置位没有出现在该示例性的实施例中。需 要指出的是,可以存在与每个长线(例如120)相关联的大量配置位(例如,1,2,...,8和 可选的9-10),并且因为长线通常贯穿FPGA在具有许多相似长线的总线中重复地出现,在 FPGA 115中使用以管理长线操作的配置位的总数量可以是非常大的。这将在配置位编程电 路150上带来负担,当FPGA首次被加电或者被重置时,该配置位编程电路150必须在相对 较短的时间内正确地编程全部这些位。以下将看到如何用FPGA可配置位(例如,1,2,..., 8等)的单个全局重置来同时注意多个长线管理问题。在一个实施例中,长线驱动器121和122的每一个被构造为将相对较大的充电电流传送(source)到长线120上,并从长线120接收(sink)相对较大的放电电流,使得从而 补偿倾向于沿着LL 120出现的相对较大的电容性负载。例如,在一个实施例中,长线驱动 器121具有CMOS输出级,其包括每个具有4 μ m宽度的两个NMOS输出晶体管和具有7 μ m 宽度的PMOS输出晶体管。在相同实施例中的常规逻辑晶体管具有大约0. 5μπι的通道宽 度。因此LL驱动器晶体管宽大约一个数量级。在一个实施例中,中间片115b-115d的数量 是11,并且长线120被称为12跨距长线,因为其从第一端片115a(未计数的)到达12个附 加片115b-115e。换句话说,本实施例的LL 120延伸到或延伸通过总共13个片。可以使用比12跨距示例短(例如8跨距)或长(例如,16,20,24跨距等)的其他跨距。每一个中间片(例如115b)可以包括类似于131的其自身的长线总线访问多路复用器(例如133)。每一个中间片还包括类似于121的其自身的长线三态驱动器(例如, 123),除了该长线三态驱动器是线驱动中间驱动器,而不是线一端的驱动器。另外,每一个 中间片包括类似于片115a的输入选择器141的用于其对应的长线驱动器的输入选择多路 复用器(例如143)。此外,每个片可以包括与局部互连的多路复用器(未示出),这些额外 的、总体互连的多路复用器(或G-多路复用器)可以与图1中所示的长线总线访问多路复 用器(例如,131,133)不同地构造。各个输入选择多路复用器(例如141-143,... , 149)的配置、相应长线驱动器(例 如121-123,...,129)的OE端的配置、各个总线访问选择多路复用器(例如,131-133,..., 139)的配置可以遵循大量可能排列的任何一个。尽管在通常情况下,可能具有以下长线 (例如,120),即使得其长线驱动器(例如,121-123,· · ·,129)与对于FPGA 115的给定编程 永久保持在Hi-Z状态中相反,全部是(以互斥为基础)活动的,但更通常的情况是长线驱 动器121-123,...,129中仅单个长线驱动器在其相应的长线(120)上是活动的,并且全部 的其他驱动器对于给定配置的持续时间将保持在Hi-Z模式。而且,尽管理论上可以使得全 部的长线总线访问多路复用器131-133,...,139活动并且访问来自一个给定长线(例如 120)的信号,但更通常的情况是除了这些长线分接多路复用器131-133,. . .,139中一个或 两个之外的其他全部多路复用器是不活动的,并且不能用于从相应长线分接出信号。如果 未使用的总线访问多路器131-133,. . .,139动态地加载长线120(作为电容负载)或静态 地加载长线120 (作为将被简略解释的静态泄漏负载),这将是个问题。在FGPA115被加电或重置后不久,FPGA中的配置位编程电路150被自动地激活并 且其开始选择性地设置配置SRAM单元131a、131b等的每一个,其根据外部提供的配置数据 164需要被设置到逻辑“1”状态。在一个特定实施例中,在配置位编程电路150被激活以选 择性设置包括131a、131b、132a、132b等的全部SRAM单元的子集之前,所有这些配置SRAM 单元被自动地重置为逻辑“0”状态。配置数据164通常包括路由说明部分165,其关于驱 动器输入选择多路复用器141-143,...,149中的哪个(如果有的话)应当被配置为具有活 动输入端、以及如果是这样的话哪个输入端应当被使能,来指导配置位编程电路150。其也 关于总线访问多路复用器131-133,. . .,139中的哪个(如果有的话)应当被配置为具有活 动输入端、以及如果是这样的话哪个输入端应当被使能等,来指导配置位编程电路150。通 常,从图1可以看到,结构115’对于每个长线(例如,对于LL 120)可以具有大量可配置多 路复用器,并具有连接以驱动每个长线的大量可配置三态缓冲器,以及相应的大量配置位, 所述大量配置位需要被适当地设置或重置以定义由每个长线(例如120)和其相关联的互 连部件(例如141,121,131等)执行的信号路由功能。有关方框115’中所示的路由结构的设计和使用,大量考虑是值得更深入 (closer)研究的。更具体的,一个问题是当位编程电路150着手配置路由结构115’的多个 配置位时,是否可能最小化由配置位编程电路150消耗的电力和时间,并且如果是这样的 话如何能有效的进行?第二个问题是当FPGA 115处于低功率备用模式时,是否可能管理 位的配置,以使得静态电流泄漏(Itok)可以被最小化,并且倘若是这样的话如何能有效地 进行?当FPGA 115用在例如电路110的电池供电、小型化移动电路环境中(例如,便携式电话、个人数字助理、掌上计算机等)时,第二个问题尤为重要。图2A在第一放大区域231中示出了诸如131’的总线访问多路复用器的一个可能的实现。这里,多个双向传输栅极TGA-TGE以树形结构来组织,以选择性地将来自四个输入 端(即输入端A到输入端X)之一的信号路由到多路复用器的输出端202。在第二放大区域 232中示出了每个传输栅极(TG)的可能的内部结构。示例性传输栅极包括背对背的NMOS 和PMOS晶体管。该NMOS晶体管接收传输栅极选择信号(TG-Sel)并且PMOS晶体管接收相 同的传输栅极选择信号(TG-Ser)的逆信号(inverse)。在替换实施例中,总线访问多路复 用器131’可以使用传输晶体管代替TG晶体管。然而,在传输晶体管的情况下,需要使用增 强的栅极驱动电压来克服阈值降低问题。多路复用器131’在图2A中进一步示出为包括选择解码电路131e,其具有对应于 传输栅极TGA-TGE的TG-Sel和它们的逆(TG-SeD的多个传输栅极控制线,并且可以理解 延伸到各个传输栅极TGA-TGE。选择解码电路131e由选择输入位Sel-I和Sel_2驱动。后 面的两个选择位作为Q输出从各个SRAM单元131a’和131b’输出。在一个实施例中,SRAM 单元131a’和131b’也具有耦合到选择解码电路131e的Qbar输出。在一个实施例中,选 择解码电路131e简单的是多个导体,其取决于Sel-I线的状态使传输栅极TGA和TGC在同 一状态(导电低电阻或相对不导电高电阻),并且使TGB和TGX(假定TGX存在)在同一个 相反状态(例如,如果TGA和TGC在高电阻(Hi-R)状态,则为低电阻(Low-R)状态)。对于 同一个简单实施例,取决于Sel-2线的状态,解码电路131e使传输栅极的第二列TGD和TGE 处于彼此相反的状态(例如,如果Sel-2 = “0”,则TCD处于Low-R状态,而TGE处于Hi-R 状态)。通过将SRAM单元131a’和131b,的Q和Qbar输出路由到传输栅极TGA-TGE的合 适的TG-Sel和TG-Ser端,来简单提供这样的选择。在一个实施例中,随后的输入端根据 它们括号中表示的选择码=X(OO), C(Ol), B(IO)和A(Il)来选择。在替换实施例中,选择解码电路131e可以更复杂并且例如被构造为响应于Sel-I 和Sel-2位的01、10、11和00排列、使除了第一列传输栅极TGA、TGB、TGC、TGX之一以外的 全部处于基本不导电的高-电阻状态。如果TGX传输栅极留在电路外(其中响应于Sel-I 和Sel-2的00排列来选择TGX),则响应于00排列,全部第一列传输栅极TGA、TGB、TGC都 处于基本不导电的高阻状态。各种组合的逻辑设计可以用来实现这样的结果。在一个实施例中,根据从非易失性存储单元131c和131d载入的配置数据,分别配 置SRAM单元131a’和131b’。在一个实施例中,非易失性存储单元131c和131d与FGPA电 路的其他部分一样提供在相同的单片电路衬底(例如,硅)上。多路复用器输出端202耦 合到电容负载203(Cmad)。在一些实施例中,可能存在横跨电容负载203提供的寄生静态泄 漏电阻204。通常,负载的静态泄漏电阻204是可以忽略的。然而,既使负载泄漏电阻204 呈现至不可忽略的扩展,也存在可以引起更大问题的其他潜在寄生泄漏路径。为了示例说明潜在泄漏路径,这里假定选择解码电路131e已选择输入A作为使用 的输入端,该输入A将其相应的输入信号路由到输出端202。这意味着,对于电路131e的 简单解码实施例,TGA被驱动到Low-R状态(由白色向上箭头表示)并且TGD也被驱动到 Low-R状态,从而提供从输入A端到输出端202的低电阻路径。同时,TGB、TGX和TGE被驱 动到Hi-R状态(由黑色填充的向下箭头表示)。TGC被驱动到Low-R状态(由宽的(wide) 向上箭头表示)。TGA、TGB、TGC、TGX、TCD和TGE各自的激活通过有关的白色向上(ON)和黑色向下(OFF)箭头在206进一步示出。为了示例说明的目的进一步假设,由从三态驱动器121’输出的逻辑“1”驱动输入A。当产生逻辑“1”输出时,三态驱动器121’在内部提供从其+Vcc电源端到其输出端的低 电阻路径。因为,选择解码电路131e使传输栅极TGA和TGD在它们的导电或低电阻状态中 操作,一次(primary)充电电流201可以容易地从驱动器121’的Vcc端流出,经过其输出、 经过输入A端、经过相应传输栅极TGA和TCD并且然后经过输出端202,从而将负载电容203 充电到逻辑“1”状态。同时,因为沿着从多路复用器131’的剩余输入端(即输入B、输入C 和输入X)链接到多路复用器输出节点202的路径存在高电阻状态,因此按照惯例看到这些 输入端未被选择,并且忽略在这些端子提供的输入信号。在一个实施例中,多路复用器131’ 仅具有三个输入端A、B和C ;并且有意地省去传输栅极TGX(为了下面将变得显而易见的 原因)。在这种情况中,虚线框205的电路将被移除。参考图2B,现在将考虑在未被选择的输入端,输入B和输入C的每一个都接收逻辑 “0”并且由此提供接地的电流路径、同时输入端X接收逻辑“1”的情况下,关于静态泄漏将 发生什么。即,注意在图2B中,TGX和TGC的位置已经交换(为了简化泄漏路径212的示例 说明)。回想在驱动器121,的Vcc端和输出端202,之间已经形成低电阻导电路径201,, 其经过传输栅极TGA和TGD。同样回想未被选择的传输栅极TGB和TGE展现相对较高、但仍 然不是无穷大的阻抗。因为在TGB的右侧存在驱动的“1”和在其左侧存在接地的“0”,第一 寄生静态泄漏电流211可以从驱动器121”的+Vcc电源轨道流出,经过导通的(Low-R)传 输栅极TGA,然后经过未被选择的传输栅极TGB,到有效接地的输入B端。虽然该第一泄漏 电流211 (也就是Itokl)的量值可以是小的,但其流动的持续时间可以无限长,并且从而能 量损失量可以是相当大的。而且,在FPGA 115的许多其他长线总线访问多路复用器中将存 在大量这种I^kl电流的复制,并且将累加。另一静态泄漏电流212可以从电源轨道+Vcc端流出,经过导通的传输栅极TGA和 TGD,跟随经过高电阻传输栅极TGE的继续流动,并且然后输出到从地面观看导通的TGC。第 三静态泄漏电流213 (Itok3)可以从施加“1”到TGX输入端的驱动器的电源轨道+Vcc端(未 示出)流出,并且随后流入到TGC的接地输入C端。这些静态泄漏电流211、212和213是 DC电流,这些电流在各个输入B和C保持在“0”状态并且A和X保持在“ 1,,状态的所有时 间都可以流动。当然,如果输入端B、C和X更改为全都保持在“ 1”状态、同时输入A也保持 在“1”状态,那么泄漏电流211、212和213将不流动。而且,如果TGC更改为置于高电阻状 态,则泄漏的总量将减小。更好的考虑是,如果连接到输入B、输入C和输入X端的连接线 全部处于高阻抗(Hi-Z)状态,而不是接地或上升到“1”,那么静态泄漏电流211、212和213 将充分地减小。此外,从图2B的深入考虑可见,当选择的输入端A被驱动到逻辑高(“1”) 并且B和C输入端被同时驱动到低(“0”)以及X输入端被同时驱动到高(“1”)时,最 大量的静态泄漏电流可以流动。换句话说,如果至少当所选择的输入端A被驱动到逻辑高 (“1”)时其他输入端B、C和X同时保持在Hi-Z状态,则静态泄漏电流可以最小化。参考图2C,示出了其中输入A驱动器121”’是活动的并且降低其输出端到逻辑“0” 电平(本质上为地)的相反情况。然后这使得传输栅极TGA的选择的输入端A接地。传输 栅极TGA、TGC和TGD在此仍处于低电阻或导电状态,同时剩余的传输栅极TGB、TGX和TGE 处于取消选择(de-selected)或高电阻状态。如举例说明的,这种情况允许一次放电电流201 ”从负载电容CL。ad流出,经过输出端202”、经过TCD和TGA,到达驱动器121”的输出端, 并且从那里通过驱动器121”’内的内部低电阻路径到达驱动器121”’的地电源轨道。从而, 图2C的输出端202””获得并保持在“0”状态。如果同时将未被选择的输入端B和C活动地驱动到逻辑高(“1”)状态,则可以 产生向驱动器121”’的接地端前进的相应的泄漏电流。更具体地,第一静态泄漏电流214 被示出为从输入B流出,经过TGB (处于高电阻状态)、经过TGA (处于低电阻状态)、经过输 入A并最终流入到驱动器121”’的接地端。相似地,另一这样的静态泄漏电流215可以从 输入端C的驱动高(“1”)流出,经过TGC、TGE、T⑶、TGA,并最终流向驱动器12Γ”的接地 端。而且,第三泄漏电流I^k6可以从TGC的驱动高(“1”)输入,流到输入端X处的驱动 低(“0”)。如从图2B和2C可以意识到的,如果每个多路复用器的全部未被选择的输入端 (输入线)都被置于高阻抗(Hi-Z)模式,则静态泄漏电流可以被最小化。可替换地或另外, 如果传输栅极TGX从多路复用器结构中移除,则这将消除用于I^k3和I^k6的泄漏电流路 径。可替换地或另外,如果当选择输入A时,迫使传输栅极TGC进入高电阻状态,其将减小 泄漏电流Lak2和I-k5。从而大量追加和/或可替换的方法可以用来消除和/或减小静态 泄漏电流。从图2B和2C还可以意识到,当在图2B的情况中、在未被选择的输入端(B-X)处 呈现0和1的特定的第一排列(B = 0,X = 1,C = 0),以及在图2C的情况中、在未被选择 的输入端(B-X)处呈现0和1的特定的第二排列(B = 1,X = 0,C = 1)时,静态泄漏电流 可以被最小化。因此,为了减小或最小化静态泄漏,实践中应当避免泄漏最大化输入状态。 更好的,使用的多路复用器的未被使用的输入端在Hi-Z状态(如果可能)应当仅耦合到驱 动器,并且未被使用的多路复用器中的全部或大量传输栅极(TG)应当被切换到高电阻状 态(Hi-R),从而削减具有相对较小的电阻的可用泄漏路径的数量(例如,在地和Vcc之间的 路径中仅具有一个Hi-R传输栅极的那些)。现在将解释如何得到这些泄漏减少的情况中的 一个或多个。参考图3,通过流程图详细描述了用于减少静态泄漏电流的组合的架构和方法 300。在架构设计步骤305中,FGPA或类似可编程逻辑器件(PLD)的全部长线总线被构造为 在每个总线访问区域(例如,在每个重复的FPGA片区域)中由2n-l个可分接长线组成,其 中对于给定总线,η值为大于1的整数。η的数量不需要对于每种类型的长线总线都相同。 例如,与用于传统长线总线的传统的2的幂的线数量(如4、8、16等)相反,不同类型的长 线总线可以构造为分别在第一种类型的每个LL总线中包含3个可分接长线(每区域)、在 第二种类型的每个LL总线中包含7个这种长线、在第三种类型的每个LL总线中包含15个 这种长线等等。在一个实施例中,每个长线总线中的长线数量大于2η_1,并且线位置在从一个片 区域到下一个片区域的交叉上旋转,因此对于每个片区域,多个长线中的不同长线显现为 总线的可分接的2η-1个子集。换句话说,仅仅可分接的2η-1个子集可以由在该片内通过对 应的总线访问多路复用器选择性地被分接。这一概念有关在每个片内具有2η-1条线的可 分接子集,并且在从一个片跨越到下一个片时旋转可分接子集,该概念首先会是混乱的,并 且将偏离基本概念的理解。因此,目前最好认为每个长线总线仅由2η-1条长线组成。另外,在架构设计步骤305中,每个总线访问多路复用器被构造为在其上具有相似数量2n-l个可选择输入端,用于在各自的片中选择性地访问对应的通过长线总线的2n-l 个可分接长线之一。总线访问多路复用器进一步被构造为在其上具有η个选择定义端子, 用于指定其2η-1个输入端中的哪个将被用于分接来自对应总线的2η-1个可分接长线之一 的信号。总线访问多路复用器的全零选择组合(“0...0”)被解码为不选择任何输入端。在 一个实施例中,总线访问多路复用器的全零选择组合(“0...0”)被专门地解码(例如,通 过图2Α的电路131e)以在总线访问多路复用器的全部2n-l个输入端处导致高电阻(Hi-R) 的表示,从而减少可能的泄漏路径的传导性。在可替换或相同的实施例中,全零选择组合 (“0...0”)被专门地解码(例如,通过图2A的电路131e),以便如果不使总线访问多路复 用器内的全部传输栅极(或导通晶体管)进入Hi-R模式,则至少将连接到总线访问多路复 用器的相应输出端的输出传输栅极(或传输晶体管)置于Hi-R模式,从而减小可能的泄漏 路径的传导性。另外在架构设计步骤305中,将每一个选择用于输入到相应长线驱动器的输入信 号的输入选择多路复用器构造为对于0.. . 0选择控制组合不选择任何输入。此外,在架构设计步骤305中,至少通过用于驱动器的对应输入选择多路复用器 (例如,图4的441)的输入选择位的设置来控制每个长线驱动器(例如,图4的421)的局 部输出使能,从而如果长线驱动器的对应输入选择多路复用器的选择位为全零(“0. . . 0”), 则迫使该长线驱动器的输出端进入Hi-Z模式。需要注意,对应于第一长线驱动器的输入选 择多路复用器也可以是用于由其他长线驱动器所驱动的长线总线的总线访问多路复用器。 换句话说,同一个多路复用器可以既是输入选择多路复用器又是总线访问多路复用器。例 如,图4的多路复用器432是用于LL驱动器462 (其驱动LL460)的输入选择器,也是分接 进总线420在片415e中的可分接部分的访问选择器。在步骤310中,步骤305的在建筑上如此构造的FPGA或其他PLD (例如,PLD包括 一个或多个FPGA)被加电或重置。在响应中,其开始其自己的SRAM配置存储的单元的自动 编程。然而,首先在步骤312中,重新启动的PLD全局地(globally)迫使其其全部长线驱 动器进入高阻抗(Hi-Z)输出模式。然后,在步骤314中,PLD的全部SRAM配置存储单元被 全局地重置到“0”状态。作为这种全局重置的结果,迫使步骤305的全部总线访问多路复 用器和输入选择多路复用器(其中给定多路复用器可以是这两种类型)进入它们的无输出 被选择的状态(其也可以是对于全部输入端状态和/或高电阻输出状态的高电阻)。然而, 作为步骤314的结果,步骤305的全部长线驱动器被朝着它们的Hi-Z输出状态驱动,因为 它们的输入选择多路复用器当前具有施加到其上的全零(0. . . 0)选择控制组合。在步骤316中,全局地重置的SRAM配置存储单元中所选择的SRAM配置存储单元被翻转或设置到逻辑“1”状态。这根据由例如图1的165的配置数据所提供的路由配置数 据来完成。在一个实施例中,在步骤316期间,配置数据164/165被存储在芯片内非易失 性存储块并且被传输到在芯片上的SRAM配置存储单元。当步骤316完成时,因为其输入 选择多路复用器已经被初始化为0. . . 0状态(并且此后不被切换到不同选择状态)而将 不被使用的全部三态长线驱动器将保持在Hi-Z模式——即使是在全局输出禁止被去断言 (de-assert)之后。在步骤316完成时,仅有因为其输入选择多路复用器已经被有意地初始 到与0. . . 0状态不同的选择控制状态而将被活动地使用的三态长线驱动器将可以从Hi-Z 模式切换到可能的其他驱动模式(在下一个步骤322中去断言全局输出禁止之后)。
在随后的步骤322中,在根据提供的路由配置数据165完成各个SRAM配置单元的 选择性设置之后,释放全局地迫使三态驱动器进入Hi-Z输出模式。这允许各个输入选择多 路复用器的各个配置的SRAM配置单元接管控制对应的各个三态线驱动器的输出模式。在 一个实施例中,线驱动器也可以通过局部地提供给它们的可选动态输出使能信号来控制。 (简要参见图4的Dy0E485)参考结果状态324,全部未使用长线驱动器的输入选择多路复用器将继续保持在无输入被选择的状态,因为它们的对应配置SRAM单元仍然维持为全零(0. . . 0)。对于一类 实施例,这意味着至少全部输入传输栅极(例如,图2A的TGA、TGB和TGC——TGX通常不存 在)在高R状态和/或全部输出传输栅极(例如,图2A的TGD、TGE)在高R状态,并且从而 经过未被使用的多路复用器的静态泄漏路径的传导性减小或最小化。参考结果状态325,在去断言全局输出禁止之后,路由系统的全部未使用的长线驱 动器将保持在Hi-Z模式,这是因为它们的对应输入选择多路复用器仍处于全零(0. . . 0)的 配置状态。结果,到总线访问多路复用器的未被选择的输入端的长线链接通常将提供Hi-Z 状态并且从而避免提供图2B和2C所示的那种寄生静态泄漏路径。此外,如在结果状态326中所示,全部未使用的总线访问多路复用器将继续保持 在无输入选择状态,这是因为它们的对应配置SRAM单元仍维持为全零(0. . . 0)。对于一类 实施例,这意味着至少全部输入传输栅极(例如,图2A的TGA、TGB和TGC,TGX通常不存在) 在高R状态和/或全部输出传输栅极(例如,图2A的TCD、TGE)在高R状态,并且从而经过 这种未使用的多路复用器的静态泄漏路径的传导性减小或最小化。这减少了对应长线上的 动态和静态负载。参考图4,示出了 PLD路由结构400,其可以与图3的方法300结合使用。图4对 应于图1,并且其中在“400”世纪系列(century series)中的实际的类似的参考数字被用 来代替“100”世纪系列中的对应物,以表示类似元件。因而,对于图4不再提供类似元件的 详细的再次说明。图4中值得注意的是诸如461的逻辑或(OR)电路,其对于给定的LL驱动器将对应 的输入选择多路复用器(例如,442)的配置存储位(例如7和8)逻辑地或在一起,从而当对 于对应的输入选择多路复用器(442)呈现全零(0...0)选择排列时,迫使对应长线驱动器 (例如422)进入Hi-Z状态。另外,当没有断言(assert)全局输出使能时(换句话说,断言了 全局输出禁止)时,提供全局输出使能线463横跨系统400,用于迫使诸如421-423. . . 429 的全部长线驱动器进入Hi-Z模式。可选地,通过显示为与OR门461组合串联提供的诸如 484的AND(与)门,可以对于每个单独长线驱动器提供诸如DyOE信号485的动态输出使 能。AND门484也可以接收全局输出使能(GOE)信号463作为第三输入。如果不使用DyOE 信号,则迫使其(485)为高(“1”)。另外,图4示出在一个实施例中,每个长线总线420 (具有LL 420a和另外的长线 420b)在每个FPGA片区域中由2n-l个可分接长线组成,并且每个对应的总线访问多路复用 器(如,433)也具有连接的2n-l个输入端,用于选择性地分接对应的FPGA片区域的2n-l个 可分接长线中的一个。保留0...0输入组合用于不选择2n-l个输入可能中的任一个。(再 次,在替换实施例中,每个长线总线(例如420)可以具有大于2n-l个长线,其中这些长线 被旋转,从而在FPGA的连续片区域的每一个中可以分接不同的2n-l子集)。
诸如431a、431b等的全部配置SRAM单元由全局重置线470驱动,所述全局重置线 能够例如在被加电和FPGA重置期间,将全部这些存储单元同时重置为“0”状态。每个SRAM 单元是通过例如475处示出的χ和y线(行选择和位线列)的单独地址线可进一步单独寻 址的,其中475处示出的χ和y线可用于通过单独化的寻址来单独设置存储位。图5示出了可在图4的电路中使用的全局可重置SRAM单元500的一种设计。在被加电或重置时,全局重置线510被断言(驱动为高),由此导通N晶体管523并且从而 将N晶体管501和P晶体管502的栅极拉低。这依次驱动Q-bar输出506为高,导通N晶 体管511,并由此驱动单元的Q输出端505为低。在全局重置510变为高的同时,其互补的 (complement)全局重置条(bar)(连接到P晶体管512)变低,并且由此防止传送电流经过 P晶体管512并进入拉低的Q输出端505。当位线BL (525)驱动为高、BL_bar (520)驱动为低和行-选择(521)驱动为高时, 发生SRAM单元500到设置状态(Q=”l”)的翻转。高位线525(BL)使P晶体管503截 止,并由此防止其串连连接的下一个P晶体管502传送电流到Q-bar输出端508。驱动的 低BL-bar线(520)允许寻址晶体管522响应于行选择(Row Select) 521为高而将N晶体 管511和P晶体管512的栅极拉低,并且由此当SRAM单元500被选择用于位设置操作时, 驱动Q输出端505为高。在全局重置期间,行选择521和位线520 (BL)当然保持低,同时 BL-bar (525)保持高。对于SRAM单元500可以使用各种其他设计。这仅仅是举例。图6示出了可以在图4的电路中使用的全局使能的长线驱动器600的一种设计。 在被加电或重置器期间,全局OE线被去断言(驱动为低)由此迫使AND门620的输出为低。 这转而将N晶体管603切换为截止并且去耦输出端605以防止能够接收电流到地。AND门 620的“0”输出状态也迫使从NAND门610输出“1”。这转而将P晶体管602切换为截止并 且去耦输出端605以防止能够从Vcc电源轨道(在一个实施例中为1. 2V)传送出电流。因 此,当全局OE线被去断言(驱动为低)时,输出端605处于高阻抗状态(Hi-Z模式)。在其 中另一个三态驱动器(未示出)驱动输出端605到1.2V(在一个实施例中为逻辑高)的情 况中,经过N晶体管601和603的电流泄漏最小化,这是因为截止的晶体管603迫使N晶体 管601的源极处于相对较高的电压(例如,0. 6V之上),并且其从而防止N晶体管601超过 导通阈值,即使N晶体管601的栅极为大约1. 2V。换句话说,晶体管603工作为N晶体管 601的相对较大的源极跟随器电阻,并且从而抵抗流经N晶体管601的电流的增大。相反,如果全部输入(例如,全局0E、局部OE和可选动态0E)被驱动为高,那么AND 门620输出逻辑“ 1”(高)。这导通N晶体管603,并且在N晶体管601也导通(因为Data IN为低并且因此NAND门610输出逻辑“1”以导通N晶体管601)的情况下创建到地的电流 接收(sinking)路径。在该情况中,Data IN端变为升高,NAND门610输出逻辑“0”,并且 这首先截止N晶体管601 (由于穿过603的正向压降)随后使P晶体管602导通,从而驱动 输出端605为高。可以对于LL驱动器600使用各种其他设计。这仅仅是举例。返回参见图4,尽管总线访问多路复用器(例如433. . . 439)的每一个仅具有2n_l 个输入端,用于从相应FPGA片区域中的2n-l个可分接长线中选择,但是在一个实施例中, 在每个片区域中还提供额外的(多个)通用G多路复用器,其中所述G多路复用器(未示 出)具有用于它们各自的m个选择位(m = 2,3,4等)的对应的2m个输入端,并且当额外 的相应的输出使能配置位为低时,G多路复用器通过针对其输入和输出切换到高R状态来响应所述输出使能配置位。从而通过在加电或设备重置的开始时对于全部配置位的全局重置,G多路复用器(未示出)也自动地进入低功率模式。然而,G多路复用器的每一个具有 输入端,其除了局部分接长线之外还耦合到源节点。在一个实施例中,每个G多路复用器具 有16个输入端、用于输入选择的4个配置位、加上用于保存功率的额外的输出使能位。每 个G多路复用器的16个输入端中的某些输入端连接到相邻片区域中的非长线节点。本公开将被理解为说明性的而不是理解为对下面要求的主题的范围、类型或精神 的限制。在研究本公开后,各种修改和变化对于本领域的技术人员来说将变得显而易见,包 括对于这里所描述的元件使用等同功能和/或结构的替换、对于这里描述的耦合使用等同 功能的耦合、和/或对于这里描述的步骤使用等同功能的步骤。这种非实质的变化将认为 在这里所构思的范围内。而且,如果对于特定部件、或步骤给出多个示例,以及在这种给出 的示例之间和/或之上的推断由本公开看来是显而易见的,那么本发明将被认为是有效地 公开并且因此覆盖至少这样的推断。作为示例,可以理解,诸如根据本公开的图4的415的PLD器件的配置可以包括 在编程控制电路450中使用固件,其中后者的电路450执行图3中所示的方法300的一部 分或大部分。可以使用多种方案来组织位线和行选择,以便尝试和最小化用于设置全部配 置位的平均时间,所述配置位需要在全局重置之后进行设置。因此,可以使用计算机(未示 出)来组织编程控制电路450的固件操作。可以使用例如磁盘的计算机可读介质来将配置 数据加载到FGPA的非易失性存储部分,用于随后在全局重置之后和在每次加电期间传输 到SRAM存储单元。除了重新设置未使用的长线驱动器的输入选择器之外,静态功率拉升的 减小可以需要设置其他特定模式。鉴于此,应当理解下面的方式在本公开的范围内,即设计 编程控制电路450以便加速用于设置各个配置位的时间,从而实现所希望的FPGA的功能, 同时仍最小化静态电流泄漏,以及相应地设计提供配置位的计算机可读介质。
_0]客页夕卜专禾Il权禾_{呆@、抵触_军决、禾口彩吾_军释在本公开合法公开之后,本专利申请的拥有者不反对其它人再现此处包括的文本 和图形材料,假设这种再现是为了理解本发明公开以及从而促进有用的技术和科学的有限 目的。然而,拥有者不放弃可能与公开的材料法律上相关的任何其他权利,包括但是不限 于在任何计算机程序清单或原图或这里提供的其他作品中的版权,与这里提供的原图或 新创术语相关的商标或商业外观权利,以及这里包括的其他另外可保护的主题或另外可从 此处推出的。如果在这里通过引用并入任何公开并且这种并入的公开与本公开部分或全部抵 触,那么对于抵触的范围和/或更宽的公开和/或术语更宽的定义,由本公开控制。如果这 种并入的公开与另外一个部分或全部相抵触,则对于抵触的范围,由在后日期的公开所控 制。除非这里另外清楚地进行了规定,否则普通术语在它们的表示的各个上下文中具 有它们对应的通常含义,并且普通技术术语在相关技术领域内和在这里它们的表示的各个 上下文中具有它们对应的通常含义。上面关于相关技术的描述不是许可,本公开最紧密相 关的谋求领域内的普通技术人员理解它们之间的可能关联或技术。给出总体概念和特定实施例的上述公开,要求保护的范围将由所附的权利要求来 定义。公开的权利要求不应考虑为将申请人的权利限制为公开的权利要求,而是还未通过包括那些遵循35U. S. C § 120和/或35U. S. C § 251提交的一个或多个进一步的申请字面地要求权利的主题。
权利要求
一种具有可配置互连结构的可编程逻辑器件(PLD),该可配置互联结构包括长线总线,每个长线总线具有多个长线,每个长线延伸经过多个基本重复的片结构,其中该可配置互连结构的特征在于(a)被连接以驱动每个长线的多个三态驱动器;(b)每个长线驱动三态驱动器具有耦合到驱动器的输入端的对应输入信号选择多路复用器;(c)每个输入信号选择多路复用器具有2n-1个可用输入端和n个选择定义端,所述选择定义端用于定义如果存在的话,2n-1个可用输入端中的哪个将被用来将信号路由到对应的三态驱动器,其中n是大于1的整数,并且其中所有选择定义端处于相同逻辑状态的情况使得输入信号选择多路复用器不选择其可用输入端中的任何一个;以及(d)输入信号选择多路复用器的所有选择定义端处于相同逻辑状态的情况防止对应的长线驱动三态驱动器处于不同于高阻抗(Hi-Z)输出状态的信号输出状态。
2.如权利要求1的PLD,其中所述可配置互连结构的特征还在于所述相同逻辑状态为逻辑零;以及PLD的配置存储单元可全局地重置到逻辑零状态。
3.如权利要求1的PLD,其中所述可配置互连结构的特征还在于PLD的三态驱动器可全局地强制到Hi-Z输出状态。
4.如权利要求1的PLD,其中所述可配置互连结构的特征还在于每个输入信号选择多路复用器的2n-l个可用输入端分别连接到具有至少2n-l个长线 的长线总线的2n-l个可局部分接的长线。
5.如权利要求4的PLD,其中所述长线总线由2n-l个长线组成。
6.如权利要求4的PLD,其中所述长线的每个为12跨距或更长的长线,其从PLD的第 一端片跨越到对应的12个或更多的片结构。
7.如权利要求1的PLD,其中所述PLD包括现场可编程门阵列(FPGA)。
8.如权利要求1的PLD,其中所述可配置互连结构的特征还在于所述多个长线的每个属于对应的长线总线,该对应长线总线具有延伸经过PLD的至少 2n’ -1个这样的长线,其中η’是大于1的整数;以及每个给定长线总线具有操作地耦合至其的多个总线访问多路复用器,用于选择性地访 问来自给定长线总线的对应2η’ -1个可局部分接的长线的信号,其中给定长线总线的每个 总线访问多路复用器具有2η’ -1个可选择输入端和η’个选择定义端,所述选择定义端用于 定义如果存在的话,2η’-1个可用输入端中的哪个将被用来访问来自给定总线的对应长线 的信号,并且其中全部选择定义端处于相同的预定逻辑状态的情况使对应的总线访问多路 复用器不选择其可用的2η’ -1个输入端中的任何一个。
9.如权利要求8的PLD,其中全部选择定义端处于相同的预定逻辑状态的情况使对应 总线访问多路复用器在其2η’ -1个可用输入端的每一个处呈现相对较高的电阻(Hi-R)。
10.如权利要求8的PLD,其中当在那些不是总线访问多路复用器的输入信号选择多路 复用器的所有选择定义端呈现相同的预定逻辑状态时,所述那些不是总线访问多路复用器 的输入信号选择多路复用器在它们的2η-1个可用输入端的每一个处也呈现相对较高的电 阻(Hi-R)。
11.如权利要求8的PLD,其中在由给定长线总线跨越的每个片中存在至少一个总线访 问多路复用器。
12.—种将具有可配置互连的可编程逻辑器件(PLD)的长线三态驱动器自动设置到高 阻抗(Hi-Z)输出状态的方法,该方法包括(a)为每个长线三态驱动器提供输出被耦合到驱动器的输入端的对应输入信号选择多 路复用器,其中对应输入信号选择多路复用器具有2n-l个可用输入端和η个选择定义端, 所述选择定义端用于定义如果存在的话,2η-1个可用输入端的哪个将被用来将相应的信 号耦合到对应的三态驱动器,其中η是大于1的整数;以及(b)使得全部选择定义端处于相同的预定逻辑状态的情况将对应的长线三态驱动器置 于高阻抗(Hi-Z)输出状态。
13.如权利要求12的方法,进一步包括当发生全部选择定义端处于相同的预定逻辑状态的所述情况时,使每个驱动器的输入 信号选择多路复用器不选择其可用输入端的任何一个。
14.如权利要求12的方法,进一步包括通过将PLD的全部配置存储单元全局地切换到所述相同的预定逻辑状态,使得发生全 部选择定义端处于相同的逻辑状态的所述情况。
15.如权利要求12的方法,进一步包括在所有配置存储单元所述全局地切换到所述相同的预定逻辑状态之后,选择性地将预 先确定的配置存储单元切换到相反状态。
16.如权利要求14的方法,进一步包括在全部配置存储单元所述全局切换到所述相同的预定逻辑状态期间或之前,同样全局 地迫使全部长线三态驱动器进入Hi-Z输出状态;以及在发生预先确定的配置存储单元的所述选择性切换之后,释放全局地迫使全部长线三 态驱动器进入Hi-Z输出状态。
17.一种将由电池供电的电路,其中该电路包括可编程逻辑器件(PLD),并且该PLD包括包括长线总线的可配置互联结构,每个长线总线具有多个长线,每个长线延伸经过所 述PLD中的多个基本重复的片结构,其中该可配置互连结构包括(a)针对每个长线的多个三态驱动器,该多个三态驱动器的每个被连接以驱动它们各 自的长线;(b)针对每个对应的长线驱动三态驱动器提供的输入信号选择多路复用器;(c)其中每个输入信号选择多路复用器具有2n-l个可用输入端和η个选择定义端,所 述选择定义端用于定义如果存在的话,2η-1个可用输入端中的哪个将被用来将信号路由 到对应的三态驱动器,其中η是大于1的整数,并且其中所有选择定义端处于相同的预定逻 辑状态的情况使得输入信号选择多路复用器不选择其可用输入端中的任何一个;以及(d)其中输入信号选择多路复用器的所有选择定义端处于相同的预定逻辑状态的情况 防止对应的长线驱动三态驱动器处于不同于高阻抗(Hi-Z)输出状态的信号输出状态。
全文摘要
通过自动地迫使尽可能多的总线进入高阻抗状态,其中线的所有驱动器处于高阻抗输出状态,最小化经过总线访问多路复用器的输入端的寄生静态泄漏电流。从而切断经过总线访问多路复用器的寄生电流接收或电流传送泄漏路径。本方法在期望在静态时具有低静态电流泄漏的低功率FPGA中特别有用。
文档编号H03K19/177GK101826866SQ200910258449
公开日2010年9月8日 申请日期2009年9月27日 优先权日2008年9月26日
发明者安德鲁·K·L·钱 申请人:硅蓝技术公司