(57)【要約】【課題】最適なレイアウト設計を効率的におこなって設計時間の短縮化を図ること。【解決手段】ＬＳＩチップのレイアウト設計装置２００、フレームライブラリ２０１からバウンダリスキャンレジスタを有するフレームを抽出するフレーム抽出部２０４と、フレームの任意のＩ／Ｏマクロ配置領域にテスト信号以外の他の信号を伝搬する信号端子に接続されるＩ／Ｏマクロを配置する配置部２０６と、フレームにおける任意の端子位置のフレーム端子が、フレームに含まれているテスト端子および／または配置されたＩ／Ｏマクロに接続される信号端子に合致するどうかを判定する判定部２０８と、この判定結果に基づいて、配置されたＩ／Ｏマクロを、テスト信号を伝搬しかつバウンダリスキャンレジスタを有するテスト専用Ｉ／Ｏマクロ、または、テスト信号および他の信号を伝搬する共用端子に接続される共用Ｉ／Ｏマクロに置換する置換部２１０と、を備える。【選択図】        図２
2005309623.tif 000002
【特許請求の範囲】
【請求項１】
Ｉ／Ｏマクロ配置領域にテスト信号を伝搬するバウンダリスキャンレジスタを有するフレームの入力を受け付ける入力手段と、
前記入力手段によって入力されたフレームの任意のＩ／Ｏマクロ配置領域に、前記テスト信号以外の他の信号を伝搬する信号端子に接続されるＩ／Ｏマクロを配置する配置手段と、
前記フレームにおける任意の端子位置のフレーム端子が、前記入力手段によって入力されたフレーム内の前記テスト信号を伝搬するテスト端子、および／または、前記配置手段によって配置されたＩ／Ｏマクロに接続される信号端子に合致するかどうかを判定する判定手段と、
前記判定手段によって判定された判定結果に基づいて、前記配置手段によって配置されたＩ／Ｏマクロを、前記テスト信号および前記他の信号を伝搬する共用端子に接続される共用Ｉ／Ｏマクロ、または、前記テスト信号を伝搬しかつ前記バウンダリスキャンレジスタを有するテスト専用Ｉ／Ｏマクロに置換する置換手段と、
を備えることを特徴とするレイアウト設計装置。
【請求項２】
前記置換手段は、
前記判定手段によって、前記フレームにおける任意の端子位置のフレーム端子が、前記入力手段によって入力されたフレームに含まれているテスト端子および前記配置手段によって配置されたＩ／Ｏマクロに接続される信号端子に合致すると判定された場合、前記配置手段によって前記信号端子に接続するように配置されたＩ／Ｏマクロを、前記共用Ｉ／Ｏマクロに置換することを特徴とする請求項１に記載のレイアウト設計装置。
【請求項３】
前記置換手段は、
前記判定手段によって、前記フレームにおける任意の端子位置のフレーム端子が、前記入力手段によって入力されたフレームに含まれているテスト端子にのみ合致すると判定された場合、前記配置手段によって前記信号端子に接続するように配置されたＩ／Ｏマクロを、前記テスト専用Ｉ／Ｏマクロに置換することを特徴とする請求項１または２に記載のレイアウト設計装置。
【請求項４】
Ｉ／Ｏマクロ配置領域にテスト信号を伝搬するバウンダリスキャンレジスタを有するフレームを入力する入力工程と、
前記入力工程によって入力されたフレームの任意のＩ／Ｏマクロ配置領域に、前記テスト信号以外の他の信号を伝搬する信号端子に接続されるＩ／Ｏマクロを配置する配置工程と、
前記フレームにおける任意の端子位置のフレーム端子が、前記入力工程によって入力されたフレーム内の前記テスト信号を伝搬するテスト端子、および／または、前記配置工程によって配置されたＩ／Ｏマクロに接続される信号端子に合致するかどうかを判定する判定工程と、
前記判定工程によって判定された判定結果に基づいて、前記配置工程によって配置されたＩ／Ｏマクロを、前記テスト信号および前記他の信号を伝搬する共用端子に接続される共用Ｉ／Ｏマクロ、または、前記テスト信号を伝搬しかつ前記バウンダリスキャンレジスタを有するテスト専用Ｉ／Ｏマクロに置換する置換工程と、
を含んだことを特徴とするレイアウト設計方法。
【請求項５】
前記置換工程は、
前記判定工程によって、前記フレームにおける任意の端子位置のフレーム端子が、前記入力工程によって入力されたフレームに含まれているテスト端子および前記配置工程によって配置されたＩ／Ｏマクロに接続される信号端子に合致すると判定された場合、前記配置工程によって前記信号端子に接続するように配置されたＩ／Ｏマクロを、前記共用Ｉ／Ｏマクロに置換することを特徴とする請求項４に記載のレイアウト設計方法。
【請求項６】
前記置換工程は、
前記判定工程によって、前記フレームにおける任意の端子位置のフレーム端子が、前記入力工程によって入力されたフレームに含まれているテスト端子にのみ合致すると判定された場合、前記配置工程によって前記信号端子に接続するように配置されたＩ／Ｏマクロを、前記テスト専用Ｉ／Ｏマクロに置換することを特徴とする請求項４または５に記載のレイアウト設計方法。
【請求項７】
Ｉ／Ｏマクロ配置領域にテスト信号を伝搬するバウンダリスキャンレジスタを有するフレームを入力させる入力工程と、
前記入力工程によって入力されたフレームの任意のＩ／Ｏマクロ配置領域に、前記テスト信号以外の他の信号を伝搬する信号端子に接続されるＩ／Ｏマクロを配置させる配置工程と、
前記フレームにおける任意の端子位置のフレーム端子が、前記入力工程によって入力されたフレーム内の前記テスト信号を伝搬するテスト端子、および／または、前記配置工程によって配置されたＩ／Ｏマクロに接続される信号端子に合致するかどうかを判定させる判定工程と、
前記判定工程によって判定された判定結果に基づいて、前記配置工程によって配置されたＩ／Ｏマクロを、前記テスト信号および前記他の信号を伝搬する共用端子に接続される共用Ｉ／Ｏマクロ、または、前記テスト信号を伝搬しかつ前記バウンダリスキャンレジスタを有するテスト専用Ｉ／Ｏマクロに置換させる置換工程と、
をコンピュータに実行させることを特徴とするレイアウト設計プログラム。
【請求項８】
前記置換工程は、
前記判定工程によって、前記フレームにおける任意の端子位置のフレーム端子が、前記入力工程によって入力されたフレームに含まれているテスト端子および前記配置工程によって配置されたＩ／Ｏマクロに接続される信号端子に合致すると判定された場合、前記配置工程によって前記信号端子に接続するように配置されたＩ／Ｏマクロを、前記共用Ｉ／Ｏマクロに置換することを特徴とする請求項７に記載のレイアウト設計プログラム。
【請求項９】
前記置換工程は、
前記判定工程によって、前記フレームにおける任意の端子位置のフレーム端子が、前記入力工程によって入力されたフレームに含まれているテスト端子にのみ合致すると判定された場合、前記配置工程によって前記信号端子に接続するように配置されたＩ／Ｏマクロを、前記テスト専用Ｉ／Ｏマクロに置換することを特徴とする請求項７または８に記載のレイアウト設計プログラム。
【請求項１０】
請求項７〜９のいずれか一つに記載のレイアウト設計プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、バウンダリスキャンレジスタを有するＬＳＩチップのレイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体に関する。
【背景技術】
【０００２】
従来、バウンダリスキャンレジスタは、ＬＳＩチップ上にはあらかじめ配置されておらず、信号が伝搬するＩ／Ｏセルや機能コアセルとの結線関係に基づいて、Ｉ／Ｏセルまたは機能コアセルのいずれかのセルに隣接して配置する手法をおこなっていた（たとえば、下記特許文献１を参照。）。
【０００３】
【特許文献１】特開２００２−２６１２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来技術では、レイアウト設計時においては、入力データとなる回路にバウンダリスキャンレジスタが内蔵されている必要があるため、レイアウト設計前にテスト合成ツールを用いてバウンダリスキャンレジスタの挿入をおこなう必要があった。
【０００５】
このバウンダリスキャンレジスタの挿入では、配線遅延によるタイミングエラーなど信号伝搬に起因する回路の品質劣化を防止するために、Ｉ／Ｏセルまたは機能コアセルとの結線関係に基づいて、結線を短くするようにしていずれかのセルに隣接して配置する手法をとる。したがって、バウンダリスキャンレジスタの配置領域を厳密に抽出する必要があり、バウンダリスキャンレジスタを最適な位置に配置できるまでに時間がかかり、設計時間の長期化を招くという問題があった。
【０００６】
この発明は、上述した従来技術による問題点を解消するため、最適なレイアウト設計を効率的におこなうことによって設計時間の短縮化を図ることができるレイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するため、この発明にかかるレイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体は、Ｉ／Ｏマクロ配置領域にテスト信号を伝搬するバウンダリスキャンレジスタを有するフレームを入力し、入力されたフレームの任意のＩ／Ｏマクロ配置領域に、前記テスト信号以外の他の信号を伝搬する信号端子に接続されるＩ／Ｏマクロを配置し、前記フレームにおける任意の端子位置のフレーム端子が、入力されたフレーム内の前記テスト信号を伝搬するテスト端子、および／または、配置されたＩ／Ｏマクロに接続される信号端子に合致するかどうかを判定し、この判定結果に基づいて、配置されたＩ／Ｏマクロを、前記テスト信号および前記他の信号を伝搬する共用端子に接続される共用Ｉ／Ｏマクロ、または、前記テスト信号を伝搬しかつ前記バウンダリスキャンレジスタを有するテスト専用Ｉ／Ｏマクロに置換することを特徴とする。
【０００８】
この発明によれば、テスト回路合成ツールを使用せずに、また、設計者がバウンダリスキャンレジスタの種類を意識することなく、レイアウト時に最適なバウンダリスキャンレジスタを挿入することができる。
【発明の効果】
【０００９】
本発明にかかるレイアウト設計装置、レイアウト設計方法、レイアウト設計プログラム、および記録媒体によれば、最適なレイアウト設計を効率的におこなうことができ、設計時間の短縮化を図ることができるという効果を奏する。
【発明を実施するための最良の形態】
【００１０】
以下に添付図面を参照して、この発明にかかるＬＳＩチップのレイアウト設計装置、ＬＳＩチップのレイアウト設計方法、およびＬＳＩチップのレイアウト設計プログラムの好適な実施の形態を詳細に説明する。
【００１１】
（実施の形態）
（レイアウト設計装置のハードウェア構成）
まず、この発明の実施の形態にかかるレイアウト設計装置のハードウェア構成について説明する。図１は、この発明の実施の形態にかかるレイアウト設計装置のハードウェア構成を示すブロック図である。
【００１２】
図１において、レイアウト設計装置は、ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、ＨＤＤ（ハードディスクドライブ）１０４と、ＨＤ（ハードディスク）１０５と、ＦＤＤ（フレキシブルディスクドライブ）１０６と、着脱可能な記録媒体の一例としてのＦＤ（フレキシブルディスク）１０７と、ディスプレイ１０８と、Ｉ／Ｆ（インターフェース）１０９と、キーボード１１０と、マウス１１１と、スキャナ１１２と、プリンタ１１３と、を備えている。また、各構成部はバス１００によってそれぞれ接続されている。
【００１３】
ここで、ＣＰＵ１０１は、レイアウト設計装置の全体の制御を司る。ＲＯＭ１０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ１０３は、ＣＰＵ１０１のワークエリアとして使用される。ＨＤＤ１０４は、ＣＰＵ１０１の制御にしたがってＨＤ１０５に対するデータのリード／ライトを制御する。ＨＤ１０５は、ＨＤＤ１０４の制御で書き込まれたデータを記憶する。
【００１４】
ＦＤＤ１０６は、ＣＰＵ１０１の制御にしたがってＦＤ１０７に対するデータのリード／ライトを制御する。ＦＤ１０７は、ＦＤＤ１０６の制御で書き込まれたデータを記憶したり、ＦＤ１０７に記憶されたデータをレイアウト設計装置に読み取らせたりする。
【００１５】
また、着脱可能な記録媒体として、ＦＤ１０７のほか、ＣＤ−ＲＯＭ（ＣＤ−Ｒ、ＣＤ−ＲＷ）、ＭＯ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、メモリーカードなどであってもよい。ディスプレイ１０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ１０８は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００１６】
Ｉ／Ｆ１０９は、通信回線を通じてインターネットなどのネットワーク１１４に接続され、このネットワーク１１４を介して他の装置に接続される。そして、Ｉ／Ｆ１０９は、ネットワーク１１４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ１０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００１７】
キーボード１１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス１１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００１８】
スキャナ１１２は、画像を光学的に読み取り、レイアウト設計装置内に画像データを取り込む。なお、スキャナ１１２は、ＯＣＲ機能を持たせてもよい。また、プリンタ１１３は、画像データや文書データを印刷する。プリンタ１１３には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
【００１９】
（レイアウト設計装置の機能的構成）
つぎに、この発明の実施の形態にかかるレイアウト設計装置の機能的構成について説明する。図２は、この発明の実施の形態にかかるレイアウト設計装置の機能的構成を示すブロック図である。
【００２０】
レイアウト設計装置２００は、フレームライブラリ２０１と、ネットリストデータベース２０２と、Ｉ／Ｏマクロデータベース２０３と、フレーム抽出部２０４と、ネットリスト抽出部２０５と、配置部２０６と、判定部２０８と、Ｉ／Ｏマクロ抽出部２０９と、置換部２１０と、配置／配線部２１１と、から構成されている。
【００２１】
フレームライブラリ２０１は、バウンダリスキャンレジスタをはじめとする各種ＩＰマクロと、当該ＩＰマクロの端子位置、回転コード、配置位置および配線経路などの配置配線情報が内蔵されているフレームを記憶する。フレームは、設計するＬＳＩチップによって複数種類用意されている。
【００２２】
ここで、フレームの具体的な一例を説明する。図３は、フレームライブラリ２０１に記憶されているフレームの一例を示す説明図である。フレーム３００は、マスタと呼ばれるＬＳＩの基盤回路部３０１と、基盤回路部３０１の周囲に、Ｉ／Ｏセル配置領域３０２およびバウンダリスキャンレジスタ配置領域３０３からなるＩ／Ｏマクロ配置領域３０４とを有している。なお、Ｉ／Ｏマクロ配置領域３０４の外側に記載されている数字は、Ｉ／Ｏマクロ配置領域３０４と外部とを接続するフレーム端子Ｐｉ（図３では不図示）の端子番号をあらわしている。
【００２３】
基盤回路部３０１には、主要ＩＰマクロおよび配線層（不図示）が埋め込まれているため、動作速度や各種機能の性能が保証されている。また、配線層全６層のうち、３層の基本配線層が共通化されており、残り３層のカスタマイズ配線層のみをユーザの仕様に合わせてレイアウト設計（カスタマイズ）することができる。
【００２４】
また、基本配線層には、ＰＬＬ回路付きの８系統のクロック供給回路が用意されている。さらに、信号伝達を確実にするために、ノイズ対策配線配置やタイミング計算への遅延変動効果を考慮した設計が施されている。また、製品テストを容易化できるＳＣＡＮ回路やＢＩＳＴ回路があらかじめ設計済みとなっているため、テスト合成作業やテストに関わるタイミング設計の負担を大幅に軽減することができる。また、バウンダリスキャンレジスタ配置領域３０３には主要ＩＰマクロとなるバウンダリスキャンレジスタ３０５が埋め込まれている。
【００２５】
この実施の形態では、フレーム３００上に用意されたすべてのＩＰマクロをレイアウト設計で使用するのではなく、ユーザのネットリストによってどのフレーム端子Ｐｉを使用するかで、レイアウト設計に用いられるＩ／Ｏマクロが決定する。
【００２６】
また、フレームライブラリ２０１には、フレーム情報ファイルが記憶されている。図４は、フレーム情報ファイルの一例を示す説明図である。図４において、フレーム情報ファイル４００には、フレーム端子Ｐｉの端子番号、端子種類および端子名が記述されている。「端子種類」は、端子番号ｉによって示されるフレーム端子Ｐｉが、テスト端子またはクロック端子のいずれかの端子を示している。「端子名」には、端子種類に応じた端子名が示されている。テスト端子名としては、Ｔ１、Ｔ２、・・・、Ｔ１１、Ｔ１２、・・・があり、それぞれ異なるテスト端子である。クロック端子名は、Ｃのみである。
【００２７】
また、図２において、ネットリストデータベース２０２は、ユーザが設計した回路の接続情報を示すネットリストを記憶する。このネットリストは、具体的には、たとえば、外部との信号（テスト信号を除く）の伝搬をおこなうためのＩ／Ｏマクロ（以下、「代表Ｉ／Ｏマクロ」と呼ぶ。）が挙げられる。代表Ｉ／Ｏマクロとしては、たとえば、後述する図８に示したような代表入力Ｉ／Ｏセル６０２および代表入力バウンダリスキャンレジスタ６０３からなる代表入力Ｉ／Ｏマクロ６０４や、代表出力Ｉ／Ｏセル６１２および代表出力バウンダリスキャンレジスタ６１３からなる代表出力Ｉ／Ｏマクロ６１４などが挙げられる。
【００２８】
また、ネットリストデータベース２０２には、ネットリスト情報ファイルが記憶されている。図５は、ネットリスト情報ファイルの一例を示す説明図である。図５において、ネットリスト情報ファイル５００には、フレーム端子Ｐｉの端子番号、端子種類および端子名が記述されている。「端子種類」は、端子番号ｉによって示されるフレーム端子Ｐｉが、信号入力端子または信号出力端子のいずれかの端子であることを示している。「端子名」には、端子種類に応じた端子名が示されている。たとえば、信号入力端子には、ＳＩ１、ＳＩ２、・・・があり、信号出力端子には、ＳＯ１、ＳＯ２、・・・がある。
【００２９】
また、Ｉ／Ｏマクロデータベース２０３は、共用Ｉ／Ｏマクロデータベース２３１とテスト専用Ｉ／Ｏマクロデータベース２３２とを有する。図６は、共用Ｉ／Ｏマクロデータベース２３１の記憶内容を示す説明図である。図６において、共用Ｉ／Ｏマクロデータベース２３１は、テスト端子および信号端子の組み合わせにより、共用Ｉ／Ｏマクロを特定する。この共用Ｉ／Ｏマクロは、フレーム端子Ｐｉが、テスト信号を伝搬するテスト端子、およびテスト端子以外の他の信号を伝搬する信号端子のいずれにも適合する場合に、Ｉ／Ｏマクロ配置領域３０４に配置されるＩ／Ｏマクロである。
【００３０】
たとえば、任意のフレーム端子Ｐｉが、テスト端子Ｔ１および信号入力端子ＳＩ１の両機能を有する共用端子となる場合、共用Ｉ／ＯマクロＣ１が選ばれる。この共用Ｉ／ＯマクロＣ１の共用Ｉ／ＯセルＡ１は、代表入力Ｉ／Ｏセル６０２と同一であるが、共用バウンダリスキャンレジスタＢ１は、代表入力バウンダリスキャンレジスタ６０３とは異なり、テスト信号およびテスト信号以外の他の信号、たとえば、制御信号やデータ信号の入力をおこなうことができるバウンダリスキャンレジスタである。
【００３１】
同様に、任意のフレーム端子Ｐｉが、テスト端子Ｔ２および信号出力端子ＳＯ２の両機能を有する共用端子となる場合、共用Ｉ／ＯマクロＣ２が選ばれる。この共用Ｉ／ＯマクロＣ２の共用Ｉ／ＯセルＡ２は、代表出力Ｉ／Ｏセル６１２と同一であるが、共用バウンダリスキャンレジスタＢ２は、代表出力バウンダリスキャンレジスタ６１３とは異なり、テスト信号およびテスト信号以外の他の信号の出力をおこなうことができるバウンダリスキャンレジスタである。
【００３２】
また、図７は、テスト専用Ｉ／Ｏマクロデータベース２３２の記憶内容を示す説明図である。図７において、テスト端子ごとに、外部端子のＩ／Ｏ（入出力）属性と、テスト専用Ｉ／Ｏマクロとが記憶されている。テスト専用Ｉ／Ｏマクロとは、フレーム端子と外部端子との間でテスト信号の伝搬のみをおこない、かつバウンダリスキャンレジスタを有するＩ／Ｏマクロである。
【００３３】
テスト専用Ｉ／Ｏマクロは、テスト専用Ｉ／Ｏセルと、テスト専用バウンダリスキャンレジスタ（ＢＳＲ）とを有する。テスト専用Ｉ／Ｏセルは、外部端子およびテスト専用バウンダリスキャンレジスタに接続される接続端子を有する。また、テスト専用バウンダリスキャンレジスタは、テスト専用Ｉ／Ｏセルに接続される接続端子を有する。
【００３４】
たとえば、テスト端子Ｔ１１においては、テスト専用Ｉ／ＯセルＡ１１は、外部端子に接続される接続端子Ａ１１ａと、テスト専用バウンダリスキャンレジスタＢ１１に接続される接続端子Ａ１１ｂを有する。また、テスト専用バウンダリスキャンレジスタＢ１１は、テスト専用Ｉ／ＯセルＡ１１に接続される接続端子Ｂ１１ａを有する。
【００３５】
このフレームライブラリ２０１、ネットリストデータベース２０２、およびＩ／Ｏマクロデータベース２０３は、図１に示したＲＯＭ１０２、ＲＡＭ１０３、ＨＤ１０５またはＦＤ１０７などの記録媒体によってその機能を実現する。また、フレームライブラリ２０１、ネットリストデータベース２０２、およびＩ／Ｏマクロデータベース２０３は、図１に示したネットワーク１１４を介して取得可能な外部サーバに設けられることとしてもよい。
【００３６】
また、図２において、フレーム抽出部２０４は、フレームライブラリ２０１からフレーム３００およびフレーム情報ファイル４００を抽出する。具体的には、設計依頼のあったユーザのネットリストに適合するフレーム３００およびフレーム情報ファイル４００を、図１に示したキーボード１１０やマウス１１１を操作することによって抽出する。また、ネットリスト抽出部２０５は、ネットリストデータベース２０２からネットリストおよびネットリスト情報ファイル５００を抽出する。具体的には、設計依頼があったユーザのネットリストに含まれている代表Ｉ／Ｏマクロおよびネットリスト情報ファイル５００を、図１に示したキーボード１１０やマウス１１１を操作することによって抽出する。
【００３７】
また、配置部２０６は、フレーム抽出部２０４によって抽出されたフレーム情報ファイル４００と、ネットリスト抽出部２０５によって抽出されたネットリスト情報ファイル５００に基づいて、フレーム抽出部２０４によって抽出されたフレーム３００に、ネットリスト抽出部２０５によって抽出されたネットリストを示す代表Ｉ／Ｏマクロを配置する。具体的には、図１に示したキーボード１１０やマウス１１１を操作することによって、フレーム３００のＩ／Ｏマクロ配置領域３０４に、代表Ｉ／Ｏマクロを配置する。フレーム３００にあらかじめ記録されているバウンダリスキャンレジスタは、代表Ｉ／Ｏマクロに含まれている代表バウンダリスキャンレジスタに置換される。また、配置すべきＩ／Ｏマクロ領域がネットリストに記述されている場合には、自動的に配置することとしてもよい。
【００３８】
ここで、配置部２０６によって代表Ｉ／Ｏマクロが配置されたフレームについて説明する。図８は、配置部２０６によって代表Ｉ／Ｏマクロが配置されたフレームを示す説明図である。図８において、端子番号１〜６、１４、１５、１７、２０〜２２、２４のフレーム端子Ｐ１〜Ｐ６、Ｐ１４、Ｐ１５、Ｐ１７、Ｐ２０〜Ｐ２２、Ｐ２４に接続可能なＩ／Ｏマクロ配置領域３０４には、代表Ｉ／Ｏマクロ６０４，６１４が配置されている。
【００３９】
具体的には、端子番号１、３、４、１４、１５、２０、２４のフレーム端子Ｐ１、Ｐ３、Ｐ４、Ｐ１４、Ｐ１５、Ｐ２０、Ｐ２４に接続可能なＩ／Ｏマクロ配置領域３０４には、代表入力Ｉ／Ｏセル６０２および代表入力バウンダリスキャンレジスタ６０３を有する代表入力Ｉ／Ｏマクロ６０４が配置されている。また、端子番号２、５、６、１７、２１、２２のフレーム端子Ｐ２、Ｐ５、Ｐ６、Ｐ１７、Ｐ２１、Ｐ２２に接続可能なＩ／Ｏマクロ配置領域３０４には、代表出力Ｉ／Ｏセル６１２および代表出力バウンダリスキャンレジスタ６１３を有する代表出力Ｉ／Ｏマクロ６１４が配置されている。
【００４０】
図９は、図８に示した端子番号１〜６のフレーム端子Ｐ１〜Ｐ６に接続可能なＩ／Ｏマクロ配置領域３０４の拡大図である。図７において、端子番号１、３、４のフレーム端子Ｐ１、Ｐ３、Ｐ４は、代表入力Ｉ／Ｏセル６０２に接続される外部入力端子７０１である。また、端子番号２、５、６のフレーム端子Ｐ２、Ｐ５、Ｐ６は、代表出力Ｉ／Ｏセル６１２に接続される外部出力端子７０２である。
【００４１】
図１０は、図８に示したフレーム３００の端子番号７〜１２のフレーム端子Ｐ７〜Ｐ１２に接続可能なＩ／Ｏマクロ配置領域３０４の拡大図である。図１０において、端子番号７〜１２において、Ｉ／Ｏセル配置領域３０２は未使用領域とされており、バウンダリスキャンレジスタ配置領域３０３にはフレーム３００に予め記憶されているバウンダリスキャンレジスタ３０５が配置されている。
【００４２】
また、図２において、判定部２０８は、端子番号ｉによって示されるフレーム端子Ｐｉが、テスト端子および／または配置部２０６によって配置されたＩ／Ｏマクロに接続される信号端子に合致するかどうかを判定する。この判定は、フレーム情報ファイル４００およびネットリスト情報ファイル５００に基づいておこなう。
【００４３】
たとえば、図４に示したフレーム情報ファイル４００を参照すると、端子番号「１」のフレーム端子Ｐ１は、テスト端子Ｔ１であることがわかる。同様に、図５に示したネットリスト情報ファイル５００を参照すると、端子番号「１」のフレーム端子Ｐ１は、信号入力端子ＳＩ１であることがわかる。したがって、端子番号「１」のフレーム端子Ｐ１は、テスト端子Ｔ１および信号入力端子ＳＩ１の共用端子であると判定される。
【００４４】
また、図４に示したフレーム情報ファイル４００を参照すると、端子番号「９」のフレーム端子Ｐ９は、テスト端子Ｔ１１であることがわかる。一方、図５に示したネットリスト情報ファイル５００を参照すると、端子番号「９」のフレーム端子Ｐ９は、信号端子ではないことがわかる。したがって、端子番号「９」のフレーム端子Ｐ９は、テスト専用端子であると判定される。
【００４５】
Ｉ／Ｏマクロ抽出部２０９は、判定部２０８によって判定されたフレーム端子Ｐｉに合致する端子に基づいて、Ｉ／Ｏマクロデータベース２０３から、テスト信号を伝搬しかつバウンダリスキャンレジスタを有するテスト専用Ｉ／Ｏマクロ、または、テスト信号および他の信号を伝搬する共用端子に接続される共用Ｉ／Ｏマクロを抽出する。
【００４６】
たとえば、上述した端子番号「１」のフレーム端子Ｐ１を例に説明すると、このフレーム端子Ｐ１は、テスト端子Ｔ１および信号入力端子ＳＩ１の共用端子であるため、共用Ｉ／Ｏマクロデータベース２３１の「テスト端子名」および「信号端子名」を手掛かりとして、共用Ｉ／Ｏマクロデータベース２３１から共用Ｉ／ＯマクロＣ１を抽出する。
【００４７】
同様に、上述した端子番号「９」のフレーム端子Ｐ９を例に説明すると、このフレーム端子Ｐ９は、テスト端子Ｔ１１単独で機能するテスト専用端子であるため、テスト専用Ｉ／Ｏマクロデータベース２３２の「テスト端子名」を手掛かりとして、テスト専用Ｉ／Ｏマクロデータベース２３２からテスト専用Ｉ／Ｏマクロ（テスト専用Ｉ／ＯセルＡ１１およびテスト専用バウンダリスキャンレジスタＢ１１）を抽出する。
【００４８】
置換部２１０は、配置部２０６によって配置された代表Ｉ／Ｏマクロを、Ｉ／Ｏマクロ抽出部２０９によって抽出されたＩ／Ｏマクロに置換する。この置換部２１０による置換処理について具体的に説明する。図１１は、図９に示した代表Ｉ／Ｏマクロから共用Ｉ／Ｏマクロに置換されたＩ／Ｏマクロ配置領域の拡大図である。図９に示した端子番号「１」のフレーム端子Ｐ１にかかる代表入力Ｉ／Ｏマクロ６０４を例に説明すると、この代表入力Ｉ／Ｏマクロ６０４は、図１１では、上述の共用Ｉ／Ｏマクロデータベース２３１から抽出された共用Ｉ／ＯマクロＣ１に置換される。
【００４９】
また、図１２は、図１０に示したフレーム３００の代表Ｉ／Ｏマクロからテスト専用Ｉ／Ｏマクロに置換されたＩ／Ｏマクロ配置領域の拡大図である。図１０に示した端子番号「９」のフレーム端子Ｐ９にかかるＩ／Ｏマクロ配置領域３０４を例に説明すると、置換前においては、図１０に示したように、フレーム端子Ｐ９にかかるＩ／Ｏセル配置領域３０２にはＩ／Ｏセルが配置されていない。一方、フレーム端子Ｐ９にかかるバウンダリスキャンレジスタ配置領域３０３には、あらかじめフレーム３００に埋め込まれたバウンダリスキャンレジスタ３０５が配置されている。
【００５０】
フレーム端子Ｐ９はテスト端子Ｔ１１のみからなるテスト専用端子であるため、このフレーム端子Ｐ９にかかるＩ／Ｏセル配置領域３０２には、置換処理により、図１２において、上述のテスト専用Ｉ／Ｏマクロデータベース２３２から抽出されたテスト専用Ｉ／ＯセルＡ１１が配置される。また、フレーム端子Ｐ９にかかるバウンダリスキャンレジスタ配置領域３０３は、フレーム３００に埋め込まれたバウンダリスキャンレジスタ３０５から、上述のテスト専用Ｉ／Ｏマクロデータベース２３２から抽出されたテスト専用バウンダリスキャンレジスタＢ１１に置換される。
【００５１】
配置／配線部２１１は、自動配置／配線ツールを用いて、置換部２１０による置換処理がおこなわれたフレームに、その他必要な回路を自動配置し、さらに自動配線をおこなう。なお、上述した各機能部２０４〜２１１は、具体的には、図１に示したＲＯＭ１０２、ＲＡＭ１０３、ＨＤ１０５、ＦＤ１０７などに記録されたプログラムをＣＰＵ１０１が実行することによって、またはＩ／Ｆ１０９によって、その機能を実現する。
【００５２】
（レイアウト設計処理手順）
つぎに、この発明の実施の形態にかかるレイアウト設計処理手順について説明する。図１３は、この発明の実施の形態にかかるレイアウト設計処理手順を示すフローチャートである。図１３において、まず、図３に示したフレーム３００、フレーム情報ファイル４００、ネットリスト、およびネットリスト情報ファイル５００を抽出する（ステップＳ１３０１）。そして、フレーム３００に代表Ｉ／Ｏマクロを配置する（ステップＳ１３０２）。このときのフレームが図８に示したフレーム３００である。
【００５３】
ここで、端子番号ｉをｉ＝１とし（ステップＳ１３０３）、フレーム情報ファイル４００およびネットリスト情報ファイル５００に基づいて、フレーム端子Ｐｉが、テスト端子の機能および信号端子の機能を有する共用端子であるかどうかを判定する（ステップＳ１３０４）。
【００５４】
共用端子であると判定された場合（ステップＳ１３０４：Ｙｅｓ）、共用Ｉ／Ｏマクロデータベース２３１から、共用端子とされたテスト端子名および信号端子名が一致する共用Ｉ／Ｏマクロを抽出する（ステップＳ１３０５）。そして、端子番号ｉのフレーム端子Ｐｉに接続されている代表Ｉ／Ｏマクロを、抽出された共用Ｉ／Ｏマクロに置換する（ステップＳ１３０６）。
【００５５】
一方、共用端子でないと判定された場合（ステップＳ１３０４：Ｎｏ）、フレーム端子Ｐｉは、テスト端子のみからなるテスト専用端子であるかどうかを判定する（ステップＳ１３０７）。テスト専用端子であると判定された場合（ステップＳ１３０７：Ｙｅｓ）、テスト専用Ｉ／Ｏマクロデータベース２３２からテスト端子名が一致するテスト専用Ｉ／Ｏマクロを抽出する（ステップＳ１３０８）。
【００５６】
そして、端子番号ｉのフレーム端子ＰｉにかかるＩ／Ｏマクロ配置領域３０４に、抽出されたテスト専用Ｉ／Ｏマクロを配置する（ステップＳ１３０９）。これにより、未使用のＩ／Ｏセル配置領域３０２にテスト専用Ｉ／Ｏセルを配置することができるとともに、フレーム３００に埋め込まれているバウンダリスキャンレジスタ３０５を、テスト専用バウンダリスキャンレジスタに置換することができる。
【００５７】
一方、テスト専用端子でないと判定された場合（ステップＳ１３０７：Ｎｏ）、またはステップＳ１３０６およびステップＳ１３０９のあと、端子番号ｉが端子本数ｎ（図６の例ではｎ＝２４）に達したかどうかを判定する（ステップＳ１３１０）。達していない場合（ステップＳ１３１０：Ｎｏ）、端子番号ｉを１つインクリメントして（ステップＳ１３１１）、ステップＳ１３０４に移行する。一方、端子番号ｉがｉ＝ｎになった場合（ステップＳ１３１０：Ｙｅｓ）、自動配置および自動配線をおこなう（ステップＳ１３１２）。
【００５８】
この実施の形態によれば、テスト回路合成ツールを使用せずに、レイアウト時に最適なバウンダリスキャンレジスタを挿入することができる。また、設計者が、バウンダリスキャンレジスタの種類を意識することなく最適なバウンダリスキャンレジスタを挿入することができる。
【００５９】
以上説明したように、レイアウト設計装置、レイアウト設計方法、およびレイアウト設計プログラムによれば、レイアウト設計処理においてバウンダリスキャンレジスタの挿入ができるため、論理設計の段階でバウンダリスキャンレジスタを挿入するために設計者がテスト回路を合成する工程が必要なくなり、設計時間の短縮化を図ることができるという効果を奏する。
【００６０】
また、バウンダリスキャンレジスタを始めとするテスト回路の合成を設計者が意識しなくてもよいため、論理設計に費やす時間と処理手順を把握する時間の短縮化を図ることができる。さらに、レイアウト設計処理の段階では、従来のように配置するセル間の結線関係を元に、結線が短くなるような配置位置を検索する必要がなく、信号が伝搬するフレーム端子のチップ上の番号とセルの種類によって配置領域を決定することができる。したがって、最適な配置位置を検索する処理が必要なくなり、配置処理の効率化を図ることができるという効果を奏する。
【００６１】
なお、本実施の形態で説明したレイアウト設計方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
【００６２】
（付記１）Ｉ／Ｏマクロ配置領域にテスト信号を伝搬するバウンダリスキャンレジスタを有するフレームの入力を受け付ける入力手段と、
前記入力手段によって入力されたフレームの任意のＩ／Ｏマクロ配置領域に、前記テスト信号以外の他の信号を伝搬する信号端子に接続されるＩ／Ｏマクロを配置する配置手段と、
前記フレームにおける任意の端子位置のフレーム端子が、前記入力手段によって入力されたフレーム内の前記テスト信号を伝搬するテスト端子、および／または、前記配置手段によって配置されたＩ／Ｏマクロに接続される信号端子に合致するかどうかを判定する判定手段と、
前記判定手段によって判定された判定結果に基づいて、前記配置手段によって配置されたＩ／Ｏマクロを、前記テスト信号および前記他の信号を伝搬する共用端子に接続される共用Ｉ／Ｏマクロ、または、前記テスト信号を伝搬しかつ前記バウンダリスキャンレジスタを有するテスト専用Ｉ／Ｏマクロに置換する置換手段と、
を備えることを特徴とするレイアウト設計装置。
【００６３】
（付記２）前記置換手段は、
前記判定手段によって、前記フレームにおける任意の端子位置のフレーム端子が、前記入力手段によって入力されたフレームに含まれているテスト端子および前記配置手段によって配置されたＩ／Ｏマクロに接続される信号端子に合致すると判定された場合、前記配置手段によって前記信号端子に接続するように配置されたＩ／Ｏマクロを、前記共用Ｉ／Ｏマクロに置換することを特徴とする付記１に記載のレイアウト設計装置。
【００６４】
（付記３）前記置換手段は、
前記判定手段によって、前記フレームにおける任意の端子位置のフレーム端子が、前記入力手段によって入力されたフレームに含まれているテスト端子にのみ合致すると判定された場合、前記配置手段によって前記信号端子に接続するように配置されたＩ／Ｏマクロを、前記テスト専用Ｉ／Ｏマクロに置換することを特徴とする付記１または２に記載のレイアウト設計装置。
【００６５】
（付記４）前記置換手段は、
前記判定手段によって、前記フレームにおける任意の端子位置のフレーム端子が、前記入力手段によって入力されたフレームに含まれているテスト端子および前記配置手段によって配置されたＩ／Ｏマクロに接続される信号端子のいずれにも合致しないと判定された場合、前記配置手段によって前記信号端子に接続するように配置されたＩ／Ｏマクロの置換をおこなわないことを特徴とする付記１〜３のいずれか一つに記載のレイアウト設計装置。
【００６６】
（付記５）Ｉ／Ｏマクロ配置領域にテスト信号を伝搬するバウンダリスキャンレジスタを有するフレームを入力する入力工程と、
前記入力工程によって入力されたフレームの任意のＩ／Ｏマクロ配置領域に、前記テスト信号以外の他の信号を伝搬する信号端子に接続されるＩ／Ｏマクロを配置する配置工程と、
前記フレームにおける任意の端子位置のフレーム端子が、前記入力工程によって入力されたフレーム内の前記テスト信号を伝搬するテスト端子、および／または、前記配置工程によって配置されたＩ／Ｏマクロに接続される信号端子に合致するかどうかを判定する判定工程と、
前記判定工程によって判定された判定結果に基づいて、前記配置工程によって配置されたＩ／Ｏマクロを、前記テスト信号および前記他の信号を伝搬する共用端子に接続される共用Ｉ／Ｏマクロ、または、前記テスト信号を伝搬しかつ前記バウンダリスキャンレジスタを有するテスト専用Ｉ／Ｏマクロに置換する置換工程と、
を含んだことを特徴とするレイアウト設計方法。
【００６７】
（付記６）前記置換工程は、
前記判定工程によって、前記フレームにおける任意の端子位置のフレーム端子が、前記入力工程によって入力されたフレームに含まれているテスト端子および前記配置工程によって配置されたＩ／Ｏマクロに接続される信号端子に合致すると判定された場合、前記配置工程によって前記信号端子に接続するように配置されたＩ／Ｏマクロを、前記記憶工程に記憶された共用Ｉ／Ｏマクロに置換することを特徴とする付記４に記載のレイアウト設計方法。
【００６８】
（付記７）前記置換工程は、
前記判定工程によって、前記フレームにおける任意の端子位置のフレーム端子が、前記入力工程によって入力されたフレームに含まれているテスト端子にのみ合致すると判定された場合、前記配置工程によって前記信号端子に接続するように配置されたＩ／Ｏマクロを、前記記憶工程に記憶されたテスト専用Ｉ／Ｏマクロに置換することを特徴とする付記４または５に記載のレイアウト設計方法。
【００６９】
（付記８）前記置換工程は、
前記判定工程によって、前記フレームにおける任意の端子位置のフレーム端子が、前記入力手段によって入力されたフレームに含まれているテスト端子および前記配置工程によって配置されたＩ／Ｏマクロに接続される信号端子のいずれにも合致しないと判定された場合、前記配置手段によって前記信号端子に接続するように配置されたＩ／Ｏマクロの置換をおこなわないことを特徴とする付記５〜７のいずれか一つに記載のレイアウト設計方法。
【００７０】
（付記９）Ｉ／Ｏマクロ配置領域にテスト信号を伝搬するバウンダリスキャンレジスタを有するフレームを入力させる入力工程と、
前記入力工程によって入力されたフレームの任意のＩ／Ｏマクロ配置領域に、前記テスト信号以外の他の信号を伝搬する信号端子に接続されるＩ／Ｏマクロを配置させる配置工程と、
前記フレームにおける任意の端子位置のフレーム端子が、前記入力工程によって入力されたフレーム内の前記テスト信号を伝搬するテスト端子、および／または、前記配置工程によって配置されたＩ／Ｏマクロに接続される信号端子に合致するかどうかを判定させる判定工程と、
前記判定工程によって判定された判定結果に基づいて、前記配置工程によって配置されたＩ／Ｏマクロを、前記テスト信号および前記他の信号を伝搬する共用端子に接続される共用Ｉ／Ｏマクロ、または、前記テスト信号を伝搬しかつ前記バウンダリスキャンレジスタを有するテスト専用Ｉ／Ｏマクロに置換させる置換工程と、
をコンピュータに実行させることを特徴とするレイアウト設計プログラム。
【００７１】
（付記１０）前記置換工程は、
前記判定工程によって、前記フレームにおける任意の端子位置のフレーム端子が、前記入力工程によって入力されたフレームに含まれているテスト端子および前記配置工程によって配置されたＩ／Ｏマクロに接続される信号端子に合致すると判定された場合、前記配置工程によって前記信号端子に接続するように配置されたＩ／Ｏマクロを、前記記憶工程に記憶された共用Ｉ／Ｏマクロに置換することを特徴とする付記７に記載のレイアウト設計プログラム。
【００７２】
（付記１１）前記置換工程は、
前記判定工程によって、前記フレームにおける任意の端子位置のフレーム端子が、前記入力工程によって入力されたフレームに含まれているテスト端子にのみ合致すると判定された場合、前記配置工程によって前記信号端子に接続するように配置されたＩ／Ｏマクロを、前記記憶工程に記憶されたテスト専用Ｉ／Ｏマクロに置換することを特徴とする付記７または８に記載のレイアウト設計プログラム。
【００７３】
（付記１２）前記置換工程は、
前記判定工程によって、前記フレームにおける任意の端子位置のフレーム端子が、前記入力手段によって入力されたフレームに含まれているテスト端子および前記配置工程によって配置されたＩ／Ｏマクロに接続される信号端子のいずれにも合致しないと判定された場合、前記配置手段によって前記信号端子に接続するように配置されたＩ／Ｏマクロの置換をおこなわせないことを特徴とする付記９〜１１のいずれか一つに記載のレイアウト設計方法。
【００７４】
（付記１３）付記９〜１１のいずれか一つに記載のレイアウト設計プログラムを記録したコンピュータ読み取り可能な記録媒体。
【産業上の利用可能性】
【００７５】
以上のように、本発明にかかるレイアウト設計装置、レイアウト設計方法、およびレイアウト設計プログラムは、ＬＳＩチップについてのレイアウト設計に有用であり、特に、テスト回路合成ツールを使用せずに、レイアウト時に最適なバウンダリスキャンレジスタを挿入することができるレイアウト設計装置、レイアウト設計方法、およびレイアウト設計プログラムに適している。
【図面の簡単な説明】
【００７６】
【図１】この発明の実施の形態にかかるレイアウト設計装置のハードウェア構成を示すブロック図である。
【図２】この発明の実施の形態にかかるレイアウト設計装置の機能的構成を示すブロック図である。
【図３】フレームライブラリに記憶されているフレームの一例を示す説明図である。
【図４】フレーム情報ファイルを示す説明図である。
【図５】ネットリスト情報ファイルを示す説明図である。
【図６】共用Ｉ／Ｏマクロデータベースの記憶内容を示す説明図である。
【図７】テスト専用Ｉ／Ｏマクロデータベースの記憶内容を示す説明図である。
【図８】配置部によって代表Ｉ／Ｏマクロが配置されたフレームを示す説明図である。
【図９】図８に示した端子番号１〜６のフレーム端子に接続可能なＩ／Ｏマクロ配置領域の拡大図である。
【図１０】図８に示した端子番号７〜１２のフレーム端子に接続可能なＩ／Ｏマクロ配置領域の拡大図である。
【図１１】図９に示した代表Ｉ／Ｏマクロから共用Ｉ／Ｏマクロに置換されたＩ／Ｏマクロ配置領域の拡大図である。
【図１２】図１０に示したフレームの代表Ｉ／Ｏマクロからテスト専用Ｉ／Ｏマクロに置換されたＩ／Ｏマクロ配置領域の拡大図である。
【図１３】この発明の実施の形態にかかるレイアウト設計処理手順を示すフローチャートである。
【符号の説明】
【００７７】
２００  レイアウト設計装置
２０４  フレーム抽出部
２０６  配置部
２０８  判定部
２０９  Ｉ／Ｏマクロ抽出部
２１０  置換部
【図１】
2005309623.tif 000003
【図２】
2005309623.tif 000004
【図３】
2005309623.tif 000005
【図４】
2005309623.tif 000006
【図５】
2005309623.tif 000007
【図６】
2005309623.tif 000008
【図７】
2005309623.tif 000009
【図８】
2005309623.tif 000010
【図９】
2005309623.tif 000011
【図１０】
2005309623.tif 000012
【図１１】
2005309623.tif 000013
【図１２】
2005309623.tif 000014
【図１３】
2005309623.tif 000015