[go: up one dir, main page]

JP5018781B2 - 信号選択装置、回路修正装置、回路シミュレータ、回路エミュレータ、信号選択方法およびプログラム - Google Patents

信号選択装置、回路修正装置、回路シミュレータ、回路エミュレータ、信号選択方法およびプログラム Download PDF

Info

Publication number
JP5018781B2
JP5018781B2 JP2008536370A JP2008536370A JP5018781B2 JP 5018781 B2 JP5018781 B2 JP 5018781B2 JP 2008536370 A JP2008536370 A JP 2008536370A JP 2008536370 A JP2008536370 A JP 2008536370A JP 5018781 B2 JP5018781 B2 JP 5018781B2
Authority
JP
Japan
Prior art keywords
signal
signals
circuit
observation
signal selection
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
Application number
JP2008536370A
Other languages
English (en)
Other versions
JPWO2008038617A1 (ja
Inventor
晃平 細川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2008536370A priority Critical patent/JP5018781B2/ja
Publication of JPWO2008038617A1 publication Critical patent/JPWO2008038617A1/ja
Application granted granted Critical
Publication of JP5018781B2 publication Critical patent/JP5018781B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/23Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/08Probabilistic or stochastic CAD

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

本発明は、論理回路の機能検証に関し、回路の動作パラメータを効率的に測定するための信号選択装置、回路修正装置、回路シミュレータ、回路エミュレータ、信号選択方法およびプログラムに関するものである。
ディジタルLSIにおいて、再製造等を避けるために、LSIが有する全ての機能を事前に検証することはとても重要である。そのためには、ディジタルLSIが有する全ての機能を列挙し、その各機能について検証することが必要である。
しかしながら現在のLSIの設計手法では、そのLSIが有する全ての機能を列挙する手段が人手であり、その列挙漏れを防ぐことができないという問題がある。
そのため、現在のLSI設計では全ての機能を列挙し検証する以外に、別の指標を使って検証の良さを測定しており、その1つとしてトグル率がある。その一例が文献(D. Drako and P.Cohen, “HDL Verification Coverage,” Integrated System Design Magazine, pp.46-52, June 1998.)に開示されている。
トグル率は、回路動作が終了したときの信号の変化度合いであり、より具体的には(L+H)/2Nで求められる。このとき、Lは論理1から論理0に一度でも変化した信号の数であり、Hは論理0から論理1に一度でも変化した信号の数であり、Nは回路に存在する全ての信号の数である。
したがって、トグル率を求めるためには、LSI内にある全ての信号の情報(変化)が必要である。そのため、現在のLSI設計では、トグル率はRTLシミュレータで求めている。
しかしながら、近年のディジタルLSIの多機能化はすさまじく、シミュレーション速度は低下の一途をたどっている。その結果、トグル率をRTLシミュレータで求めることが困難になってきている。この問題を解決するための手法として、ハードウェアエミュレータでトグル率を求める手法がある。その手法の一例が、特開平01−026243号公報に開示されている。
従来の方法では、動作パラメータのトグル率や消費電力を求めるために回路内の全ての信号の情報(信号変化の情報)が必要となる。そのため、RTLシミュレータの動作速度が遅くなってしまう問題点がある。なぜならば、全ての信号に対して、信号の変化を検出し、検出結果を記録しておく必要があるからである。
一方、ハードウェアエミュレータや実際のディジタルLSIでは、トグル率を求めるために必要な回路規模が大きくなってしまう問題点がある。なぜならば、全ての信号に対して、信号の変化を検出するための回路や、その結果を保存する記憶素子、そして、その記憶素子の値を読出すための手段が必要となるためである。
本発明は上述したような技術が有する問題点を解決するためになされたものであり、回路の動作パラメータを求める際に回路内の全ての信号変化の情報を必要としない信号選択装置、回路修正装置、回路シミュレータ、回路エミュレータ、信号選択方法、およびその方法をコンピュータに実行させるためのプログラムを提供することを目的とする。
本発明の信号選択装置は、回路の動作パラメータを求めるための信号選択装置であって、回路の情報が入力されると、動作パラメータの測定対象となる回路内の信号を列挙する回路解析手段と、推定誤差の幅および信頼度ならびに列挙された信号の数から、動作パラメータを求めるために必要な観測信号の数を動作パラメータの確率分布を正規分布と仮定して計算する観測信号数決定手段と、観測信号の数に対応する信号を列挙された信号から観測信号として選択する観測信号選択手段と、を有する構成である。
本発明では、動作パラメータを求める際に必要な信号の数を統計学的に算出して、計算に必要な数を従来よりも少なくしている。そのため、回路の機能検証に対する信頼性を維持したまま、動作パラメータを従来よりも効率よく求めることが可能となる。
本発明によれば、動作パラメータに必要な信号の数を統計学的に求めて、従来よりも信号数を減らしているため、RTLシミュレータでトグル率や消費電力を求めるときに起きる速度低下を低減できる。
また、回路全体のトグル率や消費電力を求める際、回路内の全ての信号を利用するのではなく、無作為に抽出されたサンプル信号のみを用いるため、ハードウェアエミュレータや実際のディジタルLSIでトグル率や消費電力を求めるための回路規模が従来よりも小さくてすむ。
図1は本発明の第1の実施形態の構成例を示すブロック図である。 図2は本発明の第1の実施形態の動作の流れを表すフローチャートである。 図3は本発明の第9の実施形態を説明するための回路のブロック図である。 図4は本発明の第10の実施形態の構成例を示すブロック図である。 図5は本発明の第10の実施形態の回路挿入手段により修正された回路の一例を示す回路図である。 図6は本発明の第10の実施形態の変化検出回路の一構成例を示すブロック図である。 図7は本発明の第10の実施形態の動作の流れを表すフローチャートである。 図8は本発明の第11の実施形態の変化検出回路の一構成例を示すブロック図である。 図9は本発明の第12の実施形態の構成例を示すブロック図である。 図10は本発明の第12の実施形態の動作の流れを表すフローチャートである。 図11は本発明の第13の実施形態の構成例を示すブロック図である。 図12は本発明の第13の実施形態の動作の流れを表すフローチャートである。 図13は本発明の第14の実施形態の動作の流れを表すフローチャートである。 図14は実施例1を説明するための回路の記述例である。
符号の説明
100 信号選択装置
101 回路
102 観測信号リスト
110 回路解析手段
111 観測信号数決定手段
112 観測信号選択手段
400 回路修正装置
401 回路挿入手段
402 修正された回路
501、501.1、…、501.x 観測信号
502、502.1、…、502.x 変化検出回路
503 読出回路
601、604、605 D型フリップフロップ
602、603 信号線
801、802 カウンタ
901 シミュレータ
902 イベント保持手段
903 イベント処理手段
904 観測信号判断手段
905 変化検出手段
906 記憶部
907 表示手段
950 制御部
1101 実装手段
1102 ハードウェアエミュレータ
1103 推定手段
1104 表示手段
(第1の実施形態)
本実施形態の信号選択装置の構成を説明する。図1は本実施形態の信号選択装置の一構成例を示すブロック図である。
図1に示すように、本実施形態の信号選択装置100は、トグル率の計測対象であるVerilog- HDL (Hardware Description Language)やVHDLなどで記述された回路101を示す情報である回路情報が入力されると、回路情報から観測信号リスト102を求めて出力する。なお、回路情報は図に示さない記憶装置に予め格納しておいてもよい。
観測信号リスト102は、回路101の動作パラメータを求めるために観測が必要な信号である観測信号のリストである。記憶部101に格納された回路情報は、Verilog- HDLやVHDLなどのハードウェア記述言語で記述された回路101を示す情報である。回路情報には、回路内の論理ゲートの種類および数ならびにこれらの論理ゲートの接続の仕方の情報が含まれている。なお、回路101を記述するためのハードウェア記述言語はVerilog- HDLやVHDLに限らず、別のハードウェア記述言語であってもかまわない。また、回路情報は、回路図によって表された情報であってもよい。
信号選択装置100は、回路101に存在する全ての信号を列挙する回路解析手段110と、推定誤差の幅および信頼度ならびに回路解析手段110が列挙した信号の数とから観測信号の数を統計学的に求める観測信号数決定手段111と、観測信号数決定手段111が決定した観測信号の数の分だけ回路解析手段110が列挙した信号から無作為に選択する観測信号選択手段112とを有する。
また、信号選択装置100には、プログラムにしたがって所定の処理を実行するCPU(Central Processing Unit)と、プログラムを格納するためのメモリとを有する。CPUがプログラムを実行することで回路解析手段110、観測信号数決定手段111および観測信号選択手段112が仮想的に信号選択装置100内に構成される。以下に、各手段について詳細に説明する。
回路解析手段110は、回路101に存在する全ての信号を列挙し、その信号の情報をまとめた信号一覧を作成する。本実施形態では、その信号の特性に限らず、全て列挙する。
観測信号数決定手段111は、推定誤差の幅をe、信頼度をq、回路解析手段110が列挙した信号の数をNとしたとき、観測信号の数を式(1)
Figure 0005018781
により求める。ただし、関数Q-1((1-q)/2)は標準正規分布の上側確率関数の逆関数である。式(1)は、トグル率の確率分布を正規分布と仮定した式である。なお、推定誤差の幅および信頼度は操作者により外部から入力されてもよく、予め記憶部101に登録されていてもよい。
例えば、Nを100000、推定誤差の幅を5%(0.05)、信頼度を95%(0.95)とすると、標準正規分布の上側確率関数の定義からQ-1((1-0.95)/2)≒1.96より、観測信号の数は約1513となる。より具体的には、1513本を観測して求めたトグル率が70%の場合、真のトグル率は区間[67.5, 72.5]の間に95%の確率で存在することが統計学的に保証される。
観測信号選択手段112は、観測信号数決定手段111が決定した観測信号の数を回路解析手段110が列挙した信号から無作為に選択する。
なお、動作パラメータの測定対象となる回路は、回路101全体の場合に限らず、回路101内のサブブロックの場合もある。この場合、サブブロックの数は1つとは限らない。回路解析手段110、観測信号数決定手段111および観測信号選択手段112は、測定対象となる回路に対応してそれぞれ上述の動作を行う。本実施形態では、回路101全体に対して実行する場合で説明している。
次に、本実施形態の信号選択装置の全体の動作について詳細に説明する。図2は本実施形態の信号選択装置の動作手順を示すフローチャートである。
回路101の情報が信号選択装置100に入力されると、回路解析手段110は、回路101にあるトグル率の測定対象となる信号を解析し、その信号の情報をまとめた信号一覧を作成する(ステップS201)。
続いて、観測信号数決定手段111が、ステップS201で作成された信号一覧を参照して信号の数を求める。そして、その信号の数と、入力された推定誤差の幅および信頼度とから、これら推定誤差の幅と信頼度を統計学的に保証できるような観測信号の数を式(1)を用いて求める(ステップS202)。
その後、観測信号選択手段112が、ステップS202で決定された観測信号の数だけ、ステップS201で作成された信号一覧から信号を無作為に選択し、観測信号リスト102を作成する。そして、観測信号リスト102を出力する。
なお、本実施形態では動作パラメータをトグル率としたが、消費電力であってもよい。また、回路情報が格納された記憶部と信号選択装置100の機能を備えた制御部とを有するコンピュータ等の情報処理装置に本実施形態の信号選択方法の動作を実行させてもよい。
次に、本実施形態の効果について説明する。本実施形態の信号選択装置および信号選択方法は、動作パラメータとしてトグル率や消費電力を求めるための観測信号の数を従来よりも劇的に削減することができる。これにより、回路の機能検証に対する信頼性を維持したまま、回路シミュレータでトグル率や消費電力を求めるときに起きる速度低下を従来よりも劇的に低減できる。
さらには、回路全体のトグル率や消費電力を求める際、回路内の全ての信号を利用するのではなく、無作為に抽出されたサンプル信号のみを用いるため、ハードウェアエミュレータや実際のディジタルLSIで従来よりも小規模な面積増加でトグル率を求めるシステムを提供できる。
(第2の実施形態)
本発明の第2の実施形態について説明する。ただし、本実施形態の全体の動作は第1の実施形態と同様であるため、ここでは、第1の実施形態と異なる部分を中心に説明する。
第1の実施形態では、観測信号数決定手段111は、回路101のトグル率がどのような値でも統計学的に保証できるように観測信号の数を決定している。本実施形態は、どのような値でも保証するのではなく、真のトグル率が所定の値以上になったときのみ保証できるように観測信号の数を決定するものである。
具体的には、式(1)中の0.25をu(1-u)で計算される値に置き換えたものである。ただし、uは真のトグル率である。例えば、真のトグル率が80%以上のときのみ統計学的に保証する場合は、式(1)の0.25を0.8*0.2=0.16に置き換え、90%以上のときのみ統計学的に保証する場合は、式(1)の0.25を0.9*0.1=0.09に置き換える。
次に、本実施形態の効果について説明する。本実施形態の信号選択装置および信号選択方法は、第1の実施形態と比較して、観測信号の数をさらに減らすことが可能となる。
例えば、Nを100000、推定誤差の幅を5%(0.05)、信頼度を95%(0.95)とすると、第1の実施形態では観測信号の数が1513本であったが、真のトグル率が80%以上のときのみ保証する場合は、973本、90%以上のときのみ保証する場合は550本となり、それぞれ36%、64%の観測信号の数を削減できる。
(第3の実施形態)
本発明の第3の実施形態について説明する。ただし、本実施形態の全体の動作は第1の実施形態と同様であるため、ここでは、第1の実施形態と異なる部分を中心に説明する。
第1の実施形態と異なる部分は回路解析手段110の動作である。本実施形態の回路解析手段110は、“変化しない”と認識した信号を回路解析手段110から受け取る信号一覧に出力しないようにする。ここで、信号が“変化しない”とは、回路101の動作において信号線の電位が変化しないことを意味する。
変化しないと回路解析手段110が認識する信号として、電源やグラウンドに接続された固定値の信号や、スペアの出力信号などがある。これらの信号は、ユーザが信号選択装置100を操作して予め指定してもよく、認識方法をプログラムに予め記述しておくことで回路解析手段110に判断させてもよい。また、実行するテストベクタによっては、絶対に動作しない回路ブロックも存在するため、それらを解析して、信号一覧に出力しないようにする。
次に、本実施形態の効果について説明する。本実施形態の信号選択装置および信号選択方法は、第1の実施形態と比較して、トグル率を意図せず下げてしまう要因を事前に削減することが可能となる。
(第4の実施形態)
本発明の第4の実施形態について説明する。本実施形態の目的は、第3の実施形態と同様である。しかし、第3の実施形態とは次のように異なる。第3の実施形態では、信号解析手段110が、“変化しない”と認識した信号を信号一覧に出力しないこととした。本実施形態では、観測信号選択手段112が、“変化しない”と認識した信号を選択しないように動作する。所定の信号の観測信号選択手段112への認識のさせ方は、ユーザが信号選択装置100を操作して予め指定してもよく、認識方法をプログラムに予め記述しておいてもよい。
なお、本実施形態の全体の動作は第1の実施形態と同様であるため、その詳細な説明を省略する。また、本実施形態の効果についても第3の実施形態と同様であるため、その詳細な説明を省略する。
(第5の実施形態)
本発明の第5の実施形態について説明する。ただし、本実施形態の全体の動作は第1の実施形態と同様であるため、ここでは、第1の実施形態と異なる部分を中心に説明する。
第1の実施形態と異なる部分は回路解析手段110の動作である。本実施形態の回路解析手段110は、“変化する”と認識した信号を回路解析手段110から受け取る信号一覧に出力しないようにする。ここで、信号が“変化する”とは、回路101の動作において信号線の電位が変化して、電位の意味する値が1→0、または0→1のように変化することを意味する。
変化すると回路解析手段110が認識する信号としては、クロック信号やリセット信号、回路101の入出力端子などがある。これらの信号はユーザが信号選択装置100を操作して指定してもよく、認識方法をプログラムに予め記述しておくことで回路解析手段110に判断させてもよい。
次に、本実施形態の効果について説明する。本実施形態の信号選択装置および信号選択方法は、第1の実施形態と比較して、トグル率を意図せず上げてしまう要因を事前に削減することが可能となる。
(第6の実施形態)
本発明の第6の実施形態について説明する。本実施形態の目的は、第5の実施形態と同様である。しかし、第5の実施形態とは次のように異なる。第5の実施形態では、信号解析手段110が、“変化する”と認識した信号を信号一覧に出力しないこととした。本実施形態では、観測信号選択手段112が、“変化する”と認識した信号を選択しないように動作する。所定の信号の観測信号選択手段112への認識のさせ方は、ユーザが信号選択装置100を操作して予め指定してもよく、認識方法をプログラムに予め記述しておいてもよい。
なお、本実施形態の全体の動作は第1の実施形態と同様であるため、その詳細な説明を省略する。また、本実施形態の効果についても第5の実施形態と同様であるため、その詳細な説明を省略する。
(第7の実施形態)
本発明の第7の実施形態について説明する。ただし、本実施形態の全体の動作は第1の実施形態と同様であるため、ここでは、第1の実施形態と異なる部分を中心に説明する。
第1の実施形態と異なる部分は回路解析手段110と観測信号選択手段112の動作である。本実施形態の回路解析手段110は、第1の実施形態で説明した動作の他に、信号間の依存関係を解析し、依存関係を出力する。そして、観測信号選択手段112は、信号を選択する際、信号間に依存関係のないものを選択する。
依存関係とは、例えば、トグル率の対象となっている回路に信号Aと信号Bがあり、それがインバータで接続されている場合などである。この場合、信号Aが変化すれば必ず信号Bが変化する。そのため、トグル率は、依存関係のなしで低い場合はより低くなり、依存関係のなしで高い場合はより高くなる。依存関係は、トグル率をより強調する方向に変化させる原因になる。
他の依存関係の例としては、例えば、信号Aの値が変化したときに、その変化によって値が変わり得る信号は依存関係があるとし、その他の信号は依存関係がないとする例もある。
また、他の依存関係の例としては、回路の階層が同じ場合は依存関係があるとし、その他の階層では依存関係がないとする例もある。
次に、本実施形態の効果について説明する。本実施形態で説明した操作は、統計学的に許されないが、トグル率を低くする(機能検証漏れが少なくなる)ように働く。したがって、トグル率の値が実際よりも高くなる確率を減らすことができる。
(第8の実施形態)
本発明の第8の実施形態について説明する。ただし、本実施形態の全体の動作は第1の実施形態と同様であるため、ここでは、第1の実施形態と異なる部分を中心に説明する。
第1の実施形態と異なる部分は、回路解析手段110、観測信号数決定手段111および観測信号選択手段112の動作であり、回路101は複数のサブブロックに分割されていることである。
回路解析手段110は、指定されたサブブロック毎に回路を解析し、その中にある信号をまとめた信号一覧を指定されたサブブロック毎に出力する。
観測信号数決定手段111は、指定されたサブブロック毎の推定誤差の幅と信頼度と回路解析手段110が解析した結果による信号数から、指定されたサブブロック毎に観測信号の数を決定する。
観測信号選択手段112は、指定されたサブブロック毎に、観測信号数決定手段111が決定したそのサブブロックに対する観測信号数の信号を、回路解析手段110が出力したそのサブブロックに対する信号一覧から選択する。
次に、本実施形態の効果について説明する。本実施形態は、指定されたサブブロック毎に統計学的に保証可能なトグル率を求めることができる。これにより一度の動作で複数のトグル率を一括して求めることができ、測定に必要な時間を短縮することが可能となる。
(第9の実施形態)
本発明の第9の実施形態について説明する。ただし、本実施形態の全体の動作は第8の実施形態と同様であるため、ここでは、第8の実施形態と異なる部分を中心に説明する。
第8の実施形態と異なる部分は、観測信号数決定手段111の動作と、指定されたサブブロックに包含関係があることである。図3は本実施形態を説明するためのサブブロックの構成例を示す模式図である。図3では、サブブロックAの中にサブブロックBおよびサブブロックCがあり、サブブロックBの中にサブブロックDがある。そして、指定されたサブブロックがサブブロックAとサブブロックDとする。
観測信号数決定手段111は、最初に、指定されたサブブロック毎の推定誤差の幅と信頼度と列挙された信号の数から、指定されたサブブロック毎に観測信号数を仮に統計学的に求める。求める方法は第8の実施形態と同様である。次に、観測信号数決定手段111は、仮に決定した観測信号数から、そのサブブロックが包含する指定された1つまたは複数のサブブロックの仮の観測信号数を引いた数を、サブブロックの観測信号数とする。
具体的な動作を、図3を用いて説明する。例えば、サブブロックDでは仮の観測信号数が100個必要で、サブブロックAでは仮の観測信号数が300個必要な場合、本実施形態の観測信号数決定手段111は、サブブロックDは今までどおり観測信号数を100個とするが、サブブロックAでは300-100の200個とする。
次に、本実施形態の効果について説明する。本実施形態の信号選択装置および信号選択方法は、指定されたサブブロックが重なっている場合でも統計学的に値を保証しつつ、測定に必要な観測信号数を削減できる。
(第10の実施形態)
本発明の第10の実施形態について図面を参照して詳細に説明する。本実施形態は、観測信号の変化を検出するための構成を回路101に挿入する回路修正装置である。
図4は本実施形態の回路修正装置の一構成例を示すブロック図である。図5は本実施形態の回路修正装置により修正された回路の一例を示す図である。
図4に示すように、本実施形態の回路修正装置400は、トグル率の計測対象である回路101が入力されると観測信号リスト102を出力する信号選択装置100と、観測信号リスト102を参照して回路101を修正する回路挿入手段401とを有する。なお、図に示さないCPUがプログラムを実行することで回路挿入手段401が回路修正装置内に仮想的に構成される。
回路挿入手段401は、観測信号リスト102にある各観測信号501.1、…、501.xに対して、信号の変化を検出する変化検出回路502.1、…、502.xと変化検出回路502.1、…、502.xが検出した変化の有無を読み出す読出回路503とを回路101に挿入し、この挿入により修正された回路402を出力する。xは1以上の任意の整数である。
なお、信号選択装置100、回路101および観測信号リスト102は第1の実施形態から第9の実施形態のいずれかと同様であるため、その詳細な説明を省略する。また、回路挿入手段401の動作を信号選択装置100内のCPUが実行するようにしてもよい。また、回路101の情報が格納された記憶装置を設けてもよい。
次に、回路挿入手段401について図5を参照して詳細に説明する。
回路挿入手段401は、回路101に対して、観測信号リスト102にあるx個の観測信号501.1、…、501.xのそれぞれに変化検出回路502.1、…、502.xのそれぞれを設け、読出回路503を設けた図5に示す回路を作成する。
図5に示す回路では、回路101の機能的動作を変更しない意味で回路101の外に変化検出回路502.1、…、502.xと読出回路503を追加しているが、実際には観測信号付近に変化検出回路502.1、…、502.xを挿入してもよい。つまり、回路挿入手段401は、回路101の機能的な動作を変更せず、観測信号501.1、…、501.xを変化検出回路502.1、…、502.xに接続し、変化検出回路502.1、…、502.xを読出回路503に接続する。
x個の変化検出回路502.1、…、502.xは機能的に同一であり、変化検出回路502.1、…、502.xの具体例を、次に説明する。図6は本実施形態の変化検出回路の一構成例を示すブロック図である。図6では、観測信号501.1、…、501.xを代表して符号501で示し、変化検出回路502.1、…、502.xを代表して符号502で示す。
図6に示すように、変化検出回路502.1、…、502.xは、観測信号501の1サイクル前の値を出力するDFF(D型フリップフロップ)601と、観測信号501の値が1で1サイクル前の値が0のときに出力が1になるANDゲート620と、観測信号501の値が0で1サイクル前の値が1のときに出力が1になるANDゲート630と、観測信号501が一度でも0から1に変化したときに値1を記憶するDFF604と、観測信号501が一度でも1から0に変化したときに値1を記憶するDFF605とを有する構成である。
この構成において、論理伝播中に信号がばたつくジッタ以外の観測信号501の変化を検出可能にするため、DFF601、DFF604およびDFF605のクロック信号には、観測信号501やその信号に論理的に依存するデータ信号をラッチする全てのフリップフロップのクロック信号のうち、もっとも高速なクロック信号を利用する。
図6に示した構成例では、値を記憶する手段としてD型フリップフロップを利用しているが、値を記憶できる手段であればその他の構成であってもよい。
さらに、必要なテスト期間中だけトグル率を測定できるように、DFF604やDFF605に、リセット信号やクロックイネーブル信号を用意しておいてもよい。
読出回路503は、x個ある変化検出手段502.1、…、502.x内部のDFF604とDFF605の値を読み出す手段である。本発明の回路修正装置における読出回路は、本実施形態の構成に限定されず、全てのDFF604とDFF605の値が読み出しできればどのような回路構成でもかまわない。例えば、回路規模を抑えるためにシリアル接続してもよいし、読出時間を短縮するために、複数の値を平行して読み出せるようにパラレル接続してもよい。
次に、本実施形態の回路修正装置の全体の動作について詳細に説明する。図7は本実施形態の回路修正装置の動作手順を示すフローチャートである。
本実施形態の回路修正装置による動作は、第1の実施形態で説明した図2の動作手順にステップS701の処理を追加したものである。ステップS701では、回路挿入手段401により、回路101に変化検出手段502.1、…、502.xと読出回路503を挿入し、回路101を修正する。
次に、本実施形態の効果について説明する。本実施形態の回路修正装置では、推定誤差の幅や信頼度によっては数万となる観測信号の各々に、変換検出回路を付加し、それを読出手段に接続する煩雑を削減できる。また、回路修正を自動で行うことにより人手で発生する修正ミスを防ぐことができる。
また、変化を検出するか否かを決定する手段として、変換検出回路のDFF604やDFF605にリセット信号やクロックイネーブル信号を追加する構成を設けてもよい。この場合、必要なテスト期間中だけトグル率を測定できるようにすることが可能となる。
また、変換検出回路のDFF604やDFF605に対してさらに書き込み手段を設けることで、複数のテストベンチを実行させたときの結果がマージしやすくなる利点がある。
(第11の実施形態)
本発明の第11の実施形態を、図面を用いて詳細に説明する。
本実施形態の変化検出回路は、第10の実施形態の変化検出回路502と同様に観測信号の変化の有無を検出するだけでなく、その回数も記憶できるようにしたものである。それにしたがって、本実施形態の読出手段は、観測信号の変化の回数を読み出せるようにしたものである。なお、本実施形態の全体の動作は第10の実施形態と同様であるため、ここでは第10の実施形態と異なる動作について中心に説明する。
本実施形態におけるx個の変化検出回路502.1、…、502.xは機能的に同じであり、変化検出回路502.1、…、502.xの具体例を、次に説明する。図8は本実施形態の変化検出回路の一構成例を示すブロック図である。図8では、観測信号501.1、…、501.xを代表して符号501で示し、変化検出回路502.1、…、502.xを代表して符号502で示す。
変化検出回路502.1、…、502.xは、第10の実施形態のDFF604の構成が信号線602の信号の値が1になる回数を数えるカウンタ801に置き換えられ、第10の実施形態のDFF605の構成が信号線603の信号の値が1になる回数を数えるカウンタ802に置き換えられている。
この構成において、論理伝播中に信号がばたつくジッタ以外の観測信号601の変化を検出可能にするため、カウンタ801、802のクロック信号には、観測信号501やその信号に論理的に依存するデータ信号をラッチする全てのフリップフロップのクロック信号のうち、もっとも高速なクロック信号を利用する。
さらに、必要なテスト期間中だけトグル率や消費電力を測定できるように、変化を検出するか否かを決定する手段として、カウンタ801、802にリセット信号やクロックイネーブル信号を入力する構成を設けてもよい。
読出回路503は、x個ある変化検出手段502.1、…、502.x内部のカウンタ801,802の値を読み出す手段である。本発明の回路修正装置では全てのカウンタ801、802の値が読み出しできれば、読出回路はどのような回路構成でもかまわない。例えば、回路規模を抑えるためにシリアル接続してもよいし、読出時間を短縮するために、複数の値を平行して読み出せるようにパラレル接続してもよい。
次に、本実施形態の効果について説明する。本実施形態の回路修正装置は、観測信号の変化の回数から消費電力をトグル率と同様に推定することができる。
(第12の実施形態)
本発明の第12の実施形態について図面を参照して詳細に説明する。本実施形態は、プロセッサによって動作する回路シミュレーション装置である。
図9は本実施形態のシミュレータの一構成例を示すブロック図である。
本実施形態のシミュレータ901は、記憶部906と、制御部950とを有する構成である。制御部950は、結果を出力するための表示手段907および第1の実施形態で説明した信号選択装置100のそれぞれと信号線で接続されている。なお、回路101、信号選択装置100および観測信号リスト102は第1の実施形態から第9の実施形態のいずれかと同様であるため、詳細な説明を省略する。
記憶部906は、シミュレーション実行により、全ての観測信号について変化の履歴を記憶するための手段である。各観測信号について、情報0から1に変化したか否かを示す値、および情報1から0に変化したか否かを示す値を記憶する。
制御部950は、イベント保持手段902、イベント処理手段903、観測信号判断手段904、および変化検出手段905を有する。
また、制御部950には、プログラムにしたがって所定の処理を実行するCPUと、プログラムを格納するためのメモリとを有する。CPUがプログラムを実行することでイベント保持手段902、イベント処理手段903、観測信号判断手段904、および変化検出手段905が仮想的にシミュレータ901内に構成される。イベント保持手段902はデータを保存するためのメモリに相当する。
シミュレータ901は、イベント保持手段902とイベント処理手段903によって一般的なイベントドリブン型の回路シミュレータ(RTLシミュレータ)を構成する。ここで、一般的なイベントドリブン型の回路シミュレータの動作を簡単に説明する。イベント処理手段903が、信号の変化というイベントを発生させ、その信号に接続されている論理の値を算出する処理を行う。その算出結果によりさらにイベントが発生すると、イベント保持手段902に、発生したイベントの情報を登録する。さらに、そのイベントの発生に対して、イベント処理手段903が論理の値を算出する処理を行う。これを繰り返して回路をシミュレーションする。
本実施形態では、上述した一般的なイベントドリブン型の論理シミュレータに対して、観測信号判断手段904および変化検出手段905を制御部950に追加し、記憶部906を追加したものである。
観測信号判断手段904は、信号選択装置100から観測信号リスト102を受け取ると、観測信号リスト102を記憶部906に格納するとともに、イベント処理手段903が処理したイベントに対する信号が観測信号リスト102に存在するか否かを判断する。その信号が観測信号リスト102に存在しない場合、イベント処理手段903の処理による新たなイベントが発生しているか否かを判定し、イベントが発生していれば、イベント保持手段902にその情報を登録する。
一方、イベントに対する信号の変化が観測信号リスト102に存在する場合、その信号名、現在の時刻、および現在の値の情報を含む観測信号情報を変化検出手段905に渡す。そして、イベント処理手段903の処理により新たなイベントが発生していれば、観測信号判断手段904は、そのイベントの情報をイベント保持手段902に登録する。
変化検出手段905は、観測信号判断手段904から観測信号情報を受け取ると、イベント処理手段903が現在処理した観測信号についてこの処理前の値を記憶部906から読み出し、現在の値と違う場合は、その変化を記憶部906に記憶する。例えば、ある観測信号の値が、現在の処理以前が0で、現在の処理による結果が1の場合、変化検出手段905は、記憶部906内のその観測信号の履歴について、0から1に変化したか否かを示す値を「変化した」ことを示す値にして記憶部906に記憶させる。
制御部950は、観測信号が情報0から1に変化したか否かを示す値と、情報1から0に変化したか否かを示す値とを全ての観測信号に対して記憶部906から読み出し、トグル率を計算して、表示手段907にその結果を表示させる。このとき、制御部950は、検出した変化から回路全体のトグル率を推定する推定手段として動作する。
なお、本実施形態では、イベントドリブン型のシミュレータについて説明したが、別型のシミュレータでもよい。また、イベント保持手段902が登録するイベントの情報を記憶部906に格納してもよい。
次に、本実施形態のシミュレータ901の動作手順を説明する。図10は本実施形態のシミュレータの動作手順を示すフローチャートである。
第1の実施形態から第9の実施形態のいずれかの信号選択装置100で観測信号リスト102が生成されると、観測信号リスト102が入力され(ステップS1001)、回路101の情報がシミュレータ901に入力されると(ステップS1002)、シミュレーションを実行する(ステップS1003)。このステップにおける動作は一般的な論理シミュレータと同様である。本実施形態では、このステップにおいて、観測信号判断手段904が、イベント毎に信号の変化が観測信号リスト102にあるか否かを調べ、イベントが観測信号リスト102に存在する信号であれば、変化検出手段905がその信号の変化を記憶手段906に記録する。
シミュレーションが終了すると、制御部950は、全ての観測信号について、情報0から1に変化したか否かを示す値と、情報1から0に変化したか否かを示す値を記憶部906から読み出す(ステップS1004)。続いて、ステップS1004で読み出した値からトグル率を算出し(ステップS1005)、その結果を表示手段907に表示させる。
次に、本実施形態の効果について説明する。本実施形態の回路シミュレータでは、第1の実施形態で説明したように、トグル率を計測するときにシミュレータが観測する信号の数を一般的なシミュレータと比較して劇的に減らすことができる。なぜならば、一般的なシミュレータであれば全ての信号に対して変化検出を行うためである。本発明の回路シミュレータでは、より多くの処理を省くことができ、シミュレータの動作を高速にすることが可能となる。
なお、変化検出手段905が各観測信号について情報0から1への変化および情報1から0への変化のそれぞれの回数を記憶部906に記録し、制御部950がその結果から回路全体の消費電力を計算するようにしてもよい。この場合、記録した情報を消費電力の推定に利用することが可能となる。
(第13の実施形態)
本発明の第13の実施形態について図面を参照して詳細に説明する。本実施形態は、トグル率や消費電力をハードウェアエミュレータによって測定するための装置である。
図11は本実施形態の回路エミュレータを説明するためのブロック図である。
図11に示すように、本実施形態の回路エミュレータに相当するハードウェアエミュレータ1102は、回路修正装置400と実装手段1101を介して接続されている。また、ハードウェアエミュレータ1102には、エミュレータの動作後の結果を出力するための表示手段1104が推定手段1103を介して接続されている。
なお、本実施形態の回路修正装置400は第10の実施形態または第11の実施形態のいずれかの回路修正装置と同様であるため、ここでは詳細な説明を省略する。
実装手段1101は、回路修正装置400から修正された回路402を受け取ると、そのデータをハードウェアエミュレータ1102に実装する。ハードウェアエミュレータ1102がFPGA(Field Programmable Gate Array)であれば、実装手段1101は、Verilog- HDLやVHDLで記述されている修正された回路402からネットリストを生成する合成ツールと、作成されたネットリストをFPGAに実装するためのツールから構成される。
ハードウェアエミュレータ1102は、一般的なハードウェアエミュレータとしての機能を有するエミュレータ手段と、推定手段1103とを有する。図11では、説明のために推定手段1103を分けて示している。修正された回路402の動作をエミュレータ手段がエミュレートし、推定手段1103は、修正された回路402に設けられた読出回路から、変化した信号の数を読み出す。そして、その数から回路全体のトグル率を算出し、その結果を表示手段1104に渡す。また、推定手段1103は、読出回路から信号変化の回数を読み出す場合には、その回数から回路全体の消費電力を算出し、その結果を表示手段1104に渡す。
表示手段1104は、推定手段1103によって算出されたトグル率または消費電力を表示する。
次に、回路修正装置により修正された回路402からハードウェアエミュレータがトグル率を算出するまでの動作手順を説明する。図12はその動作手順を示すフローチャートである。
修正された回路402が生成されるまでのステップS201からS701までは、第10の実施形態で説明したものと同様であるため、ここでは、その詳細な説明を省略する。実装手段1101は、修正された回路402を受け取ると、そのデータをハードウェアエミュレータ1102に実装する(ステップS1201)。
続いて、ハードウェアエミュレータ1102が修正された回路402をエミュレートし(ステップS1202)、その動作中に、修正された回路402の変化検出回路502.1、…、502.x(図5を参照)は各観測信号501.1、…、501.xの値が変化したかを検出する。
エミュレータの動作が終了すると、推定手段1103は、読出回路503を介して、x個の変化検出回路502.1、…、502.xが検出した変化を読み出し、トグル率を算出する(ステップS1203)。そして、その結果を表示手段1104に表示させる。以下に、具体例を説明する。
例えば、100個の信号のうち、ハードウェアエミュレータ1102の動作中、情報0から1へ一度でも変化した信号が40個、情報1から0へ一度でも変化した信号が60個の場合、トグル率は(40+60)/ (2*100)= 0.5と算出されるので、表示手段1104には50%と表示される。
なお、実装手段1101、推定手段1103および表示手段1104を含む構成を、パーソナルコンピュータやワークステーション等の情報処理装置に置き換えてもよい。この場合、CPUがプログラムを実行することで、実装手段1101および推定手段1103が情報処理装置内に仮想的に構成される。
次に、本実施形態の効果について説明する。本実施形態では、第1の実施形態で説明したように、トグル率を計算するときにハードウェアエミュレータが観測する信号数を一般的なハードウェアエミュレータと比較して劇的に減らすことができる。なぜならば、一般的なハードウェアエミュレータであれば全ての信号に対して変化検出を行うためである。本発明により多くの処理を省くことでき、ハードウェアエミュレータへの実装面積を削減することが可能となる。
(第14の実施形態)
本発明の第14の実施形態は、回路101に対して複数のテストベンチをハードウェアエミュレータで動作させたときに、複数のテストベンチを実行させたときの全体のトグル率を測定可能としたものである。本実施形態では、構成のブロックは第13の実施形態と同様であり、全体の動作のみが異なる。
同様の目的を達成するためには、複数のテストベンチを事前に1つに結合し、第13の実施形態でトグル率を測定する方法が考えられる。また、その他の方法として、変化検出回路502.1、…、502.xのDFF605,606の値を書き換える手段を用意し、次のテストベンチを行う前に、直前のテストベンチの結果の値をDFF605,606に書き込んでからハードウェアエミュレータを繰り返し動作させる方法などが考えられる。さらに、同様のことがシミュレータにも適用可能である。
次に、本実施形態の全体の動作を説明する。図13は本実施形態の動作手順を示すフローチャートである。
ステップS1301の処理以外は第13の実施形態と同様であるため、ここではステップS1301について説明する。ステップS1301では、ハードウェアエミュレータ1102は、1つのテストベンチが終了する度に終了していないテストベンチがあるか否かを判定し、全てのテストベンチが終了するまでエミュレータの動作を繰り返し実行する。そして、全てのテストベンチが終了すると、推定手段1103は、第13の実施形態と同様に、トグル率を算出し、その結果を表示手段1104に表示させる。
次に、本実施形態の効果について説明する。通常のディジタルLSIの設計では、複数のテストベンチを利用してトグル率を100%に近い値を実現することが多い。第12の実施形態や第13の実施形態では、テストベンチが1つであることを仮定していたため、複数のテストベンチの結果を結合することが困難であった。しかしながら、本実施形態では、複数のテストベンチの結果をそれぞれ統合して表示するため、テストベンチを複数から構成してもよいという効果がある。
次に、回路101がVerilog- HDLで記述された場合で第1の実施形態の動作の具体例を説明する。図14は、Verilog- HDLで記述された回路の一例を示す図である。
図2のステップS201では、回路解析手段110が、入力された回路(図14)を解析する。この場合、clk, count[9999:0], hit, enableという信号があると解析する。
次のステップS202では、観測信号数決定手段111は、入力された推定誤差の幅と信頼度と回路に存在する信号の数から、統計学的に観測信号数を決定する。例えば、推定誤差の幅10%、信頼度95%とした場合、回路に存在する信号の数が10003本なので、観測信号数は約370になる。この意味は、「370本の信号を無作為に抽出し、トグル率を測定したときに0.33(33%)という値を得た場合、真のトグル率uは0.2≦u≦0.38に確率95%で存在する」ということになる。
最後のステップS203では、観測信号選択手段112は370本の信号を回路から無作為に抽出して、その信号を記述した観測信号リスト102を作成する。
なお、本発明は上記実施例に限定されることなく、発明の範囲内で種々の変形が可能であり、それらも本発明の範囲内に含まれることはいうまでもない。
また、本発明の信号選択方法を実行させるためのプログラムを、コンピュータが読み取り可能な記録媒体に記録してもよい。
この出願は、2006年9月29日に出願された日本出願の特願2006−268142の内容が全て取り込まれており、この日本出願を基礎として優先権を主張するものである。

Claims (31)

  1. 回路の動作パラメータを求めるための信号選択装置であって、
    前記回路の情報が入力されると、前記動作パラメータの測定対象となる回路内の信号を列挙する回路解析手段と、
    推定誤差の幅および信頼度ならびに列挙された前記信号の数から、前記動作パラメータを求めるために必要な観測信号の数を該動作パラメータの確率分布を正規分布と仮定して計算する観測信号数決定手段と、
    前記観測信号の数に対応する信号を列挙された前記信号から観測信号として選択する観測信号選択手段と、
    を有する信号選択装置。
  2. 前記動作パラメータはトグル率または消費電力であり、
    前記観測信号数決定手段は、推定誤差の幅をe、信頼度をq、前記回路にある信号の数をN、パラメータuを0から1の間の任意の実数、関数Q -1 ((1−q)/2)を標準正規分布の上側確率関数の逆関数としたとき、
    Figure 0005018781
    式(1)の計算式により前記動作パラメータを求めるために必要な観測信号の数を計算する、請求項1記載の信号選択装置。
  3. 前記観測信号数決定手段は、前記トグル率が所定の値以上のときだけ、統計学的に値を保証するように前記パラメータuを調整して前記観測信号の数を求める請求項2記載の信号選択装置。
  4. 前記回路は複数のサブブロックから構成され、
    前記回路解析手段は、予め指定されたサブブロック毎に信号を列挙し、
    前記観測信号数決定手段は、前記指定されたサブブロック毎の前記推定誤差の幅および信頼度ならびに列挙された前記信号の数から、前記指定されたサブブロック毎に観測信号の数を前記式(1)の計算式により求め、
    前記観測信号選択手段は、前記指定されたサブブロック毎の前記観測信号の数に対応する信号を、前記指定されたサブブロック毎に列挙された前記信号から選択する請求項2または3記載の信号選択装置。
  5. 前記観測信号数決定手段は、
    前記指定されたサブブロック毎の前記推定誤差の幅および信頼度ならびに列挙された前記信号の数から前記指定されたサブブロック毎の観測信号の数を前記式(1)の計算式により求め、求めた観測信号の数から該サブブロックに包含される指定された1つまたは複数のサブブロックの観測信号の数を引いた数を、前記指定されたサブブロック毎の前記観測信号の数とする請求項4記載の信号選択装置。
  6. 前記観測信号選択手段は、変化しないと予め認識した信号以外の信号を選択する請求項1からのいずれか1項記載の信号選択装置。
  7. 前記観測信号選択手段は、変化すると予め認識した信号以外の信号を選択する請求項1からのいずれか1項記載の信号選択装置。
  8. 前記回路解析手段は、列挙した各信号の依存関係を解析し、
    前記観測信号選択手段は、選択した信号間で前記依存関係から該信号間で依存がない信号を観測信号として選択する請求項1からのいずれか1項記載の信号選択装置。
  9. 請求項1から8のいずれか1項記載の信号選択装置によって選択された観測信号に対して、
    前記観測信号の変化を検出する変化検出回路および該変化検出回路により検出された変化を読み出す読出回路を前記回路に挿入する回路挿入手段を有する回路修正装置。
  10. 前記変化検出回路は前記観測信号の変化の回数を検出し、
    前記読出回路は前記観測信号の変化の回数を読み出す請求項9記載の回路修正装置。
  11. 前記変化検出回路は、
    前記観測信号の変化を検出するか否かを決定する手段を有する請求項9または10記載の回路修正装置。
  12. 請求項1から8のいずれか1項記載の信号選択装置によって選択された観測信号に対して、
    前記観測信号の変化を検出する検出手段と、
    検出した変化から回路全体のトグル率を推定する推定手段と、
    を有する回路シミュレータ。
  13. 前記検出手段は前記観測信号の変化の回数を数え、
    前記推定手段は前記回数から回路全体の消費電力を推定する請求項12記載の回路シミュレータ。
  14. 請求項9記載の回路修正装置によって修正された回路をエミュレートするエミュレータ手段と、
    変化した前記観測信号の数を前記読出回路より読み出し、変化した前記観測信号の数から回路全体のトグル率を推定する推定手段と、
    を有する回路エミュレータ。
  15. 請求項10記載の回路修正装置によって修正された回路をエミュレートするエミュレータ手段と、
    前記読出回路によって読み出した変化の回数から回路全体の消費電力を推定する推定手段と、
    を有する回路エミュレータ。
  16. 回路の動作パラメータを求めるための、情報処理装置による信号選択方法であって、
    前記回路の情報が入力されると、前記動作パラメータの測定対象となる回路内の信号を列挙する回路解析を行い、
    推定誤差の幅および信頼度ならびに列挙された前記信号の数から、前記動作パラメータを求めるために必要な観測信号の数を該動作パラメータの確率分布を正規分布と仮定して計算する信号数決定を行い、
    前記観測信号の数に対応する信号を列挙された前記信号から観測信号として選択する信号選択を行う、信号選択方法。
  17. 前記動作パラメータはトグル率または消費電力であり、
    前記信号数決定は、推定誤差の幅をe、信頼度をq、前記回路にある信号の数をN、パラメータuを0から1の間の任意の実数、関数Q -1 ((1−q)/2)を標準正規分布の上側確率関数の逆関数としたとき、
    Figure 0005018781
    式(1)の計算式により前記動作パラメータを求めるために必要な観測信号の数を計算するものである請求項16記載の信号選択方法。
  18. 前記信号数決定は、前記トグル率が所定の値以上のときだけ、統計学的に値を保証するように前記パラメータuを調整して前記観測信号の数を求めるものである請求項17記載の信号選択方法。
  19. 前記回路は複数のサブブロックから構成され、
    前記回路解析は、予め指定されたサブブロック毎に信号を列挙するものであり、
    前記信号数決定は、前記指定されたサブブロック毎の前記推定誤差の幅および信頼度ならびに列挙された前記信号の数から、前記指定されたサブブロック毎に観測信号の数を前記式(1)の計算式により求めるものであり、
    前記信号選択は、前記指定されたサブブロック毎の前記観測信号の数に対応する信号を、前記指定されたサブブロック毎に列挙された前記信号から選択するものである請求項17または18記載の信号選択方法。
  20. 前記信号数決定は、
    前記指定されたサブブロック毎の前記推定誤差の幅および信頼度ならびに列挙された前記信号の数から前記指定されたサブブロック毎の観測信号の数を前記式(1)の計算式により求め、求めた観測信号の数から該サブブロックに包含される指定された1つまたは複数のサブブロックの観測信号の数を引いた数を、前記指定されたサブブロック毎の前記観測信号の数とするものである請求項19記載の信号選択方法。
  21. 前記信号選択は、変化しないと予め認識した信号以外の信号を選択するものである請求項16から20のいずれか1項記載の信号選択方法。
  22. 前記信号選択は、変化すると予め認識した信号以外の信号を選択するものである請求項16から20のいずれか1項記載の信号選択方法。
  23. 前記回路解析は、列挙した各信号の依存関係を解析するものであり、
    前記信号選択は、選択した信号間で前記依存関係から該信号間で依存がない信号を観測信号として選択するものである請求項16から22のいずれか1項記載の信号選択方法。
  24. 回路の動作パラメータを求めるための信号選択をコンピュータに実行させるためのプログラムであって、
    前記回路の情報が入力されると、前記動作パラメータの測定対象となる回路内の信号を列挙する回路解析を行い、
    推定誤差の幅および信頼度ならびに列挙された前記信号の数から、前記動作パラメータを求めるために必要な観測信号の数を該動作パラメータの確率分布を正規分布と仮定して計算する信号数決定を行い、
    前記観測信号の数に対応する信号を列挙された前記信号から観測信号として選択する信号選択を行う処理を前記コンピュータに実行させるためのプログラム。
  25. 前記動作パラメータはトグル率または消費電力であり、
    前記信号数決定は、推定誤差の幅をe、信頼度をq、前記回路にある信号の数をN、パラメータuを0から1の間の任意の実数、関数Q -1 ((1−q)/2)を標準正規分布の上側確率関数の逆関数としたとき、
    Figure 0005018781
    式(1)の計算式により前記動作パラメータを求めるために必要な観測信号の数を計算するものである請求項24記載のプログラム。
  26. 前記信号数決定は、前記トグル率が所定の値以上のときだけ、統計学的に値を保証するように前記パラメータuを調整して前記観測信号の数を求めるものである請求項25記載のプログラム。
  27. 前記回路は複数のサブブロックから構成され、
    前記回路解析は、予め指定されたサブブロック毎に信号を列挙するものであり、
    前記信号数決定は、前記指定されたサブブロック毎の前記推定誤差の幅および信頼度ならびに列挙された前記信号の数から、前記指定されたサブブロック毎に観測信号の数を前記式(1)の計算式により求めるものであり、
    前記信号選択は、前記指定されたサブブロック毎の前記観測信号の数に対応する信号を、前記指定されたサブブロック毎に列挙された前記信号から選択するものである請求項25または26記載のプログラム。
  28. 前記信号数決定は、
    前記指定されたサブブロック毎の前記推定誤差の幅および信頼度ならびに列挙された前記信号の数から前記指定されたサブブロック毎の観測信号の数を前記式(1)の計算式により求め、求めた観測信号の数から該サブブロックに包含される指定された1つまたは複数のサブブロックの観測信号の数を引いた数を、前記指定されたサブブロック毎の前記観測信号の数とするものである請求項27記載のプログラム。
  29. 前記信号選択は、変化しないと予め認識した信号以外の信号を選択するものである請求項24から28のいずれか1項記載のプログラム。
  30. 前記信号選択は、変化すると予め認識した信号以外の信号を選択するものである請求項24から28のいずれか1項記載のプログラム。
  31. 前記回路解析は、列挙した各信号の依存関係を解析するものであり、
    前記信号選択は、選択した信号間で前記依存関係から該信号間で依存がない信号を観測信号として選択するものである請求項24から30のいずれか1項記載のプログラム。
JP2008536370A 2006-09-29 2007-09-25 信号選択装置、回路修正装置、回路シミュレータ、回路エミュレータ、信号選択方法およびプログラム Expired - Fee Related JP5018781B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008536370A JP5018781B2 (ja) 2006-09-29 2007-09-25 信号選択装置、回路修正装置、回路シミュレータ、回路エミュレータ、信号選択方法およびプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2006268142 2006-09-29
JP2006268142 2006-09-29
PCT/JP2007/068517 WO2008038617A1 (en) 2006-09-29 2007-09-25 Signal selecting apparatus, circuit amending apparatus, circuit simulator, circuit emulator, method of signal selection and program
JP2008536370A JP5018781B2 (ja) 2006-09-29 2007-09-25 信号選択装置、回路修正装置、回路シミュレータ、回路エミュレータ、信号選択方法およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2008038617A1 JPWO2008038617A1 (ja) 2010-01-28
JP5018781B2 true JP5018781B2 (ja) 2012-09-05

Family

ID=39230053

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008536370A Expired - Fee Related JP5018781B2 (ja) 2006-09-29 2007-09-25 信号選択装置、回路修正装置、回路シミュレータ、回路エミュレータ、信号選択方法およびプログラム

Country Status (4)

Country Link
US (1) US8281277B2 (ja)
EP (1) EP2071480A4 (ja)
JP (1) JP5018781B2 (ja)
WO (1) WO2008038617A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9405870B2 (en) * 2007-09-06 2016-08-02 Globalfoundries Inc. Generating coverage data for a switch frequency of HDL or VHDL signals
JP5262996B2 (ja) * 2009-05-26 2013-08-14 富士通セミコンダクター株式会社 論理シミュレーション装置、方法、及びプログラム
JP5785725B2 (ja) 2010-10-15 2015-09-30 富士通株式会社 電力見積装置、電力見積方法及びプログラム
JP5644899B1 (ja) 2013-06-14 2014-12-24 日本電気株式会社 回路検証装置、回路検証方法および回路検証プログラム
JP2016081256A (ja) * 2014-10-15 2016-05-16 富士通株式会社 検証支援方法、および検証支援プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6426243A (en) * 1987-02-25 1989-01-27 Nec Corp Hardware logical simulator
JPH1167922A (ja) * 1997-08-25 1999-03-09 Mitsubishi Electric Corp 仮想配線長見積り方法
JP2002149714A (ja) * 2000-08-31 2002-05-24 Toshiba Corp 信頼性設計支援装置および信頼性設計支援方法およびプログラムを記録した媒体およびプログラム製品

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE465799B (sv) * 1990-03-15 1991-10-28 Ericsson Telefon Ab L M Anordning foer reducerad effektmatning till en abonnentlinje
US6166518A (en) * 1999-04-26 2000-12-26 Exonix Corporation Implantable power management system
JP2001209797A (ja) 2000-01-27 2001-08-03 Nikon Corp 検査方法及び検査装置
JP2003197746A (ja) 2001-12-21 2003-07-11 Matsushita Electric Ind Co Ltd 半導体集積回路のバーンインテスト設計方法
JP2004054756A (ja) 2002-07-23 2004-02-19 Nec Electronics Corp 消費電力見積り装置及び方法
US7134100B2 (en) 2002-07-29 2006-11-07 Nec Usa, Inc. Method and apparatus for efficient register-transfer level (RTL) power estimation
JP2005351635A (ja) 2004-06-08 2005-12-22 Mitsubishi Electric Corp プログラマブルロジックデバイス及び観測信号測定システム
JP2006268142A (ja) 2005-03-22 2006-10-05 National Printing Bureau 用紙の検査方法及び検査装置
US7425834B2 (en) * 2005-08-26 2008-09-16 Power Integrations, Inc. Method and apparatus to select a parameter/mode based on a time measurement
TWI279994B (en) * 2005-11-11 2007-04-21 Realtek Semiconductor Corp Power consumption control methods applied to communication systems, and related devices

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6426243A (en) * 1987-02-25 1989-01-27 Nec Corp Hardware logical simulator
JPH1167922A (ja) * 1997-08-25 1999-03-09 Mitsubishi Electric Corp 仮想配線長見積り方法
JP2002149714A (ja) * 2000-08-31 2002-05-24 Toshiba Corp 信頼性設計支援装置および信頼性設計支援方法およびプログラムを記録した媒体およびプログラム製品

Also Published As

Publication number Publication date
WO2008038617A1 (en) 2008-04-03
US20100198573A1 (en) 2010-08-05
EP2071480A1 (en) 2009-06-17
EP2071480A4 (en) 2012-08-22
US8281277B2 (en) 2012-10-02
JPWO2008038617A1 (ja) 2010-01-28

Similar Documents

Publication Publication Date Title
US8146061B2 (en) Systems and methods for graphics hardware design debugging and verification
US7882458B2 (en) Power consumption analyzing method and computer-readable storage medium
CN102214253B (zh) 用于操作层功能和退化故障分析的方法和装置
US20080077380A1 (en) Power consumption peak estimation program for LSI and device therefor
JP5018781B2 (ja) 信号選択装置、回路修正装置、回路シミュレータ、回路エミュレータ、信号選択方法およびプログラム
US12271670B2 (en) Testbench for sub-design verification
US20150046897A1 (en) Generalized moment based approach for variation aware timing analysis
JP5454349B2 (ja) 性能推定装置
CN102968515B (zh) 用于计算集成电路模型的验证覆盖率的方法和设备
US8185858B2 (en) Apparatus, method, and program for predicting layout wiring congestion
US6725187B1 (en) Latch inference using dataflow analysis
JP5785725B2 (ja) 電力見積装置、電力見積方法及びプログラム
WO2023207440A1 (zh) 一种基于电路翻转行为的vcd矢量压缩方法及装置
US7103859B2 (en) System and method for improving testability independent of architecture
US8341579B2 (en) Method, apparatus, and system for analyzing operation of semiconductor integrated circuits
JP5146087B2 (ja) 消費電力見積方法、回路設計支援装置及びプログラム
JP5012816B2 (ja) 信号選択装置とシステムと回路エミュレータ及び方法並びにプログラム
US10816600B1 (en) Protocol analysis and visualization during simulation
JP4097461B2 (ja) テスト容易化設計システム、テスト容易化設計方法、プログラムおよび記録媒体
Chang et al. InVerS: an incremental verification system with circuit similarity metrics and error visualization
JP6175637B2 (ja) 電力見積支援プログラム、電力見積支援装置および電力見積支援方法
CN118917272B (zh) 用于提取芯片功耗评估波形的方法及计算设备
US20130311966A1 (en) Circuit design support apparatus, computer-readable recording medium, and circuit design support method
JP5381591B2 (ja) ディレイ解析装置、ディレイ解析方法及びディレイ解析プログラム
CN121211520A (zh) 一种硬件木马关键节点及路径特征量化分析方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120326

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: 20120515

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: 20120528

R150 Certificate of patent or registration of utility model

Ref document number: 5018781

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150622

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees