US20090290444A1 - Semiconductor device - Google Patents

Semiconductor device Download PDF

Info

Publication number
US20090290444A1
US20090290444A1 US12/094,768 US9476808A US2009290444A1 US 20090290444 A1 US20090290444 A1 US 20090290444A1 US 9476808 A US9476808 A US 9476808A US 2009290444 A1 US2009290444 A1 US 2009290444A1
Authority
US
United States
Prior art keywords
memory cell
semiconductor device
cell blocks
read
data
Prior art date
Legal status (The legal status 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 status listed.)
Abandoned
Application number
US12/094,768
Inventor
Masayuki Satoh
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Taiyo Yuden Co Ltd
Original Assignee
Individual
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 Individual filed Critical Individual
Assigned to TAIYO YUDEN CORP. reassignment TAIYO YUDEN CORP. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: GENESIS TECHNOLOGY, INC.
Assigned to GENESIS TECHNOLOGY, INC. reassignment GENESIS TECHNOLOGY, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SATOH, MASAYUKI
Publication of US20090290444A1 publication Critical patent/US20090290444A1/en
Abandoned legal-status Critical Current

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/17748Structural details of configuration resources
    • H03K19/1776Structural details of configuration resources for memories
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17724Structural details of logic blocks
    • H03K19/17728Reconfigurable logic blocks, e.g. lookup tables

Definitions

  • the present invention relates to a semiconductor device capable of operating a memory as a logic circuit.
  • LSIs large scale integrations
  • An FPGA is a semiconductor device (e.g., an LSI) that allows a user to program a logic circuit after being manufactured.
  • an FPGA includes a plurality of components (e.g., a logic circuit, interconnection lines, and switches), a multilayer interconnection structure including a plurality of interconnection layers and a highly advanced manufacturing technique are disadvantageously required for a semiconductor process.
  • Japanese Unexamined Patent Application Publication No. 2003-224468 describes a semiconductor device that functions as a logic circuit after a truth table is written to a memory, such as a static random access memory (SRAM). When an address is input to the semiconductor device, the semiconductor device outputs the content of the memory.
  • SRAM static random access memory
  • memory cell blocks each including a plurality of memory cells each storing a predetermined amount of data are arranged in an array.
  • Data output from one of the memory cell blocks is output to only two of the neighboring four memory cell blocks (for example, only the right block in the horizontal direction and the lower block in the vertical direction). Accordingly, it is difficult to operate as a logic circuit that requires return of data (i.e., feedback of data to the memory cell from which data was output).
  • the optimization of the scale of the memory cell block e.g., the number of inputs and the number of outputs is not described.
  • a semiconductor device includes a plurality of memory cell blocks, each including a plurality of memory cells each storing a predetermined amount of data.
  • Each of the memory cell blocks stores, in the memory cells thereof, truth table data used for outputting desired logical values in response to input of a given address so as to function as a logic circuit.
  • the number of inputs and the number of outputs of the memory cell block is three or more, and the memory cell blocks are connected to each other so that three or more outputs from one memory cell block are input to other three or more memory cell blocks.
  • a memory that functions as a logic circuit can easily perform data feedback, and the scale of a memory cell block can be optimized.
  • FIG. 1 is a block diagram of a semiconductor device and an information processing apparatus according to an embodiment of the present invention
  • FIG. 2 is an exemplary configuration diagram of a memory cell which is a storage element of the semiconductor device shown in FIG. 1 ;
  • FIG. 3 is an exemplary configuration diagram of a memory cell block
  • FIG. 4 is a connection diagram of readout ports of the semiconductor device
  • FIG. 5 is an exemplary internal configuration diagram of the semiconductor device
  • FIG. 6 is an example configuration diagram of a 3-bit adder
  • FIG. 7A is a schematic illustration of the memory cell block, and FIG. 7B is a truth table stored in a first memory cell block group;
  • FIG. 8A is a schematic illustration of the memory cell block, and FIG. 8B is a truth table stored in a second memory cell block group;
  • FIG. 9A is a schematic illustration of the memory cell block, and FIG. 9B is a truth table stored in a third memory cell block group;
  • FIG. 10 is an exemplary connection diagram of readout ports of a semiconductor device
  • FIG. 11 is an exemplary internal configuration diagram of the semiconductor device.
  • FIG. 12 is a flow chart of an exemplary process performed when bit data is loaded in the semiconductor device that functions as a logic circuit.
  • FIG. 1 is a block diagram of a semiconductor device and an information processing apparatus according to the present embodiment.
  • An information processing apparatus 100 is a computer apparatus.
  • the information processing apparatus 100 includes an input unit 101 (e.g., a keyboard), a storage unit 102 (e.g., a hard disk), a memory 103 (e.g., a random access memory (RAM)), an output unit 104 (e.g., a cathode ray tube (CRT)), a communication unit 105 serving as communication equipment, and a processing unit 106 (e.g., a central processing unit (CPU)).
  • an input unit 101 e.g., a keyboard
  • storage unit 102 e.g., a hard disk
  • a memory 103 e.g., a random access memory (RAM)
  • an output unit 104 e.g., a cathode ray tube (CRT)
  • a communication unit 105 serving as communication equipment
  • a processing unit 106
  • bit data generated by the information processing apparatus 100 may be stored in a read only memory (ROM) (not shown).
  • ROM read only memory
  • a semiconductor device 110 is connected to the communication unit 105 of the information processing apparatus 100 .
  • the semiconductor device 110 is a storage device similar to a widely used SRAM.
  • the semiconductor device 110 is described in more detail below with reference to FIG. 2 and the subsequent drawings.
  • FIG. 2 is a configuration diagram of a memory cell which is a storage element of the semiconductor device 110 shown in FIG. 1 .
  • a memory cell 200 includes read word lines 201 and 202 , a write word line 211 , read data lines 221 and 222 , write data lines 231 and 232 , gates 241 , 242 , 251 , 252 , 261 , and 262 , and a flip-flop 271 .
  • the gates 241 , 242 , 251 , 252 , 261 , and 262 are of a negative-metal oxide semiconductor (N-MOS) type.
  • these gates may be of a positive-metal oxide semiconductor (P-MOS) type.
  • these gates may be of a complex gate type including an N-MOS type and a P-MOS type. In such a case, peripheral circuits can be appropriately changed as needed.
  • the read word lines 201 and 202 are interconnection lines to which a voltage is applied when data is read out from the memory cell 200 .
  • the gates 241 and 242 are open.
  • the gates 251 and 252 are open.
  • the write word line 211 is an interconnection line to which a voltage is applied when data is written to the memory cell 200 .
  • the gates 261 and 262 are open.
  • the read word lines 221 and 222 are interconnection lines used for reading out data stored in the flip-flop 271 when a predetermined voltage is applied to the read word lines 201 and 202 so that the gates 241 , 242 , 251 , and 252 are open.
  • data 11011 is read out from the read word line 221
  • data “1” is read out from the read word line 222 .
  • data “0” is read out from the read word line 222 .
  • the read word lines 221 and 222 operate as a differential signal system.
  • the write data lines 231 and 232 are interconnection lines used for writing data to the flip-flop 271 when a voltage is applied to the write word line 211 so that the gates 261 and 262 are open.
  • data “0” is written from the write data line 231
  • data “1” is written from the write data line 232 .
  • data “0” is written from the write data line 232 .
  • the flip-flop 271 holds binary data (“0”, or “1”) stored in the memory cell 200 in the above-described manner.
  • FIG. 3 is a configuration diagram of a memory cell block in an internal structure of the semiconductor device 110 shown in FIG. 1 (see FIG. 2 if necessary).
  • a memory cell block 300 includes a plurality of the memory cells 200 arranged in an array and connected to each other and read address decoders 311 and 312 . As described above, by disposing the read address decoders 311 and 312 of the read word lines 201 and 202 on the left and right sides of the memory cell block 300 , the memory cell block 300 can have the following interconnection function.
  • the read word lines 221 and 222 are connected to another memory cell block 300 (not shown) at positions located above the uppermost and outer memory cells 200 , that is, the memory cell 200 (Cell 31 , 0 ) and the memory cell 200 (Cell 31 , 3 ).
  • the read word lines 221 and 222 are connected to another memory cell block 300 (not shown) at positions below the lowermost and inner memory cells 200 , that is, the memory cell 200 (Cell 0 , 1 ) and the memory cell 200 (Cell 0 , 2 ).
  • the read word lines 221 and 222 are disconnected at positions located above the uppermost and inner memory cells 200 , that is, the memory cell 200 (Cell 31 , 1 ) and the memory cell 200 (Cell 31 , 2 ).
  • the read word lines 221 and 222 are disconnected at positions located below the lowermost and outer memory cells 200 , that is, the memory cell 200 (Cell 0 , 0 ) and the memory cell 200 (Cell 0 , 3 ).
  • pairs of the outer read data interconnection lines are connected upwardly while pairs of the inner read data interconnection lines are connected downwardly.
  • the scale of the output (readout) of the memory cell block 300 can be minimized, and therefore, the load of a variety of data processing can be reduced.
  • a plurality of data items can be output in a plurality of directions.
  • the read address decoder 311 is disposed on the left side so as to receive a plurality of address differential signals from address input lines 322 .
  • the read address decoder 312 is disposed on the right side so as to receive a plurality of address differential signals from address input lines 323 .
  • any one of the plurality of read word lines 331 to 362 (each corresponding to the read word line 202 shown in FIG. 2 ) can be selected on the basis of the inputs from the address input lines 322 , the address input lines 323 , and a select line 301 (an address selection line that selects a particular address). Thereafter, a voltage can be applied to the selected read word line.
  • the select line 301 includes an inverter 302 .
  • the read address decoder 311 includes a plurality of logic circuits 370 (e.g., AND circuits).
  • a write word line 371 (corresponding to the write word line 211 shown in FIG. 2 ) is connected to a write address decoder 411 (see FIG. 5 ).
  • logic circuits of the read address decoder 312 are similar to those of the read address decoder 311 , the descriptions thereof are not repeated (for example, a logic circuit 380 is connected to a read word line 381 ).
  • switching between the adder and the subtractor can be conducted instantaneously by simply switching a signal from the select line 301 .
  • switching between the adder and an original storage device can be conducted.
  • the memory cell block 300 has been described in detail. As described above, by arranging the memory cells 200 into a 32 ⁇ 4 array and decreasing the lengths of the read word lines 221 and 222 (see FIG. 2 ), the need for a sense amplifier can be eliminated. Therefore, the circuits can be simplified.
  • FIG. 4 is a connection diagram of readout ports (pairs of upper and lower outputs of the read data line shown in FIG. 3 and pairs of inputs from the address input lines 322 and 323 ) of the semiconductor device 110 shown in FIG. 1 .
  • FIG. 4 only an upper left portion of the semiconductor device 110 is illustrated when viewed in plan.
  • an input A 0 (for simplicity, hereinafter simply referred to as “A 0 ”, and the same for “A 1 ” to “A 3 ”) represents a combination of A 0 and /A 0 shown in FIG. 3 . The same applies to A 1 to A 3 .
  • an output D 0 (for simplicity, hereinafter simply referred to as “D 0 ”, and the same for “D 1 ” to “D 3 ”) represents a combination of two read data lines of the memory cell 200 (Cell 31 , 0 ) shown in FIG. 3 . The same applies to D 1 to D 3 .
  • a 0 to A 3 and D 0 to D 3 of the memory cell blocks 300 d to 300 l are connected as shown in FIG. 4 .
  • a driver circuit 420 converts a signal input from an external apparatus to this device (the semiconductor device 110 ) into a differential signal.
  • an amplifier 430 amplifies the input differential signal, and converts the differential signal to a normal signal. The amplifier 430 then outputs the normal signal to the external apparatus.
  • the semiconductor device 110 can easily achieve feedback of data. More specifically, for example, when data is transmitted from D 3 of the memory cell block 300 d to A 1 of the memory cell block 300 g , a truth table indicating that data input from A 1 is output from D 1 is written to the memory cell block 300 g . In this way, the data can be fed back to A 3 of the memory cell block 300 d.
  • the semiconductor device 110 can function as a variety of logic circuit without changing the interconnection lines.
  • the number of turns and the shapes of the turns of the interconnection lines are not limited to those shown in FIG. 4 , and can be changed as needed.
  • FIG. 5 is an internal configuration diagram of the semiconductor device 110 shown in FIG. 1 .
  • the memory cell blocks 300 are arranged in an array.
  • the write address decoder 411 is disposed on the left side.
  • a write/read circuit 401 is disposed on the lower side.
  • the write address decoder 411 and the write/read circuit 401 are connected as shown in the drawing. That is, FIG. 5 is a diagram illustrating a state other than connection of the readout ports in the semiconductor device 110 similar to that shown in FIG. 4 .
  • the write address decoder 411 identifies an x address of the memory cell block 300 (an address in the vertical direction of the semiconductor device 110 shown in FIG. 5 ) when writing data into the memory cell block 300 .
  • An x address for identifying a particular memory cell block 300 from among the plurality of memory cell blocks 300 is input to a high address (in this example, A 4 w , A 5 w , A 6 w . . . ).
  • An x address for identifying an internal location (one of the memory cells 200 ) of the identified memory cell block 300 is input to a low address (in this example, A 0 w to A 3 w ).
  • the write/read circuit 401 identifies a y address of the memory cell block 300 from and to which data is to be read and written. The write/read circuit 401 then reads and writes data from and to the identified memory cell block 300 .
  • a y address (an address in the horizontal direction of the semiconductor device 110 shown in FIG. 5 ; Ayw 2 in this example) for identifying one of the memory cell blocks 300 is input to the write/read circuit 401 .
  • a y address for identifying an internal location (one of the memory cells 200 ) of the identified memory cell block 300 is then input (in this example, Ayw 0 and Ayw 1 ).
  • data of a plurality of bits are input from input 402 to the write/read circuit 401 .
  • a particular memory cell 200 in a particular memory cell block 300 can be selected, and the truth table data can be updated.
  • the semiconductor device 110 can change the operation thereof in accordance with the updated truth table data.
  • FIG. 6 is a configuration diagram of a 3-bit adder. In FIG. 6 , connection between memory cell blocks is similar to that shown in FIG. 4 .
  • E 0 represents the least significant bit of E.
  • E 1 represents the next bit.
  • E 2 represents the most significant bit of E.
  • F 0 represents the least significant bit of F.
  • F 1 represents the next bit.
  • F 2 represents the most significant bit of F.
  • Y 0 represents the least significant bit of Y.
  • Y 1 represents the next bit.
  • Y 2 represents the most significant bit of Y.
  • C 0 represents a carry from the least significant bit as a result of addition.
  • C 1 represents a carry from the next bit as a result of addition.
  • C 2 represents a carry from the most significant bit as a result of addition.
  • E 0 is input to A 0
  • F 0 is input to A 1
  • addition is performed.
  • Y 0 is output from D 3 .
  • C 0 is output from D 2 .
  • E 1 is input to A 0
  • F 1 is input to A 1 .
  • C 0 is input to A 3 .
  • addition is performed.
  • Y 1 is output from D 3 .
  • C 1 is output from D 2 .
  • E 2 is input to A 0
  • F 2 is input to A 1 .
  • C 1 is input to A 3 .
  • addition is performed.
  • Y 2 is output from D 3 .
  • C 2 is output from D 2 .
  • Y 0 output from D 3 of the memory cell block 300 d is output from D 3 of the memory cell block 300 j through a route shown in the drawing.
  • Y 1 output from D 3 of the memory cell block 300 e is output from D 3 of the memory cell block 300 k through a route shown in the drawing.
  • Y 2 output from D 3 of the memory cell block 300 f is output from D 3 of the memory cell block 300 l through a route shown in the drawing.
  • FIG. 7A is a schematic illustration of the memory cell block 300 .
  • FIG. 7B illustrates a truth table stored in each of the memory cell blocks 300 d , 300 e , and 300 f (see FIG. 6 if necessary).
  • D 0 and D 1 are not used in this example, “0” is output from D 0 and D 1 at all times.
  • the first to fourth rows, fifth to eighth rows, ninth to twelfth rows, and thirteenth to sixteenth rows have the same pattern of truth values except for the values of A 2 . This is because correct outputs can be obtained even when either of “0” or “1” is input to A 2 .
  • FIG. 8A is a schematic illustration of the memory cell block 300 .
  • FIG. 8B illustrates a truth table stored in each of the memory cell blocks 300 g , 300 j , 300 k , and 300 l (see FIG. 6 if necessary).
  • FIG. 9A is a schematic illustration of the memory cell block 300 .
  • FIG. 9B illustrates a truth table stored in each of the memory cell blocks 300 h and 300 i (see FIG. 6 if necessary). As shown in FIG. 9A , in the memory cell block 300 , when inputs are fed to A 0 to A 3 , values defined in the truth table are output from D 0 to D 3 in accordance with the inputs.
  • FIG. 10 is a connection diagram of the readout ports of a semiconductor device 110 a which is a modification of the semiconductor device 110 shown in FIG. 4 .
  • memory cell blocks 300 m to 300 o are disposed in the leftmost column.
  • Memory cell blocks 300 s to 300 u are disposed in a third column from the left.
  • Memory cell blocks 300 p to 300 r disposed in a column between the two columns are positionally shifted by half a memory cell block in the vertical direction.
  • a 0 to A 3 and D 0 to D 3 of each of these memory cell blocks are connected as shown in the drawing.
  • the length of the interconnection line from one of D 0 to D 3 of one memory cell block to a corresponding one of A 0 to A 3 of another memory cell block can be reduced, as compared with the semiconductor device 110 shown in FIG. 4 .
  • the number of turns and the shapes of the turns of the interconnection lines are not limited to those shown in FIG. 10 , and can be changed as needed.
  • the internal structure of the semiconductor device 110 a (corresponding to FIG. 5 ) is shown in FIG. 11 .
  • a memory can function as a logic circuit. By providing the output from one memory cell block to four memory cell blocks, feedback of data can be easily achieved.
  • a C language program is written, and subsequently, a hardware description language (HDL) is generated. Thereafter, logic synthesis is performed using the HDL so that a logic circuit is generated.
  • Logic modules and interconnection lines are distributed on an FPGA on the basis of the logic circuit. That is, such complicated and highly advanced process procedures are required.
  • the semiconductor device functions as a memory or a storage element. Accordingly, after compiling a C language program, the resultant data can be loaded into the semiconductor device in the form of a truth table. Thus, the manufacturing process can be facilitated.
  • the semiconductor device of the present embodiment functions as a storage element, a different logic circuit can be achieved by simply changing a truth table written to the memory cell 200 without changing the interconnection lines.
  • FIG. 12 is a flow chart of an exemplary process performed when bit data is loaded into the semiconductor device that functions as a logic circuit.
  • step S 1101 the information processing apparatus 100 receives, from the input unit 101 , a C language program that describes a desired function, and stores the C language program in the storage unit 102 .
  • the storage unit 102 prestores programs for performing a variety of functions (e.g., addition and subtraction).
  • step S 1102 an operator of the information processing apparatus 100 adds a declaration statement (the “Include” statements) to the C language program using the input unit 101 in order to refer to a necessary program prestored in the storage unit 102 .
  • step S 1103 the processing unit 106 creates a truth table (e.g., a truth table 600 shown in FIG. 7 ) on the basis of the C language program including the added “Include” statement.
  • step S 1104 the processing unit 106 generates bit data on the basis of the truth table.
  • step S 1105 the processing unit 106 loads the bit data into the semiconductor device 110 via the communication unit 105 .
  • the operation that allows the semiconductor device 110 to function as a logic circuit can be simplified.
  • the number of the word lines may be increased to 33 or more by providing an intermediate buffer to the read sense amplifier or the read data lines.
  • the semiconductor device of the present embodiment by using a plurality of memories and installing test programs in some of the memories, one of the other memories can be tested. In addition, after the test is completed, the test programs are erased from the memories. Thus, these memories can be used as normal memories.
  • a memory included in a system LSI may be configured so as to function as the semiconductor device of the present embodiment. After the memory is self-tested, a C language test program is written to the memory so that a test logic circuit is achieved. Thus, other logic circuits in the system LSI can be tested.
  • connection between the memory cell blocks is not limited to a connection pattern in which one memory block is connected to four other memory blocks, For example, any connection to three or more other memory cell blocks that enables data feedback may be employed.
  • the interconnection may be achieved using one-side read data lines in accordance with a semiconductor layout and the logic circuit of a read address decoder.
  • a semiconductor device may be achieved using a dynamic random access memory (DRAM) or a flash memory in place of an SRAM.
  • DRAM dynamic random access memory
  • SRAM static random access memory
  • a function such as a pre-charging function may be employed.

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Logic Circuits (AREA)
  • Static Random-Access Memory (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Read Only Memory (AREA)

Abstract

A semiconductor device includes a plurality of memory cell blocks, each including a plurality of memory cells each storing a predetermined amount of data. Each of the memory cell blocks stores, in the memory cells thereof, truth table data used for outputting desired logical values in response to input of a given address so as to function as a logic circuit. The number of inputs and the number of outputs of the memory cell block is three or more, and the memory cell blocks are connected to each other so that three or more outputs from one memory cell block are input to three or more other memory cell blocks.

Description

    BACKGROUND OF THE INVENTION
  • 1. Field of the Invention
  • The present invention relates to a semiconductor device capable of operating a memory as a logic circuit.
  • 2. Description of the Related Art
  • Existing semiconductor devices, such as a large scale integrations (LSIs), are manufactured through a plurality of steps including a functional design step, a logic circuit design step, a wafer production step, and an assembly step. These manufacturing steps are suitable for mass production for manufacturing a large number of products of the same type. However, the manufacturing steps are not suitable for high-mix low-volume production, since the steps are costly.
  • Accordingly, a technology suitable for high-mix low-volume production has been developed. An example of such a technology is a field programmable gate array (FPGA). An FPGA is a semiconductor device (e.g., an LSI) that allows a user to program a logic circuit after being manufactured.
  • However, since an FPGA includes a plurality of components (e.g., a logic circuit, interconnection lines, and switches), a multilayer interconnection structure including a plurality of interconnection layers and a highly advanced manufacturing technique are disadvantageously required for a semiconductor process.
  • To solve such a problem, Japanese Unexamined Patent Application Publication No. 2003-224468 describes a semiconductor device that functions as a logic circuit after a truth table is written to a memory, such as a static random access memory (SRAM). When an address is input to the semiconductor device, the semiconductor device outputs the content of the memory.
  • However, in the semiconductor device described in Japanese Unexamined Patent Application Publication No. 2003-224468, memory cell blocks each including a plurality of memory cells each storing a predetermined amount of data are arranged in an array. Data output from one of the memory cell blocks is output to only two of the neighboring four memory cell blocks (for example, only the right block in the horizontal direction and the lower block in the vertical direction). Accordingly, it is difficult to operate as a logic circuit that requires return of data (i.e., feedback of data to the memory cell from which data was output). In addition, the optimization of the scale of the memory cell block (e.g., the number of inputs and the number of outputs) is not described.
  • SUMMARY OF THE INVENTION
  • Accordingly, it is an object of the present invention to provide a semiconductor device for serving as a memory capable of functioning as a logic circuit, facilitating feedback of data, and having an optimum scale of a memory cell block.
  • According to an embodiment of the present invention, a semiconductor device includes a plurality of memory cell blocks, each including a plurality of memory cells each storing a predetermined amount of data. Each of the memory cell blocks stores, in the memory cells thereof, truth table data used for outputting desired logical values in response to input of a given address so as to function as a logic circuit. The number of inputs and the number of outputs of the memory cell block is three or more, and the memory cell blocks are connected to each other so that three or more outputs from one memory cell block are input to other three or more memory cell blocks.
  • In a semiconductor device according to the present invention, a memory that functions as a logic circuit can easily perform data feedback, and the scale of a memory cell block can be optimized.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block diagram of a semiconductor device and an information processing apparatus according to an embodiment of the present invention;
  • FIG. 2 is an exemplary configuration diagram of a memory cell which is a storage element of the semiconductor device shown in FIG. 1;
  • FIG. 3 is an exemplary configuration diagram of a memory cell block;
  • FIG. 4 is a connection diagram of readout ports of the semiconductor device;
  • FIG. 5 is an exemplary internal configuration diagram of the semiconductor device;
  • FIG. 6 is an example configuration diagram of a 3-bit adder;
  • FIG. 7A is a schematic illustration of the memory cell block, and FIG. 7B is a truth table stored in a first memory cell block group;
  • FIG. 8A is a schematic illustration of the memory cell block, and FIG. 8B is a truth table stored in a second memory cell block group;
  • FIG. 9A is a schematic illustration of the memory cell block, and FIG. 9B is a truth table stored in a third memory cell block group;
  • FIG. 10 is an exemplary connection diagram of readout ports of a semiconductor device;
  • FIG. 11 is an exemplary internal configuration diagram of the semiconductor device; and
  • FIG. 12 is a flow chart of an exemplary process performed when bit data is loaded in the semiconductor device that functions as a logic circuit.
  • DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • A semiconductor device according to an embodiment of the present invention is described below with reference to the accompanying drawings.
  • FIG. 1 is a block diagram of a semiconductor device and an information processing apparatus according to the present embodiment. An information processing apparatus 100 is a computer apparatus. The information processing apparatus 100 includes an input unit 101 (e.g., a keyboard), a storage unit 102 (e.g., a hard disk), a memory 103 (e.g., a random access memory (RAM)), an output unit 104 (e.g., a cathode ray tube (CRT)), a communication unit 105 serving as communication equipment, and a processing unit 106 (e.g., a central processing unit (CPU)).
  • Note that bit data generated by the information processing apparatus 100 (refer to step S1104 shown in FIG. 12 described below) may be stored in a read only memory (ROM) (not shown).
  • A semiconductor device 110 is connected to the communication unit 105 of the information processing apparatus 100. In terms of hardware, the semiconductor device 110 is a storage device similar to a widely used SRAM. The semiconductor device 110 is described in more detail below with reference to FIG. 2 and the subsequent drawings.
  • FIG. 2 is a configuration diagram of a memory cell which is a storage element of the semiconductor device 110 shown in FIG. 1. A memory cell 200 includes read word lines 201 and 202, a write word line 211, read data lines 221 and 222, write data lines 231 and 232, gates 241, 242, 251, 252, 261, and 262, and a flip-flop 271.
  • In this embodiment, the gates 241, 242, 251, 252, 261, and 262 are of a negative-metal oxide semiconductor (N-MOS) type. However, these gates may be of a positive-metal oxide semiconductor (P-MOS) type. Furthermore, these gates may be of a complex gate type including an N-MOS type and a P-MOS type. In such a case, peripheral circuits can be appropriately changed as needed.
  • The read word lines 201 and 202 are interconnection lines to which a voltage is applied when data is read out from the memory cell 200. When a voltage is applied to the read word line 201, the gates 241 and 242 are open. When a voltage is applied to the read word line 202, the gates 251 and 252 are open.
  • The write word line 211 is an interconnection line to which a voltage is applied when data is written to the memory cell 200. When a voltage is applied to the write word line 211, the gates 261 and 262 are open.
  • The read word lines 221 and 222 are interconnection lines used for reading out data stored in the flip-flop 271 when a predetermined voltage is applied to the read word lines 201 and 202 so that the gates 241, 242, 251, and 252 are open. When data 11011 is read out from the read word line 221, data “1” is read out from the read word line 222. In contrast, when data “1” is read out from the read word line 221, data “0” is read out from the read word line 222. In this way, the read word lines 221 and 222 operate as a differential signal system.
  • The write data lines 231 and 232 are interconnection lines used for writing data to the flip-flop 271 when a voltage is applied to the write word line 211 so that the gates 261 and 262 are open. When data “0” is written from the write data line 231, data “1” is written from the write data line 232. In contrast, when data “1” is written from the write data line 231, data “0” is written from the write data line 232.
  • The flip-flop 271 holds binary data (“0”, or “1”) stored in the memory cell 200 in the above-described manner.
  • FIG. 3 is a configuration diagram of a memory cell block in an internal structure of the semiconductor device 110 shown in FIG. 1 (see FIG. 2 if necessary).
  • A memory cell block 300 includes a plurality of the memory cells 200 arranged in an array and connected to each other and read address decoders 311 and 312. As described above, by disposing the read address decoders 311 and 312 of the read word lines 201 and 202 on the left and right sides of the memory cell block 300, the memory cell block 300 can have the following interconnection function.
  • In the memory cell block 300, the read word lines 221 and 222 are connected to another memory cell block 300 (not shown) at positions located above the uppermost and outer memory cells 200, that is, the memory cell 200 (Cell31, 0) and the memory cell 200 (Cell31, 3). In addition, the read word lines 221 and 222 are connected to another memory cell block 300 (not shown) at positions below the lowermost and inner memory cells 200, that is, the memory cell 200 (Cell0, 1) and the memory cell 200 (Cell0, 2).
  • Furthermore, in the memory cell block 300, the read word lines 221 and 222 are disconnected at positions located above the uppermost and inner memory cells 200, that is, the memory cell 200 (Cell31, 1) and the memory cell 200 (Cell31, 2). In addition, the read word lines 221 and 222 are disconnected at positions located below the lowermost and outer memory cells 200, that is, the memory cell 200 (Cell0, 0) and the memory cell 200 (Cell0, 3).
  • That is, in the memory cell block 300, pairs of the outer read data interconnection lines are connected upwardly while pairs of the inner read data interconnection lines are connected downwardly. In this way, the scale of the output (readout) of the memory cell block 300 can be minimized, and therefore, the load of a variety of data processing can be reduced. In addition, a plurality of data items can be output in a plurality of directions.
  • In the memory cell block 300, the read address decoder 311 is disposed on the left side so as to receive a plurality of address differential signals from address input lines 322. In addition, in the memory cell block 300, the read address decoder 312 is disposed on the right side so as to receive a plurality of address differential signals from address input lines 323.
  • Note that the number of inputs or outputs “three” or “four” described in the appended claims correspond to three pairs or four pairs of differential signals.
  • In the memory cell block 300, any one of the plurality of read word lines 331 to 362 (each corresponding to the read word line 202 shown in FIG. 2) can be selected on the basis of the inputs from the address input lines 322, the address input lines 323, and a select line 301 (an address selection line that selects a particular address). Thereafter, a voltage can be applied to the selected read word line.
  • Furthermore, the select line 301 includes an inverter 302. The read address decoder 311 includes a plurality of logic circuits 370 (e.g., AND circuits). A write word line 371 (corresponding to the write word line 211 shown in FIG. 2) is connected to a write address decoder 411 (see FIG. 5).
  • Since logic circuits of the read address decoder 312 are similar to those of the read address decoder 311, the descriptions thereof are not repeated (for example, a logic circuit 380 is connected to a read word line 381).
  • As shown in FIG. 3, for example, when data “1” is input from the select line 301, the upper half of the memory cell 200 in the memory cell block 300 operates. In contrast, when data “0” is input from the select line 301, the lower half of the memory cell 200 in the memory cell block 300 operates.
  • Accordingly, for example, if the upper half of the memory cell 200 in the memory cell block 300 serves as an adder and the lower half of the memory cell 200 serves as a subtractor, switching between the adder and the subtractor can be conducted instantaneously by simply switching a signal from the select line 301. Similarly, for example, switching between the adder and an original storage device can be conducted.
  • The memory cell block 300 has been described in detail. As described above, by arranging the memory cells 200 into a 32×4 array and decreasing the lengths of the read word lines 221 and 222 (see FIG. 2), the need for a sense amplifier can be eliminated. Therefore, the circuits can be simplified.
  • FIG. 4 is a connection diagram of readout ports (pairs of upper and lower outputs of the read data line shown in FIG. 3 and pairs of inputs from the address input lines 322 and 323) of the semiconductor device 110 shown in FIG. 1. In FIG. 4, only an upper left portion of the semiconductor device 110 is illustrated when viewed in plan.
  • In each of memory cell blocks 300 d to 300 l, an input A0 (for simplicity, hereinafter simply referred to as “A0”, and the same for “A1” to “A3”) represents a combination of A0 and /A0 shown in FIG. 3. The same applies to A1 to A3.
  • In addition, in each of the memory cell blocks 300 d to 300 l, an output D0 (for simplicity, hereinafter simply referred to as “D0”, and the same for “D1” to “D3”) represents a combination of two read data lines of the memory cell 200 (Cell31, 0) shown in FIG. 3. The same applies to D1 to D3.
  • A0 to A3 and D0 to D3 of the memory cell blocks 300 d to 300 l are connected as shown in FIG. 4.
  • A driver circuit 420 converts a signal input from an external apparatus to this device (the semiconductor device 110) into a differential signal. In addition, an amplifier 430 amplifies the input differential signal, and converts the differential signal to a normal signal. The amplifier 430 then outputs the normal signal to the external apparatus.
  • By making interconnection in such a manner, the semiconductor device 110 can easily achieve feedback of data. More specifically, for example, when data is transmitted from D3 of the memory cell block 300 d to A1 of the memory cell block 300 g, a truth table indicating that data input from A1 is output from D1 is written to the memory cell block 300 g. In this way, the data can be fed back to A3 of the memory cell block 300 d.
  • In addition, by simply changing truth tables written to the memory cell blocks 300 d to 300 l, the semiconductor device 110 can function as a variety of logic circuit without changing the interconnection lines.
  • Note that the number of turns and the shapes of the turns of the interconnection lines are not limited to those shown in FIG. 4, and can be changed as needed.
  • FIG. 5 is an internal configuration diagram of the semiconductor device 110 shown in FIG. 1. The memory cell blocks 300 are arranged in an array. The write address decoder 411 is disposed on the left side. A write/read circuit 401 is disposed on the lower side. The write address decoder 411 and the write/read circuit 401 are connected as shown in the drawing. That is, FIG. 5 is a diagram illustrating a state other than connection of the readout ports in the semiconductor device 110 similar to that shown in FIG. 4.
  • The write address decoder 411 identifies an x address of the memory cell block 300 (an address in the vertical direction of the semiconductor device 110 shown in FIG. 5) when writing data into the memory cell block 300. An x address for identifying a particular memory cell block 300 from among the plurality of memory cell blocks 300 is input to a high address (in this example, A4 w, A5 w, A6 w . . . ). An x address for identifying an internal location (one of the memory cells 200) of the identified memory cell block 300 is input to a low address (in this example, A0 w to A3 w).
  • The write/read circuit 401 identifies a y address of the memory cell block 300 from and to which data is to be read and written. The write/read circuit 401 then reads and writes data from and to the identified memory cell block 300.
  • More specifically, a y address (an address in the horizontal direction of the semiconductor device 110 shown in FIG. 5; Ayw2 in this example) for identifying one of the memory cell blocks 300 is input to the write/read circuit 401. A y address for identifying an internal location (one of the memory cells 200) of the identified memory cell block 300 is then input (in this example, Ayw0 and Ayw1). In addition, data of a plurality of bits (four bits in this example) are input from input 402 to the write/read circuit 401.
  • In this way, a particular memory cell 200 in a particular memory cell block 300 can be selected, and the truth table data can be updated.
  • That is, when truth table data stored in the memory cells 200 of one of the memory cell blocks 300 is updated, the semiconductor device 110 can change the operation thereof in accordance with the updated truth table data.
  • The case where the semiconductor device 110 shown in FIG. 4 is used for a 3-bit adder is described next with reference to FIGS. 6 to 9B.
  • FIG. 6 is a configuration diagram of a 3-bit adder. In FIG. 6, connection between memory cell blocks is similar to that shown in FIG. 4.
  • The following description is made with reference to the case where two 3-bit values E and F are added, and the sum Y is output. “E0” represents the least significant bit of E. “E1” represents the next bit. “E2” represents the most significant bit of E. In addition, “F0” represents the least significant bit of F. “F1” represents the next bit. “F2” represents the most significant bit of F. Furthermore, “Y0” represents the least significant bit of Y. “Y1” represents the next bit. “Y2” represents the most significant bit of Y. “C0” represents a carry from the least significant bit as a result of addition. “C1” represents a carry from the next bit as a result of addition. “C2” represents a carry from the most significant bit as a result of addition. Although each signal is a differential signal, the notation is abbreviated for simplicity.
  • In the memory cell block 300 d, E0 is input to A0, and F0 is input to A1. Subsequently, addition is performed. As a result of the addition, Y0 is output from D3. C0 is output from D2. In the memory cell block 300 e, E1 is input to A0, and F1 is input to A1. C0 is input to A3. Subsequently, addition is performed. As a result of the addition, Y1 is output from D3. C1 is output from D2. In the memory cell block 300 f, E2 is input to A0, and F2 is input to A1. C1 is input to A3. Subsequently, addition is performed. As a result of the addition, Y2 is output from D3. C2 is output from D2.
  • Y0 output from D3 of the memory cell block 300 d is output from D3 of the memory cell block 300 j through a route shown in the drawing. Y1 output from D3 of the memory cell block 300 e is output from D3 of the memory cell block 300 k through a route shown in the drawing. Y2 output from D3 of the memory cell block 300 f is output from D3 of the memory cell block 300 l through a route shown in the drawing. In this way, as a result of the addition, Y0, Y1, and Y2 can be obtained.
  • FIG. 7A is a schematic illustration of the memory cell block 300. FIG. 7B illustrates a truth table stored in each of the memory cell blocks 300 d, 300 e, and 300 f (see FIG. 6 if necessary).
  • As shown in FIG. 7A, in the memory cell block 300, when inputs are fed to A0 to A3, values defined in the truth table are output from D0 to D3 in accordance with the inputs.
  • As shown in FIG. 7B, when E (E0 to E2), F (F0 to F2), and Cin (C0 to C2) are input to A0, A1, and A3, the three values are summed. The resultant bit value Y (Y0 to Y2) is output from D3. A carry Cout (C0 to C2) is output from D2.
  • Note that since D0 and D1 are not used in this example, “0” is output from D0 and D1 at all times. In addition, the first to fourth rows, fifth to eighth rows, ninth to twelfth rows, and thirteenth to sixteenth rows have the same pattern of truth values except for the values of A2. This is because correct outputs can be obtained even when either of “0” or “1” is input to A2.
  • FIG. 8A is a schematic illustration of the memory cell block 300. FIG. 8B illustrates a truth table stored in each of the memory cell blocks 300 g, 300 j, 300 k, and 300 l (see FIG. 6 if necessary).
  • As shown in FIG. 8A, in the memory cell block 300, when inputs are fed to A0 to A3, values defined in the truth table are output from D0 to D3 in accordance with the inputs.
  • As shown in FIG. 8B, when Y (Y0 to Y2) is input to A1, that value is directly output from D3. Note that since D0 and D2 are not used in this example, “0” is output from D0 and D2 at all times.
  • In practice, a truth table having only two types (two rows) of patterns from A1 to D3 (i.e., patterns of “0” to “0” and “1” to “1”) is required. However, in order to obtain correct output results even when either value of “0” or “1” is input to A0, A2, and A3, a truth table of sixteen rows is used.
  • FIG. 9A is a schematic illustration of the memory cell block 300. FIG. 9B illustrates a truth table stored in each of the memory cell blocks 300 h and 300 i (see FIG. 6 if necessary). As shown in FIG. 9A, in the memory cell block 300, when inputs are fed to A0 to A3, values defined in the truth table are output from D0 to D3 in accordance with the inputs.
  • As shown in FIG. 9B, when C (C0 to C2) is input to A0, that value is directly output from D1. In addition, when Y (Y0 to Y2) is input to A1, that value is directly output from D3. Note that since D0 and D2 are not used in this example, “0” is output from D0 and D2 at all times. In addition, as in the case of FIG. 5B, even when either value of “0” or “1” is input to A2 and A3, a correct resultant output value can be obtained.
  • FIG. 10 is a connection diagram of the readout ports of a semiconductor device 110 a which is a modification of the semiconductor device 110 shown in FIG. 4. In the semiconductor device 110 a, memory cell blocks 300 m to 300 o are disposed in the leftmost column. Memory cell blocks 300 s to 300 u are disposed in a third column from the left. Memory cell blocks 300 p to 300 r disposed in a column between the two columns are positionally shifted by half a memory cell block in the vertical direction. In addition, A0 to A3 and D0 to D3 of each of these memory cell blocks are connected as shown in the drawing.
  • As described above, by disposing some of the memory cell blocks while shifting the memory cell blocks, the length of the interconnection line from one of D0 to D3 of one memory cell block to a corresponding one of A0 to A3 of another memory cell block can be reduced, as compared with the semiconductor device 110 shown in FIG. 4.
  • Note that the number of turns and the shapes of the turns of the interconnection lines are not limited to those shown in FIG. 10, and can be changed as needed. In addition, the internal structure of the semiconductor device 110 a (corresponding to FIG. 5) is shown in FIG. 11.
  • As noted above, according to the semiconductor device of the present embodiment, a memory can function as a logic circuit. By providing the output from one memory cell block to four memory cell blocks, feedback of data can be easily achieved.
  • In an existing manufacturing process of FPGAs, for example, a C language program is written, and subsequently, a hardware description language (HDL) is generated. Thereafter, logic synthesis is performed using the HDL so that a logic circuit is generated. Logic modules and interconnection lines are distributed on an FPGA on the basis of the logic circuit. That is, such complicated and highly advanced process procedures are required.
  • In contrast, according to the present embodiment, the semiconductor device functions as a memory or a storage element. Accordingly, after compiling a C language program, the resultant data can be loaded into the semiconductor device in the form of a truth table. Thus, the manufacturing process can be facilitated. In addition, since the semiconductor device of the present embodiment functions as a storage element, a different logic circuit can be achieved by simply changing a truth table written to the memory cell 200 without changing the interconnection lines.
  • This advantage is described in more detail below with reference to FIG. 12 (see FIG. 1 if necessary). FIG. 12 is a flow chart of an exemplary process performed when bit data is loaded into the semiconductor device that functions as a logic circuit.
  • First, in step S1101, the information processing apparatus 100 receives, from the input unit 101, a C language program that describes a desired function, and stores the C language program in the storage unit 102. The storage unit 102 prestores programs for performing a variety of functions (e.g., addition and subtraction).
  • Subsequently, in step S1102, an operator of the information processing apparatus 100 adds a declaration statement (the “Include” statements) to the C language program using the input unit 101 in order to refer to a necessary program prestored in the storage unit 102.
  • In step S1103, the processing unit 106 creates a truth table (e.g., a truth table 600 shown in FIG. 7) on the basis of the C language program including the added “Include” statement. In step S1104, the processing unit 106 generates bit data on the basis of the truth table. Subsequently, in step S1105, the processing unit 106 loads the bit data into the semiconductor device 110 via the communication unit 105.
  • In this way, according to the present embodiment, the operation that allows the semiconductor device 110 to function as a logic circuit can be simplified.
  • In addition, according to the semiconductor device of the present embodiment, since an actual logic circuit is not used, malfunction of part of the memory can be easily dealt with by, for example, not using the faulty part.
  • Furthermore, if, as described in the present embodiment, 32 word lines are used for one memory cell block, attenuation of data (signals) can be reduced, and therefore, the need for a sense amplifier can be eliminated. However, if the performance of the semiconductor device is critical, the number of the word lines may be increased to 33 or more by providing an intermediate buffer to the read sense amplifier or the read data lines.
  • Furthermore, according to the semiconductor device of the present embodiment, by using a plurality of memories and installing test programs in some of the memories, one of the other memories can be tested. In addition, after the test is completed, the test programs are erased from the memories. Thus, these memories can be used as normal memories.
  • Still furthermore, a memory included in a system LSI may be configured so as to function as the semiconductor device of the present embodiment. After the memory is self-tested, a C language test program is written to the memory so that a test logic circuit is achieved. Thus, other logic circuits in the system LSI can be tested.
  • Yet still furthermore, connection between the memory cell blocks is not limited to a connection pattern in which one memory block is connected to four other memory blocks, For example, any connection to three or more other memory cell blocks that enables data feedback may be employed. In addition, while the above-described embodiment has been described with reference to the differential read data lines, the interconnection may be achieved using one-side read data lines in accordance with a semiconductor layout and the logic circuit of a read address decoder.
  • While the present invention has been described as carried out in a specific embodiment thereof, it should be apparent to those skilled in the art that it is not limited thereto. For example, according to the present invention, a semiconductor device may be achieved using a dynamic random access memory (DRAM) or a flash memory in place of an SRAM.
  • Furthermore, in order to improve the performance of the memories, a function such as a pre-charging function may be employed.
  • Still furthermore, the invention is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims.

Claims (11)

1. A semiconductor device comprising:
a plurality of memory cell blocks, each including a plurality of memory cells each storing a predetermined amount of data;
wherein each of the memory cell blocks stores, in the memory cells thereof, truth table data used for outputting desired logical values in response to input of a given address so as to function as a logic circuit, and wherein the number of inputs and the number of outputs of the memory cell block is three or more, and the memory cell blocks are connected to each other so that three or more outputs from one memory cell block are input to three or more other memory cell blocks.
2. The semiconductor device according to claim 1, wherein the number of inputs and the number of outputs of the memory cell block is four, and the memory cell blocks are connected to each other so that four outputs from one memory cell block are input to four other memory cell blocks.
3. The semiconductor device according to claim 1, wherein the plurality of memory cell blocks have a rectangular shape of the same size, and wherein the memory cell blocks are connected to each other such that at least some of the memory cell blocks are positionally shifted from an array arrangement.
4. The semiconductor device according to claim 1, wherein the plurality of memory cell blocks are arranged in an array and are connected to each other using interconnection lines.
5. The semiconductor device according to claim 1, wherein each of the memory cell blocks further includes two read address decoders therein, and the memory cell includes two read word lines corresponding to the two read address decoders, and wherein, when a voltage is applied to the two read word lines, data stored in the memory cell is read out using a read data line.
6. The semiconductor device according to claim 1, further comprising:
a write address decoder connected to the plurality of memory cell blocks, the write address decoder specifying an x address related to the plurality of memory cell blocks and the memory cell in the memory cell blocks; and
a write/read circuit connected to the plurality of memory cell block, the write/read circuit specifying a y address related to the plurality of memory cell blocks and the memory cell in the memory cell blocks so as to write data to the memory cell;
wherein the data is written to the memory cell by the write/read circuit when the memory cell is specified by the write address decoder and the write/read circuit.
7. The semiconductor device according to claim 1, wherein the semiconductor device functions as a normal storage device when the memory cell of the memory cell block does not store the truth table data.
8. The semiconductor device according to claim 7, wherein an operating area of the memory cell of the memory cell block is separated into two, and wherein, when a particular address select line of the read address decoder is switched, the operating areas of the memory cell are switched so that switching between an operation in which the memory cell functions as two logic circuits and an operation in which the memory cell functions as a logic circuit and a normal storage device is instantaneously performed.
9. The semiconductor device according to claim 1, wherein, when truth table data stored in memory cells in some of the memory cell blocks is updated, the operation of the semiconductor device is changed in accordance with the updated truth table data.
10. The semiconductor device according to claim 1, wherein the semiconductor device is included in a system LSI, the semiconductor device performs a self-test function, and the semiconductor device tests other logic circuits included in the system LSI.
11. The semiconductor device according to claim 1, wherein the semiconductor device operates on the basis of a compilation result of a C language program that describes the operation of the semiconductor device.
US12/094,768 2005-11-28 2005-11-28 Semiconductor device Abandoned US20090290444A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2005/021758 WO2007060738A1 (en) 2005-11-28 2005-11-28 Semiconductor device

Publications (1)

Publication Number Publication Date
US20090290444A1 true US20090290444A1 (en) 2009-11-26

Family

ID=38066980

Family Applications (2)

Application Number Title Priority Date Filing Date
US12/094,768 Abandoned US20090290444A1 (en) 2005-11-28 2005-11-28 Semiconductor device
US12/094,770 Active US7652946B2 (en) 2005-11-28 2006-07-06 Semiconductor device

Family Applications After (1)

Application Number Title Priority Date Filing Date
US12/094,770 Active US7652946B2 (en) 2005-11-28 2006-07-06 Semiconductor device

Country Status (5)

Country Link
US (2) US20090290444A1 (en)
JP (1) JP4703655B2 (en)
CN (2) CN101310442A (en)
TW (1) TW200721190A (en)
WO (2) WO2007060738A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150022232A1 (en) * 2012-04-11 2015-01-22 Taiyo Yuden Co., Ltd. Reconfigurable semiconductor device
US8952721B2 (en) 2010-06-24 2015-02-10 Taiyo Yuden Co., Ltd. Semiconductor device
US9177092B2 (en) 2012-04-09 2015-11-03 Taiyo Yuden Co., Ltd. Method for arranging and wiring reconfigurable semiconductor device, program therefor, and arranging and wiring apparatus
US9350357B2 (en) 2012-10-28 2016-05-24 Taiyo Yuden Co., Ltd. Reconfigurable semiconductor device
US9425800B2 (en) 2013-04-02 2016-08-23 Taiyo Yuden Co., Ltd. Reconfigurable logic device
US9514259B2 (en) 2012-11-20 2016-12-06 Taiyo Yuden Co., Ltd. Logic configuration method for reconfigurable semiconductor device

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007060738A1 (en) * 2005-11-28 2007-05-31 Taiyo Yuden Co., Ltd. Semiconductor device
JP5260077B2 (en) * 2008-02-15 2013-08-14 太陽誘電株式会社 Programmable logic device and its construction method and its use
JP2010015328A (en) * 2008-07-02 2010-01-21 Tama Tlo Ltd Memory/logic conjugate system
JP5140029B2 (en) 2009-03-30 2013-02-06 太陽誘電株式会社 Semiconductor device
CN102044288B (en) * 2009-10-13 2013-07-31 中芯国际集成电路制造(北京)有限公司 Method for converting electrical address and topological address of memory
JP5565456B2 (en) * 2010-02-16 2014-08-06 株式会社デンソー Integrated circuit and method of using the same
US8427184B2 (en) * 2011-03-22 2013-04-23 The United States Of America As Represented By The Secretary Of The Navy SCR module dynamic counter tester
DE112012003335T5 (en) * 2011-08-12 2014-04-30 Denso Corp. Integrated circuit
JP6444723B2 (en) * 2014-01-09 2018-12-26 株式会社半導体エネルギー研究所 apparatus
JP2015165226A (en) * 2014-02-07 2015-09-17 株式会社半導体エネルギー研究所 Device
US9869716B2 (en) * 2014-02-07 2018-01-16 Semiconductor Energy Laboratory Co., Ltd. Device comprising programmable logic element
DE112015000705T5 (en) * 2014-02-07 2016-10-27 Semiconductor Energy Laboratory Co., Ltd. contraption
US9416620B2 (en) 2014-03-20 2016-08-16 Weatherford Technology Holdings, Llc Cement pulsation for subsea wellbore
JP6405262B2 (en) 2015-02-18 2018-10-17 太陽誘電株式会社 Reconfigurable logical device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6288969B1 (en) * 1996-06-20 2001-09-11 Nortel Networks Limited Multi-port random access memory
US7525868B2 (en) * 2006-11-29 2009-04-28 Taiwan Semiconductor Manufacturing Co., Ltd. Multiple-port SRAM device
US7630272B2 (en) * 2007-02-19 2009-12-08 Freescale Semiconductor, Inc. Multiple port memory with prioritized world line driver and method thereof
US7652946B2 (en) * 2005-11-28 2010-01-26 Taiyo Yuden Corp. Semiconductor device

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3400824B2 (en) * 1992-11-06 2003-04-28 三菱電機株式会社 Semiconductor storage device
US5894565A (en) * 1996-05-20 1999-04-13 Atmel Corporation Field programmable gate array with distributed RAM and increased cell utilization
JP2003149300A (en) * 2001-11-16 2003-05-21 Hitachi Ltd Test method and semiconductor device
JP2003224468A (en) * 2002-01-31 2003-08-08 Hitachi Ltd Semiconductor integrated circuit, its manufacturing method, and testing method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6288969B1 (en) * 1996-06-20 2001-09-11 Nortel Networks Limited Multi-port random access memory
US7652946B2 (en) * 2005-11-28 2010-01-26 Taiyo Yuden Corp. Semiconductor device
US7525868B2 (en) * 2006-11-29 2009-04-28 Taiwan Semiconductor Manufacturing Co., Ltd. Multiple-port SRAM device
US7630272B2 (en) * 2007-02-19 2009-12-08 Freescale Semiconductor, Inc. Multiple port memory with prioritized world line driver and method thereof

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8952721B2 (en) 2010-06-24 2015-02-10 Taiyo Yuden Co., Ltd. Semiconductor device
US9214209B2 (en) 2010-06-24 2015-12-15 Taiyo Yuden Co., Ltd. Semiconductor device
US9177092B2 (en) 2012-04-09 2015-11-03 Taiyo Yuden Co., Ltd. Method for arranging and wiring reconfigurable semiconductor device, program therefor, and arranging and wiring apparatus
US20150022232A1 (en) * 2012-04-11 2015-01-22 Taiyo Yuden Co., Ltd. Reconfigurable semiconductor device
US9425798B2 (en) * 2012-04-11 2016-08-23 Taiyo Yuden Co., Ltd. Reconfigurable semiconductor device
US9350357B2 (en) 2012-10-28 2016-05-24 Taiyo Yuden Co., Ltd. Reconfigurable semiconductor device
US9514259B2 (en) 2012-11-20 2016-12-06 Taiyo Yuden Co., Ltd. Logic configuration method for reconfigurable semiconductor device
US9425800B2 (en) 2013-04-02 2016-08-23 Taiyo Yuden Co., Ltd. Reconfigurable logic device

Also Published As

Publication number Publication date
US7652946B2 (en) 2010-01-26
WO2007060738A1 (en) 2007-05-31
CN101310442A (en) 2008-11-19
JP4703655B2 (en) 2011-06-15
TW200721190A (en) 2007-06-01
CN101310443A (en) 2008-11-19
JPWO2007060738A1 (en) 2009-05-07
WO2007060763A1 (en) 2007-05-31
US20090154282A1 (en) 2009-06-18
TWI367494B (en) 2012-07-01
CN101310443B (en) 2012-04-18

Similar Documents

Publication Publication Date Title
US20090290444A1 (en) Semiconductor device
US12063041B2 (en) Flip flop standard cell
JP2001325800A5 (en)
CN110299165A (en) SRAM memory part, memory input output and its method
US6233197B1 (en) Multi-port semiconductor memory and compiler having capacitance compensation
US6370078B1 (en) Way to compensate the effect of coupling between bitlines in a multi-port memories
KR20030014584A (en) Semiconductor integrated circuit device
US7746722B2 (en) Metal programmable self-timed memories
US8050132B2 (en) Semiconductor device
Barth et al. A 500-MHz multi-banked compilable DRAM macro with direct write and programmable pipelining
US7639557B1 (en) Configurable random-access-memory circuitry
US6229741B1 (en) Semiconductor integrated circuit device
KR0172350B1 (en) Fast disturb test of semiconductor memory device and wordline decoder
JP3833022B2 (en) Semiconductor device
JP2001014842A (en) Semiconductor memory and logical lsi mixingly equipped with memory
JP2003149300A (en) Test method and semiconductor device
JP5032996B2 (en) Semiconductor device
KR20070080044A (en) Multi bank semiconductor memory device and method for enabling multi bank thereof
JPH04217359A (en) Semiconductor storage device
WO1999000752A1 (en) Method and apparatus for incorporating dynamic random access memory design modules into an integrated circuit chip design
JPH06223597A (en) Semiconductor device
JP4187714B2 (en) Semiconductor memory layout method and semiconductor memory
JP2006172623A (en) Semiconductor device
US6687182B2 (en) Semiconductor memory device
JPH0325793A (en) Semiconductor memory device

Legal Events

Date Code Title Description
AS Assignment

Owner name: TAIYO YUDEN CORP., JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GENESIS TECHNOLOGY, INC.;REEL/FRAME:021906/0494

Effective date: 20080129

Owner name: GENESIS TECHNOLOGY, INC., JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SATOH, MASAYUKI;REEL/FRAME:021914/0700

Effective date: 20071130

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION