[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP4532609B2 - Process management apparatus and method, and storage medium - Google Patents

Process management apparatus and method, and storage medium Download PDF

Info

Publication number
JP4532609B2
JP4532609B2 JP09908297A JP9908297A JP4532609B2 JP 4532609 B2 JP4532609 B2 JP 4532609B2 JP 09908297 A JP09908297 A JP 09908297A JP 9908297 A JP9908297 A JP 9908297A JP 4532609 B2 JP4532609 B2 JP 4532609B2
Authority
JP
Japan
Prior art keywords
data
information
design
state
displayed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP09908297A
Other languages
Japanese (ja)
Other versions
JPH10275188A (en
Inventor
弘太 田中
光一 佐藤
真理 来間
英俊 宮本
亜希子 川染
秀輝 澤田
寛 古知屋
健市 稲穂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP09908297A priority Critical patent/JP4532609B2/en
Priority to US09/015,798 priority patent/US6115034A/en
Priority to EP98300714A priority patent/EP0856804A3/en
Publication of JPH10275188A publication Critical patent/JPH10275188A/en
Application granted granted Critical
Publication of JP4532609B2 publication Critical patent/JP4532609B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • General Factory Administration (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、複数の工程を管理する工程管理装置及び方法並びに記憶媒体に関するものである。
【0002】
【従来の技術】
設計物、とりわけ基板上の回路を、CAD等の対話的画像処理装置を用いて設計する際には、大きく分けて以下のような2つの設計手法があった。
【0003】
まず、第1の設計手法は、回路素子を入力し、回路素子の入力により作成された回路図を検証して、基板上に配置配線等のレイアウト処理を施し、所望の設計物を生成するといったものである。
【0004】
また、第2の設計手法は、回路の機能レベルを設計して、該機能レベルを検証し、その検証結果に基づいて回路図を作成し、作成された回路図を検証して、基板上に配置配線等のレイアウト処理を施し、所望の設計物を生成するといったものである。最近では、この第2の設計手法が一般化しつつある。
【0005】
ところで、設計物を設計する際には、複数の工程で処理を進めていく必要があり、従来は、このような複数の工程の中の各工程毎に、設計者が別々に作業を進めていたので、複数の工程からなる設計工程全体を管理することは容易ではなかった。
【0006】
ここでいう「管理」とは、大きく分けて2つのものがある。
【0007】
まず、各々の工程に対する「管理」であり、各工程の実行時に起動される処理プログラムの起動条件の確認や起動の制御、また、使用される設計データの管理等を行う。
【0008】
また、複数の工程間に対する「管理」であり、工程の実行終了による次工程への処理の移行や工程間における設計データの参照等を行う。
【0009】
そして、現在、または将来的には、ますます複雑化している設計の工程を、設計者自身で管理するのには、限界が見えている。そこで、最近では、複数の工程を集約して管理するための装置が必要とされてきている。
【0010】
そして、設計物の設計において、複数の工程を集約して管理するには、特に、各工程の実行時に起動される処理プログラムと、設計物の元になる設計対象物に関する情報といった2つの要素が、設計内容を決定する際に、非常に重要な要素となっている。
【0011】
まず、各工程の実行時に起動される処理プログラムは、コンピュータの画面上で設計処理を行い、様々なデータ処理を行うためのプログラムであり、電気の分野においては、電気部品の入力ツールや各種検証ツール、最近ではブロック図や状態遷移図を用いた機能表現を行うためのツールなどがある。例えば、機能レベル設計用ツールとしては、SUMMIT社の「VisualHDL」、機能レベル検証用ツールとしては、Antares社の「V-System/VHDL」などが挙げられる。また、これらと同一作業をする処理プログラムも数多く存在するため、どれを使用すべきか、その選定は難しい。
【0012】
また、設計物の元になる設計対象物には、ASIC(Application Specific Integrated Circuit)などがあり、その設計においては、設計対象物のベンダ名(製造会社名)や、種類や、形状情報などを設定する必要がある。したがって、使用する設計対象物が変化すると、工程の実行順序や、各工程で起動される処理プログラムを、変更する必要がある。
【0013】
このように、設計物の設計においては、各工程の実行時に起動される処理プログラムと、設計物の元になる設計対象物に関する情報は、極めて重要な要素であり、これからは、特に、この2つの要素を重視した工程管理を行っていくことが、極めて重要になっていくものと思われる。
【0014】
【発明が解決しようとする課題】
しかしながら、設計物、とりわけASICは、ますます高密度化・大規模化しているので、その設計のための工程は極めて複雑になってきており、従来の技術では、それらの工程を管理するのにあたり、設計者に対して大きな負担を強いていた。
【0015】
また、設計物の元になる設計対象物や、各工程で起動される処理プログラムも、多種多様化してきており、従来の技術では、そのような急速な変化に対応していけなかった。
【0016】
また、従来の技術では、設計物の元になる設計対象物や、各工程で起動される処理プログラムを変更する場合、それに関連した数多くの設定作業を、設計者がいちいち行わなければならなかった。
【0017】
また、従来の技術では、設計物の元になる設計対象物に関する情報の設定は、設計開始段階から行わなれていたので、設計者は、設計途中において設計対象物に関する情報を変更することができず、該情報を変更するためには、設計開始段階から再設計する必要があった。
【0018】
また、従来の技術では、設計物の元になる設計対象物に対して、複数の異なるパターンの設計を、並行して行うことはできなかった。
【0019】
本発明は、設計物の複雑な設計工程を集約し、設計物の元になる設計対象物の設定と、各工程の実行時に起動される処理プログラムの設定を極めて簡略化することにより、設計者の負担を軽減し、また、設計上の誤りを減少させることを目的とする。
【0020】
また、本発明は、設計途中における設計物の元になる設計対象物に関する情報の変更を可能にすることを目的とする。
【0021】
また、本発明は、設計物の元になる設計対象物に対して設計を行う際に、複数の異なる設計処理を並行して行うことを可能にすることを目的とする。
【0022】
【課題を解決するための手段】
上記目的を達成するために、本発明の工程管理装置は、複数の工程の実行順序を認識可能にシンボルでディスプレイに表示させることによって管理する工程管理装置であって、前記複数の工程において生成されたデータの派生関係情報を記憶する記憶手段と、前記複数の工程が実行可能であるか否かを判別する判別手段と、前記判別手段により判別された状態に基づいて、前記複数の工程の各々が実行可能であるか否かを識別可能に前記ディスプレイに表示させる表示処理手段とを有し、前記判別手段は、判別対象工程の実行時に用いるための第1のデータが前記判別対象工程の前工程である第1の工程において生成され、第2のデータが前記判別対象工程の前工程であって前記第1の工程の後工程である第2の工程において生成された場合であって、前記記憶手段によって記憶された派生関係情報から前記第1のデータに対して前記第2のデータが生成されたという派生関係があって、かつ、前記第2のデータが前記第2の工程において実行される複数のプログラムのうち選定されたプログラムによって生成された場合、前記判別対象工程が実行可能である判別することを特徴とする。
【0023】
また、複数の工程の実行順序を認識可能にシンボルでディスプレイに表示させることによって管理する工程管理装置の処理方法は、前記複数の工程において生成されたデータの派生関係情報を処理装置が記憶装置に記憶させる記憶ステップと、前記複数の工程が実行可能であるか否かを処理装置が判別する判別ステップと、前記判別手段により判別された状態に基づいて、前記複数の工程の各々が実行可能であるか否かを識別可能に処理装置が前記ディスプレイに表示させる表示処理ステップとを有し、前記判別ステップにおいて、前記処理装置は、判別対象工程の実行時に用いるための第1のデータが前記判別対象工程の前工程である第1の工程において生成され、第2のデータが前記判別対象工程の前工程であって前記第1の工程の後工程である第2の工程において生成された場合であって、前記記憶装置に記憶された派生関係情報から前記第1のデータに対して前記第2のデータが生成されたという派生関係があって、かつ、前記第2のデータが前記第2の工程において実行される複数のプログラムのうち選定されたプログラムによって生成された場合、前記判別対象工程が実行可能であると判別することを特徴とする。
【0037】
【発明の実施の形態】
(設計管理装置のハードウエア構成)
まず、本発明に係る設計管理装置のハードウエア構成について詳しく説明する。
【0038】
図1は、設計管理装置101のハードウエア構成図である。この図1を用いて、設計管理装置101の各構成要素について説明する。
【0039】
図1において、102はキーボードであり、文字情報、コマンド情報、操作指示情報等の種々の情報を電子信号に変換して入力するためのものである。また、103はCRTディスプレイであり、キーボード102や後述するマウス104等の入力装置から入力された種々の情報を表示するためのものである。設計者は、このCRTディスプレイ103の表示を見ることによって、本発明を実施するための設計管理プログラム112やCADツール群113の動作を確認できる。特に、本発明において、CRTディスプレイ103は、何が行われているのか、また、次に何を行うのかを判断する構成として、非常に重要である。また、104はマウスであり、CRTディスプレイ103上の任意の位置を指示するためのポインティングデバイスである。
【0040】
111はプログラム記憶装置であり、ROMなどのメモリから構成され、設計管理プログラム112やCADツール群113等のプログラムが格納されており、これらのプログラムは、演算処理装置106によって実行される。また、110はデータ記憶装置であり、RAMなどのメモリから構成され、プログラム記憶装置111に記憶された設計管理プログラム112やCADツール群113によって使用されるデータや、演算処理装置106の処理によって生成されたデータ等が記憶される。また、105はハードディスク装置であり、各種データベースのほか、プログラム記憶装置111に記憶されたプログラムやデータ記憶装置110に記憶されたデータを格納するためのものである。もちろん、プログラムの実行時に実行されるプログラムや読み書きされるデータを、予めハードディスク装置105に格納しておいてもよい。
【0041】
106は演算処理装置であり、キーボード102やマウス104から受け取った電子情報に基づき、プログラム記憶装置111に記憶された設計管理プログラム112やCADツール群113等のプログラムの実行や、データ記憶装置110に対してのデータの読み込みや書き込みを行う。
【0042】
107は変換装置であり、グラフィックスボードやビデオボードなどから構成され、演算処理装置106から伝達された電子情報を、CRTディスプレイ103で表現するための情報へと変換する。
【0043】
また、本実施の形態においては、CRTディスプレイ103以外の出力装置として、プリンタ108を設け、変換装置107からの情報の印字出力を行っている。
【0044】
なお、109は、各構成要素を電気的に接続するバスである。
【0045】
そして、設計者の所望の操作によって、各構成要素間でデータのやり取りが行なわれ、設計対象物に対する所望の設計を実現する。
【0046】
(設計管理プログラムの概念説明)
図2は、図1のプログラム記憶装置111に格納されている設計管理プログラム112によって実現される機能の概念図である。
【0047】
本実施の形態では、設計管理プログラム112は、設計物の設計に係る複数の工程を管理するプログラムであり、本設計管理装置101の動作の基礎となる。以下、図2〜図10を用いて、この設計管理プログラム112の機能について説明する。
【0048】
設計管理プログラム112は、大きく分けて、「データ管理機能201」と「工程管理機能202」の2つの機能からなる。
【0049】
まず、「データ管理機能201」は、ハードディスク105内に格納されている管理データベース(以下、管理D/B204)と設計データベース(以下、設計D/B205)とを管理する機能である。ここで、管理D/B204は、設計管理プログラム112が扱う固有データの集合体である。具体的には、初期情報データファイル501、グループ情報データファイル502、CADツール情報データファイル503、ベンダデータファイル504、グループ管理データ505、ASICデータ506、メッセージログデータファイル507、ロック情報データファイル508などが格納されている(図5参照)。また、設計D/B205には、CADツールによって生成されたデータ全般と履歴管理情報データファイル401が納められている。
【0050】
なお、CADツールによって使用される、または、生成されるデータを、設計データと呼び、その中には、CADツールの環境用データやログファイルなども含まれる。
【0051】
また、「工程管理機能202」は、設計管理プログラム112による設定操作と設計作業工程(ワークフロー)を管理する機能である。
【0052】
また、CADツール群113は、先程も説明したように、設計管理プログラム112と同じように、プログラム記憶装置111内に格納されているプログラム群である。
【0053】
それでは、この「データ管理機能201」と「工程管理機能202」が、CADツール群113と、管理D/B204と、設計D/B205に対して行う処理について、以下に述べることにする。
【0054】
まず、「工程管理機能202」から「データ管理機能201」へ、管理D/B204や設計D/B205に格納されたデータの獲得依頼がなされると、「データ管理機能201」は依頼されたデータを管理D/B204や設計D/B205から獲得して、「工程管理機能202」へ返す。また、「工程管理機能202」が CADツール群113に対して、所望のCADツールの指定と設計環境の設定を行うと、「工程管理機能202」は、指定されたCADツール実行時のエラーコードや終了コードを、CADツール群113から獲得する。更に、「データ管理機能201」は各D/Bへ、格納されているデータに対する問い合わせを行い、そのデータが各D/Bにあった場合は、「データ管理機能201」は、そのデータを各D/Bから獲得する。また、CADツール群113は、設計D/B205に格納された設計データを獲得し、CADツール群113は、設計D/B205に対して、任意のCADツールの実行によって生成された設計データを出力する。
【0055】
図3は、設計管理プログラムの主要な機能を示した図である。
【0056】
この図3を用いて、「データ管理機能201」と「工程管理機能202」を更に詳細にした機能の各々の関連を示すことにする。
【0057】
「データ管理機能201」は、「設計データ管理機能300」と「環境データ管理機能310」とからなっており、また、「工程管理機能202」は、「プロジェクト操作機能320」と「設定変更機能340」と「フロー制御機能350」と「起動制御機能330」と「情報確認機能360」とからなっている。
【0058】
また、このような「データ管理機能201」や「工程管理機能202」を構成する機能のそれぞれは、更に複数の機能からなっている。
【0059】
まず、「設計データ管理機能300」は、「データ管理機能201」の機能の1つで、設計D/B205内の各データに様々な処理を行う。具体的な機能としては、バージョン管理機能300−1、派生管理機能300−2、パージ操作機能300−3、履歴管理機能300−4、環境復元機能300−5がある。
【0060】
図4は、「設計データ管理機能300」における各機能の概略を示した図である。
【0061】
バージョン管理機能300−1は、設計D/B205内の設計データに、いわゆるバージョン付けを行う機能であり、CADツールによって生成される設計データとディレクトリ情報を含めた設計環境を保存する。この時、起動前の設計環境を旧バージョン、起動終了後の設計環境を新バージョンとして登録する。このように、バージョン管理機能300−1は、1回の起動毎にその設計環境を保存し、また、CADツールによって生成される設計データを、生成順に昇順で番号付けを行う。もちろん、番号付けの順序は昇順に限られるものではなく、どのような順序であっても良い。
【0062】
派生管理機能300−2は、設計D/B205内の設計データを結び付ける機能であり、バージョン管理機能300−1を縦方向の管理機能だとすると、派生管理機能300−2は横方向の管理機能であるといえる。この派生管理機能300−2は、CADツール群113の各CADツールにより生成された設計データが、どの設計データを基にして生成されたかを表し、設計データ間の派生関係を管理する。(履歴管理情報データファイル401から派生関係を読み取れる仕組みになっている。)なお、各設計データ毎の派生情報の生成は、バージョン管理機能300−1によるバージョン管理の直後に行う。生成される派生情報は、パージ操作機能300−3、履歴管理機能300−4へのキーとなる。
【0063】
パージ操作機能300−3は、設計D/B205内の設計データを整理する機能であり、バージョン管理機能300−1によるバージョンアップの際に、管理バージョンデータ数が、初期情報ファイル501で定める値を超えた場合に、一番古いバージョンの設計データを削除する。管理可能なバージョン数は、設計管理プログラム112で利用する変数として設定できる。
【0064】
履歴管理機能300−4は、設計D/B205内に納められている履歴管理情報データファイル401を用いて、設計データの履歴情報を管理する機能であり、バージョン管理機能300−1、派生管理機能300−2、及びパージ操作機能300−3によって用いられる設計データの履歴全体を管理する。各設計データ間の情報は、履歴管理情報データファイル401に納められ、履歴管理機能300−4は、この履歴管理情報データファイル401に対する入出力処理も行う。また、「工程管理機能202」へ、設計データの履歴情報を出力したりする。
【0065】
環境復元機能300−5は、設計D/B205の設計データを含む環境情報を復元する機能であり、より具体的には、CADツール起動時の1世代前(もちろん、2世代前や3世代前であっても良い)の起動環境を復元する機能である。したがって、設計D/B205に対して直接ファイル操作などを実行する。
【0066】
次に、「環境データ管理機能310」は、「データ管理機能201」の機能の1つで、「工程管理機能202」で参照される固有データを管理する。具体的な機能としては、初期情報管理機能310−2、設計情報管理機能310−3、バックアップ管理機能310−1、ロック管理機能310−4がある。
【0067】
図5は、「環境データ管理機能310」における各機能と環境データの関係を示した図である。
【0068】
バックアップ管理機能310−1は、管理D/B204内のバックアップ(更新前の状態を保存すること)対象であるグループ管理データ505と、ASICデータ506と、メッセージログデータファイル507を管理する機能であり、「工程管理機能202」の設定処理によって環境データを管理D/B204に保存する際に、保存前のデータをバックアップ(データを複写する)する。
【0069】
初期情報管理機能310−2は、設計管理プログラム112起動時に、管理D/B204内の初期情報データファイル501に納められた値から、CRTディスプレイ103上での画面表示や、値が設定可能なデータに対して、デフォルト情報を設定する機能である。
【0070】
設計情報管理機能310−3は、「工程管理機能202」の「設定変更機能340」におけるターゲット設定機能340−1、CADツール変更機能340−2や、グループに関する機能を用いる際に使用される、グループ情報データファイル502、CADツール情報データファイル503、ベンダデータファイル504、グループ管理データ505、ASICデータ506等の、管理D/B204内の各種情報を管理する機能である。なお、本実施の形態における「グループ」とは、1つのプロジェクトを実行する際の複数の設計者の集合のことである。
【0071】
ロック管理機能310−4は、管理D/B204内にあるロック情報データファイル508を用いて、「工程管理機能202」や設計情報管理機能310−3に対して、内容の変更を禁止する指定を行う機能である。ロック管理機能310−4で作成されるロック情報データファイル508は、このような内容の変更の禁止に関する情報を保有している。
【0072】
次に、「プロジェクト操作機能320」は、「工程管理機能202」の機能の1つで、プロジェクトの作成や選択などを実行する。実際の処理としては、設計者からのテキスト入力や選択によって、処理に必要なデータを「環境データ管理機能310」から獲得して、設計データやグループ情報に対する処理を行っている。そして、具体的な機能としては、設計データ操作機能320−1とグループ管理機能320−2がある。なお、本実施の形態における「プロジェクト」とは、ある設計物を設計するための設計単位のことである。
【0073】
図6は、「プロジェクト操作機能320」における各機能の概略を示した図である。
【0074】
設計データ操作機能320−1は、ハードディスク105に格納され、後述する「フロー制御機能350」や「起動制御機能330」において用いられる選択情報601に対して、データの入出力を行う機能であり、具体的には、設計者からのテキスト入力や選択によって、プロジェクトの新規作成、複写、削除などを行う。そして、選択されたデータが、選択情報601として記憶される。
【0075】
グループ管理機能320−2は、「プロジェクト操作機能320」のネットワークに対応した機能であり、グループ設計に対応するための処理などを行う。
【0076】
次に、「起動制御機能330」は、「工程管理機能202」の機能の1つで、CADツール起動までの一連の操作を行うものである。
【0077】
図7は、「起動制御機能330」における各機能の概略を示した図である。
【0078】
起動条件確認機能330−1は、「プロジェクト操作機能320」で選択された選択情報601からCADツール起動の条件を確認する機能であり、起動条件としては、入力データとなる設計データの存在確認などがある。
【0079】
CADツール確定機能330−2は、後述する「設定変更機能340」で決定する設定変更情報701やルール情報702から、起動するCADツールの種類や、処理内容を決定する機能である。
【0080】
作業短縮機能330−3は、設計のプロセスにおいて、1つの工程内に集約されている複数の作業(この工程と作業の関係については、後で詳述する。複数の作業によって1つの工程が構成されている点を理解されたい。)のうち、必要な作業までを実行する機能である。すなわち、工程内の作業数を短縮することが可能な機能である。通常は、工程内の作業内容の全てを実行するが、この作業短縮機能330−3によって、無駄な時間を省くことができる。なお、どの作業まで実行するのかは、設計者の指定により決定する。
【0081】
環境設定機能330−4は、CADツール起動の前処理として起動環境を構築する機能である。また、「設計データ管理機能300」の環境復元機能300−5による環境データの復元を依頼する処理や、設計データの確認などもここで行う。
【0082】
次に、「設定変更機能340」は、「工程管理機能202」の機能の1つで、各種の設定作業を行う機能である(リターゲット機能とも呼ぶ)。「設定変更機能340」の具体的な機能としては、ターゲット設定機能340−1、CADツール変更機能340−2、入出力バッファ変更機能340−3、制御ルール確定機能340−4がある。
【0083】
この「設定変更機能340」の各機能は、設計管理プログラム112が、ASICに関する情報の変更などに対して柔軟性を持っていることを示している。そして、このような設計管理プログラム112の柔軟性ある機能によって、設計者に対して、設計期間を短縮し、また、操作性の向上を計るなど、多くの効率化を実現することができる。
【0084】
以下、図8を用いて、ターゲット設定機能340−1、CADツール変更機能340−2、入出力バッファ変更機能340−3、制御ルール確定機能340−4について、詳しく説明する。
【0085】
図8は、「設定変更機能340」における各機能の概略を示した図である。
【0086】
ターゲット設定機能340−1は、設計完成品としてのASICを設計するための元になるASIC(以下、ターゲットと呼ぶ)に関するデータを設定する機能であり、データ設定に必要な情報は、「環境データ管理機能310」より提供される。なお、設計者によって設定されたターゲットに関する情報(以下、「ターゲット情報803」と呼ぶ)と、後述するCADツール割当情報802とを合わせて、設定変更情報701と呼ぶ。
【0087】
CADツール変更機能340−2は、設計処理の各工程で起動されるCADツールを、各工程毎に割り付ける機能である。この工程毎に対応するCADツールは限られており、その限られたCADツールの情報は、「環境データ管理機能310」より提供される。ここで得られるCADツール割当情報802は、ターゲット設定機能340−1の説明でも述べたように、ターゲット情報803と合わせて、設定変更情報701の一部となる。
【0088】
入出力バッファ変更機能340−3は、設計の上位工程において仮入力された入出力バッファを変更する機能であり、変更内容については、入出力バッファ情報801として保存される。なお、この入出力バッファ変更機能340−3は、ある特定の工程においてのみ、実行可能となっている。
【0089】
制御ルール確定機能340−4は、ターゲット設定機能340−1とCADツール変更機能340−2により得られる設定変更情報701から、本設計管理プログラム112が制御する各工程におけるルールを確定する機能であり、このルールに関する情報は、「環境データ管理機能310」より提供される。また、確定したルールは、ルール情報702として扱われ、CADツール起動後の工程状態の確定などに影響する。
【0090】
次に、「フロー制御機能350」は、「工程管理機能202」の機能の1つで、設計管理プログラム112で管理する各工程に関し、その工程状態の制御と工程状態の管理を行う機能である。具体的な機能としては、設計工程確定機能350−1と工程状態管理機能350−2の2つがある。この「フロー制御機能350」を実現するためには、前述した選択情報601や設定変更情報701やルール情報702などが必要である。
【0091】
図9は、「フロー制御機能350」における各機能の概略を示した図である。
【0092】
設計工程確定機能350−1は、設定変更情報701と選択情報601から、ASICを設計するため全工程を確定する機能であり、設計者が、この確定された工程に沿って設計を進めることで、所望のASICの設計が実現できる。
【0093】
工程状態管理機能350−2は、設定変更情報701とルール情報702から、各工程の工程状態を決定する機能であり、この工程状態には、実行可能状態、実行不可能状態、選択状態、実行状態の4種類の状態が存在する。
【0094】
最後に、「情報確認機能360」は、「工程管理機能202」の機能の1つで、設計上の補助機能である。その機能は、メッセージ表示機能360−1や履歴情報表示機能360−2など、設計の進行状態を確認するためのものが多い。この機能は、必ずしも設計上必要なものではないが、本設計管理プログラム112では、設計者が効率良くASICの設計をしていく上で必要なものとして採用している。
【0095】
図10は、「情報確認機能360」における各機能の概略を示した図である。
【0096】
メッセージ表示機能360−1は、CADツールからのダイレクトメッセージを受け、その情報を、CRTディスプレイ上の後述するメッセージパネル上に表示する機能であり、メッセージパネルに表示されたメッセージは、「環境データ管理機能310」へ伝達される。そして、伝達されたメッセージは、メッセージログデータファイル507として管理される。
【0097】
履歴情報表示機能360−2は、「設計データ管理機能300」からの履歴情報を、CRTディスプレイ上の後述する履歴管理パネル上に表示するのと同時に、パージ操作機能300−3に対してロック指定を行う機能である。また、履歴管理パネル上において、ターゲット情報803を参照することができる。
【0098】
それでは、以上述べた、設計管理装置101のハードウエア構成と、工程管理プログラム112の概念説明を踏まえた上で、以下に、本発明の実施の形態について詳しく述べていくことにする。
【0099】
(第1の実施形態)
<設計の処理の流れ>
まず、設計管理装置101を用いた設計物の設計について、その概要を述べることにする。
【0100】
所望の設計物を設計するためには、一定の設計手法に従って、設計の段階を進めていく必要がある。本実施の形態では、この設計の各段階を「工程」と呼び、そのような複数の「工程」による作業の流れ全体を、「プロジェクト」と呼ぶ。このプロジェクトの各工程には、方式設計、機能設計、論理設計、回路設計、実装設計、レイアウト設計、試験設計などの工程が含まれる。また、通常は、このような設計の工程に引き続いて、製造工程、試験工程といった工程を経て、設計物が完成する。
【0101】
上述したような設計手法は、実際には、ASICといった特定の用途のために開発される集積回路の設計に用いられることが多い。本実施の形態におけるASICとは、フルカスタムICとセミカスタムIC、そしてASSP(Application Specific Standard Product)、PLD(Programmable Logic Array)、FPGA(Field Programmable Gate Array)の全てを含んでいるが、もちろん、単なるゲートアレイだけを指すのでも構わないし、汎用品以外の全てのものを指すのでも構わない。
【0102】
そして、本実施の形態では、プロジェクトの各工程の全てを、ひとつのプログラム、設計管理プログラム112で管理している。
【0103】
では、図11を用いながら、この設計管理プログラム112を利用して設計を行う場合の、基本的な処理の流れを説明する。
【0104】
設計管理プログラム112の起動(▲1▼)の後、設計者によって、設計に使用するASIC、すなわちターゲットに関する情報が設定されると(▲2▼)、そのターゲットに対応した所定のプロジェクトが選択されて、その工程群がCRTディスプレイ103に表示される(▲3▼)。(同時に、それを制御するルール情報702が決定される。)そして、設計者によって、任意の実行可能な工程が選択されると(▲4▼)、選択された工程の処理が実行される(▲5▼)。このように、実行可能な工程の選択と実行(▲4▼及び▲5▼)を、始めの工程から最終工程まで順々に行っていくと、所望の設計処理が完成するのである。
【0105】
それでは、以下に、この一連の処理の流れを踏まえた上で、本発明の実施の形態について、詳しく説明する。
【0106】
<工程の状態表示>
まず、設計管理装置101において、起動コマンドをキーボード102から入力すると、設計管理プログラム112が起動され、図12に示すような、メインパネル901がCRTディスプレイ103上の画面に表示される。また、キーボード102から設計管理プログラム112の名称をキー入力したり、CRTディスプレイ103上の設計管理プログラム112を表現するアイコンをマウス104で指示することによっても、先程と同様に、設計管理プログラム112が起動され、メインパネル901がCRTディスプレイ103上に表示される。もちろん、設計管理プログラム112は、これらの方法以外の操作で起動してもよい。
【0107】
図12は、設計管理プログラム112が起動されたときに、CRTディスプレイ103上に表示されるメインパネル901を示す図である。
【0108】
この図12において、902は、設計管理プログラム112が管理する工程群が表示される領域であり、903は、領域902に表示された工程群の中から選択された工程を構成している作業の内容を表示する領域である。(後述するが、各工程は、更なる工程群によって構成されている。このような工程内の工程を、本実施の形態では、「作業」と呼ぶ。)
【0109】
904は、命令コマンドを入力するためのボタン群であり、これらのボタン群をマウス104等で指示することにより、コマンドが入力される。また、905は、ターゲット表示エリアであり、ターゲット情報803を表示する領域である。また、906は、実行を指示するための〔Start〕ボタンであり、907は、キャンセルを指示するための〔Cancel〕ボタンである。
【0110】
908は、マウスカーソルであり、マウス104の指示により、画面上を移動し、所望の位置を指示する。なお、この図9以降の図においては、マウスカーソル908の表示を省略する。
【0111】
次に、図12に示すようなメインパネル901に対して、キーボード102やマウス104からの入力処理によって、工程の内容や、ターゲット情報803が決定され、設計管理装置101において管理する工程の流れのイメージが、図13のように、メインパネル901上の領域902に表示される。
【0112】
図13は、領域902に複数の工程が表示された場合の例を示す図である。
【0113】
この図13では、領域902に表示された、「ESDA」や「VHDL Simulation」などの名称が与えられた、工程を示す各ブロックによって、様々な作業を集約した一つ一つの工程を表現している。そして、図13では、工程をブロックとして表現しているが、これは四角い形状でも丸い形状でも文字だけでも問題はなく、工程を表現することが可能なものであれば何でもよい。本実施の形態では、長方形の入力が比較的簡単であることや、工程内で何らかの処理を行っているというイメージを設計者に認識させ易いことや、文字により工程内の作業内容をイメージさせやすいことなどを理由として、長方形に文字を備えたものを使用した。
【0114】
また工程間に表示する矢印は、工程間の繋がりや、各工程間のデータの伝達を設計者に認識させ易くすることや、入力し易いことなどを理由に使用した。当然この矢印を他のもので表現することも可能である。
【0115】
そして、この領域902にブロックと矢印で表現された図を、本実施の形態では、工程関連図と呼ぶことにする。
【0116】
図14に、図13の工程関連図の類似例として、工程関連図の他の一例を示す。
【0117】
本実施の形態では、この図14に示した工程関連図に基づいて、各工程の処理とその状態変化について説明していくことにする。図14において、各工程は簡易的に、工程1、工程21、工程22などのように示されている。例えば、図13の「ESDA」は、図14の工程1に対応する。
【0118】
図14において、工程1と工程22の間の矢印の向きが図13と異なるのは、生成したデータの流れが違うからである。図13の工程関連図では「Timing」と書かれた工程で生成したデータを、「VHDL Simulation」と書かれた工程で使用するために上方向の矢印となっている。逆に、図14では、工程22でデータを生成せずに参照のみを行うか、もしくは、それ以降の工程で使用されないデータの生成を行うので、矢印の方向が逆になっているのである。また、図14において、工程3と工程43の間の矢印の向きが図13と異なるのも、同じ理由による。
【0119】
もちろん、図13や図14で示した以外の工程関連図を用いた処理も、多々存在し得るのは言うまでもない。
【0120】
そして、図14における各ブロックが示す工程には、実行可能状態、実行不可能状態、選択状態、実行状態の4つの状態がある。ここで、実行可能状態とは、工程の実行を設計者が指示した場合に、その工程を実行できる状態のことである。逆に、実行不可能状態とは、工程の実行を設計者が指示した場合に、指示を無視し、その工程の実行が行われない状態のことである。また、選択状態とは、その工程が設計者の指示によって選択されている状態のことであり、実行状態とは、その工程がまさに実行されている状態のことである。
【0121】
ここで、CRTディスプレイ103上はカラーディスプレイであるので、工程関連図のオブジェクトをカラーで表示するが、その場合、前述した実行不可能状態の工程を「赤」、実行可能状態の工程を「青」、そして、選択状態の工程を「黄」、実行状態の工程を「白」といったように、各状態を4つの色で表示する。
【0122】
もちろん、各状態は、どのような色の組み合わせでも構わないが、ここでは、表現のし易さ、認識のし易さ、色彩の持つ効果(例えば、赤には注意、禁止などの抑制効果がある)などを考慮して色と状態の組合わせを決定した。また、色以外の識別方法として、工程を示すブロック上やその周辺に、状態を明記するオブジェクトを表示することも可能である。また、工程の状態は、この4つの分類に限られるものではなく、3つ以下の分類であっても、5つ以上の分類であってもよい。
【0123】
また、各工程が実行可能であるかどうかは、各工程が、「実行可能条件」と呼ばれる実行に必要な条件を満たしているか、または、満たしていないかによって、決まってくるものである。
【0124】
本実施の形態における実行可能条件とは、主に、ルール情報702によって決められる条件のことを指し、一般的には、対象となる工程より前の工程が実行可能であるか否かといった条件や、対象となる工程より前の工程で生成されたデータが、その工程の実行時に使用されるデータであるか否かといった条件のことを言う。
【0125】
また、対象となる工程の実行時に使用されるデータと、その工程より前の工程で生成されたデータとの間に、「派生関係」があるか否かといった条件も、実行可能条件の1つである。この「派生関係」については、第6の実施形態で説明することにする。
【0126】
それでは、領域902の工程関連図に示された各工程の状態を、最初の工程から最後の工程まで、順次検証していく処理について、以下の図15を用いて、詳しく説明することにする。
【0127】
図15は、工程状態の検証処理のフローチャートである。
【0128】
まず、ステップS111において、先頭(最初)の工程を認識する。次に、ステップS112において、その工程における実行可能条件を確認して、ステップS113において、その工程の実行可能条件が満たされているかどうかを判別する。条件が満たされている場合、ステップS114に進み、工程の表示を起動可能状態の表示へと変更する(通常、未検証の工程は、色なしの初期状態である)。そして、ステップS116において、次の工程を認識する。移動後、ステップS117において、次の工程の存在が認識されたかどうかを判別し、認識された場合、ステップS112から再度処理を行う。また、認識されない場合、全工程が終了したと判断して、工程状態の検証処理を終了する。なお、ステップS112において、実行可能条件を満たさない場合には、ステップS115に進んで、工程の表示を起動不可能状態の表示へと変更し、その後はステップS116に進み、実行可能条件を満たす場合と同じ処理を行っていく。
【0129】
この図15に示す検証処理は、初期状態で各工程に状態が設定されていない場合や、ターゲット情報の設定やCADツールの設定により、実行可能状態であった工程が実行不可能状態に変わる可能性がある場合(後で詳述する)に行われる処理である。なぜなら、これらの場合、最初の工程から状態を全て検証しなければならないからである。
【0130】
しかしながら、ある工程を実行した場合、その実行により変化するのは、実行処理を行った工程以降の工程に限定されるので、最初の工程から検証を行うのは、無駄である。そこで、これを簡略化した処理を、図16のフローチャートを用いて詳しく説明する。
【0131】
図16は、工程状態の簡略化された検証処理のフローチャートである。
【0132】
まず、ステップS221において、実行した工程の次工程を認識する。次に、ステップS222において、その工程における実行可能条件を確認して、ステップS223において、その工程の実行可能条件が満たされているかどうかを判別する。条件が満たされている場合、ステップS224に進み、工程の表示を起動可能状態の表示へと変更する。そして、ステップS225において、次の工程を認識する。移動後、ステップS226において、次工程の存在が認識されたかどうかを判別し、認識された場合、ステップS222から再度処理を行う。また、認識されない場合、全工程が終了したと判断して、工程状態の検証処理を終了する。
【0133】
なお、ステップS223において、実行可能条件を満たさない場合には、ステップS227に進んで、工程の表示を起動不可能状態の表示へと変更し、ステップS228において、次の工程を認識する。移動後、ステップS229において、次工程の存在が認識されたかどうかを判別し、認識された場合、ステップS227から再度処理を行う。また、認識されない場合、全工程が終了したと判断して、工程状態の検証処理を終了する。
【0134】
この図16に示す検証処理は、設計工程を一方向で管理するため、必ず前の工程を終了しないと次工程に進めないように管理し、設計者が誤った設計操作を侵さないようにしている。つまり、実行不可能工程以後に実行可能工程が存在することを防いでいる。
【0135】
このように2通りの工程状態の検査処理を選択的に行なうことで、状況に応じた処理を実行することが可能となる。
【0136】
<工程の実行と状態変化>
それでは、メインパネル901上の領域902に工程関連図が表示されている状態で、複数の工程の中から1つの工程が選択されて実行される場合の種々の例について、以下に説明することにする。
【0137】
まず、この図14における工程1の処理を実行した場合の工程21及び工程22の状態の変化、すなわち、1つの工程の処理を実行した場合の、次工程である複数の工程の状態の変化について、図17を用いて説明する。
【0138】
図17は、工程1の処理を実行した場合の工程状態の変化を示す図である。
【0139】
この図17においては、工程1のように太線で囲まれた工程を実行可能状態であるとし、工程2のように細線で囲まれたブロックを実行不可能状態であるとしている。これは、図中ではカラー表示ができないために採用した、便宜的な表示方法である。この図17において、マウス104などの入力装置で工程1のブロックを指示することにより、工程1のブロックを選択状態にし、図13のメインパネル901上にある〔Start〕ボタン906を選択することで、選択状態となった実行可能状態の工程1を実行することができる。選択し直す場合は、同じくメインパネル901上にある〔Cancel〕ボタン907を選択すればよい。また、別の工程を選択することによっても、選択のし直しができる。例えば、選択状態である工程1から工程21を選択状態にする場合、そのまま、マウス104で工程21を選択すれば、工程1の選択状態が解除され、工程2選択状態となる。
【0140】
後述する実行においても、本実行方法を用いるものとする。また、もちろん、これ以外の実行方法によっても、工程の選択・実行を行うことは可能である。
【0141】
ここで、実行可能状態にある工程1を実行した場合、工程1の次工程で実行不可能状態にある工程21及び工程22の状態は、工程1の実行によって実行可能条件が変化することにより、図17の下部に示す4つの状態に変化する。図17の下部においては、メインパネル901上の領域902における工程1と工程21と工程22の部分を、領域1001として取り出して表示している。
【0142】
まず、工程1の実行が何らかの原因で正しく終了できなかった(以下、「異常終了」したと呼ぶ)場合や、工程1の実行が正しく終了した(以下、「正常終了」したと呼ぶ)のにもかかわらず、工程21と工程22の実行可能条件を満たさない場合には、工程21と工程22の工程状態は変化しない。
【0143】
次に、工程1が正常終了し、工程21の実行可能条件だけを満たす場合には、工程21だけが実行可能状態へと変化し、また、工程22の実行可能条件だけを満たす場合には、工程22だけが実行可能状態へと変化する。更に、工程21、工程22ともに実行可能条件を満たす場合には、両方とも実行可能状態へと変化する。
【0144】
もちろん、工程21、工程22の実行状態変化はどちらから行なわれても構わない。
【0145】
では、この実行可能条件による状態変化についての具体例を挙げる。例えば、工程1では工程21の実行可能条件であるデータAと、工程22の実行可能条件であるデータBという2つのデータが生成可能である場合に、工程1が異常終了した場合や、また、工程1が正常終了したのにもかかわらず、データAもデータBも共に生成できないような場合には、工程21と工程22の工程状態は変化しない。また、工程1が正常終了してデータAのみを生成した場合には、工程21だけが実行可能状態へと変化し、データBのみ生成した場合には、工程22だけが実行可能状態へと変化し、データAとデータBを共に生成した場合には、両方とも実行可能状態へと変化する。
【0146】
なお、次工程が3つ以上ある場合についても、これと同様に、各工程の実行可能条件を検証することで状態変化が確定する。本実施の形態では、実行する工程に対してその次工程が複数ある場合には、常に上記で示す手順で工程状態が確定できる。
【0147】
また、図14における工程21の処理を実行した場合の工程3の状態の変化、すなわち、1つの工程の処理を実行した場合の、次工程である1つの工程の状態の変化について、図18を用いて説明する。
【0148】
図18は、工程21の処理を実行した場合の工程状態の変化を示す図である。
【0149】
ここで、図18の上部の工程関連図における工程21とその次工程である工程3の関係において、工程関連図上の工程21のブロックを実行することで、工程3の状態が変化する。
【0150】
まず、工程21が正常終了し、工程3の実行可能条件が満たされている場合には、工程3は実行可能状態へと変化する。逆に、工程21が異常終了する場合や、工程21が正常終了したのにもかかわらず、工程3の実行可能条件を満たさない場合には、画面上の工程状態は変化しない。
【0151】
また、工程3の処理を実行した場合の工程41、42、43の状態の変化について、図29を用いて説明する。
【0152】
図29は、工程3を実行した場合の工程状態の変化を示す図である。
【0153】
この図29の上部においては、メインパネル901上の領域902における工程41と工程42と工程43と工程51と工程52の部分を、領域1003として取り出して表示している。
【0154】
まず、工程3の実行による、その次工程である工程41、工程42、工程43の実行可能条件の変化を検証する。検証方法は前述した方法と同一であるので、詳しい説明は省略する。そして、次工程が全て実行可能状態となる場合には、さらにその次工程である工程51と工程52の検証を行う。
【0155】
このように、実行する工程、そしてその次工程とも数の制限はなく、各実行工程の終了時に、次工程の数だけ実行可能条件を検証することになる。
【0156】
<工程の作業の概略>
ところで、ブロックで示される各工程は、更に複数の工程(本実施の形態では、作業と呼ぶ)で構成されている。
【0157】
図19は、工程内の作業内容の概略の表示例を示す図である。
【0158】
例えば、図19の上部に示されたような、領域902の工程関連図において実行可能な工程1が、キーボード102やマウス104等の入力装置により選択された場合、図13に示したメインパネル901の領域902の下の空白部分である領域903に、図19の下部に示す作業概略図を表示する。
【0159】
この図は工程1における作業内容を示しており、ここでは工程1の実行により作業1-1を処理することを明示している。例えば、工程1において、プログラム記憶装置111内に記憶されたプログラムを演算処理装置106が実行することによって、データを生成するのなら、作業1-1はそのプログラムを表現することになる。
【0160】
この作業概略図の作業1-1で表示されるシンボルはブロックに限られたものではなく、工程を表示する場合と同様に、長方形上に文字を書いたものに限らず、どのようなものであってもよい。
【0161】
図19において、工程1が選択されている状態で、キーボード102やマウス104等の入力装置により、工程1以外の工程が画面上で選択された場合は、工程1の作業の概略に代えて、選択された工程の作業の概略を表示する。
【0162】
次に、図20は、1工程内に複数の作業が存在する場合の作業の概略の表示例を示す図である。
【0163】
例えば、実行可能な工程1には3つの作業が集約されているとする場合、工程1を選択することにより、領域903内の作業概略図には、3つの作業を示すブロックと、後述する作業内容の短縮を行うための矢印ボタン「↑ボタン1101」と「↓ボタン1102」を右側の上下に表示する。この矢印ボタンを操作することにより、作業内容の短縮処理が可能になる。なお、このボタンの位置はどこでもよいものとし、矢印イメージは、他のイメージで置き換えることもできる。この図20の表示例は、操作性と認識性を考慮して採用したものである。
【0164】
この作業概略図に示された3つの作業の内容は、例えば、作業1-1において、データの変換をし、作業1-2において、作業1-1で変換したデータを読み込んで別データを生成し、作業1-3において、作業1-2で生成したデータを再び変換するといったものが具体例として挙げられる。
【0165】
その他の工程の作業の概略の表示も、これと同様の方法で表現できる。
【0166】
次に、図21は、図20の表示例において示された作業の概略を、作業短縮処理によって変化させた場合の表示例である。
【0167】
図21の上部の作業概略図は、図20の下部に示したものと同一であり、この図21の上部において、設計者がキーボード102やマウス104等の入力装置を用いて「↑ボタン1101」を指示すると、上記作業内容は図21の左下図のように、作業1-1のみを表示した状態に変化する。これは、工程1内で実行される作業が、作業1-1のみになったことを示している。「↑ボタン1101」は、本来、工程内の作業数を増加させるためのボタンであるが、この場合、工程1には、最大でも3つの作業しか存在し得ないので、「↑ボタン1101」によって、作業概略図は、最小数の作業内容を表示するものに変化する。
【0168】
逆に「↓ボタン1102」を指示した場合は、上記作業概略図は、図21の右下図のように変化する。「↓ボタン1102」は作業数を減少させるためのボタンであるため、作業数が3つから2つに減少する。
【0169】
なお、図21の左下図の状態で「↑ボタン1101」を指示すると、右下図の状態になり、また、「↓ボタン1102」を指示すると、既に作業数が最小になっているので、上図のような全作業内容を表示するような状態に変化する。更に、図21の右下図の状態で「↑ボタン1101」を指示すると、上図の状態になり、また、「↓ボタン1102」を指示すると、左下図の状態に変化する。
【0170】
もちろん、この短縮処理による作業数の変化は、工程内の最大作業数が3の場合に限らず、いくつであってもよい。また、このような短縮処理後に、工程を実行する場合には、領域903の作業概略図に表示された作業のみが実行される。
【0171】
ここで、再び、図17を用いて、この短縮処理と工程状態の変化が関連する場合の一例を挙げることにする。
【0172】
図17において、工程1は、作業1-1、作業1-2、作業1-3といった3つの作業内容を持ち、作業1-1は、元のデータをデータAに変換し、作業1-2は、データAからデータBを作成し、作業1-3は、データBを変換してデータCを生成するものとする。また、工程21の実行可能条件が、データAとデータBであり、工程22の実行可能条件が、データBであるものとする。
【0173】
この条件下において、短縮処理により、工程1内の作業内容を、例えば図21の左下図のように、作業1-1のみの状態にして、工程1を起動し、正常終了してデータAが出力された場合、工程21の実行可能条件も、工程22の実行可能条件も満たさないので、工程1の実行後の状態は、図17の一番左下の状態となる。
【0174】
また、短縮処理により、工程1内の作業内容を、例えば図21の右下図のように、作業1-1と作業1-2である状態にして、工程1を起動し、正常終了してデータAとデータBが出力された場合、工程21の実行可能条件も、工程22の実行可能条件も満足するので、工程1の実行後の状態は、図17の一番右下の状態に変化する。
【0175】
では、ここまで説明した工程の実行と工程の状態変化に関する処理の流れを、図22と図23と図24のフローチャートを用いて、更に詳しく説明することにする。後述する他の実施形態においても、これらのフローチャートに示した処理が基本となっている。
【0176】
まず、図22は、設計者の操作による工程の選択と実行、そして工程内の作業数を変化させる処理に関する基本フローチャートである。
【0177】
メインパネル901上の領域902には、工程関連図として複数の工程が表示してあるものとする。ステップS121において、領域902で何が指示されたかを判別する。マウス104等により工程のいずれかが指示された場合には、ステップS122に進み、指示された工程を選択状態にし、ステップS123において、〔Start〕ボタン906のマスクを解除する。そして、ステップS124で、指示された工程の作業概略図を確定すると、ステップS125に進み、その作業概略図を表示する。
【0178】
この作業概略図が表示された状態において、ステップS121で〔Start〕ボタン906が選択されると、ステップS126で実行処理を行ない、ステップS127で〔Start〕ボタン906をマスクして、ステップS128で工程の選択状態を解除する。また、ステップS121で〔Cancel〕ボタン907が選択されると、ステップS129で作業概略図を非表示にし、ステップS130で〔Start〕ボタン906をマスクして、ステップS131で工程の選択状態を解除する。
【0179】
また、選択されている工程内に複数の作業が存在する場合に、ステップS121で「↓ボタン1102」が選択されると、ステップS132で作業概略図を確認し、ステップS133において、作業概略図内の作業数が1(すなわち、最小)であるかどうかを判別し、1の場合にはステップS135で作業を最大数にして、1でない場合にはステップS134で作業を1つ減らして、ステップS136で作業概略図を再表示する。そして、ステップS121で「↑ボタン1101」が選択されると、ステップS137で作業概略図を確認し、ステップS138において、作業概略図内の作業数が最大であるかどうかを判別し、最大の場合にはステップS140で作業を1にして、最大でない場合にはステップS139で作業を1つ増やして、ステップS141で作業概略図を再表示する。
【0180】
それでは、図23のフローチャートを用いて、ステップS126の実行処理について、更に詳しく説明する。
【0181】
実行処理を行っている際には、他の処理を並行して行うことはできないので、ステップS151において、メインパネル901をマスクする。メインパネル901をマスクするとは、実行処理中に、他の操作ができないようにパネルやボタンなどにロックをかけることである。ステップS152において、どの工程が選択されているのかを確認し、ステップS153において、選択状態だった工程を実行状態へ変更する。そして、ステップS154において、CADツールの起動時に使用する設計データが存在するかどうかを判別し、設計データが存在しない場合は、ステップS155でエラー処理を行い、処理を終了する。また、設計データが存在する場合には、ステップS156で作業場所(出力データを吐き出すディレクトリ)の確保の成否の確認を行い、失敗の場合には、ステップS155でエラー処理を行い、成功の場合には、ステップS157でバージョン管理の前処理( CADツール起動前のバージョン管理処理)を行う。次に、ステップS159で、CADツールの起動に必要な引数を設定する。このCADツールに関する情報や引数は、ルール情報702から獲得される。
【0182】
次に、ステップS161において、CADツールの起動の成否を判別する。起動が失敗した場合には、ステップS155のエラー処理を行ない、始動が成功した場合には、ステップS163で環境設定の成否を判別する。設定が失敗した場合には、やはり、ステップS155のエラー処理を行ない、設定が成功した場合には、ステップS166で、CADツールの終了処理を行って、ステップS167で処理結果を確認する。結果がエラーである場合には、ステップS155でエラー処理を行って、そうでない場合には、ステップS168に進む。
【0183】
次に、ステップS168において、バージョン管理の後処理( CADツール起動後のバージョン管理処理)を行い、ステップS169で工程状態を確認して、ステップS170でメインパネル901のマスクを解除する。最後に、ステップS171において、作業概略図を非表示にする。
【0184】
それでは、図24のフローチャートを用いて、ステップS155のエラー処理について、更に詳しく説明する。
【0185】
ステップS181で復元環境の削除を行い、ステップS182で選択している工程を非選択状態にして、ステップS183でメインパネル901のマスクを解除し、ステップS184で作業概略図を非表示にする。
【0186】
次に、図25 のフローチャートを用いて、ステップS157のバージョン管理の前処理について、更に詳しく説明する。
【0187】
ステップS191において、起動しようとするCADツールの入力対象となる前のバージョンのデータが存在するかどうかを確認する。前バージョンデータが存在しない場合には、ステップS155でエラー処理を行い、存在する場合には、ステップS192に進み、現バージョンを獲得する。そして、ステップS193において、現バージョンより一つ世代を進めた仮バージョンの作成を行い、ステップS194において、設計データの複写を主にして、環境復元を行う。但し、最初のバージョンを設定する場合のみは処理が異なり、その場合、仮バージョンを作成する処理と、起動環境を作成する処理のみとなる。
【0188】
更に、図26 のフローチャートを用いて、ステップS168のバージョン管理の後処理について、更に詳しく説明する。
【0189】
ステップS201において、CADツールの起動によって出力される設計データがあるかどうかを確認する。出力データが存在しない場合には、ステップS155でエラー処理を行い、存在する場合には、ステップS202に進み、CADツールの起動によって出力されるメッセージが、ある特定のメッセージでないかどうかを確認する。本実施の形態では、エラーを認識するメッセージと、正常終了するメッセージの2つパターンでチェックを行う。そして、ステップS204において、前処理のステップS193で作成された仮バージョンを現バージョンに引き上げる切換えを行い、ステップS205において、処理結果を確認する。結果がエラーである場合には、ステップS155でエラー処理を行って、そうでない場合には、ステップS206に進み、履歴管理処理を行う。
【0190】
次に、図27のフローチャートを用いて、このステップS206における履歴管理処理について、更に詳しく説明する。
【0191】
ステップS211において、現在登録されている履歴情報である履歴管理データの状態をチェックし、ステップS212において、CADツールから出力された設計データと、入力した派生データとの関係を関連付けて、派生データの登録処理を行い、ステップS213において、その登録結果を判別する。登録結果がエラーの場合には、ステップS155において、エラー処理を行い、そうでない場合には、ステップS214に進み、履歴管理情報データファイル401が存在するかどうかを判別する。ファイルが存在する場合には、ステップS215において、バックアップ管理処理を行い、ステップS216でファイルへの書き込みを行う。このバックアップ管理処理は、履歴ファイルに対する処理であり、「環境データ管理機能310」を通じて行う。また、履歴ファイルが存在しない場合には、そのままステップS216に進んでファイルへの書き込みを行い、ステップS217において、書き込み結果を判別する。書き込み結果がエラーの場合には、ステップS155において、エラー処理を行い、そうでない場合には、処理を終了する。
【0192】
このように、本実施の形態によれば、複数の工程を集約して管理し、その各工程の状態を設計者が容易に識別することができるようにしている。
【0193】
また、実行することによって状態が変化する工程を、色を変えて表示することにより、設計者が工程の状態変化を容易に認識できる。
【0194】
また、工程内の作業の設定ができるので、より柔軟性のある設計が可能になる。
【0195】
(第2の実施形態)
次に、第1の実施形態に関連した変形例を挙げ、第2の実施形態として説明する。
【0196】
第1の実施形態では、実行不可能状態の工程が出現した場合、その次工程は必ず、実行不可能状態になっていたが、そのようにならない場合の実施形態を、第2の実施形態として挙げた。
【0197】
図14における工程1と工程22の間の矢印の向きを上方向にして、工程1と工程22で生成したデータが工程21で使用されるような場合、すなわち、複数の工程の処理を実行した場合の、それらの次工程である1つの工程の状態の変化について、図28を用いて説明する。
【0198】
図28は、工程1と工程22を実行した場合の工程状態の変化を示す図である。
【0199】
この図28の下部においては、メインパネル901上の領域902における工程1と工程21と工程22の部分を、領域1002として取り出して表示している。
【0200】
工程1及び工程22と、その次工程である工程21の関係においては、2つの状態からの工程実行が可能であり、図28の上部においては、左側には、工程1だけが実行可能状態である場合、右側には、両方とも実行可能状態である場合を示す。なお、左から右への一方向性を持つといった設計工程の概念から逸脱するため、工程1が実行不可能状態で、工程22が実行可能状態であるということはあり得ない。よって、この場合は除外している。
【0201】
そして、この2つの状態において、工程1と工程22のそれぞれ、または両方の実行が正常終了する際に、工程21の実行可能条件を検証する。工程21の検証により、実行可能条件を満たしたその時点で、工程21は実行可能状態に変化する。
【0202】
具体的には、まず、工程1が実行可能状態で、工程22が実行不可能状態である場合に、工程1が正常終了し、工程21の実行可能条件を満たすと、工程21は実行可能状態へと変化し、また、工程1と工程22が共に実行可能状態である場合に、工程1と工程22が共に正常終了し、共に工程21の実行可能条件を満たす場合には、工程21は実行可能状態へと変化する。
【0203】
(第3の実施形態)
次に、第1の実施形態に関連した変形例を挙げ、第3の実施形態として説明する。
【0204】
第3の実施形態は、複数の工程の実行が、複数の次工程の状態を変化させる場合の実施形態である。工程状態の検査方法については、これまでのものと何ら変わる所はない。
【0205】
図14における工程3と工程42の間の矢印の向きを下方向にして、工程3と工程43の間の矢印の向きを上方向にして、工程41と工程42と工程43で生成したデータが、工程41を介して、工程51と工程52で使用されるような場合の工程の状態の変化について、図30を用いて説明する。
【0206】
図30は、工程41、42、43を実行した場合の工程状態の変化を示す図である。
【0207】
この図30の上部においては、メインパネル901上の領域902における工程41と工程42と工程43の部分を、領域1004として取り出して表示し、工程41と工程51と工程52の部分を、領域1005として取り出して表示している。
【0208】
工程41が実行可能である場合、工程42と工程43のそれぞれの工程で生成された設計データが、工程41で利用されるので、工程42と工程43は、双方とも実行可能状態でなければならない。図30においては、工程41と42と43が全て実行可能状態である場合の領域1005の状態変化示す。
【0209】
ここで、工程41、工程42、工程43のそれぞれの実行が正常終了の場合に、工程51、工程52の実行可能条件を検証する。工程51、工程52それぞれの実行可能条件を満たした時点で、工程の状態は実行可能状態に変化する。この状態変化に関しては、既に述べたものと同じようにすればよい。
【0210】
(第4の実施形態)
前述した工程内の作業とは、いわゆるプログラムであり、作業として利用されるプログラムは、プログラム記憶装置111内に既に用意されている候補の中から選定できるようになっており、このようなプログラムのことを、本実施の形態では、CADツールと呼んでいる。以下、このCADツールの選定処理について、詳しく説明することにする。
【0211】
まず、CADツールを選定する場合には、キーボード102やマウス104等の入力装置の指示により、CRTディスプレイ103上のメインパネル901上において、図33に示すようなCADツール選定パネル1301を表示して、このCADツール選定パネル1301上で、各工程に対応するCADツールの選定や変更を行う。通常は、各工程に、デフォルトのCADツールが予め指定されている。
【0212】
図33は、メインパネル901上に表示されたCADツール選定パネル1301を示す図である。
【0213】
この図33において、CADツール選定パネル1301の三角印のボタン1302は、サブウインドウ表示ボタンであり、マウス104などの入力装置によってこのボタンが指示されることにより、ボタンの右側のテキスト領域に表示されるべきCADツールの候補を複数表示した、図34に示されるような、サブウインドウ1305がCADツール選定パネル1301上の任意の位置に表示される。
【0214】
また、1303は、選択を確定するための〔OK〕ボタンであり、1304は、キャンセルを指示するための〔Cancel〕ボタンである。
【0215】
ここで、CADツール選定パネル1301上に表示された複数のCADツールは、"<MainFlow Tool>"と"<SubFlow Tool>"の2つに別れているが、例えば、図13においては、「ESDA」から「Release」に至る一連の工程群が「Main Flow」であり、「Timing」などの補助的に加わっている工程群が「Sub Flow」ということになる。
【0216】
また、CADツール選定パネル1301における左側の項目は、図13の画面上に表示された各工程を示している。
【0217】
そして、各工程の実行時においては、このCADツール選定パネル1301で選定したCADツールが、サブウインドウ表示ボタン1302の右側のテキスト領域に表示され、工程内の作業を実施するためのプログラムとして起動される。
【0218】
図33のCADツール選定パネル1301上で、"VHDLSimulation tool"に対応するCADツールを変更する場合の操作例を挙げる。"VHDLSimulation tool"の右隣のサブウインドウ表示ボタン1302を指示して、図34に示したような設定サブウインドウ1305を表示させ、今回の操作で変更するCADツールを、キーボード102やマウス104などの入力装置で指示する。仮に、図34のように"toolJ"を指示した場合、設定サブウインドウ1305は非表示となり、図35に示したように、CADツール選定パネル1301上の"VHDLSimulation tool"の行におけるテキスト領域に、"toolJ"の文字が表示される。なお、他の工程に対してCADツールを変更する場合にも、同様の処理により、変更処理を実現することができる。
【0219】
CADツールの選択終了後、変更内容を更新して、変更操作を終了するには、CADツール選定パネル1301右下の〔OK〕ボタン1303を指示すればよい。〔OK〕ボタン1303指示後は、CADツール割当情報802の変更処理、そして、工程状態の再検査処理を実行する。
【0220】
逆に、変更した内容を無視して、変更操作を終了するには、CADツール選定パネル1301右下の〔Cancel〕ボタン1304を指示する。〔Cancel〕ボタン1304指示後は、パネルは非表示となり、テキスト領域には、元のCADツールが表示される。
【0221】
そして、CADツールの選定処理後に、CADツール割当情報802の変更処理が実施される。ただし、CADツール選定処理において、結局、CADツールの変更が全く行われなかった場合には、この処理は行われない。
【0222】
図36は、CADツールの選定処理とCADツール割当情報802の変更処理に関する処理の流れの概略を示した図である。
【0223】
ハードディスク装置105内に格納されたCADツール割当情報802は、図36の左上に示すようなものとする。このCADツール割当情報802により、どの工程がどのCADツールを起動するかを、容易に把握することができる。したがって、CADツール情報の変更処理は、前述したCADツール変更処理によるCADツールの変更に基づいて、このCADツール割当情報802の変更を行う処理である。
【0224】
図36において、CADツール割当情報802は、工程とCADツールとの関係を示すテーブルのようなものであり、上図は変更前の状態を示し、下図は変更後の状態を示す。また、ここでは便宜的に、工程関連図を構成する工程を、工程A、工程B、…工程Xのようなアルファベット名で表現した。
【0225】
前述したCADツール選定処理により、例えば、工程BのCADツールが、「bbb」から「BBB」に変更された場合、CADツール選定処理の終了時に出力される工程とCADツールに関するデータが、図36に示すような、「工程B=bbb」の関係から「工程B=BBB」へ変更される。そして、この変更結果が、CADツール割当情報802に書き込まれ、図36に示すように、CADツール割当情報802は、上図から下図のように変更される。
【0226】
また、前述したCADツール選定処理により、CADツールが変更された工程において、その次工程で必要とするデータが生成されていなければ、次工程以降の工程状態が変化してしまう。従って、工程内のCADツールを変更した場合には、各工程の状態検査処理を再び実行する必要がある。以下、図37を用いて、状態検査処理について詳しく説明する。
【0227】
図37は、CADツールの選定処理後の状態検査処理について示した図である。
【0228】
まず、図37の左上の状態において、工程21で起動するCADツールをCADツールAであるとする。ここで、工程3は実行可能状態であり、工程21すなわちCADツールAで生成されたデータAが、工程3の実行可能条件となっている。
【0229】
さて、前述したCADツール選定処理により、この工程21で起動するCADツールをCADツールAからCADツールBに変更した場合に、各工程に対して工程1から順に、再度状態検査を行う。工程21で起動するCADツールBがデータAを生成していない場合には、工程3の実行可能条件を満たせないので、工程3は実行不可能状態になる。
【0230】
それでは、この各工程に対応するCADツールの選定や変更に関する処理の流れを、図38のフローチャートを用いて、以下に細かく説明することにする。
【0231】
図38は、CADツールの選定や変更に関する処理のフローチャートである。
【0232】
ステップS231において、設計者によるツール変更指示を受け、ステップS232において、CADツール選定パネル1301を表示し、ステップS233において、メインパネル901をマスクする。そして、ステップS234において、既に設定されたCADツールがあるかどうかを判別し、ある場合には、ステップS235で、既存設定のCADツールを獲得し、ない場合には、ステップS236で、「環境データ管理機能310」を介してデフォルトのCADツールを獲得して、ステップS237に進み、獲得したCADツールを表示する。
【0233】
そして、ステップS238において、どのような指示が行われたのかを判別し、CADツールの変更が指示された場合には、ステップS239に進み、CADツール選定パネル1301上で変更するCADツールを選択し、ステップS240でテキスト領域に選択されたCADツール名を表示する。そして、ステップS238の指示待ち状態に戻る。
【0234】
また、ステップS238において、〔OK〕ボタン1303が選択されると、ステップS243に進み、CADツールの設定情報が確定され、CADツール割当情報802を更新する。次に、ステップS244において、既存設定のCADツールがあるかどうかを確認し、ある場合には、そのバックアップ処理を行って、ステップS246に進み、ない場合には、そのままステップS246に進む。次に、ステップS246において、更新したCADツール割当情報802をハードディスク装置105に保存し、ステップS247において、メインパネル901のマスクを解除して、ステップS246において、CADツール選定パネル1301を非表示とする。
【0235】
また、ステップS238において、〔Cancel〕ボタン1304が選択されると、ステップS241に進み、ステップS241において、メインパネル901のマスクを解除して、ステップS242において、CADツール選定パネル1301を非表示とする。つまり、設定しようとしたCADツールを破棄するのである。
【0236】
このように、本実施の形態によれば、各工程内のCADツールの設定が、極めて容易に行える。
【0237】
また、メインフローとサブフローを分けて表示することにより、設計者が両者を容易に識別することができる。
【0238】
また、複数表示される候補の中なら所望のものを選択することができるので、選択処理が効率化する。
【0239】
また、CADツール変化後の工程状態が、直ちに検証されるので、設計者は各工程の状態変化を容易に識別することができる。
【0240】
また、選択処理の際には、パネルがマスクされるので、誤動作を防止することができる。
【0241】
(第5の実施形態)
前述した工程内の処理で使用されるASIC(本実施形態では、ターゲットと呼んでいる)は、ハードディスク装置105内に既に用意されている候補の中から選定できるようになっている。以下、このターゲットに関する情報、いわゆるターゲット情報803の設定処理について、詳しく説明することにする。
【0242】
まず、ターゲット情報803を設定する場合には、キーボード102やマウス104等の入力装置の指示により、図39に示すようなターゲット情報設定パネル1501を表示する。本実施の形態では、メインパネル901上のボタン群904の〔Target〕ボタンが選択された場合や、プロジェクトを新規登録する際にターゲット情報が設定されていない場合に開始される。
【0243】
図39は、メインパネル901に重ねて表示されるターゲット情報設定パネル1501を示す図である。
【0244】
この図39において、ターゲット情報設定パネル1501の上部の領域1502は、ベンダ名の設定領域であり、右側の空白部分は、テキスト領域であり、後述する設定サブウインドウ1508で選択したベンダ名を表示する。また、「Vendor:」の右隣にある三角印のボタン1503は、サブウインドウ表示ボタンであり、マウス104などの入力装置によってこのボタンが指示されることにより、ボタンの右側のテキスト領域に表示されるべきベンダ名の候補を複数表示した、図40に示されるような、設定サブウインドウ1508がターゲット情報設定パネル1501上の任意の位置に表示される。
【0245】
また、1504は、「Vendor」、「SeriesType」、「SeriesName」、「Package」、「PinNum」の5つのターゲットの詳細項目を表示する詳細項目表示エリアであり、1505は、領域1504に表示される詳細項目の候補を表示する候補表示エリアである。
【0246】
また、1506は、選択を確定するための〔OK〕ボタンであり、1507は、キャンセルを指示するための〔Cancel〕ボタンである。
【0247】
図39のターゲット情報設定パネル1501は、まだターゲット情報が設定されていない場合のパネルである。この状態から以下の要素を設定することにより、使用するターゲットを確定する。ターゲットの詳細項目は、領域1504における「Vendor」、「SeriesType」、「SeriesName」、「Package」、「PinNum」の5つであり、これらの設定は、この順序で行うものとする。以下、その設定手順を示す。
【0248】
領域1502のラベル「Vendor」は、ASICベンダを示すものである。「Vendor」の右横のサブウインドウ表示ボタン1503がマウス104などの入力装置により指示されると、図40に示されるような、ASICベンダを複数表示した設定サブウインドウ1508を、ターゲット情報設定パネル1501上に表示する。
【0249】
ここで、図40のように、"F社"を指示した場合、設定サブウインドウ1508は非表示となり、図41に示したように、ターゲット情報設定パネル1501上の領域1502の右側のテキスト領域に、"F社"の文字が表示される。
【0250】
ベンダ名の確定により、図41のように、候補表示エリア1505に、次の確定項目である「SeriesType」の詳細項目を候補として表示する。設計者が所望の候補をマウス104等の入力装置で指示すると、「SeriesType」は確定し、図42のように、その詳細項目が詳細項目表示エリア1504に記され、同時に、候補表示エリア1505に「SeriesType」の次の確定項目である「SeriesName」の詳細項目を表示する。その際、ハードディスク105内の「SeriesType」のデータを読み込んで、「SeriesName」以下を含めた情報を、自由に取り出せるように、データ記憶装置110上に確保する。なお、これらの情報を読み込むのは、「SeriesType」の確定時に限定しないものとする。同様の方法で、「SeriesType」を確定すると、図43のように、「Package」と「PinNum」の要素を候補表示エリア1505に表示する。そして、全項目を確定すると、図44のような状態になる。
【0251】
確定した内容を、ターゲット情報803として更新した後、終了するためには、〔OK〕ボタン1506をマウス104等で指示する。逆に、設定した詳細項目を破棄して終了するためには、〔Cancel〕ボタン1507をマウス104等で指示する。また、ターゲット情報803のハードディスク装置105への保存については、後で説明する。
【0252】
また、図39のような初期状態のターゲット情報設定パネル1501に対して、図44のように、既にターゲット情報803が確定している場合からの処理について述べる。
【0253】
通常、図44のようなターゲット情報803が確定している状態では、「Package」と「PinNum」の変更は、先程と同様の方法で、パネル右側の候補表示エリア1505を操作するだけでよい。
【0254】
また、図44のターゲット情報設定パネル1501の状態からベンダ名を変更する場合は、領域1502の"Vendor:"ラベルの右隣にあるサブウインドウ表示ボタン1503をマウス104などの入力装置を用いて指示し、以後の確定までの操作は、先程と同様である。ベンダ名の確定後は、それまで設定されていたその他の項目を初期化し、図41に示すようなパネルの状態から確定を進めていく。
【0255】
また、図44のターゲット情報設定パネル1501の状態から、パネル右側の候補表示エリア1505の"-UP-"を選択した場合、「Package」と「PinNum」の項目の確定表示を初期化し、1つ前の詳細項目である「SeriesName」を候補表示エリア1505に表示する。そして、パネルの状態は、図42のようになる。
【0256】
また、さらに"-UP-"を選択した場合には、さらに確定操作が1つ戻り、「SeriesName」のいずれかの候補を選択すれば、確定操作が1つ進んで、図43の状態になる。なお、「SeriesType」確定時に、"-UP-"の要素を確定した場合には、ターゲット情報設定パネル1501が初期状態に戻る。
【0257】
このようにして、既存の設定内容を変更することができる。
【0258】
また、ターゲット情報803の設定または変更処理を行うと、ハードディスク装置105内に、設定または変更されたターゲット情報803を保存する。ここでいうターゲット情報803とは、ターゲットを確定するための値の総称のことで、前述した5項目(「Vendor」から「PinNum」まで)を指す。これらのターゲット情報803は、また、図8の設定変更の概略で示す設定変更情報701の内容を更新する。
【0259】
図45は、ターゲット情報803の選定処理と保存に関する処理の流れの概略を示した図である。
【0260】
図45の左上にある変更前のターゲット情報803に対して、詳細項目設定処理により、新しいターゲット情報が確定する。そして、現状のターゲット情報を、確定した新しいターゲット情報に変更する形で、新しいターゲット情報をハードディスク装置105に書き込む。
【0261】
ターゲット情報803の確定または変更により、工程状態の再検査をしなければならない。それは、工程状態を決定する実行条件の中に、ターゲット情報803が含まれる場合があるからである。例えば、Aというチップを用いる場合には、データAが実行条件として必要で、Bというチップを用いる場合には、データBが実行条件となることがありうるのである。以下に、その一例について説明する。
【0262】
図46は、ターゲット情報803設定処理後の状態検査処理について示した図である。
【0263】
図46の左上の工程状態において、工程21で起動するCADツールはCADツールAである。工程3は、工程21でCADツールAが生成したデータAを実行可能条件とするので、工程21でデータAが生成されている場合、工程3は実行可能状態になる。
【0264】
ここで、図46に示したようなターゲット情報803の設定変更を行うことで、工程3の実行条件が、データAからデータBへと変化することになる。この変更処理後に、工程1から再度、状態検査を行うと、工程21でデータBは生成されていないので、工程3の条件を満たすことができない。よって、工程3は図46の右上の工程のように、実行不可能状態に変化する。
【0265】
ただし、工程状態の変化は、工程の実行条件により異なるため、必ずしも前述のようになるとは限らない。つまり、工程状態に変化がない場合もありうるし、2つ以上の工程状態が変化する場合もありうる。
【0266】
それでは、ターゲット情報設定パネル1501を用いたターゲット情報803の設定処理の流れを、図47、図48、図49のフローチャートを用いて、以下に細かく説明することにする。
【0267】
図47は、ターゲット情報設定パネル1501を用いたターゲット情報803の設定処理のフローチャートである。
【0268】
ステップS251において、メインパネル901をマスクする。そして、ステップS252において、ターゲット情報設定パネル1501を表示し、ステップS253において、ターゲット情報設定パネル1501上に既にデータが存在しているかどうかを判別し、データが存在する場合には、ステップS254に進み、変更設定を行い、データが存在しない場合には、ステップS255に進み、初期設定を行う。
【0269】
次に、図48のフローチャートを用いて、ステップS255における初期設定の処理の流れについて、更に詳しく説明することにする。
【0270】
なお、このターゲット情報803の設定は常に、上位から下位へ向かって行われる。すなわち上位のデータを決定すれば、下位のデータの候補が確定できるのである。これは、ステップS254の変更設定の場合でも同様である。
【0271】
ステップS261において、どのような指示を受けたかを判別する。ここで、ASICベンダ名の指示が行われた場合には、ステップS262において、〔OK〕ボタン1506をマスクし、ステップS263において、詳細項目表示エリア1504を初期化して、ステップS264において、指示したベンダ名を認識する。次に、ステップS265において、「環境データ管理機能310」を通して、使用するベンダ名が登録されているベンダデータファイル504の中に、指定されたベンダがあるかどうかの判別を行い、ある場合には、ステップS266でそのベンダ情報を獲得し、ステップS267で、そのベンダ名を表示して、ステップS268で、候補表示エリア1505に詳細項目のリストを表示する。そして、この処理を終了すると、ステップS261の指示待ち状態に戻る。
【0272】
また、ベンダ名の指定後、ステップS261において、詳細項目(ここでは、ASICベンダ名以外の情報)の設定が行われた場合には、ステップS270において、リスト上で選択された項目に対しての判断処理を行う。ここで、候補表示エリア1505において、設定操作を1つ上位へ戻す意味を持つ特殊文字である「UP」が指示されると、ステップS276に進み、候補表示エリア1505には、次項目リストを再表示して、ステップS277において、詳細項目表示エリア1504の対応するテキスト領域を初期化して、ステップS261に戻る。また、それ以外のリスト項目が指示されると、ステップS271に進み、詳細項目表示エリア1504の対応するテキスト領域に、指定された項目の表示を行い、ステップS273で、候補表示エリア1505に、次項目リストの再表示を行う。更に、ステップS274で、指定された詳細項目が最終設定項目かどうかを判別し、最終設定項目である場合には、ステップS275で、詳細項目が全て確定されたとみなして、〔OK〕ボタン1506のマスクを解除し、ステップS261に戻る。設定すべき詳細項目が残っている場合には、そのままステップS261に戻る。
【0273】
また、全ての詳細項目の設定終了後、ステップS261において、〔OK〕ボタン1506の選択が行われた場合には、ステップS278に進み、設定したターゲット情報803を確定して、ステップS279において、前のターゲット情報が存在しているかどうか確認する。存在する場合には、ステップS280において、バックアップ処理を行い、ステップS281に進む。存在しない場合は、そのままステップS281に進む。そして、ステップS281において、設定したターゲット情報803をハードディスク装置105に保存して、ステップS282において、ターゲット情報設定パネル1501を非表示にし、ステップS283において、メインパネル901のマスクを解除して、処理を終了する。
【0274】
また、全ての詳細項目の設定終了後、ステップS261において、〔Cancel〕ボタン1507の選択が行われた場合には、ステップS284に進み、ターゲット情報設定パネル1501を非表示にして、ステップS285において、メインパネル901のマスクを解除して、処理を終了する。つまり、設定内容を無効にして設定処理を終了する。
【0275】
次に、図49のフローチャートを用いて、ステップS254における変更設定の処理の流れについて、更に詳しく説明することにする。
【0276】
これは、既に設定されたターゲット情報803が存在する場合の処理である。
【0277】
まず、初期設定の処理の場合と比べて、設定されたターゲット情報803の読み込みが必要である。ステップS291において、ターゲット情報803の読み込みを行う。ステップS292において、読み込み結果を判別し、読み込みに失敗した場合には、図48の▲1▼で示したフローへ移行する。また、読み込みに成功した場合には、ステップS293において、ベンダ名のテキスト領域1502に、読み込んだターゲット情報803中のベンダ名を、そして、詳細項目表示エリア1504に、その詳細項目を表示する。そして、ステップS294において、どのような指示を受けたかを判別する。
【0278】
ここで、ASICベンダ名の指示が行われた場合には、図48の▲2▼で示したフローへと移行し、〔OK〕ボタン1506が選択された場合には、図48の▲4▼で示したフローへと移行し、〔Cancel〕ボタン1507が選択された場合には、図48の▲5▼で示したフローへと移行する。
【0279】
そして、ステップS294において、詳細項目の設定が行われた場合には、ステップS295において、リスト上で選択された項目に対しての判断処理を行う。候補表示エリア1505で、設定操作を1つ上位へ戻す意味を持つ特殊文字である「UP」が指示されると、ステップS297に進み、〔OK〕ボタン1506をマスクし、ステップS298において、候補表示エリア1505に、次項目リストを再表示して、ステップS299において、詳細項目表示エリア1504の対応するテキスト領域を初期化して、図48の▲2▼で示したフローへ移行する。また、候補表示エリア1505で、それ以外のリスト項目が指示されると、ステップS296に進み、詳細項目表示エリア1504のテキスト領域に、指示された項目の表示を行い、図48の▲2▼で示したフローへ移行する。
【0280】
このように、本実施の形態によれば、ターゲット情報の設定が、極めて容易に行える。
【0281】
また、ベンダ名や詳細情報を、階層化して選択できるようにしたので、設計者が段階的に情報の選択を行うことができる。
【0282】
また、複数表示される候補の中なら所望のものを選択することができるので、選択処理が効率化する。
【0283】
また、選択の階層を上に戻すこともできるので、選択を間違えた場合の修正が、容易に行える。
【0284】
また、ターゲット情報設定後の工程状態が、直ちに検証されるので、設計者は各工程の状態変化を容易に識別することができる。
【0285】
また、選択処理の際には、パネルがマスクされるので、誤動作を防止することができる。
【0286】
(第6の実施形態)
次に、図31の工程1と工程21の実行を例にとって、第6の実施形態について、以下に具体的に説明することにする。
【0287】
図31は、領域902における工程関連図の一例である。
【0288】
この図31においては、全ての工程が、実行可能状態になっているものとして、太線で囲まれている。
【0289】
ここで、工程21の前工程は工程1と工程22であり、工程21の実行可能条件は、工程1で生成されるデータであるとする。すると、工程22を実行した場合には、工程21の状態は変更しないため、工程関連図に変化は起こらない。これは正しい状態であるといえる。
【0290】
しかしながら、工程1の実行でデータが生成されなくなった場合には、工程21が実行不可能状態になるのにもかかわらず、工程21以降の検証を行わないと、工程21以降の工程の状態は、そのまま実行可能状態のままになってしまい、矛盾する状態が生じる。
【0291】
そこで、この問題を解消するためには、実行した工程の次工程以降の工程を、順次検証しなければならない(このような場合の検証については、図16を参照)。
【0292】
このような検証を行うと、複数回の実行処理によりバージョンが変化した工程1の実行によりバージョンの異なるデータが生成された場合、工程1からのデータが実行可能条件である工程21は実行可能状態になるが、工程21で生成されるデータは、工程1によって生成された前のバージョンのデータによって生成されたものであるので、工程21で生成されるデータと、今回の実行処理で工程1から出力されるデータとの間には派生関係(後で詳述する)はなく、工程3以降の工程は、全て実行不可能状態となる。
【0293】
ちなみに、工程1の実行でデータを生成しなかった場合、工程21もデータを生成しないため、工程21以降の工程は、全て実行不可能状態に変化する。更に、工程22を実行する場合、工程21に何の影響も与えないので、工程21以降の工程を検証しても、全ての工程は、実行可能状態のまま変化しない。
【0294】
では、ここで、上述した「派生関係」について、簡単に説明する。本設計管理装置101においては、「データ管理機能201」の派生管理機能300−2が、データの「派生関係」を管理している。
【0295】
これは、言うなれば、生成されるデータが、どのデータを元にしているかを管理するものである。つまり、上記の例の場合、バージョン変更後の工程1が生成したデータに基づいて、現状の工程21のデータが生成されているわけではないので、実行を許可しないのである。
【0296】
本実施の形態においては、この「派生関係」も、実行可能条件の1つとしている。
【0297】
このようなデータの「派生関係」は、工程の処理によるバージョンの変化によって変わっていくものであり、その処理の流れについては、図25と図26のフローチャートにおいて、バージョン管理処理として既に詳しく説明されているので、それを参照されたい。
【0298】
ここで、図32の概略図を用いて、第4の実施形態で説明したCADツール選定処理を行った場合の、データの「派生関係」の変化ついて、具体的に詳しく述べることにする。
【0299】
まず、図32において、工程1で生成したバージョンv1のデータ1(データ1v1−1201)に基づいて、工程21で、CADツールBがバージョンvB1のデータA(データAvB1−1204)を生成する。このような場合、両データの間には「派生関係」が生じている。
【0300】
この状態で、CADツール選定処理により、工程21のCADツールをCADツールBからCADツールAに変更すると、変更した時点では、工程21のCADツールAにデータAは存在しない。そこで、工程1を実行することにより出力されるデータ1のバージョンが、バージョンv1からバージョンv3に変化すると、バージョンv3のデータ1(データ1v3−1202)に基づいて、CADツールAがバージョンvA1のデータA(データAvA1−1203)を生成する。すると、バージョンv3のデータ1(データ1v3−1202)とバージョンvA1のデータA(データAvA1−1203)との間に、「派生関係」が生じている。
【0301】
さらに、工程21のCADツールをCADツールAからCADツールBに戻す。その時点では、工程1の持つデータは、バージョンv3のデータ1(データ1v3−1202)で、工程21の持つデータは、バージョンvB1のデータA(データAvB1−1204)となる。この両者の間には「派生関係」が存在しないため、CADツールBは、再度、バージョンvB2のデータA(データAvB2−1205)という、バージョンv3のデータ1(データ1v3−1202)に基づくデータを生成し、「派生関係」を作る必要がある。
【0302】
このような処理の流れで、CADツール選定処理により、工程状態が図37の右上の工程状態へと変化する。工程状態の変化は工程の実行条件により異なるため、必ずしも前述のようになるとは限らない。つまり、工程状態に変化がない場合もありうるし、2つ以上の工程状態が変化する場合もありうる。
【0303】
例えば、図37において全工程が実行可能状態の場合に、前述したように、工程2のCADツールをCADツールAからCADツールBに変更した際に、CADツールBがデータAを保持しなかったり、データ1との間に派生関係を持っていない場合には、工程3は実行不可能状態になる。また、同時にその後の工程も、前述した状態検査処理の結果、全て実行不可能状態になる。
【0304】
次に、図71〜図75を用いて、データ間の「派生関係」を示す情報(以下、派生関係情報)の管理方法について、更に詳しく説明することにする。図71〜図75においては、単純に、工程1、工程2、工程3の3つの工程が、この順序で順次処理されていくモデルを考える。
【0305】
図71〜図74は、データ間の派生関係情報の管理方法を示した図である。
【0306】
この図71において、工程1にはプログラムAが、工程2にはプログラムBが割り当てられているとする。プログラムAを用いて工程1の処理を実行することでデータ1.01を生成する。また、工程1で生成されたデータ1.01に対して、プログラムBを用いて工程2の処理を実行することでデータ2.01を生成する。この時、データ1.01とデータ2.01の間には「派生関係」が成り立つ。本実施形態では、この派生関係情報を、各工程毎に、データ記憶装置110に記憶する。
【0307】
まず、工程1の場合は、派生元データが存在しないため、
NoData→プログラムA:データ1.01
の関係で認識する。工程2の場合は、データ1.01を派生元データとするため、
プログラムA:データ1.01→プログラムB:データ2.01
の関係で認識する。ここで示す表現は、説明上わかりやすく示したものにすぎず、データ記憶装置110内のデータ構成を示すものではない。また、ここでは、CADツール(プログラム)と、その実行により生成されるデータのみが認識されて、その「派生関係」が表現されているが、もちろん、これ以外の条件が加味される場合もある。
【0308】
本実施形態では、これら派生関係情報と、各工程で生成されるカレントデータ(最新データ)のバージョン情報の関係から、「派生関係」の有無を検証する。例えば、図71においては、工程2のカレントデータであるデータ2.01と工程1のカレントデータであるデータ1.01の間には、「派生関係」があると言える。
【0309】
次に、図71の状態から、図72に示すように、工程2に割り当ててあるプログラムをプログラムBからプログラムCに変更すると、工程2は2つのデータの流れを持つことになる。1つは、プログラムBによりデータが更新されていく流れであり、もう1つは、プログラムCによりデータが更新されていく流れである。工程2に割り当ててあるプログラムの変更後、プログラムCにより工程2を実行すると、図72に示すように、データ2.01というデータが生成され、このデータがカレントデータとなる。従って、派生関係情報は、
プログラムA:データ1.01→プログラムC:データ2.01
の関係で認識される。データを生成したプログラムが異なるものの、派生元データは同じであるので、データに付属する2.01というバージョン番号は、プログラムBの場合と変わらない。
【0310】
ここでプログラムBとプログラムCのデータの流れを示したが、もちろん、2つの流れに限定されるものではなく、それ以上であっても構わない。
【0311】
次に、図72の状態から、図73に示すように、再度、工程1、工程2の順で、それぞれの工程においてデータを再生成する。それぞれのデータのバージョンは1つ増加する(以後、バージョンアップと呼ぶ)。つまり、図73のように、工程1ではデータ1.02へバージョンアップし、工程2ではデータ2.02へとバージョンアップする。この時、工程2のカレントデータであるデータ2.02の派生関係情報は、
プログラムA:データ1.02→プログラムC:データ2.02
の関係で認識される。この関係から読み取れるように、工程2のカレントデータであるデータ2.02と工程1のカレントデータであるデータ1.02の間には、「派生関係」があると言える。
【0312】
最後に、図73の状態から、もう一度、工程2で実行するCADツールを、プログラムCからプログラムBに変更する。すると、工程1のカレントデータはデータ1.02のままだが、工程2のカレントデータは、CADツールの変更によってプログラムBのデータの流れに戻り、データ2.01となってしまう。この時、工程2のカレントデータであるデータ2.01の派生関係情報は、
プログラムA:データ1.01→プログラムB:データ2.01
であり、工程1のカレントデータであるデータ1.02とは、「派生関係」がないと言える。
【0313】
そこで、工程1のカレントデータとの間に派生関係を成立させるためには、工程2の再実行が必要になる。図74に示したように、工程2の再実行により、工程2のカレントデータは、データ2.02と変化するので、工程1のカレントデータであるデータ1.02との間に「派生関係」が成立する。
【0314】
それでは、この工程処理の一連の流れに関連して、工程1、工程2、工程3の各工程の実行可能状態の移り変わりについて、以下に詳しく述べることにする。
【0315】
図75は、工程状態の移り変わりとデータのバージョン情報の変化を示した図である。
【0316】
この図75において、工程2の実行可能条件は、工程1でのデータ1.xxの生成であり、工程3の実行可能条件は、工程2でのデータ2.xxの生成であるとする。また、初期状態として、各工程において、まだデータが生成されていない状態を考える。
【0317】
では、以下に示す8つの処理における「派生関係」と工程状態の移り変わりについて説明する。
(1) 工程1を実行し、データ1.xxを生成する(以後、工程の実行では必ず正常終了し、必要なデータを生成するものと仮定する)。
(2) 工程2を実行する。
(3) 工程2に割り当てられたツールをプログラムBからプログラムCに変更する。
(4) 工程2を実行する。
(5) 工程1を実行する。
(6) 工程2を実行する。
(7) 工程2に割り当てられたツールをプログラムCからプログラムBに変更する。
(8) 工程2を実行する。
【0318】
ここで、まず、工程1のみが実行可能状態であったものが、(1)により、工程2も実行可能状態に変化する。次に、(2)により、工程3も実行可能状態に変化する。次に、(3)により、工程1のカレントデータと工程2のカレントデータとの間に「派生関係」がなくなるため、工程3は実行不可能状態なる。そして、(4)により、工程1のカレントデータと工程2のカレントデータとの間に「派生関係」ができるので、工程3は再度実行可能状態になる。
【0319】
更に、(5)により、工程1のカレントデータと工程2のカレントデータとの間に「派生関係」がなくなるため、工程3は再度実行不可能状態になる。そして、(6)により、工程1のカレントデータと工程2のカレントデータとの間に「派生関係」ができるので、工程3は再度実行可能状態になる。次に、(7)により、工程1のカレントデータと工程2のカレントデータとの間に「派生関係」がなくなるため、工程3は再度実行不可能状態になる。そして、最後に、(8)により、工程1のカレントデータと工程2のカレントデータとの間に「派生関係」ができるので、工程3は再度実行可能状態になる。
【0320】
このように、本実施の形態によれば、実行可能条件として、データのバージョンの違いも考慮したので、工程状態の検証の際に、より正確な検証を行うことができる。
【0321】
(第7の実施形態)
本実施形態における入出力バッファ情報の変更処理を行うためには、本設計管理プログラム112によって実行される工程群の中に、入出力バッファ情報を含むHDL(ハードウエア記述言語)を生成する工程と、生成されたHDL内の入出力バッファ情報を変更する工程の2つの工程を含むことが必須である。また、本実施形態における入出力バッファ情報は、FPGAを含むASICで使用するものとし、図8における入出力バッファ情報801と同一であるものとする。
【0322】
以下、この入出力バッファ情報の変更処理について、図50〜図61を用いながら、詳しく説明する。
【0323】
図50は、工程群表示領域902中の工程関連図における工程1と工程3の作業内容を、作業内容表示領域903に表示したものである。
【0324】
この図50の工程関連図においては、まず、工程1において、HDLの生成を行い、次に、工程3において、工程1で生成されたHDL内の入出力バッファ情報を変更してから、HDLのデータを別データに変換するといった例を示している。なお、工程3で変換された別データを用いて、再度、入出力バッファ情報の変更を行うことも可能である。
【0325】
ここで、図50における工程1と工程3の作業内容について、詳しく説明する。
【0326】
まず、工程1のHDLの生成処理では、設計者の入力指示により、入出力バッファ情報を含むHDLのファイルであるデータAを生成する。このデータAは工程21を経て、工程3で使用される。この工程1において、データAの生成は、どのような方法で行われても構わない。例えば、電気CADベンダが市販しているような設計ツールを用いても、テキストエディタを用いてもよい。また、工程1に限らず、他の工程でHDLを生成しても構わないが、HDLの生成処理は、必ず、入出力バッファ情報の変更処理よりも先に行われなければならない。それは、HDLが入出力バッファ情報を含むからである。
【0327】
次に、工程3では、工程1で生成されたデータAに基づいて、データA内部の入出力バッファ情報を、設計者の指示に応じて変更し、その後、工程3以降の工程での利用に適するように、データAをデータBに変換するという、2つの作業を行う。
【0328】
なお、ここで提示した工程3の作業内容は、説明上の一例に過ぎず、入出力バッファ情報の変更とデータ変換以外に処理があっても構わないし、また、その処理順序も問わない。本実施形態では、説明を簡単に行うために、入出力バッファ情報の変更とデータ変換以外の処理は行わず、また、順序も特に変更せずに、両処理を行うことにした。
【0329】
ここで、工程3内部の2つの作業内容について、さらに詳しく説明する。
【0330】
まず、キーボード102やマウス104等の入力装置からの指示により、CRTディスプレイ103上のメインパネル901上に、図51に示すような入出力バッファ情報設定パネル2001を表示して、この入出力バッファ情報設定パネル2001上で、入出力バッファ情報を変更する。
【0331】
図51は、メインパネル901上に表示された入出力バッファ情報設定パネル2001を示す図である。
【0332】
この入出力バッファ情報設定パネル2001におけるボタン操作によって、初期状態のデフォルトモードから、項目設定モード、グループ分割モード、ピン移動モードの3つの操作モードに切換えることができる。
【0333】
この図51において、キーボード102やマウス104などの入力装置を用いて、設定ボタン2002を指示することにより、項目設定モードになる。また、分割ボタン2003を指示することにより、グループ分割モードになり、移動ボタン2004を指示することにより、ピン移動モードになる。なお、終了ボタン2005を指示することにより、入出力バッファ情報設定パネル2001を閉じて、処理を終了する。
【0334】
また、この図51において、2006は、グループ名を表示する列であり、2007は、入出力バッファ名を表示する列であり、2008は、各グループに登録されているピン情報を表示する列である。
【0335】
更に、列2006と列2007の間には、ドライブ情報を表示する列と電源電圧情報を表示する列がある。ここでいうドライブ情報とは、入出力バッファに流せる電流の量のことであり、また、電源電圧情報とは、入出力バッファにエネルギーを供給する電源の電圧のことである。そして、本実施形態における入出力バッファ情報は、これら、ドライブ情報、電源電圧情報、入出力バッファ名の全てを含む。(なお、温度情報などを含んでも構わない。)
【0336】
なお、2009は、グループPG1の関連情報を表示する行であり、この下に、グループPG2、グループPG3の行が続く。このように、図51においてはピンがグループ化されているが、このようなピンのグループ化は、本実施形態においては、本工程管理装置101が、入力、出力、入出力等の、ピンの種類の違いに基づいて行っている。(なお、ピンの名称などで判断しても構わない。)
【0337】
設計者が、マウス104などの入力装置により、工程3の実行を指示すると、入出力バッファ情報設定パネル2001が表示される。入出力バッファ情報設定パネル2001上には、ドライブ情報、電源電圧情報、入出力バッファ名等の、データAから読み込まれた詳細な情報がグループ毎に表示される。
【0338】
この図51では、グループPG1において、ピン情報は、p1,p2,p3,その他といったよう予め設定されているが、ドライブ情報、電源電圧情報、入出力バッファ名は未設定である。これは、既存の設定情報がなかったか、もしくは、既存の設定情報があっても、それがグループ化されたデータと不整合であったからである。つまり、逆に、既存の設定情報が存在し、かつ、それがグループ化されたデータと整合する場合には、入出力バッファ情報設定パネル2001上のドライブ情報から入出力バッファ名の列まで、詳細情報が表示されることになる。
【0339】
また、PG1の登録ピンのようにピン数が多い場合には、表示エリアに表示可能なところまでしか表示しない。もちろん、表示エリアを拡大して、登録ピンを全て表示することも可能ではあるが、ここでは、表示上の見栄えを考慮して、3つまで表示するようにしている。
【0340】
また、この図51では、グループ名の列2006とピン情報の列2008の間には、入出力バッファ名の候補を絞り込むための項目の列が2列あり、また、入出力バッファ名を設定するための列が1列あり、合計で3つの列があるが、もちろん、列数は3列に限られるものではない。なお、入出力バッファ情報の設定方法としては、大きく以下の2つの方法がある。まず1つは、ドライブ情報や電源電圧情報を指定することにより、入出力バッファ名の候補を絞り込んでいく方法であり、また、もう1つは、絞り込みを行わずに、入出力バッファ名を直接設定する方法である。
【0341】
では、前者の方法による入出力バッファ情報の設定について説明する。
【0342】
まず、設計者がマウス104等の入力装置を用いて、入出力バッファ情報設定パネル2001の上部の設定ボタン2002を指示すると、項目設定モードとなり、項目の設定が可能となる。ここで、図52に示すように、対象とするグループ(ここではPG2)と設定項目(ここではドライブ情報)に対応する列と重複するエリア2010が、マウス104等の入力装置で指示されると、図53に示すように、入出力バッファ情報設定パネル2001上に項目の要素を一覧表示したサブウインドウ2011が表示される。ここで、設計者がその中から所望の要素を選択指示することにより、サブウインドウ2011が閉じられ、選択指示された要素がエリア2010に表示される。
【0343】
この際、演算処理装置106が装置内部で行う処理を説明すると、以下のようになる。
【0344】
まず、演算処理装置106は、グループの関連情報を確保しているデータ記憶装置110に、選択指示されたドライブ情報を書き込む。そして、入出力バッファ名の候補の絞り込みが十分であると判断した場合には、次に入出力バッファ名の設定を行うように設計者に指示し、絞り込みが不十分であると判断した場合には、電源電圧情報の設定を行うように設計者に指示し、設計者が電源電圧情報を設定すると、更なる候補の絞り込みを進め、最後に入出力バッファ名の設定を行うように設計者に指示する。なお、入出力バッファ名の候補の絞り込みが十分であるかどうかを設計者自身が判断して、更なる設定を行っていくような構成にしてもよい。
【0345】
入出力バッファ名の設定も、ドライブ情報や電源電圧情報の設定の場合と同じで、サブウインドウ2011を開いて、マウス104等の入力装置で指示する方法を取る。ここで、サブウインドウ2011を表示する際には、ドライブ情報や電源電圧情報の設定により、入出力バッファ名の候補が予め絞り込まれているので、その絞り込まれた要素のみを表示する。
【0346】
次に、後者の方法による入出力バッファ情報の設定について説明する。
【0347】
この場合、ドライブ情報や電源電圧情報の設定を行わずに、直ちに入出力バッファ名を設定するので、候補の絞り込みは行われず、サブウインドウ2011の表示の際に、入出力バッファ名の全ての候補が表示されてしまう。しかしながら、入出力バッファ名の要素が少ない場合には、この設定方法が有効である。
【0348】
なお、サブウインドウ2011に表示されるドライブ情報、電源電圧情報、入出力バッファ名は、第5の実施形態で設定されたターゲット情報に対応したものである。つまり、第5の実施形態におけるターゲット情報の設定によって、入出力バッファ情報は、予め絞り込まれているといえる。
【0349】
次に、入出力バッファ情報設定パネル2001におけるグループの分割処理について、以下に詳しく説明する。
【0350】
まず、グループの分割処理とは、入出力バッファ情報設定パネル2001に表示される1つのグループを複数に分割する処理である。本来、入出力バッファ情報の設定は、グループ毎にまとめて行う方が効率が良いのだが、同一グループ内に、異なる入出力バッファ情報を設定する必要があるピン同士が含まれている場合には、グループの分割を行わなければならない。
【0351】
以下、グループの分割処理についての一例を挙げる。
【0352】
まず、設計者がマウス104などの入力装置により分割ボタン2003を指示すると、グループ分割モードとなる。ここで更に、ピン情報を表示している列と分割対象であるグループ行の交差するエリアが指示されると、2011と同じようなサブウインドウが表示され、そのサブウインドウ上には、指示されたグループに含まれるピンが表示される。そこで、設計者が分割対象となるピンを全て選択指示し、終了ボタン2005を指示すると、サブウインドウが非表示となり、また、データ記憶装置110内に、選択指示されたピンに基づいた新しいグループデータが構築されて、元のグループが2つに分割される。そして、グループ分割後は、入出力バッファ情報設定パネル2001上に、新しいグループ行が1行追加されて、画面が再表示される。
【0353】
例えば、図51に示すグループPG1のピンがp1〜p10の10個であるとして、設計者がグループ分割に関して偶数ピンを分割するように指示した場合、分割後のグループPG1は、偶数ピンが除かれて、奇数ピンp1,p3,..,p9からなるグループとなり、また、分割によって生じた、偶数ピンp2,p4,..,p10からなるグループには、元の名称を変更した新たな名称であるPG1'が与えられ、データ記憶装置110に登録されて、グループの分割が完了する。この時に、もし既にグループPG1に入出力バッファ情報が設定されている場合には、入出力バッファ情報を含めて分割が行われ、グループの分割後に新たに生じるグループPG1'の入出力バッファ情報は、グループPG1と同じ設定となる。なお、グループPG1'の入出力バッファ情報は、先に述べた設定処理に従って変更することができる。
【0354】
また、グループを分割した結果、設計者がその中のいくつかのピンを元のグループに戻したいような場合がある。そのような場合には、グループ間でピンを移動する処理が必要となる。以下、入出力バッファ情報設定パネル2001におけるピンの移動処理についての一例について、以下に詳しく説明する。
【0355】
まず、設計者がマウス104などの入力装置により移動ボタン2004を指示すると、ピン移動モードとなる。ここで更に、ピンの移動先となるグループの行とピン情報を表示している列の交差するエリアを指示すると、2011と同じようなサブウインドウが表示され、そのサブウインドウ上には、他のグループの移動可能な全てのピンが表示される。そして、設計者が移動対象となるピンを全て選択指示し、終了ボタン2005を指示すると、サブウインドウが非表示となり、また、選択指示されたピンに基づいて、データ記憶装置110内でグループ間のピンの移動が行われ、グループデータが再構築される。ピンの移動後は、入出力バッファ情報設定パネル2001上において、移動先グループのピン情報の表示領域には、選択指定されたピンを付加したピン情報が表示され、また、移動元グループのピン情報の表示領域には、移動したピンを削除したピン情報が表示される。
【0356】
例えば、図51に示すグループPG3に、グループPG1とグループPG2のp1及びpp1をそれぞれ移動する場合、設計者が、グループPG3のピン情報表示エリア(pppが表示されているエリア)をマウス104等で指示すると、サブウインドウ2011に類似した形態を持つ、ピン情報の候補が表示された不図示のサブウインドウが表示され、更に、そのサブウインドウ上でp1及びpp1を指示し、終了ボタン2005を指示すると、サブウインドウが非表示となり、グループPG1のピン情報表示エリアは、"p2,p3,p4,..."の表示に変更され、グループPG2のピン情報表示エリアは、"pp2,pp3"の表示に変更され、また、グループPG3のピン情報表示エリアは、"p1,pp1,ppp"の表示に変更される。
【0357】
なお、一連の入出力バッファ情報の変更処理の終了後は、終了ボタン2005が指示されると、入出力バッファ情報設定パネル2001が閉じられて、その際、入出力バッファ情報の出力が行われ、また、データAの入出力バッファ情報と、設定された入出力バッファ情報との置換処理が行われる。そして、この置換結果により変更されたデータAをさらにデータBへと変換し、工程3における全作業を終了する。
【0358】
そして、工程3における全作業の終了後に、工程1から再度、工程の状態検査を行うと、工程3における入出力バッファ情報の変更処理の結果に応じて、その後の工程の状態を判別することができる。
【0359】
それでは、入出力バッファ情報設定パネル2001を用いた入出力バッファ情報の変更処理の流れを、図54〜図61のフローチャートを用いながら、以下に細かく説明することにする。
【0360】
図54は、入出力バッファ情報変更の前処理のフローチャートである。
【0361】
ステップS301において、HDLのファイルが存在するかどうかを判別する。存在する場合には、ステップS302に進み、存在しない場合には、ステップS312に進み、エラー処理を行う。このステップS312のエラー処理では、データを初期化し、エラーメッセージを表示する。次に、ステップS302において 、ASICの最上位ブロックに接続しているピンの名称や種類などのピン情報を、HDLのファイルから抽出し、ステップS303において、抽出されたピン情報が存在するかどうかを確認する。存在する場合には、ステップS304に進み、存在しない場合には、ステップS312のエラー処理に進む。
【0362】
次に、ステップS304において、入出力バッファ情報設定パネル2001を表示し、ステップS305において、ステップS302で抽出したピン情報を含む、変更処理に必要な設計データが存在しているかどうかを確認する。存在する場合には、ステップS306に進み、存在しない場合には、ステップS312のエラー処理に進む。次に、ステップS306において、それらの設計データを読み込み、ステップS307に進む。
【0363】
ステップS307においては、前に設定した情報が存在するかどうかを判別し、存在する場合には、ステップS310に進み、存在しない場合には、ステップS308に進み、ピン情報により関連情報をグループ化して、一連の処理を終了する。ステップS310においては、前に設定した情報が、今回読み込んだピン情報と整合する、すなわち、実質上同一のグループとなるかどうかを判別し、整合する場合には、ステップS311に進み、前に設定した情報に基づいて関連情報のグループ化を行い、一連の処理を終了する。また、整合しない場合には、ステップS308に進み、ピン情報により関連情報をグループ化して、一連の処理を終了する。
【0364】
このフローチャートの終了後は、設計者の操作待ちの状態になる。
【0365】
図55は、図54に示した前処理に続く、入出力バッファ情報の変更処理のフローチャートである。
【0366】
ステップS321において、どのような指示を受けたかを判別する。ここで、設定ボタン2002が選択されたと判別された場合には、ステップS322において、既に項目設定モードになっているかどうかを判別し、項目設定モードになっている場合には、ステップS323に進み、モードを解除して、ステップS321に戻る。また、他のモードになっている場合には、ステップS324に進み、初期状態のデフォルトモードであるかどうかを判別する。デフォルトモードでない場合には、ステップS325で、選択されているモードを解除してからステップS326に進み、デフォルトモードである場合には、そのままステップS326に進む。そして、ステップS326において、項目設定処理を行う。
【0367】
また、ステップS321において、分割ボタン2003が選択されたと判別された場合には、ステップS327において、既にグループ分割モードになっているかどうかを判別し、グループ分割モードになっている場合には、ステップS328に進み、モードを解除して、ステップS321に戻る。また、他のモードになっている場合には、ステップS329に進み、初期状態のデフォルトモードであるかどうかを判別する。デフォルトモードでない場合には、ステップS330で、選択されているモードを解除してからステップS331に進み、デフォルトモードである場合には、そのままステップS331に進む。そして、ステップS331において、グループ分割処理を行う。
【0368】
また、ステップS321において、移動ボタン2004が選択されたと判別された場合には、ステップS332において、既にピン移動モードになっているかどうかを判別し、ピン移動モードになっている場合には、ステップS333に進み、モードを解除して、ステップS321に戻る。また、他のモードになっている場合には、ステップS334に進み、初期状態のデフォルトモードであるかどうかを判別する。デフォルトモードでない場合には、ステップS335で、選択されているモードを解除してからステップS336に進み、デフォルトモードである場合には、そのままステップS336に進む。そして、ステップS336において、ピン移動処理を行う。
【0369】
また、ステップS321において、終了ボタン2005が選択されたと判別された場合には、ステップS337において、初期状態のデフォルトモードであるかどうかを判別する。デフォルトモードでない場合には、ステップS338で、選択されているモードを解除してからステップS339に進み、デフォルトモードである場合には、そのままステップS339に進む。そして、ステップS339において、終了処理を行い、一連の処理を終了する。
【0370】
次に、図56のフローチャートを用いて、ステップS326における項目設定処理の流れについて、更に詳しく説明することにする。
【0371】
ステップS341において、どのような指示を受けたかを判別する。ここで、ドライブ情報の列のエリアが指示されたと判別された場合には、ステップS342において、既にサブウインドウが表示されているかどうかを判別する。表示されている場合には、ステップS343でサブウインドウを非表示にして、ステップS341に戻る。また、表示されていない場合には、ステップS344に進み、指示された位置が、グループの行のエリア内であるかどうかを判別する。エリア外であると判別された場合には、ステップS341に戻り、エリア内であると判別された場合には、ステップS345に進み、指示されたグループを確定する。そして、ステップS346で、サブウインドウを表示し、ステップS348で、指示されたグループのドライブ情報をサブウインドウ上に表示して、ステップS341に戻る。
【0372】
また、ステップS341において、電源電圧情報の列のエリアが指示されたと判別された場合には、ステップS349において、既にサブウインドウが表示されているかどうかを判別する。表示されている場合には、ステップS350でサブウインドウを非表示にして、ステップS341に戻る。また、表示されていない場合には、ステップS351に進み、指示された位置が、グループの行のエリア内であるかどうかを判別する。エリア外であると判別された場合には、ステップS341に戻り、エリア内であると判別された場合には、ステップS352に進み、指示されたグループを確定する。そして、ステップS353で、サブウインドウを表示し、ステップS354で、指示されたグループの電源電圧情報をサブウインドウ上に表示して、ステップS341に戻る。
【0373】
また、ステップS341において、入出力バッファ名の列のエリアが指示されたと判別された場合には、ステップS355において、入出力バッファ名表示処理を行い、ステップS341に戻る。
【0374】
また、ステップS341において、サブウインドウ内の項目が選択指示されたと判別された場合には、ステップS356において、項目指定処理を行う。そして、ステップS357において、入出力バッファ名の選択指示が終了したかどうかを判別し、終了していないと判別された場合には、ステップS341に戻り、終了したと判別された場合には、一連の処理を終了する。
【0375】
次に、図57のフローチャートを用いて、ステップS355における入出力バッファ名表示処理の流れについて、更に詳しく説明することにする。
【0376】
ステップS361において、既にサブウインドウが表示されているかどうかを判別する。表示されている場合には、ステップS362でサブウインドウを非表示にして、処理を終了する。また、表示されていない場合には、ステップS363に進み、指示された位置が、グループの行のエリア内であるかどうかを判別する。エリア外であると判別された場合には、処理を終了し、エリア内であると判別された場合には、ステップS364に進み、指示されたグループを確定する。
【0377】
そして、ステップS365で、サブウインドウを表示し、ステップS366において、ドライブ情報が設定されているかどうかを判別する。設定済みと判別された場合には、ステップS367において、設定されたドライブ情報に基づいて、入出力バッファ名の絞り込みを行い、ステップS368に進む。また、未設定と判別された場合には、そのままステップS368に進む。そして、ステップS368において、電源電圧情報が設定されているかどうかを判別する。設定済みと判別された場合には、ステップS369において、設定された電源電圧情報に基づいて、入出力バッファ名の絞り込みを行い、ステップS370に進む。また、未設定と判別された場合には、そのままステップS370に進む。そして、ステップS370において、候補として表示すべき入出力バッファ名を確定し、ステップS371において、サブウインドウ上にそれを表示する。
【0378】
次に、図58のフローチャートを用いて、ステップS356における項目指定処理の流れについて、更に詳しく説明することにする。
【0379】
ステップS381において、どのような指示を受けたかを判別する。ここで、サブウインドウ内が指示されたと判別された場合には、ステップS382において、サブウインドウ内の項目が指示されたかどうかを判別する。項目以外の部分が指示された場合には、ステップS381に戻り、項目が指示された場合には、ステップS383で、指示された項目を反転表示して、ステップS381に戻る。
【0380】
また、ステップS381において、反転表示された選択項目を確定する指示がなされたと判別された場合には、ステップS384において、確定された選択項目を、入出力バッファ情報設定パネル2001上の指示されたエリアに表示する。そして、ステップS385において、その確定された選択項目をデータ記憶装置110に登録し、ステップS386に進む。
【0381】
ステップS386において、確定された選択項目が入出力バッファ名であるかどうかを判別し、入出力バッファ名であると判別された場合には、それまでの絞り込みの処理に関係なく、ステップS387で、確定された入出力バッファ名に対応するドライブ情報を設定し、ステップS388で、対応する電源電圧情報を設定し、ステップS391に進む。また、入出力バッファ名以外であると判別された場合には、ステップS389に進み、入出力バッファ名が設定済みであるかどうかを判別する。設定済みであると判別された場合には、ステップS390で、入出力バッファ名を初期化して、ステップS391に進み、未設定であると判別された場合には、そのままステップS391に進む。そして、ステップS391において、サブウインドウを非表示にして、処理を終了する。
【0382】
また、ステップS381において、サブウインドウ外が指示されたと判別された場合には、ステップS392において、サブウインドウを非表示にして、処理を終了する。
【0383】
次に、図59のフローチャートを用いて、ステップS331におけるグループ分割処理の流れについて、更に詳しく説明することにする。
【0384】
ステップS401において、どのような指示を受けたかを判別する。ここで、ピン情報の列のエリアが指示されたと判別された場合には、ステップS402において、既にサブウインドウが表示されているかどうかを判別する。表示されている場合には、ステップS403でサブウインドウを非表示にして、ステップS401に戻る。また、表示されていない場合には、ステップS404に進み、サブウインドウを表示して、ステップS405で、ピン情報をサブウインドウ上に表示して、ステップS401に戻る。
【0385】
また、ステップS401において、サブウインドウ内の項目が指示されたと判別された場合には、ステップS406において、指示された項目が、選択状態であるかどうかを判別し、選択状態である場合には、ステップS407において、指示項目の選択状態を解除して、ステップS401に戻る。また、未選択状態である場合には、ステップS408において、指示項目を選択状態にして、反転等の表示変更を施して、ステップS401に戻る。
【0386】
また、ステップS401において、サブウインドウ外の項目が指示されたと判別された場合には、ステップS409において、既にサブウインドウが表示されているかどうかを判別する。表示されている場合には、ステップS410でサブウインドウを非表示にして、ステップS401に戻る。また、表示されていない場合には、そのままステップS401に戻る。
【0387】
また、ステップS401において、終了ボタン2005が選択されたと判別された場合には、ステップS411において、サブウインドウ内の選択状態となっている項目の数が0であるかどうかを判別する。項目数が0以外の場合には、ステップS412に進み、選択状態となっている項目を分割して、ステップS413において、分割した項目に基づいて、元のグループを分割する。そして、ステップS414において、分割した項目に基づいた新しいグループを作成し、ステップS415において、入出力バッファ情報設定パネル2001上に、その新しいグループを含むグループ群を再表示して、ステップS416において、サブウインドウを非表示にし、一連の処理を終了する。また、ステップS411において、項目数が0である場合には、そのままステップS416に進み、サブウインドウを非表示にする。
【0388】
次に、図60のフローチャートを用いて、ステップS336におけるピン移動処理の流れについて、更に詳しく説明することにする。
【0389】
ステップS421において、どのような指示を受けたかを判別する。ここで、ピン情報の列のエリアが指示されたと判別された場合には、ステップS422において、既にサブウインドウが表示されているかどうかを判別する。表示されている場合には、ステップS423でサブウインドウを非表示にして、ステップS421に戻る。また、表示されていない場合には、ステップS424に進み、サブウインドウを表示して、ステップS425で、指示対象のグループのピンのタイプを獲得する。そして、ステップS426において、獲得したタイプと同一のタイプのピンを、指示対象以外のグループから抽出し、ステップS427において、抽出されたピンをサブウインドウ上に表示して、ステップS421に戻る。
【0390】
また、ステップS421において、サブウインドウ内の項目が指示されたと判別された場合には、ステップS428において、指示された項目が、選択状態であるかどうかを判別し、選択状態である場合には、ステップS429において、指示項目の選択状態を解除して、ステップS421に戻る。また、未選択状態である場合には、ステップS430において、指示項目を選択状態にして、反転等の表示変更を施して、ステップS421に戻る。
【0391】
また、ステップS421において、サブウインドウ外の項目が指示されたと判別された場合には、ステップS431において、既にサブウインドウが表示されているかどうかを判別する。表示されている場合には、ステップS432でサブウインドウを非表示にして、ステップS421に戻る。また、表示されていない場合には、そのままステップS421に戻る。
【0392】
また、ステップS421において、終了ボタン2005が選択されたと判別された場合には、ステップS433において、サブウインドウ内の選択状態となっている項目の数が0であるかどうかを判別する。項目数が0以外の場合には、ステップS434に進み、選択状態となっている項目を、指示対象のグループへと移動し、ステップS435において、移動した項目に基づいて、移動元のグループと移動先のグループ内のピンの並べ替えを行う。そして、ステップS437において、入出力バッファ情報設定パネル2001上に、ピンの並べ替えを行ったグループ群を再表示して、ステップS438において、サブウインドウを非表示にし、一連の処理を終了する。また、ステップS433において、項目数が0である場合には、そのままステップS438に進み、サブウインドウを非表示にする。
【0393】
次に、図61のフローチャートを用いて、ステップS339における終了処理の流れについて、更に詳しく説明することにする。
【0394】
ステップS441において、入出力バッファ情報設定パネル2001上で、項目の変更が行われたかどうかを判別する。変更が行われた場合には、ステップS442で、「保存終了」、「強制終了」、「キャンセル」といった3つのボタンを含む終了パネルを表示して、ステップS444に進む。また、変更が行われなかった場合には、ステップS443で、「強制終了」、「キャンセル」といった2つのボタンを含む終了パネルを表示して、ステップS444に進む。
【0395】
そして、ステップS444において、どのような指示を受けたかを判別する。ここで、「保存終了」ボタンが選択されたと判別された場合には、ステップS445で、バックアップ処理を行い、ステップS446で、終了パネルを非表示にして、ステップS447で、変更データを保存更新して、処理を終了する。また、ここで、「強制終了」ボタンが選択されたと判別された場合には、ステップS448において、終了パネルを非表示にして、処理を終了する。更に、ここで、「キャンセル」ボタンが選択されたと判別された場合には、ステップS449において、終了パネルを非表示にして、処理を終了する。
【0396】
このように、本実施形態によれば、入出力バッファ情報の設定が、極めて容易に行うことができる。
【0397】
また、入出力バッファ情報の設定に当たり、ドライブ情報や電源電圧情報による絞り込みを行って、入出力バッファ名を確定したので、より効率的に入出力バッファ情報の設定を行うことができる。
【0398】
また、ピングループの変更、分割等を、より効率的に行うことができる。
【0399】
また、入出力バッファ情報の変化を、即座に工程関連図に反映することができる。
【0400】
(第8の実施形態)
本実施形態において、設計管理プログラム112は、1つのプロジェクトの実行に当たり、複数の異なる設計データを用いて、複数の処理を並行して行う。つまり、1つの仕様に対して、複数種類のパターンの設計データを使い分ける。本実施形態では、このような処理を、多重設計処理と呼ぶことにする。
【0401】
まず、この多重設計処理を行うためには、作業単位としてのプロジェクトに関する情報(以下、プロジェクト情報)を設定する処理が必要がある。本実施形態では、CRTディスプレイ103などの表示装置上に、プロジェクト情報設定パネル2101を表示して、このプロジェクト情報設定パネル2101上で、プロジェクト情報の設定を行う。
【0402】
このプロジェクト情報設定パネル2101は、図12に示したメインパネル901上のボタン群904の左端にある〔Project〕ボタンを、設計者がマウス104などの入力装置で指示することにより、CRTディスプレイ103上のメインパネル901と重なるように表示される。
【0403】
図62は、メインパネル901上に表示されたプロジェクト情報設定パネル2101を示す図である。
【0404】
この図62において、プロジェクト情報設定パネル2101の上部の〔New〕から〔Lib〕までの一連のボタン群2102は、プロジェクト情報設定パネル2101における処理実行のキーとなる。そして、プロジェクト情報設定パネル2101の左側領域2103の下部には、データ記憶装置110等に登録されたプロジェクトの名称をリスト表示する。そして、その上にあるトグルボタンは、多重設計処理に関連する設計データの名称を同時に表示するようにリスト表示の状態を切り替えるためのものである。また、プロジェクト情報設定パネル2101の右側領域2104には、設計データなど、左側領域2103のリストで選択したプロジェクトの詳細情報を表示する。なお、2105は、〔OK〕ボタンであり、2106は、〔Cancel〕ボタンである。
【0405】
この図62に示したプロジェクト情報設定パネル2101においては、まだプロジェクト情報が設定されていない。なお、プロジェクト情報の設定処理は、図62のような未設定の状態に限らず、既にプロジェクト情報が設定されている状態からでも開始することもできる。
【0406】
とりあえず、まず、処理の流れをわかりやすく示すために、図62に示したような初期状態から処理を行う場合を説明する。
【0407】
図62の状態からプロジェクト情報を設定するためには、まず、図63に示したプロジェクト情報入力パネル2107を用いて、プロジェクトの名称などの5つの設定項目に情報を入力する必要がある。このプロジェクト情報入力パネル2107は、プロジェクト情報設定パネル2101の上部のボタン群2102の左端にある〔New〕ボタンを指示することにより、プロジェクト情報設定パネル2101に重なるように表示される。
【0408】
なお、図63においては、5つの設定項目の下に2つのボタンがあり、2108は〔OK〕ボタンであり、2109は〔Cancel〕ボタンである。
【0409】
ここで、図63に示したプロジェクト情報入力パネル2107上の設定項目について説明する。まず、「Project:」ラベルの項目には、プロジェクトの名称を入力する。また、設計データの名称の入力時に、「Prefix:」ラベルの項目には、その名称の接頭語を入力し、「Variation:」ラベルの項目には、「Prefix:」ラベルの項目に入力された接頭語以降の設計データの名称を入力する。なお、「Owner:」ラベルの項目には、所有者の名称、「Designers:」ラベルの項目では、設計者の種類を設定する。
【0410】
図63において、プロジェクトの名称として、「Project:」ラベルの項目に"test"が入力され、設計データの名称として、「Prefix:」ラベルの項目に"ae"、「Variation:」ラベルの項目に"ae_test"が入力され、「Owner:」ラベルの項目に"tanaka"が入力され、「Designers:」ラベルの〔Top〕ボタンが指示され、更に、〔OK〕ボタン2108が指示されると、このプロジェクト情報の設定項目が、選択データ601(図6参照)としてデータ記憶装置110内に登録され、プロジェクトの名称"test"が、グループ管理データ505(図5参照)に登録される。そして、プロジェクト情報設定パネル2101の左側領域2103には、図64のように、"test"という候補が選択状態で表示される。
【0411】
ここで、この"test"は選択状態になっているので、プロジェクト情報設定パネル2101の右側領域2104には、左側領域2103で選択状態にあるプロジェクト"test"の詳細情報が表示される。
【0412】
次に、図64に示したように、プロジェクト情報設定パネル2101にプロジェクトの詳細情報が表示されている場合に、そのプロジェクトの設計データを変更する処理について説明する。
【0413】
図64の状態からプロジェクトの設計データを変更するためには、やはり、図63に示したプロジェクト情報入力パネル2107を使用する。まず、図64の"test"が選択された状態で、プロジェクト情報設定パネル2101上部のボタン群2102の中の〔ChgOwn〕ボタンがマウス104等の入力装置で指示されると、プロジェクト情報入力パネル2107がメインパネル901と重なるように表示される。このプロジェクト情報入力パネル2107には、選択されているプロジェクトの名称"test"と、その詳細情報が表示されている。
【0414】
ここで、プロジェクト情報入力パネル2107において、選択状態にあるプロジェクトの設計データの名称とは異なる名称を、「Variation:」ラベルの項目に入力すると、新たな設計データが確定され、これにより、プロジェクト"test"の設計データを変更することができる。
【0415】
例えば、図64に示したようなプロジェクト情報設定パネル2101の表示状態で、プロジェクト情報入力パネル2107において設計データの名称が「ae_test」から「ae_test2」に変更される場合、プロジェクト情報設定パネル2101の右側領域2104の「Variation:」ラベルの項目の値は「ae_test」から「ae_test2」に変更される。
【0416】
また、図64に示したプロジェクト情報設定パネル2101の左側領域2103の上部のトグルボタンが指示されると、同左側領域2103の下部のリスト表示エリアの表示内容は、図65のように変化する。この図65において、リストの〔〕で囲まれた部分の名称が設計データの名称に対応する。もし、設計データの変更処理によって、"Variation"ラベルの項目が「ae_test2」となった場合には、図66のような表示となる。このトグルボタンを設けたことにより、選択したプロジェクトがどの設計データを使用しているのかを、設計者が容易に知ることができる。
【0417】
また、図64に示したプロジェクト情報設定パネル2101の左側領域2103において、「test」が選択されている状態で、プロジェクト情報設定パネル2101上部のボタン群2102の中の〔ChgVar〕ボタンがマウス104等の入力装置で指示されると、プロジェクト「test」に対応する設計データが複数個設定されている場合、設計データの候補を一覧表示したサブウインドウが表示され、設計者は、一覧表示された候補の中から所望の設計データを選択することができる。
【0418】
そして、このようなプロジェクト情報の設定処理によって、後述する多重設計処理の実現が可能となる。
【0419】
以下、本実施形態における多重設計処理について説明する。この多重設計処理においては、作成した複数の設計データを切り替える処理と、それに基づいた工程関連図の表示変更処理を行っている。
【0420】
まず、先程のプロジェクト情報の設定処理で例に挙げたように、プロジェクト「test」が、設計データ「ae_test」と「ae_test2」の2つを持つ場合であって、図65に示すように、設計データ「ae_test」を選択した場合に、工程関連図が図67の上図の状態になり、また、設計データ「ae_test2」を選択した場合に、工程関連図が図67の下図の状態になる例を考える。
【0421】
この図67を見れば明らかなように、設計データが「ae_test」の場合には、工程41、42、43まで処理が進行し、設計データが「ae_test2」の場合には、工程1までしか処理が進行していないことがわかる。ここで注意すべきことは、この2つの工程関連図においては、そのおのおので、各工程毎に全く同じデータを作成することも、違うデータを作成することも可能な点である。
【0422】
例えば、設計データ「ae_test」も「ae_test2」も、工程1で行う作業は同じで、データ1を生成するものとして、設計データ「ae_test」の工程2では、ツールAがデータ1からデータ2Aを生成するのに対して、設計データ「ae_test2」の工程2では、ツールBがデータ1からデータ2Bを生成するものとする。このような場合、設計データ「ae_test」と「ae_test2」とでは、始まりは同じであっても、その後の工程における処理が異なることがわかる。(もちろん、工程2以降の工程において、処理に違いがあってもなくても構わない。)
【0423】
つまり、設計データの違いにより、工程に対応したCADツールを変更したり、工程実行条件を変更したり、さらには、工程の数自体を変更することが可能なのである。
【0424】
したがって、仮にあるプロジェクトを実行する際に、期待される出力データが存在する場合には、そのプロジェクトに関して多重設計処理を行うことにより、その処理の進め方から処理内容、また、使用するCADツールまで、何パターンもの方法で設計を実現することができるので、より効率的に、期待される出力データを得ることができる。もちろん、どのパターンで進めるかは、設計者もしくは設計管理プログラム112等の制限の仕方による。
【0425】
このように、本実施形態においては、1つのプロジェクトに関して、複数の異なる方法で処理を実行することができるので、処理結果を設計者が判断することにより、プロジェクト実行にあたって最適な方法を決定して、最適な結果を得ることが可能となる。また、その際に、設計データのみを変更し、始めに設定したその他の情報は変更しないで済むので、作業効率を高めることができる。
【0426】
それでは、プロジェクト情報設定パネル2101を用いた多重設計処理の流れを、図68〜図70のフローチャートを用いながら、以下に細かく説明することにする。
【0427】
図68は、多重設計処理に関するフローチャートである。
【0428】
ステップS451において、工程群、及びそこで使用されるCADツールなど、設計に必要な情報が確定しているかどうかを判別する。確定している場合には、ステップS452に進み、確定していない場合には、そのまま処理を終了する。次に、ステップS452において、どのような指示が行われたかを判別する。〔Copy〕ボタンが選択されたと判別された場合には、ステップS453に進み、プロジェクト情報設定パネル2101における他の操作のマスク処理を行い、ステップS454において、設計データの作成処理を行う。そして、ステップS455において、プロジェクト情報設定パネル2101における他の操作のマスクを解除し、処理を終了する。
【0429】
また、ステップS452において、設計データの選択が指示されたと判別された場合には、ステップS456に進み、プロジェクト情報設定パネル2101における他の操作のマスク処理を行い、ステップS457において、設計データの選択処理を行う。そして、ステップS458において、プロジェクト情報設定パネル2101における他の操作のマスクを解除し、処理を終了する。
【0430】
また、ステップS452において、トグルボタンが選択されたと判別された場合には、ステップS459に進み、プロジェクト情報設定パネル2101の左側領域2103のリスト表示エリアに、設計データの名称が“Variation”の名称とともに表示されているかどうか判別する。表示されていると判別された場合には、ステップS460に進み、“Variation”の名称を除くようにプロジェクトのリストを再生成して、ステップS461において、そのリストを表示する。また、表示されていないと判別された場合には、ステップS462に進み、“Variation”の名称を加えるようにプロジェクトのリストを再生成して、ステップS463において、そのリストを表示する。
【0431】
次に、図69のフローチャートを用いて、ステップS454における設計データの作成処理の流れについて、更に詳しく説明することにする。
【0432】
ステップS471において、プロジェクト情報入力パネル2107を表示して、ステップS472において、どのような指示がなされたのか判別する。項目への入力処理が行われたと判別された場合には、ステップS473に進み、入力された文字の文字数を確認する。入力文字数が項目の枠内の既定値以内の場合には、ステップS474に進み、また、既定値以上の場合には、ステップS475に進み、エラーメッセージを表示する。ステップS474において、項目内に同一データ名の既存データが存在するかどうかを確認し、存在しない場合には、ステップS476に進み、また、存在する場合には、ステップS475において、エラーメッセージを表示する。
【0433】
次に、ステップS476において、入力文字列に接頭語があるかどうかを確認する。接頭語がある場合には、ステップS478で、入力文字列を登録し、ステップS479で、〔OK〕ボタン2108のマスクを解除して、ステップS472に戻り、接頭語がない場合には、ステップS477で、再入力を促すメッセージを表示して、ステップS472に戻る。
【0434】
また、ステップS472において、〔OK〕ボタン2108が選択されたと判別された場合には、ステップS480に進み、ステップS457において選択された設計データを複写し、ステップS481で、その複写されたデータをデータ記憶装置110などに登録する。但し、設計データの複写処理は、設計環境、運用によって、どの設計工程までの設計データを複写するかが変わってくる。本実施形態では、設計上の最上位データとなる「工程1」における設計データを複写している。
【0435】
次に、ステップS482において、元の設計データを新しい設計データに書き換え、ステップS483において、プロジェクト情報設定パネル2101の左側領域2103のリスト表示エリアに、新しい設計データの名称とともにプロジェクトの名称を表示する。そして、ステップS484で、プロジェクト情報入力パネル2107を非表示にして、一連の処理を終了する。
【0436】
また、ステップS472において、〔Cancel〕ボタン2109が選択されたと判別された場合には、ステップS485に進み、項目の内容を初期化し、ステップS486で、プロジェクト情報入力パネル2107を非表示にして、一連の処理を終了する。
【0437】
次に、図70のフローチャートを用いて、ステップS457における設計データの選択処理の流れについて、更に詳しく説明することにする。
【0438】
ステップS491において、設定された設計データを一覧表示したサブウインドウを表示する。このサブウインドウも、〔OK〕ボタンと〔Cancel〕ボタンを含むものとする。次に、ステップS494において、どのような指示がなされたのか判別する。サブウインドウに一覧表示された項目の選択処理が行われたと判別された場合には、ステップS495に進み、選択された項目を反転表示する。そして、ステップS496において、選択された項目が存在するかどうかを確認し、存在する場合には、ステップS497で、〔OK〕ボタンのマスクを解除して、ステップS494に戻り、存在しない場合には、ステップS498で、その旨を示すメッセージを表示して、ステップS494に戻る。
【0439】
また、ステップS494において、サブウインドウ上の〔OK〕ボタンが選択されたと判別された場合には、ステップS499に進み、まず、既存の諸情報を保存する。次に、ステップS500において、選択された項目が存在するかどうかを判別する。存在すると判別された場合、ステップS501に進み、存在しないと判別された場合は、ステップS505で、その旨を表示して、ステップS494に戻る。ステップS501において、選択された設計データの情報を読み込み、ステップS502において、読み込んだ情報に基づいて、詳細情報を作成して、ステップS503において、その詳細情報を保存する。そして、ステップS504において、サブウインドウを非表示にして、一連の処理を終了する。
【0440】
また、ステップS494において、サブウインドウ上の〔Cancel〕ボタンが選択されたと判別された場合には、ステップS506に進み、サブウインドウを非表示にして、一連の処理を終了する。
【0441】
このように、本実施形態によれば、1つのプロジェクトの実行に当たり、複数の異なる設計データを用いて、複数の処理を並行して行うので、設計者は、複数の設計結果を比較対照することにより、最適な設計手法を容易に確認することができる。
【0442】
なお、本発明の第1から第8の実施形態は、1つの装置に限らず、ネットワーク網に接続された複数の装置から構成されるシステムに適用しても良い。
【0443】
【発明の効果】
以上詳述したように、本発明によれば、ますます高密度化・大規模化する設計物、とりわけASICの極めて複雑な設計工程を集約して管理することができ、より効率的な設計が可能になるという効果がある。
【0444】
また、設計物の元になる設計対象物や、各工程で起動される処理プログラムの設定・変更を、極めて容易に行えるという効果がある。
【0445】
また、各工程を、その状態によって色を変えて表示し、また、工程の実行や処理プログラム・設計対象物の設定・変更があった場合に、それにより状態が変化する工程の色を変えて表示することにより、設計者が工程の状態とその変化を容易に知ることができるという効果がある。
【0446】
また、設計途中における設計物の元になる設計対象物に関する情報の変更が可能になるという効果がある。
【0447】
また、設計物の元になる設計対象物に対して設計を行う際に、複数の異なる設計処理を並行して行うことが可能になるという効果がある。
【0448】
また、以上のような効果を奏することによって、作業の格段の効率化を図ることができるので、設計者の負担を軽減し、また、設計上の誤りを減少させるといった効果がある。
【図面の簡単な説明】
【図1】設計管理装置のハードウエア構成図である。
【図2】設計管理プログラムによる処理の概念図である。
【図3】設計管理プログラムの主要な機能を示す図である。
【図4】設計データ管理機能300の概略を示した図である。
【図5】環境データ管理機能310の概略を示した図である。
【図6】プロジェクト操作機能320の概略を示した図である。
【図7】起動制御機能330の概略を示した図である。
【図8】設定変更機能340の概略を示した図である。
【図9】フロー制御機能350の概略を示した図である。
【図10】情報確認機能360の概略を示した図である。
【図11】設計処理の流れの概略を示す図である。
【図12】CRTディスプレイ上に表示されるメインパネルを示す図である。
【図13】メインパネルに複数の工程が表示された場合の表示例を示す図である。
【図14】第1の実施形態で使用される工程関連図である。
【図15】工程状態の検証処理のフローチャートである。
【図16】工程状態の簡略化された検証処理のフローチャートである。
【図17】工程1を実行した場合の工程状態の変化を示す図である。
【図18】工程21を実行した場合の工程状態の変化を示す図である。
【図19】工程1の作業が1つの場合の作業概略図を示す図である。
【図20】工程1の作業が3つの場合の作業概略図を示す図である。
【図21】工程1の作業数を調整する処理を示す図である。
【図22】工程内作業数調整処理のフローチャートである。
【図23】実行処理のフローチャートである。
【図24】エラー処理のフローチャートである。
【図25】バージョン管理の前処理のフローチャートである。
【図26】バージョン管理の後処理のフローチャートである。
【図27】履歴管理処理のフローチャートである。
【図28】第2の実施形態における工程状態の変化を示す図である。
【図29】工程3を実行した場合の工程状態の変化を示す図である。
【図30】第3の実施形態における工程状態の変化を示す図である。
【図31】第6の実施形態で使用される工程関連図である。
【図32】データの派生関係を示す図である。
【図33】 CADツール設定パネルを示す図である。
【図34】 CADツールの設定サブウインドウを示す図である。
【図35】 CADツール設定後のCADツール選定パネルを示す図である。
【図36】 CADツール割当情報の変更処理を示す図である。
【図37】 CADツール設定後の状態検査処理を示す図である。
【図38】 CADツール設定処理のフローチャートである。
【図39】ターゲット情報設定パネルを示す図である。
【図40】ターゲット情報の設定サブウインドウを示す図である。
【図41】ベンダ名確定後のターゲット情報設定パネルを示す図である。
【図42】 SeriesType確定後のターゲット情報設定パネルを示す図である。
【図43】 SeriesName確定後のターゲット情報設定パネルを示す図である。
【図44】 Package/PinNum確定後のターゲット情報設定パネルを示す図である。
【図45】ターゲット情報の変更処理を示す図である。
【図46】ターゲット情報設定後の状態検査処理を示す図である。
【図47】ターゲット情報設定処理のフローチャートである。
【図48】初期設定処理のフローチャートである。
【図49】変更設定処理のフローチャートである。
【図50】工程関連図における工程1と工程3の作業内容を示した図である。
【図51】入出力バッファ情報設定パネルを示す図である。
【図52】入出力バッファ情報設定パネル上の指示エリアを示す図である。
【図53】入出力バッファ情報設定パネル上のサブウインドウパネルを示す図である。
【図54】入出力バッファ情報変更の前処理のフローチャートである。
【図55】入出力バッファ情報の変更処理のフローチャートである。
【図56】項目設定処理のフローチャートである。
【図57】入出力バッファ名表示処理のフローチャートである。
【図58】項目指定処理のフローチャートである。
【図59】グループ分割処理のフローチャートである。
【図60】ピン移動処理のフローチャートである。
【図61】終了処理のフローチャートである。
【図62】プロジェクト情報設定パネルを示す図である。
【図63】プロジェクト情報入力パネルを示す図である。
【図64】プロジェクト情報設定パネル上の表示の一例を示す図である。
【図65】プロジェクト情報設定パネル上の表示の一例を示す図である。
【図66】プロジェクト情報設定パネル上の表示の一例を示す図である。
【図67】多重設計処理を行う際の工程関連図の状態を示す図である。
【図68】多重設計処理のフローチャートである。
【図69】設計データの作成処理のフローチャートである。
【図70】設計データの選択処理のフローチャートである。
【図71】データ間の派生関係情報の管理方法を示した図である。
【図72】データ間の派生関係情報の管理方法を示した図である。
【図73】データ間の派生関係情報の管理方法を示した図である。
【図74】データ間の派生関係情報の管理方法を示した図である。
【図75】工程状態の移り変わりとデータのバージョン情報の変化を示した図である。
【符号の説明】
101 設計管理装置
102 キーボード
103 CRTディスプレイ
104 マウス
105 ハードディスク装置
106 演算処理装置
107 変換装置
108 プリンタ
109 バス
110 データ記憶装置
111 プログラム記憶装置
112 設計管理プログラム
113 CADツール群
201 データ管理機能
202 工程管理機能
204 管理データベース
205 設計データベース
300 設計データ管理機能
310 環境データ管理機能
320 プロジェクト操作機能
330 起動制御機能
340 設定変更機能
350 フロー制御機能
360 情報確認機能
401 履歴管理情報データファイル
501 初期情報データファイル
502 グループ情報データファイル
503 ツール情報データファイル
504 ベンダデータファイル
505 グループ管理データ
506 ASICデータ
507 メッセージログデータファイル
508 ロック情報データファイル
601 選択情報
701 設定変更情報
702 ルール情報
801 入出力バッファ情報
802 CADツール割当情報
803 ターゲット情報
901 メインパネル
902 工程群表示領域
903 作業内容表示領域
904 ボタン群
905 ターゲット表示エリア
906 スタートボタン
907 キャンセルボタン
908 マウスカーソル
1301 CADツール選定パネル
1302 サブウインドウ表示ボタン
1303 OKボタン
1304 キャンセルボタン
1305 設定サブウインドウ
1501 ターゲット情報設定パネル
1502 ベンダ名設定領域
1503 サブウインドウ表示ボタン
1504 詳細項目表示エリア
1505 候補表示エリア
1506 OKボタン
1507 キャンセルボタン
1508 設定サブウインドウ
2001 入出力バッファ情報設定パネル
2002 設定ボタン
2003 分割ボタン
2004 移動ボタン
2005 終了ボタン
2011 サブウインドウ
2101 プロジェクト情報設定パネル
2102 ボタン群
2103 左側領域
2104 右側領域
2105 OKボタン
2106 キャンセルボタン
2107 プロジェクト情報入力パネル
2108 OKボタン
2109 キャンセルボタン
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a process management apparatus and method for managing a plurality of processes, and a storage medium.
[0002]
[Prior art]
When designing a design, particularly a circuit on a substrate, using an interactive image processing apparatus such as CAD, there are roughly the following two design methods.
[0003]
First, in the first design method, a circuit element is input, a circuit diagram created by inputting the circuit element is verified, layout processing such as placement and routing is performed on the substrate, and a desired design is generated. Is.
[0004]
The second design method is to design the functional level of the circuit, verify the functional level, create a circuit diagram based on the verification result, verify the created circuit diagram, A layout process such as placement and routing is performed to generate a desired design. Recently, this second design technique is becoming more common.
[0005]
By the way, when designing a design object, it is necessary to proceed with processing in a plurality of processes. Conventionally, the designer has worked separately for each of the plurality of processes. Therefore, it is not easy to manage the entire design process including a plurality of processes.
[0006]
The “management” here is roughly divided into two types.
[0007]
First, “management” for each process is performed. The activation condition of the processing program activated at the time of executing each process is confirmed, the activation is controlled, and the design data to be used is managed.
[0008]
Further, it is “management” for a plurality of processes, and the process is transferred to the next process when the execution of the process is completed, and the design data is referred to between the processes.
[0009]
And now, or in the future, there are limits to the designer's own control over increasingly complex design processes. Therefore, recently, an apparatus for collecting and managing a plurality of processes has been required.
[0010]
In designing a design object, in order to collectively manage a plurality of processes, two elements such as a processing program that is activated at the time of executing each process and information on a design object that is the basis of the design object are in particular included. This is a very important factor in determining the design content.
[0011]
First, the processing program that is activated when each process is executed is a program that performs design processing on the computer screen and performs various data processing. In the field of electricity, an input tool for electrical components and various verifications are performed. There are tools, and recently, tools for expressing functions using block diagrams and state transition diagrams. For example, SUMMIT's “VisualHDL” is a functional level design tool, and Antares' “V-System / VHDL” is a functional level verification tool. In addition, since there are many processing programs that perform the same work as these, it is difficult to select which one should be used.
[0012]
In addition, there are ASIC (Application Specific Integrated Circuit) etc. in the design object that is the basis of the design object. In the design, the vendor name (manufacturer name), type, shape information, etc. Must be set. Therefore, when the design object to be used changes, it is necessary to change the execution order of the processes and the processing program activated in each process.
[0013]
In this way, in designing a design, the processing program that is activated when each process is executed and the information about the design object that is the basis of the design are extremely important elements. It seems that it will become extremely important to carry out process management focusing on one element.
[0014]
[Problems to be solved by the invention]
However, because the design, especially ASIC, is becoming increasingly dense and large-scale, the process for its design has become extremely complex. With conventional technology, it is necessary to manage these processes. , Putting a heavy burden on the designer.
[0015]
In addition, the design object that is the basis of the design object and the processing programs that are activated in each process have been diversified, and the conventional technology cannot cope with such a rapid change.
[0016]
In addition, in the prior art, when the design object that is the basis of the design object or the processing program that is started in each process is changed, the designer has to perform many setting operations related to it. .
[0017]
In addition, in the prior art, setting of information related to the design object that is the basis of the design object was performed from the design start stage, so the designer can change the information related to the design object during the design. However, in order to change the information, it was necessary to redesign from the design start stage.
[0018]
Further, in the conventional technique, a plurality of different patterns cannot be designed in parallel with respect to a design object that is the basis of a design object.
[0019]
The present invention consolidates complicated design processes of a design, and greatly simplifies the setting of a design object that is the basis of the design and the setting of a processing program that is activated when each process is executed. The purpose is to reduce the burden of design and to reduce design errors.
[0020]
Another object of the present invention is to make it possible to change information related to a design object that is the basis of a design object during design.
[0021]
It is another object of the present invention to allow a plurality of different design processes to be performed in parallel when designing a design object that is the basis of a design object.
[0022]
[Means for Solving the Problems]
In order to achieve the above object, the process management apparatus of the present invention is a process management apparatus that manages the execution order of a plurality of processes by displaying them on a display so as to be recognizable, and is generated in the plurality of processes. Each of the plurality of processes based on the state determined by the determination means, the storage means for storing the derivation relationship information of the data, the determination means for determining whether or not the plurality of processes are executable Display processing means for displaying on the display so as to be identifiable whether or not can be executed, wherein the discrimination means is a first for use during execution of the discrimination target process. Is generated in the first step, which is the previous step of the discrimination target step, The second data is the previous process of the discrimination target process There is a subsequent process of the first process. In the second process Raw From the derivation relationship information stored by the storage means. The second data is generated for the first data Derived relationship And the second data is generated by a program selected from a plurality of programs executed in the second step, The discrimination target process is executable When It is characterized by discriminating.
[0023]
Also, the processing method of the process management apparatus that manages the execution order of the plurality of processes by recognizing them on the display so as to be recognizable, the processing apparatus stores the derivation relationship information of the data generated in the plurality of processes in the storage device. Each of the plurality of steps can be executed based on a storage step for storing, a determination step for determining whether or not the plurality of steps can be performed, and a state determined by the determination unit. A display processing step that causes the processing device to display on the display so that it can be identified whether or not there is, and in the determination step, the processing device is a first for use when executing the determination target step. Is generated in the first step, which is the previous step of the discrimination target step, The second data is the previous process of the discrimination target process There is a subsequent process of the first process. In the second process Raw From the derivation relationship information stored in the storage device. The second data is generated for the first data There is a derivation relationship, and When the second data is generated by a program selected from a plurality of programs executed in the second step, It is determined that the determination target process is executable.
[0037]
DETAILED DESCRIPTION OF THE INVENTION
(Hardware configuration of design management device)
First, the hardware configuration of the design management apparatus according to the present invention will be described in detail.
[0038]
FIG. 1 is a hardware configuration diagram of the design management apparatus 101. Each component of the design management apparatus 101 will be described with reference to FIG.
[0039]
In FIG. 1, reference numeral 102 denotes a keyboard for converting various information such as character information, command information, and operation instruction information into electronic signals and inputting them. Reference numeral 103 denotes a CRT display for displaying various information input from an input device such as a keyboard 102 or a mouse 104 described later. The designer can confirm the operation of the design management program 112 and the CAD tool group 113 for carrying out the present invention by viewing the display on the CRT display 103. In particular, in the present invention, the CRT display 103 is very important as a configuration for determining what is being performed and what is to be performed next. Reference numeral 104 denotes a mouse, which is a pointing device for designating an arbitrary position on the CRT display 103.
[0040]
A program storage device 111 includes a memory such as a ROM, and stores programs such as a design management program 112 and a CAD tool group 113, and these programs are executed by the arithmetic processing device 106. A data storage device 110 includes a memory such as a RAM, and is generated by data used by the design management program 112 and the CAD tool group 113 stored in the program storage device 111 or by processing of the arithmetic processing device 106. Stored data and the like are stored. Reference numeral 105 denotes a hard disk device for storing not only various databases but also programs stored in the program storage device 111 and data stored in the data storage device 110. Of course, a program executed when the program is executed and data to be read and written may be stored in the hard disk device 105 in advance.
[0041]
An arithmetic processing unit 106 executes programs such as the design management program 112 and the CAD tool group 113 stored in the program storage device 111 based on electronic information received from the keyboard 102 and the mouse 104, and stores data in the data storage device 110. Read and write data.
[0042]
A conversion device 107 includes a graphics board, a video board, and the like, and converts electronic information transmitted from the arithmetic processing device 106 into information to be expressed on the CRT display 103.
[0043]
In this embodiment, a printer 108 is provided as an output device other than the CRT display 103, and information is printed out from the conversion device 107.
[0044]
Reference numeral 109 denotes a bus that electrically connects each component.
[0045]
Then, data is exchanged between the constituent elements by a desired operation of the designer, thereby realizing a desired design for the design object.
[0046]
(Concept of design management program)
FIG. 2 is a conceptual diagram of functions realized by the design management program 112 stored in the program storage device 111 of FIG.
[0047]
In the present embodiment, the design management program 112 is a program for managing a plurality of processes related to the design of a design, and is the basis of the operation of the design management apparatus 101. Hereinafter, the function of the design management program 112 will be described with reference to FIGS.
[0048]
The design management program 112 is roughly divided into two functions, a “data management function 201” and a “process management function 202”.
[0049]
First, the “data management function 201” is a function for managing a management database (hereinafter, management D / B 204) and a design database (hereinafter, design D / B 205) stored in the hard disk 105. Here, the management D / B 204 is a collection of unique data handled by the design management program 112. Specifically, the initial information data file 501, group information data file 502, CAD tool information data file 503, vendor data file 504, group management data 505, ASIC data 506, message log data file 507, lock information data file 508, etc. Is stored (see FIG. 5). The design D / B 205 stores general data generated by the CAD tool and a history management information data file 401.
[0050]
The data used or generated by the CAD tool is referred to as design data, which includes CAD tool environment data and log files.
[0051]
The “process management function 202” is a function for managing setting operations and design work processes (workflows) by the design management program 112.
[0052]
Further, the CAD tool group 113 is a program group stored in the program storage device 111 as in the case of the design management program 112 as described above.
[0053]
The processing performed by the “data management function 201” and the “process management function 202” for the CAD tool group 113, the management D / B 204, and the design D / B 205 will be described below.
[0054]
First, when an acquisition request for data stored in the management D / B 204 or the design D / B 205 is made from the “process management function 202” to the “data management function 201”, the “data management function 201” Is acquired from the management D / B 204 and the design D / B 205 and returned to the “process management function 202”. When the “process management function 202” designates a desired CAD tool and sets the design environment for the CAD tool group 113, the “process management function 202” displays an error code when executing the designated CAD tool. And an end code are acquired from the CAD tool group 113. Further, the “data management function 201” inquires each D / B about the stored data. If the data is in each D / B, the “data management function 201” Obtain from D / B. The CAD tool group 113 acquires design data stored in the design D / B 205, and the CAD tool group 113 outputs design data generated by executing an arbitrary CAD tool to the design D / B 205. To do.
[0055]
FIG. 3 is a diagram showing the main functions of the design management program.
[0056]
FIG. 3 is used to show the relationship between the “data management function 201” and the “process management function 202” in further detail.
[0057]
The “data management function 201” includes a “design data management function 300” and an “environmental data management function 310”, and the “process management function 202” includes a “project operation function 320” and a “setting change function”. 340 ”,“ flow control function 350 ”,“ startup control function 330 ”, and“ information confirmation function 360 ”.
[0058]
Each of the functions constituting the “data management function 201” and “process management function 202” further includes a plurality of functions.
[0059]
First, the “design data management function 300” is one of the functions of the “data management function 201”, and performs various processes on each data in the design D / B 205. Specific functions include a version management function 300-1, a derivative management function 300-2, a purge operation function 300-3, a history management function 300-4, and an environment restoration function 300-5.
[0060]
FIG. 4 is a diagram showing an outline of each function in the “design data management function 300”.
[0061]
The version management function 300-1 is a function for so-called versioning of design data in the design D / B 205, and stores a design environment including design data generated by a CAD tool and directory information. At this time, the design environment before activation is registered as an old version, and the design environment after activation is registered as a new version. As described above, the version management function 300-1 saves the design environment for each activation, and numbers the design data generated by the CAD tool in ascending order in the generation order. Of course, the numbering order is not limited to ascending order, and any order may be used.
[0062]
The derivation management function 300-2 is a function for linking design data in the design D / B 205. If the version management function 300-1 is a vertical management function, the derivation management function 300-2 is a horizontal management function. It can be said. The derivation management function 300-2 represents which design data is generated based on the design data generated by each CAD tool of the CAD tool group 113, and manages the derivation relationship between the design data. (The mechanism is such that the derivation relationship can be read from the history management information data file 401.) Derivation information for each design data is generated immediately after version management by the version management function 300-1. The generated derivative information is a key to the purge operation function 300-3 and the history management function 300-4.
[0063]
The purge operation function 300-3 is a function for organizing design data in the design D / B 205, and the number of management version data is set to a value determined by the initial information file 501 when the version management function 300-1 upgrades. If it exceeds, delete the oldest version of design data. The manageable version number can be set as a variable used in the design management program 112.
[0064]
The history management function 300-4 is a function for managing history information of design data using the history management information data file 401 stored in the design D / B 205. The version management function 300-1, the derivation management function 300-2 and the entire history of design data used by the purge operation function 300-3 are managed. Information between each design data is stored in the history management information data file 401, and the history management function 300-4 also performs input / output processing for the history management information data file 401. Also, design data history information is output to the “process management function 202”.
[0065]
The environment restoration function 300-5 is a function for restoring environment information including design data of the design D / B 205. More specifically, the environment restoration function 300-5 is more specifically one generation before the CAD tool is started (of course, two generations or three generations ago). This is a function for restoring the boot environment. Therefore, a file operation or the like is directly executed on the design D / B 205.
[0066]
Next, the “environmental data management function 310” is one of the functions of the “data management function 201” and manages unique data referred to by the “process management function 202”. Specific functions include an initial information management function 310-2, a design information management function 310-3, a backup management function 310-1, and a lock management function 310-4.
[0067]
FIG. 5 is a diagram showing the relationship between each function in the “environment data management function 310” and the environment data.
[0068]
The backup management function 310-1 is a function for managing the group management data 505, the ASIC data 506, and the message log data file 507 that are the backup (save the state before update) in the management D / B 204. When the environmental data is saved in the management D / B 204 by the setting process of the “process management function 202”, the data before saving is backed up (data is copied).
[0069]
The initial information management function 310-2 is a screen display on the CRT display 103 and data whose values can be set from the values stored in the initial information data file 501 in the management D / B 204 when the design management program 112 is started. This is a function for setting default information.
[0070]
The design information management function 310-3 is used when using the target setting function 340-1, the CAD tool change function 340-2 in the “setting change function 340” of the “process management function 202”, and the group-related functions. This function manages various information in the management D / B 204 such as a group information data file 502, a CAD tool information data file 503, a vendor data file 504, group management data 505, and ASIC data 506. The “group” in the present embodiment is a set of a plurality of designers when one project is executed.
[0071]
The lock management function 310-4 uses the lock information data file 508 in the management D / B 204, and designates that the “process management function 202” and the design information management function 310-3 are prohibited from changing the contents. It is a function to perform. The lock information data file 508 created by the lock management function 310-4 holds information regarding such prohibition of content change.
[0072]
Next, the “project operation function 320” is one of the functions of the “process management function 202”, and creates and selects a project. As actual processing, data necessary for processing is acquired from the “environmental data management function 310” by text input and selection from the designer, and processing is performed on design data and group information. Specific functions include a design data operation function 320-1 and a group management function 320-2. The “project” in the present embodiment is a design unit for designing a certain design.
[0073]
FIG. 6 is a diagram showing an outline of each function in the “project operation function 320”.
[0074]
The design data operation function 320-1 is a function for inputting / outputting data to / from selection information 601 stored in the hard disk 105 and used in a “flow control function 350” or “startup control function 330” described later. Specifically, a new project is created, copied, or deleted by inputting text or selecting it from the designer. The selected data is stored as selection information 601.
[0075]
The group management function 320-2 is a function corresponding to the network of the “project operation function 320”, and performs processing for responding to group design.
[0076]
Next, the “startup control function 330” is one of the functions of the “process management function 202” and performs a series of operations until the CAD tool is started up.
[0077]
FIG. 7 is a diagram showing an outline of each function in the “startup control function 330”.
[0078]
The activation condition confirmation function 330-1 is a function for confirming the CAD tool activation condition from the selection information 601 selected by the “project operation function 320”. There is.
[0079]
The CAD tool determination function 330-2 is a function for determining the type of CAD tool to be activated and the processing content from setting change information 701 and rule information 702 determined by a “setting change function 340” described later.
[0080]
The work shortening function 330-3 is a design process in which a plurality of work integrated in one process (the relationship between this process and work will be described in detail later. One process is constituted by a plurality of work. It is a function that executes up to necessary work. That is, this is a function that can reduce the number of operations in the process. Normally, all the work contents in the process are executed, but this work shortening function 330-3 can save useless time. Note that the work to be executed is determined by the designer's specification.
[0081]
The environment setting function 330-4 is a function for constructing an activation environment as pre-processing for CAD tool activation. In addition, processing for requesting restoration of environment data by the environment restoration function 300-5 of the “design data management function 300”, confirmation of design data, and the like are also performed here.
[0082]
Next, the “setting change function 340” is one of the functions of the “process management function 202”, and is a function for performing various setting operations (also referred to as a retarget function). Specific functions of the “setting change function 340” include a target setting function 340-1, a CAD tool change function 340-2, an input / output buffer change function 340-3, and a control rule determination function 340-4.
[0083]
Each function of the “setting change function 340” indicates that the design management program 112 has flexibility in changing information related to the ASIC. And by such a flexible function of the design management program 112, it is possible to realize many efficiencies such as shortening the design period and improving operability for the designer.
[0084]
Hereinafter, the target setting function 340-1, the CAD tool change function 340-2, the input / output buffer change function 340-3, and the control rule determination function 340-4 will be described in detail with reference to FIG.
[0085]
FIG. 8 is a diagram showing an outline of each function in the “setting change function 340”.
[0086]
The target setting function 340-1 is a function for setting data related to an ASIC (hereinafter referred to as a target) for designing an ASIC as a finished design product. Provided by the management function 310 ". Note that information relating to the target set by the designer (hereinafter referred to as “target information 803”) and CAD tool allocation information 802 described later are collectively referred to as setting change information 701.
[0087]
The CAD tool change function 340-2 is a function for allocating a CAD tool activated in each process of the design process for each process. The CAD tool corresponding to each process is limited, and information on the limited CAD tool is provided by the “environmental data management function 310”. The CAD tool allocation information 802 obtained here becomes a part of the setting change information 701 together with the target information 803 as described in the description of the target setting function 340-1.
[0088]
The input / output buffer changing function 340-3 is a function for changing the input / output buffer temporarily input in the upper process of the design, and the changed contents are stored as the input / output buffer information 801. The input / output buffer changing function 340-3 can be executed only in a specific process.
[0089]
The control rule determination function 340-4 is a function for determining a rule in each process controlled by the design management program 112 from the setting change information 701 obtained by the target setting function 340-1 and the CAD tool change function 340-2. Information regarding this rule is provided by the “environmental data management function 310”. The confirmed rule is handled as rule information 702 and affects the confirmation of the process state after the CAD tool is activated.
[0090]
Next, the “flow control function 350” is one of the functions of the “process management function 202”, and is a function for controlling the process state and managing the process state for each process managed by the design management program 112. . There are two specific functions: a design process confirmation function 350-1 and a process state management function 350-2. In order to realize the “flow control function 350”, the above-described selection information 601, setting change information 701, rule information 702, and the like are necessary.
[0091]
FIG. 9 is a diagram showing an outline of each function in the “flow control function 350”.
[0092]
The design process determination function 350-1 is a function for determining all the processes for designing the ASIC from the setting change information 701 and the selection information 601, and the designer advances the design along the determined process. The desired ASIC design can be realized.
[0093]
The process state management function 350-2 is a function for determining the process state of each process from the setting change information 701 and the rule information 702. The process state includes an executable state, an unexecutable state, a selected state, and an execution state. There are four types of states.
[0094]
Finally, the “information confirmation function 360” is one of the functions of the “process management function 202” and is a design auxiliary function. Many of these functions are for checking the progress of design, such as the message display function 360-1 and the history information display function 360-2. Although this function is not necessarily required for design, the design management program 112 adopts this function as necessary for the designer to efficiently design the ASIC.
[0095]
FIG. 10 is a diagram showing an outline of each function in the “information confirmation function 360”.
[0096]
The message display function 360-1 is a function for receiving a direct message from the CAD tool and displaying the information on a message panel described later on the CRT display. The message displayed on the message panel is “environmental data management”. To function 310 ". The transmitted message is managed as a message log data file 507.
[0097]
The history information display function 360-2 displays the history information from the “design data management function 300” on a history management panel (to be described later) on the CRT display, and at the same time designates the lock to the purge operation function 300-3. It is a function to perform. Further, the target information 803 can be referred to on the history management panel.
[0098]
Then, based on the hardware configuration of the design management apparatus 101 and the concept explanation of the process management program 112 described above, the embodiment of the present invention will be described in detail below.
[0099]
(First embodiment)
<Design process flow>
First, an outline of the design of a design using the design management apparatus 101 will be described.
[0100]
In order to design a desired design, it is necessary to advance the design stage according to a certain design method. In the present embodiment, each stage of this design is referred to as a “process”, and the entire work flow by such a plurality of “processes” is referred to as a “project”. Each process of this project includes processes such as system design, functional design, logic design, circuit design, mounting design, layout design, and test design. Usually, following such a design process, a design is completed through processes such as a manufacturing process and a test process.
[0101]
The design method as described above is actually often used for designing an integrated circuit developed for a specific application such as an ASIC. The ASIC in this embodiment includes full custom IC, semi-custom IC, ASSP (Application Specific Standard Product), PLD (Programmable Logic Array), and FPGA (Field Programmable Gate Array). It may be just a gate array, or it may be anything other than general-purpose products.
[0102]
In this embodiment, all the steps of the project are managed by one program, the design management program 112.
[0103]
Now, a basic processing flow when designing using the design management program 112 will be described with reference to FIG.
[0104]
After the design management program 112 is started ((1)), when the designer sets information on the ASIC used for the design, ie, the target ((2)), a predetermined project corresponding to the target is selected. The process group is displayed on the CRT display 103 ((3)). (At the same time, the rule information 702 for controlling it is determined.) Then, when an arbitrary executable process is selected by the designer (4), the process of the selected process is executed (4). (5)). As described above, when the selection and execution of executable processes (4 and 5) are sequentially performed from the first process to the final process, a desired design process is completed.
[0105]
In the following, an embodiment of the present invention will be described in detail based on this series of processing flows.
[0106]
<Process status display>
First, in the design management apparatus 101, when an activation command is input from the keyboard 102, the design management program 112 is activated, and a main panel 901 as shown in FIG. 12 is displayed on the screen on the CRT display 103. Similarly, the design management program 112 can also be input by keying in the name of the design management program 112 from the keyboard 102 or designating the icon representing the design management program 112 on the CRT display 103 with the mouse 104. When activated, the main panel 901 is displayed on the CRT display 103. Of course, the design management program 112 may be activated by an operation other than these methods.
[0107]
FIG. 12 is a diagram showing a main panel 901 displayed on the CRT display 103 when the design management program 112 is activated.
[0108]
In FIG. 12, 902 is an area where a process group managed by the design management program 112 is displayed, and 903 is an operation constituting a process selected from the process groups displayed in the area 902. This is the area where the contents are displayed. (As will be described later, each process is constituted by a further process group. Such a process is called “operation” in this embodiment.)
[0109]
Reference numeral 904 denotes a button group for inputting an instruction command, and the command is input by instructing the button group with the mouse 104 or the like. Reference numeral 905 denotes a target display area that displays target information 803. 906 is a [Start] button for instructing execution, and 907 is a [Cancel] button for instructing cancellation.
[0110]
Reference numeral 908 denotes a mouse cursor, which moves on the screen in response to an instruction from the mouse 104 and designates a desired position. In FIG. 9 and subsequent figures, the display of the mouse cursor 908 is omitted.
[0111]
Next, with respect to the main panel 901 as shown in FIG. 12, process contents and target information 803 are determined by input processing from the keyboard 102 and the mouse 104, and the process flow managed by the design management apparatus 101 is shown. The image is displayed in an area 902 on the main panel 901 as shown in FIG.
[0112]
FIG. 13 is a diagram illustrating an example when a plurality of processes are displayed in the area 902.
[0113]
In FIG. 13, each process that represents various processes is represented by each block indicating a process, which is given a name such as “ESDA” or “VHDL Simulation” displayed in the area 902. Yes. In FIG. 13, the process is expressed as a block. However, there is no problem even if the process is expressed by a square shape, a round shape, or just a character, and any process can be used as long as it can express the process. In the present embodiment, it is relatively easy to input a rectangle, it is easy for the designer to recognize that some processing is being performed in the process, and the work content in the process is easily imaged by characters. For this reason, a rectangle with letters was used.
[0114]
The arrows displayed between the processes are used for the purpose of facilitating the designer to recognize the connection between processes, the transmission of data between the processes, and the input. Of course, it is also possible to express this arrow with other things.
[0115]
A diagram represented by blocks and arrows in this region 902 is referred to as a process related diagram in this embodiment.
[0116]
FIG. 14 shows another example of the process related diagram as a similar example of the process related diagram of FIG.
[0117]
In the present embodiment, processing of each process and its state change will be described based on the process related diagram shown in FIG. In FIG. 14, each process is simply shown as process 1, process 21, process 22, and the like. For example, “ESDA” in FIG. 13 corresponds to step 1 in FIG.
[0118]
In FIG. 14, the direction of the arrow between step 1 and step 22 is different from that in FIG. 13 because the flow of generated data is different. In the process related diagram of FIG. 13, the data generated in the process written “Timing” is an upward arrow for use in the process written “VHDL Simulation”. On the other hand, in FIG. 14, only the reference is performed without generating data in step 22, or data that is not used in the subsequent steps is generated, and thus the directions of the arrows are reversed. In FIG. 14, the direction of the arrow between step 3 and step 43 is different from that in FIG. 13 for the same reason.
[0119]
Of course, it is needless to say that many processes using process related diagrams other than those shown in FIGS. 13 and 14 may exist.
[0120]
And the process which each block in FIG. 14 shows has four states, an executable state, an unexecutable state, a selection state, and an execution state. Here, the executable state is a state where the process can be executed when the designer instructs the execution of the process. On the other hand, the inexecutable state is a state in which when the designer instructs execution of a process, the instruction is ignored and the process is not executed. The selected state is a state in which the process is selected by an instruction from the designer, and the execution state is a state in which the process is just being executed.
[0121]
Here, since the CRT display 103 is a color display, the object in the process related diagram is displayed in color. In this case, the process in the inexecutable state described above is “red” and the process in the executable state is “blue”. Then, each state is displayed in four colors, such as “yellow” for the process in the selected state and “white” for the process in the execution state.
[0122]
Of course, each state may be any combination of colors, but here it is easy to express, easy to recognize, and the effect of color (for example, red is a caution or prohibition effect) The combination of color and state was determined in consideration of Further, as an identification method other than color, it is also possible to display an object specifying the state on or around the block indicating the process. Further, the state of the process is not limited to these four classifications, and may be three or less classifications or five or more classifications.
[0123]
Whether each step can be executed depends on whether each step satisfies or does not satisfy a condition called “executable condition”.
[0124]
The executable condition in the present embodiment mainly refers to a condition determined by the rule information 702. In general, a condition such as whether or not a process preceding the target process is executable, This means a condition such as whether or not the data generated in the process before the target process is data used when the process is executed.
[0125]
In addition, a condition such as whether or not there is a “derivative relationship” between data used at the time of execution of the target process and data generated in the process before that process is one of the executable conditions. It is. This “derivative relationship” will be described in the sixth embodiment.
[0126]
Now, a process of sequentially verifying the state of each process shown in the process-related diagram in the region 902 from the first process to the last process will be described in detail with reference to FIG.
[0127]
FIG. 15 is a flowchart of the process state verification process.
[0128]
First, in step S111, the first (first) process is recognized. Next, in step S112, the executable conditions in the process are confirmed, and in step S113, it is determined whether or not the executable conditions in the process are satisfied. If the condition is satisfied, the process proceeds to step S114, and the display of the process is changed to the display of the startable state (normally, the unverified process is an initial state without color). In step S116, the next process is recognized. After the movement, in step S117, it is determined whether or not the presence of the next process is recognized. If the next process is recognized, the process is performed again from step S112. If not recognized, it is determined that all processes have been completed, and the process state verification process is terminated. In step S112, if the executable condition is not satisfied, the process proceeds to step S115, the process display is changed to the display of the inoperable state, and then the process proceeds to step S116, where the executable condition is satisfied. The same process is performed.
[0129]
The verification process shown in FIG. 15 can change a process that is in an executable state to an inexecutable state when the state is not set in each process in the initial state, or by setting target information or a CAD tool. This process is performed when there is a characteristic (detailed later). This is because in these cases, all the states must be verified from the first step.
[0130]
However, when a certain process is executed, the change due to the execution is limited to the process after the process in which the execution process is performed. Therefore, it is useless to perform the verification from the first process. A process that simplifies this will be described in detail with reference to the flowchart of FIG.
[0131]
FIG. 16 is a flowchart of the simplified verification process of the process state.
[0132]
First, in step S221, the next process of the executed process is recognized. Next, in step S222, the executable conditions in the process are confirmed, and in step S223, it is determined whether or not the executable conditions in the process are satisfied. When the condition is satisfied, the process proceeds to step S224, and the process display is changed to the display of the startable state. In step S225, the next process is recognized. After the movement, in step S226, it is determined whether or not the presence of the next process is recognized. If the next process is recognized, the process is performed again from step S222. If not recognized, it is determined that all processes have been completed, and the process state verification process is terminated.
[0133]
In step S223, if the executable condition is not satisfied, the process proceeds to step S227, where the process display is changed to the display of the unstartable state, and the next process is recognized in step S228. After the movement, in step S229, it is determined whether or not the next process is recognized. If the next process is recognized, the process is performed again from step S227. If not recognized, it is determined that all processes have been completed, and the process state verification process is terminated.
[0134]
Since the verification process shown in FIG. 16 manages the design process in one direction, it must be managed so that it cannot proceed to the next process unless the previous process is finished, so that the designer does not injure the wrong design operation. Yes. That is, it is possible to prevent an executable process from existing after the infeasible process.
[0135]
As described above, by selectively performing the inspection process in two process states, it is possible to execute a process according to the situation.
[0136]
<Process execution and state change>
Now, various examples in which one process is selected and executed from among a plurality of processes in a state where the process related diagram is displayed in the area 902 on the main panel 901 will be described below. To do.
[0137]
First, the change in the state of steps 21 and 22 when the process of step 1 in FIG. 14 is executed, that is, the change of the state of a plurality of steps as the next process when the process of one step is executed. This will be described with reference to FIG.
[0138]
FIG. 17 is a diagram illustrating a change in the process state when the process 1 is executed.
[0139]
In FIG. 17, it is assumed that a process surrounded by a thick line as in process 1 is in an executable state, and a block surrounded in a thin line as in process 2 is in an inexecutable state. This is a convenient display method employed because color display is not possible in the figure. In FIG. 17, by instructing the block of step 1 with an input device such as the mouse 104, the block of step 1 is selected, and the [Start] button 906 on the main panel 901 of FIG. 13 is selected. Then, it is possible to execute the process 1 in the executable state that is in the selected state. When selecting again, the [Cancel] button 907 on the main panel 901 may be selected. The selection can be made again by selecting another process. For example, when the process 1 to the process 21 that are in the selected state are selected, if the process 21 is selected with the mouse 104 as it is, the selected state of the process 1 is canceled and the process 2 is selected.
[0140]
This execution method is also used in the execution described later. Of course, it is possible to select and execute a process by other execution methods.
[0141]
Here, when the step 1 in the executable state is executed, the state of the step 21 and the step 22 in the non-executable state in the next step of the step 1 is caused by the change of the executable condition by the execution of the step 1. The state changes to the four states shown in the lower part of FIG. In the lower part of FIG. 17, steps 1, 21, and 22 in the region 902 on the main panel 901 are extracted and displayed as a region 1001.
[0142]
First, if the execution of step 1 could not be terminated properly for some reason (hereinafter referred to as “abnormal termination”) or the execution of step 1 was terminated correctly (hereinafter referred to as “normal termination”) Nevertheless, if the feasible conditions for the steps 21 and 22 are not satisfied, the process states of the steps 21 and 22 do not change.
[0143]
Next, when step 1 is normally completed and only the executable condition of step 21 is satisfied, only step 21 is changed to an executable state, and when only the executable condition of step 22 is satisfied, Only step 22 changes to an executable state. Furthermore, when both the step 21 and the step 22 satisfy the feasibility condition, both change to an executable state.
[0144]
Of course, the execution state change of the process 21 and the process 22 may be performed from either.
[0145]
Now, a specific example of the state change due to the executable condition will be given. For example, in step 1, when data A that is an executable condition of step 21 and data B that is an executable condition of step 22 can be generated, when process 1 ends abnormally, In the case where neither data A nor data B can be generated even though the process 1 is normally completed, the process states of the process 21 and the process 22 do not change. In addition, when step 1 is normally completed and only data A is generated, only step 21 is changed to an executable state, and when only data B is generated, only step 22 is changed to an executable state. However, when both data A and data B are generated, both change to an executable state.
[0146]
Even in the case where there are three or more next processes, the state change is determined by verifying the feasible conditions of each process. In the present embodiment, when there are a plurality of subsequent processes for a process to be executed, the process state can always be determined by the procedure shown above.
[0147]
FIG. 18 shows the change in the state of step 3 when the process of step 21 in FIG. 14 is executed, that is, the change in the state of one process that is the next step when the process of one step is executed. It explains using.
[0148]
FIG. 18 is a diagram illustrating a change in the process state when the process of the process 21 is executed.
[0149]
Here, in the relationship between the process 21 in the process relation diagram in the upper part of FIG. 18 and the process 3 which is the next process, by executing the block of the process 21 on the process relation diagram, the state of the process 3 is changed.
[0150]
First, when the process 21 is normally completed and the executable condition of the process 3 is satisfied, the process 3 changes to an executable state. Conversely, if the process 21 ends abnormally, or if the executable condition of the process 3 is not satisfied even though the process 21 ends normally, the process state on the screen does not change.
[0151]
In addition, a change in the state of steps 41, 42, and 43 when the process of step 3 is executed will be described with reference to FIG.
[0152]
FIG. 29 is a diagram illustrating a change in the process state when the process 3 is executed.
[0153]
In the upper part of FIG. 29, portions of Step 41, Step 42, Step 43, Step 51, and Step 52 in the region 902 on the main panel 901 are extracted and displayed as a region 1003.
[0154]
First, the change in the feasible condition of the next step 41, step 42, and step 43 due to the execution of step 3 is verified. Since the verification method is the same as the method described above, detailed description thereof is omitted. When all the next steps are ready to be executed, the next steps, step 51 and step 52, are further verified.
[0155]
Thus, there is no limit on the number of steps to be executed and the next step, and the feasible conditions are verified by the number of the next steps at the end of each execution step.
[0156]
<Outline of process work>
By the way, each process shown by a block is further comprised of a plurality of processes (referred to as operations in this embodiment).
[0157]
FIG. 19 is a diagram illustrating a schematic display example of work contents in a process.
[0158]
For example, when the process 1 that can be executed in the process related diagram of the area 902 as shown in the upper part of FIG. 19 is selected by an input device such as the keyboard 102 or the mouse 104, the main panel 901 shown in FIG. In a region 903 that is a blank portion below the region 902, a work schematic diagram shown in the lower part of FIG. 19 is displayed.
[0159]
This figure shows the work contents in the process 1, and clearly shows that the work 1-1 is processed by the execution of the process 1. For example, in step 1, if data is generated by the arithmetic processing unit 106 executing a program stored in the program storage device 111, the operation 1-1 represents the program.
[0160]
The symbols displayed in operation 1-1 of this operation schematic diagram are not limited to blocks, but are not limited to characters written on a rectangle, as in the case of displaying processes. There may be.
[0161]
In FIG. 19, when a process other than the process 1 is selected on the screen by the input device such as the keyboard 102 or the mouse 104 in a state where the process 1 is selected, instead of the outline of the work of the process 1, Displays an outline of the work of the selected process.
[0162]
Next, FIG. 20 is a diagram illustrating a schematic display example of work when a plurality of works exist in one process.
[0163]
For example, if three operations are aggregated in the executable process 1, by selecting the process 1, the operation schematic diagram in the area 903 includes a block indicating three operations and an operation described later. Arrow buttons “↑ button 1101” and “↓ button 1102” for shortening the contents are displayed on the upper right and lower sides. By operating this arrow button, the work content can be shortened. This button can be located anywhere, and the arrow image can be replaced with another image. The display example in FIG. 20 is adopted in consideration of operability and recognizability.
[0164]
The contents of the three operations shown in this operation schematic diagram are, for example, data conversion in operation 1-1, and generation of other data by reading the data converted in operation 1-1 in operation 1-2. In the operation 1-3, for example, the data generated in the operation 1-2 is converted again.
[0165]
The display of the outline of the operation | work of another process can also be expressed by the same method.
[0166]
Next, FIG. 21 is a display example when the outline of the work shown in the display example of FIG. 20 is changed by the work shortening process.
[0167]
21 is the same as that shown in the lower part of FIG. 20. In the upper part of FIG. 21, the designer uses the input device such as the keyboard 102 and the mouse 104 to press the “↑ button 1101”. When the instruction is given, the work content changes to a state in which only the work 1-1 is displayed as shown in the lower left diagram of FIG. This indicates that the work executed in the process 1 is only the work 1-1. The “↑ button 1101” is originally a button for increasing the number of operations in the process, but in this case, since there can be at most three operations in the process 1, the “↑ button 1101” is used. The work schematic diagram changes to display a minimum number of work contents.
[0168]
On the contrary, when the “↓ button 1102” is instructed, the work outline diagram changes as shown in the lower right diagram of FIG. Since the “↓ button 1102” is a button for reducing the number of operations, the number of operations decreases from three to two.
[0169]
When the “↑ button 1101” is instructed in the state of the lower left figure of FIG. 21, the state of the lower right figure is obtained, and when the “↓ button 1102” is instructed, the number of operations has already been minimized. It changes to the state which displays all the work contents like. Further, when the “↑ button 1101” is instructed in the state shown in the lower right diagram of FIG. 21, the state is as shown in the upper diagram.
[0170]
Of course, the change in the number of operations by this shortening process is not limited to the case where the maximum number of operations in the process is 3, but may be any number. Further, when a process is executed after such a shortening process, only the work displayed in the work schematic diagram in the area 903 is executed.
[0171]
Here, referring again to FIG. 17, an example of a case where this shortening process and a change in the process state are related will be given.
[0172]
In FIG. 17, the process 1 has three work contents such as work 1-1, work 1-2, and work 1-3. The work 1-1 converts the original data into data A, and the work 1-2. In this example, data B is created from data A, and operation 1-3 converts data B to generate data C. In addition, it is assumed that the executable condition of the process 21 is data A and data B, and the executable condition of the process 22 is data B.
[0173]
Under this condition, by the shortening process, the content of the work in the process 1 is changed to the state of the work 1-1 only, for example, as shown in the lower left diagram of FIG. When the data is output, neither the feasible condition of the step 21 nor the feasible condition of the step 22 is satisfied, so that the state after the execution of the step 1 is the lower leftmost state in FIG.
[0174]
Also, by the shortening process, the work contents in the process 1 are set to the work 1-1 and the work 1-2 as shown in the lower right diagram of FIG. When A and data B are output, both the feasible condition of step 21 and the feasible condition of step 22 are satisfied, so the state after the execution of step 1 changes to the lower right state of FIG. .
[0175]
Now, the flow of processing relating to the execution of the steps described so far and the change in the state of the steps will be described in more detail with reference to the flowcharts of FIG. 22, FIG. 23 and FIG. In other embodiments to be described later, the processes shown in these flowcharts are the basis.
[0176]
First, FIG. 22 is a basic flowchart regarding the process of selecting and executing a process by the operation of the designer and changing the number of operations in the process.
[0177]
In the area 902 on the main panel 901, a plurality of processes are displayed as process related diagrams. In step S121, what is instructed in the area 902 is determined. If any of the processes is instructed by the mouse 104 or the like, the process proceeds to step S122, the instructed process is selected, and the mask of the [Start] button 906 is released in step S123. When the work schematic diagram of the instructed process is confirmed in step S124, the process proceeds to step S125, and the work schematic diagram is displayed.
[0178]
When the [Start] button 906 is selected in step S121 in the state where this work schematic diagram is displayed, the execution process is performed in step S126, the [Start] button 906 is masked in step S127, and the process is performed in step S128. Cancel the selected state. If the [Cancel] button 907 is selected in step S121, the work outline is hidden in step S129, the [Start] button 906 is masked in step S130, and the process selection state is canceled in step S131. .
[0179]
If a plurality of operations exist in the selected process and the “↓ button 1102” is selected in step S121, the operation schematic diagram is confirmed in step S132, and the operation schematic diagram is displayed in step S133. It is determined whether or not the number of works is 1 (that is, the minimum). If it is 1, the work is maximized in step S135. If it is not 1, the work is reduced by 1 in step S134, and step S136. Redisplay the work schematic with. When the “↑ button 1101” is selected in step S121, the work schematic diagram is confirmed in step S137. In step S138, it is determined whether or not the number of works in the work schematic diagram is maximum. In step S140, the work is set to 1. If it is not the maximum, the work is incremented by 1 in step S139, and the work schematic diagram is redisplayed in step S141.
[0180]
Now, the execution process of step S126 will be described in more detail using the flowchart of FIG.
[0181]
Since other processes cannot be performed in parallel while the execution process is being performed, the main panel 901 is masked in step S151. Masking the main panel 901 means locking the panel and buttons so that other operations cannot be performed during the execution process. In step S152, it is confirmed which process is selected, and in step S153, the selected process is changed to an execution state. In step S154, it is determined whether there is design data to be used when the CAD tool is activated. If design data does not exist, error processing is performed in step S155, and the process ends. If design data exists, confirmation of the success or failure of securing the work location (directory for discharging output data) is confirmed in step S156. If the design data is unsuccessful, error processing is performed in step S155. In step S157, version management preprocessing (version management processing before starting the CAD tool) is performed. Next, in step S159, arguments necessary for starting the CAD tool are set. Information and arguments regarding the CAD tool are acquired from the rule information 702.
[0182]
Next, in step S161, it is determined whether the CAD tool has been successfully activated. If the activation fails, the error process of step S155 is performed. If the activation is successful, the success or failure of the environment setting is determined in step S163. If the setting fails, the error process of step S155 is again performed. If the setting is successful, the CAD tool is terminated in step S166, and the processing result is confirmed in step S167. If the result is an error, error processing is performed in step S155, and if not, the process proceeds to step S168.
[0183]
Next, in step S168, post-processing of version management (version management processing after starting CAD tool) is performed, the process state is confirmed in step S169, and the mask of the main panel 901 is released in step S170. Finally, in step S171, the work schematic diagram is hidden.
[0184]
Now, the error processing in step S155 will be described in more detail using the flowchart of FIG.
[0185]
In step S181, the restoration environment is deleted, the process selected in step S182 is deselected, the mask of the main panel 901 is released in step S183, and the work schematic diagram is hidden in step S184.
[0186]
Next, the version management preprocessing in step S157 will be described in more detail with reference to the flowchart of FIG.
[0187]
In step S191, it is checked whether or not there is a previous version of data to be input to the CAD tool to be activated. If the previous version data does not exist, error processing is performed in step S155, and if it exists, the process proceeds to step S192 to acquire the current version. In step S193, a temporary version that is one generation ahead of the current version is created. In step S194, the environment is restored mainly by copying design data. However, the process is different only when the first version is set. In this case, only the process for creating a temporary version and the process for creating a boot environment are included.
[0188]
Further, the post-processing of version management in step S168 will be described in more detail using the flowchart of FIG.
[0189]
In step S201, it is confirmed whether or not there is design data output by starting the CAD tool. If the output data does not exist, error processing is performed in step S155, and if it exists, the process proceeds to step S202, and it is confirmed whether the message output by starting the CAD tool is a specific message. In the present embodiment, the check is performed with two patterns: a message for recognizing an error and a message for normal termination. In step S204, switching is performed to raise the temporary version created in step S193 of the preprocessing to the current version. In step S205, the processing result is confirmed. If the result is an error, an error process is performed in step S155. If not, the process proceeds to step S206 to perform a history management process.
[0190]
Next, the history management process in step S206 will be described in more detail with reference to the flowchart of FIG.
[0191]
In step S211, the state of the history management data, which is currently registered history information, is checked. In step S212, the relationship between the design data output from the CAD tool and the input derived data is associated with the derived data. Registration processing is performed, and in step S213, the registration result is determined. If the registration result is an error, error processing is performed in step S155. If not, the process proceeds to step S214, and it is determined whether the history management information data file 401 exists. If the file exists, backup management processing is performed in step S215, and writing to the file is performed in step S216. This backup management process is a process for the history file and is performed through the “environmental data management function 310”. If the history file does not exist, the process proceeds to step S216 as it is, and writing to the file is performed. In step S217, the writing result is determined. If the write result is an error, an error process is performed in step S155, and if not, the process ends.
[0192]
As described above, according to the present embodiment, a plurality of processes are integrated and managed, and the designer can easily identify the state of each process.
[0193]
Moreover, the designer can easily recognize the change in the state of the process by displaying the process whose state is changed by executing the process while changing the color.
[0194]
In addition, since work in the process can be set, a more flexible design is possible.
[0195]
(Second embodiment)
Next, a modified example related to the first embodiment will be given and described as a second embodiment.
[0196]
In the first embodiment, when a process in an inexecutable state appears, the next process is always in an inexecutable state. However, an embodiment in which this is not the case is referred to as a second embodiment. Listed.
[0197]
When the direction of the arrow between Step 1 and Step 22 in FIG. 14 is upward, the data generated in Step 1 and Step 22 is used in Step 21, that is, processing of a plurality of steps is executed. The change in the state of one process, which is the next process, will be described with reference to FIG.
[0198]
FIG. 28 is a diagram illustrating a change in the process state when the process 1 and the process 22 are executed.
[0199]
In the lower part of FIG. 28, portions of Step 1, Step 21, and Step 22 in the region 902 on the main panel 901 are extracted and displayed as a region 1002.
[0200]
In the relationship between the process 1 and the process 22 and the process 21 which is the next process, the process can be executed from two states. In the upper part of FIG. 28, only the process 1 can be executed on the left side. In some cases, the right side shows a case where both are executable. In addition, since it deviates from the concept of the design process of having a unidirectionality from left to right, the process 1 cannot be executed and the process 22 cannot be executed. Therefore, this case is excluded.
[0201]
Then, in these two states, when the execution of each or both of step 1 and step 22 ends normally, the executable condition of step 21 is verified. According to the verification of the step 21, the step 21 changes to an executable state at the time when the executable condition is satisfied.
[0202]
Specifically, first, when step 1 is in an executable state and step 22 is in an inexecutable state, if step 1 ends normally and the executable condition of step 21 is satisfied, step 21 is in an executable state If both Step 1 and Step 22 are in an executable state, both Step 1 and Step 22 end normally, and if both of the Step 21 executable conditions are satisfied, Step 21 is executed. It changes to a possible state.
[0203]
(Third embodiment)
Next, a modified example related to the first embodiment will be given and described as a third embodiment.
[0204]
The third embodiment is an embodiment in the case where execution of a plurality of steps changes the state of a plurality of next steps. The process state inspection method is not different from the previous one.
[0205]
14, the direction of the arrow between step 3 and step 42 is downward, the direction of the arrow between step 3 and step 43 is upward, and the data generated in step 41, step 42, and step 43 is The change in the state of the process when used in the process 51 and the process 52 through the process 41 will be described with reference to FIG.
[0206]
FIG. 30 is a diagram illustrating a change in the process state when the processes 41, 42, and 43 are executed.
[0207]
In the upper part of FIG. 30, portions of step 41, step 42, and step 43 in region 902 on main panel 901 are extracted and displayed as region 1004, and portions of step 41, step 51, and step 52 are displayed in region 1005. Is taken out and displayed.
[0208]
If the process 41 is executable, the design data generated in each of the processes 42 and 43 is used in the process 41, so both the process 42 and the process 43 must be in an executable state. . In FIG. 30, the state change of the area | region 1005 when all the processes 41, 42, and 43 are executable is shown.
[0209]
Here, when each execution of the process 41, the process 42, and the process 43 is normally completed, the feasible conditions of the process 51 and the process 52 are verified. When the feasible conditions of the step 51 and the step 52 are satisfied, the state of the step changes to an executable state. This state change may be the same as already described.
[0210]
(Fourth embodiment)
The work in the process described above is a so-called program, and the program used as the work can be selected from candidates already prepared in the program storage device 111. In the present embodiment, this is called a CAD tool. The CAD tool selection process will be described in detail below.
[0211]
First, when selecting a CAD tool, a CAD tool selection panel 1301 as shown in FIG. 33 is displayed on the main panel 901 on the CRT display 103 in accordance with an instruction from an input device such as the keyboard 102 or the mouse 104. On the CAD tool selection panel 1301, the CAD tool corresponding to each process is selected or changed. Usually, a default CAD tool is designated in advance for each process.
[0212]
FIG. 33 is a diagram showing a CAD tool selection panel 1301 displayed on the main panel 901.
[0213]
In FIG. 33, a triangular mark button 1302 of the CAD tool selection panel 1301 is a sub-window display button. When this button is designated by an input device such as the mouse 104, the button 1302 is displayed in a text area on the right side of the button. A sub window 1305 as shown in FIG. 34 displaying a plurality of CAD tool candidates to be displayed is displayed at an arbitrary position on the CAD tool selection panel 1301.
[0214]
Reference numeral 1303 denotes an [OK] button for confirming selection, and reference numeral 1304 denotes a [Cancel] button for instructing cancellation.
[0215]
Here, the plurality of CAD tools displayed on the CAD tool selection panel 1301 are “ <MainFlow Tool>"and"<SubFlowTool> ”is divided into two, for example, in FIG. 13, a series of processes from“ ESDA ”to“ Release ”is“ Main Flow ”, and“ Timing ”is supplementarily supported. The added process group is called “Sub Flow”.
[0216]
Further, items on the left side of the CAD tool selection panel 1301 indicate the respective processes displayed on the screen of FIG.
[0217]
At the time of execution of each process, the CAD tool selected by the CAD tool selection panel 1301 is displayed in the text area on the right side of the sub window display button 1302 and started as a program for performing the work in the process. The
[0218]
An operation example for changing the CAD tool corresponding to “VHDLSimulation tool” on the CAD tool selection panel 1301 in FIG. 33 will be described. The subwindow display button 1302 on the right side of “VHDLSimulation tool” is instructed to display the setting subwindow 1305 as shown in FIG. 34, and the CAD tool to be changed by this operation is changed to the keyboard 102, mouse 104, etc. Specify with the input device. If “toolJ” is instructed as shown in FIG. 34, the setting sub-window 1305 is hidden, and as shown in FIG. 35, the text area in the “VHDLSimulation tool” line on the CAD tool selection panel 1301 "toolJ" is displayed. In addition, also when changing a CAD tool with respect to another process, a change process is realizable by the same process.
[0219]
After the selection of the CAD tool is completed, the change contents are updated, and the change operation is ended by pointing the [OK] button 1303 at the lower right of the CAD tool selection panel 1301. After the [OK] button 1303 is designated, the CAD tool assignment information 802 changing process and the process state re-inspection process are executed.
[0220]
On the contrary, in order to ignore the changed contents and end the changing operation, the [Cancel] button 1304 at the lower right of the CAD tool selection panel 1301 is instructed. After the [Cancel] button 1304 is instructed, the panel is not displayed and the original CAD tool is displayed in the text area.
[0221]
Then, after the CAD tool selection process, the CAD tool allocation information 802 is changed. However, in the CAD tool selection process, if the CAD tool is not changed at all, this process is not performed.
[0222]
FIG. 36 is a diagram showing an outline of the flow of processing related to CAD tool selection processing and CAD tool allocation information 802 change processing.
[0223]
The CAD tool assignment information 802 stored in the hard disk device 105 is as shown in the upper left of FIG. With this CAD tool assignment information 802, it is possible to easily grasp which process activates which CAD tool. Therefore, the CAD tool information change process is a process of changing the CAD tool allocation information 802 based on the CAD tool change by the CAD tool change process described above.
[0224]
In FIG. 36, CAD tool allocation information 802 is like a table showing the relationship between processes and CAD tools. The upper diagram shows the state before the change, and the lower diagram shows the state after the change. Further, here, for convenience, processes constituting the process related diagram are expressed by alphabetic names such as process A, process B,.
[0225]
For example, when the CAD tool in the process B is changed from “bbb” to “BBB” by the CAD tool selection process described above, the data regarding the process and the CAD tool output at the end of the CAD tool selection process are shown in FIG. As shown in FIG. 5, the relationship of “process B = bbb” is changed to “process B = BBB”. Then, the change result is written in the CAD tool assignment information 802. As shown in FIG. 36, the CAD tool assignment information 802 is changed from the upper figure to the lower figure.
[0226]
In addition, in the process in which the CAD tool is changed by the CAD tool selection process described above, if the data required in the next process is not generated, the process state after the next process changes. Therefore, when the CAD tool in the process is changed, it is necessary to execute the state inspection process of each process again. Hereinafter, the state inspection process will be described in detail with reference to FIG.
[0227]
FIG. 37 is a diagram showing the state inspection process after the CAD tool selection process.
[0228]
First, in the state in the upper left of FIG. Here, the process 3 is in an executable state, and the process 21, that is, the data A generated by the CAD tool A is an executable condition for the process 3.
[0229]
Now, when the CAD tool activated in the step 21 is changed from the CAD tool A to the CAD tool B by the CAD tool selection process described above, the state inspection is performed again in order from the step 1 for each step. If the CAD tool B activated in the step 21 has not generated the data A, the executable condition of the step 3 cannot be satisfied, so that the step 3 becomes inexecutable.
[0230]
Then, the flow of processing relating to the selection and change of the CAD tool corresponding to each step will be described in detail below using the flowchart of FIG.
[0231]
FIG. 38 is a flowchart of processing relating to selection and change of a CAD tool.
[0232]
In step S231, a tool change instruction is received from the designer. In step S232, a CAD tool selection panel 1301 is displayed. In step S233, the main panel 901 is masked. In step S234, it is determined whether or not there is a CAD tool that has already been set. If there is a CAD tool that has already been set, an existing CAD tool is acquired in step S235. A default CAD tool is acquired via the “management function 310”, and the process advances to step S237 to display the acquired CAD tool.
[0233]
Then, in step S238, it is determined what kind of instruction has been given, and if a CAD tool change is instructed, the process proceeds to step S239 to select the CAD tool to be changed on the CAD tool selection panel 1301. In step S240, the CAD tool name selected in the text area is displayed. Then, the process returns to the instruction waiting state in step S238.
[0234]
If the [OK] button 1303 is selected in step S238, the process advances to step S243, the CAD tool setting information is confirmed, and the CAD tool allocation information 802 is updated. Next, in step S244, it is confirmed whether or not there is an existing CAD tool. If there is, a backup process is performed, and the process proceeds to step S246. If not, the process proceeds to step S246. In step S246, the updated CAD tool assignment information 802 is stored in the hard disk device 105. In step S247, the main panel 901 is unmasked, and in step S246, the CAD tool selection panel 1301 is hidden. .
[0235]
If the [Cancel] button 1304 is selected in step S238, the process proceeds to step S241. In step S241, the mask of the main panel 901 is released, and in step S242, the CAD tool selection panel 1301 is hidden. . In other words, the CAD tool that was being set is discarded.
[0236]
Thus, according to the present embodiment, the setting of the CAD tool in each process can be performed very easily.
[0237]
Also, by displaying the main flow and the subflow separately, the designer can easily identify both.
[0238]
In addition, since a desired one can be selected from among a plurality of displayed candidates, the selection process becomes efficient.
[0239]
In addition, since the process state after the change of the CAD tool is immediately verified, the designer can easily identify the state change of each process.
[0240]
Further, since the panel is masked during the selection process, malfunction can be prevented.
[0241]
(Fifth embodiment)
An ASIC (referred to as a target in this embodiment) used in the processing in the above-described process can be selected from candidates already prepared in the hard disk device 105. Hereinafter, the setting process of information related to the target, so-called target information 803, will be described in detail.
[0242]
First, when setting the target information 803, a target information setting panel 1501 as shown in FIG. 39 is displayed according to an instruction from an input device such as the keyboard 102 or the mouse 104. In the present embodiment, the process is started when the [Target] button of the button group 904 on the main panel 901 is selected or when target information is not set when a new project is registered.
[0243]
FIG. 39 is a diagram showing a target information setting panel 1501 displayed so as to be superimposed on the main panel 901.
[0244]
In FIG. 39, an upper area 1502 of the target information setting panel 1501 is a vendor name setting area, and a blank area on the right side is a text area, which displays the vendor name selected in a setting subwindow 1508 described later. . A triangular button 1503 to the right of “Vendor:” is a sub-window display button. When this button is designated by an input device such as the mouse 104, the button 1503 is displayed in the text area on the right side of the button. A setting sub window 1508 displaying a plurality of vendor name candidates to be displayed as shown in FIG. 40 is displayed at an arbitrary position on the target information setting panel 1501.
[0245]
Reference numeral 1504 denotes a detailed item display area for displaying detailed items of five targets “Vendor”, “SeriesType”, “SeriesName”, “Package”, and “PinNum”, and 1505 is displayed in an area 1504. This is a candidate display area for displaying detailed item candidates.
[0246]
Reference numeral 1506 is an [OK] button for confirming the selection, and 1507 is a [Cancel] button for instructing cancellation.
[0247]
A target information setting panel 1501 in FIG. 39 is a panel when target information has not yet been set. The target to be used is determined by setting the following elements from this state. There are five target detailed items of “Vendor”, “SeriesType”, “SeriesName”, “Package”, and “PinNum” in the area 1504, and these settings are made in this order. The setting procedure is shown below.
[0248]
The label “Vendor” in the area 1502 indicates the ASIC vendor. When a sub window display button 1503 on the right side of “Vendor” is instructed by an input device such as the mouse 104, a setting sub window 1508 displaying a plurality of ASIC vendors as shown in FIG. 40 is displayed as a target information setting panel 1501. Display above.
[0249]
Here, when “Company F” is designated as shown in FIG. 40, the setting sub-window 1508 is not displayed, and the text area on the right side of the area 1502 on the target information setting panel 1501 is displayed as shown in FIG. , "Company F" is displayed.
[0250]
When the vendor name is confirmed, the detailed item “SeriesType” as the next confirmed item is displayed as a candidate in the candidate display area 1505 as shown in FIG. When the designer designates a desired candidate with an input device such as the mouse 104, “SeriesType” is confirmed, and the detailed item is written in the detailed item display area 1504 as shown in FIG. Displays the detailed items of “SeriesName” which is the next fixed item of “SeriesType”. At that time, the data of “SeriesType” in the hard disk 105 is read and information including “SeriesName” and below is secured on the data storage device 110 so that it can be freely extracted. Note that reading this information is not limited to the determination of “SeriesType”. When “SeriesType” is determined by the same method, the elements “Package” and “PinNum” are displayed in the candidate display area 1505 as shown in FIG. Then, when all items are confirmed, the state becomes as shown in FIG.
[0251]
After the confirmed content is updated as the target information 803, the [OK] button 1506 is instructed with the mouse 104 or the like in order to end. On the contrary, in order to cancel the set detail item and end, the [Cancel] button 1507 is instructed with the mouse 104 or the like. The saving of the target information 803 in the hard disk device 105 will be described later.
[0252]
Also, processing from the case where target information 803 has already been determined as shown in FIG. 44 for the target information setting panel 1501 in the initial state as shown in FIG. 39 will be described.
[0253]
Normally, in the state where the target information 803 as shown in FIG. 44 is confirmed, “Package” and “PinNum” can be changed by operating the candidate display area 1505 on the right side of the panel in the same manner as before.
[0254]
Also, when changing the vendor name from the state of the target information setting panel 1501 in FIG. 44, the sub window display button 1503 on the right side of the “Vendor:” label in the area 1502 is designated using an input device such as the mouse 104. The subsequent operations up to the confirmation are the same as described above. After the vendor name is determined, other items that have been set up to that point are initialized, and the determination proceeds from the panel state as shown in FIG.
[0255]
When “-UP-” in the candidate display area 1505 on the right side of the panel is selected from the state of the target information setting panel 1501 in FIG. 44, the fixed display of the “Package” and “PinNum” items is initialized, and one is displayed. The previous detailed item “SeriesName” is displayed in the candidate display area 1505. The state of the panel is as shown in FIG.
[0256]
If “-UP-” is further selected, the confirmation operation is further returned by one, and if any candidate of “SeriesName” is selected, the confirmation operation is advanced by one and the state shown in FIG. 43 is obtained. . When the “-UP-” element is determined when “SeriesType” is determined, the target information setting panel 1501 returns to the initial state.
[0257]
In this way, the existing setting contents can be changed.
[0258]
When the target information 803 is set or changed, the target information 803 set or changed is stored in the hard disk device 105. The target information 803 here is a generic name of values for determining a target, and refers to the above-described five items (from “Vendor” to “PinNum”). The target information 803 also updates the contents of the setting change information 701 shown in the outline of the setting change in FIG.
[0259]
FIG. 45 is a diagram showing an outline of the flow of processing related to selection processing and storage of target information 803.
[0260]
New target information is determined by the detailed item setting process for the target information 803 before change in the upper left of FIG. Then, the new target information is written in the hard disk device 105 in such a manner that the current target information is changed to the confirmed new target information.
[0261]
By confirming or changing the target information 803, the process state must be re-inspected. This is because the target information 803 may be included in the execution conditions for determining the process state. For example, when a chip A is used, data A is necessary as an execution condition, and when a chip B is used, data B can be an execution condition. Below, the example is demonstrated.
[0262]
FIG. 46 is a diagram showing the state inspection process after the target information 803 setting process.
[0263]
In the upper left process state of FIG. 46, the CAD tool activated in process 21 is CAD tool A. In step 3, since the data A generated by the CAD tool A in step 21 is an executable condition, if the data A is generated in step 21, step 3 is in an executable state.
[0264]
Here, by changing the setting of the target information 803 as shown in FIG. 46, the execution condition of the step 3 changes from the data A to the data B. If the state inspection is performed again from the step 1 after this change processing, the data B is not generated in the step 21, and therefore the condition of the step 3 cannot be satisfied. Therefore, the process 3 changes to an inexecutable state like the process of the upper right of FIG.
[0265]
However, since the change in the process state varies depending on the execution condition of the process, it is not always as described above. That is, there may be no change in the process state, or there may be a change in two or more process states.
[0266]
The flow of the target information 803 setting process using the target information setting panel 1501 will be described in detail below with reference to the flowcharts of FIGS. 47, 48, and 49.
[0267]
FIG. 47 is a flowchart of target information 803 setting processing using the target information setting panel 1501.
[0268]
In step S251, the main panel 901 is masked. In step S252, the target information setting panel 1501 is displayed. In step S253, it is determined whether data already exists on the target information setting panel 1501. If data exists, the process proceeds to step S254. If the change setting is made and the data does not exist, the process proceeds to step S255 to perform the initial setting.
[0269]
Next, the flow of the initial setting process in step S255 will be described in more detail using the flowchart of FIG.
[0270]
The target information 803 is always set from the upper level to the lower level. That is, if the upper data is determined, the lower data candidates can be determined. The same applies to the change setting in step S254.
[0271]
In step S261, it is determined what instruction has been received. If an ASIC vendor name is specified, the [OK] button 1506 is masked in step S262, the detailed item display area 1504 is initialized in step S263, and the specified vendor is specified in step S264. Recognize names. Next, in step S265, through the “environmental data management function 310”, it is determined whether or not there is a designated vendor in the vendor data file 504 in which the vendor name to be used is registered. In step S266, the vendor information is acquired. In step S267, the vendor name is displayed. In step S268, a list of detailed items is displayed in the candidate display area 1505. When this process ends, the process returns to the instruction waiting state in step S261.
[0272]
If a detailed item (in this case, information other than the ASIC vendor name) is set in step S261 after the vendor name is specified, the item selected on the list in step S270 is set. Judgment processing is performed. Here, in the candidate display area 1505, when “UP”, which is a special character that has the meaning of returning the setting operation to one higher level, is designated, the process proceeds to step S276, and the next item list is displayed again in the candidate display area 1505. In step S277, the text area corresponding to the detailed item display area 1504 is initialized, and the process returns to step S261. If any other list item is designated, the process advances to step S271 to display the designated item in the corresponding text area in the detailed item display area 1504. In step S273, the next item is displayed in the candidate display area 1505. Redisplay the item list. Further, in step S274, it is determined whether or not the designated detailed item is the final setting item. If the designated detailed item is the final setting item, it is assumed in step S275 that all the detailed items have been confirmed, and the [OK] button 1506 is clicked. The mask is released and the process returns to step S261. If there are remaining detailed items to be set, the process directly returns to step S261.
[0273]
If the [OK] button 1506 is selected in step S261 after all the detailed items have been set, the process proceeds to step S278, where the set target information 803 is determined. In step S279, the previous information is displayed. Check if the target information of exists. If it exists, a backup process is performed in step S280, and the process proceeds to step S281. If not, the process proceeds to step S281. In step S281, the set target information 803 is stored in the hard disk device 105. In step S282, the target information setting panel 1501 is hidden. In step S283, the mask of the main panel 901 is released, and the process is performed. finish.
[0274]
If the [Cancel] button 1507 is selected in step S261 after all the detailed items have been set, the process proceeds to step S284, the target information setting panel 1501 is hidden, and in step S285. The mask of the main panel 901 is released, and the process ends. That is, the setting contents are invalidated and the setting process is terminated.
[0275]
Next, the flow of change setting processing in step S254 will be described in more detail using the flowchart of FIG.
[0276]
This is processing when target information 803 that has already been set exists.
[0277]
First, it is necessary to read the set target information 803 as compared with the case of the initial setting process. In step S291, the target information 803 is read. In step S292, the result of reading is determined. If the reading fails, the process proceeds to the flow indicated by (1) in FIG. If the reading is successful, in step S293, the vendor name in the read target information 803 is displayed in the vendor name text area 1502, and the detailed item is displayed in the detailed item display area 1504. In step S294, it is determined what instruction has been received.
[0278]
If an ASIC vendor name instruction is given, the process proceeds to the flow indicated by (2) in FIG. 48. If the [OK] button 1506 is selected, (4) in FIG. If the [Cancel] button 1507 is selected, the flow moves to the flow indicated by (5) in FIG.
[0279]
If the detailed item is set in step S294, a determination process is performed for the item selected on the list in step S295. In the candidate display area 1505, when “UP”, which is a special character having the meaning of returning the setting operation to one higher level, is designated, the process proceeds to step S297, the [OK] button 1506 is masked, and the candidate display is displayed in step S298. In the area 1505, the next item list is displayed again. In step S299, the corresponding text area in the detailed item display area 1504 is initialized, and the flow proceeds to the flow indicated by (2) in FIG. If any other list item is designated in the candidate display area 1505, the process proceeds to step S296, where the designated item is displayed in the text area of the detailed item display area 1504. In (2) of FIG. Move to the indicated flow.
[0280]
Thus, according to this embodiment, setting of target information can be performed very easily.
[0281]
In addition, since the vendor name and detailed information can be selected in a hierarchy, the designer can select information step by step.
[0282]
In addition, since a desired one can be selected from among a plurality of displayed candidates, the selection process becomes efficient.
[0283]
Further, since the selection hierarchy can be returned to the upper level, correction can be easily made when the selection is wrong.
[0284]
Further, since the process state after setting the target information is immediately verified, the designer can easily identify the state change of each process.
[0285]
Further, since the panel is masked during the selection process, malfunction can be prevented.
[0286]
(Sixth embodiment)
Next, the sixth embodiment will be specifically described below by taking the execution of steps 1 and 21 in FIG. 31 as an example.
[0287]
FIG. 31 is an example of a process related diagram in the region 902.
[0288]
In FIG. 31, all processes are surrounded by a thick line as being executable.
[0289]
Here, it is assumed that the pre-process of the process 21 is the process 1 and the process 22, and the executable condition of the process 21 is data generated in the process 1. Then, when the process 22 is executed, the state of the process 21 is not changed, so that the process related diagram does not change. This is the correct state.
[0290]
However, if data is no longer generated in the execution of step 1, the state of the steps after step 21 will not be verified if the verification after step 21 is not performed even though step 21 becomes inexecutable. As a result, the state remains in an executable state, and a contradictory state occurs.
[0291]
Therefore, in order to solve this problem, it is necessary to sequentially verify the steps after the executed step (see FIG. 16 for the verification in such a case).
[0292]
When such verification is performed, if data of different versions is generated by execution of step 1 whose version has been changed by a plurality of execution processes, step 21 in which the data from step 1 is an executable condition is in an executable state However, since the data generated in step 21 is generated by the previous version of data generated in step 1, the data generated in step 21 and the current execution process from step 1 There is no derivation relationship (to be described in detail later) with the output data, and all the processes after the process 3 are in an inexecutable state.
[0293]
Incidentally, when data is not generated in the execution of the process 1, since the process 21 also does not generate data, all processes after the process 21 change to an inexecutable state. Further, when step 22 is executed, there is no influence on step 21, so even if the steps after step 21 are verified, all the steps remain in an executable state.
[0294]
Here, the “derivative relationship” described above will be briefly described. In the design management apparatus 101, the derivation management function 300-2 of the “data management function 201” manages the “derivation relationship” of data.
[0295]
In other words, this is to manage which data is generated. That is, in the case of the above example, the current data of the step 21 is not generated based on the data generated in the step 1 after the version change, and therefore execution is not permitted.
[0296]
In the present embodiment, this “derivative relationship” is also one of the executable conditions.
[0297]
Such “derivation relationship” of data changes depending on the version change due to the process of the process, and the flow of the process has already been described in detail as the version management process in the flowcharts of FIGS. 25 and 26. So please refer to it.
[0298]
Here, with reference to the schematic diagram of FIG. 32, the change in the “derivation relationship” of data when the CAD tool selection process described in the fourth embodiment is performed will be described in detail.
[0299]
First, in FIG. 32, based on the version 1 data 1 (data 1v1-1201) generated in step 1, the CAD tool B generates version vB1 data A (data AvB1-1204) in step 21. In such a case, a “derivative relationship” occurs between the two data.
[0300]
In this state, when the CAD tool in the process 21 is changed from the CAD tool B to the CAD tool A by the CAD tool selection process, the data A does not exist in the CAD tool A in the process 21 at the time of the change. Therefore, when the version of the data 1 output by executing the process 1 changes from the version v1 to the version v3, the CAD tool A uses the data of the version vA1 based on the data 1 of the version v3 (data 1v3-1202). A (data AvA1-1203) is generated. As a result, a “derivative relationship” occurs between the data 1 of the version v3 (data 1v3-1202) and the data A of the version vA1 (data AvA1-1203).
[0301]
Further, the CAD tool in step 21 is returned from CAD tool A to CAD tool B. At that time, the data of the process 1 is the data 1 of the version v3 (data 1v3-1202), and the data of the process 21 is the data A of the version vB1 (data AvB1-1204). Since there is no “derivative relationship” between them, CAD tool B again uses version vB2 data A (data AvB2-1205) based on version v3 data 1 (data 1v3-1202). You need to create and create a “derivative relationship”.
[0302]
In this process flow, the process state changes to the process state in the upper right of FIG. 37 by the CAD tool selection process. Since the change in the process state differs depending on the execution condition of the process, it does not necessarily become as described above. That is, there may be no change in the process state, or there may be a change in two or more process states.
[0303]
For example, in the case where all processes are executable in FIG. 37, when the CAD tool in process 2 is changed from CAD tool A to CAD tool B as described above, CAD tool B does not hold data A. If there is no derivation relationship with data 1, step 3 is in an inexecutable state. At the same time, all the subsequent processes are in an inexecutable state as a result of the state inspection process described above.
[0304]
Next, a method for managing information (hereinafter referred to as derivation relationship information) indicating the “derivation relationship” between data will be described in more detail with reference to FIGS. In FIGS. 71 to 75, a model in which the three steps of step 1, step 2, and step 3 are sequentially processed in this order is considered.
[0305]
71 to 74 are diagrams showing a method of managing derivation relationship information between data.
[0306]
In FIG. 71, it is assumed that program A is assigned to process 1 and program B is assigned to process 2. Data 1.01 is generated by executing the process 1 using the program A. In addition, data 2.01 is generated by executing the process of step 2 using program B on the data 1.01 generated in step 1. At this time, a “derivative relationship” is established between data 1.01 and data 2.01. In the present embodiment, this derivation relationship information is stored in the data storage device 110 for each process.
[0307]
First, in the case of step 1, since there is no derivation source data,
NoData → Program A: Data 1.01
Recognize by the relationship. In the case of process 2, data 1.01 is used as the derivation source data.
Program A: Data 1.01 → Program B: Data 2.01
Recognize by the relationship. The expression shown here is merely an easy-to-understand description, and does not indicate the data configuration in the data storage device 110. Here, only the CAD tool (program) and the data generated by its execution are recognized and its “derivative relationship” is expressed. Of course, other conditions may be taken into account. .
[0308]
In the present embodiment, the presence / absence of the “derivative relationship” is verified from the relationship between the derivation relationship information and the version information of the current data (latest data) generated in each process. For example, in FIG. 71, it can be said that there is a “derivative relationship” between the data 2.01 which is the current data of step 2 and the data 1.01 which is the current data of step 1.
[0309]
Next, from the state of FIG. 71, as shown in FIG. 72, when the program assigned to step 2 is changed from program B to program C, step 2 has two data flows. One is a flow in which data is updated by the program B, and the other is a flow in which data is updated by the program C. After the program assigned to step 2 is changed, when step 2 is executed by program C, data 2.01 is generated as shown in FIG. 72, and this data becomes current data. Therefore, the derivation relationship information is
Program A: Data 1.01 → Program C: Data 2.01
Recognized by the relationship. Although the program that generated the data is different, the derivation source data is the same, so the version number 2.01 attached to the data is the same as in the case of the program B.
[0310]
Although the data flow of the program B and the program C is shown here, of course, the data flow is not limited to two and may be more than that.
[0311]
Next, from the state of FIG. 72, as shown in FIG. 73, data is regenerated in each step again in the order of step 1 and step 2. The version of each data is increased by 1 (hereinafter referred to as version upgrade). That is, as shown in FIG. 73, version 1 is upgraded to data 1.02 in step 1, and version 2.0 is upgraded to data 2.02 in step 2. At this time, the derivation relation information of data 2.02, which is the current data of process 2, is
Program A: Data 1.02 → Program C: Data 2.02
Recognized by the relationship. As can be seen from this relationship, it can be said that there is a “derivative relationship” between the data 2.02 which is the current data of the process 2 and the data 1.02 which is the current data of the process 1.
[0312]
Finally, from the state of FIG. 73, the CAD tool executed in step 2 is changed from program C to program B again. Then, although the current data of the process 1 remains as data 1.02, the current data of the process 2 returns to the data flow of the program B due to the change of the CAD tool and becomes the data 2.01. At this time, the derivation relationship information of data 2.01, which is the current data of process 2, is
Program A: Data 1.01 → Program B: Data 2.01
Therefore, it can be said that there is no “derivative relationship” with the data 1.02 which is the current data of the process 1.
[0313]
Therefore, in order to establish a derivation relationship with the current data in step 1, step 2 must be re-executed. As shown in FIG. 74, the re-execution of step 2 changes the current data of step 2 to data 2.02, so a “derivative relationship” is established with data 1.02 which is the current data of step 1. To do.
[0314]
Then, in connection with this series of process steps, the transition of the feasible state of each step, step 2, and step 3 will be described in detail below.
[0315]
FIG. 75 is a diagram showing a change in process state and a change in data version information.
[0316]
In FIG. 75, it is assumed that the executable condition of step 2 is the generation of data 1.xx in step 1, and the executable condition of step 3 is the generation of data 2.xx in step 2. In addition, as an initial state, a state where data is not yet generated in each process is considered.
[0317]
Now, the “derivation relationship” and the transition of the process state in the following eight processes will be described.
(1) Step 1 is executed to generate data 1.xx (hereinafter, it is assumed that the execution of the step always ends normally and necessary data is generated).
(2) Step 2 is executed.
(3) The tool assigned to step 2 is changed from program B to program C.
(4) Perform step 2.
(5) Perform step 1.
(6) Perform step 2.
(7) The tool assigned to step 2 is changed from program C to program B.
(8) Perform step 2.
[0318]
Here, first, only the process 1 is in an executable state, but the process 2 is also changed into an executable state by (1). Next, according to (2), step 3 is also changed to an executable state. Next, due to (3), since there is no “derivative relationship” between the current data of step 1 and the current data of step 2, step 3 becomes inexecutable. Then, because of (4), a “derivative relationship” is established between the current data of step 1 and the current data of step 2, so that step 3 becomes executable again.
[0319]
Further, because of (5), there is no “derivative relationship” between the current data of step 1 and the current data of step 2, so that step 3 becomes inexecutable again. Then, because of (6), a “derivative relationship” is established between the current data of step 1 and the current data of step 2, so that step 3 becomes executable again. Next, due to (7), since there is no “derivative relationship” between the current data in step 1 and the current data in step 2, step 3 becomes inexecutable again. Finally, because of (8), a “derivative relationship” is established between the current data in step 1 and the current data in step 2, so that step 3 becomes executable again.
[0320]
Thus, according to the present embodiment, since the difference in data version is also taken into consideration as an executable condition, more accurate verification can be performed when verifying the process state.
[0321]
(Seventh embodiment)
In order to perform the change process of the input / output buffer information in the present embodiment, a process of generating HDL (hardware description language) including the input / output buffer information in the process group executed by the design management program 112; It is essential to include two steps of changing the input / output buffer information in the generated HDL. Further, the input / output buffer information in this embodiment is used in an ASIC including an FPGA, and is the same as the input / output buffer information 801 in FIG.
[0322]
The input / output buffer information changing process will be described in detail below with reference to FIGS.
[0323]
FIG. 50 shows the work contents of process 1 and process 3 in the process related diagram in the process group display area 902 displayed in the work content display area 903.
[0324]
In the process related diagram of FIG. 50, first, HDL is generated in process 1, and then in step 3, the input / output buffer information in the HDL generated in process 1 is changed, and then the HDL is generated. An example of converting data into different data is shown. It is also possible to change the input / output buffer information again using the different data converted in step 3.
[0325]
Here, the contents of work in step 1 and step 3 in FIG. 50 will be described in detail.
[0326]
First, in the HDL generation process in step 1, data A, which is an HDL file including input / output buffer information, is generated according to an input instruction from the designer. This data A is used in step 3 after step 21. In this step 1, the data A may be generated by any method. For example, a design tool commercially available from an electric CAD vendor or a text editor may be used. In addition, the HDL may be generated not only in the process 1 but in other processes, but the HDL generation process must be performed before the input / output buffer information change process. This is because HDL includes input / output buffer information.
[0327]
Next, in step 3, based on the data A generated in step 1, the input / output buffer information in the data A is changed according to the instructions of the designer, and then used in the steps after step 3. Two operations are performed to convert data A to data B as appropriate.
[0328]
It should be noted that the work content of step 3 presented here is merely an example for explanation, and there may be processing other than the change of input / output buffer information and data conversion, and the processing order is not limited. In the present embodiment, in order to simplify the description, the processes other than the change of the input / output buffer information and the data conversion are not performed, and both processes are performed without changing the order.
[0329]
Here, the two work contents in the process 3 will be described in more detail.
[0330]
First, an input / output buffer information setting panel 2001 as shown in FIG. 51 is displayed on the main panel 901 on the CRT display 103 in accordance with an instruction from an input device such as the keyboard 102 or the mouse 104, and this input / output buffer information is displayed. On the setting panel 2001, the input / output buffer information is changed.
[0331]
FIG. 51 is a diagram showing an input / output buffer information setting panel 2001 displayed on the main panel 901.
[0332]
By the button operation on the input / output buffer information setting panel 2001, it is possible to switch from the default mode of the initial state to the three operation modes of the item setting mode, the group division mode, and the pin movement mode.
[0333]
In FIG. 51, an item setting mode is set by instructing a setting button 2002 using an input device such as a keyboard 102 or a mouse 104. Further, when the division button 2003 is designated, the group division mode is set, and when the movement button 2004 is designated, the pin movement mode is set. When an end button 2005 is instructed, the input / output buffer information setting panel 2001 is closed and the processing is ended.
[0334]
In FIG. 51, 2006 is a column for displaying group names, 2007 is a column for displaying input / output buffer names, and 2008 is a column for displaying pin information registered in each group. is there.
[0335]
Further, between the column 2006 and the column 2007, there are a column for displaying drive information and a column for displaying power supply voltage information. The drive information here is the amount of current that can be passed through the input / output buffer, and the power supply voltage information is the voltage of the power supply that supplies energy to the input / output buffer. The input / output buffer information in this embodiment includes all of these drive information, power supply voltage information, and input / output buffer names. (Note that temperature information may be included.)
[0336]
Note that 2009 is a line for displaying the related information of the group PG1, followed by the lines of the group PG2 and the group PG3. As described above, in FIG. 51, the pins are grouped. In this embodiment, the pin grouping is performed by the process management apparatus 101 of the input, output, input / output, etc. It is based on the difference of types. (You may judge by the name of the pin.)
[0337]
When the designer gives an instruction to execute step 3 using an input device such as the mouse 104, an input / output buffer information setting panel 2001 is displayed. On the input / output buffer information setting panel 2001, detailed information read from the data A, such as drive information, power supply voltage information, and input / output buffer names, is displayed for each group.
[0338]
In FIG. 51, in the group PG1, pin information is set in advance such as p1, p2, p3, etc., but drive information, power supply voltage information, and input / output buffer names are not set. This is because there was no existing setting information, or even if there was existing setting information, it was inconsistent with the grouped data. That is, conversely, if the existing setting information exists and matches with the grouped data, the details from the drive information on the input / output buffer information setting panel 2001 to the input / output buffer name column are detailed. Information will be displayed.
[0339]
Also, when there are a large number of pins, such as PG1 registration pins, only the displayable area is displayed. Of course, it is possible to enlarge the display area and display all the registered pins, but here, up to three are displayed in consideration of the appearance on the display.
[0340]
In FIG. 51, there are two columns of items for narrowing candidates for input / output buffer names between the group name column 2006 and the pin information column 2008, and the input / output buffer names are set. There is one column for this, and there are three columns in total, but of course the number of columns is not limited to three. There are two main methods for setting input / output buffer information as follows. One is a method of narrowing down input / output buffer name candidates by specifying drive information and power supply voltage information. The other is a method of directly narrowing down input / output buffer names without narrowing down. It is a method of setting.
[0341]
Now, setting of input / output buffer information by the former method will be described.
[0342]
First, when the designer designates the setting button 2002 at the top of the input / output buffer information setting panel 2001 using an input device such as the mouse 104, the item setting mode is set, and items can be set. Here, as shown in FIG. 52, when an area 2010 that overlaps a column corresponding to a target group (here, PG2) and a setting item (here, drive information) is designated by an input device such as a mouse 104 or the like. As shown in FIG. 53, a sub window 2011 displaying a list of element elements is displayed on the input / output buffer information setting panel 2001. Here, when the designer instructs to select a desired element from among them, the sub-window 2011 is closed, and the selected element is displayed in the area 2010.
[0343]
At this time, processing performed by the arithmetic processing unit 106 inside the apparatus will be described as follows.
[0344]
First, the arithmetic processing unit 106 writes the drive information instructed to be selected into the data storage device 110 that secures the group related information. When it is determined that the input / output buffer name candidates are sufficiently narrowed down, the designer is instructed to set the input / output buffer name next, and when it is determined that the narrowing down is insufficient. Instructs the designer to set the power supply voltage information, and when the designer sets the power supply voltage information, he further refines the candidates and finally sets the input / output buffer name to the designer. Instruct. A configuration may be adopted in which the designer himself / herself determines whether or not the candidate input / output buffer names are sufficiently narrowed down and makes further settings.
[0345]
The setting of the input / output buffer name is the same as the setting of the drive information and the power supply voltage information, and the sub-window 2011 is opened and an instruction is made with an input device such as the mouse 104. Here, when displaying the sub-window 2011, since the candidates for the input / output buffer names are narrowed down in advance by setting the drive information and the power supply voltage information, only the narrowed elements are displayed.
[0346]
Next, setting of input / output buffer information by the latter method will be described.
[0347]
In this case, since the input / output buffer name is set immediately without setting the drive information and the power supply voltage information, the candidates are not narrowed down, and all candidates of the input / output buffer name are displayed when the sub-window 2011 is displayed. Will be displayed. However, this setting method is effective when the number of input / output buffer name elements is small.
[0348]
Note that the drive information, power supply voltage information, and input / output buffer name displayed in the sub window 2011 correspond to the target information set in the fifth embodiment. That is, it can be said that the input / output buffer information is narrowed down in advance by setting the target information in the fifth embodiment.
[0349]
Next, group division processing in the input / output buffer information setting panel 2001 will be described in detail below.
[0350]
First, the group division process is a process of dividing one group displayed on the input / output buffer information setting panel 2001 into a plurality of groups. Originally, it is more efficient to set I / O buffer information for each group, but if there are pins that need to set different I / O buffer information in the same group, , Group division must be done.
[0351]
An example of group division processing will be given below.
[0352]
First, when the designer instructs the division button 2003 using an input device such as the mouse 104, the group division mode is set. Further, when the area where the column displaying the pin information and the group row to be divided are instructed, a sub-window similar to 2011 is displayed, and the instructed is displayed on the sub-window. The pins included in the group are displayed. Therefore, when the designer selects all the pins to be divided and instructs the end button 2005, the subwindow is hidden, and new group data based on the selected pin is stored in the data storage device 110. Is constructed and the original group is split into two. After the group division, one new group row is added on the input / output buffer information setting panel 2001, and the screen is displayed again.
[0353]
For example, assuming that there are ten pins PG1 to p10 in the group PG1 shown in FIG. 51, when the designer instructs the group PG1 to divide the even number pins, the even number pins are excluded from the group PG1 after the division. The group consisting of odd pins p1, p3, .., p9, and the group consisting of even pins p2, p4,. A certain PG1 ′ is given and registered in the data storage device 110, and the division of the group is completed. At this time, if the input / output buffer information is already set in the group PG1, the division including the input / output buffer information is performed, and the input / output buffer information of the group PG1 ′ newly generated after the division of the group is Same setting as group PG1. The input / output buffer information of the group PG1 ′ can be changed according to the setting process described above.
[0354]
Further, as a result of dividing the group, the designer may want to return some of the pins to the original group. In such a case, it is necessary to move the pins between groups. Hereinafter, an example of the pin movement process in the input / output buffer information setting panel 2001 will be described in detail.
[0355]
First, when the designer instructs the movement button 2004 using an input device such as the mouse 104, the pin movement mode is set. Further, when an area where the row of the group to which the pin is moved and the column displaying the pin information intersects is designated, a sub window similar to 2011 is displayed, and other sub windows are displayed on the sub window. All the movable pins of the group are displayed. Then, when the designer instructs to select all the pins to be moved and instructs the end button 2005, the sub-window is hidden, and between the groups in the data storage device 110 based on the selected pins. The pin is moved and the group data is reconstructed. After the pin is moved, on the input / output buffer information setting panel 2001, the pin information to which the selected pin is added is displayed in the pin information display area of the move destination group, and the pin information of the move source group is displayed. In the display area, pin information obtained by deleting the moved pin is displayed.
[0356]
For example, when moving p1 and pp1 of group PG1 and group PG2 to group PG3 shown in FIG. 51, the designer moves the pin information display area (area where ppp is displayed) of group PG3 with mouse 104 or the like. When instructed, a subwindow (not shown) having a pin information candidate similar in form to the subwindow 2011 is displayed. Further, p1 and pp1 are instructed on the subwindow, and the end button 2005 is instructed. The sub window is hidden, the pin information display area of group PG1 is changed to "p2, p3, p4, ...", and the pin information display area of group PG2 is displayed as "pp2, pp3" In addition, the pin information display area of the group PG3 is changed to “p1, pp1, ppp”.
[0357]
When the end button 2005 is instructed after the series of input / output buffer information change processing is completed, the input / output buffer information setting panel 2001 is closed, and at this time, the input / output buffer information is output. In addition, replacement processing of the input / output buffer information of data A and the set input / output buffer information is performed. Then, the data A changed by the replacement result is further converted into data B, and all the operations in step 3 are completed.
[0358]
Then, after the completion of all the operations in the step 3, when the state inspection of the step is performed again from the step 1, the state of the subsequent step can be determined according to the result of the input / output buffer information change process in the step 3. it can.
[0359]
Now, the flow of the input / output buffer information changing process using the input / output buffer information setting panel 2001 will be described in detail below with reference to the flowcharts of FIGS.
[0360]
FIG. 54 is a flowchart of pre-processing for changing input / output buffer information.
[0361]
In step S301, it is determined whether an HDL file exists. When it exists, it progresses to step S302, and when it does not exist, it progresses to step S312 and performs an error process. In the error processing in step S312, data is initialized and an error message is displayed. Next, in step S302, pin information such as the name and type of the pin connected to the highest block of the ASIC is extracted from the HDL file. In step S303, it is determined whether or not the extracted pin information exists. Check. If it exists, the process proceeds to step S304. If it does not exist, the process proceeds to error processing in step S312.
[0362]
Next, in step S304, the input / output buffer information setting panel 2001 is displayed, and in step S305, it is confirmed whether or not design data including the pin information extracted in step S302 exists for the change process. When it exists, it progresses to step S306, and when it does not exist, it progresses to the error process of step S312. Next, in step S306, those design data are read, and the process proceeds to step S307.
[0363]
In step S307, it is determined whether or not previously set information exists. If it exists, the process proceeds to step S310. If not, the process proceeds to step S308, and related information is grouped by pin information. Then, a series of processing is completed. In step S310, it is determined whether or not the previously set information matches the pin information read this time, that is, if they are substantially the same group. If they match, the process proceeds to step S311 and the previously set information is set. Based on the information, the related information is grouped, and a series of processing is completed. If they do not match, the process proceeds to step S308, where the related information is grouped based on the pin information, and the series of processing ends.
[0364]
After the end of this flowchart, the operation is waiting for the designer.
[0365]
FIG. 55 is a flowchart of input / output buffer information change processing following the preprocessing shown in FIG.
[0366]
In step S321, it is determined what instruction has been received. If it is determined that the setting button 2002 has been selected, it is determined in step S322 whether or not the item setting mode has already been entered. If the item setting mode has been entered, the process proceeds to step S323. The mode is canceled and the process returns to step S321. If another mode is selected, the process proceeds to step S324 to determine whether the default mode is the initial state. If it is not the default mode, the selected mode is canceled in step S325, and then the process proceeds to step S326. If it is the default mode, the process proceeds to step S326 as it is. In step S326, an item setting process is performed.
[0367]
If it is determined in step S321 that the division button 2003 has been selected, it is determined in step S327 whether the group division mode has already been entered. If the group division mode has been entered, step S328 is performed. , The mode is canceled, and the process returns to step S321. If another mode is selected, the process proceeds to step S329 to determine whether the default mode is the initial state. If it is not the default mode, the selected mode is canceled in step S330 and then the process proceeds to step S331. If it is the default mode, the process proceeds to step S331 as it is. In step S331, group division processing is performed.
[0368]
If it is determined in step S321 that the move button 2004 has been selected, it is determined in step S332 whether or not the pin movement mode has already been entered. If the pin movement mode has been entered, step S333 is determined. , The mode is canceled, and the process returns to step S321. If another mode is selected, the process proceeds to step S334 to determine whether the default mode is the initial state. If it is not the default mode, the selected mode is canceled in step S335 and then the process proceeds to step S336. If it is the default mode, the process directly proceeds to step S336. In step S336, pin movement processing is performed.
[0369]
If it is determined in step S321 that the end button 2005 has been selected, it is determined in step S337 whether the default mode is in the initial state. If it is not the default mode, the selected mode is canceled in step S338 and then the process proceeds to step S339. If it is the default mode, the process directly proceeds to step S339. In step S339, end processing is performed, and a series of processing ends.
[0370]
Next, the flow of the item setting process in step S326 will be described in more detail using the flowchart of FIG.
[0371]
In step S341, it is determined what instruction has been received. If it is determined that the area of the drive information column has been designated, it is determined in step S342 whether or not a sub-window has already been displayed. If it is displayed, the sub-window is hidden in step S343, and the process returns to step S341. If it is not displayed, the process advances to step S344 to determine whether or not the instructed position is within the group row area. If it is determined that the area is out of the area, the process returns to step S341. If it is determined that the area is out of the area, the process proceeds to step S345 to determine the instructed group. In step S346, a sub window is displayed. In step S348, drive information of the instructed group is displayed on the sub window, and the process returns to step S341.
[0372]
If it is determined in step S341 that the area of the power supply voltage information column has been specified, it is determined in step S349 whether or not a sub-window has already been displayed. If it is displayed, the sub-window is hidden in step S350 and the process returns to step S341. If not, the process proceeds to step S351 to determine whether or not the instructed position is within the group row area. If it is determined that the area is out of the area, the process returns to step S341. If it is determined that the area is out of the area, the process proceeds to step S352 to determine the instructed group. In step S353, a sub window is displayed. In step S354, the power supply voltage information of the instructed group is displayed on the sub window, and the process returns to step S341.
[0373]
If it is determined in step S341 that the input / output buffer name column area has been designated, in step S355, input / output buffer name display processing is performed, and the process returns to step S341.
[0374]
If it is determined in step S341 that an item in the sub-window has been selected, item designation processing is performed in step S356. In step S357, it is determined whether or not the input / output buffer name selection instruction has been completed. If it is determined that the input / output buffer name selection instruction has not ended, the process returns to step S341. Terminate the process.
[0375]
Next, the flow of input / output buffer name display processing in step S355 will be described in more detail using the flowchart of FIG.
[0376]
In step S361, it is determined whether a subwindow has already been displayed. If it is displayed, the sub-window is hidden in step S362, and the process ends. If not displayed, the process proceeds to step S363 to determine whether or not the instructed position is within the group row area. If it is determined that the area is out of the area, the process is terminated. If it is determined that the area is out of the area, the process proceeds to step S364 to determine the instructed group.
[0377]
In step S365, a sub-window is displayed. In step S366, it is determined whether drive information is set. If it is determined that it has been set, in step S367, the input / output buffer names are narrowed down based on the set drive information, and the process proceeds to step S368. On the other hand, if it is determined that it has not been set, the process directly proceeds to step S368. In step S368, it is determined whether power supply voltage information is set. If it is determined that it has been set, in step S369, the input / output buffer names are narrowed down based on the set power supply voltage information, and the process proceeds to step S370. If it is determined that it has not been set, the process proceeds to step S370 as it is. In step S370, the input / output buffer name to be displayed as a candidate is determined, and in step S371, it is displayed on the subwindow.
[0378]
Next, the flow of the item designation process in step S356 will be described in more detail using the flowchart of FIG.
[0379]
In step S381, it is determined what instruction has been received. If it is determined that the sub window is instructed, it is determined in step S382 whether or not an item in the sub window is instructed. If a portion other than the item is instructed, the process returns to step S381, and if an item is instructed, the instructed item is displayed in reverse in step S383, and the process returns to step S381.
[0380]
If it is determined in step S381 that an instruction for confirming the highlighted selection item has been issued, the confirmed selection item is displayed in the designated area on the input / output buffer information setting panel 2001 in step S384. To display. In step S385, the confirmed selection item is registered in the data storage device 110, and the process proceeds to step S386.
[0381]
In step S386, it is determined whether or not the confirmed selection item is an input / output buffer name. If it is determined that the selected item is an input / output buffer name, regardless of the previous narrowing-down process, in step S387, Drive information corresponding to the determined input / output buffer name is set, and in step S388, the corresponding power supply voltage information is set, and the process proceeds to step S391. If it is determined that the name is other than the input / output buffer name, the process advances to step S389 to determine whether the input / output buffer name has been set. If it is determined that it has been set, the input / output buffer name is initialized in step S390, and the process proceeds to step S391. If it is determined that it has not been set, the process proceeds to step S391. In step S391, the sub-window is hidden and the process ends.
[0382]
If it is determined in step S381 that the outside of the sub-window has been instructed, the sub-window is hidden in step S392, and the process ends.
[0383]
Next, the flow of group division processing in step S331 will be described in more detail using the flowchart of FIG.
[0384]
In step S401, it is determined what instruction has been received. If it is determined that the pin information row area has been designated, it is determined in step S402 whether or not a sub-window has already been displayed. If it is displayed, the sub-window is hidden in step S403, and the process returns to step S401. If not displayed, the process proceeds to step S404 to display a subwindow, and in step S405, pin information is displayed on the subwindow, and the process returns to step S401.
[0385]
If it is determined in step S401 that an item in the sub-window has been instructed, it is determined in step S406 whether or not the instructed item is in a selected state. In step S407, the selection state of the instruction item is canceled, and the process returns to step S401. If it is in an unselected state, in step S408, the instruction item is selected, a display change such as inversion is performed, and the process returns to step S401.
[0386]
If it is determined in step S401 that an item outside the sub-window has been designated, it is determined in step S409 whether or not the sub-window has already been displayed. If it is displayed, the sub-window is hidden in step S410 and the process returns to step S401. If it is not displayed, the process directly returns to step S401.
[0387]
If it is determined in step S401 that the end button 2005 has been selected, it is determined in step S411 whether the number of items in the selected state in the sub-window is zero. If the number of items is other than 0, the process proceeds to step S412, where the selected item is divided, and in step S413, the original group is divided based on the divided items. In step S414, a new group is created based on the divided items. In step S415, the group group including the new group is displayed again on the input / output buffer information setting panel 2001. In step S416, the subgroup is displayed. The window is hidden and a series of processing is terminated. If the number of items is 0 in step S411, the process proceeds to step S416 as it is and the subwindow is not displayed.
[0388]
Next, the flow of the pin movement process in step S336 will be described in more detail using the flowchart of FIG.
[0389]
In step S421, it is determined what instruction has been received. If it is determined that the pin information row area has been designated, it is determined in step S422 whether or not a sub-window has already been displayed. If it is displayed, the sub-window is hidden in step S423, and the process returns to step S421. If not displayed, the process proceeds to step S424 to display a sub-window, and in step S425, the pin type of the instruction target group is acquired. In step S426, the same type of pin as the acquired type is extracted from the group other than the instruction target. In step S427, the extracted pin is displayed on the subwindow, and the process returns to step S421.
[0390]
If it is determined in step S421 that an item in the sub-window has been specified, it is determined in step S428 whether or not the specified item is in a selected state. In step S429, the selection state of the instruction item is canceled, and the process returns to step S421. If it is in the unselected state, in step S430, the instruction item is selected, a display change such as inversion is performed, and the process returns to step S421.
[0390]
If it is determined in step S421 that an item outside the sub-window has been designated, it is determined in step S431 whether or not the sub-window has already been displayed. If it is displayed, the sub-window is hidden in step S432, and the process returns to step S421. If it is not displayed, the process directly returns to step S421.
[0392]
If it is determined in step S421 that the end button 2005 has been selected, it is determined in step S433 whether or not the number of selected items in the sub-window is zero. If the number of items is other than 0, the process proceeds to step S434, and the selected item is moved to the instruction target group. In step S435, based on the moved item, the move source group is moved. Sort the pins in the previous group. In step S437, the group group in which the pins have been rearranged is displayed again on the input / output buffer information setting panel 2001. In step S438, the subwindow is hidden, and the series of processing ends. If the number of items is 0 in step S433, the process proceeds to step S438 as it is to hide the subwindow.
[0393]
Next, the flow of the termination process in step S339 will be described in more detail using the flowchart of FIG.
[0394]
In step S441, it is determined whether or not an item has been changed on the input / output buffer information setting panel 2001. If the change has been made, in step S442, an end panel including three buttons such as “save end”, “forced end”, and “cancel” is displayed, and the process proceeds to step S444. If no change is made, an end panel including two buttons such as “forced end” and “cancel” is displayed in step S443, and the process proceeds to step S444.
[0395]
In step S444, it is determined what instruction has been received. If it is determined that the “save end” button has been selected, backup processing is performed in step S445, the end panel is hidden in step S446, and the changed data is saved and updated in step S447. To end the process. If it is determined that the “forced end” button has been selected, the end panel is hidden in step S448 and the process ends. If it is determined that the “cancel” button has been selected, the end panel is hidden in step S449, and the process ends.
[0396]
Thus, according to the present embodiment, setting of input / output buffer information can be performed very easily.
[0397]
In setting the input / output buffer information, the input / output buffer name is determined by narrowing down the drive information and the power supply voltage information, so that the input / output buffer information can be set more efficiently.
[0398]
In addition, pin groups can be changed and divided more efficiently.
[0399]
In addition, changes in the input / output buffer information can be immediately reflected in the process relation diagram.
[0400]
(Eighth embodiment)
In the present embodiment, the design management program 112 performs a plurality of processes in parallel using a plurality of different design data when executing one project. In other words, design data of a plurality of types of patterns is properly used for one specification. In the present embodiment, such processing is referred to as multiple design processing.
[0401]
First, in order to perform this multiple design process, it is necessary to perform a process for setting information relating to a project as a work unit (hereinafter referred to as project information). In this embodiment, a project information setting panel 2101 is displayed on a display device such as a CRT display 103, and project information is set on the project information setting panel 2101.
[0402]
The project information setting panel 2101 is displayed on the CRT display 103 when the designer instructs the [Project] button at the left end of the button group 904 on the main panel 901 shown in FIG. The main panel 901 is displayed so as to overlap.
[0403]
FIG. 62 is a view showing a project information setting panel 2101 displayed on the main panel 901.
[0404]
In FIG. 62, a series of buttons 2102 from [New] to [Lib] at the top of the project information setting panel 2101 is a key for executing processing in the project information setting panel 2101. In the lower part of the left area 2103 of the project information setting panel 2101, a list of project names registered in the data storage device 110 or the like is displayed. A toggle button thereabove is for switching the state of the list display so as to simultaneously display the names of design data related to the multiple design process. Further, in the right area 2104 of the project information setting panel 2101, detailed information of the project selected from the list in the left area 2103 such as design data is displayed. Reference numeral 2105 denotes an [OK] button, and 2106 denotes a [Cancel] button.
[0405]
In the project information setting panel 2101 shown in FIG. 62, project information has not been set yet. Note that the project information setting process is not limited to the unset state as shown in FIG. 62, and can be started from a state in which project information has already been set.
[0406]
For the time being, first, in order to show the flow of processing in an easy-to-understand manner, a case where processing is performed from the initial state as shown in FIG. 62 will be described.
[0407]
In order to set the project information from the state shown in FIG. 62, it is first necessary to input information into five setting items such as the project name using the project information input panel 2107 shown in FIG. The project information input panel 2107 is displayed so as to overlap the project information setting panel 2101 by instructing the [New] button at the left end of the button group 2102 at the top of the project information setting panel 2101.
[0408]
In FIG. 63, there are two buttons under the five setting items, 2108 is an [OK] button, and 2109 is a [Cancel] button.
[0409]
Here, setting items on the project information input panel 2107 shown in FIG. 63 will be described. First, the name of the project is input in the item of “Project:” label. In addition, when inputting the name of the design data, the prefix of the name is input to the item of the “Prefix:” label, and the item of the “Prefix:” label is input to the item of the “Variation:” label. Enter the name of the design data after the prefix. Note that the name of the owner is set in the item of the “Owner:” label, and the type of designer is set in the item of the “Designers:” label.
[0410]
In FIG. 63, “test” is input to the item of “Project:” label as the name of the project, “ae” is input to the item of “Prefix:” label, and “Variation:” is the item of the design data. When “ae_test” is input, “tanaka” is input in the item of the “Owner:” label, the “Top” button of the “Designers:” label is instructed, and further, the “OK” button 2108 is instructed. The setting items of the project information are registered in the data storage device 110 as selection data 601 (see FIG. 6), and the project name “test” is registered in the group management data 505 (see FIG. 5). In the left area 2103 of the project information setting panel 2101, a candidate “test” is displayed in a selected state as shown in FIG. 64.
[0411]
Here, since “test” is selected, detailed information of the project “test” selected in the left area 2103 is displayed in the right area 2104 of the project information setting panel 2101.
[0412]
Next, as shown in FIG. 64, when detailed project information is displayed on the project information setting panel 2101, processing for changing design data of the project will be described.
[0413]
In order to change the design data of the project from the state of FIG. 64, the project information input panel 2107 shown in FIG. 63 is also used. 64, when the “ChgOwn” button in the button group 2102 at the top of the project information setting panel 2101 is instructed by the input device such as the mouse 104, the project information input panel 2107 is selected. Are displayed so as to overlap the main panel 901. The project information input panel 2107 displays the name of the selected project “test” and its detailed information.
[0414]
Here, in the project information input panel 2107, when a name different from the name of the design data of the project in the selected state is input to the item of the “Variation:” label, new design data is confirmed, and the project “ The design data of “test” can be changed.
[0415]
For example, when the design information name is changed from “ae_test” to “ae_test2” in the project information input panel 2107 in the display state of the project information setting panel 2101 as shown in FIG. 64, the right side of the project information setting panel 2101 The value of the item of the “Variation:” label in the area 2104 is changed from “ae_test” to “ae_test2”.
[0416]
When the toggle button at the upper part of the left area 2103 of the project information setting panel 2101 shown in FIG. 64 is designated, the display content of the list display area at the lower part of the left area 2103 changes as shown in FIG. In FIG. 65, the name of the part surrounded by [] in the list corresponds to the name of the design data. If the “Variation” label item becomes “ae_test2” due to the design data change process, the display is as shown in FIG. By providing this toggle button, the designer can easily know which design data the selected project uses.
[0417]
Also, in the left area 2103 of the project information setting panel 2101 shown in FIG. 64, when “test” is selected, the [ChgVar] button in the button group 2102 above the project information setting panel 2101 is the mouse 104 or the like. When multiple design data corresponding to the project “test” are set, a sub window displaying a list of design data candidates is displayed, and the designer displays a list of candidates. Desired design data can be selected.
[0418]
Such a project information setting process makes it possible to implement a multiple design process described later.
[0419]
Hereinafter, the multiple design process in this embodiment will be described. In this multiple design process, a process for switching a plurality of created design data, and a process for changing the display of a process related diagram based on it are performed.
[0420]
First, as shown in the example of the project information setting process, the project “test” has two design data “ae_test” and “ae_test2”. As shown in FIG. When the data “ae_test” is selected, the process-related diagram is in the state shown in the upper diagram of FIG. 67, and when the design data “ae_test2” is selected, the process-related diagram is in the state shown in the lower diagram of FIG. think of.
[0421]
As is apparent from FIG. 67, when the design data is “ae_test”, the process proceeds to steps 41, 42, and 43, and when the design data is “ae_test2”, only the process up to step 1 is processed. It can be seen that is not progressing. What should be noted here is that, in each of the two process-related diagrams, it is possible to create the same data for each process or to create different data.
[0422]
For example, the design data “ae_test” and “ae_test2” are the same in step 1, and data 1 is generated. In step 2 of the design data “ae_test”, tool A generates data 2A from data 1 In contrast, in step 2 of the design data “ae_test2”, the tool B generates data 2B from data 1. In such a case, it can be seen that the design data “ae_test” and “ae_test2” have the same beginning, but the processes in the subsequent steps are different. (Of course, there is no difference in processing in the steps after step 2.)
[0423]
In other words, depending on the design data, it is possible to change the CAD tool corresponding to the process, change the process execution condition, and further change the number of processes.
[0424]
Therefore, if the expected output data exists when executing a certain project, by performing multiple design processing for that project, from how to proceed to the processing content, to the CAD tool to be used, Since the design can be realized by a number of patterns, the expected output data can be obtained more efficiently. Of course, which pattern is used depends on how the designer or the design management program 112 is restricted.
[0425]
As described above, in the present embodiment, processing can be executed by a plurality of different methods for one project. Therefore, the designer determines the optimal method for project execution by judging the processing result. It is possible to obtain an optimum result. Further, at this time, only the design data is changed, and other information set at the beginning does not need to be changed, so that the work efficiency can be improved.
[0426]
Now, the flow of multiple design processing using the project information setting panel 2101 will be described in detail below with reference to the flowcharts of FIGS.
[0427]
FIG. 68 is a flowchart regarding multiple design processing.
[0428]
In step S451, it is determined whether information necessary for design, such as a process group and a CAD tool used therein, has been determined. If it has been confirmed, the process proceeds to step S452, and if it has not been confirmed, the process ends. Next, in step S452, it is determined what instruction has been given. If it is determined that the [Copy] button has been selected, the process advances to step S453 to perform masking processing for other operations on the project information setting panel 2101. In step S454, design data creation processing is performed. In step S455, the mask of other operations on the project information setting panel 2101 is canceled, and the process ends.
[0429]
If it is determined in step S452 that design data selection has been instructed, the process advances to step S456 to perform mask processing for other operations in the project information setting panel 2101. In step S457, design data selection processing is performed. I do. In step S458, masking of other operations on the project information setting panel 2101 is canceled, and the process ends.
[0430]
If it is determined in step S452 that the toggle button has been selected, the process proceeds to step S459, and the name of the design data is displayed in the list display area in the left area 2103 of the project information setting panel 2101 together with the name “Variation”. Determine if it is displayed. If it is determined that it is displayed, the process advances to step S460 to regenerate the project list so that the name “Variation” is removed, and the list is displayed in step S461. If it is determined that the name is not displayed, the process advances to step S462 to regenerate the project list so that the name “Variation” is added, and the list is displayed in step S463.
[0431]
Next, the flow of design data creation processing in step S454 will be described in more detail with reference to the flowchart of FIG.
[0432]
In step S471, the project information input panel 2107 is displayed, and in step S472, it is determined what instruction has been given. If it is determined that the input process for the item has been performed, the process proceeds to step S473, where the number of input characters is confirmed. If the number of input characters is within the default value in the item frame, the process proceeds to step S474, and if it is equal to or greater than the default value, the process proceeds to step S475 to display an error message. In step S474, it is confirmed whether or not existing data with the same data name exists in the item. If there is no existing data, the process proceeds to step S476. If there is, an error message is displayed in step S475. .
[0433]
Next, in step S476, it is confirmed whether or not there is a prefix in the input character string. If there is a prefix, the input character string is registered in step S478, the mask of the [OK] button 2108 is canceled in step S479, and the process returns to step S472. If there is no prefix, step S477 is performed. Then, a message prompting re-input is displayed, and the process returns to step S472.
[0434]
If it is determined in step S472 that the [OK] button 2108 has been selected, the flow advances to step S480 to copy the design data selected in step S457, and in step S481, the copied data is converted to data. Register in the storage device 110 or the like. However, in the design data copying process, up to which design process the design data is copied depends on the design environment and operation. In the present embodiment, the design data in “Step 1”, which is the highest design data, is copied.
[0435]
Next, in step S482, the original design data is rewritten with new design data, and in step S483, the name of the project is displayed together with the name of the new design data in the list display area of the left area 2103 of the project information setting panel 2101. In step S484, the project information input panel 2107 is not displayed, and the series of processing ends.
[0436]
If it is determined in step S472 that the [Cancel] button 2109 has been selected, the process proceeds to step S485, where the contents of the item are initialized, and in step S486, the project information input panel 2107 is hidden, Terminate the process.
[0437]
Next, the flow of design data selection processing in step S457 will be described in more detail using the flowchart of FIG.
[0438]
In step S491, a subwindow displaying a list of the set design data is displayed. This subwindow also includes an [OK] button and a [Cancel] button. Next, in step S494, it is determined what instruction has been given. If it is determined that the selection processing of the items displayed in the list in the sub-window has been performed, the process proceeds to step S495, and the selected item is highlighted. In step S496, it is confirmed whether or not the selected item exists. If it exists, the mask of the [OK] button is canceled in step S497, and the process returns to step S494. In step S498, a message indicating that is displayed, and the process returns to step S494.
[0439]
If it is determined in step S494 that the [OK] button on the sub-window has been selected, the process proceeds to step S499, and first, existing information is stored. Next, in step S500, it is determined whether or not the selected item exists. If it is determined that it exists, the process proceeds to step S501. If it is determined that it does not exist, that fact is displayed in step S505, and the process returns to step S494. In step S501, information on the selected design data is read. In step S502, detailed information is created based on the read information. In step S503, the detailed information is stored. In step S504, the sub-window is hidden, and the series of processing ends.
[0440]
If it is determined in step S494 that the [Cancel] button on the sub-window has been selected, the process proceeds to step S506, the sub-window is hidden, and the series of processing ends.
[0441]
As described above, according to the present embodiment, when a single project is executed, a plurality of processes are performed in parallel using a plurality of different design data. Therefore, the designer compares and contrasts a plurality of design results. Thus, the optimum design method can be easily confirmed.
[0442]
Note that the first to eighth embodiments of the present invention are not limited to a single device, and may be applied to a system including a plurality of devices connected to a network.
[0443]
【The invention's effect】
As described above in detail, according to the present invention, it is possible to consolidate and manage extremely complex design processes of increasingly higher-density and larger-scale designs, especially ASICs, and to achieve a more efficient design. There is an effect that it becomes possible.
[0444]
In addition, there is an effect that it is very easy to set and change the design object that is the basis of the design object and the processing program activated in each process.
[0445]
In addition, each process is displayed with a different color depending on its state, and when the process is executed or a processing program or design object is set or changed, the process color whose state changes is changed accordingly. By displaying, there is an effect that the designer can easily know the state of the process and its change.
[0446]
In addition, there is an effect that it is possible to change information on a design object that is a basis of a design object during design.
[0447]
In addition, there is an effect that a plurality of different design processes can be performed in parallel when designing a design object that is the basis of the design object.
[0448]
In addition, since the above-described effects can be achieved, the efficiency of the work can be significantly improved, so that the burden on the designer can be reduced and design errors can be reduced.
[Brief description of the drawings]
FIG. 1 is a hardware configuration diagram of a design management apparatus.
FIG. 2 is a conceptual diagram of processing by a design management program.
FIG. 3 is a diagram showing main functions of a design management program.
4 is a diagram showing an outline of a design data management function 300. FIG.
FIG. 5 is a diagram showing an outline of an environmental data management function 310;
6 is a diagram showing an outline of a project operation function 320. FIG.
7 is a diagram showing an outline of an activation control function 330. FIG.
8 is a diagram showing an outline of a setting change function 340. FIG.
9 is a diagram showing an outline of a flow control function 350. FIG.
10 is a diagram showing an outline of an information confirmation function 360. FIG.
FIG. 11 is a diagram showing an outline of the flow of design processing.
FIG. 12 is a diagram showing a main panel displayed on a CRT display.
FIG. 13 is a diagram showing a display example when a plurality of processes are displayed on the main panel.
FIG. 14 is a process related diagram used in the first embodiment.
FIG. 15 is a flowchart of process state verification processing;
FIG. 16 is a flowchart of a simplified verification process of a process state.
FIG. 17 is a diagram illustrating a change in process state when process 1 is executed.
FIG. 18 is a diagram showing a change in process state when process 21 is executed.
FIG. 19 is a diagram showing a work schematic diagram when there is one work in step 1;
FIG. 20 is a diagram showing a work schematic diagram in the case where there are three work in step 1;
FIG. 21 is a diagram showing processing for adjusting the number of operations in step 1;
FIG. 22 is a flowchart of in-process work number adjustment processing;
FIG. 23 is a flowchart of an execution process.
FIG. 24 is a flowchart of error processing.
FIG. 25 is a flowchart of pre-processing for version management.
FIG. 26 is a flowchart of post-processing of version management.
FIG. 27 is a flowchart of history management processing;
FIG. 28 is a diagram showing a change in the process state in the second embodiment.
FIG. 29 is a diagram showing a change in the process state when the process 3 is executed.
FIG. 30 is a diagram showing a change in a process state in the third embodiment.
FIG. 31 is a process related diagram used in the sixth embodiment.
FIG. 32 is a diagram illustrating a data derivation relationship;
FIG. 33 is a diagram showing a CAD tool setting panel.
FIG. 34 is a diagram showing a CAD tool setting sub-window;
FIG. 35 is a diagram showing a CAD tool selection panel after CAD tool setting.
FIG. 36 is a diagram showing a change process of CAD tool allocation information.
FIG. 37 is a diagram showing a state inspection process after CAD tool setting.
FIG. 38 is a flowchart of CAD tool setting processing.
FIG. 39 is a diagram showing a target information setting panel.
FIG. 40 is a diagram showing a target information setting sub-window;
FIG. 41 is a diagram showing a target information setting panel after a vendor name is confirmed.
FIG. 42 is a diagram illustrating a target information setting panel after SeriesType is determined.
FIG. 43 is a diagram showing a target information setting panel after SeriesName is determined.
FIG. 44 is a diagram showing a target information setting panel after Package / PinNum determination.
FIG. 45 is a diagram illustrating target information change processing;
FIG. 46 is a diagram showing a state inspection process after setting target information;
FIG. 47 is a flowchart of target information setting processing;
FIG. 48 is a flowchart of an initial setting process.
FIG. 49 is a flowchart of change setting processing;
FIG. 50 is a diagram showing the work contents of step 1 and step 3 in the process relation diagram.
FIG. 51 is a diagram showing an input / output buffer information setting panel.
FIG. 52 is a diagram showing an instruction area on the input / output buffer information setting panel.
FIG. 53 is a diagram showing a sub window panel on the input / output buffer information setting panel.
FIG. 54 is a flowchart of preprocessing for changing input / output buffer information;
FIG. 55 is a flowchart of input / output buffer information change processing;
FIG. 56 is a flowchart of an item setting process.
FIG. 57 is a flowchart of input / output buffer name display processing;
FIG. 58 is a flowchart of an item designation process.
FIG. 59 is a flowchart of group division processing;
FIG. 60 is a flowchart of pin movement processing.
FIG. 61 is a flowchart of an end process.
FIG. 62 is a diagram showing a project information setting panel.
FIG. 63 is a diagram showing a project information input panel.
FIG. 64 is a diagram showing an example of a display on the project information setting panel.
FIG. 65 is a diagram showing an example of a display on the project information setting panel.
FIG. 66 is a diagram showing an example of a display on the project information setting panel.
FIG. 67 is a diagram showing a state of a process related diagram when performing multiple design processing;
FIG. 68 is a flowchart of multiple design processing.
FIG. 69 is a flowchart of design data creation processing;
FIG. 70 is a flowchart of design data selection processing;
FIG. 71 is a diagram showing a method of managing derivation relationship information between data.
FIG. 72 is a diagram showing a method of managing derivation relationship information between data.
FIG. 73 is a diagram showing a method of managing derivation relationship information between data.
74 is a diagram showing a method of managing derivation relationship information between data. FIG.
FIG. 75 is a diagram showing process state transition and data version information change.
[Explanation of symbols]
101 Design management device
102 keyboard
103 CRT display
104 mouse
105 Hard disk device
106 arithmetic processing unit
107 Converter
108 Printer
109 bus
110 Data storage device
111 Program storage device
112 Design management program
113 CAD tools
201 Data management function
202 Process management function
204 Management database
205 design database
300 Design data management function
310 Environmental Data Management Function
320 Project operation function
330 Start-up control function
340 Setting change function
350 Flow control function
360 Information confirmation function
401 History management information data file
501 Initial information data file
502 Group information data file
503 Tool information data file
504 Vendor data file
505 Group management data
506 ASIC data
507 Message log data file
508 Lock information data file
601 Selection information
701 Setting change information
702 Rule information
801 I / O buffer information
802 CAD tool allocation information
803 Target information
901 Main panel
902 Process group display area
903 Work content display area
904 buttons
905 Target display area
906 Start button
907 Cancel button
908 Mouse cursor
1301 CAD tool selection panel
1302 Sub window display button
1303 OK button
1304 Cancel button
1305 Settings subwindow
1501 Target information setting panel
1502 Vendor name setting area
1503 Subwindow display button
1504 Detailed item display area
1505 Candidate display area
1506 OK button
1507 Cancel button
1508 Settings subwindow
2001 Input / output buffer information setting panel
2002 Setting button
2003 Split button
2004 Move button
2005 end button
2011 Subwindow
2101 Project information setting panel
2102 Button group
2103 Left area
2104 Right area
2105 OK button
2106 Cancel button
2107 Project information input panel
2108 OK button
2109 Cancel button

Claims (3)

複数の工程の実行順序を認識可能にシンボルでディスプレイに表示させることによって管理する工程管理装置であって、
前記複数の工程において生成されたデータの派生関係情報を記憶する記憶手段と、
前記複数の工程が実行可能であるか否かを判別する判別手段と、
前記判別手段により判別された状態に基づいて、前記複数の工程の各々が実行可能であるか否かを識別可能に前記ディスプレイに表示させる表示処理手段とを有し、
前記判別手段は、判別対象工程の実行時に用いるための第1のデータが前記判別対象工程の前工程である第1の工程において生成され、第2のデータが前記判別対象工程の前工程であって前記第1の工程の後工程である第2の工程において生成された場合であって、前記記憶手段によって記憶された派生関係情報から前記第1のデータに対して前記第2のデータが生成されたという派生関係があって、かつ、前記第2のデータが前記第2の工程において実行される複数のプログラムのうち選定されたプログラムによって生成された場合、前記判別対象工程が実行可能である判別することを特徴とする工程管理装置。
A process management apparatus that manages by displaying the execution order of a plurality of processes on a display so as to be recognizable.
Storage means for storing derivation relation information of data generated in the plurality of steps;
Determining means for determining whether or not the plurality of steps are executable;
Display processing means for displaying on the display such that each of the plurality of steps can be executed based on the state determined by the determination means;
Said determining means, first data for use when the determination target process execution is generated in the first step is a pre-process of the determination target step, the second data is a prior step of the determination target step the second step in the case has been made live Te smell, the second data to the first data from the derivation relationship information stored by said storing means is a step after the first step Te If the second data is generated by a program selected from a plurality of programs executed in the second step, the determination target step can be executed. process management apparatus, characterized in that to determine that it is.
複数の工程の実行順序を認識可能にシンボルでディスプレイに表示させることによって管理する工程管理装置の処理方法であって、
前記複数の工程において生成されたデータの派生関係情報を処理装置が記憶装置に記憶させる記憶ステップと、
前記複数の工程が実行可能であるか否かを処理装置が判別する判別ステップと、
前記判別手段により判別された状態に基づいて、前記複数の工程の各々が実行可能であるか否かを識別可能に処理装置が前記ディスプレイに表示させる表示処理ステップとを有し、
前記判別ステップにおいて、前記処理装置は、判別対象工程の実行時に用いるための第1のデータが前記判別対象工程の前工程である第1の工程において生成され、第2のデータが前記判別対象工程の前工程であって前記第1の工程の後工程である第2の工程において生成された場合であって、前記記憶装置に記憶された派生関係情報から前記第1のデータに対して前記第2のデータが生成されたという派生関係があって、かつ、前記第2のデータが前記第2の工程において実行される複数のプログラムのうち選定されたプログラムによって生成された場合、前記判別対象工程が実行可能であると判別することを特徴とする工程管理装置の処理方法。
It is a processing method of a process management apparatus that manages by displaying the execution order of a plurality of processes on a display so as to be recognizable,
A storage step in which the processing device stores the derivation relationship information of the data generated in the plurality of steps in a storage device;
A determining step in which the processing device determines whether or not the plurality of steps can be performed;
A display processing step for causing the processing device to display on the display such that each of the plurality of steps can be executed based on the state determined by the determination unit;
In the determination step, the processing device generates first data to be used at the time of execution of the determination target process in a first process that is a previous process of the determination target process, and second data is the determination target process. of a previous step in the case of made production Te second step odor is a step after the first step a, to the first data from the derivation relationship information stored in the storage device When there is a derivation relationship that the second data is generated and the second data is generated by a program selected from among a plurality of programs executed in the second step, the determination A processing method of a process management apparatus, characterized in that a target process is determined to be executable.
請求項2に記載の処理方法をコンピュータに実行させるためのプログラムを記憶した記憶媒体。  A storage medium storing a program for causing a computer to execute the processing method according to claim 2.
JP09908297A 1997-01-31 1997-04-16 Process management apparatus and method, and storage medium Expired - Fee Related JP4532609B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP09908297A JP4532609B2 (en) 1997-01-31 1997-04-16 Process management apparatus and method, and storage medium
US09/015,798 US6115034A (en) 1997-01-31 1998-01-29 Step managing apparatus and method
EP98300714A EP0856804A3 (en) 1997-01-31 1998-01-30 Step managing apparatus and method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP9-18792 1997-01-31
JP1879297 1997-01-31
JP09908297A JP4532609B2 (en) 1997-01-31 1997-04-16 Process management apparatus and method, and storage medium

Publications (2)

Publication Number Publication Date
JPH10275188A JPH10275188A (en) 1998-10-13
JP4532609B2 true JP4532609B2 (en) 2010-08-25

Family

ID=26355528

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09908297A Expired - Fee Related JP4532609B2 (en) 1997-01-31 1997-04-16 Process management apparatus and method, and storage medium

Country Status (1)

Country Link
JP (1) JP4532609B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009194326A (en) * 2008-02-18 2009-08-27 Disco Abrasive Syst Ltd Processing device
JP2010009154A (en) * 2008-06-24 2010-01-14 Incs Inc Design support system, design support device, design support program, and recording medium with program recorded therein
CN102326164B (en) 2009-02-20 2016-06-15 太阳能公司 Comprise the automated solar collector installation design of the preferred ability of definition different designs
WO2010096271A1 (en) 2009-02-20 2010-08-26 Sunpower Corporation Automated solar collector installation design including version management
CN102326163A (en) 2009-02-20 2012-01-18 太阳能公司 Automated solar collector installation design including exceptional condition management and display
AU2010216284A1 (en) 2009-02-20 2011-07-21 Sunpower Corporation Automated solar collector installation design

Also Published As

Publication number Publication date
JPH10275188A (en) 1998-10-13

Similar Documents

Publication Publication Date Title
US6115034A (en) Step managing apparatus and method
CN101211272B (en) Dynamic virtual machine generation, virtual machine generation method and virtual machine supervisor
JP5039428B2 (en) Programmable controller and PLC system
US5430873A (en) Software design support apparatus
US6020895A (en) Object editing method, object editing system and computer memory product
JP4616307B2 (en) Setting instruction device, setting instruction program, and display program
JP2006350549A (en) Integrated simulation system
JP4962841B2 (en) Operation screen generator, electronic device, program
CN106250116B (en) A kind of software generic skeleton code generation method and system
US8527254B2 (en) Simulator engine development system and simulator engine development method
CN110765028B (en) Visual construction method and device of verification environment and storage medium
WO2016113913A1 (en) Management system for creating service
JP6637599B2 (en) Management system and management method
JPH09259153A (en) Device and method for generating batch execution control program
JP4532609B2 (en) Process management apparatus and method, and storage medium
US7203925B1 (en) Graphical compiler
JP4102137B2 (en) Control program creation support system and support method thereof
CN111966350A (en) Web front-end interface generation method and device
JPH10275174A (en) Device, method, and system for group management, and storage medium
CN116308132A (en) Automatic office method and system based on workflow engine
JP2011076561A (en) Parts catalog creation support device, program, and parts catalog creation support method
JPH10283379A (en) Method for supporting design and device therefor
JPH05189274A (en) History information management system
JP4392490B2 (en) Component bus system and component bus program
JP2000132295A (en) Gui operation specification describing device, and gui controller and gui system

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040415

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070115

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070717

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070808

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070918

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20071012

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100201

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100611

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130618

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees