(57)【要約】  コア機能、このコア機能を包囲するＩＯリング、および集積回路の予め規定したモード中にコア機能またはＩＯリングにアクセスする境界走査アーキテクチャを有するＩＣ設計を行う方法、およびこの方法を実施する設計ツールを開示する。この方法は、コア機能およびＩＯリングの第１ネットリスト用意するステップ（１１０）と、これに続いて第１ネットリストに含まれる境界走査の設計を特定するステップ（１２０，１３０）を行う。つぎに、第１ネットリストおよび境界走査設計仕様から第２ネットリストを合成し（ステップ１５０）、この第２ネットリストから、境界走査設計のインスタンスを分離する（ステップ４２０）。別個のステップ（４１０）において、ＩＯリングのないコア機能の第３ネットリストが用意し、この第３ネットリストを分離した境界走査要素と組み合わせて、次のステップ（４６０）で第４ネットリストにする。最終のステップ(４７０)において、ＩＯリングの記述を、第４ネットリストに加える。境界走査要素のコアネットリストへの統合は、境界走査設計を再生成する必要なく、ＩＣ設計におけるＩＯリングの置換を容易にする。
2009517759.tif 000002
【特許請求の範囲】
【請求項１】
コア機能、このコア機能を包囲するＩＯ（入力／出力）リング、および集積回路の予め規定したモード中に前記コア機能または前記ＩＯリングにアクセスするアーキテクチャである境界走査設計を有する集積回路の設計を行う方法において、
前記コア機能および前記ＩＯリングの第１ネットリストを用意するステップと、
前記第１ネットリストに包含させる境界走査設計の仕様を定義するステップと、
前記第１ネットリストおよび前記境界走査設計の仕様定義から第２ネットリストを合成するステップと、
前記第２ネットリストから前記境界走査設計の要素を分離するステップと、
ＩＯリングなしのコア機能の第３ネットリストを用意するステップと、
この第３ネットリストおよび前記分離した境界走査設計の要素を第４ネットリストとして組み合わせるステップと、
この第４ネットリストに前記ＩＯリングの記述を加えて第５ネットリストを生成するステップと
を有することを特徴とする集積回路の設計方法。
【請求項２】
請求項１に記載の方法において、さらに、前記第４ネットリストの再利用を可能にするよう前記第４ネットリストを第１ファイルに書き込むステップを有するものとした方法。
【請求項３】
請求項１または２に記載の方法において、前記第１ネットリストおよび第３ネットリストをレジスタ転送レベルネットリストとし、前記第２ネットリストおよび第４ネットリストをゲートレベル・ネットリストとした方法。
【請求項４】
請求項１に記載の方法において、さらに、
前記第２ネットリストが境界走査に関する標準規格に準拠しているかの順守チェックをするステップと、
前記第２ネットリストからテストパターンを生成するステップと、および
前記テストパターンを用いて前記第５ネットリストを検査することによって、前記第５ネットリストの検査結果を生成するステップと
を有するものとした方法
【請求項５】
請求項４に記載の方法において、さらに、
前記テストパターンを用いて前記第２ネットリストを検査することによって、前記第２ネットリストの検査結果を生成するステップと、および
前記第５ネットリストの検査結果を、前記第２ネットリストの検査結果に比較するステップと
を有するものとした方法。
【請求項６】
コア機能、このコア機能を包囲するＩＯ（入力／出力）リング、および集積回路の予め規定したモード中に前記コア機能または前記ＩＯリングにアクセスするアーキテクチャである境界走査設計を有する集積回路の設計を行う設計ツールにおいて、
前記コア機能および前記ＩＯリングの第１ネットリストを用意する手段と、
第１ネットリストに包含させる境界走査設計の仕様を定義する手段と、
前記第１ネットリストおよび前記境界走査設計の仕様定義から第２ネットリストを合成する手段と、
前記第２ネットリストから前記境界走査設計の要素を分離する手段と、
前記ＩＯリングを持たないコア機能の第３ネットリストを用意する手段と、
前記第３ネットリストおよび前記分離した前記境界走査設計の要素を第４ネットリストとして組み合わせる手段と、
前記第４ネットリストに前記ＩＯリングの記述を加えて第５ネットリストを生成する手段と
を備えたことを特徴とする集積回路の設計ツール。
【請求項７】
請求項６に記載の設計ツールにおいて、さらに、前記第４ネットリストの再利用を可能にするよう前記第４ネットリストを第１ファイルに書き込む手段を備えた設計ツール。
【請求項８】
請求項７に記載の設計ツールにより生成した前記第１ファイルを有するコンピュータ可読媒体。
【請求項９】
請求項７に記載の設計ツールにより生成した前記第１ファイルを含むファイルライブラリーを有するコンピュータ可読媒体。
【請求項１０】
請求項６または７に記載の設計ツールを有するコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コア機能、このコア機能を包囲するＩＯ（入力／出力）リング、および集積回路の予め規定したモード中にコア機能またはＩＯリングにアクセスするアーキテクチャである境界走査設計を有する集積回路の設計を行う方法に関する。
【０００２】
本発明は、さらに、コア機能、このコア機能を包囲するＩＯ（入力／出力）リング、および集積回路の予め規定したモード中にコア機能またはＩＯリングにアクセスするアーキテクチャである境界走査設計を有する集積回路を設計する設計ツールに関する。
【背景技術】
【０００３】
今日では、多くのデジタル集積回路（ＩＣｓ）は、ＩＥＥＥ１１４９.１ またはＪＴＡＧの標準規格で定義された何らかの形式とした境界走査機能を有し、ＩＣの予め規定されたモード中にＩＣの一部にアクセスする。境界走査の機能はＩＣの検査モードに使用し、ＩＣのＩＯ接続の検査、またはＩＣのコアモジュールのようなＩＣ内部を検査するようＩＣ内部に出入りするテストビットパターンすなわちテストベクトルのシフトを行う。この結果、境界走査の機能は通常、ＩＣ内部とＩＯリングとの間に物理的に配置する。このような使用例は、特許文献１（米国特許第６７７４６７２号）に記載されており、この米国特許はフィールド・プログラマブル・ゲートアレイ（ＦＰＧＡ）について開示しており、ＦＰＧＡタイルを包囲する境界走査チェーンを設け、これらタイルに対して高水準の検査アクセス行う。
【０００４】
代案として、境界走査の機能はＩＣのプログラミングモードに使用し、検査アクセスポート（ＴＡＰ）の制御下で境界走査検査アクセスポートを介してプログラミングデータをＩＣ内部にシフトすることができる。
【０００５】
シノプシス（Synopsys）社の「BSD Compiler（商標名）」およびメンター・くラフィックス）Mentor Graphics）社の「BSD Architecture（商標名）」などの既存のＩＣ設計ツールは、いつも通りに、ＩＣ設計に境界走査の機能を加えることができる。このようなツールで実施される境界走査挿入方法の典型的な例を図１に示す。ステップ１１０において、ネットリスト、例えばレジスタ転送レベル（ＲＴＬ）ネットリストを設計ツールによって読み込む。このようなネットリストは、通常、設計ツールのユーザーが用意する。つぎのステップ１２０では、ユーザーが境界走査の仕様定義を規定し、この後設計ツールがステップ１３０において境界走査設計を含むＩＣ設計を生成する。ステップ１４０において、ＩＣ設計の設計制約、例えばタイミング制約、面積制約等々、をユーザーが設定し、この後、ステップ１５０においてツールがＩＣ設計のゲートレベル・ネットリストを合成する。このゲートレベル・ネットリストをステップ１６０においてファイルに書き込むことができる。
【０００６】
この後、ゲートレベルのＩＣ設計、とくにＩＣ設計の境界走査設計部分がＩＥＥＥ１１４９.１ の標準規格の仕様に準拠しているかのチェックをステップ１７０で行う。もし設計が準拠していなかった場合、ユーザーはステップ１２０または１４０に戻り、設計における誤りを訂正する。もしゲートレベルの設計がＩＥＥＥ１１４９.１ に準拠していることが判明した場合、もしテストベクトルが存在していないときには、テストベクトルを生成し、ステップ１８０においてこれらテストベクトルを設計に挿入し、この後、ステップ１９０においてテストベクトルを使って設計の挙動をシミュレートする。
【０００７】
図２はＩＣ設計におけるこのような方法の効果の模式図である。ステップ１１０で設計ツールに供給されるネットリストはＲＴＬネットリスト２００であり、それはコア２０２、ならびにＩＯ要素２０４、例えばＩＯパッドおよび電圧レベルシフタを有するＩＯリングに振動する記述を有する。ステップ１１０，１２０，１３０の実行は、コア２０２に変更がないネットリスト２１０を生じ、境界走査要素、例えば境界走査チェーン２０６および境界走査ＴＡＰ２０８が、変更されたＩＯリング２１４に挿入される。したがって、結果として生じるネットリスト２１０は、ＩＣコアの外部でＩＣ設計に統合される複数個の境界走査要素を含む。
【特許文献１】米国特許第６，７７４，６７２号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００８】
既存ツールの欠点は、ネットリスト２１０のパーツの手軽な再利用を容易にできないことである。このような再利用は、例えば異なったＩＣバージョンを製造しなければならない場合、例えば異なる取引先が、異なったＩＯリングを使用しなければならない、異なった電圧のインタフェース要件を持っていた場合に都合がよい。既存のツールでは、図１のフローを全体的に再実行し、異なったＩＣバージョンを生成しなければならず、このことは時間のかかる作業である。
【課題を解決するための手段】
【０００９】
本発明は、ＩＣの再設計を容易にできる冒頭に述べた方法を提供しようとするものである。
【００１０】
さらに、本発明は、ＩＣの再設計を容易にできるＩＣ設計ツールを提供しようとするものである。
【００１１】
本発明の第１の態様によれば、コア機能、このコア機能を包囲するＩＯ（入力／出力）リング、および集積回路の予め規定したモード中に前記コア機能または前記ＩＯリングにアクセスするアーキテクチャである境界走査設計を有する集積回路の設計を提供し、この方法は、
前記コア機能および前記ＩＯリングの第１ネットリストを用意するステップと、
前記第１ネットリストに包含させる境界走査設計の仕様を定義するステップと、
前記第１ネットリストおよび前記境界走査設計の仕様定義から第２ネットリストを合成するステップと、
前記第２ネットリストから前記境界走査設計の要素を分離するステップと、
ＩＯリングなしのコア機能の第３ネットリストを用意するステップと、
この第３ネットリストおよび前記分離した境界走査設計の要素を第４ネットリストとして組み合わせるステップと、
この第４ネットリストに前記ＩＯリングの記述を加えて第５ネットリストを生成するステップと
を有することを特徴とする。
【発明の効果】
【００１２】
本発明方法によれば、境界走査設計の要素が含まれる、またはコア機能に少なくとも追加されているネットリストが得られるという利点がある。したがって、このネットリストは、変更したＩＯ挙動を有するＩＣバージョンを設計しなければならない場合に再利用できる。コア設計の再利用を容易にするために、本発明方法は、さらに、第４ネットリストを第１ファイルに書き込むステップを有するものとする。この第１ファイルは、ＩＣの再設計のための入力ファイルとして使うことができる。
【００１３】
代表的には、第１ネットリストおよび第３ネットリストをレジスタ転送レベルネットリストとし、前記第２ネットリストおよび第４ネットリストをゲートレベル・ネットリストとする。しかし、本発明方法は、ＩＣ設計における種々の段階の代替的記述、例えば異なった抽象レベルの記述を使用することもできる。
【００１４】
好適には、本発明方法は、前記第２ネットリストが境界走査に関する標準規格に準拠しているかの順守チェックをするステップと、前記第２ネットリストからテストパターンを生成するステップと、および前記テストパターンを用いて前記第５ネットリストを検査することによって、前記第５ネットリストの検査結果を生成するステップとを有するものとする。このようにして、第４ネットリストを生成する、または第４ネットリストにＩＯリングを追加するステップにおいて、導入されるかもしれない相互連結の誤りのような、どんな誤りをも、第５ネットリストは含まないことがわかる。
【００１５】
好適には、本発明方法は、さらに、前記テストパターンを用いて前記第２ネットリストを検査することによって、前記第２ネットリストの検査結果を生成するステップと、および前記第５ネットリストの検査結果を、前記第２ネットリストの検査結果に比較するステップとを有するものとする。第５ネットリストのシミュレートした挙動を第２ネットリストのシミュレートした挙動に比較することは、第５ネットリストの検証を容易にする。
【００１６】
本発明の他の態様によれば、コア機能、このコア機能を包囲するＩＯ（入力／出力）リング、および集積回路の予め規定したモード中に前記コア機能または前記ＩＯリングにアクセスするアーキテクチャである境界走査設計を有する集積回路の設計を行う設計ツールを提供し、この設計ツールは、
前記コア機能および前記ＩＯリングの第１ネットリストを用意する手段と、
第１ネットリストに包含させる境界走査設計の仕様を定義する手段と、
前記第１ネットリストおよび前記境界走査設計の仕様定義から第２ネットリストを合成する手段と、
前記第２ネットリストから前記境界走査設計の要素を分離する手段と、
前記ＩＯリングを持たないコア機能の第３ネットリストを用意する手段と、
前記第３ネットリストおよび前記分離した前記境界走査設計の要素を第４ネットリストとして組み合わせる手段と、
前記第４ネットリストに前記ＩＯリングの記述を加えて第５ネットリストを生成する手段と
を備えたことを特徴とする。
【００１７】
本発明の設計ツールは、本発明の方法を、例えば当業者には明らかであるような適切なアルゴリズムによって実施することができ、また、したがって、本発明方法と同一の有利な利点が得られる。
【００１８】
好適には、本発明設計ツールは、さらに、前記第４ネットリストの再利用を可能にするよう前記第４ネットリストを第１ファイルに書き込む手段を備えるものとする。このことは、ＩＣの再設計において第４ネットリストの再利用を容易にする。第１ファイルは、コンピュータ可読媒体、例えばメモリデバイス、ハードディスクドライブ、ＣＤ−ＲＯＭ、 ＤＶＤ−ＲＯＭ等々に、個別に、またはＩＣブロックを構築するインスタンスを保持するＩＣ設計ライブラリの一部として格納し、第１ファイルの配布を容易にする。設計ツール自体も、ツール配布を容易にするためにコンピュータ可読媒体に格納することができる。
以下に、添付図面につき本発明の実施形態を詳細に示すが、本発明はこれら実施形態に限定するものではない。
図面は単に線図的なものでスケール相応でないことは理解されたい。同様に同一参照符号はすべての図面にわたり、同一または類似の部分を示すものと理解されたい。
【発明を実施するための最良の形態】
【００１９】
図３は、本発明の方法によって実施された設計概念を線図的示す。第１ステップにおいて、コア２０２およびＩＯリング２０４を有するネットリストを操作して境界走査設計をネットリスト２００に加える。このことは、上述した図１に示した方法のステップ１２０，１３０，１４０，１５０で行うことができる。この結果がネットリスト２１０であり、無変更のコア２０２、境界走査チェーン（ＢＳＣ）２０６、検査アクセスポート（ＴＡＰ）２０８、および変更したＩＯリング２１４を含む。このＩＯリングは、このとき境界走査の要素２０６，２０８を含むので、変更されたと考えられる。したがって、従来方法によるＩＯリング２１４の置き換えは、境界走査要素２０６，２０８の置換、すなわち再設計を含み、このことは再設計作業が時間のかかる操作であるということを意味する。
【００２０】
要求される再設計作業は、本発明方法により、以下のようにして軽減される。境界走査要素のインスタンス、たとえばＢＳＣ２０６ＴＡＰ２０８はネットリスト２１０で識別され、また例えばそれらをコピー（複写）することによりこのネットリストから分離する。このことは既知の検索アルゴリズムによって実現できる。例えば境界走査設計の要素のインスタンスは、境界走査要素に固有なインスタンスの名前、または他のインスタンス特性を有することができ、ネットリスト２１０におけるこれらインスタンスを識別するラベルとして使用する。このようなインスタンスを識別する他の方法は、当業者にとって明らかであろう。
【００２１】
境界走査要素の分離されたインスタンス、例えばＢＳＣ２０６およびＴＡＰ２０８を、ＩＣコア２０２を記述するネットリストに分離して追加する。この結果はネットリスト３２０であり、このネットリスト３２０は、ＢＳＣ２０６およびＴＡＰ２０８がコア２３２の一部を形成するという意味で、変更されたコア２３２を有する。ネットリスト３２０は、ＩＯリング２０４を単にネットリスト３２０に追加する（この結果ネットリスト３３０を生ずる）ことによって、所望のＩＣ設計を生成するためのスタートポイントとして使うことができる。ネットリスト３２０を、所望のＩＣ設計の異なるバージョンを生成するためのスタートポイントとして使用することは、例えば、単にＩＯリング２０４の異なるバージョンをネットリスト３２０に追加するだけで、しかもＩＣ設計のこれら異なるバージョンそれぞれのための境界走査アーキテクチャを再生成する必要なしに行えることを評価されたい。
【００２２】
この点において、回路設計の境界走査要素のインスタンスがＩＥＥＥ１１４９.１ の標準規格に厳密に従わなくてよいことを強調する。例えば、走査チェーンは、ＴＡＰコントローラが存在しなくとも導入することができる、またはＴＡＰコントローラは、境界走査レジスタが存在しなくとも導入できる、等々である。非準拠境界走査設計の場合、ステップ１７０は本発明の方法から除外することができる。
【００２３】
図４は、本発明の好適な実施形態であり、それは図３に示した設計概念を実施するものである。本発明のこの好適な実施形態は、ステップ１５０で生成したＩＣ設計から境界走査設計のインスタンスをステップ４２０でグループ化または分離することによって、図１に示した方法を拡張する。グループ化または分離した境界走査設計のインスタンス、例えばＢＳＣ２０６およびＴＡＰ２０８を、ステップ４２５においてファイルに書き込むことができる。さらに、ＲＴＬネットリストを、ステップ４１０においてコア２０２のみに分離して用意し、コアのみに分離したＲＴＬネットリストと、境界走査設計のグループ化したインスタンスとを、ステップ４３０で相互連結する。ゲートレベル・ネットリストを有するＲＴＬネットリストのような、２個のネットリストの組み合わせ、または２個のゲートレベル・ネットリストの組み合わせは、既存のＩＣ設計ツールでは標準機能であり、その理由はこれ以上説明しない。
【００２４】
ステップ４４０では、このＩＣ設計のための設計制約をステップ１４０と同様に設定し、この後、設定された設計制約に適合するＩＣ設計のゲートレベル・ネットリストをステップ４５０で生成する。このゲートレベル・ネットリストは変更したコア２３２のゲートレベル記述を含むが、このゲートレベル・ネットリストは本発明方法のステップ４６０においてファイルとして書き込むことができる。このファイルは様々なＩＣ設計の生成に使用でき、例えば、異なったＩＯリングを有するＩＣ設計の生成に使用できる。最終的にステップ４７０で、ＩＯリングを変更したコア２３２の設計に追加する。
【００２５】
ステップ４７０で生成した設計の正当性は、ステップ１８０で生成したテストベクトルを使用して、ステップ１９０でＩＣ設計の動作をシミュレートすることにより有効となる。ステップ４７０の設計の検査シミュレーション結果は、別個に評価する、またはステップ１８０で生成したテストベクトルを使用して、ステップ１５０において合成された設計の動作シミュレーション結果と比較することができる。
【００２６】
このフローに対する変更、例えば、図４に示す実施形態とは異なった抽象化レベルのネットリスト操作を、創造的熟練なしに容易に行うことができる。
上述の本発明方法はＩＣ設計ツール、例えばコンピュータ支援設計（ＣＡＤ）ツールにおいて実施できる。本発明方法における種々のステップは、機能を使ったツール、例えばこのようなツールですでに利用可能であるアルゴリズムにおいて実施できるため、この実施は、当業者には容易であり、この理由の更なる説明は必要がない。このような設計ツールは、 ＤＶＤ、ＣＤ‐ＲＯＭ、メモリースティック等々、適切なコンピュータ可読媒体のソフトウェアパッケージの形式で提供することができる。
【００２７】
さらに、本発明方法の、ステップ４６０において生成したファイル、すなわち、境界走査設計のインスタンスを含む変更したコア２３２の、（ゲートレベル）ネットリストは、このような設計の迅速な配布を容易にするためにこのようなコンピュータ可読媒体で提供することができる。このファイルは、このような媒体における複数ファイルのうちの一つとすることができ、これら複数個のファイルは本発明の設計ツールを使用するための設計ライブラリを形成する。
【００２８】
上述の実施形態は本発明を限定するのではなく、単に例示するものであり、当業者には、添付書類である特許請求の範囲で規定する範囲から逸脱することなく、多くの代替的実施形態を設計できることに留意されたい。特許請求の範囲において、カッコ付き参照符号も特許請求の範囲を限定するものと解釈されるべきではない。用語「有する／備える(comprising)」は特許請求の範囲に記載された以外の要素またはステップの存在を排除しない。要素に先行する不定冠詞「ａ」または「ａｎ」は複数個のこのような要素の存在を排除しない。本発明は、いくつかの個別要素よりなるハードウェアによって実施することができる。いくつか手段を列挙する装置請求項において、これら手段のうちいくつかは、ハードウェアにおける１個の同一アイテムによって実現できる。ある手法が互いに異なる従属請求項に記載されているという単なる事実は、これら手法の組み合わせが、有利に使えないことを示すものではない。
【図面の簡単な説明】
【００２９】
【図１】境界走査機能をＩＣ設計に組み込む既知の方法の例を示す。
【図２】既知の方法で得られるＩＣ設計の概念的なレイアウトを線図的に示す。
【図３】本発明方法による実施形態のフローチャートである。
【図４】本発明の基本概念を線図的に示す。
【図１】
2009517759.tif 000003
【図２】
2009517759.tif 000004
【図３】
2009517759.tif 000005
【図４】
2009517759.tif 000006
【国際調査報告】
2009517759.tif 000007
2009517759.tif 000008
2009517759.tif 000009