JP2009053989A - Semiconductor circuit design method - Google Patents

Semiconductor circuit design method Download PDF

Info

Publication number
JP2009053989A
JP2009053989A JP2007220864A JP2007220864A JP2009053989A JP 2009053989 A JP2009053989 A JP 2009053989A JP 2007220864 A JP2007220864 A JP 2007220864A JP 2007220864 A JP2007220864 A JP 2007220864A JP 2009053989 A JP2009053989 A JP 2009053989A
Authority
JP
Japan
Prior art keywords
flip
flop
clock
power consumption
delay time
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.)
Pending
Application number
JP2007220864A
Other languages
Japanese (ja)
Inventor
Takeshi Kitahara
原 健 北
Tetsuaki Uchiumi
海 哲 章 内
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2007220864A priority Critical patent/JP2009053989A/en
Priority to US12/195,574 priority patent/US7962883B2/en
Publication of JP2009053989A publication Critical patent/JP2009053989A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/396Clock trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2117/00Details relating to the type or aim of the circuit design
    • G06F2117/04Clock gating

Landscapes

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

Abstract

<P>PROBLEM TO BE SOLVED: To provide a circuit design method capable of reducing an electric power consumption or a clock delay time, while using a gated clock technology and a low electric power flip-flop. <P>SOLUTION: This semiconductor circuit design method sets a flip-flop based on circuit information of a semiconductor integrated circuit, finds a control signal for controlling the flip-flop, calculates the first evaluation value h1 based on the lowness of the electric power consumption when applying clock gating to the flip-flop and a smallness of dispersion in the clock delay time, sets gated clock structure to the flip-flop, when the first evaluation value is larger than the first threshold value, calculates the second evaluation value h2 based on the lowness of the electric power consumption when applying the low electric power flip-flop having the electric power consumption lower than that of the flip-flop to the flip-flop and an installation area, and replaces the flip-flop with the low electric power flip-flop, when the second evaluation value is larger than the second threshold value. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、半導体回路設計方法に関する。   The present invention relates to a semiconductor circuit design method.

フリップフロップやクロックツリーの消費電力を削減するために、従来からゲーテッドクロック技術が用いられている。また、フリップフロップ自体の消費電力を低減するために、コンディショナル・クロッキング・フリップフロップ(CCK−F/F(Conditional Clocking Flip-Flop))およびコンディショナル・データ・マッピング・フリップフロップ(CDM−F/F(Conditional Data Mapping Flip-Flop))が開発されている。CCK−F/FおよびCDM−F/Fは、通常のフリップフロップよりも消費電力が低いので低電力フリップフロップと呼ぶ。   Conventionally, gated clock technology has been used to reduce power consumption of flip-flops and clock trees. In addition, in order to reduce power consumption of the flip-flop itself, a conditional clocking flip-flop (CCK-F / F) and a conditional data mapping flip-flop (CDM-F) are used. / F (Conditional Data Mapping Flip-Flop)) has been developed. CCK-F / F and CDM-F / F are called low power flip-flops because they consume less power than normal flip-flops.

ゲーテッドクロック技術と低電力フリップフロップとを単に組み合わせた場合、クロック信号がゲーティングされるため、クロックパルスの供給頻度が小さくなる。従って、低電力フリップフロップを用いたとしても、消費電力を削減する効果が小さい。また、低電力フリップフロップは、通常のフリップフロップには無い排他的ORゲートや排他的NORゲートを有するため、通常のフリップフロップよりも設置面積が大きくなる。よって、通常のフリップフロップを低電力フリップフロップで置換した場合、設置面積が増大する。即ち、ゲーテッドクロック技術と低電力フリップフロップとを単に組み合わせた場合、設置面積が大きくなる割に、消費電力の削減効果が期待通りに得られない。   When the gated clock technology and the low-power flip-flop are simply combined, the clock signal is gated, so that the frequency of supply of clock pulses is reduced. Therefore, even if a low power flip-flop is used, the effect of reducing power consumption is small. Further, since the low power flip-flop has an exclusive OR gate and an exclusive NOR gate that are not found in the normal flip-flop, the installation area is larger than that of the normal flip-flop. Therefore, when a normal flip-flop is replaced with a low-power flip-flop, the installation area increases. That is, when the gated clock technology and the low-power flip-flop are simply combined, the effect of reducing the power consumption cannot be obtained as expected although the installation area is increased.

さらに、ゲーテッドクロック技術において、イネーブル信号とクロック信号を受けるゲートをフリップフロップから離れた位置に配置する場合、クロック遅延時間が大きくなり、また、クロック配線を充放電する消費電力が増大する。このような場合、クロックゲーティングを用いるよりむしろ、クロック信号をそのままフリップフロップへ伝達することが消費電力およびクロック遅延時間の観点から好ましい。   Further, in the gated clock technology, when the gate for receiving the enable signal and the clock signal is arranged at a position away from the flip-flop, the clock delay time is increased and the power consumption for charging / discharging the clock wiring is increased. In such a case, it is preferable from the viewpoint of power consumption and clock delay time to transmit the clock signal as it is to the flip-flop rather than using clock gating.

しかし、従来の半導体回路設計方法では、ゲーテッドクロック技術および低電力フリップフロップを用いながら、消費電力およびクロック遅延時間を低減した半導体回路を設定することが困難であった。
Mototsugu Hamada et al., "A Conditional Clocking Flip-Flop for Low Power H.264/MPEG4 Audio/Visual Codec LSI", Custom Integrated Circuit Conference 2005. Chen Kong Teh et al., "Conditional Data Mapping Flip-Flops for Low-Power and High-Performance Systems", IEEE Transactions on Very Large Scale Integration (VLSI) Systems, Vol.14, November, 2006.
However, in the conventional semiconductor circuit design method, it is difficult to set a semiconductor circuit with reduced power consumption and clock delay time while using the gated clock technology and the low power flip-flop.
Mototsugu Hamada et al., "A Conditional Clocking Flip-Flop for Low Power H.264 / MPEG4 Audio / Visual Codec LSI", Custom Integrated Circuit Conference 2005. Chen Kong Teh et al., "Conditional Data Mapping Flip-Flops for Low-Power and High-Performance Systems", IEEE Transactions on Very Large Scale Integration (VLSI) Systems, Vol.14, November, 2006.

ゲーテッドクロック技術および低電力フリップフロップを用いながら、消費電力またはクロック遅延時間を低減した半導体回路の設計方法を提供する。   Provided is a semiconductor circuit design method in which power consumption or clock delay time is reduced while using a gated clock technology and a low-power flip-flop.

本発明に係る実施形態に従った半導体回路設計方法は、半導体回路のフリップフロップにクロックを供給するクロック配線構造を設計するための半導体回路設計方法であって、
半導体集積回路の回路情報に基づいて前記フリップフロップを設定し、前記フリップフロップを制御する制御信号を求め、前記フリップフロップにクロックゲーティングを適用したときの消費電力およびクロック遅延時間のばらつきの大きさを示す第1の評価値を算出し、前記第1の評価値が第1の閾値よりも大きい場合に、前記フリップフロップに対してクロックゲーティングを行うゲーテッドクロック構造を設定し、前記フリップフロップに該フリップフロップよりも消費電力の低い低電力フリップフロップを適用したときの消費電力および設置面積の大きさを示す第2の評価値を算出し、前記第2の評価値が第2の閾値よりも大きい場合に、前記フリップフロップを前記低電力フリップフロップに置換することを具備する。
A semiconductor circuit design method according to an embodiment of the present invention is a semiconductor circuit design method for designing a clock wiring structure for supplying a clock to a flip-flop of a semiconductor circuit,
Setting of the flip-flop based on circuit information of a semiconductor integrated circuit, obtaining a control signal for controlling the flip-flop, and the magnitude of variations in power consumption and clock delay time when clock gating is applied to the flip-flop A gated clock structure for performing clock gating on the flip-flop is set when the first evaluation value is greater than a first threshold, and the flip-flop is set in the flip-flop. A second evaluation value indicating the power consumption and the size of the installation area when a low-power flip-flop having a lower power consumption than the flip-flop is applied is calculated, and the second evaluation value is less than the second threshold value. If so, replacing the flip-flop with the low-power flip-flop.

本発明に係る実施形態に従った半導体回路設計方法は、半導体回路のフリップフロップにクロックを供給するクロック配線構造を設計するための半導体回路設計方法であって、
半導体集積回路の回路情報に基づいて前記フリップフロップを設定し、前記フリップフロップを制御する制御信号を求め、前記フリップフロップにクロックゲーティングを適用したときの消費電力およびクロック遅延時間のばらつきの大きさを示す第1の評価値を算出し、前記第1の評価値が第1の閾値よりも大きい場合に、前記フリップフロップに対してクロックゲーティングを行うゲーテッドクロック構造を設定し、前記フリップフロップに格納される値の単位時間におけるスイッチング率に基づいて、前記フリップフロップの種類を置換候補として選択し、前記フリップフロップを前記置換候補のフリップフロップに置換したときの設置面積およびクロック遅延時間を計算し、前記設置面積および前記クロック遅延時間が許容範囲内の場合に、前記フリップフロップを前記置換候補のフリップフロップに置換することを具備する。
A semiconductor circuit design method according to an embodiment of the present invention is a semiconductor circuit design method for designing a clock wiring structure for supplying a clock to a flip-flop of a semiconductor circuit,
Setting of the flip-flop based on circuit information of a semiconductor integrated circuit, obtaining a control signal for controlling the flip-flop, and the magnitude of variations in power consumption and clock delay time when clock gating is applied to the flip-flop A gated clock structure for performing clock gating on the flip-flop is set when the first evaluation value is greater than a first threshold, and the flip-flop is set in the flip-flop. Based on the switching rate of the stored value in unit time, the type of the flip-flop is selected as a replacement candidate, and the installation area and clock delay time when the flip-flop is replaced with the replacement candidate flip-flop are calculated. The installation area and the clock delay time are within an allowable range. The case comprises a substitution of the flip-flop to flip-flop of the replacement candidate.

本発明による半導体回路設計方法は、ゲーテッドクロック技術および低電力フリップフロップを用いながら、消費電力およびクロック遅延時間を低減することができる。   The semiconductor circuit design method according to the present invention can reduce the power consumption and the clock delay time while using the gated clock technology and the low power flip-flop.

以下、図面を参照して本発明に係る実施形態を説明する。本実施形態は、本発明を限定するものではない。   Embodiments according to the present invention will be described below with reference to the drawings. This embodiment does not limit the present invention.

(第1の実施形態)
図1は、本発明に係る第1の実施形態に従った半導体回路設計装置の構成を示すブロック図である。半導体回路設計装置は、半導体回路のフリップフロップにクロックを供給するクロック配線構造を設計する。本実施形態による半導体回路設計装置は、回路情報格納部10と、論理合成/配置処理部20と、終了条件判定部30と、ゲーテッドクロック構造生成部40と、フリップフロップ置換部50と、ユーザインタフェース60とを備えている。回路情報格納部10は、半導体回路の回路情報、ゲーテッドクロック構造の回路情報、低電力フリップフロップの回路情報等を記憶する。論理合成/配置処理部20は、半導体回路の構成要素を論理合成し、各構成要素の配置処理を実行する。終了条件判定部30は、設計された半導体回路のクロック遅延時間等の特性が規格に適合する場合に設計終了を決定する。ゲーテッドクロック構造生成部40は、フリップフロップにゲーテッドクロック構造を適用する場合にゲーテッドクロック構造を生成する。フリップフロップ置換部50は、フリップフロップを低電力フリップフロップに置換する場合に低電力フリップフロップを生成する。ユーザインタフェース60は、外部からの情報を受け取るために設けられている。
(First embodiment)
FIG. 1 is a block diagram showing a configuration of a semiconductor circuit design apparatus according to the first embodiment of the present invention. A semiconductor circuit design apparatus designs a clock wiring structure for supplying a clock to a flip-flop of a semiconductor circuit. The semiconductor circuit design apparatus according to the present embodiment includes a circuit information storage unit 10, a logic synthesis / placement processing unit 20, an end condition determination unit 30, a gated clock structure generation unit 40, a flip-flop replacement unit 50, a user interface. 60. The circuit information storage unit 10 stores circuit information of a semiconductor circuit, circuit information of a gated clock structure, circuit information of a low power flip-flop, and the like. The logic synthesis / placement processing unit 20 logically synthesizes the components of the semiconductor circuit and executes the placement process of each component. The termination condition determination unit 30 determines the termination of design when characteristics such as the clock delay time of the designed semiconductor circuit conform to the standard. The gated clock structure generation unit 40 generates a gated clock structure when the gated clock structure is applied to the flip-flop. The flip-flop replacement unit 50 generates a low-power flip-flop when replacing the flip-flop with a low-power flip-flop. The user interface 60 is provided for receiving information from the outside.

図2は、本発明に係る第1の実施形態に従った半導体回路設計方法を示すフロー図である。まず、論理構成/配置処理部20が、回路情報格納部10から半導体回路の回路情報を得て、その回路情報に基づいてフリップフロップをロジカルに合成配置する(S10)。フリップフロップは、LSIにおける様々なデータ間の同期をとるための順序回路であり、その動作タイミング等を考慮して配置される。   FIG. 2 is a flowchart showing a semiconductor circuit design method according to the first embodiment of the present invention. First, the logic configuration / placement processing unit 20 obtains circuit information of a semiconductor circuit from the circuit information storage unit 10, and logically synthesizes and places flip-flops based on the circuit information (S10). The flip-flop is a sequential circuit for synchronizing various data in the LSI, and is arranged in consideration of its operation timing and the like.

次に、回路情報に基づいて、CTS(Clock Tree Synthesis)処理を行う(S101)。ここでは、バッファLCB(Local Clock Buffer)が回路に追加、配置される。これにより、フリップフロップF/FおよびバッファLCBの配置およびフリップフロップF/FとバッファLCBとの間を接続する配線(クロックツリー配線)が設定される。クロックツリー配線は、半導体集積回路の回路情報に基づいてフリップフロップF/Fへクロックを供給する。クロックツリー配線はフリップフロップF/FおよびバッファLCB以外の回路要素を考慮してチップ内に設定される。   Next, CTS (Clock Tree Synthesis) processing is performed based on the circuit information (S101). Here, a buffer LCB (Local Clock Buffer) is added and arranged in the circuit. Thereby, the arrangement of the flip-flop F / F and the buffer LCB and the wiring (clock tree wiring) for connecting the flip-flop F / F and the buffer LCB are set. The clock tree wiring supplies a clock to the flip-flop F / F based on circuit information of the semiconductor integrated circuit. The clock tree wiring is set in the chip in consideration of circuit elements other than the flip-flop F / F and the buffer LCB.

次に、タイミング解析部25がタイミング解析を行う(S102)。タイミング解析は、例えば、CTS処理において構成されたクロックツリー配線のクロック遅延時間、データパスの遅延時間、半導体回路の動作速度等を計測することによって行われる。このときに、半導体回路の消費電力、半導体回路の面積といったパラメータも計測する。   Next, the timing analysis unit 25 performs timing analysis (S102). The timing analysis is performed, for example, by measuring the clock delay time of the clock tree wiring configured in the CTS process, the delay time of the data path, the operation speed of the semiconductor circuit, and the like. At this time, parameters such as the power consumption of the semiconductor circuit and the area of the semiconductor circuit are also measured.

次に、終了条件判定部30が、タイミング解析部25によって得られたパラメータが終了条件を満たしているか否かを判定する(S103)。より詳細には、終了条件判定部30は、ユーザインタフェース60を介してパラメータの規格値を獲得し、この規格値とタイミング解析によって得られたパラメータ値とを比較する。パラメータ値が規格値より小さい場合に、終了条件判定部30は、終了条件を満たすと判定し、処理は終了する。   Next, the end condition determination unit 30 determines whether or not the parameter obtained by the timing analysis unit 25 satisfies the end condition (S103). More specifically, the end condition determination unit 30 acquires the standard value of the parameter via the user interface 60, and compares this standard value with the parameter value obtained by the timing analysis. When the parameter value is smaller than the standard value, the end condition determination unit 30 determines that the end condition is satisfied, and the process ends.

例えば、クロック遅延時間、半導体回路の消費電力、半導体回路の面積、半導体回路の動作速度がそれぞれ規格値以下であった場合に、終了条件判定部30は、処理を終了させる。あるいは、クロック遅延時間、半導体回路の消費電力、半導体回路の面積および半導体回路の動作速度を演算することによって得られた評価関数値が所定の指標値を下回った場合に、終了条件判定部30は、処理を終了してもよい。さらに、ステップS101〜S105が予め設定された回数だけ繰り返し実行された場合に、終了条件判定部30は、処理を終了してもよい。終了条件を満たしていない場合には、ステップS104〜S105を実行する。   For example, when the clock delay time, the power consumption of the semiconductor circuit, the area of the semiconductor circuit, and the operation speed of the semiconductor circuit are less than or equal to the standard values, the end condition determination unit 30 ends the process. Alternatively, when the evaluation function value obtained by calculating the clock delay time, the power consumption of the semiconductor circuit, the area of the semiconductor circuit, and the operation speed of the semiconductor circuit falls below a predetermined index value, the termination condition determination unit 30 The process may be terminated. Furthermore, when the steps S101 to S105 are repeatedly executed a preset number of times, the end condition determination unit 30 may end the process. If the end condition is not satisfied, steps S104 to S105 are executed.

ステップS104では、ゲーテッドクロック構造生成部40が各フリップフロップに対してクロックゲーティングを適用するか否かを決定し、クロックゲーティングを適用する場合には、フリップフロップF/Fに対してゲーテッドクロック構造を生成する。ステップS104は、図3に示すフロー図に従って実行される。   In step S104, the gated clock structure generation unit 40 determines whether or not clock gating is applied to each flip-flop, and when clock gating is applied, the gated clock structure is generated for the flip-flop F / F. Generate a structure. Step S104 is executed according to the flowchart shown in FIG.

まず、回路情報格納部10内の回路情報に含まれるフリップフロップに未選択のフリップフロップがある場合(S201のYESの場合)、未選択フリップフロップの1つを選択する(S202)。当初、いずれのフリップフロップも未選択であるので、いずれか1つのフリップフロップを選択してステップS203へ進む。   First, when there is an unselected flip-flop among the flip-flops included in the circuit information in the circuit information storage unit 10 (YES in S201), one of the unselected flip-flops is selected (S202). Initially, since none of the flip-flops is selected, one of the flip-flops is selected and the process proceeds to step S203.

次に、ゲーテッドクロック構造生成部40は、ステップS202で選択されたフリップフロップ(以下、第1の選択フリップフロップという)がクロックゲーティングされているか否かを判定する(S203)。クロックゲーティングの判定は、第1の選択フリップフロップのクロック入力を辿り、クロックゲーティングセルが存在するか否かで行うことができる。クロックゲーティングセルは、例えば、クロック信号およびイネーブル信号を入力として受けるANDゲートまたはORゲートで構成されている。従って、より詳細には、クロックゲーティングの判定は、クロック信号およびイネーブル信号を入力として受けるANDゲートまたはORゲートが、第1の選択フリップフロップのクロック入力側に存在するか否かで行うことができる。ゲーテッドクロック構造は、イネーブル信号が活性(例えば、論理ハイ)である場合に、クロック信号をフリップフロップへ通過させ、イネーブル信号が不活性(例えば、論理ロウ)である場合に、クロック信号を遮断する構造である。即ち、ゲーテッドクロック構造は、フリップフロップへデータ転送が必要な場合にイネーブル信号の制御を受けてクロック信号を通過させ、あるいは、フリップフロップへのデータ転送が不要な場合にクロック信号を遮断するようにイネーブル信号でクロック信号を制御する構造である。尚、ゲーテッドクロックされていないフリップフロップは、例えば、図5に示す構造を有する。ゲーテッドクロックされているフリップフロップは、例えば、図6に示す構造を有する。   Next, the gated clock structure generation unit 40 determines whether or not the flip-flop selected in step S202 (hereinafter referred to as the first selected flip-flop) is clock-gated (S203). The determination of clock gating can be performed by tracing the clock input of the first selection flip-flop and determining whether there is a clock gating cell. The clock gating cell is composed of, for example, an AND gate or an OR gate that receives a clock signal and an enable signal as inputs. Therefore, in more detail, the clock gating determination is performed based on whether an AND gate or an OR gate that receives the clock signal and the enable signal as inputs is present on the clock input side of the first selection flip-flop. it can. The gated clock structure passes the clock signal to the flip-flop when the enable signal is active (eg, logic high) and blocks the clock signal when the enable signal is inactive (eg, logic low). Structure. That is, the gated clock structure allows the clock signal to pass under the control of the enable signal when data transfer to the flip-flop is necessary, or blocks the clock signal when data transfer to the flip-flop is unnecessary. The clock signal is controlled by the enable signal. Note that the flip-flop that is not gated clock has, for example, the structure shown in FIG. The flip-flop that is gated clock has, for example, the structure shown in FIG.

第1の選択フリップフロップがクロックゲーティングされている場合(S203のYESの場合)、第1の選択フリップフロップに入力されるイネーブル信号を制御信号とする(S204)。例えば、制御信号は、図6に示すCTRLFjである。   When the first selection flip-flop is clock-gated (YES in S203), an enable signal input to the first selection flip-flop is used as a control signal (S204). For example, the control signal is CTRLFj shown in FIG.

第1の選択フリップフロップがクロックゲーティングされていない場合(S203のNOの場合)、第1の選択フリップフロップへのデータ入力信号に基づいて制御信号を求める(S205)。この場合、例えば、次のような方法により制御信号を求めることができる。一般に、フリップフロップFjのデータ入力信号は、ブール式fFj(Q,x1,x2,・・・xn)で表わすことができる。但し、ここでQは、フリップフロップFjの出力値を表記したものである。x1,x2,・・・xnは、外部入力信号及び他のフリップフロップの出力値を変数表記したものである。ブール式fFj(Q,x1,x2,・・・xn)が次の式1で表わされた場合に、CTRLFjが制御信号となる。
Fj(Q,x1,x2,・・・xn) = CTRLFj(x1,x2,・・・xn)・Q+CTRLFj(x1,x2,・・・xn)’・gFj(Q,x1,x2,・・・xn) (式1)
ここで、CTRLFj(x1,x2,・・・xn)’は、CTRLFjの否定を表わす。gFj(Q,x1,x2,・・・xn)は、図5または図6に示すデータ入力信号dataを示す。CTRLFjは、fFj(Q,x1,x2,・・・xn)に対して、代数的除数(algebraic divisor)をQとして、代数的除算(algebraic division)を行うことにより求めることが可能である。
When the first selection flip-flop is not clock-gated (NO in S203), a control signal is obtained based on the data input signal to the first selection flip-flop (S205). In this case, for example, the control signal can be obtained by the following method. In general, a data input signal of the flip-flop Fj can be expressed by a Boolean expression f Fj (Q, x1, x2,... Xn). Here, Q represents the output value of the flip-flop Fj. xn is a variable notation of the external input signal and the output value of another flip-flop. When the Boolean expression f Fj (Q, x1, x2,... Xn) is expressed by the following expression 1, CTRL Fj is a control signal.
f Fj (Q, x1, x2,... xn) = CTRL Fj (x1, x2,... xn) · Q + CTRL Fj (x1, x2,... xn) ′ · g Fj (Q, x1, x2 ,... Xn) (Formula 1)
Here, CTRL Fj (x1, x2,... Xn) ′ represents negation of CTRL Fj . g Fj (Q, x1, x2,... xn) represents the data input signal data shown in FIG. CTRL Fj can be obtained by performing an algebraic division on f Fj (Q, x1, x2,... Xn) with an algebraic divisor as Q. .

このように、クロックゲーティングされていないフリップフロップの制御信号CTRLFjも求めることができる。 Thus, the control signal CTRL Fj of the flip-flop that is not clock gated can also be obtained.

ゲーテッドクロック構造生成部40は、フリップフロップを1つずつ選択し、ステップS201〜S205を各フリップフロップに対して実行する。全フリップフロップの選択が終了し、それぞれの制御信号CTRLFjが求まると(ステップS201のNOの場合)、ゲーテッドクロック構造生成部40は、ステップS206〜S211を実行する。ステップS206〜S211において、ゲーテッドクロック構造生成部40は、各フリップフロップの制御信号CTRLFjを用いて、各フリップフロップにゲーテッドクロック構造を適用するか否かを決定する。 The gated clock structure generation unit 40 selects flip-flops one by one, and executes steps S201 to S205 for each flip-flop. When selection of all the flip-flops is completed and the respective control signals CTRL Fj are obtained (NO in step S201), the gated clock structure generation unit 40 executes steps S206 to S211. In steps S206 to S211, the gated clock structure generation unit 40 determines whether to apply the gated clock structure to each flip-flop, using the control signal CTRL Fj of each flip-flop.

ゲーテッドクロック構造生成部40は、全フリップフロップを未選択状態に戻し、再度、フリップフロップを1つずつ選択する(S207)。当初、いずれのフリップフロップも未選択であるので、いずれか1つのフリップフロップを選択してステップS208へ進む。   The gated clock structure generation unit 40 returns all the flip-flops to the unselected state, and selects the flip-flops one by one again (S207). Initially, since none of the flip-flops is selected, one of the flip-flops is selected and the process proceeds to step S208.

ゲーテッドクロック構造生成部40は、ステップS207で選択されたフリップフロップ(第2の選択フリップフロップという)に対して第1の評価値としての評価関数を計算する(S208)。評価関数は、例えば、h1(y1,y2,y3)と定義する。評価関数h1は、y1、y2およびy3の演算式で表される関数である。   The gated clock structure generation unit 40 calculates an evaluation function as a first evaluation value for the flip-flop selected in step S207 (referred to as a second selected flip-flop) (S208). The evaluation function is defined as, for example, h1 (y1, y2, y3). The evaluation function h1 is a function represented by an arithmetic expression of y1, y2, and y3.

例えば、y1は、制御信号CTRLFjが単位時間当たりに不活性状態にある確率(CTRLFj=1の確率)である。CTRLFjが1である場合、CTRLFj’が0となる。このとき、式1のデータ入力信号fFjは、フリップフロップの出力信号Qに等しくなる。つまり、制御信号CTRLFjが不活性状態である場合には、フリップフロップへのクロック入力信号は停止される。従って、y1が大きいことは、クロック信号を阻止する単位時間当たりの割合が大きいことを意味する。クロック信号を阻止する割合が大きいことは、ゲーテッドクロック構造の利用頻度(ゲーティングの頻度)が高く、ゲーテッドクロック構造によって効率よくゲーティングできることを意味する。即ち、y1が大きいほど、ゲーテッドクロック構造をフリップフロップに適用することによって得られるメリットが大きい。 For example, y1 is the probability that the control signal CTRL Fj is in an inactive state per unit time (the probability of CTRL Fj = 1). When CTRL Fj is 1, CTRL Fj ′ is 0. At this time, the data input signal f Fj of Equation 1 is equal to the output signal Q of the flip-flop. That is, when the control signal CTRL Fj is in an inactive state, the clock input signal to the flip-flop is stopped. Therefore, a large y1 means that the rate per unit time for blocking the clock signal is large. A large ratio of blocking the clock signal means that the gated clock structure is frequently used (gating frequency) and can be efficiently gated by the gated clock structure. In other words, the larger y1, the greater the merit obtained by applying the gated clock structure to the flip-flop.

y2は、同じ制御信号CTRLFjで制御されるフリップフロップの個数である。同じ制御信号CTRLFjで制御されるフリップフロップの個数が多ければ、1つのクロックゲーティングセルは、より多くのフリップフロップをゲーティングすることができる。よって、y2が大きいほど、クロックゲーティングセルは、低消費電力で多くのフリップフロップをゲーティングすることができ、y2が大きいほど、フリップフロップにゲーテッドクロック構造を適用することによって得られるメリットが大きい。 y2 is the number of flip-flops controlled by the same control signal CTRL Fj . If the number of flip-flops controlled by the same control signal CTRL Fj is large, one clock gating cell can gate more flip-flops. Therefore, as y2 is larger, the clock gating cell can gate more flip-flops with lower power consumption, and as y2 is larger, the merit obtained by applying the gated clock structure to the flip-flops is larger. .

例えば、y3は、同じ制御信号CTRLFjで制御されるフリップフロップがどの程度分離して配置されているかを示す指標である。より詳細には、y3は、同じ制御信号CTRLFjで制御されるフリップフロップ間の距離でよい。y3は、共通の配線ノードから同じ制御信号CTRLFjで制御される各フリップフロップまでの距離でもよい。y3は、同じ制御信号CTRLFjで制御されるフリップフロップ間のクロック遅延時間の差(クロックスキュー)であってもよい。 For example, y3 is an index indicating how separated the flip-flops controlled by the same control signal CTRL Fj are arranged. More specifically, y3 may be a distance between flip-flops controlled by the same control signal CTRL Fj . y3 may be a distance from the common wiring node to each flip-flop controlled by the same control signal CTRL Fj . y3 may be a clock delay time difference (clock skew) between flip-flops controlled by the same control signal CTRL Fj .

同じ制御信号CTRLFjで制御されるフリップフロップが互いに接近していると、ゲーテッドクロック構造は、クロックスキューを増大させることなく、フリップフロップをゲーティングすることができる。従って、y3が小さいほど、フリップフロップにゲーテッドクロック構造を適用することが好ましい。 When flip-flops controlled by the same control signal CTRL Fj are close to each other, the gated clock structure can gate the flip-flops without increasing clock skew. Therefore, it is preferable to apply the gated clock structure to the flip-flop as y3 is smaller.

以上のようなy1〜y3を用いて、評価関数h1を式3のように予め定義することができる。
h1(y1,y2,y3)=k1・y1+k2・y2−k3・y3 (式3)
ここで、k1、k2およびk3は重み付け係数であり、y1〜y3の重要度が高いほどk1、k2およびk3は大きくなる。h1は、フリップフロップにゲーテッドクロック構造を適用したときの消費電力の低さの度合いおよびクロック遅延時間のばらつき(クロックスキュー)の小ささの度合いを示す。従って、評価関数h1が大きいほど、クロック配線構造の消費電力が低く、かつ、クロック配線構造のクロックスキューが小さくなる。
Using y1 to y3 as described above, the evaluation function h1 can be defined in advance as shown in Equation 3.
h1 (y1, y2, y3) = k1 · y1 + k2 · y2−k3 · y3 (Formula 3)
Here, k1, k2, and k3 are weighting coefficients, and k1, k2, and k3 increase as the importance of y1 to y3 increases. h1 indicates the degree of low power consumption and the degree of variation in clock delay time (clock skew) when the gated clock structure is applied to the flip-flop. Therefore, the larger the evaluation function h1, the lower the power consumption of the clock wiring structure and the smaller the clock skew of the clock wiring structure.

評価関数h1は、式4のような関数であってもよい。
h1(y1,y2,y3)=k1・y1・k2・y2/k3・y3 (式4)
式4に示すh1もまた、フリップフロップにゲーテッドクロック構造を適用したときの消費電力の低さの度合いおよびクロック遅延時間のばらつき(クロックスキュー)の小ささの度合いを示す。
The evaluation function h1 may be a function as shown in Expression 4.
h1 (y1, y2, y3) = k1 · y1 · k2 · y2 / k3 · y3 (Formula 4)
H1 shown in Equation 4 also indicates the degree of low power consumption and the degree of variation in clock delay time (clock skew) when the gated clock structure is applied to the flip-flop.

ゲーテッドクロック構造生成部40は、ステップS208で得られた評価関数h1の値(第1の評価値)とユーザインタフェース60を介して得た第1の閾値(指標値)とを比較する(S209)。その結果、第1の評価値が第1の閾値よりも大きい場合には、ゲーテッドクロック構造生成部40は、フリップフロップに対してゲーテッドクロック構造を設定する(S210)。第1の評価値が第1の閾値よりも小さい場合には、ゲーテッドクロック構造生成部40は、フリップフロップに対してゲーテッドクロック構造を設定しない(S211)。   The gated clock structure generation unit 40 compares the value (first evaluation value) of the evaluation function h1 obtained in step S208 with the first threshold value (index value) obtained via the user interface 60 (S209). . As a result, when the first evaluation value is larger than the first threshold, the gated clock structure generation unit 40 sets a gated clock structure for the flip-flop (S210). When the first evaluation value is smaller than the first threshold value, the gated clock structure generation unit 40 does not set the gated clock structure for the flip-flop (S211).

ゲーテッドクロック構造生成部40は、フリップフロップを1つずつ選択し、ステップS206〜S211を各フリップフロップに対して実行する。全フリップフロップの選択が終了し、それぞれのフリップフロップに対してゲーテッドクロック構造の設定の要否が決定されると(ステップS206のNOの場合)、ステップS105へ進む。   The gated clock structure generation unit 40 selects flip-flops one by one and executes steps S206 to S211 for each flip-flop. When selection of all the flip-flops is completed and it is determined whether or not it is necessary to set the gated clock structure for each flip-flop (NO in step S206), the process proceeds to step S105.

フリップフロップ置換部50は、各フリップフロップを低電力フリップフロップに置換するか否かを決定し、必要な場合には、フリップフロップを低電力フリップフロップに置換する(S105)。ステップS105は、図4に示すフロー図に従って実行される。まず、回路情報格納部10内の回路情報に含まれるフリップフロップに未選択のフリップフロップがある場合(S301のYESの場合)、未選択フリップフロップの1つを選択する(S302)。当初、いずれのフリップフロップも未選択であるので、いずれか1つのフリップフロップを選択してステップS303へ進む。   The flip-flop replacement unit 50 determines whether to replace each flip-flop with a low-power flip-flop, and replaces the flip-flop with a low-power flip-flop if necessary (S105). Step S105 is executed according to the flowchart shown in FIG. First, when there is an unselected flip-flop among the flip-flops included in the circuit information in the circuit information storage unit 10 (YES in S301), one of the unselected flip-flops is selected (S302). Initially, since none of the flip-flops is selected, one of the flip-flops is selected and the process proceeds to step S303.

次に、フリップフロップ置換部50は、ステップS302で選択されたフリップフロップ(以下、第3の選択フリップフロップという)の第2の評価値としての評価関数を計算する(S303)。評価関数は、例えば、h2(z1,z2,z3,z4,z5)と定義する。評価関数h2は、z1,z2,z3,z4およびz5の演算式で表される関数である。   Next, the flip-flop replacement unit 50 calculates an evaluation function as a second evaluation value of the flip-flop selected in step S302 (hereinafter referred to as a third selected flip-flop) (S303). The evaluation function is defined as h2 (z1, z2, z3, z4, z5), for example. The evaluation function h2 is a function represented by an arithmetic expression of z1, z2, z3, z4, and z5.

z1は、制御信号CTRLFjが単位時間当たりに活性状態にある確率(CTRLFj=0の確率)である。CTRLFjが0である場合、式1のデータ入力信号fFjは、データgに等しくなる。つまり、制御信号CTRLFjが活性状態である場合には、クロック信号はフリップフロップへ入力される。従って、z1が大きいことは、単位時間当たりにクロック信号を通過させる割合が大きいことを意味する。クロック信号を通過させる割合が大きいことは、フリップフロップの利用頻度が高いことを意味する。このような場合、フリップフロップを低電力フリップフロップに置換すれば、消費電力の低減効果が大きい。即ち、z1が大きいほど、フリップフロップを低電力フリップフロップに置換するメリットが大きい。 z1 is a probability that the control signal CTRL Fj is in an active state per unit time (a probability of CTRL Fj = 0). When CTRL Fj is 0, the data input signal f Fj of Equation 1 is equal to the data g F. That is, when the control signal CTRL Fj is active, the clock signal is input to the flip-flop. Therefore, a large z1 means that the rate of passing the clock signal per unit time is large. A large ratio of passing the clock signal means that the flip-flop is frequently used. In such a case, if the flip-flop is replaced with a low-power flip-flop, the effect of reducing power consumption is great. That is, the larger z1 is, the greater the merit of replacing a flip-flop with a low-power flip-flop.

z2は、第3の選択フリップフロップにゲーテッドクロック構造が適用されているか否かを示すフラグである。例えば、z2は、ゲーテッドクロック構造が第3の選択フリップフロップに適用されていない場合には1以上の数値とし、ゲーテッドクロック構造が第3の選択フリップフロップに適用されている場合には0とする。これにより、ゲーテッドクロック構造が適用されているフリップフロップに対しては、低電力フリップフロップを適用しない、あるいは、低電力フリップフロップの適用の可能性を低くすることが可能となる。   z2 is a flag indicating whether or not the gated clock structure is applied to the third selection flip-flop. For example, z2 is set to a value of 1 or more when the gated clock structure is not applied to the third selection flip-flop, and is set to 0 when the gated clock structure is applied to the third selection flip-flop. . As a result, the low-power flip-flop is not applied to the flip-flop to which the gated clock structure is applied, or the possibility of applying the low-power flip-flop can be reduced.

z3は、第3の選択フリップフロップが保持する値のスイッチング率である。図7に示すような低電力フリップフロップが保持する値のスイッチング率が高いと、低電力フリップフロップ内部のANDゲートやORゲートのスイッチング率が高くなる。これは、低電力フリップフロップを第3の選択フリップフロップに適用した場合に、消費電力が大きくなることを意味する。従って、スイッチング率が高い場合には、通常のフリップフロップを第3の選択フリップフロップに適用した方が好ましい。   z3 is the switching rate of the value held by the third selection flip-flop. When the switching rate of the value held by the low power flip-flop as shown in FIG. 7 is high, the switching rate of the AND gate and OR gate inside the low power flip-flop increases. This means that the power consumption increases when the low power flip-flop is applied to the third selection flip-flop. Therefore, when the switching rate is high, it is preferable to apply a normal flip-flop to the third selection flip-flop.

z4は、通常のフリップフロップと低電力フリップフロップとの面積差分である。低電力フリップフロップは、例えば、CCK−F/FまたはCDM−F/Fであり、通常のフリップフロップよりも設置面積が大きい。従って、z4は小さいほど好ましい。   z4 is an area difference between a normal flip-flop and a low-power flip-flop. The low power flip-flop is, for example, CCK-F / F or CDM-F / F, and has a larger installation area than a normal flip-flop. Accordingly, z4 is preferably as small as possible.

z5は、第3の選択フリップフロップのタイミング余裕度である。低電力フリップフロップは、排他的ORゲートや排他的NORゲートを有するので、その分、通常のフリップフロップよりもクロック遅延時間が大きい。従って、タイミング余裕度が大きい場合に、低電力フリップフロップを第3の選択フリップフロップに適用することが好ましい。   z5 is the timing margin of the third selection flip-flop. Since the low power flip-flop has an exclusive OR gate and an exclusive NOR gate, the clock delay time is longer than that of a normal flip-flop. Therefore, it is preferable to apply the low power flip-flop to the third selection flip-flop when the timing margin is large.

以上のようなz1〜z5を用いて、第2の評価値としての評価関数h2を式5のように予め定義する。
h2(z1,z2,z3,z4,z5)=c1・z1+c2・z2−c3・z3−c4・z4+c5・z5 (式5)
ここで、c1〜c5は重み付け係数であり、z1〜z5の重要度が高いほどc1〜c5は大きくなる。評価関数h2は、第3の選択フリップフロップにゲーテッドクロック構造が適用されているか否か、タイミング余裕度、第3の選択フリップフロップに低電力フリップフロップを適用したときの消費電力の低さおよび設置面積などに基づいて算出される。評価関数h2が大きいほど、第3の選択フリップフロップに低電力フリップフロップを適用することが好ましいと言える。
Using z1 to z5 as described above, an evaluation function h2 as a second evaluation value is defined in advance as in Expression 5.
h2 (z1, z2, z3, z4, z5) = c1 · z1 + c2 · z2−c3 · z3−c4 · z4 + c5 · z5 (Formula 5)
Here, c1 to c5 are weighting coefficients, and c1 to c5 increase as the importance of z1 to z5 increases. The evaluation function h2 is whether the gated clock structure is applied to the third selection flip-flop, the timing margin, the low power consumption when the low-power flip-flop is applied to the third selection flip-flop, and the installation Calculated based on the area and the like. It can be said that as the evaluation function h2 is larger, it is preferable to apply a low-power flip-flop to the third selection flip-flop.

評価関数h2は、式6のような関数であってもよい。
h2(z1,z2,z3,z4,z5)=c1・z1・c2・z2・c5・z5/(c3・z3・c4・z4) (式6)
h2は、ゲーテッドクロック構造が第3の選択フリップフロップに適用されている場合(z2=0の場合)に0となる。よって、式6のh2を用いることによって、ゲーテッドクロック構造が第3の選択フリップフロップに適用されている場合には、フリップフロップ置換部50は、第3の選択フリップフロップに低電力フリップフロップを適用しない。
The evaluation function h2 may be a function as shown in Equation 6.
h2 (z1, z2, z3, z4, z5) = c1, z1, c2, z2, c5, z5 / (c3, z3, c4, z4) (Formula 6)
h2 is 0 when the gated clock structure is applied to the third selection flip-flop (when z2 = 0). Therefore, by using h2 in Equation 6, when the gated clock structure is applied to the third selection flip-flop, the flip-flop replacement unit 50 applies the low power flip-flop to the third selection flip-flop. do not do.

フリップフロップ置換部50は、ステップS303で得られた評価関数h2の値(第2の評価値)とユーザインタフェース60を介して得た第2の閾値(指標値)とを比較する(S304)。その結果、第2の評価値が第2の閾値よりも大きい場合には、フリップフロップ置換部50は、第3の選択フリップフロップを低電力フリップフロップに置換する(S305)。第2の評価値が第2の閾値よりも小さい場合には、フリップフロップ置換部50は、第3の選択フリップフロップを通常のフリップフロップのままとする(S306)。   The flip-flop replacement unit 50 compares the value of the evaluation function h2 obtained in step S303 (second evaluation value) with the second threshold value (index value) obtained via the user interface 60 (S304). As a result, when the second evaluation value is larger than the second threshold value, the flip-flop replacement unit 50 replaces the third selection flip-flop with a low-power flip-flop (S305). If the second evaluation value is smaller than the second threshold value, the flip-flop replacing unit 50 keeps the third selected flip-flop as a normal flip-flop (S306).

フリップフロップ置換部50は、フリップフロップを1つずつ選択し、ステップS303〜S306を各フリップフロップに対して実行する。全フリップフロップの選択が終了し、それぞれのフリップフロップに対して低電力フリップフロップへの置換の要否が決定されると(ステップS301のNOの場合)、ステップS101へ進む。   The flip-flop replacement unit 50 selects flip-flops one by one and executes steps S303 to S306 for each flip-flop. When selection of all the flip-flops is completed and it is determined whether or not each flip-flop needs to be replaced with a low-power flip-flop (NO in step S301), the process proceeds to step S101.

なお、低電力フリップフロップが既に回路情報において設定されている場合、フリップフロップ置換部50は、低電力フリップフロップを第3の選択フリップフロップとしてステップS303〜S306を実行すればよい。例えば、第2の評価値が第2の閾値よりも大きい場合、フリップフロップ置換部50は、第3の選択フリップフロップとしての低電力フリップフロップを通常フリップフロップに置換し、第2の評価値が第2の閾値よりも小さい場合、フリップフロップ置換部50は、低電力フリップフロップをそのままとする。   When the low power flip-flop is already set in the circuit information, the flip-flop replacement unit 50 may perform steps S303 to S306 using the low power flip-flop as the third selection flip-flop. For example, when the second evaluation value is larger than the second threshold value, the flip-flop replacement unit 50 replaces the low-power flip-flop as the third selection flip-flop with a normal flip-flop, and the second evaluation value is If it is smaller than the second threshold, the flip-flop replacement unit 50 leaves the low-power flip-flop as it is.

その後、図2に示すステップS101において再度CTS処理が実行され、ステップS102においてタイミング解析が実行される。タイミング解析で得られたパラメータが終了条件を満たしていない場合(S103)には、ステップS104、S105、S101およびS102が繰返し実行される。このとき、第1あるいは第2の評価関数を変更しながらステップS104、S105、S101およびS102を繰り返してよい。タイミング解析で得られたパラメータが終了条件を満たしている場合(S103)には、半導体回路の設計は終了する。   Thereafter, the CTS process is executed again in step S101 shown in FIG. 2, and the timing analysis is executed in step S102. When the parameter obtained by the timing analysis does not satisfy the end condition (S103), steps S104, S105, S101, and S102 are repeatedly executed. At this time, steps S104, S105, S101, and S102 may be repeated while changing the first or second evaluation function. When the parameters obtained by the timing analysis satisfy the termination condition (S103), the design of the semiconductor circuit is terminated.

図5は、通常のフリップフロップの一例を示すブロック図である。マルチプレクサMPXは、制御信号cndに応じて、データdataまたはフリップフロップF/Fの出力Qを選択的に出力する。フリップフロップF/Fは、クロック信号clkに基づいて、マルチプレクサMPXの出力fFjを受け取り、これを出力する。 FIG. 5 is a block diagram illustrating an example of a normal flip-flop. The multiplexer MPX selectively outputs data data or the output Q of the flip-flop F / F in accordance with the control signal cnd. The flip-flop F / F receives the output f Fj of the multiplexer MPX based on the clock signal clk and outputs it.

図6は、ゲーテッドクロック構造の一例を示すブロック図である。ラッチ回路は、クロック信号clkの逆相クロック信号に基づいて制御信号cndをラッチする。ラッチされた制御信号cndがハイレベルの場合には、ANDゲートG1はクロックclkをフリップフロップF/Fへ通過させる。ラッチされた制御信号cndがロウレベルの場合には、ANDゲートG1はクロックclkを遮断する。   FIG. 6 is a block diagram illustrating an example of a gated clock structure. The latch circuit latches the control signal cnd based on the reverse phase clock signal of the clock signal clk. When the latched control signal cnd is at a high level, the AND gate G1 passes the clock clk to the flip-flop F / F. When the latched control signal cnd is at a low level, the AND gate G1 cuts off the clock clk.

低電力フリップフロップは、CCK−F/FまたはCDM−F/Fのいずれか一方でよい。例えば、図7にCCK−F/Fの一例を示す。   The low power flip-flop may be either CCK-F / F or CDM-F / F. For example, FIG. 7 shows an example of CCK-F / F.

本実施形態によれば、消費電力、クロック遅延時間、設置面積等のパラメータを考慮して、ゲーテッドクロック構造をフリップフロップに適用し、あるいは、フリップフロップを低電力フリップフロップに置換することができる。従って、消費電力のより低い、クロックスキューのより小さい、あるいは、設置面積がより小さい半導体回路を設計することができる。消費電力、クロック遅延時間、設置面積等のパラメータは、重み付け係数によって、その重要度を変更することができる。よって、規格の厳しいパラメータの重み付け係数を大きくすることによって、そのパラメータに適合した半導体回路を設計することができる。さらに、ゲーテッドクロック構造および/または低電力フリップフロップの適用とタイミング解析とを繰返し実行することによって、仕様に適合した半導体回路を容易に設計することができる。   According to this embodiment, in consideration of parameters such as power consumption, clock delay time, and installation area, the gated clock structure can be applied to the flip-flop, or the flip-flop can be replaced with a low-power flip-flop. Therefore, a semiconductor circuit with lower power consumption, smaller clock skew, or smaller installation area can be designed. The importance of parameters such as power consumption, clock delay time, and installation area can be changed by a weighting coefficient. Therefore, by increasing the weighting coefficient of a strict parameter, a semiconductor circuit suitable for the parameter can be designed. Furthermore, by repeatedly executing the gated clock structure and / or the application of the low power flip-flop and the timing analysis, it is possible to easily design a semiconductor circuit that meets the specifications.

尚、本実施形態において、1回目の処理では、ステップS101、S102およびS103を実行することなくスキップし、合成配置処理(S10)によって得られた設計回路データに基づいてステップS104以降のステップを実行してもよい。   In the present embodiment, in the first process, steps S101, S102, and S103 are skipped without being executed, and the steps after step S104 are executed based on the design circuit data obtained by the synthesis placement process (S10). May be.

評価関数h1およびh2を構成するパラメータy1〜y3およびz1〜z5は、これらに限定されず、さらに他のパラメータを付加してもよい。パラメータy1〜y3のうち2つを組み合わせて評価関数h1を構成してもよい。パラメータz1〜z5のうち2〜4つのパラメータを組み合わせて評価関数h2を構成してもよい。   The parameters y1 to y3 and z1 to z5 constituting the evaluation functions h1 and h2 are not limited to these, and other parameters may be added. The evaluation function h1 may be configured by combining two of the parameters y1 to y3. The evaluation function h2 may be configured by combining two to four parameters among the parameters z1 to z5.

(第2の実施形態)
図8は、本発明に係る第2の実施形態に従った低電力フリップフロップの置換ステップを示すフロー図である。第2の実施形態では、フリップフロップ置換部50は、複数の低電力フリップフロップから消費電力の最も低いフリップフロップを選択して、このフリップフロップを適用する。第2の実施形態のその他のステップS10〜S104は、第1の実施形態と同様でよい。
(Second Embodiment)
FIG. 8 is a flow diagram illustrating the replacement step of the low power flip-flop according to the second embodiment of the present invention. In the second embodiment, the flip-flop replacement unit 50 selects a flip-flop having the lowest power consumption from a plurality of low-power flip-flops, and applies this flip-flop. The other steps S10 to S104 of the second embodiment may be the same as those of the first embodiment.

CCK−F/F、CDM−F/F、通常のフリップフロップは、図9に示すようにスイッチング率に応じて、消費電力の大小関係が変化する。スイッチング率は、フリップフロップ内の値が単位時間において変化する確率である。例えば、フリップフロップFF1としてのCCK−F/Fは、スイッチング率pが0〜p0の範囲において他の2つのフリップフロップよりも消費電力が低い。フリップフロップFF2としてのCDM−F/Fは、スイッチング率pがp0〜p1の範囲において他の2つのフリップフロップよりも消費電力が低い。さらに、通常のフリップフロップFF3は、スイッチング率pがp1以上において他の2つのフリップフロップよりも消費電力が最も低い。フリップフロップ置換部50は、図9に示すスイッチング率と消費電力との関係を利用して、消費電力の小さいフリップフロップを適用する。スイッチング率と消費電力との関係は、ユーザインタフェース60を介して外部から獲得すればよい。   In the CCK-F / F, the CDM-F / F, and the normal flip-flop, the magnitude relationship of power consumption changes according to the switching rate as shown in FIG. The switching rate is the probability that the value in the flip-flop changes in unit time. For example, the CCK-F / F as the flip-flop FF1 has lower power consumption than the other two flip-flops when the switching rate p is in the range of 0 to p0. The CDM-F / F as the flip-flop FF2 has lower power consumption than the other two flip-flops when the switching rate p is in the range of p0 to p1. Further, the normal flip-flop FF3 has the lowest power consumption than the other two flip-flops when the switching rate p is p1 or more. The flip-flop replacement unit 50 applies a flip-flop with low power consumption by utilizing the relationship between the switching rate and the power consumption shown in FIG. The relationship between the switching rate and the power consumption may be acquired from the outside via the user interface 60.

図8に示すように、まず、回路情報格納部10内の回路情報に含まれるフリップフロップに未選択のフリップフロップがある場合(S401のYESの場合)、未選択フリップフロップの1つを選択する(S402)。当初、いずれのフリップフロップも未選択であるので、いずれか1つのフリップフロップを選択してステップS403へ進む。   As shown in FIG. 8, first, when there is an unselected flip-flop in the flip-flop included in the circuit information in the circuit information storage unit 10 (YES in S401), one of the unselected flip-flops is selected. (S402). Initially, since none of the flip-flops is selected, one of the flip-flops is selected and the process proceeds to step S403.

次に、フリップフロップのスイッチング率pを参照する(S403)。スイッチング率pがp0より小さい場合、低電力フリップフロップFF1(CCK−F/F)を置換候補とする(S405)。スイッチング率pがp0以上かつp1未満の場合、低電力フリップフロップFF2(CDM−F/F)を置換候補とする(S406)。スイッチング率pがp1以上の場合、通常のフリップフロップFF3を置換候補とする(S407)。   Next, the switching rate p of the flip-flop is referred to (S403). When the switching rate p is smaller than p0, the low power flip-flop FF1 (CCK-F / F) is set as a replacement candidate (S405). When the switching rate p is greater than or equal to p0 and less than p1, the low power flip-flop FF2 (CDM-F / F) is set as a replacement candidate (S406). When the switching rate p is equal to or higher than p1, the normal flip-flop FF3 is set as a replacement candidate (S407).

次に、フリップフロップ置換部50は、第3のフリップフロップを置換候補のフリップフロップで置換した場合の評価関数h2を計算する(S408)。例えば、評価関数h2は、式5または式6で示したものを使えるほか、設置面積の増加分ΔSおよびクロック遅延時間の増加分ΔTDをパラメータとして、h2=c6・ΔS+c7・ΔTDのように定義してもよく、h2=c6・ΔS・c7・ΔTDのように定義してもよい。尚、c6およびc7は、それぞれΔSおよびΔTDに対する重み付け係数である。   Next, the flip-flop replacement unit 50 calculates an evaluation function h2 when the third flip-flop is replaced with a replacement candidate flip-flop (S408). For example, the evaluation function h2 can be the one shown in Equation 5 or 6, and can be defined as h2 = c6 · ΔS + c7 · ΔTD with the installation area increase ΔS and the clock delay time increase ΔTD as parameters. Alternatively, it may be defined as h2 = c6 · ΔS · c7 · ΔTD. Note that c6 and c7 are weighting coefficients for ΔS and ΔTD, respectively.

評価関数h2の値が、指標値よりも小さく、設置面積およびクロック遅延時間が許容範囲内である場合(S409のYESの場合)、フリップフロップ置換部50は、第3の選択フリップフロップを、置換候補のフリップフロップに置換する(S410)。評価関数h2の値が、指標値よりも大きく、設置面積およびクロック遅延時間が許容範囲外である場合(S409のNOの場合)、フリップフロップ置換部50は、第3の選択フリップフロップを置換しない(S411)。つまり、第3の選択フリップフロップは、当初設定されたフリップフロップのままとする。   When the value of the evaluation function h2 is smaller than the index value and the installation area and the clock delay time are within the allowable ranges (in the case of YES in S409), the flip-flop replacement unit 50 replaces the third selected flip-flop. The candidate flip-flop is replaced (S410). When the value of the evaluation function h2 is larger than the index value and the installation area and the clock delay time are outside the allowable range (NO in S409), the flip-flop replacement unit 50 does not replace the third selected flip-flop. (S411). That is, the third selection flip-flop is left as it was originally set.

フリップフロップ置換部50は、フリップフロップを1つずつ選択し、ステップS403〜S411を各フリップフロップに対して実行する。全フリップフロップの選択が終了し、それぞれのフリップフロップに対して低電力フリップフロップへの置換の要否が決定されると(ステップS401のNOの場合)、ステップS101へ進む。   The flip-flop replacement unit 50 selects flip-flops one by one, and executes steps S403 to S411 for each flip-flop. When selection of all the flip-flops is completed and it is determined whether or not each flip-flop needs to be replaced with a low-power flip-flop (NO in step S401), the process proceeds to step S101.

第2の実施形態によれば、フリップフロップ置換部50は、スイッチング率に基づいて複数の低電力フリップフロップおよび/または通常のフリップフロップから選択したフリップフロップで置換することができる。よって、第2の実施形態は、さらに消費電力の低い半導体回路を設計することができる。   According to the second embodiment, the flip-flop replacement unit 50 can replace a flip-flop selected from a plurality of low-power flip-flops and / or normal flip-flops based on the switching rate. Therefore, in the second embodiment, a semiconductor circuit with lower power consumption can be designed.

尚、フリップフロップのクロック信号がゲーティングされている場合には、クロックゲーティングセルがクロック信号を通過させているとき(イネーブル信号が1のとき)のスイッチング率を対象にすればよい。   When the clock signal of the flip-flop is gated, the switching rate when the clock gating cell passes the clock signal (when the enable signal is 1) may be targeted.

また、ステップ405〜407置換候補のフリップフロップを1つに限定せずに、評価関数h2のパラメータにz6を追加して、置換候補のフリップフロップをパラメータ化しても良い。このときには、ステップS409でフリップフロップを置換すると判定した時に、置換すべき低電力フリップフロップも決定する。   Further, the number of replacement candidate flip-flops is not limited to one, and z6 may be added to the parameter of the evaluation function h2 to parameterize the replacement candidate flip-flop. At this time, when it is determined in step S409 that the flip-flop is to be replaced, the low-power flip-flop to be replaced is also determined.

本発明に係る第1の実施形態に従った半導体回路設計装置の構成を示すブロック図。1 is a block diagram showing a configuration of a semiconductor circuit design device according to a first embodiment of the present invention. 本発明に係る第1の実施形態に従った半導体回路設計方法を示すフロー図。1 is a flowchart showing a semiconductor circuit design method according to a first embodiment of the present invention. ステップS104のフロー図。The flowchart of step S104. ステップS105のフロー図。The flowchart of step S105. ゲーテッドクロックされていないフリップフロップの構造の一例を示す回路図。The circuit diagram which shows an example of the structure of the flip-flop which is not gated clock. ゲーテッドクロックされているフリップフロップの構造の一例を示す回路図。The circuit diagram which shows an example of the structure of the flip-flop by which the gated clock is carried out. CCK−F/Fの一例を示す回路図。The circuit diagram which shows an example of CCK-F / F. 本発明に係る第2の実施形態に従った低電力フリップフロップの置換ステップを示すフロー図。The flowchart which shows the replacement | exchange step of the low power flip-flop according to 2nd Embodiment which concerns on this invention. スイッチング率と消費電力との関係を示すグラフ。The graph which shows the relationship between a switching rate and power consumption.

符号の説明Explanation of symbols

10…回路情報格納部
20…論理合成/配置処理部
25…タイミング解析部
30…終了条件判定部
40…ゲーテッドクロック構造生成部
50…フリップフロップ置換部
60…ユーザインタフェース
CTRLFj…制御信号
h1、h2…評価関数
DESCRIPTION OF SYMBOLS 10 ... Circuit information storage part 20 ... Logic synthesis / placement processing part 25 ... Timing analysis part 30 ... Termination condition determination part 40 ... Gated clock structure generation part 50 ... Flip-flop replacement part 60 ... User interface CTRL Fj ... Control signals h1, h2 …Evaluation function

Claims (5)

半導体回路のフリップフロップにクロックを供給するクロック配線構造を設計するための半導体回路設計方法であって、
半導体集積回路の回路情報に基づいて前記フリップフロップを設定し、
前記フリップフロップを制御する制御信号を求め、
前記フリップフロップにクロックゲーティングを適用したときの消費電力およびクロック遅延時間のばらつきの大きさを示す第1の評価値を算出し、
前記第1の評価値が第1の閾値よりも大きい場合に、前記フリップフロップに対してクロックゲーティングを行うゲーテッドクロック構造を設定し、
前記フリップフロップに該フリップフロップよりも消費電力の低い低電力フリップフロップを適用したときの消費電力および設置面積の大きさを示す第2の評価値を算出し、
前記第2の評価値が第2の閾値よりも大きい場合に、前記フリップフロップを前記低電力フリップフロップに置換することを具備した半導体回路設計方法。
A semiconductor circuit design method for designing a clock wiring structure for supplying a clock to a flip-flop of a semiconductor circuit,
Set the flip-flop based on circuit information of the semiconductor integrated circuit,
A control signal for controlling the flip-flop;
Calculating a first evaluation value indicating the amount of power consumption and clock delay time variation when clock gating is applied to the flip-flop;
Setting a gated clock structure for performing clock gating on the flip-flop when the first evaluation value is greater than a first threshold;
Calculating a second evaluation value indicating a power consumption and a size of an installation area when a low-power flip-flop having a lower power consumption than the flip-flop is applied to the flip-flop;
A semiconductor circuit design method comprising: replacing the flip-flop with the low-power flip-flop when the second evaluation value is larger than a second threshold value.
前記第1の評価値は、前記制御信号が前記フリップフロップへのクロックを阻止する確率と、前記制御信号によって制御されるフリップフロップ数と、前記制御信号によって制御される前記フリップフロップ間の距離または前記制御信号によって制御される前記フリップフロップ間のクロック遅延時間のばらつきとの関数によって算出されることを特徴とする請求項1に記載の半導体回路設計方法。   The first evaluation value is the probability that the control signal blocks the clock to the flip-flop, the number of flip-flops controlled by the control signal, and the distance between the flip-flops controlled by the control signal or The semiconductor circuit design method according to claim 1, wherein the semiconductor circuit design method is calculated by a function of a variation in clock delay time between the flip-flops controlled by the control signal. 前記第2の評価値は、前記制御信号がクロックを前記フリップフロップへ通過させる確率と、前記フリップフロップがクロックゲーティングされているか否かを示す論理値と、前記フリップフロップに格納される値の単位時間におけるスイッチング率と、前記フリップフロップと前記低電力フリップフロップとの面積差分と、クロック遅延時間の余裕度との関数によって算出されることを特徴とする請求項1または請求項2に記載の半導体回路設計方法。   The second evaluation value includes a probability that the control signal passes a clock to the flip-flop, a logical value indicating whether the flip-flop is clock-gated, and a value stored in the flip-flop. 3. The calculation according to claim 1, wherein the calculation is performed by a function of a switching rate per unit time, an area difference between the flip-flop and the low-power flip-flop, and a margin of a clock delay time. Semiconductor circuit design method. 半導体回路のフリップフロップにクロックを供給するクロック配線構造を設計するための半導体回路設計方法であって、
半導体集積回路の回路情報に基づいて前記フリップフロップを設定し、
前記フリップフロップを制御する制御信号を求め、
前記フリップフロップにクロックゲーティングを適用したときの消費電力およびクロック遅延時間のばらつきの大きさを示す第1の評価値を算出し、
前記第1の評価値が第1の閾値よりも大きい場合に、前記フリップフロップに対してクロックゲーティングを行うゲーテッドクロック構造を設定し、
前記フリップフロップに格納される値の単位時間におけるスイッチング率に基づいて、前記フリップフロップの種類を置換候補として選択し、
前記フリップフロップを前記置換候補のフリップフロップに置換したときの設置面積およびクロック遅延時間を計算し、
前記設置面積および前記クロック遅延時間が許容範囲内の場合に、前記フリップフロップを前記置換候補のフリップフロップに置換することを具備する半導体回路設計方法。
A semiconductor circuit design method for designing a clock wiring structure for supplying a clock to a flip-flop of a semiconductor circuit,
Set the flip-flop based on circuit information of the semiconductor integrated circuit,
A control signal for controlling the flip-flop;
Calculating a first evaluation value indicating the amount of power consumption and clock delay time variation when clock gating is applied to the flip-flop;
Setting a gated clock structure for performing clock gating on the flip-flop when the first evaluation value is greater than a first threshold;
Based on the switching rate in unit time of the value stored in the flip-flop, the type of the flip-flop is selected as a replacement candidate,
Calculate the footprint and clock delay time when replacing the flip-flop with the replacement candidate flip-flop,
A semiconductor circuit design method comprising: replacing the flip-flop with the replacement candidate flip-flop when the installation area and the clock delay time are within an allowable range.
前記フリップフロップの置換後、前記クロック配線構造の消費電力、回路面積およびクロック遅延時間を計算し、
前記消費電力、前記回路面積および前記クロック遅延時間が、所定の規格に適合している場合に回路設計を終了することをさらに具備したことを特徴とする請求項1または請求項4に記載の半導体回路設計方法。
After replacing the flip-flop, calculate the power consumption, circuit area and clock delay time of the clock wiring structure,
5. The semiconductor according to claim 1, further comprising terminating circuit design when the power consumption, the circuit area, and the clock delay time conform to a predetermined standard. Circuit design method.
JP2007220864A 2007-08-28 2007-08-28 Semiconductor circuit design method Pending JP2009053989A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007220864A JP2009053989A (en) 2007-08-28 2007-08-28 Semiconductor circuit design method
US12/195,574 US7962883B2 (en) 2007-08-28 2008-08-21 Developing semiconductor circuit design with conditional flipflops to save power consumption

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007220864A JP2009053989A (en) 2007-08-28 2007-08-28 Semiconductor circuit design method

Publications (1)

Publication Number Publication Date
JP2009053989A true JP2009053989A (en) 2009-03-12

Family

ID=40409502

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007220864A Pending JP2009053989A (en) 2007-08-28 2007-08-28 Semiconductor circuit design method

Country Status (2)

Country Link
US (1) US7962883B2 (en)
JP (1) JP2009053989A (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011065320A (en) * 2009-09-16 2011-03-31 Renesas Electronics Corp Layout method, layout device and layout program
US8656326B1 (en) 2013-02-13 2014-02-18 Atrenta, Inc. Sequential clock gating using net activity and XOR technique on semiconductor designs including already gated pipeline design
US8635578B1 (en) * 2013-03-14 2014-01-21 Atrenta, Inc. System and method for strengthening of a circuit element to reduce an integrated circuit's power consumption
KR102057503B1 (en) 2013-08-14 2019-12-19 삼성전자 주식회사 Semiconductor circuit
KR102204597B1 (en) * 2014-11-19 2021-01-19 삼성전자주식회사 Semiconductor device
US9576101B2 (en) * 2015-03-02 2017-02-21 Freescale Semiconductor, Inc. Configurable cell design using capacitive coupling for enhanced timing closure
US10296686B1 (en) * 2015-12-14 2019-05-21 Apple Inc. Switching-activity-based selection of low-power sequential circuitry
US10726189B2 (en) * 2018-07-23 2020-07-28 Sandisk Technologies Llc Less-pessimistic static timing analysis for synchronous circuits
JP2022109141A (en) * 2021-01-14 2022-07-27 株式会社東芝 Design support device, design support system, electric apparatus, design support method, program, and storage medium
US20230258714A1 (en) * 2022-02-15 2023-08-17 Mediatek Singapore Pte. Ltd. Icg test coverage with no timing overhead

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3357813B2 (en) 1997-04-01 2002-12-16 株式会社東芝 Gated clock design support method, gated clock design support device, and computer-readable recording medium storing gated clock design support program
JP2001084287A (en) 1999-09-14 2001-03-30 Toshiba Corp Gated clock circuit and device and method for supporting gated clock circuit design
US6586966B1 (en) * 2001-09-13 2003-07-01 Altera Corporation Data latch with low-power bypass mode
JP4095367B2 (en) 2002-07-23 2008-06-04 株式会社東芝 Semiconductor integrated circuit device
US7631209B2 (en) * 2004-12-13 2009-12-08 Lsi Corporation Turning off clock to flip flops
JP2007006463A (en) 2005-05-25 2007-01-11 Toshiba Corp Semiconductor integrated circuit device
JP5224657B2 (en) 2005-06-29 2013-07-03 株式会社東芝 Semiconductor integrated circuit device
JP2008028930A (en) * 2006-07-25 2008-02-07 Toshiba Corp Semiconductor integrated circuit, and method of designing the same

Also Published As

Publication number Publication date
US20090064070A1 (en) 2009-03-05
US7962883B2 (en) 2011-06-14

Similar Documents

Publication Publication Date Title
JP2009053989A (en) Semiconductor circuit design method
Kahng et al. Orion 2.0: A power-area simulator for interconnection networks
Akbari et al. PX-CGRA: Polymorphic approximate coarse-grained reconfigurable architecture
US9934048B2 (en) Systems, methods and devices for dynamic power management of devices using game theory
US9571074B2 (en) Efficient skew scheduling methodology for performance and low power of a clock-mesh implementation
WO2013090384A2 (en) Method for soc performance and power optimization
KR20130084029A (en) Method of designing a system-on-chip including a tapless standard cell, designing system and system-on-chip
Bezati et al. Clock-gating of streaming applications for energy efficient implementations on FPGAs
JP2004054756A (en) Power consumption estimation device and method
US7958476B1 (en) Method for multi-cycle path and false path clock gating
KR102440129B1 (en) Computer system supporting low power mode and method of thereof
JP2007004563A (en) Library creating device, library creation program and library creating method
Wang et al. Top-level activity-driven clock tree synthesis with clock skew variation considered
JP2015095786A (en) Logic circuit, logic circuit layout support device, logic circuit layout support method and program
US7188325B1 (en) Method for selecting transistor threshold voltages in an integrated circuit
KR102651866B1 (en) Apparatus and method for power saving thereof
Rahman et al. Library-based cell-size selection using extended logical effort
KR20160014505A (en) Method and program for designing integrated circuit
TWI536260B (en) Heterogeneous multicore processor with graphene-based transistors
Sadrosadati et al. An efficient DVS scheme for on-chip networks
JP6735951B2 (en) High-level synthesis device, high-level synthesis method, and high-level synthesis program
US10366001B1 (en) Partitioning memory blocks for reducing dynamic power consumption
WO2011155622A1 (en) Circuit synthesizing device, method, and program
Zakaria Asynchronous Architecture for Power Efficiency and Yield Enhancement in the Decananometric Technologies: Application to a Multi-Core System-on-Chip
Kamal et al. Design of NBTI-resilient extensible processors