(57)【要約】【課題】ＬＳＩ同期回路の設計に関して、回路を全くランダムに分割でき、回路規模が増大するに従い、クロックの立上がり、または立下がり時のピーク電流が大きくなり、ピーク電流に起因するＥＭＩノイズが増大するのを防ぐことができる同期回路の設計方法を提供する。【解決手段】同期回路の設計方法において、フリップフロップと組み合わせ回路を備えた回路をブロックに分割し、各ブロックごとにクロックツリーを構成し、前記各ブロックのクロックは、バッファにより遅延させた信号を入力することを特徴とし、各ブロック間のやりとりの有無に関係なく、回路規模が増大しても、ピーク電流の増大を緩和しＥＭＩノイズの低減を実現することができるようにした。【選択図】　　　図１
2004120084.tif 000002
【特許請求の範囲】
【請求項１】
複数の入力クロックを組み合わせることにより出力クロックを決定する組み合わせ回路と、複数のフリップフロップとを備えた同期回路を複数のブロックに分割し、
該分割された各ブロックのスキューを設定し、
該分割されたブロックに、クロックを各ブロックごとにそれぞれ少しずつ遅延させるクロックツリーを挿入し、
クロックソースから該ブロック内の全フリップフロップへの到達時間を算出して、該全フリップフロップへの到達時間の最大値と最小値より回路ブロックのスキューを計算し、
回路ブロックのスキューの設定値と実測値を比較し、
該複数のブロックのそれぞれのスキュー値を、前記同期回路全体のスキュー値の上限値より小さい所定値以下となるように設計し、
前記各ブロックごとに、それぞれ少しずつ遅延されたクロックを用いて、前記同期回路全体のスキュー値が前記上限値以下となるように設計する、
ことを特徴とする同期回路の設計方法。
【請求項２】
請求項１記載の同期回路の設計方法において、
前記同期回路全体のスキュー値が前記上限値以下とならない場合は、再度、前記同期回路を前記複数のブロックと異なる分割数で分割する、
ことを特徴とする同期回路の設計方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
発明は、同期回路の設計方法に関し、特に同期回路のクロック構成の設計方法に関するものである。
【０００２】
【従来の技術】
従来の同期回路システムは、それぞれ独立に機能する機能ブロックを複数有する多機能回路と、該多機能回路を搭載し、共通クロックに同期して動作する複数の回路群とを有し、前記機能回路ブロック毎にクロックツリーの段数を異ならしめ、前記多機能回路の後段の回路群のセットアップ／ホールドタイムを満たすように、スイッチング時間決定手段が多機能回路の出力バッファのスイッチング時間を決定し、それぞれの機能ブロックの出力バッファのスイッチング時間を位相を少しずつずらすことで同時スイッチングする出力バッファの数を減らし、スイッチングノイズを低減している。（例えば、特許文献１参照）。
【０００３】
【特許文献１】
特開２０００−３０７３９５号公報（第１−８頁、第１図）
【０００４】
【発明が解決しようとする課題】
しかしながら、従来の同期回路システムでは、複数の機能ブロック間に回路のやりとりがあると動作しないという問題があった。
【０００５】
また、従来の同期回路システムでは、機能ブロックの分割にやりとりがないように構成を考慮しなければならないという問題があった。
【０００６】
本発明は、上記のような従来の課題を解決するためになされたもので、ブロック分割に関して全くランダムに分割可能である同期回路、及びその設計方法を得ることを目的とする。
【０００７】
【課題を解決するための手段】
本発明の請求項１による同期回路の設計方法は、複数の入力クロックを組み合わせることにより出力クロックを決定する組み合わせ回路と、複数のフリップフロップとを備えた同期回路を複数のブロックに分割し、該分割された各ブロックのスキューを設定し、該分割されたブロックに、クロックを各ブロックごとにそれぞれ少しずつ遅延させるクロックツリーを挿入し、クロックソースから該ブロック内の全フリップフロップへの到達時間を算出して、該全フリップフロップへの到達時間の最大値と最小値より回路ブロックのスキューを計算し、回路ブロックのスキューの設定値と実測値を比較し、該複数のブロックのそれぞれのスキュー値を、前記同期回路全体のスキュー値の上限値より小さい所定値以下となるように設計し、前記各ブロックごとに、それぞれ少しずつ遅延されたクロックを用いて、前記同期回路全体のスキュー値が前記上限値以下となるように設計するようにしたものである。
【０００８】
本発明の請求項２による同期回路の設計方法は、請求項１記載の同期回路の設計方法において、前記同期回路全体のスキュー値が前記上限値以下とならない場合は、再度、前記同期回路を前記複数のブロックと異なる分割数で分割するようにしたものである。
【０００９】
【発明の実施の形態】
（実施の形態１）
以下、本発明の実施の形態について、図面を参照しながら説明する。
図１は、本発明の実施の形態による同期回路の設計方法により設計された同期回路（ａ）及び回路ブロック（ｂ）の構成を示すブロック図である。
図１（ａ）において、１はクロックソースであり、２，３，４は分割された回路ブロックＡ，Ｂ，Ｃである。
【００１０】
５は回路ブロックＡ２のクロックツリーであり、６は回路ブロックＢ３のクロックツリーであり、７は回路ブロックＣ４のクロックツリーである。
８は回路ブロックＡ２入力用のクロックソース１より遅延させるバッファであり、９は回路ブロックＢ３入力用の回路ブロックＡ２への入力クロックより遅延させるバッファであり、１０は回路ブロックＣ４入力用の回路ブロックＡ３への入力クロックより遅延させるバッファである。
【００１１】
また、図１（ｂ）において、回路ブロックは、フリップフロップ４１，４２，４３、及び組み合わせ回路５１，５２から構成されている。
各回路ブロックのスキュー値は、回路全体のスキュー値より小さく設定することで、各回路ブロックのスキューを回路全体のスキューより厳しく設計を行う。
【００１２】
ここで、ブロック分割に関して、ＦＦを振り分けるとき、全ＦＦそれぞれについてブロック割り当てを決めるが、回路構成（回路のつながり方）に関係なくどのＦＦをどの回路ブロックに割り当てるかを自由に設定することができる。つまり、全くランダムにＦＦを振り分けても構わない。
【００１３】
以上のように構成された同期回路について、以下その一動作例を説明する。
図２は、本発明の実施の形態による同期回路の設計方法により設計された同期回路のクロック信号波形（ａ）及び電流変化（ｂ）を示している。
【００１４】
図２（ａ）において、クロックソース１にクロックソース信号波形１１が入力されると、回路ブロックＡ２，Ｂ３，Ｃ４のクロックには、それぞれ回路ブロックＡ２，Ｂ３，Ｃ４の入力クロック波形１２，１３，１４が入力される。
【００１５】
図２（ｂ）において、図２（ａ）に示すようなクロックが入力された時、回路ブロックＡ２の電流変化は、回路ブロックＡ２入力クロックの立ち上がりからＦＦへの平均到達時間１８だけ遅延した点をピークとした波形１５のようになる。同様に回路ブロックＢ３，Ｃ４の電流変化は、波形１６，１７のようになる。回路全体としての電流変化は、回路ブロックＡ２，Ｂ３，Ｃ４の電流変化の合計となり、波形２１のようになる。
【００１６】
次に、本発明の実施の形態による同期回路の設計方法について説明する。
図３は、本発明の実施の形態１による同期回路の設計方法を示すフローチャートである。
図３において、まず、ブロックの分割数を決定する（ステップＳ１）。その分割数は、回路規模、動作周波数等を考慮して決められる。本発明の実施の形態による例では、ブロックの分割数を３とする。それぞれの回路規模の割合は、同等にする方がその後の設計は、容易である。
【００１７】
ここで、ブロック分割に関して、ＦＦを振り分けるとき、全ＦＦそれぞれについてブロック割り当てを決めるが、回路構成（回路のつながり方）に関係なくどのＦＦをどの回路ブロックに割り当てるかを自由に設定することができる。つまり、全くランダムにＦＦを振り分けても構わない。
【００１８】
次に、分割された各回路ブロックのスキュー値を設定する（ステップＳ２）。ここでは、各回路ブロックに関するスキュー値を、一律に同期回路全体のスキュー値の上限値の半分と設定する。
【００１９】
続いて、分割したブロックにクロックツリーを挿入する（ステップＳ３）。その後、クロックソースからブロック内の全ＦＦへの到達時間を算出する（ステップＳ４）。到達時間の算出は、レイアウト情報から寄生容量、抵抗を算出して回路の遅延情報を抽出するＥＤＡ（Ｅｌｅｃｔｒｉｃ　Ｄｅｓｉｇｎ　Ａｕｔｏｍａｔｉｏｎ）ツールのバックアノテーション機能を用いて容易に行うことができる。
【００２０】
ＦＦへの到達時間の最大値と最小値より、回路ブロックＡ２のスキューを計算する（ステップＳ５）。ここで、回路ブロックＡ２に予め設定したスキュー値と、回路ブロックＡ２のフリップフロップへの到達時間の最大値から最小値を引いた値を比較して、回路ブロックＡ２に設定したスキュー値の方が大きい場合はスキューを満足することとなり、回路ブロックＡ２に設定したスキュー値の方が小さい場合はスキューを満足しないこととなる。
【００２１】
スキューを満足しない場合（ステップＳ６でＮｏと判断）、クロックツリーのバッファ構成の変更、もしくはブロック分割数を再検討する。目安として、スキューの設定値と実際値との差があまりに大きい場合は、ブロック分割数決定のステップＳ１に戻り、若干である場合にはクロックツリー挿入のステップＳ３に戻る。
【００２２】
スキューを満足する場合（ステップＳ６でＹｅｓと判断）、次の回路ブロックＢ３に移り、回路ブロックＡ２と同様のステップＳ３からステップＳ６までのフローを実行する。そして、分割した全回路ブロックについて、ステップＳ３からステップＳ６までのフローを繰り返す。
【００２３】
各回路ブロックのクロック設計が終わったら、図１に示すバッファ８，９，１０のような、各回路ブロックへクロックを遅延させるバッファを挿入し（ステップＳ７）、回路全体のスキューを算出する（ステップＳ８）。
【００２４】
ここで、回路全体に設定されたスキュー値の上限値と、回路全体のフリップフロップへの到達時間の最大値から最小値を引いた値とを比較し、回路全体に設定されたスキュー値の上限値の方が大きければスキューを満足することとなり、回路全体に設定したスキュー値の上限値の方が小さければスキューを満足しないこととなる。
【００２５】
スキューを満足しない場合（ステップＳ９でＮｏと判断）、実際のスキュー値と、その設定された上限値との差の結果により、最初に戻るか、あるいは各ブロック入力遅延用バッファ挿入を再検討する。目安として、スキュー値の設定値と実際値との差があまりに大きい場合は、ブロック数決定のステップＳ１に戻り、若干である場合には、各ブロック入力遅延用バッファ挿入のステップＳ７に戻る。
スキューを満足する場合（ステップＳ９でＹｅｓと判断）は、同期回路の設計完了となる。
【００２６】
このように、本実施の形態１による同期回路の設計方法によれば、同期回路を複数のブロックに分割すると、個々の回路ブロックの電流ピークを小さくすることができ、また個々の回路ブロックのクロックを変えることで各回路ブロックを少しずつ時間をずらして動作させることより、回路を全くランダムに分割でき、また、同期回路全体の電流ピーク値を小さく抑えることができるという効果がある。
【００２７】
また、本実施の形態１による同期回路の設計方法によれば、ブロックを分割してスキュー値を設定し、スキュー値の設定値と実際値を比較することにより、スキューを満足するブロック分割数を決めることができるようにしたので、回路ブロック間に回路のやりとりがあってもよいように、同期回路を設計することができ、回路ブロックの分割にやりとりがないように構成を考慮する必要がないという効果がある。
【００２８】
【発明の効果】
以上のように本発明の請求項１による同期回路の設計方法は、複数の入力クロックを組み合わせることにより出力クロックを決定する組み合わせ回路と、複数のフリップフロップとを備えた同期回路を複数のブロックに分割し、該分割された各ブロックのスキューを設定し、該分割されたブロックに、クロックを各ブロックごとにそれぞれ少しずつ遅延させるクロックツリーを挿入し、クロックソースから該ブロック内の全フリップフロップへの到達時間を算出して、該全フリップフロップへの到達時間の最大値と最小値より回路ブロックのスキューを計算し、回路ブロックのスキューの設定値と実測値を比較し、該複数のブロックのそれぞれのスキュー値を、前記同期回路全体のスキュー値の上限値より小さい所定値以下となるように設計し、前記各ブロックごとに、それぞれ少しずつ遅延されたクロックを用いて、前記同期回路全体のスキュー値が前記上限値以下となるように設計するようにしたので、回路を全くランダムに分割でき、回路規模が増大しても従来の同期回路と比較してピーク電流の増大を緩和しＥＭＩノイズの低減を実現することができるという効果がある。
【００２９】
本発明の請求項２による同期回路の設計方法は、請求項１記載の同期回路の設計方法において、前記同期回路全体のスキュー値が前記上限値以下とならない場合は、再度、前記同期回路を前記複数のブロックと異なる分割数で分割するようにしたようにしたので、各ブロック間のやりとりがあってもよいように構成することができ、回路ブロックの分割にやりとりがないように構成を考慮する必要がないという効果がある。
【図面の簡単な説明】
【図１】本発明の実施の形態１による同期回路の設計方法により設計された同期回路（図（ａ））及び回路ブロック（図（ｂ））の構成を示すブロック図である。
【図２】本発明の実施の形態１による同期回路の設計方法により設計された同期回路のクロック信号波形（図（ａ））及び電流波形（図（ｂ））を示す図である。
【図３】本発明の実施の形態１による同期回路の設計方法を示すフローチャートである。
【符号の説明】
１　　クロックソース
２，３，４　　回路ブロックＡ，Ｂ，Ｃ
５，６，７　　クロックツリー
８，９，１０　　回路ブロックＡ，Ｂ，Ｃ入力遅延用バッファ
１１，１２，１３，１４　　クロック信号
１５，１６，１７，２１　　電流波形
１８，１９，２０　　入力クロックからＦＦまでの平均到達時間
２２　　スキュー値
２３　　ピーク電流
４１，４２，４３　　フリップフロップ（ＦＦ）
５１，５２　　組み合わせ回路
【図１】
2004120084.tif 000003
【図２】
2004120084.tif 000004
【図３】
2004120084.tif 000005