具有可互连不同逻辑块中的逻辑元件的逻辑阵列块互连线的可编程逻辑器件的制作方法

文档序号:7513272阅读:181来源:国知局
专利名称:具有可互连不同逻辑块中的逻辑元件的逻辑阵列块互连线的可编程逻辑器件的制作方法
技术领域
0001本发明一般涉及基于逻辑阵列块(LAB)的可编程逻辑器 件(PLD),并且更具体地涉及具有成为两个不同LAB中的互连逻辑 元件(LE)能力的LAB互连线。
背景技术
0002可编程逻辑器件(PLD)是含有可被编程以执行大量逻辑 功能的固定逻辑电路的半导体集成电路。在半导体工业中,PLD由于 众多原因而变得日益普遍。由于芯片制造技术的进步,专用集成电路
(ASIC)设计已变得难以置信的复杂。这种复杂性不仅增加设计成本 而且还增加开发专用设计所需的时间期限。与这个问题相伴的是,产 品生命期正在迅速縮短。结果,对于原始设备制造商(OEM)而言设 计和使用ASIC往往是不可行的。因此,OEM越来越依赖于PLD。加 工工艺的相同进展也导致PLD具有改进的密度和速度性能。高级的编 程软件使得可为PLD快速开发复杂的逻辑功能。而且,逻辑设计通常 还可以从一代PLD移植到下一代,进一步减少产品开发时间。ASIC 的性价差距的消失和减少的产品开发时间迫使许多OEM利用PLD。
0003大多数PLD的架构定义了二维逻辑块阵列。行列逻辑块 间线(一般具有变化的长度和速度)提供该阵列中逻辑块之间的信号 和时钟互连。这些逻辑块通常被称为不同名称,例如由本申请的受让 人Altera Corporation使用的逻辑阵列块或LAB ,或者如Xilinx Corporation所用的复杂逻辑块(CLB)。在Altera架构中,LAB被进一 步分割成多个独立逻辑元件,其被称为逻辑元件(LE)或自适应逻辑模 块(ALM)。而对于Xilinx的架构而言,CLB还包括一组被称为逻辑单 元或(LC)的逻辑元件。LE、 LC或ALM每种一般都包括比如查找表
(LUT)、用于产生寄存输出的寄存器、加法器以及其它用以实现各种逻辑和算术功能的电路之类的元件。为了简明起见,含有多个LE或ALM 的任何逻辑块不管其被组织成LAB或是CLB,在下文中一般都称为 "LAB"。术语"LAB"决不应当解释成将本发明限制为一具体PLD架 构并且意欲覆盖使用在块中一起成组的任何类型逻辑元件的任何PLD 架构。
0004大多PLD的互连包括至少两级(0提供LAB之间路 由的LAB间线或LAB互连线(inter-LAB line);禾Q (ii)提供LAB 内路由的LAB内部线。对于PLD的这两级互连体系的详细说明请参 见美国专利6,970,014,出于各种目的将其并入本文。然而,下面提供两 级架构的简要概述。
0005LAB间的互连一般包括多条水平和垂直线,其长度跨越 预定数量的LAB。在各种PLD中,LAB间线不必是相同长度。例如, 已知可使用整个长度、1/2、 1/4长度线以及交错线,每条线通过固定 数量的LAB (例如4个LAB)。"缝合"缓冲器(stitchingbuffer)禾口 转换多路复用器沿LAB间线周期性地布置。提供这些"缝合"缓冲器 来将指定通道的线组织在一起并且缓冲在所组织的线之间传送的信 号。转换多路复用器一般提供在水平线和垂直线的相交处并且用来将 信号从水平线转换到垂直线,反之亦然。
0006通常称为"LAB线"的较低级互连提供指定LAB内的 专用路由。换言之,LAB线互连指定LAB内的LE,但不能直接与该 阵列中其它LAB内的其它LE通信。利用这个设置,同一 LAB内的 LE可以以相对高的速度直接相互通信。然而,不同LAB中的LE之 间的通信较慢,原因是信号不得不首先被路由并传送经过LAB之间的 互连至第二 LAB的LAB线。
0007前述互连体系的问题是一个LAB内的LE无法直接与另 一LAB内的LE通信。将LAB内部线仅限于指定LAB内的严格体系 意味着在已知PLD架构中的独立LAB之间存在硬边界。因而,通过 使用众多LAB的复杂逻辑设计,性能往往受在LAB间发送信号所需 的传送时间的损害。
0008因此需要一种具有LAB互连线的PLD,所述LAB互连 线跨越阵列中的相邻LAB并且具有互连不同LAB中的两个LE的能力。

发明内容
0009公开了一种具有LAB互连线的PLD,所述LAB互连线 跨越阵列中的相邻LAB并且具有互连不同LAB中的两个LE的能力。 该PLD包括以阵列排列的多个逻辑阵列块LAB以及互连该阵列的 LAB的多条LAB间线。每个所述LAB进一步包括预定数量的逻辑元 件,在所述LAB中的所述预定数量的逻辑元件之间分发的一个或更多 个控制信号,和跨越该阵列中不同LAB内的逻辑元件之间的LAB线。 在不同的实施例中,LAB线被排列成交错排列模式,其中这些线之间 存在一预定间距。在其他实施例中,相邻LAB的控制信号可以重叠, 以允许控制信号被路由到相邻LAB的逻辑元件。


0010结合附图参照以下说明,可以最佳地理解本发明,其中 所述附解说明本发明的具体实施例。
0011图1是根据本发明具有在相邻LAB之间延伸的LAB线 的可编程逻辑器件(PLD)架构的方块图。
0012图2A是标准LAB的逻辑图。
0013图2B是LE的输入和LAB线之间的替代性可编程互联模式。
0014图3图解说明了用于给LAB提供输入的多路复用器装置。0015图4是根据本发明的一个实施例的LAB的逻辑图。0016图5是根据本发明的另一实施例的LAB的逻辑图。0017应当注意在各图中相同的参考标记指代相同的元件。
具体实施例方式
0018现在将参照本发明的不同实施例(例如附图中图解说明 的)对本发明进行详细描述。在以下的说明中,阐述了具体细节以便 提供对本发明的完全理解。然而,对本领域的技术人员显而易见的是 本发明可以不用本文所阐述的一些实施细节来实践。也要明白,为了不必使本发明难于理解,没有对众所周知的操作进行具体描述。此外, 应当注意本发明的若干技术可以应用到各种系统或电子器件比如可编
程器件和专用集成电路(ASIC)器件。
0019参照图1,示出了根据本发明的具有在相邻LAB之间延 伸的LAB线的可编程逻辑器件(PLD)的方块图。PLD IO包括以二维 阵列排列的多个LAB 12。每个LAB 12包括多个逻辑元件14和LAB 线16。 PLD 10还包括多条水平和垂直LAB互连线18,其用来在LAB 12之间路由信号。(为了简明起见,各条LAB线16和LAB互连线 18未示于图中。)
0020根据本发明的不同实施例,每个LAB 12的逻辑元件14 的数目可以例如从2变化到16。类似地,水平和垂直LAB互连线18 的长度也可以变化。例如,这些线18可以跨越该阵列的整个高度或宽 度、该阵列的一半或1/4或者一些其它任意长度。在一些实施例中,这 些线18可跨越预定数目的LAB 12,比如2、 4、 8、 16个或更多。各 条线18也可以排列成彼此相互交错的模式。在其它实施例中,指定通 道的LAB互连线18可以通过缝合缓冲器组织在一起并且转换多路复 用器可以用来将信号从水平线路由到垂直线,反之亦然。在另一实施 例中,这些线18可能为L形状并在水平和垂直方向延伸。有关LAB 互连线18的更多细节,可参见美国专利6,970,014,出于各种目的将其 并入本文。
0021对于本发明,各条LAB线16不仅仅被对齐或包含于相 应LAB 12的边界内。如以下更详细描述和说明的,各条LAB线16相 对其相应的LAB 12具有不同起点和终点。因此, 一些LAB线16可能 跨越不止一个LAB 12。各条LAB线16可因而连接不同LAB 12中的 逻辑元件14。出于这个原因,图1中的LAB线16示为连续的,即在 每个LAB 12的边界上不终止。
0022在解释根据本发明的LAB线16的细节之前,简单回顾 一下典型的现有技术LAB。通过对比现有技术LAB,本发明的特征和 优点可以被更好地理解。
0023参照图2A,示出了标准LAB的逻辑图。对于标准LAB 12, 清楚定义了边界(如由绕该LAB的虚线标记的)。LAB 12包括由多条LAB线16互连的多个逻辑元件14。如图所示,各条LAB线16都 具有分别位于最顶和最底逻辑元件14的相同起点和终点。在逻辑元件 14的输入和LAB线16之间的相交处提供可编程逻辑互连模式22。每 个逻辑元件产生一个或更多个输出25。 LAB 14还包括一个或更多个控 制信号发生器24,其产生控制信号26,这些控制信号26被分送给LAB 12内的每个逻辑元件14。在不同的实施例中,控制信号包括但不限于 以下信号时钟信号、时钟使能信号、清除信号和加载信号。由于各 条LAB线16仅跨越LAB 12内的逻辑元件16,因此信号只能在LAB 12 内被路由。如果信号要被路由到另一LAB 12中的逻辑元件14,则必 须使用LAB互连线18。对于有关控制信号的更多信息,请参见例如 2006年8月Altera Corporation文件号为SII1002-4.2的The Stratix II Architecture, Functional Description, 2-1至2-106页,出于各种目的在此通 过引用将其并入本文。
0024可编程互连模式22由多个可编程连接(如图中黑点所表 示的)组成。单个可编程连接被提供在逻辑元件14的输入和LAB线 16的相交处。根据不同实施例,可编程连接可以包括多路复用器、传 送晶体管、配置RAM存储单元、ROM存储单元、熔断器或者任何其 它本领域所用的已知可编程元件。
0025参照图2B,示出了LE14的输入和LAB线16之间的替 代性可编程互连模式22。在图2A中,该互连模式示出了其中交替的 LAB线16从左到右分别连接到每个逻辑元件14的第二及第四或第一 及第三输入。在图2B中,该模式示出了从左到右连接到逻辑元件14 的第一和第三、第一和第四、第二和第三以及第二和第四输入的LAB 线16。对于接下来的四条线16,还是从左到右重复上面定义的模式。 应当注意,图2A和2B所示的模式22是示例并且不应当解释为对本 发明的限制。可以使用任何适当的模式22。
0026在图2中,用于驱动LAB 12的路由驱动器28为一简化 的逻辑图。在实际的实施例中,由元件28所代表的驱动器功能元件包 括许多LAB输入多路复用器(LIM)或驱动器输入多路复用器(DIM), 其可连接到水平导线(HDIM)或垂直导线(VDIM)。
0027参照图3,示出了根据本发明一个实施例的路由驱动器28的具体逻辑图。路由驱动器28包括许多LIM和DIM,每个用"L" (即LIM) 、 "H"(即HDIM)或"V"(即VDIM)表示。这些多 路复用器每个都具有可包括一个或更多个路由LAB互连线18(水平和 垂直的)的输入,或具有来自一个或更多个逻辑元件14的输出。HDIM 驱动水平LAB互连线18且能够从来自相邻LAB 12(即位于HDIM多 路复用器的左侧和右侧的LAB 12)的逻辑元件14以及HDIM和VDIM 接收输入。VDIM驱动垂直LAB互连线18且能够从相邻LAB 12 (同 样,从位于VDIM多路复用器的左侧和右侧的LAB12)中的逻辑元件 14以及从HDIM和VDIM接收输入。这两个LIM产生输出信号以驱 动相邻的左右LAB 12且可包括分别来自相邻LAB 12以及HDIM和 VDIM的输入。
0028图4是根据本发明的一个实施例的两个LAB的逻辑图。 表示为12A和12B的这两个LAB在垂直方向上彼此相邻。在该示例 中,LAB 12A和12B每个都包括四个逻辑元件14。每个逻辑元件14 产生一个或更多个输出并且经由可编程元件的可编程互连模式22接收 来自局部LAB线16的输入。每个LAB 12A和12B还包括控制信号发 生器24,其产生被分送到每个LAB内的四个逻辑元件14的控制信号 26。 LAB12A和12B中的LAB线16与以往设计中所用的不同。这些 LAB线16不与最顶和最底逻辑元件14对齐,并且它们也不仅仅分别 在LAB 12A和12B内提供连接性。相反,各条LAB线16彼此相互交 错。而且, 一些LAB线16跨越不止一个LAB。例如,标为"16AB" 的LAB线分别跨越在LAB 12A和12B之间。根据各种实施例,本发 明的LAB线16相对于彼此交错成变化角度,对应于导线的间距。例 如在不同的实施例中,各条LAB线16可以分别具有1、 2、 3、 4、 5、 6、 7、 8或更多个逻辑元件的间距。在图4的示例中,该间距为2,因 为LAB线起始于LAB中的第一或第三逻辑元件。这些LAB线16也 可以用基于给定LAB 12的某个百分比的间距进行交错排列。例如, LAB线可以是LAB 12尺寸的1/2、 1/4、 1/8或1/16或一些其它百分比。 在图4中,间距为2对应于含有4个逻辑元件的LAB的一半。
0029由于LAB线16跨越不止一个LAB 12, LAB之间的边界 变得模糊不清,至少不明确LAB如何在过去被定义的。过去,LAB的
12硬边界一般由与LAB中最顶和最底逻辑元件重合的LAB线的统一起 点和终点限定。然而,对于本发明,该硬边界不再存在,因为至少一 些LAB线被交错并且可跨越在两个LAB 12A和12B之间。因此,对 于本发明,要重新限定LAB的边界定义。由控制信号发生器24产生 的控制信号26分别跨越LAB 12A和12B内的所有逻辑元件14。因此 在本发明的情况下,控制信号26分别用来划分LAB 12A和12B的边 界。
0030参照图5,示出了根据本发明的另一实施例的LAB的逻 辑图。对于该实施例,交错概念被扩展到控制信号26。如图中所示, 每个控制信号发生器24产生控制信号26,该控制信号26延伸上下两 个逻辑元件14或总计四个逻辑元件14。由于信号发生器24每三个逻 辑14被隔开,所以控制信号26彼此部分重叠,如参考标记30所示。 和重叠区域30相邻的逻辑元件14可因此接收来自不同LAB 12的两个 不同控制信号发生器24的控制信号。还要注意,与图4中间距为2相 比,LAB线的间距已变成1。
0031虽然已参照本发明的具体实施例示出并描述了本发明, 但本领域的技术人员要理解可以对所公开实施例的形式和细节进行改 变而不偏离本发明的思想或范围。因此意图本发明被解释成包含落入 本发明的真正思想和范围内的所有变体和等效物。
权利要求
1.一种设备,其包含可编程逻辑器件,该可编程逻辑器件包括以阵列排列的多个逻辑阵列块LAB;多条LAB互连线,其互连该阵列的所述LAB,其中每个所述LAB进一步包括预定数量的逻辑元件;一个或更多个控制信号,其在所述LAB中的所述预定数量的逻辑元件之间被分发;和多条LAB线,其跨越在该阵列中不同LAB内的逻辑元件之间。
2. 如权利要求1所述的设备,其中每个LAB内的所述LAB线以交 错模式进行排列。
3. 如权利要求2所述的设备,其中每个LAB内所交错的LAB线相 对于彼此具有一预定间距。
4. 如权利要求3所述的设备,其中所述预定间距包含以下之一分 别为1、 2、 3、 4、 5、 6、 7、 8或8个以上逻辑元件。
5. 如权利要求3所述的设备,其中所述预定间距为所述LAB中逻辑 元件数的整数分数。
6. 如权利要求5所述的设备,所述预定间距包含以下之一所述LAB 中逻辑元件数的1/2、 1/3、 1/4、 1/8或1/16。
7. 如权利要求l所述的设备,其中所述LAB线被配置成(i) 可编程地互连同一LAB内的逻辑元件;和/或(ii) 可编程地互连不同LAB内的逻辑元件。
8. 如权利要求l所述的设备,其中该阵列中的每个所述LAB具有一 边界,该LAB边界由所述预定数量的逻辑元件限定,所述逻辑元件接收 分别在所述LAB中被分送的所述一个或更多个控制信号。
9. 如权利要求8所述的设备,其中可连接不同LAB内的逻辑元件的 所述LAB线分别延伸超出该LAB的边界至该阵列中的不同LAB。
10. 如权利要求8所述的设备,进一步包括重叠LAB,其中相邻LAB 之间的边界重叠并且来自所述重叠LAB的控制信号分别被分送到所述重 叠LAB中的重叠逻辑元件。
11. 如权利要求l所述的设备,其中所述一个或更多个控制信号由以 下LAB控制信号中的一个或更多个组成时钟信号、时钟使能信号、清 除信号或加载信号。
12. 如权利要求1所述的设备,其中每个LAB进一步包括可编程元 件的可编程互连模式,这些可编程元件可编程地连接该LAB的所述逻辑 元件至以下两者(i) 该LAB的所述LAB线;禾口(ii) 不同LAB的所述LAB线。
13. 如权利要求12所述的设备,其中所述可编程元件由以下中的一 个或更多个组成多路复用器、RAM存储单元、ROM存储单元或可编 程熔断器。
14. 如权利要求1所述的设备,其中所述LAB互连线由以下中的一 个或更多个组成水平LAB互连线、垂直LAB互连线、或在水平和垂 直方向上行进的L形LAB互连线。
15. 如权利要求l所述的设备,进一步包括多个多路复用器,以将来自所述多条LAB互连线的信号分别路由至该阵列中每个LAB的所述 LAB线,反之亦然。
16. —种设备,其包含-可编程逻辑器件,该可编程逻辑器件包括-以阵列排列的多个逻辑阵列块LAB; 多条LAB互连线,其互连该阵列的所述LAB, 其中该阵列中的第一LAB进一步包括-第一预定数量的逻辑元件;第一LAB线,它们互连所述第一预定数量的逻辑元件;禾口 由第一控制信号发生器产生的第一控制信号,该第一控制信号 其被分发至(i) 所述第一LAB中的所述第一预定数量的逻辑元件;和(ii) 第二LAB中的至少一个逻辑元件,所述第二LAB和该阵 列中的所述第一LAB相邻。
17. 如权利要求16所述的设备,其中所述第二LAB进一步包括 第二预定数量的逻辑元件;互连所述第二预定数量的逻辑元件的第二LAB线;和 由第二控制信号发生器产生的第二控制信号,所述第二控制信号被分 发至(i) 所述第二LAB中的所述第二预定数量的逻辑元件;和(ii) 所述第一LAB中的所述第一预定数量的逻辑元件中的一个。
18. 如权利要求16所述的设备,其中所述第一LAB的所述第一LAB 线中的一条或更多条线跨越至所述第二LAB。
19. 如权利要求16所述的设备,其中所述第一LAB的所述第一LAB 线是交错的。
20. 如权利要求19所述的设备,其中所述第一 LAB的所述LAB线 以一预定间距被交错;所述预定间距包括以下之一(i) 1、 2、 3、 4、 5、 6、 7、 8或更多个逻辑元件;或(ii) 所述第一LAB的所述第一预定数量的逻辑元件的1/2、 1/4或1/3。
21. 如权利要求17所述的设备,其中所述第二LAB的所述第二LAB 线中的一条或更多条线跨越至所述第一 LAB 。
22. 如权利要求17所述的设备,其中所述第二LAB线是交错的。
23. —种方法,其包括-提供可编程逻辑器件,所提供的可编程逻辑器件包括 以阵列排列的多个逻辑阵列块LAB; 多条LAB互连线,其互连该阵列的所述LAB, 其中每个所提供的LAB进一步包括-预定数量的逻辑元件;一个或更多个控制信号,其在所述LAB中的所述预定数量的逻 辑元件之间被分发;和LAB线,它们可互连该阵列中不同LAB内的逻辑元件。
24. 如权利要求23所述的方法,其中每个LAB内所提供的LAB线 以交错模式被提供。
25. 如权利要求24所述的方法,其中每个LAB内所提供的交错LAB 线相对于彼此具有预定间距。
26. —种方法,其包括-提供可编程逻辑器件,所提供的可编程逻辑器件包括 以阵列排列的多个逻辑阵列块LAB; 多条LAB互连线,其互连该阵列的所述LAB, 其中该阵列中的第一 LAB进一步包括第一预定数量的逻辑元件;第一LAB线,它们互连所述预定数量的逻辑元件;和 由第一控制信号发生器产生的第一控制信号,该第一控制信号 其被分发至(i) 所述第一LAB中的所述第一预定数量的逻辑元件;和(ii) 第二LAB中的一个逻辑元件,所述第二LAB和该阵列中 的所述第一LAB相邻。
27. 如权利要求26所述的方法,其中所提供的第二 LAB进一步包括 第二预定数量的逻辑元件;互连所述第二预定数量的逻辑元件的第二LAB线;和 由第二控制信号发生器产生的第二控制信号,所述第二控制信号被分发至(i) 所述第二LAB中的所述第二预定数量的逻辑元件;和(ii) 所述第一LAB中的所述第一预定数量的逻辑元件中的一个。
28. 如权利要求1所述的设备,其中所述LAB线的第一子集相对于 彼此以交错模式排列,而所述LAB线的第二子集相对于彼此以非交错模 式排列。
29. 如权利要求l所述的设备,其中不同LAB在该LAB阵列中彼此 相邻。
30. 如权利要求l所述的设备,其中不同LAB在该LAB阵列中彼此不相邻。
全文摘要
一种具有逻辑阵列块(LAB)互连线的可编程逻辑器件(PLD),所述LAB互连线跨越该阵列中的相邻LAB并且具有互连不同LAB中的两个逻辑单元的能力。该PLD包括以阵列排列的多个以及互连该阵列的LAB的多条LAB间线。每个所述LAB包括预定数量的逻辑元件,在所述LAB中的所述预定数量的逻辑元件之间分配的一个或更多个控制信号,和跨越该阵列中不同LAB内的逻辑元件之间的LAB线。在不同的实施例中,LAB线被排列成交错排列模式,其中这些线之间存在一预定间距。在其他实施例中,相邻LAB的控制信号可以重叠,以允许控制信号被路由到相邻LAB的逻辑元件。
文档编号H03K19/177GK101527562SQ20081008290
公开日2009年9月9日 申请日期2008年3月7日 优先权日2007年3月9日
发明者D·刘易斯, D·卡什曼 申请人:阿尔特拉公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1