(57)【特許請求の範囲】
【請求項１】
複数の論理部を有し、構成データに応じて複数の論理回路が構成される再構成可能論理デバイスであって、
それぞれの前記論理部は、
第１構成データ及び第２構成データを格納し、且つクロックに同期して動作する同期メモリである構成メモリと、
データ入力線と、
データ出力線と、
クロックが、前記構成メモリへの第１アドレスとして入力される第１アドレス入力線と、
前記データ入力線のデータ入力が、前記構成メモリへの第３アドレスとして入力される第２アドレス入力線と、
前記第１アドレスは、システムクロックのｎ倍（ｎは、２以上の整数）の周波数の信号であり、前記システムクロックが、前記構成メモリへの第３アドレスとして入力される第３アドレス入力線と、
前記第１アドレスを遅延させて、前記構成メモリが同期するクロックを供給する遅延回路と、
前記クロックに従い、前記構成メモリから、前記第１アドレスより特定される前記第２構成データを読出して保持するともに、前ステートで保持された前記第１構成データを出力するレジスタ部と、
前記レジスタ部から出力される前記第１構成データ又は前記第２構成データに従って、選択的に前記データ入力線からのデータ入力と、前記データ出力線へのデータ出力とを結合させ、及び／又は、前記データ入力線からのデータ入力に関して論理演算したデータを、前記データ出力線へデータ出力する再構成可能論理マルチプレクサと、を備え、
前記データ入力線および前記データ出力線により近接する前記論理部が接続される、再構成可能論理デバイス。
【請求項２】
前記レジスタ部は、
前記第１アドレスの前周期のデータ及び後周期のデータを前記構成メモリから読出して、エンコードし、
前記エンコードデータを、前記再構成可能論理マルチプレクサに出力する、請求項１に記載の再構成可能論理デバイス。
【請求項３】
前記論理部は、マルチルックアップテーブルである、請求項１又は２に記載の再構成可能論理デバイス。
【請求項４】
前記第１構成データ及び第２構成データはそれぞれ、論理演算値及び／又は結線経路を規定する複数の真理値表データを含み、前記データ入力に応じて、前記複数の真理値表データの何れか１つが選択されるように構成される、請求項１〜３の何れか１項に記載の再構成可能論理デバイス。
【請求項５】
前記再構成可能論理マルチプレクサは複数あり、前記データ入力線の方向と、前記データ出力線の方向の組合せ毎に設けられる、請求項１〜４の何れか１項に記載の再構成可能論理デバイス。
【請求項６】
前記構成メモリは、データ出力方向毎に用意される請求項１〜５の何れか１項に記載の再構成可能論理デバイス。
【請求項７】
前記構成メモリへの第４アドレスとして入力される第４アドレス入力線をさらに備え、
前記構成メモリは、前記第１構成データ又は第２構成データの複数のセットを記憶し、前記第１構成データ又は第２構成データの複数のセットの何れか１つは、前記第４アドレス入力線に接続する第４データ出力線に出力し、前記第４アドレス入力線の入力に従って、前記複数の真理値表データを特定されるように構成される、請求項１〜６の何れか１項に記載の再構成可能論理デバイス。
【請求項８】
複数の論理部を有し、構成データに応じて複数の論理回路が構成される再構成可能論理デバイスの制御方法であって、
それぞれの前記論理部は、
第１構成データ及び第２構成データを格納し、且つクロックに同期して動作する同期メモリである構成メモリと、
データ入力線と、
データ出力線と、
クロックが、前記構成メモリへの第１アドレスとして入力される第１アドレス入力線と、
前記データ入力線のデータ入力が、前記構成メモリへの第２アドレスとして入力される第２アドレス入力線と、
前記第１アドレスは、システムクロックのｎ倍（ｎは、２以上の整数）の周波数の信号であり、前記システムクロックが、前記構成メモリへの第３アドレスとして入力される第３アドレス入力線と、
前記第１アドレスを遅延させて、前記構成メモリが同期するクロックを供給する遅延回路と、
前記第１構成データ又は第２構成データを保持するレジスタ部と、
再構成可能論理マルチプレクサとを備え、
前記データ入力線および前記データ出力線により近接する前記論理部が接続され、
前記レジスタ部は、前記クロックに従い、前記構成メモリから、前記第１アドレスより特定される前記第２構成データを読出して保持するともに、前ステートで保持された前記第１構成データを出力し、
前記再構成可能論理マルチプレクサは、前記レジスタ部から出力される前記第１構成データ又は前記第２構成データに従って、選択的に前記データ入力線からのデータ入力と、前記データ出力線へのデータ出力とを結合させ、及び／又は、前記データ入力線からのデータ入力に関して論理演算したデータを、前記データ出力線へデータ出力する、制御方法。
【請求項９】
前記レジスタ部は、
前記第１アドレスの前周期データと及び後周期のデータを前記構成メモリから読出して、エンコードし、
前記エンコードデータを、前記再構成可能論理マルチプレクサに出力する、請求項８に記載の方法。
【請求項１０】
前記論理部は、マルチルックアップテーブルである、請求項８又は９に記載の制御方法。
【請求項１１】
再構成可能論理デバイスを制御するためのプログラムにおいて、
前記再構成可能論理デバイスは、複数の論理部を有し、構成データに応じて複数の論理回路が構成され、
それぞれの前記論理部は、
第１構成データ及び第２構成データを格納し、且つクロックに同期して動作する同期メモリである構成メモリと、
データ入力線と、
データ出力線と、
クロックが、前記構成メモリへの第１アドレスとして入力される第１アドレス入力線と、
前記データ入力線のデータ入力が、前記構成メモリへの第２アドレスとして入力される第２アドレス入力線と、
前記第１アドレスは、システムクロックのｎ倍（ｎは、２以上の整数）の周波数の信号であり、前記システムクロックが、前記構成メモリへの第３アドレスとして入力される第３アドレス入力線と、
前記第１アドレスを遅延させて、前記構成メモリが同期するクロックを供給する遅延回路と、
前記第１構成データ又は第２構成データを保持するレジスタ部と、
再構成可能論理マルチプレクサとを備え、
前記データ入力線および前記データ出力線により近接する前記論理部が接続され、
前記レジスタ部は、前記クロックに従い、前記構成メモリから、前記第１アドレスより特定される前記第２構成データを読出して保持するともに、前ステートで保持された前記第１構成データを出力し、
前記再構成可能論理マルチプレクサに、選択的に前記データ入力線からのデータ入力と、前記データ出力線へのデータ出力とを結合させ、及び／又は、前記データ入力線からのデータ入力に関して論理演算したデータを、前記データ出力線へデータ出力させる、プログラム。
【請求項１２】
請求項１１に示すプログラムを格納する記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、再構成可能な論理デバイスに関する。
【背景技術】
【０００２】
ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）などの再構成可能（プログラム可能、又は、書込み可能）な半導体装置は、その再書込み可能性によって与えられる柔軟性のため、広く使用されている（例えば、特許文献１）。
【０００３】
一般的なアイランドスタイルＦＰＧＡは、論理要素ＣＬＢ（Ｃｏｎｆｉｇｕｒａｂｌｅ  Ｌｏｇｉｃ  Ｂｌｏｃｋｓ）、スイッチ要素ＳＢ、ＣＢ、入出力要素ＩＯＢから構成されている。
【０００４】
論理要素ＣＬＢは、組み合わせ回路を実現するプログラマブルな要素であり、ＣＬＢの各々は、データフリップフロップ（ＤＦＦ）や、ＬＵＴ（Ｌｏｏｋ  Ｕｐ  Ｔａｂｌｅ）等から構成される。ｋ入力のＬＵＴ（ｋ−ＬＵＴ）は２のｋ乗個のＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）セルが使われ、ｋ変数の関数を実現する。例えば、任意の論理関数の真理値表をＳＲＡＭに保持し、入力に応じて真理値表を参照して出力を行う方式である。
【０００５】
また、論理機能部分をリンクさせるＣＬＢ間に信号経路を発生させるため、ＣＬＢ間には、信号経路を切り替え可能なスイッチ要素ＣＢ、ＳＢが配置される。スイッチ要素ＣＢは、論理ブロックＬＢと配線チャネルとの間に設定する要素であり、スイッチ要素ＳＢは、縦方向と横方向の配線が交差する部分において縦横の配線間の設定を行う要素である。
【０００６】
入出力要素ＩＯＢとは、デバイスの入出力と論理ブロックＬＢとの間のインターフェースの役割を担う構成要素である。
【０００７】
出願人又は発明者は、メモリセルユニットで回路構成を実現する「ＭＰＬＤ（Ｍｅｍｏｒｙ−ｂａｓｅｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）」（登録商標）を開発している。ＭＰＬＤは、例えば、下記特許文献２に示される。ＭＰＬＤは、ＭＬＵＴ（Ｍｕｌｔｉ  Ｌｏｏｋ−Ｕｐ−Ｔａｂｌｅ）と呼ぶメモリアレイを相互に接続する。ＭＬＵＴは真理値データを格納して、配線回路と論理回路を構成する。ＭＰＬＤは、このＭＬＵＴをアレイ状に並べ、相互接続することによってＦＰＧＡとほぼ同等の機能を実現している。また、ＭＰＬＤは、真理値表データにより、ＭＬＵＴを論理回路と配線回路の双方として使用することによって、論理領域と配線領域に柔軟性をもたせたデバイスであり（例えば、特許文献２）、メモリセルユニット間の接続に専用の切り替え回路を有するＦＰＧＡと異なる。
【０００８】
特許文献３は、再構成可能論理マルチプレクサ５０をデータ入出力に使い、再構成可能論理マルチプレクサ５０の選択制御信号に真理値データを使用するＭＬＵＴ３０が開示される。この実施例では、ＭＬＵＴの同期／非同期にＡＴＤ回路２００が使用される。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特表２００２−５３８６５２号公報
【特許文献２】国際公開第２００７／０６０７６３号
【特許文献３】国際公開第２０１４／１６３０９９号
【発明の概要】
【発明が解決しようとする課題】
【００１０】
以上のように、ＦＰＧＡは、再構成可能な装置であるが、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）よりも面積が大きい。その原因は、配線とスイッチであり、それは全体面積のおよそ７０〜８０％を占める。また、ＦＰＧＡは、論理要素と、配線要素がそれぞれ異なる装置により実現されているため、再構成における制限がある。
【００１１】
また、特許文献３で示されるＡＴＤ（Address Transition Data）回路は、特殊な回路であり、一般の論理設計では適用にタイミング調整など配慮が必要であった。
【００１２】
本発明の一実施形態によれば、ＡＴＤ回路を不要とし、同期／非同期の切り替え可能な再構成可能な論理デバイスを提供する。
【課題を解決するための手段】
【００１３】
上記課題を解決する形態は、以下の項目セットにより示される。
１．複数の論理部を有し、構成データに応じて複数の論理回路が構成される再構成可能論理デバイスであって、
それぞれの前記論理部は、
第１構成データ及び第２構成データを格納する構成メモリと、
データ入力線と、
データ出力線と、
クロックが、前記構成メモリへの第１アドレスとして入力される第１アドレス入力線と、
前記データ入力線の入力が、前記構成メモリへの第２アドレスとして入力される第２アドレス入力線と、
前記クロックに従い、前記構成メモリから、前記第１アドレスより特定される前記第２構成データを読出して保持するともに、前ステートで保持された前記第１構成データを出力するレジスタ部と、
前記レジスタ部から出力される前記第１構成データ又は前記第２構成データに従って、選択的に前記データ入力線からのデータ入力と、前記データ出力線へのデータ出力とを結合させ、及び／又は、前記データ入力線からのデータ入力に関して論理演算したデータを、前記データ出力線へデータ出力する再構成可能論理マルチプレクサと、を備え、
前記データ入力線および前記データ出力線により近接する前記論理部が接続される、再構成可能論理デバイス。
【００１４】
レジスタ部は、クロックに従い、構成データを保持又は出力するＤ型フリップフロップを構成する。これにより、論理部は、クロックに従う同期動作をすることができる。前ステートの第１構成データと、第２構成データが異なれば、クロックが変化しても、出力が変わらないため、論理部は非同期動作することができる。
【００１５】
２．前記第１アドレスは、システムクロックのｎ倍（ｎは、２以上の整数）の周波数の信号であり、
前記システムクロックが、前記構成メモリへの第３アドレスとして入力される第３アドレス入力線と、をさらに備え、
前記レジスタ部は、
前記第１アドレスの前周期のデータ、及び後周期のデータを前記構成メモリから読出して、エンコードし、
前記エンコードデータを、前記再構成可能論理マルチプレクサに出力する、項目１に記載の再構成可能論理デバイス。
【００１６】
構成メモリのアドレス空間が行側に伸びるため、データ幅が狭いメモリにも適用可能になる。
【００１７】
３．前記論理部は、マルチルックアップテーブルである、項目１又は２に記載の再構成可能論理デバイス。
【００１８】
４．前記第１構成データ及び第２構成データはそれぞれ、論理演算値及び／又は結線経路を規定する複数の真理値表データを含み、前記データ入力に応じて、前記複数の真理値表データの何れか１つが選択されるように構成される、項目１〜３の何れか１項に記載の再構成可能論理デバイス。
【００１９】
５．前記再構成可能論理マルチプレクサは複数あり、前記データ入力線の方向と、前記データ出力線の方向の組合せ毎に設けられる、項目１〜４の何れか１項に記載の再構成可能論理デバイス。
【００２０】
６．前記構成メモリは、データ出力方向毎に用意される項目１〜５の何れか１項に記載の再構成可能論理デバイス。
【００２１】
７．前記構成メモリへの第４アドレスとして入力される第４アドレス入力線をさらに備え、
前記構成メモリは、前記第１構成データ又は第２構成データの複数のセットを記憶し、前記第１構成データ又は第２構成データの複数のセットの何れか１つは、前記第４アドレス入力線に接続する第４データ出力線に出力し、前記第４アドレス入力線の入力に従って、前記複数の真理値表データを特定されるように構成される、項目１〜６の何れか１項に記載の再構成可能論理デバイス。
【００２２】
８．複数の論理部を有し、構成データに応じて複数の論理回路が構成される再構成可能論理デバイスの制御方法であって、
それぞれの前記論理部は、
第１構成データ及び第２構成データを格納する構成メモリと、
データ入力線と、
データ出力線と、
クロックが、前記構成メモリへの第１アドレスとして入力される第１アドレス入力線と、
前記データ入力線の入力が、前記構成メモリへの第２アドレスとして入力される第２アドレス入力線と、
前記第１構成データ又は第２構成データを保持するレジスタ部と、
再構成可能論理マルチプレクサとを備え、
前記データ入力線および前記データ出力線により近接する前記論理部が接続され、
前記レジスタ部は、前記クロックに従い、前記構成メモリから、前記第１アドレスより特定される前記第２構成データを読出して保持するともに、前ステートで保持された前記第１構成データを出力し、
前記再構成可能論理マルチプレクサは、前記レジスタ部から出力される前記第１構成データ又は前記第２構成データに従って、選択的に前記データ入力線からのデータ入力と、前記データ出力線へのデータ出力とを結合させ、及び／又は、前記データ入力線からのデータ入力に関して論理演算したデータを、前記データ出力線へデータ出力する、制御方法。
【００２３】
９．前記第１アドレスは、システムクロックのｎ倍（ｎは、２以上の整数）の周波数の信号であり、
前記システムクロックが、前記構成メモリへの第３アドレスとして入力される第３アドレス入力線と、をさらに備え、
前記レジスタ部は、
前記第１アドレスの前周期データ、及び後周期のデータを前記構成メモリから読出して、エンコードし、
前記エンコードデータを、前記再構成可能論理マルチプレクサに出力する、項目８に記載の方法。
【００２４】
１０．前記論理部は、マルチルックアップテーブルである、項目８又は９に記載の制御方法。
【００２５】
１１．再構成可能論理デバイスを制御するためのプログラムにおいて、
前記再構成可能論理デバイスは、複数の論理部を有し、構成データに応じて複数の論理回路が構成され、
それぞれの前記論理部は、
第１構成データ及び第２構成データを格納する構成メモリと、
データ入力線と、
データ出力線と、
クロックが、前記構成メモリへの第１アドレスとして入力される第１アドレス入力線と、
前記データ入力線の入力が、前記構成メモリへの第２アドレスとして入力される第２アドレス入力線と、
前記第１構成データ又は第２構成データを保持するレジスタ部と、
再構成可能論理マルチプレクサとを備え、
前記データ入力線および前記データ出力線により近接する前記論理部が接続され、
前記レジスタ部は、前記クロックに従い、前記構成メモリから、前記第１アドレスより特定される前記第２構成データを読出して保持するともに、前ステートで保持された前記第１構成データを出力し、
前記再構成可能論理マルチプレクサに、選択的に前記データ入力線からのデータ入力と、前記データ出力線へのデータ出力とを結合させ、及び／又は、前記データ入力線からのデータ入力に関して論理演算したデータを、前記データ出力線へデータ出力させる、プログラム。
【００２６】
１２．項目１１に示すプログラムを格納する記憶媒体。
【発明の効果】
【００２７】
本発明の一実施形態によれば、ＡＴＤ回路を不要とし、同期／非同期の切り替え可能な再構成可能な論理デバイスを提供することができる。
【図面の簡単な説明】
【００２８】
【図１】本実施形態に係る半導体装置の全体構成の一例を示す図である。
【図２】交互配置のＭＬＵＴアレイの一例を示す図である。
【図３】４方向配置のＭＬＵＴアレイの一例を示す図である。
【図４】交互配置のＭＬＵＴの信号線の配置例を示す図である。
【図５】交互配置のＭＬＵＴの一例を示す図である。
【図６】構成メモリの一例を示す図である。
【図７】図５に示すＭＬＵＴ内の信号のタイムチャートの一例である。
【図８】４方向配置のＭＬＵＴの一例を示す図である。
【図９】ページ制御を行うＭＬＵＴの一例を示す図である。
【図１０】ＭＬＵＴ外部で状態機械を設ける例を示す図である。
【図１１】ＭＬＵＴ内部で状態機械を設ける例を示す図である。
【図１２】ＭＬＵＴの一例を示す図である。
【図１３】論理回路として動作するＭＬＵＴの一例を示す図である。
【図１４】図１３に示す論理回路の真理値表を示す図である。
【図１５】接続回路として動作するＭＬＵＴの一例を示す図である。
【図１６】図１５に示す接続回路の真理値表を示す図である。
【図１７】１つのＭＬＵＴが、論理回路及び接続回路として動作する一例を示す図である。
【図１８】図１７に示す論理回路及び接続回路の真理値表を示す。
【図１９】図２で説明した交互配置のＭＬＵＴにより構成される論理回路と配線を示す図である。
【図２０Ａ】ＭＬＵＴ３０Ａの左側の構成メモリに格納される構成データの一例を示す図である。
【図２０Ｂ】ＭＬＵＴ３０Ａの右側の構成メモリに格納される構成データの一例を示す図である。
【図２０Ｃ】ＭＬＵＴ３０Ｂの左側の構成メモリに格納される構成データの一例を示す図である。
【図２０Ｄ】ＭＬＵＴ３０Ｂの右側の構成メモリに格納される構成データの一例を示す図である。
【図２０Ｅ】ＭＬＵＴ３０Ｃの左側の構成メモリに格納される構成データの一例を示す図である。
【図２０Ｆ】ＭＬＵＴ３０Ｃの右側の構成メモリに格納される構成データの一例を示す図である。
【図２０Ｇ】ＭＬＵＴ３０Ｄの左側の構成メモリに格納される構成データの一例を示す図である。
【図２０Ｈ】ＭＬＵＴ３０Ｄの右側の構成メモリに格納される構成データの一例を示す図である。
【図２０Ｉ】ＭＬＵＴ３０Ｅの左側の構成メモリに格納される構成データの一例を示す図である。
【図２０Ｊ】ＭＬＵＴ３０Ｅの右側の構成メモリに格納される構成データの一例を示す図である。
【図２０Ｋ】ＭＬＵＴ３０Ｅの左側の構成メモリに格納される構成データの一例を示す図である。
【図２０Ｌ】ＭＬＵＴ３０Ｅの右側の構成メモリに格納される構成データの一例を示す図である。
【図２１】真理値表データを生成する情報処理装置のハードウェア構成を示す図である。
【発明を実施するための形態】
【００２９】
以下、図面を参照して、１．再構成可能な論理デバイス、２．ＭＬＵＴアレイ、３．ＭＬＵＴ、４．ページ制御、５．構成データ、及び６．構成データの生成方法について順に説明する。
【００３０】
１．再構成可能な論理デバイス
図１は、本実施形態に係る再構成可能な論理デバイスの一例を示す図である。以下、当該再構成可能な論理デバイスをＭＲＬＤ（Ｍｅｍｏｒｙ  ｂａｓｅｄ  Ｒｅｃｏｎｆｉｇｕｒａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）（登録商標）と呼ぶ。
【００３１】
ＭＲＬＤは、ＦＰＧＡとほぼ同等の再構成機能を備えているデバイスであるが、その構造が異なる。ＦＰＧＡは、ＣＬＢ（Ｃｏｎｆｉｇｕｒａｂｌｅ  Ｌｏｇｉｃ  Ｂｌｏｃｋｓ）、スイッチブロック、コネクションブロックなどによって構成され、論理資源と配線資源の割合は固定である。これに対し、ＭＲＬＤは、論理素子、配線素子の双方として利用可能なＭＬＵＴを並べた構成となり、さらに、ＭＬＵＴが直接接続されている点が、ＦＰＧＡと異なる。
【００３２】
図１に示すＭＲＬＤ２０は、その詳細を後述する複数のＭＬＵＴ（Ｍｕｌｔｉ  Ｌｏｏｋ  Ｕｐ  Ｔａｂｌｅ：マルチルックアップテーブル）３０を、アレイ状に配置したＭＬＵＴアレイ３００、ＭＬＵＴのメモリ読出し動作、書込み動作を特定するデコーダ１２、及び、入出力部１４を有する。
【００３３】
ＭＲＬＤ２０の論理動作では、実線で示されるデータ入力ＤＩ、及びデータ出力ＤＯの信号を使用する。データ入力ＤＩは、論理回路の入力信号のデータ入力線（ＩｎＡ０〜ＩｎＡ３、ＩｎＢ０〜ＩｎＢ３）の入力として使用される。そして、データ出力ＤＯは、論理回路の出力信号のデータ出力線（ＯｕｔＡ０〜ＯｕｔＡ３、ＯｕｔＢ０〜ＯｕｔＢ３）の出力として使用される（なお、データ入力線の詳細は、図５において後述する）。
【００３４】
ＭＲＬＤ２０の論理動作により実現される論理は、ＭＬＵＴ３０に記憶される真理値表データにより実現される。いくつかのＭＬＵＴ３０は、ＡＮＤ回路、加算器などの組み合わせ回路としての論理回路として動作する。他のＭＬＵＴは、組み合わせ回路を実現するＭＬＵＴ３０間を接続する接続回路として動作する。ＭＲＬＤ２０が、論理回路、及び接続回路を実現するための真理値表データの書き換えは、ＭＬＵＴ３０の構成メモリへの書き込み動作によりなされる。
【００３５】
ＭＲＬＤ２０の書き込み動作は、書込用アドレスＡＤ、及び書込用データＷＤによりなされ、読出し動作は、書込用アドレスＡＤ、及び読出用データＲＤによりなされる。
【００３６】
書込用アドレスＡＤは、ＭＬＵＴ３０内のメモリセルを特定するアドレスである。書込用アドレスＡＤは、ｍ本の信号線で、２のｍ乗の数ｎのメモリセルを特定する。書込用アドレスＡＤは、メモリの読出し動作、書き込み動作、両方の場合で使用され、ｍ本の信号線を介して、デコーダ１２でデコードされて、対象となるメモリセルを選択する。なお本実施形態においては、後述するが、データ入力ＤＩのデコードは、ＭＬＵＴ３０内のデコーダにより行う。
【００３７】
デコーダ１２は、リード・イネーブル信号ｒｅ、ライト・イネーブル信号ｗｅ等の制御信号に従って、書込用アドレスＡＤをデコードし、デコードアドレスｎをＭＬＵＴ３０に対して出力する。デコードアドレスｎは、ＭＬＵＴ３０の構成メモリ内のメモリセルを特定するアドレスとして使用される。
【００３８】
入出力部１４は、ライト・イネーブル信号ｗｅに従って、書込用データＷＤを書込み、リード・イネーブル信号ｒｅに従って、読出用データＲＤを出力する。
【００３９】
２．ＭＬＵＴアレイ
図２は、交互配置のＭＬＵＴアレイの一例を説明する図である。図２に示される矢印は、隣接する他のＭＬＵＴとつながるデータ入力線、又は、データ出力線である。データ入力線は、アドレスのアドレス入力線に利用される（図５で後述）、データ出力線は、文字通りである。図２に示すＭＬＵＴアレイ３００において、ＭＬＵＴ３０は、隣接する他のＭＬＵＴ３０と２本のデータ入力線又はデータ出力線で接続されている。つまり、ＭＬＵＴ同士の接続が複数のデータ入力線又はデータ出力線で接続するように構成される。また、隣接するＭＬＵＴは、再構成性を上げるために、入力方向及び出力方向に、それぞれ２つのＭＬＵＴと接続する。この配置を、以下「交互配置」と言う。
【００４０】
図２で示す「矢印」は、データ出力方向を示している。図２では、左から右、右から左への双方向のデータ流れがあるが、一方向としてもよい。
【００４１】
交互配置型ＭＬＵＴは、他の隣接するＭＬＵＴと接続するデータ入力線及びデータ出力線線を複数本とすることで、マルチビットのデータ処理が可能になり、さらに、入力及び出力方向のデータの流れの方向が限定できるので、論理ライブラリの作成も容易になる。
【００４２】
図３は、４方向配置のＭＬＵＴアレイの一例を説明する図である。図３に示す４方向配置では、ＦＰＧＡと同様の配置である。このようにすることでＦＰＧＡに近い構成が取れ、ＦＰＧＡツールで生成した論理構成された状態を使い、ＭＲＬＤの構成データの作成が容易になる。例えば、図の左上及び中上、左下をスイッチブロックとして、右下をＬＵＴブロックとして、ＦＰＧＡのＣＬＢ相当が表現でき、ＦＰＧＡの論理構成された状態から真理値データが生成できる。
【００４３】
３．ＭＬＵＴ
図４は、交互配置のＭＬＵＴの信号線の配置例を示す図である。ＭＬＵＴ３０は、第１構成データ及び第２構成データを格納する構成メモリ４０と、データ入力線（ＩｎＡ０〜ＩｎＡ３、ＩｎＢ０〜ＩｎＢ３）と、データ出力線（ＯｕｔＡ０〜ＯｕｔＡ３、ＯｕｔＢ０〜ＯｕｔＢ３）と、クロックが、前記構成メモリへの第１アドレスとして入力される第１アドレス入力線（図５で後述）と、前記データ入力線の入力が、前記構成メモリへの第２アドレスとして入力される第２アドレス入力線（図５で後述）と、前記クロックに従い、前記構成メモリから、前記第１アドレスより特定される前記第１構成データを読出して保持するともに、前ステートで保持された構成データを出力するレジスタ部６０と、前記レジスタ部から出力される前記第１構成データ又は前記第２構成データに従って、選択的に前記データ入力線からのデータ入力と、前記データ出力線へのデータ出力とを結合させ、及び／又は、前記データ入力線からのデータ入力に関して論理演算したデータを、前記データ出力線へデータ出力する再構成可能論理マルチプレクサ５０と、を備える。
【００４４】
第１及び第２構成データは、それぞれ真理値表データで構成される。
【００４５】
図５は、交互配置のＭＬＵＴの一例を示す図である。図５に示すＭＬＵＴ３０は、２つの構成メモリ４０Ａ、４０Ｂを有する。これは、アドレスの増加によるメモリ容量の増加を防ぐためである。なお、図５では、構成メモリは２つで示すが、構成メモリは1つでもよい。
【００４６】
図５に示すＭＬＵＴのデータ入出力線（ＩｎＡ０〜ＩｎＡ３、ＩｎＢ０〜ＩｎＢ３、ＯｕｔＡ０〜ＯｕｔＡ３、ＯｕｔＢ０〜ＯｕｔＢ３）は、図４に示すＭＬＵＴの信号線と同じである。
【００４７】
一方、本実施形態では、構成メモリ４０に入力されるアドレス線は、４種類である。第１アドレス線は、システムクロック信号の周波数を逓倍化した信号の入力線であり、クロックとして利用される。第２アドレス線は、再構成可能論理マルチプレクサ５０のデータ入力線（ＩｎＡ０〜Ａ３）と接続される入力線である。第３アドレス線は、システムクロック信号の入力線である。第４アドレスは、ページ（真理値表データ）切り替え信号の入力線である。一方、他の実施形態として、システムクロックを単に、第１アドレス線の信号として利用し、第３アドレス線の無い構成としてもよい。
【００４８】
３．１  構成メモリ
図６は、構成メモリの詳細を示す図である。構成メモリ４０は、例えば、ＳＲＡＭであり、クロックに同期して動作する同期メモリである。構成メモリ４０は、構成データを格納するメモリセルを特定するための複数のアドレス線と接続する。
【００４９】
メモリセルアレイ１１０は、ｎ×２ｍ個のメモリセル（それに伴う記憶素子）を有し、メモリセルは、２のｍ乗本のワード線と、ｎ本のビット線（「データ線」とも言う。以下同じ）の接続部分に配置される。
【００５０】
アドレスデコーダ１２０は、クロック（ｄｃｌｋ）に同期して、ｍ本のアドレス信号線からアドレス信号を受け取ると、それをデコードして、２のｍ乗本のワード線ＷＬにデコード信号であるワード線選択信号を出力し、対応するメモリセルに対するデータの読み出し又は書込み処理が行なわれるようにする。
【００５１】
構成データ入出力部１４０は、ライトアンプ及び、必要に応じてセンスアンプを有する。ライトアンプは、例えば、外部からライトイネーブル（ＷＥ）の立ち上がりエッジタイミング及び書込データを受け取ると、ｎ本のビット線ｂ０〜６３にその書込データの信号レベルを伝えて、メモリセルにデータを書き込む。
【００５２】
なお、図６に示す構成メモリは、配線の１方向ずつ設けてもよい。例えば、図２に示す交互配置では、２つの構成メモリ、図３に示す４方向配置では、４つの構成メモリである。このように、方向毎に構成メモリを設けることで、単一のメモリで構成する場合と比して、アドレスの数が減る（２の１０乗×４の方が、２の４０乗よりも少なくなる）ので、メモリの容量を下げることができる。
【００５３】
３．１．１  構成メモリのビット幅
本実施形態では、レジスタ部６０Ａ、６０Ｂのデータ幅（ｄ０〜ｄ１２７）に対して、構成メモリ４０Ａ、４０Ｂは半分のデータ幅のデータ（ｂ０〜ｂ６３）を格納する。構成メモリ４０Ａ、４０Ｂは、後述するデバイスクロックｄｃｌｋに従って同期する同期メモリである。
【００５４】
３．１．２  第１アドレス線及び第３アドレス線
再び図５を用いて説明する。図５において、第３アドレス線Ａ１は、ＭＬＵＴ３０のシステムクロック信号である。第１アドレス線は、システムクロック信号の周波数を、逓倍回路６１Ａ、６１Ｂで、ｎ倍（ｎは、２以上の整数）にしたものである。これにより、システムクロック周波数の周期内に、読出し対象となるアドレス領域を変化させて、データを読み出すことが可能になる一方で、メモリのデータ領域がｎ倍だけ行方向に増える。このような構成とすることで、構成メモリのデータ領域をアドレス方向に延ばすことができる。
【００５５】
図５に示す例では、レジスタ部６０Ａ、６０Ｂのデータ幅は、“ｄ０〜ｄ１２７”で１２８ビットである。一方、構成メモリ４０Ａ、４０Ｂのデータ幅は、“ｂ０〜ｂ６３”で６４ビットである。これは、第１アドレスＡ０が、２倍に逓倍されて、高周波化されているので、ＭＬＵＴ３０のシステムクロックの周期内で、構成メモリ４０Ａ、４０Ｂが、データを２回出力することを意味している。
【００５６】
なお、図５において、システムクロックを単に、第１アドレス線の信号を生成するためだけに利用し、第３アドレス線の無い構成としてもよい。この場合、構成メモリ４０は、１２８ビットのビット線を有することになる。そして、後述のレジスタ部６０Ａ、６０Ｂは、１２８ビットのデータ入力を有し、エンコーダ機能を有することはない。
【００５７】
３．１．３  第１アドレス生成回路（６２Ａ、６２Ｂ）
逓倍回路６１Ａ、６１Ｂは、上述のように、入力信号の周波数をｎ倍にする回路である。逓倍回路６１Ａ、６１Ｂの出力信号は、インバータ６２Ａ、６２Ｂで反転されて、構成メモリ４０Ａ、４０Ｂのデバイスクロックｄｃｌｋとして使用される。なお、図７を用いて、後述するが、デバイスクロックｄｃｌｋが反転されるのは、第１アドレス線Ａ０に対応して、デバイスクロックｄｃｌｋの立ち上りと、立ち下りで、構成メモリ４０Ａ、４０Ｂからデータを読み出して、システムクロック周期内で、データの読出しを２回行うためである。
【００５８】
３．１．４  レジスタクロック（ｓｅｌ）生成回路
レジスタクロックｓｅｌは、デバイスクロックｄｃｌｋと同周期で動作する信号であり、レジスタ部動作用のクロック信号として使用される。レジスタクロックｓｅｌは、ＮＡＮＤ（否定論理積）回路６４Ａ、６４Ｂにより生成される。ＮＡＮＤ回路６４Ａ、６４Ｂの入力信号の両信号が、「Ｈｉｇｈ」のとき、「Ｌｏｗ」を出力し、それ以外では、「Ｈｉｇｈ」を出力する。入力信号の片方は、リセット信号ＲＳＴの出力信号である。リセット信号は、リセット時「Ｌｏｗ」なので、インバータ６５Ａ、６５Ｂにより反転されて、ＮＡＮＤ回路６４Ａ、６４Ｂに、「Ｈｉｇｈ」が出力される。ＮＡＮＤ回路６４Ａ、６４Ｂのもう片方の入力信号は、デバイスクロックｄｃｌｋ同様に、遅延回路Ｄで遅延させた信号をインバータ６３Ａ、６３Ｂで反転したものである。そのため、ＮＡＮＤ回路６４Ａ、６４Ｂの出力である、レジスタクロックｓｅｌは、デバイスクロックｄｃｌｋと同周期で動作する
【００５９】
３．１．５  レジスタ部
Ａ．第１アドレスによる同期動作又は非同期動作
レジスタ部６０Ａ、６０Ｂは、レジスタクロックに従い、前記構成メモリから、前記第１アドレスより特定される前記第２構成データを読出して保持するともに、前ステートで保持された第１構成データを出力する。
【００６０】
レジスタ部６０Ａ、６０Ｂは、レジスタクロックで動作するレジスタ素子から構成され、レジスタクロックに従い、構成データを保持又は出力するＤ型フリップフロップを構成する。レジスタ部６０Ａ、６０Ｂは、構成メモリから読み出したデータ入力の値であり、Ｑ出力としてレジスタ素子に保持される。レジスタ部６０Ａ、６０Ｂの構成により、論理部（ＭＬＵＴ）３０は、クロックに従う同期動作をすることができる。
【００６１】
Ｂ．第３アドレスによるエンコーダ機能
第３アドレスＡ１が入力される場合、レジスタ部６０Ａ、６０Ｂは、第１アドレスの「Ｈｉｇｈ」と「Ｌｏｗ」に応じて、データの保持およびエンコードを行うことで、再構成可能論理マルチプレクサ５０に出力するエンコード機能を有する。例えば、ｓｅｌ信号が「Ｌｏｗ」の時、ｂ０〜ｂ６３を、ｄ０〜ｄ６３にセットし、「Ｈｉ」の時ｂ０〜ｂ６３を、ｄ６４〜ｄ１２８にセットして、１２８ビットをエンコードし、再構成可能論理マルチプレクサ５０に出力する。
【００６２】
３．１．６  再構成可能論理マルチプレクサ
再構成可能論理マルチプレクサ５０は、前記レジスタ部から出力される前記第１構成データ及び前記第２構成データに従って、選択的に前記データ入力線からのデータ入力と、前記データ出力線へのデータ出力とを結合させ、及び／又は、前記データ入力線のデータ入力に関して論理演算したデータを、前記データ出力線へデータ出力する。
【００６３】
本実施形態では、レジスタ部６０から出力されるデータを、マルチプレクサの“入力信号”とし、データ入力（ＩｎＡ０〜ＩｎＡ３、ＩｎＢ０〜ＩｎＢ３）を“選択制御信号”とする。選択されたデータが、データ出力線（ＯｕｔＡ０〜ＯｕｔＡ３、ＯｕｔＢ０〜ＯｕｔＢ３）へ出力される。
再構成可能論理マルチプレクサ５０は、図５に示されるように、入力信号を、選択制御信号により選択してデータを出力するマルチプレクサより構成される。
【００６４】
ＭＬＵＴ３０に、入力が４つある場合、その組み合わせは「１６」であるので、入力１つに対して、レジスタは１６個（ビット線は１６本）必要になる。レジスタ部６０のレジスタは、さらに入出力方向の数で決まる。双方向の場合、「左から左」、「左から右」、「右から左」、「右から右」のデータが必要なので、４ビット×１６×４で２５６個のレジスタ及び、２５６本のビット線となる。データの入出力方向に従って、再構成可能論理マルチプレクサ５０Ａ、５０Ｂ、５０Ｃ、及び５０Ｄが用意される。
【００６５】
なお、本実施形態では、クロック信号を利用して、構成メモリを行方向に拡大し、ビット数を減らす構成となっているため、構成メモリのビット数は、６４×２の１２８ビットと少ない。
【００６６】
Ａ．論理機能の実現
構成データは、論理積、論理和、否定、否定論理和、排他的論理和等の真理値表に対応した値として、「１６ビット組合せ」×「４ビットデータ入力」で表現される。各再構成可能論理マルチプレクサ５０Ａ〜Ｄには、「６４ビット」の構成データの入力がある。
【００６７】
Ｂ．配線機能の実現
各再構成可能論理マルチプレクサは、データ入力を選択信号として用いて、データ入力に応じて、複数の真理値表データの何れかを選択する。各再構成可能論理マルチプレクサは、データ入力線からのデータ入力と、データ出力線へのデータ出力とを結合する所望の配線経路を実現するように構成される。再構成可能論理マルチプレクサは複数あり、データ入力線の方向と、データ出力線の方向の組合せ毎に設けられる。
【００６８】
例えば、再構成可能論理マルチプレクサ５０Ａ、５０Ｂ、５０Ｃ、及び５０Ｄは、それぞれ、左側入力から左側出力の配線経路、左側入力から右側出力の配線経路、右側入力から右側出力の配線経路、及び、右側入力から左側出力の配線経路のためにある。データ入力により、再構成可能論理マルチプレクサ５０Ｂではなく、再構成可能論理マルチプレクサ５０Ａが選ばれる場合、データ入力に応じて再構成可能論理マルチプレクサ５０Ｂが選択した入力信号（構成データ）は、「０」であり５０Ａの信号と５０Ｃの信号が論理和されているので、左から左への信号が優先し、左から左の信号経路を構成する。データ入力に応じて再構成可能論理マルチプレクサ５０Ａが選択する入力信号（構成データ）は、所定の論理値を設定されており、それを左に出力する。
【００６９】
再構成可能論理マルチプレクサ５０Ａと５０Ｃは論理和されており、再構成可能論理マルチプレクサ５０Ｃの構成データを「０」とすることにより左からのＩｎＡ０〜ＩｎＡ３の信号を左に所定の論理値で出力しうる。また、再構成可能論理マルチプレクサ５０Ｂと５０Ｄは論理和されており、再構成可能論理マルチプレクサ５０Ｄを「０」とすることにより、ＩｎＡ０〜ＩｎＡ３の信号を右側に出力している。これと同じ手法でＩｎＢ０〜ＩｎＢ３の信号を左右に出力している。
【００７０】
以上のように、再構成可能論理マルチプレクサ５０は、配線経路に応じて設けられ、また、構成データを論理演算値、及び、配線選択するように、構成することで、論理演算回路、及び／又は、スイッチのように動作する。
【００７１】
３．２  タイミングチャート
図７は、図５に示すＭＬＵＴを流れる信号のタイムチャートである。まず、ＲＳＴが「Ｈｉ」から「Ｌｏｗ」になって動作が開始する。
【００７２】
ＣＬＫは、システムクロック信号である。本実施形態では、ＣＬＫが第３アドレス線Ａ１の信号となり、また、第１アドレス線Ａ０の信号を生成するために利用される。
【００７３】
第２アドレスＡ２〜Ａ５（ＩｎＡ０〜Ａ３）は、非同期で入力され、クロックとは直接関連がない。ただし、同期信号として入力される場合、図示されるように、第３アドレスの入力の影響を受ける。
【００７４】
第１アドレスＡ０は、第３アドレスＡ１の２倍の周波数となっている。
【００７５】
レジスタクロックｓｅｌは、遅延回路Ｄにより、第１アドレスＡ０より遅延されている。これは、構成メモリ４０Ａ、４０Ｂと同じ動作では、Ｄ入力と同じ動作とすると、Ｆ／Ｆが動作しないため、Ｄ入力後のレジスタクロックｓｅｌの立ち上がりで動作させるためである。
【００７６】
構成メモリ４０Ａ、４０Ｂから読み出されるデータ（ｂ０〜ｂ６３）は、デバイスクロックｄｃｌｋに従う。第１アドレスＡ０に従い、構成メモリ４０Ａ、４０Ｂはデータを第１アドレス「Ｈｉｇｈ」と「Ｌｏｗ」の各々のデータを出力するが、レジスタ部６０Ａ、６０Ｂのエンコーダ機能により、それらのデータは統合され、構成データを、再構成可能論理マルチプレクサ５０に出力する。
【００７７】
３．３  ４方向配置のＭＬＵＴ
図８は、４方向配置のＭＬＵＴの一例を示す図である。図８に示すように、左右からのデータ入出力は、交互配置と同じであるため、ＩｎＡ０〜Ｄ３のアドレス入力を省いている。図８のＭＬＵＴは、それに加えて、上からのデータ入力ＩｎＣ０〜Ｃ３、上へのデータ出力ＯｕｔＣ０〜ＯｕｔＣ３、及び、下からのデータ入力ＩｎＤ０〜ＩｎＤ３、下へのデータ出力ＯｕｔＤ０〜ＯｕｔＤ３がある。
【００７８】
構成メモリは表示しないが、各構成要素の動作は、交互配置のＭＬＵＴと同じである。４方向であるため、再構成可能論理マルチプレクサの数が、交互配置のＭＬＵＴと比して、４つ（再構成可能論理マルチプレクサ５０Ｅ〜Ｈ）増える。
【００７９】
交互配置のマルチプレクサの出力は、他の同方向への出力と論理和をしていたが、４方向配置でも原理は同じである。ただし、方向が４つとなったため、４つの論理和となっている。例えば、データ出力ＯｕｔＣ０〜ＯｕｔＣ３を例とすると、再構成可能論理マルチプレクサ５０Ｃ、５０Ｅ、５０Ｇの出力の論理和となっている。再構成可能論理マルチプレクサ５０Ｅ、５０Ｇのデータを「０」とすることにより、５０Ｅの出力が上に出力しうる。
【００８０】
４．ページ制御
図９は、ページ制御を行うＭＬＵＴの一例を示す図である。ページ制御を行うＭＬＵＴは、ＭＬＵＴの一部が、他の構成メモリのページ制御信号を生成する回路として動作し、そのデータ出力は、他の構成メモリのページを制御する。
【００８１】
図９に示すＭＬＵＴ３０は、大容量のメモリセルユニット４０Ａ、４０Ｂを有し、本例では、各メモリセルユニットは、１０本のアドレス線と、６４本のデータ線で構成されるので、２の１０乗（１０２４）ワード×６４ビットの大容量となる。このメモリ空間を、図５で説明した第４アドレスであるＡ６〜Ａ９により、ページに分割されて、論理の多重化ができる。この場合は、２の４乗ワードなので、１６ページの例である。また、本例では、交互配置のＭＬＵＴアレイであるので、左右からのクロック制御が可能になる。
【００８２】
なお、図９は、概略図であり、メモリセルユニットの周辺回路であるデコーダ等は、示しておらず、デコーダは図６で説明したアドレスデコーダ１２０及び構成データ入出力部１４０が、各メモリセルユニット毎に用意される。
【００８３】
図１０は、ＭＬＵＴ外部で状態機械を設ける例を示す図である。図１０に示すように、あるＭＬＵＴ３０を外部システムからの制御により、第４アドレスによりページ（真理値表データ）を切り替えることもできる。
【００８４】
従来のＭＰＬＤでは、ＭＰＬＤの状態機械は、真理値表データで定義する必要があった。そのため、決められた条件に従って、あらかじめ決められた複数の状態を真理値表データで定義する真理値表データを設ける必要があった。ＭＬＵＴで構成されるステートマシンが制御回路になり、データ・パスとは違い論理回路まで生成して配置配線をしなければならなかった。
【００８５】
図１１は、ＭＬＵＴ内部で状態機械を設ける例を示す図である。構成データの一部を使いＭＲＬＤ独自で状態機械を設ける例である。ＭＬＵＴ３０Ｂで構成される回路らでデクリメント演算をさせてＣ言語のｆｏｒ制御を行わせる。０データ（ＭＬＵＴ３０Ｂの０アドレス）に次のページのアドレスを記憶させ他のアドレスには現在のアドレスを記憶させる。これでｆｏｒ文制御が可能になる。
【００８６】
図１１に示すＭＬＵＴ３０は、ページの切替制御機能を持つことから、ステートマシンを真理値表で定義する必要がなくなる。例えば、ｆｏｒ文は所定値がある条件になるまで、自ページのアドレスをデータに出力してページ切り替えを行わず、同じページで動作を処理する。ある条件を満たせば（例えば、ｉ＝０）、その際にページ切り替えのアドレスを、データ線に出力する。データ線は、他のメモリセルユニットにアドレス線として入力するので、当該他のメモリセルユニットのページ切り替えが可能になる。また、ｃａｓｅ文の場合は所定値の値により、飛び先番地をデータに出力してページ切り替えを行わせて動作変更させることが出来る。以上により、従来のＭＰＬＤは論理回路構成しか出来なかったものに対してＣ言語の動作合成も出来るようになり、Ｃ言語からＭＰＬＤのＭＬＵＴの真理値データを生成させることが可能になり、ＦＰＧＡ以上の機能を持たせることができる。
【００８７】
ＭＲＬＤは専用の小型のＳＲＡＭに関する半導体設計試作、製造を経なくても、従来の大容量のメモリデバイスを利用できる。ＭＲＬＤをチップで構成する際、メモリＩＰ（Intellectual Property）を使うが、従来のＭＬＵＴが求めている微小メモリ容量では、アドレスデコーダやセンスアンプの面積が大きくメモリ自体の構成比率は５０％以下になる。このことは、オーバヘッドにもなり、効率が悪い。大容量メモリになるとアドレスデコーダやセンスアンプに比率は下がり、メモリ使用効率が上がる。そのため、大容量メモリにあった本案はＭＲＬＤチップの場合有効になる。
【００８８】
５．構成データ
以下、構成データを、例を用いて説明する。
５  ＭＬＵＴの論理動作
図１２は、ＭＬＵＴの一例を示す図である。図１２に示すＭＬＵＴ３０Ａ、３０Ｂは、４つの論理用アドレス入力ＬＡ線Ａ０〜Ａ３と、４つの論理動作用データ線Ｄ０〜Ｄ３に接続される。ＭＬＵＴ３０Ａの論理用アドレス入力ＬＡ線Ａ２は、隣接するＭＬＵＴ３０Ｂの論理動作用データ線Ｄ０と接続しており、ＭＬＵＴ３０Ａは、ＭＬＵＴ３０Ｂから出力される論理動作用データを、論理用アドレス入力ＬＡとして受け取る。また、ＭＬＵＴ３０Ａの論理動作用データ線Ｄ２は、ＭＬＵＴ３０Ｂの論理用アドレス入力ＬＡ線Ａ０と接続しており、ＭＬＵＴ３０Ａが出力する論理動作用データは、ＭＬＵＴ３０Ｂで論理用アドレス入力ＬＡとして受け取られる。このようなＭＬＵＴ同士の連結は、ペアを構成するアドレス線とデータ線とを用いるので「ＡＤ対」と呼ばれる。
以下に示す回路構成をＭＬＵＴで実現するための構成データ（真理値表データ）は、図１２に示すＭＬＵＴ３０Ａ又は３０Ｂのものである。
【００８９】
Ａ．論理回路の構成
図１３は、論理回路として動作するＭＬＵＴの一例を示す図である。本例では、論理用アドレス入力ＬＡ線Ａ０及びＡ１を２入力ＮＯＲ回路７０１の入力とし、論理用アドレス入力ＬＡ線Ａ２及びＡ３を２入力ＮＡＮＤ回路７０２の入力とする。そして、２入力ＮＯＲ回路７０１の出力と、２入力ＮＡＮＤ回路７０２の出力を、２入力ＮＡＮＤ回路７０３に入力し、２入力ＮＡＮＤ回路７０３の出力を論理動作用データ線Ｄ０に出力する論理回路を構成する。
【００９０】
図１４は、図１３に示す論理回路の真理値表を示す図である。図１３の論理回路は、４入力のため、入力Ａ０〜Ａ３の全ての入力を入力として使用する。一方、出力は、１つのみなので、出力Ｄ０のみを出力として使用する。真理値表の出力Ｄ１〜Ｄ３の欄には「＊」が記載されている。これは、「０」又は「１」のいずれの値でもよいことを示す。しかしながら、実際に再構成のために真理値表データをＭＬＵＴに書き込むときには、これらの欄には、「０」又は「１」のいずれかの値を書き込む必要がある。
【００９１】
Ｂ．接続回路の構成
図１５は、接続回路として動作するＭＬＵＴの一例を示す図である。図１５では、接続回路としてのＭＬＵＴは、論理用アドレス入力ＬＡ線Ａ０の信号を論理動作用データ線Ｄ１に出力し、論理用アドレス入力ＬＡ線Ａ１の信号を論理動作用データ線Ｄ２に出力し、論理用アドレス入力ＬＡ線Ａ２の信号を論理動作用データ線Ｄ３に出力するように動作する。接続回路としてのＭＬＵＴはさらに、論理用アドレス入力ＬＡ線Ａ３の信号を論理動作用データ線Ｄ０に出力するように動作する。
【００９２】
図１６は、図１５に示す接続回路の真理値表を示す図である。図１５に示す接続回路は、４入力４出力である。したがって、入力Ａ０〜Ａ３の全ての入力と、出力Ｄ０〜Ｄ３の全ての出力が使用される。図１６に示す真理値表によって、ＭＬＵＴは、入力Ａ０の信号を出力Ｄ１に出力し、入力Ａ１の信号を出力Ｄ２に出力し、入力Ａ２の信号を出力Ｄ３に出力し、入力Ａ３の信号を出力Ｄ０に出力する接続回路として動作する。
【００９３】
Ｃ．論理回路と接続回路の構成
図１７は、１つのＭＬＵＴが、論理回路及び接続回路として動作する一例を示す図である。図１７に示す例では、論理用アドレス入力ＬＡ線Ａ０及びＡ１を２入力ＮＯＲ回路１７１の入力とし、２入力ＮＯＲ回路１７１の出力と、論理用アドレス入力ＬＡ線Ａ２とを２入力ＮＡＮＤ回路１７２の入力とし、２入力ＮＡＮＤ回路１７２の出力を論理動作用データ線Ｄ０に出力する論理回路を構成する。また同時に、論理用アドレス入力ＬＡ線Ａ３の信号を論理動作用データ線Ｄ２に出力する接続回路を構成する。
【００９４】
図１８に、図１７に示す論理回路及び接続回路の真理値表を示す。図１７の論理動作は、入力Ｄ０〜Ｄ３の３つの入力を使用し、１つの出力Ｄ０を出力として使用する。一方、図１８の接続回路は、入力Ａ３の信号を出力Ｄ２に出力する接続回路が構成される。
【００９５】
Ｄ．順序回路機能
順序回路は、組合せ回路のように、構成メモリに保持される真理値表データそのもので、その動作を記述できない。そのため、順序回路は、レジスタ部６０の機能を用いて実現する。
Ｄ型フリップフロップは、構成メモリからの出力に対して、以下のような真理値表を構成する。
【表１】
0006405262.tif 000002
【００９６】
なお、以下に示す、図１９では、ＭＬＵＴ３０Ｆに、Ｄ型フリップフロップが示される。
【００９７】
図１９は、図２で説明した交互配置のＭＬＵＴにより構成される論理回路と配線を示す図である。図１９は、図２で説明した交互配置のＭＬＵＴにより構成され、２つの構成メモリ（左側、右側）により構成される。図１９に例示されるように、論理回路と配線は、ＭＬＵＴ３０Ａ〜３０Ｄにより構成される。ＭＬＵＴ３０Ｃは、図１７で説明した論理回路と接続回路を構成するＭＬＵＴであり、ＭＬＵＴ３０Ｆは、表１に示されるフリップフロップを、レジスタ部６０により実現する。また、下記に示す図２０Ａ〜図２０Ｊは、ページ制御で選択される真理値表データも含む。
【００９８】
図２０Ａは、ＭＬＵＴ３０Ａの左側の構成メモリに格納される構成データの一例を示す図である。図２０Ｂは、ＭＬＵＴ３０Ａの右側の構成メモリに格納される構成データの一例を示す図である。図２０Ｃは、ＭＬＵＴ３０Ｂの左側の構成メモリに格納される構成データの一例を示す図である。図２０Ｄは、ＭＬＵＴ３０Ｂの右側の構成メモリに格納される構成データの一例を示す図である。図２０Ｅは、ＭＬＵＴ３０Ｃの左側の構成メモリに格納される構成データの一例を示す図である。図２０Ｆは、ＭＬＵＴ３０Ｃの右側の構成メモリに格納される構成データの一例を示す図である。
【００９９】
図２０Ｇは、ＭＬＵＴ３０Ｄの左側の構成メモリに格納される構成データの一例を示す図である。図２０Ｈは、ＭＬＵＴ３０Ｄの右側の構成メモリに格納される構成データの一例を示す図である。図２０Ｉは、ＭＬＵＴ３０Ｅの左側の構成メモリに格納される構成データの一例を示す図である。図２０Ｊは、ＭＬＵＴ３０Ｅの右側の構成メモリに格納される構成データの一例を示す図である。図２０Ｋは、ＭＬＵＴ３０Ｆの左側の構成メモリに格納される構成データの一例を示す図である。図２０Ｌは、ＭＬＵＴ３０Ｆの右側の構成メモリに格納される構成データの一例を示す図である。
【０１００】
上記したように、再構成可能論理マルチプレクサの出力は、論理和されているため、信号出力の無い経路の構成データを「０」とすることにより、所望の論理演算の結果を出力するように、構成データは構成されている。さらに、データセレクタのクロックをＣＬＫ入力「Ｌｏｗ（０）」で禁止しているので、データセレクタのデータが保持されてＦ／Ｆを実現している。
【０１０１】
６．真理値表データの生成方法
再構成可能な半導体装置の真理値表データは、論理構成用のソフトウェアプログラムを実行する情報処理装置によって生成される。
【０１０２】
図２１に、情報処理装置のハードウェア構成の一例を示す。情報処理装置２１０は、プロセッサ２１１と、入力部２１２と、出力部２１３と、記憶部２１４とドライブ装置２１５を有する。プロセッサ２１１は、入力部２１２に入力された配置・配線用のソフトウェア、集積回路を設計するためのＣ言語記述またはハードウェア記述言語（ＨＤＬ）などの回路記述言語、及び、上記ソフトウェアを実行することによって生成される真理値表データを記憶部２１４に記憶する。また、プロセッサ２１１は、配置・配線用のソフトウェアを実行して、記憶部２１４に記憶された回路記述に対して以下に示す配置・配線の処理を行い、出力部２１３に、真理値表データを出力する。出力部２１３には、ＭＲＬＤ２０を接続することができ、プロセッサ２１１が論理構成処理を実行して、生成した真理値表データを、出力部２１３を介してＭＲＬＤ２０に書き込む。出力部２１３は、外部ネットワークと接続していてもよい。この場合、論理構成用のソフトウェアプログラムは、ネットワークを介して送受信される。ドライブ装置２１５は、例えば、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、フラッシュメモリなどの記憶媒体２１７を読み書きする装置である。ドライブ装置２１５は、記憶媒体２１７を回転させるモータや記憶媒体２１７上でデータを読み書きするヘッド等を含む。なお、記憶媒体２１７は、論理構成用のプログラム、又は、真理値表データを格納することができる。ドライブ装置２１５は、セットされた記憶媒体２１７からプログラムを読み出す。プロセッサ２１１は、ドライブ装置２１５により読み出されたプログラム又は真理値表データを、記憶部２１４に格納する。
【０１０３】
真理値表データがＭＲＬＤ２０に読み込まれることにより、真理値表データとハードウェア資源とが協働した具体的手段によって、論理回路及び／又は接続回路としての機能が構築される。また、真理値表データは、真理値表という論理的構造を有するデータともいえる。
【０１０４】
以上説明した実施形態は典型例として挙げたに過ぎず、その各実施形態の構成要素の組合せ、変形及びバリエーションは当業者にとって明らかであり、当業者であれば本発明の原理及び請求の範囲に記載した発明の範囲を逸脱することなく上述の実施形態の種々の変形を行えることは明らかである。
【符号の説明】
【０１０５】
１２    デコーダ
１４    入出力部
２０    ＭＲＬＤ
３０    ＭＬＵＴ
４０    構成メモリ
５０    再構成可能論理マルチプレクサ
６０    レジスタ部
６１    逓倍回路
６２、６３    インバータ
６４    ＮＡＮＤ回路
１１０    メモリセルアレイ
１２０    アドレスデコーダ
１４０    構成データ入出力部
２１０    情報処理装置
２１１    プロセッサ
２１２    入力部
２１３    出力部
２１４    記憶部
２１５    ドライブ装置
２１７    記憶媒体
【図１】
0006405262.tif 000003
【図２】
0006405262.tif 000004
【図３】
0006405262.tif 000005
【図４】
0006405262.tif 000006
【図５】
0006405262.tif 000007
【図６】
0006405262.tif 000008
【図７】
0006405262.tif 000009
【図８】
0006405262.tif 000010
【図９】
0006405262.tif 000011
【図１０】
0006405262.tif 000012
【図１１】
0006405262.tif 000013
【図１２】
0006405262.tif 000014
【図１３】
0006405262.tif 000015
【図１４】
0006405262.tif 000016
【図１５】
0006405262.tif 000017
【図１６】
0006405262.tif 000018
【図１７】
0006405262.tif 000019
【図１８】
0006405262.tif 000020
【図１９】
0006405262.tif 000021
【図２０Ａ】
0006405262.tif 000022
【図２０Ｂ】
0006405262.tif 000023
【図２０Ｃ】
0006405262.tif 000024
【図２０Ｄ】
0006405262.tif 000025
【図２０Ｅ】
0006405262.tif 000026
【図２０Ｆ】
0006405262.tif 000027
【図２０Ｇ】
0006405262.tif 000028
【図２０Ｈ】
0006405262.tif 000029
【図２０Ｉ】
0006405262.tif 000030
【図２０Ｊ】
0006405262.tif 000031
【図２０Ｋ】
0006405262.tif 000032
【図２０Ｌ】
0006405262.tif 000033
【図２１】
0006405262.tif 000034