【実施例1】
【0014】
図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ユニットとして機能する。
【0015】
プログラムを格納するコンピュータ10が読み取り可能な記憶媒体21として可搬型記憶媒体を用いることができる。可搬型記憶媒体としては、例えば、CD−ROM(Compact
Disc Read Only Memory)ディスク、DVD(Digital Video Disc)ディスク、ブルーレイディスクまたはUSB(Universal
Serial Bus)メモリ等を用いることができる。記憶媒体21として、フラッシュメモリまたはHDD等を用いてもよい。
【0016】
図4は、実施例1が用いられる集積回路の設計フローを示すフローチャートである。
図4を参照し、FFのネットワークを示すネットリストと、FFのクロック周波数および位置情報を含むSDC(Synopsys
Design Constraints)等を用い初期のFF配置を行なう(ステップS10)。例えば、フロアプランを用い、ハードマクロの位置を検証し、ネットリスト上の全てのセルの配置をフレーム上に実施する。次に、CTS(Clock
Tree Synthesys)前のFF配置の最適化を行なう(ステップS12)。例えば、クロックが同期したレジスタおよびハードマクロにクロック信号のスキューが0として、DRC(Design
Rule Check)のエラー修正、タイミングの最適化、面積の削減および消費電力ー削減を行なう。次に、クロックツリーを作成する(ステップS14)。例えば、クロック信号用のバッファ等を配置する。
【0017】
次に、CTS後のデータに最適化を行なう(ステップS16)。クロック信号のスキューは実際の値となる。この状態で、DRCのエラー修正、タイミングの最適化、面積の削減および消費電力ー削減を行なう。次に、データに対して配線処理を行なう(ステップS18)。例えば、各セルおよび各ハードマクロのデジタル信号端子に対し、タイミングを考慮しながら、配線処理を行なう。これにより、ソフトウエア上において各セルおよび各ハードマクロが物理的な配線で繋がる。
【0018】
実施例1および2は、例えばステップS12および/またはS16におけるタイミングの最適化において用いられる。
【0019】
図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の供給を受ける。
【0020】
実施例1によれば、クロック周波数ごとに複数の第1FF31および32にリセット信号Resetを供給する第2FF33aから33cを配置する。これにより、リセット信号のタイミングが収束しやすくなる。よって、第2FF33aから33cの配置が容易となる。
【実施例2】
【0021】
実施例2は、実施例1の具体例である。実施例2として機能するコンピュータは、実施例1の
図3と同じであり説明を省略する。実施例2が用いられる集積回路の設計フローを示すフローチャートは、実施例1の
図4と同じであり説明を省略する。
【0022】
図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である。
【0023】
コンピュータ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は、遅延時間をデータベースに記憶する。
【0024】
図7を参照し、コンピュータ10は、各第1FF31における遅延時間が所望値を満足するかを判断する(ステップS32)。例えば、コンピュータ10は、予想した各第1FF31の予想遅延時間がタイミングコンストレイントに違反するかを判断する。違反する場合Noと判断する。違反しない場合Yesと判断する。ここで、タイミングコンストレイントは、各FFにおけるリセット信号等のタイミングの許容範囲を規定したものである。Yesの場合、終了する。Noの場合、コンピュータ10は、再度、第2FF33を配置する(ステップS34)。
【0025】
例えば、コンピュータ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は、余裕時間をデータベースに記憶する。
【0026】
コンピュータ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は、余裕時間をデータベースに記憶する。
【0027】
図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の位置に戻ることもある。
【0028】
ステップS40において、コンピュータ10は、各第1FF31における遅延時間が所望値を満足するかを判断する。例えば、コンピュータ10は、第2FF33が第1FF31を接続する総配線長および第2FF33のファンアウト数から各第1FF31の遅延時間を予想する。コンピュータ10は、予想した各第1FF31の予想遅延時間がタイミングコンストレイントに違反するかを判断する。違反する場合Noと判断する。違反しない場合Yesと判断する。Yesの場合、終了する。Noの場合、ステップS42に進む。
【0029】
ステップS42において、コンピュータ10はクロック周波数ごとに第2FF33を配置する。その後終了する。
【0030】
図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とに分割する。
【0031】
図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の余裕時間を算出する。
【0032】
図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の位置に戻ることもある。
【0033】
ステップS58において、コンピュータ10は、各第1FF31および32における遅延時間が所望値を満足するかを判断する。例えば、コンピュータ10は、各第2FF33aおよび33cが各第1FF31および32を接続する総配線長および各第2FF33aおよび33cのファンアウト数から各第1FF31および32の遅延時間を予想する。コンピュータ10は、予想した各第1FF31および32の予想遅延時間がタイミングコンストレイントに違反するかを判断する。違反する場合Noと判断する。違反しない場合Yesと判断する。Yesの場合、ステップS62に進む。Noの場合、ステップS60に進む。
【0034】
ステップS60において、コンピュータ10は、第1グループ41および42を第2グループに分割し、第2グループごとに第2FFを配置する。その後、ステップS62に進む。
【0035】
ステップS62において、コンピュータ10は、最後の第1グループか判断する。例えば、全ての第1グループ(クロック周波数)の第2FFの配置が終了した場合、Yesと判断する。Yesの場合終了し、
図7に戻る。Noの場合、次の第1グループとする(ステップS64)。例えば、コンピュータ10は、次のクロック周波数の第1グループに対しステップS52からS60を実行する。
【0036】
図13に示すように、クロック周波数が270MHzのReg1からReg3にリセット信号を供給する第2FF33aであるReg01が設けられる。さらに、クロック周波数が66MHzのReg4から6にリセット信号を供給するReg02とが設けられる。Reg1からReg3は第1FF31であり、Reg4からReg6は第1FF32である。Reg01は第2FF33aであり、Reg02は第2FF33cである。コンピュータ10は、第2FF33aおよび33cの位置情報、余裕時間、各第1FFの遅延時間をデータベースに記憶する。
【0037】
図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とする。
【0038】
図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は、余裕時間を算出する。
【0039】
図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の位置に戻ることもある。
【0040】
ステップS78において、コンピュータ10は、各第1FF31における遅延時間が所望値を満足するかを判断する。例えば、コンピュータ10は、各第2FF33aおよび33bが各第1FF31を接続する総配線長および各第2FF33aおよび33bのファンアウト数から各第1FF31の遅延時間を予想する。コンピュータ10は、予想した各第1FF31の予想遅延時間がタイミングコンストレイントに違反するかを判断する。違反する場合Noと判断する。違反しない場合Yesと判断する。Yesの場合、ステップS82に進む。Noの場合、ステップS80に進む。
【0041】
ステップS80において、コンピュータ10は、FFの配置が難しくフロアプラン等の見直しを推奨する報告を行なう。その後、終了する。
【0042】
ステップS82において、コンピュータ10は、最後の第2グループか判断する。例えば、全ての第2グループの第2FFの配置が終了した場合、Yesと判断する。Yesの場合終了し、
図12に戻る。Noの場合、次の第2グループとする(ステップS84)。例えば、コンピュータ10は、次の第2グループに対しステップS52からS60を実行する。
【0043】
図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の遅延時間およびグループをデータベースに記憶する。
【0044】
実施例2によれば、
図11のステップS50のように配置された複数の第1FF31および32を、クロック周波数ごとに複数の第1グループ41および42にグループ分けする。ステップS52のように複数の第1グループ41および42ごとに複数の第1FF31および32にリセット信号を供給する第2FF33aおよび33cを配置する。これにより、実施例1と同様に、クロック周波数ごとに、リセット信号のタイミングが収束しやすくなる。
【0045】
また、
図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を配置する。
【0046】
さらに、
図12(c)に示すように、第3FF50から第2FF33aおよび33cへのリセット信号の遅延時間が所望値を満足しない場合、第2FF33aおよび33cの配置位置を第3FF50に近づける。これにより、第3FF50から第2FF33aおよび33cへのリセット信号の遅延時間を短くできる。
【0047】
さらに、
図14のステップS70のように、第2FF33から第1グループ41に含まれる複数の第1FF31へのリセット信号の遅延時間が所望値を満足しない場合、第1グループ41を複数の第2グループ43および44にグループ分けする。これにより、第2FF33から第1FF41へのリセット信号の遅延時間をより短くできる。例えば、対応する第1グループ41に含まれる複数の第1FF31の座標に基づき、複数の第2グループ43および44にグループ分けする。第2グループ43および44のグループ分けは、例えば第1FF31の平均座標に基づき行なうことができる。
【0048】
さらに、
図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を配置する。
【0049】
さらに、
図15(c)に示すように、第3FF50から第2FF33aおよび33bへのリセット信号の遅延時間が所望値を満足しない場合、第2FF33aおよび33bの配置位置を第3FF50に近づける。これにより、第3FFから第2FFへのリセット信号の遅延時間を短くできる。
【0050】
以上、発明の好ましい実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【0051】
なお、以上の説明に関して更に以下の付記を開示する。
(付記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ユニットと、を具備することを特徴とする回路設計装置。