CN1713185A - 数据流图处理方法、可重构电路及处理装置 - Google Patents
数据流图处理方法、可重构电路及处理装置 Download PDFInfo
- Publication number
- CN1713185A CN1713185A CNA2005100786053A CN200510078605A CN1713185A CN 1713185 A CN1713185 A CN 1713185A CN A2005100786053 A CNA2005100786053 A CN A2005100786053A CN 200510078605 A CN200510078605 A CN 200510078605A CN 1713185 A CN1713185 A CN 1713185A
- Authority
- CN
- China
- Prior art keywords
- data flow
- circuit
- sub
- dfg
- reconfigurable circuit
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Logic Circuits (AREA)
Abstract
本发明提供一种处理可重构电路的动作设定所需的数据流图的技术。本发明的数据流图处理方法,根据可重构电路的集合体内的逻辑电路数,将所生成的1个以上的DFG分割为多个子DFG(S14)。在可重构电路具有多级连接结构时,将子DFG的列数设定为可重构电路每1级的逻辑电路个数以下。接着,结合子DFG(S18),生成结合DFG。将结合DFG的列数也设定为可重构电路每1级的逻辑电路个数以下。以成为可重构电路级数以下的方式对该结合DFG进行再分割(S20),生成能映射到可重构电路中的子结合DFG。
Description
技术领域
本发明涉及处理功能可变的可重构电路的动作设定所需的数据流图的技术。
背景技术
近年来,根据应用需求,一直在推进可变更硬件动作的可重构处理器(reconfigurable processor)的开发。作为用于实现可重构处理器的体系结构,存在采用DSP(Digital Signal Processor)或FPGA(Field ProgrammableGate Array)的方法。
FPGA(Field Programmable Gate Array)可在LSI制造后写入电路数据而比较自由地设计电路构成,被用于专用硬件的设计。FPGA包括:由用于存储逻辑电路真值表的查找表(LUT)及输出用触发器构成的基本单元;和连接该基本单元间的配线资源。在FPGA中,通过写入存储在LUT中的数据和配线数据,从而可实现作为目的的逻辑运算。但是,在用FPGA设计LSI时,与利用ASIC(Applicationg Specific IC)的设计相比,安装面积变得非常大、成本变高。因此,提出了通过动态重新构成FPGA而实现电路构成的再利用的方法(例如参照专利文献1)。
【专利文献1】
特开平10-256383号公报
例如,在卫星广播中,有时也根据季节等切换广播模式来进行图像质量的调整。在接收机中,预先按每个广播模式将多个电路制作到硬件上,用选择器切换电路以符合广播模式进行接收。因此,接收机的其它广播模式用的电路在此期间处于闲置状态。如切换模式那样,在切换使用多个专用电路、其切换间隔比较长时,如果代替制作多个专用电路,而在切换时瞬时重新构成LSI,则可简化电路结构、提高通用性,同时可以抑制安装成本。为了满足这种应用需求,制造业界的关心集中到了动态可再构成LSI上。尤其是装在移动电话或PDA(Personal Data Assistance)等可移动终端中的LIS必须小型化,如果可动态重构成LSI、根据用途来切换适宜功能,则可抑制LSI的安装面积。
FPGA的电路构成的自由度高、为通用性,另一方面,为了能进行所有基本单元间的连接,需要用于控制多个开关和开关接通/断开的控制电路,必然引起控制电路的安装面积变大。此外,由于对基本单元间的连接采取复杂的配线图案,存在配线变长的倾向,而且,由于为在1条配线上连接多个开关的结构,故延迟变大。因此,利用FPGA的LSI往往停留于为试制或实验所用,如果考虑安装效率、性能、造价等,则不适合批量生产。并且,在FPGA中,由于需要向多个LUT方式的基本单元传送构成信息,故在电路的配置时需要花费相当的时间。因此,FPGA不适合瞬时切换电路构成所需的用途。
为了解决这些课题,近年来,开展了将具有多个称之为ALU(Arithmetic Logic Unit)的基本运算功能的多功能元件多级排列的ALU阵列的研究。在ALU阵列中,由于处理是从上流向下一个方向,故连接水平方向ALU的配线基本不需要。因此,与FPGA相比,有可能使电路规模变小。
在ALU阵列中,利用命令数据控制连接ALU电路的运算功能构成和前后级ALU的连接部的配线,可执行所预期的运算处理。命令数据一般由用C语言等高级程序语言编写的源程序制成数据流图(DFG:Data FlowGraph),以该信息为基础来制成。
在ALU阵列上,由于1次可映射的DFG的大小由ALU阵列的电路规模限制,故大的DFG需要分割为多个DFG后结合。结合生成的DFG的大小由于直接影响用ALU阵列执行的电路配置的次数,故最好尽可能生成得小。
发明内容
本发明是鉴于该情况而进行的,其目的在于提供一种可高效处理可重构电路的动作设定所需的数据流图的技术。
为了解决上述课题,本发明的某种方式涉及处理具有多个功能可变的逻辑电路集合体的可重构电路的动作设定所需的数据流图的方法。该方式的数据流图处理方法包括:以记述处理动作的动作记述为基础,生成表现运算间执行顺序的依赖关系的1个以上的数据流图的步骤;根据可重构电路集合体内的逻辑电路数量,将生成的1个以上的数据流图分割为多个子数据流图的第1分割步骤;和结合多个子数据流图,生成结合数据流图的步骤。通过根据逻辑电路集合体内的逻辑电路数来分割数据流图,从而即使在原数据流图超过可重构电路的大小时,也可分割为适当的大小并使其结合。
该方式的数据流图处理方法还可包括:分割结合数据流图,以使分割完的子结合数据流图的级数成为可重构电路的逻辑电路集合体个数以下的方式,生成多个子结合数据流图的第2分割步骤。根据第2分割步骤,可将结合数据流图分割成可变换为可重构电路的大小。
本发明的其它方式涉及具有处理数据流图功能的处理装置。该方式的处理装置包括:可重构电路,其具备了多个功能可变逻辑电路的集合体;编译部,其以记述了处理动作的动作记述为基础,生成表现运算间执行顺序的依赖关系的1个以上的数据流图;数据流图处理部,其根据可重构电路集合体内的逻辑电路的个数,将生成的1个以上的数据流图分割为多个子数据流图,生成结合了这些的结合数据流图,进一步分割结合数据流图,以使分割完的子结合数据流图的级数成为可重构电路的逻辑电路集合体个数以下的方式,生成多个子结合数据流图;和设定数据生成部,其以子结合数据流图为基础,生成用于在可重构电路中进行功能设定的设定数据。
可重构电路还可具有:可选择性地执行多种的多位运算的算术逻辑电路。
此外,将以上构成要素的任意组合、本发明的表现作为方法、装置、系统、计算机程序表现的方式,作为本发明的方式也是有效的。
附图说明
图1为涉及实施例的处理装置的构成图。
图2为用于对可分割目标电路的多个电路进行说明的图。
图3为可重构电路的构成图。
图4为用于说明数据流图结构的图。
图5为表示可重构电路中的ALU间连接关系的图。
图6为本实施例中的数据流图的处理流程。
图7为数据流图处理部的构成图。
图8为表示超过可重构电路的电路规模的DFG之例的图。
图9为表示分割并生成图8中所示的DFG的6个子DFG的图。
图10为由DFG结合部确定的子DFG的连接关系图。
图11为结合子DFG的流程图。
图12为图11中所示的结合处理的流程图。
图13为表示假想的节点空间的图。
图14为表示结合并生成的结合DFG的图。
具体实施方式
图1为涉及实施例处理装置10的构成图。处理装置10具备集成电路装置26。集成电路装置26具有可以将电路构成进行再构成的功能。集成电路装置26构成为单片,具备:可重构电路12、设定部14、控制部18、输出电路22、存储部27及路径部24、29。可重构电路12通过变更设定,从而可变更功能。
设定部14将用于构成所期望电路的设定数据40提供给可重构电路12。设定部14也可构成为:根据程序计数器的计数值输出存储的数据的命令存储器。此时,控制部18控制程序计数器的输出。在此意义上,设定数据40也可称为命令数据。路径部24、29作为反馈路径发挥功能,将可重构电路12的输出连接到可重构电路12的输入。输出电路22例如由数据触发器(D-FF)等顺序电路构成,接受可重构电路12的输出。存储部27连接到路径部29。可重构电路12构成为组合电路或顺序电路等逻辑电路。
存储器部27具有根据来自控制部18的指示,用于存储由可重构电路12输出的数据信号及/或由外部输入的数据信号的存储区域。存储器部27构成为RAM。为了将数据写入存储器部27并读出该数据,各处理至少需要1个时钟的时间。存储在存储器部27中的数据信号根据来自控制部18的指示,通过路径部29作为可重构电路12的输入被传输。存储器部27可根据来自控制部18的指示,以规定的定时将数据信号提供给可重构电路12。而且,存储器部27也可根据来自设定部14的指示输出数据信号。设定部14在作为命令存储器而构成时,具有指示存储器部27的输出定时的命令数据,也可根据来自控制部1 8的计数值将命令数据输出到存储器部27。此时,设定部14也可作为控制存储器部27动作的控制部发挥功能。
可重构电路12构成为具有功能可变的逻辑电路。具体是,可重构电路12具有将可选择性执行多个运算功能的逻辑电路排列为多级的构成,并且具有可设定前级逻辑电路列的输出和后级逻辑电路列的输入之间的连接关系的连接部。包含于各级中的多个逻辑电路构成逻辑电路的集合体。该连接部还具备保持前级逻辑电路列的输出、即内部状态的状态保持电路(以下也称为FF电路)。多个逻辑电路被配置为矩阵状。各逻辑电路的功能和逻辑电路间的连接关系根据由设定部14提供的设定数据40来设定。设定数据40按以下顺序生成。
应由集成电路装置26实现的程序36保存在存储部34中。程序36表示记述了电路中的处理动作的动作记述,是用C语言等高级语言记述了信号处理电路或信号处理算法等的程序。编译部30编译存储在存储部34中的程序36,变换为程序整体的数据流图(DFG)38并存储在存储部34中。数据流图38表现电路中的运算间执行顺序的依赖关系,是用图形结构来表示输入变量及常数运算流的。通常数据流图38形成为从上到下进行运算。
数据流图处理部31根据可重构电路12的逻辑电路的集合体中所包含的逻辑电路数,将由编译部30生成的1个以上的DFG分割为多个子DFG。具体为:将1个以上的DFG分割为可重构电路12每级的逻辑电路数,即列数以下的大小。当可重构电路12构成为具有6列×3级的逻辑电路时,在DFG超过6列的情况下,分割成列数为6以下的子DFG。
数据流图处理部31以不超过逻辑电路的列数的方式结合分割完的多个子DFG。这样,生成使列数为逻辑电路的集合体列数以下的结合DFG。其后,数据流图处理部31分割结合DFG,生成多个子结合DFG。此时,以使子结合DFG的级数为可重构电路的逻辑电路的集合体个数以下的方式,分割结合过的DFG。具体为:数据流图处理部31以成为可重构电路12的电路级数以下的方式对结合过的DFG进行再分割。当可重构电路12构成为具有6列×3级的逻辑电路时,结合完的DFG被再分割为3级以下的子结合DFG。分割完的多个子结合DFG被存储在存储部34中。在可重构电路12中,通过反复生成由分割完的多个子结合DFG确定的电路,从而可在可重构电路12上表现所期望的电路。
此外,在程序36的构成上,在编译时刻有时也生成多个DFG。例如,有编译相互关联的多个程序36的情况,和对反复调用的例行程序多个存在的程序36进行编译的情况等。在处理装置10中,多个DFG由编译部30生成,此外,通过由上述数据流图处理部31对编译部30所生成的DFG进行处理,而生成多个子结合DFG。
这样生成的多个数据流图38,由于其执行顺序不明确,故需将其适当确定。对于多个数据流图38,如果任意设定执行顺序,则还会产生必须执行对运算必需的输入数据不齐备的数据流图38的情况。例如,用于生成本次执行的数据流图38所需的输入数据的数据流图38,在比本次执行的数据流图38的执行顺序还要靠后的情况下,有时也不可能实现该电路的运算处理。此外,从存储器27读出必需的输入数据需要时间,其间,为了等待数据而停止处理的情况下,在短时间内实现电路的配置是困难的。这在要求处理的实时性、即高速性的情况下,往往成为大的制约。
根据以上理由,实施例的数据流图处理部31适当处理数据流图38,以便最终映射到可重构电路12的次数变少。关于数据流图38的处理方法,在图6以后的说明中详细表示。
设定数据生成部32以由数据流图处理部31决定的数据流图38为基础,生成设定数据40。设定数据40为用于将数据流图38映射到可重构电路12的数据,决定可重构电路12中的逻辑电路功能和逻辑电路间的连接关系以及输入逻辑电路的常数数据等。以下,对设定数据生成部32生成分割应生成一个目标电路而产生的多个电路的设定数据40的例子,进行说明。
图2为用于对分割目标电路而产生的多个电路进行说明的图。将分割1个目标电路42而生成的电路称为“分割电路”。在该例中,1个目标电路42被分割为上下方向及左右方向4个分割电路,即分割电路A、分割电路B、分割电路C、分割电路D。多个分割电路在可重构电路12的列数范围内分别结合,作为实质性的新的等效目标电路而被再生成。
在本实施例中,当应生成的目标电路42横方向的节点数比可重构电路12横方向的节点数(列数)还大时,目标电路42的数据流图38在数据流图处理部31中被分割为左右方向,以便可映射为可重构电路12的大小。而且,节点在数据流图38中表现逻辑电路的功能。此外,在根据可重构电路12的列数或ALU间的输入输出限制等,需要变更上下方向的节点间连接的情况下,目标电路42的数据流图38被分割为上下方向。可重构电路12的排列结构也可由控制部18传输至数据流图处理部31,而且还可预先记录在存储部34中。在本实施例中,数据流图38表现运算间执行顺序的依赖关系,数据流图处理部31根据可重构电路12的列数分割数据流图,将分割完的数据流图设定为子数据流图。
数据流图处理部31调查多个子DFG的连接关系。而且,仅在左右方向分割的情况也相同,数据流图处理部31需要调查该连接关系。若调查连接关系,则数据流图处理部31根据连接关系结合多个子DFG,生成1个大的结合DFG。并且,该结合DFG以使该列数为可重构电路12的列数以下的方式生成。数据流图处理部3 1将结合完的DFG一直分割到可重构电路12的级数以下,生成多个子结合DFG。
设定数据生成部32生成多个子结合DFG的设定数据40,并存储到存储部34。多个设定数据40将分割到可重构电路12的级数以下的多个子结合DFG,作为用于映射到可重构电路12的数据而表现。由此,可将比可重构电路12的电路规模还大的数据流图处理为能映射到可重构电路12的大小。这样,通过根据可重构电路12的列数再构成DFG,以生成目标电路42的设定数据40,从而可实现通用性高的处理装置10。若从别的视点来看,根据实施例的处理装置10,采用电路规模小的可重构电路12,可再构成所期望的电路。
图3示出了可重构电路12的构成。可重构电路12具有多个由可选择性地执行多个运算功能的逻辑电路50构成的逻辑电路。具体为:可重构电路12构成为具备逻辑电路列的多级连接结构和被设在各级的连接部52。在此,所谓多级意为2级以上。连接部52可设定由前级逻辑电路的输出和后级逻辑电路的输入的任意连接关系或预定的连接关系的组合中选择出的连接关系。此外,连接部52可保持前级逻辑电路的输出信号。在可重构电路12中,利用逻辑电路的多级连接结构,从上级向下级进行运算。而且,可重构电路12也可具有逻辑电路的1级的连接结构。
作为逻辑电路50,可重构电路12具有ALU(Arithmetic Logic Unit)。ALU是可选择性执行多种类型的多位运算的算术逻辑电路,通过设定可选择性地执行逻辑和、逻辑积、位移位等多种类型的多位运算。各ALU构成为具有用于设定多种运算功能的选择器。在图示的例子中,ALU构成为具有2个输入端子和2个输出端子。
如图所示,可重构电路1 2构成为:纵向配置了X个、横向配置了Y个ALU的X级Y列的ALU阵列。在第1级的ALU11、ALU12、…、ALUlY中,将输入变量或常数输入,进行设定过的规定运算。运算结果的输出根据由第1级的连接部52设定的连接,而被输入到第2级的ALU21、ALU22、…、ALU2Y。在第1级的连接部52中,在第1级ALU列的输出和第2级ALU列的输入间构成接线,以便可以实现任意的连接关系或由预定的连接关系的组合中选择出的连接关系,通过设定,所期望的接线成为有效。以下,到作为最后级的第X级的连接部52为止是同样的构成。ALU列相当于ALU的集合体。
另外,在图3的可重构电路12中,示出了连接部52与ALU列每1级交替设置的构成。通过将该连接部52配置到各ALU列的下级,从而可重构电路12被分割为由每1级的ALU列构成的X级的可重构单元。具体为:1级可重构单元由1级的ALU列和1级的连接部52构成。该分割是按照连接部52所包含的FF电路进行的,例如,在每隔2级ALU列设置连接部52,在用未具有FF电路的连接部连接2级ALU列之间的情况下,被分割为由每2级的ALU列构成的X/2级的可重构单元。此外,还可通过在每个规定级的ALU列设置FF电路,从而可构成所期望级的可重构单元。
电路的配置在1个时钟内进行。具体为:设定部14在每个时钟将设定数据映射到可重构电路12。各ALU列的输出被保持在后级连接部52中。而且,对存储器部27的数据写入及读出,也分别在1个时钟内进行。因此,为了将数据写入存储器27并读出该数据,至少需要相当于ALU列2级份的处理时间。
连接部52具有将由外部或存储器部27提供的变量或常数提供给所期望的ALU的功能。将该功能称为中间输入功能。此外,连接部52还可将前级ALU的计算结果直接输出到外部。将该功能称为中间输出功能。利用该构成,可构成多种组合电路,提高设计的自由度。
图4为用于说明数据流图38的结构的图。在数据流图38中,用图形结构阶段性表现所输入的变量或常数的运算流。图中,算符用圆形标记表示,表现节点。设定数据生成部32生成用于将该数据流图38映射为可重构电路12的设定数据40。在实施例中,在将数据流图38未映射完可重构电路12的情况下,通过将数据流图38分割为多个领域并结合,进一步再分割而生成分割电路的设定数据40。为了在电路上实现数据流图38的运算流,设定数据40成为特定分配运算功能的逻辑电路,还确定逻辑电路间的连接关系,并定义了输入变量或输入常数等的数据。因此,设定数据40构成为包含提供给选择各逻辑电路50功能的选择器的选择信息、设定连接部52接线的连接信息、必要的变量数据或常数数据等。
回到图1,在构成电路时,控制部18从存储部34选择并读出用于构成1个目标电路42的多个设定数据40。在设定部14作为命令寄存器而构成的情况下,控制部18对设定部14赋予程序计数值,设定部14根据该计数值将存储的设定数据作为命令数据设定到可重构电路12。而且,设定部14也可构成为具有高速缓冲存储器或其他类型的存储器。再者,控制部18也可由存储部34接受设定数据40,并将该设定数据40提供给设定部14;也可不通过控制部18而将设定数据预先存储在设定部14中。此时,控制部18控制设定部14的数据读出,以便从预先存储在设定部14中的多个设定数据中,将目标电路42对应的设定数据提供给可重构电路12。
设定部14将设定数据40设定到可重构电路12,逐次再构成可重构电路12的电路。这样,可重构电路12可执行基于目标电路的所期望的运算。作为基本单元,可重构电路12采用有高性能运算能力的ALU,此外,通过将可重构电路12及设定部14构成在1个芯片上,从而例如在1个时钟内可实现高速配置。控制部18具有时钟功能,时钟信号被提供给输出电路22及存储器部27。另外,控制部18还可含有4进计数器,将计数信号提供给设定部14。
图5为表示可重构电路12中的ALU间连接关系的图。而且,在图5中省略了配置于ALU列间的连接部52的图示。在图5所示的可重构电路12中,构成为横向配置了6个、纵向配置了3个ALU的ALU阵列。向第1级的ALU11、ALU12、…、ALU16输入输入变量或常数,进行所设定的规定运算。运算结果的输出,根据第1级的连接部52所设定的连接,而被输入到第2级的ALU21、ALU22、…、ALU26。在第1级的连接部52中,在第1级的ALU列的输出和第2级的ALU列的输入间构成接线,以便实现设置一定的连接限制的连接关系,通过设定,该范围内的所期望的接线成为有效。而且,在第2级的连接部52中也同样。作为最终级的第3级的ALU列输出运算的最终结果。连接部52构成为在ALU级间可连接物理上接近并配置的逻辑电路间。这样,可缩短配线长度,可削减电路规模。其结果是,可实现低耗电化及处理高速化。
在图5所示的可重构电路12中,存在3级×6列的ALU,来自上级的1个ALU的配线被限制到下级的3个ALU。如图所示,下级的1个ALU的输入被限制到直接上级的ALU和直接上级ALU左右的ALU,另外上级的1个ALU的输出被限制到直接下级的ALU和直接下级ALU左右的ALU。例如,若对于ALU22,则其输入被限制在ALU11、ALU12、ALU13的三个方向;其输出被限制在ALU31、ALU32、ALU33的三个方向。此外,如果左或右对应的ALU不存在,则其输入及输出分别被限制在2个方向。通过这样的配线,从而若与可连接上下级所有ALU的情况相比,可大幅度削减配线。
图6示出了本实施例中数据流图38的处理流程。编译部30编译程序36(S10),生成1个以上的数据流图38(S12)。数据流图处理部31对所生成的1个以上的数据流图38以使列数为可重构电路12列数以下的方式进行分割并生成子DFG(S14),调查并决定分割完的多个子DFG的连接关系(S16)。
其后,数据流图处理部31根据多个子DFG的连接关系,结合多个子DFG并生成结合DFG(S18)。此外,数据流图处理部31对通过结合多个子DFG而生成的结合DFG以成为可重构电路12列数以下的方式进行再分割(S20)。设定数据生成部32以再分割过的DFG为基础来生成设定数据40(S22)。设定数据40设定可重构电路12的功能及连接关系等,可重构电路12可通过由设定数据40设定各种功能来执行所期望的电路处理。
图7示出了数据流图处理部31的构成。数据流图处理部31包括:第1DFG分割部60、DFG结合部61及第2DFG分割部62。实施例中的数据流图处理功能在处理装置10中,由CPU、存储器、装载在存储器中的DFG处理用程序等实现,在此,对由这些的协同来实现的功能块进行描述。DFG处理用程序也可内置于处理装置10中,而且也可以存储在记录介质中的形式由外部提供。因此,这些功能块仅由硬件、仅由软件、或由这些的组合以各种形式实现,这是本领域的技术人员可以理解的。
(DFG的分割)
第1DFG分割部60当由编译部30生成的DFG列数超过可重构电路12的逻辑电路的集合体的数时,对DFG进行分割,以使DFG的列数为逻辑电路的集合体数以下。这样,DFG被分割为多个子DFG。
图8示出了超过可重构电路12电路规模的DFG的例子。图中,方块中所示的数字表示节点号。该DFG由12级7列的节点构成。如图5所示,当存在3级6列的ALU时,DFG纵横同时超过ALU电路的大小。最终,需要分割DFG,成为可以映射到ALU电路的大小、即3级6列以下的大小,但在本实施例中,级方向的分割依次向后,最初第1DFG分割部60对DFG进行分割,以使列方向的节点数为6列以下。
第1DFG分割部60,以设列方向为6列以下,而且使用于连接上下级的节点不超过6列的方式,分割图8所示的7列DFG,生成子DFG。此时,如图5所示,在ALU间设置3方向的连接限制。
在图8中,对第3级和第4级之间的连接关系进行研究。由于节点21连接节点15及节点17,故如图所示需要配置在第2列中。在第4级中,从第2列的节点21到第6列的节点25被无空隙地配置,而节点25与第7列的节点20连接。因此,第4级的ALU相对第3级7列的ALU连接。因此,可知第3级的ALU列与第4级的ALU列间不能直接连接,需要在上下方向分割。
同样,对第6级和第7级间的连接关系进行研究。在第7级中,从节点41到节点47被无空隙地配置,若从第6级看,则从节点34到节点39的输出被连接于第7级的7个ALU。因此,第6级的ALU相对第7级7列的ALU成为被连接状态。因此,可知第6级的ALU列和第7级的ALU列间不能直接连接,而需要分割。以上处理由第1DFG分割部60执行。
图9示出了分割图8所示的DFG而生成的6个子DFG。第1DFG分割部60以使列数为6以下的方式生成子DFG。而且,子DFG尽可能靠左侧及上侧那样地生成节点。子DFG38a~38f以仅将列方向设为6列以下的方式生成,而不设级方向的限制。
(决定子DFG连接关系)
DFG结合部61调查多个子DFG的连接关系。例如,在其它子DFG38c的输入需要子DFG38a的输出的情况下,子DFG38a的输出被定为存在与数据流图38c的输入连接的关系。DFG结合部61调查这种子DFG间的连接关系。
图10示出了图9中所示的由DFG结合部61确定的子DFG的连接关系。在此,将子DFG看做1个块,确定块间的连接关系。在该连接关系图中,从上级至下级表示处理流程。在子DFG38a和子DFG38b间无连接关系。子DFG38a的输出连接到子DFG38c及子DFG3 8d的输入,子DFG38b的输出连接到子DFG38c的输入。另外,子DFG38c的输出连接到子DFG38e及子DFG38f的输入。而且,该连接关系可以由图8所示的DFG间的节点间的连接导出。
(子DFG的结合)
图11示出了结合子DFG的流程。而且,对于将子DFG配置在假想节点空间中的具体处理,在图12的流程中示出。首先,以图10所示的连接关系图为基础,将子DFG分类为具有输入到其它子DFG的输出的DFG群(DFG群1),和不具有输入到其它子DFG的输出的DFG群(DFG群2)(S102)。在图10中,子DFG38a的输出成为DFG38c、38d的输入,子DFG38b的输出成为DFG38c的输入,子DFG38c的输出成为DFG38e、38f的输入。因此,子DFG38a、38b、38c属于DFG群1;子DFG38d、38e、38f由于其输出不被输入其他的子DFG,故属于DFG群2。
属于DFG群1的子DFG,由于存在需要其输出的其它子DFG,故为了减小结合子DFG而生成的结合DFG的规模,最好尽可能配置在上级。这是因为在DFG群1的子DFG的下方,需要进一步结合子DFG群2的子DFG。另一方面,属于DFG群2的子DFG,如果为可接收自身的输入数据的位置,则也可基本上配置在任何地方。因此,在本实施例中,在DFG群1的结合处理后,执行DFG群2的结合处理。这样,可将属于DFG群2的子DFG,配置结合到已配置好的子DFG间的间隙等中,可减少结合而生成的结合DFG的级数。因此,由于最终可将再分割结合DFG而生成的子结合DFG的个数减少,故可提高映射到可重构电路12的处理的效率。
在DFG群1中,按照图10所示的连接关系的各级,按节点数从大到小的顺序搜索子DFG(S104)。若比较DFG群1的第1级的子DFG38a、38b的节点数,则子DFG38a的节点数为17、子DFG38b的节点数为3,子DFG38a的节点数多。因此,在DFG群的第1级中,设定子DFG38a、子DFG38b的顺序。由于第2级仅为子DFG38c,故不需要搜索节点数从大到小的顺序。设m为DFG群1的连接关系的总级数(S106)。DFG群1由第1级的子DFG38a、38b和第2级的子DFG38c构成,因此,DFG群1的总级数m为2。设i=1(S108)、j=1(S110),设n为DFG群1的连接关系第i级的DFG总数(S112)。由于DFG群1的第1级的子DFG的总数为2,故设置n为2。
选择DFG群1的连接关系的第i级、第j个的子DFG(S114)。在此,首先选择第1级第1个的子DFG38a。接着,对所选择的子DFG38a执行结合处理(S120)。关于结合处理,关联图12在后叙述。
在结合处理后,判断j是否达到n(S122)。在此,由于j=1、n=2(S122为否),对j加1(S124),返回S114。在S114中,选择DFG群1的第1级第2个的子DFG38b,进行结合处理。其后,为j=n(S122为是),判断i是否达到m(S126)。由于i=1、m=2(S126为否),故对i加1(S128),返回S110,将j设为1。此外,第2级的DFG总数n设为1。
选择第2级第1个的子DFG38c,在进行结合处理后,由j=1、n=1(S122为是),判断i是否达到m(S126)。i=2、m=2(S126为是),由此,结束属于DFG群1的所有子DFG的结合。
下面,进行属于DFG群2的子DFG的结合。在DFG群2中,按节点数从大到小的顺序搜索属于DFG群2的所有子DFG(S130)。属于DFG群2的子DFG38d的节点数为4、子DFG38e的节点数为23,子DFG38f的节点数为4。而且,子DFG38d、38f的节点数相等,无论先结合哪方的子DFG38均可,但在该例中,设DFG38d为DFG38f前面的顺序,结果,设定子DFG38e、子DFG38d、子DFG38f的顺序。其后,设m为DFG群2的总数(S132)。在此,m=3。此外,设i为1(S134)。
按设定过的顺序,选择DFG群2的第i个子DFG(S136)。在此,选择DFG群2中的第1个子DFG38e。对该子DFG38e进行结合处理(S140)。结合处理后,判断i是否达到m(S142)。由于i=1、m=3(S142为否),对i加1,返回136。反复该处理,选择第2个子DFG38d进行结合处理,此外,通过选择第3个子DFG38f并进行结合处理,i到达m(S142为是)。通过上述过程,所有子DFG的结合结束。
在本实施例中,通过使DFG群1比DFG群2先结合,结果,全部按子DFG38a、子DFG38b、子DFG38c、子DFG38e、子DFG38d、子DFG38f的顺序进行结合处理。
再者,在DFG群1及DFG群2双方中,在本实施例中,由上级的子DFG开始进行结合处理。由此,新结合处理的子DFG的输入数据可定为已进行结合处理的子DFG的输出或外部输出,可降低聚齐输入数据的定时时间延迟。这是因为DFG处理是以从上向下进行运算的方式来执行的。由此,在可重构电路12中的配置处理中,可将数据读出等待等控制在最小限度内,可高效地做成设定数据。
图12示出了在图11的S120及S140中所示的结合处理的流程。在结合处理中,在使列数与可重构电路12的列数一致的假想节点空间中结合配置子DFG。
图13示出了设列数为6、级数为无限的假想节点空间。在结合处理中,以纳入该节点空间的方式,将子DFG配置下去。而且,将横向(列方向)设为x轴、纵向(级方向)设为y轴。
最初,表示第1子DFG38a的结合处理的顺序。在子DFG38a的结合处理中,不存在配置于假想节点空间中的其它子DFG。首先,选择进行结合处理的子DFG的最上级、最左边的节点(S200)。最初进行结合处理的子DFG38a最上级、最左边节点是节点号为1的节点(参照图9)。其后,设y=1(S202)、x=1(S204)。接着,判断配置位置(x,y)是否已配置了其他节点(S206)。子DFG38a由于是最初配置的DFG,故不存在配置于(1,1)的节点。在(x,y)位置未配置有其他节点的情况下(S206为否),当将最上级且最左边的节点配置为(x,y)时,调查子DFG38a的所有节点是否可配置(S208)。
在配置调查中设定以下条件。
(1)配置的子DFG不超过图13所示的假想节点空间。
(2)相对于新配置的子DFG的节点所输入的数据全部齐备。
(3)满足输入输出限制等可重构电路特有的限制。
条件(3)如图5所示,包括来自ALU的输入输出被限制在同列及左右列3个方向。
而且,配置的子DFG之间需维持图8所示的原DFG中的运算关系。再者,对已经配置的节点,通过错开配置位置,而在可配置节点的情况下,通过对所有可配置的情况进行配置调查,还可从所有事前准备好的任意选择的答案中选择高效的配置。例如,子DFG38a不具有可将节点1配置在(1,1)情况以外的位置,但例如在其它的子DFG中,在既可配置在(1,1)又可配置在(2,1)的情况下,进行针对各自情况的结合处理,也可选择最终所生成的结合DFG的级数少的位置。
在配置调查中,调查上述条件对结合处理的子DFG所有节点是否满足(S210)。在将节点1配置在(1,1)位置的情况下,可配置子DFG38a的所有节点。在可配置所有节点的情况下(S210为是),将子DFG38a的节点配置到假想节点空间(S218),结束第1子DFG38a的结合处理。
接着,示出第2子DFG38b的结合处理顺序。作为子DFG38b的最上级、最左边的节点,选择存在的节点号7的节点(S200)。其后,设y=1(S202)、x=1(S204)。下面,判断节点7的配置位置(x,y)是否已配置了其它的节点(S206)。
在该情况下,子DFG38a已经配置结束,节点1已被配置在(1,1)的位置(S206为是)。此时,由于x=1,未达到Xmax的6(S212为否),对x加1(S216),判断在(2,1)位置是否配置了其它的节点(S206)。该处理将x增量,持续到x=6为止(S212为是)。接着,对y加1(S214),另外设x=1(S204)。反复该处理直到找到其它节点未被配置的(x,y)。若反复该搜索处理,则判断为其它节点未被配置到(6,3)位置(S206为否)。其后,当将DFG38b的节点7配置到(6,3)时,调查DFG38b的其它所有节点是否可配置(S208)。在该情况下,由于所有节点为可配置(S210为是),故将子DFG38b配置到假想节点空间(S218),结束子DFG38b的结合处理。
下面,示出第3子DFG38c的结合处理顺序。作为子DFG38c最上级、最左边的节点,选择存在的节点号21的节点(S200)。其后,设y=1(S202)、x=1(S204)。下面,判断在节点21的配置位置(x,y)是否已配置了其它的节点(S206)。
在该情况下,子DFG38a及子DFG38b已经配置结束,因此,如果搜索(x,y),在(6,3)位置以前,配置有其它节点(S206为是)。搜索的结果,判断为在(1,4)位置可配置节点21(S206为否)。
此时,在(1,4)位置配置节点21,由于节点27从假想节点空间溢出,故不合适。此外,节点21将节点1 5和节点1 7的输出作为输入(参照图8),若将节点21配置到(1,4),则由于ALU的输入输出限制,能连接节点15,而不能与节点17连接。如上所述,节点21不能配置到(1,4)。此外,由于节点25和节点14重叠,故节点21也不能配置在(2,4)。因此,可知节点25不能配置在第4级。
在不能直接连接节点间的情况下,节点的输出数据一次被存储到存储部27中。由于经过存储器部27将输出数据输入到所期望的ALU,如果考虑存储器部27写入和读出所需要的时间,则至少需要2个时钟的时间。这样,将可重构电路12的逻辑电路的输出数据一次写入存储器部27,在读出该数据并输入不同或相同的逻辑电路时,产生时间延迟。在可重构电路12中,由于ALU列的1级部分的运算处理需要1个时钟,因此一次存储到存储器部27并再次读出的处理,至少相当于ALU2级份的运算处理时间。
在本实施例中,通过考虑向存储器部27的写入及读出时间来配置节点,从而在节点的处理时一定能产生输入数据齐备的情况。这样,由于在可无间隙地处理DFG的同时,可在数据等待期间执行其它的运算处理,故可缩短整体的处理时间,可提高处理性能。并且还有可降低消耗电力的优点。
在这种情况下,由于节点15、节点17被配置在第3级,故如果不能将节点21配置在第4级,则节点21必须配置在第6级以后。这样,新结合的子DFG的节点位置,通过从已经配置的节点位置,空出相当于时间延迟部分的ALU列的级数以上的级数来决定。在进行(x,y)的搜索、将节点21配置在(2,6)位置的情况下,可将子DFG38c的所有节点配置到假想节点空间中(S210为是)。此时,节点25与节点20连接。这样,在不通过来自存储部27的读出处理的情况下,子DFG的结合处理以维持子DFG间的节点连接的方式来进行。如上所述,将子DFG38c配置到假想空间(S218),结束子DFG38c的结合处理。
下面,示出第4子DFG38e的结合处理顺序。选择作为子DFG38e的最上级、最左边的节点存在的节点号41的节点(S200)。以下,若执行S202以后的处理,则当将节点41配置到(1,9)位置时,节点41~46可与直接上面的级的节点连接,可配置子DFG38e的所有节点(S210为是)。将子DFG38e配置到假想空间(S218),结束子DFG38e的结合处理。
下面,示出第5子DFG38d的结合处理顺序。选择作为子DFG38d的最上级、最左边的节点存在的节点号26的节点(S200)。节点26将来自节点19的输出数据作为输入。因此,可配置节点26的位置,需要是根据ALU的输入输出限制关系,由节点19直接接受输出数据(4,4)、(5,4)、(6,4)的位置,或在一次存储到存储器27、之后从中读出的情况下为第6级以后的位置。若执行S202以后的处理,则当将节点26配置到(1,10)位置时,可配置子DFG38d的所有节点(S210为是)。以上,将子DFG38d配置到假想节点空间(S218),结束子DFG38d的结合处理。
最后,示出第6子DFG38f的结合处理顺序。选择作为子DFG38f的最上级、最左边的节点存在的节点号47的节点(S200)。节点47将来自节点39的输出数据作为输入。因此,可配置节点47的位置需要是:根据ALU的输入输出限制关系;由节点39直接接受输出数据(5,9)、(6,11)的位置;或在一次存储到存储器27、之后从中读出的情况下,为第11级以后的位置。若执行S202以后的处理,则当将节点47配置到(6,11)位置时,可配置子DFG38f的所有节点(S210为是)。以上,将子DFG38f配置到假想节点空间(S218),结束子DFG38f的结合处理。
图14示出了结合处理结果、所生成的结合DFG。结合DFG的列数设定为可重构电路12的列数以下。为了提高向可重构电路12映射的效率,结合DFG的列数确定为等于可重构电路12的列数。
在本实施例中,分别在DFG群1和DFG群2中,按子DFG所包含的节点数由多到少的顺序进行配置处理。通过将节点数少的子DFG从后配置结合,从而可提高在结合处理子DFG空余的间隙有效配置节点数少的子DFG的可能性,可减少结合DFG的级数。在本实施例中,比子DFG38f还先配置子DFG38e,但若先配置子DFG38f,则子DFG38e的位置移到下方,所以结合DFG的级数增加。
根据以上处理,通过可以减少结合DFG的级数,从而可缩短处理时间,可提高处理性能。还具有减小消耗电力的优点。而且,由于可减少指令数据量,故可减小指令存储器而构成,因此可减小电路规模。
(结合的DFG的再分割)
回到图7,第2 DFG分割部62进行分割,以使在DFG结合部61中结合的结合DFG纳入可重构电路12的级数。由于ALU列的级数为3级(参照图5),故每3级分割结合DFG。如图14所示,结合DFG由虚线部分分割,最终形成5个子结合DFG。在图示的例子中,生成DFGi、DFGii、DFGiii、DFGiv、DFGv。而且,所生成的子结合DFG如果按原结合DFG中的顺序处理,则不产生数据等待。因此,子结合DFG的处理顺序可由上层自动决定,不需要再次研究处理顺序。如节点7和节点14那样,跨越虚线部分的接点间的数据,通过路径部24,不经存储器部27反馈到可重构电路12。这样,在由第3级接收第4级的数据的过程中不产生数据等待时间。
每3级分割的子结合DFG被存储在存储部34中。设定数据生成部32由子DFG分别生成设定数据。而且,所分割的子结合DFG也可直接供给到设定数据生成部32。
以上,以实施例为基础说明了本发明。实施例是示例,对于这些各构成要素或各处理程序的组合可有各种变形例,此外,这样的变形例也在本发明的范围内,这是本领域的技术人员可以理解的。
例如,可重构电路12中的ALU的排列不限于仅允许纵方向连接的多级排列,还可以是允许横方向的连接的网状排列。此外,在上述说明中,不设置越过级而连接逻辑电路的接线,但也可作为设置这种跃过级的连接接线的构成。
此外,在图1中,示出了处理装置10具有1个可重构电路12的情况,也可具有多个可重构电路12。例如,即使在生成如图5所示的连接关系图的情况下,由连接关系图可知横并列处理的DFG,故在存在3个可重构电路12的情况,可同时处理第2级的3个DFG,可缩短数据处理时间。
本次公开的实施例应被认为在所有点上都是示例,而并非限制。本发明的范围不是由上述说明而是由技术方案范围所示,意在包含与专利请求范围均等意义及范围内的所有变更。
Claims (11)
1.一种数据流图处理方法,其是处理具备多个功能可变的逻辑电路集合体的可重构电路的动作设定所需的数据流图的方法,其特征在于,具有:
以记述处理动作的动作记述为基础,生成表现运算间执行顺序的依赖关系的1个以上数据流图的步骤;
根据可重构电路集合体内的逻辑电路数量,将所生成的1个以上的数据流图分割为多个子数据流图的第1分割步骤;和
结合多个子数据流图,以生成结合数据流图的结合步骤。
2.根据权利要求1所述的数据流图处理方法,其特征在于,还具有:
分割结合数据流图,以使分割的子结合数据流图的级数成为可重构电路的逻辑电路集合体个数以下的方式生成多个子结合数据流图的第2分割步骤。
3.根据权利要求1或2所述的数据流图处理方法,其特征在于,
在可重构电路具有1级以上的逻辑电路的连接结构的情况下,
第1分割步骤以使子数据流图的列数成为可重构电路每1级的逻辑电路个数以下的方式分割数据流图。
4.根据权利要求1至3中任意一项所述的数据流图处理方法,其特征在于,
在可重构电路具有1级以上的逻辑电路的连接结构的情况下,
结合步骤以使结合数据流图的列数成为可重构电路每1级的逻辑电路个数以下的方式结合多个子数据流图。
5.根据权利要求2所述的数据流图处理方法,其特征在于,
在可重构电路具有1级以上的逻辑电路的连接结构的情况下,
第2分割步骤以使子结合数据流图的级数成为可重构电路级数以下的方式生成多个子结合数据流图。
6.根据权利要求1至4中任意一项所述的数据流图处理方法,其特征在于,
还包括调查多个子数据流图的连接关系的调查步骤;
结合步骤根据调查步骤所调查出的连接关系,结合多个子数据流图。
7.根据权利要求6所述的数据流图处理方法,其特征在于,
结合步骤根据所调查出的连接关系,确定子数据流图结合的顺序。
8.根据权利要求1至7中任意一项所述的数据流图处理方法,其特征在于,
数据流图中包含有表现逻辑电路功能的节点,
结合步骤以维持分割后的子数据流图间的节点连接的方式,结合多个子数据流图。
9.根据权利要求1至7中任意一项所述的数据流图处理方法,其特征在于,
数据流图中包含有表现逻辑电路功能的节点,在将可重构电路的输出数据、将可重构电路的逻辑电路的输出输入到不同或相同的逻辑电路时,伴随时间延迟的情况下,
结合步骤通过从已经配置的该节点的位置空出相当于时间延迟部分的可重构电路的集合体个数部分以上的级数,而决定需要已构成结合数据流图的节点的输出数据的新结合的子数据流图中节点的位置。
10.一种可重构电路,其特征在于,该电路根据由权利要求1至9中任意一项所述的数据流图处理方法的结果得到的数据而动作。
11.一种处理装置,其特征在于,包括:
具备多个功能可变的逻辑电路集合体的可重构电路;
以记述了处理动作的动作记述为进出,生成表现运算间执行顺序的依赖关系的1个以上的数据流图的编译部;
数据流图处理部,其根据可重构电路集合体内的逻辑电路的个数,将生成的1个以上的数据流图分割为多个子数据流图,生成结合这些的结合数据流图,并分割结合数据流图,以使分割的子结合数据流图的级数成为可重构电路的逻辑电路集合体个数以下的方式,生成多个子结合数据流图;和
根据子结合数据流图,生成在可重构电路中进行功能设定用的设定数据的设定数据生成部。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004182516A JP4275013B2 (ja) | 2004-06-21 | 2004-06-21 | データフローグラフ処理装置、処理装置、リコンフィギュラブル回路。 |
JP2004182516 | 2004-06-21 | ||
JP2004-182516 | 2004-06-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1713185A true CN1713185A (zh) | 2005-12-28 |
CN1713185B CN1713185B (zh) | 2010-09-08 |
Family
ID=35033367
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2005100786053A Active CN1713185B (zh) | 2004-06-21 | 2005-06-20 | 数据流图处理方法、可重构电路及处理装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7895586B2 (zh) |
EP (1) | EP1610242A3 (zh) |
JP (1) | JP4275013B2 (zh) |
CN (1) | CN1713185B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102282558A (zh) * | 2008-11-14 | 2011-12-14 | 新思公司 | 多速率系统折叠中的非折叠算法 |
CN103380427A (zh) * | 2010-11-09 | 2013-10-30 | 芯片工程公司 | 使用飞行路线的电路可视化 |
CN112269581A (zh) * | 2020-12-24 | 2021-01-26 | 北京清微智能科技有限公司 | 一种可重构芯片的内存耦合编译方法及系统 |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7464375B2 (en) * | 2004-06-24 | 2008-12-09 | International Business Machines Corporation | Method for flattening hierarchically structured flows |
US7941794B2 (en) * | 2004-08-30 | 2011-05-10 | Sanyo Electric Co., Ltd. | Data flow graph processing method and processing apparatus provided with reconfigurable circuit |
JP4562679B2 (ja) * | 2006-03-30 | 2010-10-13 | 三洋電機株式会社 | データフローグラフ生成装置 |
JP4562678B2 (ja) * | 2006-03-30 | 2010-10-13 | 三洋電機株式会社 | データフローグラフ再構成装置、リコンフィギュラブル回路の設定データ生成装置、及び処理装置 |
DE102006027181B4 (de) * | 2006-06-12 | 2010-10-14 | Universität Augsburg | Prozessor mit internem Raster von Ausführungseinheiten |
US8377934B2 (en) * | 2006-06-27 | 2013-02-19 | State Of Israel, Ministry Of Agriculture & Rural Development, Agricultural Research Organization | Use of stilbene derivatives for treatment and prevention of aquatic mold infections |
WO2009001368A2 (en) * | 2007-06-28 | 2008-12-31 | Indian Institute Of Science | A method and system-on-chip fabric |
JP4989354B2 (ja) * | 2007-08-09 | 2012-08-01 | 三洋電機株式会社 | データフローグラフ生成装置、設定データ生成装置、処理装置、及びデータフローグラフ生成方法 |
US20090112570A1 (en) * | 2007-10-26 | 2009-04-30 | Microsoft Corporation | Declarative model interpretation |
US20110099562A1 (en) * | 2008-07-01 | 2011-04-28 | Morphing Machines Pvt Ltd | Method and System on Chip (SoC) for Adapting a Reconfigurable Hardware for an Application at Runtime |
JP5056644B2 (ja) | 2008-07-18 | 2012-10-24 | 富士通セミコンダクター株式会社 | データ変換装置、データ変換方法及びプログラム |
JP4635082B2 (ja) * | 2008-09-30 | 2011-02-16 | 株式会社東芝 | マルチプロセッサシステム及びグルーピング方法 |
JP5525541B2 (ja) | 2008-12-02 | 2014-06-18 | アビニシオ テクノロジー エルエルシー | データ管理システム内のデータセットのインスタンスのマッピング |
KR101693229B1 (ko) * | 2009-02-13 | 2017-01-05 | 아브 이니티오 테크놀로지 엘엘시 | 데이터 저장 시스템과의 통신 |
JP5599987B2 (ja) * | 2009-06-12 | 2014-10-01 | スパンション エルエルシー | 多重化用補助peおよび半導体集積回路 |
US8214313B1 (en) * | 2009-09-04 | 2012-07-03 | Ford Motor Company | Turn rate calculation |
KR101656813B1 (ko) * | 2009-09-16 | 2016-09-12 | 아브 이니티오 테크놀로지 엘엘시 | 데이터세트 요소의 매핑 |
CA2782414C (en) * | 2009-12-14 | 2021-08-03 | Ab Initio Technology Llc | Specifying user interface elements |
US8364946B2 (en) * | 2010-03-22 | 2013-01-29 | Ishebabi Harold | Reconfigurable computing system and method of developing application for deployment on the same |
US8555265B2 (en) * | 2010-05-04 | 2013-10-08 | Google Inc. | Parallel processing of data |
EP2633398B1 (en) | 2010-10-25 | 2020-05-27 | Ab Initio Technology LLC | Managing data set objects in a dataflow graph that represents a computer program |
US9747187B2 (en) * | 2010-10-27 | 2017-08-29 | International Business Machines Corporation | Simulating black box test results using information from white box testing |
EP2663937B1 (en) | 2011-01-14 | 2018-08-29 | Ab Initio Technology LLC | Managing changes to collections of data |
JP5907607B2 (ja) * | 2011-02-16 | 2016-04-26 | キヤノン株式会社 | 処理配置方法及びプログラム |
US20130218866A1 (en) * | 2012-02-20 | 2013-08-22 | Microsoft Corporation | Multimodal graph modeling and computation for search processes |
US10489360B2 (en) | 2012-10-17 | 2019-11-26 | Ab Initio Technology Llc | Specifying and applying rules to data |
US9811233B2 (en) | 2013-02-12 | 2017-11-07 | Ab Initio Technology Llc | Building applications for configuring processes |
JP6141073B2 (ja) * | 2013-04-02 | 2017-06-07 | キヤノン株式会社 | 情報処理装置及び情報処理装置の制御方法 |
US9195570B2 (en) | 2013-09-27 | 2015-11-24 | International Business Machines Corporation | Progressive black-box testing of computer software applications |
WO2015094269A1 (en) * | 2013-12-19 | 2015-06-25 | Hewlett-Packard Development Company, L.P. | Hybrid flows containing a continuous flow |
JP6457622B2 (ja) | 2014-07-18 | 2019-01-23 | アビニシオ テクノロジー エルエルシー | パラメータの集合の管理 |
US9626393B2 (en) | 2014-09-10 | 2017-04-18 | Ab Initio Technology Llc | Conditional validation rules |
US9529587B2 (en) * | 2014-12-19 | 2016-12-27 | Intel Corporation | Refactoring data flow applications without source code changes or recompilation |
US10191724B2 (en) * | 2016-10-21 | 2019-01-29 | Intel Corporation | Compiler-based instruction scoreboarding |
WO2018169911A1 (en) * | 2017-03-14 | 2018-09-20 | Yuan Li | Reconfigurable parallel processing |
US11423083B2 (en) | 2017-10-27 | 2022-08-23 | Ab Initio Technology Llc | Transforming a specification into a persistent computer program |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5514436A (en) * | 1994-08-29 | 1996-05-07 | Xerox Corporation | Endless puzzle cut seamed belt |
US5487707A (en) * | 1994-08-29 | 1996-01-30 | Xerox Corporation | Puzzle cut seamed belt with bonding between adjacent surfaces by UV cured adhesive |
US6311595B1 (en) * | 1996-09-26 | 2001-11-06 | Xerox Corporation | Process and apparatus for producing an endless seamed belt |
JPH10256383A (ja) | 1997-03-12 | 1998-09-25 | Toshiba Corp | 半導体装置及びその回路構成方法 |
US6368440B1 (en) * | 2000-03-22 | 2002-04-09 | Xerox Corporation | Method for fabricating a flexible belt with a puzzle-cut seam |
US6440515B1 (en) * | 2000-09-29 | 2002-08-27 | Xerox Corporation | Puzzle-cut on puzzle-cut seamed belts |
US6488798B1 (en) * | 2000-11-28 | 2002-12-03 | Xerox Corporation | Method of making imageable seamed intermediate transfer belts having burnished seams |
US20020074520A1 (en) * | 2000-12-15 | 2002-06-20 | Xerox Corporation | Substantially seamless electrostatographic member fabrication apparatus |
US20020074082A1 (en) * | 2000-12-15 | 2002-06-20 | Xerox Corporation | Fabrication method for an electrostatographic member having a virtual flexible seamless substrate (subtantially seamless electrostatographic member fabrication method with interlock) |
US6681671B2 (en) * | 2002-03-07 | 2004-01-27 | Xerox Corporation | Method and system for cutting puzzle cut petals in belts |
GB0224023D0 (en) * | 2002-10-16 | 2002-11-27 | Roysmith Graeme | Reconfigurable integrated circuit |
US6983456B2 (en) * | 2002-10-31 | 2006-01-03 | Src Computers, Inc. | Process for converting programs in high-level programming languages to a unified executable for hybrid computing platforms |
US7299458B2 (en) * | 2002-10-31 | 2007-11-20 | Src Computers, Inc. | System and method for converting control flow graph representations to control-dataflow graph representations |
US6964029B2 (en) * | 2002-10-31 | 2005-11-08 | Src Computers, Inc. | System and method for partitioning control-dataflow graph representations |
US7155708B2 (en) * | 2002-10-31 | 2006-12-26 | Src Computers, Inc. | Debugging and performance profiling using control-dataflow graph representations with reconfigurable hardware emulation |
US8281297B2 (en) * | 2003-02-05 | 2012-10-02 | Arizona Board Of Regents | Reconfigurable processing |
-
2004
- 2004-06-21 JP JP2004182516A patent/JP4275013B2/ja active Active
-
2005
- 2005-06-16 EP EP05105338A patent/EP1610242A3/en not_active Withdrawn
- 2005-06-20 US US11/155,667 patent/US7895586B2/en active Active
- 2005-06-20 CN CN2005100786053A patent/CN1713185B/zh active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102282558A (zh) * | 2008-11-14 | 2011-12-14 | 新思公司 | 多速率系统折叠中的非折叠算法 |
CN103380427A (zh) * | 2010-11-09 | 2013-10-30 | 芯片工程公司 | 使用飞行路线的电路可视化 |
CN103380427B (zh) * | 2010-11-09 | 2016-05-18 | 芯片工程公司 | 使用飞行路线的电路可视化 |
CN112269581A (zh) * | 2020-12-24 | 2021-01-26 | 北京清微智能科技有限公司 | 一种可重构芯片的内存耦合编译方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN1713185B (zh) | 2010-09-08 |
US7895586B2 (en) | 2011-02-22 |
EP1610242A2 (en) | 2005-12-28 |
EP1610242A3 (en) | 2011-06-08 |
JP4275013B2 (ja) | 2009-06-10 |
US20050283768A1 (en) | 2005-12-22 |
JP2006004345A (ja) | 2006-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1713185A (zh) | 数据流图处理方法、可重构电路及处理装置 | |
US7953956B2 (en) | Reconfigurable circuit with a limitation on connection and method of determining functions of logic circuits in the reconfigurable circuit | |
Villasenor et al. | The flexibility of configurable computing | |
US8281265B2 (en) | Method and device for processing data | |
CN100352165C (zh) | 半导体集成电路 | |
CN1241275A (zh) | 配置逻辑器件阵列的方法和系统 | |
CN1434380A (zh) | 图像处理装置和方法以及用于该装置的编译程序 | |
CN1143860A (zh) | 逻辑合成方法、半导体集成电路和运算电路 | |
CN1541355A (zh) | 数据处理系统以及控制方法 | |
Hagemeyer et al. | Design of homogeneous communication infrastructures for partially reconfigurable fpgas. | |
CN1881223A (zh) | 具有可重定位处理器硬核的集成电路 | |
DeHon | Fundamental underpinnings of reconfigurable computing architectures | |
CN1212400A (zh) | 数据处理装置 | |
CN1725642A (zh) | 可编程逻辑电路装置和可编程逻辑电路重配置方法 | |
CN101043213A (zh) | 一种现场可编程逻辑阵列布线资源结构及其建模方法 | |
Wu et al. | Orthogonal greedy coupling: a new optimization approach to 2-D FPGA routing | |
CN1894692A (zh) | 基于模板的领域特定的可重构逻辑 | |
Marconi | Online scheduling and placement of hardware tasks with multiple variants on dynamically reconfigurable field-programmable gate arrays | |
CN1702658A (zh) | 基于知识产权的大型集成电路设计系统及设计方法 | |
Sedcole et al. | A reconfigurable platform for real-time embedded video image processing | |
CN1133454A (zh) | 半导体集成电路 | |
CN1760879A (zh) | 可编程核版图自动生成方法 | |
CN1271786C (zh) | 可编程逻辑器件结构建模方法 | |
CN1577634A (zh) | 半导体装置 | |
Fekete et al. | Minimizing communication cost for reconfigurable slot modules |
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 | ||
ASS | Succession or assignment of patent right |
Owner name: INTELLECTUAL PROPERTY BRIDGE NO. 1 CO., LTD. Free format text: FORMER OWNER: SANYO ELECTRIC CO., LTD. Effective date: 20140530 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20140530 Address after: Tokyo, Japan Patentee after: GODO KAISHA IP BRIDGE 1 Address before: Japan Osaka Patentee before: Sanyo Electric Co., Ltd. |