CN101266592A - 可重新配置的电路及其设置方法和可重新配置的电路系统 - Google Patents
可重新配置的电路及其设置方法和可重新配置的电路系统 Download PDFInfo
- Publication number
- CN101266592A CN101266592A CNA2008100063965A CN200810006396A CN101266592A CN 101266592 A CN101266592 A CN 101266592A CN A2008100063965 A CNA2008100063965 A CN A2008100063965A CN 200810006396 A CN200810006396 A CN 200810006396A CN 101266592 A CN101266592 A CN 101266592A
- Authority
- CN
- China
- Prior art keywords
- bit
- alu
- logical operation
- control signal
- 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.)
- Pending
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
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)
- Logic Circuits (AREA)
Abstract
Description
技术领域
本发明涉及能够重新配置的可重新配置电路、可重新配置电路系统及可重新配置电路的设置方法。更具体地说,本发明涉及一种处理器,其中,由ALU(代表算术逻辑单元)等构成的各个基本单元以阵列形式排列。
背景技术
目前,存在多种无线电通信系统(在下文中称为“无线电通信模式”),例如诸如PDC(个人数字蜂窝)、GSM(全球移动通信系统)的所谓第二代无线电通信系统,诸如W-CDMA(宽带码分多址)的第三代无线电通信系统和PHS(个人手持系统)以及无线电LAN(局域网)。作为用于利用单个无线电设备处理那些多种无线电通信模式的技术,存在通过重写软件(对数据进行编程)来改变设备功能的软件无线电技术。此外,存在诸如JPEG、MPEG和H.264AVC的多种图像压缩模式,诸如AAC(先进音频编码)、WMA(视窗媒体音频)、MP3(MPEG1音频第三层)、SD-Audio和ATRAC3(+)的多种音频压缩模式和诸如杜比数码(Dolby Digital)的5.1声道环绕模式。此外,在将来,这些模式的种类有望继续增加。进一步,还存在可以利用单个播放器处理多种压缩或环绕模式的多媒体终端。
为了转换模式(在无线电通信模式之间执行切换的时候,在再现不同压缩格式的内容的时候等),传统的软件无线电设备或多媒体终端通过利用通常为微处理器(MPU)的中央控制单元,来执行与各种模式相对应的程序。作为替代,传统的软件设备或多媒体终端定制为了补偿性能不足而装载的针对各种模式的电路(定制ASIC或DSP)。最近,通过利用所谓SoC(片上系统)来提供那些功能成为主流,所述SoC例如为在包括装载在单个芯片上的MPU(微处理单元)、ASIC(特定用途集成电路)和DSP(数字信号处理器)的系统LSI。
在采用SoC的情况下,只装载与设计阶段预先确定的模式相对应的电路。因此,在很多情况下,就处理能力和处理模式而言,不可能在制造或上市之后增加新模式。为此,可重新配置电路被预先装载到SoC中以便克服这样的问题(例如参见日本出版的专利文献(日本未审专利公开2004-221997))。
可重新配置电路就安装面积、功耗、进行电路重新配置所需时间而言优于PLD(可编程逻辑器件)和FPGA(现场可编程门阵列)。进一步,可重新配置电路优于微处理器,通常为VLIW(超长指令字)技术,因为它能同时执行多个对象和函数(例如参见日本出版的专利文献(未审专利公开2004-102988))。
传统的可重新配置电路包括以阵列形式排列的基本单元,各个基本单元由ALU(算术逻辑单元)等构成,其中各单元的输入/输出通过网络来协调,以执行处理。当可重新配置电路被安装到SoC并执行给定模式(应用)时,例如,可以通过ALU的网络有效地执行滤波计算的纯数据路径部分。然而,实际上,除了具有数据路径部分,还必需具有控制部分来处理数据路径部分的启动操作、对寄存器生成使能信号等。通常,在很多情况下,控制部分由计数器逻辑等构成。在控制部分,例如,即使在生成1比特宽度的使能信号时,也会占用ALU的大量比特。因此,电路变得极端冗余,导致电路规模扩张。
将以示例的方式,通过参照4比特宽度的可重新配置电路来描述这一点。图25中示出的可重新配置电路X’中的每个单元10由ALU 4构成。在传统的可重新配置电路X’中,例如,需要彼此不同的ALU(不同的单元)来实现以下两个逻辑运算。结果是,需要至少六个单元10和四个开关20。
c=a&b---(a与b的AND运算)
f=d&e---(d与e的AND运算)
作为该算法,由于电路结构,即使信号为1比特信号,那么利用传统可配置电路,4比特的ALU 4也被分派给信号a、b、c、d、e和f中的每一个。因此,额外的3比特完全是多余的,这成为导致电路规模增加的因素。
同时,为了解决这样的问题,也已经考虑了额外装载针对1比特逻辑所定制的电路的所谓异类可重新配置电路(heterogeneous reconfigurablecircuit)。然而,利用异类可配置电路难以确定1比特逻辑的数目与能处理任何模式的ALU的最佳数目之比。无论如何,这都可能导致装载大量单元。进一步,异类可重新配置电路也对可重新配置电路的设置施加约束,使得不能解决逻辑电路和布线的设置。
如上所述,利用传统可重新配置电路,即使在生成单个比特使能信号时,也要占用多比特的ALU。因此,需要大量ALU,结果使得电路规模增加。此外,由ALU和1比特逻辑构成的异类可重新配置电路还存在电路规模最终增加的风险。因此,不能解决逻辑电路和布线的设置。
发明内容
因此本发明的主要目的在于提供一种可重新配置的电路,所述可重新配置的电路能够在算术逻辑单元作为基本结构排列的单元阵列上,在多个部分(section)处有效执行逻辑运算,并且还提供可重新配置的电路系统及可重新配置的电路的设置方法。
为了克服上述问题,本发明的可重新配置的电路包括多个单元、总线和用于通过所述总线的网络将各所述单元彼此连接起来的连接器,其中每个所述单元均包括:第一选择器,接受K段(K为大于或等于2的自然数)数据,然后输出单段数据;第二选择器,接受K段(K为大于或等于2的自然数)数据,然后输出单段数据;算术逻辑单元,接受N比特(N为大于或等于2的自然数)的所述第一选择器的输出和所述第二选择器的输出,并对所接受的N比特数据执行选自多个逻辑运算的逻辑运算;选择控制器,向所述第一选择器和所述第二选择器提供用于指示待选择数据的数据选择控制信号;和ALU控制器,向所述算术逻辑单元提供用于指定待执行的逻辑运算的ALU控制信号,其中所述第一选择器、所述第二选择器和所述算术逻辑单元能够基于所述选择控制信号和所述ALU控制信号重新配置;并且所述第一选择器和所述第二选择器基于所述选择控制信号以规定的次序重新排列第i个数据的M[i]比特,并输出重新排列的数据(i为满足i≤K的自然数,并且M[i]为满足 的整数)。
根据这个结构,算术逻辑单元的输入比特宽度N被分为K段。假如K段比特宽度分别被表达为M[1],...,M[K],则应用表达式“M[1]+...+M[K]≤N”。也就是说,它可以被表达为“∑i=1 KM[i]≤N”。例如,当K=3且N=8时,M[1]+M[2]+M[3]≤8为条件表达式。更具体地说,例如,在这种情况下,存在以下组合:
-1比特、2比特和5比特的组合
-1比特、3比特和4比特的组合
-2比特、2比特和4比特的组合
-2比特、2比特和3比特的组合
-2比特、3比特和3比特的组合
(这将在具体实施方式部分更详细地描述。)
所述第一选择器和所述第二选择器中的每个都获取规定数目比特组合的K段输入数据,并向所述算术逻辑单元提供所述数据。最大从M[1]比特到M[K]比特的K个逻辑运算的输入数据被输入至具有N比特宽度输入端的各算术逻辑单元。可以在各算术逻辑单元执行那些彼此独立的K个逻辑运算的各输入数据。这样,可以减少算术逻辑单元的数目,从而可以减小电路面积。
本发明中存在这种形式:所述算术逻辑单元执行由所述ALU控制信号指定的至少一种逻辑运算。这包括由单个算术逻辑单元执行的K个逻辑运算都相同的情况。这样,可以减少算术逻辑单元的数目,以便减小所述电路面积。
本发明中存在这种形式:所述算术逻辑单元能够执行每比特都彼此不同的多种逻辑运算。这种结构使得即使逻辑运算每比特都不同,也能够由同一算术逻辑单元来执行各逻辑运算。这样,可以进一步减少所述算术逻辑单元的数目,以减小所述电路面积。
本发明中存在这种形式:所述可重新配置的电路进一步包括第三选择器,所述第三选择器接受单段数据,然后输出K’段(K’为等于或大于2的自然数)数据,其中:所述第三选择器能够基于所述选择控制信号重新配置;并且所述第三选择器通过基于所述选择控制信号从作为所述算术逻辑单元执行的运算结果而获取的多种输出形式组合中选择单个组合,生成各输出数据。利用这种形式,所述算术逻辑单元的输出可以以灵活的形式输出至K个输出目的地。因此,可以更有效地连接所述基本单元,从而使得可以进一步减小所述电路面积。
本发明的可重新配置的电路系统包括:上述的可重新配置的电路;存储设备,存储所述选择控制信号的值和所述ALU控制信号的值;和系统控制器,从所述存储设备中分别选择用于处理规定应用的待重新配置的所述选择控制信号和所述ALU控制信号,并向所述可重新配置的电路提供所选择的信号以重新配置所述多个单元。
利用这种结构,可以由所述系统控制器来进行所述可重新配置的电路的重新配置。这样可以高效地控制所述可重新配置电路的重新配置。
本发明存在这样的形式:所述可重新配置的电路系统进一步包括用户接口部分,所述用户接口部分通过从用户接收指令来输出用户指令信号,其中所述系统控制器基于所述用户指令信号重新配置用于处理所述应用的所述多个单元。
本发明中存在这样的形式:所述可重新配置的电路系统进一步包括记录介质读出设备,所述记录介质读出设备从记录介质读出所记录的数据,并输出介质指令信号,其中所述系统控制器基于所述介质指令信号重新配置用于处理所述应用的所述多个单元。
利用这种形式,可以基于规定的应用提供具有小电路面积的所述可重新配置的电路。
本发明的可重新配置的电路的设置方法是这样一种方法,为了根据源代码执行写在所述源代码中的各逻辑运算,向可重新配置的电路的各算术逻辑单元分配各逻辑运算,并设置各所述算术逻辑单元之间的布线。所述方法包括:第一步骤,用于从所述源代码中提取所述逻辑运算;第二步骤,用于判决在所述第一步骤中提取的所述逻辑运算是否为P比特或更少比特(P为自然数)或者为Q比特或更少比特(Q为自然数);第三步骤,用于判决所述P比特或更少比特的逻辑运算与所述Q比特或更少比特的逻辑运算是否是同一种运算;和第四步骤,用于以这样的方式执行所述逻辑运算的分配和所述布线的设置:在所述第三步骤中被判决为同一种逻辑运算的所述P比特或更少比特的逻辑运算和所述Q比特或更少比特的逻辑运算,能由能接受R比特宽度数据的单个算术逻辑单元执行(R为满足R≥P+Q的自然数)。
这个方法可以向具有R比特宽度输入端的单个算术逻辑单元分配P比特和Q比特的逻辑运算,并可以设置其布线。这样,可以减少算术逻辑单元的数目,以便减小电路面积。
本发明的可重新配置的电路的设置方法中存在这样的形式:当在第三步骤中判决所述P比特或更少比特的逻辑运算与所述Q比特或更少比特的逻辑运算的种类彼此不同时,在第四步骤中以这样的方式执行逻辑运算的分配和布线的设置:对较高侧的Q比特和较低侧的P比特执行不同种类的逻辑运算。
利用这种形式,可以按照这样的方式执行所述逻辑运算的分配和所述布线的设置:即使所述P比特或更少比特的逻辑运算和所述Q比特或更少比特的逻辑运算是彼此不同的逻辑运算,仍可以由同一算术逻辑单元执行所述逻辑运算。这样,可以更进一步减少所述算术逻辑单元的数目,以便减小所述电路面积。
本发明的可重新配置的电路包括多个单元、总线、用于通过所述总线的网络将各所述单元彼此连接起来的连接器,以及连接控制器,其中各所述单元包括:具有N比特(N为等于或大于2的自然数)的输入端口的算术逻辑单元,其对从所述输入端口输入的N比特数据进行选自多个逻辑运算的逻辑运算;和ALU控制器,向所述算术逻辑单元提供指定所述待执行逻辑运算的ALU控制信号,其中,所述连接控制器向所述连接器提供连接控制信号,所述连接控制信号用于指定通过所述网络彼此连接的所述总线的连接形式;所述算术逻辑单元能够基于所述ALU控制信号重新配置;并且K条所述总线(K为等于或大于2的自然数)在基于所述连接控制信号以规定的次序排列第i条总线的规定M[i]比特之后,连接到所述输入端口(i为满足i≤K的自然数,并且M[i]为满足 的整数)。
利用这种结构,连接器本身获取规定数目比特组合的多段输入数据。因此,没有必要提供在上述结构中所需的所述第一选择器和所述第二选择器。利用这种结构,通过将各M[i]比特的逻辑运算放入N比特所生成的所述输入数据可以提供给能接受具有N比特宽度的所述输入数据的单个算术逻辑单元。因此,可以降低所述算术逻辑单元的数目,以便减小所述电路面积。
本发明的可重新配置的电路中存在这种形式,所述算术逻辑单元能够执行由所述ALU控制信号指定的至少一种逻辑运算。
利用这种形式,只要所述逻辑运算总体上为N比特或更少比特,那么就可以由能接受具有N比特宽度的数据输入的单个算术逻辑单元执行甚至在多个部分处的所述逻辑运算。因此,可以进一步降低所述算术逻辑单元的数目,以便可以减小所述电路面积。
本发明的可重新配置的电路中存在这种形式,所述算术逻辑单元能够执行每比特彼此不同的多种逻辑运算。这种结构使得即使在所述逻辑运算每比特都不同时,那些逻辑运算也能够由同一算术逻辑单元来执行。这样,可以进一步降低所述算术逻辑单元的数目,以减小所述电路面积。
进一步,本发明中存在这种形式:所述可重新配置的电路进一步包括选择器,所述选择器接受单段数据,然后输出K’段(K’为等于或大于2的自然数)数据,其中所述选择器能够基于所述选择控制信号重新配置;并且所述选择器通过基于所述选择控制信号从作为由所述算术逻辑单元执行的运算结果而获得的多个输出形式组合中选择单个组合,生成各输出数据。
利用这种形式,所述算术逻辑单元的输出可以以灵活的形式提供给多个输出目的地。因此,可以更有效地连接基本单元,以便可以进一步减小所述电路面积。
本发明的可重新配置的电路包括:上述的可重新配置的电路;存储设备,存储所述选择控制信号的值和所述ALU控制信号的值;和系统控制器,从所述存储设备中分别选择并读出用于处理规定应用的待重新配置的所述选择控制信号和所述ALU控制信号,并向所述可重新配置的电路提供所选择的信号。
利用这种结构,所述可重新配置的电路的重新配置可以由所述系统控制器来执行。这样可以高效地控制所述可重新配置的电路的重新配置。
本发明中存在这种形式:所述可重新配置的系统进一步包括用户接口部分,所述用户接口部分通过从用户接收指令来输出用户指令信号,其中所述系统控制器基于所述用户指令信号重新配置用于处理所述应用的所述多个单元。
进一步,本发明中还存在这种形式:上述结构的所述可重新配置的电路进一步包括记录介质读出设备,所述记录介质读出设备从记录介质读出所记录的数据,并输出介质指令信号,其中所述系统控制器基于所述介质指令信号重新配置用于处理应用的所述多个单元。
利用这些形式,可以基于规定的应用提供具有小电路面积的可重新配置的电路。
本发明的可重新配置的电路的设置方法是这样一种方法,为了根据源代码执行写在所述源代码中的各逻辑运算,向可重新配置的电路的各算术逻辑单元分配各逻辑运算,并设置各所述算术逻辑单元之间的布线。所述方法包括:第一步骤,用于从所述源代码中提取所述逻辑运算;第二步骤,用于判决在所述第一步骤中提取的所述逻辑运算是P比特或更少比特(P为自然数)还是Q比特或更少比特(Q为自然数);第三步骤,用于判决所述P比特或更少比特的逻辑运算与所述Q比特或更少比特的逻辑运算是否是同一种运算;和第四步骤,用于以这样的方式进行所述逻辑运算的分配并设置所述布线:在所述第三步骤中被判决为同一种逻辑运算的所述P比特或更少比特的逻辑运算和所述Q比特或更少比特的逻辑运算能由单个算术逻辑单元执行。
这种结构可以向单个算术逻辑单元分配所述P比特和Q比特的逻辑运算,并设置所述布线。这样,可以降低所述算术逻辑单元的数目,以便减小所述电路面积。
在本发明的可重新配置的电路的设置方法中存在这种形式,当在所述第三步骤中判决所述P比特或更少比特的逻辑运算与所述P比特或更少比特的逻辑运算的种类彼此不同时,在所述第四步骤中,以这样的方式执行所述逻辑运算的分配和所述布线的设置:对较高侧的Q比特和较低侧的P比特执行不同种类的逻辑运算。
利用这种形式,可以按照这样的方式进行所述逻辑运算的分配和设置必需的布线:即使所述P比特或更少比特的逻辑运算和所述Q比特或更少比特的逻辑运算是彼此不同的逻辑运算,也可以由同一算术逻辑单元执行所述逻辑运算。
本发明中存在这种形式:所述可重新配置电路的设置方法进一步包括外部信息输入步骤,用于将所输入的外部信息转换为源代码改变信息;和源代码改变步骤,基于所述源代码改变信息来改变源代码的规定位置,并输出已经被改变的源代码作为新源代码。
利用这种形式,即使在产品上市之后根据外部信息改变所述应用的所述源代码,也可以设置小面积的可重新配置的电路。这样,所述可重新配置的电路,尽管价格廉价,但也能够灵活地适应系统。
本发明中存在这种形式:所述可重新配置电路的设置方法进一步包括故障判决步骤,在所述故障判决步骤中,一旦接收到指示所述可重新配置电路中的故障单元位置的故障单元位置信息的输入,就在排除所述故障单元后再次执行所述逻辑运算的分配和所述布线的设置。
利用这种形式,即使存在故障单元,也可以通过避免所述故障单元来进行所述逻辑运算的分配和布线的设置。这样可以由具有小面积的可重新配置的电路进行逻辑运算。因此,可以提高产量,以便可以降低芯片的单价。
利用本发明,通过分配由单个算术逻辑单元集中执行的多个逻辑运算,可以通过总体上降低规定应用中所需的算术逻辑单元的数目来减小电路面积。结果,可以提供廉价的系统LSI。
本发明的技术能够分配由单个算术逻辑单元集中执行的多个逻辑运算,并能够设置其布线。因此,作为包括可重新配置电路的多媒体终端等是有用的,并且还可用于软件无线电设备等。结果,可以提供廉价的系统LSI。
附图说明
本发明的其它目的将从以下对优选实施例和所附权利要求的描述中变得清楚。本领域技术人员通过实施本发明将理解在此没有描述的本发明的许多其它优点。
图1是示出根据本发明第一实施例的可重新配置电路的结构的方框图;
图2是示出根据本发明第一实施例的可重新配置电路的主要部分结构的方框图;
图3是示出根据本发明第一实施例的可重新配置电路的开关结构的方框图;
图4是示出根据本发明第一实施例的可重新配置电路的单元结构的方框图;
图5是示出根据本发明第一实施例的选择器的运算的图示;
图6示出可由根据本发明第一实施例的ALU执行的逻辑运算指令;
图7示出可由根据本发明第二实施例的ALU执行的逻辑运算指令;
图8是示出根据本发明第三实施例的可重新配置电路的单元结构的方框图;
图9是示出根据本发明第三实施例的选择器的运算的图示;
图10是示出根据本发明第四实施例的可重新配置电路系统的方框图;
图11是示出根据本发明第五实施例的可重新配置电路系统的结构的方框图;
图12是示出根据本发明第五实施例的存储设备的内容示例的图;
图13是示出根据本发明第六实施例的可重新配置的电路系统的结构的方框图;
图14是示出根据本发明第七实施例的可重新配置电路的设置方法的处理程序的流程图;
图15是示出根据本发明第八实施例的可重新配置电路的设置方法的处理程序的流程图;
图16是示出根据本发明第九实施例的可重新配置电路的设置方法的处理程序的流程图;
图17是示出在根据本发明第九实施例的源代码改变步骤中改变源代码的示例的图;
图18是示出根据本发明第十实施例的可重新配置电路的设置方法的处理程序的流程图;
图19是示出根据本发明第十实施例在避免故障单元的同时设置可重新配置电路的示例的图;
图20是示出根据本发明第十一实施例的可重新配置电路的结构的方框图;
图21是示出根据本发明第十一实施例的可重新配置电路的主要部分的结构的方框图;
图22是示出根据本发明第十一实施例的可重新配置电路的开关结构的方框图;
图23是示出根据本发明第十一实施例的可重新配置电路的单元结构的方框图;
图24是示出根据本发明第十一实施例的选择器的运算的图示;和
图25是示出设置传统可重新配置电路的示例的方框图。
具体实施方式
本发明的主要点在于通过使设置能够由单个算术逻辑单元集中处理多个逻辑运算来减小规定的整个应用所必需的算术逻辑单元的数目,以减小可重新配置的电路的面积,在可重新配置电路中,具有ALU的各基本单元通过布线网络连接。在下文中,将参照附图详细描述本发明的实施例。
(第一实施例)
图1是示出根据本发明第一实施例的可重新配置电路X的结构的方框图,图2是示出可重新配置电路X的主要部分的结构的方框图,图3示出连接到可重新配置电路的单元10的开关20的结构的方框图,并且图4是示出可重新配置电路的单元10的结构的方框图。
在图1的可重新配置电路X中,图4中示出的可重新配置电路的单元10排列成矩阵。进一步,在图1的可重新配置电路X中,图3中示出的开关20在相邻的单元10之间排列成矩阵。
在图1中示出的可重新配置电路X中,多个单元10和多个开关20在水平和竖直方向上交替地排列成矩阵形式。每个单元10包括作为基本元件的第一选择器1、第二选择器2和算术逻辑单元(在下文中称为ALU)4。例如,输出信号a的单元10和输出信号d的单元10通过开关20被输入至目标单元10的第一选择器1。进一步,输出信号b的单元10和输出信号e的单元通过另一开关20输入至目标单元10的第二选择器2。在目标单元10中,ALU 4执行从第一选择器1提供的信号a与从第二选择器2提供的信号b的逻辑运算,并输出运算结果c。进一步,ALU 4执行从第一选择器1提供的信号d与从第二选择器2提供的信号e的逻辑运算,并输出运算结果f。此时,信号a与信号b的逻辑运算以及信号d与信号e的逻辑运算都是由单个ALU 4执行的。本发明的技术特征在于由单个ALU 4执行多个逻辑运算。将参照图2-图6依次更加具体地描述该程序。
开关20包括第一连接器21、第二连接器22和连接控制器23。第一连接器21中的开关部分之一执行总线B11与总线B21之间的连接/隔离,并且其它开关部分执行总线B13与总线B23之间的连接/隔离。开关控制是基于来自连接控制器23的连接控制信号Sc进行的。总线B21成为单元10的第一选择器1的一个输入,而总线B23成为第一选择器1的另一个输入。例如,当连接控制信号Sc[1]为1时,A[3:0]被输入至总线B21。当连接控制信号Sc[0]为1时,C[3:0]被输入至总线B23。这里需要注意的是,Sc[1]指示第一比特,而Sc[0]指示第0比特。总线B21传输从第一连接器21输出的E[3:0]作为第一选择器1的输入IN11[3:0]。相似地,总线B23传输从第一连接器21输出的G[3:0]作为第一选择器1的输入IN12[3:0]。
同时,第二连接器22中的开关部分之一执行总线B12与总线B22之间的连接/隔离,而另一开关部分执行总线B14与总线B24之间的连接/隔离。开关控制是基于来自连接控制器23的连接控制信号Sc执行的。总线B22成为单元10的第二选择器2的一个输入,而总线B24成为第二选择器2的另一个输入。例如,当连接控制信号Sc[1]为1时,B[3:0]被输入至总线B22。当连接控制信号Sc[0]为1时,D[3:0]被输入至总线B24。总线B22传输从第二连接器22输出的F[3:0]作为第二选择器2的输入IN21[3:0]。相似地,总线B24传输从第二连接器22输出的H[3:0]作为第二选择器2的输入IN22[3:0]。
可重新配置电路的单元10包括第一选择器1、第二选择器2、选择控制器3、ALU 4和ALU控制器5。总线B21、B22、B23和B24分别通过开关电路20从其它单元接收信号的输入。总线B21、B22、B23和B24传输所输入的信号。第一选择器1基于来自选择控制器3的选择控制信号Ss,选择并合成总线B21的规定比特和总线B23的规定比特,然后向ALU 4的一个输入端输出处理结果,作为选择结果SE1。相似地,第二选择器2基于来自选择控制器3的选择控制信号Ss,选择并合成总线B22的规定比特和总线B24的规定比特,然后向ALU 4的另一个输入端输出处理结果,作为选择结果SE2。选择控制信号Ss是用于向第一选择器1和第二选择器2指示输出形式的2比特信号。
作为来自总线B21的信号的输入IN11[3:0]、作为来自总线B23的信号的输入IN12[3:0]和选择控制信号Ss被输入至第一选择器1。第一选择器1基于选择控制信号Ss的值,将输入IN11[3:0]和输入IN12[3:0]处理成为规定的输出形式,然后输出经处理的结果作为选择结果SE1[3:0]。这里需要注意的是,[3:0]指示它在4比特结构中从第0比特到第3比特。
具体地,如图5所示,第一选择器1执行以下处理。
-当选择控制信号Ss为“00”时,第一选择器1按照原样输出来自总线B21的4比特输入IN11[3:0]作为选择结果SE1。
-当选择控制信号Ss为“01”时,第一选择器1执行处理,以使来自总线B21的低2比特输入IN11[1:0]和来自总线B23的低2比特输入IN12[1:0]成为4比特形式,并输出结果作为选择结果SE1。
-当选择控制信号Ss为“10”时,第一选择器1执行处理,以使来自总线B21的高2比特输入IN11[3:2]和来自总线B23的高2比特输入IN12[3:2]成为4比特形式,并输出结果作为选择结果SE1。
-当选择控制信号Ss为“11”时,第一选择器1按照原样输出来自总线B23的4比特输入IN12[3:0]作为选择结果SE1。
相似地,作为来自总线B22的信号的输入IN21[3:0]和作为来自总线B24的信号的输入IN22[3:0]和选择控制信号Ss被输入至第二选择器2。第二选择器2基于选择控制信号Ss的值,将输入IN21[3:0]和输入IN22[3:0]处理成为规定的输出形式,然后输出经处理的结果作为选择结果SE2[3:0]。
具体地,第二选择器2执行以下处理。
-当选择控制信号Ss为2比特的“00”时,第二选择器2按照原样输出来自总线B22的4比特输入IN21[3:0]作为选择结果SE2。
-当选择控制信号Ss为“01”时,第二选择器2执行处理,以使来自总线B22的低2比特输入IN21[1:0]和来自总线B24的低2比特输入IN22[1:0]成为4比特形式,并输出结果作为选择结果SE2。
-当选择控制信号Ss为“10”时,第二选择器2执行处理,以使来自总线B22的高2比特输入IN21[3:2]和来自总线B24的高2比特输入IN22[3:2]成为4比特形式,并输出结果作为选择结果SE2。
-当选择控制信号Ss为“11”时,第二选择器2按照原样输出来自总线B24的4比特输入IN22[3:0]作为选择结果SE2。
ALU控制器5输出3比特的ALU控制信号Sa来给予由ALU 4执行的算术和逻辑运算指令。来自第一选择器1的选择结果SE1[3:0]、来自第二选择器2的选择结果SE2[3:0]和来自ALU控制器5的3比特ALU控制信号Sa被提供给ALU 4。一旦接收到这些信号,ALU 4就基于ALU控制信号Sa的值,执行与图6的表相对应的算术和逻辑运算,并向输出总线B30输出运算结果作为输出OUT[3:0]。
具体地,如图6所示,ALU 4经历并执行以下处理。
-当ALU控制信号Sa为“001”时,ALU 4被重新配置为AND电路,以执行来自第一选择器1的选择结果SE1与来自第二选择器2的选择结果SE2的AND运算。
-当ALU控制信号Sa为“010”时,ALU 4被重新配置为OR电路,以执行来自第一选择器1的选择结果SE1与来自第二选择器2的选择结果SE2的OR运算。
输出总线B30将输出OUT[3:0]发送到可重新配置电路的单元10的外部。
接下来,将描述以上述方式构成的该实施例的可重新配置电路X的动作。在下文中,在假设可重新配置电路被构成为具有4比特作为运算比特宽度的情况下,提供说明。然而,需要注意的是,通过施加必要的修改也可以用其它比特宽度来实现实施例。这里的描述是实现以下两个逻辑运算的情况。
c=a&b---(a与b的AND运算)
f=d&e---(d与e的AND运算)
为了易于理解,假设在以下说明中a、b、c、d、e和f均为1比特。可重新配置电路X在应用中的多个逻辑运算中找到执行共同逻辑运算的部分,将那些具有2比特或更少比特的运算比特宽度的部分放入单段数据中以生成新的4比特数据,并通过利用单个ALU 4来执行所生成新数据(4比特)的逻辑运算。
作为ALU控制信号Ss,ALU控制器5输出用于指定AND电路的“001”。已接收到ALU控制信号Sa“001”的ALU 4被重新配置为AND电路(见图6)。
为了从某一单元10获取信号a作为第一选择器1的第一输入,并从另一单元10获取信号d作为第一选择器1的第二输入,开关20的连接控制器23输出“11”作为待提供给第一连接器21的连接控制信号Sc。结果是,总线B11的A[3:0]被发送到总线B21的E[3:0],并且总线B13的C[3:0]被发送到总线B23的G[3:0]。
进一步,为了从某一单元10获取信号b作为第二选择器2的第一输入,并从另一单元10获取信号e作为第二选择器2的第二输入,连接控制器23输出“11”作为待提供给第二连接器22的连接控制信号Sc。结果,总线B 12的B[3:0]被发送到总线B22的F[3:0],并且总线B14的D[3:0]被发送到总线B24的H[3:0]。
进一步,作为选择控制信号Ss,选择控制器3向第一选择器1和第二选择器2输出“01”。已经接收到选择控制信号Ss的第一选择器1和第二选择器2被重新配置为与选择控制信号Ss所指示的内容相对应的电路。也就是说,已经接收到“01”作为选择控制信号Ss的第一选择器1将输入IN11[1:0]和输入IN12[1:0]放在一起以形成新的4比特数据,并输出新生成的数据(4比特)。这样,信号a被输出至选择结果SE1的比特2,而信号d被输出至选择结果SE 1的比特0,如图4的ALU 4内部的※1所指示。因此,分别地,信号a从总线B21被发送到输入IN11[0],而信号d从总线B23被发送到输入IN12[0]。
相似地,已经接收到“01”作为选择控制信号Ss的第二选择器2将输入IN21[1:0]与输入IN22[1:0]放在一起来形成新的4比特数据,并输出新生成的数据(4比特)。也就是说,如图4的ALU 4内部的※1所示,信号b被输出至选择结果SE2的比特2,而信号e被输出至选择结果SE2的比特0。因此,分别地,信号b从总线B22被发送到输入IN21[0],而信号e从总线B24被发送到输入IN22[0]。按照这种方式,执行单元内的逻辑运算的分配和布线的设置。
已接收到“001”作为ALU控制信号Sa的ALU 4的电路结构被重新配置为AND电路。重新配置的ALU 4同时执行选择结果SE1[3:2]与选择结果SE2[3:2]的AND运算以及选择结果SE1[1:0]与选择结果SE2[1:0]的AND运算。在进行上述运算之后,ALU 4向输出总线B30输出OUT[3:0]。这样,运算结果c被输出至输出端的比特2,而运算结果f被输出至输出端的比特0。
如上所述,在这个实施例的可重新配置电路X中,单个ALU 4用于两个运算,即c=a&b的AND运算和f=d&e的AND运算。照此,可以由单个ALU 4在两个部分处执行逻辑运算,使得只需要可重新配置电路的五个单元10,而在图25中示出的传统情况下需要至少六个单元。同时,只需要两个开关20,而传统情况下需要四个开关。进一步,传统情况下所需的两个ALU4减少到单个ALU 4。因此,通过将这些运算施加到整个应用,可以减小电路面积。此外,可以高效执行两个逻辑运算。
为了易于理解,假设在这个实施例的说明中,a、b、c、d、e和f均为1比特。然而,本实施例并不局限于这种情况。例如,a、b和c可以均为1比特,d、e和f可以均为2比特。相反,a、b和c可以均为2比特,d、e和f可以均为1比特。进一步,a、b、c、d、e和f可以均为2比特。
选择控制信号Ss及其输出形式并不局限于图5所示。例如,输入IN11[2:0]和输入IN12[0]可以放入待输出的4比特信号作为选择控制信号Ss。相反,输入IN11[0]和输入IN12[2:0]可以放入待输出的4比特信号作为选择控制信号Ss。进一步,选择控制信号Ss的比特宽度并不局限于2比特。可以根据规定的输出形式的数目来确定选择控制信号Ss的比特宽度。
为了易于理解,假设在该实施例的说明中第一选择器1和第二选择器2各自有两个输入。然而,输入的数目并不局限于此。在存在至少三个输入的情况下,从各输入端提取的总比特数目需要等于或小于ALU 4的比特宽度。只要满足这个条件,就可以确定任意数目的输入与输出形式的组合(比特的排列)。
将一般性地描述本发明的结构。假设第一选择器1和第二选择器2的输入数目和输出数目为输入数目K(K为等于或大于2的自然数)和输入数目1。进一步,假设由ALU 4处理的比特数目为N比特(N为等于或大于2的自然数)。第一选择器1和第二选择器2基于选择控制信号Ss进行以下输出控制。也就是说,第一选择器1和第二选择器2以预定的次序对第i个输入(i为满足i≤K的整数)的规定M[i]比特(M[i]为满足 的整数)进行重新排列,并输出重新排列的输入。进一步,第一选择器1和第二选择器2将ALU 4的输入比特宽度N分为K段。假如K段比特分别为M[1]、M[2]、...、M[K],应用如下公式。
M[1]+M[2]+…M[K]≤N
换句话说,可以表达如下。
例如,假如如上所述K=2且N=4,则以下成为条件表达式。
M[1]+M[2]≤4
具体地,以下组合可以用于相应的情况。
-当以上条件表达式满足1+3≤4时→1比特与3比特的组合(不考虑次序)
-当以上条件表达式满足1+2≤4时→1比特与2比特的组合(不考虑次序)
-当以上条件表达式满足1+1≤4时→1比特与1比特的组合(不考虑次序)
-当以上条件表达式满足2+2≤4时→2比特与2比特的组合(不考虑次序)
进一步,例如,假如如上所述K=3且N=8,则以下成为条件表达式。
M[1]+M[2]+M[3]≤8
具体地,以下组合可用于相应的情况。
-当以上条件表达式满足1+1+6≤8时→1比特、1比特与6比特的组合(不考虑次序)
-当以上条件表达式满足1+1+5≤8时→1比特、1比特与5比特的组合(不考虑次序)
-当以上条件表达式满足1+1+4≤8时→1比特、1比特与4比特的组合(不考虑次序)
-当以上条件表达式满足于1+1+3≤8时→1比特、1比特与3比特的组合(不考虑次序)
-当以上条件表达式满足1+1+2≤8时→1比特、1比特与2比特的组合(不考虑次序)
-当以上条件表达式满足于1+1+1≤8时→1比特、1比特与1比特的组合(不考虑次序)
-当以上条件表达式满足1+2+5≤8时→1比特、2比特与5比特的组合(不考虑次序)
-当以上条件表达式满足1+2+4≤8时→1比特、2比特与4比特的组合(不考虑次序)
-当以上条件表达式满足1+2+3≤8时→1比特、2比特与3比特的组合(不考虑次序)
-当以上条件表达式满足1+2+2≤8时→1比特、2比特与2比特的组合(不考虑次序)
-当以上条件表达式满足1+3+4≤8时→1比特、3比特与4比特的组合(不考虑次序)
-当以上条件表达式满足1+3+3≤8时→1比特、3比特与3比特的组合(不考虑次序)
-当以上条件表达式满足2+2+4≤8时→2比特、2比特与4比特的组合(不考虑次序)
-当以上条件表达式满足于2+2+3≤8时→2比特、2比特与3比特的组合(不考虑次序)
-当以上条件表达式满足2+2+2≤8时→2比特、2比特与2比特的组合(不考虑次序)
-当以上条件表达式满足于2+3+3≤8时→2比特、3比特与3比特的组合(不考虑次序)
第一选择器1和第二选择器2以规定数目比特的组合获取K段输入数据,并将数据发送到ALU 4。能够输入N比特宽度的数据的ALU 4可以接受K段输入数据(从M[1]比特到M[K]比特)用于逻辑运算。因此,可以通过利用单个ALU 4来执行K段输入数据各自单独的逻辑运算。这样可以减小ALU的数目,以便减小电路面积。为了易于理解,假设在上述说明中第一选择器1和第二选择器2各自获取相同数目(K段)的输入数据,并将数据发送到ALU 4n。然而,各选择器可以通过应用必要的修改获取不同段的输入数据。进一步,在必要时,选择控制信号Ss可以采用分别输入至第一选择器1和第二选择器2的不同的值。相似地,连接控制信号Sc也可以采用分别输入至第一连接器21和第二连接器22的不同的值。
(第二实施例)
根据第二实施例的可重新配置电路与根据第一实施例的可重新配置电路的不同之处在于它被额外提供以多种逻辑运算的指令,作为ALU 4的功能,其中,对较高侧比特和较低侧比特执行的所述指令的逻辑运算彼此不同,如图7所示。其它结构和动作与第一实施例的情况相同。
为了易于理解,假设如下。
-可以输入至ALU 4的比特宽度为4比特。
-ALU 4能够执行多种逻辑运算,对较高的一半比特(2个高位比特)和较低的一半比特(2个低位比特)执行的逻辑运算彼此不同。
然而,需要注意的是也可以通过做出必需的修改,以其它组合(例如,高3比特与低1比特,或高1比特与低3比特)实现该实施例。
如图7所示,当这个实施例的ALU接收到由“110”构成的3比特ALU控制信号Ss时,它被重新配置为能够执行AND/OR指令(具体地,AND运算由高2比特执行,而OR运算由低2比特执行)。进一步,在接收到由“111”构成的ALU控制信号Sa时,ALU 4被重新配置为能够进行OR/AND指令(具体地,OR运算由高2比特执行,而AND运算由低2比特执行)。
通过具有上述功能,该实施例可以在单元内进行逻辑运算的分配和布线的设置,以便例如,通过单个ALU 4实现以下由两个表达式表达的运算。为了易于理解,假设在以下说明中a’、b’、c’、d’、e’和f’均为1比特。
c’=a’&b’---(a’与b’的AND运算)
f’=d’|e’---(d’与e’的OR运算)
在这种情况下,该处理与第一实施例相同,其中a、b、c和d分别被a’、b’、c’和d’取代,而且选择控制器3输出“01”作为选择控制信号Ss的处理也与第一实施例相同。然而,ALU控制器4输出“110”作为ALU控制信号Sa。
已接收到“110”作为ALU控制信号Sa的ALU 4被重新配置为AND/OR电路。结果,ALU 4执行选择结果SE1[3:2]与选择结果SE2[3:2]的AND运算,以及选择结果SE1[1:0]与选择结果SE2[1:0]的OR运算。然后,ALU 4向输出总线B30输出OUT[3:0]输出。也就是说,运算结果c’被输出至输出的比特2,而运算结果f’被输出至输出的比特0。
以这种方式,即使运算是在两个部分处彼此不同的多种逻辑运算,那么单个ALU也可以执行运算。
虽然可以通过将AND/OR指令和OR/AND指令用作ALU 4的新指令来描述这个实施例,但也可以采用逻辑运算指令的其它组合。进一步,也可以执行每比特彼此不同的多种逻辑运算。
(第三实施例)
图8是示出根据本发明第三实施例的可重新配置电路的单元结构的方框图。图8中示出的可重新配置电路的单元10的结构与图4中示出的第一实施例的不同之处在于:在ALU 4的输出级提供第三选择器6;在这个实施例中提供两条图4的总线B30;并且提供第一输出总线B31和第二输出总线B32。然而,其它结构和动作与第一实施例的情况相同。
ALU 4的输出OUT[3:0]和选择控制信号Ss被输入至第三选择器6。第三选择器6基于选择控制信号Ss的值,以图9所示的输出形式生成第一输出OUT1和第二输出OUT2。
例如,考虑第一输出OUT 1为[3:0]的情况。这样,在相应情况下执行以下动作。
-当选择控制信号Ss为“00”时,按照原样输出OUT[3:0]输出。
-当选择控制信号Ss为“01”时,生成并输出4比特数据,在该4比特数据中,分别将零(“00”)放入高半部(高2比特),而将输出OUT[3:2]放入低半部(低2比特)。
-当选择控制信号Ss为“10”时,生成并输出4比特数据,在该4比特数据中,分别将输出OUT[3:2]放入高半部(高2比特),而将零(“00”)放入低半部(低2比特)。
-当选择控制信号Ss为“11”时,输出所有4个比特均为零(“0000”)的4比特数据。
接下来,考虑第二输出OUT2为[3:0]的情况。这样,在相应情况下执行以下动作。
-当选择控制信号Ss为“00”时,输出所有4个比特(“0000”)均为零的4比特数据。
-当选择控制信号Ss为“01”时,生成并输出4比特数据,在该4比特数据中,分别将零(“00”)放入高半部(高2比特),而将输出OUT[1:0]放入低半部(低2比特)。
-当选择控制信号Ss为“10”时,生成并输出4比特数据,在该4比特数据中,分别将输出OUT[3:2]放入高半部(高2比特),而将零(“00”)放入低半部(低2比特)。
-当选择控制信号Ss为“11”时,按照原样输出OUT[3:0]输出。
第一输出OUT1[3:0]通过第一输出总线B31被输出至单元10(可重新配置电路)的外部,而第二输出OUT2[3:0]通过第二输出总线B32被输出至单元10的外部。
利用上述动作,即使由单个ALU 4在两个部分进行逻辑运算,那么输入和输出中单元的比特位置也没有改变。因此,不会由于在运算之后比特位置的改变而导致复杂化。因此,可以进一步简化电路,从而能够减小电路面积。
为了易于理解,假设在这个实施例的说明中,第三选择器6具有两个输出,即第一输出总线B31和第二输出总线B32。然而,输出的数目并不局限于两个。可以确定任意数目的输出和输出形式的组合(比特的排列)。进一步,可以单独提供选择控制信号Ss,以便仅供第三选择器6使用。
(第四实施例)
图10示出根据本发明第四实施例的可重新配置电路系统的结构。图10中示出的可重新配置电路系统Y1包括存储设备31、系统控制器32和可重新配置电路X。可以采用第一到第三实施例中所描述的任何可重新配置电路X。图10中示出的虚线指示用于重新配置可重新配置电路的信号的流向,即所谓重新配置信息(配置码)的流向。实线指示待利用应用来处理的数据的流向。重新配置信息是上述连接控制信号Sc、选择控制信号Ss和ALU控制信号Sa。
存储设备31具有提前存储的、用于将规定的应用装到可重新配置电路X的重新配置信息。系统控制器32从存储设备31的规定地方读出重新配置信息,并重新配置可重新配置电路X,从而执行应用。
然后,系统控制器32读出在存储设备31中累积的数据,并将其输入至可重新配置电路X。可重新配置电路X对所提供的数据执行规定的处理,然后将处理后的数据输出至系统控制器32或外部。
根据这个实施例的可重新配置电路系统Y1由第一至第三实施例的可重新配置电路X中的一个构成,使得可以减小重新配置应用所需的ALU 4的数目。结果,可以获取总体上具有小电路面积的廉价可重新配置电路。
存储设备31的期望形式为ROM(只读存储器)、RAM(随机存取存储器)、FLASH存储器等。进一步,系统控制器32的期望形式为微处理器等。
(第五实施例)
图11是根据本发明第五实施例的可重新配置电路系统的结构的方框图。这个实施例的可重新配置电路Y2与第四实施例(图10)的不同之处在于它包括用户接口部分33。其它结构和动作与第四实施例的情况相同。
用户接口部分33通过用户直接操作来获取用户指令信号,或间接获取用户指令信号,然后向系统控制器32输入该用户指令信号。
然后,系统控制器32根据该用户指令信号执行规定的处理,选择最佳应用,获取与应用相对应的重新配置信息,并重新配置可重新配置电路X。
例如,如图12所示,假设与多个应用即从第一应用到第M应用(M为自然数)的应用相对应的重新配置信息,预先累积在存储设备31中。当用户指令信号指示“M”时,系统控制器32假定第M应用待被重新配置。因此,系统控制器32从M000地址读出重新配置信息,并重新配置可重新配置电路X。
通过提供用户接口部分33,该实施例的可重新配置电路系统Y2可以以这种方式根据用户指令信号来选择最佳应用。
针对单个应用选自多个应用的情况描述该实施例。然而,本实施例并不局限于这种情况。同一应用可以选择多种算法或模块。
用户接口部分33的期望形式是不仅可以由用户直接操作的键盘、数字键区、接触式传感器、各种按钮或各种开关构成,还可以由用户间接操作的各种感应设备构成,例如CCD(电荷耦合器件)、CMOS传感器、面部检测传感器和温度传感器。
(第六实施例)
图13是示出根据本发明第六实施例的可重新配置电路系统的结构的方框图。这个实施例的可重新配置电路Y3与第四实施例(图10)不同之处在于它包括记录介质34和记录介质读出设备35。其它结构和动作与第四实施例的情况相同。
诸如音乐信息和视频信息的各种内容信息以及用于处理内容信息的最佳应用的重新配置信息累积在记录介质34中。重新配置信息是上述的连接控制信号Sc、选择控制信号Ss和ALU控制信号Sa。
记录介质读出设备35从记录介质34读出内容信息和重新配置信息,并向系统控制器32输入该信息。然后,系统控制器32至少将所述内容信息作为数据存储到存储设备31,并基于所述重新配置信息重新配置可重新配置电路X。
通过提供记录介质34和记录介质读出设备35,这个实施例的可重新配置电路系统Y3可以选择并实施用于处理内容信息的最佳应用。
记录介质34的期望形式是CD(光盘,Compact Disc)、DVD(数字万能磁盘,Digital Versatile Disc)、BD(蓝光磁盘,Blue-ray Disc)、HD-DVD(高清DVD)、SD存储卡(安全数字存储卡)等。记录介质读出设备35的期望形式是与记录介质34相对应的各种驱动器中的一种,例如CD驱动器、DVD驱动器、BD驱动器、HD-DVD驱动器、SD存储卡驱动器或由与多种记录介质相对应的多驱动器构成的设备。
(第七实施例)
图14是示出根据本发明第七实施例的可重新配置电路设置方法的流程图。图14中示出的可重新配置电路设置方法由四个步骤构成。以该流程图所图示的方法由运算器(未示出)预先执行。
在第一步骤中,向运算器(未示出)提供包括应用的电路信息的源代码,并提取源代码中的逻辑运算部分。在第二步骤中,从所提取的多个逻辑运算部分中搜索执行P比特(P为自然数)或更少比特的逻辑运算的部分和执行Q比特或更少比特的逻辑运算的部分。当结果没有找到对应的部分或只找到一个部分时,程序跳转到第四步骤,在第四步骤中执行正常的逻辑运算分配和布线设置。
在第三步骤中,判决在具有P比特或更少比特的逻辑运算的所搜索部分的逻辑运算指令与在具有Q比特或更少比特的逻辑运算的部分的逻辑运算指令是否是相同的逻辑运算。如果判决结果为它们是彼此不同的多种逻辑运算,则程序跳转到第四步骤,在第四步骤中执行正常的逻辑运算分配和布线设置。
在第四步骤中,具有P比特或更少比特的逻辑运算的部分的逻辑运算指令和具有Q比特或更少比特的逻辑运算的部分的逻辑运算指令,已经被搜索并判决,并经历“将逻辑运算分配给单个ALU并设置布线”的处理。进一步,对不满足第二步骤或第三步骤中的条件的逻辑运算部分执行“执行正常的逻辑运算分配和布线设置”的处理。输出以上述方式获取的逻辑运算分配/布线信息。这里需要注意的是ALU 4具有R比特宽度的输入端(R为满足R≥P+Q的自然数)。
利用这个实施例,可以在单个ALU中排列P比特逻辑运算和Q比特逻辑运算。因此,可以减少ALU的数目,以便可以减小电路面积。在这个实施例中,为了提供一般性的说明,对P和Q进行了区分。然而,只要P与Q的和等于或小于ALU 4的比特宽度,P和Q就可以采用相同的值。
(第八实施例)
图15是示出根据本发明第八实施例的可重新配置电路的设置方法的流程图。这个实施例的可重新配置电路的设置方法与第七实施例(图14)的不同之处在于针对在第三步骤中判决为不满足条件的情况,在第四步骤中增加处理。其它结构和动作与第七实施例的情况相同。
第四步骤执行如下处理:将在具有P比特或更少比特的逻辑运算的部分的逻辑运算指令和在具有Q比特或更少比特的部分的逻辑运算指令分配给单个ALU 4并设置其布线,其中两个部分已经被搜索并判决。进一步,当判决出在第三步骤中满足条件时,将用于进行单一种类的逻辑运算的指令指定为待由相应ALU 4执行的指令。同时,如果判决出条件不满足,则指定在ALU 4的高比特和低比特进行多种彼此不同的逻辑运算的指令。
以这种方式,利用这个实施例的可重新配置电路的设置方法可以在判决出第三步骤中条件不满足时,通过在将执行的第四步骤中增加处理来进行更有效的逻辑运算分配和布线设置。这样,可以进一步降低ALU 4的数目,以便减小电路面积。
为了易于理解,通过参照第二步骤到第四步骤将在两个部分的逻辑运算分配给单个ALU 4的情况,来描述这个实施例。然而,也可以通过做出必需的修改将该实施例应用于三个逻辑运算的情况。
(第九实施例)
图16是示出根据本发明第九实施例的可重新配置电路的设置方法的流程图。这个实施例的可重新配置电路的设置方法与第七实施例(图14)的不同之处在于在第一步骤之前的阶段提供外部信息输入步骤和源代码改变步骤。其它结构和动作与第七实施例的情况相同。
例如,考虑更高级模块将参数设为“#(.WL(8),”的状态,使得在图17中示出的初始状态中,按源代码被设为4比特加法器的“加法器”模块被实例化为8比特加法器。在这种状态下,可重新配置电路通过将上述“加法器”模块视为8比特加法器来进行逻辑运算的分配和布线设置。
在外部信息输入步骤中,基于通过用户接口部分33等获取的外部信息来更优化应用。因此,在源代码的规定部分生成源代码改变信息。例如,当基于外部信息判决加法器的比特精度为4比特精度足够时,生成源代码改变信息,使得那行被“#(.WL(4),”取代。例如,如果是第十行,则源代码改变信息被设为“10:#(.WL(4)”。
在源代码改变步骤中,基于源代码改变信息改变源代码的规定位置。然后,生成最佳代码,并通过将其用作新源代码来执行第一步骤及其后的程序。
例如,当输入“10:#(.WL(4)”作为源代码改变信息时,在源代码改变步骤中,源代码的第十行被“#(.WL(4)”取代。
以这种方式,可以利用这个实施例的可重新配置电路的设置方法,通过添加外部信息输入步骤和源代码改变步骤,来执行更有效的逻辑运算分配和布线设置,从而实现对外部信息最佳的应用电路。
为了易于理解,通过参照将参数的比特数目用作改变目标的情况来描述这个实施例。然而,本实施例并不局限于这种情况。整个算法都可以被视为改变目标。
(第十实施例)
图18是示出根据本发明第十实施例的可重新配置电路的设置方法的流程图。这个实施例的可重新配置电路的设置方法与第七实施例(图14)的不同之处在于在第四步骤之后的阶段提供故障判决步骤。其它结构和动作与第七实施例的情况相同。
在故障判决步骤中,预先输入指示可重新配置电路中的故障单元位置的故障单元位置信息。然后,用作为在第四步骤中执行的处理的结果所提供的“分配逻辑运算的单元的位置信息”来核对故障单元位置信息。当核对结果发现两个位置一致时,判决出向故障单元分配了逻辑运算。一旦做出这种判决,就反馈错误(Error),以便再次进行第四步骤。当核对结果发现两个位置不一致时,判决出没有向故障单元分配逻辑运算。一旦做出这种判决,就输出在第四步骤中执行的处理结果作为最终的逻辑运算分配/布线设置信息。
图19示出以具有x轴和y轴的两维形式表达的故障单元位置信息的示例。当位于x=4且y=2的单元有故障时,故障单元位置信息被表达为“(4,2)”。在这种情况下,当逻辑运算分配给位于(4,2)的单元,并且设置其布线时,故障判决步骤向第四步骤返回Error。
一旦接收到Error,第四步骤通过利用除了位于(4,2)单元之外的单元,再次执行逻辑运算分配/布线设置处理。在这个示例中,描述选择位于(3,3)的单元作为替代的情况。这样,在故障判决步骤中判决出逻辑运算没有分配给故障单元。一旦做出这种判决,就输出在第四步骤中执行的处理的结果作为最终的逻辑运算分配/布线设置信息。
利用这个实施例的可重新配置电路的设置方法,可以通过提供故障判决步骤,以上述方式避免逻辑运算被分配给故障单元来提高产量。因此,仍然可以提供价格低廉的可重新配置电路。
(第十一实施例)
图20是示出根据本发明第十一实施例的可重新配置电路X1的结构的方框图,图21是示出可重新配置电路X1的主要部分的结构的方框图,图22是示出连接到可重新配置电路的单元10a的开关20a的结构的方框图,而图23是示出可重新配置电路的单元10a的结构的方框图。
图23中示出的可重新配置电路的单元10a在图20的可重新配置电路X1中排列成矩阵形式。进一步,图22中示出的开关20a在图20的可重新配置电路X1中的相邻单元10a之间排列成矩阵形式。
在图20中示出的可重新配置电路X1中,多个单元10a和多个开关20a在水平和竖直方向上交替地排列成矩阵形式。每个单元10a包括ALU 4作为基本元件。进一步,每个开关20a均包括第一连接器21a和第二连接器22a作为基本元件。这样,例如,输出信号a的单元10a和输出信号d的单元10a通过第一连接器21a连接到目标单元10a的ALU 4的一个输入端。进一步,输出信号b的单元10a和输出信号e的单元10a通过第二连接器22a连接到ALU 4的另一个输入端。在目标单元10a中,ALU 4执行从第一连接器21a提供的信号a与从第二连接器22a提供的信号b的逻辑运算,并输出运算结果c。进一步,ALU 4执行从第一连接器21a提供的信号d与从第二连接器22a提供的信号e的逻辑运算,并输出运算结果f。这时,信号a与信号b的逻辑运算以及信号d与信号e的逻辑运算是由单个ALU 4执行的。本发明的技术特征在于由单个ALU 4执行多个逻辑运算。在这个实施例中,没有提供根据第一实施例(图4)的单元10的第一选择器、第二选择器和选择控制器3。作为替代,提供给开关20a的第一连接器21a和第二连接器22a执行将比特放在一起的处理。将参见图21-图24更具体地描述该处理。
开关20a包括第一连接器21a、第二连接器22a和连接控制器23。总线B11和总线B13各自发送从其它单元提供的信号。从总线B11提供的信号A[3:0]、从总线B13提供的信号C[3:0]和从连接控制器23提供的2比特连接控制信号Sc被输入至第一连接器21a。第一连接器21a基于选择控制信号Sc的值,从多种输出形式中选择单个输出形式,在多种输出形式中来自规定位置的信号被放入形成4比特数据。然后,第一连接器21a基于所选择的形式从总线B11和B13获取信号,并输出所获取的信号作为E[3:0]。
更具体地,第一连接器21a包括第一——第四开关部分,并通过那些开关部分控制以下示出的四个状态的切换。开关控制是基于来自连接控制器23的连接控制信号Sc进行的。总线B21将第一连接器21a的输出E[3:0]输出至外部单元。
(第一开关控制)
第一开关部分执行总线B11和总线B21的4比特[3:0]之间的连接/隔离。
(第二开关控制)
第二开关部分执行总线B11与总线B21的2比特[1:0]之间的连接/隔离,以及总线B13与总线B21的2比特[1:0]之间的连接/隔离。
(第三开关控制)
第三开关部分执行总线B11和总线B21的2比特[3:2]之间的连接/隔离以及总线B13和总线B21的2比特[3:2]之间的连接/隔离。
(第四开关控制)
第四开关控制执行总线B13和总线B21的4比特[3:0]之间的连接/隔离。
例如,如图24所示,执行以下动作。
-连接控制信号Sc为“00”,则照原样输出A[3:0]。
-选择控制信号Ss为“01”,则将A[1:0]和C[1:0]放在一起以生成并输出4比特数据。
-选择控制信号Ss为“10”,则将输入A[3:2]和输入C[3:2]放在一起以生成并输出4比特数据。
-连接控制信号Ss为“11”,则照原样输出输入C[3:0]。
因此,开关20a的总线B21按照[3:0]状态下的原样将从第一连接器21a输出的E[3:0]发送到ALU 4的输入端IN1。第二连接器22a具有与第一连接器21a相同的结构,使得与第二连接器22a相对应的总线B23按照[3:0]状态下的原样将从第二连接器22a输出的G[3:0]发送到ALU 4的输入端IN2。
可重新配置电路的单元10a由ALU 4和ALU控制器5构成。ALU控制器5输出3比特ALU控制信号Sa,用于给予待在ALU 4执行的逻辑运算指令。
ALU 4分别通过总线B21从第一连接器21a接收输入端IN1[3:0]的供应,通过总线B23从第二连接器22a接收输入端IN2[3:0]的供应,并从ALU控制器5接收ALU控制信号Sa。一旦接收到这些信号的供应,ALU 4就基于ALU控制信号Sa的值,执行与图7的表格相对应的逻辑运算,并向输出总线B30输出运算结果作为输出OUT[3:0]。输出总线B30向单元10a的外部(可重新配置电路)发送输出OUT[3:0]。
接下来,将描述以上述方式构成的这个实施例的可重新配置电路X1的动作。在下文中,在假设可重新配置电路被构成为具有4比特作为运算比特宽度的情况下提供说明。然而,需要注意的是,也可以通过做出必需的修改,利用其它比特宽度来实现该实施例。这里的描述是实现以下两个逻辑运算的情况。
c=a&b---(a与b的AND运算)
f=d|e---(d与e的OR运算)
为了易于理解,假设在以下描述中a、b、c、d、e和f均为1比特。
可重新配置电路X1找到在应用中的多个逻辑运算之间执行共同逻辑运算的部分,并将运算比特宽度小于或等于2比特的部分放入单段数据以生成新的4比特数据,并执行所生成新数据(4比特)的逻辑运算。逻辑运算是由单个ALU 4完成的。
连接控制器23向第一连接器21a和第二连接器22a输出“01”作为指示输出形式的2比特连接控制信号Sc。已经接收到“01”连接控制信号Sc的第一连接器21a将从总线B11获取的A[1:0]和从总线B13获取的C[1:0]放在一起来形成新的4比特数据,并输出新生成的4比特数据。这样,分别将信号a输出至E[3:0]的比特2,将信号d输出至E[3:0]的比特0。
相似地,已经接收到“01”选择控制信号Sc的第二连接器22a将从总线B12获取的B[1:0]和从总线B14获取的D[1:0]放在一起来形成新的4比特数据,并输出新生成的4比特数据。这样,分别将信号b输出至G[3:0]的比特2,将信号e输出至G[3:0]的比特0。
如上所述,可以由单个ALU 4执行两个部分的逻辑运算,使得如图20所示,传统使用的两个ALU可以减少为单个ALU。通过将这些运算施加到整个应用中,可以减小电路面积。此外,这个实施例只需要五个单元,而在传统情况下需要至少六个单元。同时,只需要两个开关20,而在传统情况下需要四个开关。此外,可以高效地执行多个逻辑运算。
为了易于理解,假设在这个实施例的说明中a、b、c、d、e和f均为1比特。然而,该实施例并不局限于这种情况。例如,a、b和c可以均为1比特,而d、e和f可以均为2比特。相反,a、b和c可以均为2比特,并且d、e和f可以均为1比特。此外,a、b、c、d、e和f可以均为2比特。
连接控制信号Sc及其输出形式并不局限于图24所示的。例如,可以将A[2:0]和C[0]放在一起来生成4比特数据,并输出该4比特数据。相反,可以将A[0]和C[2:0]放在一起来生成4比特数据,并输出该4比特数据。进一步,连接控制信号Sc的比特宽度并不局限于2比特。可以根据输出形式的规定数目来确定连接控制信号Sc的比特宽度。
为了易于理解,假设在这个实施例的说明中向第一连接器21a提供的数据是通过两条总线即总线B11和总线B13来发送的数据。然而,数据并不局限于此。也可以利用向第一连接器21a提供通过至少三条总线发送的数据的结构来实现该实施例。在这种情况下,存在所生成的数据,其中从各输入端提取的比特总数目等于或小于ALU 4的比特宽度。然后,可以确定数据和任意数目的输入/输出形式(比特的排列)的组合。
为了易于理解,这个实施例的单元10a具有如图23所示的结构。然而,可以提供如图8所示的第三选择器6、第一输出总线B31、第二输出总线B32和选择控制器3以调节ALU输出端的比特位置。进一步,为了易于理解,假设在该实施例的说明中第一连接器21a和第二连接器22a具有相同数目的输入端。然而,通过做出必要的修改,每个连接器均可以获取不同段的输入数据。进一步,在必要时,连接控制信号Sc也可以采用分别待输入至第一连接器21a和第二连接器22a的不同值。
已经参照最优实施例详细描述了本发明。然而,在不脱离所附权利要求书的精神和广义范围的情况下,单元的各种组合和排列也是可能的。
Claims (22)
1、一种可重新配置的电路,包括多个单元、总线和用于通过所述总线的网络将各所述单元彼此连接起来的连接器,其中每个所述单元均包括:
第一选择器,接受K段数据,然后输出单段数据,K为大于或等于2的自然数;
第二选择器,接受K段数据,然后输出单段数据,K为大于或等于2的自然数;
算术逻辑单元,以N比特接受所述第一选择器的输出和所述第二选择器的输出,并对所接受的N比特数据执行选自多个逻辑运算的逻辑运算,N为大于或等于2的自然数;
选择控制器,向所述第一选择器和所述第二选择器提供用于指示待选择数据的数据选择控制信号;和
ALU控制器,向所述算术逻辑单元提供用于指定待执行的所述逻辑运算的ALU控制信号,其中,
所述第一选择器、所述第二选择器和所述算术逻辑单元能够基于所述选择控制信号和所述ALU控制信号重新配置;并且
所述第一选择器和所述第二选择器基于所述选择控制信号以规定的次序重新排列第i段数据的M[i]比特,并输出所述重新排列的数据,i为满足i≤K的自然数,并且M[i]为满足 的整数。
2、根据权利要求1所述的可重新配置的电路,其中所述算术逻辑单元执行由所述ALU控制信号指定的至少一种逻辑运算。
3、根据权利要求1所述的可重新配置的电路,其中所述算术逻辑单元能够执行每比特均彼此不同的多种逻辑运算。
4、根据权利要求1所述的可重新配置的电路,进一步包括第三选择器,其接受单段数据,然后输出K’段数据,K’为大于或等于2的自然数,其中,
所述第三选择器能够基于所述选择控制信号重新配置;并且
所述第三选择器通过基于所述选择控制信号从多个输出形式组合中选择单个组合以生成各输出数据,其中所述多个输出形式组合是作为所述算术逻辑单元执行运算的结果而获取的。
5、一种可重新配置的电路系统,包括:
根据权利要求1所述的可重新配置的电路;
存储设备,存储所述选择控制信号的值和所述ALU控制信号的值;和
系统控制器,从所述存储设备中选择分别待重新配置以用于处理规定应用的所述选择控制信号和所述ALU控制信号,并向所述可重新配置的电路提供所选择的信号以重新配置所述多个单元。
6、根据权利要求5所述的可重新配置的电路系统,进一步包括用户接口部分,其通过从用户接收指令来输出用户指令信号,其中,
所述系统控制器基于所述用户指令信号,重新配置用于处理所述应用的所述多个单元。
7、根据权利要求5所述的可重新配置的电路系统,进一步包括记录介质读出设备,其从记录介质读出所记录的数据,并输出介质指令信号,其中,
所述系统控制器基于所述介质指令信号,重新配置用于处理所述应用的所述多个单元。
8、一种可重新配置电路的设置方法,为了根据源代码执行写在所述源代码中的各逻辑运算,所述方法将所述各逻辑运算分配给可重新配置的电路的各算术逻辑单元,并设置各所述算术逻辑单元之间的布线,所述方法包括:
第一步骤,用于从所述源代码中提取所述逻辑运算;
第二步骤,用于判决在所述第一步骤中提取的所述逻辑运算是小于等于P比特还是小于等于Q比特,P与Q均为自然数;
第三步骤,用于判决小于等于P比特的所述逻辑运算是否与小于等于Q比特的所述逻辑运算是同一种运算;并且
第四步骤,用于以这样的方式执行所述逻辑运算的分配和所述布线的设置使得在所述第三步骤中被判决为同一种逻辑运算的所述小于等于P比特的逻辑运算以及所述小于等于Q比特的逻辑运算,能由能接受R比特宽度数据的单个算术逻辑单元执行,R为满足R≥P+Q的自然数。
9、根据权利要求8所述的可重新配置电路的设置方法,其中,当在所述第三步骤中判决所述小于等于P比特的逻辑运算和所述小于等于Q比特的逻辑运算的种类彼此不同时,以这样的方式在所述第四步骤中执行所述逻辑运算的分配和所述布线的设置使得对较高侧的Q比特和较低侧的P比特执行所述不同种类的逻辑运算。
10、一种可重新配置的电路,包括多个单元、总线、用于通过所述总线的网络将各所述单元彼此连接起来的连接器,和连接控制器,其中每个所述单元均包括:
算术逻辑单元,具有N比特的输入端口,所述N比特的输入端口对从所述输入端口输入的N比特数据执行选自多个逻辑运算的逻辑运算,N为大于或等于2的自然数;和
ALU控制器,向所述算术逻辑单元提供指定待执行的所述逻辑运算的ALU控制信号,其中,
所述连接控制器向所述连接器提供连接控制信号,所述连接控制信号用于指定通过网络彼此连接的所述总线的连接形式;
所述算术逻辑单元能够基于所述ALU控制信号重新配置;并且
K条所述总线,K为大于或等于2的自然数,在基于所述连接控制信号以规定的次序排列第i条总线的规定M[i]比特之后,被连接到所述输入端口,i为满足i≤K的自然数,并且M[i]为满足 的整数。
11、根据权利要求10所述的可重新配置的电路,其中所述算术逻辑单元执行由所述ALU控制信号指定的至少一种逻辑运算。
12、根据权利要求10所述的可重新配置的电路,其中所述算术逻辑单元能够执行每比特均彼此不同的多种逻辑运算。
13、根据权利要求10所述的可重新配置的电路,进一步包括选择器,所述选择器接受单段数据,然后输出K’段数据,K’为大于或等于2的自然数,其中,
所述选择器能够基于所述选择控制信号重新配置;并且
所述选择器通过基于所述选择控制信号从多个输出形式组合中选择单个组合来生成各输出数据,其中所述多个输出形式组合是作为所述算术逻辑单元执行运算的结果而获取的。
14、一种可重新配置的电路系统,包括:
根据权利要求10所述的可重新配置的电路;
存储设备,存储所述选择控制信号的值和所述ALU控制信号的值;和
系统控制器,从所述存储设备中选择并读出分别待重新配置用于处理规定应用的所述选择控制信号和所述ALU控制信号,并向所述可重新配置的电路提供所选择的信号。
15、根据权利要求14所述的可重新配置的电路系统,进一步包括用户接口部分,其通过从用户接收指令输出用户指令信号,其中,
所述系统控制器基于所述用户指令信号,重新配置用于处理所述应用的所述多个单元。
16、根据权利要求14所述的可重新配置的电路系统,进一步包括记录介质读出设备,其从记录介质读出所记录的数据,并输出介质指令信号,其中,
所述系统控制器基于所述介质指令信号,重新配置用于处理所述应用的所述多个单元。
17、一种可重新配置电路的设置方法,为了根据源代码执行写在所述源代码中的各逻辑运算,所述方法将所述各逻辑运算分配给可重新配置的电路的各算术逻辑单元,并设置各所述算术逻辑单元之间的布线,所述方法包括:
第一步骤,用于从所述源代码中提取所述逻辑运算;
第二步骤,用于判决在所述第一步骤中提取的所述逻辑运算是小于等于P比特还是小于等于Q比特,P和Q均为自然数;
第三步骤,用于判决所述小于等于P比特的逻辑运算与所述小于等于Q比特的逻辑运算是否是同一种运算;并且
第四步骤,用于以这样的方式执行所述逻辑运算的分配和所述布线的设置使得在所述第三步骤中被判决为同一种逻辑运算的所述小于等于P比特的逻辑运算和所述小于等于Q比特的逻辑运算,能由单个算术逻辑单元执行。
18、根据权利要求17所述的可重新配置电路的设置方法,其中,当在所述第三步骤中判决所述小于等于P比特的逻辑运算和所述小于等于Q比特的逻辑运算的种类彼此不同时,以这样的方式在所述第四步骤中执行所述逻辑运算的分配和所述布线的设置使得对较高侧的Q比特和较低侧的P比特执行所述不同种类的逻辑运算。
19、根据权利要求8所述的可重新配置电路的设置方法,进一步包括:
外部信息输入步骤,用于将所输入的外部信息转换为源代码改变信息;和
源代码改变步骤,基于所述源代码改变信息改变源代码的规定位置,并输出已经被改变的源代码作为新源代码。
20、根据权利要求17所述的可重新配置电路的设置方法,进一步包括:
外部信息输入步骤,用于将所输入的外部信息转换为源代码改变信息;和
源代码改变步骤,基于所述源代码改变信息改变源代码的规定位置,并输出被改变的源代码作为新源代码。
21、根据权利要求8所述的可重新配置电路的设置方法,进一步包括故障判决步骤,一旦接收到指示所述可重新配置电路中故障单元位置的故障单元位置信息的输入,就在把所述故障单元排除在外后再次执行所述逻辑运算的分配和所述布线的设置。
22、根据权利要求17所述的可重新配置电路的设置方法,进一步包括故障判决步骤,一旦接收到指示所述可重新配置电路中故障单元位置的故障单元位置信息的输入,就在把所述故障单元排除在外后再次执行所述逻辑运算的分配和所述布线的设置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007-068559 | 2007-03-16 | ||
JP2007068559A JP2008235992A (ja) | 2007-03-16 | 2007-03-16 | リコンフィギュラブル回路、リコンフィギュラブル回路システムおよびリコンフィギュラブル回路の配置配線方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101266592A true CN101266592A (zh) | 2008-09-17 |
Family
ID=39682699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008100063965A Pending CN101266592A (zh) | 2007-03-16 | 2008-02-29 | 可重新配置的电路及其设置方法和可重新配置的电路系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20080229081A1 (zh) |
EP (1) | EP1970791A2 (zh) |
JP (1) | JP2008235992A (zh) |
CN (1) | CN101266592A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106951707A (zh) * | 2017-03-21 | 2017-07-14 | 中国人民解放军国防科学技术大学 | 一种可重构系统贝叶斯网构建方法 |
CN110011940A (zh) * | 2019-04-11 | 2019-07-12 | 盛科网络(苏州)有限公司 | 一种报文处理装置及方法 |
US10680517B1 (en) | 2019-04-10 | 2020-06-09 | Yangtze Memory Technologies Co., Ltd. | Reconfigurable voltage regulator |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012243086A (ja) * | 2011-05-19 | 2012-12-10 | Renesas Electronics Corp | 半導体集積回路装置 |
CN102722390B (zh) * | 2012-06-05 | 2015-04-15 | 上海联影医疗科技有限公司 | 多处理器共用flash的装置及固件程序加载与升级方法 |
CN105678379B (zh) * | 2016-01-12 | 2020-08-07 | 腾讯科技(深圳)有限公司 | 一种cnn的处理方法和装置 |
JP6823251B2 (ja) * | 2016-10-13 | 2021-02-03 | 富士通株式会社 | 情報処理装置、情報処理方法及びプログラム |
US10482209B1 (en) * | 2018-08-06 | 2019-11-19 | HLS Logix LLC | Field programmable operation block array |
CN111581149B (zh) * | 2020-04-24 | 2022-08-26 | 希翼微电子(嘉兴)有限公司 | 可重构地址重映射低功耗多功能定时器 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5956518A (en) * | 1996-04-11 | 1999-09-21 | Massachusetts Institute Of Technology | Intermediate-grain reconfigurable processing device |
US6175912B1 (en) * | 1997-11-14 | 2001-01-16 | Lucent Technologies, Inc. | Accumulator read port arbitration logic |
JP2004102988A (ja) | 1999-08-30 | 2004-04-02 | Ip Flex Kk | データ処理装置 |
US7020673B2 (en) * | 2001-01-19 | 2006-03-28 | Sony Corporation | Reconfigurable arithmetic device and arithmetic system including that arithmetic device and address generation device and interleave device applicable to arithmetic system |
FR2820523B1 (fr) * | 2001-02-08 | 2003-05-16 | St Microelectronics Sa | Microprocesseur comportant une instruction d'inversion des bits d'un mot binaire |
JP3896083B2 (ja) | 2003-01-15 | 2007-03-22 | 三洋電機株式会社 | リコンフィギュラブル回路とそれを利用可能な集積回路装置 |
JP3887622B2 (ja) * | 2003-10-17 | 2007-02-28 | 松下電器産業株式会社 | データ処理装置 |
-
2007
- 2007-03-16 JP JP2007068559A patent/JP2008235992A/ja active Pending
-
2008
- 2008-02-29 CN CNA2008100063965A patent/CN101266592A/zh active Pending
- 2008-03-06 EP EP08004177A patent/EP1970791A2/en not_active Withdrawn
- 2008-03-12 US US12/046,979 patent/US20080229081A1/en not_active Abandoned
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106951707A (zh) * | 2017-03-21 | 2017-07-14 | 中国人民解放军国防科学技术大学 | 一种可重构系统贝叶斯网构建方法 |
CN106951707B (zh) * | 2017-03-21 | 2020-04-24 | 中国人民解放军国防科学技术大学 | 一种可重构系统贝叶斯网构建方法 |
US10680517B1 (en) | 2019-04-10 | 2020-06-09 | Yangtze Memory Technologies Co., Ltd. | Reconfigurable voltage regulator |
WO2020206633A1 (en) * | 2019-04-10 | 2020-10-15 | Yangtze Memory Technologies Co., Ltd. | Reconfigurable voltage regulator |
CN110011940A (zh) * | 2019-04-11 | 2019-07-12 | 盛科网络(苏州)有限公司 | 一种报文处理装置及方法 |
CN110011940B (zh) * | 2019-04-11 | 2021-06-04 | 盛科网络(苏州)有限公司 | 一种报文处理装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
US20080229081A1 (en) | 2008-09-18 |
EP1970791A2 (en) | 2008-09-17 |
JP2008235992A (ja) | 2008-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101266592A (zh) | 可重新配置的电路及其设置方法和可重新配置的电路系统 | |
JP4275013B2 (ja) | データフローグラフ処理装置、処理装置、リコンフィギュラブル回路。 | |
US8138788B2 (en) | Reconfigurable device | |
CN102948077B (zh) | 半导体装置 | |
JP3144967B2 (ja) | 半導体集積回路およびその製造方法 | |
CN102301325B (zh) | 具有预加法器级的数字信号处理块 | |
Rawski et al. | 5 logic synthesis method of digital circuits designed for implementation with embedded memory blocks of FPGAs | |
US20030131335A1 (en) | Architecture for a sea of platforms | |
JP6250548B2 (ja) | 再構成可能な半導体装置の論理構成方法 | |
CN104969208A (zh) | 可配置的嵌入式存储器系统 | |
US20100211747A1 (en) | Processor with reconfigurable architecture | |
WO1996034351A1 (fr) | Procede de conception de circuits integres a semi-conducteurs et appareil de conception automatique | |
US5633806A (en) | Semiconductor integrated circuit and method of designing same | |
CN113158599B (zh) | 基于量子信息学的芯片和芯片化eda装置 | |
CN103259529B (zh) | 一种采用跳跃进位链的集成电路 | |
CN108400866A (zh) | 一种粗粒度可重构密码逻辑阵列 | |
US20140145755A1 (en) | Integrated circuit | |
CN114595658A (zh) | 一种行译码电路的设计方法及相关设备 | |
US20090249032A1 (en) | Information apparatus | |
CN103914429A (zh) | 用于粗粒度动态可重构阵列的多模式数据传输互连器 | |
CN103885819A (zh) | 一种针对fpga面积优化的优先级资源共享方法 | |
CN203982379U (zh) | 用于粗粒度动态可重构阵列的多模式数据传输互连器 | |
JP5001209B2 (ja) | 再構成演算回路 | |
JP2005174520A (ja) | メモリ回路およびその生成方法 | |
JP4601567B2 (ja) | データフローグラフの生成方法、及び処理装置 |
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 |
Open date: 20080917 |