WO2014163099A2 - 再構成可能な論理デバイス - Google Patents

再構成可能な論理デバイス Download PDF

Info

Publication number
WO2014163099A2
WO2014163099A2 PCT/JP2014/059703 JP2014059703W WO2014163099A2 WO 2014163099 A2 WO2014163099 A2 WO 2014163099A2 JP 2014059703 W JP2014059703 W JP 2014059703W WO 2014163099 A2 WO2014163099 A2 WO 2014163099A2
Authority
WO
WIPO (PCT)
Prior art keywords
data
configuration
reconfigurable logic
line
data input
Prior art date
Application number
PCT/JP2014/059703
Other languages
English (en)
French (fr)
Other versions
WO2014163099A3 (ja
Inventor
佐藤 正幸
幸志 佐藤
満徳 勝
勲 志水
Original Assignee
太陽誘電株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 太陽誘電株式会社 filed Critical 太陽誘電株式会社
Priority to TW103112408A priority Critical patent/TWI636667B/zh
Priority to CN201480018307.2A priority patent/CN105191139B/zh
Priority to US14/781,880 priority patent/US9425800B2/en
Priority to JP2015510111A priority patent/JPWO2014163099A1/ja
Publication of WO2014163099A2 publication Critical patent/WO2014163099A2/ja
Publication of WO2014163099A3 publication Critical patent/WO2014163099A3/ja

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic 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/17724Structural details of logic blocks
    • H03K19/17728Reconfigurable logic blocks, e.g. lookup tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic 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/17736Structural details of routing resources
    • H03K19/17744Structural details of routing resources for input/output signals
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic 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/17748Structural details of configuration resources
    • H03K19/1776Structural details of configuration resources for memories

Definitions

  • the present invention relates to a reconfigurable logic device.
  • a general island style FPGA is composed of logical elements CLB (Configurable Logic Blocks), switch elements SB and CB, and input / output element IOB.
  • CLB Configurable Logic Blocks
  • switch elements SB and CB switch elements SB and CB
  • IOB input / output element
  • the logic element CLB is a programmable element that realizes a combinational circuit, and each CLB includes a data flip-flop (DFF), a LUT (Look Up Table), and the like.
  • a k-input LUT (k-LUT) uses 2 k power SRAM (Static Random Access Memory) cells to realize a function of k variables. For example, a truth table of an arbitrary logical function is held in an SRAM, and output is performed by referring to the truth table according to input.
  • switch elements CB and SB that can switch the signal path are arranged between CLBs.
  • the switch element CB is an element that is set between the logic block LB and the wiring channel
  • the switch element SB is an element that sets the vertical and horizontal wiring at a portion where the vertical and horizontal wirings intersect.
  • the input / output element IOB is a component that serves as an interface between the input / output of the device and the logical element LB.
  • MPLD Memory-Programmable Logic Device
  • the MPLD interconnects memory arrays called MLUTs (Multi Look-Up-Tables).
  • the MLUT stores truth value data and configures wiring elements and logic elements.
  • the MPLD realizes almost the same function as the FPGA by arranging the MLUTs in an array and interconnecting them.
  • the MPLD is a device in which the logic area and the wiring area are made flexible by using the MLUT as both a logic element and a wiring element based on truth table data (for example, Patent Document 2), and a memory cell. This is different from an FPGA having a switching circuit dedicated for connection between units.
  • an FPGA is a reconfigurable device, but has a larger area than an ASIC (Application Specific Integrated Circuit).
  • the cause is wiring and switches, which occupy approximately 70-80% of the total area.
  • the FPGA is realized by devices having different logic elements and wiring elements, there is a limitation in reconfiguration.
  • a programmable logic device having a small area and high reconfigurability is provided.
  • a reconfigurable logic device having a plurality of multi-lookup table units and having a plurality of logic circuits configured according to configuration data information, Each multi-lookup table unit A configuration memory for storing configuration data; Data input lines, A data output line; Selectively combining a data input from the data input line and the data output to the data output line in response to the configuration data and / or logic with respect to the data input in response to the configuration data; A reconfigurable logic multiplexer that outputs the calculated data to the data output line, A reconfigurable logic device to which the multi-lookup table closer to the data input line and the data output line is connected. 2.
  • the configuration data includes a plurality of truth table data defining a logical operation value and / or a connection path, and any one of the plurality of truth table data is selected according to the data input.
  • the reconfigurable logic device of item 1 wherein 3. 3.
  • the reconfigurable logic device according to item 1 or 2 wherein there are a plurality of reconfigurable multiplexers, and each reconfigurable multiplexer is provided for each combination of the direction of the data input line and the direction of the data output line. 4).
  • the reconfigurable logic multiplexer according to any one of items 1 to 4, wherein the reconfigurable logic multiplexer selects and outputs any of the configuration data held in the holding unit by data input from the data input line.
  • 7. The reconfigurable logic device according to any one of items 1 to 6, wherein the configuration memory is composed of a plurality of configuration memories prepared for each data output direction. 8).
  • the reconfiguration according to any one of items 1 to 7, further comprising: a clock transition detection unit that generates a clock at an input timing of an address output to the configuration memory, wherein the configuration memory operates in synchronization with the clock.
  • Possible logical device. 9.
  • the configuration memory stores a plurality of configuration data, and any one of the plurality of configuration data is output to a second data output line connected to a second address line of the configuration memory, and the second address line 9.
  • the reconfigurable logic device according to any one of items 1 to 8, wherein the reconfigurable logic device is configured to identify the plurality of truth table data in accordance with 10.
  • a control method of a reconfigurable logic device having a plurality of multi-lookup table units and having a plurality of logic circuits configured according to configuration data information, Each multi-lookup table unit Data input lines, A data output line;
  • a reconfigurable logic multiplexer and Connected to the logic unit closer to the data input line and the data output line;
  • the reconfigurable logic multiplexer selectively couples a data input from the data input line and the data output to the data output line in response to the truth table data;
  • the reconfigurable logic device further includes a holding unit that holds the configuration data read from the configuration memory and outputs the held configuration data to the reconfigurable logic multiplexer, 12.
  • the reconfigurable logic device is: It has a plurality of multi-lookup table units, a plurality of logic circuits are configured according to the configuration data information, Each multi-lookup table unit A configuration memory for storing configuration data; Data input lines, A data output line; In the multi-lookup table unit, Selectively combining the data input from the data input line and the data output to the data output line; A program for executing a process of outputting, to the data output line, data obtained by performing a logical operation on the data input in response to the configuration data. 15. A storage medium for storing the program shown in item 14.
  • the semiconductor device according to this embodiment can provide a semiconductor device having a small area and high reconfigurability.
  • FIG. 3 is a diagram illustrating a logic circuit and wiring configured by the alternately arranged MLUT described in FIG. 2. It is a figure which shows an example of the configuration data stored in the configuration memory on the left side of the MLUT 30A.
  • FIG. 1 is a diagram illustrating an example of a reconfigurable logical device according to the present embodiment.
  • the reconfigurable logical device is referred to as MRLD (Memory based Reconfigurable Logic Device) (registered trademark).
  • MRLD Memory based Reconfigurable Logic Device
  • the MRLD is common in that each MLUT is directly connected without interposing a wiring element, but is distinguished in that the function of the general-purpose SRAM is effectively used.
  • MRLD is a device with almost the same function as FPGA, but its structure is different.
  • the FPGA is composed of a CLB, a switch block, a connection block, and the like, and the ratio of logical resources and wiring resources is fixed.
  • the MRLD has a configuration in which MLUTs that can be used as both logic elements and wiring elements are arranged, and is further different from the FPGA in that the MLUTs are directly connected.
  • the MRLD 20 shown in FIG. 1 includes a MLUT array 300 in which a plurality of MLUTs (Multi Look Up Tables), which will be described later, are arranged in an array, a decoder 12 that specifies a memory read operation and a write operation of the MLUT, and The input / output unit 14 is included.
  • MLUT array 300 in which a plurality of MLUTs (Multi Look Up Tables), which will be described later, are arranged in an array
  • a decoder 12 that specifies a memory read operation and a write operation of the MLUT
  • the input / output unit 14 is included.
  • signals of data input DI and data output DO indicated by solid lines are used.
  • the data input DI is used as an input signal for the logic circuit.
  • the data output DO is used as an output signal of the logic circuit (described later in FIG. 2).
  • the logic realized by the logic operation of the MRLD 20 is realized by truth table data stored in the MLUT 30.
  • Some MLUTs 30 operate as logic elements as combinational circuits such as AND circuits and adders.
  • the other MLUTs operate as connection elements that connect the MLUTs 30 that realize the combinational circuit.
  • the MRLD 20 rewrites the truth table data for realizing the logic element and the connection element by a write operation to the configuration memory of the MLUT 30.
  • the write operation of the MPLD 20 is performed by the write address AD and the write data WD, and the read operation is performed by the write address AD and the read data RD.
  • the write address AD is an address for specifying a memory cell in the MLUT 30.
  • the write address AD specifies m number of memory cells of 2 m with m signal lines.
  • the write address AD is used in both the read operation and the write operation of the memory, and is decoded by the decoder 12 through m signal lines to select a target memory cell.
  • the logic operation address DI is decoded by a decoder in the MLUT 30.
  • the decoder 12 decodes the write address AD in accordance with control signals such as the read enable signal re and the write enable signal we, and outputs the decoded address n to the MLUT 30.
  • the decode address n is used as an address for specifying a memory cell in the configuration memory of the MLUT 30.
  • the input / output unit 14 writes the write data WD according to the write enable signal we and outputs the read data RD according to the read enable signal re.
  • FIG. 2 is a diagram for explaining an example of the MLUT array arranged in two directions.
  • the arrows shown in FIG. 2 are data input lines or data output lines connected to other adjacent MLUTs.
  • the MLUT array 300 shown in FIG. 2 the MLUT 30 is connected to other adjacent MLUTs 30 by two data input lines or data output lines. That is, the MLUTs are connected by a plurality of data input lines or data output lines.
  • adjacent MLUTs are connected to two MLUTs in the input direction and the output direction, respectively, in order to increase the possibility of configuration. This arrangement is hereinafter referred to as “alternate arrangement”.
  • Interleaved MLUT enables multi-bit data processing by using a plurality of data lines and bit lines, and further, the direction of data flow in the input and output directions can be limited. Will also be easier.
  • Each MLUT 30 can execute a number of different logic functions.
  • the MLUT 30 includes a configuration memory 40 and a reconfigurable logic multiplexer 50.
  • the logical function executed by the MLUT 30 is determined by the configuration data stored in the configuration memory 40.
  • MLUT 30 has an input for configuration data and an output for configuration data to reconfigurable logic multiplexer 50.
  • the configuration data is loaded from the outside of the MRLD 20 into the configuration memory 40 using its address line and data line.
  • the reconfigurable logic multiplexer 50 has a data input, a data output, a configuration input for receiving configuration data, and controls the combined state of the data input and output in response thereto.
  • the reconfigurable logic multiplexer 50 further outputs the data logically operated with respect to the data input in response to the configuration data to the data output line.
  • FIG. 3 is a diagram for explaining an example of the MLUT array arranged in four directions.
  • the arrangement is the same as that of the FPGA.
  • a configuration close to that of an FPGA can be obtained, and creation of MRLD configuration data can be facilitated by using a logically configured state generated by an FPGA tool.
  • the upper left, middle upper, and lower left of the figure can be represented as a switch block, and the middle lower can be represented as an LUT block, and the CLB equivalent of FPGA can be expressed, and truth value data can be generated from the state in which the FPGA is configured.
  • FIG. 4A is a diagram illustrating an arrangement example of signal lines of the MLUT arranged in two directions. As shown in FIG. 4A, data inputs from the left are InA0 to InA3, and data outputs to the left are OutA0 to OutA3. Further, data input from the right is InB0 to InB3, and data output to the left is OutB0 to OutB3.
  • FIG. 4B is a diagram illustrating an example of a MLUT arranged in two directions.
  • the signal line of the MLUT shown in FIG. 4B is the same as the signal line of the MLUT shown in FIG. 4A.
  • the MLUT 30 shown in FIG. 4B includes a configuration memory 40, a reconfigurable logic multiplexer 50, and a register unit 60.
  • the configuration memory 40 is, for example, an SRAM.
  • the configuration memory 40 is connected to a plurality of address lines A0 to A8 for specifying memory cells that store configuration data. In the example shown in FIG. 3, the configuration memory has “512” word lines which are 2 to the 9th power, and 256 bit lines (also referred to as “data lines”). .
  • A0 is provided with a positive type address transition detection (ATD) circuit and used as a clock input (described later in FIG. 6).
  • ATD positive type address transition detection
  • the configuration memory 40 reads data from a memory cell specified by an address by a sense amplifier (not shown) according to the clock A0, and registers a number of registers corresponding to bit destinations (in the example of FIG. 2, Data is output to the register unit 60 having 256 bits).
  • the register unit 60 is composed of a plurality of registers that continue to hold data until new data is output from the configuration memory 40.
  • FIG. 5 shows details of the configuration memory.
  • the configuration memory 40 shown in FIG. 5 includes a memory cell array 110 composed of memory cells each storing data, an address decoder 120, a clock transition detection unit 200 shown in FIG. 6A described later, and data reading to the memory cell array 110. Or a data input / output unit 140 for writing data.
  • the configuration memory 40 is a synchronous SRAM that performs a read or write operation in synchronization with a clock. Therefore, the address decoder 120 and the data input / output unit 140 operate in synchronization with the clock.
  • the memory cell array 110 includes m ⁇ 2 n memory cells (accordingly, storage elements), and the m ⁇ 2 n memory cells include 2 m word lines and n bit lines (“ It is also called “data line”.
  • the address decoder 120 When the address decoder 120 receives the address signal received from the m address signal lines in synchronization with the clock generated by the clock transition detection unit of A0, the address decoder 120 decodes the address signal and outputs 2 m word lines A word line selection signal, which is a decode signal, and a data line selection signal selected by the data input / output unit 140 are output to WL so that data read or write processing is performed on the corresponding memory cell.
  • the data input / output unit 140 has a data input / output unit 140 having a write amplifier and a sense amplifier. For example, when the write amplifier receives the rising edge timing of the write enable (WE) and the write data from the outside, the write amplifier transmits the signal level of the write data to the m data lines b and / b and transmits the data to the memory cell. Write. Also, when the data input / output unit 140 receives the rising edge timing of the read enable (RE) from the outside, the sense amplifier outputs the read data by outputting the signal levels of the m data lines b and / b to the outside. Is output.
  • WE write enable
  • RE read enable
  • the configuration memory shown in FIG. 5 may be provided for each direction of the wiring.
  • the two-direction arrangement shown in FIG. 2 has two configuration memories
  • the four-direction arrangement shown in FIG. 3 has four configuration memories.
  • the number of addresses is reduced as compared to the case of a single memory configuration (2 9 ⁇ 4 is less than 2 36). Therefore, the memory capacity can be reduced.
  • FIG. 6A is a circuit diagram of the clock transition detection unit according to the present embodiment.
  • the clock transition detection unit 200 shown in FIG. 6A includes a negative logical sum (NOR) circuit 210A, 210B, a logical product (AND) circuit 230, a delay circuit 240A-240C, a flip-flop (FF) 250, inverters 260A, 260B, and It has a D latch 270.
  • FIG. 6B is a timing chart of signals of the clock transition detection unit shown in FIG. 6A.
  • Signal S1 is an address input signal to the configuration memory. In this embodiment, the address is A0.
  • Signal S2 is the output of the D latch. When there is a change in the signal S1, the D latch 270 latches so as not to change for a certain period. This is to ignore subsequent address transitions due to noise or the like.
  • the signal S3 is a delayed signal output from the D latch 270. As shown in FIG. 6B, the delay signal is delayed by the delay circuit 240B in order to generate a clock at the rising edge and the falling edge to generate the clock width of the signal S4.
  • the signal S4 generated as a clock signal is output from the AND circuit 230.
  • the AND circuit 230 since the input and output of the delay circuit 240B are input, if the signal levels of both are different, a signal level “high” is output. Thereby, an address transition can be detected.
  • the signal S5 is a delay signal output from the delay circuit 240C and waits for an enable signal of the LAT 270 and inputs the clock.
  • the signal S6 is a signal extension of the signal S5 and is a pulse generation of the enable signal.
  • the NOR circuit 210A outputs a signal S7 that is a NOR operation value of the signals S5 and S6.
  • the signal S7 becomes an enable signal for the D latch 270.
  • the signal S8 is a signal obtained by inverting the signal S5 by the inverter 260A, and is used as a clock for latching the address signal by the FF 250.
  • the signal S9 is used as the configuration memory enable, the signal S10 is used as the configuration memory clock (atd_clk), and the signal S11 is used as the configuration memory address.
  • the clock signal S10 is generated by the signal S1 which is the address A0, the synchronous SRAM can be used as the configuration memory.
  • FIG. 6C is a timing chart showing the relationship between the address A0 and the generated clock signal.
  • the MLUT 20 includes a positive type address transition detection (ATD) unit 200.
  • ATD positive type address transition detection
  • Reconfigurable Logic Multiplexer There are as many reconfigurable logic multiplexers 50 as there are data wiring paths. For example, there are reconfigurable logic multiplexers 52A, 52B, 52C, and 52D.
  • a multiplexer that couples the data input to the data output according to the configuration data held in the register unit 60, and its connection path can be reconfigured by the configuration data.
  • the data held in the register unit 60 is set as an “input signal”, the data input is used as a “selection control signal”, and an “input signal” is selected and output.
  • the register holds four pairs of 4 bits indicating the result of the logical operation read from the configuration data. That is, in the configuration data, 4-bit data is prepared with values corresponding to truth tables such as logical product, logical sum, negation, negative logical sum, exclusive logical sum, and the like.
  • the reconfigurable logic multiplexer 52A or the like is a 16-to-1 multiplexer and selects 4 bits of 16 pairs “two directions ⁇ 2 ⁇ 16” as a pair of 4 bits corresponding to the data input. That is, in the configuration memory 40, the configuration data (4 directions ⁇ 4 pairs of 4 in the example of FIG. 4B) configuring the number of data inputs (4 in FIG. 4B) and the number of wiring directions (4 in FIG. 4B). Bit data) is stored.
  • Each reconfigurable logic multiplexer uses a data input as a selection signal and selects any one of a plurality of truth table data according to the data input.
  • Each reconfigurable logic multiplexer is configured to implement a desired wiring path that couples the data input from the data input line and the data output to the data output line.
  • the reconfigurable logic multiplexers 52A, 52B, 52C, and 52D respectively have a left input to left output wiring path, a left input to right output wiring path, a right input to right output wiring path, and a right input. There is for the left output wiring path.
  • the input signal (configuration data) selected by the reconfigurable logic multiplexer 52B according to the data input is “0”. Since the 52A signal and the 52C signal are logically ORed, the left-to-left signal has priority, and the left-to-left signal path is configured.
  • the input signal (configuration data) selected by the reconfigurable logic multiplexer 52A according to the data input is set to a predetermined logic value, and is output to the left.
  • the reconfigurable logic multiplexers 52A and 52C are logically ORed, and by setting the configuration data of the reconfigurable logic multiplexer 52C to “0”, the signals of InA0 to InA3 from the left are output to the left with a predetermined logical value. sell. Further, the reconfigurable logic multiplexers 52B and 52D are logically ORed, and the signals of InA0 to InA3 are output to the right side by setting the reconfigurable logic multiplexer 52D to “0”. InB0 to InB3 signals are output to the left and right by the same method.
  • the reconfigurable logic multiplexer 50 is provided in accordance with the wiring path, and is configured so as to select the logical operation value and the wiring of the configuration data, so that the logical operation circuit and / or Works like a switch.
  • FIG. 7A is a diagram illustrating an arrangement example of signal lines of MLUTs arranged in four directions. As shown in FIG. 7A, data input / output from the left and right is the same as in the two-way arrangement, but in addition, data input InC0 to C3 from above, data output OutC0 to OutC3 from above, and from below Data inputs InD0 to InD3 and downward data outputs OutD0 to OutD3.
  • FIG. 7B is a diagram illustrating an example of an MLUT arranged in four directions. In addition, you may improve this example for convenience.
  • the signal line of the MLUT shown in FIG. 7B is the same as the signal line of the MLUT shown in FIG. 7A.
  • the configuration memory is not displayed, the operation of each component is the same as that of the MLUT arranged in two directions. Since the number of reconfigurable logic multiplexers is four, the number of reconfigurable logic multiplexers is increased by four (reconfigurable logic multiplexers 52E to 52H) as compared with the MLUTs arranged in two directions, and the number of register units 62 is increased accordingly.
  • the output of the multiplexer in the 2-direction arrangement is logically ORed with the other outputs in the same direction, but the principle is the same in the 4-direction arrangement. However, since there are four directions, there are four logical sums. For example, taking the data outputs OutC0 to OutC3 as an example, it is the logical sum of the outputs of the reconfigurable logic multiplexers 52C, 52E, and 52G. By setting the data of the reconfigurable logic multiplexers 52E and 52G to “0”, the output of 52E can be output upward.
  • FIG. 8 is a diagram illustrating an example of an MLUT that performs page control.
  • a part of the MLUT operates as a circuit that generates a page control signal of another configuration memory, and its data output controls a page of the other configuration memory.
  • the MLUT 30 shown in FIG. 8 includes large-capacity memory cell units 40A and 40B, and each memory cell unit is composed of nine address lines and 64 data lines. ) Large capacity of word ⁇ 64 bits.
  • A2 to A8 can be logically multiplexed with page addresses. This is an example of 128 pages.
  • the MLUT array is arranged in two directions. Since the configuration memory is configured to store the configuration data of each page, the storage capacity is increased. Therefore, it is composed of two memories. By doing so, clock control from the left and right becomes possible.
  • FIG. 8 is a schematic diagram, and does not show a decoder or the like that is a peripheral circuit of the memory cell unit.
  • the decoder 120 and the data input / output unit 140 described in FIG. 5 are provided for each memory cell unit. To be prepared.
  • FIG. 9 is a diagram showing an example in which a state machine is provided outside the MLUT. As shown in FIG. 9, pages (truth table data) can be switched by address under control of an MLUT 30 from an external system.
  • a state machine constituted by the MLUT becomes a control circuit, and unlike the data path, a logic circuit must be generated and arranged and wired.
  • FIG. 10 is a diagram showing an example in which a state machine is provided inside the MLUT.
  • a part of the configuration data is used to provide a state machine by MRLD.
  • the C language for control is performed by performing a decrement operation by the circuits constituted by the MLUT 30B.
  • the address of the next page is stored in 0 data (0 address of MLUT 30B), and the current address is stored in other addresses. This makes for statement control possible.
  • MRLD can use a conventional large-capacity memory device without going through semiconductor design prototyping and manufacturing for a dedicated small SRAM.
  • a memory IP Intelligent Property
  • the area of the address decoder and sense amplifier is large, and the composition ratio of the memory itself is 50% or less. . This also results in overhead and is inefficient.
  • the ratio of the address decoder and sense amplifier decreases, and the memory usage efficiency increases. For this reason, the present proposal for a large-capacity memory is effective in the case of an MRLD chip.
  • FIG. 11 is a diagram illustrating a logic circuit and wiring configured by the alternately arranged MLUT described in FIG.
  • FIG. 11 is configured by the alternately arranged MLUT described in FIG. 2, and is configured by two configuration memories (left side and right side).
  • the logic circuit and the wiring are configured by MLUTs 30A to 30D.
  • 12A to 12J shown below also include truth table data selected by page control.
  • FIG. 12A is a diagram showing an example of configuration data stored in the configuration memory on the left side of the MLUT 30A.
  • FIG. 12B is a diagram illustrating an example of configuration data stored in the configuration memory on the right side of the MLUT 30A.
  • FIG. 12C is a diagram illustrating an example of configuration data stored in the configuration memory on the left side of the MLUT 30B.
  • FIG. 12D is a diagram illustrating an example of configuration data stored in the configuration memory on the right side of the MLUT 30B.
  • FIG. 12E is a diagram illustrating an example of configuration data stored in the configuration memory on the left side of the MLUT 30C.
  • FIG. 12F is a diagram illustrating an example of configuration data stored in the configuration memory on the right side of the MLUT 30C.
  • FIG. 12G is a diagram illustrating an example of configuration data stored in the configuration memory on the left side of the MLUT 30D.
  • FIG. 12H is a diagram illustrating an example of configuration data stored in the configuration memory on the right side of the MLUT 30D.
  • FIG. 12I is a diagram illustrating an example of configuration data stored in the configuration memory on the left side of the MLUT 30E.
  • FIG. 12J is a diagram illustrating an example of configuration data stored in the configuration memory on the right side of the MLUT 30E.
  • the configuration data of the path without signal output is set to “0” so that a desired logical operation is output as a result.
  • Configuration data is structured.
  • FIG. 13 shows an example of the hardware configuration of the information processing apparatus.
  • the information processing apparatus 210 includes a processor 211, an input unit 212, an output unit 213, a storage unit 214, and a drive device 215.
  • the processor 211 executes the placement / wiring software input to the input unit 212, a circuit description language such as C language description or hardware description language (HDL) for designing an integrated circuit, and the software.
  • the truth table data generated by the above is stored in the storage unit 214.
  • the processor 211 executes placement / wiring software, performs the following placement / wiring processing on the circuit description stored in the storage unit 214, and outputs truth table data to the output unit 213.
  • a reconfigurable logical device 20 (not shown in FIG.
  • the drive device 215 is a device that reads and writes a storage medium 217 such as a DVD (Digital Versatile Disc) or a flash memory.
  • the drive device 215 includes a motor that rotates the storage medium 217, a head that reads and writes data on the storage medium 217, and the like.
  • the storage medium 217 can store a logical configuration program or truth table data.
  • the drive device 215 reads the program from the set storage medium 217.
  • the processor 211 stores the program or truth table data read by the drive device 215 in the storage unit 214.
  • truth table data When the truth table data is read into the semiconductor device 20, functions as a logical element and / or a connection element are constructed by specific means in which the truth table data and hardware resources cooperate.
  • the truth table data can also be said to be data having a structure indicating a logical structure called a truth table.

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Logic Circuits (AREA)

Abstract

【課題】面積の小さくかつ再構成性の高い再構成可能な論理デバイスを提供できる。 【解決手段】複数のマルチルックアップテーブルユニットを有し、構成データ情報に応じて複数の論理回路が構成される再構成可能論理デバイスであって、それぞれのマルチルックアップテーブルユニットは、構成データを格納する構成メモリと、データ入力線と、データ出力線と、前記構成データに応答して選択的に前記データ入力線からのデータ入力と、前記データ出力線への前記データ出力とを結合させ、及び/又は、前記構成データに応答して前記データ入力に関して論理演算したデータを、前記データ出力線へデータ出力する再構成可能論理マルチプレクサと、を備え、前記データ入力線および前記データ出力線により近接する前記マルチルックアップテーブルが接続される、再構成可能論理デバイス。

Description

再構成可能な論理デバイス
 本発明は、再構成可能な論理デバイスに関する。
 FPGA(Field-Programmable Gate Array)などの再構成可能(プログラム可能、又は、書込み可能)な半導体装置は、その再書込み可能性によって与えられる柔軟性のため、広く使用されている(例えば、特許文献1)。
 一般的なアイランドスタイルFPGAは、論理要素CLB(Configurable Logic Blocks)、スイッチ要素SB、CB、入出力要素IOBから構成されている。
 論理要素CLBは、組み合わせ回路を実現するプログラマブルな要素であり、CLBの各々は、データフリップフロップ(DFF)や、LUT(Look Up Table)等から構成される。k入力のLUT(k-LUT)は2のk乗個のSRAM(Static Random Access Memory)セルが使われ、k変数の関数を実現する。例えば、任意の論理関数の真理値表をSRAMに保持し、入力に応じて真理値表を参照して出力を行う方式である。
 また、論理機能部分をリンクさせるCLB間に信号経路を発生させるため、CLB間には、信号経路を切り替え可能なスイッチ要素CB、SBが配置される。スイッチ要素CBは、論理ブロックLBと配線チャネルとの間に設定する要素であり、スイッチ要素SBは、縦方向と横方向の配線が交差する部分において縦横の配線間の設定を行う要素である。
 入出力要素IOBとは、デバイスの入出力と論理要素LBとの間のインターフェースの役割を担う構成要素である。
 出願人又は発明者は、メモリセルユニットで回路構成を実現する「MPLD(Memory-based Programmable Logic Device)」(登録商標)を開発している。MPLDは、例えば、下記特許文献1に示される。MPLDは、MLUT(Multi Look-Up-Table)と呼ぶメモリアレイを相互に接続する。MLUTは真理値データを格納して、配線要素と論理要素を構成する。MPLDは、このMLUTをアレイ状に並べ、相互接続することによってFPGAとほぼ同等の機能を実現している。また、MPLDは、真理値表データにより、MLUTを論理要素と配線要素の双方として使用することによって、論理領域と配線領域に柔軟性をもたせたデバイスであり(例えば、特許文献2)、メモリセルユニット間の接続に専用の切り替え回路を有するFPGAと異なる。
国際公開第2002/538652号 国際公開第2007/060763号
 以上のように、FPGAは、再構成可能な装置であるが、ASIC(Application Specific Integrated Circuit)よりも面積が大きい。その原因は、配線とスイッチであり、それは全体面積のおよそ70~80%を占める。また、FPGAは、論理要素と、配線要素がそれぞれ異なる装置により実現されているため、再構成における制限がある。
 本発明の一実施形態によれば、面積の小さくかつ再構成性の高いプログラマブル論理デバイスを提供する。
 上記課題を解決する形態は、以下の項目セットにより示される。
 1.複数のマルチルックアップテーブルユニットを有し、構成データ情報に応じて複数の論理回路が構成される再構成可能論理デバイスであって、
 それぞれのマルチルックアップテーブルユニットは、
  構成データを格納する構成メモリと、
  データ入力線と、
  データ出力線と、
  前記構成データに応答して選択的に前記データ入力線からのデータ入力と、前記データ出力線への前記データ出力とを結合させ、及び/又は、前記構成データに応答して前記データ入力に関して論理演算したデータを、前記データ出力線へデータ出力する再構成可能論理マルチプレクサと、を備え、
 前記データ入力線および前記データ出力線により近接する前記マルチルックアップテーブルが接続される、再構成可能論理デバイス。
 2. 前記構成データは、論理演算値及び/又は結線経路を規定する複数個の真理値表データを含み、前記データ入力に応じて、前記複数個の真理値表データの何れか1つが選択されるように構成される、項目1に記載の再構成可能論理デバイス。
 3.前記再構成可能マルチプレクサは複数個あり、前記データ入力線の方向と、前記データ出力線の方向の組合せ毎に設けられる、項目1又は2に記載の再構成可能論理デバイス。
 4.前記構成メモリから読み出された構成データを保持するとともに、前記保持した構成データを、前記再構成可能論理マルチプレクサに出力する保持部をさらに備える項目1~3の何れか1項に記載の再構成可能な論理デバイス。
 5.前記再構成可能論理マルチプレクサは、前記データ入力線からのデータ入力によって、前記保持部に保持された構成データの何れかを、選択して出直する項目1~4の何れか1項に記載の再構成可能論理マルチプレクサ。
 6.前記マルチルックアップテーブルのデータ入力線は、隣接する他の前記マルチルックアップテーブルのデータ出力線に接続する項目1~5の何れか1項に記載の再構成可能論理マルチプレクサ。
 7.前記構成メモリは、データ出力方向毎に用意される複数の構成メモリから構成される項目1~6の何れか1項に記載の再構成可能な論理デバイス。
 8.前記構成メモリに出力されるアドレスの入力タイミングでクロックを生成するクロック遷移検出部を備え、前記構成メモリは、前記クロックに同期して動作する項目1~7の何れか1項に記載の再構成可能な論理デバイス。
 9.前記構成メモリは、複数の構成データを記憶し、前記複数の構成データの何れか1つは、前記構成メモリの第2アドレス線に接続する第2データ出力線に出力し、前記第2アドレス線の入力に従って、前記複数の真理値表データを特定されるように構成される、項目1~8の何れか1項に記載の再構成可能な論理デバイス。
 10.前記構成メモリは、複数の構成データを記憶し、外部と接続する第2アドレス線の入力に従って、前記複数の真理値表データを特定されるように構成される、項目1~9の何れか1項に記載の再構成可能な論理デバイス。
 11.複数のマルチルックアップテーブルユニットを有し、構成データ情報に応じて複数の論理回路が構成される再構成可能論理デバイスの制御方法であって、
 それぞれのマルチルックアップテーブルユニットは、
  データ入力線と、
  データ出力線と、
  再構成可能論理マルチプレクサと、を備え、
 前記データ入力線および前記データ出力線により近接する前記論理部に接続し、
 前記再構成可能論理マルチプレクサは、前記真理値表データに応答して選択的に前記データ入力線からのデータ入力と、前記データ出力線への前記データ出力とを結合し、
 前記真理値表データに応答して前記データ入力に関して論理演算したデータを、前記データ出力線へデータ出力する、制御方法。
 12.前記再構成可能論理デバイスは、前記構成メモリから読み出された構成データを保持するとともに、前記保持した構成データを、前記再構成可能論理マルチプレクサに出力する保持部をさらに備え、
 前記再構成可能論理マルチプレクサは、前記データ入力線からのデータ入力によって、前記保持部に保持された構成データの何れかを、選択して出力する項目11に記載の制御方法。
 13.前記構成メモリに出力されるアドレスの入力タイミングでクロックを生成するクロック遷移検出部を備え、前記構成メモリは、前記クロックに同期して動作する項目11又は12に記載の制御方法。
 14.再構成可能論理デバイスを制御するためのプログラムにおいて、
 前記再構成可能論理デバイスは、
 複数のマルチルックアップテーブルユニットを有し、構成データ情報に応じて複数の論理回路が構成され、
 それぞれのマルチルックアップテーブルユニットは、
  構成データを格納する構成メモリと、
  データ入力線と、
  データ出力線と、を有し、
 前記マルチルックアップテーブルユニットに、
  選択的に前記データ入力線からのデータ入力と、前記データ出力線への前記データ出力とを結合し、
  前記構成データに応答して前記データ入力に関して論理演算したデータを、前記データ出力線へデータ出力する処理を実行させる、プログラム。
 15.項目14に示すプログラムを格納する記憶媒体。
 本実施形態に係る半導体装置は、面積の小さくかつ再構成性の高い半導体装置を提供できる。
本実施形態に係る半導体装置の全体構成の一例を示す図である。 2方向配置のMLUTアレイの一例を示す図である。 4方向配置のMLUTアレイの一例を示す図である。 2方向配置のMLUTの信号線の配置例を示す図である。 2方向配置のMLUTの一例を示す図である。 構成メモリの一例を示す図である。 クロック遷移検出部の一例を示す図である。 クロック遷移検出部のタイムチャートの一例である。 クロック遷移検出部におけるアドレスと生成したクロックのタイムチャートの一例である。 4方向配置のMLUTの信号線の配置例を示す図である。 4方向配置のMLUTの一例を示す図である。 ページ制御を行うMLUTの一例を示す図である。 MLUT外部で状態機械を設ける例を示す図である。 MLUT内部で状態機械を設ける例を示す図である。 図2で説明した交互配置のMLUTにより構成される論理回路と配線を示す図である。 MLUT30Aの左側の構成メモリに格納される構成データの一例を示す図である。 MLUT30Aの右側の構成メモリに格納される構成データの一例を示す図である。 MLUT30Bの左側の構成メモリに格納される構成データの一例を示す図である。 MLUT30Bの右側の構成メモリに格納される構成データの一例を示す図である。 MLUT30Cの左側の構成メモリに格納される構成データの一例を示す図である。 MLUT30Cの右側の構成メモリに格納される構成データの一例を示す図である。 MLUT30Dの左側の構成メモリに格納される構成データの一例を示す図である。 MLUT30Dの右側の構成メモリに格納される構成データの一例を示す図である。 MLUT30Eの左側の構成メモリに格納される構成データの一例を示す図である。 MLUT30Eの右側の構成メモリに格納される構成データの一例を示す図である。 真理値表データを生成する情報処理装置のハードウェア構成を示す図である。
 以下、図面を参照して、[1]再構成可能な論理デバイス、[2]MLUTアレイ、[3]MLUT、[4]ページ制御、[5]構成データ、及び[6]真理値表データの生成方法について順に説明する。
 [1]再構成可能な論理デバイス
 図1は、本実施形態に係る再構成可能な論理デバイスの一例を示す図である。以下、当該再構成可能な論理デバイスをMRLD(Memory based Reconfigurable Logic Device)(登録商標)と呼ぶ。MRLDは、出願人が開発したMPLDと同様に、各MLUT間が、配線要素を介在せずに直接接続する点で共通するが、汎用SRAMの機能を有効に活用する点において、区別される。
 MRLDは、FPGAとほぼ同等の機能を備えているデバイスであるが、その構造が異なる。FPGAは、CLB、スイッチブロック、コネクションブロックなどによって構成され、論理資源と配線資源の割合は固定である。これに対し、MRLDは、論理素子、配線素子の双方として利用可能なMLUTを並べた構成となり、さらに、MLUTが直接接続されている点が、FPGAと大きく異なる。
 図1に示すMRLD20は、後述する複数個のMLUT(Multi Look Up Table:マルチルックアップテーブル)を、アレイ状に配置したMLUTアレイ300、MLUTのメモリ読出し動作、書込み動作を特定するデコーダ12、及び、入出力部14を有する。
 MRLD20の論理動作では、実線で示されるデータ入力DI、及びデータ出力DOの信号を使用する。データ入力DIは、論理回路の入力信号として使用される。そして、データ出力DOは、論理回路の出力信号として使用される(図2において後述する)。
 MRLD20の論理動作により実現される論理は、MLUT30に記憶される真理値表データにより実現される。いくつかのMLUT30は、AND回路、加算器などの組み合わせ回路としての論理要素として動作する。他のMLUTは、組み合わせ回路を実現するMLUT30間を接続する接続要素として動作する。MRLD20が、論理要素、及び接続要素を実現するための真理値表データの書き換えは、MLUT30の構成メモリへの書き込み動作によりなされる。
 MPLD20の書き込み動作は、書込用アドレスAD、及び書込用データWDによりなされ、読出し動作は、書込用アドレスAD、及び読出用データRDによりなされる。
 書込用アドレスADは、MLUT30内のメモリセルを特定するアドレスである。書込用アドレスADは、m本の信号線で、2のm乗の数nのメモリセルを特定する。書込用アドレスADは、メモリの読出し動作、書き込み動作、両方の場合で使用され、m本の信号線を介して、デコーダ12でデコードされて、対象となるメモリセルを選択する。なお本実施形態においては、後述するが、論理用動作アドレスDIのデコードは、MLUT30内のデコーダにより行う。
 デコーダ12は、リード・イネーブル信号re、ライト・イネーブル信号we等の制御信号に従って、書込用アドレスADをデコードし、デコードアドレスnをMLUT30に対して出力する。デコードアドレスnは、MLUT30の構成メモリ内のメモリセルを特定するアドレスとして使用される。
 入出力部14は、ライト・イネーブル信号weに従って、書込用データWDを書込み、リード・イネーブル信号reに従って、読出用データRDを出力する。
 [2]MLUTアレイ
 図2は、2方向配置のMLUTアレイの一例を説明する図である。図2に示される矢印は、隣接する他のMLUTとつながるデータ入力線、又は、データ出力線である。図2に示すMLUTアレイ300において、MLUT30は、隣接する他のMLUT30と2本のデータ入力線又はデータ出力線で接続されいる。つまり、MLUT同士の接続が複数のデータ入力線又はデータ出力線で接続するように構成される。また、隣接するMLUTは、構成可能性を上げるために、入力方向及び出力方向に、それぞれ2つのMLUTと接続する。この配置を、以下「交互配置」と言う。
 交互配置型MLUTは、データ線及びビット線を複数本とすることで、マルチビットのデータ処理が可能になり、さらに、入力及び出力方向のデータの流れの方向が限定できるので、論理ライブラリの作成も容易になる。
 各MLUT30は、多数の異なる論理関数を実行することが可能である。MLUT30は、構成メモリ40と、再構成可能論理マルチプレクサ50を有する。MLUT30によって実行される論理関数は、構成メモリ40内に格納された構成データによって決定される。MLUT30は、構成データ用の入力を有しており、且つ、再構成可能論理マルチプレクサ50への構成データ用の出力を有している。構成データは、MRLD20外側から構成メモリ40内へ、そのアドレス線及びデータ線を用いて、ロードされる。
 再構成可能論理マルチプレクサ50は、データ入力、データ出力、構成データを受取るためのコンフィギュレーション入力を有しており、且つそれに応答してデータ入力及び出力の結合状態を制御する。再構成可能論理マルチプレクサ50はさらに、構成データに応答してデータ入力に関して論理演算したデータを、データ出力線へデータ出力する。
 図3は、4方向配置のMLUTアレイの一例を説明する図である。図3に示す方向配置では、FPGAと同様の配置である。このようにすることでFPGAに近い構成が取れ、FPGAツールで生成した論理構成された状態を使い、MRLDの構成データの作成が容易になる。例えば、図の左上及び中上、左下をスイッチ・ブロックとして、中下をLUTブロックとして、FPGAのCLB相当が表現でき、FPGAの構成された状態から真理値データが生成できる。
 [3]MLUT
 図4Aは、2方向配置のMLUTの信号線の配置例を示す図である。図4Aに示すように、左からのデータ入力は、InA0~InA3であり、左へのデータ出力は、OutA0~OutA3である。また、右からのデータ入力は、InB0~InB3であり、左へのデータ出力は、OutB0~OutB3である。
 図4Bは、2方向配置のMLUTの一例を示す図である。図4Bに示すMLUTの信号線は、図4Aに示すMLUTの信号線と同じである。図4Bに示すMLUT30は、構成メモリ40、再構成可能論理マルチプレクサ50、及びレジスタユニット60を有する。構成メモリ40は、例えば、SRAMである。構成メモリ40は、構成データを格納するメモリセルを特定するための複数のアドレス線A0~A8と接続する。図3に示す例では、構成メモリには、9つのアドレスにより、2の9乗である「512」のワード線があり、それに対して256個のビット線(「データ線」とも言う)がある。入力が4つありその組み合わせは16であるので、レジスタは16個必要になる。また、4ビットで16個必要で、左から左、左から右、右から左、右から右のデータが必要なので、4ビット×16×4で256個のビット線となる。よって、構成メモリには、2の9乗×256個のメモリセルがある。なお、A0にはポジティブタイプのアドレス遷移検出(ATD)回路を付けてクロック入力とする(図6で後述する)。
 [3.1]構成メモリ
 構成メモリ40は、クロックA0に従って、アドレスで特定されたメモリセルから、図示されないセンスアンプによりデータを読み出して、ビット先に対応した数のレジスタ(図2の例では、256ビット)を有するレジスタユニット60にデータを出力する。レジスタユニット60は、構成メモリ40から新たなデータが出力されるまで、データを保持し続ける複数のレジスタから構成される。
 図5は、構成メモリの詳細である。図5に示される構成メモリ40は、各々がデータを記憶するメモリセルからなるメモリセルアレイ110と、アドレスデコーダ120と、後述の図6Aに示すクロック遷移検出部200と、メモリセルアレイ110へのデータ読出し又はデータ書込みを行うデータ入出力部140と、を有する。なお、本実施例において、構成メモリ40は、クロックに同期して読出し、又は、書込み動作を行う同期SRAMである。よって、アドレスデコーダ120及びデータ入出力部140はクロックに同期して動作する。
 メモリセルアレイ110は、m×2個のメモリセル(それに伴う記憶素子)を有し、m×2個のメモリセルは、2のm乗本のワード線と、n本のビット線(「データ線」とも言う。以下同じ)の接続部分に配置される。
 アドレスデコーダ120は、A0のクロック遷移検出部で生成されたクロックに同期して、m本のアドレス信号線から受け取ったアドレス信号を受け取ると、それをデコードして、2のm乗本のワード線WLにデコード信号であるワード線選択信号及びデータ入出力部140で選択するデータ線選択信号を出力し、対応するメモリセルに対するデータの読み出し又は書込み処理が行なわれるようにする。
 データ入出力部140は、データ入出部140は、ライトアンプと、センスアンプとを有する。ライトアンプは、例えば、外部からライトイネーブル(WE)の立ち上がりエッジタイミング及び書込データを受け取ると、m本のデータ線b、/bにその書込データの信号レベルを伝えて、メモリセルにデータを書き込む。また、センスアンプは、データ入出力部140は、外部からリードイネーブル(RE)の立ち上がりエッジタイミングを受け取ると、m本のデータ線b、/bの信号レベルを外部に出力することで、読出データを出力する。
 なお、図5に示す構成メモリは、配線の1方向ずつ設けてもよい。例えば、図2に示す2方向配置では、2つの構成メモリ、図3に示す4方向配置では、4つの構成メモリである。このように、方向毎に構成メモリを設けることで、単一のメモリで構成する場合と比して、アドレスの数が減る(2の9乗×4の方が、2の36乗よりも少なくなる)ので、メモリの容量を下げることができる。
 図6Aは、本実施形態に係るクロック遷移検出部の回路図である。図6Aに示されるクロック遷移検出部200は、否定論理和(NOR)回路210A、210B、論理積(AND)回路230、遅延回路240A~240C、フリップフロップ(FF)250、インバータ260A、260B、及びDラッチ270を有する。
 図6Bは、図6Aに示したクロック遷移検出部の信号のタイミングチャートである。信号S1は、構成メモリへのアドレス入力信号である。本実施例では、アドレスA0である。信号S2は、Dラッチの出力である。Dラッチ270は、信号S1に変化があった場合、一定期間変化しないようにラッチする。これは、ノイズ等で後続のアドレス遷移を無視するためである。信号S3は、Dラッチ270から出力される遅延信号である。遅延信号は、図6Bに示されるように、立ち上がりおよび立ち下がりでクロックを作って、信号S4のクロック幅を生成するために、遅延回路240Bで遅延される。
 クロック信号として生成される信号S4は、AND回路230から出力される。AND回路230では、遅延回路240Bの入力と、出力とが入力されるので、両者の信号レベルが異なると、信号レベル「ハイ」を出力する。これにより、アドレス遷移を検出することができる。
 信号S5は、遅延回路240Cから出力される遅延信号であり、LAT270のイネーブル信号待ちしてクロック入力する。
 信号S6は、信号S5の信号延長であり、イネーブル信号のパルス生成である。NOR回路210Aは、信号S5とS6のNOR演算値である信号S7を出力する。そして、信号S7は、Dラッチ270のイネーブル信号となる。信号S8は、信号S5をインバータ260Aで反転した信号で、FF250で、アドレス信号のラッチのクロックとして使用される。信号S9は、構成メモリのイネーブル、信号S10は、構成メモリのクロック(atd_clk)、信号S11は、構成メモリのアドレスとして利用される。このように、アドレスA0である信号S1により、クロック信号S10が生成されるので、構成メモリとして同期SRAMの使用が可能になる。
 図6Cは、アドレスA0と生成されるクロック信号との関係を示すタイミングチャートである。図6Cでは、信号S1とS10のみを示す。アドレスA0の「Low」から「Hi」への立ち上がりタイミングを用いて、クロックを生成し、アドレスA0「Hi」から「Low」への立下りタイミングでもクロックを生成すると、データの書込みの時、立ち上がりでデータを書き込んでも、立下りの時、最初のメモリ・データに戻ってしまいデータが保持されない。この対策として、MLUT20は、ポジティブタイプのアドレス遷移検出(ATD)部200を有する。このように、ポジティブタイプのATD回路は、A0の立ち上がりのみでCLKを生成するので、メモリ内部のアドレスをHiで保持する。Hiで保持する構成データが出力され、A0がLowになってCLKが生成されず構成データが、レジスタユニット60のレジスタに保持される。これにて、MLUT30は、フリップフロップ回路などの現実の回路を用意することなく、順序回路を構成することができる。
 [3.2]再構成可能論理マルチプレクサ
 再構成可能論理マルチプレクサ50は、データの配線経路の数だけある。例えば、再構成可能論理マルチプレクサ52A、52B、52C、及び52Dがある。
 レジスタユニット60に保持される構成データに従って、データ入力をデータ出力とに結合させるマルチプレクサであり、その接続経路は、構成データによって再構成可能である。動作としては、レジスタユニット60に保持されるデータを“入力信号”とし、データ入力を“選択制御信号”として用いて、“入力信号”を選択して、出力する。
 A.論理機能の実現
 図4Bに示す例では、レジスタでは、構成データから読み出した論理演算の結果を示す4対の4ビットが保持されている。つまり、構成データでは、4ビットデータは、論理積、論理和、否定、否定論理和、排他的論理和等の真理値表に対応した値が用意される。再構成可能論理マルチプレクサ52A等は、16対1のマルチプレクサで、16対「2方向×2×16」の4ビットを、データ入力に対応して、1対の4ビットに選択する。つまり、構成メモリ40では、データ入力数(図4Bでは4つ)と、その配線方向(図4Bでは4つ)の数を構成する構成データ(図4Bの例では、4方向×4対の4ビットデータ)が格納される。
 B.配線機能の実現
 各再構成可能論理マルチプレクサは、データ入力を選択信号として用いて、データ入力に応じて、複数個の真理値表データの何れを選択する。各再構成可能論理マルチプレクサは、データ入力線からのデータ入力と、データ出力線へのデータ出力とを結合する所望の配線経路を実現するように構成される。再構成可能マルチプレクサは複数個あり、データ入力線の方向と、データ出力線の方向の組合せ毎に設けられる。例えば、再構成可能論理マルチプレクサ52A、52B、52C、及び52Dは、それぞれ、左側入力から左側出力の配線経路、左側入力から右側出力の配線経路、右側入力から右側出力の配線経路、及び、右側入力から左側出力の配線経路のためにある。例えば、データ入力により、再構成可能論理マルチプレクサ52Bではなく、再構成可能論理マルチプレクサ52Aが選ばれる場合、データ入力に応じて再構成可能論理マルチプレクサ52Bが選択した入力信号(構成データ)は、「0」であり52Aの信号と52Cの信号が論理和されているので、左から左への信号が優先し、左から左の信号経路を構成する。データ入力に応じて再構成可能論理マルチプレクサ52Aが選択する入力信号(構成データ)は、所定の論理値を設定されており、それを左に出力する。
 構成データの詳細は、図12を用いて、後述する。再構成可能論理マルチプレクサ52Aと52Cは論理和されており、再構成可能論理マルチプレクサ52Cの構成データを「0」とすることにより左からのInA0~InA3の信号を左に所定の論理値で出力しうる。また、再構成可能論理マルチプレクサ52Bと52Dは論理和されており、再構成可能論理マルチプレクサ52Dを「0」とすることにより、InA0~InA3の信号を右側に出力している。これと同じ手法でInB0~InB3の信号を左右に出力している。
 以上のように、再構成可能論理マルチプレクサ50は、配線経路に応じて設けられ、また、構成データを論理演算値、及び、配線選択するように、構成することで、論理演算回路、及び/又は、スイッチのように動作する。
 図7Aは、4方向配置のMLUTの信号線の配置例を示す図である。図7Aに示すように、左右からのデータ入出力は、2方向配置と同じであるが、それに加えて、上からのデータ入力InC0~C3、上へのデータ出力OutC0~OutC3、及び、下からのデータ入力InD0~InD3、下へのデータ出力OutD0~OutD3がある。
 図7Bは、4方向配置のMLUTの一例を示す図である。なお、本例は適便に改良してもよい。図7Bに示すMLUTの信号線は、図7Aに示すMLUTの信号線と同じである。構成メモリは表示しないが、各構成要素の動作は、2方向配置のMLUTと同じである。4方向であるため、再構成可能論理マルチプレクサの数が、2方向配置のMLUTと比して、4つ(再構成可能論理マルチプレクサ52E~H)増え、それに伴いレジスタユニット62も増える。
 2方向配置のマルチプレクサの出力は、他の同方向への出力と論理和をしていたが、4方向配置でも原理は同じである。ただし、方向が4つとなったため、4つの論理和となっている。例えば、データ出力OutC0~OutC3を例とすると、再構成可能論理マルチプレクサ52C、52E、52Gの出力の論理和となっている。再構成可能論理マルチプレクサ52E、52Gのデータを「0」とすることにより、52Eの出力が上に出力しうる。
 [4]ページ制御
 図8は、ページ制御を行うMLUTの一例を示す図である。ページ制御を行うMLUTは、MLUTの一部が、他の構成メモリのページ制御信号を生成する回路として動作し、そのデータ出力は、他の構成メモリのページを制御する。
 図8に示すMLUT30は、大容量のメモリセルユニット40A、40Bを有し、各メモリセルユニットは、9本のアドレス線と、64本のデータ線で構成されるので、2の9乗(512)ワード×64ビットの大容量となる。本例ではA2~A8がページ・アドレスで論理の多重化ができる。この場合は128ページの例である。また、本例では、2方向配置のMLUTアレイである。そして、構成メモリは、各ページの構成データを格納するように構成されるので、記憶容量は大きくなる。そのため、2つのメモリにより、構成される。このようにすることで、左右からのクロック制御が可能になる。
 なお、図8は、概略図であり、メモリセルユニットの周辺回路であるデコーダ等は、示しておらず、デコーダは図5で説明したデコーダ120及びデータ入出力部140が、各メモリセルユニット毎に用意される。
 図9は、MLUT外部で状態機械を設ける例を示す図である。図9に示すように、あるMLUT30を外部システムからの制御により、アドレスによりページ(真理値表データ)を切り替えることもできる。
 従来のMPLDでは、MPLDの状態機械は、真理値表データで定義することが必要があった。そのため、決められた条件に従って、あらかじめ決められた複数の状態を真理値表データで定義する真理値表データを設ける必要があった。MLUTで構成されるステート・マシンが制御回路になり、データ・パスとは違い論理回路まで生成して配置配線をしなければならなかった。
 図10は、MLUT内部で状態機械を設ける例を示す図である。構成データの一部を使いMRLD独自で状態機械を設ける例である。MLUT30Bで構成される回路らでデクリメント演算をさせてC言語のfor制御を行わせる。0データ(MLUT30Bの0アドレス)に次のページのアドレスを記憶させ他のアドレスには現在のアドレスを記憶させる。これでfor文制御が可能になる。
 図10に示すMLUT30は、ページの切替制御機能を持つことから、ステートマシンを真理値表で定義する必要がなくなる。例えば、for文は所定値がある条件になるまで、自ページのアドレスをデータに出力してページ切り替えを行わず、同じページで動作を処理する。ある条件を満たせば(例えば、i=0)、その際にページ切り替えのアドレスを、データ線に出力する。データ線は、他のメモリセルユニットにアドレス線として入力するので、当該他のメモリセルユニットのページ切り替えが可能になる。また、case文の場合は所定値の値により、飛び先番地をデータに出力してページ切り替えを行わせて動作変更させることが出来る。以上により、従来のMPLDは論理回路構成しか出来なかったものに対してC言語の動作合成も出来るようになり、C言語からMPLDのMLUTの真理値データを生成させることが可能になり、FPGA以上の機能を持たせることができる。
 MRLDは専用の小型のSRAMに関する半導体設計試作、製造を経なくても、従来の大容量のメモリデバイスを利用できる。MRLDをチップで構成する際、メモリIP(Intellectual Property)を使うが、従来のMLUTが求めている微小メモリ容量では、アドレスデコーダやセンスアンプの面積が大きくメモリ自体の構成比率は50%以下になる。このことは、オーバヘッドにもなり、効率が悪い。大容量メモリになるとアドレス・デコーダやセンス・アンプに比率は下がり、メモリ使用効率が上がる。そのため、大容量メモリにあった本案はMRLDチップの場合有効になる。
 [5]構成データ
 図8に示す例における構成データを図12A~図12Jに示す。図11は、図2で説明した交互配置のMLUTにより構成される論理回路と配線を示す図である。図11は、図2で説明した交互配置のMLUTにより構成され、2つの構成メモリ(左側、右側)により構成される。図11に例示されるように、論理回路と配線は、MLUT30A~30Dにより構成される。また、下記に示す図12A~図12Jは、ページ制御で選択される真理値表データも含む。
 図12Aは、MLUT30Aの左側の構成メモリに格納される構成データの一例を示す図である。図12Bは、MLUT30Aの右側の構成メモリに格納される構成データの一例を示す図である。図12Cは、MLUT30Bの左側の構成メモリに格納される構成データの一例を示す図である。図12Dは、MLUT30Bの右側の構成メモリに格納される構成データの一例を示す図である。図12Eは、MLUT30Cの左側の構成メモリに格納される構成データの一例を示す図である。図12Fは、MLUT30Cの右側の構成メモリに格納される構成データの一例を示す図である。
 図12Gは、MLUT30Dの左側の構成メモリに格納される構成データの一例を示す図である。図12Hは、MLUT30Dの右側の構成メモリに格納される構成データの一例を示す図である。図12Iは、MLUT30Eの左側の構成メモリに格納される構成データの一例を示す図である。図12Jは、MLUT30Eの右側の構成メモリに格納される構成データの一例を示す図である。
 上記したように、再構成可能論理マルチプレクサの出力は、論理和されているため、信号出力の無い経路の構成データを「0」とすることにより、所望の論理演算を結果を出力するように、構成データは構成されている。
 [6]真理値表データの生成方法
 再構成可能な半導体装置の真理値表データは、論理構成用のソフトウェアプログラムを実行する情報処理装置によって生成される。
 図13に、情報処理装置のハードウェア構成の一例を示す。情報処理装置210は、プロセッサ211と、入力部212と、出力部213と、記憶部214とドライブ装置215を有する。プロセッサ211は、入力部212に入力された配置・配線用のソフトウェア、集積回路を設計するためのC言語記述またはハードウェア記述言語(HDL)などの回路記述言語、及び、上記ソフトウェアを実行することによって生成される真理値表データを記憶部214に記憶する。また、プロセッサ211は、配置・配線用のソフトウェアを実行して、記憶部214に記憶された回路記述に対して以下に示す配置・配線の処理を行い、出力部213に、真理値表データを出力する。出力部213には、再構成可能な論理デバイス20(図13には示さず)を接続することができ、プロセッサ211が論理構成処理を実行して、生成した真理値表データを、出力部213を介して再構成可能な論理デバイス20に書き込む。出力部213は、外部ネットワークと接続していてもよい。この場合、論理構成用のソフトウェアプログラムは、ネットワークを介して送受信される。ドライブ装置215は、例えば、DVD(Digital Versatile Disc)、フラッシュメモリなどの記憶媒体217を読み書きする装置である。ドライブ装置215は、記憶媒体217を回転させるモータや記憶媒体217上でデータを読み書きするヘッド等を含む。なお、記憶媒体217は、論理構成用のプログラム、又は、真理値表データを格納することができる。ドライブ装置215は、セットされた記憶媒体217からプログラムを読み出す。プロセッサ211は、ドライブ装置215により読み出されたプログラム又は真理値表データを、記憶部214に格納する。
 真理値表データが半導体装置20に読み込まれることにより、真理値表データとハードウェア資源とが協働した具体的手段によって、論理要素及び/又は接続要素としての機能が構築される。また、真理値表データは、真理値表という論理的構造を示す構造を有するデータともいえる。
 以上説明した実施形態は典型例として挙げたに過ぎず、その各実施形態の構成要素の組合せ、変形及びバリエーションは当業者にとって明らかであり、当業者であれば本発明の原理及び請求の範囲に記載した発明の範囲を逸脱することなく上述の実施形態の種々の変形を行えることは明らかである。
 20  MRLD
 30  MLUT
 40  構成メモリ
 50  再構成可能論理マルチプレクサ
 60  レジスタユニット
 200  クロック遷移検出部
 300  MLUTアレイ

Claims (15)

  1.  複数のマルチルックアップテーブルユニットを有し、構成データ情報に応じて複数の論理回路が構成される再構成可能論理デバイスであって、
     それぞれのマルチルックアップテーブルユニットは、
      構成データを格納する構成メモリと、
      データ入力線と、
      データ出力線と、
      前記構成データに応答して選択的に前記データ入力線からのデータ入力と、前記データ出力線への前記データ出力とを結合させ、及び/又は、前記構成データに応答して前記データ入力に関して論理演算したデータを、前記データ出力線へデータ出力する再構成可能論理マルチプレクサと、を備え、
     前記データ入力線および前記データ出力線により近接する前記マルチルックアップテーブルが接続される、再構成可能論理デバイス。
  2.  前記構成データは、論理演算値及び/又は結線経路を規定する複数個の真理値表データを含み、前記データ入力に応じて、前記複数個の真理値表データの何れか1つが選択されるように構成される、請求項1に記載の再構成可能論理デバイス。
  3.  前記再構成可能マルチプレクサは複数個あり、前記データ入力線の方向と、前記データ出力線の方向の組合せ毎に設けられる、請求項1又は2に記載の再構成可能論理デバイス。
  4.  前記構成メモリから読み出された構成データを保持するとともに、前記保持した構成データを、前記再構成可能論理マルチプレクサに出力する保持部をさらに備える請求項1~3の何れか1項に記載の再構成可能な論理デバイス。
  5.  前記再構成可能論理マルチプレクサは、前記データ入力線からのデータ入力によって、前記保持部に保持された構成データの何れかを、選択して出力する請求項1~4の何れか1項に記載の再構成可能論理マルチプレクサ。
  6.  前記マルチルックアップテーブルのデータ入力線は、隣接する他の前記マルチルックアップテーブルのデータ出力線に接続する請求項1~5の何れか1項に記載の再構成可能論理マルチプレクサ。
  7.  前記構成メモリは、データ出力方向毎に用意される複数の構成メモリから構成される請求項1~6の何れか1項に記載の再構成可能な論理デバイス。
  8.  前記構成メモリに出力されるアドレスの入力タイミングでクロックを生成するクロック遷移検出部を備え、前記構成メモリは、前記クロックに同期して動作する請求項1~7の何れか1項に記載の再構成可能な論理デバイス。
  9.  前記構成メモリは、複数の構成データを記憶し、前記複数の構成データの何れか1つは、前記構成メモリの第2アドレス線に接続する第2データ出力線に出力し、前記第2アドレス線の入力に従って、前記複数の真理値表データを特定されるように構成される、請求項1~8の何れか1項に記載の再構成可能な論理デバイス。
  10.  前記構成メモリは、複数の構成データを記憶し、外部と接続する第2アドレス線の入力に従って、前記複数の真理値表データを特定されるように構成される、請求項1~9の何れか1項に記載の再構成可能な論理デバイス。
  11.  複数のマルチルックアップテーブルユニットを有し、構成データ情報に応じて複数の論理回路が構成される再構成可能論理デバイスの制御方法であって、
     それぞれのマルチルックアップテーブルユニットは、
      データ入力線と、
      データ出力線と、
      再構成可能論理マルチプレクサと、を備え、
     前記データ入力線および前記データ出力線により近接する前記論理部に接続し、
     前記再構成可能論理マルチプレクサは、前記真理値表データに応答して選択的に前記データ入力線からのデータ入力と、前記データ出力線への前記データ出力とを結合し、
     前記真理値表データに応答して前記データ入力に関して論理演算したデータを、前記データ出力線へデータ出力する、制御方法。
  12.  前記再構成可能論理デバイスは、前記構成メモリから読み出された構成データを保持するとともに、前記保持した構成データを、前記再構成可能論理マルチプレクサに出力する保持部をさらに備え、
     前記再構成可能論理マルチプレクサは、前記データ入力線からのデータ入力によって、前記保持部に保持された構成データの何れかを、選択して出力する請求項11に記載の制御方法。
  13.  前記構成メモリに出力されるアドレスの入力タイミングでクロックを生成するクロック遷移検出部を備え、前記構成メモリは、前記クロックに同期して動作する請求項11又は12に記載の制御方法。
  14.  再構成可能論理デバイスを制御するためのプログラムにおいて、
     前記再構成可能論理デバイスは、
     複数のマルチルックアップテーブルユニットを有し、構成データ情報に応じて複数の論理回路が構成され、
     それぞれのマルチルックアップテーブルユニットは、
      構成データを格納する構成メモリと、
      データ入力線と、
      データ出力線と、を有し、
     前記マルチルックアップテーブルユニットに、
      選択的に前記データ入力線からのデータ入力と、前記データ出力線への前記データ出力とを結合し、
      前記構成データに応答して前記データ入力に関して論理演算したデータを、前記データ出力線へデータ出力する処理を実行させる、プログラム。
  15.  請求項14に示すプログラムを格納する記憶媒体。
PCT/JP2014/059703 2013-04-02 2014-04-02 再構成可能な論理デバイス WO2014163099A2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
TW103112408A TWI636667B (zh) 2013-04-02 2014-04-02 可再構成之邏輯元件
CN201480018307.2A CN105191139B (zh) 2013-04-02 2014-04-02 可重构逻辑器件
US14/781,880 US9425800B2 (en) 2013-04-02 2014-04-02 Reconfigurable logic device
JP2015510111A JPWO2014163099A1 (ja) 2013-04-02 2014-04-02 再構成可能な論理デバイス

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013076506 2013-04-02
JP2013-076506 2013-04-02

Publications (2)

Publication Number Publication Date
WO2014163099A2 true WO2014163099A2 (ja) 2014-10-09
WO2014163099A3 WO2014163099A3 (ja) 2014-11-27

Family

ID=51659278

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/059703 WO2014163099A2 (ja) 2013-04-02 2014-04-02 再構成可能な論理デバイス

Country Status (5)

Country Link
US (1) US9425800B2 (ja)
JP (1) JPWO2014163099A1 (ja)
CN (1) CN105191139B (ja)
TW (1) TWI636667B (ja)
WO (1) WO2014163099A2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016123092A (ja) * 2014-12-16 2016-07-07 三星電子株式会社Samsung Electronics Co.,Ltd. Dram基盤の再構成可能なロジック装置及び方法
JP2016152523A (ja) * 2015-02-18 2016-08-22 太陽誘電株式会社 再構成可能な論理デバイス
JPWO2016063667A1 (ja) * 2014-10-22 2017-06-08 太陽誘電株式会社 再構成可能デバイス
WO2021060059A1 (ja) * 2019-09-27 2021-04-01 太陽誘電株式会社 生成装置、生成方法およびプログラム

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10963001B1 (en) * 2017-04-18 2021-03-30 Amazon Technologies, Inc. Client configurable hardware logic and corresponding hardware clock metadata
JP6895061B2 (ja) * 2017-04-28 2021-06-30 オムロン株式会社 処理装置及び生成装置
CN108170203B (zh) * 2018-02-02 2020-06-16 清华大学 用于可重构处理系统的查表算子及其配置方法
US10541010B2 (en) * 2018-03-19 2020-01-21 Micron Technology, Inc. Memory device with configurable input/output interface

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003198361A (ja) * 2001-12-28 2003-07-11 Fujitsu Ltd プログラマブル論理デバイス
JP2006313999A (ja) * 2005-05-09 2006-11-16 Renesas Technology Corp 半導体装置
JP2009194676A (ja) * 2008-02-15 2009-08-27 Hiroshima Industrial Promotion Organization プログラマブル論理デバイスおよびその構築方法およびその使用方法
JP2010239325A (ja) * 2009-03-30 2010-10-21 Hiroshima Ichi 半導体装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5894565A (en) * 1996-05-20 1999-04-13 Atmel Corporation Field programmable gate array with distributed RAM and increased cell utilization
US6023742A (en) * 1996-07-18 2000-02-08 University Of Washington Reconfigurable computing architecture for providing pipelined data paths
AU2562899A (en) * 1998-01-26 1999-08-09 Chameleon Systems, Inc. Reconfigurable logic for table lookup
US6150838A (en) 1999-02-25 2000-11-21 Xilinx, Inc. FPGA configurable logic block with multi-purpose logic/memory circuit
CN1232041C (zh) * 2001-05-16 2005-12-14 皇家菲利浦电子有限公司 可重新配置的逻辑器件以及包括该器件的乘法阵列
EP1324495B1 (en) 2001-12-28 2011-03-30 Fujitsu Semiconductor Limited Programmable logic device with ferrroelectric configuration memories
ATE458310T1 (de) * 2002-03-18 2010-03-15 Nxp Bv Implementierung von breiten multiplexern in einer rekonfigurierbaren logischen vorrichtung
DE60321453D1 (de) * 2002-03-18 2008-07-17 Nxp Bv Auf nachschlagtabellen basierte rekonfigurierbare logische architektur
KR101000099B1 (ko) * 2003-03-31 2010-12-09 자이단호진 기타큐슈산교가쿠쥬쓰스이신키코 프로그래머블 논리 디바이스
WO2006129722A1 (ja) * 2005-05-31 2006-12-07 Ipflex Inc. 再構成可能な装置
CN101310442A (zh) 2005-11-28 2008-11-19 太阳诱电株式会社 半导体器件
US7397276B1 (en) * 2006-06-02 2008-07-08 Lattice Semiconductor Corporation Logic block control architectures for programmable logic devices
JP5354427B2 (ja) * 2006-06-28 2013-11-27 アクロニクス セミコンダクター コーポレイション 集積回路のための再構成可能論理ファブリックおよび再構成可能論理ファブリックを構成するためのシステムおよび方法
US8117247B1 (en) * 2007-07-19 2012-02-14 Xilinx, Inc. Configurable arithmetic block and method of implementing arithmetic functions in a device having programmable logic
US8952721B2 (en) * 2010-06-24 2015-02-10 Taiyo Yuden Co., Ltd. Semiconductor device
US9350357B2 (en) * 2012-10-28 2016-05-24 Taiyo Yuden Co., Ltd. Reconfigurable semiconductor device
US9514259B2 (en) * 2012-11-20 2016-12-06 Taiyo Yuden Co., Ltd. Logic configuration method for reconfigurable semiconductor device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003198361A (ja) * 2001-12-28 2003-07-11 Fujitsu Ltd プログラマブル論理デバイス
JP2006313999A (ja) * 2005-05-09 2006-11-16 Renesas Technology Corp 半導体装置
JP2009194676A (ja) * 2008-02-15 2009-08-27 Hiroshima Industrial Promotion Organization プログラマブル論理デバイスおよびその構築方法およびその使用方法
JP2010239325A (ja) * 2009-03-30 2010-10-21 Hiroshima Ichi 半導体装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2016063667A1 (ja) * 2014-10-22 2017-06-08 太陽誘電株式会社 再構成可能デバイス
JP2016123092A (ja) * 2014-12-16 2016-07-07 三星電子株式会社Samsung Electronics Co.,Ltd. Dram基盤の再構成可能なロジック装置及び方法
JP2016152523A (ja) * 2015-02-18 2016-08-22 太陽誘電株式会社 再構成可能な論理デバイス
US9628084B2 (en) 2015-02-18 2017-04-18 Taiyo Yuden Co., Ltd. Reconfigurable logic device
WO2021060059A1 (ja) * 2019-09-27 2021-04-01 太陽誘電株式会社 生成装置、生成方法およびプログラム

Also Published As

Publication number Publication date
JPWO2014163099A1 (ja) 2017-02-16
CN105191139A (zh) 2015-12-23
WO2014163099A3 (ja) 2014-11-27
TWI636667B (zh) 2018-09-21
TW201503590A (zh) 2015-01-16
US9425800B2 (en) 2016-08-23
US20160036447A1 (en) 2016-02-04
CN105191139B (zh) 2018-12-07

Similar Documents

Publication Publication Date Title
WO2014163099A2 (ja) 再構成可能な論理デバイス
JP6564186B2 (ja) 再構成可能な半導体装置
JP6517626B2 (ja) 再構成可能な半導体装置
US7088134B1 (en) Programmable logic device with flexible memory allocation and routing
JP6250548B2 (ja) 再構成可能な半導体装置の論理構成方法
JP6515112B2 (ja) 再構成可能な半導体装置
US8185861B2 (en) Variable sized soft memory macros in structured cell arrays, and related methods
JP5890733B2 (ja) 再構成可能な半導体装置の配置配線方法、そのプログラム、及び配置配線装置
US9628084B2 (en) Reconfigurable logic device
US9621159B2 (en) Reconfigurable semiconductor integrated circuit and electronic device
US9923561B2 (en) Reconfigurable device
US9729154B2 (en) Reconfigurable logic device configured as a logic element or a connection element
KR20220008901A (ko) 시프터블 메모리 및 시프터블 메모리를 동작시키는 방법
US7071731B1 (en) Programmable Logic with Pipelined Memory Operation
JP3390311B2 (ja) プログラマブル論理回路
WO2018207801A1 (ja) プログラム可能なデバイス、その論理構成方法、及びそのプログラム
JP2016096407A (ja) 再構成可能オペアンプ
JP2011146944A (ja) プログラマブルデバイス回路

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201480018307.2

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14778833

Country of ref document: EP

Kind code of ref document: A2

ENP Entry into the national phase in:

Ref document number: 2015510111

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14781880

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 14778833

Country of ref document: EP

Kind code of ref document: A2