WO2016056536A1 - 再構成可能な半導体装置 - Google Patents

再構成可能な半導体装置 Download PDF

Info

Publication number
WO2016056536A1
WO2016056536A1 PCT/JP2015/078311 JP2015078311W WO2016056536A1 WO 2016056536 A1 WO2016056536 A1 WO 2016056536A1 JP 2015078311 W JP2015078311 W JP 2015078311W WO 2016056536 A1 WO2016056536 A1 WO 2016056536A1
Authority
WO
WIPO (PCT)
Prior art keywords
memory cell
address
cell unit
signal
logic
Prior art date
Application number
PCT/JP2015/078311
Other languages
English (en)
French (fr)
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 EP15848653.0A priority Critical patent/EP3206302B1/en
Priority to CN201580054558.0A priority patent/CN107112997B/zh
Priority to JP2016553109A priority patent/JP6515112B2/ja
Priority to US15/517,726 priority patent/US9972536B2/en
Publication of WO2016056536A1 publication Critical patent/WO2016056536A1/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/1733Controllable logic circuits
    • H03K19/1735Controllable logic circuits by wiring, e.g. uncommitted logic arrays
    • H03K19/1736Controllable logic circuits by wiring, e.g. uncommitted logic arrays in which the wiring can be modified
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L21/00Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
    • H01L21/70Manufacture or treatment of devices consisting of a plurality of solid state components formed in or on a common substrate or of parts thereof; Manufacture of integrated circuit devices or of parts thereof
    • H01L21/77Manufacture or treatment of devices consisting of a plurality of solid state components or integrated circuits formed in, or on, a common substrate
    • H01L21/78Manufacture or treatment of devices consisting of a plurality of solid state components or integrated circuits formed in, or on, a common substrate with subsequent division of the substrate into plural individual devices
    • H01L21/82Manufacture or treatment of devices consisting of a plurality of solid state components or integrated circuits formed in, or on, a common substrate with subsequent division of the substrate into plural individual devices to produce devices, e.g. integrated circuits, each consisting of a plurality of components
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/2851Testing of integrated circuits [IC]
    • G01R31/2884Testing of integrated circuits [IC] using dedicated test connectors, test elements or test circuits on the IC under test
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318516Test of programmable logic devices [PLDs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/331Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/408Address circuits
    • G11C11/4082Address Buffers; level conversion circuits
    • 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

Definitions

  • the present invention relates to a reconfigurable semiconductor device.
  • SoC System-on-a-Chip
  • LSI Large Scale Integration
  • CMOS logic circuit For example, a system-on-chip including a hard macroblock, a power control unit, and a multi-threshold CMOS logic circuit has been proposed (Patent Document 1).
  • the system on chip can reduce the overall leakage current of the system on chip by powering off the hard macroblock.
  • a form that solves the above-described problem can form a reconfigurable device and an analog circuit on one chip, and control the analog circuit with the reconfigurable device.
  • a reconfigurable semiconductor device comprising: A plurality of logic units connected to each other by address lines or data lines; A plurality of input / output units, and an analog unit having an output amplifier, Each of the logic units includes a plurality of address lines, a plurality of data lines, a memory cell unit, and an address decoder that decodes an address signal and outputs a decode signal to the memory cell unit, A reconfigurable semiconductor device in which the plurality of logic units and the analog unit are mounted in the same chip package.
  • a processor, The plurality of logic units, the analog unit, and the processor are connected to each other via a bus, The semiconductor device according to item 1, wherein the plurality of logic units reconfigure a logic circuit by writing configuration data in the memory cell unit, and execute a part of the function of the processor by the configuration data.
  • the processor holds the configuration data and outputs the held configuration data to the plurality of logic units to reconfigure the plurality of logic units.
  • the memory cell unit controls or sets the analog unit as a wiring element and / or a logical element configured by truth table data. apparatus.
  • the analog unit includes a digital input / output, a level shifter circuit, and an amplifier. 5. The reconfigurable semiconductor device according to any one of items 1 to 4, wherein the analog line and an output of a level shifter circuit are connected, and the data line and the amplifier input are connected. [Item 6] 6. The reconfigurable semiconductor device according to any one of items 1 to 5, wherein the memory cell unit operates as a multi-lookup table. [Item 7] The analog unit includes a first digital input, a second digital input, a first amplifier, and a second amplifier, 7. The reconfigurable semiconductor device according to any one of items 2 to 6, wherein the truth table data connects any of the digital inputs and any of the amplifiers.
  • Each of the logic units is Multiple address lines, Multiple data lines, A clock signal line for receiving a system clock signal; First and second memory cell units operating in synchronization with a clock signal; A first address decoder that decodes an address signal and outputs the decoded signal to the first memory cell unit; A second address decoder for decoding an address signal and outputting the decoded signal to the second memory cell unit; An address transition detector that detects an address signal transition input from the plurality of address lines, generates an internal clock signal, and outputs the internal clock signal to the first memory cell unit; Item 8. The item 1-7, wherein the first memory cell unit operates in synchronization with the internal clock signal, and the second memory cell unit operates in synchronization with the system clock signal.
  • Reconfigurable semiconductor device [Item 9] A data line connected to the first memory cell unit and a data line connected to the second memory cell unit are connected to each other to output a logical sum; and 9. The reconfigurable semiconductor device according to any one of items 1 to 8, wherein when any of the memory cell units is not used, all of the unused memory cell units are written with 0. .
  • a reconfigurable semiconductor device control method comprising: The semiconductor device includes: A plurality of logic units connected to each other by address lines or data lines, a plurality of input / output units, and an analog unit having an output amplifier, Each of the logic units includes a plurality of address lines, a plurality of data lines, a memory cell unit, and an address decoder that decodes an address signal and outputs a decode signal to the memory cell unit, The plurality of logic units and the analog unit are mounted in the same chip package, The analog unit includes a first digital input, a second digital input, a first amplifier, and a second amplifier, Each of the logic units is Multiple address lines, Multiple data lines, A clock signal line for receiving a system clock signal; A first address decoder; A first memory cell unit having a plurality of memory cells and operating in synchronization with a clock signal; With The first
  • the logic part is: A second address decoder; A second memory cell unit having a plurality of memory cells and operating in synchronization with a clock signal; An address transition detector that detects an address signal transition input from the plurality of address lines, generates an internal clock signal, and outputs the internal clock signal to the first memory cell unit; The second address decoder decodes the address signal and outputs the decoded signal to the second memory cell unit; The first memory cell unit operates in synchronization with the internal clock signal, 13.
  • the reconfigurable semiconductor according to any one of items 12 to 14, wherein the memory cell unit stores truth table data constituting wiring elements and / or logic elements and operates as a multi-lookup table. apparatus.
  • the semiconductor device includes: A plurality of logic units connected to each other by address lines or data lines, a plurality of input / output units, and an analog unit having an output amplifier, Each of the logic units includes a plurality of address lines, a plurality of data lines, a memory cell unit, and an address decoder that decodes an address signal and outputs a decode signal to the memory cell unit,
  • the plurality of logic units and the analog unit are mounted in the same chip package,
  • the analog unit includes a first digital input, a second digital input, a first amplifier, and a second amplifier, Each of the logic units is Multiple address lines, Multiple data lines, A clock signal line for receiving a system clock signal; A first address decoder; A first memory cell unit having a plurality of memory cells and
  • a synchronous and asynchronous switching is possible using a synchronous memory, and a reconfigurable semiconductor device is realized.
  • 1 is a first example of a floor plan showing a detailed example of an MRLD chip with an analog circuit according to the present embodiment. It is a figure which shows the operation example of the MRLD chip
  • FIG. 6 is a diagram illustrating a circuit example of the MLUT illustrated in FIG. 5. It is a figure explaining MRLD using MLUT shown in FIG. It is a figure which shows the circuit example of MLUT which can perform synchronous asynchronous switching. It is a circuit diagram of the address transition detection part which concerns on this embodiment.
  • FIG. 10 is a timing chart of the address transition detection signal shown in FIG. 9. FIG. It is a figure which shows an example of MLUT. It is a figure which shows an example of MLUT which operate
  • MRLD chip A reconfigurable logic device is called MRLD (Memory based Reconfigurable Logic Device) (registered trademark).
  • MRLD is common in that each MLUT is directly connected without interposing a wiring element, like “MPLD (Memory-based Programmable Logic Device)” (registered trademark) that realizes a circuit configuration with a memory cell unit. Is distinguished in that the function of the synchronous SRAM supplied as the memory IP is effectively used.
  • FIG. 1A is a floor plan showing an example of an MRLD chip according to the present embodiment.
  • the MRLD chip 1 with an analog circuit shown in FIG. 1A (hereinafter referred to as “MRLD chip”) includes a plurality of logic units 20 connected to each other by address lines or data lines, a plurality of input / output units, and an output amplifier.
  • Each logic unit 20 includes a plurality of address lines, a plurality of data lines, a memory cell unit, and an address decoder that decodes an address signal and outputs the decoded signal to the memory cell unit And the plurality of logic units and the analog unit are mounted in the same chip package.
  • the logic unit 20 is an MRLD 20.
  • FIG. 1B is a cross-sectional view showing an example of an MRLD chip according to the present embodiment.
  • the MRLD 20 and the analog unit 10 are covered with the resin 2 and placed on the interposer substrate 3.
  • the MRLD 20 and the analog unit 10 are electrically connected via a substrate electrode or a gold wire on the interposer substrate 3.
  • the interposer substrate 3 is further placed on the printed wiring board 5 via the external terminals 4.
  • the manufacturing of the MRLD chip 1 with an analog circuit according to this embodiment is performed by a semiconductor manufacturing process capable of manufacturing an analog circuit. Therefore, at the expense of the effect of miniaturization, the chip is made into one chip, which has the effect of making the chip, and reduces the design load of the analog circuit.
  • the analog unit 10 includes a level shifter (LS), a comparator (Comp), and an amplifier (Amp).
  • the level shifter is controlled by two power supply voltages (not shown). If each power supply voltage is added to the input voltage, the level shifter can be stepped up or down.
  • the comparator is an element that compares two voltage magnitudes and outputs a different value depending on a result of the comparison.
  • the comparator has two input terminals. When an analog voltage is applied to each input terminal, the output value is switched depending on which of the input voltages is greater.
  • a plurality of circuits may be combined in the analog unit 10 such as providing a level shifter at the output of the comparator or providing a level shifter at the input of the amplifier.
  • the MRLD chip 1 further includes a configuration unit 22.
  • the configuration unit 22 has a function of reading or writing configuration data of the MRLD 20.
  • FIG. 2A is a floor plan showing a detailed example of an MRLD chip with an analog circuit according to the present embodiment.
  • Table 1 shows signal names and terminal functions of the MRLD chip 1 shown in FIG. 2A.
  • the MRLD 20 shown in FIG. 2A mounts 12 ⁇ 12 MLUTs (described later).
  • the analog unit 10 of the MRLD chip 1 is equipped with analog circuits such as a plurality of level shifters (LS), comparators (Comp), and programmable gain amplifiers (PGA). It has an analog power supply 5V, a logic power supply 1.8V, GND: 0V, and 144 pins.
  • LS level shifters
  • Comp comparators
  • PGA programmable gain amplifiers
  • the MLUT has two 16-word ⁇ 8-bit memory cell units for synchronization and asynchronous use.
  • the configuration unit 22 inputs configuration data from the bus of the external terminal and writes the configuration data individually to the MLUT.
  • a distance sensor 111, a comparator VREF voltage dividing circuit 112, and a motor driver 113 are provided outside the MRLD chip 1.
  • the MRLD chip 1 receives inputs from external devices (distance sensor 111 and comparator VREF voltage dividing circuit 112) by the analog unit 10, and after adjusting the signal voltage by the level shifter, the MRLD 20 inputs as an address signal. Receive. Further, the MRLD chip 1 amplifies the data output signal of the MRLD 20 with the PGA and outputs it to the motor driver 113.
  • FIG. 2B is a diagram showing an operation example of the MRLD chip shown in FIG. 2A.
  • a distance sensor 111 is disposed outside.
  • the functions of the MRLD chip 1 will be described using operation examples.
  • a state display LED 114 in addition to the example shown in FIG. 2A, a state display LED 114, a motor rotation speed setting circuit 115, and a motor rotation control switch 116 are provided outside the MRLD chip 1.
  • the MRLD can monitor the output of the distance sensor using a built-in comparator. Further, the respective voltages are inputted to the VREF of the comparator from the voltage dividing circuit 112 for the comparator VREF outside the MRLD chip 1.
  • the output of the distance sensor 111 is connected to the inputs of all the comparators. The distance sensor 111 outputs a voltage. The voltage is compared with each VREF and the comparator outputs H or L.
  • the signal is input to the MRLD 20 through a level shifter of 5V-> 1.8V.
  • the MRLD 20 outputs the signal to MPIO_x (x is a terminal to be used), and turns on the LED 114.
  • Motor driver control (indicated by dotted signal line)
  • the output of the comparator input to the MRLD 20 generates its OR logic in the MRLD 20 and performs ON / OFF control of the motor driver 113.
  • the motor driver 113 performs PWM control according to the value of VREF.
  • the VREF to the motor driver is set by the PGA built in the MRLD chip 1.
  • a 3-bit signal is input from MPIO_x, and the gain of the PGA is set from the MRLD 20 through the 1.8V-> 5V level shifter.
  • the gain setting can be set to 1, 2, 5, 10 times.
  • PGAIN The input of PGA (PGAIN) is a fixed voltage, and the motor speed can be changed by changing the voltage of PGAOUT by setting the gain.
  • Motor rotation ON / OFF, forward / reverse control is also input from MPIO_x, logic is taken in comparator output and MRLD, and motor driver control terminal (FIN / RIN) through 1.8V-> 5V level shifter Is input.
  • the output of the motor driver 113 can be controlled using the input of the distance sensor 111.
  • the distance sensor 111A to the motor driver 113A, the distance sensor 111A to the motor driver 113B, the distance sensor 111B to the motor driver 113A, and the distance sensor 111B to the motor It becomes possible to switch to any operation control of the driver 113B.
  • simultaneous operation of the distance sensor 111A to the motor driver 113A, the distance sensor 111B to the motor driver 113B, the distance sensor 111A to the motor driver 113B, the distance sensor 111B to the motor driver 113A, and the like can be performed.
  • the reconfiguration function of the analog unit 10 is provided simply by changing the configuration data of the MRLD 20.
  • FIG. 2C is a second example of a floor plan showing a detailed example of the MRLD chip with an analog circuit according to the present embodiment.
  • the MRLD chip 1 shown in FIG. 2C includes a processor 50 in addition to the analog unit 10 and the MRLD 20.
  • the MRLD 20, the analog unit 10, and the processor 50 are connected to each other via a bus 70.
  • the bus controller 72 controls the data of the bus 70 to connect the MRLD 20 to the outside when writing the truth value data of the MRLD 20 via the bus 70, and signals of each block (MRLD 20, the analog unit 10, and the processor 50). (Data) is controlled.
  • a signal between the analog unit 10 and the MRLD 20 For example, a signal between the analog unit 10 and the MRLD 20, a signal between the analog unit 10 and the processor 50, and a signal between the processor 50 and the MRLD 20.
  • the bus controller 72 controls signal transmission so that the signals do not collide with each other.
  • the wiring area can be minimized.
  • the analog unit 10 includes an analog-digital conversion circuit AD in addition to FIGS. 2A and 2B.
  • FIG. 2D is an example of a processor mounted on the MRLD chip.
  • the processor 50 includes a processor core 52 that executes arithmetic processing in accordance with arithmetic instructions, a ROM (Read Only Memory) 53, a RAM 54, a PWM (Pulse Width Modulation) circuit 56, a clock circuit 57, and a timer circuit 58, which are internal buses. 51 is connected.
  • the processor 50 can also read data and programs from the outside of the MRLD chip 1 and can also read data and programs held in the MRLD 20.
  • the read data is stored in the RAM 54.
  • the processor 50 retains the truth value data (configuration data) of the MLUT 30 as the above data, outputs it to the MRLD 20, and reconfigures the MRLD 20.
  • the MRLD 20 executes a part of the function of the processor 50 by being reconfigured with truth value data transmitted from the processor 50.
  • the MRLD 20 in the MRLD chip 1 can constitute the functions of the processor 50 (for example, the arithmetic function of the processor core, RAM, PWM, clock, timer). Since the MRLD 20 is superior to the processor 50 in parallel processing, the reconfigurability of the MRLD chip 1 can be increased by configuring the MRLD 20 with a parallel processing function that the processor 50 does not have.
  • the processor 50 can manage the system of the MRLD chip 1 and can control the logic function and the analog function of the MRLD 20.
  • FIG. 2E is an example of the analog-digital conversion circuit AD included in the analog unit.
  • the analog-digital conversion circuit shown in FIG. 2E converts an analog signal input from the outside into a 12-bit digital signal.
  • the analog-digital conversion circuit includes four unit conversion circuits 102, and each of the unit conversion circuits 102 includes an ADC, a DAC, and an AMP.
  • a single unit conversion circuit 102 converts an analog signal input during digital conversion into a digital signal by a subsequent unit conversion circuit, thereby realizing 12-bit AD conversion.
  • One unit conversion circuit processes the signal from the next to the next, thereby performing signal processing in the pipeline.
  • FIG. 3 is a diagram illustrating an example of the overall configuration of the semiconductor device according to the present embodiment.
  • 3 shown in FIG. 3 is an example of MRLD.
  • the MRLD 20 includes an MLUT array 60 in which a plurality of MLUTs 30 using a synchronous SRAM are arranged in an array, a row decoder 12 that specifies a memory read operation and a write operation of the MLUT 30, and a column decoder 14.
  • the MLUT 30 is composed of a synchronous SRAM.
  • the MLUT 30 performs a logical operation that operates as a logical element, a connection element, or a logical element and a connection element by storing data regarded as a truth table in the storage element of the memory.
  • a logic address LA indicated by a solid line and a signal of the logic data LD are used.
  • the logic address LA is used as an input signal for the logic circuit.
  • the logic data LD is used as an output signal of the logic circuit.
  • the logic address LA of the MLUT 30 is connected to the data line of the logic data LD of the adjacent MLUT.
  • 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 30 operate as connection elements that connect the MLUTs 30 that realize the combinational circuit. Rewriting of truth table data for the MLUT 30 to realize a logical element and a connection element is performed by a write operation to the memory.
  • the write operation of the MRLD 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 row decoder 12 receives the MLUT address via the m signal lines, decodes the MLUT address, and selects and specifies the MLUT 30 that is the target of the memory operation.
  • the memory operation address is used in both cases of the memory read operation and the write operation, and is decoded by the row decoder 12 and the column decoder 14 through m signal lines to select a target memory cell. .
  • the logical operation address LA is decoded by a decoder in the MLUT.
  • the row decoder 12 decodes x bits of m bits of the write address AD according to control signals such as a read enable signal re and a write enable signal we, and outputs a decoded address n to the MLUT 30.
  • the decode address n is used as an address for specifying a memory cell in the MLUT 30.
  • the column decoder 14 decodes y bits of the m bits of the write address AD, has the same function as the row decoder 12, outputs the decode address n to the MLUT 30, and writes the write data WD. And the read data RD are output.
  • n ⁇ t bit data is input from the MLUT array 60 to the decoder 12.
  • the row decoder outputs re and we for o rows. That is, the o line corresponds to the s line of the MLUT.
  • a word line of a specific memory cell is selected by activating only one bit out of the o bits. Since t MLUTs output n-bit data, n ⁇ t-bit data is selected from the MLUT array 60, and the column decoder 14 is used to select one of them.
  • FIG. 4 is a diagram schematically showing an MLUT configured by horizontally stacking MLUTs composed of two memory cell units.
  • the MLUT 30 shown in FIG. 4 has inputs of addresses A0L to A7L shown in FIG. 5 from the left direction and inputs of addresses A0R to A7R shown in FIG. 5 from the right direction. There are outputs of data D0L to D7L, and there are outputs of data D0R to D7R shown in FIG. 5 in the right direction.
  • this plan is composed of 8K (256 words ⁇ 16 bits ⁇ 2 MLUTs) bits.
  • FIG. 6 is a diagram illustrating an example of an MLUT using a large-capacity memory.
  • FIG. 6 is a diagram illustrating a circuit example of the MLUT illustrated in FIG.
  • the MLUT 30 illustrated in FIG. 6 includes memory cell units 31A and 31B.
  • the memory cell unit is, for example, an SRAM.
  • the memory cell unit 31A includes a plurality of memory cells that are specified by the first plurality of address lines from one side and output to the first plurality of data lines that is twice the number of the first plurality of address lines.
  • the memory cell unit 31B has a plurality of memory cells that are specified by the second plurality of address lines from the other side and output to the second plurality of data lines that is twice the number of the second plurality of address lines.
  • the MLUT 30 outputs a part of the first plurality of data lines and the second plurality of data lines to one side, and outputs the other part of the first plurality of data lines and the second plurality of data lines to the other side
  • Each memory cell unit stores truth table data in a memory cell for each direction. Therefore, each of the memory cell units 31A and 31B stores right-to-left truth table data and left-to-right truth table data. That is, the MLUT stores two truth table data each defining a specific data output direction.
  • the number of data in each memory cell unit is increased from the number of addresses, and the direction of data output from each memory cell unit is bidirectional, thereby reducing the number of required memory cells and bidirectional data output. Can be made possible.
  • FIG. 7 shows a more detailed circuit example than the MLUT shown in FIG.
  • the MLUT 30 shown in FIG. 7 includes memory cell units 31A and 31B, address decoders 11A and 11B, address selectors 15A and 15B, I / O (input / output) buffers 12A and 12B, and data selectors 13A and 13B.
  • Each of the memory cell units 31A and 31B includes an address decoder, an address selector, an I / O buffer, and a data selector.
  • Input addresses to the memory cell units 31A and 31B are addresses A0L to A7L and A8 to A15, and addresses A0R to A7R and A8 to A15, respectively. Therefore, the memory cell units 31A and 31B have a large capacity of 512K of 2 16 (65,536) words ⁇ 8 bits.
  • the memory cell units 31A and 31B have inputs of addresses A0L to A7L and A8 to A15, and addresses A0R to A7R and A8 to A15, respectively.
  • FIG. 6 is a schematic diagram and does not show a decoder or the like that is a peripheral circuit of the memory cell unit.
  • the decoders 11A and 11B described in FIG. 7 are prepared for each memory cell unit. Arranged between the address selectors 15A and 15B and the memory cell units 31A and 31B. Therefore, the decoder may decode all addresses output from the address selectors 15A and 15B.
  • the address selectors 15A and 15B are selection circuits for switching between an address line for logic operation and an address for writing. Required if the memory cell is a single port. When the memory cell is a dual port, an address selector is not necessary.
  • the data selectors 13A and 13B are selection circuits that switch output data or write data WD.
  • 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 becomes an overhead of MRLD and is inefficient.
  • the ratio of address decoders and sense amplifiers 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.
  • the MLUT includes a memory cell unit for synchronous operation and a memory cell unit for asynchronous operation.
  • the memory cell unit for synchronous operation or the memory cell unit for asynchronous operation constitutes a pair, but there is only one memory cell unit that operates as a logic element and / or a connection element. Since both data outputs are connected by a wired OR connection or an OR circuit, data “0” is stored in all the memory cell units that do not operate.
  • FIG. 8 is a diagram showing an example of a MLUT circuit capable of synchronous and asynchronous switching.
  • 8 includes memory cell units 31A to 31D, address decoders 11A to 11D, I / O (input / output) buffers 13A to 13D, selection circuits 32A to 32D, a data selection circuit 33, and an address transition detection unit 35.
  • the address transition detector 35 includes an ATD (Address Transition Detector) circuit, and compares the logical address transmitted together with the clock with the logical address of the previous transmission to detect an address transition.
  • the address transition detection unit 35 is the same as that shown in FIG.
  • FIG. 9 is a circuit diagram of the address transition detection unit according to the present embodiment.
  • the address transition detection unit 35 shown in FIG. 9 includes negative logical sum (NOR) circuits 110A and 110B, a logical sum (OR) circuit 120, an exclusive logical sum (EOR) circuit 130, delay circuits 140A to 140C, flip-flops ( FF) 150, an inverter 160B, and a D latch 170.
  • FIG. 10 is a timing chart of the address transition detection signal shown in FIG. The circuit operation for address transition detection will be described below with reference to FIGS.
  • the signal S1 is an address input signal output from the processor.
  • Signal S2 is the output of the D latch.
  • the D latch 170 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 170. As shown in FIG. 10, the delay signal is delayed by the delay circuit 140B 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 detects a change and is output from the EOR 130.
  • the EOR 130 since the input and output of the delay circuit 140B are input, if the signal levels of the two differ, the signal level “high” is output. Thereby, an address transition can be detected.
  • the time T1 of S4 shown in FIG. 10 indicates the time from the detection of the change of the logical address to the FF fetch, and the time T2 indicates the time from the detection of the change of the logical address to reading of the memory cell unit.
  • OR circuit 120 other address transition signals are input together with the signal S4, and an OR operation value is output.
  • the output of the OR circuit 120 is delayed by the delay circuit 140C, and the signal S5 is output.
  • the signal S5 is a delay signal output from the delay circuit 140C and waits for an enable signal of the D latch 170 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 110A 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 170.
  • the signal S8 is a signal obtained by inverting the signal S5 by the inverter 160A, and is used by the FF 150 as a clock for latching the address signal.
  • the signal S9 is used to enable the memory cell units 31A and 31C in the subsequent stage, the signal S10 is used as a clock (atd_clk) of the memory cell units 31A and 31C, and the signal S11 is used as an address of the memory cell units 31A and 31C.
  • the signal S10 in FIG. 10 indicates the time from detection of a change in logical address to reading from the memory.
  • the clock is generated with the address change and the memory is driven, so that the memory operates when necessary, and the memory is not driven when unnecessary.
  • the power consumption can be reduced autonomously.
  • the memory cell units 31A to 31D are synchronous SRAMs. Each of the memory cell units 31A to 31D stores truth table data for connection in the left direction and the right direction.
  • the memory cell units 31B and 31D operate in synchronization with the system clock.
  • the memory cell units 31A and 31C operate in synchronization with an ATD generation clock (also referred to as “internal clock signal”) generated by an address transition circuit 35 described later, they are asynchronous with respect to the clock (system clock).
  • the ATD generation clock operates at a frequency higher than that of the system clock signal, the memory cell units 31A and 31C provide an asynchronous function by appearing to operate asynchronously from the outside of the MLUT 30.
  • the memory cell units 31A and 31C have the same functions as the memory cell units 31A and 31B shown in FIGS. The same applies to the memory cell units 31B and 31D.
  • the address decoders 11A and 11B both decode addresses A0 to A3 inputted from the left side, and output decode signals to the memory cell units 31A and 31B, respectively, to activate the word lines of the memory cell units 31A and 31B. To do.
  • the address decoders 11C and 11D decode addresses A4 to A7 input from the right side, and output decode signals to the memory cell units 31C and 31D, respectively, to activate the word lines of the memory cell units 31C and 31D. .
  • the address decoders 11A and 11C decode the SRAM address asynchronous signal (sram_address (sync)), and the address decoders 11A and 11C decode the SRAM address synchronization signal (sram_address (sync)) and are specified by the decode signal.
  • the word line of the memory cell unit to be activated is activated.
  • each memory cell unit is a 16 word ⁇ 8 bit memory block.
  • the memory cell units 31A and 31B can use 16wordx8bitx2 in the synchronous mode and 16wordx8bitx2 in the asynchronous mode. Synchronous and asynchronous operations cannot be performed simultaneously. For example, when logical data is written to a synchronously operating memory cell unit, all "0" must be written to the asynchronously operating memory cell unit.
  • the data output of the memory cell unit may be a wired OR as shown in the figure, or an OR logic circuit may be provided.
  • the selection circuits 32A to 32D are circuits that select the operation of the memory cell units 31A and 31C for asynchronous operation or the memory cell units 31B and 31D for synchronous operation.
  • the selection circuit 32A selects the atd_ad latch address (S11 shown in FIG. 9) generated by the address transition circuit 35 and selects the SRAM address asynchronous signal (sram_address ( async)). If asynchronous operation is not selected, the logical address is output as it is.
  • the selection circuit 32B selects and outputs the ATD generation clock generated by the address transition circuit 35 when the asynchronous operation is selected by the selection signal (Select). If asynchronous operation is not selected, the clock is output as is.
  • the selection circuit 32C selects and outputs the ATD generation chip select generated by the address transition circuit 35.
  • the SRAM chip enable is output as it is.
  • the selection circuit 32D outputs the logical address as it is when the synchronous operation is selected by the selection signal (Select).
  • Truth table 1 is a truth table that forms an AND circuit using A0 and A1 and outputs it to D0.
  • truth table 2 an AND circuit is configured using A0 and A4, and a truth table output to D0 is shown. Since the logic in the truth table 1 can be logically operated only by the memory cell unit 31A using A3-A0, if “0” is written in another memory cell unit, another memory cell unit is obtained by OR operation. The problem of forbidden logic does not occur.
  • the I / O (input / output) buffers 13A to 13D read the data from the data line of the memory cell unit in synchronization with either the clock or the ATD generation clock, thereby enabling the FF function. providing.
  • the I / O (input / output) buffers 13A to 13D include a sense amplifier that amplifies a voltage output from the bit line of the memory cell.
  • the selection circuit 33 outputs the SRAM data output (O_data) as either SRAM data output or logical data output according to the selection signal.
  • FIG. 11 is a diagram illustrating an example of an MLUT.
  • the logic operation data lines D0 to D3 connect the 16 storage elements 40 in series.
  • the address decoder 9 is configured to select four storage elements connected to any of the 16 word lines based on signals input to the logic address input LA lines A0 to A3.
  • These four storage elements are connected to logic operation data lines D0 to D3, respectively, and output data stored in the storage elements to logic operation data lines D0 to D3.
  • the four storage elements 40A, 40B, 40C, and 40D can be selected.
  • the storage element 40A is connected to the logic operation data line D0
  • the storage element 40B is connected to the logic operation data line D1
  • the storage element 40D is connected to the logic operation data line D2.
  • 40D is connected to the logic operation data line D3.
  • signals stored in the storage elements 40A to 40D are output to the logic operation data lines D0 to D3.
  • the MLUTs 30A and 30B receive the logical address input LA from the logical address input LA lines A0 to A3, and values stored in the four storage elements 40 selected by the address decoder 9 based on the logical address input LA. Are output as logic operation data to the logic operation data lines D0 to D3, respectively.
  • the logical address input LA line A2 of the MLUT 30A is connected to the logical operation data line D0 of the adjacent MLUT 30B, and the MLUT 30A receives the logical operation data output from the MLUT 30B as the logical address input LA. .
  • the logic operation data line D2 of the MLUT 30A is connected to the logic address input LA line A0 of the MLUT 30B, and the logic operation data output from the MLUT 30A is received by the MLUT 30B as the logic address input LA.
  • the logic operation data line D2 of the MLUT 30A is one of 16 storage elements connected to the logic operation data line D2 based on signals input to the logic address inputs LA lines A0 to A3 of the MLUT 30A. The signal stored in one is output to the logic address input LA line A0 of the MLUT 30B.
  • the logic operation data line D0 of the MLUT 30B is one of 16 storage elements connected to the logic operation data line D0 based on signals input to the logic address input LA lines A0 to A3 of the MLUT 30B.
  • the signal stored in one is output to the logic address input LA line A2 of the MLUT 30A.
  • the MLUTs are connected to each other using a pair of address lines and data lines.
  • a pair of address lines and data lines used for MLUT connection such as the logic address input LA line A2 of the MLUT 30A and the logic operation data line D2, is referred to as an “AD pair”.
  • the MLUTs 30A and 30B have 4 AD pairs, but the number of AD pairs is not particularly limited to 4 as will be described later.
  • FIG. 12 is a diagram illustrating an example of an MLUT that operates as a logic circuit.
  • the logical address input LA lines A0 and A1 are input to the two-input NOR circuit 701
  • the logical address input LA lines A2 and A3 are input to the two-input NAND circuit 702.
  • the output of the 2-input NOR circuit 701 and the output of the 2-input NAND circuit 702 are input to the 2-input NAND circuit 703, and the output of the 2-input NAND circuit 703 is output to the logic operation data line D0. To do.
  • FIG. 13 is a diagram showing a truth table of the logic circuit shown in FIG. Since the logic circuit of FIG. 12 has four inputs, all the inputs A0 to A3 are used as inputs. On the other hand, since there is only one output, only the output D0 is used as an output. “*” Is written in the columns of outputs D1 to D3 of the truth table. This indicates that any value of “0” or “1” may be used. However, when the truth table data is actually written into the MLUT for reconstruction, it is necessary to write either “0” or “1” in these fields.
  • FIG. 14 is a diagram illustrating an example of an MLUT that operates as a connection element.
  • the MLUT as the connection element outputs the signal of the logic address input LA line A0 to the logic operation data line D1, and outputs the signal of the logic address input LA line A1 to the logic operation data line D2.
  • the logic address input LA line A2 operates to output the signal to the logic operation data line D3.
  • the MLUT as the connection element further operates to output the signal of the logic address input LA line A3 to the logic operation data line D0.
  • FIG. 15 is a diagram showing a truth table of the connection elements shown in FIG.
  • the connection element shown in FIG. 14 has 4 inputs and 4 outputs. Therefore, all inputs A0-A3 and all outputs D0-D3 are used.
  • the MLUT outputs the signal of the input A0 to the output D1, outputs the signal of the input A1 to the output D2, outputs the signal of the input A2 to the output D3, and outputs the signal of the input A3. It operates as a connection element that outputs to the output D0.
  • FIG. 16 is a diagram illustrating an example of a connection element realized by an MLUT having four AD pairs of AD pair 0, AD pair 1, AD pair 2, and AD pair 3.
  • AD0 has a logic address input LA line A0 and a logic operation data line D0.
  • AD1 has a logic address input LA line A1 and a logic operation data line D1.
  • AD2 has a logic address input LA line A2 and a logic operation data line D2.
  • AD3 has a logic address input LA line A3 and a logic operation data line D3.
  • a two-dot chain line indicates a signal flow in which a signal input to the AD pair 0 logic address input LA line A0 is output to the AD pair 1 logic operation data line D1.
  • a broken line indicates a signal flow in which a signal input to the AD pair 1 logic address input LA line A1 is output to the AD operation 2 logic operation data line D2.
  • a solid line indicates a flow of a signal in which a signal input to the logic address input LA line A2 of the AD pair 2 is output to the logic operation data line D3 of the AD pair 3.
  • a one-dot chain line indicates a signal flow in which a signal input to the logic address input LA line A3 of the AD pair 3 is output to the logic operation data line D0 of the AD pair 0.
  • the MLUT 30 has four AD pairs, but the number of AD pairs is not particularly limited to four.
  • FIG. 17 is a diagram illustrating an example in which one MLUT operates as a logic element and a connection element.
  • the logical address input LA lines A 0 and A 1 are input to the two-input NOR circuit 121, and the output of the two-input NOR circuit 121 and the logical address input LA line A 2 are connected to the two-input NAND circuit 122.
  • a logic circuit is provided that inputs and outputs the output of the 2-input NAND circuit 122 to the logic operation data line D0.
  • a connection element for outputting the signal of the logic address input LA line A3 to the logic operation data line D2 is formed.
  • FIG. 18 shows a truth table of the logic elements and connection elements shown in FIG.
  • the logic operation of FIG. 17 uses three inputs D0 to D3 and uses one output D0 as an output.
  • the connection element in FIG. 18 is a connection element that outputs the signal of the input A3 to the output D2.
  • FIG. 19 is a diagram illustrating an example of logical operations and connection elements realized by an MLUT having four AD pairs of AD0, AD1, AD2, and AD3. Similar to the MLUT shown in FIG. 16, AD0 has a logic address input LA line A0 and a logic operation data line D0. AD1 has a logic address input LA line A1 and a logic operation data line D1. AD2 has a logic address input LA line A2 and a logic operation data line D2. AD3 has a logic address input LA line A3 and a logic operation data line D3. As described above, the MLUT 30 realizes two operations, ie, a logic operation with three inputs and one output and a connection element with one input and one output, with one MLUT 30.
  • AD0 has a logic address input LA line A0 and a logic operation data line D0.
  • AD1 has a logic address input LA line A1 and a logic operation data line D1.
  • AD2 has a logic address input LA line A2 and a logic operation data line D2.
  • the logic operation is performed by using the logic address input LA line A0 of AD pair 0, the logic address input LA line A1 of AD pair 1 and the logic address input LA line A2 of AD pair 2 as inputs. use. Then, the address line of the logic operation data line D0 of AD pair 0 is used as an output. Further, the connection element outputs a signal input to the logic address input LA line A3 of the AD pair 3 to the logic operation data line D2 of the AD pair 2 as indicated by a broken line.
  • FIG. 20 is a conceptual diagram showing an example of connection between an external system and MRLD.
  • the external system 120 is an information processing apparatus or a device realized by SoC.
  • the external system 120 is connected to the MRLD 20 shown in FIG. 5 and receives a data output from the MRLD 20 and performs a logical operation for determining page switching. Through the connection, the page switching signal is sent to the addresses A8 to A15. Is output.
  • SoC By mounting the SoC in the external system, a highly functional device can be realized together with the MRLD 20.
  • FIG. 21 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 semiconductor 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

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Power Engineering (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Logic Circuits (AREA)

Abstract

 再構成可能デバイスとアナログ回路とをワンチップで形成し、アナログ回路の制御を、再構成可能デバイスで行うことができるようにする。再構成可能な半導体装置(1)は、互いにアドレス線又はデータ線で接続する複数の論理部(20)と、複数の入出力部、および出力アンプを有するアナログ部(10)と、を備え、前記各論理部(20)は、複数のアドレス線と、複数のデータ線と、メモリセルユニットと、アドレス信号をデコードして、前記メモリセルユニットにデコード信号を出力するアドレスデコーダと、を備え、前記複数の論理部(20)と、前記アナログ部(10)が同一チップパッケージ内に実装されている。

Description

再構成可能な半導体装置
 本発明は、再構成可能な半導体装置に関する。
 近年、半導体製造プロセスの微細化による高集積化により、ひとつのLSI(Large Scale Integration)上にシステムのほとんどを集積したSoC(System-on-a-Chip)が一般的になってきた。SoCと、複数の単機能LSIを基板に実装した場合を比較すると、プリント基板上の占有面積の削減、高速化、低消費電力、コスト低減など優位な点が多々生じる。
 例えば、ハードマクロブロックと、電力制御部と、マルチ閾値CMOSロジック回路と、を備えるシステムオンチップが提案されている(特許文献1)。当該システムオンチップは、ハードマクロブロックに対してパワーオフさせることによって、システムオンチップの全体の漏れ電流を減らすことができる。
特開2013-219699号公報
 近年、FPGA(field-programmable gate array)等の再構成可能デバイスは、微細化が進んでいる。アナログ回路には、半導体装置より、高い動作電圧と電流が必要となり、微細化ができにくいため、特に微細化が進んでいるFPGA等では、アナログ回路を同じチップに搭載できず、外部にアナログ回路を用意する必要がある。一方で、SoC等のように、半導体装置とアナログ回路を含むシステムを1チップ化した場合、アナログ回路等の改訂が必要となった際、回路設計が都度必要になる。
 上記課題を解決する形態は、以下の項目セットにより示されるように、再構成可能デバイスと、アナログ回路をワンチップで形成し、アナログ回路の制御を、再構成可能デバイスで行うことができる。
 [項目1]
 再構成可能な半導体装置であって、
 互いにアドレス線又はデータ線で接続する複数の論理部と、
 複数の入出力部、および出力アンプを有するアナログ部と、を備え、
 前記各論理部は、複数のアドレス線と、複数のデータ線と、メモリセルユニットと、アドレス信号をデコードして、前記メモリセルユニットにデコード信号を出力するアドレスデコーダと、を備え、
 前記複数の論理部と、前記アナログ部が同一チップパッケージ内に実装されている、再構成可能な半導体装置。
 [項目2]
 プロセッサをさらに備え、
 前記複数の論理部、前記アナログ部、および前記プロセッサは、互いにバスを介して接続されており、
 前記複数の論理部は、前記メモリセルユニットに構成データが書き込まれることにより論理回路を再構成し、前記構成データにより前記プロセッサの機能の一部を実行する、項目1に記載の半導体装置。
 [項目3]
 前記プロセッサは、前記構成データを保持するとともに、前記保持される構成データを、前記複数の論理部に出力して、前記複数の論理部を再構成する、項目1又は2に記載の半導体装置。
 [項目4]
 前記メモリセルユニットは、真理値表データにより構成される配線要素及び/又は論理要素として、前記アナログ部の制御又は設定を行う、項目1~3の何れか1項に記載の再構成可能な半導体装置。
 [項目5]
 前記アナログ部は、デジタル入出力、レベルシフタ回路、及び、アンプを有し、
 前記アナログ線とレベルシフタ回路の出力が接続し、前記データ線と前記アンプ入力が接続する、項目1~4の何れか1項に記載の再構成可能な半導体装置。
 [項目6]
 前記メモリセルユニットは、マルチルックアップテーブルとして動作する、項目1~5の何れか1項に記載の再構成可能な半導体装置。
 [項目7]
 前記アナログ部は、第1デジタル入力、第2デジタル入力、第1アンプ、及び第2アンプを有し、
 前記真理値表データが、何れかの前記デジタル入力と、何れかの前記アンプとを接続する、項目2~6の何れか1項に記載の再構成可能な半導体装置。
 [項目8]
 前記各論理部は、
 複数のアドレス線と、
 複数のデータ線と、
 システムクロック信号を受け取るクロック信号線と、
 クロック信号に同期して動作する第1及び第2のメモリセルユニットと、
 アドレス信号をデコードして、前記第1メモリセルユニットにデコード信号を出力する第1アドレスデコーダと、
 アドレス信号をデコードして、前記第2メモリセルユニットにデコード信号を出力する第2アドレスデコーダと、
 前記複数のアドレス線から入力されるアドレス信号の遷移を検出すると、内部クロック信号を生成して、前記第1メモリセルユニットに前記内部クロック信号を出力する、アドレス遷移検出部と、を備え、
 前記第1メモリセルユニットは、前記内部クロック信号に同期して動作し、前記第2メモリセルユニットは、前記システムクロック信号に同期して動作する、項目1~7の何れか1項に記載の再構成可能な半導体装置。
 [項目9]
 前記第1メモリセルユニットに接続するデータ線と、前記第2メモリセルユニットに接続するデータ線は、互いに接続して、論理和を出力し、及び、
 何れかのメモリセルユニットを使用しない場合、当該未使用のメモリセルユニットには、全て0が書き込まれるように構成される、項目1~8の何れか1項に記載の再構成可能な半導体装置。
 [項目10]
 クロック信号に同期して動作する第3及び第4のメモリセルユニットと、
 アドレス信号をデコードして、前記第3メモリセルユニットにデコード信号を出力する第3アドレスデコーダと、
 アドレス信号をデコードして、前記第4メモリセルユニットにデコード信号を出力する第4アドレスデコーダと、をさらに備え、
 前記第3メモリセルユニットは、前記内部クロック信号に同期して動作し、前記第4メモリセルユニットは、前記システムクロック信号に同期して動作し、且つ、
 前記第1及び第2アドレスデコーダは、前記複数のアドレス線の一部から入力されるアドレスをデコードし、
 前記第3及び第4アドレスデコーダは、前記複数のアドレス線の他の一部から入力されるアドレスをデコードするように構成される、項目8又は9に記載の再構成可能な半導体装置。
 [項目11]
 前記第1及び第3メモリセルユニットをまたがる論理演算を、禁止論理として生成しないように構成される真理値表データを格納する項目10に記載の再構成可能な半導体装置。
 [項目12]
 再構成可能な半導体装置の制御方法であって、
 前記半導体装置は、
 互いにアドレス線又はデータ線で接続する複数の論理部と、複数の入出力部、および出力アンプを有するアナログ部と、を備え、
 前記各論理部は、複数のアドレス線と、複数のデータ線と、メモリセルユニットと、アドレス信号をデコードして、前記メモリセルユニットにデコード信号を出力するアドレスデコーダと、を備え、
 前記複数の論理部と、前記アナログ部が同一チップパッケージ内に実装されており、
 前記アナログ部は、第1デジタル入力、第2デジタル入力、第1アンプ、及び第2アンプを有し、
 前記各論理部は、
 複数のアドレス線と、
 複数のデータ線と、
 システムクロック信号を受け取るクロック信号線と、
 第1アドレスデコーダと、
 複数にメモリセルを有し、且つクロック信号に同期して動作する第1メモリセルユニットと、
を備え、
 前記第1アドレスデコーダは、前記アドレス信号をデコードして、前記第1メモリセルユニットにデコード信号を出力し、
 前記第1メモリセルユニットに保持される真理値表データが、何れかの前記デジタル入力と、何れかの前記アンプとを接続する、再構成可能な半導体装置の制御方法。
 [項目13]
 前記論理部は、
 第2アドレスデコーダと、
 複数のメモリセルを有し、且つクロック信号に同期して動作する第2メモリセルユニットと、
前記複数のアドレス線から入力されるアドレス信号の遷移を検出すると、内部クロック信号を生成して、前記第1メモリセルユニットに前記内部クロック信号を出力する、アドレス遷移検出部と、を備え、
 前記第2アドレスデコーダは、前記アドレス信号をデコードして、前記第2メモリセルユニットにデコード信号を出力し、
 前記第1メモリセルユニットは、前記内部クロック信号に同期して動作し、
 前記第2メモリセルユニットは、前記システムクロック信号に同期して動作する、項目12に記載の再構成可能な半導体装置の制御方法。
 [項目14]
 クロック信号に同期して動作する第3及び第4のメモリセルユニットと、
 アドレス信号をデコードして、前記第3メモリセルユニットにデコード信号を出力する第3アドレスデコーダと、
 アドレス信号をデコードして、前記第4メモリセルユニットにデコード信号を出力する第4アドレスデコーダと、をさらに備え、
 前記第3メモリセルユニットは、前記内部クロック信号に同期して動作し、前記第4メモリセルユニットは、前記システムクロック信号に同期して動作し、且つ、
 前記第1及び第2アドレスデコーダは、前記複数のアドレス線の一部から入力されるアドレスをデコードし、
 前記第3及び第4アドレスデコーダは、前記複数のアドレス線の他の一部から入力されるアドレスをデコードする、項目13に記載の再構成可能な半導体装置の制御方法。
 [項目15]
 前記メモリセルユニットは、配線要素及び/又は論理要素を構成する真理値表データを格納して、マルチルックアップテーブルとして動作する、項目12~14の何れか1項に記載の再構成可能な半導体装置。
 [項目16]
 再構成可能な半導体装置を制御するためのプログラムにおいて、
 前記半導体装置は、
 互いにアドレス線又はデータ線で接続する複数の論理部と、複数の入出力部、および出力アンプを有するアナログ部と、を備え、
 前記各論理部は、複数のアドレス線と、複数のデータ線と、メモリセルユニットと、アドレス信号をデコードして、前記メモリセルユニットにデコード信号を出力するアドレスデコーダと、を備え、
 前記複数の論理部と、前記アナログ部が同一チップパッケージ内に実装されており、
 前記アナログ部は、第1デジタル入力、第2デジタル入力、第1アンプ、及び第2アンプを有し、
 前記各論理部は、
 複数のアドレス線と、
 複数のデータ線と、
 システムクロック信号を受け取るクロック信号線と、
 第1アドレスデコーダと、
 複数にメモリセルを有し、且つクロック信号に同期して動作する第1メモリセルユニットと、
を備え、
 前記第1メモリセルユニットに、保持される真理値表データが、何れかの前記デジタル入力と、何れかの前記アンプとを接続する処理を、を実行させることを特徴とするプログラム。
 [項目17]
 項目16に示すプログラムを格納する記憶媒体。
 本発明に係る一実施形態は、同期メモリを用いて、同期非同期切り替え可能であり、且つ再構成可能な半導体装置が実現される。
本実施形態に係るMRLDチップの一例を示すフロアプランである。 本実施形態に係るMRLDチップの一例を示す断面図である。 本実施形態に係るアナログ回路付きMRLDチップの詳細例を示すフロアプランの第1例である。 図2Aに示すMRLDチップの動作例を示す図である。 本実施形態に係るアナログ回路付きMRLDチップの詳細例を示すフロアプランの第2例である。 MRLDチップに搭載されるプロセッサの一例である。 アナログ回路のADコンバータの一例である。 本実施形態に係る半導体装置の全体構成の第1例を示す図である。 2メモリセルユニットからなるMLUTを横積みして構成されるMLUTを概略的に示す図である。 大容量メモリを用いたMLUTの一例を示す図である。 図5に示すMLUTの回路例を示す図である。 図5に示すMLUTを用いたMRLDを説明する図である。 同期非同期切り替え可能なMLUTの回路例を示す図である。 本実施形態に係るアドレス遷移検出部の回路図である。 図9に示したアドレス遷移検出の信号のタイミングチャートである。 MLUTの一例を示す図である。 論理回路として動作するMLUTの一例を示す図である。 図12に示す論理回路の真理値表を示す図である。 接続要素として動作するMLUTの一例を示す図である。 図14に示す接続要素の真理値表を示す図である。 4つのAD対を有するMLUTによって実現される接続要素の一例を示す図である。 1つのMLUTが、論理要素及び接続要素として動作する一例を示す図である。 図17に示す論理要素及び接続要素の真理値表を示す。 AD対を有するMLUTによって実現される論理動作及び接続要素の一例を示す図である。 外部システムとMRLDの接続一例を示す概念図である。 情報処理装置のハードウェア構成の一例を示す。
 以下、図面を参照して、以下の構成に基づき、再構成可能な半導体装置を説明する。1.MRLDチップ、2.MRLD、3.MLUT、4.同期/非同期MLUT、5.MLUTの論理動作、及び、6.真理値表データの生成方法の順に説明する
 1.MRLDチップ
 再構成可能な論理デバイスをMRLD(Memory based Reconfigurable Logic Device)(登録商標)と呼ぶ。MRLDは、メモリセルユニットで回路構成を実現する「MPLD(Memory-based Programmable Logic Device)」(登録商標)と同様に、各MLUT間が、配線要素を介在せずに直接接続する点で共通するが、メモリIPとして供給される同期SRAMの機能を有効に活用する点において、区別される。
 図1Aは、本実施形態に係るMRLDチップの一例を示すフロアプランである。図1Aに示すアナログ回路付きMRLDチップ1(以下、「MRLDチップ」と呼ぶ)は、互いにアドレス線又はデータ線で接続する複数の論理部20、及び、複数の入出力部と、出力アンプとを有するアナログ部10を備え、前記各論理部20は、複数のアドレス線と、複数のデータ線と、メモリセルユニットと、アドレス信号をデコードして、前記メモリセルユニットにデコード信号を出力するアドレスデコーダと、を備え、前記複数の論理部と、前記アナログ部が同一チップパッケージ内に実装されている。なお、論理部20は、MRLD20である。
 図1Bは、本実施形態に係るMRLDチップの一例を示す断面図である。MRLD20とアナログ部10は、レジン2に覆われ、インターポーザー基板3の上に載置されている。MRLD20とアナログ部10は、インターポーザー基板3上の基板電極や金線を介して、電気的に接続されている。インターポーザー基板3はさらに、外部端子4を介してプリント配線基板5の上に載置される。
 半導体デバイスの様々な機能は、複雑な工程を経てシリコンチップ上に作り込まれた集積回路が実現している。そのシリコンチップは非常に繊細なため、ちょっとしたゴミや水分などの影響で動作しなくなる。また、光が誤動作の原因となる場合もある。こうしたトラブルを防止するため、シリコンチップをパッケージで保護している。
 半導体製造プロセスは、微細化の方向にあるが、本実施形態に係るアナログ回路付きMRLDチップ1の製造は、アナログ回路も製造可能な半導体製造プロセスで行われる。よって、微細化の効果を犠牲にして、ワンチップ化し、上記チップ化の効果を有するとともに、アナログ回路の設計負荷を低減している。
 再び図1Aに戻ると、アナログ部10には、レベルシフタ(LS)、比較器(Comp)、アンプ(Amp)を有する。レベルシフタは、図示しない2つの電源電圧で制御されており、入力電圧に、各々の電源電圧を加えれば、昇圧又は降圧が可能になる。比較器は、2つの電圧の大きさを比較し、その比較の結果によって異なる値を出力する素子である。比較器には2つの入力端子が備わっており、それぞれの入力端子にアナログ電圧を与えると、入力された電圧のどちらが大きいかによって出力の値が切り替わるようになっている。比較器の出口にレベルシフタを設けたり、アンプの入口にレベルシフタを設ける等、複数の回路をアナログ部10内で組み合わせてもよい。
 MRLDチップ1は、構成ユニット22をさらに有する。構成ユニット22は、MRLD20の構成データを読み出す、又は、書き込む機能を有する。
 図2Aは、本実施形態に係るアナログ回路付きMRLDチップの詳細例を示すフロアプランである。下に示す表1は、図2Aに示すMRLDチップ1の信号名、及び端子機能を示す。図2Aに示すMRLD20は、MLUT(後述)を12×12個搭載する。MRLDチップ1のアナログ部10は、複数個のレベルシフタ(LS)、比較器(Comp)、プログラマブルゲインアンプ(PGA)等のアナログ回路を搭載する。アナログ電源5V、ロジック電源1.8V、GND:0V、ピン数144pinを有する。
 MLUTは、16word×8bitのメモリセルユニットを、同期用、非同期用に2個有する。構成ユニット22が、外部端子のバスから構成データを入力し、MLUTへ個別に構成データを書き込む。
 MRLDチップ1の外部には、距離センサ111、比較器VREF用分圧回路112、モータドライバ113が設けられる。MRLDチップ1は、外部機器(距離センサ111及び比較器VREF用分圧回路112)からの入力を、アナログ部10で受けて、レベルシフタにより、信号電圧を調整した後に、MRLD20は、アドレス信号として入力を受ける。また、MRLDチップ1は、MRLD20のデータ出力信号を、PGAで増幅して、モータドライバ113に出力する。
Figure JPOXMLDOC01-appb-T000001
 図2Bは、図2Aに示すMRLDチップの動作例を示す図である。外部に距離センサ111が配置される。以下、MRLDチップ1の機能を動作例を用いて説明する。
 図2Bでは、図2Aに示す例に加えて、MRLDチップ1の外部に、状態表示LED114、モータの回転数設定回路115、モータの回転制御スイッチ116を有する。
 距離センサの制御(点線の信号線で示す)
 MRLDは、内蔵の比較器を使用して、距離センサの出力をモニタすることができる。
さらに、MRLDチップ1の外部にある比較器VREF用分圧回路112から比較器のVREFに各々の電圧が入力される。距離センサ111の出力がすべてのコンパレータの入力に接続される。距離センサ111は電圧を出力する。その電圧が各VREFと比較されて比較器はHまたはLを出力する。その信号を5V->1.8Vのレベルシフタを通ってMRLD20に入力される。MRLD20はその信号をMPIO_x(xは使用する端子)に出力し、LED114を点灯させる。
 モータドライバの制御(点線の信号線で示す)
 MRLD20に入力された比較器の出力は、そのOR論理をMRLD20内で生成して、モータドライバ113のON/OFF制御を行う。モータドライバ113はVREFの値によりPWM制御する。MRLDチップ1に内蔵されたPGAにより、モータドライバへのVREFを設定する。MPIO_xから3bitの信号を入力し、MRLD20から1.8V->5Vレベルシフタを通ってPGAのゲイン設定をする。ゲイン設定は1倍、2倍、5倍、10倍を設定可能である。
 PGAの入力(PGAIN)は固定電圧を入力しておいて、それをゲイン設定することでPGAOUTの電圧を可変することでモータ速度を変えることができる。モータの回転ON/OFF、正転/逆転のコントロールもMPIO_xから入力し、比較器出力とMRLD内で論理をとり、1.8V->5Vレベルシフタを通ってモータドライバのコントロール端子(FIN/RIN)に入力される。
 これにより、例えば、距離センサ111の入力を使用して、モータドライバ113の出力を制御することができる。加えて、図2Bの点線で例示するように、MRLD20を再構成することで、距離センサ111Aからモータドライバ113A、距離センサ111Aからモータドライバ113B、距離センサ111Bからモータドライバ113A、距離センサ111Bからモータドライバ113Bのいずれかの動作制御に切り替え可能になる。さらに、距離センサ111Aからモータドライバ113A、及び、距離センサ111Bからモータドライバ113B、並びに、距離センサ111Aからモータドライバ113B、及び、距離センサ111Bからモータドライバ113Aの同時動作なども行うことができる。
 このように、MRLD20の構成データを変更するだけで、アナログ部10の再構成機能を提供する。
 図2Cは、本実施形態に係るアナログ回路付きMRLDチップの詳細例を示すフロアプランの第2例である。図2Cに示すMRLDチップ1は、アナログ部10およびMRLD20に加えて、プロセッサ50を備える。MRLD20、アナログ部10、およびプロセッサ50は、互いにバス70を介して接続されている。
 バスコントローラ72は、MRLD20の真理値データを、バス70を介して書き込む時にバス70のデータをコントロールして外部とMRLD20を繋ぐとともに、各々のブロック(MRLD20、アナログ部10、およびプロセッサ50)の信号(データ)を制御する。
 例えば、アナログ部10およびMRLD20間の信号、アナログ部10およびプロセッサ50間の信号、プロセッサ50およびMRLD20間の信号である。この時、バスコントローラ72は、信号同士がぶつからないように、信号の伝達を制御する。
 バスコントローラ72により、アナログ部10、MRLD20、プロセッサ50の間の配線を共通にすることで、配線面積の最小化が可能になる。
 アナログ部10は、図2Aおよび図2Bに加えて、アナログデジタル変換回路ADを有する。
 図2Dは、MRLDチップに搭載されるプロセッサの一例である。プロセッサ50は、演算命令に従い演算処理を実行するプロセッサコア52、ROM(Read Only Memory)53、RAM54、PWM(Pulse Width Modulation)回路56、クロック回路57、タイマー回路58を有し、それらは内部バス51を介して接続されている。
 プロセッサ50は、MRLDチップ1の外部からデータやプログラムを読み込むことも可能であり、また、MRLD20内に保持されるデータやプログラムを読み込むことも可能である。読み込んだデータは、RAM54に記憶される。
 プロセッサ50は、MLUT30の真理値データ(構成データ)を、上記のデータとして保持して、MRLD20に出力して、MRLD20を再構成する。
 MRLD20は、プロセッサ50から送信される真理値データで再構成されることにより、プロセッサ50の機能の一部を実行する。
 MRLDチップ1内のMRLD20は、プロセッサ50の機能(例えば、プロセッサコアの演算機能、RAM、PWM、クロック、タイマー)を構成可能である。プロセッサ50よりも、MRLD20は、並列処理に優れるため、プロセッサ50にはない並列処理機能を、MRLD20で構成することにより、MRLDチップ1の再構成性を高めることができる。
 プロセッサ50に、MRLDチップ1のシステム管理をさせ、MRLD20のロジック機能とアナログ機能をコントロールさせる事ができる。
 図2Eは、アナログ部に含まれるアナログデジタル変換回路ADの一例である。図2Eに示すアナログデジタル変換回路は、外部から入力されるアナログ信号を12ビットのデジタル信号に変換している。アナログデジタル変換回路は、4つの単位変換回路102を備え、単位変換回路102の各々が、ADCと、DACと、AMPを備えている。1つの単位変換回路102で、デジタル化された後に、デジタル変換中に入力されるアナログ信号を、後段にある単位変換回路がデジタルに変換することで、12ビットのAD変換が実現される。1つの単位変換回路が次から次へと処理することで、パイプラインで信号処理する。
 なお、図2Eに示すAD変換回路に以外でも、逐次比較型(分解能も高く、スピードも出し易い)、デルタシグマ型(分解能は一番高くできるが、変換速度が遅い)、フラッシュ型(高速性は一番だが、分解能が出にくく回路構成が大きい)等であってもよい。
 2.MRLD
 図3は、本実施形態に係る半導体装置の全体構成の一例を示す図である。図3に示す20は、MRLDの一例である。MRLD20は、同期SRAMを利用したMLUT30を複数個、アレイ状に配置したMLUTアレイ60、MLUT30のメモリ読出し動作、書込み動作を特定する行デコーダ12、及び、列デコーダ14を有する。
 MLUT30は、同期SRAMで構成される。メモリの記憶素子には、真理値表とみなされるデータがそれぞれ記憶されることで、MLUT30は、論理要素、又は、接続要素、又は、論理要素及び接続要素として動作する論理動作を行う。
 MRLD20の論理動作では、実線で示される論理用アドレスLA、及び論理用データLDの信号を使用する。論理用アドレスLAは、論理回路の入力信号として使用される。そして、論理用データLDは、論理回路の出力信号として使用される。MLUT30の論理用アドレスLAは、隣接するMLUTの論理用データLDのデータ線と接続している。
 MRLD20の論理動作により実現される論理は、MLUT30に記憶される真理値表データにより実現される。いくつかのMLUT30は、AND回路、加算器などの組み合わせ回路としての論理要素として動作する。他のMLUT30は、組み合わせ回路を実現するMLUT30間を接続する接続要素として動作する。MLUT30が、論理要素、及び接続要素を実現するための真理値表データの書き換えは、メモリへの書き込み動作によりなされる。
 MRLD20の書き込み動作は、書込用アドレスAD、及び書込用データWDによりなされ、読出し動作は、書込用アドレスAD、及び読出用データRDによりなされる。
 書込用アドレスADは、MLUT30内のメモリセルを特定するアドレスである。書込用アドレスADは、m本の信号線で、2のm乗の数nのメモリセルを特定する。行デコーダ12は、m本の信号線を介してMLUTアドレスを受け取るとともに、MLUTアドレスをデコードして、メモリ動作の対象となるMLUT30を選択し特定する。メモリ動作用アドレスは、メモリの読出し動作、書き込み動作、両方の場合で使用され、m本の信号線を介して、行デコーダ12、列デコーダ14でデコードされて、対象となるメモリセルを選択する。なお本実施形態においては、後述するが、論理用動作アドレスLAのデコードは、MLUT内のデコーダにより行う。
 行デコーダ12は、リード・イネーブル信号re、ライト・イネーブル信号we等の制御信号に従って、書込用アドレスADのmビットのうちxビットをデコードし、デコードアドレスnをMLUT30に対して出力する。デコードアドレスnは、MLUT30内のメモリセルを特定するアドレスとして使用される。
 列デコーダ14は、書込用アドレスADのmビットのうちyビットをデコードし、行デコーダ12と同様の機能を有して、デコードアドレスnをMLUT30に対して出力するとともに、書込用データWDの入力、及び、読出用データRDを出力する。
 なお、MLUTのアレイがs行t列である場合、MLUTアレイ60からはn×tビットのデータがデコーダ12に入力される。ここで、各行毎のMLUTを選択するために行デコーダはo行分のre,weを出力する。つまり、o行は、MLUTのs行に相当する。ここでoビットのうち、1ビットだけをアクティブにすることで、特定のメモリセルのワード線が選択される。そしてt個のMLUTがnビットのデータを出力するため、n×tビットのデータがMLUTアレイ60から選択され、そのうち1列を選択するのに列デコーダ14が使われる。
 3.MLUT
 図4は、2メモリセルユニットからなるMLUTを横積みして構成されるMLUTを概略的に示す図である。図4に示すMLUT30は、左方向から図5に示すアドレスA0L~A7Lの入力があり、及び、右方向から図5に示すアドレスA0R~A7Rの入力があり、また、左方向へ図5に示すデータD0L~D7Lの出力があり、右方向へ図5に示すデータD0R~D7Rの出力がある。n値=8のMLUTは従来方式では1MビットとなりCLB相当が4Mビットと大規模化してしまう。それに対して本案では後述するように、8K(256ワード×16ビット×MLUT2個)ビットで構成される。
 図6は、大容量メモリを用いたMLUTの一例を示す図である。
 図6は、図5に示すMLUTの回路例を示す図である。図6に示すMLUT30は、メモリセルユニット31A、31Bを有する。メモリセルユニットは、例えば、SRAMである。図6に示されるように、メモリセルユニット31Aは、一辺からの第1複数アドレス線により特定されて、第1複数アドレス線の2倍の数の第1複数データ線に出力する複数のメモリセルを有し、メモリセルユニット31Bは、他辺からの第2複数アドレス線により特定されて、第2複数アドレス線の2倍の数の第2複数データ線に出力する複数のメモリセルを有し、MLUT30は、第1複数データ線及び第2複数データ線の一部を、一辺へ出力するとともに、第1複数データ線及び第2複数データ線の他の一部を、他辺へ出力する。
 各メモリセルユニットは、一方向毎に真理値表データをメモリセルに記憶する。そのため、メモリセルユニット31A及び31Bの各々には、右から左方向用の真理値表データ、及び、左から右方向用の真理値表データを記憶する。すなわち、MLUTは、それぞれが特定のデータ出力方向を規定する2つの真理値表データを記憶する。
 各メモリセルユニットのデータ数を、アドレス数より増やすとともに、各メモリセルユニットからデータ出力の方向を双方向にすることで、必要なメモリセルの数を少なくし、且つ、双方向へのデータ出力を可能にすることができる。
 図7は、図6に示すMLUTより詳細な回路例を示す。図7に示すMLUT30は、メモリセルユニット31A、31B、アドレスデコーダ11A、11B、アドレスセレクタ15A、15B、I/O(入出力)バッファ12A、12B、及び、データセレクタ13A、13Bを有する。メモリセルユニット31A、31Bは、それぞれ、アドレスデコーダ、アドレスセレクタ、及びI/Oバッファ、及び、データセレクタを有する。メモリセルユニット31A、31Bへの入力アドレスが、それぞれ、アドレスA0L~A7L、A8~A15、及び、アドレスA0R~A7R、A8~A15となる。そのため、メモリセルユニット31A、31Bは、2の16乗(65,536)ワード×8ビットの512Kの大容量となる。
 図7では、メモリセルユニット31A、31Bは、それぞれアドレスA0L~A7L、A8~A15、及び、アドレスA0R~A7R、A8~A15の入力を有する。
 なお、図6は、概略図であり、メモリセルユニットの周辺回路であるデコーダ等は、示しておらず、デコーダは図7で説明したデコーダ11A、11Bが、各メモリセルユニット毎に用意され、アドレスセレクタ15A、15Bと、メモリセルユニット31A、31Bの間に配置される。よって、デコーダは、アドレスセレクタ15A、15Bから出力される全てのアドレスをデコードしてもよい。
 アドレスセレクタ15A、15Bは、論理動作用のアドレス線か、書込み用のアドレスかを切り替えるための選択回路である。メモリセルがシングルポートの場合、必要となる。メモリセルをデュアルポートとする場合、アドレスセレクタは不要である。データセレクタ13A、13Bは、出力データ、又は、書込みデータWDを切り替える選択回路である。
 MRLDは専用の小型のSRAMに関する半導体設計試作、製造を経なくても、従来の大容量のメモリデバイスを利用できる。MRLDをチップで構成する際、メモリIP(Intellectual Property)を使うが、従来のMLUTが求めている微小メモリ容量では、アドレスデコーダやセンスアンプの面積が大きくメモリ自体の構成比率は50%以下になる。このことは、MRLDのオーバヘッドにもなり、効率が悪い。大容量メモリになるとアドレスデコーダやセンスアンプの比率は下がり、メモリ使用効率が上がる。そのため、大容量メモリにあった本案はMRLDチップの場合有効になる。
 4.同期/非同期MLUT
 本実施形態に係るMLUTは、同期動作用のメモリセルユニットと、非同期動作用のメモリセルユニットを備える。同期動作用のメモリセルユニット又は非同期動作用のメモリセルユニットは、ペアを構成するが、論理要素及び/又は接続要素として動作するメモリセルユニットは、何れか1つである。両者のデータ出力を、ワイヤードオア接続、又は、OR回路で接続されるため、動作しないメモリセルユニットには、全て「0」のデータが格納される。
 図8は、同期非同期切り替え可能なMLUTの回路例を示す図である。図8に示すMLUT30は、メモリセルユニット31A~31D、アドレスデコーダ11A~11D、I/O(入出力)バッファ13A~13D、選択回路32A~32D、データ選択回路33、及びアドレス遷移検出部35を有する。アドレス遷移検出部35は、ATD(Address Transition Detector)回路を含み、クロックとともに、送信される論理アドレスを、前回送信の論理アドレスと比較して、アドレス遷移を検出する。アドレス遷移検出部35は、図9に示したものと同じである。
 4.1 アドレス遷移検出部
 図9は、本実施形態に係るアドレス遷移検出部の回路図である。図9に示されるアドレス遷移検出部35は、否定論理和(NOR)回路110A、110B、論理和(OR)回路120、排他的論理和(EOR)回路130、遅延回路140A~140C、フリップフロップ(FF)150、インバータ160B、及びDラッチ170を有する。
 図10は、図9に示したアドレス遷移検出の信号のタイミングチャートである。以下、図9及び図10を説明して、アドレス遷移検出の回路動作を説明する。
 信号S1は、プロセッサから出力されるアドレス入力信号である。信号S2は、Dラッチの出力である。Dラッチ170は、信号S1に変化があった場合、一定期間変化しないようにラッチする。これは、ノイズ等で後続のアドレス遷移を無視するためである。
 信号S3は、Dラッチ170から出力される遅延信号である。遅延信号は、図10に示されるように、立ち上がりおよび立ち下がりでクロックを作って、信号S4のクロック幅を生成するために、遅延回路140Bで遅延される。
 クロック信号として生成される信号S4は、変化を検出して、EOR130から出力される。EOR130では、遅延回路140Bの入力と、出力とが入力されるので、両者の信号レベルが異なると、信号レベル「ハイ」を出力する。これにより、アドレス遷移を検出することができる。図10に示すS4の時間T1は、論理アドレスの変化検出からFF取り込みでの時間を示し、時間T2は、論理アドレス変化検出からメモリセルユニット読出しまでの時間を示す。
 OR回路120では、信号S4とともに、他のアドレス遷移の信号が入力され、OR演算値を出力する。OR回路120の出力は、遅延回路140Cで遅延されて、信号S5が出力される。
 信号S5は、遅延回路140Cから出力される遅延信号であり、Dラッチ170のイネーブル信号待ちしてクロック入力する。
 信号S6は、信号S5の信号延長であり、イネーブル信号のパルス生成である。NOR回路110Aは、信号S5とS6のNOR演算値である信号S7を出力する。そして、信号S7は、Dラッチ170のイネーブル信号となる。信号S8は、信号S5をインバータ160Aで反転した信号で、FF150で、アドレス信号のラッチのクロックとして使用される。信号S9は、後段にあるメモリセルユニット31A及び31Cのイネーブル、信号S10は、メモリセルユニット31A及び31Cのクロック(atd_clk)、信号S11は、メモリセルユニット31A及び31Cのアドレスとして利用される。図10の信号S10は、論理アドレスの変化検出からメモリからのリードまでの時間を示す。
 このようにプロセッサコア210のデータ要求をした場合、そのアドレス変化を持ってクロックを生成し、メモリを駆動するので、必要なときにメモリが動作して、不必要なときにメモリ駆動させず、自律的に低消費電力化できる。
 4.2 信号線
 図8に示す信号線を、下記表2に説明する。
Figure JPOXMLDOC01-appb-T000002
 4.3 同期/非同期メモリセルユニット
 メモリセルユニット31A~31Dは、同期SRAMである。メモリセルユニット31A~31Dはそれぞれ、左方向および右方向へ接続するための真理値表データを記憶する。メモリセルユニット31B及び31Dは、システムクロックに同期して動作する。一方、メモリセルユニット31A及び31Cは、後述するアドレス遷移回路35が生成するATD生成クロック(「内部クロック信号」とも言う)に同期して動作するために、クロック(システムクロック)に対して、非同期で動作する。ATD生成クロックが、システムクロック信号より、高周波数で動作するために、メモリセルユニット31A、31Cは、MLUT30外部からは、非同期動作するようにみえることで、非同期の機能を提供する。
 同期の機能要件を除けば、メモリセルユニット31A及び31Cは、図6及び図7に示すメモリセルユニット31A及び31Bと同じ機能を有する。メモリセルユニット31B及び31Dも、同様である。
 アドレスデコーダ11A及び11Bはともに、左側から入力するアドレスA0~A3をデコードして、デコード信号を、それぞれ、メモリセルユニット31A及び31Bに出力して、メモリセルユニット31A及び31Bのワード線をアクティブにする。
 アドレスデコーダ11C及び11Dは、右側から入力するアドレスA4~A7をデコードして、デコード信号を、それぞれ、メモリセルユニット31C及び31Dに出力して、メモリセルユニット31C及び31Dのワード線をアクティブにする。
 また、アドレスデコーダ11A及び11Cは、SRAMアドレス非同期信号(sram_address(async))をデコードし、アドレスデコーダ11A及び11Cは、SRAMアドレス同期信号(sram_address(sync))をデコードして、デコード信号により特定されるメモリセルユニットのワード線を活性化する。
 図8に示す例では、各メモリセルユニットは、16wordx8bitのメモリブロックである。メモリセルユニット31A及び31Bは、16wordx8bitx2は同期モードで使用し、16wordx8bitx2は非同期モードで使用が可能である。同期と非同期は同時動作はできず、例えば同期動作メモリセルユニットに論理データをライトした場合、非同期動作メモリセルユニットには全て「0」を書き込む必要がある。
 なお、メモリセルユニットのデータ出力は、図示のように、ワイヤードORとしてもよいし、OR論理回路を設けてもよい。
 4.4 選択回路
 選択回路32A~32Dは、非同期動作用のメモリセルユニット31A及び31C、又は、同期動作用のメモリセルユニット31B及び31Dの動作を選択する回路である。
 選択回路32Aは、選択信号(Select)により、非同期動作が選択されると、アドレス遷移回路35で生成されるatd_adラッチアドレス(図9に示すS11)を選択して、SRAMアドレス非同期信号(sram_address(async))として出力する。非同期動作が選択されない場合、論理アドレスをそのまま出力する。
 選択回路32Bは、選択信号(Select)により、非同期動作が選択されると、アドレス遷移回路35で生成されるATD生成クロックを選択して、出力する。非同期動作が選択されない場合、クロックをそのまま出力する。
 選択回路32Cは、選択信号(Select)により、非同期動作が選択されると、アドレス遷移回路35で生成されるATD生成チップセレクトを選択して、出力する。非同期動作が選択されない場合、SRAMチップイネーブルをそのまま出力する。
 選択回路32Dは、選択信号(Select)により、同期動作が選択されると、論理アドレスをそのまま出力する。
 4.2 禁止論理
 また、メモリ分割の特性として、禁止論理構成がある。表3に示す2つの真理値表を用いて、禁止論理の必要性を説明する。
Figure JPOXMLDOC01-appb-T000003
 真理値表1では、A0,A1を使用してAND回路を構成し、D0に出力する真理値表が示される。真理値表2では、A0,A4を使用してAND回路を構成し、D0に出力する真理値表が示される。真理値表1の場合の論理は、A3-A0使用のメモリセルユニット31Aだけで論理演算可能なので、他のメモリセルユニットに“0”を書き込んでいれば、OR演算により、他のメモリセルユニットの出力値の影響を受けないので、禁止論理の問題は生じない。
 一方、真理値表2の論理の場合、A3-A0使用のメモリセルユニットはc,dの識別ができない。A7-A4使用のSRAMは、b,dの識別がつかない。このように、2つのメモリセルユニットをまたがる論理演算は、2つの真理値表では正しい値を得られないため、2つのメモリセルユニットを跨ぐ論理演算を、禁止論理としている。よって、論理構成する場合、各メモリセルユニット内部で、論理を実現する必要がある。そのため、本実施形態に係る真理値表データでは、上記禁止論理を生成しないように生成される。
 4.5 I/Oバッファ
 I/O(入出力)バッファ13A~13Dは、クロックとATD生成クロックの何れかに同期して、メモリセルユニットのデータ線からデータを読み出すことで、FFの機能を提供している。なお、I/O(入出力)バッファ13A~13Dは、メモリセルのビット線から出力される電圧を増幅するセンスアンプを含んでいる。
 選択回路33は、SRAMデータ出力(O_data)を、選択信号に従って、SRAMデータ出力、及び、論理データ出力の何れかとして出力する。
 5 MLUTの論理動作
 A.論理要素
 図11は、MLUTの一例を示す図である。図11では、説明を簡単にするために、アドレスセレクタ11、入出力バッファ12、及びデータセレクタ13の記載は、省略される。図11に示すMLUT30A、30Bは、4つの論理用アドレス入力LA線A0~A3と、4つの論理動作用データ線D0~D3と、4×16=64個の記憶素子40と、アドレスデコーダ9とをそれぞれ有する。論理動作用データ線D0~D3は、16個の記憶素子40をそれぞれ直列に接続する。アドレスデコーダ9は、論理用アドレス入力LA線A0~A3に入力される信号に基づき、16本のワード線のいずれかに接続される4つの記憶素子を選択するように構成される。この4つの記憶素子はそれぞれ、論理動作用データ線D0~D3に接続され、記憶素子に記憶されるデータを論理動作用データ線D0~D3に出力する。例えば、論理用アドレス入力LA線A0~A3に適当な信号が入力される場合は、4つの記憶素子40A、40B、40C、及び40Dを選択するように構成することができる。ここで、記憶素子40Aは、論理動作用データ線D0に接続され、記憶素子40Bは、論理動作用データ線D1に接続され、記憶素子40Dは、論理動作用データ線D2に接続され、記憶素子40Dは、論理動作用データ線D3に接続される。そして、論理動作用データ線D0~D3には、記憶素子40A~40Dに記憶される信号が出力される。このように、MLUT30A、30Bは、論理用アドレス入力LA線A0~A3から論理用アドレス入力LAを受け取り、その論理用アドレス入力LAによってアドレスデコーダ9が選択する4つの記憶素子40に記憶される値を、論理動作用データ線D0~D3に論理動作用データとしてそれぞれ出力する。なお、MLUT30Aの論理用アドレス入力LA線A2は、隣接するMLUT30Bの論理動作用データ線D0と接続しており、MLUT30Aは、MLUT30Bから出力される論理動作用データを、論理用アドレス入力LAとして受け取る。また、MLUT30Aの論理動作用データ線D2は、MLUT30Bの論理用アドレス入力LA線A0と接続しており、MLUT30Aが出力する論理動作用データは、MLUT30Bで論理用アドレス入力LAとして受け取られる。例えば、MLUT30Aの論理動作用データ線D2は、MLUT30Aの論理用アドレス入力LA線A0~A3に入力される信号に基づき、論理動作用データ線D2に接続される16個の記憶素子のいずれか1つに記憶される信号をMLUT30Bの論理用アドレス入力LA線A0に出力する。同様に、MLUT30Bの論理動作用データ線D0は、MLUT30Bの論理用アドレス入力LA線A0~A3に入力される信号に基づき、論理動作用データ線D0に接続される16個の記憶素子のいずれか1つに記憶される信号をMLUT30Aの論理用アドレス入力LA線A2に出力する。このように、MLUT同士の連結は、1対のアドレス線とデータ線とを用いる。以下、MLUT30Aの論理用アドレス入力LA線A2と、論理動作用データ線D2のように、MLUTの連結に使用されるアドレス線とデータ線の対を「AD対」という。
 なお、図11では、MLUT30A、30Bが有するAD対は4であるが、AD対の数は、特に後述するように4に限定されない。
 図12は、論理回路として動作するMLUTの一例を示す図である。本例では、論理用アドレス入力LA線A0及びA1を2入力NOR回路701の入力とし、論理用アドレス入力LA線A2及びA3を2入力NAND回路702の入力とする。そして、2入力NOR回路701の出力と、2入力NAND回路702の出力を、2入力NAND回路703に入力し、2入力NAND回路703の出力を論理動作用データ線D0に出力する論理回路を構成する。
 図13は、図12に示す論理回路の真理値表を示す図である。図12の論理回路は、4入力のため、入力A0~A3の全ての入力を入力として使用する。一方、出力は、1つのみなので、出力D0のみを出力として使用する。真理値表の出力D1~D3の欄には「*」が記載されている。これは、「0」又は「1」のいずれの値でもよいことを示す。しかしながら、実際に再構成のために真理値表データをMLUTに書き込むときには、これらの欄には、「0」又は「1」のいずれかの値を書き込む必要がある。
 B.接続要素
 図14は、接続要素として動作するMLUTの一例を示す図である。図14では、接続要素としてのMLUTは、論理用アドレス入力LA線A0の信号を論理動作用データ線D1に出力し、論理用アドレス入力LA線A1の信号を論理動作用データ線D2に出力し、論理用アドレス入力LA線A2の信号を論理動作用データ線D3に出力するように動作する。接続要素としてのMLUTはさらに、論理用アドレス入力LA線A3の信号を論理動作用データ線D0に出力するように動作する。
 図15は、図14に示す接続要素の真理値表を示す図である。図14に示す接続要素は、4入力4出力である。したがって、入力A0~A3の全ての入力と、出力D0~D3の全ての出力が使用される。図15に示す真理値表によって、MLUTは、入力A0の信号を出力D1に出力し、入力A1の信号を出力D2に出力し、入力A2の信号を出力D3に出力し、入力A3の信号を出力D0に出力する接続要素として動作する。
 図16は、AD対0、AD対1、AD対2、及びAD対3の4つのAD対を有するMLUTによって実現される接続要素の一例を示す図である。AD0は、論理用アドレス入力LA線A0と論理動作用データ線D0とを有する。AD1は、論理用アドレス入力LA線A1と論理動作用データ線D1とを有する。AD2は、論理用アドレス入力LA線A2と論理動作用データ線D2とを有する。そして、AD3は、論理用アドレス入力LA線A3と論理動作用データ線D3とを有する。図16において、2点鎖線は、AD対0の論理用アドレス入力LA線A0に入力された信号がAD対1の論理動作用データ線D1に出力される信号の流れを示す。破線は、AD対1の論理用アドレス入力LA線A1に入力された信号がAD対2の論理動作用データ線D2に出力される信号の流れを示す。実線は、AD対2の論理用アドレス入力LA線A2に入力された信号がAD対3の論理動作用データ線D3に出力される信号の流れを示す。1点鎖線は、AD対3の論理用アドレス入力LA線A3に入力された信号がAD対0の論理動作用データ線D0に出力される信号の流れを示す。
 なお、図16では、MLUT30が有するAD対は4であるが、AD対の数は、特に4に限定されない。
 C.論理要素と接続要素の組合せ機能
 図17は、1つのMLUTが、論理要素及び接続要素として動作する一例を示す図である。図17に示す例では、論理用アドレス入力LA線A0及びA1を2入力NOR回路121の入力とし、2入力NOR回路121の出力と、論理用アドレス入力LA線A2とを2入力NAND回路122の入力とし、2入力NAND回路122の出力を論理動作用データ線D0に出力する論理回路を構成する。また同時に、論理用アドレス入力LA線A3の信号を論理動作用データ線D2に出力する接続要素を構成する。
 図18に、図17に示す論理要素及び接続要素の真理値表を示す。図17の論理動作は、入力D0~D3の3つの入力を使用し、1つの出力D0を出力として使用する。一方、図18の接続要素は、入力A3の信号を出力D2に出力する接続要素が構成される。
 図19は、AD0、AD1、AD2、及びAD3の4つのAD対を有するMLUTによって実現される論理動作及び接続要素の一例を示す図である。図16に示すMLUTと同様に、AD0は、論理用アドレス入力LA線A0と論理動作用データ線D0とを有する。AD1は、論理用アドレス入力LA線A1と論理動作用データ線D1とを有する。AD2は、論理用アドレス入力LA線A2と論理動作用データ線D2とを有する。そして、AD3は、論理用アドレス入力LA線A3と論理動作用データ線D3とを有する。上述のように、MLUT30は、3入力1出力の論理動作と、1入力1出力の接続要素との2つの動作を1つのMLUT30で実現する。具体的には、論理動作は、AD対0の論理用アドレス入力LA線A0と、AD対1の論理用アドレス入力LA線A1と、AD対2の論理用アドレス入力LA線A2とを入力として使用する。そして、AD対0の論理動作用データ線D0のアドレス線を出力と使用する。また、接続要素は、破線で示すようにAD対3の論理用アドレス入力LA線A3に入力された信号をAD対2の論理動作用データ線D2に出力する。
 図20は、外部システムとMRLDの接続一例を示す概念図である。外部システム120は、情報処理装置、又は、SoCで実現されたデバイスである。外部システム120は、図5に示すMRLD20と接続しており、MRLD20からのデータ出力を受け取るとともに、ページ切替判断する論理演算を行いって、その接続を介して、アドレスA8~A15にページ切替信号を出力する。外部システムが、SoCを搭載することにより、MRLD20とともに高機能化されたデバイスが実現できる。
 6.真理値表データの生成方法
 第1及び第2実施形態を用いて説明した再構成可能な半導体装置に適用される真理値表データは、論理構成用のソフトウェアプログラムを実行する情報処理装置によって生成される。
 図21に、情報処理装置のハードウェア構成の一例を示す。情報処理装置210は、プロセッサ211と、入力部212と、出力部213と、記憶部214とドライブ装置215を有する。プロセッサ211は、入力部212に入力された配置・配線用のソフトウェア、集積回路を設計するためのC言語記述またはハードウェア記述言語(HDL)などの回路記述言語、及び、上記ソフトウェアを実行することによって生成される真理値表データを記憶部214に記憶する。また、プロセッサ211は、配置・配線用のソフトウェアを実行して、記憶部214に記憶された回路記述に対して以下に示す配置・配線の処理を行い、出力部213に、真理値表データを出力する。出力部213には、再構成可能な半導体装置20(図21には示さず)を接続することができ、プロセッサ211が論理構成処理を実行して、生成した真理値表データを、出力部213を介して再構成可能な半導体装置20に書き込む。出力部213は、外部ネットワークと接続していてもよい。この場合、論理構成用のソフトウェアプログラムは、ネットワークを介して送受信される。ドライブ装置215は、例えば、DVD(Digital Versatile Disc)、フラッシュメモリなどの記憶媒体217を読み書きする装置である。ドライブ装置215は、記憶媒体217を回転させるモータや記憶媒体217上でデータを読み書きするヘッド等を含む。なお、記憶媒体217は、論理構成用のプログラム、又は、真理値表データを格納することができる。ドライブ装置215は、セットされた記憶媒体217からプログラムを読み出す。プロセッサ211は、ドライブ装置215により読み出されたプログラム又は真理値表データを、記憶部214に格納する。
 真理値表データが半導体装置20に読み込まれることにより、真理値表データとハードウェア資源とが協働した具体的手段によって、論理要素及び/又は接続要素としての機能が構築される。また、真理値表データは、真理値表という論理的構造を示す構造を有するデータともいえる。
 以上説明した実施形態は典型例として挙げたに過ぎず、その各実施形態の構成要素の組合せ、変形及びバリエーションは当業者にとって明らかであり、当業者であれば本発明の原理及び請求の範囲に記載した発明の範囲を逸脱することなく上述の実施形態の種々の変形を行えることは明らかである。特に、MRLDの論理又は接続動作において、双方向MLUTを、多方向MLUTの動作とすることは実施形態の変更として可能である。
 1  MRLDチップ
 2  レジン
 3  インターポーザー基板
 4  外部端子
 10  アナログ部
 11  アドレスセレクタ
 12  入出力バッファ
 13  データセレクタ
 20  MRLD
 30  MLUT
 31  メモリセルユニット
 40  記憶素子
 50  プロセッサ
 60  MLUTアレイ
 101  AD変換部
 102  単位変換回路
 110  否定論理和回路
 120  論理和回路
 130  排他的論理和回路
 140  遅延回路
 150  フリップフロップ
 160  インバータ
 170  Dラッチ

Claims (17)

  1.  再構成可能な半導体装置であって、
     互いにアドレス線又はデータ線で接続する複数の論理部と、
     複数の入出力部、および出力アンプを有するアナログ部と、を備え、
     前記各論理部は、複数のアドレス線と、複数のデータ線と、メモリセルユニットと、アドレス信号をデコードして、前記メモリセルユニットにデコード信号を出力するアドレスデコーダと、を備え、
     前記複数の論理部と、前記アナログ部が同一チップパッケージ内に実装されている、再構成可能な半導体装置。
  2.  プロセッサをさらに備え、
     前記複数の論理部、前記アナログ部、および前記プロセッサは、互いにバスを介して接続されており、
     前記複数の論理部は、前記メモリセルユニットに構成データが書き込まれることにより論理回路を再構成し、前記構成データにより前記プロセッサの機能の一部を実行する、請求項1に記載の半導体装置。
  3.  前記プロセッサは、前記構成データを保持するとともに、前記保持される構成データを、前記複数の論理部に出力して、前記複数の論理部を再構成する、請求項1又は2に記載の半導体装置。
  4.  前記メモリセルユニットは、真理値表データにより構成される配線要素及び/又は論理要素として、前記アナログ部の制御又は設定を行う、請求項1~3の何れか1項に記載の再構成可能な半導体装置。
  5.  前記アナログ部は、デジタル入出力、レベルシフタ回路、及び、アンプを有し、
     前記アナログ線とレベルシフタ回路の出力が接続し、前記データ線と前記アンプ入力が接続する、請求項1~4の何れか1項に記載の再構成可能な半導体装置。
  6.  前記メモリセルユニットは、マルチルックアップテーブルとして動作する、請求項1~5の何れか1項に記載の再構成可能な半導体装置。
  7.  前記アナログ部は、第1デジタル入力、第2デジタル入力、第1アンプ、及び第2アンプを有し、
     前記真理値表データが、何れかの前記デジタル入力と、何れかの前記アンプとを接続する、請求項4~6の何れか1項に記載の再構成可能な半導体装置。
  8.  前記各論理部は、
     複数のアドレス線と、
     複数のデータ線と、
     システムクロック信号を受け取るクロック信号線と、
     クロック信号に同期して動作する第1及び第2のメモリセルユニットと、
     アドレス信号をデコードして、前記第1メモリセルユニットにデコード信号を出力する第1アドレスデコーダと、
     アドレス信号をデコードして、前記第2メモリセルユニットにデコード信号を出力する第2アドレスデコーダと、
     前記複数のアドレス線から入力されるアドレス信号の遷移を検出すると、内部クロック信号を生成して、前記第1メモリセルユニットに前記内部クロック信号を出力する、アドレス遷移検出部と、を備え、
     前記第1メモリセルユニットは、前記内部クロック信号に同期して動作し、前記第2メモリセルユニットは、前記システムクロック信号に同期して動作する、請求項1~7の何れか1項に記載の再構成可能な半導体装置。
  9.  前記第1メモリセルユニットに接続するデータ線と、前記第2メモリセルユニットに接続するデータ線は、互いに接続して、論理和を出力し、及び、
     何れかのメモリセルユニットを使用しない場合、当該未使用のメモリセルユニットには、全て0が書き込まれるように構成される、請求項1~8の何れか1項に記載の再構成可能な半導体装置。
  10.  クロック信号に同期して動作する第3及び第4のメモリセルユニットと、
     アドレス信号をデコードして、前記第3メモリセルユニットにデコード信号を出力する第3アドレスデコーダと、
     アドレス信号をデコードして、前記第4メモリセルユニットにデコード信号を出力する第4アドレスデコーダと、をさらに備え、
     前記第3メモリセルユニットは、前記内部クロック信号に同期して動作し、前記第4メモリセルユニットは、前記システムクロック信号に同期して動作し、且つ、
     前記第1及び第2アドレスデコーダは、前記複数のアドレス線の一部から入力されるアドレスをデコードし、
     前記第3及び第4アドレスデコーダは、前記複数のアドレス線の他の一部から入力されるアドレスをデコードするように構成される、請求項8又は9に記載の再構成可能な半導体装置。
  11.  前記第1及び第3メモリセルユニットをまたがる論理演算を、禁止論理として生成しないように構成される真理値表データを格納する請求項10に記載の再構成可能な半導体装置。
  12.  再構成可能な半導体装置の制御方法であって、
     前記半導体装置は、
     互いにアドレス線又はデータ線で接続する複数の論理部と、複数の入出力部、および出力アンプを有するアナログ部と、を備え、
     前記各論理部は、複数のアドレス線と、複数のデータ線と、メモリセルユニットと、アドレス信号をデコードして、前記メモリセルユニットにデコード信号を出力するアドレスデコーダと、を備え、
     前記複数の論理部と、前記アナログ部が同一チップパッケージ内に実装されており、
     前記アナログ部は、第1デジタル入力、第2デジタル入力、第1アンプ、及び第2アンプを有し、
     前記各論理部は、
     複数のアドレス線と、
     複数のデータ線と、
     システムクロック信号を受け取るクロック信号線と、
     第1アドレスデコーダと、
     複数にメモリセルを有し、且つクロック信号に同期して動作する第1メモリセルユニットと、
    を備え、
     前記第1アドレスデコーダは、前記アドレス信号をデコードして、前記第1メモリセルユニットにデコード信号を出力し、
     前記第1メモリセルユニットに保持される真理値表データが、何れかの前記デジタル入力と、何れかの前記アンプとを接続する、再構成可能な半導体装置の制御方法。
  13.  前記論理部は、
     第2アドレスデコーダと、
     複数のメモリセルを有し、且つクロック信号に同期して動作する第2メモリセルユニットと、
    前記複数のアドレス線から入力されるアドレス信号の遷移を検出すると、内部クロック信号を生成して、前記第1メモリセルユニットに前記内部クロック信号を出力する、アドレス遷移検出部と、を備え、
     前記第2アドレスデコーダは、前記アドレス信号をデコードして、前記第2メモリセルユニットにデコード信号を出力し、
     前記第1メモリセルユニットは、前記内部クロック信号に同期して動作し、
     前記第2メモリセルユニットは、前記システムクロック信号に同期して動作する、請求項12に記載の再構成可能な半導体装置の制御方法。
  14.  クロック信号に同期して動作する第3及び第4のメモリセルユニットと、
     アドレス信号をデコードして、前記第3メモリセルユニットにデコード信号を出力する第3アドレスデコーダと、
     アドレス信号をデコードして、前記第4メモリセルユニットにデコード信号を出力する第4アドレスデコーダと、をさらに備え、
     前記第3メモリセルユニットは、前記内部クロック信号に同期して動作し、前記第4メモリセルユニットは、前記システムクロック信号に同期して動作し、且つ、
     前記第1及び第2アドレスデコーダは、前記複数のアドレス線の一部から入力されるアドレスをデコードし、
     前記第3及び第4アドレスデコーダは、前記複数のアドレス線の他の一部から入力されるアドレスをデコードする、請求項13に記載の再構成可能な半導体装置の制御方法。
  15.  前記メモリセルユニットは、配線要素及び/又は論理要素を構成する真理値表データを格納して、マルチルックアップテーブルとして動作する、請求項12~14の何れか1項に記載の再構成可能な半導体装置。
  16.  再構成可能な半導体装置を制御するためのプログラムにおいて、
     前記半導体装置は、
     互いにアドレス線又はデータ線で接続する複数の論理部と、複数の入出力部、および出力アンプを有するアナログ部と、を備え、
     前記各論理部は、複数のアドレス線と、複数のデータ線と、メモリセルユニットと、アドレス信号をデコードして、前記メモリセルユニットにデコード信号を出力するアドレスデコーダと、を備え、
     前記複数の論理部と、前記アナログ部が同一チップパッケージ内に実装されており、
     前記アナログ部は、第1デジタル入力、第2デジタル入力、第1アンプ、及び第2アンプを有し、
     前記各論理部は、
     複数のアドレス線と、
     複数のデータ線と、
     システムクロック信号を受け取るクロック信号線と、
     第1アドレスデコーダと、
     複数にメモリセルを有し、且つクロック信号に同期して動作する第1メモリセルユニットと、
    を備え、
     前記第1メモリセルユニットに、保持される真理値表データが、何れかの前記デジタル入力と、何れかの前記アンプとを接続する処理を、を実行させることを特徴とするプログラム。
  17.  請求項16に示すプログラムを格納する記憶媒体。
PCT/JP2015/078311 2014-10-08 2015-10-06 再構成可能な半導体装置 WO2016056536A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP15848653.0A EP3206302B1 (en) 2014-10-08 2015-10-06 Reconfigurable semiconductor device
CN201580054558.0A CN107112997B (zh) 2014-10-08 2015-10-06 可重构半导体装置
JP2016553109A JP6515112B2 (ja) 2014-10-08 2015-10-06 再構成可能な半導体装置
US15/517,726 US9972536B2 (en) 2014-10-08 2015-10-06 Reconfigurable semiconductor device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014206853 2014-10-08
JP2014-206853 2014-10-08

Publications (1)

Publication Number Publication Date
WO2016056536A1 true WO2016056536A1 (ja) 2016-04-14

Family

ID=55653147

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/078311 WO2016056536A1 (ja) 2014-10-08 2015-10-06 再構成可能な半導体装置

Country Status (6)

Country Link
US (1) US9972536B2 (ja)
EP (1) EP3206302B1 (ja)
JP (1) JP6515112B2 (ja)
CN (1) CN107112997B (ja)
TW (1) TWI647705B (ja)
WO (1) WO2016056536A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018207800A1 (ja) * 2017-05-11 2018-11-15 太陽誘電株式会社 レゾルバ信号の演算処理装置

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017163204A (ja) * 2016-03-07 2017-09-14 APRESIA Systems株式会社 通信装置
US10566301B2 (en) * 2017-11-17 2020-02-18 General Electric Company Semiconductor logic device and system and method of embedded packaging of same
US10396053B2 (en) 2017-11-17 2019-08-27 General Electric Company Semiconductor logic device and system and method of embedded packaging of same
US11287460B2 (en) 2020-01-30 2022-03-29 Semiconductor Components Industries, Llc Methods and apparatus for managing a battery system
CN113054989A (zh) * 2021-03-09 2021-06-29 深圳市航顺芯片技术研发有限公司 一种芯片内的模拟电路模块协同互连系统及方法
CN113254390B (zh) * 2021-06-09 2021-10-29 千芯半导体科技(北京)有限公司 可重构计算结构、计算方法及硬件架构

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01162971A (ja) * 1987-09-09 1989-06-27 Hitachi Ltd シングルチップマイクロコンピュータ
JP2014035564A (ja) * 2012-08-07 2014-02-24 Fanuc Ltd マルチコアプロセッサを有する数値制御装置
WO2014065424A1 (ja) * 2012-10-28 2014-05-01 太陽誘電株式会社 再構成可能な半導体装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5321845A (en) 1987-09-09 1994-06-14 Hitachi, Ltd. Single-chip microcomputer including non-volatile memory elements
US8176296B2 (en) * 2000-10-26 2012-05-08 Cypress Semiconductor Corporation Programmable microcontroller architecture
US6724220B1 (en) * 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
US7170315B2 (en) * 2003-07-31 2007-01-30 Actel Corporation Programmable system on a chip
US7919979B1 (en) * 2005-01-21 2011-04-05 Actel Corporation Field programmable gate array including a non-volatile user memory and method for programming
CN104617944B (zh) * 2010-06-24 2018-03-16 太阳诱电株式会社 半导体装置
US8416113B1 (en) * 2012-04-06 2013-04-09 Cypress Semiconductor Corporation Integrated circuit device with programmable blocks and analog circuit control
JP5822772B2 (ja) * 2012-04-11 2015-11-24 太陽誘電株式会社 再構成可能な半導体装置
JP5927012B2 (ja) * 2012-04-11 2016-05-25 太陽誘電株式会社 再構成可能な半導体装置
CN110069420A (zh) * 2013-04-02 2019-07-30 太阳诱电株式会社 半导体装置
JP6653126B2 (ja) * 2015-04-28 2020-02-26 太陽誘電株式会社 再構成可能な半導体装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01162971A (ja) * 1987-09-09 1989-06-27 Hitachi Ltd シングルチップマイクロコンピュータ
JP2014035564A (ja) * 2012-08-07 2014-02-24 Fanuc Ltd マルチコアプロセッサを有する数値制御装置
WO2014065424A1 (ja) * 2012-10-28 2014-05-01 太陽誘電株式会社 再構成可能な半導体装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3206302A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018207800A1 (ja) * 2017-05-11 2018-11-15 太陽誘電株式会社 レゾルバ信号の演算処理装置
CN110612433A (zh) * 2017-05-11 2019-12-24 太阳诱电株式会社 旋转变压器信号的运算处理装置

Also Published As

Publication number Publication date
EP3206302A4 (en) 2018-01-17
TW201618095A (zh) 2016-05-16
TWI647705B (zh) 2019-01-11
US9972536B2 (en) 2018-05-15
EP3206302B1 (en) 2019-11-27
CN107112997B (zh) 2021-03-19
JPWO2016056536A1 (ja) 2017-05-18
CN107112997A (zh) 2017-08-29
EP3206302A1 (en) 2017-08-16
JP6515112B2 (ja) 2019-05-15
US20170301587A1 (en) 2017-10-19

Similar Documents

Publication Publication Date Title
WO2016056536A1 (ja) 再構成可能な半導体装置
US9143128B2 (en) System and method for reducing reconfiguration power usage
US10210914B2 (en) Programmable logic accelerator in system on chip
US9966960B2 (en) Configurable logic circuit including dynamic lookup table
JP6517626B2 (ja) 再構成可能な半導体装置
JP6564186B2 (ja) 再構成可能な半導体装置
US8514108B2 (en) Single stage and scalable serializer
JP6178410B2 (ja) 半導体装置
JP5161429B2 (ja) プログラマブルロジックデバイスのシリアルインタフェースにおけるマルチプルデータレート
WO2014163099A2 (ja) 再構成可能な論理デバイス
WO2013153852A1 (ja) 再構成可能な半導体装置の配置配線方法、そのプログラム、及び配置配線装置
WO2013011848A1 (ja) 半導体メモリ装置
JP2016208426A (ja) 再構成可能な半導体装置
TWI618357B (zh) Reconfigurable component and semiconductor device
JP2016096407A (ja) 再構成可能オペアンプ
JP6306846B2 (ja) 再構成可能な論理デバイス
JP2011019136A (ja) 固体撮像装置
US11342922B1 (en) Direct bi-directional gray code counter
JP2002009613A (ja) 回路機能の再構成方法、及びプログラマブル論理回路装置
JP2010191833A (ja) マイクロコンピュータ

Legal Events

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

Ref document number: 15848653

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016553109

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15517726

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2015848653

Country of ref document: EP