CN1716210A - Semiconductor devices - Google Patents
Semiconductor devices Download PDFInfo
- Publication number
- CN1716210A CN1716210A CN200510002822.4A CN200510002822A CN1716210A CN 1716210 A CN1716210 A CN 1716210A CN 200510002822 A CN200510002822 A CN 200510002822A CN 1716210 A CN1716210 A CN 1716210A
- Authority
- CN
- China
- Prior art keywords
- memory
- fixed value
- data
- arithmetical unit
- configuration
- 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 OR CALCULATING; 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)
- Microcomputers (AREA)
Abstract
本发明公开了一种半导体器件,该半导体器件包括配置存储器、算术单元以及定值存储器,其中配置存储器用于存储配置数据,定值存储器用于存储将提供给算术单元的定值数据,并且算术单元的电路配置可以根据配置数据而被重配置。由于要被提供给算术单元的配置数据和定值数据被存储在不同的存储器中,因此在配置存储器中,不需要设置用于存储定值数据的数据区域。这样,通过仅仅存储用于从定值存储器中读出定值数据的信息,就可以向算术单元提供预定的定值。
The invention discloses a semiconductor device, which includes a configuration memory, an arithmetic unit, and a fixed value memory, wherein the configuration memory is used to store configuration data, the fixed value memory is used to store fixed value data to be provided to the arithmetic unit, and the arithmetic The circuit configuration of the cells can be reconfigured according to the configuration data. Since the configuration data and the constant value data to be supplied to the arithmetic unit are stored in different memories, in the configuration memory, it is not necessary to provide a data area for storing the constant value data. Thus, by storing only information for reading out constant value data from the constant value memory, predetermined constant values can be supplied to the arithmetic unit.
Description
技术领域technical field
本发明涉及半导体器件,更具体地说,本发明涉及具有可动态重配置的电路配置的半导体器件。The present invention relates to semiconductor devices, and more particularly, the present invention relates to semiconductor devices having a dynamically reconfigurable circuit configuration.
背景技术Background technique
诸如LSI之类的传统半导体器件一般通过在设计阶段确定与门、或门等等的布置以及它们的互连关系以便执行预定的处理而被制造,使得能够执行满足所要求的规范的预定处理。就是说,为了实现传统半导体器件中的所需功能,通过设计对于每个门(在每个门的级别上)的电路配置(逻辑配置)来制造实现该功能的这种半导体器件。Conventional semiconductor devices such as LSIs are generally manufactured by determining the arrangement of AND gates, OR gates, etc., and their interconnection relationship at the design stage in order to perform predetermined processing so that predetermined processing satisfying required specifications can be performed. That is, in order to realize a desired function in a conventional semiconductor device, such a semiconductor device realizing the function is manufactured by designing a circuit configuration (logic configuration) for each gate (at the level of each gate).
可惜的是,上述半导体器件的电路配置是在设计阶段被固定的。因此,为了通过改变规范等等来执行满足不同要求规范的处理,每次都必须执行全部的设计和制造。这需要大量的劳力和时间,并且开发成本也是很高的。Unfortunately, the circuit configuration of the above-mentioned semiconductor device is fixed at the design stage. Therefore, in order to perform processing satisfying different required specifications by changing the specifications or the like, it is necessary to perform the entire design and manufacture each time. This requires a lot of labor and time, and the development cost is also high.
一种解决这个问题的方法是被称为可重配置LSI的可重配置半导体器件,其即使在制造之后,也能够通过对逻辑进行重配置来改变要被执行的处理。这样的可重配置半导体器件具有多个算术单元,每个算术单元从CPU接收控制信号(配置信息),并且能够改变其功能。通过适当地组合移位器、ALU(算术和逻辑单元)、选择器等等而形成这些算术单元,并且这些算术单元可以通过从CPU接收配置信息,并且相应地对逻辑进行重配置,而改变要被执行的处理。One method of solving this problem is a reconfigurable semiconductor device called a reconfigurable LSI, which can change the processing to be performed by reconfiguring the logic even after manufacture. Such a reconfigurable semiconductor device has a plurality of arithmetic units each receiving a control signal (configuration information) from a CPU and capable of changing its function. These arithmetic units are formed by appropriately combining shifters, ALUs (arithmetic and logic units), selectors, etc., and these arithmetic units can be changed by receiving configuration information from the CPU and reconfiguring the logic accordingly. The processing performed.
而且,作为关于存储器的地址控制,公开了一种在存储器(寄存器)中保存存储器地址的技术(例如,专利文献1)。Also, as address control regarding the memory, there is disclosed a technique of storing a memory address in a memory (register) (for example, Patent Document 1).
[专利文献1][Patent Document 1]
日本专利申请早期公开No.平6-309223。Japanese Patent Application Laid-open No. Hei 6-309223.
发明内容Contents of the invention
本发明的目的在于减小在具有可重配置的电路配置的半导体器件中,存储定值(fixed value)数据所需的存储容量。An object of the present invention is to reduce the memory capacity required for storing fixed value data in a semiconductor device having a reconfigurable circuit configuration.
本发明的半导体器件包括算术单元组、配置存储器和定值存储器,所述算术单元组具有多个算术单元,并且具有根据配置信息可重配置的电路配置。配置存储器存储了要被提供给算术单元组的配置信息。定值存储器存储要被提供给算术单元组并用于算术处理的定值。A semiconductor device of the present invention includes an arithmetic unit group having a plurality of arithmetic units and having a reconfigurable circuit configuration according to configuration information, a configuration memory, and a constant value memory. The configuration memory stores configuration information to be provided to the arithmetic unit group. The fixed value memory stores fixed values to be supplied to the arithmetic unit group and used for arithmetic processing.
在本发明中,要被提供给算术单元组的配置信息和定值被存储在可彼此独立控制的存储器中。因此,在配置存储器中,只需要存储用于从定值存储器中读出所需定值的信息,而无需在其中形成任何定值数据区域。另外,定值存储器不需要为算术处理器的每个状态,即为每个配置信息都存储定值。In the present invention, configuration information and fixed values to be provided to the arithmetic unit group are stored in memories that can be controlled independently of each other. Therefore, in the configuration memory, it is only necessary to store information for reading out desired constant values from the constant value memory without forming any constant value data area therein. In addition, the fixed value memory does not need to store a fixed value for each state of the arithmetic processor, ie for each configuration information.
附图说明Description of drawings
图1是示出了可重配置半导体器件的布置示例的示图;FIG. 1 is a diagram showing an arrangement example of a reconfigurable semiconductor device;
图2是用于解释图1中所示的配置存储器的内容的示图;FIG. 2 is a diagram for explaining contents of a configuration memory shown in FIG. 1;
图3是示出了根据本发明实施例的可重配置半导体器件的一种布置示例的示图;FIG. 3 is a diagram illustrating an arrangement example of a reconfigurable semiconductor device according to an embodiment of the present invention;
图4A和4B是用于解释图3中所示的配置存储器和定值存储器的内容的示图;4A and 4B are views for explaining the contents of the configuration memory and the constant value memory shown in FIG. 3;
图5是示出了根据本发明实施例的可重配置半导体器件的另一布置示例的示图;以及5 is a diagram showing another arrangement example of a reconfigurable semiconductor device according to an embodiment of the present invention; and
图6A到6C是用于解释图5中所示的配置存储器和定值存储器的内容的示图。6A to 6C are diagrams for explaining the contents of the configuration memory and the constant value memory shown in FIG. 5 .
具体实施方式Detailed ways
在前述传统的可重配置半导体器件中,因为CPU直接控制多个算术单元,因此处理速度很低。例如,当要基于来自某个算术单元的中断而改变要由多个算术单元执行的处理时,CPU响应于来自该算术单元的中断而调用并执行中断处理程序,然后将与处理例程的处理结果相对应的配置信息等提供到这些算术单元。所述中断处理需要相当于几十个时钟周期的时间。因此,在传统的可重配置半导体器件中,处理速度很低,所以不能(对于每个时钟)动态地改变由算术单元所执行的处理。In the aforementioned conventional reconfigurable semiconductor device, since the CPU directly controls a plurality of arithmetic units, the processing speed is low. For example, when the processing to be performed by a plurality of arithmetic units is to be changed based on an interrupt from a certain arithmetic unit, the CPU calls and executes an interrupt handler in response to an interrupt from the arithmetic unit, and then combines the processing with the processing routine Configuration information and the like corresponding to the result are supplied to these arithmetic units. The interrupt processing requires a time equivalent to several tens of clock cycles. Therefore, in the conventional reconfigurable semiconductor device, the processing speed is low, so the processing performed by the arithmetic unit cannot be dynamically changed (for every clock).
作为一种解决该问题的方法,本申请提出了一种具有如图1所示的布置的可重配置半导体器件。As a method to solve this problem, the present application proposes a reconfigurable semiconductor device having an arrangement as shown in FIG. 1 .
图1示出了本申请人所提出的可重配置半导体器件的布置示例的示图。为了执行电路配置(逻辑配置)的改变控制,该半导体器件所具有的不是CPU,而是具有与CPU等同功能的序列发生器(sequencer)。FIG. 1 shows a diagram of an example of the arrangement of a reconfigurable semiconductor device proposed by the present applicant. In order to perform change control of the circuit configuration (logic configuration), what this semiconductor device has is not a CPU but a sequencer having a function equivalent to the CPU.
如图1所示,可重配置半导体器件具有序列发生器(控制器)1和算术处理器2。As shown in FIG. 1 , a reconfigurable semiconductor device has a sequencer (controller) 1 and an arithmetic processor 2 .
序列发生器1根据来自外部(例如经由外部总线3所连接的处理器)的指令而全面地控制半导体器件。序列发生器1进行管理和控制,以动态地改变算术处理器2的电路配置(包括逻辑配置)。为了根据应用而动态地改变算术处理器2的电路配置,序列发生器1经由信号线被连接到算术处理器2的单独的功能单元,以便能够从序列发生器1提供包括配置数据(配置信息)的控制信号。The
序列发生器1具有状态控制器11、状态寄存器12和配置存储器13。The
例如基于来自算术处理器2的预先设置的序列或状态转换指示信号,状态控制器11产生用于从配置存储器13中读出配置数据和定值数据的配置存储器地址,并且还产生读取定时,所述配置数据和定值数据将算术处理器2的状态(电路配置)改变到下一状态。状态控制器11的配置存储器地址的产生是通过参考以下信息而完成的,所述信息指示出状态寄存器12中所保存的当前状态。当当前状态改变到下一状态时,更新状态寄存器12中所保存的信息。For example, based on a preset sequence or state transition indication signal from the arithmetic processor 2, the
配置存储器13存储了配置数据和定值数据,所述配置数据设置算术处理器2的电路配置。所有的配置数据和定值数据都是在操作开始之前,预先从外部写入到配置存储器13中的,并且保存为每个状态一对数据。在状态控制器11的控制下,将配置存储器13中所存储的配置数据和定值数据读出,并且输出到算术处理器2。随后将详细描述配置存储器13的内容。The configuration memory 13 stores configuration data which sets the circuit configuration of the arithmetic processor 2 and setting value data. All configuration data and fixed value data are written into the configuration memory 13 from the outside in advance before the operation starts, and are saved as a pair of data for each state. Under the control of the
算术处理器2具有选择器/寄存器(总线)21、算术单元22-i以及数据存储器23-j。注意,i和j是后缀,i是从1到N的(任意)自然数,并且j是从1到M的(任意)自然数。The arithmetic processor 2 has a selector/register (bus) 21, an arithmetic unit 22-i, and a data memory 23-j. Note that i and j are suffixes, i is an (arbitrary) natural number from 1 to N, and j is an (arbitrary) natural number from 1 to M.
选择器/寄存器21由序列发生器1所提供的配置数据所控制。选择器/寄存器21连接到算术单元22-1到22-N以及数据存储器23-1到23-M,并且与算术单元22-i和数据存储器22-j交换数据。换句话说,选择器/寄存器21具有连接算术单元22-1到22-N以及数据存储器23-1到23-M的网络功能,从而所述算术单元和数据存储器可以彼此通信。The selector/
更具体地说,根据配置数据,选择器/寄存器21向算术单元22-i提供数据,向数据存储器23-j提供写入数据,并且接收从数据存储器23-j所提供的读出数据。而且,选择器/寄存器21具有寄存器,并且可以根据配置数据选择性地输出寄存器中所保存的数据,或者从另一位置所提供的数据,所述寄存器例如暂时保存来自算术单元22-i的输出(算术结果)。More specifically, the selector/
每个算术单元22-i都具有寄存器24和ALU单元27。Each arithmetic unit 22-i has a register 24 and an
寄存器24包括分别用于保存从序列发生器1所提供的配置数据和定值数据的配置寄存器25和定值寄存器26。The registers 24 include a configuration register 25 and a fixed value register 26 for respectively storing configuration data and fixed value data supplied from the
通过使用例如移位电路(移位器)、ALU(算术和逻辑单元)和选择器来形成ALU单元27(为了描述的方便,在下文中也将这些组件简单地称为算术单元,而无需在它们之间进行区分)。注意,根据将被使用的应用,可以适当地选择和确定ALU单元27,更具体地说,可以适当地选择和确定形成ALU单元27的多个(或一个)算术单元。The
在每个ALU单元27中,基于配置寄存器25中所保存的配置数据而设置每个算术单元的运算模式以及算术单元之间的连接。就是说,根据配置数据,可以改变每个ALU单元27的电路配置,并且这样控制单独的算术单元,以便实现诸如加法、乘法、位运算以及逻辑运算(与、或和异或)之类的所需功能。In each
例如移位量、算术移位过程、逻辑移位过程、移位过程之后的预定位的屏蔽过程等等在移位电路中被控制。而且,在通过使用例如AND(逻辑乘运算)电路和OR(逻辑和运算)电路而形成的ALU中,通过适当地组合这些电路,而整体上控制ALU的电路(算术)功能。例如,多个输入中的将被输出的一个输入在选择器中被控制。此外,移位电路、ALU、选择器等等之间的连接被控制。For example, the shift amount, the arithmetic shift process, the logic shift process, the masking process of the predetermined bit after the shift process, etc. are controlled in the shift circuit. Also, in an ALU formed by using, for example, an AND (logical multiplication operation) circuit and an OR (logical sum operation) circuit, by appropriately combining these circuits, the circuit (arithmetic) function of the ALU is controlled as a whole. For example, an input to be output among a plurality of inputs is controlled in a selector. In addition, connections between shift circuits, ALUs, selectors, etc. are controlled.
ALU单元27根据配置数据,或者在定值寄存器26中所保存的定值数据CVD,接收从选择器/寄存器21提供的第一输入数据DT1,并且还接收从选择器/寄存器21提供的第二输入数据DT2。ALU单元27通过使用这些数据来执行预定的运算,并且输出运算结果。虽然来自ALU单元27的该输出可以直接被输出,但是也可以基于配置数据,将其反馈。例如,可以对这些输出进行累加、标准化,然后再输出。The
每个数据存储器23-j存储了与算术处理器2中的处理有关的数据。Each data memory 23 - j stores data related to processing in the arithmetic processor 2 .
图2是用于解释图1中所示的配置存储器13的内容的示图。如图2所示,配置存储器13存储了与每个状态相对应的配置数据和定值数据。在图2中,标号CDi表示配置数据;并且CVDi表示定值数据。注意,i是后缀,并且是从1到N的(任意)自然数。参考图2,只示出了定值数据CVDi的值,并且省略了配置数据CDi的值。FIG. 2 is a diagram for explaining the contents of the configuration memory 13 shown in FIG. 1 . As shown in FIG. 2, the configuration memory 13 stores configuration data and setting value data corresponding to each state. In FIG. 2, reference numeral CDi denotes configuration data; and CVDi denotes constant value data. Note that i is a suffix and is a (arbitrary) natural number from 1 to N. Referring to FIG. 2 , only the values of the constant value data CVDi are shown, and the values of the configuration data CDi are omitted.
当要设置第k(k是后缀,并且是从1到128的自然数)个状态时,将配置数据CDi和定值数据CVDi提供到算术单元22-i,并且保存在配置寄存器24中。就是说,与用于实现算术处理器2中的所需电路功能的某种电路配置FUNCk有关的配置数据和定值数据,由图2中所示的在行方向上排列的一对配置数据CD1到CDN和定值数据CVD1到CVDN所组成。注意,虽然在图2中没有示出,但是除了与算术单元22-i相关的配置数据之外,配置存储器13当然还存储了例如用于控制选择器/寄存器21的配置数据。When the kth (k is a suffix and a natural number from 1 to 128) state is to be set, the configuration data CDi and the fixed value data CVDi are provided to the arithmetic unit 22 - i and stored in the configuration register 24 . That is, configuration data and fixed value data related to a certain circuit configuration FUNCk for realizing a desired circuit function in the arithmetic processor 2 are composed of a pair of configuration data CD1 to CD1 arranged in the row direction shown in FIG. It consists of CDN and fixed value data CVD1 to CVDN. Note that, although not shown in FIG. 2 , the configuration memory 13 of course stores, for example, configuration data for controlling the selector/
如上所述,通过使用序列发生器1而非CPU,可重配置半导体器件使所谓的动态重配置成为可能,因此对于每个时钟,可以动态地对电路配置(逻辑)进行重配置。例如,算术处理器2可以基于来自序列发生器1的配置数据(控制信号),而在某个时钟周期期间执行功能A,并且在下一时钟周期期间执行与功能A不同的功能B。As described above, the reconfigurable semiconductor device enables so-called dynamic reconfiguration by using the
但是,在图1和2所示的可重配置半导体器件中,对于能够接收定值(常量)的算术单元,定值数据与配置数据一起被保存在配置存储器13中,并且在需要时将定值数据读出并保存在与算术单元相对应的配置寄存器24中。为了如上所述地在配置存储器13中保存定值数据,需要在每个能够接收定值数据的算术单元中,形成用于存储定值数据的定值数据区域,并且将所有定值数据保存在配置存储器13中。如果来自选择器/寄存器21的到能够接收定值数据的算术单元的第二输入数据的宽度是32位,则必须在配置存储器13中,为算术处理器2的每个算术单元以及所有状态(在下文中也被称为“配置”)形成32位的定值数据区域。However, in the reconfigurable semiconductor device shown in FIGS. 1 and 2, for an arithmetic unit capable of receiving a fixed value (constant), the fixed value data is stored in the configuration memory 13 together with the configuration data, and the fixed value is saved when necessary. Value data is read and stored in the configuration register 24 corresponding to the arithmetic unit. In order to store the fixed value data in the configuration memory 13 as described above, it is necessary to form a fixed value data area for storing the fixed value data in each arithmetic unit capable of receiving the fixed value data, and to store all the fixed value data in the configuration memory 13. If the width of the second input data from the selector/
但是,几乎不必对算术处理器2的所有状态都对每个算术单元设置作为输入的定值数据,即几乎不必无论何时算术处理器2的状态被转换都对每个算术单元设置作为输入的定值数据。因此,如上所述所形成的定值数据区域浪费了配置存储器13的存储区域,这样,当定值数据要被保存在配置存储器13中时,要消耗大量的存储器(存储区域)。However, it is hardly necessary to set fixed-value data as an input to each arithmetic unit for all states of the arithmetic processor 2, that is, it is hardly necessary to set constant value data as an input to each arithmetic unit whenever the state of the arithmetic processor 2 is switched. fixed value data. Therefore, the fixed value data area formed as described above wastes the storage area of the configuration memory 13, so that when the fixed value data is to be stored in the configuration memory 13, a large amount of memory (storage area) is consumed.
下面将参考附图描述本发明的实施例。Embodiments of the present invention will be described below with reference to the drawings.
图是3示出了根据本发明实施例的可重配置半导体器件的一种布置示例的示图。在图3中,与图1相同的标号指代具有相同功能的组成元件,并且将省略对其重复的解释。FIG. 3 is a diagram showing an arrangement example of a reconfigurable semiconductor device according to an embodiment of the present invention. In FIG. 3 , the same reference numerals as in FIG. 1 denote constituent elements having the same functions, and repeated explanations thereof will be omitted.
如图3所示,根据本实施例的可重配置半导体器件具有序列发生器(控制器)1和算术处理器2A。算术处理器2A包括用于存储定值数据的定值存储器(RAM)30。As shown in FIG. 3, the reconfigurable semiconductor device according to the present embodiment has a sequencer (controller) 1 and an
序列发生器1具有状态控制器11、状态寄存器12和配置存储器13A。The
配置存储器13A存储了用于设置算术处理器2A的电路配置的配置数据,以及定值指定数据。定值指定数据是这样的信息,利用该信息可以唯一地识别定值存储器30中的定值数据,所述定值数据与算术处理器2A的状态相对应。定值指定数据用于从定值存储器30所存储的定值数据中,指定和读出与算术处理器2A的状态相对应的定值数据。注意,在下面的解释中,定值指定数据是定值存储器30中的地址。The configuration memory 13A stores configuration data for setting the circuit configuration of the
算术处理器2A具有选择器/寄存器(总线)21、算术单元22A-i、数据存储器23-j、定值存储器30、选择器31-i和定值指定寄存器32。注意,i和j是后缀,i是从1到N的(任意)自然数,并且j是从1到M的(任意)自然数。
定值存储器30是用于存储定值数据的存储器。基于定值指定寄存器32中由序列发生器1所设置的地址值,将定值存储器30中所存储的定值数据读出并输出到选择器31-i。The fixed value memory 30 is a memory for storing fixed value data. Based on the address value set by the
选择器31-i由序列发生器1所提供的配置数据所控制,并且选择器31-i选择性地将从选择器/寄存器21所提供的第二输入数据DT2,或者从定值存储器30所提供的定值数据CVD输出到算术单元22A-i中的ALU单元27。更具体地说,当选择器31-i被配置数据设置为输出定值数据时,它经由定值存储器30中分配给算术单元22A-i的端子,而输出从定值存储器30所提供的定值数据CVD。当选择器31-i被配置数据设置为输出第二输入数据DT2时,它输出从选择器/寄存器21所提供的第二输入数据DT2。The selector 31-i is controlled by the configuration data provided by the
每个算术单元22A-i都具有配置寄存器25A和ALU单元27。在本实施例中,经由选择器31-i而将定值数据从定值存储器30读出到ALU单元27。因此,在每个算术单元22A-i中,配置寄存器25A是唯一的寄存器,因此,没有使用图1中所示的定值寄存器。Each
注意,在配置存储器13A中所存储的配置数据和定值指定数据以及在定值存储器30中所存储的定值数据是在操作开始之前,例如利用RISC(处理器)或其他硬件,而分别从外部写入并保存到配置存储器13A和定值存储器30中的。还要注意,对于每个状态,配置数据和定值指定数据是作为一对数据而保存在配置存储器13A中的。Note that the configuration data and setting designation data stored in the configuration memory 13A and the setting data stored in the setting memory 30 are obtained from, respectively, before the operation starts, for example, using a RISC (processor) or other hardware. externally written and saved to the configuration memory 13A and the constant value memory 30. Note also that, for each state, configuration data and setting designation data are stored as a pair of data in the configuration memory 13A.
图4A和4B是用于解释图3中所示的配置存储器13A和定值存储器30的内容的示图。为了比较的目的,图4A和4B示出了与图2所示的配置存储器13的内容等同的内容。4A and 4B are diagrams for explaining the contents of configuration memory 13A and constant value memory 30 shown in FIG. 3 . For comparison purposes, FIGS. 4A and 4B show contents equivalent to those of the configuration memory 13 shown in FIG. 2 .
图4A示出了配置存储器13A的内容。在图4A中,标号CDi(i=1到N(自然数))表示配置数据;并且CVAD表示作为定值指定数据的定值存储器30中的地址值。FIG. 4A shows the contents of the configuration memory 13A. In FIG. 4A, reference notation CDi (i=1 to N (natural number)) denotes configuration data; and CVAD denotes an address value in the constant value memory 30 as constant value specifying data.
图4B示出了定值存储器30的内容。在图4B中,标号CVAD表示定值存储器30中的地址值;并且CVDi(i=1到N(自然数))表示定值数据。FIG. 4B shows the contents of the constant value memory 30 . In FIG. 4B, reference numeral CVAD denotes an address value in the constant value memory 30; and CVDi (i=1 to N (natural number)) denotes constant value data.
如图4B所示,在定值存储器30中,定值数据CVDi的相同的组合并非各自独地存储,而是存储为一套定值数据CVDi。就是说,定值存储器30所存储的定值数据CVDi的组合彼此不相同,并且不重复。As shown in FIG. 4B, in the fixed value memory 30, the same combination of fixed value data CVDi is not stored individually, but is stored as a set of fixed value data CVDi. That is, the combinations of fixed value data CVDi stored in the fixed value memory 30 are different from each other and do not overlap.
而且,如图4A所示,配置存储器13A中只存储了配置数据CDi和定值存储器30中的地址值CVAD,在所述定值存储器30中存储了相应于该状态的定值数据CVDi的组合。Moreover, as shown in FIG. 4A, only the configuration data CDi and the address value CVAD in the constant value memory 30 are stored in the configuration memory 13A, and the combination of the constant value data CVDi corresponding to this state is stored in the constant value memory 30. .
下面将解释根据本实施例的可重配置半导体器件的操作。注意,除了将定值数据输入到算术单元22A-i中的算术单元的操作之外,本实施例的可重配置半导体器件的操作与图1和2中所示的可重配置半导体器件的操作相同,因此,将省略对其余部分的操作的解释。The operation of the reconfigurable semiconductor device according to this embodiment will be explained below. Note that the operation of the reconfigurable semiconductor device of this embodiment is the same as that of the reconfigurable semiconductor device shown in FIGS. Same, therefore, the explanation of the operation of the rest will be omitted.
下面将描述将定值数据输入到算术单元22A-i中的算术单元时的操作。The operation at the time of inputting fixed-value data to the arithmetic units in the
首先,为了转换算术处理器2的状态,从配置存储器13A中读出与该状态相对应的配置数据和定值指定数据。将所读出的配置数据提供给包括了选择器31-i的算术处理器2A中的功能单元。将所读出的定值指定数据提供给,并且设置到定值指定寄存器32中。First, to switch the state of the arithmetic processor 2, the configuration data and setting designation data corresponding to the state are read out from the configuration memory 13A. The read configuration data is supplied to the functional units in the
基于定值指定寄存器32中所设置的定值指定数据,从定值存储器30中读出在由该定值指定数据所指定的区域中所存储的定值数据,并且经由选择器31-i而将其输出到算术单元22A-i。在这种方式下,将定值数据提供给算术单元22A-i中的算术单元。Based on the fixed value designation data set in the fixed value designation register 32, the fixed value data stored in the area designated by the fixed value designation data is read out from the fixed value memory 30, and is selected via the selector 31-i. It is output to
上述的本实施例使用了一个定值存储器30。但是,如图5所示,也可以使用多个定值存储器。The present embodiment described above uses a constant value memory 30 . However, as shown in Fig. 5, multiple constant value memories may also be used.
图5示出了根据本实施例的可重配置半导体器件的另一布置示例的示图。在图5中,与图1和3相同的标号指代具有相同功能的组成元件,并且将省略其重复的解释。FIG. 5 is a diagram showing another arrangement example of the reconfigurable semiconductor device according to the present embodiment. In FIG. 5 , the same reference numerals as in FIGS. 1 and 3 denote constituent elements having the same functions, and repeated explanations thereof will be omitted.
图5所示的可重配置半导体器件具有序列发生器(控制器)1和算术处理器2A。算术处理器2A包括两个定值存储器(RAM)30A和30B。The reconfigurable semiconductor device shown in FIG. 5 has a sequencer (controller) 1 and an
序列发生器1具有状态控制器11、状态寄存器12和配置存储器13B。配置存储器13B存储了配置数据,以及两个与定值存储器30A和30B相对应的定值指定数据。The
算术处理器2A与图3中所示的不同之处在于,其具有两个定值存储器30A和30B,以及两个与定值存储器30A和30B相对应的定值指定寄存器32A和32B。但是,定值存储器30A和30B,以及定值指定寄存器32A和32B分别具有与图3所示的定值存储器30和定值指定寄存器32相同的功能,因此将省略其详细描述。The
图6A到6C是用于解释图5中所示的配置存储器13B和定值存储器30A和30B的内容的示图。为了比较的目的,图6A到6C示出了与图4A和4B中所示的内容等同的内容。6A to 6C are diagrams for explaining the contents of the
图6A示出了配置存储器13B的内容。在图6A中,标号CDi(i=1到N(自然数))表示配置数据;并且CVAD1和CVAD2分别表示定值存储器30A和30B中的地址值。FIG. 6A shows the contents of the
图6B和6C分别示出了定值存储器30A和30B的内容。在图6B和6C中,标号CVAD1和CVAD2分别表示定值存储器30A和30B中的地址值;并且CVDi(i=1到N(自然数))表示定值数据。注意,图6B和6C示出了定值数据CVD1和CVD3被存储在定值存储器30A中,并且定值数据CVD2和CVDN被存储在定值存储器30B中的情况。6B and 6C show the contents of the
与图4B中所示出的情况类似,将定值数据CVDi的相同组合作为一对定值数据CVDi而被存储在定值存储器30A和30B的每一个中。Similar to the case shown in FIG. 4B , the same combination of constant value data CVDi is stored as a pair of constant value data CVDi in each of the
而且,如图6A所示,配置存储器13B分别存储了配置数据CDi,以及定值存储器30A和30B中的地址值CVAD1和CVAD2,在定值存储器30A和30B中,存储了与配置数据的状态相对应的定值数据CVDi的组合。Moreover, as shown in FIG. 6A,
在图5和6A到6C中,作为示例示出了使用两个定值存储器30A和30B的情况。但是,定值存储器的数量是任意的数量。而且,假如没有特定的算术单元一直对应于多个定值存储器,那么定值存储器和算术单元之间的对应关系是任意的对应关系。例如,一个算术单元可以对应于一个定值存储器,或者通过划分算术单元而获得的多个组中的每一个都可以对应于一个定值存储器。In FIGS. 5 and 6A to 6C, a case where two
而且,图5和6A到6C中所示的布置不一定是最优的布置。因此,可以根据所使用的应用而适当地选择图3、4A和4B中所示的布置,或者图5和6A到6C中所示的布置。Also, the arrangements shown in Figures 5 and 6A to 6C are not necessarily optimal arrangements. Therefore, the arrangements shown in FIGS. 3 , 4A, and 4B, or the arrangements shown in FIGS. 5 and 6A to 6C can be appropriately selected according to the application used.
在如上所述的本实施例中,定值数据被存储在定值存储器30(30A和30B)中,并且配置数据,以及用来读出与配置数据的状态相对应的定值数据的定值存储器的地址值被存储在配置存储器13A(13B)中。在定值存储器30(30A和30B)中,为了避免重复,只存储了定值数据的不同组合。In the present embodiment as described above, the fixed value data are stored in the fixed value memory 30 (30A and 30B), and the configuration data, and the fixed value used to read the fixed value data corresponding to the state of the configured data The address values of the memory are stored in the configuration memory 13A (13B). In the fixed value memories 30 (30A and 30B), only different combinations of fixed value data are stored in order to avoid duplication.
因此,配置存储器只需要存要定值存储器的地址值,而无需存储任何的定值数据。这样可以减小配置存储器所需的存储容量,并且减小芯片尺寸。例如,为了在定值存储器中保存八个不同的定值数据的组合,可以用三位来表示地址值。这样一来,可以非常有效地使用存储区域。Therefore, the configuration memory only needs to store the address value of the fixed value memory without storing any fixed value data. This reduces the storage capacity required for the configuration memory and reduces the chip size. For example, in order to store eight different combinations of fixed value data in the fixed value memory, three bits can be used to represent the address value. This way, the storage area can be used very efficiently.
另外,定值存储器没有为每个状态存储定值数据,而是将定值数据的相同组合存储为一对定值数据。这样极大地减小了数据量。而且,定值数据被存储在定值存储器中,并且经由选择器31-i,可以将该定值数据提供到ALU单元27。这样可以省略掉定值寄存器,并且减小电路规模。In addition, the constant value memory does not store constant value data for each state, but stores the same combination of constant value data as a pair of constant value data. This greatly reduces the amount of data. Also, fixed value data is stored in the fixed value memory, and this fixed value data can be supplied to the
注意,在以上实施例中,作为示例只示出了一个配置寄存器25。但是,通常是以与算术单元一对一的对应关系来形成配置寄存器。由于不是经由任何的寄存器来提供定值数据,因此也可以形成用于多个算术单元的一个配置寄存器25。Note that in the above embodiments, only one configuration register 25 is shown as an example. However, configuration registers are usually formed in a one-to-one correspondence with arithmetic units. Since the setting data are not provided via any registers, it is also possible to form a configuration register 25 for a plurality of arithmetic units.
还要注意,附图中所示的根据本实施例的可重配置半导体器件的布置仅仅是一个示例。因此,可重配置半导体器件还可以包括移位寄存器、计数器电路以及诸如RAM和ROM之类的存储器。Note also that the arrangement of the reconfigurable semiconductor device according to the present embodiment shown in the drawings is just an example. Therefore, the reconfigurable semiconductor device may also include shift registers, counter circuits, and memories such as RAM and ROM.
当实施本发明时,以上实施例仅仅是实施示例,因此不应该利用这些实施例来限制性地解释本发明的技术范围。就是说,不脱离本发明的技术思想或主要特征,可以以各种形式来实施本发明。The above embodiments are merely implementation examples when the present invention is carried out, and thus the technical scope of the present invention should not be limitedly interpreted using these embodiments. That is, the present invention can be implemented in various forms without departing from the technical idea or main features of the present invention.
在本发明中,与用于存储配置信息的配置存储器所不同的定值存储器存储了将被提供到算术单元组的定值。由于不需要在配置存储器中设置用于存储定值的数据区域,因此仅仅通过在配置存储器中存储用于从定值存储器中读出定值的信息,就可以将预定的定值提供到算术单元组。因此,可以减小配置存储器所需的存储容量,从而可以利用小尺寸的存储器来形成配置存储器。In the present invention, a fixed value memory different from a configuration memory for storing configuration information stores fixed values to be supplied to the arithmetic unit group. Since there is no need to set a data area for storing a fixed value in the configuration memory, a predetermined fixed value can be supplied to the arithmetic unit only by storing information for reading the fixed value from the fixed value memory in the configuration memory Group. Therefore, the storage capacity required for the configuration memory can be reduced, so that the configuration memory can be formed with a small-sized memory.
而且,由于定值被存储在与配置存储器不同的定值存储器中,因此不需要为算术处理器的每个状态都存储定值,并且可以省略掉定值寄存器。因此,可以减小存储定值所需的存储容量,并且减小电路规模。Also, since the constant values are stored in a constant value memory different from the configuration memory, there is no need to store constant values for each state of the arithmetic processor, and the constant value registers can be omitted. Therefore, it is possible to reduce the storage capacity required to store a fixed value, and to reduce the circuit scale.
本申请基于2004年6月30日递交的在先日本专利申请No.2004-194104,并要求其优先权,这里并入了其全部内容,以作为参考。This application is based on and claims priority from prior Japanese Patent Application No. 2004-194104 filed on June 30, 2004, the entire contents of which are hereby incorporated by reference.
Claims (12)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP194104/2004 | 2004-06-30 | ||
| JP2004194104A JP4485272B2 (en) | 2004-06-30 | 2004-06-30 | Semiconductor device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN1716210A true CN1716210A (en) | 2006-01-04 |
Family
ID=35148784
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN200510002822.4A Pending CN1716210A (en) | 2004-06-30 | 2005-01-25 | Semiconductor devices |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US7580963B2 (en) |
| EP (1) | EP1615140A3 (en) |
| JP (1) | JP4485272B2 (en) |
| CN (1) | CN1716210A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110609804A (en) * | 2018-06-15 | 2019-12-24 | 瑞萨电子株式会社 | Semiconductor device and method of controlling semiconductor device |
Families Citing this family (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7853632B2 (en) | 2003-12-29 | 2010-12-14 | Xilinx, Inc. | Architectural floorplan for a digital signal processing circuit |
| US7840627B2 (en) * | 2003-12-29 | 2010-11-23 | Xilinx, Inc. | Digital signal processing circuit having input register blocks |
| US7853636B2 (en) * | 2003-12-29 | 2010-12-14 | Xilinx, Inc. | Digital signal processing circuit having a pattern detector circuit for convergent rounding |
| US7860915B2 (en) | 2003-12-29 | 2010-12-28 | Xilinx, Inc. | Digital signal processing circuit having a pattern circuit for determining termination conditions |
| US7853634B2 (en) | 2003-12-29 | 2010-12-14 | Xilinx, Inc. | Digital signal processing circuit having a SIMD circuit |
| US7849119B2 (en) | 2003-12-29 | 2010-12-07 | Xilinx, Inc. | Digital signal processing circuit having a pattern detector circuit |
| US7870182B2 (en) | 2003-12-29 | 2011-01-11 | Xilinx Inc. | Digital signal processing circuit having an adder circuit with carry-outs |
| US7840630B2 (en) * | 2003-12-29 | 2010-11-23 | Xilinx, Inc. | Arithmetic logic unit circuit |
| US7844653B2 (en) | 2003-12-29 | 2010-11-30 | Xilinx, Inc. | Digital signal processing circuit having a pre-adder circuit |
| US7882165B2 (en) | 2003-12-29 | 2011-02-01 | Xilinx, Inc. | Digital signal processing element having an arithmetic logic unit |
| US7865542B2 (en) | 2003-12-29 | 2011-01-04 | Xilinx, Inc. | Digital signal processing block having a wide multiplexer |
| JP4838009B2 (en) * | 2006-02-22 | 2011-12-14 | 富士通セミコンダクター株式会社 | Reconfigurable circuit |
| JP4982883B2 (en) * | 2006-09-14 | 2012-07-25 | 株式会社メガチップス | Storage device and data output circuit |
| JP2008085864A (en) * | 2006-09-28 | 2008-04-10 | Fujitsu Ltd | Semiconductor device |
| JP4962305B2 (en) * | 2007-12-26 | 2012-06-27 | 富士通セミコンダクター株式会社 | Reconfigurable circuit |
| US8543635B2 (en) | 2009-01-27 | 2013-09-24 | Xilinx, Inc. | Digital signal processing block with preadder stage |
| US8479133B2 (en) | 2009-01-27 | 2013-07-02 | Xilinx, Inc. | Method of and circuit for implementing a filter in an integrated circuit |
| JP2010231645A (en) * | 2009-03-27 | 2010-10-14 | Fujitsu Ltd | Arithmetic processing unit |
| KR20140131472A (en) * | 2013-05-03 | 2014-11-13 | 삼성전자주식회사 | Reconfigurable processor having constant storage register |
| JP2022040721A (en) * | 2020-08-31 | 2022-03-11 | 富士フイルムビジネスイノベーション株式会社 | Information processing equipment and programs |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4748585A (en) * | 1985-12-26 | 1988-05-31 | Chiarulli Donald M | Processor utilizing reconfigurable process segments to accomodate data word length |
| US5301344A (en) | 1991-01-29 | 1994-04-05 | Analogic Corporation | Multibus sequential processor to perform in parallel a plurality of reconfigurable logic operations on a plurality of data sets |
| DE69827589T2 (en) * | 1997-12-17 | 2005-11-03 | Elixent Ltd. | Configurable processing assembly and method of using this assembly to build a central processing unit |
| US6226735B1 (en) * | 1998-05-08 | 2001-05-01 | Broadcom | Method and apparatus for configuring arbitrary sized data paths comprising multiple context processing elements |
| KR20040022706A (en) | 2001-07-19 | 2004-03-16 | 소니 가부시끼 가이샤 | Calculation apparatus and image processing apparatus |
| US20040025004A1 (en) * | 2002-08-02 | 2004-02-05 | Gorday Robert Mark | Reconfigurable logic signal processor (RLSP) and method of configuring same |
| TW200504592A (en) * | 2003-07-24 | 2005-02-01 | Ind Tech Res Inst | Reconfigurable apparatus with high hardware efficiency |
-
2004
- 2004-06-30 JP JP2004194104A patent/JP4485272B2/en not_active Expired - Fee Related
- 2004-12-30 EP EP04258184A patent/EP1615140A3/en not_active Withdrawn
-
2005
- 2005-01-14 US US11/035,055 patent/US7580963B2/en active Active
- 2005-01-25 CN CN200510002822.4A patent/CN1716210A/en active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110609804A (en) * | 2018-06-15 | 2019-12-24 | 瑞萨电子株式会社 | Semiconductor device and method of controlling semiconductor device |
Also Published As
| Publication number | Publication date |
|---|---|
| EP1615140A3 (en) | 2008-01-23 |
| JP4485272B2 (en) | 2010-06-16 |
| JP2006018453A (en) | 2006-01-19 |
| EP1615140A2 (en) | 2006-01-11 |
| US7580963B2 (en) | 2009-08-25 |
| US20060004991A1 (en) | 2006-01-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN1716210A (en) | Semiconductor devices | |
| US20230289310A1 (en) | Top level network and array level network for reconfigurable data processors | |
| JP4230580B2 (en) | Reconfigurable processor device | |
| US6816961B2 (en) | Processing architecture having field swapping capability | |
| US6449628B1 (en) | Apparatus and method for programmable datapath arithmetic arrays | |
| JP4971998B2 (en) | Semiconductor integrated circuit, program conversion device, and mapping device | |
| US7350054B2 (en) | Processor having array of processing elements whose individual operations and mutual connections are variable | |
| CN1735878A (en) | State engine for data processor | |
| JP2010102719A (en) | Multiprocessor computer architecture incorporating a plurality of memory algorithm processors in memory subsystem | |
| KR20210052188A (en) | System and method for hierarchical sort acceleration near storage | |
| CN105703765A (en) | DRAM-based reconfigurable logic | |
| CN1751439A (en) | Electronic circuit with array of programmable logic cells | |
| JP2005182654A (en) | Reconfigurable circuit, processing device having reconfigurable circuit, function determination method of logic circuit in reconfigurable circuit, circuit generation method and circuit | |
| CN1908927A (en) | Reconfigurable integrated circuit device | |
| CN1526100A (en) | integrated circuit device | |
| US20040111590A1 (en) | Self-configuring processing element | |
| JP4573896B2 (en) | Coarse bias heterogeneous reconfigurable array | |
| CN1716180A (en) | Semiconductor device | |
| WO2008108005A1 (en) | A data transfer network and control apparatus for a system with an array of processing elements each either self- or common controlled | |
| CN101506784B (en) | Peripheral supplied addressing in simple DMA | |
| US7814296B2 (en) | Arithmetic units responsive to common control signal to generate signals to selectors for selecting instructions from among respective program memories for SIMD / MIMD processing control | |
| CN117667836A (en) | A decentralized multi-PEA architecture CGRA reconfigurable processor | |
| US20250211420A1 (en) | Techniques for compressed route tables for contention-free routing associated with number-theoretic- transform and inverse-number-theoretic-transform computations | |
| JP4437439B2 (en) | Data processing device | |
| US9292639B1 (en) | Method and system for providing additional look-up tables |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
| WD01 | Invention patent application deemed withdrawn after publication |