(57)【要約】【課題】部品としてＦＰＧＡを使用する回路の設計において、ＦＰＧＡの変更に伴う回路図の変更を効率良く行うことができるようにすること。【解決手段】回路設計ＣＡＤ装置１００のＦＰＧＡ情報管理部１１０がＦＰＧＡ設計ＣＡＤ装置１０が作成したピン割付情報や属性情報などのＦＰＧＡ情報を取り込み、ライブラリ作成部１２０がＦＰＧＡ情報を用いてシンボルライブラリを作成するよう構成する。また、ライブラリ作成部１２０は、シンボルライブラリを作成する場合に作成対象のＦＰＧＡが回路図に配置済みの場合には、回路図に配置されている既存のシンボルライブラリのポーション分割やピン配置をできるだけ変更しないようにし、回路図反映部１３０が新たにシンボルライブラリが作成されたＦＰＧＡのシンボルを回路図に配置する場合に、既存の配置を変更しないように配置する。【選択図】        図２
2008165747.tif 000002
【特許請求の範囲】
【請求項１】
部品として集積回路を使用する回路の設計を支援する回路設計支援装置であって、
集積回路について集積回路設計ＣＡＤにより作成された設計情報である集積回路情報を入力する集積回路情報入力手段と、
回路設計で使用する集積回路のシンボルライブラリを前記集積回路情報入力手段により入力された集積回路情報を用いて作成するライブラリ作成手段と、
を備えたことを特徴とする回路設計支援装置。
【請求項２】
前記ライブラリ作成手段は、シンボルライブラリの作成対象である集積回路のシンボルが回路図に配置済みであるか否かを判定し、回路図に配置済であると判定した場合には、回路図に配置されたシンボルに対応するシンボルライブラリの情報に基づいてシンボルの変更が少なくなるようにシンボルライブラリを作成することを特徴とする請求項１に記載の回路設計支援装置。
【請求項３】
前記ライブラリ作成手段は、シンボルライブラリの作成対象である集積回路のシンボルが回路図に配置済みである場合に、回路図に配置されたシンボルに対応するシンボルライブラリの情報に基づいてポーション分割を行うことを特徴とする請求項２に記載の回路設計支援装置。
【請求項４】
前記ライブラリ作成手段は、シンボルライブラリの作成対象である集積回路のシンボルが回路図に配置済みである場合に、回路図に配置されたシンボルに含まれる論理ピンについては該回路図に配置されたシンボルと同じポーションに分割することを特徴とする請求項３に記載の回路設計支援装置。
【請求項５】
前記ライブラリ作成手段は、シンボルライブラリの作成対象である集積回路のシンボルが回路図に配置済みである場合に、回路図に配置されたシンボルに含まれない論理ピンについては物理ピン名に基づいてポーション分割を行うことを特徴とする請求項３または４に記載の回路設計支援装置。
【請求項６】
シンボルライブラリの作成対象である集積回路のシンボルが回路図に配置済みであるか否かを判定し、回路図に配置済であると判定した場合には、回路図に配置されたシンボルを前記ライブラリ作成手段によりシンボルライブラリが作成されたシンボルで置き換えるシンボル置換手段をさらに備えたことを特徴とする請求項１〜５のいずれか一つに記載の回路設計支援装置。
【請求項７】
前記シンボル置換手段は、前記ライブラリ作成手段によりシンボルライブラリが作成されたシンボルのピンのうち置換前のシンボルと論理ピン名が異なるピンがラインに接続されている場合には、該ラインを切断することを特徴とする請求項６に記載の回路設計支援装置。
【請求項８】
部品として集積回路を使用する回路の設計を支援する回路設計支援装置による回路設計支援方法であって、
集積回路について集積回路設計ＣＡＤにより作成された設計情報である集積回路情報を入力する集積回路情報入力ステップと、
回路設計で使用する集積回路のシンボルライブラリを前記集積回路情報入力ステップにより入力された集積回路情報を用いて作成するライブラリ作成ステップと、
を含んだことを特徴とする回路設計支援方法。
【請求項９】
部品として集積回路を使用する回路の設計を支援する回路設計支援プログラムであって、
集積回路について集積回路設計ＣＡＤにより作成された設計情報である集積回路情報を入力する集積回路情報入力手順と、
回路設計で使用する集積回路のシンボルライブラリを前記集積回路情報入力手順により入力された集積回路情報を用いて作成するライブラリ作成手順と、
をコンピュータに実行させることを特徴とする回路設計支援プログラム。
【請求項１０】
部品として集積回路を使用する回路の設計を支援する回路設計支援装置を用いて設計が行われるプリント基板の製造方法であって、
前記回路設計支援装置が、
集積回路について集積回路設計ＣＡＤにより作成された設計情報である集積回路情報を入力する集積回路情報入力ステップと、
回路設計で使用する集積回路のシンボルライブラリを前記集積回路情報入力ステップにより入力された集積回路情報を用いて作成するライブラリ作成ステップと、
を含んだことを特徴とするプリント基板の製造方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、部品としてＰＬＤ(Programmable  Logic  Device)などの集積回路を使用する回路の設計を支援する回路設計支援装置、回路設計支援方法、回路設計支援プログラムおよびプリント基板の製造方法に関し、特に、集積回路の設計変更に伴う回路図の修正を少なくし、もって回路設計の効率を向上することができる回路設計支援装置、回路設計支援方法、回路設計支援プログラムおよびプリント基板の製造方法に関するものである。
【背景技術】
【０００２】
回路設計ＣＡＤにおいて、ＦＰＧＡ(Field  Programmable  Gate  Array)などのＰＬＤを部品として使用する場合には、回路設計者は、ＰＬＤの設計後にＰＬＤのシンボルを作成してシンボルライブラリに登録する必要がある。しかし、回路設計者は部品を組み合わせて回路を設計することが主たる業務であるため、部品のシンボル作成に不慣れな場合が多く、ＰＬＤの設計変更のたびにシンボル作成を行うことは回路設計者にとって負担が大きい。
【０００３】
そこで、ＰＬＤのシンボルの作成を支援する技術が開発されている。例えば、特許文献１には、ＦＰＧＡのピン配列情報からＦＰＧＡライブラリを自動生成するＦＰＧＡ設計支援装置が記載されている。
【０００４】
【特許文献１】特開２００６−７９４４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、ＦＰＧＡ設計支援装置によってＦＰＧＡライブラリを作成しても、回路設計の途中でＦＰＧＡに変更があるたびに回路図中のＦＰＧＡシンボルを置き換える必要があるという問題がある。また、ＦＰＧＡ設計支援装置で作成されるＦＰＧＡシンボルは、ＦＰＧＡの変更によってポーション分割やピン配置が異なったものとなる場合も多く、回路図の大幅な変更が必要となることもある。
【０００６】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、ＦＰＧＡなど集積回路の設計変更に伴う回路図の修正を少なくし、もって回路設計の効率を向上することができる回路設計支援装置、回路設計支援方法、回路設計支援プログラムおよびプリント基板の製造方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するため、回路設計支援装置は、部品として集積回路を使用する回路の設計を支援する回路設計支援装置であって、集積回路について集積回路設計ＣＡＤにより作成された設計情報である集積回路情報を入力する集積回路情報入力手段と、回路設計で使用する集積回路のシンボルライブラリを前記集積回路情報入力手段により入力された集積回路情報を用いて作成するライブラリ作成手段と、を備えたことを特徴とする。
【０００８】
この回路設計支援装置によれば、集積回路について集積回路設計ＣＡＤにより作成された設計情報である集積回路情報を入力し、回路設計で使用する集積回路のシンボルライブラリを、入力した集積回路情報を用いて作成するよう構成したので、回路図に配置されたシンボルの情報を用いてシンボルライブラリを作成することが可能となる。
【０００９】
また、回路設計支援装置は、上記構成において、前記ライブラリ作成手段は、シンボルライブラリの作成対象である集積回路のシンボルが回路図に配置済みであるか否かを判定し、回路図に配置済であると判定した場合には、回路図に配置されたシンボルに対応するシンボルライブラリの情報に基づいてシンボルの変更が少なくなるようにシンボルライブラリを作成することを特徴とする。
【００１０】
この回路設計支援装置によれば、シンボルライブラリの作成対象である集積回路のシンボルが回路図に配置済みであるか否かを判定し、回路図に配置済であると判定した場合には、回路図に配置されたシンボルに対応するシンボルライブラリの情報に基づいてシンボルの変更が少なくなるようにシンボルライブラリを作成するよう構成したので、回路図に配置された集積回路に設計変更があった場合に、そのシンボルの変更を少なくすることができる。
【００１１】
また、回路設計支援装置は、上記構成において、前記ライブラリ作成手段は、シンボルライブラリの作成対象である集積回路のシンボルが回路図に配置済みである場合に、回路図に配置されたシンボルに対応するシンボルライブラリの情報に基づいてポーション分割を行うことを特徴とする。
【００１２】
この回路設計支援装置によれば、シンボルライブラリの作成対象である集積回路のシンボルが回路図に配置済みである場合に、回路図に配置されたシンボルに対応するシンボルライブラリの情報に基づいてポーション分割を行うよう構成したので、回路図に配置された集積回路に設計変更があった場合に、そのシンボルの変更を少なくすることができる。
【００１３】
また、回路設計支援装置は、上記構成において、前記ライブラリ作成手段は、シンボルライブラリの作成対象である集積回路のシンボルが回路図に配置済みである場合に、回路図に配置されたシンボルに含まれる論理ピンについては該回路図に配置されたシンボルと同じポーションに分割することを特徴とする。
【００１４】
この回路設計支援装置によれば、シンボルライブラリの作成対象である集積回路のシンボルが回路図に配置済みである場合に、回路図に配置されたシンボルに含まれる論理ピンについては回路図に配置されたシンボルと同じポーションに分割するよう構成したので、回路図に配置された集積回路に設計変更があった場合に、そのシンボルの変更を少なくすることができる。
【００１５】
また、回路設計支援装置は、上記構成において、前記ライブラリ作成手段は、シンボルライブラリの作成対象である集積回路のシンボルが回路図に配置済みである場合に、回路図に配置されたシンボルに含まれない論理ピンについては物理ピン名に基づいてポーション分割を行うことを特徴とする。
【００１６】
この回路設計支援装置によれば、シンボルライブラリの作成対象である集積回路のシンボルが回路図に配置済みである場合に、回路図に配置されたシンボルに含まれない論理ピンについては物理ピン名に基づいてポーション分割を行うよう構成したので、回路図に配置された集積回路に設計変更があった場合に、そのシンボルの変更を少なくすることができる。
【００１７】
また、回路設計支援装置は、上記構成において、シンボルライブラリの作成対象である集積回路のシンボルが回路図に配置済みであるか否かを判定し、回路図に配置済であると判定した場合には、回路図に配置されたシンボルを前記ライブラリ作成手段によりシンボルライブラリが作成されたシンボルで置き換えるシンボル置換手段をさらに備えたことを特徴とする。
【００１８】
この回路設計支援装置によれば、シンボルライブラリの作成対象である集積回路のシンボルが回路図に配置済みであるか否かを判定し、回路図に配置済であると判定した場合には、回路図に配置されたシンボルを新たにシンボルライブラリを作成したシンボルで置き換えるよう構成したので、回路図に配置された集積回路に設計変更があった場合に、回路設計者による回路図上のシンボルの置き換えを不要とすることができる。
【００１９】
また、回路設計支援装置は、上記構成において、前記シンボル置換手段は、前記ライブラリ作成手段によりシンボルライブラリが作成されたシンボルのピンのうち置換前のシンボルと論理ピン名が異なるピンがラインに接続されている場合には、該ラインを切断することを特徴とする。
【００２０】
この回路設計支援装置によれば、シンボルライブラリを作成したシンボルのピンのうち置換前のシンボルと論理ピン名が異なるピンがラインに接続されている場合には、そのラインを切断するよう構成したので、集積回路の設計変更に伴う回路図の修正漏れを防ぐことができる。
【００２１】
また、回路設計支援方法は、部品として集積回路を使用する回路の設計を支援する回路設計支援装置による回路設計支援方法であって、集積回路について集積回路設計ＣＡＤにより作成された設計情報である集積回路情報を入力する集積回路情報入力ステップと、回路設計で使用する集積回路のシンボルライブラリを前記集積回路情報入力ステップにより入力された集積回路情報を用いて作成するライブラリ作成ステップと、を含んだことを特徴とする。
【００２２】
この回路設計支援方法によれば、集積回路について集積回路設計ＣＡＤにより作成された設計情報である集積回路情報を入力し、回路設計で使用する集積回路のシンボルライブラリを、入力した集積回路情報を用いて作成するよう構成したので、回路図に配置されたシンボルの情報を用いてシンボルライブラリを作成することが可能となる。
【００２３】
また、回路設計支援装置プログラムは、部品として集積回路を使用する回路の設計を支援する回路設計支援プログラムであって、集積回路について集積回路設計ＣＡＤにより作成された設計情報である集積回路情報を入力する集積回路情報入力手順と、回路設計で使用する集積回路のシンボルライブラリを前記集積回路情報入力手順により入力された集積回路情報を用いて作成するライブラリ作成手順と、をコンピュータに実行させることを特徴とする。
【００２４】
この回路設計支援プログラムによれば、集積回路について集積回路設計ＣＡＤにより作成された設計情報である集積回路情報を入力し、回路設計で使用する集積回路のシンボルライブラリを、入力した集積回路情報を用いて作成するよう構成したので、回路図に配置されたシンボルの情報を用いてシンボルライブラリを作成することが可能となる。
【００２５】
また、プリント基板の製造方法は、部品として集積回路を使用する回路の設計を支援する回路設計支援装置を用いて設計が行われるプリント基板の製造方法であって、前記回路設計支援装置が、集積回路について集積回路設計ＣＡＤにより作成された設計情報である集積回路情報を入力する集積回路情報入力ステップと、回路設計で使用する集積回路のシンボルライブラリを前記集積回路情報入力ステップにより入力された集積回路情報を用いて作成するライブラリ作成ステップと、を含んだことを特徴とする。
【００２６】
このプリント基板の製造方法によれば、集積回路について集積回路設計ＣＡＤにより作成された設計情報である集積回路情報を入力し、回路設計で使用する集積回路のシンボルライブラリを、入力した集積回路情報を用いて作成するよう構成したので、回路図に配置されたシンボルの情報を用いてシンボルライブラリを作成することが可能となる。
【発明の効果】
【００２７】
本発明によれば、回路図に配置されたシンボルの情報を用いてシンボルライブラリを作成することが可能となるので、集積回路の設計変更に伴う回路図の修正を少なくすることが可能となるという効果を奏する。
【００２８】
また、本発明によれば、回路図に配置されたＰＬＤに設計変更があった場合に、そのシンボルの変更を少なくすることができるので、ＰＬＤの設計変更に伴う回路図の修正を少なくすることができ、もって回路設計の効率を向上することができるという効果を奏する。
【００２９】
また、本発明によれば、回路図に配置されたＰＬＤに設計変更があった場合に、回路設計者による回路図上のシンボルの置き換えを不要とするので、ＰＬＤの設計変更に伴う回路図の修正を少なくすることができ、もって回路設計の効率を向上することができるという効果を奏する。
【００３０】
また、本発明によれば、ＰＬＤの設計変更に伴う回路図の修正漏れを防ぐので、設計品質を向上させることができるという効果を奏する。
【発明を実施するための最良の形態】
【００３１】
以下に添付図面を参照して、この発明に係る回路設計支援装置、回路設計支援方法、回路設計支援プログラムおよびプリント基板の製造方法の好適な実施例を詳細に説明する。なお、本実施例では、本発明をＦＰＧＡに適用した場合を中心に説明する。
【実施例１】
【００３２】
まず、本実施例１に係るＦＰＧＡ協調設計の概念について説明する。図１は、本実施例１に係るＦＰＧＡ協調設計の概念を説明するための説明図である。同図に示すように、本実施例１に係るＦＰＧＡ協調設計では、ＦＰＧＡの設計を支援するＦＰＧＡ設計ＣＡＤ装置１０と、プリント基板の実装設計を支援する実装設計ＣＡＤ装置２０と、回路設計を支援する回路設計支援装置としての回路設計ＣＡＤ装置１００が連携して設計者を支援する。
【００３３】
具体的には、回路設計ＣＡＤ装置１００がＦＰＧＡ設計ＣＡＤ装置１０が作成したピン配置等のＦＰＧＡ情報を入力してＦＰＧＡのシンボルライブラリを作成する。また、この回路設計ＣＡＤ装置１００は、ＦＰＧＡのシンボルライブラリを作成する場合に、シンボルライブラリを作成するＦＰＧＡが既に回路図に配置済のとき、すなわちＦＰＧＡの変更にともなってシンボルライブラリを再度作成するときは、ポーション分割やシンボルピンの配置など既存のシンボルの情報をできるだけそのまま利用してシンボルライブラリを作成する。
【００３４】
このように、回路設計ＣＡＤ装置１００がＦＰＧＡ情報を用いてＦＰＧＡのシンボルライブラリを作成することによって、回路設計者はＦＰＧＡのシンボルライブラリを作成する必要がなくなり、回路設計者の負担を軽減することができる。また、回路設計ＣＡＤ装置１００がＦＰＧＡの変更にともなってシンボルライブラリを再度作成する場合に、既存のシンボルの情報をできるだけそのまま利用してシンボルライブラリを作成することによって、回路図の修正を減らすことができ、回路設計の効率を向上させることができる。
【００３５】
また、この回路設計ＣＡＤ装置１００は、ＤＲＣ（デザインルールチェック）を行う場合に、ＦＰＧＡ設計ＣＡＤ装置１０が作成したピン入出力属性などＦＰＧＡ情報を参照してＤＲＣを行う。例えば、この回路設計ＣＡＤ装置１００は、各ネットについて、ＦＰＧＡのピン入出力属性を参照して出力ピンの個数のチェックを行う。このように、回路設計ＣＡＤ装置１００がピン入出力属性などＦＰＧＡ情報を参照してＤＲＣを行うことによって、より正確にＤＲＣを行うことができる。
【００３６】
また、この回路設計ＣＡＤ装置１００は、実装設計でピンスワップが発生した場合に、実装設計ＣＡＤ装置２０からピンスワップ情報を取り込んでシンボルライブラリや回路図などにピンスワップを反映させる。また、この回路設計ＣＡＤ装置１００は、ピン間の配線長などの制約条件にも実装設計でのピンスワップを反映させる。このように、回路設計ＣＡＤ装置１００が実装設計でのピンスワップを制約条件にも反映させることによって、回路設計情報と実装設計情報との間の不整合をなくすことができる。
【００３７】
また、この回路設計ＣＡＤ装置１００は、実装設計でのピンスワップの履歴を記録し、ＦＰＧＡ設計ＣＡＤ装置１０にピンスワップの履歴情報を提供する。このように、回路設計ＣＡＤ装置１００が実装設計でのピンスワップの履歴を記録し、ＦＰＧＡ設計ＣＡＤ装置１０にピンスワップの履歴情報を提供することによって、ＦＰＧＡ設計、回路設計および実装設計の間の整合性を確保することができる。
【００３８】
次に、本実施例１に係るＦＰＧＡ協調設計システムの構成について説明する。図２は、本実施例１に係るＦＰＧＡ協調設計システムの構成を示す機能ブロック図である。同図に示すように、このＦＰＧＡ協調設計システムは、ＦＰＧＡ設計ＣＡＤ装置１０と、実装設計ＣＡＤ装置２０と、回路設計ＣＡＤ装置１００とから構成される。
【００３９】
回路設計ＣＡＤ装置１００は、ＦＰＧＡ設計ＣＡＤ装置１０および実装設計ＣＡＤ装置２０と連携して、ＦＰＧＡを部品として使用する回路設計を支援する。図３は、回路設計を説明するための説明図である。同図に示すように、回路設計者は、部品と関連付けられたシンボルライブラリとして登録されているシンボルを回路図上に配置し、シンボルピン間を接続することで回路の設計を行う。
【００４０】
ただし、ＦＰＧＡの場合、プログラムが書き込まれる前にシンボルライブラリとして登録されているものでは、ピンは入力にも出力にもなりえるため入出力ピンとして定義されている。そのため、登録済のシンボルライブラリを使用した場合には、入力となるピンが右に存在したり、逆に出力となるピンが左に存在したり、あるいは、図４（ａ）に示すように、バスが順序よく並ばないため回路図としてわかりづらくなる。
【００４１】
したがって、ＦＰＧＡについては、プログラムの書き込みごとにシンボルライブラリの作成が必要となる。そこで、ここでは、回路設計ＣＡＤ装置１００がプログラムの書き込みごとにＦＰＧＡのシンボルライブラリを作成することとしている。プログラムの書き込みごとにＦＰＧＡのシンボルライブラリを作成することによって、図４（ｂ）に示すように、入力となるピンを左に配置し、またバスを順序よく並べることができる。
【００４２】
図２に戻って、この回路設計ＣＡＤ装置１００は、ＦＰＧＡ情報管理部１１０と、ＦＰＧＡ情報記憶部１１５と、ライブラリ作成部１２０と、シンボルライブラリ記憶部１２５と、回路図反映部１３０と、回路図記憶部１３５と、ＤＲＣ部１４０と、ピンスワップ処理部１５０と、制約条件記憶部１５５と、履歴出力部１６０と、変更履歴記憶部１６５とを有する。
【００４３】
ＦＰＧＡ情報管理部１１０は、ＦＰＧＡ情報を管理する処理部であり、ＦＰＧＡ設計ＣＡＤ装置１０が出力したファイルから物理ピンと論理ピンの対応、ピンの入出力属性、電圧値、バンク番号などのＦＰＧＡ情報を読み込んでＦＰＧＡ情報記憶部１１５に格納する。
【００４４】
また、このＦＰＧＡ情報管理部１１０は、ＦＰＧＡ情報記憶部１１５にＦＰＧＡ情報を最初に格納した後にＦＰＧＡ情報を読み込んでＦＰＧＡ情報記憶部１１５に再格納した場合には、ＦＰＧＡ情報が変更されたことを示す変更履歴を変更履歴記憶部１６５に格納する。
【００４５】
ＦＰＧＡ情報記憶部１１５は、ＦＰＧＡ情報管理部１１０の管理の下にＦＰＧＡ情報を記憶する記憶部である。図５は、ＦＰＧＡ情報記憶部１１５が記憶するＦＰＧＡ情報の一例を示す図である。同図に示すように、このＦＰＧＡ情報記憶部１１５は、ピンごとに、物理ピン名、論理ピン名、入出力属性、バンク番号、スワップグループ番号、差動属性および電源電圧値を記憶する。
【００４６】
ライブラリ作成部１２０は、ＦＰＧＡ情報記憶部１１５が記憶するＦＰＧＡ情報を用いてＦＰＧＡのシンボルライブラリを作成する処理部であり、作成したシンボルライブラリをシンボルライブラリ記憶部１２５に格納する。このライブラリ作成部１２０は、ポーション分割を行うポーション分割部１２１と、ポーション分割部１２１により分割された各ポーションのシンボルを作成するシンボル作成部１２２とを有する。
【００４７】
ポーション分割部１２１は、使用者によってＧＵＩを用いて指定されたポーション分割ルールでポーション分割を行う。ポーション分割としては、バンク番号毎、バンクグループ毎、論理ピン名による分割などがある。また、このポーション分割部１２１は、シンボル上でのピン位置については、左右の位置は入出力属性により決定し、順序はそれぞれの属性によりソートして決定する。また、このポーション分割部１２１は、使用者がＧＵＩを用いて指定したポーション間のピンの移動を受け付けてピンの移動を行う。
【００４８】
また、ライブラリ作成部１２０は、シンボルライブラリを作成するときに、作成対象のＦＰＧＡのシンボルが回路図に配置済であるか否かを調べ、回路図に配置済である場合には、配置済のシンボルに関する情報を参照してシンボルライブラリを作成する。
【００４９】
具体的には、このライブラリ作成部１２０は、論理ピン名をキーに既存のシンボルライブラリを参照してポーション分割する。また、このライブラリ作成部１２０は、既存のシンボルライブラリと一致する位置にシンボルピンを配置したシンボルライブラリを作成する。すなわち、このライブラリ作成部１２０は、既存のシンボルに含まれる論理ピン名のピンは既存のポーションと同じポーションの同じ位置に割り付け、既存のシンボルに含まれない論理ピン名のピンは、物理ピン名が同じピンのポーションに割り付ける。また、このライブラリ作成部１２０は、シンボルライブラリ上の空いている位置に論理ピン名が一致しなかったピンを配置し、空がない場合には、下方向へシンボルライブラリのサイズを拡張してピンを配置する。
【００５０】
このライブラリ作成部１２０が、作成対象のＦＰＧＡのシンボルが回路図に配置済である場合に、配置済のシンボルに関する情報を参照してシンボルライブラリを作成することによって、ＦＰＧＡの設計変更に起因する回路図の修正を最小限に抑えることができる。
【００５１】
シンボルライブラリ記憶部１２５は、ＦＰＧＡのシンボルライブラリを記憶する記憶部である。図６は、シンボルライブラリ記憶部１２５が記憶するシンボルライブラリの一例を示す図である。同図に示すように、このシンボルライブラリ記憶部１２５は、ライブラリ名称、作成日時、版数、占有領域、図形テーブル数およびシンボルピン数の情報と、シンボルを構成する各図形の情報と、各ピンの情報とを記憶する。
【００５２】
回路図反映部１３０は、ライブラリ作成部１２０によってシンボルライブラリが作成されたＦＰＧＡのシンボルが回路図に配置済であった場合に、配置済のシンボルを新たに作成されたシンボルで置き換える処理部である。また、この回路図反映部１３０は、置き換え前と異なる論理ピン名となるピンにラインが接続されている場合に、そのラインを切断する。
【００５３】
この回路図反映部１３０が、置き換え前と異なる論理ピン名となるピンにラインが接続されている場合に、そのラインを切断することによって、ＦＰＧＡの設計変更に伴う回路図の修正漏れを減らすことができる。
【００５４】
回路図記憶部１３５は、部品が配置された回路図の情報を記憶する記憶部である。この回路図記憶部１３５は、ライブラリ作成部１２０によってシンボルライブラリが作成されたＦＰＧＡのシンボルが回路図に配置済であった場合に、回路図反映部１３０によって更新される。
【００５５】
ＤＲＣ部１４０は、ＤＲＣを行う処理部であり、回路図の情報、部品ライブラリ３０の情報に加えてＦＰＧＡ情報管理部１１０が管理するＦＰＧＡ情報を参照してＤＲＣを行う。具体的には、このＤＲＣ部１４０は、入出力属性チェック、差動信号チェック、電源電圧値チェックなどを行う。このＤＲＣ部１４０が、ＦＰＧＡ情報を参照してＤＲＣを行うことによって、ＦＰＧＡに関連するＤＲＣを正確に行うことができる。
【００５６】
ピンスワップ処理部１５０は、実装設計ＣＡＤ装置２０が出力するピンスワップ情報を入力し、実装設計で行われたピンスワップをＦＰＧＡ情報、シンボルライブラリ、回路図に反映する処理部である。ＦＰＧＡでは、プログラム書き込みで部品内部の動作を変更できるので、実装しやすいピン割付とするため実装設計フェーズでＦＰＧＡ部品のピンの入れ替え（ピンスワップ）が行われる。このため、ピンスワップ処理部１５０は、実装設計で行われたピンスワップを回路設計に反映させる処理を行う。
【００５７】
図７は、ピンスワップの一例を示す図である。同図に示すように、ＦＰＧＡと他の部品との間の配線がクロスするような場合、ＦＰＧＡのピンスワップによって配線のクロスをなくすことができる。図８は、ピンスワップの回路図への反映例を示す図である。同図に示すように、回路図のシンボルで物理ピン名が「Ｄ１」、「Ｅ１」、「Ｆ１」、「Ｇ１」のピンの配置変更が行われている。
【００５８】
また、このピンスワップ処理部１５０は、ピン間の配線距離長などの制約条件にも実装設計でのピンスワップを反映させる。このピンスワップ処理部１５０が制約条件にも実装設計でのピンスワップを反映させことによって、回路設計と実装設計との間で設計情報の整合性を確保することができる。
【００５９】
また、このピンスワップ処理部１５０は、ピンスワップによるＦＰＧＡ情報の変更履歴を記憶するようにＦＰＧＡ情報管理部１１０に指示し、ＦＰＧＡ情報管理部１１０は、変更履歴記憶部１６５に変更履歴を格納する。
【００６０】
制約条件記憶部１５５は、ピン間の配線長などの回路設計に関する制約条件を記憶した記憶部である。図９は、制約条件記憶部１５５が記憶する制約条件の一例を示す図である。同図に示すように、この制約条件記憶部１５５は、ピン間の配線距離長に関する制約条件を記憶する。例えば、部品「ＩＣ１」の物理ピン名が「Ｇ１」のピンと部品「Ｉ１２」の物理ピン名が「２」のピンとの間の配線長は５０ｍｍ以下であることが制約条件として記憶されている。
【００６１】
履歴出力部１６０は、ピンスワップ処理部１５０によるピンスワップ反映処理で変更されたＦＰＧＡ情報の変更履歴を通知情報としてＦＰＧＡ設計ＣＡＤ装置１０が入力可能な形式でファイルに出力する処理部である。
【００６２】
変更履歴記憶部１６５は、ＦＰＧＡ情報の変更履歴を記憶する記憶部であり、ＦＰＧＡ情報管理部１１０によって管理される。図１０は、変更履歴記憶部１６５が記憶する変更履歴の一例を示す図である。同図に示すように、この変更履歴記憶部１６５は、ピンスワップ処理ごとに、処理が行われた日時とスワップが行われたピンに関して変更された情報を記憶する。また、この変更履歴記憶部１６５は、履歴出力部１６０による変更履歴の出力ごと、ＦＰＧＡ情報管理部１１０によるＦＰＧＡ設計ＣＡＤ装置１０からのＦＰＧＡ情報読み込みごとに、処理が行われた日時を記憶する。
【００６３】
図１１は、履歴出力部１６０がＦＰＧＡ設計ＣＡＤ装置１０に対して出力する通知情報の一例を示す図である。同図に示すように、履歴出力部１６０は、スワップが行われたピンごとに物理ピン名と変更後の論理ピン名を通知情報として出力する。図１２は、通知情報の出力フォーマットを示す図である。
【００６４】
このように、変更履歴記憶部１６５がＦＰＧＡ情報の変更履歴を記憶し、履歴出力部１６０が変更履歴をＦＰＧＡ設計ＣＡＤ装置１０が入力可能な形式で通知情報をファイルに出力することによって、実装設計、回路設計およびＦＰＧＡ設計の間での設計情報の整合性を確保することができる。
【００６５】
次に、回路設計ＣＡＤ装置１００によるシンボルライブラリ作成およびシンボル配置処理の処理手順について説明する。図１３は、回路設計ＣＡＤ装置１００によるシンボルライブラリ作成およびシンボル配置処理の処理手順を示すフローチャートである。
【００６６】
同図に示すように、回路設計ＣＡＤ装置１００は、ＦＰＧＡ情報管理部１１０がＦＰＧＡ設計ＣＡＤ装置１０がファイルに出力したピン割付情報および属性情報などのＦＰＧＡ情報を読み込み、ＦＰＧＡ情報記憶部１１５に格納する（ステップＳ１０１）。
【００６７】
そして、ライブラリ作成部１２０が、ＦＰＧＡ情報管理部１１０によって読み込まれたＦＰＧＡ情報に対応するシンボルが回路図に配置済みであるか否かを判定し（ステップＳ１０２）、回路図に配置済みでない場合には、使用者によって指定されたポーション分割ルールを使ってポーション分割を行い（ステップＳ１０３）、入出力属性に基づいて左右に割り振るなど所定のシンボル作成ルールにしたがってシンボルピンの位置を決める（ステップＳ１０４）。
【００６８】
一方、回路図に配置済みである場合には、ライブラリ作成部１２０は、以前に行われたポーション分割を参照し、以前と同じ論理ピン名のピンは以前と同じポーションに割り付ける（ステップＳ１０５）。また、以前に同じ論理ピン名がないピンは、物理ピン名で以前と同じポーションに割り付ける（ステップＳ１０６）。そして、以前と同じ論理ピン名のピンは以前と同じ位置に配置し（ステップＳ１０７）、以前に同じ論理ピン名がないピンはシンボル上の空位置に配置する（ステップＳ１０８）。
【００６９】
そして、ライブラリ作成部１２０は、使用者からＧＵＩによるポーション分割、ピン位置の変更を受け付け、変更が指定された場合には、ポーション分割、ピン位置を変更し（ステップＳ１０９）、シンボリライブラリを作成してシンボルライブラリ記憶部１２５に格納する（ステップＳ１１０）。
【００７０】
そして、回路図反映部１３０が、ライブラリ作成部１２０によってシンボルライブラリが作成されたＦＰＧＡの以前のシンボルが回路図に配置済みであるか否かを判定し（ステップＳ１１１）、回路図に配置済みである場合には、配置済みのシンボルを新たに作成されたシンボルで置き換え（ステップＳ１１２）、以前とは異なる論理ピン名が配置されるピンにラインが接続されている場合には、そのラインを切断する（ステップＳ１１３）。
【００７１】
その後、作成されたシンボルは、部品入力機能によって使用者によって指定されると回路図に配置される（ステップＳ１１４）。
【００７２】
このように、ＦＰＧＡ情報管理部１１０によって読み込まれたＦＰＧＡ情報に対応するシンボルが回路図に配置済みである場合に、ライブラリ作成部１２０が以前に作成したシンボルライブラリを参照してシンボルライブラリを作成し、回路図反映部１３０が配置済みのシンボルを新たにシンボルライブラリが作成されたシンボルで置き換えることによって、ＦＰＧＡの設計変更に伴う回路図の修正を最小限に抑えることができる。
【００７３】
なお、ここでは、ライブラリ作成部１２０は、シンボルライブラリ作成対象のＦＰＧＡが回路図に配置されている場合に、以前に作成したシンボルライブラリを参照することとしたが、シンボルライブラリ作成対象のＦＰＧＡのシンボルライブラリがシンボルライブラリ記憶部１２５に記憶されている場合に、以前に作成したシンボルライブラリを参照するようにすることもできる。
【００７４】
次に、ＤＲＣ部１４０による入出力属性チェック処理の処理手順について説明する。図１４は、ＤＲＣ部１４０による入出力属性チェック処理の処理手順を示すフローチャートである。
【００７５】
同図に示すように、ＤＲＣ部１４０は、ネットすなわち１接続グループの一つに着目し、着目したネットに属する全てのピンの情報を取得する（ステップＳ２０１）。そして、情報を取得したピンの一つに着目し（ステップＳ２０２）、着目したピンはＦＰＧＡ部品のものか否かを判定する（ステップＳ２０３）。
【００７６】
その結果、着目したピンがＦＰＧＡ部品のものである場合には、ＦＰＧＡ情報記憶部１１５に記憶されたＦＰＧＡ情報を参照してピンの入出力属性を調べ（ステップＳ２０４）、着目したピンがＦＰＧＡ部品のものでない場合には、部品ライブラリ３０を参照してピンの入出力属性を調べる（ステップＳ２０５）。そして、全てのピンの入出力属性を調べたか否かを判定し（ステップＳ２０６）、調べていないピンがある場合には、ステップＳ２０２に戻って調べていないピンに着目して入出力属性を調べる。
【００７７】
一方、全てのピンの入出力属性を調べた場合には、着目したネットに出力ピンが２ピン以上あるか否かを判定し（ステップＳ２０７）、出力ピンが２ピン以上ある場合には、ネットが出力ピン間を接続しているエラーとして使用者に通知する（ステップＳ２０８）。また、着目したネットに出力ピンが１ピンも存在しないか否かを判定し（ステップＳ２０９）、出力ピンが１ピンも存在しない場合には、着目したネットに出力ピンが存在しないエラーとして使用者に通知する（ステップＳ２１０）。これに対して、一つのピンだけが出力ピンである場合には、着目したネットは正常として使用者に通知する（ステップＳ２１１）。
【００７８】
そして、全ネットについて出力ピン数をチェックしたか否かを判定し（ステップＳ２１２）、チェックしていないネットがある場合には、ステップＳ２０１に戻って未チェックのネットに着目して出力ピン数をチェックし、全てのネットについて出力ピン数をチェックした場合には、入出力属性チェック処理を終了する。
【００７９】
このように、ＤＲＣ部１４０がＦＰＧＡ部品についてはＦＰＧＡ情報を参照してピンの入出力属性を調べることによって、ＦＰＧＡを含む回路についても正確な入出力属性チェックを行うことができる。
【００８０】
次に、ＤＲＣ部１４０による差動信号チェック処理の処理手順について説明する。図１５は、ＤＲＣ部１４０による差動信号チェック処理の処理手順を示すフローチャートである。
【００８１】
同図に示すように、ＤＲＣ部１４０は、ネットの一つに着目し、着目したネットに属する全てのピンの情報を取得する（ステップＳ３０１）。また、差動属性がポジであるピンの数を示すポジピン数およびネガであるピンの数を示すネガピン数の初期値をゼロクリアする（ステップＳ３０２）。そして、情報を取得したピンの一つに着目し（ステップＳ３０３）、着目したピンはＦＰＧＡ部品のものか否かを判定する（ステップＳ３０４）。
【００８２】
その結果、着目したピンがＦＰＧＡ部品のものである場合には、ＦＰＧＡ情報記憶部１１５に記憶されたＦＰＧＡ情報を参照してピンの差動属性を調べ（ステップＳ３０５）、着目したピンがＦＰＧＡ部品のものでない場合には、部品ライブラリ３０を参照してピンの差動属性を調べる（ステップＳ３０６）。そして、差動属性がポジである場合にはポジピン数に「１」を加え、差動属性がネガである場合にはネガピン数に「１」を加える（ステップＳ３０７）。
【００８３】
そして、全てのピンの差動属性を調べたか否かを判定し（ステップＳ３０８）、調べていないピンがある場合には、ステップＳ３０３に戻って調べていないピンに着目して差動属性を調べる。
【００８４】
一方、全てのピンの差動属性を調べた場合には、ポジピン数が正でかつネガピン数も正であるか否か、すなわち着目したネットにポジ属性のピンとネガ属性のピンがあるか否かを判定し（ステップＳ３０９）、ポジピン数が正でかつネガピン数も正である場合には、ポジ属性のピンとネガ属性のピンを接続しているエラーとして使用者に通知する（ステップＳ３１０）。これに対して、ポジピン数とネガピン数の片方だけが正である場合には、着目したネットは正常として使用者に通知する（ステップＳ３１１）。
【００８５】
そして、全ネットについて差動信号をチェックしたか否かを判定し（ステップＳ３１２）、チェックしていないネットがある場合には、ステップＳ３０１に戻って未チェックのネットに着目して差動信号をチェックし、全てのネットについて差動信号をチェックした場合には、差動信号チェック処理を終了する。
【００８６】
このように、ＤＲＣ部１４０がＦＰＧＡ部品についてはＦＰＧＡ情報を参照してピンの差動属性を調べることによって、ＦＰＧＡを含む回路についても正確な差動信号チェックを行うことができる。
【００８７】
次に、ＤＲＣ部１４０による電源電圧値チェック処理の処理手順について説明する。図１６は、ＤＲＣ部１４０による電源電圧値チェック処理の処理手順を示すフローチャートである。
【００８８】
同図に示すように、ＤＲＣ部１４０は、部品の一つに着目し（ステップＳ４０１）、着目した部品のピンの一つに着目する（ステップＳ４０２）。そして、着目したピンは電源ピンであるか否かを判定し（ステップＳ４０３）、電源ピンでない場合には、ステップＳ４１０へ進む。
【００８９】
一方、着目したピンが電源ピンである場合には、ＦＰＧＡ部品のものか否かを判定し（ステップＳ４０４）、ＦＰＧＡ部品のものである場合には、ＦＰＧＡ情報記憶部１１５に記憶されたＦＰＧＡ情報を参照してピンの電源電圧値を調べ（ステップＳ４０５）、着目したピンがＦＰＧＡ部品のものでない場合には、部品ライブラリ３０を参照してピンの電源電圧値を調べる（ステップＳ４０６）。そして、着目しているピンに接続するネットの電圧値を調べ（ステップＳ４０７）、電圧値が一致するか否かを判定し（ステップＳ４０８）、電圧値が一致しない場合には、電源電圧値が不一致として使用者に通知する（ステップＳ４０９）。
【００９０】
そして、全てのピンを調べたか否かを判定し（ステップＳ４１０）、調べていないピンがある場合には、ステップＳ４０２に戻って調べていないピンに着目して電源ピンの電圧値を調べる。
【００９１】
一方、全てのピンを調べた場合には、全部品について電源電圧値をチェックしたか否かを判定し（ステップＳ４１１）、チェックしていない部品がある場合には、ステップＳ４０１に戻って未チェックの部品に着目して電源電圧値をチェックし、全ての部品について電源電圧値をチェックした場合には、電源電圧値チェック処理を終了する。
【００９２】
このように、ＤＲＣ部１４０がＦＰＧＡ部品についてはＦＰＧＡ情報を参照して電源ピンの電圧値を調べることによって、ＦＰＧＡを含む回路についても正確な電源電圧値チェックを行うことができる。
【００９３】
次に、ピンスワップ処理部１５０によるピンスワップ処理の処理手順について説明する。図１７は、ピンスワップ処理部１５０によるピンスワップ処理の処理手順を示すフローチャートである。
【００９４】
同図に示すように、ピンスワップ処理部１５０は、実装設計ＣＡＤ装置２０が作成したピンスワップ情報を取り込み（ステップＳ５０１）、ピンスワップが行われたＦＰＧＡのシンボルライブラリの物理ピン名を入れ替える（ステップＳ５０２）。
【００９５】
そして、ピンスワップが行われたＦＰＧＡのＦＰＧＡ情報の論理ピン名と論理に関する属性を入れ替え（ステップＳ５０３）、回路図上のシンボルを入れ替え済みのシンボルに更新する（ステップＳ５０４）。そして、制約条件を持つピンについては制約条件をピンスワップにあわせて入れ替える（ステップＳ５０５）。
【００９６】
このように、ピンスワップ処理部１５０が、制約条件を持つピンについては制約条件をピンスワップにあわせて入れ替えることによって、実装設計ＣＡＤでのピンスワップを正確に回路設計情報に反映させることができる。
【００９７】
次に、履歴出力部１６０による変更履歴出力処理の処理手順について説明する。図１８は、履歴出力部１６０による変更履歴出力処理の処理手順を示すフローチャートである。同図に示すように、履歴出力部１６０は、変更履歴記憶部１６５が記憶する変更履歴から、最新のＦＰＧＡ情報読み込み後、最後に行ったＦＰＧＡ設計ＣＡＤ装置１０への通知情報出力処理を探す（ステップＳ６０１）。
【００９８】
そして、最後に行った通知情報出力処理から現在までにピンスワップが行われたピンにマークをつけ（ステップＳ６０２）、マークをつけたピンの最新の属性をＦＰＧＡ設計ＣＡＤ装置１０への通知情報として出力する（ステップＳ６０３）。
【００９９】
すなわち、履歴出力部１６０は、ＦＰＧＡ情報管理部１１０がＦＰＧＡ設計ＣＡＤ装置１０からＦＰＧＡ情報を読み込んでＦＰＧＡ情報記憶部１１５を更新した後で未通知のピンスワップを対象としてピンの最新の属性を通知情報として出力する。
【０１００】
このように、履歴出力部１６０が、変更履歴記憶部１６５が記憶する変更履歴を用いて、ピンスワップが行われたピンの最新の属性をＦＰＧＡ設計ＣＡＤ装置１０への通知情報として出力することによって、実装設計でのピンスワップをＦＰＧＡ設計情報に反映させることができる。
【０１０１】
また、ＦＰＧＡ情報管理部１１０がＦＰＧＡ設計ＣＡＤ装置１０からＦＰＧＡ情報を読み込んでＦＰＧＡ情報記憶部１１５を更新した後で未通知のピンスワップだけを対象としてピンの最新の属性を通知情報として出力することによって、無駄な通知情報や重複する通知情報の出力をなくし、実装設計でのピンスワップを効率良くＦＰＧＡ設計情報に反映させることができる。
【０１０２】
上述してきたように、本実施例１では、回路設計ＣＡＤ装置１００のＦＰＧＡ情報管理部１１０がＦＰＧＡ設計ＣＡＤ装置１０が作成したピン割付情報や属性情報などのＦＰＧＡ情報を取り込み、ライブラリ作成部１２０がＦＰＧＡ情報を用いてシンボルライブラリを作成することとしたので、回路設計者がＦＰＧＡのシンボルライブラリを作成する必要がなくなり、回路設計者の負担を軽減することができる。
【０１０３】
また、ライブラリ作成部１２０は、シンボルライブラリを作成する場合に作成対象のＦＰＧＡが回路図に配置済みの場合には、回路図に配置されている既存のシンボルライブラリのポーション分割やピン配置をできるだけ変更しないようにし、回路図反映部１３０が新たにシンボルライブラリが作成されたＦＰＧＡのシンボルを回路図に配置する場合に、既存の配置を変更しないように配置することとしたので、ＦＰＧＡの設計変更にともなう回路図の変更を最小限に抑えることができる。
【０１０４】
また、本実施例１では、回路設計ＣＡＤ装置１００のＤＲＣ部１４０がＤＲＣを行う場合に、ＦＰＧＡについてはＦＰＧＡ情報管理部１１０がＦＰＧＡ設計ＣＡＤ装置１０から取り込んでＦＰＧＡ情報記憶部１１５に格納したＦＰＧＡ情報を参照してピンの属性などを調べることとしたので、正確なＤＲＣを行うことができる。
【０１０５】
また、本実施例１では、回路設計ＣＡＤ装置１００のピンスワップ処理部１５０が実装設計ＣＡＤ装置２０からピンスワップ情報を取り込んでシンボルライブラリ、ＦＰＧＡ情報、回路図に加えて制約条件にもピンスワップを反映させることとしたので、回路設計情報と実装設計情報との間の不整合をなくすことができる。
【０１０６】
また、本実施例１では、回路設計ＣＡＤ装置１００の変更履歴記憶部１６５がＦＰＧＡ情報の変更履歴を記憶し、ＦＰＧＡ設計ＣＡＤ装置１０にピンスワップを通知する情報を履歴出力部１６０が変更履歴記憶部１６５に記憶された変更履歴に基づいて出力することとしたので、実装設計と回路設計とＦＰＧＡ設計との間で設計情報の整合性を確保することができる。
【実施例２】
【０１０７】
ところで、上記実施例１では、ＦＰＧＡ部品を使用する回路設計結果に基づいてプリント基板の実装設計を行う場合のＦＰＧＡ協調設計システムについて説明したが、ＦＰＧＡ設計者と実装設計者との間であらかじめ両者にとって望ましいピン割付を検討しておくことは設計期間の短縮に大きく寄与する。そこで、本実施例２では、ＦＰＧＡ設計者と実装設計者との間での協調設計を支援するＦＰＧＡ協調設計システムについて説明する。
【０１０８】
まず、本実施例２に係るＦＰＧＡ協調設計の概念について説明する。図１９は、本実施例２に係るＦＰＧＡ協調設計の概念を説明するための説明図である。同図に示すように、本実施例２に係るＦＰＧＡ協調設計では、協調設計支援装置としての仮ライブラリ作成装置２００がＦＰＧＡ設計ＣＡＤ装置１０が作成したピン割付情報等のＦＰＧＡピン情報を入力してＦＰＧＡの仮ライブラリを作成する。ここで、仮ライブラリとは、実装設計ＣＡＤ装置２０がピン割付を行う場合に必要とする部品形状タイプライブラリであり、ＦＰＧＡについて仮に作成されるライブラリである。
【０１０９】
また、仮ライブラリ作成装置２００は、実装設計ＣＡＤ装置２０からピンスワップ情報を取り込んで自身が管理するＦＰＧＡ情報に反映させるとともに、ピンスワップ情報をＦＰＧＡ設計ＣＡＤ装置１０に通知する。
【０１１０】
このように、本実施例２では、仮ライブラリ作成装置２００がＦＰＧＡ設計ＣＡＤ装置１０が作成したＦＰＧＡピン情報を入力してＦＰＧＡに対して仮の部品形状タイプライブラリを作成することによって、実装設計ＣＡＤ装置２０を用いたピン割付の検討を可能としている。
【０１１１】
次に、本実施例２に係るＦＰＧＡ協調設計システムの構成について説明する。図２０は、本実施例２に係るＦＰＧＡ協調設計システムの構成を示す機能ブロック図である。同図に示すように、このＦＰＧＡ協調設計システムは、ＦＰＧＡ設計ＣＡＤ装置１０と、実装設計ＣＡＤ装置２０と、仮ライブラリ作成装置２００とから構成され、仮ライブラリ作成装置２００は、ネットリスト取込部２１０と、ネットリスト管理部２２０と、ネットリスト変換部２３０と、ＦＰＧＡ設計ＣＡＤインタフェース部２４０と、ＦＰＧＡピン情報管理部２５０と、仮ライブラリ生成部２６０と、ピンスワップ処理部２７０とを有する。
【０１１２】
ネットリスト取込部２１０は、使用者によって作成されたネットリストを読み込んでネットリスト管理部２２０に渡す処理部である。図２１は、ネットリスト取込部２１０により読み込まれるネットリストの一例を示す図である。
【０１１３】
同図に示すように、このネットリストは、部品を定義する部品定義部とネットを定義するネット定義部とから構成される。部品定義部では、検討に使用する部品について、部品名と部品ライブラリ名が記述される。ただし、ＦＰＧＡ部品は、部品ライブラリがないので、「ＦＰＧＡ／」に続けてモジュール名（ＦＰＧＡを区別するための名前）が記述される。
【０１１４】
ネット定義部では、ネット毎にネット名と、接続する部品ピンが記述される。ここで、部品ピンは部品名．部品ピン名の形式で記述される。なお、ＦＰＧＡ部品については、ピン名として論理ピン名または物理ピン名が記述される（物理ピン名のときは％が付けられる）。
【０１１５】
ネットリスト管理部２２０は、ネットリスト取込部２１０によって読み込まれたネットリストを記憶・管理する管理部である。このネットリスト管理部２２０は、使用者からＧＵＩによるネットリストの変更を受け付けてネットリストを変更する。
【０１１６】
ネットリスト変換部２３０は、ネットリスト管理部２２０が管理するネットリストを実装設計ＣＡＤ装置２０が入力できるフォーマットに変換する処理部である。このネットリスト変換部２３０は、ネットリストの変換に際してＦＰＧＡピン情報管理部２５０が管理するＦＰＧＡ情報を参照する。
【０１１７】
図２２は、ネットリスト変換部２３０が出力するネットリストの一例を示す図である。同図に示すように、このネットリストでは、ピン毎に部品名、ライブラリ名、部品端子番号、ピン名、ネット名、スワップグループ番号および差動種別が記載される。ここで、部品端子番号は、ピンに付与される一連番号である。
【０１１８】
ＦＰＧＡ設計ＣＡＤインタフェース部２４０は、ＦＰＧＡ設計ＣＡＤ装置１０とのインタフェースであり、具体的には、ＦＰＧＡ設計ＣＡＤ装置１０からＦＰＧＡピン情報を取り込み、ＦＰＧＡ設計ＣＡＤ装置１０にピンスワップ情報を提供する。
【０１１９】
ＦＰＧＡピン情報管理部２５０は、ＦＰＧＡ設計ＣＡＤインタフェース部２４０が読み込んだＦＰＧＡピン情報を記憶・管理する管理部である。また、このＦＰＧＡピン情報管理部２５０は、ピン間隔やＦＰＧＡピン情報の変更について使用者からＧＵＩによる指定を受け付けてＦＰＧＡ情報を変更する。
【０１２０】
仮ライブラリ生成部２６０は、ＦＰＧＡ部品についてＦＰＧＡピン情報管理部２５０が管理するＦＰＧＡピン情報を用いて仮ライブラリ、すなわち仮の部品形状タイプライブラリを生成する処理部である。
【０１２１】
図２３は、仮ライブラリ生成部２６０が生成する仮ライブラリの一例を示す図である。同図に示すように、この仮ライブラリには、ピン毎にランド形状タイプライブラリ名、座標Ｘ、座標Ｙ、角度、ピン名が記載される。なお、ランド形状タイプライブラリ名については、ＦＰＧＡピン情報管理部２５０が使用者による指定を受け付けて記憶した情報が用いられる。
【０１２２】
また、この仮ライブラリには、部品のサイズを示す領域が記載される。この領域の情報は、実装設計時に部品と部品の距離算出に使用される。なお、部品のサイズはピン間隔から仮ライブラリ作成部２６０によって計算される。
【０１２３】
ライブラリ生成部２６０がＦＰＧＡピン情報に基づいて仮ライブラリを生成することによって、実装設計ＣＡＤでのピン割付の検討を可能とすることができる。
【０１２４】
ピンスワップ処理部２７０は、実装設計ＣＡＤ装置２０からピンスワップ情報を取り込んでＦＰＧＡピン情報管理部２５０にＦＰＧＡピン情報の変更を指示する処理部である。ＦＰＧＡ情報管理部２５０は、ＦＰＧＡピン情報を変更するとともに、ＦＰＧＡ設計ＣＡＤインタフェース部２４０にピンスワップ情報のＦＰＧＡ設計ＣＡＤ装置１０への通知を指示する。また、このピンスワップ処理部２７０は、ピンスワップ情報に基づいてネットリスト管理部２２０にネットリストの変更を指示する。
【０１２５】
次に、仮ライブラリ作成装置２００による実装設計ＣＡＤ用情報出力処理の処理手順について説明する。図２４は、仮ライブラリ作成装置２００による実装設計ＣＡＤ用情報出力処理の処理手順を示すフローチャートである。
【０１２６】
同図に示すように、仮ライブラリ作成装置２００は、ＦＰＧＡ設計ＣＡＤ装置１０が作成したピン割付情報をＦＰＧＡ設計ＣＡＤインタフェース部２４０が読み込んでＦＰＧＡピン情報管理部２５０に渡し、ＦＰＧＡピン情報管理部２５０がＦＰＧＡピン情報を作成する（ステップＳ７０１）。
【０１２７】
また、ネットリスト取込部２１０がネットリストを読み込み（ステップＳ７０２）、ネットリスト管理部２２０に渡す。そして、ネットリスト管理部２２０は、使用者からネットリストの変更指定などを受け付けて、管理するネットリストを変更し、ＦＰＧＡピン情報管理部２５０は、使用者からピン間隔等の指定を受け付けて（ステップＳ７０３）、管理するＦＰＧＡピン情報を変更する。
【０１２８】
そして、仮ライブラリ生成部２６０がＦＰＧＡピン情報からピン座標を求めて仮の部品形状タイプライブラリを生成し（ステップＳ７０４）、ネットリスト変換部２３０がネットリストを変換する（ステップＳ７０５）。そして、ネットリスト変換部２３０が変換したネットリストをファイルに出力し、仮ライブラリ生成部２６０が生成した仮ライブラリをファイルに出力する（ステップＳ７０６）。
【０１２９】
このように、仮ライブラリ作成装置２００が仮ライブラリを作成することによって、実装設計ＣＡＤ装置２０を用いたピン割付の検討を可能とすることができる。また、ＦＰＧＡピン情報管理部２５０が、使用者からピン間隔等の指定を受け付けて、管理するＦＰＧＡピン情報を変更するので、使用者は様々なピン間隔のピン割付を検討することができる。
【０１３０】
次に、仮ライブラリ作成装置２００による実装検討結果反映処理の処理手順について説明する。図２５は、仮ライブラリ作成装置２００による実装検討結果反映処理の処理手順を示すフローチャートである。
【０１３１】
同図に示すように、仮ライブラリ作成装置２００は、実装設計ＣＡＤでのピンスワップ情報をピンスワップ処理部２７０が取り込み（ステップＳ８０１）、ネットリストのピンスワップされたピンのネットを入れ替える（ステップＳ８０２）。
【０１３２】
そして、ピンスワップ処理部２７０がＦＰＧＡピン情報の論理ピン名および論理属性を入れ替え（ステップＳ８０３）、入れ替えたピンの情報をＦＰＧＡ設計ＣＡＤインタフェース部２４０がファイルに出力する（ステップＳ８０４）。
【０１３３】
このように、ピンスワップ処理部２７０が実装設計ＣＡＤでのピンスワップ情報を取り込んでネットリストおよびＦＰＧＡピン情報にピンスワップを反映し、ピンスワップの情報をＦＰＧＡ設計ＣＡＤインタフェース部２４０がファイルに出力することによって、実装設計でのピンスワップをＦＰＧＡ設計情報に反映させることができる。
【０１３４】
上述してきたように、本実施例２では、ＦＰＧＡ設計ＣＡＤ装置１０が作成したピン割付情報をＦＰＧＡ設計ＣＡＤインタフェース部２４０が読み込み、ＦＰＧＡピン情報管理部２５０がＦＰＧＡ設計ＣＡＤインタフェース部２４０によって読み込まれたピン割付情報をＦＰＧＡピン情報として管理し、仮ライブラリ生成部２６０がＦＰＧＡピン情報管理部２５０によって管理されるＦＰＧＡピン情報を用いて仮の部品形状タイプライブラリを生成して実装設計ＣＡＤ装置２０が読み込み可能な形式でファイルに出力することとしたので、実装設計ＣＡＤ装置２０を用いた早期のピン割付の検討を可能とし、プリント基板の設計期間を短縮することができる。
【０１３５】
なお、本実施例１および２では、それぞれ回路設計ＣＡＤ装置および仮ライブラリ作成装置について説明したが、回路設計ＣＡＤ装置および仮ライブラリ作成装置がそれぞれ有する構成をソフトウェアによって実現することで、同様の機能を有する回路設計ＣＡＤプログラムおよび仮ライブラリ作成プログラムを得ることができる。そこで、ここでは、回路設計ＣＡＤプログラムを実行するコンピュータについて説明する。なお、仮ライブラリ作成プログラムについても同様のコンピュータによって実行することができる。
【０１３６】
図２６は、本実施例１に係る回路設計ＣＡＤプログラムを実行するコンピュータの構成を示す機能ブロック図である。同図に示すように、このコンピュータ３００は、ＲＡＭ３１０と、ＣＰＵ３２０と、ＨＤＤ３３０と、ＬＡＮインタフェース３４０と、入出力インタフェース３５０と、ＤＶＤドライブ３６０とを有する。
【０１３７】
ＲＡＭ３１０は、プログラムやプログラムの実行途中結果などを記憶するメモリであり、ＣＰＵ３２０は、ＲＡＭ３１０からプログラムを読み出して実行する中央処理装置である。ＨＤＤ３３０は、プログラムやデータを格納するディスク装置であり、ＬＡＮインタフェース３４０は、コンピュータ３００をＬＡＮ経由で他のコンピュータに接続するためのインタフェースである。入出力インタフェース３５０は、マウスやキーボードなどの入力装置および表示装置を接続するためのインタフェースであり、ＤＶＤドライブ３６０は、ＤＶＤの読み書きを行う装置である。
【０１３８】
そして、このコンピュータ３００において実行される回路設計ＣＡＤプログラム３１１は、ＤＶＤに記憶され、ＤＶＤドライブ３６０によってＤＶＤから読み出されてコンピュータ３００にインストールされる。あるいは、この回路設計ＣＡＤプログラム３１１は、ＬＡＮインタフェース３４０を介して接続された他のコンピュータシステムのデータベースなどに記憶され、これらのデータベースから読み出されてコンピュータ３００にインストールされる。そして、インストールされた回路設計ＣＡＤプログラム３１１は、ＨＤＤ３３０に記憶され、ＲＡＭ３１０に読み出されてＣＰＵ３２０によって実行される。
【０１３９】
また、本実施例では、ＦＰＧＡを部品として使用する場合について説明したが、本発明はこれに限定されるものではなく、一般的にＰＬＤを部品として使用する場合に同様に適用することができる。さらに、本発明は、ＰＬＤ以外にも例えばＡＳＩＣ（Application  Specific  Integrated  Circuit）の設計が回路設計および実装設計と並行して進められる場合などにも適用することができ、集積回路を部品として使用する場合に広く適用することができる。
【０１４０】
（付記１）部品として集積回路を使用する回路の設計を支援する回路設計支援装置であって、
集積回路について集積回路設計ＣＡＤにより作成された設計情報である集積回路情報を入力する集積回路情報入力手段と、
回路設計で使用する集積回路のシンボルライブラリを前記集積回路情報入力手段により入力された集積回路情報を用いて作成するライブラリ作成手段と、
を備えたことを特徴とする回路設計支援装置。
【０１４１】
（付記２）前記ライブラリ作成手段は、シンボルライブラリの作成対象である集積回路のシンボルが回路図に配置済みであるか否かを判定し、回路図に配置済であると判定した場合には、回路図に配置されたシンボルに対応するシンボルライブラリの情報に基づいてシンボルの変更が少なくなるようにシンボルライブラリを作成することを特徴とする付記１に記載の回路設計支援装置。
【０１４２】
（付記３）前記ライブラリ作成手段は、シンボルライブラリの作成対象である集積回路のシンボルが回路図に配置済みである場合に、回路図に配置されたシンボルに対応するシンボルライブラリの情報に基づいてポーション分割を行うことを特徴とする付記２に記載の回路設計支援装置。
【０１４３】
（付記４）前記ライブラリ作成手段は、シンボルライブラリの作成対象である集積回路のシンボルが回路図に配置済みである場合に、回路図に配置されたシンボルに含まれる論理ピンについては該回路図に配置されたシンボルと同じポーションに分割することを特徴とする付記３に記載の回路設計支援装置。
【０１４４】
（付記５）前記ライブラリ作成手段は、シンボルライブラリの作成対象である集積回路のシンボルが回路図に配置済みである場合に、回路図に配置されたシンボルに含まれる論理ピンについては該回路図に配置されたシンボルと同じ位置に配置することを特徴とする付記４に記載の回路設計支援装置。
【０１４５】
（付記６）前記ライブラリ作成手段は、シンボルライブラリの作成対象である集積回路のシンボルが回路図に配置済みである場合に、回路図に配置されたシンボルに含まれない論理ピンについては物理ピン名に基づいてポーション分割を行うことを特徴とする付記３、４または５に記載の回路設計支援装置。
【０１４６】
（付記７）前記ライブラリ作成手段は、シンボルライブラリの作成対象である集積回路のシンボルが回路図に配置済みである場合に、回路図に配置されたシンボルに含まれない論理ピンについては該回路図に配置されたシンボルの空位置に配置することを特徴とする付記６に記載の回路設計支援装置。
【０１４７】
（付記８）前記ライブラリ作成手段により作成されたシンボルライブラリに対する変更を使用者から受け付ける変更受付手段をさらに備えたことを特徴とする付記１〜７のいずれか一つに記載の回路設計支援装置。
【０１４８】
（付記９）前記変更受付手段は、ポーション分割およびピン位置の変更を受け付けることを特徴とする付記８に記載の回路設計支援装置。
【０１４９】
（付記１０）シンボルライブラリの作成対象である集積回路のシンボルが回路図に配置済みであるか否かを判定し、回路図に配置済であると判定した場合には、回路図に配置されたシンボルを前記ライブラリ作成手段によりシンボルライブラリが作成されたシンボルで置き換えるシンボル置換手段をさらに備えたことを特徴とする付記１〜９のいずれか一つに記載の回路設計支援装置。
【０１５０】
（付記１１）前記シンボル置換手段は、前記ライブラリ作成手段によりシンボルライブラリが作成されたシンボルのピンのうち置換前のシンボルと論理ピン名が異なるピンがラインに接続されている場合には、該ラインを切断することを特徴とする付記１０に記載の回路設計支援装置。
【０１５１】
（付記１２）部品として集積回路を使用する回路の設計を支援する回路設計支援装置による回路設計支援方法であって、
集積回路について集積回路設計ＣＡＤにより作成された設計情報である集積回路情報を入力する集積回路情報入力ステップと、
回路設計で使用する集積回路のシンボルライブラリを前記集積回路情報入力ステップにより入力された集積回路情報を用いて作成するライブラリ作成ステップと、
を含んだことを特徴とする回路設計支援方法。
【０１５２】
（付記１３）前記ライブラリ作成ステップは、シンボルライブラリの作成対象である集積回路のシンボルが回路図に配置済みであるか否かを判定し、回路図に配置済であると判定した場合には、回路図に配置されたシンボルに対応するシンボルライブラリの情報に基づいてシンボルの変更が少なくなるようにシンボルライブラリを作成することを特徴とする付記１２に記載の回路設計支援方法。
【０１５３】
（付記１４）前記ライブラリ作成ステップは、シンボルライブラリの作成対象である集積回路のシンボルが回路図に配置済みである場合に、回路図に配置されたシンボルに対応するシンボルライブラリの情報に基づいてポーション分割を行うことを特徴とする付記１３に記載の回路設計支援方法。
【０１５４】
（付記１５）シンボルライブラリの作成対象である集積回路のシンボルが回路図に配置済みであるか否かを判定し、回路図に配置済であると判定した場合には、回路図に配置されたシンボルを前記ライブラリ作成ステップによりシンボルライブラリが作成されたシンボルで置き換えるシンボル置換ステップをさらに含んだことを特徴とする付記１２、１３または１４に記載の回路設計支援方法。
【０１５５】
（付記１６）部品として集積回路を使用する回路の設計を支援する回路設計支援プログラムであって、
集積回路について集積回路設計ＣＡＤにより作成された設計情報である集積回路情報を入力する集積回路情報入力手順と、
回路設計で使用する集積回路のシンボルライブラリを前記集積回路情報入力手順により入力された集積回路情報を用いて作成するライブラリ作成手順と、
をコンピュータに実行させることを特徴とする回路設計支援プログラム。
【０１５６】
（付記１７）前記ライブラリ作成手順は、シンボルライブラリの作成対象である集積回路のシンボルが回路図に配置済みであるか否かを判定し、回路図に配置済であると判定した場合には、回路図に配置されたシンボルに対応するシンボルライブラリの情報に基づいてシンボルの変更が少なくなるようにシンボルライブラリを作成することを特徴とする付記１６に記載の回路設計支援プログラム。
【０１５７】
（付記１８）前記ライブラリ作成手順は、シンボルライブラリの作成対象である集積回路のシンボルが回路図に配置済みである場合に、回路図に配置されたシンボルに対応するシンボルライブラリの情報に基づいてポーション分割を行うことを特徴とする付記１７に記載の回路設計支援プログラム。
【０１５８】
（付記１９）シンボルライブラリの作成対象である集積回路のシンボルが回路図に配置済みであるか否かを判定し、回路図に配置済であると判定した場合には、回路図に配置されたシンボルを前記ライブラリ作成手順によりシンボルライブラリが作成されたシンボルで置き換えるシンボル置換手順をさらにコンピュータに実行させることを特徴とする付記１６、１７または１８に記載の回路設計支援プログラム。
【０１５９】
（付記２０）部品として集積回路を使用する回路の設計を支援する回路設計支援装置を用いて設計が行われるプリント基板の製造方法であって、
前記回路設計支援装置が、
集積回路について集積回路設計ＣＡＤにより作成された設計情報である集積回路情報を入力する集積回路情報入力ステップと、
回路設計で使用する集積回路のシンボルライブラリを前記集積回路情報入力ステップにより入力された集積回路情報を用いて作成するライブラリ作成ステップと、
を含んだことを特徴とするプリント基板の製造方法。
【産業上の利用可能性】
【０１６０】
以上のように、本発明に係る回路設計支援装置、回路設計支援方法、回路設計支援プログラムおよびプリント基板の製造方法は、ＰＬＤなどの集積回路を部品として使用する回路の設計に有用であり、特に、ＰＬＤの書換えやピンスワップが頻繁に発生する場合に適している。
【図面の簡単な説明】
【０１６１】
【図１】本実施例１に係るＦＰＧＡ協調設計の概念を説明するための説明図である。
【図２】本実施例１に係るＦＰＧＡ協調設計システムの構成を示す機能ブロック図である。
【図３】回路設計を説明するための説明図である。
【図４】ＦＰＧＡのシンボルライブラリを説明するための説明図である。
【図５】ＦＰＧＡ情報記憶部が記憶するＦＰＧＡ情報の一例を示す図である。
【図６】シンボルライブラリ記憶部が記憶するシンボルライブラリの一例を示す図である。
【図７】ピンスワップの一例を示す図である。
【図８】ピンスワップの回路図への反映例を示す図である。
【図９】制約条件記憶部が記憶する制約条件の一例を示す図である。
【図１０】変更履歴記憶部が記憶する変更履歴の一例を示す図である。
【図１１】履歴出力部がＦＰＧＡ設計ＣＡＤ装置に対して出力する通知情報の一例を示す図である。
【図１２】通知情報の出力フォーマットを示す図である。
【図１３】回路設計ＣＡＤ装置によるシンボルライブラリ作成およびシンボル配置処理の処理手順を示すフローチャートである。
【図１４】ＤＲＣ部による入出力属性チェック処理の処理手順を示すフローチャートである。
【図１５】ＤＲＣ部による差動信号チェック処理の処理手順を示すフローチャートである。
【図１６】ＤＲＣ部による電源電圧値チェック処理の処理手順を示すフローチャートである。
【図１７】ピンスワップ処理部によるピンスワップ処理の処理手順を示すフローチャートである。
【図１８】履歴出力部による変更履歴出力処理の処理手順を示すフローチャートである。
【図１９】本実施例２に係るＦＰＧＡ協調設計の概念を説明するための説明図である。
【図２０】本実施例２に係るＦＰＧＡ協調設計システムの構成を示す機能ブロック図である。
【図２１】ネットリスト取込部により読み込まれるネットリストの一例を示す図である。
【図２２】ネットリスト変換部が出力するネットリストの一例を示す図である。
【図２３】仮ライブラリ生成部が生成する仮ライブラリの一例を示す図である。
【図２４】仮ライブラリ作成装置による実装設計ＣＡＤ用情報出力処理の処理手順を示すフローチャートである。
【図２５】仮ライブラリ作成装置による実装検討結果反映処理の処理手順を示すフローチャートである。
【図２６】本実施例１に係る回路設計ＣＡＤプログラムを実行するコンピュータの構成を示す機能ブロック図である。
【符号の説明】
【０１６２】
１０    ＦＰＧＡ設計ＣＡＤ装置
２０    実装設計ＣＡＤ装置
１００    回路設計ＣＡＤ装置
１１０    ＦＰＧＡ情報管理部
１１５    ＦＰＧＡ情報記憶部
１２０    ライブラリ作成部
１２１    ポーション分割部
１２２    シンボル作成部
１２５    シンボルライブラリ記憶部
１３０    回路図反映部
１３５    回路図記憶部
１４０    ＤＲＣ部
１５０    ピンスワップ処理部
１５５    制約条件記憶部
１６０    履歴出力部
１６５    変更履歴記憶部
２００    仮ライブラリ作成装置
２１０    ネットリスト取込部
２２０    ネットリスト管理部
２３０    ネットリスト変換部
２４０    ＦＰＧＡ設計ＣＡＤインタフェース部
２５０    ＦＰＧＡピン情報管理部
２６０    仮ライブラリ生成部
２７０    ピンスワップ処理部
３００    コンピュータ
３１０    ＲＡＭ
３１１    回路設計ＣＡＤプログラム
３２０    ＣＰＵ
３３０    ＨＤＤ
３４０    ＬＡＮインタフェース
３５０    入出力インタフェース
３６０    ＤＶＤドライブ
【図１】
2008165747.tif 000003
【図２】
2008165747.tif 000004
【図３】
2008165747.tif 000005
【図４】
2008165747.tif 000006
【図５】
2008165747.tif 000007
【図６】
2008165747.tif 000008
【図７】
2008165747.tif 000009
【図８】
2008165747.tif 000010
【図９】
2008165747.tif 000011
【図１０】
2008165747.tif 000012
【図１１】
2008165747.tif 000013
【図１２】
2008165747.tif 000014
【図１３】
2008165747.tif 000015
【図１４】
2008165747.tif 000016
【図１５】
2008165747.tif 000017
【図１６】
2008165747.tif 000018
【図１７】
2008165747.tif 000019
【図１８】
2008165747.tif 000020
【図１９】
2008165747.tif 000021
【図２０】
2008165747.tif 000022
【図２１】
2008165747.tif 000023
【図２２】
2008165747.tif 000024
【図２３】
2008165747.tif 000025
【図２４】
2008165747.tif 000026
【図２５】
2008165747.tif 000027
【図２６】
2008165747.tif 000028