[go: up one dir, main page]

JP2011164988A - Design device - Google Patents

Design device Download PDF

Info

Publication number
JP2011164988A
JP2011164988A JP2010027897A JP2010027897A JP2011164988A JP 2011164988 A JP2011164988 A JP 2011164988A JP 2010027897 A JP2010027897 A JP 2010027897A JP 2010027897 A JP2010027897 A JP 2010027897A JP 2011164988 A JP2011164988 A JP 2011164988A
Authority
JP
Japan
Prior art keywords
flip
flop circuit
circuit
clock signal
clock
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
JP2010027897A
Other languages
Japanese (ja)
Inventor
Naohiro Kondo
直広 近藤
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 Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor 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 Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2010027897A priority Critical patent/JP2011164988A/en
Publication of JP2011164988A publication Critical patent/JP2011164988A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a design device for designing a flip-flop circuit capable of reducing the power consumption and preventing malfunctions. <P>SOLUTION: The design device includes a first static timing analysis section (S11), which performs a first static timing analysis for first design data of a first flip-flop circuit which inputs a first input signal, a first enable signal, and a first clock signal by a clock signal with a frequency equal to or more than double that of the first clock signal; and a first conversion section (S13), which inputs the first design data and generates second design data obtained by converting the first flip-flop circuit into a second flip-flop circuit, when the result of the first static timing analysis is acceptable, wherein the first flip-flop circuit does not have a clock-gating circuit, and the second flip-flop circuit has the clock-gating circuit. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、設計装置に関する。   The present invention relates to a design apparatus.

図1(A)〜(D)は、イネーブル信号入力ありのフリップフロップ回路を示す図である。図1(A)は、複数のフリップフロップ回路101を示す。各フリップフロップ回路101は、入力信号D、イネーブル信号EN及びクロック信号CLKを入力する。ここで、イネーブル信号EN及びクロック信号CLKは、複数のフリップフロップ回路101間で共通である。図1(A)の回路は、消費電力を低減するために図1(B)の回路に変換可能である。   1A to 1D are diagrams illustrating a flip-flop circuit with an enable signal input. FIG. 1A illustrates a plurality of flip-flop circuits 101. Each flip-flop circuit 101 receives an input signal D, an enable signal EN, and a clock signal CLK. Here, the enable signal EN and the clock signal CLK are common among the plurality of flip-flop circuits 101. The circuit in FIG. 1A can be converted to the circuit in FIG. 1B in order to reduce power consumption.

図1(B)は消費電力を低減するためのフリップフロップ回路の構成を示す図であり、図1(C)及び(D)は図1(B)の回路の動作例を示すタイミングチャートである。クロックゲーティング回路112は、ラッチ回路113及び論理積回路114を有する。ラッチ回路113は、クロック信号CLKの立ち下がりエッジに同期してイネーブル信号ENをラッチし、ラッチした信号を出力する。論理積回路114は、ラッチ回路113の出力信号及びクロック信号CLKの論理積信号をクロック信号CLK1として出力する。複数のフリップフロップ回路111は、共通の同じクロック信号CLK1をクロック端子に入力し、それぞれの入力信号Dを入力端子に入力する。クロックゲーティング回路112により、イネーブル信号ENがローレベルのときには、クロック信号CLK1を停止させることができるので、図1(B)の回路は図1(A)の回路に比べて消費電力を低減することができる。   FIG. 1B is a diagram illustrating a configuration of a flip-flop circuit for reducing power consumption, and FIGS. 1C and 1D are timing charts illustrating an operation example of the circuit in FIG. . The clock gating circuit 112 includes a latch circuit 113 and a logical product circuit 114. The latch circuit 113 latches the enable signal EN in synchronization with the falling edge of the clock signal CLK, and outputs the latched signal. The AND circuit 114 outputs a logical product signal of the output signal of the latch circuit 113 and the clock signal CLK as the clock signal CLK1. The plurality of flip-flop circuits 111 inputs the same common clock signal CLK1 to the clock terminal, and inputs each input signal D to the input terminal. When the enable signal EN is at a low level by the clock gating circuit 112, the clock signal CLK1 can be stopped. Therefore, the circuit in FIG. 1B reduces power consumption compared to the circuit in FIG. be able to.

図1(C)はクロック信号CLKがハイレベルのときにイネーブル信号ENが変化する場合のタイミングチャートであり、図1(D)はクロック信号CLKがローレベルのときにイネーブル信号ENが変化する場合のタイミングチャートである。いずれの場合も、クロック信号CLK1の立ち上がりエッジは、クロック信号CLKの立ち上がりエッジと同じタイミングであるため、クロック信号CLK1に誤動作の原因となるグリッチが発生しない。そのため、図1(B)の回路は、正常な動作を行うことができる。   FIG. 1C is a timing chart in the case where the enable signal EN changes when the clock signal CLK is at a high level, and FIG. 1D is a case where the enable signal EN changes when the clock signal CLK is at a low level. It is a timing chart. In any case, since the rising edge of the clock signal CLK1 has the same timing as the rising edge of the clock signal CLK, a glitch that causes a malfunction does not occur in the clock signal CLK1. Therefore, the circuit in FIG. 1B can operate normally.

しかし、ラッチ回路113のクロック信号CLKは停止しないため、ラッチ回路113はイネーブル信号ENがローレベルの期間でも電力を消費してしまう。また、ラッチ回路113は大面積を占有する課題がある。特に、図1(A)の回路において、フリップフロップ回路101が1個の場合には、図1(A)の回路を図1(B)の回路に変換するメリットがほとんどなく、低消費電力の効果を得ることができない。   However, since the clock signal CLK of the latch circuit 113 does not stop, the latch circuit 113 consumes power even when the enable signal EN is at a low level. Further, the latch circuit 113 has a problem of occupying a large area. In particular, in the circuit of FIG. 1A, when there is one flip-flop circuit 101, there is almost no merit in converting the circuit of FIG. 1A to the circuit of FIG. The effect cannot be obtained.

また、タイミングクロックによってオン、オフするフリップフロップ、及び、フィードバックループとを有し、イネーブル信号にしたがって動作する論理回路部分を自動的に抽出する段階と、タイミングクロックをイネーブル信号によってゲートし、ゲーテッドクロック化する段階とを含み、これによって、タイミングクロックによるフリップフロップの変化の回数を削減する回路設計方法が知られている(例えば、特開平10−294375号公報参照)。   A step of automatically extracting a logic circuit portion that has a flip-flop that is turned on and off by a timing clock, and a feedback loop, and that operates in accordance with the enable signal; and a gated clock that gates the timing clock by the enable signal A circuit design method for reducing the number of flip-flop changes by a timing clock is known (see, for example, Japanese Patent Laid-Open No. 10-294375).

また、RTLデータの動作シミュレーションにより、ゲートレベルでの消費電力解析を精度よく行うことが可能な消費電力解析装置が知られている(例えば、特開2009−3618号公報参照)。   In addition, a power consumption analysis device is known that can accurately perform power consumption analysis at the gate level by RTL data operation simulation (see, for example, Japanese Patent Application Laid-Open No. 2009-3618).

特開平10−294375号公報JP-A-10-294375 特開2009−3618号公報JP 2009-3618 A

本発明の目的は、消費電力を低減し、誤動作を防止することができるフリップフロップ回路を設計するための設計装置を提供することである。   An object of the present invention is to provide a design apparatus for designing a flip-flop circuit that can reduce power consumption and prevent malfunction.

設計装置は、第1の入力信号、第1のイネーブル信号及び第1のクロック信号を入力する第1のフリップフロップ回路の第1の設計データに対して、前記第1のクロック信号の周波数の2倍以上の周波数のクロック信号で第1の静的タイミング解析を行う第1の静的タイミング解析部と、前記第1の静的タイミング解析の結果が合格の場合には、前記第1の設計データを入力し、前記第1のフリップフロップ回路を第2のフリップフロップ回路に変換した第2の設計データを生成する第1の変換部とを有し、前記第1のフリップフロップ回路は、クロックゲーティング回路を有さず、前記第2のフリップフロップ回路は、前記第1のイネーブル信号を前記第1のクロック信号でクロックゲーティングして出力するクロックゲーティング回路と、前記クロックゲーティング回路の出力信号をクロック端子に入力して前記第1の入力信号を入力端子に入力する第3のフリップフロップ回路とを有する。   The design apparatus outputs a first clock signal having a frequency of 2 with respect to the first design data of the first flip-flop circuit that inputs the first input signal, the first enable signal, and the first clock signal. A first static timing analysis unit that performs a first static timing analysis with a clock signal having a frequency of twice or more; and if the result of the first static timing analysis is acceptable, the first design data And a first conversion unit that generates second design data obtained by converting the first flip-flop circuit into a second flip-flop circuit, and the first flip-flop circuit includes a clock gate A clock gating circuit that does not have a gating circuit, and the second flip-flop circuit outputs the first enable signal by clock gating with the first clock signal; And a third flip-flop circuit for inputting said first input signal the output signal is input to the clock terminal of the clock gating circuit to the input terminal.

クロックゲーティング回路を設けることによりフリップフロップ回路の電力を低減することができる。また、2倍以上の周波数のクロック信号で静的タイミング解析を行うことにより、フリップフロップ回路の誤動作を防止することができる。   By providing the clock gating circuit, the power of the flip-flop circuit can be reduced. Further, by performing a static timing analysis with a clock signal having a frequency twice or more, it is possible to prevent a malfunction of the flip-flop circuit.

図1(A)〜(D)はイネーブル信号入力ありのフリップフロップ回路を示す図である。1A to 1D show flip-flop circuits with an enable signal input. 図2(A)〜(D)は本発明の第1の実施形態によるイネーブル信号入力ありのフリップフロップ回路の例を示す図である。2A to 2D are diagrams showing examples of flip-flop circuits with an enable signal input according to the first embodiment of the present invention. 図2(B)のフリップフロップ回路の構成例を示す概念図である。FIG. 3 is a conceptual diagram illustrating a configuration example of a flip-flop circuit in FIG. 図3のフリップフロップ回路の構成例を示す回路図であるFIG. 4 is a circuit diagram illustrating a configuration example of the flip-flop circuit in FIG. 3. 図2(A)のイネーブル信号入力ありのフリップフロップ回路の構成例を示す回路図である。FIG. 3 is a circuit diagram illustrating a configuration example of a flip-flop circuit with an enable signal input in FIG. 図3のフリップフロップ回路の構成例を示す回路図である。FIG. 4 is a circuit diagram illustrating a configuration example of a flip-flop circuit in FIG. 3. スキャンテスト機能ありのフリップフロップ回路の一部の構成例を示す回路図である。It is a circuit diagram which shows the example of a structure of a part of flip-flop circuit with a scan test function. 図8(A)〜(D)は本発明の第2の実施形態によるイネーブル信号入力なしのフリップフロップ回路の例を示す図である。8A to 8D are diagrams showing examples of flip-flop circuits without an enable signal input according to the second embodiment of the present invention. 図8(B)のフリップフロップ回路の構成例を示す概念図である。FIG. 9 is a conceptual diagram illustrating a configuration example of the flip-flop circuit in FIG. 図9のフリップフロップ回路の構成例を示す回路図である。FIG. 10 is a circuit diagram illustrating a configuration example of the flip-flop circuit in FIG. 9. 本発明の第3の実施形態による設計装置を構成するコンピュータのハードウェア構成例を示すブロック図である。It is a block diagram which shows the hardware structural example of the computer which comprises the design apparatus by the 3rd Embodiment of this invention. 図11の設計装置の設計方法の処理例を示すフローチャートである。It is a flowchart which shows the process example of the design method of the design apparatus of FIG.

(第1の実施形態)
図2(A)〜(D)は、本発明の第1の実施形態によるイネーブル信号入力ありのフリップフロップ回路の例を示す図である。図2(A)は、イネーブル信号入力ありのフリップフロップ回路200を示す。フリップフロップ回路200は、入力信号D、イネーブル信号EN及びクロック信号CLKを入力し、出力信号Qを出力する。イネーブル信号ENは、ハイレベルのときに入力信号Dの有効状態を示し、ローレベルのときに入力信号Dの無効情報を示す。本実施形態では、図2(A)の回路を図2(B)の回路に変換する。
(First embodiment)
2A to 2D are diagrams showing examples of flip-flop circuits with an enable signal input according to the first embodiment of the present invention. FIG. 2A shows a flip-flop circuit 200 with an enable signal input. The flip-flop circuit 200 receives the input signal D, the enable signal EN, and the clock signal CLK, and outputs an output signal Q. The enable signal EN indicates a valid state of the input signal D when at a high level, and indicates invalid information of the input signal D when at a low level. In this embodiment, the circuit in FIG. 2A is converted to the circuit in FIG.

図2(B)の回路は、図2(A)の回路と同じ論理動作を行う。図2(B)のイネーブル信号入力ありのフリップフロップ回路は、論理和回路201及びイネーブル信号入力なしのフリップフロップ回路202を有する。論理和回路201は、イネーブル信号ENの論理反転信号及びクロック信号CLKの論理和信号をクロック信号CLK1として出力する。論理和回路201は、イネーブル信号ENをクロック信号CLKでクロックゲーティングし、クロック信号CLK1を出力するクロックゲーティング回路である。フリップフロップ回路202は、クロック信号CLK1をクロック端子に入力し、入力信号Dを入力端子に入力し、出力端子から出力信号Qを出力する。フリップフロップ回路202は、クロック信号CLK1の立ち上がりエッジに同期して入力信号Dを保持し、保持した信号を出力信号Qとして出力する。論理和回路201をクロックゲーティング回路として設けることにより、図2(C)及び(D)に示すように、イネーブル信号ENがローレベルのときには、クロック信号CLK1を停止させることができるので、図2(B)の回路は図2(A)の回路に比べて消費電力を低減することができる。   The circuit in FIG. 2B performs the same logical operation as the circuit in FIG. The flip-flop circuit with an enable signal input in FIG. 2B includes a logical sum circuit 201 and a flip-flop circuit 202 without an enable signal input. The OR circuit 201 outputs a logical sum signal of the enable signal EN and a logical sum signal of the clock signal CLK as the clock signal CLK1. The OR circuit 201 is a clock gating circuit that clocks the enable signal EN with the clock signal CLK and outputs the clock signal CLK1. The flip-flop circuit 202 inputs the clock signal CLK1 to the clock terminal, inputs the input signal D to the input terminal, and outputs the output signal Q from the output terminal. The flip-flop circuit 202 holds the input signal D in synchronization with the rising edge of the clock signal CLK1, and outputs the held signal as the output signal Q. By providing the OR circuit 201 as a clock gating circuit, the clock signal CLK1 can be stopped when the enable signal EN is at a low level as shown in FIGS. The circuit of (B) can reduce power consumption compared with the circuit of FIG.

図2(C)は、クロック信号CLKがハイレベルのときにイネーブル信号ENが変化する場合のタイミングチャートである。この場合、クロック信号CLK1の立ち上がりエッジは、クロック信号CLKの立ち上がりエッジと同じタイミングであるため、クロック信号CLK1に誤動作の原因となるグリッチが発生しない。そのため、図2(B)の回路は、正常な動作を行うことができる。   FIG. 2C is a timing chart when the enable signal EN changes when the clock signal CLK is at a high level. In this case, since the rising edge of the clock signal CLK1 has the same timing as the rising edge of the clock signal CLK, a glitch that causes a malfunction does not occur in the clock signal CLK1. Therefore, the circuit in FIG. 2B can operate normally.

図2(D)は、クロック信号CLKがローレベルのときにイネーブル信号ENが変化する場合のタイミングチャートである。この場合、クロック信号CLK1に誤動作の原因となるグリッチ211が発生する。クロック信号CLK1のグリッチ211の立ち上がりエッジは、クロック信号CLKの立ち上がりエッジと異なるタイミングであるため、図2(B)の回路は誤動作する可能性がある。すなわち、フリップフロップ回路202は、クロック信号CLKの立ち上がりエッジのタイミングで正常な入力信号Dが保証されている。したがって、クロック信号CLK1の立ち上がりエッジがクロック信号CLKの立ち上がりエッジと同じタイミングであれば、フリップフロップ回路202の動作は保証される。しかし、クロック信号CLK1内のグリッチ211の立ち上がりエッジは、クロック信号CLKの立ち上がりエッジと異なるタイミングであるため、フリップフロップ回路202の動作は保証されず、誤動作の可能性がある。   FIG. 2D is a timing chart when the enable signal EN changes when the clock signal CLK is at a low level. In this case, a glitch 211 that causes a malfunction occurs in the clock signal CLK1. Since the rising edge of the glitch 211 of the clock signal CLK1 has a different timing from the rising edge of the clock signal CLK, the circuit in FIG. 2B may malfunction. In other words, the flip-flop circuit 202 is guaranteed a normal input signal D at the timing of the rising edge of the clock signal CLK. Therefore, if the rising edge of the clock signal CLK1 has the same timing as the rising edge of the clock signal CLK, the operation of the flip-flop circuit 202 is guaranteed. However, since the rising edge of the glitch 211 in the clock signal CLK1 has a different timing from the rising edge of the clock signal CLK, the operation of the flip-flop circuit 202 is not guaranteed and a malfunction may occur.

そこで、本実施形態では、図2(B)のフリップフロップ回路に対して、クロック信号CLKの周波数の2倍以上の周波数のクロック信号で静的タイミング解析を行い、その静的タイミング解析の結果が合格であれば、イネーブル信号ENはクロック信号CLKがハイレベルの時に変化し、クロック信号CLKがローレベルの時には変化しないことが保証される。したがって、クロック信号CLKの周波数の2倍以上の周波数のクロック信号で静的タイミング解析の結果が合格であれば、図2(B)の回路の正常動作が保証される。   Therefore, in this embodiment, static timing analysis is performed on the flip-flop circuit of FIG. 2B with a clock signal having a frequency twice or more the frequency of the clock signal CLK, and the result of the static timing analysis is as follows. If it is acceptable, it is guaranteed that the enable signal EN changes when the clock signal CLK is high and does not change when the clock signal CLK is low. Therefore, if the result of the static timing analysis is acceptable with a clock signal having a frequency twice or more the frequency of the clock signal CLK, normal operation of the circuit of FIG. 2B is guaranteed.

例えば、クロック信号CLKの要求周波数が50MHz、1周期が20nsの場合、論理和回路201の前段のフリップフロップ回路から論理和回路201までのイネーブル信号ENのタイミングが、1周期の半分の10ns以下であれば、イネーブル信号ENはクロック信号CLKのハイレベルの時に変化することが保証される。そのため、図2(B)のフリップフロップ回路は、静的タイミング解析で、クロック信号CLKの2倍の周波数の100MHzのクロック信号でタイミングを満たせば、図2(B)の正常動作が保証される。   For example, when the required frequency of the clock signal CLK is 50 MHz and the period is 20 ns, the timing of the enable signal EN from the preceding flip-flop circuit of the OR circuit 201 to the OR circuit 201 is 10 ns or less, which is half of one cycle. If present, the enable signal EN is guaranteed to change when the clock signal CLK is at a high level. Therefore, if the flip-flop circuit in FIG. 2B satisfies the timing with a 100 MHz clock signal having a frequency twice that of the clock signal CLK in the static timing analysis, the normal operation in FIG. 2B is guaranteed. .

図3は、図2(B)のフリップフロップ回路の構成例を示す概念図である。フリップフロップ回路301のセルは、論理和回路201のクロックゲーティング回路を内蔵する。イネーブル信号入力ありのフリップフロップ回路301は、図2(B)と同様に、論理和回路201及びイネーブル信号入力なしのフリップフロップ回路202を有する。   FIG. 3 is a conceptual diagram illustrating a configuration example of the flip-flop circuit in FIG. The cell of the flip-flop circuit 301 incorporates the clock gating circuit of the OR circuit 201. A flip-flop circuit 301 with an enable signal input includes a logical sum circuit 201 and a flip-flop circuit 202 without an enable signal input, as in FIG.

フリップフロップ回路202は、インバータ311〜314及びトライステートバッファ321〜324を有する。インバータ311〜314は、入力信号を論理反転した信号を出力する。トライステートバッファ311〜314は、クロック信号に同期し、出力がローレベル状態、ハイレベル状態又はハイインピーダンス状態になる。インバータ311は、クロック信号CLK1の論理反転信号を出力する。インバータ312は、インバータ312の出力信号の論理反転信号を出力する。トライステートバッファ321は、インバータ311及び312の出力クロック信号に同期し、クロック信号CLK1がローレベルになると、入力信号Dの論理反転信号を出力し、クロック信号CLK1がハイレベルになると出力がハイインピーダンス状態になる。インバータ313は、トライステートバッファ321の出力信号の論理反転信号を出力する。トライステートバッファ322は、インバータ311及び312の出力クロック信号に同期し、クロック信号CLK1がハイレベルになると、インバータ313の出力信号の論理反転信号をインバータ313の入力端子に出力し、クロック信号CLK1がローレベルになると出力がハイインピーダンス状態になる。トライステートバッファ323は、インバータ311及び312の出力クロック信号に同期し、クロック信号CLK1がハイレベルになると、インバータ313の出力信号の論理反転信号をインバータ314の入力端子に出力し、クロック信号CLK1がローレベルになると出力がハイインピーダンス状態になる。インバータ314は、トライステートバッファ323の出力信号の論理反転信号を出力信号Qとして出力する。トライステートバッファ324は、インバータ311及び312の出力クロック信号に同期し、クロック信号CLK1がローレベルになると、インバータ314の出力信号Qの論理反転信号をインバータ314の入力端子に出力し、クロック信号CLK1がハイレベルになると出力がハイインピーダンス状態になる。なお、論理和回路201及びインバータ311を含む回路302は、否定論理和回路303として構成することもできる。否定論理和回路303は、イネーブル信号ENの論理反転信号及びクロック信号CLKの否定論理和信号を出力する。   The flip-flop circuit 202 includes inverters 311 to 314 and tristate buffers 321 to 324. Inverters 311 to 314 output signals obtained by logically inverting the input signals. The tristate buffers 311 to 314 are synchronized with the clock signal, and the output is in a low level state, a high level state, or a high impedance state. Inverter 311 outputs a logic inversion signal of clock signal CLK1. Inverter 312 outputs a logically inverted signal of the output signal of inverter 312. The tri-state buffer 321 synchronizes with the output clock signal of the inverters 311 and 312 and outputs a logic inversion signal of the input signal D when the clock signal CLK1 becomes low level, and the output becomes high impedance when the clock signal CLK1 becomes high level. It becomes a state. Inverter 313 outputs a logical inversion signal of the output signal of tristate buffer 321. The tri-state buffer 322 is synchronized with the output clock signals of the inverters 311 and 312, and when the clock signal CLK 1 becomes a high level, outputs a logic inversion signal of the output signal of the inverter 313 to the input terminal of the inverter 313, and the clock signal CLK 1 When it goes low, the output goes into a high impedance state. The tri-state buffer 323 synchronizes with the output clock signals of the inverters 311 and 312, and when the clock signal CLK 1 becomes high level, outputs a logic inversion signal of the output signal of the inverter 313 to the input terminal of the inverter 314, and the clock signal CLK 1 When it goes low, the output goes into a high impedance state. Inverter 314 outputs a logically inverted signal of the output signal of tristate buffer 323 as output signal Q. The tri-state buffer 324 is synchronized with the output clock signals of the inverters 311 and 312 and outputs a logic inverted signal of the output signal Q of the inverter 314 to the input terminal of the inverter 314 when the clock signal CLK1 becomes low level. When becomes high level, the output is in a high impedance state. Note that the circuit 302 including the logical sum circuit 201 and the inverter 311 can also be configured as a negative logical sum circuit 303. The NOR circuit 303 outputs a logical inversion signal of the enable signal EN and a negative logical sum signal of the clock signal CLK.

以上のように、論理和回路201は、フリップフロップ回路301のセル内部に追加される。フリップフロップ回路301のセルは、上記のように、内部でグリッチが発生し、誤動作を引き起こす可能性がある。そのため、フリップフロップ回路301のセルに対して、静的タイミング解析で、クロック信号CLKの要求周波数の2倍以上の周波数のクロック信号でタイミングを満たす場合には、図2(A)のフリップフロップ回路200を図3のフリップフロップ回路に変換することができる。図2(A)のフリップフロップ回路200はクロックゲーティング回路を有さず、図3のフリップフロップ回路はクロックゲーティング回路を有する。変換は、セル名を変更するのみでよい。変換方法の詳細は、後に図12を参照しながら説明する。   As described above, the OR circuit 201 is added inside the cell of the flip-flop circuit 301. As described above, a glitch is generated inside the cell of the flip-flop circuit 301, which may cause a malfunction. Therefore, when the timing of the cell of the flip-flop circuit 301 is satisfied by a clock signal having a frequency twice or more the required frequency of the clock signal CLK in the static timing analysis, the flip-flop circuit of FIG. 200 can be converted into the flip-flop circuit of FIG. The flip-flop circuit 200 in FIG. 2A does not have a clock gating circuit, and the flip-flop circuit in FIG. 3 has a clock gating circuit. The conversion only needs to change the cell name. Details of the conversion method will be described later with reference to FIG.

図3のフリップフロップ回路301のセル外部端子は、図2(A)のフリップフロップ回路200のものと同じであり、フリップフロップ回路301のセル内部には論理和回路201が追加される。そのため、図3のフリップフロップ回路301は、図2(A)のフリップフロップ回路200と同様に、静的タイミング解析及びクロックツリー合成を容易に行うことが可能である。したがって、図2(A)のフリップフロップ回路200を図3のフリップフロップ回路301に変換し、変換したフリップフロップ回路301のネットリスト設計データに対して、クロック信号CLKの周波数の2倍以上の周波数のクロック信号で静的タイミング解析を行い、その結果が合格となれば、図2(C)のように、クロック信号CLKがハイレベルの時にクロック信号ENが変化することが保証され、グリッチによる問題は起きない。図3のフリップフロップ回路301は、図2(A)のフリップフロップ回路200に比べ、消費電力を低減し、かつグリッチによる誤動作を防止することができる。   The cell external terminal of the flip-flop circuit 301 in FIG. 3 is the same as that of the flip-flop circuit 200 in FIG. 2A, and an OR circuit 201 is added inside the cell of the flip-flop circuit 301. Therefore, the flip-flop circuit 301 in FIG. 3 can easily perform static timing analysis and clock tree synthesis in the same manner as the flip-flop circuit 200 in FIG. Therefore, the flip-flop circuit 200 in FIG. 2A is converted to the flip-flop circuit 301 in FIG. 3, and the frequency of the converted netlist design data of the flip-flop circuit 301 is at least twice the frequency of the clock signal CLK. If the static timing analysis is performed with the clock signal of, and the result is passed, it is guaranteed that the clock signal EN changes when the clock signal CLK is at the high level as shown in FIG. Will not happen. The flip-flop circuit 301 in FIG. 3 can reduce power consumption and prevent malfunction due to a glitch compared to the flip-flop circuit 200 in FIG.

図4は、図3のフリップフロップ回路301の構成例を示す回路図であり、図3の論理和回路201及びインバータ311を否定論理和回路303として構成した例を示す。以下、電界効果トランジスタを単にトランジスタという。pチャネルトランジスタ401は、ソースが電源電位ノードに接続され、ゲートがイネーブル信号ENのノードに接続される。nチャネルトランジスタ402は、ドレインがpチャネルトランジスタ401のドレインに接続され、ゲートがイネーブル信号ENのノードに接続され、ソースが基準電位ノード(グランド電位ノード)に接続される。pチャネルトランジスタ403は、ソースが電源電位ノードに接続され、ゲートがpチャネルトランジスタ401のドレインに接続される。pチャネルトランジスタ405は、ソースがpチャネルトランジスタ403のドレインに接続され、ゲートがクロック信号CLKのノードに接続される。nチャネルトランジスタ406は、ドレインがpチャネルトランジスタ405のドレインに接続され、ゲートがクロック信号CLKのノードに接続され、ソースが基準電位ノードに接続される。nチャネルトランジスタ404は、ドレインがpチャネルトランジスタ405のドレインに接続され、ゲートがpチャネルトランジスタ401のドレインに接続され、ソースが基準電位ノードに接続される。pチャネルトランジスタ407は、ソースが電源電位ノードに接続され、ゲートがpチャネルトランジスタ405のドレインに接続される。nチャネルトランジスタ408は、ドレインがpチャネルトランジスタ407のドレインに接続され、ゲートがpチャネルトランジスタ405のドレインに接続され、ソースが基準電位ノードに接続される。   FIG. 4 is a circuit diagram showing a configuration example of the flip-flop circuit 301 in FIG. 3, and shows an example in which the OR circuit 201 and the inverter 311 in FIG. Hereinafter, the field effect transistor is simply referred to as a transistor. In the p-channel transistor 401, the source is connected to the power supply potential node, and the gate is connected to the node of the enable signal EN. The n-channel transistor 402 has a drain connected to the drain of the p-channel transistor 401, a gate connected to the node of the enable signal EN, and a source connected to a reference potential node (ground potential node). The p-channel transistor 403 has a source connected to the power supply potential node and a gate connected to the drain of the p-channel transistor 401. The p-channel transistor 405 has a source connected to the drain of the p-channel transistor 403 and a gate connected to the node of the clock signal CLK. The n-channel transistor 406 has a drain connected to the drain of the p-channel transistor 405, a gate connected to the node of the clock signal CLK, and a source connected to the reference potential node. The n-channel transistor 404 has a drain connected to the drain of the p-channel transistor 405, a gate connected to the drain of the p-channel transistor 401, and a source connected to the reference potential node. In the p-channel transistor 407, the source is connected to the power supply potential node, and the gate is connected to the drain of the p-channel transistor 405. The n-channel transistor 408 has a drain connected to the drain of the p-channel transistor 407, a gate connected to the drain of the p-channel transistor 405, and a source connected to the reference potential node.

pチャネルトランジスタ409は、ソースが電源電位ノードに接続され、ゲートが入力信号Dのノードに接続される。pチャネルトランジスタ410は、ソースがpチャネルトランジスタ409のドレインに接続され、ゲートがpチャネルトランジスタ407のドレインに接続される。nチャネルトランジスタ411は、ドレインがpチャネルトランジスタ410のドレインに接続され、ゲートがpチャネルトランジスタ405のドレインに接続される。nチャネルトランジスタ412は、ドレインがnチャネルトランジスタ411のソースに接続され、ゲートが入力信号Dのノードに接続され、ソースが基準電位ノードに接続される。   In the p-channel transistor 409, the source is connected to the power supply potential node, and the gate is connected to the node of the input signal D. The p-channel transistor 410 has a source connected to the drain of the p-channel transistor 409 and a gate connected to the drain of the p-channel transistor 407. The n-channel transistor 411 has a drain connected to the drain of the p-channel transistor 410 and a gate connected to the drain of the p-channel transistor 405. The n-channel transistor 412 has a drain connected to the source of the n-channel transistor 411, a gate connected to the node of the input signal D, and a source connected to the reference potential node.

pチャネルトランジスタ413は、ソースが電源電位ノードに接続され、ゲートがpチャネルトランジスタ417のドレインに接続される。pチャネルトランジスタ414は、ソースがpチャネルトランジスタ413のドレインに接続され、ゲートがpチャネルトランジスタ405のドレインに接続され、ドレインがpチャネルトランジスタ410のドレインに接続される。nチャネルトランジスタ415は、ドレインがpチャネルトランジスタ414のドレインに接続され、ゲートがpチャネルトランジスタ407のドレインに接続される。nチャネルトランジスタ416は、ドレインがnチャネルトランジスタ415のソースに接続され、ゲートがpチャネルトランジスタ417のドレインに接続され、ソースが基準電位ノードに接続される。   In the p-channel transistor 413, the source is connected to the power supply potential node, and the gate is connected to the drain of the p-channel transistor 417. The p-channel transistor 414 has a source connected to the drain of the p-channel transistor 413, a gate connected to the drain of the p-channel transistor 405, and a drain connected to the drain of the p-channel transistor 410. The n-channel transistor 415 has a drain connected to the drain of the p-channel transistor 414 and a gate connected to the drain of the p-channel transistor 407. The n-channel transistor 416 has a drain connected to the source of the n-channel transistor 415, a gate connected to the drain of the p-channel transistor 417, and a source connected to the reference potential node.

pチャネルトランジスタ417は、ソースが電源電位ノードに接続され、ゲートがpチャネルトランジスタ414のドレインに接続される。nチャネルトランジスタ418は、ドレインがpチャネルトランジスタ417のドレインに接続され、ゲートがpチャネルトランジスタ414のドレインに接続され、ソースが基準電位ノードに接続される。   In the p-channel transistor 417, the source is connected to the power supply potential node, and the gate is connected to the drain of the p-channel transistor 414. The n-channel transistor 418 has a drain connected to the drain of the p-channel transistor 417, a gate connected to the drain of the p-channel transistor 414, and a source connected to the reference potential node.

pチャネルトランジスタ419は、ソースが電源電位ノードに接続され、ゲートがpチャネルトランジスタ425のドレインに接続される。pチャネルトランジスタ420は、ソースがpチャネルトランジスタ419のドレインに接続され、ゲートがpチャネルトランジスタ407のドレインに接続され、ドレインがpチャネルトランジスタ422のドレインに接続される。nチャネルトランジスタ421は、ドレインがpチャネルトランジスタ420のドレインに接続され、ゲートがpチャネルトランジスタ407のドレインに接続され、ソースがpチャネルトランジスタ417のドレインに接続される。pチャネルトランジスタ422は、ソースがnチャネルトランジスタ421のソースに接続され、ゲートがpチャネルトランジスタ405のドレインに接続される。nチャネルトランジスタ423は、ドレインがpチャネルトランジスタ422のドレインに接続され、ゲートがpチャネルトランジスタ405のドレインに接続される。nチャネルトランジスタ424は、ドレインがnチャネルトランジスタ423のソースに接続され、ゲートがpチャネルトランジスタ425のドレインに接続され、ソースが基準電位ノードに接続される。   In the p-channel transistor 419, the source is connected to the power supply potential node, and the gate is connected to the drain of the p-channel transistor 425. In the p-channel transistor 420, the source is connected to the drain of the p-channel transistor 419, the gate is connected to the drain of the p-channel transistor 407, and the drain is connected to the drain of the p-channel transistor 422. The n-channel transistor 421 has a drain connected to the drain of the p-channel transistor 420, a gate connected to the drain of the p-channel transistor 407, and a source connected to the drain of the p-channel transistor 417. The p-channel transistor 422 has a source connected to the source of the n-channel transistor 421 and a gate connected to the drain of the p-channel transistor 405. The n-channel transistor 423 has a drain connected to the drain of the p-channel transistor 422 and a gate connected to the drain of the p-channel transistor 405. The n-channel transistor 424 has a drain connected to the source of the n-channel transistor 423, a gate connected to the drain of the p-channel transistor 425, and a source connected to the reference potential node.

pチャネルトランジスタ425は、ソースが電源電位ノードに接続され、ゲートがpチャネルトランジスタ420のドレインに接続される。nチャネルトランジスタ426は、ドレインがpチャネルトランジスタ425のドレインに接続され、ゲートがpチャネルトランジスタ420のドレインに接続され、ソースが基準電位ノードに接続される。   In the p-channel transistor 425, the source is connected to the power supply potential node, and the gate is connected to the drain of the p-channel transistor 420. The n-channel transistor 426 has a drain connected to the drain of the p-channel transistor 425, a gate connected to the drain of the p-channel transistor 420, and a source connected to the reference potential node.

pチャネルトランジスタ427は、ソースが電源電位ノードに接続され、ゲートがpチャネルトランジスタ425のドレインに接続され、ドレインが出力信号Qのノードに接続される。nチャネルトランジスタ428は、ドレインがpチャネルトランジスタ427のドレインに接続され、ゲートがpチャネルトランジスタ425のドレインに接続され、ソースが基準電位ノードに接続される。   In the p-channel transistor 427, the source is connected to the power supply potential node, the gate is connected to the drain of the p-channel transistor 425, and the drain is connected to the node of the output signal Q. The n-channel transistor 428 has a drain connected to the drain of the p-channel transistor 427, a gate connected to the drain of the p-channel transistor 425, and a source connected to the reference potential node.

ここで、トランジスタ401〜406は、図3の否定論理和回路303に対応する。トランジスタ407及び408は、図3のインバータ312に対応する。トランジスタ401及び402は、インバータとして機能する。pチャネルトランジスタ403は、イネーブル信号ENがハイレベルのときにオンする。nチャネルトランジスタ404は、イネーブル信号ENがローレベルのときにオンする。   Here, the transistors 401 to 406 correspond to the NOR circuit 303 in FIG. Transistors 407 and 408 correspond to inverter 312 in FIG. The transistors 401 and 402 function as an inverter. The p-channel transistor 403 is turned on when the enable signal EN is at a high level. The n-channel transistor 404 is turned on when the enable signal EN is at a low level.

トランジスタ405〜428は図3のフリップフロップ回路202と同じ回路であり、トランジスタ405及び406が図3のインバータ311に対応し、トランジスタ407及び408が図3のインバータ312に対応する。したがって、図3のフリップフロップ回路301は、フリップフロップ回路202に対して、4個のトランジスタ401〜404を追加しただけである。このフリップフロップ回路301により、イネーブル信号ENがローレベルのときにはクロック信号CLKを停止させることができるので、消費電力を低減することができる。   Transistors 405 to 428 are the same circuit as the flip-flop circuit 202 in FIG. 3, and transistors 405 and 406 correspond to the inverter 311 in FIG. 3, and transistors 407 and 408 correspond to the inverter 312 in FIG. Therefore, the flip-flop circuit 301 in FIG. 3 is simply obtained by adding four transistors 401 to 404 to the flip-flop circuit 202. Since the flip-flop circuit 301 can stop the clock signal CLK when the enable signal EN is at a low level, power consumption can be reduced.

図5は、図2(A)のイネーブル信号入力ありのフリップフロップ回路200の構成例を示す回路図である。図5のフリップフロップ回路は、図4のフリップフロップ回路に対して、4個のトランジスタ401〜404を削除し、8個のトランジスタ501〜508を追加したものである。すなわち、図4のフリップフロップ回路は、図5のフリップフロップ回路に対して、トランジスタ数を4個削減することができる。本実施形態は、図5のフリップフロップ回路(図2(A)のフリップフロップ回路200)に対して、クロック信号CLKの周波数の2倍以上の周波数のクロック信号で静的タイミング解析を行い、その結果が合格であるときには、図5のフリップフロップ回路(図2(A)のフリップフロップ回路200)を図4のフリップフロップ回路に変換する。この変換によりトランジスタ数を4個削減することができる。変換後の図4のフリップフロップ回路は、変換前の図5のフリップフロップ回路に対して、小型化かつ低消費電力の効果を得ることができる。   FIG. 5 is a circuit diagram illustrating a configuration example of the flip-flop circuit 200 with an enable signal input in FIG. The flip-flop circuit of FIG. 5 is obtained by deleting four transistors 401 to 404 and adding eight transistors 501 to 508 to the flip-flop circuit of FIG. That is, the flip-flop circuit in FIG. 4 can reduce the number of transistors by four compared to the flip-flop circuit in FIG. In the present embodiment, static timing analysis is performed on the flip-flop circuit of FIG. 5 (flip-flop circuit 200 of FIG. 2A) with a clock signal having a frequency twice or more the frequency of the clock signal CLK. When the result is acceptable, the flip-flop circuit in FIG. 5 (the flip-flop circuit 200 in FIG. 2A) is converted into the flip-flop circuit in FIG. This conversion can reduce the number of transistors by four. The flip-flop circuit in FIG. 4 after conversion can be reduced in size and power consumption compared to the flip-flop circuit in FIG. 5 before conversion.

図5において、pチャネルトランジスタ501は、ソースが電源電位ノードに接続され、ゲートがイネーブル信号ENのノードに接続される。nチャネルトランジスタ502は、ドレインがpチャネルトランジスタ501のドレインに接続され、ゲートがイネーブル信号ENのノードに接続され、ソースが基準電位ノードに接続される。pチャネルトランジスタ503は、ソースが基準電位ノードに接続され、ゲートがpチャネルトランジスタ501のドレインに接続され、ドレインがpチャネルトランジスタ409のソースに接続される。nチャネルトランジスタ504は、ドレインがnチャネルトランジスタ412のソースに接続され、ゲートがイネーブル信号ENのノードに接続され、ソースが基準電位ノードに接続される。pチャネルトランジスタ505は、ソースが電源電位ノードに接続され、ゲートがイネーブル信号ENのノードに接続される。pチャネルトランジスタ506は、ソースがpチャネルトランジスタ505のドレインに接続され、ゲートがpチャネルトランジスタ420のドレインに接続され、ドレインがpチャネルトランジスタ410のソースに接続される。nチャネルトランジスタ507は、ドレインがnチャネルトランジスタ411のソースに接続され、ゲートがpチャネルトランジスタ420のドレインに接続される。nチャネルトランジスタ508は、ドレインがnチャネルトランジスタ507のソースに接続され、ゲートがpチャネルトランジスタ501のドレインに接続され、ソースが基準電位ノードに接続される。   In FIG. 5, a p-channel transistor 501 has a source connected to the power supply potential node and a gate connected to the node of the enable signal EN. In the n-channel transistor 502, the drain is connected to the drain of the p-channel transistor 501, the gate is connected to the node of the enable signal EN, and the source is connected to the reference potential node. In the p-channel transistor 503, the source is connected to the reference potential node, the gate is connected to the drain of the p-channel transistor 501, and the drain is connected to the source of the p-channel transistor 409. The n-channel transistor 504 has a drain connected to the source of the n-channel transistor 412, a gate connected to the node of the enable signal EN, and a source connected to the reference potential node. In the p-channel transistor 505, the source is connected to the power supply potential node, and the gate is connected to the node of the enable signal EN. The p-channel transistor 506 has a source connected to the drain of the p-channel transistor 505, a gate connected to the drain of the p-channel transistor 420, and a drain connected to the source of the p-channel transistor 410. The n-channel transistor 507 has a drain connected to the source of the n-channel transistor 411 and a gate connected to the drain of the p-channel transistor 420. The n-channel transistor 508 has a drain connected to the source of the n-channel transistor 507, a gate connected to the drain of the p-channel transistor 501, and a source connected to the reference potential node.

図6は、図3のフリップフロップ回路301の構成例を示す回路図であり、図3の論理和回路201及びインバータ311を用いて構成した例を示す。論理和回路201は図3の論理和回路201に対応し、フリップフロップ回路202は図3のフリップフロップ回路202に対応する。   FIG. 6 is a circuit diagram illustrating a configuration example of the flip-flop circuit 301 in FIG. 3, and illustrates an example in which the flip-flop circuit 301 is configured using the OR circuit 201 and the inverter 311 in FIG. 3. The OR circuit 201 corresponds to the OR circuit 201 in FIG. 3, and the flip-flop circuit 202 corresponds to the flip-flop circuit 202 in FIG.

論理和回路201は、8個のトランジスタ601〜608を有する。pチャネルトランジスタ601は、ソースが電源電位ノードに接続され、ゲートがイネーブル信号ENのノードに接続される。nチャネルトランジスタ602は、ドレインがpチャネルトランジスタ601のドレインに接続され、ゲートがイネーブル信号ENのノードに接続され、ソースが基準電位ノードに接続される。pチャネルトランジスタ603は、ソースが電源電位ノードに接続され、ゲートがpチャネルトランジスタ601のドレインに接続される。pチャネルトランジスタ604は、ソースがpチャネルトランジスタ603のドレインに接続され、ゲートがクロック信号CLKのノードに接続される。nチャネルトランジスタ605は、ドレインがpチャネルトランジスタ604のドレインに接続され、ゲートがクロック信号CLKのノードに接続され、ソースが基準電位ノードに接続される。nチャネルトランジスタ606は、ドレインがpチャネルトランジスタ604のドレインに接続され、ゲートがpチャネルトランジスタ601のドレインに接続され、ソースが基準電位ノードに接続される。pチャネルトランジスタ607は、ソースが電源電位ノードに接続され、ゲートがpチャネルトランジスタ604のドレインに接続され、ドレインがトランジスタ405及び406のゲートに接続される。nチャネルトランジスタ608は、ドレインがpチャネルトランジスタ607のドレインに接続され、ゲートがpチャネルトランジスタ604のドレインに接続され、ソースが基準電位ノードに接続される。   The OR circuit 201 includes eight transistors 601 to 608. In the p-channel transistor 601, the source is connected to the power supply potential node, and the gate is connected to the node of the enable signal EN. The n-channel transistor 602 has a drain connected to the drain of the p-channel transistor 601, a gate connected to the node of the enable signal EN, and a source connected to the reference potential node. In the p-channel transistor 603, the source is connected to the power supply potential node, and the gate is connected to the drain of the p-channel transistor 601. The p-channel transistor 604 has a source connected to the drain of the p-channel transistor 603 and a gate connected to the node of the clock signal CLK. The n-channel transistor 605 has a drain connected to the drain of the p-channel transistor 604, a gate connected to the node of the clock signal CLK, and a source connected to the reference potential node. The n-channel transistor 606 has a drain connected to the drain of the p-channel transistor 604, a gate connected to the drain of the p-channel transistor 601, and a source connected to the reference potential node. In the p-channel transistor 607, the source is connected to the power supply potential node, the gate is connected to the drain of the p-channel transistor 604, and the drain is connected to the gates of the transistors 405 and 406. The n-channel transistor 608 has a drain connected to the drain of the p-channel transistor 607, a gate connected to the drain of the p-channel transistor 604, and a source connected to the reference potential node.

フリップフロップ回路202は、図4と同様に、トランジスタ405〜428を有する。トランジスタ405及び406は図3のインバータ311に対応し、トランジスタ407及び408は図3のインバータ312に対応する。   The flip-flop circuit 202 includes transistors 405 to 428 as in FIG. Transistors 405 and 406 correspond to the inverter 311 in FIG. 3, and transistors 407 and 408 correspond to the inverter 312 in FIG.

図3のフリップフロップ回路301は、図4のフリップフロップ回路301の構成又は図6のフリップフロップ回路301の構成で実現することができる。ただし、図4のフリップフロップ回路301は、図6のフリップフロップ回路301に対して、トランジスタ数を4個削減することができるので、より好ましい。   The flip-flop circuit 301 in FIG. 3 can be realized by the configuration of the flip-flop circuit 301 in FIG. 4 or the configuration of the flip-flop circuit 301 in FIG. However, the flip-flop circuit 301 in FIG. 4 is more preferable because the number of transistors can be reduced by four compared to the flip-flop circuit 301 in FIG.

図7は、スキャンテスト機能ありのフリップフロップ回路の一部の構成例を示す回路図であり、図4のフリップフロップ回路301にスキャンテスト機能を付加したものである。スキャンテストモードではスキャンテストモード信号SCANがハイレベルになり、それ以外のモードではスキャンテストモード信号SCANがローレベルになる。スキャンテストモード信号SCANがハイレベルになると、クロック信号CLKが有効状態になり、フリップフロップ回路301のスキャンテストを行うことができる。   FIG. 7 is a circuit diagram showing a configuration example of a part of a flip-flop circuit with a scan test function, in which a scan test function is added to the flip-flop circuit 301 of FIG. In the scan test mode, the scan test mode signal SCAN is at a high level, and in other modes, the scan test mode signal SCAN is at a low level. When the scan test mode signal SCAN becomes high level, the clock signal CLK becomes valid, and the scan test of the flip-flop circuit 301 can be performed.

図7のフリップフロップ回路301は、図4のフリップフロップ回路301に対して、2個のトランジスタ701及び702を追加したものである。以下、図7の回路が図4の回路と異なる点を説明する。pチャネルトランジスタ701は、ソースが電源電位ノードに接続され、ゲートがスキャンテストモード信号SCANのノードに接続され、ドレインがpチャネルトランジスタ401のソースに接続される。nチャネルトランジスタ702は、ドレインがpチャネルトランジスタ401のドレインに接続され、ゲートがスキャンテストモード信号SCANのノードに接続され、ソースが基準電位ノードに接続される。   The flip-flop circuit 301 in FIG. 7 is obtained by adding two transistors 701 and 702 to the flip-flop circuit 301 in FIG. Hereinafter, differences between the circuit of FIG. 7 and the circuit of FIG. 4 will be described. In the p-channel transistor 701, the source is connected to the power supply potential node, the gate is connected to the node of the scan test mode signal SCAN, and the drain is connected to the source of the p-channel transistor 401. The n-channel transistor 702 has a drain connected to the drain of the p-channel transistor 401, a gate connected to the node of the scan test mode signal SCAN, and a source connected to the reference potential node.

pチャネルトランジスタ403は、スキャンテストモード信号SCANがハイレベル又はイネーブル信号ENがハイレベルのときにオンになる。nチャネルトランジスタ404は、スキャンテストモード信号SCANがローレベルかつイネーブル信号ENがローレベルのときにオンになる。すなわち、スキャンテストモード信号SCAN又はイネーブル信号ENがハイレベルになると、クロック信号CLKが有効状態になり、スキャンテストモード信号SCAN及びイネーブル信号ENがローレベルになるとクロック信号CLKが停止状態になる。図7のフリップフロップ回路301は、図4のフリップフロップ回路301よりトランジスタ数が2個増加し、図5のフリップフロップ回路よりトランジスタが2個減少する。   The p-channel transistor 403 is turned on when the scan test mode signal SCAN is at a high level or the enable signal EN is at a high level. The n-channel transistor 404 is turned on when the scan test mode signal SCAN is at a low level and the enable signal EN is at a low level. That is, when the scan test mode signal SCAN or the enable signal EN becomes a high level, the clock signal CLK becomes valid, and when the scan test mode signal SCAN and the enable signal EN become a low level, the clock signal CLK stops. The flip-flop circuit 301 in FIG. 7 has two more transistors than the flip-flop circuit 301 in FIG. 4, and two transistors less than the flip-flop circuit in FIG.

(第2の実施形態)
図8(A)〜(D)は、本発明の第2の実施形態によるイネーブル信号入力なしのフリップフロップ回路の例を示す図である。図8(A)は、イネーブル信号入力なしのフリップフロップ回路801を示す。フリップフロップ回路801は、入力信号D及びクロック信号CLKを入力し、出力信号Qを出力する。本実施形態では、図8(A)の回路を図8(B)の回路に変換する。
(Second Embodiment)
FIGS. 8A to 8D are diagrams showing examples of flip-flop circuits without an enable signal input according to the second embodiment of the present invention. FIG. 8A illustrates a flip-flop circuit 801 without an enable signal input. The flip-flop circuit 801 receives the input signal D and the clock signal CLK, and outputs an output signal Q. In this embodiment, the circuit in FIG. 8A is converted to the circuit in FIG.

図8(B)の回路は、図8(A)の回路と同じ論理動作を行う。図8(B)のイネーブル信号入力なしのフリップフロップ回路は、排他的論理和回路811、論理和回路812及びイネーブル信号入力なしのフリップフロップ回路202を有する。排他的論理和回路811は、入力信号D及び出力信号Qの排他的論理和信号DTを出力する。論理和回路812は、クロック信号CLK及び信号DTの論理和をクロック信号CLK1として出力する。図8(C)及び(D)に示すように、排他的論理和回路811及び論理和回路812は、クロックゲーティング回路として機能する。フリップフロップ回路202は、図8(A)のフリップフロップ回路801と同じ構成を有し、クロック信号CLK1をクロック端子に入力し、入力信号Dを入力端子に入力し、出力端子から出力信号Qを出力する。フリップフロップ回路202は、クロック信号CLK1の立ち上がりエッジに同期して入力信号Dを保持し、保持した信号を出力信号Qとして排他的論理和回路811に出力する。クロックゲーティング回路を設けることにより、入力信号Dの変化時のみクロック信号CLK1を有効にし、入力信号Dが変化しない時にはクロック信号CLKを停止させることができる。これにより、図8(B)の回路は図8(A)の回路に比べて消費電力を低減することができる。   The circuit in FIG. 8B performs the same logical operation as the circuit in FIG. The flip-flop circuit without an enable signal input in FIG. 8B includes an exclusive OR circuit 811, an OR circuit 812, and a flip-flop circuit 202 without an enable signal input. The exclusive OR circuit 811 outputs an exclusive OR signal DT of the input signal D and the output signal Q. The OR circuit 812 outputs a logical sum of the clock signal CLK and the signal DT as the clock signal CLK1. As shown in FIGS. 8C and 8D, the exclusive OR circuit 811 and the OR circuit 812 function as a clock gating circuit. The flip-flop circuit 202 has the same structure as that of the flip-flop circuit 801 in FIG. 8A, and inputs the clock signal CLK1 to the clock terminal, the input signal D to the input terminal, and the output signal Q from the output terminal. Output. The flip-flop circuit 202 holds the input signal D in synchronization with the rising edge of the clock signal CLK1, and outputs the held signal as the output signal Q to the exclusive OR circuit 811. By providing the clock gating circuit, the clock signal CLK1 can be validated only when the input signal D changes, and the clock signal CLK can be stopped when the input signal D does not change. Accordingly, the circuit in FIG. 8B can reduce power consumption compared to the circuit in FIG.

図8(C)はクロック信号CLKがハイレベルのときに入力信号Dが変化する場合のタイミングチャートであり、図8(D)はクロック信号CLKがローレベルのときに入力信号Dが変化する場合のタイミングチャートである。いずれの場合も、クロック信号CLK1の立ち上がりエッジは、クロック信号CLKの立ち上がりエッジと同じタイミングであるため、クロック信号CLK1に誤動作の原因となるグリッチが発生しない。具体的には、図8(D)では、クロック信号CLK1のパルス幅が狭くなるが、出力信号Qが直接、排他的論理和回路811に入力されるため、出力信号Qは入力信号Dに対して遅延量が小さく、クロック信号CLKがローレベルの時に出力信号Qが変化することはない。これにより、排他的論理和回路811の出力信号DTは、クロック信号CLKがローレベルのときに立ち下がることはない。そのため、クロック信号CLK1の立ち上がりエッジは、クロック信号CLKの立ち上がりエッジと同じタイミングになり、図8(B)のフリップフロップ回路の正常動作が保証される。   FIG. 8C is a timing chart when the input signal D changes when the clock signal CLK is at a high level, and FIG. 8D shows the case where the input signal D changes when the clock signal CLK is at a low level. It is a timing chart. In any case, since the rising edge of the clock signal CLK1 has the same timing as the rising edge of the clock signal CLK, a glitch that causes a malfunction does not occur in the clock signal CLK1. Specifically, in FIG. 8D, the pulse width of the clock signal CLK1 is narrowed, but the output signal Q is directly input to the exclusive OR circuit 811. Therefore, the output signal Q does not change when the delay amount is small and the clock signal CLK is at a low level. Thus, the output signal DT of the exclusive OR circuit 811 does not fall when the clock signal CLK is at a low level. Therefore, the rising edge of the clock signal CLK1 has the same timing as the rising edge of the clock signal CLK, and normal operation of the flip-flop circuit in FIG. 8B is guaranteed.

図9は、図8(B)のフリップフロップ回路の構成例を示す概念図である。フリップフロップ回路901のセルは、排他的論理和回路811及び論理和回路812のクロックゲーティング回路を内蔵する。イネーブル信号入力なしのフリップフロップ回路901は、図8(B)と同様に、排他的論理和回路811、論理和回路812及びイネーブル信号入力なしのフリップフロップ回路202を有する。フリップフロップ回路202は、図3のフリップフロップ回路202と同じ構成を有する。排他的論理和回路811及び論理和回路812のクロックゲーティング回路は、フリップフロップ回路901のセル内部に追加される。図9のフリップフロップ回路901は、上記のようにグリッチの問題が生じないため、図8(A)のフリップフロップ回路801を図9のフリップフロップ回路901に変換することができる。図8(A)のフリップフロップ回路801はクロックゲーティング回路を有さず、図9のフリップフロップ回路901はクロックゲーティング回路を有する。変換は、セル名を変更するのみでよい。変換方法の詳細は、後に図12を参照しながら説明する。なお、論理和回路812及びインバータ311を含む回路902は、否定論理和回路903として構成することもできる。   FIG. 9 is a conceptual diagram illustrating a configuration example of the flip-flop circuit in FIG. A cell of the flip-flop circuit 901 includes a clock gating circuit of an exclusive OR circuit 811 and an OR circuit 812. A flip-flop circuit 901 without an enable signal input includes an exclusive OR circuit 811, an OR circuit 812, and a flip-flop circuit 202 without an enable signal input, as in FIG. 8B. The flip-flop circuit 202 has the same configuration as the flip-flop circuit 202 in FIG. The clock gating circuits of the exclusive OR circuit 811 and the OR circuit 812 are added inside the cell of the flip-flop circuit 901. Since the flip-flop circuit 901 in FIG. 9 does not cause the glitch problem as described above, the flip-flop circuit 801 in FIG. 8A can be converted into the flip-flop circuit 901 in FIG. The flip-flop circuit 801 in FIG. 8A does not have a clock gating circuit, and the flip-flop circuit 901 in FIG. 9 has a clock gating circuit. The conversion only needs to change the cell name. Details of the conversion method will be described later with reference to FIG. Note that the circuit 902 including the logical sum circuit 812 and the inverter 311 can also be configured as a negative logical sum circuit 903.

図9のフリップフロップ回路901のセル外部端子は、図8(A)のフリップフロップ回路801のものと同じであり、フリップフロップ回路901のセル内部には排他的論理和回路811及び論理和回路812が追加される。そのため、図9のフリップフロップ回路901は、図8(A)のフリップフロップ回路801と同様に、静的タイミング解析及びクロックツリー合成を容易に行うことが可能である。したがって、図8(A)のフリップフロップ回路801を図9のフリップフロップ回路901に変換し、変換したフリップフロップ回路901のネットリスト設計データに対して、クロック信号CLKの周波数と同じ周波数のクロック信号で静的タイミング解析を行い、その結果が合格であれば、図9のフリップフロップ回路901の正常動作が保証される。図9のフリップフロップ回路901は、図8(A)のフリップフロップ回路801に比べ、消費電力を低減することができる。   The cell external terminal of the flip-flop circuit 901 in FIG. 9 is the same as that of the flip-flop circuit 801 in FIG. 8A, and an exclusive OR circuit 811 and an OR circuit 812 are provided inside the cell of the flip-flop circuit 901. Is added. Therefore, the flip-flop circuit 901 in FIG. 9 can easily perform static timing analysis and clock tree synthesis in the same manner as the flip-flop circuit 801 in FIG. Therefore, the flip-flop circuit 801 in FIG. 8A is converted to the flip-flop circuit 901 in FIG. 9, and the clock signal having the same frequency as that of the clock signal CLK is converted to the netlist design data of the converted flip-flop circuit 901. If the static timing analysis is performed and the result is acceptable, normal operation of the flip-flop circuit 901 in FIG. 9 is guaranteed. The flip-flop circuit 901 in FIG. 9 can reduce power consumption as compared with the flip-flop circuit 801 in FIG.

図10は、図9のフリップフロップ回路901の構成例を示す回路図であり、図9の論理和回路812及びインバータ311を否定論理和回路903として構成した例を示す。トランジスタ1001〜1008は図9の排他的論理和回路811に対応し、トランジスタ1009,405,406,1010は図9の否定論理和回路903に対応する。図10の回路は、図6のフリップフロップ回路202に対して、10個のトランジスタ1001〜1010を追加したものである。以下、図10の回路が図6のフリップフロップ回路202と異なる点を説明する。   FIG. 10 is a circuit diagram illustrating a configuration example of the flip-flop circuit 901 in FIG. 9, and illustrates an example in which the OR circuit 812 and the inverter 311 in FIG. 9 are configured as a negative OR circuit 903. The transistors 1001 to 1008 correspond to the exclusive OR circuit 811 in FIG. 9, and the transistors 1009, 405, 406, and 1010 correspond to the negative OR circuit 903 in FIG. The circuit of FIG. 10 is obtained by adding ten transistors 1001 to 1010 to the flip-flop circuit 202 of FIG. Hereinafter, differences between the circuit of FIG. 10 and the flip-flop circuit 202 of FIG. 6 will be described.

pチャネルトランジスタ1001は、ソースが電源電位ノードに接続され、ゲートが出力信号Qのノードに接続される。pチャネルトランジスタ1002は、ソースがpチャネルトランジスタ1001のドレインに接続され、ゲートが入力信号Dのノードに接続される。pチャネルトランジスタ1003は、ソースが電源電位ノードに接続され、ゲートがpチャネルトランジスタ425のドレインに接続される。pチャネルトランジスタ1004は、ソースがpチャネルトランジスタ1003のドレインに接続され、ゲートがpチャネルトランジスタ409のドレインに接続され、ドレインがpチャネルトランジスタ1002のドレインに接続される。nチャネルトランジスタ1005は、ドレインがpチャネルトランジスタ1002のドレインに接続され、ゲートがpチャネルトランジスタ409のドレインに接続される。nチャネルトランジスタ1006は、ドレインがnチャネルトランジスタ1005のソースに接続され、ゲートが出力信号Qのノードに接続され、ソースが基準電位ノードに接続される。nチャネルトランジスタ1007は、ドレインがpチャネルトランジスタ1002のドレインに接続され、ゲートが入力信号Dのノードに接続される。nチャネルトランジスタ1008は、ドレインがnチャネルトランジスタ1007のソースに接続され、ゲートがpチャネルトランジスタ425のドレインに接続され、ソースが基準電位ノードに接続される。pチャネルトランジスタ1009は、ソースが電源電位ノードに接続され、ゲートがpチャネルトランジスタ1002のドレインに接続され、ドレインがpチャネルトランジスタ405のソースに接続される。nチャネルトランジスタ1010は、ドレインがpチャネルトランジスタ405のドレインに接続され、ゲートがpチャネルトランジスタ1002のドレインに接続され、ソースが基準電位ノードに接続される。   In the p-channel transistor 1001, the source is connected to the power supply potential node, and the gate is connected to the node of the output signal Q. The p-channel transistor 1002 has a source connected to the drain of the p-channel transistor 1001 and a gate connected to the node of the input signal D. In the p-channel transistor 1003, the source is connected to the power supply potential node, and the gate is connected to the drain of the p-channel transistor 425. In the p-channel transistor 1004, the source is connected to the drain of the p-channel transistor 1003, the gate is connected to the drain of the p-channel transistor 409, and the drain is connected to the drain of the p-channel transistor 1002. The n-channel transistor 1005 has a drain connected to the drain of the p-channel transistor 1002 and a gate connected to the drain of the p-channel transistor 409. The n-channel transistor 1006 has a drain connected to the source of the n-channel transistor 1005, a gate connected to the node of the output signal Q, and a source connected to the reference potential node. The n-channel transistor 1007 has a drain connected to the drain of the p-channel transistor 1002 and a gate connected to the node of the input signal D. The n-channel transistor 1008 has a drain connected to the source of the n-channel transistor 1007, a gate connected to the drain of the p-channel transistor 425, and a source connected to the reference potential node. In the p-channel transistor 1009, the source is connected to the power supply potential node, the gate is connected to the drain of the p-channel transistor 1002, and the drain is connected to the source of the p-channel transistor 405. The n-channel transistor 1010 has a drain connected to the drain of the p-channel transistor 405, a gate connected to the drain of the p-channel transistor 1002, and a source connected to the reference potential node.

本実施形態では、図8(A)のフリップフロップ回路801を図10のフリップフロップ回路に変換する。図8(A)のフリップフロップ回路801は、図6のフリップフロップ回路202と同じ構成を有し、クロックゲーティング回路を有しない。図10のフリップフロップ回路は、上記のようにクロックゲーティング回路を有する。図10のフリップフロップ回路は、図8(A)のフリップフロップ回路801(図6のフリップフロップ回路202)に対して、10個のトランジスタ1001〜1010が増加し、面積が増加する。したがって、レイアウトの空き領域の面積が閾値以上であれば、図8(A)のフリップフロップ回路801を図10のフリップフロップ回路に変換することができる。図10のフリップフロップ回路は、入力信号Dが変化した時のみクロック信号CLKが有効に動作し、入力信号Dが変化しない時にはクロック信号CLKが停止するため、図8(A)のフリップフロップ回路801よりもかなりの低消費電力化が望める。   In this embodiment, the flip-flop circuit 801 in FIG. 8A is converted to the flip-flop circuit in FIG. A flip-flop circuit 801 in FIG. 8A has the same structure as the flip-flop circuit 202 in FIG. 6 and does not have a clock gating circuit. The flip-flop circuit in FIG. 10 has a clock gating circuit as described above. In the flip-flop circuit in FIG. 10, ten transistors 1001 to 1010 are added to the flip-flop circuit 801 in FIG. 8A (flip-flop circuit 202 in FIG. 6), and the area is increased. Therefore, if the area of the vacant area of the layout is equal to or larger than the threshold value, the flip-flop circuit 801 in FIG. 8A can be converted to the flip-flop circuit in FIG. In the flip-flop circuit of FIG. 10, the clock signal CLK operates effectively only when the input signal D changes, and the clock signal CLK stops when the input signal D does not change. Therefore, the flip-flop circuit 801 of FIG. The power consumption can be considerably reduced.

また、本実施形態も、図7の回路と同様に、図10のフリップフロップ回路に2個のトランジスタを追加することにより、スキャンテスト機能ありのフリップフロップ回路を構成することができる。スキャンテスト機能ありのフリップフロップ回路は、図8(A)のフリップフロップ回路801に対して、トランジスタ数が12個増加する。   Also in this embodiment, similarly to the circuit of FIG. 7, a flip-flop circuit with a scan test function can be configured by adding two transistors to the flip-flop circuit of FIG. In the flip-flop circuit having the scan test function, the number of transistors is increased by 12 over the flip-flop circuit 801 in FIG.

(第3の実施形態)
図11は、本発明の第3の実施形態による設計装置を構成するコンピュータのハードウェア構成例を示すブロック図である。この設計装置は、CAD(computer-aided design)により、フリップフロップ回路等の設計データを生成することができ、第1及び第2の実施形態のフリップフロップ回路を設計することができる。
(Third embodiment)
FIG. 11 is a block diagram illustrating a hardware configuration example of a computer constituting the design apparatus according to the third embodiment of the present invention. This design apparatus can generate design data such as a flip-flop circuit by CAD (computer-aided design), and can design the flip-flop circuits of the first and second embodiments.

バス1101には、中央処理装置(CPU)1102、ROM1103、RAM1104、ネットワークインタフェース1105、入力装置1106、出力装置1107及び外部記憶装置1108が接続されている。   A central processing unit (CPU) 1102, ROM 1103, RAM 1104, network interface 1105, input device 1106, output device 1107, and external storage device 1108 are connected to the bus 1101.

CPU1102は、データの処理及び演算を行うと共に、バス1101を介して接続された上記の構成ユニットを制御するものである。ROM1103には、予めブートプログラムが記憶されており、このブートプログラムをCPU1102が実行することにより、コンピュータが起動する。外部記憶装置1108にコンピュータプログラムが記憶されており、そのコンピュータプログラムがRAM1104にコピーされ、CPU1102により実行される。このコンピュータは、コンピュータプログラムを実行することにより、後述する図12の設計処理等を行うことができる。   The CPU 1102 performs processing and calculation of data and controls the above-described constituent units connected via the bus 1101. A boot program is stored in the ROM 1103 in advance, and the computer is activated when the CPU 1102 executes this boot program. A computer program is stored in the external storage device 1108, and the computer program is copied to the RAM 1104 and executed by the CPU 1102. This computer can execute a design process shown in FIG. 12 and the like described later by executing a computer program.

外部記憶装置1108は、例えばハードディスク記憶装置等であり、電源を切っても記憶内容が消えない。外部記憶装置1108は、コンピュータプログラム、設計データ等を記録媒体に記録したり、記録媒体からコンピュータプログラム等を読み出すことができる。   The external storage device 1108 is, for example, a hard disk storage device or the like, and the stored content does not disappear even when the power is turned off. The external storage device 1108 can record a computer program, design data, and the like on a recording medium, and can read out the computer program and the like from the recording medium.

ネットワークインタフェース1105は、ネットワークに対してコンピュータプログラム及び設計データ等を入出力することができる。入力装置1106は、例えばキーボード及びポインティングデバイス(マウス)等であり、各種指定又は入力等を行うことができる。出力装置1107は、ディスプレイ及びプリンタ等であり、表示又は印刷することができる。   The network interface 1105 can input and output computer programs and design data to and from the network. The input device 1106 is, for example, a keyboard and a pointing device (mouse), and can perform various designations or inputs. The output device 1107 is a display, a printer, or the like, and can display or print.

本実施形態は、コンピュータがプログラムを実行することによって実現することができる。また、プログラムをコンピュータに供給するための手段、例えばかかるプログラムを記録したCD−ROM等のコンピュータ読み取り可能な記録媒体又はかかるプログラムを伝送するインターネット等の伝送媒体も本発明の実施形態として適用することができる。また、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体等のコンピュータプログラムプロダクトも本発明の実施形態として適用することができる。上記のプログラム、記録媒体、伝送媒体及びコンピュータプログラムプロダクトは、本発明の範疇に含まれる。記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。   This embodiment can be realized by a computer executing a program. Also, means for supplying a program to a computer, for example, a computer-readable recording medium such as a CD-ROM recording such a program, or a transmission medium such as the Internet for transmitting such a program is also applied as an embodiment of the present invention. Can do. A computer program product such as a computer-readable recording medium in which the above program is recorded can also be applied as an embodiment of the present invention. The above program, recording medium, transmission medium, and computer program product are included in the scope of the present invention. As the recording medium, for example, a flexible disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a magnetic tape, a nonvolatile memory card, a ROM, or the like can be used.

図12は、図11の設計装置の設計方法の処理例を示すフローチャートである。設計装置は、図2(A)及び図8(A)のフリップフロップ回路を含む半導体回路の設計処理を行い、RTL(レジスタトランスファレベル)設計データD1を生成して外部記憶装置1108に記憶する。次に、ステップS1では、設計装置(論理合成部)は、RTL設計データD1を論理合成し、ネットリスト設計データD2及びログファイルD4を生成し、外部記憶装置1108に記憶する。次に、ステップS2では、設計装置は、ネットリスト設計データD2に対してレイアウト処理を行い、ネットリスト設計データD3を生成し、外部記憶装置1108に記憶する。次に、ステップS3では、設計装置(静的タイミング解析部)は、ネットリスト設計データD3に対して、クロック信号CLKの要求周波数(例えば50MHz)と同じ周波数のクロック信号で静的タイミング解析(STA)を行う。静的タイミング解析の結果が合格であればステップS6へ進み、不合格であればステップS2に戻る。通常であれば、静的タイミング解析の結果が合格であれば、ステップS17へ進み、LSI実装を行う。これに対し、本実施形態では、フリップフロップ回路の消費電力を低減するため、低消費電力フリップフロップ回路への変換処理1201を行う。ステップS6〜S10は、図8(A)のフリップフロップ回路801のセルを図9のフリップフロップ回路901のセルに変換する処理である。ステップS11〜S16は、図2(A)のフリップフロップ回路200のセルを図3のフリップフロップ回路301のセルに変換する処理である。   FIG. 12 is a flowchart illustrating a processing example of the design method of the design apparatus of FIG. The design apparatus performs a design process of the semiconductor circuit including the flip-flop circuit of FIGS. 2A and 8A, generates RTL (register transfer level) design data D1, and stores it in the external storage device 1108. Next, in step S <b> 1, the design device (logic synthesis unit) logically synthesizes the RTL design data D <b> 1, generates netlist design data D <b> 2 and log file D <b> 4, and stores them in the external storage device 1108. Next, in step S2, the design apparatus performs layout processing on the netlist design data D2, generates netlist design data D3, and stores it in the external storage device 1108. Next, in step S3, the design apparatus (static timing analysis unit) performs static timing analysis (STA) on the netlist design data D3 with a clock signal having the same frequency as the required frequency of the clock signal CLK (for example, 50 MHz). )I do. If the result of the static timing analysis is acceptable, the process proceeds to step S6, and if not, the process returns to step S2. Normally, if the result of the static timing analysis is acceptable, the process proceeds to step S17, and LSI mounting is performed. On the other hand, in this embodiment, in order to reduce the power consumption of the flip-flop circuit, the conversion process 1201 to the low power consumption flip-flop circuit is performed. Steps S6 to S10 are processes for converting the cell of the flip-flop circuit 801 in FIG. 8A into the cell of the flip-flop circuit 901 in FIG. Steps S11 to S16 are processes for converting the cells of the flip-flop circuit 200 of FIG. 2A into the cells of the flip-flop circuit 301 of FIG.

ステップS5では、設計装置(リスト作成部)は、ログファイルD4を基に、図2(A)のイネーブル信号入力ありのフリップフロップ回路200のリストD5を作成し、図8(A)のイネーブル信号入力なしのフリップフロップ回路801のリストD6を作成し、リストD5及びD6を外部記憶装置1108に記憶する。   In step S5, the design device (list creation unit) creates the list D5 of the flip-flop circuit 200 with the enable signal input shown in FIG. 2A based on the log file D4, and the enable signal shown in FIG. 8A. A list D6 of the flip-flop circuit 801 without input is created, and the lists D5 and D6 are stored in the external storage device 1108.

その後、ステップS6では、設計装置は、レイアウトの空き領域の面積が閾値以上であればステップS7へ進み、閾値未満であればステップS11へ進む。ステップS7では、設計装置(変換部)は、リストD6を参照し、図8(A)のフリップフロップ回路801のセルを図9のフリップフロップ回路901のセルに変換することによりネットリスト設計データD7を生成し、外部記憶媒体1108に記憶する。すなわち、設計装置(変換部)は、入力信号D及びクロック信号CLKを入力するフリップフロップ回路801のネットリスト設計データD3を入力し、フリップフロップ回路801をフリップフロップ回路901に変換したネットリスト設計データD7を生成する。次に、ステップS8では、設計装置(静的タイミング解析部)は、ネットリスト設計データD7に対して、クロック信号CLKの要求周波数(例えば50MHz)と同じ周波数のクロック信号で静的タイミング解析を行う。次に、ステップS9では、設計装置は、変換後のフリップフロップ回路901の静的タイミング解析の結果が合格の場合はステップS11へ進み、不合格の場合はステップS10へ進む。ステップS10では、設計装置(復元部)は、リストD6内のフリップフロップ回路の中で、合格のものは変換後のフリップフロップ回路901を採用し、不合格のものは変換前のフリップフロップ回路801に戻してリストD6から削除し、ネットリスト設計データD7を変更する。その後、ステップS8の処理に戻る。すなわち、設計装置(復元部)は、ネットリスト設計データD7を入力し、フリップフロップ回路901をフリップフロップ回路801に戻したネットリスト設計データを生成する。   Thereafter, in step S6, the design apparatus proceeds to step S7 if the area of the vacant area of the layout is equal to or greater than the threshold value, and proceeds to step S11 if the area is less than the threshold value. In step S7, the design apparatus (conversion unit) refers to the list D6 and converts the cells of the flip-flop circuit 801 in FIG. 8A into the cells of the flip-flop circuit 901 in FIG. Is generated and stored in the external storage medium 1108. That is, the design apparatus (conversion unit) receives netlist design data D3 of the flip-flop circuit 801 that receives the input signal D and the clock signal CLK, and converts the flip-flop circuit 801 into the flip-flop circuit 901. D7 is generated. Next, in step S8, the design apparatus (static timing analysis unit) performs static timing analysis on the netlist design data D7 using a clock signal having the same frequency as the required frequency of the clock signal CLK (for example, 50 MHz). . Next, in step S9, the design apparatus proceeds to step S11 if the result of the static timing analysis of the flip-flop circuit 901 after the conversion is acceptable, and proceeds to step S10 if the result is unacceptable. In step S10, the design apparatus (restoring unit) adopts the flip-flop circuit 901 after conversion among the flip-flop circuits in the list D6, and the flip-flop circuit 801 before conversion for the rejected one. Returning to (2) and deleting from the list D6, the netlist design data D7 is changed. Thereafter, the process returns to step S8. That is, the design apparatus (restoring unit) receives the netlist design data D7 and generates netlist design data in which the flip-flop circuit 901 is returned to the flip-flop circuit 801.

ステップS11では、設計装置(静的タイミング解析部)は、ネットリスト設計データD7に対して、クロック信号CLKの要求周波数(例えば50MHz)の2倍以上の周波数(例えば100MHz以上の周波数)のクロック信号で静的タイミング解析を行い、ログファイルD8を生成して外部記憶装置1108に記憶する。なお、静的タイミング解析でのクロック信号の周波数は、高いほどタイミング条件が厳しくなり、静的タイミング解析の結果が不合格になる確率が高くなる。歩留まりを上げるには、静的タイミング解析でのクロック信号の周波数が低いことが好ましい。したがって、設計部(静的タイミング解析部)は、ネットリスト設計データD7に対して、クロック信号CLKの要求周波数の2倍の周波数(例えば100MHz)のクロック信号で静的タイミング解析を行うことが好ましい。   In step S11, the design apparatus (static timing analysis unit) generates a clock signal having a frequency (for example, a frequency of 100 MHz or more) twice or more the required frequency (for example, 50 MHz) of the clock signal CLK with respect to the netlist design data D7. Then, static timing analysis is performed, and a log file D8 is generated and stored in the external storage device 1108. Note that the higher the frequency of the clock signal in the static timing analysis, the more severe the timing condition, and the higher the probability that the result of the static timing analysis will be rejected. In order to increase the yield, it is preferable that the frequency of the clock signal in the static timing analysis is low. Therefore, it is preferable that the design unit (static timing analysis unit) performs static timing analysis on the netlist design data D7 with a clock signal having a frequency twice the required frequency of the clock signal CLK (for example, 100 MHz). .

次に、ステップS12では、設計装置(リスト作成部)は、ログファイルD8を基に、静的タイミング解析の結果が合格であるフリップフロップ回路のリストD9を作成し、外部記憶装置1108に記憶する。次に、ステップS13では、設計装置(変換部)は、リストD5及びD9を参照し、リストD5内のフリップフロップ回路200の中で、静的タイミング解析の結果が合格であるフリップフロップ回路200のセルを図3のフリップフロップ回路301のセルに変換し、ネットリスト設計データD10を生成して外部記憶装置1108に記憶する。すなわち、設計装置(変換部)は、ステップS11の静的タイミング解析の結果が合格の場合には、ネットリスト設計データD7を入力し、フリップフロップ回路200をフリップフロップ回路301に変換したネットリスト設計データD10を生成する。   Next, in step S12, the design device (list creation unit) creates a list D9 of flip-flop circuits that have passed the static timing analysis result based on the log file D8, and stores the list D9 in the external storage device 1108. . Next, in step S13, the design apparatus (conversion unit) refers to the lists D5 and D9, and among the flip-flop circuits 200 in the list D5, the flip-flop circuit 200 that has passed the static timing analysis result. The cell is converted into the cell of the flip-flop circuit 301 in FIG. 3, and the netlist design data D10 is generated and stored in the external storage device 1108. That is, when the result of the static timing analysis in step S11 is acceptable, the design apparatus (conversion unit) receives the netlist design data D7 and converts the flip-flop circuit 200 into the flip-flop circuit 301. Data D10 is generated.

次に、ステップS14では、設計装置(静的タイミング解析部)は、ネットリスト設計データD10に対して、クロック信号CLKの要求周波数(例えば50MHz)の2倍以上の周波数(100MHz以上の周波数)のクロック信号で静的タイミング解析を行う。なお、この静的タイミング解析の周波数は、ステップS11と同様に、クロック信号CLKの要求周波数(例えば50MHz)の2倍の周波数(100MHz)が好ましい。次に、ステップS15では、設計装置は、変換後のフリップフロップ回路301の静的タイミング解析の結果が合格の場合はステップS17へ進み、不合格の場合はステップS16へ進む。ステップS16では、設計装置(復元部)は、リストD5内のフリップフロップ回路の中で、合格のものは変換後のフリップフロップ回路301を採用し、不合格のものは変換前のフリップフロップ回路200に戻してリストD5から削除し、ネットリスト設計データD10を変更する。その後、ステップS14の処理に戻る。すなわち、設計装置(復元部)は、ネットリスト設計データD10を入力し、フリップフロップ回路301をフリップフロップ回路200に戻したネットリスト設計データを生成する。ステップS17では、ステップS14の静的タイミング解析で合格したネットリスト設計データD10を基にLSI実装処理が行われる。   Next, in step S14, the design apparatus (static timing analysis unit) has a frequency (frequency of 100 MHz or more) that is twice or more the required frequency (for example, 50 MHz) of the clock signal CLK with respect to the netlist design data D10. Perform static timing analysis on the clock signal. The frequency of this static timing analysis is preferably a frequency (100 MHz) that is twice the required frequency (for example, 50 MHz) of the clock signal CLK, as in step S11. Next, in step S15, the design apparatus proceeds to step S17 if the result of the static timing analysis of the flip-flop circuit 301 after the conversion is acceptable, and proceeds to step S16 if the result is unacceptable. In step S16, the design apparatus (restoring unit) adopts the flip-flop circuit 301 after the conversion for the flip-flop circuits in the list D5, and the flip-flop circuit 200 before the conversion for the rejected ones. Returning to the above, the list is deleted from the list D5, and the netlist design data D10 is changed. Thereafter, the process returns to step S14. That is, the design apparatus (restoring unit) receives the netlist design data D10 and generates netlist design data in which the flip-flop circuit 301 is returned to the flip-flop circuit 200. In step S17, LSI mounting processing is performed based on the netlist design data D10 that has passed the static timing analysis in step S14.

図12の処理は一例であり、例えばレイアウト処理前のネットリスト設計データD2からフリップフロップ回路301又は901のセルへ変換してもよい。また、ステップS6〜S10の処理とステップS11〜S16の処理の順番を入れ替えてもよいし、どちらか一方の処理しか行わなくてもよいし、対象のフリップフロップ回路すべてではなく一部のフリップフロップ回路のみ変換してもよい。   The process in FIG. 12 is an example. For example, the netlist design data D2 before the layout process may be converted into the flip-flop circuit 301 or 901 cell. In addition, the order of the processes of steps S6 to S10 and the processes of steps S11 to S16 may be interchanged, or only one of the processes may be performed. Only the circuit may be converted.

第1〜第3の実施形態によれば、低消費電力化できていないフリップフロップ回路200及び/又は801のセルに対し、低消費電力化したフリップフロップ回路301及び/又は901のセルに変換することにより、低消費電力化が可能になる。さらに、図4の変換後のフリップフロップ回路301は、図5の変換前のフリップフロップ回路200に対して面積を削減することができる。   According to the first to third embodiments, the flip-flop circuit 200 and / or 801 cell whose power consumption is not reduced is converted into the flip-flop circuit 301 and / or 901 cell whose power consumption is reduced. As a result, low power consumption can be achieved. Further, the converted flip-flop circuit 301 in FIG. 4 can reduce the area compared to the pre-conversion flip-flop circuit 200 in FIG.

なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。   The above-described embodiments are merely examples of implementation in carrying out the present invention, and the technical scope of the present invention should not be construed in a limited manner. That is, the present invention can be implemented in various forms without departing from the technical idea or the main features thereof.

1101 バス
1102 CPU
1103 ROM
1104 RAM
1105 ネットワークインタフェース
1106 入力装置
1107 出力装置
1108 外部記憶装置
1101 Bus 1102 CPU
1103 ROM
1104 RAM
1105 Network interface 1106 Input device 1107 Output device 1108 External storage device

Claims (5)

第1の入力信号、第1のイネーブル信号及び第1のクロック信号を入力する第1のフリップフロップ回路の第1の設計データに対して、前記第1のクロック信号の周波数の2倍以上の周波数のクロック信号で第1の静的タイミング解析を行う第1の静的タイミング解析部と、
前記第1の静的タイミング解析の結果が合格の場合には、前記第1の設計データを入力し、前記第1のフリップフロップ回路を第2のフリップフロップ回路に変換した第2の設計データを生成する第1の変換部とを有し、
前記第1のフリップフロップ回路は、クロックゲーティング回路を有さず、
前記第2のフリップフロップ回路は、前記第1のイネーブル信号を前記第1のクロック信号でクロックゲーティングして出力するクロックゲーティング回路と、前記クロックゲーティング回路の出力信号をクロック端子に入力して前記第1の入力信号を入力端子に入力する第3のフリップフロップ回路とを有することを特徴とする設計装置。
With respect to the first design data of the first flip-flop circuit that inputs the first input signal, the first enable signal, and the first clock signal, the frequency is twice or more the frequency of the first clock signal. A first static timing analysis unit that performs a first static timing analysis with a clock signal of:
When the result of the first static timing analysis is acceptable, the first design data is input, and second design data obtained by converting the first flip-flop circuit into a second flip-flop circuit is input. A first conversion unit to generate,
The first flip-flop circuit does not have a clock gating circuit,
The second flip-flop circuit clock-gates the first enable signal using the first clock signal and outputs the clock enable circuit, and inputs the output signal of the clock gating circuit to a clock terminal. And a third flip-flop circuit for inputting the first input signal to an input terminal.
前記クロックゲーティング回路は、前記第1のイネーブル信号及び前記第1のクロック信号を入力して前記第3のフリップフロップ回路のクロック端子に出力する論理和回路又は否定論理和回路を有することを特徴とする請求項1記載の設計装置。   The clock gating circuit includes a logical sum circuit or a negative logical sum circuit that inputs the first enable signal and the first clock signal and outputs the first enable signal and the first clock signal to a clock terminal of the third flip-flop circuit. The design apparatus according to claim 1. さらに、第3の設計データを論理合成してログファイル及び前記第1の設計データを生成する論理合成部と、
前記ログファイルを基に前記第1のフリップフロップ回路のリストを作成する第1のリスト作成部とを有し、
前記第1の変換部は、前記第1のフリップフロップの回路のリストを基に前記変換を行い、
さらに、前記第2の設計データに対して、前記第1のクロック信号の周波数の2倍以上の周波数のクロック信号で第2の静的タイミング解析を行う第2の静的タイミング解析部と、
前記第2の静的タイミング解析の結果が不合格の場合には、前記第2の設計データを入力し、前記第2のフリップフロップ回路を前記第1のフリップフロップ回路に戻した設計データを生成する第1の復元部とを有することを特徴とする請求項1又は2記載の設計装置。
Furthermore, a logic synthesis unit for logically synthesizing third design data to generate a log file and the first design data;
A first list creation unit for creating a list of the first flip-flop circuits based on the log file;
The first conversion unit performs the conversion based on a list of circuits of the first flip-flop,
A second static timing analysis unit that performs a second static timing analysis on the second design data with a clock signal having a frequency that is twice or more the frequency of the first clock signal;
If the result of the second static timing analysis is unsuccessful, the second design data is input, and the design data is generated by returning the second flip-flop circuit to the first flip-flop circuit. The design apparatus according to claim 1, further comprising: a first restoration unit configured to perform the restoration.
さらに、第2の入力信号及び第2のクロック信号を入力する第4のフリップフロップ回路の第4の設計データを入力し、前記第4のフリップフロップ回路を第5のフリップフロップ回路に変換した第5の設計データを生成する第2の変換部を有し、
前記第4のフリップフロップ回路は、クロックゲーティング回路を有さず、
前記第5のフリップフロップ回路は、前記第2の入力信号を入力端子に入力して出力端子から第2の出力信号を出力する第6のフリップフロップ回路と、前記第2の入力信号及び前記第2の出力信号を入力する排他的論理和回路と、前記排他的論理和回路の出力信号及び前記第2のクロック信号を入力して出力信号を前記第6のフリップフロップ回路のクロック端子に出力する論理和回路又は否定論理和回路とを有することを特徴とする請求項1〜3のいずれか1項に記載の設計装置。
Further, the fourth design data of the fourth flip-flop circuit for inputting the second input signal and the second clock signal is input, and the fourth flip-flop circuit is converted into the fifth flip-flop circuit. A second conversion unit that generates design data of 5;
The fourth flip-flop circuit does not have a clock gating circuit,
The fifth flip-flop circuit inputs the second input signal to an input terminal and outputs a second output signal from an output terminal; the second flip-flop circuit; An exclusive OR circuit that inputs the output signal of 2 and the output signal of the exclusive OR circuit and the second clock signal are input and the output signal is output to the clock terminal of the sixth flip-flop circuit. The design apparatus according to claim 1, further comprising a logical sum circuit or a negative logical sum circuit.
前記第2の変換部は、レイアウトの空き領域の面積が閾値以上であれば前記変換を行い、
さらに、前記第5のフリップフロップ回路の第5の設計データに対して、前記第2のクロック信号の周波数と同じ周波数のクロック信号で第3の静的タイミング解析を行う第3の静的タイミング解析部と、
前記第3の静的タイミング解析の結果が不合格の場合には、前記第5の設計データを入力し、前記第5のフリップフロップ回路を前記第4のフリップフロップ回路に戻した設計データを生成する第2の復元部とを有することを特徴とする請求項4記載の設計装置。
The second conversion unit performs the conversion if the area of the vacant area of the layout is equal to or greater than a threshold value,
Further, a third static timing analysis is performed on the fifth design data of the fifth flip-flop circuit by performing a third static timing analysis with a clock signal having the same frequency as the frequency of the second clock signal. And
If the result of the third static timing analysis is unsuccessful, the fifth design data is input and the design data is generated by returning the fifth flip-flop circuit to the fourth flip-flop circuit. The design apparatus according to claim 4, further comprising: a second restoration unit configured to perform the restoration.
JP2010027897A 2010-02-10 2010-02-10 Design device Pending JP2011164988A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010027897A JP2011164988A (en) 2010-02-10 2010-02-10 Design device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010027897A JP2011164988A (en) 2010-02-10 2010-02-10 Design device

Publications (1)

Publication Number Publication Date
JP2011164988A true JP2011164988A (en) 2011-08-25

Family

ID=44595588

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010027897A Pending JP2011164988A (en) 2010-02-10 2010-02-10 Design device

Country Status (1)

Country Link
JP (1) JP2011164988A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013074415A (en) * 2011-09-27 2013-04-22 Seiko Instruments Inc Magnetic sensor device
US9698796B2 (en) 2015-07-17 2017-07-04 Fujitsu Limited Dynamic clock synchronization
JP2025502539A (en) * 2022-01-28 2025-01-24 杭州士▲蘭▼▲微▼▲電▼子股▲ふん▼有限公司 How to design a trigger unit

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013074415A (en) * 2011-09-27 2013-04-22 Seiko Instruments Inc Magnetic sensor device
KR101877997B1 (en) * 2011-09-27 2018-07-13 에이블릭 가부시키가이샤 Magnetic sensor apparatus
US9698796B2 (en) 2015-07-17 2017-07-04 Fujitsu Limited Dynamic clock synchronization
JP2025502539A (en) * 2022-01-28 2025-01-24 杭州士▲蘭▼▲微▼▲電▼子股▲ふん▼有限公司 How to design a trigger unit

Similar Documents

Publication Publication Date Title
KR101317056B1 (en) Dual-trigger low-energy flip-flop circuit
KR101394873B1 (en) Single-trigger low-energy flip-flop circuit
US8086982B2 (en) Methods and systems for reducing clock skew in a gated clock tree
Dorojevets et al. 8-bit asynchronous sparse-tree superconductor RSFQ arithmetic-logic unit with a rich set of operations
Sitik et al. Design methodology for voltage-scaled clock distribution networks
US8493108B2 (en) Synchronizer with high reliability
Danilov et al. On board electronic devices safety provided by DICE-based Muller C-elements
US8930862B2 (en) System, method, and computer program product for automatic two-phase clocking
US20150341032A1 (en) Locally asynchronous logic circuit and method therefor
US11092649B2 (en) Method for reducing power consumption in scannable flip-flops without additional circuitry
JP2011164988A (en) Design device
US7735038B2 (en) Design structure to reduce power consumption within a clock gated synchronous circuit and clock gated synchronous circuit
Strollo et al. Low-power flip-flops with reliable clock gating
US6927615B2 (en) Low skew, power efficient local clock signal generation system
Valadimas et al. Effective timing error tolerance in flip-flop based core designs
JPH10187786A (en) LSI design support equipment
Sherrill et al. Reducing power consumption in asynchronous MTNCL circuits through selective sleep
CN113935264A (en) Low power consumption synthesis method and device thereof
US12327075B2 (en) System and method for clock distribution in a digital circuit
JP2002300008A (en) Flip-flop circuit
Kumar Low power-area implementation of 4-bit ALU in Cadence Virtuoso platform
CN119317922A (en) Area-efficient asynchronous circuit generator
JP2011134072A (en) Method for designing semiconductor integrated circuit and program
Babayan Power optimization approach of ORCA processor for 32/28nm technology node
Kulkarni et al. Self-Driven Clock Gating Technique for Dynamic Power Reduction of High-Speed Complex Systems