(57)【要約】【課題】タイミング検証におけるクロック系統の解析時間を短縮することのできるクロック経路抽出装置を提供する。【解決手段】実施形態のクロック経路抽出装置１は、クロック経路探索部１１が、ＲＴＬ記述データ１００を解析し、指定されたモジュールのクロック端子からクロック生成起点までのクロック経路を探索し、クロック経路抽出部１２が、クロック制御情報２００にもとづいて無効クロック経路を除外し、有効クロック経路のみを抽出する。さらに、クロック系統図生成部１３が、クロック生成起点のクロック周波数情報３００にもとづいて、クロック周波数が同一である有効クロック経路を有する複数のモジュールを、クロック周波数ごとに１つのブロックに集約し、そのブロックおよびクロック生成起点をそれぞれ図形で表し、その図形間を１本のクロック線で結んだクロック系統図を生成する。【選択図】  図１
2012190291.tif 000002
【特許請求の範囲】
【請求項１】
入力されたＲＴＬ記述データを解析し、指定されたモジュールのクロック端子からクロック生成起点までのクロック経路を探索するクロック経路探索部と、
入力されたクロック制御情報にもとづいて無効クロック経路を除外し、前記クロック経路から有効クロック経路のみを抽出するクロック経路抽出部と、
前記クロック生成起点のクロック周波数情報にもとづいて、クロック周波数が同一である有効クロック経路を有する複数のモジュールを、クロック周波数ごとに１つのブロックに集約し、前記ブロックおよび前記クロック生成起点をそれぞれ図形で表し、前記図形間を１本のクロック線で結んだクロック系統図を生成するクロック系統図生成部と
を備えることを特徴とするクロック経路抽出装置。
【請求項２】
前記有効クロック経路が、非同期動作検証ツールへ入力される
ことを特徴とする請求項１に記載のクロック経路抽出装置。
【請求項３】
対話形式入力部をさらに備え、
前記クロック系統図生成部が、前記対話形式入力部を介して入力されたユーザの要求に応じて、指定されたクロック線のみを表示するクロック系統図を生成する
ことを特徴とする請求項２に記載のクロック経路抽出装置。
【請求項４】
前記クロック系統図生成部が、前記ユーザの要求に応じて、前記クロック線の周波数を前記クロック系統図に表示する
ことを特徴とする請求項３に記載のクロック経路抽出装置。
【請求項５】
前記クロック系統図生成部が、前記ユーザの要求に応じて、指定されたクロック線と他のクロック線との同期／非同期関係を前記クロック系統図に表示する
ことを特徴とする請求項４に記載のクロック経路抽出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、クロック経路抽出装置に関する。
【背景技術】
【０００２】
近年、半導体集積回路の複雑化に伴い、その内部で使用されるクロック系統も複雑になる傾向がある。そのため、クロック周波数の異なるモジュール間でデータの転送を行う非同期動作を行う機会も多くなる。非同期動作を行う回路の設計に当たっては、非同期動作検証ツールによるタイミング検証が行われる。その際、検証時間短縮のため、ＲＴＬ記述データに対するスタティックなタイミング検証を行う非同期動作検証ツールが用いられる。
【０００３】
このようなスタティックなタイミング検証を行う非同期動作検証ツールを用いる際は、検証対象のモジュールそれぞれのクロックに関して、クロック起点からの経路情報および周波数情報を入力する必要がある。そのため、従来、例えばＲＴＬ記述データから、クロック経路情報およびクロック周波数情報を抽出することが行われている。
【０００４】
この非同期動作検証ツールによるタイミング検証でタイミングエラーが検出された場合、その原因を解析する必要が生じる。この解析に当たって、設計者は、エラーが検出されたモジュールのクロック経路のタイミング解析などを行う。その際、非同期動作検証ツールへ入力されたクロック経路情報は、テキストベースの情報であるので、各モジュールのクロック間の関係がわかりにくい。
【０００５】
このように、従来、非同期動作検証ツールを用いるスタティックなタイミング検証では、クロック系統の解析に時間を要する、という問題があった。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−６７４４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
そこで、本発明が解決しようとする課題は、タイミング検証におけるクロック系統の解析時間を短縮することのできるクロック経路抽出装置を提供することにある。
【課題を解決するための手段】
【０００８】
実施形態のクロック経路抽出装置は、クロック経路探索部が、入力されたＲＴＬ記述データを解析し、指定されたモジュールのクロック端子からクロック生成起点までのクロック経路を探索し、クロック経路抽出部が、入力されたクロック制御情報にもとづいて無効クロック経路を除外し、前記クロック経路から有効クロック経路のみを抽出する。さらに、クロック系統図生成部が、前記クロック生成起点のクロック周波数情報にもとづいて、クロック周波数が同一である有効クロック経路を有する複数のモジュールを、クロック周波数ごとに１つのブロックに集約し、前記ブロックおよび前記クロック生成起点をそれぞれ図形で表し、前記図形間を１本のクロック線で結んだクロック系統図を生成する。
【図面の簡単な説明】
【０００９】
【図１】本発明の第１の実施形態に係るクロック経路抽出装置の構成の例を示すブロック図。
【図２】クロック制御情報、クロック周波数情報の例を示す図。
【図３】本発明の第１の実施形態に係るクロック経路抽出装置における処理の流れの例を示すフロー図。
【図４】本発明の第１の実施形態に係るクロック経路抽出装置から出力されるクロック経路情報の例を示す図。
【図５】本発明の第１の実施形態に係るクロック経路抽出装置から出力されるクロック系統図の例を示す図。
【図６】本発明の第２の実施形態に係るクロック経路抽出装置の構成の例を示すブロック図。
【図７】本発明の第２の実施形態に係るクロック経路抽出装置から出力されるモニタ表示形式クロック系統図の例を示す図。
【図８】本発明の第２の実施形態に係るクロック経路抽出装置から出力されるモニタ表示形式クロック系統図の例を示す図。
【図９】本発明の第２の実施形態に係るクロック経路抽出装置から出力されるモニタ表示形式クロック系統図の例を示す図。
【図１０】本発明の第２の実施形態に係るクロック経路抽出装置から出力されるモニタ表示形式クロック系統図の例を示す図。
【図１１】本発明の第２の実施形態に係るクロック経路抽出装置から出力されるクロック系統図の例を示す図。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態について図面を参照して説明する。なお、図中、同一または相当部分には同一の符号を付して、その説明は繰り返さない。
【００１１】
（第１の実施形態）
図１は、本発明の第１の実施形態に係るクロック経路抽出装置の構成の例を示すブロック図である。
【００１２】
本実施形態のクロック経路抽出装置１は、検証対象モジュールのモジュール名が入力されると、入力されたＲＴＬ記述データ１００を解析し、検証対象モジュールのクロック端子からクロック生成起点までのクロック経路を探索するクロック経路探索部１１と、クロック経路探索部１１により探索されたクロック経路から、入力されたクロック制御情報２００にもとづいて無効クロック経路を除外し、有効クロック経路のみを抽出したクロック経路情報２０を出力するクロック経路抽出部１２と、クロック生成起点のクロック周波数情報３００にもとづいて、クロック周波数が同一である有効クロック経路を有する複数のモジュールを、クロック周波数ごとに１つのブロックに集約し、そのブロックおよびクロック生成起点をそれぞれ図形で表し、その図形間を１本のクロック線で結んだクロック系統図３０を生成するクロック系統図生成部１３と、を備える。
【００１３】
本実施形態のクロック経路抽出装置１へは、非同期動作検証ツール（非図示）の検証対象となるモジュール（検証対象モジュール）のモジュール名が入力される。
【００１４】
クロック経路探索部１１は、検証対象モジュールのモジュール名が入力されると、入力されたＲＴＬ記述データ１００の構文解析などを行い、検証対象モジュールのクロック端子から順次クロック経路をバックトレースして、クロック生成起点までのクロック経路を探索する。
【００１５】
この探索経路の途中に、入力された複数のクロック信号の中から１つのクロック信号を選択して出力するクロック制御素子が存在することがある。このクロック制御素子が存在した場合、クロック経路探索部１１は、入力側の複数のクロック信号をそれぞれバックトレースして、それぞれのクロック信号に対するクロック経路を探索する。
【００１６】
しかし、非同期動作検証ツールの検証の際は、クロック制御素子により選択されたクロック信号に対するタイミング検証のみが行われる。このとき、クロック制御素子のクロック選択の制御は、クロック制御情報２００にて行われる。そこで、本実施形態のクロック経路抽出装置１へも、クロック制御情報２００が入力される。
【００１７】
図２（ａ）に、クロック制御情報２００の記述例を示す。クロック制御情報２００には、クロックの選択を指示する制御信号の信号名とその値が記述される。
【００１８】
クロック経路抽出部１２は、クロック経路探索部１１により探索されたクロック経路上にクロック制御素子が存在する場合は、クロック制御情報２００を参照し、どのクロック信号が選択されているかを検査する。そして、選択されていないクロック信号の経路を無効クロック経路として除外し、クロック制御素子により選択されているクロック信号の経路のみを、有効クロック経路として抽出する。
【００１９】
一方、クロック経路探索部１１により探索されたクロック経路上にクロック制御素子が存在しない場合は、クロック経路抽出部１２は、探索されたクロック経路をそのまま有効クロック経路として抽出する。
【００２０】
クロック経路抽出部１２により抽出された有効クロック経路が、クロック経路情報２０として、非同期動作検証ツールへ入力される。
【００２１】
この有効クロック経路に対して、クロック系統図生成部１３が、クロック系統図３０を生成する。その際、検証対象モジュールの数が多いと、有効クロック経路の数も多くなり、これをそのまま図示すると、クロック経路が錯綜して非常に見づらい図になるものと考えられる。
【００２２】
そこで、クロック系統図生成部１３は、クロック生成起点のクロック周波数情報３００にもとづいて、クロック周波数が同一である有効クロック経路を有する複数のモジュールを、クロック周波数ごとに１つのブロックに集約し、そのブロックおよびクロック生成起点をそれぞれ図形で表し、その図形間を１本のクロック線で結ぶようにして、クロック系統図３０を生成する。
【００２３】
これにより、クロック系統図３０に表記されるクロック信号線等の数が少なくなり、図が見やすくなる。その結果、検証対象モジュール間のクロック周波数の関係の把握が容易となる。
【００２４】
図２（ｂ）に、クロック周波数情報３００の記述例を示す。ここでは、クロック生成起点（ＣＫ１、ＣＫ２、ＣＫ３）のクロック周期が、それぞれ記載されている。
【００２５】
次に、図３に示すフロー図を用いて、本実施形態のクロック経路抽出装置１の処理の流れについて説明する。
【００２６】
処理が開始されると、まず、非同期動作検証ツールが検証対象とする、検証対象モジュール名の入力が行われる（ステップＳ０１）。
【００２７】
この入力に対して、クロック経路探索部１１が、ＲＴＬ記述データ１００を検索し、検証対象モジュールのクロック端子の抽出を行う（ステップＳ０２）。
【００２８】
続いて、クロック経路探索部１１は、ＲＴＬ記述データ１００の構文解析などを行いながら、検証対象モジュールのクロック端子から順次クロック経路をバックトレースして、クロック生成起点までのクロック経路を探索する（ステップＳ０３）。
【００２９】
総てのクロック経路の探索が終了すると、クロック経路抽出部１２が、探索されたクロック経路上にクロック制御素子が存在するかどうかを検査し、クロック制御素子が存在する場合は、クロック制御情報２００を読み込む（ステップＳ０４）。
【００３０】
続いて、クロック経路抽出部１２は、クロック制御情報２００にもとづいて、クロック経路探索部１１により探索されたクロック経路から有効クロック経路を抽出する（ステップＳ０５）。
【００３１】
図４に、有効クロック経路の抽出例を示す。この例では、検証対象モジュールＭＤ１〜ＭＤ８と、クロック生成モジュールＣＫＧＥＮに記述されているクロック生成起点ＣＫ１、ＣＫ２、ＣＫ３との間に、有効クロック経路１〜８が抽出されている。
【００３２】
図３のフローに戻って、有効クロック経路の抽出が終了すると、クロック経路抽出部１２は、抽出した有効クロック経路をクロック経路情報２０として出力する（ステップＳ０６）。
【００３３】
次に、クロック系統図生成部１３が、クロック生成起点のクロック周波数情報３００にもとづいて、クロック周波数が同一である有効クロック経路を有する複数のモジュールを、クロック周波数ごとに１つのブロックに集約する（ステップＳ０７）。
【００３４】
続いて、クロック系統図生成部１３は、クロック生成起点および上述のブロックをそれぞれ図形で表し、その図形間を１本のクロック線で結ぶようにして、クロック系統図３０を生成する（ステップＳ０８）。このクロック系統図３０の出力により、一連の処理は終了する。
【００３５】
図５に、クロック系統図３０の例を示す。このクロック系統図３０は、図４に示した有効クロック経路の抽出例に対応したものである。
【００３６】
図５に示す例では、クロック生成起点ＣＫ１が共通のモジュールＭＤ１、ＭＤ３、ＭＤ４が、モジュール集約ブロックＢＫ１に集約され、クロック生成起点ＣＫ２が共通のモジュールＭＤ２、ＭＤ５、ＭＤ６が、モジュール集約ブロックＢＫ２に集約され、クロック生成起点ＣＫ３が共通のモジュールＭＤ７、ＭＤ８が、モジュール集約ブロックＢＫ３に集約されている。
【００３７】
また、クロック生成起点ＣＫ１を表す矩形とモジュール集約ブロックＢＫ１を表す矩形との間が１本のクロック線ＣＬ１で結ばれ、クロック生成起点ＣＫ２を表す矩形とモジュール集約ブロックＢＫ２を表す矩形との間が１本のクロック線ＣＬ２で結ばれ、クロック生成起点ＣＫ３を表す矩形とモジュール集約ブロックＢＫ３を表す矩形との間が１本のクロック線ＣＬ３で結ばれている。
【００３８】
このように、クロック系統図３０では、周波数の異なるクロック生成起点に対して１本ずつクロック線が引かれるだけなので、例えば図４に示したような有効クロック経路をそのまま図示するよりは、図上に示される線の数が大幅に削減される。
【００３９】
このような本実施形態によれば、検証対象モジュールとクロック生成起点との間のクロック経路をクロック生成起点の周波数ごとに集約化したクロック系統図３０が生成されるので、検証対象モジュール間のクロック周波数の関係を容易に把握することができる。これにより、例えば非同期動作検証ツールの検証結果を解析する際に要するクロック系統の解析時間を短縮することができる。
【００４０】
（第２の実施形態）
クロック系統の解析を行う際など、総てのクロック系統の情報が総て表示されているよりも、解析対象のクロック系統の情報のみが必要に応じて表示される方が、より効率的に解析を進めることができる場合がある。そこで、本実施形態では、ユーザの必要とする情報を対話形式で表示することのできるクロック経路抽出装置の例を示す。
【００４１】
図６は、本発明の第２の実施形態に係るクロック経路抽出装置の構成の例を示すブロック図である。
【００４２】
本実施形態のクロック経路抽出装置１Ａは、第１の実施形態のクロック経路抽出装置１に、対話形式入力部１４を追加したものである。
【００４３】
対話形式入力部１４は、例えばＧＵＩ（グラフィック・ユーザ・インターフェイス）を備えており、ユーザからの表示要求をクロック系統図生成部１３Ａへ伝達する。
【００４４】
クロック系統図生成部１３Ａは、対話形式入力部１４から伝達された表示要求に応じて、ユーザから指定されたクロック系統に関するクロック系統図３０を生成し、モニタ表示形式クロック系統図３０Ａとしてモニタ１０００に表示する。
【００４５】
このとき、対話形式入力部１４がＧＵＩを備えている場合は、ユーザからの表示要求は、モニタ１０００に表示されているモニタ表示形式クロック系統図３０Ａの一部を、例えばマウスでクリックすることにより、入力されるものとする。
【００４６】
また、クロック系統図生成部１３Ａは、ユーザの要求に応じて、印刷形式クロック系統図３０Ｂも出力する。
【００４７】
次に、本実施形態において、モニタ表示形式クロック系統図３０Ａの表示内容をＧＵＩにより変更する例を、図７〜図１０を用いて説明する。なお、ここでは、実施形態１の説明に用いた例と同じクロック経路抽出結果を例にとって説明する。
【００４８】
図７（ａ）は、モニタ１０００に表示される初期画面の例である。初期画面では、クロック生成起点ＣＫ１、ＣＫ２、ＣＫ３が含まれるクロック生成モジュールＣＫＧＥＮを表す矩形と、モジュール集約ブロックＢＫ１、ＢＫ２、ＢＫ３をそれぞれ表す矩形のみが表示されている。
【００４９】
ここで、例えば、モジュール集約ブロックＢＫ１のクロックに関する情報を入手したい場合、ユーザは、モジュール集約ブロックＢＫ１の矩形を選択してクリックする。
【００５０】
これに応答して、クロック系統図生成部１３Ａは、図７（ｂ）に示すような、モジュール集約ブロックＢＫ１とクロック生成起点ＣＫ１との間にクロック線ＣＬ１を配線したモニタ表示形式クロック系統図３０Ａを生成し、モニタ１０００に表示する。
【００５１】
この表示に対して、モジュール集約ブロックＢＫ１が再度選択されると、クロック系統図生成部１３Ａは、図８（ａ）に示すクロック系統図に加えて、図８（ｂ）に示すような、モジュール集約ブロックＢＫ１に集約されているモジュールの内訳とクロック周波数を示す表を生成し、モニタ１０００に追加表示する。
【００５２】
この表示に対して、クロック線ＣＬ１が選択されると、クロック系統図生成部１３Ａは、図９（ａ）に示すように、クロック線ＣＬ１と、クロック線ＣＬ１と同期関係にあるクロック線ＣＬ３とを配線したクロック系統図３０を作成する。このクロック系統図３０には、クロック線ＣＬ１とクロック線ＣＬ３が同期関係にあること示す「ＳＹＮＣ」が表示される。また、クロック系統図生成部１３Ａは、モニタ１０００にモニタ表示形式クロック系統図３０Ａを表示するとき、クロック線ＣＬ１とクロック線ＣＬ３は、例えば表示色を異ならせるなど、その表示形態を異ならせて表示する。
【００５３】
この表示に対して、クロック線ＣＬ３が接続されるモジュール集約ブロックＢＫ３が選択されると、クロック系統図生成部１３Ａは、図９（ｂ）に示すような、モジュール集約ブロックＢＫ３に集約されているモジュールの内訳とクロック周波数を示す表を生成し、モニタ１０００に追加表示する。また、この表には、モジュール集約ブロックＢＫ３がモジュール集約ブロックＢＫ１と同期関係にあること示す「ＳＹＮＣ」も表示される。
【００５４】
続いて、クロック線ＣＬ１が再選択されると、クロック系統図生成部１３Ａは、図１０（ａ）に示すように、クロック線ＣＬ１と、クロック線ＣＬ１と非同期関係にあるクロック線ＣＬ２とを配線したクロック系統図３０を作成する。このクロック系統図３０には、クロック線ＣＬ１とクロック線ＣＬ２が非同期関係にあること示す「ＡＳＹＮＣ」が表示される。また、クロック系統図生成部１３Ａは、モニタ１０００にモニタ表示形式クロック系統図３０Ａを表示するとき、クロック線ＣＬ１とクロック線ＣＬ２は、例えば表示色を異ならせるなど、その表示形態を異ならせて表示する。
【００５５】
この表示に対して、クロック線ＣＬ２が接続されるモジュール集約ブロックＢＫ２が選択されると、クロック系統図生成部１３Ａは、図１０（ｂ）に示すような、モジュール集約ブロックＢＫ２に集約されているモジュールの内訳とクロック周波数を示す表を生成し、モニタ１０００に追加表示する。また、この表には、モジュール集約ブロックＢＫ２がモジュール集約ブロックＢＫ１と非同期関係にあること示す「ＡＳＹＮＣ」も表示される。
【００５６】
そのほか、クロック系統図生成部１３Ａは、図１１に示すように、上述した総ての情報を表示するクロック系統図３０の生成も行う。これをモニタ表示形式クロック系統図３０Ａとして表示するときは、クロック線ＣＬ１、クロック線ＣＬ２、クロック線ＣＬ３は、例えば表示色をそれぞれ異ならせるなど、その表示形態を異ならせて表示する。
【００５７】
また、このクロック系統図３０を印刷形式クロック系統図３０Ｂとして出力するときは、クロック系統図生成部１３Ａは、プリンタサイズに合わせたリサイズ処理を行い、指定サイズの用紙への印刷を可能とする。これにより、ユーザが必要とするクロック情報ドキュメントの作成が可能となる。
【００５８】
このような本実施形態によれば、ユーザの要求に応じて、ユーザが必要とする情報のみが記載されたクロック系統図が作成されるので、ユーザは、クロック系統の解析時間をより短縮することができる。
【００５９】
以上説明した少なくとも１つの実施形態のクロック経路抽出装置によれば、タイミング検証におけるクロック系統の解析時間を短縮することができる。
【００６０】
また、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００６１】
１、１Ａ  クロック経路抽出装置
１１  クロック経路探索部
１２  クロック経路抽出部
１３、１３Ａ  クロック系統図生成部
１４  対話形式入力部
２０  クロック経路情報
３０  クロック系統図
３０Ａ  モニタ表示形式クロック系統図
３０Ｂ  印刷形式クロック系統図
ＭＤ１〜ＭＤ８  検証対象モジュール
ＢＫ１〜ＢＫ３  モジュール集約ブロック
ＣＫ１〜ＣＫ３  クロック生成起点
ＣＬ１〜ＣＬ３  クロック線
【図１】
2012190291.tif 000003
【図２】
2012190291.tif 000004
【図３】
2012190291.tif 000005
【図４】
2012190291.tif 000006
【図５】
2012190291.tif 000007
【図６】
2012190291.tif 000008
【図７】
2012190291.tif 000009
【図８】
2012190291.tif 000010
【図９】
2012190291.tif 000011
【図１０】
2012190291.tif 000012
【図１１】
2012190291.tif 000013