The present invention relates to a reconfigurable processor capable of dynamically or statically changing the configuration of a circuit or an arithmetic unit, and more particularly, to a reconfigurable circuit, a configuration method using this reconfigurable circuit and a program for performing the configuration of the reconfigurable circuit.
In a reconfigurable processor capable of dynamically or statically changing the configuration of a circuit or an arithmetic unit, for the purpose of forming the circuit or the arithmetic unit so as to have a desired configuration, it is necessary to use a procedure referred to as “configuration” to set the information of the configuration thereof. Generally speaking, the configuration time required for this configuration is proportional to the degree of freedom and the size of the configuration, thereby becoming long as the configuration becomes complicated and large in size just as in recent years.
As a method for performing configuration, for example, a first method is available in which data is input and supplied to serial connection registers connected to the setting memories of a reconfigurable processor (for example, refer to the specification of U.S. Pat. No. 5,394,031). Although this first method is advantageous in that data can be supplied to the setting memories distributed to the entire processor using a few input terminals, since data is supplied serially, there is a problem that the configuration time is long.
Furthermore, as a method for shortening the configuration time, for example, a second method is available in which configuration input is processed in parallel to raise the rate of data transfer (for example, refer to the specification of U.S. Pat. No. 6,714,044). In this second method, as shown in
In the case of the second method in which data input is processed in parallel, there is a problem that the area of the chip increases due to the increase in the number of input/output lines of the chip. Since an object of using the reconfigurable processor is essentially to reduce the size of the circuit for attaining multiple functions, the increase in the area of the chip is not desirable.
In consideration of the above-mentioned problems, the present invention is characterized in that bypasses (second connecting means and third connecting means in embodiments described later) are provided to supply data in a direction of crossing a configuration chain having multiple serial connection registers for supplying configuration data, and that the bypasses are used to perform duplication processing.
A reconfigurable circuit according to the present invention having a configuration chain in which multiple serial connection registers are connected in series, comprises:
first connecting means for connecting in series multiple registers inside each of the multiple serial connection registers to enable signal transmission,
second connecting means for connecting in parallel the registers inside each of the multiple serial connection registers to the registers inside a serial connection register connected thereto in series to enable signal transmission, and
configuration memories for storing the configuration information of the registers inside the configuration chain. In the reconfigurable circuit according to the present invention configured as described above, the area of the chip is not increased, and the configuration time can be shortened significantly.
A configuration method using the reconfigurable circuit according to the present invention comprises:
a first step of renewing the configuration information of the registers inside one of the multiple serial connection registers using the first connecting means,
a second step of storing the configuration information of the registers inside the serial connection register renewed at the first step into the configuration memories provided for the registers inside the serial connection register,
a third step of duplicating the configuration information stored in the registers inside the serial connection register to the registers inside another serial connection register using the second connecting means, and
a fourth step of storing the configuration information of the registers inside the other serial connection register duplicated at the third step into the configuration memories provided for the registers inside the other serial connection register. In the configuration method according to the present invention configured as described above, the area of the chip is not increased, and the configuration time can be shortened significantly.
A program for performing the configuration of the reconfigurable circuit according to the present invention for causing a computer to perform the configuration of the reconfigurable circuit equipped with a configuration chain having multiple serial connection registers, has:
operands for providing configuration information to duplicate the configuration information stored in the registers inside one of the multiple serial connection registers constituting the configuration chain to the registers inside another serial connection register constituting the configuration chain and connected in parallel with the registers of the one serial connection register. By the use of the program according to the present invention configured as described above, the area of the chip is not increased, and the configuration time can be shortened significantly.
With the present invention, the data of the configuration chain having multiple serial connection registers is duplicated in the crossing direction. Therefore, the configuration data covering and corresponding to all the configuration targets can be securely supplied, and the configuration time can be shortened significantly without raising the data transfer rate of data input.
While the novel features of the invention are set forth particularly in the appended claims, the invention, both as to organization and content, will be better understood and appreciated, along with other objects and features thereof, from the following detailed description taken in conjunction with the drawings.
It will be recognized that some or all of the Figures are schematic representations for purposes of illustration and do not necessarily depict the actual relative sizes or locations of the elements shown.
Best modes for attaining a reconfigurable circuit, a configuration method using the reconfigurable circuit and a program for performing the configuration of the reconfigurable circuit according to the present invention will be described below in detail referring to the accompanying drawings.
The configuration procedure according to the first embodiment shown in
Step 1: data X (exemplified by “A, B, C and D” in
Step 2: the renewal results (“D”, “C”, “B” and “A”) of the respective registers 10-1, 10-2, 10-3 and 104 are stored into the respective setting memories 70 via the signal lines 80. In parallel with this storage operation, the contents of the renewal results (“D”, “C”, “B” and “A”) of the respective registers 10-1, 10-2, 10-3 and 104 are duplicated and transferred to the adjacent serial connection register 90-2 via the bypasses 30. By this duplication and transfer, the contents of the respective registers 10-1, 10-2, 10-3 and 104 of the serial connection register 90-2 are renewed as shown in the part (b) of
Step 3: the renewal results of the respective registers 10-1, 10-2, 10-3 and 10-4 of the serial connection register 90-2 are stored into the setting memories 70 via the signal lines 80. The number of cycles required for the data storage into the setting memories 70 is one.
As described above, in the configuration method according to the first embodiment, the number of cycles required for step 1 to step 3 is M+2. In the case that configuration is performed similarly using the conventional first method described in the specification of the above-mentioned U.S. Pat. No. 5,394,031, the contents of the serial connection register 90-1 and the serial connection register 90-2 connected thereto in series are renewed only by shift input as shown in
M+2<<N+1 is established because of the relationship of M<<N. It can thus be understood that, with the configuration method according to the first embodiment, the storage into the setting memories 70 can be attained in fewer cycles than with the conventional method.
As described above, with the procedure of the configuration method according to the first embodiment of the present invention, the input repetition data (“A”, “B”, “C” and “D”) of the serial connection register 90-1 is duplicated to the adjacent serial connection register 90-2 via the bypasses 30 and stored into the setting memories 70. Hence, the configuration for all the domains can be completed without shift-inputting the data to all the serial connection registers.
In the case that the conventional second method described in the specification of the above-mentioned U.S. Pat. No. 6,714,044, there is a problem that data input lines increase as shown in
Since the reconfigurable processor is generally configured so that the same arithmetic elements are disposed regularly, the setting memories 70 are also disposed regularly in a similar way. In the present invention, it is important to utilize this regularity to efficiently perform data supply for the configuration. The first embodiment according to the present invention is characterized in that the configuration chains 100 are disposed in a direction along a constant direction (in the vertical direction (the up-down direction in
Next, a configuration chain constituting the reconfigurable circuit of a reconfigurable processor according to a second embodiment of the present invention will be described below.
In the second embodiment, in addition to first bypasses 30 similar to the bypasses according to the first embodiment shown in
The configuration procedure according to the second embodiment shown in
Step 1: data Y (exemplified by “B, A, D and C” in
Step 2: the renewal results (“D” and “B”) of the registers 10-2 and 10-4 of the serial connection register 291 are duplicated and transferred as the contents of the serial connection register 291 to the serial connection register 290 via the fourth bypasses 33. By this duplication and transfer, the contents of the registers 10-2 and 104 of the serial connection register 290 are renewed to “D” and “B” as shown in the part (a) of
Step 3: the respective serial connection registers 290 and 291 are shifted. By this shift, the contents of the serial connection registers 290 and 291 are changed. In other words, the contents of the registers 10-1 and 10-3 of the connection register 290, one of the serial connection registers, become “D” and “B”, and the contents of the registers 10-2 and 10-4 of the other serial connection register 291 become “C” and “A” as shown in the part (b) of
Step 4: the renewal results “C” and “A” of the registers 10-2 and 10-4 of the serial connection register 291 are stored into the respective setting memories 70 via the signal lines 80. Concurrently with this storage operation, the renewal results are duplicated and transferred to the serial connection register 290 via the fourth bypasses 33 as shown in the part (c) of
By the above-mentioned duplication and transfer, the contents of the serial connection registers 290 and 291 are renewed as shown in the part (c) of
Step 5: the renewal results of the registers 10-2 and 104 of the serial connection register 290 and the renewal results of the registers 10-1 and 103 of the serial connection register 291 are respectively stored into the setting memories 70 via the signal lines 80. The number of cycles required for the data storage into the setting memories 70 is one.
As described above, in the configuration method according to the second embodiment, the number of cycles required for step 1 to step 5 is M+4. On the other hand, in the case that the conventional first method described in the specification of the above-mentioned U.S. Pat. No. 5,394,031 is used, the contents of the serial connection register 90-1 and the serial connection register 90-2 connected thereto in series are renewed only by shift input as shown in
M+4<<N+1 is established because of the relationship of M<<N. It can thus be understood that, with the configuration method according to the second embodiment, the storage into the setting memories 70 can be attained in fewer cycles than with the conventional method as an effect similar to that of the first embodiment. Furthermore, in the second embodiment, even in the case of the serial connection register 290 positioned at the end of the configuration chain 200, the duplication and transfer from the adjacent configuration chain 201 can be performed in addition to the effect of the first embodiment. For this reason, the number of cycles required for the duplication and transfer in the second embodiment is reduced significantly in comparison with the first embodiment in which multiple cycles are required for the duplication and transfer to the serial connection register positioned at the end of the configuration chain.
Next, a configuration chain constituting the reconfigurable circuit of a reconfigurable processor according to a third embodiment of the present invention will be described below.
A dynamic reconfigurable processor requires the so-called partial configuration in which configuration is performed for only a specific circuit or an arithmetic unit.
The configuration procedure according to the third embodiment shown in
Step 1: data Z (exemplified by “A, B” in
The contents of the registers 10-3 and 10-M of the serial connection register 390-1 are renewed to “B” and “A” by the shift input to the serial connection register 390-1 as shown in the part (a) of
Step 2: the renewal results of the registers 10-3 and 10-M of the serial connection register 390-1 are transferred to the serial connection registers 390-2, 390-3 and 390-L of the subsequent stages via the bypasses 30. By this transfer, the contents of the serial connection register 390-L containing the specific domain 300 are renewed as shown in the part (b) of
Step 3: the renewal results of the registers 10-3 and 10-M of the serial connection register 390-L are respectively stored into the setting memories 70 via the signal lines 80. The number of cycles required for the data storage into the setting memories 70 is one.
As described above, in the configuration method according to the third embodiment, the number of cycles required for step 1 to step 3 is L+M+1. On the other hand, in the case that the first method described in the specification of the above-mentioned U.S. Pat. No. 5,394,031 is used, the contents of the serial connection register 90-1 and the serial connection register 90-2 connected thereto in series are renewed only by shift input as shown in
L+M+1<<N+1 is established because of the relationship of M<<N. It can thus be understood that, with the configuration method according to the third embodiment, the storage into the setting memories can be attained in fewer cycles than with the conventional method as an effect similar to that of the first embodiment. Furthermore, in the third embodiment, even in the case that the specific domain 300 has any coordinates, it can also be understood that the effect of reducing the number of cycles is obtained in addition to the effect of the first embodiment.
By the procedure of the configuration method according to the third embodiment, configuration data (A, B) is transferred via the bypasses 30 and stored into the setting memories 70 connected to the adjacent serial connection register. Hence, configuration can be performed only for a specific circuit or an arithmetic unit without performing shift input to the registers of all the serial connection registers.
Next, a configuration chain constituting the reconfigurable circuit of a reconfigurable processor according to a fourth embodiment of the present invention will be described below.
Generally speaking, as a reversible data compression method for bit strings, a method typified by the run-length coding method is available in which a bit string is converted into a form consisting of basic patterns and their repetitions by extracting the repetition regularity thereof.
Data volume compression can be attained for the bit string consisting of these multiple groups by using the basic patterns of the groups 430 and 440 and the forms consisting of the basic patterns of the groups 410 and 420 and their repetitions as configuration data. This compression operation can be attained by compressing the data with configuration data generation software (compiler) using a general data compression algorithm. On the other hand, in the case that the configuration data is restored to the original bit string and stored into the setting memories 70, a mechanism for decompressing the compressed data is required inside the reconfigurable processor. It is desirable that this should be attained while avoiding increase in circuit size due to the use of a dedicated data decompression circuit.
Step 1: data is shift-input to the serial connection register 90-1. In the serial connection register 90-1, the correspondence between the basic patterns and the renewal contents is indicated using leading lines 470.
Step 2: the contents of the serial connection register 90-1 are sequentially duplicated and transferred to the adjacent serial connection registers (90-2, 90-3, 90-4, . . . ) via the bypasses 30 serving as the second connecting means (see the part (c) of
Step 3: the renewal results of the serial connection registers are respectively stored into the setting memories 70 via the signal lines 80.
Next, the configuration operation in the case that the basic patterns are set in the horizontal direction will be described below.
Step 1: a serial connection register formed of registers connected using the bypasses 450 serving as the third connecting means is used as another form of serial connection register 401. Data is shift-input to the serial connection register 401 configured as described above. In the serial connection register 401, the correspondence between the basic patterns and the renewal contents is indicated using leading lines 490 as shown in the parts (a) and (b) of
Step 2: the contents of the serial connection register 401 are duplicated and transferred to the adjacent registers using the connection configuration of the respective serial connection registers (90-1, 90-2, 90-3, 90-4, . . . ). The data flow of the duplication and transfer is similar to that of the shift operation shown in
Step 3: the renewal results of the respective serial connection registers are stored into the setting memories 70 via the signal lines 80.
As described above, data duplication is possible using the configuration method according to the fourth embodiment by the combination of the operations of the configuration chain 400, regardless of whether the basic patterns are set in the vertical direction (
Furthermore, compression can also be attained even in a configuration having a large data volume using the configuration method according to the fourth embodiment. Moreover, since the amount of data transfer is reduced by compression, the configuration time can be reduced without increasing data input/output lines.
Still further, the fourth embodiment is characterized in that, as shown in
Next, a configuration chain constituting the reconfigurable circuit of a reconfigurable processor according to a fifth embodiment of the present invention will be described below.
The reconfigurable processor may occasionally require an operation referred to as the so-called read back in which the data stored in the setting memories 70 is read via the configuration chains to perform debugging, LSI tests or the like.
Step 1: the contents of the setting memories 70 are stored into the serial connection register 90-1 via the signal lines 80. By this storage operation, the contents of the registers 10-1, 10-2, 10-3 and 10-4 of the serial connection register 90-1 are renewed as shown in the part (a) of
Step 2: as shown in the part (b) of
Step 3: the contents of the serial connection register 90-2 are shift-output as data X (described as “A, B, C and D” in
As described above, in the read back method according to the fifth embodiment, the number of cycles required for step 1 to step 3 is M+2. On the other hand, in the case that the first method described in the specification of the above-mentioned U.S. Pat. No. 5,394,031 is used, the data of the serial connection register 90-1 is read by only the shift output as shown in
M+2<<N+1 is established because of the relationship of M<<N. It can thus be understood that, with the present invention, the read back operation can be attained in fewer cycles than with the conventional method.
As described above, in the fifth embodiment, the data stored in the setting memories 70 is transferred via the bypasses 30 and the data lines 60 and output to the output terminal 50. Hence, the read back operation can be attained without shift-outputting all the contents of the serial connection registers 90-1 and 90-2.
As a method for efficiently attaining the procedures for the configuration methods described in the above-mentioned first to fifth embodiments, a method is available in which the configuration operation of the reconfigurable processor is written as a program containing multiple configuration instructions.
A bypass designation function is required as a function of the instructions 621 to attain the procedures for the configuration methods described in the above-mentioned first to fifth embodiments.
Instruction 661: a duplication instruction by which data is duplicated using the path designated in the operand “path”
Path example 1) from the serial connection register 90-1 via the bypasses 30 to the adjacent serial connection register 90-2 in the first embodiment shown in
Path example 2) between the registers via the connections inside the serial connection register 90-1 in the fourth embodiment shown in
Instruction 662: a configuration/duplication parallel-execution instruction by which the data of the serial connection register corresponding to the start point of the path designated in the operand “path” is stored into the setting memories 70 via the signal lines 80 and the data is concurrently duplicated using the path designated in the operand “path”
Path example) from the serial connection register 90-1 via the bypasses 30 to the adjacent serial connection register 90-2 in the first embodiment shown in
Instruction 663: a shift instruction by which data is shifted using the path designated in the operand “path” and the shift is repeated by the number of times designated in an operand “number”
Path example 1) between the registers via the connections inside the serial connection register 90-1 and the serial connection register 90-2 in the first embodiment shown in
Path example 2) between the registers inside the serial connection register 401 via the bypasses 450 in the fourth embodiment shown in
Instruction 664: a configuration instruction by which the contents of the serial connection register belonging to the domain designated in an operand “target” are stored into the setting memories 70 via the signal lines 80
Instruction 665: a read back instruction by which the contents of the setting memories 70 belonging to the domain designated in an operand “target” are stored into the serial connection register via the signal lines 80
The configuration methods according to the first to fifth embodiments are performed using the above-mentioned basic instructions 661 to 665 in the configuration example of the sixth embodiment shown in
The first embodiment shown in
The second embodiment shown in
The third embodiment shown in
The fourth embodiment shown in
The fourth embodiment shown in
The fifth embodiment shown in
As described above, it can be understood that the configuration procedures described in the respective embodiments can be attained using the basic instructions shown in
The CPU 640 or the instruction memory 650 according to the sixth embodiment may be configured so as to be mounted inside the same chip as that of the reconfigurable processor. In the case of such a configuration, it is possible to further produce a new effect capable of attaining fast data transfer using the wiring inside the chip.
Since the present invention can shorten the configuration time while suppressing increase in chip input/output lines, the reduction of the configuration time can be attained even in the case that the configuration is made large in size. Furthermore, the present invention is applicable to dynamic configurations in which short-time partial configuration is required during operation and thereby being useful for reconfigurable processors.
Although the present invention has been described in terms of the presently preferred embodiments, it is to be understood that such disclosure is not to be interpreted as limiting. Various alterations and modifications will no doubt become apparent to those skilled in the art to which the present invention pertains, after having read the above disclosure. Accordingly, it is intended that the appended claims be interpreted as covering all alterations and modifications as fall within the true spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2007-338792 | Dec 2007 | JP | national |