(57)【要約】【課題】回路設計を容易にすること。【解決手段】コンピュータが実行する回路設計方法であって、複数のフリップフロップ回路１０を配置するステップと、第１クロック信号５６を、複数の第１信号６０に分岐する第１配線を配置するステップと、複数の第２信号６２−６４のスキューが前記複数の第１信号より分散するように、前記第１クロック信号と位相が異なる第２クロック信号５８を前記複数の第２信号に分岐する第２配線を配置するステップと、前記複数の第１信号の一つと前記複数の第２信号の一つとから第３クロック信号を生成する生成回路２６を複数配置するステップと、前記複数の生成回路の出力を前記複数のフリップフロップ回路へ接続するステップと、を含む回路設計方法。【選択図】図３
2014232454.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが実行する回路設計方法であって、
複数のフリップフロップ回路を配置するステップと、
第１クロック信号を、複数の第１信号に分岐する第１配線を配置するステップと、
複数の第２信号のスキューが前記複数の第１信号より分散するように、前記第１クロック信号と位相が異なる第２クロック信号を前記複数の第２信号に分岐する第２配線を配置するステップと、
前記複数の第１信号の一つと前記複数の第２信号の一つとから第３クロック信号を生成する生成回路を複数配置するステップと、
前記複数の生成回路の出力を前記複数のフリップフロップ回路へ接続するステップと、
を含むことを特徴とする回路設計方法。
【請求項２】
前記第１配線を配置するステップは、前記第１配線内に第１遅延素子を挿入するステップを含むことを特徴とする請求項１記載の回路設計方法。
【請求項３】
前記第２配線を配置するステップは、前記第２配線内の前記第１遅延素子に対応する箇所に第２遅延素子を挿入するステップと、前記第２遅延素子の少なくとも一部を削除する、および前記第２配線内に第３遅延素子を追加する、の少なくとも一方を行なうことにより、前記複数の第２信号のスキューを分散させるステップを含むことを特徴とする請求項２記載の回路設計方法。
【請求項４】
コンピュータに、
複数のフリップフロップ回路を配置し、
第１クロック信号を、複数の第１信号に分岐する第１配線を配置し、
複数の第２信号のスキューが前記複数の第１信号より分散するように、前記第１クロック信号と位相が異なる第２クロック信号を前記複数の第２信号に分岐する第２配線を配置し、
前記複数の第１信号の一つと前記複数の第２信号の一つとから第３クロック信号を生成する生成回路を複数配置し、
前記複数の生成回路の出力を前記複数のフリップフロップ回路へ接続させることを特徴とする回路設計プログラム。
【請求項５】
複数のフリップフロップ回路を配置する第１ユニットと、
第１クロック信号を、複数の第１信号に分岐する第１配線を配置する第２ユニットと、
複数の第２信号のスキューが前記複数の第１信号より分散するように、前記第１クロック信号と位相が異なる第２クロック信号を前記複数の第２信号に分岐する第２配線を配置する第３ユニットと、
前記複数の第１信号の一つと前記複数の第２信号の一つとから第３クロック信号を生成する生成回路を複数配置し、前記複数の生成回路の出力を前記複数のフリップフロップ回路へ接続する第４ユニットと、
を具備することを特徴とする回路設計装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路設計方法、回路設計プログラムおよび回路設計装置に関し、例えば、フリップフロップを有する電子回路を設計する回路設計方法および回路設計プログラムに関する。
【背景技術】
【０００２】
電子回路において、クロック信号を分岐し、例えば複数のフリップフロップ（ＦＦ：Flip Flop）に供給する。ＦＦはクロック信号によりデータ取り込みを行なう。複数のＦＦのデータ取り込みタイミングを同期させるため、分岐されたクロック信号はスキュー調整される。
【０００３】
入力信号を２つの信号に分岐し、それぞれの信号を２分周する。２分周した信号の一方を遅延させる。一方の遅延信号をＥＸＯＲ回路を用い合成し、出力する回路が知られている（例えば特許文献１）。クロック信号を２つの信号に分岐し、一方を正相、他方を逆相とする。２つの信号を配線した後、２つの信号を合成して出力する回路が知られている（例えば特許文献２）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−６７４１４号公報
【特許文献２】特開２００１−２２８９３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
分岐されたクロック信号のスキューが調整され、クロック信号の立ち上がり、または立ち下りのタイミングが揃うと、クロック信号に起因するスイッチングノイズや電磁波障害（ＥＭＩ：Electro Magnetic Interface）が増大する。
【０００６】
本回路設計方法、回路設計プログラムおよび回路設計装置は、ＦＦの動作に起因するスイッチングノイズを抑制することを目的とする。
【課題を解決するための手段】
【０００７】
コンピュータが実行する回路設計方法であって、複数のフリップフロップ回路を配置するステップと、第１クロック信号を、複数の第１信号に分岐する第１配線を配置するステップと、複数の第２信号のスキューが前記複数の第１信号より分散するように、前記第１クロック信号と位相が異なる第２クロック信号を前記複数の第２信号に分岐する第２配線を配置するステップと、前記複数の第１信号の一つと前記複数の第２信号の一つとから第３クロック信号を生成する生成回路を複数配置するステップと、前記複数の生成回路の出力を前記複数のフリップフロップ回路へ接続するステップと、を含むことを特徴とする回路設計方法を用いる。
【０００８】
コンピュータに、複数のフリップフロップ回路を配置し、第１クロック信号を、複数の第１信号に分岐する第１配線を配置し、複数の第２信号のスキューが前記複数の第１信号より分散するように、前記第１クロック信号と位相が異なる第２クロック信号を前記複数の第２信号に分岐する第２配線を配置し、前記複数の第１信号の一つと前記複数の第２信号の一つとから第３クロック信号を生成する生成回路を複数配置し、前記複数の生成回路の出力を前記複数のフリップフロップ回路へ接続させることを特徴とする回路設計プログラムを用いる。
【０００９】
複数のフリップフロップ回路を配置する第１ユニットと、第１クロック信号を、複数の第１信号に分岐する第１配線を配置する第２ユニットと、複数の第２信号のスキューが前記複数の第１信号より分散するように、前記第１クロック信号と位相が異なる第２クロック信号を前記複数の第２信号に分岐する第２配線を配置する第３ユニットと、前記複数の第１信号の一つと前記複数の第２信号の一つとから第３クロック信号を生成する生成回路を複数配置し、前記複数の生成回路の出力を前記複数のフリップフロップ回路へ接続する第４ユニットと、を具備することを特徴とする回路設計装置を用いる。
【発明の効果】
【００１０】
本回路設計方法、回路設計プログラムおよび回路設計装置によれば、ＦＦの動作に起因するスイッチングノイズを抑制することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、比較例に係る電子回路のクロック信号経路の模式図である。
【図２】図２は、比較例における各信号のタイミングチャートである。
【図３】図３は、実施例１に係る電子回路のクロック信号経路の模式図である。
【図４】図４は、実施例１における各信号のタイミングチャートである。
【図５】図５（ａ）は、実施例１に係る回路設計装置として機能するコンピュータのブロック図であり、図５（ｂ）は、実施例１に係る回路設計装置の機能ブロック図である。
【図６】図６は、実施例１が用いられる電子回路の設計フローを示すフローチャートである。
【図７】図７は、コンピュータが行なう回路設計のフローチャートである。
【図８】図８は、実施例１に係る回路設計の概念を示す電子回路の模式図（その１）である。
【図９】図９は、実施例１に係る回路設計の概念を示す電子回路内のブロックの模式図（その１）である。
【図１０】図１０は、実施例１に係る回路設計の概念を示す電子回路の模式図（その２）である。
【図１１】図１１は、実施例１に係る回路設計の概念を示す電子回路内のブロックの模式図（その２）である。
【図１２】図１２は、実施例１に係る回路設計の概念を示す電子回路の模式図（その３）である。
【図１３】図１３は、実施例１に係る回路設計の概念を示す電子回路内のブロックの模式図（その３）である。
【図１４】図１４は、実施例１に係る回路設計の概念を示す電子回路の模式図（その４）である。
【図１５】図１５は、実施例１に係る回路設計の概念を示す電子回路内のブロックの模式図（その４）である。
【発明を実施するための形態】
【００１２】
以下、ＦＦにリセット信号を供給する例について説明する。図１は、比較例に係る電子回路のクロック信号経路の模式図である。電子回路１０２は、クロック源１２から複数のＦＦ１０に至たるツリー構造を有する。クロック信号５０は、信号８０および８２に分岐される。信号８０は、信号８４および８６に分岐される。信号８２は、信号８８および９０に分岐される。信号８４、８６、８８および９０はそれぞれ複数のＦＦ１０に供給される。ツリー構造内にはバッファ２２が設けられる。クロック源１２から出力されたクロック信号は、バッファ２２により増幅される。また、クロック信号はバッファ２２により遅延する。
【００１３】
図２は、比較例における各信号のタイミングチャートである。図２を参照し、クロック信号５０の立ち上がりを時間ｔ００とする。信号８０および８２の立ち上がりを時間ｔ０１とする。信号８０および８２の立ち上がり時間ｔ０１が揃うようにバッファ２２を挿入する。信号８４、８６、８８および９０の立ち上がりを時間ｔ０２とする。信号８４、８６、８８、および９０の立ち上がり時間ｔ０２が揃うようにバッファ２２を挿入する。このように、バッファ２２の配置によりスキュー調整する。
【００１４】
比較例においては、各ＦＦ１０に供給される信号の立ち上がりおよび立ち下がりが揃っている。このため、複数のＦＦ１０のスイッチングノイズおよび／またはＥＭＩが問題となる。
【実施例１】
【００１５】
図３は、実施例１に係る電子回路のクロック信号経路の模式図である。図３を参照し、電子回路１００は、クロック源１２、バッファ１４、２２および２４、インバータ１５、分周器２０ａおよび２０ｂ、並びに生成回路２６を備えている。電子回路１００は、例えば集積回路であり、１つのチップに形成されている。クロック源１２は、例えばＰＬＬ（Phase Locked Loop）でありクロック信号５０を出力する。クロック信号５０は、例えば１ＧＨｚ程度の周波数を有する。クロック源１２がクロック信号５０を電子回路１００外から得てもよい。ＦＦ１０は、１つの電子回路１００に例えば数万から数百万個が配置されている。クロック源１２から複数のＦＦ１０に至るツリー構造を有している。
【００１６】
クロック信号５０は、２つに分岐される。一方の信号はバッファ１４により正相信号５２となる。他方の信号は、インバータ１５により反転され逆相信号５４となる。本実施例では、クロック信号５０から正相信号５２と逆相信号５４を生成する回路部分を分割回路と呼ぶこととする。尚、バッファ１４は本実施例には必須ではなく、省略してもよい。分周器２０ａおよび２０ｂは各々ＦＦ１６とインバータ１８とを備えている。ＦＦ１６のクロック端子に正相信号５２または逆相信号５４が入力する。ＦＦ１６の出力端子から出力された信号はインバータ１８を介しＦＦ１６のデータ端子に入力する。これにより、ＦＦ１６は、正相信号５２または逆相信号５４を２分周した信号５６または５８を出力する。
【００１７】
信号５６が複数の信号６０に分岐されるように第１配線２３が配置される。信号５８が信号６２、６４、６６および６８に分岐されるように第２配線２５が配置される。信号６０は、第１配線２３内にバッファ２２を挿入することにより、スキューがなくなるようにスキュー調整される。例えば、信号６０のクロック源１２からの遅延時間がほぼ等しくなるようにバッファ２２を挿入する。信号６２、６４、６６および６８は、第２配線２５内にバッファ２４を挿入することにより、立ち上がりのタイミングが分散するようにスキュー調整される。例えば、信号６２、６４、６６および６８のクロック源１２からの遅延時間は、適度に分布するようにバッファ２４を挿入する。
【００１８】
生成回路２６は、信号６０と信号６２、６４、６６および６８のひとつとからクロック信号７２、７４、７６および７８のひとつを生成する。クロック信号７２、７４、７６および７８は、それぞれ複数のＦＦ１０に供給される。生成回路２６は、例えばＥＸＯＲ回路である。
【００１９】
図４は、実施例１における各信号のタイミングチャートである。図４を参照し、クロック信号５０に対し、正相信号５２は同じ位相であり、逆相信号５４は逆相である。信号５６および５８は、それぞれ正相信号５２および逆相信号５４が２分周されている。信号６０は、クロック信号５０の立ち上がり時間ｔ００から遅延し時間ｔ０において立ち上がる。複数の信号６０の立ち上がり時間は揃っている。信号７２、７４、７６および７８は、それぞれ時間ｔ４からｔ１において立ち上がる。信号７２、７４、７６および７８の立ち上がり時間ｔ４からｔ１は異なっている。信号７２、７４、７６および７８は、それぞれ信号６０と信号６２、６４、６６および６８とのＥＸＯＲ信号である。このため、信号７２、７４、７６および７８は、それぞれ信号６０と信号６２、６４、６６および６８とがいずれもローのときハイとなり、その他のときローとなる。よって、信号７２、７４、７６および７８の立ち上がり時間はいずれも時間ｔ０となる。一方、信号７２、７４、７６および７８の立ち下がり時間はそれぞれ時間ｔ４からｔ１となる。
【００２０】
ＦＦ１０は、クロック端子に入力する信号７２、７４、７６および７８の立ち上がりに同期して、ＦＦ１０のデータ端子に入力したデータを出力端子Ｑに出力する。信号７２、７４、７６および７８の立ち上がり信号は時間ｔ０に揃っているため、複数のＦＦ１０は、同期してデータを出力できる。一方、信号７２、７４、７６および７８の立ち下り時間は分散しているため、立ち下りにおけるスイッチングノイズおよび／またはＥＭＩを抑制できる。なお、信号７２、７４、７６および７８のハイの期間およびローの期間は、ＦＦ１０のパルス幅規格を満足するように設定される。なお、ＦＦ１０がクロック信号７２、７４、７６および７８の立ち上がりにおいてデータを取り込む例を説明したが、ＦＦ１０は、クロック信号７２、７４、７６および７８の立ち下りにおいてデータを取り込むものであってもよい。その場合は立ち上がりタイミングを分散させ、立ち下りのタイミングを揃えるよう調整する。
【００２１】
次に、実施例１における回路設計について説明する。図５（ａ）は、実施例１に係る回路設計装置として機能するコンピュータのブロック図である。図５（ａ）を参照し、コンピュータ４０は、回路設計方法および回路設計プログラムを実行する。コンピュータ４０は、プロセッサであるＣＰＵ（Central Processing Unit）４１、表示装置４２、入力装置４３および出力装置４４を備えている。さらに、コンピュータ４０は、主記憶装置４５、ハードディスクドライブ（ＨＤＤ）４６、記憶媒体用ドライブ４７、通信インターフェース４８および内部バス４９を備えている。表示装置４２は、例えば液晶パネル等の表示パネルを含み、処理結果等を表示する。入力装置４３は、例えばキーボード、マウスおよびタッチパネル等であり、処理データ等を入力する。出力装置４４は、例えばプリンタであり、処理結果等を出力する。主記憶装置４５は、例えばＤＲＡＭ（Dynamic Random Access Memory）等の揮発性メモリであり、処理中のデータを記憶する。ＨＤＤ４６は、例えば処理中または処理後のデータを記憶する。記憶媒体用ドライブ４７は、記憶媒体３９に格納されたプログラムをインストールする際に用いる。または、処理後のデータを記憶媒体３９に記憶させる。通信インターフェース４８は、他のコンピュータ３８と接続し、他のコンピュータ３８とデータの送受信を行なう。内部バス４９は、コンピュータ４０内の各装置を接続する。
【００２２】
プログラムを格納するコンピュータ４０が読み取り可能な記憶媒体３９として可搬型記憶媒体を用いることができる。可搬型記憶媒体としては、例えば、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）ディスク、ＤＶＤ（Digital Video Disc）ディスク、ブルーレイディスクまたはＵＳＢ（Universal Serial Bus）メモリ等を用いることができる。記憶媒体３９として、フラッシュメモリまたはＨＤＤ等を用いてもよい。
【００２３】
図５（ｂ）は、実施例１に係る回路設計装置の機能ブロック図である。回路設計装置９８は、第１ユニット９１、分割ユニット９２、第２ユニット９４、第３ユニット９６および第４ユニット９７を備えている。コンピュータ４０は、ソフトウエアと協働し、第１ユニット９１、分割ユニット９２、第２ユニット９４、第３ユニット９６および第４ユニット９７として機能する。
【００２４】
図６は、実施例１が用いられる電子回路の設計フローを示すフローチャートである。図６を参照し、フロアプランを設定する（ステップＳ１０）。例えば、コンピュータ４０は、電子回路１００内に各機能を有する回路（例えばハードマクロ）を配置する。コンピュータ４０の第１ユニット９１は、ＦＦ１０の初期配置を行なう（ステップＳ１２）。例えば、フロアプランにおいて設定された各回路に同期したクロック信号を供給できるようにＦＦ１０を配置する（ステップＳ１４）。コンピュータ４０は、ＣＴＳ（Clock Tree Synthesis）を行なう（ステップＳ１６）。例えば、コンピュータ４０は、クロック源１２からのクロック信号５０を複数のＦＦ１０に供給する第１配線２３を配置する。第１配線２３内にバッファ２２等を配置する。
【００２５】
次に、コンピュータ４０は、ＣＴＳ後の最適化を行なう（ステップＳ１８）。例えば、コンピュータ４０は、ＦＦ１０への信号の到達時間が最小になり、かつスキューが抑制できるように第１配線２３の最適化、および第１配線２３内へのバッファ２２の挿入および／または削除を行なう。このときの最適化は、クロック源１２のクロック信号５０の１／２の周波数の信号（クロック信号が分周された信号）について行なう。さらに、このとき、ＦＦ１０の配置、ＦＦ１０の前後の接続関係、各信号のタイミングを考慮する。コンピュータ４０は、逆相信号５８の第２配線２５（ステップＳ１８）。例えばコンピュータ４０は、第１配線２３およびバッファ２２に並走する第２配線２５およびバッファ２４を配置する。コンピュータ４０の第４ユニット９７は、生成回路２６を配置し、生成回路２６とＦＦ１０とを接続する（ステップＳ１９）。
【００２６】
図７は、コンピュータが行なう回路設計のフローチャートである。図７は、主に図６のステップＳ１４、Ｓ１６、Ｓ１８およびＳ１９の詳細を示すフローチャートである。図８、１０、１２および１４は、実施例１に係る回路設計の概念を示す電子回路の模式図である。図９、１１、１３および１５は、実施例１に係る回路設計の概念を示す電子回路内のブロックの模式図である。図７を参照し、分割ユニット９２は、初期配置された電子回路１００内の回路およびＦＦ１０をブロックに分割する（ステップＳ２０）。図８を参照し、電子回路１００を複数の第１ブロック３１に分割する。第１ブロック３１内には適度に回路およびＦＦ１０が含まれるようにする。図９を参照し、第１ブロック３１をさらに第２ブロック３２に分割する。第２ブロック３２には、複数のＦＦ１０が含まれる。第２ブロック３２に含まれるＦＦ１０のクロック端子は、クロック信号を共有している。クロック信号は配線３４を介し、ＦＦ１０に供給される。なお、第２ブロック３２が小さければ、第２ブロック３２内のクロック信号のスキューは許容できる範囲である。
【００２７】
図７を参照し、第２ユニット９４は、第１配線２３およびバッファ２２を配置する（ステップＳ２２）。ステップＳ２２は、例えば図６のステップＳ１６に含まれる。図１０を参照し、第２ユニット９４は、バッファ１４および分周器２０ａを配置する。バッファ１４および分周器２０ａは、クロック信号５０の正相信号５２を２分周した信号５６を生成する。第２ユニット９４は、信号５６を各第１ブロック３１に供給する第１配線２３を配置する。第２ユニット９４は、第１配線２３内にバッファ２２を配置する。これにより、各第１ブロック３１に、信号５６が分岐された信号５７が供給される。図１１を参照し、各第１ブロック３１に供給された信号５６を複数の第２ブロック３２に供給する第１配線２３を配置する。第２ユニット９４は、第１配線２３内にバッファ２２を配置する。これにより、各第２ブロック３２に、信号５７が分岐された信号６０が供給される。
【００２８】
図７を参照し、第２ユニット９４は、各第２ブロック３２に入力するクロック信号６０のスキューを調整する（ステップＳ２４）。ステップＳ２２は、例えば図６のステップＳ１８に含まれる。図１０および図１１を参照し、第２ユニット９４は、第１配線２３の接続およびバッファ２２の挿入および／または削除を行なうことにより、各第２ブロック３２に供給される信号６０を同期させる。信号６０のスキューは抑制される。各第２ブロック３２内のＦＦ１０は、全て最終段のバッファ２２を共有する。
【００２９】
図７を参照し、第３ユニット９６は、第２配線２５およびバッファ２４を配置する（ステップＳ２６）。ステップＳ２６は、例えば図６のステップＳ１８に含まれる。図１２を参照し、第３ユニット９６は、インバータ１５および分周器２０ｂを配置する。インバータ１５および分周器２０ｂは、クロック信号５０の逆相信号５４を２分周した信号５８を生成する。第３ユニット９６は、信号５８を各第１ブロック３１に供給する第２配線２５を配置する。各１ブロック３１には、信号５８が分岐された信号５９が供給される。図１３を参照し、第１ブロック３１に供給された信号５９を各第２ブロック３２に供給する第２配線２５を配置する。第３ユニット９６は、第２配線２５内にバッファ２４を配置する。第２配線２５は第１配線２３に並走させる。第３ユニット９６は、第２配線２５内にバッファ２４を配置する。バッファ２４は、バッファ２２に対応する位置に配置する。これにより、各第２ブロック３２に供給される信号６１と信号６０とはほぼ同じ遅延時間であり、各第２ブロック３２間のスキューは抑制される。第４ユニット９７は、第２ブロック３２に生成回路２６を配置する。生成回路２６の配置は、ステップＳ２８またはステップＳ２４において行なってもよい。
【００３０】
図７を参照し、第３ユニット９６は、各第２ブロック３２内のＦＦ１０に入力するクロック信号６１のスキューを調整する（ステップＳ２８）。ステップＳ２８は、例えば図６のステップＳ１８に含まれる。図１４および図１５を参照し、第３ユニット９６は、第２配線２５の接続およびバッファ２４の挿入および／または削除を行なうことにより、各第２ブロック３２に供給される信号６１のスキューを分散させる。信号６１は、図３の信号６２、６４、６６および６８に相当する。生成回路２６は、信号６０と信号６１とからクロック信号６３を生成しＦＦ１０供給する。クロック信号６３は、図３の信号６２、６４、６６および６８に相当する。
【００３１】
実施例１によれば、図６のステップＳ１２および図９のように、複数のＦＦ１０を配置する。図７のステップＳ２２、Ｓ２４および図１０、１１のように、正相信号５６（第１クロック信号）を複数の第１信号６０に分岐する第１配線２３を配置する。その後、図７のステップＳ２６、Ｓ２８および図１２から図１５のように、逆相信号５８（第２クロック信号）を、第１信号６０よりスキューが分散するように複数の第２信号６１に分岐する第２配線２５を配置する。図６のステップＳ１９のように、複数の第１信号６０の一つと複数の第２信号６１の一つとから信号６３（第３クロック信号を生成する生成回路２６を複数配置する。複数の生成回路２６の出力を複数のＦＦ１０へ接続する。例えば、第２配線２５と第１配線２３とが並走されている。このため、例えば、クロック源１２から各ＦＦ１０までの距離が第１配線２３の経路と第２配線２５経路とでほぼ同じである。これにより、第２配線２５は第１配線２３と同様にスキューが抑制された状態となる。その後、第２配線２５が第１配線２３よりスキュー分散するように調整する。これにより、ＥＭＩを抑制するための回路設計を容易にすることができる。なお、第２配線２５と第１配線２３とはほぼ平行していることが好ましい。また、並走する第１配線２３と第２配線２５との間には他の配線が設けられないことが好ましい。第１配線２３と第２配線２５とは並走していなくともよい。
【００３２】
図１０および１１のように、第１配線２３を配置する際は、第１配線２３内にバッファ２２（第１遅延素子）を挿入する。これにより、信号６０のスキューが抑制されるように、第１配線２３による遅延を調整できる。
【００３３】
図１２および１３のように、第２配線２５を配置する際は、第２配線２５内のバッファ２２に対応する箇所にバッファ２４（第２遅延素子）を挿入する。その後、図１４および１５のように、バッファ２４の少なくとも一部を削除する、および／または第２配線２５内に別のバッファ２４（第３遅延素子）を追加する。これにより、複数の信号６１のスキューを分散させる。第２配線２５内のバッファ２２に対応する箇所にバッファ２４を挿入する。例えば、第２配線２５内のバッファ２４の位置と第１配線２３内のバッファ２２の位置とが、クロック源１２の距離がほぼ同じ位置になるように配置する。これにより、図１２および図１３の時点で、各第２ブロック３２に供給される信号６１の遅延時間が揃う。その後、バッファ２４を追加および／または削除を行なうことにより、信号６１の遅延時間を異ならせることができる。
【００３４】
さらに、コンピュータ４０は、ステップＳ２６において、生成回路２６を各第２ブロック３２に配置する。生成回路２６は、信号６０と信号６１とからクロック信号５０を生成しＦＦ１０供給する。これにより、クロック信号のスキューが抑制される。なお、クロック信号５０は、正相信号５２または逆相信号５４の立ち上がりまたは立下りのタイミングが復元されていればよい。
【００３５】
さらに、複数の信号６０は、正相信号５２を２分周した信号を分岐した信号であり、信号６１は、逆相信号５４を２分周した信号を分岐した信号である。これにより、生成回路２６により正相信号５２または逆相信号５４を復元できる。２分周でなくとも任意の分周でもよい。
【００３６】
第１クロック信号と第２クロック信号として、正相信号５２と逆相信号５４を例に説明したが、第１クロック信号と第２クロック信号は、位相が異なっていればよい。第１クロック信号と第２クロック信号との位相はほぼ反転していることが好ましい。
【００３７】
図７のステップＳ２０および図８のように、コンピュータ４０は、複数のＦＦ１０を複数の第１ブロック３１に分割する。第１配線２３を配置する際は、正相信号５２を複数の第１ブロック３１に対応する信号５７に分岐する。図９のように、複数の第１ブロック３１内においてそれぞれ信号５７を各ＦＦ１０に対応する第１信号に分岐する。このように、ブロック分割して配線を行なうことにより、回路設計を容易にすることができる。
【００３８】
以上、発明の好ましい実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００３９】
なお、以上の説明に関して更に以下の付記を開示する。
（付記１）コンピュータが実行する回路設計方法であって、複数のフリップフロップ回路を配置するステップと、第１クロック信号を、複数の第１信号に分岐する第１配線を配置するステップと、複数の第２信号のスキューが前記複数の第１信号より分散するように、前記第１クロック信号と位相が異なる第２クロック信号を前記複数の第２信号に分岐する第２配線を配置するステップと、前記複数の第１信号の一つと前記複数の第２信号の一つとから第３クロック信号を生成する生成回路を複数配置するステップと、前記複数の生成回路の出力を前記複数のフリップフロップ回路へ接続するステップと、を含むことを特徴とする回路設計方法。
（付記２）前記第１配線を配置するステップは、前記第１配線内に第１遅延素子を挿入するステップを含むことを特徴とする付記１記載の回路設計方法。
（付記３）前記第２配線を配置するステップは、前記第２配線内の前記第１遅延素子に対応する箇所に第２遅延素子を挿入するステップと、前記第２遅延素子の少なくとも一部を削除する、および前記第２配線内に第３遅延素子を追加する、の少なくとも一方を行なうことにより、前記複数の第２信号のスキューを分散させるステップを含むことを特徴とする付記２記載の回路設計方法。
（付記４）
前記複数の第１信号は、前記第１クロック信号を分周した信号を分岐した信号であり、前記複数の第２信号は、前記第２クロック信号を分周した信号を分岐した信号であることを特徴とする付記１から３のいずれか一項記載の回路設計方法。
（付記５）回路を複数の第１ブロックに分割し、各第１ブロックを第２ブロックに分割するステップを含み、前記第１配線を配置するステップは、前記第１クロック信号を前記複数の第１ブロックに対応する第３信号に分岐し、前記複数の第１ブロック内においてそれぞれ前記第３信号を各第２ブロックに対応する第１信号に分岐するステップを含むことを特徴とする付記１から４のいずれか一項記載の回路設計方法。
（付記６）前記複数の第１信号は、前記第１クロック信号を２分周した信号を分岐した信号であり、前記複数の第２信号は、前記第２クロック信号を２分周した信号を分岐した信号であることを特徴とする付記１から５のいずれか一項記載の回路設計方法。
（付記７）前記第１クロック信号と前記第２クロック信号とは位相が反転していることを特徴とする付記６記載の回路設計方法。
（付記８）コンピュータに、複数のフリップフロップ回路を配置し、第１クロック信号を、複数の第１信号に分岐する第１配線を配置し、複数の第２信号のスキューが前記複数の第１信号より分散するように、前記第１クロック信号と位相が異なる第２クロック信号を前記複数の第２信号に分岐する第２配線を配置し、前記複数の第１信号の一つと前記複数の第２信号の一つとから第３クロック信号を生成する生成回路を複数配置し、前記複数の生成回路の出力を前記複数のフリップフロップ回路へ接続させることを特徴とする回路設計プログラム。
（付記９）複数のフリップフロップ回路を配置する第１ユニットと、第１クロック信号を、複数の第１信号に分岐する第１配線を配置する第２ユニットと、複数の第２信号のスキューが前記複数の第１信号より分散するように、前記第１クロック信号と位相が異なる第２クロック信号を前記複数の第２信号に分岐する第２配線を配置する第３ユニットと、前記複数の第１信号の一つと前記複数の第２信号の一つとから第３クロック信号を生成する生成回路を複数配置し、前記複数の生成回路の出力を前記複数のフリップフロップ回路へ接続する第４ユニットと、を具備することを特徴とする回路設計装置。
（付記１０）クロック信号を、第１クロック信号と前記第１クロック信号とは位相が異なる第２クロック信号に分割する分割回路と、前記第１クロック信号を複数の第１信号に分岐する第１配線と、前記第２クロック信号を、前記複数の第１信号よりスキューが分散するように複数の第２信号に分岐する第２配線と、前記複数の第１信号の一つと前記複数の第２信号の一つとから第３クロック信号を生成する複数の生成回路と、前記複数の生成回路の出力を受ける複数のフリップフロップ回路と、を具備することを特徴とする電子回路。
【００４０】
１０        ＦＦ
１２        クロック源
２０ａ、２０ｂ  分周器
２２、２４  バッファ
２３        第１配線
２５        第２配線
９１        第１ユニット
９２        分割ユニット
９４        第２ユニット
９６        第３ユニット
９７        第４ユニット
【図１】
2014232454.tif 000003
【図２】
2014232454.tif 000004
【図３】
2014232454.tif 000005
【図４】
2014232454.tif 000006
【図５】
2014232454.tif 000007
【図６】
2014232454.tif 000008
【図７】
2014232454.tif 000009
【図８】
2014232454.tif 000010
【図９】
2014232454.tif 000011
【図１０】
2014232454.tif 000012
【図１１】
2014232454.tif 000013
【図１２】
2014232454.tif 000014
【図１３】
2014232454.tif 000015
【図１４】
2014232454.tif 000016
【図１５】
2014232454.tif 000017