JP2004120084A - 同期回路の設計方法 - Google Patents

同期回路の設計方法 Download PDF

Info

Publication number
JP2004120084A
JP2004120084A JP2002277421A JP2002277421A JP2004120084A JP 2004120084 A JP2004120084 A JP 2004120084A JP 2002277421 A JP2002277421 A JP 2002277421A JP 2002277421 A JP2002277421 A JP 2002277421A JP 2004120084 A JP2004120084 A JP 2004120084A
Authority
JP
Japan
Prior art keywords
circuit
value
skew
block
blocks
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.)
Pending
Application number
JP2002277421A
Other languages
English (en)
Inventor
Hideaki Takeshima
武嶋 秀明
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2002277421A priority Critical patent/JP2004120084A/ja
Publication of JP2004120084A publication Critical patent/JP2004120084A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】LSI同期回路の設計に関して、回路を全くランダムに分割でき、回路規模が増大するに従い、クロックの立上がり、または立下がり時のピーク電流が大きくなり、ピーク電流に起因するEMIノイズが増大するのを防ぐことができる同期回路の設計方法を提供する。
【解決手段】同期回路の設計方法において、フリップフロップと組み合わせ回路を備えた回路をブロックに分割し、各ブロックごとにクロックツリーを構成し、前記各ブロックのクロックは、バッファにより遅延させた信号を入力することを特徴とし、各ブロック間のやりとりの有無に関係なく、回路規模が増大しても、ピーク電流の増大を緩和しEMIノイズの低減を実現することができるようにした。
【選択図】   図1

Description

【0001】
【発明の属する技術分野】
発明は、同期回路の設計方法に関し、特に同期回路のクロック構成の設計方法に関するものである。
【0002】
【従来の技術】
従来の同期回路システムは、それぞれ独立に機能する機能ブロックを複数有する多機能回路と、該多機能回路を搭載し、共通クロックに同期して動作する複数の回路群とを有し、前記機能回路ブロック毎にクロックツリーの段数を異ならしめ、前記多機能回路の後段の回路群のセットアップ/ホールドタイムを満たすように、スイッチング時間決定手段が多機能回路の出力バッファのスイッチング時間を決定し、それぞれの機能ブロックの出力バッファのスイッチング時間を位相を少しずつずらすことで同時スイッチングする出力バッファの数を減らし、スイッチングノイズを低減している。(例えば、特許文献1参照)。
【0003】
【特許文献1】
特開2000−307395号公報(第1−8頁、第1図)
【0004】
【発明が解決しようとする課題】
しかしながら、従来の同期回路システムでは、複数の機能ブロック間に回路のやりとりがあると動作しないという問題があった。
【0005】
また、従来の同期回路システムでは、機能ブロックの分割にやりとりがないように構成を考慮しなければならないという問題があった。
【0006】
本発明は、上記のような従来の課題を解決するためになされたもので、ブロック分割に関して全くランダムに分割可能である同期回路、及びその設計方法を得ることを目的とする。
【0007】
【課題を解決するための手段】
本発明の請求項1による同期回路の設計方法は、複数の入力クロックを組み合わせることにより出力クロックを決定する組み合わせ回路と、複数のフリップフロップとを備えた同期回路を複数のブロックに分割し、該分割された各ブロックのスキューを設定し、該分割されたブロックに、クロックを各ブロックごとにそれぞれ少しずつ遅延させるクロックツリーを挿入し、クロックソースから該ブロック内の全フリップフロップへの到達時間を算出して、該全フリップフロップへの到達時間の最大値と最小値より回路ブロックのスキューを計算し、回路ブロックのスキューの設定値と実測値を比較し、該複数のブロックのそれぞれのスキュー値を、前記同期回路全体のスキュー値の上限値より小さい所定値以下となるように設計し、前記各ブロックごとに、それぞれ少しずつ遅延されたクロックを用いて、前記同期回路全体のスキュー値が前記上限値以下となるように設計するようにしたものである。
【0008】
本発明の請求項2による同期回路の設計方法は、請求項1記載の同期回路の設計方法において、前記同期回路全体のスキュー値が前記上限値以下とならない場合は、再度、前記同期回路を前記複数のブロックと異なる分割数で分割するようにしたものである。
【0009】
【発明の実施の形態】
(実施の形態1)
以下、本発明の実施の形態について、図面を参照しながら説明する。
図1は、本発明の実施の形態による同期回路の設計方法により設計された同期回路(a)及び回路ブロック(b)の構成を示すブロック図である。
図1(a)において、1はクロックソースであり、2,3,4は分割された回路ブロックA,B,Cである。
【0010】
5は回路ブロックA2のクロックツリーであり、6は回路ブロックB3のクロックツリーであり、7は回路ブロックC4のクロックツリーである。
8は回路ブロックA2入力用のクロックソース1より遅延させるバッファであり、9は回路ブロックB3入力用の回路ブロックA2への入力クロックより遅延させるバッファであり、10は回路ブロックC4入力用の回路ブロックA3への入力クロックより遅延させるバッファである。
【0011】
また、図1(b)において、回路ブロックは、フリップフロップ41,42,43、及び組み合わせ回路51,52から構成されている。
各回路ブロックのスキュー値は、回路全体のスキュー値より小さく設定することで、各回路ブロックのスキューを回路全体のスキューより厳しく設計を行う。
【0012】
ここで、ブロック分割に関して、FFを振り分けるとき、全FFそれぞれについてブロック割り当てを決めるが、回路構成(回路のつながり方)に関係なくどのFFをどの回路ブロックに割り当てるかを自由に設定することができる。つまり、全くランダムにFFを振り分けても構わない。
【0013】
以上のように構成された同期回路について、以下その一動作例を説明する。
図2は、本発明の実施の形態による同期回路の設計方法により設計された同期回路のクロック信号波形(a)及び電流変化(b)を示している。
【0014】
図2(a)において、クロックソース1にクロックソース信号波形11が入力されると、回路ブロックA2,B3,C4のクロックには、それぞれ回路ブロックA2,B3,C4の入力クロック波形12,13,14が入力される。
【0015】
図2(b)において、図2(a)に示すようなクロックが入力された時、回路ブロックA2の電流変化は、回路ブロックA2入力クロックの立ち上がりからFFへの平均到達時間18だけ遅延した点をピークとした波形15のようになる。同様に回路ブロックB3,C4の電流変化は、波形16,17のようになる。回路全体としての電流変化は、回路ブロックA2,B3,C4の電流変化の合計となり、波形21のようになる。
【0016】
次に、本発明の実施の形態による同期回路の設計方法について説明する。
図3は、本発明の実施の形態1による同期回路の設計方法を示すフローチャートである。
図3において、まず、ブロックの分割数を決定する(ステップS1)。その分割数は、回路規模、動作周波数等を考慮して決められる。本発明の実施の形態による例では、ブロックの分割数を3とする。それぞれの回路規模の割合は、同等にする方がその後の設計は、容易である。
【0017】
ここで、ブロック分割に関して、FFを振り分けるとき、全FFそれぞれについてブロック割り当てを決めるが、回路構成(回路のつながり方)に関係なくどのFFをどの回路ブロックに割り当てるかを自由に設定することができる。つまり、全くランダムにFFを振り分けても構わない。
【0018】
次に、分割された各回路ブロックのスキュー値を設定する(ステップS2)。ここでは、各回路ブロックに関するスキュー値を、一律に同期回路全体のスキュー値の上限値の半分と設定する。
【0019】
続いて、分割したブロックにクロックツリーを挿入する(ステップS3)。その後、クロックソースからブロック内の全FFへの到達時間を算出する(ステップS4)。到達時間の算出は、レイアウト情報から寄生容量、抵抗を算出して回路の遅延情報を抽出するEDA(Electric Design Automation)ツールのバックアノテーション機能を用いて容易に行うことができる。
【0020】
FFへの到達時間の最大値と最小値より、回路ブロックA2のスキューを計算する(ステップS5)。ここで、回路ブロックA2に予め設定したスキュー値と、回路ブロックA2のフリップフロップへの到達時間の最大値から最小値を引いた値を比較して、回路ブロックA2に設定したスキュー値の方が大きい場合はスキューを満足することとなり、回路ブロックA2に設定したスキュー値の方が小さい場合はスキューを満足しないこととなる。
【0021】
スキューを満足しない場合(ステップS6でNoと判断)、クロックツリーのバッファ構成の変更、もしくはブロック分割数を再検討する。目安として、スキューの設定値と実際値との差があまりに大きい場合は、ブロック分割数決定のステップS1に戻り、若干である場合にはクロックツリー挿入のステップS3に戻る。
【0022】
スキューを満足する場合(ステップS6でYesと判断)、次の回路ブロックB3に移り、回路ブロックA2と同様のステップS3からステップS6までのフローを実行する。そして、分割した全回路ブロックについて、ステップS3からステップS6までのフローを繰り返す。
【0023】
各回路ブロックのクロック設計が終わったら、図1に示すバッファ8,9,10のような、各回路ブロックへクロックを遅延させるバッファを挿入し(ステップS7)、回路全体のスキューを算出する(ステップS8)。
【0024】
ここで、回路全体に設定されたスキュー値の上限値と、回路全体のフリップフロップへの到達時間の最大値から最小値を引いた値とを比較し、回路全体に設定されたスキュー値の上限値の方が大きければスキューを満足することとなり、回路全体に設定したスキュー値の上限値の方が小さければスキューを満足しないこととなる。
【0025】
スキューを満足しない場合(ステップS9でNoと判断)、実際のスキュー値と、その設定された上限値との差の結果により、最初に戻るか、あるいは各ブロック入力遅延用バッファ挿入を再検討する。目安として、スキュー値の設定値と実際値との差があまりに大きい場合は、ブロック数決定のステップS1に戻り、若干である場合には、各ブロック入力遅延用バッファ挿入のステップS7に戻る。
スキューを満足する場合(ステップS9でYesと判断)は、同期回路の設計完了となる。
【0026】
このように、本実施の形態1による同期回路の設計方法によれば、同期回路を複数のブロックに分割すると、個々の回路ブロックの電流ピークを小さくすることができ、また個々の回路ブロックのクロックを変えることで各回路ブロックを少しずつ時間をずらして動作させることより、回路を全くランダムに分割でき、また、同期回路全体の電流ピーク値を小さく抑えることができるという効果がある。
【0027】
また、本実施の形態1による同期回路の設計方法によれば、ブロックを分割してスキュー値を設定し、スキュー値の設定値と実際値を比較することにより、スキューを満足するブロック分割数を決めることができるようにしたので、回路ブロック間に回路のやりとりがあってもよいように、同期回路を設計することができ、回路ブロックの分割にやりとりがないように構成を考慮する必要がないという効果がある。
【0028】
【発明の効果】
以上のように本発明の請求項1による同期回路の設計方法は、複数の入力クロックを組み合わせることにより出力クロックを決定する組み合わせ回路と、複数のフリップフロップとを備えた同期回路を複数のブロックに分割し、該分割された各ブロックのスキューを設定し、該分割されたブロックに、クロックを各ブロックごとにそれぞれ少しずつ遅延させるクロックツリーを挿入し、クロックソースから該ブロック内の全フリップフロップへの到達時間を算出して、該全フリップフロップへの到達時間の最大値と最小値より回路ブロックのスキューを計算し、回路ブロックのスキューの設定値と実測値を比較し、該複数のブロックのそれぞれのスキュー値を、前記同期回路全体のスキュー値の上限値より小さい所定値以下となるように設計し、前記各ブロックごとに、それぞれ少しずつ遅延されたクロックを用いて、前記同期回路全体のスキュー値が前記上限値以下となるように設計するようにしたので、回路を全くランダムに分割でき、回路規模が増大しても従来の同期回路と比較してピーク電流の増大を緩和しEMIノイズの低減を実現することができるという効果がある。
【0029】
本発明の請求項2による同期回路の設計方法は、請求項1記載の同期回路の設計方法において、前記同期回路全体のスキュー値が前記上限値以下とならない場合は、再度、前記同期回路を前記複数のブロックと異なる分割数で分割するようにしたようにしたので、各ブロック間のやりとりがあってもよいように構成することができ、回路ブロックの分割にやりとりがないように構成を考慮する必要がないという効果がある。
【図面の簡単な説明】
【図1】本発明の実施の形態1による同期回路の設計方法により設計された同期回路(図(a))及び回路ブロック(図(b))の構成を示すブロック図である。
【図2】本発明の実施の形態1による同期回路の設計方法により設計された同期回路のクロック信号波形(図(a))及び電流波形(図(b))を示す図である。
【図3】本発明の実施の形態1による同期回路の設計方法を示すフローチャートである。
【符号の説明】
1  クロックソース
2,3,4  回路ブロックA,B,C
5,6,7  クロックツリー
8,9,10  回路ブロックA,B,C入力遅延用バッファ
11,12,13,14  クロック信号
15,16,17,21  電流波形
18,19,20  入力クロックからFFまでの平均到達時間
22  スキュー値
23  ピーク電流
41,42,43  フリップフロップ(FF)
51,52  組み合わせ回路

Claims (2)

  1. 複数の入力クロックを組み合わせることにより出力クロックを決定する組み合わせ回路と、複数のフリップフロップとを備えた同期回路を複数のブロックに分割し、
    該分割された各ブロックのスキューを設定し、
    該分割されたブロックに、クロックを各ブロックごとにそれぞれ少しずつ遅延させるクロックツリーを挿入し、
    クロックソースから該ブロック内の全フリップフロップへの到達時間を算出して、該全フリップフロップへの到達時間の最大値と最小値より回路ブロックのスキューを計算し、
    回路ブロックのスキューの設定値と実測値を比較し、
    該複数のブロックのそれぞれのスキュー値を、前記同期回路全体のスキュー値の上限値より小さい所定値以下となるように設計し、
    前記各ブロックごとに、それぞれ少しずつ遅延されたクロックを用いて、前記同期回路全体のスキュー値が前記上限値以下となるように設計する、
    ことを特徴とする同期回路の設計方法。
  2. 請求項1記載の同期回路の設計方法において、
    前記同期回路全体のスキュー値が前記上限値以下とならない場合は、再度、前記同期回路を前記複数のブロックと異なる分割数で分割する、
    ことを特徴とする同期回路の設計方法。
JP2002277421A 2002-09-24 2002-09-24 同期回路の設計方法 Pending JP2004120084A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002277421A JP2004120084A (ja) 2002-09-24 2002-09-24 同期回路の設計方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002277421A JP2004120084A (ja) 2002-09-24 2002-09-24 同期回路の設計方法

Publications (1)

Publication Number Publication Date
JP2004120084A true JP2004120084A (ja) 2004-04-15

Family

ID=32273023

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002277421A Pending JP2004120084A (ja) 2002-09-24 2002-09-24 同期回路の設計方法

Country Status (1)

Country Link
JP (1) JP2004120084A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007135122A (ja) * 2005-11-14 2007-05-31 Ricoh Co Ltd データ送受信回路
JP2010213272A (ja) * 2009-03-06 2010-09-24 Robert Bosch Gmbh 電流信号を受け取る受信装置、受信装置を備えた回路装置、及びバスシステムを介して電流信号を伝送する方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007135122A (ja) * 2005-11-14 2007-05-31 Ricoh Co Ltd データ送受信回路
JP2010213272A (ja) * 2009-03-06 2010-09-24 Robert Bosch Gmbh 電流信号を受け取る受信装置、受信装置を備えた回路装置、及びバスシステムを介して電流信号を伝送する方法

Similar Documents

Publication Publication Date Title
US6367060B1 (en) Method and apparatus for clock tree solution synthesis based on design constraints
US7039146B2 (en) Method and interface for glitch-free clock switching
US8225259B1 (en) Apparatus and methods for time-multiplex field-programmable gate arrays with multiple clocks
US6981233B2 (en) Method for analyzing path delays in an IC clock tree
US20080127003A1 (en) Opposite-phase scheme for peak current reduction
CN105897261B (zh) 时钟同步方法
CN113792520A (zh) 布局布线方法、装置、同步电路以及集成电路芯片
JP2008140821A (ja) 半導体装置および半導体装置の設計方法
US20100253409A1 (en) Clock generation system and clock dividing module
Ganusov et al. Time-borrowing platform in the Xilinx Ultrascale+ family of FPGAs and MPSoCs
CN104268352B (zh) 一种fpga实现中时钟歪斜的快速修复方法
Elboim et al. A clock-tuning circuit for system-on-chip
JP2004120084A (ja) 同期回路の設計方法
Semba et al. Comparison of RTL conversion and GL conversion from synchronous circuits to asynchronous circuits
Tang et al. Multi-FPGA prototyping board issue: the FPGA I/O bottleneck
US8564337B2 (en) Clock tree insertion delay independent interface
Wu et al. A method to transform synchronous pipeline circuits to bundled-data asynchronous circuits using commercial EDA tools
JP3508762B2 (ja) 分周回路
JP2008166981A (ja) 遅延調整回路及び遅延調整方法
US20080079468A1 (en) Layout method for semiconductor integrated circuit
JP2011107769A (ja) 半導体集積回路のレイアウト装置及びクロックゲーティング方法
JP2016122299A (ja) ステートマシン分割プログラム、情報処理装置およびステートマシン分割方法
WO2024066950A1 (zh) 一种信号处理方法、信号处理装置、芯片及电子设备
JP2003216271A (ja) 半導体集積回路
JP2012137986A (ja) 半導体集積回路のレイアウト設計装置、半導体集積回路のレイアウト設計方法及びプログラム