(57)【要約】【課題】テストポイントの挿入が適切であるかどうかの判断を容易に行い得、且つ、論理合成の回数を一回として設計期間の短縮化を図り得る論理合成装置及び論理合成方法を提供することにある。【解決手段】レジスタトランスファレベルの動作記述に基づいて等価機能の複数の論理ゲート回路を生成する論理ゲート回路生成部１と、論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、テストポイントの挿入が必要と判定した場合にテストポイントを挿入するテストポイント挿入判定部２と、テストポイント挿入判定部による処理が終了した論理ゲート回路それぞれについて面積を算出する面積算出部３と、面積が最も小さい論理ゲート回路を選択して論理合成を行う論理合成部４とを少なくとも用いて、論理合成装置を構成する。【選択図】  図１
2004227517.tif 000002
【特許請求の範囲】
【請求項１】
レジスタトランスファレベルの動作記述に基づいてネットリストを生成する論理合成装置であって、
前記動作記述に基づいて、等価機能の複数の論理ゲート回路を生成する論理ゲート回路生成部と、前記複数の論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、前記テストポイントの挿入が必要と判定した場合に前記テストポイントを挿入するテストポイント挿入判定部と、前記テストポイント挿入判定部による処理が終了した前記複数の論理ゲート回路それぞれについて面積を算出する面積算出部と、前記面積が最も小さい論理ゲート回路を選択して論理合成を行う論理合成部とを少なくとも有することを特徴とする論理合成装置。
【請求項２】
レジスタトランスファレベルの動作記述に基づいてネットリストを生成する論理合成装置であって、
前記動作記述に基づいて、等価機能の複数の論理ゲート回路を生成する論理ゲート回路生成部と、前記複数の論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、前記テストポイントの挿入が必要と判定した場合に前記テストポイントを挿入するテストポイント挿入判定部と、前記テストポイント挿入判定部による処理が終了した前記複数の論理ゲート回路それぞれについてタイミング計算を行って回路速度を算出する回路速度算出部と、前記回路速度が最も速い論理ゲート回路を選択して論理合成を行う論理合成部とを少なくとも有することを特徴とする論理合成装置。
【請求項３】
レジスタトランスファレベルの動作記述に基づいてネットリストを生成する論理合成装置であって、
前記動作記述に基づいて、等価機能の複数の論理ゲート回路を生成する論理ゲート回路生成部と、前記複数の論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、前記テストポイントの挿入が必要と判定した場合に前記テストポイントを挿入するテストポイント挿入判定部と、前記テストポイント挿入判定部による処理が終了した前記複数の論理ゲート回路それぞれについてテストパターンの生成を行うテストパターン生成部と、生成された前記テストパターンの数が最も少ない論理ゲート回路を選択して論理合成を行う論理合成部とを少なくとも有することを特徴とする論理合成装置。
【請求項４】
レジスタトランスファレベルの動作記述に基づいてネットリストを生成する論理合成装置であって、
前記動作記述に基づいて、等価機能の複数の論理ゲート回路を生成する論理ゲート回路生成部と、前記複数の論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、前記テストポイントの挿入が必要と判定した場合に前記テストポイントを挿入するテストポイント挿入判定部と、前記テストポイント挿入判定部による処理が終了した前記複数の論理ゲート回路それぞれについて、面積を算出し、又タイミング計算を行って回路速度を算出し、更にテストパターンの生成を行い、前記面積、前記回路速度、及び生成された前記テストパターンの数に基づいて、前記テストポイント挿入判定部による処理によって変化するコストを前記論理ゲート回路毎に算出するコスト算出部と、算出した前記コストが最も小さい論理ゲート回路を選択して論理合成を行う論理合成部とを少なくとも有することを特徴とする論理合成装置。
【請求項５】
レジスタトランスファレベルの動作記述に基づいてネットリストを生成する論理合成方法であって、
（ａ）前記動作記述に基づいて、等価機能の複数の論理ゲート回路を生成する工程と、
（ｂ）前記複数の論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、前記テストポイントの挿入が必要と判定した場合に前記テストポイントを挿入する工程と、
（ｃ）前記（ｂ）の工程が終了した前記複数の論理ゲート回路それぞれについて面積を算出する工程と、
（ｄ）前記面積が最も小さい論理ゲート回路を選択して論理合成を行う工程とを少なくとも有することを特徴とする論理合成方法。
【請求項６】
レジスタトランスファレベルの動作記述に基づいてネットリストを生成する論理合成方法であって、
（ａ）前記動作記述に基づいて、等価機能の複数の論理ゲート回路を生成する工程と、
（ｂ）前記複数の論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、前記テストポイントの挿入が必要と判定した場合に前記テストポイントを挿入する工程と、
（ｃ）前記（ｂ）の工程が終了した前記複数の論理ゲート回路それぞれについてタイミング計算を行って回路速度を算出する工程と、
（ｄ）前記回路速度が最も速い論理ゲート回路を選択して論理合成を行う工程とを少なくとも有することを特徴とする論理合成方法。
【請求項７】
レジスタトランスファレベルの動作記述に基づいてネットリストを生成する論理合成方法であって、
（ａ）前記動作記述に基づいて、等価機能の複数の論理ゲート回路を生成する工程と、
（ｂ）前記複数の論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、前記テストポイントの挿入が必要と判定した場合に前記テストポイントを挿入する工程と、
（ｃ）前記（ｂ）の工程が終了した前記複数の論理ゲート回路それぞれについてテストパターンの生成を行う工程と、
（ｄ）生成された前記テストパターンの数が最も少ない論理ゲート回路を選択して論理合成を行う工程とを少なくとも有することを特徴とする論理合成方法。
【請求項８】
レジスタトランスファレベルの動作記述に基づいてネットリストを生成する論理合成方法であって、
（ａ）前記動作記述に基づいて、等価機能の複数の論理ゲート回路を生成する工程と、
（ｂ）前記複数の論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、前記テストポイントの挿入が必要と判定した場合に前記テストポイントを挿入する工程と、
（ｃ）前記（ｂ）の工程が終了した前記複数の論理ゲート回路それぞれについて、面積を算出し、又タイミング計算を行って回路速度を算出し、更にテストパターンの生成を行う工程と、
（ｆ）前記面積、前記回路速度、及び生成された前記テストパターンの数に基づいて、前記（ｂ）の工程によって変化するコストを前記論理ゲート回路毎に算出する工程と、
（ｇ）算出した前記コストが最も小さい論理ゲート回路を選択して論理合成を行う工程とを少なくとも有することを特徴とする論理合成方法。
【請求項９】
レジスタトランスファレベルの動作記述に基づく論理合成をコンピュータによって行うためのプログラムであって、
（ａ）前記動作記述に基づいて、等価機能の複数の論理ゲート回路を生成するステップと、
（ｂ）前記複数の論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、前記テストポイントの挿入が必要と判定した場合に前記テストポイントを挿入するステップと、
（ｃ）前記（ｂ）の工程が終了した前記複数の論理ゲート回路それぞれについて面積を算出するステップと、
（ｄ）前記面積が最も小さい論理ゲート回路を選択して論理合成を行うステップとを少なくとも有することを特徴とするコンピュータに実行させるプログラム。
【請求項１０】
レジスタトランスファレベルの動作記述に基づく論理合成をコンピュータによって行うためのプログラムであって、
（ａ）前記動作記述に基づいて、等価機能の複数の論理ゲート回路を生成するステップと、
（ｂ）前記複数の論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、前記テストポイントの挿入が必要と判定した場合に前記テストポイントを挿入するステップと、
（ｃ）前記（ｂ）のステップが終了した前記複数の論理ゲート回路それぞれについてタイミング計算を行って回路速度を算出するステップと、
（ｄ）前記回路速度が最も速い論理ゲート回路を選択して論理合成を行うステップとを少なくとも有することを特徴とするコンピュータに実行させるプログラム。
【請求項１１】
レジスタトランスファレベルの動作記述に基づく論理合成をコンピュータによって行うためのプログラムであって、
（ａ）前記動作記述に基づいて、等価機能の複数の論理ゲート回路を生成するステップと、
（ｂ）前記複数の論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、前記テストポイントの挿入が必要と判定した場合に前記テストポイントを挿入するステップと、
（ｃ）前記（ｂ）のステップが終了した前記複数の論理ゲート回路それぞれについてテストパターンの生成を行うステップと、
（ｄ）生成された前記テストパターンの数が最も少ない論理ゲート回路を選択して論理合成を行うステップとを少なくとも有することを特徴とするコンピュータに実行させるプログラム。
【請求項１２】
レジスタトランスファレベルの動作記述に基づく論理合成をコンピュータによって行うためのプログラムであって、
（ａ）前記動作記述に基づいて、等価機能の複数の論理ゲート回路を生成するステップと、
（ｂ）前記複数の論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、前記テストポイントの挿入が必要と判定した場合に前記テストポイントを挿入するステップと、
（ｃ）前記（ｂ）のステップが終了した前記複数の論理ゲート回路それぞれについて、面積を算出し、又タイミング計算を行って回路速度を算出し、更にテストパターンの生成を行うステップと、
（ｆ）前記面積、前記回路速度、及び生成された前記テストパターンの数に基づいて、前記（ｂ）の工程によって変化するコストを前記複数の論理ゲート回路毎に算出するステップと、
（ｇ）算出した前記コストが最も小さい論理ゲート回路を選択して論理合成を行うステップとを少なくとも有することを特徴とするコンピュータに実行させるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路のテスト容易化設計を実行するためのテストポイントの挿入を行いながら論理合成を行う方法に関する。
【０００２】
【従来の技術】
近年、半導体集積回路の集積技術の発展に伴い、回路規模が２００万〜３００万ゲートにもおよぶ論理ＬＳＩの設計が行われている。このため、いわゆるテスト容易化設計の重要性が高まっている。テスト容易化設計とは、半導体集積回路のテストの方針を設計の段階で固め、半導体集積回路のなかにテスト回路を作り込んでおく手法をいう。
【０００３】
このテスト容易化設計において、テストを行い易いかどうか、即ち、故障検出率を上げることができるかどうかは、可観測性と可制御性とによって判断することができる。可観測性とは、回路のなかのあるノードについて、その論理値を外部から観測しやすいかどうかいい、可制御性とは、あるノードの論理値を外部からの入力によって設定しやすいかどうかをいう。
【０００４】
このため、テスト容易設計においては、可観測性及び可制御性を高めるため、例えば、観測や制御の困難な箇所を見つけ出し、この箇所にテストポイントと呼ばれるレジスタを挿入する手法が用いられている。
【０００５】
次に、従来のテスト容易化設計について図１０を用いて説明する。図１０は、従来の論理合成方法を示すフローチャートである。テストポイントの挿入は、通常ゲートレベルに対して行われる。
【０００６】
図１０に示すように、先ず、ＨＤＬ（Ｈａｒｄｗａｒｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）を用いて生成されたＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）記述に基づいて、論理合成が行われ、ネットリストが生成される（ステップＳ４１）。なお、ＲＴＬ記述はテストポイントの挿入を特に考慮しないで生成されている。
【０００７】
次に、ステップＳ４１で生成されたネットリストに対してテストポイントの挿入判定を行って挿入箇所を検出し、テストポイントの挿入が行われる（ステップＳ４２）。この場合、テストポイントの挿入によって遅延値が変化するため、タイミングの最適化を行う必要がある。よって、その後、再度の論理合成が行われて論理の最適化が行われ、最適化されたネットリストが生成される（ステップＳ４３）。
【０００８】
このように図１０に示す論理合成方法に従えば、テストポイントの挿入に対応して最適化が図られたネットリストを得ることができるので、テスト容易化設計が達成される。また、論理合成を一回にして設計期間の短縮を計るために、ＲＴＬ記述に対してテストポイントを挿入する論理合成方法も知られている（例えば、特許文献１参照。）。
【０００９】
【特許文献１】
特開平８−１６６５６号公報
【００１０】
【発明が解決しようとする課題】
しかしながら、上述した従来の論理合成方法においては、テストポイントの挿入が適切かどうかを判断する基準がない。このため、不必要なテストポイントの挿入によって、チップ面積の増加、処理速度の低下、テスト時間の遅延、更にはコストの上昇等といった問題が生じてしまう場合がある。
【００１１】
本発明の目的は、上記問題を解消し、テストポイントの挿入が適切であるかどうかの判断を容易に行い得、且つ、論理合成の回数を一回として設計期間の短縮化を図り得る論理合成装置及び論理合成方法を提供することにある。
【００１２】
【課題を解決するための手段】
上記目的を達成するために本発明にかかる第１の論理合成装置は、レジスタトランスファレベルの動作記述に基づいてネットリストを生成する論理合成装置であって、前記動作記述に基づいて、等価機能の複数の論理ゲート回路を生成する論理ゲート回路生成部と、前記複数の論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、前記テストポイントの挿入が必要と判定した場合に前記テストポイントを挿入するテストポイント挿入判定部と、前記テストポイント挿入判定部による処理が終了した前記複数の論理ゲート回路それぞれについて面積を算出する面積算出部と、前記面積が最も小さい論理ゲート回路を選択して論理合成を行う論理合成部とを少なくとも有することを特徴とする。
【００１３】
上記目的を達成するために本発明にかかる第２の論理合成装置は、レジスタトランスファレベルの動作記述に基づいてネットリストを生成する論理合成装置であって、前記動作記述に基づいて、等価機能の複数の論理ゲート回路を生成する論理ゲート回路生成部と、前記複数の論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、前記テストポイントの挿入が必要と判定した場合に前記テストポイントを挿入するテストポイント挿入判定部と、前記テストポイント挿入判定部による処理が終了した前記複数の論理ゲート回路それぞれについてタイミング計算を行って回路速度を算出する回路速度算出部と、前記回路速度が最も速い論理ゲート回路を選択して論理合成を行う論理合成部とを少なくとも有することを特徴とする。
【００１４】
上記目的を達成するために本発明にかかる第３の論理合成装置は、レジスタトランスファレベルの動作記述に基づいてネットリストを生成する論理合成装置であって、前記動作記述に基づいて、等価機能の複数の論理ゲート回路を生成する論理ゲート回路生成部と、前記複数の論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、前記テストポイントの挿入が必要と判定した場合に前記テストポイントを挿入するテストポイント挿入判定部と、前記テストポイント挿入判定部による処理が終了した前記複数の論理ゲート回路それぞれについてテストパターンの生成を行うテストパターン生成部と、生成された前記テストパターンの数が最も少ない論理ゲート回路を選択して論理合成を行う論理合成部とを少なくとも有することを特徴とする。
【００１５】
上記目的を達成するために本発明にかかる第４の論理合成装置は、レジスタトランスファレベルの動作記述に基づいてネットリストを生成する論理合成装置であって、前記動作記述に基づいて、等価機能の複数の論理ゲート回路を生成する論理ゲート回路生成部と、前記複数の論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、前記テストポイントの挿入が必要と判定した場合に前記テストポイントを挿入するテストポイント挿入判定部と、前記テストポイント挿入判定部による処理が終了した前記複数の論理ゲート回路それぞれについて、面積を算出し、又タイミング計算を行って回路速度を算出し、更にテストパターンの生成を行い、前記面積、前記回路速度、及び生成された前記テストパターンの数に基づいて、前記テストポイント挿入判定部による処理によって変化するコストを前記論理ゲート回路毎に算出するコスト算出部と、算出した前記コストが最も小さい論理ゲート回路を選択して論理合成を行う論理合成部とを少なくとも有することを特徴とする。
【００１６】
次に、上記目的を達成するために本発明にかかる第１の論理合成方法は、レジスタトランスファレベルの動作記述に基づいてネットリストを生成する論理合成方法であって、（ａ）前記動作記述に基づいて、等価機能の複数の論理ゲート回路を生成する工程と、（ｂ）前記複数の論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、前記テストポイントの挿入が必要と判定した場合に前記テストポイントを挿入する工程と、（ｃ）前記（ｂ）の工程が終了した前記複数の論理ゲート回路それぞれについて面積を算出する工程と、（ｄ）前記面積が最も小さい論理ゲート回路を選択して論理合成を行う工程とを少なくとも有することを特徴とする。
【００１７】
また、上記目的を達成するために本発明にかかる第２の論理合成方法は、レジスタトランスファレベルの動作記述に基づいてネットリストを生成する論理合成方法であって、（ａ）前記動作記述に基づいて、等価機能の複数の論理ゲート回路を生成する工程と、（ｂ）前記複数の論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、前記テストポイントの挿入が必要と判定した場合に前記テストポイントを挿入する工程と、（ｃ）前記（ｂ）の工程が終了した前記複数の論理ゲート回路それぞれについてタイミング計算を行って回路速度を算出する工程と、（ｄ）前記回路速度が最も速い論理ゲート回路を選択して論理合成を行う工程とを少なくとも有することを特徴とする。
【００１８】
また、上記目的を達成するために本発明にかかる第３の論理合成方法は、レジスタトランスファレベルの動作記述に基づいてネットリストを生成する論理合成方法であって、（ａ）前記動作記述に基づいて、等価機能の複数の論理ゲート回路を生成する工程と、（ｂ）前記複数の論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、前記テストポイントの挿入が必要と判定した場合に前記テストポイントを挿入する工程と、（ｃ）前記（ｂ）の工程が終了した前記複数の論理ゲート回路それぞれについてテストパターンの生成を行う工程と、（ｄ）生成された前記テストパターンの数が最も少ない論理ゲート回路を選択して論理合成を行う工程とを少なくとも有することを特徴とする。
【００１９】
また、上記目的を達成するために本発明にかかる第４の論理合成方法は、レジスタトランスファレベルの動作記述に基づいてネットリストを生成する論理合成方法であって、（ａ）前記動作記述に基づいて、等価機能の複数の論理ゲート回路を生成する工程と、（ｂ）前記複数の論理ゲート回路それぞれに対してテストポイントの挿入が必要かどうか判定し、前記テストポイントの挿入が必要と判定した場合に前記テストポイントを挿入する工程と（ｃ）前記（ｂ）の工程が終了した前記複数の論理ゲート回路それぞれについて、面積を算出し、又タイミング計算を行って回路速度を算出し、更にテストパターンの生成を行う工程と、（ｆ）前記面積、前記回路速度、及び生成された前記テストパターンの数に基づいて、前記（ｂ）の工程によって変化するコストを前記論理ゲート回路毎に算出する工程と、（ｇ）算出した前記コストが最も小さい論理ゲート回路を選択して論理合成を行う工程とを少なくとも有することを特徴とする。
【００２０】
なお、本発明は、上記の本発明にかかる論理合成方法を具現化するためのプログラムであっても良い。このプログラムをコンピュータにインストールして実行することにより、上記の本発明にかかる論理合成方法を実行できる。
【００２１】
【発明の実施の形態】
（実施の形態１）
以下、本発明の実施の形態１にかかる論理合成装置及び論理合成方法について、図１〜図３を参照しながら説明する。最初に、本実施の形態１にかかる論理合成装置の構成について図１及び図２を用いて説明する。図１は、本発明の実施の形態１にかかる論理合成装置の構成を概略的に示す図である。図２は、レジスタトランスファレベルの動作記述から生成された論理ゲート回路を示す図である。なお、図２（ａ）及び（ｂ）に示す論理ゲート回路は、同じ動作記述に基づいて生成されたものであり、等価機能の回路である。
【００２２】
図１に示すように、本実施の形態１にかかる論理合成装置は、論理ゲート回路生成部１と、テストポイント挿入判定部２と、面積算出部３と、論理合成部４とを有しており、この構成により、レジスタトランスファレベルの動作記述（ＲＴＬ記述）５に基づいてネットリスト６を生成する。
【００２３】
論理ゲート回路生成部１は、図２（ａ）及び（ｂ）に示すように、ＲＴＬ記述５に基づいて、等価機能の複数の論理ゲート回路を生成する。この生成された複数の論理ゲート回路は、論理合成部４が論理合成を行う際の選択の候補となる。
【００２４】
テストポイント挿入判定部２は、論理ゲート回路生成部１が生成した複数の論理ゲート回路それぞれに対して、テストポイントの挿入が必要かどうか判定し、テストポイントの挿入が必要と判定した場合はテストポイントを挿入する。なお、テストポイント挿入判定部２は、可観測性及び可制御性の計算結果に基づいてテストポイントを挿入するかどうかを判定する。
【００２５】
図１及び図２の例では、テストポイント挿入判定部２は、図２（ａ）に示す論理ゲート回路については、テストポイントの挿入が必要ないと判定している。一方、テストポイント挿入判定部２は、図２（ｂ）に示す論理ゲート回路については、テストポイントの挿入が必要であると判定し、テストポイントの挿入を行っている。
【００２６】
面積算出部３は、テストポイント挿入判定部２による処理が終了した後、論理ゲート回路生成部１が生成した各論理ゲート回路について面積を算出する。例えば、図２（ａ）に示す論理ゲート回路にはテストポイントが挿入されないため、テストポイントが挿入されていない状態での面積が算出される。一方、図２（ｂ）に示す論理ゲート回路にはテストポイントが挿入されているため、テストポイントが挿入された状態での面積が算出される。
【００２７】
論理合成部４は、等価機能の複数の論理ゲート回路のなかから、面積算出部３で算出された面積が最も小さい論理ゲート回路を選択し、選択された論理ゲート回路を用いて論理合成を行い、ネットリスト６を出力する。
【００２８】
次に、本実施の形態１にかかる論理合成方法について図３を用いて説明する。但し、本実施の形態１にかかる論理合成方法は、図１に示した本実施の形態１にかかる論理合成装置を動作させることによって実施される。このため、本実施の形態１にかかる論理合成方法は、適宜図１を参酌しながら、図１に示す論理合成装置の動作と共に説明する。図３は、本発明の実施の形態１にかかる論理合成装置の動作を示すフローチャートである。
【００２９】
図３に示すように、最初に、論理ゲート回路生成部１によって、ＲＴＬ記述５を読み出し、これに基づいて、等価機能の複数の論理ゲート回路（図２参照）を生成する（ステップＳ１）。
【００３０】
次に、テストポイント挿入判定部２によって、ステップＳ１で生成された各論理ゲート回路について、テストポイントの挿入が必要かどうかの判定を行い、テストポイントの挿入が必要と判定された論理ゲート回路に対してはテストポイントを挿入する（ステップＳ２）。
【００３１】
次に、面積算出部３によって、ステップＳ２が終了した各論理ゲート回路について面積を算出し（ステップＳ３）、次いで、論理合成部４によって、ステップＳ３で算出された面積を比較し、等価機能の複数の論理ゲート回路の中から面積が最も小さい論理ゲート回路を選択する（ステップＳ４）。
【００３２】
その後、論理合成部４により、ステップＳ４で選択された論理ゲート回路を用いて論理合成を行って、ネットリスト６を出力する（ステップＳ５）。なお、図３では示していないが、ＲＴＬ記述５に表現されている機能が複数ある場合は、全ての機能についてステップＳ１〜Ｓ４を実行した後、ステップＳ５が実行される。
【００３３】
以上のように、本実施の形態１にかかる論理合成装置及び論理合成方法によれば、動作記述に表現された機能に対して複数の論理ゲート回路が論理合成の候補として生成され、各論理ゲート回路に必要に応じてテストポイントの挿入が行われた後、そのうち面積が最も小さいものが選択されて論理合成が行われる。このため、本実施の形態１にかかる論理合成装置及び論理合成方法によれば、適切なテストポイントの挿入を容易に行うことができ、論理合成を一回で終了することができる。また、本実施の形態１によれば、テストポイントの挿入を最小限に抑えることができるので、チップ面積が増加するのを抑制することができる。
【００３４】
なお、本実施の形態１にかかる論理合成装置は、コンピュータに、図３に示すステップＳ１〜Ｓ５を具現化させるプログラムをインストールし、このプログラムを実行することによっても、実現することができる。この場合、コンピュータのＣＰＵ（ｃｅｎｔｒａｌ    ｐｒｏｃｅｓｓｉｎｇ    ｕｎｉｔ）は、論理ゲート回路生成部１、テストポイント挿入判定部２、面積算出部３、及び論理合成部４として機能し、処理を行う。
【００３５】
ＲＴＬ記述５は、論理合成装置を構成するコンピュータに備えられたハードディスク等の記憶装置に、これを構成するデータファイルを格納することによって、又はこのデータファイルが格納された記録媒体をコンピュータと接続された読取装置に搭載することによって提供される。また、ＲＴＬ記述５は、論理合成装置を構成しているコンピュータとは別のコンピュータに格納されていても良く、この場合は、通信回線を介して提供される。
【００３６】
また、論理合成部４がネットリスト６を出力する先は、論理合成装置を構成しているコンピュータに備えられたハードディスク等の記憶装置であっても良いし、論理合成装置を構成しているコンピュータと接続された別のコンピュータの記憶装置であっても良い。
【００３７】
（実施の形態２）
次に本発明の実施の形態２にかかる論理合成装置及び論理合成方法について、図４及び図５を参照しながら説明する。最初に本実施の形態２にかかる論理合成装置の構成について図４を用いて説明する。図４は、本発明の実施の形態２にかかる論理合成装置の構成を概略的に示す図である。
【００３８】
図４に示すように、本実施の形態２にかかる論理合成装置は、回路速度算出部１３を有しており、この点で実施の形態１にかかる論理合成装置と異なっている。回路速度算出部１３は、テストポイント挿入判定部１２による処理が終了した後、複数の論理ゲート回路それぞれについてタイミング計算を行って、各論理ゲート回路の回路速度を算出する。なお、本発明でいう「回路速度」とは、論理ゲート回路における信号伝播の遅延時間のことを意味する。
【００３９】
また、このため、論理合成部１４は、実施の形態１と異なり、等価機能の複数の論理ゲート回路のなかから、回路速度算出部１３で算出された回路速度が最も速い論理ゲート回路、即ち遅延時間が最も小さい論理ゲート回路を選択する。
【００４０】
本実施の形態２においても、論理合成部１４は、選択された論理ゲート回路を用いて論理合成を行い、ネットリスト１６を出力する。論理ゲート回路生成部１１及びテストポイント挿入判定部１２は、実施の形態１で示したものと同様のものである。
【００４１】
次に、本実施の形態２にかかる論理合成方法について図５を用いて説明する。本実施の形態２にかかる論理合成方法も、実施の形態１と同様に、論理合成装置を動作させることによって実施される。このため、本実施の形態２にかかる論理合成方法も、図４に示す論理合成装置の動作と共に説明する。図５は、本発明の実施の形態２にかかる論理合成装置の動作を示すフローチャートである。
【００４２】
図５に示すように、最初に、論理ゲート回路生成部１１によって、等価機能の複数の論理ゲート回路を生成し（ステップＳ１１）、テストポイント挿入判定部１２によって、テストポイントの挿入が必要かどうかの判定及びテストポイントの挿入を行う（ステップＳ１２）。なお、ステップＳ１１及びＳ１２は、図３で示したステップＳ１及びＳ２と同様のステップである。
【００４３】
次に、回路速度算出部１３によって、ステップＳ１２が終了した各論理ゲート回路についてタイミング計算を行って、各論理ゲート回路の回路速度を算出する（ステップＳ１３）。次いで、論理合成部１４によって、ステップＳ１３で算出された回路速度を比較し、等価機能の複数の論理ゲート回路の中から回路速度が最も速い論理ゲート回路を選択する（ステップＳ１４）。
【００４４】
その後、論理合成部１４により、ステップＳ１４で選択された論理ゲート回路を用いて論理合成を行って、ネットリスト１６を出力する（ステップＳ１５）。なお、ステップＳ１５は、図１で示したＳ５と同様のステップである。また、図５においても示していないが、ＲＴＬ記述１５に表現されている機能が複数ある場合は、全ての機能についてステップＳ１１〜Ｓ１４を実行した後、ステップＳ１５が実行される。
【００４５】
以上のように、本実施の形態２にかかる論理合成装置及び論理合成方法によれば、等価機能の複数の論理ゲート回路の中から、回路速度が最も速い論理ゲート回路が選択されて論理合成が行なわれる。このため、本実施の形態２おいても、実施の形態１と同様に、適切なテストポイントの挿入を容易に行うことができ、論理合成を一回で終了することができる。また、本実施の形態２によれば、テストポイントの挿入による速度の遅延を最小限に抑えることができる。
【００４６】
なお、本実施の形態２にかかる論理合成装置も、コンピュータに、図５に示すステップＳ１１〜Ｓ１５を具現化させるプログラムをインストールし、このプログラムを実行することによって実現することができる。
【００４７】
（実施の形態３）
次に本発明の実施の形態３にかかる論理合成装置及び論理合成方法について、図６及び図７を参照しながら説明する。最初に本実施の形態３にかかる論理合成装置の構成について図６を用いて説明する。図６は、本発明の実施の形態３にかかる論理合成装置の構成を概略的に示す図である。
【００４８】
図６に示すように、本実施の形態３にかかる論理合成装置は、テストパターン生成部２３を有しており、この点で実施の形態１にかかる論理合成装置と異なっている。テストパターン生成部２３は、テストポイント挿入判定部２２による処理が終了した後、複数の論理ゲート回路それぞれについてテストパターンの生成を行う。
【００４９】
また、論理合成部２４は、実施の形態１と異なり、等価機能の複数の論理ゲートのなかから、テストパターン生成部２３で生成されたテストパターンの数が最も少ない論理ゲート回路を選択する。
【００５０】
本実施の形態３においても、論理合成部２４は、選択された論理ゲート回路を用いて論理合成を行い、ネットリスト２６を出力する。また、論理ゲート回路生成部２１及びテストポイント挿入判定部２２は、実施の形態１で示したものと同様のものである。
【００５１】
次に、本実施の形態３にかかる論理合成方法について図７を用いて説明する。本実施の形態３にかかる論理合成方法も、実施の形態１と同様に、論理合成装置を動作させることによって実施される。このため、本実施の形態３にかかる論理合成方法も、図６に示す論理合成装置の動作と共に説明する。図７は、本発明の実施の形態３にかかる論理合成装置の動作を示すフローチャートである。
【００５２】
図７に示すように、最初に、論理ゲート回路生成部２１によって、等価機能の複数の論理ゲート回路を生成し（ステップＳ２１）、テストポイント挿入判定部２２によって、テストポイントの挿入が必要かどうかの判定及びテストポイントの挿入を行う（ステップＳ２２）。なお、ステップＳ２１及びＳ２２は、図３で示したステップＳ１及びＳ２と同様のステップである。
【００５３】
次に、テストパターン生成部２３によって、ステップＳ２２が終了した各論理ゲート回路について、テストパターンの生成を行う（ステップＳ２３）。次いで、論理合成部２４によって、ステップＳ２３で生成されたテストパターンの数を比較し、等価機能の複数の論理ゲート回路の中からテストパターンの数が最も少ない論理ゲート回路を選択する（ステップＳ２４）。
【００５４】
その後、論理合成部２４により、ステップＳ２４で選択された論理ゲート回路を用いて論理合成を行って、ネットリスト２６を出力する（ステップＳ２５）。なお、ステップＳ２５は、図１で示したＳ５と同様のステップである。また、図７においても示していないが、ＲＴＬ記述２５に表現されている機能が複数ある場合は、全ての機能についてステップＳ２１〜Ｓ２４を実行した後、ステップＳ２５が実行される。
【００５５】
以上のように、本実施の形態３にかかる論理合成装置及び論理合成方法によれば、等価機能の複数の論理ゲート回路の中から、テストパターンの数が最も少ない論理ゲート回路が選択されて論理合成が行なわれる。このため、本実施の形態３においても、実施の形態１と同様に、適切なテストポイントの挿入を容易に行うことができ、論理合成を一回で終了することができる。また、本実施の形態３によれば、テストに要する時間を減縮でき、半導体集積回路の開発期間の短縮を図ることができる。
【００５６】
なお、本実施の形態３にかかる論理合成装置も、コンピュータに、図７に示すステップＳ２１〜Ｓ２５を具現化させるプログラムをインストールし、このプログラムを実行することによって実現することができる。
【００５７】
（実施の形態４）
次に本発明の実施の形態４にかかる論理合成装置及び論理合成方法について、図８及び図９を参照しながら説明する。最初に本実施の形態４にかかる論理合成装置の構成について図８を用いて説明する。図８は、本発明の実施の形態４にかかる論理合成装置の構成を概略的に示す図である。
【００５８】
図８に示すように、本実施の形態４にかかる論理合成装置は、コスト算出部３３を有しており、この点で実施の形態１にかかる論理合成装置と異なっている。コスト算出部３３は、テストポイント挿入判定部３２による処理が終了した後、複数の論理ゲート回路それぞれについて、面積及び回路速度の算出とテストパターンの生成とを行う。つまり、コスト算出部３３は、面積算出部（図１参照）、回路速度算出部（図４参照）、及びテストパターン生成部（図６参照）と同様の機能を備えている。
【００５９】
また、コスト算出部３３は、算出された面積及び回路速度と、生成されたテストパターンの数とに基づいて、テストポイント挿入判定部２３による処理によって変化するコストを論理ゲート回路毎に算出する。本実施の形態４では、コスト算出部３３は、評価関数を用いて、テストポイントの挿入によって生じるコストの増加分やチップ価格の低下額を算出し、これらの和をコストの変化分としてコストを算出する。
【００６０】
具体的には、コスト算出部３３は、論理ゲート回路の面積と半導体集積回路の製造コストとの関係を示す評価関数を用いて、半導体集積装置の単位面積当たりの製造コストを算出し、算出された製造コストとテストポイントの挿入による面積増分との積を求めることで、面積増分によるコストの増分を算出する。また、コスト算出部３３は、回路速度とチップ価格との関係を示す評価関数を用いて、テストポイントの挿入による回路速度の低下量をチップ価格の低下額に換算して、回路速度低下によるチップ価格の低下額を算出する。更に、コスト算出部３３は、テストパターンの数とテスト費用との関係を示す評価関数を用いて、テストパターンの数の増加によるテストコストの増加分を算出する。
【００６１】
なお、図２（ａ）で示した論理ゲート回路のように、テストポイントの挿入が必要ないと判定された論理ゲート回路については、テストポイントは挿入されないため、上記したコストの増加やチップ価格の低下は生じないと考えられるので、コストの変化分は０（ゼロ）となる。よって、テストポイントの挿入が必要ないと判定された論理ゲート回路については、面積及び回路速度の算出とテストパターンの生成とを行わないで、コストの変化分を０（ゼロ）とする態様としても良い。
【００６２】
また、論理合成部３４は、実施の形態１と異なり、等価機能の複数の論理ゲートのなかから、コスト算出部３３によって算出されたコストが最も小さい論理ゲート回路を選択する。
【００６３】
本実施の形態４においても、論理合成部３４は、選択された論理ゲート回路を用いて論理合成を行い、ネットリスト３６を出力する。また、論理ゲート回路生成部３１及びテストポイント挿入判定部３２は、実施の形態１で示したものと同様のものである。
【００６４】
次に、本実施の形態４にかかる論理合成方法について図９を用いて説明する。本実施の形態４にかかる論理合成方法も、実施の形態１と同様に、論理合成装置を動作させることによって実施される。このため、本実施の形態４にかかる論理合成方法も、図８に示す論理合成装置の動作と共に説明する。図９は、本発明の実施の形態４にかかる論理合成装置の動作を示すフローチャートである。
【００６５】
図９に示すように、最初に、論理ゲート回路生成部３１によって、等価機能の複数の論理ゲート回路を生成し（ステップＳ３１）、テストポイント挿入判定部３２によって、テストポイントの挿入が必要かどうかの判定及びテストポイントの挿入を行う（ステップＳ３２）。なお、ステップＳ３１及びＳ３２は、図３で示したステップＳ１及びＳ２と同様のステップである。
【００６６】
次に、コスト算出部３３によって、ステップＳ３２が終了した各論理ゲート回路について、面積を算出し、又タイミング計算を行って回路速度を算出し、更にテストパターンの生成を行う（ステップＳ３３）。次いで、ステップＳ３３で算出した面積及び回路速度と、ステップＳ３３で生成したテストパターンの数とを用いて、コストの算出を行う（ステップＳ３４）。
【００６７】
次に、論理合成部３４により、ステップＳ３４で算出されたコストを比較し、等価機能の複数の論理ゲート回路の中からコストが最も小さい論理ゲート回路を選択する（ステップＳ３５）。
【００６８】
その後、論理合成部３４により、ステップＳ３５で選択された論理ゲート回路を用いて論理合成を行って、ネットリスト３６を出力する（ステップＳ３６）。なお、ステップＳ３６は、図１で示したＳ５と同様のステップである。また、図９においても示していないが、ＲＴＬ記述３５に表現されている機能が複数ある場合は、全ての機能についてステップＳ３１〜Ｓ３５を実行した後、ステップＳ３６が実行される。
【００６９】
以上のように、本実施の形態４にかかる論理合成装置及び論理合成方法によれば、等価機能の複数の論理ゲート回路の中から、テストポイント挿入による損失額が最も小さい論理ゲート回路が選択されて論理合成が行なわれる。このため、本実施の形態４おいても、実施の形態１と同様に、適切なテストポイントの挿入を容易に行うことができ、論理合成を一回で終了することができる。また、本実施の形態４によれば、半導体集積回路の開発コストの削減を図ることができる。
【００７０】
なお、本実施の形態２にかかる論理合成装置も、コンピュータに、図９に示すステップＳ３１〜Ｓ３５を具現化させるプログラムをインストールし、このプログラムを実行することによって実現することができる。
【００７１】
【発明の効果】
以上のように、本発明にかかる論理合成装置及び論理合成方法によれば、挿入されたテストポイントについて適切かどうかの判断が行われることとなるため、適切なテストポイントの挿入を容易に行うことができる。よって、不必要なテストポイントが挿入されるのを抑制することができ、テストポイントの挿入による、例えば、チップ面積のオーバーヘッドの増加、回路速度の低下によるスラックの発生、テストパターン数の増加による開発期間の長期化、コストの増加やチップ価格の低下などを抑制することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態１にかかる論理合成装置の構成を概略的に示す図である。
【図２】レジスタトランスファレベルの動作記述から生成された論理ゲート回路を示す図である。
【図３】本発明の実施の形態１にかかる論理合成装置の動作を示すフローチャートである。
【図４】本発明の実施の形態２にかかる論理合成装置の構成を概略的に示す図である。
【図５】本発明の実施の形態２にかかる論理合成装置の動作を示すフローチャートである。
【図６】本発明の実施の形態３にかかる論理合成装置の構成を概略的に示す図である。
【図７】本発明の実施の形態３にかかる論理合成装置の動作を示すフローチャートである。
【図８】本発明の実施の形態４にかかる論理合成装置の構成を概略的に示す図である。
【図９】本発明の実施の形態４にかかる論理合成装置の動作を示すフローチャートである。
【図１０】従来の論理合成方法を示すフローチャートである。
【符号の説明】
１、１１、２１、３１  論理ゲート回路生成部
２、１２、２２、３２  テストピント挿入判定部
３  面積算出部
４、１４、２４、３４  論理合成部
５、１５、２５、３５  ＲＴＬ記述
６、１６、２６、３６  ネットリスト
１３  回路速度算出部
２３  テストパターン生成部
３３  コスト算出部
【図１】
2004227517.tif 000003
【図２】
2004227517.tif 000004
【図３】
2004227517.tif 000005
【図４】
2004227517.tif 000006
【図５】
2004227517.tif 000007
【図６】
2004227517.tif 000008
【図７】
2004227517.tif 000009
【図８】
2004227517.tif 000010
【図９】
2004227517.tif 000011
【図１０】
2004227517.tif 000012