JP6070100B2 - Circuit design method, circuit design program, and circuit design apparatus - Google Patents

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

Info

Publication number
JP6070100B2
JP6070100B2 JP2012253541A JP2012253541A JP6070100B2 JP 6070100 B2 JP6070100 B2 JP 6070100B2 JP 2012253541 A JP2012253541 A JP 2012253541A JP 2012253541 A JP2012253541 A JP 2012253541A JP 6070100 B2 JP6070100 B2 JP 6070100B2
Authority
JP
Japan
Prior art keywords
flip
groups
group
flop
circuit design
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012253541A
Other languages
Japanese (ja)
Other versions
JP2014102640A (en
Inventor
潤 ト部
潤 ト部
亨 ▲高▼野
亨 ▲高▼野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Socionext Inc
Original Assignee
Socionext Inc
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 Socionext Inc filed Critical Socionext Inc
Priority to JP2012253541A priority Critical patent/JP6070100B2/en
Publication of JP2014102640A publication Critical patent/JP2014102640A/en
Application granted granted Critical
Publication of JP6070100B2 publication Critical patent/JP6070100B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Description

本発明は、回路設計方法、回路設計プログラムおよび回路設計装置に関し、例えば、フリップフロップを配置する回路設計方法、回路設計プログラムおよび回路設計装置に関する。   The present invention relates to a circuit design method, a circuit design program, and a circuit design apparatus. For example, the present invention relates to a circuit design method, a circuit design program, and a circuit design apparatus for arranging flip-flops.

高集積回路には、複数のクロック周波数で動作する複数のフリップフロップ(FF:Flip Flop)が用いられている。FFはリセット信号によりリセットされる。FFを複数のグループに分けて配置することが知られている(例えば、特許文献1から3)   In a highly integrated circuit, a plurality of flip-flops (FF) that operate at a plurality of clock frequencies are used. The FF is reset by a reset signal. It is known that FFs are arranged in a plurality of groups (for example, Patent Documents 1 to 3).

特開平3−43811号公報JP-A-3-43811 特開2005−182378号公報JP 2005-182378 A 特開平7−142963号公報JP-A-7-142963

異なるクロック周波数が供給される複数のFFにリセット信号を分配すると、クロックスキューが生じることがある。例えば、クロックスキューがクロック周期を越えてしまうと、FFが正常に動作しない。このように、クロックスキューがクロック周期を越えないように、集積回路上のFFの配置を行なう。しかしながら、クロックスキューを所定内に収めるようにFFを配置することが難しくなることがある。   If the reset signal is distributed to a plurality of FFs supplied with different clock frequencies, clock skew may occur. For example, if the clock skew exceeds the clock period, the FF does not operate normally. In this way, the FFs are arranged on the integrated circuit so that the clock skew does not exceed the clock period. However, it may be difficult to arrange the FFs so that the clock skew is within a predetermined range.

本回路設計方法、回路設計プログラムおよび回路設計装置は、FFを容易に配置することを目的とする。   The circuit design method, the circuit design program, and the circuit design apparatus are intended to easily arrange the FFs.

複数の第1フリップフロップを、クロック周波数ごとに複数の第1グループにグループ分けするステップと、前記複数の第1グループごとに、前記複数の第1フリップフロップにリセット信号を供給する第2フリップフロップを配置するステップと、前記第2フロップフリップから対応する第1グループに含まれる前記複数の第1フリップフロップへの前記リセット信号の遅延時間が所望値を満足しない場合、前記対応する第1グループを複数の第2グループにグループ分けするステップと、前記複数の第2グループごとに、前記第2フリップフロップを配置するステップと、を含むことを特徴とする回路設計方法、回路設計プログラムおよび回路設計装置を用いる。 Grouping a plurality of first flip-flops into a plurality of first groups for each clock frequency, and a second flip-flop supplying a reset signal to the plurality of first flip-flops for each of the plurality of first groups And when the delay time of the reset signal from the second flop flip to the plurality of first flip-flops included in the corresponding first group does not satisfy a desired value, the corresponding first group is A circuit design method, a circuit design program, and a circuit design apparatus , comprising: grouping into a plurality of second groups; and arranging the second flip-flop for each of the plurality of second groups. Is used.

本回路設計方法、回路設計プログラムおよび回路設計装置によれば、FFを容易に配置することができる。   According to the present circuit design method, circuit design program, and circuit design apparatus, FFs can be easily arranged.

図1は、クロックツリーについて説明する図である。FIG. 1 is a diagram illustrating a clock tree. 図2は、同期リセット回路について説明する図である。FIG. 2 is a diagram illustrating a synchronous reset circuit. 図3は、実施例1に係る回路設計装置として機能するコンピュータのブロック図である。FIG. 3 is a block diagram of a computer that functions as the circuit design apparatus according to the first embodiment. 図4は、実施例1が用いられる集積回路の設計フローを示すフローチャートである。FIG. 4 is a flowchart showing a design flow of an integrated circuit in which the first embodiment is used. 図5は、実施例1に係る回路設計方法を示すフローチャートである。FIG. 5 is a flowchart illustrating the circuit design method according to the first embodiment. 図6は、実施例1に係る回路設計方法により配置されたFFの同期リセット回路を示す図である。FIG. 6 is a diagram illustrating the FF synchronous reset circuit arranged by the circuit design method according to the first embodiment. 図7は、実施例2に係る回路設計方法を示すフローチャートである。FIG. 7 is a flowchart illustrating the circuit design method according to the second embodiment. 図8(a)から図8(f)は、データ構造を示す図である。FIG. 8A to FIG. 8F are diagrams showing data structures. 図9(a)から図9(c)は、FFの配置を示す図である。FIG. 9A to FIG. 9C are diagrams showing the arrangement of FFs. 図10は、余裕時間を説明する図である。FIG. 10 is a diagram for explaining the margin time. 図11は、図7のステップS42における回路設計方法を示すフローチャートである。FIG. 11 is a flowchart showing the circuit design method in step S42 of FIG. 図12(a)から図12(c)は、FFの配置を示す図である。FIG. 12A to FIG. 12C are diagrams showing the arrangement of FFs. 図13は、データ構造を示す図である。FIG. 13 is a diagram illustrating a data structure. 図14は、図11のステップS60における回路設計方法を示すフローチャートである。FIG. 14 is a flowchart showing the circuit design method in step S60 of FIG. 図15(a)から図15(c)は、FFの配置を示す図である。Fig.15 (a) to FIG.15 (c) is a figure which shows arrangement | positioning of FF. 図16は、データ構造を示す図である。FIG. 16 is a diagram illustrating a data structure.

図1は、クロックツリーについて説明する図である。図1を参照し、1つの集積回路100には、例えば数万から数百万個の第1FF31および32が配置される。PLL(Phase
Locked Loop)等の発振器39は、クロックを出力する。FF34は、第1FF31に高周波数クロック信号CKHを供給するFFである。FF34のクロック端子CKにクロックが入力する。FF34の出力端子Qから出力された信号はインバータ37を介しFF34のデータ端子Dに入力する。これにより、FF34は、発振器39の出力信号を1回分周して出力する。FF34の出力は、各第1FF31のクロック端子CKに入力する。FF35は、第1FF32に低周波数クロック信号CKLを供給するFFである。FF35のクロック端子CKにFF34の出力が入力する。FF35の出力端子Qから出力された信号はインバータ37を介しFF35のデータ端子Dに入力する。これにより、FF35は、FF34の出力信号を1回分周して出力する。FF35の出力は、各第1FF32のクロック端子CKに入力する。バッファ38は、クロック信号の駆動能力を向上させる。
FIG. 1 is a diagram illustrating a clock tree. Referring to FIG. 1, for example, tens of thousands to millions of first FFs 31 and 32 are arranged in one integrated circuit 100. PLL (Phase
An oscillator 39 such as “Locked Loop” outputs a clock. The FF 34 is an FF that supplies the high-frequency clock signal CKH to the first FF 31. A clock is input to the clock terminal CK of the FF 34. A signal output from the output terminal Q of the FF 34 is input to the data terminal D of the FF 34 via the inverter 37. As a result, the FF 34 divides the output signal of the oscillator 39 once and outputs it. The output of the FF 34 is input to the clock terminal CK of each first FF 31. The FF 35 is an FF that supplies the low-frequency clock signal CKL to the first FF 32. The output of the FF 34 is input to the clock terminal CK of the FF 35. The signal output from the output terminal Q of the FF 35 is input to the data terminal D of the FF 35 via the inverter 37. Thereby, the FF 35 divides the output signal of the FF 34 once and outputs it. The output of the FF 35 is input to the clock terminal CK of each first FF 32. The buffer 38 improves the driving capability of the clock signal.

以上により、第1FF31には、発振器39の発振周波数の1/2の周波数の高周波数クロック信号CKHが入力する。第1FF32には、発振器39の発振周波数の1/4の低周波数クロック信号CKLが入力する。集積回路100には、発振器39の発振周波数の1/8、1/16等の3以上の周波数のクロック信号が用いられる場合もある。しかしながら、簡単に説明するため、以下の実施例においては、2つのクロック周波数の場合を例に説明する。   As described above, the high-frequency clock signal CKH having a frequency half that of the oscillation frequency of the oscillator 39 is input to the first FF 31. A low-frequency clock signal CKL that is ¼ of the oscillation frequency of the oscillator 39 is input to the first FF 32. In the integrated circuit 100, a clock signal having a frequency of 3 or more such as 1/8 or 1/16 of the oscillation frequency of the oscillator 39 may be used. However, for the sake of simplicity, in the following embodiments, the case of two clock frequencies will be described as an example.

図2は、同期リセット回路について説明する図である。図1において説明したように第1FF31および32は、クロック周波数が異なる。図2を参照し、第1FF31は高周波数クロック信号CKHで動作し、第1FF32は低周波数クロック信号CKLで動作する。第2FF33は、クロック端子CKに高周波数クロック信号CKHが入力し、第1FF31および32のリセット端子Rにリセット信号Resetを供給する。リセット信号Resetは、FF間のリセットの同期をとるための同期リセット信号である。バッファ35は、リセット信号Resetの駆動能力を向上させる。   FIG. 2 is a diagram illustrating a synchronous reset circuit. As described in FIG. 1, the first FFs 31 and 32 have different clock frequencies. Referring to FIG. 2, the first FF 31 operates with the high frequency clock signal CKH, and the first FF 32 operates with the low frequency clock signal CKL. The second FF 33 receives the high frequency clock signal CKH at the clock terminal CK and supplies the reset signal Reset to the reset terminals R of the first FFs 31 and 32. The reset signal Reset is a synchronous reset signal for synchronizing reset between FFs. The buffer 35 improves the driving capability of the reset signal Reset.

図1のように、周波数の異なるクロック信号は、クロック信号の生成場所が異なる。また、駆動する第1FF31および32の数が異なる。また、低周波数クロック信号CKLは、高周波数クロック信号CKHから生成される。これらにより、周波数の異なるクロック信号間でクロックスキューが発生し易くなる。これにより、FFを集積回路に配置する際に、クロック信号のタイミング収束が難しくなる。例えば、クロック信号のタイミングが規定内に収まるようFFを配置することが難しくなる。さらに、リセット信号の収束も難しくなる。例えば、リセット信号のタイミングが規定内に収まるようFFを配置することが難しくなる。よって、集積回路上へのFFの配置が難しくなる   As shown in FIG. 1, clock signals having different frequencies are generated at different locations. Further, the number of first FFs 31 and 32 to be driven is different. The low frequency clock signal CKL is generated from the high frequency clock signal CKH. As a result, clock skew easily occurs between clock signals having different frequencies. This makes it difficult to converge the timing of the clock signal when the FF is arranged in the integrated circuit. For example, it becomes difficult to arrange the FFs so that the timing of the clock signal is within a specified range. Further, the convergence of the reset signal becomes difficult. For example, it becomes difficult to arrange the FFs so that the timing of the reset signal falls within a specified range. Therefore, it becomes difficult to arrange the FF on the integrated circuit.

以下に、集積回路上へのFFの配置を容易とする実施例について説明する。   In the following, an embodiment for facilitating the arrangement of FFs on an integrated circuit will be described.

図3は、実施例1に係る回路設計装置として機能するコンピュータのブロック図である。コンピュータ10は、回路設計方法および回路設計プログラムを実行する。コンピュータ10は、プロセッサであるCPU(Central
Processing Unit)11、表示装置12、入力装置13および出力装置14を備えている。さらに、コンピュータ10は、主記憶装置15、ハードディスクドライブ(HDD)16、記憶媒体用ドライブ17、通信インターフェース18および内部バス19を備えている。表示装置12は、例えば液晶パネル等の表示パネルを含み、処理結果等を表示する。入力装置13は、例えばキーボード、マウスおよびタッチパネル等であり、処理データ等を入力する。出力装置14は、例えばプリンタであり、処理結果等を出力する。主記憶装置15は、例えばDRAM(Dynamic
Random Access Memory)等の揮発性メモリであり、処理中のデータを記憶する。HDD16は、例えば処理中または処理後のデータを記憶する。記憶媒体用ドライブ17は、記憶媒体21に格納されたプログラムをインストールする際に用いる。または、処理後のデータを記憶媒体21に記憶させる。通信インターフェース18は、他のコンピュータ20と接続し、他のコンピュータ20とデータの送受信を行なう。内部バス19は、コンピュータ10内の各装置を接続する。コンピュータ10は、ソフトウエアと協働し、第1ユニットおよび第2ユニットとして機能する。
FIG. 3 is a block diagram of a computer that functions as the circuit design apparatus according to the first embodiment. The computer 10 executes a circuit design method and a circuit design program. The computer 10 is a CPU (Central
Processing Unit) 11, display device 12, input device 13, and output device 14. The computer 10 further includes a main storage device 15, a hard disk drive (HDD) 16, a storage medium drive 17, a communication interface 18, and an internal bus 19. The display device 12 includes a display panel such as a liquid crystal panel, for example, and displays processing results and the like. The input device 13 is, for example, a keyboard, a mouse, and a touch panel, and inputs processing data and the like. The output device 14 is a printer, for example, and outputs a processing result or the like. The main storage device 15 is, for example, a DRAM (Dynamic
It is a volatile memory such as Random Access Memory, and stores data being processed. The HDD 16 stores, for example, data during or after processing. The storage medium drive 17 is used when a program stored in the storage medium 21 is installed. Alternatively, the processed data is stored in the storage medium 21. The communication interface 18 is connected to another computer 20 and transmits / receives data to / from the other computer 20. The internal bus 19 connects each device in the computer 10. The computer 10 functions as a first unit and a second unit in cooperation with software.

プログラムを格納するコンピュータ10が読み取り可能な記憶媒体21として可搬型記憶媒体を用いることができる。可搬型記憶媒体としては、例えば、CD−ROM(Compact
Disc Read Only Memory)ディスク、DVD(Digital Video Disc)ディスク、ブルーレイディスクまたはUSB(Universal
Serial Bus)メモリ等を用いることができる。記憶媒体21として、フラッシュメモリまたはHDD等を用いてもよい。
A portable storage medium can be used as the storage medium 21 readable by the computer 10 storing the program. As a portable storage medium, for example, a CD-ROM (Compact
Disc Read Only Memory (DVD) disc, DVD (Digital Video Disc) disc, Blu-ray Disc or USB (Universal
Serial Bus) memory or the like can be used. As the storage medium 21, a flash memory or an HDD may be used.

図4は、実施例1が用いられる集積回路の設計フローを示すフローチャートである。図4を参照し、FFのネットワークを示すネットリストと、FFのクロック周波数および位置情報を含むSDC(Synopsys
Design Constraints)等を用い初期のFF配置を行なう(ステップS10)。例えば、フロアプランを用い、ハードマクロの位置を検証し、ネットリスト上の全てのセルの配置をフレーム上に実施する。次に、CTS(Clock
Tree Synthesys)前のFF配置の最適化を行なう(ステップS12)。例えば、クロックが同期したレジスタおよびハードマクロにクロック信号のスキューが0として、DRC(Design
Rule Check)のエラー修正、タイミングの最適化、面積の削減および消費電力ー削減を行なう。次に、クロックツリーを作成する(ステップS14)。例えば、クロック信号用のバッファ等を配置する。
FIG. 4 is a flowchart showing a design flow of an integrated circuit in which the first embodiment is used. Referring to FIG. 4, an SDC (Synopsys) including a netlist indicating the FF network and the clock frequency and position information of the FF.
The initial FF placement is performed using Design Constraints) (step S10). For example, the floor plan is used to verify the position of the hard macro, and all the cells on the net list are arranged on the frame. Next, CTS (Clock
The FF arrangement before Tree Synthesys is optimized (step S12). For example, if the clock signal skew is 0 in a register and a hard macro synchronized with the clock, the DRC (Design
Rule Check) error correction, timing optimization, area reduction and power consumption reduction. Next, a clock tree is created (step S14). For example, a clock signal buffer or the like is arranged.

次に、CTS後のデータに最適化を行なう(ステップS16)。クロック信号のスキューは実際の値となる。この状態で、DRCのエラー修正、タイミングの最適化、面積の削減および消費電力ー削減を行なう。次に、データに対して配線処理を行なう(ステップS18)。例えば、各セルおよび各ハードマクロのデジタル信号端子に対し、タイミングを考慮しながら、配線処理を行なう。これにより、ソフトウエア上において各セルおよび各ハードマクロが物理的な配線で繋がる。   Next, the data after CTS is optimized (step S16). The skew of the clock signal is an actual value. In this state, DRC error correction, timing optimization, area reduction, and power consumption reduction are performed. Next, a wiring process is performed on the data (step S18). For example, the wiring process is performed for the digital signal terminals of each cell and each hard macro while considering the timing. Thereby, each cell and each hard macro are connected by physical wiring on software.

実施例1および2は、例えばステップS12および/またはS16におけるタイミングの最適化において用いられる。   Examples 1 and 2 are used, for example, in timing optimization in steps S12 and / or S16.

図5は、実施例1に係る回路設計方法を示すフローチャートである。図6は、実施例1に係る回路設計方法により配置されたFFの同期リセット回路を示す図である。複数の第1FF31が配置されている。図5および図6に示すように、第1ユニットは、配置された複数の第1FF31および32を、クロック周波数ごとの第1グループ41および42にグループ分けする(ステップS20)。例えば第1グループ41内の第1FF31は、高周波数クロック動作するFFであり、第1グループ42内の第1FF32は、低周波数クロック動作するFFである。第2ユニットは、第1グループ41および42ごとに複数の第1FF31および32にリセット信号Resetを供給する第2FF33aから33cを配置する(ステップS22)。例えば、第1グループ41は、さらに第2グループ43および44に分割されている。第2グループ43内の第1FF31は、第2FF33aの出力端子からリセット信号Resetの供給を受ける。第2グループ44内の第1FF31は、第2FF33bの出力端子からリセット信号Resetの供給を受ける。第1グループ42内の第1FF32は、第2FF33cの出力端子からリセット信号Resetの供給を受ける。   FIG. 5 is a flowchart illustrating the circuit design method according to the first embodiment. FIG. 6 is a diagram illustrating the FF synchronous reset circuit arranged by the circuit design method according to the first embodiment. A plurality of first FFs 31 are arranged. As shown in FIGS. 5 and 6, the first unit groups the plurality of arranged first FFs 31 and 32 into first groups 41 and 42 for each clock frequency (step S20). For example, the first FF 31 in the first group 41 is an FF that operates at a high frequency clock, and the first FF 32 in the first group 42 is an FF that operates at a low frequency clock. The second unit arranges the second FFs 33a to 33c that supply the reset signal Reset to the plurality of first FFs 31 and 32 for each of the first groups 41 and 42 (step S22). For example, the first group 41 is further divided into second groups 43 and 44. The first FF 31 in the second group 43 receives the reset signal Reset from the output terminal of the second FF 33a. The first FF 31 in the second group 44 receives the reset signal Reset from the output terminal of the second FF 33b. The first FF 32 in the first group 42 is supplied with the reset signal Reset from the output terminal of the second FF 33c.

実施例1によれば、クロック周波数ごとに複数の第1FF31および32にリセット信号Resetを供給する第2FF33aから33cを配置する。これにより、リセット信号のタイミングが収束しやすくなる。よって、第2FF33aから33cの配置が容易となる。   According to the first embodiment, the second FFs 33a to 33c that supply the reset signal Reset to the plurality of first FFs 31 and 32 are arranged for each clock frequency. This facilitates the convergence of the reset signal timing. Therefore, the arrangement of the second FFs 33a to 33c is facilitated.

実施例2は、実施例1の具体例である。実施例2として機能するコンピュータは、実施例1の図3と同じであり説明を省略する。実施例2が用いられる集積回路の設計フローを示すフローチャートは、実施例1の図4と同じであり説明を省略する。   The second embodiment is a specific example of the first embodiment. The computer functioning as the second embodiment is the same as that of the first embodiment shown in FIG. The flowchart showing the design flow of the integrated circuit in which the second embodiment is used is the same as that of FIG.

図7は、実施例2に係る回路設計方法を示すフローチャートである。図8(a)から図8(f)は、データ構造を示す図である。図9(a)から図9(c)は、FFの配置を示す図である。図7を参照し、コンピュータ10はネットリスト、SDC、DEF(Definition)、Lib(Library)を用い、以下のフローを行なう。DEFは、セルの配置座標、電源配線、信号配線の情報を含む。Libは、セルの遅延時間、セットアップおよびホールド等の規格値、電力情報を含む。コンピュータ10は、第1FF31および32並びに第2FF33を配置する(ステップS30)。例えば、図8(a)に示すように、コンピュータ10は、集積回路全体のリセットおよびプリセット付き第1FFを抽出する。図8(a)の例では、第1FF31は、Reg1からReg4であり、それぞれのクロック周波数は270MHz、270MHz、60MHzおよび60MHzである。位置情報は、各第1FF31が配置される座標を示しており、例えばX座標およびY座標を示している。コンピュータ10は、第1FF、周波数及び位置情報を例えばHDD16内のデータベースに記憶する。図8(b)に示すように、第1FF31にリセット信号を供給する第2FF33を抽出する。第2FF33は、Reg01であり、クロック周波数は270MHzである。コンピュータ10は、第2FF、周波数及び位置情報をデータベースに記憶する。図9(a)に示すように、第1FF31および第2FF33を配置する。第2FF33の前段のFFは第3FF50である。   FIG. 7 is a flowchart illustrating the circuit design method according to the second embodiment. FIG. 8A to FIG. 8F are diagrams showing data structures. FIG. 9A to FIG. 9C are diagrams showing the arrangement of FFs. Referring to FIG. 7, the computer 10 performs the following flow using a netlist, SDC, DEF (Definition), and Lib (Library). The DEF includes information on cell arrangement coordinates, power supply wiring, and signal wiring. The Lib includes cell delay time, standard values such as setup and hold, and power information. The computer 10 arranges the first FFs 31 and 32 and the second FF 33 (step S30). For example, as shown in FIG. 8A, the computer 10 extracts the reset of the entire integrated circuit and the first FF with preset. In the example of FIG. 8A, the first FF 31 is Reg1 to Reg4, and the respective clock frequencies are 270 MHz, 270 MHz, 60 MHz, and 60 MHz. The position information indicates the coordinates at which each first FF 31 is arranged, for example, the X coordinate and the Y coordinate. The computer 10 stores the first FF, frequency, and position information in, for example, a database in the HDD 16. As shown in FIG. 8B, the second FF 33 that supplies the reset signal to the first FF 31 is extracted. The second FF 33 is Reg01 and the clock frequency is 270 MHz. The computer 10 stores the second FF, frequency, and position information in a database. As shown to Fig.9 (a), 1st FF31 and 2nd FF33 are arrange | positioned. The FF preceding the second FF 33 is a third FF 50.

コンピュータ10は、第1FF31と第2FF33との位置情報と、ファンアウト(F/O)数と、から、バッファ36を配置した後の遅延時間を予想する。図8(c)は、遅延時間の予想のためのテーブル例である。図8(c)に示すように、第2FF33から第1FF31を接続する配線の総配線長と第2FF33のファンアウト数と、リセット信号Resetの遅延時間と、が対応付けられている。図8(c)のテーブルは、例えばHDD16にデータベースとして記憶されている。これにより、第2FF33に接続される総配線長およびファンアウト数が決まれば、遅延時間が予想できる。なお、図8(c)のテーブルは、例えばバッファ36を配置した後のものである。図8(d)に示すように、第2FF33であるReg01から第1FF31であるReg1からReg4へのリセット信号の遅延時間はそれぞれ8nsと予想される。コンピュータ10は、遅延時間をデータベースに記憶する。   The computer 10 predicts the delay time after the buffer 36 is arranged from the position information of the first FF 31 and the second FF 33 and the fanout (F / O) number. FIG. 8C is an example of a table for predicting the delay time. As shown in FIG. 8C, the total wiring length of the wiring connecting the second FF 33 to the first FF 31, the fan-out number of the second FF 33, and the delay time of the reset signal Reset are associated with each other. The table in FIG. 8C is stored as a database in the HDD 16, for example. Thereby, if the total wiring length and fan-out number connected to the second FF 33 are determined, the delay time can be predicted. Note that the table in FIG. 8C is, for example, after the buffer 36 is arranged. As shown in FIG. 8D, the delay time of the reset signal from Reg01, which is the second FF33, to Reg4, which is the first FF31, is expected to be 8 ns. The computer 10 stores the delay time in a database.

図7を参照し、コンピュータ10は、各第1FF31における遅延時間が所望値を満足するかを判断する(ステップS32)。例えば、コンピュータ10は、予想した各第1FF31の予想遅延時間がタイミングコンストレイントに違反するかを判断する。違反する場合Noと判断する。違反しない場合Yesと判断する。ここで、タイミングコンストレイントは、各FFにおけるリセット信号等のタイミングの許容範囲を規定したものである。Yesの場合、終了する。Noの場合、コンピュータ10は、再度、第2FF33を配置する(ステップS34)。   Referring to FIG. 7, the computer 10 determines whether or not the delay time in each first FF 31 satisfies a desired value (step S32). For example, the computer 10 determines whether the predicted delay time of each predicted first FF 31 violates the timing constraint. If it violates, it is judged as No. If there is no violation, it is determined as Yes. Here, the timing constraint defines an allowable timing range such as a reset signal in each FF. If yes, end. In No, the computer 10 arrange | positions 2nd FF33 again (step S34).

例えば、コンピュータ10は、第2FF33の第3FF50とのタイミングの余裕時間を取得する。図10は、余裕時間を説明する図である。図10に示すように、第1FF31にリセット信号Resetを供給する第2FF33のデータ端子Dには、前段の第3FF50の出力端子Qからの信号が入力する。コンピュータ10は、第3FF50と第2FF33とを接続する配線長T1から信号の遅延時間を算出する。コンピュータ10は、第2FF33に許容されるタイミングとの余裕時間を算出する。余裕時間は、第3FF50から第2FF33への信号がさらに余裕時間以上遅延すると許容できないことを示している。図10のように、第3FF50から第2FF33までの経路が複数ある場合は、最も余裕時間の小さい時間を余裕時間とする。図8(e)に示すように、第2FF33であるReg01の余裕時間は、例えば1.2nsである。コンピュータ10は、余裕時間をデータベースに記憶する。   For example, the computer 10 acquires a margin time of the timing of the second FF 33 and the third FF 50. FIG. 10 is a diagram for explaining the margin time. As shown in FIG. 10, the signal from the output terminal Q of the third FF 50 in the previous stage is input to the data terminal D of the second FF 33 that supplies the reset signal Reset to the first FF 31. The computer 10 calculates a signal delay time from the wiring length T1 connecting the third FF 50 and the second FF 33. The computer 10 calculates a margin time with the timing allowed for the second FF 33. The margin time indicates that the signal from the third FF 50 to the second FF 33 is not allowed if the signal is further delayed by the margin time or more. As shown in FIG. 10, when there are a plurality of paths from the third FF 50 to the second FF 33, the time with the smallest margin time is set as the margin time. As shown in FIG. 8E, the margin time of Reg01 which is the second FF 33 is, for example, 1.2 ns. The computer 10 stores the spare time in the database.

コンピュータ10は、図9(b)に示すように、第2FF33を第1FF31の平均座標55に配置する。例えば第1FF31のX座標およびY座標のそれぞれの平均を平均座標55とする。図8(f)に示すように、第2FF33の位置情報は、第1FF31であるReg1からReg4の平均座標となる。コンピュータ10は、余裕時間を算出する。図9(b)においては、図9(a)に比べ、第2FF33と第3FF50との距離が長くなる。よって、図8(e)に比べ図8(f)は、余裕時間が短くなる。コンピュータ10は、余裕時間をデータベースに記憶する。   As shown in FIG. 9B, the computer 10 arranges the second FF 33 at the average coordinate 55 of the first FF 31. For example, the average of the X coordinate and Y coordinate of the first FF 31 is set as the average coordinate 55. As shown in FIG. 8F, the position information of the second FF 33 is the average coordinates of Reg1 to Reg4 which are the first FF31. The computer 10 calculates a margin time. In FIG. 9B, the distance between the second FF 33 and the third FF 50 is longer than in FIG. 9A. Therefore, the margin time is shorter in FIG. 8F than in FIG. The computer 10 stores the spare time in the database.

図7を参照し、コンピュータ10は、余裕時間が所望値を満足するかを判断する(ステップS36)。すなわち、コンピュータ10は、第3FF50から第2FF33への遅延時間が所望値を満足するか判断する。例えば、コンピュータ10は、余裕時間がタイミングコンストレイントに違反する場合、Noと判断する。違反しない場合、Yesと判断する。Yesの場合ステップS40に進む。Noの場合、コンピュータ10は、第2FF33を移動する(ステップS38)。ステップS36に戻る。図9(c)に示すように、例えば、コンピュータ10は、第2FF33を、余裕時間が改善するように、所定距離移動させる。例えば最小グリッド移動させる。これにより、第2FF33は、余裕時間が所望値を満足する程度まで、第3FF50に近づく。第3FF50から第2FF33に接続する配線長が短くなる。図9(c)に示すように、第2FF33の座標は、平均座標55から座標56に移動する。ステップS38を複数回実行しても余裕時間が所望値を満足しない場合は、図9(b)の第2FF33の位置に戻ることもある。   Referring to FIG. 7, the computer 10 determines whether the margin time satisfies the desired value (step S36). That is, the computer 10 determines whether the delay time from the third FF 50 to the second FF 33 satisfies a desired value. For example, the computer 10 determines No when the surplus time violates the timing constraint. If there is no violation, it is determined as Yes. In the case of Yes, it progresses to step S40. In No, the computer 10 moves 2nd FF33 (step S38). The process returns to step S36. As shown in FIG. 9C, for example, the computer 10 moves the second FF 33 by a predetermined distance so that the margin time is improved. For example, the minimum grid is moved. As a result, the second FF 33 approaches the third FF 50 until the margin time satisfies the desired value. The length of the wiring connected from the third FF 50 to the second FF 33 is shortened. As shown in FIG. 9C, the coordinates of the second FF 33 move from the average coordinates 55 to the coordinates 56. If the margin time does not satisfy the desired value even after step S38 is executed a plurality of times, the process may return to the position of the second FF 33 in FIG. 9B.

ステップS40において、コンピュータ10は、各第1FF31における遅延時間が所望値を満足するかを判断する。例えば、コンピュータ10は、第2FF33が第1FF31を接続する総配線長および第2FF33のファンアウト数から各第1FF31の遅延時間を予想する。コンピュータ10は、予想した各第1FF31の予想遅延時間がタイミングコンストレイントに違反するかを判断する。違反する場合Noと判断する。違反しない場合Yesと判断する。Yesの場合、終了する。Noの場合、ステップS42に進む。   In step S40, the computer 10 determines whether the delay time in each first FF 31 satisfies a desired value. For example, the computer 10 predicts the delay time of each first FF 31 from the total wiring length in which the second FF 33 connects the first FF 31 and the fan-out number of the second FF 33. The computer 10 determines whether the predicted delay time of each predicted first FF 31 violates the timing constraint. If it violates, it is judged as No. If there is no violation, it is determined as Yes. If yes, end. In No, it progresses to Step S42.

ステップS42において、コンピュータ10はクロック周波数ごとに第2FF33を配置する。その後終了する。   In step S42, the computer 10 arranges the second FF 33 for each clock frequency. Then exit.

図11は、図7のステップS42における回路設計方法を示すフローチャートである。図12(a)から図12(c)は、FFの配置を示す図である。図13は、データ構造を示す図である。図11を参照し、コンピュータ10は、第1FFをクロック周波数ごとに第1グループに分割する(ステップS50)。例えば、図12(a)に示すように、第1FFとして、高周波数クロック動作するFF31と低周波数クロック動作するFF32とが配置されている。第1FF31および32には、同じ第2FF33からリセット信号が供給されている。コンピュータ10は、第1FFをFF31を含む第1グループ41とFF32を含む第1グループ42とに分割する。   FIG. 11 is a flowchart showing the circuit design method in step S42 of FIG. FIG. 12A to FIG. 12C are diagrams showing the arrangement of FFs. FIG. 13 is a diagram illustrating a data structure. Referring to FIG. 11, the computer 10 divides the first FF into a first group for each clock frequency (step S50). For example, as shown in FIG. 12A, an FF 31 that operates with a high-frequency clock and an FF 32 that operates with a low-frequency clock are arranged as the first FF. The first FFs 31 and 32 are supplied with a reset signal from the same second FF 33. The computer 10 divides the first FF into a first group 41 including the FF 31 and a first group 42 including the FF 32.

図11を参照し、ステップS52からS60は、第1グループごとに行なうが、以下の説明では、第1グループ41および42についてまとめて説明する。また、第1グループの数が2つの場合を例に説明するが、第1グループの数は3以上でもよい。コンピュータ10は、第2FF33aおよび33cを配置する(ステップS52)。図12(b)に示すように、コンピュータ10は、第1グループ41に対応し第2FF33aを配置し、第1グループ42に対応し第2FF33cを配置する。第2FF33cは、第2FF33aのクローンである。例えば、第2FF33cは第2FF33aと同じ仕様のFFである。第2FF33aおよび33cは、それぞれ第1FF31および32にリセット信号を供給する。コンピュータ10は、第2FF33aおよび33cを、例えばそれぞれ第1FF31および32の平均座標57および58に配置する。コンピュータ10は、第2FF33aおよび33cの余裕時間を算出する。   Referring to FIG. 11, steps S52 to S60 are performed for each first group. In the following description, first groups 41 and 42 will be described together. Although the case where the number of first groups is two will be described as an example, the number of first groups may be three or more. The computer 10 arranges the second FFs 33a and 33c (step S52). As illustrated in FIG. 12B, the computer 10 arranges the second FF 33 a corresponding to the first group 41 and arranges the second FF 33 c corresponding to the first group 42. The second FF 33c is a clone of the second FF 33a. For example, the second FF 33c is an FF having the same specifications as the second FF 33a. The second FFs 33a and 33c supply reset signals to the first FFs 31 and 32, respectively. The computer 10 arranges the second FFs 33a and 33c at, for example, the average coordinates 57 and 58 of the first FFs 31 and 32, respectively. The computer 10 calculates a margin time for the second FFs 33a and 33c.

図11を参照し、コンピュータ10は、余裕時間が所望値を満足するかを判断する(ステップS54)。すなわち、第3FF50から第2FF33aおよび33cへの遅延時間が所望値を満足するか判断する。例えば、コンピュータ10は、余裕時間がタイミングコンストレイントに違反する場合、Noと判断する。違反しない場合、Yesと判断する。Yesの場合ステップS58に進む。Noの場合、コンピュータ10は、第2FF33aおよび33cを移動する(ステップS56)。ステップS54に戻る。図12(c)に示すように、例えば、コンピュータ10は、第2FF33aおよび33cを余裕時間が改善するように、所定距離移動させる。例えば最小グリッド移動させる。これにより、第2FF33aおよび33cは、余裕時間が所望値を満足する程度まで、第3FF50に近づく。図12(c)に示すように、第2FF33aおよび33cの座標は、それぞれ平均座標57および58から座標59および60に移動する。ステップS56を複数回実行しても余裕時間が所望値を満足しない場合は、図12(b)の第2FF33aおよび33cの位置に戻ることもある。   Referring to FIG. 11, computer 10 determines whether the margin time satisfies a desired value (step S54). That is, it is determined whether the delay time from the third FF 50 to the second FFs 33a and 33c satisfies a desired value. For example, the computer 10 determines No when the surplus time violates the timing constraint. If there is no violation, it is determined as Yes. In the case of Yes, it progresses to step S58. In No, the computer 10 moves 2nd FF33a and 33c (step S56). The process returns to step S54. As shown in FIG. 12C, for example, the computer 10 moves the second FFs 33a and 33c by a predetermined distance so as to improve the margin time. For example, the minimum grid is moved. Thereby, 2nd FF33a and 33c approach 3rd FF50 to such an extent that margin time satisfies desired value. As shown in FIG. 12C, the coordinates of the second FFs 33a and 33c move from the average coordinates 57 and 58 to the coordinates 59 and 60, respectively. If the margin time does not satisfy the desired value even after step S56 is executed a plurality of times, the process may return to the positions of the second FFs 33a and 33c in FIG.

ステップS58において、コンピュータ10は、各第1FF31および32における遅延時間が所望値を満足するかを判断する。例えば、コンピュータ10は、各第2FF33aおよび33cが各第1FF31および32を接続する総配線長および各第2FF33aおよび33cのファンアウト数から各第1FF31および32の遅延時間を予想する。コンピュータ10は、予想した各第1FF31および32の予想遅延時間がタイミングコンストレイントに違反するかを判断する。違反する場合Noと判断する。違反しない場合Yesと判断する。Yesの場合、ステップS62に進む。Noの場合、ステップS60に進む。   In step S58, the computer 10 determines whether the delay time in each of the first FFs 31 and 32 satisfies a desired value. For example, the computer 10 predicts the delay time of each first FF 31 and 32 from the total wiring length in which each second FF 33a and 33c connects each first FF 31 and 32 and the fanout number of each second FF 33a and 33c. The computer 10 determines whether the predicted delay time of each predicted first FF 31 and 32 violates the timing constraint. If it violates, it is judged as No. If there is no violation, it is determined as Yes. In the case of Yes, it progresses to step S62. In No, it progresses to Step S60.

ステップS60において、コンピュータ10は、第1グループ41および42を第2グループに分割し、第2グループごとに第2FFを配置する。その後、ステップS62に進む。   In step S60, the computer 10 divides the first groups 41 and 42 into the second groups, and arranges the second FF for each second group. Thereafter, the process proceeds to step S62.

ステップS62において、コンピュータ10は、最後の第1グループか判断する。例えば、全ての第1グループ(クロック周波数)の第2FFの配置が終了した場合、Yesと判断する。Yesの場合終了し、図7に戻る。Noの場合、次の第1グループとする(ステップS64)。例えば、コンピュータ10は、次のクロック周波数の第1グループに対しステップS52からS60を実行する。   In step S62, the computer 10 determines whether it is the last first group. For example, when the arrangement of the second FFs of all the first groups (clock frequencies) is completed, it is determined as Yes. In the case of Yes, it ends and returns to FIG. In No, it is set as the following 1st group (step S64). For example, the computer 10 executes steps S52 to S60 for the first group of the next clock frequency.

図13に示すように、クロック周波数が270MHzのReg1からReg3にリセット信号を供給する第2FF33aであるReg01が設けられる。さらに、クロック周波数が66MHzのReg4から6にリセット信号を供給するReg02とが設けられる。Reg1からReg3は第1FF31であり、Reg4からReg6は第1FF32である。Reg01は第2FF33aであり、Reg02は第2FF33cである。コンピュータ10は、第2FF33aおよび33cの位置情報、余裕時間、各第1FFの遅延時間をデータベースに記憶する。   As shown in FIG. 13, Reg01 which is a second FF 33a for supplying a reset signal from Reg1 to Reg3 having a clock frequency of 270 MHz is provided. Furthermore, Reg02 for supplying a reset signal from Reg4 to 6 having a clock frequency of 66 MHz is provided. Reg1 to Reg3 are the first FF31, and Reg4 to Reg6 are the first FF32. Reg01 is the second FF 33a, and Reg02 is the second FF 33c. The computer 10 stores the position information of the second FFs 33a and 33c, the margin time, and the delay time of each first FF in the database.

図14は、図11のステップS60における回路設計方法を示すフローチャートである。図15(a)から図15(c)は、FFの配置を示す図である。図16は、データ構造を示す図である。図15(a)から図15(c)および図16は、第1グループ42の第1FF32については記載を省略している。図14を参照し、コンピュータ10は、第1FF31を座標に基づき複数の第2グループ43および44に分割する(ステップS70)。例えば、図15(a)に示すように、複数の第1FF31と、複数の第1FF31にリセット信号を供給する1つの第2FF33が配置されている。コンピュータ10は、第1FF31の座標に基づき第1FF31が含まれる第1グループ41を複数の第2グループ43および44に分割する。例えば、コンピュータ10は、第1FF31の平均座標(Xa、Ya)を算出する。コンピュータ10は、Y座標がYaより大きい第1FF31を第2グループ43とし、Y座標がYaより小さい第1FF31を第2グループ44とする。   FIG. 14 is a flowchart showing the circuit design method in step S60 of FIG. Fig.15 (a) to FIG.15 (c) is a figure which shows arrangement | positioning of FF. FIG. 16 is a diagram illustrating a data structure. In FIG. 15A to FIG. 15C and FIG. 16, the description of the first FF 32 of the first group 42 is omitted. Referring to FIG. 14, the computer 10 divides the first FF 31 into a plurality of second groups 43 and 44 based on the coordinates (step S70). For example, as shown in FIG. 15A, a plurality of first FFs 31 and one second FF 33 that supplies a reset signal to the plurality of first FFs 31 are arranged. The computer 10 divides the first group 41 including the first FF 31 into a plurality of second groups 43 and 44 based on the coordinates of the first FF 31. For example, the computer 10 calculates the average coordinates (Xa, Ya) of the first FF 31. The computer 10 sets the first FF 31 whose Y coordinate is larger than Ya as the second group 43 and the first FF 31 whose Y coordinate is smaller than Ya as the second group 44.

図14を参照し、ステップS72からS80は、第2グループ43および44ごとに行なうが、以下の説明では、第2グループ43および44についてまとめて説明する。また、第2グループの数が2つの場合について説明するが、第2グループの数は3以上でもよい。コンピュータ10は、第2FF33aおよび33bを配置する(ステップS72)。図15(b)に示すように、第2グループ43に対応し第2FF33aを配置し、第2グループ44に対応し第2FF33bを配置する。第2FF33bは、第2FF33aのクローンである。例えば、第2FF33bは第2FF33aと同じ仕様のFFである。コンピュータ10は、第2FF33aおよび33bを、例えばそれぞれ第2グループ43および44に含まれる第1FF31の平均座標62および63に配置する。コンピュータ10は、余裕時間を算出する。   Referring to FIG. 14, steps S72 to S80 are performed for each of the second groups 43 and 44. In the following description, the second groups 43 and 44 will be described together. Moreover, although the case where the number of 2nd groups is two is demonstrated, the number of 2nd groups may be 3 or more. The computer 10 arranges the second FFs 33a and 33b (step S72). As shown in FIG. 15B, the second FF 33 a is arranged corresponding to the second group 43, and the second FF 33 b is arranged corresponding to the second group 44. The second FF 33b is a clone of the second FF 33a. For example, the second FF 33b is an FF having the same specifications as the second FF 33a. The computer 10 arranges the second FFs 33a and 33b at, for example, the average coordinates 62 and 63 of the first FF 31 included in the second groups 43 and 44, respectively. The computer 10 calculates a margin time.

図14を参照し、コンピュータ10は、余裕時間が所望値を満足するかを判断する(ステップS74)。すなわち、第3FF50から第2FF33aおよび33bへの遅延時間が所望値を満足するか判断する。例えば、コンピュータ10は、余裕時間がタイミングコンストレイントに違反する場合、Noと判断する。違反しない場合、Yesと判断する。Yesの場合ステップS78に進む。Noの場合、コンピュータ10は、第2FF33aおよび33bを移動する(ステップS76)。ステップS74に戻る。図15(c)に示すように、例えば、コンピュータ10は、第2FF33aおよび33bを余裕時間が改善するように、所定距離移動させる。例えば最小グリッド移動させる。これにより、第2FF33aおよび33bは、余裕時間が所望値を満足する程度まで、第3FF50に近づく。図15(c)に示すように、第2FF33aおよび33bの座標は、それぞれ平均座標62および63から座標64および65に移動する。ステップS76を複数回実行しても余裕時間が所望値を満足しない場合は、図15(b)の第2FF33aおよび33bの位置に戻ることもある。   Referring to FIG. 14, the computer 10 determines whether the margin time satisfies a desired value (step S74). That is, it is determined whether the delay time from the third FF 50 to the second FFs 33a and 33b satisfies a desired value. For example, the computer 10 determines No when the surplus time violates the timing constraint. If there is no violation, it is determined as Yes. In the case of Yes, it progresses to step S78. In No, the computer 10 moves 2nd FF33a and 33b (step S76). The process returns to step S74. As shown in FIG. 15C, for example, the computer 10 moves the second FFs 33a and 33b by a predetermined distance so as to improve the margin time. For example, the minimum grid is moved. Thereby, 2nd FF33a and 33b approach 3rd FF50 to such an extent that margin time satisfies desired value. As shown in FIG. 15C, the coordinates of the second FFs 33a and 33b move from the average coordinates 62 and 63 to the coordinates 64 and 65, respectively. If the margin time does not satisfy the desired value even after step S76 is executed a plurality of times, the process may return to the positions of the second FFs 33a and 33b in FIG.

ステップS78において、コンピュータ10は、各第1FF31における遅延時間が所望値を満足するかを判断する。例えば、コンピュータ10は、各第2FF33aおよび33bが各第1FF31を接続する総配線長および各第2FF33aおよび33bのファンアウト数から各第1FF31の遅延時間を予想する。コンピュータ10は、予想した各第1FF31の予想遅延時間がタイミングコンストレイントに違反するかを判断する。違反する場合Noと判断する。違反しない場合Yesと判断する。Yesの場合、ステップS82に進む。Noの場合、ステップS80に進む。   In step S78, the computer 10 determines whether the delay time in each first FF 31 satisfies a desired value. For example, the computer 10 predicts the delay time of each first FF 31 from the total wiring length in which each second FF 33a and 33b connects each first FF 31 and the fan-out number of each second FF 33a and 33b. The computer 10 determines whether the predicted delay time of each predicted first FF 31 violates the timing constraint. If it violates, it is judged as No. If there is no violation, it is determined as Yes. In the case of Yes, it progresses to step S82. In No, it progresses to Step S80.

ステップS80において、コンピュータ10は、FFの配置が難しくフロアプラン等の見直しを推奨する報告を行なう。その後、終了する。   In step S80, the computer 10 reports that it is difficult to arrange the FFs and recommends reviewing the floor plan or the like. Then, the process ends.

ステップS82において、コンピュータ10は、最後の第2グループか判断する。例えば、全ての第2グループの第2FFの配置が終了した場合、Yesと判断する。Yesの場合終了し、図12に戻る。Noの場合、次の第2グループとする(ステップS84)。例えば、コンピュータ10は、次の第2グループに対しステップS52からS60を実行する。   In step S82, the computer 10 determines whether it is the last second group. For example, when the arrangement of the second FFs of all the second groups is completed, it is determined as Yes. In the case of Yes, it ends and returns to FIG. In the case of No, it is set as the next second group (step S84). For example, the computer 10 executes steps S52 to S60 for the next second group.

図16に示すように、第1グループ41に含まれるクロック周波数が270MHzのReg1からReg4を第2グループ43および44に分割する。第2グループ43にはReg03を設け、第2グループ44にはReg04を設ける。Reg1からReg4は第1FF31であり、Reg03は第2FF33aであり、Reg04は第2FF33bである。コンピュータ10は、第2FF33aおよび33bの位置情報、余裕時間、各第1FFの遅延時間およびグループをデータベースに記憶する。   As shown in FIG. 16, Reg1 to Reg4 having a clock frequency of 270 MHz included in the first group 41 are divided into second groups 43 and 44. The second group 43 is provided with Reg03, and the second group 44 is provided with Reg04. Reg1 to Reg4 are the first FF31, Reg03 is the second FF33a, and Reg04 is the second FF33b. The computer 10 stores the position information of the second FFs 33a and 33b, the margin time, the delay time of each first FF, and the group in the database.

実施例2によれば、図11のステップS50のように配置された複数の第1FF31および32を、クロック周波数ごとに複数の第1グループ41および42にグループ分けする。ステップS52のように複数の第1グループ41および42ごとに複数の第1FF31および32にリセット信号を供給する第2FF33aおよび33cを配置する。これにより、実施例1と同様に、クロック周波数ごとに、リセット信号のタイミングが収束しやすくなる。   According to the second embodiment, the plurality of first FFs 31 and 32 arranged as in step S50 of FIG. 11 are grouped into a plurality of first groups 41 and 42 for each clock frequency. As in step S52, second FFs 33a and 33c for supplying a reset signal to the plurality of first FFs 31 and 32 are arranged for each of the plurality of first groups 41 and 42. As a result, as in the first embodiment, the timing of the reset signal is easily converged for each clock frequency.

また、図12(b)に示すように、第1グループ41および42に含まれる複数の第1FF31および32の座標に基づき、それぞれ第1グループ41および42に対応する第2FF33aおよび33cを配置する。なお、複数の第1グループの少なくとも一つの第1グループ41または42について、第1FF31または32に基づき、第2FF33aまたは33cを配置してもよい。これにより、第2FFから第1FFへのリセット信号の遅延時間を短くできる。例えば、少なくとも一つの第1グループ41または42に含まれる複数の第1FF31または32の平均座標に、少なくとも一つの第1グループ41または42に対応する第2FF33aまたは33cを配置する。   12B, second FFs 33a and 33c corresponding to the first groups 41 and 42 are arranged based on the coordinates of the plurality of first FFs 31 and 32 included in the first groups 41 and 42, respectively. Note that the second FF 33a or 33c may be arranged based on the first FF 31 or 32 for at least one first group 41 or 42 of the plurality of first groups. Thereby, the delay time of the reset signal from the second FF to the first FF can be shortened. For example, the second FFs 33a or 33c corresponding to the at least one first group 41 or 42 are arranged at the average coordinates of the plurality of first FFs 31 or 32 included in the at least one first group 41 or 42.

さらに、図12(c)に示すように、第3FF50から第2FF33aおよび33cへのリセット信号の遅延時間が所望値を満足しない場合、第2FF33aおよび33cの配置位置を第3FF50に近づける。これにより、第3FF50から第2FF33aおよび33cへのリセット信号の遅延時間を短くできる。   Further, as shown in FIG. 12C, when the delay time of the reset signal from the third FF 50 to the second FFs 33a and 33c does not satisfy the desired value, the arrangement positions of the second FFs 33a and 33c are brought closer to the third FF 50. Thereby, the delay time of the reset signal from the third FF 50 to the second FFs 33a and 33c can be shortened.

さらに、図14のステップS70のように、第2FF33から第1グループ41に含まれる複数の第1FF31へのリセット信号の遅延時間が所望値を満足しない場合、第1グループ41を複数の第2グループ43および44にグループ分けする。これにより、第2FF33から第1FF41へのリセット信号の遅延時間をより短くできる。例えば、対応する第1グループ41に含まれる複数の第1FF31の座標に基づき、複数の第2グループ43および44にグループ分けする。第2グループ43および44のグループ分けは、例えば第1FF31の平均座標に基づき行なうことができる。   Furthermore, when the delay time of the reset signal from the second FF 33 to the plurality of first FFs 31 included in the first group 41 does not satisfy the desired value as in step S70 of FIG. 14, the first group 41 is changed to the plurality of second groups. Grouped into 43 and 44. Thereby, the delay time of the reset signal from the second FF 33 to the first FF 41 can be further shortened. For example, the plurality of second groups 43 and 44 are grouped based on the coordinates of the plurality of first FFs 31 included in the corresponding first group 41. The grouping of the second groups 43 and 44 can be performed based on the average coordinates of the first FF 31, for example.

さらに、図15(b)に示すように、第2グループ43および44ごとに、第2FF33aおよび33bを配置する。これにより、第2FFから第1FFへのリセット信号の遅延時間を短くできる。例えば、複数の第2グループ43および44に含まれる複数の第1FF31の座標に基づき、それぞれ第2グループ43および44に対応する第2FF33aまたは33bを配置する。なお、複数の第2グループの少なくとも一つの第1グループ43または44について、第1FF31の座標に基づき、第2FF33aまたは33bを配置してもよい。例えば、少なくとも一つの第2グループ43または44に含まれる複数の第1FF31の平均座標に、少なくとも一つの第2グループ43または44に対応する第2FF33aまたは33bを配置する。   Further, as shown in FIG. 15B, the second FFs 33a and 33b are arranged for the second groups 43 and 44, respectively. Thereby, the delay time of the reset signal from the second FF to the first FF can be shortened. For example, based on the coordinates of the plurality of first FFs 31 included in the plurality of second groups 43 and 44, the second FFs 33a or 33b corresponding to the second groups 43 and 44, respectively, are arranged. Note that the second FF 33a or 33b may be arranged based on the coordinates of the first FF 31 for at least one first group 43 or 44 of the plurality of second groups. For example, the second FFs 33a or 33b corresponding to the at least one second group 43 or 44 are arranged at the average coordinates of the plurality of first FFs 31 included in the at least one second group 43 or 44.

さらに、図15(c)に示すように、第3FF50から第2FF33aおよび33bへのリセット信号の遅延時間が所望値を満足しない場合、第2FF33aおよび33bの配置位置を第3FF50に近づける。これにより、第3FFから第2FFへのリセット信号の遅延時間を短くできる。   Further, as shown in FIG. 15C, when the delay time of the reset signal from the third FF 50 to the second FFs 33a and 33b does not satisfy the desired value, the arrangement positions of the second FFs 33a and 33b are brought closer to the third FF 50. As a result, the delay time of the reset signal from the third FF to the second FF can be shortened.

以上、発明の好ましい実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。   The preferred embodiments of the present invention have been described in detail above. However, the present invention is not limited to the specific embodiments, and various modifications and changes can be made within the scope of the gist of the present invention described in the claims. It can be changed.

なお、以上の説明に関して更に以下の付記を開示する。
(付記1):コンピュータが実行する回路設計方法であって、複数の第1フリップフロップを、クロック周波数ごとに複数の第1グループにグループ分けするステップと、前記複数の第1グループごとに、前記複数の第1フリップフロップにリセット信号を供給する第2フリップフロップを配置するステップと、を含むことを特徴とする回路設計方法。
(付記2):前記第2フリップフロップを配置するステップは、前記複数の第1グループのうち少なくとも一つの第1グループに含まれる前記複数の第1フリップフロップの座標に基づき、前記少なくとも一つの第1グループに対応する前記第2フリップフロップを配置するステップを含むことを特徴とする付記1記載の回路設計方法。
(付記3):前記第2フリップフロップを配置するステップは、前記少なくとも一つの第1グループに含まれる前記複数の第1フリップフロップの平均座標に、前記少なくとも一つの第1グループに対応する前記第2フリップフロップを配置するステップを含むことを特徴とする付記2記載の回路設計方法。
(付記4):前記第2フリップフロップに前記リセット信号を供給する第3フリップフロップから前記第2フリップフロップへの前記リセット信号の遅延時間が所望値を満足しない場合、前記第2フリップフロップの配置位置を前記第3フリップフロップに近づけるステップを含むことを特徴とする付記2または3記載の回路設計方法。
(付記5):前記第2フロップフリップから対応する第1グループに含まれる前記複数の第1フリップフロップへの前記リセット信号の遅延時間が所望値を満足しない場合、前記対応する第1グループを複数の第2グループにグループ分けするステップと、前記複数の第2グループごとに、前記第2フリップフロップを配置するステップと、を含むことを特徴とする付記1から4のいずれか一項記載の回路設計方法。
(付記6):前記対応する第1グループを複数の第2グループにグループ分けするステップは、前記対応する第1グループに含まれる前記複数の第1フリップフロップの座標に基づき、前記複数の第2グループにグループ分けするステップを含むことを特徴とする付記5記載の回路設計方法。
(付記7):前記複数の第2グループごとに、前記第2フリップフロップを配置するステップは、前記複数の第2グループのうち少なくとも一つの第2グループに含まれる前記複数の第1フリップフロップの座標に基づき、前記少なくとも一つの第2グループに対応する前記第2フリップフロップを配置するステップを含むことを特徴とする付記5または6記載の回路設計方法。
(付記8):コンピュータに、複数の第1フリップフロップを、クロック周波数ごとに複数の第1グループにグループ分けさせ、前記複数の第1グループごとに、前記複数の第1フリップフロップにリセット信号を供給する第2フリップフロップを配置させることを特徴とする回路設計プログラム。
(付記9):複数の第1フリップフロップを、クロック周波数ごとに複数の第1グループにグループ分けする第1ユニットと、前記複数の第1グループごとに、前記複数の第1フリップフロップにリセット信号を供給する第2フリップフロップを配置する第2ユニットと、を具備することを特徴とする回路設計装置。
In addition, the following additional notes are disclosed regarding the above description.
(Supplementary Note 1): A circuit design method executed by a computer, the step of grouping a plurality of first flip-flops into a plurality of first groups for each clock frequency, and for each of the plurality of first groups, Disposing a second flip-flop for supplying a reset signal to a plurality of first flip-flops.
(Supplementary Note 2): The step of disposing the second flip-flop includes the at least one first flip-flop based on the coordinates of the plurality of first flip-flops included in at least one first group of the plurality of first groups. The circuit design method according to claim 1, further comprising the step of arranging the second flip-flops corresponding to one group.
(Supplementary Note 3): In the step of arranging the second flip-flop, the average coordinate of the plurality of first flip-flops included in the at least one first group is the first coordinate corresponding to the at least one first group. The circuit design method according to appendix 2, further comprising a step of arranging two flip-flops.
(Supplementary Note 4): When the delay time of the reset signal from the third flip-flop supplying the reset signal to the second flip-flop to the second flip-flop does not satisfy a desired value, the arrangement of the second flip-flop 4. The circuit design method according to claim 2 or 3, further comprising a step of bringing a position closer to the third flip-flop.
(Supplementary Note 5): When the delay time of the reset signal from the second flop flip to the plurality of first flip-flops included in the corresponding first group does not satisfy a desired value, the plurality of the corresponding first groups The circuit according to any one of appendices 1 to 4, further comprising a step of grouping the second flip-flop into a second group and a step of arranging the second flip-flop for each of the plurality of second groups. Design method.
(Supplementary Note 6): The step of grouping the corresponding first group into a plurality of second groups is based on the coordinates of the plurality of first flip-flops included in the corresponding first group. The circuit design method according to appendix 5, which includes a step of grouping into groups.
(Supplementary Note 7): The step of arranging the second flip-flop for each of the plurality of second groups includes the step of arranging the plurality of first flip-flops included in at least one second group of the plurality of second groups. 7. The circuit design method according to appendix 5 or 6, further comprising the step of arranging the second flip-flop corresponding to the at least one second group based on coordinates.
(Supplementary Note 8): A computer causes a plurality of first flip-flops to be grouped into a plurality of first groups for each clock frequency, and a reset signal is sent to the plurality of first flip-flops for each of the plurality of first groups. A circuit design program comprising a second flip-flop to be supplied.
(Supplementary Note 9): A first unit that groups a plurality of first flip-flops into a plurality of first groups for each clock frequency, and a reset signal to the plurality of first flip-flops for each of the plurality of first groups. And a second unit for disposing a second flip-flop for supplying the circuit.

10 コンピュータ
31、32 第1FF
33 第2FF
41、42 第1グループ
43、44 第2グループ
50 第3FF
10 Computer 31, 32 1st FF
33 2nd FF
41, 42 1st group 43, 44 2nd group 50 3rd FF

Claims (6)

コンピュータが実行する回路設計方法であって、
複数の第1フリップフロップを、クロック周波数ごとに複数の第1グループにグループ分けするステップと、
前記複数の第1グループごとに、前記複数の第1フリップフロップにリセット信号を供給する第2フリップフロップを配置するステップと、
前記第2フロップフリップから対応する第1グループに含まれる前記複数の第1フリップフロップへの前記リセット信号の遅延時間が所望値を満足しない場合、前記対応する第1グループを複数の第2グループにグループ分けするステップと、
前記複数の第2グループごとに、前記第2フリップフロップを配置するステップと、
を含むことを特徴とする回路設計方法。
A circuit design method executed by a computer,
Grouping a plurality of first flip-flops into a plurality of first groups for each clock frequency;
Disposing a second flip-flop for supplying a reset signal to the plurality of first flip-flops for each of the plurality of first groups;
When the delay time of the reset signal from the second flop flip to the plurality of first flip-flops included in the corresponding first group does not satisfy a desired value, the corresponding first group is changed to a plurality of second groups. The step of grouping,
Disposing the second flip-flop for each of the plurality of second groups;
A circuit design method comprising:
前記第2フリップフロップを配置するステップは、前記複数の第1グループのうち少なくとも一つの第1グループに含まれる前記複数の第1フリップフロップの座標に基づき、前記少なくとも一つの第1グループに対応する前記第2フリップフロップを配置するステップを含むことを特徴とする請求項1記載の回路設計方法。   The step of arranging the second flip-flops corresponds to the at least one first group based on coordinates of the plurality of first flip-flops included in at least one first group of the plurality of first groups. 2. The circuit design method according to claim 1, further comprising the step of arranging the second flip-flop. 前記第2フリップフロップを配置するステップは、前記少なくとも一つの第1グループに含まれる前記複数の第1フリップフロップの平均座標に、前記少なくとも一つの第1グループに対応する前記第2フリップフロップを配置するステップを含むことを特徴とする請求項2記載の回路設計方法。   The step of disposing the second flip-flop includes disposing the second flip-flop corresponding to the at least one first group at an average coordinate of the plurality of first flip-flops included in the at least one first group. 3. The circuit design method according to claim 2, further comprising the step of: 前記第2フリップフロップに前記リセット信号を供給する第3フリップフロップから前記第2フリップフロップへの前記リセット信号の遅延時間が所望値を満足しない場合、前記第2フリップフロップの配置位置を前記第3フリップフロップに近づけるステップを含むことを特徴とする請求項2または3記載の回路設計方法。   When the delay time of the reset signal from the third flip-flop supplying the reset signal to the second flip-flop does not satisfy a desired value, the arrangement position of the second flip-flop is set to the third flip-flop. 4. The circuit design method according to claim 2, further comprising a step of approaching the flip-flop. コンピュータに、
複数の第1フリップフロップを、クロック周波数ごとに複数の第1グループにグループ分けさせ、
前記複数の第1グループごとに、前記複数の第1フリップフロップにリセット信号を供給する第2フリップフロップを配置させ
前記第2フロップフリップから対応する第1グループに含まれる前記複数の第1フリップフロップへの前記リセット信号の遅延時間が所望値を満足しない場合、前記対応する第1グループを複数の第2グループにグループ分けさせ、
前記複数の第2グループごとに、前記第2フリップフロップを配置させることを特徴とする回路設計プログラム。
On the computer,
Grouping a plurality of first flip-flops into a plurality of first groups for each clock frequency;
For each of the plurality of first groups, a second flip-flop that supplies a reset signal to the plurality of first flip-flops is disposed .
When the delay time of the reset signal from the second flop flip to the plurality of first flip-flops included in the corresponding first group does not satisfy a desired value, the corresponding first group is changed to a plurality of second groups. Let them group,
Wherein for each of the plurality of the second group, the circuit design program characterized Rukoto is disposed the second flip-flop.
複数の第1フリップフロップを、クロック周波数ごとに複数の第1グループにグループ分けする第1ユニットと、
前記複数の第1グループごとに、前記複数の第1フリップフロップにリセット信号を供給する第2フリップフロップを配置する第2ユニットと、
前記第2フロップフリップから対応する第1グループに含まれる前記複数の第1フリップフロップへの前記リセット信号の遅延時間が所望値を満足しない場合、前記対応する第1グループを複数の第2グループにグループ分けする第3ユニットと、
前記複数の第2グループごとに、前記第2フリップフロップを配置する第4ユニットと、
を具備することを特徴とする回路設計装置。
A first unit that groups a plurality of first flip-flops into a plurality of first groups for each clock frequency;
A second unit in which a second flip-flop that supplies a reset signal to the plurality of first flip-flops is disposed for each of the plurality of first groups;
When the delay time of the reset signal from the second flop flip to the plurality of first flip-flops included in the corresponding first group does not satisfy a desired value, the corresponding first group is changed to a plurality of second groups. A third unit to group,
A fourth unit for disposing the second flip-flop for each of the plurality of second groups;
A circuit design apparatus comprising:
JP2012253541A 2012-11-19 2012-11-19 Circuit design method, circuit design program, and circuit design apparatus Expired - Fee Related JP6070100B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012253541A JP6070100B2 (en) 2012-11-19 2012-11-19 Circuit design method, circuit design program, and circuit design apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012253541A JP6070100B2 (en) 2012-11-19 2012-11-19 Circuit design method, circuit design program, and circuit design apparatus

Publications (2)

Publication Number Publication Date
JP2014102640A JP2014102640A (en) 2014-06-05
JP6070100B2 true JP6070100B2 (en) 2017-02-01

Family

ID=51025106

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012253541A Expired - Fee Related JP6070100B2 (en) 2012-11-19 2012-11-19 Circuit design method, circuit design program, and circuit design apparatus

Country Status (1)

Country Link
JP (1) JP6070100B2 (en)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3851782B2 (en) * 2001-03-07 2006-11-29 株式会社東芝 Semiconductor integrated circuit and test method thereof
JP4131119B2 (en) * 2002-04-19 2008-08-13 富士通株式会社 Semiconductor integrated circuit design method and semiconductor integrated circuit design program
JP4437741B2 (en) * 2004-11-26 2010-03-24 富士通マイクロエレクトロニクス株式会社 Semiconductor integrated circuit design apparatus, semiconductor integrated circuit, and semiconductor integrated circuit design program
JP4314233B2 (en) * 2005-11-07 2009-08-12 富士通株式会社 Design support apparatus, design support method, design support program, and recording medium
JP2007300067A (en) * 2006-04-07 2007-11-15 Toshiba Corp Semiconductor integrated circuit device and design method thereof
US7676768B1 (en) * 2006-05-19 2010-03-09 Altera Corporation Automatic asynchronous signal pipelining
US7549137B2 (en) * 2006-12-14 2009-06-16 International Business Machines Corporation Latch placement for high performance and low power circuits
JP2009188093A (en) * 2008-02-05 2009-08-20 Nec Corp Method and device for designing semiconductor integrated circuit, and program
JP2012174226A (en) * 2011-02-24 2012-09-10 Renesas Electronics Corp Layout design method of semiconductor integrated circuit

Also Published As

Publication number Publication date
JP2014102640A (en) 2014-06-05

Similar Documents

Publication Publication Date Title
US8566767B1 (en) System and method for parametric intercoupling of static and dynamic analyses for synergistic integration in electronic design automation
US11263379B2 (en) Hierarchical clock tree implementation
US9659123B2 (en) Systems and methods for flexibly optimizing processing circuit efficiency
US11023646B2 (en) Hierarchical clock tree construction based on constraints
US9298869B2 (en) Method for showing hierarchical structure for a given power intent described in a power intent description language with a design described in a hardware design description language, and associated apparatus and associated computer program product
CN112906338A (en) Method, system, medium, and program for clock design of physical partition structure
US10339241B1 (en) Methods for incremental circuit design legalization during physical synthesis
US20080250379A1 (en) Logic circuit synthesis device
JP6070100B2 (en) Circuit design method, circuit design program, and circuit design apparatus
JP2008204199A (en) Verification device, verification method, and program
US10684642B2 (en) Adaptive clock mesh wiring
KR20180051708A (en) Layout method for semiconductor device based on swiching activity and manufacturing
US8555231B2 (en) Automatic wiring device, automatic wiring method, and automatic wiring program
JP4554509B2 (en) Timing analysis apparatus and timing analysis method
TWI783773B (en) Method for establishing variation model related to circuit characteristics for performing circuit simulation, and associated circuit simulation system
JP4264436B2 (en) Flip-flop functional element, semiconductor integrated circuit, semiconductor integrated circuit design method, and semiconductor integrated circuit design apparatus
JP2008210189A (en) Verification method, verification apparatus, and program
JP5338919B2 (en) Integrated circuit power consumption calculation method, power consumption calculation program, and power consumption calculation device
US9542519B2 (en) Method and design apparatus
US12535850B1 (en) Clock gate cloning based on clocked circuit element switching activity
CN118332988B (en) Clock path analysis method, clock path analysis device, electronic device, storage medium, and computer program product
JP2011210053A (en) Method and device for designing semiconductor integrated circuit, and program
US10885952B1 (en) Memory data transfer and switching sequence
JP2010211550A (en) Circuit design program, circuit design method, and circuit design device
JP4845400B2 (en) Semiconductor device design method and semiconductor device

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20150611

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150729

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20160509

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20160511

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160609

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160621

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160729

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161219

R150 Certificate of patent or registration of utility model

Ref document number: 6070100

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees