(57)【要約】【課題】人手のレイアウト設計作業によることなく、所望の時点の設計データを復元する。【解決手段】回路部品と回路部品間を接続する配線とを含む回路の設計データを作成し、更新する編集部と、回路の設計データを格納する設計データベースと、設計データが更新されたときに、前記設計データ中の更新された回路部品または更新された配線と対応付けて更新内容を示す更新履歴を記憶する履歴データベースと、履歴データベースに格納された更新履歴から特定の更新履歴を抽出する抽出基準を受け付ける抽出基準受け付け部と、抽出基準にしたがって履歴データベースから更新履歴を抽出する履歴抽出部と、回路の設計データから前記抽出された更新履歴によって示される更新がなされる前の回路の設計データを作成する復元部とを備える。【選択図】図１
2008217651.tif 000002
【特許請求の範囲】
【請求項１】
回路部品と回路部品間を接続する配線とを含む回路の設計データを作成し、更新する編集部と、
前記回路の設計データを格納する設計データベースと、
前記設計データが更新されたときに、前記設計データ中の更新された回路部品または更新された配線と対応付けて更新内容を示す更新履歴を記憶する履歴データベースと、
前記履歴データベースに格納された更新履歴から特定の更新履歴を抽出する抽出基準を受け付ける抽出基準受け付け部と、
前記抽出基準にしたがって前記履歴データベースから更新履歴を抽出する履歴抽出部と、
前記回路の設計データから前記抽出された更新履歴によって示される更新がなされる前の回路の設計データを作成する復元部とを備える設計支援装置。
【請求項２】
回路部品と回路部品間を接続する配線とを含む回路の設計データを作成し、更新する編集部と、
前記回路の設計データを格納する設計データベースと、
前記設計データが更新されたときに、前記設計データ中の更新された回路部品または更新された配線と対応付けて更新内容を示す更新履歴を記憶する履歴データベースと、を有するコンピュータが、
前記履歴データベースに格納された更新履歴から特定の更新履歴を抽出する抽出基準を受け付ける抽出基準受け付けステップと、
前記抽出基準にしたがって前記履歴データベースから更新履歴を抽出する履歴抽出ステップと、
前記回路の設計データから前記抽出された更新履歴によって示される更新がなされる前の回路の設計データを作成する復元ステップとを実行する設計支援方法。
【請求項３】
回路部品と回路部品間を接続する配線とを含む回路の設計データを作成し、更新する編集部と、
前記回路の設計データを格納する設計データベースと、
前記設計データが更新されたときに、前記設計データ中の更新された回路部品または更新された配線と対応付けて更新内容を示す更新履歴を記憶する履歴データベースと、を有するコンピュータに、
前記履歴データベースに格納された更新履歴から特定の更新履歴を抽出する抽出基準を受け付ける抽出基準受け付けステップと、
前記抽出基準にしたがって前記履歴データベースから更新履歴を抽出する履歴抽出ステップと、
前記回路の設計データから前記抽出された更新履歴によって示される更新がなされる前の回路の設計データを作成する復元ステップとを実行させるプログラム。
【請求項４】
前記回路の設計データ中の更新すべき回路部品または更新すべき配線と対応付けて更新内容の指定を受け付ける更新指定ステップと、
前記更新指定部からの指定にしたがって前記編集部が設計データを更新したときに、更新された回路部品または更新された配線と対応付けた更新内容を含む更新履歴を前記履歴データベースに格納する履歴管理ステップとをさらに実行させる請求項３に記載のプログラム。
【請求項５】
前記更新内容は、前記回路部品の追加、削除、および寸法変更の少なくとも１つを含み、寸法変更は、変更前後の寸法値によって記述される請求項３または４に記載のプログラム。
【請求項６】
前記変更内容は、前記配線の追加、削除、寸法変更、配線の属する層の変更の少なくとも１つを含み、寸法変更は、変更前後の寸法値によって記述され、配線の属する層の変更は、変更前後の層を識別する層識別情報によって記述される請求項３から５のいずれかに記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路の設計支援技術に関する。
【背景技術】
【０００２】
近年、ＬＳＩの回路規模は大規模になり開発期間も長くなっている。ＬＳＩの開発には、ＬＳＩのマニュアル・レイアウト設計が含まれる。ＬＳＩのマニュアル・レイアウト設計は、開発期間短縮のために同一ブロックの配置／配線を複数設計者が同時に平行して作業する場合が多い。
【０００３】
しかし、複数人で同一設計データに対して作業しているため、作業の状況を関連する担当者が共通して認識することが困難な場合が生じる。例えば、メールおよび口頭ですべての更新情報（誰が、いつ何を何故更新した等）を全員に伝達するには限度があり、どうしても通知漏れが発生する。そのため、すでにレイアウト済みで更新すべきでない部分を他の作業者が更新してしまうような事態が生じ得る。このような場合には、予期せぬレイアウトの設計データが作成され、その作業前のレイアウトに戻す必要が発生する場合がある。
【０００４】
その他に近年の開発においてレイアウト設計開始時に論理検証が完了している場合はまれで、論理検証、レイアウト設計が並行して行われるのが一般的である。
そのため、レイアウト設計中に論理検証によって論理上の不具合が検出されることがある。そのような不具合のため論理変更の必要性が発生する。その場合には、レイアウト設計の設計データを所定の時点（その不具合のある論理のレイアウト設計前、例えば、数日／数週間前まで）まで戻す必要があることもある。
【０００５】
レイアウト設計の設計データを所定の時点まで戻す場合、数日前のデータであればディスクに保存されている可能性がある。しかし、近年開発回路規模が大きくなっているため数週間前のデータが保存されている可能性は低い。したがって、戻したい時点の設計データが保存されていない場合、残存する設計データから過去の更新情報をメール等による情報交換の記録、更新指示の記録、あるいは、担当者の記憶を元に復元することになる。この場合には、復元作業に多大な工数を要する。また、すべての過去の更新について一回で更新前の状態に復元できる可能性も低く、最悪、同様の作業の繰り返しが発生して多大な工数を要する。
【特許文献１】特開平９−２８８６９０号公報
【特許文献２】特開平１１−３９３５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述した技術では、レイアウト設計の設計データに関して、誰がいつ、何のためにどういった更新を行ったかを把握できる情報が用意されていない。このため、例えば、作業ミス、論理変更などによりレイアウト状態を戻す必要性が発生した場合に多大な工数を要する。
【０００７】
一方、更新済みデータをさらに更新する場合に、従来の担当者と異なる担当者が更新しなければならない場合もある。そのような場合、前の担当者の更新理由が不明であるため、後の担当者が前の担当者の意図に反した更新をしてしまうこともある。さらに、このような場合にも、後の作業がなかった状態に戻す作業が新たに必要になる。
【０００８】
そのような対策のため、第１に、別途、テキストなどで更新履歴を作成しておくことも多い。しかし、そのような更新履歴を基にレイアウトに反映させるには、その更新履歴のテキストを参照しながらレイアウトエディタによるマニュアル作業が必要であり、多大な工数を要する。
【０００９】
第２の対策として、数世代前のレイアウトデータをバックアップしておくことも行わ
れてきた。しかし、回路規模が増大している今日のＬＳＩでは、ハードディスク等の記憶装置の容量を圧迫してしまう。また、この手法では、バックアップされている世代より前の状態に戻せない。
【００１０】
本発明の目的は、レイアウト設計時の作業状況、作業目的等を複数の担当者間で相互に把握するとともに、作業の履歴を記録し、その記録にしたがって、人手のレイアウト設計作業によることなく、所望の時点の設計データを復元できる技術を提供することである。
【課題を解決するための手段】
【００１１】
本発明は前記課題を解決するために、以下の手段を採用した。すなわち、本発明は、回路部品と回路部品間を接続する配線とを含む回路の設計データを作成し、更新する編集部と、回路の設計データを格納する設計データベースと、設計データが更新されたときに、前記設計データ中の更新された回路部品または更新された配線と対応付けて更新内容を示す更新履歴を記憶する履歴データベースとを備える設計支援装置である。さらに、本発明は、履歴データベースに格納された更新履歴から特定の更新履歴を抽出する抽出基準を受け付ける抽出基準受け付け部と、抽出基準にしたがって履歴データベースから更新履歴を抽出する履歴抽出部と、回路の設計データから前記抽出された更新履歴によって示される更新がなされる前の回路の設計データを作成する復元部とを備えることを特徴とする。
【００１２】
本発明は、受け付けた抽出基準にしたがって履歴データベースから更新履歴を抽出し、抽出された更新履歴によって示される更新がない状態に設計データを元に戻す復元処理を実行する。したがって、ユーザが指定する更新履歴に関して、更新された設計データをすべて保存することなく、かつ、マニュアルでのレイアウトエディタ等による作業なしに、設計データを更新前の状態に戻すことができる。
【００１３】
本発明は、回路の設計データ中の更新すべき回路部品または更新すべき配線と対応付けて更新内容の指定を受け付ける更新指定部と、更新指定部からの指定にしたがって編集部が設計データを更新したときに、更新された回路部品または更新された配線と対応付けた更新内容を含む更新履歴を前記履歴データベースに格納する履歴管理部とをさらに備える。したがって、本発明は、更新の指定を受け付け、その指定にしたがって編集部が設計データを更新したときに、更新箇所と対応付けて更新履歴を保持できる。
【００１４】
更新内容は、回路部品の追加、削除、および寸法変更の少なくとも１つを含み、寸法変更は、変更前後の寸法値によって記述されることが好ましい。また、変更内容は、配線の追加、削除、寸法変更、配線の属する層の変更の少なくとも１つを含み、寸法変更は、変更前後の寸法値によって記述され、配線の属する層の変更は、変更前後の層を識別する層識別情報によって記述されてもよい。
【００１５】
本発明は、コンピュータが以上のような処理を実行する方法であってもよい。また、本発明は、コンピュータに以上のような処理を実行させるプログラムであってもよい。また、本発明は、そのようなプログラムを記録したコンピュータ読み取り可能な記録媒体であってもよい。
【発明の効果】
【００１６】
本発明によれば、レイアウト設計時の作業状況、作業目的等を複数の担当者間で相互に把握するとともに、作業の履歴を記録し、その記録にしたがって、人手のレイアウト設計作業によることなく、所望の時点の設計データを復元できる。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照して本発明を実施するための最良の形態（以下、実施形態という）に係る設計支援装置について説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成には限定されない。
【００１８】
《発明の骨子》
本設計支援装置は、レイアウトエディタを有し、ユーザがマニュアルで回路部品と回路部品間を接続する配線とを配置し、配線する機能を提供する。このように回路部品を配置し、回路部品間に配線することをレイアウトするともいう。また、この段階の設計をレイアウト設計という。レイアウト設計の結果、設計データが作成され、レイアウトデータベースに保存される。以下、回路部品としては、複数のトランジスタで構成されるゲートを例に説明する。ゲートは、例えば、ＡＮＤ、ＯＲ、ＮＡＮＤ、ＮＯＲ、ＮＯＴ等の論理を実現する回路部品である。また、個々の配線をネットともいう。
【００１９】
本設計支援装置は、マニュアルで配置・配線する機能とともに、その配置・配線した部分について、配置はゲートごと、配線はネットごとに自動で作業した日(更新日)、作業者(User名)、更新内容を含む履歴データ（履歴データの集合が本発明の履歴データベースに相当する）を付加し、レイアウトデータベースに保存する。その場合に、ゲートを示す識別子（セル名ともいう）、ネットを示す識別子によって、レイアウトデータベースの設計データと、履歴データとがリンクされる。ただし、更新内容を記録する履歴データベースは、レイアウトデータベースとは、異なるデータベースとして構成してもよい。
【００２０】
本設計支援装置の運用にあたっては、複数人で同一レイアウトブロックの作業を行う場合に、１名のブロックレイアウト管理者(以後マネージャと記載)を選出する。そして、マネージャは、設計支援装置の管理情報の設定、および更新を担当し、マネージャ以外のものは管理情報を更新することはできない。ここで、管理情報としては、ルールファイル、ユーザ定義ファイル、およびコマンドファイルの定義内容を例示できる。
【００２１】
ルールファイルには、ユーザが更新内容を指定する更新コマンドが定義される。ユーザは、ルールファイルで定義された更新コマンドを用いて、設計支援装置に設計データの更新を指示する。ここで、更新コマンドで指定されるのは、例えば、ゲートの追加、寸法変更、削除等である。また、配線の追加、寸法変更、所属する層の変更、および削除も指定される。
【００２２】
一方、ユーザ定義ファイルは、本設計支援装置を利用可能なユーザの識別名（以下、ユーザ名という）を格納する。ユーザ名は、レイアウト開始前にマネージャがユーザ定義ファイルに識別名を登録する。識別名が登録されてないユーザは、設計支援装置の使用およびレイアウトデータベースへのアクセスができない。
【００２３】
コマンドファイルには、ユーザが履歴データを操作するときの履歴操作コマンドが定義される。このように、事前に、すなわち、ユーザによるレイアウト開始前に、マネージャが一定のネーミングルールでルールファイルおよびコマンドファイルのコマンドを定義する。
【００２４】
本設計支援装置は、ユーザが入力したコマンドにしたがって、レイアウト対象のゲート、配線等とコマンドとを関連づけて履歴を記録する。ユーザは、事前に定義されたルール
ファイルおよびコマンドファイルに拘束された形式で、設計データおよび履歴データを操作する。したがって、履歴データとして記録される更新内容は、ルールファイルおよびコマンドファイルの定義にしたがって記録されることになる。逆に、ルールファイルおよびコマンドファイルに定義されていない更新内容の指定は、本設計支援装置に入力できない。その結果、そのような勝手な操作による設計データの更新はできない。また、そのような未定義のコマンドに対する更新の履歴はレイアウトデータベースに保存できない。
【００２５】
なお、本設計支援装置では、同一ゲート、あるいは同一配線に対して複数回更新が行われた場合も、更新内容はすべて履歴としてレイアウトデータベースに保存される。また、更新日、ユーザ名、更新内容はレイアウトエディタ上で作業者に視覚的に参照可能とする。参照可能とは、表示する、しないの選択および表示する場合の表示件数は、ユーザの指定によるということである。すなわち、表示件数は、デフォルトの表示件数が決まっているが、必要に応じ各作業者がコマンドを入力することで表示件数を変更可能である。このように一時的に表示件数を変更することはできる。一方、ユーザはデフォルト設定を変更できない。
【００２６】
レイアウトデータベースに更新履歴があることで、ユーザは、更新日、更新者、または、更新内容を指定する情報を単一、あるいは複数組み合わせて指定する。この指定によって履歴データが選択される。そして、選択された履歴データに関連する設計データが選択される。このように、ユーザは、履歴データを指定し、その履歴データに関連する設計データだけを抽出することができる。その結果、特定の履歴に関連する更新内容を抽出し、破棄し、そのような更新のない状態に設計データを復元できる。
【００２７】
また、作業者に視覚的に更新日、ユーザ名、更新内容が分かることから作業ミスの抑止が可能となる。
【００２８】
図１に、本実施形態に係る情報処理装置１のブロック図を示す。この情報処理装置１は、情報処理装置１の機能を実現する制御部２と、制御部２によって管理されるレイアウトデータベース１４を含むハードディスク３と、情報処理装置１を操作するユーザの入力を受け付ける入力部４と、制御部２で処理されたデータを表示する表示部５とを有している。
【００２９】
制御部２は、ＣＰＵとメモリと各種インターフェースとによって構成される。制御部２では、メモリにプログラムがローディングされ、ＣＰＵで実行される。したがって、設計支援装置１の各機能ブロックは、コンピュータ上で実行されるプログラムによって実現される。このプログラムは、編集部２４と連携し、ユーザによるＬＳＩのレイアウト設計を支援する。編集部２４は、ＬＳＩ（Large Scale Integration ）  ＣＡＤ（Computer-Aided Design ）を構成するいわゆるレイアウトエディタである。
【００３０】
レイアウトデータベース１４は、編集部２４で作成されるＬＳＩ設計データを格納する。また、レイアウトデータベース１４は、設計データを更新したときの更新履歴である履歴データを含んでいる。
【００３１】
レイアウトデータベース１４は、所定のインターフェースを通じて制御部２のＣＰＵに接続されるハードディスク３上に構成される。なお、制御部２には、さらに、他の外部記憶装置、例えば、ＣＤ、ＤＶＤ、フラッシュメモリ等の着脱可能な記録媒体の駆動装置も接続される。
【００３２】
入力部４は、例えば、キーボード、ポインティングデバイス等である。入力部４も、所定のインターフェースを通じて制御部２のＣＰＵに接続される。表示部５は、例えば、液
晶ディスプレイである。表示部５も、所定のインターフェースを通じて制御部２のＣＰＵに接続される。さらに、制御部２には、ネットワークにアクセスする通信インターフェースも接続される。
【００３３】
図１のように、制御部２を構成する機能ブロックは、更新指定部２１、復元部２２、抽出基準受け付け部２３、編集部２４、履歴管理部２５、および履歴抽出部２６を含む。
【００３４】
更新指定部２１は、入力部４を通じて、ユーザからのコマンド入力を受け付ける。そして、更新指定部２１は、編集部２４を通じてレイアウトデータベース１４の設計データを更新する。また、更新指定部２１は、更新内容を履歴管理部２５に報告する。更新内容は、設計データ中の更新された回路部品または更新された配線と対応付けてられている。
【００３５】
編集部２４は、いわゆるレイアウトエディタであり、ユーザ操作に応じて、ＬＳＩのレイアウトを作成し、レイアウトデータベース１４に格納する。また、編集部２４は、更新指示部２１からの指示に応じて、レイアウトデータベース１４に格納された設計データを更新する。
【００３６】
履歴管理部２５は、更新指示部２１から報告された更新内容を基に、履歴データを作成し、レイアウトデータベース１４に格納する。履歴データの集合を履歴データベースともいう。
【００３７】
抽出基準受け付け部２３は、入力部４を通じて、履歴データベースから抽出すべき履歴データの抽出基準を受け付ける。抽出基準は、設計データの作成日付、更新日付、作成者、設計データに含まれるセルの名称、配線の名称、設計データの作成、あるいは、更新の際に指定されたパラメータ等によって指定される。
【００３８】
履歴抽出部２６は、抽出基準受け付け部２３からの抽出基準にしたがって、履歴データベースから該当する履歴データを抽出する。
【００３９】
復元部２２は、履歴抽出部２６で抽出された履歴データを基に、所定の時点の設計データを復元する。すなわち、復元部２２は、特定の履歴データに対応する更新内容を破棄し、その履歴データに対応する更新がない状態にレイアウトデータベース１４の設計データを更新する。この場合に、復元された内容は、履歴管理部２５に報告される。その結果、復元内容が履歴データとして格納される。
【００４０】
《実施形態》
以下、図２から図１０Ｂの図面に基づいて、本発明の一実施形態に係る設計支援装置１を説明する。
【００４１】
＜処理概要＞
図２に、設計支援装置１によるレイアウト設計時の操作概要を示す。図２に示すように、設計支援装置１は、ユーザにコマンド入力を促すコマンド入力画面１５（ウィンドウともいう）を表示部５に表示する。ユーザは、コマンド入力画面１５のプロンプトに対して、コマンド入力することで、レイアウトデータベース１４に対する更新内容を定義する。なお、図２で、画面を総称する場合に、コマンド入力画面１５と呼び、個々の具体的な画面を個別に示す場合に、コマンド入力画面１５Ａ、１５Ｂのように呼ぶことにする。
【００４２】
設計支援装置１の更新指定部２１は、コマンド入力画面１５への入力を通じて定義された更新内容にしたがい、レイアウトデータベース１４を更新する。その場合、設計支援装置１は、ルールファイル１１、ユーザ定義ファイル１２、およびコマンドファイル１３に
したがって、ユーザが入力する更新内容をチェックする。そして、未定義のコマンドがユーザから入力された場合には、そのようなコマンドが認められない旨のエラーメッセージを表示する。これによって、設計支援装置１は、ユーザによる勝手な操作を禁止する。
【００４３】
一方、ユーザの入力がルールファイル１１、ユーザ定義ファイル１２、およびコマンドファイル１３にしたがったものである場合、設計支援装置１は、入力された更新内容にしたがって、編集部２４を通じて設計データを更新する。このとき、図示しないが、更新内容を示す履歴データも、レイアウトデータベース１４に格納される。
【００４４】
図２の例では、コマンド入力画面１５Ａにおいて、”Ａｄｄ  Ｓｅｔｕｐ”というコマンドが入力されている。これは、例えば、Ｓｅｔｕｐエラー対策のため、ゲートあるいは配線を付加するという指定である。このコマンド入力によって、レイアウトデータベース１４の内容が更新され、更新後のレイアウトデータベース１４Ａが生成される。
【００４５】
なお、図２の例では、どのような種類のゲート、あるいは配線をどこに追加するかという指定は、”Ａｄｄ  Ｓｅｔｕｐ”というコマンドの前に入力済みであると仮定している。例えば、追加すべきゲートのセル名、および追加位置を指定するコマンドと組み合わせて、”Ａｄｄ  Ｓｅｔｕｐ”というコマンドが入力されることになる。したがって、図２に示した”Ａｄｄ  Ｓｅｔｕｐ”というコマンドの意味は、現在編集部２４で処理中のゲートあるいは配線をレイアウトデータベース１４に付加する、ということを意味している。このような指定の仕方は、他のコマンドにおいても同様である。
【００４６】
ただし、本発明の実施は、このようなレイアウトエディタのコマンド体系に限定されるものではない。すなわち、追加を指定するコマンドともに、どのような種類のゲート、あるいは配線をどこに追加するかという指定をパラメータで指定してもよい。例えば、”Ａｄｄ  セル名  Ｘ１、Ｙ１、Ｓｅｔｕｐ”のように、追加されるべきゲートのセル名、追加位置（Ｘ１，Ｘ２）、追加する場合の理由（Ｓｅｔｕｐエラー対策）を指定してもよい。
【００４７】
一方、設計支援装置１の抽出基準受け付け部２３は、入力部４を通じた入力にしたがい、レイアウトデータベース１４から履歴データを抽出する。
【００４８】
図２のコマンド入力画面１５Ｂは、”ｓｅｌｅｃｔ”コマンドによって特定の履歴データを抽出する例を示している。パラメータＡＡＡ．ＢＢＢが抽出対象を指定している。ここで、図２の例では、復元を示すコマンドが省略されている。例えば、”ｓｅｌｅｃｔ”コマンドの後に、現在選択されたゲートあるいは配線を削除する”Ｄｅｌｅｔｅ”コマンドが指定された場合、設計支援装置１は、抽出された履歴データに対応するゲートあるいは配線を元に戻す処理を実行する。これによって、設計支援装置１は、更新がなされた設計データから、その更新前の状態の設計データに復元する処理を実行する。このようにして、更新前の状態に復元された更新後データベース１４Ｂが生成される。
【００４９】
＜データ例＞
図３に、ルールファイル１１の更新コマンドの例を示す。図３では、更新コマンドが、ゲートに対する操作コマンド（Ｇａｔｅの文字列以下）と、配線に対する操作コマンド（Ｌｉｎｅの文字列以下）に分けて記述されている。以下、代表的な更新コマンドの例を説明する。
【００５０】
Ｉｎｉｔｉａｌコマンドは、初期のゲートレベルネットリストで定義されているゲート（初期のセルともいう）をそのまま使用したという意味である。すなわち、更新されていないデフォルトの属性（ゲートの種類、寸法等）を有するゲートがそのまま使用されるこ
とが分かる。
【００５１】
Ａｄｄは、新規にインスタンスを追加するという意味である。Ａｄｄでは、追加すべきインスタンスのセル名と、追加すべき位置が指定される。インスタンスとは、ゲート（または配線）の具体的データという意味である。Ａｄｄされるべきセルの属性は、Ａｄｄコマンド前に編集部２４での操作によって定義されている。
【００５２】
Ｄｅｌｅｔｅは、指定のインスタンスを削除という意味である。Ｄｅｌｅｔｅでは、削除すべきインスタンスのセル名が指定される。
【００５３】
”Ｃｈａｎｇｅ  Ｅ  Ｆ”は、現在処理中のセルを論理が異なるＥからＦに変更したという意味である。例えば、”Ｃｈａｎｇｅ  ＡＮＤ  ＮＡＮＤ”は、ＡＮＤゲートをＮＡＮＤゲートに変更するという意味である。
【００５４】
Ｓｅｔｕｐは、セットアップエラー対策のために変更したという意味である。セットアップエラーとは、ゲート（フリップフロップ等を構成するゲート）に入力されるセット端子またはリセット端子へのデータの設定から、クロックの入力までの時間が短すぎるというエラーである。
【００５５】
Ｈｏｌｄは、ホールドエラー対策のために変更したという意味である。ホールドエラーとは、クロックの入力後、ゲートに入力されるべきセット端子またはリセット端子へのデータの維持時間が短いというエラーである。
【００５６】
Ｌｏｇｉｃは、論理変更のための更新という意味である。”Ｄｏｗｎ    Ａ  Ｂ”は、セルのサイズをＡからＢに小さくしたという意味である。”Ｕｐ  Ｃ  Ｄ”は、セルのサイズをＣからＤに大きくしたという意味である。
【００５７】
また、配線に対するルールファイル１１のコマンドは以下の通りである。Ｉｎｉｔｉａｌコマンドは、初期の配線という意味である。すなわち、デフォルトの属性を有する配線を追加するという意味である。
【００５８】
Ａｄｄは、論理変更などで配線を追加するという意味である。図３では、省略されているが、Ａｄｄコマンドの前に、配線の属性（識別名、線幅、追加位置等）が指定される。ただし、Ａｄｄコマンドとともに、そのパラメートとして配線の属性を指定してもよい。
【００５９】
Ｄｅｌｅｔｅコマンドは、論理変更などで配線を削除するという意味である。Ｄｅｌｅｔｅコマンドの前に、削除対象の配線が指定される。ただし、Ｄｅｌｅｔｅコマンドのパラメータとして削除対象の配線を指定してもよい。
【００６０】
”Ｃｈａｎｇｅ  Ｇ  Ｈ”は、配線層をＧからＨに変更したという意味である。図３では、省略されているが、Ｃｈａｎｇｅコマンドの前に、変更対象の配線の識別名が指定される。ただし、Ｃｈａｎｇｅコマンドとともに、そのパラメータとして配線の識別名を指定してもよい。
【００６１】
Ｄｏｗｎは、処理中の配線の配線幅を太線から細線へ変更したという意味である。Ｕｐは、処理中の配線の配線幅を細線から太線へ変更したという意味である。
【００６２】
図４に、ユーザ定義ファイル１２の例を示す。ユーザ定義ファイル１２にはユーザ名が列記される。設計支援装置１は、レイアウト設計実行時に、ユーザにユーザ名の入力を促す。ユーザ定義ファイル１２に定義されていないユーザ名が入力されると、そのユーザに
よる操作が拒絶される。
【００６３】
図５に、コマンドファイル１３のコマンド例を示す。以下、主要なコマンドを説明する。ｓｅｌｅｃｔコマンドは、特定の履歴情報を抽出したい場合に指定するコマンドである。ｈｉｓｔｏｒｙは、特定の履歴情報を編集部２４上に表示したい場合に指定するコマンドである。
【００６４】
ｃｌｅａｒコマンドは、指定された履歴情報を削除するとともに、削除された履歴データに対応する設計データの更新を元に戻す場合に指定するコマンドである。削除する対象の履歴情報は、ｃｌｅａｒのパラメータで指定する。ｃｌｅａｒのパラメータとしては、例えば、日付、期間、ユーザ名、その他のパラメータがある。
【００６５】
”ａｌｌ  ｃｌｅａｒ”は、すべての履歴情報を削除するとともに、更新内容をすべて元に戻す場合に指定するコマンドである。
【００６６】
図６Ａに、設計支援装置１において蓄積される履歴データのデータ構造を示す。図６Ａの例では、履歴データは、テーブル形式で例示されている。しかし、履歴データは、テーブル形式には限られず、例えば、ｘｍｌ（eXtensible Markup Language）による、タグで記述された形式でも構わない。
【００６７】
図６Ａでは、ゲートに対する履歴と、配線（Ｌｉｎｅ）に対する履歴が区分して格納されている。また、表の各行が１つの履歴を記述している。ゲートに対する履歴は、セル名（例えば、Ｃｅｌｌ１）、更新日付、更新したユーザ名、コメント、およびその他のパラメータを有している。ここで、セル名は、更新された対象のゲートを識別する名称である。
【００６８】
コメントは、アクション１（ａｃｔ１と記載）、アクション２（ａｃｔ２と記載）、アクション３（ａｃｔ３と記載）、更新前の値（ｂｅｆｏｒｅと記載）、および更新後の値（ａｆｔｅｒと記載）を含む。また、その他のパラメータは、層の指定（ｌａｙｅｒと記載）、ビアの種類の指定（ｖｉａと記載）、および座標の指定（Ｘ１，Ｙ１，Ｘ２，Ｙ２と記載）を含む。
【００６９】
ここで、ａｃｔ１，ａｃｔ２，ａｃｔ３，ｂｅｆｏｒｅ，ａｆｔｅｒは、ユーザが入力する情報である。ｌａｙｅｒ，ｖｉａ，Ｘ１，Ｙ１，Ｘ２，Ｙ２は、本処理を実行するプログラム（図２の履歴管理部２５）が、編集部２４から取得することができる。編集部２４は、通常のレイアウトエディタの機能を有し、ゲート、配線のオブジェクトを表示可能なため、それぞれのゲートあるいは配線の座標は保持しているからである。
【００７０】
また、ゲートについてのＸ１，Ｙ１，Ｘ２，Ｙ２はゲートを構成するセルの存在範囲（左下点Ｘ座標，左下点Ｙ座標，右上点Ｘ座標，右上点Ｙ座標）を示す。これは、セルが配置された位置を示す座標でもある。一方、配線についてのＸ１，Ｙ１，Ｘ２，Ｙ２は、配線の始点（Ｘ１，Ｙ１）、終点（Ｘ２，Ｙ２）である。
【００７１】
例えば、Ｃｅｌｌ１と記載されたゲートが、２００５年１０月１０日に、ユーザＡＡＡ．ＢＢＢによって、デフォルトの属性値にて（Ｉｎｉｔｉａｌ）、座標（１０，１０，２０，２０）に配置されたことを示している。
【００７２】
また、セル名Ｃｅｌｌ２が、２００５年１０月２０日、ユーザ名ＣＣＣ．ＤＤＤによって、追加され（ａｃｔ１＝Ａｄｄ）、その目的がセットアップエラー対策であり（ａｃｔ２＝Ｓｅｔｕｐ）、さらに寸法が拡大され（ａｃｔ３＝Ｕｐ）、更新前後の寸法が記録さ
れ（ｂｅｆｏｒｅ＝Ｃ，ａｆｔｒｅ＝Ｄ）、配置された座標が（２０，２０，３０，３０）であることを示している。
【００７３】
同様に、Ｃｅｌｌ３が２００５年１０月１１日に、ユーザＡＡＡ．ＢＢＢによってデフォルトの属性で座標（５，５，１０，１０）に配置されたが、セットアップエラー対策のため、２００５年１０月１９日に削除されたこと（ａｃｔ１＝Ｄｅｌｅｔｅ）が記録されている。この場合、削除までの履歴データは残されるが、削除されたオブジェクトは、もはや編集の対象から除外される。また、セルの存在範囲を示す（Ｘ１，Ｙ１，Ｘ２，Ｙ２）は、空白にとなる。
【００７４】
同様に、識別名Ｌｉｎｅ１の配線が、２００５年９月１日に、ユーザＡＡＡ．ＢＢＢによって、デフォルトの属性値にて、層Ｍ３にて、座標（３２０，４００，４５０，５２０）を（始点Ｘ座標、始点Ｙ座標、終点Ｘ座標、終点Ｙ座標）として配置されている。
【００７５】
また、Ｌｉｎｅ２の識別名の配線が標準の属性値で、層Ｍ１と層Ｍ３との間のビアで接続される。この場合、層Ｍ１において、（１００，２００，１００，１００）を（始点Ｘ座標、始点Ｙ座標、終点Ｘ座標、終点Ｙ座標）として配線が配置されている。また、層Ｍ３では、（１００，１００，２００，１００）を（始点Ｘ座標、始点Ｙ座標、終点Ｘ座標、終点Ｙ座標）として配線が配置されている。さらに、座標（１５０，１５０，１６０，１６０）は、ビアホールの左下点、および右上点の座標である。この場合の配線の構成を図６Ｂに示す。
【００７６】
ただし、Ｌｉｎｅ２は、２００５年９月５日に、ユーザＥＥＥ．ＦＦＦによってセットアップエラー対策のため、層Ｍ２がＭ３に変更されている。
【００７７】
＜履歴参照画面例＞
図７に、履歴参照画面の例を示す。この例は、特定の配線が選択され、ｈｉｓｔｏｒｙコマンドが指定された場合を想定している。この例では、図５の配線が、２００５年１０月１０日に、ユーザＡＡＡ．ＢＢＢによってセットアップエラー対策のために追加されたことが明示されている。
【００７８】
設計支援装置１で実行される情報処理プログラムは、ｓｅｌｅｃｔコマンドで指定された履歴を抽出する。そして、ｈｉｓｔｏｒｙコマンドの入力に応じて、履歴データを該当するインスタンスの近傍に表示する。また、例えば、ユーザがポインティングデバイスにて、インスタンスを選択した後、ｈｉｓｔｏｒｙコマンドの入力に応じて、そのインスタンスの履歴データを表示するようにしてもよい。
【００７９】
＜処理フロー＞
図８に、履歴データ格納機能を含むレイアウトデータ更新処理のフローを示す。この処理は、設計支援装置１のＣＰＵにおいて、レイアウトエディタと連携する履歴管理部２５によって実行される。
【００８０】
この処理では、まず、設計支援装置１が、次の更新コマンドを読む（Ｓ１）。更新コマンドは、図２に示した入力コマンド入力画面１５から、ユーザによって入力される。
【００８１】
次に、設計支援装置１は、ルールファイル１１を検索する（Ｓ２）。そして、Ｓ１で入力された更新コマンドがルールファイル１１に定義されているか否かを判定する（Ｓ３）。入力された更新コマンドがルールファイル１１に定義されていない場合、設計支援装置１は、エラーメッセージを表示する（Ｓ４）。
【００８２】
Ｓ３の判定で、入力された更新コマンドがルールファイル１１に定義されている場合、設計支援装置１は、編集部２４に対して入力された更新コマンドに対応する処理の実行を依頼する（Ｓ５）。これによって、設計データの更新が実行される。例えば、セットアップエラー対策のための寸法の変更、ゲートの追加、削除等が実行される。
【００８３】
次に、設計支援装置１は、更新内容を履歴データとして、レイアウトデータベース１４に記録する（Ｓ６）。このとき、図６に例示した形式で履歴データがレイアウトデータベース１４に格納される。
【００８４】
次に、設計支援装置１は、更新処理を終了する指示がなされた否かを判定する（Ｓ７）。終了でない場合、設計支援装置１は、制御をＳ１に戻す。一方、終了の指示がなされた場合、設計支援装置１は、処理を終了する。
【００８５】
図９に、履歴データ選択処理のフローを示す。この処理は、設計支援装置１のＣＰＵにおいて、履歴抽出部２６により実行される。この処理では、設計支援装置１は、まず、ユーザからのコマンドの入力を受け付ける（Ｓ１０）。そして、設計支援装置１は、入力されたコマンドが、コマンドファイル１３に定義されているか否かを判定する（Ｓ１１）。入力された更新コマンドがコマンドファイル１３に定義されていない場合、設計支援装置１は、エラーメッセージを表示する（Ｓ１２）。
【００８６】
Ｓ１１の判定で、入力されたコマンドがコマンドファイル１３に定義されている場合、設計支援装置１は、履歴データにアクセスする（Ｓ１３）。
【００８７】
次に、設計支援装置１は、コマンドのパラメータに日付の指定があるか否かを判定する（Ｓ１５）。日付の指定がある場合、設計支援装置１は、履歴から対象となる日付に該当する項目（該当する履歴データ）を抽出する（Ｓ１５）。
【００８８】
日付の指定がない場合、設計支援装置１は、ユーザ名の指定があるか否かを判定する（Ｓ１６）。ユーザ名の指定がある場合、設計支援装置１は、履歴から対象となるユーザ名に該当する項目を抽出する（Ｓ１７）。
【００８９】
ユーザ名の指定がない場合、設計支援装置１は、その他の指定があるか否かを判定する（Ｓ１８）。ここで、その他の指定とは、他のルールファイル１１での定義、例えば、Ｉｎｉｔｉａｌ、Ａｄｄ等のコマンドの指定をいう。また、その他の指定とは、図６に例示した履歴データのパラメータ、例えば、ｂｅｆｏｒｅ、ａｆｔｅｒ、ｌａｙｅｒ、ｖｉａ、Ｘ１，Ｙ１，Ｘ２，Ｙ２等での指定値である。その他の指定がある場合には、設計支援装置１は、履歴から対象となる項目を抽出する（Ｓ１９）。
【００９０】
また、Ｓ１８の判定で、コマンドに指定がなされていない場合、エラーを表示する（Ｓ２０）。Ｓ１２，Ｓ１５，Ｓ１７，Ｓ１９，Ｓ２０の処理の後、設計支援装置１は、制御をＳ１０に戻す。
【００９１】
図１０に、設計データを所定の期間前の状態に戻す処理の概要を示す。この処理では、ユーザは、コマンドを入力するコマンド入力画面１５Ｃに、例えば、ｃｌｅａｒ  ２００５／０１／０１，２００５／０１／１０のようにコマンドを入力する。これは、２００５年１月１日から２００５年１月１０日の間の更新内容を削除するように指示するコマンドである。今日現在が、２００５年１月１０日の場合には、１０日前まで設計データの更新を戻す処理となる。これによって、設計支援装置１は、該当する履歴データを抽出し、その履歴データに対応する設計データを履歴データのレコードごとに、すなわち、図６に示した行ごとに元に戻していく。これによって更新内容が例えば１０日前に復元される。
【００９２】
図１１に、復元処理のフローを示す。この処理では、設計支援装置１は、まず、履歴選択処理を実行する（Ｓ３０）。履歴選択処理は、図９に示した処理とほぼ同様であるので、その詳細を省略する。
【００９３】
次に、設計支援装置１は、選択された履歴が、Ｄｅｌｅｔｅコマンドを含むか否かを判定する（Ｓ３１）。選択された履歴がＤｅｌｅｔｅコマンドを含む場合、削除されたオブジェクトを復元する（Ｓ３２）。例えば、削除されたオブジェクトが、ゲートの場合、履歴に記載された、そのゲートのセル名と、配置座標を基に、再度設計データ中にそのゲートを配置する。なお、本設計支援装置１では、ゲート寸法等の属性は、すでに設計データ中にセル名に対応付けて定義済みであると仮定する。また、削除されたオブジェクトが配線の場合、履歴データに記録された配線を再度追加する。配線幅等の配線の属性は、履歴データ中のＤｅｌｅｔｅコマンドの前に記録されている。その後、設計支援装置１は、制御をＳ３０に戻す。
【００９４】
選択された履歴が、Ｄｅｌｅｔｅコマンドを含まない場合、設計支援装置１は、選択された履歴が、Ａｄｄコマンドを含むか否かを判定する（Ｓ３３）。選択された履歴がＡｄｄコマンドを含む場合、追加されたオブジェクトを削除する（Ｓ３４）。例えば、追加されたオブジェクトが、ゲートの場合、セル名と配置された座標を基に、そのオブジェクトを削除する。また、配置されたオブジェクトが配線の場合、履歴データから配線の位置を特定し、その配線を削除する。その後、設計支援装置１は、制御をＳ３０に戻す。
【００９５】
選択された履歴が、Ａｄｄコマンドを含まない場合、設計支援装置１は、選択された履歴が、Ｕｐコマンドを含むか否かを判定する（Ｓ３５）。選択された履歴がＵｐコマンドを含む場合、該当するオブジェクトの寸法を低減して元の寸法に戻す処理を実行する（Ｓ３６）。その後、設計支援装置１は、制御をＳ３０に戻す。
【００９６】
選択された履歴が、Ｕｐコマンドを含まない場合、設計支援装置１は、選択された履歴が、Ｄｏｗｎコマンドを含むか否かを判定する（Ｓ３７）。選択された履歴がＤｏｗｎコマンドを含む場合、該当するオブジェクトの寸法を拡張して元の寸法に戻す処理を実行する（Ｓ３８）。その後、設計支援装置１は、制御をＳ３０に戻す。
【００９７】
選択された履歴が、Ｄｏｗｎコマンドを含まない場合、設計支援装置１は、選択された履歴が、Ｃｈａｎｇｅコマンドを含むか否かを判定する（Ｓ３９）。選択された履歴がＣｈａｎｇｅコマンドを含む場合、該当するオブジェクトの層を更新前に戻す（逆変更）処理を実行する（Ｓ４０）。その後、設計支援装置１は、制御をＳ３０に戻す。
【００９８】
選択された履歴が、Ｃｈａｎｇｅコマンドを含まない場合、設計支援装置１は、選択された履歴が、その他の更新処理に対する復元処理を実行する（Ｓ４１）。そして、設計支援装置１は、復元処理を終了の指示がなされたか否かを判定する。終了の指示がなされない場合、設計支援装置１は、制御をＳ３０に戻す。終了の指示がなされた場合、設計支援装置１は、復元処理を終了する。
【００９９】
図１２に、特定の更新だけを反映したシミュレーションを実行する処理の例を示す。この例では、例えば、ｓｅｌｅｃｔ  ２００５／０１／０１，２００５／０１／１０によって、２００５年１月１日から２００５年１月１０日になされた更新が抽出される。次に、Ｄｅｌｅｔｅ  Ｃｅｌｌ１  Ｌｉｎｅ１・・・によって、抽出された更新内容中の不要な更新を削除する。そして、その結果をシミュレーション対象データベースとして保存する。そして、シミュレーション対象データベースの設計データ（レイアウト）を基に、回路シニュレーションが実行される。
【０１００】
これによって、必要な部分だけが更新された設計データに基づいて、回路シミュレーションを実行できる。例えば、２００５年１月１日から２００５年１月１０日において、複数の目的（セットアップエラー対策、ホールドエラー対策、消費電力対策、論理エラー対策等）による更新がなされた場合、特定の目的部分、例えば、消費電力対策の結果だけを残して、他の目的による更新部分を元に戻してシミュレーションを実行できる。
【０１０１】
なお、図１２の例では、ｓｅｌｅｃｔとＤｅｌｅｔｅの２つのコマンドによって、特定の更新内容を保持し、他の更新内容を削除（復元）している。しかし、復元する対象が、コマンドのパラメータで特定できる場合には、１コマンドの指定で、必要な更新だけを反映したシミュレーション対象データベースを作成できる。例えば、Ｄｅｌｅｔｅコマンドのパラメータに、日付、ユーザ名、セル名、Ｓｅｔｕｐ、Ｈｏｌｄ、Ｌｏｇｉｃ、その他のパラメータによって、削除対象を指定すればよい。
【０１０２】
＜効果＞
以上述べたように、本実施形態の設計支援装置１によれば、回路のレイアウト設計を行う場合に、いつ、誰が、どのような目的で、どのデータ（ゲート、配線等）のどの部分を、どの値からどの値に更新したかが履歴データとして記録される。そのため、例えば、複数人でレイアウト設計を並行して実行する場合でも、互いに作業の内容を共有でき、相互のレイアウトに矛盾、食い違いが発生することを低減できる。また、作業担当者が交代したような場合でも、前担当者の作業の目的が履歴データに記録されるので、前担当者の作業の目的を理解した上で、後の担当者が更新作業をすることができる。
【０１０３】
また、履歴データに対して、日付、ユーザ名、対象データの種類（ゲート、配線等）、セル名、配線名、更新の目的等によって選択処理を実行し、ユーザが所望する更新履歴を選択できる。そして、例えば、その選択された履歴に対応する更新内容を元に戻すことにより、所望の時点まで更新状態を復元できる。
【０１０４】
また、所望のパラメータに該当する更新だけを削除し、あるいは、維持し、ユーザが関心のある更新だけに絞った設計データを抽出できる。その抽出結果を例えば、回路シミュレータに入力することにより、ユーザが関心のある更新だけに絞った回路シミュレーションを実行できる。
【０１０５】
《変形例》
上記実施形態では、図２示したように、コマンド入力画面１５のプロンプトに対して、ユーザがコマンドを入力することで更新内容を設計支援装置１に入力した。しかし、このような構成に代えて、更新内容を示すルールファイル１１の更新コマンドおよびコマンドファイル１３のコマンドをテキストファイルに設定するようしてもよい。そして、更新内容を表す一連のコマンドを含むテキストファイルを設計支援装置１に入力してもよい。設計支援装置１は、そのようなテキストファイルのコマンドを１行ずつ解析し、コマンドのルールファイル１１、コマンドファイル１３での定義の有無、レイアウトデータベース１４の更新、および履歴データの格納、指定された履歴データの抽出、その履歴データに該当する更新の取り消しと更新前のデータの復元等の処理を実行すればよい。
【０１０６】
《コンピュータ読み取り可能な記録媒体》
コンピュータその他の機械、装置（以下、コンピュータ等）に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
【０１０７】
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD-ROM、CD-R/W、DVD、DAT、８mmテープ、メモリカード等がある。
【０１０８】
また、コンピュータ等に固定された記録媒体としてハードディスクやＲＯＭ（リードオンリーメモリ）等がある。
【０１０９】
《その他》
さらに、本実施の形態は以下の発明を開示する。また、以下の各発明（以下付記と呼ぶ）のいずれかに含まれる構成要素を他の付記の構成要素と組み合わせてもよい。
（付記１）
回路部品と回路部品間を接続する配線とを含む回路の設計データを作成し、更新する編集部と、
前記回路の設計データを格納する設計データベースと、
前記設計データが更新されたときに、前記設計データ中の更新された回路部品または更新された配線と対応付けて更新内容を示す更新履歴を記憶する履歴データベースと、
前記履歴データベースに格納された更新履歴から特定の更新履歴を抽出する抽出基準を受け付ける抽出基準受け付け部と、
前記抽出基準にしたがって前記履歴データベースから更新履歴を抽出する履歴抽出部と、
前記回路の設計データから前記抽出された更新履歴によって示される更新がなされる前の回路の設計データを作成する復元部とを備える設計支援装置（１、図１−１１）。
（付記２）
前記回路の設計データ中の更新すべき回路部品または更新すべき配線と対応付けて更新内容の指定を受け付ける更新指定部と、
前記更新指定部からの指定にしたがって前記編集部が設計データを更新したときに、更新された回路部品または更新された配線と対応付けた更新内容を含む更新履歴を前記履歴データベースに格納する履歴管理部とをさらに備える付記１に記載の設計支援装置（図８）。
（付記３）
前記更新内容は、前記回路部品の追加、削除、および寸法変更の少なくとも１つを含み、寸法変更は、変更前後の寸法値によって記述される付記１または２に記載の設計支援装置（図６Ａ）。
（付記４）
前記更新内容は、前記配線の追加、削除、寸法変更、配線の属する層の変更の少なくとも１つを含み、寸法変更は、変更前後の寸法値によって記述され、配線の属する層の変更は、変更前後の層を識別する層識別情報によって記述される付記１から３のいずれかに記載の設計支援装置（図６Ａ）。
（付記５）
回路部品と回路部品間を接続する配線とを含む回路の設計データを作成し、更新する編集部と、
前記回路の設計データを格納する設計データベースと、
前記設計データが更新されたときに、前記設計データ中の更新された回路部品または更新された配線と対応付けて更新内容を示す更新履歴を記憶する履歴データベースと、を有するコンピュータが、
前記履歴データベースに格納された更新履歴から特定の更新履歴を抽出する抽出基準を受け付ける抽出基準受け付けステップと、
前記抽出基準にしたがって前記履歴データベースから更新履歴を抽出する履歴抽出ステ
ップと、
前記回路の設計データから前記抽出された更新履歴によって示される更新がなされる前の回路の設計データを作成する復元ステップとを実行する設計支援方法。（２、図１−１１）
（付記６）
前記回路の設計データ中の更新すべき回路部品または更新すべき配線と対応付けて更新内容の指定を受け付ける更新指定ステップと、
前記更新指定部からの指定にしたがって前記編集部が設計データを更新したときに、更新された回路部品または更新された配線と対応付けた更新内容を含む更新履歴を前記履歴データベースに格納する履歴管理ステップとをさらに実行する付記５に記載の設計支援方法（図８）。
（付記７）
前記更新内容は、前記回路部品の追加、削除、および寸法変更の少なくとも１つを含み、寸法変更は、変更前後の寸法値によって記述される付記５または６に記載の設計支援方法（図６Ａ）。
（付記８）
前記更新内容は、前記配線の追加、削除、寸法変更、配線の属する層の変更の少なくとも１つを含み、寸法変更は、変更前後の寸法値によって記述され、配線の属する層の変更は、変更前後の層を識別する層識別情報によって記述される付記５から７のいずれかに記載の設計支援方法（図６Ａ）。
（付記９）
回路部品と回路部品間を接続する配線とを含む回路の設計データを作成し、更新する編集部と、
前記回路の設計データを格納する設計データベースと、
前記設計データが更新されたときに、前記設計データ中の更新された回路部品または更新された配線と対応付けて更新内容を示す更新履歴を記憶する履歴データベースと、を有するコンピュータに、
前記履歴データベースに格納された更新履歴から特定の更新履歴を抽出する抽出基準を受け付ける抽出基準受け付けステップと、
前記抽出基準にしたがって前記履歴データベースから更新履歴を抽出する履歴抽出ステップと、
前記回路の設計データから前記抽出された更新履歴によって示される更新がなされる前の回路の設計データを作成する復元ステップとを実行させるプログラム（３、図１−１１）。
（付記１０）
前記回路の設計データ中の更新すべき回路部品または更新すべき配線と対応付けて更新内容の指定を受け付ける更新指定ステップと、
前記更新指定部からの指定にしたがって前記編集部が設計データを更新したときに、更新された回路部品または更新された配線と対応付けた更新内容を含む更新履歴を前記履歴データベースに格納する履歴管理ステップとをさらに実行させる付記９に記載のプログラム（４，図８）。
（付記１１）
前記更新内容は、前記回路部品の追加、削除、および寸法変更の少なくとも１つを含み、寸法変更は、変更前後の寸法値によって記述される付記９または１０に記載のプログラム。（５，図６Ａ）
（付記１２）
前記変更内容は、前記配線の追加、削除、寸法変更、配線の属する層の変更の少なくとも１つを含み、寸法変更は、変更前後の寸法値によって記述され、配線の属する層の変更は、変更前後の層を識別する層識別情報によって記述される付記９から１１のいずれかに記載のプログラム。（６、図６Ａ）
【図面の簡単な説明】
【０１１０】
【図１】本発明の一実施の形態に係る設計支援装置の機能ブロック図である。
【図２】本発明の一実施の形態に係る設計支援装置によるレイアウト設計時の操作概要を示す図である。
【図３】ルールファイルのコマンド例を示す図である。
【図４】ユーザ定義ファイルの例を示す図である。
【図５】コマンドファイルのコマンド例を示す図である。
【図６Ａ】履歴データのデータ構造を示す図である。
【図６Ｂ】配線の例を示す図である。
【図７】履歴参照画面の例を示す図である。
【図８】履歴データ格納機能を含むレイアウトデータ更新処理のフローを示す図である。
【図９】履歴データ選択処理のフローを示す図である。
【図１０】設計データを所定の期間前の状態に戻す処理の概要を示す図である。
【図１１】復元処理のフローを示す図である。
【図１２】特定の更新だけを反映したシミュレーションを実行する処理の例を示す図である。
【符号の説明】
【０１１１】
１  設計支援装置
２  制御部
３  ハードディスク
４  入力部
５  表示部
１１  ルールファイル
１２  ユーザ定義ファイル
１３  コマンドファイル
１４  レイアウトデータベース
１５  コマンド入力画面
２１  更新指定部
２２  復元部
２３  抽出基準受け付け部
２４  編集部
２５  履歴管理部
２６  履歴抽出部
【図１】
2008217651.tif 000003
【図２】
2008217651.tif 000004
【図３】
2008217651.tif 000005
【図４】
2008217651.tif 000006
【図５】
2008217651.tif 000007
【図６Ａ】
2008217651.tif 000008
【図６Ｂ】
2008217651.tif 000009
【図７】
2008217651.tif 000010
【図８】
2008217651.tif 000011
【図９】
2008217651.tif 000012
【図１０】
2008217651.tif 000013
【図１１】
2008217651.tif 000014
【図１２】
2008217651.tif 000015