(57)【要約】【課題】回路図面データが変更された場合に、回路ブロック図面データを最新の回路図面データに対応したものに更新できる回路設計装置、回路設計プログラム、および回路設計方法を提供する。【解決手段】回路図面データベース１０７−２と、回路ブロックに含まれる回路部品を特定するための識別情報が回路ブロックを特定するための識別情報に対応付けて格納される回路ブロック図面データベース１０７−３と、回路図面データベース１０７−２に格納されつつ、回路ブロック図面データベース１０７−３に格納されていない第１の回路部品を特定するための識別情報を取得する第１の取得手段１０５−２と、第１の回路部品が含まれるべき第１の回路ブロックを選択する第１の選択手段１０５−３と、回路ブロック図面データベースを第１の回路部品が第１の回路ブロックに含まれた状態に更新する更新手段１０５−４とを備える。【選択図】図３
2009146129.tif 000002
【特許請求の範囲】
【請求項１】
回路部品の配置位置が前記回路部品を特定するための識別情報に対応付けて格納される回路図面データベースと、
少なくとも１つの前記回路部品を含む回路ブロックの配置位置と前記回路ブロックに含まれる前記回路部品を特定するための識別情報とが、前記回路ブロックを特定するための識別情報に対応付けて格納される回路ブロック図面データベースと、
前記回路図面データベースに識別情報が格納されている回路部品のうち、前記回路ブロック図面データベースに識別情報が格納されていない第１の回路部品を取得する第１の取得手段と、
前記回路ブロック図面データベースに基づいて、前記第１の回路部品が含まれるべき対象回路ブロックを選択する第１の選択手段と、
前記回路ブロック図面データベースを、前記第１の回路部品が前記対象回路ブロックに含まれた状態に更新する更新手段とを備える、回路設計装置。
【請求項２】
前記回路ブロック図面データベースは、対応テーブルを含み、
前記回路ブロックに含まれる回路部品を特定するための識別情報は、前記回路ブロックを特定するための識別情報に対応付けられて前記対応テーブルに格納される、請求項１に記載の回路設計装置。
【請求項３】
前記回路図面データベースは、前記回路部品同士の接続を特定する接続情報をさらに格納し、
前記第１の選択手段は、
前記回路図面データベースに基づいて、前記第１の回路部品が接続される第２の回路部品を取得する第２の取得手段と、
前記回路ブロック図面データベースに基づいて、前記第２の回路部品が含まれる回路ブロックを前記対象回路ブロックとして選択する第２の選択手段とを含む、請求項１または２に記載の回路設計装置。
【請求項４】
前記第１の選択手段は、
前記回路図面データベースに基づいて、前記第１の回路部品が接続される第２の回路部品が複数存在する場合に、前記複数の第２の回路部品の中から、前記第１の回路部品に最も近い第３の回路部品を取得する第３の取得手段と、
前記回路ブロック図面データベースに基づいて、前記第３の回路部品が含まれる回路ブロックを前記対象回路ブロックとして選択する第３の選択手段とを含む、請求項３に記載の回路設計装置。
【請求項５】
前記第１の選択手段は、
前記回路図面データベースに基づいて、前記第１の回路部品に最も近い第４の回路部品を取得する第４の取得手段と、
前記回路ブロック図面データベースに基づいて、前記第４の回路部品が含まれる回路ブロックを前記対象回路ブロックとして選択する第４の選択手段とを含む、請求項１または２に記載の回路設計装置。
【請求項６】
回路図面データベースと回路ブロック図面データベースとを備えるコンピュータに前記回路ブロック図面データベースを更新させるための回路設計プログラムであって、
前記回路図面データベースは、回路部品の配置位置を前記回路部品を特定するための識別情報に対応付けて格納し、
前記回路ブロック図面データベースは、少なくとも１つの前記回路部品を含む回路ブロックの配置位置と前記回路ブロックに含まれる前記回路部品を特定するための識別情報とを、前記回路ブロックを特定するための識別情報に対応付けて格納し、
前記プログラムは、前記コンピュータに、
前記回路図面データベースに識別情報が格納されている回路部品のうち、前記回路ブロック図面データベースに識別情報が格納されていない第１の回路部品を取得するステップと、
前記回路ブロック図面データベースに基づいて、前記第１の回路部品が含まれるべき対象回路ブロックを選択するステップと、
前記回路ブロック図面データベースを、前記第１の回路部品が前記対象回路ブロックに含まれた状態に更新するステップとを実行させる、回路設計プログラム。
【請求項７】
回路図面データベースと回路ブロック図面データベースとを有するコンピュータを用いた回路設計方法であって、
前記回路図面データベースは、回路部品の配置位置を前記回路部品を特定するための識別情報に対応付けて格納し、
前記回路ブロック図面データベースは、少なくとも１つの前記回路部品を含む回路ブロックの配置位置と前記回路ブロックに含まれる前記回路部品を特定するための識別情報とを、前記回路ブロックを特定するための識別情報に対応付けて格納し、
前記コンピュータは、
制御部と、
前記回路図面データベースと前記回路ブロック図面データベースとを格納する記憶部とを備え、
前記制御部が、前記回路図面データベースに識別情報が格納されている回路部品のうち、前記回路ブロック図面データベースに識別情報が格納されていない第１の回路部品を取得するステップと、
前記制御部が、前記回路ブロック図面データベースに基づいて、前記第１の回路部品が含まれるべき対象回路ブロックを選択するステップと、
前記制御部が、前記回路ブロック図面データベースを、前記第１の回路部品が前記対象回路ブロックに含まれた状態に更新するステップと備える、回路設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路設計装置、回路設計プログラム、および回路設計方法に関し、特に、回路図面および回路ブロック図面を用いて回路設計を行う回路設計装置、回路設計プログラム、および回路設計方法に関する。
【背景技術】
【０００２】
電子回路の設計では、一般的に、先ず、ユーザは設計仕様を元にして電子回路の概略の構成を示す回路ブロック図面（機能ブロック図）を作成する。次に、ユーザは作成された回路ブロック図面を元にして詳細な回路図面を作成する。
【０００３】
そこで、たとえば、特開平６−３５９８３号公報（特許文献１）では、電子回路の機能を表現する回路ブロック図面より自動的に回路図面を生成する回路図面生成システムが開示されている。回路ブロック図面の変更時に回路図面の更新の必要性の有無を判定するために変更履歴モニタ手段により作成される変更履歴情報と論理情報抽出手段により作成される回路ブロック図面論理情報とを入力されて論理差分抽出手段により論理的な差分の有無を検出し、差分が有る場合のみ論理合成手段により回路図面を更新する。
【０００４】
また、特開平１−３０３５７０号公報（特許文献２）では、回路ブロック図面から回路図面を自動生成する回路図面生成方法が開示されている。読み込んだ回路ブロック図面データから回路ブロック図面のシンボル情報を読み、頁と座標位置を取出し、回路ブロック図面上のシンボルと回路図面のシンボルとを対応付け、回路ブロック図面の１頁に存在するシンボルと対応する回路図面シンボルを取出し、取出したシンボルを無限仮想図面に配置し、シンボルを図面編集可能な仮想図面に配置し直し、シンボル間の配線をして出力するように構成された回路図面生成方法が開示されている。
【０００５】
加えて、特開平２−６９８７３号公報（特許文献３）では、会話型回路ブロック図面展開システムを用い、回路ブロック図面を設計者の意図する回路図面に変換する、回路ブロック図面の回路図面への変換方式が開示されている。会話型回路ブロック図面展開システムに、回路ブロック図面の局所的に切出した部分の機能マクロに対し、所望の回路を選択し、選択された回路よりなる回路情報をワークファイルに格納する回路選択格納手段及び、回路ブロック図面全体を回路図面に変換する場合、切出した部分については該ワークファイルに格納した回路情報を読み出し回路図面に変換する回路図面変換手段を持たせる。
【特許文献１】特開平６−３５９８３号公報
【特許文献２】特開平１−３０３５７０号公報
【特許文献３】特開平２−６９８７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、電子回路設計における最終の出力はあくまでも回路図面であって、回路ブロック図面には、詳細な完成度を求める必要が無い。作業の省力化のために、電子回路設計の後半の時機に発生した設計変更は、回路図面にのみに修正が施され、回路ブロック図面には修正が反映されない場合が多い。
【０００７】
そのような不完全な回路ブロック図面が回路設計の成果物の一つとして残されると、当該不完全な回路ブロック図面が、次期開発製品の回路設計に流用された場合や、もしくは設計進行中に製品全体の回路の概略を把握するための目的で再び参照された場合に、参照した者が設計変更が行われたことを見過ごす可能性がある。すなわち、不完全な回路ブロック図面は、後の回路設計において設計ミスを引き起こす要因となり得る。そのため、設計ミスを低減するためには、回路図面への設計変更を回路ブロック図面に自動更新（フィードバック）する技術が必要である。
【０００８】
しかしながら、上述したいずれの従来の技術も、回路ブロック図面からより詳細な回路図面を自動的に更新したり、または作成したりすることはできるが、回路図面からよりラフな回路ブロック図面を更新したり、または作成したりすることはできないという問題がある。
【０００９】
本発明は前記問題点を解決するためになされたものであって、本発明の主たる目的は、回路図面データが変更された場合に、回路ブロック図面データを最新の回路図面データに対応したものに更新できる回路設計装置、回路設計プログラム、および回路設計方法を提供することである。
【課題を解決するための手段】
【００１０】
この発明のある局面に従えば、回路部品の配置位置が回路部品を特定するための識別情報に対応付けて格納される回路図面データベースと、少なくとも１つの回路部品を含む回路ブロックの配置位置と回路ブロックに含まれる回路部品を特定するための識別情報とが、回路ブロックを特定するための識別情報に対応付けて格納される回路ブロック図面データベースと、回路図面データベースに識別情報が格納されている回路部品のうち、回路ブロック図面データベースに識別情報が格納されていない第１の回路部品を取得する第１の取得手段と、回路ブロック図面データベースに基づいて、第１の回路部品が含まれるべき対象回路ブロックを選択する第１の選択手段と、回路ブロック図面データベースを、第１の回路部品が対象回路ブロックに含まれた状態に更新する更新手段とを備える。
【００１１】
好ましくは、回路ブロック図面データベースは、対応テーブルを含み、回路ブロックに含まれる回路部品を特定するための識別情報は、回路ブロックを特定するための識別情報に対応付けられて対応テーブルに格納される。
【００１２】
好ましくは、回路図面データベースは、回路部品同士の接続を特定する接続情報をさらに格納し、第１の選択手段は、回路図面データベースに基づいて、第１の回路部品が接続される第２の回路部品を取得する第２の取得手段と、回路ブロック図面データベースに基づいて、第２の回路部品が含まれる回路ブロックを対象回路ブロックとして選択する第２の選択手段とを含む。
【００１３】
好ましくは、第１の選択手段は、回路図面データベースに基づいて、第１の回路部品が接続される第２の回路部品が複数存在する場合に、複数の第２の回路部品の中から、第１の回路部品に最も近い第３の回路部品を取得する第３の取得手段と、回路ブロック図面データベースに基づいて、第３の回路部品が含まれる回路ブロックを対象回路ブロックとして選択する第３の選択手段とを含む。
【００１４】
好ましくは、第１の選択手段は、回路図面データベースに基づいて、第１の回路部品に最も近い第４の回路部品を取得する第４の取得手段と、回路ブロック図面データベースに基づいて、第４の回路部品が含まれる回路ブロックを対象回路ブロックとして選択する第４の選択手段とを含む。
【００１５】
この発明の別の局面に従えば、回路図面データベースと回路ブロック図面データベースとを備えるコンピュータに回路ブロック図面データベースを更新させるための回路設計プログラムであって、回路図面データベースは、回路部品の配置位置を回路部品を特定するための識別情報に対応付けて格納し、回路ブロック図面データベースは、少なくとも１つの回路部品を含む回路ブロックの配置位置と回路ブロックに含まれる回路部品を特定するための識別情報とを、回路ブロックを特定するための識別情報に対応付けて格納し、プログラムは、コンピュータに、回路図面データベースに識別情報が格納されている回路部品のうち、回路ブロック図面データベースに識別情報が格納されていない第１の回路部品を取得するステップと、回路ブロック図面データベースに基づいて、第１の回路部品が含まれるべき対象回路ブロックを選択するステップと、回路ブロック図面データベースを、第１の回路部品が対象回路ブロックに含まれた状態に更新するステップとを実行させる。
【００１６】
この発明のさらに別の局面に従えば、回路図面データベースと回路ブロック図面データベースとを有するコンピュータを用いた回路設計方法であって、回路図面データベースは、回路部品の配置位置を回路部品を特定するための識別情報に対応付けて格納し、回路ブロック図面データベースは、少なくとも１つの回路部品を含む回路ブロックの配置位置と回路ブロックに含まれる回路部品を特定するための識別情報とを、回路ブロックを特定するための識別情報に対応付けて格納し、コンピュータは、制御部と、回路図面データベースと回路ブロック図面データベースとを格納する記憶部とを備え、制御部が、回路図面データベースに識別情報が格納されている回路部品のうち、回路ブロック図面データベースに識別情報が格納されていない第１の回路部品を取得するステップと、制御部が、回路ブロック図面データベースに基づいて、第１の回路部品が含まれるべき対象回路ブロックを選択するステップと、制御部が、回路ブロック図面データベースを、第１の回路部品が対象回路ブロックに含まれた状態に更新するステップと備える。
【発明の効果】
【００１７】
以上のように、この発明によれば、回路図面データが変更された場合に、回路ブロック図面データを最新の回路図面データに対応したものに更新できる回路設計装置、回路設計プログラム、および回路設計方法を提供することができる。
【発明を実施するための最良の形態】
【００１８】
以下、図面に基づいて本発明の実施の形態について説明する。なお以下の説明では、同一の部品については同一の符号を付すものとし、前記部品の名称や機能が同一である場合には、前記部品についての詳細な説明は繰り返さない。
【００１９】
［実施の形態１］
＜全体構成＞
まず、本実施の形態に係る回路設計装置の全体構成について説明する。本実施の形態に係る回路設計装置は、設計変更が行われた後の回路図面を表す回路図面データベースの内容に基づいて、電子回路の設計期間の初期に作成される電子回路の概略の構成を表す回路ブロック図面（機能ブロック図）を表す回路ブロック図面データベースを更新する装置である。回路設計装置によって行われる回路ブロック図面更新処理は、代表的に、パーソナルコンピュータやワークステーションなどのコンピュータ１００上で実行されるソフトウェアによって実現される。
【００２０】
図１は、本実施の形態に係る回路設計装置の一例であるコンピュータ１００を示す斜視図である。図１に示すように、このコンピュータ１００は、ＦＤ（Flexible Disk）駆動装置１１１およびＣＤ−ＲＯＭ（Compact Disk-Read Only Memory)駆動装置１１３を備えたコンピュータ本体１０１と、モニタ１０２と、キーボード１０３と、マウス１０４とを含む。
【００２１】
＜ハードウェア構成＞
図２は、本実施の形態に係る回路設計装置の一例であるコンピュータ１００のハードウェア構成を示す制御ブロック図である。図２に示すように、コンピュータ本体１０１は、上記したＦＤ駆動装置１１１およびＣＤ−ＲＯＭ駆動装置１１３に加えて、相互に内部バス１０８で接続されたＣＰＵ（Central Processing Unit）１０５と、メモリ１０６と、固定ディスク１０７と、通信インターフェイス１０９とを含む。ＦＤ駆動装置１１１にはＦＤ１１２が装着される。ＣＤ−ＲＯＭ駆動装置１１３にはＣＤ−ＲＯＭ１１４が装着される。
【００２２】
モニタ１０２は、液晶パネルやＣＲＴから構成されるものであって、ＣＰＵ１０５が出力した情報を表示する。キーボード１０３は、キー入力により、ユーザから情報を受付ける。マウス１０４は、クリックされたりやスライドされることによって、ユーザから情報を受付ける。メモリ１０６は、各種の情報を記憶するものであって、たとえば、ＣＰＵ１０５でのプログラムの実行に必要なデータを一時的に記憶する。固定ディスク１０７は、ＣＰＵ１０５が実行するプログラムやデータベースを記憶する。
【００２３】
ＣＰＵ１０５は、コンピュータ１００の各要素を制御するものであって、各種の演算を実施する装置である。また、ＣＰＵ１０５は、後述するように、回路設計処理や、回路ブロック図面更新処理等を行うものであって、当該処理結果を内部バス１０８を介してモニタ１０２に出力する。
【００２４】
通信インターフェイス１０９は、ＣＰＵ１０５が出力した情報を電気信号へと変換するものであって、ＣＰＵ１０５が出力した情報をその他の装置が利用できる信号へと変換する装置でもある。また、通信インターフェイス１０９は、本実施の形態に係るコンピュータ１００の外部から入力された情報を受信して、ＣＰＵ１０５が利用できる情報に変換する装置でもある。また、コンピュータ１００には、必要に応じて、プリンタなどモニタ１０２以外の他の出力装置が接続され得る。
【００２５】
既に述べたように、本実施の形態に係る回路設計装置および回路ブロック図面更新処理は、コンピュータ１００などのハードウェアと制御プログラムなどのソフトウェアとによって実現される。一般的にこうしたソフトウェアは、ＦＤ１１２やＣＤ−ＲＯＭ１１４などの記録媒体に格納されて、もしくはネットワークなどを介して流通する。そして、前記ソフトウェアは、ＦＤ駆動装置１１１やＣＤ−ＲＯＭ駆動装置１１３などにより前記記録媒体から読取られて、若しくは通信インターフェイス１０９にて受信されて、固定ディスク１０７に格納される。そして、前記ソフトウェアは、固定ディスク１０７からメモリ１０６に読出されて、ＣＰＵ１０５により実行される。
【００２６】
＜機能構成＞
次に、本実施例に係る回路設計装置が有する各機能について説明する。図３は、本実施の形態に係る回路設計装置の機能構成を示す機能ブロック図である。図３に示される各機能は、たとえば、ＣＰＵ１０５がＲＯＭ１０７や固定ディスク１０７などに記憶されるプログラムを実行して図１および図２に示される各ハードウェアを制御することによって発揮される機能である。本実施の形態においては、回路設計処理や回路ブロック図面更新処理のための機能がパーソナルコンピュータまたはワークステーションなどのコンピュータ上で実行されるソフトウェアによって実現される構成としているが、各ブロックの機能や各ステップの処理をソフトウェアによって実現する代わりに、各々を専用のハードウェア回路等によって実現してもよい。
【００２７】
図３に示すように、本実施の形態に係る回路設計装置は、制御部１０５−１と、記憶部１０７−１とを含む。制御部１０５−１は、第１の取得部１０５−２と、第１の選択部１０５−３と、更新部１０５−４とを含む。第１の選択部１０５−３は、第２の取得部１０５−５と、第２の選択部１０５−６と、第３の取得部１０５−７と、第３の選択部１０５−８とを含む。制御部１０５−１は、たとえばＣＰＵ１０５などの演算処理装置が、記憶部１０７−１に格納されている上記の各機能を実現するための制御プログラムを実行することによって実現されるものである。
【００２８】
一方、記憶部１０７−１は、回路図面データベース１０７−２と、回路ブロック図面データベース１０７−３と、回路部品ライブラリ１０７−４と、回路ブロックライブラリ１０７−５と、対応テーブル１０７−６とを含む。本実施の形態においては、対応テーブル１０７−６は、回路ブロック図面データベース１０７−３に含まれるデータとしている。
【００２９】
ただし、対応テーブル１０７−６は、回路ブロック図面データベース１０７−３と別のデータベースであってもよく、たとえばＣＰＵ１０５が回路ブロック図面データベース１０７−３を参照する際に、ＣＰＵ１０５が対応テーブル１０７−６にアクセス可能（参照可能）であるデータ構造であればよい。そして、「回路ブロック図面データベース」とは、対応テーブル１０７−６を含む回路ブロック図面データベース１０７−３のことをいい、対応テーブル１０７−６と回路ブロック図面データベース１０７−３とが別のデータである場合には両者を含むデータベースのことをいう。
【００３０】
以下、各機能について説明する。まず、回路図面データベース１０７−２と、回路ブロック図面データベース１０７−３と、回路部品ライブラリ１０７−４と、回路ブロックライブラリ１０７−５と、対応テーブル１０７−６とは、たとえば、固定ディスク１０７やメモリ１０６によって実現されるものである。
【００３１】
回路図面データベース１０７−２は、少なくとも１つの回路図面データ３０を格納しており、回路ブロック図面データベース１０７−３は少なくとも１つの回路ブロック図面データ４０を格納している。ＣＰＵ１０５は、各々の回路図面データ３０を読み出して、各々の回路図面データ３０に対応した回路図面をモニタ１０２に表示したり、プリンタで印刷したりする。ＣＰＵ１０５は、各々の回路ブロック図面データ４０を読み出して、各々の回路ブロック図面データ４０に対応した回路ブロック図面をモニタ１０２に表示したり、プリンタで印刷したりする。
【００３２】
図４は、回路図面データ３０および回路ブロック図面データ４０のデータ構造の一例を示すイメージ図である。図４に示すように、各々の回路図面データ３０は、回路図面データ３０に対応する回路図面に含まれる少なくとも１つの回路部品を特定するための識別情報（回路部品ＩＤ）３１と、当該回路部品の配置位置を示す配置座標３２と、当該回路部品の形状を示す図形情報３３と、当該回路部品が有するピン（端子）に関する情報３４と、当該回路部品に関するその他の属性情報３５とを含む。より詳細には、本実施の形態に係る回路設計装置においては、回路図面データ３０は識別情報３１と配置座標３２とを含んでいる。図形情報３３とピン情報３４とその他の属性情報３５とは、識別情報３１に対応付けられて回路部品ライブラリ１０７−４に記憶されている。
【００３３】
また、各々の回路図面データ３０は、回路図面データ３０に対応する回路図面に含まれる少なくとも１つの信号線を特定するための識別情報３６と、当該信号線の形状を示す図形情報３７と、当該信号線の接続情報３８と、当該信号線に関するその他の属性情報３９とを含む。ここで、接続情報３８とは、回路部品のどのピンが回路部品のどのピンと接続されているかを示す情報であって、たとえば回路部品ｘの２０番ピンと回路部品ｙの３０番ピンとが接続されているといった情報をいう。
【００３４】
各々の回路ブロック図面データ４０は、回路ブロック図面データ４０に対応する回路ブロック図面に含まれる少なくとも１つの回路ブロックを特定するための識別情報（回路ブロックＩＤ）４１と、当該回路ブロックの配置位置を示す配置座標４２と、当該回路ブロックの形状を示す図形情報４３と、当該回路ブロックが有するピン（端子）に関する情報４４と、当該回路ブロックに関するその他の属性情報４５とを含む。より詳細には、本実施の形態に係る回路設計装置においては、回路ブロック図面データ４０は識別情報４１と配置座標４２とを含んでいる。図形情報４３とピン情報４４とその他の属性情報４５とは、識別情報４１に対応付けられて回路ブロックライブラリ１０７−５に記憶されている。
【００３５】
また、各々の回路ブロック図面データ４０は、回路ブロック図面データ４０に対応する回路ブロック図面に含まれる少なくとも１つの接続線を特定するための識別情報４６と、当該信号線の形状を示す図形情報４７と、当該信号線の接続情報４８と、当該信号線に関するその他の属性情報４９とを含む。ここで、接続情報４８とは、回路ブロックのどのピンが回路ブロックのどのピンと接続されているかを示す情報であって、たとえば回路ブロックＸの２０番ピンと回路ブロックＹの３０番ピンとが接続されているといった情報をいう。
【００３６】
そして、回路ブロック図面データ４０は、回路ブロックと各々の回路ブロックに含まれる回路部品との対応関係を示す対応テーブル５０を含む。図４に示すように、当該対応テーブル５０は、各回路ブロックや各接続線のデータとは別に回路ブロック図面データ４０に含まれる構成であってもよいし、各回路ブロックに含まれる回路部品を各回路ブロックの識別情報４１に対応付けて記憶する構成、すなわち配置座標４２と図形情報４３と同じランク（階層）に回路ブロックに含まれる回路部品の識別情報３１を格納する構成であってもよい。また、前述したように、対応テーブル５０を、回路ブロック図面データ４０とは別のデータとし、回路ブロック図面データベース１０７−３に含まれない構成としてもよい。
【００３７】
図５は、対応テーブル５０のデータ構造の一例を示すイメージである。図５に示すように、対応テーブル５０には、回路ブロック図面内の各回路ブロックに固有に付与された回路ブロックの識別情報４１毎に、各回路ブロックに含まれる各回路部品固有に付与された回路部品の識別情報３１が記憶されている。図５に示す対応テーブル５０は、回路ブロックＩに回路部品１１、回路部品１２、回路部品２０が関連付けられていることを表す。ただし、回路図面データ３０内の各回路部品の属性の一つとして、自らが含まれる回路ブロックの識別情報４１が記述されている形式であっても構わない。
【００３８】
このように、回路図面データベース１０７−２は、回路部品の配置位置（配置座標３２）と回路部品の形状（図形情報３３）とが、回路部品を特定するための識別情報３１に対応付けて格納される。
【００３９】
そして、回路ブロック図面データベース１０７−３は、回路ブロックの配置位置（配置座標４２）と前記回路ブロックの形状（図形情報４３）と前記回路ブロックに含まれる回路部品を特定するための識別情報３１とが、前記回路ブロックを特定するための識別情報４１に対応付けて格納される。
【００４０】
図３に戻って、第１の取得部１０５−２と、第１の選択部１０５−３と、更新部１０５−４と、第２の取得部１０５−５と、第２の選択部１０５−６と、第３の取得部１０５−７と、第３の選択部１０５−８とは、たとえば固定ディスク１０７からメモリ１０６へと読み出されたプログラムがＣＰＵ１０５上で実行されることによって実現される。つまり、固定ディスク１０７もしくはＲＯＭ１０７に記憶されたプログラムが一旦メモリ１０６へと読み出されて、ＣＰＵ１０５がメモリ１０６から前記プログラムを読み出しながら順次実行することによって、以下の回路ブロック図面更新処理などが実行される。
【００４１】
このようにして、第１の取得部１０５−２は、回路図面データベース１０７−２が新たに保存（更新）された際に、回路図面データベース１０７−２に格納されつつ、回路ブロック図面データベース１０７−３に格納されていない第１の回路部品を特定するための識別情報を取得する。つまり、第１の取得部１０５−２は、回路図面データベース１０７−２に格納されつつ、対応テーブル１０７−６に格納されていない第１の回路部品を特定するための識別情報を取得する。
【００４２】
図６は、新回路部品リストのデータ構造を示すイメージである。図６に示すように、第１の取得部１０５−２は、回路図面上の全回路部品から、対応テーブル５０に格納されていない回路部品を新回路部品リストとしてリストアップする。回路部品リストは、たとえば、回路図面上の回路部品を特定するための固有の回路部品の識別情報３１を並べたリスト形式である。
【００４３】
図３に戻って、第１の選択部１０５−３は、第１の回路部品が含まれるべき第１の回路ブロックを選択する。より詳しくは、第２の取得部１０５−５が、回路図面データベース１０７−２に基づいて第１の回路部品が接続される第２の回路部品を取得する。そして、第２の選択部１０５−６が、回路ブロック図面データベース１０７−３に基づいて第２の回路部品が含まれる第２の回路ブロックを第１の回路ブロックとして選択する。
【００４４】
さらに、本実施の形態においては、第３の取得部１０５−７が、回路図面データベース１０７−２に基づいて、第１の回路部品が接続される第２の回路部品が複数存在する場合に、複数の第２の回路部品の中から、第１の回路部品に最も近い第３の回路部品を取得する。そして、第３の選択部１０５−８が、回路ブロック図面データベース１０７−３に基づいて、第３の回路部品が含まれる第３の回路ブロックを第１の回路ブロックとして選択する。
【００４５】
図７は、回路部品に接続されている回路部品を示すイメージ図である。図７に示すように、回路部品１３と信号線で接続される回路部品は回路部品２０と回路部品２１と回路部品２２との３つであり、さらに図５に示すように対応テーブル５０には回路部品２０と回路部品２２とが格納されている。
【００４６】
以上により、第２の取得部１０５−５は、回路部品１３に対する第１の回路部品の候補リストとして、回路部品２０と回路部品２２とを取得する。ここで、候補リストとは、たとえば、回路部品リストと同様に、回路図面上で特定できる固有の回路部品の識別情報を並べたリスト形式である。
【００４７】
図８は、回路部品と当該回路部品に接続されている各回路部品との距離を示すイメージ図である。図８に示すように、第２の取得部１０５−５によって第１の回路部品の候補が複数取得されたため、第３の取得部１０５−７は、候補リストの中から回路図面上で対象回路部品１３と最も距離が近い回路部品２０を取得する。第３の取得部１０５−７は、たとえば、回路図面データの配置座標３２や図形情報３３に基づいて回路部品の中心点同士の距離を測定することによって、回路部品同士の距離を測定する。
【００４８】
図３に戻って、第３の選択部１０５−８は、対応テーブル５０に基づいて、回路部品１３と最も距離が近い回路部品２０が含まれている回路ブロックＩをブロック部品対応テーブルから取得する。
【００４９】
更新部１０５−４は、回路ブロック図面データベース１０７−３を、第１の回路部品が第３の（第２の）回路ブロックに含まれた状態に更新する。図９は、更新後の対応テーブルを示すイメージ図である。図９に示すように、更新部１０５は、対象回路部品１３を第３の選択部により選択された回路ブロックＩに対応付けた状態へと更新するために、対応テーブル５０を更新する。
【００５０】
このような構成により、回路ブロック図面データベース１０７−３を、回路図面データベース１０７−２における回路図面に対応した状態へと自動的に更新することが可能になる。
【００５１】
＜回路設計処理＞
図１０は、回路設計処理全体の処理手順を示すフローチャートである。図１０に示すように、まずは、ＣＰＵ１０５は、ユーザからの命令を受け付けて、メモリ１０６に回路ブロック図面データＡを新規に作成する（ステップＳ１０１）。ＣＰＵ１０５は、ユーザからの命令を受け付けて、回路ブロック図面データＡ上に新たな回路ブロックＢを作成する（ステップＳ１０２）。ＣＰＵ１０５は、ユーザからの命令を受け付けて、回路ブロックＢに回路図面データＣを割り当てる（ステップＳ１０３）。ＣＰＵ１０５は、回路ブロック図面データＡに対応テーブルＤを作成する（ステップＳ１０４）。
【００５２】
その後、たとえば、ＣＰＵ１０５は、ユーザからの命令を受け付けて、回路ブロックＢに割り当てられた回路図面データＣのうち、回路部品Ｅのみを選択して割り当て内容を編集する（ステップＳ１０５）。ＣＰＵ１０５は、回路ブロックＢに回路部品Ｅのみが含まれるように、回路ブロック図面データＡを更新する（ステップＳ１０６）。そして、ユーザが回路ブロック図面データＡの編集を完了しない場合（ステップＳ１０７にてＮＯの場合）、ＣＰＵ１０５はステップＳ１０２からの処理を繰り返す。一方、ユーザが回路ブロック図面データＡの編集を完了した場合（ステップＳ１０７にてＹＥＳの場合）、ＣＰＵ１０５はステップＳ１０８の処理へと進む。回路ブロック図面データＡや回路図面データＣは、固定ディスク１０７に格納される。
【００５３】
ＣＰＵ１０５は、ユーザからの命令を受け付けて、固定ディスク１０７から回路図面データＣを読み出して、モニタ１０２などに表示させる（ステップＳ１０８）。すなわち、ＣＰＵ１０５は、ユーザからの命令を受け付けて、回路図面データＣを読み出し、回路図面データＣを複製することによって新たな回路図面データＦを作成する（ステップＳ１０９）。ＣＰＵ１０５は、対応テーブルＤを更新する（ステップＳ１０９）。すなわち、ＣＰＵ１０５は、対応テーブルＤにおける回路図面データＣを回路図面データＦに変更する（ステップＳ１０９）。
【００５４】
そして、例えば、ＣＰＵ１０５は、ユーザからの命令を受け付けて、回路図面データＦに回路部品Ｇを追加する（ステップＳ１１０）。ユーザが、回路図面データＦを保存（更新）すると（ステップＳ１１１）、コンピュータ１００では回路ブロック図面更新処理（ステップＳ１１２）が実行される。回路ブロック図面更新処理（ステップＳ１１２）については、後述する。その後、回路図面データＦの編集が続行されると（ステップＳ１１３にてＮＯの場合）、ＣＰＵ１０５はステップＳ１１０からの処理を繰り返す。一方、回路図面データＦの編集が完了されると（ステップＳ１１３にてＹＥＳの場合）、回路設計処理を終了する。
【００５５】
＜回路ブロック図面更新処理＞
次に、回路ブロック図面更新処理（ステップＳ１１２）について説明する。図１１は、コンピュータ１００における回路ブロック図面更新処理の処理手順を示すフローチャートである。
【００５６】
ユーザが回路図面データＦを更新すると（ステップＳ１１１）、図１１に示すように、ＣＰＵ１０５は回路図面データに含まれる回路部品のうち、回路ブロック図面データ（回路ブロック図面データに格納される対応テーブル）に含まれていない回路部品をすべて（Ｎ個）取得する（ステップＳ２０１）。ＣＰＵ１０５は、ステップＳ２０１で取得されたすべての回路部品（候補ＩＤ：１〜Ｎ）について、以下のステップＳ２０３〜ステップＳ２０７の処理を行う（Ｓ２０２）。
【００５７】
すなわち、ＣＰＵ１０５は、回路図面データに基づいて、回路部品ｎと信号線で接続される回路部品を検索する。そして、ＣＰＵ１０５は、回路ブロック図面データに基づいて、検索された回路部品のうち回路ブロック図面データ（回路ブロック図面データに格納される対応テーブル）に含まれている回路部品を取得する（ステップＳ２０３）。ステップＳ２０３にて１つの回路部品αだけが取得された場合（ステップＳ２０４にてＮＯの場合）、回路ブロック図面データ（回路ブロック図面データに格納される対応テーブル）に基づいて、回路部品αに対応付けられた回路ブロックＨを取得する（Ｓ２０６）。
【００５８】
一方、ステップＳ２０３にて複数の回路部品α，β，・・・が取得された場合（ステップＳ２０４にてＹＥＳの場合）、回路部品α，β，・・・のうち、回路部品ｎに最も距離が近い回路部品αを取得する（Ｓ２０５）。その後、回路ブロック図面データ（回路ブロック図面データに格納される対応テーブル）に基づいて、回路部品αに対応付けられた回路ブロックＨを取得する（Ｓ２０６）。
【００５９】
回路ブロック図面データ（回路ブロック図面データに格納される対応テーブル）において、回路ブロックＨに回路部品ｎを追加して更新する。ＣＰＵ１０５は、候補ＩＤをインクリメントして（ステップＳ２０８）、ステップＳ２０１で取得されたすべての回路部品（１〜Ｎ）について、以下のステップＳ２０３〜ステップＳ２０７の処理を繰り返す。
【００６０】
このように、本実施の形態に係るコンピュータ１００においては、電子回路設計における回路ブロック図面を回路図面から自動的に更新することができ、次に設計を行うときに回路ブロック図面を流用あるいは参照する際に、設計変更が反映されていない回路ブロック図面を利用することを防止することができる。
【００６１】
［実施の形態２］
次に、回路設計装置の第２の実施の形態について説明する。以下の説明では、第１の実施の形態に係るコンピュータ１００と同一の部品や同一の機能ブロックについては同一の符号を付すものとし、前記部品や機能ブロックの名称や機能が同一である場合には、前記部品についての詳細な説明は繰り返さない。たとえば、本実施の形態に係るコンピュータ１００の全体構成やハードウェア構成や回路ブロック図面更新処理以外の回路設計処理に関する処理手順は、第１の実施の形態に係るコンピュータのそれと同様であるため、本実施の形態に係るコンピュータ１００の全体構成やハードウェア構成や回路ブロック図面更新処理以外の回路設計処理に関する処理手順についての説明は繰り返さない。
【００６２】
＜機能構成＞
以下では、本実施の形態に係るコンピュータの機能構成について説明する。図１２は、本実施の形態に係る回路設計装置の機能構成を示す機能ブロック図である。本実施の形態においても、回路設計処理や回路ブロック図面更新処理のための機能がパーソナルコンピュータまたはワークステーションなどのコンピュータ上で実行されるソフトウェアによって実現される構成としているが、各ブロックの機能や各ステップの処理をソフトウェアによって実現する代わりに、各々を専用のハードウェア回路等によって実現してもよい。
【００６３】
図１２に示すように、本実施の形態に係る回路設計装置は、制御部１０５−１と、記憶部１０７−１とを含む。制御部１０５−１は、第１の取得部１０５−２と、第１の選択部１０５−１３と、更新部１０５−４とを含む。第１の選択部１０５−１３は、第４の取得部１０５−１７と、第４の選択部１０５−１８と、第５の取得部１０５−１５と、第５の選択部１０５−１６とを含む。制御部１０５−１は、たとえばＣＰＵ１０５などの演算処理装置と、上記の各機能を実現するための記憶部１０７−１に格納される制御プログラムとによって実現されるものである。
【００６４】
一方、記憶部１０７−１は、回路図面データベース１０７−２と、回路ブロック図面データベース１０７−３と、回路部品ライブラリ１０７−４と、回路ブロックライブラリ１０７−５と、対応テーブル１０７−６とを含む。ここで、対応テーブル１０７−６は、回路ブロック図面データベース１０７−３に含まれるデータであってもよいし、回路ブロック図面データベースとは別のデータベースであって、回路ブロック図面データベース１０７−３がアクセス可能（参照可能）なデータであってもよい。
【００６５】
以下、各機能について説明する。ただし、回路図面データベース１０７−２と、回路ブロック図面データベース１０７−３と、回路部品ライブラリ１０７−４と、回路ブロックライブラリ１０７−５と、対応テーブル１０７−６とは、第１の実施の形態と同様であるため、ここでは説明を繰り返さない。
【００６６】
第１の取得部１０５−２と、第１の選択部１０５−３と、更新部１０５−４と、第２の取得部１０５−５と、第２の選択部１０５−６と、第３の取得部１０５−７と、第３の選択部１０５−８とは、たとえば固定ディスク１０７からメモリ１０６へと読み出されたプログラムがＣＰＵ１０５上で実行されることによって実現される。つまり、固定ディスク１０７もしくはＲＯＭ１０７に記憶されたプログラムが一旦メモリ１０６へと読み出されて、ＣＰＵ１０５がメモリ１０６から前記プログラムを読み出しながら順次実行することによって、以下の回路ブロック図面更新処理などが実行される。
【００６７】
このようにして、第１の取得部１０５−２は、回路図面データベース１０７−２が新たに保存（更新）された際に、回路図面データベース１０７−２に格納されつつ、回路ブロック図面データベース１０７−３に格納されていない第１の回路部品を特定するための識別情報を取得する。つまり、第１の取得部１０５−２は、回路図面データベース１０７−２に格納されつつ、対応テーブル１０７−６に格納されていない第１の回路部品を特定するための識別情報を取得する。
【００６８】
第１の選択部１０５−１３は、第１の回路部品が含まれるべき第１の回路ブロックを選択する。より詳しくは、第４の取得部１０５−１７が、回路図面データベース１０７−２に基づいて第１の回路部品に最も距離が近い第４の回路部品を取得する。そして、第４の選択部１０５−１８が、回路ブロック図面データベース１０７−３に基づいて第４の回路部品が含まれる第４の回路ブロックを第１の回路ブロックとして選択する。
【００６９】
さらに、本実施の形態においては、第５の取得部１０５−１５が、回路図面データベース１０７−２に基づいて、第１の回路部品に最も距離が近い第４の回路部品が複数存在する場合に、複数の第４の回路部品の中から、第１の回路部品に接続されている第５の回路部品を取得する。そして、第５の選択部１０５−１６が、回路ブロック図面データベース１０７−３に基づいて、第５の回路部品が含まれる第５の回路ブロックを第１の回路ブロックとして選択する。
【００７０】
更新部１０５−４は、回路ブロック図面データベース１０７−３を、第１の回路部品が第５の（第４の）回路ブロックに含まれた状態に更新する。
【００７１】
このような構成により、回路ブロック図面データベース１０７−３を、回路図面データベース１０７−２における回路図面に対応した状態へと自動的に更新することが可能になる。
【００７２】
＜回路ブロック図面更新処理＞
次に、本実施の形態に係る回路ブロック図面更新処理（ステップＳ１１２）について説明する。図１３は、本実施の形態に係る回路ブロック図面更新処理の処理手順を示すフローチャートである。
【００７３】
ユーザが回路図面データＦを更新すると（ステップＳ１１１）、図１３に示すように、ＣＰＵ１０５は回路図面データに含まれる回路部品のうち、回路ブロック図面データ（回路ブロック図面データに格納される対応テーブル）に含まれていない回路部品をすべて（Ｎ個）取得する（ステップＳ３０１）。ＣＰＵ１０５は、ステップＳ３０１で取得されたすべての回路部品（候補ＩＤ：１〜Ｎ）について、以下のステップＳ３０３〜ステップＳ３０７の処理を行う（Ｓ３０２）。
【００７４】
すなわち、ＣＰＵ１０５は、回路図面データに基づいて、回路部品ｎに最も距離が近い回路部品を取得する。そして、ＣＰＵ１０５は、回路ブロック図面データに基づいて、取得された回路部品のうち回路ブロック図面データ（回路ブロック図面データに格納される対応テーブル）に含まれている回路部品を取得する（ステップＳ３０３）。ステップＳ３０３にて１つの回路部品αだけが取得された場合（ステップＳ３０４にてＮＯの場合）、回路ブロック図面データ（回路ブロック図面データに格納される対応テーブル）に基づいて、回路部品αに対応付けられた回路ブロックＨを取得する（Ｓ３０６）。
【００７５】
一方、ステップＳ３０３にて複数の回路部品α，β，・・・が取得された場合（ステップＳ３０４にてＹＥＳの場合）、回路部品α，β，・・・のうち、回路部品ｎと信号線で接続される回路部品αを検索する（Ｓ３０５）。その後、回路ブロック図面データ（回路ブロック図面データに格納される対応テーブル）に基づいて、回路部品αに対応付けられた回路ブロックＨを取得する（Ｓ３０６）。
【００７６】
回路ブロック図面データ（回路ブロック図面データに格納される対応テーブル）において、回路ブロックＨに回路部品ｎを追加して更新する。ＣＰＵ１０５は、候補ＩＤをインクリメントして（ステップＳ３０８）、ステップＳ３０１で取得されたすべての回路部品（１〜Ｎ）について、以下のステップＳ３０３〜ステップＳ３０７の処理を繰り返す。
【００７７】
このように、本実施の形態に係るコンピュータ１００においては、電子回路設計における回路ブロック図面を回路図面から自動的に更新することができ、次に設計を行うときに回路ブロック図面を流用あるいは参照する際に、設計変更が反映されていない回路ブロック図面を利用することを防止することができる。
【００７８】
＜その他の実施の形態＞
なお、本発明は、複数の機器（例えば、ホストコンピュータ、インターフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用してもよいし、１つの機器（例えば、パーソナルコンピュータや、ＰＤＡ（個人情報管理）機器のような小型の画像処理機器など）からなる装置に適用してもよい。
【００７９】
また、本発明は、システム或いは装置にプログラムを供給することによって達成される場合にも適用できることはいうまでもない。そして、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の効果を享受することが可能となる。
【００８０】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００８１】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード（ＩＣメモリカード）、ＲＯＭ（マスクＲＯＭ、フラッシュＥＥＰＲＯＭなど）などを用いることができる。
【００８２】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【００８３】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【００８４】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【００８５】
【図１】第１の実施の形態に係る回路設計装置の一例であるコンピュータを示す斜視図である。
【図２】第１の実施の形態に係る回路設計装置の一例であるコンピュータのハードウェア構成を示す制御ブロック図である。
【図３】第１の実施の形態に係る回路設計装置の機能構成を示す機能ブロック図である。
【図４】回路図面データおよび回路ブロック図面データのデータ構造の一例を示すイメージ図である。
【図５】対応テーブルのデータ構造の一例を示すイメージである。
【図６】新回路部品リストのデータ構造を示すイメージである。
【図７】回路部品に接続されている回路部品を示すイメージ図である。
【図８】回路部品と当該回路部品に接続されている各回路部品との距離を示すイメージ図である。
【図９】更新後の対応テーブルを示すイメージ図である。
【図１０】回路設計処理全体の処理手順を示すフローチャートである。
【図１１】第１の実施の形態に係る回路ブロック図面更新処理の処理手順を示すフローチャートである。
【図１２】第２の実施の形態に係る回路設計装置の機能構成を示す機能ブロック図である。
【図１３】第２の実施の形態に係る回路ブロック図面更新処理の処理手順を示すフローチャートである。
【符号の説明】
【００８６】
１１，１２，１３，２０，２１，２２  回路部品、３０  回路図面データ、３１  識別情報、３２  配置座標、３３  図形情報、３４  ピン情報、３５  その他の属性情報、３６  識別情報、３７  図形情報、３８  接続情報、３９  その他の属性情報、４０  回路ブロック図面データ、４１  識別情報、４２  配置座標、４３  図形情報、４４  ピン情報、４５  その他の属性情報、４６  識別情報、４７  図形情報、４８  接続情報、４９  その他の属性情報、５０  対応テーブル、１００  コンピュータ、１０１  コンピュータ本体、１０２  モニタ、１０３  キーボード、１０４  マウス、１０５−１  制御部、１０５−２  取得部、１０５−３  第１の選択部、１０５−４  更新部、１０５−５  第２の取得部、１０５−６  第２の選択部、１０５−７  第３の取得部、１０５−８  第３の選択部、１０５−１５  第５の取得部、１０５−１６  第５の選択部、１０５−１７  第４の取得部、１０５−１８  第４の選択部、１０６  メモリ、１０７  固定ディスク、１０７−１  記憶部、１０７−２  回路図面データベース、１０７−３  回路ブロック図面データベース、１０７−４  回路部品ライブラリ、１０７−５  回路ブロックライブラリ、１０７−６  対応テーブル、１０８  内部バス、１０９  通信インターフェイス。
【図１】
2009146129.tif 000003
【図２】
2009146129.tif 000004
【図３】
2009146129.tif 000005
【図４】
2009146129.tif 000006
【図５】
2009146129.tif 000007
【図６】
2009146129.tif 000008
【図７】
2009146129.tif 000009
【図８】
2009146129.tif 000010
【図９】
2009146129.tif 000011
【図１０】
2009146129.tif 000012
【図１１】
2009146129.tif 000013
【図１２】
2009146129.tif 000014
【図１３】
2009146129.tif 000015