(57)【要約】【課題】回路を構成する部品の集合が形成する機能を明示し、回路図の理解を容易にする。【解決手段】部品の集合と、これら部品のピン間の接続状態とを記述したライブラリを記憶する外部記憶装置と、指定された回路図と前記ライブラリとを読み込む手段と、読み込んだ回路図を前記ライブラリのパターンと照合する手段と、照合結果をもとに前記回路図を書き換えた機能ブロック図を生成する手段と、前記機能ブロック図を表示する手段と、を備える回路設計支援装置により、解決できる。【選択図】図１
2012099007.tif 000002
【特許請求の範囲】
【請求項１】
部品の集合と、これら部品のピン間の接続状態とを記述したライブラリを記憶する外部記憶装置と、指定された回路図と前記ライブラリとを読み込む手段と、読み込んだ回路図を前記ライブラリのパターンと照合する手段と、照合結果をもとに前記回路図を書き換えた機能ブロック図を生成する手段と、前記機能ブロック図を表示する手段と、を備えることを特徴とする回路設計支援装置。
【請求項２】
請求項１に記載の回路設計支援装置であって、
さらに前記機能ブロック図を記憶する第２の外部記憶装置を備えることを特徴とする回路設計支援装置。
【請求項３】
請求項１に記載の回路設計支援装置であって、
前記ライブラリは、機能ブロックの端子情報を含み、該機能ブロックについて、当該機能ブロックの端子をピンとする部品として登録することを特徴とする回路設計支援装置。
【請求項４】
コンピュータを
指定された回路図と前記ライブラリとを読み込む手段、
読み込んだ回路図を前記ライブラリのパターンと照合する手段、
照合結果をもとに前記回路図を書き換えた機能ブロック図を生成する手段、
前記機能ブロック図を表示する手段、として機能させるための回路設計支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路設計支援装置および回路設計支援プログラムに係り、特に回路図上の部品や配線の集合に対してデータを付加する回路設計支援装置および回路設計支援プログラムに関する。
【背景技術】
【０００２】
他者が設計した回路図を解釈するためには、回路を構成する部品相互の関連性をつかみ、部品の集合が形成する機能を理解することが必要である。解釈しやすい回路図を作成する技術および回路図の解釈を支援するための技術として、以下が公開されている。
【０００３】
特許文献１は、回路図を階層化設計する手法として、あらかじめ定められたレイアウトパターンを用いて配置、配線を行なう技術を開示する。
特許文献２では、回路内の特定の素子に着目し、それに接続される周囲の素子を指定された段数だけ表示する技術を開示する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開昭６２−２３９２７３号公報
【特許文献２】特開平０４−１３８５７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１の技術では、特定の機能を持ったブロックをレイアウトパターンとして、それらを組み合わせて回路を設計することができる。しかし、既に作成された回路図の各部品がどのような機能ブロックに属するかを知ることはできない。
【０００６】
特許文献２の技術では、特定の部品の近傍における接続状態を抽出し、回路図の異なるページにまたがる接続などを一覧できる形式で表示することができる。しかし、その部品がどのような機能ブロックに属するかを明示することはできない。
【０００７】
このため、特許文献１または特許文献２は、後述する図８に示す複雑な回路図において、この回路がどのような機能を持ち、どの部分がどの機能を構成するかを直ちに理解することができない。
【０００８】
本発明の目的は、回路を構成する部品の集合が形成する機能を明示し、回路図の理解を容易にすることである。
【課題を解決するための手段】
【０００９】
上述した課題は、部品の集合と、これら部品のピン間の接続状態とを記述したライブラリを記憶する外部記憶装置と、指定された回路図と前記ライブラリとを読み込む手段と、読み込んだ回路図を前記ライブラリのパターンと照合する手段と、照合結果をもとに前記回路図を書き換えた機能ブロック図を生成する手段と、前記機能ブロック図を表示する手段と、を備える回路設計支援装置により、達成できる。
【００１０】
また、コンピュータを、指定された回路図と前記ライブラリとを読み込む手段、読み込んだ回路図を前記ライブラリのパターンと照合する手段、照合結果をもとに前記回路図を書き換えた機能ブロック図を生成する手段、前記機能ブロック図を表示する手段、として機能させるための回路設計支援プログラムにより、達成できる。
【発明の効果】
【００１１】
本発明を用いて回路図から生成された機能ブロック図によって、回路の各部が持つ機能を明確に知ることができ、回路図の解釈を迅速かつ正確に行なうことができる。
【図面の簡単な説明】
【００１２】
【図１】回路図設計支援装置の全体構成を示すブロック図である。
【図２】処理部１２が実行する処理フローチャートである。
【図３】ブロックライブラリに含むブロックデータである。
【図４】全加算回路のブロックデータである。
【図５】半加算回路のブロックデータである。
【図６】ライブラリ照合部の動作を説明するフローチャートである。
【図７】回路図からブロック図への変換を説明する図である。
【図８】複雑な回路図である。
【図９】ブロック圏設定のステップ６０５で生成されるブロック圏データである。
【図１０】図９のブロック圏データに対する、ブロック圏追加ステップ６０８の１回目の実行結果である。
【図１１】図９のブロック圏データに対する、ブロック圏追加ステップ６０８の２回目の実行結果である。
【図１２】図９のブロック圏データに対する、ブロック圏追加ステップ６０８の３回目の実行結果のうち、抵抗８３が部品Ｂであると仮定して生成したブロック圏データ（１）である。
【図１３】図９のブロック圏データに対する、ブロック圏追加ステップ６０８の３回目の実行結果のうち、抵抗８３が部品Ｃであると仮定して生成したブロック圏データ（２）である。
【図１４】図１２のブロック圏データ（１）に対する、ブロック圏追加ステップ６０８の実行結果である。
【図１５】図１３のブロック圏データ（２）をもとに得られる、一致判定ステップ６１０により機能ブロックと判定されるブロック圏データである。
【図１６】複雑な回路図の機能ブロック図への変換結果である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態について、実施例を用い図面を参照しながら詳細に説明する。なお、実質同一部位には同じ参照番号を振り、説明は繰り返さない。
【００１４】
図１を参照して、回路設計支援装置の全体構成を説明する。図１において、回路設計支援装置１００は、処理部１２と、入力部１１と、表示部１３と、回路図データ１４およびブロックライブラリ１５が格納された外部記憶装置と、機能ブロック図_１６を格納する外部記憶装置とから構成されている。処理部１２は、データ読み込み部１２１と、ライブラリ照合部１２２と、機能ブロック図生成部１２３と、表示制御部１２４と、データ格納部１２５とを有する。処理部１２は、図示しないＣＰＵ、メモリ、バスで構成されている。すなわち、回路設計支援装置１００は、コンピュータである。処理部１２の各機能ブロックは、メモリ上のプログラムをＣＰＵが実行することにより、実現する。
【００１５】
回路図データ１４は、外部記憶装置内に複数存在していてもよい。回路図データ１４が複数存在する場合、ブロックライブラリ１５は、原則として、全ての回路図データに対して共通のものを用いる。しかし、特定の回路図データ、または特定の条件を満たす回路図データの集合に対して固有のものを用いてもよい。また、機能ブロック図_１６は、各回路図データに対し固有に生成される。
【００１６】
図２を参照して、処理部１２が実行する処理フローを説明する。図２において、処理部１２は、入力部１１からの入力を受け付ける（Ｓ２２）。ユーザーは、入力部１１を用い、機能ブロック図を生成する対象の回路図を指定する。処理部１２は、データ読み込み部１２１を用い、指定された回路図データ１４およびブロックライブラリ１５を読み込む（Ｓ２３）。処理部１２は、ライブラリ照合部１２２を用い、回路図の特定部分がブロックライブラリに登録されているブロックのパターンと一致するかどうか照合する（Ｓ２４）。処理部１２は、パターンが一致するブロックがあったか判定する（Ｓ２５）。
【００１７】
その部分があるパターンに一致した場合、処理部１２は、機能ブロック図生成部１２３を用い、一致した部分をブロックに変換する（Ｓ２６）。ステップ２５でＮＯのとき、処理部１２は、ステップ２６をジャンプしてステップ２７に遷移する。処理部１２は、回路図全体の検索を終えたか判定する（Ｓ２７）。ＹＥＳのとき、処理部１２は、表示制御部１２４を用いて表示部１３に機能ブロック図を表示し、またデータ格納部１２５を用いて外部記憶装置に機能ブロック図_１６を格納して（Ｓ２８）、終了する。ステップ２７でＮＯのとき、処理部１２は、ステップ２４に遷移する。
【００１８】
図３を参照して、ブロックライブラリ１５に含まれるブロックデータを説明する。図３において、ブロックデータは、１つ以上の部品およびそれらを接続するネットの集合を、より大きな単位である機能ブロックとして定義する。図３では、３個の部品とそれらを接続するネットを、反転増幅回路という機能ブロックとして定義している。
【００１９】
この機能ブロックのブロック名「反転増幅回路（ゲインｘ［ｄＢ］）」は、変数ｘを含む。ブロックデータは、変数に対してその取得、または算出方法を定義している。図３は、変数ｘは、部品Ｂの抵抗値ｙと部品Ｃの抵抗値ｚから算出されることを示している。
【００２０】
この機能ブロックは、オペアンプである部品Ａと、抵抗である部品Ｂおよび部品Ｃの、合計３個の部品から構成されている。この機能ブロックは、それらのうち部品Ａをキー部品として定義している。キー部品とは、機能ブロックの代表となる部品のことである。機能ブロックは、機能ブロックに含まれる部品のうち少なくとも１つがキー部品として定義されている。
【００２１】
このブロックデータでは、部品Ａが持つピン３本に着目し、符号を定義している。「−」の入力ピンにピンａ、「＋」の入力ピンにピンｂ、そして出力ピンをピンｃとしている。同様に、部品Ｂと部品Ｃに対してもピンの符号を定義している。部品Ｂと部品Ｃにはピンの区別がないため、任意に一方をａ、他方をｂとしている。
【００２２】
ブロックデータはまた、ネットの情報を含む。図３では、部品Ａのピンａと部品Ｂのピンｂ、部品Ｃのピンａを接続するネットが存在することを「Ａａ−Ｂｂ−Ｃａ」と記述し、またこのネットが電源でもアースでもないことを記述している。同様に、部品Ａのピンｃと部品Ｃのピンｂが電源でもアースでもないネットで接続されており、部品Ａのピンｂはアースに接続されていることを記述している。
さらに、ブロックデータは、機能ブロックの端子についての情報を含む。図３では、部品Ｂのピンａが反転増幅回路の入力端子である。一方、部品Ａのピンｃが出力端子である。
【００２３】
ブロックデータは、部品の代わりに、ブロックライブラリ１５に含まれるブロックデータで記述される他の機能ブロックを含んでもよい。ブロックデータに含まれる機能ブロックは、端子をピンとする仮想的な部品として記述する。
【００２４】
図４を参照して、機能ブロックを含むブロックデータを説明する。図４において、ブロックデータは、半加算回路２つとＯＲ回路から構成される全加算回路を機能ブロックとして定義している。ここで半加算回路は、図５のブロックデータにより定義される機能ブロックである。半加算回路は、図４のブロックデータにおいては全加算回路を構成する仮想的な部品として記述されている。機能ブロックを含むブロックデータにおいては、全ての機能ブロックがキー部品でなくてはならない。
【００２５】
図５を参照して、半加算回路のブロックデータを説明する。図５において、半加算回路は、ＡＮＤ回路と、ＸＯＲ回路とから構成される。半加算回路は、Ａａ−Ｂａと、Ａｂ−Ｂａのネットを有する。これらのネットは、半加算回路の入力端子である。また、Ａｃがキャリー出力、Ｂｃが和の出力である。
【００２６】
図６を参照して、ライブラリ照合部１２２の動作を説明する。図６において、ライブラリ照合部１２２は、回路図データ１４から部品を１つ抽出する（Ｓ６０２）。部品の抽出は、これ以前に抽出されていない部品の中から行なう。また、機能ブロック図生成部１２３で生成した機能ブロックも仮想的な部品とみなし、これ以前に抽出されていない場合には抽出の対象とする。ライブラリ照合部１２２は、ブロックライブラリ１５からブロックデータを１つ取得する（Ｓ６０３）。ブロックデータの取得は、取得していないブロックデータの中から行なう。ライブラリ照合部１２２は、抽出した部品が取得したブロックデータのキー部品条件に合致するかどうかを判断する（Ｓ６０４）。キー部品のとき（ＹＥＳ）、ライブラリ照合部１２２は、ブロック圏のデータを生成する（Ｓ６０５）。ブロック圏とは、機能ブロックとなりうる候補の領域であり、ブロックデータの各部品やネットと回路図データ１４上の部品やネットを対応付けるデータとして記述される。
【００２７】
ステップ６０４でキー部品でないとき（ＮＯ）、ライブラリ照合部１２２は、後述するステップ６１３に遷移する。ステップ６０５のあと、ライブラリ照合部１２２は、回路図データ１４から、ブロック圏に接続しているネットまたは部品を１つ選択する（Ｓ６０６）。ライブラリ照合部１２２は、選択した接続先がブロックデータの記述に合致するかどうかを判断する（Ｓ６０７）。この接続先がブロックデータの記述と無関係な場合、ライブラリ照合部１２２は、ステップ６０６に戻り、まだ選択していない他の接続先を選択する。ステップ６０７で、記述に合致せず、この接続先が存在することによってブロックデータの記述を満足させることができなくなる場合、ライブラリ照合部１２２は、現在のブロック圏データを破棄して（Ｓ６１１）、後述するステップ６１２に遷移する。
【００２８】
ステップ６０７で記述に合致する場合、ライブラリ照合部１２２は、選択した接続先をブロック圏データのネットや部品に対応させる（Ｓ６０８）。選択した接続先が、ブロック圏データの複数の要素に対応する可能性がある場合は、それぞれに対応させたブロック圏データを生成し、どちらか一方のブロック圏データに対して処理を続行する。ライブラリ照合部１２２は、ブロック全体がブロック圏に組み込まれたかどうかを判断する（Ｓ６０９）。この判断は、ブロック圏データの全要素に、回路図データ１４の要素が対応しているかどうかをもって行なう。完了していない場合（ＮＯ）、ライブラリ照合部１２２は、ステップ６０６に遷移する。
【００２９】
ステップ６０９で完了している場合（ＹＥＳ）、ライブラリ照合部１２２は、現在のブロック圏がブロックデータに一致しており、部品抽出６０２で抽出した部品をキー部品とする機能ブロックであると判定する（Ｓ６１０）。ライブラリ照合部１２２は、ブロック圏データが残っているかどうかを判断する（Ｓ６１２）。ＹＥＳのとき、ライブラリ照合部１２２は、ステップ６０６に遷移する。ステップ６１２でＮＯのとき、ライブラリ照合部１２２は、未だ取得していないブロックデータが残っているかどうかを判断する（Ｓ６１３）。ＹＥＳのとき、ライブラリ照合部１２２は、ステップ６０３に遷移する。ステップ６１３でＮＯのとき、ライブラリ照合部１２２は、ステップ６１０において機能ブロックであると判定したブロック圏を返して（Ｓ６１４）、終了する。ステップ６１４で、ライブラリ照合部１２２は、複数のブロック圏を機能ブロックであると判定した場合、それらの全てを返し、どのブロック圏も機能ブロックであると判定しなかった場合は、ステップ６０２で抽出した部品をキー部品とする機能ブロックは存在しないと判断して空集合を返す。
【００３０】
図７を参照して、機能ブロック図生成部１２３による変換の内容について説明する。図７において、機能ブロック図生成部１２３は、ライブラリ照合部１２２が返したブロック判定に従い、該当する部分の回路図シンボルを変換した機能ブロック図_１６を生成する。機能ブロック図_１６は、回路図データ１４を上書きせず、新たに生成する。変換は、機能ブロックを構成する部品が占めていた領域の大きさを超えない図形７１を描いて、その内部か付近に機能ブロックの名称を書き込んだシンボルによって行なう。この変換により、図７（ａ）に示す回路は、図７（ｂ）のように変換される。図７（ｂ）では矩形を用いているが、回路図上の他のシンボルとの衝突を避けるため、あるいは機能ブロックの種別ごとに、異なる形状のシンボルを使用してもよい。この場合、シンボルの形状の定義はブロックデータ自身で行なっても、別途定義データを外部記憶装置に用意してもよい。
【００３１】
また、図７（ｂ）のような変換に代えて、図７（ｃ）に示すように、該当する部分の回路図シンボルを囲む図形７２を描き、その内部か付近に機能ブロックの名称を書き込むようにしてもよい。この方法を用いると、機能ブロックの領域と、その内部の構成要素を同時に見ることができる。
【００３２】
ライブラリ照合部１２２が複数のブロック圏を機能ブロックとして返してきた場合、機能ブロック図生成部１２３はそれぞれの機能ブロック変換を行なった機能ブロック図_１６を別個に生成する。処理部１２は、それらの機能ブロック図_１６に対して、順次残りの処理を実行する。または、複数の機能ブロックが返されるたび、ユーザーが入力部１１を用いてどの機能ブロックを採用するか決定してもよい。
【００３３】
以下、部品抽出のステップ６０２で図８に示す回路図上のオペアンプ８１が抽出され、ブロックデータ取得のステップ６０３で図３に示すブロックデータが取得されたとき、図８の該当部分が、反転増幅回路の機能ブロックに変換される手順を説明する。
【００３４】
キー部品判断のステップ６０４では、ライブラリ照合部１２２は、オペアンプ８１がブロックデータのキー部品条件に合致するかどうかを判断する。ブロックデータのキー部品はオペアンプであり、条件に合致するため、ブロック圏設定のステップ６０５に進み、図９（ａ）に示すようなブロック圏データを生成する。このブロック圏データは、キー部品である部品Ａに、オペアンプ８１が対応することを示しており、回路図上において、図９（ｂ）の破線Ａで囲んだ領域を表す。
【００３５】
接続先選択のステップ６０６で、ライブラリ照合部１２２は、ブロック圏であるオペアンプ８１に接続しているネットの中から１つを選択する。ここではライブラリ照合部１２２は、ピンｂに接続しているネットを選択したとする。
【００３６】
接続先条件判断のステップ６０７では、ライブラリ照合部１２２は、選択したネットがブロックデータの記述に合致するかどうかを判断する。オペアンプ８１のピンｂに接続するネットに対応するものとして、ブロックデータには部品Ａのピンｂに接続するネットが記述されている。このネットはアースであり、ブロックデータに記述されたネットの条件に合致する。よって、ライブラリ照合部１２２は、ブロック圏追加のステップ６０８に進み、図１０（ａ）に示すようにブロック圏データと配線を対応させる。このとき、ブロック圏は、図１０（ｂ）の破線Ｂで囲んだ領域となる。
【００３７】
ブロック圏データの全要素への対応付けができてないため、照合完了判断のステップ６０９では照合が完了していないと判断し、ライブラリ照合部１２２は、接続先選択のステップ６０６に進む。
【００３８】
続いて、ライブラリ照合部１２２は、ピンａに接続しているネットを選択したとする。接続先条件判断のステップ６０７で、ブロックデータのネットＡａ−Ｂｂ−Ｃａがこのネットに合致すると判断し、ライブラリ照合部１２２は、ブロック圏追加のステップ６０８で、図１１に示すようにブロック圏データとの対応付けを行なう。ブロック圏データは、図１１の破線Ｃの範囲である。ブロック圏データへの対応付けが完了していないため、ライブラリ照合部１２２は、照合完了判断のステップ６０９からは接続先選択のステップ６０６に進む。
【００３９】
続いて、ライブラリ照合部１２２は、オペアンプ８１のピンａに接続している抵抗８３を選択したとする。ブロックデータは、オペアンプ８１のピンａに抵抗Ｂと抵抗Ｃが接続されていることを記述しているため、抵抗８３は条件に合致する。したがって、ライブラリ照合部１２２は、接続先条件判断６０７からブロック圏追加のステップ６０８に進む。
【００４０】
ここで抵抗８３は、ブロックデータ上の部品Ｂに対応する可能性と、部品Ｃに対応する可能性の両方が存在する。したがってブロック圏追加のステップ６０８では、ライブラリ照合部１２２は、図１２（ａ）に示す抵抗８３が部品Ｂに対応するブロック圏データ（１）と、図１３（ａ）に示す抵抗８３が部品Ｃに対応するブロック圏データ（２）の両方を生成する。以下では、まずブロック圏データ（１）について検証する。
【００４１】
ライブラリ照合部１２２は、照合完了判断のステップ６０９から接続先選択のステップ６０６に進む。ライブラリ照合部１２２は、オペアンプ８１のピンｃに接続しているネットを選択したとする。ライブラリ照合部１２２は、接続先条件判断のステップ６０７を経て、ブロック圏追加のステップ６０８で図１４に示すようにブロック圏データ（１）への対応付けを行ない、照合完了判断のステップ６０９から接続先選択のステップ６０６に進む。
【００４２】
ブロック圏データ（１）の残る空きは、抵抗である部品Ｃのみとなる。部品ＣはネットＡａ−Ｂｂ−Ｃａに接続しており、回路図上ではオペアンプ８１のピンａに接続している抵抗２つのうち、部品Ｂである抵抗８３ではなく、抵抗８２が該当すると考えられる。しかし、抵抗８２が部品Ｃだとすると、ネットＡｃ−Ｃｂの存在より、部品Ｃのピンｂである抵抗８２のピンａは、オペアンプ８１のピンｃに接続していなくてはならない。しかし、回路図上ではそうなっていない。ゆえに、抵抗８２は、ブロックデータの記述に相反することになる。
【００４３】
したがって、ライブラリ照合部１２２は、接続先条件判断のステップ６０７からはブロック圏破棄のステップ６１１に進み、ブロック圏データ（１）を破棄する。まだブロック圏データ（２）に対する検証が残っているため、ライブラリ照合部１２２は、ブロック圏残存判断のステップ６１２からは接続先選択のステップ６０６に進む。
【００４４】
接続先選択のステップ６０６で、ライブラリ照合部１２２は、オペアンプ８１のピンｃに接続しているネットを選択したとする。接続先条件判断のステップ６０７を経て、ブロック圏追加のステップ６０８でブロック圏データ（２）への対応付けを行なう。ライブラリ照合部１２２は、照合完了判断のステップ６０９から接続先選択のステップ６０６に進む。
【００４５】
残る部品抵抗８２は、部品Ｂに合致するため、接続先条件判断のステップ６０７を経て、ブロック圏追加のステップ６０８で図１５に示すように対応付けを行なう。これでブロック圏データの全要素に回路図の要素が対応したため、ライブラリ照合部１２２は、照合完了判断のステップ６０９から一致判定のステップ６１０に進む。ライブラリ照合部１２２は、抵抗８２と抵抗８３の抵抗値より変数ｘを求め、このブロック圏が機能ブロック「反転増幅回路（ゲイン２０［ｄＢ］）」であるという判定を返して、終了する。
【００４６】
図１６に、図８の回路図全体を同様の手法により変換した結果を示す。本実施例により、図８の複雑な回路図を、図１６のブロック図の形に変換することができ、回路図の理解を助けることができる。
【符号の説明】
【００４７】
１１…入力部、１２…処理部、１３…表示部、１４…回路図データ、１５…ブロックライブラリ、１６…機能ブロック図、１００…回路設計支援装置、１２１…データ読み込み部、１２２…ライブラリ照合部、１２３…機能ブロック図生成部、１２４…表示制御部、１２５…データ格納部。
【図１】
2012099007.tif 000003
【図２】
2012099007.tif 000004
【図３】
2012099007.tif 000005
【図４】
2012099007.tif 000006
【図５】
2012099007.tif 000007
【図６】
2012099007.tif 000008
【図７】
2012099007.tif 000009
【図８】
2012099007.tif 000010
【図９】
2012099007.tif 000011
【図１０】
2012099007.tif 000012
【図１１】
2012099007.tif 000013
【図１２】
2012099007.tif 000014
【図１３】
2012099007.tif 000015
【図１４】
2012099007.tif 000016
【図１５】
2012099007.tif 000017
【図１６】
2012099007.tif 000018