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