以下では、本発明のうちまず、全体の設計方法とメモリコアMRと論理回路LCとの結合回路である転送回路TGについての実施例を説明し、最後にメモリコアMRの具体例であるメモリマクロMMACROに関する実施例を説明する。
[メモリコアを用いたシステムLSIの設計方法]
図1には、本発明に係るメモリコアを内蔵したシステムLSI設計方法の概念が示されている。
図1の左に示されるのは、コア回路、論理ライブラリのレイアウトパターンや特性を登録したデータベース用記憶装置DBである。データベース用記憶装置DBは、多数のデータ伝送線をもち互いに記憶容量の異なる複数のメモリコアMRと、メモリコアMRのデータ伝送線(I/O線)のピッチに合わせて設定された転送回路(結合回路)TG用のモジュール群と、論理回路LCを合成するための基本ゲートからなる論理ライブラリLLと、レイアウトパターンや仕様及び特性など設計に必要なデータがあらかじめ記憶される。
ここで、転送回路TG用のモジュールは、スイッチ群SWGとバッファ群TGBUFiからなり、スイッチ群SWGとバッファ群TGBUFiとを組合せて転送回路TGを合成できる。詳しくは後述するが、複数のスイッチ群SGWを接続することにより様々な転送パターンを持つ転送回路TGを合成することができる。これらのモジュールは、メモリコアMRのデータ伝送線(I/O線)のピッチに合わせて作られているので、レイアウトパターンを変更することなくメモリコアMRのデータ伝送線(I/O線)にそのまま結合できる。
LSIチップの仕様が与えられるとデータベース用記憶装置DBから必要なデータを設計用ワークステーションWSに転送しながら設計を行なう。メモリコアMRと転送回路TG用モジュールの配線ピッチがそろっているため、これらはそのまま結合して使うことができる。すなわち、必要な記憶容量のメモリコアMRと仕様に合った転送回路TGを作るためのモジュールをデータベースDBから取り出して組合せればよい。論理部分は、論理合成用のCADツールを用いることにより、論理ライブラリLLから所望の論理回路LCを容易に合成できる。最後にチップのフロアプランに合わせてそれらを配置し、その間の配線を、配置配線CADツールにより行なえばチップのレイアウトデータが完成する。このようにして、メモリコアMRを内蔵したシステムLSIの製品群を短期間に設計できる。
なお、ここでは論理ライブラリLLを用いて論理を合成する例を示したが、場合によってはチップの一部をゲートアレイにして論理を合成してもよい。その場合は、メモリコアMRが共通で論理が異なるチップを容易に製造できるという利点がある。
図1の右下に上述のような設計によって得られるチップの例が2つ示されている。半導体チップLSI-Aは、それぞれ図の左側に配置されたメモリコアMRと、図の右側に配置された論理回路LCとの間に転送回路TGを配置し、メモリコアMRと論理回路LCとを転送回路TGによって結合するようにした4つのブロックA,B,C,Dを設け、その中心にチップ全体を制御する制御回路CCを配置したものである。これに対し、半導体チップLSI-Bは、メモリコアMRと論理回路LCを転送回路TGで結合したブロックA,Bを2つ並べて、中心にチップ全体を制御する制御回路CCを配置したものである。
本発明では、もちろん一つのメモリコアMRを用いるチップも実現できるが、図示の例のように複数のブロックを集積するチップも容易に設計できる。その場合、各ブロックのメモリコアMR、論理回路LCを異なるものとしてもよいし、同一の構成にしてもよい。前者は、異なる処理を同一のチップで並列に行なうものに適しており、後者は、同一の処理を並列に行なうものに適している。特に後者は、グラフィックス、自然画像処理、ニューラルネットワークなど並列動作が可能な処理を行なうものに適している。
半導体チップLSI-A,LSI-BのどちらもメモリコアMRとデータの授受を行なう論理回路LCをメモリコアMRに近接配置することとなるため配線遅延の影響が少なく高速のデータ転送が実現できる。また、制御回路CCから各ブロックへの距離が半導体チップLSI-Bでは等しく、半導体チップLSI-Aでも差が少ないので、制御信号のスキューが小さくできるという利点がある。
半導体チップLSI-Bでは、論理回路LCを制御回路CCに近接配置するが、メモリコアMRの制御信号の配線を短くして配線遅延を少なくする必要がある場合には、ブロックを制御回路CCに対して反転させメモリコアMRを制御回路CCに近接して配置してもよい。
なお、半導体チップLSI-Aにおいて制御回路CCからの距離がブロックAとBおよびDとCで異なることが問題となる場合も考えられる。その場合には、半導体チップLSI-Bのような配置を行なって制御回路CCの左右にブロックを2つずつ配置すればよい。
ブロックの形状が横に長い場合には、そのようにするとチップの短辺と長辺の差が大きくなりすぎる場合がある。そのような場合には、図1に示される半導体チップLSI-Aの配置のまま、制御信号の入力端子をブロックの片側の面に集中させ、ブロックAとBおよびDとCを反転して配置することにより、ブロック同士が隣接する面に制御信号の入力端子が来るようにできる。これにより制御信号のスキューを減少することができる。以下では、図1に示される転送回路TGについて詳しく説明する。
[多重I/Oメモリコア内蔵LSI]
図2には、本発明に係る多重I/Oのメモリ内蔵LSIの例が示される。図2に示される半導体チップSICは、複数のI/O線MIOiをもつメモリコアMRと、複数のI/O線LIOiをもつ論理回路LCと、メモリコアMRと論理回路LCの間のデータの転送パターンを制御する転送回路TG等とを単一の単結晶シリコン等からなる半導体基板に集積したものである。
論理回路LCの内容は論理ライブラリLLを用いて目的に応じたものを合成すればよい。ここでは、画像あるいはグラフィックスに適する例とされる。メモリコアMRは、画素データを記憶するものとされ、論理回路LCは、メモリコアMRに記憶された画素に対して演算を行なう演算器群ARGとメモリコアMRの内容を画面に表示するために一定の速度で読み出すための表示用バッファDBRならびにそれらとメモリコアMRを制御するための制御回路LCCから構成される。
メモリコアMRは、複数のデータ線DLと複数のワード線WLならびにそれらの交点に形成されたメモリセルMCを有する。メモリセルMCは、1トランジスタ・1キャパシタのDRAMセル, 4又は6トランジスタのSRAM(Static Random Access Memory)セル,1トランジスタの不揮発性のフラッシュメモリセルなどを用いることができる。なお、メモリコアMRとして上で述べたような書き込みと読み出しのできるいわゆるRAM型ないしはリードライト型を考えるけれども、読みだし専用のいわゆるROM型のものを使用する場合にも本発明は有効である。メモリコアMRへのデータの書込み読み出しは、読出し書込み回路RWCにより制御され、周辺回路PERによって選択された、複数のメモリセルMCに複数のI/O線MIOiから並列にデータを読み書きすることができる。周辺回路PERには、論理回路LCからのメモリコア制御信号MRC、制御信号CTL及びアドレス信号DATA等のバスが接続されている。メモリコアMRは、論理回路LCの基準信号であるクロック信号と同期して制御信号、アドレス信号、I/O信号を入力したり、出力したりする。
論理回路LCは、メモリコアMRから転送回路TGを通じて読み出されるデータや半導体チップSIC外部からのデータに対して演算を行う。その結果を再び転送回路TGを通じてメモリコアMRへ書き込んだり、半導体チップSIC外部へ出力する。
転送回路TGは、多段のスイッチ群SWGより構成され、制御信号TGCiによるスイッチ群SWGのスイッチ制御によってメモリコアMRの複数のI/O線MIOiと論理回路LCの複数のI/O線LIOiとの間の接続関係(以下、転送パターンという。)を切り換えることができる。
転送回路TGは、双方向もしくは両方向にデータ転送が可能な構成、すなわちメモリコアMRからのデータ信号を論理回路LCへ供給し、逆に論理回路LCからのデータ信号をメモリコアMRに供給できるようにそれが構成される。
図3には、転送パターンの例としてP0からP7まで8つのパターンを実現する場合が示される。この例は、2のn乗本のI/O線MIOiとLIOiに対して、その1/4(2の(n−2)乗)を単位としたMIO0,1,2,3とLIO0,1,2,3の対応を切り換えるものである。
すなわち、iは0から3の場合である。このように、転送単位が2のn乗本である必要はなく、また全ての転送単位が等しくなくとも本発明を適用できることはもちろんである。矢印の向きはデータの流れを示しており転送パターンP1はメモリへのデータの書込みのみに使用し、残りのパターン(P0,P2〜P7)は読み出し、書込み両方に使う。
転送パターンP0は、そのままデータの入れ替えなしに転送するパターンである。転送パターンP1は、(LIO0,1)に入力するデータを(MIO0,1), (MIO2,3)に伝達してメモリへ書き込むためのものである。この例は他のパターンとは異なり、メモリコアMRの異なるI/O線が導通する。すなわち、I/O線LIO0がI/O線MIO0及びMIO2と結合され、 I/O線LIO1がI/O線MIO1及びMIO3と結合される。このため、読出し時には異なるデータが衝突する場合があるので書込み時にのみ使用する。このパターンは後述するようにメモリの内容を高速に初期化するなどに有効である。
転送パターンP2およびP3はそれぞれ(LIO0,1)と(MIO0,1)、(LIO0,1)と (MIO2,3)との間に転送経路を形成するものである。転送パターンP4からP7はそれぞれ(LIO1)と(MIO0)、(LIO1)と(MIO1)、(LIO1)と(MIO2)、(LIO1)と (MIO3)との間に転送経路を形成するものである。
8つの転送パターン(P0〜P7)は、制御信号TGCiにより自由に切り換えることができる。それぞれの転送パターンは、転送回路TG内のひとつのスイッチ群SWGをオンすることにより実現できる。たとえば、転送パターンP0は、図2に示されるスイッチ群SWG#0をオンすることにより実現できる。転送回路TGの具体的な構成は後述する。
本実施例では、メモリコアMR、転送回路TG、論理回路LCを同一の半導体チップ上に形成するので数十本から数百本のI/O線を容易に配線することが可能である。
次に、図2に示される多重I/Oメモリコア内蔵LSIの動作を説明する。
まず、読出し動作を説明する。メモリコアMR内の周辺回路PERにより一本のワード線WLを選択すると、そのワード線WL上のメモリセルMC群からデータ線DLにデータが読み出され、読出し書込み回路RWCを通じて複数のI/O線MIOiに並列にデータが読み出される。制御信号TGCiにより、転送回路TG内のスイッチ群SWGのうち一つが活性化されるとメモリコアMRの複数のI/O線MIOiと論理回路LCの複数のI/O線LIOiの間の転送パターンが確定しI/O線MIOiからI/O線LIOiにデータが転送され、論理回路LCに入力される。
書込み動作もデータの流れが逆になる以外は同様である。すなわち、論理回路LCから複数のI/O線LIOiに出力されたデータは、制御信号TGCiにより確定した転送パターンにしたがってI/O線LIOiからI/O線MIOiに転送され、メモリアレイMRでの読出し書込み回路RWCを通じてデータ線DLに伝達され、さらに選択されたワード線WL上のメモリセルMCに並列に書き込まれる。
読出しあるいは書込みを連続に行ったり、交互に行ったりする際には、サイクル毎に選択するワード線WLや転送パターンを切り換えて動作させることができる。したがって、論理回路LCの要求に応じてサイクル毎に異なるアドレスに対応するメモリセルMCに並列に読出し書込みを行うことができる。
本実施例によれば、メモリコアMRと論理回路LCとの間のデータの授受は、一段のスイッチ群SWGを通じて行われるため、非常に高速なデータ転送が実現できる。また、I/O線MIOiとLIOiが同一方向に走るようにメモリコアMRと論理回路LCを配置するため、メモリコアMRと論理回路LCの間に転送回路TGを配置することができる。転送回路TGのスイッチ群SWGの段数は転送パターンに応じて決まるため転送パターン数が少ない場合には転送回路のデータ線方向の寸法(図2の横方向)を小さくすることが可能である。したがって、図2に示されるようにメモリコアMRのワード線WL方向の寸法(図2の縦方向)に収まるように転送回路TGと論理回路LCをレイアウトすると余分な面積をとることなく全体の面積を小さくすることができる。
なお、周辺回路PERは、上記のようにワード線WLを選択するXデコーダのみを含んでもよいし、データ線の一部を選んでI/O線MIOiに接続するYデコーダを含んでもよい。本実施例によればI/O線MIOiは多数設けることができるので、通常、Yデコーダは、例えば1024本のデータ線のうち128本を選ぶような簡単なものでよい。
[転送回路の第1の具体例]
次に転送回路TGの具体的な回路例を図4を使って説明する。図4には、図2に示される転送パターンを実現する転送回路TGの回路例実施が示される。
図4において、MIO0, MIO1, MIO2, MIO3はメモリコアMRのI/O線であり、LIO0, LIO1, LIO2, LIO3は論理回路LCのI/O線である。また、SWG0, SWG1, .., SWG7はスイッチ群であり、TGBUF0, TGBUF1, TGBUF2, TGBUF3はバッファ回路である。
TGC0, TGC1,.., TGC7はそれぞれスイッチ群SWG0, SWG1, .., SWG7をオンオフするスイッチ制御信号である。スイッチ群SWGにおけるスイッチSWは後で詳しく説明する図9のような例示のトランジスタから構成される。各スイッチSWのスイッチ状態とスイッチ制御信号TGCiのレベルとの関係は、スイッチSWを構成する回路をどうするかによって決めることができるので固定的に考えなくて良い。しかし、ここではスイッチSWはその制御入力に加えられる制御信号TGCiが高電位ならオンとなり、逆に低電位ならオフするものとする。これに応じてたとえば制御信号TGC3が高電位とされ、他の制御信号が低電位とされているなら、スイッチ群SWG3内の矢印で示した2つのスイッチSWがオンとされ、同じスイッチ群の他のスイッチSW及び他のスイッチ群のスイッチSWがオフとされる。それ故に、制御信号TGC3のみが高電位にされたときには、図3のP3の転送パターンが形成され、メモリコアMRのI/O線MIO2, MIO3と論理回路LCのI/O線LIO0, LIO1との間に転送経路ができる。その他の転送パターンも同様にして制御信号TGCiのうちの一つを高電位とすれば実現できる。
バッファ回路TGBUF0, TGBUF1, TGBUF2, TGBUF3は、I/O線MIOi及びI/O線LIOiに存在する寄生容量による影響によって信号が遅延してしまうのを避けるように作用する。バッファ回路TGBUFiの構成例は次の図5に例示される。そこで次に図5を用いてバッファ回路TGBUFiの構成、動作を説明する。
バッファ回路TGBUFiは、メモリコアMRの読み出し書き込み動作に合わせてデータの流れを切り替える両方向のバッファであるとともに、転送パターンが形成されたときに使用しない論理回路LCのI/O線LIOiの電位をラッチする働きを持つ回路とされている。
前に説明の図3に示される例では転送パターンP0を除いていずれも論理回路LCのI/O線LIOiの一部は使用されない。使用されないI/O線LIOiの電位が確定しないでいわゆるフローティング状態になると電荷のリークにより中間電位となる可能性がある。その場合、そのI/O線LIOiのフローテイング中間電位を受ける論理回路LC側の図示しないCMOS(Cmplement Metal Oxide Semiconductor)トランジスタに貫通電流のような過剰な電流が定常的に流れてしまう。それを避けるために論理回路LCのI/O線LIOiのうち使用しないものはその電位を所定電位に強制ないしはクランプする。
すなわち、論理回路LCは、イネーブル信号LIOEi(図5参照)を受けるようにされ、そのイネーブル信号LIOEiによってその動作が制御されるようにされる。
図示の回路構成により、例えばバッファ回路TGBUFiの制御入力であるイネーブル信号LIOEiを低電位とすると図5に図示される論理構成から明らかなように信号TGWi, TGRiが低レベル、信号TGWBi, TGRBiが高レベルとなりクロックドインバータ回路RINV,WINVがオフする。これとともに信号LIOPRiは高レベルとなり、信号LIOPRiをそのゲートに受けるMOSトランジスタQ1がオンとされることによって、I/O信号LIOiが低レベルにクランプされる。
これに対して、使用されるべきI/O信号LIOiについては、イネーブル信号LIOEiを高電位とする。データ方向の切り替えは以下のように行う。
すなわち、メモリコアMRが読み出し動作のときには、信号TGRWを低電位とする。するとイネーブル信号LIOEiが高電位であるときには、読み出し用クロックドインバータRINVのみが活性化されI/O線LIOi'からI/O線LIOiにデータが転送される。一方、メモリコアMRが書き込み動作のときには、信号TGRWを高電位とする。するとイネーブル信号LIOEiが高電位であるときには、書き込み用クロックドインバータWINVのみが活性化されI/O線LIOiからI/O線LIOi'にデータが転送されスイッチSWを通じてメモリコアMRのI/O線MIOiにデータが転送される。
以上説明したように図4、図5に示される実施例を用いれば、転送されるデータが通過するスイッチSWの段数は一段なので高速な動作が実現できる。また、スイッチSWの段数は転送パターン数に等しいので、無駄なレイアウト領域が不要で高集積化が可能である。さらに、論理回路LCのI/O線LIOiのうち使用しないI/O線のバッファ回路TGBUFiを停止し、さらに電位がフローティング状態になることを避けらるので無駄な電力消費がなく論理回路LCのゲートに過剰な電流が流れることを防止できる。したがってI/O線の一部を使用しない転送パターンを自由に設定できる。
なお、図4では、スイッチ群SWG内のスイッチSWのうち制御信号TGCiが入力されないことにより、回路動作上からは不必要なものも設けられている。これは以下の理由による。
すなわち、転送回路TGをなすスイッチ群SWGは、図4のようにスイッチSWとそれに対応すべき制御信号TGCiとの接続、並びにスイッチSWとI/O線MIOiとの接続に必要な配線及びコンタクト以外は転送パターンによらず共通の形状をしている。したがって、スイッチSWと制御信号TGCiとの接続、並びにスイッチSWとI/O線MIOiとの接続に必要な配線及びコンタクトをのぞく共通部分をレイアウトライブラリとして用意しておけば、チップのレイアウト設計が容易となるためである。また、万一転送パターンを変更を要する場合であってもスイッチ群SWG内のスイッチSWをライブラリとしてすべて作っておけば転送パターンの変更に伴って新たに必要となってくるスイッチSWが有っても、そのスイッチに対応するトランジスタをライブラリ内に改めて追加することが不要となるためである。このときはまた、半導体集積回路製造のためのホトリソグラフィ用マスクを追加トランジスタのために修正することが、新たに追加するトランジスタが無いことにより不要となるので、修正すべきマスクの枚数を削減できる。とくに本発明のようなメモリ、論理混載のチップは用途によってメモリ容量や論理の構成を変える必要のあることを考慮すべきである。このような用途の観点から、何種類かのメモリコアMRと転送回路TG用の上記スイッチSWG群の基本パターンをライブラリとして用意しておけば、それらから必要なものを選んで、さらに論理部分を論理用基本ライブラリLLを用いて合成して配置配線を行うことによりLSIチップのマスクを迅速に設計することができる。
なお、I/O線MIOi及びI/O線LIOiに接続されるスイッチSWを構成するMOSトランジスタのようなトランジスタは、そのドレイン接合容量、ソース接合容量のような接合容量を持つ。かかる接合容量は、一種の寄生容量であり、回路の動作速度を制限する。そのため、スイッチSWの数が増えれば増えるほどI/O線MIOi及びI/O線LIOiの寄生容量が増大することとなり、I/O線MIOi及びI/O線LIOiを介して伝達されるべき信号の遅延が大きくなってくる。そこで、スイッチ群SWGの段数が非常に多くなるようなことによって信号遅延が問題となるような場合には、不要なスイッチSWは省略してもよい。
[転送回路の第2の具体例]
図6には、図2の転送回路TGを図4に示されるより少ない7段のスイッチ群SWGで実現する転送回路TGの第2の具体例が示される。図3の転送パターンに対応する図4の転送回路TGでは、一つの転送パターンに一つのスイッチ群SWGが対応していた。しかし、図3の転送パターンP0, P1, P2には、メモリコアMRのI/O線のうちMIO0, MIO1と、論理回路LCのI/O線LIO0, LIO1を接続する共通点がある。また、転送パターン P1とP3には、メモリコアMRのI/O線のうちMIO2, MIO3と、論理回路LCのI/O線LIO0, LIO1を接続する共通点がある。これに着目してスイッチ群SWG0を削除してスイッチ群SWG1とSWG2を変更したのが図6の実施例である。
図7には、図6の構成の転送回路TGで各転送パターン(P0〜P7)を実現するための制御信号TGCi、TGRW、LIOEiの設定法が示される。ここで”1”は高電位、”0”は低電位を示す。なお、転送パターンP1は前述の理由から書き込み動作しかできないので制御信号TGRWは”1”にしか設定できない。転送パターンP0, P1を実現するための制御信号TGCiの設定が図4の実施例と異なる。
図7のように、転送パターンP0を実現するためには、制御信号TGC1とTGC2の二つの制御信号を高電位にすればよい。制御信号TGC1により、I/O線のうちMIO2とLIO2、MIO3とLIO3が接続され、制御信号TGC2により、I/O線のうちMIO0とLIO0, LIO1とMIO1が接続される。
転送パターンP1を実現するためには、TGC2とTGC3の二つの制御信号を高電位にすればよい。制御信号TGC2により、I/O線のうちMIO0とLIO0, LIO1とMIO1が接続され、制御信号TGC3により、I/O線のうちMIO2とLIO0、MIO3とLIO1が接続される。本実施例では、このようにスイッチ群SWGの段数を削減できる。ここで2つのスイッチ群SWGを活性化して転送パターンP0とP1を実現しているが、データが通過するのはスイッチSW一段であるところが第2の特長である。この点は、従来のオメガネットワークなど複数の段数をデータが通過するものと異なる。以上のように本実施例によれば、高速性を損なうことなくより高速化を達成できる。
[転送回路の第3の具体例]
図8には、スイッチSWを並列に接続することにより、図6の実施例よりさらにスイッチ群SWGの段数を削減した例が示される。この例では、スイッチ群SWGを3段に削減できる。制御信号の設定方法は図7に示される実施例と同じである。図8に示される例では、各スイッチ群SWGにおいてI/O線LIOi'の両側にスイッチSWが配置される。
図9(a)の記号で示される2つのスイッチSWの回路構成とレイアウトの例とが図9に示される。図9(b)に示されるように1つのスイッチSWはnチャンネルMOSトランジスタ(以下、nMOSと称する)Qn1と、pチャネルMOSトランジスタ(以下、PMOSと称する)Qp1とが並列に接続されて構成される。他の1つのスイッチSWはnMOS Qn2と、PMOS Qp2とが並列に接続されて構成される。nMOS Qn1,Qn2のゲートには制御信号TGCi, TGCjをpMOS Qp1,Qp2のゲートにはその逆相の制御信号TGCiB, TGCjBが入力される。
図9の(c)には、スイッチSWのNMOS部のレイアウト例が示される。M2は第2配線層、M1は第1配線層、FGはゲート電極層、Lは拡散層、 CONT1は第1配線層M1と拡散層Lとのコンタクト、 CONT2は第1配線層M1と第2配線層M2とのコンタクトである。図9の(c)に示されるように、最下層が拡散層Lで、ゲート電極層FG、第1配線層M1、第2配線層M2の順で配置される。本実施例では2つのスイッチSWを構成するMOS同士の拡散層LをI/O線LIOi'のところで共通化できるので狭いI/O線のピッチに収めることができる。なお、ここでは並列に接続するスイッチSWの数を2つとしたが、I/O線のピッチが広い場合には3つ以上のスイッチSWを並列に接続してさらに段数の削減を行ってもよいのはもちろんである。
[メモリ読出し書込み回路制御信号による低消費電力化]
図4、図6、図8に示される実施例では、転送回路TGのバッファ回路TGBUFiをイネーブル信号でコントロールすることにより無駄な消費電力が削減されるとともに論理回路LCのゲート電位がフローティング状態になることが防止される。
図10には、さらにメモりコアMRの読出し書込み回路RWCを転送パターンに応じて制御することにより、使用しないメモりコアMRのI/O線MIOiを駆動することによる読み出し時の無駄な消費電力を削減し、さらに書き込み時に使用しないI/O線MIOiからメモリコアMRに誤ったデータが書き込まれるのを防止する例が示される。
図3の転送パターンのうちP2からP7は、メモリコアMRのI/O線MIOiの一部しか使用しない。そこで、図10では、メモリコアMRの書き込み読み出し回路RWCを制御する信号を設け、その制御信号によって使用しないメモリコアMRのI/O線MIOiを受け持つ読出し書込み回路RWCiを停止する。図10においてRWC0, RWC1, RWC2, RWC3は、各々メモりコアMRのI/O線MIO0, MIO1, MIO2, MIO3用の読出し書込み回路RWCiであり、全体としてメモリコアMRの読出し書込み回路RWCを構成する。また、MIOE0, MIOE1, MIOE2, MIOE3は、各々読出し書込み回路RWC0, RWC1, RWC3を制御するイネーブル信号である。
各々の転送パターンにおいて読出し書込み回路RWCiを制御するイネーブル信号MIOE0, MIOE1, MIOE2, MIOE3と論理回路LCのバッファ回路TGBUFiのイネーブル信号LIOEiの設定法が図11に示される。ここで、イネーブル信号の”1”は高電位で活性状態を示し、”0”は低電位で停止状態を示す。なお、イネーブル信号MIOE0, MIOE1, MIOE2, MIOE3をメモリコアMRに隣接した論理回路LCから発生する場合、図11に示されるように転送回路TGを貫通して配線するとレイアウトを高密度にできる。
本実施例によれば、転送パターンに応じてメモりコアMRの読出し書込み回路RWCを制御することにより、使用しないI/O線MIOiを駆動することによる読み出し時の無駄な消費電力を削減し、さらに書き込み時に使用しないI/O線MIOiからメモリコアMRに誤ったデータが書き込まれるのを防止することができる。
[メモリ読出し書込み回路とバッファ制御信号の共用化]
図10に示される実施例では、読出し書込み回路RWCを制御するイネーブル信号MIOEiと論理回路LCのバッファ回路TGBUFiのイネーブル信号LIOEiを独立にした。すなわち、信号MIOEiとLIOEiとは、図11に示されるように転送パターンに合わせてそれぞれ異なる設定にされる必要がある。しかし、I/O線の数と転送パターンの数が増えるとイネーブル信号MIOEiとLIOEiとを独立に設定するのは繁雑である。
図14には、論理回路LCのバッファ回路TGBUFiのイネーブル信号LIOEi用の転送回路CTGを設けて読出し書込み回路RWCのイネーブル信号MIOEiをイネーブル信号LIOEiより自動的に発生するようにした例が示される。図12には、図3のデータの転送パターンが再掲され。図13には、図12のデータ転送パターンに対応するバッファ回路TGBUFiの制御信号LIOEiの転送パターンでが示される。
この転送パターンに従ってバッファ回路TGBUFiの制御信号LIOEiをメモリコアMR側に転送してやれば、その信号をそのままメモリコアMRの読出し書込み回路RWCのイネーブル信号MIOEiとして使用することができる。
ここでデータが使用しないI/O線MIOi及びI/O線LIOiを受け持つ制御信号もメモリコアMRの読出し書込み回路RWCを停止するために転送する必要があることに注意しなければならない。すなわち、転送パターンP1からP7のようにデータは一部のI/O線MIOi及びI/O線LIOiしか使用しない場合にも、図13に示されるように制御信号LIOEiは全て転送される。
図14のバッファ回路TGBUFiの制御信号LIOEiの転送回路CTGは、データの転送回路TGと同じようにスイッチ群SWGEiからなる。この転送回路CTGによれば転送パターンに応じて図15に示されるように、制御信号ECiを設定することにより図13に示される転送パターンが実現できる。
ここで、図13に示される転送パターンを見るとP0, P2, P5の形が同じであることがわかる。そこで制御信号EC0, EC2, EC5に関するスイッチ群SWGE0は一つにまとめて制御信号EC0, EC2, EC5のOR論理をとって入力される。これによりスイッチ群SWGEの段数を削減して高集積化を図ることができる。動作原理はこれまで説明してきたデータの転送回路TGと同じなので省略する。
本実施例によれば、図4のようなデータの転送回路TGに加えてバッファ回路TGBUFiの制御信号LIOEiの転送回路CTGを設けることにより、読出し書込み回路RWCのイネーブル信号MIOEiとバッファ回路TGBUFiのイネーブル信号LIOEiをそれぞれ独立に設定する必要がない。このため、I/O線の数や転送パターンの数が増えてもイネーブル信号の設定が繁雑になるのを避けることができる。
[データの転送単位を細かく設定可能なイネーブル信号]
これまでの実施例では、データの転送時にまとまって転送されるI/O線(図3では2の(n-2)乗)に対して読出し書込み回路RWCのイネーブル信号MIOEiとバッファのイネーブル信号LIOEiを設けていた。しかし、イネーブル信号の設定を細かくすることによりさらに多彩な転送パターンを実現することができる。
図16及び図17には、データの転送単位より細かく設定可能なイネーブル信号の例が示される。この実施例では、図3の転送パターンについてまとまって転送されるI/O線の単位を4Byteとし、イネーブル信号は、1Byte単位で設定される。これにより、図16に示されるように4ByteずつのメモリコアMRのI/O線MIOiと論理回路LCのI/O線LIOiとの間に図3に示される8種類の転送パターンが実現できる。イネーブル信号LIOEi-j及びイネーブル信号MIOEi-jは4ByteのI/O線群LIOi及びMIOiに対して4本別々に設けられている。すなわち、jは0から3である。例えば、I/O線LIO0についてはLIOE0-0, LIOE0-1, LIOE0-2, LIOE0-3の4本のイネーブル信号がある。LIOE0-0はLIO0の1Byte目、 LIOE0-1はLIO0の2Byte目、 LIOE0-2はLIO0の3Byte目、 LIOE0-3はLIO0の4Byte目のイネーブル信号である。
図17には、図16の構成の転送回路TGで可能となる転送パターンの例とそのためのイネーブル信号の設定法が示される。イネーブル信号MIOEi-jはイネーブル信号LIOEi-jを転送することにより作ってもよいし、イネーブル信号LIOEi-jとは独立に設定してもよい。図17の(A)は、転送回路TGで決まる基本転送パターンをP0とした状態でイネーブル信号LIOEi-j及びイネーブル信号MIOEi-jを全て”1”とした場合である。これは、これまでのパターンと同じである。すなわち、I/O線LIOi及びMIOiの全てが結合される。これに対して、図17の(B)のように基本転送パターンをP0としてイネーブル信号LIOEi-j及びイネーブル信号MIOEi-jを2Byteづつ”0”と”1”とすると別の転送パターンを作ることができる。すなわち、各I/O線LIOi及びMIOiはそれぞれ2Byteのみが結合される。また、図17の(C)は基本転送パターンP3で、図17の(D)は、P3においてイネーブル信号LIOEi-j及びイネーブル信号MIOEi-jの設定を変えたものである。すなわち、I/O線LIO0とMIO2、 LIO1とMIO3はそれぞれ2Byteのみが結合される。
ここでは、二つの基本転送パターンについてそれぞれ一例のみ示したが、これ以外にもイネーブル信号を変えることによって基本転送パターンとは異なるさまざまな転送パターンができる。画像用途などでバイト(Byte)ごとにデータの属性が異なるような場合には、特定のバイトだけを転送する必要が有り得るが、そのような場合、本実施例が有用である。
図18には、本発明を3次元コンピュータグラフィックス(以下3D-CGと記す)の描画処理を行うLSIでのデータ転送に応用した例が示される。
転送回路TGは、図18の(a)においてボックス形状をもって表示されている。転送回路TGは、前述の例と同様に、メモリコアMRと論理回路LCとの間に設けられる。転送回路TGの基本転送パターンは、基本的には図3と同様であるので、以下の説明では図3の転送パターン符号Piを流用する。ここで、RGB-A, RGB-Bは、画素AおよびBの色を示すデータであり、Z-A, Z-Bは画素AおよびBの奥行き座標を示すデータで有り、特に制限されないが、各々16bit長である。
図18には、Z比較、アルファブレンド及び画面クリアの各転送パターンが合わせ示されている。
3D-CGでは、Z比較という特別な処理がよく行われる。これは、よく知られているように新しくメモリへ画素の書き込みを行う場合、同じ位置の画素とZ値を比較して小さければ書き込み、大きければ書き込まないという処理である。このような処理を画素Aについて行う場合、図18(b)に示されるように、まず、転送パターンをP5として、メモリコアMRに既に記憶されているZ値Z-Aoldを読み出す。続いて、論理回路LCで新しい画素のZ値Zinと比較してZinが小さければ、新しい画素のRGBとZ値の書き込みを行う。ここで、転送パターンをP2に切り替えれば、RGBとZ値を並列に書き込むことができる。画素Bの場合には転送パターンP7とP3を用いればよい。すなわち、この場合、転送パターンP7、P3の使用によって画素Bに対するZ値及びRGBデータに対し、画素Aのときの論理回路LC側のI/O線LIOiと同じI/O線が使用される。なお、RGB値が3ByteでZ値が2Byteなどとビット数が異なる場合には、転送回路TGの基本転送パターンを3Byte単位として、Z値を扱う場合には図16に示されるようなバイトごとのイネーブル信号を設けてマスクをかければよい。
3D-CGでは、さらにアルファブレンド処理という透明感を表わす処理がある。これを行うには図18の(c)に示されるようにすればよい。アルファブブレンド処理は、よく知られているように新しくメモリへ画素の書き込みを行う場合、同じ位置の画素を読み出し、その読み出した画素データと新しい画素とを所望の係数αで重み付けして加算し、求められた画素データをメモリコアの同じ位置に書き込むいう処理である。このような処理を画素Aについて行う場合、図18(c)に示されるように、まず、転送パターンをP4として、メモリコアMRに既に記憶されているRGB-Aoldを読み出す。続いて、論理回路LCで新しい画素のRGBinと係数αで重み付けして加算し、書き込みを行う。転送パターンは、P4のままでよ
い。画素Bの場合には、画素Aに対するI/O線と同じI/O線を介して論理回路LCとのデータの授受を行うことから転送パターンP6を用いればよい。この場合もしも論理回路LCに重み付け加算を行う演算回路が一つしかない場合には、バイトごとのイネーブル信号を設けることによってRとGとBの1Byteづつアルファブレンド処理を行うことができる。
さらに画面クリアという処理も高速にできる。この処理では、メモリコアMR内のデータの初期化を行う。通常RGBについては、最小値か最大値、Z値については、奥行の最大になる最大値の書き込みを行う。図18(d)に示される実施例では、2つの画素分のI/O線があるので、転送パターンP1を利用すれば、2画素同時に書き込みが行えるため、高速にクリア処理ができる。さらに、図18には示していないが、転送パターンP0とイネーブル信号を使えば2画素のRGBを同時に読み出すこともできるので高速の画面表示も行うことができる。以上述べたように、本発明の転送回路TGを用いれば高速の3D-CG描画処理を行うことができる。
[I/O線の割り付けをバイト毎にする例]
これまでは、説明を簡単にするため、転送の単位毎にI/O線MIOiやLIOiを割り振って図示してきた。実際のレイアウトでこのようにすると、特に転送の単位が大きい場合には多くのI/O線を横切ってデータが伝わるため、配線遅延や雑音の誘起など悪い影響が出る場合がある。
図19には、I/O線の割り付けをバイト毎に変更した例が示される。図19の(a)には、転送の単位が4Byteのときに1Byteづつ入れ子にする方法が示される。図19(b)には、図3の転送パターンと等価な転送パターンが示される。このようにするとデータの移動が少なくてすむ。たとえば、転送パターンP3では、図3に示されるようにすると8Byte分のI/O線を横切る必要があるが、図19の(b)に示されるように本実施例では2Byteで済む。ここではバイト毎に入れ替えたが、ビット毎に入れ替えてもよい。その場合にはさらに移動が少なくて済む。もちろん、本実施例のようにする場合は論理回路LCの受け口もそれに合わせて設計する必要があるが、配線遅延や雑音の誘起など悪い影響を避け、さらに配線の増加による面積の増大も低減することができる。
[スイッチ群SWGの具体的なレイアウトパターンの例]
以下では、図20から図26を用いて、実施例のスイッチ群SWGの具体的な構成を説明する。なお、図21から図26においてメモリコアMRと論理回路LCのI/O線がそれぞれ4本ずつある例を示すが、本発明は、これに限定されることなく、それ以外の本数の場合にもメモリコアMRと論理回路LCのI/O線の数が異なる場合にも適用できることはこれまで述べた実施例と同様である。実際上は、例えば128本のような多数のI/O線が設けられる。
図20は、半導体チツプの断面図であり、レイアウト層の関係を示している。特に制限されないが図示の構造は、いわゆる3層の金属配線をもつCMOS構造をとるようにされる。3層金属配線構成のCMOS構造それ自体については本発明と直接関係がないのでその詳細な説明はしないが、その概略を説明すると以下のようになる。
すなわち、単結晶シリコンからなるような半導体基板200の中にp型ウエルPWELとn型ウエル(NWEL層)とが形成され、かかる半導体基板200の表面に選択酸化技術によって半導体基板200の表面の活性領域とされるべき表面を除く表面にフィールド絶縁膜202が形成され、活性領域表面へのゲート絶縁膜204の形成とその上へのポリシリコンやポリサイドからなるようなゲート電極層FGの選択的形成と、フィールド絶縁膜202とゲート電極層FGとをイオン注入のマスクとするような不純物選択注入によるn型ドレイン・ソース領域206、p型ドレイン・ソース領域208の形成によってp型ウエルPWEL内にnMOSが、n型ウエルNWEL内にpMOSが形成されている。なお、図20の断面図は、転送回路TG及び論理回路LC等のいわゆるロジック部のものである。図示されないが、メモリコアMR部はP型ウェルPWEL及びn型ウェルNWELの下部に第2のn型ウェルが形成され、メモリコアMRとロジック部とが分離されるように構成される。
半導体基板200の表面には、シリコン酸化物を主体とするような絶縁体からなる層間絶縁膜の形成と、選択エッチング技術による層間絶縁膜等へのコンタクトホールの形成とアルミニウムAlからなるような配線層の形成とのくり返しにより複数の配線層M1、M2、M3が形成される。
なお、図20には、図面の複雑化を避けて理解を容易にするために、異なる階層をなす配線層間に存在すべき層間絶縁膜は図示されていない。
図20において、M1からM3は、アルミニウム等の金属からなるような配線層で、第3配線層M3が一番上部にあり、その下に第2配線層M2が、さらに下に第1配線層 M1がある。また、FGは、MOSトランジスタのゲート電極層である。CONT1, CONT2, CONT3は、これらの配線層M1、M2、M3やゲート電極層FGあるいは、トランジスタの拡散層206、208、ウエルPWEL、NWELなどを電気的に接続するためのコンタクト層である。コンタクト層CONT1は、第1配線層M1をトランジスタの拡散層206、208やゲート電極層FGあるいはウエルPWEL、NWELと接続するためのものである。コンタクト層CONT2は、第1配線層M1と第2配線層M2を接続する層である。コンタクト層CONT3は、第2配線層M2と第3配線層M3を接続する層である。上述のコンタクト層は、図面では配線層M1、M2、M3と異なる層からなるように表示されているけれども、前述から明らかなように、層間絶縁膜に形成されたコンタクトホールに形成された配線層からなる。
図4の実施例でも説明したように、スイッチ群SWGにおいて、転送パターンによらない共通部分をレイアウトライブラリとして用意しておけば、チップのレイアウト設計が容易となる。図21は、その共通部分のレイアウトの実施例を示したものである。なお、図21の構成についての理解を容易にするために、図22にM1層までのレイアウトを、図23にM1からM3までのレイアウトを示した。また図24にレイアウトに対応する等価回路を示した。
図24に示されるように本実施例ではスイッチSWは、nMOSとpMOSのトランスファゲートから成る2つのスイッチを接続した4つのトランジスタ群からなり、各々が、論理回路LCのI/O線(LIO0'からLIO3')である第3配線層M3に接続される。制御信号TGCiやTGCiB用の第2配線層M2やメモリコアMRのI/O線MIOi用の第3配線層M3は、転送パターンにより接続する場所が異なるので未配線のまま残してある。なお、ウェルPWEL、NWELや未使用のスイッチSWを構成するトランジスタのゲート電極を固定するための電源線Vcc、Vssには、第2配線層が使用される。
本実施例では、制御信号TGCiおよびTGCiBを構成する第2配線層M2はI/O線LIOi、MIOiと直交されてレイアウトされる。これにより次のような利点が生ずる。すなわちスイッチ群SWGのメモリコアMRのI/O線MIOi用の第3配線層M3は、メモリコアMRのI/O線MIOiへの接続が容易となるように、メモリコアMRのI/O線MIOiの配線ピッチに合わせてレイアウトされるのが望ましい。一方、制御信号の本数は、転送パターンによっては、上記実施例で示した3本ずつより増加させる必要が生ずる。本実施例のように制御信号TGCiおよびTGCiBをI/O線LIOi、MIOiと直交させてレイアウト構成をとる場合、I/O線LIOi、MIOiのピッチが制御信号線のピッチと無関係となるので、制御信号の本数を変えてもスイッチ群SWGのメモリコアMRのI/O線MIOi用の第3配線層M3のピッチを変更する必要がない、という利点を生ずる。
次に、このような共通部分をもちいて転送回路TGのスイッチ群SWGを構成する方法を説明する。図25は、図21の構成を用いて図8のスイッチ群SWGを構成する方法を示したものである。図においては、SWG0の部分のみ示してあるが、他も同様にして構成できる。わかりやすいように、図26に図21の共通部分に対して追加した層のレイアウト図を示した。図においては、制御信号TGCi、TGCiBをスイッチSWを構成するトランジスタのゲート電極に伝達するためのコンタクト層CONT2と、メモリコアMRのI/O線MIOiをスイッチSWを構成するトランジスタのソース電極またはドレイン電極に伝達するための第2配線層M2およびコンタクト層CONT2, CONT3とが追加されている。このように、図21の実施例に、実現したい転送パターンに合わせて多少のレイアウト層を追加して並べていくだけで様々な転送回路TGが構成できる。このように、共通部分をレイアウトライブラリとして用意しておけば、転送回路TGのレイアウト設計を非常に容易にできる。
なお、これまではメモリコアMRのI/O線MIOiのピッチ内に並列に接続された2つのスイッチSWを配置した例を示してきたが、I/O線MIOiのピッチが広い場合にはさらに多くのスイッチSWをI/O線MIOiのピッチ内に配置してスイッチ群SWGの段数の削減を行うことができる。図27は、I/O線MIOiのピッチ内に4つのスイッチを配置することにより図8のスイッチ群SWG0とSWG1を一段で実現した例である。このように多くのスイッチSWをI/O線MIOiのピッチ内に配置するとスイッチ群SWGの段数の削減を行うことができるためI/O線MIOiのピッチが広い場合には、よりチップサイズを低減することができる。なお、I/O線MIOiのピッチ内に多くのスイッチSWを配置する場合でもレイアウトの共通部分をライブラリに登録しておけば、転送回路TGのレイアウト設計を非常に容易にできることはもちろんである。
[転送回路TGの配置を変更した例]
これまでは、図2から明らかなようにメモリコアMRの読出し書込み回路RWC と論理回路LCの間に転送回路TGを配置する構成をとってきたが、本発明はこれに限らず、メモリコアMRの読出し書込み回路RWC の前段に転送回路TGを配置する場合にも適用できる。
図28(A)は、転送回路TGをメモリコアMRの読出し書込み回路RWC の後段に配置した場合で図28(B)は前段に配置した場合を示したものである。
図28(A)のような構成は、転送回路TGの構成が複雑で、転送回路TG内の配線容量が大きい場合に好適な構成として考えることができる。すなわち、このように転送回路TG内での配線容量が大きい場合は、メモリコアMRから読み出した生の信号によって、転送回路TGを直接駆動しようとすると遅延時間の増大を招くが、図28(A)の構成では、読出し書込み単位回路URWで信号を増幅し、その増幅信号により転送回路TGを駆動するので信号遅延の増大を抑制できることとなる。
これに対して、図28(B)のような構成は、転送回路TGの構成が単純で、転送回路TG内の配線容量が小さい場合や、論理回路LCのI/O線LIOiの本数が、メモリコアMRのI/O線MIOiの本数より少ないような場合に好適な構成として考えることができる。すなわち(B)の構成では、配線容量が小さいことにより動作速度の低下を心配しなくてよく、また論理回路LCのI/O線LIOiの少ない数に対応して、読出し書込み単位回路URWの数を減少させることができるからである。
これまで説明してきた転送回路TGは、スイッチ群制御信号TGCiやバッファ群の制御信号LIOEiによりその動作やデータの転送パターンが制御されている。一方、メモリコアMRにも読み出し、書き込みを制御する制御信号MRCが入力される。転送回路TGに制御信号TGCiが入力されてから、転送パターンや動作が確定するまでの時間とメモリコアMRに、制御信号MRCが入力されてからデータを読み書きできるまでの時間とは一般に一致しない。したがって、図2の制御回路LCCは、その差を考慮して両者に制御信号TGCi及び制御信号MRCを発生する必要がある。個々のチップを設計する度に、設計者がこのことを考慮して制御回路LCCを設計してもよいが、それが煩わしい場合もある。この場合には、転送回路TGやメモリコアMRのモジュールとして両者の同期を取るレイテンシ調整回路をデータベースに用意しておけばチップを設計する際にそれを付加するだけでよいので便利である。たとえば、同時に転送回路TGとメモリコアMRに、制御信号TGCi及び制御信号MRCが入力され、転送回路TGの転送パターンが確定してから、メモリコアMRにデータを読み書きできるまでの時間(レイテンシ(Latency))を2クロックとすれば、転送回路TGのモジュールとして制御信号TGCiを2クロック遅延する調整回路を用意しておけばよい。このようにすれば、制御回路LCCからは転送回路TGとメモリコアMRの制御信号を同時に発生しても転送回路TGの制御信号が2クロック遅延するので両者の同期を取ることができる。以下の実施例で述べるようにメモリコアMR の一実施例であるメモリマクロMMACROのレイテンシは読み出しと書き込みで異なる場合もあるがその場合は上記の調整回路の遅延を読み出し書き込み切り換え信号で切り換えればよい。一般に、クロックに合わせて遅延を生成する回路は自体は容易に構成できるので回路構成の詳細な説明は省略する。
これまでは、転送回路TGを中心に本発明の実施例を説明してきたが、次にメモリコアMRについての実施例を詳しく述べる。図1ではデータベース用記憶装置DBに記憶させるメモリコアMRは、多くのI/O線をもちかつ記憶容量の異なる複数のものを仮定していた。しかし、以下で述べるようにメモリコアMRをモジュール化することにより、メモリ、論理混載チップの設計をさらに柔軟にすることができる。以下では、そのための実施の形態を説明する。以下の説明では、メモリコアMRの一実施例であるメモリマクロMMACROを項目ごとに分けて順次に説明する。[メモリマクロ]《1.メモリマクロの構成及びメモリマクロの応用例》 図29にはメモリマクロMMACROの構成とメモリマクロMMACROの画像処理LSIへの適用例が示される。図29に示される半導体集積回路SICは、論理回路ブロックLOGICとメモリマクロMMACROとを1個の単結晶シリコンの半導体基板上に形成される。かかる半導体集積回路SICは、特に制限されないが、樹脂封止(プラスチックパッケージに封止)される。図29に示されるモジュールや回路の配置及び配線は半導体チップ上の配置(レイアウト)と概ね対応している。なお、論理回路ブロックLOGICは、図1のLSI-A又はLSI-Bの論理回路LC、転送回路TG及び制御回路CCに対応する。《1.1 メモリマクロの構成》 メモリマクロMMACROの特長は、それぞれ機能の異なる複数の種類のモジュールの組み合わせで構成されていることである。メモリマクロMMACROは、図29の横方向に並べて配置された複数のバンクモジュールBANK(BANK-0〜BANK-n)と、複数のバンクモジュールに対して共通にされたアンプモジュールAMPと、同様に共通にされた電源モジュールPSの3種類のモジュールから構成される。
バンクモジュールBANKは、図面の縦方向に並べて配置された複数のサブメモリセルアレイSUBARY (SUBARY-00〜SUBARY-i7)と、複数のサブメモリセルアレイに対して共通にされたバンク制御回路BNKCNT-1と、バンク制御回路BNKCNT-2とからなる。
サブメモリセルアレイSUBARYは、特に制限されないが、メモリセルとして情報記憶用容量とアドレス選択用MOSトランジスタとからなるいわゆるダイナミック型メモリセルを使用するいわゆるダイナミックメモリとされる。サブメモリセルアレイSUBARYは、複数対のビット線B、/Bと、複数本のワード線W(図29では図面の複雑化を避け理解を容易にするため1本のみが示されている。)と、複数のメモリセル(図29では丸印により表示)と、メモリセルのデータ読み出し前にビット線の電位を予め所定のレベルにするビット線プリチャージ回路PCと、メモリセルからの信号を増幅するセンスアンプSAと、複数対のビット線B、/Bのうちの1対を選択するY選択回路(YスイッチY-SW)と、選択されたビット線B、/BをアンプモジュールAMPと接続するグローバルビット線GBL、/GBLとからなる。特に制限されないが、サブメモリセルアレイSUBARYは、バンクモジュールBANK内のI/O線の分割単位と一対一対応の構成とされる。なお、複数対のビット線B、/Bと、複数本のワード線Wと、複数のメモリセルとからなるものを通常はメモリセルアレイと称することもあり、本願においては必要に応じて使い分ける。
バンク制御回路BNKCNT-1は、ワード線Wを選択するXデコーダ(ローデコーダ)XDとビット線対B、/Bを選択するYデコーダ(カラムデコーダ)YDなどを含む。バンク制御回路BNKCNT-1は、後述のバンクアドレスや制御信号を受けてビット線プリチャージ、ワード線選択、センスアンプ起動等の一連のメモリセルの読み出し動作に必要な信号を自動的に発生する。XデコーダXDにより1本のワード線Wが選択され、それと交差する(n×8×i)対(図29では図面の大きさの関係で、n=2の場合が示されているが、本実施の形態ではn=8とする。)のビット線B、/Bのうち(8×i)対がさらにYデコーダYDの出力信号であるカラムアドレスセレクト信号YSiにより選択される。選択されたビット線対B、/Bは、かかるビット線B、/Bと平行に配置されるグローバルビット線GBL、/GBLを通じてアンプモジュールAMPとデータの授受が行なわれるようにされる。
バンク制御回路BNKCNT-2は、センスアンプ制御信号があるレベルに到達したことを検出するセンサ群を含む。
アンプモジュールAMPは、制御信号やアドレス信号等をクロック信号と同期してバンクモジュールBANKに供給する主制御回路MAINCNTと、上記バンクモジュール群(BANK-0BANK0n) へのデータの読み書きを制御するバイト制御回路BYTCNTとで構成される。メモリマクロMMACRO外からの(8×i)本データ入出力線DQ(DQ00, .., DQ07, .., DQi7, .., DQi7)はここを通じてメモリセルに入力される。ここで、バイト制御信号BEiは、データ入出力線DQをバイト単位で開閉する信号である。なお、データ入出力線DQは、図1のデータ伝送線(I/O線)及び図2のI/O線MIOi対応する。
電源モジュールPSは、バンクモジュールBANKに供給されるワード線駆動回路WDに必要なワード線電圧VCH(>電源電圧VCC)を発生するVCH発生回路VCHG、ビット線プリチャージに必要な電圧HVC(電源電圧VCC/2)を発生するビット線プリチャージ電圧発生回路HVCG、アレイ内基板電圧(バックバイアス電圧)VBB(<電源電圧VSS(グランド電位))を発生するアレイ内基板電圧発生回路VBBG等の各種電圧を発生するモジュールである。なお、低消費電流化や素子の信頼性向上のために動作電圧を外部電圧より低くしたい場合には、電源モジュールPSに降圧回路を組み込めばよい。
バンクモジュールBANKに必要な制御信号及びアドレス信号は、各バンクモジュールBANKの相互に対し共通になるようにされ、それらの信号は、バンクモジュールBANKの下辺にビット線方向に一種のバスとして延長される。従って、これらの制御信号及びアドレス信号はバンクモジュールBANKに含めることもできる。すなわち、各バンクモジュールBANKは、制御信号及びアドレス信号を含めて設計上の区別としての同一のセル構造にすることができる。
但し、ロー(row)系バンクアドレスRiとカラム(column)系バンクアドレスCiは、それぞれのバンクモジュールBANKに固有な信号であるため、バンクモジュールBANKの数だけ必要である。従って、ロー系バンクアドレスRiとカラム系バンクアドレスCiの配線を含めて各バンクモジュールBANKを同一のセルにするためには、簡単な方法としてはロー系バンクアドレスRiとカラム系バンクアドレスCiの配線を図29のメモリマクロMMACROの下辺或いは上辺から入力する構成とすればよい。
一方、 論理回路ブロックLOGICとのインタフェースを容易にするためには、メモリマクロMMACROへの制御信号、アドレス信号、データ入出力線DQの全ての信号線を、セルの1辺(図29では左辺)に集中するのがよい。従って、図29のメモリマクロMMACROの左辺からロー系バンクアドレスRiとカラム系バンクアドレスCiの配線を入力するには、図44の(a)に示されるように配線をレイアウトすればよい。なお、配線も含めて同一セルにする必要が無い場合は、図44の(b)に示されるように配線をレイアウトすればよい。
また、バンクモジュールBANKとアンプモジュールAMPと電源モジュールPSの各モジュールのセルの高さ、すなわち図示の縦方向の幅は同一とされ、グローバルビット線GBL、/GBL、電源線Vcc、Vss等が同一ピッチで配置される。
これによって、バンクモジュールBANKをシステムで必要な記憶容量に合わせてビット線方向に必要な数だけ並べて、さらに上記のアンプモジュールAMP、電源モジュールPSの各モジュールをその左右に配置するだけで、所望のメモリマクロモジュールが完成できる。
本発明の実施の形態のバンクモジュールBANKは、特に制限されないが、256本のワード線(Xアドレスが8本)を持つようにされ、1ワード線に(8×8×i)対のビット線が交差され、Yデコーダで1/8(Yアドレスが3本)に選択され、(8×i)対のグローバルビット線にデータが入出力する構成とされる。iは、例えば16とされ、これに応じて1個のバンクモジュールBANKは、256K(K=1024)ビットの容量で128ビット幅でデータが入出力する構成とされる。すなわち、256Kビット単位の大きさで容量が可変なメモリマクロモジュールが得られる。
これに応じて、例えば、4個のバンクモジュールによって1M(M=1048576)ビットのメモリマクロが構成され、また8個のバンクモジュールで2Mビットのメモリマクロが構成される。つまり、従来の汎用ダイナミックRAM(DRAM)の256Kビット、1Mビット、4Mビット、16Mビット等のように4倍ずつ容量が増加するのではなく、アプリケーションに必要だけの容量のメモリマクロが構成される。
《1.2 メモリマクロの動作モード》 メモリマクロMMACROの外部信号と動作モードの関係が図30に示される。メモリマクロMMACROは、クロック信号CLKに同期してデータの入出力、アドレスの入力及び制御信号の入力が行われる。ここでAiはアドレス信号であり、XデコーダXDに入力されるXアドレスAXijとYデコーダYD入力されるYアドレスAYiを含む。従ってメモリマクロMMACROは、従来の汎用DRAMのようなアドレス信号がX系(ロウ系)とY系(カラム系)とでマルチプレクスされるいわゆるアドレスマルチプレクス方式をとるのではなくアドレスノンマルチプレクス方式をとる。
バンクモジュルBANKを選択するロー系バンクアドレスRiとカラム系バンクアドレスCiは、バンクモジュール数が可変とされることに応じて、各々のバンクモジュールBANKに固有の信号とされる。同一バンクモジュールBANK内におけるロー系、カラム系のコマンド信号の区別は、それぞれロー系バンクアドレスRiとカラム系バンクアドレスCiで行なわれる。制御信号としては、CR、CC、RW、ACの4つがある。DQijは入出力用のI/O信号である。バイト制御信号BEiは、データ入出力線をバイトごとに独立に制御する信号で、これにより並列に読み書きするデータの量を1バイトから最大iバイトまでの範囲でバイト単位で増減できる。
バンクモジュールBANKの活性(Bank Active)、閉鎖(Bank Close)は、クロック信号CLKの立ち上がりエッジでCR、ACとアドレス信号Aiを取り込むことにより行なわれるう。バンクモジュールBANKは、CR=”H” (High level)、AC=”H”で活性、CR=”H”、AC=”L”(Low level) で閉鎖となる。このとき、取り込むアドレス信号Aiはロー系のみとされ、かかるロー系バンクアドレスRiによってバンクモジュールBANKの選択、アドレス信号Aiでワード線Wの選択が行なわれる。図30のタイミングないしは状態S0は、バンクモジュールBANKの閉鎖状態を示している。状態S1はバンクモジュールBANKの活性状態を示している。また、状態S2は読み出し又は書き込み状態を示している。
なお、図30に示されるLA2は、バンクモジュールBANKの活性コマンド入力から読み出し又は書き込みコマンドが入力可能なクロック数を示す。LAは、活性化されている同一バンクモジュールBANKでXアドレスを変更してから読み出し又は書き込みコマンドが入力可能なクロック数を示す。LRは、読み出し又は書き込みコマンド入力からバンクモジュールBANKの閉鎖コマンド入力可能クロック数を示す。
図30の下部には、カラム系の制御信号と動作モードに関係するタイミングチャートが示されている。こちらはクロック信号CLKの立ち上がりエッジでCC、BEi、RWとカラム系アドレス信号(上記アドレス信号Aiの残りとカラム系バンクアドレスCi)を取り込み、読み出し/書き込みを制御する。本実施の形態において読み出しコマンドを受けてからデータが出力されるまでのクロック数すなわちレイテンシ(Read latency)は2、書き込みコマンドを受けてから書き込みデータを入力するまでのレイテンシ(Write latency)は1である。これより、カラム系の制御信号は連続した読み出し、連続した書き込み、或いは書き込みから読み出し移る際にはノーオペレーション状態(Nop状態)を経由せずノンウエイトで入力できるが、読み出しから書き込みに移る際には一度Nop状態にする必要がある。なお、レイテンシについては上記のものが最適である訳では無く、システムの構成に応じて適当に変更することができる。
これまでは、説明を簡単にするため同一バンクにのみ着目していた。同一バンクでは、バンク活性化後ある一定時間待って読み出し書き込み動作を行う必要がある。しかし、複数のバンクに着目すれば、バンクの活性化と読み出し書き込み動作を同時に行うことができる。たとえば、i番目のバンクに活性化コマンド(CR、AC、Ri)を投入し、同時に既に活性化されたj番目のバンクに読み出し書き込みコマンド(CC、Cj)を投入することにより、i番目のバンクの活性化とj番目のバンクからの読み出し書き込みを同時に行うことができる。これにより論理部のデータ待ち時間が少なくなりより高速にデータ処理を行うことが可能となる。また、全バンクを活性化しておき、その後任意のバンクに読み出し書き込みコマンドを投入することもできる。これにより異なる複数のバンクにまたがるデータを1サイクルごとに連続的に出力できるので、より複雑な演算を高速に行うことが可能になる。
上記のように同一メモリマクロMMACRO内の複数のバンクを用いた動作の一例として、図45に異なるバンクのデータを連続して読み出す場合のタイミングチャートが示される。ここでは、同一のメモリマクロMMACROに8つのバンクモジュールBANKがあるとして説明するがバンクモジュールBANKの数が8でない場合も同様である。また、ここでは読み出し動作について説明するが、書き込み動作、あるいは両者が混合した場合についてもこれまで説明してきた内容をもとに容易にタイミングチャートを構成できる。
図45においてまず、はじめの8つのサイクルで8つのバンク(#0から#7)が順番に活性化されるように、バンク活性コマンドが投入される。図45でActiveと表示された部分に対応する。すなわち、ロー系のバンクアドレスRiを切り換えながらコマンド(CR, AC)とワード線を選択するロー系アドレスAiとが投入される。
バンク#0の活性化からインターバルLA2以上が経過したサイクルCY0からバンク#0、#1、・・・、#7の順番に読み出されるように、読み出しコマンドが入力される。図45でActive+Readと表示された部分に対応する。すなわち、カラム系のバンクアドレスCiを切り換えながらコマンド(CC, RW, BEi)とデータ線を選択するカラム系アドレスAiが投入される。ここではLA2は7クロック以下と仮定したので、サイクルCY0では、バンク#7にバンク活性コマンドが投入されると同時にバンク#0に読み出しコマンドが入力可能とされる。
つづいて、サイクルCY0からレイテンシ(Read Latency)の2サイクルが経過したサイクルCY2から順番に異なるバンクのデータが1サイクル毎に出力される。ここでさらに、サイクルCY1に注目するとバンク#1に読み出しコマンドが投入されると同時に、バンク#0に再びバンク活性コマンドが投入されて、ロー系アドレスAiがa1からa2に切り換えられていることがわかる。このように、一つのバンクに読み出しコマンドが投入されている間に既に読み出しコマンドの投入が終了された別のバンクのロー系アドレスAiを切り換えることが可能である。
つづいて、バンク活性コマンド投入からインターバルLA以上が経過したサイクルCYxでバンク#0に読み出しコマンドが入力されるとサイクルCYx+2でバンク#0のロー系アドレスa2に対応するデータが出力される。以上のようなバンクの活性化と読み出し動作が同時に続けて行われることによってロー系とカラム系のアドレスやバイト制御信号が切り換えられながら複数のバンクのデータを1サイクル毎に読み出されることが可能である。このようにバンクの活性化と読み出し動作あるいは書き込み動作が同時に行われるのは、バンクアドレスをロー系とカラム系で多重に持っているためである。これにより、活性化するバンクアドレスがロー系のバンクアドレスRiで指定されるのと同時にアクセスするバンクアドレスがカラム系のバンクアドレスCiで指定されることが可能となる。
上記の動作からわかるように本実施例によれば、バンクが異なっていれば、異なるロー系アドレスのデータを間断なくアクセスすることが可能とされる。したがって、画素情報をメモリマクロMMACROに記憶するようにされると矩形や三角形などの画面領域に対する読み出し、書き込みや画面のクリア(一定値の書き込み)が高速に行うことが可能とされる。このため、画像の各種フィルタ処理、動きベクトルの探索、直線や曲線の描画、あるいはコンピュータグラフィックスにおける描画処理の高速化に非常に有効である。《1.3 センスアンプとビット線プリチャージ回路》 図31にバンクモジュールBANKの1対のビット線に対応する部分のセンスアンプSAとプリチャージ回路PCの回路例を示す。Q1、Q2、Q3、Q4、Q7、Q8、Q9及びQ10はNチャネルMOS(N-MOS)トランジスタである。Q5とQ6はPチャネルMOS (P-MOS)トランジスタである。本例では、メモリセルは、前述のように、1トランジスタ(Q1)、1キャパシタ(MC)からなるダイナミックメモリセルからなる。これに伴いビット線プリチャージ回路PCとCMOSクロスカップル型ダイナミックセンスアンプSAを使用している。ビット線プリチャージ回路PCは、ビット線プリチャージ信号FPCがハイレベルになるとN-MOSトランジスタQ2、Q3が導通状態になり、ビット線B、/Bを電圧HVCでプリチャージする。また、N-MOSトランジスタQ4も導通状態になり、ビット線B、/Bはイコライズされる。 CMOSクロスカップル型ダイナミックセンスアンプSAは、Pチャネルセンスアンプ共通駆動線CSPがハイレベルでNチャネルセンスアンプ共通駆動線CSNがローレベルの場合動作する。すなわち、P-MOSトランジスタQ5とN-MOSトランジスタQ7とによってインバータ回路が構成され、P-MOSトランジスタQ56とN-MOSトランジスタQ8とによってインバータ回路が構成される。N-MOSトランジスタQ9、Q10はカラムスイッチを構成し、カラムアドレスセレクト信号YsiがHにされると、ビット線B、/Bがサブメモリアレイの入出力線IO、IOBと接続される。読み出し/書き込み動作は、通常の汎用DRAMと同じである。《1.4 バンク制御回路》 図32には図29に示された実施の形態のバンク制御回路BNKCNT-1の動作波形が示される。バンク制御回路BNKCNT-1の特長は、ロー系バンクアドレスRiと制御信号CR, ACを受けてビット線プリチャージ、ワード線選択、センスアンプ起動等の一連のメモリセルの読み出し動作に必要な信号を自動的に発生することである。すなわち、イベント・ドリブン型で制御が行われている。以下に動作を説明する。
(1)バンクモジュールBANKの閉鎖の場合 まず、CR=”H”、AC=”L”、Ri=”H”のバンクモジュールBANKの閉鎖の場合を考える。CR=”H”、AC=”L”の状態でクロック信号CLKが立ち上がると主制御回路MAINCNT内でバンク閉鎖フラグDCS が立ち上がる。バンク閉鎖フラグDCSは各バンクモジュールBANKに入力される。このときロー系バンクアドレスRi=”H”としたバンクモジュールBANKの中でロー系バンク選択信号iRiが立ち上がる。ロー系バンク選択信号iRiとバンク閉鎖フラグDCSの論理積はセット/リセットフリップフロップRS-1のセット端子Sに入力されているのでロー系バンクアドレスRi=”H”となっているバンクモジュールBANKのセット/リセットフリップフロップRS-1の出力STiが”H”となる。
一方上記の論理積の結果はもう一つのセット/リセットフリップフロップRS-2のリセット端子に論理和回路を通して入力されているので、その出力WLPiは”L”となる。WLPiが”L”となることによってまずバンク制御回路BNKCNT-1内のXデコーダXDの出力とYデコーダYDのゲート信号YGが”L”となり、続いてワードドライバWD出力(ワード線W)が”L”となりメモリセルをビット線B、/Bから切り離す。
次にNチャネルセンスアンプ起動信号FSAが”L”、 Pチャネルセンスアンプ起動信号FSABが”H”となりセンスアンプSAは動作を停止する。ここで、ダミーワード線DWLはワード線Wと同じ遅延時間を持つ遅延素子で、これによりセンスアンプSAをワード線Wのレベルが十分に低くなってから停止させることができる。これはセンスアンプSAが停止することによりビット線B、/Bの信号レベルが低下し、メモリセルへの再書き込みレベルが低下するのを防ぐためである。
続いてバンクモジュールBANK上部のバンク制御回路BNKCNT-2に設けたレベルセンス回路がNチャネルセンスアンプ起動信号FSAの”L”を検出して出力REが”L”になる。この信号はバンクモジュールBANKの下部のバンク制御回路BNKCNT-1内のプリチャージ信号発生回路XPCに入力されその出力のビット線プリチャージ信号FPCが”H”になる。ビット線プリチャージ信号FPCはビット線B、/Bに設けられたプリチャージ回路PCに入力されビット線B、/Bはプリチャージ状態になる。ここまでの一連の状態をS0と名付ける。(2)状態S0からバンクモジュールBANKが活性に移る場合 次に、状態S0からCR=”H”、AC=”H”、Ri=”H”のバンクモジュールBANKの活性に移る場合を考える。CR=”H”、AC=”H”の状態でクロック信号CLKが立ち上がると主制御回路MAINCNT内でバンク活性化フラグDCA が立ち上がる。バンク活性化フラグDCAは各バンクモジュールBANKに入力される。このときロー系バンクアドレスRi=”H”としたバンクモジュールBANKの中でロー系バンク選択信号iRiが立ち上がる。ロー系バンク選択信号iRiとバンク活性化フラグDCAの論理積はセット/リセットフリップフロップRS-1のリセット端子Rに入力されているのでロー系バンクアドレスRi=”H”となっているバンクモジュールBANKのセット/リセットフリップフロップRS-1の出力STiが”L”となる。
ロー系バンク選択信号iRiとバンク活性化フラグDCAの論理積は同時にXアドレスラッチ回路XLTに入力され、その”H”の期間にXアドレスAXijを取込み”L”でラッチする。STiはプリチャージ信号発生回路XPCに入力され、その出力のビット線プリチャージ信号FPCを”L”にする。ビット線プリチャージ信号FPCは、ビット線B、/Bのプリチャージを解除しながらバンク制御回路BNKCNT-2内のレベルセンス回路に到達する。このレベルがある一定値以下になったらその出力PCSENは、”H”になる。この信号PCSENはバンク制御回路BNKCNT-1内のワンショットパルス発生回路ONESHOTによって数ナノ秒の幅の狭いパルスに変換された後、セット/リセットフリップフロップRS-2のS入力端子に入力される。その結果出力WLPiは”H”となる。WLPiが”H”となることによってまずXアドレスAXijで選択されたXデコーダXDの出力が”H”となり、続いてそれに接続されたワードドライバWD出力(ワード線W)が”H”となりメモリセルをビット線B、/Bと接続する。
次にNチャネルセンスアンプ起動信号FSAが”H”、 Pチャネルセンスアンプ起動信号FSABが”L”となりセンスアンプSAが動作を開始する。ダミーワード線DWLによりセンスアンプSAをワード線Wのレベルが十分に高くなりビット線B、/Bに信号が十分に出てから動作させることができる。これはセンスアンプSAが信号が小さい内に動作し誤動作するのを防ぐためである。続いてバンクモジュールBANK上部のバンク制御回路BNKCNT-2に設けたレベルセンス回路がNチャネルセンスアンプ起動信号FSAのN-MOSトランジスタ側の共通駆動線の”L”を検出して出力REが”H”になる。信号REはバンクモジュールBANKの下部バンク制御回路BNKCNT-1内の論理積回路でWLPiと論理積をとられその出力YGが”H”になる。このYGはYデコーダ回路YDを使用可能にする。ここまでの一連の状態をS1と名付ける。以上の動作の後、バンクモジュールBANKは読み出し及び書き込みが可能な状態となるが、この状態をS2と名付ける。
(3)状態S1からバンクモジュールBANKが活性に移る場合 次に、状態S1からCR=”H”、AC=”H”、Ri=”H”のバンクモジュールBANKの活性に移る場合を考える。CR=”H”、AC=”H”の状態でクロック信号CLKが立ち上がると主制御回路MAINCNT内でバンク活性化フラグDCA が立ち上がる。バンク活性化フラグDCAは各バンクモジュールBANKに入力される。このときロー系バンクアドレスRi=”H”としたバンクモジュールBANKの中でロー系バンク選択信号iRiが立ち上がる。ロー系バンク選択信号iRiとバンク活性化フラグDCAの論理積はセット/リセットフリップフロップRS-1のリセット端子Rに入力されるが前のサイクルでSTiが既に”L”となっているのでSTiは変化しない。ロー系バンク選択信号iRiとバンク活性化フラグDCAの論理積は同時にXアドレスラッチ回路XLTに入力され、その”H”の期間にXアドレスAXijを取込み”L”でラッチする。
また上記論理積回路出力は、論理和回路を介してRS-2のR端子に入力され、WLPiを”L”にする。WLPiが”L”になることによって、S0と同様な順番でワード線W、Nチャネルセンスアンプ起動信号FSAの電圧が”L”になりREが”L”になる。REが”L”になるとプリチャージ信号発生回路XPC内のワンショットパルス発生回路ONESHOTから幅十数ナノ秒程度のパルスが出る。このパルスはプリチャージ信号発生回路XPCのドライブ回路に入力され、その幅のままでビット線プリチャージ信号FPCにHが出力される。この信号は、ビット線B、/Bのプリチャージを行いながらバンク制御回路BNKCNT-2内のレベルセンス回路に到達する。このレベルがある一定値以下になったらその出力PCSENは、”H”になる。この信号はバンク制御回路BNKCNT-1内のワンショットパルス発生回路ONESHOTで幅の狭いパルスに変換された後、セット/リセットフリップフロップRS-2のS入力端子に入力される。その結果出力WLPiは”H”となる。WLPiが”H”となることによってまずXアドレスAXijで選択されたXデコーダXDの出力(ワード線W)が”H”となり、続いてそれに接続されたワードドライバWD出力が”H”となりメモリセルをビット線B、/Bと接続する。
次にNチャネルセンスアンプ起動信号FSAが”H”、 Pチャネルセンスアンプ起動信号FSABが”L”となりセンスアンプSAが動作を開始する。この後の動作は上記のS1と同じである。すなわち、バンクモジュールBANK上部のバンク制御回路BNKCNT-2に設けたレベルセンス回路がNチャネルセンスアンプ起動信号FSAのN-MOSトランジスタ側の共通駆動線の”L”を検出して出力REが”H”になる。信号REはバンクモジュールBANKの下部バンク制御回路BNKCNT-1内の論理積回路でWLPiと論理積をとられその出力YGが”H”になる。このYGはYデコーダ回路YDを使用可能にする。以上の動作の後、バンクモジュールBANKは読み出し及び書き込みが可能な状態S2となる。《1.5 バイト制御回路》 次にカラム系の動作について説明する。図33にはバイト制御回路BYTCNTの一例が示される。図29のアンプモジュールAMPの中にこのバイト制御回路BYTCNTがi個入る。
図33において、WA-0〜WA-7は書き込み回路、RA-0〜RA-7は読み出し回路(メインアンプ)である。バイト制御回路BYTCNT内には、このように8個の書き込み回路WAと読み出し回路RAが配置されている。ここで、DQ-i0から入力された書き込みデータは入力バッファとして機能するインバータI1、I2およびスイッチSW1を介してグローバルビット線GBL-i0 、/GBL-i0に伝達される。グローバルビット線GBL-i0 、/GBL-i0は、図29に示すように各バンクモジュールBANK内の分割された入出力線IO、IOBと接続されているのでそこへ伝達され、YスイッチY-SWを介してビット線B、/Bへさらにメモリセルへと伝達される。ここで、スイッチSW1は読み出し時にグローバルビット線GBL-i0 、/GBL-i0をハイ・インピーダンスの状態にするために付いている。すなわち、スイッチSW1は読み出し時にグローバルビット線GBL-i0 、/GBL-i0をインバータI1、I2から切り離す。これはライトイネーブル信号WAiにより制御される。
メモリセルから読み出されたデータは、各バンクモジュールBANK内の入出力線IO、IOBからグローバルビット線GBL-i0 、/GBL-i0 、スイッチSW2を通してMOSトランジスタQA4〜QA8からなるメインアンプへ伝達される。ここでメインアンプはドレイン入力型のダイナミックアンプでグローバルビット線GBL-i0 、/GBL-0iから信号を読み出す前にその入力ノードはVCCにプリチャージされている。信号が伝達されるとその2つの入力端子間に電圧差が現れ、メインアンプイネーブル信号MAiによりメインアンプを活性化し、その差を増幅する。ここでスイッチSW2はメインアンプの動作直前までグローバルビット線GBL-i 、/GBL-i とメインアンプを接続し、動作時には切り離す。これはメインアンプの増幅時に負荷容量を軽くし高速動作を可能とするためである。スイッチSW2はリードイネーブル信号MAGiにより制御される。メインアンプで増幅された信号は、次段のNANDゲートN1とN2から成るラッチ回路に入力され、さらにバッファアンプTI1を介して端子DQ-i0に出力される。
出力バッファイネーブル信号DOEiは出力バッファ回路TI1の出力のハイ・インピーダンス、ロー・インピーダンスを切り替える。書き込み時には出力バッファ回路TI1の出力はハイ・インピーダンスにされる。P-MOSトランジスタQA1〜QA3はグローバルビット線GBL-i 、/GBL-i のプリチャージ回路、 P-MOSトランジスタQA9〜QA10はメインアンプのプリチャージ回路を構成している。それぞれグローバルビット線プリチャージ制御信号IOEQiB、及びメインアンププリチャージ制御信号MAEQiBにより制御される。また、上記制御信号、すなわちグローバルビット線プリチャージ制御信号IOEQiB、リードイネーブル信号MAG1、メインアンプイネーブル信号MA1、ライトイネーブル信号WAi、メインアンププリチャージ制御信号MAEQiB及び出力バッファイネーブル信号DOEiはいずれも読み出し/書き込み制御回路ブロックRWCNT内で外部信号CC、BEi、RW、CLKにより作られる。ここで読み出し書き込み制御回路ブロックRWCNTはバイト制御回路BYTCNTごとに設けられている。
図34には上記カラム系信号のタイミングチャートが示される。クロック信号CLKの立ち上がりで、書き込みコマンド(CC=”H”, RW=”L”)及びバイト制御信号(BEi=”H”)が入力されると、ライト制御信号WAiはHとされスイッチSW1は導通状態にされる。また、このときグローバルビット線プリチャージ制御信号IOEQiBはHとされ、グローバルビット線GBL-I0、/GBL-i0はハイインピーダンス状態にされる。一方、リードイネーブル信号MAG1、メインアンプイネーブル信号MA1、メインアンププリチャージ制御信号MAEQiB及び出力バッファイネーブル信号DOEiはLとされ、読み出し回路RAは非活性化される。その後、ライト制御信号WAi及びグローバルビット線プリチャージ制御信号IOEQiBはLにされる。
次にクロック信号CLKの立ち上がりで、読み出しコマンド(CC=”H”, RW=”H”)及びバイト制御信号(BEi=”H”)が入力されると、上記で説明した制御信号が図34に示されるように切り替わる。すなわち、グローバルビット線プリチャージ制御信号IOEQiBはLからHにされ、グローバルビット線GBL-I0、/GBL-i0はプリチャージ状態からハイインピーダンス状態にされる。その後、リードイネーブル信号MAG1及びメインアンププリチャージ制御信号MAEQiBがLからHにされ、読み出し回路RAがグローバルビット線GBL-I0、/GBL-I0とスイッチSW2を介して接続される。読み出しデータをグローバルビット線GBL-I0、/GBL-I0から読み出し回路RAに読み出した後、リードイネーブル信号MAG1がHからLにされ、読み出し回路RAがグローバルビット線GBL-I0、/GBL-I0から切り離される。その後、メインアンプイネーブル信号MA1がHからLにされ、読み出したデータがメインアンプで増幅され、 NAND回路N1とN2から成るラッチ回路にラッチされる。最後に、出力バッファイネーブル信号DOEiがLからHにされ、DOEi=”H”の期間にデータが出力バッファ回路TI1からメモリマクロMMACROの外に読み出される。”Byte dis.”はBEi=”L”であり、該DQ-I0〜DQ-i7は非選択のバイトであることを示している。《1.6 主制御回路》 図35には主制御回路MAINCNTの一例が示される。主制御回路MAINCNTでは、メモリマクロMMACROの外部から入力される制御信号CR、AC、CC、クロック信号CLK、アドレス信号Aiから、NAND回路やインバータ、D型フリップフロップ(インバータとクロックド・インバータで構成される)等の標準的な論理回路を組み合わせて、図29に示されたバンク閉鎖フラグDCS(図35ではその反転信号/DCS)、バンク活性化フラグDCA(図35ではその反転信号/DCA)、カラムアドレスイネーブル信号YP、ローアドレス信号(Xアドレス信号)AXij、カラムアドレス信号(Yアドレス信号)AYi等の信号が作られている。
バンク閉鎖フラグ/DCS(図32ではその反転信号DCSが示されている)はフリップフロップDFF-1と論理回路TG1等によって、図32に示されるようなタイミングで生成される。バンク活性化フラグ/DCA(図32ではその反転信号DCAが示されている)は、フリップフロップDFF-2と論理回路TG2等によって、図32に示されるようなタイミングで生成される。カラムアドレスイネーブル信号YPは、フリップフロップDFF-3と論理回路TG3等によって、図34に示されるタイミングで生成される。カラムアドレス内部信号AYiGは、フリップフロップDFF-4等によって図34に示されるタイミングで生成される。
なお、図29には、Yアドレスラッチ回路YLTが示されているが、図35のフリップフロップDFF-4及び論理回路TG3がYアドレスラッチ回路YLTに対応する。Yアドレスラッチ回路YLTはバンク制御回路BNKCNT-1に含まれても良いし、主制御回路MAINCNTに含まれても良い。
D1は遅延回路である。フリップフロップDFF(DFF-1、DFF-2、DFF-3、DFF-4、DFF-5)はクロック信号CLKの立ち上がりエッジで入力データDをラッチする回路である。クロック信号CLK1Bは図36のクロック発生回路CLKCNTで生成される。論理回路TG4の出力BXiTはXアドレスのバッファされた信号で、BXiBはその反転信号である。Xアドレス信号AxijはXアドレスのバッファされた信号BXiT又はその反転信号BXiBを用いてプリデコードされた信号である。図35に示される論理回路TG1、TG2、TG3、TG4及びその他の論理回路は簡単な回路であり、当業者は容易に理解できるので詳細な説明は省略する。
ここで、回路RSTCKTは、後述するバンク制御回路BNKCNTの電源投入時のリセット信号RSTを発生する回路で、電源投入時にワンショットのパルスを発生する。この回路RSTCKTの特長は、電源電圧が高速に立ち上がったときでもインバータIV1の入力端子の電圧が高速に立ち上がるように電源線とその端子の間にコンデンサを設けたことである。以下に動作を説明する。 まず電源電圧VCCが立ち上がるとN-MOSトランジスタQV3のゲート、ドレイン電圧が上昇する。この電圧がN-MOSトランジスタQV3、QV5のしきい電圧以下のときは、 N-MOSトランジスタQV3、QV5には電流が流れないのでインバータIV1の入力端子の電圧は電源電圧と同じ電圧で上昇する。次にN-MOSトランジスタQV3のゲート、ドレイン電圧がそのしきい電圧を越えるとN-MOSトランジスタQV3、QV5には電流が流れインバータIV1の入力端子の電圧は下がる。これにより、電源投入時にワンショットパルスを発生させることができる。ここでインバータIV1の入力端子の電圧が下がり始めるVCCの値は、大雑把にはQV2とQV3のしきい電圧で決定されVCC=VT(QV2)+VT(QV3)で表される。また、この値はP-MOSトランジスタQV4とN-MOSトランジスタQV5、 N-MOSトランジスタQV3とP-MOSトランジスタQV1、又はN-MOSトランジスタQV3とQV5のW/L比を変えることでさらに細かく調整できる。ここで、電源線とその端子の間にコンデンサQV6が接続されているがこれは、電源電圧が高速に立ち上がったときにインバータIV1の入力端子に付く容量によりその電圧の立上りが遅れインバータIV1の論理しきい値を越える前にQV5に電流が流れそのノードがインバータIV1の論理しきい値を越えなくなる現象を防ぐためである。以上のように本回路によれば電源が高速に立ち上がっても低速でも確実にパルスを発生することが出来る。《1.7 読み出し/書き込み制御回路ブロック》 図36には読み出し/書き込み制御回路ブロックRWCNTの一例が示される。ここでは、主制御回路MAINCNTと同様、メモリマクロMMACROの外部から入力される制御信号RW、CC、クロック信号CLK、バイト制御信号BEiから、NAND回路やインバータ、D型フリップフロップ(図35のフリップフロップDFFと同一のもの)等の標準的な論理回路を組み合わせて、図33に示されるメインアンププリチャージ制御信号MAEQiB、ライトイネーブル信号WAi、メインアンプイネーブル信号MAi、出力バッファイネーブル信号DOEi(図36ではその反転信号DOEiB)、リードイネーブル信号MAGi(図36ではその反転信号MAGiB)等の信号を作っている。
メインアンププリチャージ制御信号MAEQiB、ライトイネーブル信号WAi、メインアンプイネーブル信号MAi、出力バッファイネーブル信号DOEi(図36ではその反転信号DOEiB)、リードイネーブル信号MAGi(図36ではその反転信号MAGiB)は、図34に示されるようなタイミングで生成される。D1、D2、D3は遅延回路である。なお同図下部に示したクロック信号CLK1B、CLK2B、CLK3Bを生成するクロック発生回路CLKCNTは読み出し/書き込み制御回路ブロックRWCNTごとに入れてもよいし、主制御回路ブロックMAINCNTに1個だけ入れてもよい。図36に示される論理回路も簡単な回路であり、当業者は容易に理解できるので詳細な説明は省略する。
《1.8 メモリセルアレイの他の例》 図37には、バンクモジュールBANK内のメモリセルアレイMCA部の他の例が示される。ビット線B,/Bとグローバルビット線GBL,/GBLは図の横方向に延在される。また、ワード線W、メモリアレイ入出力線IO,IOB及びカラムアドレスセレクト信号YSiは図の縦方向に延在される。なお、グローバルビット線は図の左端と右端の○印を結んだ破線上に配置される。また、センスアンプSA、ビット線プリチャージ回路PC、メモリアレイ入出力線IO,IOB及びカラムアドレスセレクト信号YSiはメモリセルアレイMCAの左右に分けて配置される。従って、YデコーダYDもメモリセルアレイMCAの左右に分けて配置される。ワードドライバWD、XデコーダXD及びYデコーダYDはメモリセルアレイMCAの下側、すなわち図の下辺の近くに配置される。本例の特徴は、ビット線1対ごとにセンスアンプSA及びビット線プリチャージ回路PCをメモリセルアレイMCAの左右に分けて配置したことである。これによってセンスアンプSAのレイアウトピッチが緩和されるのでセンスアンプSAのビット線方向の長さが短くなり、本発明のように多数のカラムアドレスセレクト信号YSiをワード線方向に通過させる方式には特に有効になる。すなわち、センスアンプSAのビット線方向の長さが短くなることによりその部分の寄生容量が小さくなり、メモリセルからの信号をより大きくできる。《1.9 バンク制御回路ブロック》 図38にはバンク制御回路ブロックBNKCNT-1の一例が示される。特に図37に示されるセンスアンプ交互配置のメモリセルアレイに適合している。上記読み出し/書き込み制御回路ブロックRWCNT同様、メモリマクロMMACROの外部から入力される制御信号CR、CC、ロー系バンクアドレスRi、カラム系バンクアドレスCi及びクロック信号CLK、並びに主制御回路ブロックMAINCNTで生成された信号/DCA、/DCS、RST、YPからNAND回路やインバータ、D型フリップフロップ等の標準的な論理回路を組み合わせて、図29に示されるワード線W(W0、W1、W2、W3)、ビット線プリチャージ信号FPC(R)、FPC(L)、カラムアドレスセレクト信号YSi(YS0、YS1、YS2、YS3、YS4、YS5、YS6、YS7)、Nチャネルセンスアンプ起動信号FSA(R)、FSA(L)、Pチャネルセンスアンプ起動信号FSAB(R)、FSAB(L)等の信号を作っている。ここで(R)、(L)はそれぞれ右側のセンスアンプSAと左側のセンスアンプSAのための信号である。ワードドライバWDBLKは、図29に示されるワードドライバWDに対応する。その他図29に示される回路は図38で同じ記号を使用している。D1、D5、D15は遅延回路である。前述のパワーオンリセット回路の出力RSTは、WLPi、STi発生回路に入力されパワーオン時にそれらの出力をそれぞれS0状態と同じ”L”、”H”にする。これによりメモリセルアレイは、プリチャージ状態となり、センスアンプSAが動作することによるパワーオン電流の増加を押さえることができる。なお、図38に示される論理回路も簡単な回路であり、当業者は容易に理解できるので詳細な説明は省略する。
図38の下部は、バンク制御回路ブロックBNKCNT-2の一例である。ここで、プリチャージ・レベルセンサPCSはビット線プリチャージ信号FPCのレベルセンサ、センスアンプ・レベルセンサSASはセンスアンプSAのN-MOSトランジスタ側の共通駆動線のレベルセンサである。これらはそれぞれ、プリチャージの終了と信号増幅の終了点を検出するためのものである。すなわち、プリチャージ・レベルセンサPCSは、信号PCSENを生成し、センスアンプ・レベルセンサSASは、信号REを生成する。プリチャージ・レベルセンサPCSは、右側のプリチャージPC用と左側のプリチャージPC用の2つがある。また、センスアンプ・レベルセンサSASは、右側のセンスアンプSA用と左側のセンスアンプSA用の2つがある。本例の特徴は、入力信号が十分に下がりきる点を検出するためにそれらの信号を受けるCMOS論理回路の論理しきい値をN-MOSトランジスタのしきい電圧付近にまで下げていることである。これによりセンスアンプSAやメモリセルのしきい電圧がばらついてもある程度補償できるようになる。なお、このレベルセンサとして図29に示すような差動アンプを用いてもよい。この場合は、そのセンスレベルとなる基準電圧VrをN-MOSのしきい電圧よりばらつき分だけ低く設定しておけば、上記の論理しきい値方式と同様そのばらつきによる誤動作を防止できる。《1.10 論理回路ブロック》 図29に示される論理回路ブロックLOGICは、画像データの演算処理、画像メモリ(メモリマクロMMACRO)への描画、画像メモリから表示装置への読み出し等の機能の処理を行うのに好適な構成にされている。
図示の論理回路ブロックLOGICは、メモリマクロMMACROにアドレス信号Ai、ロー系バンクアドレスRi、カラム系バンクアドレスCi、データ入出力線DQ-i0〜DQ-i7、制御信号CC、AC、CR、RW、バイト制御信号BEi、クロック信号CLK等を供給する。さらに、論理回路ブロックLOGICは、メモリマクロMMACROにリフレッシュ動作の指示及びリフレッシュアドレスを前記制御線、アドレス信号等を用いて与える。
また、半導体集積回路SICの外部へのインタフェースも論理回路ブロックLOGICが行う。外部には中央処理装置CPUや表示装置等が接続され、図29のI/O、Control signalによって、データやコマンドのやり取りが行われる。《2.メモリ・論理混載LSIへの第2の適用例》 図39には、メモリ・論理混載LSIへのもう一つの適用例が示される。本実施例のメモリマクロMMACROは4つのバンクモジュールBANK0-3、アンプモジュールAMP及び電源モジュールPSで構成される。2つのメモリマクロMMACROは論理回路ブロックLOGIC-1を挟んで配置される。また、他の2つのメモリマクロMMACROは論理回路ブロックLOGIC-2を挟んで配置される。データ入出力線DQiは、各メモリマクロMMACROと論理回路ブロックLOGIC-1又は論理回路ブロックLOGIC-2との間のデータの授受が行われる。バイト制御信号BEiは、論理回路ブロックLOGIC-1又は論理回路ブロックLOGIC-2から各メモリマクロMMACROに入力される。制御信号CR、CC、AC、RW、アドレス信号Ai、クロック信号CLK、ロー系バンクアドレスRi及びカラム系バンクアドレスCiは、論理回路ブロックLOGIC-3から各メモリマクロMMACROに入力される。
本例の特徴は、本発明によるメモリマクロMMACROを4個搭載し、メモリマクロMMACROから出力されるすべてのデータを並列に論理回路ブロックLOGIC-1、LOGIC-2で処理していることである。これによりデータ転送および処理速度はメモリマクロMMACRO1個のみの場合の4倍にできる。また、マクロの数を増やすことによりさらにデータ処理速度を向上させることができる。ここで論理回路ブロックLOGIC-3は論理回路ブロックLOGIC-1、LOGIC-2での演算結果をチップ外部の素子に取り込みやすいデータ形式に加工したり、逆にチップ外部からのデータを演算しやすい形式に加工する機能を持つ。このように複数個のメモリマクロMMACROからのデータを並列に処理する方式は、3次元グラフィックスのような多量のデータを高速に処理する必要がある用途に特に有効である。
また、本例のように同一容量のメモリマクロMMACROだけでなく、用途に応じて異なる容量のメモリマクロMMACROを用いても良い。例えば、マイクロプロセッサと共に用いる場合、メモリマクロMMACROのバンクモジュールBANKを1〜2個にしてさらにアンプモジュールAMPを高速タイプに変更して、キャッシュメモリとして使用することもできる。また、バンクモジュールBANKの数をもっと増やして低速か中速のアンプモジュールAMPを組み合わせメインメモリとして使用することもできる。ここで、メインアンプを低速か中速にするのはアンプの占有面積を小さくするためである。このように、本発明によればメモリマクロはモジュール方式なので自由にメモリ容量やアンプの能力を変更できる。《3.メモリ・論理混載LSIへの第3の適用例》 図40には内部のデータバス幅が小さい場合の適用例が示される。本実施例のメモリマクロMMACROは4つのバンクモジュールBANK0-3、アンプモジュールAMP及び電源モジュールPSで構成される。2つのメモリマクロMMACROは選択回路SELECTORを挟んで配置される。また、他の2つのメモリマクロMMACROも選択回路SELECTORを挟んで配置される。データ入出力線DQiは、各メモリマクロMMACROと論理回路ブロックLOGICとの間のデータの授受が行われる。バイト制御信号BEiは、選択回路SELECTORから各メモリマクロMMACROに入力される。制御信号CR、CC、AC、RW、アドレス信号Ai、クロック信号CLK、ロー系バンクアドレスRi及びカラム系バンクアドレスCiは、論理回路ブロックLOGICから各メモリマクロMMACROに入力される。同図でデータ入出力線DQiはバイトごとに共通に結線されている。このため1つのメモリマクロMMACROからでる入出力線の数は8本のみである。データの切り替えは選択回路SELECTORからでるバイト制御信号BEiで行われる。このような結線を行うことにより、通常の8〜32ビットの1チップマイコンの内蔵メモリとしても本メモリマクロMMACROを使用することができる。《4.ROMバンクモジュール》 図41にはメモリマクロMMACROのバンクモジュールBANKの一部をROM (Read Only Memory)モジュールで置き換えた例が示される。本実施例のメモリマクロMMACROは4つのRAMのバンクモジュールBANK0-3、ROMのバンクモジュールROM-BANK、アンプモジュールAMP及び電源モジュールPSで構成される。この例の利点は、1チップマイコンの内蔵メモリとして用いた場合、ROMとRAMの制御回路(主制御回路MAINCNTを含むアンプモジュールAMP等)を共通化できるのでチップ面積を低減できることである。また、画像処理プロセッサやDSP(Digital Signal Processor)に内蔵した場合、例えば積和演算の係数をROMに入れておけばRAMとROMがすぐそばにあるので高速にデータを読み出し演算することができる。
図42には本メモリマクロMMACROに適用するために適したROMモジュールのメモリアレイRMCAの回路例が示される。本例の特徴は、グローバルビット線の数とピッチをRAMモジュール(図29、図31、図37等に示されバンクモジュールBANK)と合わせるためにRAMモジュールと同じサイズのDRAMのメモリセルを一部変更してROMセルとして使用していることである。DRAM構成のメモリセルをROMセルとして用いるためには、例えばたメモリセルの絶縁膜を形成したあとに書き込むデータに合わせてその絶縁膜を除去するマスクを追加すればよい。これにより、絶縁膜を除去したセル(同図のMC1)はメモリセルの共通電極とショート状態になり除去しなかったセル(同図のMC2)は絶縁性を保つことで情報が書き込まれたことになる。
ROMモジュールの動作を図42、43を用いて説明する。まずビット線プリチャージ信号FPCを”H”にすることでN-MOSトランジスタQR3、QR4、QR5、QR7がオンしビット線Bおよびセンスアンプの入力端子N1、N2がVCCの電圧になる。次にビット線プリチャージ信号FPCを”L”にしてワード線(本例ではW1)と転送信号SCを”H”(VCC以上)にする。そうするとN-MOSトランジスタQR1、QR6、QR8がオンするからN1のノードはHVCの電圧にまで下がり、N2のノードは3/4VCCの電圧にまで下がる。この電圧差をPチャネルセンスアンプ共通駆動線CSPを”H”、Nチャネルセンスアンプ共通駆動線CSNを”L”にすることによりセンスアンプ(QR9〜QR12)を動作させ増幅する。このままではN-MOSトランジスタQR1を通して電流が流れ続けるから転送信号SCを”L”にしてN-MOSトランジスタQR6、QR8をオフする。こうして、N1はVSSの電圧にN2はVCCの電圧になる。すなわち情報”0”が読み出される。ここでもし、W1のかわりにW2を立ち上げればN2のノードは3/4VCCの電圧と変わらないがN1のノードはメモリセルに電流が流れないためVCCの電圧になり電位関係は先程と逆転し今度はN1がVCCの電圧、N2がVSSの電圧になる。すなわち情報”1”が読み出される。ここで、カラムアドレスセレクト信号YSiを”H”にすれば入出力線IO、IOBを介してグローバルビット線GBL、/GBLに信号が現れることになる。なおワード線を”L”にするタイミングは、SCを”L”にした時点からプリチャージを開始するまでの間ならどこでもよい。
以上のように本例によれば、RAMと同じメモリセルパターンをROMとして使用できるので、グローバルビット線の数とピッチをRAMモジュールのそれに簡単に合わせることができる。なお、ここでは、例としてDRAMセルの絶縁膜を除去する方式について記載したが、別の方法たとえばメモリセルの蓄積電極を除去するといった方法でもよい。また、グローバルビット線のピッチさえ他のバンクモジュールBANKと同じにできれば従来のROMセルを用いても良い。
ここでは、ROMとは、予め情報をチップ製造工程で書き込んでしまうプログラム固定のマスクROMでのことで、電源を切っても記憶情報が保持される不揮発性メモリである。また、RAMとは、データを随時書き換え、保持し、読み出すことができるメモリで、電源を切ると記憶情報が保持できない揮発性メモリである。
以上ここまでは、RAMのメモリセルを図31に示されるDRAMセルとして説明してきたが、これはSRAMセルを用いてもなんら差し支えない。また、この場合ROMバンクモジュールのROMセルは、そのSRAMセルの一部を変更して作ればよい。
上記においてROMの変わりに再書込みができるメモリセルからなるモジュールを用いてもいいことはもちろんである。例えば強誘電体膜を用いたメモリセルからなるモジュールを用いることができる。強誘電体膜を用いたメモリセルは、RAMのように再書込みができるうえにROMのように電源を切った後も情報が保持されるので全てのモジュールを強誘電体膜を用いたメモリセルからなるモジュールとすることも可能である。
[シンクロナス構造ダイナミックRAMモジュール]
図46には、メモリマクロMMACROを用いて構成されたDRAMモジュールの一例が示される。前記したように、メモリマクロMMACROのバンクモジュールBANKは256本のワード線(Xアドレスが8本)を持つようにされ、1ワード線に(n×8×i)対のビット線が交差され、Yデコーダで1/n(Yアドレスが(log n/log 2)本)に選択され、(8×i)対のグローバルビット線にデータが入出力する構成とされる。一方、DRAMモジュールM25の各バンク(BANK0−9)は、メモリマクロMMACROのバンクモジュールBANKのn=16、i=8の場合のものに対応する。すなわち、 DRAMモジュールM25の各バンク(BANKi,i=0−9)は、256Kビットの記憶容量を有し、64対のグローバルビット線にデータが入出力する構成とされる。また、 DRAMモジュールM25は、10個のバンク(BANKi,i=0−9)で構成される。従って、DRAMモジュールM25は4096ワード×64ビット×10バンク構成のシンクロナス構造ダイナミックDRAMモジュールを構成する。なお、各バンク(BANKi,i=0−9)は完全に独立に動作可能とされる。DRAMモジュールM25は、アドレスノンマルチ構成で、ロー・カラム完全分離制御される。 DRAMモジュールM25のAMPはメモリマクロMMACROのアンプモジュールAMPに対応する。《入出力インタフェース》 DRAMモジュールM25は、ASICに使用されるモジュールである。図46に示されるように、他のASICのモジュールとのインターフェース信号としては、クロック信号CLK、8本のロー(Row)アドレス信号AX[0:7]、4本のカラム(Column)アドレス信号AY[0:3]、4本のロー・バンク(Row bank)アドレス信号AR[0:3]、4本のカラム・バンク(Column bank) アドレス信号AC[0:3]、ロー(Row)コマンド選択信号CR、バンク(Bank)活性非活性信号BA、カラム(column)コマンド選択信号CC、読み出し/書き込み制御信号RW、64本のデータ入出力信号DQ[0,0:7,7]、データバイト制御信号BE[0:7]、電源線VDD、接地線VSSがある。
クロック信号CLKはメモリマクロMMACROのクロック信号CLKに対応する。他の信号の入力及び出力の全てはこの信号に同期して行われる。
ロー・アドレス信号AX[0:7]はメモリマクロMMACROのアドレス信号AiのうちXアドレスに対応する。バンクBANK内のロー・アドレス(Xアドレス)が入力される。 カラム・アドレス信号AY[0:3]はメモリマクロMMACROのアドレス信号AiのうちYアドレスに対応する。バンクBANK内のカラム・アドレス(Yアドレス)が入力される。
ロー・バンク・アドレス信号AR[0:3]はメモリマクロMMACROのロー系バンクアドレスRiに対応する。ロー・コマンドを受け付けるバンクBANKのアドレスが入力される。メモリマクロMMACROのロー系バンクアドレスRiはデコードされず、バンクモジュールBANKを直接選択している構成である。しかし、ロー・バンク・アドレス信号AR[0:3]はデコードされて、バンクBANKを選択する構成とされる。4本のアドレスがあるので、最大16バンクまで選択することができる。 カラム・バンク・アドレス信号AC[0:3]はメモリマクロMMACROのカラム系バンクアドレスCiに対応する。カラム・コマンドを受け付けるバンクBANKのアドレスが入力される。メモリマクロMMACROのカラム系バンクアドレスCiはデコードされず、バンクモジュールBANKを直接選択している構成である。しかし、カラム・バンク・アドレス信号AC[0:3]はデコードされて、バンクBANKを選択する構成とされる。4本のアドレスがあるので、最大16バンクまで選択することができる。
ロー・コマンド選択信号CRはメモリマクロMMACROの制御信号CRに対応する。該当サイクルがロー・コマンド入力であることを示す。
バンク活性非活性信号BAはメモリマクロMMACROの制御信号ACに対応する。該当バンクBANKを活性化するか非活性化するかを指示する。
カラム・コマンド選択信号CCはメモリマクロMMACROの制御信号CCに対応する。該当サイクルがカラム・コマンド入力であることを示す。
読み出し/書き込み制御信号RWはメモリマクロMMACROの制御信号RWに対応する。読み出しか書き込みかを指示する。
データ入出力信号DQ[0,0:7,7]はメモリマクロMMACROの入出力用のI/O信号DQijに対応する。データの入出力を行う。
データバイト制御信号BE[0:7] はメモリマクロMMACRO のバイト制御信号BEiに対応する。各バイトに対して入出力のマスクを行う。読み出しの場合は、BE=Lのとき出力はハイインピーダンスにされ、BE=Hのとき出力はイネーブルにされる。書き込みの場合は、 BE=Lのとき該当するデータの書き込みは行われず、以前のデータが保持される。BE=Hのとき該当するデータの書き込みが行われる。
電源線VDDはメモリマクロMMACROの電源電圧VCCに対応する。3.3Vが接続される。接地線VSSはメモリマクロMMACRO の電源電圧VSSに対応する。GND(0V)が接続される。
なお、入出力信号の電圧レベルはいわゆるCMOSインタフェースレベルである。《コマンドオペレーション》 図47には、 DRAMモジュールM25に設定されるコマンドの真理値表が示される。モ1モは入力信号が高レベル(VIH)であることを示す。モ0モは入力信号が低レベル(VIL)であることを示す。モXモは入力信号が高レベル(VIH)又は低レベル(VIL)であることをを示す。モVモは入力信号が有効であることを示す。
ロー・コマンド(Row command(com R))系は、ロー・コマンド選択信号CR、バンク活性非活性信号BA、ロー・アドレス信号AX[0:7]及びロー・バンク・アドレス信号AR[0:3]の組合せでコマンドが設定される。ロー・コマンド選択信号CR、バンク活性非活性信号BA、ロー・アドレス信号AX[0:7]及びロー・バンク・アドレス信号AR[0:3]は、クロック信号CLKの立ち上がりエッジでDRAMモジュールM25内にラッチされる。図47の“↑”はクロック信号CLKの立ち上がりエッジでDRAMモジュールM25内にラッチされることを示している。
コマンドNOP (No operation)はCR=0で設定される。コマンドNOPは実行コマンドではない。ただし、内部動作は継続される。
コマンドBA(Row address strobe and bank active)はCR=1、BA=1で設定される。コマンドBAはロー・アドレス(AX0−AX7)及びロー・バンク・ アドレス(AR0−AR3)が指定され、ロー・バンク・アドレスで指定されたバンクBANKが活性化(Active)状態になる。コマンドBAは汎用DRAMチップにおいて、/CAS=Hで/RASの立ち下がりに相当する。なお、コマンドBAはリフレッシュにも使用される。
コマンドBC(Precharge and bank close)はCR=1、BA=0で設定される。コマンドBCによりロー・バンク・アドレス(AR0−AR3)で指定されたバンクBANKがプリチャージされ、その後バンク閉鎖状態にされる。
カラム・コマンド(Column command(com C))系は、カラム・コマンド選択信号CC、データバイト制御信号BE[0:7]、読み出し/書き込み制御信号RW、カラム・アドレス信号AY[0:3]及びカラム・バンク・ アドレス信号AC[0:3]の組合せでコマンドが設定される。カラム・コマンド選択信号CC、データバイト制御信号BE[0:7]、読み出し/書き込み制御信号RW、カラム・アドレス信号AY[0:3]及びカラム・バンク・アドレス信号AC[0:3]は、クロック信号CLKの立ち上がりエッジでDRAMモジュールM25内にラッチされる。
コマンドNOP (No operation)はCC=0で設定される。コマンドNOPは実行コマンドではない。ただし、内部動作は継続される。
コマンドRD(Column address strobe and read command)はCC=1、RW=1で設定される。コマンドRDによりリード動作が始まる。リードアドレスはカラム・アドレス(AY0−AY3)及びカラム・バンク・アドレス(AC0−AC3)で指定される。コマンドRDは汎用DRAMチップにおいて、/RAS=L、WE=Hでの/CASの立ち下がりに相当する。リード終了後出力はハイインピーダンスにされる。
コマンドWT(Column address strobe and write command)はCC=1、RW=0で設定される。コマンドWTによりライト動作が始まる。ライトアドレスはカラム・アドレス(AY0−AY3)及びカラム・バンク・アドレス(AC0−AC3)で指定される。
データバイト制御信号BE[0:7] は入出力データのマスク操作をバイト単位で行うようにされる。リード時は、BE=メ1モとすると、出力がローインピーダンスにされ、データの出力が可能になる。 BE=メ0モとすると、出力がハイインピーダンスにされ、データの出力が行われない。ライト時は、BE=メ1モとすることにより、データの書き込みが行われる。 BE=メ0モとすると、データの書き込みが行われず以前のデータが保持される。
図48には、各種の状態から次に各コマンドを実行した場合の動作を表わす機能真理値表が示される。バンクBANK#iがバンク活性(Bank active)の状態でバンクBANK#iに対してコマンドBAが実行されると、プリチャージ(Precharge)と新しいロー・アドレスAXに対するセンス(Sense)が行われた後、バンクBANK#iはバンク活性状態(Bank active status)にされる。なお、バンク活性状態とは、カラム・コマンド(com C)が入力可能な状態をいう。バンクBANK#j(jはiと異なる)がバンク活性の状態でバンクBANK#iに対してコマンドBAが実行されると、バンクBANK#jの状態は継続される(No operation)。
バンクBANK#iがバンク閉鎖(Bank close)の状態でバンクBANK#iに対してコマンドBAが実行されると、新しいRowアドレスAXに対するセンス(Sense)が行われた後、バンクBANK#iはバンク活性状態(Bank active status)にされる。バンクBANK#j(jはiと異なる)がバンク閉鎖の状態でバンクBANK#iに対してコマンドBAが実行されると、バンクBANK#jの状態は継続される(No operation)。
バンクBANK#iがバンク活性又はバンク閉鎖の状態でバンクBANK#iに対してコマンドBCが実行されると、プリチャージ(Precharge)が行われた後、バンクBANK#iはバンク閉鎖状態(Bank close status)にされる。バンクBANK#j(jはiと異なる)がバンク活性又はバンク閉鎖の状態でバンクBANK#iに対してコマンドBCが実行されると、バンクBANK#jの状態は継続される(No operation)。
バンクBANK#iがバンク活性及びバンク閉鎖以外(not Bank active or not Bank close)の状態では、バンクBANK#iに対してコマンドBA又はコマンドBCの実行は禁止される。バンクBANK#j(jはiと異なる)がバンク活性及びバンク閉鎖以外の状態でバンクBANK#iに対してコマンドBA又はコマンドBCが実行されると、バンクBANK#jの状態は継続される(No operation)。
バンクBANK#iがバンク活性の状態でバンクBANK#iに対してコマンドRDが実行されると、バンクBANK#iから読み出し(Read)が行われる。バンクBANK#iが非バンク活性の状態ではバンクBANK#iに対してコマンドRDの実行は禁止される。バンクBANK#j(jはiと異なる)がいかなる状態でバンクBANK#iに対してコマンドRDが実行されても、バンクBANK#jの状態は継続される(No operation)。
バンクBANK#iがバンク活性の状態でバンクBANK#iに対してコマンドWTが実行されると、バンクBank#iへの書き込み(Write)が行われる。バンクBANK#iがバンク活性以外の状態ではバンクBANK#iに対してコマンドWTの実行は禁止される。バンクBANK#j(jはiと異なる)がいかなる状態でバンクBANK#iに対してコマンドWTが実行されても、バンクBANK#jの状態は継続される(No operation)。
図49には、コマンド入力に対するバンクの状態遷移図が示される。バンクの状態には、スタンバイ(Stand by)状態S0、プリチャージ(Precharge)状態S1P、センス(Sense)状態S1S、バンク活性(Bank active)状態S2、出力無しリード(Read without output)状態S2RP、リード(Read)状態S2R、パイプライン出力(Pipeline output only)状態S1RS、パイプライン出力(Pipeline output only)状態S2RS及びライト(Write)状態S2Wがある。コマンドBA、BC、RD、WT、NOPの入力によってバンクの状態が遷移される。図49において、コマンド名が記入されていない矢印は所定の時間経過後(time out)にバンクの状態が遷移される。
《リード/ライト動作》(1)バンク活性 リード又はライト動作前にコマンドBAにより該当バンクBANK及びロー・アドレスの活性化を行う。ロー・バンク・アドレス(AR0−AR3)により活性バンクBANKが指定され、ロー・アドレス(AX0−AX7)でワード線が活性化される。
RASダウンモード(コマンドBAが入る前の状態がバンク活性)の場合、コマンドBAからコマンドRD又はコマンドWTの間はLAの間隔が必要である。図49に示されるように、バンク活性状態S2からプリチャージ状態S1P及びセンス状態S1Sを経由してバンク活性状態S2にされる。
高速アクセスモード(コマンドBAが入る前の状態がバンク閉鎖)の場合、コマンドBAからコマンドRD又はコマンドWTの間はLA2の間隔が必要である。図49に示されるように、スタンバイ状態S0からセンス状態S1Sを経由してバンク活性状態S2にされる。
(2)リード動作 図50には、 RASダウンモードのページ・リード動作のタイミング図が示される。コマンドBA(Bank active(with Precharge))が入力され、間隔LA後のコマンドRDの入力によりリード動作が開始される。図50では、コマンドRDが連続して入力されて、データが連続して読み出される例が示される。図50では、LAは5クロックサイクルの例が示されているが、最小レイテンシについては後述される。アドレスは、カラム・バンク・アドレス(AC0−AC3)の状態により活性バンクが指定され、カラム・アドレス(AY0−AY3)によりカラム選択信号が指定される。図50には、カラム・アドレス(AY0−AY3)の#1、#2に対応するデータの1、2が読み出される様子が示される。データを出力した後は、データ入出力DQはハイインピーダンスにされる。図50に示されるリード動作の状態は、図49に示されるように、バンク活性状態S2からプリチャージ状態S1P及びセンス状態S1Sを経由してバンク活性状態S2にされる。コマンドRDの入力後、出力無しリード状態S2RP及びリード状態S2Rを経由してパイプライン出力状態S2RSにされる。コマンドBA入力後、プリチャージ状態S1Pにされる。
図51には、 高速アクセスモードのリード動作のタイミング図が示される。コマンドBA(Bank active)が入力され、間隔LA2後のコマンドRDの入力によりリード動作が開始される。図51では、LA2は3クロックサイクルの例が示されているが、最小レイテンシについては後述される。アドレスは、カラム・バンク・アドレス(AC0−AC3)の状態により活性バンクが指定され、カラム・アドレス(AY0−AY3)によりカラム選択信号が指定される。図51には、カラム・アドレス(AY0−AY3)の#1、#2に対応するデータの1、2が読み出される様子が示される。データを出力した後は、データ入出力DQはハイインピーダンスにされる。図51に示されるリード動作の状態は、図49に示されるように、スタンバイ状態S0からセンス状態S1Sを経由してバンク活性状態S2にされる。コマンドRDの入力後、出力無しリード状態S2RP及びリード状態S2Rを経由してパイプライン出力状態S2RSにされる。コマンドBCの入力後、プリチャージ状態S1Pを経由してスタンバイ状態S0にされる。間隔LP後、コマンドBAを入力すると、センス状態S1Sにされる。(3)ライト動作 図52には、 RASダウンモードのページ・ライト動作のタイミング図が示される。コマンドBA(Bank active(with Precharge))が入力され、間隔LA後のコマンドWTの入力によりライト動作が開始される。図52では、LAは5クロックサイクルの例が示されているが、最小レイテンシについては後述される。アドレスは、カラム・バンク・アドレス(AC0−AC3)の状態により活性バンクが指定され、カラム・アドレス(AY0−AY3)によりカラム選択信号が指定される。図52には、カラム・アドレス(AY0−AY3)の#1、#2に対応するデータの1、2が読み出される様子が示される。データ入出のレイテンシは1サイクルである。図52に示されるライト動作の状態は、図49に示されるように、バンク活性状態S2からプリチャージ状態S1P及びセンス状態S1Sを経由してバンク活性状態S2にされる。コマンドWTの入力後、ライト状態S2Wにされる。コマンドNOPの入力後、バンク活性状態S2にされる。
図53には、 高速アクセスモードのページ・ライト動作のタイミング図が示される。コマンドBA(Bank active)が入力され、間隔LA2後のコマンドWTの入力によりライト動作が開始される。図53では、LA2は3クロックサイクルの例が示されているが、最小レイテンシについては後述される。アドレスは、カラム・バンクアドレス(AC0−AC3)の状態により活性バンクが指定され、カラム・アドレス(AY0−AY3)によりカラム選択信号が指定される。図53には、カラム・アドレス(AY0−AY3)の#1、#2に対応するデータの1、2が読み出される様子が示される。データ入力のレイテンシは1サイクルである。図53に示されるライト動作の状態は、図49に示されるように、スタンバイ状態S0からセンス状態S1Sを経由してバンク活性状態S2にされる。コマンドWTの入力後、ライト状態S2Wにされる。コマンドNOPの入力後、バンク活性状態にされる。コマンドBCの入力後、プリチャージ状態S1Pを経由してスタンバイ状態S0にされる。間隔LP後、コマンドBAを入力すると、センス状態S1Sにされる。《コマンドレイテンシ》(1)コマンドRD・コマンドRDレイテンシ(LRR) 同一バンク、同一ロー・アドレスの場合、図54に示されるように、コマンドRDが連続実行されると毎サイクル読み出しが可能とされる。すなわち、コマンドRDとコマンドRDとの間の最小間隔LRRは1サイクルとされる。図49に示されるバンク活性状態S2から出力無しリード状態S2RPを経由してリード状態S2Rに遷移されるためである。しかし、同一バンク、異なるロー・アドレスに対し連続してコマンドRDが実行されることはできない。後のコマンドRDが入力される前に、新たなコマンドBAが実行され、或いはコマンドBCとコマンドBAとが実行され、改めてコマンドRDが実行される必要がある。
他バンクのアドレスをアクセスする場合、図55に示されるように、複数のバンクがバンク活性状態であれば、バンク活性のバンクに対しコマンドRDを毎サイクル連続実行が可能とされる。
(2)コマンドWT・コマンドWTレイテンシ(LWW) 同一バンク、同一ロー・アドレスの場合、図56に示されるように、コマンドWTが連続実行されると毎サイクル書き込みが可能とされる。すなわち、コマンドWTとコマンドWTとの間の最小間隔LWWは1サイクルとされる。図49に示されるバンク活性状態S2からライト状態S2Wに遷移されるためである。しかし、同一バンク、異なるロー・アドレスに対し連続してコマンドWTが実行されることはできない。後のコマンドWTが入力される前に、新たなコマンドBAが実行され、改めてコマンドWTが実行される必要がある。
他バンクのアドレスをアクセスする場合、図57に示されるように、複数のバンクがバンク活性状態であれば、バンク活性のバンクに対しコマンドWTを毎サイクル連連続実行が可能とされる。
(3)コマンドRD・コマンドWTレイテンシ(LRW) 図58に示されるように、コマンドRDの後、同一バンクの同一ロー・アドレスに対し連続してコマンドWTが連続実行されると、コマンドRDとコマンドWTとの間に最小1サイクルのコマンドNOPを入れる必要がある。すなわち、コマンドRDとコマンドWTとの間の最小間隔LRWは2サイクルとされる。図49に示される出力無しリード状態S2RP又はリード状態S2Rにあるため、コマンドNOPが実行され、パイプライン出力状態S2RSに遷移される必要があるためである。また、コマンドRDの後、同一バンクの異なるロー・アドレスに対し連続してコマンドWTが実行されることはできない。コマンドWTが入力される前に、新たなコマンドBAが実行され、改めてコマンドWTが実行される必要がある。なお、図58に示されるQはデータ出力を、Dはデータ入力を表している。
他バンクのアドレスをアクセスする場合、複数のバンクがバンク活性状態であれば、バンク活性のバンクに対しコマンドRDの後、連続してコマンドWTが実行可能にされるが、コマンドRDとコマンドWTとの間に最小1サイクルのコマンドNOPを入れる必要がある。
(4)コマンドWT ・コマンドRDレイテンシ(LWR) 図59に示されるように、コマンドWTの後、同一バンクの同一ロー・アドレスに対し連続してコマンドRDが連続実行されると毎サイクル連続動作が可能とされる。すなわち、コマンドWTとコマンドRDとの間の最小間隔LWRは1サイクルとされる。図49に示されるライト状態S2Wにあるため、直ちにコマンドRDが実行可能にされるためである。しかし、コマンドWTの後、同一バンクの異なるロー・アドレスに対し連続してコマンドRDが実行されることはできない。コマンドRDが入力される前に、新たなコマンドBAが実行され、改めてコマンドRDが実行される必要がある。なお、図59に示されるQはデータ出力を、Dはデータ入力を表している。
他バンクのアドレスをアクセスする場合、複数のバンクがバンク活性状態であれば、バンク活性のバンクに対しコマンドWTの後、連続してコマンドRDが実行可能にされる。コマンドWTとコマンドRDは毎サイクル連続実行可能とされる。(5)コマンドRD・コマンドBA/コマンドBCレイテンシ(LR) 図60に示されるように、コマンドRDの後、同バンクに対してコマンドBA又はコマンドBCが連続して実行されることが可能とされる。すなわち、コマンドRDとコマンドBA又はコマンドBCとの間の最小間隔LRは1サイクルとされる。図49に示される出力無しリード状態S2RP又はリード状態S2Rにあるため、直ちにコマンドBA又はコマンドBCが実行可能とされるためである。
(6)コマンドWT・コマンドBA/コマンドBCレイテンシ(LR) 図61に示されるように、コマンドWTの後、同バンクに対してコマンドBA又はコマンドBCが連続して実行されることが可能とされる。すなわち、コマンドWTとコマンドBA又はコマンドBCとの間の最小間隔LRは1サイクルとされる。図49に示されるライト状態S2Wにあるためである。
(7)コマンドBA・コマンドBAレイテンシ(LC) 図62及び図63に示されるように、 RASダウンモード及び高速アクセスモードの何れにおいても、同バンクに対する2つのコマンドBAの間隔は、LCを満足するようにされる必要がある。図62では、LCは8クロックサイクルの例が示されているが、最小レイテンシについては後述される。異なるバンク間の場合、2つのコマンドBAは、毎サイクル連続実行可能とされる。
(8)コマンドBC・コマンドBAレイテンシ(LP) 図51及び図53に示されるように、コマンドBCの後、同バンクに対してコマンドBAが実行されるためには、間隔LPを満足するようにされる必要がある。最小レイテンシについては後述される。《データバイト制御》 データバイト制御信号BEiにより入出力データのマスク操作が行われる。リード時、データバイト制御信号BEiにより出力バッファの制御が可能とされる。BEi=1の場合、出力バッファの出力はローインピーダンスにされ、データの出力が可能とされる。BEi=0の場合、出力バッファの出力はハイインピーダンスにされ、データの出力が禁止される。図64に示されるように、リード時のデータバイト制御信号BEiのレイテンシは2とされる。図64には、#4のアドレスに対応するデータはBEi=0とされるため、データ入出力DQには出力されない例が示されている。
ライト時、データバイト制御信号BEiにより入力データのマスクが可能とされる。BEi=1の場合、入力データの書き込みが可能とされる。BEi=0の場合、該当データの書き込みが行われず、以前のデータが保持される。図65に示されるように、ライト時のデータバイト制御信号BEiのレイテンシは1とされる。図65には、#4のアドレスに対応するデータはBEi=0とされるため、データ入出力DQ上のデータが書き込まれない例が示されている。《リフレッシュ》 DRAMモジュールM25のリフレッシュは、ロー活性リフレッシュ方式で行われるように構成されている。すなわち、コマンドBAを用いて各バンクの各ワード線を選択することによって、リフレッシュが行われる。通常動作時のリフレッシュサイクルは2560サイクル/16msである(全Rowアドレスのリフレッシュには2560回必要とされる)。データ保持時のリフレッシュサイクルは2560サイクル/64msに延ばすことが可能とされる。《電気的特性》 図66には、DRAMモジュールM25のAC特性が示される。システムクロックサイクルtCの最小値は15ns、すなわち最大動作クロック周波数は66MHzである。図66の注)に示されるtTは各信号の立ち上がり及び立ち下がり時間を表している。
図67には、 DRAMモジュールM25の動作周波数最小レイテンシが示される。システムクロックサイクルtCが最小の15nsのとき、LA=4、LA2=2、LP=2、LC=6となる。このように、最小レイテンシがシステムクロックサイクルtCに依存するのは、内部回路が完全にシステムクロックCLKに同期して動作していないからである。
以上本発明を実施例に基づいて説明してきた。本実施例による効果の概要は以下の通りである。
(1)複数のI/O線を持つメモリコア、転送回路用モジュール、ならびに論理ライブラリがデータベースに記憶されたいるため短期間に設計ができる。
(2)また、本実施例の転送回路では、メモリコアと演算器等の論理回路間で転送されるデータは一段のスイッチを通過して転送されるために高速なデータ転送が実現できる。
(3)さらに、一段または少数の段数のスイッチ群が一つの転送パターンに対応するので転送パターンが少ない場合には段数の少なくてよく占有面積を小さくできる。
(4)メモリマクロ(メモリコア)をアンプモジュール、バンクモジュール、電源モジュール等の機能モジュールの組み合わせで構成する。バンクモジュール内に独立して動作するロウ系回路とビット線方向に伸びる多数のI/O線を配置する。そのI/O線が各モジュールを隣接して配置するだけで接続される構成とする。これにより、I/O線数を一定にしたままバンクモジュール数を増減できるので、データ転送速度の高速性を維持したまま、小容量から大容量まで自由に容量を可変できる。また、バンクモジュールは電源モジュール、アンプモジュールを共用できるのでメモリマクロ全体のオーバーヘッドが少ない。
(5)アンプモジュール内でI/O線をバイト単位で活性化、非活性化できるような回路を設ける。これにより、メモリマクロ外部へ出るI/O線数をバイト単位で増減できる。
(6)複数のバンクを有するメモリにおいて、各バンクの指定アドレスを複数設ける。これによって、1つのバンクの活性化コマンドと他のバンクの読み出し又は書き込みコマンドとが同一サイクルで入力可能になり、異なるバンクにまたがる読み出し又は書き込みが1サイクルごとに連続して行うことができる。
以上本発明者によってなされた発明を実施例に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることはいうまでもない。例えば、メモリコアMRのI/O線MIOiのピッチと論理回路のI/O線LIOiのピッチとが合わされる場合、メモリコアMRと転送回路TGとは一体にすることができる。従ってメモリコアMRと転送回路TGとを合わせたものをメモリコア又はメモリマクロと称してもよい。
MR…メモリコア MC…メモリセル DL…データ線 WL…ワード線 PER…周辺回路 RWC…読み出し書き込み回路 LC…論理回路 TG…転送回路 SWG…スイッチ群 TGBUFi…バッファ群 MIOi、TGCi、LIOi…制御信号 DB…コア回路、論理ライブラリのデータベース用記憶装置 LL…論理ライブラリ WS…設計用ワークステーション LSI-A、LSI-B…半導体チップ MMACRO…メモリマクロ LOGIC…論理回路ブロック AMP…アンプモジュール BANK…バンクモジュール PS…電源モジュール MAINCNT…主制御回路ブロック BYTCNT…バイトコントロールブロック BNKCNT-1…下部バンクコントロールブロック BNKCNT-2…上部バンクコントロールブロック MCA…メモリセルアレー SUBARY…サブメモリセルアレー(バンクモジュール内I/O線の分割単位) SA…センスアンプ PC…プリチャージ回路 MC1、MC2…メモリセル WD…ワードドライバ XD…Xデコーダ YD…Yデコーダ DWL…ダミーワード線 ONESHOT…ワンショットパルス発生回路 RS-1、RS-2…セット/リセットフリップフロップ D-FF…遅延フリップフロップ(Dフリップフロップ) XLT…Xアドレスラッチ回路 YLT…Yアドレスラッチ回路 XPC…プリチャージ信号発生回路 VCHG…VCH発生回路 VBBG…アレイ内基板電圧発生回路 HVCG…ビット線プリチャージ電圧発生回路 D1、D2、D3、D5、D15…遅延回路 Qi、QAi、QRi…MOSトランジスタ VCC…電源電圧 VCH…ワード線電圧 VSS…電源電圧(グランド電位) VBB…電源電圧 HVC…電源電圧の半分の電圧 B、/B…ビット線 GBLij、/GBLij…グローバルビット線 I/O…サブメモリセルアレイブロック内の入出力線 YSi…カラムアドレスセレクト信号 FPC…ビット線プリチャージ信号 FSA…Nチャネルセンスアンプ起動信号 FSAB…Nチャネルセンスアンプ起動信号 W、W1、W2…ワード線 CSP…Pチャネルセンスアンプ共通駆動線 CSN…Nチャネルセンスアンプ共通駆動線 DQ-ij…メモリマクロのデータ入出力線 BEi…バイト制御信号 CLK…クロック信号 DCA…バンク活性化フラグ DCS…バンク閉鎖フラグ YP…カラムアドレスイネーブル信号 AXij…ローアドレス信号(Xアドレス信号) AYi…カラムアドレス信号(Yアドレス信号) Ri…ロー系バンクアドレス Ci…カラム系バンクアドレス RST…パワーオン時リセット信号。