(58)【調査した分野】(Int.Cl.,DB名)
前記不揮発性メモリセルは、前記記憶素子から読出した電位をセンスするCMOSインバータ、又は、前記読み出した電位のコンダクタンスを調整するMOSトランジスタを備える、請求項1又は2に記載の半導体装置。
前記不揮発性メモリセルは、1つのnMOSトランジスタを備え、前記メモリセルアレイの外部に、前記読み出した電位のコンダクタンスを調整するMOSトランジスタを備える、請求項1又は2に記載の半導体装置。
各々が複数の前記メモリセルアレイを有し、且つ、前記メモリセルアレイに真理値表データを書き込むと、論理要素又は接続要素として動作する複数の論理部を有する、請求項1〜4の何れか1項に記載の半導体装置。
【発明の概要】
【0005】
MLUTに搭載されるメモリセルユニットは、SRAM(Static Random Access Memory)で構成されている。そのため、MPLDは、起動時に、外付けROM(Read Only Memory)などの不揮発性の記憶媒体から、回路構成情報を呼び出した後に動作するので、電源投入後にすぐに動作することができない。
【0006】
不揮発性メモリセルを用いたメモリセルユニットがある。不揮発メモリセルアレイとしてはフラッシュメモリや相変化メモリ(以下「PRAM:Phase change Random Access Memory」と言う)などが知られている(特許文献2)。しかし、フラッシュメモリは標準CMOS工程で製造することが難しい。さらに、PRAMはGST(GeSbTe)などの相変化膜を使うもので宇宙線などの影響を受けづらく信頼性が高いというメリットがあるが、相変化膜のリソグラフィーが必要でフラッシュ以上に特殊な工程が必要になる。
【0007】
本発明の一実施形態に係る半導体装置は、不揮発性メモリセルアレイを備え、データ書込みと読み出し動作において、外部からの呼び出し処理を不要にして、電源投入後すぐの動作を可能にし、さらに、製造工程において相変化膜のリソグラフィーを不要とすることを目的とする。
【0008】
上記課題を解決する形態は、下記の項目に記載のようなものである。
【0009】
1.アドレス線から入力されるアドレスをデコードしてワード線にワード選択信号を出力するアドレスデコーダと、
前記各ワード線と各データ線とが交差する位置にそれぞれ配置された複数の不揮発メモリセルを有し、前記不揮発性メモリセルは、相変化膜の一部を記憶素子として使用し、前記相変化膜の一端が電源電圧に接続した電極に接続している、メモリセルアレイと、
前記相変化膜の他端に接続された前記データ線の電位を下げて、前記相変化膜の一部に相変化を生じさせ、前記不揮発メモリセルへデータを書き込むデータ線電圧制御部と、を備えることを特徴とする半導体装置。相変化膜の一部を記憶素子として使うので、相変化膜のリソグラフィーを不要にする。
【0010】
2.前記電源電圧を供給する一面電極を相変化膜の上に配置し、前記ワード線とデータ線と、前記データ線電圧制御部が、相変化膜の下部にある、項目1に記載の半導体装置。簡易なプロセスで、半導体装置を製造可能である。
【0011】
3.読出し時の電圧より高い電圧を前記記憶素子に印加する相変化膜電圧制御部をさらに備える項目1又は2に記載の半導体装置。書き込み時にはデータ線の電位が下がっているので、書込み時に印加する電圧も過剰に高くしなくてよい。
【0012】
4.前記不揮発性メモリセルは、前記記憶素子から読出した電位をセンスするCMOSインバータ、又は、前記読み出した電位のコンダクタンスを調整するMOSトランジスタを備える、項目1〜3の何れか1項に記載の半導体装置。相変化膜の製造バラつきにより生じる読出し電位のバラつきを回避する。
【0013】
5.前記不揮発性メモリセルは、1つのnMOSトランジスタを備え、前記メモリセルアレイの外部に、前記読み出した電位のコンダクタンスを調整するMOSトランジスタを備える、項目1〜3の何れか1項に記載の半導体装置。nMOSトランジスタにより、セル面積を小さくするとともに、MOSトランジスタにより、相変化膜の製造バラつきにより生じる読出し電位のバラつきを回避する。
【0014】
6.各々が複数の前記メモリセルアレイを有し、且つ、前記メモリセルアレイに真理値表データを書き込むと、論理要素又は接続要素として動作する複数の論理部を有する、項目1〜6の何れか1項に記載の半導体装置。半導体装置をMPLDとして利用できる。
【0015】
7.前記アドレス線と、データ線は、それぞれN(Nは、2以上の整数)本あり、
前記論理部のN本のアドレス線は、前記論理部の他のN個の論理部のデータ線に、それぞれ接続するとともに、前記論理部のN本のデータ線は、前記論理部の他のN個の記憶部のアドレス線に、それぞれ接続する項目1〜6の何れか1項に記載の半導体装置。
【0016】
本発明の一実施形態に係る半導体装置は、不揮発性メモリセルアレイを備え、データ書込みと読み出し動作において、外部からの呼び出し処理を不要にして、電源投入後すぐの動作を可能にし、さらに、製造工程において相変化膜のリソグラフィーを不要にすることができる。
【発明を実施するための形態】
【0018】
以下、図面を参照して、〔1〕半導体装置、〔2〕MPLDの詳細、及び、〔3〕MPLDの詳細の詳細について順に説明する。
【0019】
〔1〕半導体装置
図1は、一実施形態に係るメモリセルの断面図である。メモリセルの記憶素子は、相変化膜層41から構成される。本実施形態において、相変化膜層41は、化合物薄膜であるゲルマニウム、アンチモン、テルル(以下、「GST」)から構成される。なお、相変化膜41は、以下、「GST」として言及される。相変化膜層41の上面に、上部電極43、下面に、下部電極45及び絶縁層47がそれぞれ備えられる。上部電極43は、例えば、アルミニウムであり、絶縁層47は、例えば、二酸化ケイ素であり、下部電極45は、例えば、Ti/TiNx/Alからなる貫通電極である。下部電極45の下部にはさらに半導体回路層50が設けられる。相変化膜層41は、上部電極43と下部電極45との間に電流を流すと、相が結晶性又はアモルファスに変わり、それに伴い抵抗値が変わる。相変化膜層41を融解温度以上に加熱し急冷するとアモルファス相(高抵抗)となる。相変化膜層41をある温度以上に加熱し徐冷すると結晶性相(低抵抗)となる。この抵抗値の違いにより生じる読出し時の状態電位を信号の0/1に対応させることで、相変化膜層41は、メモリセルの記憶素子として、記憶保持する。
図1において、上部電極43と相変化膜41は、外部電極部を除くチップ全面を覆っており、パターニングされていない。
【0020】
相変化領域48は、アモルファス相から結晶相に相変化したに変化する領域である。絶縁層47の上部にある相変化膜層41は初期状態が高抵抗のアモルファス相なので、相変化領域48同士が短絡することを防いでいる。相変化膜層41は、相変化膜の一部をメモリセルの記憶素子として使用する。従来、PRAMは、相変化物質を絶縁保護する構成で実現されていたが、本実施形態にかかる相変化膜層41は、相変化物質を絶縁保護する必要が無いため、製造プロセスの簡略化が図れる。
【0021】
図1Bは、相変化膜の抵抗値のバラつきの一例を示す図である。本構成では相変化膜層41がパターニングされていないため、上部電極43と下部電極45の印加電圧によって相変化領域48A〜48Cの大きさが異なる。その結果、相変化膜の抵抗値にバラつきが生じる。
【0022】
図1Bに示したように、一面成膜では、相変化領域48のサイズが印加電圧により変化し、相変化の抵抗値にバラつきがあるので、ある設定した高抵抗又は低抵抗で読み出すように回路の設計を行うと、正常に動作しない恐れがある。また構造上、相変化に必要な熱を得るために、ある一定の書込み電圧(Vdd_W)が必要であり、読み出しの際は、相変化が起こらない読み出し電圧(Vdd_R)で読み出しを行わなければならない。以上の制約を考慮して、半導体装置が設計される。
【0023】
図2は、半導体装置の一例を示す図である。
図2に示される半導体装置100は、各々がデータを記憶するメモリセルからなるメモリセルアレイ110と、アドレスデコーダ120と、メモリセルアレイ110へのデータ読出し又はデータ書込みを行うデータ入出力部140と、を有する。
【0024】
メモリセルアレイ110は、m×2
m個のメモリセル(それに伴う記憶素子)を有し、m×2
n個のメモリセルは、2のn乗本のワード線と、m本のデータ線(「ビット線」とも言う。以下同じ)の接続部分に配置される。
【0025】
アドレスデコーダ120は、n本のアドレス信号線から受け取ったアドレス信号を受け取ると、それをデコードして、2のn乗本のワード線WLにデコード信号であるワード線選択信号及びデータ入出力部140で選択するデータ線選択信号を出力し、対応するメモリセルに対するデータの読み出し又は書込み処理が行なわれるようにする。
【0026】
データ線電圧制御部142は、アドレスデコーダ120から出力されたデータ線選択信号を受け取るとともに、例えば、外部からライトイネーブル(WE)の立ち上がりエッジタイミングを受け取ると、対応するデータ線の電位を下げる。このようにすることで、データ線の電位を下げ、相変化膜に相変化を生じさせるために十分な電圧を、相変化膜層41に印加する。
【0027】
データ入出力部140は、例えば、外部からライトイネーブル(WE)の立ち上がりエッジタイミング及び書込データを受け取ると、m本のデータ線b、/bにその書込データの信号レベルを伝えて、メモリセルにデータを書き込む。また、データ入出力部140は、外部からリードイネーブル(RE)の立ち上がりエッジタイミングを受け取ると、m本のデータ線b、/bの信号レベルを外部に出力することで、読出データを出力する。
【0028】
相変化膜電圧制御部150は、外部からライトイネーブル(WE)の立ち上がりエッジタイミングを受け取ると、相変化膜層41への供給電圧を書込み用電圧(Vdd_W)に変え、ライトイネーブルの立ち下がりエッジタイミングで、書込み用電圧の供給を止める。また、相変化膜電圧制御部150は、外部からリードイネーブル(RE)のエッジタイミングを受け取ると、相変化膜層41への供給電圧を読み出し用電圧(Vdd_R)に変え、ライトイネーブルの立ち下がりエッジタイミングで、読み出し用電圧の供給を止める。また、周辺回路として、2つのインバータから構成されるデータ線電圧制御部142と、相変化膜電圧制御部150とが存在する。
【0029】
〔1.1〕 5トランジスタメモリセルの回路構成
図3は、一実施形態に係るメモリセル回路の第1例を示す図である。
図3に示すメモリセル40は、5個のトランジスタとGSTで構成されており、具体的には、1つのpMOS(positive Channel Metal Oxide Semiconductor)トランジスタ161と、4つのnMOS(negative Channel Metal Oxide Semiconductor)トランジスタ162〜165と、相変化膜層41の一部から構成される抵抗であるGST166とで構成される。GST166はアレイにしたとき、互いが共通で接続できるようにしている。
【0030】
GST166は、相変化膜層41の一部、つまり、
図1に示す下部電極45の上部にある相変化膜層41により構成される。相変化膜層41が結晶性又はアモルファスに変わり、それに伴い抵抗値が変わることで、GST166は、「0」又は「1」の状態を保持する記憶素子として機能する。
【0031】
pMOS161のソースは、VDD(電源電圧端)に接続し、nMOS162のソースは、VSS(接地電圧端)に接続している。pMOS161と、nMOS162は、それぞれのドレインを接続することで、CMOS(Complementary Metal Oxide Semiconductor)インバータとして動作する。CMOSインバータは、GST166に保持される状態に従って出力される信号レベルを、センスし、nMOSトランジスタ163を介して、読出データ線RDataに出力する。
【0032】
nMOSトランジスタ163は、ゲートが読出ワード線R_rowに接続しており、ゲートに読出ワード線R_rowからの信号を印加すると、CMOSインバータによってセンスされたGST166の状態信号を出力する。上記のように、一面成膜は製造プロセスにおいて初期抵抗値にバラつきが生じる可能性がある。nMOSトランジスタ165は、ゲートがGST166に接続し、ソースが低バイアスBias_Lに接続しており、ゲートに中バイアスBias_Mの電圧Vdd_Mを印加することで、コンダクタンスを調整することにより、読み出し動作におけるGST166の抵抗値のバラつきを小さくする。そして、CMOSインバータによってGST166の状態信号の出力をセンスして、電圧を増幅する。
【0033】
また、低バイアスBias_Lは、GST166のnMOSトランジスタ165の電圧分割するときに分割電圧を上げ、pMOS161と、nMOS162で構成されたCMOSインバータの閾値に電圧分割の中心値を持っていくための電圧である。
【0034】
周辺回路であるデータ線電圧制御部142は、入出力を反転する2つのインバータ181、182であり、書込データ線WData、読出データ線RDataの線上に設ける。書き込み処理時は、書込データWDataをインバータで反転信号/WDataにすることで、書込データWDataが「1」の時にVSSをインバータで作り出し、GST166に書き込みを行う。このようにして、選択された書込データ線WDataの電圧は、書込み処理時にVSSに下げられる。
【0035】
相変化膜電圧制御部150は、メモリセルユニット内の全てのGST166に接続する。書込み処理時には、メモリセルユニット内の全てのGST166への供給電圧(Wr_vdd)を書込み用電圧(Vdd_W)に変え、読み出し処理時には、GST166への供給電圧を読み出し用電圧(Vdd_R)に変える。
【0036】
書込データ線WDataは、データ線電圧制御部142により、書込み動作時に、電圧が下がる。nMOSトランジスタ164は、ゲートが書込ワード線W_rowに接続しており、ゲートに書込ワード線W_rowからの信号を印加すると、書込データ線WDataと、GST166とを電気的に接続する。書込み動作では、書込データ線WDataの電圧が降下するのと同時に、GST166に、読み出し電圧(Vdd_R)より高い書込み電圧(Vdd_W)が印加するので、GST166に相変化を生じさせる電圧が印加される。
【0037】
〔1.2〕 5トランジスタメモリセルのメモリ動作
図4は、
図3に示したメモリセル回路のメモリ動作波形を示す図である。
T1で示される書き込み処理では、まず、書込みワード線W_rowに「1」(H(Vdd))をセットし、書込データ線WData線を「1」をセットする。すると、書込データ線WData線にセットされた「1」が、インバータによって反転され、Y点が「0」になる。このとき、Wr_vdd線から、書き込み電圧Vdd_Wを印加すると、GST166の両端に電圧差Vdd_Wが発生する。そして、電圧差Vdd_Wを徐々に下げていくことで、相変化が起こり、書き込みが行われる。
【0038】
T2で示される読み出し処理では、まず、Bias_M線を、電圧Vdd_M、Bias 線を電圧Vdd_bにセットする。また、読み出しワード線R_row線を、「1」にセットする。そしてWr_vdd線に読み出し電圧Vdd_Rを印加する。するとVdd_RがGST166とnMOSトランジスタ165で分圧され、GST166の抵抗値に応じた分圧電圧が発生する。この分圧電圧をセル内のインバータでセンスし、さらにセル外のインバータで反転し、RData線に出力されることで、読み出しが行われる。Wr_vdd線からBias_L線へ流れる電流が、相変化膜(GST166)とnMOSトランジスタ165によって分圧され、それがCMOSインバータでセンスされて読出データ線RDataに出力される。もし、相変化膜の各相での抵抗値がバラついてしまっても、Bias_M線に印加する電圧Vdd_Mにより、nMOSトランジスタ165のコンダクタンスを調整できるので、対処できる。
【0039】
〔1.3〕 1トランジスタメモリセルの回路構成
図5は、一実施形態に係るメモリセル回路の第2例を示す図である。
図5に示すメモリセル40Aは、1つのnMOSトランジスタ164Bと、相変化膜層41の一部から構成されるGST166とで構成される。また、周辺回路として、2つのインバータ181A、182A、nMOSトランジスタ167、CMOS168から構成されるデータ線電圧制御部142Aと、相変化膜電圧制御部150とが存在する。相変化膜電圧制御部150の動作は、
図3及び
図4を用いて説明した動作と同じである。
【0040】
メモリセル40Aは1個のnMOSトランジスタ164BとGST166で構成されており、メモリセル40と同様に、互いのGSTが共通で接続できるようにしている。また、この回路40Aは、メモリセル40は、pMOSを使っているので、セル面積が大きくなる。したがって、PMOSをNMOSに置き換えてることで、セル面積を減らし、それに伴い異なる周辺回路142Aを有する。周辺回路としてのデータ線電圧制御部142Aは、入出力を反転する2つのインバータ181A、182Aが、書き込みを制御するCMOSスイッチ168、また読み出し動作時に使われるnMOSトランジスタ167を有する。
【0041】
nMOSトランジスタ164Aは、ゲートがワード線WLに接続しており、ゲートに読出ワード線WLからの信号を印加すると、GST166の状態信号を出力する。上記のように、一面成膜は製造プロセスにおいて初期抵抗値にバラつきが生じる可能性がある。周辺回路であるデータ線電圧制御部142AのnMOSトランジスタ167は、ゲートがRead_bias線に接続し、ソースがBiasに接続しており、ゲートにRead_bias線の電圧Vdd_Mを印加することで、コンダクタンスを調整することにより、読み出し動作におけるGST166の抵抗値のバラつきを小さくする。
【0042】
〔1.4〕1トランジスタメモリセルのメモリ動作
図6は、
図5に示したメモリセル回路のメモリ動作波形を示す図である。特に注釈がない波形の立ち上がりは信号「1」、立ち下がりを信号「0」とする。また、GSTの高抵抗が信号「1」、低抵抗が信号「0」と対応している。そして、GSTの初期抵抗を高抵抗とする。
【0043】
書き込み処理(T1)では、書込データ線WData、ライトイネーブル(WE)線、ワード線WLに、「1」をセットする。すると、書込データ線WDataにセットされた「1」が、インバータによって反転され、ONになったCMOSスイッチ168、nMOSトランジスタ167を介して、Y点を「0」にする。このとき、Wr_vdd線から、書き込み電圧Vdd_Wを印加すると、GST166の両端(X点、Y点)に電圧差Vdd_Wが発生する。そして、Vdd_Wを徐々に下げていくことで、相変化が起こり、書き込みが行われる。
【0044】
読み出し処理(T2)では、まず、Read_bias線を、電圧Vdd_Mにセットする。また、ワード線WLを、「1」にセットする。そしてWr_vdd
線に読み出し電圧Vdd_Rを印加する。すると電圧Vdd_RがGST166とnMOSトランジスタ167で分圧され、GST166の抵抗値に応じた分圧電圧が発生する。この分圧電圧をセル外のインバータでセンスし、読出データ線RDataに出力することで、読み出しが行われる。
【0045】
図7は、相変化膜からなる記憶素子への書き込み時と、書き込み後の読出し時のIV特性を示す図である。また、
図8は、相変化膜からなる記憶素子への書き込み時と、書き込み後の読出し時の抵抗変化を示す図である。「a→c」は、書き込み時を示し、「c→c」は、読出し時を示す。なお、このIV特性および抵抗変化は、下部電極48のビアサイズと、相変化膜41の膜厚で変化する。例えば、ビアサイズを大きく、又は、膜厚を薄くすれば、アモルファス相の高抵抗は小さくなる。また、結晶化状態の低抵抗値は、トランジスタのコンプライアンス電流値で決まってくる。
【0046】
以上、説明した半導体装置100は、以下に示すMLUT30として用いることができる。これにより、MLUT30に保持するデータを不揮発性にすることができるので、外部からの回路構成情報の呼び出し処理を不要にして、電源投入後すぐの動作を可能にし、さらに、簡略な回路構成で、MLUTを実現できる。
【0047】
〔2〕MPLDの詳細
図9Aは、MPLDの詳細例を示す図である。
図9Aに示す20は、半導体装置としてのMPLDである。MPLD20は、記憶素子ブロックとしてのMLUT30を複数有するとともに、MLUTデコーダ12を有する。また、後述するように、MPLD20は、演算処理装置と接続する論理部として動作する。
【0048】
MPLD20は、複数の記憶素子を含む。記憶素子には、真理値表を構成するデータがそれぞれ記憶されることで、MPLD20は、論理要素、又は、接続要素、又は、論理要素及び接続要素として動作する論理動作を行う。
【0049】
MPLD20はさらに、メモリ動作を行う。メモリ動作とは、MLUT30に含まれる記憶素子へのデータの書込みや読み出しをいう。よって、MPLD20は、主記憶装置や、キャッシュメモリとして動作することができる。
【0050】
MLUT30へのデータの書込みは、真理値表データの書き換えにもなるため、メモリ動作は、真理値表データの再構成を生じる。なお、再構成のうち、MPLD内の特定の1つ又は複数のMLUT、又はMLUTを構成する特定の1つ又は複数の記憶素子に記憶された真理値表データを書き換えることを「部分再構成」という。
【0051】
〔2.1〕MPLDのメモリ動作
図9Bは、MPLDのメモリ動作の一例を示す図である。MPLD20は、メモリ動作で、実線で示されるメモリ動作用アドレス、MLUTアドレス、書込みデータWD、及び読み出しデータRDの何れかの信号を使用し、破線で示される論理動作用アドレスLA、及び論理動作用データLDは使用しない。なお、メモリ動作用アドレスWA、MLUTアドレスMA、及び書込みデータWDは、例えば、MPLD20の外部にある演算処理装置によって出力され、読み出しデータRDは、演算処理装置に出力される。
【0052】
メモリ動作では、MPLD20は、記憶素子を特定するアドレスとして、メモリ動作用アドレス及びMLUTアドレスを受け取るとともに、書込みのときは書込みデータを受け取り、読み出しのときは読み出しデータLDを出力する。
【0053】
MLUTアドレスとは、MPLD20内に含まれる1つのMLUTを特定するアドレスである。MLUTアドレスは、l本の信号線を介してMPLD20に出力される。なお、lとは、MLUTを特定する選択アドレス信号線の数である。l本の信号線で、2のl乗の数のMLUTを特定することができる。MLUTデコーダ12は、l本の信号線を介してMLUTアドレスを受け取るとともに、MLUTアドレスMAをデコードして、メモリ動作の対象となるMLUT30を選択し特定する。メモリ動作用アドレスWAは、l本の信号線を介して、
図11を用いて後述するアドレスデコーダでデコードされて、メモリ動作の対象となるメモリセルを選択する。
【0054】
なお、MPLD20は、例えば、MLUTアドレスMA、書込みデータWD及び読み出しデータRDは、全てn本の信号線を介して受け取る。なお、nとは、
図10を用いて後述されるように、MLUTのメモリ動作用又は論理動作用の選択アドレス信号線の数である。MPLD20は、n本の信号線を介して、MLUTアドレスMA、書込みデータWD及び読み出しデータRDを各MLUTに供給する。
【0055】
〔2.2〕MPLDの論理動作
図9Cは、MPLD20の論理動作の一例を示す図である。
図9Cにおいて、MPLD20の論理動作では、実線で示される論理動作用アドレスLA、及び論理動作用データLDの信号を使用する。
【0056】
MPLD20の論理動作では、論理動作用アドレスLAは、外部装置から出力され、MLUT30の真理値表によって構成される論理回路の入力信号として使用される。そして、論理動作用データLDは、上記論理回路の出力信号であり、論理回路の出力信号として、外部装置に出力される。
【0057】
複数のMLUTのうち、MPLD20の外延に配置されるMLUTは、MPLD20の外部の装置と、論理動作用のデータである論理動作用アドレスLAを受け取り、論理動作用データLDを出力するMLUTとして動作する。例えば、
図9Aに示すMLUT30a、30bは、半導体装置100の外部から論理動作用アドレスLAを受け取り、周囲にある他のMLUT30dに論理動作用データLDを出力する。また、
図9Aに示すMLUT30e、30fは、他のMLUT30c、30dから論理動作用アドレスLAを受け取り、MPLD20の外部に論理動作用データLDを出力する。
【0058】
MLUTの論理動作用アドレスLAのアドレス線は、隣接するMLUTの論理動作用データLDのデータ線と接続しており、例えば、MLUT30cは、MLUT30aから出力された論理動作用データを、論理動作用アドレスとして受け取る。このように、MLUTの論理動作用アドレス又は論理動作用データは、周囲にあるMLUTとの入出力により得られる点で、各々のMLUTが独自に接続するMLUTアドレスと異なる。
【0059】
MPLD20の論理動作により実現される論理は、MLUT30に記憶される真理値表データにより実現される。いくつかのMLUT30は、AND回路、加算器などの組み合わせ回路としての論理要素として動作する。他のMLUTは、組み合わせ回路を実現するMLUT30間を接続する接続要素として動作する。論理要素、及び接続要素を実現するための真理値表データの書き換えは、上述のメモリ動作による再構成によりなされる。
【0060】
〔3〕MLUTの詳細
以下に、MLUTについて説明する。
図10は、MLUTの第1例を示す図である。
図10に示すMLUT30は、アドレス切替回路10aと、アドレスデコーダ9と、記憶素子40と、出力データ切替回路10bとを有する。
図10に示すMLUT30は、動作切替信号SSが論理動作を示す場合、論理動作用アドレスLAに従って、論理動作用データLDを出力するように動作する。また、MLUT30は、動作切替信号SSがメモリ動作を示す場合、メモリ動作用アドレスWAに従って、書込みデータWDを受け入れ、又は、読み出しデータRDを出力するように動作する。
【0061】
アドレス切替回路10aは、メモリ動作用アドレスWAが入力されるn本のメモリ動作用アドレス信号線と、論理動作用アドレス信号LAが入力されるn本の論理動作用アドレス入力信号線と、動作切替信号SSが入力される動作切替信号線とを接続する。アドレス切替回路10aは、動作切替信号SSに基づいて、メモリ動作用アドレスWA、又は論理動作用アドレスLAのいずれかをn本の選択アドレス信号線に出力するように動作する。このように、アドレス切替回路10aが、アドレス信号線を選択するのは、記憶素子40が読み出し動作と書込み動作の何れかを受け付ける1ポート型の記憶素子であるからである。
【0062】
アドレスデコーダ9は、アドレス切替回路10aから供給されるn本のアドレス信号線から受け取った選択アドレス信号をデコードし、2のn乗本のワード線にデコード信号を出力する。
【0063】
n×2
n個の記憶素子は、2のn乗本のワード線と、n本の書込データ線と、n個の出力データ線の接続部分に配置される。
【0064】
出力データ切替回路10bは、n本の出力データ線から信号を受け取ると、入力される動作切替信号に従って、読み出しデータをn本の読み出しデータ信号線に出力し、又は、読み出しデータを論理動作用信号線に出力するように動作する。
【0065】
〔3.1〕MLUTの論理動作
A.論理要素
図11は、論理要素として動作するMLUTの一例を示す図である。
図11に示すMLUTは、
図10に示すMLUT又は
図1、4又は7に示す半導体メモリ装置と同様な回路である。
図11では、説明を簡単にするために、アドレス切替回路10a、及び出力データ切替回路10bの記載は、省略される。
図11に示すMLUT30a、30bは、4つの論理動作用アドレス線A0〜A3と、4つの論理動作用データ線D0〜D3と、4×16=64個の記憶素子40と、アドレスデコーダ9とをそれぞれ有する。論理動作用データ線D0〜D3は、24個の記憶素子40をそれぞれ直列に接続する。アドレスデコーダ9は、論理動作用アドレス線A0〜A3に入力される信号に基づき、24本のワード線のいずれかに接続される4つの記憶素子を選択するように構成される。この4つの記憶素子はそれぞれ、論理動作用データ線D0〜D3に接続され、記憶素子に記憶されるデータを論理動作用データ線D0〜D3に出力する。例えば、論理動作用アドレス線A0〜A3に適当な信号が入力される場合は、4つの記憶素子40a、40b、40c、及び40dを選択するように構成することができる。ここで、記憶素子40aは、論理動作用データ線D0に接続され、記憶素子40bは、論理動作用データ線D1に接続され、記憶素子40dは、論理動作用データ線D2に接続され、記憶素子40dは、論理動作用データ線D3に接続される。そして、論理動作用データ線D0〜D3には、記憶素子40a〜40dに記憶される信号が出力される。このように、MLUT30a、30bは、論理動作用アドレス線A0〜A3から論理動作用アドレスを受け取り、その論理動作用アドレスによってアドレスデコーダ9が選択する4つの記憶素子40に記憶される値を、論理動作用データ線D0〜D3に論理動作用データとしてそれぞれ出力する。なお、MLUT30aの論理動作用アドレス線A2は、隣接するMLUT30bの論理動作用データ線D0と接続しており、MLUT30aは、MLUT30bから出力される論理動作用データを、論理動作用アドレスとして受け取る。また、MLUT30aの論理動作用データ線D2は、MLUT30bの論理動作用アドレス線A0と接続しており、MLUT30aが出力する論理動作用データは、MLUT30bで論理動作用アドレスとして受け取られる。例えば、MLUT30aの論理動作用データ線D2は、MLUT30aの論理動作用アドレス線A0〜A3に入力される信号に基づき、論理動作用データ線D2に接続される24個の記憶素子のいずれか1つに記憶される信号をMLUT30bの論理動作用アドレスA0に出力する。同様に、MLUT30bの論理動作用データ線D0は、MLUT30bの論理動作用アドレス線A0〜A3に入力される信号に基づき、論理動作用データ線D0に接続される24個の記憶素子のいずれか1つに記憶される信号をMLUT30aの論理動作用アドレスA2に出力する。このように、MPLD同士の連結は、1対のアドレス線とデータ線とを用いる。以下、MLUT30aの論理動作用アドレス線A2と、論理動作用データ線D2のように、MLUTの連結に使用されるアドレス線とデータ線の対を「AD対」という。
【0066】
なお、
図11では、MLUT30a、30bが有するAD対は4であるが、AD対の数は、特に後述するように4に限定されない。
【0067】
図12は、論理回路として動作するMLUTの一例を示す図である。本例では、論理動作用アドレス線A0及びA1を2入力NOR回路701の入力とし、論理動作用アドレス線A2及びA3を2入力NAND回路702の入力とする。そして、2入力NOR回路の出力と、2入力NAND回路702の出力を、2入力NAND回路703に入力し、2入力NAND回路703の出力を論理動作用データ線D0に出力する論理回路を構成する。
【0068】
図13は、
図12に示す論理回路の真理値表を示す図である。
図12の論理回路は、4入力のため、入力A0〜A3の全ての入力を入力として使用する。一方、出力は、1つのみなので、出力D0のみを出力として使用する。真理値表の出力D1〜D3の欄には「*」が記載されている。これは、「0」又は「1」のいずれの値でもよいことを示す。しかしながら、実際に再構成のために真理値表データをMLUTに書き込むときには、これらの欄には、「0」又は「1」のいずれかの値を書き込む必要がある。
【0069】
B.接続要素
図14は、接続要素として動作するMLUTの一例を示す図である。
図14では、接続要素としてのMLUTは、論理動作用アドレス線A0の信号を論理動作用データ線D1に出力し、論理動作用アドレス線A1の信号を論理動作用データ線D2に出力し、論理動作用アドレス線A2の信号を論理動作用データ線D3に出力するように動作する。接続要素としてのMLUTはさらに、論理動作用アドレス線A3の信号を論理動作用データ線D1に出力するように動作する。
【0070】
図15は、
図14に示す接続要素の真理値表を示す図である。
図14に示す接続要素は、4入力4出力である。したがって、入力A0〜A3の全ての入力と、出力D0〜D3の全ての出力が使用される。
図15に示す真理値表によって、MLUTは、入力A0の信号を出力D1に出力し、入力A1の信号を出力D2に出力し、入力A2の信号を出力D3に出力し、入力A3の信号を出力D0に出力する接続要素として動作する。
【0071】
図16は、AD0、AD1、AD2、及びAD3の4つのAD対を有するMLUTによって実現される接続要素の一例を示す図である。AD0は、論理動作用アドレス線A0と論理動作用データ線D0とを有する。AD1は、論理動作用アドレス線A1と論理動作用データ線D1とを有する。AD2は、論理動作用アドレス線A2と論理動作用データ線D2とを有する。そして、AD3は、論理動作用アドレス線A3と論理動作用データ線D3とを有する。
図16において、1点鎖線は、AD対0の論理動作用アドレス線A0に入力された信号がAD対1の論理動作用データ線D1に出力される信号の流れを示す。2点鎖線は、第2のAD対1の論理動作用アドレス線A1に入力された信号がAD対2の論理動作用データ線D2に出力される信号の流れを示す。破線は、AD対2の論理動作用アドレス線A2に入力された信号がAD対3の論理動作用データ線D3に出力される信号の流れを示す。実線は、AD対3の論理動作用アドレス線A3に入力された信号がAD対0の論理動作用データ線D0に出力される信号の流れを示す。
【0072】
なお、
図16では、MLUT30が有するAD対は4であるが、AD対の数は、特に4に限定されない。
【0073】
C.論理要素と接続要素の組合せ機能
図17は、1つのMLUTが、論理要素及び接続要素として動作する一例を示す図である。
図17に示す例では、論理動作用アドレス線A0及びA1を2入力NOR回路121の入力とし、2入力NOR回路121の出力と、論理動作用アドレス線A2とを2入力NAND回路122の入力とし、2入力NAND回路122の出力を論理動作用データ線D0に出力する論理回路を構成する。また同時に、論理動作用アドレス線A3の信号を論理動作用データ線D2に出力する接続要素を構成する。
【0074】
図18に、
図17に示す論理要素及び接続要素の真理値表を示す。
図17の論理動作は、入力D0〜D3の3つの入力を使用し、1つの出力D0を出力として使用する。一方、
図18の接続要素は、入力A3の信号を出力D2に出力する接続要素が構成される。
【0075】
図19は、AD0、AD1、AD2、及びAD3の4つのAD対を有するMLUTによって実現される論理動作及び接続要素の一例を示す図である。
図16に示すMLUTと同様に、AD0は、論理動作用アドレス線A0と論理動作用データ線D0とを有する。AD1は、論理動作用アドレス線A1と論理動作用データ線D1とを有する。AD2は、論理動作用アドレス線A2と論理動作用データ線D2とを有する。そして、AD3は、論理動作用アドレス線A3と論理動作用データ線D3とを有する。上述のように、MLUT30は、3入力1出力の論理動作と、1入力1出力の接続要素との2つの動作を1つのMLUT30で実現する。具体的には、論理動作は、AD対0の論理動作用アドレス線A0と、AD対1の論理動作用アドレス線A1と、AD対2の論理動作用アドレス線A2とを入力として使用する。そして、AD対0の論理動作用データ線D0のアドレス線を出力と使用する。また、接続要素は、破線で示すようにAD対3の論理動作用アドレス線A3に入力された信号をAD対2の論理動作用データ線D2に出力する。
【0076】
上記したように、MPLD内のMLUTは、複数のアドレス線を介して互いに接続しているので、ワード選択信号を介して、外部ノイズがメモリセルに書き込まれる御動作が生じやすい。そのため、MLUTにATD回路があることにより、アドレスが変化したときだけ、メモリセルへの書込みが行われるので、外部ノイズの書込み誤動作を回避できる。
【0077】
以上説明した実施形態は典型例として挙げたに過ぎず、その各実施形態の構成要素の組合せ、変形及びバリエーションは当業者にとって明らかであり、当業者であれば本発明の原理及び請求の範囲に記載した発明の範囲を逸脱することなく上述の実施形態の種々の変形を行えることは明らかである。