(57)【特許請求の範囲】
【請求項１】
入力装置からスキャン合成前のネットリストが入力され、
中央処理装置によって、前記スキャン合成前のネットリストに基づいてスキャン合成が行われ、
スキャン・チェーン上のスキャン・フリップフロップに供給されるクロックが正相であるか又は逆相であるかを定義することで、クロック・ドメインと極性とを示す情報が取得されることを特徴とするスキャン・チェーン・リオーダ情報の取得方法。
【請求項２】
入力装置からスキャン合成前のネットリストが入力され、
中央処理装置によって、前記スキャン合成前のネットリストに基づいてスキャン合成が行われ、
所定の回路に対しリオーダによる論理変更が禁止されるか否かを定義することで、スキャン・チェーン・リオーダ可否情報を示す情報が取得されることを特徴とするスキャン・チェーン・リオーダ情報の取得方法。
【請求項３】
スキャン合成時に、セル名と端子名とを定義することで、スキャン・チェーンの始点と終点とを示す情報が取得されることを特徴とする請求項１または２に記載のスキャン・チェーン・リオーダ情報の取得方法。
【請求項４】
スキャン・チェーン上の各セルの順番と、前記各セルの固有名および端子名とを定義することで、前記各セルの順番を示す情報が取得されることを特徴とする請求項１または２に記載のスキャン・チェーン・リオーダ情報の取得方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、スキャン・チェーン・リオーダ情報の取得方法に関する。
【０００２】
大規模化したＬＳＩのテストを容易化するための設計手法の一つとしてスキャン設計法がある。スキャン合成前のネットリストに基づいてテスト容易化設計（以下、ＤＦＴとする）ツールによりスキャン合成をおこなうと、配置配線ツールへのインターフェースとしてスキャン・チェーン・リオーダ情報が生成される。配置配線ツールは、このスキャン・チェーン・リオーダ情報に基づいてスキャン・チェーンのリオーダをおこなう。
【０００３】
【従来の技術】
従来のスキャン・チェーン・リオーダ情報には、スキャン・チェーンに対するリオーダのための始点および終点の情報は設定されていない。また、スキャン・チェーン上のセルの順番、セルの固有名や端子名の情報も設定されていない。また、スキャン・チェーン上のスキャン・フリップフロップのクロック・ドメインや極性に関する情報も設定されていない。さらに、ソフトマクロ内のセルに対してリオーダを禁止する情報も設定されていない。
【０００４】
【発明が解決しようとする課題】
したがって、従来のスキャン・チェーン・リオーダ情報に基づいてリオーダを実施すると、リオーダのための始点および終点の情報がないため、スキャン・チェーン内のリオーダ対象の検索が困難となるという問題点がある。また、スキャン・チェーン上のセルの固有名がわからないため、設計者のセルの見落としによってセルの抜けが発生するという不具合がある。また、セルの端子名の情報がないため、スキャン・イン端子（以下、ＳＩ端子とする）およびスキャン・アウト端子（以下、ＳＯ端子とする）の接続が間違った場合に、間違っていると判断することができないというおそれがある。
【０００５】
また、クロック・ドメインや極性に関する情報がないため、クロック・ドメインや極性を考慮しないようなリオーダがおこなわれ、データの突き抜けや、正常値をラッチできなくなるおそれがある。さらには、リオーダ禁止情報がないため、スキャン・フリップフロップが、セレクタとスキャン・フリップフロップの組み合わせよりなるソフトマクロで構成されていると、ソフトマクロ内のセルもリオーダされてしまい、その結果論理が変わってしまうという問題がある。
【０００６】
本発明は、上記問題点に鑑みてなされたものであって、スキャン・チェーン内のリオーダ対象を容易に検索することができ、またセルの抜けやスキャン・イン（ＳＩ）およびスキャン・アウト（ＳＯ）の機能の間違いを防ぐことができ、またデータの突き抜けや正常値をラッチできないという不具合を回避することができ、さらにはソフトマクロ内のセルのリオーダを禁止することができるスキャン・チェーン・リオーダ情報を取得し、それに基づいて配置配線処理においてより最適なスキャン・チェーン・リオーダをおこなうことを目的とする。
【０００７】
【課題を解決するための手段】
上記目的を達成するため、本発明は、スキャン・チェーン・リオーダ情報として、スキャン・チェーンの始点と終点を定義した情報、スキャン・チェーン上のセルの順番と、各セルの固有名および端子名を定義した情報、スキャン・チェーン上のスキャン・フリップフロップのクロック・ドメインと極性を定義した情報、並びにスキャン・チェーン・リオーダ可否情報を定義したいずれかの情報を取得することを特徴とする。
【０００８】
この発明によれば、スキャン・チェーンの始点と終点を定義することによって、スキャン・チェーン上の全てのセルを把握することができ、リオーダ時に始点および終点を変更せずに処理することが可能となる。また、セルの順番と、各セルの固有名および端子名を定義することによって、リオーダ時のセルの抜けを防ぐとともに、スキャン・フリップフロップのＳＩ端子およびＳＯ端子を誤らずに接続することができる。
【０００９】
また、スキャン・フリップフロップのクロック・ドメインと極性を定義することによって、同一スキャン・チェーン上に正相クロックと逆相クロックが混載する場合でも、クロック・ドメインや極性を考慮したリオーダがおこなわれるので、データの突き抜けや、正常値をラッチできないという不具合を回避することができる。また、スキャン・チェーン・リオーダ可否情報を定義することによって、ソフトマクロセル内のリオーダが禁止されるので、論理が変わるのを防ぐことができる。
【００１０】
【発明の実施の形態】
以下に、本発明の実施の形態について図面を参照しつつ詳細に説明する。図１は、本発明を実施する計算機システムの一例を示す図である。この計算機システムは、図１に示すように、入力装置１、中央処理装置２、出力装置３および記憶装置４から構成される。
【００１１】
図２は、本発明を実施してスキャン・チェーン・リオーダ情報を取得する処理の流れを示す図である。図２に示すように、スキャン合成前のネットリストを取得し（ステップＳ２１）、そのネットリストをＤＦＴツールに与え、ＤＦＴツールでもってスキャン合成をおこなう（ステップＳ２２）。スキャン合成をおこなった結果、スキャン合成後のネットリストが生成される（ステップＳ２３）、また、配置配線ツールへのインターフェースとしてスキャン・チェーン・リオーダ情報が生成される（ステップＳ２４）。
【００１２】
ここで生成されるスキャン・チェーン・リオーダ情報は、（１）スキャン・チェーンに対するリオーダのための始点および終点の情報、（２）スキャン・チェーン上のセルの順番、セルの固有名や端子名の情報、（３）スキャン・チェーン上のスキャン・フリップフロップのクロック・ドメインや極性に関する情報、（４）ソフトマクロ内のセルに対してリオーダを禁止する情報を含む。ＤＦＴツールは、上述した（１）〜（４）の各種情報を認識することができるため、（１）〜（４）の情報を含むスキャン・チェーン・リオーダ情報は、スキャン合成されたネットリストと同時に生成される。
【００１３】
図３は、スキャン・チェーンの始点と終点を定義することについて説明するための図である。図３に示すように、各スキャン・チェーン１１，１２，１３，・・・について、それぞれの始点１１１，１２１，１３１，・・・および終点１１２，１２２，１３２，・・・の設定をおこなう。
【００１４】
図４は、スキャン・チェーン上のセルの順番と、各セルの固有名および端子名を定義することについて説明するための図である。図４に示すように、あるスキャン・チェーンにおいて、１番目はスキャン・フリップフロップＳＦＦ１でＳＩ端子およびＳＯ端子を有し、２番目はスキャン・フリップフロップＳＦＦ２でＳＩ端子とＳＯ端子、途中省略して、ｘ番目はスキャン・フリップフロップＳＦＦｘでＳＩ端子とＳＯ端子、ｘ＋１番目はＭＵＸ１でＡ端子とＸ端子、最後はスキャン・フリップフロップＳＦＦｚでＳＩ端子とＳＯ端子を有する、というようにセルの順番、固有名および端子名を定義する。その際、スキャン・フリップフロップ以外のセルに関しても同様に定義することによって、接続の順番が明確になり、後述するリオーダ可否情報の設定が容易となる。
【００１５】
図５および図６は、スキャン・チェーン上のスキャン・フリップフロップのクロック・ドメインと極性を定義することについて説明するための図である。一般に、リオーダは同一クロック・ドメイン内でおこなうのが望ましいが、異なるクロック・ドメイン間にホールド対策回路を挿入することにより、異なるクロック・ドメインにわたってリオーダすることが可能である。また、テストパターンを自動生成する各種ＡＴＰＧツールは正相クロックと逆相クロックの混載を認めている。
【００１６】
そのため、たとえば図５に示すように、スキャン・フリップフロップＳＦＦ１〜スキャン・フリップフロップＳＦＦ３のクロックは正相クロックであり、スキャン・フリップフロップＳＦＦ４〜スキャン・フリップフロップＳＦＦ６のクロックは逆相クロックである、というようにクロック・ドメインと極性を定義する。また、図６に示す例では、スキャン・フリップフロップＳＦＦ１〜スキャン・フリップフロップＳＦＦ３は逆相クロックであり、スキャン・フリップフロップＳＦＦ４〜スキャン・フリップフロップＳＦＦ６は正相クロックである。なお、図５および図６のいずれの例も同一クロック・ドメインの例である。
【００１７】
図７は、スキャン・チェーン・リオーダ可否情報を定義することについて説明するための図である。図７に示すように、たとえばＭＵＸ１とスキャン・フリップフロップＳＦＦｚとからなるソフトマクロセル５に対して、リオーダによって論理が変わらないように、リオーダ不可の情報を設定する。また、ＤＦＴツールが、異なるクロック・ドメインへのデータ入力に対してホールド対策回路を挿入した場合にも、ソフトマクロセル５と同様にリオーダ不可情報を設定する。
【００１８】
図８は、スキャン・チェーン・リオーダ情報の具体例を説明するための回路例を示す図である。図８に示す例では、ＴＯＰ６に第１のＣＯＲＥ（ＣＯＲＥ１）７および第２のＣＯＲＥ（ＣＯＲＥ２）８がある。第１のＣＯＲＥ７は、Ｘ端子を有するＡ、ＳＩ端子およびＳＯ端子を有するスキャン・フリップフロップＳＦＦ１、ＳＩ端子およびＳＯ端子を有するスキャン・フリップフロップＳＦＦ２、ＳＩ端子およびＳＯ端子を有するスキャン・フリップフロップＳＦＦ３、・・・、ＳＩ端子およびＳＯ端子を有するスキャン・フリップフロップＳＦＦｘ、Ａ端子およびＸ端子を有するＭＵＸ１、ＳＩ端子およびＳＯ端子を有するスキャン・フリップフロップＳＦＦｚ、Ａ端子を有するＺの順に並んでいる。ＭＵＸ１およびスキャン・フリップフロップＳＦＦｚはソフトマクロセルである。また、各スキャン・フリップフロップはクロックＣＫ１で動作する。
【００１９】
第２のＣＯＲＥ８は、Ｘ端子を有するＡ、ＳＩ端子およびＳＯ端子を有するスキャン・フリップフロップＳＦＦ１、ＳＩ端子およびＳＯ端子を有するスキャン・フリップフロップＳＦＦ２、ＳＩ端子およびＳＯ端子を有するスキャン・フリップフロップＳＦＦ３、ＳＩ端子およびＳＯ端子を有するスキャン・フリップフロップＳＦＦ４、ＳＩ端子およびＳＯ端子を有するスキャン・フリップフロップＳＦＦ５、ＳＩ端子およびＳＯ端子を有するスキャン・フリップフロップＳＦＦ６、Ａ端子を有するＺの順に並んでいる。各スキャン・フリップフロップは、第１のＣＯＲＥ７のクロックＣＫ１とは異なるドメインのクロックＣＫ２で動作するが、スキャン・フリップフロップＳＦＦ１〜スキャン・フリップフロップＳＦＦ３は正相クロック、スキャン・フリップフロップＳＦＦ４〜スキャン・フリップフロップＳＦＦ６は逆相クロックである。
【００２０】
図８に示す回路例の場合、配置配線ツールへインターフェースするためのファイルの内容はたとえば以下のようになる。
【００２１】
0004221168.tif 000002
【００２２】
上記ファイル内容において、「; Chain<n>」〜「; End Chain<n>」はひとつのスキャン・チェーンを定義している。「; First セル名  端子名」はスキャン・チェーンの始点を定義している。「; Last セル名  端子名」はスキャン・チェーンの終点を定義している。そして、「; First」〜「; Last」内に、スキャン・チェーン内のセルが順番通りに記述される。各セルについては、「セル名  スキャン入力端子名  スキャン出力端子名  クロック名」を定義する。クロックがネガティブクロック（逆相クロック）の場合には、クロック名に「X」が追加される。また、「; NotOrder」〜「; EndNotOrder」内には、リオーダしないセルが、上述したセルの定義にしたがって記述される。「; NotOrder」〜「; EndNotOrder」内に記述されたセルについては、「; First」〜「; Last」内と同様にリオーダ可能である。
【００２３】
上述した実施の形態によれば、スキャン・チェーンの始点および終点を定義したことにより、スキャン・チェーン上の全てのセルを把握することができるので、後のリオーダ時にスキャン・チェーンの始点および終点を変更せずに処理することが可能となる。また、セルの順番および固有名を定義したことにより、リオーダ時のセルの抜けを防止することができる。また、セルの端子名を定義したことにより、スキャン・フリップフロップのＳＩ端子およびＳＯ端子を誤らずに接続することが可能となる。
【００２４】
また、クロック・ドメインや極性を定義したことにより、同一スキャン・チェーン上に正相クロックと逆相クロックが混載する場合でも、クロック・ドメインや極性を考慮したリオーダがおこなわれるので、データの突き抜けや、正常値をラッチできないという不具合を回避することができる。また、リオーダ可否情報を定義したことにより、ソフトマクロセル内のリオーダを禁止することができるので、論理が変わるのを防ぐことができる。したがって、配置配線処理においてより最適なスキャン・チェーン・リオーダをおこなうことが可能となる。
【００２５】
以上において本発明は種々変更可能である。たとえば、配置配線ツールへインターフェースするためのファイルの記述は上述した例に限らない。
【００２６】
【発明の効果】
本発明によれば、スキャン・チェーン上の全てのセルを把握し、リオーダ時に始点および終点を変更せずに処理することができる。また、リオーダ時のセルの抜けを防ぐとともに、スキャン・フリップフロップのＳＩ端子およびＳＯ端子を誤らずに接続することができる。また、同一スキャン・チェーン上に正相クロックと逆相クロックが混載する場合でも、クロック・ドメインや極性を考慮したリオーダがおこなわれるので、データの突き抜けや、正常値をラッチできないという不具合を回避することができる。また、ソフトマクロセル内のリオーダを禁止することができるので、論理が変わるのを防ぐことができる。したがって、配置配線処理においてより最適なスキャン・チェーン・リオーダをおこなうことが可能となる。
【図面の簡単な説明】
【図１】本発明を実施する計算機システムの一例を示す図である。
【図２】本発明を実施してスキャン・チェーン・リオーダ情報を取得する処理の流れを示す図である。
【図３】本発明においてスキャン・チェーンの始点と終点を定義することについて説明するための図である。
【図４】本発明においてスキャン・チェーン上のセルの順番と、各セルの固有名および端子名を定義することについて説明するための図である。
【図５】本発明においてスキャン・チェーン上のスキャン・フリップフロップのクロック・ドメインと極性を定義することについて説明するための図である。
【図６】本発明においてスキャン・チェーン上のスキャン・フリップフロップのクロック・ドメインと極性を定義することについて説明するための図である。
【図７】本発明においてスキャン・チェーン・リオーダ可否情報を定義することについて説明するための図である。
【図８】本発明の実施により得られるスキャン・チェーン・リオーダ情報について説明するための回路例を示す図である。
【符号の説明】
５    ソフトマクロセル
１１，１２，１３    スキャン・チェーン
１１１，１２１，１３１    始点
１１２，１２２，１３２    終点
ＳＦＦ１〜ＳＦＦ６，ＳＦＦｘ，ＳＦＦｚ    スキャン・フリップフロップ
【図１】
0004221168.tif 000003
【図２】
0004221168.tif 000004
【図３】
0004221168.tif 000005
【図４】
0004221168.tif 000006
【図５】
0004221168.tif 000007
【図６】
0004221168.tif 000008
【図７】
0004221168.tif 000009
【図８】
0004221168.tif 000010