可缩放的多层互联结构的制作方法

文档序号:7532609阅读:96来源:国知局
专利名称:可缩放的多层互联结构的制作方法
背景技术
1.发明领域本发明涉及可编程门阵列领域,特别是,本发明直接涉及用于增加可布线性和加快现场可编程门阵列中信号速度的可缩放多层连接器抽头网络。
2.技术背景现场可编程门阵列(FPGA)是一种能够被用户编程以执行逻辑功能的成本有效的、高密度的现用的集成逻辑电路。电路设计者规定所需的逻辑功能和FPGA被编程并据此处理信号。根据逻辑密度要求和生产量,FPGA依据成本和到达市场的时间是优越的选择对象。典型的FPGA基本上是由一个围绕可配置函数发生器(CFG)逻辑块内矩阵的I/O块的外环组成的。驻留在FPGA外围的I/O块可由用户编程,从而使每个I/O块能够被独立编程以作为输入和输出并能够处于三态。每个逻辑块典型地包含多个CFG和多个存储寄存器。所述CFG用于在其输入变量上执行布尔函数。
互联资源占用多个逻辑块矩阵的行和列之间的通道,还占用所述逻辑块和I/O块之间的通道。这些互联资源对控制芯片上两个或多个指定点之间的互联提供灵活性。通常,金属线的网络在逻辑块之间垂直和水平地以行和列排列。可编程开关将所述逻辑块和I/O块的输入和输出端连接到这些金属线上。在行和列交点处的交点开关和互换开关用于将信号从一个线转换到另一个线。经常有很长的线被用于延伸整个长度和/或宽度或所述芯片,以便提供点到点的连接性。所述I/O逻辑块的功能和它们各自的互联都是可编程的。典型地,这些功能是由存储在单片级或单独存储器中的可配置程序控制的。
伴随着技术变得越来越高级,FPGA功能也日益复杂化了。增加一个阵列中CFG的数量以提供更加复杂的逻辑功能。于是互联资源的数量也随之增加。与CFG和互联资源数量的增加相竞争要求必须保持芯片尽可能地小。在所需芯片上使占用资源最小的一种方法是在保持某种层互联性的同时使布线资源最小。因此,可以看到当在所述芯片上实现的功能增加时,连接大量信号所需要的互联资源能够被很快用尽。结果或者是由于难于达到而使多数CFG闲置不用或者是CFG被简单用于互联线而不是执行某种逻辑功能,这将导致不必要的长的布线延迟和低的逻辑利用。替代的办法是需要提供更多的布线资源,这些布线资源能够明显增加芯片尺寸。
发明概述提供了一种经过改进的现场可编程门阵列(FPGA),包括多个抽头网络连接器,用于连接具有较低层互联的逻辑单元组和用于连接较低层互联和较高层互联。在一个实施例中,连接器用于连接一组元件或可配置函数发生器(CFG)(包括存储元件)至分层布线网络的某一层。一个逻辑块的组或组件由多个CFG构成,CFG可编程地耦合到一组双向输入输出线上。在本实施例中,采用了一种革新的组件结构,该结构在没有特别增加逻辑元件的情况下提供了细的粒度。双向输入/输出线耦合到所述连接器。所述连接器包括通过一个可编程开关耦合到双向输入/输出线上的连接器抽头线。所述连接器抽头线还耦合到一个相邻块的连接器和双向输入/输出线。通常,在相邻块之间发生多个信号传输,在现有技术中,使用互联到布线分层结构中较高层的有价值的布线。在本发明经过改进的FPGA中,来自一个逻辑块的信号能直接传送给相邻逻辑块而不必利用布线网络。这解放了有价值的布线,使其能够执行更长的不相邻块布线,因此,使不相邻布线所需要的间隔能够优化。一个附加的显著优点是,当每个双向输入/输出线选择性地经过两个块连接器抽头网络耦合到布线分层结构中时,由信号布线引起的阻塞最小。
耦合到双向输入/输出线上的还有多个双向开关,这些双向开关可以被编程以允许来自所述双向输入/输出线的信号耦合到一个或多个多层分层布线上。第一可编程驱动器和第二可编程驱动器可编程地耦合在双向输入/输出线和多个开关之间。第一驱动器通过确定的可编程开关经过双向输入/输出线将从所述逻辑单元接收的信号驱动给分层布线中的一个或多个布线。第二驱动器取从分层布线的一个布线上接收的信号经过一个可编程开关提供给双向输入/输出线。因此,可以提供一个灵活的可编程连接器。另外,所述连接器可以被编程以提供一个“扇出”能力,其中,该连接器驱动多个布线而不会引起显著的附加信号延迟和不使用多抽头连接器网络。
在另外一个实施例中,抽头连接器网络还可以用于确定从较低层布线到较高层布线的路线。这是特别合乎需要的,以便在不要求所有的信号驱动器都足够大以沿最长布线驱动信号的情况下,满足沿所述较长布线驱动信号的需要。特别是,提供了布线抽头线,该抽头线横跨与第三级布线分层结构相等的距离。一个抽头网络耦合到每个布线抽头线上,以经过该抽头线将每个块可编程连接到多个较高层布线之一上。所述连接器包括多个可编程双向驱动器,用于沿着布线分层结构的较长、较高层布线驱动信号。
这些连接器网络使一个灵活的布线方案能够实现,在该方案中,每层布线都分成多个组。例如,一组可以被第一组逻辑元件或CFG访问,第二组可以被第二组逻辑元件或CFG访问。第一组布线可以经过用于第二组逻辑元件或CFG的相应连接器网络到第二组逻辑元件或CFG进行访问。类似的,第二组逻辑元件或CFG可以经过用于第一组元件或CFG的连接器网络访问第一组布线。由此可见第一组CFG和第二组CFG能够访问这两组布线,借此以使信号布线阻塞可能性最小。
另外,最好包括一个转向矩阵以使在一个布线上的信号传输给一个在不同方向的布线。例如,转向矩阵的转向元件使信号能够在水平和垂直布线之间传输。当转向矩阵需要所述芯片上较多的面积时,可以利用所述连接器网络提供特别用于最经常发生的两段对角连接的足够连接性,同时使用于转向矩阵的占用资源最少。特别是,所述连接器网络能够使所述器件实现部分转向矩阵,其中一半以上的转向元件被消除,从而节省了芯片面积。
另外,这种新颖的布线分层结构由多层布线、连接器抽头网络和转向矩阵组成,并允许一个新颖的、节省面积的平面布局图被用于一个集成电路实现之中,且当SRAM被用做结构位时特别有效。这个平面布局图是一个可缩放的块结构,在该结构中,分组2×2块的每个块连接器抽头网络沿着彼此相关的相邻轴安置成镜象。再有,作为输入/输出装置用于每个块的双向输入/输出线只在两个方向(而不是通常的北、南、东和西方向)取向,从而使用于相邻块的块连接抽头网络彼此面向。这种定向和配置允许所述块共享布线资源。这减少了布线段的需要。另外,这种配置使2×2块或4×4块可以被分组成可缩放的。
所述新颖平面还有效利用了小片面积,使之几乎没有布局不工作区(dead space),因为该平面布局图对于多个连续存储器和传输门阵列(它提供双向开关的功能)配有用于CFG及块连接器抽头网络的驱动器的小逻辑区。因此,避免了由于存储器和逻辑的混合引起的典型间隙。组件内布线和双向布线相互混合并与存储器和传输门阵列一起在芯片的不同层上重叠以提供到较高层布线的连接和块内CFG之间的连接。
附图简述本发明的目的、特性和优点通过下述描述将变的更加明显,其中

图1的方框图示出了能够被本发明实现的现场可编程门阵列逻辑。
图2A示出了一个逻辑组件的实施例。
图2B示出了逻辑组件之间局部互联的一个实施例。
图3A和3B描述了一个具有垂直块连接器的逻辑组件的例子。
图4A示出了块连接器和与布线分层结构较高层布线的块连接器抽头网络之间的连接。
图4B示出了可编程连接到布线分层结构多个层的垂直线上的水平块连接器抽头网络的一个例子。
图4C示出了可编程连接到布线分层结构多个层的水平线上的垂直块连接器抽头网络的一个例子。
图5的简图示出了一个2×2逻辑块和所述块连接器抽头网络,所述网络与转向矩阵一起提供到布线分层结构较高层的接口。
图6A和6B示出另外一个实施例,在该实施例中,块连接器抽头网络连接到多层布线的子组布线上。
图7A、7B和7C是实施例的简要框图,分别示出了用于第一层布线的水平和垂直MLA转向网络和用于第二和第三层布线的部分转向网络。
图8A的简图示出了用于一个逻辑块的布局平面布局图。
图8B简要示出了2×2逻辑块阵列的布局平面布局图。
详细描述下面描述用于诸如现场可编程门阵列(FPGA)的可编程逻辑电路的新颖连接器抽头网络、互联结构和布局平面布局图。在下面用于解释的描述中,给出了大量诸如组合逻辑单元或可配置函数发生器(CFG)结构和CFG的数量等的详细规定以便提供对本发明的全面理解。但是,对本领域内的技术人员来讲很明显,本发明没有这些详细规定也能够实施。换言之,公认的结构和器件以方框形式表示以避免使本发明不必要变得模糊不清。还应注意,本发明描述了一个实施例,该实施例利用一个静态随机存取存储器(SRAM)控制所使用双向开关的状态。但是,本发明适合多种处理,包括但不局限于SRAM、动态随机存取存储器(DRAM)、熔丝/抗熔丝、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)和铁电体工艺。在布线分层结构中用做接口点和双向驱动器的连接器抽头网络的概念可以应用到深层亚微米屏蔽门阵列中,在这里,对这种驱动器的适当布置要求是关键性的。
图1的方框图示出了一个FPGA的例子,在该FPGA的基础上可以实现本发明。阵列100包括I/O逻辑块102、103、111和112,它们在FPGA封装的外管脚和内部用户逻辑之间提供直接或经过I/O逻辑块到核心接口块104、105、113和114的接口。4个接口块104、105、113和114提供在核心106和I/O逻辑块102、103、111和112之间的去耦合。
核心106包括所述逻辑和互联分层结构,该分层互联结构包括这里根据本发明技术描述的连接器抽头网络。如在后面将要描述的,这个新颖互联结构可以用于产生一个平面布局图,该布局图能够显著地节省小片尺寸。这样,当互联密度增加时,小片尺寸以低得多的速率增加。所述核心包括对CFG以及控制逻辑的编程。在这里所描述的实施例中,利用了SRAM技术。但是,也可以使用熔丝或抗熔丝、EEPROM/铁电体或类似的技术。独立的时钟/复位逻辑110用于提供基于组的时钟和复位线以使时滞最小。
本实施例以称之为组件(cluster)的组的形式提供CFG。图2A是一个逻辑组件的例子。试图说明图2A所示的逻辑组件而且该逻辑组件能够由诸如逻辑门和触发器等的其它元件构成。参看图2A,逻辑组件200由4个元件构成。这些元件包括一个2输入CFG202、两个3输入CFG204和206以及一个D触发器208。CFG202也可以是一个3输入CFG。CFG202、204和206可编程为一个组合逻辑,基于所使用的两个输入值(用于CFG202)或三个输入值(用于CFG204、206)提供预定输出。利用这些值对CFG编程以提供所需的逻辑功能的输出表示式。D触发器208用做诸如寄存器的暂时存储元件。
一个2输入端1输出端的CFG、两个3输入端1输出端的CFG和D触发器的组合能够执行各种逻辑和运算功能。例如,所述元件可以编程以执行诸如比较器功能或累加器功能。应当注意,在没有附加增加小片尺寸和处理速度的冗余元件的情况下,元件的这种组合提供了细的粒度。此外,元件的这种组合最大限度地使用了这些元件,借此可以最大限度地使用小片尺寸面积。当经常需要通过元件的特定组合所产生的中间信号时,细的粒度特性产生更多能够被中间抽头的输出点,这是所需的特性。
另外,所述组件内局部互联的结构使信号能够在最小延迟的情况下被处理。组件元件202、204、206和208经过通过该组件水平和垂直定向的互联线I-M0到I-M5(这里统称为I-矩阵线)连接。组件的内连接可通过例如开关220-244的开关可编程。内连线I-M0到I-M5和开关220-244形成一个这里提到的I-矩阵。所述I矩阵提供元件202、204、206和208到所述组件至少一个其它元件上的连接。例如,CFG202的输出端可以经过启动开关224和228连接到CFG204的输入端。
为了保证在处理期间的最小信号延迟,在D触发器208和3输入端CFG204、206之间提供了单独的直接连接。继续参考图2A,开关250-255和连接线提供这种连接。已经确定3输入CFG204和206的输入和输出经常与寄存器208一起执行编程功能。例如,3输入CFG可以与所述寄存器一起提供一位多路复用功能。
双向开关250-255可以各种方式编程以便传送信号,从而实现特殊功能。例如,通过启动开关251,由CFG204输出的信号可以驱动D触发器208。另外,通过启动开关250,所述信号可以被驱动到I-矩阵上。类似的,通过启动开关255,CFG206的输出可以驱动D触发器208的输入端。通过选择性地启动所述开关其它的布线通道也是可能的。此外,通过经过I-矩阵的间接连接,CFG202的输出可以驱动D触发器208。因此实现了极高的灵活性。
D触发器输出信号的布线也可以通过开关252和253编程。通过选择性地启动开关252或253和I-矩阵的选择性开关,输出信号可以传送给该组件或其它组件中的任何一个元件。经过与CFG204相邻的开关233-235或与CFG206相邻的开关241、242和243选择性地传送输出信号。在没有减少器件中的元件所使用的层的情况下实现了小片节省。
每个逻辑组件都可以经过在相邻组件之间扩展I-矩阵的开关连接到所述逻辑组件内部的其它逻辑组件上。图2B示出一个第一逻辑组件260的I矩阵互连线I-M0至I-M5,该组件分别通过开关264,265,266,267,275和276。选择性地连接到相邻逻辑组件261和263的I-矩阵线上。
这里所描述的灵活性是部分地通过所使用的很多双向开关实现的。先前已经说过,这些开关可以利用各种途径实现。例如,这些开关可以利用通过熔断熔丝以开路或短路所述开关来实现。另外,所述开关可以是通过SRAM阵列中的一个位控制的传输门。阵列中该位的状态支配相应的传输门是打开还是关闭。虽然由于编程容易而使利用SRAM经常是最可取的,但是所需要的小片面积还是特别的多。因此,使小片面积缩小的一种技术是使用较少量的开关提供布线分层结构各布线之间的互联,这将在后面描述。这被称之为部分覆盖结构。例如,在图2A中,开关221和220将I-M0和I-M5连接到CFG202的输入端。如在下面根据本实施例所述,部分转向矩阵用于消除在一个转向矩阵中典型地使用的多达50%的开关。
为了允许一个进位链以及其它应用的一个有效实行,组件之间的交错或桶式连接用于增加连接性。图2B示出了一个逻辑组件内I-矩阵到相邻组件的扩展。例如,开关275将组件260的I-M5连接到组件261的I-M0和开关276将组件260的I-M1连接到组件261的I-M2。
多个互联逻辑组件形成一个逻辑块。在本实施例中,每个逻辑块由4个2×2阵列组成的逻辑组件构成。每个逻辑块具有一组双向布线,位于所述逻辑组件内的所有CFG都可编程地连接到它上面。所述双向布线提供一个至在分层结构的不同层处具有多个互联长度的分层布线结构的布线信号通道,以将所述信号传送进逻辑块或从中传出。还可以看到,所述块连接器还提供相同逻辑块和相邻逻辑块的逻辑组件的CFG当中的连接。虽然所述逻辑块每个逻辑组件的每个元件的输入和输出可以选择性地连接到每个块连接器,但是,为了控制小片尺寸的扩展,最好是每个输入端和输出端选择性地连接到块连接器的子集上。这样一个实施例的例子示于图3B。
参看图3B,这里示出了在块300内块连接器的连接的一个实施例的符号表示。每个组件200内的每个元件,即CFG1、CFG2和CFG3在输入端处连接到两个标识的块连接器(BC)上。两个块连接器被标识为耦合到2输入CFG1的输出CFG1,三个块连接器耦合到3输入CFG(CFG2、CFG3)的输出。耦合到每个元件的特定块连接器被分布在所述块元件当中以使连接性最大。
所述块连接器提供输入和输出机构,用于互联到称为多层结构(MLA)布线网络的布线分层结构较高层连接。所述网络由在一个分层结构中组织的多层布线(例如,MLA-1、MLA-2、MLA-3等)构成,其中,较高层布线比较低层布线长很多倍。例如,MLA-2布线的长度是MLA-1布线的两倍,MLA-3布线的长度是MLA-2布线的两倍。
一种新颖的块连接器抽头网络用于连接所述块连接器(BC)到MLA布线和到相邻逻辑块的相邻块连接器。如图4所示,例如块连接器抽头网络401-408连接到每个块300的每个块连接器线上。图4B示出了一个连接到垂直MLA布线上的水平块连接器抽头网络的实施例。图4C示出了连接到水平MLA布线上的一个垂直块连接器抽头网络的实施例。
在图4B所示的实施例中,第一逻辑块的块连接器(BC)抽头网络包括多个可编程开关432-437。这些双向开关使信号的选择性布线经过BC线438到达和来自所述逻辑块。网络401中还包括两个可编程驱动器439和440。在本实施例中,这些驱动器439,440由两个位441和442的状态控制;但是,很明显,可以用一个控制位替换所述两个控制位,其中,当所述位处于一种状态时,例如是驱动器400的驱动器被激活,而当所述位处于第二种状态时,驱动器439被激活。另外,很明显,当与其它元件一起用做一个或多个驱动器时,BC抽头网络也能够执行这里所述的功能。
所述BC抽头网络提供一个简单却有效的方式以将信号传送给一个逻辑块或将信号从中发出。利用可编程开关432,经过BC线438到达或来自所述块的信号可编程地耦合到一个相邻逻辑块的BC抽头网络402上。在本表示中,经过开关432在BC线438上传送的信号能够经过开关454传送给BC线443。从BC线438经过开关432穿过线415的同一信号可以选择性地经过驱动器456传送和经过4个开关447到450中的任一个到达所选择的MLA。例如,BC抽头网络,例如BC抽头401和402,互联到标记为425,426和427的MLA-1,2和3上。这样,除了提供到相邻逻辑块的直接布线机构以外,BC抽头网络还提供一个备用通路,用于经过一个相邻逻辑块的连接器网络将信号提供给MLA。这使发生阻塞或不可达到布线路径的可能性最小。例如,经过开关452和433提供了一个备用通道451,用于使块连接器438和443互联。由此可见,使用这些BC抽头网络可以实现布线中的极大灵活性,特别是布线中的极高效率。一个附加的优点是信号速度;这种结构导致轻负载线,因此,即使是布线灵活性增强,也不会造成信号速度损失。在图4B中,BC抽头网络可以用于提供信号扇出能力,以通过设置例如开关434、435、436和437的适当开关连接到多个MLA线,而不会招致在扇出配置中产生典型的信号速度损失。
在诸如图5所示的一个实施例中,每个BC线经过一个BC抽头网络可编程地连接到一个相邻BC抽头网络上并连接到所述MLA网络的布线上。这在布线方面提供了极大的灵活性。本实施例中所述MLA布线网络描述为具有多层布线,所述布线具有可选择性地耦合到水平和垂直MLA线的可编程开关矩阵以增强连接性。层1MLA布线(MLA-1)提供几组块连接器之间的互联。可编程开关用于向用户提供选择将被连接的连接块的能力。因此,来自一组逻辑块组的第一逻辑块连接到属于同一组的第二逻辑块上,其中,一个逻辑块组是一个逻辑块的组。当然,一个逻辑块内的开关能够进一步编程以传送该逻辑块内的信号。层2MLA布线(MLA-2)提供到各MLA-2线的互联以影响对一个块组件的访问和连接,在本实施例中,它由4个块矩阵组成。提供多个开关以使用户能够编程所需的连接。层2MLA线的跨距最好是一个大于MLA-2线跨距的倍数。例如,MLA-2线的跨距最好是MLA-1线跨距的两倍。
可以看到的,能够实现附加层MLA布线以提供用于较大数量和多组逻辑块、块组件和块区段(一个8×8块的矩阵)等的可编程互联。每个附加层跨越数倍于相邻较低层(诸如多个2的倍数)的距离。这样,提供了用于实现所述布线的多维逼近。信号在逻辑块的互联之间传送。然后,根据被编程的开关,这些信号经过块连接器和相应块连接器抽头网络被访问和传送。块连接器抽头网络使启动到较高层MLA布线、例如是MLA-2和MLA-3布线的可编程直接连接。另外,通过位于所述分层结构多层之间的可编程开关经过所述分层结构的较低层可以到达该分层结构布线的较高层。
图6A和6B披露了另外一个实施例,在该实施例中,每个BC抽头网络连接到所述多层布线的一组布线上。一个相邻的BC抽头网络被连接到另外一组布线上。在本发明中,每组中所述线的数量与在没有被分组之前一个层的MLA线的数量相同。所产生的影响是所述布线数量加倍,因此增加了连接性。但是,所述组还可以包括较少的或附加的线,以便实现所需层的连接性。
所述信号可在BC抽头网络之间可编程地传送以实现所需层的连接性。例如,图6A示出了相邻水平BC抽头网络600、605。BC网络600可编程地连接到第一组MLA-2线615上。类似的,相邻BC抽头网络605可编程地连接到第二组MLA-2线620上。如果例如来自BC线627的一个信号需要传送给只耦合到BC抽头网络605上的一个MLA-2信号线,那么,该信号可以从BC抽头网络600经过开关631传送给BC抽头网络605,并经过抽头线629和驱动器630以及开关632可编程连接到MLA-2线620上。类似的,如果来自连接到BC抽头网络605的一个块的信号需要传送给MLA-3 635,则所述信号经过BC抽头网络600并经过开关633、驱动器634以及开关636传送给MLA-3 635。因此,BC抽头网络的作用在于在有限的连接性结构中提供增加了的连接性。通过选择最佳MLA线传送信号,不管是否可以经过相邻BC抽头连接器网络访问所述MLA,所述BC抽头网络都能够使设计者将负载减至最小和将信号速度增至最大。另外,负载减至最小。特别是,BC抽头连接器网络和部分转向矩阵减少负载达50%,从而导致信号速度的有效提高。
在当前实施例中,分层结构的第一个三层布线,即MLA-1、MLA-2和MLA-3用于互联8×8块的矩阵,其中,每个块是由4个逻辑组件形成的。每个块可编程地经过BC抽头连接器网络连接到MLA抽头线上。每个MLA抽头线可编程地连接到类似于BC抽头网络工作方式的MLA抽头连接器网络上,以便将信号往返传送给较高层布线。
当所述芯片上CFG的数量增加时,需要附加的互联。在本结构中,加到所述多层布线分层结构上以便保持信号的布线能力是可取的。在分层结构的每一较高层中,从较低层布线开始的布线长度增加。为了驱动较长的信号布线,需要较大的信号驱动器。为了使对小片尺寸的影响最小,最好限制用于驱动布线分层结构中较高层中较长布线特性的信号驱动器的数量。另外,最好所述结构是可缩放的以便提供一种有效的设计机理从而适应在芯片上日益增加的逻辑电路的密度和所需的连接性以及使与大量部件相关的工程设计最少。因此,可以发现,在分层结构的第一数量层之后,提供一种MLA抽头连接器网络是可取的,以允许可缩放性,并提供用于较长、较高布线层的信号驱动功能。
最好提供可编程转向开关,以便选择性地连接水平MLA线和垂直MLA线。这示于图7A。图7A示出了一个转向矩阵,该矩阵是用于互联4个逻辑块712、714、716和718的一个MLA-1的8个线的部分转向网络710。转向网络由多个转向位控制,转向位用于控制一个水平MLA线,如720线,和一个垂直MLA线如722线的特定交点是否连接了,致使信号能在水平720和垂直722MLA线之间传送。图7A示出了一个用于互联MLA-1布线的转向矩阵。这个转向矩阵710提供了一个完全的覆盖区域,即每个水平MLA-1线可编程地连接到每个垂直MLA-1线上。
所述完全转向矩阵也被用于例如MLA-2和MLA-3的较高层MLA线。但是,在本实施例中,每层处线的数量具有多组布线。为了通过减少形成转向矩阵所需开关的数量节省小片面积,使用了部分转向矩阵。图7B示出了用于逻辑块2×2矩阵内MLA-2和MLA-3线的转向网络710的部分转向矩阵。如前所述,通过使转向矩阵的尺寸减到最小限度,比补偿连接性的任何减少更能节省小片。此外,如图6A和6B所示,通过所述布线经过块连接器抽头网络410、420、430、440、450、460、470和480到MLA布线分层结构中其它布线的能力,也可以补偿连接性的任何减少。
图7C提供了一个部分转向矩阵的实施例用于互联在由2×2逻辑块矩阵组成的4×4矩阵中的MLA-2和MLA-3布线。应当指出,布置该部分转向矩阵中各个开关的位置,能够平衡每条线上的负载。特别是,在每条线上分配相同数量的开关,以保持每条线上的恒定负载是可取的。在本实施例中,这是通过置换所述部分转向矩阵的镜象图象实现的,如图7C所示。
这个新颖的布线分层结构是由布线、块连接器抽头网络和转向矩阵组成的,并允许将一个新颖的面积节省的平面布局图应用于一个半导体器件。特别是在SRAM实现中,可以看出这里讨论的这种结构和新颖的平面的优点。通过将存储器分成较大的相连块可以实现广泛的小片节省。这特别不同于现有技术的平面布局图,现有技术的平面布局图将逻辑和存储器集成在一起,从而导致特别浪费经常被称为布局不工作区的面积。另外,这个平面布局图包括一个可缩放块结构,在该结构中,每个块包括多个相连存储器和阵列。组件内的布线和双向布线在整个存储器和传输门阵列的不同层上相互重叠以提供到较高层布线的连接和所述块内CFG之间的连接。每个存储器和传输门阵列都包括SRAM和通道以控制如上所述的可编程开关。单个块的平面布局图可以很容易缩放以产生多个块结构的平面布局图。在本实施例中,通过简单地复制和邻接4×4矩阵,包括布线和转向矩阵在内的一个4×4块矩阵可缩放成一个较大的块矩阵。
下面结合图8A和8B描述新颖的平面布局图。图8A示出了用于一个逻辑块所述平面布局图的一个实施例。每个逻辑组件800包括组件820的多个元件或CFG和所述l-矩阵,该I-矩阵由I-矩阵线841-846和存储器以及传输门阵列830形成,通过阵列830控制I-矩阵线和耦合到组件元件上的CFG的I/O线801-811之间的选择性连接。由一个小存储器和传输门阵列形成的I-矩阵扩展840位于相邻存储器和传输门阵列830之间,以选择性地将一个组件的I-矩阵线841-846连接到相邻组件的I-矩阵上。
选择性耦合到每个组件820的元件上的是块连接器,这些块连接器包括块连接器线861-868(为简化图8A,没有示出垂直块连接器)和存储器和传输门阵列850,传输门阵列850用于控制所述组件和所述块连接器线之间的信号传送。
使用能够满足下述条件的逻辑设计可以最佳地实现这个平面布局图。每个块在少于所有可能方向(即北、南、东、西)上或一个块的“多侧”上提供双向输入和输出访问。在本实施例中,每个块在所述块的两侧提供块连接器抽头网络,一个在水平方向上,另一个在垂直方向上。最好彼此完全相同的块连接器抽头网络沿着2×2阵列的各个轴彼此镜象定向。这可以从图7C看到。参看图7C,特别是参看块连接器抽头网络的定向,410与450呈镜象配置,460与480呈镜象配置,440与430呈镜象配置和470与450呈镜象配置。
继续参看图7C,完成镜象,致使可编程开关,即将所述元件连接到I-矩阵线上的开关,将所述组件的连接元件转换到块连接器线和提供I-矩阵扩展的开关上,与每个块对应的开关可以是在平面布局图中相邻的。如从图8A可见,一个2×2矩阵可以设计成具有作为存储器855的相连块实现的存储器和传输门阵列830、840和850。除了使布局不工作区最小以外,当多数小片是由具有小逻辑区段(例如逻辑组件820)的存储器阵列组成时,这个平面布局图简化了生产。此外,通过提供存储器阵列的分组,当能够使用一个简单的X-Y寻址时,所述芯片的编程被简化。
所述平面布局图的附加优点是块的布置允许以一个简单有效的方式使相邻块能够共享布线资源并不必显著增加线的数量或附加位。
图8B通过示出用于2×2块的布局继续说明所述新颖的平面布局图。(以轮廓形式表示为元件860的)每个块包括多个块连接器BC0-BC7。每个块860的所述平面布局图如图8A所述。如前所述,每个块860内的块连接器线耦合到块连接器抽头网络,它可以提供到相邻块和布线分层结构较高层布线的连接。存储器和传输门阵列880表示用于块连接器抽头网络的开关。驱动器逻辑882包括安置在所述块连接器抽头网络中多个驱动器,与存储器是分离的,并需要一小部分小片面积。转向矩阵884也由存储器和传输门阵列组成。没有示出的MLA线最好在整个存储器和传输门阵列880和884上的平行层内定向,以提供一个简单装置来控制连接性。
通过复制图8B所示布置可以缩放这个平面布局图。但是,如上所述,为使在使用部分转向矩阵的本实施例中所述线上负载最小,所述部分转向矩阵最好改变方向,如图7C中所示。一旦实现4×4块矩阵平面布局图,通过复制所述4×4矩阵和布线连接以及相邻矩阵的块连接器可以实现较大矩阵的缩放。
这种平面布局图的优点对于本领域的技术人员来讲是明显的。增强了小片面积的使用。另外,通过复制所述布局能够简单地实现逻辑块的可缩放性,从而允许利用最小的工程量很容易地使待建器件的变化尺寸激增。
权利要求
1.一种用于将第一逻辑块经过双向布线接连接到至少一个第二逻辑块上的块连接器抽头网络,所述第一逻辑块包含用于对信号执行功能的多个可编程互联的可配置函数发生器(CGF),所述块连接器抽头网络包括第一双向输入/输出线,可编程耦合到所述第一双向输入/输出线上的所述第一逻辑块的至少一个CFG;耦合到所述第一双向输入/输出线上的第一可编程开关;耦合到所述第一可编程开关和第二逻辑块的第一双向输入/输出线上的第一块连接器抽头线,用于在第一逻辑块的第一双向输入/输出线和第二逻辑块的第一双向输入/输出线之间提供可编程连接;耦合到所述双向布线上的多个第二可编程开关;耦合到所述双向输入/输出线和所述多个第二可编程开关上的第一可编程驱动器,所述第一可编程驱动器可编程地驱动经过双向输入/输出线接收的信号给所述多个第二可编程开关;耦合到所述双向输入/输出线和所述多个第二可编程开关上的第二可编程驱动器,所述第二可编程驱动器可编程地驱动经过所述多个第二可编程开关的一个开关接收的信号给所述双向输入/输出线。
2.根据权利要求1所述的块连接器抽头网络,还包括耦合在所述双向输入/输出线和第一可编程驱动器和第二可编程驱动器之间的第三可可编程开关。
3.根据权利要求2所述的块连接器抽头网络,还包括起源于所述第二逻辑块的块连接器抽头网络的第二块连接器抽头线,所述第二块连接器抽头线可编程地耦合到所述双向输入/输出线上。
4.根据权利要求1所述的块连接器抽头网络,其特征在于所述第一可编程开关和第二可编程开关中的每一个都包括一个非易失的转换元件。
5.根据权利要求1所述的块连接器抽头网络,其特征在于所述第一可编程开关和第二可编程开关中的每一个都可以根据存储在一个存储器中的位状态被编程。
6.根据权利要求1所述的块连接器抽头网络,其特征在于所述第一可编程驱动器根据存储在存储器中的第一位的状态被编程和所述第二可编程驱动器根据存储在存储器中第二位的状态被编程。
7.根据权利要求1所述的块连接器抽头网络,其特征在于所述第一可编程驱动器根据存储在存储器中的第一位的状态被编程和所述第二可编程驱动器根据所述第一位的状态的补码被编程。
8.一种逻辑器件,包括多个逻辑块,每个逻辑块包括用于对信号执行功能的多个可编程互联的可配置函数发生器(CFG);用于耦合所述多个逻辑块的以第一方向取向的第一组双向布线和以第二方向取向的第二组双向布线;用于将所述多个逻辑块的每个逻辑块连接到所述第一组双向布线上的多个块连接器抽头网络,每个块连接器抽头网络包括一个第一双向输入/输出线,所述多个逻辑块的逻辑块的每个CFG可编程地耦合到所述第一双向输入/输出线上;耦合到所述第一组双向布线上的多个第一可编程开关;耦合到所述双向输入/输出线和所述多个第一可编程开关上的第一可编程驱动器,所述第一可编程驱动器可编程地驱动经过所述双向输入/输出线接收的信号给所述多个第一可编程开关;和耦合到所述双向输入/输出线和所述多个第一可编程开关上的第二可编程驱动器,所述第二可编程驱动器可编程地驱动经过所述多个第一可编程开关的一个开关接收的信号给所述双向输入/输出线;和包括多个第三可编程开关的转向矩阵,每个开关可编程地耦合在第一组布线的布线和第二组布线的布线之间。
9.根据权利要求8所述的逻辑器件,还包括最初作为来自相邻逻辑块的块连接器抽头网络的第一块连接器抽头线的第二块连拉器抽头线,所述第二块连接器抽头线可编程地耦合到所述双向输入/输出线上。
10.根据权利要求8所述的逻辑器件,其特征在于所述第一组双向布线垂直于所述第二组双向布线。
11.根据权利要求8所述的逻辑器件,还包括多个块连接器抽头网络,用于将所述多个逻辑块的每个逻辑块连接到所述第二组双向布线上。
12.根据权利要求8所述的逻辑器件,其特征在于每个块连接器抽头网络还包括耦合到所述第一双向输入/输出线上的第二可编程开关;耦合到所述第二可编程开关和一个相邻逻辑块第一双向输入/输出线上,以在所述逻辑块的第一双向输入/输出线和所述相邻逻辑块的第一双向输入/输出线之间提供可编程连接的第一块连接器抽头线。
13.根据权利要求12所述的逻辑器件,其特征在于所述第一可编程开关、第二可编程开关和第三可编程开关的每一个都包含一个熔丝。
14.根据权利要求12所述的逻辑器件,其特征在于所述第一可编程开关、第二可编程开关和第三可编程开关中的每一个都可以根据存储在一个存储器中的位的状态编程。
15.根据权利要求8所述的逻辑器件,其特征在于所述转向矩阵是一个选择性地耦合所述第一组布线的部分布线和第二组布线的部分布线的部分转向矩阵。
16.根据权利要求8所述的逻辑器件,其特征在于,所述转向矩阵是一个将第一组布线的每一个布线选择性地耦合到第二组布线对应布线上的全覆盖转向矩阵。
17.一种逻辑器件,包括多个逻辑块,每个逻辑块包括用于对信号执行功能的多个可编程互联的可配置函数发生器(CFG);耦合到所述多个逻辑块上的第一组双向布线;用于将所述多个逻辑块的第一逻辑块连接到所述第一组双向布线的第一部分的第一块连接器抽头网络,所述第一块连接器抽头网络包括一个第一双向输入/输出线,可编程地耦合到所述第一双向输入/输出线上每个CFG;和在所述第一双向输入/输出线和所述第一组双向布线的第一部分之间耦合的多个第一可编程开关;用于将所述多个逻辑块的第二逻辑块连接到所述第一组双向布线第二部分上的第二块连接器抽头网络,所述第二块连接器抽头网络包括一个第二双向输入/输出线,可编程地耦合到所述第二双向输入/输出线上的每个CFG;和在所述第二双向输入/输出线和所述第一组双向布线的所述第二部分之间耦合的多个第二可编程开关;所述的第一块连接器抽头网络还包括,耦合到所述第一可编程开关和所述第二双向输入/输出线上,以在第一逻辑块的第一双向输入/输出线和第二逻辑块的第二双向输入/输出线之间提供可编程连接的第一块连接器抽头线;和所述的第二块连接器抽头网络还包括,耦合到所述第三可编程开关和所述第一双向输入/输出线上,以在第二逻辑块的第二双向输入/输出线和第一逻辑块的第一双向输入/输出线之间提供可编程连接的第二块连接器抽头线;所述第一和第二块连接器抽头网络分别可编程地将所述第一和第二逻辑块耦合到所述第一组双向布线的第二和第一部分上。
18.根据权利要求17所述的逻辑器件,还包括具有第一部分和第二部分的第二组双向布线,所述第一组布线以第一方向定向和所述第二组布线以第二方向定向;包括用于选择性地将第一组双向布线第一部分的线耦合到第二组双向布线第一部分的线上的多个开关的一个第一转向矩阵;和包括用于选择性地将第一组双向布线第二部分的线耦合到第二组双向布线第二部分的线上的多个开关的一个第二转向矩阵。
19.根据权利要求17所述的逻辑器件,还包括;具有第一部分和第二部分的第二组双向布线,所述第一组布线以第一方向定向和所述第二组双向布线以第二方向定向;和一个转向矩阵包括用于选择性地将所述第一组双向布线的线耦合到所述第二组双向布线的线上的多个开关。
20.根据权利要求19所述的逻辑器件,其特征在于所述转向矩阵是一个选择性地耦合第一组布线的部分布线和第二组布线的部分布线的部分转向矩阵。
21.根据权利要求19所述的逻辑器件,其特征在于所述转向矩阵是一个将第一组布线的每个布线选择性地耦合到第二组布线相应布线上的全覆盖转向矩阵。
22.根据权利要求17所述的逻辑器件,其特征在于所述第一块连接器抽头网络还包括耦合到第一双向输入/输出线和所述多个第一可编程开关上的第一可编程驱动器,所述第一可编程驱动器可编程地驱动经过所述第一双向输入/输出线接收的一个信号给所述多个第一可编程开关,和所述第二可编程驱动器耦合到所述第一双向输入/输出线和所述多个第一可编程开关上,所述第二可编程驱动器可编程地驱动经过所述多个第一可编程开关的一个开关接收的信号给所述第一双向输入/输出线。
23.根据权利要求17所述的逻辑器件,其特征在于一个第三可编程驱动器,它耦合到所述第二双向输入/输出线和所述多个第二可编程开关上,所述第三可编程驱动器可编程地驱动经过第二双向输入/输出线接收的一个信号给所述多个第四可编程开关,和一个第四可编程驱动器,它耦合到所述第二双向输入/输出线和所述多个第四可编程开关上,所述第四可编程驱动器可编程地驱动经过所述多个第四可编程开关的一个开关接收的一个信号给所述第二双向输入/输出线。
24.一种可编程器件,包括多个对信号执行操作的元件,所述元件可编程地可连接到分层配置的多层双向布线上,其中,双向布线分层结构的每一个较高层的线长于相邻较低层的线,用于将一个元件连接到高于预定层,双向布线多个层上的布线连接器抽头,所述布线连接器抽头包括双向输入/输出线,每个元件可编程地耦合到所述双向输入/输出线上;耦合到高于所述预定层的双向布线多个层的线上的多个可编程开关;第一可编程驱动器,它耦合到所述双向输入/输出线和所述多个可编程开关上,所述第一可编程驱动器可编程地驱动经过所述双向输入/输出线从低于预定层的双向布线的线上接收的一个信号给所述多个可编程开关,从而使得该信号可以在高于所述预定层的双向布线的一个层的线上被选择性地驱动;第二可编程驱动器,它耦合到所述双向输入/输出线和所述多个可编程开关上,所述第二可编程驱动器可编程地驱动经过所述多个可编程开关的一个开关从高于所述预定层的双向布线的一个层的线接收的一个信号给所述双向输入/输出线,从而使得该信号可以在低于所述预定层的双向布线的一个线上被驱动。
25.根据权利要求24所述的可编程逻辑器件,其特征在于所述多个可编程开关的每个开关可编程地耦合到高于所述预定层的双向布线的一个线上。
26.根据权利要求24所述的可编程逻辑器件,其特征在于所述第一双向输入/输出线包括一组第一双向输入/输出线。
27.根据权利要求24所述的可编程逻辑器件,其特征在于所述双向布线的每一层包括多组布线。
28.根据权利要求24所述的可编程逻辑器件,其特征在于所述双向布线包括以第一方向定向的第一组和以第二方向定向的第二组,所述可编程布线器件包括多个布线连接器抽头,至少一个布线连接器抽头选择性地耦合到高于在第一组双向布线中所述预定层的一个层的布线的线上,和至少一个第二布线连接器抽头选择性地耦合到高于在第二组双向布线中所述预定层的一个层的布线的线上。
29.一种细粒度可编程逻辑器件,包括用于对信号执行操作的多个互联逻辑组件,每个所述逻辑组件包括一个第一元件,包括用于接收至少两个输入和产生单一第一输出的第一可编程组合逻辑;一个第二元件,包括用于接收三个输入和产生一个单一第二输出的第二可编程组合逻辑;一个第三元件,包括用于接收三个输入和产生一个单一第三输出的第三可编程组合逻辑;具有一个输入和一个输出的寄存器;互联矩阵,包括用于可编程地互联第一、第二和第三元件的输入和输出以及所述寄存器的一组互联矩阵线和可编程开关;将第二元件的输出可编程地耦合到所述寄存器输入端上的至少一个第一直接输入线和开关;和将第三元件的输出可编程地耦合到所述寄存器输入端上的至少一个第二直接输入线和开关。
30.根据权利要求29所述的细粒度逻辑器件,其特征在于通过将所述寄存器的输出端可编程地耦合到第二元件和第三元件的输出端,从而使所述寄存器的输出经过第二元件或第三元件的输出端到所述互联矩阵的耦合传送给该互联矩阵,以使所述寄存器可编程地耦合到该互联矩阵上。
31.根据权利要求29所述的细粒度逻辑器件,其特征在于所述的寄存器是一个D触发器。
32.根据权利要求29所述的细粒度逻辑器件,其特征在于所述第一逻辑器件包括不多于两个和不少于三个的输入端。
33.根据权利要求29所述的细粒度逻辑器件,其特征在于所述逻辑组件的互联矩阵经过相邻逻辑组件的可编程扩展互联元件可编程地耦合到一个相邻逻辑组件上。
34.一种在包括多个逻辑元件的可编程逻辑器件中,用于互联所述逻辑元件的方法,包括如下步骤第一组分层布线的布线资源,所述第一组资源包括至少一层第一双向布线和至少一个双向抽头布线;第二组分层布线的布线资源,所述第二组资源包括至少一层第二双向布线;在至少一个双向抽头布线和所述第二双向布线之间可编程地耦合一个连接器抽头网络,所述连接器抽头网络包括至少一个可编程驱动器,用于可编程地驱动从所述双向抽头布线接收的一个信号给所选择的第二双向布线和可编程地驱动从所选择第二双向布线接收的一个信号给所述双向抽头布线。
35.根据权利要求34所述的方法,其特征在于每个相继的较高层包括其长度大于在前较低层第一双向布线长度的一个倍数的第一双向布线。
36.根据权利要求35所述的方法,其特征在于所述双向抽头布线具有与第一双向布线的最高层对应的长度。
37.根据权利要求34所述的方法,还包括下述步骤把用于将信号从所述双向抽头布线驱动给所述被选择的第二双向布线的信号驱动器的尺寸规定为足以驱动第二双向布线的最高层。
38.根据权利要求37所述的方法,其特征在于至少一个信号驱动器包括两个信号驱动器,其中,用于将一个信号从所述双向抽头布线驱动给所选择第二双向布线的所述第一信号驱动器大于用于将一个信号从所选择第二双向布线驱动给所述双向抽头布线的第二信号驱动器。
全文摘要
提供一种现场可编程门阵列(FPGA),包括用于互联具有较低层互联的可配置函数发生器和用于互联具有较高层互联的较低层互联的多个抽头网络连接器(410、420、430…)。此外,利用了一个新颖的组件结构,该结构提供一个细粒度而没有显著增加可配置函数发生器。所述抽头连接器网络(410、420、430…)还可以用于将较低层布线连接到较高层布线上。这是特别可取的,以便满足沿较长布线驱动信号的需要,不要求所有信号驱动器都足够大以沿最长布线驱动信号。所述的连接器网络使得可以执行一个灵活的布线方案,在该方案中,在每层处的布线被分成组。另外,所述新颖分层布线结构由布线、块连接器抽头网络和转向矩阵(710)组成。允许利用一个新颖的节省面积的可缩放的平面布局图。
文档编号H03K19/173GK1188569SQ96194985
公开日1998年7月22日 申请日期1996年4月30日 优先权日1995年5月3日
发明者B·S·亭, P·M·帕尼 申请人:Btr公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1