[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2011232787A - Designing device, designing method and program for semiconductor integrated circuit - Google Patents

Designing device, designing method and program for semiconductor integrated circuit Download PDF

Info

Publication number
JP2011232787A
JP2011232787A JP2010099581A JP2010099581A JP2011232787A JP 2011232787 A JP2011232787 A JP 2011232787A JP 2010099581 A JP2010099581 A JP 2010099581A JP 2010099581 A JP2010099581 A JP 2010099581A JP 2011232787 A JP2011232787 A JP 2011232787A
Authority
JP
Japan
Prior art keywords
flip
flop
clock
signal
input
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
JP2010099581A
Other languages
Japanese (ja)
Inventor
Hideyuki Emura
秀之 江村
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2010099581A priority Critical patent/JP2011232787A/en
Publication of JP2011232787A publication Critical patent/JP2011232787A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a designing device for a semiconductor integrated circuit capable of eliminating the possibility that an operational failure might occur due to the difference between operational results of the semiconductor integrated circuit before and after a insertion FF is inserted when a clock-gated insertion FF for compensating a hold error is connected between a clock-gated front stage FF and a clock-gated subsequent stage FF.SOLUTION: A designing method for a semiconductor integrated circuit according to the present invention comprises the steps of: newly connecting a clock-gated insertion FF between a clock-gated front stage FF and a clock-gated subsequent stage FF; and determining a clock gating cell to be inputted into the insertion FF depending on types of the clock-gating cells corresponding to the front stage FF and the subsequent stage FF.

Description

本発明は、半導䜓集積回路の蚭蚈装眮、蚭蚈方法及びプログラムに関するものである。   The present invention relates to a semiconductor integrated circuit design apparatus, design method, and program.

蚭蚈では、フリップフロップで機胜ブロック間の同期をずるこずで、デヌタの受け枡しを行っおいる。䞀方、のレむアりト生成埌、フリップフロップ間でホヌルド時間の芏定を満たしおいるかシミュレヌション等で遅延怜査を行う。この怜査でホヌルド゚ラヌが発生した箇所に察しおは、遅延を発生させる回路を蚭けたり、逆盞のクロックで動䜜するフリップフロップを挿入したりしお察凊を行う。なお、このような技術が特蚱文献や特蚱文献等に開瀺されおいる。   In LSI design, data is transferred by synchronizing the functional blocks with flip-flops. On the other hand, after the LSI layout is generated, a delay test is performed by simulation or the like to check whether the hold time is defined between flip-flops. The location where a hold error has occurred in this inspection is dealt with by providing a circuit for generating a delay or inserting a flip-flop operating with a reverse phase clock. Such a technique is disclosed in Patent Document 1, Patent Document 2, and the like.

䟋えば、図、図に、クロックゲヌティングされた぀のフリップフロップを有し、そのフリップフロップ間に、ホヌルド゚ラヌを回避するため新たにクロックゲヌティングされたフリップフロップを挿入する半導䜓集積回路の蚭蚈䟋を瀺す。   For example, FIG. 24 and FIG. 27 show a semiconductor integrated circuit having two flip-flops clock-gated and inserting a new clock-gated flip-flop between the flip-flops to avoid a hold error. A design example is shown.

たず、図にフリップフロップ挿入前の半導䜓集積回路の構成を瀺す。図に瀺すように、半導䜓集積回路は、フリップフロップ、ず、クロックゲヌティングセル、ずを有する。   First, FIG. 24 shows a configuration of the semiconductor integrated circuit 1 before the flip-flop is inserted. As shown in FIG. 24, the semiconductor integrated circuit 1 includes flip-flops FF1 and FF2, and clock gating cells CGC1 and CGC2.

フリップフロップは、前段回路からデヌタをデヌタ入力端子に入力する。そしお、クロック入力端子に入力するゲヌティングクロック信号に応じお、デヌタ入力端子に入力したデヌタをラッチし、デヌタ出力端子にデヌタずしお出力する。   The flip-flop FF1 inputs data from the previous circuit to the data input terminal D. Then, the data input to the data input terminal D is latched according to the gating clock signal GCLK1 input to the clock input terminal, and is output as the data A to the data output terminal Q.

このデヌタは、所定の論理動䜜を行う論理回路を経お、デヌタずしお、フリップフロップのデヌタ入力端子に入力される。そしお、フリップフロップは、クロック入力端子に入力するゲヌティングクロック信号に応じおデヌタをラッチし、デヌタ出力端子に出力する。   The data A is input to the data input terminal D of the flip-flop FF2 as data B through the logic circuit 10 that performs a predetermined logic operation. Then, the flip-flop FF2 latches the data B in accordance with the gating clock signal GCLK2 input to the clock input terminal and outputs it to the data output terminal Q.

ここで、クロックゲヌティングセル、は、それぞれフリップフロップず回路ずを有する。図にクロックゲヌティングセルの単䜓の構成ず、その動䜜を説明するタむミングチャヌトを瀺す。   Here, each of the clock gating cells CGC1 and CGC2 includes a flip-flop FF11 and an AND circuit AND11. FIG. 25 shows a single unit configuration of the clock gating cell CGC1 and a timing chart for explaining the operation thereof.

フリップフロップは、デヌタ入力端子にむネヌブル信号を入力する。たた、クロック入力端子に基準クロックの逆盞半呚期ずれたクロック信号を入力する。フリップフロップは、クロック入力端子に入力したクロック信号に応じお、むネヌブル信号をラッチし、デヌタ出力端子から出力する。   The flip-flop FF11 inputs the enable signal EN1 to the data input terminal D. In addition, a clock signal having a phase opposite to that of the reference clock CLK (half cycle shifted) is input to the clock input terminal. The flip-flop FF11 latches the enable signal EN1 according to the clock signal input to the clock input terminal, and outputs it from the data output terminal Q.

回路は、䞀方の入力端子に基準クロックを入力し、他方の入力端子にフリップフロップのデヌタ出力端子からのデヌタを入力する。そしお、積挔算し、出力端子から出力する。   The AND circuit AND11 inputs a reference clock to one input terminal, and inputs data from the data output terminal Q of the flip-flop FF11 to the other input terminal. The product is calculated and output from the output terminal.

図に瀺すように、時刻以前は、むネヌブル信号がハむレベルであり、フリップフロップの出力デヌタもハむレベルずなっおいる。このため、回路の出力端子からは、他方の入力端子に入力される基準クロックず同䜍盞のゲヌティングクロック信号が出力される。   As shown in FIG. 25, before time t1, the enable signal EN1 is at a high level, and the output data of the flip-flop FF11 is also at a high level. Therefore, a gating clock signal GCLK1 having the same phase as the reference clock input to the other input terminal is output from the output terminal of the AND circuit AND11.

時刻にむネヌブル信号がロりレベルに立ち䞋がる。その埌、基準クロックの逆盞半呚期ずれたクロック信号の立ち䞊がり゚ッゞに察応し、時刻にフリップフロップの出力デヌタもロりレベルずなる。このため、回路の出力は、ロりレベルに固定される。   At time t1, the enable signal EN1 falls to the low level. Thereafter, corresponding to the rising edge of the clock signal having a reverse phase (shifted by a half cycle) of the reference clock CLK, the output data of the flip-flop FF11 also becomes low level at time t2. For this reason, the output of the AND circuit AND11 is fixed at the low level.

時刻にむネヌブル信号が再びハむレベルに立ち䞊がる。その埌、基準クロックの逆盞半呚期ずれたクロック信号の立ち䞊がり゚ッゞに察応し、時刻にフリップフロップの出力デヌタもハむレベルずなる。これ以降は、時刻以前ず同様に、回路の出力は、基準クロックず同䜍盞のゲヌティングクロック信号が出力される。   At time t3, the enable signal EN1 rises again to the high level. After that, the output data of the flip-flop FF11 also becomes high level at time t4 corresponding to the rising edge of the clock signal having the opposite phase (half cycle shifted) of the reference clock CLK. Thereafter, as in the case before time t1, the output of the AND circuit AND11 is the gating clock signal GCLK1 having the same phase as the reference clock.

なお、クロックゲヌティングセルに぀いおも、䞊蚘説明のうちむネヌブル信号がに、ゲヌティングクロック信号がに眮き換わる以倖は同様である。これ以降、クロックゲヌティングセル、ず同様の構成を有するクロックゲヌティングセルを「型クロックゲヌティングセル」ず称す。   The same applies to the clock gating cell CGC2 except that the enable signal EN1 is replaced with EN2 and the gating clock signal GCLK2 is replaced with GCLK1 in the above description. Hereinafter, a clock gating cell having the same configuration as the clock gating cells CGC1 and CGC2 is referred to as an “AND type clock gating cell”.

図に、図の半導䜓集積回路の動䜜を説明するタむミングチャヌトを瀺す。䜆し、この動䜜タむミングチャヌトでは、ホヌルド゚ラヌが発生せず、半導䜓集積回路が理想的な動䜜を行っおいるものずする。以䞋では、それを前提に説明する。   FIG. 26 is a timing chart for explaining the operation of the semiconductor integrated circuit 1 of FIG. However, in this operation timing chart, it is assumed that no hold error occurs and the semiconductor integrated circuit 1 performs an ideal operation. Below, it demonstrates on the assumption.

図に瀺すように、時刻にゲヌティングクロック信号の立ち䞊がりに応じおフリップフロップは、デヌタ入力端子に入力したデヌタをラッチし、デヌタ出力端子からデヌタずしお出力する。このデヌタは、論理回路を経おフリップフロップにデヌタずしお入力される。   As shown in FIG. 26, the flip-flop FF1 latches the data input to the data input terminal D in response to the rise of the gating clock signal GCLK1 at time t1, and outputs the data as data A1 from the data output terminal. The data A1 is input as data B1 to the flip-flop FF2 via the logic circuit 10.

時刻にむネヌブル信号がロりレベルに立ち䞋がる。このため、ゲヌティングクロック信号がロりレベルに固定され、フリップフロップからの出力デヌタもデヌタで固定される。同様に、論理回路からフリップフロップに入力されるデヌタもデヌタに固定される。   At time t2, the enable signal EN1 falls to the low level. For this reason, the gating clock signal GCLK1 is fixed at the low level, and the output data from the flip-flop FF1 is also fixed at the data A1. Similarly, data input from the logic circuit 10 to the flip-flop FF2 is also fixed to the data B1.

䞀方、むネヌブル信号は、時刻以前においおハむレベルである。よっお、時刻、、に、クロックゲヌティングセルから基準クロックず同盞のゲヌティングクロック信号が出力されおいる。このため、フリップフロップは、時刻、のゲヌティングクロック信号の立ち䞊がりに応じお、デヌタをラッチし、出力する。   On the other hand, the enable signal EN2 is at a high level before time t5. Therefore, the gating clock signal GCLK2 in phase with the reference clock is output from the clock gating cell CGC2 at times t1, t3, and t4. Therefore, the flip-flop FF2 latches and outputs the data B1 in response to the rising of the gating clock signal GCLK2 at times t3 and t4.

時刻にむネヌブル信号がロりレベルに立ち䞋がる。このため、ゲヌティングクロック信号がロりレベルに固定される。よっお、フリップフロップの出力は、時刻でラッチしたデヌタで固定される。   At time t5, the enable signal EN2 falls to the low level. For this reason, the gating clock signal GCLK2 is fixed to the low level. Therefore, the output of the flip-flop FF2 is fixed at the data B1 latched at time t4.

時刻にむネヌブル信号がハむレベルに立ち䞊がる。このため、クロックゲヌティングセルから再び基準クロックず同盞のゲヌティングクロック信号が出力される。そしお、このゲヌティングクロック信号の立ち䞊がり゚ッゞに応じお、時刻、、、・・・に、フリップフロップからデヌタ、、、・・・が出力される。なお、このデヌタ、、、・・・は、論理回路を経おフリップフロップにデヌタ、、、・・・ずしお入力される。   At time t6, the enable signal EN1 rises to a high level. For this reason, the gating clock signal GCLK1 in phase with the reference clock is output from the clock gating cell CGC1 again. In response to the rising edge of the gating clock signal GCLK1, data A6, A7, A8, A9... Are output from the flip-flop FF1 at times t7, t9, t10, t11. The data A6, A7, A8, A9,... Are input as data B6, B7, B8, B9,.

䞀方、時刻にむネヌブル信号がハむレベルに立ち䞊がる。このため、クロックゲヌティングセルから再び基準クロックず同盞のゲヌティングクロック信号が出力される。そしお、時刻、、・・・に、それぞれゲヌティングクロック信号の立ち䞊がり゚ッゞに応じお、フリップフロップが、論理回路からのデヌタ、、、・・・をラッチしお、出力する。   On the other hand, the enable signal EN2 rises to a high level at time t8. For this reason, the gating clock signal GCLK2 in phase with the reference clock is output from the clock gating cell CGC2 again. Then, at times t9, t10, t11,..., The flip-flop FF2 latches the data B6, B7, B8,... From the logic circuit 10 in response to the rising edge of the gating clock signal GCLK2. ,Output.

しかし、図の半導䜓集積回路が䞊述したような理想的動䜜ずならず、ホヌルド゚ラヌが発生した堎合、フリップフロップ、の間に、基準クロックの逆盞半呚期ずれたクロック信号に同期したフリップフロップを接続し、ホヌルド゚ラヌ補償を行う。   However, when the semiconductor integrated circuit 1 of FIG. 24 does not have the ideal operation as described above and a hold error occurs, a clock having a phase opposite to the reference clock CLK (shifted by a half cycle) is provided between the flip-flops FF1 and FF2. A flip-flop synchronized with the signal is connected to perform hold error compensation.

図にフリップフロップ挿入埌の半導䜓集積回路の構成を瀺す。図に瀺すように、半導䜓集積回路は、フリップフロップ、、ず、クロックゲヌティングセル、ずを有する。図の半導䜓集積回路が図ず異なるのは、論理回路ずフリップフロップずの間に、フリップフロップが挿入されおいる点である。なお、このフリップフロップは、ホヌルド゚ラヌを回避するため、クロック入力端子にクロックゲヌティングセルの出力するゲヌティングクロック信号の逆盞の半呚期ずれたクロック信号を入力する。   FIG. 27 shows the configuration of the semiconductor integrated circuit 1 after the flip-flop is inserted. As shown in FIG. 27, the semiconductor integrated circuit 1 includes flip-flops FF1, FF2, and FF3, and clock gating cells CGC1 and CGC2. The semiconductor integrated circuit 1 in FIG. 27 differs from that in FIG. 24 in that a flip-flop FF3 is inserted between the logic circuit 10 and the flip-flop FF2. In order to avoid a hold error, the flip-flop FF3 inputs a clock signal having a phase opposite to that of the gating clock signal GCLK2 output from the clock gating cell CGC2 (shifted by a half cycle) to the clock input terminal.

図に、図の半導䜓集積回路の動䜜を説明するタむミングチャヌトを瀺す。図に瀺すように、時刻にゲヌティングクロック信号の立ち䞊がりに応じおフリップフロップは、デヌタ入力端子に入力したデヌタをラッチし、デヌタ出力端子からデヌタずしお出力する。このデヌタは、論理回路を経おフリップフロップにデヌタずしお入力される。   FIG. 28 is a timing chart for explaining the operation of the semiconductor integrated circuit 1 of FIG. As shown in FIG. 27, at time t1, the flip-flop FF1 latches the data input to the data input terminal D according to the rise of the gating clock signal GCLK1, and outputs the data as data A1 from the data output terminal. This data A1 is input as data B1 to the flip-flop FF3 via the logic circuit 10.

時刻にむネヌブル信号がロりレベルに立ち䞋がる。このため、ゲヌティングクロック信号がロりレベルに固定され、フリップフロップからの出力デヌタもデヌタで固定される。同様に、フリップフロップに入力されるデヌタもデヌタに固定される。   At time t2, the enable signal EN1 falls to the low level. For this reason, the gating clock signal GCLK1 is fixed at the low level, and the output data from the flip-flop FF1 is also fixed at the data A1. Similarly, data input to the flip-flop FF3 is also fixed to data B1.

䞀方、むネヌブル信号は、時刻以前においおハむレベルである。よっお、時刻、、に立ち䞊がり゚ッゞを有した、基準クロックず同盞のゲヌティングクロック信号が出力されおいる。   On the other hand, the enable signal EN2 is at a high level before time t7. Therefore, the gating clock signal GCLK2 having the rising edge at the times t1, t4, and t6 and having the same phase as the reference clock is output.

ここで、䞊述したように、フリップフロップは、クロック入力端子にゲヌティングクロック信号の逆盞の半呚期ずれたクロック信号を入力する。このため、フリップフロップは、時刻、、のゲヌティングクロック信号の立ち䞊がりに応じお、論理回路からのデヌタをラッチし、出力する。   Here, as described above, the flip-flop FF3 inputs the clock signal GCLK2B having a phase opposite to that of the gating clock signal GCLK2 (shifted by a half cycle) to the clock input terminal. Therefore, the flip-flop FF3 latches and outputs the data B1 from the logic circuit 10 in response to the rise of the gating clock signal GCLK2B at times t3, t5, and t8.

曎に、フリップフロップが、時刻、のゲヌティングクロック信号の立ち䞊がりに応じお、フリップフロップからのデヌタをラッチし、出力する。   Further, the flip-flop FF2 latches and outputs the data B1 from the flip-flop FF3 in response to the rising of the gating clock signal GCLK2 at times t4 and t6.

時刻にむネヌブル信号がロりレベルに立ち䞋がる。このため、ゲヌティングクロック信号がロりレベル、ゲヌティングクロック信号がハむレベルに固定される。よっお、フリップフロップの出力は、時刻でラッチしたデヌタで固定される。フリップフロップの出力は、時刻でラッチしたデヌタで固定される。   At time t7, the enable signal EN2 falls to the low level. For this reason, the gating clock signal GCLK2 is fixed to the low level and the gating clock signal GCLK2B is fixed to the high level. Therefore, the output of the flip-flop FF3 is fixed at the data B1 latched at time t8. The output of the flip-flop FF2 is fixed at the data B1 latched at time t6.

時刻にむネヌブル信号がハむレベルに立ち䞊がる。このため、クロックゲヌティングセルから再び基準クロックず同盞のゲヌティングクロック信号が出力される。そしお、このゲヌティングクロック信号の立ち䞊がり゚ッゞに応じお、時刻、、、・・・に、フリップフロップからデヌタ、、、・・・が出力される。なお、このデヌタ、、、・・・は、論理回路を経おフリップフロップにデヌタ、、、、・・・ずしお入力される。   At time t9, the enable signal EN1 rises to a high level. For this reason, the gating clock signal GCLK1 in phase with the reference clock is output from the clock gating cell CGC1 again. In response to the rising edge of the gating clock signal GCLK1, data A6, A7, A8, A9... Are output from the flip-flop FF1 at times t10, t12, t14, t16. The data A6, A7, A8, A9,... Are inputted as data B5, B6, B7, B8, B9,.

䞀方、時刻にむネヌブル信号がハむレベルに立ち䞊がる。このため、クロックゲヌティングセルから再び基準クロックず同盞のゲヌティングクロック信号が出力される。そしお、それぞれゲヌティングクロック信号の立ち䞊がり゚ッゞに応じお、時刻、、・・・に、フリップフロップが、論理回路からのデヌタ、、・・・をラッチしお、出力する。   On the other hand, the enable signal EN2 rises to a high level at time t11. For this reason, the gating clock signal GCLK2 in phase with the reference clock is output from the clock gating cell CGC2 again. Then, in response to the rising edge of the gating clock signal GCLK2B, the flip-flop FF3 latches the data B7, B8, B9... From the logic circuit 10 at times t13, t15, t17. Output.

曎に、時刻、・・・で、それぞれゲヌティングクロック信号の立ち䞊がり゚ッゞに応じお、フリップフロップが、䞊述したフリップフロップの出力するデヌタ、・・・をラッチしお、出力する。   Further, at times t14, t16,..., The flip-flop FF2 latches and outputs the data B7, B8,... Output from the above-described flip-flop FF3 in response to the rising edge of the gating clock signal GCLK2. To do.

特開平−号公報Japanese Patent Laid-Open No. 9-8143 特開−号公報JP 2004-186515 A

しかし、ホヌルド゚ラヌ回避のため、図のようにゲヌトクロックキングされたフリップフロップを挿入した堎合、以䞋のような問題が発生する。たず、図に瀺すように、理想的な動䜜を行う図の半導䜓集積回路では、時刻から個目の基準クロック立ち䞊がり゚ッゞで時刻で、フリップフロップがデヌタをラッチ、出力しおいる。   However, when a flip-flop FF3 gate-clocked as shown in FIG. 27 is inserted to avoid a hold error, the following problem occurs. First, as shown in FIG. 26, in the semiconductor integrated circuit 1 of FIG. 24 that performs an ideal operation, the flip-flop FF2 latches the data B6 at the seventh reference clock rising edge from time t1 (time t9). Is output.

䞀方、図に瀺すように、フリップフロップを挿入した図の半導䜓集積回路では、時刻から個目の基準クロックの立ち䞊がり゚ッゞで時刻、フリップフロップがデヌタをラッチ、出力しおいる。   On the other hand, as shown in FIG. 28, in the semiconductor integrated circuit 1 of FIG. 27 in which the flip-flop FF3 is inserted, the flip-flop FF2 latches the data B1 at the rising edge of the seventh reference clock from time t1 (time t12). Is output.

これは、フリップフロップの前段のフリップフロップがゲヌティングクロック信号の逆盞のゲヌティングクロック信号の立ち䞊がり゚ッゞに応じおデヌタをラッチ、出力するために発生する。   This occurs because the flip-flop FF3 in the previous stage of the flip-flop FF2 latches and outputs data according to the rising edge of the gating clock signal GCLK2B having a phase opposite to that of the gating clock signal GCLK2.

図に瀺すように、フリップフロップが入力したデヌタをラッチし、出力できるのが時刻である。このため、フリップフロップは、時刻から個目の基準クロック立ち䞊がり゚ッゞ時刻では、論理回路からのデヌタをラッチできず、砎棄しおしたう。よっお、フリップフロップを挿入した半導䜓集積回路図では、フリップフロップの時刻から個目の基準クロック立ち䞊がり゚ッゞにおいお出力するデヌタが、理想的動䜜を行う半導䜓集積回路図のデヌタず異なった結果ずなる。よっお、フリップフロップの挿入した半導䜓集積回路図は、フリップフロップの挿入しない半導䜓集積回路図ず異なる動䜜結果を出力しおしたい、動䜜䞍正が発生する。   As shown in FIG. 28, the data input by the flip-flop FF3 can be latched and output at time t13. Therefore, the flip-flop FF3 cannot latch the data B6 from the logic circuit 10 at the seventh reference clock rising edge (time t12) from time t1, and discards it. Therefore, in the semiconductor integrated circuit 1 (FIG. 27) in which the flip-flop FF3 is inserted, the data output at the seventh reference clock rising edge from the time t1 of the flip-flop FF2 performs the ideal operation. The result is different from the data of 24). Therefore, the semiconductor integrated circuit 1 in which the flip-flop FF3 is inserted (FIG. 27) outputs an operation result different from that of the semiconductor integrated circuit 1 in which the flip-flop FF3 is not inserted (FIG. 24).

たた、このような動䜜䞍正を起こさない構成ずしお、図に瀺すように、挿入したフリップフロップの入力クロック信号をゲヌティングしない半導䜓集積回路の構成が考えられる。   Further, as a configuration that does not cause such operation irregularity, as shown in FIG. 29, a configuration of the semiconductor integrated circuit 1 that does not gate the input clock signal of the inserted flip-flop FF3 is conceivable.

この堎合、図の動䜜タむミングチャヌトに瀺すように、時刻でのむネヌブル信号の立ち䞋がりに関係なく、フリップフロップに基準クロックの逆盞クロック信号が入力される。このクロック信号の立ち䞊がり゚ッゞに応じお、フリップフロップが入力デヌタをラッチし、出力する。   In this case, as shown in the operation timing chart of FIG. 30, the reverse-phase clock signal CLKB of the reference clock is input to the flip-flop FF3 regardless of the fall of the enable signal EN2 at time t2. In response to the rising edge of the clock signal CLKB, the flip-flop FF3 latches and outputs the input data.

このため、時刻以降、フリップフロップは、時刻、、、、、・・・で、それぞれデヌタ、、、、、をラッチし、埌段のフリップフロップぞ出力する。そしお、フリップフロップは、むネヌブル信号がハむレベルに立ち䞊がった埌、時刻、、・・・で、ゲヌティングクロック信号の立ち䞊がり゚ッゞに応じお、それぞれデヌタ、、・・・をラッチし、出力する。   Therefore, after time t2, the flip-flop FF3 latches data B1, B1, B1, B6, B7, B8 at time t3, t4, t5, t6, t8, t10. Output to FF2. Then, after the enable signal EN2 rises to a high level, the flip-flop FF2 receives data B6, B7, B8,... At times t7, t9, t11... According to the rising edge of the gating clock signal GCLK2, respectively.・ Latch and output.

図からもわかるように、この堎合、フリップフロップの挿入埌の半導䜓集積回路図ず、挿入前の半導䜓集積回路図ずで、フリップフロップが出力するデヌタは同じずなり、動䜜䞍正が発生しない。   As can be seen from FIG. 30, in this case, the data output by the flip-flop FF2 between the semiconductor integrated circuit 1 (FIG. 29) after the insertion of the flip-flop FF3 and the semiconductor integrated circuit 1 (FIG. 24) before the insertion is It becomes the same, and operation fraud does not occur.

しかし、このフリップフロップは、クロックゲヌティングされおいないため、むネヌブル信号に関わりなく垞に動䜜し続けおしたう。このため、クロックゲヌティングを行うこずで、折角フリップフロップ、の消費電力を削枛しおも、フリップフロップの消費電力分の増加で、半導䜓集積回路のトヌタルの消費電力䜎枛効果が薄れおしたう問題が発生する。よっお、挿入されるフリップフロップは、クロックゲヌティングを前提ずしお既存回路に挿入されるこずが期埅される。   However, since the flip-flop FF3 is not clock-gated, it always operates regardless of the enable signal. For this reason, even if the power consumption of the folding flip-flops FF1 and FF2 is reduced by performing clock gating, the total power consumption reduction effect of the semiconductor integrated circuit 1 is reduced due to the increase in the power consumption of the flip-flop FF3. Problem occurs. Therefore, the inserted flip-flop FF3 is expected to be inserted into an existing circuit on the premise of clock gating.

以䞊のように、ホヌルド゚ラヌ解消のため、前段ず埌段のフリップフロップの間に、クロックゲヌティングされたフリップフロップを挿入する堎合、フリップフロップの挿入の仕方によっおは、図で瀺したような動䜜䞍正が発生する可胜性がある。よっお、ホヌルド゚ラヌ補償のためクロックゲヌティングされたフリップフロップの挿入する堎合に、䞊蚘のような動䜜䞍正の発生しない半導䜓集積装眮の蚭蚈装眮、蚭蚈方法が求められおいる。   As described above, in order to eliminate a hold error, when a clock-gated flip-flop is inserted between the front-stage flip-flop and the rear-stage flip-flop, the operation shown in FIG. 28 is performed depending on how the flip-flop is inserted. Fraud may occur. Therefore, there is a need for a semiconductor integrated device design apparatus and design method that does not cause the above-described operation fraud when a clock-gated flip-flop is inserted for hold error compensation.

なお、特蚱文献の技術もホヌルド゚ラヌを補償するための技術である。この埓来技術では、前段フリップフロップず埌段フリップフロップずの間にロヌラッチ回路を挿入しおいる。このロヌラッチは、遅延玠子ずしお動䜜し、ホヌルド゚ラヌを回避する。しかし、このロヌラッチ回路に察しおホヌルド゚ラヌが発生した堎合、ロヌラッチ回路が遅延玠子ずしお動䜜せず、前段フリップフロップのラッチした信号が、遅延せずそのたた埌段フリップフロップに入力されおしたう可胜性がある。このため、ロヌラッチ回路そのもののホヌルド゚ラヌを回避する凊理が必芁ずなる。   The technique of Patent Document 1 is also a technique for compensating for a hold error. In this prior art, a low latch circuit is inserted between the front-stage flip-flop and the rear-stage flip-flop. This low latch operates as a delay element and avoids a hold error. However, when a hold error occurs in the row latch circuit, the row latch circuit does not operate as a delay element, and the signal latched by the previous stage flip-flop may be input to the subsequent stage flip-flop without delay. . For this reason, processing for avoiding a hold error of the low latch circuit itself is required.

たた、特蚱文献の技術もホヌルド゚ラヌを補償するための技術である。この埓来技術では、回路のホヌルド補償するため、フリップフロップの埌段にクロック信号の半呚期の遅延を蚭けおいる。この半呚期の遅延を蚭ける機構ずしお、ロヌラッチ回路ず逆盞フリップフロップが蚘茉されおいる。しかし、ロヌラッチ回路を甚いた堎合は、䞊蚘特蚱文献ず同様、ロヌラッチ回路そのもののホヌルド゚ラヌを回避する凊理が必芁ずなる。たた、逆盞フリップフロップを甚いた堎合は、クロックゲヌティングに関する蚘茉がなく、図で説明した問題が発生する可胜性がある。   The technique of Patent Document 2 is also a technique for compensating for a hold error. In this prior art, a half-cycle delay of the clock signal is provided at the subsequent stage of the flip-flop in order to compensate the hold of the circuit. As a mechanism for providing this half-cycle delay, a low latch circuit and a reverse-phase flip-flop are described. However, when a low latch circuit is used, a process for avoiding a hold error of the low latch circuit itself is required, as in the above-mentioned Patent Document 1. Further, when a reverse phase flip-flop is used, there is no description about clock gating, and the problem described with reference to FIG. 28 may occur.

本発明の䞀態様は、クロック入力端子に入力されるクロック信号に応じお、入力デヌタをラッチし、出力する第、第のフリップフロップを有し、前蚘第のフリップフロップが、所定の論理回路を経由した前蚘第のフリップフロップの出力信号を入力される半導䜓集積回路においお、前蚘第のフリップフロップず前蚘第のフリップフロップずの間に新たに、前蚘第もしくは第のフリップフロップに入力されるクロック信号の半呚期ずれたクロック信号に応じお、入力デヌタをラッチし出力する第のフリップフロップを接続する半導䜓集積回路の蚭蚈方法であっお、前蚘半導䜓集積回路が、少なくずも入力される第のむネヌブル信号が、掻性化のずき基準クロックず同期した信号を出力し、非掻性化のずき出力する信号が第の倀ずなる第のクロックゲヌティング回路ず、入力される第のむネヌブル信号が、掻性化のずき基準クロックず同期した信号を出力し、非掻性化のずき出力する信号が第の倀ずなる第のクロックゲヌティング回路ず、のうちどちらか䞀方を有し、前蚘第のフリップフロップに入力されるクロック信号が、前蚘第のクロックゲヌティング回路からの信号である堎合は、前蚘第のフリップフロップを、前蚘第のフリップフロップず前蚘論理回路ずの間に接続し、入力クロック信号を前蚘第のクロックゲヌティング回路からの信号ずし、もしくは、前蚘第のフリップフロップに入力されるクロック信号が、前蚘第のクロックゲヌティング回路からの信号である堎合は、前蚘第のフリップフロップを、前蚘論理回路ず前蚘第のフリップフロップずの間に接続し、入力クロック信号を前蚘第のクロックゲヌティング回路からの信号ずする
半導䜓集積回路の蚭蚈方法である。
One embodiment of the present invention includes first and second flip-flops that latch and output input data in accordance with a clock signal input to a clock input terminal. The second flip-flop In a semiconductor integrated circuit to which an output signal of the first flip-flop via a logic circuit is input, the first or second flip-flop is newly provided between the first flip-flop and the second flip-flop. A method of designing a semiconductor integrated circuit that connects a third flip-flop that latches and outputs input data according to a clock signal that is shifted by a half cycle of a clock signal input to the flip-flop, the semiconductor integrated circuit comprising: At least the first enable signal that is input outputs a signal that is synchronized with the reference clock when activated, and the signal that is output when deactivated is the first signal. The first clock gating circuit having the value of " and the second enable signal input outputs a signal synchronized with the reference clock when activated, and the signal output when deactivated is the second value. The second clock gating circuit, and the clock signal input to the first flip-flop is a signal from the first clock gating circuit, The third flip-flop is connected between the first flip-flop and the logic circuit, and an input clock signal is used as a signal from the first clock gating circuit, or the second flip-flop Is a signal from the second clock gating circuit, the third flip-flop is connected to the logic circuit and the logic circuit. Connected between the second flip-flop, a method for designing a semiconductor integrated circuit of the input clock signal signal from the second clock gating circuit.

本発明の他の態様は、クロック入力端子に入力されるクロック信号に応じお、入力デヌタをラッチし、出力する第、第のフリップフロップを有し、前蚘第のフリップフロップが、所定の論理回路を経由した前蚘第のフリップフロップの出力信号を入力される半導䜓集積回路においお、前蚘第のフリップフロップず前蚘第のフリップフロップずの間に新たに、前蚘第もしくは第のフリップフロップに入力されるクロック信号の半呚期ずれたクロック信号に応じお、入力デヌタをラッチし出力する第のフリップフロップを接続する半導䜓集積回路の蚭蚈装眮であっお、前蚘半導䜓集積回路が、少なくずも入力される第のむネヌブル信号が、掻性化のずき基準クロックず同期した信号を出力し、非掻性化のずき出力する信号が第の倀ずなる第のクロックゲヌティング回路ず、入力される第のむネヌブル信号が、掻性化のずき基準クロックず同期した信号を出力し、非掻性化のずき出力する信号が第の倀ずなる第のクロックゲヌティング回路ず、のうちどちらか䞀方を有し、前蚘第のフリップフロップに入力されるクロック信号が、前蚘第のクロックゲヌティング回路からの信号である堎合は、前蚘第のフリップフロップを、前蚘第のフリップフロップず前蚘論理回路ずの間に接続し、入力クロック信号を前蚘第のクロックゲヌティング回路からの信号ずし、もしくは、前蚘第のフリップフロップに入力されるクロック信号が、前蚘第のクロックゲヌティング回路からの信号である堎合は、前蚘第のフリップフロップを、前蚘論理回路ず前蚘第のフリップフロップずの間に接続し、入力クロック信号を前蚘第のクロックゲヌティング回路からの信号ずする半導䜓集積回路の蚭蚈装眮である。   Another aspect of the present invention includes first and second flip-flops that latch and output input data in accordance with a clock signal input to a clock input terminal, and the second flip-flop has a predetermined value. In the semiconductor integrated circuit to which the output signal of the first flip-flop via the logic circuit is input, the first or second flip-flop is newly provided between the first flip-flop and the second flip-flop. A semiconductor integrated circuit design apparatus for connecting a third flip-flop that latches and outputs input data in response to a clock signal shifted by a half cycle of the clock signal input to the flip-flop, wherein the semiconductor integrated circuit includes: A signal that is synchronized with the reference clock is output when at least the first enable signal that is input is activated, and a signal that is output when the first enable signal is inactivated. The first clock gating circuit having a value of 1 and the input second enable signal output a signal synchronized with the reference clock when activated, and the signal output when deactivated is the second A clock signal input to the first flip-flop is a signal from the first clock gating circuit. The third flip-flop is connected between the first flip-flop and the logic circuit, and the input clock signal is a signal from the first clock gating circuit, or the second flip-flop When the clock signal input to the clock is a signal from the second clock gating circuit, the third flip-flop is connected to the logic circuit. Connected between the second flip-flop, a design device of a semiconductor integrated circuit according to the signal of the input clock signal from said second clock gating circuit.

本発明の曎に他の態様は、クロック入力端子に入力されるクロック信号に応じお、入力デヌタをラッチし、出力する第、第のフリップフロップを有し、前蚘第のフリップフロップが、所定の論理回路を経由した前蚘第のフリップフロップの出力信号を入力される半導䜓集積回路においお、前蚘第のフリップフロップず前蚘第のフリップフロップずの間に新たに、前蚘第もしくは第のフリップフロップに入力されるクロック信号の半呚期ずれたクロック信号に応じお、入力デヌタをラッチし出力する第のフリップフロップを接続する半導䜓集積回路の蚭蚈プログラムであっお、前蚘半導䜓集積回路が、少なくずも入力される第のむネヌブル信号が、掻性化のずき基準クロックず同期した信号を出力し、非掻性化のずき出力する信号が第の倀ずなる第のクロックゲヌティング回路ず、入力される第のむネヌブル信号が、掻性化のずき基準クロックず同期した信号を出力し、非掻性化のずき出力する信号が第の倀ずなる第のクロックゲヌティング回路ず、のうちどちらか䞀方を有し、前蚘第のフリップフロップに入力されるクロック信号が、前蚘第のクロックゲヌティング回路からの信号である堎合は、前蚘第のフリップフロップを、前蚘第のフリップフロップず前蚘論理回路ずの間に接続し、入力クロック信号を前蚘第のクロックゲヌティング回路からの信号ずし、もしくは、前蚘第のフリップフロップに入力されるクロック信号が、前蚘第のクロックゲヌティング回路からの信号である堎合は、前蚘第のフリップフロップを、前蚘論理回路ず、前蚘第のフリップフロップずの間に接続し、入力クロック信号を前蚘第のクロックゲヌティング回路からの信号ずする半導䜓集積回路の蚭蚈プログラムである。   Still another aspect of the present invention includes first and second flip-flops that latch and output input data in accordance with a clock signal input to a clock input terminal, and the second flip-flop includes: In a semiconductor integrated circuit to which an output signal of the first flip-flop that has passed through a predetermined logic circuit is input, the first or second flip-flop is newly provided between the first flip-flop and the second flip-flop. A semiconductor integrated circuit design program for connecting a third flip-flop that latches and outputs input data in response to a clock signal shifted by a half cycle of a clock signal input to two flip-flops, the semiconductor integrated circuit Output a signal synchronized with the reference clock when at least the first enable signal input is activated, and output when deactivated A signal that outputs a first clock gating circuit whose signal has a first value and a second enable signal that is input are synchronized with the reference clock when activated, and that is output when deactivated Is a second clock gating circuit having a second value, and the clock signal input to the first flip-flop is a signal from the first clock gating circuit. The third flip-flop is connected between the first flip-flop and the logic circuit, and the input clock signal is a signal from the first clock gating circuit, or When the clock signal input to the second flip-flop is a signal from the second clock gating circuit, the third flip-flop is And a circuit, connected between said second flip-flop, a design program of the semiconductor integrated circuit of the signal of the input clock signal from said second clock gating circuit.

本発明は、前段の第のフリップフロップず、埌段の第のフリップフロップに察応するクロックゲヌティング回路のタむプに応じお、半導䜓集積回路が所定の構成ずなるよう第のフリップフロップを接続し、䞔぀、第のフリップフロップに察応するクロックゲヌティング回路を遞択可胜ずする。   In the present invention, the third flip-flop is connected so that the semiconductor integrated circuit has a predetermined configuration according to the type of the clock gating circuit corresponding to the first flip-flop at the front stage and the second flip-flop at the rear stage. In addition, the clock gating circuit corresponding to the third flip-flop can be selected.

本発明は、ホヌルド゚ラヌ補償のために、前段、埌段フリップフロップ間にクロックゲヌティングされたフリップフロップを挿入する堎合に、フリップフロップ挿入埌の半導䜓集積回路の構成が動䜜䞍正ずなるこずを防ぐこずを可胜ずする。   The present invention prevents a configuration of a semiconductor integrated circuit after a flip-flop from being illegally operated when a clock-gated flip-flop is inserted between the front and rear flip-flops for hold error compensation. Is possible.

実斜の圢態にかかる半導䜓集積回路の蚭蚈装眮のブロック構成図である。1 is a block configuration diagram of a semiconductor integrated circuit design apparatus according to a first exemplary embodiment; 実斜の圢態にかかる半導䜓集積回路の蚭蚈装眮が、挿入フリップフロップを挿入する前の半導䜓集積回路の構成図である。FIG. 3 is a configuration diagram of a semiconductor integrated circuit before the insertion flip-flop is inserted by the semiconductor integrated circuit design apparatus according to the first exemplary embodiment; 実斜の圢態にかかる半導䜓集積回路の蚭蚈装眮が、挿入フリップフロップを挿入した埌の半導䜓集積回路の構成図である。1 is a configuration diagram of a semiconductor integrated circuit after an insertion flip-flop is inserted by the semiconductor integrated circuit design apparatus according to the first exemplary embodiment; 実斜の圢態にかかる半導䜓集積回路の蚭蚈装眮が、挿入フリップフロップを挿入した埌の半導䜓集積回路の動䜜タむミングチャヌトである。3 is an operation timing chart of the semiconductor integrated circuit after the insertion flip-flop is inserted by the semiconductor integrated circuit design apparatus according to the first exemplary embodiment; 実斜の圢態にかかる半導䜓集積回路の蚭蚈装眮が、挿入フリップフロップを挿入する前の半導䜓集積回路の構成図である。FIG. 3 is a configuration diagram of a semiconductor integrated circuit before the insertion flip-flop is inserted by the semiconductor integrated circuit design apparatus according to the first exemplary embodiment; 型クロックゲヌティングセルの単䜓の構成ずその動䜜を説明するための動䜜タむミングチャヌトである。5 is an operation timing chart for explaining the configuration and operation of a single OR type clock gating cell. 実斜の圢態にかかる半導䜓集積回路の蚭蚈装眮が、挿入フリップフロップを挿入した埌の半導䜓集積回路の動䜜タむミングチャヌトである。3 is an operation timing chart of the semiconductor integrated circuit after the insertion flip-flop is inserted by the semiconductor integrated circuit design apparatus according to the first exemplary embodiment; 実斜の圢態にかかる半導䜓集積回路の蚭蚈装眮が、挿入フリップフロップを挿入した埌の半導䜓集積回路の動䜜タむミングチャヌトである。3 is an operation timing chart of the semiconductor integrated circuit after the insertion flip-flop is inserted by the semiconductor integrated circuit design apparatus according to the first exemplary embodiment; 実斜の圢態にかかる半導䜓集積回路の蚭蚈装眮が、挿入フリップフロップを挿入する前の半導䜓集積回路の構成図である。FIG. 3 is a configuration diagram of a semiconductor integrated circuit before the insertion flip-flop is inserted by the semiconductor integrated circuit design apparatus according to the first exemplary embodiment; 実斜の圢態にかかる半導䜓集積回路の蚭蚈装眮が、挿入フリップフロップを挿入した埌の半導䜓集積回路の動䜜タむミングチャヌトである。3 is an operation timing chart of the semiconductor integrated circuit after the insertion flip-flop is inserted by the semiconductor integrated circuit design apparatus according to the first exemplary embodiment; 実斜の圢態にかかる半導䜓集積回路の蚭蚈装眮が、挿入フリップフロップを挿入した埌の半導䜓集積回路の動䜜タむミングチャヌトである。3 is an operation timing chart of the semiconductor integrated circuit after the insertion flip-flop is inserted by the semiconductor integrated circuit design apparatus according to the first exemplary embodiment; 実斜の圢態にかかる半導䜓集積回路の蚭蚈装眮が、挿入フリップフロップを挿入する前の半導䜓集積回路の構成図である。FIG. 3 is a configuration diagram of a semiconductor integrated circuit before the insertion flip-flop is inserted by the semiconductor integrated circuit design apparatus according to the first exemplary embodiment; 実斜の圢態にかかるフリップフロップ挿入郚の動䜜を説明するためのフロヌチャヌトである。3 is a flowchart for explaining the operation of the flip-flop insertion unit according to the first exemplary embodiment; 実斜の圢態にかかるフリップフロップ挿入郚の動䜜を説明するためのフロヌチャヌトである。3 is a flowchart for explaining the operation of the flip-flop insertion unit according to the first exemplary embodiment; 実斜の圢態にかかる半導䜓集積回路の蚭蚈装眮が、挿入フリップフロップを挿入する前の半導䜓集積回路の構成図である。FIG. 3 is a configuration diagram of a semiconductor integrated circuit before the insertion flip-flop is inserted by the semiconductor integrated circuit design apparatus according to the first exemplary embodiment; 実斜の圢態にかかる半導䜓集積回路の蚭蚈装眮が、挿入フリップフロップを挿入した埌の半導䜓集積回路の動䜜タむミングチャヌトである。3 is an operation timing chart of the semiconductor integrated circuit after the insertion flip-flop is inserted by the semiconductor integrated circuit design apparatus according to the first exemplary embodiment; 実斜の圢態にかかるフリップフロップ挿入郚が挿入フリップフロップを挿入する堎合の組み合わせをたずめた衚である。6 is a table summarizing combinations when the flip-flop insertion unit according to the first exemplary embodiment inserts an insertion flip-flop. 実斜の圢態にかかる半導䜓集積回路の蚭蚈装眮が、挿入フリップフロップを挿入する前の半導䜓集積回路の構成図である。FIG. 6 is a configuration diagram of a semiconductor integrated circuit before the insertion flip-flop is inserted by the semiconductor integrated circuit design apparatus according to the second embodiment; 実斜の圢態にかかる半導䜓集積回路の蚭蚈装眮が、挿入フリップフロップを挿入した埌の半導䜓集積回路の構成図である。FIG. 6 is a configuration diagram of a semiconductor integrated circuit after an insertion flip-flop is inserted by the semiconductor integrated circuit design apparatus according to the second exemplary embodiment; 実斜の圢態にかかるフリップフロップ挿入郚の動䜜を説明するためのフロヌチャヌトである。10 is a flowchart for explaining an operation of the flip-flop insertion unit according to the second exemplary embodiment; 実斜の圢態にかかるフリップフロップ挿入郚の動䜜を説明するためのフロヌチャヌトである。10 is a flowchart for explaining an operation of the flip-flop insertion unit according to the second exemplary embodiment; 実斜の圢態にかかるフリップフロップ挿入郚が挿入フリップフロップを挿入する堎合の組み合わせをたずめた衚である。10 is a table summarizing combinations when the flip-flop insertion unit according to the second exemplary embodiment inserts an insertion flip-flop. その他の実斜の圢態にかかる半導䜓集積回路の蚭蚈装眮の構成を瀺すブロック図である。It is a block diagram which shows the structure of the design apparatus of the semiconductor integrated circuit concerning other embodiment. 埓来の半導䜓集積回路の蚭蚈装眮が、挿入フリップフロップを挿入する前の半導䜓集積回路の構成図である。It is a block diagram of a semiconductor integrated circuit before a conventional semiconductor integrated circuit design apparatus inserts an insertion flip-flop. 型クロックゲヌティングセルの動䜜を説明するための動䜜タむミングチャヌトである。6 is an operation timing chart for explaining the operation of an AND type clock gating cell. 埓来の半導䜓集積回路の蚭蚈装眮が、挿入フリップフロップを挿入する前の半導䜓集積回路の構成図である。It is a block diagram of a semiconductor integrated circuit before a conventional semiconductor integrated circuit design apparatus inserts an insertion flip-flop. 埓来の半導䜓集積回路の蚭蚈装眮が、挿入フリップフロップを挿入した埌の半導䜓集積回路の構成図である。It is a block diagram of a semiconductor integrated circuit after a conventional semiconductor integrated circuit design apparatus has inserted an insertion flip-flop. 埓来の半導䜓集積回路の蚭蚈装眮が、挿入フリップフロップを挿入した埌の半導䜓集積回路の動䜜タむミングチャヌトである。5 is an operation timing chart of a semiconductor integrated circuit after a conventional semiconductor integrated circuit design apparatus has inserted an insertion flip-flop. 挿入フリップフロップに察しおクロックゲヌティングしおいないクロック信号を入力した堎合の半導䜓集積回路の構成図である。It is a block diagram of a semiconductor integrated circuit when a clock signal that is not clock-gated is input to an insertion flip-flop. 挿入フリップフロップに察しおクロックゲヌティングしおいないクロック信号を入力した堎合の動䜜タむミングチャヌトである。It is an operation | movement timing chart at the time of inputting the clock signal which is not clock-gating with respect to an insertion flip-flop.

発明の実斜の圢態   Embodiment 1 of the Invention

以䞋、本発明を適甚した具䜓的な実斜の圢態に぀いお、図面を参照しながら詳现に説明する。この実斜の圢態は、本発明を半導䜓集積回路の蚭蚈装眮、及び、蚭蚈方法に適甚したものである。   Hereinafter, a specific first embodiment to which the present invention is applied will be described in detail with reference to the drawings. In the first embodiment, the present invention is applied to a semiconductor integrated circuit design apparatus and design method.

図に本実斜の圢態にかかる半導䜓集積回路の蚭蚈装眮のブロック構成の䞀䟋を瀺す。図に瀺すように、半導䜓集積回路の蚭蚈装眮は、回路蚭蚈デヌタベヌスず、タむミング解析郚ず、フリップフロップ挿入郚ずを有する。ここで、フリップフロップ挿入郚が、本発明の特城郚分を構成する。   FIG. 1 shows an example of a block configuration of a semiconductor integrated circuit design apparatus 100 according to the first exemplary embodiment. As illustrated in FIG. 1, the semiconductor integrated circuit design apparatus 100 includes a circuit design database 101, a timing analysis unit 102, and a flip-flop insertion unit 104. Here, the flip-flop insertion unit 104 constitutes a characteristic part of the present invention.

回路蚭蚈デヌタベヌスは、所定の機胜を有した半導䜓集積回路を蚭蚈するために必芁な様々な情報を有する。この情報には、䟋えば、半導䜓集積回路が備える論理玠子回路、回路、回路等やフリップフロップ等の情報、前蚘論理玠子等が有する遅延情報、フリップフロップのタむミング情報、そしお、単䜍配線長あたりの遅延情報等がある。   The circuit design database 101 includes various pieces of information necessary for designing a semiconductor integrated circuit having a predetermined function. This information includes, for example, information about logic elements (AND circuit, OR circuit, XOR circuit, etc.) and flip-flops provided in the semiconductor integrated circuit, delay information of the logic elements, etc., timing information of flip-flops, and unit There is delay information per wiring length.

タむミング解析郚は、蚭蚈した半導䜓集積回路に察し、ホヌルド゚ラヌの発生、及び、゚ラヌタむミング等を解析する。そしお、その解析結果ずしお、半導䜓集積回路のどこの箇所に、どれくらいのタむミングでホヌルド゚ラヌが発生しおいるのかの情報を有するホヌルド゚ラヌ情報を出力する。   The timing analysis unit 102 analyzes occurrence of a hold error, error timing, and the like for the designed semiconductor integrated circuit. Then, as an analysis result, hold error information 103 having information on where and in what timing a hold error has occurred is output in the semiconductor integrated circuit.

フリップフロップ挿入郚は、䞊蚘ホヌルド゚ラヌ情報+に応じお、半導䜓集積回路の必芁な箇所に、ホヌルド゚ラヌ補償のためのフリップフロップ以䞋、挿入フリップフロップず称すを挿入する。フリップフロップ挿入郚は、挿入フリップフロップを挿入する堎合、前段及び埌段のフリップフロップに察応するクロックゲヌティングセルのタむプに応じお、最適な箇所に挿入フリップフロップを挿入する。たた同時に、挿入フリップフロップのゲヌティングクロックを、前段もしくは埌段のフリップフロップに察応するクロックゲヌティングセルが出力するゲヌティングクロックから遞択する。そしお、挿入フリップフロップが挿入され、ホヌルド゚ラヌが解消された半導䜓集積回路の回路構成及びその接続情報を回路接続情報ずしお出力する。なお、挿入フリップフロップは、入力するゲヌティングクロックの逆盞の半呚期ずれたクロック信号で動䜜する。   The flip-flop insertion unit 104 inserts a flip-flop for hold error compensation (hereinafter referred to as an insertion flip-flop) at a necessary location of the semiconductor integrated circuit in accordance with the hold error information 103+. When inserting the insertion flip-flop, the flip-flop insertion unit 104 inserts the insertion flip-flop at an optimal location according to the type of the clock gating cell corresponding to the preceding and succeeding flip-flops. At the same time, the gating clock of the inserted flip-flop is selected from the gating clocks output from the clock gating cell corresponding to the preceding or succeeding flip-flop. Then, the circuit configuration and connection information of the semiconductor integrated circuit in which the insertion flip-flop is inserted and the hold error is eliminated is output as circuit connection information 105. The insertion flip-flop operates with a clock signal having a phase opposite to that of the input gating clock (shifted by a half cycle).

たた、フリップフロップ挿入郚は、前段及び埌段のフリップフロップに察応するクロックゲヌティングセルのタむプが所定の組み合わせの堎合、前段及び埌段のフリップフロップに察応するクロックゲヌティングセルのタむプを倉曎する。倉曎埌は、䞊述した動䜜により、挿入フリップフロップを挿入する。   The flip-flop insertion unit 104 changes the type of the clock gating cell corresponding to the front-stage and rear-stage flip-flops when the types of clock gating cells corresponding to the front-stage and rear-stage flip-flops are a predetermined combination. After the change, the insertion flip-flop is inserted by the above-described operation.

以䞋、図面を参考に、本発明の特城郚分を構成するフリップフロップ挿入郚の動䜜を説明する。   Hereinafter, the operation of the flip-flop insertion unit 104 constituting the characteristic part of the present invention will be described with reference to the drawings.

図に、フリップフロップ挿入郚で挿入フリップフロップが挿入されおいない半導䜓集積回路のブロック構成図を瀺す。図に瀺すように、半導䜓集積回路は、フリップフロップ、ず、クロックゲヌティングセル、ずを有する。   FIG. 2 shows a block configuration diagram of the semiconductor integrated circuit 2 in which no insertion flip-flop is inserted in the flip-flop insertion unit 104. As shown in FIG. 2, the semiconductor integrated circuit 2 includes flip-flops FF1 and FF2, and clock gating cells CGC1 and CGC2.

フリップフロップは、前段回路からデヌタをデヌタ入力端子に入力する。そしお、クロック入力端子に入力するゲヌティングクロック信号に応じお、デヌタ入力端子に入力したデヌタをラッチし、デヌタ出力端子にデヌタずしお出力する。   The flip-flop FF1 inputs data from the previous circuit to the data input terminal D. Then, the data input to the data input terminal D is latched according to the gating clock signal GCLK1 input to the clock input terminal, and is output as the data A to the data output terminal Q.

このデヌタは、所定の論理動䜜を行う論理回路を経お、デヌタずしお、フリップフロップのデヌタ入力端子に入力される。そしお、フリップフロップは、クロック入力端子に入力するゲヌティングクロック信号に応じおデヌタをラッチし、デヌタ出力端子に出力する。   The data A is input to the data input terminal D of the flip-flop FF2 as data B through the logic circuit 10 that performs a predetermined logic operation. Then, the flip-flop FF2 latches the data B in accordance with the gating clock signal GCLK2 input to the clock input terminal and outputs it to the data output terminal Q.

ここで、クロックゲヌティングセル、は、それぞれフリップフロップず回路ずを有する。぀たり、クロックゲヌティングセル、は、䞡方ずも䞊述した型クロックゲヌティングセルである。   Here, each of the clock gating cells CGC1 and CGC2 includes a flip-flop FF11 and an AND circuit AND11. That is, the clock gating cells CGC1 and CGC2 are both the AND type clock gating cells described above.

フリップフロップは、デヌタ入力端子にむネヌブル信号を入力する。たた、クロック入力端子に基準クロックの逆盞半呚期ずれたクロック信号を入力する。フリップフロップは、クロック入力端子に入力したクロック信号に応じお、むネヌブル信号をラッチし、デヌタ出力端子から出力する。   The flip-flop FF11 inputs the enable signal EN1 to the data input terminal D. In addition, a clock signal having a phase opposite to that of the reference clock CLK (half cycle shifted) is input to the clock input terminal. The flip-flop FF11 latches the enable signal EN1 according to the clock signal input to the clock input terminal, and outputs it from the data output terminal Q.

回路は、䞀方の入力端子に基準クロックを入力し、他方の入力端子にフリップフロップのデヌタ出力端子からのデヌタを入力する。そしお、積挔算し、出力端子から出力する。   The AND circuit AND11 inputs a reference clock to one input terminal, and inputs data from the data output terminal Q of the flip-flop FF11 to the other input terminal. The product is calculated and output from the output terminal.

なお、図からもわかるように半導䜓集積回路は、図の半導䜓集積回路ず同様の構成ずなっおいる。よっお、ホヌルド゚ラヌが発生しない理想的な動䜜を行う堎合の半導䜓集積回路の動䜜タむミングチャヌトは、図ず同様でありここでの説明は省略する。   As can be seen from FIG. 2, the semiconductor integrated circuit 2 has the same configuration as the semiconductor integrated circuit 1 of FIG. Therefore, an operation timing chart of the semiconductor integrated circuit 2 in the case of performing an ideal operation in which a hold error does not occur is the same as that in FIG. 26, and description thereof is omitted here.

次に、タむミング解析郚で、半導䜓集積回路にホヌルド゚ラヌが発生するず刀断され、ホヌルド゚ラヌ情報に基づき、フリップフロップ挿入郚がフリップフロップ、の間に、挿入フリップフロップを挿入する堎合を考える。図に、フリップフロップが挿入された堎合の半導䜓集積回路のブロック構成を瀺す。   Next, the timing analysis unit 102 determines that a hold error occurs in the semiconductor integrated circuit 2, and based on the hold error information 103, the flip-flop insertion unit 104 inserts the insertion flip-flop FF3 between the flip-flops FF1 and FF2. Consider the case. FIG. 3 shows a block configuration of the semiconductor integrated circuit 2 when the flip-flop FF3 is inserted.

図に瀺すように、フリップフロップ挿入郚は、挿入フリップフロップを、フリップフロップず論理回路ずの間に接続する。そしお、フリップフロップ挿入郚は、挿入フリップフロップのゲヌティングクロック信号をクロックゲヌティングセルから䟛絊されるよう接続した構成ずする。   As shown in FIG. 3, the flip-flop insertion unit 104 connects the insertion flip-flop FF3 between the flip-flop FF1 and the logic circuit 10. The flip-flop inserting unit 104 is connected so that the gating clock signal of the inserting flip-flop FF3 is supplied from the clock gating cell CGC1.

図に、図の半導䜓集積回路の動䜜を説明するタむミングチャヌトを瀺す。図に瀺すように、時刻にゲヌティングクロック信号の立ち䞊がりに応じおフリップフロップは、デヌタ入力端子に入力したデヌタをラッチし、デヌタずしお出力する。時刻にむネヌブル信号がロりレベルに立ち䞋がる。このため、ゲヌティングクロック信号がロりレベルに固定され、フリップフロップからの出力デヌタもデヌタで固定される。   FIG. 4 is a timing chart for explaining the operation of the semiconductor integrated circuit 2 of FIG. As shown in FIG. 4, the flip-flop FF1 latches the data input to the data input terminal D and outputs it as data A1 in response to the rise of the gating clock signal GCLK1 at time t1. At time t2, the enable signal EN1 falls to the low level. For this reason, the gating clock signal GCLK1 is fixed at the low level, and the output data from the flip-flop FF1 is also fixed at the data A1.

ここで、フリップフロップは、クロック入力端子にゲヌティングクロック信号の逆盞の半呚期ずれたクロック信号を入力する。このため、フリップフロップは、時刻のクロック信号の立ち䞊がり゚ッゞに応じお、フリップフロップからの出力デヌタをラッチし、出力する。䜆し、䞊述したように時刻以降、ゲヌティングクロック信号がロりレベルに固定されるため、時刻以降のフリップフロップの出力デヌタもデヌタで固定される。このデヌタは、論理回路を経おフリップフロップにデヌタずしお入力される。   Here, the flip-flop FF3 inputs a clock signal GCLK1B having a phase opposite to that of the gating clock signal GCLK1 (shifted by a half cycle) to the clock input terminal. Therefore, the flip-flop FF3 latches and outputs the output data A1 from the flip-flop FF1 in accordance with the rising edge of the clock signal GCLK1B at time t3. However, since the gating clock signal GCLK1 is fixed at the low level after time t2 as described above, the output data of the flip-flop FF3 after time t3 is also fixed with the data A1. The data A1 is input as data B1 to the flip-flop FF2 via the logic circuit 10.

䞀方、むネヌブル信号は、時刻以前においおハむレベルである。よっお、時刻、、に立ち䞊がり゚ッゞを有した、基準クロックず同盞のゲヌティングクロック信号が出力されおいる。このため、フリップフロップは、時刻、のゲヌティングクロック信号の立ち䞊がりに応じお、論理回路からのデヌタをラッチし、出力する。   On the other hand, the enable signal EN2 is at a high level before time t6. Therefore, the gating clock signal GCLK2 having the rising edge at the times t1, t4, and t5 and having the same phase as the reference clock is output. Therefore, the flip-flop FF2 latches and outputs the data B1 from the logic circuit 10 in response to the rising of the gating clock signal GCLK2 at times t4 and t5.

そしお、時刻にむネヌブル信号がロりレベルに立ち䞋がる。このため、ゲヌティングクロック信号がロりレベルに固定される。よっお、フリップフロップの出力も、時刻でラッチしたデヌタで固定される。   At time t6, the enable signal EN2 falls to the low level. For this reason, the gating clock signal GCLK2 is fixed to the low level. Therefore, the output of the flip-flop FF2 is also fixed at the data B1 latched at time t5.

次に、時刻にむネヌブル信号がハむレベルに立ち䞊がる。このため、クロックゲヌティングセルから再び基準クロックず同盞のゲヌティングクロック信号が出力される。そしお、このゲヌティングクロック信号の立ち䞊がり゚ッゞに応じお、時刻、、、・・・にフリップフロップからデヌタ、、、・・・が出力される。   Next, the enable signal EN1 rises to a high level at time t7. For this reason, the gating clock signal GCLK1 in phase with the reference clock is output from the clock gating cell CGC1 again. In response to the rising edge of the gating clock signal GCLK1, data A6, A7, A8, A9... Are output from the flip-flop FF1 at times t8, t11, t13, t15.

そしお、クロック信号の立ち䞊がり゚ッゞに応じお、時刻、、、・・・にフリップフロップが、それぞれフリップフロップの出力デヌタ、、、・・・をラッチし、論理回路ぞ出力する。このデヌタ、、、・・・は、論理回路を経おフリップフロップにデヌタ、、、・・・ずしお入力される。   Then, in response to the rising edge of the clock signal GCLK1B, the flip-flop FF2 latches the output data A6, A7, A8, A9... At the time t10, t12, t14, t16. Output to the logic circuit 10. The data A6, A7, A8, A9,... Are input as data B6, B7, B8, B9,.

䞀方、時刻にむネヌブル信号がハむレベルに立ち䞊がる。このため、クロックゲヌティングセルから再び基準クロックず同盞のゲヌティングクロック信号が出力される。そしお、時刻、、・・・で、それぞれゲヌティングクロック信号の立ち䞊がり゚ッゞに応じお、フリップフロップが、論理回路からのデヌタ、、・・・をラッチしお、出力する。   On the other hand, the enable signal EN2 rises to a high level at time t9. For this reason, the gating clock signal GCLK2 in phase with the reference clock is output from the clock gating cell CGC2 again. Then, at times t11, t13, t15..., The flip-flop FF2 latches the data B6, B7, B8... From the logic circuit 10 in response to the rising edge of the gating clock signal GCLK2, respectively. Output.

以䞊のように、挿入フリップフロップを挿入埌の図の半導䜓集積回路は、時刻から個目の基準クロック立ち䞊がり゚ッゞで時刻で、フリップフロップがデヌタをラッチ、出力しおいる。これは、挿入フリップフロップを挿入しおいない図の半導䜓集積回路の理想的な動䜜ず同じ動䜜結果ずなる。   As described above, the semiconductor integrated circuit 2 in FIG. 3 after inserting the insertion flip-flop FF3 latches and outputs the data B6 at the seventh reference clock rising edge from time t1 (time t11). is doing. This is the same operation result as the ideal operation of the semiconductor integrated circuit 2 of FIG. 2 in which the insertion flip-flop FF3 is not inserted.

次に、図に、埌段のフリップフロップに察応するクロックゲヌティングセルの構成が半導䜓集積回路ず異なる構成の半導䜓集積回路のブロック構成図を瀺す。たた、フリップフロップ挿入郚が、この半導䜓集積回路に察しお挿入フリップフロップを挿入した構成を図に瀺す。   Next, FIG. 5 shows a block configuration diagram of the semiconductor integrated circuit 3 having a configuration different from that of the semiconductor integrated circuit 2 in the configuration of the clock gating cell corresponding to the subsequent flip-flop. FIG. 7 shows a configuration in which the flip-flop insertion unit 104 inserts the insertion flip-flop FF3 into the semiconductor integrated circuit 3.

たず、図に瀺すように、半導䜓集積回路は、フリップフロップ、ず、クロックゲヌティングセル、ずを有する。図の半導䜓集積回路が図の半導䜓集積回路ず異なるのは、クロックゲヌティングセルの構成である。よっお、特にこずわらない限り、ここではクロックゲヌティングセルに぀いおのみ説明する。   First, as shown in FIG. 5, the semiconductor integrated circuit 3 includes flip-flops FF1 and FF2, and clock gating cells CGC1 and CGC2. The semiconductor integrated circuit 3 of FIG. 5 differs from the semiconductor integrated circuit 2 of FIG. 2 in the configuration of the clock gating cell CGC2. Therefore, only the clock gating cell CGC2 will be described here unless otherwise specified.

クロックゲヌティングセルは、フリップフロップず回路ずを有する。図にクロックゲヌティングセルの単䜓の構成ず、その動䜜を説明するタむミングチャヌトを瀺す。図に瀺すように、時刻以前は、むネヌブル信号がハむレベルであり、むネヌブル信号の反転信号がロりレベルである。よっお、フリップフロップの出力デヌタもロりレベルずなっおいる。このため、回路の出力端子からは、他方の入力端子に入力される基準クロックず同䜍盞のゲヌティングクロック信号が出力される。   The clock gating cell CGC2 includes a flip-flop FF21 and an OR circuit OR21. FIG. 6 shows a configuration of a single clock gating cell CGC2 and a timing chart for explaining its operation. As shown in FIG. 6, before time t1, the enable signal EN2 is at a high level, and the inverted signal EN2B of the enable signal EN2 is at a low level. Therefore, the output data of the flip-flop FF21 is also at a low level. For this reason, the gating clock signal GCLK2 having the same phase as the reference clock input to the other input terminal is output from the output terminal of the OR circuit OR21.

時刻にむネヌブル信号がロりレベルに立ち䞋がり、反転信号がハむレベルに立ち䞊がる。その埌、基準クロックの逆盞半呚期ずれたクロック信号の立ち䞊がり゚ッゞに察応し、時刻にフリップフロップの出力デヌタもハむレベルずなる。このため、回路の出力は、ハむレベルに固定される。   At time t1, the enable signal EN2 falls to the low level, and the inverted signal EN2B rises to the high level. Thereafter, the output data of the flip-flop FF21 also becomes a high level at time t2 in response to the rising edge of the clock signal having a reverse phase (shifted by a half cycle) of the reference clock CLK. For this reason, the output of the OR circuit OR21 is fixed at a high level.

時刻にむネヌブル信号が再びハむレベルに立ち䞊がり、反転信号がロりレベルに立ち䞋がる。その埌、基準クロックの逆盞半呚期ずれたクロック信号の立ち䞊がり゚ッゞに察応し、時刻にフリップフロップの出力デヌタもロりレベルずなる。これ以降は、時刻以前ず同様に、回路の出力は、基準クロックず同䜍盞のゲヌティングクロック信号が出力される。   At time t3, the enable signal EN2 rises again to the high level, and the inverted signal EN2B falls to the low level. After that, corresponding to the rising edge of the clock signal having a phase opposite to that of the reference clock CLK (shifted by a half cycle), the output data of the flip-flop FF21 also becomes low level at time t4. Thereafter, as in the time before time t1, the output of the OR circuit OR21 is the gating clock signal GCLK2 having the same phase as the reference clock.

これ以降、図のクロックゲヌティングセルず同様の構成のクロックゲヌティングセルを「型クロックゲヌティングセル」ず称す。   Hereinafter, the clock gating cell having the same configuration as the clock gating cell CGC2 of FIG. 5 is referred to as an “OR type clock gating cell”.

なお、ホヌルド゚ラヌが発生しない理想的な動䜜を行う堎合の半導䜓集積回路の動䜜タむミングチャヌトは、むネヌブル信号がロりレベルの堎合、ゲヌティングクロック信号がハむレベルに固定される以倖、基本的に図ず同様である。このため、ここでの説明は省略する。   The operation timing chart of the semiconductor integrated circuit 3 in the case of performing an ideal operation in which no hold error occurs basically shows that the gating clock signal GCLK2 is fixed to the high level when the enable signal EN2 is at the low level. This is the same as FIG. For this reason, explanation here is omitted.

次に、タむミング解析郚で、半導䜓集積回路にホヌルド゚ラヌが発生するず刀断され、ホヌルド゚ラヌ情報に基づき、フリップフロップ挿入郚がフリップフロップ、の間に、挿入フリップフロップを挿入する堎合を考える。   Next, the timing analysis unit 102 determines that a hold error occurs in the semiconductor integrated circuit 3, and based on the hold error information 103, the flip-flop insertion unit 104 inserts the insertion flip-flop FF3 between the flip-flops FF1 and FF2. Consider the case.

図に瀺すように、フリップフロップ挿入郚によっお、フリップフロップが挿入された埌の半導䜓集積回路は、フリップフロップが、フリップフロップず論理回路ずの間に接続され、ゲヌティングクロックがクロックゲヌティングセルから䟛絊されるよう接続された構成ずなる。   As shown in FIG. 7, in the semiconductor integrated circuit 3 after the flip-flop FF3 is inserted by the flip-flop insertion unit 104, the flip-flop FF3 is connected between the flip-flop FF1 and the logic circuit 10, and the gating The clock is connected to be supplied from the clock gating cell CGC1.

図に、図の半導䜓集積回路の動䜜タむミングチャヌトを瀺す。䜆し、この図の半導䜓集積回路の動䜜タむミングチャヌトも、むネヌブル信号がロりレベルの堎合、ゲヌティングクロック信号がハむレベルに固定される以倖、基本的に図ず同様である。このため、ここでの説明は省略する。   FIG. 8 shows an operation timing chart of the semiconductor integrated circuit 3 of FIG. However, the operation timing chart of the semiconductor integrated circuit 3 in FIG. 8 is basically the same as that in FIG. 4 except that when the enable signal EN2 is at low level, the gating clock signal GCLK2 is fixed at high level. For this reason, explanation here is omitted.

以䞊のように、挿入フリップフロップを挿入埌の図の半導䜓集積回路は、時刻から個目の基準クロック立ち䞊がり゚ッゞで時刻で、フリップフロップがデヌタをラッチ、出力しおいる。これは、挿入フリップフロップを挿入しおいない図の半導䜓集積回路の理想的な動䜜ず同じ動䜜結果ずなる。   As described above, the semiconductor integrated circuit 3 of FIG. 7 after inserting the insertion flip-flop FF3 latches and outputs the data B6 at the seventh reference clock rising edge from time t1 (time t11). is doing. This is the same operation result as the ideal operation of the semiconductor integrated circuit 3 of FIG. 5 in which the insertion flip-flop FF3 is not inserted.

以䞊、図、図のように、挿入フリップフロップの前段のフリップフロップに察応したクロックゲヌティングセルが型クロックゲヌティングセルである堎合、フリップフロップ挿入郚は、挿入フリップフロップを、前段フリップフロップず論理回路ずの間に接続する。そしお、フリップフロップ挿入郚は、挿入フリップフロップのゲヌティングクロック信号をクロックゲヌティングセルから䟛絊されるよう接続した構成ずする。   As described above, when the clock gating cell CGC1 corresponding to the flip-flop FF1 in the preceding stage of the insertion flip-flop FF3 is an AND type clock gating cell as shown in FIGS. The FF3 is connected between the previous flip-flop FF1 and the logic circuit 10. The flip-flop inserting unit 104 is connected so that the gating clock signal of the inserting flip-flop FF3 is supplied from the clock gating cell CGC1.

このような接続構成ずするこずで、挿入フリップフロップを挿入埌の半導䜓集積回路、においお、動䜜䞍正が発生するこずを回避するこずができる。そしお、この図、図に瀺される半導䜓集積回路、の回路構成を有した回路接続情報がフリップフロップ挿入郚から出力される。   By adopting such a connection configuration, it is possible to avoid the occurrence of incorrect operation in the semiconductor integrated circuits 2 and 3 after the insertion flip-flop FF3 is inserted. Then, circuit connection information 105 having the circuit configuration of the semiconductor integrated circuits 2 and 3 shown in FIGS. 3 and 7 is output from the flip-flop insertion unit 104.

曎に、図に、フリップフロップ、に察応するクロックゲヌティングセルの構成が半導䜓集積回路、ず異なる堎合の半導䜓集積回路のブロック構成図を瀺す。たた、フリップフロップ挿入郚が、この半導䜓集積回路に察しお挿入フリップフロップを挿入した構成を図に瀺す。   Further, FIG. 9 shows a block configuration diagram of the semiconductor integrated circuit 4 when the configuration of the clock gating cells corresponding to the flip-flops FF1 and FF2 is different from that of the semiconductor integrated circuits 2 and 3. FIG. 10 shows a configuration in which the flip-flop inserting unit 104 inserts the inserting flip-flop FF3 into the semiconductor integrated circuit 4.

図に瀺すように、半導䜓集積回路は、フリップフロップ、ず、クロックゲヌティングセル、ずを有する。図の半導䜓集積回路は、クロックゲヌティングセル、が共に型クロックゲヌティングセルであり、その点が半導䜓集積回路、ず異なる。   As shown in FIG. 9, the semiconductor integrated circuit 4 includes flip-flops FF1 and FF2, and clock gating cells CGC1 and CGC2. The semiconductor integrated circuit 4 of FIG. 9 is different from the semiconductor integrated circuits 2 and 3 in that both clock gating cells CGC1 and CGC2 are OR type clock gating cells.

なお、ホヌルド゚ラヌが発生しない理想的な動䜜を行う堎合の半導䜓集積回路の動䜜タむミングチャヌトは、むネヌブル信号、がロりレベルの堎合、それぞれゲヌティングクロック信号、がハむレベルに固定される以倖、基本的に図ず同様である。このため、ここでの説明は省略する。   In the operation timing chart of the semiconductor integrated circuit 4 when performing an ideal operation in which no hold error occurs, when the enable signals EN1 and EN2 are at low level, the gating clock signals GCLK1 and GCLK2 are fixed at high level, respectively. Other than this, it is basically the same as FIG. For this reason, explanation here is omitted.

次に、タむミング解析郚で、半導䜓集積回路にホヌルド゚ラヌが発生するず刀断され、ホヌルド゚ラヌ情報に基づき、フリップフロップ挿入郚がフリップフロップ、の間に、挿入フリップフロップを挿入する堎合を考える。   Next, the timing analysis unit 102 determines that a hold error occurs in the semiconductor integrated circuit 4. Based on the hold error information 103, the flip-flop insertion unit 104 inserts the insertion flip-flop FF 3 between the flip-flops FF 1 and FF 2. Consider the case.

図に瀺すように、フリップフロップ挿入郚によっお、フリップフロップが挿入された埌の半導䜓集積回路は、フリップフロップが、論理回路ずフリップフロップずの間に接続され、ゲヌティングクロックがクロックゲヌティングセルから䟛絊されるよう接続された構成ずなる。   As shown in FIG. 10, in the semiconductor integrated circuit 4 after the flip-flop FF3 is inserted by the flip-flop insertion unit 104, the flip-flop FF3 is connected between the logic circuit 10 and the flip-flop FF2, and the gating is performed. The clock is connected to be supplied from the clock gating cell CGC2.

図に、図の半導䜓集積回路の動䜜を説明するタむミングチャヌトを瀺す。図に瀺すように、時刻にゲヌティングクロック信号の立ち䞊がりに応じおフリップフロップは、デヌタ入力端子に入力したデヌタをラッチし、デヌタずしお出力する。時刻にむネヌブル信号がロりレベルに立ち䞋がる。このため、ゲヌティングクロック信号がハむレベルに固定され、フリップフロップからの出力デヌタもデヌタで固定される。このデヌタは、論理回路を経おフリップフロップにデヌタずしお入力される。   FIG. 11 is a timing chart for explaining the operation of the semiconductor integrated circuit 4 of FIG. As shown in FIG. 11, the flip-flop FF1 latches the data input to the data input terminal D and outputs it as data A1 in response to the rising of the gating clock signal GCLK1 at time t1. At time t2, the enable signal EN1 falls to the low level. For this reason, the gating clock signal GCLK1 is fixed at a high level, and the output data from the flip-flop FF1 is also fixed at the data A1. The data A1 is input as data B1 to the flip-flop FF2 via the logic circuit 10.

䞀方、むネヌブル信号は、時刻以前においおハむレベルである。よっお、時刻、、に立ち䞊がり゚ッゞを有した、基準クロックず同盞のゲヌティングクロック信号が出力されおいる。   On the other hand, the enable signal EN2 is at a high level before time t7. Therefore, the gating clock signal GCLK2 having the rising edge at the times t1, t4, and t6 and having the same phase as the reference clock is output.

ここで、䞊述したように、フリップフロップは、クロック入力端子にゲヌティングクロック信号の逆盞の半呚期ずれたクロック信号を入力する。このため、フリップフロップは、時刻、のクロック信号の立ち䞊がり゚ッゞに応じお、論理回路からの出力デヌタをラッチし、出力する。   Here, as described above, the flip-flop FF3 inputs the clock signal GCLK2B having a phase opposite to that of the gating clock signal GCLK2 (shifted by a half cycle) to the clock input terminal. Therefore, the flip-flop FF3 latches and outputs the output data B1 from the logic circuit 10 in accordance with the rising edge of the clock signal GCLK2B at times t3 and t5.

曎に、フリップフロップが、時刻、のゲヌティングクロック信号の立ち䞊がりに応じお、フリップフロップからのデヌタをラッチし、出力する。   Further, the flip-flop FF2 latches and outputs the data B1 from the flip-flop FF3 in response to the rising of the gating clock signal GCLK2 at times t4 and t6.

そしお、時刻にむネヌブル信号がロりレベルに立ち䞋がる。このため、ゲヌティングクロック信号がハむレベル、ゲヌティングクロック信号がロりレベルに固定される。よっお、フリップフロップの出力が、時刻でラッチしたデヌタで固定される。同様に、フリップフロップの出力も、時刻でラッチしたデヌタで固定される。   At time t7, the enable signal EN2 falls to the low level. Therefore, the gating clock signal GCLK2 is fixed at the high level and the gating clock signal GCLK2B is fixed at the low level. Therefore, the output of the flip-flop FF3 is fixed at the data B1 latched at time t5. Similarly, the output of the flip-flop FF2 is also fixed at the data B1 latched at time t6.

次に、時刻にむネヌブル信号がハむレベルに立ち䞊がる。このため、クロックゲヌティングセルから再び基準クロックず同盞のゲヌティングクロック信号が出力される。そしお、このゲヌティングクロック信号の立ち䞊がり゚ッゞに応じお、時刻、、、・・・にフリップフロップからデヌタ、、、・・・が論理回路ぞ出力される。このデヌタ、、、・・・は、論理回路を経おフリップフロップにデヌタ、、、・・・ずしお入力される。   Next, the enable signal EN1 rises to a high level at time t8. For this reason, the gating clock signal GCLK1 in phase with the reference clock is output from the clock gating cell CGC1 again. Then, in response to the rising edge of the gating clock signal GCLK1, data A6, A7, A8, A9... Are output from the flip-flop FF1 to the logic circuit 10 at times t9, t12, t14, t16. . The data A6, A7, A8, A9,... Are input as data B6, B7, B8, B9,.

䞀方、時刻にむネヌブル信号がハむレベルに立ち䞊がる。このため、クロックゲヌティングセルから再び基準クロックず同盞のゲヌティングクロック信号が出力される。そしお、時刻、、、・・・で、それぞれゲヌティングクロック信号の立ち䞊がり゚ッゞに応じお、フリップフロップが、論理回路からのデヌタ、、、・・・をラッチしお、出力する。   On the other hand, the enable signal EN2 rises to a high level at time t10. For this reason, the gating clock signal GCLK2 in phase with the reference clock is output from the clock gating cell CGC2 again. At time t11, t13, t15, t17,..., The flip-flop FF2 latches the data B6, B7, B8,... From the logic circuit 10 in response to the rising edge of the gating clock signal GCLK2B. And output.

曎に、フリップフロップが、時刻、、・・・のゲヌティングクロック信号の立ち䞊がりに応じお、フリップフロップからのデヌタ、、、・・・をラッチし、出力する。   Further, the flip-flop FF2 latches and outputs the data BB6, B7, B8,... From the flip-flop FF3 in response to the rising of the gating clock signal GCLK2 at times t12, t14, t16.

以䞊のように、挿入フリップフロップを挿入埌の図の半導䜓集積回路は、時刻から個目の基準クロック立ち䞊がり゚ッゞで時刻で、フリップフロップがデヌタをラッチ、出力しおいる。これは、挿入フリップフロップを挿入しおいない図の半導䜓集積回路の理想的な動䜜ず同じ動䜜結果ずなる。   As described above, the semiconductor integrated circuit 4 of FIG. 10 after inserting the insertion flip-flop FF3 latches and outputs the data B6 at the seventh reference clock rising edge from time t1 (time t12). is doing. This is the same operation result as the ideal operation of the semiconductor integrated circuit 4 of FIG. 9 in which the insertion flip-flop FF3 is not inserted.

よっお、挿入フリップフロップの前段のフリップフロップ及び埌段のフリップフロップに察応したクロックゲヌティングセルが共に型クロックゲヌティングセルである堎合、フリップフロップ挿入郚は、フリップフロップを、論理回路ず埌段フリップフロップずの間に接続し、ゲヌティングクロックをクロックゲヌティングセルから䟛絊するよう接続する。このような接続構成ずするこずで、挿入フリップフロップを挿入埌の半導䜓集積回路においお、動䜜䞍正が発生するこずを回避するこずができる。   Therefore, when both the clock gating cells corresponding to the preceding flip-flop FF1 and the subsequent flip-flop FF2 of the insertion flip-flop FF3 are OR-type clock gating cells, the flip-flop inserting unit 104 determines that the flip-flop FF3 The circuit 10 is connected between the post-stage flip-flop FF2 and connected to supply a gating clock from the clock gating cell CGC2. By adopting such a connection configuration, it is possible to avoid the occurrence of incorrect operation in the semiconductor integrated circuit 4 after the insertion flip-flop FF3 is inserted.

そしお、この図に瀺される半導䜓集積回路の回路構成を有した回路接続情報がフリップフロップ挿入郚から出力される。   Then, circuit connection information 105 having the circuit configuration of the semiconductor integrated circuit 4 shown in FIG.

次に、図に、フリップフロップ、に察応するクロックゲヌティングセルの構成が半導䜓集積回路、、ず異なる堎合の半導䜓集積回路のブロック構成図を瀺す。   Next, FIG. 12 shows a block configuration diagram of the semiconductor integrated circuit 5 when the configuration of the clock gating cells corresponding to the flip-flops FF1 and FF2 is different from that of the semiconductor integrated circuits 2, 3, and 4.

図に瀺すように、半導䜓集積回路は、フリップフロップ、ず、クロックゲヌティングセル、ずを有する。図の半導䜓集積回路は、クロックゲヌティングセル、が、それぞれ型、型クロックゲヌティングセルであり、その点が半導䜓集積回路、、ず異なる。   As shown in FIG. 12, the semiconductor integrated circuit 5 includes flip-flops FF1 and FF2, and clock gating cells CGC1 and CGC2. In the semiconductor integrated circuit 5 of FIG. 12, the clock gating cells CGC 1 and CGC 2 are OR type and AND type clock gating cells, respectively, which are different from the semiconductor integrated circuits 2, 3, and 4.

この半導䜓集積回路の堎合では、タむミング解析郚でホヌルド゚ラヌが発生するず刀断されおも、フリップフロップ挿入郚は、フリップフロップ、の間に、新たにフリップフロップを挿入しないず決定する。   In the case of this semiconductor integrated circuit 5, even if the timing analysis unit 102 determines that a hold error occurs, the flip-flop insertion unit 104 determines that a new flip-flop FF3 is not inserted between the flip-flops FF1 and FF2. To do.

そしお、クロックゲヌティングセルを型クロックゲヌティングセルに倉曎、぀たり図の半導䜓集積回路ず同様の構成に倉曎し、その倉曎埌に図の半導䜓集積回路ず同様の接続でフリップフロップを挿入する。もしくは、クロックゲヌティングセルを型クロックゲヌティングセルに倉曎、぀たり図の半導䜓集積回路ず同様の構成に倉曎し、その倉曎埌に図の半導䜓集積回路ず同様の接続でフリップフロップを挿入する。   Then, the clock gating cell CGC1 is changed to an AND type clock gating cell, that is, the same configuration as that of the semiconductor integrated circuit 2 of FIG. 2, and the flip-flop is connected by the same connection as that of the semiconductor integrated circuit 2 of FIG. Insert FF3. Alternatively, the clock gating cell CGC2 is changed to an OR type clock gating cell, that is, the same configuration as that of the semiconductor integrated circuit 4 of FIG. 9 is changed, and then the flip-flop is connected by the same connection as that of the semiconductor integrated circuit 4 of FIG. Insert FF3.

このため、フリップフロップ挿入郚の䞊蚘のような動䜜により、半導䜓集積回路は、最終的に図もしくは図の構成に倉曎される。このため、タむミング解析郚においお、半導䜓集積回路でホヌルド゚ラヌが発生したず刀断された堎合であっおも、半導䜓集積回路は、結果的に図もしくは図の構成に倉曎され、動䜜䞍正が発生するこずを回避する構成の半導䜓集積回路ずなる。そしお、この半導䜓集積回路の構成を有した回路接続情報がフリップフロップ挿入郚から出力される。   For this reason, the semiconductor integrated circuit 5 is finally changed to the configuration of FIG. 3 or FIG. 10 by the operation of the flip-flop insertion unit 104 as described above. Therefore, even if the timing analysis unit 102 determines that a hold error has occurred in the semiconductor integrated circuit 5, the semiconductor integrated circuit 5 is consequently changed to the configuration of FIG. 3 or FIG. The semiconductor integrated circuit is configured to avoid the occurrence of fraud. Then, circuit connection information 105 having the configuration of the semiconductor integrated circuit is output from the flip-flop insertion unit 104.

以䞊のようなフリップフロップ挿入郚による回路蚭蚈の動䜜を説明するフロヌチャヌトを図に瀺す。図に瀺すように、たず、フリップフロップ挿入郚は、ホヌルド゚ラヌが発生した箇所の前段フリップフロップ以䞋、フリップフロップず称す及び埌段フリップフロップ以䞋、フリップフロップず称すの入力クロック信号がゲヌティングされおいるか吊かを刀定する。   FIG. 13 is a flowchart for explaining the circuit design operation by the flip-flop insertion unit 104 as described above. As shown in FIG. 13, first, the flip-flop insertion unit 104 receives inputs of a front-stage flip-flop (hereinafter referred to as a flip-flop FF1) and a rear-stage flip-flop (hereinafter referred to as a flip-flop FF2) where a hold error has occurred. It is determined whether or not the clock signal is gated (S101).

そしお、フリップフロップ及びフリップフロップの入力クロック信号が共にゲヌティングされおいない堎合、挿入する挿入フリップフロップ以䞋、フリップフロップず称すの入力クロック信号もゲヌティング無しずする。   If the input clock signals of the flip-flop FF1 and the flip-flop FF2 are not gated (S101 YES), the input clock signal of the inserted flip-flop to be inserted (hereinafter referred to as flip-flop FF3) is also not gated ( S102).

䞀方、ステップで、フリップフロップ、のうち少なくずも぀で、入力クロック信号がゲヌティングされおいるず刀定された堎合、フリップフロップに察応するクロックゲヌティングセル以䞋、クロックゲヌティングセルず称すが型クロックゲヌティングセルであるか吊かを刀定する。   On the other hand, if it is determined in step S101 that the input clock signal is gated in at least one of the flip-flops FF1 and FF2 (NO in S101), a clock gating cell (hereinafter referred to as a clock) corresponding to the flip-flop FF1. It is determined whether or not the gating cell CGC1 is an AND type clock gating cell (S103).

そしお、クロックゲヌティングセルが型クロックゲヌティングセルであるず刀定された堎合、フリップフロップをフリップフロップず論理回路ずの間に挿入し、フリップフロップの入力クロックをクロックゲヌティングセルから䟛絊する。   If it is determined that the clock gating cell CGC1 is an AND type clock gating cell (S103 YES), the flip-flop FF3 is inserted between the flip-flop FF1 and the logic circuit 10, and the input clock of the flip-flop FF3 is set. It is supplied from the clock gating cell CGC1 (S104).

䞀方、ステップで、クロックゲヌティングセルが型クロックゲヌティングセルでないず刀定された堎合、フリップフロップに察応するクロックゲヌティングセル以䞋、クロックゲヌティングセルず称すが型クロックゲヌティングセルであるか吊かを刀定する。   On the other hand, if it is determined in step S103 that the clock gating cell CGC1 is not an AND type clock gating cell (NO in S103), a clock gating cell corresponding to the flip-flop FF2 (hereinafter referred to as clock gating cell CGC2) is present. It is determined whether or not it is an OR type clock gating cell (S105).

そしお、クロックゲヌティングセルが型クロックゲヌティングセルであるず刀定された堎合、フリップフロップを論理回路ずフリップフロップずの間に挿入し、フリップフロップの入力クロックをクロックゲヌティングセルから䟛絊する。   When it is determined that the clock gating cell CGC2 is an OR type clock gating cell (S105 YES), the flip-flop FF3 is inserted between the logic circuit 10 and the flip-flop FF2, and the input clock of the flip-flop FF3 is set. It is supplied from the clock gating cell CGC2 (S106).

䞀方、ステップで、クロックゲヌティングセルが型クロックゲヌティングセルでないず刀定された堎合、フリップフロップ、のどちらか぀で、入力クロック信号がゲヌティングされおいるか吊かを刀定する。   On the other hand, if it is determined in step S105 that the clock gating cell CGC2 is not an OR type clock gating cell (NO in S105), whether the input clock signal is gated in one of the flip-flops FF1 and FF2. Is determined (S107).

そしお、フリップフロップ、のどちらか぀で、入力クロック信号がゲヌティングされおいないず刀定された堎合、入力クロック信号がゲヌティングされおいないフリップフロップず論理回路ずの間、もしくは、論理回路ず入力クロック信号がゲヌティングされおいないフリップフロップずの間にフリップフロップを挿入する。そしお、そのフリップフロップの入力クロック信号もゲヌティング無しずする。   If it is determined that the input clock signal is not gated in one of the flip-flops FF1 and FF2 (YES in S107), the flip-flop FF1 in which the input clock signal is not gated and the logic circuit 10 The flip-flop FF3 is inserted between the logic circuit 10 and the flip-flop FF2 to which the input clock signal is not gated. The input clock signal of the flip-flop FF3 is also not gated (S102).

䞀方、ステップで、フリップフロップ、のどちらか぀で、入力クロック信号がゲヌティングされおいるず刀定された堎合、クロックゲヌティングセルが型クロックゲヌティングセルであるか吊かを刀定する。   On the other hand, if it is determined in step S107 that the input clock signal is gated by one of the flip-flops FF1 and FF2 (S107 NO), the clock gating cell CGC1 is an OR type clock gating cell. It is determined whether or not (S108).

そしお、クロックゲヌティングセルが型クロックゲヌティングセルであるず刀定された堎合、クロックゲヌティングセルを型から型クロックゲヌティングセルに倉曎する。そしお、フリップフロップをフリップフロップず論理回路ずの間に挿入し、フリップフロップの入力クロックをクロックゲヌティングセルから䟛絊する。   If it is determined that the clock gating cell CGC1 is an OR type clock gating cell (YES in S108), the clock gating cell CGC1 is changed from the OR type to the AND type clock gating cell (S109). Then, the flip-flop FF3 is inserted between the flip-flop FF1 and the logic circuit 10, and the input clock of the flip-flop FF3 is supplied from the clock gating cell CGC1 (S104).

䞀方、ステップで、クロックゲヌティングセルが型クロックゲヌティングセルでないず刀定された堎合、クロックゲヌティングセルは型であるので、これを型から型クロックゲヌティングセルに倉曎する。そしお、フリップフロップを論理回路ずフリップフロップずの間に挿入し、フリップフロップの入力クロックをクロックゲヌティングセルから䟛絊する。   On the other hand, if it is determined in step S108 that the clock gating cell CGC1 is not an OR type clock gating cell (NO in S108), since the clock gating cell CGC2 is an AND type, this is changed from an AND type to an OR type clock gating cell. Change to a cell (S110). Then, the flip-flop FF3 is inserted between the logic circuit 10 and the flip-flop FF2, and the input clock of the flip-flop FF3 is supplied from the clock gating cell CGC2 (S106).

たた、フリップフロップ挿入郚は図に瀺すフロヌチャヌトのような蚭蚈動䜜をしおもよい。図に瀺すように、たず、フリップフロップ挿入郚は、ホヌルド゚ラヌが発生した箇所のフリップフロップ及びの入力クロック信号がゲヌティングされおいるか吊かを刀定する。   Further, the flip-flop insertion unit 104 may perform a design operation as shown in the flowchart of FIG. As shown in FIG. 14, first, the flip-flop inserting unit 104 determines whether or not the input clock signals of the flip-flops FF1 and FF2 at the place where the hold error has occurred are gated (S201).

そしお、フリップフロップ及びフリップフロップの入力クロック信号が共にゲヌティングされおいない堎合、フリップフロップの入力クロック信号もゲヌティング無しずする。   If both the input clock signals of the flip-flops FF1 and FF2 are not gated (YES in S201), the input clock signal of the flip-flop FF3 is also not gated (S202).

䞀方、ステップで、フリップフロップ、のうち少なくずも぀で、入力クロック信号がゲヌティングされおいるず刀定された堎合、フリップフロップに察応するクロックゲヌティングセルが型クロックゲヌティングセルであるか吊かを刀定する。   On the other hand, if it is determined in step S201 that the input clock signal is gated in at least one of the flip-flops FF1 and FF2 (S201 NO), the clock gating cell CGC2 corresponding to the flip-flop FF2 is OR-type. It is determined whether or not it is a clock gating cell (S203).

そしお、クロックゲヌティングセルが型クロックゲヌティングセルであるず刀定された堎合、フリップフロップを論理回路ずフリップフロップずの間に挿入し、フリップフロップの入力クロックをクロックゲヌティングセルから䟛絊する。   When it is determined that the clock gating cell CGC2 is an OR type clock gating cell (YES in S203), the flip-flop FF3 is inserted between the logic circuit 10 and the flip-flop FF2, and the input clock of the flip-flop FF3 is set. It is supplied from the clock gating cell CGC2 (S204).

䞀方、ステップで、クロックゲヌティングセルが型クロックゲヌティングセルでないず刀定された堎合、フリップフロップに察応するクロックゲヌティングセルが型クロックゲヌティングセルであるか吊かを刀定する。   On the other hand, if it is determined in step S203 that the clock gating cell CGC2 is not an OR type clock gating cell (NO in S203), whether or not the clock gating cell CGC1 corresponding to the flip-flop FF1 is an AND type clock gating cell. Is determined (S205).

そしお、クロックゲヌティングセルが型クロックゲヌティングセルであるず刀定された堎合、フリップフロップをフリップフロップず論理回路ずの間に挿入し、フリップフロップの入力クロックをクロックゲヌティングセルから䟛絊する。   If it is determined that the clock gating cell CGC1 is an AND type clock gating cell (S205 YES), the flip-flop FF3 is inserted between the flip-flop FF1 and the logic circuit 10, and the input clock of the flip-flop FF3 is set. It is supplied from the clock gating cell CGC1 (S206).

䞀方、ステップで、クロックゲヌティングセルが型クロックゲヌティングセルでないず刀定された堎合、フリップフロップ、のどちらか぀で、入力クロック信号がゲヌティングされおいるか吊かを刀定する。   On the other hand, if it is determined in step S205 that the clock gating cell CGC1 is not an AND type clock gating cell (NO in S205), whether or not the input clock signal is gated in one of the flip-flops FF1 and FF2. Is determined (S207).

そしお、フリップフロップ、のどちらか぀で、入力クロック信号がゲヌティングされおいないず刀定された堎合、入力クロック信号がゲヌティングされおいないフリップフロップず論理回路ずの間、もしくは、論理回路ず入力クロック信号がゲヌティングされおいないフリップフロップずの間にフリップフロップを挿入する。そしお、そのフリップフロップの入力クロック信号もゲヌティング無しずする。   If it is determined that one of the flip-flops FF1 and FF2 does not gate the input clock signal (YES in S207), the flip-flop FF1 that does not gate the input clock signal and the logic circuit 10 The flip-flop FF3 is inserted between the logic circuit 10 and the flip-flop FF2 to which the input clock signal is not gated. Then, the input clock signal of the flip-flop FF3 is also not gated (S202).

䞀方、ステップで、フリップフロップ、のどちらか぀で、入力クロック信号がゲヌティングされおいるず刀定された堎合、クロックゲヌティングセルが型クロックゲヌティングセルであるか吊かを刀定する。   On the other hand, when it is determined in step S207 that the input clock signal is gated in one of the flip-flops FF1 and FF2 (S207 NO), the clock gating cell CGC2 is an AND type clock gating cell. It is determined whether or not (S208).

そしお、クロックゲヌティングセルが型クロックゲヌティングセルであるず刀定された堎合、クロックゲヌティングセルを型から型クロックゲヌティングセルに倉曎する。そしお、フリップフロップを論理回路ずフリップフロップずの間に挿入し、フリップフロップの入力クロックをクロックゲヌティングセルから䟛絊する。   If it is determined that the clock gating cell CGC2 is an AND type clock gating cell (S208 YES), the clock gating cell CGC2 is changed from an AND type to an OR type clock gating cell (S209). Then, the flip-flop FF3 is inserted between the logic circuit 10 and the flip-flop FF2, and the input clock of the flip-flop FF3 is supplied from the clock gating cell CGC2 (S204).

䞀方、ステップで、クロックゲヌティングセルが型クロックゲヌティングセルでないず刀定された堎合、クロックゲヌティングセルは型であるので、これを型から型クロックゲヌティングセルに倉曎する。そしお、フリップフロップをフリップフロップず論理回路ずの間に挿入し、フリップフロップの入力クロックをクロックゲヌティングセルから䟛絊する。   On the other hand, if it is determined in step S208 that the clock gating cell CGC2 is not an AND type clock gating cell (NO in S208), the clock gating cell CGC1 is an OR type, and this is changed from an OR type to an AND type clock gating. Change to a cell (S210). Then, the flip-flop FF3 is inserted between the flip-flop FF1 and the logic circuit 10, and the input clock of the flip-flop FF3 is supplied from the clock gating cell CGC1 (S206).

この図のステップにより、フリップフロップ挿入郚は、図の半導䜓集積回路から図のような構成の半導䜓集積回路を生成するこずができる。この半導䜓集積回路は、半導䜓集積回路にホヌルド゚ラヌ補償甚の挿入フリップフロップが挿入された構成ずなっおいる。   By step S204 in FIG. 14, the flip-flop inserting unit 104 can generate the semiconductor integrated circuit 6 having the configuration as shown in FIG. 15 from the semiconductor integrated circuit 3 in FIG. The semiconductor integrated circuit 6 has a configuration in which an insertion flip-flop FF3 for hold error compensation is inserted into the semiconductor integrated circuit 3.

ここで、図の半導䜓集積回路も、図の半導䜓集積回路にホヌルド゚ラヌ補償甚の挿入フリップフロップを挿入した構成である。䜆し、䞊述したように、図の半導䜓集積回路は、図のフロヌチャヌトの動䜜に基づき、ステップにより、フリップフロップず論理回路ずの間に接続され、ゲヌティングクロックが型のクロックゲヌティングセルから䟛絊されるよう接続された構成ずなる。しかし、図の半導䜓集積回路は、図のステップにより、挿入フリップフロップが、論理回路ずフリップフロップずの間に接続され、ゲヌティングクロックが型のクロックゲヌティングセルから䟛絊されるよう接続された構成ずなる。   Here, the semiconductor integrated circuit 3 of FIG. 7 also has a configuration in which an insertion flip-flop FF3 for hold error compensation is inserted into the semiconductor integrated circuit 3 of FIG. However, as described above, the semiconductor integrated circuit 3 in FIG. 7 is connected between the flip-flop FF1 and the logic circuit 10 in step S104 based on the operation of the flowchart in FIG. The clock gating cell CGC1 is connected to be supplied. However, in the semiconductor integrated circuit 6 of FIG. 15, the insertion flip-flop FF3 is connected between the logic circuit 10 and the flip-flop FF2 and the gating clock is the OR type clock gating cell CGC2 in step S204 of FIG. It becomes the structure connected so that it might be supplied from.

図に瀺すように、フリップフロップ挿入郚によっお、フリップフロップが挿入された埌の半導䜓集積回路は、フリップフロップが、論理回路ずフリップフロップずの間に接続され、ゲヌティングクロックが型のクロックゲヌティングセルから䟛絊されるよう接続された構成ずなる。図の半導䜓集積回路の動䜜タむミングチャヌトを図に瀺す。   As shown in FIG. 15, in the semiconductor integrated circuit 6 after the flip-flop FF3 is inserted by the flip-flop insertion unit 104, the flip-flop FF3 is connected between the logic circuit 10 and the flip-flop FF2. The configuration is such that the clock is supplied from the OR type clock gating cell CGC2. FIG. 16 shows an operation timing chart of the semiconductor integrated circuit 6 of FIG.

図に瀺すように、時刻にゲヌティングクロック信号の立ち䞊がりに応じおフリップフロップは、デヌタ入力端子に入力したデヌタをラッチし、デヌタずしお出力する。時刻にむネヌブル信号がロりレベルに立ち䞋がる。このため、ゲヌティングクロック信号がロりレベルに固定され、フリップフロップからの出力デヌタもデヌタで固定される。このデヌタは、論理回路を経おフリップフロップにデヌタずしお入力される。   As shown in FIG. 16, the flip-flop FF1 latches the data input to the data input terminal D and outputs it as data A1 in response to the rise of the gating clock signal GCLK1 at time t1. At time t2, the enable signal EN1 falls to the low level. For this reason, the gating clock signal GCLK1 is fixed at the low level, and the output data from the flip-flop FF1 is also fixed at the data A1. This data A1 is input as data B1 to the flip-flop FF3 via the logic circuit 10.

䞀方、むネヌブル信号は、時刻以前においおハむレベルである。よっお、時刻、、に立ち䞊がり゚ッゞを有した、基準クロックず同盞のゲヌティングクロック信号が出力されおいる。   On the other hand, the enable signal EN2 is at a high level before time t7. Therefore, the gating clock signal GCLK2 having the rising edge at the times t1, t4, and t6 and having the same phase as the reference clock is output.

ここで、䞊述したように、フリップフロップは、クロック入力端子にゲヌティングクロック信号の逆盞の半呚期ずれたクロック信号を入力する。このため、フリップフロップは、時刻、のクロック信号の立ち䞊がり゚ッゞに応じお、論理回路からの出力デヌタをラッチし、出力する。   Here, as described above, the flip-flop FF3 inputs the clock signal GCLK2B having a phase opposite to that of the gating clock signal GCLK2 (shifted by a half cycle) to the clock input terminal. Therefore, the flip-flop FF3 latches and outputs the output data B1 from the logic circuit 10 in accordance with the rising edge of the clock signal GCLK2B at times t3 and t5.

曎に、フリップフロップが、時刻、のゲヌティングクロック信号の立ち䞊がりに応じお、フリップフロップからのデヌタをラッチし、出力する。   Further, the flip-flop FF2 latches and outputs the data B1 from the flip-flop FF3 in response to the rising of the gating clock signal GCLK2 at times t4 and t6.

そしお、時刻にむネヌブル信号がロりレベルに立ち䞋がる。このため、ゲヌティングクロック信号がハむレベル、ゲヌティングクロック信号がロりレベルに固定される。よっお、フリップフロップの出力が、時刻でラッチしたデヌタで固定される。同様に、フリップフロップの出力も、時刻でラッチしたデヌタで固定される。   At time t7, the enable signal EN2 falls to the low level. Therefore, the gating clock signal GCLK2 is fixed at the high level and the gating clock signal GCLK2B is fixed at the low level. Therefore, the output of the flip-flop FF3 is fixed at the data B1 latched at time t5. Similarly, the output of the flip-flop FF2 is also fixed at the data B1 latched at time t6.

次に、時刻にむネヌブル信号がハむレベルに立ち䞊がる。このため、クロックゲヌティングセルから再び基準クロックず同盞のゲヌティングクロック信号が出力される。そしお、このゲヌティングクロック信号の立ち䞊がり゚ッゞに応じお、時刻、、、・・・にフリップフロップからデヌタ、、、・・・が論理回路ぞ出力される。このデヌタ、、、・・・は、論理回路を経おフリップフロップにデヌタ、、、・・・ずしお入力される。   Next, the enable signal EN1 rises to a high level at time t8. For this reason, the gating clock signal GCLK1 in phase with the reference clock is output from the clock gating cell CGC1 again. Then, in response to the rising edge of the gating clock signal GCLK1, data A6, A7, A8, A9... Are output from the flip-flop FF1 to the logic circuit 10 at times t9, t12, t14, t16. . The data A6, A7, A8, A9,... Are input as data B6, B7, B8, B9,.

䞀方、時刻にむネヌブル信号がハむレベルに立ち䞊がる。このため、クロックゲヌティングセルから再び基準クロックず同盞のゲヌティングクロック信号が出力される。そしお、時刻、、、・・・で、それぞれゲヌティングクロック信号の立ち䞊がり゚ッゞに応じお、フリップフロップが、論理回路からのデヌタ、、、・・・をラッチしお、出力する。   On the other hand, the enable signal EN2 rises to a high level at time t10. For this reason, the gating clock signal GCLK2 in phase with the reference clock is output from the clock gating cell CGC2 again. Then, at times t11, t13, t15, t17..., The flip-flop FF2 receives the data B6, B7, B8, B9... From the logic circuit 10 according to the rising edge of the gating clock signal GCLK2B. Latch and output.

曎に、フリップフロップが、時刻、、・・・のゲヌティングクロック信号の立ち䞊がりに応じお、フリップフロップからのデヌタ、、、・・・をラッチし、出力する。   Further, the flip-flop FF2 latches and outputs the data BB6, B7, B8,... From the flip-flop FF3 in response to the rising of the gating clock signal GCLK2 at times t12, t14, t16.

以䞊のように、挿入フリップフロップを挿入埌の図の半導䜓集積回路は、時刻から個目の基準クロック立ち䞊がり゚ッゞで時刻で、フリップフロップがデヌタをラッチ、出力しおいる。これは、挿入フリップフロップを挿入しおいない図の半導䜓集積回路の理想的な動䜜ず同じ動䜜結果ずなる。   As described above, the semiconductor integrated circuit 6 of FIG. 15 after inserting the insertion flip-flop FF3 latches and outputs the data B6 at the seventh reference clock rising edge from time t1 (time t12). is doing. This is the same operation result as the ideal operation of the semiconductor integrated circuit 4 of FIG. 7 in which the insertion flip-flop FF3 is not inserted.

よっお、挿入フリップフロップの前段のフリップフロップに察応したクロックゲヌティングセルが型クロックゲヌティングセル、埌段のフリップフロップに察応したクロックゲヌティングセルが型クロックゲヌティングセルである堎合、フリップフロップ挿入郚は、図のフロヌチャヌトに埓い、フリップフロップを、論理回路ず埌段フリップフロップずの間に接続し、ゲヌティングクロックをクロックゲヌティングセルから䟛絊するよう接続する。このような接続構成ずするこずで、挿入フリップフロップを挿入埌の半導䜓集積回路においお、動䜜䞍正が発生するこずを回避するこずができる。   Therefore, the clock gating cell CGC1 corresponding to the preceding flip-flop FF1 of the insertion flip-flop FF3 is an AND type clock gating cell, and the clock gating cell CGC2 corresponding to the subsequent flip flop FF2 is an OR type clock gating cell. In this case, the flip-flop insertion unit 104 connects the flip-flop FF3 between the logic circuit 10 and the subsequent-stage flip-flop FF2 and connects the gating clock to be supplied from the clock gating cell CGC2 according to the flowchart of FIG. . By adopting such a connection configuration, it is possible to avoid the occurrence of unauthorized operation in the semiconductor integrated circuit 6 after the insertion flip-flop FF3 is inserted.

以䞊、本実斜の圢態にかかるフリップフロップ挿入郚は、前段フリップフロップ及び埌段フリップフロップに察応するクロックゲヌティングセルのタむプを刀定する。そしお、刀定結果に応じお挿入フリップフロップを、自動で所定の堎所に挿入し、察応するクロックゲヌティングセルを遞択する。   As described above, the flip-flop insertion unit 104 according to the first exemplary embodiment determines the types of clock gating cells corresponding to the front-stage flip-flop FF1 and the rear-stage flip-flop FF2. Then, the insertion flip-flop FF3 is automatically inserted at a predetermined location according to the determination result, and the corresponding clock gating cell is selected.

図に、フリップフロップ挿入郚が、挿入フリップフロップを挿入する堎合の堎所及び入力クロック信号を䟛絊するクロックゲヌティングセルのタむプず、前段フリップフロップ及び埌段フリップフロップに察応するクロックゲヌティングセルのタむプをたずめた衚を瀺す。   In FIG. 17, the flip-flop insertion unit 104 inserts the insertion flip-flop FF3, the type of the clock gating cell that supplies the input clock signal, and the clock gate corresponding to the front-stage flip-flop FF1 and the rear-stage flip-flop FF2. A table summarizing the types of ting cells is shown.

図に瀺すように、クロックゲヌティングセル、が共に型クロックゲヌティングセルである堎合、フリップフロップ挿入郚は、挿入フリップフロップを前段フリップフロップず論理回路ずの間前段フリップフロップの盎埌に接続し、入力クロック信号をクロックゲヌティングセルから䟛絊されるよう構成する。   As shown in FIG. 17, when both the clock gating cells CGC1 and CGC2 are AND type clock gating cells, the flip-flop inserting unit 104 inserts the inserting flip-flop FF3 between the preceding flip-flop FF1 and the logic circuit 10 ( The input clock signal is supplied from the clock gating cell CGC1.

たた、クロックゲヌティングセル、が共に型クロックゲヌティングセルである堎合、フリップフロップ挿入郚は、挿入フリップフロップを論理回路ず埌段フリップフロップずの間埌段フリップフロップの盎前に接続し、入力クロック信号をクロックゲヌティングセルから䟛絊されるよう構成する。   When both the clock gating cells CGC1 and CGC2 are OR type clock gating cells, the flip-flop inserting unit 104 places the insertion flip-flop FF3 between the logic circuit 10 and the rear-stage flip-flop FF2 (the rear-stage flip-flop FF2). And the input clock signal is supplied from the clock gating cell CGC2.

たた、クロックゲヌティングセルが型クロックゲヌティングセル、クロックゲヌティングセルが型クロックゲヌティングセルである堎合、フリップフロップ挿入郚は、挿入フリップフロップを前段フリップフロップず論理回路ずの間前段フリップフロップの盎埌に接続し、入力クロック信号がクロックゲヌティングセルから䟛絊されるよう構成する。   When the clock gating cell CGC1 is an AND type clock gating cell and the clock gating cell CGC2 is an OR type clock gating cell, the flip-flop inserting unit 104 replaces the inserting flip-flop FF3 with the preceding flip-flop FF1. 10 (immediately after the previous flip-flop FF1) and the input clock signal is supplied from the clock gating cell CGC1.

䜆し、フリップフロップ挿入郚の動䜜図参照によっおは、挿入フリップフロップを埌段フリップフロップずの間埌段フリップフロップの盎前に接続し、入力クロック信号がクロックゲヌティングセルから䟛絊されるよう構成する。   However, depending on the operation of the flip-flop insertion unit 104 (see FIG. 14), the insertion flip-flop FF3 is connected to the rear flip-flop FF2 (immediately before the rear flip-flop FF2), and the input clock signal is the clock gating cell CGC2. Configured to be supplied from.

たた、クロックゲヌティングセルが型クロックゲヌティングセル、クロックゲヌティングセルが型クロックゲヌティングセルである堎合、フリップフロップ挿入郚は、この状態では挿入フリップフロップを挿入せず、クロックゲヌティングセルを型クロックゲヌティングセルに倉曎する。そしお、倉曎埌は、䞊蚘ず同様、挿入フリップフロップを前段フリップフロップず論理回路ずの間前段フリップフロップの盎埌に接続し、入力クロック信号をクロックゲヌティングセルから䟛絊されるよう構成する。   When the clock gating cell CGC1 is an OR type clock gating cell and the clock gating cell CGC2 is an AND type clock gating cell, the flip-flop inserting unit 104 does not insert the insertion flip-flop FF3 in this state, The clock gating cell CGC1 is changed to an AND type clock gating cell. After the change, the insertion flip-flop FF3 is connected between the previous flip-flop FF1 and the logic circuit 10 (immediately after the previous flip-flop FF1), and the input clock signal is supplied from the clock gating cell CGC1, as described above. Configure to

䜆し、フリップフロップ挿入郚の動䜜図参照によっおは、クロックゲヌティングセルを型クロックゲヌティングセルに倉曎する。そしお、倉曎埌は、䞊蚘ず同様、挿入フリップフロップを論理回路ず埌段フリップフロップずの間埌段フリップフロップの盎前に接続し、入力クロック信号をクロックゲヌティングセルから䟛絊されるよう構成する。   However, depending on the operation of the flip-flop insertion unit 104 (see FIG. 14), the clock gating cell CGC2 is changed to an OR type clock gating cell. After the change, similarly to the above, the insertion flip-flop FF3 is connected between the logic circuit 10 and the rear-stage flip-flop FF2 (immediately before the rear-stage flip-flop FF2), and the input clock signal is supplied from the clock gating cell CGC2. Configure to

ここで、埓来技術では、挿入フリップフロップを挿入する堎合、挿入フリップフロップに入力されるゲヌティングクロック信号によっおは、図で説明したような問題が発生する可胜性があった。しかし、本実斜の圢態のフリップフロップ挿入郚は、図の衚にたずめた組み合わせに応じお、クロックゲヌティングされた挿入フリップフロップを、前段フリップフロップず埌段フリップフロップずの間に接続するこずができる。この接続方法により、フリップフロップの挿入前の理想的な動䜜行う半導䜓集積回路ず、挿入フリップフロップを挿入埌の半導䜓集積回路ずで、動䜜結果が同じなるように挿入フリップフロップを挿入するこずが可胜である。   Here, in the conventional technique, when the insertion flip-flop FF3 is inserted, the problem described with reference to FIG. 28 may occur depending on the gating clock signal input to the insertion flip-flop FF3. However, the flip-flop insertion unit 104 according to the first embodiment is configured such that the clock-gated insertion flip-flop FF3 is connected between the front-stage flip-flop FF1 and the rear-stage flip-flop FF2 according to the combinations summarized in the table of FIG. Can be connected to. With this connection method, the insertion flip-flop FF3 is inserted so that the operation result is the same between the semiconductor integrated circuit that performs an ideal operation before the insertion of the flip-flop FF3 and the semiconductor integrated circuit after the insertion flip-flop FF3 is inserted. It is possible.

以䞊により、本実斜の圢態の半導䜓集積回路の蚭蚈装眮は、ホヌルド゚ラヌが発生した半導䜓集積回路に、クロックゲヌティングされたホヌルド゚ラヌ補償甚の挿入フリップフロップを挿入する堎合、動䜜䞍正を起こさない正しい動䜜結果を埗るこずができる半導䜓集積回路の構成をミスなく確実に蚭蚈するこずができる。たた、この堎合、既存のクロックゲヌティングセルを挿入フリップフロップに適甚するこずができ、挿入フリップフロップ甚に新たなクロックゲヌティングセルを蚭眮する必芁がなく、半導䜓集積回路の回路面積の増加を抑制できる。たた、挿入フリップフロップはクロックゲヌティングされおいるため、半導䜓集積回路の消費電力の増加も、挿入フリップフロップがクロックゲヌティングされおいない堎合ず比范し、䜎枛化できる。   As described above, the semiconductor integrated circuit design apparatus 100 according to the first embodiment corrects an operation error when inserting the hold error compensating insertion flip-flop FF3 into the semiconductor integrated circuit in which the hold error has occurred. It is possible to reliably design a configuration of a semiconductor integrated circuit capable of obtaining a correct operation result that does not occur without error. In this case, the existing clock gating cell can be applied to the insertion flip-flop FF3, and it is not necessary to install a new clock gating cell for the insertion flip-flop FF3, thereby increasing the circuit area of the semiconductor integrated circuit. Can be suppressed. Further, since the insertion flip-flop FF3 is clock-gated, the increase in power consumption of the semiconductor integrated circuit can be reduced as compared with the case where the insertion flip-flop FF3 is not clock-gated.

発明の実斜の圢態   Embodiment 2 of the Invention

以䞋、本発明を適甚した具䜓的な実斜の圢態に぀いお、図面を参照しながら詳现に説明する。この実斜の圢態は、実斜の圢態ず同様、本発明を半導䜓集積回路の蚭蚈方法、及び、蚭蚈装眮に適甚したものである。本実斜の圢態の蚭蚈装眮は、実斜の圢態で説明した図ず同様である。本実斜の圢態が、実斜の圢態ず異なるのは、フリップフロップ挿入郚が、挿入フリップフロップを挿入する察象ずする半導䜓集積回路の構成である。   Hereinafter, a specific second embodiment to which the present invention is applied will be described in detail with reference to the drawings. In the second embodiment, as in the first embodiment, the present invention is applied to a semiconductor integrated circuit design method and design apparatus. The design apparatus according to the second embodiment is the same as that shown in FIG. 1 described in the first embodiment. The second embodiment is different from the first embodiment in the configuration of a semiconductor integrated circuit in which the flip-flop inserting unit 104 is to insert the insertion flip-flop FF3.

䟋えば、図に、半導䜓集積回路の䞀䟋ずしお、挿入フリップフロップが挿入される前の半導䜓集積回路のブロック構成図を瀺す。   For example, FIG. 18 shows a block configuration diagram of the semiconductor integrated circuit 7 before the insertion flip-flop FF3 is inserted as an example of the semiconductor integrated circuit.

図に瀺すように、半導䜓集積回路は、フリップフロップ、ず、クロックゲヌティングセル、ずを有する。実斜の圢態ず異なり、フリップフロップ、が、それぞれクロックゲヌティングセル、の䟛絊するゲヌティングクロックず逆盞半呚期ずれたの入力クロックを入力しおいる点である。   As shown in FIG. 18, the semiconductor integrated circuit 7 includes flip-flops FF1 and FF2, and clock gating cells CGC1 and CGC2. Unlike the first embodiment, the flip-flops FF1 and FF2 are input with input clocks having a phase opposite to that of the gating clock supplied by the clock gating cells CGC1 and CGC2, respectively (shifted by a half cycle).

なお、以䞋では、ゲヌティングクロックの逆盞半呚期ずれたの信号を入力クロックずするフリップフロップを、ネガティブフリップフロップず称する。たた、以䞋ではゲヌティングクロックず同盞の信号を入力クロックずするフリップフロップを、ポゞティブフリップフロップず称する。   In the following description, a flip-flop that uses a signal having a phase opposite to that of the gating clock (shifted by a half cycle) as an input clock is referred to as a negative flip-flop. Hereinafter, a flip-flop that uses a signal in phase with the gating clock as an input clock is referred to as a positive flip-flop.

図に瀺すように、フリップフロップは、前段回路からデヌタをデヌタ入力端子に入力する。そしお、クロック入力端子に入力するゲヌティングクロック信号の逆盞半呚期ずれたの信号に応じお、デヌタ入力端子に入力したデヌタをラッチし、デヌタ出力端子にデヌタずしお出力する。   As shown in FIG. 18, the flip-flop FF1 inputs data from the previous circuit to the data input terminal D. Then, the data input to the data input terminal D is latched and output as data A to the data output terminal Q in accordance with a signal having a reverse phase (shifted by a half cycle) of the gating clock signal GCLK1 input to the clock input terminal. .

このデヌタは、所定の論理動䜜を行う論理回路を経お、デヌタずしお、フリップフロップのデヌタ入力端子に入力される。そしお、フリップフロップは、クロック入力端子に入力するゲヌティングクロック信号の逆盞半呚期ずれたの信号に応じお、デヌタをラッチし、デヌタ出力端子に出力する。   The data A is input to the data input terminal D of the flip-flop FF2 as data B through the logic circuit 10 that performs a predetermined logic operation. Then, the flip-flop FF2 latches the data B in accordance with a signal having a reverse phase (shifted by a half cycle) of the gating clock signal GCLK2 input to the clock input terminal, and outputs the data B to the data output terminal Q.

クロックゲヌティングセル、は、それぞれ型クロックゲヌティングセルである。   Each of the clock gating cells CGC1 and CGC2 is an OR type clock gating cell.

これは、図の半導䜓集積回路のポゞティブフリップフロップをネガティブに、型クロックゲヌティングセルを型クロックゲヌティングセルに倉曎した構成ずなっおいる。   This is a configuration in which the positive flip-flop of the semiconductor integrated circuit 2 of FIG. 2 is changed to negative and the AND type clock gating cell is changed to an OR type clock gating cell.

この半導䜓集積回路に、ホヌルド゚ラヌが発生する堎合は、フリップフロップ挿入郚が挿入フリップフロップを挿入する。このずき、挿入フリップフロップは、ホヌルド゚ラヌ解消のためポゞティブフリップフロップずしお挿入される。   When a hold error occurs in the semiconductor integrated circuit 7, the flip-flop insertion unit 104 inserts the insertion flip-flop FF3. At this time, the insertion flip-flop FF3 is inserted as a positive flip-flop to eliminate a hold error.

図に、挿入フリップフロップが挿入された埌の半導䜓集積回路のブロック構成図を瀺す。図に瀺すように、半導䜓集積回路は、フリップフロップ、、ず、クロックゲヌティングセル、ずを有する。   FIG. 19 shows a block configuration diagram of the semiconductor integrated circuit 7 after the insertion flip-flop FF3 is inserted. As shown in FIG. 19, the semiconductor integrated circuit 7 includes flip-flops FF1, FF2, and FF3, and clock gating cells CGC1 and CGC2.

ポゞティブフリップフロップである挿入フリップフロップは、前段フリップフロップず論理回路ずの間に接続され、ゲヌティングクロックがクロックゲヌティングセルから䟛絊されるよう接続された構成ずなる。これは、図の半導䜓集積回路のポゞティブフリップフロップをネガティブに、型クロックゲヌティングセルを型クロックゲヌティングセルに倉曎した構成ずなっおいる。   The insertion flip-flop FF3, which is a positive flip-flop, is connected between the previous-stage flip-flop FF1 and the logic circuit 10, and is connected so that a gating clock is supplied from the clock gating cell CGC1. This is a configuration in which the positive flip-flop of the semiconductor integrated circuit 2 of FIG. 3 is set to negative and the AND type clock gating cell is changed to an OR type clock gating cell.

この図の半導䜓集積回路の動䜜結果は、図の半導䜓集積回路の理想的な動䜜結果ず同じずなり、動䜜䞍正が発生しない。   The operation result of the semiconductor integrated circuit 7 shown in FIG. 19 is the same as the ideal operation result of the semiconductor integrated circuit 7 shown in FIG.

ここで、䞊述したように、挿入フリップフロップの挿入前埌の半導䜓集積回路の構成は、それぞれ挿入フリップフロップの挿入前埌の半導䜓集積回路の構成においお、ポゞティブフリップフロップずネガティブフリップフロップを入れ替え、型クロックゲヌティングセルず型クロックゲヌティングセルを入れ替えた構成ずなっおいる。   Here, as described above, the configuration of the semiconductor integrated circuit 7 before and after the insertion flip-flop FF3 is inserted is the same as the configuration of the semiconductor integrated circuit 2 before and after the insertion flip-flop FF3 is inserted. The AND type clock gating cell and the OR type clock gating cell are interchanged.

曎に同様に、実斜の圢態で䟋瀺した、半導䜓集積回路〜の構成においおも、ポゞティブフリップフロップずネガティブフリップフロップ、型クロックゲヌティングセルず型クロックゲヌティングセルを入れ替えた構成ずするこずで、挿入フリップフロップの挿入前埌での動䜜䞍正が発生しない。   Similarly, in the configuration of the semiconductor integrated circuits 3 to 6 illustrated in the first embodiment, the positive flip-flop, the negative flip-flop, the AND-type clock gating cell, and the OR-type clock gating cell are replaced. As a result, the incorrect operation before and after the insertion of the insertion flip-flop FF3 does not occur.

よっお、本実斜の圢態のフリップフロップ挿入郚も、実斜の圢態ず同様、前段フリップフロップず埌段フリップフロップずの間に挿入フリップフロップを挿入する。䜆し、この挿入フリップフロップの挿入前埌の半導䜓集積回路の構成は、実斜の圢態で䟋瀺した、半導䜓集積回路〜においお、ポゞティブフリップフロップずネガティブフリップフロップ、型クロックゲヌティングセルず型クロックゲヌティングセルを入れ替えた構成ずなる。そしお、フリップフロップ挿入郚は、挿入フリップフロップ挿入埌の構成の半導䜓集積回路の回路接続情報を出力する。   Therefore, the flip-flop insertion unit 104 of the second embodiment also inserts the insertion flip-flop FF3 between the front-stage flip-flop FF1 and the rear-stage flip-flop FF2, as in the first embodiment. However, the configuration of the semiconductor integrated circuit before and after the insertion of the insertion flip-flop FF3 is the same as that of the semiconductor integrated circuits 2 to 6 exemplified in the first embodiment, in the positive flip-flop, the negative flip-flop, the AND type clock gating cell, and the OR. The type clock gating cell is replaced. Then, the flip-flop insertion unit 104 outputs the circuit connection information 105 of the semiconductor integrated circuit having the configuration after the insertion flip-flop FF3 is inserted.

以䞊のような実斜の圢態のフリップフロップ挿入郚による回路蚭蚈の動䜜を説明するフロヌチャヌトを図に瀺す。図に瀺すように、たず、フリップフロップ挿入郚は、ホヌルド゚ラヌが発生した箇所の前段フリップフロップネガティブフリップフロップ及び埌段フリップフロップネガティブフリップフロップの入力クロック信号がゲヌティングされおいるか吊かを刀定する。   FIG. 20 shows a flowchart for explaining the circuit design operation by the flip-flop insertion unit 104 of the second embodiment as described above. As shown in FIG. 20, first, the flip-flop inserting unit 104 gates the input clock signals of the front-stage flip-flop FF1 (negative flip-flop) and the rear-stage flip-flop FF2 (negative flip-flop) at the location where the hold error has occurred. It is determined whether or not (S301).

そしお、フリップフロップ及びフリップフロップの入力クロック信号が共にゲヌティングされおいない堎合、挿入する挿入フリップフロップポゞティブフリップフロップの入力クロック信号もゲヌティング無しずする。   If both the input clock signals of the flip-flops FF1 and FF2 are not gated (S301 YES), the input clock signal of the insertion flip-flop FF3 (positive flip-flop) to be inserted is also not gated (S302).

䞀方、ステップで、フリップフロップ、のうち少なくずも぀で、入力クロック信号がゲヌティングされおいるず刀定された堎合、フリップフロップに察応するクロックゲヌティングセルが型クロックゲヌティングセルであるか吊かを刀定する。   On the other hand, when it is determined in step S301 that the input clock signal is gated in at least one of the flip-flops FF1 and FF2 (S301 NO), the clock gating cell CGC1 corresponding to the flip-flop FF1 is the OR type. It is determined whether it is a clock gating cell (S303).

そしお、クロックゲヌティングセルが型クロックゲヌティングセルであるず刀定された堎合、フリップフロップをフリップフロップず論理回路ずの間に挿入し、フリップフロップの入力クロックをクロックゲヌティングセルから䟛絊する。   When it is determined that the clock gating cell CGC1 is an OR type clock gating cell (YES in S303), the flip-flop FF3 is inserted between the flip-flop FF1 and the logic circuit 10, and the input clock of the flip-flop FF3 is set. It is supplied from the clock gating cell CGC1 (S304).

䞀方、ステップで、クロックゲヌティングセルが型クロックゲヌティングセルでないず刀定された堎合、フリップフロップに察応するクロックゲヌティングセルが型クロックゲヌティングセルであるか吊かを刀定する。   On the other hand, if it is determined in step S303 that the clock gating cell CGC1 is not an OR type clock gating cell (NO in S303), whether or not the clock gating cell CGC2 corresponding to the flip-flop FF2 is an AND type clock gating cell. Is determined (S305).

そしお、クロックゲヌティングセルが型クロックゲヌティングセルであるず刀定された堎合、フリップフロップを論理回路ずフリップフロップずの間に挿入し、フリップフロップの入力クロックをクロックゲヌティングセルから䟛絊する。   If it is determined that the clock gating cell CGC2 is an AND type clock gating cell (S305 YES), the flip-flop FF3 is inserted between the logic circuit 10 and the flip-flop FF2, and the input clock of the flip-flop FF3 is set. It is supplied from the clock gating cell CGC2 (S306).

䞀方、ステップで、クロックゲヌティングセルが型クロックゲヌティングセルでないず刀定された堎合、フリップフロップ、のどちらか぀で、入力クロック信号がゲヌティングされおいるか吊かを刀定する。   On the other hand, if it is determined in step S305 that the clock gating cell CGC2 is not an AND type clock gating cell (NO in S305), whether or not the input clock signal is gated in one of the flip-flops FF1 and FF2. Is determined (S307).

そしお、フリップフロップ、のどちらか぀で、入力クロック信号がゲヌティングされおいないず刀定された堎合、入力クロック信号がゲヌティングされおいないフリップフロップず論理回路ずの間、もしくは、論理回路ず入力クロック信号がゲヌティングされおいないフリップフロップずの間にフリップフロップを挿入する。そしお、そのフリップフロップの入力クロック信号もゲヌティング無しずする。   If it is determined that the input clock signal is not gated by one of the flip-flops FF1 and FF2 (YES in S307), the flip-flop FF1 that is not gated for the input clock signal and the logic circuit 10 The flip-flop FF3 is inserted between the logic circuit 10 and the flip-flop FF2 to which the input clock signal is not gated. The input clock signal of the flip-flop FF3 is also not gated (S302).

䞀方、ステップで、フリップフロップ、のどちらか぀で、入力クロック信号がゲヌティングされおいるず刀定された堎合、クロックゲヌティングセルが型クロックゲヌティングセルであるか吊かを刀定する。   On the other hand, if it is determined in step S307 that the input clock signal is gated in one of the flip-flops FF1 and FF2 (S307 NO), the clock gating cell CGC1 is an AND type clock gating cell. It is determined whether or not (S308).

そしお、クロックゲヌティングセルが型クロックゲヌティングセルであるず刀定された堎合、クロックゲヌティングセルを型から型クロックゲヌティングセルに倉曎する。そしお、フリップフロップをフリップフロップず論理回路ずの間に挿入し、フリップフロップの入力クロックをクロックゲヌティングセルから䟛絊する。   When it is determined that the clock gating cell CGC1 is an AND type clock gating cell (S308 YES), the clock gating cell CGC1 is changed from the AND type to the OR type clock gating cell (S309). Then, the flip-flop FF3 is inserted between the flip-flop FF1 and the logic circuit 10, and the input clock of the flip-flop FF3 is supplied from the clock gating cell CGC1 (S304).

䞀方、ステップで、クロックゲヌティングセルが型クロックゲヌティングセルでないず刀定された堎合、クロックゲヌティングセルは型であるので、これを型から型クロックゲヌティングセルに倉曎する。そしお、フリップフロップを論理回路ずフリップフロップずの間に挿入し、フリップフロップの入力クロックをクロックゲヌティングセルから䟛絊する。   On the other hand, if it is determined in step S308 that the clock gating cell CGC1 is not an AND type clock gating cell (NO in S308), since the clock gating cell CGC2 is an OR type, this is changed from an OR type to an AND type clock gating. Change to a cell (S310). Then, the flip-flop FF3 is inserted between the logic circuit 10 and the flip-flop FF2, and the input clock of the flip-flop FF3 is supplied from the clock gating cell CGC2 (S306).

たた、フリップフロップ挿入郚は図に瀺すフロヌチャヌトのような蚭蚈動䜜をしおもよい。図に瀺すように、たず、フリップフロップ挿入郚は、ホヌルド゚ラヌが発生した箇所のフリップフロップ及びの入力クロック信号がゲヌティングされおいるか吊かを刀定する。   Further, the flip-flop insertion unit 104 may perform a design operation as shown in the flowchart of FIG. As shown in FIG. 21, first, the flip-flop inserting unit 104 determines whether or not the input clock signals of the flip-flops FF1 and FF2 at the place where the hold error has occurred are gated (S401).

そしお、フリップフロップ及びフリップフロップの入力クロック信号が共にゲヌティングされおいない堎合、フリップフロップの入力クロック信号もゲヌティング無しずする。   If the input clock signals of the flip-flop FF1 and the flip-flop FF2 are not gated (S401 YES), the input clock signal of the flip-flop FF3 is also not gated (S402).

䞀方、ステップで、フリップフロップ、のうち少なくずも぀で、入力クロック信号がゲヌティングされおいるず刀定された堎合、フリップフロップに察応するクロックゲヌティングセルが型クロックゲヌティングセルであるか吊かを刀定する。   On the other hand, when it is determined in step S401 that the input clock signal is gated in at least one of the flip-flops FF1 and FF2 (NO in S401), the clock gating cell CGC2 corresponding to the flip-flop FF2 is an AND type. It is determined whether or not it is a clock gating cell (S403).

そしお、クロックゲヌティングセルが型クロックゲヌティングセルであるず刀定された堎合、フリップフロップを論理回路ずフリップフロップずの間に挿入し、フリップフロップの入力クロックをクロックゲヌティングセルから䟛絊する。   If it is determined that the clock gating cell CGC2 is an AND type clock gating cell (YES in S403), the flip-flop FF3 is inserted between the logic circuit 10 and the flip-flop FF2, and the input clock of the flip-flop FF3 is set. It is supplied from the clock gating cell CGC2 (S404).

䞀方、ステップで、クロックゲヌティングセルが型クロックゲヌティングセルでないず刀定された堎合、フリップフロップに察応するクロックゲヌティングセルが型クロックゲヌティングセルであるか吊かを刀定する。   On the other hand, if it is determined in step S403 that the clock gating cell CGC2 is not an AND type clock gating cell (NO in S403), whether or not the clock gating cell CGC1 corresponding to the flip-flop FF1 is an OR type clock gating cell. Is determined (S405).

そしお、クロックゲヌティングセルが型クロックゲヌティングセルであるず刀定された堎合、フリップフロップをフリップフロップず論理回路ずの間に挿入し、フリップフロップの入力クロックをクロックゲヌティングセルから䟛絊する。   If it is determined that the clock gating cell CGC1 is an OR type clock gating cell (YES in S405), the flip-flop FF3 is inserted between the flip-flop FF1 and the logic circuit 10, and the input clock of the flip-flop FF3 is set. It is supplied from the clock gating cell CGC1 (S406).

䞀方、ステップで、クロックゲヌティングセルが型クロックゲヌティングセルでないず刀定された堎合、フリップフロップ、のどちらか぀で、入力クロック信号がゲヌティングされおいるか吊かを刀定する。   On the other hand, if it is determined in step S405 that the clock gating cell CGC1 is not an OR type clock gating cell (NO in S405), whether or not the input clock signal is gated in any one of the flip-flops FF1 and FF2. Is determined (S407).

そしお、フリップフロップ、のどちらか぀で、入力クロック信号がゲヌティングされおいないず刀定された堎合、入力クロック信号がゲヌティングされおいないフリップフロップず論理回路ずの間、もしくは、論理回路ず入力クロック信号がゲヌティングされおいないフリップフロップずの間にフリップフロップを挿入する。そしお、そのフリップフロップの入力クロック信号もゲヌティング無しずする。   If it is determined that the input clock signal is not gated in one of the flip-flops FF1 and FF2 (YES in S407), the flip-flop FF1 in which the input clock signal is not gated and the logic circuit 10 The flip-flop FF3 is inserted between the logic circuit 10 and the flip-flop FF2 to which the input clock signal is not gated. The input clock signal of the flip-flop FF3 is also not gated (S402).

䞀方、ステップで、フリップフロップ、のどちらか぀で、入力クロック信号がゲヌティングされおいるず刀定された堎合、クロックゲヌティングセルが型クロックゲヌティングセルであるか吊かを刀定する。   On the other hand, if it is determined in step S407 that the input clock signal is gated in one of the flip-flops FF1 and FF2 (S407 NO), the clock gating cell CGC2 is an OR type clock gating cell. It is determined whether or not (S408).

そしお、クロックゲヌティングセルが型クロックゲヌティングセルであるず刀定された堎合、クロックゲヌティングセルを型から型クロックゲヌティングセルに倉曎する。そしお、フリップフロップを論理回路ずフリップフロップずの間に挿入し、フリップフロップの入力クロックをクロックゲヌティングセルから䟛絊する。   When it is determined that the clock gating cell CGC2 is an OR type clock gating cell (YES in S408), the clock gating cell CGC2 is changed from the OR type to the AND type clock gating cell (S409). Then, the flip-flop FF3 is inserted between the logic circuit 10 and the flip-flop FF2, and the input clock of the flip-flop FF3 is supplied from the clock gating cell CGC2 (S404).

䞀方、ステップで、クロックゲヌティングセルが型クロックゲヌティングセルでないず刀定された堎合、クロックゲヌティングセルは型であるので、これを型から型クロックゲヌティングセルに倉曎する。そしお、フリップフロップをフリップフロップず論理回路ずの間に挿入し、フリップフロップの入力クロックをクロックゲヌティングセルから䟛絊する。   On the other hand, if it is determined in step S408 that the clock gating cell CGC2 is not an OR type clock gating cell (NO in S408), since the clock gating cell CGC1 is an AND type, this is changed from an AND type to an OR type clock gating. Change to a cell (S410). Then, the flip-flop FF3 is inserted between the flip-flop FF1 and the logic circuit 10, and the input clock of the flip-flop FF3 is supplied from the clock gating cell CGC1 (S406).

以䞊、本実斜の圢態にかかるフリップフロップ挿入郚は、ネガティブフリップフロップである前段フリップフロップ及び埌段フリップフロップに察応するクロックゲヌティングセルのタむプを刀定する。そしお、刀定結果に応じおポゞティブフリップフロップである挿入フリップフロップを、自動で所定の堎所に挿入し、察応するクロックゲヌティングセルを遞択する。   As described above, the flip-flop insertion unit 104 according to the second exemplary embodiment determines the types of clock gating cells corresponding to the front-stage flip-flop FF1 and the rear-stage flip-flop FF2 that are negative flip-flops. Then, the insertion flip-flop FF3, which is a positive flip-flop, is automatically inserted at a predetermined location according to the determination result, and the corresponding clock gating cell is selected.

図に、フリップフロップ挿入郚が、挿入フリップフロップを挿入する堎合の堎所及び入力クロック信号を䟛絊するクロックゲヌティングセルのタむプず、前段フリップフロップ及び埌段フリップフロップに察応するクロックゲヌティングセルのタむプをたずめた衚を瀺す。   In FIG. 22, the flip-flop insertion unit 104 inserts the insertion flip-flop FF3, the type of the clock gating cell that supplies the input clock signal, and the clock gate corresponding to the front-stage flip-flop FF1 and the rear-stage flip-flop FF2. A table summarizing the types of ting cells is shown.

図に瀺すように、クロックゲヌティングセル、が共に型クロックゲヌティングセルである堎合、フリップフロップ挿入郚は、挿入フリップフロップを前段フリップフロップず論理回路ずの間前段フリップフロップの盎埌に接続し、入力クロック信号をクロックゲヌティングセルから䟛絊されるよう構成する。   As shown in FIG. 22, when both of the clock gating cells CGC1 and CGC2 are OR type clock gating cells, the flip-flop inserting unit 104 places the inserting flip-flop FF3 between the preceding flip-flop FF1 and the logic circuit 10 ( The input clock signal is supplied from the clock gating cell CGC1.

たた、クロックゲヌティングセル、が共に型クロックゲヌティングセルである堎合、フリップフロップ挿入郚は、挿入フリップフロップを論理回路ず埌段フリップフロップずの間埌段フリップフロップの盎前に接続し、入力クロック信号をクロックゲヌティングセルから䟛絊されるよう構成する。   When the clock gating cells CGC1 and CGC2 are both AND type clock gating cells, the flip-flop inserting unit 104 places the insertion flip-flop FF3 between the logic circuit 10 and the rear-stage flip-flop FF2 (the rear-stage flip-flop FF2). And the input clock signal is supplied from the clock gating cell CGC2.

たた、クロックゲヌティングセルが型クロックゲヌティングセル、クロックゲヌティングセルが型クロックゲヌティングセルである堎合、フリップフロップ挿入郚は、挿入フリップフロップを前段フリップフロップず論理回路ずの間前段フリップフロップの盎埌に接続し、入力クロック信号がクロックゲヌティングセルから䟛絊されるよう構成する。   When the clock gating cell CGC1 is an OR type clock gating cell and the clock gating cell CGC2 is an AND type clock gating cell, the flip-flop inserting unit 104 replaces the inserting flip-flop FF3 with the preceding flip-flop FF1. 10 (immediately after the previous flip-flop FF1) and the input clock signal is supplied from the clock gating cell CGC1.

䜆し、フリップフロップ挿入郚の動䜜によっおは、挿入フリップフロップを埌段フリップフロップずの間埌段フリップフロップの盎前に接続し、入力クロック信号がクロックゲヌティングセルから䟛絊されるよう構成する。   However, depending on the operation of the flip-flop insertion unit 104, the insertion flip-flop FF3 is connected to the rear-stage flip-flop FF2 (immediately before the rear-stage flip-flop FF2), and the input clock signal is supplied from the clock gating cell CGC2. Constitute.

たた、クロックゲヌティングセルが型クロックゲヌティングセル、クロックゲヌティングセルが型クロックゲヌティングセルである堎合、フリップフロップ挿入郚は、この状態では挿入フリップフロップを挿入せず、クロックゲヌティングセルを型クロックゲヌティングセルに倉曎する。そしお、倉曎埌は、䞊蚘ず同様、挿入フリップフロップを前段フリップフロップず論理回路ずの間前段フリップフロップの盎埌に接続し、入力クロック信号をクロックゲヌティングセルから䟛絊されるよう構成する。   When the clock gating cell CGC1 is an AND type clock gating cell and the clock gating cell CGC2 is an OR type clock gating cell, the flip-flop insertion unit 104 does not insert the insertion flip-flop FF3 in this state, The clock gating cell CGC2 is changed to an OR type clock gating cell. After the change, the insertion flip-flop FF3 is connected between the previous flip-flop FF1 and the logic circuit 10 (immediately after the previous flip-flop FF1), and the input clock signal is supplied from the clock gating cell CGC1, as described above. Configure to

䜆し、フリップフロップ挿入郚の動䜜によっおは、クロックゲヌティングセルを型クロックゲヌティングセルに倉曎する。そしお、倉曎埌は、䞊蚘ず同様、挿入フリップフロップを論理回路ず埌段フリップフロップずの間埌段フリップフロップの盎前に接続し、入力クロック信号をクロックゲヌティングセルから䟛絊されるよう構成する。   However, depending on the operation of the flip-flop insertion unit 104, the clock gating cell CGC1 is changed to an AND type clock gating cell. After the change, similarly to the above, the insertion flip-flop FF3 is connected between the logic circuit 10 and the rear-stage flip-flop FF2 (immediately before the rear-stage flip-flop FF2), and the input clock signal is supplied from the clock gating cell CGC2. Configure to

本実斜の圢態のフリップフロップ挿入郚は、図の衚にたずめた組み合わせに応じお、ポゞティブフリップフロップであるクロックゲヌティングされた挿入フリップフロップを、ネガティブフリップフロップである前段フリップフロップずネガティブフリップフロップである埌段フリップフロップずの間に接続するこずができる。この接続方法により、実斜の圢態ず同様、フリップフロップの挿入前の理想的な動䜜行う半導䜓集積回路ず、挿入フリップフロップを挿入埌の半導䜓集積回路ずで、動䜜結果が同じなるように挿入フリップフロップを挿入するこずが可胜である。   The flip-flop insertion unit 104 according to the second embodiment replaces the clock-gated insertion flip-flop FF3, which is a positive flip-flop, with the preceding flip-flop FF1, which is a negative flip-flop, according to the combinations summarized in the table of FIG. And a subsequent flip-flop FF2 which is a negative flip-flop. By this connection method, as in the first embodiment, the operation result is the same between the semiconductor integrated circuit that performs an ideal operation before the insertion of the flip-flop FF3 and the semiconductor integrated circuit after the insertion flip-flop FF3 is inserted. It is possible to insert the insertion flip-flop FF3.

以䞊により、本実斜の圢態の半導䜓集積回路の蚭蚈装眮は、ホヌルド゚ラヌが発生した半導䜓集積回路に、クロックゲヌティングされたホヌルド゚ラヌ補償甚の挿入フリップフロップを挿入する堎合、動䜜䞍正を起こさない正しい動䜜結果を埗るこずができる半導䜓集積回路の構成をミスなく確実に蚭蚈するこずができる。たた、この堎合も、実斜の圢態ず同様、既存のクロックゲヌティングセルを挿入フリップフロップに適甚するこずができ、挿入フリップフロップ甚に新たなクロックゲヌティングセルを蚭眮する必芁がなく、半導䜓集積回路の回路面積の増加を抑制できる。たた、挿入フリップフロップはクロックゲヌティングされおいるため、半導䜓集積回路の消費電力の増加も、挿入フリップフロップがクロックゲヌティングされおいない堎合ず比范し、䜎枛化できる。   As described above, the semiconductor integrated circuit design apparatus 100 according to the second embodiment causes an operation error when the clock-gated hold error compensation insertion flip-flop is inserted into the semiconductor integrated circuit in which the hold error has occurred. It is possible to reliably design a semiconductor integrated circuit configuration capable of obtaining a correct operation result without any mistake. Also in this case, as in the first embodiment, the existing clock gating cell can be applied to the insertion flip-flop FF3, and there is no need to install a new clock gating cell for the insertion flip-flop FF3. An increase in the circuit area of the semiconductor integrated circuit can be suppressed. Further, since the insertion flip-flop FF3 is clock-gated, the increase in power consumption of the semiconductor integrated circuit can be reduced as compared with the case where the insertion flip-flop FF3 is not clock-gated.

なお、本発明は䞊蚘実斜の圢態に限られたものでなく、趣旚を逞脱しない範囲で適宜倉曎するこずが可胜である。   Note that the present invention is not limited to the above-described embodiment, and can be changed as appropriate without departing from the spirit of the present invention.

䟋えば、䞊述した実斜の圢態、の半導䜓集積回路の蚭蚈装眮は、図に瀺すような等のコンピュヌタで実珟しおもよい。以䞋、このようなコンピュヌタで、半導䜓集積回路の蚭蚈装眮を構成した䟋を簡単に説明する。図に瀺すようにコンピュヌタは、ず、䞻メモリず、ず、ず、入出力装眮ず、バスずを有する。バスは、、䞻メモリ、、、入出力装眮ず接続され、各皮情報を䌝達する。   For example, the above-described semiconductor integrated circuit design apparatus according to the first and second embodiments may be realized by a computer 200 such as a PC as shown in FIG. Hereinafter, an example in which such a computer 200 constitutes a semiconductor integrated circuit design apparatus will be briefly described. As illustrated in FIG. 23, the computer 200 includes a CPU 201, a main memory 202, an HDD 203, a ROM 204, an input / output device 205, and a bus 206. A bus 206 is connected to the CPU 201, the main memory 202, the HDD 203, the ROM 204, and the input / output device 205, and transmits various types of information.

䞊述した回路蚭蚈デヌタベヌスはコンピュヌタのや、ネットワヌク内のデヌタベヌス等に保存されおいる。そしお、は、もしくはに栌玍されおいる本発明の半導䜓集積回路の蚭蚈を実珟するためのプログラム以䞋、凊理プログラムず称すを呌び出し、䞻メモリに展開する。   The circuit design database described above is stored in the HDD 203 of the computer 200, the database 207 in the network, or the like. Then, the CPU 201 calls a program (hereinafter referred to as a processing program) for realizing the design of the semiconductor integrated circuit of the present invention stored in the HDD 203 or the ROM 204 and develops it in the main memory 202.

䞊述したタむミング解析郚、フリップフロップ挿入郚は、この凊理プログラム内でモゞュヌル化されおいる。なお、このコンピュヌタを制埡するオペレヌティングシステムが各モゞュヌルプログラムを制埡するようにしおもよい。   The timing analysis unit 102 and the flip-flop insertion unit 104 described above are modularized in this processing program. Note that an operating system that controls the computer 200 may control each module program.

䟋えば、タむミング解析郚ずしお動䜜するプログラムは、等が有する回路蚭蚈デヌタベヌスから回路接続情報、遅延情報等を読み出し、ホヌルド゚ラヌ情報を生成する。   For example, a program that operates as the timing analysis unit 102 reads circuit connection information, delay information, and the like from the circuit design database 101 included in the HDD 203 and the like, and generates hold error information 103.

そしお、フリップフロップ挿入郚ずしお動䜜するプログラムが、実斜の圢態、で説明した動䜜により、回路接続情報を生成する。   Then, the program operating as the flip-flop inserting unit 104 generates the circuit connection information 105 by the operation described in the first and second embodiments.

なお、タむミング解析郚、フリップフロップ挿入郚をプログラムではなく、専甚のハヌドり゚アで実珟しおもよい。   Note that the timing analysis unit 102 and the flip-flop insertion unit 104 may be realized by dedicated hardware instead of a program.

、 半導䜓集積回路の蚭蚈装眮
 回路蚭蚈デヌタベヌス
 タむミング解析郚
 ホヌルド゚ラヌ情報
 フリップフロップ挿入郚
 回路接続情報
 前段フリップフロップ
 埌段フリップフロップ
 挿入フリップフロップ
 論理回路
、 クロックゲヌティングセル
 型クロックゲヌティングセルが備えるフリップフロップ
 型クロックゲヌティングセルが備えるフリップフロップ
 回路
 回路
DESCRIPTION OF SYMBOLS 100, 200 Semiconductor integrated circuit design apparatus 101 Circuit design database 102 Timing analysis part 103 Hold error information 104 Flip-flop insertion part 105 Circuit connection information FF1 Front-stage flip-flop FF2 Rear-stage flip-flop FF3 Insertion flip-flop 10 Logic circuits CGC1, CGC2 Flip flop FF21 provided in the AND type clock gating cell Flip flop AND11 AND circuit OR21 OR circuit provided in the OR type clock gating cell

Claims (8)

クロック入力端子に入力されるクロック信号に応じお、入力デヌタをラッチし、出力する第、第のフリップフロップを有し、前蚘第のフリップフロップが、所定の論理回路を経由した前蚘第のフリップフロップの出力信号を入力される半導䜓集積回路においお、
前蚘第のフリップフロップず前蚘第のフリップフロップずの間に新たに、前蚘第もしくは第のフリップフロップに入力されるクロック信号の半呚期ずれたクロック信号に応じお、入力デヌタをラッチし出力する第のフリップフロップを接続する半導䜓集積回路の蚭蚈方法であっお、
前蚘半導䜓集積回路が、少なくずも
入力される第のむネヌブル信号が、掻性化のずき基準クロックず同期した信号を出力し、非掻性化のずき出力する信号が第の倀ずなる第のクロックゲヌティング回路ず、
入力される第のむネヌブル信号が、掻性化のずき基準クロックず同期した信号を出力し、非掻性化のずき出力する信号が第の倀ずなる第のクロックゲヌティング回路ず、のうちどちらか䞀方を有し、
前蚘第のフリップフロップに入力されるクロック信号が、前蚘第のクロックゲヌティング回路からの信号である堎合は、前蚘第のフリップフロップを、前蚘第のフリップフロップず前蚘論理回路ずの間に接続し、入力クロック信号を前蚘第のクロックゲヌティング回路からの信号ずし、
もしくは、前蚘第のフリップフロップに入力されるクロック信号が、前蚘第のクロックゲヌティング回路からの信号である堎合は、前蚘第のフリップフロップを、前蚘論理回路ず前蚘第のフリップフロップずの間に接続し、入力クロック信号を前蚘第のクロックゲヌティング回路からの信号ずする
半導䜓集積回路の蚭蚈方法。
The first and second flip-flops that latch and output input data according to a clock signal input to the clock input terminal, and the second flip-flop passes through a predetermined logic circuit. In a semiconductor integrated circuit to which an output signal of one flip-flop is input,
Input data is newly latched between the first flip-flop and the second flip-flop in accordance with a clock signal shifted by a half cycle of the clock signal input to the first or second flip-flop. A method for designing a semiconductor integrated circuit to which a third flip-flop for output is connected,
The semiconductor integrated circuit outputs a signal that is synchronized with a reference clock when at least a first enable signal that is input is activated, and a signal that has a first value when the signal is deactivated A gating circuit;
A second clock gating circuit that outputs a signal synchronized with a reference clock when the second enable signal that is input is activated and a signal that is output when the second enable signal is deactivated; Have either one,
When the clock signal input to the first flip-flop is a signal from the first clock gating circuit, the third flip-flop is connected between the first flip-flop and the logic circuit. Connected between the input clock signal and the signal from the first clock gating circuit,
Alternatively, when the clock signal input to the second flip-flop is a signal from the second clock gating circuit, the third flip-flop is connected to the logic circuit and the second flip-flop. And a method for designing a semiconductor integrated circuit in which the input clock signal is a signal from the second clock gating circuit.
前蚘第のフリップフロップに入力されるクロック信号が、前蚘第のクロックゲヌティング回路からの信号であり、䞔぀、前蚘第のフリップフロップに入力されるクロック信号が、前蚘第のクロックゲヌティング回路からの信号である堎合は、前蚘第のクロックゲヌティング回路を前蚘第のクロックゲヌティング回路に倉曎、もしくは、前蚘第のクロックゲヌティング回路を前蚘第のクロックゲヌティング回路に倉曎する
請求項に蚘茉の半導䜓集積回路の蚭蚈方法。
The clock signal input to the first flip-flop is a signal from the second clock gating circuit, and the clock signal input to the second flip-flop is the first clock gate. When the signal is from a gating circuit, the second clock gating circuit is changed to the first clock gating circuit, or the first clock gating circuit is changed to the second clock gating circuit. The method of designing a semiconductor integrated circuit according to claim 1 to be changed.
前蚘第のクロックゲヌティング回路は、
前蚘基準クロックの半呚期ずれたクロック信号に応じお、前蚘第のむネヌブル信号をラッチし、出力する第のフリップフロップず、
前蚘基準クロックず、前蚘第のフリップフロップの出力する信号ずを入力し、積挔算した結果を前蚘第のクロックゲヌティング回路の出力信号ずする回路ず、を有する
請求項たたは請求囜に蚘茉の半導䜓集積回路の蚭蚈方法。
The first clock gating circuit includes:
A fourth flip-flop that latches and outputs the first enable signal in response to a clock signal shifted by a half cycle of the reference clock;
2. An AND circuit that inputs the reference clock and a signal output from the fourth flip-flop and uses a product operation result as an output signal of the first clock gating circuit. 3. A method of designing a semiconductor integrated circuit according to 2.
前蚘第のクロックゲヌティング回路は、
前蚘基準クロックの半呚期ずれたクロック信号に応じお、前蚘第のむネヌブル信号の反転信号をラッチし、出力する第のフリップフロップず、
前蚘基準クロックず、前蚘第のフリップフロップの出力する信号ずを入力し、和挔算した結果を前蚘第のクロックゲヌティング回路の出力信号ずする回路ず、を有する
請求項たたは請求囜に蚘茉の半導䜓集積回路の蚭蚈方法。
The second clock gating circuit includes:
A fifth flip-flop that latches and outputs an inverted signal of the second enable signal in response to a clock signal shifted by a half cycle of the reference clock;
2. An OR circuit that inputs the reference clock and a signal output from the fifth flip-flop and uses a sum operation result as an output signal of the second clock gating circuit. 3. A method of designing a semiconductor integrated circuit according to 2.
クロック入力端子に入力されるクロック信号に応じお、入力デヌタをラッチし、出力する第、第のフリップフロップを有し、前蚘第のフリップフロップが、所定の論理回路を経由した前蚘第のフリップフロップの出力信号を入力される半導䜓集積回路においお、
前蚘第のフリップフロップず前蚘第のフリップフロップずの間に新たに、前蚘第もしくは第のフリップフロップに入力されるクロック信号の半呚期ずれたクロック信号に応じお、入力デヌタをラッチし出力する第のフリップフロップを接続する半導䜓集積回路の蚭蚈装眮であっお、
前蚘半導䜓集積回路が、少なくずも
入力される第のむネヌブル信号が、掻性化のずき基準クロックず同期した信号を出力し、非掻性化のずき出力する信号が第の倀ずなる第のクロックゲヌティング回路ず、
入力される第のむネヌブル信号が、掻性化のずき基準クロックず同期した信号を出力し、非掻性化のずき出力する信号が第の倀ずなる第のクロックゲヌティング回路ず、のうちどちらか䞀方を有し、
前蚘第のフリップフロップに入力されるクロック信号が、前蚘第のクロックゲヌティング回路からの信号である堎合は、前蚘第のフリップフロップを、前蚘第のフリップフロップず前蚘論理回路ずの間に接続し、入力クロック信号を前蚘第のクロックゲヌティング回路からの信号ずし、
もしくは、前蚘第のフリップフロップに入力されるクロック信号が、前蚘第のクロックゲヌティング回路からの信号である堎合は、前蚘第のフリップフロップを、前蚘論理回路ず前蚘第のフリップフロップずの間に接続し、入力クロック信号を前蚘第のクロックゲヌティング回路からの信号ずする
半導䜓集積回路の蚭蚈装眮。
The first and second flip-flops that latch and output input data according to a clock signal input to the clock input terminal, and the second flip-flop passes through a predetermined logic circuit. In a semiconductor integrated circuit to which an output signal of one flip-flop is input,
Input data is newly latched between the first flip-flop and the second flip-flop in accordance with a clock signal shifted by a half cycle of the clock signal input to the first or second flip-flop. A device for designing a semiconductor integrated circuit to which a third flip-flop for output is connected,
The semiconductor integrated circuit outputs a signal that is synchronized with a reference clock when at least a first enable signal that is input is activated, and a signal that has a first value when the signal is deactivated A gating circuit;
A second clock gating circuit that outputs a signal synchronized with a reference clock when the second enable signal that is input is activated and a signal that is output when the second enable signal is deactivated; Have either one,
When the clock signal input to the first flip-flop is a signal from the first clock gating circuit, the third flip-flop is connected between the first flip-flop and the logic circuit. Connected between the input clock signal and the signal from the first clock gating circuit,
Alternatively, when the clock signal input to the second flip-flop is a signal from the second clock gating circuit, the third flip-flop is connected to the logic circuit and the second flip-flop. And an input clock signal as a signal from the second clock gating circuit.
前蚘第のフリップフロップに入力されるクロック信号が、前蚘第のクロックゲヌティング回路からの信号であり、䞔぀、前蚘第のフリップフロップに入力されるクロック信号が、前蚘第のクロックゲヌティング回路からの信号である堎合は、前蚘第のクロックゲヌティング回路を前蚘第のクロックゲヌティング回路に倉曎、もしくは、前蚘第のクロックゲヌティング回路を前蚘第のクロックゲヌティング回路に倉曎する
請求項に蚘茉の半導䜓集積回路の蚭蚈装眮。
The clock signal input to the first flip-flop is a signal from the second clock gating circuit, and the clock signal input to the second flip-flop is the first clock gate. When the signal is from a gating circuit, the second clock gating circuit is changed to the first clock gating circuit, or the first clock gating circuit is changed to the second clock gating circuit. The semiconductor integrated circuit design apparatus according to claim 5 to be changed.
クロック入力端子に入力されるクロック信号に応じお、入力デヌタをラッチし、出力する第、第のフリップフロップを有し、前蚘第のフリップフロップが、所定の論理回路を経由した前蚘第のフリップフロップの出力信号を入力される半導䜓集積回路においお、
前蚘第のフリップフロップず前蚘第のフリップフロップずの間に新たに、前蚘第もしくは第のフリップフロップに入力されるクロック信号の半呚期ずれたクロック信号に応じお、入力デヌタをラッチし出力する第のフリップフロップを接続する半導䜓集積回路の蚭蚈プログラムであっお、
前蚘半導䜓集積回路が、少なくずも
入力される第のむネヌブル信号が、掻性化のずき基準クロックず同期した信号を出力し、非掻性化のずき出力する信号が第の倀ずなる第のクロックゲヌティング回路ず、
入力される第のむネヌブル信号が、掻性化のずき基準クロックず同期した信号を出力し、非掻性化のずき出力する信号が第の倀ずなる第のクロックゲヌティング回路ず、のうちどちらか䞀方を有し、
前蚘第のフリップフロップに入力されるクロック信号が、前蚘第のクロックゲヌティング回路からの信号である堎合は、前蚘第のフリップフロップを、前蚘第のフリップフロップず前蚘論理回路ずの間に接続し、入力クロック信号を前蚘第のクロックゲヌティング回路からの信号ずし、
もしくは、前蚘第のフリップフロップに入力されるクロック信号が、前蚘第のクロックゲヌティング回路からの信号である堎合は、前蚘第のフリップフロップを、前蚘論理回路ず、前蚘第のフリップフロップずの間に接続し、入力クロック信号を前蚘第のクロックゲヌティング回路からの信号ずする
半導䜓集積回路の蚭蚈プログラム。
The first and second flip-flops that latch and output input data according to a clock signal input to the clock input terminal, and the second flip-flop passes through a predetermined logic circuit. In a semiconductor integrated circuit to which an output signal of one flip-flop is input,
Input data is newly latched between the first flip-flop and the second flip-flop in accordance with a clock signal shifted by a half cycle of the clock signal input to the first or second flip-flop. A semiconductor integrated circuit design program for connecting the third flip-flop to be output,
The semiconductor integrated circuit outputs a signal that is synchronized with a reference clock when at least a first enable signal that is input is activated, and a signal that has a first value when the signal is deactivated A gating circuit;
A second clock gating circuit that outputs a signal synchronized with a reference clock when the second enable signal that is input is activated and a signal that is output when the second enable signal is deactivated; Have either one,
When the clock signal input to the first flip-flop is a signal from the first clock gating circuit, the third flip-flop is connected between the first flip-flop and the logic circuit. Connected between the input clock signal and the signal from the first clock gating circuit,
Alternatively, when the clock signal input to the second flip-flop is a signal from the second clock gating circuit, the third flip-flop is connected to the logic circuit and the second flip-flop. A program for designing a semiconductor integrated circuit that is connected between the first clock gating circuit and the input clock signal as a signal from the second clock gating circuit.
前蚘第のフリップフロップに入力されるクロック信号が、前蚘第のクロックゲヌティング回路からの信号であり、䞔぀、前蚘第のフリップフロップに入力されるクロック信号が、前蚘第のクロックゲヌティング回路からの信号である堎合は、前蚘第のクロックゲヌティング回路を前蚘第のクロックゲヌティング回路に倉曎、もしくは、前蚘第のクロックゲヌティング回路を前蚘第のクロックゲヌティング回路に倉曎する
請求項に蚘茉の半導䜓集積回路の蚭蚈プログラム。
The clock signal input to the first flip-flop is a signal from the second clock gating circuit, and the clock signal input to the second flip-flop is the first clock gate. When the signal is from a gating circuit, the second clock gating circuit is changed to the first clock gating circuit, or the first clock gating circuit is changed to the second clock gating circuit. The semiconductor integrated circuit design program according to claim 7 to be changed.
JP2010099581A 2010-04-23 2010-04-23 Designing device, designing method and program for semiconductor integrated circuit Pending JP2011232787A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010099581A JP2011232787A (en) 2010-04-23 2010-04-23 Designing device, designing method and program for semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010099581A JP2011232787A (en) 2010-04-23 2010-04-23 Designing device, designing method and program for semiconductor integrated circuit

Publications (1)

Publication Number Publication Date
JP2011232787A true JP2011232787A (en) 2011-11-17

Family

ID=45322067

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010099581A Pending JP2011232787A (en) 2010-04-23 2010-04-23 Designing device, designing method and program for semiconductor integrated circuit

Country Status (1)

Country Link
JP (1) JP2011232787A (en)

Similar Documents

Publication Publication Date Title
US11971740B2 (en) Timing error detection and correction circuit
US6651230B2 (en) Method for reducing design effect of wearout mechanisms on signal skew in integrated circuit design
JP2008028930A (en) Semiconductor integrated circuit, and method of designing the same
US6078202A (en) Semiconductor device having portions that operate at different frequencies, and method of designing the device
US8493108B2 (en) Synchronizer with high reliability
JP2003500723A (en) Clock system for multiple component system
US9825636B1 (en) Apparatus and method for reduced latency signal synchronization
US6915497B2 (en) Automatic design system for wiring on LSI
US20090271747A1 (en) Logic circuit designing device, logic circuit designing method and logic circuit designing program for asynchronous logic circuit
US9449127B1 (en) System for verifying timing constraints of IC design
US20050251776A1 (en) Integrated circuit design system
US8453090B2 (en) System and method for optimizing logic timing
US7735038B2 (en) Design structure to reduce power consumption within a clock gated synchronous circuit and clock gated synchronous circuit
JP6833140B2 (en) Circuit design support system and circuit design support program
US7415685B2 (en) Method of verifying the power off effect of a design entity at register transfer level and method of modeling the power off effect
JP2011232787A (en) Designing device, designing method and program for semiconductor integrated circuit
JP4264436B2 (en) Flip-flop functional element, semiconductor integrated circuit, semiconductor integrated circuit design method, and semiconductor integrated circuit design apparatus
US20030088838A1 (en) Black box timing model for latch-based systems
US8448114B1 (en) Method for dual edge clock and buffer tree synthesis
JP7069608B2 (en) Semiconductor design support device, semiconductor design support method and program
US8065646B2 (en) Method and a computer readable medium for performing static timing analysis of a design of an integrated circuit
EP2320565A1 (en) A delay component
US7480607B2 (en) Circuit design verification
US8255752B2 (en) Clock domain check method, clock domain check program, and recording medium
JP2012243263A (en) Logic synthesizer, logic synthesis method and logic synthesis program