設計支援装置、制御方法および制御プログラム
【課題】配線の効率化を図ること。
【解決手段】設計支援装置1は、表示部2に接続されており、記憶部1aと、選択部1bと、配置部1cと、判断部1dと、配線部1eと、確定部1fとを有している。記憶部1aは、回路の論理接続情報と配置対象のセルのセル情報を記憶する。選択部1bは、記憶部1aに記憶されたセル情報のうち、配置対象のセルのセル情報を選択する。配置部1cは、入力された座標に基づき、選択されたセル情報のセルの仮の配置を行う。判断部1dは、配線モードであるか否かを判断する。配線部1eは、判断部1dが配線モードであると判断した場合、仮の配置がされたセルに接続する配線について仮の配線を行う。確定部1fは、セルの配置位置の確定に基づいて、配線されたセルの仮の配線の配置位置を確定する。
【解決手段】設計支援装置1は、表示部2に接続されており、記憶部1aと、選択部1bと、配置部1cと、判断部1dと、配線部1eと、確定部1fとを有している。記憶部1aは、回路の論理接続情報と配置対象のセルのセル情報を記憶する。選択部1bは、記憶部1aに記憶されたセル情報のうち、配置対象のセルのセル情報を選択する。配置部1cは、入力された座標に基づき、選択されたセル情報のセルの仮の配置を行う。判断部1dは、配線モードであるか否かを判断する。配線部1eは、判断部1dが配線モードであると判断した場合、仮の配置がされたセルに接続する配線について仮の配線を行う。確定部1fは、セルの配置位置の確定に基づいて、配線されたセルの仮の配線の配置位置を確定する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、設計支援装置、制御方法および制御プログラムに関する。
【背景技術】
【0002】
LSI等の半導体集積回路の物理設計において、モニタに表示された画面上で、回路ブロックを移動させた際に、自動配線を行う設計支援装置(CAD装置:Computer Aided Design)に関する技術が知られている。
【0003】
自動配線では、配線を実施したいネット(回路における端子間の結線(論理接続))、または、端子間について、そのネットを構成している端子、または、端子を持つセル(物理設計における配置の単位となる回路部品)の配置を実施した後に、そのネット、または、端子間に対して自動配線を実施する旨の指示をした結果、配線が実行され配線が完結する技術が知られている。
【0004】
また、画面上で配線を目視、確認しながら、リアルタイムに補修可否を判定する技術が知られている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平8−96012号公報
【特許文献2】特開2000−67101号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ネットを構成している端子、または、端子を持つセルの配置を実施した後に自動配線の実施を明示的に指示していた。このため、セルの配置を完了した後でなければ、自動配線の実施を指示することができない上、セルの配置位置により配線結果が思わしくない場合には、再配置および再配線の指示をその都度行う必要があり、手続きが煩雑であるという問題があった。
【0007】
本発明はこのような点に鑑みてなされたものであり、配線の効率化を図る設計支援装置、制御方法および制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために、開示の設計支援装置が提供される。この設計支援装置は、表示部に接続されており、記憶部と、選択部と、配置部と、判断部と、配線部と、確定部とを有している。
【0009】
記憶部は、回路の論理接続情報と配置対象のセルのセル情報を記憶する。
選択部は、記憶部に記憶されたセル情報のうち、配置対象のセルのセル情報を選択する。
【0010】
配置部は、入力された位置情報に基づいて、選択されたセル情報のセルの仮の配置を行う。
判断部は、配線モードであるか否かを判断する。
【0011】
配線部は、判断部が配線モードであると判断した場合、仮の配置がされたセルに接続する配線について仮の配線を行う。
確定部は、セルの配置位置の確定に基づいて、配線されたセルの仮の配線の配置位置を確定する。
【発明の効果】
【0012】
開示の設計支援装置によれば、配線の効率化を図ることができる。
【図面の簡単な説明】
【0013】
【図1】第1の実施の形態の設計支援装置の概要を示す図である。
【図2】第2の実施の形態の設計支援装置のハードウェアの一構成例を示す図である。
【図3】第2の実施の形態の設計支援装置の機能を示すブロック図である。
【図4】配置処理部の処理を示すフローチャートである。
【図5】ユーザが設定するパラメータを示す図である。
【図6】ネット単位の設定方法の一例を示す図である。
【図7】設定されたルータモードにおける配置処理部の動作の違いを示す図である。
【図8】設定されたグループモードにおける配置処理部の動作の違いを示す図である。
【図9】設定されたグループ内部ネット配線削除モードにおける配置処理部の動作の違いを示す図である。
【図10】パスモードが設定されたときの配置処理部の動作を示す図である。
【図11】ネットモードが設定されたときの配置処理部の動作を示す図である。
【図12】設定された優先配線モードにおける配置処理部の動作の違いを示す図である。
【図13】短絡を回避する方法を説明する図である。
【図14】複数配線層において短絡を回避する方法を示す図である。
【図15】設定された削除モードにおける配置処理部の動作の違いを示す図である。
【図16】設定された削除モードにおける配置処理部の動作の違いを示す図である。
【図17】ネット単位で優先配線モードを選択した場合の配置処理部の動作例を説明する図である。
【図18】配置処理部の処理を詳しく示すフローチャートである。
【図19】配置処理部の処理を詳しく示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、実施の形態を、図面を参照して詳細に説明する。
まず、実施の形態の設計支援装置について説明し、その後、実施の形態をより具体的に説明する。
【0015】
<第1の実施の形態>
図1は、第1の実施の形態の設計支援装置の概要を示す図である。
実施の形態の設計支援装置(コンピュータ)1は、表示部2に接続されており、記憶部1aと、選択部1bと、配置部1cと、判断部1dと、配線部1eと、確定部1fとを有している。
【0016】
記憶部1aは、回路の論理接続情報(ネットリスト、ネット情報)と配置対象のセルのセル情報を記憶している。
選択部1bは、記憶部1aに記憶されたセル情報のうち、配置対象のセルのセル情報を選択する。本実施の形態では、インスタンスIns2を配置対象のセルとする。インスタンスにより、配置対象となるセルの実体を特定することができる。選択部1bは、インスタンスIns2のセル情報を選択する。
【0017】
配置部1cは、入力された位置情報に基づいて、選択されたセル情報のセルの仮の配置を行う。
ここで、画面2aには、予め位置が決定されたインスタンスIns1が配置されている。
【0018】
ユーザは、表示部2に表示された画面2aを見ながらマウスやキーボードによって位置情報(座標)の入力を行うことができる。画面2aには、一例として、マウスのポインタP1を図示している。例えば、配置部1cは、ポインタP1の先端の位置を位置情報として認識することができる。
【0019】
また、例えば、ユーザが、マウスを所定時間、画面2a上で停止させると、画面2bに示すように、選択されたインスタンスIns2が仮配置される。なお、図1では仮配置されたインスタンスIns2を点線で示している。また、この時点では、配線は、表示されない。
【0020】
また、画面2a〜2cは、設計支援装置1の処理および表示部2の表示の遷移を示しており、これら画面2a〜2cが、一度に表示部2に表示されなくてもよい。
判断部1dは、配線モードであるか否かを判断する。この配線モード等を特定する情報は、例えば、ユーザが予め決定して記憶部1aに格納しておくことができる。
【0021】
配線部1eは、判断部1dが配線モードであると判断した場合、仮の配置がされたセルに接続する配線について仮の配線を行う。画面2bに示すように、インスタンスIns1とインスタンスIns2との間に仮の配線が行われる。また、インスタンスIns2の仮配置位置を変更すると、それに伴い、仮の配線の配線位置も変化する。
【0022】
確定部1fは、セルの配置位置の確定に基づいて、配線されたセルの仮の配線の配置位置を確定する。
このセルの配置位置の確定は、例えば、ユーザが、マウスをクリックすること等により行うことができる。これにより、画面2cに示すように、決定された位置にインスタンスIns2が配置される。また、配置されたインスタンスIns2とインスタンスIns1とを接続する配線が、配置される。
【0023】
このような設計支援装置1によれば、インスタンスIns2を配置したときに、配線を完結するようにしたので、インスタンスIns2を配置した後に配線指示を明示的にする必要がない。これにより、設計者の手間を減らすことができる。
【0024】
また、インスタンスIns2を配置する前に配線の形状を表示するようにしたので、配置検討中に、配線の形状を確認することができる。これにより、設計者の手間を減らすことができる。
【0025】
なお、選択部1b、配置部1c、判断部1d、配線部1e、および、確定部1fは、設計支援装置1が有するCPU(Central Processing Unit)が備える機能により実現することができる。また、記憶部1aは、設計支援装置1が有するRAM(Random Access Memory)やHDD(Hard Disk Drive)等が備えるデータ記憶領域により実現することができる。
【0026】
以下、実施の形態をより具体的に説明する。
<第2の実施の形態>
図2は、第2の実施の形態の設計支援装置のハードウェアの一構成例を示す図である。
【0027】
設計支援装置10は、CPU101によって装置全体が制御されている。CPU101には、バス108を介してRAM102と複数の周辺機器が接続されている。
RAM102は、設計支援装置10の主記憶装置として使用される。RAM102には、CPU101に実行させるOS(Operating System)のプログラムやCADプログラム等のアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。
【0028】
バス108に接続されている周辺機器としては、HDD103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、および通信インタフェース107がある。
【0029】
HDD103は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103は、設計支援装置10の二次記憶装置として使用される。HDD103には、OSのプログラム、CADプログラム等のアプリケーションプログラム、および各種データが格納される。なお、二次記憶装置としては、フラッシュメモリ等の半導体記憶装置を使用することもできる。
【0030】
グラフィック処理装置104には、モニタ104aが接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ104aの画面に表示させる。モニタ104aとしては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置等がある。
【0031】
入力インタフェース105には、キーボード105aとマウス105bとが接続されている。入力インタフェース105は、キーボード105aやマウス105bから送られてくる信号をCPU101に送信する。なお、マウス105bは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボール等がある。
【0032】
光学ドライブ装置106は、レーザ光等を利用して、光ディスク200に記録されたデータの読み取りを行う。光ディスク200は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク200には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等がある。
【0033】
通信インタフェース107は、ネットワーク50に接続されている。通信インタフェース107は、ネットワーク50を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【0034】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
このようなハードウェア構成の設計支援装置10内には、以下のような機能が設けられる。
【0035】
図3は、第2の実施の形態の設計支援装置の機能を示すブロック図である。
設計支援装置10は、データベース11と、会話型エディタ12と、配置処理部13と、配置パラメータ格納部14と、配線処理部15と、配線パラメータ格納部16と、表示処理部17とを有している。
【0036】
データベース11には、論理接続情報(ネットリスト、ネット情報)、セルライブラリ情報、インスタンス情報、配線ルール情報、配置情報、配線情報、ユーザ指示情報等が格納されている。
【0037】
会話型エディタ12は、配置処理部13から送られる表示用の未確定の実配線データを受け取ると、未確定の実配線を、確定済みの配線と区別し得る態様(例えば、点線等)でモニタ104aに表示するよう表示処理部17に指示する。
【0038】
会話型エディタ12は、配置処理部13から送られる表示用の論理接続情報の表示依頼を受け取ると、データベース11から論理接続情報を読み出し、読み出した情報をモニタ104aに表示するよう表示処理部17に指示する。
【0039】
配置処理部13は、配置パラメータ格納部14に格納されている、ユーザが指示した配置パラメータファイルを読み込む。そして、ユーザが指示したパラメータファイル内に配線モードが指示されたかを確認する。指示された場合には配線処理部15を呼び出して配線処理を実行する。そして、配線結果である表示用の未確定の実配線データを、会話型エディタ12に送る。他方、指示されていない場合には論理接続情報をモニタ104aに表示させるよう会話型エディタ12に依頼する。
【0040】
さらに、配置処理部13は、配置位置の確定指示があった場合には配置座標、配線経路を確定する。
ここで、配置位置の確定指示としては、例えば、ユーザが、マウスをクリックすること等により、指示することができる。
【0041】
配置パラメータ格納部14は、回転コードや配置スペース等、配置に関するパラメータが格納されている。また、ユーザが指定した配置パラメータファイルも格納されている。
配線処理部15は、配置処理部によって読み出され、配線処理を実行する。
【0042】
配線パラメータ格納部16は、配線に関するパラメータが格納されている。図3では、2層基板の下側の層(下層)の配線(使用配線下層)、および、上側の層(上層)の配線(使用配線上層)を格納している場合を示している。
【0043】
表示処理部17は、会話型エディタ12から送られる情報をモニタ104aに表示する。
次に、配置処理部13の処理を詳しく説明する。
【0044】
図4は、配置処理部の処理を示すフローチャートである。
[ステップS1] 配置処理部13は、配置パラメータ格納部14に格納されている配置パラメータファイルを読み込む。その後、ステップS2に遷移する。
【0045】
[ステップS2] 配置処理部13は、配置対象のインスタンスを選択する。その後、ステップS3に遷移する。
[ステップS3] 配置処理部13は、配置パラメータの変更を再度チェックする。その後、ステップS4に遷移する。
【0046】
[ステップS4] 配置処理部13は、選択したインスタンスについて、ユーザが配置を検討した座標の入力を受け付ける。例えば、配置処理部13は、マウス105bのポインタの先端の位置をこの座標として認識することができる。その後、ステップS5に遷移する。
【0047】
[ステップS5] 配置処理部13は、配置パラメータファイルを参照し、ユーザが指定したモードが配線モードか否かを判断する。配線モードである場合(ステップS5のYes)、ステップS6に遷移する。配線モードではない場合(ステップS5のNo)、ステップS8に遷移する。
【0048】
[ステップS6] 配置処理部13は、配線処理部15を呼び出す。その後、ステップS7に遷移する。
[ステップS7] 配置処理部13は、配線処理を配線処理部15に実行させる。そして、配線結果である表示用の未確定の実配線データを作成する。その後、ステップS9に遷移する。
【0049】
[ステップS8] 配置処理部13は、論理接続情報の表示依頼を、会話型エディタ12に送る。その後、ステップS9に遷移する。
[ステップS9] 配置処理部13は、ユーザが、配置対象のインスタンスの配置を確定したこと(配置位置の確定)を受け付けると、ステップS10に遷移する。
【0050】
[ステップS10] 配置処理部13は、配置位置の確定を受け付けると、配置座標を決定する。また、配置座標の決定に伴い、ステップS6にて作成した未確定の実配線情報を実配線の情報として登録する。その後、ステップS2に遷移する。
【0051】
以上で、配置処理部13の処理の説明を終了する。
なお、図4では、ステップS3の処理を行った後にステップS4の処理を行ったが、これに限らず、ステップS4の処理を行った後にステップS3の処理を行ってもよい。
【0052】
次に、ユーザが設定するパラメータについて説明する。
図5は、ユーザが設定するパラメータを示す図である。
図5に示す配置パラメータ設定画面17aには、ユーザが設定することができるモードを含むパラメータが表示されている。この配置パラメータ設定画面17aで設定された事項が、配置パラメータファイルに格納される。
【0053】
なお、図5では、一例として、設定された状態を斜線で示している。
ユーザは、ルータモード(Router Mode)、グループモード(Group Mode)、グループ内部ネット配線削除モード(Group Int. Delete)を設定することができる。
【0054】
ルータモードが「ON」に設定された場合、配置処理部13は、配置作業時(前述したステップS6)から配線を表示し、配置位置の確定と同時に配線を作成する。
ルータモードが「OFF」に設定された場合、配置処理部13は、配置作業時には論理接続情報が線表示される。また、配置位置の確定と同時に配線は作成されない。
【0055】
これにより、ユーザは、初期配置等で配線作成が不要の場合にはルータモードを「OFF」に設定することにより、設計支援装置10に配線をさせないようにすることができる。
【0056】
グループモードが「ON」に設定された場合、配置処理部13は、配置位置の確定と同時に配線を作成する。
グループモードが「OFF」に設定された場合、配置処理部13は、配置位置の確定時には、配線を作成しない。
【0057】
これにより、グループ配置で配線作成してもユーザが、視覚的に確認しづらい場合等、配線作成が不要の場合には、グループモードを「OFF」に設定することにより、配線を作成しないようにすることができる。
【0058】
グループ内部ネット配線削除モードが「ON」に設定された場合、配置処理部13は、配置位置の確定と同時にグループ内に閉じたネットの配線を削除する。
グループ内部ネット配線削除モードが「OFF」に設定された場合、配置処理部13は、配置位置の確定時にはグループ内に閉じたネットの配線を削除することなくそのまま残す。
【0059】
ユーザは、既存の配線を削除したい場合や、インスタンスで特定されるセルを異なる場所に移動する際に改めて配線を実施したい場合等に、グループ内部ネット配線削除モードを「OFF」にすることにより、セル移動の際にグループ内に閉じたネットの配線に対して制御が可能となる。
【0060】
また、ユーザは、パスモード(pass Mode)、ネットモード(net Mode)の設定、および、削除モード(del Mode)、優先配線モード(priority Mode)の設定をすることができる。
【0061】
パスモードとネットモードはトグル(toggle)になっており、いずれか一方を設定すると、他方は未設定(未選択)となる。それ以外のモードは、それぞれ独立しており、いずれも別個に設定、未設定を決定することができる。
【0062】
この機能により、ネット単位、パス単位でインスタンスを配置しながら配線作成の制御が可能となる。
この設定は、ネット設定部171aにて、全てのネットについて一括で行うことができるし、ネット単位でもできる。
【0063】
全てのネットについて一括で設定するときは、全体ネット(All Net)設定部172aで設定する。
各ネット単位の設定は、後述するレイアウト画面で行うことができる。レイアウト画面で行った設定が、個別ネット設定表示画面173aに表示(反映)される。
【0064】
ここで、個別ネット設定表示画面173aのPhy/Logの欄には、該当ネットが結ぶ2点間におけるX座標値の差とY座標値の差を合計した長さを表す論理長、および、実際の配線または仮配線の長さを表す実配線長が、この順番で設定されている。
【0065】
Ratioの欄には、論理長に対する実配線長の百分率(%)が設定されている。
Place/ALLの欄には、ネット内のセルの配置個数が設定されている。Placeは、現在配置されている個数を示している。ALLは、配置すべき数を示している。
【0066】
例えばインスタンスを配置する候補位置を検索している際には、これらの数値が動的に変化する。これにより、配置位置決定の際の目安とすることが可能となり、より正確な位置にインスタンスを配置することができる。
【0067】
各ネット単位でモードを設定することにより、配線作成に関して配置するセルの端子に繋がるネットについてそのネット単位に配線作成の制御が可能となる。ネット単位、パス単位、また最優先配線するかどうかが制御可能となる。
【0068】
図6は、ネット単位の設定方法の一例を示す図である。
図6に示すインスタンスIns2は、2つの入力端子In1、In2、1つの出力端子Outのセルである。このセルを移動する際には3ネット(Net−A、Net−B、Net−C)分の配線が存在する。
【0069】
ユーザが、インスタンスIns2を移動対象のセルとして選択したときに、表示処理部17は、配置処理部13の依頼に基づいて、動的にセルに存在するネットに対するパラメータを、個別ネット設定表示画面173aに表示する。
【0070】
各々のパラメータのデフォルトの値は、全体ネット設定部172aで設定された値となる。そして、ユーザが、全体ネット設定部172aの操作を行うと、配置処理部13は、個別ネット設定表示画面173aに表示されている全てのネットの設定全体ネット設定部172aの設定に切り替わる。
【0071】
例えば、全体ネット設定部172aにおいて、優先配線モードを「OFF」に設定すると、個別ネット設定表示画面173aの全ての優先配線モードが「OFF」に切り替わる。端子(ネット)単位に動作を変更したい場合には、ネット単位でその指定をする。
【0072】
次に、これらのモードを選択したときの配置処理部13の動作について説明する。
以下、配置パラメータ設定画面17aにおいて、設定されたモードにおける配置処理部13の動作の具体例を説明する。
【0073】
なお、以下の説明では、図14を除き、単一配線層の基板上にインスタンスを配置する場合の配置処理部13の動作の具体例を説明する。
図7は、設定されたルータモードにおける配置処理部の動作の違いを示す図である。
【0074】
点線を介して左側が、ユーザが行う配置作業を示している。右側が、レイアウト画面上に表示されるインスタンスを示している。
図7の説明の便宜上、ネットリストには、Net−A(Ins1、Ins2)と記載されているものとする。
【0075】
レイアウト画面に表示される回路ブロック21は、インスタンスIns1が配置された状態を示している。
ルータモードが「OFF」に設定された場合には、配置処理部13は、配置候補検索時には、論理的に接続されていることを示す線(論理接続情報)を表示する。
【0076】
図7では、配置候補としてインスタンスIns2を例示している。回路ブロック21aに示すように、ユーザが、インスタンスIns2の配置を変更すると、配置処理部13は、実際の配線とは無関係に、インスタンスIns1との間で最短距離となる論理接続情報R1を表示する。
【0077】
そして、回路ブロック21bに示すように、ルータモードが「OFF」に設定された場合には、配置処理部13は、ユーザがインスタンスIns2の配置位置を確定したときに、配線を作成しない。これにより初期配置等で配線作成が不要の場合には配線が作成されないような制御が可能となる。
【0078】
他方、ルータモードが「ON」に設定された場合には、配置処理部13は、配置作業時から実際に配線を行う位置での仮の配線を表示する。
回路ブロック21cに示すように、ユーザがインスタンスIns2の配置を変更すると、インスタンスIns1との間で、実際に配線を行う位置での仮の配線を表示する。なお、図7では、仮の配線を点線で示している。
【0079】
そして、回路ブロック21dに示すように、ルータモードが「ON」に設定された場合には、配置処理部13は、ユーザがインスタンスIns2の配置位置を確定すると同時に表示されている仮の配線が確定する。このように、ルータモードが「ON」に設定された場合には、ネット内の最後のセルを配置した瞬間に配線を完結することができる。
【0080】
図8は、設定されたグループモードにおける配置処理部の動作の違いを示す図である。
図8の説明の便宜上、ネットリストには、Net−A(Ins1、Ins2、Ins3)と記載されているものとする。
【0081】
回路ブロック22a、22bは、回路ブロック22において、ユーザが、インスタンスIns2、Ins3をまとめて移動したときの設定されたグループモードによる配置処理部13の動作の違いを示している。
【0082】
回路ブロック22aは、グループモードが「OFF」に設定された場合の処理結果を示している。グループモードが「OFF」に設定された場合には、配置処理部13は、ユーザがインスタンスIns2、Ins3の配置位置を確定した時に、配線を作成しない。これによりグループ配置で配線作成しても設計者が視覚的に確認しづらい場合等、配線作成が不要の場合には配線が作成されないような制御が可能となる。
【0083】
回路ブロック22bは、グループモードが「ON」に設定された場合の処理結果を示している。グループモードが「ON」に設定された場合には、配置処理部13は、配置位置の確定と同時に新たな配線を作成し、インスタンスIns1とインスタンスIns2、Ins3とを接続する。
【0084】
図9は、設定されたグループ内部ネット配線削除モードにおける配置処理部の動作の違いを示す図である。
図9の説明の便宜上、ネットリストには、Net−A(Ins1、Ins3)、Net−B(Ins2、Ins4)、Net−C(Ins3、Ins4)と記載されているものとする。
【0085】
回路ブロック23a、および、回路ブロック23bは、回路ブロック23の配線状態からインスタンスIns3、Ins4を移動した場合を示している。
ユーザが、配置を確定すると、グループ内部ネット配線削除モードの設定状況に応じて回路ブロック23aまたは、回路ブロック23bに遷移する。
【0086】
回路ブロック23aは、グループ内部ネット配線削除モードが「OFF」に設定された場合の処理結果を示している。グループ内部ネット配線削除モードが「OFF」に設定された場合には、配置処理部13は、インスタンスの配置位置の確定時、または、インスタンスの削除時(未配置確定時)にはグループ内に閉じたネットの配線を削除することはなくそのまま残す。すなわち、回路ブロック23aでは、インスタンスIns3、Ins4間の配線を削除することなくそのまま残す。
【0087】
回路ブロック23bは、グループ内部ネット配線削除モードが「ON」に設定された場合の処理結果を示している。グループ内部ネット配線削除モードが「ON」に設定された場合には、配置処理部13は、配置の確定、または、削除の確定と同時にグループ内に閉じたネットの配線を削除する。回路ブロック23bでは、インスタンスIns3、Ins4間の配線を削除する。これにより、既存の配線を削除したい場合や、インスタンスを異なる場所に移動する際に改めて配線を実施したい場合等に、制御可能となる。
【0088】
図10は、パスモードが設定されたときの配置処理部の動作を示す図である。
図10の説明の便宜上、ネットリストには、Net−A(Ins1、Ins2、Ins3、Ins4)と記載されているものとする。
【0089】
パスモードが選択されている場合には、配置処理部13は、セルを配置する毎に配線を作成する。
回路ブロック24には、初期状態としてインスタンスIns1が配置されている。
【0090】
回路ブロック24aに示すように、ユーザが、インスタンスIns3を配置すると、配置処理部13は、インスタンスIns1とインスタンスIns3とを接続する配線を表示するよう会話型エディタ12に依頼する。
【0091】
そして、回路ブロック24bに示すように、ユーザが、インスタンスIns4を配置すると、配置処理部13は、インスタンスIns1、Ins3、Ins4を接続する配線を表示するよう会話型エディタ12に依頼する。
【0092】
その後、回路ブロック24cに示すように、ユーザが、インスタンスIns2を配置すると、インスタンスIns2とインスタンスIns4とを接続する配線を表示するよう会話型エディタ12に依頼する。これにより、インスタンスIns1〜Ins4が接続される。
【0093】
図11は、ネットモードが設定されたときの配置処理部の動作を示す図である。
図11の説明の便宜上、ネットリストには、Net−A(Ins1、Ins2、Ins3、Ins4)と記載されているものとする。
【0094】
ネットモードが選択されている場合には、配置処理部13は、ネット内のセルの配置が全て配置された後に配線を作成する。
回路ブロック24dに示すように、ユーザが、インスタンスIns3を配置しても、配置処理部13は、インスタンスIns1とインスタンスIns3とを接続しない。
【0095】
そして、回路ブロック24eに示すように、ユーザが、インスタンスIns4を配置しても、配置処理部13は、インスタンスIns1、Ins3、Ins4を接続しない。
その後、回路ブロック24fに示すように、ユーザが、インスタンスIns2を配置すると、インスタンスIns1、Ins3、Ins4を接続し、インスタンスIns2とインスタンスIns4とを接続する。これにより、インスタンスIns1〜Ins4が接続される。
【0096】
図12は、設定された優先配線モードにおける配置処理部の動作の違いを示す図である。
図12の説明の便宜上、ネットリストには、Net−A(Ins1、Ins2)、Net−B(Ins3、Ins4)と記載されているものとする。
【0097】
優先配線モードが選択されている場合では、配置処理部13は、配線作成時の配線の最優先度を制御する。
回路ブロック25aは、回路ブロック25の配線状態からインスタンスIns1を移動した場合を示している。
【0098】
ユーザが、インスタンスの配置を確定すると、優先配線モードの設定状況に応じて回路ブロック25bまたは、回路ブロック25cに遷移する。
回路ブロック25bは、インスタンスIns1の優先配線モードが「OFF」に設定された場合の処理結果を示している。
【0099】
優先配線モードが「OFF」に設定された場合には、配置位置の確定時に配線が迂回する。すなわち、インスタンスIns3、Ins4間の配線が、インスタンスIns1、Ins2間の配線に優先する。
【0100】
回路ブロック25cは、インスタンスIns1の優先配線モードが「ON」に設定された場合の処理結果を示している。
優先配線モードが「ON」に設定された場合には、最優先で配線する。すなわち、インスタンスIns3、Ins4間の配線に関わらず、インスタンスIns1、Ins2間の配線経路が最短となるように配線する。なお、この状態では、インスタンスIns1、Ins2間の配線と、インスタンスIns3、Ins4間の配線の間に重なる部分が存在し短絡している。
【0101】
これによりネットがクリティカルパスの場合等の理由により、最優先で配線させたい場合の配線制御が可能となる。
以下、インスタンスIns1、Ins2間の配線と、インスタンスIns3、Ins4間の配線の短絡を回避する方法を説明する。
【0102】
図13は、短絡を回避する方法を説明する図である。
短絡状態では、ユーザが、手動でNet−Aの配線を移動するか、通常の配線モードを選択して、Net−Aについて再配線指示をして配線を実施し、最終的には短絡を回避する。
【0103】
回路ブロック25dは、前者の例を示し、回路ブロック25eは、後者の例を示している。
図14は、複数配線層において短絡を回避する方法を示す図である。
【0104】
一般的に、自動配線は混雑した状況を避けるため、空いている経路(混雑をさける状況のコントロールは通常パラメータでコントロールしている)を選択するケースもあるが、優先配線モードが「ON」に設定された場合には、配置処理部13は、混雑している部分が存在しているか、いないかに関わらず最優先で配線を実施する。この際、状況によっては短絡が発生する(短絡が回避できない)可能性もあるが、発生した場合には図13で説明した方法にて短絡を回避する処理を行うことができる。
【0105】
回路ブロック25fは、2層の基板上に配置されたインスタンスIns1〜Ins4を示している。図14では、上層の基板に配置された配線(横線)を実線で示し、下層の基板に配置された配線(縦線)を点線で示している。
【0106】
回路ブロック25gは、回路ブロック25fの配線状態からインスタンスIns1を移動した場合を示している。
ユーザが、配置を確定すると、優先配線モードの設定状況に応じて回路ブロック25hまたは、回路ブロック25iに遷移する。
【0107】
回路ブロック25hは、インスタンスIns1の優先配線モードが「OFF」に設定された場合の処理結果を示している。
優先配線モードが「OFF」に設定された場合には、配置位置の確定時に配線が迂回する。すなわち、インスタンスIns1、Ins2間の配線は、回路ブロック25hの一点鎖線で囲まれた配線の混雑領域251を回避するように配線する。
【0108】
回路ブロック25iは、インスタンスIns1の優先配線モードが「ON」に設定された場合の処理結果を示している。
優先配線モードが「ON」に設定された場合には、回路ブロック25iの一点鎖線で囲まれた混雑領域251の有無にかかわらず、最優先で配線を実施する。
【0109】
図15は、設定された削除モードにおける配置処理部の動作の違いを示す図である。
図15の説明の便宜上、ネットリストには、Net−A(Ins1、Ins2)と記載されているものとする。
【0110】
削除モードが選択されている場合では、配置処理部13は、インスタンスを削除して当該インスタンスで特定されるセルを未配置に戻す際に現在配置されている配線をどのように扱うかを制御する。
【0111】
回路ブロック26a、および、回路ブロック26bは、回路ブロック26の配線状態からインスタンスIns2を削除してインスタンスIns2で特定されるセルを未配置に戻した場合を示している。
【0112】
ユーザが、インスタンスの削除により当該インスタンスで特定されるセルの未配置状態を確定すると、削除モードの設定状況に応じて回路ブロック26a、または、回路ブロック26bに遷移する。
【0113】
回路ブロック26aは、削除モードが「OFF」に設定された場合の処理結果を示している。
削除モードが「OFF」に設定された場合には、インスタンスIns2の削除時において当該インスタンスで特定されるセルの未配置状態を確定した場合には配線を削除することはなくそのまま残す。
【0114】
回路ブロック26bは、削除モードが「ON」に設定された場合の処理結果を示している。
削除モードが「ON」に設定された場合にはインスタンスIns2の削除による当該インスタンスで特定されるセルの未配置状態の確定と同時に配線が削除される。
【0115】
このように、削除モードでは、インスタンスの削除による当該インスタンスで特定されるセルの未配置状態を確定する際に、既存の配線を削除したい場合や、インスタンスを異なる場所に移動する際に改めて配線を実施したい場合等に、制御可能となる。
【0116】
図16は、設定された削除モードにおける配置処理部の動作の違いを示す図である。
図16の説明の便宜上、ネットリストには、Net−A(Ins1、Ins2)と記載されているものとする。
【0117】
回路ブロック26c、および、回路ブロック26dは、回路ブロック26の配線状態からインスタンスIns2を移動した場合を示している。
ユーザが、配置移動を確定すると、削除モードの設定状況に応じて回路ブロック26c、または、回路ブロック26dに遷移する。
【0118】
回路ブロック26cは、削除モードが「OFF」に設定された場合の処理結果を示している。
削除モードが「OFF」に設定された場合には、配置移動確定時には配線を削除することはなくそのまま残す。
【0119】
回路ブロック26dは、削除モードが「ON」に設定された場合の処理結果を示している。
削除モードが「ON」に設定された場合には配置移動確定と同時に配線が削除される。
【0120】
次に、ネット単位で優先配線モードを選択した場合の配置処理部13の動作例を説明する。
図17は、ネット単位で優先配線モードを選択した場合の配置処理部の動作例を説明する図である。
【0121】
図17の説明の便宜上、ネットリストには、Net−A(Ins1−Out、Ins2−In1)、Net−B(Ins3−Out、Ins2−In2)、Net−C(Ins2−Out、Ins4−In)、Net−D(Ins5−Out、Ins6−In)と記載されているものとする。
【0122】
図17に示す個別ネット設定表示画面173aでは、出力端子Outに接続するネットNet−Cに対して優先配線モードが「ON」に設定され、それ以外の入力端子In1、In2に対して優先配線モードが「OFF」に設定されている場合を示している。
【0123】
回路ブロック27aは、回路ブロック27において、ユーザが、インスタンスIns2を下方向に移動したときの配置処理部13の動作結果を示している。
ユーザが、インスタンスIns2を移動し、配置位置を確定すると、配置処理部13は、配置パラメータ格納部14に格納された配置パラメータファイルを読み込み、個別ネット設定表示画面173aの設定状況を参照する。
【0124】
そして、配置処理部13は、入力端子In1に接続するネットNet−A、および、入力端子In2に接続するネットNet−Bの優先配線モードが「OFF」に設定されていることを確認する。
【0125】
このため、配置処理部13は、ネットNet−A、および、ネットNet−Bを他のネットに干渉しないように迂回して配線する。
他方、出力端子Outに接続されるネットNet−Cは、優先配線モードが「ON」に設定されていることを確認する。
【0126】
このため、配置処理部13は、ネットNet−Cを優先的に配線する。
このように移動するセルに対してセル内に接続するネット単位で配線を自由にコントロールすることが可能となる。
【0127】
なお、図7〜図17に関してはネットについての処理を例に説明したが、端子間についても同等の処理を行うことができる。
以上説明した、各モードの処理は、以下に示すフローチャートにより実現される。
【0128】
図18、および図19は、配置処理部の処理を詳しく示すフローチャートである。
[ステップS11] 配置処理部13は、配置パラメータファイルを参照し、ユーザが指定したモードが配線モードか否かを判断する。配線モードである場合(ステップS11のYes)、ステップS12に遷移する。配線モードではない場合、図4に示すステップS8以下の処理を実行する。
【0129】
[ステップS12] 配置処理部13は、配置するために選択されたセルの数をチェックする。単数の場合(ステップS12のYes)、ステップS13に遷移する。複数である場合(ステップS12のNo)、ステップS37に遷移する。
【0130】
[ステップS13] 配置処理部13は、掴んだセル内の端子の属するネット一覧を、個別ネット設定表示画面173aに表示するよう、会話型エディタ12に依頼する。
[ステップS14] 配置処理部13は、配置パラメータファイルの配線部分の修正が存在するか否かを判断する。具体的には、変更がある場合には(ステップS14のYes)、ステップS15に遷移する。このパラメータの修正が現在記憶している状態と変更がない状態であれば(ステップS14のNo)、そのままパラメータを使用するためステップS16に遷移する。
【0131】
[ステップS15] 配置処理部13は、再度、配置パラメータファイルを配置パラメータ格納部14から読み直す。その後、ステップS16に遷移する。
[ステップS16] 配置処理部13は、掴んだセルの位置、すなわち、マウス105bの位置が、一定時間以上、同じ位置に存在するか否かを判断する。これは、セルの配置候補位置は、マウス105bで指示した位置になるからである。
【0132】
一定時間以上、同じ位置に存在する場合は(ステップS16のYes)、ステップS18に遷移し、実際の配線処理へ続く。一定時間未満にマウス105bが移動された場合には(ステップS16のNo)、ステップS17に遷移する。
【0133】
[ステップS17] 配置処理部13は、論理接続情報を表示処理部17に表示させるよう会話型エディタ12に依頼する。その後、ステップS16に遷移する。
このように、ステップS16、および、ステップS17の処理が、マウス105bの位置が一定時間固定されるまでの間繰り返される。これにより、表示用配線作成処理時間よりマウス105bの位置移動の時間が短時間の場合には、会話型エディタ12が表示用配線を作成しないようにしている。
【0134】
ステップS18以降の処理では、選択されたセル内の端子のネットに対して実配線を作成していく。
[ステップS18] 配置処理部13は、掴んだセル内の端子のネットを選択する。その後、ステップS19に遷移する。
【0135】
[ステップS19] 配置処理部13は、端子のモード等を取得する。その後、ステップS20に遷移する。
[ステップS20] 配置処理部13は、ステップS19にて選択したモードが、前回と同じか否かを判断する。前回と同じであれば(ステップS20のYes)、すなわち、既に表示用配線が作成されていれば、その配線を表示候補として利用する。このため、ステップS21以降の処理は実施しないため、ステップS32に遷移する。前回と同じではなければ(ステップS20のNo)、すなわち、パラメータが変更されていたり、表示用配線が存在しなかったりする場合には、ステップS21に遷移する。
【0136】
[ステップS21] 配置処理部13は、配置パラメータファイルを参照し、ネットモードが「ON」に設定されているか否かを判断する。ネットモードが「ON」に設定されている場合(ステップS21のYes)、ステップS22に遷移する。ネットモードが「OFF」に設定されている場合(ステップS21のNo)、すなわち、パスモードが「ON」に設定されている場合、ステップS25に遷移する。
【0137】
[ステップS22] ネットモードが「ON」に設定されている場合には、ネット内の端子が全て配置された場合に配線を作成するモードであるので、配置処理部13は、ネット内の選択した端子以外の全ての端子が配置されたかチェックする。配置された場合(ステップS22のYes)、ステップS23に遷移する。配置されていない場合(ステップS22のNo)、ステップS24に遷移する。
【0138】
[ステップS23] 配置処理部13は、表示用の配線を作成するため、既存の配線が存在した場合には、ネット内の全ての既存の配線情報を、削除可能データとして登録する。その後、ステップS27に遷移する。
【0139】
[ステップS24] 表示用配線作成は実施しないので、配置処理部13は、既存の配線が存在した場合、ネット内の全ての配線情報を、配線表示用データとして登録する。その後、ステップS32に遷移する。
【0140】
[ステップS25] 配置処理部13は、パスモードであると判断し、選択した端子からの既存のパス配線が存在すれば、その配線を、削除可能データとして登録する。その後、ステップS26に遷移する。
【0141】
[ステップS26] 配置処理部13は、残った配線、すなわち、削除可能データとして登録されなかった配線を、配線表示用データとして登録する。その後、ステップS27に遷移する。
【0142】
[ステップS27] 配置処理部13は、配置パラメータファイルを参照し、消去モードが「ON」に設定されているか否かを判断する。消去モードが「ON」に設定されている場合(ステップS27のYes)、表示用配線作成処理は実施しない。ステップS32に遷移する。消去モードが「OFF」に設定されている場合(ステップS27のNo)、ステップS28に遷移する。
【0143】
[ステップS28] 配置処理部13は、配置パラメータファイルを参照し、優先配線モードが「ON」に設定されているか否かを判断する。優先配線モードが「ON」に設定されている場合(ステップS28のYes)、最優先で配線を実施するため他のネット情報は不要なので配線用マップに登録はしない。ステップS30に遷移する。優先配線モードが「OFF」に設定されている場合(ステップS28のNo)、ステップS29に遷移する。
【0144】
[ステップS29] 配置処理部13は、他のネット情報を配線用マップに登録する。その後、ステップS30に遷移する。
[ステップS30] 配置処理部13は、端子の配置情報等を配線処理フェーズに送って配線を行う。その後、ステップS31に遷移する。
【0145】
[ステップS31] 配置処理部13は、ステップS30にて作成された配線を配線表示用データとして登録する。その後、ステップS32に遷移する。
[ステップS32] 配置処理部13は、選択したインスタンスの全ての端子が処理されたかチェックする。全ての端子が処理された場合(ステップS32のYes)、ステップS33に遷移する。全ての端子が処理されていない場合(ステップS32のNo)、ステップS18に遷移する。
【0146】
[ステップS33] 配置処理部13は、配線表示用データに登録されたデータを表示処理部17に表示させるよう会話型エディタ12に依頼する。
[ステップS34] 配置処理部13は、ステップS33にて表示されたデータを確認して配置位置が確定されたか否かを確認する。配置位置が確定された場合(ステップS34のYes)、ステップS35に遷移する。配置位置が確定されていない場合(ステップS34のNo)、ステップS14に遷移する。
【0147】
[ステップS35] 配置処理部13は、配線表示用データを実配線データとして登録する。その後、ステップS36に遷移する。
[ステップS36] 配置処理部13は、削除可能性データに保存したデータを削除する。その後、図4に示すステップS2以下の処理を実行する。
【0148】
[ステップS37] 配置処理部13は、グループモードが「ON」に設定されているか否かをチェックする。グループモードが「ON」に設定されている場合(ステップS37のYes)、ステップS38に遷移する。グループモードが「OFF」に設定されている場合(ステップS37のNo)、ステップS43に遷移する。
【0149】
[ステップS38] 配置処理部13は、グループ内のセルをまとめて1つのセルとしてみなす。その後、ステップS39に遷移する。
[ステップS39] 配置処理部13は、ここでグループ外部と接続のある端子を、そのセルの端子として扱い、内部ネットについて配線表示用ネットとして登録する。
【0150】
単数セルとの違いは内部ネットが存在していることである。この内部ネットについて配線が存在する場合には、グループ内部ネット配線削除モードの設定状況で処理が分かれる。
【0151】
[ステップS40] 配置処理部13は、配置パラメータファイルを参照し、グループ内部ネット配線削除モードが「ON」に設定されているか否かを判断する。グループ内部ネット配線削除モードが「ON」に設定されている場合(ステップS40のYes)、ステップS42に遷移する。グループ内部ネット配線削除モードが「OFF」に設定されている場合(ステップS40のNo)、ステップS41に遷移する。
【0152】
[ステップS41] 配置処理部13は、内部ネットの配線情報を配線表示用データとして登録する。その後、ステップS42に遷移する。
[ステップS42] 配置処理部13は、内部ネットの配線情報を削除可能性データとして登録する。その後、ステップS13に遷移する。
【0153】
[ステップS43] 配置処理部13は、表示用配線を作成する処理に入らず、当該ステップS43に遷移した回数のチェックを行う。この回数が一定回数を超えていない場合(ステップS43のNo)、ステップS37に遷移する。一定回数を超えていた場合(ステップS43のYes)、図4のステップS8以降の処理を実行する
以上で、フローチャートの説明を終了する。
【0154】
このように、表示用の配線データや、削除用の配線データを予め登録しておくことで、会話型エディタ12の負荷を軽減することができる。
以上述べたように、設計支援装置10によれば、会話型エディタ12の配置フェーズ中に配線フェーズを導入することで、配置するオブジェクトに対する配線を作成、参照可能とするようにした。
【0155】
具体的には、配置処理部13が、ルータモードが「ON」に設定された場合、ネット内の最後のセルを配置したときに、配線を完結するようにしたので、セルを配置した後に配線指示をすることがない。これにより、設計者の手間を減らすことができる。
【0156】
また、ルータモードが「ON」に設定された場合、ネット内の最後のセルを配置する前に配線形状を表示するようにしたので、配置検討中に、配線の形状を確認することができる。これにより、設計者の手間を減らすことができる。
【0157】
また、優先配線モードが「ON」に設定された場合、他の配線に優先して配置対象のセルについての配線を配置するようにしたので、優先配線ネットの再配線の際、他の配線の影響を受けない配線結果を得ることができる。
【0158】
以上、本発明の設計支援装置、制御方法および制御プログラムを、図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物や工程が付加されていてもよい。
【0159】
また、本発明は、前述した実施の形態のうちの、任意の2以上の構成(特徴)を組み合わせたものであってもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、設計支援装置10が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリ等がある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープ等がある。光ディスクには、DVD、DVD−RAM、CD−ROM/RW等がある。光磁気記録媒体には、MO(Magneto-Optical disk)等がある。
【0160】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROM等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0161】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0162】
また、上記の処理機能の少なくとも一部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)等の電子回路で実現することもできる。
【0163】
以上の第1〜第2の実施の形態に関し、さらに以下の付記を開示する。
(付記1) 表示部に接続される設計支援装置において、
回路の論理接続情報と配置対象のセルのセル情報を記憶する記憶部と、
前記記憶部に記憶されたセル情報のうち、配置対象のセルのセル情報を選択する選択部と、
入力された位置情報に基づいて、選択された前記セル情報のセルの仮の配置を行う配置部と、
配線モードであるか否かを判断する判断部と、
前記判断部が配線モードであると判断した場合、仮の配置がされた前記セルに接続する配線について仮の配線を行う配線部と、
前記セルの配置位置の確定に基づいて、配線された前記セルの仮の配線の配置位置を確定する確定部と、
を有することを特徴とする設計支援装置。
【0164】
(付記2) 前記配線部は、選択された前記セル以外のセルが全て配置されている場合、選択された前記セル以外のセルに接続された配線済みの配線データを前記表示部に表示する表示データとして取り扱わないことを特徴とする付記1記載の設計支援装置。
【0165】
(付記3) 前記配線部は、選択された前記セル以外のセルが全て配置されていない場合、選択された前記セル以外のセルに接続された配線済みの配線データを前記表示部に表示する表示データとして取り扱うことを特徴とする付記1記載の設計支援装置。
【0166】
(付記4) 前記配線部は、選択された前記セルに配線が接続される度に、選択された前記セルに接続された配線済みの配線に関する配線データを前記表示部に表示する表示データとして取り扱わないことを特徴とする付記1記載の設計支援装置。
【0167】
(付記5) 前記配線部は、選択された前記セルに配線が接続される度に、選択された前記セルに接続された配線済みの配線以外の配線に関する配線データを前記表示部に表示する表示データとして取り扱うことを特徴とする付記1記載の設計支援装置。
【0168】
(付記6) 前記配線部は、仮の配置がされた前記セルに接続する配線について、既存の配線に重複して配線することを特徴とする付記1記載の設計支援装置。
(付記7) 前記判断部が配線モードではないと判断した場合、仮の配線がされた前記セルに接続する配線について論理接続情報を前記表示部に表示する論理接続情報表示部をさらに有することを特徴とする付記1記載の設計支援装置。
【0169】
(付記8) 前記判断部は、配線モードであると判断した場合、選択された前記セルが複数でありグループ化されているか否かをさらに判断し、
前記判断部が、前記セルが複数でありグループ化されていると判断した場合、前記配線部は、内部ネットの配線情報の単位で、配線データの表示または削除を決定することを特徴とする付記1記載の設計支援装置。
【0170】
(付記9) 前記配置部は、仮の配置がされた前記セルが一定時間以上同じ位置に存在し、かつ、前記判断部が配線モードであると判断した場合、仮の配置がされた前記セルに接続する配線について仮の配線を行うことを特徴とする付記1記載の設計支援装置。
【0171】
(付記10) 表示部に接続される設計支援装置を制御する制御方法において、
コンピュータが、
回路の論理接続情報と配置対象のセルのセル情報を記憶する記憶部に記憶されたセル情報のうち、配置対象のセルのセル情報を選択し、
入力された位置情報に基づいて、選択された前記セル情報のセルの仮の配置を行い、
配線モードであるか否かを判断し、
配線モードであると判断された場合、仮の配置がされた前記セルに接続する配線について仮の配線を行い、
前記セルの配置位置の確定に基づいて、配線された前記セルの仮の配線の配置位置を確定する、
ことを特徴とする制御方法。
【0172】
(付記11) 選択された前記セル以外のセルが全て配置されている場合、選択された前記セル以外のセルに接続された配線済みの配線データを前記表示部に表示する表示データとして取り扱わないことを特徴とする付記10記載の制御方法。
【0173】
(付記12) 選択された前記セル以外のセルが全て配置されていない場合、選択された前記セル以外のセルに接続された配線済みの配線データを前記表示部に表示する表示データとして取り扱うことを特徴とする付記10記載の制御方法。
【0174】
(付記13) 選択された前記セルに配線が接続される度に、選択された前記セルに接続された配線済みの配線に関する配線データを前記表示部に表示する表示データとして取り扱わないことを特徴とする付記10記載の制御方法。
【0175】
(付記14) 選択された前記セルに配線が接続される度に、選択された前記セルに接続された配線済みの配線以外の配線に関する配線データを前記表示部に表示する表示データとして取り扱うことを特徴とする付記10記載の制御方法。
【0176】
(付記15) 仮の配置がされた前記セルに接続する配線について、既存の配線に重複して配線することを特徴とする付記10記載の制御方法。
(付記16) 配線モードではないと判断された場合、仮の配線がされた前記セルに接続する配線について論理接続情報を前記表示部に表示することを特徴とする付記10記載の制御方法。
【0177】
(付記17) 配線モードであると判断された場合、選択された前記セルが複数でありグループ化されているか否かをさらに判断し、
前記セルが複数でありグループ化されていると判断された場合、内部ネットの配線情報の単位で、配線データの表示または削除を決定することを特徴とする付記10記載の制御方法。
【0178】
(付記18) 仮の配置がされた前記セルが一定時間以上同じ位置に存在し、かつ、配線モードであると判断された場合、仮の配置がされた前記セルに接続する配線について仮の配線を行うことを特徴とする付記10記載の制御方法。
【0179】
(付記19) 表示部に接続され、回路の論理接続情報と配置対象のセルのセル情報を記憶する記憶部を有するコンピュータを制御する制御プログラムにおいて、
前記コンピュータに、
前記記憶部に記憶されたセル情報のうち、配置対象のセルのセル情報を選択する選択手順、
入力された位置情報に基づいて、選択された前記セル情報のセルの仮の配置を行う配置手順、
配線モードであるか否かを判断する判断手順、
前記判断手順により、配線モードであると判断した場合、仮の配置がされた前記セルに接続する配線について仮の配線を行う配線手順、
前記セルの配置位置の確定に基づいて、配線された前記セルの仮の配線の配置位置を確定する確定手順、
を実行させることを特徴とする制御プログラム。
【0180】
(付記20) 前記配線手順では、選択された前記セル以外のセルが全て配置されている場合、選択された前記セル以外のセルに接続された配線済みの配線データを前記表示部に表示する表示データとして取り扱わないことを特徴とする付記19記載の制御プログラム。
【0181】
(付記21) 前記配線手順では、選択された前記セル以外のセルが全て配置されていない場合、選択された前記セル以外のセルに接続された配線済みの配線データを前記表示部に表示する表示データとして取り扱うことを特徴とする付記19記載の制御プログラム。
【0182】
(付記22) 前記配線手順では、選択された前記セルに配線が接続される度に、選択された前記セルに接続された配線済みの配線に関する配線データを前記表示部に表示する表示データとして取り扱わないことを特徴とする付記19記載の制御プログラム。
【0183】
(付記23) 前記配線手順では、選択された前記セルに配線が接続される度に、選択された前記セルに接続された配線済みの配線以外の配線に関する配線データを前記表示部に表示する表示データとして取り扱うことを特徴とする付記19記載の制御プログラム。
【0184】
(付記24) 前記配線手順では、仮の配置がされた前記セルに接続する配線について、既存の配線に重複して配線することを特徴とする付記19記載の制御プログラム。
(付記25) 前記判断手順により、配線モードではないと判断された場合、前記コンピュータに、仮の配線がされた前記セルに接続する配線について論理接続情報を前記表示部に表示する論理接続情報表示手順をさらに実行させることを特徴とする付記19記載の制御プログラム。
【0185】
(付記26) 前記判断手順では、配線モードであると判断した場合、選択された前記セルが複数でありグループ化されているか否かをさらに判断し、
前記判断手順により、前記セルが複数でありグループ化されていると判断された場合、前記配線手順では、内部ネットの配線情報の単位で、配線データの表示または削除を決定することを特徴とする付記19記載の制御プログラム。
【0186】
(付記27) 前記配置手順では、仮の配置がされた前記セルが一定時間以上同じ位置に存在し、かつ、前記判断手順により配線モードであると判断された場合、仮の配置がされた前記セルに接続する配線について仮の配線を行うことを特徴とする付記19記載の制御プログラム。
【符号の説明】
【0187】
1、10 設計支援装置
1a 記憶部
1b 選択部
1c 配置部
1d 判断部
1e 配線部
1f 確定部
2 表示部
2a〜2c 画面
11 データベース
12 会話型エディタ
13 配置処理部
14 配置パラメータ格納部
15 配線処理部
16 配線パラメータ格納部
17 表示処理部
17a 配置パラメータ設定画面
21、21a〜21d、22、22a、22b、23、23a、23b、24、24a〜24f、25、25a〜25i、26、26a〜26d、27、27a 回路ブロック
50 ネットワーク
171a ネット設定部
172a 全体ネット設定部
173a 個別ネット設定表示画面
251 混雑領域
In、In1、In2 入力端子
Out 出力端子
Ins1〜Ins6 インスタンス
P1 ポインタ
R1 論理接続情報
【技術分野】
【0001】
本発明は、設計支援装置、制御方法および制御プログラムに関する。
【背景技術】
【0002】
LSI等の半導体集積回路の物理設計において、モニタに表示された画面上で、回路ブロックを移動させた際に、自動配線を行う設計支援装置(CAD装置:Computer Aided Design)に関する技術が知られている。
【0003】
自動配線では、配線を実施したいネット(回路における端子間の結線(論理接続))、または、端子間について、そのネットを構成している端子、または、端子を持つセル(物理設計における配置の単位となる回路部品)の配置を実施した後に、そのネット、または、端子間に対して自動配線を実施する旨の指示をした結果、配線が実行され配線が完結する技術が知られている。
【0004】
また、画面上で配線を目視、確認しながら、リアルタイムに補修可否を判定する技術が知られている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平8−96012号公報
【特許文献2】特開2000−67101号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ネットを構成している端子、または、端子を持つセルの配置を実施した後に自動配線の実施を明示的に指示していた。このため、セルの配置を完了した後でなければ、自動配線の実施を指示することができない上、セルの配置位置により配線結果が思わしくない場合には、再配置および再配線の指示をその都度行う必要があり、手続きが煩雑であるという問題があった。
【0007】
本発明はこのような点に鑑みてなされたものであり、配線の効率化を図る設計支援装置、制御方法および制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために、開示の設計支援装置が提供される。この設計支援装置は、表示部に接続されており、記憶部と、選択部と、配置部と、判断部と、配線部と、確定部とを有している。
【0009】
記憶部は、回路の論理接続情報と配置対象のセルのセル情報を記憶する。
選択部は、記憶部に記憶されたセル情報のうち、配置対象のセルのセル情報を選択する。
【0010】
配置部は、入力された位置情報に基づいて、選択されたセル情報のセルの仮の配置を行う。
判断部は、配線モードであるか否かを判断する。
【0011】
配線部は、判断部が配線モードであると判断した場合、仮の配置がされたセルに接続する配線について仮の配線を行う。
確定部は、セルの配置位置の確定に基づいて、配線されたセルの仮の配線の配置位置を確定する。
【発明の効果】
【0012】
開示の設計支援装置によれば、配線の効率化を図ることができる。
【図面の簡単な説明】
【0013】
【図1】第1の実施の形態の設計支援装置の概要を示す図である。
【図2】第2の実施の形態の設計支援装置のハードウェアの一構成例を示す図である。
【図3】第2の実施の形態の設計支援装置の機能を示すブロック図である。
【図4】配置処理部の処理を示すフローチャートである。
【図5】ユーザが設定するパラメータを示す図である。
【図6】ネット単位の設定方法の一例を示す図である。
【図7】設定されたルータモードにおける配置処理部の動作の違いを示す図である。
【図8】設定されたグループモードにおける配置処理部の動作の違いを示す図である。
【図9】設定されたグループ内部ネット配線削除モードにおける配置処理部の動作の違いを示す図である。
【図10】パスモードが設定されたときの配置処理部の動作を示す図である。
【図11】ネットモードが設定されたときの配置処理部の動作を示す図である。
【図12】設定された優先配線モードにおける配置処理部の動作の違いを示す図である。
【図13】短絡を回避する方法を説明する図である。
【図14】複数配線層において短絡を回避する方法を示す図である。
【図15】設定された削除モードにおける配置処理部の動作の違いを示す図である。
【図16】設定された削除モードにおける配置処理部の動作の違いを示す図である。
【図17】ネット単位で優先配線モードを選択した場合の配置処理部の動作例を説明する図である。
【図18】配置処理部の処理を詳しく示すフローチャートである。
【図19】配置処理部の処理を詳しく示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、実施の形態を、図面を参照して詳細に説明する。
まず、実施の形態の設計支援装置について説明し、その後、実施の形態をより具体的に説明する。
【0015】
<第1の実施の形態>
図1は、第1の実施の形態の設計支援装置の概要を示す図である。
実施の形態の設計支援装置(コンピュータ)1は、表示部2に接続されており、記憶部1aと、選択部1bと、配置部1cと、判断部1dと、配線部1eと、確定部1fとを有している。
【0016】
記憶部1aは、回路の論理接続情報(ネットリスト、ネット情報)と配置対象のセルのセル情報を記憶している。
選択部1bは、記憶部1aに記憶されたセル情報のうち、配置対象のセルのセル情報を選択する。本実施の形態では、インスタンスIns2を配置対象のセルとする。インスタンスにより、配置対象となるセルの実体を特定することができる。選択部1bは、インスタンスIns2のセル情報を選択する。
【0017】
配置部1cは、入力された位置情報に基づいて、選択されたセル情報のセルの仮の配置を行う。
ここで、画面2aには、予め位置が決定されたインスタンスIns1が配置されている。
【0018】
ユーザは、表示部2に表示された画面2aを見ながらマウスやキーボードによって位置情報(座標)の入力を行うことができる。画面2aには、一例として、マウスのポインタP1を図示している。例えば、配置部1cは、ポインタP1の先端の位置を位置情報として認識することができる。
【0019】
また、例えば、ユーザが、マウスを所定時間、画面2a上で停止させると、画面2bに示すように、選択されたインスタンスIns2が仮配置される。なお、図1では仮配置されたインスタンスIns2を点線で示している。また、この時点では、配線は、表示されない。
【0020】
また、画面2a〜2cは、設計支援装置1の処理および表示部2の表示の遷移を示しており、これら画面2a〜2cが、一度に表示部2に表示されなくてもよい。
判断部1dは、配線モードであるか否かを判断する。この配線モード等を特定する情報は、例えば、ユーザが予め決定して記憶部1aに格納しておくことができる。
【0021】
配線部1eは、判断部1dが配線モードであると判断した場合、仮の配置がされたセルに接続する配線について仮の配線を行う。画面2bに示すように、インスタンスIns1とインスタンスIns2との間に仮の配線が行われる。また、インスタンスIns2の仮配置位置を変更すると、それに伴い、仮の配線の配線位置も変化する。
【0022】
確定部1fは、セルの配置位置の確定に基づいて、配線されたセルの仮の配線の配置位置を確定する。
このセルの配置位置の確定は、例えば、ユーザが、マウスをクリックすること等により行うことができる。これにより、画面2cに示すように、決定された位置にインスタンスIns2が配置される。また、配置されたインスタンスIns2とインスタンスIns1とを接続する配線が、配置される。
【0023】
このような設計支援装置1によれば、インスタンスIns2を配置したときに、配線を完結するようにしたので、インスタンスIns2を配置した後に配線指示を明示的にする必要がない。これにより、設計者の手間を減らすことができる。
【0024】
また、インスタンスIns2を配置する前に配線の形状を表示するようにしたので、配置検討中に、配線の形状を確認することができる。これにより、設計者の手間を減らすことができる。
【0025】
なお、選択部1b、配置部1c、判断部1d、配線部1e、および、確定部1fは、設計支援装置1が有するCPU(Central Processing Unit)が備える機能により実現することができる。また、記憶部1aは、設計支援装置1が有するRAM(Random Access Memory)やHDD(Hard Disk Drive)等が備えるデータ記憶領域により実現することができる。
【0026】
以下、実施の形態をより具体的に説明する。
<第2の実施の形態>
図2は、第2の実施の形態の設計支援装置のハードウェアの一構成例を示す図である。
【0027】
設計支援装置10は、CPU101によって装置全体が制御されている。CPU101には、バス108を介してRAM102と複数の周辺機器が接続されている。
RAM102は、設計支援装置10の主記憶装置として使用される。RAM102には、CPU101に実行させるOS(Operating System)のプログラムやCADプログラム等のアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。
【0028】
バス108に接続されている周辺機器としては、HDD103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、および通信インタフェース107がある。
【0029】
HDD103は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103は、設計支援装置10の二次記憶装置として使用される。HDD103には、OSのプログラム、CADプログラム等のアプリケーションプログラム、および各種データが格納される。なお、二次記憶装置としては、フラッシュメモリ等の半導体記憶装置を使用することもできる。
【0030】
グラフィック処理装置104には、モニタ104aが接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ104aの画面に表示させる。モニタ104aとしては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置等がある。
【0031】
入力インタフェース105には、キーボード105aとマウス105bとが接続されている。入力インタフェース105は、キーボード105aやマウス105bから送られてくる信号をCPU101に送信する。なお、マウス105bは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボール等がある。
【0032】
光学ドライブ装置106は、レーザ光等を利用して、光ディスク200に記録されたデータの読み取りを行う。光ディスク200は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク200には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等がある。
【0033】
通信インタフェース107は、ネットワーク50に接続されている。通信インタフェース107は、ネットワーク50を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【0034】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
このようなハードウェア構成の設計支援装置10内には、以下のような機能が設けられる。
【0035】
図3は、第2の実施の形態の設計支援装置の機能を示すブロック図である。
設計支援装置10は、データベース11と、会話型エディタ12と、配置処理部13と、配置パラメータ格納部14と、配線処理部15と、配線パラメータ格納部16と、表示処理部17とを有している。
【0036】
データベース11には、論理接続情報(ネットリスト、ネット情報)、セルライブラリ情報、インスタンス情報、配線ルール情報、配置情報、配線情報、ユーザ指示情報等が格納されている。
【0037】
会話型エディタ12は、配置処理部13から送られる表示用の未確定の実配線データを受け取ると、未確定の実配線を、確定済みの配線と区別し得る態様(例えば、点線等)でモニタ104aに表示するよう表示処理部17に指示する。
【0038】
会話型エディタ12は、配置処理部13から送られる表示用の論理接続情報の表示依頼を受け取ると、データベース11から論理接続情報を読み出し、読み出した情報をモニタ104aに表示するよう表示処理部17に指示する。
【0039】
配置処理部13は、配置パラメータ格納部14に格納されている、ユーザが指示した配置パラメータファイルを読み込む。そして、ユーザが指示したパラメータファイル内に配線モードが指示されたかを確認する。指示された場合には配線処理部15を呼び出して配線処理を実行する。そして、配線結果である表示用の未確定の実配線データを、会話型エディタ12に送る。他方、指示されていない場合には論理接続情報をモニタ104aに表示させるよう会話型エディタ12に依頼する。
【0040】
さらに、配置処理部13は、配置位置の確定指示があった場合には配置座標、配線経路を確定する。
ここで、配置位置の確定指示としては、例えば、ユーザが、マウスをクリックすること等により、指示することができる。
【0041】
配置パラメータ格納部14は、回転コードや配置スペース等、配置に関するパラメータが格納されている。また、ユーザが指定した配置パラメータファイルも格納されている。
配線処理部15は、配置処理部によって読み出され、配線処理を実行する。
【0042】
配線パラメータ格納部16は、配線に関するパラメータが格納されている。図3では、2層基板の下側の層(下層)の配線(使用配線下層)、および、上側の層(上層)の配線(使用配線上層)を格納している場合を示している。
【0043】
表示処理部17は、会話型エディタ12から送られる情報をモニタ104aに表示する。
次に、配置処理部13の処理を詳しく説明する。
【0044】
図4は、配置処理部の処理を示すフローチャートである。
[ステップS1] 配置処理部13は、配置パラメータ格納部14に格納されている配置パラメータファイルを読み込む。その後、ステップS2に遷移する。
【0045】
[ステップS2] 配置処理部13は、配置対象のインスタンスを選択する。その後、ステップS3に遷移する。
[ステップS3] 配置処理部13は、配置パラメータの変更を再度チェックする。その後、ステップS4に遷移する。
【0046】
[ステップS4] 配置処理部13は、選択したインスタンスについて、ユーザが配置を検討した座標の入力を受け付ける。例えば、配置処理部13は、マウス105bのポインタの先端の位置をこの座標として認識することができる。その後、ステップS5に遷移する。
【0047】
[ステップS5] 配置処理部13は、配置パラメータファイルを参照し、ユーザが指定したモードが配線モードか否かを判断する。配線モードである場合(ステップS5のYes)、ステップS6に遷移する。配線モードではない場合(ステップS5のNo)、ステップS8に遷移する。
【0048】
[ステップS6] 配置処理部13は、配線処理部15を呼び出す。その後、ステップS7に遷移する。
[ステップS7] 配置処理部13は、配線処理を配線処理部15に実行させる。そして、配線結果である表示用の未確定の実配線データを作成する。その後、ステップS9に遷移する。
【0049】
[ステップS8] 配置処理部13は、論理接続情報の表示依頼を、会話型エディタ12に送る。その後、ステップS9に遷移する。
[ステップS9] 配置処理部13は、ユーザが、配置対象のインスタンスの配置を確定したこと(配置位置の確定)を受け付けると、ステップS10に遷移する。
【0050】
[ステップS10] 配置処理部13は、配置位置の確定を受け付けると、配置座標を決定する。また、配置座標の決定に伴い、ステップS6にて作成した未確定の実配線情報を実配線の情報として登録する。その後、ステップS2に遷移する。
【0051】
以上で、配置処理部13の処理の説明を終了する。
なお、図4では、ステップS3の処理を行った後にステップS4の処理を行ったが、これに限らず、ステップS4の処理を行った後にステップS3の処理を行ってもよい。
【0052】
次に、ユーザが設定するパラメータについて説明する。
図5は、ユーザが設定するパラメータを示す図である。
図5に示す配置パラメータ設定画面17aには、ユーザが設定することができるモードを含むパラメータが表示されている。この配置パラメータ設定画面17aで設定された事項が、配置パラメータファイルに格納される。
【0053】
なお、図5では、一例として、設定された状態を斜線で示している。
ユーザは、ルータモード(Router Mode)、グループモード(Group Mode)、グループ内部ネット配線削除モード(Group Int. Delete)を設定することができる。
【0054】
ルータモードが「ON」に設定された場合、配置処理部13は、配置作業時(前述したステップS6)から配線を表示し、配置位置の確定と同時に配線を作成する。
ルータモードが「OFF」に設定された場合、配置処理部13は、配置作業時には論理接続情報が線表示される。また、配置位置の確定と同時に配線は作成されない。
【0055】
これにより、ユーザは、初期配置等で配線作成が不要の場合にはルータモードを「OFF」に設定することにより、設計支援装置10に配線をさせないようにすることができる。
【0056】
グループモードが「ON」に設定された場合、配置処理部13は、配置位置の確定と同時に配線を作成する。
グループモードが「OFF」に設定された場合、配置処理部13は、配置位置の確定時には、配線を作成しない。
【0057】
これにより、グループ配置で配線作成してもユーザが、視覚的に確認しづらい場合等、配線作成が不要の場合には、グループモードを「OFF」に設定することにより、配線を作成しないようにすることができる。
【0058】
グループ内部ネット配線削除モードが「ON」に設定された場合、配置処理部13は、配置位置の確定と同時にグループ内に閉じたネットの配線を削除する。
グループ内部ネット配線削除モードが「OFF」に設定された場合、配置処理部13は、配置位置の確定時にはグループ内に閉じたネットの配線を削除することなくそのまま残す。
【0059】
ユーザは、既存の配線を削除したい場合や、インスタンスで特定されるセルを異なる場所に移動する際に改めて配線を実施したい場合等に、グループ内部ネット配線削除モードを「OFF」にすることにより、セル移動の際にグループ内に閉じたネットの配線に対して制御が可能となる。
【0060】
また、ユーザは、パスモード(pass Mode)、ネットモード(net Mode)の設定、および、削除モード(del Mode)、優先配線モード(priority Mode)の設定をすることができる。
【0061】
パスモードとネットモードはトグル(toggle)になっており、いずれか一方を設定すると、他方は未設定(未選択)となる。それ以外のモードは、それぞれ独立しており、いずれも別個に設定、未設定を決定することができる。
【0062】
この機能により、ネット単位、パス単位でインスタンスを配置しながら配線作成の制御が可能となる。
この設定は、ネット設定部171aにて、全てのネットについて一括で行うことができるし、ネット単位でもできる。
【0063】
全てのネットについて一括で設定するときは、全体ネット(All Net)設定部172aで設定する。
各ネット単位の設定は、後述するレイアウト画面で行うことができる。レイアウト画面で行った設定が、個別ネット設定表示画面173aに表示(反映)される。
【0064】
ここで、個別ネット設定表示画面173aのPhy/Logの欄には、該当ネットが結ぶ2点間におけるX座標値の差とY座標値の差を合計した長さを表す論理長、および、実際の配線または仮配線の長さを表す実配線長が、この順番で設定されている。
【0065】
Ratioの欄には、論理長に対する実配線長の百分率(%)が設定されている。
Place/ALLの欄には、ネット内のセルの配置個数が設定されている。Placeは、現在配置されている個数を示している。ALLは、配置すべき数を示している。
【0066】
例えばインスタンスを配置する候補位置を検索している際には、これらの数値が動的に変化する。これにより、配置位置決定の際の目安とすることが可能となり、より正確な位置にインスタンスを配置することができる。
【0067】
各ネット単位でモードを設定することにより、配線作成に関して配置するセルの端子に繋がるネットについてそのネット単位に配線作成の制御が可能となる。ネット単位、パス単位、また最優先配線するかどうかが制御可能となる。
【0068】
図6は、ネット単位の設定方法の一例を示す図である。
図6に示すインスタンスIns2は、2つの入力端子In1、In2、1つの出力端子Outのセルである。このセルを移動する際には3ネット(Net−A、Net−B、Net−C)分の配線が存在する。
【0069】
ユーザが、インスタンスIns2を移動対象のセルとして選択したときに、表示処理部17は、配置処理部13の依頼に基づいて、動的にセルに存在するネットに対するパラメータを、個別ネット設定表示画面173aに表示する。
【0070】
各々のパラメータのデフォルトの値は、全体ネット設定部172aで設定された値となる。そして、ユーザが、全体ネット設定部172aの操作を行うと、配置処理部13は、個別ネット設定表示画面173aに表示されている全てのネットの設定全体ネット設定部172aの設定に切り替わる。
【0071】
例えば、全体ネット設定部172aにおいて、優先配線モードを「OFF」に設定すると、個別ネット設定表示画面173aの全ての優先配線モードが「OFF」に切り替わる。端子(ネット)単位に動作を変更したい場合には、ネット単位でその指定をする。
【0072】
次に、これらのモードを選択したときの配置処理部13の動作について説明する。
以下、配置パラメータ設定画面17aにおいて、設定されたモードにおける配置処理部13の動作の具体例を説明する。
【0073】
なお、以下の説明では、図14を除き、単一配線層の基板上にインスタンスを配置する場合の配置処理部13の動作の具体例を説明する。
図7は、設定されたルータモードにおける配置処理部の動作の違いを示す図である。
【0074】
点線を介して左側が、ユーザが行う配置作業を示している。右側が、レイアウト画面上に表示されるインスタンスを示している。
図7の説明の便宜上、ネットリストには、Net−A(Ins1、Ins2)と記載されているものとする。
【0075】
レイアウト画面に表示される回路ブロック21は、インスタンスIns1が配置された状態を示している。
ルータモードが「OFF」に設定された場合には、配置処理部13は、配置候補検索時には、論理的に接続されていることを示す線(論理接続情報)を表示する。
【0076】
図7では、配置候補としてインスタンスIns2を例示している。回路ブロック21aに示すように、ユーザが、インスタンスIns2の配置を変更すると、配置処理部13は、実際の配線とは無関係に、インスタンスIns1との間で最短距離となる論理接続情報R1を表示する。
【0077】
そして、回路ブロック21bに示すように、ルータモードが「OFF」に設定された場合には、配置処理部13は、ユーザがインスタンスIns2の配置位置を確定したときに、配線を作成しない。これにより初期配置等で配線作成が不要の場合には配線が作成されないような制御が可能となる。
【0078】
他方、ルータモードが「ON」に設定された場合には、配置処理部13は、配置作業時から実際に配線を行う位置での仮の配線を表示する。
回路ブロック21cに示すように、ユーザがインスタンスIns2の配置を変更すると、インスタンスIns1との間で、実際に配線を行う位置での仮の配線を表示する。なお、図7では、仮の配線を点線で示している。
【0079】
そして、回路ブロック21dに示すように、ルータモードが「ON」に設定された場合には、配置処理部13は、ユーザがインスタンスIns2の配置位置を確定すると同時に表示されている仮の配線が確定する。このように、ルータモードが「ON」に設定された場合には、ネット内の最後のセルを配置した瞬間に配線を完結することができる。
【0080】
図8は、設定されたグループモードにおける配置処理部の動作の違いを示す図である。
図8の説明の便宜上、ネットリストには、Net−A(Ins1、Ins2、Ins3)と記載されているものとする。
【0081】
回路ブロック22a、22bは、回路ブロック22において、ユーザが、インスタンスIns2、Ins3をまとめて移動したときの設定されたグループモードによる配置処理部13の動作の違いを示している。
【0082】
回路ブロック22aは、グループモードが「OFF」に設定された場合の処理結果を示している。グループモードが「OFF」に設定された場合には、配置処理部13は、ユーザがインスタンスIns2、Ins3の配置位置を確定した時に、配線を作成しない。これによりグループ配置で配線作成しても設計者が視覚的に確認しづらい場合等、配線作成が不要の場合には配線が作成されないような制御が可能となる。
【0083】
回路ブロック22bは、グループモードが「ON」に設定された場合の処理結果を示している。グループモードが「ON」に設定された場合には、配置処理部13は、配置位置の確定と同時に新たな配線を作成し、インスタンスIns1とインスタンスIns2、Ins3とを接続する。
【0084】
図9は、設定されたグループ内部ネット配線削除モードにおける配置処理部の動作の違いを示す図である。
図9の説明の便宜上、ネットリストには、Net−A(Ins1、Ins3)、Net−B(Ins2、Ins4)、Net−C(Ins3、Ins4)と記載されているものとする。
【0085】
回路ブロック23a、および、回路ブロック23bは、回路ブロック23の配線状態からインスタンスIns3、Ins4を移動した場合を示している。
ユーザが、配置を確定すると、グループ内部ネット配線削除モードの設定状況に応じて回路ブロック23aまたは、回路ブロック23bに遷移する。
【0086】
回路ブロック23aは、グループ内部ネット配線削除モードが「OFF」に設定された場合の処理結果を示している。グループ内部ネット配線削除モードが「OFF」に設定された場合には、配置処理部13は、インスタンスの配置位置の確定時、または、インスタンスの削除時(未配置確定時)にはグループ内に閉じたネットの配線を削除することはなくそのまま残す。すなわち、回路ブロック23aでは、インスタンスIns3、Ins4間の配線を削除することなくそのまま残す。
【0087】
回路ブロック23bは、グループ内部ネット配線削除モードが「ON」に設定された場合の処理結果を示している。グループ内部ネット配線削除モードが「ON」に設定された場合には、配置処理部13は、配置の確定、または、削除の確定と同時にグループ内に閉じたネットの配線を削除する。回路ブロック23bでは、インスタンスIns3、Ins4間の配線を削除する。これにより、既存の配線を削除したい場合や、インスタンスを異なる場所に移動する際に改めて配線を実施したい場合等に、制御可能となる。
【0088】
図10は、パスモードが設定されたときの配置処理部の動作を示す図である。
図10の説明の便宜上、ネットリストには、Net−A(Ins1、Ins2、Ins3、Ins4)と記載されているものとする。
【0089】
パスモードが選択されている場合には、配置処理部13は、セルを配置する毎に配線を作成する。
回路ブロック24には、初期状態としてインスタンスIns1が配置されている。
【0090】
回路ブロック24aに示すように、ユーザが、インスタンスIns3を配置すると、配置処理部13は、インスタンスIns1とインスタンスIns3とを接続する配線を表示するよう会話型エディタ12に依頼する。
【0091】
そして、回路ブロック24bに示すように、ユーザが、インスタンスIns4を配置すると、配置処理部13は、インスタンスIns1、Ins3、Ins4を接続する配線を表示するよう会話型エディタ12に依頼する。
【0092】
その後、回路ブロック24cに示すように、ユーザが、インスタンスIns2を配置すると、インスタンスIns2とインスタンスIns4とを接続する配線を表示するよう会話型エディタ12に依頼する。これにより、インスタンスIns1〜Ins4が接続される。
【0093】
図11は、ネットモードが設定されたときの配置処理部の動作を示す図である。
図11の説明の便宜上、ネットリストには、Net−A(Ins1、Ins2、Ins3、Ins4)と記載されているものとする。
【0094】
ネットモードが選択されている場合には、配置処理部13は、ネット内のセルの配置が全て配置された後に配線を作成する。
回路ブロック24dに示すように、ユーザが、インスタンスIns3を配置しても、配置処理部13は、インスタンスIns1とインスタンスIns3とを接続しない。
【0095】
そして、回路ブロック24eに示すように、ユーザが、インスタンスIns4を配置しても、配置処理部13は、インスタンスIns1、Ins3、Ins4を接続しない。
その後、回路ブロック24fに示すように、ユーザが、インスタンスIns2を配置すると、インスタンスIns1、Ins3、Ins4を接続し、インスタンスIns2とインスタンスIns4とを接続する。これにより、インスタンスIns1〜Ins4が接続される。
【0096】
図12は、設定された優先配線モードにおける配置処理部の動作の違いを示す図である。
図12の説明の便宜上、ネットリストには、Net−A(Ins1、Ins2)、Net−B(Ins3、Ins4)と記載されているものとする。
【0097】
優先配線モードが選択されている場合では、配置処理部13は、配線作成時の配線の最優先度を制御する。
回路ブロック25aは、回路ブロック25の配線状態からインスタンスIns1を移動した場合を示している。
【0098】
ユーザが、インスタンスの配置を確定すると、優先配線モードの設定状況に応じて回路ブロック25bまたは、回路ブロック25cに遷移する。
回路ブロック25bは、インスタンスIns1の優先配線モードが「OFF」に設定された場合の処理結果を示している。
【0099】
優先配線モードが「OFF」に設定された場合には、配置位置の確定時に配線が迂回する。すなわち、インスタンスIns3、Ins4間の配線が、インスタンスIns1、Ins2間の配線に優先する。
【0100】
回路ブロック25cは、インスタンスIns1の優先配線モードが「ON」に設定された場合の処理結果を示している。
優先配線モードが「ON」に設定された場合には、最優先で配線する。すなわち、インスタンスIns3、Ins4間の配線に関わらず、インスタンスIns1、Ins2間の配線経路が最短となるように配線する。なお、この状態では、インスタンスIns1、Ins2間の配線と、インスタンスIns3、Ins4間の配線の間に重なる部分が存在し短絡している。
【0101】
これによりネットがクリティカルパスの場合等の理由により、最優先で配線させたい場合の配線制御が可能となる。
以下、インスタンスIns1、Ins2間の配線と、インスタンスIns3、Ins4間の配線の短絡を回避する方法を説明する。
【0102】
図13は、短絡を回避する方法を説明する図である。
短絡状態では、ユーザが、手動でNet−Aの配線を移動するか、通常の配線モードを選択して、Net−Aについて再配線指示をして配線を実施し、最終的には短絡を回避する。
【0103】
回路ブロック25dは、前者の例を示し、回路ブロック25eは、後者の例を示している。
図14は、複数配線層において短絡を回避する方法を示す図である。
【0104】
一般的に、自動配線は混雑した状況を避けるため、空いている経路(混雑をさける状況のコントロールは通常パラメータでコントロールしている)を選択するケースもあるが、優先配線モードが「ON」に設定された場合には、配置処理部13は、混雑している部分が存在しているか、いないかに関わらず最優先で配線を実施する。この際、状況によっては短絡が発生する(短絡が回避できない)可能性もあるが、発生した場合には図13で説明した方法にて短絡を回避する処理を行うことができる。
【0105】
回路ブロック25fは、2層の基板上に配置されたインスタンスIns1〜Ins4を示している。図14では、上層の基板に配置された配線(横線)を実線で示し、下層の基板に配置された配線(縦線)を点線で示している。
【0106】
回路ブロック25gは、回路ブロック25fの配線状態からインスタンスIns1を移動した場合を示している。
ユーザが、配置を確定すると、優先配線モードの設定状況に応じて回路ブロック25hまたは、回路ブロック25iに遷移する。
【0107】
回路ブロック25hは、インスタンスIns1の優先配線モードが「OFF」に設定された場合の処理結果を示している。
優先配線モードが「OFF」に設定された場合には、配置位置の確定時に配線が迂回する。すなわち、インスタンスIns1、Ins2間の配線は、回路ブロック25hの一点鎖線で囲まれた配線の混雑領域251を回避するように配線する。
【0108】
回路ブロック25iは、インスタンスIns1の優先配線モードが「ON」に設定された場合の処理結果を示している。
優先配線モードが「ON」に設定された場合には、回路ブロック25iの一点鎖線で囲まれた混雑領域251の有無にかかわらず、最優先で配線を実施する。
【0109】
図15は、設定された削除モードにおける配置処理部の動作の違いを示す図である。
図15の説明の便宜上、ネットリストには、Net−A(Ins1、Ins2)と記載されているものとする。
【0110】
削除モードが選択されている場合では、配置処理部13は、インスタンスを削除して当該インスタンスで特定されるセルを未配置に戻す際に現在配置されている配線をどのように扱うかを制御する。
【0111】
回路ブロック26a、および、回路ブロック26bは、回路ブロック26の配線状態からインスタンスIns2を削除してインスタンスIns2で特定されるセルを未配置に戻した場合を示している。
【0112】
ユーザが、インスタンスの削除により当該インスタンスで特定されるセルの未配置状態を確定すると、削除モードの設定状況に応じて回路ブロック26a、または、回路ブロック26bに遷移する。
【0113】
回路ブロック26aは、削除モードが「OFF」に設定された場合の処理結果を示している。
削除モードが「OFF」に設定された場合には、インスタンスIns2の削除時において当該インスタンスで特定されるセルの未配置状態を確定した場合には配線を削除することはなくそのまま残す。
【0114】
回路ブロック26bは、削除モードが「ON」に設定された場合の処理結果を示している。
削除モードが「ON」に設定された場合にはインスタンスIns2の削除による当該インスタンスで特定されるセルの未配置状態の確定と同時に配線が削除される。
【0115】
このように、削除モードでは、インスタンスの削除による当該インスタンスで特定されるセルの未配置状態を確定する際に、既存の配線を削除したい場合や、インスタンスを異なる場所に移動する際に改めて配線を実施したい場合等に、制御可能となる。
【0116】
図16は、設定された削除モードにおける配置処理部の動作の違いを示す図である。
図16の説明の便宜上、ネットリストには、Net−A(Ins1、Ins2)と記載されているものとする。
【0117】
回路ブロック26c、および、回路ブロック26dは、回路ブロック26の配線状態からインスタンスIns2を移動した場合を示している。
ユーザが、配置移動を確定すると、削除モードの設定状況に応じて回路ブロック26c、または、回路ブロック26dに遷移する。
【0118】
回路ブロック26cは、削除モードが「OFF」に設定された場合の処理結果を示している。
削除モードが「OFF」に設定された場合には、配置移動確定時には配線を削除することはなくそのまま残す。
【0119】
回路ブロック26dは、削除モードが「ON」に設定された場合の処理結果を示している。
削除モードが「ON」に設定された場合には配置移動確定と同時に配線が削除される。
【0120】
次に、ネット単位で優先配線モードを選択した場合の配置処理部13の動作例を説明する。
図17は、ネット単位で優先配線モードを選択した場合の配置処理部の動作例を説明する図である。
【0121】
図17の説明の便宜上、ネットリストには、Net−A(Ins1−Out、Ins2−In1)、Net−B(Ins3−Out、Ins2−In2)、Net−C(Ins2−Out、Ins4−In)、Net−D(Ins5−Out、Ins6−In)と記載されているものとする。
【0122】
図17に示す個別ネット設定表示画面173aでは、出力端子Outに接続するネットNet−Cに対して優先配線モードが「ON」に設定され、それ以外の入力端子In1、In2に対して優先配線モードが「OFF」に設定されている場合を示している。
【0123】
回路ブロック27aは、回路ブロック27において、ユーザが、インスタンスIns2を下方向に移動したときの配置処理部13の動作結果を示している。
ユーザが、インスタンスIns2を移動し、配置位置を確定すると、配置処理部13は、配置パラメータ格納部14に格納された配置パラメータファイルを読み込み、個別ネット設定表示画面173aの設定状況を参照する。
【0124】
そして、配置処理部13は、入力端子In1に接続するネットNet−A、および、入力端子In2に接続するネットNet−Bの優先配線モードが「OFF」に設定されていることを確認する。
【0125】
このため、配置処理部13は、ネットNet−A、および、ネットNet−Bを他のネットに干渉しないように迂回して配線する。
他方、出力端子Outに接続されるネットNet−Cは、優先配線モードが「ON」に設定されていることを確認する。
【0126】
このため、配置処理部13は、ネットNet−Cを優先的に配線する。
このように移動するセルに対してセル内に接続するネット単位で配線を自由にコントロールすることが可能となる。
【0127】
なお、図7〜図17に関してはネットについての処理を例に説明したが、端子間についても同等の処理を行うことができる。
以上説明した、各モードの処理は、以下に示すフローチャートにより実現される。
【0128】
図18、および図19は、配置処理部の処理を詳しく示すフローチャートである。
[ステップS11] 配置処理部13は、配置パラメータファイルを参照し、ユーザが指定したモードが配線モードか否かを判断する。配線モードである場合(ステップS11のYes)、ステップS12に遷移する。配線モードではない場合、図4に示すステップS8以下の処理を実行する。
【0129】
[ステップS12] 配置処理部13は、配置するために選択されたセルの数をチェックする。単数の場合(ステップS12のYes)、ステップS13に遷移する。複数である場合(ステップS12のNo)、ステップS37に遷移する。
【0130】
[ステップS13] 配置処理部13は、掴んだセル内の端子の属するネット一覧を、個別ネット設定表示画面173aに表示するよう、会話型エディタ12に依頼する。
[ステップS14] 配置処理部13は、配置パラメータファイルの配線部分の修正が存在するか否かを判断する。具体的には、変更がある場合には(ステップS14のYes)、ステップS15に遷移する。このパラメータの修正が現在記憶している状態と変更がない状態であれば(ステップS14のNo)、そのままパラメータを使用するためステップS16に遷移する。
【0131】
[ステップS15] 配置処理部13は、再度、配置パラメータファイルを配置パラメータ格納部14から読み直す。その後、ステップS16に遷移する。
[ステップS16] 配置処理部13は、掴んだセルの位置、すなわち、マウス105bの位置が、一定時間以上、同じ位置に存在するか否かを判断する。これは、セルの配置候補位置は、マウス105bで指示した位置になるからである。
【0132】
一定時間以上、同じ位置に存在する場合は(ステップS16のYes)、ステップS18に遷移し、実際の配線処理へ続く。一定時間未満にマウス105bが移動された場合には(ステップS16のNo)、ステップS17に遷移する。
【0133】
[ステップS17] 配置処理部13は、論理接続情報を表示処理部17に表示させるよう会話型エディタ12に依頼する。その後、ステップS16に遷移する。
このように、ステップS16、および、ステップS17の処理が、マウス105bの位置が一定時間固定されるまでの間繰り返される。これにより、表示用配線作成処理時間よりマウス105bの位置移動の時間が短時間の場合には、会話型エディタ12が表示用配線を作成しないようにしている。
【0134】
ステップS18以降の処理では、選択されたセル内の端子のネットに対して実配線を作成していく。
[ステップS18] 配置処理部13は、掴んだセル内の端子のネットを選択する。その後、ステップS19に遷移する。
【0135】
[ステップS19] 配置処理部13は、端子のモード等を取得する。その後、ステップS20に遷移する。
[ステップS20] 配置処理部13は、ステップS19にて選択したモードが、前回と同じか否かを判断する。前回と同じであれば(ステップS20のYes)、すなわち、既に表示用配線が作成されていれば、その配線を表示候補として利用する。このため、ステップS21以降の処理は実施しないため、ステップS32に遷移する。前回と同じではなければ(ステップS20のNo)、すなわち、パラメータが変更されていたり、表示用配線が存在しなかったりする場合には、ステップS21に遷移する。
【0136】
[ステップS21] 配置処理部13は、配置パラメータファイルを参照し、ネットモードが「ON」に設定されているか否かを判断する。ネットモードが「ON」に設定されている場合(ステップS21のYes)、ステップS22に遷移する。ネットモードが「OFF」に設定されている場合(ステップS21のNo)、すなわち、パスモードが「ON」に設定されている場合、ステップS25に遷移する。
【0137】
[ステップS22] ネットモードが「ON」に設定されている場合には、ネット内の端子が全て配置された場合に配線を作成するモードであるので、配置処理部13は、ネット内の選択した端子以外の全ての端子が配置されたかチェックする。配置された場合(ステップS22のYes)、ステップS23に遷移する。配置されていない場合(ステップS22のNo)、ステップS24に遷移する。
【0138】
[ステップS23] 配置処理部13は、表示用の配線を作成するため、既存の配線が存在した場合には、ネット内の全ての既存の配線情報を、削除可能データとして登録する。その後、ステップS27に遷移する。
【0139】
[ステップS24] 表示用配線作成は実施しないので、配置処理部13は、既存の配線が存在した場合、ネット内の全ての配線情報を、配線表示用データとして登録する。その後、ステップS32に遷移する。
【0140】
[ステップS25] 配置処理部13は、パスモードであると判断し、選択した端子からの既存のパス配線が存在すれば、その配線を、削除可能データとして登録する。その後、ステップS26に遷移する。
【0141】
[ステップS26] 配置処理部13は、残った配線、すなわち、削除可能データとして登録されなかった配線を、配線表示用データとして登録する。その後、ステップS27に遷移する。
【0142】
[ステップS27] 配置処理部13は、配置パラメータファイルを参照し、消去モードが「ON」に設定されているか否かを判断する。消去モードが「ON」に設定されている場合(ステップS27のYes)、表示用配線作成処理は実施しない。ステップS32に遷移する。消去モードが「OFF」に設定されている場合(ステップS27のNo)、ステップS28に遷移する。
【0143】
[ステップS28] 配置処理部13は、配置パラメータファイルを参照し、優先配線モードが「ON」に設定されているか否かを判断する。優先配線モードが「ON」に設定されている場合(ステップS28のYes)、最優先で配線を実施するため他のネット情報は不要なので配線用マップに登録はしない。ステップS30に遷移する。優先配線モードが「OFF」に設定されている場合(ステップS28のNo)、ステップS29に遷移する。
【0144】
[ステップS29] 配置処理部13は、他のネット情報を配線用マップに登録する。その後、ステップS30に遷移する。
[ステップS30] 配置処理部13は、端子の配置情報等を配線処理フェーズに送って配線を行う。その後、ステップS31に遷移する。
【0145】
[ステップS31] 配置処理部13は、ステップS30にて作成された配線を配線表示用データとして登録する。その後、ステップS32に遷移する。
[ステップS32] 配置処理部13は、選択したインスタンスの全ての端子が処理されたかチェックする。全ての端子が処理された場合(ステップS32のYes)、ステップS33に遷移する。全ての端子が処理されていない場合(ステップS32のNo)、ステップS18に遷移する。
【0146】
[ステップS33] 配置処理部13は、配線表示用データに登録されたデータを表示処理部17に表示させるよう会話型エディタ12に依頼する。
[ステップS34] 配置処理部13は、ステップS33にて表示されたデータを確認して配置位置が確定されたか否かを確認する。配置位置が確定された場合(ステップS34のYes)、ステップS35に遷移する。配置位置が確定されていない場合(ステップS34のNo)、ステップS14に遷移する。
【0147】
[ステップS35] 配置処理部13は、配線表示用データを実配線データとして登録する。その後、ステップS36に遷移する。
[ステップS36] 配置処理部13は、削除可能性データに保存したデータを削除する。その後、図4に示すステップS2以下の処理を実行する。
【0148】
[ステップS37] 配置処理部13は、グループモードが「ON」に設定されているか否かをチェックする。グループモードが「ON」に設定されている場合(ステップS37のYes)、ステップS38に遷移する。グループモードが「OFF」に設定されている場合(ステップS37のNo)、ステップS43に遷移する。
【0149】
[ステップS38] 配置処理部13は、グループ内のセルをまとめて1つのセルとしてみなす。その後、ステップS39に遷移する。
[ステップS39] 配置処理部13は、ここでグループ外部と接続のある端子を、そのセルの端子として扱い、内部ネットについて配線表示用ネットとして登録する。
【0150】
単数セルとの違いは内部ネットが存在していることである。この内部ネットについて配線が存在する場合には、グループ内部ネット配線削除モードの設定状況で処理が分かれる。
【0151】
[ステップS40] 配置処理部13は、配置パラメータファイルを参照し、グループ内部ネット配線削除モードが「ON」に設定されているか否かを判断する。グループ内部ネット配線削除モードが「ON」に設定されている場合(ステップS40のYes)、ステップS42に遷移する。グループ内部ネット配線削除モードが「OFF」に設定されている場合(ステップS40のNo)、ステップS41に遷移する。
【0152】
[ステップS41] 配置処理部13は、内部ネットの配線情報を配線表示用データとして登録する。その後、ステップS42に遷移する。
[ステップS42] 配置処理部13は、内部ネットの配線情報を削除可能性データとして登録する。その後、ステップS13に遷移する。
【0153】
[ステップS43] 配置処理部13は、表示用配線を作成する処理に入らず、当該ステップS43に遷移した回数のチェックを行う。この回数が一定回数を超えていない場合(ステップS43のNo)、ステップS37に遷移する。一定回数を超えていた場合(ステップS43のYes)、図4のステップS8以降の処理を実行する
以上で、フローチャートの説明を終了する。
【0154】
このように、表示用の配線データや、削除用の配線データを予め登録しておくことで、会話型エディタ12の負荷を軽減することができる。
以上述べたように、設計支援装置10によれば、会話型エディタ12の配置フェーズ中に配線フェーズを導入することで、配置するオブジェクトに対する配線を作成、参照可能とするようにした。
【0155】
具体的には、配置処理部13が、ルータモードが「ON」に設定された場合、ネット内の最後のセルを配置したときに、配線を完結するようにしたので、セルを配置した後に配線指示をすることがない。これにより、設計者の手間を減らすことができる。
【0156】
また、ルータモードが「ON」に設定された場合、ネット内の最後のセルを配置する前に配線形状を表示するようにしたので、配置検討中に、配線の形状を確認することができる。これにより、設計者の手間を減らすことができる。
【0157】
また、優先配線モードが「ON」に設定された場合、他の配線に優先して配置対象のセルについての配線を配置するようにしたので、優先配線ネットの再配線の際、他の配線の影響を受けない配線結果を得ることができる。
【0158】
以上、本発明の設計支援装置、制御方法および制御プログラムを、図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物や工程が付加されていてもよい。
【0159】
また、本発明は、前述した実施の形態のうちの、任意の2以上の構成(特徴)を組み合わせたものであってもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、設計支援装置10が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリ等がある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープ等がある。光ディスクには、DVD、DVD−RAM、CD−ROM/RW等がある。光磁気記録媒体には、MO(Magneto-Optical disk)等がある。
【0160】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROM等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0161】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0162】
また、上記の処理機能の少なくとも一部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)等の電子回路で実現することもできる。
【0163】
以上の第1〜第2の実施の形態に関し、さらに以下の付記を開示する。
(付記1) 表示部に接続される設計支援装置において、
回路の論理接続情報と配置対象のセルのセル情報を記憶する記憶部と、
前記記憶部に記憶されたセル情報のうち、配置対象のセルのセル情報を選択する選択部と、
入力された位置情報に基づいて、選択された前記セル情報のセルの仮の配置を行う配置部と、
配線モードであるか否かを判断する判断部と、
前記判断部が配線モードであると判断した場合、仮の配置がされた前記セルに接続する配線について仮の配線を行う配線部と、
前記セルの配置位置の確定に基づいて、配線された前記セルの仮の配線の配置位置を確定する確定部と、
を有することを特徴とする設計支援装置。
【0164】
(付記2) 前記配線部は、選択された前記セル以外のセルが全て配置されている場合、選択された前記セル以外のセルに接続された配線済みの配線データを前記表示部に表示する表示データとして取り扱わないことを特徴とする付記1記載の設計支援装置。
【0165】
(付記3) 前記配線部は、選択された前記セル以外のセルが全て配置されていない場合、選択された前記セル以外のセルに接続された配線済みの配線データを前記表示部に表示する表示データとして取り扱うことを特徴とする付記1記載の設計支援装置。
【0166】
(付記4) 前記配線部は、選択された前記セルに配線が接続される度に、選択された前記セルに接続された配線済みの配線に関する配線データを前記表示部に表示する表示データとして取り扱わないことを特徴とする付記1記載の設計支援装置。
【0167】
(付記5) 前記配線部は、選択された前記セルに配線が接続される度に、選択された前記セルに接続された配線済みの配線以外の配線に関する配線データを前記表示部に表示する表示データとして取り扱うことを特徴とする付記1記載の設計支援装置。
【0168】
(付記6) 前記配線部は、仮の配置がされた前記セルに接続する配線について、既存の配線に重複して配線することを特徴とする付記1記載の設計支援装置。
(付記7) 前記判断部が配線モードではないと判断した場合、仮の配線がされた前記セルに接続する配線について論理接続情報を前記表示部に表示する論理接続情報表示部をさらに有することを特徴とする付記1記載の設計支援装置。
【0169】
(付記8) 前記判断部は、配線モードであると判断した場合、選択された前記セルが複数でありグループ化されているか否かをさらに判断し、
前記判断部が、前記セルが複数でありグループ化されていると判断した場合、前記配線部は、内部ネットの配線情報の単位で、配線データの表示または削除を決定することを特徴とする付記1記載の設計支援装置。
【0170】
(付記9) 前記配置部は、仮の配置がされた前記セルが一定時間以上同じ位置に存在し、かつ、前記判断部が配線モードであると判断した場合、仮の配置がされた前記セルに接続する配線について仮の配線を行うことを特徴とする付記1記載の設計支援装置。
【0171】
(付記10) 表示部に接続される設計支援装置を制御する制御方法において、
コンピュータが、
回路の論理接続情報と配置対象のセルのセル情報を記憶する記憶部に記憶されたセル情報のうち、配置対象のセルのセル情報を選択し、
入力された位置情報に基づいて、選択された前記セル情報のセルの仮の配置を行い、
配線モードであるか否かを判断し、
配線モードであると判断された場合、仮の配置がされた前記セルに接続する配線について仮の配線を行い、
前記セルの配置位置の確定に基づいて、配線された前記セルの仮の配線の配置位置を確定する、
ことを特徴とする制御方法。
【0172】
(付記11) 選択された前記セル以外のセルが全て配置されている場合、選択された前記セル以外のセルに接続された配線済みの配線データを前記表示部に表示する表示データとして取り扱わないことを特徴とする付記10記載の制御方法。
【0173】
(付記12) 選択された前記セル以外のセルが全て配置されていない場合、選択された前記セル以外のセルに接続された配線済みの配線データを前記表示部に表示する表示データとして取り扱うことを特徴とする付記10記載の制御方法。
【0174】
(付記13) 選択された前記セルに配線が接続される度に、選択された前記セルに接続された配線済みの配線に関する配線データを前記表示部に表示する表示データとして取り扱わないことを特徴とする付記10記載の制御方法。
【0175】
(付記14) 選択された前記セルに配線が接続される度に、選択された前記セルに接続された配線済みの配線以外の配線に関する配線データを前記表示部に表示する表示データとして取り扱うことを特徴とする付記10記載の制御方法。
【0176】
(付記15) 仮の配置がされた前記セルに接続する配線について、既存の配線に重複して配線することを特徴とする付記10記載の制御方法。
(付記16) 配線モードではないと判断された場合、仮の配線がされた前記セルに接続する配線について論理接続情報を前記表示部に表示することを特徴とする付記10記載の制御方法。
【0177】
(付記17) 配線モードであると判断された場合、選択された前記セルが複数でありグループ化されているか否かをさらに判断し、
前記セルが複数でありグループ化されていると判断された場合、内部ネットの配線情報の単位で、配線データの表示または削除を決定することを特徴とする付記10記載の制御方法。
【0178】
(付記18) 仮の配置がされた前記セルが一定時間以上同じ位置に存在し、かつ、配線モードであると判断された場合、仮の配置がされた前記セルに接続する配線について仮の配線を行うことを特徴とする付記10記載の制御方法。
【0179】
(付記19) 表示部に接続され、回路の論理接続情報と配置対象のセルのセル情報を記憶する記憶部を有するコンピュータを制御する制御プログラムにおいて、
前記コンピュータに、
前記記憶部に記憶されたセル情報のうち、配置対象のセルのセル情報を選択する選択手順、
入力された位置情報に基づいて、選択された前記セル情報のセルの仮の配置を行う配置手順、
配線モードであるか否かを判断する判断手順、
前記判断手順により、配線モードであると判断した場合、仮の配置がされた前記セルに接続する配線について仮の配線を行う配線手順、
前記セルの配置位置の確定に基づいて、配線された前記セルの仮の配線の配置位置を確定する確定手順、
を実行させることを特徴とする制御プログラム。
【0180】
(付記20) 前記配線手順では、選択された前記セル以外のセルが全て配置されている場合、選択された前記セル以外のセルに接続された配線済みの配線データを前記表示部に表示する表示データとして取り扱わないことを特徴とする付記19記載の制御プログラム。
【0181】
(付記21) 前記配線手順では、選択された前記セル以外のセルが全て配置されていない場合、選択された前記セル以外のセルに接続された配線済みの配線データを前記表示部に表示する表示データとして取り扱うことを特徴とする付記19記載の制御プログラム。
【0182】
(付記22) 前記配線手順では、選択された前記セルに配線が接続される度に、選択された前記セルに接続された配線済みの配線に関する配線データを前記表示部に表示する表示データとして取り扱わないことを特徴とする付記19記載の制御プログラム。
【0183】
(付記23) 前記配線手順では、選択された前記セルに配線が接続される度に、選択された前記セルに接続された配線済みの配線以外の配線に関する配線データを前記表示部に表示する表示データとして取り扱うことを特徴とする付記19記載の制御プログラム。
【0184】
(付記24) 前記配線手順では、仮の配置がされた前記セルに接続する配線について、既存の配線に重複して配線することを特徴とする付記19記載の制御プログラム。
(付記25) 前記判断手順により、配線モードではないと判断された場合、前記コンピュータに、仮の配線がされた前記セルに接続する配線について論理接続情報を前記表示部に表示する論理接続情報表示手順をさらに実行させることを特徴とする付記19記載の制御プログラム。
【0185】
(付記26) 前記判断手順では、配線モードであると判断した場合、選択された前記セルが複数でありグループ化されているか否かをさらに判断し、
前記判断手順により、前記セルが複数でありグループ化されていると判断された場合、前記配線手順では、内部ネットの配線情報の単位で、配線データの表示または削除を決定することを特徴とする付記19記載の制御プログラム。
【0186】
(付記27) 前記配置手順では、仮の配置がされた前記セルが一定時間以上同じ位置に存在し、かつ、前記判断手順により配線モードであると判断された場合、仮の配置がされた前記セルに接続する配線について仮の配線を行うことを特徴とする付記19記載の制御プログラム。
【符号の説明】
【0187】
1、10 設計支援装置
1a 記憶部
1b 選択部
1c 配置部
1d 判断部
1e 配線部
1f 確定部
2 表示部
2a〜2c 画面
11 データベース
12 会話型エディタ
13 配置処理部
14 配置パラメータ格納部
15 配線処理部
16 配線パラメータ格納部
17 表示処理部
17a 配置パラメータ設定画面
21、21a〜21d、22、22a、22b、23、23a、23b、24、24a〜24f、25、25a〜25i、26、26a〜26d、27、27a 回路ブロック
50 ネットワーク
171a ネット設定部
172a 全体ネット設定部
173a 個別ネット設定表示画面
251 混雑領域
In、In1、In2 入力端子
Out 出力端子
Ins1〜Ins6 インスタンス
P1 ポインタ
R1 論理接続情報
【特許請求の範囲】
【請求項1】
表示部に接続される設計支援装置において、
回路の論理接続情報と配置対象のセルのセル情報を記憶する記憶部と、
前記記憶部に記憶されたセル情報のうち、配置対象のセルのセル情報を選択する選択部と、
入力された位置情報に基づいて、選択された前記セル情報のセルの仮の配置を行う配置部と、
配線モードであるか否かを判断する判断部と、
前記判断部が配線モードであると判断した場合、仮の配置がされた前記セルに接続する配線について仮の配線を行う配線部と、
前記セルの配置位置の確定に基づいて、配線された前記セルの仮の配線の配置位置を確定する確定部と、
を有することを特徴とする設計支援装置。
【請求項2】
前記配線部は、選択された前記セル以外のセルが全て配置されている場合、選択された前記セル以外のセルに接続された配線済みの配線データを前記表示部に表示する表示データとして取り扱わないことを特徴とする請求項1記載の設計支援装置。
【請求項3】
前記配線部は、選択された前記セル以外のセルが全て配置されていない場合、選択された前記セル以外のセルに接続された配線済みの配線データを前記表示部に表示する表示データとして取り扱うことを特徴とする請求項1記載の設計支援装置。
【請求項4】
前記配線部は、選択された前記セルに配線が接続される度に、選択された前記セルに接続された配線済みの配線に関する配線データを前記表示部に表示する表示データとして取り扱わないことを特徴とする請求項1記載の設計支援装置。
【請求項5】
前記配線部は、選択された前記セルに配線が接続される度に、選択された前記セルに接続された配線済みの配線以外の配線に関する配線データを前記表示部に表示する表示データとして取り扱うことを特徴とする請求項1記載の設計支援装置。
【請求項6】
前記配線部は、仮の配置がされた前記セルに接続する配線について、既存の配線に重複して配線することを特徴とする請求項1記載の設計支援装置。
【請求項7】
前記判断部が配線モードではないと判断した場合、仮の配線がされた前記セルに接続する配線について論理接続情報を前記表示部に表示する論理接続情報表示部をさらに有することを特徴とする請求項1記載の設計支援装置。
【請求項8】
前記判断部は、配線モードであると判断した場合、選択された前記セルが複数でありグループ化されているか否かをさらに判断し、
前記判断部が、前記セルが複数でありグループ化されていると判断した場合、前記配線部は、内部ネットの配線情報の単位で、配線データの表示または削除を決定することを特徴とする請求項1記載の設計支援装置。
【請求項9】
前記配置部は、仮の配置がされた前記セルが一定時間以上同じ位置に存在し、かつ、前記判断部が配線モードであると判断した場合、仮の配置がされた前記セルに接続する配線について仮の配線を行うことを特徴とする請求項1記載の設計支援装置。
【請求項10】
表示部に接続される設計支援装置を制御する制御方法において、
コンピュータが、
回路の論理接続情報と配置対象のセルのセル情報を記憶する記憶部に記憶されたセル情報のうち、配置対象のセルのセル情報を選択し、
入力された位置情報に基づいて、選択された前記セル情報のセルの仮の配置を行い、
配線モードであるか否かを判断し、
配線モードであると判断された場合、仮の配置がされた前記セルに接続する配線について仮の配線を行い、
前記セルの配置位置の確定に基づいて、配線された前記セルの仮の配線の配置位置を確定する、
ことを特徴とする制御方法。
【請求項11】
表示部に接続され、回路の論理接続情報と配置対象のセルのセル情報を記憶する記憶部を有するコンピュータを制御する制御プログラムにおいて、
前記コンピュータに、
前記記憶部に記憶されたセル情報のうち、配置対象のセルのセル情報を選択する選択手順、
入力された位置情報に基づいて、選択された前記セル情報のセルの仮の配置を行う配置手順、
配線モードであるか否かを判断する判断手順、
前記判断手順により、配線モードであると判断した場合、仮の配置がされた前記セルに接続する配線について仮の配線を行う配線手順、
前記セルの配置位置の確定に基づいて、配線された前記セルの仮の配線の配置位置を確定する確定手順、
を実行させることを特徴とする制御プログラム。
【請求項1】
表示部に接続される設計支援装置において、
回路の論理接続情報と配置対象のセルのセル情報を記憶する記憶部と、
前記記憶部に記憶されたセル情報のうち、配置対象のセルのセル情報を選択する選択部と、
入力された位置情報に基づいて、選択された前記セル情報のセルの仮の配置を行う配置部と、
配線モードであるか否かを判断する判断部と、
前記判断部が配線モードであると判断した場合、仮の配置がされた前記セルに接続する配線について仮の配線を行う配線部と、
前記セルの配置位置の確定に基づいて、配線された前記セルの仮の配線の配置位置を確定する確定部と、
を有することを特徴とする設計支援装置。
【請求項2】
前記配線部は、選択された前記セル以外のセルが全て配置されている場合、選択された前記セル以外のセルに接続された配線済みの配線データを前記表示部に表示する表示データとして取り扱わないことを特徴とする請求項1記載の設計支援装置。
【請求項3】
前記配線部は、選択された前記セル以外のセルが全て配置されていない場合、選択された前記セル以外のセルに接続された配線済みの配線データを前記表示部に表示する表示データとして取り扱うことを特徴とする請求項1記載の設計支援装置。
【請求項4】
前記配線部は、選択された前記セルに配線が接続される度に、選択された前記セルに接続された配線済みの配線に関する配線データを前記表示部に表示する表示データとして取り扱わないことを特徴とする請求項1記載の設計支援装置。
【請求項5】
前記配線部は、選択された前記セルに配線が接続される度に、選択された前記セルに接続された配線済みの配線以外の配線に関する配線データを前記表示部に表示する表示データとして取り扱うことを特徴とする請求項1記載の設計支援装置。
【請求項6】
前記配線部は、仮の配置がされた前記セルに接続する配線について、既存の配線に重複して配線することを特徴とする請求項1記載の設計支援装置。
【請求項7】
前記判断部が配線モードではないと判断した場合、仮の配線がされた前記セルに接続する配線について論理接続情報を前記表示部に表示する論理接続情報表示部をさらに有することを特徴とする請求項1記載の設計支援装置。
【請求項8】
前記判断部は、配線モードであると判断した場合、選択された前記セルが複数でありグループ化されているか否かをさらに判断し、
前記判断部が、前記セルが複数でありグループ化されていると判断した場合、前記配線部は、内部ネットの配線情報の単位で、配線データの表示または削除を決定することを特徴とする請求項1記載の設計支援装置。
【請求項9】
前記配置部は、仮の配置がされた前記セルが一定時間以上同じ位置に存在し、かつ、前記判断部が配線モードであると判断した場合、仮の配置がされた前記セルに接続する配線について仮の配線を行うことを特徴とする請求項1記載の設計支援装置。
【請求項10】
表示部に接続される設計支援装置を制御する制御方法において、
コンピュータが、
回路の論理接続情報と配置対象のセルのセル情報を記憶する記憶部に記憶されたセル情報のうち、配置対象のセルのセル情報を選択し、
入力された位置情報に基づいて、選択された前記セル情報のセルの仮の配置を行い、
配線モードであるか否かを判断し、
配線モードであると判断された場合、仮の配置がされた前記セルに接続する配線について仮の配線を行い、
前記セルの配置位置の確定に基づいて、配線された前記セルの仮の配線の配置位置を確定する、
ことを特徴とする制御方法。
【請求項11】
表示部に接続され、回路の論理接続情報と配置対象のセルのセル情報を記憶する記憶部を有するコンピュータを制御する制御プログラムにおいて、
前記コンピュータに、
前記記憶部に記憶されたセル情報のうち、配置対象のセルのセル情報を選択する選択手順、
入力された位置情報に基づいて、選択された前記セル情報のセルの仮の配置を行う配置手順、
配線モードであるか否かを判断する判断手順、
前記判断手順により、配線モードであると判断した場合、仮の配置がされた前記セルに接続する配線について仮の配線を行う配線手順、
前記セルの配置位置の確定に基づいて、配線された前記セルの仮の配線の配置位置を確定する確定手順、
を実行させることを特徴とする制御プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【公開番号】特開2012−33094(P2012−33094A)
【公開日】平成24年2月16日(2012.2.16)
【国際特許分類】
【出願番号】特願2010−173649(P2010−173649)
【出願日】平成22年8月2日(2010.8.2)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成24年2月16日(2012.2.16)
【国際特許分類】
【出願日】平成22年8月2日(2010.8.2)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]