JP5032996B2 - 半導体装置 - Google Patents

半導体装置 Download PDF

Info

Publication number
JP5032996B2
JP5032996B2 JP2007546356A JP2007546356A JP5032996B2 JP 5032996 B2 JP5032996 B2 JP 5032996B2 JP 2007546356 A JP2007546356 A JP 2007546356A JP 2007546356 A JP2007546356 A JP 2007546356A JP 5032996 B2 JP5032996 B2 JP 5032996B2
Authority
JP
Japan
Prior art keywords
memory cell
semiconductor device
data
read
cell blocks
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
JP2007546356A
Other languages
English (en)
Other versions
JPWO2007060763A1 (ja
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
Priority claimed from PCT/JP2005/021758 external-priority patent/WO2007060738A1/ja
Application filed by Taiyo Yuden Co Ltd filed Critical Taiyo Yuden Co Ltd
Priority to JP2007546356A priority Critical patent/JP5032996B2/ja
Publication of JPWO2007060763A1 publication Critical patent/JPWO2007060763A1/ja
Application granted granted Critical
Publication of JP5032996B2 publication Critical patent/JP5032996B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Semiconductor Integrated Circuits (AREA)
  • Logic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

本発明は、メモリを論理回路として動作させることができる半導体装置に関する。
従来、LSI(Large Scale Integration)などの半導体装置は、機能設計、論理回路設計、ウェハ製造、組立などの多くの工程を経て製造されていた。そして、その製造工程は、同一製品の多量生産には適していたが、多種類の製品の少量ずつの生産にはコストがかかるため適していなかった。
そこで、単一の半導体装置を多量に生産しても顧客サイドで別々の製品として使い分けることができるように、FPGA(Field Programmable Gate Array)などの製造技術も開発された。FPGAとは、製造した後に論理回路をプログラムできるLSIなどの半導体装置のことである。
しかし、FPGAは、論理回路、配線、スイッチなど多種の部品から構成されるため、半導体プロセス上の配線層数の多層配線構造や高度な製造技術を必要とするという問題があった。
そして、その1つの解決手法として、メモリを論理回路として動作させる技術が開発された。
たとえば、特許文献1では、複数のメモリを配線接続し、所定のアドレス入力に対して所定のデータを出力するように、メモリに所定の真理値を書き込むことで論理回路として動作する半導体装置に関する技術が開示されている。
また、特許文献2では、SRAM(Static Random Access Memory)などのメモリに真理値表データを書き込み、アドレスを入力とし、出力を出力とすることで論理回路として動作する半導体装置に関する技術が開示されている。
特開2003−149300号公報 特開2003−224468号公報
しかしながら、特許文献1の半導体装置では、メモリの真理値を書き換える場合には、配線を接続しなおさなければならないという問題があった。
また、特許文献2の半導体装置では、所定量のデータを記憶するメモリセルを複数集めたメモリセルブロックがアレイ状に並べられ、1つのメモリセルブロックからのデータは、隣接する4つのメモリセルブロックのうち2つ(たとえば上下左右のうち右と下)にしか出力されないため、データを帰還させる(元のメモリセルブロックに戻す)論理回路として動作させることが困難であった。また、メモリセルブロックの規模(入力数や出力数)の適正化も考慮されていなかった。
そこで、本発明は、前記問題点に鑑みてなされたものであり、論理回路として動作するメモリであり、メモリの真理値を書き換えても配線を接続しなおす必要がなく、また、データを帰還させることができ、さらに、メモリセルブロックの規模を適正化した半導体装置を提供することを目的とする。
前記課題を解決するために、本発明に係る半導体装置は、所定量のデータを記憶するメモリセルを複数備えたメモリセルブロックを複数有する。そして、それぞれのメモリセルブロックは、入力数および出力数が3つ以上であり、内部に前記メモリセルに対する2つの読出アドレスデコーダを備え、所定のアドレス入力に対して所望の論理値を出力するための真理値表データをメモリセルに記憶し、論理回路として動作するように構成されている。また、メモリセルは、2つの読出アドレスデコーダに対応して2本の読出ワード線を有しており、その2本の読出ワード線の両方の電圧が印加された場合に、そのとき保持しているデータが読出データ線から読み出される。さらに、メモリセルブロック同士は、1つのメモリセルブロックからの3つ以上の出力が3つ以上の他のメモリセルブロックへ入力されるように接続されている。また、前記メモリセルブロックは、アレイ状に配置され、そのうち、最右列、最左列、最上行および最下行のいずれかのそれぞれの前記メモリセルブロックからの出力を、他のいずれかのそれぞれの前記メモリセルブロックへ入力するための配線を設け、データの帰還を行い、さらに、動作する前記メモリセルのエリアが2分されており、前記読出アドレスデコーダにおける特定のアドレス選択線が切り替えられたときに、前記動作するメモリセルのエリアが切り替えられ、2種類の論理回路としての動作、あるいは、論理回路としての動作と通常の記憶装置としての動作、のいずれかが瞬時に切り替わり、2分された前記メモリセルのエリアのうち、一方のエリアが論理回路として動作しているときに、他方のエリアがその次の演算のための真理値表データを書き込まれ、前記特定のアドレス選択線を切り替えることで、その他方のエリアによる演算を行い、この真理値表データの書き込みと前記特定のアドレス選択線を切り替えによって、連続して演算を行い、前記メモリセルブロックのメモリセルが前記真理値表データを記憶していないときは、通常の記憶装置として動作する。
本発明によれば、論理回路として動作するメモリであり、メモリの真理値を書き換えても配線を接続しなおす必要がなく、また、データを帰還させることができ、さらに、メモリセルブロックの規模を適正化した半導体装置を提供することができる。
半導体装置と情報処理装置の構成図である。 図1の半導体装置110を構成する記憶素子であるメモリセルの構成図である。 メモリセルブロックの構成図である。 半導体装置110における読出ポートの接続状況を示した図である。 半導体装置110の内部構造図である。 3ビット加算器の構成例である。 (a)はメモリセルブロック300の簡略図、(b)はメモリセルブロック300d、300eおよび300fに格納する真理値表である。 (a)はメモリセルブロック300の簡略図、(b)はメモリセルブロック300g、300j、300kおよび300lに格納する真理値表である。 (a)はメモリセルブロック300の簡略図、(b)はメモリセルブロック300hおよび300iに格納する真理値表である。 半導体装置110aにおける読出ポートの接続状況を示した図である。 半導体装置110aの内部構成図である。 半導体装置に、論理回路として動作させるためのビットデータを搭載するときの処理の流れを示すフローチャートである。 連続的に動作させることができる構成の半導体装置の概要図である。 大規模メモリと半導体装置110bの構成を示した概要図である。 半導体装置110bにおける動作の流れを示すフローチャートである。 変形例の半導体装置の概略図である。 フレキシブル基板を用いた半導体装置の構成図である。 ワイヤボンディングにより出力の帰還を行う半導体装置などの全体構成図である。 テスタなどの構成図である。 (a)は通常のCMOSの構成図、(b)はCMOSを分離した場合の構成図、(c)は通常のCMOSを使用したナンド回路の構成図、(d)は本願のナンド回路の構成図である。 磁界接続を行う場合の半導体装置などの構成図である。
符号の説明
100 情報処理装置
110 半導体装置
200 メモリセル
201,202 読出ワード線
211 書込ワード線
221,222 読出データ線
231,232 書込データ線
300 メモリセルブロック
301 セレクト線
311,312 読出アドレスデコーダ
401 書込/読出回路
600,700,800 真理値表
1400 大規模メモリ
1900 テスタ
2101,2111 磁界検知部
2102,2112 磁界発生部
FL フレキシブル基板
以下、本発明の実施形態に係る半導体装置について、図面を参照しながら説明する。
図1は、半導体装置と情報処理装置の構成図である。情報処理装置100は、コンピュータ装置であり、キーボードなどの入力部101、ハードディスクなどの記憶部102、RAM(Random Access Memory)などのメモリ103、CRT(Cathode Ray Tube)などの出力部104、通信装置である通信部105、および、CPU(Central Processing Unit)などの処理部106を備えている。
なお、情報処理装置100で作成するビットデータ(図12のステップS1204で後記)を、図示しないROM(Read Only Memory)で保持するようにしてもよい。
半導体装置110は、情報処理装置100の通信部105と接続されている。半導体装置110は、ハードウェア的には、たとえば、通常のSRAM(Static Random Access Memory)と同様の記憶装置であり、詳細は図2以降で説明する。
図2は、図1の半導体装置110を構成する記憶素子であるメモリセルの構成図である。メモリセル200は、読出ワード線201,202、書込ワード線211、読出データ線221,222、書込データ線231,232、ゲート241,242,251,252,261,262およびフリップフロップ271を備えて構成される。
なお、ゲート241,242,251,252,261および262は、N−MOS(Negative-Metal Oxide Semiconductor)で構成するものとしているが、その代わりにP−MOS(Positive-Metal Oxide Semiconductor)を用いて構成してもよく、さらに、N−MOSとP−MOSの複合ゲートとしてもよい。その場合、周辺の回路を必要に応じて適宜変更することで対応すればよい。また、ゲート241,251などは、いわゆるダブルゲートとしているが、単一ゲートで同様の機能を持たせるようにしてもよい。
読出ワード線201,202は、メモリセル200のデータを外部から読み出すときに電圧が印加される配線である。読出ワード線201の電圧が印加されるとゲート241とゲート242が開き、読出ワード線202の電圧が印加されるとゲート251とゲート252が開く。
書込ワード線211は、メモリセル200に外部からデータを書き込むときに電圧が印加される配線である。書込ワード線211の電圧が印加されると、ゲート261とゲート262が開く。
読出データ線221,222は、読出ワード線201と読出ワード線202に所定の電圧が印加され、ゲート241,242,251および252が開いたときに、フリップフロップ271に保持されているデータを読み出すための配線である。なお、読出データ線221からデータ「0」が読み出されたときは読出データ線222からはデータ「1」が読み出され、読出データ線221からデータ「1」が読み出されたときは読出データ線222からはデータ「0」が読み出される、いわゆる差動信号の動作をするようになっている。
書込データ線231,232は、書込ワード線211の電圧が印加され、ゲート261とゲート262が開いたときに、フリップフロップ271にデータを書き込むための配線である。書込データ線231からデータ「0」を書き込むときは書込データ線232からはデータ「1」を書き込み、書込データ線231からデータ「1」を書き込むときは書込データ線232からはデータ「0」を書き込むようになっている。
フリップフロップ271は、上記の意味でのメモリセル200に記憶される「0」か「1」のデータを保持する記憶回路である。
図3は、図1の半導体装置110における内部構造の一部のメモリセルブロックの構成図である(適宜図2参照)。
メモリセルブロック300は、アレイ状に並べて接続された複数のメモリセル200と、読出アドレスデコーダ311,312を含んで構成される。また、前記したように、2重の読出ワード線201,202の読出アドレスデコーダ311,312を左右に備えることで、以下に述べる配線機能を持たせることができる。
メモリセルブロック300では、最上段の外側のメモリセル200、すなわち、メモリセル200(Cell31,0)とメモリセル200(Cell31,3)の上側と、最下段の内側のメモリセル200、すなわち、メモリセル200(Cell0,1)とメモリセル200(Cell0,2)の下側において、読出データ線221,222が、他のメモリセルブロック300(不図示)に接続されるように構成されている。
また、メモリセルブロック300では、最上段の内側のメモリセル200、すなわち、メモリセル200(Cell31,1)とメモリセル200(Cell31,2)の上側と、最下段の外側のメモリセル200、すなわち、メモリセル200(Cell0,0)とメモリセル200(Cell0,3)の下側において、読出データ線221,222が切断されている。
すなわち、メモリセルブロック300において、読出データ線は、外側の複数対が上方に、また、内側の複数対が下方に接続されるように構成されている。このようにすることで、メモリセルブロック300の出力(読出し)の規模を必要最小限に抑え、各種データ処理の負担を軽くすることができ、また、複数の方向に複数の出力を行うことができる。
メモリセルブロック300内において、左側には読出アドレスデコーダ311が配置され、アドレス入力線322から複数のアドレス差動信号を受ける。また、メモリセルブロック300内において、右側には読出アドレスデコーダ312が配置され、アドレス入力線323から複数のアドレス差動信号を受ける。
なお、特許請求の範囲における、入力数および出力数の「3つ」あるいは「4つ」というのは、差動信号の場合の「3対」あるいは「4対」という意味に相当する。
メモリセルブロック300では、これらのアドレス入力線322、アドレス入力線323およびセレクト線(特定のアドレス選択線)301からの入力により、符号331から符号362までの複数本の読出ワード線(図2の読出ワード線202に対応)から任意の1本を選択し、その読出ワード線の電圧を印加することができる。
また、セレクト線301にはインバータ302が備えられている。さらに、読出アドレスデコーダ311には複数個の論理回路(アンド(AND)回路やナンド(NAND)回路など)370が備えられている。また、書込ワード線371(図2の書込ワード線211に対応)は、書込アドレスデコーダ411(図5参照)に接続されている。
なお、読出アドレスデコーダ312の論理回路などについても、読出アドレスデコーダ311の場合と同様なので、説明を省略する(たとえば、論理回路380が読出ワード線381に接続されている)。
図3に示すように、たとえば、セレクト線301から「1」が入力されたときは、メモリセルブロック300におけるメモリセル200の上半分が動作し、セレクト線301から「0」が入力されたときは、メモリセルブロック300におけるメモリセル200の下半分が動作するようになっている。
したがって、たとえば、メモリセルブロック300におけるメモリセル200の上半分を加算器、メモリセル200の下半分を減算器として動作するように設定しておけば、セレクト線301からの信号を切り替えるだけで、瞬時に、加算器と減算器の切り替えを行うことができる。また、同様にして、それ以外に、加算器と通常の記憶装置との切り替えなども行うことができる。
以上、メモリセルブロック300の全体および詳細を説明したが、このように、メモリセル200を縦32×横4の構成とすれば、読出データ線221,222(図2参照)を短くすることでセンスアンプを省略することができ、回路を簡素化することができる。
図4は、半導体装置110(図1参照)における読出ポート(図3の読出データ線の上下2出力ずつとアドレス入力線322,323からの2入力ずつ)の接続状況を示した図である。また、図4は、半導体装置110を平面視した場合の左上の一部を表わしている。
メモリセルブロック300d〜300lにおいて、入力A0(以下「A0」という:A1〜A3も同様)は表記の簡略のために図3のA0と/A0を合わせたものを示すものとし、A1〜A3についても同様である。
また、メモリセルブロック300d〜300lにおいて、出力D0(以下「D0」という:D1〜D3も同様)は表記の簡略のために図3のメモリセル200(Cell31,0)の読出データ線2つを合わせたものを示すものとし、D1〜D3についても同様である。
メモリセルブロック300d〜300lのA0〜A3およびD0〜D3は、図4に示すように接続される。
なお、ドライバ回路420は、外部装置から本デバイス(半導体装置110)に入力される信号を差動信号に変換するものである。また、アンプ430は、入力した差動信号を通常の信号に増幅および変換して外部装置に出力するものである。
このような配線にすることで、半導体装置110において、データの帰還を容易に行うことができる。具体的には、たとえば、メモリセルブロック300dのD3からメモリセルブロック300gのA1にデータを送る場合、メモリセルブロック300gにおいてA1から入ったデータをD1から出力するようにメモリセルブロック300gに真理値表を書き込んでおけば、そのデータをメモリセルブロック300dのA3に帰還させることができる。
また、メモリセルブロック300d〜300lに書き込む真理値表を変更するだけで、配線を変更することなく、半導体装置110を様々な論理回路として動作させることができる。
なお、このような配線の折れ曲がりの回数や具合は、特にこの図4に限定されることなく、適宜変更が可能である。
図5は、半導体装置110(図1参照)の内部構造図である。それぞれのメモリセルブロック300はアレイ状に並べられ、左側に書込アドレスデコーダ411、下側に書込/読出回路401が配置され、そららが図のように接続される。つまり、図5は、図4と同様の半導体装置110において、読出ポートの接続状況以外の様子を示した図である。
書込アドレスデコーダ411は、メモリセルブロック300にデータを書き込む際に、メモリセルブロック300のxアドレス(図5の半導体装置110の縦方向のアドレス)を特定するための装置である。
書込アドレスデコーダ411には、複数のメモリセルブロック300のうちのいずれのメモリセルブロック300かを特定するためのxアドレスが上位アドレス(この場合はA4w以降のA5w,A6w,・・・)に入力され、その特定されたメモリセルブロック300の内部(メモリセル200)を特定するためのxアドレスが下位アドレス(この場合はA0w〜A3w)から入力される。
また、書込/読出回路401は、データの読み書きを行うメモリセルブロック300のyアドレスを特定し、さらに、特定されたメモリセルブロック300に対してデータの読み書きを行う装置である。
具体的には、書込/読出回路401には、複数のメモリセルブロック300のうちのいずれかのメモリセルブロック300かを特定するためのyアドレス(図5の半導体装置110の横方向のアドレス)が(この場合はAyw2に)入力され、その特定されたメモリセルブロック300の内部(メモリセル200)を特定するためのyアドレスが(この場合はAyw0,Ayw1に)入力される。また、書込/読出回路401には、入力402から複数のビット数(この場合は4ビット)のデータが入力される。
このようにして、特定のメモリセルブロック300における特定のメモリセル200を適宜選択し、真理値表データの書き換えなどを行うことができる。
すなわち、半導体装置110は、複数のメモリセルブロック300のうち、一部のメモリセルブロック300のメモリセル200が記憶する真理値表データを書き換えられた場合、その書き換えられた真理値表データにしたがって動作を変更できる。
続いて、図6〜図9を参照しながら、半導体装置110(図4参照)を3ビット加算器として使用する場合の例について説明する。
図6は、3ビット加算器の構成例である。この図6におけるメモリセルブロック同士の接続は、図4の場合と同じである。
ここでは、3ビットの2数E,Fを加算し、その結果をYとする場合について説明する。なお、Eの最下位ビットをE0、次のビットをE1、最上位ビットをE2とする。また、Fの最下位ビットをF0、次のビットをF1、最上位ビットをF2とする。さらに、Yの最下位ビットをY0、次のビットをY1、最上位ビットをY2とする。また、最下位ビットの加算による桁上がりをC0、次のビットの加算による桁上がりをC1、最上位のビットの加算による桁上がりをC2とする。また、各々の信号は差動であるが、記載上簡略して記述した。
メモリセルブロック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を出力する。
メモリセルブロック300dのD3から出力されたY0は、図のような経路を経て、メモリセルブロック300jのD3から出力される。
メモリセルブロック300eのD3から出力されたY1は、図のような経路を経て、メモリセルブロック300kのD3から出力される。
メモリセルブロック300fのD3から出力されたY2は、図のような経路を経て、メモリセルブロック300lのD3から出力される。
このようにして、加算結果であるY0、Y1およびY2を得ることができる。
図7において、(a)はメモリセルブロック300の簡略図、(b)はメモリセルブロック300d、300eおよび300fに格納する真理値表である(適宜図6参照)。
図7(a)に示すように、メモリセルブロック300において、A0〜A3に入力があると、その入力に応じてD0〜D3から真理値表に定義されたデータが出力される。
図7(b)に示すように、A0,A1,A3にE(E0〜E2),F(F0〜F2),Cin(C0〜C2)の入力があると、それら3つの加算結果として、そのビットの値をD3にY(Y0〜Y2)として出力し、桁上がりをD2にCout(C0〜C2)として出力する。
なお、D0とD1は、ここでは使用しないため、すべての場合で「0」を出力するようにしている。
また、上から1段目〜4段目と5段目〜8段目、および、9段目〜12段目と13段目〜16段目は、A2以外の真理値が同じになっているが、これは、A2に「0」と「1」のいずれのデータが入力されても正確な出力結果が得られるようにするためである。
図8において、(a)はメモリセルブロック300の簡略図、(b)はメモリセルブロック300g、300j、300kおよび300lに格納する真理値表である(適宜図6参照)。
図8(a)に示すように、メモリセルブロック300において、A0〜A3に入力があると、その入力に応じてD0〜D3から真理値表に定義されたデータが出力される。
図8(b)に示すように、A1にY(Y0〜Y2)の入力があると、その値をD3にそのまま出力する。
なお、D0〜D2は、ここでは使用しないため、すべての場合で「0」を出力するようにしている。
また、実際にはA1からD3へ「0」→「0」、「1」→「1」という2種類(2段分)の真理値表があればよいのであるが、A0、A2、A3に「0」と「1」のいずれのデータが入力されても正確な出力結果が得られるように、16段の真理値表となっている。
図9において、(a)はメモリセルブロック300の簡略図、(b)はメモリセルブロック300hおよび300iに格納する真理値表である(適宜図6参照)。
図9(a)に示すように、メモリセルブロック300において、A0〜A3に入力があると、その入力に応じてD0〜D3から真理値表に定義されたデータが出力される。
図9(b)に示すように、A0にC(C0〜C2)の入力があると、その値をD1にそのまま出力する。また、A1にY(Y0〜Y2)の入力があると、その値をD3にそのまま出力する。
なお、D0とD2は、ここでは使用しないため、すべての場合で「0」を出力するようにしている。
また、図8(b)の場合と同様、A2とA3に「0」と「1」のいずれのデータが入力されても正確な出力結果が得られるようになっている。
図10は、図4の半導体装置110の変形例である半導体装置110aにおける読出ポートの接続状況を示した図である。半導体装置110aにおいて、一番左の列のメモリセルブロック300m〜300oと左から3番目の列のメモリセルブロック300s〜300uに比べて、その間の列のメモリセルブロック300p〜300rは、縦方向にメモリセルブロック半個分ずらして配置される。また、それぞれのメモリセルブロックのA0〜A3およびD0〜D3は、図のように接続される。
このように、メモリセルブロックをずらして配置することで、図4の半導体装置110の場合に比べて、それぞれのメモリセルブロックのD0〜D3から他のメモリセルブロックのA0〜A3に入力する配線の長さを短くすることができる。
なお、このような配線の折れ曲がりの回数や具合は、特にこの図10に限定されることなく、適宜変更が可能である。
また、半導体装置110aの内部構成図(図5に対応)は、図11に示す通りである。
以上説明したように、本実施形態の半導体装置によれば、論理回路として動作することができるメモリにおいて、1つのメモリセルブロックから4つのメモリセルブロックに出力を与えることで、データの帰還を容易に行うことができる。
また、従来のFPGAの製造では、たとえば、C言語プログラムを作成して、それからHDL(Hardware Description Language)を作成する。そのHDLから論理合成を行い、論理回路を作成する。その論理回路から、該当するFPGAに論理の配置と配置配線を行う。つまり、複雑で高度な作業工程が必要であった。
一方、本実施形態の半導体装置は、メモリであり記憶装置であるので、C言語プログラムをコンパイルしてそのデータを真理値として搭載できるため、作業工程が単純で容易となる。また、本実施形態の半導体装置は、記憶装置であるため、異なった論理回路を実現する場合でも、配線はそのままで、メモリセル200に書き込む真理値表データを書き換えるだけで済む。
これを、図12を参照しながら、より具体的に説明する(適宜図1参照)。図12は、半導体装置に、論理回路として動作させるためのビットデータを搭載するときの処理の流れを示すフローチャートである。
まず、情報処理装置100は、実現したい機能を記述したC言語プログラムを入力部101から入力し(ステップS1201)、記憶部102に記憶する。
また、記憶部102には、あらかじめ、各種機能(加算、減算など)のプログラムが記憶されているものとする。
情報処理装置100の操作者は、記憶部102に記憶されているプログラムのうち必要なものを引用するため、入力部101を用いて宣言文(Include文)を追加する(ステップS1202)。
処理部106は、Include文が追加されたC言語プログラムに基づいて真理値表(図7の真理値表600など)を作成し(ステップS1203)、その真理値表に基づいてビットデータを作成し(ステップS1204)、さらに、通信部105を介して半導体装置110にそのビットデータを搭載する(ステップS1205)。
このように、本実施形態の半導体装置110によれば、半導体装置110を論理回路として動作させるための作業が簡単に済む。
さらに、本実施形態の半導体装置によれば、実際の論理回路を使用していないので、メモリの一部に故障が発生しても、その箇所の使用を避けるなどしてその対応(救済)を容易に行うことができる。
また、1つのメモリセルブロックに対するワード線を本実施形態のように32本とすれば、データ(信号)の減衰を抑え、センスアンプの使用を不要とすることができる。しかし、半導体装置の機能を重視するのであれば、読み出しセンスアンプか読み出しデータ線に中間バッファを使用し、ワード線の本数を33本以上としてもよい。
さらに、本実施形態の半導体装置によれば、複数のメモリを使用し、そのうちのいくつかのメモリにテストプログラムを入れることで、他の1つのメモリをテストすることができる。そして、テスト終了後は、テストプログラムを入れたメモリからテストプログラムを消去することで、それらのメモリを通常のメモリとして使用することができる。
また、メモリを内蔵するシステムLSIで、そのメモリを本実施形態の半導体装置の構造にして自己テストし、かつ、その部分にC言語で記述されるテストプログラムを記述してテスト論理回路を構成することで、システムLSIにおける他の論理回路をテストすることができる。
さらに、メモリセルブロック同士の接続は、1つのメモリセルブロックが他の4つのメモリセルブロックと接続される場合に限らず、データの帰還を行えるような、他の3つ以上のメモリセルブロックと接続される他の構成であってもよい。
さらに、読出データ線を差動にしているが、半導体レイアウトや読出アドレスデコーダの論理回路を考慮し、片側の読出データ線だけで配線するようにしてもよい。
次に、図13〜図15を参照しながら、連続的に動作させることができる構成の半導体装置について説明する。図13は、そのような構成の半導体装置の概要図である。
図13に示した半導体装置110bは、図4〜図6の半導体装置110と同様、メモリセルブロック300をアレイ状に配置した構成をしており、図4等よりも簡略化して記載したものである。図4等の半導体装置110との違いは、最右列のメモリセルブロック300からの出力G1〜G8を一時的に保持するためのラッチ回路Lと、それらのラッチ回路Lで保持した出力を最左列のメモリセルブロック300に帰還させるための配線1301〜1308を備えている点である。
図14は、大規模メモリと図13に示した半導体装置110bの構成を示した概要図である。
大規模メモリ1400は、C言語プログラムなどを記録した記録装置であり、たとえば、ROMによって実現することができる。
半導体装置110bは、大規模メモリ1400からのC言語プログラムの真理値表データ(図7の真理値表600等参照)の書き込みと、その真理値表データによる演算とその出力(演算結果)の帰還とを、繰り返し行うが、その詳細については図15を参照しながら以下で説明する(適宜図13,14参照)。
図15は、半導体装置110bにおける動作の流れを示すフローチャートである。
まず、大規模メモリ1400の真理値表データが半導体装置110bに書き込まれる(ステップS1501)。ここで、大規模メモリ1400の真理値表データは、図3で説明したように、半導体装置110bのそれぞれのメモリセルブロック300における上半分または下半分に書き込まれる。
そして、次に行う演算(各メモリセルブロック300による真理値表データに基づいた演算)が最後でない場合(ステップS1503でNo)、つまり、半導体装置110bが、大規模メモリ1400におけるC言語プログラムによって次の演算以降にもまだ演算する必要があるとき、ステップS1505以降の処理に進む。
ステップS1505において、半導体装置110bの各メモリセルブロック300におけるこれから演算を行う半分とは逆(残り)の半分(上半分または下半分)に、大規模メモリ1400から真理値表データが書き込まれる。
また、ステップS1505の処理と並行して、ステップS1507〜S1511の処理が行われる。
つまり、半導体装置110bでは、図13の最左列の各メモリセルブロック300に値(1回目の演算では大規模メモリ1400から与えられた値。2回目以降の演算ではラッチ回路Lから帰還された値)が入力され(ステップS1507)、ステップS1501で真理値表データを書き込まれた各メモリセルブロック300の上半分または下半分を使って演算を行い(ステップS1509)、図13の最右列の各メモリセルブロック300から演算した値を出力し(ステップS1511)、ステップS1503に戻る。
ステップS1503で、次に行う演算が最後である場合(Yes)、つまり、半導体装置110bが、大規模メモリ1400におけるC言語プログラムによって次の演算以降に演算する必要がないとき、ステップS1513〜S1517において、ステップS1507〜S1511と同様の処理を行い、その出力を演算結果として所定の装置(不図示)に送り、処理を終了する。
このように、図13の半導体装置110bによれば、各メモリセルブロック300における上半分または下半分(その切り替えは図3のセレクト線301による)のメモリセル200での演算、それと並行して行う演算を行っていない半分(各メモリセルブロック300における上半分または下半分)の真理値表データの書き換え、および、出力(演算結果)の帰還を行うことにより、連続的に演算を行うことができ、大規模メモリ1400に記録されているC言語プログラム全体を連続的に動作することができる。
次に、図16を参照しながら、出力(演算結果)の帰還を行うことにより連続的に動作することができる半導体装置の変形例について説明する。図16は、その変形例の半導体装置の概略図である。
図16の半導体装置110cは、図13の半導体装置110bとほぼ同様の構成であるが、図13の半導体装置110bが最右列のメモリセルブロック300からの出力を最左列のメモリセルブロック300に入力して帰還をかけていたのに比べ、最右列のメモリセルブロック300からの出力を最上行のメモリセルブロック300に入力して帰還をかけ、最下行のメモリセルブロック300からの出力を最左列のメモリセルブロック300に入力して帰還をかけている点で異なっている。これにより、図13の場合と比較して、論理回路段数の自由度を上げることができる。
このようにして、演算の種類(加算、乗算など)などに応じ、出力に関して好適な帰還経路を選択し、採用することができる。
また、特に図示していないが、図13の半導体装置110bや図16と半導体装置110cと同様に、半導体装置110において、最下行のメモリセルブロック300からの出力を最上行のメモリセルブロック300に入力して帰還をかけるようにしてもよい。
次に、図17を参照しながら、フレキシブル基板を用いた半導体装置について説明する。図17は、フレキシブル基板を用いた半導体装置の構成図である。
半導体装置110dの基板を構成するフレキシブル基板FLは、ペンタセン(ベンゼン5個がオルト縮合した有機分子)などを材料とする可撓性のある有機半導体を材料とするものである。
半導体装置110dは、図13の半導体装置110bにおける最右列の各メモリセルブロック300と最左列の各メモリセルブロック300との距離を短縮するべく円柱形にしたものであり、接続部1700をまたいで、半導体装置110bの場合と同様に、出力の帰還を行うことができる。
続いて、図18を参照しながら、ワイヤボンディングにより出力の帰還を行う半導体装置について説明する。図18は、その場合の半導体装置などの全体構成図である。
図18に示すように、基板Bの両側に、半導体装置110e,110f、大規模メモリ1400e,1400fが取り付けられている。また、信号伝送用のワイヤW1〜W4が、図のように接続されている。
このような構成により、大規模メモリ1400eから半導体装置110eへワイヤW4によって真理値表データを書き込んだり、大規模メモリ1400fから半導体装置110fへワイヤW3によって真理値表データを書き込んだり、さらに、半導体装置110eと半導体装置110fの間でワイヤW1とワイヤW2によって出力の帰還を行ったりすることができる。
次に、図19を参照しながら、半導体装置をテスタに使用した場合について説明する。図19は、テスタなどの構成図である。なお、テスタ1900は、テスト対象LSI1910(他の半導体装置)の動作確認を行う装置である。
テスタ1900は、大規模メモリ1400(記憶装置)、半導体装置110、ドライバ1901、コンパレータ1902および処理部1903を備えて構成される。
ドライバ1901は、半導体装置110から予定入力値を受信するとテスト対象LSI1910に対してそれに基づいた信号を送信する駆動回路である。
コンパレータ1902は、半導体装置110からの予定入力値と、テスト対象LSI1910からの出力値とを比較するものである。
処理部1903は、コンパレータ1902からの出力を受け、処理を行う装置であり、たとえば、CPU(Central Processing Unit)によって実現される。
また、特に図示しないが、テスタ1900は、直流電源、タイミングジェネレータなどを、必要に応じて備えるものとする。
このようにして、テスタ1900に半導体装置110を適用することができる。
続いて、図20を参照しながら、図3の論理回路370の具体的構成について説明する。図20において、(a)は通常のCMOSの構成図、(b)はCMOSを分離した場合の構成図、(c)は通常のCMOSを使用したナンド回路の構成図、(d)は本願のナンド回路の構成図である。
図20(a)に示すように、通常のCMOS2000は、P−MOS2001とN−MOS2002を1つずつ備えて構成されている。
一方、図20(b)の分離CMOS2010は、通常のCMOS2000と比べ、P−MOS2011とN−MOS2012の右側(出力部分)が分離されている点で相違している。
また、図3の論理回路370(ナンド回路など)は、たとえば、通常のCMOS2000のN−MOS部分を用いて、図20(c)のように構成することができる。A,BおよびCは、入力接点であり、また、P−MOS2021,2031および2041とN−MOS2022,2032および2042が、図のように接続される。
一方、図3の論理回路370(ナンド回路)は、本願では、たとえば、分離CMOS2010を用いて、図20(d)のように構成することができる。A,BおよびCは、入力接点であり、また、N−MOS2052,2062および2072が、図のように接続される。
このようにして、図3の論理回路370(ナンド回路)を図20(d)のように構成することで、トランジスタ(P−MOS,N−MOS)の個数を、図20(c)の場合に比べて、半分にすることができ、それにより、1つのメモリセルブロック300あたりの面積や体積などを小さくすることができる。
次に、図21を参照しながら、磁界接続によって半導体装置の出力の帰還を行う場合について説明する。図21は、磁界接続を行う場合の半導体装置などの構成図である。
図21に示すように、ケース2100の内部に、半導体装置110h,110i,・・・がそれぞれ基板Bを挟んで配置されている。
また、半導体装置110h,110iの左右には、コイルやトランジスタなどで構成された磁界検知部2101,2111と磁界発生部2102,2112が設けられている。そして、磁界発生部2102で発生した磁界を磁界検知部2111が受け、磁界発生部2112で発生した磁界を磁界検知部2101が受けることで、半導体装置110h,110iの間で出力の帰還を行うことができる。
このように、磁界発生部と磁界検知部とによる磁界接続を用いることで、配線による手間やスペースの問題に煩わされることなく、半導体装置110における出力の帰還を行うことができる。
以上で実施形態の説明を終えるが、本発明の態様はこれらに限定されるものではない。
たとえば、本発明の半導体装置は、SRAMに代えて、DRAM(Dynamic Random Access Memory)やフラッシュメモリを用いて実現してもよい。
また、メモリでの性能向上のためのプリチャージ機能等の機能搭載を制限するものではない。
その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。

Claims (11)

  1. 所定量のデータを記憶するメモリセルを複数備えたメモリセルブロックを複数有する半導体装置であって、
    それぞれの前記メモリセルブロックは、入力数および出力数が3つ以上であり、内部に前記メモリセルに対する2つの読出アドレスデコーダを備え、所定のアドレス入力に対して所望の論理値を出力するための真理値表データを前記メモリセルに記憶し、論理回路として動作するように構成され、
    前記メモリセルは、前記2つの読出アドレスデコーダに対応して2本の読出ワード線を有しており、その2本の読出ワード線の両方の電圧が印加された場合に、そのとき保持しているデータが読出データ線から読み出され、
    前記メモリセルブロック同士は、1つのメモリセルブロックからの3つ以上の出力が3つ以上の他のメモリセルブロックへ入力されるように接続されており、
    前記メモリセルブロックは、
    アレイ状に配置され、そのうち、最右列、最左列、最上行および最下行のいずれかのそれぞれの前記メモリセルブロックからの出力を、他のいずれかのそれぞれの前記メモリセルブロックへ入力するための配線を設け、データの帰還を行い、さらに、
    動作する前記メモリセルのエリアが2分されており、
    前記読出アドレスデコーダにおける特定のアドレス選択線が切り替えられたときに、前記動作するメモリセルのエリアが切り替えられ、2種類の論理回路としての動作、あるいは、論理回路としての動作と通常の記憶装置としての動作、のいずれかが瞬時に切り替わり、
    2分された前記メモリセルのエリアのうち、
    一方のエリアが論理回路として動作しているときに、他方のエリアがその次の演算のための真理値表データを書き込まれ、
    前記特定のアドレス選択線を切り替えることで、その他方のエリアによる演算を行い、この真理値表データの書き込みと前記特定のアドレス選択線を切り替えによって、連続して演算を行い、
    前記メモリセルブロックのメモリセルが前記真理値表データを記憶していないときは、通常の記憶装置として動作する
    ことを特徴とする半導体装置。
  2. 前記メモリセルブロックは、入力数および出力数が4つであり、
    前記メモリセルブロック同士は、1つのメモリセルブロックからの4つの出力が4つの他のメモリセルブロックへ入力されるように接続されている
    ことを特徴とする請求項1に記載の半導体装置。
  3. 複数の前記メモリセルブロックは、それぞれ同様の大きさの長方形状をしており、アレイ状の配置から少なくとも一部をずらして配置することで、前記メモリセルブロック同士の接続を行っていることを特徴とする請求項1に記載の半導体装置。
  4. 請求項1に記載の半導体装置であって、さらに、
    複数の前記メモリセルブロックと接続され、複数のメモリセルブロックおよびその内部の前記メモリセルに関するxアドレスを指定する書込アドレスデコーダと、
    複数の前記メモリセルブロックと接続され、複数のメモリセルブロックおよびその内部の前記メモリセルに関するyアドレスを指定し、前記メモリセルに対してデータの書き込みを行う書込/読出回路と、を備え、
    前記メモリセルは、前記書込アドレスデコーダと前記書込/読出回路によって指定された場合、前記書込/読出回路によってデータが書き込まれる
    ことを特徴とする半導体装置。
  5. 複数の前記メモリセルブロックのうち、一部の前記メモリセルブロックのメモリセルが記憶する真理値表データが書き換えられた場合、
    その書き換えられた真理値表データにしたがって動作を変更することを特徴とする請求項1に記載の半導体装置。
  6. システムLSIを構成する請求項1の半導体装置であって、
    自己テストし、かつ、前記システムLSIにおける他の論理回路をテストすることを特徴とする半導体装置。
  7. 基板として可撓性のあるフレキシブル基板を使用し、そのフレキシブル基板を湾曲することにより、データの帰還のための配線の距離を短くしたことを特徴とする請求項1に記載の半導体装置。
  8. 基板の両面に前記半導体装置を1つずつ設け、ワイヤボンディングによってデータの帰還を行うことを特徴とする請求項1に記載の半導体装置。
  9. 他の半導体装置の動作確認を行うテスタに用いられ、前記テスタに備えられた記憶装置が記憶している前記動作確認のためのテストプログラムに基づいてそのテストプログラムを実行することを特徴とする請求項1に記載の半導体装置。
  10. 前記読出アドレスデコーダは、複数の論理回路を有し、
    その複数の論理回路に使用されているトランジスタはN−MOSであることを特徴とする請求項1に記載の半導体装置。
  11. 請求項1に記載の半導体装置を複数備え、
    それぞれの前記半導体装置は、磁界を発生させる磁界発生部と、磁界を検知する磁界検知部と、を有し、
    いずれかの前記半導体装置の前記メモリセルブロックからの出力に基づいて磁界発生部により磁界を発生させ、他のいずれかの前記半導体装置の前記磁界検知部によってその磁界を検知することによりデータの帰還を行うことを特徴とする半導体装置。
JP2007546356A 2005-11-28 2006-07-06 半導体装置 Expired - Fee Related JP5032996B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007546356A JP5032996B2 (ja) 2005-11-28 2006-07-06 半導体装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
PCT/JP2005/021758 WO2007060738A1 (ja) 2005-11-28 2005-11-28 半導体装置
JPPCT/JP2005/021758 2005-11-28
JP2007546356A JP5032996B2 (ja) 2005-11-28 2006-07-06 半導体装置
PCT/JP2006/313502 WO2007060763A1 (ja) 2005-11-28 2006-07-06 半導体装置

Publications (2)

Publication Number Publication Date
JPWO2007060763A1 JPWO2007060763A1 (ja) 2009-05-07
JP5032996B2 true JP5032996B2 (ja) 2012-09-26

Family

ID=47016661

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007546356A Expired - Fee Related JP5032996B2 (ja) 2005-11-28 2006-07-06 半導体装置

Country Status (1)

Country Link
JP (1) JP5032996B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000138579A (ja) * 1998-10-30 2000-05-16 Nec Corp プログラマブルロジックlsiの基本セル及び基本セル2次元アレイ
JP2001325800A (ja) * 2000-03-10 2001-11-22 Hitachi Ltd 半導体集積回路装置および製造方法
JP2003149300A (ja) * 2001-11-16 2003-05-21 Hitachi Ltd テスト方法および半導体装置
JP2003224468A (ja) * 2002-01-31 2003-08-08 Hitachi Ltd 半導体集積回路および製造方法並びにテスト方法
WO2005109646A1 (ja) * 2004-05-12 2005-11-17 National University Corporation Okayama University 多次元のスイッチトポロジーを有する集積回路

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000138579A (ja) * 1998-10-30 2000-05-16 Nec Corp プログラマブルロジックlsiの基本セル及び基本セル2次元アレイ
JP2001325800A (ja) * 2000-03-10 2001-11-22 Hitachi Ltd 半導体集積回路装置および製造方法
JP2003149300A (ja) * 2001-11-16 2003-05-21 Hitachi Ltd テスト方法および半導体装置
JP2003224468A (ja) * 2002-01-31 2003-08-08 Hitachi Ltd 半導体集積回路および製造方法並びにテスト方法
WO2005109646A1 (ja) * 2004-05-12 2005-11-17 National University Corporation Okayama University 多次元のスイッチトポロジーを有する集積回路

Also Published As

Publication number Publication date
JPWO2007060763A1 (ja) 2009-05-07

Similar Documents

Publication Publication Date Title
JP4703655B2 (ja) 半導体装置
US8631365B2 (en) Memory building blocks and memory design using automatic design tools
TWI704572B (zh) 記憶體輸入/輸出、記憶體輸入/輸出方法以及記憶體裝置
JP2012059830A (ja) 半導体記憶装置
US11437982B2 (en) Flip flop standard cell
TWI767801B (zh) 記憶體裝置以及記憶體單元
JP5081240B2 (ja) 半導体装置
US7746722B2 (en) Metal programmable self-timed memories
JP5032996B2 (ja) 半導体装置
Barth et al. A 500-MHz multi-banked compilable DRAM macro with direct write and programmable pipelining
TWI357212B (ja)
KR101884190B1 (ko) 다수의 기록 포트를 갖는 메모리
JP2011134380A (ja) 不揮発性半導体記憶装置
JP2007179605A (ja) 半導体記憶装置
JP4187714B2 (ja) 半導体メモリのレイアウト方法及び半導体メモリ
JP2006268905A (ja) 半導体記憶回路、半導体記憶回路の構成方法、及び、半導体記憶回路のレイアウト生成方法
JP2001195877A (ja) 半導体集積装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090617

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110705

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110901

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120306

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120313

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 5032996

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150706

Year of fee payment: 3

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees