(57)【特許請求の範囲】
【請求項１】
非反転入力端子が第１信号入力端子に接続され、反転入力端子が第２信号入力端子に接続されるオペアンプ、前記オペアンプの出力端子、および前記反転入力端に負帰還する経路、を有するアナログ部と、
前記複数の論理部は、複数のアドレス線と、複数のデータ線と、メモリユニットと、前記アドレス信号をデコードして、前記メモリユニットにデコード信号を出力するアドレスデコーダとを、それぞれが有する、複数の論理部とを備え、
前記第１入力端子、前記第２入力端子、及び前記出力端子に、それぞれ前記複数の論理部の何れかが接続し、接続した各論理部が、前記第１入力端子、前記第２入力端子、及び前記出力端子の何れかの接続をオンオフするスイッチとして動作する再構成可能オペアンプ。
【請求項２】
前記アナログ部は、前記１入力端子、前記第２入力端子、及び前記出力端子に接続された信号線の少なくとも一つには、抵抗素子が設けられ、
前記複数の論理部の何れかが、信号線に接続し、前記抵抗素子をバイパスするスイッチとして動作する、請求項１に記載の再構成可能オペアンプ。
【請求項３】
前記抵抗素子は、前記１入力端子、前記第２入力端子、及び前記出力端子に接続された信号線の少なくとも一つに、直列又は並列配置で、設けられ、前記論理部が、前記抵抗素子の接続をオンオフするスイッチとして動作する請求項２に記載の再構成可能オペアンプ。
【請求項４】
前記論理部は、マルチルックアップテーブルである、請求項１〜３の何れか１項に記載の再構成可能オペアンプ。
【請求項５】
前記複数の論理部と、前記アナログ部が同一チップパッケージ内に実装されている、請求項１〜４の何れか１項に記載の再構成可能オペアンプ。
【請求項６】
請求項１〜４の何れか１項に記載の再構成可能オペアンプを複数備え、
前記論理部は、前記複数の再構成可能オペアンプを互いに接続する前記論理部を備える、再構成可能オペアンプデバイス。
【請求項７】
請求項１〜４の何れか１項に記載の再構成可能オペアンプを複数備え、
前記複数の再構成可能オペアンプを互いに接続するトランジスタを備える、再構成可能オペアンプデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、再構成可能オペアンプに関する。
【背景技術】
【０００２】
ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）などの再構成可能（プログラム可能、又は、書込み可能）な半導体装置は、その再書込み可能性によって与えられる柔軟性のため、広く使用されている（例えば、特許文献１）。さらに、近年、ＦＰＧＡ（ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）等の再構成可能デバイスは、微細化が進んでいる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２００２／５３８６５２号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＦＰＧＡのようなデジタル回路と異なり、アナログ回路には、半導体装置より、高い動作電圧と電流が必要となり、微細化が困難である。そのため、アナログ入出力を要する半導体装置では、ＦＰＧＡとは別個に、アナログ設計が必要になる。しかし、ハードウェア記述言語による設計入力が可能なデジタル回路設計と異なり、アナログ回路設計は、ツールによる設計が困難であり、デジタル回路設計と比して、設計時間が長くなる。
【０００５】
上記課題を解決する形態は、以下の項目セットにより示されるように、オペアンプの回路構成や特性の変更を再構成可能とすることを課題とする。
【０００６】
１．非反転入力端子が第１信号入力端子に接続され、反転入力端子が第２信号入力端子に接続されるオペアンプと、
前記オペアンプの出力端子と、前記反転入力端に負帰還する経路と、
複数の論理部と、を備え、
前記第１入力端子、前記第２入力端子、及び前記出力端子に、それぞれ前記複数の論理部の何れかが接続する、再構成可能オペアンプ。
２．前記１入力端子、前記第２入力端子、及び前記出力端子に接続された信号線の少なくとも一つには、抵抗素子が設けられ、
前記複数の論理部の何れかが、前記抵抗素子をバイパスするため、信号線に設けられる、項目１に記載の再構成可能オペアンプ。
３．前記抵抗素子は、前記１入力端子、前記第２入力端子、及び前記出力端子に接続された信号線の少なくとも一つに、直列又は並列配置で、設けられる、項目２に記載の再構成可能オペアンプ。
４．前記複数の論理部は、複数のアドレス線と、複数のデータ線と、メモリユニットと、前記アドレス信号をデコードして、前記メモリユニットにデコード信号を出力するアドレスデコーダとを、それぞれが有する、項目１〜３の何れか１項に記載の再構成可能オペアンプ。
５．前記論理部は、マルチルックアップテーブルである、項目１〜４の何れか１項に記載の再構成可能オペアンプ。
６．前記複数の論理部と、前記アナログ部が同一チップパッケージ内に実装されている、項目１〜５の何れか１項に記載の再構成可能オペアンプ。
７．項目１〜５の何れか１項に記載の再構成可能オペアンプを複数備え、
前記複数の再構成可能オペアンプを互いに接続する前記論理部を備える、再構成可能オペアンプデバイス。
８．項目１〜５の何れか１項に記載の再構成可能オペアンプを複数備え、
前記複数の再構成可能オペアンプを互いに接続するトランジスタを備える、再構成可能オペアンプデバイス。
【発明の効果】
【０００７】
本発明に係る一実施形態は、オペアンプの回路構成や特性の変更を再構成できる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態に係る再構成可能オペアンプの一例を示す図である。
【図２Ａ】反転増幅回路を構成する再構成可能オペアンプの例を示す。
【図２Ｂ】積分回路を構成する再構成可能オペアンプの例を示す。
【図２Ｃ】微分回路を構成する再構成可能オペアンプの例を示す。
【図２Ｄ】ボルテージフォロアを構成する再構成可能オペアンプの例を示す。
【図２Ｅ】差動増幅回路を構成する再構成可能オペアンプの例を示す。
【図２Ｆ】電流電圧変換回路を構成する再構成可能オペアンプの例を示す。
【図３】再構成可能オペアンプの定数変換の一例を示す図である。
【図４Ａ】複数の再構成可能オペアンプによる回路構成を示す例である。
【図４Ｂ】複数の再構成可能オペアンプから構成されて、計装アンプを構成する再構成可能オペアンプの例である。
【図５Ａ】本実施形態に係るＭＲＬＤチップの一例を示すフロアプランである。
【図５Ｂ】本実施形態に係るＭＲＬＤチップの一例を示す断面図である。
【図６Ａ】本実施形態に係るアナログ回路付きＭＲＬＤチップの詳細例を示すフロアプランである。
【図６Ｂ】図６Ａに示すＭＲＬＤチップの動作例を示す図である。
【図７】本実施形態に係る半導体装置の全体構成の第１例を示す図である。
【図８】２メモリセルユニットからなるＭＬＵＴを横積みして構成されるＭＬＵＴを概略的に示す図である。
【図９】大容量メモリを用いたＭＬＵＴの一例を示す図である。
【図１０】図９に示すＭＬＵＴの回路例を示す図である。
【図１１】図９に示すＭＬＵＴを用いたＭＲＬＤを説明する図である。
【図１２】同期非同期切り替え可能なＭＬＵＴの回路例を示す図である。
【図１３】本実施形態に係るアドレス遷移検出部の回路図である。
【図１４】図１３に示したアドレス遷移検出の信号のタイミングチャートである。
【図１５】ＭＬＵＴの一例を示す図である。
【図１６】論理回路として動作するＭＬＵＴの一例を示す図である。
【図１７】図１６に示す論理回路の真理値表を示す図である。
【図１８】接続要素として動作するＭＬＵＴの一例を示す図である。
【図１９】図１８に示す接続要素の真理値表を示す図である。
【図２０】４つのＡＤ対を有するＭＬＵＴによって実現される接続要素の一例を示す図である。
【図２１】１つのＭＬＵＴが、論理要素及び接続要素として動作する一例を示す図である。
【図２２】図２１に示す論理要素及び接続要素の真理値表を示す。
【図２３】ＡＤ対を有するＭＬＵＴによって実現される論理動作及び接続要素の一例を示す図である。
【図２４】外部システムとＭＲＬＤの接続一例を示す概念図である。
【図２５】情報処理装置のハードウェア構成の一例を示す。
【発明を実施するための形態】
【０００９】
以下、図面を参照して、以下の構成に基づき、再構成可能オペアンプを説明する。なお、再構成可能オペアンプは、アナログ回路であるオペアンプと、複数のＭＬＵＴ（Ｍｕｌｔｉｐｌｅ  Ｌｏｏｋ−Ｕｐ  Ｔａｂｌｅ）で構成される。ＭＬＵＴは、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のようなメモリを有し、その記憶素子に、真理値表とみなされるデータがそれぞれ記憶し、アドレス線が、他のＭＬＵＴのデータ出力線と接続する。ＭＬＵＴは、論理回路として動作するためのＬＵＴとしての機能、配線要素として動作するための信号スイッチとしての機能、また、再構成情報を保持するためのメモリとしての機能を備えている。再構成可能オペアンプは、ＭＬＵＴの真理値表データを書き換えることで、再構成機能を提供する。
【００１０】
以下、１．再構成可能オペアンプ、２．ＭＲＬＤチップ、３．ＭＲＬＤ、４．ＭＬＵＴ、５．同期／非同期ＭＬＵＴ、６．ＭＬＵＴの論理動作、及び、７．真理値表データの生成方法の順に説明する。
【００１１】
１．再構成可能オペアンプ
図１は、本実施形態に係る再構成可能オペアンプの一例を示す図である。再構成可能オペアンプ２００は、オペアンプ（オペレーショナル・アンプリファイア）２５０、ＳＷ１〜１５はスイッチとして動作するＭＬＵＴ、Ｒ２１〜２６は抵抗、Ｃ３１、３２はキャパシタを示す。
【００１２】
オペアンプ２５０は、反転入力端子（−）２５１と、非反転入力端子（＋）２５２と、一つの出力端子２５３を備える。端子２５１〜２５３は、それぞれ、入力端子Ｉ１、入力端子Ｉ２、及び、出力端子Ｏと電気的に接続されている。また、端子２５３から端子２５１へは帰還回路がある。
【００１３】
再構成可能オペアンプ２００は、端子２５１と端子Ｉ１間の配線、端子２５２と端子Ｉ２間の配線、端子２５３と端子Ｏ間の配線、端子２５１と端子２５３間の配線に、スイッチＳＷ、抵抗Ｒが配置され、スイッチＳＷにより、配線経路を変えることで、回路トポロジーと、抵抗とを、変えることができる。
【００１４】
１．１  再構成可能オペアンプのトポロジー変換
再構成可能オペアンプ２００内に構成しているスイッチＳＷをＯＮ／ＯＦＦする事で、再構成可能オペアンプの回路トポロジーの変更を行い、様々な回路構成が可能となる。以下に示す図２Ａ〜図２Ｆでは、配線経路を、スイッチＳＷのＯＮ／ＯＦＦで切り替えることで、所望の回路構成が実現される。
【００１５】
Ａ．反転増幅回路
図２Ａは、反転増幅回路を構成する再構成可能オペアンプの例を示す。図２Ａの下段に示すＴＡＢＬＥ２Ａは、反転増幅回路を実現するためのスイッチＳＷ１〜１５のＯＮ／ＯＦＦ構成を示す。
【００１６】
図２Ａに示されるように、スイッチＳＷ１、４、８、１１、１４、及び１５をＯＮにして、その他のスイッチＳＷをＯＦＦにすることで、再構成可能オペアンプ２００Ａで、反転増幅回路が構成される。構成された反転増幅回路は、反転入力端子（−）２５１に抵抗Ｒｉを接続して入力を加え、非反転入力端子（＋）２５２をアースする。そしてフィードバック抵抗Ｒｆによって出力より反転入力端子（−）２５１に負帰還をかける。
【００１７】
Ｂ．積分回路
図２Ｂは、積分回路を構成する再構成可能オペアンプの例を示す。図２Ｂの下段に示すＴＡＢＬＥ２Ｂは、積分回路を実現するためのスイッチＳＷ１〜１５のＯＮ／ＯＦＦ構成を示す。オペアンプの積分回路は、図示されるように、反転増幅回路の帰還抵抗をコンデンサに置き換えた回路である。
【００１８】
図２Ｂに示されるように、スイッチＳＷ１、４、７、１１、１４、及び１５をＯＮにして、その他のスイッチＳＷをＯＦＦにすることで、再構成可能オペアンプ２００Ｂで、積分回路が構成される。
【００１９】
Ｃ．微分回路
図２Ｃは、微分回路を構成する再構成可能オペアンプの例を示す。図２Ｃの下段に示すＴＡＢＬＥ２Ｃは、微分回路を実現するためのスイッチＳＷ１〜１５のＯＮ／ＯＦＦ構成を示す。オペアンプの微分回路は積分回路とは逆に反転増幅回路の入力抵抗をコンデンサに置き換えた回路である。
【００２０】
図２Ｃに示されるように、スイッチＳＷ２、４、８、１１、１４、及び１５をＯＮにして、その他のスイッチＳＷをＯＦＦにすることで、再構成可能オペアンプ２００Ｃで、微分回路が構成される。
【００２１】
Ｄ．ボルテージフォロア
図２Ｄは、ボルテージフォロアを構成する再構成可能オペアンプの例を示す。図２Ｄの下段に示すＴＡＢＬＥ２Ｄは、ボルテージフォロアを実現するためのスイッチＳＷ１〜１５のＯＮ／ＯＦＦ構成を示す。オペアンプのボルテージフォロアは、出力端子２５３が、ゲイン「１」で、反転入力端子（−）２５１に帰還する。非反転入力端子（＋）２５２に入力された信号は、その電圧と、反転入力端子（−）２５１の電圧が等しい（バーチャルショートと称する）ので、出力電圧は入力電圧と等しくなる。
【００２２】
図２Ｄに示されるように、スイッチＳＷ６、９、１４、及び１５をＯＮにして、その他のスイッチＳＷをＯＦＦにすることで、再構成可能オペアンプ２００Ｄで、ボルテージフォロアが構成される。
【００２３】
Ｅ．差動増幅回路
図２Ｅは、差動増幅回路を構成する再構成可能オペアンプの例を示す。図２Ｅの下段に示すＴＡＢＬＥ２Ｅは、差動増幅回路を実現するためのスイッチＳＷ１〜１５のＯＮ／ＯＦＦ構成を示す。端子Ｉ１の電圧Ｖ１と、端子Ｉ２の電圧Ｖ２の差をとって増幅する回路であり、増幅率は、抵抗Ｒ２／Ｒ１で示される。
【００２４】
図２Ｅに示されるように、スイッチＳＷ１、４、８、１０、１２、１４及び１５をＯＮにして、その他のスイッチＳＷをＯＦＦにすることで、再構成可能オペアンプ２００Ｅで、差動増幅回路が構成される。
【００２５】
Ｆ．電流電圧変換回路
図２Ｆは、電流電圧変換回路を構成する再構成可能オペアンプの例を示す。図２Ｆの下段に示すＴＡＢＬＥ２Ｆは、電流電圧変換回路を実現するためのスイッチＳＷ１〜１５のＯＮ／ＯＦＦ構成を示す。電流電圧変換回路は、電流の大きさを電圧に変換し、その電圧を増幅する回路である。
【００２６】
図２Ｆに示されるように、スイッチＳＷ１、３、８、１１、１４及び１５をＯＮにして、その他のスイッチＳＷをＯＦＦにすることで、再構成可能オペアンプ２００Ｆで、電流電圧変換回路が構成される。
【００２７】
１．２  再構成可能オペアンプの定数変換
再構成可能オペアンプ２００は、スイッチＳＷのＯＮ／ＯＦＦにより、抵抗Ｒの抵抗値や、キャパシタＣの容量を変えることができる。図３は、再構成可能オペアンプの定数変換の一例を示す図である。
【００２８】
Ａ．抵抗値の変更
図３の端子I１と端子２５１間の配線には、抵抗Ｒ２１Ａと、２１Ｂが直列に設けられている。このとき、当該配線の抵抗を大きくする場合、スイッチＳＷ２、４をＯＮにして、スイッチＳＷ１、３をＯＦＦにすれば、抵抗Ｒ２１Ａと２１Ｂを直列に配置する構成となる。
【００２９】
また、予め決めたサイズの抵抗を作成しておき、その中から素子を選択するように構成することもできる。例えば、図３の例では、抵抗Ｒ２１Ａの抵抗が、１Ｋオームで、抵抗Ｒ２１Ｂの抵抗が１０Ｋオームの場合、抵抗Ｒ２１Ａの１Ｋオームを選択したい場合、スイッチＳＷ２、３をＯＮにして、スイッチＳＷ１、４をＯＦＦにすれば、抵抗Ｒ２１Ａが選択される構成となる。
【００３０】
さらに、抵抗Ｒ２１Ａ、Ｒ２１Ｂの代わりに、ＦＥＴ（Ｆｉｅｌｄ  ｅｆｆｅｃｔ  ｔｒａｎｓｉｓｔｏｒ）２６１を可変抵抗として使用してもよい。その場合、ＦＥＴ２６１の抵抗調整は、ＦＥＴのゲート電圧による抵抗値変化の特性を利用し、ＶＲＥＦ（Ｖｏｌｔａｇｅ  ＲＥＦｅｒｅｎｃｅ）回路で選択した電圧を、ＦＥＴ２６１のゲートに接続する事で行う。なお、ＶＲＥＦの選択を、ＭＬＵＴで行うことで、電圧を変えることができる。
【００３１】
図３で説明したように、このように、再構成可能オペアンプ２００は、抵抗を変えることで、増幅率を変化させ、抵抗値を変えて、ゲインを変えることができるため、再構成可能オペアンプ２００は、プログラマブルゲインアンプ（ＰＧＡ）としても構成できる。
【００３２】
Ｂ．キャパシタ容量の変更
図３の端子２５３から端子２５１の帰還配線には、ある単位のキャパシタ３２Ａ、３２Ｂが並列に配置されている。何れかのキャパシタをスイッチＳＷ７Ａ、７Ｂで選択することで、キャパシタ容量を変更することができる。
【００３３】
なお、上記の例では、抵抗Ｒを直列配置、キャパシタＣを並列配置としたが、抵抗Ｒを並列配置、キャパシタＣを直列配置としてもよい。
【００３４】
１．３  複数の再構成可能オペアンプによる回路構成
図４Ａは、複数の再構成可能オペアンプによる回路構成を示す例である。再構成可能オペアンプ２００を基本単位とし、交互に配置を行う。再構成可能オペアンプ２００の隙間に配線領域と配線切り替えスイッチＳＷを配置する。なお、第１実施例としては、スイッチＳＷをＭＬＵＴで実現してもよい。第２実施例としては、スイッチＳＷを、ＰＭＯＳ（Ｐ型Ｍｅｔａｌ−Ｏｘｉｄｅ−Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）とＮＭＯＳ（Ｎ型ＭＯＳ）トランジスタで構成し、切り替えを、後述するＭＲＬＤにて行ってもよい。その場合、再構成可能オペアンプ２００の入力及び出力端子を配線に接続するＭＬＵＴから構成されるスイッチと、配線の切り替えを行う専用のＭＯＳ型スイッチの２種類のスイッチ構成とする。
【００３５】
図４Ｂは、複数の再構成可能オペアンプ２００Ｇ−１〜２００Ｇ−３から構成されて、計装アンプを構成する再構成可能オペアンプ２００Ｇの例である。複数の再構成可能オペアンプ２００Ｇ−１〜２００Ｇ−３を、図４Ａで説明したようなスイッチＳＷを介して組み合わせることで、より高度な機能を提供することができる。
【００３６】
２．ＭＲＬＤチップ
再構成可能な論理デバイスをＭＲＬＤ（Ｍｅｍｏｒｙ  ｂａｓｅｄ  Ｒｅｃｏｎｆｉｇｕｒａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）（登録商標）と呼ぶ。ＭＲＬＤは、メモリセルユニットで回路構成を実現する「ＭＰＬＤ（Ｍｅｍｏｒｙ−ｂａｓｅｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）」（登録商標）と同様に、各ＭＬＵＴ間が、配線要素を介在せずに直接接続する点で共通するが、メモリＩＰとして供給される同期ＳＲＡＭの機能を有効に活用する点において、区別される。本実施形態では、再構成可能オペアンプは、以下に説明するＭＲＬＤチップとして実装される。
【００３７】
図５Ａは、本実施形態に係るＭＲＬＤチップの一例を示すフロアプランである。図５Ａに示すＭＲＬＤチップ１（以下、「ＭＲＬＤチップ」と呼ぶ）は、互いにアドレス線又はデータ線で接続する複数の論理部２０、及び、複数の入出力部と、上記したオペアンプ２５０とを有するアナログ部１０を備え、前記各論理部２０は、複数のアドレス線と、複数のデータ線と、メモリセルユニットと、アドレス信号をデコードして、前記メモリセルユニットにデコード信号を出力するアドレスデコーダと、を備え、前記複数の論理部と、前記アナログ部が同一チップパッケージ内に実装されている。なお、論理部２０は、ＭＲＬＤ２０である。ＭＲＬＤ２０内に含まれるＭＬＵＴは、再構成可能オペアンプ２００に含まれるスイッチＳＷ機能を提供する。
【００３８】
図５Ｂは、本実施形態に係るＭＲＬＤチップの一例を示す断面図である。ＭＲＬＤ２０とアナログ部１０は、レジン２に覆われ、インターポーザー基板３の上に載置されている。ＭＲＬＤ２０とアナログ部１０は、インターポーザー基板３上の基板電極や金線を介して、電気的に接続されている。インターポーザー基板３はさらに、外部端子４を介してプリント配線基板５の上に載置される。
【００３９】
半導体デバイスの様々な機能は、複雑な工程を経てシリコンチップ上に作り込まれた集積回路が実現している。そのシリコンチップは非常に繊細なため、ちょっとしたゴミや水分などの影響で動作しなくなる。また、光が誤動作の原因となる場合もある。こうしたトラブルを防止するため、シリコンチップをパッケージで保護している。
【００４０】
半導体製造プロセスは、微細化の方向にあるが、本実施形態に係るアナログ回路付きＭＲＬＤチップ１の製造は、アナログ回路も製造可能な半導体製造プロセスで行われる。よって、微細化の効果を犠牲にして、ワンチップ化し、上記チップ化の効果を有するとともに、アナログ回路の設計負荷を低減している。
【００４１】
再び図５Ａに戻ると、アナログ部１０には、レベルシフタ（ＬＳ）、オペアンプ（ＯｐＡｍｐ）２５０を有する。レベルシフタは、図示しない２つの電源電圧で制御されており、入力電圧に、各々の電源電圧を加えれば、昇圧又は降圧が可能になる。
【００４２】
ＭＲＬＤチップ１は、構成ユニット２２をさらに有する。構成ユニット２２は、ＭＲＬＤ２０の構成データを読み出す、又は、書き込む機能を有する。
【００４３】
図６Ａは、本実施形態に係るＭＲＬＤチップの詳細例を示すフロアプランである。下に示す表１は、図６Ａに示すＭＲＬＤチップ１の信号名、及び端子機能を示す。図６Ａに示すＭＲＬＤ２０は、ＭＬＵＴ（後述）を１２×１２個搭載する。ＭＲＬＤチップ１のアナログ部１０は、複数個のレベルシフタ（ＬＳ）、複数個のオペアンプ２５０Ａ〜Ｈを搭載する。オペアンプ２５０Ａ〜Ｅは、再構成可能オペアンプ２００が比較器として構成される場合、２５０Ｇ、Ｈは、再構成可能オペアンプ２００がプログラマブルゲインアンプ（ＰＧＡ）として構成される場合に利用されてもよい。アナログ電源５Ｖ、ロジック電源１．８Ｖ、ＧＮＤ：０Ｖ、ピン数１４４ｐｉｎを有する。
【００４４】
ＭＬＵＴは、１６ｗｏｒｄ×８ｂｉｔのメモリセルユニットを、同期用、非同期用に２個有する。構成ユニット２２が、外部端子のバスから構成データを入力し、ＭＬＵＴへ個別に構成データを書き込む。
【００４５】
ＭＲＬＤチップ１の外部には、距離センサ１１１、比較器ＶＲＥＦ用分圧回路１１２、モータドライバ１１３が設けられる。ＭＲＬＤチップ１は、外部機器（距離センサ１１１及び比較器ＶＲＥＦ用分圧回路１１２）からの入力を、アナログ部１０で受けて、レベルシフタにより、信号電圧を調整した後に、ＭＲＬＤ２０は、アドレス信号として入力を受ける。また、ＭＲＬＤチップ１は、ＭＲＬＤ２０のデータ出力信号を、ＰＧＡで増幅して、モータドライバ１１３に出力する。
【００４６】
【表１】
0006426439.tif 000002
【００４７】
図６Ｂは、図６Ａに示すＭＲＬＤチップの動作例を示す図である。外部に距離センサ１１１が配置される。図６Ｂに示すＣｏｍｐ１〜５、ＰＧＡ０は、再構成可能オペアンプ２００により実現される機能を示す。以下、ＭＲＬＤチップ１の機能を動作例を用いて説明する。
【００４８】
図６Ｂでは、図６Ａに示す例に加えて、ＭＲＬＤチップ１の外部に、状態表示ＬＥＤ１１４、モータの回転数設定回路１１５、モータの回転制御スイッチ１１６を有する。
【００４９】
距離センサの制御（点線の信号線で示す）
ＭＲＬＤは、オペアンプ２５０で構成された比較器（Ｃｏｍｐ）によって、距離センサの出力をモニタすることができる。比較器は、２つの電圧の大きさを比較し、その比較の結果によって異なる値を出力する素子である。比較器には２つの入力端子が備わっており、それぞれの入力端子にアナログ電圧を与えると、入力された電圧のどちらが大きいかによって出力の値が切り替わるようになっている。比較器の出口にレベルシフタを設けたり、アンプの入口にレベルシフタを設ける等、複数の回路をアナログ部１０内で組み合わせてもよい。
さらに、ＭＲＬＤチップ１の外部にある比較器ＶＲＥＦ用分圧回路１１２から比較器のＶＲＥＦに各々の電圧が入力される。距離センサ１１１の出力がすべてのコンパレータの入力に接続される。距離センサ１１１は電圧を出力する。その電圧が各ＶＲＥＦと比較されて比較器はＨまたはＬを出力する。その信号を５Ｖ−＞１．８Ｖのレベルシフタを通ってＭＲＬＤ２０に入力される。ＭＲＬＤ２０はその信号をＭＰＩＯ＿ｘ（ｘは使用する端子）に出力し、ＬＥＤ１１４を点灯させる。
【００５０】
モータドライバの制御（点線の信号線で示す）
ＭＲＬＤ２０に入力された比較器の出力は、そのＯＲ論理をＭＲＬＤ２０内で生成して、モータドライバ１１３のＯＮ／ＯＦＦ制御を行う。モータドライバ１１３はＶＲＥＦの値によりＰＷＭ制御する。オペアンプ２５０で構成されたＰＧＡにより、モータドライバへのＶＲＥＦを設定する。ＭＰＩＯ＿ｘから３ｂｉｔの信号を入力し、ＭＲＬＤ２０から１．８Ｖ−＞５Ｖレベルシフタを通ってＰＧＡのゲイン設定をする。ゲイン設定は１倍、２倍、５倍、１０倍を設定可能である。
【００５１】
ＰＧＡの入力（ＰＧＡＩＮ）は固定電圧を入力しておいて、それをゲイン設定することでＰＧＡＯＵＴの電圧を可変することでモータ速度を変えることができる。モータの回転ＯＮ／ＯＦＦ、正転／逆転のコントロールもＭＰＩＯ＿ｘから入力し、比較器出力とＭＲＬＤ内で論理をとり、１．８Ｖ−＞５Ｖレベルシフタを通ってモータドライバのコントロール端子（ＦＩＮ／ＲＩＮ）に入力される。
【００５２】
これにより、例えば、距離センサ１１１の入力を使用して、モータドライバ１１３の出力を制御することができる。加えて、図６Ｂの点線で例示するように、ＭＲＬＤ２０を再構成することで、距離センサ１１１Ａからモータドライバ１１３Ａ、距離センサ１１１Ａからモータドライバ１１３Ｂ、距離センサ１１１Ｂからモータドライバ１１３Ａ、距離センサ１１１Ｂからモータドライバ１１３Ｂのいずれかの動作制御に切り替え可能になる。さらに、距離センサ１１１Ａからモータドライバ１１３Ａ、及び、距離センサ１１１Ｂからモータドライバ１１３Ｂ、並びに、距離センサ１１１Ａからモータドライバ１１３Ｂ、及び、距離センサ１１１Ｂからモータドライバ１１３Ａの同時動作なども行うことができる。
【００５３】
このように、ＭＲＬＤ２０の構成データを変更するだけで、アナログ部１０の再構成機能を提供する。
【００５４】
３．ＭＲＬＤ
図７は、本実施形態に係る半導体装置の全体構成の一例を示す図である。図７に示す２０は、ＭＲＬＤの一例である。ＭＲＬＤ２０は、同期ＳＲＡＭを利用したＭＬＵＴ３０を複数個、アレイ状に配置したＭＬＵＴアレイ６０、ＭＬＵＴ３０のメモリ読出し動作、書込み動作を特定する行デコーダ１２、及び、列デコーダ１４を有する。
【００５５】
ＭＬＵＴ３０は、同期ＳＲＡＭで構成される。メモリの記憶素子には、真理値表とみなされるデータがそれぞれ記憶されることで、ＭＬＵＴ３０は、論理要素、又は、接続要素、又は、論理要素及び接続要素として動作する論理動作を行う。
【００５６】
ＭＲＬＤ２０の論理動作では、実線で示される論理用アドレスＬＡ、及び論理用データＬＤの信号を使用する。論理用アドレスＬＡは、論理回路の入力信号として使用される。そして、論理用データＬＤは、論理回路の出力信号として使用される。ＭＬＵＴ３０の論理用アドレスＬＡは、隣接するＭＬＵＴの論理用データＬＤのデータ線と接続している。
【００５７】
ＭＲＬＤ２０の論理動作により実現される論理は、ＭＬＵＴ３０に記憶される真理値表データにより実現される。いくつかのＭＬＵＴ３０は、ＡＮＤ回路、加算器などの組み合わせ回路としての論理要素として動作する。他のＭＬＵＴ３０は、組み合わせ回路を実現するＭＬＵＴ３０間を接続する接続要素として動作する。ＭＬＵＴ３０が、論理要素、及び接続要素を実現するための真理値表データの書き換えは、メモリへの書き込み動作によりなされる。
【００５８】
ＭＲＬＤ２０の書き込み動作は、書込用アドレスＡＤ、及び書込用データＷＤによりなされ、読出し動作は、書込用アドレスＡＤ、及び読出用データＲＤによりなされる。
【００５９】
書込用アドレスＡＤは、ＭＬＵＴ３０内のメモリセルを特定するアドレスである。書込用アドレスＡＤは、m本の信号線で、２のｍ乗の数ｎのメモリセルを特定する。行デコーダ１２は、m本の信号線を介してＭＬＵＴアドレスを受け取るとともに、ＭＬＵＴアドレスをデコードして、メモリ動作の対象となるＭＬＵＴ３０を選択し特定する。メモリ動作用アドレスは、メモリの読出し動作、書き込み動作、両方の場合で使用され、m本の信号線を介して、行デコーダ１２、列デコーダ１４でデコードされて、対象となるメモリセルを選択する。なお本実施形態においては、後述するが、論理用動作アドレスＬＡのデコードは、ＭＬＵＴ内のデコーダにより行う。
【００６０】
行デコーダ１２は、リード・イネーブル信号ｒｅ、ライト・イネーブル信号ｗｅ等の制御信号に従って、書込用アドレスＡＤのｍビットのうちｘビットをデコードし、デコードアドレスｎをＭＬＵＴ３０に対して出力する。デコードアドレスｎは、ＭＬＵＴ３０内のメモリセルを特定するアドレスとして使用される。
【００６１】
列デコーダ１４は、書込用アドレスＡＤのｍビットのうちｙビットをデコードし、行デコーダ１２と同様の機能を有して、デコードアドレスｎをＭＬＵＴ３０に対して出力するとともに、書込用データＷＤの入力、及び、読出用データＲＤを出力する。
【００６２】
なお、ＭＬＵＴのアレイがｓ行ｔ列である場合、ＭＬＵＴアレイ６０からはｎ×ｔビットのデータがデコーダ１２に入力される。ここで、各行毎のＭＬＵＴを選択するために行デコーダはｏ行分のｒｅ，ｗｅを出力する。つまり、ｏ行は、ＭＬＵＴのｓ行に相当する。ここでｏビットのうち、1ビットだけをアクティブにすることで、特定のメモリセルのワード線が選択される。そしてｔ個のＭＬＵＴがｎビットのデータを出力するため、ｎ×ｔビットのデータがＭＬＵＴアレイ６０から選択され、そのうち１列を選択するのに列デコーダ１４が使われる。
【００６３】
４．ＭＬＵＴ
図８は、２メモリセルユニットからなるＭＬＵＴを横積みして構成されるＭＬＵＴを概略的に示す図である。図８に示すＭＬＵＴ３０は、左方向から図９に示すアドレスＡ０Ｌ〜Ａ７Ｌの入力があり、及び、右方向から図９に示すアドレスＡ０Ｒ〜Ａ７Ｒの入力があり、また、左方向へ図９に示すデータＤ０Ｌ〜Ｄ７Ｌの出力があり、右方向へ図９に示すデータＤ０Ｒ〜Ｄ７Ｒの出力がある。ｎ値＝８のＭＬＵＴは従来方式では１ＭビットとなりＣＬＢ相当が４Ｍビットと大規模化してしまう。それに対して本案では後述するように、８Ｋ（２５６ワード×１６ビット×ＭＬＵＴ２個）ビットで構成される。
【００６４】
図１０は、大容量メモリを用いたＭＬＵＴの一例を示す図である。
図１０は、図９に示すＭＬＵＴの回路例を示す図である。図１０に示すＭＬＵＴ３０は、メモリセルユニット３１Ａ、３１Ｂを有する。メモリセルユニットは、例えば、ＳＲＡＭである。図１０に示されるように、メモリセルユニット３１Ａは、一辺からの第１複数アドレス線により特定されて、第１複数アドレス線の２倍の数の第１複数データ線に出力する複数のメモリセルを有し、メモリセルユニット３１Ｂは、他辺からの第２複数アドレス線により特定されて、第２複数アドレス線の２倍の数の第２複数データ線に出力する複数のメモリセルを有し、ＭＬＵＴ３０は、第１複数データ線及び第２複数データ線の一部を、一辺へ出力するとともに、第１複数データ線及び第２複数データ線の他の一部を、他辺へ出力する。
【００６５】
各メモリセルユニットは、一方向毎に真理値表データをメモリセルに記憶する。そのため、メモリセルユニット３１Ａ及び３１Ｂの各々には、右から左方向用の真理値表データ、及び、左から右方向用の真理値表データを記憶する。すなわち、ＭＬＵＴは、それぞれが特定のデータ出力方向を規定する２つの真理値表データを記憶する。
【００６６】
各メモリセルユニットのデータ数を、アドレス数より増やすとともに、各メモリセルユニットからデータ出力の方向を双方向にすることで、必要なメモリセルの数を少なくし、且つ、双方向へのデータ出力を可能にすることができる。
【００６７】
図１１は、図１０に示すＭＬＵＴより詳細な回路例を示す。図１１に示すＭＬＵＴ３０は、メモリセルユニット３１Ａ、３１Ｂ、アドレスデコーダ１１Ａ、１１Ｂ、アドレスセレクタ１５Ａ、１５Ｂ、Ｉ／Ｏ（入出力）バッファ１２Ａ、１２Ｂ、及び、データセレクタ１３Ａ、１３Ｂを有する。メモリセルユニット３１Ａ、３１Ｂは、それぞれ、アドレスデコーダ、アドレスセレクタ、及びＩ／Ｏバッファ、及び、データセレクタを有する。メモリセルユニット３１Ａ、３１Ｂへの入力アドレスが、それぞれ、アドレスＡ０Ｌ〜Ａ７Ｌ、Ａ８〜Ａ１５、及び、アドレスＡ０Ｒ〜Ａ７Ｒ、Ａ８〜Ａ１５となる。そのため、メモリセルユニット３１Ａ、３１Ｂは、２の１６乗（６５，５３６）ワード×８ビットの５１２Ｋの大容量となる。
【００６８】
図１１では、メモリセルユニット３１Ａ、３１Ｂは、それぞれアドレスＡ０Ｌ〜Ａ７Ｌ、Ａ８〜Ａ１５、及び、アドレスＡ０Ｒ〜Ａ７Ｒ、Ａ８〜Ａ１５の入力を有する。
【００６９】
なお、図１０は、概略図であり、メモリセルユニットの周辺回路であるデコーダ等は、示しておらず、デコーダは図１１で説明したデコーダ１１Ａ、１１Ｂが、各メモリセルユニット毎に用意され、アドレスセレクタ１５Ａ、１５Ｂと、メモリセルユニット３１Ａ、３１Ｂの間に配置される。よって、デコーダは、アドレスセレクタ１５Ａ、１５Ｂから出力される全てのアドレスをデコードしてもよい。
【００７０】
アドレスセレクタ１５Ａ、１５Ｂは、論理動作用のアドレス線か、書込み用のアドレスかを切り替えるための選択回路である。メモリセルがシングルポートの場合、必要となる。メモリセルをデュアルポートとする場合、アドレスセレクタは不要である。データセレクタ１３Ａ、１３Ｂは、出力データ、又は、書込みデータＷＤを切り替える選択回路である。
【００７１】
ＭＲＬＤは専用の小型のＳＲＡＭに関する半導体設計試作、製造を経なくても、従来の大容量のメモリデバイスを利用できる。ＭＲＬＤをチップで構成する際、メモリＩＰ（Intellectual Property）を使うが、従来のＭＬＵＴが求めている微小メモリ容量では、アドレスデコーダやセンスアンプの面積が大きくメモリ自体の構成比率は５０％以下になる。このことは、ＭＲＬＤのオーバヘッドにもなり、効率が悪い。大容量メモリになるとアドレスデコーダやセンスアンプの比率は下がり、メモリ使用効率が上がる。そのため、大容量メモリにあった本案はＭＲＬＤチップの場合有効になる。
【００７２】
５．同期／非同期ＭＬＵＴ
本実施形態に係るＭＬＵＴは、同期動作用のメモリセルユニットと、非同期動作用のメモリセルユニットを備える。同期動作用のメモリセルユニット又は非同期動作用のメモリセルユニットは、ペアを構成するが、論理要素及び／又は接続要素として動作するメモリセルユニットは、何れか１つである。両者のデータ出力を、ワイヤードオア接続、又は、ＯＲ回路で接続されるため、動作しないメモリセルユニットには、全て「０」のデータが格納される。
【００７３】
図１２は、同期非同期切り替え可能なＭＬＵＴの回路例を示す図である。図１２に示すＭＬＵＴ３０は、メモリセルユニット３１Ａ〜３１Ｄ、アドレスデコーダ１１Ａ〜１１Ｄ、Ｉ／Ｏ（入出力）バッファ１３Ａ〜１３Ｄ、選択回路３２Ａ〜３２Ｄ、データ選択回路３３、及びアドレス遷移検出部３５を有する。アドレス遷移検出部３５は、ＡＴＤ（Address Transition Detector）回路を含み、クロックとともに、送信される論理アドレスを、前回送信の論理アドレスと比較して、アドレス遷移を検出する。アドレス遷移検出部３５は、図１３に示したものと同じである。
【００７４】
５．１  アドレス遷移検出部
図１３は、本実施形態に係るアドレス遷移検出部の回路図である。図１３に示されるアドレス遷移検出部３５は、否定論理和（ＮＯＲ）回路１１０Ａ、１１０Ｂ、論理和（ＯＲ）回路１２０、排他的論理和（ＥＯＲ）回路１３０、遅延回路１４０Ａ〜１４０Ｃ、フリップフロップ（ＦＦ）１５０、インバータ１６０Ｂ、及びＤラッチ１７０を有する。
【００７５】
図１４は、図１３に示したアドレス遷移検出の信号のタイミングチャートである。以下、図１３及び図１４を説明して、アドレス遷移検出の回路動作を説明する。
【００７６】
信号Ｓ１は、プロセッサから出力されるアドレス入力信号である。信号Ｓ２は、Ｄラッチの出力である。Ｄラッチ１７０は、信号Ｓ１に変化があった場合、一定期間変化しないようにラッチする。これは、ノイズ等で後続のアドレス遷移を無視するためである。
【００７７】
信号Ｓ３は、Ｄラッチ１７０から出力される遅延信号である。遅延信号は、図１４に示されるように、立ち上がりおよび立ち下がりでクロックを作って、信号Ｓ４のクロック幅を生成するために、遅延回路１４０Ｂで遅延される。
【００７８】
クロック信号として生成される信号Ｓ４は、変化を検出して、ＥＯＲ１３０から出力される。ＥＯＲ１３０では、遅延回路１４０Ｂの入力と、出力とが入力されるので、両者の信号レベルが異なると、信号レベル「ハイ」を出力する。これにより、アドレス遷移を検出することができる。図１４に示すＳ４の時間Ｔ１は、論理アドレスの変化検出からＦＦ取り込みでの時間を示し、時間Ｔ２は、論理アドレス変化検出からメモリセルユニット読出しまでの時間を示す。
【００７９】
ＯＲ回路１２０では、信号Ｓ４とともに、他のアドレス遷移の信号が入力され、ＯＲ演算値を出力する。ＯＲ回路１２０の出力は、遅延回路１４０Ｃで遅延されて、信号Ｓ５が出力される。
【００８０】
信号Ｓ５は、遅延回路１４０Ｃから出力される遅延信号であり、Ｄラッチ１７０のイネーブル信号待ちしてクロック入力する。
【００８１】
信号Ｓ６は、信号Ｓ５の信号延長であり、イネーブル信号のパルス生成である。ＮＯＲ回路１１０Ａは、信号Ｓ５とＳ６のＮＯＲ演算値である信号Ｓ７を出力する。そして、信号Ｓ７は、Ｄラッチ１７０のイネーブル信号となる。信号Ｓ８は、信号Ｓ５をインバータ１６０Ａで反転した信号で、ＦＦ１５０で、アドレス信号のラッチのクロックとして使用される。信号Ｓ９は、後段にあるメモリセルユニット３１Ａ及び３１Ｃのイネーブル、信号Ｓ１０は、メモリセルユニット３１Ａ及び３１Ｃのクロック（ａｔｄ＿ｃｌｋ）、信号Ｓ１１は、メモリセルユニット３１Ａ及び３１Ｃのアドレスとして利用される。図１４の信号Ｓ１０は、論理アドレスの変化検出からメモリからのリードまでの時間を示す。
【００８２】
このようにプロセッサコア２１０のデータ要求をした場合、そのアドレス変化を持ってクロックを生成し、メモリを駆動するので、必要なときにメモリが動作して、不必要なときにメモリ駆動させず、自律的に低消費電力化できる。
【００８３】
５．２  信号線
図１２に示す信号線を、下記表２に説明する。
【００８４】
【表２】
0006426439.tif 000003
【００８５】
５．３  同期／非同期メモリセルユニット
メモリセルユニット３１Ａ〜３１Ｄは、同期ＳＲＡＭである。メモリセルユニット３１Ａ〜３１Ｄはそれぞれ、左方向および右方向へ接続するための真理値表データを記憶する。メモリセルユニット３１Ｂ及び３１Ｄは、システムクロックに同期して動作する。一方、メモリセルユニット３１Ａ及び３１Ｃは、後述するアドレス遷移回路３５が生成するＡＴＤ生成クロック（「内部クロック信号」とも言う）に同期して動作するために、クロック（システムクロック）に対して、非同期で動作する。ＡＴＤ生成クロックが、システムクロック信号より、高周波数で動作するために、メモリセルユニット３１Ａ、３１Ｃは、ＭＬＵＴ３０外部からは、非同期動作するようにみえることで、非同期の機能を提供する。
【００８６】
同期の機能要件を除けば、メモリセルユニット３１Ａ及び３１Ｃは、図１０及び図１１に示すメモリセルユニット３１Ａ及び３１Ｂと同じ機能を有する。メモリセルユニット３１Ｂ及び３１Ｄも、同様である。
【００８７】
アドレスデコーダ１１Ａ及び１１Ｂはともに、左側から入力するアドレスＡ０〜Ａ３をデコードして、デコード信号を、それぞれ、メモリセルユニット３１Ａ及び３１Ｂに出力して、メモリセルユニット３１Ａ及び３１Ｂのワード線をアクティブにする。
【００８８】
アドレスデコーダ１１Ｃ及び１１Ｄは、右側から入力するアドレスＡ４〜Ａ７をデコードして、デコード信号を、それぞれ、メモリセルユニット３１Ｃ及び３１Ｄに出力して、メモリセルユニット３１Ｃ及び３１Ｄのワード線をアクティブにする。
【００８９】
また、アドレスデコーダ１１Ａ及び１１Ｃは、ＳＲＡＭアドレス非同期信号（ｓｒａｍ＿ａｄｄｒｅｓｓ（ａｓｙｎｃ））をデコードし、アドレスデコーダ１１Ｂ及び１１Ｄは、ＳＲＡＭアドレス同期信号（ｓｒａｍ＿ａｄｄｒｅｓｓ（ｓｙｎｃ））をデコードして、デコード信号により特定されるメモリセルユニットのワード線を活性化する。
【００９０】
図１２に示す例では、各メモリセルユニットは、１６ｗｏｒｄｘ８ｂｉｔのメモリブロックである。メモリセルユニット３１Ａ及び３１Ｂは、１６ｗｏｒｄｘ８ｂｉｔｘ２は同期モードで使用し、１６ｗｏｒｄｘ８ｂｉｔｘ２は非同期モードで使用が可能である。同期と非同期は同時動作はできず、例えば同期動作メモリセルユニットに論理データをライトした場合、非同期動作メモリセルユニットには全て「０」を書き込む必要がある。
【００９１】
なお、メモリセルユニットのデータ出力は、図示のように、ワイヤードＯＲとしてもよいし、ＯＲ論理回路を設けてもよい。
【００９２】
５．４  選択回路
選択回路の選択条件を、以下の表に示す。
【表３】
0006426439.tif 000004
【００９３】
選択回路３２Ａ〜３２Ｄは、非同期動作用のメモリセルユニット３１Ａ及び３１Ｃ、又は、同期動作用のメモリセルユニット３１Ｂ及び３１Ｄの動作を選択する回路である。
【００９４】
選択回路３２Ａは、選択信号（Ｓｅｌｅｃｔ）により、非同期動作が選択されると、アドレス遷移回路３５で生成されるａｔｄ＿ａｄラッチアドレス（図１３に示すＳ１１）を選択して、ＳＲＡＭアドレス非同期信号（ｓｒａｍ＿ａｄｄｒｅｓｓ（ａｓｙｎｃ））として出力する。非同期動作が選択されない場合、論理アドレスをそのまま出力する。
【００９５】
選択回路３２Ｂは、選択信号（Ｓｅｌｅｃｔ）により、非同期動作が選択されると、アドレス遷移回路３５で生成されるＡＴＤ生成クロックを選択して、出力する。非同期動作が選択されない場合、クロックをそのまま出力する。
【００９６】
選択回路３２Ｃは、選択信号（Ｓｅｌｅｃｔ）により、非同期動作が選択されると、アドレス遷移回路３５で生成されるＡＴＤ生成チップセレクトを選択して、出力する。非同期動作が選択されない場合、ＳＲＡＭチップイネーブルをそのまま出力する。
【００９７】
選択回路３２Ｄは、選択信号（Ｓｅｌｅｃｔ）により、同期動作が選択されると、論理アドレスをそのまま出力する。
【００９８】
また、メモリ分割の特性として、禁止論理構成がある。表４に示す２つの真理値表を用いて、禁止論理の必要性を説明する。
【００９９】
【表４】
0006426439.tif 000005
【０１００】
真理値表１では、Ａ０，Ａ１を使用してＡＮＤ回路を構成し、Ｄ０に出力する真理値表が示される。真理値表２では、Ａ０，Ａ４を使用してＡＮＤ回路を構成し、Ｄ０に出力する真理値表が示される。真理値表１の場合の論理は、Ａ３−Ａ０使用のメモリセルユニット３１Ａだけで論理演算可能なので、他のメモリセルユニットに“０”を書き込んでいれば、ＯＲ演算により、他のメモリセルユニットの出力値の影響を受けないので、禁止論理の問題は生じない。
【０１０１】
一方、真理値表２の論理の場合、Ａ３−Ａ０使用のメモリセルユニットはｃ，ｄの識別ができない。Ａ７−Ａ４使用のＳＲＡＭは、ｂ，ｄの識別がつかない。このように、２つのメモリセルユニットをまたがる論理演算は、２つの真理値表では正しい値を得られないため、２つのメモリセルユニットを跨ぐ論理演算を、禁止論理としている。よって、論理構成する場合、各メモリセルユニット内部で、論理を実現する必要がある。そのため、本実施形態に係る真理値表データでは、上記禁止論理を生成しないように生成される。
【０１０２】
５．５  Ｉ／Ｏバッファ
Ｉ／Ｏ（入出力）バッファ１３Ａ〜１３Ｄは、クロックとＡＴＤ生成クロックの何れかに同期して、メモリセルユニットのデータ線からデータを読み出すことで、ＦＦの機能を提供している。なお、Ｉ／Ｏ（入出力）バッファ１３Ａ〜１３Ｄは、メモリセルのビット線から出力される電圧を増幅するセンスアンプを含んでいる。
【０１０３】
選択回路３３は、ＳＲＡＭデータ出力（O_data）を、選択信号に従って、SRAMデータ出力、及び、論理データ出力の何れかとして出力する。
【０１０４】
６．ＭＬＵＴの論理動作
Ａ．論理要素
図１５は、ＭＬＵＴの一例を示す図である。図１５では、説明を簡単にするために、アドレスセレクタ１１、入出力バッファ１２、及びデータセレクタ１３の記載は、省略される。図１５に示すＭＬＵＴ３０Ａ、３０Ｂは、４つの論理用アドレス入力ＬＡ線Ａ０〜Ａ３と、４つの論理動作用データ線Ｄ０〜Ｄ３と、４×１６＝６４個の記憶素子４０と、アドレスデコーダ９とをそれぞれ有する。論理動作用データ線Ｄ０〜Ｄ３は、１６個の記憶素子４０をそれぞれ直列に接続する。アドレスデコーダ９は、論理用アドレス入力ＬＡ線Ａ０〜Ａ３に入力される信号に基づき、１６本のワード線のいずれかに接続される４つの記憶素子を選択するように構成される。この４つの記憶素子はそれぞれ、論理動作用データ線Ｄ０〜Ｄ３に接続され、記憶素子に記憶されるデータを論理動作用データ線Ｄ０〜Ｄ３に出力する。例えば、論理用アドレス入力ＬＡ線Ａ０〜Ａ３に適当な信号が入力される場合は、４つの記憶素子４０Ａ、４０Ｂ、４０Ｃ、及び４０Ｄを選択するように構成することができる。ここで、記憶素子４０Ａは、論理動作用データ線Ｄ０に接続され、記憶素子４０Ｂは、論理動作用データ線Ｄ１に接続され、記憶素子４０Ｄは、論理動作用データ線Ｄ２に接続され、記憶素子４０Ｄは、論理動作用データ線Ｄ３に接続される。そして、論理動作用データ線Ｄ０〜Ｄ３には、記憶素子４０Ａ〜４０Ｄに記憶される信号が出力される。このように、ＭＬＵＴ３０Ａ、３０Ｂは、論理用アドレス入力ＬＡ線Ａ０〜Ａ３から論理用アドレス入力ＬＡを受け取り、その論理用アドレス入力ＬＡによってアドレスデコーダ９が選択する４つの記憶素子４０に記憶される値を、論理動作用データ線Ｄ０〜Ｄ３に論理動作用データとしてそれぞれ出力する。なお、ＭＬＵＴ３０Ａの論理用アドレス入力ＬＡ線Ａ２は、隣接するＭＬＵＴ３０Ｂの論理動作用データ線Ｄ０と接続しており、ＭＬＵＴ３０Ａは、ＭＬＵＴ３０Ｂから出力される論理動作用データを、論理用アドレス入力ＬＡとして受け取る。また、ＭＬＵＴ３０Ａの論理動作用データ線Ｄ２は、ＭＬＵＴ３０Ｂの論理用アドレス入力ＬＡ線Ａ０と接続しており、ＭＬＵＴ３０Ａが出力する論理動作用データは、ＭＬＵＴ３０Ｂで論理用アドレス入力ＬＡとして受け取られる。例えば、ＭＬＵＴ３０Ａの論理動作用データ線Ｄ２は、ＭＬＵＴ３０Ａの論理用アドレス入力ＬＡ線Ａ０〜Ａ３に入力される信号に基づき、論理動作用データ線Ｄ２に接続される１６個の記憶素子のいずれか１つに記憶される信号をＭＬＵＴ３０Ｂの論理用アドレス入力ＬＡ線Ａ０に出力する。同様に、ＭＬＵＴ３０Ｂの論理動作用データ線Ｄ０は、ＭＬＵＴ３０Ｂの論理用アドレス入力ＬＡ線Ａ０〜Ａ３に入力される信号に基づき、論理動作用データ線Ｄ０に接続される１６個の記憶素子のいずれか１つに記憶される信号をＭＬＵＴ３０Ａの論理用アドレス入力ＬＡ線Ａ２に出力する。このように、ＭＬＵＴ同士の連結は、１対のアドレス線とデータ線とを用いる。以下、ＭＬＵＴ３０Ａの論理用アドレス入力ＬＡ線Ａ２と、論理動作用データ線Ｄ２のように、ＭＬＵＴの連結に使用されるアドレス線とデータ線の対を「ＡＤ対」という。
【０１０５】
なお、図１５では、ＭＬＵＴ３０Ａ、３０Ｂが有するＡＤ対は４であるが、ＡＤ対の数は、特に後述するように４に限定されない。
【０１０６】
図１６は、論理回路として動作するＭＬＵＴの一例を示す図である。本例では、論理用アドレス入力ＬＡ線Ａ０及びＡ１を２入力ＮＯＲ回路７０１の入力とし、論理用アドレス入力ＬＡ線Ａ２及びＡ３を２入力ＮＡＮＤ回路７０２の入力とする。そして、２入力ＮＯＲ回路７０１の出力と、２入力ＮＡＮＤ回路７０２の出力を、２入力ＮＡＮＤ回路７０３に入力し、２入力ＮＡＮＤ回路７０３の出力を論理動作用データ線Ｄ０に出力する論理回路を構成する。
【０１０７】
図１７は、図１６に示す論理回路の真理値表を示す図である。図１６の論理回路は、４入力のため、入力Ａ０〜Ａ３の全ての入力を入力として使用する。一方、出力は、１つのみなので、出力Ｄ０のみを出力として使用する。真理値表の出力Ｄ１〜Ｄ３の欄には「＊」が記載されている。これは、「０」又は「１」のいずれの値でもよいことを示す。しかしながら、実際に再構成のために真理値表データをＭＬＵＴに書き込むときには、これらの欄には、「０」又は「１」のいずれかの値を書き込む必要がある。
【０１０８】
Ｂ．接続要素
図１８は、接続要素として動作するＭＬＵＴの一例を示す図である。図１８では、接続要素としてのＭＬＵＴは、論理用アドレス入力ＬＡ線Ａ０の信号を論理動作用データ線Ｄ１に出力し、論理用アドレス入力ＬＡ線Ａ１の信号を論理動作用データ線Ｄ２に出力し、論理用アドレス入力ＬＡ線Ａ２の信号を論理動作用データ線Ｄ３に出力するように動作する。接続要素としてのＭＬＵＴはさらに、論理用アドレス入力ＬＡ線Ａ３の信号を論理動作用データ線Ｄ０に出力するように動作する。
【０１０９】
図１９は、図１８に示す接続要素の真理値表を示す図である。図１８に示す接続要素は、４入力４出力である。したがって、入力Ａ０〜Ａ３の全ての入力と、出力Ｄ０〜Ｄ３の全ての出力が使用される。図１９に示す真理値表によって、ＭＬＵＴは、入力Ａ０の信号を出力Ｄ１に出力し、入力Ａ１の信号を出力Ｄ２に出力し、入力Ａ２の信号を出力Ｄ３に出力し、入力Ａ３の信号を出力Ｄ０に出力する接続要素として動作する。
【０１１０】
図２０は、ＡＤ対０、ＡＤ対１、ＡＤ対２、及びＡＤ対３の４つのＡＤ対を有するＭＬＵＴによって実現される接続要素の一例を示す図である。ＡＤ０は、論理用アドレス入力ＬＡ線Ａ０と論理動作用データ線Ｄ０とを有する。ＡＤ１は、論理用アドレス入力ＬＡ線Ａ１と論理動作用データ線Ｄ１とを有する。ＡＤ２は、論理用アドレス入力ＬＡ線Ａ２と論理動作用データ線Ｄ２とを有する。そして、ＡＤ３は、論理用アドレス入力ＬＡ線Ａ３と論理動作用データ線Ｄ３とを有する。図２０において、２点鎖線は、ＡＤ対０の論理用アドレス入力ＬＡ線Ａ０に入力された信号がＡＤ対１の論理動作用データ線Ｄ１に出力される信号の流れを示す。破線は、ＡＤ対１の論理用アドレス入力ＬＡ線Ａ１に入力された信号がＡＤ対２の論理動作用データ線Ｄ２に出力される信号の流れを示す。実線は、ＡＤ対２の論理用アドレス入力ＬＡ線Ａ２に入力された信号がＡＤ対３の論理動作用データ線Ｄ３に出力される信号の流れを示す。１点鎖線は、ＡＤ対３の論理用アドレス入力ＬＡ線Ａ３に入力された信号がＡＤ対０の論理動作用データ線Ｄ０に出力される信号の流れを示す。
【０１１１】
なお、図２０では、ＭＬＵＴ３０が有するＡＤ対は４であるが、ＡＤ対の数は、特に４に限定されない。
【０１１２】
Ｃ．論理要素と接続要素の組合せ機能
図２１は、１つのＭＬＵＴが、論理要素及び接続要素として動作する一例を示す図である。図２１に示す例では、論理用アドレス入力ＬＡ線Ａ０及びＡ１を２入力ＮＯＲ回路１２１の入力とし、２入力ＮＯＲ回路１２１の出力と、論理用アドレス入力ＬＡ線Ａ２とを２入力ＮＡＮＤ回路１２２の入力とし、２入力ＮＡＮＤ回路１２２の出力を論理動作用データ線Ｄ０に出力する論理回路を構成する。また同時に、論理用アドレス入力ＬＡ線Ａ３の信号を論理動作用データ線Ｄ２に出力する接続要素を構成する。
【０１１３】
図２２に、図２１に示す論理要素及び接続要素の真理値表を示す。図２１の論理動作は、入力Ｄ０〜Ｄ３の３つの入力を使用し、１つの出力Ｄ０を出力として使用する。一方、図２２の接続要素は、入力Ａ３の信号を出力Ｄ２に出力する接続要素が構成される。
【０１１４】
図２３は、ＡＤ０、ＡＤ１、ＡＤ２、及びＡＤ３の４つのＡＤ対を有するＭＬＵＴによって実現される論理動作及び接続要素の一例を示す図である。図２０に示すＭＬＵＴと同様に、ＡＤ０は、論理用アドレス入力ＬＡ線Ａ０と論理動作用データ線Ｄ０とを有する。ＡＤ１は、論理用アドレス入力ＬＡ線Ａ１と論理動作用データ線Ｄ１とを有する。ＡＤ２は、論理用アドレス入力ＬＡ線Ａ２と論理動作用データ線Ｄ２とを有する。そして、ＡＤ３は、論理用アドレス入力ＬＡ線Ａ３と論理動作用データ線Ｄ３とを有する。上述のように、ＭＬＵＴ３０は、３入力１出力の論理動作と、１入力１出力の接続要素との２つの動作を１つのＭＬＵＴ３０で実現する。具体的には、論理動作は、ＡＤ対０の論理用アドレス入力ＬＡ線Ａ０と、ＡＤ対１の論理用アドレス入力ＬＡ線Ａ１と、ＡＤ対２の論理用アドレス入力ＬＡ線Ａ２とを入力として使用する。そして、ＡＤ対０の論理動作用データ線Ｄ０のアドレス線を出力と使用する。また、接続要素は、破線で示すようにＡＤ対３の論理用アドレス入力ＬＡ線Ａ３に入力された信号をＡＤ対２の論理動作用データ線Ｄ２に出力する。
【０１１５】
図２４は、外部システムとＭＲＬＤの接続一例を示す概念図である。外部システム１２０は、情報処理装置、又は、ＳｏＣで実現されたデバイスである。外部システム１２０は、図９に示すＭＲＬＤ２０と接続しており、ＭＲＬＤ２０からのデータ出力を受け取るとともに、ページ切替判断する論理演算を行いって、その接続を介して、アドレスＡ８〜Ａ１５にページ切替信号を出力する。外部システムが、ＳｏＣを搭載することにより、ＭＲＬＤ２０とともに高機能化されたデバイスが実現できる。
【０１１６】
７．真理値表データの生成方法
第１及び第２実施形態を用いて説明した再構成可能な半導体装置に適用される真理値表データは、論理構成用のソフトウェアプログラムを実行する情報処理装置によって生成される。
【０１１７】
図２５に、情報処理装置のハードウェア構成の一例を示す。情報処理装置２１０は、プロセッサ２１１と、入力部２１２と、出力部２１３と、記憶部２１４とドライブ装置２１５を有する。プロセッサ２１１は、入力部２１２に入力された配置・配線用のソフトウェア、集積回路を設計するためのＣ言語記述またはハードウェア記述言語（ＨＤＬ）などの回路記述言語、及び、上記ソフトウェアを実行することによって生成される真理値表データを記憶部２１４に記憶する。また、プロセッサ２１１は、配置・配線用のソフトウェアを実行して、記憶部２１４に記憶された回路記述に対して以下に示す配置・配線の処理を行い、出力部２１３に、真理値表データを出力する。出力部２１３には、再構成可能な半導体装置２０（図２５には示さず）を接続することができ、プロセッサ２１１が論理構成処理を実行して、生成した真理値表データを、出力部２１３を介して再構成可能な半導体装置２０に書き込む。出力部２１３は、外部ネットワークと接続していてもよい。この場合、論理構成用のソフトウェアプログラムは、ネットワークを介して送受信される。ドライブ装置２１５は、例えば、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、フラッシュメモリなどの記憶媒体２１７を読み書きする装置である。ドライブ装置２１５は、記憶媒体２１７を回転させるモータや記憶媒体２１７上でデータを読み書きするヘッド等を含む。なお、記憶媒体２１７は、論理構成用のプログラム、又は、真理値表データを格納することができる。ドライブ装置２１５は、セットされた記憶媒体２１７からプログラムを読み出す。プロセッサ２１１は、ドライブ装置２１５により読み出されたプログラム又は真理値表データを、記憶部２１４に格納する。
【０１１８】
真理値表データが半導体装置２０に読み込まれることにより、真理値表データとハードウェア資源とが協働した具体的手段によって、論理要素及び／又は接続要素としての機能が構築される。また、真理値表データは、真理値表という論理的構造を示す構造を有するデータともいえる。
【０１１９】
以上説明した実施形態は典型例として挙げたに過ぎず、その各実施形態の構成要素の組合せ、変形及びバリエーションは当業者にとって明らかであり、当業者であれば本発明の原理及び請求の範囲に記載した発明の範囲を逸脱することなく上述の実施形態の種々の変形を行えることは明らかである。特に、ＭＲＬＤの論理又は接続動作において、双方向ＭＬＵＴを、多方向ＭＬＵＴの動作とすることは実施形態の変更として可能である。
【符号の説明】
【０１２０】
１  ＭＲＬＤチップ
２０    ＭＲＬＤ
３０    ＭＬＵＴ
３１    メモリセルユニット
【図１】
0006426439.tif 000006
【図２Ａ】
0006426439.tif 000007
【図２Ｂ】
0006426439.tif 000008
【図２Ｃ】
0006426439.tif 000009
【図２Ｄ】
0006426439.tif 000010
【図２Ｅ】
0006426439.tif 000011
【図２Ｆ】
0006426439.tif 000012
【図３】
0006426439.tif 000013
【図４Ａ】
0006426439.tif 000014
【図４Ｂ】
0006426439.tif 000015
【図５Ａ】
0006426439.tif 000016
【図５Ｂ】
0006426439.tif 000017
【図６Ａ】
0006426439.tif 000018
【図６Ｂ】
0006426439.tif 000019
【図７】
0006426439.tif 000020
【図８】
0006426439.tif 000021
【図９】
0006426439.tif 000022
【図１０】
0006426439.tif 000023
【図１１】
0006426439.tif 000024
【図１２】
0006426439.tif 000025
【図１３】
0006426439.tif 000026
【図１４】
0006426439.tif 000027
【図１５】
0006426439.tif 000028
【図１６】
0006426439.tif 000029
【図１７】
0006426439.tif 000030
【図１８】
0006426439.tif 000031
【図１９】
0006426439.tif 000032
【図２０】
0006426439.tif 000033
【図２１】
0006426439.tif 000034
【図２２】
0006426439.tif 000035
【図２３】
0006426439.tif 000036
【図２４】
0006426439.tif 000037
【図２５】
0006426439.tif 000038