JP2008065465A - 半導体集積回路装置、半導体集積回路装置のレイアウト方法、設計支援システム及びプログラム - Google Patents

半導体集積回路装置、半導体集積回路装置のレイアウト方法、設計支援システム及びプログラム Download PDF

Info

Publication number
JP2008065465A
JP2008065465A JP2006240523A JP2006240523A JP2008065465A JP 2008065465 A JP2008065465 A JP 2008065465A JP 2006240523 A JP2006240523 A JP 2006240523A JP 2006240523 A JP2006240523 A JP 2006240523A JP 2008065465 A JP2008065465 A JP 2008065465A
Authority
JP
Japan
Prior art keywords
module
analog
display driver
driver controller
axis direction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2006240523A
Other languages
English (en)
Inventor
Masamichi Izumida
正道 泉田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2006240523A priority Critical patent/JP2008065465A/ja
Publication of JP2008065465A publication Critical patent/JP2008065465A/ja
Withdrawn legal-status Critical Current

Links

Abstract

【課題】デジタル、アナログ、表示ドライバコントローラの各モジュールを含む半導体集積回路装置において、端子の配置や対ノイズ性を考慮したレイアウト設計を行うこと。
【解決手段】設計支援システムであって、モジュール物理情報記憶部380と、モジュール論理情報記憶部370と、要求仕様選択入力受け付け手段332と、使用モジュール決定手段338と、使用モジュールのバルク層における配置を決定する物理的配置処理を行う物理的配置処理手段334と、使用モジュール間の論理的接続処理を行う論理的接続処理手段336とを含む。高さを同じくするモジュールの物理情報を記憶し、バルク層に設定された、所与の2辺がX軸と並行になるような長方形のモジュール配置領域に、デジタルモジュール群、メモリモジュール群、アナログモジュール群、表示ドライバコントローラモジュール群がこの順番でX軸方向に1次元的に並ぶように配置する。
【選択図】図1

Description

本発明は、半導体集積回路装置、半導体集積回路装置のレイアウト方法、設計支援システム及びプログラムに関する。
半導体集積回路装置の設計では、多くの組合わせの考えられる仕様を短納期で実現するために、各要素部品をモジュールとし、それを組み合わせて設計を行うモジュラー設計そのものは、非常に古くからある概念であり、用途に応じて異なるメモリ容量や異なるI/Oインタフェース回路の種々の組合わせを実現しなければならないマイクロコントローラで一般的なものである。
また、カスタムICの設計において、チップサイズなどからくるコストを算出するために、Webベースでデータベースを操作して設計見積もりをおこなうシステムなども存在する。
特開平11−307644号公報
モジュラー設計技術は多々あるものの、液晶ディスプレイドライバを搭載したマイクロコントローラについて、その特有の問題である、マイクロコントローラのチップ面積に比べてドライバ端子数がアンバランスに多くなること、液晶パネルとの接続を安価なボードおよびコネクタ類で構成しようとするとパネルの構造に適合したような端子配置が必要になること、液晶ディスプレイドライバ以外のマイクロコントローラの端子、特にアナログ入出力端子の配置には対ノイズ性などの特有の考慮を要すること、という問題について特に対処した技術は存在していなかった。
また、Webベースの設計見積もりシステムなども存在するが、上記のようなマイクロコントローラに対して、最下層のレイアウト設計を自動的に行うところまで行うような設計支援システムは存在していなかった。
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、デジタルモジュールとアナログモジュールと表示ドライバコントローラモジュールを含む半導体集積回路装置において、端子の配置や対ノイズ性を考慮したレイアウト構造を有する半導体集積回路装置、そのレイアウト方法、設計支援システム及びプログラムを提供することである。
(1)本発明は、
デジタルモジュール、メモリモジュール、アナログモジュール、表示ドライバコントローラモジュールを含む半導体集積回路装置のレイアウト設計を行う設計支援システムであって、
各モジュールの物理情報を記憶するモジュール物理情報記憶部と、
各モジュールの論理情報を記憶するモジュール論理情報記憶部と、
要求仕様選択画面を出力して要求仕様選択入力を受け付ける要求仕様選択入力受け付け手段と、
受け付けた要求仕様に基づき、使用するモジュールを決定する使用モジュール決定手段と、
決定された使用モジュールのモジュール物理情報をモジュール物理情報記憶部から読み出して、読み出したモジュール物理情報に基づき、使用モジュールのバルク層における配置を決定する物理的配置処理を行う物理的配置処理手段と、
決定された使用モジュールのモジュール論理情報をモジュール論理情報記憶部から読み出して、読み出したモジュール論理情報に基づき、使用モジュール間の論理的接続処理を行う論理的接続処理手段と、を含み、
前記モジュール物理情報記憶部は、
XY平面上においてY軸方向の長さを同じくするモジュールとして構成された各モジュールの物理情報を記憶し、
前記物理的配置処理手段は、
バルク層に設定された、所与の2辺がX軸と並行になるような長方形のモジュール配置領域に、少なくとも1つのデジタルモジュールを含むデジタルモジュール群、少なくとも1つのメモリモジュールを含むメモリモジュール群、少なくとも1つのアナログモジュールを含むアナログモジュール群、少なくとも1つの表示ドライバコントローラモジュールを含む表示ドライバコントローラモジュール群が、この順番でX軸方向に1次元的に並ぶように配置し、
論理的接続処理手段は、
バルク層に設定された、所与の2辺がX軸と並行になるような長方形のモジュール配置領域に、少なくとも1つのデジタルモジュールを含むデジタルモジュール群、少なくとも1つのメモリモジュールを含むメモリモジュール群、少なくとも1つのアナログモジュールを含むアナログモジュール群、少なくとも1つの表示ドライバコントローラモジュールを含む表示ドライバコントローラモジュール群が、この順番でX軸方向に1次元的に並ぶ構成における使用モジュール間の論理的接続処理を行うことを特徴とする。
ここでモジュールとは、デジタルモジュール、メモリモジュール、アナログモジュール、表示ドライバコントローラモジュール等の各モジュールを含むが、他にアナログパッド、表示ドライバコントローラパッド、デジタルパッド等のパッドも含むようにしてもよい。
要求使用は、例えばPCの画面に要求使用選択画面を出力し、ユーザーに選択入力を行わせる事によって受け付けるようにしてもよい。
例えばデジタルモジュール、メモリモジュール、アナログモジュール、表示ドライバコントローラモジュール等の各モジュールやパッド等について選択肢を提示して選択入力を受け付けることによって、これらの要求仕様をうけつけるようにしてもよい。
デジタルモジュールの要求仕様とは、例えばプロセッサのタイプや使用するデジタルペリフェラルの種類(タイマ、同期、非同期シリアル)等である。メモリモジュールの要求仕様とは、例えばROM容量やRAM容量等である。アナログモジュールの要求仕様とは、例えば使用するアナログペリフェラルの種類(A/D、オペアンプ、バラクタ、LFレシーバー、RFトランスミッター、PWM&フィルタ)や内容である。表示ドライバコントローラモジュールの要求仕様とは、例えばLCDディスプレイのバッファサイズ等である。
各モジュールの物理情報とは、2次元図形データであり、例えばGDSIIフォーマット(ICレイアウト設計のためのデータ形式)等で記述されている。
各モジュールの論理情報とは、ハードウエア記述であり、デジタル回路、特に集積回路を設計するためのコンピュータ言語の一種であるVerilog(ベリログ)のRTL(ハードウエア記述、ベリログの記述レベル)やVHDL(VHSIC Hardware Description Language)やシステムCなどで記述されている。
物理的配置処理とは、使用モジュールやパッド等の配置座標の決定処理等を含む。
使用モジュール間の論理的接続処理とは、例えば各モジュールで使用するROM、RAM、レジスタのアドレス空間への割付(メモリマップの作成)や各モジュールの端子間の接続や相互接続配線等の処理を含む。
本発明によれば、従来は、個別に回路設計、レイアウト設計していた液晶ディスプレイドライバ、アナログインターフェース回路を混載した4,8ビットマイクロコントローラについて、その要求される特性を満たしつつ、仕様からほとんど自動で基本的な設計を完了できることになり、大幅に省力化が可能となった。
また本発明によれば、半導体集積回路装置は細長い形状(Y軸方向の長さである高さをH、X軸方向の長さである幅をLとするとH<Lとなる)のチップレイアウトとなるため、面積に対してチップ辺長の総和が多くとれる。このため、正方形のチップと比べ、チップ面積に比べてドライバ端子数がアンバランスに多い半導体集積回路装置のパッド配置に適合しており、該当する半導体集積回路装置の回路設計の自動化上有利である。
また本発明ではデジタルモジュール、メモリモジュール、アナログモジュール、表示ドライバコントローラモジュール等の各モジュールがすべて固定の高さを持つので、各モジュールの並べ方は1次元的に配置することになり、面積に対してチップ辺長の総和が多くとれ、パッド配置が行いやすく、各モジュールの上端にモジュール間インターフェース信号および内部電源配線を集中させることが可能となり、自動設計を行いやすい。
(2)本発明の設計支援システムは、
前記物理的配置処理手段は、
バルク層において、Y軸方向にモジュール配置領域と隣り合う一方の側にアナログインターフェースを配置し、他方の側に結線領域を配置し、
論理的接続処理手段は、
バルク層において、Y軸方向にモジュール配置領域と隣り合う一方の側にアナログインターフェースを配置し、他方の側に結線領域を配置した構成における使用モジュール間の論理的接続処理を行うことを特徴とする。
本発明によれば、各ブロックから入出力する外部端子は、相互に交差することなく配置が可能になるとともに、独立に電源端子を設け、相互に分離してノイズ等の影響を避けることができる半導体集積回路装置の回路設計を自動で行うことが可能となる。
(3)本発明の設計支援システムは、
前記物理的配置処理手段は、
バルク層において、アナログインタフェースと表示ドライバコントローラインターフェースとをアナログモジュール群および表示ドライバコントローラモジュール群を挟んでY軸方向に対して反対側に配置し、
論理的接続処理手段は、
バルク層において、アナログインタフェースと表示ドライバコントローラインターフェースとをアナログモジュール群および表示ドライバコントローラモジュール群を挟んでY軸方向に対して反対側に配置した構成における使用モジュール間の論理的接続処理を行うことを特徴とする。
(4)本発明は、
デジタルモジュール、メモリモジュール、アナログモジュール、表示ドライバコントローラモジュールを含む半導体集積回路装置のレイアウト設計を行う設計支援システムを実現するためのプログラムであって、
各モジュールの物理情報を記憶するモジュール物理情報記憶部と、
各モジュールの論理情報を記憶するモジュール論理情報記憶部と、
要求仕様選択画面を出力して要求仕様選択入力を受け付ける要求仕様選択入力受け付け手段と、
受け付けた要求仕様に基づき、使用するモジュールを決定する使用モジュール決定手段と、
決定された使用モジュールのモジュール物理情報をモジュール物理情報記憶部から読み出して、読み出したモジュール物理情報に基づき、使用モジュールのバルク層における配置を決定する物理的配置処理を行う物理的配置処理手段と、
決定された使用モジュールのモジュール論理情報をモジュール論理情報記憶部から読み出して、読み出したモジュール論理情報に基づき、使用モジュール間の論理的接続処理を行う論理的接続処理手段と、してコンピュータを機能させ、
前記モジュール物理情報記憶部は、
XY平面上においてY軸方向の長さを同じくするモジュールとして構成された各モジュールの物理情報を記憶し、
前記物理的配置処理手段は、
バルク層に設定された、所与の2辺がX軸と並行になるような長方形のモジュール配置領域に、少なくとも1つのデジタルモジュールを含むデジタルモジュール群、少なくとも1つのメモリモジュールを含むメモリモジュール群、少なくとも1つのアナログモジュールを含むアナログモジュール群、少なくとも1つの表示ドライバコントローラモジュールを含む表示ドライバコントローラモジュール群が、この順番でX軸方向に1次元的に並ぶように配置し、
論理的接続処理手段は、
バルク層に設定された、所与の2辺がX軸と並行になるような長方形のモジュール配置領域に、少なくとも1つのデジタルモジュールを含むデジタルモジュール群、少なくとも1つのメモリモジュールを含むメモリモジュール群、少なくとも1つのアナログモジュールを含むアナログモジュール群、少なくとも1つの表示ドライバコントローラモジュールを含む表示ドライバコントローラモジュール群が、この順番でX軸方向に1次元的に並ぶ構成における使用モジュール間の論理的接続処理を行うことを特徴とする。
(5)本発明のプログラムは、
前記物理的配置処理手段は、
バルク層において、Y軸方向にモジュール配置領域と隣り合う一方の側にアナログインターフェースを配置し、他方の側に結線領域を配置し、
論理的接続処理手段は、
バルク層において、Y軸方向にモジュール配置領域と隣り合う一方の側にアナログインターフェースを配置し、他方の側に結線領域を配置した構成における使用モジュール間の論理的接続処理を行うことを特徴とする。
(6)本発明のプログラムは、
前記物理的配置処理手段は、
バルク層において、アナログインタフェースと表示ドライバコントローラインターフェースとをアナログモジュール群および表示ドライバコントローラモジュール群を挟んでY軸方向に対して反対側に配置し、
論理的接続処理手段は、
バルク層において、アナログインタフェースと表示ドライバコントローラインターフェースとをアナログモジュール群および表示ドライバコントローラモジュール群を挟んでY軸方向に対して反対側に配置した構成における使用モジュール間の論理的接続処理を行うことを特徴とする。
(7)本発明は、
デジタルモジュール、メモリモジュール、アナログモジュール、表示ドライバコントローラモジュールを含む半導体集積回路装置であって、
デジタルモジュール、メモリモジュール、アナログモジュール、表示ドライバコントローラモジュールはXY平面上においてY軸方向の長さを同じくするモジュールとして構成され、
バルク層に設定された、所与の2辺がX軸と並行になるような長方形のモジュール配置領域に、少なくとも1つのデジタルモジュールを含むデジタルモジュール群、少なくとも1つのメモリモジュールを含むメモリモジュール群、少なくとも1つのアナログモジュールを含むアナログモジュール群、少なくとも1つの表示ドライバコントローラモジュールを含む表示ドライバコントローラモジュール群が、この順番でX軸方向に1次元的に並んで配置されていることを特徴とする。
半導体集積回路装置とは例えばシングルチップマイクロコンピュータでもよい。
XY平面上においてY軸方向の長さを同じくするとは例えばモジュール高さが同じ場合である。
デジタルモジュールとは、例えばプロセッサコアやデジタルペリフェラルを含むモジュールである。メモリモジュールとは例えばRAMモジュールやROMモジュールである。アナログモジュールとは、例えばA/Dコンバータや、OPアンプ等のアナログペリフェラルを含むモジュールである。
表示ドライバコントローラモジュール例えばLCD、eペーパー等のドライバコントローラモジュールである。
デジタルモジュールとメモリモジュールとアナログモジュールと表示ドライバコントローラモジュールはXY平面上において矩形形状(例えば長方形)をしておりY軸方向の長さ(高さ)を同じくするようなモジュールとして構成することができる。
モジュール配置領域は、縦の長さ(Y軸方向の長さ、高さ)が各モジュールの高さ(Y軸方向の長さ)で、横の長さ(X軸方向の長さ)が各モジュールの幅の総和により決定される長方形の領域であり、各モジュールをX軸方向に1次元的に配置するための領域である。
X軸方向に順に並んで配置されるとは、X軸正方向に順に並んで配置される構成でもよいし、X軸負方向に順に並んで配置される並ぶ構成でもよい。
少なくとも1つのデジタルモジュールを含むデジタルモジュール群とは、例えば少なくとも1つのデジタルモジュールをX軸方向に1次元的に配置したデジタルモジュール群でもよい。また少なくとも1つのメモリモジュールを含むメモリモジュール群とは、例えば少なくとも1つのメモリモジュールをX軸方向に1次元的に配置したメモリモジュール群でもよい。また少なくとも1つのアナログモジュールを含むアナログモジュール群とは、例えば少なくとも1つのアナログモジュールをX軸方向に1次元的に配置したアナログモジュール群でもよい。また少なくとも1つの表示ドライバコントローラモジュールを含む表示ドライバコントローラモジュール群とは、例えば少なくとも1つの表示ドライバコントローラモジュールをX軸方向に1次元的に配置した表示ドライバコントローラモジュール群でもよい。
バルク層のモジュール配置領域に配置されるデジタルモジュール群は少なくとも1つのデジタルモジュールを含み、複数のデジタルモジュールを含む場合には、複数のデジタルモジュール間にデジタルモジュール以外のモジュールが混在しないように配置されている。デジタルモジュール群はモジュール配置領域のX軸方向の一方の端(例えば左端)に配置される。
バルク層のモジュール配置領域に配置されるメモリモジュール群は少なくとも1つのメモリモジュールを含み、複数のメモリモジュールを含む場合には、複数のメモリモジュール間にメモリモジュール以外のモジュールが混在しないように配置されている。メモリモジュール群はモジュール配置領域においてデジタルモジュール群とアナログモジュール群の間に配置される。
バルク層のモジュール配置領域に配置されるアナログモジュール群は少なくとも1つのアナログモジュールを含み、複数のアナログモジュールを含む場合には、複数のアナログモジュール間にアナログモジュール以外のモジュールが混在しないように配置されている。アナログモジュール群はモジュール配置領域においてメモリモジュール群と表示ドライバコントローラモジュール群の間に配置される。
バルク層のモジュール配置領域に配置される表示ドライバコントローラモジュール群は少なくとも1つの表示ドライバコントローラモジュールを含み、複数の表示ドライバコントローラモジュールを含む場合には、複数の表示ドライバコントローラモジュール間に表示ドライバコントローラモジュール以外のモジュールが混在しないように配置されている。表示ドライバコントローラモジュール群はモジュール配置領域のX軸方向の他方の端(例えば左端)に配置される。
本発明の半導体集積回路装置のように、表示ドライバコントローラモジュールを含む場合には、多数の表示ドライバコントローラモジュールの端子を配置しなければならないためチップ面積に対して多数の端子が必要である。
本発明によれば、半導体集積回路装置は細長い形状(Y軸方向の長さである高さをH、X軸方向の長さである幅をLとするとH<Lとなる)のチップレイアウトとなるため、面積に対してチップ辺長の総和が多くとれる。このため、正方形のチップと比べ、チップ面積に比べてドライバ端子数がアンバランスに多い半導体集積回路装置のパッド配置に適合している。
またデジタルモジュールとメモリモジュールとアナログモジュールと表示ドライバコントローラモジュールはXY平面上においてはすべて固定の高さを持つモジュールであるためこれらのモジュールをモジュール配置領域にX軸方向に1次元的に配置することが可能になる。
(8)本発明の半導体集積回路装置は、
アナログインターフェース、結線領域を含み、
バルク層において、Y軸方向にモジュール配置領域と隣り合う一方の側にアナログインターフェースが配置され、他方の側に結線領域が配置されていることを特徴とする。
ここにおいてアナログインターフェースや表示ドライバコントローラインターフェースとは、例えばアナログPADや表示ドライバコントローラPADである。
なおアナログインターフェースは、半導体集積回路装置のX軸と並行ないずれか1辺の少なくとも1部に沿って、または少なくとも1部に隣接する領域(アナログモジュールに近い領域)に設けるようにしてもよい。
また半導体集積回路装置のX軸と並行ないずれか1辺の少なくとも1部に沿って、または少なくとも1部に隣接する領域(デジタルモジュールに近い領域)にデジタルインターフェースを設けるようにしてもよい。
バルク層のいずれかの領域において、X軸と並行ないずれか1辺、アナログインターフェース、モジュール配置領域、結線領域がY軸正又は負方向にこの順で並んで配置される半導体集積回路装置は本発明の範囲内である。
本発明によれば、チップ内のグローバルな結線領域とアナログインターフェースとがモジュール配置領域を挟んでY軸方向に反対側に位置する(一方の側と他方の側、例えばY軸方向にモジュール配置領域の上側と下側に位置する)ので、液晶ディスプレイドライバ以外のマイクロコントローラの端子、特に対ノイズ性などの特有の考慮を要するアナログ入出力端子の配置上、該当端子とアナログモジュールとの内部ローカル結線とグローバルな内部結線(バスおよび電源)とが交叉することなく、それぞれ容易に接続することができる。
また上記各モジュールの上端(モジュール配置領域の他方の側)にモジュール間インターフェース信号および内部電源配線を集中させることが可能となるため、各モジュールの上端部に各モジュールの合計幅+各モジュール間の距離程度の幅を有する結線領域を設けることができる。
これにより、各ブロックから入出力する外部端子は、相互に交差することなく配置が可能になるとともに、独立に電源端子を設け、相互に分離してノイズ等の影響を避けることが可能になる。
(9)本発明の半導体集積回路装置は、
前記半導体集積回路装置は表示ドライバコントローラインターフェースを含み、
バルク層において、アナログインタフェースと表示ドライバコントローラインターフェースとがアナログモジュール群および表示ドライバコントローラモジュール群を挟んでY軸方向に対して反対側に配置されていることを特徴とする。
表示ドライバコントローラインターフェースがX軸方向に表示ドライバコントローラモジュール群と隣り合う領域に配置されている構成は本発明の範囲内である。
(10)本発明は、
デジタルモジュール、メモリモジュール、アナログモジュール、表示ドライバコントローラモジュールを含む半導体集積回路装置のレイアウト方法であって、
デジタルモジュール、メモリモジュール、アナログモジュール、表示ドライバコントローラモジュールはXY平面上においてY軸方向の長さを同じくするモジュールとして構成し、
バルク層に設定された、所与の2辺がX軸と並行になるような長方形のモジュール配置領域に、少なくとも1つのデジタルモジュールを含むデジタルモジュール群、少なくとも1つのメモリモジュールを含むメモリモジュール群、少なくとも1つのアナログモジュールを含むアナログモジュール群、少なくとも1つの表示ドライバコントローラモジュールを含む表示ドライバコントローラモジュール群が、この順番でX軸方向に1次元的に並ぶように配置することを特徴とする。
(11)本発明の半導体集積回路装置のレイアウト方法は、
バルク層において、Y軸方向にモジュール配置領域と隣り合う一方の側にアナログインターフェースを配置し、他方の側に結線領域を配置することを特徴とする。
(12)本発明の半導体集積回路装置のレイアウト方法は、
バルク層において、アナログインタフェースと表示ドライバコントローラインターフェースとをアナログモジュール群および表示ドライバコントローラモジュール群を挟んでY軸方向に対して反対側に配置することを特徴とする。
以下、本発明の好適な実施の形態について図面を用いて詳細に説明する。なお以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成の全てが本発明の必須構成要件であるとは限らない。
図1は、本実施の形態の半導体集積回路装置およびそのレイアウト方法について説明するための図である。
本実施の形態の半導体集積回路装置10は、デジタルモジュール(プロセッサコアとデジタルペリフェラル)20、メモリモジュール(ROMモジュールやRAMモジュール)30−1、30−2,30−3、アナログモジュール40−1、40−2,40−3、表示ドライバコントローラモジュール50(LCDドライバコントローラもしくはeペーパードライバコントローラ)を含むシングルチップマイクロコンピュータである。
デジタルモジュール20とメモリモジュール(プロセッサコアとデジタルペリフェラル)30−1,30−2,30−3とアナログモジュール(ROMモジュールやRAMモジュール)40−1,40−2,40−3と表示ドライバコントローラモジュール(LCD、eペーパー)50は、XY平面上においてY軸方向の長さを同じくするモジュールとして構成され(XY平面上においては矩形形状(略長方形)で構成されるようにしてもよい)、バルク層12に設定された、所与の2辺がX軸と並行になるような長方形のモジュール配置領域14に、少なくとも1つのデジタルモジュールを含むデジタルモジュール群(20)、少なくとも1つのメモリモジュールを含むメモリモジュール群(30−1、30−2、30−3)、少なくとも1つのアナログモジュールを含むアナログモジュール群(40−1、40−2、40−3)、少なくとも1つの表示ドライバコントローラモジュールを含む表示ドライバコントローラモジュール群(50)が、この順番でX軸方向に1次元的に並んで配置されている。
また半導体集積回路装置10は、アナログインターフェース(アナログPAD)42、結線領域60、表示ドライバコントローラインターフェース52を含む。バルク層12において、Y軸方向にモジュール配置領域14と隣り合う一方の側にアナログインターフェース42が配置され、他方の側に結線領域60が配置されているようにしてもよい。
また半導体集積回路装置10は表示ドライバコントローラインターフェース52を含む。バルク層12において、アナログモジュール(40−1、40−2、40−3)に接続するアナログインタフェース42と表示ドライバコントローラインターフェース52とが表示ドライバコントローラモジュール群50を挟んでY軸方向に対して反対側に配置されるようにしてもよい。
また表示ドライバコントローラインターフェース52は、半導体集積回路装置10のアナログインターフェース42やデジタルインターフェース32−1、32−2、32−3が隣接する辺以外の1辺から3辺に隣接するように配置してもよい。(図1は3辺に隣接ずるケースである)。
同図に示すように、本実施の形態では細長い形状(Y軸方向の長さである高さをH、X軸方向の長さである幅をLとするとH<Lとなる)のチップレイアウトとなる。本実施の形態の半導体集積回路装置は、表示ドライバコントローラモジュール50を含むので、多数の表示ドライバコントローラモジュールの端子を配置しなければならないためチップ面積に対して多数の端子が必要である。
従って正方形よりも縦横比の大きな長方形にする方が面積に対してチップ辺長の総和が多くとれ、パッド配置が行いやすいという利点がある。従ってマイクロコントローラのチップ面積に比べてドライバ端子数がアンバランスに多い場合でも対応することができる。
またデジタルモジュール20とメモリモジュール(30−1,30−2,30−3)とアナログモジュール(40−1,40−2,40−3)と表示ドライバコントローラモジュール50はXY平面上においてはすべて固定の高さを持つ内部モジュールである。このためこれらのモジュールをX軸方向に1次元的に配置することが可能になる。液晶ディスプレイドライバ以外のマイクロコントローラの端子、特に対ノイズ性などの特有の考慮を要するアナログ入出力端子およびそれら端子へのローカル結線とノイズ源となるグローバル内部結線(バス、クロックラインおよびデジタル電源)とが交叉することなく、それぞれの接続も容易である。
また上記各モジュールの上端にモジュール間インターフェース信号および内部電源配線を集中させることが可能となるため、各モジュールの上端部に各モジュールの合計幅+各モジュール間スペーシング程度の幅を有する結線領域60を設けることができる。
例えばデジタルモジュール(シーオブゲートタイプのゲートアレイ領域として実装される)20を細長いチップの第1の端(図1では半導体集積回路装置10の左端)に置き、次にROM、RAM等のメモリモジュール30−1,30−1,30−1を置き、その次にアナログ回路モジュール40−1,40−2,40−3、最後に第2の端(図1では半導体集積回路装置10の右端)にLCD制御モジュール50を置くモジュール配置とする。
これにより、各ブロックから入出力する外部端子は、相互に交差することなく配置が可能になるとともに、独立に電源端子を設け、相互に分離してノイズ等の影響を避けることが可能になる。
図2は、本実施の形態の設計支援システムの構成の一例を説明するための図である。
本実施の形態の設計支援システム201は、設計支援システムのサーバ装置300とユーザーの情報端末220(以下、「ユーザー端末」という)を含み、これらが例えばプロバイダと呼ばれる通信取引業者のネットワークを介してインターネット等のネットワーク210を介して接続されている。
なおネットワーク210の伝送路は、無線の伝送路を含んでいてもよいし、有線の伝送路で接続されていてもよい。また一般回線を使用する場合でもよいし専用回線を使用する場合でもよい。
なお同図において少なくとも設計支援システムのサーバ装置300を含めばよく、それ以外については任意の構成要素とすることができる。
設計支援システムのサーバ装置300は、インターネット回線等に接続されてデータの送受信を行う通信装置310、ワークステーション等のホストコンピュータ320、データベース350を含み、Webサーバ等としての機能も備えており、インターネット上でワールド・ワイド・ウェブ(WWW)に対応したホームページを開設している。
なお通信装置310は、モデム、ターミナルアダプタ、あるいはルーター等によって構成され、電話回線、ISDN回線、あるいは専用線等の通信回線を介して、他のサーバ装置や端末と間でデータの送受信を行う。
情報端末220は、例えばユーザーが所有するPC(パーソナルコンピュータ)等の情報通信端末であり、入力部、制御部、表示部、通信部などを備え、WWWブラウザがインストールされ、インターネットに接続され、ホームページの閲覧が可能な情報端末である。
ユーザーは情報端末220から設計支援システムのサーバ装置300が開設しているサイトのホームページのURL(Uniform Resource Locator)を指定することにより、本サイトが提供するホームページにアクセスすることができる。
そして本サイト上の要求仕様選択画面から要求仕様選択入力を行うことができるように構成されている。
図3は本実施形態の設計支援システムのサーバ装置300の機能ブロック図の一例である。なお以下に説明する本システムのサーバ装置300の機能は、例えば物理的に複数のコンピュータに分散して持たせて実行させるようにしてもよい。
設計支援システムのサーバ装置300は、ホストコンピュータ320、データベース350を含んでいる。
ホストコンピュータは320は、処理部330と記憶部322と情報記憶媒体326と送受信部324を含んでいる。
送受信部324は、端末220やデータベース350とデータのやり取りをするもので送信機能と受信機能の両方を有するが、送信手段と受信手段とに分散して送受信機能を実現してもよい。
記憶部322は処理部330や送受信部324などのワーク領域となるものでありその機能は例えばRAM等のハードウエアにより実現される。
処理部330は受信した処理要求に基づきどの端末によって送信されたものであるかやどのような配信要求であるか判別し各種処理を行うもので、その機能は、ハードウェア(CPU、DSP等のプロセッサ又はゲートアレイ等のASIC)とプログラム(ゲームプログラム、又はファームウェア等)との組み合わせにより実現される。但し、処理部100の機能の全てを、ハードウェアにより実現してもよいし、その全てをプログラムにより実現してもよい。
また処理部330は、各端末からの処理要求情報に基づき各端末にホームページ画像を表示するためのコンテンツや画像情報を生成する処理も行う。なお画像情報は、各端末でWebページを表示できるように例えばHTMLファイル等のコンテンツ記述言語により記述されたファイルで生成される。
なお処理部330はコンテンツのみ生成してユーザーの情報端末に送信し、ユーザーの情報端末で例えばjavaアプレット等で画像生成を行うようにしてもよいし、処理部330でXMLで記述されたコンテンツを生成してユーザーの情報端末に送信し、ユーザーの情報端末で画像生成を行うようにしてもよい。
また各種処理要求に基づき、ホームページ上の画像の更新等の各種処理を行う。
処理部330は、要求仕様選択入力受け付け部332を含む。要求仕様選択入力受け付け部332は、例えば図4に示すような要求仕様選択入力受け付け画面(必要なモジュールを選択するためのユーザーインターフェース)をユーザー端末の画面に表示して、ユーザー端末から要求仕様選択入力を受け付ける処理を行う。なお要求仕様選択入力受け付け画面を作成する処理は、ホストコンピュータが行いユーザー端末に送信する構成でもよいし、ユーザー端末で要求仕様選択入力受け付け画面を作成する構成でもよい。後者の場合要求仕様選択入力受け付け部332はユーザー端末に存在する事になる。
処理部330は、使用モジュール決定部338を含む。使用モジュール決定部334は、受け付けた要求仕様に基づき、使用するモジュールを決定する。
処理部330は、物理的配置処理部334を含む。
物理的配置処理部334は、決定された使用モジュールのモジュール物理情報をモジュール物理情報記憶部380から読み出して、読み出したモジュール物理情報に基づき、使用モジュールのバルク層における配置を決定する物理的配置処理を行う。具体的には、バルク層に設定された、所与の2辺がX軸と並行になるような長方形のモジュール配置領域に、少なくとも1つのデジタルモジュールを含むデジタルモジュール群、少なくとも1つのメモリモジュールを含むメモリモジュール群、少なくとも1つのアナログモジュールを含むアナログモジュール群、少なくとも1つの表示ドライバコントローラモジュールを含む表示ドライバコントローラモジュール群が、この順番でX軸方向に1次元的に並ぶように配置する処理を行う。
処理部330は、論理的接続処理部336を含む。論理的接続処理部336は、決定された使用モジュールのモジュール論理情報をモジュール論理情報記憶部370から読み出して、読み出したモジュール論理情報に基づき、使用モジュール間の論理的接続処理を行う。具体的には、バルク層に設定された、所与の2辺がX軸と並行になるような長方形のモジュール配置領域に、少なくとも1つのデジタルモジュールを含むデジタルモジュール群、少なくとも1つのメモリモジュールを含むメモリモジュール群、少なくとも1つのアナログモジュールを含むアナログモジュール群、少なくとも1つの表示ドライバコントローラモジュールを含む表示ドライバコントローラモジュール群が、この順番でX軸方向に1次元的に並ぶ構成における使用モジュール間の論理的接続処理を行う。
また物理的配置処理部334は、バルク層において、Y軸方向にモジュール配置領域と隣り合う一方の側にアナログインターフェースを配置し、他方の側に結線領域を配置し、論理的接続処理部336はバルク層において、Y軸方向にモジュール配置領域と隣り合う一方の側にアナログインターフェースを配置し、他方の側に結線領域を配置した構成における使用モジュール間の論理的接続処理を行うようにしてもよい。
また物理的配置処理部334は、バルク層において、アナログインタフェースと表示ドライバコントローラインターフェースとをアナログモジュール群および表示ドライバコントローラモジュール群を挟んでY軸方向に対して反対側に配置し、論理的接続処理部336は、バルク層において、アナログインタフェースと表示ドライバコントローラインターフェースとをアナログモジュール群および表示ドライバコントローラモジュール群を挟んでY軸方向に対して反対側に配置した構成における使用モジュール間の論理的接続処理を行うようにしてもよい。
本実施の形態では、要求仕様選択入力受け付け画面(ユーザインタフェース)で指定されたモジュール情報から以下の前処理(GDS−IIデータ生成)をするための複数のソフトウエアモジュールを有しており、このソフトウエアモジュールが動作することにより物理的配置処理部334または論理的接続処理部336として機能する。
ソフトウエアモジュールの1つとして、メモリモジュールについてあらかじめ準備された容量のモジュールレイアウトデータを単数もしくは複数組み合わせてメモリブロックレイアウトを構成するとともに、必要なメモリアドレスデコーダのRTLコードを自動生成し、Bのソフトモジュールに通知するソフトウエア処理モジュールを含む。
またソフトウエアモジュールの他の1つとして、RTL等のソフトマクロとして準備されたデジタルモジュール(例えばCPUコア、タイマ、インタラプトコントローラ、ICEインタフェース、デバックエイド回路等)については、指定の数量、組合わせの各モジュールの必要とするゲート数(マージン含む)を見積り、これに、上記Aモジュールの生成するアドレスデコーダコードのゲート所要量をくわえて、これをシーオブゲートタイプのG/Aセルを敷き詰めたブロックとして配線層を除くレイアウトデータを自動生成する(縦方向の大きさが決まっているので横幅を決定するだけの簡単な処理で実現可能である)ソフトウエア処理モジュールを含む。
またソフトウエアモジュールの他の1つとして、アナログモジュールについてあらかじめ準備された高さ一定のアナログブロックレイアウトと、必要に応じてブロック間のスペーサ(電源分離、ノイズ隔離等を行う)を組合わせるソフトウエア処理モジュールを含む。
またソフトウエアモジュールの他の1つとして、指定の駆動方式のLCDに関して、指定の個数のドライバ端子を並べるとともに、あらかじめ準備されたレイアウトブロックの中から適合するコントローラを選択して組合わせるソフトウエア処理モジュールを含む。
またソフトウエアモジュールの他の1つとして、内部モジュールの間の相互信号線数をカウントし、必要なバックプレーン幅を決定するソフトウエア処理モジュールを含む。
またソフトウエアモジュールの他の1つとして、デジタルモジュールやアナログモジュールで使用する入出力パッドを配置するソフトウエアモジュールを含む。
またソフトウエアモジュールの他の1つとして、上記各ソフトウエアモジュールの物理的配置処理の結果としてつくられたGDS−IIデータを全体チップとしてくみ上げるソフトウエア処理モジュールを含む。
上記各ソフトウエアモジュールの実行結果、各モジュールの論理的結合を考慮した「バルク」(配線を除くチップレイアウト)のレイアウト(各モジュールの物理配置設計)が完成するので、工場で前工程開始できるデータが揃う。配線層については、既存のCAEツールにより実施する。
情報記憶媒体(コンピュータにより使用可能な記憶媒体)326は、上記ソフトウエアモジュール等プログラムやデータなどの情報を格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などのハードウェアにより実現できる。
処理部330は、この情報記憶媒体380に格納される情報に基づいて本発明(本実施形態)の種々の処理を行う。即ち情報記憶媒体326には、本発明(本実施形態)の手段(特に処理部330に含まれるブロック)を実行するための情報(プログラム或いはデータ)が格納される。
なお、上述したその他の機能も情報記憶媒体326から情報を読み取って実現することも可能である。
また情報記録媒体326に格納されるプログラム、データ等は、その一部もしくは全部をネットワーク回線などの伝送媒体を介して受信する構成にしてもよい。すなわち、ホストコンピュータ320は、情報記憶媒体326からではなく、例えば、ネットワークを介して所定のホスト端末装置等から搬送波に具現化された(embodied)形式のプログラム、データ等を受信して上述した種々の機能を実現することも可能である。
またデータベース350は、ホストコンピュータ320とデータの送受信を行う送受信部352と、モジュール論理情報やモジュール物理情報を利用可能な状態で記憶した情報記憶部360とを含んで構成され、モジュール論理情報データベースやモジュール物理情報データベースとして機能する。
情報記憶部360は磁気的、光学的記録媒体や半導体メモリ等のCPUで読み取り可能な記憶媒体であり、例えばRAM、ハードディスク(磁気ディスク)やフレキシブルディスク、CD−ROM等により実現される。
ここでモジュール論理情報記憶部370は、各モジュールの論理情報(ハードウエア記述)を記憶しており、モジュール論理情報データベースとして機能する。各モジュールの論理情報とは、ハードウエア記述であり、デジタル回路、特に集積回路を設計するためのコンピュータ言語の一種であるVerilog(ベリログ)のRTL(ハードウエア記述、ベリログの記述レベル)やVHDL(VHSIC Hardware Description Language)やシステムCなどで記述されている。
モジュール物理情報記憶部380は、各モジュールの物理情報(2次元図形データ)を記憶しており、モジュール物理情報データベースとして機能する。
各モジュールの物理情報とは、2次元図形データであり、例えばGDSIIフォーマット(ICレイアウト設計のためのデータ形式)等で記述されている。
モジュール物理情報記憶部380は、XY平面上において矩形形状でY軸方向の長さを同じくする要素部品として構成された各モジュールの物理情報を記憶している。
図4は本実施の形態の設計支援システムの要求仕様選択入力受け付け画面の一例を示す図である。
410はCPUコアのタイプについての仕様選択であり、例えば4ビット412、8ビット414、32ビット416が選択できるように構成してもよい。
420はチップの基本レイアウトタイプについての仕様選択であり、例えば通常4辺パッドタイプ422、2辺パッドタイプ424、特殊実装タイプ426が選択できるように構成されている。また、後工程の実装方法に対応したパッドタイプが選択できるように構成してもよい。本情報により、ワイヤボンディング、バンプ、COBの実装タイプが一意に決定される。
430はROMの構成タイプについての仕様選択であり、例えばROMタイプ432、FLASHタイプ434,ROM+E2PROMタイプ436が選択できるように構成してもよい。ROMタイプという選択肢になっているが、本情報により、前工程のウエファープロセスが一意に決定される。
440の442、444はROM/RAM容量についての仕様選択である。
ROM容量442は、選択したCPUコアとROM構成タイプにより選択肢が異なるので、選択したCPUコアとROM構成タイプに応じたプルダウンメニューが表示され選択するように構成してもよい。
4ビットのCPUかつROMタイプが選択された場合には、2KW(13ビット幅)を単位として、2K〜16KWが選択可能に構成してもよい。4ビットのCPUかつFLASHタイプが選択された場合には、16KWのみが選択可能に構成してもよい。4ビットのCPUかつROM+E2PROMタイプが選択された場合には、上記ROMタイプに4ビット幅x256ビットのE2PROM追加されるように構成してもよい。
8、32ビットのCPUかつROMタイプが選択された場合には、8KBを単位として、8K〜48KBが選択可能に構成してもよい。8、32ビットのCPUかつFLASHタイプが選択された場合には、32KBのみが選択可能に構成してもよい。8、32ビットのCPUかつROM+E2PROMタイプが選択された場合には、上記ROMタイプに8ビット幅x128ビットのE2PROM追加されるように構成してもよい。
RAM容量444は選択したCPUコアとROM構成タイプにより選択肢が異なるので、選択したCPUコアとROM構成タイプに応じたプルダウンメニューが表示され選択するように構成してもよい。
4ビットのCPUが選択された場合には、4bitx256Wを単位として、max.1KW選択可能に構成してもよい。
8、32ビットのCPUが選択された場合には、1KBを単位として、max.8KB選択可能に構成してもよい。
Display Bufferサイズ446は、セグメントタイプ、小容量ドットマトリクス、大容量ドットマトリクスから選択可能に構成してもよい。
450はデジタルペリフェラルについての仕様選択であり、8ビットタイマ×2(451)、16ビットタイマ×1(452)、同期シリアル×1(453)、同期非同期シリアル×1(454)、UART×1(454)、1線式特殊I/F×1(456)のいずれか選択可能であり、それらについて更に個数を指定するように構成してもよいする。
なお割り込みI/F,デバッグ&TEST−I/Fについてはデフォルトで指定CPUタイプに合致したものが取り込まれるようにしてもよい。また、32ビットCPU指定の場合のDMAコントローラはCPUに内蔵されるようにしてもよい。
また図示しないアナログペリフェラルの仕様選択については、8ビットA/Dx2ch、12ビットA/Dx2ch、クーロンカウンタ、バラクタ、LF Receiver、RF Transmitter、OpAmp、PWM&フィルタ等が選択可能であり、それらについて更に個数を指定するように構成してもよい。
電源、発振&クロック、時計タイマについてはデフォルトで指定CPUタイプとROMタイプ(プロセス)に合致したものが取り込まれるように構成してもよい。
図5は本実施の形態の設計支援システムの処理及び流れについて説明するためのフローチャートである。
まず例えば図4に示すような要求仕様選択画面を出力して要求仕様選択入力を受け付ける要求仕様選択入力処理を行う(ステップS100)。
受け付けた要求仕様に基づき、使用するモジュールを決定する使用モジュール決定手処理を行う(ステップS110)。ここで決定されるモジュールは、例えばデジタルモジュール、メモリモジュール、アナログモジュール、表示ドライバコントローラモジュール等の各モジュールやパッド等を含む。
決定された使用モジュールのモジュール論理情報をモジュール論理情報データベース(モジュール論理情報記憶部)370’から読み出して、読み出したモジュール論理情報に基づき、使用モジュール間の論理的接続処理を行う論理的接続処理を行い、チップ論理設計情報400を出力する(ステップS200)。チップ論理設計情報400は論理シミュレータによる論理検証、論理合成ツールによる論理合成に用いられる。
決定された使用モジュールのモジュール物理情報をモジュール物理情報データベース(モジュール物理情報記憶部)380’から読み出して、読み出したモジュール物理情報に基づき、使用モジュールのバルク層における配置を決定する物理的配置処理を行い、チップ物理設計情報410を出力する(ステップS300)。チップ物理設計情報410は配置配線レイアウト検証およびその後のマスク作成に用いられる。
図6は、要求仕様選択入力処理の流れについて説明するためのフローチャート図である。
まず要求仕様選択入力を受け付けるための入力フォーム(例えば図4に示すような要求仕様選択画面)を提示する(PCの画面等に表示する)(ステップS110)。
次に仕様選択入力を受け付け(ステップS120)、受け付けた選択仕様をサーバ装置に送信する(ステップS130)。ユーザー(クライアントシステム)のHTTPサーバへの接続により、例えば図4に示すような入力フォームをクライアントシステム上のブラウザに表示することで要求仕様を入力させる。要求仕様は、プルダウンメニュー、選択ボタン等により受け付けるようにしてもよい。
次に、仕様選択入力により受け付けた受け付け仕様を確認する確認フォームを提示して、間違いないか確認する(ステップS140、ステップS150)。
「間違いあり」を示す旨の入力を受け付けた場合には、再びステップS1100〜S150の処置を繰り返し、「間違いなし」を示す旨の入力を受け付けた場合には、次のステップにすすむ(ステップS150)。プルダウンメニュー、選択ボタン等による入力フォームであるので誤入力の可能性は少ないが、確認のため、サーバで受け付けた条件を再度提示した後、再確認でOKとする。
図7は、論理的接続処理の流れについて説明するためのフローチャート図である。
まずCPUに関する受け付け仕様に基づき、CPUのタイプ別に用意されたモジュールデータベースを選択する。
CPUタイプによって、データバス、アドレスバスのビット幅、およびデータとプログラムが分離、共通といった違いがあるので、本実施の形態ではモジュール論理情報データベースはCPUのタイプ別に(ここでは、4ビットCPU用モジュールデータベース、8ビットCPU用モジュールデータベース、32ビットCPU用モジュールデータベース)用意してある。4ビットCPU用モジュールデータベースには4ビットCPUを使用する半導体集積回路装置に使用される可能性ある各モジュールの論理情報が記憶されており、8ビットCPU用モジュールデータベースには8ビットCPUを使用する半導体集積回路装置に使用される可能性ある各モジュールの論理情報が記憶されており、32ビットCPU用モジュールデータベースには32ビットCPUを使用する半導体集積回路装置に使用される可能性ある各モジュールの論理情報が記憶されている。
従って選択仕様入力によりCPUタイプとして4ビットが選択された場合には、4ビットCPU用モジュールデータベースが選択され(ステップS210、ステップS220)、以降使用モジュールの情報は当該データベースから読み出される。
また選択仕様入力によりCPUタイプとして8ビットが選択された場合には、8ビットCPU用モジュールデータベースが選択され(ステップS210、ステップS222)、以降使用モジュールの情報は当該データベースから読み出される。
また選択仕様入力によりCPUタイプとして32ビットが選択された場合には、32ビットCPU用モジュールデータベースが選択され(ステップS210、ステップS224)、以降使用モジュールの情報は当該データベースから読み出される。
次に選択仕様に基づき各モジュールDB(論理情報データベース)から選択モジュール(使用モジュールに対応して選択されたモジュールの論理情報であって、実施例ではVerilog言語RTL記述)を抽出する(ステップS230)。ここでデータベースに格納されている各モジュールは論理的に結合されていないバラバラなモジュールソースコードである。
つぎにROM、RAMおよび選択されたペリフェラルのレジスタをどのアドレスに配置するかを決定してメモリマップを自動生成する(ステップS240)。メモリマップ自動生成の具体例については図8で説明する。
作成したメモリマップに基づき、アドレスデコーダと相互接続配線(トップモジュール)のVerilogソースコードを自動生成する(ステップS250)。
上記のアドレスデコーダおよび相互接続配線(トップモジュール)内で抽出済みの各モジュールを必要回呼び出し(インスタンス)相互接続配線の名前参照を決定して全体の論理記述(チップ論理記述)となる(ステップS260)。
チップ論理記述は論理シミュレータ等の通常のツールチェーンで処理される(ステップS270)。
生成されたチップ論理記述(Verilog RTL)から、デジタル部の見積もり計算を行う(ステップS280)。具体的にはデジタル部に必要な単位ゲート(BCと呼ぶ)数を見積もる。また、デジタル部と各モジュール間を結ぶ信号線数(バス信号)が決定される。
次に所要PAD数、各辺配置数の見積もり計算を行う(ステップS290)。選択されたモジュールリストより、各モジュール毎に必要な入出力パッドと事前に設定されている入出力パッド数が集計される。
なお、論理検証、論理合成、タイミング検証等の設計ステップは、通常の論理シミュレータ、合成ツール等により実施される。
図8は、メモリマップ生成の具体例について説明するための図である。
8ビットCPUの場合、ROM,RAM、ペリフェラルとも、8ビット幅の一つのバスに接続しており、単一のアドレス空間に割り当てる必要がある。
それぞれ予め決められたROM開始アドレス510、RAM開始アドレス520、ペリフェラルレジスタの配置開始アドレス530が固定されており、選択されたモジュールを順番に固定アドレスから並べることでメモリマップ500が出来上がる。なお、ROM、RAMは増設単位毎、ペリフェラルは16バイト単位で割り当て、ペリフェラルの使わないアドレスは捨てられる。
図9は、物理的配置処理について説明するための図である。
物理的配置処理では、決定された使用モジュールの物理情報をモジュールデータベースから読み出して、使用モジュールのバルク層における配置を決定する物理的配置処理を行う。
まず論理的接続処理で見積もられたBC数に基づき(図7のS270参照)、デジタル部のベーシックセルを敷き詰める(ステップS310)。例えば事前に準備されているSOG型G/A用ベーシックセル(BC)を必要個数だけ敷き詰める。その際高さは固定とし、BC数に応じて横方向(X方向)のみ延ばして作成する。この横幅(隣り合うモジュールとの分離領域と電源配線を含む)をDWとする。作成されたデジタル部をCELLとしてテンポラリ座標(0,0)に配置する。
次にメモリモジュールを配置する(ステップS320)。事前に準備されているROM,RAMモジュールを必要個数だけ引用し、上記のデジタル部の右側(X軸正方向)に配置する。その際、最初のメモリモジュール原点は、テンポラリ座標(0,DW)であり、次のモジュールの座標は、X=DW+Σ前のメモリモジュールX幅となる。
同様に選択されたアナログモジュール、LCDドライバコントローラモジュールを配置する(ステップS330、ステップS340)。
次に配線部のY幅を決定する(ステップS350)。
前ステップ終了時に全内部ブロックをトータルしたX幅が、判明しており(因みに内部ブロックのY高さは固定で、実施例4ビットCPUでは800ミクロンである)、これに対して、論理接続処理で見積もられた配線本数に基づき、長方形の配線領域のY幅を決定する。
次にアナログパッドを配置して(ステップS360)、LCDドライバパッドを配置して(ステップS370)、デジタル入出力パッドを配置する(ステップS380)。
上記の全内部ブロック+配線部を包みこむ形に入出力パッドセルを配置していく。本セルについても全てのセルはY方向固定サイズにすることで、並べていったときに整合性がとれる。ただし、チップの左右端面にセルを配置する場合はそれぞれ90°270°ローテイトして配置するので、セル内のX,Yとチップ上でのX、Yは入れ替わることになる。
配置は、アナログパッドを最優先でアナログモジュールの下側に配置することから始め、次ぎにLCDドライバパッドを配置し、最後にあまった領域にデジタルパッドを配置する。
なお、本発明で作成する物理記述は、メタル層を除く拡散層、ポリシリコンゲート層等までである。メタル層以降は通常の自動配線ツールで実施される。
必要なI/Oセルを全て配置できれば、X,Yサイズを求めた上でクライアントに仮成功の通知を送る(ステップS390、S410,S420)。ここでXサイズは、内部ブロックXサイズに対して、I/OセルのYサイズ*2を加えたものにスクライブ領域の幅を加えることで求まり、Yサイズは内部ブロックYサイズと配線領域YサイズにI/OセルのYサイズ*2にやはりスクライブ領域幅を加える。
クライアントは仮成功の結果の大きさが所望の範囲であればOKとして、次ステップへ進めるが、所望でなければ仕様の見直しへ進む(ステップS430)。
また、I/Oセルが配置できなかった場合は、不成功なので、同様に見直しへ進む(ステップS390、S400)。
図10は、物理CELLの座標配置の入れ子構造について説明するための図である。
612、614はモジュールA(610)を構成する物理セルであり、622、624、626はモジュールB(620)を構成する物理セルである。
また611は、モジュールA(610)の原点であり、621はモジュールB(620)の原点ある。このように各モジュール610,620はモジュールレベルで原点を持つ。
図11は、モジュールの内部ブロックへの配置について説明するための図である。
各モジュール(CELL)を内部ブロックに配置する。ここで内部ブロックとは、例えば図1におけるモジュール配置領域14に該当する。各モジュール610の内部ブロック内での座標が定まり、モジュール相互の位置が定まる。
例えばモジュールA(610)が幅Laで内部ブロックの左端におかれるブロックであり、モジュールB(620)が幅Lbで対してモジュールAの左隣(X軸方向に対して正方向)におかれるモジュールであるとすると、内部ブロックの原点(0,0)に630にモジュールAが配置される。すなわち内部ブロックの原点630にモジュールA(610)の原点(図10の611)がくるようにモジュールAが配置される。
またモジュールAの幅がLaなので、モジュールB(620)は内部ブロックの座標(La,0)に配置されることになる。
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
実施例はLCDドライバを中心としたマイクロコントローラについての適用事例であったが、eペーパドライバ等を使ったマイクロコントローラについても適用可能である。また、マイクロコントローラに限らず、固定機能のASSPについても適用可能である。
本実施の形態の半導体集積回路装置およびそのレイアウト方法について説明するための図である。 本実施の形態の設計支援システムの構成の一例を説明するための図である。 本実施形態の設計支援システムのサーバ装置の機能ブロック図の一例である。 本実施の形態の設計支援システムの要求仕様選択入力受け付け画面の一例を示す図である。 本実施の形態の設計支援システムの処理及び流れについて説明するためのフローチャートである。 要求仕様選択入力処理の流れについて説明するためのフローチャート図である。 論理的接続処理の流れについて説明するためのフローチャート図である。 メモリマップ生成の具体例について説明するための図である。 物理的配置処理について説明するための図である。 物理CELLの座標配置の入れ子構造について説明するための図である。 図11は、モジュールの内部ブロックへの配置について説明するための図である。
符号の説明
10 半導体集積回路装置、12 バルク層、14 モジュール配置領域、20 デジタルモジュール、30−1,30−2,30−3 メモリモジュール、40−1,40−2,40−3 アナログモジュール、59 表示ドライバコントローラモジュール、60 結線領域、32−1,32−2,32−3 デジタルインターフェース、42 アナログインターフェース、52 表示ドライバコントローラインターフェース、200 設計支援システム音声合成システム、210 ネットワーク、220 ユーザー端末、300 設計支援システムのサーバ装置、310 通信装置、320 ホストコンピュータ、322 記憶部、324 送受信部、326 情報記憶媒体、330 処理部、332 要求使用選択入力受け付け部、334 物理的配置処理部、336論理的配置処理部、338 使用モジュール決定部、350 データベース、352 送受信部、360 情報記憶部、370 モジュール論理情報記憶部、380 モジュール物理情報記憶部

Claims (12)

  1. デジタルモジュール、メモリモジュール、アナログモジュール、表示ドライバコントローラモジュールを含む半導体集積回路装置のレイアウト設計を行う設計支援システムであって、
    各モジュールの物理情報を記憶するモジュール物理情報記憶部と、
    各モジュールの論理情報を記憶するモジュール論理情報記憶部と、
    要求仕様選択画面を出力して要求仕様選択入力を受け付ける要求仕様選択入力受け付け手段と、
    受け付けた要求仕様に基づき、使用するモジュールを決定する使用モジュール決定手段と、
    決定された使用モジュールのモジュール物理情報をモジュール物理情報記憶部から読み出して、読み出したモジュール物理情報に基づき、使用モジュールのバルク層における配置を決定する物理的配置処理を行う物理的配置処理手段と、
    決定された使用モジュールのモジュール論理情報をモジュール論理情報記憶部から読み出して、読み出したモジュール論理情報に基づき、使用モジュール間の論理的接続処理を行う論理的接続処理手段と、を含み、
    前記モジュール物理情報記憶部は、
    XY平面上においてY軸方向の長さを同じくするモジュールとして構成された各モジュールの物理情報を記憶し、
    前記物理的配置処理手段は、
    バルク層に設定された、所与の2辺がX軸と並行になるような長方形のモジュール配置領域に、少なくとも1つのデジタルモジュールを含むデジタルモジュール群、少なくとも1つのメモリモジュールを含むメモリモジュール群、少なくとも1つのアナログモジュールを含むアナログモジュール群、少なくとも1つの表示ドライバコントローラモジュールを含む表示ドライバコントローラモジュール群が、この順番でX軸方向に1次元的に並ぶように配置し、
    論理的接続処理手段は、
    バルク層に設定された、所与の2辺がX軸と並行になるような長方形のモジュール配置領域に、少なくとも1つのデジタルモジュールを含むデジタルモジュール群、少なくとも1つのメモリモジュールを含むメモリモジュール群、少なくとも1つのアナログモジュールを含むアナログモジュール群、少なくとも1つの表示ドライバコントローラモジュールを含む表示ドライバコントローラモジュール群が、この順番でX軸方向に1次元的に並ぶ構成における使用モジュール間の論理的接続処理を行うことを特徴とする設計支援システム。
  2. 請求項1において、
    前記物理的配置処理手段は、
    バルク層において、Y軸方向にモジュール配置領域と隣り合う一方の側にアナログインターフェースを配置し、他方の側に結線領域を配置し、
    論理的接続処理手段は、
    バルク層において、Y軸方向にモジュール配置領域と隣り合う一方の側にアナログインターフェースを配置し、他方の側に結線領域を配置した構成における使用モジュール間の論理的接続処理を行うことを特徴とする設計支援システム。
  3. 請求項1ないし2のいずれかにおいて、
    前記物理的配置処理手段は、
    バルク層において、アナログインタフェースと表示ドライバコントローラインターフェースとをアナログモジュール群および表示ドライバコントローラモジュール群を挟んでY軸方向に対して反対側に配置し、
    論理的接続処理手段は、
    バルク層において、アナログインタフェースと表示ドライバコントローラインターフェースとをアナログモジュール群および表示ドライバコントローラモジュール群を挟んでY軸方向に対して反対側に配置した構成における使用モジュール間の論理的接続処理を行うことを特徴とする設計支援システム。
  4. デジタルモジュール、メモリモジュール、アナログモジュール、表示ドライバコントローラモジュールを含む半導体集積回路装置のレイアウト設計を行う設計支援システムを実現するためのプログラムであって、
    各モジュールの物理情報を記憶するモジュール物理情報記憶部と、
    各モジュールの論理情報を記憶するモジュール論理情報記憶部と、
    要求仕様選択画面を出力して要求仕様選択入力を受け付ける要求仕様選択入力受け付け手段と、
    受け付けた要求仕様に基づき、使用するモジュールを決定する使用モジュール決定手段と、
    決定された使用モジュールのモジュール物理情報をモジュール物理情報記憶部から読み出して、読み出したモジュール物理情報に基づき、使用モジュールのバルク層における配置を決定する物理的配置処理を行う物理的配置処理手段と、
    決定された使用モジュールのモジュール論理情報をモジュール論理情報記憶部から読み出して、読み出したモジュール論理情報に基づき、使用モジュール間の論理的接続処理を行う論理的接続処理手段と、してコンピュータを機能させ、
    前記モジュール物理情報記憶部は、
    XY平面上においてY軸方向の長さを同じくするモジュールとして構成された各モジュールの物理情報を記憶し、
    前記物理的配置処理手段は、
    バルク層に設定された、所与の2辺がX軸と並行になるような長方形のモジュール配置領域に、少なくとも1つのデジタルモジュールを含むデジタルモジュール群、少なくとも1つのメモリモジュールを含むメモリモジュール群、少なくとも1つのアナログモジュールを含むアナログモジュール群、少なくとも1つの表示ドライバコントローラモジュールを含む表示ドライバコントローラモジュール群が、この順番でX軸方向に1次元的に並ぶように配置し、
    論理的接続処理手段は、
    バルク層に設定された、所与の2辺がX軸と並行になるような長方形のモジュール配置領域に、少なくとも1つのデジタルモジュールを含むデジタルモジュール群、少なくとも1つのメモリモジュールを含むメモリモジュール群、少なくとも1つのアナログモジュールを含むアナログモジュール群、少なくとも1つの表示ドライバコントローラモジュールを含む表示ドライバコントローラモジュール群が、この順番でX軸方向に1次元的に並ぶ構成における使用モジュール間の論理的接続処理を行うことを特徴とするプログラム。
  5. 請求項4において、
    前記物理的配置処理手段は、
    バルク層において、Y軸方向にモジュール配置領域と隣り合う一方の側にアナログインターフェースを配置し、他方の側に結線領域を配置し、
    論理的接続処理手段は、
    バルク層において、Y軸方向にモジュール配置領域と隣り合う一方の側にアナログインターフェースを配置し、他方の側に結線領域を配置した構成における使用モジュール間の論理的接続処理を行うことを特徴とするプログラム。
  6. 請求項4ないし5のいずれかにおいて、
    前記物理的配置処理手段は、
    バルク層において、アナログインタフェースと表示ドライバコントローラインターフェースとをアナログモジュール群および表示ドライバコントローラモジュール群を挟んでY軸方向に対して反対側に配置し、
    論理的接続処理手段は、
    バルク層において、アナログインタフェースと表示ドライバコントローラインターフェースとをアナログモジュール群および表示ドライバコントローラモジュール群を挟んでY軸方向に対して反対側に配置した構成における使用モジュール間の論理的接続処理を行うことを特徴とするプログラム。
  7. デジタルモジュール、メモリモジュール、アナログモジュール、表示ドライバコントローラモジュールを含む半導体集積回路装置であって、
    デジタルモジュール、メモリモジュール、アナログモジュール、表示ドライバコントローラモジュールはXY平面上においてY軸方向の長さを同じくするモジュールとして構成され、
    バルク層に設定された、所与の2辺がX軸と並行になるような長方形のモジュール配置領域に、少なくとも1つのデジタルモジュールを含むデジタルモジュール群、少なくとも1つのメモリモジュールを含むメモリモジュール群、少なくとも1つのアナログモジュールを含むアナログモジュール群、少なくとも1つの表示ドライバコントローラモジュールを含む表示ドライバコントローラモジュール群が、この順番でX軸方向に1次元的に並んで配置されていることを特徴とする半導体集積回路装置。
  8. 請求項7記載の半導体集積回路装置は、アナログインターフェース、結線領域を含み、
    バルク層において、Y軸方向にモジュール配置領域と隣り合う一方の側にアナログインターフェースが配置され、他方の側に結線領域が配置されていることを特徴とする半導体集積回路装置。
  9. 請求項7ないし8のいずれかにおいて、
    前記半導体集積回路装置は表示ドライバコントローラインターフェースを含み、
    バルク層において、アナログインタフェース表示ドライバコントローラインターフェースとがアナログモジュール群および表示ドライバコントローラモジュール群を挟んでY軸方向に対して反対側に配置されていることを特徴とする半導体集積回路装置。
  10. デジタルモジュール、メモリモジュール、アナログモジュール、表示ドライバコントローラモジュールを含む半導体集積回路装置のレイアウト方法であって、
    デジタルモジュール、メモリモジュール、アナログモジュール、表示ドライバコントローラモジュールはXY平面上においてY軸方向の長さを同じくするモジュールとして構成し、
    バルク層に設定された、所与の2辺がX軸と並行になるような長方形のモジュール配置領域に、少なくとも1つのデジタルモジュールを含むデジタルモジュール群、少なくとも1つのメモリモジュールを含むメモリモジュール群、少なくとも1つのアナログモジュールを含むアナログモジュール群、少なくとも1つの表示ドライバコントローラモジュールを含む表示ドライバコントローラモジュール群が、この順番でX軸方向に1次元的に並ぶように配置することを特徴とする半導体集積回路装置のレイアウト方法。
  11. 請求項10において、
    バルク層において、Y軸方向にモジュール配置領域と隣り合う一方の側にアナログインターフェースを配置し、他方の側に結線領域を配置することを特徴とする半導体集積回路装置のレイアウト方法。
  12. 請求項10ないし11のいずれかにおいて、
    バルク層において、アナログインタフェース表示ドライバコントローラインターフェースとをアナログモジュール群および表示ドライバコントローラモジュール群を挟んでY軸方向に対して反対側に配置することを特徴とする半導体集積回路装置のレイアウト方法。
JP2006240523A 2006-09-05 2006-09-05 半導体集積回路装置、半導体集積回路装置のレイアウト方法、設計支援システム及びプログラム Withdrawn JP2008065465A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006240523A JP2008065465A (ja) 2006-09-05 2006-09-05 半導体集積回路装置、半導体集積回路装置のレイアウト方法、設計支援システム及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006240523A JP2008065465A (ja) 2006-09-05 2006-09-05 半導体集積回路装置、半導体集積回路装置のレイアウト方法、設計支援システム及びプログラム

Publications (1)

Publication Number Publication Date
JP2008065465A true JP2008065465A (ja) 2008-03-21

Family

ID=39288148

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006240523A Withdrawn JP2008065465A (ja) 2006-09-05 2006-09-05 半導体集積回路装置、半導体集積回路装置のレイアウト方法、設計支援システム及びプログラム

Country Status (1)

Country Link
JP (1) JP2008065465A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110633480A (zh) * 2018-06-22 2019-12-31 北京比特大陆科技有限公司 一种用于配置芯片连接方式的方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110633480A (zh) * 2018-06-22 2019-12-31 北京比特大陆科技有限公司 一种用于配置芯片连接方式的方法及系统
CN110633480B (zh) * 2018-06-22 2023-04-28 北京比特大陆科技有限公司 一种用于配置芯片连接方式的方法及系统

Similar Documents

Publication Publication Date Title
US7100124B2 (en) Interface configurable for use with target/initiator signals
US8775998B2 (en) Support device of three-dimensional integrated circuit and method thereof
US20050039174A1 (en) Apparatus and method for co-simulating processors and DUT modules
JP2013146063A (ja) フレキシブル電子インターフェースのための装置および関連方法
JP2002259157A (ja) 回路内エミュレーション装置及びそのチップ設計方法、及び回路内エミュレーションシステム
TW535075B (en) Adaptable circuit blocks for use in multi-block chip design
US7675931B1 (en) Methods and apparatus for controlling multiple master/slave connections
JP2001142932A (ja) Ipベースlsi設計システムおよび設計方法
JP2008065465A (ja) 半導体集積回路装置、半導体集積回路装置のレイアウト方法、設計支援システム及びプログラム
CN112632884A (zh) 门级网表生成方法、装置及电子设备
JPH0950460A (ja) Lsi設計データのファイル変換方法及び装置
WO2012124431A1 (ja) 半導体装置
CN105068962A (zh) I2c控制器访问方法及系统
US20050120318A1 (en) Apparatus and method for designing semiconductor integrated circuit
Han et al. Converting Interfaces on Application-specific Network-on-chip
US7353484B1 (en) Methods and apparatus for variable latency support
US20060136854A1 (en) Method for placement of pipeline latches
CN117648134B (zh) 一种服务器多背板丝印自适应定位方法、装置及存储介质
KR100552668B1 (ko) 하드웨어-소프트웨어 인터페이스 합성방법
CN115857859B (zh) 元件模块的调试方法、装置、电子设备及存储介质
JP3028938B2 (ja) 半導体集積回路のレイアウト方法
Xu Reconfigurable Hardware Board Design for the Macintosh II Computer
Chu Concepts of a microcomputer design language
CN117709279A (zh) 三维集成电路布局方法、装置、电子设备及存储介质
US20140380257A1 (en) Hierarchical pushdown of cells and nets to any logical depth

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080701

A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20091110