(57)【要約】【課題】デジタル、アナログ、表示ドライバコントローラの各モジュールを含む半導体集積回路装置において、端子の配置や対ノイズ性を考慮したレイアウト設計を行うこと。【解決手段】設計支援システムであって、モジュール物理情報記憶部３８０と、モジュール論理情報記憶部３７０と、要求仕様選択入力受け付け手段３３２と、使用モジュール決定手段３３８と、使用モジュールのバルク層における配置を決定する物理的配置処理を行う物理的配置処理手段３３４と、使用モジュール間の論理的接続処理を行う論理的接続処理手段３３６とを含む。高さを同じくするモジュールの物理情報を記憶し、バルク層に設定された、所与の２辺がＸ軸と並行になるような長方形のモジュール配置領域に、デジタルモジュール群、メモリモジュール群、アナログモジュール群、表示ドライバコントローラモジュール群がこの順番でＸ軸方向に１次元的に並ぶように配置する。【選択図】図１
2008065465.tif 000002
【特許請求の範囲】
【請求項１】
デジタルモジュール、メモリモジュール、アナログモジュール、表示ドライバコントローラモジュールを含む半導体集積回路装置のレイアウト設計を行う設計支援システムであって、
各モジュールの物理情報を記憶するモジュール物理情報記憶部と、
各モジュールの論理情報を記憶するモジュール論理情報記憶部と、
要求仕様選択画面を出力して要求仕様選択入力を受け付ける要求仕様選択入力受け付け手段と、
受け付けた要求仕様に基づき、使用するモジュールを決定する使用モジュール決定手段と、
決定された使用モジュールのモジュール物理情報をモジュール物理情報記憶部から読み出して、読み出したモジュール物理情報に基づき、使用モジュールのバルク層における配置を決定する物理的配置処理を行う物理的配置処理手段と、
決定された使用モジュールのモジュール論理情報をモジュール論理情報記憶部から読み出して、読み出したモジュール論理情報に基づき、使用モジュール間の論理的接続処理を行う論理的接続処理手段と、を含み、
前記モジュール物理情報記憶部は、
ＸＹ平面上においてＹ軸方向の長さを同じくするモジュールとして構成された各モジュールの物理情報を記憶し、
前記物理的配置処理手段は、
バルク層に設定された、所与の２辺がＸ軸と並行になるような長方形のモジュール配置領域に、少なくとも１つのデジタルモジュールを含むデジタルモジュール群、少なくとも１つのメモリモジュールを含むメモリモジュール群、少なくとも１つのアナログモジュールを含むアナログモジュール群、少なくとも１つの表示ドライバコントローラモジュールを含む表示ドライバコントローラモジュール群が、この順番でＸ軸方向に１次元的に並ぶように配置し、
論理的接続処理手段は、
バルク層に設定された、所与の２辺がＸ軸と並行になるような長方形のモジュール配置領域に、少なくとも１つのデジタルモジュールを含むデジタルモジュール群、少なくとも１つのメモリモジュールを含むメモリモジュール群、少なくとも１つのアナログモジュールを含むアナログモジュール群、少なくとも１つの表示ドライバコントローラモジュールを含む表示ドライバコントローラモジュール群が、この順番でＸ軸方向に１次元的に並ぶ構成における使用モジュール間の論理的接続処理を行うことを特徴とする設計支援システム。
【請求項２】
請求項１において、
前記物理的配置処理手段は、
バルク層において、Ｙ軸方向にモジュール配置領域と隣り合う一方の側にアナログインターフェースを配置し、他方の側に結線領域を配置し、
論理的接続処理手段は、
バルク層において、Ｙ軸方向にモジュール配置領域と隣り合う一方の側にアナログインターフェースを配置し、他方の側に結線領域を配置した構成における使用モジュール間の論理的接続処理を行うことを特徴とする設計支援システム。
【請求項３】
請求項１ないし２のいずれかにおいて、
前記物理的配置処理手段は、
バルク層において、アナログインタフェースと表示ドライバコントローラインターフェースとをアナログモジュール群および表示ドライバコントローラモジュール群を挟んでＹ軸方向に対して反対側に配置し、
論理的接続処理手段は、
バルク層において、アナログインタフェースと表示ドライバコントローラインターフェースとをアナログモジュール群および表示ドライバコントローラモジュール群を挟んでＹ軸方向に対して反対側に配置した構成における使用モジュール間の論理的接続処理を行うことを特徴とする設計支援システム。
【請求項４】
デジタルモジュール、メモリモジュール、アナログモジュール、表示ドライバコントローラモジュールを含む半導体集積回路装置のレイアウト設計を行う設計支援システムを実現するためのプログラムであって、
各モジュールの物理情報を記憶するモジュール物理情報記憶部と、
各モジュールの論理情報を記憶するモジュール論理情報記憶部と、
要求仕様選択画面を出力して要求仕様選択入力を受け付ける要求仕様選択入力受け付け手段と、
受け付けた要求仕様に基づき、使用するモジュールを決定する使用モジュール決定手段と、
決定された使用モジュールのモジュール物理情報をモジュール物理情報記憶部から読み出して、読み出したモジュール物理情報に基づき、使用モジュールのバルク層における配置を決定する物理的配置処理を行う物理的配置処理手段と、
決定された使用モジュールのモジュール論理情報をモジュール論理情報記憶部から読み出して、読み出したモジュール論理情報に基づき、使用モジュール間の論理的接続処理を行う論理的接続処理手段と、してコンピュータを機能させ、
前記モジュール物理情報記憶部は、
ＸＹ平面上においてＹ軸方向の長さを同じくするモジュールとして構成された各モジュールの物理情報を記憶し、
前記物理的配置処理手段は、
バルク層に設定された、所与の２辺がＸ軸と並行になるような長方形のモジュール配置領域に、少なくとも１つのデジタルモジュールを含むデジタルモジュール群、少なくとも１つのメモリモジュールを含むメモリモジュール群、少なくとも１つのアナログモジュールを含むアナログモジュール群、少なくとも１つの表示ドライバコントローラモジュールを含む表示ドライバコントローラモジュール群が、この順番でＸ軸方向に１次元的に並ぶように配置し、
論理的接続処理手段は、
バルク層に設定された、所与の２辺がＸ軸と並行になるような長方形のモジュール配置領域に、少なくとも１つのデジタルモジュールを含むデジタルモジュール群、少なくとも１つのメモリモジュールを含むメモリモジュール群、少なくとも１つのアナログモジュールを含むアナログモジュール群、少なくとも１つの表示ドライバコントローラモジュールを含む表示ドライバコントローラモジュール群が、この順番でＸ軸方向に１次元的に並ぶ構成における使用モジュール間の論理的接続処理を行うことを特徴とするプログラム。
【請求項５】
請求項４において、
前記物理的配置処理手段は、
バルク層において、Ｙ軸方向にモジュール配置領域と隣り合う一方の側にアナログインターフェースを配置し、他方の側に結線領域を配置し、
論理的接続処理手段は、
バルク層において、Ｙ軸方向にモジュール配置領域と隣り合う一方の側にアナログインターフェースを配置し、他方の側に結線領域を配置した構成における使用モジュール間の論理的接続処理を行うことを特徴とするプログラム。
【請求項６】
請求項４ないし５のいずれかにおいて、
前記物理的配置処理手段は、
バルク層において、アナログインタフェースと表示ドライバコントローラインターフェースとをアナログモジュール群および表示ドライバコントローラモジュール群を挟んでＹ軸方向に対して反対側に配置し、
論理的接続処理手段は、
バルク層において、アナログインタフェースと表示ドライバコントローラインターフェースとをアナログモジュール群および表示ドライバコントローラモジュール群を挟んでＹ軸方向に対して反対側に配置した構成における使用モジュール間の論理的接続処理を行うことを特徴とするプログラム。
【請求項７】
デジタルモジュール、メモリモジュール、アナログモジュール、表示ドライバコントローラモジュールを含む半導体集積回路装置であって、
デジタルモジュール、メモリモジュール、アナログモジュール、表示ドライバコントローラモジュールはＸＹ平面上においてＹ軸方向の長さを同じくするモジュールとして構成され、
バルク層に設定された、所与の２辺がＸ軸と並行になるような長方形のモジュール配置領域に、少なくとも１つのデジタルモジュールを含むデジタルモジュール群、少なくとも１つのメモリモジュールを含むメモリモジュール群、少なくとも１つのアナログモジュールを含むアナログモジュール群、少なくとも１つの表示ドライバコントローラモジュールを含む表示ドライバコントローラモジュール群が、この順番でＸ軸方向に１次元的に並んで配置されていることを特徴とする半導体集積回路装置。
【請求項８】
請求項７記載の半導体集積回路装置は、アナログインターフェース、結線領域を含み、
バルク層において、Ｙ軸方向にモジュール配置領域と隣り合う一方の側にアナログインターフェースが配置され、他方の側に結線領域が配置されていることを特徴とする半導体集積回路装置。
【請求項９】
請求項７ないし８のいずれかにおいて、
前記半導体集積回路装置は表示ドライバコントローラインターフェースを含み、
バルク層において、アナログインタフェース表示ドライバコントローラインターフェースとがアナログモジュール群および表示ドライバコントローラモジュール群を挟んでＹ軸方向に対して反対側に配置されていることを特徴とする半導体集積回路装置。
【請求項１０】
デジタルモジュール、メモリモジュール、アナログモジュール、表示ドライバコントローラモジュールを含む半導体集積回路装置のレイアウト方法であって、
デジタルモジュール、メモリモジュール、アナログモジュール、表示ドライバコントローラモジュールはＸＹ平面上においてＹ軸方向の長さを同じくするモジュールとして構成し、
バルク層に設定された、所与の２辺がＸ軸と並行になるような長方形のモジュール配置領域に、少なくとも１つのデジタルモジュールを含むデジタルモジュール群、少なくとも１つのメモリモジュールを含むメモリモジュール群、少なくとも１つのアナログモジュールを含むアナログモジュール群、少なくとも１つの表示ドライバコントローラモジュールを含む表示ドライバコントローラモジュール群が、この順番でＸ軸方向に１次元的に並ぶように配置することを特徴とする半導体集積回路装置のレイアウト方法。
【請求項１１】
請求項１０において、
バルク層において、Ｙ軸方向にモジュール配置領域と隣り合う一方の側にアナログインターフェースを配置し、他方の側に結線領域を配置することを特徴とする半導体集積回路装置のレイアウト方法。
【請求項１２】
請求項１０ないし１１のいずれかにおいて、
バルク層において、アナログインタフェース表示ドライバコントローラインターフェースとをアナログモジュール群および表示ドライバコントローラモジュール群を挟んでＹ軸方向に対して反対側に配置することを特徴とする半導体集積回路装置のレイアウト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路装置、半導体集積回路装置のレイアウト方法、設計支援システム及びプログラムに関する。
【背景技術】
【０００２】
半導体集積回路装置の設計では、多くの組合わせの考えられる仕様を短納期で実現するために、各要素部品をモジュールとし、それを組み合わせて設計を行うモジュラー設計そのものは、非常に古くからある概念であり、用途に応じて異なるメモリ容量や異なるＩ／Ｏインタフェース回路の種々の組合わせを実現しなければならないマイクロコントローラで一般的なものである。
【０００３】
また、カスタムＩＣの設計において、チップサイズなどからくるコストを算出するために、Ｗｅｂベースでデータベースを操作して設計見積もりをおこなうシステムなども存在する。
【特許文献１】特開平１１−３０７６４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
モジュラー設計技術は多々あるものの、液晶ディスプレイドライバを搭載したマイクロコントローラについて、その特有の問題である、マイクロコントローラのチップ面積に比べてドライバ端子数がアンバランスに多くなること、液晶パネルとの接続を安価なボードおよびコネクタ類で構成しようとするとパネルの構造に適合したような端子配置が必要になること、液晶ディスプレイドライバ以外のマイクロコントローラの端子、特にアナログ入出力端子の配置には対ノイズ性などの特有の考慮を要すること、という問題について特に対処した技術は存在していなかった。
【０００５】
また、Ｗｅｂベースの設計見積もりシステムなども存在するが、上記のようなマイクロコントローラに対して、最下層のレイアウト設計を自動的に行うところまで行うような設計支援システムは存在していなかった。
【０００６】
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、デジタルモジュールとアナログモジュールと表示ドライバコントローラモジュールを含む半導体集積回路装置において、端子の配置や対ノイズ性を考慮したレイアウト構造を有する半導体集積回路装置、そのレイアウト方法、設計支援システム及びプログラムを提供することである。
【課題を解決するための手段】
【０００７】
（１）本発明は、
デジタルモジュール、メモリモジュール、アナログモジュール、表示ドライバコントローラモジュールを含む半導体集積回路装置のレイアウト設計を行う設計支援システムであって、
各モジュールの物理情報を記憶するモジュール物理情報記憶部と、
各モジュールの論理情報を記憶するモジュール論理情報記憶部と、
要求仕様選択画面を出力して要求仕様選択入力を受け付ける要求仕様選択入力受け付け手段と、
受け付けた要求仕様に基づき、使用するモジュールを決定する使用モジュール決定手段と、
決定された使用モジュールのモジュール物理情報をモジュール物理情報記憶部から読み出して、読み出したモジュール物理情報に基づき、使用モジュールのバルク層における配置を決定する物理的配置処理を行う物理的配置処理手段と、
決定された使用モジュールのモジュール論理情報をモジュール論理情報記憶部から読み出して、読み出したモジュール論理情報に基づき、使用モジュール間の論理的接続処理を行う論理的接続処理手段と、を含み、
前記モジュール物理情報記憶部は、
ＸＹ平面上においてＹ軸方向の長さを同じくするモジュールとして構成された各モジュールの物理情報を記憶し、
前記物理的配置処理手段は、
バルク層に設定された、所与の２辺がＸ軸と並行になるような長方形のモジュール配置領域に、少なくとも１つのデジタルモジュールを含むデジタルモジュール群、少なくとも１つのメモリモジュールを含むメモリモジュール群、少なくとも１つのアナログモジュールを含むアナログモジュール群、少なくとも１つの表示ドライバコントローラモジュールを含む表示ドライバコントローラモジュール群が、この順番でＸ軸方向に１次元的に並ぶように配置し、
論理的接続処理手段は、
バルク層に設定された、所与の２辺がＸ軸と並行になるような長方形のモジュール配置領域に、少なくとも１つのデジタルモジュールを含むデジタルモジュール群、少なくとも１つのメモリモジュールを含むメモリモジュール群、少なくとも１つのアナログモジュールを含むアナログモジュール群、少なくとも１つの表示ドライバコントローラモジュールを含む表示ドライバコントローラモジュール群が、この順番でＸ軸方向に１次元的に並ぶ構成における使用モジュール間の論理的接続処理を行うことを特徴とする。
【０００８】
ここでモジュールとは、デジタルモジュール、メモリモジュール、アナログモジュール、表示ドライバコントローラモジュール等の各モジュールを含むが、他にアナログパッド、表示ドライバコントローラパッド、デジタルパッド等のパッドも含むようにしてもよい。
【０００９】
要求使用は、例えばＰＣの画面に要求使用選択画面を出力し、ユーザーに選択入力を行わせる事によって受け付けるようにしてもよい。
【００１０】
例えばデジタルモジュール、メモリモジュール、アナログモジュール、表示ドライバコントローラモジュール等の各モジュールやパッド等について選択肢を提示して選択入力を受け付けることによって、これらの要求仕様をうけつけるようにしてもよい。
【００１１】
デジタルモジュールの要求仕様とは、例えばプロセッサのタイプや使用するデジタルペリフェラルの種類（タイマ、同期、非同期シリアル）等である。メモリモジュールの要求仕様とは、例えばＲＯＭ容量やＲＡＭ容量等である。アナログモジュールの要求仕様とは、例えば使用するアナログペリフェラルの種類（Ａ／Ｄ、オペアンプ、バラクタ、ＬＦレシーバー、ＲＦトランスミッター、ＰＷＭ＆フィルタ）や内容である。表示ドライバコントローラモジュールの要求仕様とは、例えばＬＣＤディスプレイのバッファサイズ等である。
【００１２】
各モジュールの物理情報とは、２次元図形データであり、例えばＧＤＳIIフォーマット（ＩＣレイアウト設計のためのデータ形式)等で記述されている。
【００１３】
各モジュールの論理情報とは、ハードウエア記述であり、デジタル回路、特に集積回路を設計するためのコンピュータ言語の一種であるVerilog(ベリログ)のＲＴＬ（ハードウエア記述、ベリログの記述レベル）やＶＨＤＬ（VHSIC Hardware Description Language）やシステムＣなどで記述されている。
【００１４】
物理的配置処理とは、使用モジュールやパッド等の配置座標の決定処理等を含む。
【００１５】
使用モジュール間の論理的接続処理とは、例えば各モジュールで使用するＲＯＭ、ＲＡＭ、レジスタのアドレス空間への割付（メモリマップの作成）や各モジュールの端子間の接続や相互接続配線等の処理を含む。
【００１６】
本発明によれば、従来は、個別に回路設計、レイアウト設計していた液晶ディスプレイドライバ、アナログインターフェース回路を混載した４，８ビットマイクロコントローラについて、その要求される特性を満たしつつ、仕様からほとんど自動で基本的な設計を完了できることになり、大幅に省力化が可能となった。
【００１７】
また本発明によれば、半導体集積回路装置は細長い形状（Ｙ軸方向の長さである高さをＨ、Ｘ軸方向の長さである幅をＬとするとＨ＜Ｌとなる）のチップレイアウトとなるため、面積に対してチップ辺長の総和が多くとれる。このため、正方形のチップと比べ、チップ面積に比べてドライバ端子数がアンバランスに多い半導体集積回路装置のパッド配置に適合しており、該当する半導体集積回路装置の回路設計の自動化上有利である。
【００１８】
また本発明ではデジタルモジュール、メモリモジュール、アナログモジュール、表示ドライバコントローラモジュール等の各モジュールがすべて固定の高さを持つので、各モジュールの並べ方は１次元的に配置することになり、面積に対してチップ辺長の総和が多くとれ、パッド配置が行いやすく、各モジュールの上端にモジュール間インターフェース信号および内部電源配線を集中させることが可能となり、自動設計を行いやすい。
【００１９】
（２）本発明の設計支援システムは、
前記物理的配置処理手段は、
バルク層において、Ｙ軸方向にモジュール配置領域と隣り合う一方の側にアナログインターフェースを配置し、他方の側に結線領域を配置し、
論理的接続処理手段は、
バルク層において、Ｙ軸方向にモジュール配置領域と隣り合う一方の側にアナログインターフェースを配置し、他方の側に結線領域を配置した構成における使用モジュール間の論理的接続処理を行うことを特徴とする。
【００２０】
本発明によれば、各ブロックから入出力する外部端子は、相互に交差することなく配置が可能になるとともに、独立に電源端子を設け、相互に分離してノイズ等の影響を避けることができる半導体集積回路装置の回路設計を自動で行うことが可能となる。
【００２１】
（３）本発明の設計支援システムは、
前記物理的配置処理手段は、
バルク層において、アナログインタフェースと表示ドライバコントローラインターフェースとをアナログモジュール群および表示ドライバコントローラモジュール群を挟んでＹ軸方向に対して反対側に配置し、
論理的接続処理手段は、
バルク層において、アナログインタフェースと表示ドライバコントローラインターフェースとをアナログモジュール群および表示ドライバコントローラモジュール群を挟んでＹ軸方向に対して反対側に配置した構成における使用モジュール間の論理的接続処理を行うことを特徴とする。
【００２２】
（４）本発明は、
デジタルモジュール、メモリモジュール、アナログモジュール、表示ドライバコントローラモジュールを含む半導体集積回路装置のレイアウト設計を行う設計支援システムを実現するためのプログラムであって、
各モジュールの物理情報を記憶するモジュール物理情報記憶部と、
各モジュールの論理情報を記憶するモジュール論理情報記憶部と、
要求仕様選択画面を出力して要求仕様選択入力を受け付ける要求仕様選択入力受け付け手段と、
受け付けた要求仕様に基づき、使用するモジュールを決定する使用モジュール決定手段と、
決定された使用モジュールのモジュール物理情報をモジュール物理情報記憶部から読み出して、読み出したモジュール物理情報に基づき、使用モジュールのバルク層における配置を決定する物理的配置処理を行う物理的配置処理手段と、
決定された使用モジュールのモジュール論理情報をモジュール論理情報記憶部から読み出して、読み出したモジュール論理情報に基づき、使用モジュール間の論理的接続処理を行う論理的接続処理手段と、してコンピュータを機能させ、
前記モジュール物理情報記憶部は、
ＸＹ平面上においてＹ軸方向の長さを同じくするモジュールとして構成された各モジュールの物理情報を記憶し、
前記物理的配置処理手段は、
バルク層に設定された、所与の２辺がＸ軸と並行になるような長方形のモジュール配置領域に、少なくとも１つのデジタルモジュールを含むデジタルモジュール群、少なくとも１つのメモリモジュールを含むメモリモジュール群、少なくとも１つのアナログモジュールを含むアナログモジュール群、少なくとも１つの表示ドライバコントローラモジュールを含む表示ドライバコントローラモジュール群が、この順番でＸ軸方向に１次元的に並ぶように配置し、
論理的接続処理手段は、
バルク層に設定された、所与の２辺がＸ軸と並行になるような長方形のモジュール配置領域に、少なくとも１つのデジタルモジュールを含むデジタルモジュール群、少なくとも１つのメモリモジュールを含むメモリモジュール群、少なくとも１つのアナログモジュールを含むアナログモジュール群、少なくとも１つの表示ドライバコントローラモジュールを含む表示ドライバコントローラモジュール群が、この順番でＸ軸方向に１次元的に並ぶ構成における使用モジュール間の論理的接続処理を行うことを特徴とする。
【００２３】
（５）本発明のプログラムは、
前記物理的配置処理手段は、
バルク層において、Ｙ軸方向にモジュール配置領域と隣り合う一方の側にアナログインターフェースを配置し、他方の側に結線領域を配置し、
論理的接続処理手段は、
バルク層において、Ｙ軸方向にモジュール配置領域と隣り合う一方の側にアナログインターフェースを配置し、他方の側に結線領域を配置した構成における使用モジュール間の論理的接続処理を行うことを特徴とする。
【００２４】
（６）本発明のプログラムは、
前記物理的配置処理手段は、
バルク層において、アナログインタフェースと表示ドライバコントローラインターフェースとをアナログモジュール群および表示ドライバコントローラモジュール群を挟んでＹ軸方向に対して反対側に配置し、
論理的接続処理手段は、
バルク層において、アナログインタフェースと表示ドライバコントローラインターフェースとをアナログモジュール群および表示ドライバコントローラモジュール群を挟んでＹ軸方向に対して反対側に配置した構成における使用モジュール間の論理的接続処理を行うことを特徴とする。
【００２５】
（７）本発明は、
デジタルモジュール、メモリモジュール、アナログモジュール、表示ドライバコントローラモジュールを含む半導体集積回路装置であって、
デジタルモジュール、メモリモジュール、アナログモジュール、表示ドライバコントローラモジュールはＸＹ平面上においてＹ軸方向の長さを同じくするモジュールとして構成され、
バルク層に設定された、所与の２辺がＸ軸と並行になるような長方形のモジュール配置領域に、少なくとも１つのデジタルモジュールを含むデジタルモジュール群、少なくとも１つのメモリモジュールを含むメモリモジュール群、少なくとも１つのアナログモジュールを含むアナログモジュール群、少なくとも１つの表示ドライバコントローラモジュールを含む表示ドライバコントローラモジュール群が、この順番でＸ軸方向に１次元的に並んで配置されていることを特徴とする。
【００２６】
半導体集積回路装置とは例えばシングルチップマイクロコンピュータでもよい。
【００２７】
ＸＹ平面上においてＹ軸方向の長さを同じくするとは例えばモジュール高さが同じ場合である。
【００２８】
デジタルモジュールとは、例えばプロセッサコアやデジタルペリフェラルを含むモジュールである。メモリモジュールとは例えばＲＡＭモジュールやＲＯＭモジュールである。アナログモジュールとは、例えばＡ／Ｄコンバータや、ＯＰアンプ等のアナログペリフェラルを含むモジュールである。
【００２９】
表示ドライバコントローラモジュール例えばＬＣＤ、ｅペーパー等のドライバコントローラモジュールである。
【００３０】
デジタルモジュールとメモリモジュールとアナログモジュールと表示ドライバコントローラモジュールはＸＹ平面上において矩形形状（例えば長方形）をしておりＹ軸方向の長さ（高さ）を同じくするようなモジュールとして構成することができる。
【００３１】
モジュール配置領域は、縦の長さ（Ｙ軸方向の長さ、高さ）が各モジュールの高さ（Ｙ軸方向の長さ）で、横の長さ（Ｘ軸方向の長さ）が各モジュールの幅の総和により決定される長方形の領域であり、各モジュールをＸ軸方向に１次元的に配置するための領域である。
【００３２】
Ｘ軸方向に順に並んで配置されるとは、Ｘ軸正方向に順に並んで配置される構成でもよいし、Ｘ軸負方向に順に並んで配置される並ぶ構成でもよい。
【００３３】
少なくとも１つのデジタルモジュールを含むデジタルモジュール群とは、例えば少なくとも１つのデジタルモジュールをＸ軸方向に１次元的に配置したデジタルモジュール群でもよい。また少なくとも１つのメモリモジュールを含むメモリモジュール群とは、例えば少なくとも１つのメモリモジュールをＸ軸方向に１次元的に配置したメモリモジュール群でもよい。また少なくとも１つのアナログモジュールを含むアナログモジュール群とは、例えば少なくとも１つのアナログモジュールをＸ軸方向に１次元的に配置したアナログモジュール群でもよい。また少なくとも１つの表示ドライバコントローラモジュールを含む表示ドライバコントローラモジュール群とは、例えば少なくとも１つの表示ドライバコントローラモジュールをＸ軸方向に１次元的に配置した表示ドライバコントローラモジュール群でもよい。
【００３４】
バルク層のモジュール配置領域に配置されるデジタルモジュール群は少なくとも１つのデジタルモジュールを含み、複数のデジタルモジュールを含む場合には、複数のデジタルモジュール間にデジタルモジュール以外のモジュールが混在しないように配置されている。デジタルモジュール群はモジュール配置領域のＸ軸方向の一方の端（例えば左端）に配置される。
【００３５】
バルク層のモジュール配置領域に配置されるメモリモジュール群は少なくとも１つのメモリモジュールを含み、複数のメモリモジュールを含む場合には、複数のメモリモジュール間にメモリモジュール以外のモジュールが混在しないように配置されている。メモリモジュール群はモジュール配置領域においてデジタルモジュール群とアナログモジュール群の間に配置される。
【００３６】
バルク層のモジュール配置領域に配置されるアナログモジュール群は少なくとも１つのアナログモジュールを含み、複数のアナログモジュールを含む場合には、複数のアナログモジュール間にアナログモジュール以外のモジュールが混在しないように配置されている。アナログモジュール群はモジュール配置領域においてメモリモジュール群と表示ドライバコントローラモジュール群の間に配置される。
【００３７】
バルク層のモジュール配置領域に配置される表示ドライバコントローラモジュール群は少なくとも１つの表示ドライバコントローラモジュールを含み、複数の表示ドライバコントローラモジュールを含む場合には、複数の表示ドライバコントローラモジュール間に表示ドライバコントローラモジュール以外のモジュールが混在しないように配置されている。表示ドライバコントローラモジュール群はモジュール配置領域のＸ軸方向の他方の端（例えば左端）に配置される。
【００３８】
本発明の半導体集積回路装置のように、表示ドライバコントローラモジュールを含む場合には、多数の表示ドライバコントローラモジュールの端子を配置しなければならないためチップ面積に対して多数の端子が必要である。
【００３９】
本発明によれば、半導体集積回路装置は細長い形状（Ｙ軸方向の長さである高さをＨ、Ｘ軸方向の長さである幅をＬとするとＨ＜Ｌとなる）のチップレイアウトとなるため、面積に対してチップ辺長の総和が多くとれる。このため、正方形のチップと比べ、チップ面積に比べてドライバ端子数がアンバランスに多い半導体集積回路装置のパッド配置に適合している。
【００４０】
またデジタルモジュールとメモリモジュールとアナログモジュールと表示ドライバコントローラモジュールはＸＹ平面上においてはすべて固定の高さを持つモジュールであるためこれらのモジュールをモジュール配置領域にＸ軸方向に１次元的に配置することが可能になる。
【００４１】
（８）本発明の半導体集積回路装置は、
アナログインターフェース、結線領域を含み、
バルク層において、Ｙ軸方向にモジュール配置領域と隣り合う一方の側にアナログインターフェースが配置され、他方の側に結線領域が配置されていることを特徴とする。
【００４２】
ここにおいてアナログインターフェースや表示ドライバコントローラインターフェースとは、例えばアナログＰＡＤや表示ドライバコントローラＰＡＤである。
【００４３】
なおアナログインターフェースは、半導体集積回路装置のＸ軸と並行ないずれか１辺の少なくとも１部に沿って、または少なくとも１部に隣接する領域（アナログモジュールに近い領域）に設けるようにしてもよい。
【００４４】
また半導体集積回路装置のＸ軸と並行ないずれか１辺の少なくとも１部に沿って、または少なくとも１部に隣接する領域（デジタルモジュールに近い領域）にデジタルインターフェースを設けるようにしてもよい。
【００４５】
バルク層のいずれかの領域において、Ｘ軸と並行ないずれか１辺、アナログインターフェース、モジュール配置領域、結線領域がＹ軸正又は負方向にこの順で並んで配置される半導体集積回路装置は本発明の範囲内である。
【００４６】
本発明によれば、チップ内のグローバルな結線領域とアナログインターフェースとがモジュール配置領域を挟んでＹ軸方向に反対側に位置する（一方の側と他方の側、例えばＹ軸方向にモジュール配置領域の上側と下側に位置する）ので、液晶ディスプレイドライバ以外のマイクロコントローラの端子、特に対ノイズ性などの特有の考慮を要するアナログ入出力端子の配置上、該当端子とアナログモジュールとの内部ローカル結線とグローバルな内部結線（バスおよび電源）とが交叉することなく、それぞれ容易に接続することができる。
【００４７】
また上記各モジュールの上端（モジュール配置領域の他方の側）にモジュール間インターフェース信号および内部電源配線を集中させることが可能となるため、各モジュールの上端部に各モジュールの合計幅＋各モジュール間の距離程度の幅を有する結線領域を設けることができる。
【００４８】
これにより、各ブロックから入出力する外部端子は、相互に交差することなく配置が可能になるとともに、独立に電源端子を設け、相互に分離してノイズ等の影響を避けることが可能になる。
【００４９】
（９）本発明の半導体集積回路装置は、
前記半導体集積回路装置は表示ドライバコントローラインターフェースを含み、
バルク層において、アナログインタフェースと表示ドライバコントローラインターフェースとがアナログモジュール群および表示ドライバコントローラモジュール群を挟んでＹ軸方向に対して反対側に配置されていることを特徴とする。
【００５０】
表示ドライバコントローラインターフェースがＸ軸方向に表示ドライバコントローラモジュール群と隣り合う領域に配置されている構成は本発明の範囲内である。
【００５１】
（１０）本発明は、
デジタルモジュール、メモリモジュール、アナログモジュール、表示ドライバコントローラモジュールを含む半導体集積回路装置のレイアウト方法であって、
デジタルモジュール、メモリモジュール、アナログモジュール、表示ドライバコントローラモジュールはＸＹ平面上においてＹ軸方向の長さを同じくするモジュールとして構成し、
バルク層に設定された、所与の２辺がＸ軸と並行になるような長方形のモジュール配置領域に、少なくとも１つのデジタルモジュールを含むデジタルモジュール群、少なくとも１つのメモリモジュールを含むメモリモジュール群、少なくとも１つのアナログモジュールを含むアナログモジュール群、少なくとも１つの表示ドライバコントローラモジュールを含む表示ドライバコントローラモジュール群が、この順番でＸ軸方向に１次元的に並ぶように配置することを特徴とする。
【００５２】
（１１）本発明の半導体集積回路装置のレイアウト方法は、
バルク層において、Ｙ軸方向にモジュール配置領域と隣り合う一方の側にアナログインターフェースを配置し、他方の側に結線領域を配置することを特徴とする。
【００５３】
（１２）本発明の半導体集積回路装置のレイアウト方法は、
バルク層において、アナログインタフェースと表示ドライバコントローラインターフェースとをアナログモジュール群および表示ドライバコントローラモジュール群を挟んでＹ軸方向に対して反対側に配置することを特徴とする。
【発明を実施するための最良の形態】
【００５４】
以下、本発明の好適な実施の形態について図面を用いて詳細に説明する。なお以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成の全てが本発明の必須構成要件であるとは限らない。
【００５５】
図１は、本実施の形態の半導体集積回路装置およびそのレイアウト方法について説明するための図である。
【００５６】
本実施の形態の半導体集積回路装置１０は、デジタルモジュール（プロセッサコアとデジタルペリフェラル）２０、メモリモジュール（ＲＯＭモジュールやＲＡＭモジュール）３０−１、３０−２，３０−３、アナログモジュール４０−１、４０−２，４０−３、表示ドライバコントローラモジュール５０（ＬＣＤドライバコントローラもしくはｅペーパードライバコントローラ）を含むシングルチップマイクロコンピュータである。
【００５７】
デジタルモジュール２０とメモリモジュール（プロセッサコアとデジタルペリフェラル）３０−１，３０−２，３０−３とアナログモジュール（ＲＯＭモジュールやＲＡＭモジュール）４０−１，４０−２，４０−３と表示ドライバコントローラモジュール（ＬＣＤ、ｅペーパー）５０は、ＸＹ平面上においてＹ軸方向の長さを同じくするモジュールとして構成され（ＸＹ平面上においては矩形形状（略長方形）で構成されるようにしてもよい）、バルク層１２に設定された、所与の２辺がＸ軸と並行になるような長方形のモジュール配置領域１４に、少なくとも１つのデジタルモジュールを含むデジタルモジュール群（２０）、少なくとも１つのメモリモジュールを含むメモリモジュール群（３０−１、３０−２、３０−３）、少なくとも１つのアナログモジュールを含むアナログモジュール群（４０−１、４０−２、４０−３）、少なくとも１つの表示ドライバコントローラモジュールを含む表示ドライバコントローラモジュール群（５０）が、この順番でＸ軸方向に１次元的に並んで配置されている。
【００５８】
また半導体集積回路装置１０は、アナログインターフェース（アナログＰＡＤ）４２、結線領域６０、表示ドライバコントローラインターフェース５２を含む。バルク層１２において、Ｙ軸方向にモジュール配置領域１４と隣り合う一方の側にアナログインターフェース４２が配置され、他方の側に結線領域６０が配置されているようにしてもよい。
【００５９】
また半導体集積回路装置１０は表示ドライバコントローラインターフェース５２を含む。バルク層１２において、アナログモジュール（４０−１、４０−２、４０−３）に接続するアナログインタフェース４２と表示ドライバコントローラインターフェース５２とが表示ドライバコントローラモジュール群５０を挟んでＹ軸方向に対して反対側に配置されるようにしてもよい。
【００６０】
また表示ドライバコントローラインターフェース５２は、半導体集積回路装置１０のアナログインターフェース４２やデジタルインターフェース３２−１、３２−２、３２−３が隣接する辺以外の１辺から３辺に隣接するように配置してもよい。（図１は３辺に隣接ずるケースである）。
【００６１】
同図に示すように、本実施の形態では細長い形状（Ｙ軸方向の長さである高さをＨ、Ｘ軸方向の長さである幅をＬとするとＨ＜Ｌとなる）のチップレイアウトとなる。本実施の形態の半導体集積回路装置は、表示ドライバコントローラモジュール５０を含むので、多数の表示ドライバコントローラモジュールの端子を配置しなければならないためチップ面積に対して多数の端子が必要である。
【００６２】
従って正方形よりも縦横比の大きな長方形にする方が面積に対してチップ辺長の総和が多くとれ、パッド配置が行いやすいという利点がある。従ってマイクロコントローラのチップ面積に比べてドライバ端子数がアンバランスに多い場合でも対応することができる。
【００６３】
またデジタルモジュール２０とメモリモジュール（３０−１，３０−２，３０−３）とアナログモジュール（４０−１，４０−２，４０−３）と表示ドライバコントローラモジュール５０はＸＹ平面上においてはすべて固定の高さを持つ内部モジュールである。このためこれらのモジュールをＸ軸方向に1次元的に配置することが可能になる。液晶ディスプレイドライバ以外のマイクロコントローラの端子、特に対ノイズ性などの特有の考慮を要するアナログ入出力端子およびそれら端子へのローカル結線とノイズ源となるグローバル内部結線（バス、クロックラインおよびデジタル電源）とが交叉することなく、それぞれの接続も容易である。
【００６４】
また上記各モジュールの上端にモジュール間インターフェース信号および内部電源配線を集中させることが可能となるため、各モジュールの上端部に各モジュールの合計幅＋各モジュール間スペーシング程度の幅を有する結線領域６０を設けることができる。
【００６５】
例えばデジタルモジュール（シーオブゲートタイプのゲートアレイ領域として実装される）２０を細長いチップの第1の端（図１では半導体集積回路装置１０の左端）に置き、次にＲＯＭ、ＲＡＭ等のメモリモジュール３０−１，３０−１，３０−１を置き、その次にアナログ回路モジュール４０−１，４０−２，４０−３、最後に第２の端（図１では半導体集積回路装置１０の右端）にＬＣＤ制御モジュール５０を置くモジュール配置とする。
【００６６】
これにより、各ブロックから入出力する外部端子は、相互に交差することなく配置が可能になるとともに、独立に電源端子を設け、相互に分離してノイズ等の影響を避けることが可能になる。
【００６７】
図２は、本実施の形態の設計支援システムの構成の一例を説明するための図である。
【００６８】
本実施の形態の設計支援システム２０１は、設計支援システムのサーバ装置３００とユーザーの情報端末２２０（以下、「ユーザー端末」という）を含み、これらが例えばプロバイダと呼ばれる通信取引業者のネットワークを介してインターネット等のネットワーク２１０を介して接続されている。
【００６９】
なおネットワーク２１０の伝送路は、無線の伝送路を含んでいてもよいし、有線の伝送路で接続されていてもよい。また一般回線を使用する場合でもよいし専用回線を使用する場合でもよい。
【００７０】
なお同図において少なくとも設計支援システムのサーバ装置３００を含めばよく、それ以外については任意の構成要素とすることができる。
【００７１】
設計支援システムのサーバ装置３００は、インターネット回線等に接続されてデータの送受信を行う通信装置３１０、ワークステーション等のホストコンピュータ３２０、データベース３５０を含み、Ｗｅｂサーバ等としての機能も備えており、インターネット上でワールド・ワイド・ウェブ（ＷＷＷ）に対応したホームページを開設している。
【００７２】
なお通信装置３１０は、モデム、ターミナルアダプタ、あるいはルーター等によって構成され、電話回線、ＩＳＤＮ回線、あるいは専用線等の通信回線を介して、他のサーバ装置や端末と間でデータの送受信を行う。
【００７３】
情報端末２２０は、例えばユーザーが所有するＰＣ（パーソナルコンピュータ）等の情報通信端末であり、入力部、制御部、表示部、通信部などを備え、ＷＷＷブラウザがインストールされ、インターネットに接続され、ホームページの閲覧が可能な情報端末である。
【００７４】
ユーザーは情報端末２２０から設計支援システムのサーバ装置３００が開設しているサイトのホームページのＵＲＬ（Uniform Resource Locator）を指定することにより、本サイトが提供するホームページにアクセスすることができる。
【００７５】
そして本サイト上の要求仕様選択画面から要求仕様選択入力を行うことができるように構成されている。
【００７６】
図３は本実施形態の設計支援システムのサーバ装置３００の機能ブロック図の一例である。なお以下に説明する本システムのサーバ装置３００の機能は、例えば物理的に複数のコンピュータに分散して持たせて実行させるようにしてもよい。
【００７７】
設計支援システムのサーバ装置３００は、ホストコンピュータ３２０、データベース３５０を含んでいる。
【００７８】
ホストコンピュータは３２０は、処理部３３０と記憶部３２２と情報記憶媒体３２６と送受信部３２４を含んでいる。
【００７９】
送受信部３２４は、端末２２０やデータベース３５０とデータのやり取りをするもので送信機能と受信機能の両方を有するが、送信手段と受信手段とに分散して送受信機能を実現してもよい。
【００８０】
記憶部３２２は処理部３３０や送受信部３２４などのワーク領域となるものでありその機能は例えばＲＡＭ等のハードウエアにより実現される。
【００８１】
処理部３３０は受信した処理要求に基づきどの端末によって送信されたものであるかやどのような配信要求であるか判別し各種処理を行うもので、その機能は、ハードウェア（ＣＰＵ、ＤＳＰ等のプロセッサ又はゲートアレイ等のＡＳＩＣ）とプログラム（ゲームプログラム、又はファームウェア等）との組み合わせにより実現される。但し、処理部１００の機能の全てを、ハードウェアにより実現してもよいし、その全てをプログラムにより実現してもよい。
【００８２】
また処理部３３０は、各端末からの処理要求情報に基づき各端末にホームページ画像を表示するためのコンテンツや画像情報を生成する処理も行う。なお画像情報は、各端末でＷｅｂページを表示できるように例えばＨＴＭＬファイル等のコンテンツ記述言語により記述されたファイルで生成される。
【００８３】
なお処理部３３０はコンテンツのみ生成してユーザーの情報端末に送信し、ユーザーの情報端末で例えばｊａｖａアプレット等で画像生成を行うようにしてもよいし、処理部３３０でＸＭＬで記述されたコンテンツを生成してユーザーの情報端末に送信し、ユーザーの情報端末で画像生成を行うようにしてもよい。
【００８４】
また各種処理要求に基づき、ホームページ上の画像の更新等の各種処理を行う。
【００８５】
処理部３３０は、要求仕様選択入力受け付け部３３２を含む。要求仕様選択入力受け付け部３３２は、例えば図４に示すような要求仕様選択入力受け付け画面（必要なモジュールを選択するためのユーザーインターフェース）をユーザー端末の画面に表示して、ユーザー端末から要求仕様選択入力を受け付ける処理を行う。なお要求仕様選択入力受け付け画面を作成する処理は、ホストコンピュータが行いユーザー端末に送信する構成でもよいし、ユーザー端末で要求仕様選択入力受け付け画面を作成する構成でもよい。後者の場合要求仕様選択入力受け付け部３３２はユーザー端末に存在する事になる。
【００８６】
処理部３３０は、使用モジュール決定部３３８を含む。使用モジュール決定部３３４は、受け付けた要求仕様に基づき、使用するモジュールを決定する。
【００８７】
処理部３３０は、物理的配置処理部３３４を含む。
【００８８】
物理的配置処理部３３４は、決定された使用モジュールのモジュール物理情報をモジュール物理情報記憶部３８０から読み出して、読み出したモジュール物理情報に基づき、使用モジュールのバルク層における配置を決定する物理的配置処理を行う。具体的には、バルク層に設定された、所与の２辺がＸ軸と並行になるような長方形のモジュール配置領域に、少なくとも１つのデジタルモジュールを含むデジタルモジュール群、少なくとも１つのメモリモジュールを含むメモリモジュール群、少なくとも１つのアナログモジュールを含むアナログモジュール群、少なくとも１つの表示ドライバコントローラモジュールを含む表示ドライバコントローラモジュール群が、この順番でＸ軸方向に１次元的に並ぶように配置する処理を行う。
【００８９】
処理部３３０は、論理的接続処理部３３６を含む。論理的接続処理部３３６は、決定された使用モジュールのモジュール論理情報をモジュール論理情報記憶部３７０から読み出して、読み出したモジュール論理情報に基づき、使用モジュール間の論理的接続処理を行う。具体的には、バルク層に設定された、所与の２辺がＸ軸と並行になるような長方形のモジュール配置領域に、少なくとも１つのデジタルモジュールを含むデジタルモジュール群、少なくとも１つのメモリモジュールを含むメモリモジュール群、少なくとも１つのアナログモジュールを含むアナログモジュール群、少なくとも１つの表示ドライバコントローラモジュールを含む表示ドライバコントローラモジュール群が、この順番でＸ軸方向に１次元的に並ぶ構成における使用モジュール間の論理的接続処理を行う。
【００９０】
また物理的配置処理部３３４は、バルク層において、Ｙ軸方向にモジュール配置領域と隣り合う一方の側にアナログインターフェースを配置し、他方の側に結線領域を配置し、論理的接続処理部３３６はバルク層において、Ｙ軸方向にモジュール配置領域と隣り合う一方の側にアナログインターフェースを配置し、他方の側に結線領域を配置した構成における使用モジュール間の論理的接続処理を行うようにしてもよい。
【００９１】
また物理的配置処理部３３４は、バルク層において、アナログインタフェースと表示ドライバコントローラインターフェースとをアナログモジュール群および表示ドライバコントローラモジュール群を挟んでＹ軸方向に対して反対側に配置し、論理的接続処理部３３６は、バルク層において、アナログインタフェースと表示ドライバコントローラインターフェースとをアナログモジュール群および表示ドライバコントローラモジュール群を挟んでＹ軸方向に対して反対側に配置した構成における使用モジュール間の論理的接続処理を行うようにしてもよい。
【００９２】
本実施の形態では、要求仕様選択入力受け付け画面（ユーザインタフェース）で指定されたモジュール情報から以下の前処理（ＧＤＳ−IIデータ生成）をするための複数のソフトウエアモジュールを有しており、このソフトウエアモジュールが動作することにより物理的配置処理部３３４または論理的接続処理部３３６として機能する。
【００９３】
ソフトウエアモジュールの１つとして、メモリモジュールについてあらかじめ準備された容量のモジュールレイアウトデータを単数もしくは複数組み合わせてメモリブロックレイアウトを構成するとともに、必要なメモリアドレスデコーダのＲＴＬコードを自動生成し、Ｂのソフトモジュールに通知するソフトウエア処理モジュールを含む。
【００９４】
またソフトウエアモジュールの他の１つとして、ＲＴＬ等のソフトマクロとして準備されたデジタルモジュール（例えばＣＰＵコア、タイマ、インタラプトコントローラ、ＩＣＥインタフェース、デバックエイド回路等）については、指定の数量、組合わせの各モジュールの必要とするゲート数（マージン含む）を見積り、これに、上記Ａモジュールの生成するアドレスデコーダコードのゲート所要量をくわえて、これをシーオブゲートタイプのＧ／Ａセルを敷き詰めたブロックとして配線層を除くレイアウトデータを自動生成する（縦方向の大きさが決まっているので横幅を決定するだけの簡単な処理で実現可能である）ソフトウエア処理モジュールを含む。
【００９５】
またソフトウエアモジュールの他の１つとして、アナログモジュールについてあらかじめ準備された高さ一定のアナログブロックレイアウトと、必要に応じてブロック間のスペーサ（電源分離、ノイズ隔離等を行う）を組合わせるソフトウエア処理モジュールを含む。
【００９６】
またソフトウエアモジュールの他の１つとして、指定の駆動方式のＬＣＤに関して、指定の個数のドライバ端子を並べるとともに、あらかじめ準備されたレイアウトブロックの中から適合するコントローラを選択して組合わせるソフトウエア処理モジュールを含む。
【００９７】
またソフトウエアモジュールの他の１つとして、内部モジュールの間の相互信号線数をカウントし、必要なバックプレーン幅を決定するソフトウエア処理モジュールを含む。
【００９８】
またソフトウエアモジュールの他の１つとして、デジタルモジュールやアナログモジュールで使用する入出力パッドを配置するソフトウエアモジュールを含む。
【００９９】
またソフトウエアモジュールの他の１つとして、上記各ソフトウエアモジュールの物理的配置処理の結果としてつくられたＧＤＳ−IIデータを全体チップとしてくみ上げるソフトウエア処理モジュールを含む。
【０１００】
上記各ソフトウエアモジュールの実行結果、各モジュールの論理的結合を考慮した「バルク」（配線を除くチップレイアウト）のレイアウト（各モジュールの物理配置設計）が完成するので、工場で前工程開始できるデータが揃う。配線層については、既存のＣＡＥツールにより実施する。
【０１０１】
情報記憶媒体（コンピュータにより使用可能な記憶媒体）３２６は、上記ソフトウエアモジュール等プログラムやデータなどの情報を格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などのハードウェアにより実現できる。
【０１０２】
処理部３３０は、この情報記憶媒体３８０に格納される情報に基づいて本発明（本実施形態）の種々の処理を行う。即ち情報記憶媒体３２６には、本発明（本実施形態）の手段（特に処理部３３０に含まれるブロック）を実行するための情報（プログラム或いはデータ）が格納される。
【０１０３】
なお、上述したその他の機能も情報記憶媒体３２６から情報を読み取って実現することも可能である。
【０１０４】
また情報記録媒体３２６に格納されるプログラム、データ等は、その一部もしくは全部をネットワーク回線などの伝送媒体を介して受信する構成にしてもよい。すなわち、ホストコンピュータ３２０は、情報記憶媒体３２６からではなく、例えば、ネットワークを介して所定のホスト端末装置等から搬送波に具現化された（ｅｍｂｏｄｉｅｄ）形式のプログラム、データ等を受信して上述した種々の機能を実現することも可能である。
【０１０５】
またデータベース３５０は、ホストコンピュータ３２０とデータの送受信を行う送受信部３５２と、モジュール論理情報やモジュール物理情報を利用可能な状態で記憶した情報記憶部３６０とを含んで構成され、モジュール論理情報データベースやモジュール物理情報データベースとして機能する。
【０１０６】
情報記憶部３６０は磁気的、光学的記録媒体や半導体メモリ等のＣＰＵで読み取り可能な記憶媒体であり、例えばＲＡＭ、ハードディスク（磁気ディスク）やフレキシブルディスク、ＣＤ−ＲＯＭ等により実現される。
【０１０７】
ここでモジュール論理情報記憶部３７０は、各モジュールの論理情報（ハードウエア記述）を記憶しており、モジュール論理情報データベースとして機能する。各モジュールの論理情報とは、ハードウエア記述であり、デジタル回路、特に集積回路を設計するためのコンピュータ言語の一種であるVerilog(ベリログ)のＲＴＬ（ハードウエア記述、ベリログの記述レベル）やＶＨＤＬ（VHSIC Hardware Description Language）やシステムＣなどで記述されている。
【０１０８】
モジュール物理情報記憶部３８０は、各モジュールの物理情報（２次元図形データ）を記憶しており、モジュール物理情報データベースとして機能する。
【０１０９】
各モジュールの物理情報とは、２次元図形データであり、例えばＧＤＳIIフォーマット（ＩＣレイアウト設計のためのデータ形式）等で記述されている。
【０１１０】
モジュール物理情報記憶部３８０は、ＸＹ平面上において矩形形状でＹ軸方向の長さを同じくする要素部品として構成された各モジュールの物理情報を記憶している。
【０１１１】
図４は本実施の形態の設計支援システムの要求仕様選択入力受け付け画面の一例を示す図である。
【０１１２】
４１０はＣＰＵコアのタイプについての仕様選択であり、例えば４ビット４１２、８ビット４１４、３２ビット４１６が選択できるように構成してもよい。
【０１１３】
４２０はチップの基本レイアウトタイプについての仕様選択であり、例えば通常４辺パッドタイプ４２２、２辺パッドタイプ４２４、特殊実装タイプ４２６が選択できるように構成されている。また、後工程の実装方法に対応したパッドタイプが選択できるように構成してもよい。本情報により、ワイヤボンディング、バンプ、ＣＯＢの実装タイプが一意に決定される。
【０１１４】
４３０はＲＯＭの構成タイプについての仕様選択であり、例えばＲＯＭタイプ４３２、ＦＬＡＳＨタイプ４３４，ＲＯＭ＋Ｅ２ＰＲＯＭタイプ４３６が選択できるように構成してもよい。ＲＯＭタイプという選択肢になっているが、本情報により、前工程のウエファープロセスが一意に決定される。
【０１１５】
４４０の４４２、４４４はＲＯＭ／ＲＡＭ容量についての仕様選択である。
【０１１６】
ＲＯＭ容量４４２は、選択したＣＰＵコアとＲＯＭ構成タイプにより選択肢が異なるので、選択したＣＰＵコアとＲＯＭ構成タイプに応じたプルダウンメニューが表示され選択するように構成してもよい。
【０１１７】
４ビットのＣＰＵかつＲＯＭタイプが選択された場合には、２ＫＷ（１３ビット幅）を単位として、２Ｋ〜１６ＫＷが選択可能に構成してもよい。４ビットのＣＰＵかつＦＬＡＳＨタイプが選択された場合には、１６ＫＷのみが選択可能に構成してもよい。４ビットのＣＰＵかつＲＯＭ＋Ｅ２ＰＲＯＭタイプが選択された場合には、上記ＲＯＭタイプに４ビット幅ｘ２５６ビットのＥ２ＰＲＯＭ追加されるように構成してもよい。
【０１１８】
８、３２ビットのＣＰＵかつＲＯＭタイプが選択された場合には、８ＫＢを単位として、８Ｋ〜４８ＫＢが選択可能に構成してもよい。８、３２ビットのＣＰＵかつＦＬＡＳＨタイプが選択された場合には、３２ＫＢのみが選択可能に構成してもよい。８、３２ビットのＣＰＵかつＲＯＭ＋Ｅ２ＰＲＯＭタイプが選択された場合には、上記ＲＯＭタイプに８ビット幅ｘ１２８ビットのＥ２ＰＲＯＭ追加されるように構成してもよい。
【０１１９】
ＲＡＭ容量４４４は選択したＣＰＵコアとＲＯＭ構成タイプにより選択肢が異なるので、選択したＣＰＵコアとＲＯＭ構成タイプに応じたプルダウンメニューが表示され選択するように構成してもよい。
【０１２０】
４ビットのＣＰＵが選択された場合には、４ｂｉｔｘ２５６Ｗを単位として、ｍａｘ．１ＫＷ選択可能に構成してもよい。
【０１２１】
８、３２ビットのＣＰＵが選択された場合には、１ＫＢを単位として、ｍａｘ．８ＫＢ選択可能に構成してもよい。
【０１２２】
Display Bufferサイズ４４６は、セグメントタイプ、小容量ドットマトリクス、大容量ドットマトリクスから選択可能に構成してもよい。
【０１２３】
４５０はデジタルペリフェラルについての仕様選択であり、８ビットタイマ×２（４５１）、１６ビットタイマ×１（４５２）、同期シリアル×１（４５３）、同期非同期シリアル×１（４５４）、ＵＡＲＴ×１（４５４）、１線式特殊Ｉ／Ｆ×１（４５６）のいずれか選択可能であり、それらについて更に個数を指定するように構成してもよいする。
【０１２４】
なお割り込みＩ／Ｆ，デバッグ＆ＴＥＳＴ−Ｉ／Ｆについてはデフォルトで指定ＣＰＵタイプに合致したものが取り込まれるようにしてもよい。また、３２ビットＣＰＵ指定の場合のＤＭＡコントローラはＣＰＵに内蔵されるようにしてもよい。
【０１２５】
また図示しないアナログペリフェラルの仕様選択については、８ビットＡ／Ｄｘ２ｃｈ、１２ビットＡ／Ｄｘ２ｃｈ、クーロンカウンタ、バラクタ、LF Receiver、RF Transmitter、ＯｐＡｍｐ、ＰＷＭ＆フィルタ等が選択可能であり、それらについて更に個数を指定するように構成してもよい。
【０１２６】
電源、発振＆クロック、時計タイマについてはデフォルトで指定ＣＰＵタイプとＲＯＭタイプ（プロセス）に合致したものが取り込まれるように構成してもよい。
【０１２７】
図５は本実施の形態の設計支援システムの処理及び流れについて説明するためのフローチャートである。
【０１２８】
まず例えば図４に示すような要求仕様選択画面を出力して要求仕様選択入力を受け付ける要求仕様選択入力処理を行う（ステップＳ１００）。
【０１２９】
受け付けた要求仕様に基づき、使用するモジュールを決定する使用モジュール決定手処理を行う（ステップＳ１１０）。ここで決定されるモジュールは、例えばデジタルモジュール、メモリモジュール、アナログモジュール、表示ドライバコントローラモジュール等の各モジュールやパッド等を含む。
【０１３０】
決定された使用モジュールのモジュール論理情報をモジュール論理情報データベース（モジュール論理情報記憶部）３７０’から読み出して、読み出したモジュール論理情報に基づき、使用モジュール間の論理的接続処理を行う論理的接続処理を行い、チップ論理設計情報４００を出力する（ステップＳ２００）。チップ論理設計情報４００は論理シミュレータによる論理検証、論理合成ツールによる論理合成に用いられる。
【０１３１】
決定された使用モジュールのモジュール物理情報をモジュール物理情報データベース（モジュール物理情報記憶部）３８０’から読み出して、読み出したモジュール物理情報に基づき、使用モジュールのバルク層における配置を決定する物理的配置処理を行い、チップ物理設計情報４１０を出力する（ステップＳ３００）。チップ物理設計情報４１０は配置配線レイアウト検証およびその後のマスク作成に用いられる。
【０１３２】
図６は、要求仕様選択入力処理の流れについて説明するためのフローチャート図である。
【０１３３】
まず要求仕様選択入力を受け付けるための入力フォーム（例えば図４に示すような要求仕様選択画面）を提示する（ＰＣの画面等に表示する）（ステップＳ１１０）。
【０１３４】
次に仕様選択入力を受け付け（ステップＳ１２０）、受け付けた選択仕様をサーバ装置に送信する（ステップＳ１３０）。ユーザー（クライアントシステム）のＨＴＴＰサーバへの接続により、例えば図４に示すような入力フォームをクライアントシステム上のブラウザに表示することで要求仕様を入力させる。要求仕様は、プルダウンメニュー、選択ボタン等により受け付けるようにしてもよい。
【０１３５】
次に、仕様選択入力により受け付けた受け付け仕様を確認する確認フォームを提示して、間違いないか確認する（ステップＳ１４０、ステップＳ１５０）。
【０１３６】
「間違いあり」を示す旨の入力を受け付けた場合には、再びステップＳ１１００〜Ｓ１５０の処置を繰り返し、「間違いなし」を示す旨の入力を受け付けた場合には、次のステップにすすむ（ステップＳ１５０）。プルダウンメニュー、選択ボタン等による入力フォームであるので誤入力の可能性は少ないが、確認のため、サーバで受け付けた条件を再度提示した後、再確認でＯＫとする。
【０１３７】
図７は、論理的接続処理の流れについて説明するためのフローチャート図である。
【０１３８】
まずＣＰＵに関する受け付け仕様に基づき、ＣＰＵのタイプ別に用意されたモジュールデータベースを選択する。
【０１３９】
ＣＰＵタイプによって、データバス、アドレスバスのビット幅、およびデータとプログラムが分離、共通といった違いがあるので、本実施の形態ではモジュール論理情報データベースはＣＰＵのタイプ別に（ここでは、４ビットＣＰＵ用モジュールデータベース、８ビットＣＰＵ用モジュールデータベース、３２ビットＣＰＵ用モジュールデータベース）用意してある。４ビットＣＰＵ用モジュールデータベースには４ビットＣＰＵを使用する半導体集積回路装置に使用される可能性ある各モジュールの論理情報が記憶されており、８ビットＣＰＵ用モジュールデータベースには８ビットＣＰＵを使用する半導体集積回路装置に使用される可能性ある各モジュールの論理情報が記憶されており、３２ビットＣＰＵ用モジュールデータベースには３２ビットＣＰＵを使用する半導体集積回路装置に使用される可能性ある各モジュールの論理情報が記憶されている。
【０１４０】
従って選択仕様入力によりＣＰＵタイプとして４ビットが選択された場合には、４ビットＣＰＵ用モジュールデータベースが選択され（ステップＳ２１０、ステップＳ２２０）、以降使用モジュールの情報は当該データベースから読み出される。
【０１４１】
また選択仕様入力によりＣＰＵタイプとして８ビットが選択された場合には、８ビットＣＰＵ用モジュールデータベースが選択され（ステップＳ２１０、ステップＳ２２２）、以降使用モジュールの情報は当該データベースから読み出される。
【０１４２】
また選択仕様入力によりＣＰＵタイプとして３２ビットが選択された場合には、３２ビットＣＰＵ用モジュールデータベースが選択され（ステップＳ２１０、ステップＳ２２４）、以降使用モジュールの情報は当該データベースから読み出される。
【０１４３】
次に選択仕様に基づき各モジュールＤＢ（論理情報データベース）から選択モジュール（使用モジュールに対応して選択されたモジュールの論理情報であって、実施例ではVerilog言語RTL記述）を抽出する（ステップＳ２３０）。ここでデータベースに格納されている各モジュールは論理的に結合されていないバラバラなモジュールソースコードである。
【０１４４】
つぎにＲＯＭ、ＲＡＭおよび選択されたペリフェラルのレジスタをどのアドレスに配置するかを決定してメモリマップを自動生成する（ステップＳ２４０）。メモリマップ自動生成の具体例については図８で説明する。
【０１４５】
作成したメモリマップに基づき、アドレスデコーダと相互接続配線（トップモジュール）のVerilogソースコードを自動生成する（ステップＳ２５０）。
【０１４６】
上記のアドレスデコーダおよび相互接続配線（トップモジュール）内で抽出済みの各モジュールを必要回呼び出し（インスタンス）相互接続配線の名前参照を決定して全体の論理記述（チップ論理記述）となる（ステップＳ２６０）。
【０１４７】
チップ論理記述は論理シミュレータ等の通常のツールチェーンで処理される（ステップＳ２７０）。
【０１４８】
生成されたチップ論理記述（Verilog RTL）から、デジタル部の見積もり計算を行う（ステップＳ２８０）。具体的にはデジタル部に必要な単位ゲート（ＢＣと呼ぶ）数を見積もる。また、デジタル部と各モジュール間を結ぶ信号線数（バス信号）が決定される。
【０１４９】
次に所要ＰＡＤ数、各辺配置数の見積もり計算を行う（ステップＳ２９０）。選択されたモジュールリストより、各モジュール毎に必要な入出力パッドと事前に設定されている入出力パッド数が集計される。
【０１５０】
なお、論理検証、論理合成、タイミング検証等の設計ステップは、通常の論理シミュレータ、合成ツール等により実施される。
【０１５１】
図８は、メモリマップ生成の具体例について説明するための図である。
【０１５２】
８ビットＣＰＵの場合、ＲＯＭ，ＲＡＭ、ペリフェラルとも、８ビット幅の一つのバスに接続しており、単一のアドレス空間に割り当てる必要がある。
【０１５３】
それぞれ予め決められたＲＯＭ開始アドレス５１０、ＲＡＭ開始アドレス５２０、ペリフェラルレジスタの配置開始アドレス５３０が固定されており、選択されたモジュールを順番に固定アドレスから並べることでメモリマップ５００が出来上がる。なお、ＲＯＭ、ＲＡＭは増設単位毎、ペリフェラルは１６バイト単位で割り当て、ペリフェラルの使わないアドレスは捨てられる。
【０１５４】
図９は、物理的配置処理について説明するための図である。
【０１５５】
物理的配置処理では、決定された使用モジュールの物理情報をモジュールデータベースから読み出して、使用モジュールのバルク層における配置を決定する物理的配置処理を行う。
【０１５６】
まず論理的接続処理で見積もられたＢＣ数に基づき（図７のＳ２７０参照）、デジタル部のベーシックセルを敷き詰める（ステップＳ３１０）。例えば事前に準備されているＳＯＧ型Ｇ／Ａ用ベーシックセル（ＢＣ）を必要個数だけ敷き詰める。その際高さは固定とし、ＢＣ数に応じて横方向（Ｘ方向）のみ延ばして作成する。この横幅（隣り合うモジュールとの分離領域と電源配線を含む）をＤＷとする。作成されたデジタル部をＣＥＬＬとしてテンポラリ座標（０，０）に配置する。
【０１５７】
次にメモリモジュールを配置する（ステップＳ３２０）。事前に準備されているＲＯＭ，ＲＡＭモジュールを必要個数だけ引用し、上記のデジタル部の右側（Ｘ軸正方向）に配置する。その際、最初のメモリモジュール原点は、テンポラリ座標（０，ＤＷ）であり、次のモジュールの座標は、Ｘ＝ＤＷ＋Σ前のメモリモジュールＸ幅となる。
【０１５８】
同様に選択されたアナログモジュール、ＬＣＤドライバコントローラモジュールを配置する（ステップＳ３３０、ステップＳ３４０）。
【０１５９】
次に配線部のＹ幅を決定する（ステップＳ３５０）。
【０１６０】
前ステップ終了時に全内部ブロックをトータルしたＸ幅が、判明しており（因みに内部ブロックのＹ高さは固定で、実施例４ビットＣＰＵでは８００ミクロンである）、これに対して、論理接続処理で見積もられた配線本数に基づき、長方形の配線領域のＹ幅を決定する。
【０１６１】
次にアナログパッドを配置して（ステップＳ３６０）、ＬＣＤドライバパッドを配置して（ステップＳ３７０）、デジタル入出力パッドを配置する（ステップＳ３８０）。
【０１６２】
上記の全内部ブロック＋配線部を包みこむ形に入出力パッドセルを配置していく。本セルについても全てのセルはＹ方向固定サイズにすることで、並べていったときに整合性がとれる。ただし、チップの左右端面にセルを配置する場合はそれぞれ９０°２７０°ローテイトして配置するので、セル内のＸ，Ｙとチップ上でのＸ、Ｙは入れ替わることになる。
【０１６３】
配置は、アナログパッドを最優先でアナログモジュールの下側に配置することから始め、次ぎにＬＣＤドライバパッドを配置し、最後にあまった領域にデジタルパッドを配置する。
【０１６４】
なお、本発明で作成する物理記述は、メタル層を除く拡散層、ポリシリコンゲート層等までである。メタル層以降は通常の自動配線ツールで実施される。
【０１６５】
必要なＩ／Ｏセルを全て配置できれば、Ｘ，Ｙサイズを求めた上でクライアントに仮成功の通知を送る（ステップＳ３９０、Ｓ４１０，Ｓ４２０）。ここでＸサイズは、内部ブロックＸサイズに対して、Ｉ／ＯセルのＹサイズ＊２を加えたものにスクライブ領域の幅を加えることで求まり、Ｙサイズは内部ブロックＹサイズと配線領域ＹサイズにＩ／ＯセルのＹサイズ＊２にやはりスクライブ領域幅を加える。
【０１６６】
クライアントは仮成功の結果の大きさが所望の範囲であればＯＫとして、次ステップへ進めるが、所望でなければ仕様の見直しへ進む（ステップＳ４３０）。
【０１６７】
また、Ｉ／Ｏセルが配置できなかった場合は、不成功なので、同様に見直しへ進む（ステップＳ３９０、Ｓ４００）。
【０１６８】
図１０は、物理ＣＥＬＬの座標配置の入れ子構造について説明するための図である。
【０１６９】
６１２、６１４はモジュールＡ（６１０）を構成する物理セルであり、６２２、６２４、６２６はモジュールＢ（６２０）を構成する物理セルである。
【０１７０】
また６１１は、モジュールＡ（６１０）の原点であり、６２１はモジュールＢ（６２０）の原点ある。このように各モジュール６１０，６２０はモジュールレベルで原点を持つ。
【０１７１】
図１１は、モジュールの内部ブロックへの配置について説明するための図である。
【０１７２】
各モジュール（ＣＥＬＬ）を内部ブロックに配置する。ここで内部ブロックとは、例えば図１におけるモジュール配置領域１４に該当する。各モジュール６１０の内部ブロック内での座標が定まり、モジュール相互の位置が定まる。
【０１７３】
例えばモジュールＡ（６１０）が幅Ｌaで内部ブロックの左端におかれるブロックであり、モジュールＢ（６２０）が幅Ｌｂで対してモジュールＡの左隣（Ｘ軸方向に対して正方向）におかれるモジュールであるとすると、内部ブロックの原点（０，０）に６３０にモジュールＡが配置される。すなわち内部ブロックの原点６３０にモジュールＡ（６１０）の原点（図１０の６１１）がくるようにモジュールＡが配置される。
【０１７４】
またモジュールＡの幅がＬａなので、モジュールＢ（６２０）は内部ブロックの座標（Ｌａ，０）に配置されることになる。
【０１７５】
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
【０１７６】
実施例はＬＣＤドライバを中心としたマイクロコントローラについての適用事例であったが、ｅペーパドライバ等を使ったマイクロコントローラについても適用可能である。また、マイクロコントローラに限らず、固定機能のＡＳＳＰについても適用可能である。
【図面の簡単な説明】
【０１７７】
【図１】本実施の形態の半導体集積回路装置およびそのレイアウト方法について説明するための図である。
【図２】本実施の形態の設計支援システムの構成の一例を説明するための図である。
【図３】本実施形態の設計支援システムのサーバ装置の機能ブロック図の一例である。
【図４】本実施の形態の設計支援システムの要求仕様選択入力受け付け画面の一例を示す図である。
【図５】本実施の形態の設計支援システムの処理及び流れについて説明するためのフローチャートである。
【図６】要求仕様選択入力処理の流れについて説明するためのフローチャート図である。
【図７】論理的接続処理の流れについて説明するためのフローチャート図である。
【図８】メモリマップ生成の具体例について説明するための図である。
【図９】物理的配置処理について説明するための図である。
【図１０】物理ＣＥＬＬの座標配置の入れ子構造について説明するための図である。
【図１１】図１１は、モジュールの内部ブロックへの配置について説明するための図である。
【符号の説明】
【０１７８】
１０  半導体集積回路装置、１２  バルク層、１４  モジュール配置領域、２０  デジタルモジュール、３０−１，３０−２，３０−３  メモリモジュール、４０−１，４０−２，４０−３  アナログモジュール、５９  表示ドライバコントローラモジュール、６０  結線領域、３２−１，３２−２，３２−３  デジタルインターフェース、４２  アナログインターフェース、５２  表示ドライバコントローラインターフェース、２００  設計支援システム音声合成システム、２１０  ネットワーク、２２０  ユーザー端末、３００  設計支援システムのサーバ装置、３１０  通信装置、３２０  ホストコンピュータ、３２２  記憶部、３２４  送受信部、３２６  情報記憶媒体、３３０  処理部、３３２  要求使用選択入力受け付け部、３３４  物理的配置処理部、３３６論理的配置処理部、３３８  使用モジュール決定部、３５０  データベース、３５２  送受信部、３６０  情報記憶部、３７０  モジュール論理情報記憶部、３８０  モジュール物理情報記憶部
【図１】
2008065465.tif 000003
【図２】
2008065465.tif 000004
【図３】
2008065465.tif 000005
【図５】
2008065465.tif 000006
【図６】
2008065465.tif 000007
【図７】
2008065465.tif 000008
【図８】
2008065465.tif 000009
【図９】
2008065465.tif 000010
【図１０】
2008065465.tif 000011
【図１１】
2008065465.tif 000012
【図４】
2008065465.tif 000013