Method of self-synchronization of configurable elements of a programmable module
First Claim
1. A method for controlling data processing by an integrated circuit that includes a plurality of data processing elements that are arranged for at least one of arithmetically and logically processing data using a sequence of commands, the sequence including jumps, the method comprising:
- for each of a plurality of the processing elements that each include at least one corresponding register;
predefining at least one corresponding configuration command; and
storing each of the at least one corresponding configuration command in one of the at least one register corresponding to the processing element;
processing data in at least one first processing element;
obtaining at least one of a comparison, a sign, a carry-over, and an error state during the processing of the data in the at least one first processing element;
in response to the at least one of the comparison, the sign, the carry-over, and the error state, generating for the at least one second processing element at least one first synchronization signal within a data stream during runtime;
processing data in at least one second processing element in a stream-like manner; and
in response to the at least one first synchronization signal, selecting at least one particular command from the stored configuration commands in order to control a jump in the sequence.
2 Assignments
0 Petitions
Accused Products
Abstract
A method of synchronizing and reconfiguring configurable elements in a programmable unit is provided. A unit has a two- or multi-dimensional, programmable cell architecture (e.g., DFP, DPGA, etc.), and any configurable element can have access to a configuration register and a status register of the other configurable elements via an interconnection architecture and can thus have an active influence on their function and operation. By making synchronization the responsibility of each element, more synchronization tasks can be performed at the same time because independent elements no longer interfere with each other in accessing a central synchronization instance.
-
Citations
81 Claims
-
1. A method for controlling data processing by an integrated circuit that includes a plurality of data processing elements that are arranged for at least one of arithmetically and logically processing data using a sequence of commands, the sequence including jumps, the method comprising:
-
for each of a plurality of the processing elements that each include at least one corresponding register; predefining at least one corresponding configuration command; and storing each of the at least one corresponding configuration command in one of the at least one register corresponding to the processing element; processing data in at least one first processing element; obtaining at least one of a comparison, a sign, a carry-over, and an error state during the processing of the data in the at least one first processing element; in response to the at least one of the comparison, the sign, the carry-over, and the error state, generating for the at least one second processing element at least one first synchronization signal within a data stream during runtime; processing data in at least one second processing element in a stream-like manner; and in response to the at least one first synchronization signal, selecting at least one particular command from the stored configuration commands in order to control a jump in the sequence.
-
-
2. A runtime configurable processor comprising:
-
a plurality of configurable elements arranged in an array of more than one dimension, at least some of the plurality of configurable elements including an arithmetic logic unit, a configuration with respect to at least one of a function and an interconnection of at least one of the at least some configurable elements being reconfigurable at runtime in response to configuration data; at least one multiplexer adapted to determine the at least one of the function and the interconnection in response to a state machine, which is adapted to control the at least one multiplexer; and at least one storage component adapted for storing said configuration data; wherein the at least one storage component; is provided in the array; and is selectively connectable to at least one of the at least some configurable elements via the at least one multiplexer so as to allow for the runtime reconfiguration. - View Dependent Claims (3, 4, 5, 6, 7)
-
-
8. A runtime configurable processor comprising:
-
a plurality of configurable elements arranged in an array of more than one dimension, at least some of the plurality of configurable elements including an arithmetic logic unit, a configuration of at least one of a function and an interconnection of at least one of the at least some configurable elements being redeterminable at runtime in response to configuration select information; a multiplexer arrangement adapted for determining said at least one of the function and the interconnection in response to said configuration select information; at least one storage component adapted to store configuration data and provided in the array, wherein; the at least one storage component is selectively connectable to at least one of the at least some configurable elements via at least one multiplexer of said multiplexer arrangement so as to allow for the runtime configuration redetermination, configuration select information being pipelined through said array; and the at least one multiplexer receives configuration select information from said pipeline; and a state machine being provided to control the at least one multiplexer. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method for synchronizing data processing in a runtime configurable processor, the runtime reconfigurable processor comprising:
- a plurality of configurable elements arranged in an array of more than one dimension, at least some of the plurality of configurable elements including an arithmetic logic unit, a configuration of at least one of a function and an interconnection of at least one of the at least some configurable elements being redeterminable at runtime in response to configuration data; and
at least one storage component for the configuration data, the at least one storage component being provided in the array, the method comprising the steps of;processing data by the configurable elements; propagating processed data through the array; generating, by at least one of the configurble elements, at least one configuration select information signal in the array according to data being processed; propagating the at least one configuration select information signal in a pipelined manner, the propagation of the configuration select information signal being synchronous to the propagation of the processed data; and using the propagated configuration select information signal to one of trigger a certain action in data processing and put the at least one of the configurable elements in a certain state. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81)
- a plurality of configurable elements arranged in an array of more than one dimension, at least some of the plurality of configurable elements including an arithmetic logic unit, a configuration of at least one of a function and an interconnection of at least one of the at least some configurable elements being redeterminable at runtime in response to configuration data; and
Specification