| 【発明の名称】 |
配置・配線処理システム |
| 【発明者】 |
【氏名】伊藤 則之
【氏名】山下 良一
【氏名】大沢 圭子
【氏名】磯村 知之
【氏名】花蜜 宏晃
【氏名】片桐 秀明
|
| 【要約】 |
【課題】会話的エディタによる配置・配線処理システムにおけるセルの配置・移動や配線の追加・削除・修正などの操作を容易かつ簡単化する。
【解決手段】配置・配線処理システムは、配置・配線操作処理プログラムの実行を制御する制御手段、画面上に配置・配線情報を表示する表示手段、画面上で配置・配線を操作する操作処理手段、配置・配線情報を管理する情報管理手段を含む。制御手段は、読み出した前記プログラムを複写した後に、該プログラムを実行し、また実行履歴情報に基づき、前記プログラムにより操作した配置・配線処理をチェックする。表示手段は、表示した前記配置・配線図形情報が順次選択指示されたとき、前記画面に、選択に応じて当該配置・配線図形情報の内容を表示し、格納部から読み出されたユーザ指定の配置・配線に係る処理関連情報を、前記画面上で前記配置・配線図形情報に関連付けて表示する。 |
【特許請求の範囲】
【請求項1】 配置・配線処理システムであって、配置・配線を操作処理するプログラムの実行を制御する制御手段と、画面上に配置・配線に係る情報を表示する表示手段と、前記画面上で配置・配線を操作する操作処理手段と、前記配置・配線に係る情報を管理する情報管理手段と、を少なくとも有し、前記制御手段は、読み出した前記プログラムを複写した後、該複写したプログラムを実行する前記配置・配線処理システム。 【請求項2】 前記情報管理手段は、配置・配線処理プログラムが実行されると、前記プログラムに係る実行履歴情報を格納し、前記制御手段は、格納された前記実行履歴情報に基づいて、前記プログラムにより操作した配置・配線処理をチェックする請求項1に記載の配置・配線処理システム。 【請求項3】 会話型エディタによる配置・配線処理システムであって、配置・配線を操作処理するプログラムの実行を制御する制御手段と、エディタ画面上に配置・配線に係る情報を表示する表示手段と、前記画面上で配置・配線を操作する操作処理手段と、前記配置・配線に係る情報を管理する情報管理手段と、を少なくとも有し、前記情報管理手段は、前記画面上で配置・配線図形情報が変更操作された変更情報を格納し、前記表示手段は、格納された前記変更情報を前記エディタ画面上に表示する配置・配線処理システム。 【請求項4】 会話型エディタによる配置・配線処理システムであって、配置・配線を操作処理するプログラムの実行を制御する制御手段と、エディタ画面上に配置・配線に係る情報を表示する表示手段と、前記画面上で配置・配線を操作する操作処理手段と、前記配置・配線に係る情報を管理する情報管理手段と、を少なくとも有し、前記表示手段は、表示された前記配置・配線図形情報が順次選択指示されたとき、前記エディタ画面のウインドウに、選択指示された当該配置・配線図形情報に係る内容を表示する配置・配線処理システム。 【請求項5】 会話型エディタによる配置・配線処理システムであって、配置・配線を操作処理するプログラムの実行を制御する制御手段と、エディタ画面上に配置・配線に係る情報を表示する表示手段と、前記画面上で配置・配線を操作する操作処理手段と、前記配置・配線に係る情報を管理する情報管理手段と、を少なくとも有し、前記制御手段は、格納部に格納されユーザが指定する配置・配線に係る処理関連情報を読み出し、前記表示手段は、前記エディタ画面に前記配置・配線図形情報に関連付けて表示する配置・配線処理システム。
|
【発明の詳細な説明】【0001】 【発明の属する技術分野】本発明は、配置・配線処理システムに関し、特に、エディタ画面上で配置・配線を会話的に進めるエディタにおいて、配置・配線の操作処理を容易化、簡単化した配置・配線処理システムに関する。 【0002】 【従来の技術】近年、CADのように、コンピュータを利用した製品などの設計が盛んに行われている。例えば、LSI、PCB等の設計では、一つのチップの中に、何100万という素子が集積し、それらを配線する作業を行っているが、これは、人間の手で行うには限界を超えるものである。そこで、LSI、PCB等の設計でも、コンピュータを利用したデザインオートメーションは不可欠のものとなっている。 【0003】このデザインオートメーションは、LSIの論理設計から実装設計、診断まで一貫して自動設計が可能であるので、大規模かつ高性能なLSI等を短期間で開発するうえで、LSIのレイアウト設計を高度に支援するツールとして重要である。そこで、LSI等のレイアウト設計を行うために、人間が会話的に配置または配線をエディタ画面上で進めることができるエディタは、既に数多く存在している。 【0004】 【発明が解決しようとする課題】LSIやPCB、またそれ以外を含む配置・配線においては、人間が会話的に配置または配線を進めるためのエディタは既に数多く存在するが、自動配置や配線後の微調整ということを目的としている場合がほとんどであり、数多くのセルや配線のあるデータに対して、セルの配置・移動や配線の追加・削除・修正などの作業を容易に進めることができない。そのため、作業を補助する機能が必要である。 【0005】また、LSIやPCBなどを開発するユーザにおいては、それらが大規模なものである場合には、チップを分割したブロックについて多数のオペレータが担当し並行してレイアウト設計が行われている。それに加え、開発されるLSIの種類も膨大なものであり、それらのLSIの種類に対応するため、エディタで実行される配置・配線処理プログラムも、変更、更新などのプログラム修正が頻繁に行われることになる。 【0006】そのため、上述のエディタでは、サーバ装置でプログラム修正が行われると、オペレータの作業が中断されることになり、作業効率が低下するものであった。さらに、サーバ装置が故障した場合でも、多くのオペレータの作業は中断されることになり、問題である。また、LSIのレイアウト設計は、幾つかの工程を上流から下流に向かって順次進むように行われる。それらの工程と工程との間で、設計データを再度入力することは避け、ある工程の出力データが自動的に次の工程の入力となるように、データの一貫性を保持するのが望ましい。 【0007】そのため、ある作業が複数のプログラムを順次実行することにより進められるとき、一連の作業がもれなく、しかも正しく実行されているかを確認する必要がある。これに対処するものとして、特開平5−12037号公報に示されているように、作業に係る終了コードに基づいて、どの作業を継続するかを判定しながら、一連の作業を自動的に進めるという方法がある。 【0008】しかし、この方法では、終了コードが確認されないと次の作業に進むことができなため、LSIチップのレイアウト設計作業のように、途中のプログラム実行である程度のエラーが検出されても、そのまま取り敢えず先に作業を進めるといことができない。そのため、オペレータの作業効率が低下する問題がある。エラー自体は、解決されなければならないことであるが、その段階で、エラー修正されなくと、最終的には一連の作業がもれなく、しかもエラーなく実行されていることが確実であればよい。そのために、各プログラムの実行履歴、オブジェクトやイベントの作業履歴等の管理を確実に行う必要がある。 【0009】また、配置・配線を会話的に進めるためのエディタ、または一般的なエディタにおいて、数多くのセルや配線のあるデータに対して、セルの配置・移動や配線の追加・削除・修正などを容易にし、オペレータの作業性を向上することが、レイアウト設計において、一連の作業がもれなく、しかもエラーなく実行されるうえで、重要である。 【0010】そこで、本発明は、レイアウト設計における数多くのセルの配置・移動や配線の追加・削除・修正などの操作を容易に、かつ簡単に行え、一連の作業がもれなく、しかもエラーなく実行されるように、配置・配線処理システムに種々の操作機能を提供することを目的とする。 【0011】 【課題を解決するための手段】以上の課題を解決するため、本発明では、配置・配線処理システムにおいて、配置・配線を操作処理するプログラムの実行を制御する制御手段と、画面上に配置・配線に係る情報を表示する表示手段と、前記画面上で配置・配線を操作する操作処理手段と、前記配置・配線に係る情報を管理する情報管理手段とを少なくとも備え、前記制御手段は、読み出した前記プログラムを複写した後、該複写したプログラムを実行するようにし、前記情報管理手段は、配置・配線処理プログラムが実行されると、前記プログラムに係る実行履歴情報を格納し、前記制御手段は、格納された前記実行履歴情報に基づいて、前記プログラムにより操作した配置・配線処理をチェックするようにした。 【0012】また、本発明では、会話型エディタによる配置・配線処理システムにおいて、配置・配線を操作処理するプログラムの実行を制御する制御手段と、エディタ画面上に配置・配線に係る情報を表示する表示手段と、前記画面上で配置・配線を操作する操作処理手段と、前記配置・配線に係る情報を管理する情報管理手段とを少なくとも備え、前記情報管理手段は、前記画面上で配置・配線図形情報が変更操作された変更情報を格納でき、前記表示手段は、格納された前記変更情報を前記エディタ画面上に表示できる。さらに、前記表示手段は、表示された前記配置・配線図形情報が順次選択指示されたとき、前記エディタ画面のウインドウに、選択指示された当該配置・配線図形情報に係る内容を表示でき、前記制御手段が格納部に格納されユーザが指定する配置・配線に係る処理関連情報を読み出したとき、前記表示手段は、前記エディタ画面に前記配置・配線図形情報に関連付けて表示するようにした。 【0013】 【発明の実施の形態】本発明による配置・配線処理システムに関する種々の実施形態について、図を参照して説明する。本発明による、例えば、LSIなどのレイアウト設計におけるセル配置・配線処理を実現するためのシステム構成の概要を、図1に示す。 【0014】図1に示されるように、配置・配線処理システムは、制御部1、表示部2、操作指示部3、実行環境構築部4、そしてプログラム格納部5から構成される。表示部2は、CRT又はLCD等によるモニタ画面21を有し、配置・配線ウインドウ等を表示することができる。また、操作指示部3は、マウス31を有し、モニタ画面上のカーソルを操作することによりポインタする機能を持つ。また、マウス31以外にも、キーボード等の入力機能をも備えている。 【0015】プログラム格納部5は、サーバ装置に配置され、配置・配線処理を実行するためのプログラムを格納している。実行環境構築部4は、クライアント装置において、制御部1が配置・配線処理を実行できるように、プログラム格納部5から該プログラムを読み出し、該プログラムを実行する制御部1の実行環境を構築するものである。複数のオペレータが、それぞれのクライアント装置で、そのプログラムに従って、会話的なエディットにより配置・配線処理を実行できるようになっている。 【0016】制御部1は、処理制御部11、操作処理部12、表示データ作成部13、表示制御部14、データ管理部15、及び履歴管理部16からなる。操作処理部12は、オペレータが操作する操作指示部3からの指示を入力としており、表示制御部14は、表示データ作成部13で作成された配置・配線処理に必要なレイアウト情報を表示部2に表示する。 【0017】データ管理部15は、レイアウトデータベースから配置・配線処理に必要なレイアウト情報を読み出して表示データ作成部13に送出し、配置・配線結果である設計データを設計データ格納部7に格納する。また、オペレータが、例えば、配置・配線処理システムが備えているチェックプログラムとは別に、独自のチェックプログラムを作成した場合、そのプログラムについてレイアウトデータベースの一部をテキストに変換して格納しておく場合などに対応した外部テキストファイル格納部8を備え、データ管理部15で管理できるようにする。 【0018】さらに、データ管理部15は、配置・配線処理の過程における各操作の履歴に係わる履歴データを履歴管理部16に送出する。そして、履歴管理部16は、各操作の履歴データ、プログラム実行履歴などを履歴データ格納部6に格納し管理する。このように配置・配線処理システムを構成することにより、各オペレータによる操作指示部3からの指示に従ったレイアウト情報をモニタ画面21に表示し、表示されたレイアウト情報をモニタ画面21上で操作でき、図1に示された配置・配線処理システムは会話型配置・配線エディタとなっている。 【0019】ここで、会話型配置・配線エディタとして動作する配置・配線処理システムのモニタ画面21に表示される操作画面例を、図2に示す。図2では、LSIのレイアウト設計におけるセルの配置・配線処理操作を行う配置・配線ウインドウPNWを示している。LSIを形成するブロック内の一つにおいて、レイアウト対象であるエリアARにセルA乃至Eを配置・配線する場合を示している。 【0020】ウインドウPNW中には、一覧リストウインドウLWとサンプリングウインドウSWとが、セルを配置・配線する対象となるエリアARの表示と重ならない部分に表示されている。一覧リストウインドウLWには、配置・配線処理を行うメニュー、配置・配線オブジェクト等が表示され、オペレータが、例えば、マウス、31を操作し、画面21上に表示されているカーソルを該ウインドウLWの項目をクリックすると、ウインドウPNW中の配置・配線処理を実行することができる。図2では、セルのレイアウトの例を示しているので、一覧リストウインドウLWには、配置対象セルを特定するセル名が表示されている。 【0021】また、サンプリングウインドウSWには、サンプリング表示モードが選択されている場合に、オペレータがマウス31で操作するカーソルが指し示す位置において表示されている情報に関する内容を表示する。もし、オペレータがマウス31でカーソルを移動させていくと、その移動経路に位置する情報に関する内容が、そのサンプリングウインドウSWに順次表示される。例えば、セルBを表す枠内にカーソルがあれば、セルBについて、その位置座標、特性、接続関係等の内容が表示される。カーソルがその枠内に止まっている間は、その内容を表示し続けるが、カーソルを次に移動させれば、移動先の情報の内容が表示される。 【0022】そこで、図2に示される配置・配線ウインドウPNW上で、インタラクティブに配置・配線を行う場合について、図3の処理フローを参照して説明する。先ず、LSIのブロックを指定すると、レイアウトデータベースより当該ブロックがウインドウPNWに表示される。表示されたブロック中で、セルが未だ配置・配線されていないエリアについては強調表示される。そこで、未配置のエリアARにカーソルを移動させクリックすると、図2に示すように、エリアARがウインドウPNW上に拡大表示される。 【0023】エリアARが表示されると、このエリアARに配置すべきセルについて、レイアウトデータベースから必要データが読み出され、エリアARに配置される対象セル名が一覧リストウインドウLWに表示される。オペレータは、カーソルを移動させて、一覧リストウインドウLWに表示されたセル名の中から一つを選択する(ステップS1)。 【0024】選択したセル、例えば、セルAの配置位置をカーソルで指定する。このとき、サンプリング表示モードにしておけば、サンプリングウインドウSWにセルAに係わる情報が自動的に表示されるので、位置指定するのに役立つものである。このようにして、オペレータは、別途のレイアウト設計方針にしたがって、順次、一覧リストLWに表示されたセル名について、エリアAR内に配置位置を指定する(ステップS2)。 【0025】このときの位置指定にあたっては、一覧リストウインドウLW中のセル名にカーソルを移動してクリックした後、エリアAR内の配置すべき位置にカーソルを移動させて位置指定をしてもよい、また、ペースト機能を使って、カーソルを一覧リストウインドウLW中のセル名上に移動し、クリックオンしながらエリアAR内の配置すべき位置にカーソルを移動させ、ここで、クリックオフして位置指定をしてもよい。 【0026】一覧リストウインドウLW中のセル名のセルについて、エリアAR内にセルの配置を終了すると、例えば、図2に示されるように、各セル間の位置関係について、各セルの中心間を破線で表示されるので、その位置関係を確認する(ステップS3)。例えば、セルAがドライバ部を構成するものであれば、セルB乃至Eは、セルAによって駆動されることが分かる。 【0027】ここで、表示された各セルについて、フリップ等の修正が必要な場合には、各セルに対して修正を行う(ステップS4)。ステップS3での位置確認と、ステップS4での修正に伴って、セルの位置を移動させる必要が有る場合には(ステップS5のY)、ステップS2に戻り、当該セルの配置位置を再指定する。 【0028】各セルの位置を移動させる必要が無くなった場合には(ステップS5のN)、レイアウトデータベースに格納されている各セル間の配線条件に従って、各セル間を自動配線処理する(ステップS6)。そして、各セル間が自動配線処理されると、各配線が適正に接続されている、重なりがある、などの予め決められた要件が配線結果に適合しているかがチェックされる(ステップS7)。このチェック結果については、例えば、その要件に適合しないエラーである場合に、該当箇所に×印が表示されるとか、あるいは、異なる色で強調表示される。このチェック結果に従って、各セルの配置位置を修正することができる。 【0029】履歴管理部16によって、以上の処理履歴、さらに、チェック結果に係るデータを履歴データ格納部6に格納する。そして、データ管理部15は、エリアARに係る各セルの配置・配線が終了した結果をを設計データ格納部7に格納する。以上のように構成されたセル配置・配線処理システムについて説明したが、次に、LSIを形成する数多くのセルや配線に係るデータに対して、セルの配置や移動、配線の追加・削除・修正などの作業を容易に、また簡単に進められるようにした種々の手段を各実施形態に分け、図を参照しながら説明する。 (第1の実施形態)図1に示したセル配置・配線処理システムでは、実行環境構築部4が、実行するプログラムをプログラム格納部5から読み出し、クライアント装置において、表示部2の画面21で対話型配置・配線エディタを実行できる環境を構築している。 【0030】このシステムでは、クライアント装置は、サーバ装置にあるプログラム格納部5に格納されているプログラムで実行されるので、例えば、このプログラムに不具合が発生した場合、あるいは、機能を変更、更新する場合に、クライアント装置におけるプログラム実行が中断される。そのため、第1の実施形態では、クライアント装置でプログラム実行中に、クライアント装置でプログラム変更などの更新を行っても、クライアント装置においては更新前の状態でプログラムが正常に動作するようにした。 【0031】実行環境構築部4に、サーバ装置のプログラム格納部5に格納されているプログラムを読み込んだときに格納できる記憶部41を備えた。この記憶部41に、一度、プログラム格納部5に格納されているプログラムをコピーし、実行する個人の環境には、このコピーされたプログラムを適用する。そうすると、クライアント装置でプログラム実行中には、サーバ装置でプログラム変更などの更新作業が行われても、更新前の状態のプログラムを記憶部41から参照して実行することができる。 【0032】プログラム実行が開始されてから終了するまで長時間を要するシステムである場合、さらにプログラム変更が頻繁に発生する場合など、すでに実行中のオペレータには影響をあたえることがない。一方、クライアント装置において、これからプログラム実行するオペレータには、更新されたプログラムがプログラム格納部5から読み出され適用されることになる。 【0033】次に、実行環境構築部4がクライアント装置の実行環境を構築する場合の処理について、図4に示された処理フローを参照して説明する。先ず、オペレータが操作指示部3を操作し、配置・配線処理システムの開始が入力されると、実行環境構築部4にプログラム実行指示がされる(ステップS11)。 【0034】実行環境構築部4は、プログラム起動を受け付けると(ステップS12)、プログラム格納部5に格納されているプログラムを読み出し、実行環境構築部4の記憶部41に該プログラムをコピーする(ステップS13)。実行環境構築部4は、記憶部41にコピーしたプログラムを起動して、このプログラムの実行環境を構築する(ステップS13)。 【0035】このように、記憶部41に、実行するプログラムをコピーし、このプログラムで実行環境を構築するので、このプログラムの実行中に、サーバ側に格納されたプログラムの変更、更新の作業が行われても、クライアント装置の実行環境に影響せず、また、新しく作業を開始するときには、変更、更新された後のプログラムが適用されるので、プログラムの変更、更新をスムースに行える。 (第2の実施形態)図1に示した配置・配線処理システムでは、履歴データ格納部6を備え、処理履歴やチェック結果等に係る履歴データを格納している。 【0036】しかし、例えば、LSIのレイアウト設計におけるセルの配置・配線処理においては、複数のプログラムを順次実行し、それらの作業が正しく行われていないと、適正な配置・配線処理を完了することができない。これらの履歴データが履歴データ格納部6に格納されているだけでは、それらの作業が正しく行われたかどうかを把握できない。 【0037】また、ある作業が複数のプログラムを順次実行することにより進められるものの場合、終了コードをもとにどの作業を継続するかを判定しながら一連の作業を自動的に進める手段もある。しかし、この手段では、LSIのレイアウト作業のように、途中のプログラム実行で、ある程度のエラーが検出されても、そのまま取り敢えず先に作業を進め、最終的には一連の作業がもれなく実行されるというような処理手順が採用される場合には対応できない。 【0038】そこで、第2の実施形態では、一連のプログラムの実行途中で、ある程度のエラーが検出されても、そのまま取り敢えず先に作業を進め、最終的には一連の作業が、予め定められた通りに、かつ、もれなく、しかもエラーなく実行されていることの確認を確実に行えるように、プログラム実行の履歴管理を行う。第2の実施形態では、一連のプログラム類を実行することによって進められる作業が正しく行われているかを確認するため、あるデータに対して、各プログラムを実行する毎に、プログラム名、実行開始および終了時間、終了コード、実行者名、プログラムの版数、エラー箇所・種別などの実行履歴情報を、実行履歴ファイルとして履歴データ格納部6に格納する。そして、同一のプログラムが複数回実行された場合には、実行プログラムが実行される毎に、前に実行されて格納された実行履歴を最新の実行履歴で置き換え格納する。 【0039】終了コードをもとに、データが正しく作成されているかを確認するとともに、実行履歴の中のプログラム名および実行時間から、予め定められた実行順序と比較して、定められた通りの実行順序が守られているかをチエックできる。同じプログラムが複数回実行された場合でも、同一のプログラム名の実行履歴には、最新の実行履歴しか格納されていないため、終了コードによりデータの正当性を判断でき、また実行順序に依存関係があるのものについては、予め定められた順序を参照し、実行履歴の中で実行開始時間などからその順序の正当性を検証することができる。 【0040】次に、図5及び図6の処理フローを参照して、第2の実施形態におけるプログラム実行履歴管理について説明する。図5には、プログラム実行履歴の作成処理を、図6には、プログラム実行履歴によるチェック処理を示した。プログラム実行履歴の作成においては、先ず、オペレータにより、ある作業の開始指示がなされると、その作業に係わるプログラム起動が受け付けられる(ステップS21)。このプログラムの実行環境が構築される。 【0041】履歴管理部16は、履歴データ格納部6に格納された実行履歴ファイルからプログラム名を読み込む(ステップS22)。このとき、読み込んだプログラム名の中に、今回の作業に係わるプログラムのプログラム名が有るかどうかが判断される(ステップS23)。ここで、読み込んだプログラム名の中に、今回のプログラム名が有る場合には(Y)、実行履歴ファイルにある今回のプログラム名と同一のプログラム名に係る実行履歴情報を削除する(ステップS24)。 【0042】そして、実行履歴ファイルに、今回実行されるプログラムの実行履歴情報を実行履歴ファイルに記入する(ステップS25)。このときの実行履歴情報は、プログラム名、版数、実行開始時間である。一方、ステップS23おいて、読み込んだプログラム名の中に、今回のプログラム名が無い場合には(N)、ステップS24のように、削除すべき実行履歴情報は無いから、ステップS25に進み、実行履歴ファイルにおける、今回実行されるプログラムの実行履歴情報に記入する。 【0043】そこで、今回のプログラムが実行され、オペレータによって今回のプログラムに基づく作業が行われる(ステップS26)。その作業が完了して実行されていたプログラムが終了されると、自動的に終了時間、終了コード等が実行履歴情報に記入される(ステップS27)。そして、今回実行されたプログラムに係る実行履歴情報が実行履歴ファイルに書き込まれ(ステップS28)、プログラム実行履歴の作成は終了する。 【0044】また、図6に示されるプログラム実行履歴によるチェック処理では、オペレータが当該プログラムの終了処理を行ったとき、履歴管理部6が、履歴データ格納部6に格納された実行履歴ファイルを読み込む(ステップS31)。そこで、実行履歴ファイル内に記入された終了コードをチェックする(ステップS32)。当該プログラムに係る作業が完了しているかどうかが確認される。 【0045】そして、レイアウトデータベースに存在する当該プログラムに係わる実行依存関係情報を読み込む(ステップS33)。ここで、当該プログラムの実行履歴情報におけるプログラム名、実行開始時間等から当該プログラムに係わる実行依存関係が守られているかどうかがチェックされる(ステップS34)。 【0046】例えば、セルを配置した結果、配線にショートエラーが発生している場合、そのショートエラーが発生している箇所を含むエリアARを、配置・配線ウインドウに再表示し、そのショート発生箇所にエラー表示を行い、オペレータにショートエラーが発生していることを知らせる。このとき、セルの配置修正を行って、ショートエラーを解消することもできるし、そのショートエラー発生箇所があることを承知の上で、次の作業に進むこともできる。 【0047】以上のように、プログラム実行履歴管理において、プログラム実行履歴の作成処理及びプログラム実行履歴によるチェック処理としたので、途中のプログラム実行である程度のエラーが検出されても、そのまま取り敢えず先に作業を進め、最終的には一連の作業がもれなく実行されていることの確認を確実に行える。 (第3の実施形態)第3の実施形態では、図1に示したセル配置・配線処理システムのように、配置・配線を会話的に進めるためのエディタにおいて、最後にセーブした時点から会話的エディットで、セルの配置・配線の変更を行った場合、変更したオブジエクトの一覧を保存し、一度もセーブされていない場合は、データ読み込み後からの変更分を出力するようにした。 【0048】ここでのオブジエクトには、セル、ネット、その他配置・配線関連でエディットの対象となるものすべて、又はそこから選択されたものが含まれる。オブジェクトの一覧を出力するための指示があった場合に、保存された情報を一覧リストウインドウ画面に出力することができる。会話型での配置・配線の修正において、修正する範囲やカテゴリが予め分かっている場合など、会話的なエディットによって意図した通りの修正が確実になされているかを確認するための手段として使うことができる。 【0049】会話的な操作を再現するためのログ情報を出力することは一般的に行われていることであるが、このログ情報はあくまで操作の再現を目的としたものであり、どのような作業が行われたかを把握するためのものではない。配置・配線を会話的に進めるためのエディタにおいて、最後にセーブした時点から会話的エディットで配置・配線の変更を行った場合、変更されたオブジェクトのデータと加えられた操作の種別と操作の順序番号を保存しておき、一覧リストを出力するための指示があった場合に、保存された情報を出力する。出力する方法としては、操作の時系列順、またはオブジエクトのカテゴリ毎を選択できるものとする。なお、データが一度セーブされた場合には、セーブされるまでの変更情報を出力したあと、内部で持っている変更情報をクリアする。 【0050】図7に示した処理フローを参照して、オブジェクトへの操作の記録について説明する。配置・配線ウインドウ上で、オブジェクトへの操作を開始したとき、先ず、前回までのオブジェクトへの操作に関する変更情報をクリアしておく(ステップS41)。 【0051】オブジェクトへの操作が受け付けられると(ステップS42)、そのオブジェクトへの操作に合わせて、その操作内容が記録される(ステップS43)。オブジェクトへの操作が、複数回行われる場合には、ステップS42とステップS43と同様のステップが、その操作毎に合わせて行われる(ステップS44とステップS45)。 【0052】それらのオブジェクトへの操作の区切りにおいて、配置・配線に係るデータのセーブの指示が出されて受け付けると(ステップS46)、そのとき、オブジェクトへの操作の記録を出力する(ステップS47)。この記録の出力後に、ステップS41に戻り、次のデータセーブまでのオブジェクトへの操作の記録に向けて、記録した操作情報をクリアする。 【0053】操作情報の出力について、配置・配線ウインドウ上にオブジェクトへの操作の記録のリストを表示するようにすると、オペレータが、このリスト表示を見て、意図した通りの修正がなされたことを確認できる。ここで、オブジェクトヘの操作の記録の出力についての具体例を次に示す。 セーブ時刻 : 2000/**/** **:**:**現在時刻 : 2000/**/** **:**:**[配置] セルA: セルA 配置セルB: セルB 移動セルC: セルC 配置セルD: セルD 移動[配線] 配線1: 配線1 修正配線2: 配線2 修正配線3: 配線3 修正ここで、「セーブ時刻」は、最後にセーブされた時刻が表示され、一度もセーブされていない場合には、時刻は表示されない。「現在時刻」は、出力した現在の時刻が表示される。 【0054】また、[配置]には、変更のあったセルのセル名とマクロ名についてのリストが表示され、[配線]には、ワイア、ビアに変更があった配線の配線名のマクロ名についてのリストが表示される。以上のように、第3の実施形態によれば、データの読み込みまたはデータのセーブから行われた会話的操作の中で、オブジェクトヘの変更について、対象のオブジェクトと操作の種別、さらに操作の順序が内部で記録されているため、必要とされるときに、オブジエクトヘの操作に情報を出力することができ、意図した通りの修正が確実になされているかを確認できる。 (第4の実施形態)第3の実施形態では、個々のオブジェクトへの操作に関するリストを、配置・配線処理毎に列挙する形で、記録し、表示することができるようにした。 【0055】第4の実施形態では、配置・配線のエディットにおいて起動してから終了するまでの間に実行された主要なイベント、例えば、データのセーブやセーブ時点までに行われた操作のサマリー(セル配置変更の有無、ネットの配線変更の有無など)を実行履歴として記録するようにした。操作のサマリーは、個々のオブジェクトヘの操作を列挙するのではなく、どのオブジエクトグループに変更があったかについての情報のみを記録する。 【0056】会話型での配置・配線の修正において、修正するカテゴリがあらかじめわかつている場合など、たとえばセル配置の変更のみで配線を触ることはないことがわかっている場合など、会話的なエディットによってセル配置の変更のみで配線変更がないことを確認するための手段として使われる。主要なイベント(データのセーブやその他のデータの読み込みなど)が発生する毎に、そのイベント情報を出力すると同時に、そのイベントに付随する情報を付加して、その結果を実行履歴として出力する。この出力を、ウインドウ画面上にリストの形で表示することもできる。 【0057】主要なイベント(データのセーブやその他のデータの読み込みなど)が発生する毎に、そのイベント情報を出力すると同時に、そのイベントに付随する情報を付加する場合、例えば、セーブ時に、前述の第3の実施形態における情報から、変更されたオブジェクトのカテゴリを抽出して付加したり、 配置に関するチェックが、例えば、イベントとして実行されたときは、そのチェック結果としてのエラー数などを付随する情報として付加する。 【0058】次に、実行記録として記録された操作のサマリーについての具体例を示す。 「開始(**/**, **:**:**) 終了(**/**, **:**:**) コード=0ブロック名(TSM) セーブ(2000/**/**, **:**:**) 修正 Comp Net Mpinリード(2000/**/**, **:**:**) ファイル名配置チェック(2000/**/**, **:**:**) 4エラー 」 ここで、「セーブ」は、最後にセーブされた時刻を示し、当該プログラム起動前の状態から最後にセーブされるまでの間に、変更のあったものが、「修正」の後に表示される。上の具体例では、例えば、「Comp」「Net 」「Mpin」について修正があったことを示している。その「修正」の後に表示される例は次のようである。 【0059】 Frame : ブロック枠Comp : コンポーネント(セル、ブロック、サブチップ) Net : ワイア、ビアMpin : モジュールピンSite : サイトRinh : 配線領域、配線禁止これらについて、複数回セーブされた場合、起動前の状態からの差分が表示される。 【0060】「リード」には、最後に外からデータをリードした時刻とそのファイル名が示され、「配置チェック」には、最後に配置に関するチェックをした時刻と、検出されたエラーの数が表示される。 (第5の実施形態)会話的に進めるための配置・配線エディタにおいて、配置・配線ウインドウ上に表示されたカーソル位置に追随して、そこにあるものの内容情報をサンプリングウインドウで表示できるサンプリング機能を有している。 【0061】ところが、このサンプリング機能では、配置・配線ウインドウ上でカーソルを移動させると、そのカーソルの移動に伴って指し示す位置の情報、例えば、セル、配線等の内容情報がサンプリングウインドウに表示される。カーソルで最初のセルを指し示した後、別の位置のセル等への操作のためにカーソルを移動させる場合、最初の位置の情報は消えてしまうため、別の位置のセル等への操作において、最初の位置の情報を参照したくとも、別の位置のセル等の内容情報が表示されてしまい、最初の位置の情報を見ることができない。 【0062】このため、第5の実施形態では、カーソルを移動させても、前のサンプリング表示が変わらないようにするために、サンプリングホールド機能を備え、サンプリング表示の固定又は固定解除のモードを選択できるようにした。図2に示された配置・配線ウインドウPNWの表示例で見ると、例えば、セルAの枠内にカーソルを移動さて止めると、サンプリングウインドウSWにセルAの内容情報が表示される。その情報には、例えば、セルAに係る位置、他との接続関係、機能等を含めることができる。 【0063】次に、セルBへの操作を行うため、カーソルをセルBに移動させるが、通常のサンプリング表示では、サンプリングウインドウSWにセルBの内容情報が表示されることになるが、ここでは、セルAの内容情報を参照したいので、カーソルがセルA内にあるときに、予め定められたキーを押すことにより、表示固定モードに設定する。予め定められたキーとしては、マウス31のクリックによってもよい。 【0064】その後、カーソルを移動しても、サンプリングウインドウSWには、セルAの内容情報が表示され固定される。内部でサンプリング機能を抑制することによりサンプリング表示が、カーソルの移動にかかわりなく固定される。また、配置・配線ウインドウPNWにおいて、セルを探すようなときには、通常のサンプリング表示に戻したいときがある。このようなときには、予め定められた別のキーを押すことにより、表示固定解除のモードに設定するようにする。このときも、別のキーを用意しなくとも、マウス31の操作で、カーソルをセルA内に移動させてクリックすることで固定を解除してもよい。 【0065】以上のように、サンプリング機能を固定又は固定解除できるモードを選択できるようにしたので、セルの配置・移動や配線の追加・削除・修正などの操作を容易に進められるように、作業を補助することができる。 (第6の実施形態)図1に示されるように、会話的に進めるための配置・配線エディタにおいて、ユーザが作成して格納したユーザテキストファイルに記述された情報(座標、図形、テキストなど)を、配置・配線ウインドウPNWなどのエディタ画面上や、一覧リストウインドウ上に表示するようにした。 【0066】オペレータが、操作指示部3から、ユーザテキストファイル情報の表示を指示すると、データ管理部15は、ユーザテキストファイル格納部8に格納されているユーザテキストファイルに記述された情報(座標、図形、テキストなど)を読み込む。読み出された情報は、表示データ作成部13、表示制御部14により処理され、表示部2の表示画面21上に、指定された座標に図形等が表示され、指定されたテキストが、その図形等と関連付けられる。 【0067】ユーザテキストファイルに記述された情報(座標、図形、テキストなど)は、レイアウトデータベースに格納されたエディタ内部で処理されるセルの図形やそれらに係るテキストと同じ様に扱われる。ユーザテキストファイルにおける記述の具体的一例を示すと、「HEAD :COMMON GRID= グリッド値 ;INF1 ID リストデータ POS(X 座標,Y 座標);INF2 ID リストデータ MIN(X 座標,Y 座標) MAX(X 座標,Y 座標);END ; 」 のようになる。 【0068】ユーザによる情報は「HEAD」文および「END 」文の間に記述され、文末は必ず" ; "で終了する。空白文字を記述できるところには、コメントを記述可能である。" /* " と" */ "で囲んだ範囲にコメントを記述できる。「INF1」文及び「INF2」文をグリッド値で記述する場合には、「COMMON」文でグリッド値を指定する。記述されたX座標、Y座標にグリッド値を掛けた位置に図形を表示する。 【0069】「INF1」文及び「INF2」文における「リストデータ」には、一覧リストLWに表示するためのデータが記述されている。ここで、上述のユーザテキストファイルに記述された情報に基づいて、配置・配線ウインドウPNW上に表示した例を、図8に示す。「INF1」文の「リストデータ」が、スペースエラーである場合には、一覧リストLWに「スペースエラー」と表示される。そして、「INF1」文にX座標、Y座標が記述されているので、例えば、その座標がセルAに係るものであれば、その位置に×印が表示される。 【0070】また、「INF2」文の情報の表示を選択した場合には、「リストデータ」に記述された情報が一覧リストLWに表示される。そして、X座標、Y座標について、最大と最小が記述されているので、この場合は、例えば、ブロック上の特定のエリアARを指し示しているとして、配置・配線ウインドウ上では、それらの座標に対応する位置に枠を表示する。さらに、表示された枠が、ユーザテキストファイル情報に基づいて表示されていることを強調表示する。図8では、該当エリアに斜線を施した。 【0071】なお、例えば、セルA内の×印にカーソルを合わせると、サンプリングウインドウSWには、セルAに係る内容情報が表示される。以上のように、ユーザ自信が作成したユーザテキストファイル情報を配置・配線ウインドウ画面上に表示できるようにしたので、セルや配線の配置や、修正を行う際の操作を容易に行うことができる。 (第7の実施形態)第6の実施形態では、ユーザテキストファイル格納部8に格納されたユーザテキストファイルに記述された情報を配置・配線ウインドウPNWや、一覧リストウインドウLW上に表示するものであった。 【0072】第7の実施形態では、第6の実施形態におけるユーザテキストファイル情報の表示機能を利用して、ファインド機能、ゴーファインド機能、サンプリング機能を備えて、会話的に進めるための配置・配線エディタの操作性を向上するものである。図1に示されるように、会話的に進めるための配置・配線エディタにおいて、ユーザテキストファイル格納部8に格納されたユーザテキストファイルに記述された情報(座標、図形、テキストなど)が、配置・配線ウインドウPNWや、一覧リストウインドウLW上に表示されている場合、その記述情報を、ウインドウ画面上で、ファインド機能、ゴーファインド機能、サンプリング機能により確認することができる。 【0073】ユーザテキストファイルに記述された情報(座標、図形、テキストなど)を読み込み、指定された座標に指定された図形を表示し、指定されたテキストはその図形と関連付けられる。この関連付けられたテキストの記述内容は、カーソルがその図形に置かれたときに、サンプリングウインドウSWにサンプリング情報として表示される。 【0074】また、ファインド機能のコマンドを選択すると、読み込まれたテキストは一覧リストウインドウLWで一覧表示される。その一覧リストウインドウLWに表示されたテキストにカーソルを合わせ、特定のテキストがクリックされ選択されると、例えば、エディタ画面上でそのテキストに対応する図形が強調表示される。もし、現在表示中のエディタ画面上に選択された図形がない場合には、ゴーファインド機能のコマンドを選択することにより、選択された図形の位置に画面が移動する。 (第8の実施形態)配置・配線を会話的に進めるためのエディタにおいて、ユーザが、特定の情報について、例えば、ある意図をもってエディタ画面上に表示したいというようなオブジェクトがあるとき、ユーザテキストファイルにその情報を記述しておき、その情報をに読み込んで、エディタ画面上の対応するオブジェクトについて強調表示、例えば、指定の色で色付けして表示できるようにする。 【0075】配置・配線を会話的に進めるためのエディターにおいて、ユーザテキストファイルに記述された情報として、セル名、その指定色、テキストを読み込んで、内部データの中で一致するセル名を探し、そのセルに対してユーザテキストファイルから読み込んだ指定色で色付けし、またテキストも指定された場合には、そのセルとそのテキストを関連付ける。 【0076】このようにすることにより、ユーザテキストファイルに記述された情報に従って、特定のセルについて、エディター画面上で、外からユーザによるある意味を持って色づけを指示され、視覚的に明らかになる。この場合のファイルへの記述例を次ぎに示す。 「HEAD ;COMP ID セル名 色 " コメント "; COMP -1 SEP 1 " セパレータ文字列 "; END ; 」 ここで、「COMP」は、識別文字列を、「ID」は、「INF 」リストに表示する番号を示している。「ID」に−1 を指定すると、その行はセパレータ行として扱われます。「セル名」には、セル名を指定する。セパレータ行の場合は無視される。「色」には、例えば、以下の15色のいずれかを指定できるようにする。色番号、色名の何れからでも指定することができる。 〔色番号〕 〔色名〕 1 レッド赤2 オレンジレッド3 ダークオレンジ4 ゴールド5 イエロー6 グリーンイエロー・ ・・ ・・ ・14 ローヤルブルー15 ブルーなお、セパレータ行である場合、色指定は無視し、白で表示するようにする。「コメント」には、サンプリングウインドウSWに表示する任意の文字列を記述し、その文字数は、例えば、127字以内とする。セパレータ行である場合は、セパレータ文字列を指定する。 【0077】これまで、ユーザテキストファイルに記述された情報のうち、セル名を読み込んで、内部データの中で一致するセル名を探し、指定の色で色付けして表示する場合について説明したが、同様にして、ユーザテキストファイルに記述された情報のうち、ネツト名、その色、テキストを読み込んで、エディタ画面上で、特定のネットに対して、ユーザが意図していることを表す指定の色で色付けして表示することもできる。 【0078】この場合のファイルへの記述例を次に示す。 「HEAD ;NET ID ネツト名 色 " コメント "NET -1 SEP 15 " セパレータ文字列 " ;END ; 」 ここで、「NET 」は、配線に係る識別文字列を記述し、「ネット名」には、配線に係るネット名を指定する。セパレータ行の場合は無視される。「ID」「色」「コメント」については、前述の例と同様である。 【0079】以上のように、配置・配線を会話的に進めるためのエディターにおいて、ユーザが意図をもって表示したいオブジェクトについて、ユーザテキストファイルにその情報を記述しておき、表示したいときに情報を読み込み、内部データの中で一致する情報を探し、その情報に対して外から読み込んだ色で色付けすることにより、エディター画面上において、外からある意味を持って、ユーザによって色付けを指示されたものが、視覚的に明らかになるように表示することができる。 (第9の実施形態)会話的に進めるための配置・配線エディタにおいて、LSIなどのレイアウト設計する際に、数多くのセルや配線のあるデータに対して、セルの配置・移動や配線の追加・削除・修正などの作業が繰り返し行われる。このような場合に、複数の場所を次々と参照し、確認する必要がある場合がある。 【0080】このため、後で確認する必要がある場所、例えば、エリア、セル、配線等にマークを付けるマーク作成を行う。そして、そのマークを付けた場所を見たいときには、マーク参照モードを指定する。そうすると、配置・配線エディタのウインドウ画面上にマークが付けられた画面が表示される。また、マークが複数の場所に付いている場合には、マークを付けた順に該当画面が移動しながら順次表示される。最後のマーク画面になると、最初に付けたマークの画面に戻る。これらの画面の移動表示は、現在表示されている領域の大きさ、拡大率で行われる。 【0081】このような複数のマーク作成がされた場合について、図9に、エリアにマークを付けた場合の例を示す。レイアウト設計の途中において、配置・配線ウインドウPNW1上に表示されているエリアAR1に、マークX1を付ける。このマークを付けるときには、マーク作成モードを選択し、マークを付ける位置にカーソルを移動させ、そこでポインタすればよい。そうすると、そのカーソルがある位置にマークX1が表示される。このようにして、ウインドウPNW2でエリアAR2にマークX2を、また、ウインドウPNW3でエリアAR3にマークX3を順次付けて記憶させる。 【0082】次ぎに、これら複数の画面を見たいときには、マーク参照モードを選択すると、自動的に、最初のマークX1が付いたエリアAR1がウインドウPNW1に表示され、一定間隔で、次のマークX2が付いたエリアAR2がウインドウPNW2に表示される。一定間隔でなくても、「NEXT」指示をしてもよい。最後のマークX3が付いたエリアAR3がウインドウPNW3に表示されると、最初のマークX1が付いたエリアAR1に復帰する。また、途中のマークが付いたエリアから参照を開始した場合には、その開始したエリアに戻るようにするとよい。 【0083】この一連のエリアの表示においては、エリアAR1乃至AR3の大きさが、それぞれ同じになるように拡大率を調整する。そうすると、それぞれの比較が簡単におこなえる。セルの配置・移動や配線の追加・削除・修正などの作業が繰り返し行われる場合に、複数の場所を次々と自動的に参照でき、確認が簡単になる。 (第10の実施形態)配置・配線を会話的に進めるためのエディタにおいて、エディタ画面上で、特定のエリア内に配置された複数のセルを、指定した位置に整列させ再配置する。そのため、セル再配置モードを指定できるようにする。 【0084】エディタ画面上で、指定された位置に再配置しようとする複数のセルを含むエリアを選択する。別のコントロール画面で設定されるスペース及びピッチの値と、整列モード及び整列タイプに従つて、選択されたエリアにある複数のセルの一つずつについて、再配置を行う。コントロール画面で設定されるスペース又はピッチの値と整列モード及び整列タイプの一具体例は次ぎの通りである。 【0085】〈スペース、ピッチ〉セル間のスペース又はセル配置のピッチの値を実座標値で設定する。 〈整列モード〉Left :セルを左詰めに再配置。 Right :セルを右詰めに再配置。 〈整列タイプ〉Channel :セルとセルとの空き領域をスペース値又はピッチ値で再配置。 Pitch :セルの基準となる端の間隔をスペース値又はピッチ値にして再配置。 One :左端又は右端の1つずつのセルの位置を整列。 【0086】これらの複数のセルに係る再配置について、図10を参照して、説明する。図10(a)では、エディタ画面上に表示されたエリアARを示しており、そのエリアAR内に、複数のセルB乃至Eが配置されている。この複数のセルが配置された位置を指定された位置に再配置するケースを、図10の(b)〜(d)にそれぞれ示している。 【0087】図10(b)は、複数のセルB乃至EをエリアAR内で、「スペース、ピッチ」で指定されたスペース値で、(a)の配置から再配置した状態を示している。「整列モード」は、「Left」であり、「整列タイプ」は、「Channel 」である。複数のセルB乃至Eを再配置するためにエリアARの範囲を選択するとき、例えば、そのエリアARの範囲の設定を間違って、セルBの左端がその範囲から出てしまった場合を、図10(c)に示す。このとき、セルBについては、再配置の対象セルとせず、対象セルをセルC乃至Eとし、エリア内の最端にあるセルCを基準に行う。セルCが配置された位置から、指定されたスペース値又はピッチ値で再配置を行う。 【0088】図10(d)では、「整列タイプ」について、「Pitch 」が選択された場合を示している。「スペース、ピッチ」で、セル間のスペース及びセル配置のピッチの値がそれぞれ指定され、(a)の配置から再配置される。なお、設定されたピッチ値pが、再配置の対象となるセルのX軸方向幅の最大値より小さく設定された場合には、再配置処理を行わない。また、さらにスペース値sも設定されているとき、値(p−s)が再配置の対象となるセルのX軸方向幅の最大値より小さい場合も、同様に再配置処理を行わない。 【0089】以上のように、セル再配置モードを指定できるようにしたので、エディタ画面上で、特定のエリア内に配置された複数のセルを、指定した位置に整列させることができ、再配置を簡単に行える。 (第11の実施形態)第10の実施形態では、配置・配線を会話的に進めるためのエディタにおいて、セル再配置モードを指定して、「整列モード」及び「整列タイプ」に従って、複数のセルの配置を再配置するものであった。 【0090】第11の実施形態では、配置・配線エディタの画面上で選択されたエリア内において、複数のセルの並びが繰り返されている回路をレイアウトする必要がある場合に、カタログコマンドを選択することによって、複数のセルのグループにおけるセルの並びの関係をカタログ登録でき、他の複数のセルに対して、カタログ登録された同じ並び関係を有するカタログ配置を行うことができるようにした。 【0091】配置・配線を会話的に進めるためのエディタ画面上で、次ぎのようにカタログ登録およびカタログ配置を行う。図11を参照して説明する。 ・カタログ登録とセル配置を同時に行う場合先ず、カタログコマンドを選択してから、配置・配線ウインドウPNW上で、一覧リストウインドウLWに表示されたセルを選択し、通常のセル配置コマンドと同様に配置処理を行う。エリアAR1内にセルA乃至Eを配置し、第12の実施形態におけるセル再配置も終了する。 【0092】カタログコマンドが選択されているので、一覧リストウインドウLWに表示されているセル名「セルA」乃至「セルE」は、順にカタログ登録される。各セルの位置情報は記録されているので、各セル間の位置関係情報を登録することができる。配置・配線ウインドウPNW上では、カタログ登録されたセルについては、例えば、赤色で強調表示される。 ・配置済みのセル配置情報をカタログ登録する場合配置・配線ウインドウPNW上で、セルA乃至EがエリアAR1内に配置を終了しているとする。そこで、カタログコマンドを選択する。セル配置情報のカタログ登録を行うセルを選択する。例えば、一覧リストウインドウLWに表示されているセル名「セルA」乃至「セルE」をカーソルで順に指定し選択するようにしてもよい。その実装情報がリスト順にカタログ登録される。 【0093】このようにして、複数のセルに対するカタログ登録を行うことができるが、カタログコマンドは、選択されてからリピートコマンドが選択されるか、又は再度カタログコマンドが選択されるまで有効となる。カタログ登録のセルの選択は連続して行う。そして、指定されたセルに対してカタログコマンドが選択されると、既に登録されていた情報はクリアされる。 【0094】次ぎに、カタログ配置を行う場合に付いて説明する。カタログ配置を行う場合は、先ず、リピートコマンドを選択してから、セル一覧リストウインドウLWに表示された配置対象セル名において、エリアAR2に配置すべき複数のセルのうち、先頭のセル、つまりセルFを選択する。そうすると、カタログ登録されている配置情報の数だけ一覧リストの相対順に、複数のセル、セルF乃至Jが選択される。 【0095】そして、カタログ登録された配置情報が選択されたセルの位置情報に付加される。次に、セル配置・配線ウインドウPNW上のエリアAR2において、カタログ配置を行うセルの基準点となる配置位置を指示する。そうすると、エリアAR2において、エリアAR1内に配置されたセルA乃至Eの並びと同じ配置関係で、セルF乃至Jが配置される。 【0096】以上のように、複数のセルの並びが繰り返されている回路をレイアウトする場合に、カタログ登録及びカタログ配置を行うことにより、複数のセルの並びが既知のグループに対し、簡単に繰り返しセル配置を行うことができる。 (第12の実施形態)配置・配線を会話的に進めるためのエディタにおいて、複数のセル間の配置・配線関係が容易に把握する必要がある場合、エディタ画面上で特定のセルを選択したときに、当該セルに関連する情報を、選択されたファインドモードとファインドスタイルに従って表示するようにした。 【0097】配置・配線ウインドウPNWの画面上に表示された複数のセルのうち、特定のセルを選択したとき、そのセルに関連する情報を、表示対象を示すファインドモードと、表示形式を示すファインドスタイルの選択に基づいて表示する。ファインドモードとファインドスタイルの一具体例を、次ぎに示す。 〔ファインドモード〕 ファインドコマンドのモードを設定全て( セル全体強調):In/Out/Cell すべて対象(セルパタン全て) 全て(セル枠強調) :In/0ut/Cell すぺて対象(セル枠のみ) 入力 :セルと入力ピンの接続を表示出力 :セルと出力ピンの接続を表示セル :セルのみを強調表示(赤1色) セル(15色) :セルのみを強調表示(15色) 〔ファインドスタイル〕 ファインドコマンドの表示形式を設定Steiner :スタイナーツリー状で表示Wire :実配線の形状で表示Star :放射線の形状で表示ArcWire :実配線の形状で表示。 Arcstar :放射線の形状で円弧表示【0098】このようなファインドモードとファインドスタイルに基づいて設定されて、ウインドウ画面上に表示した一例について、図2に示したセルA乃至Eの場合を図12に示す。配置・配線ウインドウPNW上でセルセルA乃至Eについて、各セルの配置が終了した後に、ファインドコマンドを指示する。そして、例えば、ファインドモードとして、「入力」を、ファインドスタイルとして、「Wire」を指定し、カーソルをセルAに合わせてクリックすると、配線WIBが強調表示される。 【0099】また、同様にして、ファインドモードとして、「出力」を、ファインドスタイルとして、「Wire」を指定し、カーソルをセルBに合わせてクリックすると、配線WOCが強調表示される。以上のように、ファインドコマンドを指示でき、ファインドモードとファインドスタイルを設定できるようにしたので、複数のセル間の配置・配線状況が一目で分かり、セルの配置・配線関係を容易に確認できる。 (第13の実施形態)配置・配線を会話的に進めるためのエディタにおいて、レイアウト設計の中では、セル自体の形状は同じであるが、反転させることが必要となる。 【0100】エディタ画面上で、反転させたいセルを選択し、選択されたセルを別のコントロール画面で設定されたフリップモードに従って、X軸又はY軸を中心に反転させる。ここでは、いくつかの複数のセルをまとめてグループ指示することもできる。グループで反転させる場合には、別のコントロール画面で設定されるグループフリップタイプを指定する。 【0101】グループフリップタイプの具体例を次に示す。 〔グループフリップタイプ〕 全体反転 :グループ全体をミラー反転位置入替 :セルの位置関係のみ反転、セルの回転コードはそのまま単体反転 :配置位置を保ったままセルを個々に反転このグループフリップタイプの種別に対応した具体的な反転例について、図13を参照して説明する。 【0102】図13(a)では、図2のエリアAR内のセルBについて、「単体反転」の例を示している。図中の矢印は、セルの向きが分かるように示したものである。セルBを、配置された位置をそのままにして、Y軸を中心に単に反転した場合を右側にセルB1として示した。また、同様に、X軸を中心に反転した場合を、下側にセルB2として示した。 【0103】図13(b)には、「全体反転」の場合を示している。グループを構成するセルB及びCの2つのセルが、X軸を中心にしてミラー反転している。図13(c)には、「位置入替」の場合を示している。グループを構成するセルB及びCの2つのセルは、各セルの位置関係がX軸を中心にしてミラー反転しているが、セル自体の向きは反転せず、そのままである。 【0104】以上のように、セル単体又はセルグループでセル反転のモードを選択できるので、セルレイアウト設計において、セル配置の操作を簡単かすることができる。 (第14の実施形態)配置・配線を会話的に進めるためのエディタにおいて、セルを配置した後に、当該セルを移動したとき、当該セルが移動すると、当該セルと他のセルとの関係が分からなくなるため、その移動状況をラバーバンド表示する。 【0105】配置・配線を会話的に進めるためのエディタにおいて、セルの移動および配置時のラバーバンド表示を次のようなモードで制御する。 〔ラバーバンドモード〕 セルの移動及び配置時のラバーバンド表示全部 :通常の表示入力 :入力ピンに繋がるワイアの表示出力 :出力PIN に繋がるワイアの表示CLOCK のみ :クロック系ネットのワイアの表示CLOCK 除く :クロック系ネットを除くワイアの表示未表示 :表示を行わないこのようなラバーバンドモードを選択した場合について、ウインドウ画面上に表示した一例を、図2に示したセルA乃至Eを例にして図14に示した。 【0106】ラバーバンドコマンドを指示し、カーソルをセルEに合わせた後、クリックしたままカーソルを移動させる。そうすると、セルEの表示は、最初、破線で示す位置にあったが、カーソルの移動とともに、実線で示すように、セルEが移動する。このとき、破線で示された配線ワイヤも、実線で示すワイヤWR1及びWR2が、セルEの他との接続関係を表示しながら、セルEの移動とともに伸び縮みする。これらの伸び縮みするワイヤを強調表示する。 【0107】以上のように、配置されたセルを移動したとき、その移動状況を容易に把握することが出きる。 (第15の実施形態)配置・配線を会話的に進めるためのエディタにおいて、エディタ画面上でレイアウト設計する際に、各セルを順次同じ配置関係で配置する必要がある場合に、配置コマンドを指示すると、当該セルの配置した次のセルの配置について、選択されたモードにより制御できるようにする。 【0108】セルの配置のモードの具体例を次に示す。 〔配置モード〕 配置コマンドのモードを設定Normal :1つの対象ごとに配置位置を指示Right :直前に配置したものの右に配置Left :直前に配置したものの左に配置Up :直前に配置したものの上に配置Down :直前に配置したものの下に配置図2の例で説明すると、これらのモードの内から一つを、例えば、「Right 」を選択し、一覧リストウインドウLWに表示されたセル名からセルCを選択すると、セルCが、エリアAR内で、セルBの位置の右に配置される。セルDについても同様である。 【0109】以上のように、複数のセルが順次並んで配置されるような場合に、配置コマンドを指示すると、レイアウト設計のセル配置操作を簡単化することができる。 (第16の実施形態)配置・配線を会話的に進めるためのエディタにおいて、エディタ画面上でレイアウト設計する際に、配置されたセルを再配置するためセルを移動させるとき、セルの移動方向を固定して行うようにした。 【0110】配置・配線を会話的に進めるためのエディタにおいて、セルの移動を次のようなモードにより制御する。 〔移動モード〕 移動コマンドのモードを設定通常 :XY座標ともに指示に従い移動X 座標固定 :X座標を固定したままY軸方向のみ移動Y 座標固定 :Y座標を固定したままX軸方向のみ移動そこで、配置されたセルにカーソルを合わせ、移動コマンドを指示し、移動モードを選択する。例えば、「X 座標固定」を選択すると、移動させるセルは、カーソルの移動とともに画面上で移動するが、その移動方向は、当該セルが配置されていた位置のY軸方向にのみである。 【0111】なお、セルの再配置の場合に限らず、セルを一覧リストウインドウLWから選択して、当該セルをエリアAR内に配置する場合にも適用できる。上述の移動コマンドを指示し、該エリア内の配置軸にカーソルを移動させクリックする。そして、セルを一覧リストウインドウLWから選択し、カーソルをエリア内で移動させることにより、当該セルをそのカーソルの動きに合わせて配置軸上を移動させることができる。 【0112】以上のように、セル配置におけるせセルの移動方向を設定でき、カーソルの移動が不安定でも、セルの移動方向を安定して表示できるので、レイアウト設計のセル配置位置の決定操作を簡単化することができる。 (第17の実施形態)配置・配線を会話的に進めるためのエディタにおいて、エディタ画面上でレイアウト設計を行うときには、配線をコピーしたい場合が多々発生する。 【0113】このような場合に、コピーしたい配線の1点にカーソルを合わせ、クリックしたとき、配線コピーコマンドを指示できるようにする。この配線コピーが選択されると、コピーの対象となる配線のドラッグ図形が表示され、その端点をコピー先のネットの端子位置に合わせることにより配線がコピーされる。このようにすれば、レイアウト設計時の配線操作を簡単化することができる。 (第18の実施形態)配置・配線を会話的に進めるためのエディタにおいて、エディタ画面上でのレイアウト設計中において、配線したワイヤを移動させたい場合が多々発生する。このとき、特定のワイヤを移動させてしまうと、該ワイヤの移動で、該ワイヤに接続されていたビア又は他のワイヤと離れてしまい、当該ワイヤの移動後に再度ビア又は他のワイヤとの接続操作をしなければならない。 【0114】そこで、移動したいワイアの1点を選択し、次に移動させる場所を選択することにより、その移動に伴い配線が引き伸ばされるようにした。移動に伴う接続ワイアの伸縮およびビアの移動も自動で行われるようにした。エディタ画面上で、移動したいワイアの1点を選択して、次に移動させる場所を選択することにより、配線が引き伸ばされる状態について、図15を参照して説明する。 【0115】図15(a)では、ビアB1及びB2が位置P1に配置され、その間をワイヤWが接続さている。さらに、ビアB1には、ワイヤW1が接続され、そして、ビアB2にも、ワイヤW2がワイヤW1と同方向に延びるよう接続されている。ここで、ワイヤWを、位置P1から位置P2に移動するとき、カーソルをワイヤW上の一点に合わせ、配線ストレッチコマンドを指示する。そして、カーソルを図示の矢印の方向に移動させ、位置P2を選択する。そうすると、ワイヤWの移動とともに、ビアB1及びB2も移動し、ワイヤW1及びW2もビアB1及びB2に接続されたまま延ばされる。 【0116】図15(b)では、ワイヤW2の接続が異なる以外は、図15(a)の接続関係と同様である。ワイヤW2は、ワイヤW1とは反対側に延びるよう接続されている。ここで、ワイヤWを、位置P1から位置P2に移動するとき、カーソルをワイヤW上の一点に合わせ、配線ストレッチコマンドを指示する。そして、カーソルを図示の矢印の方向に移動させ、位置P2を選択する。そうすると、ワイヤWの移動とともに、ビアB1及びB2も移動する。しかし、ワイヤW1とワイヤW2とは互いに反対方向であるため、ワイヤWの移動により、ワイヤW1はビアB1の移動に合わせて延ばされ、ワイヤW2はB2の移動に合わせて縮められる。 【0117】図15(c)では、配線されたワイヤW1が、位置P1で終端となっている場合を示している。ワイヤW1の終端部に、つまり位置P1にカーソルを合わせ、配線ストレッチコマンドを指示する。次に、カーソルを、図示の矢印のように、位置P2まで移動させると、その移動に伴ってワイヤW1自体も延び、その様に表示される。 【0118】図15(d)では、配線されたワイヤW1にビアB1が置かれている状態を示している。ビアB1にカーソルを合わせ、配線ストレッチコマンドを指示する。次に、カーソルの移動により、図示の矢印のように、ビアB1を位置P2まで移動させると、その移動に伴ってワイヤW1自体も延び、その様に表示される。 【0119】以上のように、配線ストレッチコマンドを選択することができるので、配置されてセル、ビア、ワイヤ等の移動に伴って付随するワイヤも伸縮させることができ、レイアウト設計時の配線操作性の向上を図ることができる。 (第19の実施形態)配置・配線を会話的に進めるためのエディタにおいて、エディタ画面上でのレイアウト設計中において、配線に係る情報を変更したい場合がある。このため、配線変更コマンドを指示することにより、例えば、配線したワイヤに係る情報のうち、配線位置情報はそのままで、配線種情報のみを変更するようにした。 【0120】この配線変更の具体的一例を、図16に示した。図16(a)では、ワイヤ1乃至7を取り敢えず配線した状態を示し、ワイヤ1、3、5及び7については接地用Gとしている。ワイヤ2、4及び6について電源用としている。ところが、電源用には、電圧の異なる2種類があり、ワイヤ4について、電圧V1からV2へと配線種情報の変更操作を行った。しかし、ワイヤ6についても、電圧V1からV2へと変更が必要であるとき、ワイヤ6についても、その配線種情報の変更操作を行わなければならない。 【0121】そこで、図16(a)に示されるようにワイヤ4上の一点と、図16(b)に示されるように変更を要するワイヤ6上の一点にカーソルを合わせ、それぞれで配線変更コマンドを指示する。そうすると、図16(b)のように、ワイヤ6について、ワイヤ4の配線種情報のみがコピーされ、電圧V1からV2へと変更される。なお、最初に配線変更コマンドを指示しておき、ワイヤそれぞれを選択して、前に選択したワイヤの配線種情報を後に選択したワイヤにコピーするようにしてもよい。 【0122】以上のように、配線変更コマンドを指示することにより、配線種情報のみをコピーするようにしたので、配線されたワイヤ、ビア等の位置を変えずに、その配線種を変更することができ、レイアウト設計における変更操作を簡単化できる。 (第20の実施形態)配置・配線を会話的に進めるためのエディタにおいて、エディタ画面上でのレイアウト設計中において、実装階層ブロック端子(モジュールピン)の接続ネットの属性と配線層から、接続ネットの配線幅を推測し、線幅を考慮して重なりチエックを行えるようにした。 【0123】レイアウト設計中におけるモジュールピンの重なり配置チェックは、面積を持たないグリツド座標点でのチエックであった。そのため、クロック系ネット等のように、太い幅のワイヤが必要な配線では、そのワイヤが重なってしまうという問題があった。そして、実際に配線を行うまで、エラーを検出できなかった。モジュールピンの接続配線の状態を、図17を参照して、説明する。 【0124】図17では、エディタ画面上で、LSIブロックのモジュールピンT1乃至T4の配置を示している。ここで表示されているモジュールピンT1乃至T4の位置は、グリツド座標点である。これに対して、モジュールピンの配置チェックを行った場合には、接続されるワイヤが、線幅aであるとして判断され、モジュールピンT1乃至T4の位置は適正なものとされる。 【0125】しかし、実際の実装階層ブロックでは、接続ネットの属性やどの配線層かで、モジュールピンT1乃至T4に接続されるワイヤW1乃至W4の線幅が異なる場合がある。そのため、モジュールピンT3及びT4に接続されるワイヤW3及びW4の幅が、線幅aより広い線幅bであるという配線ルールがあると、モジュールピンT4が現在の位置に配置されていると、ワイヤW4は、ワイヤW3に重なる可能性がある。にもかかわらず、配置チェックでは、モジュールピンのグリツド座標点でのみ判断しているので、実装階層上でのエラーを検出できない。 【0126】そこで、モジュールピンの接続配線の属性と配置された配線層を参照し、モジュールピンT1乃至T4について、接続される配線ルールを満たす最小線幅、図17では、線幅aを求め、その線幅を考慮して実装階層ブロックでの配線重なりチェックを行う。これにより、配線されるまでエラーが検出されなかったクロック系配線等の太幅配線に対し、配線される以前に、実装階層ブロック端子(モジュールピン)の重なり配置エラーの検出が可能となり、レイアウト設計における配線の手直し等の作業を軽減することができる。 (第21の実施形態)配置・配線を会話的に進めるためのエディタにおいて、エディタ画面上でのレイアウト設計中において、セル等のレイアウトを確認する際、ブロック全体から順次小さい領域へと拡大して表示することを行う。 【0127】配線作業等のため、拡大表示されている場合や、表示設定がセル内パターンに関してもオンになつている場合を除いて、セルの表示は、セル枠のみであった。セル枠のみの表示では、画面上でのセルの配置の有無が識別しにくく、セルの配置向き(回転コード)に関して知るには、前述のサンプリング機能やセルのファインド機能などを使用しないとできなかった。 【0128】また、そして、巨大サイズのセルが存在すると、図18に示すように、巨大サイズのセルLCについて、セル枠と原点位置とセル回転コードを表す2本の斜線による表示がされている。しかしながら、順次小さい領域へと拡大したとき、画面上に表示される領域AR内に、これらの斜線が表出されれば、巨大サイズのセルの一部が表示されていることが分かるが、図18で示す領域ARのように、これらの斜線が表出されない場所にある場合には、画面上、 何も表示されないので、セルが配置されている領域なのか、空き領域なのかの識別ができない。 【0129】そこで、セル内部パターンの表示が不要な表示サイズでのセル表示において、例えば、このような巨大サイズのセルのどこを拡大表示しても、そのセルが存在することを知らせるため、セル枠内を斜線等の塗りつぶしパターンを表示するようにした。セル枠内を斜線等の塗りつぶしパターンを表示することにより、何処を拡大表示することになっても、その箇所におけるセルの有無の識別が容易になる。 (付記1) 配置・配線処理システムであって、配置・配線を操作処理するプログラムの実行を制御する制御手段と、画面上に配置・配線に係る情報を表示する表示手段と、前記画面上で配置・配線を操作する操作処理手段と、前記配置・配線に係る情報を管理する情報管理手段と、を少なくとも有し、前記制御手段は、読み出した前記プログラムを複写した後、該複写したプログラムを実行する前記配置・配線処理システム。 (付記2)会話型エディタによる配置・配線処理システムであって、配置・配線を操作処理するプログラムの実行を制御する制御手段と、エディタ画面上に配置・配線に係る情報を表示する表示手段と、前記画面上で配置・配線を操作する操作処理手段と、前記配置・配線に係る情報を管理する情報管理手段と、を少なくとも有し、前記表示手段は、表示された前記配置・配線図形情報が順次選択指示されたとき、前記エディタ画面のウインドウに、選択指示された当該配置・配線図形情報に係る内容を表示する配置・配線処理システム。 (付記3)会話型エディタによる配置・配線処理システムであって、配置・配線を操作処理するプログラムの実行を制御する制御手段と、エディタ画面上に配置・配線に係る情報を表示する表示手段と、前記画面上で配置・配線を操作する操作処理手段と、前記配置・配線に係る情報を管理する情報管理手段と、を少なくとも有し、前記制御手段は、格納部に格納されユーザが指定する配置・配線に係る処理関連情報を読み出し、前記表示手段は、前記エディタ画面に前記配置・配線図形情報に関連付けて表示する配置・配線処理システム。 (付記4) 会話型エディタによる配置・配線処理システムであって、配置・配線を操作処理するプログラムの実行を制御する制御手段と、エディタ画面上に配置・配線に係る情報を表示する表示手段と、前記画面上で配置・配線を操作する操作処理手段と、前記配置・配線に係る情報を管理する情報管理手段と、を少なくとも有し、前記操作処理手段は、表示された前記配置・配線図形情報を含むエリアを選択し、選択された前記エリア内で、前記配置・配線図形情報を配置指定情報に従って再配置する配置・配線処理システム。 (付記5) 会話型エディタによる配置・配線処理システムであって、配置・配線を操作処理するプログラムの実行を制御する制御手段と、エディタ画面上に配置・配線に係る情報を表示する表示手段と、前記画面上で配置・配線を操作する操作処理手段と、前記配置・配線に係る情報を管理する情報管理手段と、を少なくとも有し、前記表示手段は、配置・配線処理プログラムにより操作する複数の配置・配線図形情報名の一覧リストを、エディタ画面上のウインドウに表示し、前記一覧リストに表れている配置・配線図形情報名が選択されると、当該配置・配線図形情報が、所定配置位置情報に従って前記エディタ画面上に表示される配置・配線処理システム。 (付記6) 会話型エディタによる配置・配線処理システムであって、配置・配線を操作処理するプログラムの実行を制御する制御手段と、エディタ画面上に配置・配線に係る情報を表示する表示手段と、前記画面上で配置・配線を操作する操作処理手段と、前記配置・配線に係る情報を管理する情報管理手段と、を少なくとも有し、前記操作処理手段は、前記エディタ画面上で、表示された前記配置・配線図形情報を移動させるとき、移動方向を指定する配置・配線処理システム。 (付記7) 配置・配線処理方法であって、プログラム格納部から配置・配線処理プログラムを読み出し、読み出した前記プログラムを記憶部に複写し、前記記憶部に複写された前記プログラムに基づいて、前記配置・配線処理を実行する配置・配線処理方法。 (付記8) 会話型エディタによる配置・配線処理方法であって、配置・配線処理プログラムにより操作する配置・配線図形情報を、エディタ画面に表示し、表示された前記配置・配線図形情報を順次選択指示することによって、前記エディタ画面のウインドウに、選択指示された当該配置・配線図形情報に係る内容を表示する配置・配線処理方法。 (付記9) 会話型エディタによる配置・配線処理方法であって、配置・配線処理プログラムにより操作する配置・配線図形情報を、エディタ画面に表示し、格納部に格納されたユーザが指定する配置・配線に係る処理関連情報を読み出し、前記エディタ画面に前記配置・配線図形情報に関連付けて表示する配置・配線処理方法。 (付記10) 会話型エディタによる配置・配線処理方法であって、配置・配線処理プログラムにより操作する配置・配線図形情報を、エディタ画面に表示し、表示された前記配置・配線図形情報を含むエリアを選択し、選択された前記エリア内で、前記配置・配線図形情報を配置指定情報に従って再配置する配置・配線処理方法。 (付記11) 会話型エディタによる配置・配線処理方法であって、配置・配線処理プログラムにより操作する配置・配線図形情報を選択してエディタ画面上に表示し、前記エディタ画面上で、表示された前記配置・配線図形情報を移動させるとき、移動方向が指定されている配置・配線処理方法。 (付記12) 会話型エディタによる配置・配線処理方法であって、配置・配線処理プログラムにより操作する配置・配線図形情報を選択してエディタ画面上に表示し、前記配置・配線図形情報を指定してコピーコマンドを選択し、コピー位置を指定して前記配置・配線図形情報を前記エディタ画面上にコピーする配置・配線処理方法。 【0130】 【発明の効果】以上のように、本発明によれば、配置・配線処理システムに種々の操作機能を備えたので、配置・配線処理を会話的に進めるためのエディタ、又は一般的なエディタにおいて、数多くのセルや配線のあるデータに対して、セルの配置・移動や配線の追加・削除・修正などの操作を容易に行うことができ、かつそれらの操作を簡単化することができた。
|
| 【出願人】 |
【識別番号】000005223 【氏名又は名称】富士通株式会社
|
| 【出願日】 |
平成12年10月3日(2000.10.3) |
| 【代理人】 |
【識別番号】100077517 【弁理士】 【氏名又は名称】石田 敬 (外4名)
|
| 【公開番号】 |
特開2002−108960(P2002−108960A) |
| 【公開日】 |
平成14年4月12日(2002.4.12) |
| 【出願番号】 |
特願2000−304083(P2000−304083) |
|