CN101312346B - 具有带改进的寄存器性能的逻辑模块的可编程逻辑器件 - Google Patents
具有带改进的寄存器性能的逻辑模块的可编程逻辑器件 Download PDFInfo
- Publication number
- CN101312346B CN101312346B CN200810098413.2A CN200810098413A CN101312346B CN 101312346 B CN101312346 B CN 101312346B CN 200810098413 A CN200810098413 A CN 200810098413A CN 101312346 B CN101312346 B CN 101312346B
- Authority
- CN
- China
- Prior art keywords
- register
- array
- logic
- signal
- output signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17748—Structural details of configuration resources
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17724—Structural details of logic blocks
- H03K19/17728—Reconfigurable logic blocks, e.g. lookup tables
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Logic Circuits (AREA)
Abstract
公开了一种PLD,这种PLD通过提供比组合输出更多的寄存输出和/或可以驱动多于一个寄存器的组合输出使每个逻辑模块具有更多触发器。所述PLD包括排列在阵列中的多个逻辑阵列块和互连所述阵列的所述阵列的所述逻辑阵列块的多个逻辑阵列块互连线。至少一个逻辑阵列块包括至少一个逻辑模块,所述逻辑模块包括:被配置为响应提供给所述一个逻辑模块的输入产生第一组合输出信号的第一组合元件;能够被第一组合输出信号驱动的第一寄存器和能够被第一组合输出信号驱动的第二寄存器。因此,所述逻辑模块具有比组合输出更多的寄存输出和可以驱动多于一个输出寄存器的组合输出。在替代实施例中,所述逻辑模块可以具有被配置为响应提供给所述一个逻辑模块的输入产生一个或多于一个组合输出信号的一个或多于一个组合元件;和能够被所述一个或多于一个组合输出信号驱动的多个寄存器。在这些替代实施例中,在所述一个逻辑模块中寄存器的数量超过组合输出信号的数量。
Description
技术领域
本发明一般涉及可编程逻辑器件(PLD),并且更具体地涉及带有逻辑模块的PLD,所述逻辑模块具有比组合输出更多的寄存输出,和/或可以驱动多于一个输出寄存器的组合输出。背景技术
可编程逻辑器件(PLD)是一种半导体集成电路,其包含可以被编程来执行许多逻辑功能的固定逻辑电路。在半导体产业中,PLD因为许多原因变得日益流行。由于芯片制造技术的进步,特定用途集成电路(ASIC)的设计变得难以置信的复杂。这种复杂性不但增加设计成本,而且增加了开发特定用途设计所需的持续时间。产品寿命周期迅速地收缩使这个问题更加复杂。结果,对于原始设备制造商(OEM)来说设计并使用ASIC往往是不可行的。因此OEM越来越依赖于PLD。同样加工技术的进步也导致带有改进的密度与速度性能的PLD。高级的编程软件能够快速开发针对PLD的复杂逻辑功能。此外,逻辑设计一般也可以容易地从一代PLD移植到下一代,这进一步缩短了产品开发时间。ASIC性价比差别的缩小和产品开发时间的缩短使许多OEM不得不使用PLD。
大部分PLD具有的体系结构定义为逻辑块的二维阵列。行与列的逻辑模块互连线通常长度与速度可变化,其提供了在阵列中逻辑模块之间的信号与时钟互连。逻辑模块经常被称为不同的名字,例如本申请的受让人Altera公司称之为逻辑阵列块或LAB;而Xilinx公司使用的名称为复杂逻辑模块(CLB)。在Altera结构体系中,LAB被进一步分成多个单独逻辑元件,它们被称作逻辑元件(LE)或自适应逻辑模块(ALM)。在Xilinx体系结构中,CLB也包括一组被称作逻辑单元或(LC)的逻辑元件。所述LE、LC或是ALM每种通常都包括诸如查找表(LUT)、用于生成寄存输出的寄存器、加法器以及用于实现不同的逻辑与算术功能的其他电路的这类元件。为了简单,任何逻辑模块,不管其被称为LE、ALM或LC,此后将总称为“逻辑模块”。同样,任何逻辑块,无论是LAB还是CLB,此后将总称为“逻辑阵列块”。决不应该把术语“逻辑模块”或“逻辑阵列块”解释为限制本发明于特殊的PLD体系结构,而是希望涵盖使用分组为逻辑阵列块的任何类型的逻辑模块的任何PLD体系结构,包括但不限于Altera和Xilinx提供的PLD。
一直以来PLD中的逻辑模块通常在模块内的组合逻辑发生器的每个组合输出只包括一个寄存器,如查找表或LUT。所以,这些逻辑模块通常被限制于:(i)产生单个非寄存组合功能;(ii)产生单个寄存组合功能;(iii)产生单个非寄存组合功能而寄存器用于不相关的触发器操作;或者(iv)只将寄存器作为触发器。因此,借助传统的逻辑模块,输出寄存器就可以从LUT的组合输出或所述逻辑模块的一些其他输入中选择,同时通过寄存器反馈连接驱动全局互连或到的LUT输入。
上文描述的传统逻辑模块因为许多实际原因变得不适合。在许多当前用于PLD的用户逻辑设计中,由于如流水线操作、使用位移寄存器存储数据等原因经常需要大量的触发器。此外,因为6LUT相比以前的4LUT逻辑块的逻辑功能性增强,所以使用如6输入功能的更大查找表的PLD显示出减小的触发器对组合逻辑的比率。通过需要许多触发器的设计,使用给定的逻辑模块来实现LUT中的组合逻辑功能和为一些其它触发器操作独立地使用输出寄存器是可能的。然而,这种实现方式通常不是需要的。所述实现方式经常引起布置约束,这会消极地影响设计速度。结果,所述逻辑模块通常用来实现组合功能或触发器功能,但不能(同时)实现两个功能。因为需要比通常所需的逻辑模块更多的逻辑模块实现给定逻辑设计指定的一定数量的组合和触发器功能,因此,效率被不利地影响。因为一些所述模块会只专用于触发器功能,所以即便用户的设计定义的触发器数量比组合功能的数量小,实际实现方式也可能需要使用比其它实现方式需要的数量更大的逻辑模块。
因此需要一种PLD,所述PLD通过提供(i)比组合输出更多的寄存输出;和/或(ii)可以驱动多于一个输出寄存器的组合输出使每个逻辑模块具有更多的触发器。发明内容
公开了一种PLD,这种PLD通过提供比组合输出更多的寄存输出;和/或可以驱动多于一个输出寄存器的组合输出使每个逻辑模块具有更多触发器。所述PLD包括排列在阵列中的多个逻辑阵列块和互连所述阵列的所述逻辑阵列块的多个逻辑阵列块互连线。至少一个逻辑阵列块包括:至少一个逻辑模块,所述逻辑模块包括被配置为响应提供给一个逻辑模块的输入产生第一组合输出信号的第一组合元件,能够被第一组合输出信号驱动的第一寄存器和能够被第一组合输出信号驱动的第二寄存器。因此,所述逻辑模块具有比组合输出更多的寄存输出和可以驱动多于一个输出寄存器的组合输出。在替代实施例中,所述逻辑模块可以具有一个或多于一个组合元件和多个寄存器,一个或多于一个组合元件被配置为响应提供给一个逻辑模块的输入产生一个或更多组合输出信号,多个寄存器能够被所述一个或更多组合输出信号驱动。在这些替代实施例中,在所述一个逻辑模块中寄存器的数量超过组合输出信号的数量。附图说明
通过参考下列描述并结合图解说明本发明具体实施例的附图可以最好地理解本发明。
图1是依照本发明一个实施例的可编程逻辑器件(PLD)体系结构的框图。
图2是依照本发明的通过多个垂直和水平的LAB互连线互连许多LAB的图。
图3是依照本发明另一个实施例的第二PLD体系结构的框图。
图4是依照本发明一个实施例的用在逻辑阵列块中的逻辑模块。
图5是依照本发明第二个实施例的用在逻辑阵列块中的逻辑模块。
应该注意的是在图中同样的编号代表同样的元件。具体实施方式
现在将参照如在附图中图解说明的多种实施例详细地描述本发明。在下面的描述中,为了提供对本发明的深入了解,阐明了具体的细节。然而,对于本领域技术人员而言,显然,本发明可以在不使用此处阐明的一些实施细节的情况下被实践。还需要了解的是,为了不会不必要地模糊本发明,熟知的操作并没有被详细的描述。此外,需要注意的是本发明的技术可以被应用到多种系统或电子器件中,如可编程器件和特定用途集成电路(ASIC)器件。
参考图1,显示了依照本发明一个实施例的可编程逻辑器件(PLD)的框图。PLD 10包括基于行和列的两维体系结构,其包括排列在芯片周界周围的多个输入/输出元件(IOE)12,横穿器件的分组为行和列的多个逻辑阵列块(LAB)14,在确定的LAB 14之间的分组为列的随机存取存储器(RAM)块16,横穿器件的分组为列的数字信号处理(DSP)块18,同样横穿器件并在确定的LAB 14之间的分组为列的第二RAM块20和每个被提供在横穿器件的不同区域的一个或多于一个M-RAM存储器块22。
LAB 14包括预定数目的逻辑模块(图中未显示)。在多种实施例中,逻辑模块的数量可以在2到16或更大数目之间变化。RAM块16是具有预定数目的位和额外校验位的简单双端口存储器块。RAM块16为器件提供专用的简单双端口或单端口存储器。为执行数字信号处理功能提供了DSP块18,所述功能例如有限冲激响应(FIR)和无限冲激响应(IIR)滤波器。第二RAM块20是带有存储位和校验位的真正双端口存储器块。最后,M-RAM存储器块22是带有存储位和校验位的大型真正双端口存储器块。需要注意的是PLD 10仅仅是示例性的并且决不应该被解释为限制本发明。同样应该注意的是,此处描述的本发明的实施不要求具有上文列出的全部上述功能块的PLD。例如RAM块16、DSP块18、RAM块20和M-RAM块22的功能块是可选的并且对于本发明的实施不是必需的。
参考图2,它显示了依照本发明的通过多个垂直和水平的LAB连线互联的许多LAB的框图。每个LAB 14包括多个逻辑模块24。本地交互LAB连线26用来互连每个LAB 14内单独的逻辑模块24。垂直和水平交互LAB连线28被用来互连阵列的LAB 14。路径选择驱动器30(在图中用双向箭头指代)分别被用来提供交互LAB连线28和每个LAB 14的本地内部LAB连线26之间的路径选择。
图1和2中说明的特定PLD体系结构10的更多信息参见例如“The Stratix Architecture,Functional Description(Stratix体系结构,功能描述),”2-1到2-140页,Altera公司,2005年7月(Altera内部文件编号S51002-3.2)或“StratixPII Architecture,FunctionalDescription(StratixPII体系结构,功能描述),”2-104页,StratixII器件手册,第1卷,2005年12月(Altera内部文件编号SII51002-4.0),这两个文件以引用方式并入本文以满足全部目的。
参考图3,它显示了依照本发明第二个实施例的可编程逻辑器件(PLD)的框图。PLD 30包括排列在行与列的阵列内的多个复杂逻辑块(CLB)32。每个CLB 32包括第一片34A和第二片34B。在给定列中CLB 32的这些片34A通过第一进位链36A互连,该进位链由这些片34A接收并产生的进位输入(Cin)和进位输出(Cout)连线所指定。同样,这些片34B通过第二进位链36B互连,该进位链由这些片34B接收并产生的进位输入(Cin)和进位输出(Cout)连线所指定。虽然没有说明,但正如在本领域中熟知的,单独的CLB 32通过多个CLB互连线被互连。具有片的基于CLB的PLD的更多细节参见“Virtex-5User Guide”,UG190(v3.0),2007年2月2日,Xilinx公司出版,加利福尼亚州圣何赛,155-181页,其以引用方式并入本文以满足全部目的。
每个片34包括一个或多于一个逻辑模块(未图示)。在一个具体实施例中,每个片34包括四个逻辑模块。在其它实施例中,每个片34会使用更多或更少的逻辑模块。在示例的替代实施例中,一个到三个,或五个到16个或更多的逻辑模块会被包括在每个CLB 34中。总之,CLB中逻辑模块的具体数量是任意的,并且不应该被解释为任何方式的限制。
参考图4,显示了依照本发明一个实施例的用在逻辑阵列块中的逻辑模块。逻辑模块40包括:被配置成接收输入A,B,C和D以及产生第一组合输出44的组合元件42;第一寄存器46;第二寄存器48;多个输出多路复用器50A,50B和50C;控制信号选择电路52,其被配置为响应一个或多于一个输入控制信号58产生寄存器控制信号54和寄存器时钟信号56;以及包括三个多路复用器62A-62C和两个与门64A和64B的数据产生逻辑60。
在所示实施例中,组合元件42的第三输入通过多路复用器66提供,其被耦连以接收C输入或经由寄存器反馈路径68的第一寄存器46的输出。依靠提供给多路复用器66的选择输入,C输入或寄存器反馈信号被提供给组合元件42。需要注意的是C输入的多路复用是任意的并且任何其他输入A,B或D也可以通过寄存器反馈信号68被多路复用。
在操作期间,组合元件42产生组合输出44以响应一组输入(A,B,C,D)或(A,B,寄存器反馈信号68,D)。逻辑模块40可以产生寄存或非寄存输出。换句话说,组合输出44可以直接通过输出多路复用器50A-50C被输出或者通过寄存器46和/或48然后通过输出多路复用器50A-50C被输出。
在非寄存模式中,组合输出44被直接提供给每个多路复用器50A-50C。通过选择到每个多路复用器50A-50C的直接输入,非寄存输出44可以被选择性地耦连到逻辑阵列块互连线或在包含逻辑模块40的逻辑块内的本地逻辑阵列块连线。此外,所示多路复用器50A-50C的数量和特定排列是任意的并且可使用其它配置。
在寄存输出模式中,组合输出44经由数据产生逻辑60被提供给第一寄存器46和/或第二寄存器48。具体地,第一寄存器46被配置为在它的数据输入63A接收:(i)组合输出44,或(ii)经由多路复用器62A的输入C。第二寄存器48被配置来在它的数据输入接收:(i)组合输出44,(ii)经由多路复用器62B和62C的输入信号A,或(iii)同样经由多路复用器62B和62C的第一寄存器46的级联输出72。两个多路复用器62A和62B的选择输入被寄存器控制信号54控制,该寄存器控制信号由控制信号选择电路52产生,而多路复用器62C的选择输入由配置位(未示出)控制。在各种实施例中,提供给控制信号选择电路52的一个或多于一个控制信号58从这一组中选择,这一组包括但不限制于:时钟信号、时钟使能信号、同步载入信号、异步载入信号、同步清零信号和异步清零信号。
第一寄存器46和第二寄存器48也都可以通过控制信号选择电路52被清零。通过驱动清零信号70到低电位并设定寄存器控制信号54以选择多路复用器62A和62B每个的第二输入,控制信号选择电路52引起与门64A和64B的输出处在低电位并且分别提供给寄存器46和48的数据输入。
在所示实施例中,寄存器46和48的输出在多路复用器50A-50C中被分配。例如,第一寄存器的输出被施加到多路复用器50A和50B,但不施加到50C。第二寄存器48的输出只提供给多路复用器50C,但不提供给50A和50B。这样,寄存组合输出可以经由多路复用器50A-50C被选择性地耦连到逻辑阵列块互连线或包括逻辑模块40的逻辑块内的本地逻辑阵列块连线。两个寄存器46和48也可以驱动逻辑阵列块互连路径选择的不同子集。特定地,为了降低驱动逻辑阵列块互连路由选择的多路复用器50A-50C的成本,多路复用器50A-50C可受限为只从寄存器46或48中的一个选择它们的输入。
逻辑模块40提供许多优势并且比现有技术模块更加灵活。例如,逻辑模块40能够(i)提供组合输出44的两个寄存输出;(ii)提供组合输出44的一个寄存输出并使用另一个寄存器进行触发器操作;(iii)提供组合输出44的两个非寄存输出并使用寄存器46和48中的一个或其两者来进行不相关的触发器操作;或者(iv)只使用寄存器46和48中的一个或两个进行触发器操作。
在图4中说明的本发明的一个实施例中,两个寄存器46和48共享同样的控制信号选择逻辑52以降低成本。然而,在替代实施例中,分开的控制逻辑可以被使用。另外,为了给上文提到的每个寄存器46和48提供独特的数据输入,上文描述的电路60中的至少一些不同的数据产生逻辑是必要的。另一个有用的属性是逻辑块模40的不同的输入信号A-C或组合输出可作为载入数据被提供给寄存器46或48。因此,寄存器46和48都可以载入同样的逻辑模块输入A-C(假设A和C上的信号是可用的)或组合输出,使得可以提供触发器的两个同样的副本,这样允许单个逻辑触发器驱动全部路径选择输出。因此,虽然单独触发器的路由选择灵活性比传统情况小,但通过一般情况下每个逻辑元件使用单个触发器来复制触发器,传统情况的全部路由选择灵活性是可用的。还有另一个特点是一个寄存器46将另一个寄存器的输出作为数据载入的能力,这样形成了移位寄存器。
通过图4的逻辑模块40,两个寄存器46和48都能够被一个组合输出信号44驱动。这样,在这个实施例中,逻辑模块40中寄存器的数量超过组合输出信号的数量,其比率为(2∶1)。然而需要注意的是,所述比率是任意的。在另一个实施例中,每个逻辑模块的寄存器和组合输出的数量可能是变化的。例如,逻辑模块40的不同实施例中寄存器(多个)与组合逻辑输出(多个)的比率可以是例如3∶1,3∶2,4∶1,4∶2,4∶3,5∶1,5∶2,5∶3或5∶4。虽然上文列出的全部多种实施例数目过于众多以至于不能在此处详细讨论,但在下文作为示例将描述三个寄存器对两个组合输出的(3∶2)比率的逻辑模块。
参考图5,它显示了依照本发明的第二个实施例的用在逻辑阵列中的逻辑模块。在这个实施例中,逻辑模块80与模块40相似,只是逻辑模块80包括:(i)产生第一和第二组合输出44A和44B的组合元件42;(ii)寄存器46和48以外的第三寄存器82;(iii)在数据产生逻辑60内额外的多路复用器62E和62F以及与门64C;(iv)额外的输出多路复用器50D-50F。组合元件42被配置来接收输入A-H。寄存器46、48和82每个被配置来接收组合输出信号44A或44B中的一个,一个输入信号A,B,G或H或清零信号。寄存或非寄存的组合输出信号44A和44B在多个输出多路复用器50A-50F中被分配。此外,同样的编号代表同样的元件,并且因此在此处没有详细地讨论。在所示实施例中,寄存器46被配置成只接收第一组合输出44A,但不接收第二组合输出44B。然而,寄存器48和82每个被配置成只接收第二组合输出44B,但不接收第一组合输出44A。
逻辑模块80提供上文关于图4描述的同样特性和优势,只是具有第三寄存器82的额外益处,这样提供了甚至更高级的效率和灵活性。每两个组合输出使用三个寄存器提供比传统情况高、比每个组合输出提供两个触发器低的触发器对组合逻辑的比率。
在其它实施例中,组合元件的数量和他们产生的组合输出信号的数量可以是变化的。例如,逻辑模块可以包括从一到四或更多的组合元件42,其能够产生一,二,三,四或更多组合输出44。
虽然已经参照其具体实施例对本发明进行了特别展示和描述,但本领域技术人员将了解到可以对所公开的实施例做出形式和细节上的改变而不偏离本发明的精神和范围。因此,希望本发明被解读为包括处在本发明真实精神和范围内的全部变体和等价物。
Claims (31)
1.一种可编程逻辑器件,其包括:
安排在阵列中的多个逻辑阵列块;
互联所述阵列的所述多个逻辑阵列块的多个逻辑阵列块互连线;
其中所述多个逻辑阵列块中的至少一个逻辑阵列块还包括至少一个逻辑模块,所述一个逻辑模块包括:
第一组合元件,其被配置为响应提供给所述一个逻辑模块的输入产生第一组合输出信号以及第二组合输出信号;
第一寄存器,其能够被所述第一组合输出信号驱动;
第二寄存器,其能够被所述第一组合输出信号驱动;以及
第三寄存器,该第三寄存器能够被所述第一组合元件产生的所述第二组合输出信号驱动。
2.根据权利要求1所述的可编程逻辑器件,其中所述一个逻辑模块还包含第二组合元件,其被配置为产生第三组合输出信号,其中所述第一寄存器能够被所述第一组合输出信号或所述第二组合输出信号驱动。
3.根据权利要求1所述的可编程逻辑器件,其中所述一个逻辑模块还包含第二组合元件,其被配置为产生第三组合输出信号,其中所述第一寄存器能够被所述第一组合输出信号或所述第二组合输出信号驱动,而所述第二寄存器只能够被所述第一组合输出信号驱动。
4.根据权利要求1所述的可编程逻辑器件,其中所述一个逻辑模块还包含控制信号选择电路,该控制信号选择电路被配置为产生寄存器控制信号来分别控制所述第一寄存器和所述第二寄存器。
5.根据权利要求4所述的可编程逻辑器件,其中所述控制信号选择电路被配置为响应提供给所述一个逻辑模块的一个或多于一个控制信号产生所述寄存器控制信号。
6.根据权利要求5所述的可编程逻辑器件,其中提供给所述一个逻辑模块的所述一个或多于一个控制信号从一组信号中选择,所述一组信号由时钟信号、时钟使能信号、同步载入信号,异步载入信号、同步清零信号和异步清零信号组成。
7.根据权利要求1所述的可编程逻辑器件,其中所述第一寄存器的输出作为输入被可编程地级联到所述第二寄存器。
8.根据权利要求1所述的可编程逻辑器件,其中所述一个逻辑模块还包含分别耦连到所述第一寄存器和所述第二寄存器的输出的多个输出多路复用器。
9.根据权利要求8所述的可编程逻辑器件,其中所述第一寄存器和所述第二寄存器的输出在所述多个输出多路复用器内被分配。
10.根据权利要求8所述的可编程逻辑器件,其中所述输出多路复用器选择性地把所述第一寄存器和所述第二寄存器的输出耦连到所述逻辑阵列块互连线、所述至少一个逻辑阵列块本地的逻辑阵列块连线中的任意一个或耦连到这两者上。
11.根据权利要求1所述的可编程逻辑器件,其中所述一个逻辑模块还包含数据产生逻辑,该数据产生逻辑分别为所述第一寄存器和第二寄存器提供第一数据输入和第二数据输入。
12.根据权利要求11所述的可编程逻辑器件,其中所述第一数据输入和第二数据输入是提供给所述一个逻辑模块的输入。
13.根据权利要求12所述的可编程逻辑器件,其中提供给所述第一寄存器和第二寄存器的所述第一数据输入和第二数据输入是提供给所述一个逻辑模块的相同数据输入或两个不同数据输入。
14.根据权利要求1所述的可编程逻辑器件,其中所述第一寄存器能够被下列中的一个信号驱动:
(i)所述第一组合输出信号;
(ii)提供给所述一个逻辑模块的输入信号;或
(iii)清零信号。
15.根据权利要求1所述的可编程逻辑器件,其中所述第二寄存器能够被下列中的一个信号驱动:
(i)所述第一组合输出信号;
(ii)提供给所述一个逻辑模块的输入信号;或
(iii)清零信号。
16.一种可编程逻辑器件,其包括:
安排在阵列中的多个逻辑阵列块;
互联所述阵列的所述多个逻辑阵列块的多个逻辑阵列块互连线;
其中所述多个逻辑阵列块中的至少一个逻辑阵列块还包括至少一个逻辑模块,所述一个逻辑模块包括:
第一组合元件,其被配置为响应提供给所述一个逻辑模块的输
入产生第一组合输出信号;
第一寄存器,其能够被所述第一组合输出信号驱动;
第二寄存器,其能够被所述第一组合输出信号驱动;
其中所述第一寄存器的输出作为输入被可编程地级联到所述第二寄存器。
17.一种可编程逻辑器件,其包括:
安排成阵列的多个逻辑阵列块;
互联所述阵列的所述多个逻辑阵列块的多个逻辑阵列块互连线;
其中所述多个逻辑阵列块中的至少一个逻辑阵列块还包括至少一个逻辑模块,所述一个逻辑模块包括:
一个或多于一个组合元件,其被配置为响应提供给所述一个逻辑模块的输入产生一个或多于一个组合输出信号;以及
多个寄存器,其能够被一个或多于一个组合输出信号驱动,
其中在所述一个逻辑模块中寄存器的数量超过组合输出信号的数量。
18.根据权利要求17所述的可编程逻辑器件,其中在所述一个逻辑模块中寄存器的数量相对于组合输出信号的数量分别由下列比率中的一个定义:2∶1,3∶1,3∶2,4∶1,4∶2,4∶3,5∶1,5∶2,5∶3或5∶4。
19.根据权利要求18所述的可编程逻辑器件,其中所述一个或多于一个组合元件还由下列中的一种构成:
(i)一个第一组合元件,其被配置为产生第一组合输出信号;
(ii)一个第一组合元件,其被配置为产生第一组合输出信号和第二组合输出信号;
(iii)一个第一组合元件,其被配置为产生第一组合输出信号和第二组合输出信号,以及一个第二组合元件,其被配置成产生第三组合输出信号;以及
(iv)一个第一组合元件,其被配置为产生第一组合输出信号和第二组合输出信号,以及一个第二组合元件,其被配置为产生第三组合输出信号和第四组合输出信号。
20.根据权利要求18所述的可编程逻辑器件,其中所述多个寄存器能够被一个或多于一个组合输出信号控制,所述多个寄存器由下列中的一种构成:
(i)在所述一个逻辑模块内的两个寄存器;
(ii)在所述一个逻辑模块内的三个寄存器;
(iii)在所述一个逻辑模块内的四个寄存器;或
(iv)在所述一个逻辑模块内的五个寄存器。
21.根据权利要求18所述的可编程逻辑器件,其中所述一个逻辑模块还包含:
一个第一组合元件,其被配置为产生第一组合输出信号;
第一寄存器,其能够被所述第一组合输出信号驱动;以及
第二寄存器,其能够被所述第一组合输出信号驱动。
22.根据权利要求21所述的可编程逻辑器件,其中所述第一组合元件还被配置为产生第二组合输出信号,并且所述一个逻辑模块还包含能够被所述第一组合输出信号或所述第二组合输出信号驱动的第三寄存器。
23.根据权利要求18所述的可编程逻辑器件,其中所述一个逻辑模块还包含控制信号选择电路,该控制信号选择电路被配置为产生多个寄存器控制信号来分别控制所述多个寄存器。
24.根据权利要求23所述的可编程逻辑器件,其中所述控制信号选择电路被配置为响应提供给所述一个逻辑模块的一个或多于一个控制信号产生所述多个寄存器控制信号。
25.根据权利要求24所述的可编程逻辑器件,其中提供给所述一个逻辑模块的所述一个或多于一个控制信号是从一组信号中选择的,所述一组信号由时钟信号、时钟使能信号、同步载入信号,异步载入信号、同步清零信号和异步清零信号构成。
26.根据权利要求18所述的可编程逻辑器件,其中所述多个寄存器可以被可编程地级联到一起,使得一个寄存器的输出被提供给另一个寄存器的输入。
27.根据权利要求18所述的可编程逻辑器件,其中所述一个逻辑模块还包含分别耦连到所述多个寄存器输出的多个输出多路复用器。
28.根据权利要求27所述的可编程逻辑器件,其中所述多个寄存器的输出分别在所述多个输出多路复用器内被分配。
29.根据权利要求28所述的可编程逻辑器件,其中所述多个输出多路复用器选择性地把所述多个寄存器的输出分别耦连到所述逻辑阵列块互连线或所述至少一个逻辑阵列块本地的逻辑阵列块连线之一。
30.根据权利要求18所述的可编程逻辑器件,其中所述一个逻辑模块还包含数据产生逻辑,该数据产生逻辑分别为所述多个寄存器提供一个或多于一个数据输入。
31.根据权利要求18所述的可编程逻辑器件,其中所述多个寄存器中的每个能够被下列信号中的一个信号驱动:
(i)一个或多于一个所述组合输出信号;
(ii)提供给所述一个逻辑模块的输入信号;或
(iii)清零信号。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/753,059 | 2007-05-24 | ||
US11/753,059 US7459932B1 (en) | 2007-05-24 | 2007-05-24 | Programmable logic device having logic modules with improved register capabilities |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101312346A CN101312346A (zh) | 2008-11-26 |
CN101312346B true CN101312346B (zh) | 2013-04-24 |
Family
ID=40071816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810098413.2A Expired - Fee Related CN101312346B (zh) | 2007-05-24 | 2008-05-26 | 具有带改进的寄存器性能的逻辑模块的可编程逻辑器件 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7459932B1 (zh) |
CN (1) | CN101312346B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8581624B2 (en) | 2012-03-29 | 2013-11-12 | Altera Corporation | Integrated circuits with multi-stage logic regions |
US10586004B2 (en) | 2015-06-22 | 2020-03-10 | Altera Corporation | Method and apparatus for utilizing estimations for register retiming in a design compilation flow |
WO2018122658A1 (en) * | 2016-12-27 | 2018-07-05 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device |
US11132207B2 (en) * | 2017-12-29 | 2021-09-28 | Lattice Semiconductor Corporation | Fast boot systems and methods for programmable logic devices |
EP3588779B1 (en) * | 2018-06-22 | 2021-02-24 | Menta | Digital signal processor and method of operation |
CN110018654B (zh) * | 2019-03-19 | 2021-09-14 | 中科亿海微电子科技(苏州)有限公司 | 细粒度可编程时序控制逻辑模块 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5761483A (en) * | 1995-08-18 | 1998-06-02 | Xilinx, Inc. | Optimizing and operating a time multiplexed programmable logic device |
US7129747B1 (en) * | 2004-10-15 | 2006-10-31 | Xilinx, Inc. | CPLD with fast logic sharing between function blocks |
CN1909439A (zh) * | 2005-08-03 | 2007-02-07 | 阿尔特拉公司 | 可编程逻辑器件集成电路上用于高速串行数据接收机的解串器 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5742179A (en) * | 1994-01-27 | 1998-04-21 | Dyna Logic Corporation | High speed programmable logic architecture |
US5963050A (en) * | 1997-02-26 | 1999-10-05 | Xilinx, Inc. | Configurable logic element with fast feedback paths |
US6943580B2 (en) * | 2003-02-10 | 2005-09-13 | Altera Corporation | Fracturable lookup table and logic element |
US7185035B1 (en) * | 2003-10-23 | 2007-02-27 | Altera Corporation | Arithmetic structures for programmable logic devices |
US7167022B1 (en) * | 2004-03-25 | 2007-01-23 | Altera Corporation | Omnibus logic element including look up table based logic elements |
US7274214B1 (en) * | 2005-06-14 | 2007-09-25 | Xilinx, Inc. | Efficient tile layout for a programmable logic device |
US7268584B1 (en) * | 2005-07-28 | 2007-09-11 | Altera Corporation | Adder circuitry for a programmable logic device |
US7330052B2 (en) * | 2005-09-22 | 2008-02-12 | Altera Corporation | Area efficient fractureable logic elements |
-
2007
- 2007-05-24 US US11/753,059 patent/US7459932B1/en active Active
-
2008
- 2008-05-26 CN CN200810098413.2A patent/CN101312346B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5761483A (en) * | 1995-08-18 | 1998-06-02 | Xilinx, Inc. | Optimizing and operating a time multiplexed programmable logic device |
US7129747B1 (en) * | 2004-10-15 | 2006-10-31 | Xilinx, Inc. | CPLD with fast logic sharing between function blocks |
CN1909439A (zh) * | 2005-08-03 | 2007-02-07 | 阿尔特拉公司 | 可编程逻辑器件集成电路上用于高速串行数据接收机的解串器 |
Also Published As
Publication number | Publication date |
---|---|
US7459932B1 (en) | 2008-12-02 |
CN101312346A (zh) | 2008-11-26 |
US20080290897A1 (en) | 2008-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101312346B (zh) | 具有带改进的寄存器性能的逻辑模块的可编程逻辑器件 | |
US7609085B1 (en) | Configurable integrated circuit with a 4-to-1 multiplexer | |
EP0701713B1 (en) | Field programmable logic device with dynamic interconnections to a dynamic logic core | |
US7843215B2 (en) | Reconfigurable array to compute digital algorithms | |
CN101312347B (zh) | 具有复杂逻辑块的可编程逻辑器件 | |
US7587697B1 (en) | System and method of mapping memory blocks in a configurable integrated circuit | |
US7164290B2 (en) | Field programmable gate array logic unit and its cluster | |
JP6250548B2 (ja) | 再構成可能な半導体装置の論理構成方法 | |
US7518400B1 (en) | Barrel shifter implemented on a configurable integrated circuit | |
US8230182B2 (en) | System and method for providing more logical memory ports than physical memory ports | |
EP1454257A2 (en) | Programmable gate array having interconnecting logic to support embedded fixed logic circuitry | |
US20060005090A1 (en) | Compare, select, sort, and median-filter apparatus in programmable logic devices and associated methods | |
US20130257476A1 (en) | Integrated circuits with multi-stage logic regions | |
US9026967B1 (en) | Method and apparatus for designing a system on multiple field programmable gate array device types | |
US7193436B2 (en) | Fast processing path using field programmable gate array logic units | |
US7962705B2 (en) | System and method for providing a virtual memory architecture narrower and deeper than a physical memory architecture | |
US7268584B1 (en) | Adder circuitry for a programmable logic device | |
US8434045B1 (en) | System and method of providing a memory hierarchy | |
US7685215B1 (en) | Fast-carry arithmetic circuit using a multi-input look-up table | |
US6051031A (en) | Module-based logic architecture and design flow for VLSI implementation | |
US7873934B1 (en) | Method and apparatus for implementing carry chains on field programmable gate array devices | |
JPH10233676A (ja) | 論理アレイブロック内でローカル相互接続ラインを配列する方法およびプログラマブル論理回路 | |
US7504858B1 (en) | Configurable integrated circuit with parallel non-neighboring offset connections | |
US7486109B2 (en) | Programmable logic device | |
US7707532B1 (en) | Techniques for grouping circuit elements into logic blocks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130424 Termination date: 20200526 |
|
CF01 | Termination of patent right due to non-payment of annual fee |