(57)【要約】【課題】半導体集積回路の設計において、高位言語のアルゴリズム仕様データからＲＴレベルの記述形式の設計データへ変換する動作合成システムが、後工程のテスト容易化設計が考慮された記述構成によるＲＴレベルの設計データを出力する。【解決手段】動作合成システムが、アルゴリズム仕様データを読み込む手段と、動作合成エンジンと、ＲＴレベルの記述形式の設計データ出力手段と、メモリライブラリとを有しており、上記メモリライブラリは、上記動作合成エンジンから参照されて動作合成におけるメモリの推量・アロケーションの選択において利用され、上記のＲＴレベルの記述形式の設計データ出力手段は、動作合成の結果を階層分割し、推量・マッピングされたＲＡＭとその他のファンクションとに関して階層を分けて、ＲＴレベルの記述形式の設計データを出力する。【選択図】図１
2004234097.tif 000002
【特許請求の範囲】
【請求項１】
アルゴリズム仕様データからレジスタトランスファレベルの記述形式の設計データへ変換する動作合成システムであって、
アルゴリズム仕様データを読み込む手段と、
動作合成を行う動作合成エンジンと、
レジスタトランスファレベルの記述形式の設計データ出力手段と、
メモリライブラリとを有しており、
上記メモリライブラリは、上記動作合成エンジンから参照されて、動作合成におけるメモリの推量・アロケーションの選択において利用され、
レジスタトランスファレベルの記述形式の設計データ出力手段は、動作合成の結果を階層分割し、推量・マッピングされたＲＡＭとその他のファンクションとに関して階層を分けて、レジスタトランスファレベルの記述形式の設計データを出力することを特徴とする動作合成システム。
【請求項２】
アルゴリズム仕様データ中に配列形式で定義された変数が、ＲＡＭに係る推量の後、レジスタトランスファレベルの記述形式の設計データ中にてマッピングされるインスタンスに変換され、
上記のマッピングされたインスタンスは、まとめられて階層を形成することを特徴とする、
請求項１に記載の動作合成システム。
【請求項３】
上記のＲＡＭ群をテスト対象とする組込み自己テスト回路が付加されたレジスタトランスファレベルの記述形式の設計データへ変換することを特徴とする、
請求項２に記載の動作合成システム。
【請求項４】
上記ＲＡＭに係る設計データには、メモリＢＩＳＴのテスト回路に係るデータが付加されて、レジスタトランスファレベルの記述形式の設計データへ変換されることを特徴とする、
請求項２に記載の動作合成システム。
【請求項５】
レジスタトランスファレベルの記述形式の設計データには、入出力ポートをスキャンするためのレジスタに係るデータが配置されることを特徴とする、
請求項１に記載の動作合成システム。
【請求項６】
アルゴリズム仕様データが、階層的にレジスタトランスファの記述形式の設計データまで分割され、
上記の分割された各階層に係るレジスタトランスファの記述形式の設計データは、入出力ポートをスキャンするためのレジスタが配置されていることを特徴とする、
請求項１に記載の動作合成システム。
【請求項７】
半導体装置をテストする方法であって、
請求項１に記載の動作合成システムを用いて半導体装置を生成するステップと、上記ステップで生成された半導体装置のファンクション毎のメモリの動作テストを時間的に並列的に処理するステップとを有することを特徴とするテスト方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路の設計において、ＣやＣ＋＋などの高位言語で記述したアルゴリズムの仕様から、レジスタトランスファレベル（以降、ＲＴレベルと呼ぶ）のハードウエア記述言語への変換を行う動作合成システムに関する。本発明は、特に、後工程のテスト容易化設計が考慮された記述構成によるＲＴレベルの設計データを出力する技術に関する。
【０００２】
【従来の技術】
半導体集積回路の設計における動作合成の技術に関する詳細が、特許文献１や特許文献２に開示されている。これらは、ＣやＣ＋＋などのソフトウエアプログラミングの高位言語から、ＲＴレベルの設計データへの変換技術である。これら動作合成の技術は、既にＣＡＤの分野で実用化されている。
【０００３】
動作合成技術の処理フローの概要は以下のようなものである（特許文献３や特許文献４に詳細が開示されている）。
（１）Ｃ、Ｃ＋＋、ＳｙｓｔｅｍＣなどの高位言語による仕様データをパースする。
（２）制御データフローグラフ（ＣＤＦＧ）へ展開する。
（３）レジスタや演算器の推量、スケジューリング、マッピングを行い、パイプライン処理を含むこれらの制御のために有限ステートマシン（ＦＳＭ）を構成する。
（４）Ｖｅｒｉｌｏｇ＿ＨＤＬなどの形式によるＲＴレベルの設計データを生成する。
（５）ＲＴレベルの設計データは論理合成されゲートレベルの設計データへ変換される。
（６）スキャンテスト法や、組込み自己テスト法（以下では、ＢＩＳＴ［Ｂｕｉｌｔ  Ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ］と言う。）等のテスト容易化設計（以降、ＤＦＴ  ‐  Ｄｅｓｉｇｎ  Ｆｏｒ  Ｔｅｓｔａｂｉｌｉｔｙ）がなされる。このうち、スキャンテスト法に係る挿入は、ゲートレベルで実施され、ＢＩＳＴに係る挿入は、ＲＴレベル若しくはゲートレベルで実施される。
（７）マスクレイアウト作業が行われる。
【０００４】
上記のスキャンテスト法に係る設計やＢＩＳＴに係る設計を適用するには、ＤＦＴの設計制約が満たされている必要がある。例えば、クロックやセット／リセットの可制御性や、ロジックＢＩＳＴのＸ値伝播の回避などの制約である。これらの制約は、設計容易性の点から、ＲＴレベルで満たされていることが望ましい。つまり、動作合成技術によって生成されるＲＴレベルの設計データは、当然上記の設計制約を満していることが要請される。
【０００５】
とりわけ、スキャンテスト法の場合には上記の設計制約の他に、面積のオーバーヘッドの問題（制約）がある。つまり、スキャンテスト法で利用するフリップフロップの数に比例して必要な面積が増加するため、冗長なレジスタの発生を回避しなければならない。特許文献５や特許文献６では、スキャンテスト法に係る面積のオーバーヘッドの増大を防ぐことを目的とする動作合成の技術が開示される。
【０００６】
ＢＩＳＴに関しては、例えばメモリＢＩＳＴの場合、動作合成技術で生成されたＲＴレベルの設計データに対してＢＩＳＴ回路の挿入が可能であるかどうかが問題となることがある。メモリＢＩＳＴのメリットは、少ない面積のオーバーヘッドによって複数個のＲＡＭを並列にテスト可能とする点である。このようにするためには、一個のＢＩＳＴコントローラによって複数のＲＡＭのテストシーケンスと結果比較を実行するようにＢＩＳＴ回路を構成しなければならない。これに関してゲートレベルで実現する技術が、特許文献７や特許文献８で開示されている。
【０００７】
米国メンターグラフィックス社より販売されるメモリＢＩＳＴ挿入ＣＡＤツール（ツール名：ＭＢＩＳＴＡｒｃｈｉｔｅｃｔ）では、ＲＡＭを配置した構造記述形式のＶｅｒｉｌｏｇＨＤＬから、ＲＴレベルのＢＩＳＴコントローラを付加したＲＴレベルの設計データへの変換が行われる。ＲＴレベルで設計する場合には、ＲＡＭ群のみを配置した構造記述によるモジュールを作成しておき、当該モジュールだけを上記ＣＡＤツール（若しくは類似のＣＡＤツール）に読み込ませるようにすれば、ＲＴレベルでメモリＢＩＳＴ挿入が完結できる。そのためＲＴレベルで設計する場合には、上記のメモリＢＩＳＴ挿入処理のために、予めＲＡＭとロジックのファンクション記述との混載記述を禁止し、ＲＡＭ群をまとめた構造記述によるモジュールを構成させるという、設計制約を設けている。かような設計フローを行なう場合には、動作合成技術で生成されるＲＴレベルでも上記設計制約が満たされている必要がある。
【０００８】
さて、現在、集積回路に係る設計（ＣＡＤ）データは、それ自体の有用性に着目されて商業上の流通財となっている。一般には、類型的にＩＰ（Ｉｎｔｅｌｌｅｃｔｕａｌ  Ｐｒｏｐｅｒｔｙ）と称されて流通している。
【０００９】
ところで、それらＩＰに係るデータは、ＲＴレベルの設計データの形式であることがある。このときのＤＦＴとして、
・ＶＳＩ  Ａｌｌｉａｎｃｅ  のＴｅｓｔ  Ａｃｃｅｓｓ  Ａｒｃｈｉｔｅｃｔｕｒｅ、
・ＩＥＥＥ  Ｐ１５００のテストシリアルレイヤ
などによって、テスト手法が規格化されている。「Ｔｅｓｔ  Ａｃｃｅｓｓ  Ａｒｃｈｉｔｅｃｔｕｒｅ」や「テストシリアルレイヤ」は、設計データとしてのＩＰのポートに、スキャンが可能なフリップフロップを配置して外部からポートを制御観測可能とする技術である。アルゴリズム仕様データをＲＴレベルへ変換した場合は、変換後のＲＴレベルに対して「Ｔｅｓｔ  Ａｃｃｅｓｓ  Ａｒｃｈｉｔｅｃｔｕｒｅ」若しくは「テストシリアルレイヤ」が付加された後に、ＩＰとして「登録」される。そうでないならば、特定のＩＰを使用する際、論理合成後のゲートレベルの設計データに対して、それらを付加（挿入）するステージ（段階）を設けなければならない。設計効率の観点からは、ＲＴレベルでこれらの挿入処理が完結されるのが望ましい、というのが概ね当業者の認識内容である。更に、アルゴリズム仕様データがＲＴレベルに変換される際にこれらテスト機構部分が自動的に付加されるのが望ましい。そのためには、それらテスト機能部分を含めて（Ｃ言語やＣ＋＋などで定義して）アルゴリズム仕様データの形式でＩＰ化することが求められる。
【００１０】
「ＶＳＩ  Ａｌｌｉａｎｃｅ  のＴｅｓｔ  Ａｃｃｅｓｓ  Ａｒｃｈｉｔｅｃｔｕｒｅ」や「ＩＥＥＥ  Ｐ１５００のテストシリアルレイヤ」は、例えば、テスト容易化手法の利用のために、又は、ブロックの内部のテストとしてのロジックＢＩＳＴの適用のために、レイアウトブロックの境界に配置されることがある。これらの場合には、周辺ロジックとの分離のためにも利用することが可能である。ところで、回路規模が大きい場合、アルゴリズム仕様データは階層分割してＲＴレベルへ変換するなどの手法がとられる（特許文献９に技術内容が開示されている）。その場合、ＲＴレベルの階層分割の状況をそのままレイアウトブロックとしてレイアウト処理を行ってもよいため、大規模回路向けの設計フローとして設計効率の面からもメリットがある。但し、ＤＦＴを考慮して「ＶＳＩ  Ａｌｌｉａｎｃｅ  のＴｅｓｔ  Ａｃｃｅｓｓ  Ａｒｃｈｉｔｅｃｔｕｒｅ」や「ＩＥＥＥ  Ｐ１５００のテストシリアルレイヤ」を採用するならば、現状では、論理合成後のゲートレベルの設計データに対してそれらを挿入するステージ（段階）を設けなければならない。設計効率の観点からは、ＲＴレベルでこれらの挿入処理が完結されるのが望ましい、というのが概ね当業者の認識内容である。更に、アルゴリズム仕様データがＲＴレベルに変換される際にこれらテスト機構部分が自動的に付加されるのが望ましい。そのためには、それらテスト機能部分を含めて（Ｃ言語やＣ＋＋などで定義して）アルゴリズム仕様データの形式でＩＰ化することが求められる。
【００１１】
【特許文献１】
特開平７−３３４５６３号
【特許文献２】
特開平１１−１８４８９５号
【特許文献３】
特開２００２−２６９１６２号
【特許文献４】
特開平１１−２５９５４５号
【特許文献５】
特開平１１−１５４１６７号
【特許文献６】
特開平１１−２５９５４５号
【特許文献７】
特開平８−２６２１１６号
【特許文献８】
特許第３１９６２２号
【特許文献９】
特開平１０−３４０２８３号
【００１２】
【発明が解決しようとする課題】
まず本発明は、アルゴリズム仕様データから変換されたＲＴレベルの設計データに対してメモリＢＩＳＴを挿入し得ることを目的とする。ところが、従来の動作合成技術によって生成されたＲＴレベルの設計データは、ＲＡＭとロジックのファンクション記述とが混在するために、従来のメモリＢＩＳＴ挿入ツールで扱うことができない（つまり、ゲートレベルもしくは完全な構造記述のみで構成されたＲＴレベルのデータしか扱うことができない）。よって本発明は、具体的には、ＲＡＭとファンクションを分離して階層分割されたＲＴレベルの設計データを出力し、従来のメモリＢＩＳＴ挿入ツールを利用可能とすることを目的とする。更には本発明は、ＲＡＭ群をまとめて配置した階層モジュールを作成してロジック部のファンクションとの分離を行い、従来のメモリＢＩＳＴ挿入ツールを利用可能とすることを目的とする。
【００１３】
次に、本発明は、アルゴリズム仕様データからＲＴレベルの設計データへ変換する際にＲＡＭへメモリＢＩＳＴを付加することでメモリに対するＤＦＴが完結されたＲＴレベルの設計データが得られ、後工程のＤＦＴ挿入ステージを省略することを目的としている。
【００１４】
次に、本発明は、アルゴリズムの仕様からＩＰのテスト仕様規格である「ＶＳＩ  Ａｌｌｉａｎｃｅ  のＴｅｓｔ  Ａｃｃｅｓｓ  Ａｒｃｈｉｔｅｃｔｕｒｅ」や「ＩＥＥＥ  Ｐ１５００のテストシリアルレイヤ」を付加して、ＲＴレベルの設計データを生成する環境を準備することによって後工程のＤＦＴ挿入ステージを省略することを目的としている。また、このような環境を準備してＣ言語やＣ＋＋の形式によるアルゴリズム仕様データをＩＰの設計資産として活用することを容易化することを目的とする。
【００１５】
更に、本発明は、回路規模が大規模である場合、階層レイアウトもしくはブロックレイアウト向けにブロック分割がなされたＲＴレベルの設計データをテスト機構付きにて生成し、設計効率を向上させることを目的とする。
【００１６】
【課題を解決するための手段】
本発明は、上記の目的を達成するために為されたものである。本発明に係る請求項１に記載の動作合成システムは、
アルゴリズム仕様データからレジスタトランスファレベルの記述形式の設計データへ変換する動作合成システムであって、
アルゴリズム仕様データを読み込む手段と、
動作合成を行う動作合成エンジンと、
レジスタトランスファレベルの記述形式の設計データ出力手段と、
メモリライブラリとを有しており、
上記メモリライブラリは、上記動作合成エンジンから参照されて、動作合成におけるメモリの推量・アロケーションの選択において利用され、
レジスタトランスファレベルの記述形式の設計データ出力手段は、動作合成の結果を階層分割し、推量・マッピングされたＲＡＭとその他のファンクションとに関して階層を分けて、レジスタトランスファレベルの記述形式の設計データを出力することを特徴とする。
【００１７】
本発明に係る請求項２に記載の動作合成システムは、
アルゴリズム仕様データ中に配列形式で定義された変数が、ＲＡＭに係る推量の後、レジスタトランスファレベルの記述形式の設計データ中にてマッピングされるインスタンスに変換され、
上記のマッピングされたインスタンスは、まとめられて階層を形成することを特徴とする、
請求項１に記載の動作合成システムである。
【００１８】
本発明に係る請求項３に記載の動作合成システムは、
上記のＲＡＭ群をテスト対象とする組込み自己テスト回路が付加されたレジスタトランスファレベルの記述形式の設計データへ変換することを特徴とする、
請求項２に記載の動作合成システムである。
【００１９】
本発明に係る請求項４に記載の動作合成システムは、
上記ＲＡＭに係る設計データには、メモリＢＩＳＴのテスト回路に係るデータが付加されて、レジスタトランスファレベルの記述形式の設計データへ変換されることを特徴とする、
請求項２に記載の動作合成システムである。
【００２０】
本発明に係る請求項５に記載の動作合成システムは、
レジスタトランスファレベルの記述形式の設計データには、入出力ポートをスキャンするためのレジスタに係るデータが配置されることを特徴とする、
請求項１に記載の動作合成システムである。
【００２１】
本発明に係る請求項６に記載の動作合成システムは、
アルゴリズム仕様データが、階層的にレジスタトランスファの記述形式の設計データまで分割され、
上記の分割された各階層に係るレジスタトランスファの記述形式の設計データは、入出力ポートをスキャンするためのレジスタが配置されていることを特徴とする、
請求項１に記載の動作合成システムである。
【００２２】
本発明に係る請求項７に記載のテスト方法は、
半導体装置をテストする方法であって、
請求項１に記載の動作合成システムを用いて半導体装置を生成するステップと、上記ステップで生成された半導体装置のファンクション毎のメモリの動作テストを時間的に並列的に処理するステップとを有することを特徴とするテスト方法である。
【００２３】
【発明の実施の形態】
以下、図面を参照しつつ本発明に係る好適な実施形態を説明する。
【００２４】
まず、図１にて、本発明に係る動作合成システムの稼動する装置２の概略構成図を示す。該装置２は、記憶媒体４、ＣＰＵ６、入力手段８及び表示装置１０を含む。記憶媒体２は、メモリもしくはハードディスク等であればよく、ＣｙａＣ＋＋，ＳｙｓｔｅｍＣなどの高位言語形式によるアルゴリズムの仕様に係るデータ、生成されるＲＴレベルの設計データ、及び本発明に係るプログラムコードを格納する。ＣＰＵ６は、それらプログラムを実行する。入力手段８は、例えばキーボードやマウス等であり、アーキテクチャに依存しないハードウエア機能記述の入力・編集を行なったり、本発明を実現するプログラムの実行命令を対話的に入力したりする。表示装置１０は、アーキテクチャに依存しないハードウエア機能記述を表示したり、本発明を実現するプログラムの実行経過や実行結果を表示したりする。これら記憶媒体４、ＣＰＵ６、入力手段８及び表示装置１０は、システムバス１２をＩ／Ｆ（インタフェース）として接続する。
【００２５】
≪１≫第１の実施の形態
図２は、本発明の第１の実施の形態に係る動作合成システム２０１の概略ブロック図である。該動作合成システム２０１では、アルゴリズム仕様データ２０６がＣＤＦＧ（Ｃｏｎｔｒｏｌｌ  Ｄａｔａ  Ｆｌｏｗ  Ｇｒａｐｈ；制御データフローグラフ）生成手段２０２によって制御データフローグラフへ展開され、更に動作合成エンジン２０３によってＲＴレベルへ変換される。その結果のデータはＲＴレベル設計データ出力手段２０４により“ＶｅｒｉｌｏｇＨＤＬ”や“ＶＨＤＬ”の形式で出力される。メモリライブラリ２０５は動作合成エンジン２０３によって参照される。即ち、動作合成の過程でメモリが推量・アロケーションされる場合、メモリライブラリ２０５から適切なＲＡＭ（に関連するデータ）が選択される。
【００２６】
図２の動作合成システム２０１に関して、図３に処理フローを示す。アルゴリズム仕様データ２０６からＣＤＦＧが生成され（３０１、３０２）、データパス系に関してはリソースアロケーション、スケジューリング、リソースシェアリングか実施され、コントローラ系に関してはＦＳＭが生成される（３０３）。結果はＶｅｒｉｌｏｇＨＤＬやＶＨＤＬのＲＴレベルの設計データとして出力される（３０４）。
【００２７】
図４にて、データパス系のＣＤＦＧとそれらを制御するためのＦＳＭとのイメージ図を示す。図４のイメージ図は従来技術のものを示す。演算子を示すＣＤＦＧのノード４０１には、データの流れを示す矢印が繋がれている。イメージ図には更に、ＦＳＭ４０２及びアロケーションされたレジスタ４０３が含まれる。演算子４０１やレジスタ４０３は、例えばスピード優先や面積優先などの制約によってスケジューリング、リソースシェアリングが実施され、よって統合や配置替えが行われる。図３のリソースアロケーションからＦＳＭ生成までの一連の工程３０３は、米国Ｋｌｕｗｅｒ  Ａｋａｄｅｍｉｃ  Ｐｕｂｌｉｓｈｅｒｓ  社出版の“ＨＩＧＨＴ−ＬＥＶＥＬ  ＳＹＮＴＨＥＳＩＳ”  Ｄａｎｉｅｌ  Ｇａｊｓｋｉ著に詳細が示されている。
【００２８】
図５にて、ＲＡＭを推量しアロケーションしたときの、ＣＤＦＧとＦＳＭとのイメージ図を示す。図５のイメージ図も従来技術のものである。図５のＣＤＦＧには、ＲＡＭ５０１及びアドレスレジスタ５０２が含まれが、このアドレスレジスタ５０２は必要に応じてアロケーションされるものである。
【００２９】
ＲＡＭが推量・アロケーションされる例として、例えば入力するアルゴリズムがＣ言語で記述されたものであるとすると、
ｉｎｔ    ａ［２５６］［８］；
のような２次元配列の変数宣言のものなどが挙げられる。そのような場合、ＦＳＭからの制御信号として、（図４の）レジスタ４０３へのロード信号に代わり、ＲＡＭへのライトイネーブル、リードイネーブルが設置される。
【００３０】
図６は、本発明の第１の実施の形態に係る動作合成システムの処理フローの別の例である。図６の本発明の第１の実施の形態に係る動作合成システムでは、ＲＴレベルの設計データ出力手段が動作合成の結果データを階層分割し、推量・マッピングされたＲＡＭとその他のファンクションとを階層を分けた形式でＲＴレベルの設計データを出力する。つまり、動作合成の結果を階層化してＲＡＭとその他のファンクションとを階層を分けた形式でＲＴレベルの設計データを出力するようにしている（７０４）。図７にて、動作合成の結果を階層化してＲＡＭとその他のファンクションとを階層を分けているＣＤＦＧと、ＦＳＭとの、イメージ図を示す。（図５の）ＲＡＭ５０１が配置される代わりに、階層ボックス７０１が配置される。階層ボックス７０１は複数の下階層７０２で構成され、更に下階層７０２にはＲＡＭ７０３（に係るデータ）のみが配置される。
【００３１】
図８は、本発明の第１の実施の形態に係る動作合成システムの処理フローの更なる別の例である。ここでは動作合成内（８０３）に階層ボックスのマッピング処理（８０５）を設け、ＲＡＭ自身が当該階層ボックスの下階層にマッピングされるようになっている。
【００３２】
第１の実施の形態においては、全ＲＡＭを階層ボックスの下階層に配置することもできる。これらのＲＡＭに対しては、後工程のＢＩＳＴ挿入工程で並列テストされるようにＢＩＳＴ挿入が実施されることも可能である。
【００３３】
≪２≫第２の実施の形態
図９は、本発明の第２の実施の形態に係る動作合成システム９０１の概略ブロック図である。第２の実施の形態では、ＲＡＭの配置にＢＩＳＴのテスト回路を付加する。動作合成システム９０１に対して、メモリＢＩＳＴコントローラ・シード９０６が付加される。該メモリＢＩＳＴコントローラ・シード９０６は、ＢＩＳＴのマーチングパタン等のアルゴリズムデータを格納している。
【００３４】
図１０にて、ＢＩＳＴのテスト回路が付加されたときのＣＤＦＧと、ＦＳＭとの、イメージ図を示す。ＣＤＦＧには、ＢＩＳＴのテスト対象となるＲＡＭ１００２、ＢＩＳＴのテスト回路であるテスト生成器１００１、及びテスト結果の比較器１００３が含まれる。
【００３５】
図９のシード９０６は、Ｃ言語やＣ＋＋などの高位言語の形式で格納されてもよい。その場合には、動作合成システム９０１によって当該シード９０６がＲＴレベルへ変換され、アルゴリズム仕様データ９０７から変換されたＲＴレベルの設計データへ付加される。シード９０６は、パラメータ変数による変更が容易化されたＲＴレベルの形式で保有されてもよい。その場合には、該ＲＴレベルのシードがＲＡＭのビット数、データ幅、及び個数に応じてパラメータ設定された後に、テスト生成器１００１や比較器１００３のＣＤＦＧに配置される。
【００３６】
図１１は、ＢＩＳＴが付加されたＲＡＭの階層ブロックの構成図である。該ＢＩＳＴはマーチングパタンを実施する。ＲＡＭの階層ブロックは、テスト生成器１１０７を含み、該テスト生成器１１０７は、アドレスカウンタ１１０３とデータ生成器１１０４を含む。該テスト生成器１１０７は更に、それらを制御するＦＳＭ１１０２を含む。該ＦＳＭ１１０２は、アドレスのアップダウンの指示や、ＲＡＭのチップイネーブル（ＣＥ）、ライトイネーブル（ＷＥ）、リードイネーブル（ＲＥ）の制御を介してのＲＡＭへのマーチングパタンの書き込み及び読み出しを行なう。図１１のコンパレータ１１０５は、図１０のテスト結果の比較器１１０３に相当するものである。
【００３７】
≪３≫第３の実施の形態
図１２は、本発明の第３の実施の形態に係る動作合成システム２０１の概略ブロック図であるが、装置の構成は図２のものと同様である。
【００３８】
アルゴリズム仕様データ２０６からＲＴレベルへ変換する際にＲＡＭを推量しアロケーションおよびマッピングする場合は、ＲＡＭにＢＩＳＴ回路を付加してＲＴレベルの設計データを出力する。この場合、第３の実施の形態においては、変換後のＲＴレベルの設計データが階層分割されている必要はない。ＲＡＭをマッピングする際にＢＩＳＴを付加してマッピングするからである。図１２の動作合成システム２０１に関して、図１３に処理フローを示す。図１３において、ＲＡＭへＢＩＳＴを付加してマッピングする工程（１３０４）が、付加されている。
【００３９】
≪４≫第４の実施の形態
「ＶＳＩ  Ａｌｌｉａｎｃｅ  のＴｅｓｔ  Ａｃｃｅｓｓ  Ａｒｃｈｉｔｅｃｔｕｒｅ」や「ＩＥＥＥ  Ｐ１５００のテストシリアルレイヤ」は、ＩＰ（Ｉｎｔｅｌｌｅｃｔｕａｌ  Ｐｒｏｐｅｒｔｙ）やシステム・オン・チップに搭載するエンベッデッド・コアのためのテスト施策を標準化したものである。それらは、コアの周辺にスキャン可能なフリップフロップを配置してチップの外部からシリアルにアクセス可能とするものである。
【００４０】
図１４にて、「Ｔｅｓｔ  Ａｃｃｅｓｓ  Ａｒｃｈｉｔｅｃｔｕｒｅ」もしくは「テストシリアルレイヤ」の配置例を示す。被テストコアのＩＰコア１４０１は、入出力ポートにて、スキャン可能なフリップフロップ１４０２が配置される。フリップフロップ１４０２はシリアルに接続して外部からアクセス可能となっている。
【００４１】
図１５は、本発明の第４の実施の形態に係る動作合成システム１５０２の概略ブロック図である。第４の実施の形態に係る動作合成システム１５０２では、アルゴリズム仕様データ１５０１からＲＴレベルの設計データ１５０６へ変換する際に、「Ｔｅｓｔ  Ａｃｃｅｓｓ  Ａｒｃｈｉｔｅｃｔｕｒｅ」もしくは「テストシリアルレイヤ」を付加する。シリアルレイヤ生成手段１５０７は、動作合成エンジン１５０４から独立しており、アルゴリズム仕様データ１５０１におけるポートのみを参照し、動作合成システム１５０２の出力するＲＴレベルの設計データ１５０６の回路を覆う形式で「Ｔｅｓｔ  Ａｃｃｅｓｓ  Ａｒｃｈｉｔｅｃｔｕｒｅ」もしくは「テストシリアルレイヤ」を配置する。
【００４２】
図１６は、本発明の第４の実施の形態に係る動作合成システム１６０２の別の概略ブロック図である。図１６のブロック図では、シリアルレイヤ生成手段１６０７は、動作合成システム１６０２の出力するＲＴレベルの設計データ１６０６を参照してポート情報を解析し、「Ｔｅｓｔ  Ａｃｃｅｓｓ  Ａｒｃｈｉｔｅｃｔｕｒｅ」もしくは「テストシリアルレイヤ」を配置した上位階層の設計情報１６０８を生成するようにしている。
【００４３】
≪５≫第５の実施の形態
図１７は、本発明の第５の実施の形態に係る動作合成システム１７０１の概略ブロック図である。第５の実施の形態に係る動作合成システム１７０１では、アルゴリズム仕様データ１７０７を階層分割してＲＴレベルの設計データ１７０６を出力する際に、分割されたブロックの周辺に「Ｔｅｓｔ  Ａｃｃｅｓｓ  Ａｒｃｈｉｔｅｃｔｕｒｅ」もしくは「テストシリアルレイヤ」を配置したものを出力する。
【００４４】
ＣＤＦＧパーティショニング手段１７０３は、ＣＤＦＧ生成手段１７０２の出力するＣＤＦＧデータをブロックサイズなどの制約に従って分割する。この分割においては、例えばＣＤＦＧの演算子をノードとしてクラスタツリーを構成し、クラスタ分割やミニカット法などのネットワークの分割アルゴリズムを適用する。図１８にて、ＣＤＦＧの分割の例のイメージ図を示す。ここではクラスタ分割を適用しており、ＣＤＦＧがクラスタＡとクラスタＢとに分割されている。これらの分割されたＣＤＦＧは、階層化されてＲＴレベルの設計データへ変換されることになる。なお、ＣＤＦＧのパーティショニングの技術に関しては、米国Ｋｌｕｗｅｒ  Ａｋａｄｅｍｉｃ  Ｐｕｂｌｉｓｈｅｒｓ社出版の“ＨＩＧＨＴ−ＬＥＶＥＬ  ＳＹＮＴＨＥＳＩＳ”  Ｄａｎｉｅｌ  Ｇａｊｓｋｉ著（１７９頁〜２１２頁）に詳細が示されている。
【００４５】
図１９にて、ＣＤＦＧのクラスタＡ、クラスタＢへの分割を元に階層分割して変換されたＲＴレベルの設計データが構成する回路の概略図を示す。図１９では、図１７のシリアルレイヤ生成手段１７０９によって付加された「Ｔｅｓｔ  Ａｃｃｅｓｓ  Ａｒｃｈｉｔｅｃｔｕｒｅ」もしくは「テストシリアルレイヤ」が、分割された各ブロックのポートに（スキャン・レジスタ１９０１として）配置されている。なお、図１９の回路のブロック内部には内部スキャンチェーン１９０２が設定され、各ブロックに対しては、ロジックＢＩＳＴのテスト回路であるＭＩＳＲ１９０３とＰＲＰＧ１９０４が設定されている。スキャン・レジスタ１９０１は、ブロック内部と外部周辺ロジックとを完全に分離可能である。即ち、当該ロジックＢＩＳＴにより、ブロック内部の閉鎖された環境でテストが実施でき、更にコアＡとコアＢとの夫々のロジックＢＩＳＴは並列に実行できる。
【００４６】
【発明の効果】
本発明では、アルゴリズム仕様データからＲＴレベルの設計データへ変換する際に、推量しマッピングしたＲＡＭをその他のファンクションと分離して別階層に配置するようにしたので、メモリＢＩＳＴ挿入の際は当該ＲＡＭを配置した階層モジュールだけを読み込んでＢＩＳＴ回路を付加すればよい。よって、ゲートレベルもしくは構造記述の設計データしか扱うことのできない従来のメモリＢＩＳＴ挿入ツールと併用可能となる。即ち、設計コスト削減のみならずメモリＢＩＳＴ挿入自体が可能である。
【００４７】
また、本発明では、アルゴリズム仕様データからＲＴレベルの設計データへ変換する際に、推量しマッピングした全ＲＡＭをその他のファンクションと分離して別階層に配置するようにしたので、従来のゲートレベルもしくは構造記述の設計データしか扱うことのできないメモリＢＩＳＴ挿入ツールを使って複数ＲＡＭが並列テスト可能なＢＩＳＴの作り込みが可能となる。このことにより、設計コスト削減及びテストコスト削減が可能となる。
【００４８】
また、本発明では、アルゴリズム仕様データからＲＴレベルの設計データへ変換する際に、推量しマッピングしたＲＡＭにメモリＢＩＳＴを付加してＲＴレベルの設計データを生成する。よって、後工程でのメモリＢＩＳＴ挿入ステージが不要となり設計コストを削減する。
【００４９】
また、本発明では、アルゴリズム仕様データからＲＴレベルの設計データへ変換する際に、「Ｔｅｓｔ  Ａｃｃｅｓｓ  Ａｒｃｈｉｔｅｃｔｕｒｅ」もしくは「テストシリアルレイヤ」を付加してＲＴレベルの設計データを生成する。よって、テスト対策を備えるＩＰとして即座に流用が可能となる。
【００５０】
また、本発明では、アルゴリズム仕様データからＲＴレベルの設計データへ変換する際に、階層分割してＲＴレベルの設計データを生成し、且つ階層ブロックのポートに「Ｔｅｓｔ  Ａｃｃｅｓｓ  Ａｒｃｈｉｔｅｃｔｕｒｅ」もしくは「テストシリアルレイヤ」を付加してＲＴレベルの設計データを生成する。よって、周辺回路との分離がなされた設計データを得ることが可能となる。また、大規模なＬＳＩの場合には、分割された階層ブロックをレイアウトブロックとして扱うこともでき、テスト容易化設計とレイアウトのフロアプランの両方が考慮されたＲＴレベルの設計データを得ることができる。
【図面の簡単な説明】
【図１】本発明に係る動作合成システムの稼動する装置の概略構成図である。
【図２】本発明の第１の実施の形態に係る動作合成システムの概略ブロック図である。
【図３】図２の動作合成システムに関する処理フローである。
【図４】データパス系のＣＤＦＧとそれらを制御するためのＦＳＭとのイメージ図である。
【図５】ＲＡＭを推量しアロケーションしたときの、ＣＤＦＧとＦＳＭとのイメージ図である。
【図６】本発明の第１の実施の形態に係る動作合成システムの処理フローの別の例である。
【図７】動作合成の結果を階層化してＲＡＭとその他のファンクションとを階層を分けているＣＤＦＧと、ＦＳＭとの、イメージ図である。
【図８】本発明の第１の実施の形態に係る動作合成システムの処理フローの更なる別の例である。
【図９】本発明の第２の実施の形態に係る動作合成システムの概略ブロック図である。
【図１０】ＢＩＳＴのテスト回路が付加されたときのＣＤＦＧと、ＦＳＭとの、イメージ図である。
【図１１】ＢＩＳＴが付加されたＲＡＭの階層ブロックの構成図である。
【図１２】本発明の第３の実施の形態に係る動作合成システムの概略ブロック図である。
【図１３】図１２の動作合成システムに関する処理フローである。
【図１４】「Ｔｅｓｔ  Ａｃｃｅｓｓ  Ａｒｃｈｉｔｅｃｔｕｒｅ」もしくは「テストシリアルレイヤ」の配置例である。
【図１５】本発明の第４の実施の形態に係る動作合成システムの概略ブロック図である。
【図１６】本発明の第４の実施の形態に係る動作合成システムの別の概略ブロック図である。
【図１７】本発明の第５の実施の形態に係る動作合成システムの概略ブロック図である。
【図１８】ＣＤＦＧの分割の例のイメージ図である。
【図１９】ＣＤＦＧのクラスタＡ、クラスタＢへの分割を元に階層分割して変換されたＲＴレベルの設計データが構成する回路の概略図である。
【符号の説明】
４・・・記憶媒体、
６・・・ＣＰＵ、
８・・・入力手段、
１０・・・表示装置、
１２・・・システムバス、
２０１、９０１、１５０２、１６０２、１７０１・・・動作合成システム、
２０６、９０７、１５０１、１６０１、１７０７・・・アルゴリズム仕様データ、
２０２、９０２、１５０３、１６０３、１７０２・・・ＣＤＦＧ生成手段、
２０３、９０３、１５０４、１６０４、１７０４・・・動作合成エンジン、
２０４、９０４、１５０５、１６０５、１７０５・・・ＲＴレベル設計データ出力手段、
２０５、９０５・・・メモリライブラリ、
２０７、９０８、１５０６、１６０６、１７０６・・・ＲＴレベルの設計データ。
【図１】
2004234097.tif 000003
【図２】
2004234097.tif 000004
【図３】
2004234097.tif 000005
【図４】
2004234097.tif 000006
【図５】
2004234097.tif 000007
【図６】
2004234097.tif 000008
【図７】
2004234097.tif 000009
【図８】
2004234097.tif 000010
【図９】
2004234097.tif 000011
【図１０】
2004234097.tif 000012
【図１１】
2004234097.tif 000013
【図１２】
2004234097.tif 000014
【図１３】
2004234097.tif 000015
【図１４】
2004234097.tif 000016
【図１５】
2004234097.tif 000017
【図１６】
2004234097.tif 000018
【図１７】
2004234097.tif 000019
【図１８】
2004234097.tif 000020
【図１９】
2004234097.tif 000021