WO2005008893A1 - 半導体集積回路 - Google Patents

半導体集積回路 Download PDF

Info

Publication number
WO2005008893A1
WO2005008893A1 PCT/JP2003/009030 JP0309030W WO2005008893A1 WO 2005008893 A1 WO2005008893 A1 WO 2005008893A1 JP 0309030 W JP0309030 W JP 0309030W WO 2005008893 A1 WO2005008893 A1 WO 2005008893A1
Authority
WO
WIPO (PCT)
Prior art keywords
memory block
input
data
logic
address
Prior art date
Application number
PCT/JP2003/009030
Other languages
English (en)
French (fr)
Other versions
WO2005008893A8 (ja
Inventor
Masayuki Sato
Original Assignee
Innotech 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 Innotech Corporation filed Critical Innotech Corporation
Priority to AU2003248073A priority Critical patent/AU2003248073A1/en
Priority to JP2005504364A priority patent/JP4334541B2/ja
Priority to PCT/JP2003/009030 priority patent/WO2005008893A1/ja
Publication of WO2005008893A1 publication Critical patent/WO2005008893A1/ja
Publication of WO2005008893A8 publication Critical patent/WO2005008893A8/ja

Links

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/17748Structural details of configuration resources
    • H03K19/1776Structural details of configuration resources for memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1075Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for multiport memories each having random access ports and serial ports, e.g. video RAM

Definitions

  • the present invention relates to a semiconductor integrated circuit composed of a plurality of memory blocks that can program arbitrary logic.
  • a field-programmable gate is a general-purpose logic IC that can implement various logic configurations by electronically programming (writing) the circuit inside the IC in the field after the completion of IC manufacturing.
  • Array is known.
  • the FPGA 100 is composed of a plurality of variable logic blocks CLB 101 that can be configured with arbitrary logic, and a wiring group that connects each logical block CLB 101. It comprises a switch circuit 102 for switching the connection state to a programmable state.
  • the variable logic block CLB 101 temporarily stores LUT (Look Up Table) 101 a, which is a block representing a combinational logic circuit, and temporarily stores logic information. It consists of a flip-flop (FF) 101 b that is stored and held.
  • FF flip-flop
  • a small SRAM Static Random Access Memory
  • the switch circuit 102 is formed by connecting an SRAM 102 b storing 1-bit information to the gate electrode of the MOS switch 102 a as shown in FIG. 25 (C). .
  • the on-Zob of the MOS switch 102a indicates the information (“0” or less) stored in the SRAM 102b. Or “1").
  • the FPGA 100 configured in this way is called an "SRAM-based FPGA.”
  • the FPGA 100 is a logic IC that can programmatically configure logic using the CLB 101 and the switch circuit 102 as constituent elements.
  • the user of the FPGA 100 first describes a desired logic function to be realized in HDL (Hardware Description Language), and describes this description by using a program called a theoretical value synthesis tool.
  • the data is converted to design data at the logic gate level, which represents the value and the ON / OFF information of the switch circuit 102. Then, by writing this design data to the FPGA 100 in a field, the logical function is configured on the FPGA 100.
  • HDL Hardware Description Language
  • the present inventors use a memory block (memory circuit) having a configuration similar to general-purpose memory such as SRAM and DRAM (Dynamic Random Access Memory) as a technique different from the above-mentioned FPGA, Logic data can be stored in a memory block so that the relationship between the block address input and the data output corresponds to the desired relationship between the input and output of the logic circuit.
  • a technology relating to a device capable of programming a device is proposed, which is disclosed, for example, in International Publication WO / 52739 or Japanese Patent Application Laid-Open Publication No. 2000-149930. You. According to this technology, the device configuration is simple, and a circuit having a desired logic function can be easily obtained by writing logic data for realizing a desired logic function into a memory block. Development time is greatly reduced.
  • the logic block CLB 101 of the FPGA 100 is configured by a memory block.
  • a switch circuit for switching the connection state of the wiring group is required. Therefore, as the circuit becomes larger, the storage capacity and the occupied area of the storage circuit included in the switch circuit for storing on / off information increase.
  • the area for storing the combinational logic and the area for storing the connection states of the combinational logics are separately configured, logical data cannot be efficiently stored. Disclosure of the invention
  • the present invention provides a semiconductor integrated circuit constituted by flexible variable logic cells in which there is no distinction between logic blocks and switch circuits.
  • a semiconductor integrated circuit comprises: a plurality of memory blocks formed for each region surrounded by a plurality of sides; a plurality of address input terminals provided for each of the sides; At least one address input terminal of the first side between an input / output terminal and a second memory block adjacent to a first side of the first memory block of the plurality of memory blocks; Connected to a data input / output terminal on the opposite side of the second memory block, and at least one data input / output terminal on the first side is connected to an address input terminal on the opposite side of the second memory block.
  • a logic circuit is constituted by connecting means for connection and
  • the memory block logically converts a relationship between an internal address signal input to the address input terminal and an internal data signal output from the data input / output terminal, based on data written in advance by an external device. It is characterized by doing.
  • the memory block operates as a switch circuit. ⁇ .
  • the memory block operates as a combinational logic circuit.
  • the plurality of memory blocks are characterized by forming a feedback path by a part thereof to operate as a sequential logic circuit as a whole.
  • connection means may further include a selector for selectively switching and inputting an external input address signal and an external input data signal sent from an external device to the memory block.
  • the connection means may further include a shift register for serially inputting an external input address signal and an external input data signal sent from an external device to the memory block by a shift operation via a scan path.
  • the shiftable resists are connected in series by the scan path.
  • a defective bit in each of the memory blocks is detected via the scan path.
  • connection means returns an internal data signal output from a data input / output terminal of the first memory block to its own address input terminal, or transmits the internal data signal to an adjacent second memory block.
  • a multiplexer that enables selection of whether to transfer data to a network may be further provided.
  • a logic mounted on the memory block is provided. It is preferable to perform compression
  • Each of the memory blocks may be a triangle surrounded by three sides.
  • Each of the memory blocks further includes an upper surface and a lower surface provided with a plurality of address input terminals and a data input / output terminal, and the connection means connects the address input terminal on the upper surface of the first memory block to the upper surface.
  • the data input / output terminal on the lower surface of the memory block adjacent to the first memory block is connected to the address input terminal on the lower surface of the memory block adjacent to the upper surface of the first memory block.
  • FIG. 1 is a diagram showing a configuration of a variable logic cell
  • FIGS. 2 (A) and (B) are circuit diagrams illustrating the configuration and operation of the data selector.
  • FIGS. 3A and 3B are circuit diagrams illustrating the configuration and operation of the address selector.
  • FIG. 4 is a diagram showing truth values of the tri-state buffer
  • FIG. 5 is a diagram showing variable logic cells two-dimensionally arranged in a matrix.
  • FIG. 6 is a diagram showing connection means between adjacent variable logic cells
  • FIG. 7 is a diagram showing an example of logic data to be stored in a memory block to configure a switch circuit
  • FIG. 8 is a diagram showing an example of logical data to be stored in a memory block to form a combinational logic circuit.
  • FIG. 9 is a diagram showing the configuration of the second variable logic cell
  • FIG. 10 is a circuit diagram showing the configuration of a shiftable register.
  • FIG. 11 is a circuit diagram showing a configuration of a variable logic LSI for implementing a desired logic function. It is a flowchart explaining a procedure,
  • FIG. 12 is a diagram showing a configuration of a third variable logic cell
  • FIG. 13 is a circuit diagram showing a configuration of a multiplexer
  • FIG. 14 (A) is a circuit having two logic stages.
  • FIG. 14 (B) is a diagram showing an example of logical data to be stored in a memory block in order to configure the circuit of FIG. 14 (A).
  • FIG. 15 is a diagram showing a configuration of a fourth variable logic cell
  • FIG. 16 (A) is a diagram showing an example of a four-input, one-output circuit
  • FIG. 16 (B) is a diagram of FIG.
  • FIG. 16 is a diagram showing an example of logical data to be stored in a memory block to configure the circuit of FIG. 16A
  • FIG. 17 is a diagram showing a configuration of a fifth variable logic cell
  • Figure 18 shows an image where the two-dimensional first-source memory logical space is compressed.
  • FIG. 19 is a diagram showing another example of the terminal arrangement of the memory block.
  • FIG. 20 (A) is a diagram showing a triangular memory block
  • FIG. 20 (B) is a triangular variable logic cell.
  • FIG. 3 is a diagram showing a two-dimensional plane in which
  • FIG. 21 (A) is a diagram showing a memory block in which terminals are arranged on the upper and lower surfaces
  • FIG. 21 (B) is a diagram showing a state in which variable logic cells are arranged three-dimensionally.
  • FIG. 22 is a diagram showing a vertical cross section of a variable logic cell arranged three-dimensionally.
  • FIG. 23 is a flowchart illustrating a test of SOC
  • FIG. 24 is a diagram illustrating a configuration of SOC.
  • Fig. 25 (A) to (C) are diagrams showing the configuration of the FPGA. BEST MODE FOR CARRYING OUT THE INVENTION
  • a variable logic cell 10 has a rectangular memory block 11 formed in an area surrounded by four sides 12 a to l 2 d, and four sides 12 a to 12 d of the memory block 11 1
  • a data selector (DSEL) 16a to 16d for switching the input and output of data signals to and from the memory block 11 and a memory selector arranged outside the DSEL 16a to 16d
  • An address selector (ASEL) 17a to 17d for selecting the input of the address signal to block 11 and wiring between DSEL 16a to 16d and ASEL 17a to 17d
  • External data bus 13 for supplying external input data signals ed0 to edl1 to DSEL 16a to 16d
  • DSEL 16a to 16d and ASEL 17 external address bus 14 for supplying external input address signals ea 0 to ea 11 to ASEL 17 a to 17 d Consisting of.
  • the memory block 11 is a known SRAM in which a plurality of memory cell transistors are arranged in a matrix and a plurality of word lines and a plurality of bit lines are arranged in a lattice. And a sense amplifier circuit for amplifying the potential read from the memory cell transistor to the bit line.
  • the decoder circuit may be configured using a logic circuit such as a wired AND wired OR composed of wiring to reduce the circuit scale.
  • Memory block 1 1 has 12 address input terminals AO to A 1 1 and 12 data input / output terminals D 0 to D 11 are provided. Address input terminals and data input / output terminals are mixed on each side, and A 0, DO, A l, D 1, A 2, D 2,..., A ll, D ll are arranged so as to be alternately arranged. Terminals A0 to A2 and terminals D0 to D2 are on side 12a, terminals A3 to A5 and terminals D3 to D5 are on side 12b, and side 12c is Terminals A6 to A8 and terminals D6 to D8 are arranged, and terminals A9 to A11 and terminals D9 to D11 are arranged on side 12d.
  • the number of the address input terminals and the number of the data input / output terminals are 12 each, the number is arbitrary, and may be, for example, 8 or 16 respectively.
  • the memory block 11 is not limited to the SRAM, and a memory such as a DRAM may be used.
  • DSEL 16a outputs the external input data signal ed0 to ed2 input from the external data bus 13 to the memory block 11 or if ⁇ is input from the memory block 11
  • the internal data signals id 0 to id 2 are output in a direction away from the memory block 11. 7, the same applies to the other DSEL 16b to 16d, and the signal line 15 is wired so as to connect the DSEL 16a to 16d in series.
  • the switching signal TS is input to each of the DSEL 16a to 16d via the.
  • the ASEL 17 a outputs the external input address signals ea 0 to ea 2 input from the external address bus 14 to the memory block 11, or outputs the internal address signal ia sent from another memory block 11. Outputs 0 to ia2 to memory block 11 1.
  • the signal line 15 is also wired so as to connect the ASELs 17a to 17d in series, and the switching signal TS is applied to each A through the signal line 15. Input to SEL 17 a to l 7 d.
  • FIGS. 2 (A) and 2 (B) are diagrams for explaining the configuration and function of DSEL16a, and show only a portion connected to the input / output terminal D0.
  • DSEL 16a has tristate buffers (TRB UF) 18a and 18b for one terminal DO, and a flip-flop (FF) 18c is connected to the output of TRB UF 18a. It is connected.
  • TRB UF 18a and 18b are the truth values shown in Fig. 4. It is a logic circuit that takes The switching signal TS is input to the TRBUF 18a as the "enable" signal in FIG.
  • FIG. 2 (A) shows a case where the switching signal TS is "0", and "0" is input to the TRBUF 18a and "1" is input as the "enable” signal to the TRBUF 18b. Only TRBUF 18 b input / output is valid. At this time, the external input data signal edO input from the external data bus 13 to the DSEL16a is input to the data input / output terminal D0 of the memory block 11 via the TRBUF18b.
  • FIG. 2 (B) shows the case where the switching signal TS is "1", and "1" is input to TRBUF 18a and "0" is input to TRBUF 18b as an "enable” signal. , TRB UF 18 a Only becomes effective. At this time, the internal data signal id 0 output from the memory block 11 and input to the DSEL 16
  • FIGS. 3 (A) and 3 (B) are diagrams for explaining the configuration and function of ASEL17a, and show only a portion connected to the address input terminal A0.
  • ASEL 17a has a tri-state buffer (TRB UF) 19a, 19b for one terminal AO, and a flip-flop (FF) 19 at the output of TRBUF 19a, 19b. c is connected.
  • TRB UF tri-state buffer
  • FF flip-flop
  • the FF 19c temporarily holds data, but this is not essential and may not be provided.
  • the TRB UFs 19a and 19b are also logic circuits that take the truth values shown in FIG.
  • the switching signal TS is input to the TRBUF 19 a as an “enab le” signal, and the inverted signal of the switching signal TS is input to the TRBUF 19 b as an “enable” signal.
  • FIG. 3 (A) shows a case where the switching signal TS is "0", and "0" is input to the TRBUF 19a and "1" is input as the "enable” signal to the TRBUF 19b. Only the input and output of TRBUF 19 b are valid. At this time, the external input address signal e a0 input from the external address bus 14 to the ASEL 17 a changes to TR B U F 1
  • FIG. 3 (B) shows a case where the switching signal TS is “1”, and “1” is input to TBUF 19a and “0” is input to TRBUF 19b as an “enable” signal. Only the input and output of TRB UF 19a are valid.
  • the internal address signal ia0 input from the adjacent memory block 11 described later is latched by the FF 19c via the TRBUF 19a and input to the address input terminal AO of the memory block 11 You.
  • the logic of the switching signal TS is reversed from the above, and when the switching signal TS is "1", the external input data signals ea0 to ea11 and the external input address signals ea0 to ea11 are selected.
  • FIG. 5 shows a variable logic LSI configured by arranging the variable logic cells 10 configured as described above in a two-dimensional matrix on a plane and connecting adjacent variable logic cells 10 to each other. (Semiconductor integrated circuit).
  • the external address bus 14 is commonly connected to each memory block 11, while the external data bus 13 is independently connected to each memory block 11.
  • the data input / output terminals D0 to D2 of the side 12a of a certain memory block 11 are connected to the address input terminals A8 to A6 of the side 12c of the adjacent memory block 11 by DSEL. 16a and ASEL 17c respectively.
  • the switching signal TS is "1"
  • the internal data signals id0 to id2 output from the data input / output terminals D0 to D2 via the DSEL 16a are connected to the adjacent memory block 1
  • the internal address signals ia8 to ia6 are input to the address input terminals A8 to A6 via the ASEL 17c, respectively.
  • the data input / output terminals D 6 to D 8 of the side 12 c of a certain memory block 11 are connected to the address input terminals A 2 to A 0 of the side 12 a of the adjacent memory block 11, and DSEL 16. Connected via C and ASEL 17a respectively.
  • the switching signal TS is “1”
  • the internal data signals id 6 to id 8 output from the data input / output terminals D 6 to D 8 via the DSEL 16 C are connected to the adjacent memory block 11 1
  • the internal address signals ia2 to ia0 are input to the address input terminals A2 to A0 via the ASEL 17a, respectively.
  • connection means between the vertically adjacent memory blocks 11 and the data input / output terminals D3 to D5 on the side 12b are connected to the side 12d of the adjacent memory block 11
  • Address input terminals A11 to A9 are connected via DSEL16b and ASEL17d, respectively, and internal data signals id3 to id5 specify the address of the adjacent memory block 11 respectively.
  • the data input / output terminals D 9 to D 11 on the side 12 d are connected to the address input terminals A 5 to A 3 on the side 12 b of the adjacent memory block 11, and DSEL 16 d and ASEL 17 b, the internal data signals id9 to id11 are internal address signals ia5 to ia3 for addressing the adjacent memory block 11, respectively.
  • the address input terminal of one memory block 11 is connected to the other memory block 1 at two opposing sides 12 a, 12 c or 12 b, 12 d of two adjacent memory blocks 11. Connected to 1 data input / output terminal.
  • Fig. 7 shows the logic input to the memory block 11 and the address input terminals A0 to A11 and data input / output to make the variable logic cell 10 function as a switch circuit (connection converter).
  • An example of the logic of a signal given to terminals D0 to D11 is shown.
  • This writing is controlled by an external device such as a personal computer (not shown) connected to the external data bus 13, the external address bus 14, and the signal line 15.
  • the switching signal TS is set to "0"
  • the external input address signals ea0 to ea11 1 and the external input data signals ed0 to ed11 become the address input terminals A0 to All.
  • signals having the same logic as the terminals AO to A2 are supplied to the terminals D3 to D5.
  • "X" in the figure means that the logic may be either “0” or "1”, and the logic given to the terminals D0 to D2 and D6 to D11 is arbitrary. is there.
  • variable logic cell 10 functions as a switch circuit that can switch the flow of a signal based on the logic data stored in the memory block 11.
  • FIG. 8 shows address input terminals A 0 to A 11 and data input / output terminals D 0 to D 1 in order to write logic data to the memory block 11 and to make the variable logic cell 10 function as a combinational logic circuit.
  • the write control is the same as above.
  • the logical product (AND) of the logic of the terminals A 0 and A 1 is given to the terminal D 6
  • the logical sum (AND) of the logic of the terminals A 1 and A 2 is given to the terminal D 7.
  • OR exclusive OR
  • variable logic cell 10 functions as a combinational logic circuit. Also, for example, a signal having the same logic as one of the signals input to the address input terminal A0 or A1 is converted to a data input / output terminal according to a signal (selection signal) input to the address input terminal A2.
  • selection signal input to the address input terminal A2.
  • the variable logic cell 10 selects one of multiple input signals and outputs it from the output terminal. It can also function as a selective multiplexer.
  • variable logic cell 10 can be connected to one input signal from multiple output terminals. It is also possible to function as an output selection type multiplexer that selects and outputs
  • variable logic cell 10 performs logic conversion by the logic data stored in the memory block 11 so as to function as a switch circuit, a combinational logic circuit, a multiplexer, and the like.
  • FIG. 9 shows a configuration of a variable logic cell 20 having a different form from the above.
  • the variable logic cell 20 replaces the DSEL 16 a to l 6 d and ASEL 17 a to l 7 d of the variable logic cell 10 with the data register (DREG) 21 a to 21. d and an address register (AREG) 22a to 22d.
  • DREG data register
  • AR EG 22 a to 22 d are provided between two circuit blocks as proposed by, for example, JTAG (Joint Test Action Group). And a boundary scan circuit capable of latching data scanned in via the scan path 23 and scanning out the data by a shift operation.
  • JTAG Joint Test Action Group
  • DREGs 21a to 21d output the internal data signals id0 to id11 read from the memory block 11 in parallel to the adjacent memory block 11.
  • AREG22a to 22d The internal data signals id0 to id11 output from the adjacent memory block 11 are input to the memory block 11 in parallel as internal address signals ia0 to ial1.
  • DREGs 21a to 21d shift serial external input data signals ed0 to edl1 that are scanned in from outside via scan path 23, and sequentially scan out.
  • AREG 22 a to 22 d are shift register functions that shift serial external input address signals ea 0 to eall which are also scanned in from outside via scan path 23 and sequentially scan out.
  • FIG. 10 shows a register capable of performing a shift operation and bidirectional input / output as a specific example of the DREGs 21a to 21d and the AREGs 22a to 22d.
  • This shiftable register is equipped with three flip-flops FF 0 to FF 2, and each flip-flop FF 0 to FF 2
  • Multiplexers MUX 0 to MUX 2 are provided in the stage preceding the overnight input terminal.
  • Multiplexers MUX 0 to MUX 2 are scan-in data SCAN—IN or data input terminals I / O—0 to 1 / 0—2 or IZO—3 to IZ, depending on the control signal MUX—SEL. ⁇ 1-1 Select one of the 5 data.
  • the input / output direction of the signal is switched by the control signal DIRECTION.
  • the shift operation is controlled by the clock signal FFCLK input to each flip-flop FF0 to FF2.
  • the scan data SCAN—IN is shifted in the order of FF0 ⁇ FF1 ⁇ FF2 in response to the clock signal FFCLK, and is output as scanout data SCAN—OUT.
  • the DREGs 21a to 21d flip-flops FF0 to FF2 are used not only when configuring a sequential logic circuit such as a counter circuit to be described later, but also when a DRAM is used as the memory block 11.
  • the variable logic cell 20 which is also used for an address operation which holds data during a refresh (electrical memory holding operation) period performed by the DRAM has two planes in the same manner as the variable logic cell 10 described above.
  • the variable logic cells are arranged in a dimensional matrix, and adjacent variable logic cells 20 are interconnected to form a variable logic LSI.
  • the data input / output terminals D0 to D11 between the adjacent variable logic cells 20 and the address input terminals A0 to A11 are connected between the adjacent variable logic cells 20 as in FIG.
  • variable logic cell 20 performs logic conversion by functioning as a switch circuit, a combinational logic circuit, or a multiplexer according to the logic data stored in the memory block 11.
  • the scan paths 23 are sequentially connected so that the scan-out data of the variable logic cell 20 becomes the scan-in data of the adjacent variable logic cell 20.
  • the internal data signals id0 to idll read from the memory block 11 are taken into the DREGs 21a to 21d, shifted, and scanned.
  • the logic circuit may be configured using only normal variable logic cells 20 except for the variable logic cell 20.
  • variable logic LSI composed of the variable logic cell 10 or the variable logic cell 20 further includes a variable logic cell composed of the variable logic cells, the input from the output of the combinational logic circuit, and the other variable logic cells.
  • a sequential logic circuit such as a counter circuit is configured by generating a signal path by a plurality of configured switch circuits and applying feedback, and as a result, an arbitrary logic circuit can be realized. Therefore, the switch circuit can be composed of any variable logic cell without distinguishing it from other logic circuits, so that a logic circuit having a desired logic function can be freely configured anywhere in the matrix plane of the variable logic cell. The signal path and direction can be freely determined.
  • FIG. 11 shows a specific procedure for configuring a desired logic circuit in a variable logic LSI composed of variable logic cells 20.
  • design data in which the desired logic function is described in C language is created as in the past, and this design data is converted into data written in a language such as HDL.
  • the design data may be created by directly writing in HDL, omitting the functional design in C language.
  • HD L Performs logic synthesis from the described design data and converts it to data expressed at the gate level. Then, the gate-level design data is separated into sequential logic circuits and combinational logic circuits.
  • variable logic cell 20 used in the sequential logic circuit is determined.
  • variable logic cell 20 that forms the desired logic is determined.
  • FIG. 12 shows a variable logic cell 30 that enables compression of the logic to be mounted.
  • the variable logic cell 30 is provided with multiplexers (MUXs) 31a to 31d along the outside of the AREGs 22a to 22d.
  • MUX 31a and MUX 31c which are arranged horizontally across the memory block 111, are feedback signal lines 32a to
  • variable logic cell 30 can also be configured using the variable logic cell 10 shown in FIG. In this case, the variable logic cell.DREG 21 a to 21 d of 30 is replaced by DSEL 16 a to 16 d and AR EG 22 a to 22 d is ASEL 17 a to l 7 replaced by d.
  • FIG. 13 shows the configuration of the MUXs 31a and 31c that sandwich the memory block 11 in the horizontal direction.
  • MUXs 31a and 31c are respectively composed of two AND circuits and one OR circuit, 34a and 34c, and two AND circuits 35a and 35c. And.
  • the circuit sections 34a and 34c are provided one for each address input terminal, and the output sections of the circuit sections 34a and 34c are connected to AR EG22a and 22c. Are connected to address input terminals A0 to A2 and A6 to A8, respectively.
  • one circuit section 35a, 35c is provided for each data input / output terminal, and data input / output terminals D0 to D2 and D6 to D8 are connected to DREG2 1 They are connected to the inputs of the circuit sections 35a and 35c via a and 21c.
  • one of the address input terminals A0 to A2 of the side 12a (for example, the terminal A2) is connected to the control signal line 36a in the MUX 31a via the AREG22a. It is connected.
  • the control signal line 36a is connected to the input terminals of the two AND circuits of the circuit sections 34a and 35a, and one of the AND circuits is connected so that the logic is inverted. I have.
  • one of the data input / output terminals D 6 to D 8 of the side 12 a (for example, the terminal D 6) is connected to the control signal line 36 c in the MUX 31 c via the DREG 21 C. Have been.
  • the control signal line 36c is connected to the input terminals of the two AND circuits of the circuit sections 34c and 35c, and the logic of one of the AND circuits is inverted. Connected.
  • the circuit section 35 c receives the internal variable data signal id 8 read from the data input / output terminal D 8 without changing its direction, and outputs another variable logic signal.
  • the internal data signal id8 is transferred to the MUX 31a via the feedback signal line 32a.
  • the internal data signal id8 transferred via the feedback signal line 32a is input to the circuit section 34a.
  • the logic of the control signal 36 a is “0”
  • the internal data signal id 8 is fed back to its own address input terminal A 0 of the memory block 11.
  • the logic of the control signal line 36a is "1”
  • the internal address signal i a0 transferred from the other adjacent variable logic cell 30 is transferred to the address input terminal A 0.
  • circuit sections 35a and 34c When the logic of the control signal lines 36a and 36c is "0", the internal data signal read from the data input / output terminal D0 is output. id 0 is fed back to its own address input terminal A 8 via the feedback signal line 3 2 b, and when the logic of the control signal lines 36 a and 36 c is “1”, the adjacent variable logic cell 3 0 and , The internal data signal id 0 or the internal address signal ia 8 is transferred.
  • the configurations of the MUXs 31b and 31d sandwiching the memory block 11 in the vertical direction are the same as those of the MUXs 31a and 31c.
  • variable logic cells 30 are arranged in a two-dimensional matrix in a plane in the same manner as the variable logic cells 10 described above, and the adjacent variable logic cells 30 are interconnected to enable logic compression.
  • a variable logic LSI is constructed.
  • Fig. 14 (A) is composed of logical stages ⁇ and iS. An example of a two-stage logic circuit is shown below. In the number of logic stages, the input internal address signals ia0 and ia1 are logically operated by the NAND circuit 37a and the NOR circuit 37b, respectively, and latched by the flip-flop 37c.
  • the output data of the NAND circuit 37a among the data latched in the flip-flop 37c is inverted by the inverter 38a and latched in the flip-flop 38b, and The output data of 37 b is latched by the flip-flop 38 b with the same logic as it is and output as internal data signals id 8 and id 7, respectively.
  • FIG. 14 (B) shows the logic data to be written to the memory block 11 in the variable logic cell 30 to express the logic of the circuit of FIG. 14 (A).
  • a signal having the same logic as that of the address input terminal A2 is given to the data input / output terminal D6.
  • the terminals A 2 and D 6 are not used for the logical operation, and when the desired logic is mounted on the memory block 11 used for the switching control of the MUXs 31 a and 31 c, If the terminals are used for logic conversion, the logic mounting efficiency is high, but not all terminals are used and some terminals are unused and redundant Sometimes.
  • the number of logic stages can be represented by one variable logic cell 30, and the logic is mounted on one variable logic cell. Efficiency can be increased.
  • logical compression in the horizontal direction has been described, logical compression in the vertical direction can be similarly performed by using MUX31b and 31d.
  • FIG. 15 shows a variable logic cell 40 connected to an address input terminal, a data input / output terminal, and two-stage flip-flops.
  • the variable logic cell 40 is a flip-flop (DFF) 41a for latching the internal data signals id0 to id8 along the outside of the AREGs 22a to 22d of the variable logic cell 20. .. 41 d, and flip-flops (AFF) 42 a to 42 d for latching the internal address signals ia 0 to ia 8 are arranged along the outside thereof.
  • DFF 41 a to 41 d are normal flip-flops that transfer signals in parallel when no shift operation is performed.
  • DFF 41 a to 41 d are internal data signals between cells.
  • variable logic cell 40 can also be configured using the variable logic cell 10 shown in FIG. In this case, D RE G 2 1 a to 21 d is replaced by DS EL 16 a to 16 d, and AR E G 2
  • variable logic cells 40 are arranged in a two-dimensional matrix in a plane, similarly to the above-described variable logic cell 10, and the adjacent variable logic cells 40 are connected to each other.
  • a variable logic LSI that can reduce the number of terminals used is configured.
  • Fig. 16 (A) shows the NAND circuit 43a of two inputs inl and in2, the AND circuit 43b of two inputs in3 and in4, and the NAND circuit 43a and the AND circuit 43b. It shows a 4-input, 2-output circuit consisting of flip-flops 4 3 c that latch output data 0 ut 1 and out 2.
  • variable logic cell 40 configured as described above and writing the logic data shown in FIG. 16B into the memory block 11, one variable logic cell 40 The circuit of (A) can be realized. According to the logical data in FIG. 16 (B), the variable logical cell 40 is connected to the terminals A 0 and A 1 when the logic of the internal address signal ia 0 given to the terminal A 2 is “0”.
  • the internal address signal ia 2 is "0" and "1" respectively.
  • the internal address signals ia 0 to i 2 are eight? 1 ⁇ 4 2a and AR EG 2 2a are sequentially input and latched, and input to terminals A 0 to A 2 arranged on one side 1 2a of memory block 1 1 and terminal D of side 1 2c
  • Internal data signal id 8 indicating the operation result is sequentially output from 8 and latched to DREG 21 c and DFF 41 c, and data out 1 and out 2 are sequentially output in order.
  • the circuit shown in FIG. 16 (A) can be realized with three input terminals and one output terminal, and the variable logic cell 50 shown in FIG.
  • variable logic cell 30 has the configuration of the variable logic cell 30 and the variable logic cell 40, and the address input terminal and the data input / output terminal are connected to two-stage flip-flops respectively. Feedback is applied to the terminal.
  • variable logic cell 50 By using the variable logic cell 50, the logic mounting efficiency can be further increased.
  • Fig. 18 shows an image in which a two-dimensional initial source memory logical space created by variable logic cells 30 or 50 having a return path between the data input / output terminal and the address input terminal is compressed. Show. The initial source memory space is folded in the horizontal and vertical directions by the feedback between the above address input terminal and the data input / output terminal, and becomes a compressed memory logical space.
  • the address input terminals and the data input / output terminals are arranged alternately on each side 12 a to 12 d of the memory block 11.
  • the terminals for each terminal it is not always necessary to alternately arrange the terminals for each terminal. It is only necessary that both the address input terminal and the data input / output terminal are provided on each side.
  • the address input terminal and the data input / output terminal are each set of two terminals, and each side has one terminal.
  • the address input terminal and the data input / output terminal may be divided into two groups on each side 12a to 12d as shown in FIG. 19 (B). You may make it arrange
  • the terminals may be arranged so that the address input terminal and the data input / output terminal face each other between the adjacent memory blocks 11.
  • the memory block 11 is a square surrounded by the four sides 12a to 12d.
  • the memory block 11 may be formed as shown in FIG. 20 (A). It may be a triangle surrounded by three sides. Any one of the variable logic cells 10, 20, 30, 40, and 50 having the memory block 11 is made into a triangle, and the cells are formed in a two-dimensional plane as shown in FIG. 20 ′ (B). All together, a variable logic LSI is constructed.
  • This triangular memory block 11 can efficiently arrange terminals on each side when the memory capacity is small, that is, when the number of terminals is small.
  • the triangular shape allows signal transmission in an oblique direction to be performed efficiently over a short path.
  • the memory block 11 can be a polygon having more than a pentagon. Thus, by determining the shape and arrangement of the memory block 11 in consideration of the memory capacity, the logic mounting efficiency can be further increased.
  • the terminals are connected to each other so that the variable logic cells are arranged in a two-dimensional plane.
  • the variable logic cells may be arranged three-dimensionally.
  • the address input terminal and the data input / output terminal are not only the four sides 12 a to 12 d of the memory block 11 but also the upper surface 12 e of the memory block 11. And the lower surface 12 f.
  • any one of the variable logic cells 10, 20, 30, 40, 40, 50 provided with the memory block 11 is replaced by 2.
  • Memory blocks 11 are laid out in a two-dimensional plane, and the sides 12a to 12d between the memory blocks 11 are wired to each other, and a plurality of these two-dimensional planar variable logic cells are stacked one on top of the other. Wire between the upper surface 1 2 e and the lower surface 1 2 f between 1 1.
  • connection is made between opposing terminals A 4 and D 5 and between terminals A 5 and D 4.
  • the above-mentioned data selector and address selector, or the above-mentioned data register and address register are interposed between these terminals, and the above-described multiplexer and flip-flop are interposed. This makes it possible to compress the logic in the vertical direction (stacking direction).
  • the MUXs 31 a to 31 d for providing feedback from the data input / output terminal to the own address input terminal are provided in one variable logic cell 30.
  • a to 31 d may be configured using a plurality of variable logic cells 10 (or 20).
  • the variable logic cell 10 (or 20) since one flip-flop is connected to each terminal, by using at least five variable logic cells 10 (or 20), the first 17
  • a variable logic cell 50 having two stages of flip-flops connected to each terminal and having a feedback path from the data input / output terminal to its own address input terminal can be configured.
  • variable logic LSI can be used for self-test of the LSI chip.
  • SOCs System on Chip
  • the built-in memory occupies 50 to 80% of the entire chip, and self-testing can be performed efficiently by using the memory built in the LSI chip. Can be expected to do.
  • any of the above-described variable logic cells 10, 20, 30, 40, 50 is used as the SRAM 61a constituting the internal memory 61.
  • an ALPG Algorithmic Pattern Generator
  • a test pattern for testing another SRAM 61a using a part of the SRAM 61a is configured by a ⁇ DL description.
  • the other SRAM 61a is tested, and the test result is determined. If the test result is fail, a fail signal is generated and the test ends.
  • the test circuit for testing the logic circuit portion is written in the HDL description by the SRAM 61a including the tested SRAM 61a.
  • the memory for storing the test pattern is constituted by the SRAM 61a that has passed the above test. A test pattern is described in this memory, and the user logic circuit 62 and CPU 63 are tested. If the test fails, a fail signal is generated and the test ends.
  • this test passes, configure an AL PG that generates a test pattern for DRAM 64 in some SRAMs 61a, and use the other SRAMs 61a to compare the test results. Configure the fail memory to be stored. Then, the DRAM 63 rescue algorithm is loaded into the CPU 63, and the DRAM 64 is tested by the ALPG. In addition, the bit rescue of the defective bit by the rescue bit line 64a is performed. Give. If the DRAM fails this test and cannot be repaired, it generates a fail signal and ends the test. On the other hand, if the test is passed, the SRAM 61a constituting the test circuit is used as a normal memory and operated as a storage device of the SOC 60.
  • variable logic cells in tests.
  • Built-in memory 61 composed of any of cells 10, 20, 30, 40, 50 is used as a programmable device during normal operation other than during testing, and S ⁇ C 60 is programmable.
  • An LSI chip with a built-in device can also be used.
  • a SOC configured by connecting a plurality of CPUs with these variable logic cells is conceivable, which can speed up processing such as parallel operation.
  • the present invention can be applied to a SIP (System In Package) and the like.
  • the variable logic LSI can be used for a storage device and an arithmetic device of a computer.
  • Today's general computers consist of an input device (keyboard), an output device (CRT display), a storage device (main memory, cache memory and registers), and an arithmetic unit (ALU).
  • a high-speed cache memory and registers are arranged between the main memory and the ALU, and the data transfer between them is performed at high speed to speed up the arithmetic processing. This means that an address operation between the storage devices is required in addition to the ALU operation process, which is an adverse effect on high-speed processing.
  • variable logic LSI when this variable logic LSI is applied to a computer, the above-mentioned storage device and arithmetic device can be integrally configured, eliminating the need for address calculation between the storage devices, and thus speeding up the arithmetic processing. can do.
  • At least one address input terminal on a first side of a first memory block is connected to a data input / output terminal on an opposite side of an adjacent second memory block.
  • At least one data input / output terminal on the first side of the memory block is connected to the address input terminal on the opposite side of the second memory block, so that one memory block can be written by an external device.
  • Logic data, switch circuit and combinational logic circuit The memory blocks can also operate as sequential logic circuits.
  • the semiconductor integrated circuit of the present invention is constituted by flexible variable logic cells in which there is no distinction between logic blocks and switch circuits, and a desired logic circuit can be constituted efficiently.
  • the internal data signal is fed back from its own data input / output terminal to the address input terminal of the memory block, so that the installed logic can be compressed and the capacity of each memory block can be saved. It becomes possible.
  • the semiconductor integrated circuit of the present invention since most of the semiconductor integrated circuit of the present invention is constituted by memory blocks, it can be manufactured by a process of about two-layer wiring similar to a conventional memory device, and requires at least five-layer wiring.
  • the advantage is that the manufacturing cost is lower than that of FPGAs.
  • the semiconductor device of the present invention can be used not only as a logic IC that can program logic by a feed such as FPGA, but also as a built-in memory such as S ⁇ C, a storage device of a computer, and an arithmetic device.

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Logic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Semiconductor Memories (AREA)

Abstract

本半導体集積回路は、複数個のメモリブロック(11)から構成されている。各メモリブロック(11)は、四辺(12a~12d)で囲まれ、各辺(12a~12d)毎にアドレス入力端子(A0~A11)およびデータ入出力端子(D0~D11)が設けられている。隣接する2つのメモリブロック(11)を第1および第2のメモリブロック(11)とすると、第1のメモリブロック(11)の辺(12a)に設けられたアドレス入力端子(A0~A2)が、第2のメモリブロック(11)の対向する辺のデータ入出力端子(D8~D6)にそれぞれ接続されている。第1のメモリブロック(11)の辺(12a)に設けられたデータ入出力端子(D0~D2)は、第2のメモリブロック(11)の対向する辺のアドレス入力端子(A8~A6)にそれぞれ接続されている。各メモリブロック(11)は、フレキシブルな可変論理セルを構成する。これらの可変論理セルによって所望の論理回路が形成される。

Description

明 細 書 発明の名称 半導体集積回路 技術分野
本発明は、 任意の論理をプログラム可能とする複数のメモリブ ロックにより構成された半導体集積回路に関するものである。 技術背景
I Cの製造完成後にフィ一ルドでユーザが I C内部の回路を電 気的にプログラム (書き込み) することにより、 様々な論理構成 を実現することのできる汎用のロジック I Cとして F P GA (Fi eld Programmable Gate Array ) が知られている。
第 2 5図 (A) に示すように F P GA 1 0 0は、 任意の論理を 構成可能とされた複数の可変論理プロック C L B 1 0 1 と、 各論 理ブロック C L B 1 0 1 を結ぶ配線群の接続状態をプログラマブ ルに切り換えるスィツチ回路 1 0 2 とによって構成されている。 可変論理プロック C L B 1 0 1は、 第 2 5図 (B) に示すように 、 組み合わせ論理回路を表現するブロックである L UT (Look U p Table ) 1 0 1 aと、 論理情報を一時的に記憶 · 保持するフリ ップフロップ ( F F ) 1 0 1 bとからなる。 L U T 1 0 1 aには 、 一般的に微小な S RAM (Static Random Access Memory ) が 用いられる。
また、 スィッチ回路 1 0 2は、 第 2 5図 (C) に示すように M O Sスィッチ 1 0 2 aのゲート電極に 1 ビッ トの情報が記憶され た S RAM 1 0 2 bが接続されてなる。 MO Sスィッチ 1 0 2 a のオン Zォブは、 S R A M 1 0 2 bに記憶された情報 ( " 0 " ま たは " 1 " ) によって制御される。 このように構成された F P G A 1 0 0は 「 S RAMベースの F P GA」 と呼ばれる。 F P GA 1 0 0は、 C L B 1 0 1 とスィッチ回路 1 0 2を構成要素として プログラマブルに論理を構成することのできるロジック I Cであ る。
この F P GA 1 0 0のユーザは、 まず実現しようとする所望の 論理機能を HD L (Hardware Description Language ) で記述し 、 この記述を論値合成ツールと呼ばれるプログラムにより L UT 1 0 1 aの論理値やスィッチ回路 1 0 2のオン Zオフ情報を表わ す論理ゲートレベルの設計データに変換する。 そして、 この設計 データをフィールドで F P GA 1 0 0に書き込むことによって、 当該論理機能が F P G A 1 0 0上に構成される。
本発明者らは、 上記の F P G Aとは異なる技術として、 S RA Mや D RAM (Dynamic Random Access Memory) などの汎用メモ リに類似した構成を有するメモリブロック (メモリ回路) を利用 し、 このメモリブロックのアドレス入力とデ一夕出力との関係が 所望する論理回路の入力と出力との関係に対応するように、 メモ リブロックに論理データを格納することを可能とし、 ユーザがフ ィールドで論理をプログラムすることのできるデバィスに関する 技術を提案しており、 これは例えば、 国際公開 WO/ 5 2 7 3 5 号公報または特開 2 0 0 3— 1 4 9 3 0 0号公報に開示されてい る。 この技術によると、 デバイスの構成が単純であり、 メモリブ ロックに所望の論理機能を実現するための論理データを書き込む ことで、 所望の論理機能を有する回路が容易に得られるので、 設 計工数および開発期間が大幅に短縮される。
しかしながら、 上記の先願発明は、 F P GA 1 0 0の論理プロ ック C L B 1 0 1 をメモリプロックによって構成したものであり 、 少なくとも各メモリブロック間を任意に接続するために配線群 の接続状態を切り換えるスィッチ回路が要される。 そのため、 回 路が大規模になるにしたがい、 スィッチ回路に含まれオン/オフ 情報を記憶するための記憶回路の記憶容量およびその占有面積が 増大する。 また、 組み合わせ論理を記憶させる領域と、 それらの 組み合わせ論理の接続状態を記憶する領域とが別々に構成される ため、 論理データを効率よく格納することができない。 発明の開示
本発明は、 論理ブロックとスィッチ回路との区別をなく したフ レキシブルな可変論理セルにより構成された半導体集積回路を提 供するものである。
上記目的を達成するために、 本発明の半導体集積回路は、 複数 の辺で囲まれた領域毎に形成された複数のメモリブロックと、 前 記辺毎に設けられた複数のァドレス入力端子およびデータ入出力 端子と、 前記複数のメモリブロックのうち第 1のメモリブロック の第 1の辺に隣接する第 2のメモリブロックとの間で、 前記第 1 の辺の少なく とも 1つのアドレス入力端子を、 前記第 2のメモリ ブロックの対向する辺のデータ入出力端子に接続し、 前記第 1の 辺の少なく とも 1つのデータ入出力端子を、 前記第 2のメモリブ ロックの対向する辺のァドレス入力端子に接続する接続手段と、 から論理回路を構成することを特徴とするものである。
前記メモリブロックは、 外部装置により予め書き込まれたデー 夕によって、 前記アドレス入力端子に入力される内部ァドレス信 号と前記データ入出力端子から出力される内部デ一夕信号との関 係を論理変換することを特徴とするものである。
前記メモリブロックは、 スィツチ回路として動作することを特 徵とするものである。
前記メモリブロックは、 組み合わせ論理回路として動作するこ とを特徴とするものである。
複数個の前記メモリブロックは、 その一部で帰還経路を形成す ることにより、 全体として順序論理回路として動作することを特 徵とするものである。
前記接続手段は、 外部装置から送られる外部入力ァドレス信号 および外部入力データ信号をそれぞれ切り換え選択可能に前記メ モリブロックに入力するためのセレクタをさらに備えてもよい。 前記接続手段は、 外部装置から送られる外部入力アドレス信号 および外部入力データ信号をスキヤンパスを介し、 シフ ト動作に よってシリアルに前記メモリブロックに入力するためのシフタブ ルレジス夕をさらに備えてもよい。
前記各シフタブルレジス夕は、 前記スキヤンパスにより直列に 連結されていることが好ましい。
前記各メモリブロック内の不良ビッ トは、 前記スキャンパスを 介して検出されることが好ましい。
前記接続手段は、 第 1のメモリブロックのデータ入出力端子か ら出力される内部データ信号を自己のアドレス入力端子に帰還す るか、 または、 この内部データ信号を隣接する第 2のメモリブ口 ックへ転送するかを選択可能とするマルチプレクサをさらに備え るようにしてもよい。
前記複数のァドレス入力端子およびデータ入出力端子のうち、 前記論理変換に用いられていないアドレス入力端子およびデータ 入出力端子を前記マルチプレクサの選択制御に用いることで、 前 記メモリブロックに搭載される論理の圧縮を行うことが好ましい 前記各メモリブロックは、 3辺で囲まれた三角形をしていても よい。
前記各メモリブロックは、 複数のァドレス入力端子およびデー 夕入出力端子が設けられた上面および下面をさらに備えており、 前記接続手段は、 第 1のメモリブロックの上面のアドレス入力端 子をその上面に隣接するメモリブロックの下面のデータ入出力端 子に接続し、 前記第 1のメモリブロックの上面のデータ入出力端 子をその上面に隣接する前記メモリブロックの下面のアドレス入 力端子に接続してもよい。 図の簡単な説明
第 1図は可変論理セルの構成を示す図であり、
第 2図 (A ) および (B ) はデータセレクタの構成および動作 を説明する回路図であり、
第 3図 (A ) および (B ) はアドレスセレクタの構成および動 作を説明する回路図であり、
第 4図はトライステートバッファの真理値を示す図であり、 第 5図はマトリクス状に 2次元配列された可変論理セルを示す 図であり、
第 6図は瞵接する可変論理セル間の接続手段を示す図であり、 第 7図はスィッチ回路を構成するためにメモリブロック内に格 納すべき論理データの一例を示す図であり、
第 8図は組み合わせ論理回路を構成するためにメモリブロック 内に格納すべき論理データの一例を示す図であり、
第 9図は第 2の可変論理セルの構成を示す図であり、
第 1 0図はシフタブルレジスタの構成を示す回路図であり、 第 1 1図は可変論理 L S I に所望の論理機能を構成するための 手順を説明するフローチャートであり、
第 1 2図は第 3の可変論理セルの構成を示す図であり、 第 1 3図はマルチプレクサの構成を示す回路図であり、 第 1 4図 (A) は、 2つの論理段数を持つ回路の一例を示す図 であり、 第 1 4図 (B) は第 1 4図 (A) の回路を構成するため にメモリブロック内に格納すべき論理データの一例を示す図であ り、
第 1 5図は第 4の可変論理セルの構成を示す図であり、 第 1 6図 (A) は 4入力 1出力の回路の一例を示す図であり、 第 1 6図 (B) は第 1 6図 (A) の回路を構成するためにメモリ プロック内に格納すべき論理データの一例を示す図であり、 第 1 7図は第 5の可変論理セルの構成を示す図であり、 第 1 8図は 2次元の初源メモリ論理空間が圧縮されるィメージ' を示す図であり、
第 1 9図はメモリブロックの端子配列の別の例を示す図であり 第 2 0図 (A) は三角形のメモリブロックを示す図であり、 第 2 0図 (B) は三角形の可変論理セルが配列された 2次元平面を 示す図であり、
第 2 1図 (A) は上面および下面に端子が配置されたメモリブ ロックを示す図であり、 第 2 1図 (B) は可変論理セルが 3次元 的に配置された様子を示す図であり、
第 2 2図は 3次元的に配置された可変論理セルの上下方向の断 面を示す図であり、
第 2 3図は S O Cのテストを説明するフローチャートであり、 第 2 4図は S O Cの構成を示す図であり、
第 2 5図 (A) 〜 (C) は F P G Aの構成を示す図である。 発明を実施するための最良の形態
第 1図において、 可変論理セル 1 0は、 四辺 1 2 a〜 l 2 dで 囲まれた領域に形成された方形のメモリブロック 1 1 と、 メモリ ブロック 1 1の四辺 1 2 a〜 1 2 dに沿って配置され、 メモリブ ロック 1 1 に対するデータ信号の入出力を切り換えるためのデー 夕セレクタ (D S E L) 1 6 a〜 1 6 dと、 D S E L 1 6 a〜 l 6 dの外側に配置され、 メモリブロック 1 1 に対するアドレス信 号の入力を選択するためのアドレスセレクタ (A S E L) 1 7 a 〜 1 7 dと、 D S E L 1 6 a〜 1 6 dと A S E L 1 7 a〜 1 7 d との間に配線され、 D S E L 1 6 a〜 1 6 dに外部入力データ信 号 e d 0〜e d l 1 を供給するための外部デ一夕バス 1 3 と、 同 じく D S E L 1 6 a〜 l 6 dと A S E L 1 7 a〜 l 7 dとの間に 配線され、 A S E L 1 7 a〜 1 7 dに外部入力ァドレス信号 e a 0〜 e a 1 1 を供給するための外部アドレスバス 1 4とからなる 。 外部入力データ信号 e d 0〜e d l lおよび外部入力ァドレス 信号 e a 0〜e a l lは、 データ書き込み時やテス トモ一ド時に 外部から入力される信号である。
メモリブロック 1 1は、 図示しないが、 複数のメモリセルトラ ンジス夕がマトリクス状に配置されるとともに、 複数のワード線 と複数のビッ ト線が格子状に配置されてなる公知の S RAMであ り、 アドレス信号のデコーダ回路やメモリセル卜ランジス夕から ビッ ト線に読み出された電位を増幅するセンスアンプ回路などを 備えている。 なお、 このデコーダ回路を、 配線により構成された ワイヤード ANDワイヤ一ド O Rなどの論理回路を用いて構成し 、 回路規模を削減するようにしてもよい。
メモリブロック 1 1は、 1 2個のアドレス入力端子 A O〜A 1 1 と、 1 2個のデータ入出力端子 D 0〜D 1 1 とが設けられてお り、 各辺にアドレス入力端子とデータ入出力端子とが混在し、 A 0 , D O , A l, D 1 , A 2 , D 2 , · · · , A l l , D l l と 、 それぞれ交互に並ぶように配列されている。 また、 辺 1 2 aに は端子 A 0〜 A 2および端子 D 0〜D 2が、 辺 1 2 bには端子 A 3〜 A 5および端子 D 3〜D 5が、 辺 1 2 cには端子 A 6〜 A 8 および端子 D 6〜 D 8が、 辺 1 2 dには端子 A 9〜 A 1 1および 端子 D 9〜D 1 1が各々配置されている。 なお、 アドレス入力端 子およびデータ入出力端子の数を各々 1 2個としたが、 この数は 任意であり、 例えば各々 8個や 1 6個としてもよい。 また、 メモ リブロック 1 1は S R A Mに限られず、 D RAM等のメモリを用 いてもよい。
D S E L 1 6 aは、 外部デー夕バス 1 3から入力される外部入 カデー夕信号 e d 0〜 e d 2をメモリブロック 1 1 に向けて出力 するか 、 若し <はメモリブ口ック 1 1から入力される内部データ 信号 i d 0〜 i d 2をメモリブロック 1 1から離反する方向に出 力する 。 7よ 、 その他の D S E L 1 6 b〜 1 6 dについても同様 である よノし 、 信号線 1 5が D S E L 1 6 a〜 1 6 dを直列に結 ぶように配線され、 この信号線 1 5を介して切り換え信号 T Sが 各 D S E L 1 6 a〜 1 6 dに入力されている。
A S E L 1 7 aは、 外部ァドレスバス 1 4から入力される外部 入力ァドレス信 e a 0 ~ e a 2をメモリブロック 1 1に向けて 出力するか、 若しくは他のメモリブロック 1 1から送られる内部 ア ドレス信号 i a 0〜 i a 2をメモリブロック 1 1 に向けて出力 する。 なお、 その他の A S E L 1 7 b〜 1 7 dについても同様で ある。 また、 信号線 1 5は A S E L 1 7 a〜 1 7 dをも直列に結 ぶように配線され、 信号線 1 5を介して切り換え信号 T Sが各 A S E L 1 7 a〜 l 7 dに入力されている。
第 2図 (A) および (B) は、 D S E L 1 6 aの構成およびそ の機能について説明する図であり、 デ'一夕入出力端子 D 0に連結 される部分のみを示す。 D S E L 1 6 aは、 1つの端子 D Oに対 してトライステートバッファ (TR B UF) 1 8 a , 1 8 bを備 え、 T R B UF 1 8 aの出力にフリップフロップ (F F) 1 8 c が接続されている。 なお、 この F F 1 8 cはデータを一時的に保 持するものであるが、 これは必須ではないため設けなくてもよい T R B UF 1 8 a , 1 8 bは、 第 4図に示す真理値をとる論理 回路である。 T R B U F 1 8 aには切り換え信号 T Sが第 4図の "enable" 信号として入力され、 T R B U F 1 8 bには切り換え 信号 T Sの反転信号が第 4図の "enable" 信号として入力される 。 "enable" 信号が " 1 " であれば、 " i n" に入力されたデー 夕は " o u t " にそのまま出力され、 "enable" 信号が " 0 " で あれば " i n" に入力されたデータに係わらず " o u t " は不定 値 (ハイインピーダンス) " z " となる。
第 2図 (A) は、 切り換え信号 T Sが " 0 " の場合であり、 T R B U F 1 8 aには " 0 " 、 T R B U F 1 8 bには " 1 " が "en able" 信号として入力されるので、 T R B U F 1 8 bの入出力の みが有効となる。 このとさ、 外部データバス 1 3から D S E L 1 6 aに入力された外部入力データ信号 e d Oが T R B U F 1 8 b を介してメモリブロック 1 1のデ一夕入出力端子 D 0に入力され る。
第 2図 (B ) は、 切り換え信号 T Sが " 1 " の場合であり、 T R B U F 1 8 aには " 1 " 、 T R B U F 1 8 bには " 0 " が "en able" 信号として入力されるので、 T R B UF 1 8 aの入出力の みが有効となる。 このとき、 メモリブロック 1 1から出力され D S E L 1 6 aに入力された内部データ信号 i d 0が T R B U F 1
8 aを介して F F 1 8 cにラッチされるとともに、 メモリブロッ ク 1 1から離反する方向に向けて (後述する隣接するメモリプロ ックに向けて) 出力される。 なお、 D S E L 1 6 a内のその他の データ入出力端子 D 1 , D 2に連結される部分についても同様で あり、 さらに、 他の D S E L 1 6 b〜 1 6 dの構成についても同 様である。
第 3図 (A) および (B) は、 A S E L 1 7 aの構成およびそ の機能について説明する図であり、 アドレス入力端子 A 0に連結 される部分のみを示す。 A S E L 1 7 aは、 1つの端子 A Oに対 してトライステ一トバッファ (T R B UF) 1 9 a , 1 9 bを備 え、 T R B U F 1 9 a , 1 9 bの出力にフリップフロップ (F F ) 1 9 cが接続されている。 なお、 この F F 1 9 cはデータを一 時的に保持するものであるが、 これは必須ではないため設けなく てもよい。
この T R B UF 1 9 a , 1 9 bも第 4図に示す真理値をとる論 理回路である。 T R B U F 1 9 aには切り換え信号 T Sが " enab le" 信号として入力され、 T R B U F 1 9 bには切り換え信号 T Sの反転信号が "enable" 信号として入力される。
第 3図 (A) は、 切り換え信号 T Sが " 0 " の場合であり、 T R B U F 1 9 aには " 0 " 、 T R B U F 1 9 bには " 1 " が "en able" 信号として入力されるので、 T R B U F 1 9 bの入出力の みが有効となる。 このとき、 外部アドレスバス 1 4から A S E L 1 7 aに入力された外部入力ァドレス信号 e a 0が T R B U F 1
9 を介して F F 1 9 cにラッチされるとともに、 メモリブロッ ク 1 1のアドレス入力端子 A Oに入力される。 第 3図 ( B ) は、 切り換え信号 T Sが " 1 " の場合であり、 T B U F 1 9 aには " 1 " 、 T R B U F 1 9 bには " 0 " が "en able" 信号として入力されるので、 T R B UF 1 9 aの入出力の みが有効となる。 このとき、 後述する隣接するメモリブロック 1 1から入力された内部ァドレス信号 i a 0が T R B U F 1 9 aを 介して F F 1 9 c にラッチされるとともに、 メモリブロック 1 1 のアドレス入力端子 A Oに入力される。 なお、 A S E L 1 7 a内 のその他のアドレス入力端子 A 1, A 2に連結される部分につい ても同様であり、 さらに、 他の 3 1 7 13〜 1 7 (1の構成に ついても同様である。
なお、 切り換え信号 T Sの論理を上記とは逆にし、 切り換え信 号 T Sが " 1 " の場合に外部入力データ信号 e a 0〜 e a 1 1お よび外部入力ァドレス信号 e a 0〜 e a 1 1 を選択し、 切り換え 信号 T Sが " 0 " の場合に外部入力データ信号 e a 0 ~ e a 1 1 および内部アドレス信号 e a O〜 e a 1 1 を選択するように D S E L I 6 a〜 l 6 dおよび A S E L 1 7 a〜 l 7 dを構成しても よい。
第 5図は、 以上のように構成された可変論理セル 1 0を平面内 に 2次元マトリクス状に並べ、 隣接する可変論理セル 1 0間を相 互に接続することにより構成した可変論理 L S I (半導体集積回 路) を示す。 外部ァドレスバス 1 4は各メモリブロック 1 1 に共 通に接続されており、 一方、 外部データバス 1 3は各メモリブ口 ック 1 1に独立に接続されている。
第 6図に隣接するメモリブロック 1 1間の接続手段の詳細を 示すように、 接続手段は、 あるメモリブロック 1 1のデータ入出 力端子 D n (n = 0〜 1 1 ) から出力された内部データ信号 i d η (η = 0〜 1 1 ) を、 隣接するメモリブロック 1 1のアドレス 指定を行う内部ァドレス信号 i a m (m= 0〜 1 1 ) としてアド レス入力端子 Am (m= 0〜 l 1 ) に入力するように構成されて いる。
具体的には、 あるメモリブロック 1 1の辺 1 2 aのデータ入出 力端子 D 0〜D 2は、 隣接するメモリブロック 1 1の辺 1 2 cの アドレス入力端子 A 8〜A 6に、 D S E L 1 6 aおよび A S E L 1 7 c を介してそれぞれ接続されている。 切り換え信号 T Sが " 1 " の場合には、 データ入出力端子 D 0〜D 2から D S E L 1 6 aを介して出力された内部デ一タ信号 i d 0〜 i d 2は、 隣接す るメモリブロック 1 1の内部アドレス信号 i a 8〜 i a 6 となつ て、 A S E L 1 7 cを介してアドレス入力端子 A 8〜 A 6にそれ ぞれ入力される。
また、 あるメモリブロック 1 1の辺 1 2 cのデータ入出力端子 D 6〜D 8は、 隣接するメモリブロック 1 1の辺 1 2 aのァドレ ス入力端子 A 2〜A 0に、 D S E L 1 6 Cおよび A S E L 1 7 a を介してそれぞれ接続されている。 切り換え信号 T Sが " 1 " の 場合には、 データ入出力端子 D 6〜D 8から D S E L 1 6 Cを介 して出力された内部データ信号 i d 6〜 i d 8は、 隣接するメモ リブロック 1 1の内部アドレス信号 i a 2〜 i a 0 となって、 A S E L 1 7 aを介してアドレス入力端子 A 2〜 A 0にそれぞれ入 力される。
縦方向に隣接するメモリブロック 1 1間の接続手段に関しても 同様であり、 辺 1 2 bのデ一夕入出力端子 D 3〜D 5は、 隣接す るメモリブロック 1 1の辺 1 2 dのアドレス入力端子 A 1 1〜 A 9に、 D S E L 1 6 bおよび A S E L 1 7 dを介してそれぞれ接 続され、 内部データ信号 i d 3〜 i d 5は、 それぞれ隣接するメ モリブロック 1 1のアドレス指定を行う内部アドレス信号 i a 1 3 一
l〜 i a 9 となっている。 また、 辺 1 2 dのデータ入出力端子 D 9 ~D 1 1は、 隣接するメモリブロック 1 1の辺 1 2 bのァドレ ス入力端子 A 5〜A 3に、 D S E L 1 6 dおよび A S E L 1 7 b を介してそれぞれ接続され、 内部データ信号 i d 9〜 i d 1 1 は 、 それぞれ隣接するメモリブロック 1 1のアドレス指定を行う内 部アドレス信号 i a 5〜 i a 3.となっている。
このように、 隣接する 2つのメモリブロック 1 1の対向する 2 辺 1 2 a , 1 2 c または 1 2 b, 1 2 dにおいて、 一方のメモリ プロック 1 1のアドレス入力端子が他方のメモリブロック 1 1の データ入出力端子に相互に接続されている。
第 7図は、 メモリブロック 1 1 に論理データを書き込み、 可変 論理セル 1 0をスィッチ回路 (接続変換器) として機能させるた めに、 アドレス入力端子 A 0〜A 1 1 とデ一夕入出力端子 D 0〜 D 1 1 とに与える信号の論理の一例を示す。 この書き込みは、 外 部データバス 1 3、 外部アドレスバス 1 4、 および信号線 1 5に 接続された図示しないパーソナルコンピュータ等の外部装置によ り制御される。 このとき、 前述したように切り換え信号 T Sが " 0 " とされて、 外部入力ァドレス信号 e a 0〜 e a 1 1および外 部入力データ信号 e d 0〜 e d 1 1が、 アドレス入力端子 A 0〜 A l lおよびデータ入出力端子 D 0〜D 1 1 に入力される。 例え ば、 同図に示すように、 端子 D 3〜D 5には、 端子 A O〜A 2 と 同一論理の信号が与えられる。 同図中の "X" は、 論理が " 0 " と " 1 " のどちらであっても良いことを意味し、 端子 D 0〜D 2 , D 6〜D 1 1に与えられる論理は任意である。
このような論理データがメモリブロック 1 1 に格納され、 切り 換え信号 T Sが " 1 " とされると、 左方に隣接する可変論理セル 1 0から左辺 1 2 aのアドレス入力端子 A O〜A 2に入力された 信号は、 同一論理のまま.、 下辺 1 2 bのデータ入出力端子 D 3〜 D 5から下方に隣接する可変論理セル 1 0に向けて出力されるこ ととなる。 なお、 ァドレス入力端子とデータ入出力端子との対応 を変えるように格納する論理データを変更することで、 ある 1つ の辺に入力された信号を辺 1 2 a〜 l 2 dのいずれの辺からでも 出力することができる。 例えば、 左辺 1 2 aに入力された信号を 反射するように、 同じく左辺 1 2 aから出力するといつたことも 可能となる。 このように、 可変論理セル 1 0は、 メモリブロック 1 1 に格納された論理データに基づいて信号の流れを切り換える ことのできるスィッチ回路として機能する。
第 8図は、 メモリブロック 1 1 に論理データを書き込み、 可変 論理セル 1 0を組み合わせ論理回路として機能させるために、 ァ ドレス入力端子 A 0〜A 1 1 とデータ入出力端子 D 0〜D 1 1 と に与える信号の論理の一例を示す。 書き込み制御に関しては上記 と同様である。 例えば、 同図に示すように、 端子 D 6には端子 A 0 , A 1の論理の論理積 (AND) が与えられ、 端子 D 7には端 子 A l , A 2の論理の論理和 (O R) が与えられ、 端子 D 8には 端子 A 0, A 2の論理の排他論理和 (E O R) が与えられる。
このような論理データがメモリブロック 1 1 に格納され、 切り 換え信号 T Sが " 1 " とされると、 左方に隣接する可変論理セル 1 0から左辺 1 2 aのアドレス入力端子 A 0〜 A 2に入力された 信号は、 上記の論理演算が行われて、 右辺 1 2 cのデータ入出力 端子 D 6〜D 8から右方に隣接する可変論理セル 1 0に向けて出 力されることとなる。 なお、 格納する論理データを変更すること で NAND、 N〇 R、 E N O Rなどの組み合わせ論理演算も行う ことができ、 アドレス入力端子とデータ入出力端子との対応関係 を変えることで、 同時に信号の入出力の方向を変えることができ 5 一
ることは言うまでもない。 このように、 2つ以上の異なる入力信 号に応じた論理データをメモリブロック 1 1に格納することによ つて、 可変論理セル 1 0は組み合わせ論理回路として機能する。 また、 例えば、 アドレス入力端子 A 0または A 1に入力された いずれかの信号と同一論理の信号を、 アドレス入力端子 A 2に入 力される信号 (選択信号) に応じて、 データ入出力端子 D 6から 出力させるように論理データを生成し、 その論理データをメモリ ブロック 1 1に格納することにより、 可変論理セル 1 0を、 複数 の入力信号から 1つを選んで出力端子から出力する入力選択型の マルチプレクサとして機能させることも可能である。
さらに、 例えば、 7ドレス入力端子 A 0に入力された信号と同 一論理の信号を、 アドレス入力端子 A 1 に入力される信号 (選択 信号) に応じて、 デ一夕入出力端子 D 6または D 7のいずれかか ら出力させるように論理データを生成し、 その論理データをメモ リブロック 1 1 に格納することにより、 可変論理セル 1 0を、 入 力信号を複数の出力端子から 1つを選んで出力する出力選択型の マルチプレ.クサとして機能させることも可能である。
また、 その他、 可変論理セル 1 0に格納する論理データにより 、 1入力他出力の回路等も構成することが可能である。
このように、 可変論理セル 1 0は、 メモリブロック 1 1 に格納 する論理データによって、 スィッチ回路、 組み合わせ論理回路、 マルチプレクサなどとして機能するように論理変換を行う。
第 9図は、 上記とは別の形態の可変論理セル 2 0の構成を示す 。 可変論理セル 2 0は、 前述の可変論理セル 1 0の D S E L 1 6 a〜 l 6 dおよび A S E L 1 7 a〜 l 7 dの代わりに、 デ一タレ ジス夕 (D R E G) 2 1 a〜 2 1 dおよびアドレスレジスタ ( A R E G) 2 2 a〜 2 2 dを用いたものである。 この D R E G 2 1 6 一
a〜 2 1 dと AR E G 2 2 a〜 2 2 dには、 例えば J TAG (Jo int Test Action Group ) により提唱されているような、 2つの 回路ブロック間に設けられて 2つの回路ブロック間の信号の並列 転送を可能にするとともに、 スキャンパス 2 3を介してスキャン インされたデータをラッチして、 シフト動作でデータをスキャン アウトさせることが可能な境界スキャン回路で構成される。
D R E G 2 1 a ~ 2 1 dは、 メモリブロック 1 1から読み出さ れる内部データ信号 i d 0〜 i d 1 1を隣接するメモリブロック 1 1に並列に出力する、 AR E G 2 2 a〜 2 2 dは、 隣接するメ モリブロック 1 1から出力された内部データ信号 i d 0〜 i d 1 1 を内部アドレス信号 i a 0〜 i a l 1 としてメモリブロック 1 1 に並列に入力する。 このパラレル動作の他に、 D R E G 2 1 a 〜 2 1 dは、 スキヤンパス 2 3を介して外部からスキャンインさ れるシリアルな外部入力データ信号 e d 0〜 e d l 1 をシフ トさ せて順次スキャンアウトし、 AR E G 2 2 a〜 2 2 dは、 同じく スキャンパス 2 3を介して外部からスキャンインされるシリアル な外部入力ァドレス信号 e a 0〜 e a l l をシフ トさせて順次ス キャンアウトするシフ トレジスタの機能を有するように構成され ている。 スキャンパス 2 3を介して外部装置から外部ァドレス信 号入力、 外部データ信号入力が行われるので、 第 1図に示した外 部データバス 1 3および外部ァドレスバス 1 4を設ける必要がな く、 可変論理セル 2 0のサイズを可変論理セル 1 0より小さくで きることが期待される。
第 1 0図は、 D R E G 2 1 a〜 2 1 dぉょびAR E G 2 2 a〜 2 2 dの具体例としてシフ ト動作と双方向入出力が可能なレジス 夕を示す。 このシフタブルレジス夕は、 3つのフリ ップフロップ F F 0〜F F 2を備え、 各フリ ップフロップ F F 0〜F F 2のデ 一夕入力端子の前段には、 マルチプレクサ M U X 0〜 M U X 2が 設けられている。 マルチプレクサ MUX 0〜MUX 2は、 制御信 号 MUX— S E Lに応じて、 スキャンインデータ S C AN— I N 、 または、 デ一夕端子 I /O— 0〜 1 / 0— 2若しくは I ZO— 3〜 I Z〇一 5のデータのうちいずれかを選択する。 また、 制御 信号 D I R E C T I ONによって信号の入出力の方向が切り換え られる。 なお、 シフ ト動作は各フリ ップフロップ F F 0〜: F F 2 に入力されるクロック信号 F F C L Kによって制御される。 スキ ャンィンデータ S C AN— I Nは、 クロック信号 F F C L Kに応 じて F F 0→F F 1→F F 2の順にシフ トされ、 スキャンアウ ト データ S CAN— OUTとして出力される。
さらに、 D R E G 2 1 a〜 2 1 dのフリップフロップ F F 0〜 F F 2は、 後述するカウンタ回路等の順序論理回路を構成する際 に用いられる他、 メモリブロック 1 1 として D R A Mが使用され た場合に、 この D RAMが行うリフレッシュ (電気的な記憶保持 動作) 期間にデータを保持して行うァドレス動作にも用いられる 可変論理セル 2 0は、 前述の可変論理セル 1 0と同様に平面内 に 2次元マトリクス状に並べられ、 隣接する可変論理セル 2 0間 が相互に接続されることにより可変論理 L S Iが構成される。 ま た、 隣接する可変論理セル 2 0間のデータ入出力端子 D 0〜D 1 1 とアドレス入力端子 A 0〜A 1 1 とは、 第 6図と同様に隣接す る可変論理セル 2 0間で対向するデータ入出力端子とァドレス入 力端子とがデータレジスタおよびァドレスレジス夕を介して接続 される。 さらに、 可変論理セル 2 0は、 メモリブロック 1 1 に格 納する論理データによってスィッチ回路、 組み合わせ論理回路、 またはマルチプレクサのいずれかとして機能して論理変換を行う また、 可変論理セル 2 0のスキャンアウトデータが、 隣接する 可変論理セル 2 0のスキャンインデータとなるようにスキャンパ ス 2 3が順に接続されている。 これにより、 メモリプロック 1 1 のテス トモードにおいて、 メモリブロック 1 1から読み出された 内部データ信号 i d 0〜 i d l lを D R E G 2 1 a〜 2 1 dに取 り込んでシフ トし、 スキャンァゥ卜させることでメモリブロック 1 1内の不良ビッ トが容易に検出される。 そして、 この不良ビッ トを有するメモリプロック 1 1が明らかになれば、 その可変論理 セル 2 0を除いて正常な可変論理セル 2 0のみを用いて論理回路 を構成するようにすればよい。
以上のように、 可変論理セル 1 0 または可変論理セル 2 0で構 成された可変論理 L S I は、 さらに、 可変論理セルで構成される 組み合わせ論理回路の出力から入力に、 他の可変論理セルで構成 される複数のスィッチ回路によって信号経路を生成して帰還をか けることによって、 カウンタ回路等の順序論理回路が構成され、 その結果、 任意の論理回路を実現することができる。 従って、 ス イッチ回路を他の論理回路と区別せず、 任意の可変論理セルで構 成できるため、 所望の論理機能を有する論理回路を可変論理セル のマトリクス平面内のどの場所にでも自由に構成することができ 、 信号の経路や方向性も自由に定めることができる。
第 1 1図は、 可変論理セル 2 0で構成された可変論理 L S I に おいて、 所望の論理回路を構成するための具体的な手順を示す。 まず、 従来と同様に所望の論理機能を C言語で記述した設計デー タを作成し、 この設計データを HD Lなどの言語で記述されたデ 一夕に変換する。 ここで、 C言語による機能設計を省略して直接 H D Lで記述して設計デ一夕を作成してもよい。 次に、 HD Lで 記述された設計データから論理合成を行って、 ゲートレベルで表 現したデータに変換する。 そして、 ゲートレベルの設計デ一夕を 順序論理回路と組み合わせ論理回路に分離する。
続いて、 順序論理回路に使用する可変論理セル 2 0を決定する 。 組み合わせ論理回路については、 所望の論理を構成する可変論 理セル 2 0を決定する。 そして、 決定された上記可変論理セル 2 0間を接続するのに使用するスィッチ回路としての可変論理セル
2 0を決定する。 その後、 各セル内のメモリプロック 1 1に格納 するための論理データを生成し、 生成された論理データと、 メモ リブロック 1 1の所定の番地に書き込むためのァドレス信号とを 、 スキャンパス 2 3を介して各メモリブロック 1 1 に転送するの に適したビッ トス トリームに変換する。 そして、 そのビッ 卜ス 卜 リームをスキャンパス 2 3から転送し、 対応するメモリブロック 1 1 に格納する。 これによつて、 所望の論理機能を有する論理回 路が構築される。
ただし、 可変論理セル 1 0で構成された可変論理 L S I の場合 には、 スキャンパス 2 3は設けられていないので、 上記のビッ ト ス トリームを生成せずに、 論理デ一夕を外部データバス 1 3およ び外部ァドレスバス 1 4を介して各メモリブロック 1 1 に書き込 むこととなる。
次に、 第 1 2図は、 搭載される論理の圧縮を可能とする可変論 理セル 3 0を示す。 この可変論理セル 3 0には、 AR E G 2 2 a 〜 2 2 dの外側に沿つてマルチプレクサ (MUX) 3 1 a〜 3 1 dが設けられている。 メモリプロック 1 1 を挟むように横方向に 配置された MUX 3 1 aとMUX 3 1 c とは帰還信号線 3 2 a〜
3 2 f により互いに出力と入力の間で帰還がかけられ、 メモリブ ロック 1 1を挟むように縦方向に配置された MUX 3 1 bと MU X 3 1 dとは帰還信号線 3 3 a〜 3 3 f により互いに出力と入力 の間で帰還がかけられている。 なお、 この可変論理セル 3 0は、 第 1図に示した可変論理セル 1 0を用いて構成することもできる 。 この場合には、 可変論理セル.3 0の D R E G 2 1 a〜 2 1 dは D S E L 1 6 a〜 1 6 dによって置き換えられ、 AR E G 2 2 a 〜 2 2 dは A S E L 1 7 a〜 l 7 dによって置き換えられる。 第 1 3図は、 メモリブロック 1 1 を横方向に挟む MUX 3 1 a , 3 1 cの構成を示す。 MUX 3 1 a, 3 1 cは、 それぞれ 2つ の AND回路と 1つの O R回路とからなる回路部 3 4 a, 3 4 c と、 2つの AND回路からなる回路部 3 5 a, 3 5 c とを有する 。 回路部 3 4 a, 3 4 cは、 各アドレス入力端子毎に 1つずっ設 けられており、 回路部 3 4 a, 3 4 cの出力部は、 AR E G 2 2 a , 2 2 c を介してアドレス入力端子 A 0〜 A 2, A 6〜A 8に それぞれ接続されている。 また、 回路部 3 5 a , 3 5 cは、 各デ 一夕入出力端子毎に 1つずつ設けられており、 データ入出力端子 D 0〜D 2 , D 6〜D 8は、 D R E G 2 1 a, 2 1 c を介して回 路部 3 5 a, 3 5 cの入力部に接続されている。
ただし、 辺 1 2 aのアドレス入力端 A 0〜 A 2のうち 1つ (例 えば端子 A 2 ) は、 AR E G 2 2 aを介して MUX 3 1 a内の制 御信号線 3 6 aに接続されている。 この制御信号線 3 6 aは、 各 回路部 3 4 a , 3 5 aの 2つの A N D回路の入力端子に接続され ており、 一方の AND回路には論理が反転されるようにして接続 されている。 また、 辺 1 2 aのデータ入出力端子 D 6〜D 8のう ち 1つ (例えば端子 D 6 ) は、 D R E G 2 1 Cを介して MUX 3 1 c内の制御信号線 3 6 cに接続されている。 この制御信号線 3 6 cは、 各回路部 3 4 c , 3 5 cの 2つの AND回路の入力端子 に接続されており、 一方の AND回路には論理が反転されるよう にして接続されている。
回路部 3 5 cは、 制御信号線 3 6 cの論理が " 1 " のときには データ入出力端子 D 8から読み出された内部データ信号 i d 8 を そのまま向きを変えずに隣接する他の可変論理セル 3 0に転送し 、 制御信号線 3 6 c の論理が " 0 " のときには内部データ信号 i d 8を帰還信号線 3 2 aを介して MU X 3 1 aに転送する。 この 帰還信号線 3 2 aを介して転送された内部データ信号 i d 8は、 回路部 3 4 aに入力される。 このとき制御信号 3 6 aの論理が " 0 " であれば、 内部デ一タ信号 i d 8はそのメモリブロック 1 1 の自己のアドレス入力端子 A 0に帰還される。 一方、 制御信号線 3 6 aの論理が " 1 " であれば、 隣接する他の可変論理セル 3 0 から転送された内部ァドレス信号 i a 0がアドレス入力端子 A 0 に転送される。
なお、 回路部 3 5 a, 3 4 cに関しても同様であり、 制御信号 線 3 6 a , 3 6 c の論理が " 0 " のときには、 データ入出力端子 D 0から読み出された内部データ信号 i d 0は帰還信号線 3 2 b を介して自己のアドレス入力端子 A 8に帰還され、 制御信号線 3 6 a , 3 6 cの論理が " 1 " のときには、 隣接する可変論理セル 3 0 との間で内部データ信号 i d 0または内部ァドレス信号 i a 8が転送される。 図示しないが、 その他の端子に接続される回路 部についても同様である。 また、 図示しないが、 メモリブロック 1 1を縦方向に挟む MUX 3 1 b , 3 1 dの構成は MUX 3 1 a , 3 1 c と同様である。
可変論理セル 3 0は、 前述の可変論理セル 1 0 と同様に平面内 に 2次元マトリクス状に並べられ、 隣接する可変論理セル 3 0間 が相互に接続されることにより論理の圧縮を可能とする可変論理 L S Iが構成される。 第 1 4図 (A) は、 論理段数 α, iSで構成 される 2段の論理回路の一例を示す。 論理段数 において、 入力 された内部ァドレス信号 i a 0 , i a 1がそれぞれ N AND回路 3 7 aおよび N O R回路 3 7 bによつて論理演算され、 フリ ップ フロップ 3 7 cにラッチされる。 そして、 論理段数 /3において、 フリ ップフロップ 3 7 cにラッチされたデータのうち NAND回 路 3 7 aの出力データはインバータ 3 8 aによって反転されてフ リ ップフロップ 3 8 bにラッチされ、 N O R回路 3 7 bの出力デ 一夕はそのままの論理でフリップフロップ 3 8 bにラッチされ、 それぞれ内部データ信号 i d 8 , i d 7 として出力される。
このような 2つの論理段数を有する回路の論理を表現するには 、 可変論理セル 1 0または 2 0を用いた場合には 2つの可変論理 セルを組み合わせる必要があるが、 上記の様に構成された可変論 理セル 3 0を用いた場合には 1つの可変論理セルで表現すること ができる。 第 1 4図 (B ) は、 第 1 4図 (A) の回路の論理を表 現するために可変論理セル 3 0内のメモリブロック 1 1 に書き込 まれるべき論理データを示す。 制御信号線 3 6 a , 3 6 cを同一 の論理とするために、 データ入出力端子 D 6にはアドレス入力端 子 A 2 と同一論理の信号が与えられる。 すなわち、 端子 A 2の論 理が " 0 " の場合には論理段数 αの演算がなされるとともに、 デ 一夕入出力端子からアドレス入力端子に帰還がかかり、 そして端 子 A 2の論理が " 1 " となると論理段数 /3の演算がなされて出力 が行われる。 このように、 端子 A 2 , D 6は、 論理演算には用い られず、 MUX 3 1 a, 3 1 cの切り換え制御に用いられている メモリブロック 1 1に所望の論理を搭載する場合、 全ての端子 が論理変換に使用されれば論理の搭載効率は良いが、 全ての端子 が使用されるとは限らず、 いくつかの端子は未使用で余分となる ことがある。 この未使用の端子を上記の端子 A 2 , D 6のように して用いれば、 複数の論理段数を 1つの可変論理セル 3 0で表現 することができ、 1つの可変論理セルへの論理搭載効率を上げる ことができる。 なお、 横方向の論理圧縮について説明を行ったが 、 MU X 3 1 b , 3 1 dを用いることにより縦方向の論理圧縮も 同様に行うことができる。
次に、 第 1 5図は、 アドレス入力端子とデータ入出力端子と 各々 2段のフリップフロップに接続された可変論理セル 4 0を示 す。 この可変論理セル 4 0は、 可変論理セル 2 0の A R E G 2 2 a〜 2 2 dの外側に沿って、 内部データ信号 i d 0〜 i d 8 をラ ツチするためのフリップフロップ ( D F F ) 4 1 a〜 4 1 dが配 置され、 さらにその外側に沿って内部アドレス信号 i a 0〜 i a 8をラッチするためのフリップフロップ (AF F) 4 2 a〜 4 2 dが配置されたものである。 D R E G 2 1 a〜 2 1 dおよび AR E G 2 2 a〜 2 2 dは、 シフ ト動作を行わない場合は、 信号を並 列転送させる通常のフリップフロップとなるので、 D R E G 2 1 a〜 2 1 dと D F F 4 1 a〜 4 1 dは、 セル間で内部デ一タ信号
1 d 0〜 i d 8を並列に転送する 2段のフリップフロップとして 機能し、 A R E G 2 2 a〜 2 2 dと A F F 4 2 a〜 4 2 dは、 セ ル間で内部アドレス信号 a d 0〜 a d 8を並列に転送する 2段の フリ ップフロップとして機能する。 なお、 各フリップフロップに は、 クロック信号が入力されているが図示を省略している。 また 、 この可変論理セル 4 0は、 第 1図に示した可変論理セル 1 0を 用いて構成することもできる。 この場合、 D R E G 2 1 a〜 2 1 dは D S E L 1 6 a〜 1 6 dによって置き換えられ、 AR E G 2
2 a〜 2 2 dは A S E L 1 7 a〜 l 7 dによって置き換えられる このように構成された可変論理セル 4 0は、 前述の可変論理セ ル 1 0 と同様に平面内に 2次元マトリクス状に並べられ、 隣接す る可変論理セル 4 0間が相互に接続されることにより、 使用する 端子数を削減することが可能な可変論理 L S Iが構成される。 第 1 6図 (A) は、 2入力 i n l, i n 2の NAND回路 4 3 aと 、 2入力 i n 3, i n 4の AND回路 4 3 bと、 NAND回路 4 3 aおよび AND回路 4 3 bの出力データ 0 u t 1, o u t 2を ラッチするフリ ップフロップ 4 3 c とからなる 4入力 2出力の回 路を示す。 可変論理セル 1 0または 2 0を用いてこの回路を構成 しょうとすると、 各辺 1 2 a〜 l 2 dにはアドレス入力端子が各 々 3つずつしか設けられていないため、 4入力を実現するために は少なく とも 2つの辺のアドレス入力端子を同時に使用するか、 または 2つの可変論理セル 1 0または 2 0を用いる必要がある。 上記のように構成された可変論理セル 4 0を用い、 第 1 6図 ( B ) に示す論理データをメモリブロック 1 1内に書き込むことに より、 1つの可変論理セル 4 0で第 1 6図 (A) の回路を実現す ることができる。 第 1 6図 (B) の論理データによると、 可変論 理セル 4 0は、 端子 A 2に与えられた内部アドレス信号 i a 0の 論理が " 0 " の場合には、 端子 A 0, A 1に与えられた内部ァド レス信号 i a 0, i a 1 (上記 i n l, i n 2 ) の NAND論理 演算を行い、 演算結果を端子 D 8から内部データ信号 i d 8 (上 記 o u t l ) として出力する。 端子 A 2に与えられた内部アドレ ス信号 i a 0の論理が " 1 " の場合には、 端子 A 0, A 1 に与え られた内部アドレス信号 i a 0 , i a 1 (上記 i n 3, i n 4) の NO R論理演算を行い、 演算結果を端子 D 8から内部デ一夕信 号 i d 8 (上記 o u t 2 ) として出力する。
従って、 内部ァドレス信号 i a 2が " 0 " と " 1 " のそれぞれ の場合において、 内部アドレス信号 i a 0〜 i 2を八? 1^ 4 2 aおよび AR E G 2 2 aに順次入力してラッチさせるとともに、 メモリブロック 1 1の一辺 1 2 aに配列された端子 A 0〜A 2に 入力し、 辺 1 2 cの端子 D 8から演算結果を示す内部データ信号 i d 8を順次出力して D R E G 2 1 cおよび D F F 4 1 cにラッ チさせるとともに、 順にデータ o u t 1 , o u t 2がシリアルに 出力される。 このように、 可変論理セル 4 0を用いると、 3入力 1出力の端子数で第 1 6図 (A) の回路を実現することができる 第 1 7図に示した可変論理セル 5 0は、 可変論理セル 3 0 と可 変論理セル 4 0の構成を兼ね備えており、 アドレス入力端子とデ 一夕入出力端子とがそれぞれ 2段のフリップフロップに接続され 、 自己のアドレス入力端子とデータ入出力端子との間で帰還がか けられる。 この可変論理セル 5 0を用いると、 論理の搭載効率を さらに高めることができる。
第 1 8図は、 デ一夕入出力端子とァドレス入力端子との間に帰 還経路を有する可変論理セル 3 0または 5 0で作られる 2次元の 初源メモリ論理空間が圧縮されるイメージを示す。 初源メモリ空 間は、 上記の自己のァドレス入力端子とデ一夕入出力端子との間 での帰還により、 横方向および縦方向へと折り畳まれ、 圧縮され たメモリ論理空間となる。
なお、 上記実施形態では、 メモリブロック 1 1の各辺 1 2 a〜 1 2 dにァドレス入力端子とデータ入出力端子とが交互に並ぶよ うに配置したが、 必ずしも 1端子毎に交互に並べる必要はなく、 各辺にアドレス入力端子とデータ入出力端子とが共に設けられて いればよい。 例えば、 第 1 9図 (A) に示すように、 アドレス入 力端子とデータ入出力端子を各々 2端子ずっセッ トにして各辺 1 2 a ~ 1 2 dに配置してもよいし、 第 1 9図 (B ) に示すように 、 各辺 1 2 a〜 1 2 dにおいてアドレス入力端子とデータ入出力 端子を 2つにグループ分けして配置するようにしてもよい。 この とき、 各端子は隣接するメモリブロック 1 1間でアドレス入力端 子とデ一タ入出力端子とが対向するように配置されればよい。
また、 上記実施形態では、 メモリブロック 1 1 を四辺 1 2 a〜 1 2 dで囲まれた方形としたが、 これに代えて、 メモリブロック 1 1 を第 2 0図 (A ) に示すような 3辺で囲まれた三角形として もよい。 このメモリブロック 1 1 を備えた可変論理セル 1 0 , 2 0 , 3 0, 4 0, 5 0のいずれかを三角形にして、 第 2 0図' (B ) のように 2次元平面状にセルを敷き詰めると、 可変論理 L S I が構成される。 この三角形のメモリブロック 1 1は、 メモリ容量 が小さい場合、 すなわち端子数が少ない場合に各辺へ端子を効率 よく配置することができる。 また、 その三角形の形状により斜め 方向への信号伝達を短い経路で効率よく行うことができる。 さら には、 メモリブロック 1 1を五角形以上の多角形とすることがで きることは言うまでもない。 このように、 メモリ容量を考慮して メモリブロック 1 1の形状およびその配置を決定することにより 、 論理の搭載効率をさらに高めることができる。
また、 上記実施形態では、 可変論理セルを 2次元平面内に配置 するように相互に端子間を接続したが、 これに代えて、 可変論理 セルを 3次元的に配置するようにしてもよい。 例えば、 第 2 1図 ( A ) に示すように、 アドレス入力端子およびデータ入出力端子 をメモリブロック 1 1の四辺 1 2 a〜 1 2 dの他、 メモリブロッ ク 1 1が備える上面 1 2 eおよび下面 1 2 f にも配置する。 そし て、 第 2 1図 (B ) に示すように、 このメモリブロック 1 1を備 えた可変論理セル 1 0, 2 0 , 3 0 , 4 0, 5 0のいずれかを 2 次元平面状に敷き詰め、 メモリブロック 1 1間の辺 1 2 a〜 1 2 dを相互に配線し、 この 2次元平面状の可変論理セルを複数個積 層するようにして上下に隣接するメモリブロック 1 1間の上面 1 2 e と下面 1 2 f の間を配線する。
第 2 2図の断面図に示すように、 対向する端子 A 4 , D 5間、 および端子 A 5 , D 4間の接続が行われる。 図示しないが、 これ らの端子間に前述のデータセレクタおよびアドレスセレクタ、 ま たは、 前述のデータレジスタおよびァドレスレジス夕が介装され 、 さらには前述のマルチプレクサゃフリップフ口ップが介装され る。 これにより、 上下方向 (積層方向) への論理の圧縮も可能と なる。
さらに、 上記実施形態では、 1つの可変論理セル 3 0内にデー タ入出力端子から自己のアドレス入力端子に帰還をかけるための MUX 3 1 a〜 3 1 dを設けたが、 この MUX 3 1 a〜 3 1 dは 、 複数の可変論理セル 1 0 (または 2 0 ) を用いて構成されるよ うにしてもよい。 可変論理セル 1 0 (または 2 0 ) では、 各端子 に 1つのフリップフ口ップが接続されているため、 少なく とも 5 つの可変論理セル 1 0 (または 2 0 ) を用いることで、 第 1 7図 に示した、 各端子に 2段のフリップフロップが接続され、 かつデ 一夕入出力端子から自己のアドレス入力端子に帰還経路を有する 可変論理セル 5 0を構成することができる。
以上の可変論理 L S I は、 L S Iチップの自己テス トに利用可 能である。 つまり、 最近の S O C (System on Chip) では、 内蔵 メモリがチップ全体の 5 0〜 8 0 %を占めているため、 L S Iチ ップに内蔵されるメモリを利用することで効率よく 自己テス トを 行うことが期待できる。
第 2 3図のフローチャートを用いて第 2 4図に示す S O C 6 0 のテス ト方法を説明する。 S O C 6 0には、 内蔵メモリ 6 1 を構 成する S R AM 6 1 aとして上記の可変論理セル 1 0, 2 0 , 3 0 , 4 0 , 5 0のいずれかが用いられている。
まず、 一部の S RAM 6 1 aを用いて他の S RAM 6 1 aをテ ス トするためのテストパターンを発生する AL P G (Algorithmi c Pattern Generator ) を Ή D L記述によって構成する。 これに より、 他の S R AM 6 1 aをテストし、 テス ト結果を判定する。 テス ト結果がフェイルであれば、 フェイル信号を発生してテス ト を終了する。 一方、 テスト結果がパスと判定された場合には、 こ のテストされた S RAM 6 1 aを含めた S RAM 6 1 aにより、 ロジック回路部分をテス トするためのテスト回路を HD L記述に よつて構成するとともに、 そのテス トパターンを格納するメモリ を上記テス トをパスした S RAM 6 1 aで構成する。 このメモリ にテス トパターンを記述して、 ユーザロジック回路 6 2や C P U 6 3をテス トする。 このテス 卜にフェイルすると、 フェイル信号 を発生してテス トを終了する。
このテス トをパスした場合には、 一部の S R A M 6 1 aに D R AM 6 4のテス トパターンを生成する AL P Gを構成し、 かつ他 の S RAM 6 1 aを用いてそのテスト結果を格納するフェイルメ モリを構成する。 そして、 C P U 6 3に D R AM 6 4の救済アル ゴリズムをロードして、 AL P Gで D RAM 6 4をテス トすると .ともに、 救済ビッ ト線 6 4 aによる不良ビッ トのビッ ト救済を実 施する。 D RAMがこのテストをフェイルし、 かつ救済不可能で あれば、 フェイル信号を発生してテス トを終了する。 一方、 テス トをパスした場合には、 テスト回路を構成した S RAM 6 1 aを 通常のメモリとし、 S O C 6 0の記憶装置として動作させる。
以上はテス トにおける可変論理セルの活用であるが、 可変論理 セル 1 0, 2 0 , 3 0 , 4 0, 5 0のいずれかで構成された内蔵 メモリ 6 1を、 テスト時以外の通常動作時もプログラマブルデバ イスとして使用し、 S〇 C 6 0をプログラマブルデバィス内蔵の L S Iチップとすることもできる。 また、 複数の C P Uをこの可 変論理セルで連結して構成した S O Cも考えられ、 これにより並 列演算等の処理を高速化することができる。 さらに、 本発明を S I P (System In Package) などへ応用することもできる。
また、 この可変論理 L S I は、 コンピュータの記憶装置や演算 装置に利用できる。 現在の一般のコンピュータは、 入力装置 (キ 一ボード) 、 出力装置 (C RTディスプレイ) 、 記憶装置 (主メ モリやキャッシュメモリやレジスタ) 、 演算装置 (AL U) など で構成されている。 このコンピュータでは、 主メモリ と AL Uと の間に高速のキャッシュメモリとレジスタを配置して、 その間の データ転送を高速に行わせ、 演算処理の高速化を図っている。 こ れは、 A L Uの演算処理以外に各記憶装置間のアドレス演算が必 要であることを意味し、 高速処理に対する弊害となっている。 そ こで、 この可変論理 L S I をコンピュータに適用すると、 上記の 記憶装置と演算装置を一体に構成することができ、 各記憶装置間 のアドレス演算の必要がなくなるので、 演算処理の高速化を期待 することができる。
本発明の半導体集積回路は、 第 1のメモリブロックの第 1辺の 少なく とも 1つのアドレス入力端子を、 隣接する第 2のメモリブ ロックの対向する辺のデータ入出力端子に接続し、 第 1のメモリ ブロックの第 1辺の少なくとも 1つのデ一夕入出力端子を、 第 2 のメモリブロックの対向する辺のアドレス入力端子に接続するよ うにしたので、 1つのメモリブロックは、 外部装置により書き込 まれる論理データにより、 スィッチ回路や組み合わせ論理回路と して動作し、 また複数のメモリブロックは順序論理回路として動 作することもできる。 これにより、 本発明の半導体集積回路は、 論理ブロックとスィッチ回路の区別をなく したフレキシブルな可 変論理セルにより構成され、 所望の論理回路を効率よく構成する ことができる。
また、 メモリブロックの自己のデータ入出力端子からアドレス 入力端子へ内部データ信号の帰還を行うようにしたことにより、 搭載される論理の圧縮を行うことができ、 各メモリブロックの容 量を節約することが可能となる。
さらに、 本発明の半導体集積回路は、 大部分がメモリブロック によって構成されるため、 従来のメモリデバイスと同様な 2層配 線程度のプロセスで製造することが可能となり、 少なく とも 5層 配線を要した F P G Aに比して製造コストが安価であるという利 点がある。 産業上の利用可能性
本発明の半導体装置は、 F P G Aのようなフィードで論理をプ ログラム可能なロジック I Cとして利用できる他に、 S〇 Cなど の内蔵メモリゃコンピュー夕の記憶装置や演算装置にも'利用でき る。

Claims

請 求 の 範 囲
1 . 複数の辺で囲まれた領域毎に形成された複数のメモリプロッ クと、
前記辺毎に設けられた複数のアドレス入力端子およびデータ入 出力端子と、
前記複数のメモリブロックのうち第 1のメモリブロックの第 1 の辺に隣接する第 2のメモリブロックとの間で、 前記第 1の辺の 少なく とも 1つのアドレス入力端子を、 前記第 2のメモリブロッ クの対向する辺のデータ入出力端子に接続し、 前記第 1の辺の少 なくとも 1つのデータ入出力端子を、 前記第 2のメモリブロック の対向する辺のァ ドレス入力端子に接続する接続手段と、 から論 理回路を構成することを特徴とする半導体集積回路。
2 . 前記メモリプロックは、 外部装置により予め書き込まれたデ 一夕によって、 前記アドレス入力端子に入力される内部ァドレス 信号と前記データ入出力端子から出力される内部データ信号との 関係を論理変換することを特徴とする請求項 1記載の半導体集積 回路。
3 . 前記メモリブロックは、 スィッチ回路として動作することを 特徴とする請求項 2記載の半導体集積回路。
4 . 前記メモリブロックは、 組み合わせ論理回路として動作する ことを特徴とする請求項 2記載の半導体集積回路。
5 . 複数個の前記メモリブロックは、 その一部で帰還経路を形成 することにより、 全体として順序論理回路として動作することを 特徴とする請求項 2記載の半導体集積回路。
6 . 前記接続手段は、 外部装置から送られる外部入力アドレス信 号および外部入力データ信号をそれぞれ切り換え選択可能に前記 メモリブロックに入力するためのセレクタをさらに備えているこ とを特徴とする請求項 1ないし 5いずれかに記載の半導体集積回 路。
7 . 前記接続手段は、 外部装置から送られる外部入力アドレス信 号および外部入力データ信号をスキャンパスを介し、 シフ ト動作 によってシリアルに前記メモリブロックに入力するためのシフタ ブルレジスタをさらに備えていることを特徵とする請求項 1ない し 5いずれかに記載の半導体集積回路。
8 . 前記各シフタブルレジス夕は、 前記スキャンパスにより直列 に連結されていることを特徴とする請求項 7記載の半導体集積回 路。
9 . 前記各メモリブロック内の不良ピッ トは、 前記スキャンパス を介して検出されることを特徴とする請求項 9記載の半導体集積 回路。
1 0 . 前記接続手段は、 第 1のメモリブロックのデータ入出力端 子から出力される内部データ信号を自己のアドレス入力端子に帰 還するか、 または、 この内部データ信号を隣接する第 2のメモリ プロックへ転送するかを選択可能とするマルチプレクサをさらに 備えていることを特徴とする請求項 1ないし 9のいずれかに記載 の半導体集積回路。
1 1 . 前記複数のアドレス入力端子およびデータ入出力端子のう ち、 前記論理変換に用いられていないアドレス入力端子およびデ 一夕入出力端子を前記マルチプレクサの選択制御に用いることで 、 前記メモリブロックに搭載される論理の圧縮を行うことを特徴 とする請求項 1 0記載の半導体集積回路。
1 2 . 前記各メモリブロックは、 3辺で囲まれた三角形をしてい ることを特徴とする請求項 1ないし 1 1いずれかに記載の半導体 集積回路。
1 3 . 前記各メモリブロックは、 複数のアドレス入力端子および データ入出力端子が設けられた上面および下面をさらに備えてお り、 前記接続手段は、 第 1のメモリブロックの上面のアドレス入 力端子をその上面に隣接するメモリブロックの下面のデータ入出 力端子に接続し、 前記第 1のメモリブロックの上面のデータ入出 力端子をその上面に隣接する前記メモリブロックの下面のアドレ ス入力端子に接続することを特徴とする請求項 1ないし 1 2のい ずれかに記載の半導体集積回路。
PCT/JP2003/009030 2003-07-16 2003-07-16 半導体集積回路 WO2005008893A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
AU2003248073A AU2003248073A1 (en) 2003-07-16 2003-07-16 Semiconductor integrated circuit
JP2005504364A JP4334541B2 (ja) 2003-07-16 2003-07-16 半導体集積回路
PCT/JP2003/009030 WO2005008893A1 (ja) 2003-07-16 2003-07-16 半導体集積回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2003/009030 WO2005008893A1 (ja) 2003-07-16 2003-07-16 半導体集積回路

Publications (2)

Publication Number Publication Date
WO2005008893A1 true WO2005008893A1 (ja) 2005-01-27
WO2005008893A8 WO2005008893A8 (ja) 2007-06-21

Family

ID=34074100

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/009030 WO2005008893A1 (ja) 2003-07-16 2003-07-16 半導体集積回路

Country Status (3)

Country Link
JP (1) JP4334541B2 (ja)
AU (1) AU2003248073A1 (ja)
WO (1) WO2005008893A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7970716B2 (en) 2006-11-21 2011-06-28 Electronics And Telecommunications Research Institute Method for expressing emotion and intention in remote interaction and real emotion system thereof
JP2020010354A (ja) * 2014-01-17 2020-01-16 株式会社半導体エネルギー研究所 半導体装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06276086A (ja) * 1993-03-18 1994-09-30 Fuji Xerox Co Ltd フィールドプログラマブルゲートアレイ
JPH11510038A (ja) * 1996-05-20 1999-08-31 アトメル・コーポレイション 分散型ramを有しかつセルの利用率が高められた、フィールドプログラマブルゲートアレイ
JP2000036738A (ja) * 1998-05-12 2000-02-02 Nippon Telegr & Teleph Corp <Ntt> 書き換え可能な論理回路およびラッチ回路
JP2000049591A (ja) * 1998-07-31 2000-02-18 Nippon Telegr & Teleph Corp <Ntt> 書き換え可能な論理回路
WO2000052753A1 (fr) * 1999-03-04 2000-09-08 Hitachi, Ltd. Circuit integre a semiconducteur, et procede de conception de circuits integres logiques comprenant ledit circuit
JP2002164780A (ja) * 2000-11-29 2002-06-07 Nippon Telegr & Teleph Corp <Ntt> プログラマブルセルアレイ回路
JP2002252558A (ja) * 2000-12-20 2002-09-06 Nippon Telegr & Teleph Corp <Ntt> プログラマブル論理セルアレイ回路及びその初期化方法
JP2003149300A (ja) * 2001-11-16 2003-05-21 Hitachi Ltd テスト方法および半導体装置
JP2003224468A (ja) * 2002-01-31 2003-08-08 Hitachi Ltd 半導体集積回路および製造方法並びにテスト方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06276086A (ja) * 1993-03-18 1994-09-30 Fuji Xerox Co Ltd フィールドプログラマブルゲートアレイ
JPH11510038A (ja) * 1996-05-20 1999-08-31 アトメル・コーポレイション 分散型ramを有しかつセルの利用率が高められた、フィールドプログラマブルゲートアレイ
JP2000036738A (ja) * 1998-05-12 2000-02-02 Nippon Telegr & Teleph Corp <Ntt> 書き換え可能な論理回路およびラッチ回路
JP2000049591A (ja) * 1998-07-31 2000-02-18 Nippon Telegr & Teleph Corp <Ntt> 書き換え可能な論理回路
WO2000052753A1 (fr) * 1999-03-04 2000-09-08 Hitachi, Ltd. Circuit integre a semiconducteur, et procede de conception de circuits integres logiques comprenant ledit circuit
JP2002164780A (ja) * 2000-11-29 2002-06-07 Nippon Telegr & Teleph Corp <Ntt> プログラマブルセルアレイ回路
JP2002252558A (ja) * 2000-12-20 2002-09-06 Nippon Telegr & Teleph Corp <Ntt> プログラマブル論理セルアレイ回路及びその初期化方法
JP2003149300A (ja) * 2001-11-16 2003-05-21 Hitachi Ltd テスト方法および半導体装置
JP2003224468A (ja) * 2002-01-31 2003-08-08 Hitachi Ltd 半導体集積回路および製造方法並びにテスト方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7970716B2 (en) 2006-11-21 2011-06-28 Electronics And Telecommunications Research Institute Method for expressing emotion and intention in remote interaction and real emotion system thereof
JP2020010354A (ja) * 2014-01-17 2020-01-16 株式会社半導体エネルギー研究所 半導体装置

Also Published As

Publication number Publication date
WO2005008893A8 (ja) 2007-06-21
AU2003248073A8 (en) 2005-02-04
JPWO2005008893A1 (ja) 2006-09-07
JP4334541B2 (ja) 2009-09-30
AU2003248073A1 (en) 2005-02-04

Similar Documents

Publication Publication Date Title
US8677306B1 (en) Microcontroller controlled or direct mode controlled network-fabric on a structured ASIC
US5809281A (en) Field programmable gate array with high speed SRAM based configurable function block configurable as high performance logic or block of SRAM
JP3471088B2 (ja) 改良されたプログラマブル論理セルアレイアーキテクチャ
US7463062B2 (en) Structured integrated circuit device
JP3867862B2 (ja) 半導体集積回路およびメモリの検査方法
US7514959B2 (en) Structured integrated circuit device
JP2001325800A (ja) 半導体集積回路装置および製造方法
CN101617242A (zh) 集成电路中的输入/输出压缩和引脚减少
Doumar et al. Defect and fault tolerance FPGAs by shifting the configuration data
JP6250548B2 (ja) 再構成可能な半導体装置の論理構成方法
JPH07175719A (ja) ワード長をプログラム可能なメモリ
JP6564186B2 (ja) 再構成可能な半導体装置
Tseng et al. ReBISR: A reconfigurable built-in self-repair scheme for random access memories in SOCs
TWI597737B (zh) Reconfigurable semiconductor device
US7218134B1 (en) Adjustable data loading circuit with dynamic test mode switching for testing programmable integrated circuits
TW201349750A (zh) 可再構成之半導體裝置
JPH06109816A (ja) 論理集積回路
US7314174B1 (en) Method and system for configuring an integrated circuit
JPH03127853A (ja) 半導体集積回路装置
US9431075B2 (en) Memory macro configuration and method
US9621159B2 (en) Reconfigurable semiconductor integrated circuit and electronic device
WO2005008893A1 (ja) 半導体集積回路
JP2002237198A (ja) 半導体記憶回路装置並びにその検査方法及びセル不良救済方法
JPH1166899A (ja) メモリテスト回路
Hill et al. Preliminary description of Tabula Rasa, an electrically reconfigurable hardware engine

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2005504364

Country of ref document: JP

122 Ep: pct application non-entry in european phase