CN105391443B - 用于可编程逻辑装置的逻辑单元 - Google Patents
用于可编程逻辑装置的逻辑单元 Download PDFInfo
- Publication number
- CN105391443B CN105391443B CN201510535534.9A CN201510535534A CN105391443B CN 105391443 B CN105391443 B CN 105391443B CN 201510535534 A CN201510535534 A CN 201510535534A CN 105391443 B CN105391443 B CN 105391443B
- Authority
- CN
- China
- Prior art keywords
- signal
- logic
- multiplexer
- terminal
- coupled
- 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.)
- Active
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/0008—Arrangements for reducing power consumption
-
- 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/0175—Coupling arrangements; Interface arrangements
- H03K19/017581—Coupling arrangements; Interface arrangements programmable
-
- 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
-
- 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/17736—Structural details of routing 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/17736—Structural details of routing resources
- H03K19/1774—Structural details of routing resources for global signals, e.g. clock, reset
Abstract
本申请案涉及一种用于可编程逻辑装置的逻辑单元。可编程逻辑装置中的逻辑单元从路由网络接收外部信号,所述外部信号用作经由第一多路复用器选择组合逻辑信号的选择信号以及到第二多路复用器的数据输入。所述第二多路复用器在所述组合逻辑信号与所述外部信号之间进行选择且将输出信号提供到寄存器。因此,所述逻辑单元具有使用最少路由资源支持组合及/或循序函数的灵活性。第三多路复用器可选择来自所述寄存器的输出或另一信号作为来自所述逻辑单元的输出信号。当不选择所述寄存器输出作为所述输出信号时可门控关断到所述寄存器的时钟信号,借此减少动态电力消耗。所述可编程逻辑装置可包含若干个超级逻辑单元,所述若干个超级逻辑单元中的每一者包含多个逻辑单元。
Description
相关申请案的交叉参考
本申请案依据35USC 119主张对2014年8月27日提出申请的第62/042,720号美国临时申请案的优先权,所述美国临时申请案以其全文引用的方式并入本文中。
技术领域
本发明涉及可编程逻辑装置,且更具体来说涉及用于可编程逻辑装置中的逻辑单元。
背景技术
有时称为可编程专用集成电路(PASIC)、现场可编程门阵列或复杂可编程逻辑装置(CPLD)的可编程逻辑装置为通用集成电路芯片,通用集成电路芯片的内部电路可由个别用户配置以实现用户特定电路。为配置可编程逻辑装置,用户配置可编程逻辑装置的芯片上互连结构,使得选定芯片上电路组件的选定输入端子与选定输出端子以使得所得电路为用户所期望的特定电路的方式电连接在一起。
可编程逻辑装置包含由有时称为可编程互连件的可编程路由网络互连的若干个可编程逻辑块。逻辑块可由一或多个逻辑单元组成,其中逻辑单元通常由具有耦合到路由网络的经定义数目个输入及输出的一或多个逻辑元件构成。举例来说,逻辑单元(逻辑块的核心单元)可包含查找表(LUT)与寄存器的组合,所述组合从路由网络接收输入信号,而且产生到路由网络的输出信号。在可编程逻辑装置的配置期间,每一查找表的真实表经编程以实施所要逻辑函数。
图1通过实例的方式图解说明常规逻辑单元10,常规逻辑单元10包含两个LUT 12、14、多路复用器16及寄存器18。每一LUT 12、14从路由网络(未展示)接收四个输入。每一LUT12、14的组合输出12a、14a可经提供为逻辑单元10的直接输出,且还由多路复用器16接收。多路复用器16从路由网络进一步接收第三输入(数据输入)。多路复用器16从组合输出12a、14a及数据输入进行选择以提供由寄存器18接收的输出信号。由多路复用器16进行的选择可为固定的(例如,基于可编程逻辑装置到接高(VDD)信号或接低(GND)信号的初始编程),或可为动态的(此需要来自路由网络的两个额外资源)。寄存器18接收来自路由网络的时钟信号以及其它控制信号(例如,SET、RESET)且产生可经提供为逻辑单元10的输出的输出信号18a。
期望提供路由资源及电力的更高效使用的经改进可编程逻辑块架构的技术。
发明内容
可编程逻辑装置中的逻辑单元从路由网络接收外部信号,所述外部信号用作到第一多路复用器的用以在来自逻辑元件(例如,查找表)的输出信号之间进行选择的外部选择输入信号以及到第二多路复用器的数据输入。所述第二多路复用器在来自所述第一多路复用器的所述组合逻辑信号与用作所述数据输入的所述外部信号之间进行选择且将输出信号提供到寄存器。因此,所述逻辑单元具有使用最少路由资源支持组合或循序函数或两者的灵活性。另外,第三多路复用器可选择来自所述寄存器的输出或另一信号作为来自所述逻辑单元的所述输出信号。当不选择所述寄存器输出作为所述输出信号时可门控关断到所述寄存器的时钟信号,借此减少动态电力消耗。所述可编程逻辑装置可包含若干个超级逻辑单元,所述若干个超级逻辑单元中的每一者包含多个逻辑单元。
在一个实施方案中,可编程逻辑装置包含:路由网络;多个逻辑单元,所述多个逻辑单元中的每一逻辑单元包括耦合到所述路由网络的多个输入端子,及至少一个输出端子,所述逻辑单元包括:第一逻辑元件,其具有耦合到所述路由网络的第一多个输入端子,及第一输出端子;第二逻辑元件,其具有耦合到所述路由网络的第二多个输入端子,及第二输出端子;第一多路复用器,其具有耦合到所述第一输出端子的第一多路复用器输入端子及耦合到所述第二输出端子的第二多路复用器输入端子以及经耦合以从所述路由网络接收动态选择信号的第一多路复用器选择端子,所述第一多路复用器具有第三输出端子;第二多路复用器,其具有耦合到所述第三输出端子的第三多路复用器输入端子及耦合到所述经耦合以从所述路由网络接收所述动态选择信号的第一多路复用器选择端子的第四多路复用器输入端子,所述第二多路复用器具有第四输出端子;及寄存器,其具有耦合到所述第四输出端子的寄存器数据端子及耦合到所述逻辑单元的输出端子的第五输出端子。
在一个实施方案中,由可编程逻辑装置内的逻辑单元执行包含如下内容的方法:基于来自路由网络的选择信号而在来自第一逻辑元件的第一输出信号与来自第二逻辑元件的第二输出信号之间进行选择以产生组合逻辑信号;在所述组合逻辑信号与来自所述路由网络的所述选择信号之间进行选择以产生寄存器数据输入信号;及用寄存器接收所述寄存器数据输入信号。
在一个实施方案中,可编程逻辑装置包含:路由网络;多个超级逻辑单元,其耦合到所述路由网络,所述多个超级逻辑单元中的每一者包括多个逻辑单元,其中所述多个逻辑单元中的每一逻辑单元从所述路由网络接收至少一个共同信号且其中每一逻辑单元包括经耦合以从所述路由网络接收不同信号的多个输入端子,及至少一个输出端子,且包括:第一逻辑元件,其具有耦合到所述路由网络的第一多个输入端子,及第一输出端子;第二逻辑元件,其具有耦合到所述路由网络的第二多个输入端子,及第二输出端子;第一多路复用器,其具有耦合到所述第一输出端子的第一多路复用器输入端子及耦合到所述第二输出端子的第二多路复用器输入端子以及经耦合以从所述路由网络接收动态选择信号的第一多路复用器选择端子,所述第一多路复用器具有第三输出端子;第二多路复用器,其具有耦合到所述第三输出端子的第三多路复用器输入端子及耦合到所述经耦合以从所述路由网络接收所述动态选择信号的第一多路复用器选择端子的第四多路复用器输入端子,所述第二多路复用器具有第四输出端子;及寄存器,其具有耦合到所述第四输出端子的寄存器数据端子及耦合到所述逻辑单元的输出端子的第五输出端子。
在一个实施方案中,包括逻辑单元的可编程逻辑装置包含:寄存器,其具有寄存器数据端子、时钟端子及第一输出端子;第一多路复用器,其包括第一输入端子、耦合到所述寄存器的所述第一输出端子的第二输入端子、选择端子及耦合到所述逻辑单元的输出端子的第二输出端子;及逻辑门,其具有耦合到所述第一多路复用器的所述选择端子的第三输入端子、经耦合以接收时钟信号的第四输入端子,及第三输出端子,其中所述逻辑门的所述第三输出端子耦合到所述寄存器的所述时钟端子。
在一个实施方案中,由可编程逻辑装置中的逻辑单元执行的方法包含:用寄存器接收信号;从来自所述寄存器的输出信号或来自所述逻辑单元内的第二信号中的一者选择待由所述逻辑单元产生的输出信号;及门控到所述寄存器的时钟信号,其中当选择来自所述寄存器的所述输出信号作为所述输出信号时将所述时钟信号提供到所述寄存器且当选择来自所述逻辑单元内的所述第二信号作为所述输出信号时门控关断所述时钟信号。
附图说明
图1图解说明常规逻辑单元。
图2图解说明包含若干个逻辑块的岛状可编程逻辑装置的示意图。
图3图解说明使用最少路由资源进行组合逻辑信号与来自路由网络的数据信号之间的逻辑单元选择。
图4是图解说明由逻辑单元执行的用于在组合逻辑信号与数据信号之间进行选择的方法的流程图。
图5图解说明用来自图3的多个逻辑单元实施的超级逻辑单元。
图6图解说明具有门控时钟输入的寄存器。
图7图解说明类似于图3中的逻辑单元且包含到寄存器的门控时钟输入的逻辑单元。
图8是图解说明由逻辑单元执行的其中门控到寄存器的时钟输入的方法的流程图。
图9图解说明用来自图7的多个逻辑单元实施的超级逻辑单元。
具体实施方式
图2展示例如可编程专用集成电路(PASIC)、现场可编程门阵列(FPGA)或复杂可编程逻辑装置(CPLD)或类似装置的岛状可编程逻辑装置100的示意图。可编程装置100经图解说明具有若干个行及列的逻辑块102以及示意性地展示为水平及垂直线的互连路由网络104。可编程装置100可具有多于或少于图2中所图解说明的逻辑块102。图2中还展示连接到路由网络104的若干个输入/输出(“I/O”)单元106。路由网络104填充有可经编程以使所要逻辑块102及I/O块106以如用户所期望的各种配置互连的可编程元件,例如SRAM、EPROM等。
图3图解说明逻辑单元200组合组合及循序逻辑两者因此其可同时支持组合及循序函数两者。逻辑单元200可用作逻辑块或用作可编程逻辑装置中的逻辑块的组件(例如图2中所图解说明)且连接到路由网络201。路由网络可为任一所要路由网络,例如毗瑟挐·A.·帕蒂尔(Vishnu A.Patil)等人与本发明同时提出申请的标题为“用于可编程逻辑装置的路由网络(Routing Network for Programmable Logic Device)”的第14/476,518号美国案中所阐述,所述美国案以其全文引用方式并入本文中。逻辑单元200图解说明为包含两个四输入查找表(LUT)202及204以及三个两输入多路复用器206、208及212以及寄存器210。如果期望,那么可变更LUT的数目、到LUT的输入的数目以及到多路复用器的输入的数目。如所图解说明,逻辑单元200包含在其内实施的组合以及循序逻辑。如图3中可见,逻辑单元200从路由网络201接收TBS输入信号,所述TBS输入信号可为来到逻辑单元200(例如,作为反馈)或来自另一逻辑单元的任一类型的信号,例如,作为组合或循序函数的输出。TBS输入信号可用作用于多路复用器206的动态选择信号或可用作到多路复用器208的数据输入信号,所述数据输入信号可提供到寄存器210。因此,TBS输入信号可用作逻辑单元200的组合或循序函数的输入。可经由多路复用器212选择逻辑单元200的输出CQZ作为来自逻辑元件(LUT 202及204)经由多路复用器206的组合输出或寄存器210的输出。
组合逻辑包含两个LUT(顶部LUT 202及底部LUT 204)、经由2x1多路复用器208耦合到寄存器210的直接输入选择2x1多路复用器206及在寄存器210的输出与由LUT202、204及多路复用器206提供的组合逻辑的输出之间进行选择的另一2x1多路复用器212。每一LUT202及204具有在顶部LUT 202的输入TI0、TI1、TI2、TI3及底部LUT204的输入BI0、BI1、BI2、BI3处耦合到路由网络201的四个输入端子。顶部LUT 202的输出端子可经提供为逻辑单元200的输出TZ及/或可经提供为逻辑单元200或局部逻辑单元阵列内的反馈。底部LUT 204的输出端子也可产生为逻辑单元200的输出BZ及/或可经提供为逻辑单元200或局部逻辑单元阵列内的反馈。
顶部LUT 202及底部LUT 204的输出端子还作为输入耦合到2x1多路复用器206。多路复用器206的选择端子耦合到来自路由网络201的TBS输入。如所图解说明,多路复用器206的选择端子及因此输入TBS还耦合到第二2x1多路复用器208的输入端子。多路复用器206在其输出端子207上产生组合逻辑信号。另外,多路复用器206的输出端子207耦合到多路复用器208的第二输入。多路复用器208的输出端子耦合到寄存器210的数据D输入。多路复用器208的选择端子可为固定的,例如,在起始可编程逻辑装置到接高(VDD)信号或接低(GND)信号时编程的SRAM位。可见,来自路由网络201的单个输入TBS可用作动态选择信号以在来自多路复用器206的207处产生组合逻辑信号或用作提供到寄存器210的数据输入。
逻辑单元200中的循序逻辑为寄存器210。一般来说,循序逻辑为其输出不仅取决於其输入信号的当前值而且取决于其输入的过去历史的逻辑电路类型。经图解说明为D类型触发器的寄存器210具有耦合到多路复用器208的输出端子的数据D输入端子以及由来自路由网络201的输入QCK驱动的时钟端子。寄存器210可进一步包含由输入QEN驱动的触发器启用输入端子E、由QST驱动的设定信号输入端子及由QRT驱动的复位信号输入端子。寄存器210包含耦合到第三2x1多路复用器212的第一输入端子的输出端子Q。如可见,第一多路复用器206的输出也可耦合到第三多路复用器212的输入端子。因此,多路复用器212的选择端子在寄存器210的输出与由LUT 202及204以及多路复用器206提供的组合逻辑的输出之间进行选择。多路复用器212的输出端子可经提供为逻辑单元200的输出CQZ及/或可经提供为逻辑单元200或局部逻辑单元阵列内的反馈。多路复用器212的选择端子可为固定的,例如,在起始可编程逻辑装置为接高(VDD)信号或接低(GND)信号时编程的SRAM位。
因此,逻辑单元200组合组合及循序逻辑两者,因此其可使用最少路由资源同时支持组合及循序函数两者。举例来说,下文表1图解说明由如图3中所图解说明之逻辑单元200支持的逻辑函数,其中1为接高(VDD)且0为接低(GND),X指示动态选择信号且Y指示任意值,即,接高或接低。
表1
在一个四输入LUT的情况下,可实现数目个布尔函数中的任一者。逻辑单元200可用于实施高达所有5输入及一些6、7、8及9输入组合或循序函数。为实施所有5输入函数,路由网络201可将TI0连接到BI0、将TI1连接到BI1、将TI2连接到BI2且将TI3连接到BI3。在第一多路复用器206的端子207处的输出h下,可如下表达5输入组合函数。
h(TBS,TI0,TI1,TI2,TI3)=TBS'.f(TI0,TI1,TI2,TI3)+
TBS.g(TI0,TI1,TI2,TI3) 方程式1。
另外,可能实施一些6、7、8及9输入函数。举例来说,针对7输入函数的实施方案,路由网络201可(例如)将TI0连接到BI0、将TI1连接到BI1。在第一多路复用器206的端子207处的输出h下,可如下表达7输入组合函数。
h(TBS,TI0,TI1,TI2,TI3,BI2,BI3)=TBS'.f(TI0,TI1,BI2,BI3)+
TBS.g(TI0,TI1,TI2,TI3) 方程式2
可类似地形成一些6、8及9输入函数的实施方案。应注意,可仅实施可以如下形式分解的那些类型的9输入函数:
h=TBS'.f(BI0,…,BI3)+TBS.g(TI0,…TI3) 方程式3
如果多路复用器206的选择为固定的(例如,经编程SRAM位),那么逻辑单元200可仅静态地选择特定函数f或g(其在h下仅为四输入函数)。然而,由于TBS在外部供应到逻辑单元200,因此逻辑单元200具有视需要及在需要时飞速地实施较大函数(如上文所讨论)的额外灵活性。因此,就关于面积、路径长度及定时优化逻辑来说,逻辑综合是更强大的。
因此,如图4中可见,由可编程逻辑装置内的逻辑单元执行包含如下内容的方法:基于来自路由网络的选择信号而在来自第一逻辑元件的第一输出信号与来自第二逻辑元件的第二输出信号之间进行选择以产生组合逻辑信号(252)。举例来说,多路复用器206基于来自路由网络的TBS输入而在来自顶部LUT 202及底部LUT 204的输出信号之间进行选择且在端子207处产生组合逻辑信号。(例如)由多路复用器208选择组合逻辑信号及来自路由网络的选择信号中的一者以产生寄存器数据输入信号(254)。寄存器210接收寄存器数据输入信号(256)。另外,来自逻辑单元的输出信号(例如,CQZ)可选自来自寄存器210的输出信号或来自逻辑单元内的信号中的一者。举例来说,来自逻辑单元内的信号可为(例如)在多路复用器206的端子207处的组合逻辑信号。
图5图解说明超级逻辑单元300,超级逻辑单元300为用图3中所图解说明的多个逻辑单元200实施的逻辑元件丛集。超级逻辑单元300可用作图2中所展示的可编程逻辑装置100中的逻辑块102。如所图解说明,超级逻辑单元300包含四个逻辑单元2000、2001、2002及2003(有时统称为逻辑单元200)。如果期望,那么更多或更少逻辑单元可含纳于超级逻辑单元300内。所有四个逻辑单元200可针对其相应寄存器共享来自路由网络的相同时钟输入QCK、复位输入QRT及设定输入QST,如用逻辑单元内的虚线所图解说明。然而,逻辑单元200中的每一者可接收独立触发器启用信号Q0EN、Q1EN、Q2EN及Q3EN。分别来自逻辑单元2000、2001、2002及2003的八个输出(即T0Z、CQ0Z、T1Z、CQ1Z、T2Z、CQ2Z、T3Z及CQ3Z)可通过路由网络从超级逻辑单元300提供到其它超级逻辑单元。然而,分别来自逻辑单元2000、2001、2002及2003的输出B0Z、B1Z、B2Z及B3Z可不通过路由网络提供到其它超级逻辑单元,但可在逻辑路径形成期间在需要的情况下及在需要时被使用以(例如)通过未展示的专用反馈网络反馈到相同超级逻辑单元300。如果期望,那么分别来自逻辑单元2000、2001、2002及2003的八个输出(T0Z、CQ0Z、T1Z、CQ1Z、T2Z、CQ2Z、T3Z及CQ3Z)还可用作(例如)通过未展示的专用反馈网络到相同超级逻辑单元300的反馈。或者,如果期望,那么输出B0Z、B1Z、B2Z及B3Z还可通过路由网络提供到其它超级逻辑单元。
图6图解说明可编程逻辑装置内的逻辑单元的接收门控时钟输入的寄存器410。类似于图3中所展示的寄存器210,寄存器410包含数据D输入端子、耦合到多路复用器412的输入端子的输出端子Q及由来自路由网络201的输入QCK驱动的时钟端子。类似于上文所讨论的寄存器210,寄存器410可包含其它端子,例如设定端子、复位端子及触发器启用端子。
然而,寄存器410经由逻辑“与”门414接收时钟输入QCK。尽管图解说明逻辑“与”门,但应理解,可使用任一其它适当逻辑门。“与”门414接收时钟输入QCK(例如经由路由网络201)以及来自多路复用器412的选择信号。多路复用器412的选择端子可为固定的,例如,在起始可编程逻辑装置为接高(VDD)信号或接低(GND)信号时经编程的SRAM位。因此,当多路复用器412的选择端子为高(即,1)借此选择耦合到寄存器410的输出端子Q的输入端子时,时钟信号QCK经由“与”门414传递到寄存器410的时钟输入端子。另一方面,当多路复用器412的选择端子为低(即,0)借此选择不耦合到寄存器410的输出端子Q的输入端子时,“与”门414将产生低信号借此防止时钟信号QCK在寄存器410的时钟输入端子上经接收。因此,当多路复用器412不选择来自寄存器410的输出时,门控关断到寄存器410的时钟信号借此减少动态电力消耗。
如果期望,那么寄存器的门控时钟输入可用于类似于图3中所展示的逻辑单元200的逻辑单元中。举例来说,图7图解说明类似于图3中的逻辑单元200(相似指定的元件为相同的)但包含如上文所讨论的寄存器410、多路复用器412及逻辑门414的逻辑单元400。然而,如果期望,那么寄存器410的门控时钟输入可用于不同于图3或图7中所图解说明的逻辑单元的逻辑单元中。
因此,如图8中可见,由可编程逻辑装置内的逻辑单元执行包含如下内容的方法:用寄存器接收信号(452);从来自寄存器的输出信号或来自逻辑单元内的第二信号选择待由逻辑单元产生的输出信号;及门控到寄存器的时钟信号(454)。当选择来自寄存器的输出信号作为输出信号时门控时钟信号以提供到寄存器且当选择来自逻辑单元内的第二信号作为输出信号时门控关断时钟信号(456)。另外,可在组合逻辑信号与来自路由网络的数据输入信号(例如,来自路由网络201的TBS输入)之间选择由寄存器接收的信号。来自逻辑单元内的第二信号可为组合逻辑信号。另外,来自第一逻辑元件的第一输出信号及来自第二逻辑元件的第二输出信号可(例如)基于数据输入信号经选择以提供为组合逻辑信号。
图9图解说明用如图7中所图解说明的多个逻辑单元400(其包含到寄存器的门控时钟信号)实施的超级逻辑单元500。超级逻辑单元500可用作图2中所展示的可编程逻辑装置100中的逻辑块102。如所图解说明,超级逻辑单元500包含四个逻辑单元4000、4001、4002及4003(有时统称为逻辑单元400)。如果期望,那么更多或更少逻辑单元可含纳于超级逻辑单元500内。类似于图5中所展示的超级逻辑单元300,所有逻辑单元400可针对其相应寄存器使用来自路由网络的相同时钟输入QCK、复位输入QRT及设定输入QST,如用逻辑单元内的虚线所图解说明。然而,逻辑单元400中的每一者用来自第三多路复用器的选择信号独立地门控时钟输入QCK信号,所述第三多路复用器在来自寄存器的输出与组合逻辑的输出之间进行选择。因此,可基于驻存于其中的逻辑单元的函数独立地门控到超级逻辑单元内的每一逻辑单元中的寄存器的时钟信号,借此减少动态电力消耗。
尽管出于指导性目的与特定实施例一起图解说明了本发明,但本发明不限于此。可在不背离本发明的范围的情况下做出各种改编及修改。因此,所附权利要求书的精神及范围不应限于前述说明。
Claims (39)
1.一种可编程逻辑装置,其包括:
路由网络;
多个逻辑单元,所述多个逻辑单元中的每一逻辑单元包括耦合到所述路由网络的多个输入端子,及至少一个输出端子,所述逻辑单元包括:
第一逻辑元件,其具有耦合到所述路由网络的第一多个输入端子,及第一输出端子;
第二逻辑元件,其具有耦合到所述路由网络的第二多个输入端子,及第二输出端子;
第一多路复用器,其具有耦合到所述第一输出端子的第一多路复用器输入端子及耦合到所述第二输出端子的第二多路复用器输入端子以及经耦合以从所述路由网络接收动态选择信号的第一多路复用器选择端子,所述第一多路复用器具有第三输出端子;
第二多路复用器,其具有耦合到所述第三输出端子的第三多路复用器输入端子及耦合到所述经耦合以从所述路由网络接收所述动态选择信号的第一多路复用器选择端子的第四多路复用器输入端子,所述第二多路复用器具有第四输出端子;
寄存器,其具有耦合到所述第四输出端子的寄存器数据端子及耦合到所述逻辑单元的输出端子的第五输出端子;及
所述可编程逻辑装置进一步包含超级逻辑单元,所述超级逻辑单元包括所述多个逻辑单元,其中所述多个逻辑单元中的每一逻辑单元中的所述寄存器具有经耦合以从所述路由网络接收相同SET信号及RESET信号的SET端子及RESET端子。
2.根据权利要求1所述的可编程逻辑装置,其中所述第一逻辑元件包括第一查找表,且所述第二逻辑元件包括第二查找表。
3.根据权利要求1所述的可编程逻辑装置,其中所述第二多路复用器具有经耦合以接收多路复用器选择信号的第二多路复用器选择端子,所述多路复用器选择信号选择在所述第四输出端子上提供来自所述第一多路复用器的输出信号或在所述第四输出端子上提供来自所述路由网络的所述动态选择信号作为数据信号。
4.根据权利要求3所述的可编程逻辑装置,其中所述第二多路复用器选择端子经耦合以接收固定选择信号。
5.根据权利要求1所述的可编程逻辑装置,其中所述寄存器的所述第五输出端子通过第三多路复用器耦合到所述逻辑单元的所述输出端子。
6.根据权利要求5所述的可编程逻辑装置,其中所述第三多路复用器包括耦合到所述第一多路复用器的所述第三输出端子的第五多路复用器输入端子、耦合到所述寄存器的所述第五输出端子的第六多路复用器输入端子及耦合到所述逻辑单元的所述输出端子的第六输出端子。
7.根据权利要求5所述的可编程逻辑装置,其中所述第三多路复用器包括第三多路复用器选择端子,且其中所述寄存器包括时钟端子,所述时钟端子经耦合以从所述路由网络接收用来自所述第三多路复用器选择端子的信号门控的时钟信号。
8.根据权利要求7所述的可编程逻辑装置,其中用来自所述第三多路复用器选择端子的所述信号来“与”门控所述时钟信号。
9.根据权利要求7所述的可编程逻辑装置,其中所述第三多路复用器选择端子经耦合以接收固定选择信号。
10.根据权利要求1所述的可编程逻辑装置,其进一步包括多个所述超级逻辑单元。
11.一种由可编程逻辑装置内的逻辑单元执行的方法,所述方法包括:
基于来自路由网络的选择信号而在来自第一逻辑元件的第一输出信号与来自第二逻辑元件的第二输出信号之间进行选择以产生组合逻辑信号;
在所述组合逻辑信号与来自所述路由网络的所述选择信号之间进行选择以产生寄存器数据输入信号;
用寄存器接收所述寄存器数据输入信号;及
用所述寄存器从所述路由网络接收SET信号和RESET信号,其中所述逻辑单元为所述可编程逻辑装置中的超级逻辑单元中的多个逻辑单元中的一者,且来自所述路由网络的所述SET信号和所述RESET信号由所述超级逻辑单元中的所述多个逻辑单元中的每一者中的寄存器接收。
12.根据权利要求11所述的方法,其中在所述组合逻辑信号与来自所述路由网络的所述选择信号之间进行选择是基于固定选择信号的。
13.根据权利要求11所述的方法,其进一步包括:
从来自所述寄存器的输出信号或来自所述逻辑单元内的信号中的一者选择待由所述逻辑单元产生的逻辑单元输出信号。
14.根据权利要求13所述的方法,其中来自所述逻辑单元内的所述信号为所述组合逻辑信号。
15.根据权利要求13所述的方法,门控到所述寄存器的时钟信号,其中当选择来自所述寄存器的所述输出信号作为所述逻辑单元输出信号时将所述时钟信号提供到所述寄存器,且当选择来自所述逻辑单元内的所述信号作为所述逻辑单元输出信号时门控关断所述时钟信号。
16.根据权利要求15所述的方法,其中所述逻辑单元输出信号的所述选择是基于固定选择信号。
17.一种可编程逻辑装置,其包括:
路由网络;
多个超级逻辑单元,其耦合到所述路由网络,所述多个超级逻辑单元中的每一者包括多个逻辑单元,其中所述多个逻辑单元中的每一逻辑单元从所述路由网络接收至少一个共同信号,且其中每一逻辑单元包括经耦合以从所述路由网络接收不同信号的多个输入端子,及至少一个输出端子,且包括:
第一逻辑元件,其具有耦合到所述路由网络的第一多个输入端子,及第一输出端子;
第二逻辑元件,其具有耦合到所述路由网络的第二多个输入端子,及第二输出端子;
第一多路复用器,其具有耦合到所述第一输出端子的第一多路复用器输入端子及耦合到所述第二输出端子的第二多路复用器输入端子以及经耦合以从所述路由网络接收动态选择信号的第一多路复用器选择端子,所述第一多路复用器具有第三输出端子;
第二多路复用器,其具有直接地耦合到所述第三输出端子的第三多路复用器输入端子及耦合到所述经耦合以从所述路由网络接收所述动态选择信号的第一多路复用器选择端子的第四多路复用器输入端子,所述第二多路复用器具有第四输出端子;及
寄存器,其具有耦合到所述第四输出端子的寄存器数据端子及耦合到所述逻辑单元的输出端子的第五输出端子。
18.根据权利要求17所述的可编程逻辑装置,其中所述第二多路复用器具有经耦合以接收多路复用器选择信号的第二多路复用器选择端子,所述多路复用器选择信号选择在所述第四输出端子上提供来自所述第一多路复用器的输出信号或在所述第四输出端子上提供来自所述路由网络的所述动态选择信号作为数据信号。
19.根据权利要求18所述的可编程逻辑装置,其中所述第二多路复用器选择端子经耦合以接收固定选择信号。
20.根据权利要求17所述的可编程逻辑装置,其中所述寄存器的所述第五输出端子通过第三多路复用器耦合到所述逻辑单元的所述输出端子。
21.根据权利要求20所述的可编程逻辑装置,其中所述第三多路复用器包括耦合到所述第一多路复用器的所述第三输出端子的第五多路复用器输入端子、耦合到所述寄存器的所述第五输出端子的第六多路复用器输入端子及耦合到所述逻辑单元的所述输出端子的第六输出端子。
22.根据权利要求20所述的可编程逻辑装置,其中所述第三多路复用器包括第三多路复用器选择端子,且其中所述寄存器包括时钟端子,所述时钟端子经耦合以从所述路由网络接收用来自所述第三多路复用器选择端子的信号门控的时钟信号。
23.根据权利要求22所述的可编程逻辑装置,其中用来自所述第三多路复用器选择端子的所述信号来“与”门控所述时钟信号。
24.根据权利要求22所述的可编程逻辑装置,其中所述第二多路复用器选择端子经耦合以接收固定选择信号。
25.一种包括逻辑单元的可编程逻辑装置,所述逻辑单元包括:
寄存器,其具有寄存器数据端子、时钟端子及第一输出端子;
第一多路复用器,其包括第一输入端子、耦合到所述寄存器的所述第一输出端子的第二输入端子、选择端子及耦合到所述逻辑单元的输出端子的第二输出端子;及
逻辑门,其具有耦合到所述第一多路复用器的所述选择端子的第三输入端子、经耦合以接收时钟信号的第四输入端子及第三输出端子,其中所述逻辑门的所述第三输出端子耦合到所述寄存器的所述时钟端子。
26.根据权利要求25所述的可编程逻辑装置,其中所述逻辑门为“与”门。
27.根据权利要求25所述的可编程逻辑装置,其中所述选择端子经耦合以接收固定选择信号。
28.根据权利要求25所述的可编程逻辑装置,其中所述寄存器数据端子耦合到第二多路复用器的输出端子,所述第二多路复用器在组合逻辑与来自路由网络的数据输入信号之间进行选择。
29.根据权利要求25所述的可编程逻辑装置,其中所述第一多路复用器的所述第一输入端子经耦合以接收来自所述逻辑单元内的信号。
30.根据权利要求29所述的可编程逻辑装置,其中来自所述逻辑单元内的所述信号为来自所述逻辑单元中的组合逻辑的组合逻辑信号。
31.根据权利要求30所述的可编程逻辑装置,其中所述逻辑单元中的所述组合逻辑包括:第一逻辑元件,其具有耦合到路由网络的第一多个输入端子,及第一输出端子;及第二逻辑元件,其具有耦合到所述路由网络的第二多个输入端子,及第二输出端子;及第二多路复用器,其耦合到所述第一输出端子及所述第二输出端子。
32.根据权利要求31所述的可编程逻辑装置,其中所述第一逻辑元件包括第一查找表且所述第二逻辑元件包括第二查找表,且其中所述第二多路复用器具有输出端子及经耦合以从所述路由网络接收动态选择信号的第二选择端子,所述可编程逻辑装置进一步包括第三多路复用器,所述第三多路复用器耦合有耦合到所述第二多路复用器的所述输出端子的输入端子、耦合到来自所述路由网络的所述动态选择信号的第二输入端子及耦合到所述寄存器的所述寄存器数据端子的输出端子。
33.根据权利要求25所述的可编程逻辑装置,其进一步包括:
路由网络;
多个超级逻辑单元,其耦合到所述路由网络,所述多个超级逻辑单元中的每一者包括多个所述逻辑单元,其中超级逻辑单元中的每一逻辑单元中的所述逻辑门经耦合以从所述路由网络接收所述时钟信号。
34.一种由可编程逻辑装置中的逻辑单元执行的方法,所述方法包括:
用寄存器接收信号;
从来自所述寄存器的输出信号或来自所述逻辑单元内的第二信号中的一者选择待由所述逻辑单元产生的输出信号;及
门控到所述寄存器的时钟信号,其中当选择来自所述寄存器的所述输出信号作为所述输出信号时将所述时钟信号提供到所述寄存器,且当选择来自所述逻辑单元内的所述第二信号作为所述输出信号时门控关断所述时钟信号。
35.根据权利要求34所述的方法,其中所述输出信号的所述选择是基于固定选择信号。
36.根据权利要求34所述的方法,其进一步包括在组合逻辑信号与来自路由网络的待提供作为由所述寄存器接收的所述信号的数据输入信号之间进行选择。
37.根据权利要求36所述的方法,其中来自所述逻辑单元内的所述第二信号包括所述组合逻辑信号。
38.根据权利要求36所述的方法,其进一步包括选择来自第一逻辑元件的第一输出信号及来自第二逻辑元件的第二输出信号以提供作为所述组合逻辑信号。
39.根据权利要求38所述的方法,其中来自所述第一逻辑元件的所述第一输出信号及来自所述第二逻辑元件的所述第二输出信号的所述选择是基于所述数据输入信号。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462042720P | 2014-08-27 | 2014-08-27 | |
US62/042,720 | 2014-08-27 | ||
US14/476,515 US9287868B1 (en) | 2014-08-27 | 2014-09-03 | Logic cell for programmable logic device |
US14/476,515 | 2014-09-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105391443A CN105391443A (zh) | 2016-03-09 |
CN105391443B true CN105391443B (zh) | 2021-01-05 |
Family
ID=53838563
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510507420.3A Active CN105391442B (zh) | 2014-08-27 | 2015-08-18 | 用于可编程逻辑装置的路由网络 |
CN201510535534.9A Active CN105391443B (zh) | 2014-08-27 | 2015-08-27 | 用于可编程逻辑装置的逻辑单元 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510507420.3A Active CN105391442B (zh) | 2014-08-27 | 2015-08-18 | 用于可编程逻辑装置的路由网络 |
Country Status (2)
Country | Link |
---|---|
US (2) | US9287868B1 (zh) |
CN (2) | CN105391442B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108182303B (zh) * | 2017-12-13 | 2020-08-28 | 京微齐力(北京)科技有限公司 | 基于混合功能存储单元的可编程器件结构 |
DE102019006293A1 (de) * | 2019-09-05 | 2021-03-11 | PatForce GmbH | Switchbox |
US11037069B1 (en) * | 2020-01-17 | 2021-06-15 | Tegze P. Haraszti | Method for creating gates and circuits for greatly improved computing apparatus by using symbol transformer |
US11791821B2 (en) * | 2021-02-02 | 2023-10-17 | Efinix Inc. | Fast FPGA interconnect stitching for wire highways |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5986465A (en) * | 1996-04-09 | 1999-11-16 | Altera Corporation | Programmable logic integrated circuit architecture incorporating a global shareable expander |
US6107822A (en) * | 1996-04-09 | 2000-08-22 | Altera Corporation | Logic element for a programmable logic integrated circuit |
CN1666417A (zh) * | 2002-07-10 | 2005-09-07 | 皇家飞利浦电子股份有限公司 | 具有可编程逻辑单元阵列的电子电路 |
CN1751439A (zh) * | 2003-02-19 | 2006-03-22 | 皇家飞利浦电子股份有限公司 | 具有可编程逻辑单元阵列的电子电路 |
CN102176673A (zh) * | 2011-02-25 | 2011-09-07 | 中国科学院半导体研究所 | 4输入查找表、fpga逻辑单元和fpga逻辑块 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5122685A (en) | 1991-03-06 | 1992-06-16 | Quicklogic Corporation | Programmable application specific integrated circuit and logic cell therefor |
US6759870B2 (en) * | 1991-09-03 | 2004-07-06 | Altera Corporation | Programmable logic array integrated circuits |
US5682107A (en) * | 1994-04-01 | 1997-10-28 | Xilinx, Inc. | FPGA architecture with repeatable tiles including routing matrices and logic matrices |
US6531890B1 (en) * | 1995-06-02 | 2003-03-11 | Lattice Semiconductor Corporation | Programmable optimized-distribution logic allocator for a high-density complex PLD |
US5818254A (en) * | 1995-06-02 | 1998-10-06 | Advanced Micro Devices, Inc. | Multi-tiered hierarchical high speed switch matrix structure for very high-density complex programmable logic devices |
US5923195A (en) | 1997-03-28 | 1999-07-13 | Cypress Semiconductor Corp. | Fast clock generator and clock synchronizer for logic derived clock signals with synchronous clock suspension capability for a programmable device |
US6191611B1 (en) | 1997-10-16 | 2001-02-20 | Altera Corporation | Driver circuitry for programmable logic devices with hierarchical interconnection resources |
US6118300A (en) | 1998-11-24 | 2000-09-12 | Xilinx, Inc. | Method for implementing large multiplexers with FPGA lookup tables |
US6693456B2 (en) * | 2000-08-04 | 2004-02-17 | Leopard Logic Inc. | Interconnection network for a field programmable gate array |
US6476636B1 (en) | 2000-09-02 | 2002-11-05 | Actel Corporation | Tileable field-programmable gate array architecture |
US6538470B1 (en) * | 2000-09-18 | 2003-03-25 | Altera Corporation | Devices and methods with programmable logic and digital signal processing regions |
US6426649B1 (en) | 2000-12-29 | 2002-07-30 | Quicklogic Corporation | Architecture for field programmable gate array |
WO2003034289A2 (en) | 2001-10-16 | 2003-04-24 | Leopard Logic Inc. | Field programmable gate array core cell with efficient logic packing |
US7028281B1 (en) * | 2002-07-12 | 2006-04-11 | Lattice Semiconductor Corporation | FPGA with register-intensive architecture |
CN1507285A (zh) * | 2002-12-06 | 2004-06-23 | 中国科学院计算技术研究所 | 用fpga器件实现机群交换网络路由芯片的方法 |
US6975139B2 (en) * | 2004-03-30 | 2005-12-13 | Advantage Logic, Inc. | Scalable non-blocking switching network for programmable logic |
US7375552B1 (en) * | 2005-06-14 | 2008-05-20 | Xilinx, Inc. | Programmable logic block with dedicated and selectable lookup table outputs coupled to general interconnect structure |
US7295035B1 (en) | 2005-08-09 | 2007-11-13 | Lattice Semiconductor Corporation | Programmable logic device with enhanced logic block architecture |
US7902864B1 (en) | 2005-12-01 | 2011-03-08 | Altera Corporation | Heterogeneous labs |
US7397276B1 (en) | 2006-06-02 | 2008-07-08 | Lattice Semiconductor Corporation | Logic block control architectures for programmable logic devices |
US7605606B1 (en) * | 2006-08-03 | 2009-10-20 | Lattice Semiconductor Corporation | Area efficient routing architectures for programmable logic devices |
US7924052B1 (en) * | 2008-01-30 | 2011-04-12 | Actel Corporation | Field programmable gate array architecture having Clos network-based input interconnect |
CN101404491B (zh) * | 2008-05-23 | 2012-03-28 | 雅格罗技(北京)科技有限公司 | 一种具有交叉链接的可编程互连网络的集成电路 |
KR102059218B1 (ko) * | 2012-05-25 | 2019-12-24 | 가부시키가이샤 한도오따이 에네루기 켄큐쇼 | 프로그래머블 로직 디바이스 및 반도체 장치 |
-
2014
- 2014-09-03 US US14/476,515 patent/US9287868B1/en active Active
- 2014-09-03 US US14/476,518 patent/US9118325B1/en active Active
-
2015
- 2015-08-18 CN CN201510507420.3A patent/CN105391442B/zh active Active
- 2015-08-27 CN CN201510535534.9A patent/CN105391443B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5986465A (en) * | 1996-04-09 | 1999-11-16 | Altera Corporation | Programmable logic integrated circuit architecture incorporating a global shareable expander |
US6107822A (en) * | 1996-04-09 | 2000-08-22 | Altera Corporation | Logic element for a programmable logic integrated circuit |
CN1666417A (zh) * | 2002-07-10 | 2005-09-07 | 皇家飞利浦电子股份有限公司 | 具有可编程逻辑单元阵列的电子电路 |
CN1751439A (zh) * | 2003-02-19 | 2006-03-22 | 皇家飞利浦电子股份有限公司 | 具有可编程逻辑单元阵列的电子电路 |
CN102176673A (zh) * | 2011-02-25 | 2011-09-07 | 中国科学院半导体研究所 | 4输入查找表、fpga逻辑单元和fpga逻辑块 |
Also Published As
Publication number | Publication date |
---|---|
US9287868B1 (en) | 2016-03-15 |
US20160065213A1 (en) | 2016-03-03 |
CN105391442B (zh) | 2021-01-05 |
CN105391442A (zh) | 2016-03-09 |
US9118325B1 (en) | 2015-08-25 |
CN105391443A (zh) | 2016-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7157933B1 (en) | Configurable circuits, IC's, and systems | |
US7075333B1 (en) | Programmable circuit optionally configurable as a lookup table or a wide multiplexer | |
US7109752B1 (en) | Configurable circuits, IC's, and systems | |
US5905385A (en) | Memory bits used to couple look up table inputs to facilitate increased availability to routing resources particularly for variable sized look up tables for a field programmable gate array (FPGA) | |
US7167025B1 (en) | Non-sequentially configurable IC | |
US7193440B1 (en) | Configurable circuits, IC's, and systems | |
US7176717B2 (en) | Programmable logic and routing blocks with dedicated lines | |
US7342415B2 (en) | Configurable IC with interconnect circuits that also perform storage operations | |
US8638119B2 (en) | Configurable circuits, IC's, and systems | |
US6873182B2 (en) | Programmable logic devices having enhanced cascade functions to provide increased flexibility | |
US5773994A (en) | Method and apparatus for implementing an internal tri-state bus within a programmable logic circuit | |
US20070257700A1 (en) | Method and apparatus for decomposing functions in a configurable IC | |
US20070257702A1 (en) | Hybrid Configurable Circuit for a Configurable IC | |
EP2645574B1 (en) | Integrated circuits with multi-stage logic regions | |
US7126373B1 (en) | Configurable logic circuits with commutative properties | |
US7408382B2 (en) | Configurable circuits, IC's, and systems | |
CN105391443B (zh) | 用于可编程逻辑装置的逻辑单元 | |
US7126381B1 (en) | VPA interconnect circuit | |
US8072238B1 (en) | Programmable logic device architecture with the ability to combine adjacent logic elements for the purpose of performing high order logic functions | |
US6466052B1 (en) | Implementing wide multiplexers in an FPGA using a horizontal chain structure | |
US7193432B1 (en) | VPA logic circuits | |
US7239173B1 (en) | Programmable memory element with power save mode in a programmable logic device | |
US6927601B1 (en) | Flexible macrocell interconnect | |
US8482312B1 (en) | Logic structures for ternary addition in logic devices | |
US7725867B2 (en) | Gate-array or field programmable gate array |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |