JP5939060B2 - Circuit design support program, circuit design support apparatus, and circuit design support method - Google Patents

Circuit design support program, circuit design support apparatus, and circuit design support method Download PDF

Info

Publication number
JP5939060B2
JP5939060B2 JP2012148509A JP2012148509A JP5939060B2 JP 5939060 B2 JP5939060 B2 JP 5939060B2 JP 2012148509 A JP2012148509 A JP 2012148509A JP 2012148509 A JP2012148509 A JP 2012148509A JP 5939060 B2 JP5939060 B2 JP 5939060B2
Authority
JP
Japan
Prior art keywords
state
memory
probability
clock
gating
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
JP2012148509A
Other languages
Japanese (ja)
Other versions
JP2014010751A (en
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012148509A priority Critical patent/JP5939060B2/en
Publication of JP2014010751A publication Critical patent/JP2014010751A/en
Application granted granted Critical
Publication of JP5939060B2 publication Critical patent/JP5939060B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、回路設計支援プログラム、回路設計支援装置、及び回路設計支援方法に関する。   The present invention relates to a circuit design support program, a circuit design support apparatus, and a circuit design support method.

システムLSI(Large Scale Integration)等の大規模集積回路の設計に際し、設計対象回路の消費電力(電流)は、重要な設計制約のひとつであり、また、設計対象回路の低消費電力が実現されれば強い商品力となる。
低電力設計を正しく行なうためには、消費電力の正確な見積もりが不可欠である。設計対象回路の論理回路の設計段階で消費電力を正確に見積もることにより、電力浪費の原因が的確に把握され、論理回路設計にフィードバックをかけることができる。
When designing a large scale integrated circuit such as a system LSI (Large Scale Integration), the power consumption (current) of the design target circuit is one of the important design constraints, and the low power consumption of the design target circuit is realized. It will be a strong product power.
Accurate estimation of power consumption is indispensable for correct low power design. By accurately estimating the power consumption at the design stage of the logic circuit of the design target circuit, the cause of the power waste can be accurately grasped and feedback can be applied to the logic circuit design.

最近のシステムLSIのような超大規模集積回路では、様々な大きさのメモリが数多く組み込まれることが一般的になっている。そのため、メモリによる消費電力が全消費電力に占める割合も高くなっている。
メモリは、半導体製造ベンダから、マクロブロックIP(Intellectual Property)として提供される。マクロブロックIPの電力情報は、IPの機能動作に対応した、動作1回当たりの電力として、ライブラリに記述される。例えばメモリの場合、書込動作1回当たりの電力2mJと読出動作1回当たりの電力3mJとが、ライブラリに記述される。
In a very large scale integrated circuit such as a recent system LSI, a large number of memories of various sizes are generally incorporated. Therefore, the ratio of the power consumption by the memory to the total power consumption is also high.
The memory is provided as a macroblock IP (Intellectual Property) from a semiconductor manufacturer. The power information of the macro block IP is described in the library as the power per operation corresponding to the IP functional operation. For example, in the case of a memory, power 2 mJ per write operation and power 3 mJ per read operation are described in the library.

それぞれの動作回数つまり書込回数および読出回数は、システムレベルの論理シミュレーションの結果波形を参照して計数することにより取得される。取得された書込回数と書込動作1回当たりの電力2mJとを乗算した値が、メモリの書込動作で消費される電力として見積もられ、取得された読出回数と読出動作1回当たりの電力2mJとを乗算した値が、メモリの書込動作で消費される電力として見積もられる。   The number of operations, that is, the number of times of writing, and the number of times of reading are obtained by counting with reference to the result waveform of the system level logic simulation. The value obtained by multiplying the acquired number of times of writing and the power 2 mJ per write operation is estimated as the power consumed in the write operation of the memory, and the obtained number of read times per read operation A value obtained by multiplying the power 2 mJ is estimated as the power consumed in the memory write operation.

しかし、システムレベルの論理シミュレーションの結果波形を全波形ダンプしようとすると、波形のファイルサイズが数TB(テラバイト)にもなり、全波形のダンプファイルを用意することができない。あるいは、顧客のRTL(Register Transfer Level)記述から半導体製造ベンダが電力を見積もる場合、設計対象回路に係る詳細な技術内容の漏洩等を防ぐべく、動作内容を示す波形ダンプファイルは、顧客から半導体製造ベンダへ提供されないといったことがある。   However, when attempting to dump all waveforms as a result of system-level logic simulation, the waveform file size becomes several TB (terabytes), and a dump file of all waveforms cannot be prepared. Alternatively, when a semiconductor manufacturing vendor estimates power from a customer's RTL (Register Transfer Level) description, a waveform dump file indicating the operation contents is sent from the customer to the semiconductor manufacturing to prevent leakage of detailed technical contents related to the design target circuit. Sometimes it is not provided to the vendor.

このため、波形のダンプファイルに代え、時間的な順序関係を無くした、確率的動作情報(動作確率情報ともいう)が提供され、確率的動作情報を用いて消費電力の見積もりが行なわれるようになっている。確率的動作情報とは、時間平均化された動作情報であり、回路の各ネットについて次の2つの情報を含む。一つは、クロック(CLK),チップイネーブル信号(CE),ライトイネーブル信号(WE)などの信号(ネット,ノード)の単位時間当たりの動作回数(トグル回数;信号の立ち上がり回数と立ち下がり回数との合計)である。もう一つは、当該信号(ネット,ノード)が状態値“1”である確率、つまり“1”状態確率である。具体的な動作確率情報については、図14を参照しながら後述する。このような動作確率情報は、設計対象回路の論理シミュレーションから取得される。   For this reason, probabilistic motion information (also referred to as motion probability information) that eliminates the temporal order relationship is provided in place of the waveform dump file, and power consumption is estimated using the stochastic motion information. It has become. Probabilistic operation information is operation information averaged over time, and includes the following two pieces of information for each net of the circuit. One is the number of operations per unit time of signals (net, node) such as clock (CLK), chip enable signal (CE), and write enable signal (WE) (the number of toggles; the number of rising and falling times of the signal) Total). The other is a probability that the signal (net, node) has a state value “1”, that is, a “1” state probability. Specific motion probability information will be described later with reference to FIG. Such operation probability information is acquired from a logic simulation of the circuit to be designed.

ここで、図12を参照しながら、メモリの入力信号および出力信号について説明する。図12に示すように、メモリは、アドレス,データ入力,ライトイネーブル信号(WE),チップイネーブル信号(CE),クロック(CLK)を入力とし、データ出力を出力としている。
WEは、メモリの書込/読出動作を指示する制御入力で、WEが“1”の時、メモリは読出動作を行ない、WEが“0”の時、メモリは書込動作を行なう。
Here, an input signal and an output signal of the memory will be described with reference to FIG. As shown in FIG. 12, the memory has an address, data input, a write enable signal (WE), a chip enable signal (CE), and a clock (CLK) as inputs, and a data output as an output.
WE is a control input for instructing a memory write / read operation. When WE is “1”, the memory performs a read operation. When WE is “0”, the memory performs a write operation.

CEは、メモリの動作/停止を指示する制御入力で、CEが“1”の時、メモリは、他の入力信号の値(変化)にかかわらず停止し動作を行なわない一方、CEが“0”の時、メモリは動作する。
CLKは、クロック入力で、CLKが立ち上がった時、即ちCLKが“0”から“1”に変化した時、メモリは、アドレス,データ入力,WE,CEの値を取り込み、指定された動作を行なう。
CE is a control input for instructing operation / stop of the memory. When CE is “1”, the memory stops and does not operate regardless of the value (change) of other input signals, while CE is “0”. "", The memory operates.
CLK is a clock input. When CLK rises, that is, when CLK changes from “0” to “1”, the memory takes in the values of address, data input, WE, and CE and performs a specified operation. .

したがって、CE=0且つWE=0の場合、メモリは、CLKが立ち上がる都度、書込動作を行なう。つまり、メモリ内部の保存領域における、アドレスで指定された番地に、データ入力で指定された値が書き込まれる。
また、CE=0且つWE=1の場合、メモリは、CLKが立ち上がる都度、読出動作を行なう。つまり、メモリ内部の保存領域における、アドレスで指定された番地の値を、データ出力に出力する。
Therefore, when CE = 0 and WE = 0, the memory performs a write operation every time CLK rises. That is, the value designated by the data input is written to the address designated by the address in the storage area in the memory.
When CE = 0 and WE = 1, the memory performs a read operation every time CLK rises. That is, the address value specified by the address in the storage area inside the memory is output to the data output.

ところで、最近の設計では、クロックゲーティングと呼ばれる低電力化設計を利用することにより、回路ブロックが利用されない期間に、クロック信号CLKを停止することも多い。図13に、クロックゲーティングによるCLKの停止期間を含む、図12に示すメモリの入力波形の一例を示す。また、図14に、図13に示す入力波形について取得される動作確率情報の一例を示す。   By the way, in recent designs, the clock signal CLK is often stopped during a period when the circuit block is not used by using a low power design called clock gating. FIG. 13 shows an example of an input waveform of the memory shown in FIG. 12 including a CLK stop period due to clock gating. FIG. 14 shows an example of motion probability information acquired for the input waveform shown in FIG.

以下では、図14に示す動作確率情報に基づく、メモリの動作回数、つまり書込アクセス回数および読出アクセス回数の見積もり手法(推定手法)について説明する。
なお、図13では、上述した信号CLK,CE,WEの入力波形が示されるとともに、当該入力波形における書込動作ポイントおよび読出動作ポイントが矢印で示されている。書込動作ポイントは、CE=0且つWE=0の時のCLKの立ち上がりポイントであり、読出動作ポイントは、CE=0且つWE=1の時のCLKの立ち上がりポイントである。
Hereinafter, an estimation method (estimation method) of the number of memory operations, that is, the number of write accesses and the number of read accesses based on the operation probability information illustrated in FIG. 14 will be described.
In FIG. 13, the input waveforms of the above-described signals CLK, CE, and WE are shown, and the write operation point and the read operation point in the input waveform are indicated by arrows. The write operation point is the rising point of CLK when CE = 0 and WE = 0, and the read operation point is the rising point of CLK when CE = 0 and WE = 1.

また、図13において、CLKが“0”に固定されている区間は、上述したクロックゲーティングによるCLKの停止期間を示す。図13では、CLKの停止期間とCE=1の期間(メモリ停止期間,非アクティブ期間)とが同期しておらず、且つ、CLKの停止期間がCE=1の期間よりも短い〔つまり、CE=0の期間(メモリ動作期間,アクティブ期間)がCLKの動作期間よりも短い〕例が示されている。   In FIG. 13, a section in which CLK is fixed to “0” indicates a stop period of CLK due to the clock gating described above. In FIG. 13, the CLK stop period and the CE = 1 period (memory stop period, inactive period) are not synchronized, and the CLK stop period is shorter than the CE = 1 period (that is, CE = 0 period (memory operation period, active period is shorter than CLK operation period).

図13に示す入力波形での、正しい書込アクセス回数および読出アクセス回数は、それぞれ、書込動作ポイントおよび読出動作ポイントの数である。つまり、正しい書込アクセス回数は、CE=0且つWE=0の時のCLKの立ち上がり動作回数の6回であり、正しい読出アクセス回数は、CE=0且つWE=1の時のCLKの立ち上がり動作回数の6回である。ここで、CLKの立ち上がり動作回数は、CLKの動作回数(トグル回数)/2である。   The correct write access count and read access count in the input waveform shown in FIG. 13 are the number of write operation points and read operation points, respectively. In other words, the correct number of write accesses is six times the number of CLK rising operations when CE = 0 and WE = 0, and the number of correct read accesses is the number of CLK rising operations when CE = 0 and WE = 1. The number of times is six. Here, the number of CLK rising operations is the number of CLK operations (toggling) / 2.

図13に示す入力波形について取得される動作確率情報は、図14に示す通りである。つまり、クロックCLKについて、“1”状態確率として35.0%が取得され、動作回数として28回が取得されている。また、チップイネーブル信号CEについて、“1”状態確率として40.0%が取得され、動作回数として4回が取得され、ライトイネーブル信号WEについて、“1”状態確率として70.0%が取得され、動作回数として11回が取得されている。   The motion probability information acquired for the input waveform shown in FIG. 13 is as shown in FIG. That is, for the clock CLK, 35.0% is acquired as the “1” state probability, and 28 times are acquired as the number of operations. Further, 40.0% is acquired as the “1” state probability for the chip enable signal CE, 4 times is acquired as the number of operations, and 70.0% is acquired as the “1” state probability for the write enable signal WE. 11 times are acquired as the number of operations.

そして、既存の見積もり手法では、図14に示すような動作確率情報を用いて、以下のように、書込アクセス回数および読出アクセス回数が見積もられる。
[書込アクセス回数]=[CLKの立ち上がり動作回数]×[メモリが書込状態になる確率]
=[CLKの動作回数/2]×[CE=0且つWE=0の確率]
=[28/2]×[(1−0.40)×(1−0.70)]
=2.52
[読出アクセス回数]=[CLKの立ち上がり動作回数]×[メモリが読出状態になる確率]
=[CLKの動作回数/2]×[CE=0且つWE=1の確率]
=[28/2]×[(1−0.40)×(0.70)]
=5.88
In the existing estimation method, the number of write accesses and the number of read accesses are estimated using the operation probability information as shown in FIG. 14 as follows.
[Number of write accesses] = [Number of rising edges of CLK] × [Probability that the memory will be in a write state]
= [Number of CLK operations / 2] × [probability of CE = 0 and WE = 0]
= [28/2] x [(1-0.40) x (1-0.70)]
= 2.52
[Number of read accesses] = [Number of rising operations of CLK] × [Probability that the memory is in a read state]
= [Number of CLK operations / 2] × [probability of CE = 0 and WE = 1]
= [28/2] x [(1-0.40) x (0.70)]
= 5.88

特開2003−256495号公報JP 2003-256495 A 特開2008−234187号公報JP 2008-234187 A

ところで、図13に示す入力波形の例では、CEによるメモリの動作/停止制御とクロックゲーティング制御とが重複して行なわれている。しかし、図14に示す動作確率情報には、CEによるメモリの動作/停止制御とクロックゲーティング制御との重複関係に係る情報が含まれていない。クロックゲーティング制御後のクロック動作回数がCLKの動作回数として含まれており、CEによるメモリの動作/停止制御情報が、CEの状態確率として含まれている。このため、上述した既存の手法では、CEによるメモリの動作/停止制御とクロックゲーティング制御を独立した事象として確率計算しており、クロックゲーティング制御後のCLK動作回数にCEの状態確率を乗算してアクセス回数が算出される。したがって、書込アクセス回数や読出アクセス回数の見積もり結果(推定値)の誤差が極めて大きくなる。   In the example of the input waveform shown in FIG. 13, the memory operation / stop control by CE and the clock gating control are performed in an overlapping manner. However, the operation probability information shown in FIG. 14 does not include information related to the overlapping relationship between the memory operation / stop control by the CE and the clock gating control. The clock operation count after the clock gating control is included as the CLK operation count, and the memory operation / stop control information by the CE is included as the CE state probability. For this reason, in the above-described existing method, the memory operation / stop control by CE and the clock gating control are calculated as probabilities, and the number of CLK operations after clock gating control is multiplied by the CE state probability. Thus, the number of accesses is calculated. Therefore, the error of the estimation result (estimated value) of the number of write accesses and the number of read accesses becomes extremely large.

また、メモリの読出動作と書込動作との比率(READ/WRITE比率)としては、メモリが動作している時つまりCE=0の時だけの比率を用いることが望ましい。しかし、図13の入力波形にも示すように、メモリが停止している時つまりCE=1の時、WEは“1”に固定的に設定され、メモリは読出動作を行なっているとみなされる。これは、メモリに対する書込動作はメモリ内部のデータを壊す(書き換える)が、メモリに対する読出動作はメモリ内部のデータを保持し壊すことがないためであると考えられる。したがって、図14に示す動作確率情報のWEの“1”状態確率には、メモリが停止している時つまりCE=1の時の読出動作の状態確率が含まれることになり、書込動作よりも読出動作の割合が多くなる傾向がある。このような傾向のために、書込アクセス回数や読出アクセス回数の見積もり結果(推定値)の誤差がさらに大きくなる。   Further, as a ratio between the read operation and the write operation (READ / WRITE ratio) of the memory, it is desirable to use a ratio only when the memory is operating, that is, when CE = 0. However, as shown in the input waveform of FIG. 13, when the memory is stopped, that is, when CE = 1, WE is fixedly set to “1”, and the memory is regarded as performing the reading operation. . This is presumably because the write operation to the memory destroys (rewrites) the data inside the memory, but the read operation to the memory retains and does not destroy the data inside the memory. Therefore, the “1” state probability of WE in the operation probability information shown in FIG. 14 includes the state probability of the read operation when the memory is stopped, that is, when CE = 1. However, the ratio of the read operation tends to increase. Due to such a tendency, an error in the estimation result (estimated value) of the number of write accesses and the number of read accesses is further increased.

このように、図14に示すような動作確率情報に基づき、既存の手法で書込アクセス回数や読出アクセス回数を見積もる際、見積もり結果(推定値)の誤差が大きく、メモリの消費電力を正確に見積もることができない。
一つの側面で、本発明は、設計対象回路のメモリに対するアクセス回数を正確に見積もることを目的とする。
As described above, when estimating the number of write accesses and the number of read accesses with the existing method based on the operation probability information as shown in FIG. 14, the error of the estimation result (estimated value) is large, and the power consumption of the memory is accurately determined. It cannot be estimated.
In one aspect, an object of the present invention is to accurately estimate the number of accesses to a memory of a circuit to be designed.

一つの案において、回路設計支援プログラムは、設計対象回路に係る回路データと、前記設計対象回路のメモリへのクロックの単位時間当たりの動作回数、および、前記メモリの動作/停止を指示する第1制御信号の状態確率を含む動作確率情報とに基づき、前記メモリに対するアクセス回数を推定するコンピュータに、前記回路データに基づき、前記クロックのゲーティングを行なうゲーティングセルと、前記ゲーティングセルを制御する第1制御セルと、前記クロックのクロック源の動作情報とを抽出し、前記ゲーティングセルが抽出された場合、前記クロック源の動作情報に含まれる、前記クロック源から出力される単位時間当たりの総動作回数に対する、前記クロックの単位時間当たりの動作回数の割合を示すクロックゲーティング動作率を算出し、前記ゲーティングセルが抽出された場合、前記回路データに基づき、前記第1制御信号を出力する第2制御セルを抽出し、前記第1制御セル,前記第2制御セル,前記動作確率情報,前記クロックゲーティング動作率および前記総動作回数に基づき、前記メモリに対するアクセス回数の推定値を算出する、処理を実行させる。   In one proposal, the circuit design support program includes circuit data relating to a circuit to be designed, a number of operations per unit time of a clock to the memory of the circuit to be designed, and a first instruction for operating / stopping the memory. Based on the operation probability information including the state probability of the control signal, the computer for estimating the number of accesses to the memory controls the gating cell for performing the clock gating based on the circuit data, and the gating cell. When the first control cell and the operation information of the clock source of the clock are extracted and the gating cell is extracted, the operation information per unit time output from the clock source included in the operation information of the clock source is extracted. Clock gating indicating the ratio of the number of operations per unit time of the clock to the total number of operations When the gating cell is extracted by calculating an operation rate, a second control cell that outputs the first control signal is extracted based on the circuit data, and the first control cell, the second control cell, Based on the operation probability information, the clock gating operation rate, and the total number of operations, a process of calculating an estimated value of the number of accesses to the memory is executed.

一実施形態によれば、設計対象回路のメモリに対するアクセス回数を正確に見積もることができる。   According to one embodiment, the number of accesses to the memory of the circuit to be designed can be accurately estimated.

本実施形態の回路設計支援装置のハードウエア構成および機能構成を示すブロック図である。It is a block diagram which shows the hardware constitutions and functional structure of the circuit design support apparatus of this embodiment. 図1に示す回路設計支援装置の動作を説明するフローチャートである。3 is a flowchart for explaining the operation of the circuit design support apparatus shown in FIG. 図1に示す回路設計支援装置によるクロックゲーティング解析処理を説明するフローチャートである。3 is a flowchart for explaining clock gating analysis processing by the circuit design support apparatus shown in FIG. 1. バックトレースにより抽出される大元クロック(クロック源)を説明する図である。It is a figure explaining the original clock (clock source) extracted by backtrace. バックトレースにより抽出される制御セルを説明する図である。It is a figure explaining the control cell extracted by backtrace. READ/WRITE解析処理を説明する図である。It is a figure explaining READ / WRITE analysis processing. (A),(B)はREAD/WRITE解析処理を説明する図である。(A), (B) is a figure explaining READ / WRITE analysis processing. (A)〜(C)はREAD/WRITE解析処理を説明する図である。(A)-(C) is a figure explaining READ / WRITE analysis processing. メモリ入力クロックおよび大元クロック(クロック源)の“1”状態確率および動作回数の具体例を示す図である。It is a figure which shows the specific example of the "1" state probability and the frequency | count of operation of a memory input clock and a large original clock (clock source). 図9に示す具体例に対応する、大元クロック(クロック源)およびメモリ入力クロックの動作波形を示す図である。FIG. 10 is a diagram illustrating operation waveforms of a main clock (clock source) and a memory input clock corresponding to the specific example illustrated in FIG. 9. 電力動作情報として最終的に算出される書込アクセス回数および読出アクセス回数を示す図である。It is a figure which shows the write access frequency | count and read access frequency | count finally calculated as electric power operation information. メモリの入力信号および出力信号を説明する図である。It is a figure explaining the input signal and output signal of a memory. 図12に示すメモリの入力波形の一例を示す波形図である。It is a wave form diagram which shows an example of the input waveform of the memory shown in FIG. 図13に示す入力波形について取得される動作確率情報の一例を示す図である。It is a figure which shows an example of the operation | movement probability information acquired about the input waveform shown in FIG.

以下、図面を参照して実施の形態を説明する。
〔1〕回路設計支援装置の構成および機能
図1は、本実施形態の回路設計支援装置1のハードウエア構成および機能構成を示すブロック図である。
Hereinafter, embodiments will be described with reference to the drawings.
[1] Configuration and Function of Circuit Design Support Device FIG. 1 is a block diagram showing the hardware configuration and functional configuration of the circuit design support device 1 of this embodiment.

図1に示す回路設計支援装置1は、システムLSI等の設計対象回路におけるメモリに対するアクセス回数を推定するもので、当該設計対象回路についての論理回路の設計時に当該設計対象回路の消費電力を見積もるために用いられる。
回路設計支援装置1は、記憶部10および処理部(プロセッサ)20を有している。
A circuit design support apparatus 1 shown in FIG. 1 estimates the number of accesses to a memory in a design target circuit such as a system LSI, and estimates power consumption of the design target circuit when designing a logic circuit for the design target circuit. Used for.
The circuit design support apparatus 1 includes a storage unit 10 and a processing unit (processor) 20.

記憶部10は、RAM(Random Access Memory),ROM(Read Only Memory),HDD(Hard Disk Drive),SSD(Solid State Drive)等の内部記憶装置であってもよいし、外部記憶装置であってもよい。記憶部10は、少なくとも、設計対象回路に係る回路データと、図14を参照しながら上述したような動作確率情報と、コンピュータ(処理部10)を回路設計支援装置1として動作させる回路設計支援プログラムとを記憶する。動作確率情報は、設計対象回路上のメモリ毎に、設計対象回路の論理シミュレーションの結果波形から取得され、図14に示すように、以下の情報(a1)〜(a6)を含む。   The storage unit 10 may be an internal storage device such as a random access memory (RAM), a read only memory (ROM), a hard disk drive (HDD), or a solid state drive (SSD), or an external storage device. Also good. The storage unit 10 includes at least circuit data related to the design target circuit, operation probability information as described above with reference to FIG. 14, and a circuit design support program that causes the computer (processing unit 10) to operate as the circuit design support device 1. And remember. The operation probability information is acquired from the result of logic simulation of the design target circuit for each memory on the design target circuit, and includes the following information (a1) to (a6) as shown in FIG.

(a1)設計対象回路上のメモリへのCLKの単位時間当たりの動作回数(トグル回数)
(a2)上記CLKが状態値“1”である確率(“1”状態確率)
(a3)上記メモリの動作/停止を指示する第1制御信号CEの単位時間当たりの動作回数
(a4)上記CEの“1”状態確率
(a5)上記メモリの書込/読出動作を指示する第2制御信号WEの単位時間当たりの動作回数
(a6)上記WEの“1”状態確率
(a1) Number of operations per unit time of CLK to the memory on the design target circuit (number of toggles)
(a2) Probability that the CLK has the state value “1” (“1” state probability)
(a3) Number of operations per unit time of the first control signal CE instructing the operation / stop of the memory
(a4) “1” state probability of CE
(a5) The number of operations per unit time of the second control signal WE instructing the write / read operation of the memory
(a6) “1” state probability of the WE

処理部20は、回路設計支援プログラムを実行することで、後述する第1抽出部21,第1算出部22,第2抽出部23,第2算出部24,補正部25および第3算出部26としての機能を果たす。   The processing unit 20 executes a circuit design support program to thereby describe a first extraction unit 21, a first calculation unit 22, a second extraction unit 23, a second calculation unit 24, a correction unit 25, and a third calculation unit 26, which will be described later. Serves as a function.

第1抽出部21は、回路データに基づき、CLKのゲーティングを行なうゲーティングセル(CGC:Clock Gating Cell)と、CGCを制御する第1制御セル(制御論理セル;例えばフリップフロップ(FF))と、CLKのクロック源(大元クロック)の動作情報とを抽出する(図4,図5参照)。このとき、第1抽出部21は、回路データに基づき前記メモリにおけるCLKの入力端子からバックトレースを行なうことにより、CGC,第1制御セルおよび大元クロックの動作情報を抽出する。CGCは、例えば、第1制御セルからの制御信号とCLKとの論理積を出力するANDゲートである(図5参照)。   The first extraction unit 21 is based on circuit data, a gating cell (CGC) that performs CLK gating, and a first control cell (control logic cell; for example, flip-flop (FF)) that controls the CGC And the operation information of the clock source (main clock) of CLK (see FIGS. 4 and 5). At this time, the first extraction unit 21 performs backtrace from the CLK input terminal in the memory based on the circuit data, thereby extracting operation information of the CGC, the first control cell, and the main clock. The CGC is, for example, an AND gate that outputs a logical product of the control signal from the first control cell and CLK (see FIG. 5).

第1算出部22は、CGCが抽出された場合つまりCGが有る場合、クロックゲーティング動作率(CG動作率)を算出する。CG動作率は、大元クロックの動作情報に含まれる、[当該大元クロックから出力される単位時間当たりの総動作回数(動作周波数)]に対する、[メモリへ入力されるCLKの単位時間当たりの動作回数]の割合を示す。   The first calculation unit 22 calculates a clock gating operation rate (CG operation rate) when CGC is extracted, that is, when CG is present. The CG operation rate is the [per unit time of CLK input to the memory with respect to [total number of operations per unit time (operation frequency) output from the main clock] included in the operation information of the main clock. Of operation count].

第2抽出部23は、CGCが抽出された場合つまりCGが有る場合、回路データに基づき、CEを出力する第2制御セル(制御論理セル;例えばFF)を抽出する(図5参照)。このとき、第2抽出部23は、回路データに基づきメモリにおけるCEの入力端子からバックトレースを行なうことにより、第2制御セルを抽出する。   When CGC is extracted, that is, when CG is present, the second extraction unit 23 extracts a second control cell (control logic cell; for example, FF) that outputs CE based on circuit data (see FIG. 5). At this time, the second extraction unit 23 extracts the second control cell by performing back tracing from the CE input terminal in the memory based on the circuit data.

第2算出部24は、第1制御セル,第2制御セル,動作確率情報,CG動作率および総動作回数に基づき、以下の項目(b1)〜(b5)のように、前記メモリに対するアクセス回数の推定値を算出する。
(b1)CEの状態値が常に“1”(CE=1)である場合、メモリは常に停止している。したがって、メモリに対するアクセスは行なわれず、第2算出部24は、アクセス回数の推定値として0回を出力する(図3のステップS12参照)。
Based on the first control cell, the second control cell, the operation probability information, the CG operation rate, and the total number of operations, the second calculation unit 24 performs the number of accesses to the memory as in the following items (b1) to (b5). The estimated value of is calculated.
(b1) When the state value of CE is always “1” (CE = 1), the memory is always stopped. Therefore, the memory is not accessed, and the second calculator 24 outputs 0 as the estimated number of accesses (see step S12 in FIG. 3).

(b2)CEの状態値が常に“0”(CE=0)である場合、メモリは常に動作している。したがって、全てのCLKの立ち上がりタイミングでメモリに対するアクセスが行なわれるので、第2算出部24は、[動作確率情報に含まれるCLKの動作回数]/2回を算出する(図3のステップS14参照)。   (b2) When the state value of CE is always “0” (CE = 0), the memory is always operating. Accordingly, since the memory is accessed at the rising timing of all CLK, the second calculation unit 24 calculates [the number of operations of CLK included in the operation probability information] / 2 times (see step S14 in FIG. 3). .

(b3)CGCが抽出されなかった場合つまりCGが無い場合、メモリに対するアクセス回数は、CGによっては制御されず、CEによるメモリの動作/停止切換によって制御される。したがって、第2算出部24は、アクセス回数の推定値として、([動作確率情報に含まれる、前記メモリへのCLKの単位時間当たりの動作回数]/2)×[前記メモリの動作状態確率]回を算出する(図3のステップS21参照)。ここで、前記メモリの動作状態確率は、CEの状態値が“0”である確率(=1−[動作確率情報に含まれる、CEの“1”状態確率])である。   (b3) When the CGC is not extracted, that is, when there is no CG, the number of accesses to the memory is not controlled by the CG but is controlled by the memory operation / stop switching by the CE. Therefore, the second calculation unit 24 uses ([number of operations per unit time of CLK to the memory included in the operation probability information] / 2) × [operation state probability of the memory] as the estimated number of accesses. Times are calculated (see step S21 in FIG. 3). Here, the operation state probability of the memory is a probability that the CE state value is “0” (= 1− [CE “1” state probability included in the operation probability information]).

(b4)第1制御セルと第2制御セルとが同じ場合つまりCGとCEとが同期している場合、第2算出部24は、アクセス回数の推定値として、[動作確率情報に含まれる、前記メモリへのCLKの単位時間当たりの動作回数]/2回を算出する(図3のステップS24参照)。   (b4) When the first control cell and the second control cell are the same, that is, when the CG and the CE are synchronized, the second calculation unit 24 uses [the operation probability information includes: The number of operations of CLK to the memory per unit time] / 2 times is calculated (see step S24 in FIG. 3).

(b5)第1制御セルと第2制御セルとが異なる場合つまりCGとCEとが同期していない場合、第2算出部24は、アクセス回数の推定値を、以下のように算出する。つまり、第2算出部24は、動作確率情報に含まれるCEの状態確率に基づいて得られる前記メモリの動作状態確率と、第1算出部22で算出されたCG動作率とのうちの小さい方を前記メモリの動作率として選択する(図3のステップS26参照)。ここで、前記メモリの動作状態確率は、CEの状態値が“0”(CE=0)である確率で、CEがイネーブルな期間に対応する。また、CG動作率は、CGによるCLKの動作期間に対応する。そして、第2算出部24は、アクセス回数の推定値として、([前記大元クロックの動作情報に含まれる総動作回数]/2)×[選択された動作率]回を算出する(図3のステップS27参照)。   (b5) When the first control cell is different from the second control cell, that is, when the CG and the CE are not synchronized, the second calculation unit 24 calculates the estimated number of accesses as follows. That is, the second calculation unit 24 is the smaller of the memory operation state probability obtained based on the CE state probability included in the operation probability information and the CG operation rate calculated by the first calculation unit 22. Is selected as the operation rate of the memory (see step S26 in FIG. 3). Here, the operation state probability of the memory is a probability that the state value of CE is “0” (CE = 0), and corresponds to a period in which CE is enabled. The CG operation rate corresponds to the operation period of CLK by CG. Then, the second calculator 24 calculates ([total number of operations included in the operation information of the main clock] / 2) × [selected operation rate] times as an estimated value of the number of accesses (FIG. 3). Step S27).

補正部25は、動作確率情報に含まれるCEの状態確率とWEの状態確率とに基づき、前記メモリが停止状態である際のWEの状態を推定し、推定結果に基づき前記メモリに対する読出状態と書込状態との比率(READ/WRITE比率)を補正する。このとき、補正部25は、以下の項目(c1)〜(c4)のように、前記メモリが停止状態である際のWEの状態を推定する。なお、下記項目(c1)〜(c4)の状態推定条件の詳細や、当該状態推定条件に基づくWEの状態確率の補正の具体例については、図6〜図8を参照しながら後述する。   The correction unit 25 estimates the state of the WE when the memory is in a stopped state based on the state probability of the CE and the state probability of the WE included in the operation probability information, and reads out the memory from the memory based on the estimation result. Correct the ratio to the writing state (READ / WRITE ratio). At this time, the correction unit 25 estimates the state of the WE when the memory is in the stopped state as in the following items (c1) to (c4). Details of the state estimation conditions of the following items (c1) to (c4) and specific examples of correction of the WE state probability based on the state estimation conditions will be described later with reference to FIGS.

(c1)WEが読出動作を指示する状態(WE=1)である確率(以下、読出状態確率という)が、CEが停止を指示する状態(CE=1)である確率(以下、停止状態確率という)以上であり、且つ、読出状態確率が、CEが動作を指示する状態(CE=0)である確率(=1−前記停止状態確率;以下、動作状態確率という)以上である場合、前記メモリが停止状態である際のWEの状態は、読出状態に固定されていると推定する。   (c1) The probability (hereinafter referred to as the read state probability) that the WE indicates a state (WE = 1) instructing the read operation (hereinafter referred to as the read state probability) (hereinafter referred to as the stop state probability). And the read state probability is greater than or equal to the probability that CE is in a state of instructing an operation (CE = 0) (= 1−the stop state probability; hereinafter referred to as the operation state probability). It is presumed that the state of the WE when the memory is stopped is fixed to the read state.

(c2)読出状態確率が停止状態確率よりも大きく、且つ、読出状態確率が動作状態確率未満である場合、前記メモリが停止状態である際のWEの状態は、読出状態に固定されていると推定する。
(c3)読出状態確率が停止状態確率以下であり、且つ、読出状態確率が動作状態確率以下である場合、前記メモリが停止状態である際のWEの状態は、書込状態に固定されていると推定する。
(c4)読出状態確率が停止状態確率未満であり、且つ、読出状態確率が動作状態確率よりも大きい場合、前記メモリが停止状態である際のWEの状態は、WEの“1”状態確率に対応する比率で、読出状態および書込状態になると推定する。
(c2) When the read state probability is greater than the stop state probability and the read state probability is less than the operation state probability, the state of the WE when the memory is in the stop state is fixed to the read state presume.
(c3) When the read state probability is less than or equal to the stop state probability and the read state probability is less than or equal to the operation state probability, the state of the WE when the memory is in the stop state is fixed to the write state Estimated.
(c4) When the read state probability is less than the stop state probability and the read state probability is larger than the operation state probability, the state of the WE when the memory is in the stop state is the WE “1” state probability. It is estimated that the read state and the write state are obtained at the corresponding ratio.

第3算出部26は、補正部25によって補正された比率と、第2算出部24によって算出されたアクセス回数の推定値とに基づき、前記メモリに対する書込アクセス回数および読出アクセス回数を算出する。第3算出部26によって算出される書込アクセス回数および読出アクセス回数の具体例については、図9〜図11を参照しながら後述する。   The third calculator 26 calculates the number of write accesses and the number of read accesses to the memory based on the ratio corrected by the corrector 25 and the estimated number of accesses calculated by the second calculator 24. Specific examples of the number of write accesses and the number of read accesses calculated by the third calculator 26 will be described later with reference to FIGS.

〔2〕回路設計支援装置の動作
次に、図2〜図14を参照しながら、上述のごとく構成された回路設計支援装置1の動作について説明する。
図2は、図1に示す回路設計支援装置1の動作を説明するフローチャートである。図2に示すように、回路設計支援装置1は、大きく分けてクロックゲーティング解析処理(ステップS1)とREAD/WRITE解析処理(ステップS2)との2つのフェイズで動作する。
[2] Operation of Circuit Design Support Device Next, the operation of the circuit design support device 1 configured as described above will be described with reference to FIGS.
FIG. 2 is a flowchart for explaining the operation of the circuit design support apparatus 1 shown in FIG. As shown in FIG. 2, the circuit design support apparatus 1 operates in two phases, namely, a clock gating analysis process (step S1) and a READ / WRITE analysis process (step S2).

クロックゲーティング解析処理(ステップS1)では、回路データおよび動作確率情報に基づき、対象メモリに入力されるCLKに対するクロックゲーティング(CG)の有無と、CGとCEとが同期しているか否かとがチェックされ、チェック結果に基づき、対象メモリに対するアクセス回数が推定される。このクロックゲーティング解析処理は、上述した第1抽出部21,第1算出部22,第2抽出部23および第2算出部24によって実行され、図3〜図5を参照しながら後述される。   In the clock gating analysis process (step S1), based on the circuit data and the operation probability information, the presence / absence of clock gating (CG) for CLK input to the target memory and whether CG and CE are synchronized. The number of accesses to the target memory is estimated based on the check result. This clock gating analysis process is executed by the first extraction unit 21, the first calculation unit 22, the second extraction unit 23, and the second calculation unit 24 described above, and will be described later with reference to FIGS.

READ/WRITE解析処理(ステップS2)では、CEの状態確率とWEの状態確率とに基づき、対象メモリが停止状態である際のWEの状態が推定され、推定結果に基づき対象メモリに対する読出状態と書込状態との比率(READ/WRITE比率)が補正される。そして、補正された比率と、クロックゲーティング解析処理(ステップS1)で推定された対象メモリに対するアクセス回数とに基づき、対象メモリに対する書込アクセス回数および読出アクセス回数が算出され、対象メモリの電力動作情報として出力される。このREAD/WRITE解析処理は、補正部25および第3算出部26によって実行され、図6〜図8を参照しながら後述される。   In the READ / WRITE analysis process (step S2), the WE state when the target memory is in a stopped state is estimated based on the CE state probability and the WE state probability. The ratio to the writing state (READ / WRITE ratio) is corrected. Based on the corrected ratio and the number of accesses to the target memory estimated in the clock gating analysis process (step S1), the number of write accesses and the number of read accesses to the target memory are calculated, and the power operation of the target memory Output as information. This READ / WRITE analysis process is executed by the correction unit 25 and the third calculation unit 26, and will be described later with reference to FIGS.

〔2−1〕クロックゲーティング解析処理
図3に示すフローチャート(ステップS11〜S27)に従って、図4および図5を参照しながら回路設計支援装置1によるクロックゲーティング解析処理(図2のステップS1)について説明する。なお、図4は、バックトレースにより抽出される大元クロック(クロック源)を説明する図であり、図5は、バックトレースにより抽出される制御セル(第1制御セルおよび第2制御セル)を説明する図である。
[2-1] Clock Gating Analysis Process According to the flowchart shown in FIG. 3 (steps S11 to S27), the clock gating analysis process (step S1 in FIG. 2) by the circuit design support device 1 with reference to FIGS. Will be described. FIG. 4 is a diagram for explaining a large source clock (clock source) extracted by backtrace, and FIG. 5 shows control cells (first control cell and second control cell) extracted by backtrace. It is a figure explaining.

まず、提供された動作確率情報が参照され、CEの状態値が常に“1”(CE=1)であるか否か、つまりCEの“1”状態確率が100%であるか否かが判定される(ステップS11)。常にCE=1である場合(ステップS11のYESルート)、メモリは常に停止している。したがって、対象メモリに対するアクセスは行なわれず、第2算出部24は、アクセス回数の推定値として0回を出力する(ステップS12)。   First, the provided motion probability information is referenced to determine whether the CE state value is always “1” (CE = 1), that is, whether the “1” state probability of CE is 100%. (Step S11). If CE is always 1 (YES route in step S11), the memory is always stopped. Therefore, access to the target memory is not performed, and the second calculation unit 24 outputs 0 as the estimated number of accesses (step S12).

常にCE=1ではない場合(ステップS11のNOルート)、CEの状態値が常に“0”(CE=0)であるか否か、つまりCEの“1”状態確率が0%であるか否かが判定される(ステップS13)。常にCE=0である場合(ステップS13のYESルート)、メモリは常に動作している。したがって、全てのCLKの立ち上がりタイミングで対象メモリに対するアクセスが行なわれるので、第2算出部24は、[動作確率情報に含まれるCLKの動作回数]/2回を算出する(ステップS14)。   If CE is not always 1 (NO route in step S11), whether or not the CE state value is always “0” (CE = 0), that is, whether or not the CE “1” state probability is 0%. Is determined (step S13). When CE = 0 is always set (YES route in step S13), the memory is always operating. Therefore, since the target memory is accessed at the rising timing of all CLK, the second calculation unit 24 calculates [number of times of operation of CLK included in the operation probability information] / 2 times (step S14).

常にCE=0ではない場合(ステップS13のNOルート)、つまり0<[CEの“1”状態確率]<1である場合、第1抽出部21は、回路データに基づき対象メモリのCLK入力端子からバックトレースを行なう(ステップS15)。これにより、CGC(例えばANDゲート;図5参照)と、当該CGCを制御する第1制御セル(制御論理セル;例えばFF;図5参照)と、CLKの大元クロックの動作情報(図4参照)とが抽出される(図4,図5参照;ステップS16〜S18)。なお、図4に示す例では、対象メモリへ入力されるCLK(メモリCLK入力)の動作回数(動作周波数)が56MHzであり、CLKの大元クロックの動作回数(動作周波数)が80MHzである。   When CE is not always 0 (NO route of step S13), that is, when 0 <[CE “1” state probability] <1, the first extraction unit 21 receives the CLK input terminal of the target memory based on the circuit data. A back trace is performed (step S15). As a result, CGC (for example, an AND gate; see FIG. 5), a first control cell (control logic cell; for example, FF; see FIG. 5) for controlling the CGC, and operation information on the original clock of CLK (see FIG. 4) Are extracted (see FIGS. 4 and 5; steps S16 to S18). In the example shown in FIG. 4, the number of operations (operation frequency) of CLK (memory CLK input) input to the target memory is 56 MHz, and the number of operations (operation frequency) of the main clock of CLK is 80 MHz.

CGCが抽出された場合、第1算出部22によりCG動作率が算出される(ステップS19)。上述した通り、CG動作率は、大元クロックの動作情報に含まれる、[当該大元クロックから出力される単位時間当たりの総動作回数(動作周波数)]に対する、[メモリへ入力されるCLKの単位時間当たりの動作回数]の割合として算出される。   When the CGC is extracted, the CG operation rate is calculated by the first calculation unit 22 (step S19). As described above, the CG operation rate is calculated based on [the total number of operations (operation frequency) per unit time output from the main clock] of CLK input to the memory included in the operation information of the main clock. It is calculated as a ratio of the number of operations per unit time.

ステップS15〜S19の処理を行なった後、CGCが抽出されたか否か、つまりCGが有るか否かが判定される(ステップS20)。
CGが無い場合(ステップS20のNOルート)、第2算出部24により、アクセス回数の推定値として、([動作確率情報に含まれる、対象メモリへのCLKの単位時間当たりの動作回数]/2)×[対象メモリの動作状態確率(CE=0である確率)]回が算出される(ステップS21)。なお、[動作確率情報に含まれる、対象メモリへのCLKの単位時間当たりの動作回数]/2は、対象メモリへのCLKの単位時間当たりの立ち上がり回数(立ち上がり動作回数という場合もある)である。
After performing the processing of steps S15 to S19, it is determined whether or not CGC is extracted, that is, whether or not CG is present (step S20).
When there is no CG (NO route in step S20), the second calculation unit 24 uses the [number of operations per unit time of CLK to the target memory included in the operation probability information] / 2 as an estimated value of the number of accesses. ) × [operating state probability of target memory (probability of CE = 0)] times is calculated (step S21). Note that [number of operations per unit time of CLK to the target memory included in the operation probability information] / 2 is the number of rising times per unit time of CLK to the target memory (sometimes referred to as the number of times of rising operation). .

CGが有る場合(ステップS20のYESルート)、第2抽出部23は、回路データに基づき対象メモリのCE入力端子からバックトレースを行なう(ステップS22)。これにより、CEを出力する第2制御セル(制御論理セル;例えばFF;図5参照)が抽出される。なお、図5に示す例では、第1抽出部21によって抽出された第1制御セル(CGCを制御するFF)と第2抽出部23によって抽出された第2制御セル(CEを出力するFF)とが同じで、CGとCEとが同期する場合が示されている。   If there is a CG (YES route in step S20), the second extraction unit 23 performs a back trace from the CE input terminal of the target memory based on the circuit data (step S22). Thus, the second control cell (control logic cell; for example, FF; see FIG. 5) that outputs CE is extracted. In the example shown in FIG. 5, the first control cell (FF that controls CGC) extracted by the first extraction unit 21 and the second control cell (FF that outputs CE) extracted by the second extraction unit 23. And CG and CE are synchronized.

この後、第1制御セル(CGCを制御するFF)と第2制御セル(CEを出力するFF)とが同じであるか否か、つまりCGとCEとが同期しているか否かが判定される(ステップS23)。
第1制御セルと第2制御セルとが同じ場合(ステップS23のYESルート)、第2算出部24により、アクセス回数の推定値として、[動作確率情報に含まれる、対象メモリへのCLKの単位時間当たりの動作回数]/2回が算出される(ステップS24)。
Thereafter, it is determined whether or not the first control cell (FF that controls CGC) and the second control cell (FF that outputs CE) are the same, that is, whether or not CG and CE are synchronized. (Step S23).
When the first control cell and the second control cell are the same (YES route in step S23), the second calculation unit 24 calculates [the unit of CLK to the target memory included in the operation probability information] as the estimated number of accesses. The number of operations per time] / 2 times is calculated (step S24).

一方、第1制御セルと第2制御セルとが異なる場合(ステップS23のNOルート)、第2算出部24により、アクセス回数の推定値が、以下のように算出される。
まず、CGによるCLK動作期間とCEがイネーブルな期間との重なりが推定される(ステップS26)。このとき、CEがイネーブルな期間に対応する対象メモリの動作状態確率(CE=0である確率)と、ステップS19で算出されたCG動作率とのうちの小さい方が対象メモリの動作率(動作状態期間)として選択される(ステップS26)。
On the other hand, when the first control cell and the second control cell are different (NO route in step S23), the second calculation unit 24 calculates the estimated number of accesses as follows.
First, an overlap between the CG CLK operation period and the CE enabled period is estimated (step S26). At this time, the smaller of the operation state probability of the target memory corresponding to the CE enabled period (probability of CE = 0) and the CG operation rate calculated in step S19 is the operation rate (operation of the target memory). (State period) is selected (step S26).

本実施形態では、CEによる制御とCGによる制御との包含関係(重なり具合)は、期間の長い方が期間の短い方を含む傾向にあると仮定している。したがって、本実施形態では、CLK動作期間とCEがイネーブルな期間とが異なる場合、期間の短い方が、実際のCLKの動作期間として推定される。
そして、第2算出部24により、アクセス回数の推定値として、([大元クロックの動作情報に含まれる総動作回数]/2)×[選択された動作率]回が算出される(ステップS27)。なお、[大元クロックの動作情報に含まれる総動作回数]/2は、大元クロックの単位時間当たりの立ち上がり動作回数である。
In the present embodiment, it is assumed that the inclusion relationship (overlapping condition) between the control by CE and the control by CG tends to include the shorter period with the shorter period. Therefore, in this embodiment, when the CLK operation period is different from the CE enabled period, the shorter one is estimated as the actual CLK operation period.
Then, the second calculation unit 24 calculates ([total number of operations included in the operation information of the main clock] / 2) × [selected operation rate] times as the estimated value of the number of accesses (step S27). ). Note that [the total number of operations included in the operation information of the main clock] / 2 is the number of rising operations per unit time of the main clock.

〔2−2〕READ/WRITE解析処理
次に、図6,図7(A),図7(B)および図8(A)〜図8(C)を参照しながら、READ/WRITE解析処理(図1のステップS2)について説明する。
まず、補正部25により、CEの状態確率とWEの状態確率とに基づき、対象メモリが停止状態(CE=1)である際のWEの状態が推定される。
ここで、前述したように、WEは、対象メモリの読出動作と書込動作との切換を行なう制御入力である。例えば図14に示す動作確率情報におけるWEの“1”状態確率や動作回数は、対象メモリの動作を測定した期間全体に基づく値であり、対象メモリが使用されている期間(CE=0)と対象メモリが使用されていない期間(CE=1)とを区別して算出されていない。
[2-2] READ / WRITE Analysis Processing Next, referring to FIGS. 6, 7A, 7B, and 8A to 8C, the READ / WRITE analysis processing ( Step S2) in FIG. 1 will be described.
First, based on the CE state probability and the WE state probability, the correction unit 25 estimates the state of the WE when the target memory is in the stopped state (CE = 1).
Here, as described above, WE is a control input for switching between a read operation and a write operation of the target memory. For example, the “1” state probability and the number of operations of the WE in the operation probability information shown in FIG. 14 are values based on the entire period in which the operation of the target memory is measured, and the period in which the target memory is used (CE = 0). It is not calculated separately from the period when the target memory is not used (CE = 1).

また、前述した通り、メモリの読出動作と書込動作との比率(READ/WRITE比率)としては、メモリが動作している時つまりCE=0の時だけの比率を用いることが望ましい。しかし、従来、図13の入力波形に示すように、メモリが停止している時つまりCE=1の時、WEは“1”に固定的に設定され、メモリは読出動作を行なっているとみなされる。このため、書込動作よりも読出動作の割合が多くなり、書込アクセス回数や読出アクセス回数の見積もり結果(推定値)の誤差が大きくなっていた。   As described above, it is desirable to use a ratio only when the memory is operating, that is, when CE = 0, as the ratio between the read operation and the write operation of the memory (READ / WRITE ratio). However, conventionally, as shown in the input waveform of FIG. 13, when the memory is stopped, that is, when CE = 1, WE is fixedly set to “1” and the memory is regarded as performing a read operation. It is. For this reason, the ratio of the read operation is larger than that of the write operation, and the error of the estimation result (estimated value) of the number of write accesses and the number of read accesses is large.

そこで、本実施形態では、まず、補正部25により、対象メモリが使用されていない時(CE=1の時)のWEの状態値が、図6に示すように推定される。図6に示す例では、WEが“1”である確率(WEの“1”状態確率)と停止状態確率(CEの“1”状態確率)との2つの値により規定される平面が、4つの領域(1)〜(4)に分類され、領域(1)〜(4)のそれぞれについて補正処理が規定されている。つまり、補正部25は、動作確率情報によって与えられるWEの“1”状態確率とCEの“1”状態確率とが図6において属する領域を判定することで、対象メモリが使用されていない時(CE=1の時)のWEの状態値を推定し、推定した状態値に応じた補正処理を行なう。   Therefore, in this embodiment, first, the correction unit 25 estimates the state value of the WE when the target memory is not used (when CE = 1) as shown in FIG. In the example shown in FIG. 6, the plane defined by two values of the probability of WE being “1” (WE “1” state probability) and the stop state probability (CE “1” state probability) is 4 The areas are classified into two areas (1) to (4), and correction processing is defined for each of the areas (1) to (4). In other words, the correction unit 25 determines a region to which the “1” state probability of WE and the “1” state probability of CE given by the motion probability information belong in FIG. 6, so that the target memory is not used ( The state value of WE at the time of CE = 1) is estimated, and correction processing according to the estimated state value is performed.

ここで、図6に示す領域(1)〜(4)について説明する。図6に示す領域(1)〜(4)は、それぞれ、上述した項目(c1)〜(c4)に対応している。
領域(1)は、上記項目(c1)に対応し、[読出状態確率(WEの“1”状態確率)]≧[停止状態確率(CEの“1”状態確率)]且つ[読出し状態確率]≧[動作状態確率(=1−停止状態確率)]の領域である。動作確率情報によって与えられるWEの“1”状態確率とCEの“1”状態確率とが領域(1)に属する場合、対象メモリが停止状態である際のWEの状態は読出状態(WE=1)に固定されていると推定され、READ/WRITE比率が補正される。
Here, the regions (1) to (4) shown in FIG. 6 will be described. Regions (1) to (4) shown in FIG. 6 correspond to the items (c1) to (c4) described above, respectively.
The region (1) corresponds to the item (c1), and [read state probability (WE “1” state probability)] ≧ [stop state probability (CE “1” state probability)] and [read state probability] ≧ [operating state probability (= 1−stop state probability)] region. When the “1” state probability of the WE and the “1” state probability of the CE given by the operation probability information belong to the region (1), the state of the WE when the target memory is in the stopped state is the read state (WE = 1). ) And the READ / WRITE ratio is corrected.

領域(2)は、上記項目(c2)に対応し、[読出状態確率]>[停止状態確率]且つ[読出状態確率]<[動作状態確率]の領域である。動作確率情報によって与えられるWEの“1”状態確率とCEの“1”状態確率とが領域(2)に属する場合、対象メモリが停止状態である際のWEの状態は読出状態(WE=1)に固定されていると推定され、READ/WRITE比率が補正される。なお、領域(2)は、メモリ未使用時(CE=1の時)にWEが“1”に固定されているときでも、メモリ未使用時(CE=1の時)にWEが“0”に固定されているときでも、採りえる値の領域である。WE=1とWE=0とのどちらの値も採りえる場合、メモリに対する書込動作はメモリ内部のデータを壊す(書き換える)が、メモリに対する読出動作はメモリ内部のデータを保持し壊すことがないことから、読出動作(WE=1)を選択する設計が多く見受けられる。このため、領域(2)では、対象メモリが停止状態である際のWEの状態は読出状態(WE=1)に固定されていると推定している。   The region (2) corresponds to the item (c2) and is a region of [reading state probability]> [stop state probability] and [reading state probability] <[operation state probability]. When the “1” state probability of the WE and the “1” state probability of the CE given by the operation probability information belong to the region (2), the state of the WE when the target memory is in the stopped state is the read state (WE = 1). ) And the READ / WRITE ratio is corrected. In the area (2), even when the WE is fixed to “1” when the memory is not used (when CE = 1), the WE is “0” when the memory is not used (when CE = 1). This is an area of values that can be taken even when fixed to. When both WE = 1 and WE = 0 can be taken, the write operation to the memory destroys (rewrites) the data inside the memory, but the read operation to the memory retains the data inside the memory and does not destroy it. Therefore, many designs for selecting the read operation (WE = 1) can be seen. For this reason, in the area (2), it is estimated that the state of the WE when the target memory is in the stopped state is fixed to the read state (WE = 1).

領域(3)は、上記項目(c3)に対応し、[読出状態確率]≦[停止状態確率]且つ[読出状態確率]≦[動作状態確率]の領域である。動作確率情報によって与えられるWEの“1”状態確率とCEの“1”状態確率とが領域(3)に属する場合、対象メモリが停止状態である際のWEの状態は書込状態(WE=0)に固定されていると推定され、READ/WRITE比率が補正される。   The region (3) corresponds to the item (c3) and is a region of [reading state probability] ≦ [stop state probability] and [reading state probability] ≦ [operation state probability]. When the “1” state probability of the WE and the “1” state probability of the CE given by the operation probability information belong to the region (3), the state of the WE when the target memory is in the stopped state is the write state (WE = 0) and the READ / WRITE ratio is corrected.

領域(4)は、上記項目(c4)に対応し、[読出状態確率]<[停止状態確率]且つ[読出状態確率]>[動作状態確率]の領域である。動作確率情報によって与えられるWEの“1”状態確率とCEの“1”状態確率とが領域(4)に属する場合、対象メモリが停止状態である際のWEの状態は、WEの“1”状態確率に対応するREAD/WRITE比率で、読出状態および書込状態になると推定される。   The region (4) corresponds to the item (c4) and is a region of [reading state probability] <[stop state probability] and [reading state probability]> [operation state probability]. When the “1” state probability of the WE and the “1” state probability of the CE given by the operation probability information belong to the region (4), the state of the WE when the target memory is stopped is “1” of the WE. It is estimated that a read state and a write state are entered at a READ / WRITE ratio corresponding to the state probability.

なお、図7(A)に示すように、メモリ未使用時(CE=1の時)にWEが“1”に固定されている場合、WEの“1”状態確率とCEの“1”状態確率とは、必ず領域Aに属する値になる。また、図7(B)に示すように、メモリ未使用時(CE=1の時)にWEが“0”に固定されている場合、WEの“1”状態確率とCEの“1”状態確率とは、必ず領域Bに属する値になる。以上のことから、上記項目(c1)〜(c4)(上記領域(1)〜(4))に従った判定が行なわれている。   As shown in FIG. 7A, when the WE is fixed to “1” when the memory is not used (when CE = 1), the “1” state probability of the WE and the “1” state of the CE The probability is always a value belonging to the region A. Further, as shown in FIG. 7B, when the WE is fixed to “0” when the memory is not used (when CE = 1), the “1” state probability of the WE and the “1” state of the CE The probability is always a value belonging to the region B. From the above, the determination according to the items (c1) to (c4) (the above regions (1) to (4)) is performed.

この後、補正部25により、図8(A)〜図8(C)に示すように、推定結果に基づいて、対象メモリの動作時(CE=0)における対象メモリに対する読出状態と書込状態との比率(READ/WRITE比率)が算出・補正される。
なお、図8(A)〜図8(C)において、r%は、動作確率情報によって与えられるWEの“1”状態確率(読出状態確率)であり、w(=100−r)%は、書込状態確率である。また、t%は、動作確率情報によって与えられるCEの“1”状態確率(停止状態確率)であり、d(=100−t)%は、動作状態確率である。さらに、図8(C)において、r1%は、対象メモリの停止中の読出状態確率であり、w1%は、対象メモリの停止中の書込状態確率であり、r2%は、対象メモリの動作中の読出状態確率であり、w1%は、対象メモリの動作中の書込状態確率である。r1:w1=r2:w2=r:wであり、r=r1+r2,w=w1+w2である。
Thereafter, as shown in FIGS. 8A to 8C, the correction unit 25 reads and writes the target memory with respect to the target memory based on the estimation result when the target memory is operating (CE = 0). The ratio (READ / WRITE ratio) is calculated and corrected.
8A to 8C, r% is a “1” state probability (read state probability) of WE given by the operation probability information, and w (= 100−r)% is This is the writing state probability. Further, t% is the “1” state probability (stop state probability) of CE given by the operation probability information, and d (= 100−t)% is the operation state probability. Further, in FIG. 8C, r1% is the read state probability when the target memory is stopped, w1% is the write state probability when the target memory is stopped, and r2% is the operation of the target memory. Is a read state probability, and w1% is a write state probability during operation of the target memory. r1: w1 = r2: w2 = r: w, r = r1 + r2, w = w1 + w2.

図8(A)は、上記項目(c1)または(c2)(領域(1),(2))に従って、対象メモリの停止中、WEの状態は読出状態(WE=1)に固定されていると推定した場合のREAD/WRITE比率の補正例を示す。図8(A)において、対象メモリの停止中、WEの状態は読出状態(WE=1)に固定されるため、対象メモリの動作中の読出状態確率はr−t%に補正され、対象メモリの動作中の書込状態確率はw%となる。   In FIG. 8A, according to the item (c1) or (c2) (areas (1), (2)), the state of WE is fixed to the read state (WE = 1) while the target memory is stopped. An example of correction of the READ / WRITE ratio is shown. In FIG. 8A, since the state of WE is fixed to the read state (WE = 1) while the target memory is stopped, the read state probability during the operation of the target memory is corrected to rt%, The writing state probability during the operation is w%.

図8(B)は、上記項目(c3)(領域(3))に従って、対象メモリの停止中、WEの状態は書込状態(WE=0)に固定されていると推定した場合のREAD/WRITE比率の補正例を示す。図8(B)において、対象メモリの停止中、WEの状態は書込状態(WE=0)に固定されるため、対象メモリの動作中の書込状態確率はw−t%に補正され、対象メモリの動作中の読出状態確率はr%となる。   FIG. 8B shows the read / write when it is estimated that the state of WE is fixed to the write state (WE = 0) while the target memory is stopped according to the item (c3) (region (3)). An example of correcting the WRITE ratio is shown. In FIG. 8B, while the target memory is stopped, the state of WE is fixed to the write state (WE = 0), so the write state probability during the operation of the target memory is corrected to w−t%, The read state probability during the operation of the target memory is r%.

図8(C)は、上記項目(c4)(領域(4))に従って、対象メモリの停止中も動作中も読出状態と書込状態との比率が同じであると推定した場合のREAD/WRITE比率の補正例を示す。このとき、対象メモリの動作中の読出状態確率はd×r%に補正され、対象メモリの動作中の書込状態確率はd×w%に補正される。   FIG. 8C shows READ / WRITE when it is estimated that the ratio between the read state and the write state is the same regardless of whether the target memory is stopped or operating according to the item (c4) (region (4)). An example of correcting the ratio will be shown. At this time, the read state probability during operation of the target memory is corrected to d × r%, and the write state probability during operation of the target memory is corrected to d × w%.

そして、第3算出部26により、上述のごとく補正された比率(つまり書込状態確率および読出状態確率)と、クロックゲーティング解析処理(ステップS1)で得られた対象メモリに対するアクセス回数の推定値とに基づき、対象メモリに対する書込アクセス回数および読出アクセス回数が、以下の通り算出される。   Then, the ratio corrected as described above (that is, the write state probability and the read state probability) by the third calculator 26 and the estimated number of accesses to the target memory obtained in the clock gating analysis process (step S1). Based on the above, the number of write accesses and the number of read accesses to the target memory are calculated as follows.

[書込アクセス回数]
=[アクセス回数の推定値]×[書込状態確率]/([書込状態確率]+[読出状態確率])
[読出アクセス回数]
=[アクセス回数の推定値]×[読出状態確率]/([書込状態確率]+[読出状態確率])
[Number of write accesses]
= [Estimated number of accesses] × [write state probability] / ([write state probability] + [read state probability])
[Read access count]
= [Estimated number of accesses] x [read state probability] / ([write state probability] + [read state probability])

〔2−3〕具体例
次に、図9〜図14を参照しながら、本実施形態によって算出・推定される書込アクセス回数および読出アクセス回数の具体例について説明する。ここでも、図13に示す入力波形について取得された、図14に示す動作確率情報に基づき、本実施形態の回路設計支援装置1によって、書込アクセス回数および読出アクセス回数を見積もる手順について、具体的に説明する。
[2-3] Specific Example Next, specific examples of the number of write accesses and the number of read accesses calculated and estimated by the present embodiment will be described with reference to FIGS. Again, the procedure for estimating the number of write accesses and the number of read accesses by the circuit design support apparatus 1 of the present embodiment based on the operation probability information shown in FIG. 14 acquired for the input waveform shown in FIG. Explained.

まず、CEの“1”状態確率がチェックされる。図14に示す例では、CEの“1”状態確率は40.0%であるので(図3のステップS11のNOルート且つステップS13のNOルート)、対象メモリのCLK入力端子からバックトレースが行なわれる(ステップS15)。バックトレースに伴い、CGC(例えばANDゲート)が抽出される(ステップS16)。   First, the “1” state probability of the CE is checked. In the example shown in FIG. 14, since the CE “1” state probability is 40.0% (NO route in step S11 and NO route in step S13 in FIG. 3), back tracing is performed from the CLK input terminal of the target memory. (Step S15). Along with the backtrace, CGC (for example, an AND gate) is extracted (step S16).

CGCの制御入力端子とCLK入力端子とは、入力端子の属性として区別されていることが多いが、ANDゲートのような、ピンにタイプが定義されていないゲートをCGCとして用いた場合、動作回数が多い方がCLK入力端子であり、少ない方が制御入力端子であると認識される。CGCの制御入力端子を遡ることにより、CGCの制御信号の元となるレジスタ(第1制御セル,制御論理セル)が抽出される(ステップS17)。   The control input terminal and the CLK input terminal of the CGC are often distinguished from each other as attributes of the input terminal. However, when a gate whose type is not defined in the pin, such as an AND gate, is used as the CGC, the number of operations It is recognized that the larger one is the CLK input terminal and the smaller one is the control input terminal. By going back to the CGC control input terminal, a register (first control cell, control logic cell) that is the source of the CGC control signal is extracted (step S17).

一方、CGCのCLK入力端子から、論理を遡り、CLKの元となるクロック源(大元クロック)およびその動作情報が抽出される(ステップS18)。そして、第1算出部22により、CG動作率が、[大元クロックから出力される単位時間当たりの総動作回数]に対する、[メモリへ入力されるCLKの単位時間当たりの動作回数]の割合として算出される(ステップS19)。   On the other hand, from the CLK input terminal of the CGC, the logic is traced back to extract the clock source (large source clock) that is the source of CLK and its operation information (step S18). Then, the first calculation unit 22 sets the CG operation rate as the ratio of [number of operations per unit time of CLK input to the memory] to [total number of operations per unit time output from the main clock]. Calculated (step S19).

ここで、図9に、メモリ入力クロックおよび大元クロック(クロック源)の“1”状態確率および動作回数の具体例が示され、図10に、図9に示す具体例に対応する、大元クロックおよびメモリ入力クロックの動作波形が示される。図9,図10や図13に示す例では、メモリ入力クロック(CLK)の“1”状態確率および動作回数はそれぞれ35%および28回であり、大元クロックの“1”状態確率および動作回数はそれぞれ50%および40回である。そして、CG動作率として28/70=70%が算出される。   Here, FIG. 9 shows a concrete example of the “1” state probability and the number of operations of the memory input clock and the master clock (clock source), and FIG. 10 shows the master corresponding to the concrete example shown in FIG. The operating waveforms of the clock and memory input clock are shown. In the examples shown in FIGS. 9, 10, and 13, the “1” state probability and the number of operations of the memory input clock (CLK) are 35% and 28, respectively. Are 50% and 40 times, respectively. Then, 28/70 = 70% is calculated as the CG operation rate.

この後、メモリCE入力のファンインとクロックゲーティングの制御入力のファンインとが同じセル(レジスタ,FF)から生成されている場合、つまり第1抽出部21によって抽出された第1制御セルと第2抽出部23によって抽出された第2制御セルとが同じ場合(ステップS23のYESルート)、クロックゲーティングとメモリCE制御とが同期していると判断する。そうでない場合(ステップS23のNOルート)は、CGによるCLK動作期間とCEがイネーブルな期間との重なりが推定される(ステップS25)。   Thereafter, when the fan-in of the memory CE input and the fan-in of the clock gating control input are generated from the same cell (register, FF), that is, the first control cell extracted by the first extraction unit 21 When the second control cell extracted by the second extraction unit 23 is the same (YES route in step S23), it is determined that the clock gating and the memory CE control are synchronized. Otherwise (NO route of step S23), an overlap between the CG CLK operation period and the CE enabled period is estimated (step S25).

本具体例では、メモリCE入力の制御論理(第2制御セル)とCGの制御論理(第1制御セル)とが、異なり、回路を遡っても、共通の信号に由来していない場合について説明する。このとき、CEがイネーブルな期間に対応する対象メモリの動作状態確率(CE=0である確率)と、第1算出部22により算出されたCG動作率とのうちの小さい方が対象記メモリの動作率(動作状態期間)として選択される(ステップS26)。   In this specific example, the control logic (second control cell) of the memory CE input and the control logic of the CG (first control cell) are different and are not derived from a common signal even when going back to the circuit. To do. At this time, the smaller of the operation state probability of the target memory corresponding to the CE enabled period (the probability that CE = 0) and the CG operation rate calculated by the first calculation unit 22 is the smaller of the target memory. It is selected as the operation rate (operation state period) (step S26).

ここで、図14に示す動作確率情報では、対象メモリの動作状態確率(CE=0である確率)は、100−40=60%であり、第1算出部22により算出されたCG動作率は70%であるため、対象メモリ動作率として60%が選択される。
そして、第2算出部24により、[アクセス回数の推定値]として、([大元クロックの動作情報に含まれる総動作回数]/2)×[選択された動作率]回=(40回/2)×60%=12回が算出される(ステップS27)。
Here, in the operation probability information shown in FIG. 14, the operation state probability of the target memory (the probability that CE = 0) is 100−40 = 60%, and the CG operation rate calculated by the first calculation unit 22 is Since it is 70%, 60% is selected as the target memory operation rate.
Then, the second calculation unit 24 uses ([total number of operations included in the operation information of the original clock] / 2) × [selected operation rate] times = (40 times / 2) × 60% = 12 times is calculated (step S27).

次に、補正部25により、対象メモリの読出状態と書込状態との比率の補正が、以下のように行なわれる。図14に示す動作確率情報では、停止状態確率(CEの“1”状態確率)が40%、WEの“1”状態確率が70%で、これらの値は図6に示す領域(1)に属するため、対象メモリが停止状態である際のWEの状態は読出状態(WE=1)に固定されていると推定される。したがって、図8(A)に示す補正例と同様、対象メモリ動作中の書込状態確率は30%に補正され、対象メモリ動作中の読出状態確率は30%となり、対象メモリの停止状態確率は40%となる。   Next, the correction unit 25 corrects the ratio between the read state and the write state of the target memory as follows. In the motion probability information shown in FIG. 14, the stop state probability (CE “1” state probability) is 40%, and the WE “1” state probability is 70%. These values are in the region (1) shown in FIG. Therefore, it is estimated that the state of the WE when the target memory is in the stopped state is fixed to the read state (WE = 1). Therefore, as in the correction example shown in FIG. 8A, the write state probability during the target memory operation is corrected to 30%, the read state probability during the target memory operation is 30%, and the stop state probability of the target memory is 40%.

そして、第3算出部26により、上述のごとく補正された書込状態確率30%および読出状態確率30%と、アクセス回数の推定値12回とに基づき、対象メモリに対する書込アクセス回数および読出アクセス回数が、以下の通り、最終的に算出される。
[書込アクセス回数]
=[アクセス回数の推定値]×[書込状態確率]/([書込状態確率]+[読出状態確率])
=12×30/(30+30)
=6回
[読出アクセス回数]
=[アクセス回数の推定値]×[読出状態確率]/([書込状態確率]+[読出状態確率])
=12×30/(30+30)
=6回
Then, based on the write state probability 30% and the read state probability 30% corrected as described above and the estimated number of access times 12 by the third calculator 26, the number of write accesses and the read access to the target memory are performed. The number of times is finally calculated as follows.
[Number of write accesses]
= [Estimated number of accesses] × [write state probability] / ([write state probability] + [read state probability])
= 12 × 30 / (30 + 30)
= 6 times
[Read access count]
= [Estimated number of accesses] x [read state probability] / ([write state probability] + [read state probability])
= 12 × 30 / (30 + 30)
= 6 times

このように、書込アクセス回数6回および読出アクセス回数6回が、最終的に算出されて、図11に示すような電力動作情報として出力される。
既存の見積もり手法では、図14に示す動作確率情報を用いて書込アクセス回数および読出アクセス回数を見積もった場合、書込アクセス回数として2.52回が得られ、読出アクセス回数として5.88回が得られていた。
これに対し、本実施形態の回路設計支援装置1によれば、対象メモリに対する書込アクセス回数および読出アクセス回数として、既存の手法に比べ、より実際のアクセス回数に近い値(今回は実際のアクセス回数と同じ値)が見積もられる。
In this way, the number of write accesses and the number of read accesses of 6 are finally calculated and output as power operation information as shown in FIG.
In the existing estimation method, when the number of write accesses and the number of read accesses are estimated using the operation probability information shown in FIG. 14, 2.52 times are obtained as the number of write accesses and 5.88 times as the number of read accesses. Was obtained.
On the other hand, according to the circuit design support device 1 of the present embodiment, the number of write accesses and the number of read accesses to the target memory are closer to the actual number of accesses compared to the existing method (this time actual access The same value as the number of times) is estimated.

〔3〕回路設計支援装置の作用効果
本実施形態の回路設計支援装置1によれば、CGの有無が判断され、CGが有る場合、CGとCEとが同期しているか否かが判定される。そしてCGとCEとが同期していない場合、CGによるCLK動作期間とCEがイネーブルな期間との重なりが推定される。このとき、CEがイネーブルな期間に対応する対象メモリの動作状態確率(CE=0である確率)と、第1算出部22で算出されたCG動作率とのうちの小さい方が対象メモリの動作率(動作状態期間)として選択され、選択された動作率に基づきアクセス回数が算出される。このように、CGによるCLK動作期間とCEのイネーブルな期間との包含関係を推定することで、その推定結果に基づき対象メモリに対するアクセス回数を正確に見積もることができる。
[3] Effects of Circuit Design Support Device According to the circuit design support device 1 of the present embodiment, the presence / absence of CG is determined. If there is a CG, it is determined whether CG and CE are synchronized. . If CG and CE are not synchronized, the overlap between the CG CLK operation period and the CE enabled period is estimated. At this time, the smaller of the operation state probability of the target memory corresponding to the CE enabled period (probability of CE = 0) and the CG operation rate calculated by the first calculation unit 22 is the operation of the target memory. It is selected as a rate (operation state period), and the number of accesses is calculated based on the selected operation rate. Thus, by estimating the inclusion relationship between the CG CLK operation period and the CE enabled period, the number of accesses to the target memory can be accurately estimated based on the estimation result.

また、本実施形態の回路設計支援装置1によれば、補正部25により、対象メモリが使用されていない時(CE=1の時)のWEの状態値が推定され、推定結果に応じて、対象メモリに対する読出状態確率および書込状態確率が補正される。そして、第2算出部24により算出されたアクセス回数の推定値と、補正部25により補正された読出状態確率および書込状態確率とに基づいて、第3算出部26により、対象メモリに対する書込アクセス回数および読出アクセス回数が、既存の手法に比べ、より正確に算出推定される。   Further, according to the circuit design support device 1 of the present embodiment, the correction unit 25 estimates the WE state value when the target memory is not used (when CE = 1), and according to the estimation result, The read state probability and the write state probability for the target memory are corrected. Then, based on the estimated number of accesses calculated by the second calculator 24 and the read state probability and write state probability corrected by the corrector 25, the third calculator 26 writes to the target memory. The number of accesses and the number of read accesses are calculated and estimated more accurately than in the existing method.

このように、本実施形態の回路設計支援装置1によれば、図14に示すような動作確率情報に基づき、既存の手法に比べ、書込アクセス回数や読出アクセス回数を正確に見積もることが可能になり、ひいては、メモリの消費電力を正確に見積もることができる。   Thus, according to the circuit design support apparatus 1 of the present embodiment, it is possible to accurately estimate the number of write accesses and the number of read accesses compared to the existing method based on the operation probability information as shown in FIG. Thus, the power consumption of the memory can be accurately estimated.

〔4〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、係る特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
上述した実施形態では、図13に示す入力波形について取得される、図14に示すような動作確率情報に基づき、アクセス回数を推定する場合について説明したが、本発明は、図14に示すような動作確率情報に限定されるものではない。
[4] Others While the preferred embodiment of the present invention has been described in detail above, the present invention is not limited to such a specific embodiment, and various modifications and changes can be made without departing from the spirit of the present invention. It can be changed and implemented.
In the embodiment described above, the case where the access count is estimated based on the operation probability information as shown in FIG. 14 acquired for the input waveform shown in FIG. 13 has been described, but the present invention is as shown in FIG. It is not limited to motion probability information.

上述した第1抽出部21,第1算出部22,第2抽出部23,第2算出部24,補正部25および第3算出部26としての機能の全部もしくは一部は、コンピュータ(CPU,情報処理装置,各種端末を含む)が所定のアプリケーションプログラム(回路設計支援プログラム)を実行することによって実現される。   All or part of the functions of the first extraction unit 21, the first calculation unit 22, the second extraction unit 23, the second calculation unit 24, the correction unit 25, and the third calculation unit 26 described above are performed by a computer (CPU, information This is realized by executing a predetermined application program (circuit design support program) by a processing device and various terminals).

そのプログラムは、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RWなど),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD−RW,DVD+R,DVD+RWなど),ブルーレイディスク等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。   The program is, for example, a flexible disk, CD (CD-ROM, CD-R, CD-RW, etc.), DVD (DVD-ROM, DVD-RAM, DVD-R, DVD-RW, DVD + R, DVD + RW, etc.), Blu-ray Disc And the like recorded in a computer-readable recording medium. In this case, the computer reads the program from the recording medium, transfers it to the internal storage device or the external storage device, and uses it.

ここで、コンピュータとは、ハードウエアとOS(オペレーティングシステム)とを含む概念であり、OSの制御の下で動作するハードウエアを意味している。また、OSが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウエアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取る手段とをそなえている。上記回路設計支援プログラムは、上述のようなコンピュータに、第1抽出部21,第1算出部22,第2抽出部23,第2算出部24,補正部25および第3算出部26としての機能を実現させるプログラムコードを含んでいる。また、その機能の一部は、アプリケーションプログラムではなくOSによって実現されてもよい。   Here, the computer is a concept including hardware and an OS (operating system), and means hardware operating under the control of the OS. Further, when the OS is unnecessary and the hardware is operated by the application program alone, the hardware itself corresponds to the computer. The hardware includes at least a microprocessor such as a CPU and means for reading a computer program recorded on a recording medium. The circuit design support program functions as a first extraction unit 21, a first calculation unit 22, a second extraction unit 23, a second calculation unit 24, a correction unit 25, and a third calculation unit 26 on the above-described computer. The program code that realizes is included. Also, some of the functions may be realized by the OS instead of the application program.

〔5〕付記
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
設計対象回路に係る回路データと、前記設計対象回路のメモリへのクロックの単位時間当たりの動作回数、および、前記メモリの動作/停止を指示する第1制御信号の状態確率を含む動作確率情報とに基づき、前記メモリに対するアクセス回数を推定するコンピュータに、
前記回路データに基づき、前記クロックのゲーティングを行なうゲーティングセルと、前記ゲーティングセルを制御する第1制御セルと、前記クロックのクロック源の動作情報とを抽出し、
前記ゲーティングセルが抽出された場合、前記クロック源の動作情報に含まれる、前記クロック源から出力される単位時間当たりの総動作回数に対する、前記クロックの単位時間当たりの動作回数の割合を示すクロックゲーティング動作率を算出し、
前記ゲーティングセルが抽出された場合、前記回路データに基づき、前記第1制御信号を出力する第2制御セルを抽出し、
前記第1制御セル,前記第2制御セル,前記動作確率情報,前記クロックゲーティング動作率および前記総動作回数に基づき、前記メモリに対するアクセス回数の推定値を算出する、
処理を実行させる、回路設計支援プログラム。
[5] Supplementary Notes Regarding the above embodiment, the following supplementary notes are further disclosed.
(Appendix 1)
Circuit data relating to the circuit to be designed, operation probability information including the number of operations per unit time of the clock to the memory of the circuit to be designed, and the state probability of the first control signal instructing operation / stop of the memory; To estimate the number of accesses to the memory based on
Based on the circuit data, a gating cell that performs gating of the clock, a first control cell that controls the gating cell, and operation information of the clock source of the clock are extracted.
A clock indicating the ratio of the number of operations per unit time of the clock to the total number of operations per unit time output from the clock source included in the operation information of the clock source when the gating cell is extracted Calculate the gating operating rate,
When the gating cell is extracted, a second control cell that outputs the first control signal is extracted based on the circuit data;
Calculating an estimated value of the number of accesses to the memory based on the first control cell, the second control cell, the operation probability information, the clock gating operation rate, and the total number of operations;
A circuit design support program that executes processing.

(付記2)プログラムクレーム
前記第1制御セルと前記第2制御セルとが異なる場合、前記動作確率情報に含まれる前記第1制御信号の状態確率に基づいて得られる前記メモリの動作状態確率と前記クロックゲーティング動作率とのうちの小さい方を前記メモリの動作率として選択し、選択された前記動作率と前記総動作回数とに基づき前記推定値を算出する、
処理を前記コンピュータに実行させる、付記1に記載の回路設計支援プログラム。
(Supplementary Note 2) Program Claim When the first control cell and the second control cell are different, the operation state probability of the memory obtained based on the state probability of the first control signal included in the operation probability information, and the The smaller of the clock gating operation rate is selected as the operation rate of the memory, and the estimated value is calculated based on the selected operation rate and the total number of operations.
The circuit design support program according to appendix 1, which causes the computer to execute processing.

(付記3)
前記第1制御セルと前記第2制御セルとが同じ場合、前記動作確率情報に含まれる、前記メモリへのクロックの単位時間当たりの動作回数に基づき、前記推定値を算出する、
処理を前記コンピュータに実行させる、付記1または付記2に記載の回路設計支援プログラム。
(Appendix 3)
When the first control cell and the second control cell are the same, the estimated value is calculated based on the number of operations per unit time of the clock to the memory included in the operation probability information.
The circuit design support program according to appendix 1 or appendix 2, which causes the computer to execute processing.

(付記4)
前記ゲーティングセルが抽出されなかった場合、前記動作確率情報に含まれる、前記メモリへのクロックの単位時間当たりの動作回数と前記第1制御信号の状態確率とに基づき、前記推定値を算出する、
処理を前記コンピュータに実行させる、付記1〜付記3のいずれか一項に記載の回路設計支援プログラム。
(Appendix 4)
When the gating cell is not extracted, the estimated value is calculated based on the number of operations per unit time of the clock to the memory and the state probability of the first control signal included in the operation probability information. ,
The circuit design support program according to any one of supplementary notes 1 to 3, which causes the computer to execute processing.

(付記5)
前記回路データに基づき前記メモリにおける前記クロックの入力端子からバックトレースを行なうことにより、前記ゲーティングセル,前記第1制御セルおよび前記クロック源の動作情報を抽出する、
処理を前記コンピュータに実行させる、付記1〜付記4のいずれか一項に記載の回路設計支援プログラム。
(Appendix 5)
By performing a back trace from the clock input terminal in the memory based on the circuit data, operation information of the gating cell, the first control cell, and the clock source is extracted.
The circuit design support program according to any one of supplementary notes 1 to 4, which causes the computer to execute processing.

(付記6)
前記回路データに基づき前記メモリにおける前記第1制御信号の入力端子からバックトレースを行なうことにより、前記第2制御セルを抽出する、
処理を前記コンピュータに実行させる、付記1〜付記5のいずれか一項に記載の回路設計支援プログラム。
(Appendix 6)
Extracting the second control cell by performing a back trace from the input terminal of the first control signal in the memory based on the circuit data;
The circuit design support program according to any one of supplementary notes 1 to 5, which causes the computer to execute processing.

(付記7)
前記動作確率情報は、前記メモリの書込/読出動作を指示する第2制御信号の状態確率を含み、
前記動作確率情報に含まれる、前記第1制御信号の状態確率と前記第2制御信号の状態確率とに基づき、前記メモリが停止状態である際の前記第2制御信号の状態を推定し、推定結果に基づき前記メモリに対する読出状態と書込状態との比率を補正し、
補正された前記比率と、前記第2算出部によって算出された前記推定値とに基づき、前記メモリに対する書込アクセス回数および読出アクセス回数を算出する、
処理を前記コンピュータに実行させる、付記1〜付記6のいずれか一項に記載の回路設計支援プログラム。
(Appendix 7)
The operation probability information includes a state probability of a second control signal instructing a write / read operation of the memory,
Based on the state probability of the first control signal and the state probability of the second control signal included in the operation probability information, the state of the second control signal when the memory is in a stopped state is estimated and estimated Based on the result, the ratio of the read state and the write state to the memory is corrected,
Calculating the number of write accesses and the number of read accesses to the memory based on the corrected ratio and the estimated value calculated by the second calculator;
The circuit design support program according to any one of supplementary notes 1 to 6, which causes the computer to execute processing.

(付記8)
前記第2制御信号が読出動作を指示する状態である確率(以下、読出状態確率という)が、前記第1制御信号が停止を指示する状態である確率(以下、停止状態確率という)以上であり、且つ、前記読出状態確率が、前記第1制御信号が動作を指示する状態である確率(=1−前記停止状態確率;以下、動作状態確率という)以上である場合、前記メモリが停止状態である際の前記第2制御信号の状態は、読出状態に固定されていると推定し、
前記読出状態確率が前記停止状態確率よりも大きく、且つ、前記読出状態確率が前記動作状態確率未満である場合、前記メモリが停止状態である際の前記第2制御信号の状態は、読出状態に固定されていると推定し、
前記読出状態確率が前記停止状態確率以下であり、且つ、前記読出状態確率が前記動作状態確率以下である場合、前記メモリが停止状態である際の前記第2制御信号の状態は、書込状態に固定されていると推定し、
前記読出状態確率が前記停止状態確率未満であり、且つ、前記読出状態確率が前記動作状態確率よりも大きい場合、前記メモリが停止状態である際の前記第2制御信号の状態は、前記第2制御信号の状態確率に対応する比率で、読出状態および書込状態になると推定する、
処理を前記コンピュータに実行させる、付記7に記載の回路設計支援プログラム。
(Appendix 8)
The probability that the second control signal is in a state of instructing a read operation (hereinafter referred to as a read state probability) is equal to or greater than the probability that the first control signal is in a state of instructing a stop (hereinafter referred to as a stop state probability). When the read state probability is equal to or higher than the probability that the first control signal is in a state of instructing an operation (= 1−the stop state probability; hereinafter referred to as the operation state probability), the memory is in the stop state. The state of the second control signal at a certain time is estimated to be fixed to the read state,
When the read state probability is greater than the stop state probability and the read state probability is less than the operation state probability, the state of the second control signal when the memory is in a stop state is a read state. Presumed to be fixed,
When the read state probability is less than or equal to the stop state probability and the read state probability is less than or equal to the operation state probability, the state of the second control signal when the memory is in a stop state is a write state Estimated to be fixed to
When the read state probability is less than the stop state probability and the read state probability is greater than the operation state probability, the state of the second control signal when the memory is in the stop state is the second state Estimating that the read state and the write state are obtained at a ratio corresponding to the state probability of the control signal.
The circuit design support program according to appendix 7, which causes the computer to execute processing.

(付記9)
設計対象回路のメモリに対するアクセス回数を推定する回路設計支援装置であって、
前記設計対象回路に係る回路データと、前記メモリへのクロックの単位時間当たりの動作回数、および、前記メモリの動作/停止を指示する第1制御信号の状態確率を含む動作確率情報とを記憶する記憶部と、
前記回路データに基づき、前記クロックのゲーティングを行なうゲーティングセルと、前記ゲーティングセルを制御する第1制御セルと、前記クロックのクロック源の動作情報とを抽出する第1抽出部と、
前記ゲーティングセルが抽出された場合、前記クロック源の動作情報に含まれる、前記クロック源から出力される単位時間当たりの総動作回数に対する、前記クロックの単位時間当たりの動作回数の割合を示すクロックゲーティング動作率を算出する第1算出部と、
前記ゲーティングセルが抽出された場合、前記回路データに基づき、前記第1制御信号を出力する第2制御セルを抽出する第2抽出部と、
前記第1制御セル,前記第2制御セル,前記動作確率情報,前記クロックゲーティング動作率および前記総動作回数に基づき、前記メモリに対するアクセス回数の推定値を算出する第2算出部と、を有する、回路設計支援装置。
(Appendix 9)
A circuit design support device for estimating the number of accesses to a memory of a circuit to be designed,
Stores circuit data relating to the circuit to be designed, operation probability information including the number of operations per unit time of the clock to the memory, and a state probability of a first control signal instructing operation / stop of the memory. A storage unit;
Based on the circuit data, a gating cell that performs gating of the clock, a first control cell that controls the gating cell, and a first extraction unit that extracts operation information of a clock source of the clock;
A clock indicating the ratio of the number of operations per unit time of the clock to the total number of operations per unit time output from the clock source included in the operation information of the clock source when the gating cell is extracted A first calculation unit for calculating a gating operation rate;
A second extraction unit that extracts a second control cell that outputs the first control signal based on the circuit data when the gating cell is extracted;
A second calculation unit that calculates an estimated value of the number of accesses to the memory based on the first control cell, the second control cell, the operation probability information, the clock gating operation rate, and the total number of operations. Circuit design support device.

(付記10)
前記第2算出部は、前記第1制御セルと前記第2制御セルとが異なる場合、前記動作確率情報に含まれる前記第1制御信号の状態確率に基づいて得られる前記メモリの動作状態確率と前記クロックゲーティング動作率とのうちの小さい方を前記メモリの動作率として選択し、選択された前記動作率と前記総動作回数とに基づき前記推定値を算出する、付記9に記載の回路設計支援装置。
(Appendix 10)
When the first control cell and the second control cell are different from each other, the second calculation unit is configured to obtain an operation state probability of the memory obtained based on a state probability of the first control signal included in the operation probability information. The circuit design according to appendix 9, wherein the smaller one of the clock gating operation rates is selected as the operation rate of the memory, and the estimated value is calculated based on the selected operation rate and the total number of operations. Support device.

(付記11)
前記第2算出部は、前記第1制御セルと前記第2制御セルとが同じ場合、前記動作確率情報に含まれる、前記メモリへのクロックの単位時間当たりの動作回数に基づき、前記推定値を算出する、付記9または付記10に記載の回路設計支援装置。
(Appendix 11)
When the first control cell and the second control cell are the same, the second calculation unit calculates the estimated value based on the number of operations per unit time of the clock to the memory included in the operation probability information. The circuit design support apparatus according to Supplementary Note 9 or Supplementary Note 10, which is calculated.

(付記12)
前記第2算出部は、前記ゲーティングセルが抽出されなかった場合、前記動作確率情報に含まれる、前記メモリへのクロックの単位時間当たりの動作回数と前記第1制御信号の状態確率とに基づき、前記推定値を算出する、付記9〜付記11のいずれか一項に記載の回路設計支援装置。
(Appendix 12)
When the gating cell is not extracted, the second calculation unit is based on the number of operations per unit time of the clock to the memory and the state probability of the first control signal included in the operation probability information. The circuit design support device according to any one of Supplementary Note 9 to Supplementary Note 11, wherein the estimated value is calculated.

(付記13)
前記第1抽出部は、前記回路データに基づき前記メモリにおける前記クロックの入力端子からバックトレースを行なうことにより、前記ゲーティングセル,前記第1制御セルおよび前記クロック源の動作情報を抽出する、付記9〜付記12のいずれか一項に記載の回路設計支援装置。
(Appendix 13)
The first extraction unit extracts operation information of the gating cell, the first control cell, and the clock source by performing backtrace from the clock input terminal in the memory based on the circuit data. The circuit design support device according to any one of 9 to appendix 12.

(付記14)
前記第2抽出部は、前記回路データに基づき前記メモリにおける前記第1制御信号の入力端子からバックトレースを行なうことにより、前記第2制御セルを抽出する、付記9〜付記13のいずれか一項に記載の回路設計支援装置。
(Appendix 14)
The second extraction unit extracts the second control cell by performing a back trace from the input terminal of the first control signal in the memory based on the circuit data. Circuit design support device described in 1.

(付記15)
前記動作確率情報は、前記メモリの書込/読出動作を指示する第2制御信号の状態確率を含み、
前記動作確率情報に含まれる、前記第1制御信号の状態確率と前記第2制御信号の状態確率とに基づき、前記メモリが停止状態である際の前記第2制御信号の状態を推定し、推定結果に基づき前記メモリに対する読出状態と書込状態との比率を補正する補正部と、
前記補正部によって補正された前記比率と、前記第2算出部によって算出された前記推定値とに基づき、前記メモリに対する書込アクセス回数および読出アクセス回数を算出する第3算出部と、をさらに有する、付記9〜付記14のいずれか一項に記載の回路設計支援装置。
(Appendix 15)
The operation probability information includes a state probability of a second control signal instructing a write / read operation of the memory,
Based on the state probability of the first control signal and the state probability of the second control signal included in the operation probability information, the state of the second control signal when the memory is in a stopped state is estimated and estimated A correction unit that corrects a ratio between a read state and a write state with respect to the memory based on a result;
A third calculation unit for calculating the number of write accesses and the number of read accesses to the memory based on the ratio corrected by the correction unit and the estimated value calculated by the second calculation unit; The circuit design support apparatus according to any one of Supplementary Note 9 to Supplementary Note 14.

(付記16)
前記補正部は、
前記第2制御信号が読出動作を指示する状態である確率(以下、読出状態確率という)が、前記第1制御信号が停止を指示する状態である確率(以下、停止状態確率という)以上であり、且つ、前記読出状態確率が、前記第1制御信号が動作を指示する状態である確率(=1−前記停止状態確率;以下、動作状態確率という)以上である場合、前記メモリが停止状態である際の前記第2制御信号の状態は、読出状態に固定されていると推定し、
前記読出状態確率が前記停止状態確率よりも大きく、且つ、前記読出状態確率が前記動作状態確率未満である場合、前記メモリが停止状態である際の前記第2制御信号の状態は、読出状態に固定されていると推定し、
前記読出状態確率が前記停止状態確率以下であり、且つ、前記読出状態確率が前記動作状態確率以下である場合、前記メモリが停止状態である際の前記第2制御信号の状態は、書込状態に固定されていると推定し、
前記読出状態確率が前記停止状態確率未満であり、且つ、前記読出状態確率が前記動作状態確率よりも大きい場合、前記メモリが停止状態である際の前記第2制御信号の状態は、前記第2制御信号の状態確率に対応する比率で、読出状態および書込状態になると推定する、付記15に記載の回路設計支援装置。
(Appendix 16)
The correction unit is
The probability that the second control signal is in a state of instructing a read operation (hereinafter referred to as a read state probability) is equal to or greater than the probability that the first control signal is in a state of instructing a stop (hereinafter referred to as a stop state probability). When the read state probability is equal to or higher than the probability that the first control signal is in a state of instructing an operation (= 1−the stop state probability; hereinafter referred to as the operation state probability), the memory is in the stop state. The state of the second control signal at a certain time is estimated to be fixed to the read state,
When the read state probability is greater than the stop state probability and the read state probability is less than the operation state probability, the state of the second control signal when the memory is in a stop state is a read state. Presumed to be fixed,
When the read state probability is less than or equal to the stop state probability and the read state probability is less than or equal to the operation state probability, the state of the second control signal when the memory is in a stop state is a write state Estimated to be fixed to
When the read state probability is less than the stop state probability and the read state probability is greater than the operation state probability, the state of the second control signal when the memory is in the stop state is the second state The circuit design support device according to appendix 15, wherein it is estimated that the read state and the write state are obtained at a ratio corresponding to the state probability of the control signal.

(付記17)
設計対象回路に係る回路データと、前記設計対象回路のメモリへのクロックの単位時間当たりの動作回数、および、前記メモリの動作/停止を指示する第1制御信号の状態確率を含む動作確率情報とに基づき、前記メモリに対するアクセス回数を、コンピュータにより推定する方法であって、
前記回路データに基づき、前記クロックのゲーティングを行なうゲーティングセルと、前記ゲーティングセルを制御する第1制御セルと、前記クロックのクロック源の動作情報とを抽出し、
前記ゲーティングセルが抽出された場合、前記クロック源の動作情報に含まれる、前記クロック源から出力される単位時間当たりの総動作回数に対する、前記クロックの単位時間当たりの動作回数の割合を示すクロックゲーティング動作率を算出し、
前記ゲーティングセルが抽出された場合、前記回路データに基づき、前記第1制御信号を出力する第2制御セルを抽出し、
前記第1制御セル,前記第2制御セル,前記動作確率情報,前記クロックゲーティング動作率および前記総動作回数に基づき、前記メモリに対するアクセス回数の推定値を算出する、回路設計支援方法。
(Appendix 17)
Circuit data relating to the circuit to be designed, operation probability information including the number of operations per unit time of the clock to the memory of the circuit to be designed, and the state probability of the first control signal instructing operation / stop of the memory; A method for estimating the number of accesses to the memory by a computer,
Based on the circuit data, a gating cell that performs gating of the clock, a first control cell that controls the gating cell, and operation information of the clock source of the clock are extracted.
A clock indicating the ratio of the number of operations per unit time of the clock to the total number of operations per unit time output from the clock source included in the operation information of the clock source when the gating cell is extracted Calculate the gating operating rate,
When the gating cell is extracted, a second control cell that outputs the first control signal is extracted based on the circuit data;
A circuit design support method for calculating an estimated value of the number of accesses to the memory based on the first control cell, the second control cell, the operation probability information, the clock gating operation rate, and the total number of operations.

(付記18)
前記第1制御セルと前記第2制御セルとが異なる場合、前記動作確率情報に含まれる前記第1制御信号の状態確率に基づいて得られる前記メモリの動作状態確率と前記クロックゲーティング動作率とのうちの小さい方を前記メモリの動作率として選択し、選択された前記動作率と前記総動作回数とに基づき前記推定値を算出する、付記17に記載の回路設計支援方法。
(Appendix 18)
When the first control cell and the second control cell are different, the operation state probability of the memory and the clock gating operation rate obtained based on the state probability of the first control signal included in the operation probability information 18. The circuit design support method according to appendix 17, wherein the smaller one of the two is selected as the operation rate of the memory, and the estimated value is calculated based on the selected operation rate and the total number of operations.

(付記19)
前記動作確率情報は、前記メモリの書込/読出動作を指示する第2制御信号の状態確率を含み、
前記動作確率情報に含まれる、前記第1制御信号の状態確率と前記第2制御信号の状態確率とに基づき、前記メモリが停止状態である際の前記第2制御信号の状態を推定し、推定結果に基づき前記メモリに対する読出状態と書込状態との比率をを補正し、
補正された前記比率と、前記第2算出部によって算出された前記推定値とに基づき、前記メモリに対する書込アクセス回数および読出アクセス回数を算出する、付記17または付記18に記載の回路設計支援方法。
(Appendix 19)
The operation probability information includes a state probability of a second control signal instructing a write / read operation of the memory,
Based on the state probability of the first control signal and the state probability of the second control signal included in the operation probability information, the state of the second control signal when the memory is in a stopped state is estimated and estimated Based on the result, the ratio of the read state and the write state to the memory is corrected,
The circuit design support method according to appendix 17 or appendix 18, wherein the number of write accesses and the number of read accesses to the memory are calculated based on the corrected ratio and the estimated value calculated by the second calculator. .

(付記20)
設計対象回路のメモリに対するアクセス回数を推定する回路設計支援装置であって、
前記設計対象回路に係る回路データと、前記メモリへのクロックの単位時間当たりの動作回数、および、前記メモリの動作/停止を指示する第1制御信号の状態確率を含む動作確率情報とを記憶する記憶部と、
プロセッサと、を有し、
前記プロセッサは、
前記回路データに基づき、前記クロックのゲーティングを行なうゲーティングセルと、前記ゲーティングセルを制御する第1制御セルと、前記クロックのクロック源の動作情報とを抽出し、
前記ゲーティングセルが抽出された場合、前記クロック源の動作情報に含まれる、前記クロック源から出力される単位時間当たりの総動作回数に対する、前記クロックの単位時間当たりの動作回数の割合を示すクロックゲーティング動作率を算出し、
前記ゲーティングセルが抽出された場合、前記回路データに基づき、前記第1制御信号を出力する第2制御セルを抽出し、
前記第1制御セル,前記第2制御セル,前記動作確率情報,前記クロックゲーティング動作率および前記総動作回数に基づき、前記メモリに対するアクセス回数の推定値を算出する、回路設計支援装置。
(Appendix 20)
A circuit design support device for estimating the number of accesses to a memory of a circuit to be designed,
Stores circuit data relating to the circuit to be designed, operation probability information including the number of operations per unit time of the clock to the memory, and a state probability of a first control signal instructing operation / stop of the memory. A storage unit;
A processor, and
The processor is
Based on the circuit data, a gating cell that performs gating of the clock, a first control cell that controls the gating cell, and operation information of the clock source of the clock are extracted.
A clock indicating the ratio of the number of operations per unit time of the clock to the total number of operations per unit time output from the clock source included in the operation information of the clock source when the gating cell is extracted Calculate the gating operating rate,
When the gating cell is extracted, a second control cell that outputs the first control signal is extracted based on the circuit data;
A circuit design support apparatus that calculates an estimated value of the number of accesses to the memory based on the first control cell, the second control cell, the operation probability information, the clock gating operation rate, and the total number of operations.

(付記21)
前記プロセッサは、
前記第1制御セルと前記第2制御セルとが異なる場合、前記動作確率情報に含まれる前記第1制御信号の状態確率に基づいて得られる前記メモリの動作状態確率と前記クロックゲーティング動作率とのうちの小さい方を前記メモリの動作率として選択し、選択された前記動作率と前記総動作回数とに基づき前記推定値を算出する、付記20に記載の回路設計支援装置。
(Appendix 21)
The processor is
When the first control cell and the second control cell are different, the operation state probability of the memory and the clock gating operation rate obtained based on the state probability of the first control signal included in the operation probability information 21. The circuit design support device according to appendix 20, wherein the smaller one is selected as the operation rate of the memory, and the estimated value is calculated based on the selected operation rate and the total number of operations.

(付記22)
前記動作確率情報は、前記メモリの書込/読出動作を指示する第2制御信号の状態確率を含み、
前記プロセッサは、
前記動作確率情報に含まれる、前記第1制御信号の状態確率と前記第2制御信号の状態確率とに基づき、前記メモリが停止状態である際の前記第2制御信号の状態を推定し、推定結果に基づき前記メモリに対する読出動作と書込動作との比率を補正し、
補正された前記比率と、前記第2算出部によって算出された前記推定値とに基づき、前記メモリに対する書込アクセス回数および読出アクセス回数を算出する、付記20または付記21に記載の回路設計支援装置。
(Appendix 22)
The operation probability information includes a state probability of a second control signal instructing a write / read operation of the memory,
The processor is
Based on the state probability of the first control signal and the state probability of the second control signal included in the operation probability information, the state of the second control signal when the memory is in a stopped state is estimated and estimated Based on the result, the ratio of the read operation and the write operation to the memory is corrected,
The circuit design support device according to appendix 20 or appendix 21, wherein the number of write accesses and the number of read accesses to the memory are calculated based on the corrected ratio and the estimated value calculated by the second calculator. .

(付記23)
設計対象回路に係る回路データと、前記設計対象回路のメモリへのクロックの単位時間当たりの動作回数、および、前記メモリの動作/停止を指示する第1制御信号の状態確率を含む動作確率情報とに基づき、前記メモリに対するアクセス回数を推定するコンピュータに、
前記回路データに基づき、前記クロックのゲーティングを行なうゲーティングセルと、前記ゲーティングセルを制御する第1制御セルと、前記クロックのクロック源の動作情報とを抽出し、
前記ゲーティングセルが抽出された場合、前記クロック源の動作情報に含まれる、前記クロック源から出力される単位時間当たりの総動作回数に対する、前記クロックの単位時間当たりの動作回数の割合を示すクロックゲーティング動作率を算出し、
前記ゲーティングセルが抽出された場合、前記回路データに基づき、前記第1制御信号を出力する第2制御セルを抽出し、
前記第1制御セル,前記第2制御セル,前記動作確率情報,前記クロックゲーティング動作率および前記総動作回数に基づき、前記メモリに対するアクセス回数の推定値を算出する、
処理を実行させる、回路設計支援プログラムを記録したコンピュータ読取可能な記録媒体。
(Appendix 23)
Circuit data relating to the circuit to be designed, operation probability information including the number of operations per unit time of the clock to the memory of the circuit to be designed, and the state probability of the first control signal instructing operation / stop of the memory; To estimate the number of accesses to the memory based on
Based on the circuit data, a gating cell that performs gating of the clock, a first control cell that controls the gating cell, and operation information of the clock source of the clock are extracted.
A clock indicating the ratio of the number of operations per unit time of the clock to the total number of operations per unit time output from the clock source included in the operation information of the clock source when the gating cell is extracted Calculate the gating operating rate,
When the gating cell is extracted, a second control cell that outputs the first control signal is extracted based on the circuit data;
Calculating an estimated value of the number of accesses to the memory based on the first control cell, the second control cell, the operation probability information, the clock gating operation rate, and the total number of operations;
A computer-readable recording medium on which a circuit design support program for executing processing is recorded.

1 回路設計支援装置
10 記憶部
20 処理部(プロセッサ,CPU)
21 第1抽出部
22 第1算出部
23 第2抽出部
24 第2算出部
25 補正部
26 第3算出部
DESCRIPTION OF SYMBOLS 1 Circuit design support apparatus 10 Memory | storage part 20 Processing part (processor, CPU)
21 1st extraction part 22 1st calculation part 23 2nd extraction part 24 2nd calculation part 25 Correction part 26 3rd calculation part

Claims (10)

設計対象回路に係る回路データと、前記設計対象回路のメモリへのクロックの単位時間当たりの動作回数、および、前記メモリの動作/停止を指示する第1制御信号の状態確率を含む動作確率情報とに基づき、前記メモリに対するアクセス回数を推定するコンピュータに、
前記回路データに基づき、前記クロックのゲーティングを行なうゲーティングセルと、前記ゲーティングセルを制御する第1制御セルと、前記クロックのクロック源の動作情報とを抽出し、
前記ゲーティングセルが抽出された場合、前記クロック源の動作情報に含まれる、前記クロック源から出力される単位時間当たりの総動作回数に対する、前記クロックの単位時間当たりの動作回数の割合を示すクロックゲーティング動作率を算出し、
前記ゲーティングセルが抽出された場合、前記回路データに基づき、前記第1制御信号を出力する第2制御セルを抽出し、
前記第1制御セル,前記第2制御セル,前記動作確率情報,前記クロックゲーティング動作率および前記総動作回数に基づき、前記メモリに対するアクセス回数の推定値を算出する、
処理を実行させる、回路設計支援プログラム。
Circuit data relating to the circuit to be designed, operation probability information including the number of operations per unit time of the clock to the memory of the circuit to be designed, and the state probability of the first control signal instructing operation / stop of the memory; To estimate the number of accesses to the memory based on
Based on the circuit data, a gating cell that performs gating of the clock, a first control cell that controls the gating cell, and operation information of the clock source of the clock are extracted.
A clock indicating the ratio of the number of operations per unit time of the clock to the total number of operations per unit time output from the clock source included in the operation information of the clock source when the gating cell is extracted Calculate the gating operating rate,
When the gating cell is extracted, a second control cell that outputs the first control signal is extracted based on the circuit data;
Calculating an estimated value of the number of accesses to the memory based on the first control cell, the second control cell, the operation probability information, the clock gating operation rate, and the total number of operations;
A circuit design support program that executes processing.
前記第1制御セルと前記第2制御セルとが異なる場合、前記動作確率情報に含まれる前記第1制御信号の状態確率に基づいて得られる前記メモリの動作状態確率と前記クロックゲーティング動作率とのうちの小さい方を前記メモリの動作率として選択し、選択された前記動作率と前記総動作回数とに基づき前記推定値を算出する、
処理を前記コンピュータに実行させる、請求項1に記載の回路設計支援プログラム。
When the first control cell and the second control cell are different, the operation state probability of the memory and the clock gating operation rate obtained based on the state probability of the first control signal included in the operation probability information The smaller one of the two is selected as the operation rate of the memory, and the estimated value is calculated based on the selected operation rate and the total number of operations.
The circuit design support program according to claim 1, which causes the computer to execute processing.
前記第1制御セルと前記第2制御セルとが同じ場合、前記動作確率情報に含まれる、前記メモリへのクロックの単位時間当たりの動作回数に基づき、前記推定値を算出する、
処理を前記コンピュータに実行させる、請求項1または請求項2に記載の回路設計支援プログラム。
When the first control cell and the second control cell are the same, the estimated value is calculated based on the number of operations per unit time of the clock to the memory included in the operation probability information.
The circuit design support program according to claim 1 or 2, which causes the computer to execute processing.
前記ゲーティングセルが抽出されなかった場合、前記動作確率情報に含まれる、前記メモリへのクロックの単位時間当たりの動作回数と前記第1制御信号の状態確率とに基づき、前記推定値を算出する、
処理を前記コンピュータに実行させる、請求項1〜請求項3のいずれか一項に記載の回路設計支援プログラム。
When the gating cell is not extracted, the estimated value is calculated based on the number of operations per unit time of the clock to the memory and the state probability of the first control signal included in the operation probability information. ,
The circuit design support program according to any one of claims 1 to 3, which causes the computer to execute processing.
前記回路データに基づき前記メモリにおける前記クロックの入力端子からバックトレースを行なうことにより、前記ゲーティングセル,前記第1制御セルおよび前記クロック源の動作情報を抽出する、
処理を前記コンピュータに実行させる、請求項1〜請求項4のいずれか一項に記載の回路設計支援プログラム。
By performing a back trace from the clock input terminal in the memory based on the circuit data, operation information of the gating cell, the first control cell, and the clock source is extracted.
The circuit design support program according to any one of claims 1 to 4, which causes the computer to execute processing.
前記回路データに基づき前記メモリにおける前記第1制御信号の入力端子からバックトレースを行なうことにより、前記第2制御セルを抽出する、
処理を前記コンピュータに実行させる、請求項1〜請求項5のいずれか一項に記載の回路設計支援プログラム。
Extracting the second control cell by performing a back trace from the input terminal of the first control signal in the memory based on the circuit data;
The circuit design support program according to any one of claims 1 to 5, which causes the computer to execute processing.
前記動作確率情報は、前記メモリの書込/読出動作を指示する第2制御信号の状態確率を含み、
前記動作確率情報に含まれる、前記第1制御信号の状態確率と前記第2制御信号の状態確率とに基づき、前記メモリが停止状態である際の前記第2制御信号の状態を推定し、推定結果に基づき前記メモリに対する読出状態と書込状態との比率を補正し、
補正された前記比率と、前記第2算出部によって算出された前記推定値とに基づき、前記メモリに対する書込アクセス回数および読出アクセス回数を算出する、
処理を前記コンピュータに実行させる、請求項1〜請求項6のいずれか一項に記載の回路設計支援プログラム。
The operation probability information includes a state probability of a second control signal instructing a write / read operation of the memory,
Based on the state probability of the first control signal and the state probability of the second control signal included in the operation probability information, the state of the second control signal when the memory is in a stopped state is estimated and estimated Based on the result, the ratio of the read state and the write state to the memory is corrected,
Calculating the number of write accesses and the number of read accesses to the memory based on the corrected ratio and the estimated value calculated by the second calculator;
The circuit design support program according to any one of claims 1 to 6, which causes the computer to execute processing.
前記第2制御信号が読出動作を指示する状態である確率(以下、読出状態確率という)が、前記第1制御信号が停止を指示する状態である確率(以下、停止状態確率という)以上であり、且つ、前記読出状態確率が、前記第1制御信号が動作を指示する状態である確率(=1−前記停止状態確率;以下、動作状態確率という)以上である場合、前記メモリが停止状態である際の前記第2制御信号の状態は、読出状態に固定されていると推定し、
前記読出状態確率が前記停止状態確率よりも大きく、且つ、前記読出状態確率が前記動作状態確率未満である場合、前記メモリが停止状態である際の前記第2制御信号の状態は、読出状態に固定されていると推定し、
前記読出状態確率が前記停止状態確率以下であり、且つ、前記読出状態確率が前記動作状態確率以下である場合、前記メモリが停止状態である際の前記第2制御信号の状態は、書込状態に固定されていると推定し、
前記読出状態確率が前記停止状態確率未満であり、且つ、前記読出状態確率が前記動作状態確率よりも大きい場合、前記メモリが停止状態である際の前記第2制御信号の状態は、前記第2制御信号の状態確率に対応する比率で、読出状態および書込状態になると推定する、
処理を前記コンピュータに実行させる、請求項7に記載の回路設計支援プログラム。
The probability that the second control signal is in a state of instructing a read operation (hereinafter referred to as a read state probability) is equal to or greater than the probability that the first control signal is in a state of instructing a stop (hereinafter referred to as a stop state probability). When the read state probability is equal to or higher than the probability that the first control signal is in a state of instructing an operation (= 1−the stop state probability; hereinafter referred to as the operation state probability), the memory is in the stop state. The state of the second control signal at a certain time is estimated to be fixed to the read state,
When the read state probability is greater than the stop state probability and the read state probability is less than the operation state probability, the state of the second control signal when the memory is in a stop state is a read state. Presumed to be fixed,
When the read state probability is less than or equal to the stop state probability and the read state probability is less than or equal to the operation state probability, the state of the second control signal when the memory is in a stop state is a write state Estimated to be fixed to
When the read state probability is less than the stop state probability and the read state probability is greater than the operation state probability, the state of the second control signal when the memory is in the stop state is the second state Estimating that the read state and the write state are obtained at a ratio corresponding to the state probability of the control signal.
The circuit design support program according to claim 7, which causes the computer to execute processing.
設計対象回路のメモリに対するアクセス回数を推定する回路設計支援装置であって、
前記設計対象回路に係る回路データと、前記メモリへのクロックの単位時間当たりの動作回数、および、前記メモリの動作/停止を指示する第1制御信号の状態確率を含む動作確率情報とを記憶する記憶部と、
前記回路データに基づき、前記クロックのゲーティングを行なうゲーティングセルと、前記ゲーティングセルを制御する第1制御セルと、前記クロックのクロック源の動作情報とを抽出する第1抽出部と、
前記ゲーティングセルが抽出された場合、前記クロック源の動作情報に含まれる、前記クロック源から出力される単位時間当たりの総動作回数に対する、前記クロックの単位時間当たりの動作回数の割合を示すクロックゲーティング動作率を算出する第1算出部と、
前記ゲーティングセルが抽出された場合、前記回路データに基づき、前記第1制御信号を出力する第2制御セルを抽出する第2抽出部と、
前記第1制御セル,前記第2制御セル,前記動作確率情報,前記クロックゲーティング動作率および前記総動作回数に基づき、前記メモリに対するアクセス回数の推定値を算出する第2算出部と、を有する、回路設計支援装置。
A circuit design support device for estimating the number of accesses to a memory of a circuit to be designed,
Stores circuit data relating to the circuit to be designed, operation probability information including the number of operations per unit time of the clock to the memory, and a state probability of a first control signal instructing operation / stop of the memory. A storage unit;
Based on the circuit data, a gating cell that performs gating of the clock, a first control cell that controls the gating cell, and a first extraction unit that extracts operation information of a clock source of the clock;
A clock indicating the ratio of the number of operations per unit time of the clock to the total number of operations per unit time output from the clock source included in the operation information of the clock source when the gating cell is extracted A first calculation unit for calculating a gating operation rate;
A second extraction unit that extracts a second control cell that outputs the first control signal based on the circuit data when the gating cell is extracted;
A second calculation unit that calculates an estimated value of the number of accesses to the memory based on the first control cell, the second control cell, the operation probability information, the clock gating operation rate, and the total number of operations. Circuit design support device.
設計対象回路に係る回路データと、前記設計対象回路のメモリへのクロックの単位時間当たりの動作回数、および、前記メモリの動作/停止を指示する第1制御信号の状態確率を含む動作確率情報とに基づき、前記メモリに対するアクセス回数を、コンピュータにより推定する方法であって、
前記回路データに基づき、前記クロックのゲーティングを行なうゲーティングセルと、前記ゲーティングセルを制御する第1制御セルと、前記クロックのクロック源の動作情報とを抽出し、
前記ゲーティングセルが抽出された場合、前記クロック源の動作情報に含まれる、前記クロック源から出力される単位時間当たりの総動作回数に対する、前記クロックの単位時間当たりの動作回数の割合を示すクロックゲーティング動作率を算出し、
前記ゲーティングセルが抽出された場合、前記回路データに基づき、前記第1制御信号を出力する第2制御セルを抽出し、
前記第1制御セル,前記第2制御セル,前記動作確率情報,前記クロックゲーティング動作率および前記総動作回数に基づき、前記メモリに対するアクセス回数の推定値を算出する、回路設計支援方法。
Circuit data relating to the circuit to be designed, operation probability information including the number of operations per unit time of the clock to the memory of the circuit to be designed, and the state probability of the first control signal instructing operation / stop of the memory; A method for estimating the number of accesses to the memory by a computer,
Based on the circuit data, a gating cell that performs gating of the clock, a first control cell that controls the gating cell, and operation information of the clock source of the clock are extracted.
A clock indicating the ratio of the number of operations per unit time of the clock to the total number of operations per unit time output from the clock source included in the operation information of the clock source when the gating cell is extracted Calculate the gating operating rate,
When the gating cell is extracted, a second control cell that outputs the first control signal is extracted based on the circuit data;
A circuit design support method for calculating an estimated value of the number of accesses to the memory based on the first control cell, the second control cell, the operation probability information, the clock gating operation rate, and the total number of operations.
JP2012148509A 2012-07-02 2012-07-02 Circuit design support program, circuit design support apparatus, and circuit design support method Expired - Fee Related JP5939060B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012148509A JP5939060B2 (en) 2012-07-02 2012-07-02 Circuit design support program, circuit design support apparatus, and circuit design support method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012148509A JP5939060B2 (en) 2012-07-02 2012-07-02 Circuit design support program, circuit design support apparatus, and circuit design support method

Publications (2)

Publication Number Publication Date
JP2014010751A JP2014010751A (en) 2014-01-20
JP5939060B2 true JP5939060B2 (en) 2016-06-22

Family

ID=50107365

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012148509A Expired - Fee Related JP5939060B2 (en) 2012-07-02 2012-07-02 Circuit design support program, circuit design support apparatus, and circuit design support method

Country Status (1)

Country Link
JP (1) JP5939060B2 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008065382A (en) * 2006-09-04 2008-03-21 Fujitsu Ltd Power consumption calculating method for lsi and its calculation program
JP4370335B2 (en) * 2007-02-13 2009-11-25 富士通株式会社 LSI analysis program, recording medium storing the program, LSI analysis apparatus, and LSI analysis method
JP4924130B2 (en) * 2007-03-19 2012-04-25 富士通株式会社 Power consumption analysis support program, recording medium storing the program, and power consumption analysis support device
JP4985466B2 (en) * 2008-02-26 2012-07-25 富士通株式会社 Power consumption estimation method, power consumption estimation device, and power consumption estimation program
JP5151685B2 (en) * 2008-05-23 2013-02-27 富士通株式会社 Semiconductor circuit design support program

Also Published As

Publication number Publication date
JP2014010751A (en) 2014-01-20

Similar Documents

Publication Publication Date Title
JP5397083B2 (en) Circuit design support method, circuit design support apparatus, and circuit design support program
US6832361B2 (en) System and method for analyzing power distribution using static timing analysis
US8255850B2 (en) Fabricating IC with NBTI path delay within timing constraints
US9892220B2 (en) Method and apparatus for adjusting a timing derate for static timing analysis
US20110295536A1 (en) Clock jitter analyzing method and apparatus
JP4205662B2 (en) Semiconductor integrated circuit design method
US8413102B2 (en) Vectorless IVD analysis prior to tapeout to prevent scan test failure due to voltage drop
JP5939060B2 (en) Circuit design support program, circuit design support apparatus, and circuit design support method
JP4992468B2 (en) Verification method, verification apparatus, and program
Vijayan et al. Machine learning-based aging analysis
US20220327269A1 (en) Computing device and method for detecting clock domain crossing violation in design of memory device
JP5146087B2 (en) Power consumption estimation method, circuit design support apparatus and program
JP5338919B2 (en) Integrated circuit power consumption calculation method, power consumption calculation program, and power consumption calculation device
US20120304135A1 (en) Method and apparatus for precision tunable macro-model power analysis
JP6089627B2 (en) Power consumption estimation apparatus and power consumption estimation method
JP2011238137A (en) Performance estimation device
JP6692550B2 (en) Circuit design support system, circuit design support method, circuit design support program, and computer-readable recording medium recording the program
JP2006338090A (en) Method and device for designing semiconductor integrated circuit
JP6322888B2 (en) Semiconductor test program, semiconductor test apparatus, and semiconductor test method
JP4985466B2 (en) Power consumption estimation method, power consumption estimation device, and power consumption estimation program
US11624777B2 (en) Slew-load characterization
JP2013061811A (en) Power consumption analysis method and power consumption analysis device
US20130262893A1 (en) Power estimation device and power estimation method
JP2012221119A (en) Semiconductor integrated circuit design support device, design method, and design support program
US8380656B2 (en) Technique for fast power estimation using probabilistic analysis of combinational logic

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150406

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160412

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160502

R150 Certificate of patent or registration of utility model

Ref document number: 5939060

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees