WO2020095347A1 - Reconfigurable circuit - Google Patents

Reconfigurable circuit Download PDF

Info

Publication number
WO2020095347A1
WO2020095347A1 PCT/JP2018/041043 JP2018041043W WO2020095347A1 WO 2020095347 A1 WO2020095347 A1 WO 2020095347A1 JP 2018041043 W JP2018041043 W JP 2018041043W WO 2020095347 A1 WO2020095347 A1 WO 2020095347A1
Authority
WO
WIPO (PCT)
Prior art keywords
carry
logic
implement
function
output
Prior art date
Application number
PCT/JP2018/041043
Other languages
French (fr)
Inventor
Xu Bai
Toshitsugu Sakamoto
Makoto Miyamura
Ryusuke Nebashi
Ayuka Tada
Original Assignee
Nec Corporation
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 Nec Corporation filed Critical Nec Corporation
Priority to PCT/JP2018/041043 priority Critical patent/WO2020095347A1/en
Publication of WO2020095347A1 publication Critical patent/WO2020095347A1/en

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/17732Macroblocks

Definitions

  • the present invention relates to a semiconductor apparatus, and more particularly to a semiconductor apparatus with a reconfigurable circuit using non-volatile resistive switches.
  • a typical semiconductor integrated circuit is constructed by transistors built on a semiconductor substrate and upper layer wires used to connect the transistors. Patterns of transistors and wires are determined in a design stage of the IC. Interconnections between the transistors and wires cannot be changed after fabrication.
  • field-programmable gate arrays FPGAs
  • configuration data including operation and interconnection information of the FPGA is stored in memories of the FPGA, so that different logic operations and interconnections can be realized by configuring memories after fabrication of the FPGA, according to requirements of end users.
  • Interconnections within the FPGA can be altered by controlling ON-and-OFF of switches in a routing multiplexer (MUX) or routing fabrics arranged in the FPGA in accordance with interconnection information stored in the memories of the FPGA.
  • MUX routing multiplexer
  • SRAM Static Random Access Memory
  • each memory cell of SRAM is composed of six transistors.
  • FPGA chips there are provided in a market such FPGA chips that are equipped with more than 10M (ten-million) memory cells of SRAM. These FPGA chips need extremely large area overhead and are accompanied with increase in cost and energy consumption.
  • SRAM cells in the FPGA chip are volatile, some externally provided circuits are needed to permanently store the configuration data. This causes to further increase cost and area overhead of the FPGA.
  • NVRSs non-volatile resistive switches
  • NEC non-volatile resistive switches
  • NB non-volatile resistive switches
  • NVRS has ON and OFF states, and the ON/OFF resistance ratio is over 10 4 .
  • ReRAM Resistance Random Access Memory
  • NVRSs are used in routing blocks and LUT (Look Up Table) memories (e.g., reference may be made to PTL 1).
  • CMOS Complementary Metal Oxide Semiconductor
  • NVRS Complementary Metal Oxide Semiconductor
  • PTL 3 discloses a sub-array arranged as a reconfigurable LUT (RLUT) which performs an arithmetic logic function such as an adder, a multiplier, and the like and also discloses an 8 bit adder with a carry_in which is realized through cascading or routing signals between two RLUTs, each of which is configured as a 4 bit adder.
  • RLUT reconfigurable LUT
  • PTL 4 discloses a carry-lookahead adder (CLA) that calculates one or more carry bits before sum adder to improve speed by reducing an amount of time required to determine a carry bit(s).
  • CLA carry-lookahead adder
  • CMOS/NVRS hybrid circuits implement an N-bit adder
  • delay time is proportional to N. This may cause a serious problem in case of a large N. Accordingly, it is an object to provide a semiconductors apparatus enabling to reduce delay time of N-bit adder.
  • a semiconductor apparatus comprising a reconfigurable circuit that comprises: a carry skip circuit; first to M-th logic elements, where M is an integer of 2 or more, each of the logic elements comprising: a first programmable circuit that is able to be programmed to implement a 2-input logic function or a full-adder sum function to output a sum of two 1-bit inputs and a carry in; a second programmable circuit that is able to be programmed to implement a 2-input logic function or a full-adder carry function to output a carry out based on the two 1-bit inputs and the carry in; and a third programmable circuit that is able to be programmed to implement 2-input logic function, wherein the carry out output from i-th logic element is supplied as the carry in to (i+1)-th logic element, where i is an integer from 1 to M-1, each of the first to M-th logic elements, based on the two 1-bit inputs supplied thereto, generates
  • Figs.1A and 1B are diagrams illustrating a structure of a cell array and a cell of a FPGA using NVRSs according to a first example embodiment of the present invention.
  • Figs.2A and 2B are diagrams illustrating schematic views of a logic block without a carry skip circuit and FA-type 4 LUT included therein, respectively, according to a first example embodiment of the present invention.
  • Fig.3 is a diagram illustrating a transistor-level view of the FA-type 4-LUT, according to a first example embodiment of the present invention.
  • Figs.4A and 4B are diagrams illustrating implementation of a 2-bit adder in a logic block without a carry skip circuit and a 1-bit adder included in the 2-bit adder, respectively, according to a first example embodiment of the present invention.
  • Fig.5 is a diagram illustrating a critical path in an 8-bit adder implemented by multiple cells without carry skip circuits according to a first example embodiment of the present invention.
  • Figs.6A and 6B are diagrams illustrating a logic block with a carry skip circuit and FA-type 4 LUT included therein, respectively, according to a first example embodiment of the present invention.
  • Fig.7 is a diagram illustrating a critical path in an 8-bit adder implemented by multiple cells with carry skip circuits according to a first example embodiment of the present invention.
  • Figs.8A, 8B, and 8C are diagrams illustrating a logic block with a carry skip circuit, FA-type 4-LUT included therein, and a transistor-level AND gate, respectively, according to a second example embodiment of the present invention.
  • Figs.9A and 9B are diagrams illustrating implementation of a 2-bit adder in a logic block with a carry skip circuit and a 1-bit adder included in the 2-bit adder, respectively, according to a second example embodiment of the present invention.
  • Fig.10 is a diagram illustrating a logic block with four LUTs using a carry skip circuit according to a second example embodiment of the present invention.
  • Fig.11 is a diagram illustrating a 16-bit adder implemented by multiple cells with carry skip circuits according to a second example embodiment of the present invention.
  • Fig.12 is a diagram illustrating delay time comparison between N-bit adders with carry skip circuits and without carry skip circuits according to a second example embodiment of the present invention.
  • Figs.13A, 13B, and 13C are diagrams illustrating a logic block with a carry skip circuit.
  • Figs.14A and 14B are diagrams illustrating implementation of a 2-bit adder in a logic block with a carry skip circuit and a 1-bit adder included in the 2-bit adder, respectively, according to a third example embodiment of the present invention.
  • Figs.1A and 1B each schematically illustrate an arrangement of an FPGA using NVRSs.
  • NVRS-FPGA is constructed by a reconfigurable cell array 1 as illustrated in Fig.1A.
  • Each cell 10 in the cell array 1 is composed of a routing block 102 and a logic block 101, as illustrated in Fig.1B.
  • the routing block 102 adopts a crossbar switch structure wherein non-volatile-switch-cells (NVSCs) 103 are allocated at cross points for programmable data transfer control.
  • the NVSC is constructed by one or more NVRSs.
  • the NVSC may have two kinds of structures: a 1-transistor 1 NVRS (1T1R) and a 1-transistor 2 NVRSs (1T2R). NVSCs are also used to implement memories in LUTs for function configuration.
  • the NVRS may include a metal oxide resistance change element or a solid electrolyte resistance change element (solid-electrolyte switch) such as "NanoBridge" with a dual-damascene Cu interconnect using a highly reliable bilayer solid-electrolyte (e.g., TaSiO/Ta_2O_5) and a thin oxidation barrier, resulting in an excellent ON/OFF ratio at a low ON resistance.
  • solid-electrolyte switch solid-electrolyte switch
  • two or more look-up tables (LUTs)/adders (11 1 ,11 2 ) are provided to implement logic operation or addition. That is, in Fig.1B, two LUT/adders (11 1 ,11 2 ) are illustrated as an example, but the number of LUT/adders in the logic block 101 is not limited to two.
  • Each of the LUT/adders (11 1 ,11 2 ) is configured as a CMOS/NVRS hybrid full-adder (FA)-type.
  • D-flip-flops (12 1 ,12 2 ) are used to store a signal at data input terminal (D) (connected to an output of the LUT/adder) responsive to a rising edge of a clock signal (provided to a clock input terminal indicated as a triangle symbol) to output a signal from a data output terminal (Q).
  • Each of multiplexers (MUXs) (13 1 ,13 2 ) receives an output from each of the D-FFs (12 1 ,12 2 ) and the output of the LUT/adder to select either one of the signals received to output the selected signal to the routing block 102.
  • Fig.2A illustrates a schematic view of a logic block 101 without a carry skip circuit.
  • the logic block 101 is composed of FA (Full Adder)- type 4-LUTs (11 1 ,11 2 ), D-flip-flops (DFFs) (12 1 ,12 2 ) and 2:1 MUXs (13 1 ,13 2 ).
  • FA Full Adder
  • DFFs D-flip-flops
  • the DFFs (12 1 ,12 2 ) store the operation results from the FA-type 4-LUTs (11 1 ,11 2 ).
  • the MUXs (13 1 ,13 2 ) select outputs from the FA-type LUTs (11 1 ,11 2 ) or the DFFs (12 1 ,12 2 ).
  • FA-type 4-input LUT (4-LUT) as an example is used to explain the structure of the present embodiment.
  • the FA- type 4-LUTs (11 1 ,11 2 ) may each also be termed as a logic element.
  • Fig.2B schematically illustrates a configuration of the FA-type 4-LUTs (11 1 ).
  • the FA-type 4-LUT (11 2 ) has the same configuration as the FA-type 4-LUTs (11 1 ), except with two 1-bit inputs (A1, B1) supplied as an operand input bit pair, and C 0 (carry out (Cout) from the FA-type 4-LUT (11 1 )) supplied as carry in (Cin) and with S1 and C1 output as a sum and a carry out signal.
  • the FA-type 4-LUT (11 1 ) consists of two 2-input LUTs (2-LUTs) (113,114), a sum-type 2-LUT (111), a carry-type 2-LUT (112) and a 4:1 MUX (115).
  • 2-input LUTs can implement any 2-input logic function.
  • 2-LUTs (111-114) in the FA-type 4-LUT may each also be termed as a programmable circuit.
  • the sum-type 2-LUT (111) is able to be programmed to implement any 2-input logic function or a 3-input FA sum function.
  • the carry-type 2-LUT (112) is able to be programmed to implement any 2-input logic function or a 3-input FA carry function.
  • the 3-input FA sum function receives two 1-bit inputs (operand input bit pair) and a carry in to output a sum, while the 3-input FA carry function receives, in common with the 3-input FA sum function, the two 1-bit inputs (operand input bit pair) and the carry in to output a carry out.
  • FA inputs for each i-th bit, an operand input bit pair: (A i , B i ) and carry in: C i and outputs SUM: S i and carry out: C i+1 . is an exclusive or (xor).
  • Cin signal is applied to both the sum-type 2-LUT (111) and the carry-type 2-LUT (112). Reference may be made to PTL 2 or NPL 2.
  • the carry-type 2-LUT (112) outputs Cout to a next FA-type 4- LUT.
  • the FA-type 4-LUT can implement any 4-input LUT or a 2-bit FA.
  • Fig.3 illustrates a transistor-level view of the FA-type 4-LUT based on the CMOS/NVRS hybrid logic technology introduced in PTL 2 or NPL 2.
  • the FA-type 4-LUT is composed of five 4:1 MUXs (MUX0-MUX4) and an NVSC array.
  • 1T1R NVSC array is used as an example to illustrate an arrangement of the FA-type 4-LUT.
  • 1T1R NVSC array has input lines coupled to a power line: Vdd, a ground line: Gnd, carry in line: Cin and its inverse line: ⁇ Cin, and has output lines coupled to every four input terminals (ports) V 1 ⁇ V 16 of MUX0 - MUX3.
  • each of the 1T1R-NVSCs has 2 terminals, where a first terminal is connected to a first wire (input line) disposed in a first direction (vertical direction in Fig. 3) (one out of four first wires coupled respectively to a power line: Vdd, a ground line: Gnd, a carry in line: Cin and an inverse carry in line: ⁇ Cin one-to-one), while a second terminal is connected to a second wire (output line) disposed in a second direction (horizontal direction in Fig. 3) (one out of second wires coupled to V 1 to V 16 one-to-one).
  • One terminal of the NVRS in the 1T1R-NVSC is connected to a source of a transistor, whose gate and drain are connected respectively to a corresponding control signal Ctrl x and a corresponding first wire.
  • Control signals Ctrl x and Ctrl y are used to determine an address of the NVSC to be configured, where Ctrl y is connected to a gate of a transistor provided between one end of the first wire and a programming voltage line PV y .
  • the transistor in the 1T1R-NVSC works as a switch to access the NVSC selected by control signals Ctrl x and Ctrl y and to isolate unselected NVSCs. Only when the transistor is switched ON, the selected NVSC can be configured.
  • the 1T1R-NVSCs are arranged at the crosspoints: (C in , V 1 ), ( ⁇ C in , V 2 ), ( ⁇ C in , V 3 ), (C in , V 4 ), (C in , V 6 ) and (C in , V 7 ) to construct a MUX input switch block for implementation of the FA.
  • 1T1R-NVSCs arranged at crosspoints: (Vdd, V 1 ) - (Vdd, V 16 ) and (Gnd, V 1 ) - (Gnd, V 16 ) constructs memories M 1 ⁇ M 16 for implementation of any 4-variable function.
  • Each memory M i (i is an integer of 1 to16) is a tri-state memory including two 1T1R-NVSCs, the second terminal of which is connected to the first wires to which Vdd and GND are applied, respectively.
  • the memory Mi When the transistor of the 1T1R-NVSC in the memory Mi having a drain connected to the first wire of Vdd is configured as "ON” and the transistor of the 1T1R-NVSC in the memory Mi having a drain connected to the first wire of Gnd is configured as "OFF", the memory Mi provides a Vdd state.
  • the transistor of the 1T1R-NVSC in the memory Mi having a drain connected to the first wire to which Vdd is supplied is configured as "OFF” and the transistor of the 1T1R-NVSC having a drain connected to the first wire to which Gnd is supplied, is configured as "ON”, the memory Mi provides a Gnd state.
  • the transistors of the two 1T1R-NVSCs in the memory Mi are configured as "OFF", the memory Mi is set in a high impedance state.
  • Programming voltages PV x and PV y are used to configure NVSCs as "ON” or “OFF”.
  • a write enable signal WE is used to enable a configuration mode.
  • the configuration mode for example, in order to program NVSC (1, 1) as "ON”, the programming voltage lines PV X and PV y are set to Vset (Set voltage for NVRS) and Gnd, respectively.
  • WE, Ctrlx 1 and Ctrly 1 are set to "1"(e.g., High level), and Ctrlx 0 and Ctrlyo are set to "0"(e.g., Low level).
  • Vset and Gnd are applied to the two terminals of the NVSC (1, 1) which can be configured as "ON”.
  • PV x and PV y are set to Gnd and Vreset (reset voltage for NVRS), respectively.
  • all the 1T1R-NVSCs in the MUX input switch block are configured as "ON"
  • the memory M5 is configured as the Vdd state
  • the memory M8 is configured as the Gnd state
  • the other memories are configured as the high impedance state.
  • V 1 and V4 are connected to Cin, via NVSC (0, 0) and NVSC (3, 0), respectively, both of which are programmed as "ON”, while V2 and V3 are connected to ⁇ Cin,via NVSC (1, 1) and NVSC (2, 1), respectively, both of which programmed as "ON".
  • SUM Cin
  • SUM ⁇ Cin.
  • V8 which is connected to the memory M8 in the Gnd state, is set to Gnd.
  • Cout Cin.
  • Fig.4A illustrates an implementation example of 2-bit adder in the logic block 101 without a carry skip circuit.
  • the operand input bit pairs (A0, B0) and (A1, B1) are applied respectively to the two FA-type 4-LUTs (11 1 , 11 2 ) in parallel.
  • Each FA-type 4-LUT (11 1 , 11 2 ) is programmed to implement 1-bit adder (1-bit full adder).
  • a carry in (Cin) signal from a last cell (not shown) is applied to the first FA-type 4-LUT (11 1 ) to implement the first 1-bit adder.
  • Fig.4B schematically illustrates the circuit configuration of the FA-type 4-LUT (11 1 ).
  • the FA-type 4-LUT (11 2 ) has the same configuration as the FA-type 4-LUT (11 1 ), except with two 1-bit inputs (A1, B1) supplied as an operand input bit pair, and C0 (carry out (Cout) from the FA-type 4-LUT (11 1 )) supplied as carry in (Cin) and with S1 and C1 output as a sum and a carry out signal.
  • each FA-type 4-LUT (1-bit adder) (11 1 )
  • the sum-type 2-LUT (111) and the carry-type 2-LUT (112) are programmed to implement FA (Full-Adder) sum and carry functions, respectively, while the other two 2-LUTs (113, 114) are not used in an adder mode.
  • MUX 115 (which corresponds to MUX 4 in Fig.3) of the first FA-type 4-LUT (11 1 ) selects a sum result S0 (output of FA sum 111), as the output thereof.
  • MUX 115 (which corresponds to MUX 4 in Fig.3) of the second FA-type 4-LUT (11 2 ) selects a sum result S1 (output of FA sum 111), as the output thereof.
  • a delay time of 1-bit carry calculation in each FA-type 4-LUT (11 1 , 11 2 ) is denoted as D CP
  • a delay time of 1-bit sum calculation therein is denoted as D SUM .
  • Critical path delay becomes D CP + D SUM .
  • Fig.5 illustrates an N-bit adder implementation using logic blocks, each without a carry skip circuit.
  • N is set to 8 as an example.
  • Four cells are connected in serial to implement an 8-bit adder.
  • the dotted line indicates the critical path and its delay is equal to 7*D CP + D SUM .
  • the critical path delay becomes (N-1)* D CP + D SUM .
  • This critical path delay may cause a serious problem in the FPGA when N is large.
  • Fig.6A illustrates a schematic view of a logic block 101A with a carry skip circuit according to the first example embodiment.
  • a carry skip circuit 14 is added to speed up carry signal propagation.
  • the logic block 101 without a carry skip circuit as illustrated in Fig.2A and Fig.4A may be regarded as a related example embodiment.
  • the first and second FA-type 4-LUTs (11A 1 , 11A 2 ) output respectively propagation control signals P0 and P1 that are supplied in parallel to the carry skip circuit 14.
  • the carry in signal: Cin applied to the first FA-type 4-LUT (11A 1 ) from a last cell (not shown) and the carry out signal: C1 of the second FA-type 4-LUT (11A 2 ) are applied to the carry skip circuit 14.
  • Fig.6B schematically illustrates the circuit configuration of the FA-type 4-LUT (11A 1 ).
  • the FA-type 4-LUT (11A 2 ) has the same configuration as the FA-type 4-LUT (11A 1 ), except with two 1-bit inputs (A1, B1) supplied as an operand input bit pair, and C 0 (carry out (Cout) from the FA-type 4-LUT (11 1 )) supplied as carry in and with S1, C1 and P1 output as a sum, carry out signal and propagation control signal.
  • One of the 2-LUTs (113, 114) in the first FA-type 4-LUT (11A 1 ) generates a propagation control signal P0.
  • one of the 2-LUTs (113, 114) in the second FA-type 4-LUT (11A 2 ) generates a propagation control signal P1.
  • the 2-LUT (113) is programmed to generate the propagation control signal P0.
  • One of the 2-LUTs (113,114) in the first and second FA-type 4-LUT (11A 1 ,11A 2 ) may be programmed to generate the propagation control signals P0 and P1, based on (A0 xor B0) and (A1 xor B1) for example, respectively, though not limited thereto.
  • the delay (D SK ) of the carry skip circuit 14 is much smaller than D CP and D SUM .
  • Fig.7 illustrates an N-bit adder implementation using logic blocks with carry skip circuits as described with reference to Fig.6A.
  • the first FA-type 4-LUT (11A 1 ) and the second FA-type 4-LUT (11A 2 ) in Fig.6A are denoted as LUT0 and LUT1, respectively, and N is also set to 8, as an example.
  • All the input operands (4 sets of two 1-bit operand input pairs): (A0, B0) and (A1, B1), (A2, B2) and (A3, B3), (A4, B4) and (A5, B5), and (A6, B6) and (A7, B7) are applied respectively to CELL0, CELL1, CELL2, and CELL3, in parallel, so that the propagation control signals: (P00, P01), (P10, P11), (P20, P21), and (P30, P31) output respectively from LUT0 and LUT1 in CELL0, CELL1, CELL2, and CELL3 are generated simultaneously.
  • the critical delay in the CELL0 is 2*D CP + D SK .
  • a delay to generate a final sum signal SUM33 is D CP + D SUM .
  • the total critical path delay is 3*D CP + 3* D SK + D SUM , which is much smaller than the critical path delay: 7*D CP + D SUM of the 8-bit adder implementation using logic blocks 101 without carry skip circuits.
  • the present embodiment discloses a gate-level carry skip circuit.
  • Fig.8A illustrates a logic block with a carry skip circuit 14.
  • the carry skip circuit 14 includes an AND gate 141 and a MUX 142.
  • the AND gate 141 receives as inputs the propagation control signals P0 and P1 to generate a select signal SEL that is supplied to the MUX 142 as a selection control signal. If the select signal is "1", then the MUX 142 selects Cin, else selects C1, as a carry out to a next cell (final carry out) Cout.
  • Fig.8B schematically illustrates the circuit configuration of the FA-type 4-LUT (11A 1 ) in Fig. 8A.
  • the FA-type 4-LUTs (11A 1 , 11A 2 ) in Fig.8B are the same as those described with reference to Fig. 6B and thus the description thereof is omitted for brevity.
  • Fig.8C illustrates a transistor-level CMOS AND gate constructed by six transistors, wherein P-channel MOS transistors PM1 and PM2 and N-channel MOS transistors NM1 and NM2 compose a CMOS NAND gate which is followed by a CMOS inverter including a P-channel MOS transistor PM3 and a N-channel MOS transistor NM3. Only when both IN0 and IN1 are “1”, OUT is "1", otherwise "0".
  • Fig.9A illustrates implementation of a 2-bit adder in a logic block 101A with a carry skip circuit 14 according to the present embodiment.
  • the operand input bit pairs (A0, B0) and (A1, B1) are applied respectively to the first and second FA-type 4-LUTs (11A 1 , 11A 2 ) in parallel.
  • Each FA-type 4-LUT (11A 1 , 11A 2 ) is programmed to implement 1-bit adder.
  • a carry in (Cin) signal from the last cell is applied to a first FA-type 4-LUT (11A 1 ) to implement the first 1- bit adder and its carry out signal C0 is applied to a second FA-type 4-LUT (11A 2 ) to implement the second 1-bit adder.
  • the sum-type 2-LUT (111) and carry type 2-LUT (112) are programmed to implement FA (Full adder) sum and carry functions, respectively.
  • the MUXs 115 in the first and second FA-type 4-LUTs select sum results S0 and S1, as outputs, respectively. If the propagation control signals P0 and P1 are both "1", the AND gate 141 outputs "1", as the select signal SEL and the MUX 142 selects Cin, as Cout to a next cell (not shown).
  • the exclusive OR (xor) function can be programed in the 2-LUT (113) of the first and second FA-type 4-LUTs (11A 1 , 11A 2 ), by setting the memories M9 and M12 to a Gnd state and setting the memories M10 and M11 to a Vdd state in Fig.3 and an output signal (OUT IM3 ) of MUX 2 in Fig.3 may be taken out as the propagation control signals P0 and P1.
  • the sum-type 2-LUT (111) may include, with reference to Fig.3, a 4:1 multiplexer (MUX0) that selects, as SUM, one of four input terminals (V1-V4), based on the operand input bit pair (two 1-bit inputs) (A, B).
  • MUX0 4:1 multiplexer
  • Four first wires arranged in the first direction (vertical direction) are coupled respectively to a power line: Vdd, a ground line: Gnd, a carry in line: Cin and an inverse carry in line: ⁇ Cin one-to-one.
  • the four second wires arranged in the second direction (horizontal direction) are coupled to the four input terminals (V1-V4) of the 4:1 multiplexer (MUX) one to one.
  • the first wires are connected through NVSCs to corresponding ones of the second wires.
  • the NVSCs may include a transistor and at least one non-volatile resistive switch that has two variable states of "ON" and "OFF".
  • the carry-type 2-LUT (112) may include, with reference to Fig.3, a 4:1 multiplexer (MUX1) that selects, as Cout, one of four input terminals (V5-V8), based on the two 1-bit inputs (A, B).
  • MUX1 4:1 multiplexer
  • Three first wires arranged in the first direction (vertical direction) are coupled to the power line: Vdd, the ground line: Gnd and a carry in line: Cin one-to-one.
  • Four second wires arranged in the second direction (horizontal direction) are coupled to the four input terminals (V5-V8) of the 4:1 multiplexer (MUX1) one to one.
  • the first wires are connected through NVSCs to corresponding ones of the second wires.
  • the 2-LUTs (113) may include, with reference to Fig.3, a 4:1 multiplexer (MUX2) that selects, one of four input terminals (V5-V8), based on the two 1-bit inputs (A, B).
  • the two first wires arranged in the first direction are coupled to a power line: Vdd and a ground line: Gnd one-to-one.
  • Four second wires arranged in the second direction are coupled to the four inputs (V9-V12) of the 4:1 multiplexer (MUX2) one to one.
  • the first wires are connected through NVSCs to corresponding ones of the second wires.
  • Fig.10 illustrates a logic block 101A with first to fourth FA-type 4-LUTs (11A 1 ⁇ 11A 4 ) according to the present embodiment.
  • Each FA-type 4-LUT (11A 1 ⁇ 11A 4 ) may have a configuration as described with reference to Fig. 9B, for example.
  • a 4-bit adder can be implemented in the logic block 101A.
  • the first to fourth FA-type 4-LUTs (11A 1 ⁇ 11A 4 ) generate first to fourth propagation control signals P0, P1, P2 and P3, respectively. They are applied to a 4-input AND gate 141 to generate a select signal SEL which controls a 2:1 MUX 142.
  • the MUX 142 selects the carry in signal Cin, else select a carry out signal C3 from the FA-type 4-LUT3 (11A 4 ), as a carry out signal (final carry out signal) to a next cell (now shown) Cout.
  • Fig.11 illustrates an N-bit adder implemented by multiple cells, each of which is provided with the four FA-type 4 LUTs described with reference to Fig.10.
  • N is set to 16 as an example.
  • the dotted line indicates the critical path.
  • the critical path delay is: 7*D CP + 3* D SK + D SUM which is much smaller than the critical path delay: 15*D CP + D SUM of the 16-bit adder implementation using logic blocks without carry skip circuits.
  • Fig.12 illustrates delay time comparison between N-bit adders implemented by cells with and without carry skip circuit according to the present example embodiment.
  • the delay time is simulated by HSPICE based on 28nm (nanometer) CMOS/NB hybrid process. When the N is 32, speed is improved by 2.28 times by using the skip circuit 14.
  • Fig.13A illustrates a logic block 101B with a carry skip circuit 14 using a NOR gate 143 and a MUX 142 according to the third example embodiment.
  • the propagation control signals P0 and P1 from FA-type 4-LUT (11B 1 , 11A 2 ) are applied to a NOR gate 143 to generate output a select signal SEL which controls a MUX 142 to select Cin or C1 as the carry out Cout.
  • Fig. 13B schematically illustrates the circuit configuration of the FA-type 4-LUT (11B 1 ).
  • the FA-type 4-LUT (11B 2 ) has the same configuration as the FA-type 4-LUT (11B 1 ), except with two 1-bit inputs (A1, B1) supplied as an operand input bit pair, and C 0 (carry out (Cout) from the FA-type 4-LUT (11B 1 )) supplied as carry in (Cin) and with S1, C1, and P1 output as a sum, carry out signal and propagation control signal.
  • One of the 2-LUTs (113, 114) in the first FA-type 4-LUT (11B 1 ) generates a propagation control signal P0.
  • one of the 2-LUTs (113, 114) in the second FA-type 4-LUT (11B 2 ) generates a propagation control signal P1.
  • the 2-LUT (113) is programmed to generate the propagation control signal P0.
  • One of the 2-LUTs (113,114) in the first and second FA-type 4-LUT (11B 1 , 11B 2 ) may be programmed to generate the propagation control signals P0 and P1, based on (A0 xnor B0) and (A1 xnor B1) for example, respectively, though not limited thereto.
  • Fig.13C illustrates a transistor-level CMOS NOR gate 143 constructed by four transistors (two p-channel MOS transistors PM1 and PM2 and two n-channel MOS transistors NM1 and NM2). Only when both IN0 and IN1 are both “0”, OUT is “1”, otherwise OUT is "0". That is, when both IN0 and IN1 are "0"(at low level), PM1 and PM2 with gates supplied with a low level are turned on (while NM1 and NM2 with gates supplied with a high level are turned off), to set OUT to a high level.
  • Fig.14A illustrates implementation of a 2-bit adder in a logic block 101B with a carry skip circuit according to the present embodiment.
  • the operand input bit pairs (A0, B0) and (A1, B1) are applied to the two FA-type 4-LUTs (11B 1 , 11B 2 ), in parallel.
  • Each of the FA-type 4-LUTs (11B 1 , 11B 2 ) is programmed to implement 1-bit adder.
  • a carry in (Cin) signal from a last cell (not shown) is applied to the first FA-type 4-LUT (11B 1 ) to implement the first 1-bit adder and its carry out signal C0 is applied to the second FA-type 4-LUT (11B 1 ) to implement the second 1-bit adder.
  • the sum-type and carry type 2-LUTs (111,112) are programmed to implement FA sum and carry functions, respectively.
  • the 2-LUTs (113) with the propagation control signals P0 and P1 in the FA-type 4-LUTs (11B 1 , 11B 2 ) are programmed to implement exclusive NOR (XNOR) function of the operand input bit pairs (A0, B0) and (A1, B1), respectively.
  • both the IN2 and IN3 are set to "0" to select sum result S0 and S1 as the outputs of the first and second FA-type 4-LUTs (11B 1 and 11B 2 ).
  • the NOR gate 143 outputs "1" as the selection signal SEL to cause the MUX 142 to select Cin as a carry out to a next cell (final carry out) Cout.
  • the exclusive NOR (XNOR) function can be programed in the 2-LUT (113) of the first and second FA-type 4-LUTs (11B 1 , 11B 2 ), by setting the memories M9 and M12 to a Vdd state and setting the memories M10 and M11 to a Gnd state in Fig.3 and an output signal (OUT IM3 ) of MUX 2 in Fig.3 is taken out as P0 and P1.
  • the 2-LUTs (113) may include, with reference to Fig.3, a 4:1 multiplexer (MUX2) that selects, one of four input terminals (V5-V8), based on the operand input bit pair (A,B).
  • the two second wires are coupled to a power line: Vdd and a ground line: Gnd one-to-one.
  • the first wires are connected through NVSCs to corresponding ones of the second wires.
  • the reconfigurable circuits of the above example embodiments may be used in, for example, mobile phone, IoT (Internet of Things) devices, and so on.
  • Patent Literatures1-4 and Non-Patent Literatures 1-2 are incorporated by reference herein.
  • the particular example embodiments or examples may be modified or adjusted within the scope of the entire disclosure of the present invention, inclusive of claims, based on the fundamental technical concept of the invention.
  • a variety of combinations or selections of elements disclosed herein may be used within the concept of the claims. That is, the present invention may encompass a wide variety of modifications or corrections that may occur to those skilled in the art in accordance with the entire disclosure of the present invention, inclusive of claims and the technical concept of the present invention.

Abstract

A semiconductor apparatus with a reconfigurable circuit is disclosed. The reconfigurable circuit comprises: a carry skip circuit; two or more logic elements, each of which includes: a first programmable circuit which can implement any 2-input logic function or a 3-input full-adder sum function; a second programmable circuit which can implement any 2-input logic function or a 3-input full-adder carry function; a third programmable circuit which can implement any 2-input logic function, wherein the carry skip circuit receives propagation control signals, each output from each of the logic elements, to select, as a carry out signal, either a carry in signal supplied to a first logic element, or a carry out signal output from last logic element, based on the propagation control signals.

Description

RECONFIGURABLE CIRCUIT
The present invention relates to a semiconductor apparatus, and more particularly to a semiconductor apparatus with a reconfigurable circuit using non-volatile resistive switches.
A typical semiconductor integrated circuit (IC) is constructed by transistors built on a semiconductor substrate and upper layer wires used to connect the transistors. Patterns of transistors and wires are determined in a design stage of the IC. Interconnections between the transistors and wires cannot be changed after fabrication. In order to improve flexibility of IC, field-programmable gate arrays (FPGAs) have been proposed and developed. In an FPGA, configuration data including operation and interconnection information of the FPGA is stored in memories of the FPGA, so that different logic operations and interconnections can be realized by configuring memories after fabrication of the FPGA, according to requirements of end users. Interconnections within the FPGA can be altered by controlling ON-and-OFF of switches in a routing multiplexer (MUX) or routing fabrics arranged in the FPGA in accordance with interconnection information stored in the memories of the FPGA.
Relatively large energy consumption of FPGAs limits integration of commercial FPGAs into IoT (Internet of Things) devices. In most of commercial FPGAs, SRAM (Static Random Access Memory) is used to store configuration data. Typically, each memory cell of SRAM is composed of six transistors. Currently, there are provided in a market such FPGA chips that are equipped with more than 10M (ten-million) memory cells of SRAM. These FPGA chips need extremely large area overhead and are accompanied with increase in cost and energy consumption. Furthermore, since SRAM cells in the FPGA chip are volatile, some externally provided circuits are needed to permanently store the configuration data. This causes to further increase cost and area overhead of the FPGA.
Recently, FPGAs with non-volatile resistive switches (NVRSs) such as Nanobridge (a registered trademark of NEC) (abbreviated as "NB") integrated between wires upon a transistor layer have been proposed to overcome the problems of SRAM-based FPGAs and achieve small area overhead (e.g., reference may be made to NPL 1). NVRS has ON and OFF states, and the ON/OFF resistance ratio is over 104. There are mainly two kinds of NVRSs, one is ReRAM (Resistance Random Access Memory) using a transition metal oxide, the other one is Nano Bridge using ion conductor. NVRSs are used in routing blocks and LUT (Look Up Table) memories (e.g., reference may be made to PTL 1). Moreover, a CMOS (Complementary Metal Oxide Semiconductor) /NVRS hybrid circuit, where NVRS is stacked on a CMOS logic circuit, is introduced to remove a dedicated CMOS carry chain circuit in SRAM-FPGAs for further speed, power efficiency and area efficiency improvement (e.g., reference may be made to PTL 2 and NPL 2).
PTL 3 discloses a sub-array arranged as a reconfigurable LUT (RLUT) which performs an arithmetic logic function such as an adder, a multiplier, and the like and also discloses an 8 bit adder with a carry_in which is realized through cascading or routing signals between two RLUTs, each of which is configured as a 4 bit adder. PTL 4 discloses a carry-lookahead adder (CLA) that calculates one or more carry bits before sum adder to improve speed by reducing an amount of time required to determine a carry bit(s).
WO2015/198573 A1 WO2016/117134 A1 JP patent Kokai Publication No. JP2016-123092A JP patent Kokai Publication No. JP2003-330701A
NON-PATENT LITERATURE
Xu Bai et al., A low-power Cu atom switch programmable logic fabricated in a 40nm-node CMOS technology, Proc. IEEE Symp. VLSI Technol., 2017, pp. 28-29. Xu Bai et al., Area-Efficient Nonvolatile Carry Chain based on Pass-Transistor/Atom-Switch Hybrid Logic, Japanese Journal of Applied Physics 55, pp. 04EF01, 2016.
Summary
In a semiconductor apparatus including a reconfigurable circuit, such as FPGA, wherein series-connected CMOS/NVRS hybrid circuits implement an N-bit adder, delay time is proportional to N. This may cause a serious problem in case of a large N. Accordingly, it is an object to provide a semiconductors apparatus enabling to reduce delay time of N-bit adder.
In accordance with one aspect of the present invention, there is provided a semiconductor apparatus comprising a reconfigurable circuit that comprises:
a carry skip circuit;
first to M-th logic elements, where M is an integer of 2 or more, each of the logic elements comprising:
a first programmable circuit that is able to be programmed to implement a 2-input logic function or a full-adder sum function to output a sum of two 1-bit inputs and a carry in;
a second programmable circuit that is able to be programmed to implement a 2-input logic function or a full-adder carry function to output a carry out based on the two 1-bit inputs and the carry in; and
a third programmable circuit that is able to be programmed to implement 2-input logic function,
wherein the carry out output from i-th logic element is supplied as the carry in to (i+1)-th logic element, where i is an integer from 1 to M-1,
each of the first to M-th logic elements, based on the two 1-bit inputs supplied thereto, generates a propagation control signal, and
wherein the carry skip circuit receives first to M-th propagation control signals output in parallel from the first to M-th logic elements, respectively, to select, as a final carry out signal, one of a carry in signal supplied to the first logic element and a carry out signal output from the M-th logic element, based on a combination of values of the first to M-th propagation control signals.
According to the present invention, it is made possible to provide a semiconductors device enabling to reduce delay time of N-bit adder.
Figs.1A and 1B are diagrams illustrating a structure of a cell array and a cell of a FPGA using NVRSs according to a first example embodiment of the present invention. Figs.2A and 2B are diagrams illustrating schematic views of a logic block without a carry skip circuit and FA-type 4 LUT included therein, respectively, according to a first example embodiment of the present invention. Fig.3 is a diagram illustrating a transistor-level view of the FA-type 4-LUT, according to a first example embodiment of the present invention. Figs.4A and 4B are diagrams illustrating implementation of a 2-bit adder in a logic block without a carry skip circuit and a 1-bit adder included in the 2-bit adder, respectively, according to a first example embodiment of the present invention. Fig.5 is a diagram illustrating a critical path in an 8-bit adder implemented by multiple cells without carry skip circuits according to a first example embodiment of the present invention. Figs.6A and 6B are diagrams illustrating a logic block with a carry skip circuit and FA-type 4 LUT included therein, respectively, according to a first example embodiment of the present invention. Fig.7 is a diagram illustrating a critical path in an 8-bit adder implemented by multiple cells with carry skip circuits according to a first example embodiment of the present invention. Figs.8A, 8B, and 8C are diagrams illustrating a logic block with a carry skip circuit, FA-type 4-LUT included therein, and a transistor-level AND gate, respectively, according to a second example embodiment of the present invention. Figs.9A and 9B are diagrams illustrating implementation of a 2-bit adder in a logic block with a carry skip circuit and a 1-bit adder included in the 2-bit adder, respectively, according to a second example embodiment of the present invention. Fig.10 is a diagram illustrating a logic block with four LUTs using a carry skip circuit according to a second example embodiment of the present invention. Fig.11 is a diagram illustrating a 16-bit adder implemented by multiple cells with carry skip circuits according to a second example embodiment of the present invention. Fig.12 is a diagram illustrating delay time comparison between N-bit adders with carry skip circuits and without carry skip circuits according to a second example embodiment of the present invention. Figs.13A, 13B, and 13C are diagrams illustrating a logic block with a carry skip circuit. FA-type 4-LUT included therein, and a transistor-level NOR gate, respectively, according to a third example embodiment of the present invention. Figs.14A and 14B are diagrams illustrating implementation of a 2-bit adder in a logic block with a carry skip circuit and a 1-bit adder included in the 2-bit adder, respectively, according to a third example embodiment of the present invention.
Example embodiments of the present invention will be described with reference to the accompanying drawings.
(First example embodiment)
Figs.1A and 1B each schematically illustrate an arrangement of an FPGA using NVRSs. NVRS-FPGA is constructed by a reconfigurable cell array 1 as illustrated in Fig.1A. Each cell 10 in the cell array 1 is composed of a routing block 102 and a logic block 101, as illustrated in Fig.1B. The routing block 102 adopts a crossbar switch structure wherein non-volatile-switch-cells (NVSCs) 103 are allocated at cross points for programmable data transfer control. The NVSC is constructed by one or more NVRSs. As described in PTL 2, the NVSC may have two kinds of structures: a 1-transistor 1 NVRS (1T1R) and a 1-transistor 2 NVRSs (1T2R). NVSCs are also used to implement memories in LUTs for function configuration. Though not particularly limited thereto, the NVRS may include a metal oxide resistance change element or a solid electrolyte resistance change element (solid-electrolyte switch) such as "NanoBridge" with a dual-damascene Cu interconnect using a highly reliable bilayer solid-electrolyte (e.g., TaSiO/Ta_2O_5) and a thin oxidation barrier, resulting in an excellent ON/OFF ratio at a low ON resistance.
In the logic block 101 of the cell 10, two or more look-up tables (LUTs)/adders (111,112) are provided to implement logic operation or addition. That is, in Fig.1B, two LUT/adders (111,112) are illustrated as an example, but the number of LUT/adders in the logic block 101 is not limited to two. Each of the LUT/adders (111,112) is configured as a CMOS/NVRS hybrid full-adder (FA)-type. D-flip-flops (D-FF) (121,122) are used to store a signal at data input terminal (D) (connected to an output of the LUT/adder) responsive to a rising edge of a clock signal (provided to a clock input terminal indicated as a triangle symbol) to output a signal from a data output terminal (Q). Each of multiplexers (MUXs) (131,132) receives an output from each of the D-FFs (121,122) and the output of the LUT/adder to select either one of the signals received to output the selected signal to the routing block 102.
Fig.2A illustrates a schematic view of a logic block 101 without a carry skip circuit. The logic block 101 is composed of FA (Full Adder)- type 4-LUTs (111,112), D-flip-flops (DFFs) (121,122) and 2:1 MUXs (131,132).
The DFFs (121,122) store the operation results from the FA-type 4-LUTs (111,112). The MUXs (131,132) select outputs from the FA-type LUTs (111,112) or the DFFs (121,122). Though not limited thereto, FA-type 4-input LUT (4-LUT) as an example is used to explain the structure of the present embodiment. The FA- type 4-LUTs (111,112) may each also be termed as a logic element.
Fig.2B schematically illustrates a configuration of the FA-type 4-LUTs (111). The FA-type 4-LUT (112) has the same configuration as the FA-type 4-LUTs (111), except with two 1-bit inputs (A1, B1) supplied as an operand input bit pair, and C0 (carry out (Cout) from the FA-type 4-LUT (111)) supplied as carry in (Cin) and with S1 and C1 output as a sum and a carry out signal.
The FA-type 4-LUT (111) consists of two 2-input LUTs (2-LUTs) (113,114), a sum-type 2-LUT (111), a carry-type 2-LUT (112) and a 4:1 MUX (115). Each of 2-input LUTs can implement any 2-input logic function. 2-LUTs (111-114) in the FA-type 4-LUT may each also be termed as a programmable circuit.
The sum-type 2-LUT (111) is able to be programmed to implement any 2-input logic function or a 3-input FA sum function. The carry-type 2-LUT (112) is able to be programmed to implement any 2-input logic function or a 3-input FA carry function. The 3-input FA sum function receives two 1-bit inputs (operand input bit pair) and a carry in to output a sum, while the 3-input FA carry function receives, in common with the 3-input FA sum function, the two 1-bit inputs (operand input bit pair) and the carry in to output a carry out.
FA inputs, for each i-th bit, an operand input bit pair: (Ai, Bi) and carry in: Ci and outputs SUM: Si and carry out: Ci+1.

Figure JPOXMLDOC01-appb-I000001
is an exclusive or (xor).
If (Ai xor Bi) = 0 then SUM: Si = Ci else Si = ~Ci (Ci_bar: also termed as inverse Ci).
If (Ai xor Bi) = 0 then Ci+1 = Ai else Ci+1 = Ci.
That is, if (Ai, Bi) = (1,1) or (0,0), then Ci+1 =1 or 0 (= Ai), while if (Ai, Bi) = (1,0) or (0,1), then Ci+1 = Ci.
In Fig.2B, Cin signal is applied to both the sum-type 2-LUT (111) and the carry-type 2-LUT (112). Reference may be made to PTL 2 or NPL 2.
The carry-type 2-LUT (112) outputs Cout to a next FA-type 4- LUT. As a result, the FA-type 4-LUT can implement any 4-input LUT or a 2-bit FA.
Fig.3 illustrates a transistor-level view of the FA-type 4-LUT based on the CMOS/NVRS hybrid logic technology introduced in PTL 2 or NPL 2. The FA-type 4-LUT is composed of five 4:1 MUXs (MUX0-MUX4) and an NVSC array.
1T1R NVSC array is used as an example to illustrate an arrangement of the FA-type 4-LUT. 1T1R NVSC array has input lines coupled to a power line: Vdd, a ground line: Gnd, carry in line: Cin and its inverse line: ~Cin, and has output lines coupled to every four input terminals (ports) V1~V16 of MUX0 - MUX3.
In the 1T1R-NVSC array illustrated in Fig.3, each of the 1T1R-NVSCs has 2 terminals, where a first terminal is connected to a first wire (input line) disposed in a first direction (vertical direction in Fig. 3) (one out of four first wires coupled respectively to a power line: Vdd, a ground line: Gnd, a carry in line: Cin and an inverse carry in line: ~Cin one-to-one), while a second terminal is connected to a second wire (output line) disposed in a second direction (horizontal direction in Fig. 3) (one out of second wires coupled to V1 to V16 one-to-one).
One terminal of the NVRS in the 1T1R-NVSC is connected to a source of a transistor, whose gate and drain are connected respectively to a corresponding control signal Ctrlx and a corresponding first wire. Control signals Ctrlx and Ctrly are used to determine an address of the NVSC to be configured, where Ctrly is connected to a gate of a transistor provided between one end of the first wire and a programming voltage line PVy. The transistor in the 1T1R-NVSC works as a switch to access the NVSC selected by control signals Ctrlx and Ctrly and to isolate unselected NVSCs. Only when the transistor is switched ON, the selected NVSC can be configured.
The 1T1R-NVSCs are arranged at the crosspoints: (Cin, V1), (~Cin, V2), (~Cin, V3), (Cin, V4), (Cin, V6) and (Cin, V7) to construct a MUX input switch block for implementation of the FA. 1T1R-NVSCs arranged at crosspoints: (Vdd, V1) - (Vdd, V16) and (Gnd, V1) - (Gnd, V16) constructs memories M1 ~ M16 for implementation of any 4-variable function. Each memory Mi (i is an integer of 1 to16) is a tri-state memory including two 1T1R-NVSCs, the second terminal of which is connected to the first wires to which Vdd and GND are applied, respectively.
When the transistor of the 1T1R-NVSC in the memory Mi having a drain connected to the first wire of Vdd is configured as "ON" and the transistor of the 1T1R-NVSC in the memory Mi having a drain connected to the first wire of Gnd is configured as "OFF", the memory Mi provides a Vdd state. When the transistor of the 1T1R-NVSC in the memory Mi having a drain connected to the first wire to which Vdd is supplied, is configured as "OFF" and the transistor of the 1T1R-NVSC having a drain connected to the first wire to which Gnd is supplied, is configured as "ON", the memory Mi provides a Gnd state. When the transistors of the two 1T1R-NVSCs in the memory Mi are configured as "OFF", the memory Mi is set in a high impedance state.
Programming voltages PVx and PVy are used to configure NVSCs as "ON" or "OFF". A write enable signal WE is used to enable a configuration mode. In the configuration mode, for example, in order to program NVSC (1, 1) as "ON", the programming voltage lines PVX and PVy are set to Vset (Set voltage for NVRS) and Gnd, respectively. WE, Ctrlx1 and Ctrly1 are set to "1"(e.g., High level), and Ctrlx0 and Ctrlyo are set to "0"(e.g., Low level). Vset and Gnd are applied to the two terminals of the NVSC (1, 1) which can be configured as "ON". On the other hand, if NVSC (1, 1) is to be programed as "OFF", PVx and PVy are set to Gnd and Vreset (reset voltage for NVRS), respectively.
In an operation mode, WE, Ctrly0 and Ctrlyi are set to "0" to turn off PVX and PVy, and Ctrlx0 and Ctrlx1 are set to "1" to turn on a data transfer path, so that data inputs (Cin and ~Cin) can be switched according to "ON and OFF" of NVSCs. In Fig. 3, Cin is applied through the NVSCs configured as "ON" to the second wires which are coupled respectively to V1, V4, V6, and V7, while ~Cin are applied through the NVSCs configured as "ON" to the second wires which are coupled respectively to V2 and V3.
In order to implement the FA, all the 1T1R-NVSCs in the MUX input switch block are configured as "ON", the memory M5 is configured as the Vdd state, the memory M8 is configured as the Gnd state, and the other memories are configured as the high impedance state.
In Fig.3, MUX0 that corresponds to a MUX included in the sum-type 2-LUT (111) selects, as OUTIM1(SUM), input terminals V1, V2, V3, and V4, if (A, B) = (1, 1), (0, 1), (1, 0), and (0, 0), respectively. V1 and V4 are connected to Cin, via NVSC (0, 0) and NVSC (3, 0), respectively, both of which are programmed as "ON", while V2 and V3 are connected to ~Cin,via NVSC (1, 1) and NVSC (2, 1), respectively, both of which programmed as "ON". In case (A, B) = (1, 1) or (0, 0), SUM =Cin, while in case (A, B) = (1, 0) or (0, 1), SUM =~Cin.
MUX1 that corresponds to a MUX included in the carry-type 2-LUT (112) selects, as OUTIM2(Cout), input terminals V5, V6, V7, and V8, if (A, B) =(1, 1), (0, 1), (1, 0), and (0, 0), respectively, wherein V5 which is connected to the memory M5 in the Vdd state, is set to Vdd, V6 and V7 are connected to Cin via NVSC (5, 0) and NVSC (6, 0), respectively, both of which are programmed as "ON, and V8 which is connected to the memory M8 in the Gnd state, is set to Gnd. In case (A, B) = (1,1), Cout=1, in case (A, B) = (0,0), Cout=0, and in case (A,B) = (1,0) or (0,1), Cout = Cin.
MUX2 that corresponds to a MUX included in the 2-LUT (113) selects, as OUTIM3, input terminals V9, V10, V11, and V12 that are all in a high impedance state, if (A, B) = (1, 1), (0, 1), (1, 0), and (0, 0), respectively. MUX3 that corresponds to a MUX included in the 2-LUT (114) selects, as OUTIM4, input terminals V13, V14, V15, and V16 that are all in a high impedance state, if (A, B) = (1, 1), (0, 1), (1, 0), and (0, 0), respectively.
MUX4 that corresponds to the MUX 115, selects OUTIM1(SUM), OUTIM2(Cout), OUTIM3, and OUTIM4, in case (IN2, IN3) = (1, 1), (0, 1), (1, 0), and (0, 0), respectively.
Fig.4A illustrates an implementation example of 2-bit adder in the logic block 101 without a carry skip circuit. The operand input bit pairs (A0, B0) and (A1, B1) are applied respectively to the two FA-type 4-LUTs (111, 112) in parallel. Each FA-type 4-LUT (111, 112) is programmed to implement 1-bit adder (1-bit full adder). A carry in (Cin) signal from a last cell (not shown) is applied to the first FA-type 4-LUT (111) to implement the first 1-bit adder. In case where a last cell does not exist, that is, the FA-type 4-LUT (111) is included in the first cell of an N-bit adder, "0" is applied as the carry in (Cin) signal. A carry out signal C0 of the first FA-type 4-LUT (111) is applied to the second FA-type 4-LUT (112) to implement the second 1-bit adder. The second bit carry out signal Cout is applied to a next cell (not shown). In case where a next cell does not exist, that is, the FA-type 4-LUT (112) is included in the last cell of the N-bit adder, the second bit carry out signal Cout is output as a carry out signal of the N-bit adder.
Fig.4B schematically illustrates the circuit configuration of the FA-type 4-LUT (111). The FA-type 4-LUT (112) has the same configuration as the FA-type 4-LUT (111), except with two 1-bit inputs (A1, B1) supplied as an operand input bit pair, and C0 (carry out (Cout) from the FA-type 4-LUT (111)) supplied as carry in (Cin) and with S1 and C1 output as a sum and a carry out signal. As illustrated in Fig.4B, in each FA-type 4-LUT (1-bit adder) (111), the sum-type 2-LUT (111) and the carry-type 2-LUT (112) are programmed to implement FA (Full-Adder) sum and carry functions, respectively, while the other two 2-LUTs (113, 114) are not used in an adder mode.
In Fig.4B, with both selection signals IN2 and IN3 being set to "0", MUX 115 (which corresponds to MUX 4 in Fig.3) of the first FA-type 4-LUT (111) selects a sum result S0 (output of FA sum 111), as the output thereof. MUX 115 (which corresponds to MUX 4 in Fig.3) of the second FA-type 4-LUT (112) selects a sum result S1 (output of FA sum 111), as the output thereof.
For each 1-bit adder, the carry out: Cout is equal to "1" in case of (Ai, Bi) = (1, 1), for i=0,1, and equal to "0" in case of (Ai, Bi) = (0, 0), while Cout is equal to carry input Cin in case of (Ai, Bi) = (1, 0) or (0, 1).
Therefore, a worst delay case is that both (A0 xor B0) =1 and (A1 xor B1) = 1, and Cin is propagated to Cout.
A delay time of 1-bit carry calculation in each FA-type 4-LUT (111, 112) is denoted as DCP, and a delay time of 1-bit sum calculation therein is denoted as DSUM. Critical path delay becomes
DCP + DSUM.
Fig.5 illustrates an N-bit adder implementation using logic blocks, each without a carry skip circuit. N is set to 8 as an example. Four cells are connected in serial to implement an 8-bit adder. The dotted line indicates the critical path and its delay is equal to 7*DCP + DSUM.
If it is necessary to implement an N-bit adder, the critical path delay becomes
(N-1)* DCP + DSUM.
This critical path delay may cause a serious problem in the FPGA when N is large.
Fig.6A illustrates a schematic view of a logic block 101A with a carry skip circuit according to the first example embodiment. As compared with the logic block 101 in Fig.2A, a carry skip circuit 14 is added to speed up carry signal propagation. The logic block 101 without a carry skip circuit as illustrated in Fig.2A and Fig.4A may be regarded as a related example embodiment.
The first and second FA-type 4-LUTs (11A1, 11A2) output respectively propagation control signals P0 and P1 that are supplied in parallel to the carry skip circuit 14. The carry in signal: Cin applied to the first FA-type 4-LUT (11A1) from a last cell (not shown) and the carry out signal: C1 of the second FA-type 4-LUT (11A2) are applied to the carry skip circuit 14.
Fig.6B schematically illustrates the circuit configuration of the FA-type 4-LUT (11A1). The FA-type 4-LUT (11A2) has the same configuration as the FA-type 4-LUT (11A1), except with two 1-bit inputs (A1, B1) supplied as an operand input bit pair, and C0 (carry out (Cout) from the FA-type 4-LUT (111)) supplied as carry in and with S1, C1 and P1 output as a sum, carry out signal and propagation control signal.
One of the 2-LUTs (113, 114) in the first FA-type 4-LUT (11A1) generates a propagation control signal P0. In the same manner, one of the 2-LUTs (113, 114) in the second FA-type 4-LUT (11A2) generates a propagation control signal P1. In Fig.6B, the 2-LUT (113) is programmed to generate the propagation control signal P0. One of the 2-LUTs (113,114) in the first and second FA-type 4-LUT (11A1,11A2) may be programmed to generate the propagation control signals P0 and P1, based on (A0 xor B0) and (A1 xor B1) for example, respectively, though not limited thereto.
The carry skip circuit 14 uses the propagation control signals P0 and P1 to select Cin or C1 as a carry out (also termed as a final carry out) Cout which is applied to a next cell (not shown). If both (A0 xor B0) = 1 and (A1 xor B1) = 1, the carry skip circuit 14 selects Cin as Cout, otherwise C1 as Cout.
The delay (DSK) of the carry skip circuit 14 is much smaller than DCP and DSUM.
Fig.7 illustrates an N-bit adder implementation using logic blocks with carry skip circuits as described with reference to Fig.6A. In Fig.7, the first FA-type 4-LUT (11A1) and the second FA-type 4-LUT (11A2) in Fig.6A, are denoted as LUT0 and LUT1, respectively, and N is also set to 8, as an example.
All the input operands (4 sets of two 1-bit operand input pairs):
(A0, B0) and (A1, B1),
(A2, B2) and (A3, B3),
(A4, B4) and (A5, B5), and
(A6, B6) and (A7, B7) are applied respectively to CELL0, CELL1, CELL2, and CELL3, in parallel, so that the propagation control signals:
(P00, P01), (P10, P11), (P20, P21), and (P30, P31) output respectively from LUT0 and LUT1 in CELL0, CELL1, CELL2, and CELL3 are generated simultaneously.
In Fig.7, a dotted line indicates a critical path when the following holds:
(A0 xor B0) =0 and (A1 xor B1)=1 in the CELL0,
(A2 xor B2)=1 and (A3 xor B3)=1 in the CELL1,
(A4 xor B4)=1 and (A5 xor B5)=1 in the CELL2, and
(A6 xor B6)=1, and (A7 xor B7)=1 in the CELL3.
In the CELL0, the first FA-type LUT0 generates a carry out C00 as "1" or "0", since (A0 xor B0)=0. The FA-type LUT1 propagates C00 to its carry out C01, since (A1 xor B1)=1. Then, the skip circuit 14 selects C01 as Cout0 which is applied to CELL1.
The critical delay in the CELL0 is 2*DCP + DSK.
In CELL1 or CELL2, a carry in signal is propagated to the next cell by the skip circuits 14, instead of FA-type LUTs (LUT0 and LUT1), so the delay is DSK.
In CELL3, a delay to generate a final sum signal SUM33, is
DCP+ DSUM.
As a result, the total critical path delay is
3*DCP + 3* DSK + DSUM, which is much smaller than the critical path delay:
7*DCP + DSUM of the 8-bit adder implementation using logic blocks 101 without carry skip circuits.
(Second example embodiment)
Next, a second example embodiment will be described. The present embodiment discloses a gate-level carry skip circuit.
Fig.8A illustrates a logic block with a carry skip circuit 14. Referring to Fig.8A, the carry skip circuit 14 includes an AND gate 141 and a MUX 142. The AND gate 141 receives as inputs the propagation control signals P0 and P1 to generate a select signal SEL that is supplied to the MUX 142 as a selection control signal. If the select signal is "1", then the MUX 142 selects Cin, else selects C1, as a carry out to a next cell (final carry out) Cout.
Fig.8B schematically illustrates the circuit configuration of the FA-type 4-LUT (11A1) in Fig. 8A. The FA-type 4-LUTs (11A1, 11A2) in Fig.8B are the same as those described with reference to Fig. 6B and thus the description thereof is omitted for brevity.
Fig.8C illustrates a transistor-level CMOS AND gate constructed by six transistors, wherein P-channel MOS transistors PM1 and PM2 and N-channel MOS transistors NM1 and NM2 compose a CMOS NAND gate which is followed by a CMOS inverter including a P-channel MOS transistor PM3 and a N-channel MOS transistor NM3. Only when both IN0 and IN1 are "1", OUT is "1", otherwise "0". That is, when both IN0 and IN1 are "1"(at high level), NM1 and NM2 with gates supplied with a high level are turned on (while PM1 and PM2 with gates supplied with a high level are turned off), to supply a low level to a gate of PM3, which is turned on (while NM3 is turned off), thus setting OUT to a high level.
Fig.9A illustrates implementation of a 2-bit adder in a logic block 101A with a carry skip circuit 14 according to the present embodiment. The operand input bit pairs (A0, B0) and (A1, B1) are applied respectively to the first and second FA-type 4-LUTs (11A1, 11A2) in parallel. Each FA-type 4-LUT (11A1, 11A2) is programmed to implement 1-bit adder. A carry in (Cin) signal from the last cell is applied to a first FA-type 4-LUT (11A1) to implement the first 1- bit adder and its carry out signal C0 is applied to a second FA-type 4-LUT (11A2) to implement the second 1-bit adder.
In each of the first and second FA-type 4-LUTs (11A1, 11A2), the sum-type 2-LUT (111) and carry type 2-LUT (112) are programmed to implement FA (Full adder) sum and carry functions, respectively. The 2-LUT (113) of the first FA-type 4-LUT (11A1) is programmed to implement an exclusive OR (xor) function of the operand input bit pair (A0, B0) to have an output P0 (= (A0 xor B0)) connected to a first input terminal of the AND gate 141. The 2-LUT (113) of the second FA-type 4-LUT (11A2) is programmed to implement an exclusive OR (xor) function of the operand input bit pair (A1, B1) to have an output P1 (= A1 xor B1) connected to a second input terminal of the AND gate 141.
When both IN2 and IN3 are set to "0", the MUXs 115 in the first and second FA-type 4-LUTs (11A1, 11A2) select sum results S0 and S1, as outputs, respectively. If the propagation control signals P0 and P1 are both "1", the AND gate 141 outputs "1", as the select signal SEL and the MUX 142 selects Cin, as Cout to a next cell (not shown). The exclusive OR (xor) function can be programed in the 2-LUT (113) of the first and second FA-type 4-LUTs (11A1, 11A2), by setting the memories M9 and M12 to a Gnd state and setting the memories M10 and M11 to a Vdd state in Fig.3 and an output signal (OUTIM3) of MUX 2 in Fig.3 may be taken out as the propagation control signals P0 and P1.
The sum-type 2-LUT (111) may include, with reference to Fig.3, a 4:1 multiplexer (MUX0) that selects, as SUM, one of four input terminals (V1-V4), based on the operand input bit pair (two 1-bit inputs) (A, B). Four first wires arranged in the first direction (vertical direction) are coupled respectively to a power line: Vdd, a ground line: Gnd, a carry in line: Cin and an inverse carry in line: ~Cin one-to-one. The four second wires arranged in the second direction (horizontal direction) are coupled to the four input terminals (V1-V4) of the 4:1 multiplexer (MUX) one to one. The first wires are connected through NVSCs to corresponding ones of the second wires. The NVSCs may include a transistor and at least one non-volatile resistive switch that has two variable states of "ON" and "OFF".
The carry-type 2-LUT (112) may include, with reference to Fig.3, a 4:1 multiplexer (MUX1) that selects, as Cout, one of four input terminals (V5-V8), based on the two 1-bit inputs (A, B). Three first wires arranged in the first direction (vertical direction) are coupled to the power line: Vdd, the ground line: Gnd and a carry in line: Cin one-to-one. Four second wires arranged in the second direction (horizontal direction) are coupled to the four input terminals (V5-V8) of the 4:1 multiplexer (MUX1) one to one. The first wires are connected through NVSCs to corresponding ones of the second wires.
The 2-LUTs (113) may include, with reference to Fig.3, a 4:1 multiplexer (MUX2) that selects, one of four input terminals (V5-V8), based on the two 1-bit inputs (A, B). The two first wires arranged in the first direction (vertical direction) are coupled to a power line: Vdd and a ground line: Gnd one-to-one. Four second wires arranged in the second direction (horizontal direction) are coupled to the four inputs (V9-V12) of the 4:1 multiplexer (MUX2) one to one. The first wires are connected through NVSCs to corresponding ones of the second wires.
Fig.10 illustrates a logic block 101A with first to fourth FA-type 4-LUTs (11A1~11A4) according to the present embodiment. Each FA-type 4-LUT (11A1~11A4) may have a configuration as described with reference to Fig. 9B, for example. A 4-bit adder can be implemented in the logic block 101A. The first to fourth FA-type 4-LUTs (11A1~11A4) generate first to fourth propagation control signals P0, P1, P2 and P3, respectively. They are applied to a 4-input AND gate 141 to generate a select signal SEL which controls a 2:1 MUX 142. When the select signal SEL is "1", i.e., the first to fourth propagation control signals P0, P1, P2 and P3 are all "1", the MUX 142 selects the carry in signal Cin, else select a carry out signal C3 from the FA-type 4-LUT3 (11A4), as a carry out signal (final carry out signal) to a next cell (now shown) Cout.
Fig.11 illustrates an N-bit adder implemented by multiple cells, each of which is provided with the four FA-type 4 LUTs described with reference to Fig.10. N is set to 16 as an example. The dotted line indicates the critical path.
The critical path delay is:
7*DCP + 3* DSK+ DSUM
which is much smaller than the critical path delay:
15*DCP + DSUM of the 16-bit adder implementation using logic blocks without carry skip circuits.
Fig.12 illustrates delay time comparison between N-bit adders implemented by cells with and without carry skip circuit according to the present example embodiment. The delay time is simulated by HSPICE based on 28nm (nanometer) CMOS/NB hybrid process. When the N is 32, speed is improved by 2.28 times by using the skip circuit 14.
(Third example embodiment)
Next, a third example embodiment will be described. The present embodiment discloses another gate-level carry skip circuit. Fig.13A illustrates a logic block 101B with a carry skip circuit 14 using a NOR gate 143 and a MUX 142 according to the third example embodiment.
The propagation control signals P0 and P1 from FA-type 4-LUT (11B1, 11A2) are applied to a NOR gate 143 to generate output a select signal SEL which controls a MUX 142 to select Cin or C1 as the carry out Cout.
Fig. 13B schematically illustrates the circuit configuration of the FA-type 4-LUT (11B1). The FA-type 4-LUT (11B2) has the same configuration as the FA-type 4-LUT (11B1), except with two 1-bit inputs (A1, B1) supplied as an operand input bit pair, and C0 (carry out (Cout) from the FA-type 4-LUT (11B1)) supplied as carry in (Cin) and with S1, C1, and P1 output as a sum, carry out signal and propagation control signal.
One of the 2-LUTs (113, 114) in the first FA-type 4-LUT (11B1) generates a propagation control signal P0. In the same manner, one of the 2-LUTs (113, 114) in the second FA-type 4-LUT (11B2) generates a propagation control signal P1. In Fig.13B, the 2-LUT (113) is programmed to generate the propagation control signal P0. One of the 2-LUTs (113,114) in the first and second FA-type 4-LUT (11B1, 11B2) may be programmed to generate the propagation control signals P0 and P1, based on (A0 xnor B0) and (A1 xnor B1) for example, respectively, though not limited thereto.
Fig.13C illustrates a transistor-level CMOS NOR gate 143 constructed by four transistors (two p-channel MOS transistors PM1 and PM2 and two n-channel MOS transistors NM1 and NM2). Only when both IN0 and IN1 are both "0", OUT is "1", otherwise OUT is "0". That is, when both IN0 and IN1 are "0"(at low level), PM1 and PM2 with gates supplied with a low level are turned on (while NM1 and NM2 with gates supplied with a high level are turned off), to set OUT to a high level.
Fig.14A illustrates implementation of a 2-bit adder in a logic block 101B with a carry skip circuit according to the present embodiment. The operand input bit pairs (A0, B0) and (A1, B1) are applied to the two FA-type 4-LUTs (11B1, 11B2), in parallel. Each of the FA-type 4-LUTs (11B1, 11B2), is programmed to implement 1-bit adder. A carry in (Cin) signal from a last cell (not shown) is applied to the first FA-type 4-LUT (11B1) to implement the first 1-bit adder and its carry out signal C0 is applied to the second FA-type 4-LUT (11B1) to implement the second 1-bit adder.
As illustrated in Fig.14B, in each of the FA-type 4-LUTs (11B1, 11B2), the sum-type and carry type 2-LUTs (111,112) are programmed to implement FA sum and carry functions, respectively. The 2-LUTs (113) with the propagation control signals P0 and P1 in the FA-type 4-LUTs (11B1, 11B2) are programmed to implement exclusive NOR (XNOR) function of the operand input bit pairs (A0, B0) and (A1, B1), respectively. In the FA-type 4-LUTs (11B1, 11B2), both the IN2 and IN3 are set to "0" to select sum result S0 and S1 as the outputs of the first and second FA-type 4-LUTs (11B1 and 11B2). In the FA-type 4-LUTs (11B1, 11B2), when the propagation control signals P0 and P1 are both "0", the NOR gate 143 outputs "1" as the selection signal SEL to cause the MUX 142 to select Cin as a carry out to a next cell (final carry out) Cout.
The exclusive NOR (XNOR) function can be programed in the 2-LUT (113) of the first and second FA-type 4-LUTs (11B1, 11B2), by setting the memories M9 and M12 to a Vdd state and setting the memories M10 and M11 to a Gnd state in Fig.3 and an output signal (OUTIM3) of MUX 2 in Fig.3 is taken out as P0 and P1.
The 2-LUTs (113) may include, with reference to Fig.3, a 4:1 multiplexer (MUX2) that selects, one of four input terminals (V5-V8), based on the operand input bit pair (A,B). The two second wires are coupled to a power line: Vdd and a ground line: Gnd one-to-one. Four first wires coupled to the four inputs (V9-V12) of the 4:1 multiplexer (MUX2) one to one. The first wires are connected through NVSCs to corresponding ones of the second wires.
The reconfigurable circuits of the above example embodiments may be used in, for example, mobile phone, IoT (Internet of Things) devices, and so on.
The disclosure of the aforementioned Patent Literatures1-4 and Non-Patent Literatures 1-2 is incorporated by reference herein. The particular example embodiments or examples may be modified or adjusted within the scope of the entire disclosure of the present invention, inclusive of claims, based on the fundamental technical concept of the invention. In addition, a variety of combinations or selections of elements disclosed herein may be used within the concept of the claims. That is, the present invention may encompass a wide variety of modifications or corrections that may occur to those skilled in the art in accordance with the entire disclosure of the present invention, inclusive of claims and the technical concept of the present invention.
1 Cell array
10 Cell
111, 112, 11A1 - 11A4, 11B1 - 11B4 FA-type 4-LUT
121,122 D-FF
131,132 MUX
14 Skip circuit
101,101A, 101B Logic block
102 Routing block
103 NVSC
111 Sum-type 2-LUT
112 Carry-type 2-LUT
113 2-LUT
114 2-LUT
115 MUX
141 AND gate
142 MUX
143 NOR gate

Claims (10)

  1. A semiconductor apparatus comprising
    a reconfigurable circuit comprising:
    a carry skip circuit;
    first to M-th logic elements, where M is an integer of 2 or more, each of the logic elements comprising:
    a first programmable circuit that is able to be programmed to implement a 2-input logic function or a full-adder sum function to output a sum of two 1-bit inputs and a carry in;
    a second programmable circuit that is able to be programmed to implement a 2-input logic function or a full-adder carry function to output a carry out based on the two 1-bit inputs and the carry in; and
    a third programmable circuit that is able to be programmed to implement 2-input logic function,
    wherein the carry out output from i-th logic element is supplied as the carry in to (i+1)-th logic element, where i is an integer from 1 to M-1,
    each of the first to M-th logic elements, based on the two 1-bit inputs supplied thereto, generates a propagation control signal, and
    wherein the carry skip circuit receives first to M-th propagation control signals output in parallel from the first to M-th logic elements, respectively, to select, as a final carry out signal, one of a carry in signal supplied to the first logic element and a carry out signal output from the M-th logic element, based on a combination of values of the first to M-th propagation control signals.
  2. The semiconductor apparatus according to claim 1, wherein the carry skip circuit includes:
    a logic gate that receives the first to M-th propagation control signals to output a selection signal of a first logic value, when the first to M-th propagation control signals take a predetermined combination of logic values and otherwise output the selection signal of a second logic value; and
    a 2:1 multiplexor that receives, as inputs, the carry in signal supplied to the first logic element and the carry out signal output from the M-th logic element and selects the carry in signal supplied to the first logic element if the selection signal is of the first logic value, while selecting the carry out signal output from the M-th logic element if the selection signal is of the second logic value, to output the selected signal.
  3. The semiconductor apparatus according to claim 2, wherein the first programmable circuit further comprising:
    a 4:1 multiplexer that selects, as a sum, one of four signals applied one to one to four input terminals thereof, based on the two 1-bit inputs;
    four first wires coupled respectively to a power line, a ground line, a carry in line and an inverse carry in line one-to-one;
    four second wires coupled to the four input terminals of the 4:1 multiplexer one to one;
    a plurality of switch cells through which the first wires are connected to corresponding ones of the second wires, wherein each of the switch cells include a transistor and at least one non-volatile resistive switch that has two variable states of "ON" and "OFF".
  4. The semiconductor apparatus according to claim 2 or 3, wherein the second programmable circuit further comprising:
    a 4:1 multiplexer that selects, as a carry out, one of four signals applied one to one to four input terminals thereof, based on the two 1-bit inputs;
    three first wires coupled to a power line, a ground line and a carry in line one-to-one;
    four wires coupled to the four input terminals of the 4:1 multiplexer one to one; and
    a plurality of switch cells through which the first wires are connected to corresponding ones of the second wires, wherein each of the switch cells include a transistor and at least one non-volatile resistive switch that has two variable states of "ON" and "OFF".
  5. The semiconductor apparatus according to any one of claims 2 to 4, wherein the third programmable circuit further comprising:
    a 4:1 multiplexer that selects one of four signals applied one to one to four input terminals thereof, based on the two 1-bit inputs;
    two first wires coupled to a power line and a ground line one-to-one;
    four second wires coupled to the four inputs of the 4:1 multiplexer one to one; and
    a plurality of switch cells through which the first wires are connected to corresponding ones of the second wires, wherein each of the switch cells includes a transistor and at least one non-volatile resistive switch that has two variable states of "ON" and "OFF".
  6. The semiconductor apparatus according to any one of claims 2 to 5, wherein in the carry skip circuit, the logic gate is an AND gate that outputs a result of taking a logical AND of the first to M-th propagation control signals, as the selection signal, and wherein
    the first programmable circuit is programmed to implement 1-bit full-adder sum function to output a sum of two 1-bit inputs and the carry in,
    the second programmable circuit is programmed to implement 1-bit full-adder carry function to output a carry out generated based on the two 1-bit inputs and the carry in, and
    the third programmable circuit is programmed to implement 2-input exclusive OR function of the two 1-bit inputs to output a result of the exclusive OR, as the propagation control signal.
  7. The semiconductor apparatus according to any one of claims 2 to 5, wherein in the carry skip circuit, the logic gate is a NOR gate that outputs a result of taking a logical NOR of the first to M-th propagation control signals, as the selection signal, and wherein
    the first programmable circuit is programmed to implement 1-bit full-adder sum function to output a sum of two 1-bit inputs and the carry in,
    the second programmable circuit is programmed to implement 1-bit full-adder carry function to output a carry out generated based on the two 1-bit inputs and the carry in, and
    the third programmable circuit is programmed to implement 2-input exclusive NOR function of the two 1-bit inputs to output a result of the exclusive NOR, as the propagation control signal.
  8. The semiconductor apparatus according to any one of claims 3 to 5, wherein the non-volatile resistive switch comprises a metal oxide resistance change element or a solid electrolyte resistance change element.
  9. A method to utilize the reconfigurable circuit included in the semiconductor apparatus according to claim 6, the method comprising:
    configuring the first programmable circuit in each logic element to implement a full-adder sum function;
    configuring the second programmable circuit in each logic element to implement a full-adder carry function; and
    configuring the third programmable circuit in each logic element to implement a 2-input exclusive OR function.
  10. A method to utilize the reconfigurable circuit included in the semiconductor apparatus according to claim 7, the method comprising:
    configuring the first programmable circuit in each logic element to implement a full-adder sum function;
    configuring the second programmable circuit in each logic element to implement a full-adder carry function; and
    configuring the third programmable circuit in each logic element to implement a 2-input exclusive NOR function.

PCT/JP2018/041043 2018-11-05 2018-11-05 Reconfigurable circuit WO2020095347A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/041043 WO2020095347A1 (en) 2018-11-05 2018-11-05 Reconfigurable circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/041043 WO2020095347A1 (en) 2018-11-05 2018-11-05 Reconfigurable circuit

Publications (1)

Publication Number Publication Date
WO2020095347A1 true WO2020095347A1 (en) 2020-05-14

Family

ID=70611880

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/041043 WO2020095347A1 (en) 2018-11-05 2018-11-05 Reconfigurable circuit

Country Status (1)

Country Link
WO (1) WO2020095347A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7663400B1 (en) * 2007-12-21 2010-02-16 Actel Corporation Flexible carry scheme for field programmable gate arrays
WO2011162116A1 (en) * 2010-06-24 2011-12-29 太陽誘電株式会社 Semiconductor device
JP2017538347A (en) * 2015-01-21 2017-12-21 日本電気株式会社 Reconfigurable circuit and method of using the same

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7663400B1 (en) * 2007-12-21 2010-02-16 Actel Corporation Flexible carry scheme for field programmable gate arrays
WO2011162116A1 (en) * 2010-06-24 2011-12-29 太陽誘電株式会社 Semiconductor device
JP2017538347A (en) * 2015-01-21 2017-12-21 日本電気株式会社 Reconfigurable circuit and method of using the same

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BAI, XU ET AL.: "Area-efficient nonvolatile carry chain based on pass-transistor/atom-switch hybrid logic", JAPANESE JOURNAL OF APPLIED PHYSICS, vol. 55, 1 March 2016 (2016-03-01), pages 1 - 5, XP055704822, ISSN: 0021-4922, DOI: 10.7567/JJAP.55.04EF01 *

Similar Documents

Publication Publication Date Title
US6188240B1 (en) Programmable function block
US7075827B2 (en) Function reconfigurable semiconductor device and integrated circuit configuring the semiconductor device
JP3613396B2 (en) Function block
US8773167B2 (en) Implementing logic circuits with memristors
US5546018A (en) Fast carry structure with synchronous input
US7656190B2 (en) Incrementer based on carry chain compression
US20050218929A1 (en) Field programmable gate array logic cell and its derivatives
US10027326B2 (en) Reconfigurable circuit
US7336097B2 (en) Look-up table structure with embedded carry logic
Ho et al. Configurable memristive logic block for memristive-based FPGA architectures
Mahajan et al. Memristor based adders
Junsangsri et al. Logic-in-memory with a nonvolatile programmable metallization cell
CN110007897B (en) Logic gate based on resistive random access memory, logic circuit and calculation method
US10396798B2 (en) Reconfigurable circuit
WO2020095347A1 (en) Reconfigurable circuit
KR20180116117A (en) Logic block architecture for programmable gate array
US11354098B2 (en) Configurable non-volatile arithmetic memory operators
Rahman et al. Memristor based 8-bit iterative full adder with space-time notation and sneak-path protection
JP6908120B2 (en) Logic integrated circuit
US10720925B2 (en) Integrated circuit
US10075168B2 (en) Configurable computing array comprising three-dimensional writable memory
US10116312B2 (en) Configurable gate array based on three-dimensional writable memory
JP6795103B2 (en) Reconfigurable circuit with non-volatile resistance switch
JP2007226944A (en) Semiconductor memory and semiconductor integrated circuit
Yang et al. Functionally complete boolean logic and adder design based on 2T2R RRAMs for post-CMOS in-memory computing

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: 18939354

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18939354

Country of ref document: EP

Kind code of ref document: A1