説明

クロック経路抽出装置

【課題】タイミング検証におけるクロック系統の解析時間を短縮することのできるクロック経路抽出装置を提供する。
【解決手段】実施形態のクロック経路抽出装置1は、クロック経路探索部11が、RTL記述データ100を解析し、指定されたモジュールのクロック端子からクロック生成起点までのクロック経路を探索し、クロック経路抽出部12が、クロック制御情報200にもとづいて無効クロック経路を除外し、有効クロック経路のみを抽出する。さらに、クロック系統図生成部13が、クロック生成起点のクロック周波数情報300にもとづいて、クロック周波数が同一である有効クロック経路を有する複数のモジュールを、クロック周波数ごとに1つのブロックに集約し、そのブロックおよびクロック生成起点をそれぞれ図形で表し、その図形間を1本のクロック線で結んだクロック系統図を生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、クロック経路抽出装置に関する。
【背景技術】
【0002】
近年、半導体集積回路の複雑化に伴い、その内部で使用されるクロック系統も複雑になる傾向がある。そのため、クロック周波数の異なるモジュール間でデータの転送を行う非同期動作を行う機会も多くなる。非同期動作を行う回路の設計に当たっては、非同期動作検証ツールによるタイミング検証が行われる。その際、検証時間短縮のため、RTL記述データに対するスタティックなタイミング検証を行う非同期動作検証ツールが用いられる。
【0003】
このようなスタティックなタイミング検証を行う非同期動作検証ツールを用いる際は、検証対象のモジュールそれぞれのクロックに関して、クロック起点からの経路情報および周波数情報を入力する必要がある。そのため、従来、例えばRTL記述データから、クロック経路情報およびクロック周波数情報を抽出することが行われている。
【0004】
この非同期動作検証ツールによるタイミング検証でタイミングエラーが検出された場合、その原因を解析する必要が生じる。この解析に当たって、設計者は、エラーが検出されたモジュールのクロック経路のタイミング解析などを行う。その際、非同期動作検証ツールへ入力されたクロック経路情報は、テキストベースの情報であるので、各モジュールのクロック間の関係がわかりにくい。
【0005】
このように、従来、非同期動作検証ツールを用いるスタティックなタイミング検証では、クロック系統の解析に時間を要する、という問題があった。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2003−67442号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
そこで、本発明が解決しようとする課題は、タイミング検証におけるクロック系統の解析時間を短縮することのできるクロック経路抽出装置を提供することにある。
【課題を解決するための手段】
【0008】
実施形態のクロック経路抽出装置は、クロック経路探索部が、入力されたRTL記述データを解析し、指定されたモジュールのクロック端子からクロック生成起点までのクロック経路を探索し、クロック経路抽出部が、入力されたクロック制御情報にもとづいて無効クロック経路を除外し、前記クロック経路から有効クロック経路のみを抽出する。さらに、クロック系統図生成部が、前記クロック生成起点のクロック周波数情報にもとづいて、クロック周波数が同一である有効クロック経路を有する複数のモジュールを、クロック周波数ごとに1つのブロックに集約し、前記ブロックおよび前記クロック生成起点をそれぞれ図形で表し、前記図形間を1本のクロック線で結んだクロック系統図を生成する。
【図面の簡単な説明】
【0009】
【図1】本発明の第1の実施形態に係るクロック経路抽出装置の構成の例を示すブロック図。
【図2】クロック制御情報、クロック周波数情報の例を示す図。
【図3】本発明の第1の実施形態に係るクロック経路抽出装置における処理の流れの例を示すフロー図。
【図4】本発明の第1の実施形態に係るクロック経路抽出装置から出力されるクロック経路情報の例を示す図。
【図5】本発明の第1の実施形態に係るクロック経路抽出装置から出力されるクロック系統図の例を示す図。
【図6】本発明の第2の実施形態に係るクロック経路抽出装置の構成の例を示すブロック図。
【図7】本発明の第2の実施形態に係るクロック経路抽出装置から出力されるモニタ表示形式クロック系統図の例を示す図。
【図8】本発明の第2の実施形態に係るクロック経路抽出装置から出力されるモニタ表示形式クロック系統図の例を示す図。
【図9】本発明の第2の実施形態に係るクロック経路抽出装置から出力されるモニタ表示形式クロック系統図の例を示す図。
【図10】本発明の第2の実施形態に係るクロック経路抽出装置から出力されるモニタ表示形式クロック系統図の例を示す図。
【図11】本発明の第2の実施形態に係るクロック経路抽出装置から出力されるクロック系統図の例を示す図。
【発明を実施するための形態】
【0010】
以下、本発明の実施の形態について図面を参照して説明する。なお、図中、同一または相当部分には同一の符号を付して、その説明は繰り返さない。
【0011】
(第1の実施形態)
図1は、本発明の第1の実施形態に係るクロック経路抽出装置の構成の例を示すブロック図である。
【0012】
本実施形態のクロック経路抽出装置1は、検証対象モジュールのモジュール名が入力されると、入力されたRTL記述データ100を解析し、検証対象モジュールのクロック端子からクロック生成起点までのクロック経路を探索するクロック経路探索部11と、クロック経路探索部11により探索されたクロック経路から、入力されたクロック制御情報200にもとづいて無効クロック経路を除外し、有効クロック経路のみを抽出したクロック経路情報20を出力するクロック経路抽出部12と、クロック生成起点のクロック周波数情報300にもとづいて、クロック周波数が同一である有効クロック経路を有する複数のモジュールを、クロック周波数ごとに1つのブロックに集約し、そのブロックおよびクロック生成起点をそれぞれ図形で表し、その図形間を1本のクロック線で結んだクロック系統図30を生成するクロック系統図生成部13と、を備える。
【0013】
本実施形態のクロック経路抽出装置1へは、非同期動作検証ツール(非図示)の検証対象となるモジュール(検証対象モジュール)のモジュール名が入力される。
【0014】
クロック経路探索部11は、検証対象モジュールのモジュール名が入力されると、入力されたRTL記述データ100の構文解析などを行い、検証対象モジュールのクロック端子から順次クロック経路をバックトレースして、クロック生成起点までのクロック経路を探索する。
【0015】
この探索経路の途中に、入力された複数のクロック信号の中から1つのクロック信号を選択して出力するクロック制御素子が存在することがある。このクロック制御素子が存在した場合、クロック経路探索部11は、入力側の複数のクロック信号をそれぞれバックトレースして、それぞれのクロック信号に対するクロック経路を探索する。
【0016】
しかし、非同期動作検証ツールの検証の際は、クロック制御素子により選択されたクロック信号に対するタイミング検証のみが行われる。このとき、クロック制御素子のクロック選択の制御は、クロック制御情報200にて行われる。そこで、本実施形態のクロック経路抽出装置1へも、クロック制御情報200が入力される。
【0017】
図2(a)に、クロック制御情報200の記述例を示す。クロック制御情報200には、クロックの選択を指示する制御信号の信号名とその値が記述される。
【0018】
クロック経路抽出部12は、クロック経路探索部11により探索されたクロック経路上にクロック制御素子が存在する場合は、クロック制御情報200を参照し、どのクロック信号が選択されているかを検査する。そして、選択されていないクロック信号の経路を無効クロック経路として除外し、クロック制御素子により選択されているクロック信号の経路のみを、有効クロック経路として抽出する。
【0019】
一方、クロック経路探索部11により探索されたクロック経路上にクロック制御素子が存在しない場合は、クロック経路抽出部12は、探索されたクロック経路をそのまま有効クロック経路として抽出する。
【0020】
クロック経路抽出部12により抽出された有効クロック経路が、クロック経路情報20として、非同期動作検証ツールへ入力される。
【0021】
この有効クロック経路に対して、クロック系統図生成部13が、クロック系統図30を生成する。その際、検証対象モジュールの数が多いと、有効クロック経路の数も多くなり、これをそのまま図示すると、クロック経路が錯綜して非常に見づらい図になるものと考えられる。
【0022】
そこで、クロック系統図生成部13は、クロック生成起点のクロック周波数情報300にもとづいて、クロック周波数が同一である有効クロック経路を有する複数のモジュールを、クロック周波数ごとに1つのブロックに集約し、そのブロックおよびクロック生成起点をそれぞれ図形で表し、その図形間を1本のクロック線で結ぶようにして、クロック系統図30を生成する。
【0023】
これにより、クロック系統図30に表記されるクロック信号線等の数が少なくなり、図が見やすくなる。その結果、検証対象モジュール間のクロック周波数の関係の把握が容易となる。
【0024】
図2(b)に、クロック周波数情報300の記述例を示す。ここでは、クロック生成起点(CK1、CK2、CK3)のクロック周期が、それぞれ記載されている。
【0025】
次に、図3に示すフロー図を用いて、本実施形態のクロック経路抽出装置1の処理の流れについて説明する。
【0026】
処理が開始されると、まず、非同期動作検証ツールが検証対象とする、検証対象モジュール名の入力が行われる(ステップS01)。
【0027】
この入力に対して、クロック経路探索部11が、RTL記述データ100を検索し、検証対象モジュールのクロック端子の抽出を行う(ステップS02)。
【0028】
続いて、クロック経路探索部11は、RTL記述データ100の構文解析などを行いながら、検証対象モジュールのクロック端子から順次クロック経路をバックトレースして、クロック生成起点までのクロック経路を探索する(ステップS03)。
【0029】
総てのクロック経路の探索が終了すると、クロック経路抽出部12が、探索されたクロック経路上にクロック制御素子が存在するかどうかを検査し、クロック制御素子が存在する場合は、クロック制御情報200を読み込む(ステップS04)。
【0030】
続いて、クロック経路抽出部12は、クロック制御情報200にもとづいて、クロック経路探索部11により探索されたクロック経路から有効クロック経路を抽出する(ステップS05)。
【0031】
図4に、有効クロック経路の抽出例を示す。この例では、検証対象モジュールMD1〜MD8と、クロック生成モジュールCKGENに記述されているクロック生成起点CK1、CK2、CK3との間に、有効クロック経路1〜8が抽出されている。
【0032】
図3のフローに戻って、有効クロック経路の抽出が終了すると、クロック経路抽出部12は、抽出した有効クロック経路をクロック経路情報20として出力する(ステップS06)。
【0033】
次に、クロック系統図生成部13が、クロック生成起点のクロック周波数情報300にもとづいて、クロック周波数が同一である有効クロック経路を有する複数のモジュールを、クロック周波数ごとに1つのブロックに集約する(ステップS07)。
【0034】
続いて、クロック系統図生成部13は、クロック生成起点および上述のブロックをそれぞれ図形で表し、その図形間を1本のクロック線で結ぶようにして、クロック系統図30を生成する(ステップS08)。このクロック系統図30の出力により、一連の処理は終了する。
【0035】
図5に、クロック系統図30の例を示す。このクロック系統図30は、図4に示した有効クロック経路の抽出例に対応したものである。
【0036】
図5に示す例では、クロック生成起点CK1が共通のモジュールMD1、MD3、MD4が、モジュール集約ブロックBK1に集約され、クロック生成起点CK2が共通のモジュールMD2、MD5、MD6が、モジュール集約ブロックBK2に集約され、クロック生成起点CK3が共通のモジュールMD7、MD8が、モジュール集約ブロックBK3に集約されている。
【0037】
また、クロック生成起点CK1を表す矩形とモジュール集約ブロックBK1を表す矩形との間が1本のクロック線CL1で結ばれ、クロック生成起点CK2を表す矩形とモジュール集約ブロックBK2を表す矩形との間が1本のクロック線CL2で結ばれ、クロック生成起点CK3を表す矩形とモジュール集約ブロックBK3を表す矩形との間が1本のクロック線CL3で結ばれている。
【0038】
このように、クロック系統図30では、周波数の異なるクロック生成起点に対して1本ずつクロック線が引かれるだけなので、例えば図4に示したような有効クロック経路をそのまま図示するよりは、図上に示される線の数が大幅に削減される。
【0039】
このような本実施形態によれば、検証対象モジュールとクロック生成起点との間のクロック経路をクロック生成起点の周波数ごとに集約化したクロック系統図30が生成されるので、検証対象モジュール間のクロック周波数の関係を容易に把握することができる。これにより、例えば非同期動作検証ツールの検証結果を解析する際に要するクロック系統の解析時間を短縮することができる。
【0040】
(第2の実施形態)
クロック系統の解析を行う際など、総てのクロック系統の情報が総て表示されているよりも、解析対象のクロック系統の情報のみが必要に応じて表示される方が、より効率的に解析を進めることができる場合がある。そこで、本実施形態では、ユーザの必要とする情報を対話形式で表示することのできるクロック経路抽出装置の例を示す。
【0041】
図6は、本発明の第2の実施形態に係るクロック経路抽出装置の構成の例を示すブロック図である。
【0042】
本実施形態のクロック経路抽出装置1Aは、第1の実施形態のクロック経路抽出装置1に、対話形式入力部14を追加したものである。
【0043】
対話形式入力部14は、例えばGUI(グラフィック・ユーザ・インターフェイス)を備えており、ユーザからの表示要求をクロック系統図生成部13Aへ伝達する。
【0044】
クロック系統図生成部13Aは、対話形式入力部14から伝達された表示要求に応じて、ユーザから指定されたクロック系統に関するクロック系統図30を生成し、モニタ表示形式クロック系統図30Aとしてモニタ1000に表示する。
【0045】
このとき、対話形式入力部14がGUIを備えている場合は、ユーザからの表示要求は、モニタ1000に表示されているモニタ表示形式クロック系統図30Aの一部を、例えばマウスでクリックすることにより、入力されるものとする。
【0046】
また、クロック系統図生成部13Aは、ユーザの要求に応じて、印刷形式クロック系統図30Bも出力する。
【0047】
次に、本実施形態において、モニタ表示形式クロック系統図30Aの表示内容をGUIにより変更する例を、図7〜図10を用いて説明する。なお、ここでは、実施形態1の説明に用いた例と同じクロック経路抽出結果を例にとって説明する。
【0048】
図7(a)は、モニタ1000に表示される初期画面の例である。初期画面では、クロック生成起点CK1、CK2、CK3が含まれるクロック生成モジュールCKGENを表す矩形と、モジュール集約ブロックBK1、BK2、BK3をそれぞれ表す矩形のみが表示されている。
【0049】
ここで、例えば、モジュール集約ブロックBK1のクロックに関する情報を入手したい場合、ユーザは、モジュール集約ブロックBK1の矩形を選択してクリックする。
【0050】
これに応答して、クロック系統図生成部13Aは、図7(b)に示すような、モジュール集約ブロックBK1とクロック生成起点CK1との間にクロック線CL1を配線したモニタ表示形式クロック系統図30Aを生成し、モニタ1000に表示する。
【0051】
この表示に対して、モジュール集約ブロックBK1が再度選択されると、クロック系統図生成部13Aは、図8(a)に示すクロック系統図に加えて、図8(b)に示すような、モジュール集約ブロックBK1に集約されているモジュールの内訳とクロック周波数を示す表を生成し、モニタ1000に追加表示する。
【0052】
この表示に対して、クロック線CL1が選択されると、クロック系統図生成部13Aは、図9(a)に示すように、クロック線CL1と、クロック線CL1と同期関係にあるクロック線CL3とを配線したクロック系統図30を作成する。このクロック系統図30には、クロック線CL1とクロック線CL3が同期関係にあること示す「SYNC」が表示される。また、クロック系統図生成部13Aは、モニタ1000にモニタ表示形式クロック系統図30Aを表示するとき、クロック線CL1とクロック線CL3は、例えば表示色を異ならせるなど、その表示形態を異ならせて表示する。
【0053】
この表示に対して、クロック線CL3が接続されるモジュール集約ブロックBK3が選択されると、クロック系統図生成部13Aは、図9(b)に示すような、モジュール集約ブロックBK3に集約されているモジュールの内訳とクロック周波数を示す表を生成し、モニタ1000に追加表示する。また、この表には、モジュール集約ブロックBK3がモジュール集約ブロックBK1と同期関係にあること示す「SYNC」も表示される。
【0054】
続いて、クロック線CL1が再選択されると、クロック系統図生成部13Aは、図10(a)に示すように、クロック線CL1と、クロック線CL1と非同期関係にあるクロック線CL2とを配線したクロック系統図30を作成する。このクロック系統図30には、クロック線CL1とクロック線CL2が非同期関係にあること示す「ASYNC」が表示される。また、クロック系統図生成部13Aは、モニタ1000にモニタ表示形式クロック系統図30Aを表示するとき、クロック線CL1とクロック線CL2は、例えば表示色を異ならせるなど、その表示形態を異ならせて表示する。
【0055】
この表示に対して、クロック線CL2が接続されるモジュール集約ブロックBK2が選択されると、クロック系統図生成部13Aは、図10(b)に示すような、モジュール集約ブロックBK2に集約されているモジュールの内訳とクロック周波数を示す表を生成し、モニタ1000に追加表示する。また、この表には、モジュール集約ブロックBK2がモジュール集約ブロックBK1と非同期関係にあること示す「ASYNC」も表示される。
【0056】
そのほか、クロック系統図生成部13Aは、図11に示すように、上述した総ての情報を表示するクロック系統図30の生成も行う。これをモニタ表示形式クロック系統図30Aとして表示するときは、クロック線CL1、クロック線CL2、クロック線CL3は、例えば表示色をそれぞれ異ならせるなど、その表示形態を異ならせて表示する。
【0057】
また、このクロック系統図30を印刷形式クロック系統図30Bとして出力するときは、クロック系統図生成部13Aは、プリンタサイズに合わせたリサイズ処理を行い、指定サイズの用紙への印刷を可能とする。これにより、ユーザが必要とするクロック情報ドキュメントの作成が可能となる。
【0058】
このような本実施形態によれば、ユーザの要求に応じて、ユーザが必要とする情報のみが記載されたクロック系統図が作成されるので、ユーザは、クロック系統の解析時間をより短縮することができる。
【0059】
以上説明した少なくとも1つの実施形態のクロック経路抽出装置によれば、タイミング検証におけるクロック系統の解析時間を短縮することができる。
【0060】
また、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0061】
1、1A クロック経路抽出装置
11 クロック経路探索部
12 クロック経路抽出部
13、13A クロック系統図生成部
14 対話形式入力部
20 クロック経路情報
30 クロック系統図
30A モニタ表示形式クロック系統図
30B 印刷形式クロック系統図
MD1〜MD8 検証対象モジュール
BK1〜BK3 モジュール集約ブロック
CK1〜CK3 クロック生成起点
CL1〜CL3 クロック線

【特許請求の範囲】
【請求項1】
入力されたRTL記述データを解析し、指定されたモジュールのクロック端子からクロック生成起点までのクロック経路を探索するクロック経路探索部と、
入力されたクロック制御情報にもとづいて無効クロック経路を除外し、前記クロック経路から有効クロック経路のみを抽出するクロック経路抽出部と、
前記クロック生成起点のクロック周波数情報にもとづいて、クロック周波数が同一である有効クロック経路を有する複数のモジュールを、クロック周波数ごとに1つのブロックに集約し、前記ブロックおよび前記クロック生成起点をそれぞれ図形で表し、前記図形間を1本のクロック線で結んだクロック系統図を生成するクロック系統図生成部と
を備えることを特徴とするクロック経路抽出装置。
【請求項2】
前記有効クロック経路が、非同期動作検証ツールへ入力される
ことを特徴とする請求項1に記載のクロック経路抽出装置。
【請求項3】
対話形式入力部をさらに備え、
前記クロック系統図生成部が、前記対話形式入力部を介して入力されたユーザの要求に応じて、指定されたクロック線のみを表示するクロック系統図を生成する
ことを特徴とする請求項2に記載のクロック経路抽出装置。
【請求項4】
前記クロック系統図生成部が、前記ユーザの要求に応じて、前記クロック線の周波数を前記クロック系統図に表示する
ことを特徴とする請求項3に記載のクロック経路抽出装置。
【請求項5】
前記クロック系統図生成部が、前記ユーザの要求に応じて、指定されたクロック線と他のクロック線との同期/非同期関係を前記クロック系統図に表示する
ことを特徴とする請求項4に記載のクロック経路抽出装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2012−190291(P2012−190291A)
【公開日】平成24年10月4日(2012.10.4)
【国際特許分類】
【出願番号】特願2011−53710(P2011−53710)
【出願日】平成23年3月11日(2011.3.11)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】