JP2011107973A - Power estimation point selection method and simulation device - Google Patents
Power estimation point selection method and simulation device Download PDFInfo
- Publication number
- JP2011107973A JP2011107973A JP2009262180A JP2009262180A JP2011107973A JP 2011107973 A JP2011107973 A JP 2011107973A JP 2009262180 A JP2009262180 A JP 2009262180A JP 2009262180 A JP2009262180 A JP 2009262180A JP 2011107973 A JP2011107973 A JP 2011107973A
- Authority
- JP
- Japan
- Prior art keywords
- point
- data
- elements
- series
- points
- 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.)
- Granted
Links
Images
Abstract
Description
本発明は、回路ブロック毎に特徴量を要素としてサンプリングし、前記サンプリングしたポイントから消費電力を見積もるポイントを選択する電力見積ポイント選択方法及びシミュレーション装置に関する。 The present invention relates to a power estimation point selection method and a simulation apparatus that sample a feature amount as an element for each circuit block and select a point for estimating power consumption from the sampled points.
半導体集積回路の設計は、ハードウェア記述言語で記述さたれRTL(Register Transfer Level)ファイルを論理合成してネットリストを生成し、そのネットリストに基づいてレイアウト設定を行ってレイアウトデータを生成している。そしてネットリストを作成する段階で、論理検証と共に消費電力を見積もることが行われる。消費電力を見積もる際には、半導体集積回路を構成する回路ブロック毎に、例えば消費電力の大きい点等の特徴的なポイントの波形データを取得し、この波形データに基づき消費電力の見積もりを行う。 The design of a semiconductor integrated circuit involves generating a netlist by logically synthesizing an RTL (Register Transfer Level) file described in a hardware description language, and performing layout settings based on the netlist to generate layout data. Yes. Then, at the stage of creating the netlist, power consumption is estimated together with logic verification. When estimating the power consumption, waveform data of characteristic points such as a point with high power consumption is acquired for each circuit block constituting the semiconductor integrated circuit, and the power consumption is estimated based on the waveform data.
しかしながら、回路ブロック毎に波形データを取得するポイントを選択すると、ポイントの数が多くなり、消費電力の見積もりに時間がかかる。また回路ブロック毎の消費電力を知りたい場合には、必ずしも消費電力が大きい点が回路ブロックの消費電力を観測する上で好ましい点であるとはいえない。 However, if points for acquiring waveform data are selected for each circuit block, the number of points increases and it takes time to estimate power consumption. In addition, when it is desired to know the power consumption of each circuit block, it is not necessarily preferable that the power consumption is large in observing the power consumption of the circuit block.
このような理由により、波形データを取得するポイントは、最終的には回路設計者等の経験則によって決めなければならず、非技術的なコストがかかるという問題があった。 For these reasons, the point at which waveform data is acquired must be finally determined by an empirical rule of a circuit designer or the like, and there is a problem that non-technical costs are required.
本発明は、上記の点に鑑みなされたもので、波形データを取得するポイントを自動的に適切に選択することが可能な電力見積ポイント選択方法及びシミュレーション装置を提供することを目的とする。 The present invention has been made in view of the above points, and an object of the present invention is to provide a power estimation point selection method and a simulation apparatus capable of automatically and appropriately selecting a point for acquiring waveform data.
開示の電力見積ポイント選択方法は、回路ブロック毎に特徴量を要素としてサンプリングし、前記サンプリングしたポイントから消費電力を見積もるポイントを選択する電力見積ポイント選択方法であって、前記回路ブロック毎に前記特徴量の最大値を基準とする所定範囲内で前記要素をグループ化するグループ化手順と、前記サンプリングしたポイントのうち、グループ化された前記要素の数が最も多いポイントを選択するポイント選択手順と、をコンピュータが実行する。 The disclosed power estimation point selection method is a power estimation point selection method that samples a feature amount for each circuit block as an element and selects a point for estimating power consumption from the sampled point, wherein the feature is determined for each circuit block. A grouping procedure for grouping the elements within a predetermined range based on a maximum value of the amount; a point selection procedure for selecting a point having the largest number of the grouped elements among the sampled points; Is executed by the computer.
本発明によれば、波形データを取得するポイントを自動的に適切に選択することができる。 According to the present invention, a point for acquiring waveform data can be automatically and appropriately selected.
以下、本発明の実施の形態を図面に基づいて説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
本発明に係る方法を実現するシミュレーション装置100は、コンピュータ装置であって、図1に示すようなハードウェア構成を有する。図1は、本発明の一実施例に係るシミュレーション装置のハードウェア構成を示す図である。
A
図1において、シミュレーション装置100は、コンピュータによって制御される装置であって、CPU(Central Processing Unit)11と、メモリユニット12と、表示ユニット13と、入力ユニット15と、記憶装置17と、ドライバ18とで構成され、システムバスBに接続される。
In FIG. 1, a
CPU11は、メモリユニット12に格納されたプログラムに従ってシミュレーション装置100を制御する。メモリユニット12は、RAM(Random Access Memory)及びROM(Read-Only Memory)等にて構成され、CPU11にて実行されるプログラム、CPU11での処理に必要なデータ、CPU11での処理にて得られたデータ等を格納する。また、メモリユニット12の一部の領域が、CPU11での処理に利用されるワークエリアとして割り付けられている。
The
表示ユニット13は、CPU11の制御のもとに必要な各種情報を表示する。入力ユニット15は、マウス、キーボード等を有し、利用者がシミュレーション装置100が処理を行なうための必要な各種情報を入力するために用いられる。
The
記憶装置17は、例えば、ハードディスクユニットにて構成され、各種処理を実行するプログラム等のデータを格納する。
The
シミュレーション装置100によって行われる電力見積ポイント選択方法での処理を実現するプログラムは、例えば、CD−ROM(Compact Disk Read-Only Memory)等の記憶媒体19によってシミュレーション装置100に提供される。即ち、プログラムが保存された記憶媒体19がドライバ18にセットされると、ドライバ18が記憶媒体19からプログラムを読み出し、その読み出されたプログラムがシステムバスBを介して記憶装置17にインストールされる。そして、プログラムが起動されると、記憶装置17にインストールされたプログラムに従ってCPU11がその処理を開始する。
A program that realizes processing in the power estimation point selection method performed by the
尚、プログラムを格納する媒体としてCD−ROMに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。シミュレーション装置100が外部とのネットワーク通信を行う通信ユニットを有する場合には、本発明に係る処理を実現するプログラムを通信ユニットによってネットワークを介してダウンロードし、記憶装置17にインストールするようにしても良い。また、シミュレーション装置100が外部記憶装置との接続を行うUSB(Universal Serial Bus)等のインタフェースを有する場合には、USB接続によって外部記憶媒体からプログラムを読み込んでもよい。
The medium for storing the program is not limited to a CD-ROM, and any medium that can be read by a computer may be used. When the
図2は、本実施例のシミュレーション装置の機能構成を説明する図である。 FIG. 2 is a diagram illustrating a functional configuration of the simulation apparatus according to the present embodiment.
シミュレーション装置100は、設計データ生成部110と、シミュレーション部120と、波形データ取得ポイント選択部130と、電力見積部140と、計測回路ライブラリ150と、を有する。また本実施例のシミュレーション装置100は、例えば記憶装置17に、設計データ210が格納されている。本実施例の設計データ210は、例えばRTLファイルやネットリスト等を含む。また後述する処理により、記憶装置17には、計測回路付設計データ220、特徴量データファイル230、波形データ240、解析結果データ250が格納される。
The
以下に、図3を参照して本実施例のシミュレーション装置100の動作について説明する。図3は、本実施例のシミュレーション装置の動作を説明するフローチャートである。
Hereinafter, the operation of the
設計データ生成部110は、設計データ210と計測回路ライブラリ150とに基づき計測回路付設計データ220を生成する(ステップS301)。尚計測回路ライブラリ150とは、例えばデータをカウントするカウンタ回路等が含まれる。
The design data generation unit 110 generates design data with
続いてシミュレーション部120は、計測回路付設計データ220のシミュレーションを実行し、特徴量データファイル230を生成する(ステップS302)。尚特徴量データファイル230は、所定期間毎にサンプリングしたポイントで、回路ブロック毎に計測された特徴量を示すデータを含む。特徴量とは、例えばクロックゲーティングセルの動作率とフリップフロップ数とを乗算した値や、フリップフロップの入力端子動作率等を用いる。
Subsequently, the
続いて波形データ取得ポイント選択部130は、特徴量データファイル230を解析して消費電力の見積のための波形データを取得するポイントを選択する(ステップS303)。本実施例の波形データ取得ポイント選択部130の処理の詳細は後述する。
Subsequently, the waveform data acquisition
続いてシミュレーション部120は、選択されたポイントから消費電力見積用の波形データ240を取得する(ステップS304)。続いて電力見積部140は、波形データ240を解析して消費電力の見積もりを行い、解析結果データ250を出力して(ステップS305)、処理を終了する。
Subsequently, the
本実施例のシミュレーション装置100では、波形データ取得ポイント選択部130により、波形データ240を取得するポイントを自動的に選択する。以下に本実施例の波形データ取得ポイント選択部130の詳細を説明する。
In the
図4は、本実施例の波形データ取得ポイント選択部の機能構成を説明する図である。本実施例の波形データ取得ポイント選択部130は、データ読み込み部131と、分類部132と、同値類化部133と、重み付け部134と、ポイント別データ作成部135と、ポイント選択部136と、削減部137と、結果データ出力部138と、を有する。
FIG. 4 is a diagram illustrating the functional configuration of the waveform data acquisition point selection unit of the present embodiment. The waveform data acquisition
データ読み込み部131は、特徴量データファイル230を読み込んで解析し、後述する特徴量データ310を生成して出力する。
The
分類部132は、回路ブロック毎に特徴量データ310を参照して後述する方法でデータを分類し、グループ化したデータを、グループ化データ320として記憶領域に格納する。
The
同値類化部133は、回路ブロック毎にグループ化データ320を同値類化し、同値類化したデータを、同値類化データ330として記憶領域に格納する。
The
重み付け部134は、同値類化データ330に重み付し、重み付けした同値類化データ330を、重み付同値類化データ340として記憶領域に格納する。
The
ポイント別データ作成部135は、ポイント毎の最大値のデータを作成し、ポイント毎の最大値のデータをポイント別最大値データ350として記憶領域に格納する。
The point-specific
ポイント選択部136は、電力見積のためのポイントを選択し、その選択結果を結果データ360として記憶領域に格納する。削減部137は、結果データ360を参照して特定のポイントを削除する。
The
結果データ出力部138は、波形データ取得ポイント選択部130による処理の結果を結果データファイル370として記憶領域に格納する。
The result
以下に、図5を参照して波形データ取得ポイント選択部130の動作を説明する。図5は、本実施例の波形データ取得ポイント選択部の動作を説明するフローチャートである。
The operation of the waveform data acquisition
波形データ取得ポイント選択部130が処理を開始すると、データ読み込み部131は、特徴量データファイル230を読み込み、特徴量データ310を生成する(ステップS501)。
When the waveform data acquisition
ここで本実施例の特徴量データファイル230と、特徴量データ310について説明する。本実施例では、説明の便宜上、消費電力の見積対象を4つの回路ブロック(BlockA,・・・,BlockD)で構成される回路として説明する。
Here, the feature amount data file 230 and the
図6は、特徴量データファイルを説明するための図である。図6に示す特徴量テーブル230Tは、特徴量データファイル230と対応したテーブルである。特徴量テーブル230Tには、4つの回路ブロックA〜Dについて、ポイントP0〜P9までの10ポイントの特徴量データが示されている。尚本実施例のポイントPn(nは整数)は、消費電力のサンプリングを行ったタイミングを示す。 FIG. 6 is a diagram for explaining the feature data file. The feature amount table 230T illustrated in FIG. 6 is a table corresponding to the feature amount data file 230. The feature value table 230T shows feature data of 10 points from points P0 to P9 for the four circuit blocks A to D. The point Pn (n is an integer) in this embodiment indicates the timing at which power consumption is sampled.
図7は、本実施例の特徴量データファイルの一例を示す図である。図7では特徴量データファイル230を、CSV(Comma-Separated Values)形式とした例を示す。 FIG. 7 is a diagram illustrating an example of the feature amount data file of the present embodiment. FIG. 7 shows an example in which the feature data file 230 is in the CSV (Comma-Separated Values) format.
図8は、本実施例の特徴量データの一例を示す図である。図8に示されるように、特徴量データファイル230を解析することによって、特徴量データ310のような配列構造で、回路ブロック毎にサンプリングした時系列順に特徴量データが出力される。
FIG. 8 is a diagram illustrating an example of feature amount data according to the present embodiment. As shown in FIG. 8, by analyzing the feature data file 230, the feature data is output in the time-series order sampled for each circuit block in the arrangement structure like the
本実施例の特徴量データ310の配列は、インデックス番号が系列番号となる。系列番号は回路ブロックA〜Dを特定する値であり、本実施例では回路ブロックAの系列番号をS0、回路ブロックBの系列番号をS1、回路ブロックCの系列番号をS2、回路ブロックDの系列番号をS3とした。data310[index]は、ポイントを時系列順に並べたデータである。
In the arrangement of the
例えばdata310[1][1]は、系列番号1(S1)のポイント1(P1)のデータである。すなわち以下のように示される。 For example, data 310 [1] [1] is data of point 1 (P1) of sequence number 1 (S1). That is, it is shown as follows.
<310データ構造>:= [<系列0のデータ>,・・・,<系列Nのデータ>]
<系列Iのデータ>:=[<系列I,ポイント0の値>,・・・,<系列I,ポイントMの値>]
図5に戻って、次に波形データ取得ポイント選択部130は、特徴量データ310を参照して分類部132により、各系列のポイントをグループ化し、グループ化データ320を生成する(ステップS502)。
<310 data structure>: = [<
<Series I data>: = [<Series I, value of
Returning to FIG. 5, next, the waveform data acquisition
以下に図9ないし図11を参照してグループ化について説明する。図9は、本実施例の分類部によるグループ化を説明する第一の図である。 The grouping will be described below with reference to FIGS. FIG. 9 is a first diagram illustrating grouping by the classification unit of this embodiment.
図9は、特徴量データ310に基づき回路ブロック毎の特徴量の値をグラフにしたものである。図9において、回路ブロックAはポイントP2で最も特徴量が大きく、回路ブロックBはポイントP5で最も特徴量が大きく、回路ブロックCはポイントP3で最も特徴量が大きく、回路ブロックDはポイントP6で最も特徴量が大きいことがわかる。
FIG. 9 is a graph showing the feature value for each circuit block based on the
図10は、本実施例の分類部によるグループ化を説明する第二の図である。図10では、回路ブロックCを例として、グループ化について説明する。 FIG. 10 is a second diagram illustrating grouping by the classification unit of this embodiment. In FIG. 10, the grouping will be described by taking the circuit block C as an example.
本実施例の分類部132は、回路ブロックCの各ポイントを基準として、基準となるポイントの特徴量から所定の範囲内の特徴量を有するポイントを1つのグループとしてグループ化する。
The
例えば特徴量データ310によれば、回路ブロックCの特徴量データは、P0=2.4,P1=17.0,P2=16.7,P3=17.5,P4=1.5,P5=1.0,P6=0.9,P7=1.1,P8=1.1,P9=0.0である。そこで分類部132は、始めにポイントP0を基準としてポイントP0の特徴量から所定の範囲内の特徴量を有するポイントを探す。尚実施例の所定の範囲とは、−2とした。
For example, according to the
ポイントP0を基準として1つのグループとされるポイントは、特徴量が0.4から2.4の範囲にあるポイントである。回路ブロックCでは、ポイントP0とグループ化されるのは、ポイントP4である。 Points that are grouped on the basis of the point P0 are points whose feature amounts are in the range of 0.4 to 2.4. In the circuit block C, the point P4 is grouped with the point P0.
次に分類部132は、ポイントP1とグループ化されるポイントを探す。ポイントP1とグループ化されるのは、特徴量が15.0から17.0の範囲にあるポイントである。よってポイントP1は、ポイントP2とグループ化される。図10では、ポイントP1を基準としたグループをグループG1として示す。
Next, the
次に分類部132は、ポイントP2とグループ化されるポイントを探す。ポイントP2とグループ化されるのは、特徴量が14.7から16.7の範囲にあるポイントである。よってポイントP2は、ポイントP2のみで一つのグループとされる。図10では、ポイントP2を基準としたグループをグループG2として示す。
Next, the
次に分類部132は、ポイントP3とグループ化されるポイントを探す。ポイントP3とグループ化されるのは、特徴量が15.5から17.5の範囲にあるポイントである。よってポイントP3は、ポイントP1及びポイントP2とグループ化される。図10では、ポイントP3を基準としたグループをグループG3として示す。
Next, the
分類部132は、回路ブロックCの他のポイントについても同様にしてグループ化を行う。また分類部132は、他の回路ブロックについても同様にしてグループ化を行う。
The
図11は、グループ化データの一例を示す図である。 FIG. 11 is a diagram illustrating an example of grouped data.
図11は、各回路ブロック(系列)毎において、ポイントP0〜P9をそれぞれ基準としてグループ化した結果を示している。例えば系列S2(回路ブロックC)では、ポイントP0を基準としたグループをグループG0、ポイントP1を基準としたグループをグループG1、・・・、ポイントP9を基準としたグループをグループG9とした。 FIG. 11 shows the result of grouping for each circuit block (series) based on points P0 to P9. For example, in series S2 (circuit block C), the group based on point P0 is group G0, the group based on point P1 is group G1,..., And the group based on point P9 is group G9.
尚図11に示すグループ化データ320において、最も外側の配列のインデックスは系列番号(S)である。外側から2番目の配列のインデックスはポイント(P)である。外側から3番目の配列は、系列番号SのポイントPを基準にグループ化したデータのリストである。このリストの要素も配列で[<要素の値>,<ポイント番号>]である。例えば、S0(回路ブロックA),P0の値を基準にグループ化した結果は[[10.2,0],10.1,3]]であり、要素数は2である。メンバーはS0のP0(基準となるポイント)とS0のP3で、各々の要素値は10.2、10.1である。
In the grouped
すなわち本実施例のグループ化データ320は以下のように示される。
That is, the grouped
<320データ構造>:= [<系列0のデータ>,・・・,<系列Nのデータ>]
<系列Iのデータ>:=[<ポイント0のデータ>,・・・,<ポイントMのデータ>]
<ポイントIのデータ>:=[<ポイントMと同値なデータ0>,・・・,<ポイントMと同値なデータK>]
<ポイントMと同値なデータI>:=[<要素値>,<ポイント番号>]
図5に戻って、次に波形データ取得ポイント選択部130は、グループ化データ320を参照して、同値類化部133により同値類化データ330を生成する(ステップS503)。
<320 data structure>: = [<
<Series I data>: = [<
<Data of point I>: = [<
<Data I equivalent to point M>: = [<element value>, <point number>]
Returning to FIG. 5, next, the waveform data acquisition
以下に図12ないし図15を参照して同値類化について説明する。図12は、本実施例の同値類化部による同値類化を説明する第一のフローチャートである。 Hereinafter, the equivalence classification will be described with reference to FIGS. FIG. 12 is a first flowchart for explaining equivalence categorization by the equivalence categorization unit of the present embodiment.
本実施例の同値類化部133は、グループ化データ320における特徴的なデータを取り出し、同値類化する。本実施例では、グループ化データ320において、要素数が多いグループのデータを特徴的なデータとした。
The
本実施例の同値類化部133は、例えばシミュレーション装置100のメモリユニット12に、同値類化データ330が格納される同値類化データの領域を生成する(ステップS1201)。次に同値類化部133は、グループ化データ320に含まれる全ての系列について処理が終了したか否かを判断する(ステップS1202)。
The
ステップS1202において、全ての系列について処理が終了していない場合、同値類化部133は、グループ化データ320に含まれる系列を選択する(ステップS1203)。そして選択された系列(以下、系列Sx)において、系列のリストを参照して同値類化の処理を行う(ステップS1204)。
In step S1202, if the processing has not been completed for all the series, the
以下に図13を参照して図12のステップS1204の処理の詳細を説明する。図13は、本実施例の同値類化部による同値類化を説明する第二のフローチャートである。 Details of the processing in step S1204 in FIG. 12 will be described below with reference to FIG. FIG. 13 is a second flowchart for explaining equivalence categorization by the equivalence categorization unit of the present embodiment.
本実施例の同値類化部133は、例えばメモリユニット12に、系列Sxの結果を書き込む領域を確保する(ステップS1301)。次に同値類化部133は、系列Sxの要素数が0か否かを判断する(ステップS1302)。
The
ステップS1302において系列Sxの要素数が0でない場合、同値類化部133は、系列Sxのグループ化データ320において、要素数が最も多いグループを取り出す(ステップS1303)。尚要素数が同じグループの場合は、要素の値の最大値が大きい方のグループを取り出す。
If the number of elements of the sequence Sx is not 0 in step S1302, the
同値類化部133は、取り出されたグループのデータを最重要データ331として、ステップS1301で確保された領域に登録する(ステップS1304)。また同値類化部133は、最重要データ331を系列Sx用の同値類化データ330Aとして登録する。系列毎の同値類化データ330Aは、同値類化データ330に含まれるデータである。
The
次に同値類化部133は、最重要データ331を参照し、系列Sxから最重要データ331として登録された要素をグループ化データ320から全て除去する(ステップS1305)。次に同値類化部133は、系列Sxにおいて空集合となったグループをグループ化データ320から除去する(ステップS1306)。
Next, the
以下に、図11を参照して、同値類化の処理を具体的に説明する。 The equivalence categorization process will be specifically described below with reference to FIG.
図12のステップS1203において、グループ化データ320の系列S2が選択されると、同値類化部133は、図13のステップS1301において系列S2に含まれるグループのうち、要素数が最も多いグループを最重要データ331として取り出す(ステップS1303に対応)。
When the series S2 of the grouped
系列S2では、グループG4、G7、G8の要素数がそれぞれ5つあり、要素数が最も多い。そこで同値類化部133は、3つのグループのうち要素の値の最大値を含むグループを最重要データ331とする。系列S2では、グループG4のポイントP4の特徴量1.5が3つのグループのうち要素の値の最大値である。よって同値類化部133は、グループG4を最重要データ331として登録する。また同値類化部133は、系列S2用の同値類化データ330Aとして登録する(ステップS1304に対応)。
In series S2, there are five elements in groups G4, G7, and G8, respectively, and the number of elements is the largest. Therefore, the
次に同値類化部133は、系列S2から、最重要データ331に含まれる要素をグループ化データ320から全て除去する。最重要データ331に含まれる要素は、グループG4に含まれる[1.5,4],[1.0,5],[0.9,6],[1.1,7],[1.1,8]である。よって同値類化部133は、系列S2の各グループからポイントP4〜P8に対応する要素をグループ化データ320から除去する(ステップS1305に対応)。
Next, the
するとグループG0ではポイントP0に対応する要素が残り、グループG1ではポイントP1、P2に対応する要素が残り、グループG2ではポイントP2に対応する要素が残り、グループG3ではポイントP1〜P3に対応する要素が残る。そしてグループG4は空集合となる。グループG5〜G9ではポイントP9に対応する要素が残る。 Then, the element corresponding to the point P0 remains in the group G0, the elements corresponding to the points P1 and P2 remain in the group G1, the elements corresponding to the point P2 remain in the group G2, and the elements corresponding to the points P1 to P3 in the group G3. Remains. Group G4 is an empty set. In the groups G5 to G9, the element corresponding to the point P9 remains.
同値類化部133は、この処理を繰り返すことで、グループ化データ320の系列毎のデータを同値類化する。
The
図14は、同値類化データの一例を示す図である。 FIG. 14 is a diagram illustrating an example of equivalence grouping data.
本実施例の同値類化データ330では、最も外側の配列のインデックスは系列番号(S)である。外側から2番目の配列は同値類のリストである。この同値類の要素は、[<要素の値>,<ポイント番号>]である。
In the
例えば、系列S2は下記の4つの同値類で構成されている。同値類リストの先頭の要素は、ポイントP1,P2,P3で構成され、各々の数値は17.0,16.0,17.5である。同値類リストの先頭から、同値類1、同値類2、同値類3、同値類4と呼ぶ。
For example, the series S2 is composed of the following four equivalence classes. The top element of the equivalence class list is composed of points P1, P2, and P3, and the numerical values thereof are 17.0, 16.0, and 17.5, respectively. From the top of the equivalence class list, they are called
系列S2の同値類
[17.0,1],[16.7,2],[17.5,3]],
[[2.4,0]],
[[1.5,4],[1.0,5],[0.9,6],[1.1,7],[1.1,8]],
[[0.0,9]]
本実施例の同値類化データ330は、以下のように示される。
Equivalence class of series S2
[17.0, 1], [16.7, 2], [17.5, 3]],
[[2.4,0]],
[[1.5, 4], [1.0, 5], [0.9, 6], [1.1, 7], [1.1, 8]],
[[0.0,9]]
The
<330データ構造>:=[<系列0の同値類リスト>,・・・,<系列Nの同値類リスト>]
<系列Iの同値類リスト>:=[<ポイントデータ0>,・・・,<ポイントデータM>]
<ポイントデータI>:=[<要素の値>,<ポイント番号>]
図15は、図9に示すグラフにおいて同値類化データを示す図である。図15では、系列S2(回路ブロックC)の同値類化データを示し、図14に示す同値類1〜同値類4までが示されている。
<330 data structure>: = [<equivalence class list of
<List of equivalence classes of series I>: = [<
<Point data I>: = [<Element value>, <Point number>]
FIG. 15 is a diagram showing equivalence grouping data in the graph shown in FIG. FIG. 15 shows the equivalence grouping data of the series S2 (circuit block C), and the
図5に戻って、次に波形データ取得ポイント選択部130は、重み付け部134により同値類化データ330を加工して重み付けを行い、その結果である重み付同値類化データ340を出力する(ステップS504)。
Returning to FIG. 5, the waveform data acquisition
同値類化データ330に対する重み付けの方法は、以下の3通りが考えられる。
As the weighting method for the equivalence categorized
まず一つ目の方法は、任意の系列Sの任意の同値類Iの要素の最大値Maxを調べ、Max−Pnの値(各要素の値)を重み値とする方法である。例えば系列S2の同値類1の要素の最大値は17.5である。よってこの場合、ポイントP1の重み値は、17.5−17.0=0.5となる。またポイントP2の重み値は、17.5−16.7=0.8となる。
The first method is a method in which the maximum value Max of an element of an arbitrary equivalence class I of an arbitrary series S is examined, and the value of Max-Pn (value of each element) is used as a weight value. For example, the maximum value of the
二つ目の方法は、任意の系列Sの任意の同値類Iの要素の最大値Maxを調べて、(Max−Pn)2を重み値とする方法である。 The second method is a method in which the maximum value Max of an element of an arbitrary equivalence class I of an arbitrary series S is examined and (Max−Pn) 2 is used as a weight value.
三つ目の方法は、任意の系列Sの任意の同値類Iの要素の最大値Maxを調べて、(Max−P)2/(Max)2を重み値とする方法である。 The third method is a method in which the maximum value Max of an element of an arbitrary equivalence class I of an arbitrary series S is examined and (Max−P) 2 / (Max) 2 is used as a weight value.
波形データの取得ポイントを選択する際に、最終的に重み値が小さくなるポイントを選択する場合、一つ目の方法は各系列において特徴量が大きいポイントが選択される。一つ目の方法の場合、選択されたポイントから離れているものが1点あったとしても、他のポイントが選択されたポイントの特徴量に近ければ、好ましいポイントを選択したことになる。 When selecting an acquisition point of waveform data, when selecting a point that finally has a smaller weight value, the first method selects a point having a large feature value in each series. In the case of the first method, even if there is one point away from the selected point, a preferred point is selected if other points are close to the feature amount of the selected point.
二つ目の方法は、系列毎に最終結果を評価することを考えて、特徴量が極端に離れているものが選択されにくくした方法である。特徴量がMax値から離れるほど重み値(つまりペナルティ)が大きくなるので、特徴量がMax値と極端に離れたポイントは選択されにくくなる。 The second method is a method in which it is difficult to select a feature whose feature amount is extremely different in consideration of evaluating the final result for each series. Since the weight value (that is, the penalty) increases as the feature amount is farther from the Max value, it is difficult to select a point where the feature amount is extremely far from the Max value.
三つ目の方法は、二つ目の方法と同様であるが、特徴量の合計が回路面積等に比例する傾向がある場合等では、回路面積が大きいほうが良い値が割り振られやすくなる。そこで、最大値を基準にして規格したものである(ただし次数を合わせる)。尚上述の三つの方法以外にも、回路面積値等の回路情報を入れて計算しても良い。 The third method is the same as the second method, but in the case where the total feature amount tends to be proportional to the circuit area or the like, it is easier to assign a better value when the circuit area is larger. Therefore, the standard is based on the maximum value (however, the orders are matched). In addition to the above three methods, calculation may be performed by including circuit information such as a circuit area value.
本実施例の重み付け部134は、三つ目の方法により、同値類化データ330に対する重み付けを行う。本実施例では、重み付けの結果を重み付同値類化データ340とした。図16は、本実施例の重み付同値類化データの一例を示す図である。
The
本実施例の重み付同値類化データ340は、同値類Iの要素に対して、重み値が付加された以外は、同値類化データ330と同じである。尚重み値は、二番目の要素となる。すなわち、重み付同値類化データ340のポイントデータIは、
<ポイントデータI>:=[<要素の値>,<ポイント番号>,<重み値>]
となる。
The weighted
<Point data I>: = [<Element value>, <Point number>, <Weight value>]
It becomes.
例えば系列S2の同値類化データ330に重み値が付加された場合、以下のようになる。
For example, when a weight value is added to the
系列S2の重み付同値類
[17.0,1,0.0008],[16.7,2,0.0021],[17.5,3,0.0000]],
[[2.4,0,0.0000]],
[[1.5,4,0.0000],[1.0,5,0.1111],[0.9,6,0.1600],[1.1,7,0.0711],[1.1,8,0.0711]],
[[0.0,9,0.0000]]
図5に戻って、次に波形データ取得ポイント選択部130は、ポイント別データ作成部135により、ポイント別最大値データ350を作成する(ステップS505)。
Weighted equivalence class of series S2
[17.0, 1,0.0008], [16.7, 2, 0.0021], [17.5, 3,0.0000]],
[[2.4,0,0.0000]],
[[1.5, 4,0.0000], [1.0, 5, 0.1111], [0.9, 6, 0.1600], [1.1, 7, 0.0711], [ 1.1, 8, 0.0711]],
[[0.0,9,0.0000]]
Returning to FIG. 5, the waveform data acquisition
図17は、ポイント別最大値データの一例を示す図である。 FIG. 17 is a diagram illustrating an example of the point-specific maximum value data.
図17に示す例は、ハッシュである。配列がインデックスで値を参照するのに対して、ハッシュはキー値で取り出すコンテナである。Perlでは連想配列と呼ばれるものに相当する。Rubyを用いて開発した場合、図19のように書く。図19は、ハッシュの記述例を示す図である。 The example shown in FIG. 17 is a hash. While an array refers to a value by an index, a hash is a container that retrieves a key value. In Perl, it corresponds to what is called an associative array. When developing with Ruby, write it as shown in Figure 19. FIG. 19 is a diagram illustrating a description example of a hash.
図19の例では、dataHashにHashクラスのオブジェクトを代入して、dataHashに対して'apple'というキーで参照できる領域に、更にHashクラスのオブジェクトを代入している。そして、dataHash['apple']['jp'] に'ringo'を代入している。Rubyには、p関数がある。これはデバッグ用の関数で、Array, Hashにおいては、データ構造をタプル形式で印字する。図19に示す記述例のp関数の出力値は、図20に示す応答例のようになる。図20は、ハッシュの記述例の応答を示す図である。図17の例では、この記述形式に習って、ハッシュは{<keyValue0>=><データ0>,・・・,<keyValueN>=><データ N>}という形式で記述している。
In the example of FIG. 19, a Hash class object is assigned to dataHash, and a Hash class object is further assigned to an area that can be referred to with a key “apple” for dataHash. And 'ringo' is assigned to dataHash ['apple'] ['jp']. Ruby has a p function. This is a debugging function. In Array and Hash, the data structure is printed in a tuple format. The output value of the p function in the description example shown in FIG. 19 is as in the response example shown in FIG. FIG. 20 is a diagram illustrating a response of a hash description example. In the example of FIG. 17, following this description format, the hash is described in the format {<keyValue0> => <
図17に示すポイント別最大値データ350は、ポイントをキーとするデータであり、各系列の要素の値の最大値を含む同値類の要素のリストである。ポイント別最大値データ350は、最も外側がハッシュになっている。
The point-specific
ポイント別最大値データ350の要素は、[<要素値>,<重み>,<系列番号>]という配列で表現されている。例えば、ポイントP1で何れの系列の最大値を含む同値類の要素になっているものは、[[10.5,0.0021,0],[17.0,0.0008,2],[7.1,0.0016,3]]である。
The elements of the point-specific
これは、ポイントP1の系列S0で値が10.5、重みが0.0021、系列S2で値が17.0、重みが0.0008、系列S3で値が7.1、重みが0.00164の点の集合が何れかの系列の要素の値の最大値を含む同値類の要素のリストであることを示している。尚ポイント別最大値データ350は以下のように示される。
This is because the value of the sequence S0 of the point P1 is 10.5, the weight is 0.0021, the value of the sequence S2 is 17.0, the weight is 0.0008, the value of the sequence S3 is 7.1, and the weight is 0.00164. Indicates that the set of points is a list of elements of the equivalence class including the maximum value of the elements of any series. The point-specific
<350データ構造>:= {<ポイントa0>=><ポイントa0のデータ>,・・・,
<ポイントaj>=><ポイントajのデータ>}
<ポイントaIのデータ>:=[<データタプル0>,・・・,<データタプルK>]
<データタプルI>:= [<要素値>,<重み>,<系列番号>]
図18は、ポイント別最大値データを説明するための図である。図18に示すように、ポイントP0からポイントP7については、何れかの系列の要素の値の最大値を含む同値類の要素が存在するため、ポイント別最大値データ350が作成される。また各ポイントP8、P9では、何れかの系列の要素の値の最大値を含む同値類の要素が存在しなため、ポイント別最大値データ350は作成されない。
<350 data structure>: = {<point a0>=><data of point a0>, ...,
<Point aj>=><Data for point aj>}
<Data of point aI>: = [<
<Data tuple I>: = [<element value>, <weight>, <sequence number>]
FIG. 18 is a diagram for explaining the point-specific maximum value data. As shown in FIG. 18, for point P0 to point P7, there is an equivalence class element including the maximum value of the element value of any series, so point-specific
図5に戻って、次に波形データ取得ポイント選択部130は、ポイント選択部136により、ポイント別最大値データ350を参照して波形データを取得するポイントを選択し、その結果を示す結果データ360を生成する(ステップS506)。
Returning to FIG. 5, the waveform data acquisition
以下に本実施例のポイント選択部136の処理について説明する。図21は、ポイント選択部の処理を説明するためのフローチャートである。
The processing of the
本実施例のポイント選択部136は、任意の系列の最大値を含む同値類を処理対象とするものとして説明する。最大値を含む同値類を処理対象とすることで、実際には最大値とならないポイントであっても、最大値と同値であるポイントとして選択すべきポイントの候補として扱うことができる。
The
ポイント選択部136は、例えばメモリユニット12等に、処理の終了判定を行うための判定用テーブル410を用意する(ステップS2001)。本実施例の判定用テーブル410は、すべての要素が偽で初期化されている。判定用テーブル410は、系列から真偽のマップになっている。もし該当する系列が、既に後述する結果データ360に含まれている場合、該当する系列の要素は真である。また該当する系列が結果データ360に含まれていない場合、該当する系列の要素は偽である。
The
次にポイント選択部136は、全ての系列が判定用テーブル410にエントリされているか否かを判断する(ステップS2002)。
Next, the
ステップS2002において、全ての系列がエントリされている場合(未処理の系列が存在しない場合)、判定用テーブル410において、すべて真になる。判定用テーブル410が全て真となれば、系列毎の条件を満たすデータが結果データ360に書き込まれたことになる。系列S0〜S3は回路ブロックA〜Dを表しているので、回路ブロック毎に着目すべきデータが見つけられたことになる。つまり所望のデータが結果データ360に書き込まれたことになり、ポイント選択の処理を終了することができる。
In step S2002, when all the series are entered (when there is no unprocessed series), all are true in the determination table 410. If all the determination tables 410 are true, data satisfying the conditions for each series is written in the
ステップS2002において全ての系列が判定用テーブル410にエントリされていない場合(未処理の系列が存在する場合)、ポイント選択部136は、ポイント別最大値データ350を参照して、結果データ360として登録する選択データ415を取り出す。またポイント選択部136は、取り出した選択データ415を結果データ360へ登録する(ステップS2003)。尚ステップS2003の詳細は後述する。
When all the series are not entered in the determination table 410 in step S2002 (when there is an unprocessed series), the
次にポイント選択部136は、系列リスト420を生成する(ステップS2004)。次にポイント選択部136は、選択データ415に含まれている系列の集合を取り出し、系列リスト420へ書き込む。また選択データ415に含まれている系列は、結果データ360に書き込まれているので、ポイント選択部136は判定用テーブル410の該当する系列の要素を真に更新する(ステップS2005)。
Next, the
次にポイント選択部136は、削減部137によりポイント選択部136に選択されたポイントの数を削減する(ステップS2006)。削減方法については、後述するステップS2006の削減部137による処理の詳細で説明する。
Next, the
次に図22を参照して、図21のステップS2003の処理の詳細を説明する。図22は、図21のステップS2003の処理の詳細を説明するフローチャートである。 Next, details of the processing in step S2003 in FIG. 21 will be described with reference to FIG. FIG. 22 is a flowchart illustrating details of the process in step S2003 in FIG.
本実施例のポイント選択部136は、メモリユニット12等に、中間データを書き込むための中間データ領域を生成する(ステップS2101)。次にポイント選択部136は、ポイント別最大値データ350に含まれる全てのポイントPx毎に各系列の重み付け計算をし、計算が終了したか否かを判断する(ステップS2102)。
The
ステップS2102において全てのポイントについての計算が終了していない場合、ポイント選択部136は、ポイント別最大値データ350のポイントPxの重み値の平均値を算出して(ステップS2103)、算出したデータを中間データ430として、中間データ領域に記録する。そしてステップS2102に戻り、次のポイントPxについて同様の処理を行う。
When the calculation for all points is not completed in step S2102, the
図23は、本実施例の中間データの一例を示す図である。図23に示す中間データ430は、ステップS2003の実行回数が0回目の結果、つまり、ポイント別最大値データ350(図17参照)の全要素に対して、ステップS2103を適用した結果である。本実施例の中間データ430のデータ構造は以下のようなリスト構造とした。尚メトリクス値とは、あるデータ同士の関連を数値化した値であり、本実施例ではポイントPxの重み値の平均値を示す。
FIG. 23 is a diagram illustrating an example of intermediate data according to the present embodiment. The
<中間データ430のデータ構造>:=<メトリクス値データ0>,...,<メトリクス値データK>]
<メトリクス値データI>:=[<属性値>,<データ>]
<属性値>:=[<ポイント番号>,<メトリクス値>]
<データ>:=[<選択ポイントの構成データ0>,...,<選択ポイントの構成データO>]
<選択ポイントの構成データ>:=[<要素値>,<重み>,<系列番号>]
ポイント選択部136は、ステップS2102において全てのポイントについての計算が終了した場合、ポイント選択部136は、中間データ430を参照して最も重要なデータを探し、選択データ415として取り出す(ステップS2104)。
<Data structure of
<Metric value data I>: = [<attribute value>, <data>]
<Attribute value>: = [<point number>, <metric value>]
<Data>: = [<Configuration data for selected
<Configuration data of selection point>: = [<element value>, <weight>, <sequence number>]
When the calculation for all the points is completed in step S2102, the
ステップS2104における最も重要なデータとは、要素数の多いポイントに関するデータである。要素数の多いデータを選択すれば、できるだけ多くの要素がカバーできるポイントを選択することができる。この時点において、要素は、最大値となる要素又は最大値に対して同値類となる要素のみであるので、本実施例のポイント選択部136は、中間データ430を参照し、<データ>の要素数が多いものを選択する。もし要素数が同じ数である場合には、ポイント選択部136は、<属性値>の<メトリクス値>に基づき選択する順番をつける。
The most important data in step S2104 is data relating to points with a large number of elements. If data having a large number of elements is selected, points that can be covered by as many elements as possible can be selected. At this point in time, the elements are only elements that are the maximum value or elements that are equivalent to the maximum value. Therefore, the
本実施例の重み値は、特徴量の最大値と、該当するポイントの特徴量との差(ペナルティ)を示している。よって重み値が小さい方が良い。そこで本実施例で<メトリクス値>が小さいほうから順にポイントを選択する。 The weight value of the present embodiment indicates a difference (penalty) between the maximum feature value and the feature value of the corresponding point. Therefore, a smaller weight value is better. Therefore, in this embodiment, points are selected in order from the smallest <metric value>.
図24は、図23に示す中間データを表形式とした例を示す図である。本実施例の中間データ430では、<データ>の要素数が多いポイントは、ポイントP1、P2、P3であり、それぞれのポイントにおいて要素数が3個ある。このポイントP1〜P3のメトリクス値(表中のscore)は、ポイントP1が0.0015、ポイントP2が0.0009、ポイントP3が0.0038である。よってポイントP2のメトリクス値が一番小さいことがわかる。したがってポイント選択部136は、ステップS2104において、ポイントP2を選択し、選択データ415とする。図25は、ポイントP2が選択された状態を示す図である。
FIG. 24 is a diagram showing an example in which the intermediate data shown in FIG. In the
次に、図21のステップS2006の処理の詳細を説明する。本実施例の削減部137は、2種類の削減ポリシー(削減ポリシー0、削減ポリシー1)に基づき削減の処理を行う。削減ポリシーとは、ポイント選択部136により選択されたポイントの削減の仕方を定義したものである。
Next, details of the processing in step S2006 of FIG. 21 will be described. The
図26は、図21のステップS2006の処理の詳細を説明するフローチャートである。本実施例の削減部137は、削減ポリシー0又は削減ポリシー1の何れを用いるか判断する(ステップS2401)。ステップS2401において削減ポリシー0を用いる場合、削減部137は削減ポリシー0に基づき、系列リスト420を参照してポイントを削減し、ポイント別最大値データ350を書き換える(ステップS2402)。ステップS2401において削減ポリシー1を用いる場合、削減部137は削減ポリシー1に基づき、判定用テーブル410を参照してポイントを削減し、ポイント別最大値データ350を書き換える(ステップS2403)。
FIG. 26 is a flowchart illustrating details of the process in step S2006 of FIG. The
始めに図27ないし図31を参照して、削減ポリシー0に基づく削減について説明する。図27は、削減ポリシー0に基づく削減を説明するフローチャートである。
First, the reduction based on the
削減ポリシー0は、系列リスト420、すなわち選択データ415に含まれる系列のリストを用いる。
The
削減部137は、系列リスト420の全要素を評価したか否かを判断する(ステップS2501)。ステップS2501で全要素を評価していない場合、ポイント別最大値データ350からデータの削除を行い(ステップS2502)、ステップS2501へ戻る。
The
以下にステップS2502の処理を説明する。 The process of step S2502 will be described below.
削減部137は、ポイント別最大値データ350から、系列リスト420に含まれる系列を持つデータを削除する。本実施例の場合、選択データ415であるポイントP2に含まれる系列はS0、S2、S3である(図23、24参照)。ポイント別最大値データ350に削減ポリシー0を適用すると、例えば、ポイント別最大値データ350から系列S0のデータである[10.2,0.0053,0]、[10.5,0.0021,0]は削除される。その他の系列S0のデータも削除される。
The
同様に系列S2、系列S3のデータもポイント別最大値データ350から削除される。その結果、空集合になるものがある。更にその空集合を取り除かれると、ポイント別最大値データ350は、図28に示すように系列S1のデータのみとなる。図28は、削減ポリシー0に基づきデータを削減したポイント別最大値データの例を示す図である。
Similarly, the data of the series S2 and the series S3 are also deleted from the point-specific
本実施例のポイント選択部136は、削減部137による削減処理が終了すると、図21のステップS2002へ戻り、ステップS2002以降の処理を繰り返すことによって、ポイントP5を選択する。図29は、ポイントP5が選択された状態を示す図である。以下にポイントP5が選択される様子について説明する。
When the reduction process by the
ポイント選択部136は、ステップS2002へ戻り、全ての系列がエントリ済みか否かを判断する。このとき判定用テーブル410は、系列S0、S2、S3のみが真となっている。よってポイント選択部136はステップS2003へ進む。
The
ポイント選択部136は、系列S1のデータのみとなったポイント別最大値データ350を参照してステップS2003の処理を行い、ポイントP5を選択データ415として新たに取り出し、結果データ360へ登録する。ポイント選択部136は、系列リスト420に系列S1を記憶し、判定用テーブル410の系列S1が真とされる。
The
次に削減部137が削減ポリシー0に基づいて削減処理を行うと、図28に示すポイント別最大値データ350から系列S1のデータが削除され、ポイント別最大値データ350は空集合となる。
Next, when the
ポイント選択部136は、再度ステップS2002へ戻り、全ての系列がエントリ済みか否かを判断する。このとき判定用テーブル410は、全ての系列が真となっているため、ポイント選択部136は処理を終了する。
The
図5に戻って、以上で削減ポリシー0を用いた場合の図5のステップS506の処理が終了する。
Returning to FIG. 5, the processing in step S <b> 506 in FIG. 5 when the
この処理で選択されたポイントは、図30に示すように、結果データ360に登録されたポイントP2とポイントP5となる。図30は、削減ポリシー0における結果データの一例を示す図である。
The points selected in this process are point P2 and point P5 registered in the
次に本実施例の波形データ取得ポイント選択部130は、結果データ出力部138により結果データ360を結果データファイル370として出力する(ステップS507)。結果データ出力部138は、図30に示す結果データ360をフォーマット変換し、図31に示すデータを出力する。図31は、削減ポリシー0における結果データをフォーマット変換した例を示す図である。
Next, the waveform data acquisition
以上のように本実施例では、削減ポリシー0に基づきポイントの選択を行った場合、図32に示すように、系列S0、S2、S3ではポイントP2が選択され、系列S1ではポイントP5が選択されることがわかる。図32は、削減ポリシー0において選択されたポイントを示す図である。
As described above, in this embodiment, when a point is selected based on the
次に、図33ないし図38を参照して、削減ポリシー1に基づく削減について説明する。図33は、削減ポリシー1に基づく削減を説明するフローチャートである。
Next, reduction based on the
削減ポリシー1は、判定用テーブル410を用いて削減するポイントを決定する。削減部137は、ポイント別最大値データ350の全要素を評価したか否かを判断する(ステップS3001)。ステップS3001で全要素を評価していない場合、判定用テーブル410を参照し、選択データ415を含む系列が登録されているか否かを判断する(ステップS3002)。
The
ステップS3002において選択データ415を含む系列が登録されている場合、削減部137は、判定用テーブル410に登録されている系列のデータをポイント別最大値データ350から削除する(ステップS3003)。
When the series including the
例えばポイントP2が選択データ415として取り出されていた場合、判定用テーブル410は、ポイントP2に含まれる系列S0、S2、S3が真となっている。したがって削減部137は、ポイント別最大値データ350から系列S0、S2、S3以外の系列を含まないデータを削除する。
For example, when the point P2 is taken out as the
すなわち削減部137は、ポイント別最大値データ350から、系列S1のデータを含まないデータを削除する。その結果、空集合になるものがある。更にその空集合を取り除かれると、ポイント別最大値データ350は、図34に示すように、系列S1と系列S3のデータとなる。図34は、削減ポリシー1に基づきデータを削減したポイント別最大値データの例を示す図である。
That is, the
本実施例のポイント選択部136は、削減部137による削減処理が終了すると、図21のステップS2002へ戻り、ステップS2002以降の処理を繰り返すことによってポイントP6を選択する。図35は、ポイントP6が選択された状態を示す図である。以下にポイントP6が選択される様子について説明する。
When the reduction process by the
ポイント選択部136は、ステップS2002へ戻り、全ての系列がエントリ済みか否かを判断する。このとき判定用テーブル410は、系列S0、S2、S3のみが真となっている。よってポイント選択部136はステップS2003へ進む。
The
ポイント選択部136は、系列S1と系列S3のデータとなったポイント別最大値データ350を参照してステップS2003の処理を行い、ポイントP6を選択データ415として新たに取り出して結果データ360へ登録する。ポイント選択部136は、系列リスト420に系列S1を記憶し、判定用テーブル410の系列S1が真とされる。
The
次に削減部137が削減ポリシー1に基づいて削減処理を行うと、図34に示すポイント別最大値データ350から、系列S1と系列S3以外の系列を含まないデータが削除される。すなわち図34に示すポイント別最大値データ350から系列S0、系列S2を含まないデータが削除される。その結果ポイント別最大値データ350は空集合となる。
Next, when the
ポイント選択部136は、再度ステップS2002へ戻り、全ての系列がエントリ済みか否かを判断する。このとき判定用テーブル410は、全ての系列が真となっているため、ポイント選択部136は処理を終了する。
The
図5に戻って、以上で削減ポリシー1を用いた場合の図5のステップS506の処理が終了する。
Returning to FIG. 5, the processing in step S <b> 506 in FIG. 5 when the
この処理で選択されたポイントは、図36に示すように、結果データ360に登録されたポイントP2とポイントP6となる。図36は、削減ポリシー1における結果データの一例を示す図である。
The points selected in this process are point P2 and point P6 registered in the
次に本実施例の波形データ取得ポイント選択部130は、結果データ出力部138により結果データ360を結果データファイル370として出力する(ステップS507)。結果データ出力部138は、図36に示す結果データ360をフォーマット変換し、図37に示すデータを出力する。図37は、削減ポリシー1における結果データをフォーマット変換した例を示す図である。
Next, the waveform data acquisition
以上のように本実施例では、削減ポリシー1に基づきポイントの選択を行った場合、図38に示すように、系列S0、S2、S3ではポイントP2が選択され、系列S1、S3ではポイントP6が選択されることがわかる。図38は、削減ポリシー1において選択されたポイントを示す図である。
As described above, in this embodiment, when a point is selected based on the
尚本実施例において、削減ポリシー1のバリエーションとして、要素数が同じ場合、判定用テーブル410で偽が立っている要素数が多いものを選択し、偽が立っている要素数が同じものがある場合には、メトリクス値で選択するとしてもよい。このようにすると上述した方法に比べてより少ないポイントを選択できる可能性がある。
In this embodiment, as a variation of the
以上に説明したように、本実施例では、重み付けの方針及び削減ポリシーに基づいて、自動的に波形データを取得するポイントを決定することができる。 As described above, in the present embodiment, it is possible to automatically determine a point for acquiring waveform data based on a weighting policy and a reduction policy.
したがって、回路ブロック毎に特徴量の最大値となるポイントを選択する方法と比べて、波形データを取得するポイントの数を少なくすることができる。また例えば回路ブロックが多数存在した場合において、回路ブロック毎の最大値となるポイントから設計者の経験則により波形データを取得するポイントを決定する方法と比べて、自動的に回路ブロック単位で納得性が高いポイントを定量的に決定することができる。 Therefore, the number of points for acquiring waveform data can be reduced as compared with the method for selecting the point having the maximum feature value for each circuit block. In addition, for example, when there are many circuit blocks, it is automatically convincing for each circuit block compared to the method of determining the point for acquiring waveform data from the point of maximum value for each circuit block based on the designer's rule of thumb. A high point can be determined quantitatively.
また、本実施例では、同値類にわけることにより、特異点を検出することも可能である。例えば、3個の同値類A、B、Cに分けられていて、各々の最大値がa、b、cであって且つa>b>cの関係があるとき、同値類Aの要素数が同値類Bの要素数の5%未満であれば同値類Bを最大値を含む同値類として選択するというルールをおけば、数が少ない突出したポイントを無視することが出来る。 In this embodiment, it is also possible to detect singular points by dividing into equivalence classes. For example, when it is divided into three equivalence classes A, B, and C, and the maximum value of each is a, b, c and a> b> c, the number of elements of the equivalence class A is If the rule of selecting the equivalence class B as the equivalence class including the maximum value is less than 5% of the number of elements of the equivalence class B, the protruding point with a small number can be ignored.
また本実施例では、同値類を検出するので、同値類間の大小関係により平均的な同値類に着目してもよいし、平均電力への応用を考えて、要素数が多い同値類に着目してもよい。または平均値を含む、あるいは近い同値類を選択するようにしてもよい。本実施例では、電力見積において最大電力に着目する場合が多いことを考慮して、最大値を含む同値類を例として説明した。 Also, in this embodiment, equivalence classes are detected. Therefore, attention may be paid to average equivalence classes depending on the magnitude relationship between equivalence classes, or to equivalence classes with a large number of elements in consideration of application to average power. May be. Alternatively, an equivalence class including or close to the average value may be selected. In the present embodiment, the equivalence class including the maximum value has been described as an example in consideration of the fact that the maximum power is often focused in the power estimation.
以上に説明したように、本実施例によれば、波形データを取得するポイントを自動的に適切に選択することができる。 As described above, according to the present embodiment, a point for acquiring waveform data can be automatically and appropriately selected.
本発明は、以下に記載する付記のような構成が考えられる。
(付記1)
回路ブロック毎に特徴量を要素としてサンプリングし、前記サンプリングしたポイントから消費電力を見積もるポイントを選択する電力見積ポイント選択方法であって、
前記回路ブロック毎に前記特徴量の所定値を基準とする所定範囲内で前記要素をグループ化するグループ化手順と、
前記サンプリングしたポイントのうち、グループ化された前記要素の数が最も多いポイントを選択するポイント選択手順と、をコンピュータが実行する電力見積ポイント選択方法。
(付記2)
前記ポイント選択手順は、
前記回路ブロック毎の前記特徴量の所定値を含むグループの要素と、前記回路ブロックとを対応させたデータを前記ポイント毎にリストしたポイント別所定値データを作成する手順を有し、
前記ポイント別所定値データにおいて前記要素の数が最も多いポイントを選択する付記1記載の電力見積ポイント選択方法。
(付記3)
前記ポイント選択手順は、
前記回路ブロック毎に、前記特徴量の所定値と前記要素の特徴量との差分に基づきグループ内の前記要素に重み付けを行う重み付け手順と、
前記ポイント毎に、前記要素に付けられた重みの平均値を算出する手順とを有し、
前記要素の数が同じグループが存在する場合には、前記重みの平均値が小さいポイントから選択する付記1又は2記載の電力見積ポイント選択方法。
(付記4)
前記ポイント選択手順により選択されたポイントに基づき、前記ポイント別所定値データから削除するポイントのデータを決定する削除手順を有する付記1乃至3の何れか一項に記載の電力見積ポイント選択方法。
(付記5)
前記削除手順は、
前記ポイント別所定値データから、前記ポイント選択手順により選択されたポイントに含まれる要素と対応した前記回路ブロックのデータを削除する付記4記載の電力見積ポイント選択方法。
(付記6)
前記削除手順は、
前記ポイント別所定値データから、前記ポイント選択手順により選択されたポイントに含まれる要素と対応した前記回路ブロック以外の回路ブロックを含まないデータを削除する付記4記載の電力見積ポイント選択方法。
(付記7)
前記所定値は、前記特徴量の最大値である付記1乃至6の何れか一項に記載の電力見積ポイント選択方法。
(付記8)
回路ブロック毎に特徴量を要素としてサンプリングし、前記サンプリングしたポイントから消費電力を見積もるポイントを選択して消費電力の見積もりをシミュレーションするシミュレーション装置であって、
前記回路ブロック毎に前記特徴量の所定値を基準とする所定範囲内で前記要素をグループ化するグループ化手段と、
前記サンプリングしたポイントのうち、グループ化された前記要素の数が最も多いポイントを選択するポイント選択手段と、を有するシミュレーション装置。
(付記9)
回路ブロック毎に特徴量を要素としてサンプリングし、前記サンプリングしたポイントから消費電力を見積もるポイントを選択して消費電力の見積もりをシミュレーションするシミュレーション装置により実行される電力見積ポイント選択プログラムであって、
前記シミュレーション装置に、
前記回路ブロック毎に前記特徴量の所定値を基準とする所定範囲内で前記要素をグループ化するグループ化ステップと、
前記サンプリングしたポイントのうち、グループ化された前記要素の数が最も多いポイントを選択するポイント選択ステップと、を実行させる電力見積ポイント選択プログラム。
(付記10)
付記9に記載の電力見積ポイント選択プログラムが記録されたコンピュータ読み取り可能な記憶媒体。
The present invention may have the following configurations as described below.
(Appendix 1)
A power estimation point selection method for sampling a feature amount for each circuit block as an element and selecting a point for estimating power consumption from the sampled points,
A grouping procedure for grouping the elements within a predetermined range based on a predetermined value of the feature value for each circuit block;
A power estimation point selection method in which a computer executes a point selection procedure for selecting a point having the largest number of grouped elements among the sampled points.
(Appendix 2)
The point selection procedure includes:
A step of creating point-specific predetermined value data in which data corresponding to the elements of a group including the predetermined value of the feature amount for each circuit block and the circuit block are listed for each point;
The power estimation point selection method according to
(Appendix 3)
The point selection procedure includes:
For each circuit block, a weighting procedure for weighting the elements in the group based on the difference between the predetermined value of the feature value and the feature value of the element;
Calculating an average value of weights attached to the elements for each point;
The power estimation point selection method according to
(Appendix 4)
The power estimated point selection method according to any one of
(Appendix 5)
The deletion procedure is:
The power estimation point selection method according to
(Appendix 6)
The deletion procedure is:
The power estimation point selection method according to
(Appendix 7)
The power estimation point selection method according to any one of
(Appendix 8)
A simulation device that samples a feature amount as an element for each circuit block, selects a point for estimating power consumption from the sampled points, and simulates estimation of power consumption,
Grouping means for grouping the elements within a predetermined range based on a predetermined value of the feature value for each circuit block;
A simulation apparatus comprising: a point selection unit that selects a point having the largest number of grouped elements among the sampled points.
(Appendix 9)
A power estimation point selection program executed by a simulation apparatus that samples a feature amount as an element for each circuit block, selects a point for estimating power consumption from the sampled points, and simulates an estimation of power consumption,
In the simulation device,
A grouping step for grouping the elements within a predetermined range based on a predetermined value of the feature amount for each circuit block;
A power estimation point selection program that executes a point selection step of selecting a point having the largest number of the grouped elements among the sampled points.
(Appendix 10)
A computer-readable storage medium in which the power estimation point selection program according to attachment 9 is recorded.
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。 The present invention is not limited to the specifically disclosed embodiments, and various modifications and changes can be made without departing from the scope of the claims.
100 シミュレーション装置
110 設計データ生成部
120 シミュレーション部
130 波形データ取得ポイント選択部
132 分類部
133 同値類化部
134 重み付け部
135 ポイント別データ作成部
136 ポイント選択部
137 削減部
138 結果データ出力部
140 電力見積部
150 計測回路ライブラリ
230 特徴量データファイル
240 波形データ
320 グループ化データ
330 同値類化データ
340 重み付同値類化データ
350 ポイント別最大値データ
360 結果データ
DESCRIPTION OF
Claims (5)
前記回路ブロック毎に前記特徴量の所定値を基準とする所定範囲内で前記要素をグループ化するグループ化手順と、
前記サンプリングしたポイントのうち、グループ化された前記要素の数が最も多いポイントを選択するポイント選択手順と、をコンピュータが実行する電力見積ポイント選択方法。 A power estimation point selection method for sampling a feature amount for each circuit block as an element and selecting a point for estimating power consumption from the sampled points,
A grouping procedure for grouping the elements within a predetermined range based on a predetermined value of the feature value for each circuit block;
A power estimation point selection method in which a computer executes a point selection procedure for selecting a point having the largest number of grouped elements among the sampled points.
前記回路ブロック毎の前記特徴量の所定値を含むグループの要素と、前記回路ブロックとを対応させたデータを前記ポイント毎にリストしたポイント別所定値データを作成する手順を有し、
前記ポイント別所定値データにおいて前記要素の数が最も多いポイントを選択する請求項1記載の電力見積ポイント選択方法。 The point selection procedure includes:
A step of creating point-specific predetermined value data in which data corresponding to the elements of a group including the predetermined value of the feature amount for each circuit block and the circuit block are listed for each point;
The power estimation point selection method according to claim 1, wherein a point having the largest number of the elements is selected in the predetermined value data for each point.
前記回路ブロック毎に、前記特徴量の所定値と前記要素の特徴量との差分に基づきグループ内の前記要素に重み付けを行う重み付け手順と、
前記ポイント毎に、前記要素に付けられた重みの平均値を算出する手順とを有し、
前記要素の数が同じグループが存在する場合には、前記重みの平均値が小さいポイントから選択する請求項1又は2記載の電力見積ポイント選択方法。 The point selection procedure includes:
For each circuit block, a weighting procedure for weighting the elements in the group based on the difference between the predetermined value of the feature value and the feature value of the element;
Calculating an average value of weights attached to the elements for each point;
3. The power estimation point selection method according to claim 1, wherein when there are groups having the same number of elements, selection is made from points having a small average value of the weights.
前記回路ブロック毎に前記特徴量の所定値を基準とする所定範囲内で前記要素をグループ化するグループ化手段と、
前記サンプリングしたポイントのうち、グループ化された前記要素の数が最も多いポイントを選択するポイント選択手段と、を有するシミュレーション装置。 A simulation device that samples a feature amount as an element for each circuit block, selects a point for estimating power consumption from the sampled points, and simulates estimation of power consumption,
Grouping means for grouping the elements within a predetermined range based on a predetermined value of the feature value for each circuit block;
A simulation apparatus comprising: a point selection unit that selects a point having the largest number of grouped elements among the sampled points.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009262180A JP5423335B2 (en) | 2009-11-17 | 2009-11-17 | Power estimation point selection method and simulation apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009262180A JP5423335B2 (en) | 2009-11-17 | 2009-11-17 | Power estimation point selection method and simulation apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011107973A true JP2011107973A (en) | 2011-06-02 |
JP5423335B2 JP5423335B2 (en) | 2014-02-19 |
Family
ID=44231369
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009262180A Expired - Fee Related JP5423335B2 (en) | 2009-11-17 | 2009-11-17 | Power estimation point selection method and simulation apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5423335B2 (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0844788A (en) * | 1994-05-24 | 1996-02-16 | Toshiba Corp | Method and device for calculating power consumption of integrated circuit |
JP2008065496A (en) * | 2006-09-06 | 2008-03-21 | Fujitsu Ltd | Power consumption peak estimation program for lsi and its device |
JP2008176464A (en) * | 2007-01-17 | 2008-07-31 | Fujitsu Ltd | Design support program, design support method, and design support device |
JP2008234240A (en) * | 2007-03-20 | 2008-10-02 | Fujitsu Ltd | Power consumption analyzing method and power consumption analyzing device |
JP2008234224A (en) * | 2007-03-19 | 2008-10-02 | Fujitsu Ltd | Method and program for estimating power consumption |
JP2009070052A (en) * | 2007-09-12 | 2009-04-02 | Omron Corp | Monitoring device and program |
-
2009
- 2009-11-17 JP JP2009262180A patent/JP5423335B2/en not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0844788A (en) * | 1994-05-24 | 1996-02-16 | Toshiba Corp | Method and device for calculating power consumption of integrated circuit |
JP2008065496A (en) * | 2006-09-06 | 2008-03-21 | Fujitsu Ltd | Power consumption peak estimation program for lsi and its device |
JP2008176464A (en) * | 2007-01-17 | 2008-07-31 | Fujitsu Ltd | Design support program, design support method, and design support device |
JP2008234224A (en) * | 2007-03-19 | 2008-10-02 | Fujitsu Ltd | Method and program for estimating power consumption |
JP2008234240A (en) * | 2007-03-20 | 2008-10-02 | Fujitsu Ltd | Power consumption analyzing method and power consumption analyzing device |
JP2009070052A (en) * | 2007-09-12 | 2009-04-02 | Omron Corp | Monitoring device and program |
Also Published As
Publication number | Publication date |
---|---|
JP5423335B2 (en) | 2014-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Smit et al. | Comparing parameter tuning methods for evolutionary algorithms | |
JP4704299B2 (en) | LSI power consumption peak estimation program and apparatus | |
US20090063564A1 (en) | Statistical design closure | |
US9189216B2 (en) | Power consumption design-optimization of a communication device software program | |
JP5872324B2 (en) | Mesh generator | |
JP6567484B2 (en) | Estimated model construction system, estimated model construction method and program | |
JP2017146888A (en) | Design support device and method and program | |
JP5966836B2 (en) | Evaluation support method, information processing apparatus, and program | |
JP2020135171A (en) | Machine learning program verification apparatus and machine learning program verification method | |
US20080244478A1 (en) | Model generation method and model generation apparatus of semiconductor device | |
US20090287965A1 (en) | Verification supporting system | |
JP5785725B2 (en) | Power estimation apparatus, power estimation method and program | |
JP7235960B2 (en) | Job power prediction program, job power prediction method, and job power prediction device | |
JP6471615B2 (en) | Performance information generation program, performance information generation method, and information processing apparatus | |
JP5423335B2 (en) | Power estimation point selection method and simulation apparatus | |
JP2009295097A (en) | Information classification device, information classification method, information processing program, and recording medium | |
JP4827469B2 (en) | Cache memory analysis method, processor, and simulated information processing apparatus | |
JP6966289B2 (en) | Information analyzers, programs and methods | |
JP7292235B2 (en) | Analysis support device and analysis support method | |
JP5321286B2 (en) | Program model checking method, program model checking program | |
JP2009271653A (en) | Power consumption estimation method, circuit design support device and program | |
JP6869082B2 (en) | Computer for selecting test cases and test case selection method | |
JP6999207B1 (en) | Data analysis method, data analysis device, and data analysis program | |
JP7363914B2 (en) | Search method, search program and search device | |
JP6175637B2 (en) | Power estimation support program, power estimation support device, and power estimation support method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120720 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130312 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130409 |
|
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: 20131029 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131111 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |