CN1894692A - 基于模板的领域特定的可重构逻辑 - Google Patents
基于模板的领域特定的可重构逻辑 Download PDFInfo
- Publication number
- CN1894692A CN1894692A CNA2004800376885A CN200480037688A CN1894692A CN 1894692 A CN1894692 A CN 1894692A CN A2004800376885 A CNA2004800376885 A CN A2004800376885A CN 200480037688 A CN200480037688 A CN 200480037688A CN 1894692 A CN1894692 A CN 1894692A
- Authority
- CN
- China
- Prior art keywords
- port
- logic
- input
- logical block
- piece
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- 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/1733—Controllable logic circuits
- H03K19/1735—Controllable logic circuits by wiring, e.g. uncommitted logic arrays
- H03K19/1736—Controllable logic circuits by wiring, e.g. uncommitted logic arrays in which the wiring can be modified
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Logic Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
提供一种产生可重构逻辑核心结构的方法。可以该结构配置成用于各种目的,并且其实施在面积、性能和功率方面是划算的。本发明依赖于模板可以用于表述这种结构的概念。于是很容易地将该结构作为模板的实例来产生。该模板是限定可重构逻辑核心的逻辑部件、布线部件、和接口部件的模型。例如,逻辑部件按分层顺序可以是逻辑元件、处理元件、逻辑块、逻辑片和阵列。布线部件可以包括布线路径,其包括提供逻辑部件之间的互连装置的布线轨迹。接口部件可以是输入和输出端口。模型由大量参数构成;这些参数的值是以应用领域为依据的。
Description
本发明涉及一种用于在集成电路上产生可重构逻辑核心的结构的方法,该结构包括逻辑部件、布线部件和接口部件。本发明还涉及一种具有通过这种方法产生的结构的可重构逻辑核心。
半导体技术连续不断的按比例缩小已经实现了超大规模集成。因此,大量当今的用于消费应用的IC是根据片上系统概念实施的。在片上系统(SoC)中,系统部件(例如可编程核心、存储器、协处理器、外围设备)被集成在相同的一片硅上。片上集成提高系统的性能并降低其成本。
传统地,将SoC部件实施为专用(硬布线)核心或可编程(通用或DSP)核心。专用核心的特征在于高性能,并且功能性通常被限制在一种特定的功能上,而可编程核心的特征在于相对较低的性能和可以任何改变的功能性。由于IC掩模组成本的显著增长、在新出现的应用中性价比重要性的增加、以及消费电子市场的竞争特性,因此只使用专用和可编程核心设计SoC不再能提供完全可行的解决方案。
由于这些原因,今天将可重构逻辑看作是具有吸引力的专用和可编程核心的替代品。首先,可重构逻辑允许在制造器件之后改变这种器件的功能性。其次,与可编程处理器相比,它在性能和成本之间提供平衡度更好的折衷。因而,在SoC中嵌入可重构逻辑有助于减少昂贵的IC重新设计的数量并延长最终产品的寿命。
可重构逻辑器件的典型例子是FPGA(现场可编程门阵列)。FPGA是计算元件阵列,所述计算元件是可编程的,以便在位的水平上执行基本逻辑和运算功能。计算元件由也是可编程的互连网络包围。互连网络使计算元件之间能够进行通信。位于阵列外边缘上的可编程输入/输出元件用作与其他系统资源的接口。
尽管一方面由于可重构逻辑器件的广阔应用空间而使其可编程特性是有益的,但该可编程特性也是可重构逻辑器件的面积、性能和功耗与基于专用逻辑的器件(ASIC)相比开销过高的原因。开销过高是由存在于这些器件中的大量开关、结构存储单元和互连线引起的。因此,必须使开关、结构存储单元和互连线的数量与针对这些部件的需要取得平衡。
由于要应对各种应用领域和由此产生的各种系统要求,所以适合于集成在SoC上的嵌入式FPGA(eFPGA)核心必须可获得不同的尺寸和形状。这与独立的(stand-alone)FPGA相反,通常以几种预定的尺寸来制造所述独立的FPGA并且它以实现完整的系统为目标。在具有了不同的尺寸和形状之后,接下来eFPGA核心必须在面积、性能和功率方面也是划算的,并且它们必须在相对短的时间内是可实现的。这些方面对于设计用于对成本敏感的消费应用的高质量SoC来说是非常重要的。当今的可重构逻辑核心的通用结构不适合满足这些要求。
本发明的目的是提供一种用于产生可重构逻辑核心的结构的方法,该结构可以配制成用于各种目的,并且其的实施在面积、性能和功率方面是划算的。通过提供一种其特征在于权利要求1的特征部分的方法来实现这一目的。
本发明依赖于以下理解:可以使用模板来描述这种结构。于是该结构很容易作为模板的例子而产生。该模板是限定可重构逻辑核心的逻辑部件、布线部件和接口部件的模型。例如,逻辑部件按分层顺序可以是逻辑元件、处理元件、逻辑块、逻辑片(logic tile)和阵列。布线部件可以包括布线路径(routing channel),该布线路径包括在逻辑部件之间提供互连装置的布线轨迹(routing track)。接口部件可以是输入和输出端口。通过大量参数来构造该模型;这些参数的值以应用领域为依据。
例如,应用领域可以包括面向数据通路的功能性、面向随机逻辑的功能性或面向存储器的功能性。每个应用领域需要一定的部件结构。例如,面向数据通路的逻辑元件必须具有包括一定数量的初级输入端口、次级输入端口、一个进位输入端口、至少一个运算输出端口、一个布尔输入端口和一个进位输出端口的结构。这些输入和输出端口的数量是模板的参数。可以通过为模板的所有参数选择合适的值,来针对特定的应用领域微调由该模板产生的结构。在这种情况下,可以明显减小例如由可重构逻辑核心中的大量开关和互连线所引起的开销过高,而可重构逻辑核心仍然足够灵活以在特定的应用领域内执行多个功能。
根据本发明的概念被称为基于模板的领域特定的可重构逻辑。这个概念的主要特征在于:
可重构逻辑结构,其是应用领域特定的而不是通用的;
可重构逻辑结构的通用模板,通过其可以得到领域特定的实例;
模块设计概念,特别是允许使用最少数量的不同类型的片(tile)产生尺寸可变的可重构逻辑核心的模块结构。
为了保证大的应用范围,使常规的FPGA(和eFPGA)是通用的,这增加了它们的成本开销。然而,SoC通常以特定的应用领域为目标而不是以所有可能的应用领域为目标。由于属于应用领域或一类应用的应用共有相同的特性和功能,因此可以优化用于这种领域的可重构逻辑结构。通过这种方式,可以实现成本开销的明显减少。根据本发明的模板具有如下其他优点。
该模板允许快速和灵活地产生领域特定的可重构逻辑核心,例如嵌入式FPGA。
通过使用通用的结构模型并允许任意改变其参数,可以产生很多不同的结构实例。这允许利用实验来进行系统结构空间的探询,所述实验是针对一组潜在的令人感兴趣的方案进行的,其远远多于使用常规(手动)方法而可能产生的方案。
如果例如以网表或布图的形式,可以从通用的结构模板自动产生可重构逻辑核心结构的规范,则可以明显减少涉及一大组不同可重构逻辑核心(模板实例)的VLSI实施工艺的复杂性。
如果可参数化的结构模板也用于为绘图(CAD)工具(例如,技术绘图、设置、布线)所需的结构建模,则可以将这些工具制成为可重定目标的,这意味着可以将它们配置在各种平台上。
注意到,针对应用领域调整可重构逻辑的想法本身是公知的。在过去已经认识到了使可重构逻辑具有较低通用性的优点,并且在学术界已经提出了各种应用领域特定的可重构逻辑结构,大多数是用于DSP类型的应用。而且,在某些应用领域中减少成本的想法促进了粗粒(coarse-grain)的可重构计算结构(粗粒的可重构计算结构在字的水平上是可重构的,而不是如传统的FPGA那样在位的水平上是可重构的)的引入。这种结构的例子包括:Hewlett-Packard的RAA结构和来自PACT的XPP处理器。而应用领域特定的可重构计算的另一概念已经作为华盛顿大学的Totem计划的一部分(‘Totem:CustomReconfigurable Array Generation’,Compton & Hauck,Proceedings ofIEEE Symposium on FPGAs for Custom Computing Machines,2001年4月)被提了出来,其中已经研发了一种软件包,通过使用预定的结构模板和一套现有技术已知的算法,所述软件包允许粗粒的定制可重构逻辑结构的自动产生。通过显著降低灵活性,Totem结构能够实现更接近于ASIC的成本而不是接近于FPGA的成本的成本水平。
还应该注意到,在过去已经使用了可参数化的可重构逻辑结构的概念。在Kluwer Academic Publishers,1999,Betz等人的‘Architectureand CAD for Deep-Submicron FPGA’s’中,使用了可参数化的描述来为用于灵活的CAD工具箱的FPGA结构的不同变体建模。这种工具箱,包括被称为VPR(通用设置和布线)的设置和布线工具以及被称为T-Vpack(用于VPR的定时-驱动打包)的打包(成组)工具,可以用作以任何基于LUT的FPGA结构为目标的绘图(mapping)流的一部分。由Betz使用的结构模型引入了一些限制,这是因为只能为相对简单的FPGA结构建模。在由Betz等人撰写的参考文献中讨论了Betz的结构模型的细节,其特别强调通过上层描述自动控制结构产生工艺。
然而,下面的方案使根据本发明的概念明显地不同于已知的概念。
首先,与来自学术界的面向应用的结构不同,其只针对单一应用领域进行优化,根据本发明的概念通过考虑不同应用领域的要求而采用了完整的方法。其次,根据本发明的概念假设相似类型的处理内核可以在不同的应用领域之间共享。这意味着对于某些应用领域来说,基于它们的相似点,可以将它们分为应用类,只需要一种类型的结构。这是本质的,因为对可重构逻辑结构的许多不同风格的支持在经济上是不合理的。第三,本发明针对远远高于例如由Totem计划中提出的结构所提供的灵活性水平。Totem结构只针对有限的一组良好定义的内核进行优化。一方面,这增加了成本损失,另一方面,由于在用硅实施可重构结构之后仍然可以更新绘图内核或用新的绘图内核来代替它而降低了风险。
而且,Betz的可重构结构的模型明显不同于根据本发明的可重构逻辑结构的模板。首先,Betz的模型的主要目的是在产生用于绘图工具的布线结构方面实现灵活性。因而,关于这种模型中的逻辑块的信息被减少到很少的几个参数,而这些参数对于该工具的恰当运行来说是必不可少的。原则上,可以只产生布线结构,而将逻辑块模拟成具有指定粒度的黑匣子。相反,根据本发明的模板限定了可重构逻辑器件的完整结构,即,所有的功能块(逻辑和输入/输出块)和相关的布线资源。此外,根据本发明的模板可以应用于绘图CAD流和物理设计流(例如布图产生)。其次,Betz的模型以常规的通用FPGA结构为目标。假设简单的k输入LUT作为这种结构的基本逻辑元件;LUT可以聚合在一起形成较粗糙的逻辑块。这与根据本发明的模板相反,本发明的模板旨在用于面向应用领域结构的建模。因此,模板参数的值取决于目标应用领域。此外,在我们的模型中的基本逻辑元件可以比如在T-VPack和VPR中假设的单一k-LUT元件复杂得多。第三,Betz的结构模型基于四层的分层结构,而我们的结构模板的特征在于五层;我们模型中的分层结构的附加层允许明确地描述在功能上不同的可重构逻辑结构。
另外注意到,不仅相对于已知方法的上述差别使根据本发明的概念特别有利。另一重要区别特征是可重构逻辑结构的应用领域特定化的概念与从通用结构模板使所述可重构逻辑结构自动产生(导出)的概念的组合。这种组合限定了完整方法学,如本领域技术人员所理解的那样。
应该注意的是,US6476636公开了一种特殊的商业eFPGA(Actel公司)的结构。通过严格限定的片来组装完整的器件。该文献没有解决布线结构不对称的问题。
最后,应该注意的是,US6301696公开了一种用于产生所谓的“硬化”FPGA的方法。“硬化”意味着旁路具有金属接触的已编程FPGA的导通状态开关,这导致性能的改善。然而,最终FPGA的硅面积与传统的FPGA相同。术语“模板”用于描述未确定用途的(未构造的)FPGA器件。
在权利要求2中限定了根据本发明的方法的实施例。在本实施例中,模板包括阵列,该阵列包括多个逻辑片,并且逻辑片的数量是第一参数。在权利要求3中限定了另一实施例,其中阵列的纵横比是第二参数。
权利要求4限定了根据本发明的模板的另一实施例。在本实施例中,模板还包括:
至少一个简单输入/输出片,将该简单输入/输出片耦合到第一逻辑片;
具有布线功能性的至少一个输入/输出片,将该具有布线功能性的输入/输出片耦合到第二逻辑片;
角部布线片,将该角部布线片耦合到至少两个输入/输出片。
权利要求5限定了根据本发明的逻辑片的实施例。在本实施例中,逻辑片中的至少一个包括:
逻辑块,该逻辑块包括多个逻辑块端口;
布线资源,该布线资源包括:
多个布线轨迹;
逻辑端口,将该逻辑端口设置成将逻辑块端口耦合到相邻的逻辑片;
布线端口,将该布线端口设置成将布线轨迹耦合到相邻的逻辑片;
直接端口,该直接端口允许逻辑块与相邻逻辑片的直接连接。
权利要求6限定了根据本发明的逻辑块的实施例。在本实施例中,逻辑块包括:
多个处理组,处理组的数量是第三参数,其中所述处理组中的至少一个包括多个串联连接的处理元件,处理元件的数量是第四参数,并且所述处理组还包括多个第一次级输入端口、第一进位输入端口和第一进位输出端口;
第一多路复用器块,将该第一多路复用器块设置成受控制信号的控制,所述控制信号是由第一输入选择块发出的,将该第一多路复用器块设置成从由处理元件发出的第一中间信号中进行选择;
输出选择块,将该输出选择块设置成接述第一中间信号的选择并且确定逻辑块的输出信号的数量,将该输出选择块进一步设置成产生输出信号并且向逻辑块的输出端口发送输出信号;
触发器块,将该触发器块设置成寄存输出信号。
权利要求7限定根据本发明的逻辑块的另一实施例,其中将第一输入选择块设置成将第一初级输入端口耦合到第二初级输入端口上,将第二初级输入端口包含在处理元件中,并将第一输入选择块设置成选择输入信号;将第一输入选择块进一步设置成接收逻辑块的输出信号作为输入信号,从而实现反馈回路。
权利要求8限定了根据本发明的处理元件的实施例。在本实施例中,处理元件中的至少一个包括:
多个串联连接的逻辑元件,逻辑元件的数量是第五参数;
所述第二初级输入端口;
多个第二次级输入端口,将所述第二次级输入端口耦合到包含在所述逻辑元件中的第三次级输入端口;
第二进位输入端口,将该第二进位输入端口耦合到包含在所述串联连接的逻辑元件中的第一个中的第三进位输入端口;
第二进位输出端口,将该第二进位输出端口耦合到包含在所述串联连接的逻辑元件中的最后一个中的第三进位输出端口;
多个第一算术输出端口;
第一布尔输出端口;
第二输入选择块,将该第二输入选择块设置成将所述第二初级输入端口耦合到包含在所述逻辑元件中的第三初级输入端口,并选择输入信号;
第二多路复用器块,将该第二多路复用器块设置成受控制信号的控制,所述控制信号由所述第二选择块发出,将该第二多路复用器块设置成选择源自包含在所述逻辑元件中的第二布尔输出端口的信号,并且将该第二多路复用器块进一步设置成产生用于所述第一布尔输出端口的输出信号;
其中将包含在所述逻辑元件中的算术输出端口耦合到所述第一算术输出端口。
权利要求9限定了根据本发明的逻辑元件的实施例。在本实施例中,逻辑元件中的至少一个包括:
多个第三初级输入端口,第三初级输入端口的数量是第六参数;
所述第三进位输入端口或另外的进位输入端口;
所述第三进位输出端口或另外的进位输出端口;
所述第二布尔输出端口之一;
多个所述第二算术输出端口,第二算术输出端口的数量是第七参数。
权利要求10限定了一种具有通过根据本发明的方法产生的结构的可重构逻辑核心。根据本发明的方法对于产生这种可重构逻辑核心的结构特别有利。可以自动产生这些结构。
下面将参照附图更详细地说明本发明,其中:
图1示出可以用作根据本发明的模板的构建块的逻辑元件;
图2示出领域特定的逻辑元件的例子;
图3示出如图2所示的逻辑元件的端口数量;
图4示出如图2所示的逻辑元件的功能性;
图5示出包括根据本发明的多个逻辑元件的处理元件;
图6示出如图5所示的处理元件的输入和输出端口的数量,其取决于用作其基本部件的逻辑元件的类型;
图7示出由各种类型的逻辑元件所组合成的处理元件的功能性;
图8示出包括根据本发明的处理元件组的逻辑块;
图9(a)和9(b)示出具有一对一的反馈连接和全反馈连接的输入选择块;
图10示出如图8所示的逻辑块的初级输入和输出端口的数量,其取决于逻辑元件的类型;
图11示出可以在如图8所示的逻辑块中实现的最大布尔、算术和存储功能的粒度,其取决于逻辑元件的类型;
图12示出包括根据本发明的逻辑块的逻辑片;
图13(a)示出逻辑块的被选端口、直接端口和横向布线路径的布线轨迹之间的连接性的例子;
图13(b)示出对应于如图13(a)所示的例子的连接性矩阵;
图13(c)示出连接块的可能的实施方式;
图14(a)示出两种不同类型的段连接方式;
图14(b)示出三种类型的可编程开关;
图15示出具有布线路径的布线结构的例子,其中所述布线路径由具有长度1线段的三条轨迹和具有长度4线段的八条轨迹组成;
图16示出包括根据本发明的逻辑片LT的阵列;
图17和图18示出具有布线的辅助片和简单辅助片的结构的例子;
图19示出面向数据通路的FPGA逻辑块的结构实例的例子。
根据本发明的结构模板限定一种方法,该方法使用有限数量的被称为片的基本构建块来产生(独立或嵌入式FPGA的)任何类型的面向应用领域的可重构逻辑核心的完整结构。假设所产生的结构是一致(homogeneous)和分层的。在下面说明的结构模板的优选实施例中,层高低(按上升顺序)限定以下模块:逻辑元件、处理元件、逻辑块、逻辑片、和可重构逻辑核心阵列。
图1示出可以用作根据本发明的模板的构建块的逻辑元件LE。逻辑元件LE是可重构逻辑结构的基本的基于查询表(基于LUT)的功能部件。逻辑元件的类型TYPE取决于应用领域(应用分类)的类型。逻辑元件LE具有初级输入端口组P={pi:0<i≤|P|}、次级输入端口组S={si:0<i≤|S|}、以及进位输入端口ci。它还具有运算输出端口组A={ai:0<i≤|A|}、布尔输出端口b、以及进位输出端口co。逻辑元件LE的端口数量和其功能性取决于逻辑元件的类型TYPE。类型TYPE取决于可重构逻辑核心将用于的应用领域。
在图2中示出领域特定的逻辑元件的三个例子。
在图3和4中分别给出逻辑元件的端口数量和功能性。将功能性表述为可以在逻辑元件中实现的基本布尔、算术和存储功能的粒度。在这种情况下,将粒度定义为最大布尔函数的输入矢量的位数量、算术函数的单一操作数的位数量、以及存储器的数据输入的位数量。
图5示出包括根据本发明的le1、le2直到并包括le|N|的多个逻辑元件的处理元件。处理元件包括串联连接的逻辑元件的组N={lei:0<i≤|N|}。|N|确定可以在处理元件中实现的完全指定的布尔函数的最大粒度(根据输入矢量的位数量)。处理元件具有初级输入端口组X={xi:0<i≤|X|}、次级输入端口组S={si:0<i≤|S|}、以及进位输入端口ci。它还具有输出端口组Y={yi:0<i≤|Y|}、布尔输出端口z、以及进位输出端口co。
处理元件的输入端口xi经由输入选择块连接到|N|个连续逻辑元件的初级输入端口pi。包括一组多路复用器的输入选择块保证根据处理元件的功能模式,逻辑元件的初级输入端口pi总是从处理元件的初级输入端口xi接收一组正确信号。处理元件的初级输入端口的数量|X|等于可以在处理元件中实现的最大布尔、算术或存储功能(其中较大一个)的1位输入的累积数量。处理元件的|S|个次级输入端口si的直接连接到所有逻辑元件的次级输入端口si。相反,逻辑元件的进位输入端口ci和进位输出端口co链接在一起。这意味着除了第一个以外的所有逻辑元件都将它们的进位输入端口连接到前一个逻辑元件的进位输出端口co。处理元件的第一个逻辑元件,即le0,将其进位输入端口ci连接到处理元件的进位输入端口ci;同样,处理元件的最后一个逻辑元件,即le|N|,将其进位输出端口co连接到处理元件的进位输出端口co。逻辑元件的算术输出端口ai直接与处理元件的|Y|个输出端口yi连接。在包括2:1多路复用器的于log|N|-级网络的多路复用器块中对逻辑元件的布尔输出端口进行多路复用。多路复用器受到由输入选择块发出的控制信号组U={ui:0<i≤|U|}的控制。多路复用器块的输出,即这个块中的最后一个2:1多路复用器的输出,连接到处理元件的布尔输出z上。
图6中给出了处理元件的输入和输出端口的数量,其取决于用作该处理元件的基本部件的逻辑元件的类型TYPE。图7示出由各种类型TYPE的逻辑元件构成的处理元件的功能性。
图8示出包括根据本发明的一组处理元件pe1、pe2直到并包括pe|M|的逻辑块。逻辑块包括处理元件组M={pei:0<i≤|M|},将所述处理元件组织成串联连接处理元件的|K|个并联组。一组中的处理元件的数量例如取决于在某种应用中使用的字大小。每组的特征在于独立的次级输入端口组和独立的进位输入端口cii和进位输出端口coi。可以寄存逻辑块的输出信号,这意味着可以使它们与时钟信号同步。还可以将输出信号馈送给逻辑块的输入,允许实现更复杂的逻辑功能或具有反馈回路的功能。应该注意的是,有时可以共用或合并诸如次级输入端口ti和进位输入端口cii的输入管脚,因为它们是被专门使用。
逻辑块具有初级输入端口组I={ii:0<i≤|I|},以及连接到逻辑块的输出端口组O={oi:0<i≤|O|}中的端口上的|O|个反馈端口。逻辑块还具有次级输入端口组T={ti:0<i≤|T|∧|T|=|S|·|K|}。组T的前|S|个输入,即t1、…t|S|,属于第一组的处理元件,组T接下来的|S|个输入,即t|S|+1、…t2-|S|,属于第二组的处理元件,等等。逻辑块还具有|K|个进位输入端口cii和|K|个进位输出端口coi,其中“i”是组指数,满足0<i≤|K|。
将|I|个初级输入和|O|个反馈输入馈送到包括一组多路复用器的输入选择块。逻辑块的输入选择块用于两个目的。首先,如果逻辑块的初级输入端口的数量小于所有组的处理元件的初级输入端口的数量,即如果|I|<|M|·|X|,则输入选择块实施逻辑块的初级输入与处理元件的初级输入之间的全部连接性。全部连接性以降低的实施成本保证所需的(布线)灵活性水平(这对于随机逻辑函数是特别重要的)。这是因为逻辑块输入端口的数量减少导致布线资源硬件的数量减少。对于其中处理元件的初级输入端口|X|的数量由处理元件可以执行的最大布尔(随机逻辑)函数的输入矢量的位数量k来确定(即|X|=k)的结构来说,可使用下列经验公式来确定处理元件的初级输入|X|的数量与包括|M|个处理元件的逻辑块的初级输入|I|的数量之间的关系:|I|=|X|/2·(|M|+1)。
其次,如果来自逻辑块的反馈(输出)端口组O的信号被选择作为处理元件的输入,则输入选择块允许实现反馈。根据目标应用领域,可以将逻辑块的输入选择块设计成具有一对一反馈连接或全反馈连接。一对一反馈连接对于数据通路支配的结构来说是典型的,并且允许实现连续运算模块,例如计数器、增量器和减量器,其中一个自变量从输出接收寄存的信号。为此,一对一反馈连接将逻辑块的|M|个输出端口连接到所有处理元件的|M|·|X|个初级输入端口,使得与运算输出的第i个位相关的逻辑块的输出端口Oi连接到与第一运算自变量的第i位相关的处理元件的初级输入。
相反,全反馈连接将逻辑块的所有|O|个输出端口连接到处理元件的所有|M|·|X|个初级输入端口上。这种类型的连接对于面向随机逻辑的结构来说是典型的,并且它允许执行复杂的布尔函数(于是不寄存反馈信号),或者不同类型的有限状态机(于是寄存反馈信号)。具有一对一反馈连接和全反馈连接的输入选择块分别在图9(a)和9(b)中示出。
在图8中,输入选择块的输出连接到连续处理元件的组X中的初级输入端口。逻辑块的组T中的前|S|个次级输入端口连接到第一组的所有处理元件的组S中的次级输入端口。相反,逻辑块的第i个进位输入端口cii经由2:1多路复用器连接到第i组中的仅仅第一处理元件的进位输入端口ci。该组的其余处理元件使它们的进位输入端口和进位输出端口串联连接。第i组内的最后一个处理元件的进位输出端口co连接到逻辑块的第i个进位输出coi上。为了允许组的串联连接,在第i组(除了第一组)中的第一处理元件的进位输入端口上的2:1多路复用器允许在来自逻辑块的进位输入端口cii的信号和来自第i组的进位输出端口co的信号之间的选择。
属于第i组的处理元件的|S|个次级输入端口从逻辑块的第i组次级输入端口接收信号,即,从端口t(i-1)·|s|+1、…、ti·|s|接收信号。此外,第i组的第一处理元件的进位输入端口从逻辑块的第i个进位输入端口cii接收信号。第i组的其余处理元件使它们的进位输入端口和进位输出端口串联连接。第i组内的最后一个处理元件的进位输出端口co连接到逻辑块的第i个进位输出端口coi上。
逻辑块的多路复用器块是由控制信号控制的2:1多路复用器的log|M|-级网络,其中所述控制信号来自源于输入选择级的组W={wi:0<i≤|W|}。第一级的多路复用器在来自连续成对的处理元件的布尔输出端口z的信号之间进行选择。第二级的每个多路复用器在来自第一级的连续多路复用器的输出的一对信号之间进行选择;第三级的每个多路复用器在来自第二级的连续多路复用器的输出的一对信号之间进行选择,等等。所有级中的多路复用器的输出信号指向多路复用器块的输出端口。这与处理元件的多路复用器块相反,其中只有最后一个多路复用器(即最后级中的)的输出信号指向多路复用器块的输出端口。
来自多路复用器块的输出端口的信号和来自所有处理元件的前|Y|个输出端口的信号连接到输出选择块的输入端。输出选择块是多路复用器网络,其确定逻辑块的输出信号的最后数量以及其上出现这些信号的端口。假设多路复用器块的所有输出信号和处理元件的所有前|Y|个信号可以被选为逻辑块输出。来自输出选择块的信号指向触发器块。触发器块允许寄存逻辑块的任何输出。无论寄存与否,触发器块的输出信号都指向逻辑块的|O|个输出端口。
图10示出逻辑块的初级输入和输出端口的数量,其取决于逻辑元件的类型TYPE。图11示出在逻辑块中可实现的最大布尔、算术和存储功能的粒度,其取决于逻辑元件的类型TYPE。
图12示出包括根据本发明的逻辑块LB的逻辑片。逻辑片是可重构逻辑结构的主要构建块。它包括逻辑块LB和逻辑块LB的布线资源。布线资源限定在横向和纵向布线路径中的布线轨迹的数量、它们的分段、以及布线轨迹如何连接到逻辑块的端口(管脚)的方式。布线资源还限定将布线线段连接在一起的可编程开关的类型。
逻辑片具有三种不同类型的端口:逻辑端口LL(左边)、LR(右边)、LT(顶部)和LB(底部);布线端口RHL(横向左边)、RHR(横向右边)、RVT(纵向顶部)、RVB(纵向底部);以及直接端口DI(输入)和DO(输出)。逻辑块用于将逻辑块的端口连接到相邻片的布线轨迹;布线端口是逻辑片中的布线轨迹的终端,并用于连接到相邻片的布线路径;直接端口允许到相邻逻辑片的直接连接,即,不用通过可编程开关。
图12中的L表示逻辑块LB的所有逻辑块端口的组,其包括初级输入端口I、次级输入端口T和进位输入端口CI的组、以及输出端口O和进位输出端口CO的组,即,L=I∪T∪CI∪O∪CO。
逻辑块LB的组L中的逻辑块端口连接到逻辑片的组LL和LT中的端口。组LL中的端口经由左边相邻逻辑片的组LR中的端口连接到左边上的相邻逻辑片的布线轨迹;组LT中的端口经由顶部相邻逻辑片的组LB中的端口连接到顶部上的相邻逻辑片的布线轨迹。逻辑块LB的组L中的端口也连接到逻辑片内的布线轨迹上。在所谓的连接块中实现组L中的逻辑块端口与逻辑片的布线轨迹的连接。
使用连接性矩阵来说明连接块中的连接性。连接性矩阵的行是布线端口组的元素,而列是逻辑块端口组的元素。连接性矩阵用值‘0’和‘1’填充。处于矩阵中(i,j)位置上的值‘1’表示存在于第i条布线轨迹和第i个逻辑块端口之间的连接,而值‘0’表示不存在连接。逻辑片的连接块,并且由此它们的相应连接性矩阵由函数αT、αB、αL和αR表示,使得:
-αT:(RHL×LB)→{0,1};
-αB:(RHL×L)→{0,1};
-αL:(RVT×LR)→{0,1};
-αR:(RVT×L)→{0,1}。
注意到,这些矩阵也可以被认为是模板的参数。可以使用算法来自动产生矩阵的内容。
以相同的方式限定直接连接块中、即在逻辑片的逻辑块端口和直接端口之间的连接性。在这种情况下,连接性矩阵的行被直接端口组DI或DO的元素寻址,并且列被逻辑块端口组L的元素寻址。用于输入的直接连接块由函数βI表述,而用于输出的直接连接块由函数βO表述。注意到,用于输入的直接连接块的连接性矩阵使其后|0|+|CO|列用值‘0’来填充(没有连接到逻辑块的输出端口),而用于输出的直接连接块的连接性矩阵使其前|I|+|T|+|CI|列用值‘0’来填充(没有连接到逻辑块的输入端口)。表述用于直接端口的连接性矩阵的填充的连接性函数βI和βO定义如下:
-βI:(DI×L)→{0,1};
-βO:(DO×L)→{0,1}。
可以将逻辑块的输入和输出端口减少到只有一个端口,所述逻辑块的输入和输出端口分别准确地连接到布线轨迹的相同组(经由逻辑片的逻辑端口)以及逻辑片的直接输入和直接输出端口的相同组。这允许降低布线结构的实施成本。
在图13(a)中,示出逻辑块的被选端口、直接端口与横向布线路径的布线轨迹之间的连接性的例子。图13(b)示出相应的连接性矩阵,图13(c)示出连接块的可能实施。
布线轨迹的段(长度)(即在被可编程开关分开之前,布线轨迹横跨的逻辑块的数量)、开关块结构(即横向和纵向布线路径中的布线轨迹如何连接在一起的方式)、以及可编程开关的类型由函数λ定义,使得λ:(RHL×RVT)→{0,ωi}。函数λ表述开关矩阵。开关矩阵的行是来自布线端口组RHL的元素,列是来自布线端口组RVT的元素。开关矩阵用值‘0’或用来自组Ω的元素ωi来填充,使得Ω=(ωi:ωi∈N\{0}∧1≤i≤|Ω|},其中N是一组自然数。组Ω是开关点类型组。
开关点类型由段连接方式和可编程开关的类型确定,该可编程开关用于产生布线轨迹段之间的连接。段连接方式限定将布线轨迹段连接到与其相对应的横向和纵向轨迹段的方式。可编程开关限定开关点中的一对布线轨迹段之间的单一连接的实施。因此组Ω的大小由段连接方式和可编程开关类型的组合数量来确定,并且相应地确定该组元素ωi的数量。例如,对于两种不同类型的段连接方式(例如图14(a)中的‘拆开’或‘一半’)和三种类型的可编程开关(例如图14(b)中的通过晶体管开关、双通门开关和双向缓冲开关),六个不同的开关点ω1、…、ω6是可能的。如果交叉的两个布线轨迹没有连接,则将值‘0’放置在开关矩阵的相应位置上。
逻辑片中的横向和纵向轨迹以所谓的绞线器(wire twister)结束。由于该绞线器,可以使每个逻辑片的布线资源是相同的。因而,仅仅一种逻辑片类型就足以构建可重构逻辑核心,而不需要非常多的不同逻辑片类型。如果布线结构包括跨越一个以上的逻辑块LB的布线段(即长度大于‘长度-1’的布线段),则需要绞线器。在这种情况下,必须交结(twist)跨越一个以上的逻辑块LB的相等长度的段(参见图15(b))。此外,给定长度的轨迹的总数量必须总是该轨迹长度的倍数。例如,长度-4的布线轨迹的可接受数量是:4、8、12、16等。横向和纵向布线路径中的线交结分别由函数θH和θV定义,使得:
-θH:(RHL×RHR)→{0,1};
-θV:(RVT×RVB)→{0,1}。
函数θH和θV限定横向和纵向交结矩阵。矩阵的行是逻辑片的左侧和顶部上的布线端口组的元素,即分别为RHL和RVT。矩阵的列是逻辑片的右侧和底部上的布线端口组的元素,即分别为RHR和RVB。这些矩阵用值‘0’和‘1’填充。值‘1’表示在与这些布线端口相关的布线轨迹之间存在连接。值‘0’表示不存在连接。通常情况下,横向和纵向交结矩阵是相同的。
图15示出布线结构的例子,其具有由具有长度-1线段的三条轨迹和具有长度-4线段的八条轨迹组成的布线路径。图15(a)以概念的方式示出该结构。应该注意到,长度-1线段使用连接开关类型1(例如‘拆开’段连接方式和基于通过晶体管的开关),而长度-4线段使用连接开关类型2(例如,‘拆开’段连接方式和基于缓冲器的开关)。在图15(b)中,示出这种结构的实施。根据模-长度方案交结长度大于长度-1的线段。最后,图15(c)示出逻辑片的开关矩阵,其中值‘1’和‘2’是指两种不同类型的开关点。交结矩阵(横向和纵向)表述逻辑片中的布线轨迹的交结机制。
图16示出包括根据本发明的逻辑片LT的阵列。根据本发明的可重构逻辑结构的顶层是逻辑片LT的阵列。在该阵列中包括的逻辑片LT的数量以及阵列的纵横比是模板的参数。逻辑片LT由具有双重功能的辅助片CRT、IORT、IOT所包围。首先,它们充当可重构逻辑结构和嵌入在同片硅上的其他系统资源之间的接口。其次,它们完成布线结构。需要后者是因为由阵列的边缘上的逻辑片LT的布线资源产生的外部布线路径只位于阵列的底部和右侧。因此,将具有布线IORT的输入/输出片设置在阵列的左侧和顶侧上。将简单的输入/输出片IOT设置在阵列的右侧和底侧上。此外,将终止外部布线路经的角部布线片CRT设置在阵列的左上角。图16中的粗体环表示以这种方式产生的最终布线路径。
逻辑片LT经由它们的布线端口邻接。这意味着横向左侧RHL中的端口连接到相邻逻辑片的横向右侧组RHR中的端口。同样,纵向顶部组RVT中的端口连接到相邻逻辑片的纵向底部组RVB中的端口。分别经由来自端口组LL-LR和LT-LB的成对端口实施到左侧和顶部的相邻逻辑片的布线轨迹的连接。
在图17和18中示出具有布线CRT、IORT的辅助片以及简单辅助片IOT的结构的例子。与逻辑片LT的元件的定义类似地限定辅助片CRT、IORT、IOT的元件。在图17(a)中示出具有布线IORT的顶部输入/输出片;其具有两组输入/输出端口FT和GB、以及三组布线端口,即RHL、RHR和RVB。组FT中的端口连接到系统资源,而组GB中的端口允许将在阵列顶部的逻辑片LT的组LT中的端口连接到具有布线IORT的顶部输入/输出片的布线资源。组RHL和RHR中的布线端口分别连接到相邻IORT片的组RHR和RHL中的端口。组RVB中的端口连接到阵列顶部的逻辑片LT的组RVT中的端口。组E是该贴的直接输入和输出端口组,并且它分别连接到逻辑片LT的组DI和DO中的直接输入和直接输出端口。图17(a)中的连接性矩阵γT、γB和δT定义如下:
-γT:(RHL×GB)→{0,1};
-γB:(RHL×FT)→{0,1};
-δT:(E×FT)→{0,1}。
图17(b)中所示的具有布线IORT的左侧输入/输出片包括与具有布线IORT的顶部输入/输出片相同的元件。然而,使这些元件的位置相对于具有布线IORT的顶部输入/输出片中的元件的位置成镜像。具有布线IORT的左侧输入/输出片具有两组输入/输出端口FL和GR、三组布线端口,即RVB、RVT和RHR,以及直接端口组E。组FL中的端口连接到系统资源,而组GR中的端口允许将阵列左边缘上的逻辑片LT的组LL中的端口连接到具有布线IORT的左侧输入/输出片的布线资源。组RVB和RVT中的布线端口分别连接到相邻IORT片的组RVT和RVB中的端口。组RHR中的端口连接到阵列左边缘上的逻辑片LT的组RHL中的端口。图17(b)中的连接性矩阵γL、γR和δL定义如下:
-γL:(RVT×GR)→{0,1};
-γR:(RVT×FL)→{0,1};
-δL:(E×FL)→{0,1}。
图17(c)中所示的角部布线片CRT具有两组布线端口,即RVB和RHR。组RVB中的端口连接到具有布线IORT的最顶部左侧输入/输出片的组RVT中的端口。组RHR中的端口连接到具有布线IORT的最左侧顶部输入/输出片的组RHL中的端口。
图18(a)中所示的右侧输入/输出片IOT具有两组输入/输出端口FR和GL、以及直接端口组E。组FR中的端口连接到系统资源,而组GL中的端口经由逻辑片端口的组LR连接到阵列右边缘上的逻辑片LT的布线资源。用于直接连接的连接性矩阵δR定义为δR:(E×FR)→{0,1}。
图18(b)中所示的底部输入/输出片IOT与右侧输入/输出片IOT起相同的作用,但是它位于可重构逻辑核心的底部。底部输入/输出片IOT具有两组输入/输出端口FB和GT、以及直接端口组E。组FB中的端口连接到系统资源,而组GT中的端口经由逻辑片端口的组LB连接到阵列底边缘上的逻辑片LT的布线资源。用于直接连接的连接性矩阵δB定义为δB:(E×FB)→{0,1}。
应该注意到,相同定义每个片中的连接性矩阵λ。通过可重构逻辑核心的结构存储器的适当编程,保证阵列边缘上的逻辑片以及具有布线的输入/输出片中的开关块的正确运行。例如,这意味着将右侧底部逻辑片的可编程开关编程为使得可以没有与该贴的底部和和右侧的布线连接是可能的。
图19示出面向数据通路的FPGA逻辑块的结构实例的例子。该逻辑块结构是从如下设置模板参数的上述模板得到的:
-逻辑元件层:TYPE=数据通路,|P|=2,|S|=3,|A|=1:
-处理元件层:|N|=4,|X|=8,|S|=3,|Y|=4;
-逻辑块层:|M|=1,|K|=1,|I|=8,|O|=4。
这种类型的逻辑块实现数据通路功能(高达4位)和随机逻辑功能(高达4个输入)。
显然本发明的范围不限于这里所述的实施例。本发明的范围也不受权利要求书中的参考标记的限制。词“包括”不排除在权利要求中所提到的部件以外的其他部件。元件前面的词“一个”不排除有多个这种元件。形成本发明的部件的装置可以以专用硬件的形式或者以编程的通用处理器的形式来实施。本发明在于每个新特征或者特征的组合。
Claims (10)
1、一种用于在集成电路上产生可重构逻辑核心的结构的方法,该结构包括逻辑部件、布线部件和接口部件,其特征在于:该结构是通过模板得到的,该模板是由多个参数构成的模型,其中该模型限定所述逻辑部件、所述布线部件和所述接口部件,所述参数具有值,并且所述值是以应用领域为依据的。
2、根据权利要求1所述的方法,其中所述模板包括阵列,该阵列包括多个逻辑片,并且逻辑片的数量是第一参数。
3、根据权利要求2所述的方法,其中所述阵列的纵横比是第二参数。
4、根据权利要求3所述的方法,其中所述模板还包括:
至少一个简单输入/输出片,将该简单输入/输出片耦合到第一逻辑片;
具有布线功能性的至少一个输入/输出片,将该具有布线功能性的输入/输出片耦合到第二逻辑片;
角部布线片,将该角部布线片耦合到至少两个输入/输出片。
5、根据权利要求4所述的方法,其中所述逻辑片中的至少一个包括:
逻辑块,该逻辑块包括多个逻辑块端口;
布线资源,该布线资源包括:
多个布线轨迹;
逻辑端口,将该逻辑端口设置成将所述逻辑块端口耦合到相邻的逻辑片;
布线端口,将该布线端口设置成将所述布线轨迹耦合到相邻的逻辑片;
直接端口,该直接端口允许所述逻辑块与相邻逻辑片的直接连接。
6、根据权利要求5所述的方法,其中所述逻辑块端口包括第一初级输入端口,并且所述逻辑块还包括:
多个处理组,处理组的数量是第三参数,其中所述处理组中的至少一个包括多个串联连接的处理元件,处理元件的数量是第四参数,并且所述处理组还包括多个第一次级输入端口、第一进位输入端口和第一进位输出端口;
第一多路复用器块,将该第一多路复用器块设置成受控制信号的控制,所述控制信号是由第一输入选择块发出的,将该第一多路复用器块设置成从由所述处理元件发出的第一中间信号中进行选择;
输出选择块,将该输出选择块设置成接收所述第一中间信号的选择并且确定所述逻辑块的输出信号的数量,将该输出选择块进一步设置成产生所述输出信号并且向所述逻辑块的输出端口发送所述输出信号;
触发器块,将该触发器块设置成寄存所述输出信号。
7、根据权利要求6所述的方法,其中将所述第一输入选择块设置成将所述第一初级输入端口耦合到第二初级输入端口上,将所述第一输入选择块设置成选择输入信号;将所述第一输入选择块进一步设置成接收所述逻辑块的输出信号作为输入信号,从而实现反馈回路。
8、根据权利要求6所述的方法,其中所述处理元件中的至少一个包括:
多个串联连接的逻辑元件,逻辑元件的数量是第五参数;
所述第二初级输入端口;
多个第二次级输入端口,将所述第二次级输入端口耦合到包含在所述逻辑元件中的第三次级输入端口;
第二进位输入端口,将该第二进位输入端口耦合到包含在所述串联连接的逻辑元件中的第一个中的第三进位输入端口;
第二进位输出端口,将该第二进位输出端口耦合到包含在所述串联连接的逻辑元件中的最后一个中的第三进位输出端口;
多个第一算术输出端口;
第一布尔输出端口;
第二输入选择块,将该第二输入选择块设置成将所述第二初级输入端口耦合到包含在所述逻辑元件中的第三初级输入端口,并选择输入信号;
第二多路复用器块,将该第二多路复用器块设置成受控制信号的控制,所述控制信号由所述第二选择块发出,将该第二多路复用器块设置成选择源自包含在所述逻辑元件中的第二布尔输出端口的信号,并且将该第二多路复用器块进一步设置成产生用于所述第一布尔输出端口的输出信号;
其中将包含在所述逻辑元件中的第二算术输出端口耦合到所述第一算术输出端口。
9、根据权利要求8所述的方法,其中所述逻辑元件中的至少一个包括:
多个第三初级输入端口,第三初级输入端口的数量是第六参数;
所述第三进位输入端口或另外的进位输入端口;
所述第三进位输出端口或另外的进位输出端口;
所述第二布尔输出端口之一;
多个所述第二算术输出端口,第二算术输出端口的数量是第七参数。
10、一种可重构逻辑核心,具有通过前述权利要求中的任何一项所述的方法产生的结构。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP03104791 | 2003-12-18 | ||
EP03104791.3 | 2003-12-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1894692A true CN1894692A (zh) | 2007-01-10 |
Family
ID=34707261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2004800376885A Pending CN1894692A (zh) | 2003-12-18 | 2004-12-07 | 基于模板的领域特定的可重构逻辑 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20080288909A1 (zh) |
EP (1) | EP1697867A1 (zh) |
JP (1) | JP2007520795A (zh) |
CN (1) | CN1894692A (zh) |
WO (1) | WO2005062212A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102089762A (zh) * | 2008-06-05 | 2011-06-08 | 益华公司 | 用于集成电路的基于模型的设计及布局的方法及系统 |
CN102411655A (zh) * | 2011-08-31 | 2012-04-11 | 深圳市国微电子股份有限公司 | 一种现场可编程门阵列内部互联线的方法 |
CN104965937A (zh) * | 2014-03-31 | 2015-10-07 | 德克萨斯仪器股份有限公司 | 经由布尔可满足性的设备引脚复用配置求解和代码生成 |
CN106156402A (zh) * | 2016-06-15 | 2016-11-23 | 深圳市紫光同创电子有限公司 | Fpga逻辑块阵列的版图布局方法及版图布局 |
CN109145389A (zh) * | 2018-07-25 | 2019-01-04 | 清华大学 | 集成电路模型复用方法及装置 |
CN112558515A (zh) * | 2020-11-27 | 2021-03-26 | 成都中科合迅科技有限公司 | 一种功能可动态重组的模拟电子系统 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2048784A4 (en) | 2006-07-27 | 2010-10-27 | Panasonic Corp | INTEGRATED SEMICONDUCTOR SWITCHING, PROGRAMMING DEVICE AND ILLUSTRATION DEVICE |
US7739647B2 (en) * | 2006-09-12 | 2010-06-15 | Infosys Technologies Ltd. | Methods and system for configurable domain specific abstract core |
US7788623B1 (en) * | 2007-11-29 | 2010-08-31 | Lattice Semiconductor Corporation | Composite wire indexing for programmable logic devices |
JP5163332B2 (ja) * | 2008-07-15 | 2013-03-13 | 富士通セミコンダクター株式会社 | 設計プログラム、設計装置、および設計方法 |
US8136075B1 (en) * | 2008-11-07 | 2012-03-13 | Xilinx, Inc. | Multilevel shared database for routing |
FR2951868B1 (fr) * | 2009-10-28 | 2012-04-06 | Kalray | Briques de construction d'un reseau sur puce |
US20170046466A1 (en) | 2015-08-10 | 2017-02-16 | International Business Machines Corporation | Logic structure aware circuit routing |
CN105259444A (zh) * | 2015-11-02 | 2016-01-20 | 湖北航天技术研究院计量测试技术研究所 | Fpga器件测试模型建立方法 |
US10007746B1 (en) * | 2016-10-13 | 2018-06-26 | Cadence Design Systems, Inc. | Method and system for generalized next-state-directed constrained random simulation |
CN113892234A (zh) * | 2019-05-07 | 2022-01-04 | 芯力能简易股份公司 | 柔性逻辑硬件的空间分离 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5212652A (en) * | 1989-08-15 | 1993-05-18 | Advanced Micro Devices, Inc. | Programmable gate array with improved interconnect structure |
US6230307B1 (en) * | 1998-01-26 | 2001-05-08 | Xilinx, Inc. | System and method for programming the hardware of field programmable gate arrays (FPGAs) and related reconfiguration resources as if they were software by creating hardware objects |
US6204686B1 (en) * | 1998-12-16 | 2001-03-20 | Vantis Corporation | Methods for configuring FPGA's having variable grain blocks and shared logic for providing symmetric routing of result output to differently-directed and tristateable interconnect resources |
US6301696B1 (en) * | 1999-03-30 | 2001-10-09 | Actel Corporation | Final design method of a programmable logic device that is based on an initial design that consists of a partial underlying physical template |
US6631510B1 (en) * | 1999-10-29 | 2003-10-07 | Altera Toronto Co. | Automatic generation of programmable logic device architectures |
US6476636B1 (en) * | 2000-09-02 | 2002-11-05 | Actel Corporation | Tileable field-programmable gate array architecture |
US6530070B2 (en) * | 2001-03-29 | 2003-03-04 | Xilinx, Inc. | Method of constraining non-uniform layouts using a uniform coordinate system |
US6792588B2 (en) * | 2001-04-02 | 2004-09-14 | Intel Corporation | Faster scalable floorplan which enables easier data control flow |
US6763512B2 (en) * | 2001-04-06 | 2004-07-13 | Sun Microsystems, Inc. | Detailed method for routing connections using tile expansion techniques and associated methods for designing and manufacturing VLSI circuits |
US7073158B2 (en) * | 2002-05-17 | 2006-07-04 | Pixel Velocity, Inc. | Automated system for designing and developing field programmable gate arrays |
US6870395B2 (en) * | 2003-03-18 | 2005-03-22 | Lattice Semiconductor Corporation | Programmable logic devices with integrated standard-cell logic blocks |
US7007264B1 (en) * | 2003-05-02 | 2006-02-28 | Xilinx, Inc. | System and method for dynamic reconfigurable computing using automated translation |
US7194720B1 (en) * | 2003-07-11 | 2007-03-20 | Altera Corporation | Method and apparatus for implementing soft constraints in tools used for designing systems on programmable logic devices |
US7284226B1 (en) * | 2004-10-01 | 2007-10-16 | Xilinx, Inc. | Methods and structures of providing modular integrated circuits |
-
2004
- 2004-12-07 WO PCT/IB2004/052684 patent/WO2005062212A1/en not_active Application Discontinuation
- 2004-12-07 EP EP04801479A patent/EP1697867A1/en not_active Withdrawn
- 2004-12-07 US US10/596,448 patent/US20080288909A1/en not_active Abandoned
- 2004-12-07 CN CNA2004800376885A patent/CN1894692A/zh active Pending
- 2004-12-07 JP JP2006544636A patent/JP2007520795A/ja active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102089762A (zh) * | 2008-06-05 | 2011-06-08 | 益华公司 | 用于集成电路的基于模型的设计及布局的方法及系统 |
CN102411655A (zh) * | 2011-08-31 | 2012-04-11 | 深圳市国微电子股份有限公司 | 一种现场可编程门阵列内部互联线的方法 |
CN104965937A (zh) * | 2014-03-31 | 2015-10-07 | 德克萨斯仪器股份有限公司 | 经由布尔可满足性的设备引脚复用配置求解和代码生成 |
CN104965937B (zh) * | 2014-03-31 | 2020-01-14 | 德克萨斯仪器股份有限公司 | 经由布尔可满足性的设备引脚复用配置求解和代码生成 |
CN106156402A (zh) * | 2016-06-15 | 2016-11-23 | 深圳市紫光同创电子有限公司 | Fpga逻辑块阵列的版图布局方法及版图布局 |
CN109145389A (zh) * | 2018-07-25 | 2019-01-04 | 清华大学 | 集成电路模型复用方法及装置 |
CN109145389B (zh) * | 2018-07-25 | 2020-11-06 | 清华大学 | 集成电路模型复用方法及装置 |
CN112558515A (zh) * | 2020-11-27 | 2021-03-26 | 成都中科合迅科技有限公司 | 一种功能可动态重组的模拟电子系统 |
CN112558515B (zh) * | 2020-11-27 | 2023-11-17 | 成都中科合迅科技有限公司 | 一种功能可动态重组的模拟电子系统 |
Also Published As
Publication number | Publication date |
---|---|
US20080288909A1 (en) | 2008-11-20 |
EP1697867A1 (en) | 2006-09-06 |
WO2005062212A1 (en) | 2005-07-07 |
JP2007520795A (ja) | 2007-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1894692A (zh) | 基于模板的领域特定的可重构逻辑 | |
CN1713185A (zh) | 数据流图处理方法、可重构电路及处理装置 | |
CN1172256C (zh) | 有电平移位功能的寄存器及含该寄存器的半导体集成电路 | |
CN1208900C (zh) | 运算电路 | |
CN1183602C (zh) | 一种集成电路及其为集成电路设计导线布局的方法 | |
CN1127428A (zh) | 半导体装置及其制造方法,存储器心部及外围电路芯片 | |
CN1637748A (zh) | 可重配置电路、具备可重配置电路的处理装置 | |
KR100274855B1 (ko) | 반도체 집적회로의 설계방법 및 자동설계장치 | |
CN1353454A (zh) | 半导体芯片设计方法 | |
Zamacola et al. | IMPRESS: automated tool for the implementation of highly flexible partial reconfigurable systems with Xilinx Vivado | |
CN1101082C (zh) | 用于可编程逻辑电路的结构和互连方案 | |
CN1794459A (zh) | 单元、标准单元、标准单元库、使用标准单元的布局方法和半导体集成电路 | |
CN110232213A (zh) | 基于FinFET结构的高速标准单元库版图设计方法 | |
US8159266B1 (en) | Metal configurable integrated circuits | |
JP2006511874A (ja) | Asicクロックのフロア計画の方法及び構造 | |
CN1199243A (zh) | 模块合成装置及模块合成方法 | |
CN1916922A (zh) | 半导体集成电路及其设计方法 | |
CN1760879A (zh) | 可编程核版图自动生成方法 | |
CN1410859A (zh) | 具有时钟信号传送线的半导体集成电路器件 | |
CN1275803A (zh) | 半导体器件设计方法和装置,及存储有宏信息的存储介质 | |
CN1271786C (zh) | 可编程逻辑器件结构建模方法 | |
CN1139888C (zh) | 用于半导体集成电路的设置及布线方法 | |
CN108319762A (zh) | 一种基于时钟区域支持分段式可编程时钟网络结构 | |
US8443326B1 (en) | Scan chain re-ordering in electronic circuit design based on region congestion in layout plan | |
CN1272847C (zh) | 时钟信号传输电路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |