JPH10124553A - クロックトリー生成方法 - Google Patents

クロックトリー生成方法

Info

Publication number
JPH10124553A
JPH10124553A JP8278436A JP27843696A JPH10124553A JP H10124553 A JPH10124553 A JP H10124553A JP 8278436 A JP8278436 A JP 8278436A JP 27843696 A JP27843696 A JP 27843696A JP H10124553 A JPH10124553 A JP H10124553A
Authority
JP
Japan
Prior art keywords
clock
registers
register
delay time
skew
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
JP8278436A
Other languages
English (en)
Inventor
Tsunemichi Shiozawa
恒道 塩澤
Kiyoshi Oguri
清 小栗
Hideyuki Ito
秀之 伊藤
Koichi Nagami
康一 永見
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP8278436A priority Critical patent/JPH10124553A/ja
Publication of JPH10124553A publication Critical patent/JPH10124553A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Pulse Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

(57)【要約】 【課題】 クロックバッファの個々のばらつきや各クロ
ックバッファ最終段の出力に接続されるレジスタの数等
によって発生するクロックスキューによる影響を減少さ
せることが可能なクロックトリー生成方法を提供する。 【解決手段】 本発明は、論理回路を構成するレジスタ
間に存在する組み合わせ回路による遅延時間に応じて、
該レジスタを分類し、分類されたレジスタとクロックパ
ルスの周期時間に基づいて該各レジスタにクロックパル
スを供給するクロックバッファの出力を選択する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、クロックトリー生
成方法に係り、特に、クロックパルスによってレジスタ
の値が同期して変化する同期型の論理回路において、各
レジスタに供給されるクロックパルスの変化のずれ(ク
ロックキュー)の影響を減少させるように各クロックパ
ルスを供給するクロックトリー生成方法に関する。
【0002】
【従来の技術】現在、LSI等の論理回路の設計に広く
用いられている同期型の論理回路は、一定周期のクロッ
クを発生するクロック発生器から基準となるクロックパ
ルスが供給され、このクロックパルスに同期してレジス
タの値が設定される。
【0003】図9は、同期型の論理回路を説明するため
の図である。同図において、レジスタ11、12、13
及び14に設定される値(通常、値「0」または、値
「1」が設定される)は、クロック入力30に同期して
設定される。また、レジスタ13に設定される値は、レ
ジスタ11、外部入力1、外部入力2、外部入力3及び
レジスタ12の値がゲート21、22、23、24で構
成される組み合わせ回路を通過することによって決定さ
れるゲート23の出力値が設定される。
【0004】以上のように、同期型の論理回路では、全
てのレジスタの値は、一定周期のクロックパルスに同期
して設定される。よって、任意の時刻のクロックパルス
によって設定されたレジスタR1の値が組み合わせ回路
を通過して他のレジスタR2に正しく設定されるために
は、レジスタR1とレジスタR2との間に存在する組み
合わせ回路を通過してレジスタR2に安定した入力とし
て伝搬するまでの時間(遅延時間)がクロックパルスの
周期時間よりも小さい必要がある。
【0005】図9の例では、レジスタ11の出力からレ
ジスタ13の入力までの間に存在するゲート21、22
及び23により構成される組み合わせ回路の遅延時間が
クロックパルスクの周期時間より小さい必要がある。こ
のことは、同様に、レジスタ12とレジスタ13及びレ
ジスタ14とレジスタ12についても満足する必要があ
る。
【0006】しかし、実際の同期型の論理回路では、各
レジスタに供給されるクロックパルスにずれが生じる。
これは、クロックスキューと呼ばれ、同期型の論理回路
においてレジスタ値を正しく設定するためには、レジス
タ間の組み合わせ回路による遅延時間にクロックスキュ
ーを加えた時間がクロックパルスの周期時間より小さく
する必要がある。
【0007】従来、レジスタにクロックパルスを供給す
る方法では、図10に示すように、クロック入力から供
給されるクロックパルスをクロックバッファをトリー上
に接続(クロックトリー)して増幅することで、回路内
の全てのレジスタにクロックパルスを供給している。
【0008】
【発明が解決しようとする課題】しかしながら、上記従
来の方法では、クロックスキューを最小とするために、
全てのレジスタに供給されるクロックパルスはクロック
入力から同一個数(段数)のクロックバッファを通過す
るようにクロックトリーが構成されている。この場合、
クロックスキューは、クロックバッファの個々の特性の
ばらつきや各クロックバッファ最終段の出力に接続され
るレジスタの個数等によって発生することになり、大規
模な論理回路で多くのレジスタを含む場合により、顕在
化することになる。
【0009】一組のクロックバッファの間のクロックス
キューを1とした場合のクロックトリーとクロックスキ
ューの関係を図11に示す。同図において、クロックバ
ッファ210、220、230及び240のようにクロ
ックトリーの最終段となるクロックバッファはリーフと
呼ばれ、この出力端子がレジスタのクロックパルス入力
端子に接続される。リーフであるクロックバッファ22
0に対してバッファ210、230及び240のクロッ
クスキューはそれぞれ1、2、2となる。
【0010】本発明は、上記の点に鑑みなされたもの
で、クロックバッファの個々のばらつきや各クロックバ
ッファ最終段の出力に接続されるレジスタの数等によっ
て発生するクロックスキューによる影響を減少させるこ
とが可能なクロックトリー生成方法を提供することを目
的とする。
【0011】また、本発明の更なる目的は、組み合わせ
回路による遅延時間がクロックパルスの周期時間に比べ
て充分小さく、クロックスキューの影響が無いレジスタ
に対しては、クロック入力からのクロックバッファの段
数を揃える必要がなく、従来の方法に比べて不要なクロ
ックバッファを削減することが可能なクロックトリー生
成方法を提供することである。
【0012】
【課題を解決するための手段】図1は、本発明の原理を
説明するための図である。本発明は、複数のレジスタ及
び組み合わせ回路が相互に接続され、クロックパルスが
複数のクロックバッファを介して各レジスタのクロック
入力端子に供給され、該各レジスタの値は、該クロック
バッファを経由して外部から入力されたクロックパルス
に同期して変化する同期型の論理回路におけるクロック
トリー生成方法において、論理回路を構成するレジスタ
間に存在する組み合わせ回路による遅延時間に応じて、
該レジスタを分類し(ステップ1)、分類されたレジス
タとクロックパルスの周期時間に基づいて該各レジスタ
にクロックパルスを供給するクロックバッファの出力を
選択する(ステップ2)。
【0013】また、本発明は、レジスタ間の組み合わせ
回路による遅延時間がクロックパルスの周期時間と略等
しい場合には、該レジスタに同一のクロックバッファの
出力から得られるクロックパルスまたは、よりクロック
スキューの小さいクロックを入力する。
【0014】本発明は、論理回路を構成するレジスタ数
及びクロックバッファのファンアウト数からクロックト
リーを構成し、クロックトリーで生じるクロックスキュ
ーの値を要素とする集合Sを求め、論理回路を構成する
各レジスタの出力に接続された組み合わせ回路を辿り、
レジスタ間接続集合Cを求め、クロックスキュー値の集
合Sから選択されていない要素の中の最大の要素eを選
択し、当該集合Sから削除し、レジスタ間接続集合Cの
部分集合Reを求め、該レジスタ間接続集合Cから該部
分集合Reを除いた集合をレジスタ間接続集合Cとし、
集合Sが空集合でなく、かつレジスタ間接続集合Cが空
集合であるとき、所定の条件を満足するように、クロッ
クトリーのリーフをレジスタのクロックパルス入力端子
に接続する。
【0015】また、本発明は、クロックトリーのリーフ
をレジスタのクロックパルス入力端子に接続する際の条
件として、リーフに接続されるレジスタの最大数は、ク
ロックバッファの出力端子に接続可能なレジスタの最大
数を越えないものとし、かつ、組み合わせ回路を経由し
て接続される全てのレジスタの組(rj,rk)に対し
て、(rj,rk)∈Rm(但し、mは集合Sの要素の
数)のとき、レジスタrj及びレジスタrkはクロック
スキューがm以下のリーフに接続されるものとする。
【0016】上記のように、本発明によりレジスタ間の
遅延時間に応じてレジスタをグループ分けすることによ
り、遅延時間が大きく、クロックスキューにより回路が
正常に動作しないグループに属するレジスタに対して
は、クロックスキューの小さいクロックパルスを供給
し、遅延時間が小さく、クロックスキューが回路の動作
に影響を与えないグループに属するレジスタに対して
は、クロックスキューの大きなクロックパルスの供給が
可能となり、組み合わせ回路の遅延時間を削除する処理
を行う手間を削減することが可能となる。
【0017】
【発明の実施の形態】図2は、本発明のクロックトリー
生成前の組み合わせ論理回路を示し、図3は、本発明の
各レジスタ間の組み合わせ回路による遅延時間を示す一
覧表である。図3では、行方向の各レジスタrjに設定
された値が組み合わせ回路を通過して各列のレジスタに
伝搬するまでの遅延時間d(rj,rk)を示してい
る。一般に、組み合わせ回路を構成するゲートの遅延時
間は、使用するLSIテクノロジ等によりゲートの種類
毎に与えられる。この例では、2入力ANDゲート遅延
時間を3、2入力ORゲートの遅延時間を2、INVゲ
ートの遅延時間を1として遅延時間を計算している。
【0018】また、クロック入力を各レジスタに供給す
る目的でクロックを増幅するためにクロックバッファが
使用される。異なるクロックバッファのスキューもまた
使用するLSIのテクノロジ及びクロック入力からのク
ロックバッファの段数やクロックバッファに接続された
レジスタ数により与えられる。この例では、一組のクロ
ックバッファによるスキューは最大1とする。また、ク
ロックバッファの出力に接続可能なクロックバッファや
レジスタの数は最大2とする。
【0019】図4、図5は、本発明のクロックトリー生
成方法を説明するためのフローチャートである。同図に
示す一連の処理は、図2及び図3で与えられる組み合わ
せ論理回路に対してクロックトリーを生成する方法であ
る。ここで、クロックトリー生成の条件として、図11
に示す回路をクロックパルスの周期時間Tcyclが12よ
り小さい値で正常に動作させるようにクロックトリーを
生成することとする。
【0020】ステップ101) 図2の論理回路を構成
するレジスタ数(ここでは5)及びクロックバッファの
ファンアウト数(ここでは2)から、リーフの数が3
(>レジスタ数/ファンアウト数)以上でリーフまでの
段数が等しくなるクロックトリーを構成する。図6は、
クロックトリーの構成例を示す。
【0021】ステップ102) ステップ101で構成
したクロックトリーで生じるクロックスキューの値を要
素とする集合 S={0,1,2} を求める。
【0022】ステップ103) 論理回路を構成する各
レジスタの出力に接続された組み合わせ回路を辿り、レ
ジスタの組を要素とするレジスタ間接続集合 C={(11,12),(11,13),(11,1
5),(14,15)} を求める。この要素は、図2で遅延時間が定義されてい
るレジスタの組であり、第1項が信号出力元のレジスタ
であり、第2項は、信号入力先のレジスタである。
【0023】ステップ104) クロックスキュー値の
集合Sから最大の要素e(∈S)を順次選択(e=2,
1,0の順番で値を選択)し、選択した要素をSから取
り除く。 ステップ105) レジスタ間接続集合Cの部分集合 Re={(rj,rk)|(d(rj,rk)+e)<
Tcycle } を求め、 C=C−Re とする。上記のステップ104では、ステップ101で
処理したクロックトリーのスキューの大きい値から順次
選択しているので、レジスタ間接続集合Cの要素である
レジスタの組の中で、クロックスキューによる影響が少
ないレジスタの組が順次Cから取り除かれる。レジスタ
の組を要素とする集合Reは、クロックスキューがe以
下とならなければならないレジスタの組の集合となる。
【0024】ステップ106) 上記のステップ104
及びステップ105の繰り返し毎に、S=φであるかを
判定する。S=φである場合には、ステップ107に移
行し、S≠φである場合には、ステップ108に移行す
る。 ステップ107) C≠φであるかを判定し、C=φの
場合には、上記のステップ104とステップ105の処
理の繰り返しを終了し、ステップ109に移行する。C
≠φの場合には、遅延時間が周期時間Tcycle 以上とな
るレジスタの組が存在するため、クロックトリーの生成
方法とは無関係に組み合わせ回路は正常に動作しないた
め、処理を終了する。このような回路においては、組み
合わせ回路の簡単化等を行い、遅延時間を削除する必要
がある。
【0025】ステップ108) ステップ106におい
てS≠φであるとき、C=φである場合には、上記のス
テップ104とステップ105の繰り返しを終了し、ス
テップ109に移行し、C≠φであるとき、ステップ1
04の処理に戻る。 ステップ109) 以下の条件を満足するように、クロ
ックトリーのリーフの出力端子とレジスタのクロックパ
ルス入力端子とを接続する。
【0026】(条件1) リーフに接続されるレジスタ
の最大数は、クロックバッファの出力端子に接続可能な
レジスタの最大数(この例では2)を越えない。 (条件2) 組み合わせ回路を経由して接続されるすべ
てのレジスタの組(rj,rk)に対して(rj,r
k)∈Rmの時、レジスタrj及びrkはクロックスキ
ューがm以下のリーフに接続される。但し、mは集合S
の要素の数とする。
【0027】当該処理(ステップ109)は、条件1及
び条件2を満足するリーフを割り当てる問題と見なすこ
とができる。このような問題は、様々な解法が知られて
おり、それらを用いることで、当該ステップ109を実
行することができる。最も単純な例を図7に示す。同図
は、ステップ109の処理で解を求める方法の例を示す
図である。同図の例では、まず、各レジスタ及びリーフ
を以下のように順番付ける。
【0028】 レジスタ:r1 ,r2 ,r3 ,r4 ,r5 リーフ :L1 ,L2 ,L3 ,L4 また、各リーフ毎に同一の2つのラベル(クロックバッ
ファに接続可能なレジスタ数は高々2である)を与え
る。そして、レジスタに対して順次リーフのラベルを割
り当てる。レジスタrj にラベルLを割り当てる毎にレ
ジスタの組(rj,rk )に対して上記(条件2)の判
定を(rj ,rk )∈RmなるRmが存在し、rk のラ
ベルの割当てが終了している時、レジスタrj 及びrk
のクロックスキューがm以下であるかをチェックするこ
とで行う。もし、矛盾していれば、rj-1 に割当てられ
ているラベルLL をLL+1 に変更(が存在しない場合に
は、さらにrj-2 に割り当てられているラベルを変更す
る)し、上記のチェックを行う。全てのレジスタに対す
る矛盾の無いラベル割当てが可能であれば、リーフとレ
ジスタとの接続が可能となる。
【0029】上記のステップ109の条件を満足する接
続が存在しなければ、条件を満足するクロックトリーが
構成できないため、組み合わせ回路の簡単化等を行い、
遅延時間を削減する必要がある。図8は、本発明の論理
回路に対してクロックトリーを生成した結果の論理回路
図である。同図は、図2の論理回路に対して本発明のク
ロックトリーを生成した結果を示す。
【0030】なお、上記の実施例では、クロック入力か
らリーフまでの段数が同一なクロックトリーを用いてい
るが、本発明は必ずしもクロック入力からリーフまでの
段数が同一なクロックトリーに限定されるものではな
い。本発明は、クロックトリーのリーフ間でのクロック
スキューの最大値が定義されれば、任意の構成のクロッ
クトリーに対して適用可能であり、不要なバッファ(図
8のクロックバッファ240等)を削除することも可能
である。
【0031】なお、本発明は、上記の実施例に限定され
ることなく、特許請求の範囲内で種々変更・応用が可能
である。
【0032】
【発明の効果】上述のように、本発明のクロックトリー
生成方法によれば、遅延時間を短縮する操作を削減する
ことが可能となり、クロックスキューの影響により生じ
る回路設計の手間を削減することが可能となる。
【0033】また、一般に、遅延時間の短縮のための操
作では、必要となるゲート数が増加するため、論理回路
の使用ゲート数の増加を抑えることも可能である。
【図面の簡単な説明】
【図1】本発明の原理を説明するための図である。
【図2】本発明のクロックトリー生成前の組み合わせ論
理回路の例である。
【図3】本発明の各レジスタ間の組み合わせ回路による
遅延時間を示す一覧表である。
【図4】本発明のクロックトリー生成方法を説明するた
めのフローチャート(その1)である。
【図5】本発明のクロックトリー生成方法を説明するた
めのフローチャート(その2)である。
【図6】本発明のクロックトリーの構成例である。
【図7】本発明の図5のステップ109の処理で解を求
める方法の例を示す図である。
【図8】本発明の論理回路に対してクロックトリーを生
成した結果の論理回路図である。
【図9】同期型論理回路を説明するための図である。
【図10】クロックパルスの供給方法を説明するための
図である。
【図11】クロックパルスのクロックスキューを説明す
るための図である。
【符号の説明】
1,2,3,4,5 外部入力 11,12,13,14,15 レジスタ 21,22,23,24,25,26,27,28,2
9,30 ゲート 110,120,210,220,230,240 ク
ロックバッファ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 永見 康一 東京都新宿区西新宿三丁目19番2号 日本 電信電話株式会社内

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 複数のレジスタ及び組み合わせ回路が相
    互に接続され、クロックパルスが複数のクロックバッフ
    ァを介して各レジスタのクロック入力端子に供給され、
    該各レジスタの値は、該クロックバッファを経由して外
    部から入力されたクロックパルスに同期して変化する同
    期型の論理回路におけるクロックトリー生成方法におい
    て、 前記論理回路を構成する前記レジスタ間に存在する前記
    組み合わせ回路による遅延時間に応じて、該レジスタを
    分類し、 分類されたレジスタとクロックパルスの周期時間に基づ
    いて該各レジスタにクロックパルスを供給するクロック
    バッファの出力を選択することを特徴とするクロックト
    リー生成方法。
  2. 【請求項2】 前記レジスタ間の前記組み合わせ回路に
    よる前記遅延時間がクロックパルスの周期時間と略等し
    い場合には、該レジスタに同一のクロックバッファの出
    力から得られるクロックパルスまたは、よりクロックス
    キューの小さいクロックを入力する請求項1記載のクロ
    ックトリー生成方法。
  3. 【請求項3】 前記論理回路を構成するレジスタ数及び
    前記クロックバッファのファンアウト数からクロックト
    リーを構成し、 前記クロックトリーで生じるクロックスキューの値を要
    素とする集合Sを求め、 前記論理回路を構成する各レジスタの出力に接続された
    前記組み合わせ回路を辿り、レジスタ間接続集合Cを求
    め、 クロックスキュー値の前記集合Sから選択されていない
    要素の中の最大の要素eを選択し、当該集合Sから削除
    し、 前記レジスタ間接続集合Cの部分集合Reを求め、該レ
    ジスタ間接続集合Cから該部分集合Reを除いた集合を
    レジスタ間接続集合Cとし、 前記集合Sが空集合でなく、かつ前記レジスタ間接続集
    合Cが空集合であるとき、所定の条件を満足するよう
    に、前記クロックトリーのリーフを前記レジスタのクロ
    ックパルス入力端子に接続する請求項1記載のクロック
    トリー生成方法。
  4. 【請求項4】 前記クロックトリーのリーフを前記レジ
    スタのクロックパルス入力端子に接続する際の条件とし
    て、 リーフに接続されるレジスタの最大数は、クロックバッ
    ファの出力端子に接続可能なレジスタの最大数を越えな
    いものとし、かつ、前記組み合わせ回路を経由して接続
    される全てのレジスタの組(rj,rk)に対して、
    (rj,rk)∈Rm(但し、mは集合Sの要素の数)
    のとき、レジスタrj及びレジスタrkはクロックスキ
    ューがm以下のリーフに接続されるものとする請求項3
    記載のクロックトリー生成方法。
JP8278436A 1996-10-21 1996-10-21 クロックトリー生成方法 Pending JPH10124553A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8278436A JPH10124553A (ja) 1996-10-21 1996-10-21 クロックトリー生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8278436A JPH10124553A (ja) 1996-10-21 1996-10-21 クロックトリー生成方法

Publications (1)

Publication Number Publication Date
JPH10124553A true JPH10124553A (ja) 1998-05-15

Family

ID=17597322

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8278436A Pending JPH10124553A (ja) 1996-10-21 1996-10-21 クロックトリー生成方法

Country Status (1)

Country Link
JP (1) JPH10124553A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009146175A (ja) * 2007-12-14 2009-07-02 Nec Computertechno Ltd クロック配線処理装置、クロック配線処理方法、及びプログラム
US9059689B2 (en) 2013-01-24 2015-06-16 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device including flip-flop and logic circuit
CN114239475A (zh) * 2021-12-17 2022-03-25 郑州信大华芯信息科技有限公司 低频数模混合模块时钟结构及扫描链设计方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009146175A (ja) * 2007-12-14 2009-07-02 Nec Computertechno Ltd クロック配線処理装置、クロック配線処理方法、及びプログラム
US9059689B2 (en) 2013-01-24 2015-06-16 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device including flip-flop and logic circuit
CN114239475A (zh) * 2021-12-17 2022-03-25 郑州信大华芯信息科技有限公司 低频数模混合模块时钟结构及扫描链设计方法

Similar Documents

Publication Publication Date Title
JPH06111022A (ja) ラスタオペレーション装置
US6507230B1 (en) Clock generator having a deskewer
JPH05232196A (ja) テスト回路
JP3562581B2 (ja) スキュー調整回路及び半導体集積回路
JPH10124553A (ja) クロックトリー生成方法
US7973584B2 (en) Waveform generator
US5274628A (en) Multisignal synchronizer with shared last stage
US6698001B2 (en) Method for generating register transfer level code
US6637009B2 (en) Optimization of a logic circuit having a hierarchical structure
JPH04233014A (ja) コンピュータ・システム
JPH06276062A (ja) マスタ/スレーブ型dフリップフロップが複数段接続された論理回路
US8136061B2 (en) Method of logic circuit synthesis and design using a dynamic circuit library
JP4428819B2 (ja) 多入力データソーティング回路
JP2000353939A (ja) クロック信号同期式フリップフロップ回路
JP2000236062A (ja) 半導体集積回路
JP2001013223A (ja) クロック・ツリー・シンセシス用回路ブロック及びクロック・ツリー回路及びクロック・ツリー回路の設計方法
JP3236235B2 (ja) トグルフリップフロップ
KR100412475B1 (ko) 데이타 정렬회로 및 이를 이용한 자기타이밍 웨이브파이프라인 가산기
JPH05122207A (ja) n段ジツタ吸収回路
JPH05314785A (ja) シフトレジスタ
JP2004311806A (ja) 半導体集積回路およびその設計方法
JPH10134590A (ja) シフトレジスタ回路
JPH0344212A (ja) 論理パス多重化方式
JPH06112812A (ja) バイナリ・カウンタ
JPH04168810A (ja) シリアル/パラレル変換回路