(57)【要約】【課題】論理モジュールチップとメモリアレイチップとから成る三次元集積回路を高性能に実現する設計装置を提供する。【解決手段】設計装置１００は、論理モジュールに関する論理モジュール情報を入力する入力部１０１と、論理モジュール情報に基づいて、メモリブロックの構成を示すメモリブロック構成情報を生成するメモリブロック構成部１０３と、論理モジュール情報に基づいて論理モジュールを論理モジュールチップ上に配置する論理モジュール配置部１０２と、メモリブロック構成部１０３により生成されたメモリブロック構成情報に基づいて、メモリアレイチップに実装される複数のメモリエレメントにメモリブロックを割り当てるメモリブロック割当部１０４と、論理モジュールの配置とメモリブロックの割当とを設計結果として出力する出力部１０５と、を備える。【選択図】図１
2010257345.tif 000002
【特許請求の範囲】
【請求項１】
論理モジュールチップに実装される論理モジュールに関する論理モジュール情報を入力する入力手段と、
前記論理モジュール情報に基づいて、前記論理モジュールに必要とされる記憶容量を有するメモリブロックの一部または全部の構成を示すメモリブロック構成情報を生成するメモリブロック構成手段と、
前記論理モジュール情報に基づいて、前記論理モジュールチップにおける前記論理モジュールの配置位置を示す論理モジュール配置情報を生成する論理モジュール配置手段と、
前記メモリブロック構成手段により生成された前記メモリブロック構成情報に基づいて、前記論理モジュールチップに三次元的に重ねられるメモリアレイチップに実装される複数のメモリエレメントの一部または全部に前記メモリブロックを割り当てた結果を示すメモリブロック割当情報を生成するメモリブロック割当手段と、
前記論理モジュール配置情報と前記メモリブロック割当情報とを設計結果として出力する出力手段と、
を備える三次元集積回路の設計装置。
【請求項２】
請求項１に記載の三次元集積回路の設計装置であって、
前記メモリブロック割当手段が、前記メモリブロック構成手段により生成された前記メモリブロック構成情報と、前記論理モジュール配置手段により生成された前記論理モジュール配置情報と、に基づいて前記メモリブロックを割り当てて前記メモリブロック割当情報を生成するか、
または、前記論理モジュール配置手段が、前記入力手段により入力された前記論理モジュール情報と、前記メモリブロック割当手段により生成された前記メモリブロック割当情報と、に基づいて前記論理モジュールを配置して論理モジュール配置情報を生成するか、
のいずれか一方を実行することを特徴とする三次元集積回路の設計装置。
【請求項３】
請求項１または２に記載の三次元集積回路の設計装置であって、
前記論理モジュール配置情報と前記メモリブロック割当情報とに基づいて、前記論理モジュール配置手段により配置された前記論理モジュールと、前記メモリブロック割当手段により割り当てられた前記メモリブロックと、の間に論理パスを割り当てて論理パス割当情報を生成する論理パス割当手段を備え、
前記出力手段は、前記論理モジュール配置情報と前記メモリブロック割当情報と前記論理パス割当情報とを設計結果として出力することを特徴とする三次元集積回路の設計装置。
【請求項４】
請求項３に記載の三次元集積回路の設計装置であって、
前記論理パス割当手段により生成された前記論理パス割当情報を解析して、前記論理パスを介して伝送されるデータ伝送の遅延時間を示す遅延値を算出する遅延解析手段と、
前記遅延解析手段により算出された前記遅延値が制約値を超えるか否かを判定する遅延制約充足手段と、を備え、
前記出力手段は、前記遅延制約充足手段により前記遅延値が前記制約値を超えないと判定されたとき、前記設計結果を出力することを特徴とする三次元集積回路の設計装置。
【請求項５】
請求項４に記載の三次元集積回路の設計装置であって、
前記遅延制約充足手段により前記遅延値が前記制約値を超えると判定されたとき、前記メモリブロック構成手段により生成された前記メモリブロック構成情報を変更するメモリブロック再構成手段を備え、
前記メモリブロック割当手段は、
前記メモリブロック再構成手段により変更された前記メモリブロック構成情報に基づいて、前記メモリブロックを複数の前記メモリエレメントの一部または全部に割り当てることを特徴とする三次元集積回路の設計装置。
【請求項６】
請求項５に記載の三次元集積回路の設計装置であって、
前記メモリブロック再構成手段は、
前記遅延値が前記制約値を超えると判定された前記論理パスと接続されている前記メモリブロックを分割するか、または当該メモリブロックを他のメモリブロックと併合するかの少なくとも一方を実行することを特徴とする三次元集積回路の設計装置。
【請求項７】
請求項１乃至６のいずれかに記載の三次元集積回路の設計装置であって、
前記論理モジュール情報に基づいて、前記メモリブロックを前記論理モジュールチップと前記メモリアレイチップとのいずれに実装させるか振り分けるメモリブロック振分手段を備え、
前記論理モジュール配置手段は、前記メモリブロック振分手段により前記論理モジュールチップに振り分けられた前記メモリブロックと、前記論理モジュールとを前記論理モジュールチップ上に配置して前記論理モジュール配置情報を生成し、
前記メモリブロック構成手段は、前記メモリブロック振分手段により前記メモリアレイチップに振り分けられた前記メモリブロックの構成を示す前記メモリブロック構成情報を生成することを特徴とする三次元集積回路の設計装置。
【請求項８】
論理モジュールチップに実装される論理モジュールに関する論理モジュール情報を入力する入力工程と、
前記論理モジュール情報に基づいて、前記論理モジュールに必要とされる記憶容量を有するメモリブロックの一部または全部の構成を示すメモリブロック構成情報を生成するメモリブロック構成工程と、
前記論理モジュール情報に基づいて、前記論理モジュールチップにおける前記論理モジュールの配置位置を示す論理モジュール配置情報を生成する論理モジュール配置工程と、
前記メモリブロック構成工程において生成された前記メモリブロック構成情報に基づいて、前記論理モジュールチップに三次元的に重ねられるメモリアレイチップに実装される複数のメモリエレメントの一部または全部に前記メモリブロックを割り当てた結果を示すメモリブロック割当情報を生成するメモリブロック割当工程と、
前記論理モジュール配置情報と前記メモリブロック割当情報とを設計結果として出力する出力工程と、
を備える三次元集積回路の設計方法。
【請求項９】
請求項８に記載の三次元集積回路の設計方法であって、
前記メモリブロック割当工程において、前記メモリブロック構成工程で生成された前記メモリブロック構成情報と、前記論理モジュール配置工程で生成された前記論理モジュール配置情報と、に基づいて前記メモリブロックを割り当てて前記メモリブロック割当情報を生成するか、
または、前記論理モジュール配置工程において、前記入力工程で入力された前記論理モジュール情報と、前記メモリブロック割当工程で生成された前記メモリブロック割当情報と、に基づいて前記論理モジュールを配置して論理モジュール配置情報を生成するか、
のいずれか一方を実行することを特徴とする三次元集積回路の設計方法。
【請求項１０】
請求項８または９に記載の三次元集積回路の設計方法であって、
前記論理モジュール配置情報と前記メモリブロック割当情報とに基づいて、前記論理モジュール配置工程において配置された前記論理モジュールと、前記メモリブロック割当工程において割り当てられた前記メモリブロックと、の間に論理パスを割り当てて論理パス割当情報を生成する論理パス割当工程を備え、
前記出力工程は、前記論理モジュール配置情報と前記メモリブロック割当情報と前記論理パス割当情報とを設計結果として出力することを特徴とする三次元集積回路の設計方法。
【請求項１１】
請求項１０に記載の三次元集積回路の設計方法であって、
前記論理パス割当工程において生成された前記論理パス割当情報を解析して、前記論理パスを介して伝送されるデータ伝送の遅延時間を示す遅延値を算出する遅延解析工程と、
前記遅延解析工程において算出された前記遅延値が制約値を超えるか否かを判定する遅延制約充足工程と、を備え、
前記出力工程において、前記遅延制約充足工程において前記遅延値が前記制約値を超えないと判定されたとき、前記設計結果を出力することを特徴とする三次元集積回路の設計方法。
【請求項１２】
請求項１１に記載の三次元集積回路の設計方法であって、
前記遅延制約充足工程において前記遅延値が前記制約値を超えると判定されたとき、前記メモリブロック構成工程において生成された前記メモリブロック構成情報を変更するメモリブロック再構成工程を備え、
前記メモリブロック割当工程において、
前記メモリブロック再構成工程で変更された前記メモリブロック構成情報に基づいて、前記メモリブロックを複数の前記メモリエレメントの一部または全部に割り当てることを特徴とする三次元集積回路の設計方法。
【請求項１３】
請求項１２に記載の三次元集積回路の設計方法であって、
前記メモリブロック再構成工程において、
前記遅延値が前記制約値を超えると判定された前記論理パスと接続されている前記メモリブロックを分割するか、または当該メモリブロックを他のメモリブロックと併合するかの少なくとも一方を実行することを特徴とする三次元集積回路の設計方法。
【請求項１４】
請求項８乃至１３いずれかに記載の三次元集積回路の設計方法であって、
前記論理モジュール情報に基づいて、前記メモリブロックを前記論理モジュールチップと前記メモリアレイチップとのいずれに実装させるか振り分けるメモリブロック振分工程を備え、
前記論理モジュール配置工程において、前記メモリブロック振分工程で前記論理モジュールチップに振り分けられた前記メモリブロックと、前記論理モジュールとを前記論理モジュールチップ上に配置して前記論理モジュール配置情報を生成し、
前記メモリブロック構成工程において、前記メモリブロック振分工程で前記メモリアレイチップに振り分けられた前記メモリブロックの構成を示す前記メモリブロック構成情報を生成することを特徴とする三次元集積回路の設計方法。
【請求項１５】
コンピュータが読み出し可能な記憶媒体に格納されるプログラムであって、
論理モジュールチップに実装される論理モジュールに関する論理モジュール情報を入力する入力処理と、
前記論理モジュール情報に基づいて、前記論理モジュールに必要とされる記憶容量を有するメモリブロックの一部または全部の構成を示すメモリブロック構成情報を生成するメモリブロック構成処理と、
前記論理モジュール情報に基づいて、前記論理モジュールチップにおける前記論理モジュールの配置位置を示す論理モジュール配置情報を生成する論理モジュール配置処理と、
前記メモリブロック構成処理において生成された前記メモリブロック構成情報に基づいて、前記論理モジュールチップに三次元的に重ねられるメモリアレイチップに実装される複数のメモリエレメントの一部または全部に前記メモリブロックを割り当てた結果を示すメモリブロック割当情報を生成するメモリブロック割当処理と、
前記論理モジュール配置情報と前記メモリブロック割当情報とを設計結果として出力する出力処理と、
を前記コンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、三次元集積回路の設計装置、三次元集積回路の設計方法およびプログラムに関する。特に、既設計のメモリアレイチップと、新規に設計される論理モジュールチップと、を重ね合わせることにより所望の論理回路を実現する三次元集積回路の設計装置、三次元集積回路の設計方法およびプログラムに関する。
【背景技術】
【０００２】
半導体集積回路の構成要素は、大きく分けて、論理値を記憶するメモリブロックと論理演算を行う論理モジュールとに分類される。 
【０００３】
メモリブロックおよび論理モジュールを、１つの半導体集積回路上に複数実装し、さらに、メモリブロックと論理モジュールとの間のデータ転送を行うための論理パスをその半導体集積回路上に追加することにより、所望の機能を実行する論理回路が実現される。論理パスは、ネットあるいはネットリストとも呼ばれる。 
【０００４】
半導体集積回路に実装される代表的なメモリブロックとしては、ＳＲＡＭ（ｓｔａｔｉｃ ｒａｎｄｏｍ ａｃｃｅｓｓ ｍｅｍｏｒｙ）およびＤＲＡＭ（ｄｙｎａｍｉｃ ｒａｎｄｏｍ ａｃｃｅｓｓ ｍｅｍｏｒｙ）が挙げられる。メモリブロックの記憶容量は様々であり、通常、複数のメモリブロックを組み合わせて、論理回路が必要とする記憶容量を実現する。例えば、２４ＫＷｏｒｄ、３２ｂｉｔの記憶容量を持つメモリは、２４ＫＷｏｒd、３２ｂｉｔのメモリブロック１個の構成、１２ＫＷｏｒｄ、３２ｂｉｔのメモリブロック２個の構成、２ＫＷｏｒd、３２ｂｉｔのメモリブロック１２個の構成、等で実現される。 
【０００５】
近年の半導体実装技術の進歩により、メモリブロックおよび論理モジュールを三次元状に積層配置することが可能になってきている。構成要素を三次元状に積層する半導体集積回路は、三次元集積回路と呼ばれる。 
【０００６】
半導体集積回路の構成要素を三次元状に積層する技術は、チップサイズの縮小、論理パスを実現する配線の短縮が可能であるため、半導体集積回路の高性能化を実現するための将来技術の１つとして有望視されている。 
【０００７】
しかし、三次元集積回路を設計するためには、二次元集積回路用の設計技術だけでは不十分であり、三次元集積回路用の新たな設計技術が必要となる。この種の技術として、特許文献１〜４が提案されている。 
【０００８】
三次元集積回路では、その構成要素の積層について、様々な形態が考えられる。その形態の１つに、メモリブロックを規則的に並べたメモリアレイチップを用意しておき、設計対象の論理回路に含まれるメモリブロックをメモリアレイチップに割り当て、論理回路に含まれる論理モジュールを別の論理モジュールチップを用いて設計し、上記のメモリアレイチップと論理モジュールチップとを重ね合わせることにより、所望の論理回路を実現する形態がある(非特許文献１)。 
【０００９】
図１２に、メモリアレイチップの例を示す。 メモリアレイチップＭＡＣには、メモリブロックが割当てられる埋め込みメモリエレメントＭＡ〜ＭＬと、論理モジュールチップに実装される論理モジュールとの接続を行うためのメモリポートＰ１〜Ｐ１２と、が規則的に配置される。メモリアレイチップＭＡＣは、ネットワークスイッチＮ１〜Ｎ１２の接続を切り替えることによりメモリエレメント間のネットワークを構成し、複数のメモリエレメントを組み合わせて、所望の記憶容量を持つメモリブロックを、様々な構成で実現することが可能である。
【００１０】
図１３に、メモリアレイチップＭＡＣ上に、２４ＫＷｏｒｄ、３２ｂｉｔのメモリブロックを実現する例を示す。各メモリエレメントＭＡ〜ＭＬは、２ＫＷｏｒｄ、３２Ｂｉｔの記憶容量を持っている。図１３（Ａ）は１２個のメモリエレメントＭＡ〜ＭＬがネットワークで接続されることにより１個のメモリブロックＡ１を構成している。図１３（Ｂ）は６個のメモリエレメントＭＡ〜ＭＦ、ＭＧ〜ＭＬがネットワークで接続されることによりメモリブロックＢ１とメモリブロックＢ２を構成している。メモリポートは、各メモリブロックＢ１、Ｂ２が１つずつ利用することになる。すなわち、図１３（Ａ）は１個のメモリポート、図１３（Ｂ）は２個のメモリポートを、それぞれ利用することになる。各メモリブロックが利用するメモリポートは、メモリブロックが割当てられた領域に配置されているメモリポート群の中の１つを任意に選択すれば良い。例えば、図１３（Ａ）では、メモリポートＰ１を利用しているが、メモリブロック領域にある、その他の１１個のメモリポートから１つ選択して利用しても良い。 
【００１１】
一方、論理モジュールは、論理モジュールチップ側に配置され、論理モジュールチップ側で、論理モジュールとメモリポート間の接続を行うことにより、論理モジュールとメモリアレイチップ上のメモリブロックとの間のデータ転送を実現する。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００７−２５０７５４号公報
【特許文献２】特開２００７−１７２２０４号公報
【特許文献３】特開２００８−７７４０４号公報
【特許文献４】特開２００５−３３９４６３号公報
【００１３】
【非特許文献１】Ｈ．Ｓａｉｔｏ，ｅｔ  ａｌ．"Ａ  Ｃｈｉｐ−Ｓｔａｃｋｅｄ  Ｍｅｍｏｒｙ  ｆｏｒ  Ｏｎ−Ｃｈｉｐ  ＳＲＡＭ−Ｒｉｃｈ  ＳｏＣｓ  ａｎｄ  Ｐｒｏｃｅｓｓｏｒｓ" ，ＩｎｔｅｒｎａｔｉｏｎａｌＳｏｌｉｄ Ｓｔａｔｅ Ｃｉｒｃｕｉｔｓ Ｃｏｎｆｅｒｅｎｃｅ，２００９
【発明の概要】
【発明が解決しようとする課題】
【００１４】
しかしながら上記技術は、以下の点で改善の余地を有していた。  上記の特許文献１〜４で提案された技術では、論理モジュールチップ上の配置を設計することはできても、メモリアレイチップ上にメモリブロックを割り当てることができないため、論理モジュールチップとメモリアレイチップとから成る三次元集積回路を設計することができなかった。
【００１５】
本発明は上記事情に鑑みてなされたものであり、その目的とするところは、論理モジュールチップとメモリアレイチップとから成る三次元集積回路を設計する設計装置、設計方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００１６】
本発明によれば、論理モジュールチップに実装される論理モジュールに関する論理モジュール情報を入力する入力手段と、前記論理モジュール情報に基づいて、前記論理モジュールに必要とされる記憶容量を有するメモリブロックの一部または全部の構成を示すメモリブロック構成情報を生成するメモリブロック構成手段と、前記論理モジュール情報に基づいて、前記論理モジュールチップにおける前記論理モジュールの配置位置を示す論理モジュール配置情報を生成する論理モジュール配置手段と、前記メモリブロック構成手段により生成された前記メモリブロック構成情報に基づいて、前記論理モジュールチップに三次元的に重ねられるメモリアレイチップに実装される複数のメモリエレメントの一部または全部に前記メモリブロックを割り当てた結果を示すメモリブロック割当情報を生成するメモリブロック割当手段と、前記論理モジュール配置情報と前記メモリブロック割当情報とを設計結果として出力する出力手段と、を備える三次元集積回路の設計装置が提供される。
【００１７】
また、本発明によれば、論理モジュールチップに実装される論理モジュールに関する論理モジュール情報を入力する入力工程と、前記論理モジュール情報に基づいて、前記論理モジュールに必要とされる記憶容量を有するメモリブロックの一部または全部の構成を示すメモリブロック構成情報を生成するメモリブロック構成工程と、前記論理モジュール情報に基づいて、前記論理モジュールチップにおける前記論理モジュールの配置位置を示す論理モジュール配置情報を生成する論理モジュール配置工程と、前記メモリブロック構成工程において生成された前記メモリブロック構成情報に基づいて、前記論理モジュールチップに三次元的に重ねられるメモリアレイチップに実装される複数のメモリエレメントの一部または全部に前記メモリブロックを割り当てた結果を示すメモリブロック割当情報を生成するメモリブロック割当工程と、前記論理モジュール配置情報と前記メモリブロック割当情報とを設計結果として出力する出力工程と、を備える三次元集積回路の設計方法が提供される。
【００１８】
さらに、本発明によれば、コンピュータが読み出し可能な記憶媒体に格納されるプログラムであって、論理モジュールチップに実装される論理モジュールに関する論理モジュール情報を入力する入力処理と、前記論理モジュール情報に基づいて、前記論理モジュールに必要とされる記憶容量を有するメモリブロックの一部または全部の構成を示すメモリブロック構成情報を生成するメモリブロック構成処理と、前記論理モジュール情報に基づいて、前記論理モジュールチップにおける前記論理モジュールの配置位置を示す論理モジュール配置情報を生成する論理モジュール配置処理と、前記メモリブロック構成処理において生成された前記メモリブロック構成情報に基づいて、前記論理モジュールチップに三次元的に重ねられるメモリアレイチップに実装される複数のメモリエレメントの一部または全部に前記メモリブロックを割り当てた結果を示すメモリブロック割当情報を生成するメモリブロック割当処理と、前記論理モジュール配置情報と前記メモリブロック割当情報とを設計結果として出力する出力処理と、を前記コンピュータに実行させることを特徴とするプログラムが提供される。
【発明の効果】
【００１９】
上記発明によれば、論理モジュールチップ上の論理モジュールの配置とメモリアレイチップへのメモリブロックの割当とを設計結果として出力することができる。これにより、論理モジュールチップとメモリアレイチップとから構成される三次元集積回路を設計することができる。
【００２０】
本発明によれば、論理モジュールチップとメモリアレイチップとから成る三次元集積回路を実現する設計装置、設計方法およびプログラムが提供される。
【図面の簡単な説明】
【００２１】
【図１】本発明の第１の実施形態の設計装置の機能ブロック図である。
【図２】論理モジュールの配置の一例を示す図である。
【図３】メモリブロックの割当の一例を示す図である。
【図４】本発明の第１の実施形態の設計方法を示すフローチャートである。
【図５】本発明の第２の実施形態における設計装置の機能ブロック図である。
【図６】論理パスの割当の一例を示す図である。
【図７】遅延値が制約値を超えると判定された論理モジュールの配置とメモリブロックの割当の一例を示す図である。
【図８】遅延値が制約値を超えると判定された後、メモリブロックの構成を変更した一例を示す図である。
【図９】遅延値が制約値を超えると判定された論理モジュールの配置とメモリブロックの割当の一例を示す図である。
【図１０】遅延値が制約値を超えると判定された後、メモリブロックの構成を変更した一例を示す図である。
【図１１】本発明の第２の実施形態の設計方法を示すフローチャートである。
【図１２】メモリアレイチップの例を示す図である。
【図１３】メモリアレイチップ上に、２４ＫＷｏｒｄ、３２ｂｉｔのメモリブロックを実現する例を示す図である。
【発明を実施するための形態】
【００２２】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【００２３】
〔第１の実施形態〕
図１は、本発明の第１の実施形態の設計装置１００の機能ブロック図である。本実施形態の設計装置１００は、論理モジュールチップに実装される論理モジュールに関する論理モジュール情報を入力する入力部１０１を備える。また、設計装置１００は、論理モジュール情報に基づいて、論理モジュールに必要とされる記憶容量を有するメモリブロックの一部または全部の構成を示すメモリブロック構成情報を生成するメモリブロック構成部１０３を備える。さらに、設計装置１００は、論理モジュール情報に基づいて、論理モジュールチップにおける論理モジュールの配置位置を示す論理モジュール配置情報を生成する論理モジュール配置部１０２を備える。さらに、設計装置１００は、メモリブロック構成部１０３により生成されたメモリブロック構成情報に基づいて、論理モジュールチップに三次元的に重ねられるメモリアレイチップに実装される複数のメモリエレメントの一部または全部にメモリブロックを割り当てた結果を示すメモリブロック割当情報を生成するメモリブロック割当部１０４を備える。さらに、設計装置１００は、論理モジュール配置情報とメモリブロック割当情報とを設計結果として出力する出力部１０５を備える。
【００２４】
ここで、論理モジュールチップとメモリアレイチップとを重ねるとは、論理モジュールチップ上にメモリアレイチップを搭載することであってもよいし、メモリアレイチップ上に論理モジュールチップを搭載することであってもよい。
【００２５】
本実施形態の設計装置１００においては、論理モジュール配置部１０２が論理モジュール配置情報を生成した後に、メモリブロック割当部１０４が、メモリブロック構成部１０３により生成されたメモリブロック構成情報と、論理モジュール配置部１０２により生成された論理モジュール配置情報と、に基づいてメモリブロックを割り当ててメモリブロック割当情報を生成することもできる。
【００２６】
また、本実施形態の設計装置１００においては、メモリブロック割当部１０４がメモリブロック割当情報を生成した後に、論理モジュール配置部１０２が、入力部１０１により入力された論理モジュール情報と、メモリブロック割当部１０４により生成されたメモリブロック割当情報と、に基づいて論理モジュールを配置して論理モジュール配置情報を生成することもできる。
【００２７】
なお、本実施形態の入力部１０１は、ユーザの操作入力を受け付ける操作入力部機能を有している。そして、設計装置１００は、前者の処理と後者の処理のいずれを実行するのかを入力部１０１が受け付けたユーザの操作入力によってユーザの任意に設定することができる。
【００２８】
本実施形態の設計装置１００においては、前者の処理と後者の処理とをユーザの任意により選択的に設定できるが、いずれか一方のみを実行する変形例があってもよい。
【００２９】
設計装置１００が備える構成の全部または一部は、ハードウェアで実現されてもよいし、あるいは、プロセッサに処理を実行させるプログラム（またはプログラムコード）で実現されてもよい。プロセッサは、不揮発性メモリなどの記録媒体からそのプログラムを読み出し実行する。
【００３０】
本実施形態の設計装置１００が備える構成がプロセッサに処理を実行させるプログラムよって実現される場合、当該プログラムは以下のような処理を設計装置１００が備えるプロセッサ（図示せず）に実行させる。当然、当該プログラムは上記プロセッサ（コンピュータ）読み出し可能な記憶媒体（図示せず）に格納される。
【００３１】
そして、当該プログラムは、論理モジュールチップに実装される論理モジュールに関する論理モジュール情報を入力する入力処理をプロセッサに実行させる。また、当該プログラムは、論理モジュール情報に基づいて、論理モジュールに必要とされる記憶容量を有するメモリブロックの一部または全部の構成を示すメモリブロック構成情報を生成するメモリブロック構成処理をプロセッサに実行させる。さらに、当該プログラムは、論理モジュール情報に基づいて、論理モジュールチップにおける論理モジュールの配置位置を示す論理モジュール配置情報を生成する論理モジュール配置処理をプロセッサに実行させる。さらに、当該プログラムは、メモリブロック構成処理において生成されたメモリブロック構成情報に基づいて、論理モジュールチップに重ねられるメモリアレイチップに実装される複数のメモリエレメントの一部または全部にメモリブロックを割り当てた結果を示すメモリブロック割当情報を生成するメモリブロック割当処理をプロセッサに実行させる。さらに、当該プログラムは、論理モジュール配置情報とメモリブロック割当情報とを設計結果として出力する出力処理をプロセッサに実行させる。
【００３２】
入力部１０１は論理モジュール情報を入力する。ここで、論理モジュール情報は、入力部１０１が受け付けたユーザの操作入力によって生成される情報であってもよい。または、入力部１０１が外部装置や外部ネットワークから受信した情報、または取得した情報であってもよい。
【００３３】
なお、論理モジュール情報には、論理モジュールに関する情報、メモリブロックに関する情報、メモリブロックと論理モジュールとの間の論理パスに関する情報等が含まれてもよい。ここで、メモリブロックに関する情報には、具体的なメモリブロック構成は与えられておらず、当該論理モジュールが必要とする記憶容量のみが与えられているものとする。
【００３４】
論理モジュール配置部１０２は、入力部１０１が受け付けた論理モジュール情報を少なくとも用いて、論理モジュールチップ上に論理モジュールを配置する。そして、論理モジュール配置部１０２は、論理モジュールチップ上の論理モジュールの配置を示す論理モジュール配置情報を生成する。図２に論理モジュールチップ上の論理モジュールの配置例を示す。図２においては、論理モジュールチップＬＭＣ上に６つの論理モジュールＭ１〜Ｍ６が配置される。ここでは図示しないが、論理モジュールＭ１〜Ｍ６は、それぞれ電気的に接続されており、一つの論理回路を形成している。なお、図２に図示されない他の素子や他の回路が論理モジュールとともに論理モジュールチップＬＭＣ上に配置されてもよい。
【００３５】
論理モジュール配置部１０２では、論理モジュールそれぞれの間隔ができるだけ短くなるように、かつ、論理モジュールの重なりが生じないように論理モジュールが配置される。論理モジュール配置部１０２の処理は、フロアプランとも呼ばれ、既にいくつかの手法が提案されており、矛盾しない手法であれば、本実施形態の論理モジュール配置部１０２に適用することも可能である。
【００３６】
また、論理モジュール配置部１０２は、メモリブロック割当部１０４がメモリブロック割当情報を生成した後であれば、当該メモリブロック割当情報と、入力部１０１により受け付けた論理モジュール情報と、に基づいて論理モジュールを配置して論理モジュール配置情報を生成することもできる。例えば、論理モジュール配置部１０２は、論理モジュールを、当該論理モジュールと接続するメモリブロックが割り当てられたメモリエレメントの近くに配置することができる。
【００３７】
メモリブロック構成部１０３は、論理モジュール情報に基づいて、論理モジュールに必要とされる記憶容量を有するメモリブロックの構成を示すメモリブロック構成情報を生成する。なお、メモリブロック構成情報は、メモリブロックの数や、それぞれのメモリブロックを構成するために要するメモリエレメントの数等を示す情報である。ただし、メモリブロック構成情報が示すメモリエレメントの数は、メモリアレイチップに搭載されるメモリエレメントの数以下とする。
【００３８】
メモリブロック割当部１０４は、メモリブロック構成部１０３により生成されたメモリブロック構成情報に基づいて、メモリアレイチップに実装される複数のメモリエレメントの一部または全部にメモリブロックを割り当てる。そして、メモリブロック割当部１０４は、メモリアレイチップ上に割り当てたメモリブロックを示すメモリブロック割当情報を生成する。ここで、メモリブロックの割当とは、どのメモリエレメントを用いてメモリブロックを構成するか、またメモリブロックを構成するメモリエレメントが複数の場合、これらをそれぞれ接続するネットワークをどのように構成するのか決定することである。
【００３９】
図３にメモリアレイチップ上に割り当てられたメモリブロックの割当例を示す。図３において、メモリブロックＢ１、Ｂ２はそれぞれ、メモリアレイチップＭＡＣ上のメモリエレメントＭＡ〜ＭＦ、メモリエレメントＭＧ〜ＭＬから構成される。なお、メモリエレメントＭＡ〜ＭＬは、全て２ｋｗｏｒｄ、３２ｂｉｔのメモリエレメントである。
【００４０】
また、メモリブロック割当部１０４は、論理モジュール配置部１０２が論理モジュール配置情報を生成した後であれば、メモリブロック構成情報と論理モジュール配置情報とに基づいてメモリブロックを割り当ててメモリブロック割当情報を生成することもできる。例えば、メモリブロック割当部１０４は、論理モジュールチップ上の論理モジュールの配置を参照して、当該論理モジュールに接続するメモリブロックを当該論理モジュールの近いメモリエレメントに割り当てることができる。
【００４１】
さらに、出力部１０５は、論理モジュール配置部１０２により生成された論理モジュール配置情報と、メモリブロック割当部１０４により生成されたメモリブロック割当情報と、を設計結果として出力する。ここで、出力部１０５は設計結果である電子データを記憶媒体（図示せず）に出力して格納させてもよい。また、出力部１０５は設計結果をユーザが視認可能なように表示出力してもよい。さらに、出力部１０５は設計結果を印刷媒体上に印刷出力してもよい。
【００４２】
図４は、本実施形態の設計方法を示すフローチャートである。この設計方法は、論理モジュールチップに実装される論理モジュールに関する論理モジュール情報を入力する入力工程（ステップＳ１）を備える。また、この設計方法は、論理モジュール情報に基づいて、論理モジュールに必要とされる記憶容量を有するメモリブロックの一部または全部の構成を示すメモリブロック構成情報を生成するメモリブロック構成工程（ステップＳ２）を備える。さらに、この設計方法は、論理モジュール情報に基づいて、論理モジュールチップにおける論理モジュールの配置位置を示す論理モジュール配置情報を生成する論理モジュール配置工程（ステップＳ４、ステップＳ７）を備える。さらに、この設計方法は、メモリブロック構成工程（ステップＳ２）において生成されたメモリブロック構成情報に基づいて、論理モジュールチップに三次元的に重ねられるメモリアレイチップに実装される複数のメモリエレメントの一部または全部にメモリブロックを割り当てた結果を示すメモリブロック割当情報を生成するメモリブロック割当工程（ステップＳ５、ステップＳ６）を備える。さらに、この設計方法は、論理モジュール配置情報とメモリブロック割当情報とを設計結果として出力する出力工程（ステップＳ８）を備える。
【００４３】
また、この設計方法では、論理モジュール配置工程を先に実行する場合（ステップＳ３のＹＥＳ）、メモリブロック割当工程（ステップ５）において、メモリブロック構成工程（ステップ２）で生成されたメモリブロック構成情報と、論理モジュール配置工程（ステップ４）で生成された論理モジュール配置情報と、に基づいてメモリブロックを割り当ててメモリブロック割当情報を生成する。
【００４４】
さらに、この設計方法では、論理モジュール配置工程を後に実行する場合（ステップＳ３のＮＯ）、論理モジュール配置工程（ステップＳ７）において、入力工程（ステップＳ１）で入力された論理モジュール情報と、メモリブロック割当工程（ステップ６）で生成されたメモリブロック割当情報と、に基づいて論理モジュールを配置して論理モジュール配置情報を生成する。
【００４５】
出力工程（ステップＳ８）において設計結果を出力して、この設計方法のフローは終了となる。
【００４６】
ここで、本実施形態の効果について説明する。本実施形態は、論理モジュールチップ上の配置とメモリアレイチップへのメモリブロックの割当とを設計結果として出力することができる。これにより、論理モジュールチップとメモリアレイチップとから構成される三次元集積回路を設計することができる。
【００４７】
また、本実施形態は、論理モジュールの配置に基づいてメモリブロックの割当を決めるか、またはメモリブロックの割当に基づいて論理モジュールの配置を決めるので、論理モジュールと当該論理モジュールにより使用されるメモリブロックとの間の距離を短縮するように設計することが可能となる。これにより、論理モジュールとメモリブロックとの間のデータ伝送遅延を短縮させることができる。
【００４８】
〔第２の実施形態〕
【００４９】
図５は、第２の実施形態における設計装置１００の機能ブロック図である。本実施形態の設計装置１００は、第１の実施形態と同様に、入力部１０１、論理モジュール配置部１０２、メモリブロック構成部１０３、メモリブロック割当部１０４および出力部１０５を備える。
【００５０】
さらに、本実施形態の設計装置１００は、論理モジュール配置情報とメモリブロック割当情報とに基づいて、論理モジュール配置部１０２により配置された論理モジュールと、メモリブロック割当部１０４により割り当てられたメモリブロックと、の間に論理パスを割り当てて論理パス割当情報を生成する論理パス割当部１０６を備える。そして、出力部１０５は、論理モジュール配置情報とメモリブロック割当情報と論理パス割当情報とを設計結果として出力する。
【００５１】
ここで論理パスとは、論理モジュールとメモリブロックとの間で行われるデータ通信の通信経路である。
【００５２】
図６は、論理パス割当部１０６における論理パスの割当の一例を示す図である。図６（Ｂ）では、第１の実施形態と同様に、メモリブロックＢ１、Ｂ２はそれぞれ、メモリアレイチップＭＡＣ上のメモリエレメントＭＡ〜ＭＦ、メモリエレメントＭＧ〜ＭＬから構成される。一方、図６（Ａ）では、論理モジュールチップＬＭＣ上にモジュールＭ１〜Ｍ６が配置されている。ここでは図示しないが、モジュールＭ１〜Ｍ６は、それぞれ電気的に接続されており、一つの論理回路を形成している。論理モジュールチップＬＭＣには、論理モジュールＭ１からのデータ転送用にポートＰＡとポートＰＢが配置される。ポートＰＡ、ポートＰＢの座標は、メモリアレイチップＭＡＣ上のポートＰ５、ポートＰ８の座標に、それぞれ一致するように配置されている。これにより、メモリアレイチップＭＡＣと論理モジュールチップＬＭＣを重ね合わせた時に、ポートＰＡとポートＰ５とが接合し、ポートＰＢとポートＰ８が接合し、論理モジュールＭ１からメモリブロックＢ１、Ｂ２へのデータ伝送が可能となる。
【００５３】
図６においては、論理モジュールチップＬＭＣ上のメモリポートＰＡ、ＰＢは２つしか図示していないが、メモリアレイチップＭＡＣ上のメモリポートＰ１〜Ｐ１２と接合可能な位置にそれぞれ配置されていてもよい。なお、論理パス割当部１０６は、論理モジュールとメモリブロックとの間の論理パスを、論理モジュールが配置された位置とメモリブロックが割当てられたメモリエレメントの位置とに基づいて、配線長が最短となるメモリポートへ割り当てることが望ましい。
【００５４】
さらに、図５において設計装置１００は、論理パス割当部１０６により生成された論理パス割当情報を解析して、論理パスを介して伝送されるデータ伝送の遅延時間を示す遅延値を算出する遅延解析部１０７を備える。さらに、設計装置１００は、遅延解析部１０７により算出された遅延値が制約値を超えるか否かを判定する遅延制約充足部１０８を備える。そして、出力部１０５は、遅延制約充足部１０８により遅延値が制約値を超えないと判定されたとき、設計結果を出力する。
【００５５】
ここで遅延値とは、論理パスにおけるデータ伝送の遅延時間そのものであってもよいし、データ伝送の遅延時間を決定するファクター（例えば論理パスの長さ）を算出してもよい。
【００５６】
ここで制約値とは、設計上許容可能なデータ伝送の遅延時間を示す値であり、その単位は遅延値と等しく定められる。例えば、遅延値の単位が時間であれば、制約値の単位も時間で定められる。また、遅延値の単位が距離であれば、制約値の単位も距離で定められる。なお、制約値は、全ての論理パスにおいて一律で定められてもよいし、論理パスごとに異なる値で定められてもよい。
【００５７】
遅延解析部１０７は、論理モジュールとメモリポートとの間におけるデータ伝送遅延と、メモリポートとメモリブロックとの間のデータ伝送遅延と、を個別に算出して合算した値を遅延値としてもよい。このとき、メモリアレイチップ上のメモリエレメントの位置と、メモリポートの位置とは予め決まっているので、メモリポートとメモリブロックとの間の論理パスが取りうるパターンは有限であり、各々のパターンに応じて遅延値が一意に定められる。メモリポートとメモリブロックとの間の論理パスが取りうるパターンと各々のパターンに対応する遅延値とを予め設計装置１００が備える記憶媒体（図示せず）に格納してもよい。このとき、遅延解析部１０７は、メモリブロック割当情報と論理パス割当情報とに基づいて、上記記憶媒体に格納されている遅延値を参照することにより遅延値を算出してもよい。ここで、メモリポートとメモリブロックとの間のデータ伝送遅延は、メモリポートからメモリブロックを構成する全メモリエレメントへのデータ伝送遅延の中での最大値としてもよい。
【００５８】
なお、上記記憶媒体に格納される情報は、論理モジュール情報と同様に入力部１０１から入力されてもよい。
【００５９】
さらに、図５において設計装置１００は、遅延制約充足部１０８により遅延値が制約値を超えると判定されたとき、メモリブロック構成部１０３により生成されたメモリブロック構成情報を変更するメモリブロック再構成部１０９を備える。そして、メモリブロック割当部１０４は、メモリブロック再構成部１０９により変更されたメモリブロック構成情報に基づいて、メモリブロックを複数のメモリエレメントの一部または全部に割り当て、メモリブロック割当情報を生成してもよい。そして、論理モジュール配置部１０２は、メモリブロック割当情報に基づいて論理モジュールを再配置して、論理モジュール配置情報を生成してもよい。さらに、論理パス割当部１０６は、論理モジュール配置情報とメモリブロック割当情報とに基づいて論理パスを割り当てて、論理パス割当情報を生成してもよい。
【００６０】
ここで、メモリブロック再構成部１０９は、遅延値が制約値を超えると判定された論理パスと接続されているメモリブロックを分割するか、または当該メモリブロックを他のメモリブロックと併合するかの少なくとも一方を実行する。
【００６１】
図７は、遅延値が制約値を超えると判定された論理モジュールの配置とメモリブロックの割当の一例を示す図である。なお、図７（Ａ）に示す論理メモリポートＰＣ、ＰＤ、ＰＥはそれぞれ、図７（Ｂ）に示すメモリアレイチップＭＡＣを図７（Ａ）の論理モジュールチップＬＭＣ上に搭載したときに、メモリポートＰ２、Ｐ５、Ｐ８と接合するものとする。
【００６２】
図７において、論理モジュールＭ２を始点として、論理モジュールＭ１とメモリポートＰＤ、Ｐ５を経由して、メモリエレメントＭＡに接続する論理パスにおける遅延値が制約値を超えたと判定されたとする。このとき、図５においてメモリブロック再構成部１０９はメモリブロック構成情報を変更し、これに応じてメモリブロック割当部１０４および論理パス割当部１０６は上述のように動作し、メモリブロック割当情報と論理パス割当情報とを生成する。この結果を図８に示す。
【００６３】
図８は、遅延値が制約値を超えると判定された後、メモリブロックの構成を変更した一例を示す図である。図７において、遅延値が制約値を超えると判定された上記論理パスと接続されていたメモリブロックＣ１が分割されて、メモリブロックＣ３、Ｃ４となっている。図８（ｂ）は、図５のメモリブロック割当部１０４が、メモリブロック再構成部１０９により変更されたメモリブロック構成情報に基づいてメモリブロックを割り当てた結果である。図８（ａ）は、図８（ｂ）に示されるメモリブロックの割当結果に基づいて論理パスを割り当てた結果である。図８では、図７と比較して論理モジュールＭ１からメモリエレメントＭＡへの論理パスの長さが短縮されていることがわかる。これにより、論理パスにおける遅延時間も短縮される。
【００６４】
当然ながら、分割後のメモリブロックが必要な記憶容量を下回らない範囲で、メモリブロック再構成部１０９は、メモリブロックの構成を分割可能とする。
【００６５】
図９も、遅延値が制約値を超えると判定された論理モジュールの配置とメモリブロックの割当の一例を示す図である。なお、図９（Ａ）に示すメモリポートＰＦ、ＰＧ、ＰＨ、ＰＩはそれぞれ、図９（Ｂ）に示すメモリアレイチップを図９（Ａ）の論理モジュールチップ上に搭載したときに、メモリアレイチップ上のメモリポートＰ７、Ｐ８、Ｐ１０、Ｐ１２と接合するものとする。
【００６６】
図９では、論理モジュールＭ２を始点として、論理モジュールＭ１とメモリポートＰＨ、Ｐ１０を経由して、メモリエレメントＭＪに接続する論理パスとにおける遅延値が制約値を超えたと判定されたとする。さらに、論理モジュールＭ２を始点として、論理モジュールＭ１とメモリポートＰＩ、Ｐ１２を経由して、メモリエレメントＭＬに接続する論理パスにおける遅延値が制約値を超えたと判定されたとする。
【００６７】
図１０は、遅延値が制約値を超えると判定された後、メモリブロックの構成を変更した一例を示す図である。図９のメモリブロックＤ３が他のメモリブロックＤ４と併合してメモリブロックＤ６となり、図９のメモリブロックＤ１が他のメモリブロックＤ２、Ｄ５と併合してメモリブロックＤ７となっている。図１０（Ｂ）は、図５のメモリブロック割当部１０４が、メモリブロック再構成部１０９により変更されたメモリブロック構成情報に基づいてメモリブロックを割り当てた結果である。図１０（Ａ）における論理モジュールの配置は、図１０（Ｂ）に示されるメモリブロックの割当結果に基づいて論理パスを割り当てた結果である。図１０では、図９と比較して論理モジュールＭ１からメモリエレメントＭＪへの論理パスの長さも、論理モジュールＭ１からメモリエレメントＭＬへの論理パスの長さも、どちらも短縮されていることがわかる。これにより、論理パスにおける遅延時間も短縮される。
【００６８】
さらに、図５における設計装置１００は、論理モジュール情報に基づいて、メモリブロックを論理モジュールチップとメモリアレイチップとのいずれに実装させるか振り分けるメモリブロック振分部１１０を備える。そして、論理モジュール配置部１０２は、メモリブロック振分部１１０により論理モジュールチップに振り分けられたメモリブロックと、論理モジュールとを論理モジュールチップ上に配置して論理モジュール配置情報を生成する。さらに、メモリブロック構成部１０３は、メモリブロック振分部１１０によりメモリアレイチップに振り分けられたメモリブロックの構成を示すメモリブロック構成情報を生成する。
【００６９】
なお、上述した図面の全てに図示されてはいないが、論理モジュールチップにはメモリブロックを割り当てるメモリエレメントを実装することができるものとする。
【００７０】
図１１は、本実施形態の設計方法を示すフローチャートである。本実施形態の設計方法に含まれる入力工程（ステップＴ１）は、第１の実施形態の入力工程（ステップＳ１）と同様である。
【００７１】
続いて、この設計方法は、論理モジュール情報に基づいて、メモリブロックを論理モジュールチップとメモリアレイチップとのいずれに実装させるか振り分けるメモリブロック振分工程（ステップＴ２）を備える。そして、メモリブロック構成工程（ステップＴ３）では、メモリブロック振分工程（ステップＴ２）でメモリアレイチップに振り分けられたメモリブロックの構成を示すメモリブロック構成情報を生成する。
【００７２】
また、この設計方法では、論理モジュール配置工程を先に実行する場合（ステップＴ４のＹＥＳ）、メモリブロック割当工程（ステップＴ６）において、メモリブロック構成工程（ステップＴ３）で生成されたメモリブロック構成情報と、論理モジュール配置工程（ステップＴ５）で生成された論理モジュール配置情報と、に基づいてメモリブロックを割り当ててメモリブロック割当情報を生成する。
【００７３】
さらに、この設計方法では、論理モジュール配置工程を後に実行する場合（ステップＴ４のＮＯ）、論理モジュール配置工程（ステップＴ８）において、入力工程（ステップＴ１）で入力された論理モジュール情報と、メモリブロック割当工程（ステップ７）で生成されたメモリブロック割当情報と、に基づいて論理モジュールを配置して論理モジュール配置情報を生成する。
【００７４】
上記論理モジュール配置工程（ステップＴ５、Ｔ８）では、メモリブロック振分工程（ステップＴ２）で論理モジュールチップに振り分けられたメモリブロックと、論理モジュールとを論理モジュールチップ上に配置して論理モジュール配置情報を生成する。
【００７５】
さらに、この設計方法は、論理モジュール配置情報とメモリブロック割当情報とに基づいて、論理モジュール配置工程において配置された論理モジュールと、メモリブロック割当工程において割り当てられたメモリブロックと、の間に論理パスを割り当てて論理パス割当情報を生成する論理パス割当工程（ステップＴ９）を備える。
【００７６】
さらに、この設計方法は、論理パス割当工程（ステップＴ９）において生成された論理パス割当情報を解析して、論理パスを介して伝送されるデータ伝送の遅延時間を示す遅延値を算出する遅延解析工程（ステップＴ１０）を備える。さらに、この設計方法は、遅延解析工程（ステップＴ１０）において算出された遅延値が制約値を超えるか否かを判定する遅延制約充足工程（ステップＴ１１）を備える。
【００７７】
さらに、この設計方法は、遅延制約充足工程（ステップＴ１１）において遅延値が制約値を超えると判定されたとき（ステップＴ１２のＹＥＳ）、メモリブロック構成工程（ステップＴ３）において生成されたメモリブロック構成情報を変更するメモリブロック再構成工程（ステップＴ１３）を備える。そして、この設計方法は、メモリブロック再構成工程（ステップＴ１３）の後は、ステップＴ４以降の工程を繰り返す。
【００７８】
ただし、ステップＴ４以降の工程を繰り返すとき、メモリブロック割当工程（ステップＴ６、Ｔ７）においては、メモリブロック再構成工程（ステップＴ１３）で変更されたメモリブロック構成情報に基づいて、メモリブロックを複数のメモリエレメントの一部または全部に割り当てる。
【００７９】
なお、この設計方法は、遅延制約充足工程（ステップＴ１１）において遅延値が制約値を超えると判定される限り、あるいは、分割または併合可能なメモリブロックが存在しなくなるまで繰り返される。
【００８０】
また、メモリブロック再構成工程（ステップＴ１３）では、遅延値が制約値を超えると判定された論理パスと接続されているメモリブロックを分割するか、または当該メモリブロックを他のメモリブロックと併合するかの少なくとも一方を実行してもよい。
【００８１】
遅延制約充足工程（ステップＴ１１）において遅延値が制約値を超えないと判定されたとき（ステップＴ１２のＮＯ）、出力工程（ステップＴ１４）において、論理モジュール配置情報とメモリブロック割当情報と論理パス割当情報とを設計結果として出力して、この設計方法のフローは終了となる。
【００８２】
ここで、本実施形態の効果について説明する。本実施形態は、設計結果として論理モジュールの配置、メモリブロックの割当および論理パス（メモリポート）の割当を設計結果として出力することができる。
【００８３】
また、本実施形態は、論理パスそれぞれにおけるデータ伝送の遅延時間を示す遅延値を算出し、算出された遅延値が制約値を超えないとき、設計結果を出力する。また、本実施形態は、解析された遅延値が制約値を超えるとき、メモリブロックの構成を変更して、変更されたメモリブロックの構成に基づいてメモリブロックの割当と論理モジュールの配置を変更する。これにより、論理モジュールとメモリブロックとの間のデータ伝送遅延を制約値以内に短縮させることができる。
【００８４】
さらに、本実施形態では、メモリブロックの構成を変更するとき、遅延値が制約値を超えていると判定された論理パスに接続されているメモリブロックと当該メモリブロックの周囲のメモリブロックの構成を変更する。これにより、メモリブロック構成の変更処理が比較的簡単となり、処理時間や処理負荷が軽減される。
【００８５】
さらに、本実施形態は、論理モジュールチップ上に論理モジュールと論理モジュールと接続するメモリブロックとを配置することができる。これにより、メモリアレイチップ上にメモリブロックが割り当てられない場合にも対応できる。
【００８６】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
【００８７】
例えば、本発明においてメモリブロックの構成を変更するとき、変更するメモリブロックを一部に限定することを述べたが、全部のメモリブロックを変更してもよい。
【００８８】
なお、当然ながら、上述した実施の形態および複数の変形例は、その内容が相反しない範囲で組み合わせることができる。また、上述した実施の形態および変形例では、各構成要素の機能などを具体的に説明したが、その機能などは本願発明を満足する範囲で各種に変更することができる。
【００８９】
さらに、本実施の形態では設計装置の各部がコンピュータプログラムにより各種機能として論理的に実現されることを例示した。しかし、このような各部の各々を固有のハードウェアとして形成することもでき、ソフトウェアとハードウェアとの組み合わせとして実現することもできる。
【００９０】
さらに、本発明の設計方法には複数のステップを順番に記載してあるが、その記載の順番は複数のステップを実行する順番を限定するものではない。このため、本発明の設計方法を実行するときには、その複数のステップの順番は内容的に支障しない範囲で変更することができる。
【符号の説明】
【００９１】
１００  設計装置
１０１  入力部
１０２  論理モジュール配置部
１０３  メモリブロック構成部
１０４  メモリブロック割当部
１０５  出力部
１０６  論理パス割当部
１０７  遅延解析部
１０８  遅延制約充足部
１０９  メモリブロック再構成部
１１０  メモリブロック振分部
【図１】
2010257345.tif 000003
【図２】
2010257345.tif 000004
【図３】
2010257345.tif 000005
【図４】
2010257345.tif 000006
【図５】
2010257345.tif 000007
【図６】
2010257345.tif 000008
【図７】
2010257345.tif 000009
【図８】
2010257345.tif 000010
【図９】
2010257345.tif 000011
【図１０】
2010257345.tif 000012
【図１１】
2010257345.tif 000013
【図１２】
2010257345.tif 000014
【図１３】
2010257345.tif 000015