説明

シフトレジスタ回路のクロック信号配線方法

【目的】 クロックツリーマネージメント方式を使用しないで、クロックスキューが多少はあっても、誤動作の発生しないシフトレジスタ回路のクロック信号配線方法。
【構成】 クロック信号を出力するバッファ7の出力端から、最初にシフトレジスタ回路の最終段であるFF5のクロック入力端に至る配線路を形成し、次に前記FF5からFF4へ、FF4からFF3へというように、直列接続された後段のFFのクロック入力端からそれぞれ前段のFFのクロック入力端に至る配線路を順次形成する工程を繰返すことにより、最終段のFF5のクロック入力端から先頭のFF1のクロック入力端に至る配線路を形成する方法。

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はシフトレジスタ回路におけるクロック信号の配線方法に関するものである。
【0002】
【従来の技術】シフトレジスタ回路は、複数のフリップフロップ(以下FFと記す)がそれぞれ直列に接続され、この直列接続の各FFにクロック信号が並列に供給され、先頭のFFには入力信号が供給され、最後尾のFFから出力信号が取出される論理回路であり、広く一般に使用されている。例えば、カスタムオーダーのLSI(大規模集積)回路やVLSI(超大規模集積)回路には、ユーザロジック部のほかにメーカロジック部があり、このメーカロジック部にはLSIやVLSI動作の故障検出率を向上させるためのSCAN回路が含まれることが多く、このSCAN回路は従来シフトレジスタによって構成されている。
【0003】ところでLSIやVLSI回路内における信号の遅延時間は、各素子の応答時間による遅延、信号駆動回路の容量(分布容量等)、パターン形成された配線路の抵抗成分等により決定されるが、近年集積回路の集積度が高まり、パターンが微細化されるにつれ、抵抗成分の増加が著しくなってきた。このパターン配線路の抵抗成分の増加によって、シフトレジスタを構成する各FFのレイアウトが不適当な場合には、各FFへ前記パターン配線によって供給されるクロック信号の遅延時間の差によりクロック信号の位相がばらつき(これをクロック スキュー clock skewという)、シフトレジスタに誤動作が発生することがあった。
【0004】従来、LSI回路における配線抵抗成分の増加によるクロックスキューを解消する方法としては、クロック ツリー マネージメント(clock treemanegement)方式がある。この方式は一般に、LSIチップ中央の上下方向(又は左右方向)に1本のメイントラック(パターンの幅が太くて抵抗成分の少い木の幹に相当する配線路)を設け、これをクロック信号のメイン配線路として、このメイントラックの左右(又は上下)に配置された各論理素子に、このメイントラックから木の枝に相当する細い配線路を介してそれぞれクロック信号を供給する方法である。この方法によれば、メイントラックの左側と右側、又は上側と下側の負荷回路はほぼ平衡するからクロック信号駆動回路は均等化され、クロックスキューの低減が計られる。
【0005】
【発明が解決しようとする課題】しかしながら上記のクロックツリーマネージメント方式では、LSIチップの中央にメイントラックを配線するので、LSIチップのスペースが2つに分割され、実質的にスペースが減少するので、論理回路の最適なレイアウトができない。またこのメイントラックから各論理素子への配線には、抵抗成分の差が多少は残るので、クロックスキューの低減は必ずしも十分ではない等の問題点があった。したがって、クロックツリーマネージメント方式を使用しないで、配線パターンの微細化等によるクロックスキューが多少はあっても、誤動作の発生しないシフトレジスタ回路におけるクロック信号の配線方法が要望されていた。
【0006】
【課題を解決するための手段】本発明に係わるシフトレジスタ回路のクロック信号配線方法は、複数のフリップフロップが直列接続されてなるシフトレジスタ回路におけるクロック信号の配線路を形成する場合に、最初に、クロック信号源の出力端から前記シフトレジスタ回路の最終段のフリップフロップのクロック入力端に至る配線路を形成し、次に、前記直列接続された後段のフリップフロップのクロック入力端からそれぞれ前段のフリップフロップのクロック入力端に至る配線路を順次形成する工程を繰返すことにより、前記シフトレジスタ回路の最終段のフリップフロップのクロック入力端から先頭のフリップフロップのクロック入力端に至る配線路を形成するものである。
【0007】
【作用】本発明においては、複数のフリップフロップが直列接続されてなるシフトレジスタ回路におけるクロック信号の配線路を形成する場合に、最初に、クロック信号源の出力端から前記シフトレジスタ回路の最終段のフリップフロップのクロック入力端に至る配線路を形成し、次に、前記直列接続された後段のフリップフロップのクロック入力端からそれぞれ前段のフリップフロップのクロック入力端に至る配線路を順次形成する工程を繰返すことにより、前記シフトレジスタ回路の最終段のフリップフロップのクロック入力端から先頭のフリップフロップのクロック入力端に至る配線路を形成するようにしたので、クロック信号源から各フリップフロップに至るクロック信号の配線路長は、最終段のフリップフロップが最も短かく、前段のフリップフロップになるに従って後段のフリップフロップより順次長くなり、先頭のフリップフロップが最も長くなる。その結果、前段のフリップフロップの情報が後段のフリップフロップに完全にシフトインされた後でないと、前段のフリップフロップの状態変化が発生しないようになり、シフトレジスタ回路の誤動作は完全に防止される。
【0008】
【実施例】最初に本発明の動作原理を説明する。前記のようにLSI回路内におけるシフトレジスタ回路では、配線パターンの微細化に起因する配線抵抗の増加等により、シフトレジスタ回路を構成する各FFに供給されるクロック信号の位相に差が生じる(即ちクロックスキューが生じる)ことがある。しかしこのクロックスキューが生じた場合においても、それぞれ直列接続された前段のFFと後段のFFに供給されるクロック信号のタイミング関係として、前段のFFのクロック入力端におけるクロック信号の立上り(又は立下り)エッジが、その後段のFFのクロック入力端におけるクロック信号の立上り(又は立下り)エッジよりも遅れている(時間的に遅延している)タイミングの場合には、シフトレジスタ回路に誤動作は発生しない。
【0009】これは、上記のように前段のFFと後段のFFに供給されるクロック信号のタイミング関係が維持されると、前段のフリップフロップの情報が後段のフリップフロップに完全にシフトインされた後でないと、前段のフリップフロップの状態変化が発生しないようになるので、シフトレジスタ回路の誤動作は完全に防止されることになる。本発明は、このようなクロック信号のタイミング関係の維持を、クロック信号の配線方法により物理的に実現するものである。
【0010】図1は本発明に係わるシフトレジスタ回路例とその状態変遷例を示す図である。図1の(a)はシフトレジスタ回路例であり、図の1〜5は、第1段目〜第5段目のFFであり、各FFはそれぞれ直列に接続されている。なおこの図では、FF1〜FF5としてR・Sマスタスレーブ型FFの場合の例を示したが、本発明はFFの型式によりなんらの制限を受けるものではない。例えばJ・K型FFやD型FFによりシフトレジスタを構成してもよい。
【0011】6はインバータであり、入力する論理信号(“1”又は“0”)を反転した論理信号として出力する。7はバッファであり、入力するクロック信号を電力増幅して各FFに供給する。本発明において、バッファ7から出力されるクロック信号は、最初にシフトレジスタ回路の最終段のFF5に供給され、次にFF5から順次前段のFF4、FF3、FF2に供給され、最後にFF2から先頭のFF1に供給される。即ち本発明のシフトレジスタ回路へのクロック信号の供給順序は、まず信号出力側のFFから信号のシフト方向とは逆方向に順次供給してゆき、最後に信号入力側のFFに供給するものである。
【0012】図1の(b)は同図の(a)の回路の状態変遷例を示しており、図1の(b)の変遷例を参照し、同図(a)の回路の動作を説明する。いま時刻t0の初期状態において、シフトレジスタFF1〜FF5には“10101”のデータが存在しているものとする(図1R>1の(b)の(ア)参照)。またこの状態ではクロック信号及び入力論理信号はないものとする。次の時刻t1にクロック信号CP1がFF5のみに供給されると、FF5は前段のFF4のデータ“0”をシフトインし、これと同一データ“0”に変化し、出力信号“0”を発生する(図1の(b)の(イ)参照)。しかしその他のFFには、まだクロック信号が供給されていないので、その他のFFの状態変化は発生しない。次の時刻t2にクロック信号CP2がFF4のみに供給されると、FF4は前段のFF3のデータ“1”をシフトインし、これと同一データ“1”に変化する(図1の(b)の(ウ)参照)。次の時刻t3にクロック信号CP3がFF3のみに供給されると、FF3は前段のFF2のデータ“0”をシフトインし、これと同一データ“0”に変化する(図1の(b)の(エ)参照)。
【0013】次の時刻t4にクロック信号CP4がFF2のみに供給されると、FF2は前段のFF1のデータ“1”をシフトインし、これと同一データ“1”に変化する(図1の(b)の(オ)参照)。最後の時刻t5にクロック信号CP5がFF1のみに供給されると、FF1は入力信号のデータ“0”をシフトインし、これと同一データ“0”に変化する(図1の(b)の(カ)参照)。そしてFF1〜FF5には、前記初期状態のデータ“10101”の先頭に入力データの“0”をシフトインし、末尾データ“1”をシフトアウトした新データである“01010”のデータが得られるから、シフトレジスタ回路は正しく動作したことになる。しかしこのクロック信号の供給順序が逆になれば誤動作を発生することになる。
【0014】図1で説明したように、シフトレジスタ回路を構成する各FFについて、前段のFFにクロック信号を供給するタイミングが、後段のFFにクロック信号を供給するタイミングよりも遅れるように、クロック信号の配線路を物理的に形成するためには、前段のFFへのクロック信号の配線路長が後段のFFものより物理的に長くなるようにすればよい。換言するとシフトレジスタ回路において、クロック信号の信号源から各FFに至るクロック信号の配線路長は、該回路の最後尾のFF(論理信号を出力するFF)が最も短くして、前段のFFになるに従って、後段のFFより順番に長くしてゆき、先頭のFF(論理信号を入力するFF)が最も長くなるようにすればよい。
【0015】図2は本発明に係わるシフトレジスタ回路のレイアウトとクロック配線順序の例を示す図である。いまFF1〜FF5とバッファ7のレイアウトが図2のように決められたものとする。この場合に、クロック信号はバッファ7の出力端から、最初に配線路aを通ってFF5のクロック入力端に、次にFF5のクロック入力端から配線路bを通ってFF4のクロック入力端に、次にFF4のクロック入力端から配線路cを通ってFF3のクロック入力端に、次にFF3のクロック入力端から配線路dを通ってFF2のクロック入力端に、最後にFF2のクロック入力端から配線路eを通ってFF1のクロック入力端に順次配線される。上記のように配線路を構成することにより、前段のFFへのクロック信号の配線路長が後段のFFのものよりも物理的に長くなる。
【0016】図3は本発明をカスタムLSI回路におけるシフトレジスタ構成によるSCAN回路に適用した場合の流れ図を示している。図3の流れ図を説明する。まずネットリスト内の回路データをSCAN情報抽出プログラムに入力し(図3のS31参照)、SCAN情報抽出ファイルを生成する(図3のS32参照)。そしてSCAN情報抽出ファイルに基づきSCAN回路を構成するシフトレジスタの接続順番情報を生成する(図3のS33参照)。
【0017】次に回路データをレイアウトツールに入力して、各素子の配置(レイアウト)を決め(図3のS34)、ユーザロジック部における素子間の論理配線情報を生成する(図3のS35参照)。次に前記ステップS33で得られたシフトレジスタの接続順番情報をレイアウトツールに入力し、また前記ステップS34及びS35で生成した各素子の配置及び素子間の論理配線情報を参照し、未接続の最後段のFFのクロック入力端の配線情報を生成する(図3のS36参照)。
【0018】そして後段のFFのクロック入力端から前段のFFのクロック入力端に順番に配線情報を生成し(図3のS36〜S37参照)、先頭のFFのクロック入力端までの配線情報が生成されると(図3のS37の判別結果かYESになると)、クロック配線情報の生成は終了し、この生成された配線情報をレイアウトデータとして出力する(図3のS38参照)。図3の流れ図によれば、ユーザロジック部のスペースにはほとんど影響を与えることなくSCAN回路のレイアウトを決めることができる。
【0019】なお、上記実施例においては、シフトレジスタ回路をLSI回路やカスタムLSI回路に設けた場合の例を示したが、本発明はこれに限定されるものではない。例えば、VLSI回路には当然適用が可能である。またLSIやVLSI回路ではなくとも、例えばECL(エミッタ結合ロジック)を用いたシフトレジスタ回路のように、高速で動作するのにクロック信号の遅延が問題となるような回路には、本発明を適用することが可能である。
【0020】
【発明の効果】以上のように本発明によれば、複数のフリップフロップが直列接続されてなるシフトレジスタ回路におけるクロック信号の配線方法において、最初に、クロック信号源の出力端から前記シフトレジスタ回路の最終段のフリップフロップのクロック入力端に至る配線路を形成し、次に、前記直列接続された後段のフリップフロップのクロック入力端からそれぞれ前段のフリップフロップのクロック入力端に至る配線路を順次形成する工程を繰返すことにより、前記シフトレジスタ回路の最終段のフリップフロップのクロック入力端から先頭のフリップフロップのクロック入力端に至る配線路を形成するようにしたので、配線パターンの微細化等によるクロックスキューが多少はあっても、シフトレジスタ回路の誤動作を完全に防止することができる。
【図面の簡単な説明】
【図1】本発明に係わるシフトレジスタ回路例とその状態変遷例を示す図である。
【図2】本発明に係わるシフトレジスタ回路のレイアウトとクロック配線順序の例を示す図である。
【図3】本発明をカスタムLSI回路内のSCAN回路に適用した場合の流れ図である。
【符号の説明】
1〜5 フリップフロップ(FF)
6 インバータ
7 バッファ

【特許請求の範囲】
【請求項1】 複数のフリップフロップが直列接続されてなるシフトレジスタ回路におけるクロック信号の配線方法において、最初に、クロック信号源の出力端から前記シフトレジスタ回路の最終段のフリップフロップのクロック入力端に至る配線路を形成し、次に、前記直列接続された後段のフリップフロップのクロック入力端からそれぞれ前段のフリップフロップのクロック入力端に至る配線路を順次形成する工程を繰返すことにより、前記シフトレジスタ回路の最終段のフリップフロップのクロック入力端から先頭のフリップフロップのクロック入力端に至る配線路を形成することを特徴とするシフトレジスタのクロック信号配線方法。
【請求項2】 LSI又はVLSI回路内に設けられたシフトレジスタ回路のクロック信号配線路を形成する方法として実施する請求項1記載のシフトレジスタ回路のクロック信号配線方法。
【請求項3】 カスタムLSI又はカスタムVLSI回路内のユーザロジック部における各素子の配置と素子間の配線路が形成された後に、前記カスタムLSI又はカスタムVLSI回路内のスキャン回路を構成するシフトレジスタ回路のクロック信号配線路を形成する方法として実施する請求項1記載のシフトレジスタ回路のクロック信号配線方法。

【図1】
image rotate


【図2】
image rotate


【図3】
image rotate