JP4388965B2 - クロックゲーティング解析プログラム、該プログラムを記録した記録媒体、クロックゲーティング解析装置、およびクロックゲーティング解析方法 - Google Patents
クロックゲーティング解析プログラム、該プログラムを記録した記録媒体、クロックゲーティング解析装置、およびクロックゲーティング解析方法 Download PDFInfo
- Publication number
- JP4388965B2 JP4388965B2 JP2007032540A JP2007032540A JP4388965B2 JP 4388965 B2 JP4388965 B2 JP 4388965B2 JP 2007032540 A JP2007032540 A JP 2007032540A JP 2007032540 A JP2007032540 A JP 2007032540A JP 4388965 B2 JP4388965 B2 JP 4388965B2
- Authority
- JP
- Japan
- Prior art keywords
- state
- clock gating
- clock
- state transition
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/3312—Timing analysis
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
まず、この発明の実施の形態にかかるクロックゲーティング解析装置のハードウェア構成について説明する。図1は、この発明の実施の形態にかかるクロックゲーティング解析装置のハードウェア構成を示すブロック図である。
つぎに、この発明の実施の形態にかかるクロックゲーティング解析装置100の解析対象となる解析対象回路について説明する。図2は、この発明の実施の形態にかかるクロックゲーティング解析装置100の解析対象となる解析対象回路の一例を示す回路図である。
つぎに、この発明の実施の形態にかかるクロックゲーティング状態について説明する。図3は、図2に示した解析対象回路200のクロックゲーティング状態を示す説明図である。クロックゲーティング状態とは、同一時刻におけるクロックゲーティングCGi相互の状態変化をあらわしている。クロックゲーティング状態は、ローカルクロックLCiの集合である。この状態には、活性化(active)と非活性化(non−active)があり、活性化であれば、ローカルクロックLCiをそのFFグループAiのFFに出力し、非活性化であれば、ローカルクロックLCiの出力は非活性値固定(例えばポジティブエッジトリガFFの場合は0、ネガティブエッジトリガFFの場合は1)である。
つぎに、この発明の実施の形態にかかるクロックゲーティング解析装置100の機能的構成1について説明する。図4は、この発明の実施の形態にかかるクロックゲーティング解析装置100の機能的構成1を示すブロック図である。図4におけるクロックゲーティング解析装置100では、解析対象回路200のクロックゲーティング状態(以下、「CG状態」と称す。)の集合(以下、「CG全状態集合」と称す。)を生成する構成である。
なお、「×」は論理積、「’」は否定である。
なお、「+」は論理和である。
つぎに、この発明の実施の形態にかかるクロックゲーティング解析装置100のクロックゲーティング解析処理手順1について説明する。図6は、この発明の実施の形態にかかるクロックゲーティング解析装置100のクロックゲーティング解析処理手順1を示すフローチャートである。
つぎに、この発明の実施の形態にかかるクロックゲーティング解析装置100の機能的構成2について説明する。この機能的構成2では、図4に示した機能的構成1で生成されたCG全状態集合Sを用いて、CG状態の状態網羅率の算出と、その状態網羅率を上昇させる入力パタンの生成をおこなう。なお、図4に示した構成と同一構成については同一符号を付し、その説明を省略する。
つぎに、この発明の実施の形態にかかるクロックゲーティング解析装置100のクロックゲーティング解析処理手順2について説明する。クロックゲーティング解析処理手順2は、図7に示した機能的構成2についての処理手順である。図15は、この発明の実施の形態にかかるクロックゲーティング解析装置100のクロックゲーティング解析処理手順2を示すフローチャートである。
つぎに、この発明の実施の形態にかかるクロックゲーティング解析装置100の機能的構成3について説明する。この機能的構成3では、図4に示した機能的構成1で生成されたCG全状態集合Sを用いて、CG状態遷移枝の状態遷移枝網羅率の算出と、その状態遷移枝網羅率を上昇させる入力パタンの生成をおこなう。なお、図4、図7および図8に示した構成と同一構成については同一符号を付し、その説明を省略する。
つぎに、この発明の実施の形態にかかるクロックゲーティング解析装置100のクロックゲーティング解析処理手順3について説明する。クロックゲーティング解析処理手順3は、図18に示した機能的構成3についての処理手順である。図23は、この発明の実施の形態にかかるクロックゲーティング解析装置100のクロックゲーティング解析処理手順3を示すフローチャートである。
つぎに、この発明の実施の形態にかかるクロックゲーティング解析装置100の機能的構成4について説明する。この機能的構成4では、図4に示した機能的構成1で生成されたCG全状態集合Sを用いて、ローカルクロックLCiの非活性化状態から活性化状態への復帰可能性を検証する。すなわち、ローカルクロックLCiが一度非活性化状態(クロックを止めている状態)になった場合、いずれ活性化状態(クロックを供給する状態)に復帰するであろうという回路の性質を利用しておこなう検証である。なお、図4、図8および図18に示した構成と同一構成については同一符号を付し、その説明を省略する。
つぎに、この発明の実施の形態にかかるクロックゲーティング解析装置100のクロックゲーティング解析処理手順4について説明する。クロックゲーティング解析処理手順4は、図26に示した機能的構成4についての処理手順である。図27は、この発明の実施の形態にかかるクロックゲーティング解析装置100のクロックゲーティング解析処理手順4を示すフローチャートである。
つぎに、この発明の実施の形態にかかるクロックゲーティング解析装置100の機能的構成5について説明する。この機能的構成5では、図4に示した機能的構成1で生成されたCG全状態集合Sを用いて、クロックゲーティングCGiのミス状態候補を生成する。
つぎに、この発明の実施の形態にかかるクロックゲーティング解析装置100のクロックゲーティング解析処理手順5について説明する。クロックゲーティング解析処理手順5は、図28に示した機能的構成5についての処理手順である。図30は、この発明の実施の形態にかかるクロックゲーティング解析装置100のクロックゲーティング解析処理手順5を示すフローチャートである。
前記検出工程によって検出されたクロックゲーティングから出力されるローカルクロックの活性化/非活性化を表現するクロックゲーティング関数を、前記クロックゲーティングごとに算出させるクロックゲーティング関数算出工程と、
前記クロックゲーティング関数算出工程によって算出された各クロックゲーティング関数に、前記各順序回路素子からの出力値の組み合わせを代入して、前記各クロックゲーティング関数の値の組み合わせを、前記ローカルクロック相互の活性化/非活性化をあらわすクロックゲーティング状態として算出することにより、前記各順序回路素子からの出力値の組み合わせから前記クロックゲーティング状態への変換をあらわす変換テーブルを作成させる変換テーブル作成工程と、
前記変換テーブル作成工程によって作成された変換テーブルに基づいて、前記解析対象回路における前記クロックゲーティング状態をすべて網羅するクロックゲーティング全状態集合を出力させる全状態集合出力工程と、
をコンピュータに実行させることを特徴とするクロックゲーティング解析プログラム。
前記変換テーブルを用いて、前記非検出クロックゲーティング状態抽出工程によって抽出された非クロックゲーティング状態を出現させる入力パタンを生成させる入力パタン生成工程と、
を前記コンピュータに実行させることを特徴とする付記1または2に記載のクロックゲーティング解析プログラム。
前記各順序回路素子に関する現時刻から次時刻への出力変化をあらわす次状態関数を算出させる次状態関数算出工程と、
前記変換テーブルと前記次状態関数算出工程によって算出された次状態関数とに基づいて、前記各順序回路素子からの現時刻の出力値の組み合わせおよび当該組み合わせに応じたクロックゲーティング状態と、前記各順序回路素子からの次時刻の出力値の組み合わせおよび当該組み合わせに応じたクロックゲーティング状態とを関連付けた状態テーブルを作成させる状態テーブル作成工程と、
前記状態テーブル作成工程によって作成された状態テーブルにおける前記各順序回路素子からの現時刻および次時刻の出力値の組み合わせに基づいて、前記解析対象回路の状態遷移をあらわす回路状態遷移グラフを作成させる回路状態遷移グラフ作成工程と、
前記非検出クロックゲーティング状態を次時刻のクロックゲーティング状態とすることにより、前記回路状態遷移グラフ作成工程によって作成された回路状態遷移グラフにおいて、前記非検出クロックゲーティング状態に対応する次時刻の出力値の組み合わせから初期状態までの状態遷移を探索させる探索工程と、
前記探索工程によって探索された探索結果を、前記非検出クロックゲーティング状態抽出工程によって抽出された非クロックゲーティング状態を出現させる入力パタンとして出力させる出力工程と、
を含んだことを特徴とする付記3に記載のクロックゲーティング解析プログラム。
前記変換テーブルと前記次状態関数算出工程によって算出された次状態関数とに基づいて、前記各順序回路素子からの現時刻の出力値の組み合わせおよび当該組み合わせに応じたクロックゲーティング状態と、前記各順序回路素子からの次時刻の出力値の組み合わせおよび当該組み合わせに応じたクロックゲーティング状態とを関連付けた状態テーブルを作成させる状態テーブル作成工程と、
前記全状態集合出力工程によって出力されたクロックゲーティング全状態集合と前記状態テーブル作成工程によって作成された状態テーブルとに基づいて、前記クロックゲーティング状態の状態遷移をあらわすクロックゲーティング状態遷移グラフを作成させるクロックゲーティング状態遷移グラフ作成工程と、
前記クロックゲーティング状態遷移グラフ作成工程によって作成されたクロックゲーティング状態遷移グラフの中から、前記クロックゲーティング状態の状態遷移枝をすべて抽出することにより、クロックゲーティング全状態遷移枝集合を出力させる全状態遷移枝集合出力工程と、
を前記コンピュータに実行させることを特徴とする付記1に記載のクロックゲーティング解析プログラム。
前記変換テーブルを用いて、前記非検出クロックゲーティング状態遷移枝抽出工程によって抽出された非検出クロックゲーティング状態遷移枝を出現させる入力パタンを生成させる入力パタン生成工程と、
を前記コンピュータに実行させることを特徴とする付記5または6に記載のクロックゲーティング解析プログラム。
前記状態テーブルにおける前記各順序回路素子からの現時刻および次時刻の出力値の組み合わせに基づいて、前記解析対象回路の状態遷移をあらわす回路状態遷移グラフを作成させる回路状態遷移グラフ作成工程と、
前記非検出クロックゲーティング状態遷移枝を次時刻のクロックゲーティング状態遷移枝とすることにより、前記回路状態遷移グラフ作成工程によって作成された回路状態遷移グラフにおいて、前記非検出クロックゲーティング状態遷移枝に対応する回路状態遷移枝から初期状態までの状態遷移を探索させる探索工程と、
前記探索工程によって探索された探索結果を、前記非検出クロックゲーティング状態遷移枝を出現させる入力パタンとして出力させる出力工程と、
を含んだことを特徴とする付記7に記載のクロックゲーティング解析プログラム。
前記変換テーブルと前記次状態関数算出工程によって算出された次状態関数とに基づいて、前記各順序回路素子からの現時刻の出力値の組み合わせおよび当該組み合わせに応じたクロックゲーティング状態と、前記各順序回路素子からの次時刻の出力値の組み合わせおよび当該組み合わせに応じたクロックゲーティング状態とを関連付けた状態テーブルを作成させる状態テーブル作成工程と、
前記全状態集合出力工程によって出力されたクロックゲーティング全状態集合と前記状態テーブル作成工程によって作成された状態テーブルとに基づいて、前記クロックゲーティング状態の状態遷移をあらわすクロックゲーティング状態遷移グラフを作成させるクロックゲーティング状態遷移グラフ作成工程と、
前記クロックゲーティング状態遷移グラフ作成工程によって作成されたクロックゲーティング状態遷移グラフの中から、前記クロックゲーティングが非活性化状態から活性化状態に復帰しない状態遷移を抽出させる状態遷移抽出工程と、
を前記コンピュータに実行させることを特徴とする付記1に記載のクロックゲーティング解析プログラム。
前記変換工程によって変換された変換後のクロックゲーティング状態の中から、クロックゲーティング全状態集合内のクロックゲーティング状態と一致するものを削除することにより、クロックゲーティングミス状態候補を生成させるクロックゲーティングミス状態候補生成工程と、
を前記コンピュータに実行させることを特徴とする付記1に記載のクロックゲーティング解析プログラム。
前記判断工程によって判断された判断結果に基づいて、前記クロックゲーティングミス状態候補から前記特定のクロックゲーティング状態を削除させる削除工程と、
を前記コンピュータに実行させることを特徴とする付記10に記載のクロックゲーティング解析プログラム。
前記検出手段によって検出されたローカルクロックから出力されるローカルクロックの活性化/非活性化を表現するクロックゲーティング関数を、前記クロックゲーティングごとに算出するクロックゲーティング関数算出手段と、
前記クロックゲーティング関数算出手段によって算出された各クロックゲーティング関数に、前記各順序回路素子からの出力値の組み合わせを代入して、前記各クロックゲーティング関数の値の組み合わせを、前記ローカルクロック相互の活性化/非活性化をあらわすクロックゲーティング状態として算出することにより、前記各順序回路素子からの出力値の組み合わせから前記クロックゲーティング状態への変換をあらわす変換テーブルを作成する変換テーブル作成手段と、
前記変換テーブル作成手段によって作成された変換テーブルに基づいて、前記解析対象回路における前記クロックゲーティング状態をすべて網羅するクロックゲーティング全状態集合を出力する全状態集合出力手段と、
備えることを特徴とするクロックゲーティング解析装置。
前記変換テーブルを用いて、前記非検出クロックゲーティング状態抽出手段によって抽出された非クロックゲーティング状態を出現させる入力パタンを生成する入力パタン生成手段と、
を備えることを特徴とする付記13または14に記載のクロックゲーティング解析装置。
前記各順序回路素子に関する現時刻から次時刻への出力変化をあらわす次状態関数を算出する次状態関数算出手段と、
前記変換テーブルと前記次状態関数算出手段によって算出された次状態関数とに基づいて、前記各順序回路素子からの現時刻の出力値の組み合わせおよび当該組み合わせに応じたクロックゲーティング状態と、前記各順序回路素子からの次時刻の出力値の組み合わせおよび当該組み合わせに応じたクロックゲーティング状態とを関連付けた状態テーブルを作成する状態テーブル作成手段と、
前記状態テーブル作成手段によって作成された状態テーブルにおける前記各順序回路素子からの現時刻および次時刻の出力値の組み合わせに基づいて、前記解析対象回路の状態遷移をあらわす回路状態遷移グラフを作成する回路状態遷移グラフ作成手段と、
前記非検出クロックゲーティング状態を次時刻のクロックゲーティング状態とすることにより、前記回路状態遷移グラフ作成手段によって作成された回路状態遷移グラフにおいて、前記非検出クロックゲーティング状態に対応する次時刻の出力値の組み合わせから初期状態までの状態遷移を探索する探索手段と、
前記探索手段によって探索された探索結果を、前記非検出クロックゲーティング状態抽出手段によって抽出された非検出クロックゲーティング状態を出現させる入力パタンとして出力する出力手段と、
を備えることを特徴とする付記15に記載のクロックゲーティング解析装置。
前記変換テーブルと前記次状態関数算出手段によって算出された次状態関数とに基づいて、前記各順序回路素子からの現時刻の出力値の組み合わせおよび当該組み合わせに応じたクロックゲーティング状態と、前記各順序回路素子からの次時刻の出力値の組み合わせおよび当該組み合わせに応じたクロックゲーティング状態とを関連付けた状態テーブルを作成する状態テーブル作成手段と、
前記全状態集合出力手段によって出力されたクロックゲーティング全状態集合と前記状態テーブル作成手段によって作成された状態テーブルとに基づいて、前記クロックゲーティング状態の状態遷移をあらわすクロックゲーティング状態遷移グラフを作成するクロックゲーティング状態遷移グラフ作成手段と、
前記クロックゲーティング状態遷移グラフ作成手段によって作成されたクロックゲーティング状態遷移グラフの中から、前記クロックゲーティング状態の状態遷移枝をすべて抽出することにより、クロックゲーティング全状態遷移枝集合を出力する全状態遷移枝集合出力手段と、
を備えることを特徴とする付記13に記載のクロックゲーティング解析装置。
前記変換テーブルを用いて、前記非検出クロックゲーティング状態遷移枝抽出手段によって抽出された非検出クロックゲーティング状態遷移枝を出現させる入力パタンを生成する入力パタン生成手段と、
を備えることを特徴とする付記17または18に記載のクロックゲーティング解析装置。
前記状態テーブルにおける前記各順序回路素子からの現時刻および次時刻の出力値の組み合わせに基づいて、前記解析対象回路の状態遷移をあらわす回路状態遷移グラフを作成する回路状態遷移グラフ作成手段と、
前記非検出クロックゲーティング状態遷移枝を次時刻のクロックゲーティング状態遷移枝とすることにより、前記回路状態遷移グラフ作成手段によって作成された回路状態遷移グラフにおいて、前記非検出クロックゲーティング状態遷移枝に対応する回路状態遷移枝から初期状態までの状態遷移を探索する探索手段と、
前記探索手段によって探索された探索結果を、前記非検出クロックゲーティング状態遷移枝を出現させる入力パタンとして出力する出力手段と、
を備えることを特徴とする付記19に記載のクロックゲーティング解析装置。
前記変換テーブルと前記次状態関数算出手段によって算出された次状態関数とに基づいて、前記各順序回路素子からの現時刻の出力値の組み合わせおよび当該組み合わせに応じたクロックゲーティング状態と、前記各順序回路素子からの次時刻の出力値の組み合わせおよび当該組み合わせに応じたクロックゲーティング状態とを関連付けた状態テーブルを作成する状態テーブル作成手段と、
前記全状態集合出力手段によって出力されたクロックゲーティング全状態集合と前記状態テーブル作成手段によって作成された状態テーブルとに基づいて、前記クロックゲーティング状態の状態遷移をあらわすクロックゲーティング状態遷移グラフを作成するクロックゲーティング状態遷移グラフ作成手段と、
前記クロックゲーティング状態遷移グラフ作成手段によって作成されたクロックゲーティング状態遷移グラフの中から、前記ローカルクロックが非活性化状態から活性化状態に復帰しない状態遷移を抽出する状態遷移抽出手段と、
を備えることを特徴とする付記13に記載のクロックゲーティング解析装置。
前記変換手段によって変換された変換後のクロックゲーティング状態の中から、クロックゲーティング全状態集合内のクロックゲーティング状態と一致するものを削除することにより、クロックゲーティングミス状態候補を生成するクロックゲーティングミス状態候補生成手段と、
を備えることを特徴とする付記13に記載のクロックゲーティング解析装置。
前記判断手段によって判断された判断結果に基づいて、前記クロックゲーティングミス状態候補から前記特定のクロックゲーティング状態を削除する削除手段と、
を備えることを特徴とする付記22に記載のクロックゲーティング解析装置。
前記検出工程によって検出されたローカルクロックから出力されるローカルクロックの活性化/非活性化を表現するクロックゲーティング関数を、前記クロックゲーティングごとに算出するクロックゲーティング関数算出工程と、
前記クロックゲーティング関数算出工程によって算出された各クロックゲーティング関数に、前記各順序回路素子からの出力値の組み合わせを代入して、前記各クロックゲーティング関数の値の組み合わせを、前記ローカルクロック相互の活性化/非活性化をあらわすクロックゲーティング状態として算出することにより、前記各順序回路素子からの出力値の組み合わせから前記クロックゲーティング状態への変換をあらわす変換テーブルを作成する変換テーブル作成工程と、
前記変換テーブル作成工程によって作成された変換テーブルに基づいて、前記解析対象回路における前記クロックゲーティング状態をすべて網羅するクロックゲーティング全状態集合を出力する全状態集合出力工程と、
含んだことを特徴とするクロックゲーティング解析方法。
前記変換テーブルを用いて、前記非検出クロックゲーティング状態抽出工程によって抽出された非検出クロックゲーティング状態を出現させる入力パタンを生成する入力パタン生成工程と、
を含んだことを特徴とする付記24または25に記載のクロックゲーティング解析方法。
前記各順序回路素子に関する現時刻から次時刻への出力変化をあらわす次状態関数を算出する次状態関数算出工程と、
前記変換テーブルと前記次状態関数算出工程によって算出された次状態関数とに基づいて、前記各順序回路素子からの現時刻の出力値の組み合わせおよび当該組み合わせに応じたクロックゲーティング状態と、前記各順序回路素子からの次時刻の出力値の組み合わせおよび当該組み合わせに応じたクロックゲーティング状態とを関連付けた状態テーブルを作成する状態テーブル作成工程と、
前記状態テーブル作成工程によって作成された状態テーブルにおける前記各順序回路素子からの現時刻および次時刻の出力値の組み合わせに基づいて、前記解析対象回路の状態遷移をあらわす回路状態遷移グラフを作成する回路状態遷移グラフ作成工程と、
前記非検出クロックゲーティング状態を次時刻のクロックゲーティング状態とすることにより、前記回路状態遷移グラフ作成工程によって作成された回路状態遷移グラフにおいて、前記非検出クロックゲーティング状態に対応する次時刻の出力値の組み合わせから初期状態までの状態遷移を探索する探索工程と、
前記探索工程によって探索された探索結果を、前記非検出クロックゲーティング状態抽出工程によって抽出された非検出クロックゲーティング状態を出現させる入力パタンとして出力する出力工程と、
を含んだことを特徴とする付記26に記載のクロックゲーティング解析方法。
前記変換テーブルと前記次状態関数算出工程によって算出された次状態関数とに基づいて、前記各順序回路素子からの現時刻の出力値の組み合わせおよび当該組み合わせに応じたクロックゲーティング状態と、前記各順序回路素子からの次時刻の出力値の組み合わせおよび当該組み合わせに応じたクロックゲーティング状態とを関連付けた状態テーブルを作成する状態テーブル作成工程と、
前記全状態集合出力工程によって出力されたクロックゲーティング全状態集合と前記状態テーブル作成工程によって作成された状態テーブルとに基づいて、前記クロックゲーティング状態の状態遷移をあらわすクロックゲーティング状態遷移グラフを作成するクロックゲーティング状態遷移グラフ作成工程と、
前記クロックゲーティング状態遷移グラフ作成工程によって作成されたクロックゲーティング状態遷移グラフの中から、前記クロックゲーティング状態の状態遷移枝をすべて抽出することにより、クロックゲーティング全状態遷移枝集合を出力する全状態遷移枝集合出力工程と、
を含んだことを特徴とする付記24に記載のクロックゲーティング解析方法。
前記変換テーブルを用いて、前記非検出クロックゲーティング状態遷移枝抽出工程によって抽出された非検出クロックゲーティング状態遷移枝を出現させる入力パタンを生成する入力パタン生成工程と、
を含んだことを特徴とする付記28または29に記載のクロックゲーティング解析方法。
前記状態テーブルにおける前記各順序回路素子からの現時刻および次時刻の出力値の組み合わせに基づいて、前記解析対象回路の状態遷移をあらわす回路状態遷移グラフを作成する回路状態遷移グラフ作成工程と、
前記非検出クロックゲーティング状態遷移枝を次時刻のクロックゲーティング状態遷移枝とすることにより、前記回路状態遷移グラフ作成工程によって作成された回路状態遷移グラフにおいて、前記非クロックゲーティング状態遷移枝に対応する回路状態遷移枝から初期状態までの状態遷移を探索する探索工程と、
前記探索工程によって探索された探索結果を、前記非検出クロックゲーティング状態遷移枝を出現させる入力パタンとして出力する出力工程と、
を含んだことを特徴とする付記30に記載のクロックゲーティング解析方法。
前記変換テーブルと前記次状態関数算出工程によって算出された次状態関数とに基づいて、前記各順序回路素子からの現時刻の出力値の組み合わせおよび当該組み合わせに応じたクロックゲーティング状態と、前記各順序回路素子からの次時刻の出力値の組み合わせおよび当該組み合わせに応じたクロックゲーティング状態とを関連付けた状態テーブルを作成する状態テーブル作成工程と、
前記全状態集合出力工程によって出力されたクロックゲーティング全状態集合と前記状態テーブル作成工程によって作成された状態テーブルとに基づいて、前記クロックゲーティング状態の状態遷移をあらわすクロックゲーティング状態遷移グラフを作成するクロックゲーティング状態遷移グラフ作成工程と、
前記クロックゲーティング状態遷移グラフ作成工程によって作成されたクロックゲーティング状態遷移グラフの中から、前記ローカルクロックが非活性化状態から活性化状態に復帰しない状態遷移を抽出する状態遷移抽出工程と、
を含んだことを特徴とする付記24に記載のクロックゲーティング解析方法。
前記変換工程によって変換された変換後のクロックゲーティング状態の中から、クロックゲーティング全状態集合内のクロックゲーティング状態と一致するものを削除することにより、クロックゲーティングミス状態候補を生成するクロックゲーティングミス状態候補生成工程と、
を含んだことを特徴とする付記24に記載のクロックゲーティング解析方法。
前記判断工程によって判断された判断結果に基づいて、前記クロックゲーティングミス状態候補から前記特定のクロックゲーティング状態を削除する削除工程と、
を含んだことを特徴とする付記33に記載のクロックゲーティング解析方法。
200 解析対象回路
400 設計データ
401 クロックゲーティング検出部
402 CG関数算出部
403 変換テーブル作成部
404 CG全状態集合出力部
701 シミュレーション実行部
702 状態網羅率算出部
703 非検出CG状態抽出部
704,1805 入力パタン生成部
801 次状態関数算出部
802 状態テーブル作成部
803 回路状態遷移グラフ作成部
804,2001 探索部
805,2002 出力部
1801 CG状態遷移グラフ作成部
1802 CG全状態遷移枝出力部
1803 状態遷移枝網羅率算出部
1804 非検出CG状態遷移枝抽出部
2600 状態遷移抽出部
2801 変換部
2802 ミス状態候補集合生成部
2803 判断部
2804 削除部
CGi クロックゲーティング
LCi ローカルクロック
Claims (8)
- 解析対象回路内の順序回路素子へクロックの供給または前記クロックの停止をおこなうクロックゲーティングを検出させる検出工程と、
前記検出工程によって検出されたクロックゲーティングにおいて前記順序回路素子から前記クロックの入力端子以外の他の入力端子に入力される制御信号により、前記クロックゲーティングから出力されるローカルクロックの活性化/非活性化を表現するクロックゲーティング関数を、前記クロックゲーティングごとに算出させるクロックゲーティング関数算出工程と、
前記クロックゲーティング関数算出工程によって算出された各クロックゲーティング関数に、前記各順序回路素子からの出力値の組み合わせを代入して、前記各クロックゲーティング関数の値の組み合わせを、前記ローカルクロック相互の活性化/非活性化をあらわすクロックゲーティング状態として算出することにより、前記各順序回路素子からの出力値の組み合わせから前記クロックゲーティング状態への変換をあらわす変換テーブルを作成させる変換テーブル作成工程と、
前記変換テーブル作成工程によって作成された変換テーブルに基づいて、前記解析対象回路における前記クロックゲーティング状態をすべて網羅するクロックゲーティング全状態集合を出力させる全状態集合出力工程と、
をコンピュータに実行させることを特徴とするクロックゲーティング解析プログラム。 - 前記解析対象回路に任意の入力パタンを与えたシミュレーション結果により検出されるクロックゲーティング状態が、前記全状態集合出力工程によって出力されたクロックゲーティング全状態集合を網羅している割合をあらわす状態網羅率を算出させる状態網羅率算出工程を前記コンピュータに実行させることを特徴とする請求項1に記載のクロックゲーティング解析プログラム。
- 前記各順序回路素子に関する現時刻から次時刻への出力変化をあらわす次状態関数を算出させる次状態関数算出工程と、
前記変換テーブルと前記次状態関数算出工程によって算出された次状態関数とに基づいて、前記各順序回路素子からの現時刻の出力値の組み合わせおよび当該組み合わせに応じたクロックゲーティング状態と、前記各順序回路素子からの次時刻の出力値の組み合わせおよび当該組み合わせに応じたクロックゲーティング状態とを関連付けた状態テーブルを作成させる状態テーブル作成工程と、
前記全状態集合出力工程によって出力されたクロックゲーティング全状態集合と前記状態テーブル作成工程によって作成された状態テーブルとに基づいて、前記クロックゲーティング状態の状態遷移をあらわすクロックゲーティング状態遷移グラフを作成させるクロックゲーティング状態遷移グラフ作成工程と、
前記クロックゲーティング状態遷移グラフ作成工程によって作成されたクロックゲーティング状態遷移グラフの中から、前記クロックゲーティング状態の状態遷移枝をすべて抽出することにより、クロックゲーティング全状態遷移枝集合を出力させる全状態遷移枝集合出力工程と、
を前記コンピュータに実行させることを特徴とする請求項1に記載のクロックゲーティング解析プログラム。 - 前記解析対象回路に任意の入力パタンを与えたシミュレーション結果により検出されるクロックゲーティング状態遷移枝が、前記全状態遷移枝集合出力工程によって出力されたクロックゲーティング全状態遷移枝集合を網羅している割合をあらわす状態遷移枝網羅率を算出させる状態遷移枝網羅率算出工程を前記コンピュータに実行させることを特徴とする請求項3に記載のクロックゲーティング解析プログラム。
- 前記各順序回路素子に関する現時刻から次時刻への出力変化をあらわす次状態関数を算出させる次状態関数算出工程と、
前記変換テーブルと前記次状態関数算出工程によって算出された次状態関数とに基づいて、前記各順序回路素子からの現時刻の出力値の組み合わせおよび当該組み合わせに応じたクロックゲーティング状態と、前記各順序回路素子からの次時刻の出力値の組み合わせおよび当該組み合わせに応じたクロックゲーティング状態とを関連付けた状態テーブルを作成させる状態テーブル作成工程と、
前記全状態集合出力工程によって出力されたクロックゲーティング全状態集合と前記状態テーブル作成工程によって作成された状態テーブルとに基づいて、前記クロックゲーティング状態の状態遷移をあらわすクロックゲーティング状態遷移グラフを作成させるクロックゲーティング状態遷移グラフ作成工程と、
前記クロックゲーティング状態遷移グラフ作成工程によって作成されたクロックゲーティング状態遷移グラフの中から、前記クロックゲーティングが非活性化状態から活性化状態に復帰しない状態遷移を抽出させる状態遷移抽出工程と、
を前記コンピュータに実行させることを特徴とする請求項1に記載のクロックゲーティング解析プログラム。 - 請求項1〜5に記載のクロックゲーティング解析プログラムを記録した前記コンピュータに読み取り可能な記録媒体。
- 解析対象回路内の順序回路素子へクロックの供給または前記クロックの停止をおこなうクロックゲーティングを検出する検出手段と、
前記検出手段によって検出されたクロックゲーティングにおいて前記順序回路素子から前記クロックの入力端子以外の他の入力端子に入力される制御信号により、前記クロックゲーティングから出力されるローカルクロックの活性化/非活性化を表現するクロックゲーティング関数を、前記クロックゲーティングごとに算出するクロックゲーティング関数算出手段と、
前記クロックゲーティング関数算出手段によって算出された各クロックゲーティング関数に、前記各順序回路素子からの出力値の組み合わせを代入して、前記各クロックゲーティング関数の値の組み合わせを、前記ローカルクロック相互の活性化/非活性化をあらわすクロックゲーティング状態として算出することにより、前記各順序回路素子からの出力値の組み合わせから前記クロックゲーティング状態への変換をあらわす変換テーブルを作成する変換テーブル作成手段と、
前記変換テーブル作成手段によって作成された変換テーブルに基づいて、前記解析対象回路における前記クロックゲーティング状態をすべて網羅するクロックゲーティング全状態集合を出力する全状態集合出力手段と、
備えることを特徴とするクロックゲーティング解析装置。 - 検出手段とクロックゲーティング関数算出手段と変換テーブル作成手段と全状態集合出力手段とを備えるコンピュータが、
前記検出手段により、解析対象回路内のクロックゲーティングから順序回路素子に供給されるローカルクロックを検出する検出工程と、
前記クロックゲーティング関数算出手段により、前記検出工程によって検出されたクロックゲーティングにおいて前記順序回路素子から前記クロックの入力端子以外の他の入力端子に入力される制御信号により、前記クロックゲーティングから出力されるローカルクロックの活性化/非活性化を表現するクロックゲーティング関数を、前記クロックゲーティングごとに算出するクロックゲーティング関数算出工程と、
前記変換テーブル作成手段により、前記クロックゲーティング関数算出工程によって算出された各クロックゲーティング関数に、前記各順序回路素子からの出力値の組み合わせを代入して、前記各クロックゲーティング関数の値の組み合わせを、前記ローカルクロック相互の活性化/非活性化をあらわすクロックゲーティング状態として算出することにより、前記各順序回路素子からの出力値の組み合わせから前記クロックゲーティング状態への変換をあらわす変換テーブルを作成する変換テーブル作成工程と、
前記全状態集合出力手段により、前記変換テーブル作成工程によって作成された変換テーブルに基づいて、前記解析対象回路における前記クロックゲーティング状態をすべて網羅するクロックゲーティング全状態集合を出力する全状態集合出力工程と、
実行することを特徴とするクロックゲーティング解析方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007032540A JP4388965B2 (ja) | 2007-02-13 | 2007-02-13 | クロックゲーティング解析プログラム、該プログラムを記録した記録媒体、クロックゲーティング解析装置、およびクロックゲーティング解析方法 |
US12/002,349 US8069026B2 (en) | 2007-02-13 | 2007-12-17 | Clock gating analyzing apparatus, clock gating analyzing method, and computer product |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007032540A JP4388965B2 (ja) | 2007-02-13 | 2007-02-13 | クロックゲーティング解析プログラム、該プログラムを記録した記録媒体、クロックゲーティング解析装置、およびクロックゲーティング解析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008197920A JP2008197920A (ja) | 2008-08-28 |
JP4388965B2 true JP4388965B2 (ja) | 2009-12-24 |
Family
ID=39686590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007032540A Expired - Fee Related JP4388965B2 (ja) | 2007-02-13 | 2007-02-13 | クロックゲーティング解析プログラム、該プログラムを記録した記録媒体、クロックゲーティング解析装置、およびクロックゲーティング解析方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8069026B2 (ja) |
JP (1) | JP4388965B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8073669B2 (en) * | 2007-08-21 | 2011-12-06 | International Business Machines Corporation | Method and apparatus for detecting clock gating opportunities in a pipelined electronic circuit design |
US7458050B1 (en) * | 2008-03-21 | 2008-11-25 | International Business Machines Corporation | Methods to cluster boolean functions for clock gating |
KR101139603B1 (ko) * | 2010-08-24 | 2012-04-27 | 광운대학교 산학협력단 | 클럭 게이팅 집적 회로 장치의 소비 전력 예측 방법 |
US9495490B2 (en) | 2012-07-16 | 2016-11-15 | International Business Machines Corporation | Active power dissipation detection based on erroneus clock gating equations |
US8656326B1 (en) | 2013-02-13 | 2014-02-18 | Atrenta, Inc. | Sequential clock gating using net activity and XOR technique on semiconductor designs including already gated pipeline design |
US9946823B2 (en) * | 2013-08-12 | 2018-04-17 | Mentor Graphics Corporation | Dynamic control of design clock generation in emulation |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08202569A (ja) | 1995-01-23 | 1996-08-09 | Sharp Corp | ゲーティッドクロックの検証方法 |
JPH09251483A (ja) * | 1996-03-18 | 1997-09-22 | Fujitsu Ltd | セルライブラリ作成方法 |
JP3357813B2 (ja) | 1997-04-01 | 2002-12-16 | 株式会社東芝 | ゲーテッドクロック設計支援方法、ゲーテッドクロック設計支援装置及びゲーテッドクロック設計支援プログラムを格納したコンピュータ読み取り可能な記録媒体 |
US6557150B1 (en) * | 1997-08-20 | 2003-04-29 | Hitachi, Ltd. | Method of extracting timing characteristics of transistor circuits, storage medium storing timing characteristic library, LSI designing method, and gate extraction method |
JPH11259554A (ja) | 1998-03-13 | 1999-09-24 | Toshiba Corp | 論理回路のタイミング解析方法ならびに同方法を用いた論理合成システム、及び同方法がプログラムされ記録される記録媒体 |
TW382855B (en) * | 1998-07-29 | 2000-02-21 | Integrated Technology Express | State machine with dynamic interception clock function |
JP2006106865A (ja) * | 2004-09-30 | 2006-04-20 | Nec Corp | 論理回路設計検証装置および方法、プログラム |
-
2007
- 2007-02-13 JP JP2007032540A patent/JP4388965B2/ja not_active Expired - Fee Related
- 2007-12-17 US US12/002,349 patent/US8069026B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008197920A (ja) | 2008-08-28 |
US8069026B2 (en) | 2011-11-29 |
US20080195367A1 (en) | 2008-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4388965B2 (ja) | クロックゲーティング解析プログラム、該プログラムを記録した記録媒体、クロックゲーティング解析装置、およびクロックゲーティング解析方法 | |
US7308660B2 (en) | Calculation system of fault coverage and calculation method of the same | |
US11036913B2 (en) | Integrated circuit methods using single-pin imaginary devices | |
JP2004013720A (ja) | 論理回路のタイミング制約モデル生成方法、論理回路のタイミング制約モデル生成プログラム、およびタイミング制約モデルを用いるタイミングドリブンレイアウト方法 | |
JP5310036B2 (ja) | 検証支援プログラムおよび検証支援装置 | |
Amarú et al. | SAT-sweeping enhanced for logic synthesis | |
JP4533918B2 (ja) | 回路仕様記述設計解析装置及び回路仕様記述設計解析方法 | |
JP4142176B2 (ja) | インタフェース仕様定義を記録した記憶媒体、及び接続検証方法、及び信号パタン生成方法 | |
JP5292164B2 (ja) | 故障診断方法および故障診断システム | |
Uysal et al. | OCV guided clock tree topology reconstruction | |
US20070266348A1 (en) | Circuit conjunctive normal form generating method, circuit conjunctive normal form generating device, hazard check method and hazard check device | |
JP5115003B2 (ja) | 論理設計支援システム及びプログラム | |
Christensen et al. | PyLSE: A pulse-transfer level language for superconductor electronics | |
US20220092246A1 (en) | System and method for analog design synthesis using analog cell component library based on ai/ml | |
CN108279889A (zh) | 时钟树代码生成方法及装置 | |
JP2011257845A (ja) | ディレイライブラリ生成装置,ディレイライブラリ生成プログラムおよびディレイライブラリ生成方法 | |
JP6365273B2 (ja) | テストパターン生成方法、テストパターン生成プログラム、およびテストパターン生成装置 | |
CN111368513A (zh) | Xdl电路网表文件到有向超图的转换方法 | |
US6877140B1 (en) | Method and system for generating a schematic representing bus structures | |
JP2010176208A (ja) | 冗長論理素子削除方法、その装置、及びプログラム | |
US7350162B2 (en) | Structure analytic program | |
US6463572B1 (en) | IC timing analysis with known false paths | |
US20240046018A1 (en) | Logic circuit design method and logic circuit designing apparatus | |
JP4782743B2 (ja) | 論理接続チェックプログラム、論理接続チェック装置、および論理接続チェック方法 | |
JP6813182B2 (ja) | 抽出装置、抽出方法、ならびに、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081205 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090428 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090512 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090713 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090929 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091005 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121009 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121009 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131009 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |