(57)【要約】      （修正有）【課題】テスト回路等を埋め込む際の顧客回路への影響を軽減する。【解決手段】顧客回路設計データ２１は、設計対象となる顧客用の回路の設計データであって、配置配線処理部２２は、この設計データを元に顧客回路の配置配線の処理を行う。埋め込み回路発生処理部２４は、配置配線処理部２２が出力する配置配線結果と、顧客回路へ埋め込むテスト回路に関する属性情報、すなわちテスト回路の端子情報、配線位置情報等が記載された埋め込み回路情報搭載ライブラリ２３とを参照して、端子や配線などの要素の物理的な位置関係を把握し、要素同士がショートしているか否かをチェックする。ショートしている要素同士は、一つのネットを形成するものとして、生成されるネットリストに組み入れられる。埋め込み回路発生処理部２４は、顧客回路にテスト回路を繰り込んだネットリストを生成し、埋め込み回路込み設計データ２５として出力する。【選択図】図２
2007011957.tif 000002
【特許請求の範囲】
【請求項１】
顧客の要求する回路（以下、顧客回路という）に付加回路を埋め込んだ回路を設計する装置であって、
顧客回路の設計データから配置配線を行う配置配線処理部と、
前記付加回路における要素の位置情報に基づいて、前記配置配線処理部が出力する配置配線結果に対して前記付加回路を埋め込んだ回路を生成する埋め込み回路発生処理部と、
を備えることを特徴とする回路設計装置。
【請求項２】
前記埋め込み回路発生処理部は、前記配置配線結果に前記付加回路を埋め込んだ際に物理的には接続されてショートとなる要素同士を、論理的にも接続されている要素同士であるとしてネットリストを合成して出力することを特徴とする請求項１記載の回路設計装置。
【請求項３】
前記付加回路は、前記顧客回路をテストするための回路であることを特徴とする請求項１または２記載の回路設計装置。
【請求項４】
前記付加回路は、入出力回路における内部回路であることを特徴とする請求項１または２記載の回路設計装置。
【請求項５】
顧客の要求する回路（以下、顧客回路という）に付加回路を埋め込んだ回路を設計するプログラムであって、コンピュータを、
顧客回路の設計データから配置配線を行う配置配線手段、
前記付加回路における要素の位置情報に基づいて、前記配置配線処理部が出力する配置配線結果に対して前記付加回路を埋め込んだ回路を生成する埋め込み回路発生手段、
として機能させるためのプログラム。
【請求項６】
前記埋め込み回路発生手段は、前記配置配線結果に前記付加回路を埋め込んだ際に物理的には接続されてショートとなる要素同士を、論理的にも接続されている要素同士であるとしてネットリストを合成して出力することを特徴とする請求項５記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路設計装置およびプログラムに係り、特に、顧客の要求する回路に付加回路を埋め込んだ回路を設計する装置およびプログラムに係る。
【背景技術】
【０００２】
ＬＳＩ等の設計にあっては、顧客の要求する回路（以下、顧客回路という）に対し、テスト回路を用意することは必須である。従来、顧客回路に対し、テスト回路等を埋め込んでから配置配線を行うような手順で設計される。このような設計を行う回路設計装置における手順を図６に示す。図６において、回路設計装置の内部テスト回路発生処理部１０２は、顧客回路設計データ１０１を読み込み、顧客回路の内部にテスト回路を埋め込んで内部テスト回路込みのデータ１０３を生成する。配置配線処理部１０４は、内部テスト回路込みのデータ１０３を元に配置配線を行ってテスト回路込み配置配線結果データ１０５を出力する。
【０００３】
このような手順で回路設計を行う技術として、例えば、配置配線前の論理合成の段階でテスト回路を挿入し、配置配線を行うことが特許文献１に記載されている。また、特許文献２には、配置後のセルの配置位置関係を考慮しながら効率的な配線処理ができるようにテスト回路のネットリストの再構成を行うことが記載されている。この場合、テスト回路の配線処理は、顧客回路と同時に行われる。
【０００４】
【特許文献１】特開２００１-８４２８０号公報
【特許文献２】特開平１０-１４４７９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、従来の技術では、顧客回路データに対してテスト回路等を追加したデータで配置配線を行っている。したがって、追加されたテスト回路等のネットリスト構成が顧客回路データの配置配線に影響を与えてしまう問題が存在する。具体的には、テスト回路等を埋め込んでから配置配線を行うことで、顧客回路をチップ上の適切な場所に配置できなくなる場合や、適切な配線が行えなくなる場合等が生じ、顧客回路における遅延特性を劣化させてしまうこと等が起こり得る。
【課題を解決するための手段】
【０００６】
前記課題を解決するために本発明の１つのアスペクトに係る回路設計装置は、顧客の要求する回路に付加回路を埋め込んだ回路を設計する装置である。この装置は、顧客回路の設計データから配置配線を行う配置配線処理部と、配置配線処理部が出力する配置配線結果に対して顧客回路に埋め込む付加回路における要素の位置情報を参照して付加回路を顧客回路中に生成する埋め込み回路発生処理部と、を備える。
【０００７】
本発明の１つのアスペクトに係るプログラムは、顧客の要求する回路に付加回路を埋め込んだ回路を設計するプログラムであって、コンピュータを、顧客回路の設計データから配置配線を行う配置配線手段と、配置配線手段が出力する配置配線結果に対して顧客回路に埋め込む付加回路における要素の位置情報を参照して付加回路を顧客回路中に生成する埋め込み回路発生手段、として機能させる。
【０００８】
なお、本発明において、単に配線といった場合、レイアウトツールの配線処理で引かれる物理的な配線図形、配線パターンのことを言う。また、ネットとは、接続されるべき端子同士の集合（論理接続情報）と、それを接続するための配線情報の集合体のことを言う。
【発明の効果】
【０００９】
本発明によれば、顧客回路の配置配線終了後のデータに対してテスト回路等の埋め込み回路を適用することで、顧客回路のセルが埋め込み回路のどの部分に配置されたとしても、配置情報に応じて埋め込み回路のネットリストを生成することができる。したがって、埋め込み回路によって生じる顧客回路への影響が軽減される。
【発明を実施するための最良の形態】
【００１０】
図１は、本発明の実施形態に係る回路設計装置の構成を示すブロック図である。図１において、回路設計装置は、パーソナルコンピュータやエンジニアリングワークステーション等の情報処理装置から構成され、処理装置１０、入力装置１１、出力装置１２、記憶装置１３を備える。記憶装置１３は、磁気ディスク装置や半導体メモリなどから構成され、顧客回路設計データ２１、埋め込み回路情報搭載ライブラリ２３、埋め込み回路込み設計データ２５、回路設計を実行するプログラム２０を記憶する。入力装置１１は、キーボード、マウスなどから構成される。出力装置１２は、ディスプレイ装置やプリンタなどから構成される。処理装置１０は、入力装置１１からの入力指示によって、記憶装置１３内のデータを読み込んでプログラム２０を実行し、結果を記憶装置１３内に書き込み、必要に応じて出力装置１２に出力する。なお、図１において、入力装置１１、出力装置１２、記憶装置１３の一部を不図示のネットワークを介して他の装置に備える構成とし、リモートアクセスするようにしてもよいことは言うまでもない。
【００１１】
次に、以上のように構成される回路設計装置における機能について説明する。図２は、本発明の実施形態に係る回路設計装置の主要機能部分を示すブロック図である。図２において、顧客回路設計データ２１は、顧客の指定する設計対象となる回路の設計データであって、配置配線処理部２２は、この設計データを元に顧客回路の配置配線の処理を行う。埋め込み回路発生処理部２４は、配置配線処理部２２が出力する配置配線結果と、顧客回路へ埋め込む回路に関する属性情報、すなわち埋め込み回路の端子情報、配線位置情報等が記載された埋め込み回路情報搭載ライブラリ２３とを参照して、配置配線結果と埋め込み回路との要素同士の対応関係を取る。具体的には、端子や配線などの要素の物理的な位置関係を把握し、要素同士がショートしているか否かをチェックする。ショートしている要素同士は、一つのネットを形成するものとして、生成されるネットリストに組み入れられる。埋め込み回路発生処理部２４は、このようにして顧客回路に埋め込み回路を繰り込んだネットリストを生成し、埋め込み回路込み設計データ２５として出力する。
【００１２】
次に、埋め込み回路発生処理部２４の詳細について説明する。図３は、本発明の実施形態に係る埋め込み回路発生処理部の詳細を示すブロック図である。図３において、埋め込み回路発生処理部２４は、ショートチェック部３５と接続処理部３６を備える。配置配線結果データ３１は、図２の配置配線処理部２２が出力する、ショートエラーが存在しない顧客回路の配置配線結果のデータである。ブロック内端子位置情報３２は、汎用のライブラリとして与えられるものであって、ブロック内における端子、配線等の物理的な位置情報を表す。埋め込み配線パターン情報ライブラリ３３は、図２の埋め込み回路情報搭載ライブラリ２３に含まれる専用のライブラリであって、埋め込み回路における端子、配線等の物理的な位置情報を表す。
【００１３】
ショートチェック部３５は、配置配線結果データ３１、ブロック内端子位置情報３２、埋め込み配線パターン情報ライブラリ３３を読み込み、各ブロックにおける座標情報を元に埋め込み回路における端子が他の端子あるいは配線とショートしているか否かをチェックする。
【００１４】
接続処理部３６は、ショートチェック部３５においてショートしていると判定された端子あるいは配線を論理的にも接続されているネットであるとしてネットリストに組み込む。すなわち、端子あるいは配線同士がショートしているもの同士を新たなネットとして生成する。この結果、接続処理部３６が出力する配置配線結果のネットリストには、ショートしているネットは存在しないこととなる。接続処理部３６は、配置配線結果データおよび復元回路データ３７を埋め込み回路込み設計データ２５として出力する。
【００１５】
以上のように本発明の実施形態に係る回路設計装置によれば、ショートチェックによって物理的に接続されていると判定された要素同士は、論理的にも接続されている要素同士であるとしてネットリストを生成し、埋め込み回路込みの設計データとして出力する。すなわち、顧客回路の配置配線結果に対して埋め込み回路を埋め込むように設計するので、埋め込み回路のどの部分に顧客回路のセルが配置されたとしても、配置情報に応じて埋め込み回路込みのネットリストが生成されることとなる。したがって、顧客回路をチップ上の適切な場所に配置できなくなる場合や、適切な配線が行えなくなる場合が発生し難くなる。
【００１６】
また、タイミング情報等の配置配線後のデータを顧客に返す際にテスト回路データの消去を行うか、あるいは顧客にテスト回路が追加されていることの了承を取るか、などの必要がなくなる。
【実施例１】
【００１７】
次に、埋め込み回路がテスト回路である場合を例として採り上げ、顧客回路にテスト回路を繰り込む際の手順について説明する。図４は、顧客回路にテスト回路を繰り込む際のレイアウトを模式的に示す図である。図４（ａ）において、回路ブロック４１は、図２の配置配線処理部２２によって配置配線された顧客回路であって、セルＦＦ１、ＦＦ２、ＦＦ３から構成される。セルＦＦ１には、端子Ｔ１が設けられ、セルＦＦ３には、端子Ｔ３が設けられ、端子Ｔ１、Ｔ３は、配線Ｕ０によって接続され、回路ブロック４１の外部に引き出されている。また、セルＦＦ１、ＦＦ２の一部、およびセルＦＦ２、ＦＦ３の一部にはそれぞれ配線禁止図形で表される配線禁止領域が設定されている。この配線禁止図形は、ブロック内端子位置情報３２において、例えばレイアウト設計ツール用のＬＥＦ（library exchange format）で定義されている。配線禁止領域は、テスト回路の埋め込み配線が存在する位置に設定され、顧客回路の配線がテスト回路の配線とショートエラーを起こさないようにしている。なお、セルＦＦ２は、顧客回路に含まれず、端子付のフィルセルであってもよい。このフィルセルは、セルＦＦ２の位置に顧客回路を置かせたくない等の制約を設ける時に使用するようにしてもよい。
【００１８】
図４（ｂ）において、回路ブロック４２は、図３のブロック内端子位置情報３２に格納されている埋め込み回路向けの端子情報を、回路ブロック４１上に図示したものである。ここでは、セルＦＦ１、ＦＦ２、ＦＦ３にそれぞれ端子ＳＩＮ、ＳＯＴが追加されて図示されている。端子ＳＩＮ、ＳＯＴは、それぞれ、例えばテスト回路用のスキャンフリップフロップのスキャン入力端子、スキャン出力端子である。
【００１９】
一方、回路ブロック４３は、図３の埋め込み配線パターン情報ライブラリ３３によって与えられるものであり、配線ＣＨＡＩＮ１、ＣＨＡＩＮ２を含む。配線ＣＨＡＩＮ１、ＣＨＡＩＮ２は、配線情報記述４４によって表され、｛ＣＨＡＩＮ１：φ｝、｛ＣＨＡＩＮ２：φ｝は、それぞれ配線ＣＨＡＩＮ１、ＣＨＡＩＮ２には何も繋がっていないことを意味する。
【００２０】
ショートチェック部３５は、回路ブロック４２、４３の物理的な位置情報を元に端子や配線のショートチェックを行う。ここで、回路ブロック４２、４３には、図４（ｂ）で示すような座標Ａ、Ｂ、Ｃ、Ｄの情報があるとする。ショートチェックによって、配線ＣＨＡＩＮ１とセルＦＦ１の端子ＳＯＴとが座標Ａでショートし、配線ＣＨＡＩＮ１とセルＦＦ２の端子ＳＩＮとが座標Ｂでショートしていると判定される。また、同様に、配線ＣＨＡＩＮ２とセルＦＦ２の端子ＳＯＴとが座標Ｃでショートし、配線ＣＨＡＩＮ２とセルＦＦ３の端子ＳＩＮとが座標Ｄでショートしていると判定される。この判定結果を元に図３の接続処理部３６は、配線情報記述４６を作成する。配線情報記述４６において、例えば｛ＣＨＡＩＮ１：ＦＦ１／ＳＯＴ，ＦＦ２／ＳＩＮ｝は、配線ＣＨＡＩＮ１がセルＦＦ１の端子ＳＯＴおよびセルＦＦ２の端子ＳＩＮと接続されていることを示す。配線ＣＨＡＩＮ２、Ｕ０も同様である。なお、図４（ｃ）の回路ブロック４５は、接続処理部３６の処理の結果、回路ブロック４２と回路ブロック４３とでショートしている部分が接続された回路を示している。
【００２１】
回路ブロック４５および配線情報記述４６は、テスト回路を顧客回路に埋め込んだ設計データ、すなわち配置配線結果データおよび復元回路データ３７として出力される。このようにショートチェックによって物理的に接続されていると判定された要素同士は、論理的にも接続されている要素同士であるとしてネットリストが合成される。そして、合成されたネットリストが設計データとして顧客に対し提供される。
【００２２】
以上のような手順で顧客回路にテスト回路を埋め込むことで、顧客に内部的なテスト回路の存在を意識させること無く回路設計がなされる。また、テスト回路を埋め込むことで、顧客回路の配置配線を変更することが無く、顧客回路に影響を与えることがない。
【実施例２】
【００２３】
次に、埋め込み回路がＩ／Ｏ（入出力）回路である場合を例として採り上げ、顧客回路にＩ／Ｏ回路を繰り込む際の手順について説明する。図５は、顧客回路にＩ／Ｏ回路を繰り込む際のレイアウトを模式的に示す図である。図５（ａ）において、セル群５０を構成するセルＩＯ＿１、ＩＯ＿２、ＩＯ＿３、ＩＯ＿４は、チップ周辺などに配置される入出力用のセルである。セルＩＯ＿１は、端子Ａ１、Ａ２を、セルＩＯ＿２は、端子Ｂ１、Ｂ２、Ｂ３を、セルＩＯ＿３は、端子Ｃ１、Ｃ２を、セルＩＯ＿４は、端子Ｄ１、Ｄ２を備え、さらに端子Ｄ１には配線ＮＥＴ１が接続されている。図５（ａ）のような状態では、端子Ｄ１を除く全ての端子は、孤立している。配線ＮＥＴ１は、配線情報記述５１によって表され、｛ＮＥＴ１：ＩＯ＿４／Ｄ１｝は、配線ＮＥＴ１がセルＩＯ＿４の端子Ｄ１に繋がっていることを意味する。
【００２４】
ショートチェック部３５は、セルＩＯ＿１、ＩＯ＿２、ＩＯ＿３、ＩＯ＿４の物理的な位置情報を元に、実施例１と同様に端子や配線のショートチェックを行う。このショートチェックによって、セルＩＯ＿１の端子Ａ１とセルＩＯ＿２の端子Ｂ１とが座標Ｅで、セルＩＯ＿２の端子Ｂ１とセルＩＯ＿３の端子Ｃ１とが座標Ｆで、セルＩＯ＿３の端子Ｃ１とセルＩＯ＿４の端子Ｄ１とが座標Ｇでショートしていると判定される。また、セルＩＯ＿１の端子Ａ２とセルＩＯ＿２の端子Ｂ２とが座標Ｈで、セルＩＯ＿２の端子Ｂ３とセルＩＯ＿３の端子Ｃ２とが座標Ｉで、セルＩＯ＿３の端子Ｃ２とセルＩＯ＿４の端子Ｄ２とが座標Ｊでショートしていると判定される。これらの判定結果を元に図３の接続処理部３６は、配線情報記述５２を作成する。配線情報記述５２において、例えば｛ＮＥＴ１：ＩＯ＿１／Ａ１，ＩＯ＿２／Ｂ１，ＩＯ＿３／Ｃ１，ＩＯ＿４／Ｄ１ ｝は、配線ＮＥＴ１がセルＩＯ＿１の端子Ａ１と、セルＩＯ２の端子Ｂ１と、セルＩＯ＿３の端子Ｃ１と、セルＩＯ＿４の端子Ｄ１と接続されていることを示す。また、｛Ａ２＿１：ＩＯ＿１／Ａ２，ＩＯ＿２／Ｂ２ ｝は、セルＩＯ＿１の端子Ａ２と、セルＩＯ＿２の端子Ｂ２とが配線Ａ２＿１を形成していることを意味する。さらに、｛Ｂ３＿１：ＩＯ＿２／Ｂ３，ＩＯ＿３／Ｃ２，ＩＯ＿４／Ｄ２ ｝は、セルＩＯ＿２の端子Ｂ３と、セルＩＯ＿３の端子Ｃ２と、セルＩＯ＿４の端子Ｄ２とが配線Ｂ３＿１を形成していることを意味する。なお、ここで配線Ａ２＿１あるいは配線Ｂ３＿１は、顧客回路には存在していなかった配線であり、接続処理部３６により生成された配線で、例えばＩ／Ｏ回路における電源の配線で使用される。このように図５（ｂ）は、接続処理部３６の処理の結果、図５（ａ）示すセル群５０を構成する各セル間でショートしている部分が接続された回路ブロック５３を示している。
【００２５】
回路ブロック５３および配線情報記述５２は、Ｉ／Ｏ回路を繰り込んだ設計データ、すなわち配置配線結果データおよび復元回路データ３７として出力される。このようにショートチェックによって物理的に接続されていると判定された要素同士は、論理的にも接続されている要素同士であるとしてネットリストが合成される。そして、合成されたネットリストが設計データとして顧客に対し提供される。
【００２６】
このようなネットリスト合成において、顧客に内部的な配線の存在を意識させること無く回路設計がなされる。また、内部的な配線を埋め込むことで、顧客回路の配置配線を変更することが無く、顧客回路に影響を与えることがない。
【００２７】
以上本発明を上記実施例に即して説明したが、本発明は、上記実施例にのみ限定されるものではなく、本願特許請求の範囲の各請求項の発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【図面の簡単な説明】
【００２８】
【図１】本発明の実施形態に係る回路設計装置の構成を示すブロック図である。
【図２】本発明の実施形態に係る回路設計装置の主要機能部分を示すブロック図である。
【図３】本発明の実施形態に係る埋め込み回路発生処理部の詳細を示すブロック図である。
【図４】顧客回路にテスト回路を繰り込む際のレイアウトを模式的に示す図である。
【図５】顧客回路にＩ／Ｏ回路を繰り込む際のレイアウトを模式的に示す図である。
【図６】従来の回路設計装置における設計手順を示す図である。
【符号の説明】
【００２９】
１０  処理装置
１１  入力装置
１２  出力装置
１３  記憶装置
２０  プログラム
２１  顧客回路設計データ
２２  配置配線処理部
２３  埋め込み回路情報搭載ライブラリ
２４  埋め込み回路発生処理部
２５  埋め込み回路込み設計データ
３１  配置配線結果データ
３２  ブロック内端子位置情報
３３  埋め込み配線パターン情報ライブラリ
３５  ショートチェック部
３６  接続処理部
３７  配置配線結果データおよび復元回路データ
４１、４２、４３、４５  回路ブロック
４４、４６、５１、５２  配線情報記述
５０  セル群
５３  回路ブロック
ＦＦ１、ＦＦ２、ＦＦ３、ＩＯ＿１、ＩＯ＿２、ＩＯ＿３、ＩＯ＿４  セル
Ａ１、Ａ２、Ｂ１、Ｂ２、Ｂ３、Ｃ１、Ｃ２、Ｄ１、Ｄ２、Ｔ１、Ｔ３、ＳＩＮ、ＳＯＴ  端子
Ｕ０、ＮＥＴ１  配線
【図１】
2007011957.tif 000003
【図２】
2007011957.tif 000004
【図３】
2007011957.tif 000005
【図４】
2007011957.tif 000006
【図５】
2007011957.tif 000007
【図６】
2007011957.tif 000008