JP2011134072A - Method for designing semiconductor integrated circuit and program - Google Patents

Method for designing semiconductor integrated circuit and program Download PDF

Info

Publication number
JP2011134072A
JP2011134072A JP2009292507A JP2009292507A JP2011134072A JP 2011134072 A JP2011134072 A JP 2011134072A JP 2009292507 A JP2009292507 A JP 2009292507A JP 2009292507 A JP2009292507 A JP 2009292507A JP 2011134072 A JP2011134072 A JP 2011134072A
Authority
JP
Japan
Prior art keywords
flop
flip
logic block
phase
integrated circuit
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.)
Withdrawn
Application number
JP2009292507A
Other languages
Japanese (ja)
Inventor
Yasuzo Ono
野 泰 三 小
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2009292507A priority Critical patent/JP2011134072A/en
Publication of JP2011134072A publication Critical patent/JP2011134072A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Logic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Manipulation Of Pulses (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a method for designing a semiconductor integrated circuit and a design program for making it unnecessary to change the physical position or RTL(Register Transfer Level) of a cell in order to fulfill timing constraint, and for making it possible to optimize a semiconductor integrated circuit in a short time, and for making it possible to shorten the design period of the semiconductor integrated circuit. <P>SOLUTION: The method of designing the semiconductor integrated circuit includes: detecting a timing error path which does not fulfill prescribed timing constraint by performing static timing analysis to the net list of a semiconductor integrated circuit; extracting a first logical block including the timing error path and a second logical block connected through a flip flop to the first logical block for fulfilling the prescribed timing constraint; and when a flip flop between the first logical block and the second logical block is positive phase/reverse phase flip flop, changing the positive phase/reverse phase flip flop to a reverse phase/positive phase flip flop. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

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

半導体集積回路の設計では、論理セルの初期配置、クロックツリー合成(CTS:Clock Tree Synthesis)を用いたクロック配線、論理セルの配置最適化、論理セル間の詳細配線が順に行われる。   In designing a semiconductor integrated circuit, initial arrangement of logic cells, clock wiring using clock tree synthesis (CTS), optimization of arrangement of logic cells, and detailed wiring between logic cells are sequentially performed.

クロックツリー合成は、チップ内に散在するフリップフロップ等の複数の論理回路間に供給されるクロック信号の位相ずれ(クロックスキュー)を小さくするための手法である。   Clock tree synthesis is a technique for reducing the phase shift (clock skew) of clock signals supplied between a plurality of logic circuits such as flip-flops scattered in a chip.

クロックツリー合成後の論理セルの配置最適化では、静的タイミング解析(STA:Static Timing Analysis)により論理回路が所望のタイミング制約を満たしているか否かが検証され、所望のタイミング制約を満たしていない場合、論理セルの配置が変更される。論理セルの配置を変更してもタイミング制約を満たすことができない場合は、RTL(Register Transfer Level)を変更することになり、クロック配線等が再度行われるため、設計期間を増加させるという問題があった。   In logic cell layout optimization after clock tree synthesis, whether or not a logic circuit satisfies a desired timing constraint is verified by static timing analysis (STA), and does not satisfy a desired timing constraint. In this case, the arrangement of the logic cells is changed. If the timing constraint cannot be satisfied even if the logic cell arrangement is changed, the RTL (Register Transfer Level) is changed and the clock wiring and the like are performed again, which increases the design period. It was.

第1の同期型回路ブロックと第2の同期型回路ブロックとの間に製造状態の違いによる遅延時間差がある場合に、第1の同期型回路ブロックと第2の同期型回路ブロックとの間に第1の同期型回路ブロックの内部クロックに同期して動作するレジスタ素子を設け、2つの同期型回路ブロック間でのデータ受け渡し時の動作余裕を拡大する手法が知られている(例えば特許文献1参照)。しかし、レジスタ素子を追加するために、素子の配置や配線等を再度行う必要があり、設計期間を増加させるという問題があった。   When there is a delay time difference between the first synchronous circuit block and the second synchronous circuit block due to a difference in manufacturing state, between the first synchronous circuit block and the second synchronous circuit block. A technique is known in which a register element that operates in synchronization with the internal clock of the first synchronous circuit block is provided to increase an operation margin when data is transferred between two synchronous circuit blocks (for example, Patent Document 1). reference). However, in order to add a register element, it is necessary to perform element arrangement, wiring, and the like again, which increases the design period.

特開2003−168966号公報JP 2003-168966 A

本発明は、設計期間を短縮できる半導体集積回路の設計方法及びプログラムを提供することを目的とする。   It is an object of the present invention to provide a semiconductor integrated circuit design method and program capable of shortening the design period.

本発明の一態様による半導体集積回路の設計方法は、複数の論理ブロック、クロック信号の立ち上がりエッジに同期して入力データを保持する正相フリップフロップ、及びクロック信号の立ち下がりエッジに同期して入力データを保持する逆相フリップフロップを有する半導体集積回路の設計方法であって、前記半導体集積回路のネットリストに対して静的タイミング解析を行うことにより、所定のタイミング制約を満たさないタイミングエラーパスが検出する工程と、所定のタイミング制約を満たさない前記タイミングエラーパスを含む第1の論理ブロックと、フリップフロップを介して前記第1の論理ブロックに接続され、所定のタイミング制約を満たす第2の論理ブロックとを抽出する工程と、前記第1の論理ブロックと前記第2の論理ブロックとの間のフリップフロップが前記正相フリップフロップである場合は、当該正相フリップフロップを逆相フリップフロップに変更し、前記第1の論理ブロックと前記第2の論理ブロックとの間のフリップフロップが前記逆相フリップフロップである場合は、当該逆相フリップフロップを正相フリップフロップに変更する工程と、を備えるものである。   A method for designing a semiconductor integrated circuit according to one embodiment of the present invention includes a plurality of logic blocks, a positive-phase flip-flop that holds input data in synchronization with a rising edge of a clock signal, and an input in synchronization with a falling edge of the clock signal. A method for designing a semiconductor integrated circuit having a reverse-phase flip-flop that holds data, wherein a timing error path that does not satisfy a predetermined timing constraint is obtained by performing a static timing analysis on a netlist of the semiconductor integrated circuit. A first logic block including the timing error path that does not satisfy a predetermined timing constraint, and a second logic that is connected to the first logic block via a flip-flop and satisfies the predetermined timing constraint Extracting a block, the first logic block and the second argument If the flip-flop between the blocks is the normal-phase flip-flop, the normal-phase flip-flop is changed to a reverse-phase flip-flop, and the flip-flop between the first logic block and the second logic block And a step of changing the negative phase flip-flop to a normal phase flip-flop.

本発明の一態様による半導体集積回路の設計プログラムは、複数の論理ブロック、クロック信号の立ち上がりエッジに同期して入力データを保持する正相フリップフロップ、及びクロック信号の立ち下がりエッジに同期して入力データを保持する逆相フリップフロップを有する半導体集積回路の設計プログラムであって、前記半導体集積回路のネットリストに対して静的タイミング解析を行うことにより、所定のタイミング制約を満たさないタイミングエラーパスが検出するステップと、所定のタイミング制約を満たさないパスを含む第1の論理ブロックと、フリップフロップを介して前記第1の論理ブロックに接続され、所定のタイミング制約を満たす第2の論理ブロックとを抽出するステップと、前記第1の論理ブロックと前記第2の論理ブロックとの間のフリップフロップが前記正相フリップフロップである場合は、当該正相フリップフロップを逆相フリップフロップに変更し、前記第1の論理ブロックと前記第2の論理ブロックとの間のフリップフロップが前記逆相フリップフロップである場合は、当該逆相フリップフロップを正相フリップフロップに変更するステップと、詳細な配線経路を決定するステップと、をコンピュータに実行させるものである。   A semiconductor integrated circuit design program according to one embodiment of the present invention includes a plurality of logic blocks, a positive-phase flip-flop that holds input data in synchronization with a rising edge of a clock signal, and an input in synchronization with a falling edge of the clock signal. A design program for a semiconductor integrated circuit having a reverse-phase flip-flop that holds data, and a timing error path that does not satisfy a predetermined timing constraint by performing a static timing analysis on a netlist of the semiconductor integrated circuit A first logical block including a path that does not satisfy a predetermined timing constraint, and a second logical block connected to the first logical block via a flip-flop and satisfying the predetermined timing constraint. Extracting, the first logic block and the second argument If the flip-flop between the blocks is the normal-phase flip-flop, the normal-phase flip-flop is changed to a reverse-phase flip-flop, and the flip-flop between the first logic block and the second logic block If the reverse-phase flip-flop is a reverse-phase flip-flop, the computer executes a step of changing the reverse-phase flip-flop to a normal-phase flip-flop and a step of determining a detailed wiring path.

本発明によれば、設計期間を短縮できる。   According to the present invention, the design period can be shortened.

本発明の実施形態に係る半導体集積回路の設計方法を説明するフローチャートである。3 is a flowchart illustrating a method for designing a semiconductor integrated circuit according to an embodiment of the present invention. フリップフロップの正相/逆相入れ替え前の回路構成図である。It is a circuit block diagram before the flip-flop normal phase / reverse phase switching. フリップフロップの正相/逆相入れ替え後の回路構成図である。It is a circuit block diagram after flip-flop normal phase / reverse phase switching. フリップフロップの正相/逆相入れ替え前の回路構成図である。It is a circuit block diagram before the flip-flop normal phase / reverse phase switching. フリップフロップの正相/逆相入れ替え後の回路構成図である。It is a circuit block diagram after flip-flop normal phase / reverse phase switching. フリップフロップの正相/逆相入れ替え後の回路構成図である。It is a circuit block diagram after flip-flop normal phase / reverse phase switching. バッファを用いたクロックツリーの構成例を示す図である。It is a figure which shows the structural example of the clock tree using a buffer. インバータを用いたクロックツリーの構成例を示す図である。It is a figure which shows the structural example of the clock tree using an inverter.

以下、本発明の実施の形態を図面に基づいて説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

図1に示すフローチャートを用いて、本発明の実施形態に係る半導体集積回路の設計方法を説明する。   A method for designing a semiconductor integrated circuit according to an embodiment of the present invention will be described with reference to the flowchart shown in FIG.

(ステップS101)C言語等の高級言語によってシステム(論理回路)の動作のみを記述した動作記述を作成し、この動作記述からクロックサイクル、レジスタ、演算器等のハードウェア情報を含んだRTL(Register Transfer Level)記述に合成する高位合成が行われる。RTLの記述に対して論理合成ツールを適用し、RTLの記述をゲートレベルのネットリストに論理合成する。   (Step S101) An operation description describing only the operation of the system (logic circuit) is created in a high-level language such as C language, and an RTL (Register) including hardware information such as a clock cycle, a register, and an arithmetic unit is created from this operation description. High-level synthesis is performed on the Transfer Level) description. A logic synthesis tool is applied to the RTL description to synthesize the RTL description into a gate level netlist.

(ステップS102)論理ゲートセルネットリストの初期配置を行い、概略配線の経路を決定する。   (Step S102) Initial arrangement of the logic gate cell netlist is performed, and the route of the schematic wiring is determined.

(ステップS103)クロックツリー合成を用いて、チップ内に散在するフリップフロップ等の複数の論理回路間に供給されるクロック信号の遅延(クロックレイテンシー)が短く、なおかつ到達時間のずれ(クロックスキュー)が小さくなるようにクロック信号を分配するクロックリーが構築される。   (Step S103) Using clock tree synthesis, a delay (clock latency) of a clock signal supplied between a plurality of logic circuits such as flip-flops scattered in a chip is short, and a shift in arrival time (clock skew) is small. A clock tree that distributes the clock signal to be small is constructed.

(ステップS104)静的タイミング解析(STA:Static Timing Analysis)が行われ、所望のタイミング制約を満たしていないタイミングエラーパスが検出される。   (Step S104) Static timing analysis (STA) is performed, and a timing error path that does not satisfy a desired timing constraint is detected.

(ステップS105)ステップS104で検出されたタイミングエラーパスに接続されるフリップフロップの正相/逆相を入れ替えることでタイミングが改善される回路が検出される。   (Step S105) A circuit whose timing is improved by detecting the normal phase / reverse phase of the flip-flop connected to the timing error path detected in Step S104 is detected.

ここで、正相フリップフロップは、クロック信号の立ち上がりエッジに同期して情報を入力するフリップフロップをいう。また、逆相フリップフロップは、クロック信号の立ち下がりエッジに同期して情報を入力するフリップフロップをいう。   Here, the positive-phase flip-flop is a flip-flop that inputs information in synchronization with the rising edge of the clock signal. The anti-phase flip-flop is a flip-flop that inputs information in synchronization with a falling edge of a clock signal.

(ステップS106)ステップS105で検出された回路のフリップフロップの正相/逆相を入れ替える。   (Step S106) The normal phase / reverse phase of the flip-flop of the circuit detected in step S105 is switched.

フリップフロップの正相/逆相の入れ替えについて図2、図3を用いて説明する。図2に示すように、フリップフロップ101〜106、論理ブロック110、111が設けられた回路に対してフリップフロップの正相/逆相の入れ替えを行う場合について考える。   The switching of the normal phase / reverse phase of the flip-flop will be described with reference to FIGS. As shown in FIG. 2, consider a case where the flip-flop is switched between the normal phase and the reverse phase for a circuit provided with flip-flops 101 to 106 and logic blocks 110 and 111.

フリップフロップ101、102は正相フリップフロップであり、入力信号をクロック信号CLKの立ち上がりエッジに基づいて保持し、論理ブロック110へ出力する。   The flip-flops 101 and 102 are positive-phase flip-flops, hold the input signal based on the rising edge of the clock signal CLK, and output it to the logic block 110.

フリップフロップ103、104は逆相フリップフロップであり、論理ブロック110からの出力信号をクロック信号CLKの立ち下がりエッジに基づいて保持し、論理ブロック111へ出力する。   The flip-flops 103 and 104 are anti-phase flip-flops, hold the output signal from the logic block 110 based on the falling edge of the clock signal CLK, and output it to the logic block 111.

フリップフロップ105、106は逆相フリップフロップであり、論理ブロック111からの出力信号をクロック信号CLKの立ち下がりエッジに基づいて保持し、出力する。   The flip-flops 105 and 106 are anti-phase flip-flops, and hold and output the output signal from the logic block 111 based on the falling edge of the clock signal CLK.

フリップフロップ101、102が時刻t1におけるクロック信号CLKの立ち上がりエッジで信号を保持する場合、フリップフロップ103、104は時刻t2におけるクロック信号CLKの立ち下がりエッジで論理ブロック110からの出力信号を保持し、フリップフロップ105、106は時刻t4におけるクロック信号CLKの立ち下がりエッジで論理ブロック111からの出力信号を保持することになる。   When the flip-flops 101 and 102 hold the signal at the rising edge of the clock signal CLK at time t1, the flip-flops 103 and 104 hold the output signal from the logic block 110 at the falling edge of the clock signal CLK at time t2, The flip-flops 105 and 106 hold the output signal from the logic block 111 at the falling edge of the clock signal CLK at time t4.

従って、論理ブロック110を通るパスが満たすべき遅延時間(遅延制約)は時刻t1からt2の間、すなわちクロック信号CLKの半周期となる。また、論理ブロック111を通るパスが満たすべき遅延時間は時刻t2からt4の間、すなわちクロック信号CLKの1周期となる。   Accordingly, the delay time (delay constraint) to be satisfied by the path passing through the logic block 110 is between the times t1 and t2, that is, a half cycle of the clock signal CLK. The delay time to be satisfied by the path passing through the logic block 111 is from time t2 to t4, that is, one cycle of the clock signal CLK.

ここで、論理ブロック110を通るパスの遅延時間がクロック信号CLKの半周期より長く、1周期より短く、かつ、論理ブロック111を通るパスの遅延時間がクロック信号CLKの半周期以下である場合、図3に示すように、論理ブロック110と論理ブロック111との間に位置するフリップフロップ103、104を正相フリップフロップに入れ替える。   Here, when the delay time of the path passing through the logic block 110 is longer than a half cycle of the clock signal CLK and shorter than one cycle, and the delay time of the path passing through the logic block 111 is less than or equal to a half cycle of the clock signal CLK, As shown in FIG. 3, the flip-flops 103 and 104 located between the logic block 110 and the logic block 111 are replaced with normal phase flip-flops.

正相フリップフロップであるフリップフロップ103、104は、時刻t3におけるクロック信号CLKの立ち上がりエッジで論理ブロック110からの出力信号を保持する。   The flip-flops 103 and 104 that are normal phase flip-flops hold the output signal from the logic block 110 at the rising edge of the clock signal CLK at time t3.

これにより、論理ブロック110を通るパスが満たすべき遅延時間は時刻t1からt3の間、すなわちクロック信号CLKの1周期となる。また、論理ブロック111を通るパスが満たすべき遅延時間は時刻t3からt4の間、すなわちクロック信号CLKの半周期となる。   Thereby, the delay time to be satisfied by the path passing through the logic block 110 is between the times t1 and t3, that is, one cycle of the clock signal CLK. The delay time to be satisfied by the path passing through the logic block 111 is between time t3 and t4, that is, a half cycle of the clock signal CLK.

このように、フリップフロップ(フリップフロップ103、104)の正相/逆相を入れ替えることで、タイミングに余裕がある回路パス(論理ブロック111を通るパス)の遅延制約を厳しくし、タイミングが間に合わなくなった回路パス(論理ブロック110を通るパス)の遅延制約を緩和することができる。   In this way, by switching the normal phase / reverse phase of the flip-flops (flip-flops 103 and 104), the delay constraint of the circuit path (path passing through the logic block 111) with sufficient timing is tightened, and the timing is not in time. In addition, the delay constraint on the circuit path (path through the logic block 110) can be relaxed.

論理ブロック110、111を通るパスはマルチサイクルパスでも良い。   The path passing through the logic blocks 110 and 111 may be a multi-cycle path.

フリップフロップの正相/逆相の入れ替えの別の例を図4、図5を用いて説明する。図4に示すように、フリップフロップ201〜206、論理ブロック210、211が設けられた回路に対してフリップフロップの正相/逆相の入れ替えを行う場合について考える。   Another example of flip-flop normal / reverse phase switching will be described with reference to FIGS. As shown in FIG. 4, consider a case where flip-flops are switched between the normal phase and the reverse phase for a circuit provided with flip-flops 201 to 206 and logic blocks 210 and 211.

フリップフロップ201、202は正相フリップフロップであり、入力信号をクロック信号CLKの立ち上がりエッジに基づいて保持し、論理ブロック210へ出力する。   The flip-flops 201 and 202 are normal-phase flip-flops, hold the input signal based on the rising edge of the clock signal CLK, and output it to the logic block 210.

フリップフロップ203、204は正相フリップフロップであり、論理ブロック210からの出力信号をクロック信号CLKの立ち上がりエッジに基づいて保持し、論理ブロック211へ出力する。   The flip-flops 203 and 204 are normal-phase flip-flops, hold the output signal from the logic block 210 based on the rising edge of the clock signal CLK, and output it to the logic block 211.

フリップフロップ205、206は正相フリップフロップであり、論理ブロック211からの出力信号をクロック信号CLKの立ち上がりエッジに基づいて保持し、出力する。   The flip-flops 205 and 206 are normal-phase flip-flops, and hold and output the output signal from the logic block 211 based on the rising edge of the clock signal CLK.

フリップフロップ201、202が時刻t11におけるクロック信号CLKの立ち上がりエッジで信号を保持する場合、フリップフロップ203、204は時刻t12におけるクロック信号CLKの立ち上がりエッジで論理ブロック110からの出力信号を保持し、フリップフロップ205、206は時刻t13におけるクロック信号CLKの立ち上がりエッジで論理ブロック211からの出力信号を保持することになる。   When the flip-flops 201 and 202 hold the signal at the rising edge of the clock signal CLK at time t11, the flip-flops 203 and 204 hold the output signal from the logic block 110 at the rising edge of the clock signal CLK at time t12. The blocks 205 and 206 hold the output signal from the logic block 211 at the rising edge of the clock signal CLK at time t13.

従って、論理ブロック210を通るパスが満たすべき遅延時間(遅延制約)は時刻t11からt12の間、すなわちクロック信号CLKの1周期となる。同様に、論理ブロック211を通るパスが満たすべき遅延時間は時刻t12からt13の間、すなわちクロック信号CLKの1周期となる。   Accordingly, the delay time (delay constraint) to be satisfied by the path passing through the logic block 210 is between the times t11 and t12, that is, one cycle of the clock signal CLK. Similarly, the delay time to be satisfied by the path passing through the logic block 211 is from time t12 to t13, that is, one cycle of the clock signal CLK.

ここで、論理ブロック211を通るパスの遅延時間がクロック信号CLKの1周期より長く、1.5周期より短く、かつ、論理ブロック210を通るパスの遅延時間がクロック信号CLKの半周期以下である場合、図5に示すように、論理ブロック210と論理ブロック211との間に位置するフリップフロップ203、204を逆相フリップフロップに入れ替える。   Here, the delay time of the path passing through the logic block 211 is longer than one cycle of the clock signal CLK and shorter than 1.5 cycles, and the delay time of the path passing through the logic block 210 is less than or equal to a half cycle of the clock signal CLK. In this case, as shown in FIG. 5, the flip-flops 203 and 204 positioned between the logic block 210 and the logic block 211 are replaced with anti-phase flip-flops.

逆相フリップフロップであるフリップフロップ203、204は、時刻t14におけるクロック信号CLKの立ち下がりエッジで論理ブロック210からの出力信号を保持する。   The flip-flops 203 and 204 that are reverse-phase flip-flops hold the output signal from the logic block 210 at the falling edge of the clock signal CLK at time t14.

これにより、論理ブロック210を通るパスが満たすべき遅延時間は時刻t11からt14の間、すなわちクロック信号CLKの半周期となる。また、論理ブロック211を通るパスが満たすべき遅延時間は時刻t14からt13の間、すなわちクロック信号CLKの1.5周期となる。   Thereby, the delay time to be satisfied by the path passing through the logic block 210 is between the times t11 and t14, that is, a half cycle of the clock signal CLK. The delay time to be satisfied by the path passing through the logic block 211 is from time t14 to t13, that is, 1.5 period of the clock signal CLK.

このように、フリップフロップ(フリップフロップ203、204)の正相/逆相を入れ替えることで、タイミングに余裕がある回路パス(論理ブロック210を通るパス)の遅延制約を厳しくし、タイミングが間に合わなくなった回路パス(論理ブロック211通るパス)の遅延制約を緩和することができる。   In this way, by switching the normal phase / reverse phase of the flip-flops (flip-flops 203 and 204), the delay restriction of the circuit path (path passing through the logic block 210) with sufficient timing is tightened, and the timing is not in time. In addition, the delay constraint on the circuit path (path through the logic block 211) can be relaxed.

ステップS105では、上述したような隣り合うタイミングが間に合わない回路パス及びタイミングに余裕がある回路パスが検出される。   In step S105, a circuit path in which adjacent timings are not in time and a circuit path with sufficient timing are detected.

このようなフリップフロップの種類の変更(正相/逆相の入れ替え)に伴い、CTSの配線ツリーからの配線引き出し部分を変更して、その部分のみ再度CTS配線を行う。   Along with such a change in the type of flip-flop (switching between normal phase and reverse phase), the wiring drawing portion from the wiring tree of the CTS is changed, and the CTS wiring is performed again only for that portion.

(ステップS107)ステップS106において正相/逆相の入れ替えを行ったフリップフロップの前後の回路を最適化し、所望のタイミング制約が満たされるようにする。   (Step S107) The circuits before and after the flip-flop that has switched the normal phase / reverse phase in step S106 are optimized so that the desired timing constraint is satisfied.

例えば、フリップフロップ203、204の正相/逆相の入れ替えを行った図5に示す回路では、論理ブロック211の全ての経路はクロック信号CLKの0.5周期以上、1.5周期未満の遅延時間となるようなホールド制約を満たす必要がある。クロック信号CLKの0.5周期未満の経路が存在する場合、フリップフロップ205、206が、その経路を伝播した信号を時刻t12におけるクロック信号CLKの立ち上がりエッジで保持することで、所望の動作が行われなくなるためである。   For example, in the circuit shown in FIG. 5 in which the flip-flops 203 and 204 are switched between the normal phase and the reverse phase, all paths of the logic block 211 have a delay of 0.5 cycle or more and less than 1.5 cycles of the clock signal CLK. It is necessary to satisfy the hold constraint which becomes time. When a path of less than 0.5 period of the clock signal CLK exists, the flip-flops 205 and 206 hold the signal propagated through the path at the rising edge of the clock signal CLK at time t12, so that a desired operation is performed. This is to prevent them from being broken.

従って、論理ブロック211の経路のうち、遅延時間がクロック信号CLKの0.5周期未満となる経路に遅延素子(バッファ等)を挿入して、遅延時間がクロック信号CLKの0.5周期以上、1.5周期未満となるようにする。   Therefore, a delay element (such as a buffer) is inserted into a path of the logic block 211 whose delay time is less than 0.5 period of the clock signal CLK, and the delay time is 0.5 period or more of the clock signal CLK. The period is less than 1.5.

このようにステップS107では、ステップS106において正相/逆相の入れ替えを行ったフリップフロップの前後の論理ブロックの各経路が所望の遅延時間となるように、遅延素子の挿入等が行われる。   As described above, in step S107, delay elements are inserted so that each path of the logic block before and after the flip-flop for which the normal phase / reverse phase is switched in step S106 has a desired delay time.

また、遅延制約が緩和される論理ブロックに対して、使用されている論理セルの面積を小さくし、駆動力を小さくしてもよい。セル面積を小さくすることで、他のセルを配置したり、他のセルの駆動力を大きくしたり面積を大きくしたりできる。また、トランジスタを、閾値電圧の高い種類のトランジスタに置き換えて、リーク電流を抑制するようにしてもよい。   Further, for the logic block in which the delay constraint is relaxed, the area of the used logic cell may be reduced to reduce the driving force. By reducing the cell area, other cells can be arranged, the driving force of other cells can be increased, or the area can be increased. In addition, the transistor may be replaced with a transistor having a high threshold voltage to suppress leakage current.

遅延制約が厳しくなる論理ブロックに対しては、使用されている論理セルを、より駆動力の大きいセルに変更してもよい。また、トランジスタを、閾値電圧の低い種類のトランジスタに置き換えて、論理セルの遅延時間を短縮してもよい。   For a logic block in which the delay constraint becomes severe, the logic cell used may be changed to a cell having a larger driving force. Further, the delay time of the logic cell may be shortened by replacing the transistor with a transistor having a low threshold voltage.

(ステップS108)データ信号の詳細な配線を行う。   (Step S108) Detailed wiring of the data signal is performed.

このように、本実施形態によれば、タイミング制約を満たせない回路パスとタイミングに余裕がある回路パスとの間のフリップフロップの正相/逆相を入れ替えることで、タイミングに余裕がある回路パスの遅延制約を厳しくし、タイミング制約を満たせない回路パスの遅延制約を緩和する。タイミング制約を満たすためにセルの物理的な位置やRTLを変更する必要がないので、回路の最適化を短時間に行うことができ、半導体集積回路の設計期間を短縮することができる。   As described above, according to the present embodiment, by switching the normal phase / reverse phase of the flip-flop between a circuit path that does not satisfy the timing constraint and a circuit path that has a margin in timing, a circuit path that has a margin in timing. The delay constraint of the circuit path that cannot satisfy the timing constraint is relaxed. Since it is not necessary to change the physical position of the cell or the RTL in order to satisfy the timing constraint, the circuit can be optimized in a short time, and the design period of the semiconductor integrated circuit can be shortened.

図2、図3に示す例において、フリップフロップ103、104の正相/逆相を入れ替えることで、論理ブロック111を通るパスが満たすべき遅延時間はクロック信号CLKの半周期未満となった。論理ブロック111がこの遅延制約を満たせない場合、図6に示すように、論理ブロック112の次のフリップフロップ107、108が逆相であり、論理ブロック112を通るパスのタイミングに余裕があれば、フリップフロップ105、106の正相/逆相を入れ替えて、論理ブロック111の遅延制約を緩和することができる。このように、遅延制約を満たせない第1の論理ブロックと、回路パスのタイミングに余裕がある第2の論理ブロックとが隣り合っていなくても、それらの間に位置するフリップフロップの正相/逆相を入れ替えることで、第1の論理ブロックの遅延制約を緩和することができる。   In the example shown in FIGS. 2 and 3, by switching the normal phase / reverse phase of the flip-flops 103 and 104, the delay time to be satisfied by the path passing through the logic block 111 is less than a half cycle of the clock signal CLK. If the logical block 111 cannot satisfy this delay constraint, as shown in FIG. 6, if the next flip-flops 107 and 108 of the logical block 112 are out of phase and there is a margin in the timing of the path passing through the logical block 112, By switching the normal phase / reverse phase of the flip-flops 105 and 106, the delay restriction of the logic block 111 can be relaxed. In this way, even if the first logic block that cannot satisfy the delay constraint and the second logic block having a margin in circuit path timing are not adjacent to each other, the positive phase / By switching the reverse phase, the delay constraint of the first logical block can be relaxed.

なお、正相フリップフロップと逆相フリップフロップとの間の論理ブロック(図3における論理ブロック111等)では、CRPR(Clock Reconvergence Pessimism Removal)による遅延制約の緩和が出来なくなるため、これらの論理を通るパスは、CRPR緩和無しの条件でもタイミングを満たすように論理最適化される必要がある。   It should be noted that a delay block by CRPR (Clock Reconvergence Pessimism Removal) cannot be relaxed in a logic block (such as logic block 111 in FIG. 3) between the normal phase flip-flop and the reverse phase flip-flop, and therefore passes through these logics. The path needs to be logically optimized to satisfy the timing even under the condition without CRPR relaxation.

上記実施形態において、ステップS103におけるクロックツリー合成に使用するセルは、バッファでなくインバータのみで構成することが好適である。例えば、図7(a)に示すように、クロックツリーをバッファで構成し、フリップフロップ700の正相/逆相を反転する場合、図7(b)に示すように、インバータ701を追加する必要がある。インバータ701の追加により、ツリー構造のバランスを崩すおそれがある。   In the above-described embodiment, it is preferable that the cell used for the clock tree synthesis in step S103 is composed of only an inverter, not a buffer. For example, as shown in FIG. 7A, when the clock tree is configured by a buffer and the normal phase / reverse phase of the flip-flop 700 is inverted, it is necessary to add an inverter 701 as shown in FIG. 7B. There is. The addition of the inverter 701 may cause the tree structure to be unbalanced.

一方、図8(a)に示すように、クロックツリーをインバータのみで構成し、フリップフロップ800の正相/逆相を反転する場合、図8(b)に示すように、1段手前のインバータからクロック配線を引き出せばよく、セルを追加する必要はない。   On the other hand, when the clock tree is composed of only inverters as shown in FIG. 8A and the normal phase / reverse phase of the flip-flop 800 is inverted, the inverter one stage before is shown in FIG. 8B. It is only necessary to pull out the clock wiring from, and there is no need to add cells.

従って、本実施形態では、クロックツリーをインバータのみで構成することが好適である。   Therefore, in this embodiment, it is preferable to configure the clock tree only with inverters.

上述した半導体集積回路の設計方法の一連の手順は、コンピュータに実行させるプログラムに組み込み、フレキシブルディスクやCD−ROM等の記録媒体に収納してコンピュータに読み込ませて実行させてもよい。これにより、本実施形態に係る設計方法を、汎用コンピュータを用いて実現することができる。記録媒体は、磁気ディスクや光ディスク等の携帯可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。また、上述した半導体集積回路の設計方法の一連の手順を組み込んだプログラムをインターネット等の通信回線(無線通信を含む)を介して頒布してもよい。さらに上述した半導体集積回路の設計方法の一連の手順を組み込んだプログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。   The series of steps of the semiconductor integrated circuit design method described above may be incorporated in a program to be executed by a computer, stored in a recording medium such as a flexible disk or a CD-ROM, and read by the computer and executed. Thereby, the design method according to the present embodiment can be realized using a general-purpose computer. The recording medium is not limited to a portable medium such as a magnetic disk or an optical disk, but may be a fixed recording medium such as a hard disk device or a memory. Further, a program incorporating a series of procedures of the above-described semiconductor integrated circuit design method may be distributed through a communication line (including wireless communication) such as the Internet. Furthermore, a program incorporating a series of steps of the above-described semiconductor integrated circuit design method is encrypted, modulated, or compressed and stored in a recording medium via a wired line or a wireless line such as the Internet. May be distributed.

なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。   Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. In addition, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, constituent elements over different embodiments may be appropriately combined.

101〜106 フリップフロップ
111、112 論理ブロック
101-106 flip-flops 111 and 112 logic blocks

Claims (5)

複数の論理ブロック、クロック信号の立ち上がりエッジに同期して入力データを保持する正相フリップフロップ、及びクロック信号の立ち下がりエッジに同期して入力データを保持する逆相フリップフロップを有する半導体集積回路の設計方法であって、
前記半導体集積回路のネットリストに対して静的タイミング解析を行うことにより、所定のタイミング制約を満たさないタイミングエラーパスを検出する工程と、
所定のタイミング制約を満たさない前記タイミングエラーパスを含む第1の論理ブロックと、フリップフロップを介して前記第1の論理ブロックに接続され、所定のタイミング制約を満たす第2の論理ブロックとを抽出する工程と、
前記第1の論理ブロックと前記第2の論理ブロックとの間のフリップフロップが前記正相フリップフロップである場合は、当該正相フリップフロップを逆相フリップフロップに変更し、前記第1の論理ブロックと前記第2の論理ブロックとの間のフリップフロップが前記逆相フリップフロップである場合は、当該逆相フリップフロップを正相フリップフロップに変更する工程と、
を備える半導体集積回路の設計方法。
A semiconductor integrated circuit having a plurality of logic blocks, a normal-phase flip-flop that holds input data in synchronization with a rising edge of a clock signal, and a negative-phase flip-flop that holds input data in synchronization with a falling edge of a clock signal A design method,
Detecting a timing error path that does not satisfy a predetermined timing constraint by performing a static timing analysis on the net list of the semiconductor integrated circuit;
A first logical block including the timing error path that does not satisfy a predetermined timing constraint and a second logical block connected to the first logical block via a flip-flop and satisfying the predetermined timing constraint are extracted. Process,
When the flip-flop between the first logic block and the second logic block is the normal-phase flip-flop, the normal-phase flip-flop is changed to a reverse-phase flip-flop, and the first logic block And when the flip-flop between the second logic block is the negative-phase flip-flop, the negative-phase flip-flop is changed to a normal-phase flip-flop.
A method for designing a semiconductor integrated circuit comprising:
前記フリップフロップを変更する工程の後、前記第1の論理ブロック及び/又は前記第2の論理ブロック内の配線経路の遅延時間が所定範囲の値となるように遅延素子を挿入する工程をさらに備えることを特徴とする請求項1に記載の半導体集積回路の設計方法。   After the step of changing the flip-flop, the method further includes a step of inserting a delay element so that a delay time of the wiring path in the first logic block and / or the second logic block becomes a value within a predetermined range. The method of designing a semiconductor integrated circuit according to claim 1. 前記フリップフロップの変更により、前記第1の論理ブロック及び/又は前記第2の論理ブロックの遅延制約が緩和された場合、当該論理ブロック内のトランジスタを、閾値電圧の高いトランジスタに置換することを特徴とする請求項1又は2に記載の半導体集積回路の設計方法。   When the delay constraint of the first logic block and / or the second logic block is relaxed by the change of the flip-flop, the transistor in the logic block is replaced with a transistor having a high threshold voltage. A method for designing a semiconductor integrated circuit according to claim 1 or 2. 前記クロックツリーをインバータで構成することを特徴とする請求項1乃至3のいずれかに記載の半導体集積回路の設計方法。   4. The method for designing a semiconductor integrated circuit according to claim 1, wherein the clock tree is configured by an inverter. 複数の論理ブロック、クロック信号の立ち上がりエッジに同期して入力データを保持する正相フリップフロップ、及びクロック信号の立ち下がりエッジに同期して入力データを保持する逆相フリップフロップを有する半導体集積回路の設計プログラムであって、
前記半導体集積回路のネットリストに対して静的タイミング解析を行うことにより、所定のタイミング制約を満たさないタイミングエラーパスを検出するステップと、
所定のタイミング制約を満たさないパスを含む第1の論理ブロックと、フリップフロップを介して前記第1の論理ブロックに接続され、所定のタイミング制約を満たす第2の論理ブロックとを抽出するステップと、
前記第1の論理ブロックと前記第2の論理ブロックとの間のフリップフロップが前記正相フリップフロップである場合は、当該正相フリップフロップを逆相フリップフロップに変更し、前記第1の論理ブロックと前記第2の論理ブロックとの間のフリップフロップが前記逆相フリップフロップである場合は、当該逆相フリップフロップを正相フリップフロップに変更するステップと、
詳細な配線経路を決定するステップと、
をコンピュータに実行させることを特徴とする半導体集積回路の設計プログラム。
A semiconductor integrated circuit having a plurality of logic blocks, a normal-phase flip-flop that holds input data in synchronization with a rising edge of a clock signal, and a negative-phase flip-flop that holds input data in synchronization with a falling edge of a clock signal A design program,
Detecting a timing error path that does not satisfy a predetermined timing constraint by performing static timing analysis on the netlist of the semiconductor integrated circuit; and
Extracting a first logical block including a path that does not satisfy a predetermined timing constraint, and a second logical block connected to the first logical block via a flip-flop and satisfying the predetermined timing constraint;
When the flip-flop between the first logic block and the second logic block is the normal-phase flip-flop, the normal-phase flip-flop is changed to a reverse-phase flip-flop, and the first logic block And when the flip-flop between the second logic block is the negative-phase flip-flop, the negative-phase flip-flop is changed to a normal-phase flip-flop.
Determining detailed wiring routes;
A program for designing a semiconductor integrated circuit, characterized in that a computer is executed.
JP2009292507A 2009-12-24 2009-12-24 Method for designing semiconductor integrated circuit and program Withdrawn JP2011134072A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009292507A JP2011134072A (en) 2009-12-24 2009-12-24 Method for designing semiconductor integrated circuit and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009292507A JP2011134072A (en) 2009-12-24 2009-12-24 Method for designing semiconductor integrated circuit and program

Publications (1)

Publication Number Publication Date
JP2011134072A true JP2011134072A (en) 2011-07-07

Family

ID=44346742

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009292507A Withdrawn JP2011134072A (en) 2009-12-24 2009-12-24 Method for designing semiconductor integrated circuit and program

Country Status (1)

Country Link
JP (1) JP2011134072A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017138951A (en) * 2016-01-28 2017-08-10 ルネサスエレクトロニクス株式会社 Semiconductor device and power feeding system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017138951A (en) * 2016-01-28 2017-08-10 ルネサスエレクトロニクス株式会社 Semiconductor device and power feeding system

Similar Documents

Publication Publication Date Title
US20110239069A1 (en) Sequential digital circuitry with test scan
JP2004172373A (en) Crosstalk correction method
US10699054B2 (en) Standard cell library, integrated circuit including synchronous circuit, and computing system for designing the integrated circuit
US8086989B2 (en) Structure for glitchless clock multiplexer optimized for synchronous and asynchronous clocks
US6425115B1 (en) Area efficient delay circuits
US20100253409A1 (en) Clock generation system and clock dividing module
US20090271747A1 (en) Logic circuit designing device, logic circuit designing method and logic circuit designing program for asynchronous logic circuit
US9697309B1 (en) Metastability-hardened synchronization circuit
JP2007053680A (en) Semiconductor integrated circuit device
US9449127B1 (en) System for verifying timing constraints of IC design
Takizawa et al. A design support tool set for asynchronous circuits with bundled-data implementation on FPGAs
JP2008065457A (en) Method and system for designing semiconductor integrated circuit
JP2011134072A (en) Method for designing semiconductor integrated circuit and program
Bhaskara et al. A Robust CTS algorithm using the H-Tree to minimize local skews of higher frequency targets of the SOC designs
JP3703333B2 (en) Logical connection information converter
US9960771B2 (en) Hum generation using representative circuitry
JP4425300B2 (en) Semiconductor integrated circuit device design program and recording medium
JP2005277909A (en) Logical circuit, and system, method, and program for designing logical circuit
TWI821198B (en) Integrated circuit, non-transitory computer readable medium and computing system
JP6322888B2 (en) Semiconductor test program, semiconductor test apparatus, and semiconductor test method
Hassan et al. Optimization of circuitry for power and area efficiency by using combination between latch and register
JP2011164988A (en) Design device
JPWO2011074044A1 (en) Integrated circuit power consumption calculation method, power consumption calculation program, and power consumption calculation device
JP2014006564A (en) Semiconductor integrated circuit design method and design program
JP2004127012A (en) Synchronous circuit and its design method

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20130305