CN102763334A - 具有镜像互连结构的可编程集成电路 - Google Patents
具有镜像互连结构的可编程集成电路 Download PDFInfo
- Publication number
- CN102763334A CN102763334A CN2010800639636A CN201080063963A CN102763334A CN 102763334 A CN102763334 A CN 102763334A CN 2010800639636 A CN2010800639636 A CN 2010800639636A CN 201080063963 A CN201080063963 A CN 201080063963A CN 102763334 A CN102763334 A CN 102763334A
- Authority
- CN
- China
- Prior art keywords
- block
- configuration
- fpga
- logical line
- programmable interconnect
- 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
-
- 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/1778—Structural details for adapting physical parameters
- H03K19/17796—Structural details for adapting physical parameters for physical disposition of blocks
Abstract
一种具有镜像互连结构的可编程集成电路(IC),其中包含水平排列的多个配置(102、104)。每一配置包含一第一逻辑行(106)、一第一互连行(108)、一第二互连行(110)、和一第二逻辑行(112),以此顺序水平地排列于所述配置内。每一互连行包含可编程互连区块(PIB 130-144、188-196、199),且每一该第一及第二逻辑行包含可编程逻辑区块(114-128、164-171)。每一可编程互连区块提供多个第一输入(174)及输出(172)端口于一侧。每一可编程逻辑区块提供第二输入(156)及输出(158)端口于一侧。在该第一互连行(108)中的每一可编程互连区块的该第一端口和该一侧与在该第二互连行(110)中的每一可编程互连区块的该第一端口和该一侧彼此呈实体上的镜像关系。在该第一互连行(108)中的可编程互连区块的该第一端口(172、174)耦接至在该第一逻辑行中的可编程逻辑区块的该第二端口(156、158、182、184、186、190、194)。在该第二互连行(110)中的可编程互连区块的该第一端口耦接至在该第二逻辑行中的可编程逻辑区块的该第二端口(160-62、176-180、198)。
Description
技术领域
本发明基本上是关于集成电路,特别是关于可编程集成电路。
背景技术
可编程逻辑组件(programmable logic device;PLD)是一种众所周知的集成电路,其可以被编定程序以执行特定的逻辑功能。其中一类PLD,现场可编程逻辑门阵列(field programmable gate array;FPGA),基本上包含一可编程方块的数组。此等可编程方块可以包含,举例而言,输入/输出区块(input/outputblock;IOB)、可组构逻辑区块(configurable logic block;CLB)、专用随机存取存储器区块(dedicated random access memory block;BRAM)、乘法器(multiplier)、数字信号处理区块(digital signal processing block;DSP)、处理器(processor)、时脉管理器(clock manager)、延迟锁定回路(delay lock loop;DLL)、等等。
每一可编程方块基本上包含可编程互连结构(programmable interconnect)和可编程逻辑。可编程互连结构一般而言包含透过可编程互连点(programmable interconnect point;PIP)彼此互连的数量庞大的不同长度的互联机。可编程逻辑利用可编程构件实施用户设计的逻辑,可编程构件可以包含,举例而言,函数产生器(function generator)、缓存器(register)、算术逻辑、等等。
其通常藉由将组态数据的数据串加载界定可编程构件如何组构的内部组态存储器单元而对可编程互连结构和可编程逻辑进行程序的编定。所述的组态数据可以是读取自存储器(例如,自一外部PROM)或者透过一外部装置被写入FPGA。个别存储器单元的集体状态从而决定该FPGA的功能。
其基本上需要改良可编程集成电路以增加可以实施于可编程集成电路中的用户设计种类。
本发明可以针对前述之一或多个问题加以解决。
发明内容
一可编程集成电路包含多个水平排列于该可编程集成电路中的多个配置。每一配置包含一第一逻辑行、一第一互连行、一第二互连行、和一第二逻辑行,依照左列顺序水平排列于该配置之内。每一上述的第一及第二互连行包含多个可编程互连区块垂直地排列于该互连行之中。上述的第一及第二逻辑行各自均包含多个可编程逻辑区块垂直地排列于上述的逻辑行之中。
所述的可编程互连区块各自均提供多个第一输入及输出端口于该可编程互连区块的一侧。所述的可编程逻辑区块各自均提供多个第二输入及输出端口于该可编程逻辑区块的一侧。每一配置的第一互连行中的每一可编程互连区块的该第一端口及该一侧与该配置的第二互连行中的每一可编程互连区块的该第一端口及该一侧彼此呈实体上的镜像关系。每一配置的第一互连行中的可编程互连区块的该第一端口耦接至该配置的第一逻辑行中的可编程逻辑区块的该第二端口。每一配置的第二互连行中的可编程互连区块的该第一端口耦接至该配置的第二逻辑行中的可编程逻辑区块的该第二端口。
在某些实施例中,该配置的该互连行中的每一可编程互连区块均耦接至至少四个可编程互连区块,以通过该可编程互连区块其中之一的该第一输出端口及通过该至少四个可编程互连区块的该第一输入端口选择性地将该配置的该逻辑行中的可编程逻辑区块的该第二输入端口耦接至该可编程逻辑区块的该第二输出端口。
在某些实施例中,每一配置包含该第一逻辑行、该第一互连行、该第二互连行、和该第二逻辑行,依照此顺序由左至右水平排列于该配置之内。该可编程逻辑区块的该一侧是每一第一逻辑行中的可编程逻辑区块的一右侧及每一第二逻辑行中的可编程逻辑区块的一左侧。该可编程互连区块的该一侧是每一第一互连行中的可编程互连区块的一左侧及每一第二互连行中的可编程互连区块的一右侧。
在某些实施例中,每一配置的该第一逻辑行中的可编程逻辑区块的该右侧毗连该配置的该第一互连行中的可编程互连区块的该左侧;以及每一配置的该第二互连行中的可编程互连区块的该右侧毗连该配置的该第二逻辑行中的可编程逻辑区块的该左侧。
在某些实施例中,每一配置的该第一互连行中的每一可编程互连区块与每一配置的该第二互连行中的每一可编程互连区块均呈功能上的镜像关系。每一配置的每一逻辑行中的可编程逻辑区块均具有多个型态中的一同一型态。对于每一该型态,每一配置的该第一逻辑行中具有该型态的每一可编程逻辑区块与每一配置的该第二逻辑行中具有该型态的每一可编程逻辑区块均呈实体上的镜像关系。
在某些实施例中,每一该配置还包含一共用行水平配置于该第一互连行和该第二互连行之间并与其毗连。该第一及第二互连行中的每一可编程互连区块均选择性地将该共用行的多个时脉及控制线各自耦接至该可编程互连区块的该第一输出端口所耦接的该第二输入端口中的至少其中之一。
在某些实施例中,对于在该可编程集成电路中相邻至一第二配置的该第一逻辑行的一第一配置的该第二逻辑行:在该第二及第一逻辑行中的每一可编程逻辑区块在与该可编程逻辑区块的该一侧对立的另一侧均具有多个第三端口;以及该第二及第一逻辑行中的可编程逻辑区块均通过该第三端口耦接。
在某些实施例中,每一配置的该第一逻辑行中的可编程逻辑区块的该一侧毗连该配置的该第一互连行中的可编程互连区块的该一侧;以及每一配置的该第二逻辑行中的可编程逻辑区块的该一侧毗连该配置的该第二互连行中的可编程互连区块的该一侧。
在某些实施例中,每一配置的每一逻辑行中的可编程逻辑区块均具有多个型态中的同一型态。在某些实施例中,每一配置的该第一逻辑行中的第一多个群组可编程逻辑区块对应至该配置的该第一互连行中的第二多个群组可编程互连区块。该第二逻辑行中的第三多个组群可编程逻辑区块对应至该配置的该第二互连行中的第四多个群组可编程互连区块。对于每一该第一群组中的一第一数目的可编程逻辑区块以及每一该第二群组中的一第二数目的可编程互连区块,该第一和第二数目分别是二和一、一和一、一和二、一和三、一和四、或者一和五。对于每一该第三群组中的一第三数目的可编程逻辑区块以及每一该第四群组中的一第四数目的可编程互连区块,该第三和第四数目分别是二和一、一和一、一和二、一和三、一和四、或者一和五。
在某些实施例中,对于每一该型态,具有该型态且位于该配置的该第一逻辑行中的每一可编程逻辑区块与具有该型态且位于该配置的该第二逻辑行中的每一可编程逻辑区块均呈实体上的镜像关系。
在某些实施例中,该配置其中之一的该第一逻辑行中的每一可编程逻辑区块与该配置其中之一的该第二逻辑行中的每一可编程逻辑区块均呈实体上的镜像关系。
在某些实施例中,每一配置的该第一逻辑行中的每一可编程逻辑区块的每一该第二输入端口均选择性地耦接至该配置的该第二逻辑行中的至少三个可编程逻辑区块的该第二输出端口中的至少其中之一。该第二输入端口选择性地耦接至完全位于该配置的该互连行的一区域内且未进入该配置的该逻辑行之一区域的至少三个可编程逻辑区块的至少一第二输出端口。
其应理解,许多其他实施例将于以下实施方式段落中提出,并于申请专利范围中界定。
附图说明
配合图式的详细说明使得本发明的各个特色及优点趋于明显,其中:
图1是一示范性可编程集成电路的方块图;
图2是一示范性可编程逻辑组件的布局示意图;以及
图3是例示可编程互连及逻辑区块的一示范性配置的方块图。
具体实施方式
图1是依据本发明许多实施例之一可编程集成电路之功能方块图。该可编程集成电路包含配置102至104,其包含可编程逻辑及互连资源。配置102至104水平排列于该可编程逻辑组件之中。其应理解,对该可编程集成电路进行一简单的旋转将使得配置102至104变成垂直排列。在一实施例之中,图1的可编程集成电路为可编程逻辑组件。然而,其应理解,此种例示也可适用于其它形式的可编程集成电路。
在一实施例之中,配置102包含可编程逻辑及互连区块的四个行106、108、110、及112。该四个行106、108、110、及112依上列顺序由左至右水平排列于配置102之内。逻辑行106和112包含可编程逻辑区块(Programmable LogicBlock,PLB)114、116、和118至120、以及122、124、和126至128。可编程逻辑区块114、116、和118至120垂直排列于逻辑行106之中,而可编程逻辑区块122、124、和126至128垂直排列于逻辑行112之中。互连行108和110包含可编程互连区块(Programmable Interconnect Block,PIB)130、132、和134至136、以及138、140、和142至144。可编程互连区块130、132、和134至136垂直排列于互连行108之中,而可编程互连区块138、140、和142至144垂直排列于互连行110之中。
在另一实施例之中,配置102包含可编程逻辑及互连区块的三个行106、146、及112。该三个行106、146、及112依上列顺序由左至右水平排列于配置102之内。互连行146包含可编程互连区块148、150、和152至154之一垂直配置。可编程互连区块148包含可编程互连区块130及138二个子区块,其以左列顺序由左而右水平排列于可编程互连区块148之内。以类似形式,可编程互连区块150包含区块132及140,可编程互连区块152包含区块134及142,而互连区块154包含区块136及144。
在一实施例中,逻辑行106中的可编程逻辑区块114、116、和118至120与逻辑行112中的可编程逻辑区块122、124、和126至128是同一型态,且逻辑行112中的每一可编程逻辑区块122、124、和126至128是逻辑行106中的每一可编程逻辑区块114、116、和118至120之一实体上的镜像。在此实施例之中,可编程互连区块130、132、和134至136各自均与可编程互连区块138、140、和142至144呈功能上的镜像关系,但通常并非完全呈实体上的镜像关系。
在另一实施例之中,逻辑行106中的可编程逻辑区块114、116、和118至120是一种型态,而逻辑行112中的可编程逻辑区块122、124、和126至128则是另一种型态。在此实施例之中,可编程逻辑区块114右侧之端口156及158与可编程逻辑区块122左侧之端口160及162呈实体上的镜像关系,但可编程逻辑区块114与122彼此并非实体上的镜像关系,因为区块114和122是不同型态。同样地,逻辑行106中的每一可编程逻辑区块114、116、和118至120的右侧与逻辑行112中的每一可编程逻辑区块122、124、和126至128的左侧均呈实体上的镜像关系。
其应理解,配置102至104中的某些部分可以包含完全同一型态的可编程逻辑区块,而配置102至104中的其他部分可以包含多重型态的可编程逻辑区块。在一实例之中,配置102中的可编程逻辑区块114、116、和118至120以及122、124、和126至128均是同一种型态,但在配置104之中,可编程逻辑区块164、165、和166至167之型态不同于可编程逻辑区块168、169、和170至171。
在某些实施例之中,每一可编程逻辑区块均连接至一对应的可编程互连区块。举例而言,可编程逻辑区块114之输入端口156连接至可编程互连区块130之输出端口172,而可编程逻辑区块114之输出端口158连接至可编程互连区块130之输入端口174。
每一可编程逻辑区块的输入端口均透过特定的可编程互连区块耦接至许多可编程逻辑区块的输出端口。举例而言,可编程逻辑区块124之输入端口176透过可编程互连区块140耦接至可编程逻辑区块124之输出端口178,输入端口176透过可编程互连区块140及138耦接至可编程逻辑区块122之输出端口162,输入端口176透过可编程互连区块140及142耦接至可编程逻辑区块126之输出端口180,输入端口176透过可编程互连区块140及130耦接至可编程逻辑区块114之输出端口158,输入端口176透过可编程互连区块140及132耦接至可编程逻辑区块116之输出端口182,输入端口176透过可编程互连区块140及134耦接至可编程逻辑区块118之输出端口184,输入端口176透过可编程互连区块140及188耦接至可编程逻辑区块164之输出端口186,输入端口176透过可编程互连区块140及192耦接至可编程逻辑区块165之输出端口190,输入端口176透过可编程互连区块140及196耦接至可编程逻辑区块166之输出端口194,而输入端口176透过可编程互连区块140及199耦接至可编程逻辑区块169之输出端口198。综而言之,特定的可编程互连区块将可编程逻辑区块124之输入端口176耦接至可编程逻辑区块124、122、126、114、116、118、164、165、166、和169之输出端口。可编程互连区块以类似方式将其他可编程逻辑区块之输入端口耦接至许多其他可编程逻辑区块之输出端口。
因此,每一可编程互连区块均连接至许多可编程互连区块以使得每一可编程逻辑区块之输入端口均可以连接至许多其他可编程逻辑区块之输出端口。举例而言,可编程互连区块140连接至可编程互连区块138、142、130、132、134、188、192、196、以及199以使得可编程逻辑区块124之输入端口176可以连接至可编程逻辑区块122、126、114、116、118、164、165、166、以及169之输出端口。
在所例示的可编程逻辑区块114、116、118、120、122、124、126、128、164、165、166、167、168、169、170、以及171的数组之中,假设配置102及104在此可编程逻辑组件中彼此相邻,则此例中可编程逻辑区块124在垂直方向、水平方向、和对角线方向上的邻接可编程逻辑区块分别是可编程逻辑区块122、126、116、165、114、118、164、以及166。在例示实施例之中,所述的可编程互连区块将实例中的可编程逻辑区块124耦接至所有所述的邻接的可编程逻辑区块122、126、116、165、114、118、164、以及166。将每一可编程逻辑区块耦接至垂直方向、水平方向、和对角线方向上的邻接可编程逻辑区块的连接称为单连接(single connection)。所述的可编程互连区块同时亦将实例中的可编程逻辑区块124耦接至可编程逻辑区块169。诸如实例中可编程逻辑区块124和远程可编程逻辑区块169间的连接称为长连接(longconnection)。其应理解,其可以有各种不同长度的长连接。
可编程逻辑组件之效能(举例而言)愈来愈决定于该可编程逻辑组件的接线延迟。由于单连接一般而言短于长连接,故单连接较之长连接具有较低的接线延迟。为了增加实施于可编程逻辑组件中的逻辑设计之效能,所实施的逻辑设计针对该逻辑设计中的关键时序路径应以单连接为主。
本发明的许多实施例提出一种可编程逻辑组件,其缩短某些单连接长度且降低其接线延迟,从而增进实施于该可编程逻辑组件中一逻辑设计之效能。当所述的长度缩短的单连接优先使用以实施一逻辑设计中的关键时序路径之时,所实施之该逻辑设计之效能将显著增进。
将可编程互连行146配置于可编程逻辑行106与112之间使得介于此实例中的可编程逻辑区块124与可编程逻辑区块114、116、和118之间的单连接长度为之缩短。这是由于介于此实例中可编程逻辑区块124的输入端口176以及相对可编程逻辑区块114、116、和118的输出端口158、182、和184之间的连接维持于可编程互连行146的范围内部,完全未进入可编程逻辑行106和112的范围。实例中可编程逻辑区块124的输出端口178的对应单连接亦同样地被缩短。实例中的可编程逻辑区块124与可编程逻辑区块114、116、和118间的单连接直接耦接此等可编程逻辑区块,并未跨越至可编程逻辑行106和112而招致任何接线延迟。
图2是依据本发明许多实施例之一可编程逻辑组件之布局示意图。此可编程逻辑组件包含由多行可编程逻辑及互连区块构成的配置201、202、203、及204。
诸如一现场可编程逻辑门阵列(FPGA)之高阶可编程逻辑组件可以在其数组中包含许多不同型态的可编程方块。举例而言,图2例示一FPGA架构200,具有数量庞大的不同可编程方块,其中包含可组构逻辑区块(CLB 212)、随机存取存储器(BRAM 213)、输入/输出逻辑区块(IOL 215)、组态及时脉产生区块205、数字信号处理区块(DSP 214)、专用输入/输出区块(I/O 207)(例如,组态端口及时脉端口)、和诸如数字时脉管理器、模拟至数字转换器、系统监测逻辑之其他可编程逻辑208,等等。某些FPGA亦包含专用处理器区块(图中未显示)。
虽然许多可编程方块被置放于配置201、202、203、和204内部,但晶粒之中央并未落入任一配置之中,而是包含可编程逻辑及互连区块216,其在例示实施例之中包含可组构逻辑区块、可编程互连区块、以及输入/输出逻辑区块。
在一些FPGA之中,每一可编程互连区块(PIB 211)均与邻近的可编程互连区块以及可能一些远程可编程互连区块之间具有标准化之连接。因此,所述的可编程互连区块共同实施出该例示FPGA的可编程互连结构。一可编程互连区块(PIB 211)同时亦包含与诸如CLB 212、一BRAM 213、一IOL 215、或一DSP214之毗邻可编程逻辑区块之连接。
一可组构逻辑构件可以包含一可编程互连区块(PIB 211)和毗邻之可以被编定程序以实施用户逻辑的可组构逻辑区块(CLB 212)。一存储器构件可以包含一随机存取存储器(BRAM 213)加上一或多个可编程互连区块。基本上,用于一可编程逻辑区块的互连区块的数目是取决于该可编程逻辑区块之高度。在所描绘的实施例之中,CLB 212与一可编程互连区块(PIB 211)具有相同之高度,且BRAM 213与五个可编程互连区块(PIB 211)具有相同之高度,但其可以实施为其他的数目(例如,二、三、或四个)。一数字信号处理构件可以包含一DSP区块(DPS 214)加上一适当数目之毗连可编程互连区块(PIB 211)。一输入/输出构件可以包含,举例而言,二个输入/输出逻辑区块(IOL 215)的实施体毗连一个可编程互连区块(PIB 211)的实施体。配置201中的输入/输出逻辑区块(IOL 215)与配置204中的输入/输出逻辑区块彼此成实体上的镜像关系。如相关领域的熟习者所明白,连接至每一输入/输出逻辑区块(IOL 215)的实际I/O接垫,举例而言,通常并未被局限于该输入/输出逻辑区块(IOL 215)的范围。
在所描绘的实施例之中,组态及时脉信号透过控制逻辑区域(图2中显示为交叉线区域)被产生并分布于晶粒各处。靠近晶粒中心的控制产生区块205产生组态、时脉、以及其他控制信号。延伸自控制产生区块205的水平区域209将此等控制信号在晶粒的宽度方向分布。直行区域210将时脉及组态信号在垂直方向分布至可编程逻辑及互连区块各行的配置201、202、203、以及204。每一配置201、202、203、及204均包含一共享直行区域210,其将左侧的一行可编程互连区块(PIB 211)连接至右侧的另一行可编程互连区块(PIB 211)。此共享直行区域将组态、时脉、和其他控制信号分散至所述的可编程互连区块以控制所述的可编程互连区块,并用以进一步分散至配置中的可编程逻辑区块。
注意图2仅是预定例示一示范性FPGA架构。例如,一行中的可编程逻辑或互连区块的数目、各行的相对宽度、配置的数目、包含于各行中的可编程逻辑或互连区块的种类、以及可编程逻辑或互连区块的相对尺寸均是纯粹示范性的。
图3是例示依据本发明许多实施例的可编程互连及逻辑区块之一配置之功能方块图。该配置包含一行可编程逻辑区块301、302、303、304、305、和306至307;一行可编程互连区块311、312、313、314、315、和316至317;另一行可编程互连区块321、322、323、324、325、和326至327;以及另一行可编程逻辑区块331、332、333、334、335、和336至337,各行以左列的顺序由左至右包含于该配置之内。
可编程互连区块323及可编程逻辑区块333被展开以显示其彼此之间和与可编程互连区块312、313、314、321、322、324、和325之间的互连状况。其应理解,未展开的可编程互连及逻辑区块301、302、303、304、305、306至307、311、312、313、314、315、316至317、321、322、324、325、326至327、331、332、334、335、和336至337均具有类似的连接。
可编程逻辑区块333具有一输入端口340和一输出端口342。在某些实施例之中,可编程逻辑区块333可以同时亦具有一选择性输入端口344和一选择性输出端口346。可编程逻辑区块333从输入端口340(以及选择性输入端口344)之数值产生输出端口342(以及选择性输出端口346)之数值。其应理解,可编程逻辑区块333可以从其他额外数值产生输出端口342(以及选择性输出端口346)之数值,诸如可编程逻辑区块333内的储存状态以及来自可编程逻辑区块332或334中一跨可编程逻辑区块331、332、333、334、335、336、及337实施之一加法器(adder)之进位(carry)数值。
可编程互连区块323中的泛用互连多工器348选择性地将来自可编程逻辑区块333之输出端口342的一或多个数值绕接至可编程互连区块312、313、314、321、322、324、和325,而可编程互连区块312、313、314、321、322、324、和325将此等来自输出端口342的数值选择性地分别转送至可编程逻辑区块302、303、304、331、332、334、和335之一输入端口。同样地,可编程互连区块312、313、314、321、322、324、和325将分别来自可编程逻辑区块302、303、304、331、332、334、和335之输出端口之数值选择性地转送至可编程互连区块323,其将所述的数值经由泛用互连多工器348及输入多工器350选择性地绕接至输入端口340。因此,可编程互连区块311、312、313、314、315、316至317、321、322、323、324、325、及326至327将可编程逻辑区块301、302、303、304、305、306至307以及331、332、333、334、335、336至337的输出端口选择性地耦接至所述的可编程逻辑区块的特定输入端口。
输入多工器350选择绕送至可编程逻辑区块333之输入端口340的信号数值。输入多工器350将输入端口340选择性地耦接至来自输出端口342在信号线352上的回授,或者是耦接至共用行356之信号线354,或者是透过泛用互连多工器348和可编程互连区块312、313、314、321、322、324、和325耦接至可编程逻辑区块302、303、304、331、332、334、和335之一输出端口。来自共用行356的信号线354包含时脉信号、重置信号、以及其他控制信号。在一实施例之中,共用行356对应至图2所示的其中一配置的共用行210的其中之一。
在一实施例之中,组态存储器单元之数值透过多任务器348及350控制信号的绕接。因此,组态存储器之内容决定介于共用行356与可编程逻辑区块301、302、303、304、305、306至307、331、332、333、334、335、336至337的输入及输出端口间的互连。
在一实施例之中,可编程逻辑区块333包含组构可编程逻辑区块333之运作的额外组态存储器单元。在一实例之中,可编程逻辑区块333包含一可组构对照表(look-up table)及一具有旁通架构之缓存器。该可组构对照表可以实施来自输入端口340(以及选择性端口344)之数值的任何逻辑函数。该缓存器可以被组构成直接以来自可组构对照表或来自储存可组构对照表先前结果的缓存器的结果驱动输出端口342(以及选择性端口346)。
因此,可编程逻辑区块301、302、303、304、305、306至307、以及331、332、333、334、335、336至337可以被组构成实施一用户设计之逻辑及状态机,而可编程互连区块311、312、313、314、315、316至317、321、322、323、324、325、及326至327可以被组构成适当地连接该用户设计之逻辑及状态机。
在某些实施例之中,可编程逻辑区块333毗连一相邻配置中之另一可编程逻辑区块(未显示于图中)。可编程逻辑区块333在一侧上具有输入及输出端口340和342,而在可编程逻辑区块333的一对立侧上具有选择性的输入及输出端口344和346。虽然端口340和342是耦接至可编程互连区块323,但选择性端口344和346是耦接至相邻配置中之毗连可编程逻辑区块。可编程逻辑区块333与相邻配置中毗连可编程逻辑区块的直接连接允许该二个可编程逻辑区块之间略过任何可编程互连区块的快速通信。虽然可编程逻辑区块333与相邻配置中之毗连可编程逻辑区块在一实施例中是彼此之镜像,在二者的镜像之外是介于选择性输出端口346与毗连可编程逻辑区块之一对应输入端口以及该毗连可编程逻辑区块之一输出端口与选择性输入端口344之间的交叉连接。
本发明被认为适用于各种可编程集成电路架构。虽然本发明之例示是利用包含诸如现场可编程逻辑门阵列的可编程逻辑组件的示范性实施例,但其并非局限于此。经由说明书的审视和所揭示发明之实习,本发明之其他特色和实施例对于习于斯艺之人士将显而易见。本说明书及例示实施例均应仅视为示范性质,而本发明的实际范畴及精神应由申请专利范围界定之。
Claims (13)
1.一种可编程集成电路IC,包含:
多个配置,水平排列于该可编程集成电路之中,每一配置包含一第一逻辑行、一第一互连行、一第二互连行、和一第二逻辑行,以此顺序水平排列于该配置内,其中:
每一该第一及第二互连行包含多个可编程互连区块垂直地排列于该互连行之中;
每一该第一及第二逻辑行包含多个可编程逻辑区块垂直地排列于该逻辑行之中;
每一该可编程互连区块提供多个第一输入及输出端口于该可编程互连区块的一侧;
每一该可编程逻辑区块提供多个第二输入及输出端口于该可编程逻辑区块的一侧;
在每一配置的该第一互连行中的每一该可编程互连区块的该第一端口和该一侧与在该配置的该第二互连行中的每一可编程互连区块的该第一端口和该一侧彼此呈实体上的镜像关系;
在每一配置的该第一互连行中的可编程互连区块的该第一端口耦接至在该配置的该第一逻辑行中的可编程逻辑区块的该第二端口;以及
在每一配置的该第二互连行中的可编程互连区块的该第一端口耦接至在该配置的该第二逻辑行中的可编程逻辑区块的该第二端口。
2.如申请专利范围第1项所述的可编程集成电路,其中该配置的该互连行中的每一可编程互连区块均耦接至至少四个可编程互连区块,以通过该可编程互连区块其中之一的该第一输出端口及通过该至少四个可编程互连区块的该第一输入端口选择性地将该配置的该逻辑行中的可编程逻辑区块的该第二输入端口耦接至该可编程逻辑区块的该第二输出端口。
3.如申请专利范围第1或2项所述的可编程集成电路,其中:
每一配置包含该第一逻辑行、该第一互连行、该第二互连行、和该第二逻辑行,依照此顺序由左至右水平排列于该配置之内;
该可编程逻辑区块的该一侧是每一第一逻辑行中的可编程逻辑区块的一右侧及每一第二逻辑行中的可编程逻辑区块的一左侧;以及
该可编程互连区块的该一侧是每一第一互连行中的可编程互连区块的一左侧及每一第二互连行中的可编程互连区块的一右侧。
4.如申请专利范围第3项所述的可编程集成电路,其中:
每一配置的该第一逻辑行中的可编程逻辑区块的该右侧毗连该配置的该第一互连行中的可编程互连区块的该左侧;以及
每一配置的该第二互连行中的可编程互连区块的该右侧毗连该配置的该第二逻辑行中的可编程逻辑区块的该左侧。
5.如申请专利范围第1至4项中任一项所述的可编程集成电路,其中:
每一配置的该第一互连行中的每一可编程互连区块与每一配置的该第二互连行中的每一可编程互连区块均呈功能上的镜像关系;
每一配置的每一逻辑行中的可编程逻辑区块均具有多个型态中的一同一型态;以及
对于每一该型态,每一配置的该第一逻辑行中具有该型态的每一可编程逻辑区块与每一配置的该第二逻辑行中具有该型态的每一可编程逻辑区块均呈实体上的镜像关系。
6.如申请专利范围第1至5项中任一项所述的可编程集成电路,其中:
每一该配置还包含一共用行水平配置于该第一互连行和该第二互连行之间并与其毗连;以及
该第一及第二互连行中的每一可编程互连区块均选择性地将该共用行的多个时脉及控制线各自耦接至该可编程互连区块的该第一输出端口所耦接的该第二输入端口中的至少其中之一。
7.如申请专利范围第1至6项中任一项所述的可编程集成电路,其中,对于在该可编程集成电路中相邻至一第二配置的该第一逻辑行的一第一配置的该第二逻辑行:
在该第二及第一逻辑行中的每一可编程逻辑区块在与该可编程逻辑区块的该一侧对立的另一侧均具有多个第三端口;以及
该第二及第一逻辑行中的可编程逻辑区块均通过该第三端口耦接。
8.如申请专利范围第1至7项中任一项所述的可编程集成电路,其中:
每一配置的该第一逻辑行中的可编程逻辑区块的该一侧毗连该配置的该第一互连行中的可编程互连区块的该一侧;以及
每一配置的该第二逻辑行中的可编程逻辑区块的该一侧毗连该配置的该第二互连行中的可编程互连区块的该一侧。
9.如申请专利范围第1至8项中任一项所述的可编程集成电路,其中每一配置的每一逻辑行中的可编程逻辑区块均具有多个型态中的同一型态。
10.如申请专利范围第9项所述的可编程集成电路,其中:
每一配置的该第一逻辑行中的第一多个群组可编程逻辑区块对应至该配置的该第一互连行中的第二多个群组可编程互连区块;
该第二逻辑行中的第三多个组群可编程逻辑区块对应至该配置的该第二互连行中的第四多个群组可编程互连区块;
对于每一该第一群组中的一第一数目的可编程逻辑区块以及每一该第二群组中的一第二数目的可编程互连区块,该第一和第二数目分别是二和一、一和一、一和二、一和三、一和四、或者一和五;以及
对于每一该第三群组中的一第三数目的可编程逻辑区块以及每一该第四群组中的一第四数目的可编程互连区块,该第三和第四数目分别是二和一、一和一、一和二、一和三、一和四、或者一和五。
11.如申请专利范围第9项所述的可编程集成电路,其中,对于每一该型态,具有该型态且位于该配置的该第一逻辑行中的每一可编程逻辑区块与具有该型态且位于该配置的该第二逻辑行中的每一可编程逻辑区块均呈实体上的镜像关系。
12.如申请专利范围第1至11项中任一项所述的可编程集成电路,其中该配置其中之一的该第一逻辑行中的每一可编程逻辑区块与该配置其中之一的该第二逻辑行中的每一可编程逻辑区块均呈实体上的镜像关系。
13.如申请专利范围第1项所述的可编程集成电路,其中:
每一配置的该第一逻辑行中的每一可编程逻辑区块的每一该第二输入端口均选择性地耦接至该配置的该第二逻辑行中的至少三个可编程逻辑区块的该第二输出端口中的至少其中之一;以及
该第二输入端口选择性地耦接至完全位于该配置的该互连行的一区域内且未进入该配置的该逻辑行的一区域的至少三个可编程逻辑区块的至少一第二输出端口。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/718,848 US8120382B2 (en) | 2010-03-05 | 2010-03-05 | Programmable integrated circuit with mirrored interconnect structure |
US12/718,848 | 2010-03-05 | ||
PCT/US2010/053308 WO2011109045A1 (en) | 2010-03-05 | 2010-10-20 | Programmable integrated circuit with mirrored interconnect structure |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102763334A true CN102763334A (zh) | 2012-10-31 |
CN102763334B CN102763334B (zh) | 2015-03-04 |
Family
ID=43332298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080063963.6A Active CN102763334B (zh) | 2010-03-05 | 2010-10-20 | 具有镜像互连结构的可编程集成电路 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8120382B2 (zh) |
EP (1) | EP2543145B1 (zh) |
JP (1) | JP5698268B2 (zh) |
KR (1) | KR101377886B1 (zh) |
CN (1) | CN102763334B (zh) |
TW (1) | TWI445312B (zh) |
WO (1) | WO2011109045A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106156402A (zh) * | 2016-06-15 | 2016-11-23 | 深圳市紫光同创电子有限公司 | Fpga逻辑块阵列的版图布局方法及版图布局 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3003969B1 (fr) * | 2013-03-28 | 2015-04-17 | Nanoxplore | Dispositif d'interconnexion programmable |
EP3107212B1 (en) * | 2015-06-16 | 2018-04-25 | Framatome | Field programmable gate array comprising plurality of functional blocks and control device for a power plant |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5448493A (en) * | 1989-12-20 | 1995-09-05 | Xilinx, Inc. | Structure and method for manually controlling automatic configuration in an integrated circuit logic block array |
US5880598A (en) * | 1997-01-10 | 1999-03-09 | Xilinx, Inc. | Tile-based modular routing resources for high density programmable logic device |
CN1105970C (zh) * | 1996-05-20 | 2003-04-16 | 爱特梅尔股份有限公司 | 具有分布ram的现场可编程门陈列 |
US20030080777A1 (en) * | 2000-07-13 | 2003-05-01 | Xilinx, Inc. | Programmable logic device structures in standard cell devices |
US6696855B1 (en) * | 1997-09-30 | 2004-02-24 | Cypress Semiconductor Corporation | Symmetric logic block input/output scheme |
US20040150422A1 (en) * | 2000-08-04 | 2004-08-05 | Leopard Logic, Inc. | Interconnection network for a field programmable gate array |
CN101043213A (zh) * | 2007-03-15 | 2007-09-26 | 复旦大学 | 一种现场可编程逻辑阵列布线资源结构及其建模方法 |
CN101179271A (zh) * | 2007-11-30 | 2008-05-14 | 电子科技大学 | 一种fpga结构 |
CN101527562A (zh) * | 2007-03-09 | 2009-09-09 | 阿尔特拉公司 | 具有可互连不同逻辑块中的逻辑元件的逻辑阵列块互连线的可编程逻辑器件 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6130550A (en) * | 1993-01-08 | 2000-10-10 | Dynalogic | Scaleable padframe interface circuit for FPGA yielding improved routability and faster chip layout |
US5570040A (en) * | 1995-03-22 | 1996-10-29 | Altera Corporation | Programmable logic array integrated circuit incorporating a first-in first-out memory |
US5815004A (en) * | 1995-10-16 | 1998-09-29 | Xilinx, Inc. | Multi-buffered configurable logic block output lines in a field programmable gate array |
WO2005066832A2 (en) * | 2003-12-29 | 2005-07-21 | Xilinx, Inc. | Integrated circuit with cascading dsp slices |
US7126406B2 (en) * | 2004-04-30 | 2006-10-24 | Xilinx, Inc. | Programmable logic device having an embedded differential clock tree |
US7327159B1 (en) * | 2005-11-28 | 2008-02-05 | Lattice Semiconductor Corporation | Interface block architectures |
-
2010
- 2010-03-05 US US12/718,848 patent/US8120382B2/en active Active
- 2010-10-20 EP EP10774352.8A patent/EP2543145B1/en active Active
- 2010-10-20 WO PCT/US2010/053308 patent/WO2011109045A1/en active Application Filing
- 2010-10-20 CN CN201080063963.6A patent/CN102763334B/zh active Active
- 2010-10-20 JP JP2012552857A patent/JP5698268B2/ja active Active
- 2010-10-20 KR KR1020127018983A patent/KR101377886B1/ko active IP Right Grant
- 2010-11-10 TW TW099138642A patent/TWI445312B/zh active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5448493A (en) * | 1989-12-20 | 1995-09-05 | Xilinx, Inc. | Structure and method for manually controlling automatic configuration in an integrated circuit logic block array |
CN1105970C (zh) * | 1996-05-20 | 2003-04-16 | 爱特梅尔股份有限公司 | 具有分布ram的现场可编程门陈列 |
US5880598A (en) * | 1997-01-10 | 1999-03-09 | Xilinx, Inc. | Tile-based modular routing resources for high density programmable logic device |
US6696855B1 (en) * | 1997-09-30 | 2004-02-24 | Cypress Semiconductor Corporation | Symmetric logic block input/output scheme |
US20030080777A1 (en) * | 2000-07-13 | 2003-05-01 | Xilinx, Inc. | Programmable logic device structures in standard cell devices |
US20040150422A1 (en) * | 2000-08-04 | 2004-08-05 | Leopard Logic, Inc. | Interconnection network for a field programmable gate array |
CN101527562A (zh) * | 2007-03-09 | 2009-09-09 | 阿尔特拉公司 | 具有可互连不同逻辑块中的逻辑元件的逻辑阵列块互连线的可编程逻辑器件 |
CN101043213A (zh) * | 2007-03-15 | 2007-09-26 | 复旦大学 | 一种现场可编程逻辑阵列布线资源结构及其建模方法 |
CN101179271A (zh) * | 2007-11-30 | 2008-05-14 | 电子科技大学 | 一种fpga结构 |
Non-Patent Citations (1)
Title |
---|
王春早等: "FPGA的布线开关和互连线段的优化设计", 《电子与封装》, vol. 7, no. 8, August 2007 (2007-08-01), pages 27 - 29 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106156402A (zh) * | 2016-06-15 | 2016-11-23 | 深圳市紫光同创电子有限公司 | Fpga逻辑块阵列的版图布局方法及版图布局 |
Also Published As
Publication number | Publication date |
---|---|
KR101377886B1 (ko) | 2014-03-25 |
JP5698268B2 (ja) | 2015-04-08 |
TWI445312B (zh) | 2014-07-11 |
EP2543145A1 (en) | 2013-01-09 |
KR20120106832A (ko) | 2012-09-26 |
US20110215834A1 (en) | 2011-09-08 |
EP2543145B1 (en) | 2014-12-31 |
US8120382B2 (en) | 2012-02-21 |
TW201145832A (en) | 2011-12-16 |
WO2011109045A1 (en) | 2011-09-09 |
CN102763334B (zh) | 2015-03-04 |
JP2013520074A (ja) | 2013-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5426738A (en) | Apparatus for flexibly routing signals between pins of electronic devices | |
US5428750A (en) | Bi-directional buffers for mounting a plurality of integrated circuit devices | |
US9075930B2 (en) | Configurable embedded memory system | |
JP5242810B2 (ja) | プログラマブルデバイスを用いたメモリ制御のための方法および装置 | |
US6467017B1 (en) | Programmable logic device having embedded dual-port random access memory configurable as single-port memory | |
US6788104B2 (en) | Field programmable logic device with efficient memory utilization | |
US8482313B2 (en) | Universal digital block interconnection and channel routing | |
US7268581B1 (en) | FPGA with time-multiplexed interconnect | |
Doumar et al. | Defect and fault tolerance FPGAs by shifting the configuration data | |
WO2003030009A2 (en) | Programmable gate array having interconnecting logic to support embedded fixed logic circuitry | |
JP2016506106A (ja) | 集積回路のための柔軟性がより高いクロックネットワークアーキテクチャ | |
US7617472B1 (en) | Regional signal-distribution network for an integrated circuit | |
US7827433B1 (en) | Time-multiplexed routing for reducing pipelining registers | |
CN102763334B (zh) | 具有镜像互连结构的可编程集成电路 | |
CN105391443B (zh) | 用于可编程逻辑装置的逻辑单元 | |
US6538469B1 (en) | Technique to test an integrated circuit using fewer pins | |
US6870393B2 (en) | Field programmable device | |
US6977520B1 (en) | Time-multiplexed routing in a programmable logic device architecture | |
US6429681B1 (en) | Programmable logic device routing architecture to facilitate register re-timing | |
CN109885512B (zh) | 集成fpga和人工智能模块的系统芯片及设计方法 | |
CN109933370B (zh) | 连接fpga和人工智能模块的系统芯片 | |
US20070164784A1 (en) | Modular I/O bank architecture | |
CN104376870B (zh) | 预测及避免亚稳态的存储器仲裁电路系统及其方法 |
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 |