一种具有交叉链接的可编程互连网络的集成电路的制作方法

文档序号:7513674阅读:258来源:国知局
专利名称:一种具有交叉链接的可编程互连网络的集成电路的制作方法
技术领域
本发明涉及一种集成电路,尤其涉及一种具有可编程的逻辑块及互 连网络的集成电路。发明背景有许多应用要求集成电路具有可编程或可配置的互连网络。 一个这样的应用是现场可编程逻辑门阵列(Field programmable gate array,简称 FPGA),其中,逻辑门通过可配置的互连网络而彼此连接。作为独立芯 片或系统中核心部分起作用的FPGA已经广泛被应用于大量微电子设备 中。广义的FPGA的逻辑门的定义,不单指简单的与非门,也指具有可 配置功能的组合逻辑与时序逻辑的逻辑单元(logic cell)或由多个逻辑单 元互连而组成的逻辑块(logic block)。采用树型分层互连体系结构(tree-based hierarchical interconnect architecture),其中,所有逻辑单元都处于树的最底层,而逻辑单元之间 的互连则通过位于树型拓朴结构上其他节点的分层开关盒(hierarchical switch box或HSB)。所述分层互连体系结构给互连网络带来了高效率和 可扩展性。然而,就所述树状结构中的两个HSB而言,物理距离(physical distance)和逻辑距离(logical distance)是两个不同的概念并且有时可能完 全不一致。这里,"逻辑距离,,在这里是一个定义在树型结构上下文中 的术语,逻辑距离是指当在树型结构中从一个HSB上行和/或下行而到达 另一个HSB时需要穿越的开关盒数或边(edge)数。例如,某些HSB在 物理版图设计上彼此接近却需要跨越多个HSB才能彼此接触。这类树型 结构可能导致时序延迟,尤其是对于物理上邻近的那些HSB而言。此外, 所述树型结构的互连网络也可能对逻辑布局比较每文感。逻辑布局的变化 会造成逻辑之间绕线的变化,从而可能不利地影响整个逻辑的时序。发明内容因此,本发明的目的是提供一种采用新的可编程互连网络的集成电 路,该互连网络可以净皮编程以便在实现功能时具有面积、时序优化和/ 或布局友好的效果。本发明的第一方面提供了一种集成电路,其包括可编程互连网络和 通过可编程互连网络连接的逻辑块阵列,其中所述可编程互连网络包括 按树型分层体系结构连接并且为逻辑块提供选择和连接的多个开关盒,位于树状结构最低层的开关盒被连接到所述逻辑块;其中,所述网络包 括建立在所述多个开关盒中的两个开关盒之间的交叉链接(crosslink)。在第二方面中,本发明提供了一种集成电路,其包括可编程互连网 络和由可编程互连网络连接的逻辑块阵列,所述集成电路还包括功能 块,所述可编程互连网络包括按树型分层体系结构连接并且为所述逻辑 块提供选择和连接的多个开关盒,位于树状结构最低层的开关盒被连接 到所述逻辑块;其中,所述电路包括所述多个开关盒中的一个和所述功 能块之间的交叉链接。前文提到的逻辑块可以是一个逻辑单元,也可以是由多个逻辑单元 组成的逻辑块。本发明的上述及其他目的、特征和优点将通过参考


的下述 详细说明变得明显,其中,同样的附图标记表示相同的或类似的元件。 因为所有逻辑块都只一对一地连接到树的最底层的HSB1,为了便于说 明本发明的重点,图中没示出该等逻辑块。

图1示意了现有技术中用于FP逻辑的树型分层体系结构互连网络的 逻辑图;图2示意了图l的互连网络实现在芯片上的物理版图设计示意图; 图3示意了根据本发明实施例在树型分层体系结构中建立的交叉链接;图4是示意在相同层的两个HSB之间做出的交叉链接的逻辑图;图5是图4的互连网络的版图设计示意图;图6是示意在属于相同子树但不同层的HSB之间做出的交叉链接的 逻辑图;图7是图6的互连网络的版图设计示意图;图8是示意在属于不同子树且不同层的HSB之间建立的交叉链接的 逻辑图;图9是图8的互连网络的版图设计示意图;图IO示意了互连网络所采用的HSB的内部结构图(block diagram); 图11 (a)和(b)示意了布局位置改变对逻辑之间连线的影响; 图12(a)和(b)示意了 一种增强的交叉链接的模版(stencil); 图13是一个逻辑图,其示意了树型分层互连网络与外部功能模块之 间的一种互连结构;图14是图13的互连网络的版图设计示意图;图15示意根据本发明一个实施例在树型分层互连网络与外部功能 模块之间使用交叉链接的互连结构的逻辑图;图16是图15互连网络的版图设计示意图;以及图17示意了根据本发明另 一 个实施例的混合集成电路。
具体实施方式
图1示意了用于FP逻辑的树型分层体系结构互连网络的逻辑图。如 图l所示,四级分层开关盒(下称HSB)形成了一个四叉树,其中树根位于 顶部。所述HSB被配置用于实现到FP逻辑单元阵列(图中未示出)的可 编程布线通路。具体地说,底层1中分别标记为0、 1、 2和3的每四个邻 近的HSB(称作HSB1)都被连接到第二层中的一个HSB(HSB2)。第二层中 分别用0、 1、 2和3标记的每四个相邻的HSB都被连接到第三层中的一个 HSB(HSB3)。第三层中分别用编号O、 1、 2和3标记的所有四个HSB都被 连接到HSB4。为了更好地说明,较低层中的HSB被称为子HSB,而与所 述子HSB直接连接的HSB被称为父HSB。图2是图1的互连网络的版图设计示意图。请注意,图2中的HSB用附 加编号加以标记以《更互相区别。第四层中只有一个HSB,因此对于这个HSB4没有采用进一步标记。在第三层中,HSB被称为HSB3-N,其中, N是图1所示的该HSB的标记号码。在第二层中,HSB被称为HSB2-MN, 其中,M表示图1所示该HSB的父HSB的标记号码,N表示图l所示的该 HSB的标记号码。在第一层中,HSB被称为HSB1-PMN,其中,P表示图 1所示的该HSB的祖父HSB的标号,M表示图1所示的该HSB的父HSB的 标号,N表示图1所示的该HSB的标号。例如,第三层中的四个HSB分别被标记为HSB3-0、HSB3-l、HSB3-2、 HSB3-3。第二层中与HSB3-2直接连接的四个HSB分别被标记为 HSB2-20、 HSB2-21、 HSB2-22、 HSB2-23。第 一层中与HSB2-20直接连 接的四个HSB被标记为HSBl-200、 HSB1-201、 HSBl-202、 HSBl-203。从图1和图2可以注意到, 一些HSB逻辑上互相远离但是物理上彼此 邻近。如前文所述,逻辑距离等于从一个HSB沿树向上/下到达另一HSB 所需穿越或跳跃的节点数或边数。逻辑距离可以采用跳跃次数(hop count)来度量。沿着树从一个HSB到达下一HSB意味着一次跳跃。逻辑 远离意味着跳跃次数例如为4或更多的距离。本发明在HSB之间提供了交叉链接,以缩短那些逻辑远离但是物理 接近的HSB之间的距离。交叉链接是指非树型结构的快速互连结构。图3示意了根据该本发明实施例在树型分层体系结构中建立的交叉 链接。如图3所示,HSB1-211是第一层中具有标号1的HSB,并且具有第 二层中标号为1的父HSB以及第三层中标号为2的祖父HSB。 HSBl-300是 第一层中具有标号O的HSB,并且具有在第二层中标号为O的父HSB和在 第三层中标号为3的祖父HSB。如图3所示,HSBl-211与HSBl-300物理 上接近。用于将HSB 1-211连接到HSB1 -300的树型路径包括HSB2-21 、 HSB3-2、 HSB4、 HSB3-3和HSB2-30。为了进行此互连,必须包括五个 其它的HSB,并且HSBl-211需要做出6次跳跃以达到HSBl-300,即跳跃 次数为6。跳跃次数为6意指HSBl-211和HSBl-300逻辑上很远。根据本发明,可以在HSB 1-211和HSB 1 -300之间4故出以虚线示出的 交叉链接。借助于这个交叉链接,它们之间的连接不涉及其他HSB,这 意味着跳跃次数等于l,比树型结构的互连要少得多。借助于这个交叉链接,任何HSB都可以直接连4妄到在该互连网络内 与之物理邻近的另一个HSB。这样的连接涉及较少的HSB,因此实现更 快的响应。图4是示意在相同层的两个HSB之间做出的交叉链接的逻辑图。如图 4所示,第一层中的跳跃次数为4的两个HSB, HSB1-013和HSB1-031被 交叉链接起来。该交叉链接以虛线示出。HSB1-013具有自己的标号3、 父标号1和祖父标号0。 HSB1-031具有自己的标号l、父标号3和祖父标号 0。与该交叉链接相反,传统的树型路径涉及另外三个HSB,包括 HSB2-01、 HSB3-0和HSB2-03,即意味着要做出更多跳跃以及较长的响 应时间。还请注意,在同一附图中,第二层中的另外两个HSB, HSB2-21和 HSB2-30交叉链接,因此跳跃次数为4的树型路径被替换为跳跃次数为1 的新捷径,因此在建立互连时不涉及除它们自己之外的其他HSB。树型路径以加^L的方式示出。图5是图4的互连网络的版图设计示意图。从图5中可以注意到, HSB1-031和HSB1-013物理上接近,HSB2-21和HSB2-30物理上接近。因 此,通过交叉链接,物理上接近但是逻辑上远离的两个HSB被直接互连 起来。请注意,树型路径以及该路径中的HSB以加粗的方式示出。 应当理解,尽管图5中示出HSB1-031和HSB1-013物理上接近,但是 这不是必然的。有可能变成它们物理上远离,而另外两个HSB,例如 HSB1-032和HSB1-010物理上接近。哪些HSB物理上接近将取决于真实 的布局,图5中的布局只是示意性的。重要的是,树状结构中物理上接 近但是逻辑上远离的那些HSB可以通过交叉链接直接互连。图6是示意在属于相同子树但不同层的HSB之间做出的交叉链接的 逻辑图,其中所述两个HSB之一是另一HSB所属子树的根或祖先。如图6 所示,HSB3-0与HSBl-032交叉链接。HSB2-03,作为树型路径中的一个 关键且不可缺少的HSB,没有包括在该交叉链接中。另外,另两个HSB, HSB4和HSB2-30交叉链接而不涉及HSB3-3 。树型路径以加粗的方式示出。图7是图6的互连网络的版图设计示意图。从图7中可以注意到, HSB3-0和HSBl-032物理上接近,HSB4和HSB2-30物理上接近。通过交 叉链接,它们直4妄互连在一起。同样,树型路径和该路径中的HSB以加 粗的方式示出。图8是示意在属于不同子树且不同层的HSB之间建立的交叉链接的 逻辑图,其中一个HSB不是另一HSB的祖先。如图8所示,HSB3-1与 HSB2-30交叉链接,无需涉及树型路径中的HSB4和HSB3-3。另外两个 HSB, HSB1-033和HSB2-12交叉链接,并且不涉及其他HSB(树型路径的 HSB2-03、 HSB3-0、 HSB4、 HSB3-1)。图9是图8的互连网络的版图设计示意图。从图9中可以注意到, HSB1-033和HSB2-12物理上接近,但是HSB3-l和HSB2-30物理上不接 近。HSB3-l而是如图所示与HSB2-30有所距离。这意味着可以在逻辑上 远离并且物理上远离的两个HSB之间建立交叉链接以改善时序关系。在图8和图9中,树型路径以及该路径中的HSB以加粗方式示出。图IO示意了互连网络所采用的HSB的内部结构图。该HSB被标记为 HSBk,其中,k表示HSB的分层层数。不同层的HSB拥有相似的结构, 区别在于接口 ( umi, umo, dmi, dmo, xmi, xmo )的宽度。因此HSBk可以 表示之前附图中的任何HSB,甚至可以表示更高层中的HSB。在图10中,HSBk包括通过多路选择器(MUX)实现的多个开关单元, 即上游多路选择器开关UMSk,下游多路选择器开关DMSk-O,...,和 DMSk-(N-l),以及外部多路选择器开关XMS。该HSBk具有多个输入输出,即下游多路选择器输入dmi、上游多 路选择器输入umi、上游多路选择器输出umo和下游多路选择器输出 dmo,以及外部多路选择器输入xmi和外部多路选择器输出xmo。输入dmi可以在k=l时连接到与该HSBk相连的逻辑单元的输出, 或者在k是1以外的整数时连接到与该HSBk相连的k-l层任何HSB的 输出umo。输出dmo可以在k-l时连接到与该HSBk相连的逻辑单元的 输入,或者在k不等于1时连接到与该HSBk相连的k-l层的任何HSB 的输入umi。输入umi可以被连接到与该HSBk相连的k+l层HSB的输出dmo。输出umo可以净皮连接到与该HSBk相连的k+l层HSB的输入 dmi。输入xmi和输出xmo可以分别被连接到任何层中的另 一个HSB的 输出xmo 和输入xmi以便建立它们之间的交叉链接。UMSk用于接收输入信号dmi和xmi,并且在配置比特(configuration bit)的控制下用于选择dmi或xmi以便在端口 umo处进行输出。DMSk-j,其中j-l、 2、 3或4等等,具有下游多路选择器反馈输入dmfi、 上游多路选择器输入umi、外部多路选择器输入xmi以及下游输出dmo。 请注意,信号dmfi来自于输入dmi。 DMSkj;陂配置用于接收输入信号,包 括来自输入dmi的dmfi、来自输入umi的umo和来自输入xmi的 xmi, 并且 被配置用于在配置比特的控制下将所接收的信号选择为dmoj来输出。其 中一个dmoj,其中j-l、 2、 3或4等等,被选择经由输出端dmo输出。XMSk用于接收来自输入dmi的输入信号dmfi、来自输入xmi的xmi以 及来自输入umi的输入信号umi。然后,XMSk在配置比特的控制之下将 其中一个输入信号选择为xmo并将其输出到端口xmo。另一方面,来自 xmi的输入信号然后被发送到DMSk-O、 DMSk-l,...、以及DMS"N-1)以及 UMSk。应当指出,如上所述的开关盒可以通过晶体管、传输门、多路选择 器或可以执行逻辑选择和连接功能的其他元件来实现。多路选择器是优 选的,因为它们与其他开关盒相比需要较少的空间来存储配置比特。在之前的实施例中,交叉链接被用来在物理上接近但是逻辑上远离 或者物理上且逻辑上远离的HSB之间建立直接互连。然而,交叉链接 也可以被用来在物理上且逻辑上接近的HSB之间建立直接互连。图11示意了分层互连结构对布局位置的限制。如图ll(a)所示,某 个应用的逻辑布局由HSBl-030、 HSB1-031、 HSBl-032、 HSB1画033、 HSBl-Oll、 HSB1-012、 HSB1-013形成。该逻辑布局包括在下列每对 HSB之间中建立的互连,包括HSBl-032和HSBl-033、 HSB1-032和 HSB1-031、 HSB1-030和HSBl-033、 HSB1-030和HSB1-013、 HSB1-030 和HSBl-Oll、 HSB1-012和HSBl-Oll。应当指出,此图中的这些HSB 共享相同的祖父HSB,意指它们逻辑上接近并且物理上接近。每一对 HSB都可以通过树型路径互连。因此,建立时序合理的互连并不难。然而,图ll(a)的布局并不容易实现。出于某些原因,比如进位链 (carrychain),该布局不得不移动,例如一列,以形成图ll(b)中的布 局。在图ll(b)中,用来实现与HSBl-032和HSBl-031相同功能的 HSB1-033和HSB1-120不再逻辑上和物理上接近,而是逻辑上远离。如 果仍然采用树型路径,则时序将变差。这突出表明了树型结构互连网络对位置敏感的特点。图12(a)说明了 一种增强的交叉链接的模版,而图12(b)说明了图12(a) 自身的模版。该模版在HSB1-031的附近形成,并且交叉链接建立在 HSB1-031和其相邻的第一层HSB之间。如图12(b)所示,HSB1-031可以 分别与HSB1-030和HSB1-120建立具有16线的交叉链接;分别与 HSB1-033和HSB1-013建立具有4线的交叉链接;分别与HSBl-021、 HSB1-121、 HSB1-211和HSB1-011建立具有4线的交叉链接;分别与 HSBl-032、 HSB1腸012、 HSB1-102和HSB1-122建立具有2线的交叉链接。 较低层中这种复杂化的交叉链接增加了局部可布线性并且降低了分层 体系结构的位置敏感特征的影响。如果该模版横向移动,例如一列,则 该模版保持不变,并且不需要改变互连。需要指出,建立在不同层HSB之间的交叉链接也可降低分层体系结 构的纵向或横向布局敏感特征的影响。已经示出,不同方向的交叉链接可能具有不同的线数。所属领域技 术人员可以认识到,这类模版有助于布局诸如进位链之类的特定定向功妙请注意,模版中的一部分相邻HSB1,包括HSBl-030、 HSBl-032和 HSB1-033,它们与HSB1-031逻辑上接近并且物理上接近。它们可以经 由HSB2-03与HSB1-031建立树型路径。然而,如图ll中所提及,如果用 树型互连来代替这些交叉链接,则将牺牲局部的可布线性。时序和速度。应当高度理解,交叉链接的概念可以被应用到树间连接。图13 是一个逻辑图,其示意了树型分层互连网络与外部功能模块之 间的一种互连结构。如图13所示,任何HSB都应该在树型结构内首先布线到顶层的HSB4以便与外部功能块互连。图14示意了图13中的树型路径的版图设计示意图。如图14所示,外 部功能块是具有IOC-O、 IOC-l、 IOC-2、 IOC-3、 K)C-4单元的IO块(IOB )。 IOC-O单元需要通过IOB、 HSB4、 HSB3-2和HSB2-22布线到达HSBl-220, 虽然HSB1 -220与IOC-O单元物理上接近。图15示意根据本发明一个实施例的建立在树型分层互连网络与外 部功能模块之间使用交叉链接的互连结构的逻辑图。在图15中示出了由 HSB形成的树型分层体系结构的互连网络,它们可以是之前附图中所示 的结构。在其右边,示出了包括一个父功能块和5个子功能块的外部功 能块。HSB2-22、 HSBl-220和HSBl-222中的每一个都与所述父功能块建 立了交叉链接的连接。通过交叉链接,HSB2-22、 HSB1-220和HSB 1-222 中的每一个都被直接连接到所述外部功能块,显著地降低了时延。图16是图15的版图设计示意图。从图16可见,功能块是一个输入输 出块(IOB),它包括一个IO开关盒(IOSB)和五个IO单元(IOC), 分别是IOC-O, IOC-l, IOC-2, 10C-3和IOC-4。 HSB2-22、 HSBl-220和 HSBl-222物理上接近IOB及IOSB。通过IOSB, HSB2-22、 HSBl-220和 HSB1-222中的每一个都可以被直接布线到IOC-0、 IOC-l、 IOC-2、 IOC-3 和IOC-4中的《壬意一个。应当理解,所述外部功能块可以是树型结构并且/或者其中的每个功 能块都可以是输入输出块、嵌入存储块、FPGA块或掩膜可编程(mask programmable或MP)门阵列块。在一个例子中,如果功能块是树型结构的功能子块结合体,则可以 在功能块内设置交叉链接。尽管已经结合FPGA电路对如上所示的实施例进行了讨论,然而本 发明可以不受限于FPGA电路,而是还可以适用于嵌有FPGA的任何集成 电路,比如CSoC和PSoC。另外,尽管已经结合FPGA电路对如上所示的实施例进行了讨论, 然而本发明也可以适用于MPGA电路或嵌有MPGA的任何集成电路。图17示意了根据本发明另一个实施例的混合集成电路。所述电路可 以被划分成两部分,即左边部分和右边部分。左边部分是用于FP逻辑单元阵列的HSB树型分层互连网络,而右边部分是用于MP逻辑单元阵列的 HSB树型分层互连网络。这两个HSB网络都被IO块包围,并且被外部储 存器块(EMB)包围或嵌有外部储存器块。交叉链接可以建立在FP HSB和相邻的IOB/EMB之间、建立在FP HSB和相邻的MP HSB之间,以便改进局部可布线性及其时序。尽管上述互连网络被示出具有四叉树结构,然而应当高度理解,所 述互连网络可以是任何树型结构。尽管在前述实施例中HSB为单个逻辑单元提供选择和连接,然而应 当理解的是,HSB也可以为由多个逻辑单元组成的逻辑块提供选择和连 接。虽然已经结合本发明的优选实施例进行了描述,但是对于所属领域 技术人员来说很明显,在不脱离本发明的前提下可以做出不同的改变和 修改。因此,其目的是在所附权利要求书中覆盖所有这类属于本发明真实 精神和范围的改变和修改,本发明的真实精神和范围由所附权利要求书 的界限来定义。
权利要求
1.一种集成电路,包括可编程互连网络和通过可编程互连网络连接的逻辑块阵列,其中所述可编程互连网络包括按树型分层体系结构连接并且为所述逻辑块提供选择和连接的多个开关盒,位于所述树状结构最低层的开关盒被连接到所述逻辑块;其中,所述网络包括建立在所述多个开关盒中的两个开关盒之间的交叉链接。
2. 根据权利要求1的集成电路,其中,所述多个开关盒中的两个开关 盒逻辑上远离但是物理上接近。
3. 根据权利要求2的集成电路,其中,所述多个开关盒中的两个开关 盒逻辑上接近并且物理上接近。
4. 根据权利要求1的集成电路,其中,所述多个开关盒中的两个开关 盒逻辑上远离并且物理上远离。
5. 根据权利要求l-4中任意一项的集成电路,其中,所述两个开关盒 位于所述树的相同子树内。
6. 根据权利要求l-4中任意一项的集成电路,其中,所述两个开关盒 位于所述树的相同层。
7. 根据权利要求l-4中任意一项的集成电路,其中,所述两个开关盒 位于所述树的不同子树内和不同层。
8. 根据权利要求l-4中任意一项的集成电路,其中,所述逻辑单元阵 列是现场可编程门阵列或掩膜可编程门阵列。
9. 根据权利要求1的集成电路,其中,所述多个开关盒包括多路选择 器、晶体管或传输门。
10. 根据权利要求1的集成电路,其中逻辑块包括一个或多个逻辑单元。
11. 一种集成电路,包括可编程互连网络和通过可编程互连网络连接 的逻辑块阵列,所述集成电路还包括功能块,所迷可编程互连网络包括 按树型分层体系结构连接并且为所述逻辑块提供选择和连接的多个开关盒,位于所述树状结构最低层的开关盒被连接到所述逻辑块;其中,所述电路包括所述多个开关盒中的一个开关盒和所述功能块之间的交叉链接。
12. 根据权利要求11的集成电路,其中,所述功能块是输入输出块或 存储块。
13. 根据权利要求11的集成电路,其中,所述功能块是由第二树型分 层体系结构的开关盒连接的现场可编程门阵列或掩膜可编程门阵列。
14. 根据权利要求13的集成电路,其中,所述功能块包括建立在所述 第二树型分层体系结构的开关盒中的两个开关盒之间的交叉链接。
15. 根据权利要求11的集成电路,其中,所述可编程互连网络包括建 立在所述多个开关盒中的两个开关盒之间的交叉链接。
16. 根据权利要求11的集成电路,其中,所述多个开关盒包括多路选 择器、晶体管或传输门。
17. 根据权利要求11的集成电路,其中逻辑块包括一个或多个逻辑单元。
全文摘要
本发明在第一方面披露了一种集成电路,其包括可编程互连网络和通过可编程互连网络连接的逻辑块阵列,其中所述可编程互连网络包括按树型分层体系结构连接并且为逻辑块提供选择和连接的多个开关盒,位于树状结构最低层的开关盒被连接到所述逻辑块;其中,所述网络包括建立在所述多个开关盒中的两个开关盒之间的交叉链接。本发明有助于实现具有面积、时序优化和/或布局友好的效果。
文档编号H03K19/177GK101404491SQ20081011241
公开日2009年4月8日 申请日期2008年5月23日 优先权日2008年5月23日
发明者文 周, 李枫峰 申请人:雅格罗技(北京)科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1