WO2005078933A1 - プログラマブル論理回路 - Google Patents
プログラマブル論理回路 Download PDFInfo
- Publication number
- WO2005078933A1 WO2005078933A1 PCT/JP2005/001837 JP2005001837W WO2005078933A1 WO 2005078933 A1 WO2005078933 A1 WO 2005078933A1 JP 2005001837 W JP2005001837 W JP 2005001837W WO 2005078933 A1 WO2005078933 A1 WO 2005078933A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- setting information
- unit
- logic circuits
- logical operation
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17748—Structural details of configuration resources
- H03K19/17752—Structural details of configuration resources for hot reconfiguration
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17724—Structural details of logic blocks
- H03K19/17728—Reconfigurable logic blocks, e.g. lookup tables
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17736—Structural details of routing resources
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17748—Structural details of configuration resources
- H03K19/17756—Structural details of configuration resources for partial configuration or partial reconfiguration
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17748—Structural details of configuration resources
- H03K19/1776—Structural details of configuration resources for memories
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/1778—Structural details for adapting physical parameters
- H03K19/17796—Structural details for adapting physical parameters for physical disposition of blocks
Definitions
- the present invention relates to a programmable logic circuit capable of realizing a predetermined logical operation function by programming, and more particularly to a dynamic programmable logic circuit that performs processing while dynamically changing an internal configuration. is there.
- a conventional programmable logic circuit is described in Patent Document 1.
- This conventional programmable logic circuit is a dynamically reconfigurable field programmable logic device that uses a dynamic interconnect array, a latch circuit, and a dynamic logic core to execute the circuit to be implemented stepwise.
- a large-scale logic circuit is realized, a plurality of the programmable logic circuits are connected in series, and logic processing of each level is executed sequentially.
- the conventional programmable logic circuit uses a circuit level counter indicating a circuit level and an internal counter indicating an internal level, and when the internal level of the first chip reaches a specified level, Is controlled to operate the chip. That is, in the above-mentioned conventional programmable logic circuit, the circuit level is divided and implemented on a chip-by-chip basis.
- Patent Document 1 Japanese Patent Publication No. Hei 8-510885
- the present invention has been made in view of the power points, and has an object to provide a low-cost programmable logic circuit having high area efficiency and capable of realizing a large-scale logic circuit at high speed.
- a first aspect of the present invention is directed to a plurality of unit logic circuits connected in parallel, input signal control means for supplying an input signal received from outside to the plurality of unit logic circuits, and Output signal control means for supplying an output signal of the unit logic circuit to the outside, wherein the function of each of the plurality of unit logic circuits can be changed based on first setting information.
- a logical operation means for performing predetermined logical operation processing on an input signal to generate data, and generating data by performing alignment, duplication and inversion of the data from the logical operation means based on second setting information
- Data processing means for giving the output signal to the output signal control means, storage means for storing the first and second setting information, and receiving the setting information for branching and receiving the setting information for branching based on the setting information for branching.
- a second aspect of the present invention is directed to a plurality of unit logic circuits connected in parallel, input signal control means for supplying an input signal received from the outside to the plurality of unit logic circuits, Output signal control means for supplying the output signal of the unit logic circuit to the outside.
- Each of the plurality of unit logic circuits is capable of changing its function based on the first setting information, and performs a predetermined logic operation on the input signal to generate data;
- a data processing unit that generates data by performing alignment, duplication, and inversion of the data from the logical operation unit based on second setting information, and provides the output signal to the output signal control unit;
- storage means for storing second setting information; receiving the setting information for stopping; and the logical operation means based on the setting information for stopping.
- Memory control means for controlling the stop of the data processing means, wherein each of the plurality of unit logic circuits is based on the first and second setting information sequentially read from the storage means.
- a configuration is adopted in which some or all of the functions of the logical operation means and the data processing means are sequentially changed to perform the operation of a predetermined sequential circuit.
- a third aspect of the present invention is directed to a plurality of unit logic circuits connected in parallel, input signal control means for supplying an input signal received from outside to the plurality of unit logic circuits, Connecting means for connecting one of the unit logic circuits and another of the unit logic circuits which are physically adjacent to the one unit logic circuit in the unit logic circuit, and the plurality of unit logic circuits Output signal control means for supplying the output signal of the above to the outside, wherein each of the plurality of unit logic circuits is capable of changing its function based on the first setting information, Logic operation means for performing predetermined logic operation processing on data from the other unit logic circuit to generate a data, and aligning the data from the logic operation means based on second setting information.
- Data processing means for generating data as the output signal and providing the output signal to the output signal control means; storage means for storing the first and second setting information; Memory control means for reading out one of the first and second setting information from the storage means based on the setting information for use and controlling the logical operation means and the data processing means.
- Each of the plurality of unit logic circuits sequentially changes some or all of the functions of the logical operation means and the data processing means based on the first and second setting information sequentially read from the storage means. In this configuration, a predetermined sequential circuit operates.
- a fourth aspect of the present invention is directed to a fourth aspect, wherein a plurality of unit logic circuits connected in parallel, input signal control means for supplying an input signal received from the outside to the plurality of unit logic circuits, Connecting means for connecting one of the unit logic circuits and another of the unit logic circuits which are physically adjacent to the one unit logic circuit in the unit logic circuit, and the plurality of unit logic circuits Output signal control means for supplying the output signal of the above to the outside, wherein each of the plurality of unit logic circuits is capable of changing its function based on the first setting information, Data from the other unit logic circuit A logical operation means for generating data by performing a predetermined logical operation processing on any of the above, and performing data alignment, duplication and inversion processing from the logical operation means on the basis of second setting information to convert the data.
- Data processing means for generating and providing the output signal as the output signal to the output signal control means; storage means for storing the first and second setting information; Memory control means for controlling the stop of the logical operation means and the data processing means based on the first and second data read from the storage means sequentially from the storage means. Based on the setting information, part or all of the functions of the logical operation means and the data processing means are sequentially changed to operate a predetermined sequential circuit.
- a fifth aspect of the present invention is directed to a fifth aspect, wherein a plurality of unit logic circuits connected in parallel, an input signal control means for supplying an input signal received from the outside to the plurality of unit logic circuits, Output signal control means for supplying the output signal of the unit logic circuit to the outside.
- each of the plurality of unit logic circuits is capable of changing its function based on any of the first setting information, and generates data by performing a predetermined logical operation on the input signal.
- Logical operation means and performs data alignment, duplication, and inversion processing from the logical operation means based on any of the second setting information to generate data, and outputs the data to the output signal control means as the output signal.
- Memory control means for storing a start position address indicating a start position of a storage position address of the first and second setting information in the storage means based on any of the plurality of unit logics.
- Each of the circuits is configured to read the logical operation means and the data based on one of the first and second setting information sequentially read from the storage means based on the head position address stored in the memory control means.
- a configuration is adopted in which some or all of the functions of the processing means are sequentially changed to operate a predetermined sequential circuit.
- a sixth aspect of the present invention is directed to a sixth aspect, wherein a plurality of unit logic circuits connected in parallel, A connection unit for connecting one unit logic circuit in the unit logic circuit and another unit logic circuit adjacent in physical arrangement to the one unit logic circuit; and Input signal control means for supplying to a plurality of unit logic circuits, and output signal control means for supplying output signals of the plurality of unit logic circuits to the outside, the input signal control means based on the input signal Means for providing a control signal to the plurality of unit logic circuits, and means for providing index information to the plurality of unit logic circuits when an index instruction signal is received.
- the function can be changed based on either the S or the first setting information, and the data is obtained by performing a predetermined logical operation on the input signal or data from the adjacent unit logic circuit.
- Logic operation means for generating data, and performing data alignment, duplication and inversion processing from the logic operation means based on any of the second setting information to generate data and output the data as the output signal.
- Data processing means to be provided to the signal control means, storage means for storing the first and second setting information, and any one of the control signal and the index information when receiving any of the control signal and the index information
- Memory control means for storing a head position address indicating a head position of a storage position address of the first and second setting information in the storage means based on the first and second setting information.
- a low-cost programmable logic circuit having high area efficiency and capable of realizing a large-scale logic circuit at high speed can be provided.
- FIG. 1 is a block diagram showing a configuration of a programmable logic circuit according to Embodiment 1 of the present invention.
- FIG. 2 is a block diagram showing a configuration of a processor element of the programmable logic circuit according to Embodiment 1 of the present invention.
- FIG. 3 is a diagram illustrating a processor element of a programmable logic circuit according to Embodiment 1 of the present invention. Block diagram showing the configuration of the logic element
- FIG. 18 A block diagram showing a processing circuit for implementing a programmable logic circuit
- FIG. 19 is a diagram for explaining a storage state of setting information inside a memory device when branch control of the programmable logic circuit according to Embodiment 2 of the present invention is not used.
- FIG. 20 is a diagram for explaining a storage state of setting information inside a memory device when branch control of the programmable logic circuit according to Embodiment 2 of the present invention is used.
- FIG. 21 is a diagram for explaining stop setting information used for stop control by the programmable logic circuit according to Embodiment 3 of the present invention.
- FIG. 22 is a block diagram showing a configuration of a programmable logic circuit according to Embodiment 4 of the present invention.
- FIG. 23 is a block diagram showing a configuration of a processor element of a programmable logic circuit according to Embodiment 4 of the present invention.
- FIG. 24 is a block diagram showing a configuration of a logic element of a processor element of a programmable logic circuit according to Embodiment 4 of the present invention.
- FIG. 25 shows a configuration of a memory device of a programmable logic circuit according to Embodiment 4 of the present invention.
- FIG. 1 is a block diagram showing a configuration of a programmable logic circuit according to Embodiment 1 of the present invention.
- the programmable logic circuit 100 includes a plurality of processor elements 101, a plurality of memory devices 102, an input / output control unit 103, a control bus 104, and an input bus. 105 and an output bus 106.
- a clock generation circuit 107 and a user circuit 108 are connected to the programmable logic circuit 100.
- the plurality of processor elements 101 and the plurality of memory devices 102 are connected on a one-to-one basis.
- the processor element 101 and the memory device 102 connected one-to-one form a unit logic circuit.
- the plurality of unit logic circuits are connected in parallel.
- Each of the plurality of processor elements 101 is one-dimensionally arranged in a line, and is connected to two other processor elements 101 that are physically adjacent to each other by a connection line 101a. That is, the plurality of unit logic circuits are arranged one-dimensionally in one row, and are physically arranged with respect to one of the unit logic circuits and one of the unit logic circuits in the plurality of unit logic circuits.
- the other unit logic circuits adjacent to each other are connected by a connection line 101a.
- the processor element 101 exchanges data with two adjacent other processor elements 101 using a connection line.
- the input / output control unit 103 is an interface circuit with the outside, and is connected to the user circuit 108.
- the control bus 104 is connected to the input / output control unit 103 and the processor element 101.
- the control bus 104 receives control signals for initialization, activation, and the like from the input / output control unit 103 and transfers them to each processor element 101.
- the input bus 105 is connected to the input / output control unit 103 and the processor element 101.
- the input bus 105 receives data used for a logical operation from the input / output control unit 103 and transfers the data to each processor element 101.
- the output bus 106 is connected to the input / output control unit 103 and the processor element 101.
- the output bus 106 receives the operation result data from the processor element 101 and transfers the data to the input / output control unit 103.
- the clock generation circuit 107 generates an internal clock signal 109 and a user clock signal 110.
- the user clock signal 110 is used in the user circuit 108 and the input / output control unit 103.
- the internal clock signal 109 has a frequency that is a multiple of the user clock signal 110 and is used inside the programmable logic circuit 100.
- the contents of the logical operation performed by the programmable logic circuit 100 are stored in the memory device 102 as setting information.
- Each processor element 101 sequentially reads the setting information of the memory device 102 and performs a corresponding logical operation process.
- the programmable logic circuit 100 receives a start signal and data used for a logical operation from the user circuit 108 in synchronization with the user clock signal 110. After a certain period of time, The gramable logic circuit 100 supplies the data after the logical operation processing to the user circuit 108 in synchronization with the user one clock signal 110.
- each memory device 102 stores setting information of an adjacent processor element 101.
- the memory device 102 gives setting information specified by the address to the processor element 101.
- the processor element 101 determines the processing content to be executed based on the setting information.
- the processor element 101 When the initialization signal is input from the control bus 104, the processor element 101 reads a specific address of the memory device 102, extracts and stores a storage location address of the setting information from the input read data. I do.
- This storage position address is an address indicating the head position of the setting information.
- the processor element 101 When a start signal is input from the control bus 104, the processor element 101 sequentially reads setting information from the stored storage location address of the memory device 102. Further, the processor element 101 receives the data for logical processing from the input bus 105 and the adjacent processor element 101, performs logical processing of the data based on the setting information, and then arranges the data in a 1J, duplicates and inverts the data. And retain the data after processing. Further, the processor element 101 outputs the held processed data to the output bus 106 and the adjacent processor element 101.
- the input / output control unit 103 receives a start signal and data for logic processing synchronized with the user clock signal 110 from the user circuit 108, and supplies the data to the input bus 105 in synchronization with the internal clock signal 109. Also, the input / output control unit 103 receives an initialization signal synchronized with the user clock signal 110 from the user circuit 108 and outputs this data to the input bus 105 in synchronization with the internal clock signal 109. Further, the input / output control unit 103 receives data after logic processing synchronized with the internal clock signal 109 from the output bus 106, and outputs this data to the user circuit 108 in synchronization with the user clock signal 110. This In this way, the input / output control unit 103 exchanges control signals, data for logic processing, and data of processing results with the user circuit 108.
- FIG. 2 shows a configuration of the processor element 101.
- the processor element 101 includes a logic element 200 and a memory control unit 201.
- the processor element 101 is connected to a memory device 102, a control bus 104, an input bus 105, and an output bus 106, and is connected thereto.
- the memory control unit 201 is connected to the memory device 102, the logic element 200, the control bus 104, and the data bus 111.
- the logic element 200 is connected to the logic element 200 and the memory control unit 201 of the adjacent processor selection 101, the input bus 105, the output bus 106, and the data bus 111.
- the memory control unit 201 upon receiving an initialization signal from the control bus 104, the memory control unit 201 performs the above-described process of extracting and holding the storage location address.
- the memory control unit 201 sequentially reads the setting information from the stored storage position address of the memory device 102 and transfers the setting information to the logic element 200.
- the logic element 200 receives data from the input bus 105 and the adjacent processor element 101, performs logic processing on the data based on the setting information transferred from the memory control unit 201, and then arranges and copies the data. And perform inversion processing, and hold the processed data.
- the logic element 200 outputs the processed data to the output bus 106 and the adjacent processor element 101 based on the setting information transferred from the memory control unit 201.
- FIG. 3 shows a configuration of the logic element 200.
- FIG. 4 shows the configuration information and the configuration of the memory device 102.
- a logic element 200 includes a logic sensor 300 and a cross-connect switch 30.
- the logic element 200 is 1. Connected to input bus 105 and output bus 106.
- the logic cell 300 is connected to the memory control unit 201, flip-flop 302, and cross-connect switch 301.
- the cross connect switch 301 is connected to the memory control unit 201, the logic cell 300, the flip-flop 302, the input bus 105, and the logic cell 300 inside the adjacent logic element 200.
- the flip-flop 302 is connected to the logic sensor 300, the cross-connect switch 301, the output bus 106, and the memory control unit 201.
- the logic cell 300 forms a logic operation circuit.
- the cross-connect switch 301 constitutes a data processing device. Further, the cross-connect switch 301 and the flip-flop 302 constitute a data processing device.
- FIG. 4 shows a configuration of the memory device.
- storage address information of the setting information is stored in a head portion inside the memory device 102.
- the setting information is stored in a specific area inside the memory device 102 other than the head portion.
- bits 25 to 26 are setting information of the logic cell 300, and bits 0 to 24 are setting information of the cross-connect switch 301.
- Bits 0 to 24 are composed of 4-bit connection information and 1-bit inversion control information corresponding to the five outputs of the cross-connect switch 301 in 5-bit units.
- the logic cell 300 performs a specific logic process specified by the setting information transferred from the memory control unit 201 on the data input from the flip-flop 302, and the cross-connect switch 301 , And outputs the processed data to the logic element 200 of the adjacent processor element 101.
- the cross-connect switch 301 is provided for the specific data specified by the setting information transferred from the memory control unit 201 with respect to the data to which the logic cell 300, the input bus 105, and the logic element 200 of the adjacent processor element 101 are also input. 1J, perform duplication and inversion, and output the processed data to flip-flop 302.
- the flip-flop 302 holds the data input from the cross-connect switch 301 at the timing of the internal clock signal 109.
- the flip-flop 302 outputs the held data to the logic cell 300 and the output bus 106.
- FIG. 5 shows an example of the function and operation of the logic cell 300 in this case.
- the logic cell 300 when the setting information is 00, the logic cell 300 outputs a logical sum (OR) of the input data.
- the logic cell 300 When the setting information is 01, the logic cell 300 outputs a logical product (AND) of the input data.
- the logic cell 300 When the setting information is 10, the logic cell 300 outputs an exclusive OR (X ⁇ R) of the input data.
- the logic cell 300 outputs inverted data (N ⁇ R) of the logical sum of the input data.
- the logic sensor 300 is a circuit that can realize a plurality of different logic functions based on the setting information.
- FIG. 7 shows an example of internal blocks and functions of the cross-connect switch 301.
- each output data of the interconnecting unit 700 is exclusive-ORed with one bit of the setting information and output to the outside.
- This XOR is for inverting the output data from the cross-connect switch 301 in bit units based on the setting information. In this case, since the number of outputs is 2, two bits of setting information are used in the XOR part, so that the setting information used by the entire cross-connect switch 301 is a total of six bits.
- FIG. 8 shows a functional example of the interconnect 700 in this case.
- the interconnecting unit 700 selects the data whose two MSBs of the setting information are output to OUT1 and the data whose two LSBs are output to OUT2.
- the interconnecting unit 700 outputs the input data A when the setting information is 00, and outputs the input data B when the setting information is 01.
- Interconnection section 700 outputs input data C when the setting information is 10, and outputs low level when the setting information is 11.
- the cross-connect switch 301 can arrange, copy, and invert a plurality of pieces of input data based on the setting information, and can output a fixed value set in the setting information.
- FIG. 9 and 10 show examples of the operation timing of the programmable logic circuit 100.
- FIG. 9 shows the operation of the initialization from the outside.
- Fig. 10 shows the operation of external activation and actual logical processing.
- the input / output control unit 103 receives the initialization signal 900 synchronized with the user clock signal 110 from the user circuit 108, and holds it as the internal initialization signal 901.
- the input / output control unit 103 outputs the held internal initialization signal 901 to the control bus 104 in synchronization with the internal clock signal 109.
- the internal initialization signal 902 of the control bus 104 is input to the memory control units 201 of all the processor elements 101.
- the memory control unit 201 of the processor element 101 outputs a read signal 903 to a specific address 904 of the memory device 102 by using the input internal initialization signal 902 as a trigger. After that, the memory control unit 201 once holds the input read data 905 as the holding data 906, and extracts and holds the storage location address 907 of the setting information from the holding data 906.
- the storage location address 907 of the setting information is stored in each processor element 101, and the processing element can be executed at any time.
- the programmable logic circuit 100 is in a startup waiting state.
- the input / output control unit 103 receives the start signal 1000 and the processing data 1001 synchronized with the user clock signal 110 from the user circuit 108, and holds them as the internal start signal 1002 and the processing data 1003.
- the input / output control unit 103 outputs the held internal activation signal 1002 to the control bus 104 in synchronization with the internal clock signal 109. Further, the input / output control unit 103 outputs the held internal processing data 1003 to the input bus 105 in synchronization with the internal clock signal 109.
- the internal activation signal 1004 of the control bus 104 is input to the memory control units 201 of all the processor elements 101.
- the logic processing data 1005 of the input bus 105 is input to the logic elements 200 of all the processor elements 101.
- the memory control unit 201 of each of the processor elements 101 triggers the input internal activation signal 1004.
- a read signal 903 is output to the storage position address 907 held in the memory device 102 during the T3 period.
- each memory control unit 201 holds the read data 905 output from the memory device 102 as the holding data 906.
- the memory control unit 201 outputs a read signal 603 to the next address of the memory device 102.
- each memory control unit 201 outputs the held data 906 to the logic element 200.
- Each memory control unit 201 holds read data 905 output from the memory device 102.
- each memory control unit 201 outputs a read signal to the next address of the memory device 102.
- Each logic element 200 performs alignment, duplication, and inversion of the logic processing data 1005 from the input bus 105 based on the input held data (setting information) 906, and stores the processed data in an internal flip-flop. Hold at 302.
- each memory control unit 201 outputs the held data 906 to the logic element 200.
- each memory control unit 201 internally holds read data 905 output from the memory device 102.
- each memory control unit 201 outputs a read signal to the next address of the memory device 102.
- Each logic element 200 performs logic processing on the logic processing data 1005 from the flip-flop 302, the input bus 105, and the adjacent processor element 101 based on the input held data (setting information) 906. Then, the processed data is held in the flip-flop 302.
- one logical process is realized by repeating the process in the T10 period.
- the data of the flip-flop 302 has been output to the output bus 106, and the input / output control unit 103 always holds this data in synchronization with the internal clock signal 109.
- the input / output control unit 103 outputs the held data to the user circuit 108 in synchronization with the user clock signal 110.
- the user circuit 108 refers to the flag of the input data and holds output data (data after logic processing) or holds data after a predetermined period.
- FIG. 11 shows the function of a logic cell 300 having two inputs and two outputs.
- FIG. 12 shows an example in which a 4-bit comparison circuit is mapped to a programmable logic circuit 100 having a logic cell 300.
- FIG. 12 four physically different processor elements 101 are shown in the vertical direction, and what kind of processing the same processor element 101 performs in each cycle is shown in the horizontal direction.
- FIG. 13 shows a 4-bit comparison circuit. As shown in Fig. 13, as input data, I
- the input and output of the logic cell (LC) 300 are LSB on the upper side and MSB on the lower side.
- the data described below the logic cell (LC) 300 is setting information for the logic cell (LC) 300.
- the plurality of logic cells (LC) 300 operate as shown in FIG. First, in cycles 1 and 2, the plurality of logic cells (LCs) 300 arrange input data in bit units. In cycle 3, the plurality of logic cells (LC) 300 perform XNOR processing on each bit. In cycle 4, the plurality of mouth cells (LC) 300 perform an AND operation on the result of cycle 3. In cycle 5, the plurality of logic cells (LC) 300 perform an AND operation on the result of cycle 4. In cycle 6, the plurality of logic cells (LC) 300 output a comparison result.
- the output is determined in six cycles of the internal clock signal 109.
- the user circuit 108 looks as if the comparison process is completed in one clock.
- the memory control unit 201 is connected to the memory device 102, the control bus 104, and the data bus 111.
- the input terminal of the memory control unit 201 is connected to the output terminal of the flip-flop 302 of the logic element 200.
- the output terminal of the memory control unit 201 is connected to the logic cell 300 of the logic element 200 and the cross-connect switch 301.
- Memory control unit 201 transmits and receives information to and from memory device 102 based on a control signal from control bus 104, and receives data bus data 1111 from data bus 111. Further, the memory control unit 201 receives the flip-flop data 3021 from the flip-flop 302.
- FIG. 14 is a diagram for explaining the configuration of branch setting information used for branch control by the programmable logic circuit 100.
- the branch setting information 1400 includes a code 1401 indicating a branch, a selection code (REF) 1402 for branch determination data, a branch destination address iMPB) 1403, and a branch destination address (JMPA) 1404.
- REF selection code
- iMPB branch destination address
- JMPA branch destination address
- a code 1401 indicating a branch is composed of bits 2421. If “1111”, it indicates a branch, and if it is not “1111”, it indicates a normal process other than the branch.
- the branch determination data selection code 1402 is composed of bits 19 and 16 and is information for selecting data used for branch determination. In this example, the selection code 1402 of the data for branch determination is used as information for selecting a specific bit from the data bus data 1111 and the flip-flop data 3021.
- the memory control unit 201 in a series of read operations from the memory device 102, refers to bits 24 to 21 of the read data and, when the data value is other than “1111”, reads the read data. Is determined to be normal setting information, the data is directly transferred to the logic element 200, and normal processing is continued.
- bits 24 to 21 are “1111”
- the memory control unit 201 determines that the read data is branch control information, and causes the logic element 200 to temporarily stop the operation of pseudo setting information, for example, all “0”.
- the memory control unit 201 selects a specific one bit from the data bus data 1111 and the flip-flop data 3021 according to the REF bit, and when the selected bit is “1”, the memory control unit 201 Set the address specified by JMPB to the read address to be output. When the selected bit is “0”, the memory control unit 201 sets the read address to be output to the memory device 102 to the address specified by JMPA. Thereafter, the memory control unit 201 reads the setting information of the memory device 102 in order from the set address and transfers the setting information to the logic element 200.
- FIG. 15 is a block diagram showing a processing circuit on which a programmable logic circuit is mounted.
- the processing circuit 1500 operates so that the selector 1501 outputs one of the processing results of the circuit A and the circuit B to the outside according to the processing result of the circuit C.
- each of the circuits A, B, and C is realized using one processor element.
- the number of processor elements mounted on the processing circuit (LSI) 1500 is three.
- FIG. 16 shows a processing cycle when branch control of the programmable logic circuit is not used.
- FIG. 16 shows the processing latency of each circuit in the clock cycle progression from left to right.
- the processing latency of circuit A is 5 cycles.
- the processing latencies of Circuit B and Circuit C are 5 and 6 cycles, respectively.
- circuits A and B only hold data in the cycle until the processing of circuit C is completed.
- one processor element receives the results of the circuits A and B, executes the processing of the selector 1501 in FIG. 15, and outputs the processing result data of the processing circuit 1500 to the outside.
- FIG. 17 shows a processing routine when branch control of the programmable logic circuit 100 is used.
- the process of only the circuit C is performed until the cycle 6 in FIG. 16, and in the cycle 7, the branch determination is executed using the result data of the circuit C.
- the branch control by executing the branch control, it is possible to reduce a part of the processing that is executed in parallel at the same time and is consequently wasted. it can.
- this branch control for processing that requires a long time to output, other processing can be assigned to the processor element 101 that is in an idle state, so that the overall processing performance can be improved.
- the number of processor elements is sufficient for the circuit to be mounted, and even in such a case, the overall processing performance can be particularly effectively improved.
- Embodiment 2 of the present invention improves memory use efficiency by branch control processing.
- FIG. 18 is a block diagram showing a processing circuit for mounting a programmable logic circuit.
- a processing circuit 1800 is a circuit that performs processing in the order of circuit A, circuit B, circuit C, circuit A, and circuit D.
- the first circuit A and the third circuit A perform the same processing on the input.
- FIG. 19 is a diagram for explaining a storage state of setting information inside memory device 102 when branch control of programmable logic circuit 100 is not used.
- circuit A uses a 40-word memory area
- circuits B, C, and D each use a 20-word memory area.
- the processing circuit 1800 in FIG. 18 is executed in order up to the address 10 of the memory device 102 up to 150, and uses an area of 140 words in total.
- FIG. 20 is a diagram for explaining a storage state of setting information inside memory device 102 when branch control of programmable logic circuit 100 is used.
- Figure 20 Then, after the processing of the circuit A, the branch control information jumping to the head address of the circuit B or the circuit D is inserted. Also, after the processing of the circuit C, branch control information that jumps to the top address of the circuit A or the circuit D is inserted.
- the processing order is as follows. First, the address 10 is read, and after the processing of the circuit A is completed, the processing jumps to the address 51 by branching to perform the processing of the circuit B. Thereafter, the processing of the circuit C is performed. After the processing is completed, the processing jumps to the address 10 by branching and the circuit A is processed again.
- the processing jumps to the address 92 by branching, and the processing of the circuit D is performed. As a result, the area for one circuit A is reduced.
- a branching method there is a method in which a flag bit is generated when the processing of the circuit C is completed, and the flag bit is used.
- the memory area of the circuit used a plurality of times can be reduced, so that the functional mounting efficiency of the entire circuit is reduced. Increase.
- the same process may be repeatedly executed, for example, in the process of monitoring external input data or in the process of counting up to a specific value.
- a circuit that performs specific processing after counting up to 100 inserts branch control information after the circuit that performs +1 processing, and sets the counter value and fixed value as branch determination conditions. By using 100 comparison results, the area can be greatly reduced.
- branching addresses it is not necessary to limit the number of branching addresses to two, and the number of bits to be referred to may be increased, and many branching destination addresses may be set.
- the configuration of the programmable logic circuit according to the third embodiment of the present invention is the same as that of the programmable logic circuit 100 according to the first embodiment of the present invention.
- the programmable logic circuit according to the third embodiment of the present invention improves mounting efficiency by stopping control.
- FIG. 21 is a diagram for explaining stop setting information used for stop control by the programmable logic circuit 100 according to Embodiment 3 of the present invention.
- the stop setting information 2100 includes a code 2101 indicating a branch, a code (REF) 2102 indicating a stop, and a stop cycle number 2103.
- the code 2101 indicating a branch is composed of bits 24 to 21. When “1111” is set, it indicates a branch, and when it is not "1111", it indicates normal processing other than the branch.
- the stop code 2102 is composed of bits 19 to 16 and is information indicating whether or not the stop is performed.
- the number of stop cycles 2103 is information on the number of stop cycles (stop period) when the code 2102 indicating stop indicates stop.
- the memory control unit 201 in the operation of reading information from the memory device 102, refers to bits 24 to 21 of the read information, and when the data value is other than “1111”, reads the data. It determines that the received information is normal setting information, transfers the information as it is to the logic element 200, and continues normal processing. When bits 24-21 of the read information are “1111” and the REF bit is other than “1111”, the memory control unit 201 determines that the read information is a branch code, and The operation of is performed.
- the memory control unit 201 determines that the read information is a stop code, Latch bits 0-7 internally and start counting up the internal counter. The count-up continues until the counter value reaches the value of the latch data, and at the same time, pseudo setting information for stopping the operation to the logic element 200, for example, data of all zeros, is continuously transferred. During this time, the memory control unit 201 does not read information from the memory device 102. Thereafter, when the counter value reaches the value of the latch data, the memory control unit 201 starts reading information from the memory device 102 again and resumes the normal operation.
- 100 is capable of operating a plurality of processor elements 101 independently or in a joint manner, capable of simultaneously performing a plurality of types of logical processing in parallel, and of jointly performing one logical processing. It is also possible to do.
- the programmable logic circuit 100 since the same elements are one-dimensionally arranged in one row, the programmable logic circuit 100 flexibly responds to the mounting scale. Possible and highly extensible. Further, the programmable logic circuit 100 according to the first, second, and third embodiments of the present invention can significantly reduce setting information by limiting data transmission and reception between adjacent processor elements 101. Thus, the circuit area can be reduced, and the cost and power consumption of the LSI to be mounted can be reduced.
- the programmable logic circuit 100 according to the first, second, and third embodiments of the present invention is different from the flip-flop of an arbitrary processor element 101 irrespective of the number of mounting elements from the flip-flop of another adjacent processor element 101. Since the wiring distance to the loop is minimal and constant, the operating frequency can be raised to its limit, and high-speed operation is possible compared to conventional programmable logic.
- the programmable logic circuit 100 performs processing while changing the repetitive function on the same circuit, so that the circuit area can be reduced, and LSI cost and power consumption can be reduced.
- the internal clock signal 109 does not necessarily have to be a multiple of the user's one clock signal 110.
- the input / output control unit 103 is provided with an appropriate clock transfer circuit. By using this, a clock signal that is not synchronized with the user clock signal 110 may be used as the internal clock signal.
- the memory device 102 may be configured to exist outside the programmable logic circuit 101, which need not be inside the programmable logic circuit 100.
- the clock generation circuit 107 may be provided inside the programmable logic circuit 100.
- a selection circuit such as a multiplexer is inserted between the memory device 102 and the processor element 101, and the memory device 102 and each processor element 101 May be changeable.
- the amount of delay in data processing increases. Therefore, in order to maintain the frequency, it is necessary to increase the speed using a pipeline or the like.
- the connection between the block and the input bus 105, the output bus 106, and the adjacent logic element 200 is not limited to the one shown in FIG. 3, for example, by providing a flip-flop between the logic cell 300 and the cross-connect switch 301, The operating frequency may be further increased.
- data from input bus 105 may be input to logic cell 300 or flip-flop 302 instead of cross-connect switch 301.
- each of the plurality of processor elements 101 may not be connected to another processor element 101.
- FIG. 22 is a block diagram showing a configuration of a programmable logic circuit according to Embodiment 4 of the present invention.
- the same components as those in the first embodiment of the present invention are denoted by the same reference numerals, and their description is omitted.
- the programmable logic circuit 2200 includes a plurality of processor elements 101, a plurality of memory devices 102, an input / output control unit 103, a control bus 104, and an input bus 105. And an output bus 106.
- the clock generation circuit 107 and the user circuit 108 are connected to the programmable logic circuit 2200.
- the plurality of processor elements 101 and the plurality of memory devices 102 are connected on a one-to-one basis.
- the processor element 101 and the memory device 102 connected one-to-one form a unit logic circuit.
- the plurality of unit logic circuits are connected in parallel.
- Each of the plurality of processor elements 101 is one-dimensionally arranged in one row, and is connected to two other processor elements 101 that are physically adjacent to each other by a connection line 101a. That is, the plurality of unit logic circuits are arranged one-dimensionally in one row, and are physically arranged with respect to one of the unit logic circuits and one of the unit logic circuits in the plurality of unit logic circuits.
- the other unit logic circuits adjacent to each other are connected by a connection line 101a.
- the processor element 101 exchanges data with two adjacent processor elements 101 using a connection line.
- the input / output control unit 103 is an interface circuit with the outside, and is connected to the user circuit 108.
- the input / output control unit 103 receives an input signal 1081 and an index instruction signal 1082 from the user circuit 108.
- the control bus 104 is connected to the input / output control unit 103 and the processor element 101.
- the control bus 104 receives control signals for initialization, activation, and the like from the input / output control unit 103 and transfers them to each processor element 101.
- the input bus 105 is connected to the input / output control unit 103 and the processor element 101.
- the input bus 105 receives data used for a logical operation from the input / output control unit 103 and transfers the data to each processor element 101.
- the output bus 106 is connected to the input / output control unit 103 and the processor element 101.
- the output bus 106 receives the operation result data from the processor element 101 and transfers the data to the input / output control unit 103.
- the clock generation circuit 107 generates an internal clock signal 109 and a user clock signal 110.
- the user clock signal 110 is used in the user circuit 108 and the input / output control unit 103.
- the internal clock signal 109 has a frequency which is twice the frequency of the user clock signal 110 and is used inside the programmable logic circuit 2200.
- the index bus 2201 is connected to the input / output control unit 103 and the processor element 101.
- the contents of the logical operation performed by the programmable logic circuit 2200 are stored in the memory device 102 as setting information.
- Each processor element 101 has a memory
- the setting information of the device 102 is sequentially read, and a corresponding logical operation process is performed.
- Programmable logic circuit 2200 receives a start signal and data used for a logical operation from user circuit 108 in synchronization with user clock signal 110. After a certain period of time, the programmable logic circuit 2200 supplies the data after the logical operation processing to the user circuit 108 in synchronization with the user one clock signal 110.
- each memory device 102 stores setting information of an adjacent processor element 101.
- the memory device 102 provides the processor element 101 with setting information specified by the address.
- the processor element 101 determines the processing content to be executed based on the setting information.
- the processor element 101 When an initialization signal is input from the control bus 104, the processor element 101 reads a specific address of the memory device 102, extracts a storage location address of setting information from input read data, and holds the address. I do.
- This storage position address is an address indicating the head position of the setting information.
- the processor element 101 When the activation signal is input from the control bus 104, the processor element 101 sequentially reads the setting information from the stored storage location address of the memory device 102. Further, the processor element 101 receives the data for logical processing from the input bus 105 and the adjacent processor element 101, performs logical processing of the data based on the setting information, and then arranges the data in a 1J, duplicates and inverts the data. And retain the data after processing. Further, the processor element 101 outputs the held processed data to the output bus 106 and the adjacent processor element 101.
- the input / output control unit 103 receives a start signal and data for logic processing synchronized with the user clock signal 110 from the user circuit 108, and supplies the data to the input bus 105 in synchronization with the internal clock signal 109. Also, the input / output control unit 103 receives an initialization signal synchronized with the user clock signal 110 from the user circuit 108, and transmits this data to the internal clock. Output to the input bus 105 in synchronization with the signal 109.
- the input / output control unit 103 receives data after logic processing synchronized with the internal clock signal 109 from the output bus 106, and outputs this data to the user circuit 108 in synchronization with the user clock signal 110. In this way, the input / output control unit 103 exchanges control signals, data for logic processing, and data of processing results with the user circuit 108.
- FIG. 23 shows a configuration of the processor element 101.
- the processor element 101 includes a logic element 200 and a memory control unit 201.
- the processor element 101 is connected to a memory device 102, a control bus 104, an input bus 105, and an output bus 106.
- the memory control unit 201 is connected to the memory device 102, the logic element 200, and the control bus 104.
- the logic element 200 is connected to the logic element 200 and the memory control unit 201, the input bus 105, and the output bus 106 of the adjacent processor selection 101.
- the memory control unit 201 when receiving an initialization signal from the control bus 104, the memory control unit 201 performs the above-described process of extracting and holding the storage location address.
- the memory control unit 201 sequentially reads out setting information from the stored storage position address of the memory device 102, temporarily stores the setting information, and transfers it to the logic element 200.
- the logic element 200 receives data from the input bus 105 and the adjacent processor element 101, performs logical processing on the data based on the setting information transferred from the memory control unit 201, and then aligns and copies the data. And perform inversion processing, and hold the processed data.
- the logic element 200 outputs the processed data to the output bus 106 and the adjacent processor element 101 based on the setting information transferred from the memory control unit 201.
- FIG. 24 shows a configuration of logic element 200.
- Figure 25 shows the setup information and menu. The configuration of the memory device 102 is shown.
- the logic element 200 includes a logic cell (logic operation circuit) 300, a cross-connect switch (data processing device) 301, and a flip-flop 302.
- the logic element 200 is connected to the memory control unit 201, the input bus 105, and the output bus 106.
- the logic cell 300 is connected to the memory control unit 201, the flip-flop 302, and the cross-connect switch 301.
- the cross-connect switch 301 is connected to the memory control unit 201, the logic gate 300, the flip-flop 302, the input bus 105, and the logic cell 300 inside the adjacent logic element 200.
- the flip-flop 302 is connected to the logic cell 300, the cross-connect switch 301, and the output bus 106.
- the logic cell 300 constitutes a logic operation circuit.
- the cross-connect switch 301 constitutes a data processing device. Further, the cross-connect switch 301 and the flip-flop 302 constitute a data processing device.
- FIG. 25 shows the configuration of the memory device.
- the storage address information of the setting information is stored at the head inside the memory device 102.
- Setting information is stored in a specific area inside the memory device 102 other than the head part.
- bits 25 to 28 are setting information of the logic cell 300, and bits 0 to 24 are connection information of the cross-connect switch 301. Bits 0 to 24 are composed of 4-bit connection information and 1-bit inversion control information corresponding to the five outputs of the cross-connect switch 301 in 5-bit units.
- the logic cell 300 performs a specific logic process specified by the setting information transferred from the memory control unit 201 on the data input from the flip-flop 302, and the cross-connect switch 301 , And outputs the processed data to the logic element 200 of the adjacent processor element 101.
- the cross-connect switch 301 is provided for the specific data specified by the setting information transferred from the memory control unit 201 with respect to the data to which the logic sensor 300, the input bus 105, and the logic element 200 of the adjacent processor element 101 are also input. 1J, perform duplication and inversion, and output the processed data to flip-flop 302.
- the flip-flop 302 receives data input from the cross-connect switch 301, It is held at the timing of the unit clock signal 109.
- the flip-flop 302 outputs the held data to the logic cell 300 and the output bus 106.
- the functions and operations of the logic cell 300 and the cross-connect switch 301 according to the fourth embodiment of the present invention are the same as those according to the first embodiment of the present invention.
- the functions and operations of the programmable logic circuit 2200 according to Embodiment 4 of the present invention are the same as those of the functions and operations of processing the index instruction signal This is the same as that according to Embodiment 1 of the invention.
- the user operates the user circuit 108 to generate an index instruction signal for preferentially specifying a desired one of the first and second setting information. 108 can be generated.
- the user circuit 108 supplies the index instruction signal 1082 to the input / output control unit 103.
- the input / output control section 103 when receiving the index instruction signal 1082, the input / output control section 103 generates index information corresponding to the index instruction signal 1082, and processes the processor element via the index bus 2201. 101 to the memory control unit 201.
- the memory control unit 201 When receiving the index information, the memory control unit 201 reads a specific address of the memory device 102 based on the index information, and extracts and stores a start position address indicating a start position of a storage position address of the setting information. .
- the logic element 200 When receiving the data and the control signal from the input / output control unit 103, the logic element 200 stores the setting information stored in the memory control unit 201 based on the start position address indicating the start position of the storage position address of the setting information. As described above, part or all of the functions of the logic cell 300 and the cross-connect switch 301 are sequentially changed based on any of the setting information sequentially read from the memory device 102 to operate the predetermined sequential circuit. I do.
- the programmable logic circuit 2200 is an aggregate of the processor elements 101 that perform a single operation, and each processor element 101 mainly performs a joint operation with the adjacent processor element 101. It is also possible for a plurality of adjacent processor elements 101 to perform one logical process as one group. As described above, in the programmable logic circuit 2200 according to the fourth embodiment of the present invention, the plurality of processor elements 101 can operate independently or jointly, and a plurality of types of logic processing can be performed. Can be performed simultaneously in parallel, and one logical process can be performed jointly and severally.
- the programmable logic circuit 2200 according to the fourth embodiment of the present invention since the same elements are arranged one-dimensionally in one row, it is possible to flexibly cope with the mounting scale. High expandability. Further, the programmable logic circuit 2200 according to the fourth embodiment of the present invention can significantly reduce setting information by limiting data transmission and reception between the adjacent processor elements 101, thereby reducing the circuit area. And the cost and power consumption of the LSI to be mounted can be reduced.
- the programmable logic circuit 2200 has a wiring distance to a flip-flop force of an arbitrary processor element 101 irrespective of the number of mounted elements and a flip-flop of another adjacent processor element 101. Since the operating frequency is minimized and constant, the operating frequency can be raised to its limit, and high-speed operation becomes possible compared to conventional programmable logic.
- the programmable logic circuit 2200 performs processing while changing repetitive functions on the same circuit, so that the circuit area can be reduced and the size of the LSI to be mounted can be reduced. Cost and power consumption can be reduced.
- the internal clock signal 109 does not necessarily need to be a multiple of the user's one clock signal 110.
- the input / output control unit 103 is provided with an appropriate clock transfer circuit. By using this, a clock signal that is not synchronized with the user clock signal 110 may be used as the internal clock signal.
- memory device 102 may be configured to exist outside programmable logic circuit 2200 which need not be inside programmable logic circuit 2200.
- clock generation circuit 107 may be provided inside programmable logic circuit 2200.
- a selection circuit such as a multiplexer is inserted between the memory device 102 and the processor element 101, and the memory device 102 and each processor are set by setting.
- the connection with the mouth element 101 can be changed.
- the amount of delay in data processing increases. Therefore, in order to maintain the frequency, it is necessary to increase the speed using a pipeline or the like.
- the connection between the output bus 105, the output bus 106 and the adjacent logic element 200 is not limited to that shown in FIG. 3.
- a flip-flop is provided between the logic sensor 300 and the cross-connect switch 301, and the operating frequency is further increased. May be increased.
- data from input bus 105 may be input to logic cell 300 or flip-flop 302 instead of cross-connect switch 301.
- each of the plurality of processor elements 101 may not be connected to another processor element 101.
- a plurality of unit logic circuits connected in parallel, input signal control means for supplying an input signal received from the outside to the plurality of unit logic circuits, Output signal control means for externally supplying an output signal of the unit logic circuit, wherein each of the plurality of unit logic circuits is capable of changing its function based on first setting information, A logical operation means for generating data by performing predetermined logical operation processing on the basis of the second setting information, and generating and executing data by performing systematic IJ, duplication and inversion processing of the data from the logical operation means based on the second setting information.
- a data processing means for providing the output signal to the output signal control means, a storage means for storing the first and second setting information, and receiving the setting information for branching based on the setting information for branching.
- the first item of the storage means And memory control means for reading and providing one of the second setting information to the logical operation means and the data processing means to control the logic operation means and the data processing means, wherein each of the plurality of unit logic circuits is A part of or all functions of the logical operation means and the data processing means are sequentially changed on the basis of the first and second setting information sequentially read from the means to perform an operation of a predetermined sequential circuit.
- each of the plurality of unit logic circuits sequentially reads from the storage unit Based on the first and second setting information, a part of or all of the functions of the logical operation circuit and the data processing means are sequentially changed to operate the predetermined sequential circuit.
- each of the plurality of unit logic circuits receives the setting information for branching and reads one of the first and second setting information of the storage means based on the setting information for branching. Therefore, a more general-purpose programmable logic circuit can be provided.
- a second aspect of the present invention is directed to a second aspect, wherein a plurality of unit logic circuits connected in parallel, an input signal control means for supplying an input signal received from the outside to the plurality of unit logic circuits, Output signal control means for externally supplying an output signal of the unit logic circuit, wherein each of the plurality of unit logic circuits is capable of changing its function based on first setting information, A logical operation means for generating data by performing predetermined logical operation processing on the basis of the second setting information, and generating and executing data by performing systematic IJ, duplication and inversion processing of the data from the logical operation means based on the second setting information.
- Data processing means for giving the output signal to the output signal control means, a storage means for storing the first and second setting information, and receiving the stop setting information, based on the stop setting information.
- the logic operation means and A memory control means for controlling a stop of the data processing means, wherein each of the plurality of unit logic circuits is configured to execute the logic based on the first and second setting information sequentially read from the storage means.
- a configuration is adopted in which some or all of the functions of the arithmetic means and the data processing means are sequentially changed to operate a predetermined sequential circuit.
- each of the plurality of unit logic circuits sequentially or partially reads out all or some of the functions of the logic operation circuit and the data processing means based on the first and second setting information read from the storage means. Since the operation of the predetermined sequential circuit is performed by changing sequentially, it is possible to provide a low-cost programmable logic circuit having high area efficiency and capable of realizing a large-scale logic circuit at high speed. Further, according to this configuration, a more versatile programmable logic circuit is provided because the stopping of the logical operation means and the data processing means is controlled based on the stopping setting information in response to the stopping setting information. be able to.
- the logical operation means is capable of changing a function based on the first setting information and has a predetermined function in the input signal. And a logic cell that generates the data by performing the logical operation processing.
- the data processing means is arranged, duplicated, and inverted of the data from the logical operation means based on the second setting information.
- a configuration including a cross-connect switch for performing the processing and generating the data is employed.
- a fifth aspect of the present invention is the flip-flop according to the fourth aspect of the present invention, wherein the data processing means holds the data from the cross-connect switch and supplies the data to the output signal control means as the output signal.
- a configuration having a pump is adopted.
- a plurality of unit logic circuits connected in parallel, input signal control means for supplying an input signal received from outside to the plurality of unit logic circuits, A connection unit for connecting one unit logic circuit in the unit logic circuit and another unit logic circuit adjacent to the one unit logic circuit in a physical arrangement, and Output signal control means for supplying an output signal to an external device, wherein each of the plurality of unit logic circuits is capable of changing its function based on first setting information, and the input signal and the adjacent A logical operation means for performing predetermined logical operation processing on any of the data from the other unit logic circuits to generate data; and aligning and duplicating the data from the logical operation means based on second setting information.
- Perform inversion processing A data processing means for generating data and providing the output signal as the output signal to the output signal control means; a storage means for storing the first and second setting information; A memory control unit that reads one of the first and second setting information of the storage unit based on the setting information and controls the logical operation unit and the data processing unit to control the logical operation unit and the data processing unit; Each of the unit logic circuits is configured to read the logic based on the first and second setting information sequentially read from the storage means.
- a configuration is adopted in which part or all of the functions of the arithmetic means and the data processing means are sequentially changed to operate a predetermined sequential circuit.
- each of the plurality of unit logic circuits sequentially or partially reads out all or some of the functions of the logic operation circuit and the data processing means based on the first and second setting information read from the storage means. Since the operation of the predetermined sequential circuit is performed by changing sequentially, it is possible to provide a low-cost programmable logic circuit having high area efficiency and capable of realizing a large-scale logic circuit at high speed.
- a predetermined logical operation process is performed on an input signal and data from another adjacent unit logic circuit or a shift to generate data
- each of the plurality of unit logic circuits is In order to receive the setting information for branching and read out one of the first and second setting information in the storage means based on the setting information for branching and to supply the readout information to the logical operation means and the data processing means for control, more general purpose It is possible to provide a programmable logic circuit having a possibility.
- a seventh aspect of the present invention is directed to a seventh aspect of the present invention, wherein a plurality of unit logic circuits connected in parallel, an input signal control means for supplying an input signal received from the outside to the plurality of unit logic circuits, A connection unit for connecting one unit logic circuit in the unit logic circuit and another unit logic circuit adjacent to the one unit logic circuit in a physical arrangement, and Output signal control means for supplying an output signal to an external device, wherein each of the plurality of unit logic circuits is capable of changing its function based on first setting information, and the input signal and the adjacent A logical operation means for performing predetermined logical operation processing on any of the data from the other unit logic circuits to generate data; and aligning and duplicating the data from the logical operation means based on second setting information.
- a data processing means for generating data to output the data to the output signal control means as the output signal; a storage means for storing the first and second setting information; A memory control unit that controls stop of the logical operation unit and the data processing unit based on the setting information, wherein each of the plurality of unit logic circuits sequentially reads out the first one from the storage unit.
- a configuration is adopted in which a part of or all of the functions of the logical operation means and the data processing means are sequentially changed based on the second setting information to operate a predetermined sequential circuit. According to this configuration, a part or all of the functions of the logic operation circuit and the data processing means are performed based on the first and second setting information that each of the plurality of unit logic circuits sequentially reads from the storage means.
- the operation of the predetermined sequential circuit is performed by changing sequentially, it is possible to provide a low-cost programmable logic circuit having high area efficiency and capable of realizing a large-scale logic circuit at high speed. Further, according to this configuration, a predetermined logical operation is performed on the input signal and the data from the adjacent other unit logic circuit to generate data, and the stop setting information is received to generate the data. Since the stopping of the logical operation means and the data processing means is controlled based on the setting information for stopping, it is possible to provide a more versatile programmable logic circuit.
- the logical operation means is capable of changing a function based on the first setting information and is capable of changing the input signal or the adjacent signal. And a logic cell that performs predetermined logical operation processing on the data from the other unit logic circuit to generate the data.
- the data processing means arranges, copies, and inverts the data from the logical operation means based on the second setting information.
- a configuration including a cross-connect switch for performing the processing and generating the data is employed.
- a tenth aspect of the present invention is the flip-flop according to the ninth aspect of the present invention, wherein the data processing means holds the data from the cross-connect switch and supplies the data to the output signal control means as the output signal.
- a configuration having a pump is adopted.
- An eleventh aspect of the present invention is directed to an eleventh aspect of the present invention, wherein a plurality of unit logic circuits connected in parallel, input signal control means for supplying an input signal received from outside to the plurality of unit logic circuits, Output signal control means for supplying an output signal of the unit logic circuit to the outside, the input signal control means providing a control signal to the plurality of unit logic circuits based on the input signal, and an index
- the index information is Means for providing to a plurality of unit logic circuits, wherein each of the plurality of unit logic circuits is capable of changing a function based on any of the first setting information and has a predetermined logic
- a logical operation means for generating data by performing operation processing; and performing data alignment and duplication and inversion processing from the logical operation means based on any of the second setting information to generate data and output the data.
- Data processing means for providing the output signal control means as a signal, storage means for storing the first and second setting information, and the control signal and the index information when any one of the control signal and the index information is received.
- Memory control means for storing a start position address indicating a start position of a storage position address of the first and second setting information in the storage means based on any of the index information; Wherein each of the plurality of unit logic circuits sequentially reads out from the first and second setting information from the storage unit based on the head position address stored in the memory control unit.
- a configuration is adopted in which part or all of the functions of the logical operation means and the data processing means are sequentially changed based on the operation of a predetermined sequential circuit.
- each of the plurality of unit logic circuits sequentially reads the logical operation circuit and the data based on the first and second setting information sequentially read from the storage means based on the control signal and the index instruction signal.
- a low-cost programmable logic circuit with high area efficiency and high-speed realization of a large-scale logic circuit because a part of or all of the processing means are sequentially changed to perform a predetermined sequential circuit operation. Can be provided.
- the logical operation means is capable of changing a function based on the first setting information and outputs a predetermined value to the input signal.
- a configuration including a logic cell for performing the logical operation processing to generate the data is employed.
- each of the plurality of unit logic circuits sequentially reads the logical operation circuit and the data based on the first and second setting information sequentially read from the storage means based on the control signal and the index instruction signal.
- a low-cost programmable logic circuit with high area efficiency and high-speed realization of a large-scale logic circuit because a part of or all of the processing means are sequentially changed to perform a predetermined sequential circuit operation. Can be provided.
- the data processing means is configured to perform the data alignment from the logical operation means based on the second setting information.
- a cross-connect switch for generating the data by performing the inversion process.
- each of the plurality of unit logic circuits sequentially reads the logical operation circuit and the data based on the first and second setting information sequentially read from the storage unit based on the control signal and the index instruction signal.
- a low-cost programmable logic circuit with high area efficiency and high-speed realization of a large-scale logic circuit because a part of or all of the processing means are sequentially changed to perform a predetermined sequential circuit operation. Can be provided.
- a fourteenth aspect of the present invention is the flip-flop according to the thirteenth aspect of the present invention, wherein the data processing means holds the data from the cross-connect switch and supplies the data to the output signal control means as the output signal.
- a configuration having a pump is adopted.
- each of the plurality of unit logic circuits sequentially reads the logical operation circuit and the data based on the first and second setting information sequentially read from the storage means based on the control signal and the index instruction signal.
- a low-cost programmable logic circuit with high area efficiency and high-speed realization of a large-scale logic circuit because a part of or all of the processing means are sequentially changed to perform a predetermined sequential circuit operation. Can be provided.
- a fifteenth aspect of the present invention is directed to a plurality of unit logic circuits connected in parallel, one unit logic circuit among the plurality of unit logic circuits, and one unit logic circuit.
- Connecting means for connecting the other unit logic circuits adjacent to each other on a physical arrangement; input signal control means for supplying an input signal received from the outside to the plurality of unit logic circuits; and outputs of the plurality of unit logic circuits
- Output signal control means for supplying a signal to the outside, wherein the input signal control means provides a control signal to the plurality of unit logic circuits based on the input signal, and receives an index instruction signal.
- Data processing means for performing data alignment, duplication, and inversion processing to generate data and providing the data as the output signal to the output signal control means;
- Storage means for storing first and second setting information, and the first and second setting information in the storage means based on any of the control signal and the index information when receiving any of the control signal and the index information
- Memory control means for storing a head position address indicating a head position of a storage position address of the second setting information, wherein each of the plurality of unit logic circuits is stored in the memory control means.
- a part or all of the functions of the logical operation means and the data processing means are sequentially changed based on one of the first and second setting information sequentially read out from the storage means based on a position address. In this case, a predetermined sequential circuit operation is performed.
- each of the plurality of unit logic circuits sequentially reads the logical operation circuit and the data based on the first and second setting information sequentially read from the storage unit based on the control signal and the index instruction signal.
- a low-cost programmable logic circuit with high area efficiency and high-speed realization of a large-scale logic circuit because a part of or all of the processing means are sequentially changed to perform a predetermined sequential circuit operation. Can be provided.
- the logical operation means is capable of changing a function based on the first setting information, and is capable of changing the input signal or an adjacent signal.
- a configuration including a logic cell for performing the predetermined logical operation processing on the data from the other unit logic circuit to generate the data is adopted.
- each of the plurality of unit logic circuits sequentially reads the logical operation circuit and the data based on the first and second setting information sequentially read from the storage unit based on the control signal and the index instruction signal.
- a low-cost programmable logic circuit with high area efficiency and high-speed realization of a large-scale logic circuit because a part of or all functions of the processing means are sequentially changed to operate a predetermined sequential circuit. Can be provided.
- the data processing means performs alignment and duplication of the data from the logical operation means based on the second setting information.
- a configuration including a cross-connect switch for performing the inversion processing and generating the data is employed.
- each of the plurality of unit logic circuits performs an operation based on the first and second setting information sequentially read from the storage unit based on the control signal and the index instruction signal. Since a predetermined sequential circuit operates by sequentially changing some or all of the functions of the logical operation circuit and the data processing means, it has a high area efficiency and can realize a large-scale logic circuit at high speed. An inexpensive programmable logic circuit can be provided.
- An eighteenth aspect of the present invention is the flip-flop according to the seventeenth aspect of the present invention, wherein the data processing means holds the data from the cross-connect switch and supplies the data to the output signal control means as the output signal.
- a configuration having a pump is adopted.
- each of the plurality of unit logic circuits sequentially reads the logical operation circuit and the data based on the first and second setting information read from the storage means based on the control signal and the index instruction signal.
- a low-cost programmable logic circuit with high area efficiency and high-speed realization of a large-scale logic circuit because a part of or all of the processing means are sequentially changed to perform a predetermined sequential circuit operation. Can be provided.
- the present invention can be applied to a control device for controlling an electronic device, and the like.
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Logic Circuits (AREA)
Abstract
Description
Claims
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/589,078 US7365566B2 (en) | 2004-02-12 | 2005-02-08 | Programmable logic circuit |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004035042A JP3837135B2 (ja) | 2004-02-12 | 2004-02-12 | プログラマブル論理回路 |
JP2004-035043 | 2004-02-12 | ||
JP2004035043A JP3837136B2 (ja) | 2004-02-12 | 2004-02-12 | プログラマブル論理回路 |
JP2004-035042 | 2004-02-12 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2005078933A1 true WO2005078933A1 (ja) | 2005-08-25 |
Family
ID=34863446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2005/001837 WO2005078933A1 (ja) | 2004-02-12 | 2005-02-08 | プログラマブル論理回路 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7365566B2 (ja) |
KR (1) | KR100840030B1 (ja) |
WO (1) | WO2005078933A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009509226A (ja) * | 2005-09-21 | 2009-03-05 | エヌエックスピー ビー ヴィ | バス回路 |
JP4861030B2 (ja) * | 2006-03-24 | 2012-01-25 | 株式会社東芝 | 半導体装置 |
US8539420B2 (en) * | 2011-07-05 | 2013-09-17 | Xilinx, Inc. | Method and apparatus for self-annealing multi-die interconnect redundancy control |
EP3107212B1 (en) * | 2015-06-16 | 2018-04-25 | Framatome | Field programmable gate array comprising plurality of functional blocks and control device for a power plant |
US9985611B2 (en) * | 2015-10-23 | 2018-05-29 | Intel Corporation | Tunnel field-effect transistor (TFET) based high-density and low-power sequential |
US10482209B1 (en) | 2018-08-06 | 2019-11-19 | HLS Logix LLC | Field programmable operation block array |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08250685A (ja) * | 1995-03-08 | 1996-09-27 | Nippon Telegr & Teleph Corp <Ntt> | プログラマブルゲートアレイ |
JP2001068993A (ja) * | 1999-08-25 | 2001-03-16 | Fuji Xerox Co Ltd | 情報処理システム |
JP2004310730A (ja) * | 2003-01-15 | 2004-11-04 | Sanyo Electric Co Ltd | リコンフィギュラブル回路を備えた集積回路装置、処理装置およびそれらを利用した処理方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4870302A (en) | 1984-03-12 | 1989-09-26 | Xilinx, Inc. | Configurable electrical circuit having configurable logic elements and configurable interconnects |
JPH08510885A (ja) | 1993-05-28 | 1996-11-12 | リージェンツ オブ ザ ユニバーシティー オブ カリフォルニア | ダイナミックロジックコアに動的に相互接続するフィールドプログラマブル・ロジックデバイス |
JPH09231788A (ja) * | 1995-12-19 | 1997-09-05 | Fujitsu Ltd | シフトレジスタ及びプログラマブル論理回路並びにプログラマブル論理回路システム |
US6633181B1 (en) * | 1999-12-30 | 2003-10-14 | Stretch, Inc. | Multi-scale programmable array |
JP2002217709A (ja) * | 2001-01-22 | 2002-08-02 | Sharp Corp | プログラマブル論理回路 |
JP2002368092A (ja) * | 2001-06-12 | 2002-12-20 | Matsushita Electric Ind Co Ltd | プログラマブル論理回路 |
-
2005
- 2005-02-08 WO PCT/JP2005/001837 patent/WO2005078933A1/ja active Application Filing
- 2005-02-08 US US10/589,078 patent/US7365566B2/en not_active Expired - Fee Related
- 2005-02-08 KR KR1020067016161A patent/KR100840030B1/ko not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08250685A (ja) * | 1995-03-08 | 1996-09-27 | Nippon Telegr & Teleph Corp <Ntt> | プログラマブルゲートアレイ |
JP2001068993A (ja) * | 1999-08-25 | 2001-03-16 | Fuji Xerox Co Ltd | 情報処理システム |
JP2004310730A (ja) * | 2003-01-15 | 2004-11-04 | Sanyo Electric Co Ltd | リコンフィギュラブル回路を備えた集積回路装置、処理装置およびそれらを利用した処理方法 |
Also Published As
Publication number | Publication date |
---|---|
KR100840030B1 (ko) | 2008-06-19 |
US7365566B2 (en) | 2008-04-29 |
US20070279085A1 (en) | 2007-12-06 |
KR20060110362A (ko) | 2006-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7653805B2 (en) | Processing in pipelined computing units with data line and circuit configuration rule signal line | |
CN102541809B (zh) | 一种动态可重构处理器 | |
JP2007531957A (ja) | 非同期スタティックランダムアクセスメモリ | |
WO2005078933A1 (ja) | プログラマブル論理回路 | |
US7734896B2 (en) | Enhanced processor element structure in a reconfigurable integrated circuit device | |
JP2006040254A (ja) | リコンフィギュラブル回路および処理装置 | |
US5678058A (en) | Vector processor | |
US8402251B2 (en) | Selecting configuration memory address for execution circuit conditionally based on input address or computation result of preceding execution circuit as address | |
EP1388048B1 (en) | Storage system for use in custom loop accellerators | |
JP4838009B2 (ja) | リコンフィグラブル回路 | |
US4811201A (en) | Interconnect circuit | |
US20070260805A1 (en) | Computer with a Reconfigurable Architecture for Integrating a Global Cellular Automaton | |
JP3837135B2 (ja) | プログラマブル論理回路 | |
JP3837136B2 (ja) | プログラマブル論理回路 | |
JP2005057452A (ja) | プログラマブル論理回路 | |
CN112486453A (zh) | 一种异步先入先出寄存器以及芯片 | |
US20090282223A1 (en) | Data processing circuit | |
JP2007148622A (ja) | インターフェース設定方法 | |
CN101351770A (zh) | 从装置和主装置、包含这些装置的系统和从装置操作方法 | |
JP4892852B2 (ja) | シリアルインターフェースの制御方法 | |
US9378782B1 (en) | Apparatus with write-back buffer and associated methods | |
JP5447511B2 (ja) | 通信回路および通信方法 | |
JP2003255025A (ja) | 半導体集積回路 | |
JP2006085574A (ja) | データ処理システムおよびその制御方法 | |
JP2005057451A (ja) | プログラマブル論理回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 1020067016161 Country of ref document: KR |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWW | Wipo information: withdrawn in national office |
Country of ref document: DE |
|
WWP | Wipo information: published in national office |
Ref document number: 1020067016161 Country of ref document: KR |
|
122 | Ep: pct application non-entry in european phase | ||
WWE | Wipo information: entry into national phase |
Ref document number: 10589078 Country of ref document: US |
|
WWP | Wipo information: published in national office |
Ref document number: 10589078 Country of ref document: US |