法律状态公告日
法律状态信息
法律状态
2022-09-20
专利权的转移 IPC(主分类):H03K19/177 专利号:ZL2008100829014 登记生效日:20220907 变更事项:专利权人 变更前权利人:阿尔特拉公司 变更后权利人:英特尔公司 变更事项:地址 变更前权利人:美国加利福尼亚 变更后权利人:美国加利福尼亚州
专利申请权、专利权的转移
2013-03-13
授权
授权
2010-05-12
实质审查的生效 IPC(主分类):H03K19/177 申请日:20080307
实质审查的生效
2009-09-09
公开
公开
技术领域
【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,或者如XilinxCorporation所用的复杂逻辑块(CLB)。在Altera架构中,LAB被进一步分割成多个独立逻辑元件,其被称为逻辑元件(LE)或自适应逻辑模块(ALM)。而对于Xilinx的架构而言,CLB还包括一组被称为逻辑单元或(LC)的逻辑元件。LE、LC或ALM每种一般都包括比如查找表(LUT)、用于产生寄存输出的寄存器、加法器以及其它用以实现各种逻辑和算术功能的电路之类的元件。为了简明起见,含有多个LE或ALM的任何逻辑块不管其被组织成LAB或是CLB,在下文中一般都称为“LAB”。术语“LAB”决不应当解释成将本发明限制为一具体PLD架构并且意欲覆盖使用在块中一起成组的任何类型逻辑元件的任何PLD架构。
【0004】大多PLD的互连包括至少两级:(i)提供LAB之间路由的LAB间线或LAB互连线(inter-LAB line);和(ii)提供LAB内路由的LAB内部线。对于PLD的这两级互连体系的详细说明请参见美国专利6,970,014,出于各种目的将其并入本文。然而,下面提供两级架构的简要概述。
【0005】LAB间的互连一般包括多条水平和垂直线,其长度跨越预定数量的LAB。在各种PLD中,LAB间线不必是相同长度。例如,已知可使用整个长度、1/2、1/4长度线以及交错线,每条线通过固定数量的LAB(例如4个LAB)。“缝合”缓冲器(stitching buffer)和转换多路复用器沿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 10包括以二维阵列排列的多个LAB 12。每个LAB 12包括多个逻辑元件14和LAB线16。PLD 10还包括多条水平和垂直LAB互连线18,其用来在LAB12之间路由信号。(为了简明起见,各条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被分送给LAB12内的每个逻辑元件14。在不同的实施例中,控制信号包括但不限于以下信号:时钟信号、时钟使能信号、清除信号和加载信号。由于各条LAB线16仅跨越LAB 12内的逻辑元件16,因此信号只能在LAB 12内被路由。如果信号要被路由到另一LAB 12中的逻辑元件14,则必须使用LAB互连线18。对于有关控制信号的更多信息,请参见例如2006年8月Altera Corporation文件号为SII1002-4.2的The Stratix IIArchitecture,Functional Description,2-1至2-106页,出于各种目的在此通过引用将其并入本文。
【0024】可编程互连模式22由多个可编程连接(如图中黑点所表示的)组成。单个可编程连接被提供在逻辑元件14的输入和LAB线16的相交处。根据不同实施例,可编程连接可以包括多路复用器、传送晶体管、配置RAM存储单元、ROM存储单元、熔断器或者任何其它本领域所用的已知可编程元件。
【0025】参照图2B,示出了LE 14的输入和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多路复用器的左侧和右侧的LAB 12)中的逻辑元件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。LAB 12A和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的硬边界一般由与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】虽然已参照本发明的具体实施例示出并描述了本发明,但本领域的技术人员要理解可以对所公开实施例的形式和细节进行改变而不偏离本发明的思想或范围。因此意图本发明被解释成包含落入本发明的真正思想和范围内的所有变体和等效物。
机译: 具有逻辑阵列块互连线的可编程逻辑器件,该互连线可以互连不同逻辑块中的逻辑元件
机译: 具有逻辑阵列块互连线的可编程逻辑器件,该互连线可以互连不同逻辑块中的逻辑元件
机译: 具有逻辑阵列块互连线的可编程逻辑设备,该互连线可以互连不同逻辑块中的逻辑元素