CN103778272A - 使用可编程互联源建立总线互联网络的方法和装置 - Google Patents
使用可编程互联源建立总线互联网络的方法和装置 Download PDFInfo
- Publication number
- CN103778272A CN103778272A CN201310495015.5A CN201310495015A CN103778272A CN 103778272 A CN103778272 A CN 103778272A CN 201310495015 A CN201310495015 A CN 201310495015A CN 103778272 A CN103778272 A CN 103778272A
- Authority
- CN
- China
- Prior art keywords
- interconnected
- signal
- circuit
- region
- logic region
- 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.)
- Granted
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/17736—Structural details of routing resources
- H03K19/17744—Structural details of routing resources for input/output signals
-
- 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/17724—Structural details of logic blocks
- H03K19/17728—Reconfigurable logic blocks, e.g. lookup tables
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Logic Circuits (AREA)
Abstract
本发明涉及使用可编程互联源建立总线互联网络的方法和装置。集成电路可以包括可被配置为执行定制功能的逻辑区域。互联连接可以用于在整个集成电路上路由信号。逻辑区域可以耦合到输入选择电路用于选择和提供输入信号从互联联接到逻辑区域并且耦合到输出选择和路由电路用于选择和通过互联联接向其它逻辑区域传送输出信号。旁路电路通过旁路输入选择电路和逻辑区域中的其它处理电路,可以提供对逻辑区域内的寄存器和对输出选择和路由电路的直接访问。通过适当地配置旁路电路和输出选择和路由电路,可以生成总线互联,其具有执行寄存器传递、导线拼接并且用作数据源/汇站以开启和关闭总线互联的逻辑区域。
Description
本申请要求2012年10月19日提交的美国专利申请No.13/656,262的优先权,其全部内容通过引用合并于此。
技术领域
本发明涉及集成电路,诸如具有互联电路的可编程集成电路。
背景技术
可编程集成电路可被用户编程以实现期望的定制逻辑功能。在通常情形下,逻辑设计者使用计算机辅助设计(CAD)工具来设计定制逻辑电路。当设计完成时,工具生成配置数据。该配置数据被加载到可编程集成电路存储器元件中以配置装置执行定制逻辑电路的功能。具体地,配置数据配置可编程集成电路中的可编程互联联接,可编程路由电路和可编程逻辑电路。
可编程集成电路可以包括可编程逻辑电路,其被配置为接收输入信号并且执行定制功能以产生输出信号。各逻辑电路的输入和输出信号被互联联接路由,互联联接可被配置为在整个可编程集成电路上路由所选择的信号。
现有的可编程电路中的互联联接通常作为点对点连接来设置。点对点连接对于处理诸如总线互联联接这样的长宽连接不是非常有效,导致路由拥塞和时序收敛问题,因而增加开发时间。
发明内容
根据本发明的一些实施方式,集成电路可以包括逻辑区域和用于在整个集成电路上路由信号的全局互联联接。每个逻辑区域可以耦合到输入选择电路和输出选择和路由电路。输入选择电路耦合到互联联接的对应集合。输入选择电路可以被配置为将来自互联联接的集合的所选择的信号提供到对应逻辑区域的输入端。逻辑区域可以被配置为执行定制功能以从所选择的信号产生输出信号。例如,逻辑区域可以包括接收所选择的信号并且被配置为产生输出信号的处理电路。
逻辑区域可以包括一个或者更多寄存器。寄存器可以存储信息,诸如由该逻辑区域的处理电路产生的输出信号。寄存器的输出信号和处理电路的输出信号可以被发送到输出选择和路由电路。
输出选择和路由电路可以被配置为从寄存器和从处理电路选择输出信号并且将所选择的输出信号提供到输出驱动器,输出驱动器可以驱动互联联接(例如,全局互联联接)。例如,输出电路可以包括一个或者更多复用器和耦合到每个互联联接的驱动器。
逻辑区域可以包括用于直接访问寄存器的旁路路径和输出选择和路由电路(例如,用于旁路输入选择电路和处理电路)。
应理解的是可以按照多种方式来实现本发明,诸如过程、设备、系统、装置、或者计算机可读介质上的方法。下面描述本发明的几个实施方式。
在特定实施方式中,以上描述的旁路路径可以包括具有旁路电路的旁路路径,该旁路路径耦合到互联联接的子集合并且从该子集合选择信号以旁路输入选择电路。所选择的信号接着被直接路由到逻辑区域中的寄存器和输出选择和路由电路。
从所附的附图和以下优选实施方式的详细描述中,本发明的其它特征、实质和各种优点将变得更明显。
附图说明
图1A是根据本发明实施方式的具有可编程逻辑的可编程集成电路的示示例图。
图1B是根据本发明实施方式的具有被配置为驱动互联联接的输入-输出电路的可编程逻辑区域的示示例图。
图2是根据本发明实施方式的具有不同长度的在水平和竖直方向上形成的可编程集成电路上的互联联接的示示例图。
图3是根据本发明的实施方式的具有使得总线互联的可配置比特的可编程逻辑区域的示示例图。
图4A是根据本发明的实施方式的被配置为禁止总线互联的可编程逻辑区域的示示例图。
图4B是根据本发明的实施方式的被配置为总线互联中的数据源/汇站的可编程逻辑区域的示例图。
图4C是根据本发明的实施方式的被配置为总线互联中的互联拼接级的可编程逻辑区域的示例图。
图4D是根据本发明的实施方式的被配置为总线互联中的寄存器传递级的可编程逻辑区域的示例图。
图5是根据本发明的实施方式的具有输入选择电路、逻辑区域输入选择电路和输出选择和路由电路的可编程逻辑区域的示例图。
图6是根据本发明的实施方式的具有被配置为实现环形总线互联的可编程逻辑区域的集成电路的示例图。
图7是根据本发明实施方式的使用可配置互联联接在集成电路中实现总线互联的示例性步骤的流程图。
具体实施方式
本发明涉及集成电路,更具体地涉及可编程集成电路。可编程集成电路可以包括可编程逻辑、可编程互联联接、和可编程路由电路。
图1A示出可编程集成电路器件的示例图。如图1A所示,器件10可以具有用于经由输入-输出针脚14将信号驱动离开器件10和用于从其它器件接收信号的输入-输出(I/O)电路12。诸如全局或者局部竖直、水平和对角导线和总线这样的互联资源16可以用在器件10上路由信号。互联资源16包括固定互联联接(导电线)和可编程互联联接(即,各个互联联接之间的可编程连接)。有时互联资源16在本文中可以称为互联联接(例如,由固定互联联接和可编程互联联接的组合形成的互联联接)。
互联联接16可以用于互连诸如可编程逻辑区域18这样的可编程逻辑的区域。有时可编程逻辑区域18在本文中可以称为逻辑阵列块或者可编程电路区域。如果期望,可编程逻辑区域18可以包含更小的逻辑区域组。这些更小的逻辑区域(有时可以称为逻辑元件、适应性逻辑模块或者可配置逻辑块)可以使用局部互联资源来相互连接。
可编程逻辑区域18可以包括组合和时序逻辑电路。例如,可编程逻辑区域18可以包括查找表、寄存器、累加器和复用器。可编程逻辑区域18可以被配置为执行定制逻辑功能。
可编程逻辑区域18包含可编程元件20。可编程元件20可以基于任何合适的可编程技术,诸如熔丝、反熔丝、电可编程只读存储器技术、随机存取存储器单元、掩模编程元件等。作为示例,可编程元件20可以由存储器单元形成。在编程期间,使用引脚14和输入-输出电路12可以将配置数据加载到存储器单元中。存储器单元通常是随机存取存储器(RAM)单元。因为RAM单元加载了配置数据,它们有时被称为配置RAM单元(CRAM)。
可编程元件20可以提供用于控制可编程逻辑18中的逻辑部件的状态的静态控制输出信号。元件20生成的输出信号通常施加到金属氧化物半导体(MOS)晶体管(有时称为旁路栅极晶体管)的栅极。在一些情形下,可编程元件20可以提供用于可编程电路的静态数据输出信号。例如,查找表可以包括产生静态数据输出信号的可编程元件20。在此情形下,控制信号可以配置查找表以在查找表输出端提供静态数据输出信号。
可以使用任何合适的架构来组织器件10的电路。作为示例,可以在可编程逻辑区域的一系列行和列中组织可编程器件10的逻辑18,其中每个可编程逻辑区域包含多个更小的可编程逻辑区域。器件10的逻辑资源可以通过互联资源16(诸如关联的竖直、水平和对角导体)相互连接。这些导体可以包括在基本上整个器件10上展开的全局导线、在器件10的一部分展开的诸如二分之一线或者四分之一线的部分全局线、特定长度的交错线(例如,足以将多个逻辑区域相互连接)、更小的局部线、或者任何其它合适的互联源排列。如果期望,则器件10的逻辑可以以更多的级或者层排列,其中多个逻辑区域相互连接以形成更大部分逻辑。其它器件排列可以使用不按行和列排列的逻辑器件。
图1B是可以具有输入-输出电路21的器件10中的可编程逻辑区域18的示例图,其中,输入-输出电路21可以被配置为驱动水平互联联接16H(例如,沿着器件10的水平轴形成的互联联接)和竖直互联联接16V(例如,沿着器件10的竖直轴形成的互联联接)。可编程逻辑区域18可以包括更小的逻辑区域34(例如,逻辑元件、可配置逻辑块、或者适应性逻辑模块),经由输入-输出电路21从互联联接16V和16H接收输入信号并且对输入信号进行定制功能以产生输出信号。逻辑区域34产生的输出信号可以被提供到输入-输出电路21的输出电路。输出电路可以在选择的互联联接上驱动输出信号。
输入-输出电路21可以包括以下电路,诸如用于从互联联接16选择针对可编程逻辑区域18的输入信号的输入选择电路、和用于从可编程逻辑区域18选择向哪个互联联接16提供输出信号的输出选择和路由电路。输入-输出电路21中的输出选择和路由电路可以包括用于利用输出信号来驱动互联联接的驱动器。
图2示出通过图1的互联联接16(例如,在集成电路10上提供路由路径的全局互联联接)连接到一起的可编程逻辑区域18的示例性排列。互联联接16可以沿着水平轴线形成并因此称为水平互联联接(例如,“H2”)。互联联接16可以沿着竖直轴线形成并因此称为竖直互联联接(例如,“V2”)。互联联接16可以沿着集成电路的对角轴线(未示出)形成,并因此称为对角线互联联接。
如图2所示,水平互联联接和竖直互联联接被以不同长度形成。水平互联联接16和16A可以具有相应的长度H1和H2,并且竖直互联联接16和16B可以具有相应的长度V1和V2。水平互联联接和竖直互联联接可以向可编程逻辑区域18提供整个器件10上的路由路径(例如,到其它可编程逻辑区域18)。长度H1、H2、V1和V2可以依赖于可编程逻辑区域18之间的距离而变化(例如,长度H1可以对应于可编程逻辑区域18A和18B之间的距离,长度H2可以对应于可编程逻辑区域18A和18C之间的距离)。每个可编程逻辑区域18可以被独立配置以在互联联接上驱动输出信号(例如,使用该可编程逻辑区域18内的驱动器电路)。
可编程集成电路10可以包括提供时钟信号的时钟电路26。时钟信号可以提供到可编程逻辑区域18。例如,时钟电路26可以提供时钟信号CLK到可编程逻辑区域18A、18B和18C。时钟信号CLK的频率可以控制可编程逻辑区域18A、18B和18C工作的处理速度(例如,可编程逻辑区域中的寄存器可以在时钟信号CLK的每个时钟周期上更新)。
在一些情形下,可以期望路由来自第一可编程逻辑区域的全部输出信号作为到第二可编程逻辑区域的输入端的总线。考虑可编程逻辑区域18A产生要被作为总线一起路由到可编程逻辑区域18D的输出信号的情形。在此情形下,可以期望配置可编程逻辑区域18A的输出选择和路由电路使得路由其全部输出信号经过诸如水平互联联接16A这样的长度H2的水平互联联接到可编程逻辑区域18C,从而旁路可编程逻辑区域18B。可以进一步期望可编程逻辑区域18C接收的信号旁路全部处理步骤并且直接连接到可编程逻辑区域18C的输出选择和路由电路。另选地可以期望可编程逻辑区域18C实现接收到的信号的寄存器传递级。如果与将全部输出信号从第一可编程逻辑区域18A经由水平互联联接16A、可编程逻辑区域18C和竖直互联联接16B路由到第二可编程逻辑区域18D相关联的信号延迟超过时钟信号CLK的时钟频率的最大可接受延迟(例如,信号从可编程逻辑区域18A到达可编程逻辑区域18D所需的时间会超过时钟频率的时钟周期),则可以期望寄存器传递级。在此情形下,可以期望可编程逻辑区域18C接收的信号旁路全部处理步骤并且直接连接到逻辑区域18C的寄存器。可以再进一步期望可编程逻辑区域18C的输出选择和路由电路经由旁路路径从可编程逻辑区域的输入端或者从寄存器接收信号。输出选择和路由电路可以进一步被配置为经由诸如竖直互联联接16B这样的长度V2的竖直互联联接将全部信号一起路由到可编程逻辑区域18D。
可编程逻辑区域可以经过可编程元件20配置以实现总线互联。图3是被配置为实现总线互联的图1A的可编程逻辑区域18的示例图。可编程元件20可以包括配置可编程逻辑区域以实现总线(在图3中示出为110)、数据源/汇站(在图3中示出为111)或者寄存器管道级(在图3中示出为112)的可编程元件、。如果期望,则可以使用可编程元件20来向可编程逻辑区域18指派地址。全部可编程逻辑区域18可以包括使能总线互联的配置的可编程元件20,或者仅仅一些可编程逻辑区域可以包括为此目的可编程元件。
包括使能总线互联的配置的可编程元件20的可编程逻辑区域18可以被配置为通过向可编程元件110加载给定值来实现总线互联。例如,被配置为形成总线互联的全部可编程逻辑区域18可以将可编程元件110设置为“开”状态,而被配置为不形成总线互联的全部可编程逻辑区域18可以将可编程元件110设置为“关”状态。数据可以被路由当前充当数据源/汇站的逻辑区域18处的总线互联上或者离开该总线互联。可编程逻辑区域18可以使用可编程元件111配置为源/汇站。总线互联上的每个源/汇站可以具有地址。可以使用可编程元件111存储源/汇站的地址。可编程逻辑区域18可以使用可编程元件112配置为寄存器管道级。
可编程元件110、111和112可以被指派不同值组合以实现给定配置。例如,通过向可编程元件111加载逻辑“1”并且向可编程元件110和112加载逻辑“0”,可编程逻辑区域18可以被配置为数据源/汇站。通过向可编程元件110和111加载逻辑“1”并且向可编程元件112加载逻辑“0”,或者通过向可编程元件110、111和112加载逻辑“1”,可编程逻辑区域18可以被配置为源/汇站。类似地,通过向可编程元件110和112加载逻辑“1”并且向可编程元件111加载逻辑“0”,或者通过仅向可编程元件112加载逻辑“1”并且向可编程元件110和111加载逻辑“0”,可编程逻辑区域18可以被配置为寄存器传递级。可编程元件113可以被指派不同值组合以实现与被配置为源/汇站的可编程逻辑区域18相关联的地址。同一总线互联中的源/汇站被要求具有唯一地址。不同总线互联中的源/汇站可以具有相同地址。本领域技术人员将认识到所描述的值组合的示例仅仅是示例性的,并且可以利用其它特定值组合。
使用互联资源16(参见例如图1A)可以在总线互联上发送信号。总线互联可以要求特定信息与用户数据一起发送。例如,目的地地址可以与用户数据一起发送以标识用户数据被指定的源/汇站。在此情形下,不同的互联资源16可以被指派以路由具有给定目的信号,如图3所示。例如,互联资源16的给定数量的比特可以被保留用于进入的用户数据161A和用于离开的用户数据160A。给定数量的比特可以被保留用于进入的目的地地址161C和离开的目的地地址160C。其它信息也可以在总线互联上传送。例如,一些比特可以被保留以指定发送了数据的源/汇站(例如,进入源地址161B和离开的源地址160B)。其它比特可以被保留用于指示所传送的用户数据的有效性的信号(例如,进入有效信号161D和离开的有效信号160D)。其它信息也可以是在总线互联上发送的信号的一部分,举例而言,诸如指示总线的可用性、循环冗余校验生成的校验和值或者奇偶校验位的信号。
可编程逻辑区域18可以被配置为形成总线互联。图4A、图4B、图4C和图4D是示出根据本发明的实施方式的可编程逻辑区域18A、18B、18C和18D的不同配置的示例图。可编程逻辑区域18A、18B、18C和18D可以包括旁路电路38。旁路电路38有时可以被称为选择旁路电路。可编程逻辑区域18A、18B、18C和18D可以均包括一个或者更多个更小的可编程逻辑区域34,更小的逻辑区域34可以被配置为执行定制用户功能(例如,可编程逻辑元件、可配置的逻辑块、或者适应性的逻辑模块)。作为示例,可编程逻辑区域18A可以包括单个逻辑元件34,两个逻辑元件34、四个逻辑元件34或者更多。
可编程逻辑区域18A、18B、18C和18D可以均包括输入选择电路54。如果期望,则输入选择电路54可以选择哪些互联联接耦合到可编程逻辑区域34(例如,图2的互联联接16的哪个)。例如,电路54可以包括用于选择哪个互联联接用于向可编程逻辑区域34提供输入信号的输入选择电路。可编程逻辑区域34可以接收输入信号并执行定制用户功能以产生输出信号。输出选择和路由电路56可以包括用于选择使用哪个互联联接来路由来自可编程逻辑区域34的输出信号到集成电路10的其它可编程逻辑区域的电路。输入选择电路54和输出选择和路由电路56可以包括可经由对应的可编程元件(未示出)来配置的诸如复用器这样的电路。输入选择电路54和输出选择和路由电路56可以被形成为诸如图1B的输入输出电路21这样的输入-输出电路的一部分。
可编程逻辑34可以均包括两个或者更多个寄存器,诸如寄存器40A和40B。如果期望,寄存器40A和40B可以存储可编程逻辑区域生成的输出数据。在此情形下,使用诸如互联资源16这样的互联联接,可以在整个可编程集成电路10上路由存储在寄存器40A和40B中的输出数据。
图4A中的可编程逻辑区域18B可以被配置为使得可编程逻辑区域不形成总线互联。在此配置中,输入选择电路54可以选择哪个互联资源16被路由到可编程逻辑区域34。通过处理在所选择的互联资源上接收的信号,可编程逻辑区域34可以产生输出信号。输出信号可以存储在寄存器40A和40B中,并被发送到输出选择和路由电路56。输出选择和路由电路56可以接收可编程逻辑区域34的输出信号,并且所选择的信号可以驱动所选择的互联资源16。
图4B的可编程逻辑区域18A、图4C的可编程逻辑区域18C和图4D的可编程逻辑区域18D可以被配置为形成总线互联。在总线互联中,来自第一可编程逻辑区域的全部输出信号可以被一起路由作为到第二可编程逻辑区域的输入端的总线。为此目的,来自第一可编程逻辑区域的全部输出信号可以使用相同互联资源并且旁路相同中间可编程逻辑区域直至到达第二可编程逻辑区域。为了实现总线互联,输出选择和路由电路56可以被配置为从上面传送信号的互联资源16选择总线互联。总线互联可以在集成电路上采取任何形式或者形状。总线互联可以是单向总线互联,或者可以是双向总线互联。总线互联可以具有任意数量的可编程逻辑区域18,被配置为源/汇站、寄存器传递级、或者用于导线拼接,其仅仅受到被配置为形成给定总线互联的可编程逻辑区域的数量限制。
旁路电路38可以包围输入选择电路54。例如,图4B中的可编程逻辑区域18A可以被配置为实现源/汇站。在此情形下,旁路电路38可以将在互联资源16上接收到的信号直接路由到可编程逻辑区域34中的寄存器40A。如果当前源/汇站的地址匹配所传送的数据中包括的目的地地址,在总线互联上传送的数据可以存储在寄存器40A中以便进一步处理。在此情况下,基于可编程逻辑区域在所选择的互联资源16上从输入选择电路54接收的信号,新的输出数据可以被可编程逻辑区域34产生。输出数据可以被作为新数据在选择的总线互联上从互联资源16被输出选择和路由电路56传送。
图4C中的被配置为互联拼接级的可编程逻辑区域18C可以使用旁路电路38以通过在互联资源16上将接收的信号直接路由到输出选择和路由电路来旁路输入选择电路54和可编程逻辑区域34。输出选择和路由电路56可以被配置为可以从上面传送信号的互联资源16选择总线互联。
图4D示出被配置为寄存器传递级的可编程逻辑区域18D。为了满足与时钟信号CLK的时钟频率相关联的时序约束,在互联资源16上接收的信号可以被通过旁路电路38直接路由到可编程逻辑区域18D的寄存器40A。这种配置旁路了可编程逻辑区域34中的输入选择电路和可以被配置为执行定制用户功能的电路(例如,可编程逻辑元件、可配置的逻辑块或者适应性的逻辑模块)。寄存器40A的输出信号被发送到输出选择和路由电路56,输出选择和路由电路56被配置为可以从在上面传送信号的互联资源16选择总线互联。为了满足与时钟信号CLK的时钟频率相关联的关键路径延迟限制,可编程逻辑区域可以被配置为实现寄存器传递级18D,其可以被设置在总线互联上的适当距离处。例如,可编程逻辑区域18A向另一个可编程逻辑区域18A发送的总线信号在通过被配置为拼接导线18C的可编程逻辑区域之后,可以通过被配置以实现寄存器传递级18D的可编程逻辑区域。
图5中示出了可编程逻辑区域18,可编程逻辑区域18具有旁路电路38以使用旁路路径38B选择哪个互联资源16C可以被路由。可编程逻辑区域18可以包括可编程逻辑区域34、输入选择电路54、逻辑区域输入选择电路55和输出选择和路由电路56。可编程逻辑区域18可以包括被配置为使能如图3所示的总线互联的可编程元件110、111、112和113。例如,可编程逻辑区域18可以包括配置可编程逻辑区域以形成总线(在图3中示出为110)、为实现数据源/汇站(在图3中示出为111)、或者为实现寄存器管道级(在图3中示出为112)的可编程元件。当形成总线互联时,可编程逻辑区域18可以被配置为互联拼接级,以实现总线互联中的寄存器管道级,或者通过适当地加载可编程元件110、111、112实现用于在总线互联上接收和传送数据的源/汇站。
可编程逻辑区域18可以包括耦合到互联资源16C的输入端和耦合到互联资源16D和16E的输出端。互联资源16C、16D和16E可以用作全局和局部互联联接(例如,用于在整个器件10上全局地路由信号的互联联接或者用于将信号路由到相邻可编程逻辑区域的互联联接)。互联资源16、16C、16D和16E包括不同长度的竖直、水平和/或对角线导体线。互联资源16可以包括固定互联联接(导电线)和可编程互联联接(即,各个互联联接之间的可编程连接)。被耦合到复用器210A和210B的附加互联资源16可以包括任何期望的互联资源。互联资源16可以包括互联资源16C、16D或者16E中的一些或者全部,或者可以包括附加互联资源(例如,不同类型的附加互联资源或者到集成电路10上的不同的位置)。
示出耦合到互联联接16、16C、16D和16E的可编程逻辑区域18的图5的示例仅仅是示例性的。如果期望,则可编程逻辑区域18可以耦合到任何数量的互联联接,这些互联联接被配置为将输入信号路由到可编程逻辑区域18并且将输出信号路由以远离可编程逻辑区域18。例如,可编程逻辑区域18可以耦合到沿着不同轴线形成并且具有不同长度的互联联接。可编程逻辑区域18可以耦合到数十或者数百个互联联接(作为示例)。
可以用输出选择和路由电路56选择的输出信号来驱动可编程逻辑区域18的输出。例如,输出选择和路由电路56可以利用来自可编程逻辑区域34的输出信号驱动互联资源16D。
输出选择和路由电路56可以包括复用器210A、210B、220A、220B、230A、230B和驱动器250A和250B。各驱动器(例如,驱动器250A和250B)可以利用复用器选择的信号来驱动互联资源,诸如16D或者16E。如果期望,驱动器250A和250B可以经由可编程元件20来配置为电断开互联联接中的一些或者全部。
可编程逻辑区域18可以被配置在总线互联外部,类似于图4A中的可编程逻辑区域18B。在此情形下,输入选择电路54可以选择在互联资源16C上接收的输入信号用于在输入路径38A上传送。逻辑区域输入选择电路55还可以在从输入路径38A上接收的信号中选择信号并将那些信号发送到可编程逻辑区域34的输入端。可编程逻辑区域34可以在处理电路64中处理接收到的信号。处理电路64可以包括查找表电路、累加器电路、乘法器电路或者处理接收到的信号并产生输出信号的任何其它电路。复用器66可以接收那些输出信号以及直接来自旁路了处理电路64的逻辑区域输入选择电路55的信号。每个复用器66可以从其输入信号中选择并传播信号。可以使用寄存器40A和40B来锁存那些信号,或者可以被直接路由到输出选择和路由电路56。复用器220A和220B与输出选择和路由电路56中的复用器230A和230B一起可以选择可编程逻辑区域34的哪个输出可以被使用互联资源16D传送并且可以使用互联资源16E传送。另选地,输出选择和路由电路56可以被配置为将在互联资源16上接收的信号路由到互联资源16D或者16E。在此情况下,复用器210A和230A或者210B和230B可以因此被控制。
图5的可编程逻辑区域18可以被配置为互联拼接级,其可以用于将互联资源拼接到一起以形成总线互联。例如,用逻辑“1”加载可编程元件110可以指示可编程逻辑区域18在形成总线互联。在图3中,用逻辑“0”加载可编程元件111和112可以指示可编程逻辑区域18既不形成寄存器传递级也不形成源/汇站。在此构造中,在总线互联上到达可编程逻辑区域18的数据可以被旁路电路38选择用于在旁路路径38B上直接路由到输出选择和路由电路56中的复用器220A并从那里路由到复用器230A和驱动器250A并且在互联资源16D上经由总线互联到达下一个可编程逻辑区域。
图5的可编程逻辑区域18可以被配置为形成总线互联中的寄存器传递级,例如通过在图3中用逻辑“1”加载可编程逻辑元件110和112,用逻辑“0”加载可编程元件111。在此情形下,在总线互联上接收的数据可以被路由通过旁路电路38,在旁路路径38B上,通过复用器66到寄存器40A。从那里,数据可以被直接路由到输出选择和路由电路56中的复用器220A,从复用器220A其可以被路由到复用器230A和驱动器250A并且在互联资源16D上经由总线互联传送到下一个可编程逻辑区域。
图5的可编程逻辑区域18可以还被配置为源/汇站,其沿着接收在总线互连上传送的数据并且在总线互联上传送新数据的总线互联(例如,源/汇站是用于接收到的信息的端点和用于所产生的信息的起点)。例如,在图3中,通过用逻辑“1”加载可编程元件110和111并且通过加载可编程元件113来进一步向可编程逻辑区域18指派地址,可编程逻辑区域18可以被配置为源/汇站。在此情形下,比较器可以比较存储在图3的可编程元件113中的可编程逻辑区域的地址和在总线互联上与数据一起被接收到的目的地地址。如果地址不匹配,则可编程逻辑区域可以被配置为充当如上所述的寄存器传递级。当地址匹配时,可编程逻辑区域可以被配置为使得在总线互联上接收到的数据被通过旁路电路38路由,在旁路路径38B上,通过复用器66,并到达寄存器40A,在寄存器40A处数据被存储。为了进一步处理,数据可以在复用器220B、230B、驱动器250B和互联资源16E上被路由到另一个可编程逻辑区域。
可编程逻辑区域18可以在互联资源16C上接收不作为在总线互联上传送的信号的一部分的信号。那些信号中的一些可以被输入选择电路54选择用于在输入路径38A上传送。逻辑区域输入选择电路55还可以在输入路径38A上接收的信号中选择信号并将那些信号发送到可编程逻辑区域34的输入端。可编程逻辑区域34可以在处理电路64中处理接收到的信号。处理电路64可以包括查找表电路、累加器电路、乘法器或者处理接收到的信号并且产生输出信号的任何其它电路。复用器66可以接收那些输出信号以及直接来自旁路了处理电路64的逻辑区域输入选择电路55的信号。各复用器66可以从其输入信号中的一个选择信号并传播信号。上部复用器66选择来自旁路路径38B的信号以便在寄存器40A中存储,如以上所提到的。下部复用器66接收和选择的信号可以或者使用寄存器40B被锁存或者它们可以被直接路由到输出选择和路由电路56。复用器220A与输出选择和路由电路56中的复用器230A可以一起选择可编程逻辑区域34的哪个输出可以被使用互联资源16D传送。
图6示出具有被配置为实现环形总线互联600的可编程逻辑区域的集成电路的示例图。例如,连接成环的总线互联600可以具有6个被配置为源/汇站的可编程逻辑区域(例如,18A)、4个被配置为寄存器传递级的可编程逻辑区域(例如,18D)和8个被配置用于导线拼接的可编程逻辑区域。全部其它可编程逻辑区域(例如,18C)可以被配置为不参与形成总线互联。被配置为源/汇站18A的每个可编程逻辑区域可以具有存储在图3的可编程元件113中的地址。作为示例,环形总线互联600中被配置为源/汇站的6个可编程逻辑区域18A可以具有用三个比特的数据在“000”到“101”的范围内编码的地址。
形成环形总线互联600的各可编程逻辑区域18可以从各个可编程逻辑区域处的可用互联资源16选择图5的互联资源16D的不同子集合用于形成环形总线互联。例如,除了左上角被配置为寄存器传递级之外,600的左侧列中的全部可编程逻辑区域可以选择长度为四的上游竖直互联联接,如图6所示。除了右下角可编程逻辑区域被配置为寄存器传递级之外,600的右侧列中的全部可编程逻辑区域可以选择长度为四的下游竖直互联联接,如图6所示。被配置为寄存器传递级的左上角的可编程逻辑区域可以选择长度为四的水平互联联接到右侧,并且被配置为寄存器传递级的右下角的可编程逻辑区域可以选择长度为四的水平互联联接到左侧,因而形成环形总线互联。
在图6的配置中,只要使用了不同的互联资源,则被配置为源/汇站的若干可编程逻辑区域可以在环形总线互联上同时发送数据。例如,源/汇站A可以将数据发送到源/汇站C,同时源/汇站D可以将数据发送到源/汇站E,并且同时源/汇站E可以将数据发送到源/汇站F。然而,在源/汇站A在将数据发送到源/汇站C的同时,源/汇站B可以不发送数据到源/汇站D,因为源/汇站B和源/汇站C之间的互联资源将被同时用于两种数据传送。
这种情形有时称为总线上的冲突,其可以按照多种方式来防止。例如,在环形总线互联600上传送的数据可以具有与发送该数据的源/汇站相关联的源地址和与作为数据接收方的源/汇站相关联的目的地地址,如图3所示。如果源/汇站的位置在源和目的地源/汇站之间,则源/汇站可以检查其位置并且不在环形总线互联上传送新数据。另选地,在环形总线互联600上传送的数据可以包括指示环形总线互联是否在使用中的状态信号。例如,该数据可以包括如图3所示的有效信,。如果有效信号具有指示环形总线互联当前不在使用的给定值(例如,有效信号可以被设置为逻辑“0”),则源/汇站只可以在环形总线互联上发送新数据。当在环形总线互联上发送新数据时,有效信号可以被设置为指示环形总线互联现在被使用的值(例如,有效信号可以被设置为逻辑“1”)并且仅仅作为该数据的目的地的源/汇站可以将有效信号重置为指示环形总线互联不再被使用的值。
图7示出用于使用可配置互联联接在集成电路中实现总线互联的示例性步骤的流程图200。在步骤210,被配置为源/汇站的可编程逻辑区域,诸如例如图6中的可编程逻辑区域18A,可以生成用于在总线互联上传送的总线信号。那些总线信号可以包括用户数据和与被配置为作为在总线互联上传送的用户数据的接收方的源/汇站的可编程逻辑区域相关联的目的地地址。总线信号也可以包括其它信息。例如,总线信号可以包括传送总线信号的源/汇站的地址。总线信号也可以包括其他信息,举例而言,诸如例如指示总线互联当前是否使用的状态信息、奇偶位、或者用于错误校验所传送的数据的校验和值。
在步骤220,源/汇站可以接着选择要在上面向下一个可编程逻辑区域传送总线信号的互联资源。总线信号可以使用集成电路中的任何可用互联资源。例如,总线信号可以使用竖直互联联接。总线信号也可以使用其它方向上的互联资源。例如,总线信号可以使用水平方向或者对角线方向。总线信号可以使用任何方向的互联,诸如上、下、向左或者向右。总线信号可以使用不同长度V1、V2、H1、H2、D1、D2等的互联联接,或者集成电路中的任何其它长度的互联联接。
在步骤230,总线信号可以使用旁路路径来进入下一个可编程逻辑区域。从这里,在步骤240,总线信号可以被路由到寄存器并且到达可编程逻辑区域的输出选择和路由电路。下一个步骤250可以比较可编程逻辑区域的地址和总线信号中的目的地地址。另选地,如果可编程逻辑区域被配置为源/汇站,才可以比较地址。如果在步骤205,可编程逻辑区域的地址与总线信号中的目的地地址匹配,则在步骤260,总线信号可以存储在寄存器中并且从那里读取以便进一步处理。如果在步骤205,可编程逻辑区域的地址与总线信号中的目的地地址不匹配,则下一步骤215可以检查可编程逻辑区域是否被配置为寄存器传递级。如果是,则在步骤280总线信号被存储在寄存器中,并且在步骤220,输出选择和路由电路可以被配置为选择那些信号用于作为总线信号在所选择的互联资源上传送到下一个可编程逻辑区域。如果在步骤215,可编程逻辑区域没有被配置为寄存器传递级,则在步骤270,总线信号在旁路路径上被直接路由到输出选择和路由电路,该输出选择和路由电路可以被配置为选择那些信号用于在步骤220作为总线信号在所选择的互联资源上传送到下一个可编程逻辑区域。
在此描述的该方法和设备可以并入任何适当电子器件或者电子器件的系统中。例如,该方法和设备可以被并入多种类型的器件中,诸如微处理器或者其它IC。举例而言,示例性IC包括可编程阵列逻辑(PAL)、可编程逻辑阵列(PLAs)、现场可编程逻辑阵列(FPLAs)、电可编程逻辑器件器件(EPLDs)、电可擦写可编程逻辑器件器件(EEPLDs)、逻辑单元阵列(LCAs)、现场可编程门阵列(FPGAs)、专用标准产品(ASSPs)、专用集成电路(ASICs)。
在此描述的可编程逻辑器件器件可以是数据处理系统的一部分,其中,数据处理系统包括以下部件中的一个或者更多:处理器、存储器、I/O电路、和外围装置。数据处理系统可以在多种应用中广泛使用,例如计算机组网、数据组网、仪器化、视频处理、数字信号处理或者任何适当的其它应用,其中期望使用可编程或者可重编程逻辑的优势。可编程逻辑器件器件可以应用进行多种不同逻辑功能。例如,可编程逻辑器件器件可以被配置为处理器或者控制器,其与系统处理器协同使用。可编程逻辑器件可以用作仲裁器,其仲裁对数据处理系统中的共享资源的访问。在另一个示例中,可编程逻辑器件可以被配置为处理器和系统中的其它部件中的一个的接口。在一个实施方式中,可编程逻辑器件可以是受让人拥有的装置族中的一种。
尽管按照具体顺序描述了该方法的操作,应理解的是可以在所描述的操作之间进行其它操作,所描述的操作可以被调整使得按照略微不同的次序发生,或者所描述的操作可以在系统中分布,允许处理操作在与处理相关联的不同间隔发生,只要交叠操作的处理按照期望方式进行就行。
附加实施方式
附加实施方式1、一种集成电路,所述集成电路包括:具有多个输入端和寄存器的逻辑区域;可操作用于在整个集成电路上路由信号的多个互联联接;输入选择电路,可操作用于将来自多个互联联接中的所选择的子集合的信号提供到所述逻辑区域的输入端;以及旁路电路,耦合在所述多个互联联接和所述逻辑区域的输入端之间,其中,所述旁路电路可操作用于通过选择性地将来自多个互联联接中的互联联接路由到所述逻辑区域的输入端来旁路所述输入选择电路。
附加实施方式2、根据附加实施方式1所述的集成电路,其中,所述旁路电路耦合到所述多个互联联接中的第二子集合并且其中所述旁路电路可操作用于将来自所述第二子集合中的所选择的互联联接的信号路由到所述寄存器。
附加实施方式3、根据附加实施方式2所述的集成电路,所述集成电路还包括:处理电路,可操作用于从所述多个互联联接中的所选择的子集合接收信号并且其中所述处理电路还可操作用于处理接收到的信号并产生输出信号;以及复用器,可操作用于接收来自所述处理电路的输出信号和来自所述第二子集合中的所选择的互联联接的信号中的至少一个并且将接收到的信号的一部分提供到所述寄存器。
附加实施方式4、根据附加实施方式3所述的集成电路,其中,所述旁路电路还包括:附加复用器,耦合到所述多个互联联接的第二子集合,其中所述附加复用器可操作用于将来自所述第二子集合中的所选择的互联联接的信号通过所述复用器路由到所述寄存器。
附加实施方式5、根据附加实施方式1所述的集成电路,其中,所述逻辑区域可操作用于处理所述输入选择电路提供的所选择的信号以产生逻辑区域输出信号。
附加实施方式6、根据附加实施方式5所述的集成电路,其中,所述旁路电路耦合到所述多个互联联接的第二子集合并且其中所述旁路电路可操作用于通过旁路所述逻辑区域,将来自所述第二子集合中的所选择的互联联接的旁路信号路由到所述逻辑区域输出信号。
附加实施方式7、根据附加实施方式6所述的集成电路,其中,所述逻辑区域中的寄存器可操作用于产生寄存器输出信号并且其中所述集成电路还包括:输出选择和路由电路,可操作用于接收逻辑区域输出信号、所述寄存器输出信号和所述旁路信号,其中所述输出和路由电路还可操作用于将所述逻辑区域输出信号的所选择的信号、所述寄存器输出信号和所述旁路信号路由到所述多个互联联接中的一个。
附加实施方式8、根据附加实施方式1所述的集成电路,其中,所述集成电路包括可编程集成电路并且其中所述逻辑区域包括可编程逻辑区域。
附加实施方式9、一种集成电路,所述集成电路包括:逻辑区域,具有可操作用于提供逻辑区域输出信号的多个寄存器;第一互联联接;第二互联联接;耦合到所述第一互联联接的旁路路径,其中所述旁路路径传播旁路信号;以及输出选择和路由电路,耦合到所述第二互联联接,其中所述输出选择和路由电路接收所述逻辑区域输出信号和所述旁路信号中的每个,并且其中所述输出选择和路由电路还将所述旁路信号和所述逻辑区域输出信号中所选择的一个路由到所述第二互联联接。
附加实施方式10、根据附加实施方式9所述的集成电路,其中,所述多个寄存器中的给定寄存器在所述旁路路径上接收所述旁路信号。
附加实施方式11、根据附加实施方式9所述的集成电路,其中,所述输出选择和路由电路还包括:第一复用器,接收所述逻辑区域输出信号和所述旁路信号,其中所述第一复用器还包括提供从所述逻辑区域输出信号和所述旁路信号选择的第一复用器输出信号。
附加实施方式12、根据附加实施方式11所述的集成电路,所述集成电路还包括:多个附加互联联接;以及耦合到所述多个附加互联联接的第二复用器,其中所述第二复用器从所述多个附加互联联接接收信号并且提供从所述多个附加互联联接的信号选择的第二复用器输出信号。
附加实施方式13、根据附加实施方式12所述的集成电路,其中,所述输出选择和路由电路还包括:附加复用器,接收所述第一复用器输出信号和所述第二复用器输出信号,其中所述附加复用器还提供从所述第一复用器输出信号和所述第二复用器输出信号选择的附加复用器输出信号。
附加实施方式14、根据附加实施方式13所述的集成电路,所述集成电路还包括:驱动器电路,接收所述附加复用器输出信号并且驱动所述第二互联联接。
附加实施方式15、根据附加实施方式9所述的集成电路,所述集成电路还包括:多个附加互联联接;耦合到所述多个附加互联联接的输入选择电路,其中所述输入选择电路从所述多个附加互联联接接收信号并且向所述逻辑区域提供从接收到的输入信号选择的逻辑区域输入信号;以及旁路电路,接收来自所述多个附加互联联接的信号的子集合并且将从接收到的信号的子集合选择的旁路电路输出信号提供给所述多个寄存器中的所述给定寄存器和所述输出选择和路由电路。
附加实施方式16、根据附加实施方式15所述的集成电路,其中,所述旁路电路包括:复用器,接收所述信号的子集合并且将所述旁路电路输出信号提供到所述多个寄存器中的所述给定寄存器和所述输出选择和路由电路。
附加实施方式17、一种用于操作集成电路的方法,所述方法包括:在多个逻辑区域中的第一逻辑区域中产生多个数据信号;在所述多个逻辑区域中的所述第一逻辑区域中生成目的地地址,其中所述目的地地址与所述多个逻辑区域中的目的地逻辑区域相关联;以及经由所述多个互联联接的所选择的子集合传送所述多个数据信号和所述目的地地址,其中所述多个互联联接的所选择的子集合置于所述多个逻辑区域中的所述第一逻辑区域和所述多个逻辑区域中的所述第二逻辑区域之间。
附加实施方式18、根据附加实施方式17所述的集成电路,所述集成电路还包括:从所述多个逻辑区域中的所述第一逻辑区域和所述多个逻辑区域中的所述第二逻辑区域接收所述多个数据信号和所述目的地地址;将接收到的多个数据信号和目的地地址经由旁路路径路由到寄存器和输出选择和路由电路;并且将接收到的目的地地址和在所述多个逻辑区域中的第二逻辑区域的地址进行比较。
附加实施方式19、根据附加实施方式18所述的集成电路,所述集成电路还包括:响应于确定接收到的目的地地址与所述第二逻辑区域的地址匹配,将接收到的多个数据信号存储在所述多个逻辑区域的所述第二逻辑区域中的寄存器中。
附加实施方式20、根据附加实施方式18所述的集成电路,其中,所述第二逻辑区域包括存储元件,该存储元件存储寄存器传递比特,所述方法还包括:基于所述寄存器传递比特确定接收到的多个数据信号和所述目的地地址是否应在第二逻辑区域中传递。
附加实施方式21、根据附加实施方式20所述的集成电路,所述集成电路还包括:响应于确定在旁路路径上接收到的多个数据信号和所述目的地地址将不被传递,选择所述多个互联联接的子集合,其中,所述多个互联联接的子集合将所述多个逻辑区域中的所述第二逻辑区域耦合到所述多个逻辑区域中的第三逻辑区域;并且使用所述多个互联联接中的所选择的子集合在所述输出选择和路由电路处的旁路路径上传送接收到的多个数据信号和目的地地址。
附加实施方式22、根据附加实施方式20所述的集成电路,所述集成电路还包括:响应于确定在旁路路径上接收到的多个数据信号和所述目的地地址要被传递,将接收到的多个数据信号和所述目的地地址存储在所述第二逻辑的寄存器中;并且使用所述多个互联联接中的所选择的子集合在寄存器处在旁路路径上传送接收到的多个数据信号和所述目的地地址,其中,所述多个互联联接中的子集合将所述多个逻辑区域中的所述第二逻辑区域耦合到所述多个逻辑区域中的第三逻辑区域。
以上仅仅是本发明的原理的示例,并且在不背离本发明的范围和实质下,本领域技术人员可以进行各种修改。上述实施方式可以单独实施或者任意组合实施。
Claims (20)
1.一种集成电路,所述集成电路包括:
具有多个输入端和寄存器的逻辑区域;
可操作用于在整个所述集成电路上路由信号的多个互联联接;
输入选择电路,可操作用于将来自所述多个互联联接中的所选择的子集合的信号提供到所述逻辑区域的输入端;和
旁路电路,耦合在所述多个互联联接和所述逻辑区域的输入端之间,其中,所述旁路电路可操作用于通过选择性地将来自所述多个互联联接中的互联联接路由到所述逻辑区域的输入端来旁路所述输入选择电路。
2.根据权利要求1所述的集成电路,其中,所述旁路电路耦合到所述多个互联联接中的第二子集合并且其中所述旁路电路可操作用于将来自所述第二子集合中的所选择的互联联接的信号路由到所述寄存器;
3.根据权利要求2所述的集成电路,所述集成电路还包括:
处理电路,可操作用于从所述多个互联联接中的所选择的子集合接收所述信号并且其中所述处理电路还可操作用于处理所述接收到的信号并产生输出信号;以及
复用器,可操作用于接收来自所述处理电路的所述输出信号和来自所述第二子集合中的所选择的互联联接的所述信号中的至少一个并且将所述接收到的信号的一部分提供到所述寄存器。
4.根据权利要求3所述的集成电路,其中,所述旁路电路还包括:
附加复用器,其耦合到所述多个互联联接的第二子集合,其中所述附加复用器可操作用于将来自所述第二子集合中的所选择的互联联接的信号通过所述复用器路由到所述寄存器。
5.根据权利要求1所述的集成电路,其中所述逻辑区域可操作用于处理所述输入选择电路提供的所选择的信号以产生逻辑区域输出信号。
6.根据权利要求5所述的集成电路,其中,所述旁路电路耦合到所述多个互联联接的第二子集合并且其中所述旁路电路可操作用于通过旁路所述逻辑区域,将来自所述第二子集合中的所选择的互联联接的旁路信号路由到所述逻辑区域输出信号。
7.根据权利要求6所述的集成电路,其中,所述逻辑区域中的寄存器可操作用于产生寄存器输出信号并且其中所述集成电路还包括:
输出选择和路由电路,其可操作用于接收所述逻辑区域输出信号、所述寄存器输出信号和所述旁路信号,其中所述输出和路由电路还可操作用于将所述逻辑区域输出信号、所述寄存器输出信号和所述旁路信号的所选择的信号路由到所述多个互联联接中的一个。
8.一种集成电路,所述集成电路包括:
逻辑区域,具有可操作用于提供逻辑区域输出信号的多个寄存器;
第一互联联接;
第二互联联接;
耦合到所述第一互联联接的旁路路径,其中所述旁路路径传播旁路信号;和
输出选择和路由电路,其耦合到所述第二互联联接,其中所述输出选择和路由电路接收所述逻辑区域输出信号和所述旁路信号中的每个,并且其中所述输出选择和路由电路还将所述旁路信号和所述逻辑区域输出信号中的所选择的一个路由到所述第二互联联接。
9.根据权利要求8所述的集成电路,其中所述多个寄存器中的给定寄存器在所述旁路路径上接收所述旁路信号。
10.根据权利要求8所述的集成电路,其中所述输出选择和路由电路还包括:
第一复用器,其接收所述逻辑区域输出信号和所述旁路信号,其中所述第一复用器还提供从所述逻辑区域输出信号和所述旁路信号选择的第一复用器输出信号。
11.根据权利要求10所述的集成电路,所述集成电路还包括:
多个附加互联联接;和
耦合到所述多个附加互联联接的第二复用器,其中所述第二复用器从所述多个附加互联联接接收信号并且提供从所述多个附加互联联接的信号选择的第二复用器输出信号。
12.根据权利要求11所述的集成电路,其中所述输出选择和路由电路还包括:
附加复用器,其接收所述第一复用器输出信号和所述第二复用器输出信号,其中所述附加复用器还提供从所述第一复用器输出信号和所述第二复用器输出信号选择的附加复用器输出信号。
13.根据权利要求12所述的集成电路,所述集成电路还包括:
驱动器电路,其接收所述附加复用器输出信号并且驱动所述第二互联联接。
14.根据权利要求8所述的集成电路,所述集成电路还包括:
多个附加互联联接;
耦合到所述多个附加互联联接的输入选择电路,其中所述输入选择电路从所述多个附加互联联接接收信号并且向所述逻辑区域提供从接收到的输入信号选择的逻辑区域输入信号;和
旁路电路,其接收来自所述多个附加互联联接的信号的子集合并且将从接收到的所述信号的子集合选择的旁路电路输出信号提供给所述多个寄存器中的所述给定寄存器和所述输出选择和路由电路。
15.根据权利要求14所述的集成电路,其中所述旁路电路包括:
复用器,其接收所述信号的子集合并且将所述旁路电路输出信号提供给所述多个寄存器中的所述给定寄存器和所述输出选择和路由电路。
16.一种用于操作集成电路的方法,所述方法包括:
在多个逻辑区域中的第一逻辑区域中产生多个数据信号;
在所述多个逻辑区域中的所述第一逻辑区域中生成目的地地址,其中所述目的地地址与所述多个逻辑区域中的目的地逻辑区域相关联;以及
经由多个互联联接的所选择的子集合传送所述多个数据信号和所述目的地地址,其中所述多个互联联接的所选择的子集合置于所述多个逻辑区域中的所述第一逻辑区域和所述多个逻辑区域中的第二逻辑区域之间。
17.根据权利要求16所述的方法,所述方法还包括:
从所述多个逻辑区域中的所述第一逻辑区域和所述多个逻辑区域中的所述第二逻辑区域接收所述多个数据信号和所述目的地地址;
将所述接收到的多个数据信号和目的地地址经由旁路路径路由到寄存器和输出选择和路由电路;以及
将所述接收到的目的地地址和所述多个逻辑区域中的所述第二逻辑区域的地址进行比较。
18.根据权利要求17所述的方法,其中,所述第二逻辑区域包括存储元件,该存储元件存储寄存器传递比特,所述方法还包括:
基于所述寄存器传递比特确定所述接收到的多个数据信号和目的地地址是否应在所述第二逻辑区域中传递。
19.根据权利要求18所述的方法,所述方法还包括:
响应于确定在旁路路径上的所述接收到的多个数据信号和目的地地址将不被传递,选择所述多个互联联接的子集合,其中,所述多个互联联接的子集合将所述多个逻辑区域中的所述第二逻辑区域耦合到所述多个逻辑区域中的第三逻辑区域;以及
使用所述多个互联联接中的所选择的子集合在所述输出选择和路由电路处的旁路路径上传送所述接收到的多个数据信号和目的地地址。
20.根据权利要求18所述的方法,所述方法还包括:
响应于确定在旁路路径上的所述接收到的多个数据信号和目的地地址要被传递,将所述接收到的多个数据信号和目的地地址存储在所述第二逻辑区域的寄存器中;以及
使用所述多个互联联接中的所选择的子集合在所述寄存器处在旁路路径上传送所述接收到的多个数据信号和目的地地址,其中,所述多个互联联接中的所述子集合将所述多个逻辑区域中的所述第二逻辑区域耦合到所述多个逻辑区域中的第三逻辑区域。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/656,262 | 2012-10-19 | ||
US13/656,262 US8704548B1 (en) | 2012-10-19 | 2012-10-19 | Methods and apparatus for building bus interconnection networks using programmable interconnection resources |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103778272A true CN103778272A (zh) | 2014-05-07 |
CN103778272B CN103778272B (zh) | 2018-03-27 |
Family
ID=49553998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310495015.5A Active CN103778272B (zh) | 2012-10-19 | 2013-10-21 | 使用可编程互联源建立总线互联网络的方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (2) | US8704548B1 (zh) |
EP (1) | EP2722989B1 (zh) |
CN (1) | CN103778272B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107005241A (zh) * | 2015-02-22 | 2017-08-01 | 弗莱克斯-罗技克斯技术公司 | 混合基数和/或混合模式开关矩阵体系架构和集成电路,及操作其的方法 |
CN108563871A (zh) * | 2015-05-28 | 2018-09-21 | 阿尔特拉公司 | 用于配置和重新配置部分重新配置区域的方法和装置 |
CN109690515A (zh) * | 2016-09-16 | 2019-04-26 | 阿尔特拉公司 | 用于在基于管线的网络拓扑中执行部分重新配置的方法和设备 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8542032B1 (en) * | 2012-01-06 | 2013-09-24 | Altera Corporation | Integrated circuits with interconnect selection circuitry |
US8860458B2 (en) * | 2012-07-20 | 2014-10-14 | Altera Corporation | Integrated circuits with logic regions having input and output bypass paths for accessing registers |
US9252778B2 (en) | 2013-09-27 | 2016-02-02 | Scaleo Chip | Robust flexible logic unit |
US9048827B2 (en) * | 2013-09-27 | 2015-06-02 | Scaleo Chip | Flexible logic unit |
US9077339B2 (en) * | 2013-09-27 | 2015-07-07 | Scaleo Chip | Robust flexible logic unit |
US9735761B2 (en) * | 2014-07-24 | 2017-08-15 | Lattice Semiconductor Corporation | Flexible ripple mode device implementation for programmable logic devices |
US10523207B2 (en) * | 2014-08-15 | 2019-12-31 | Altera Corporation | Programmable circuit having multiple sectors |
US10116311B2 (en) | 2016-08-03 | 2018-10-30 | Silicon Mobility | Embedded FPGA with multiple configurable flexible logic blocks instantiated and interconnected by abutment |
US10454480B2 (en) | 2016-08-03 | 2019-10-22 | Silicon Mobility | Embedded FPGA with multiple configurable flexible logic blocks instantiated and interconnected by abutment |
US20180159786A1 (en) | 2016-12-02 | 2018-06-07 | Netspeed Systems, Inc. | Interface virtualization and fast path for network on chip |
US10909292B1 (en) * | 2019-02-14 | 2021-02-02 | Xilinx, Inc. | Implementing circuit designs on multi-die programmable devices |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5594367A (en) * | 1995-10-16 | 1997-01-14 | Xilinx, Inc. | Output multiplexer within input/output circuit for time multiplexing and high speed logic |
US20060232296A1 (en) * | 2005-04-18 | 2006-10-19 | Kilopass Technologies, Inc. | Fast processing path using field programmable gate array logic unit |
US20100283505A1 (en) * | 2007-09-13 | 2010-11-11 | Friedrich-Alexander-Universitaet-Erlangen- Nuernberg | Logic Chip, Logic System and Method for Designing a Logic Chip |
US20120126851A1 (en) * | 2006-06-21 | 2012-05-24 | Element Cxi, Llc | Data-Driven Integrated Circuit Architecture |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4758745B1 (en) | 1986-09-19 | 1994-11-15 | Actel Corp | User programmable integrated circuit interconnect architecture and test method |
US5424589A (en) | 1993-02-12 | 1995-06-13 | The Board Of Trustees Of The Leland Stanford Junior University | Electrically programmable inter-chip interconnect architecture |
US5689195A (en) * | 1995-05-17 | 1997-11-18 | Altera Corporation | Programmable logic array integrated circuit devices |
US5986465A (en) * | 1996-04-09 | 1999-11-16 | Altera Corporation | Programmable logic integrated circuit architecture incorporating a global shareable expander |
JP3865789B2 (ja) * | 1997-05-23 | 2007-01-10 | アルテラ コーポレイション | インタリーブされた入力回路を備えるプログラマブル論理装置のための冗長回路 |
US7072345B2 (en) | 2000-11-29 | 2006-07-04 | Raza Microelectronics, Inc | Programmable integrated circuit for use in a network switch |
JP4414297B2 (ja) * | 2004-07-09 | 2010-02-10 | パナソニック株式会社 | プログラマブルロジックデバイス、コンフィギュレーション装置、コンフィギュレーション方法 |
US7902862B2 (en) | 2007-09-14 | 2011-03-08 | Agate Logic, Inc. | High-bandwidth interconnect network for an integrated circuit |
US8860458B2 (en) | 2012-07-20 | 2014-10-14 | Altera Corporation | Integrated circuits with logic regions having input and output bypass paths for accessing registers |
-
2012
- 2012-10-19 US US13/656,262 patent/US8704548B1/en not_active Expired - Fee Related
-
2013
- 2013-10-14 EP EP13188528.7A patent/EP2722989B1/en active Active
- 2013-10-21 CN CN201310495015.5A patent/CN103778272B/zh active Active
-
2014
- 2014-03-14 US US14/212,667 patent/US9166599B1/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5594367A (en) * | 1995-10-16 | 1997-01-14 | Xilinx, Inc. | Output multiplexer within input/output circuit for time multiplexing and high speed logic |
US20060232296A1 (en) * | 2005-04-18 | 2006-10-19 | Kilopass Technologies, Inc. | Fast processing path using field programmable gate array logic unit |
US20120126851A1 (en) * | 2006-06-21 | 2012-05-24 | Element Cxi, Llc | Data-Driven Integrated Circuit Architecture |
US20100283505A1 (en) * | 2007-09-13 | 2010-11-11 | Friedrich-Alexander-Universitaet-Erlangen- Nuernberg | Logic Chip, Logic System and Method for Designing a Logic Chip |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107005241A (zh) * | 2015-02-22 | 2017-08-01 | 弗莱克斯-罗技克斯技术公司 | 混合基数和/或混合模式开关矩阵体系架构和集成电路,及操作其的方法 |
CN107005241B (zh) * | 2015-02-22 | 2021-04-13 | 弗莱克斯-罗技克斯技术公司 | 混合基数和/或混合模式开关矩阵体系架构和集成电路,及操作其的方法 |
CN108563871A (zh) * | 2015-05-28 | 2018-09-21 | 阿尔特拉公司 | 用于配置和重新配置部分重新配置区域的方法和装置 |
CN108563871B (zh) * | 2015-05-28 | 2022-05-27 | 阿尔特拉公司 | 用于配置和重新配置部分重新配置区域的方法和装置 |
CN109690515A (zh) * | 2016-09-16 | 2019-04-26 | 阿尔特拉公司 | 用于在基于管线的网络拓扑中执行部分重新配置的方法和设备 |
CN109690515B (zh) * | 2016-09-16 | 2024-01-30 | 阿尔特拉公司 | 用于在基于管线的网络拓扑中执行部分重新配置的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103778272B (zh) | 2018-03-27 |
EP2722989A3 (en) | 2015-07-01 |
EP2722989A2 (en) | 2014-04-23 |
EP2722989B1 (en) | 2019-06-19 |
US20140111247A1 (en) | 2014-04-24 |
US9166599B1 (en) | 2015-10-20 |
US8704548B1 (en) | 2014-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103778272A (zh) | 使用可编程互联源建立总线互联网络的方法和装置 | |
US6359468B1 (en) | Programmable logic device with carry look-ahead | |
US7532032B2 (en) | Configurable circuits, IC's, and systems | |
US5835998A (en) | Logic cell for programmable logic devices | |
US6614261B2 (en) | Interconnection and input/output resources for programable logic integrated circuit devices | |
US5530813A (en) | Field-programmable electronic crossbar system and method for using same | |
US6747480B1 (en) | Programmable logic devices with bidirect ional cascades | |
US7564260B1 (en) | VPA interconnect circuit | |
US20090160481A9 (en) | Configurable Circuits, IC's and Systems | |
US20090058461A1 (en) | Configurable Circuits, IC's, and Systems | |
US9673824B2 (en) | Techniques and circuitry for configuring and calibrating an integrated circuit | |
US9385724B1 (en) | Methods for operating configurable storage and processing blocks at double and single data rates | |
US20070241787A1 (en) | Configurable Circuits, IC's, and Systems | |
US7449915B2 (en) | VPA logic circuits | |
US6342792B1 (en) | Logic module circuitry for programmable logic devices | |
US6271681B1 (en) | PCI-compatible programmable logic devices | |
US7148722B1 (en) | PCI-compatible programmable logic devices | |
US6927601B1 (en) | Flexible macrocell interconnect | |
US6184710B1 (en) | Programmable logic array devices with enhanced interconnectivity between adjacent logic regions | |
CN105391443A (zh) | 用于可编程逻辑装置的逻辑单元 | |
US8464088B1 (en) | Multiple channel bonding in a high speed clock network | |
US8300635B2 (en) | Programmable crossbar structures in asynchronous systems | |
US7057412B1 (en) | Configurable crossbar switch | |
US7443846B1 (en) | Implementation of a multiplexer in integrated circuitry | |
US7733124B1 (en) | Method and apparatus for PLD having shared storage elements |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |