JP5081240B2 - Semiconductor device - Google Patents

Semiconductor device Download PDF

Info

Publication number
JP5081240B2
JP5081240B2 JP2009520228A JP2009520228A JP5081240B2 JP 5081240 B2 JP5081240 B2 JP 5081240B2 JP 2009520228 A JP2009520228 A JP 2009520228A JP 2009520228 A JP2009520228 A JP 2009520228A JP 5081240 B2 JP5081240 B2 JP 5081240B2
Authority
JP
Japan
Prior art keywords
memory cell
read
data
cell blocks
input
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.)
Expired - Fee Related
Application number
JP2009520228A
Other languages
Japanese (ja)
Other versions
JPWO2009001426A1 (en
Inventor
正幸 佐藤
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
Taiyo Yuden Co Ltd
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 Taiyo Yuden Co Ltd filed Critical Taiyo Yuden Co Ltd
Publication of JPWO2009001426A1 publication Critical patent/JPWO2009001426A1/en
Application granted granted Critical
Publication of JP5081240B2 publication Critical patent/JP5081240B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318505Test of Modular systems, e.g. Wafers, MCM's
    • G01R31/318511Wafer Test
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318516Test of programmable logic devices [PLDs]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17736Structural details of routing resources

Landscapes

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

Description

本発明は、メモリを論理回路として動作させることができる半導体装置に関する。   The present invention relates to a semiconductor device capable of operating a memory as a logic circuit.

従来、LSI(Large Scale Integration)などの半導体装置は、機能設計、論理回路設計、ウェハ製造、組立などの多くの工程を経て製造されていた。そして、その製造工程は、同一製品の多量生産には適していたが、多種類の製品の少量ずつの生産にはコストがかかるため適していなかった。   Conventionally, semiconductor devices such as LSI (Large Scale Integration) have been manufactured through many processes such as functional design, logic circuit design, wafer manufacturing, and assembly. The manufacturing process was suitable for mass production of the same product, but was not suitable for production of small quantities of many kinds of products because of the cost.

そこで、単一の半導体装置を多量に生産しても顧客サイドで別々の製品として使い分けることができるように、FPGA(Field Programmable Gate Array)などの製造技術も開発された。FPGAとは、製造した後に論理回路をプログラムできるLSIなどの半導体装置のことである。
しかし、FPGAは、論理回路、配線、スイッチなど多種の部品から構成されるため、半導体プロセス上の配線の多層構造や高度な製造技術を必要とするという問題があった。
Therefore, a manufacturing technology such as FPGA (Field Programmable Gate Array) has been developed so that even if a large amount of a single semiconductor device is produced, it can be used as a separate product on the customer side. An FPGA is a semiconductor device such as an LSI that can be programmed with a logic circuit after being manufactured.
However, since the FPGA is composed of various components such as logic circuits, wirings, and switches, there is a problem that a multilayer structure of wirings in a semiconductor process and a high-level manufacturing technique are required.

そして、その1つの解決手法として、メモリを論理回路として動作させる技術が開発された。
たとえば、特許文献1では、複数のメモリを配線接続し、所定のアドレス入力に対して所定のデータを出力するように、メモリに所定の真理値を書き込むことで論理回路として動作する半導体装置に関する技術が開示されている。
As one solution, a technique for operating a memory as a logic circuit has been developed.
For example, Patent Document 1 relates to a semiconductor device that operates as a logic circuit by writing a predetermined truth value in a memory so that a plurality of memories are connected by wiring and predetermined data is output in response to a predetermined address input. Is disclosed.

また、特許文献2では、SRAM(Static Random Access Memory)などのメモリに真理値表データを書き込み、アドレスを入力とし、出力を出力値とすることで論理回路として動作する半導体装置に関する技術が開示されている。
特開2003−149300号公報 特開2003−224468号公報
Patent Document 2 discloses a technology related to a semiconductor device that operates as a logic circuit by writing truth table data to a memory such as an SRAM (Static Random Access Memory), using an address as an input, and using an output as an output value. ing.
JP 2003-149300 A JP 2003-224468 A

しかしながら、特許文献1の半導体装置では、メモリの真理値を書き換える場合には、配線を接続しなおさなければならないという問題があった。
また、特許文献2の半導体装置では、所定量のデータを記憶するメモリセルを複数集めたメモリセルブロックがアレイ状に並べられ、1つのメモリセルブロックからのデータは、隣接する4つのメモリセルブロックのうち2つ(たとえば上下左右のうち右と下)にしか出力されないため、データを帰還させる(元のメモリセルブロックに戻す)論理回路として動作させることが困難であった。
However, the semiconductor device of Patent Document 1 has a problem in that when the truth value of the memory is rewritten, the wiring must be reconnected.
Further, in the semiconductor device of Patent Document 2, memory cell blocks in which a plurality of memory cells that store a predetermined amount of data are collected are arranged in an array, and data from one memory cell block includes four adjacent memory cell blocks. Since it is output only to two of them (for example, right and bottom of up, down, left and right), it is difficult to operate as a logic circuit that feeds back data (returns to the original memory cell block).

そこで、本発明は、前記問題点に鑑みてなされたものであり、論理回路として動作するメモリであり、メモリの真理値を書き換えても配線を接続しなおす必要がなく、また、データを帰還させることができる半導体装置を提供することを目的とする。   Therefore, the present invention has been made in view of the above problems, and is a memory that operates as a logic circuit. Even if the truth value of the memory is rewritten, there is no need to reconnect wiring, and data is fed back. An object of the present invention is to provide a semiconductor device that can be used.

前記課題を解決するために、本発明は、所定量のデータを記憶するメモリセルを複数備えたメモリセルブロックを複数有する半導体装置である。それぞれのメモリセルブロックは、入力数および出力数が4以上であり、内部に、メモリセルに対する読出アドレスデコーダ、および、外部への出力時に電圧を増幅するセンスアンプを備え、所定のアドレス入力に対して所望の論理値を出力するための真理値表データをメモリセルに記憶し、論理回路として動作するように構成されている。メモリセルは、読出アドレスデコーダに対応して読出ワード線を有しており、その読出ワード線の電圧が印加された場合に、そのとき保持しているデータが読出データ線から読み出される。メモリセルブロック同士は、1つのメモリセルブロックからの4以上の出力がセンスアンプを介して他の4以上のメモリセルブロックへ入力されるように接続されている。   In order to solve the above problems, the present invention is a semiconductor device having a plurality of memory cell blocks each including a plurality of memory cells for storing a predetermined amount of data. Each memory cell block has four or more inputs and outputs, and internally includes a read address decoder for the memory cells and a sense amplifier that amplifies the voltage when output to the outside. Truth table data for outputting a desired logic value is stored in a memory cell and operates as a logic circuit. The memory cell has a read word line corresponding to the read address decoder. When the voltage of the read word line is applied, the data held at that time is read from the read data line. The memory cell blocks are connected such that four or more outputs from one memory cell block are input to the other four or more memory cell blocks via a sense amplifier.

本発明によれば、論理回路として動作するメモリであり、メモリの真理値を書き換えても配線を接続しなおす必要がなく、また、データを帰還させることができる半導体装置を提供することができる。   According to the present invention, it is possible to provide a semiconductor device that is a memory that operates as a logic circuit, does not need to be connected again even if the truth value of the memory is rewritten, and can return data.

半導体装置と情報処理装置の構成図である。It is a block diagram of a semiconductor device and an information processing device. 図1の半導体装置を構成する記憶素子であるメモリセルの構成図である。FIG. 2 is a configuration diagram of a memory cell that is a storage element configuring the semiconductor device of FIG. 1. メモリセルブロックの構成図である。It is a block diagram of a memory cell block. 半導体装置における読出ポートの接続状況を示した図である。It is the figure which showed the connection condition of the read-out port in a semiconductor device. 半導体装置の内部構造図である。It is an internal structure figure of a semiconductor device. 3ビット加算器の構成例である。It is a structural example of a 3-bit adder. (a)はメモリセルブロック300の簡略図、(b)はメモリセルブロック300d、300eおよび300fに格納する真理値表である。(A) is a simplified diagram of the memory cell block 300, and (b) is a truth table stored in the memory cell blocks 300d, 300e, and 300f. (a)はメモリセルブロック300の簡略図、(b)はメモリセルブロック300g、300j、300kおよび300lに格納する真理値表である。(A) is a simplified diagram of the memory cell block 300, and (b) is a truth table stored in the memory cell blocks 300g, 300j, 300k, and 300l. (a)はメモリセルブロック300の簡略図、(b)はメモリセルブロック300hおよび300iに格納する真理値表である。(A) is a simplified diagram of the memory cell block 300, and (b) is a truth table stored in the memory cell blocks 300h and 300i. n値が「2」の場合のメモリセルブロックの構成例を示す図である。It is a figure which shows the structural example of a memory cell block in case n value is "2". n値が「2」の場合の半導体装置110の構成例を示す図である。2 is a diagram illustrating a configuration example of a semiconductor device 110 when an n value is “2”. FIG. n値が「3」の場合のメモリセルブロックの構成例を示す図である。It is a figure which shows the structural example of a memory cell block in case n value is "3". n値が「3」の場合のメモリセルブロックの構成例を示す図である。It is a figure which shows the structural example of a memory cell block in case n value is "3". n値が「3」の場合の半導体装置110の構成例を示す図である。6 is a diagram illustrating a configuration example of a semiconductor device 110 when an n value is “3”. FIG. n値が「6」の場合のメモリセルブロックの構成例を示す図である。It is a figure which shows the structural example of a memory cell block in case n value is "6". n値が「6」の場合の半導体装置110の構成例を示す図である。3 is a diagram illustrating a configuration example of a semiconductor device 110 when an n value is “6”. FIG. n値が「8」の場合のメモリセルブロックの構成例を示す図である。It is a figure which shows the structural example of a memory cell block in case n value is "8". n値が「8」の場合の半導体装置110の構成例を示す図である。3 is a diagram illustrating a configuration example of a semiconductor device 110 when an n value is “8”. FIG. n値が「2.5」の場合のメモリセルブロックの構成例を示す図である。It is a figure which shows the structural example of a memory cell block in case n value is "2.5". n値が「2.5」の場合の半導体装置110の構成例を示す図である。6 is a diagram illustrating a configuration example of a semiconductor device 110 when an n value is “2.5”. FIG. 代数的除算の例を示す図である。It is a figure which shows the example of algebraic division. 必要なメモリ容量とクリティカルパスのセル数の大小比較を示す表である。It is a table | surface which shows the magnitude comparison of the required memory capacity and the number of cells of a critical path. 代数的除算を利用したテスタなどの構成図である。It is a block diagram of a tester etc. using algebraic division. 半導体装置に、論理回路として動作させるためのビットデータを搭載するときの処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process when mounting the bit data for operating as a logic circuit in a semiconductor device.

符号の説明Explanation of symbols

100 情報処理装置
110 半導体装置
200 メモリセル
201,202 読出ワード線
211 書込ワード線
221,222 読出データ線
231,232 書込データ線
300 メモリセルブロック
301 セレクト線
311 読出アドレスデコーダ
401 書込/読出回路
601,701,801 真理値表
1400 大規模メモリ
1900 テスタ
DESCRIPTION OF SYMBOLS 100 Information processing device 110 Semiconductor device 200 Memory cell 201, 202 Read word line 211 Write word line 221, 222 Read data line 231, 232 Write data line 300 Memory cell block 301 Select line 311 Read address decoder 401 Write / read Circuit 601, 701, 801 Truth table 1400 Large scale memory 1900 Tester

以下、本発明の実施形態に係る半導体装置について、図面を参照しながら説明する。
図1は、半導体装置と情報処理装置の構成図である。情報処理装置100は、コンピュータ装置であり、キーボードなどの入力部101、ハードディスクなどの記憶部102、RAM(Random Access Memory)などのメモリ103、CRT(Cathode Ray Tube)などの出力部104、通信装置である通信部105、および、CPU(Central Processing Unit)などの処理部106を備えている。
なお、情報処理装置100で作成するビットデータ(図18のステップS1204で後記)を、図示しないROM(Read Only Memory)で保持するようにしてもよい。
Hereinafter, a semiconductor device according to an embodiment of the present invention will be described with reference to the drawings.
FIG. 1 is a configuration diagram of a semiconductor device and an information processing device. The information processing apparatus 100 is a computer device, and includes an input unit 101 such as a keyboard, a storage unit 102 such as a hard disk, a memory 103 such as a RAM (Random Access Memory), an output unit 104 such as a CRT (Cathode Ray Tube), and a communication device. And a processing unit 106 such as a CPU (Central Processing Unit).
The bit data created by the information processing apparatus 100 (described later in step S1204 in FIG. 18) may be held in a ROM (Read Only Memory) (not shown).

半導体装置110は、情報処理装置100の通信部105と接続されている。半導体装置110は、ハードウェア的には、たとえば、通常のSRAM(Static Random Access Memory)と同様の記憶装置であり、詳細は図2以降で説明する。   The 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 normal SRAM (Static Random Access Memory) in terms of hardware, and will be described in detail later with reference to FIG.

図2は、図1の半導体装置110を構成する記憶素子であるメモリセルの構成図である。メモリセル200は、読出ワード線201、書込ワード線211、読出データ線221,222、書込データ線231,232、ゲート241,242,261,262およびフリップフロップ271を備えて構成される。   FIG. 2 is a configuration diagram of a memory cell which is a memory element constituting the semiconductor device 110 of FIG. The memory cell 200 includes a read word line 201, a write word line 211, read data lines 221, 222, write data lines 231, 232, gates 241, 242, 261, 262, and a flip-flop 271.

なお、ゲート241,242,261および262は、N−MOS(Negative-Metal Oxide Semiconductor)で構成するものとしているが、その代わりにP−MOS(Positive-Metal Oxide Semiconductor)を用いて構成してもよく、さらに、N−MOSとP−MOSの複合ゲートとしてもよい。その場合、周辺の回路を必要に応じて適宜変更することで対応すればよい。   The gates 241, 242, 261, and 262 are configured by N-MOS (Negative-Metal Oxide Semiconductor), but may be configured by using P-MOS (Positive-Metal Oxide Semiconductor) instead. In addition, a composite gate of N-MOS and P-MOS may be used. In that case, what is necessary is just to respond | correspond by changing a peripheral circuit suitably as needed.

読出ワード線201は、メモリセル200のデータを外部から読み出すときに電圧が印加される配線である。読出ワード線201の電圧が印加されるとゲート241とゲート242が開く。   The read word line 201 is a wiring to which a voltage is applied when data of the memory cell 200 is read from the outside. When the voltage of the read word line 201 is applied, the gates 241 and 242 are opened.

書込ワード線211は、メモリセル200に外部からデータを書き込むときに電圧が印加される配線である。書込ワード線211の電圧が印加されると、ゲート261とゲート262が開く。   The write word line 211 is a wiring to which a voltage is applied when data is written to the memory cell 200 from the outside. When the voltage of the write word line 211 is applied, the gate 261 and the gate 262 are opened.

読出データ線221,222は、読出ワード線201に所定の電圧が印加され、ゲート241および242が開いたときに、フリップフロップ271に保持されているデータを読み出すための配線である。なお、読出データ線221からデータ「0」が読み出されたときは読出データ線222からはデータ「1」が読み出され、読出データ線221からデータ「1」が読み出されたときは読出データ線222からはデータ「0」が読み出される、いわゆる差動信号の動作をするようになっている。   The read data lines 221 and 222 are wirings for reading data held in the flip-flop 271 when a predetermined voltage is applied to the read word line 201 and the gates 241 and 242 are opened. When data “0” is read from read data line 221, data “1” is read from read data line 222, and when data “1” is read from read data line 221, data is read. Data “0” is read out from the data line 222, so-called differential signal operation is performed.

書込データ線231,232は、書込ワード線211の電圧が印加され、ゲート261とゲート262が開いたときに、フリップフロップ271にデータを書き込むための配線である。書込データ線231からデータ「0」を書き込むときは書込データ線232からはデータ「1」を書き込み、書込データ線231からデータ「1」を書き込むときは書込データ線232からはデータ「0」を書き込むようになっている。
フリップフロップ271は、上記の意味でのメモリセル200に記憶される「0」か「1」のデータを保持する記憶回路である。
The write data lines 231 and 232 are wirings for writing data to the flip-flop 271 when the voltage of the write word line 211 is applied and the gates 261 and 262 are opened. When data “0” is written from the write data line 231, data “1” is written from the write data line 232, and when data “1” is written from the write data line 231, data is written from the write data line 232. "0" is written.
The flip-flop 271 is a storage circuit that holds “0” or “1” data stored in the memory cell 200 in the above sense.

図3は、図1の半導体装置110における内部構造の一部のメモリセルブロックの構成図である(適宜図2参照)。
メモリセルブロック300は、アレイ状に並べて接続された複数のメモリセル200、読出アドレスデコーダ311、2つのセンスアンプ600を含んで構成される。なお、センスアンプ600は、メモリセル200から出力される微弱な電圧を増幅するための回路であり、これによりメモリセルブロック300間に流れる電流が安定する。また、センスアンプ600は、yアドレス(横方向のアドレス)に関する読出アドレスデコーダの役割も兼ねる。
FIG. 3 is a configuration diagram of a part of the memory cell block in the internal structure of the semiconductor device 110 of FIG.
The memory cell block 300 includes a plurality of memory cells 200, a read address decoder 311, and two sense amplifiers 600 that are connected in an array. Note that the sense amplifier 600 is a circuit for amplifying a weak voltage output from the memory cell 200, and the current flowing between the memory cell blocks 300 is thereby stabilized. The sense amplifier 600 also serves as a read address decoder for the y address (horizontal address).

読出アドレスデコーダ311は、アドレス入力線322から複数のアドレス差動信号(A0と/A0、A1と/A1)を受ける。
なお、特許請求の範囲における、入力数および出力数の「4」というのは、差動信号の場合であれば「4対」という意味に相当し、差動信号の場合でなければ(単一配線の場合)「4本」という意味に相当する。他の数値に関しても同様である。
Read address decoder 311 receives a plurality of address differential signals (A0 and / A0, A1 and / A1) from address input line 322.
In the claims, “4” in the number of inputs and outputs corresponds to “4 pairs” in the case of differential signals, and is not in the case of differential signals (single (In the case of wiring) This corresponds to the meaning of “four”. The same applies to other numerical values.

メモリセルブロック300では、最上段の外側のメモリセル200、すなわち、メモリセル200(Cell31,0)とメモリセル200(Cell31,3)の上側と、最下段の内側のメモリセル200、すなわち、メモリセル200(Cell0,1)とメモリセル200(Cell0,2)の下側において、読出データ線221,222が、センスアンプ600を介して他のメモリセルブロック300(不図示)に接続されるように構成されている。また、センスアンプ600には、アドレス入力線323からyアドレスの差動信号(A2と/A2、A3と/A3)が入力される。   In the memory cell block 300, the outermost memory cell 200, that is, the upper side of the memory cell 200 (Cell31,0) and the memory cell 200 (Cell31,3), and the innermost memory cell 200, that is, the memory. The read data lines 221 and 222 are connected to another memory cell block 300 (not shown) via the sense amplifier 600 below the cell 200 (Cell0,1) and the memory cell 200 (Cell0,2). It is configured. The sense amplifier 600 receives y-address differential signals (A2 and / A2, A3 and / A3) from the address input line 323.

メモリセルブロック300では、最上段の内側のメモリセル200、すなわち、メモリセル200(Cell31,1)とメモリセル200(Cell31,2)の上側と、最下段の外側のメモリセル200、すなわち、メモリセル200(Cell0,0)とメモリセル200(Cell0,3)の下側において、読出データ線221,222が切断されている。   In the memory cell block 300, the uppermost inner memory cell 200, that is, the upper side of the memory cell 200 (Cell31,1) and the memory cell 200 (Cell31,2), and the lowermost outer memory cell 200, that is, the memory. The read data lines 221 and 222 are disconnected below the cell 200 (Cell0, 0) and the memory cell 200 (Cell0, 3).

すなわち、メモリセルブロック300において、読出データ線は、外側の複数対が上方に、また、内側の複数対が下方に、センスアンプ600を介して出力するように構成されている。このようにすることで、メモリセルブロック300の出力(読出し)の規模を必要最小限に抑え、各種データ処理の負担を軽くすることができ、また、複数の方向に複数の出力を行うことができる。   That is, in the memory cell block 300, the read data lines are configured to output via the sense amplifier 600 with the plurality of outer pairs upward and the inner pairs downward. By doing so, the scale of output (reading) of the memory cell block 300 can be minimized, the burden of various data processing can be reduced, and a plurality of outputs can be performed in a plurality of directions. it can.

メモリセルブロック300では、これらのアドレス入力線322、アドレス入力線323およびセレクト線(特定のアドレス選択線)301(SEL)からの入力により、特定のメモリセル200における情報を読み出すことができる。   In the memory cell block 300, information in the specific memory cell 200 can be read by input from the address input line 322, the address input line 323, and the select line (specific address selection line) 301 (SEL).

また、セレクト線301にはインバータ302が備えられている。さらに、読出アドレスデコーダ311には複数個の論理回路(AND回路やNAND回路など)370が備えられている。また、書込ワード線371(図2の書込ワード線211に対応)は、書込アドレスデコーダ411(図5参照)に接続されている。   The select line 301 is provided with an inverter 302. Further, the read address decoder 311 is provided with a plurality of logic circuits (AND circuit, NAND circuit, etc.) 370. The write word line 371 (corresponding to the write word line 211 in FIG. 2) is connected to the write address decoder 411 (see FIG. 5).

図3に示すように、たとえば、セレクト線301から「1」が入力されたときは、メモリセルブロック300におけるメモリセル200の上半分が動作し、セレクト線301から「0」が入力されたときは、メモリセルブロック300におけるメモリセル200の下半分が動作するようになっている。   As shown in FIG. 3, for example, when “1” is input from the select line 301, the upper half of the memory cell 200 in the memory cell block 300 operates and “0” is input from the select line 301. The lower half of the memory cell 200 in the memory cell block 300 operates.

したがって、たとえば、メモリセルブロック300におけるメモリセル200の上半分を加算器、メモリセル200の下半分を減算器として動作するように設定しておけば、セレクト線301からの信号を切り替えるだけで、瞬時に、加算器と減算器の切り替えを行うことができる。また、加算器、減算器だけでなく、乗算器、除算器に関しても同様である。さらに、同様にして、それ以外に、加算器と通常の記憶装置との切り替えなども行うことができる。   Therefore, for example, if the upper half of the memory cell 200 in the memory cell block 300 is set to operate as an adder and the lower half of the memory cell 200 is operated as a subtractor, only the signal from the select line 301 is switched. Instantaneous switching between adder and subtractor can be performed. The same applies to a multiplier and a divider as well as an adder and a subtracter. Further, similarly, other than that, switching between an adder and a normal storage device can be performed.

なお、メモリセルブロック300に入力する信号、および、メモリセルブロック300から出力される信号は、差動信号であってもよいし、単一の信号であってもよい。   Note that a signal input to the memory cell block 300 and a signal output from the memory cell block 300 may be a differential signal or a single signal.

図4は、半導体装置110(図1参照)における読出ポート(図3の読出データ線の上下2出力ずつとアドレス入力線322,323からの2入力ずつ)の接続状況を示した図である。また、図4では、半導体装置110を平面視した場合の左上の一部を表わしている。   FIG. 4 is a diagram showing a connection state of the read ports (each of the two upper and lower outputs of the read data line in FIG. 3 and two inputs from the address input lines 322 and 323) in the semiconductor device 110 (see FIG. 1). 4 shows a part of the upper left when the semiconductor device 110 is viewed in plan.

メモリセルブロック300d〜300lにおいて、入力A0(以下「A0」という:A1〜A3も同様)は表記の簡略のために図3のA0と/A0を合わせたものを示すものとし、A1〜A3についても同様である。   In the memory cell blocks 300d to 300l, the input A0 (hereinafter referred to as “A0”: the same applies to A1 to A3) indicates the combination of A0 and / A0 in FIG. Is the same.

また、メモリセルブロック300d〜300lにおいて、出力D0(以下「D0」という:D1〜D3も同様)は表記の簡略のために図3のメモリセル200(Cell31,0)の読出データ線2つを合わせたものを示すものとし、D1〜D3についても同様である。
メモリセルブロック300d〜300lのA0〜A3およびD0〜D3は、図4に示すように接続される。
In the memory cell blocks 300d to 300l, the output D0 (hereinafter referred to as “D0”: D1 to D3 is also the same) is provided with two read data lines of the memory cell 200 (Cell31,0) of FIG. This is the same for D1 to D3.
A0 to A3 and D0 to D3 of memory cell blocks 300d to 300l are connected as shown in FIG.

なお、ドライバ回路420は、外部装置から本デバイス(半導体装置110)に入力される信号を差動信号に変換するものである。また、アンプ430は、入力した差動信号を通常の信号に増幅および変換して外部装置に出力するものである。   The driver circuit 420 converts a signal input from an external device to the device (semiconductor device 110) into a differential signal. The amplifier 430 amplifies and converts the input differential signal into a normal signal and outputs it to an external device.

このような配線にすることで、半導体装置110において、データの帰還を容易に行うことができる。具体的には、たとえば、メモリセルブロック300dのD3からメモリセルブロック300gのA1にデータを送る場合、メモリセルブロック300gにおいてA1から入ったデータをD1から出力するようにメモリセルブロック300gに真理値表を書き込んでおけば、そのデータをメモリセルブロック300dのA3に帰還させることができる。   By using such a wiring, the semiconductor device 110 can easily perform data feedback. Specifically, for example, when data is sent from D3 of the memory cell block 300d to A1 of the memory cell block 300g, the memory cell block 300g outputs a truth value to the memory cell block 300g so that data input from A1 is output from D1. If the table is written, the data can be fed back to A3 of the memory cell block 300d.

また、メモリセルブロック300d〜300lに書き込む真理値表を変更するだけで、配線を変更することなく、半導体装置110を様々な論理回路として動作させることができる。
なお、このような配線の折れ曲がりの回数や具合は、特にこの図4に限定されることなく、適宜変更が可能である。
Further, the semiconductor device 110 can be operated as various logic circuits only by changing the truth table written in the memory cell blocks 300d to 300l without changing the wiring.
Note that the number and condition of such wiring bends are not particularly limited to FIG. 4 and can be changed as appropriate.

図5は、半導体装置110(図1参照)の内部構造図である。それぞれのメモリセルブロック300はアレイ状に並べられ、左側に書込アドレスデコーダ411、下側に書込/読出回路401が配置され、そららが図のように接続される。つまり、図5は、図4と同様の半導体装置110において、読出ポートの接続状況以外の様子を示した図である。   FIG. 5 is an internal structure diagram of the semiconductor device 110 (see FIG. 1). Each memory cell block 300 is arranged in an array, a write address decoder 411 is arranged on the left side, and a write / read circuit 401 is arranged on the lower side, and they are connected as shown in the figure. That is, FIG. 5 is a diagram illustrating a state other than the connection state of the read port in the semiconductor device 110 similar to FIG.

書込アドレスデコーダ411は、メモリセルブロック300にデータを書き込む際に、メモリセルブロック300のxアドレス(図5の半導体装置110の縦方向のアドレス)を特定するための装置である。
書込アドレスデコーダ411には、複数のメモリセルブロック300のうちのいずれのメモリセルブロック300かを特定するためのxアドレスが上位アドレス(この場合はA4w以降のA5w,A6w,・・・)に入力され、その特定されたメモリセルブロック300の内部(メモリセル200)を特定するためのxアドレスが下位アドレス(この場合はA0w〜A3w)から入力される。
The write address decoder 411 is a device for specifying the x address of the memory cell block 300 (the vertical address of the semiconductor device 110 in FIG. 5) when writing data to the memory cell block 300.
In the write address decoder 411, the x address for specifying which one of the plurality of memory cell blocks 300 is an upper address (in this case, A5w, A6w,... After A4w). The x address for specifying the inside (memory cell 200) of the specified memory cell block 300 is input from the lower address (A0w to A3w in this case).

また、書込/読出回路401は、データの読み書きを行うメモリセルブロック300のyアドレスを特定し、さらに、特定されたメモリセルブロック300に対してデータの読み書きを行う装置である。
具体的には、書込/読出回路401には、複数のメモリセルブロック300のうちのいずれかのメモリセルブロック300かを特定するためのyアドレス(図5の半導体装置110の横方向のアドレス)が(この場合はAyw2に)入力され、その特定されたメモリセルブロック300の内部(メモリセル200)を特定するためのyアドレスが(この場合はAyw0,Ayw1に)入力される。また、書込/読出回路401には、入力402から複数のビット数(この場合は4ビット)のデータが入力される。
The write / read circuit 401 is a device that specifies the y address of the memory cell block 300 that reads / writes data, and that reads / writes data from / to the specified memory cell block 300.
Specifically, the write / read circuit 401 has a y address (a horizontal address of the semiconductor device 110 in FIG. 5) for specifying any one of the plurality of memory cell blocks 300. ) Is input (in this case, to Ayw2), and the y address for specifying the inside (memory cell 200) of the specified memory cell block 300 is input (in this case, to Ayw0 and Ayw1). The write / read circuit 401 receives data of a plurality of bits (in this case, 4 bits) from the input 402.

このようにして、特定のメモリセルブロック300における特定のメモリセル200を適宜選択し、真理値表データの書き換えなどを行うことができる。
すなわち、半導体装置110は、複数のメモリセルブロック300のうち、一部のメモリセルブロック300のメモリセル200が記憶する真理値表データを書き換えられた場合、その書き換えられた真理値表データにしたがって動作を変更できる。
In this manner, the specific memory cell 200 in the specific memory cell block 300 can be selected as appropriate, and truth table data can be rewritten.
That is, when the truth table data stored in the memory cells 200 of some of the memory cell blocks 300 among the plurality of memory cell blocks 300 is rewritten, the semiconductor device 110 follows the rewritten truth table data. You can change the behavior.

続いて、図6〜図9を参照しながら、半導体装置110(図4参照)を3ビット加算器として使用する場合の例について説明する。
図6は、3ビット加算器の構成例である。この図6におけるメモリセルブロック同士の接続は、図4の場合と同じである。
Next, an example in which the semiconductor device 110 (see FIG. 4) is used as a 3-bit adder will be described with reference to FIGS.
FIG. 6 is a configuration example of a 3-bit adder. Connections between the memory cell blocks in FIG. 6 are the same as those in FIG.

ここでは、3ビットの2数E,Fを加算し、その結果をYとする場合について説明する。なお、Eの最下位ビットをE0、次のビットをE1、最上位ビットをE2とする。また、Fの最下位ビットをF0、次のビットをF1、最上位ビットをF2とする。さらに、Yの最下位ビットをY0、次のビットをY1、最上位ビットをY2とする。また、最下位ビットの加算による桁上がりをC0、次のビットの加算による桁上がりをC1、最上位のビットの加算による桁上がりをC2とする。また、各々の信号は差動であるが、記載上簡略して記述した。   Here, a case will be described in which 3-bit two numbers E and F are added and the result is Y. The least significant bit of E is E0, the next bit is E1, and the most significant bit is E2. The least significant bit of F is F0, the next bit is F1, and the most significant bit is F2. Further, the least significant bit of Y is Y0, the next bit is Y1, and the most significant bit is Y2. Also, the carry by adding the least significant bit is C0, the carry by adding the next bit is C1, and the carry by adding the most significant bit is C2. Although each signal is differential, it is described in a simplified manner for the sake of description.

メモリセルブロック300dでは、A0にE0が、A1にF0が入力され、加算を行い、D3からY0を出力し、D2からC0を出力する。
メモリセルブロック300eでは、A0にE1が、A1にF1が入力され、また、A3にC0が入力され、加算を行い、D3からY1を出力し、D2からC1を出力する。
メモリセルブロック300fでは、A0にE2が、A1にF2が入力され、また、A3にC1が入力され、加算を行い、D3からY2を出力し、D2からC2を出力する。
In the memory cell block 300d, E0 is input to A0, F0 is input to A1, addition is performed, Y0 is output from D3, and C0 is output from D2.
In the memory cell block 300e, E1 is input to A0, F1 is input to A1, and C0 is input to A3. The addition is performed, Y1 is output from D3, and C1 is output from D2.
In the memory cell block 300f, E2 is input to A0, F2 is input to A1, and C1 is input to A3. The addition is performed, Y2 is output from D3, and C2 is output from D2.

メモリセルブロック300dのD3から出力されたY0は、図のような経路(太線)を経て、メモリセルブロック300jのD3から出力される。
メモリセルブロック300eのD3から出力されたY1は、図のような経路(太線)を経て、メモリセルブロック300kのD3から出力される。
メモリセルブロック300fのD3から出力されたY2は、図のような経路(太線)を経て、メモリセルブロック300lのD3から出力される。
このようにして、加算結果であるY0、Y1およびY2を得ることができる。
Y0 output from D3 of the memory cell block 300d is output from D3 of the memory cell block 300j via a path (thick line) as shown in the figure.
Y1 output from D3 of the memory cell block 300e is output from D3 of the memory cell block 300k via a path (thick line) as shown in the figure.
Y2 output from D3 of the memory cell block 300f is output from D3 of the memory cell block 300l via a path (thick line) as shown in the figure.
In this way, Y0, Y1, and Y2 that are addition results can be obtained.

図7において、(a)はメモリセルブロック300の簡略図、(b)はメモリセルブロック300d、300eおよび300fに格納する真理値表である(適宜図6参照)。
図7(a)に示すように、メモリセルブロック300において、A0〜A3に入力があると、その入力に応じてD0〜D3から真理値表に定義されたデータが出力される。
7A is a simplified diagram of the memory cell block 300, and FIG. 7B is a truth table stored in the memory cell blocks 300d, 300e, and 300f (see FIG. 6 as appropriate).
As shown in FIG. 7A, in the memory cell block 300, when there are inputs to A0 to A3, data defined in the truth table is output from D0 to D3 according to the inputs.

図7(b)に示すように、A0,A1,A3にE(E0〜E2),F(F0〜F2),Cin(C0〜C2)の入力があると、それら3つの加算結果として、そのビットの値をD3にY(Y0〜Y2)として出力し、桁上がりをD2にCout(C0〜C2)として出力する。   As shown in FIG. 7 (b), if there are inputs E (E0 to E2), F (F0 to F2), and Cin (C0 to C2) in A0, A1 and A3, the three addition results are as follows: The bit value is output to D3 as Y (Y0 to Y2), and the carry is output to D2 as Cout (C0 to C2).

なお、D0とD1は、ここでは使用しないため、すべての場合で「0」を出力するようにしている。
また、上から1段目〜4段目と5段目〜8段目では、A2以外の真理値が同じになっているが、これは、A2に「0」と「1」のいずれのデータが入力されても正確な出力結果が得られるようにするためである。9段目〜12段目と13段目〜16段目についても同様である。
Since D0 and D1 are not used here, “0” is output in all cases.
The truth values other than A2 are the same in the 1st to 4th stages and the 5th to 8th stages from the top, but this indicates that any data of “0” or “1” is stored in A2. This is because an accurate output result can be obtained even if is input. The same applies to the 9th to 12th stages and the 13th to 16th stages.

図8において、(a)はメモリセルブロック300の簡略図、(b)はメモリセルブロック300g、300j、300kおよび300lに格納する真理値表である(適宜図6参照)。
図8(a)に示すように、メモリセルブロック300において、A0〜A3に入力があると、その入力に応じてD0〜D3から真理値表に定義されたデータが出力される。
8A is a simplified diagram of the memory cell block 300, and FIG. 8B is a truth table stored in the memory cell blocks 300g, 300j, 300k, and 300l (see FIG. 6 as appropriate).
As shown in FIG. 8A, in the memory cell block 300, when there are inputs to A0 to A3, data defined in the truth table is output from D0 to D3 according to the inputs.

図8(b)に示すように、A1にY(Y0〜Y2)の入力があると、その値をD3にそのまま出力する。
なお、D0〜D2は、ここでは使用しないため、すべての場合で「0」を出力するようにしている。
As shown in FIG. 8B, when Y (Y0 to Y2) is input to A1, the value is output to D3 as it is.
Since D0 to D2 are not used here, “0” is output in all cases.

また、実際にはA1からD3へ「0」→「0」、「1」→「1」という2種類(2段分)の真理値表があればよいのであるが、A0、A2、A3に「0」と「1」のいずれのデータが入力されても正確な出力結果が得られるように、16段の真理値表となっている。   Actually, it is only necessary to have two kinds (two levels) of truth tables from A1 to D3, “0” → “0”, “1” → “1”, but A0, A2, A3 It is a 16-level truth table so that an accurate output result can be obtained regardless of whether “0” or “1” data is input.

図9において、(a)はメモリセルブロック300の簡略図、(b)はメモリセルブロック300hおよび300iに格納する真理値表である(適宜図6参照)。
図9(a)に示すように、メモリセルブロック300において、A0〜A3に入力があると、その入力に応じてD0〜D3から真理値表に定義されたデータが出力される。
9A is a simplified diagram of the memory cell block 300, and FIG. 9B is a truth table stored in the memory cell blocks 300h and 300i (see FIG. 6 as appropriate).
As shown in FIG. 9A, in the memory cell block 300, when there are inputs to A0 to A3, data defined in the truth table is output from D0 to D3 according to the inputs.

図9(b)に示すように、A0にC(C0〜C2)の入力があると、その値をD1にそのまま出力する。また、A1にY(Y0〜Y2)の入力があると、その値をD3にそのまま出力する。
なお、D0とD2は、ここでは使用しないため、すべての場合で「0」を出力するようにしている。
As shown in FIG. 9B, when C (C0 to C2) is input to A0, the value is output to D1 as it is. Also, if Y (Y0-Y2) is input to A1, the value is output to D3 as it is.
Since D0 and D2 are not used here, “0” is output in all cases.

また、図8(b)の場合と同様、A2とA3に「0」と「1」のいずれのデータが入力されても正確な出力結果が得られるようになっている。
このようにして、半導体装置110は、加算器として使用することができ、また、同様に、減算器、乗算器、除算器として使用することもできる。
Further, as in the case of FIG. 8B, an accurate output result can be obtained when any data of “0” and “1” is input to A2 and A3.
In this manner, the semiconductor device 110 can be used as an adder, and can also be used as a subtracter, a multiplier, and a divider.

次に、図10A〜図14Bを参照しながら、本実施形態の半導体装置110の構成例について説明する(適宜他図参照)。なお、以下、メモリセルブロック300からの出力数を2で割った値を「n値」と呼ぶ。つまり、n値とは、メモリセルブロック300の上下それぞれからの出力数の平均値を示す。   Next, a configuration example of the semiconductor device 110 of this embodiment will be described with reference to FIGS. 10A to 14B (refer to other drawings as appropriate). Hereinafter, a value obtained by dividing the number of outputs from the memory cell block 300 by 2 is referred to as an “n value”. In other words, the n value represents an average value of the number of outputs from the upper and lower sides of the memory cell block 300.

図10Aは、n値が「2」の場合のメモリセルブロックの構成例を示す図である。メモリセルブロック300Zは、読出アドレスデコーダ311、2つのセンスアンプ600、および、4つのメモリセルマット500Zを備えて構成される。メモリセルマット500Zは、32(8×4)個のメモリセル200から構成される。メモリセルブロック300Zは、左右から2つずつの入力を受け、上下から2つずつの出力を行う。   FIG. 10A is a diagram illustrating a configuration example of a memory cell block when the n value is “2”. The memory cell block 300Z includes a read address decoder 311, two sense amplifiers 600, and four memory cell mats 500Z. The memory cell mat 500Z includes 32 (8 × 4) memory cells 200. The memory cell block 300Z receives two inputs from the left and right and outputs two from the top and bottom.

図10Bは、n値が「2」の場合の半導体装置110の構成例を示す図である。メモリセルブロック300Zをこのように相互接続することで、各メモリセルブロック300Zは、4つの入力に対し4つの出力を行うことができる。   FIG. 10B is a diagram illustrating a configuration example of the semiconductor device 110 when the n value is “2”. By interconnecting the memory cell blocks 300Z in this way, each memory cell block 300Z can perform four outputs for four inputs.

図11Aは、n値が「3」の場合の一方のメモリセルブロックの構成例を示す図である。メモリセルブロック300Aは、読出アドレスデコーダ311、2つのセンスアンプ600、および、6つのメモリセルマット500Aを備えて構成される。メモリセルマット500Aは、128(16×8)個のメモリセル200から構成される。メモリセルブロック300Aは、左右から3つずつの入力を受け、上から4つ、下から2つの出力を行う。   FIG. 11A is a diagram illustrating a configuration example of one memory cell block when the n value is “3”. The memory cell block 300A includes a read address decoder 311, two sense amplifiers 600, and six memory cell mats 500A. The memory cell mat 500A includes 128 (16 × 8) memory cells 200. The memory cell block 300A receives three inputs from the left and right, and outputs four from the top and two from the bottom.

図11Bは、n値が「3」の場合の他方のメモリセルブロックの構成例を示す図である。メモリセルブロック300Bは、読出アドレスデコーダ311、2つのセンスアンプ600、および、6つのメモリセルマット500Aを備えて構成される。メモリセルブロック300Bは、左右から3つずつの入力を受け、上から2つ、下から4つの出力を行う。   FIG. 11B is a diagram illustrating a configuration example of the other memory cell block when the n value is “3”. Memory cell block 300B includes read address decoder 311, two sense amplifiers 600, and six memory cell mats 500A. The memory cell block 300B receives three inputs from the left and right, and outputs two from the top and four from the bottom.

図11Cは、n値が「3」の場合の半導体装置110の構成例を示す図である。メモリセルブロック300A,300Bをこのように相互接続することで、各メモリセルブロック300A,300Bは、6つの入力に対し6つの出力を行うことができる。   FIG. 11C is a diagram illustrating a configuration example of the semiconductor device 110 when the n value is “3”. By interconnecting the memory cell blocks 300A and 300B in this way, each of the memory cell blocks 300A and 300B can perform six outputs for six inputs.

図12Aは、n値が「6」の場合のメモリセルブロックの構成例を示す図である。メモリセルブロック300Cは、読出アドレスデコーダ311、2つのセンスアンプ600、および、12個のメモリセルマット500Cを備えて構成される。メモリセルマット500Cは、8192(128×64)個のメモリセル200から構成される。メモリセルブロック300Cは、左右から6つずつの入力を受け、上下から6つずつの出力を行う。   FIG. 12A is a diagram illustrating a configuration example of a memory cell block when the n value is “6”. The memory cell block 300C includes a read address decoder 311, two sense amplifiers 600, and twelve memory cell mats 500C. The memory cell mat 500 </ b> C includes 8192 (128 × 64) memory cells 200. The memory cell block 300C receives six inputs from the left and right and outputs six from the top and bottom.

図12Bは、n値が「6」の場合の半導体装置110の構成例を示す図である。メモリセルブロック300Cをこのように相互接続することで、各メモリセルブロック300Cは、12個の入力に対し12個の出力を行うことができる。   FIG. 12B is a diagram illustrating a configuration example of the semiconductor device 110 when the n value is “6”. By interconnecting the memory cell blocks 300C in this way, each memory cell block 300C can perform 12 outputs for 12 inputs.

図13Aは、n値が「8」の場合のメモリセルブロックの構成例を示す図である。メモリセルブロック300Dは、読出アドレスデコーダ311、2つのセンスアンプ600、および、16個のメモリセルマット500Dを備えて構成される。メモリセルマット500Dは、131072(512×256)個のメモリセル200から構成される。メモリセルブロック300Dは、左右から8つずつの入力を受け、上下から8つずつの出力を行う。   FIG. 13A is a diagram illustrating a configuration example of a memory cell block when the n value is “8”. The memory cell block 300D includes a read address decoder 311, two sense amplifiers 600, and 16 memory cell mats 500D. The memory cell mat 500D includes 131072 (512 × 256) memory cells 200. The memory cell block 300D receives 8 inputs from the left and right and outputs 8 from the top and bottom.

図13Bは、n値が「8」の場合の半導体装置110の構成例を示す図である。メモリセルブロック300Dをこのように相互接続することで、各メモリセルブロック300Dは、16個の入力に対し16個の出力を行うことができる。   FIG. 13B is a diagram illustrating a configuration example of the semiconductor device 110 when the n value is “8”. By interconnecting the memory cell blocks 300D in this way, each memory cell block 300D can perform 16 outputs for 16 inputs.

図14Aは、n値が「2.5」の場合のメモリセルブロックの構成例を示す図である。メモリセルブロック300Eは、読出アドレスデコーダ311、2つのセンスアンプ600、および、5個のメモリセルマット500Eを備えて構成される。メモリセルマット500Eは、64(8×8)個のメモリセル200から構成される。メモリセルブロック300Eは、左から2つ、右から3つの入力を受け、上から3つ、下から2つの出力を行う。   FIG. 14A is a diagram illustrating a configuration example of a memory cell block when the n value is “2.5”. The memory cell block 300E includes a read address decoder 311, two sense amplifiers 600, and five memory cell mats 500E. The memory cell mat 500E is composed of 64 (8 × 8) memory cells 200. The memory cell block 300E receives two inputs from the left and three inputs from the right, and performs three outputs from the top and two outputs from the bottom.

図14Bは、n値が「2.5」の場合の半導体装置110の構成例を示す図である。メモリセルブロック300Eをこのように相互接続することで、各メモリセルブロック300Eは、5個の入力に対し5個の出力を行うことができる。   FIG. 14B is a diagram illustrating a configuration example of the semiconductor device 110 when the n value is “2.5”. By interconnecting the memory cell blocks 300E in this way, each memory cell block 300E can perform five outputs for five inputs.

これらの、n値が「2」、「2.5」、「3」、「6」および「8」の場合の半導体装置110によって代数的除算を行う場合について、図15〜図17を参照しながら説明する。なお、図6〜図9で説明した加算器の場合と同様にして、n値が「2」、「2.5」、「3」、「6」および「8」の場合の半導体装置110において代数的除算機能を実現することができる。つまり、半導体装置110において、それぞれのメモリセルブロック300が、アドレス入力に対して代数的除算を行った値をランダムパターンとして出力するように真理値表データをメモリセル200に記憶しておけばよい。   The case where algebraic division is performed by the semiconductor device 110 when the n value is “2”, “2.5”, “3”, “6”, and “8” will be described with reference to FIGS. While explaining. In the semiconductor device 110 in the case where the n value is “2”, “2.5”, “3”, “6”, and “8”, similarly to the case of the adder described in FIGS. An algebraic division function can be realized. That is, in the semiconductor device 110, the truth table data may be stored in the memory cell 200 so that each memory cell block 300 outputs a value obtained by performing algebraic division on the address input as a random pattern. .

図15は、代数的除算の例を示す図である。ここで、代数的除算とは、「(被除数)=(除数)×(商)+(剰余)」という関係を満たす一般の除算とは異なるもので、除算における途中の計算での減算時に、各位について「1−1=0」「1−0=1」「0−1=1」「0−0=0」という計算を行い、繰り上がりや繰り下がりを行わない除算のことである。このように、代数的除算は、繰り上がりや繰り下がりを行わないことにより、計算が簡単になり、2進数のランダムパターンの発生に適している。なお、途中の計算時、繰り上がりや繰り下がりを行わないので、たとえば、「1−1=0」の代わりに「1+1=0」という演算規則を適用してもかまわなく(計算結果は同一)、他の演算規則に関しても同様である。また、代数的除算でなく、通常の除算を行うことでランダムパターンを発生するようにしてもよい。   FIG. 15 is a diagram illustrating an example of algebraic division. Here, algebraic division is different from general division satisfying the relationship of “(dividend) = (divisor) × (quotient) + (residue)”. The calculation is “1-1 = 0”, “1-0 = 1”, “0-1 = 1”, “0-0 = 0”, and is a division that does not carry up or down. As described above, algebraic division does not carry up or down, thereby simplifying the calculation and being suitable for generating a random random pattern. In the middle of the calculation, since no carry or carry is performed, for example, an operation rule of “1 + 1 = 0” may be applied instead of “1-1 = 0” (the calculation result is the same). The same applies to other calculation rules. Further, a random pattern may be generated by performing normal division instead of algebraic division.

図15に示すように、このような代数的除算によれば、被除数「10010011010010・・・」を除数「1010」で割った場合、商は「0001011110001・・・」となり、剰余は「0110」となる。   As shown in FIG. 15, according to such algebraic division, when the dividend “10010011010010...” Is divided by the divisor “1010”, the quotient is “0001011110001...” And the remainder is “0110”. Become.

図16は、n値が「2」、「2.5」、「3」、「6」および「8」の場合の半導体装置110によって代数的除算を行う場合における、必要なメモリ容量とクリティカルパスの数の大小比較を示す表である。なお、クリティカルパスの数とは、演算時に使用するメモリセルブロック300のうち最も長い経路をとった場合のメモリセルブロック300の数のことである。   FIG. 16 shows the necessary memory capacity and critical path when performing algebraic division by the semiconductor device 110 when the n value is “2”, “2.5”, “3”, “6”, and “8”. It is a table | surface which shows the magnitude comparison of the number of. The number of critical paths refers to the number of memory cell blocks 300 when the longest path is taken among the memory cell blocks 300 used at the time of calculation.

図16に示すように、必要なメモリ容量は、n値が「2」、「2.5」、「3」、「6」および「8」の場合の半導体装置110において、n値が「2.5」のときが最小となり、n値が「2」および「3」のときがそれよりも少し大きな値となる。
一方、クリティカルパスのセル数は、n値が「2」のときに最大となるが、n値がそれ以外のときはほぼ同等である。
つまり、半導体装置110によって代数的除算を行う場合、n値は「2.5」(メモリセルブロック300における入出力数が「5」)または「3」(メモリセルブロック300における入出力数が「6」)のときが効率的であることがわかる。
As shown in FIG. 16, the necessary memory capacity is such that the n value is “2” in the semiconductor device 110 when the n value is “2”, “2.5”, “3”, “6”, and “8”. .5 ”is the minimum, and when the n value is“ 2 ”and“ 3 ”, the value is slightly larger.
On the other hand, the number of cells in the critical path is maximized when the n value is “2”, but is almost equal when the n value is other than that.
That is, when algebraic division is performed by the semiconductor device 110, the n value is “2.5” (the number of inputs / outputs in the memory cell block 300 is “5”) or “3” (the number of inputs / outputs in the memory cell block 300 is “ It can be seen that the case 6)) is efficient.

なお、半導体装置110の全体に対するセンスアンプ600の面積比率を小さくしたい場合などは、n値を「6」あるいは「8」などとすればよく、つまり、動作の規模や速度、センスアンプ600の面積比率などのニーズに合わせて、n値を適宜自由に選択することができる。   When the area ratio of the sense amplifier 600 to the entire semiconductor device 110 is desired to be reduced, the n value may be set to “6” or “8”, that is, the operation scale and speed, the area of the sense amplifier 600, and the like. The n value can be freely selected appropriately according to the needs such as the ratio.

次に、図17を参照しながら、代数的除算を利用したテスタに半導体装置を使用した場合について説明する。図17は、そのテスタなどの構成図である。なお、テスタ1900は、テスト対象LSI1910(他の半導体装置)の動作確認を行う装置である。
テスタ1900は、大規模メモリ1400(記憶装置)、半導体装置110、ドライバ1901、コンパレータ1902、処理部1903および剰余生成部1904を備えて構成される。
Next, a case where a semiconductor device is used for a tester using algebraic division will be described with reference to FIG. FIG. 17 is a configuration diagram of the tester and the like. The tester 1900 is a device for confirming the operation of the test target LSI 1910 (another semiconductor device).
The tester 1900 includes a large-scale memory 1400 (storage device), a semiconductor device 110, a driver 1901, a comparator 1902, a processing unit 1903, and a remainder generation unit 1904.

大規模メモリ1400は、半導体装置110に対して除数を提供する。
半導体装置110は予め被除数に対応したメモリセル200の構成となっている。
除数を入力した半導体装置110は、商(ランダムパターン)をドライバ1901に出力し、剰余A(剰余の正解値)をコンパレータ1902に出力する。
The large scale memory 1400 provides a divisor for the semiconductor device 110.
The semiconductor device 110 has a configuration of the memory cell 200 corresponding to the dividend in advance.
The semiconductor device 110 that has input the divisor outputs the quotient (random pattern) to the driver 1901 and outputs the remainder A (correct value of the remainder) to the comparator 1902.

ドライバ1901は駆動回路であり、半導体装置110から商を受信するとテスト対象LSI1910に対してその商に基づいた信号を送信する。
テスト対象LSI1910は、ドライバ1901から入力した商に基づいて動作し、出力値を剰余生成部1904に出力する。
The driver 1901 is a drive circuit, and upon receiving a quotient from the semiconductor device 110, transmits a signal based on the quotient to the test target LSI 1910.
The test target LSI 1910 operates based on the quotient input from the driver 1901 and outputs an output value to the remainder generation unit 1904.

剰余生成部1904は、テスト対象LSI1910から入力した出力値を変換し、剰余Bとする。
コンパレータ1902は比較器であり、半導体装置110から入力した剰余Aと、剰余生成部1904から入力した剰余Bとを比較する。
処理部1903は、コンパレータ1902からの出力を受けて処理を行う装置であり、たとえば、CPU(Central Processing Unit)によって実現され、剰余Aと剰余Bが同じであるときのコンパレータ1902からの出力を受けたときにテスト対象LSI1910が「正常」と判定する。
The remainder generation unit 1904 converts the output value input from the test target LSI 1910 to obtain a remainder B.
The comparator 1902 is a comparator, and compares the remainder A input from the semiconductor device 110 with the remainder B input from the remainder generation unit 1904.
The processing unit 1903 is a device that receives the output from the comparator 1902 and performs processing. For example, the processing unit 1903 is realized by a CPU (Central Processing Unit), and receives the output from the comparator 1902 when the remainder A and the remainder B are the same. The test target LSI 1910 is determined to be “normal”.

また、特に図示しないが、テスタ1900は、直流電源、タイミングジェネレータなどを、必要に応じて備えるものとする。
このようにして、代数的除算を利用したテスタに半導体装置110を適用することができる。なお、半導体装置110がいわゆるパターン発生器に相当し、剰余生成部1904がいわゆるパターン圧縮器に相当する。
Although not particularly illustrated, the tester 1900 includes a DC power supply, a timing generator, and the like as necessary.
In this manner, the semiconductor device 110 can be applied to a tester that uses algebraic division. The semiconductor device 110 corresponds to a so-called pattern generator, and the remainder generation unit 1904 corresponds to a so-called pattern compressor.

次に、半導体装置110の動作プログラムについて説明する。
なお、従来のFPGAの製造では、たとえば、C言語プログラムを作成して、それからHDL(Hardware Description Language)を作成する。そのHDLから論理合成を行い、論理回路を作成する。その論理回路から、該当するFPGAに論理の配置と配置配線を行う。つまり、複雑で高度な作業工程が必要であった。
一方、本実施形態の半導体装置は、メモリであり記憶装置であるので、C言語プログラムをコンパイルしてそのデータを真理値として搭載できるため、作業工程が単純で容易となる。また、本実施形態の半導体装置は、記憶装置であるため、異なった論理回路を実現する場合でも、配線はそのままで、メモリセル200に書き込む真理値表データを書き換えるだけで済む。
Next, an operation program of the semiconductor device 110 will be described.
In the manufacture of conventional FPGAs, for example, a C language program is created, and then HDL (Hardware Description Language) is created. Logic synthesis is performed from the HDL to create a logic circuit. From the logic circuit, logic arrangement and arrangement wiring are performed on the corresponding FPGA. In other words, a complicated and sophisticated work process was required.
On the other hand, since the semiconductor device of the present embodiment is a memory and a storage device, a C language program can be compiled and its data can be loaded as a truth value, so that the work process is simple and easy. In addition, since the semiconductor device of this embodiment is a memory device, even when different logic circuits are realized, it is only necessary to rewrite truth table data written in the memory cell 200 without changing the wiring.

これを、図18を参照しながら、より具体的に説明する(適宜図1参照)。図18は、半導体装置に、論理回路として動作させるためのビットデータを搭載するときの処理の流れを示すフローチャートである。   This will be described more specifically with reference to FIG. 18 (see FIG. 1 as appropriate). FIG. 18 is a flowchart showing a flow of processing when bit data for operating as a logic circuit is mounted on a semiconductor device.

まず、情報処理装置100は、実現したい機能を記述したC言語プログラムを入力部101から入力し(ステップS1201)、記憶部102に記憶する。
また、記憶部102には、あらかじめ、各種機能(加算、減算など)のプログラムが記憶されているものとする。
First, the information processing apparatus 100 inputs a C language program describing a function to be realized from the input unit 101 (step S1201) and stores it in the storage unit 102.
Also, it is assumed that programs for various functions (addition, subtraction, etc.) are stored in the storage unit 102 in advance.

情報処理装置100の操作者は、記憶部102に記憶されているプログラムのうち必要なものを引用するため、入力部101を用いて宣言文(Include文)を追加する(ステップS1202)。
処理部106は、Include文が追加されたC言語プログラムに基づいて真理値表(図7の真理値表601など)を作成し(ステップS1203)、その真理値表に基づいてビットデータを作成し(ステップS1204)、さらに、通信部105を介して半導体装置110にそのビットデータを搭載する(ステップS1205)。
このように、本実施形態の半導体装置110によれば、半導体装置110を論理回路として動作させるための作業が簡単に済む。
The operator of the information processing apparatus 100 adds a declaration sentence (Include sentence) using the input unit 101 in order to quote a necessary program among the programs stored in the storage unit 102 (step S1202).
The processing unit 106 creates a truth table (such as the truth table 601 in FIG. 7) based on the C language program with the Include statement added (step S1203), and creates bit data based on the truth table. Further, the bit data is mounted on the semiconductor device 110 via the communication unit 105 (step S1204) (step S1205).
Thus, according to the semiconductor device 110 of the present embodiment, the work for operating the semiconductor device 110 as a logic circuit can be simplified.

このようにして、本実施形態によれば、論理回路として動作するメモリであり、メモリの真理値を書き換えても配線を接続しなおす必要がなく、また、データを帰還させることができる半導体装置を実現することができる。   As described above, according to the present embodiment, a semiconductor device that operates as a logic circuit, does not need to be connected again even if the truth value of the memory is rewritten, and can return data to the semiconductor device. Can be realized.

また、本実施形態の半導体装置によれば、実際の論理回路を使用していないので、メモリの一部に故障が発生しても、その箇所の使用を避けるなどしてその対応(救済)を容易に行うことができる。   Further, according to the semiconductor device of this embodiment, since an actual logic circuit is not used, even if a failure occurs in a part of the memory, the countermeasure (rescue) is avoided by avoiding the use of that part. It can be done easily.

さらに、本実施形態の半導体装置によれば、複数のメモリを使用し、そのうちのいくつかのメモリにテストプログラムを入れることで、他の1つのメモリをテストすることができる。そして、テスト終了後は、テストプログラムを入れたメモリからテストプログラムを消去することで、それらのメモリを通常のメモリとして使用することができる。   Furthermore, according to the semiconductor device of this embodiment, it is possible to test another one memory by using a plurality of memories and putting a test program in some of them. Then, after the test is completed, by deleting the test program from the memory in which the test program is stored, these memories can be used as a normal memory.

また、メモリを内蔵するシステムLSIで、そのメモリを本実施形態の半導体装置の構造にして自己テストし、かつ、その部分にC言語で記述されるテストプログラムを記述してテスト論理回路を構成することで、システムLSIにおける他の論理回路をテストすることができる。
さらに、1つのメモリセルブロックにおけるセンスアンプの数は、2個に限定されず、1個や3個以上であってもよい。
Further, a system LSI having a built-in memory performs self-test with the memory as the structure of the semiconductor device of the present embodiment, and configures a test logic circuit by writing a test program written in C language in that portion. Thus, other logic circuits in the system LSI can be tested.
Further, the number of sense amplifiers in one memory cell block is not limited to two, and may be one or three or more.

以上で実施形態の説明を終えるが、本発明の態様はこれらに限定されるものではない。
たとえば、本発明の半導体装置は、SRAMに代えて、DRAM(Dynamic Random Access Memory)やフラッシュメモリを用いて実現してもよい。
また、メモリでの性能向上のためのプリチャージ機能等の機能搭載を制限するものではない。
さらに、メモリセルは、読出ワード線を2本使ったいわゆるダブルゲート方式のものであってもよい。
その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
This is the end of the description of the embodiments, but the aspects of the present invention are not limited to these.
For example, the semiconductor device of the present invention may be realized using a DRAM (Dynamic Random Access Memory) or a flash memory instead of the SRAM.
Further, it does not limit the mounting of functions such as a precharge function for improving performance in the memory.
Further, the memory cell may be of a so-called double gate type using two read word lines.
In addition, it can change suitably in the range which does not deviate from the meaning of this invention.

Claims (8)

所定量のデータを記憶するメモリセルを複数備えたメモリセルブロックを複数有する半導体装置であって、
それぞれの前記メモリセルブロックは、入力数および出力数が4以上であり、内部に、前記メモリセルに対する読出アドレスデコーダ、および、外部への出力時に電圧を増幅するセンスアンプを備え、所定のアドレス入力に対して所望の論理値を出力するための真理値表データを前記メモリセルに記憶し、論理回路として動作するように構成され、
前記メモリセルは、前記読出アドレスデコーダに対応して読出ワード線を有しており、その読出ワード線の電圧が印加された場合に、そのとき保持しているデータが読出データ線から読み出され、
前記メモリセルブロック同士は、1つのメモリセルブロックからの4以上の出力が前記センスアンプを介して他の4以上のメモリセルブロックへ入力されるように接続されており、
前記メモリセルブロックは、入力数および出力数が5または6であり、
前記メモリセルブロック同士は、1つのメモリセルブロックからの当該5または6の出力が前記センスアンプを介して他の4以上のメモリセルブロックへ入力されるように接続されている
ことを特徴とする半導体装置。
A semiconductor device having a plurality of memory cell blocks each including a plurality of memory cells for storing a predetermined amount of data,
Each of the memory cell blocks has an input number and an output number of 4 or more, and includes a read address decoder for the memory cell and a sense amplifier for amplifying a voltage when output to the outside, and a predetermined address input Storing truth table data for outputting a desired logic value in the memory cell and operating as a logic circuit;
The memory cell has a read word line corresponding to the read address decoder, and when the voltage of the read word line is applied, the data held at that time is read from the read data line. ,
The memory cell blocks are connected such that four or more outputs from one memory cell block are input to the other four or more memory cell blocks via the sense amplifier,
The memory cell block has 5 or 6 inputs and outputs,
The memory cell blocks are connected so that the outputs of 5 or 6 from one memory cell block are input to other four or more memory cell blocks via the sense amplifier. that semi conductor device.
所定量のデータを記憶するメモリセルを複数備えたメモリセルブロックを複数有する半導体装置であって、
それぞれの前記メモリセルブロックは、入力数および出力数が4以上であり、内部に、前記メモリセルに対する読出アドレスデコーダ、および、外部への出力時に電圧を増幅するセンスアンプを備え、所定のアドレス入力に対して所望の論理値を出力するための真理値表データを前記メモリセルに記憶し、論理回路として動作するように構成され、
前記メモリセルは、前記読出アドレスデコーダに対応して読出ワード線を有しており、その読出ワード線の電圧が印加された場合に、そのとき保持しているデータが読出データ線から読み出され、
前記メモリセルブロック同士は、1つのメモリセルブロックからの4以上の出力が前記センスアンプを介して他の4以上のメモリセルブロックへ入力されるように接続されており、
それぞれの前記メモリセルブロックは、アドレス入力に対して除算を行った値をランダムパターンとして出力するように真理値表データを前記メモリセルに記憶している
ことを特徴とする半導体装置。
A semiconductor device having a plurality of memory cell blocks each including a plurality of memory cells for storing a predetermined amount of data,
Each of the memory cell blocks has an input number and an output number of 4 or more, and includes a read address decoder for the memory cell and a sense amplifier for amplifying a voltage when output to the outside, and a predetermined address input Storing truth table data for outputting a desired logic value in the memory cell and operating as a logic circuit;
The memory cell has a read word line corresponding to the read address decoder, and when the voltage of the read word line is applied, the data held at that time is read from the read data line. ,
The memory cell blocks are connected such that four or more outputs from one memory cell block are input to the other four or more memory cell blocks via the sense amplifier,
Each of said memory cell block, the semi-conductor device you characterized in that stores a truth table data in said memory cell to output a value obtained by dividing the address input as a random pattern.
所定量のデータを記憶するメモリセルを複数備えたメモリセルブロックを複数有する半導体装置であって、
それぞれの前記メモリセルブロックは、入力数および出力数が4以上であり、内部に、前記メモリセルに対する読出アドレスデコーダ、および、外部への出力時に電圧を増幅するセンスアンプを備え、所定のアドレス入力に対して所望の論理値を出力するための真理値表データを前記メモリセルに記憶し、論理回路として動作するように構成され、
前記メモリセルは、前記読出アドレスデコーダに対応して読出ワード線を有しており、その読出ワード線の電圧が印加された場合に、そのとき保持しているデータが読出データ線から読み出され、
前記メモリセルブロック同士は、1つのメモリセルブロックからの4以上の出力が前記センスアンプを介して他の4以上のメモリセルブロックへ入力されるように接続されており、
複数の前記メモリセルブロックは、それぞれ同様の大きさの長方形状をしており、アレイ状の配置から少なくとも一部をずらして配置することで、前記メモリセルブロック同士の接続を行っていることを特徴とする半導体装置。
A semiconductor device having a plurality of memory cell blocks each including a plurality of memory cells for storing a predetermined amount of data,
Each of the memory cell blocks has an input number and an output number of 4 or more, and includes a read address decoder for the memory cell and a sense amplifier for amplifying a voltage when output to the outside, and a predetermined address input Storing truth table data for outputting a desired logic value in the memory cell and operating as a logic circuit;
The memory cell has a read word line corresponding to the read address decoder, and when the voltage of the read word line is applied, the data held at that time is read from the read data line. ,
The memory cell blocks are connected such that four or more outputs from one memory cell block are input to the other four or more memory cell blocks via the sense amplifier,
The plurality of memory cell blocks each have a rectangular shape with the same size, and the memory cell blocks are connected to each other by disposing at least a part from the array arrangement. semi conductor arrangement shall be the features.
所定量のデータを記憶するメモリセルを複数備えたメモリセルブロックを複数有する半導体装置であって、
それぞれの前記メモリセルブロックは、入力数および出力数が4以上であり、内部に、前記メモリセルに対する読出アドレスデコーダ、および、外部への出力時に電圧を増幅するセンスアンプを備え、所定のアドレス入力に対して所望の論理値を出力するための真理値表データを前記メモリセルに記憶し、論理回路として動作するように構成され、
前記メモリセルは、前記読出アドレスデコーダに対応して読出ワード線を有しており、その読出ワード線の電圧が印加された場合に、そのとき保持しているデータが読出データ線から読み出され、
前記メモリセルブロック同士は、1つのメモリセルブロックからの4以上の出力が前記センスアンプを介して他の4以上のメモリセルブロックへ入力されるように接続されており、
前記メモリセルブロックのメモリセルが前記真理値表データを記憶していないときは、記憶装置として動作することを特徴とする半導体装置。
A semiconductor device having a plurality of memory cell blocks each including a plurality of memory cells for storing a predetermined amount of data,
Each of the memory cell blocks has an input number and an output number of 4 or more, and includes a read address decoder for the memory cell and a sense amplifier for amplifying a voltage when output to the outside, and a predetermined address input Storing truth table data for outputting a desired logic value in the memory cell and operating as a logic circuit;
The memory cell has a read word line corresponding to the read address decoder, and when the voltage of the read word line is applied, the data held at that time is read from the read data line. ,
The memory cell blocks are connected such that four or more outputs from one memory cell block are input to the other four or more memory cell blocks via the sense amplifier,
When said memory cells of the memory cell blocks does not store the truth table data, semiconductors devices you said to operate as a storage device.
所定量のデータを記憶するメモリセルを複数備えたメモリセルブロックを複数有する半導体装置であって、
それぞれの前記メモリセルブロックは、入力数および出力数が4以上であり、内部に、前記メモリセルに対する読出アドレスデコーダ、および、外部への出力時に電圧を増幅するセンスアンプを備え、所定のアドレス入力に対して所望の論理値を出力するための真理値表データを前記メモリセルに記憶し、論理回路として動作するように構成され、
前記メモリセルは、前記読出アドレスデコーダに対応して読出ワード線を有しており、その読出ワード線の電圧が印加された場合に、そのとき保持しているデータが読出データ線から読み出され、
前記メモリセルブロック同士は、1つのメモリセルブロックからの4以上の出力が前記センスアンプを介して他の4以上のメモリセルブロックへ入力されるように接続されており、
前記メモリセルブロックは、
動作する前記メモリセルのエリアが2分されており、
前記読出アドレスデコーダにおける特定のアドレス選択線が切り替えられたときに、前記動作するメモリセルのエリアが切り替えられ、2種類の論理回路としての動作、あるいは、論理回路としての動作と記憶装置としての動作、のいずれかが瞬時に切り替わる
ことを特徴とする半導体装置。
A semiconductor device having a plurality of memory cell blocks each including a plurality of memory cells for storing a predetermined amount of data,
Each of the memory cell blocks has an input number and an output number of 4 or more, and includes a read address decoder for the memory cell and a sense amplifier for amplifying a voltage when output to the outside, and a predetermined address input Storing truth table data for outputting a desired logic value in the memory cell and operating as a logic circuit;
The memory cell has a read word line corresponding to the read address decoder, and when the voltage of the read word line is applied, the data held at that time is read from the read data line. ,
The memory cell blocks are connected such that four or more outputs from one memory cell block are input to the other four or more memory cell blocks via the sense amplifier,
The memory cell block includes:
The area of the memory cell that operates is divided into two parts,
When a specific address selection line in the read address decoder is switched, the area of the memory cell to be operated is switched, operation as two types of logic circuits, or operation as a logic circuit and operation as a storage device , semi-conductor devices either characterized in that switching to instantaneous.
所定量のデータを記憶するメモリセルを複数備えたメモリセルブロックを複数有する半導体装置であって、
それぞれの前記メモリセルブロックは、入力数および出力数が4以上であり、内部に、前記メモリセルに対する読出アドレスデコーダ、および、外部への出力時に電圧を増幅するセンスアンプを備え、所定のアドレス入力に対して所望の論理値を出力するための真理値表データを前記メモリセルに記憶し、論理回路として動作するように構成され、
前記メモリセルは、前記読出アドレスデコーダに対応して読出ワード線を有しており、その読出ワード線の電圧が印加された場合に、そのとき保持しているデータが読出データ線から読み出され、
前記メモリセルブロック同士は、1つのメモリセルブロックからの4以上の出力が前記センスアンプを介して他の4以上のメモリセルブロックへ入力されるように接続されており、
複数の前記メモリセルブロックのうち、一部の前記メモリセルブロックのメモリセルが記憶する真理値表データが書き換えられた場合、
その書き換えられた真理値表データにしたがって動作を変更することを特徴とする半導体装置。
A semiconductor device having a plurality of memory cell blocks each including a plurality of memory cells for storing a predetermined amount of data,
Each of the memory cell blocks has an input number and an output number of 4 or more, and includes a read address decoder for the memory cell and a sense amplifier for amplifying a voltage when output to the outside, and a predetermined address input Storing truth table data for outputting a desired logic value in the memory cell and operating as a logic circuit;
The memory cell has a read word line corresponding to the read address decoder, and when the voltage of the read word line is applied, the data held at that time is read from the read data line. ,
The memory cell blocks are connected such that four or more outputs from one memory cell block are input to the other four or more memory cell blocks via the sense amplifier,
When the truth table data stored in the memory cells of some of the memory cell blocks among the plurality of the memory cell blocks is rewritten,
Semi conductor arrangement you and changes the operation in accordance with the rewritten truth table data.
システムLSIを構成する請求項の半導体装置であって、
自己テストし、かつ、前記システムLSIにおける他の論理回路をテストすることを特徴とする半導体装置。
The semiconductor device according to claim 2 constituting a system LSI,
A semiconductor device characterized by self-testing and testing another logic circuit in the system LSI.
動作記述されたC言語プログラムによってコンパイルされることを特徴とする請求項1から請求項7のいずれか一項に記載の半導体装置。The semiconductor device according to claim 1 , wherein the semiconductor device is compiled by a C language program in which operation is described.
JP2009520228A 2007-06-25 2007-06-25 Semiconductor device Expired - Fee Related JP5081240B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2007/062691 WO2009001426A1 (en) 2007-06-25 2007-06-25 Semiconductor device

Publications (2)

Publication Number Publication Date
JPWO2009001426A1 JPWO2009001426A1 (en) 2010-08-26
JP5081240B2 true JP5081240B2 (en) 2012-11-28

Family

ID=40185260

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009520228A Expired - Fee Related JP5081240B2 (en) 2007-06-25 2007-06-25 Semiconductor device

Country Status (4)

Country Link
US (1) US8050132B2 (en)
JP (1) JP5081240B2 (en)
CN (1) CN101689858B (en)
WO (1) WO2009001426A1 (en)

Families Citing this family (3)

* 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
US9350357B2 (en) 2012-10-28 2016-05-24 Taiyo Yuden Co., Ltd. Reconfigurable semiconductor device
JP6378775B2 (en) * 2014-10-22 2018-08-22 太陽誘電株式会社 Reconfigurable device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000049591A (en) * 1998-07-31 2000-02-18 Nippon Telegr & Teleph Corp <Ntt> Rewritable logical circuit
WO2000052753A1 (en) * 1999-03-04 2000-09-08 Hitachi, Ltd. Semiconductor integrated circuit and method for designing logic integrated circuit comprising the same

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0253161B1 (en) * 1986-06-25 1991-10-16 Nec Corporation Testing circuit for random access memory device
JP2717712B2 (en) * 1989-08-18 1998-02-25 三菱電機株式会社 Semiconductor storage device
JP3631277B2 (en) * 1995-01-27 2005-03-23 株式会社日立製作所 Memory module
JP3607407B2 (en) * 1995-04-26 2005-01-05 株式会社日立製作所 Semiconductor memory device
US5760602A (en) * 1996-01-17 1998-06-02 Hewlett-Packard Company Time multiplexing a plurality of configuration settings of a programmable switch element in a FPGA
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
JP4208498B2 (en) * 2002-06-21 2009-01-14 株式会社ルネサステクノロジ Thin film magnetic memory device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000049591A (en) * 1998-07-31 2000-02-18 Nippon Telegr & Teleph Corp <Ntt> Rewritable logical circuit
WO2000052753A1 (en) * 1999-03-04 2000-09-08 Hitachi, Ltd. Semiconductor integrated circuit and method for designing logic integrated circuit comprising the same

Also Published As

Publication number Publication date
CN101689858A (en) 2010-03-31
US8050132B2 (en) 2011-11-01
CN101689858B (en) 2012-08-22
WO2009001426A1 (en) 2008-12-31
US20100188923A1 (en) 2010-07-29
JPWO2009001426A1 (en) 2010-08-26

Similar Documents

Publication Publication Date Title
JP4703655B2 (en) Semiconductor device
US11437982B2 (en) Flip flop standard cell
US5210701A (en) Apparatus and method for designing integrated circuit modules
KR20080006201A (en) Memory compiling system and compiling method thereof
JP5081240B2 (en) Semiconductor device
TW202207228A (en) Memory device and memory cell
US7954077B2 (en) Integrated circuit design utilizing array of functionally interchangeable dynamic logic cells
US7746722B2 (en) Metal programmable self-timed memories
TW202203069A (en) Methods for generating synthesizable netlists from register transfer level designs
US6581188B1 (en) Semiconductor device and method of designing the same
Barth et al. A 500-MHz multi-banked compilable DRAM macro with direct write and programmable pipelining
Jidin et al. A review paper on memory fault models and test algorithms
JP5032996B2 (en) Semiconductor device
TW202217638A (en) Computer-implemented method, computerimplemented system and computer-readable medium
US6229741B1 (en) Semiconductor integrated circuit device
JP5196538B2 (en) Semiconductor integrated circuit design method, semiconductor integrated circuit design program, and semiconductor integrated circuit
TWI357212B (en)
JP2008065862A (en) Semiconductor memory
JP4436734B2 (en) Processing equipment
JP4187714B2 (en) Semiconductor memory layout method and semiconductor memory
US20070124629A1 (en) Embedded testing circuit for testing a dual port memory
US7539034B2 (en) Memory configured on a common substrate
JP2006268905A (en) Semiconductor storage circuit, configuration method of semiconductor storage circuit and layout creation method of semiconductor storage circuit
JP2001195877A (en) Semiconductor integrated device
JPH06112315A (en) Integrated circuit designing method and cad device for designing integrated circuit

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120619

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120726

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120821

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120831

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150907

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5081240

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees