CN112241616A - 增强型本地布线和时钟改进的可配置逻辑块内部布线架构 - Google Patents

增强型本地布线和时钟改进的可配置逻辑块内部布线架构 Download PDF

Info

Publication number
CN112241616A
CN112241616A CN202010340314.1A CN202010340314A CN112241616A CN 112241616 A CN112241616 A CN 112241616A CN 202010340314 A CN202010340314 A CN 202010340314A CN 112241616 A CN112241616 A CN 112241616A
Authority
CN
China
Prior art keywords
clb
inodes
bnodes
adjacent
clbs
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.)
Pending
Application number
CN202010340314.1A
Other languages
English (en)
Inventor
E·F·德林杰
J·T·扬
B·C·盖德
C·拉维珊卡
D·穆尔
S·P·扬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xilinx Inc
Original Assignee
Xilinx Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xilinx Inc filed Critical Xilinx Inc
Publication of CN112241616A publication Critical patent/CN112241616A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • G06F30/347Physical level, e.g. placement or routing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic 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/17724Structural details of logic blocks
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic 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/17736Structural details of routing resources
    • H03K19/1774Structural details of routing resources for global signals, e.g. clock, reset
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2117/00Details relating to the type or aim of the circuit design
    • G06F2117/04Clock gating
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic 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/17736Structural details of routing resources
    • H03K19/17744Structural details of routing resources for input/output signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Architecture (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Logic Circuits (AREA)

Abstract

本公开涉及增强型本地布线和时钟改进的可配置逻辑块内部布线架构。一种系统包括彼此相邻放置的一对可配置逻辑块(CLB),其中每个CLB包括多个可配置逻辑元件。多组inode被配置为接受去往和/或来自CLB的信号,其中第一组inode位于相邻CLB左侧,而第二组inode位于相邻CLB右侧。多个bnode嵌入在相邻CLB的中间,其中每个bnode被配置为在bnode与CLB左侧的第一组inode中的一个inode之间建立第一连接,并且在bnode与CLB右侧的第二组inode中的一个inode之间建立第二连接。第一布线连接和第二布线连接都位于一对相邻CLB中。

Description

增强型本地布线和时钟改进的可配置逻辑块内部布线架构
技术领域
本公开总体上涉及用于可配置逻辑块(CLB)的内部布线、以及实现所提出的CLB内部布线架构的布线架构。
背景技术
现场可编程门阵列(FPGA)架构的最新发展既降低了由于NMOS/CMOS缩放而引起的布线多路复用器(或多路复用器)的尺寸,又减少了由于导线尺寸缩小和保持层数合理的需求而引起的水平方向上的轨道数。这些改变降低了互连线的一般布线与可配置逻辑块(CLB)输入引脚之间的连接性。当前处理连接性问题的方法利用用于向单个CLB片添加连接性的互连节点或inode结构。在此,inode结构是用于互连的节点,这些节点也可以是常规布线的接口。
随着CLB中的晶体管的尺寸继续缩小,互连线没有相应地缩小,从而导致可用于互连线的一般布线的面积减小。同时,某些FPGA架构的CLB大小增加了数倍。因此,在CLB的各个片之间使用大量互连线变得不可行。
发明内容
一种系统包括彼此相邻放置的一对可配置逻辑块(CLB),其中每个相邻CLB包括多个可配置逻辑元件。多组inode被配置为接受去往和/或来自一对相邻CLB的信号,其中第一组inode位于一对相邻CLB左侧,而第二组inode位于一对相邻CLB右侧。多个bnode嵌入在相邻CLB的中间,其中每个bnode被配置为在bnode与一对相邻CLB左侧的第一组inode中的一个inode之间建立第一连接,并且在bnode与一对相邻CLB右侧的第二组inode中的一个inode之间建立第二连接。第一布线连接和第二布线连接都位于一对相邻CLB中。
可以理解,多个bnode和inode的每个包括一个或多个多路复用器,其中多个bnode中的至少一组bnode共享其一个或多个多路复用器的多个输入。多个bnode被配置为将来自第一组inode中的一个inode的输入布线到多个bnode中的一个bnode,并且将来自bnode的输入布线为到达输入意图到达的第二组inode中的所有inode,而不需要第一组inode中的一个inode与第二组inode中的一个inode之间的任何直接点对点连接。在一些实施例中,在CLB左侧的第一组inode中的一个inode与CLB右侧的第二组inode中的一个inode之间的一个或多个专用点对点连接,而没有利用相邻CLB的中间的多个bnode在相邻CLB两侧的inode之间进行快速连接。在一些实施例中,多个bnode被布置成多个组,每组具有四个bnode,其中每组中的两个bnode被配置为连接到相邻CLB左侧的第一组inode,并且该组中的两个bnode被配置为连接到相邻CLB右侧的第二组inode。在一些实施例中,多个bnode被配置为分别用作在相邻CLB的不同侧的第一组inode和第二组inode的输入和/或输出之间的交叉开关。
在一些实施例中,该系统包括:包括多个可配置逻辑元件的可配置逻辑块(CLB);以及被配置为经由多个控制节点(cnode)向多个可配置逻辑元件提供一个或多个时钟信号的互连线的时钟主干。多个cnode连接到多个可配置逻辑元件,并且被配置为利用来自时钟主干的时钟信号来驱动可配置逻辑元件的控制引脚。时钟主干和上述多个cnode嵌入在CLB的中间,其中CLB中的多个可配置逻辑元件位于时钟主干和上述多个cnode左侧和右侧,并且全部连接到CLB的中间的多个cnode。
参考以下详细描述可以理解这些和其他方面。
附图说明
为了可以详细地理解上述特征的方式,可以通过参考示例实现来获取上面简要概述的更具体的描述,其中一些示例实现在附图中示出。然而,应当注意,附图仅示出了典型的示例实现,并且因此不应当被视为对其范围的限制。
图1描绘了根据一些示例的用于FPGA架构中的可配置逻辑块(CLB)的增强的本地布线的CLB内部布线架构的示例;
图2描绘了根据一些示例的CLB内部布线架构的示例,其中来自输入多路复用器/inode中的一个的输入首先被布线到内部bnode之一,其中bnode将输入布线为到达所有其他输入多路复用器/inode;
图3描绘了根据一些示例的CLB内部布线的示例,其中较快路径在CLB左侧的输入多路复用器之一与CLB右侧的输入多路复用器之一之间提供专用点对点连接,而无需利用CLB的中间的内部bnode;
图4描绘了根据一些示例的通过CLB的中间的一组bnode从CLB左侧的inode到CLB右侧的inode的CLB内部布线/连接模式的示例;
图5描绘了根据一些示例的包括在其输入之间使用7:1共享的四个8×1多路复用器的bnode的示例;
图6描绘了根据一些示例的CLB内部布线架构的示例,其中时钟主干和一组cnode被移动并且嵌入在CLB的中间;
图7是描绘根据一些示例的可编程集成电路(IC)的框图;以及
图8是根据一些示例的可编程IC的现场可编程门阵列(FPGA)实现。
为了便于理解,在可能的情况下使用相同的附图标记来表示图中共有的相同元素。可以想到,一个示例的元素可以有益地并入其他示例中。
具体实施方式
本文中描述的示例涉及用于CLB的增强的内部本地布线和时钟改进。在下文中参考附图描述各种特征。应当注意,附图可以按比例绘制,也可以不按比例绘制,并且在整个附图中,相似结构或功能的元素由相似的附图标记表示。应当注意,附图仅旨在促进特征的描述。它们无意作为所要求保护的发明的详尽描述或对所要求保护的发明的范围的限制。例如,根据一些示例的各种方法可以包括更多或更少的操作,并且根据示例的各种方法中的操作顺序可以与本文中描述的不同。另外,所示出的示例不必具有所示出的所有方面或优点。结合特定示例描述的方面或优点不必限于该示例,并且可以在任何其他示例中实践,即使未如此示出或未明确描述。
反弹(bounce)是一个多路复用器的引脚和另一多路复用器的引脚(在这种情况下为inode)之间的连接。如果该引脚未使用或由与经由反弹线连接的引脚相同的网络驱动,则反弹线可以用作反弹布线资源以布线到另一inode和另一引脚。反弹用于输入的多功能性,使得布线不必在一般布线中进行操作即可命中特定输入。对于CLB,反弹存在于旁路引脚上。如果布线路径由于连接性而可以快速利用反弹资源,则反弹资源提供了可以减少常规布线的使用的替代路径。快速连接是相同类型的电线连接,但特定于同一模块上的输出引脚。快速连接允许块输出引脚经由点对点连接通过inode结构直接驱动回块输出引脚。快速连接的目的是实现快速点对点路径并且减少从本地块输出到输入引脚的通用布线的使用。
出现了对于CLB的增强的内部本地布线和时钟改进的需求。提出了一种新方法,其中在CLB的中间添加一层多路复用器以在CLB内创建大型连接模式。CLB内的大型连接模式可以用于布线大多数驱动程序以加载CLB内的连接/引脚,以及提高布线到CLB的侧面的任何inode的能力。在一些实施例中,用于驱动触发器控制引脚的时钟引脚和/或多路复用结构也被移动到CLB的中间,以减少用于互连的水平轨道并且减小时钟主干到触发器控制引脚之间的距离,从而减小时钟偏斜和时钟功耗。
所提出的方法将尽可能多的连接内部化以在CLB内本地化布线,从而减少了通用布线需求,因为在最新一代的FPGA架构中,通用布线的资源一直在减少。在所提出的方法下,快速连接和反弹变为可扩展到大型CLB,并且与CLB的输入//inodes的连接性得到极大改善。在最坏情况下,所提出的方法还可以使通过CLB的路径更快。
图1描绘了用于FPGA架构中的可配置逻辑块(CLB)的增强型本地布线的CLB内部布线架构100的示例。在图1所示的示例中,一组(例如,64个)反弹节点(或bnode)104s是嵌入在两个相邻CLB 102_1和102_2的中间/之间的用于额外/较低层布线深度上的CLB内的布线通用性的多路复用器。Bnode 104s被配置为分别连接到位于CLB 102_1和102_2左侧和右侧的至少两组互连/输入元件/多路复用器/节点或inode 106_1和106_2,例如从同一CLB 102的输入到输出,以通过将拥塞卸载到同一CLB 102s内的本地且便宜的金属线上来避免跨CLB 102的长的常规互连布线。具体地,每个bnode 104被配置为在bnode 104与CLB 102s左侧的inode 106_1之一之间建立第一布线连接108_1,并且在bnode 104与CLB 102s右侧的inode 106_2之一之间建立第二布线连接108_2,其中第一布线连接和第二布线连接都位于相邻CLB 102s中。这样,代替以跨CLB 102从输出到输入的相对较少的固定路径作为快速连接,CLB内部布线架构100实现了相邻CLB 104s的任何输出和输入之间的可靠的较短距离的本地布线,而无需使用或竞争有限的全局布线资源。
在一些实施例中,bnode 104s由CLB 102s的本地输出、水平布线资源、旁路引脚和inode中的一项或多项来驱动。因为水平布线资源和旁路引脚都可以驱动bnode 104s,所以当替代布线路径变为可用时,可以将更多的inode输入用于这些连接。在一些实施例中,bnode 104s被配置为使得内部bnode 104s的输入能够到达inode 106s的所有输入多路复用器。图2描绘了CLB内部布线架构100的示例,其中来自inode 106_1之一的输入首先被布线到内部bnode 104之一,其中bnode 104然后被配置为将输入布线到bnode 104以到达输入意图到达的所有多路复用器/inode 106_2。这样,CLB内部布线架构100使得CLB 102s左侧的输入多路复用器106_1之一可以到达CLB 102右侧的所有inode 106_2,而不无需或没有消耗输入多路复用器/inode 106s之间的很多点对点全局布线资源。
在一些实施例中,CLB内部布线架构100被配置为包括并且启用旁路bnode 104s的CLB 102左侧和右侧的输入多路复用器106s之间的较快连接以及利用bnode 104s来到达CLB 102的一侧的输入多路复用器106的较慢连接,其中输入多路复用器106否则可能是不可到达的。图3描绘了CLB内部布线架构100的示例,其中在CLB 102s左侧的输入多路复用器106_1之一与CLB 102s左侧的输入多路复用器106_1或CLB 102s右侧的输入多路复用器106_2中的一者之间的专用点对点连接在输入多路复用器之间提供较快路径109_1,而无需使用CLB 102s的中间的内部bnode 104s。图3中的CLB内部布线架构100还由“反弹通过”额外的多路复用器层上的bnode 104s而提供了从CLB 102s左侧的输入多路复用器106_1布线到CLB 102s右侧的输入多路复用器106_2之一的较慢路径109_2。这样,由布线通过在CLB102s的中间的bnode 104s,图3中的CLB内部布线架构100实现了在CLB 102s两侧的输入多路复用器106_1和106_2之间的有限数目的快速点对点连接,以及在CLB 102s右侧的所有输入多路复用器106_2的可达性。
图4描绘了从CLB左侧的inode 106_1s通过在CLB的中间的一组bnode 104s到CLB右侧的inode 106_2s的CLB内部布线/连接模式的示例。如图4的示例所示,在CLB的中间有64个bnode,CLB左侧和右侧分别具有两个片102_1和102_2。这64个bnode可以被布置成16个组,每组四个bnode,其中每个组中的两个bnode连接到CLB 102s左侧的inode 106_1s,而同一组中的两个bnode连接到CLB 102s右侧的inode 106_2s。两个四bnode组被配置为连接到CLB的所有象限。图5描绘了包括在其输入之间使用7:1共享的四个8×1多路复用器的bnode104的示例。作为非限制性示例,一个多路复用器的输入可以包括4个旁路、3个输出和1个单个共享引脚。
在一些实施例中,该组bnode 104s被配置为通过在节点106_1s和106_2s之间布线信号而分别充当CLB的不同侧的节点106_1s和106_2s的输入和/或输出之间的交叉开关,而不需要inode 106_1s和106_2s之间的直接点对点连接(这可能在inode的数目增加时二次地增加交叉开关的复杂性)。在一些实施例中,该组bnode 104s被配置为使得来自CLB左侧和/或右侧的inode 106s的信号能够首先去往CLB的中间的bnode 104s并且然后从CLB的中间的该组bnode 104s去往CLB左侧或右侧的inode 106s。这种连接模式增加了较低层的CLB内建立本地连接而不会进入较高层的常规互连布线的可能性。另外,连接模式使得来自通用互连的信号能够利用第一inode命中来找到经由bnode 104s到达相对侧的引脚/第二inode的路径,而无需回溯到通用互连布线。随着新流程导致架构中通用互连的减少,在内部完成尽可能多的内部CLB连接变得更加有价值。另外,由于FPGA样式互连并未被设计为快速布线和返回,因此在本地进行的紧密连接可以避免将互连线绕成一圈布线并且环回(这通常会导致较高的延迟和布线成本)。
在一些实施例中,CLB内部布线架构100被配置为移动并且嵌入互连线的时钟主干110和一组控制多路复用器/inode 112s,时钟主干110和控制多路复用器/inode 112s被配置为从CLB 102的一侧/边缘到CLB 102的中间,向CLB 102中的多个可配置逻辑元件114s的多个触发器提供时钟信号,如图6所示的示例所示。结果,CLB 102中的可配置逻辑元件114s位于时钟主干110和cnode 112s左侧和右侧,并且全部连接到CLB的中间的多个cnode112s。时钟主干110的主要功能是向控制多路复用器/inode 112s提供时钟信号,控制多路复用器/inode 112s连接到左右两侧的可配置逻辑元件114s,并且通过来自时钟主干110的时钟信号驱动可配置逻辑元件114s的触发器的控制引脚。使时钟主干110和cnode 112s移动到CLB 102的中间减小了从时钟主干110和cnode 112s到CLB 102中的逻辑元件114s的距离/线长,从而减少了将时钟信号提供给逻辑元件114s所需要的互连中的水平轨道使用。由于位于时钟主干110和cnode 112s左侧和右侧的CLB 102中的可配置逻辑元件114s与时钟主干110和cnode 112s具有更近和更短的距离,因此与时钟主干110放置在CLB 102的一侧的情况相比,从放置在CLB 102的中间的时钟主干110到在时钟主干110左侧和右侧的逻辑元件114s的距离的差异更窄。结果,逻辑元件114s的时钟信号之间的时钟偏移减小。另外,由于来自时钟主干110的更紧密的连接以控制逻辑元件114s,所以时钟功耗也被降低。
在一些实施例中,嵌入在CLB 102的中间的一个或多个cnode 112s还被配置为用作附加反弹节点,以在cnode 112s未用于向逻辑元件114s驱动时钟信号时,如上面讨论的那样卸载CLB 102内的本地化内部布线。具体地,一个或多个cnode 112中的每个被配置为在cnode 112与cnode 112左侧的可配置逻辑元件114_1之一之间建立第一布线连接,并且在cnode 112与cnode 112右侧的可配置逻辑元件114_2之一之间建立第二布线连接,其中第一布线连接和第二布线连接都位于CLB 102内。在一些实施例中,嵌入在CLB 102的中间的cnode 112s被配置为用作用于进入CLB 102的入站信号以及CLB 102内的内部反馈信号的交叉开关。在一些实施例中,cnode 112s用作到CLB 102的输入引脚的可选布线路径,这不会导致对输入引脚的延迟增加,因为布线路径是可选的。
图7是描绘根据示例的可编程集成电路(IC)900的框图。可编程IC 900可以全部或部分地实现图1-图6的系统的集成电路(IC)芯片。可编程IC 900包括处理系统902、可编程逻辑904、配置逻辑906和配置存储器908。可编程IC 900可以耦合到外部电路,诸如非易失性存储器910、RAM 912和其他电路914。
处理系统902可以包括微处理器、存储器、支持电路、IO电路等。可编程逻辑904包括逻辑单元916、支持电路918和可编程互连920。逻辑单元916包括可以被配置为实现多个输入的通用逻辑功能的电路。支持电路918包括专用电路,诸如收发器、输入/输出块、数字信号处理器、存储器等。逻辑单元和支持电路918可以使用可编程互连器920互连。用于对逻辑单元916编程、用于设置支持电路918的参数以及用于对可编程互连器920编程的信息通过配置逻辑906存储在配置存储器908中。配置逻辑906可以从非易失性存储器910或任何其他源(例如,RAM 912或从其他电路914)获取配置数据。
图8示出了包括大量不同的可编程区块的可编程IC 900的FPGA实现,包括可配置逻辑块(“CLB”)930、随机存取存储块(“BRAM”)932、信号处理块(“DSP”)934、输入/输出块(“IOB”)936、配置和时钟逻辑(“CONFIG/CLOCKS”)938、数字收发器940、专用输入/输出块(“I/O”)942(例如,配置端口和时钟端口)、以及其他可编程逻辑944,诸如数字时钟管理器、系统监测逻辑等。FPGA还可以包括PCIe接口946、模数转换器(ADC)948等。
在一些FPGA中,每个可编程区块可以包括至少一个可编程互连元件(“INT”)950,INT 950具有与相同区块内的可编程逻辑元件的输入和输出端子952的连接,如图8中包括的示例所示。每个可编程互连元件950还可以包括与同一区块或其他区块中的相邻可编程互连元件的互连段954的连接。每个可编程互连元件950还可以包括与逻辑块(未示出)之间的通用布线资源的互连段956的连接。通用布线资源可以包括逻辑块(未示出)之间的布线通道,逻辑块包括互连段(例如,互连段956)和用于连接互连段的开关块(未示出)的轨道。通用布线资源的互连段(例如,互连段956)可以跨越一个或多个逻辑块。可编程互连元件950与通用布线资源一起实现了用于所示FPGA的可编程互连结构(“可编程互连”)。
在示例实现中,CLB 930可以包括可以被编程为实现用户逻辑的可配置逻辑元件(“CLE”)960以及单个可编程互连元件(“INT”)950。除了一个或多个可编程互连元件,BRAM932还可以包括BRAM逻辑元件(“BRL”)962。通常,区块中包括的互连元件的数目取决于区块的高度。在图示的示例中,BRAM区块具有与五个CLB相同的高度,但是也可以使用其他数目(例如,四个)。除了适当数目的可编程互连元件,信号处理块934还可以包括DSP逻辑元件(“DSPL”)964。除了可编程互连元件950的一个实例,IOB 936还可以包括例如输入/输出逻辑元件(“IOL”)966的两个实例。本领域技术人员将清楚,例如连接到输入/输出逻辑元件966的实际的I/O焊盘通常不限于输入/输出逻辑元件966的区域。
在图示的示例中,靠近管芯的中间的水平区域用于配置、时钟和其他控制逻辑。从该水平区域或列延伸的垂直列968用于在FPGA的整个宽度上分配时钟和配置信号。
利用图8所示的架构的一些FPGA包括破坏了构成FPGA的很大一部分的规则柱状结构的附加逻辑块。附加逻辑块可以是可编程块和/或专用逻辑。
注意,图8仅旨在说明示例性FPGA架构。例如,图8的顶部包括的一行中逻辑块的数目、行的相对宽度、行的数目和顺序、行中包括的逻辑块的类型、逻辑块的相对大小、以及互连/逻辑实现纯粹是示例性的。例如,在实际的FPGA中,无论CLB出现在何处,通常都包括一个以上的相邻CLB行以促进用户逻辑的有效实现,但是相邻CLB行的数目随FPGA的整体大小而变化。
尽管前述内容涉及特定示例,但是在不脱离其基本范围的情况下,可以设计其他和另外的示例,并且其范围由所附权利要求书确定。

Claims (21)

1.一种系统,包括:
彼此相邻放置的一对可配置逻辑块(CLB),每个CLB包括多个可配置逻辑元件;
第一组互连节点(inode)和第二组inode,被配置为接受去往和/或来自所述一对CLB的输入信号和/或输出信号,其中所述第一组inode位于一对相邻的所述CLB左侧并且所述第二组inode位于一对相邻的所述CLB右侧;以及
嵌入在一对相邻的所述CLB之间的中间的多个反弹节点(bnode),其中所述多个bnode中的每个bnode被配置为
在所述bnode与一对相邻的所述CLB左侧的所述第一组inode中的一个inode之间建立第一布线连接,以及
在所述bnode与一对相邻的所述CLB右侧的所述第二组inode中的一个inode之间建立第二布线连接,其中所述第一布线连接和所述第二布线连接均位于一对相邻的所述CLB中。
2.根据权利要求1所述的系统,其中所述多个bnode中的每个bnode以及所述第一组inode和所述第二组inode中的每个inode包括一个或多个多路复用器。
3.根据权利要求2所述的系统,其中所述多个bnode中的至少一组bnode共享所述至少一组bnode的一个或多个多路复用器的多个输入。
4.根据权利要求1所述的系统,其中所述多个bnode由所述CLB的本地输出、水平布线资源、旁路引脚和inode中的一项或多项驱动。
5.根据权利要求1所述的系统,其中所述多个bnode被配置为:
将来自多组inode中的所述第一组inode中的一个inode的输入布线到所述多个bnode中的一个bnode,以及
将来自所述多个bnode中的所述一个bnode的输入布线为到达所述输入意图到达的所述多组inode中的所述第二组inode中的所有inode,而不需要所述第一组inode中的inode与所述第二组inode中的inode之间的任何直接点对点连接。
6.根据权利要求1所述的系统,还包括:
在所述CLB左侧的所述第一组inode中的一个inode与所述CLB左侧的所述第一组inode中的另一inode或所述CLB右侧的所述第二组inode中的另一inode之间的一个或多个专用点对点连接,而没有利用相邻的所述CLB的中间的所述多个bnode在相邻的所述CLB的两侧的一个inode与另一inode之间进行快速连接。
7.根据权利要求1所述的系统,其中所述多个bnode被布置成多个组,其中每个组包括四个bnode,其中每个组中的两个bnode被配置为连接到相邻的所述CLB左侧的所述第一组inode,并且所述组中的两个bnode被配置为连接到相邻的所述CLB右侧的所述第二组inode。
8.根据权利要求1所述的系统,其中所述多个bnode被配置为分别用作在相邻的所述CLB的不同侧的所述第一组inode和所述第二组inode的输入和/或输出之间的交叉开关。
9.根据权利要求8所述的系统,其中所述多个bnode被配置为:
将来自相邻的所述CLB左侧的所述第一组inode中的一个inode的信号布线为去往所述CLB的中间的所述多个bnode中的一个bnode,以及
将来自所述CLB的中间的一个bnode的信号布线到所述CLB左侧的所述第一组inode或所述CLB右侧的所述第二组inode中的一个或多个inode。
10.一种系统,包括:
可配置逻辑块(CLB),包括多个可配置逻辑元件;
互连线的时钟主干,被配置为经由多个控制节点(cnode)向所述多个可配置逻辑元件提供一个或多个时钟信号;以及
所述多个cnode,连接到所述多个可配置逻辑元件并且被配置为利用来自所述时钟主干的所述一个或多个时钟信号来驱动所述可配置逻辑元件的控制引脚,
其中所述时钟主干和所述多个cnode嵌入在所述CLB的中间,其中所述CLB中的所述多个可配置逻辑元件位于所述时钟主干左侧和右侧并且全部连接到所述CLB的中间的所述多个cnode。
11.根据权利要求10所述的系统,其中所述多个cnode中的每个cnode包括一个或多个多路复用器。
12.根据权利要求10所述的系统,其中嵌入在所述CLB的中间中的所述多个cnode中的一个或多个cnode被配置为用作反弹节点(bnode),以当所述一个或多个cnode未用于将所述一个或多个时钟信号驱动到所述CLB的所述多个可配置逻辑元件时卸载所述CLB中的局部内部布线。
13.根据权利要求12所述的系统,其中所述一个或多个cnode的每个cnode被配置为:
在所述cnode与所述cnode左侧的所述多个可配置逻辑元件中的一个可配置逻辑元件之间建立第一布线连接,
在所述cnode与所述cnode右侧的所述多个可配置逻辑元件中的一个可配置逻辑元件之间建立第二布线连接,
其中所述第一布线连接和所述第二布线连接均位于所述CLB中。
14.根据权利要求10所述的系统,其中嵌入在所述CLB的中间中的所述多个cnode被配置为用于进入所述CLB的入站信号以及所述CLB中的内部反馈信号的交叉开关。
15.根据权利要求10所述的系统,其中所述多个cnode布线来自所述CLB的输入引脚的信号,而不会导致到所述输入引脚的延迟增加。
16.一种方法,包括:
彼此相邻地放置一对可配置逻辑块(CLB),每个CLB包括多个可配置逻辑元件;
在一对相邻的所述CLB左侧放置第一组互连节点(inode)并且在一对相邻的所述CLB右侧放置第二组inode,其中所述第一组inode和所述第二组inode被配置为接受去往和/或来自所述多个CLB的输入信号和/或输出信号;以及
在一对相邻的所述CLB之间的中间嵌入多个反弹节点(bnode),其中所述多个bnode中的每个bnode被配置为
在所述bnode与一对相邻的所述CLB左侧的所述第一组inode的一个inode之间建立第一布线连接;
在所述bnode与一对相邻的所述CLB右侧的所述第二组inode的一个inode之间建立第二布线连接,其中所述第一布线连接和所述第二布线连接位于所述一对相邻CLB中。
17.根据权利要求16所述的方法,还包括:
将来自所述第一组inode中的一个inode的输入布线到所述多个bnode中的一个bnode;以及
将来自所述bnode的输入布线为到达所述输入意图到达的所述第二组inode中的所有inode,而在所述第一组inode中的一个inode与所述第二组inode中的一个inode之间没有任何直接点对点连接。
18.根据权利要求16所述的方法,还包括:
在所述CLB左侧的所述第一组inode中的一个inode和所述CLB左侧的所述第一组inode中的另一inode或所述CLB右侧的所述第二组inode中的inode之间建立一个或多个专用点对点连接,而没有利用相邻的所述CLB的中间的所述多个bnode在相邻的所述CLB的两侧的inode之间进行快速连接。
19.根据权利要求16所述的方法,还包括:
将所述多个bnode布置成多个组,每个组具有四个bnode,其中每个组中的两个bnode被配置为连接到相邻的所述CLB左侧的所述第一组inode并且所述组中的两个bnode被配置为连接到相邻的所述CLB右侧的所述第二组inode。
20.根据权利要求16所述的方法,还包括:
将来自相邻的所述CLB左侧的所述第一组inode中的一个inode的信号布线为去往所述CLB的中间的所述多个bnode中的一个bnode;以及
将来自所述CLB的中间的一个bnode的信号布线到所述CLB左侧的所述第一组inode或所述CLB右侧的所述第二组inode中的一个或多个inode。
21.一种方法,包括:
将互连线的时钟主干嵌入到包括多个可配置逻辑元件的可配置逻辑块(CLB)的中间,其中所述时钟主干被配置为经由多个控制节点(cnode)向所述多个可配置逻辑元件提供一个或多个时钟信号;
将所述多个cnode嵌入到所述CLB的中间,其中所述多个cnode连接到所述多个可配置逻辑元件,并且被配置为利用来自所述时钟主干的所述时钟信号来驱动所述多个可配置逻辑元件的控制引脚;
将所述多个可配置逻辑元件定位在所述时钟主干左侧和右侧的CLB中以及所述多个cnode中;以及
将所述多个可配置逻辑元件连接到所述CLB的中间的所述多个cnode。
CN202010340314.1A 2019-07-16 2020-04-26 增强型本地布线和时钟改进的可配置逻辑块内部布线架构 Pending CN112241616A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/513,190 US10715149B1 (en) 2019-07-16 2019-07-16 Configurable logic block (CLB) internal routing architecture for enhanced local routing and clocking improvements
US16/513,190 2019-07-16

Publications (1)

Publication Number Publication Date
CN112241616A true CN112241616A (zh) 2021-01-19

Family

ID=71520078

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010340314.1A Pending CN112241616A (zh) 2019-07-16 2020-04-26 增强型本地布线和时钟改进的可配置逻辑块内部布线架构

Country Status (2)

Country Link
US (1) US10715149B1 (zh)
CN (1) CN112241616A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116820015A (zh) * 2023-08-29 2023-09-29 灵动集成电路南京有限公司 具有灵活可配置逻辑模块的微控制器

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011066650A1 (en) * 2009-12-01 2011-06-09 Queen's University At Kingston Method and system for a run-time reconfigurable computer architecture
US8816719B2 (en) * 2012-04-26 2014-08-26 Symetrix Corporation Re-programmable antifuse FPGA utilizing resistive CeRAM elements
EP3146402B1 (en) * 2014-05-19 2020-06-24 Flex Logix Technologies, Inc. Clock distribution architecture for logic tiles of an integrated circuit and method of operation thereof
US9276573B2 (en) * 2014-07-28 2016-03-01 Ecole Polytechnique Federale De Lausanne High-performance low-power near-Vt resistive memory-based FPGA

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116820015A (zh) * 2023-08-29 2023-09-29 灵动集成电路南京有限公司 具有灵活可配置逻辑模块的微控制器
CN116820015B (zh) * 2023-08-29 2023-11-17 灵动集成电路南京有限公司 具有灵活可配置逻辑模块的微控制器

Also Published As

Publication number Publication date
US10715149B1 (en) 2020-07-14

Similar Documents

Publication Publication Date Title
US9859896B1 (en) Distributed multi-die routing in a multi-chip module
EP0469728B1 (en) Programmable interconnect architecture
US6838904B1 (en) Enhanced CPLD macrocell module having selectable bypass of steering-based resource allocation
US6348813B1 (en) Scalable architecture for high density CPLD's having two-level hierarchy of routing resources
US5191241A (en) Programmable interconnect architecture
US5847579A (en) Programmable logic array with improved interconnect structure
US7619441B1 (en) Apparatus for interconnecting stacked dice on a programmable integrated circuit
US9059696B1 (en) Interposer with programmable power gating granularity
US7137095B1 (en) Freeway routing system for a gate array
US5977793A (en) Programmable logic device with hierarchical interconnection resources
KR101917916B1 (ko) 집적 회로를 위해 높은 유연성을 갖는 클록 네트워크 아키텍처
US7737724B2 (en) Universal digital block interconnection and channel routing
US12009298B2 (en) Fabric die to fabric die interconnect for modularized integrated circuit devices
US8089299B1 (en) Integrated circuit with through-die via interface for die stacking and cross-track routing
EP3347990A1 (en) Cascaded lookup-table (lut) carry logic circuit
US20040105207A1 (en) Via programmable gate array interconnect architecture
US20140097868A1 (en) Fine grain programmable gate architecture with hybrid logic/routing element and direct-drive routing
CN112241616A (zh) 增强型本地布线和时钟改进的可配置逻辑块内部布线架构
US6630842B1 (en) Routing architecture for a programmable logic device
CN109863588B (zh) 半导体集成电路装置
US9430433B1 (en) Multi-layer distributed network
US20030107401A1 (en) Enhanced macrocell module having expandable product term sharing capability for use in high density CPLD architectures
US8120382B2 (en) Programmable integrated circuit with mirrored interconnect structure
US6980029B1 (en) Programmable integrated circuit architecture
US20110095816A1 (en) Network on chip building bricks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination