(57)【特許請求の範囲】
【請求項１】
各々がクロック入力ノードに印加される信号に従って、与えられた信号を出力ノードに通過させるトランスペアレント状態と信号入力ノードの信号の変化に関わらず前記出力ノードの信号を保持するラッチ状態を取る複数の縦続接続されるラッチ回路を備える少なくとも１つのデータ転送路を備え、前記複数のラッチ回路において連続して配置されるラッチ回路においては、一方が前記ラッチ状態のときには、他方が前記トランスペアレント状態となり、
前記複数のラッチ回路の状態を制御するための制御信号を生成して前記複数のラッチ回路に伝達する制御回路を備え、前記制御回路は、前記ラッチ回路に対応して配置され、各々が対応のラッチ回路に伝達されるクロック信号と次段のラッチ回路のクロック入力ノードの信号とに従って前記対応のラッチ回路のクロック入力ノードに前記制御信号を印加する複数のクロック制御回路を備える、同期型データ転送処理装置。
【請求項２】
各前記クロック制御回路は、
前記対応のラッチ回路に対するクロック信号が活性状態でありトランスペアレント状態を指定しかつ前記次段のラッチ回路のクロック入力ノードの制御信号がラッチ状態を指定するときに前記制御信号を前記トランスペアレント状態を指定する状態に設定する、請求項１記載の同期型データ転送処理装置。
【請求項３】
各前記クロック制御回路は、
前記対応のラッチ回路に対するクロック信号が非活性状態であり該対応のラッチ回路のラッチ状態を指定するとき、前記次段のラッチ回路のクロック入力ノードの制御信号の状態に関わらず、前記対応のラッチ回路に対する制御信号をラッチ状態を指定する状態に設定する、請求項２記載の同期型データ転送処理装置。
【請求項４】
前記少なくとも１つのデータ転送路は、互いに並列に配置される複数のラッチ列を含み、各前記ラッチ列は、縦続接続される複数の前記ラッチ回路を有し、
前記制御回路は、前記複数のラッチ列に対し共通に配置され、各前記クロック制御回路は、前記複数のラッチ列の互いに対応して配置されるラッチ回路に対し共通に前記制御信号を伝達する、請求項１記載の同期型データ転送処理装置。
【請求項５】
前記複数のラッチ回路の選択された位置に介挿され、少なくとも前段のラッチ回路からの信号に予め定められた処理を施して次段のラッチ回路へ転送する論理回路をさらに備える、請求項１記載の同期型データ転送処理装置。
【請求項６】
前記制御回路は、
前記前段のラッチ回路に対して配置され、前記次段のラッチ回路に対する制御信号を、前記次段のラッチ回路に対する制御信号がラッチ状態に設定された状態であると擬制して、前記前段のラッチ回路に対する制御信号を生成するラッチ制御回路をさらに備える、請求項５記載の同期型データ転送処理装置。
【請求項７】
前記制御回路は、前記前段のラッチ回路に対して配置され、対応のクロック信号に応答して前記前段のラッチ回路に対する制御信号を生成するラッチ制御回路をさらに備える、請求項５記載の同期型データ転送処理装置。
【請求項８】
前記制御回路は、前記前段のラッチ回路に対応して配置され、対応のラッチ回路に伝達されるクロック信号と前記次段のラッチ回路がラッチ状態にあることを示す状態に固定された信号とを受けて、前記前段のラッチ回路に対する制御信号を生成するラッチ制御回路をさらに備える、請求項５記載の同期型データ転送処理装置。
【請求項９】
前記複数のラッチ回路の最終段のラッチ回路に対応して配置され、前記最終段のラッチ回路に伝達されるクロック信号とラッチ指示状態に固定された信号とを受け、前記最終段のラッチ回路に対する制御信号を生成するラッチ制御回路をさらに備える、請求項１記載の同期型データ転送処理装置。
【請求項１０】
前記制御回路は、
前記複数のラッチ回路の最終段のラッチ回路に対応して配置され、前記最終段のラッチ回路に対して伝達されたクロック信号に従って前記最終段のラッチ回路に対する制御信号を生成するラッチ制御回路をさらに備える、請求項１記載の同期型データ転送処理装置。
【請求項１１】
前記複数のラッチ回路は、別々の経路を介して伝達されるクロック信号を受けるブロックの境界部に配置され、一方のブロックから他方のブロックに信号を転送するための境界ラッチを含む、請求項１記載の同期型データ転送処理装置。
【請求項１２】
前記複数のラッチ回路は、内部回路ノードを観測可能にするためのスキャンパスを構成する、請求項１記載の同期型データ転送処理装置。
【請求項１３】
各々が互いに相補的にラッチ状態およびトランスペアレント状態を取る第１および第２のラッチ回路を有する複数のフリップフロップを含む少なくとも１つの信号転送経路、
前記信号転送経路の選択された位置に介挿され、与えられた信号に所定の処理を施して出力する論理回路、および
前記複数のフリップフロップの信号転送動作を制御する転送制御回路を備え、前記転送制御回路は、前記フリップフロップに対応して配置され、各々が対応のフリップフロップに伝達されるクロック信号と次段のフリップフロップに対する制御信号とに従って前記対応のフリップフロップに対する制御信号を生成するフリップフロップ制御回路を備え、前記フリップフロップ制御回路は、前記次段のフリップフロップがラッチ状態となることを前記次段のフリップフロップに対する制御信号が示しているときに前記対応のフリップフロップに対する制御信号を前記伝達されたクロック信号に従って生成し、さらに前記論理回路の前段に配置されるフリップフロップに対応して配置され、前記論理回路の次段に配置されたフリップフロップがラッチ状態にあると擬制して対応のクロック信号に従って前記論理回路前段のフリップフロップに対する制御信号を生成する論理段制御回路を備える、同期型データ転送処理装置。
【請求項１４】
前記論理段制御回路は、前記論理回路の前段に対して配置される前記前段のフリップフロップに対して伝達されるクロック信号に従って前記前段のフリップフロップに対する制御信号を生成する、請求項１３記載の同期型データ転送処理装置。
【請求項１５】
前記論理段制御回路は、前記論理回路の前段に対して配置される前記前段のフリップフロップに対して伝達されるクロック信号と前記論理回路の次段のフリップフロップがラッチ状態にあることを示す状態に固定された信号とに従って前記前段のフリップフロップに対する制御信号を生成する、請求項１３記載のデータ転送処理装置。
【請求項１６】
前記転送制御回路は、前記フリップフロップの最終段のフリップフロップに対応して配置され、前記最終段のフリップフロップに対して伝達されるクロック信号とラッチ指示状態に固定された信号とに従って前記最終段のフリップフロップに対する制御信号を生成する最終段制御回路をさらに備える、請求項１３記載の同期型データ転送処理装置。
【請求項１７】
前記転送制御回路は、前記フリップフロップの最終段のフリップフロップに対応して配置され、前記最終段のフリップフロップに対して伝達されるクロック信号に従って前記最終段のフリップフロップに対する制御信号を生成する最終段制御回路をさらに備える、請求項１３記載の同期型データ転送処理装置。
【請求項１８】
前記複数のフリップフロップは、異なる分配経路を介して伝達されるクロック信号を受けるクロックブロック境界部に配置されるフリップフロップを含む、請求項１３記載の同期型データ転送処理装置。
【請求項１９】
前記フリップフロップは、内部ノードを外部アクセス可能状態にするためのスキャンパスを構成する、請求項１３記載の同期型データ転送処理装置。
【請求項２０】
前記少なくとも１つの信号転送経路は、互いに並列に配置されかつ各々が複数のフリップフロップを有する複数の転送経路を有し、
各前記フリップフロップ制御回路は、前記複数の転送経路の対応する位置に配置されたフリップフロップに対して共通に前記制御信号を伝達する、請求項１３記載の同期型データ転送処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、クロック信号に従って信号／データを転送する同期型信号転送処理装置に関し、特に、その信号転送経路におけるレーシングを回避するための構成に関する。
【０００２】
【従来の技術】
高速で信号／データを処理するために、一般に、クロック信号に同期して信号を転送して処理を行なうクロック同期型処理方式が用いられる。この同期型処理方式においては、クロック信号に同期して、データ／信号を保持するラッチまたはフリップフロップ回路の動作状態を制御することにより、データ／信号の転送および処理を行なう。
【０００３】
このクロック信号に同期して信号の転送／処理を行なう同期型処理方式においては、バイプラン的に信号／データを処理することができ、高速の処理を実現することができる。また、信号／データ（以下、単にデータと称す）の処理タイミングおよびデータの転送タイミングはクロック信号により決定されるため、データの転送タイミングがクロック信号により決定され、処理開始のタイミングマージンを小さくすることができ、高速のデータ処理が可能となる。また、データの処理サイクルがクロック信号のサイクルにより決定されるため、高速処理が実現される。
【０００４】
このようなクロック同期型処理方式においては、数多く配置されるラッチ／フリップフロップ回路に対し、できるだけ同じタイミングの位相差の少ないクロック信号を転送して、これらのラッチ／フリップフロップ回路を同一タイミングで動作させるために、クロック入力バッファなどからのメインクロック信号をできるだけ小さなクロックスキューで各ラッチ回路に伝達するために、種々のクロック分配方式が用いられている。このようなクロック分配方式としては、メインクロック信号をツリー状に配置されたクロック分岐路を介して各ラッチ／フリップフロップ回路へ伝達するクロックツリー方式、メインクロック信号を、メッシュ状に配置されたクロック分配経路を介して伝達するクロックメッシュ方式、およびほぼ直線状に延在するメインクロック伝達線に分岐路を設け、この分岐路をクロックドライバによりドライブして各ラッチ／フリップフロップ回路に転送するフィッシュボーン方式などがある。
【０００５】
図２８は、従来の同期型データ処理転送装置の構成の一例を示す図である。この図２８においては、クロック分配方式として、クロックツリー方式が一例として用いられる。
【０００６】
図２８において、クロック分配系は、メインクロック信号ＭＣＬＫをバッファ処理するクロックドライバＤＲ０と、クロック分配ノードＮＤ０に結合されるクロック分配路ＬＰ０に所定間隔で配置され、それぞれクロック分配路ＬＰ０上のクロック信号をバッファ処理するクロックドライバ（リピータ）ＤＲ１ａ−ＤＲ１ｃとを含む。これらのクロックドライバＤＲ１ａ−ＤＲ１ｃの各々は、それぞれクロック分配ノードＮＤ１ａ−ＮＤ１ｃそれぞれに結合されるクロック分岐路ＬＰ１ａ−ＬＰ１ｃ上にクロック信号を伝達する。
【０００７】
クロック分配路ＬＰ０には、配線容量および抵抗による寄生容量Ｃａと寄生抵抗Ｒａが存在する。また、クロックドライバＤＲ１ａ−ＤＲ１ｃがそれぞれ駆動するクロック伝達線においても、配線容量および抵抗により寄生抵抗Ｒｂおよび寄生容量Ｃｂが存在する。
【０００８】
これらのクロック分配系においては、クロックドライバＤＲ０からのメインクロック信号ＭＣＬＫが、それぞれツリー状に配置されるクロック分配路を介して伝達される。これらのツリー状に配置される分配路はメインクロック信号ＭＣＬＫを伝達するクロックドライバに関して対称的に配置され、このクロック信号を伝達する経路の遅延時間が等しくされる。このクロックツリーの各分岐路において、最終段のクロック末端ノードとメインクロック信号入力ノードの間の信号伝搬経路の配線遅延をできるだけ等しくし、各クロック末端ノードにおけるクロックスキューをできるだけ小さくする。
【０００９】
信号処理系は、これらのクロックドライバＤＲ１ａ−ＤＲ１ｃそれぞれに対応して配置されるラッチ回路ＬＴａ−ＬＴｃを含む。ラッチ回路ＬＴａおよびＬＴｃは、同一構成を有し、同相で動作する。一方、ラッチ回路ＬＰｂは、これらのラッチ回路ＬＴａおよびＬＴｃと逆相で動作する。すなわち、ラッチ回路ＬＴａおよびＬＴｃの各々は、対応のクロックドライバからのクロック信号ＣＬＫを受けるインバータＩＶａと、対応のクロックドライバからのクロック信号ＣＬＫがＨレベルのとき導通し、前段の回路から与えられる信号を通過させるトランスファゲートＴＸａと、トランスファゲートＴＸａを介して伝達された信号を受けるインバータＩＶｂと、インバータＩＶｂの出力信号を反転して次段回路へ伝達するインバータＩＶｃと、インバータＩＶａの出力信号がＨレベルのとき活性化され、インバータＩＶｂの出力信号を反転してインバータＩＶｂの入力ノードに伝達するトライステートインバータＴＶａを含む。
【００１０】
ラッチ回路ＬＴｂは、対応のクロックドライバＤＲ１ｂからのクロック信号ＣＬＫを受けるインバータＩＶ１と、インバータＩＶ１の出力信号がＨレベルのとき導通し前段の回路から伝達された信号を通過させるトランスファゲートＴＸｂと、トランスファゲートＴＸｂを介して伝達される信号を受けるインバータＩＶ２と、インバータＩＶ２の出力信号を反転して次段回路へ伝達するインバータＩＶ３と、対応のクロックドライバＤＲ１ｂからのクロック信号ＣＬＫがＨレベルのとき活性化され、インバータＩＶ２の出力信号を反転してインバータＩＶ２の入力ノードへ伝達するトライステートインバータＴＶ１を含む。
【００１１】
ラッチ回路ＬＴａおよびＬＴｂの間には遅延回路ＤＬａが配置され、ラッチ回路ＬＴｂおよびＬＴｃの間には遅延回路ＤＬｂが配置される。これらの遅延回路ＤＬａおよびＤＬｂは、クロックスキューに起因して、ラッチ回路ＬＴａ−ＬＴｃが同時にトランスペアレント状態となったときに、ラッチすべきデータが、与えられた信号で書換えられるのを防止するために設けられる。
【００１２】
この図２８に示すように、クロック分配経路において、ラッチ回路ＬＴａ−ＬＴｃに対応して、クロックドライバＤＲ１ａ−ＤＲ１ｃを配置し、メインクロック信号ＭＣＬＫから各ラッチ回路ＬＴａ−ＬＴｃまでのクロック伝達経路における信号伝搬遅延をできるだけ同じとして、これらのラッチ回路ＬＴａ−ＬＴｃの動作タイミングをできるだけ揃えて、データの同期転送を実現することを図る。
【００１３】
この場合、ラッチ回路ＬＴａおよびＬＴｃが、トランスファゲートＴＸａが導通状態となり、与えられた信号を通過させるトランスペアレント状態となったときには、ラッチ回路ＬＴｂは、トランスファゲートＴＸｂが非導通状態にあり、ラッチ状態にある。したがって、ラッチ回路ＬＴａの出力データは、ラッチ回路ＬＴｂには取込まれず、ラッチ回路ＬＴｃが、ラッチ回路ＬＴｂのラッチデータを次段回路へ伝達する。一方、ラッチ回路ＬＴａおよびＬＴｃにおいて、トランスファゲートＴＸａが非導通状態にあり、これらのラッチ回路ＬＴａおよびＬＴｃがラッチ状態のときには、ラッチ回路ＬＴｂにおいてはトランスファゲートＴＸｂが導通状態にあり、トランスペアレント状態である。したがって、このラッチ回路ＬＴｂは、ラッチ回路ＬＴａのラッチデータを、次段のラッチ回路ＬＴｃへ伝達する。
【００１４】
この図２８に示すように、ラッチ回路ＬＴａ−ＬＴｃを、交互に、トランスペアレント状態およびラッチ状態に設定することにより、クロック信号ＣＬＫに同期して、ラッチ回路ＬＴａからラッチ回路ＬＴｃへと順次データを転送することができる。
【００１５】
しかしながら、この図２８に示すクロック分配経路において、クロック分配路ＬＰ０およびＬＰ１ａ−ＬＰ１ｃにおいては、配線の寄生抵抗および寄生容量が存在する。このクロック伝搬経路の長さがすべてのラッチ回路ＬＴａ−ＬＴｃに対して同じであれば、これらのラッチ回路ＬＴａ−ＬＴｃに対するクロック伝搬経路のクロック伝搬遅延は同じであり、クロックスキューはほとんど生じない。しかしながら、これらのラッチ回路ＬＴａ−ＬＴｃの配置位置により、このクロック分配経路の配線長さが異なり、またその配線の寄生抵抗および寄生容量も異なる。このため、これらのクロックドライバＤＲ１ａ−ＤＲ１ｃから、ラッチ回路ＬＴａ−ＬＴｃに伝達されるクロック信号ＣＬＫに対してスキューが生じる。
【００１６】
図２９は、図２８に示す回路装置のクロックスキュー発生時の動作を示すタイミング図である。図２９において、ラッチ回路ＬＴａ−ＬＴｃに到達するクロック信号ＣＬＫにおいて、配線遅延のバラツキなどにより、クロックスキューが生じる。この図２９においては、ラッチ回路ＬＴａのトランスファゲートＴＸａのノード（クロック入力ノード）ＮＡに、最も早くクロック信号が到達し、ラッチ回路ＬＴｂのトランスファゲートＴＸｂの制御ノードＮＢに、最も遅く、クロック信号が到達する状態が一例として示される。
【００１７】
この図２９に示すようなスキューが発生した場合、ラッチ回路ＬＴａおよびＬＴｂの制御ノード（クロック入力ノード）ＮＡおよびＮＢの制御信号がともにＨレベルとなる期間が生じる。ラッチ回路ＬＴａが、クロック信号ＣＬＫの立上がりに同期して、与えられた信号を取込み、次段回路へ転送する場合、ラッチ回路ＬＴａからラッチ回路ＬＴｂへのデータの転送時間よりもクロック入力ノードＮＡおよびＮＢの制御信号がともにＨレベルであるオーバーラップ期間が長い場合には、このラッチ回路ＬＴａが取込んだデータにより、ラッチ回路ＬＴｂがラッチすべきデータが書換えられてしまい、誤書換えが生じる。この誤動作は、クロック信号とデータの競合により発生することから、「レーシング」と呼ばれる。
【００１８】
このようなレーシングを防止するために、図２８に示すように、遅延回路ＤＬａおよびＤＬｂがそれぞれ配置される。この遅延回路ＤＬａを配置することにより、図３０に示すように、ラッチ回路ＬＴａが取込んだデータＤＡが、ラッチ回路ＬＴｂの入力にまで伝達される時間ＴＤを、オーバーラップ期間ＴＳよりも長くする。この場合、ラッチ回路ＬＴａおよびＬＴｂが、ともにトランスペアレント状態となっても、ラッチ回路ＬＴｂのラッチデータの新たなデータＤＡによる書換えは生じないため、レーシングを回避することができる。
【００１９】
しかしながら、このような遅延回路ＤＬａおよびＤＬｂを、データ転送路に配置する場合、論理ゲートの構成要素数が増大し、レイアウト面積および消費電力が増大するという問題が生じる。
【００２０】
また、実際の回路動作解析時においては、各信号伝送路におけるタイミング検証を行ない、そのタイミング検証結果に基づいて、各ラッチ回路のクロックタイミングを調整するときに、そのセットアップ時間に影響しないような最適な遅延量を考慮して、遅延回路を挿入する必要がある。
【００２１】
すなわち、図３１に示すように、データＤＡが転送される場合、たとえばラッチ回路ＬＴａにおいて、クロック信号ＣＬＫが立上がってから、前段の遅延回路の遅延時間ＴＤを経過した後に、有効データが転送されてラッチされる。クロック信号ＣＬＫが立下がり、ラッチ回路ＬＴａがラッチ状態となる前に、このラッチ回路ＬＴａのラッチデータが確定状態とする必要がある。このラッチデータがラッチ回路のラッチ状態移行前に、確定状態に保持される時間が、セットアップ時間Ｔｓｕと呼ばれる。
【００２２】
したがって、このクロック信号ＣＬＫのサイクル時間が決定されている場合、遅延時間ＴＤが長くなった場合、セットアップ時間Ｔｓｕが短くなり、確定状態のデータをラッチすることができず、次段のラッチ回路に不確定なデータを転送する可能性が生じ、誤動作が生じる可能性がある。したがって、この遅延時間ＴＤを長くした場合、クロック信号ＣＬＫの周期を短くすることができず、高速動作を行なうことができない。
【００２３】
このようなレーシングの問題を防止し、かつ信号伝送路における構成要素数を低減するための構成が、たとえば特開平１０−４０６９２号公報において示されている。
【００２４】
図３２は、従来の同期型転送処理装置の構成を概略的に示す図である。図３２においては、３段のカスケード接続されるフリップフロップＦＦａおよびＦＦｃを示す。これらのフリップフロップＦＦａ−ＦＦｃに対応して、制御信号を生成するゲート回路ＡＧａ−ＡＧｃが設けられる。これらのゲート回路ＡＧａ−ＡＧｃは、クロック信号ＣＬＫと、次段のフリップフロップに対する制御信号とを受ける。すなわち、ゲート回路ＡＧａは、クロック信号ＣＬＫとゲート回路ＡＧｂの出力信号とを受け、ゲート回路ＡＧｂは、クロック信号ＣＬＫとゲート回路ＡＧｃの出力信号とを受ける。ゲート回路ＡＧｃは、クロック信号ＣＬＫと図示しない次段のフリップフロップに対して設けられたゲート回路の出力信号とを受ける。このクロック信号はクロック分配回路を介して各フリップフロップＦＦａ-ＦＦｃにそれぞれ転送されてもよく、また共通のクロックドライバからこのクロック信号が転送されてもよい。
【００２５】
これらのフリップフロップＦＦａ−ＦＦｃは、クロック入力Ｔに対応のゲート回路ＡＧａ−ＡＧｃから与えられる制御信号がＨレベルとなると、ラッチ状態となり、制御信号がＬレベルのときに取込んだデータを出力する。すなわち、これらのフリップフロップＦＦａ−ＦＦｃの各々は、対応のゲート回路ＡＧａ−ＡＧｃから与えられる制御信号がＬレベルのときに、その入力Ｄに与えられたデータを取込み、次いで制御信号がＬレベルとなると、この取込んだデータを出力Ｑから出力する。
【００２６】
図３３は、図３２に示すフリップフロップＦＦａ−ＦＦｃの構成の一例を示す図である。フリップフロップＦＦａ−ＦＦｃは、同一構成を有するため、図３３においては、フリップフロップＦＦの構成を代表的に示す。図３３において、フリップフロップＦＦは、クロック入力Ｔに与えられる制御信号を反転するインバータＩＶ１０と、インバータＩＶ１０の出力信号がＨレベルのとき導通し、入力ノードＤに与えられる信号を通過させるトランスファゲートＴＸ１０と、トランスファゲートＴＸ１０を介して与えられる信号を反転するインバータＩＶ１１と、インバータＩＶ１１の出力信号を反転するインバータＩＶ１２と、クロック入力ノードＴに与えられる信号がＨレベルのとき活性化され、インバータＩＶ１１の出力信号を反転してインバータＩＶ１１の入力に伝達するトライステートインバータバッファＩＶ１３と、クロック入力ノードＴに与えられる制御信号がＨレベルのとき導通し、インバータＩＶ１２の出力信号を伝達するトランスファゲートＴＸ１１と、トランスファゲートＴＸ１１を介して与えられる信号を受けるインバータＩＶ１１と、インバータＩＶ１４の出力信号を反転して出力ノードＱに伝達するインバータＩＶ１５と、インバータＩＶ１０の出力信号がＨレベルのとき活性化され、インバータＩＶ１４の出力信号を反転し、インバータＩＶ１４の入力に伝達するトライステートインバータバッファＩＶ１６を含む。
【００２７】
この図３３に示すフリップフロップＦＦは、２段のラッチ回路で構成され、これらのラッチ回路が交互に、ラッチ状態／トランスペアレント状態となる。すなわち、クロック入力ノードＴに与えられる制御信号がＬレベルのときには、トランスファゲートＴＸ１０が導通状態、トランスファゲートＴＸ１１が非導通状態となり、入力ノードＤに与えられるデータが、インバータＩＶ１１により反転されてインバータＩＶ１２に伝達される。トライステートインバータバッファＩＶ１３は、このときには非活性状態であり、出力ハイインピーダンス状態である。したがって、インバータＩＶ１１およびＩＶ１２の出力信号は、この入力ノードＤに与えられたデータに従って変化する。一方、トランスファゲートＴＸ１１は非導通状態であるため、出力ノードＱのデータは変化しない。
【００２８】
一方、クロック入力ノードＴに与えられる制御信号がＨレベルとなると、トランスファゲートＴＸ１０が非導通状態、トランスファゲートＴＸ１１が導通状態となり、出力ノードＱへは、先の制御信号がＬレベルのときに取込まれた信号が、インバータＩＶ１４およびＩＶ１５を介して伝達される。このとき、またトライステートインバータバッファＩＶ１３が活性化され、先の取込んだデータをインバータＩＶ１１およびトライステートインバータバッファＩＶ１３によりラッチする。したがって、このフリップフロップＦＦは、クロック入力ノードＴに与えられる制御信号がＬレベルのときに、入力ノードＤに与えられるデータを取込み、この制御信号がＨレベルとなると、取込んだデータをラッチし、かつ取込んだデータを出力ノードＱから出力する。
【００２９】
図３４は、図３２に示す回路装置の動作を示すタイミング図である。図３４においては、説明を簡単にするために、フリップフロップＦＦｃに対するクロック信号ＣＬＫが最も遅延が大きく、フリップフロップＦＦａに対するクロック信号ＣＬＫの遅延が最も小さい場合の動作を示す。
【００３０】
ゲート回路ＡＧａ−ＡＧｃは、クロック信号ＣＬＫがＬレベルのときには、次段のフリップフロップの状態に関わらず、Ｌレベルの信号を出力する。フリップフロップＦＦａ−ＦＦｃは、そのクロック入力ノードＴに与えられる制御信号がＬレベルのときには、入力ノードＤに与えられたデータを取込み、一方、出力ノードＱの信号は変化しない。ゲート回路ＡＧｃに対するクロック信号ＣＬＫがＨレベルとなると、フリップフロップＦＦｃの出力データが変化し、その入力ノードＤに結合されるトランスファゲートＴＸ１０が、非導通状態となり、このフリップフロップＦＦｃはラッチ状態となる。
【００３１】
ゲート回路ＡＧｂは、このゲート回路ＡＧｃの出力信号がＨレベルとなると、クロック信号ＣＬＫがＨレベルであるため、フリップフロップＦＦｂのクロック入力ノードＴに対する制御信号をＨレベルに立上げる。応じて、フリップフロップＦＦｂの出力データが変化し、また、フリップフロップＦＦｂがラッチ状態となる。
【００３２】
ゲート回路ＡＧｂの出力する制御信号がＨレベルに立上がると、ゲート回路ＡＧａの出力する制御信号がＨレベルとなり、フリップフロップＦＦａの出力信号が変化し、またこのフリップフロップＦＦａはラッチ状態となる。
【００３３】
したがって、この図３２に示す回路装置においては、次段のフリップフロップがラッチ状態となった後に、前段のフリップフロップの出力データが変化し、次段のフリップフロップに誤ったデータがラッチされるのを防止する。すなわち、この図３２に示すように、次段のフリップフロップがラッチ状態となった後に、新たなデータを次段フリップフロップに出力することにより、図３５に示すように、クロックスキューにより、フリップフロップを介してデータが突抜けるのを防止する。図３５においては、このフリップフロップＦＦａに対するクロック信号ＣＬＫがフリップフロップＦＦｂに対するクロック信号ＣＬＫよりも位相が進んでいる場合の動作を示す。この図３５に示すように、クロックスキューが生じた場合、フリップフロップＦＦａが、クロック信号ＣＬＫの立上がりに応答してラッチ状態となったとき、まだ、フリップフロップＦＦｂが信号取込み状態であり、フリップフロップＦＦａの出力データを取込む。したがって、フリップフロップＦＦｂにおいて、対応のクロック信号ＣＬＫが立上がると、フリップフロップＦＦｂがラッチ状態となり、このフリップフロップＦＦａの出力データを、そのクロックサイクル内で出力する。したがって正常に動作する場合には、１クロックサイクル後に転送されるデータが、同一サイクルで、フリップフロップＦＦａおよびＦＦｂから出力され、誤動作が生じる。
【００３４】
このようなデータの突抜けを、図３２に示すようなゲート回路ＡＧａ−ＡＧｃを用いて防止することを図る。
【００３５】
【発明が解決しようとする課題】
しかしながら、この図３２に示すようなゲート回路を用い、次段のフリップフロップがラッチ状態となった後に、対応のラッチ回路をクロック信号ＣＬＫに従ってラッチ状態にして、その出力データを変化させる場合、この制御信号の伝搬経路が、フリップフロップ列を順次伝搬されることになる。
【００３６】
今、図３６に示すように、フリップフロップＦＦ０−ＦＦｎで構成されるデータ伝送路を考える。フリップフロップＦＦ０−ＦＦｎ−１に対しては、ゲート回路ＡＧ０−ＡＧｎ−１が設けられる。これらのゲート回路ＡＧ０−ＡＧｎ−１はそれぞれ、対応のクロック信号ＣＬＫと、次段のフリップフロップに対する制御信号とを受ける。最終段のフリップフロップＦＦｎに対しては、クロック信号ＣＬＫが与えられるだけである。
【００３７】
図３６に示すデータ伝送路において、フリップフロップＦＦｎに対するクロック信号ＣＬＫの遅延が最大の場合を考える。この場合、フリップフロップＦＦｎがラッチ状態となった後に、前段のフリップフロップＦＦｎ−１が出力信号を出力するラッチ状態となる。したがってこの初段のフリップフロップＦＦ０が、ラッチ状態となり、その出力信号を変化させるためには、ゲート回路ＡＧ０−ＡＧｎ−１の伝搬遅延が、クロック信号ＣＬＫの遅延時間に加えられることになる。したがって、図３７に示すように、初段のフリップフロップＦＦ０に対するクロック信号ＣＬＫがＨレベルに立上がってから、時間Ｔ１経過後に、最終段のフリップフロップＦＦｎに対するクロック信号ＣＬＫがＨレベルに立上がった場合、ゲート回路ＡＧ０−ＡＧｎ−１を介して、この信号伝搬遅延時間Ｔ２経過後に、ゲート回路ＧＡ０の出力する制御信号がＨレベルとなる。したがって、初段のフリップフロップＦＦ０は、時間Ｔ３の間に初段のフリップフロップＦＦ０の出力段のラッチ回路は、入力段のラッチ回路のラッチデータを取込み、次段のフリップフロップＦＦ１へ転送する必要がある。したがって、この出力段のラッチ回路のセットアップ時間を十分に確保することができず、不確定状態のデータが出力される可能性がある。特に、フリップフロップＦＦ０とフリップフロップＦＦ１の間に論理処理回路が存在する場合、この論理処理回路の処理時間を十分に取ることができず、高速処理を実現することができなくなるという問題が生じる。
【００３８】
また、フリップフロップのラッチ時間が十分に取れず、フリップフロップ自体が誤動作する可能性がある。
【００３９】
それゆえ、この発明の目的は、各転送ゲートに対し十分な時間幅のクロックサイクルを保証して確実にデータを転走することのできる同期型データ転送処理装置を提供することである。
【００４０】
この発明の他の目的は、論理回路が介挿される場合においても、十分に処理時間をこの論理回路に与えることのできる同期型データ転送処理装置を提供することである。
【００４１】
この発明のさらに他の目的は、遅延回路を用いることなくレーシングを確実に回避することのできる同期型データ転送処理装置を提供することである。
【００４２】
この発明のさらに他の目的は、タイミング検証時のタイミング調整を容易に行なうことのできる同期型データ転送処理装置を提供することである。
【００４３】
【課題を解決するための手段】
この発明の第１の観点に係る同期型データ転送処理装置は、各々が、クロック入力ノードに印加される信号に従って、与えられた信号を出力ノードに通過させるトランスペアレント状態と信号入力ノードの信号の変化に関わらず出力ノードの信号を保持するラッチ状態を取る複数の縦続接続されるラッチ回路を備える少なくとも１つのデータ転送路を含む。これら複数のラッチ回路において連続して配置されるラッチ回路においては、一方がラッチ状態のときには、他方がトランスペアレント状態となる。
【００４４】
この発明の第１の観点に係る同期型データ転送処理装置は、さらに、複数のラッチ回路の状態を制御するための制御信号を生成してこれら複数のラッチ回路に伝達する制御回路を含む。この制御回路は、ラッチ回路に対応して配置され、各々が対応のラッチ回路に伝達されるクロック信号と次段のラッチ回路のクロック入力ノードの信号とに従って対応のラッチ回路のクロック入力ノードに制御信号を印加する複数のクロック制御回路を含む。
【００４５】
好ましくは、クロック制御回路は、対応のラッチ回路に対するクロック信号が活性状態でありトランスペアレント状態を指定しかつ次段のラッチ回路のクロック入力ノードの制御信号がラッチ状態を指定するときにその制御信号をトランスペアレント状態を指定する状態に設定する。
【００４６】
好ましくは、このクロック制御回路は、対応のラッチ回路に対するクロック信号が非活性状態であり該対応のラッチ回路のラッチ状態を指定するときには、次段のラッチ回路のクロック入力ノードの制御信号の状態に関わらず対応のラッチ回路に対する制御信号をラッチ状態を指定する状態に設定する。
【００４７】
好ましくは、少なくとも１つのデータ転送路は、互いに並列に配置される複数のラッチ列を含む。ラッチ列の各々は、縦続接続される複数のラッチ回路を有する。複数のクロック制御回路は、これらの複数のラッチ列に対し共通に配置され、各クロック制御回路は、複数のラッチ列の互いに対応して配置されるラッチ回路に対し共通に制御信号を伝達する。
【００４８】
また、好ましくは、複数のラッチ回路の選択された位置に、前段のラッチ回路からの信号に予め定められた処理を施して次段のラッチ回路へ転送する論理回路が設けられる。
【００４９】
また、好ましくは、制御回路は、論理回路の前段のラッチ回路に対して配置され、この論理回路の前段のラッチ回路に対する制御信号を、次段のラッチ回路に対する制御信号がラッチ状態に設定された状態であると擬制して前段のラッチ回路に対する制御信号を生成するラッチ制御回路をさらに含む。
【００５０】
また、好ましくは、制御回路は、論理回路の前段に設けられる前段のラッチ回路に対して配置され、対応のクロック信号に応答して、この前段のラッチ回路に対する制御信号を生成するラッチ制御回路をさらに含む。
【００５１】
また、これに代えて好ましくは、制御回路は、論理回路の前段のラッチ回路に対応して配置され、前段のラッチ回路に伝達されるクロック信号と論理回路の次段のラッチ回路がラッチ状態にあることを示す状態に固定された信号とを受けてこの前段のラッチ回路に対する制御信号を生成するラッチ制御回路をさらに含む。
【００５２】
また、好ましくは、制御回路は、複数のラッチ回路の最終段のラッチ回路に対応して配置され、この最終段のラッチ回路に伝達されるクロック信号とラッチ指示状態に固定された信号とを受け、最終段のラッチ回路に対する制御信号を生成するラッチ制御回路をさらに含む。
【００５３】
また、これに代えて、制御回路は、複数のラッチ回路の最終段のラッチ回路に対応して配置され、最終段のラッチ回路に対して伝達されるクロック信号に従って最終段のラッチ回路に対する制御信号を生成するラッチ制御回路をさらに含む。
【００５４】
また、好ましくは、複数のラッチ回路は、異なる分配経路を介して伝達されるクロック信号を受けるブロックの境界部に配置される境界ラッチを含む。
【００５５】
また、好ましくは、複数のラッチ回路は、内部回路ノードを観測可能とするためのスキャンパスを構成する。
【００５６】
この発明の第２の観点に係る同期型データ転送処理装置は、各々が互いに相補的にラッチ状態およびトランスペアレント状態を取る第１および第２のラッチ回路を有する複数のフリップフロップを有する少なくとも１つの信号転送経路と、この信号転送経路の選択された位置に介挿され、与えられた信号に所定の処理を施して出力する論理回路と、これら複数のフリップフロップの信号転送動作を制御する転送制御回路を含む。この転送制御回路は、フリップフロップに対応して配置され、各々が対応のフリップフロップに伝達されるクロック信号と次段のフリップフロップに対する制御信号とに従って対応のフリップフロップに対する制御信号を生成するフリップフロップ制御回路を含む。このフリップフロップ制御回路は、次段のフリップフロップがラッチ状態となることを次段のフリップフロップに対する制御信号が示しているときに対応のフリップフロップに対する制御信号を伝達されたクロック信号に従って生成するフリップフロップ制御回路と、論理回路の前段に配置されたフリップフロップに対応して配置され、この論理回路の次段のフリップフロップがラッチ状態にあると擬制して論理回路前段のフリップフロップの動作をクロック信号に従って制御する論理段制御回路とを含む。
【００５７】
好ましくは、この論理段制御回路は、論理回路前段のフリップフロップに対して伝達されるクロック信号に従って、この前段のフリップフロップに対する制御信号を生成する制御回路をさらに含む。
【００５８】
これに代えて、好ましくは、論理段制御回路は、論理回路前段のフリップフロップに対して伝達されるクロック信号とこの論理回路の次段のフリップフロップがラッチ状態にあることを示す状態に固定された信号とに従って論理回路前段のフリップフロップに対する制御信号を生成する制御回路をさらに含む。
【００５９】
好ましくは、転送制御回路は、フリップフロップの最終段のフリップフロップに対応して配置され、この最終段のフリップフロップに対して伝達されるクロック信号とラッチ指示状態に固定された信号とに従って最終段のフリップフロップに対する制御信号を生成する制御回路をさらに含む。
【００６０】
また、これに代えて、好ましくは、転送制御回路は、フリップフロップの最終段のフリップフロップに対応して配置され、この最終段のフリップフロップに対して伝達されるクロック信号に従って最終段のフリップフロップに対する制御信号を生成する制御回路をさらに含む。
【００６１】
好ましくは、フリップフロップは、内部ノードを観測可能状態に設定するためのスキャンパスを構成する。
【００６２】
また、好ましくは、少なくとも１つの信号転送経路は、互いに並列に配置される複数の転送経路を有し、これら複数の転送経路の各々が、縦続接続されるフリップフロップを少なくとも含む。フリップフロップ制御回路は、これら複数の転送経路の対応する位置に配置されたフリップフロップに対して共通に制御信号を伝達する。
【００６３】
相補的にトランスペアレント状態およびラッチ状態となるラッチ回路において、次段のラッチ回路の制御信号と対応のクロック信号とに従ってラッチ回路の状態を制御することにより、次段のラッチ回路がラッチ状態となった後に、対応のラッチ回路をトランスペアレント状態へとすることができ、複数のラッチ回路が同時にトランスペアレント状態となるのを防止でき、レーシングを防止することができる。特に、次段のラッチ回路に対する制御信号を利用することにより、ラッチ回路の状態制御は、次段のラッチ回路の状態に従って設定され、このラッチ回路列全体にわたって、制御信号を順次伝達する必要がなく、制御信号伝搬遅延を十分小さくすることができ、各ラッチ回路において、十分なクロックサイクル幅を確保することができる。
【００６４】
また、フリップフロップ列を利用する構成において、論理回路を間に介挿する構成において、論理回路前段のフリップフロップの状態制御を、次段のフリップフロップがラッチ状態にあると擬制して行なうことにより、この制御信号の伝搬経路を短くすることができ、応じて各フリップフロップに対する実効的なクロックサイクル幅を十分に確保することができる。
【００６５】
また、これらのラッチ回路およびフリップフロップの転送ゲートのレーシング防止のために遅延回路を用いていないため、タイミング検証時、タイミング調整を単にクロック信号のタイミング調整を行なうだけでよく、タイミング調整が容易となる。
【００６６】
【発明の実施の形態】
［実施の形態１］
図１（Ａ）は、この発明の実施の形態１に従う同期型データ転送処理装置の構成を概略的に示す図である。図１（Ａ）において、３段の縦続接続されるラッチ回路ＬＴａ−ＬＴｃを代表的に示す。ラッチ回路ＬＴａ−ＬＴｃに対応して、クロック分配回路１０からのクロック信号ＣＬＫと次段のラッチ回路に対する制御信号とに従って対応のラッチ回路の状態（ラッチ状態およびトランスペアレント状態）を制御する制御信号を生成するクロック制御回路ＣＴＬａ−ＣＴＬｃが設けられる。
【００６７】
ラッチ回路ＬＴａ−ＬＴｃの各々は同一構成を有し、それぞれ、対応のクロック制御回路ＣＴＬａ−ＣＴＬｃからの制御信号を受けて選択的に導通状態となるトランスファゲート１と、トランスファゲート１を介して伝達されるデータを反転するインバータ２と、インバータ２の出力データを反転して次段のラッチ回路へ転送するインバータ３と、インバータ２の出力データを活性化時反転してインバータ２の入力部に伝達するトライステートインバータバッファ４とを含む。このトライステートインバータバッファ４は、非活性化時、出力ハイインピーダンス状態となる。トランスファゲート１は、ＮチャネルＭＯＳトランジスタ（絶縁ゲート型電界効果トランジスタ）で構成される。トランスファゲート１が導通状態のときには、トライステートインバータバッファ４は、出力ハイインピーダンス状態となる。一方、トランスファゲート１が非導通状態のときには、トライステートインバータバッファ４は活性状態となり、インバータ２の出力信号を反転してインバータ２の入力に伝達し、トランスファゲート１の導通時に取込んだデータをラッチする。
【００６８】
クロック制御回路ＣＴＬａおよびＣＴＬｃは同一構成を有し、クロック制御回路ＣＴＬｂは、これらのクロック制御回路ＣＴＬａおよびＣＴＬｃと相補的に変化する制御信号を生成する。
【００６９】
クロック制御回路ＣＴＬａおよびＣＴＬｃの各々は、クロック分配回路１０からの対応のラッチ回路に対して伝達されるクロック信号ＣＬＫと次段のラッチ回路のトランスファゲートに対する制御信号とを受けるＮＡＮＤゲート５と、ＮＡＮＤゲート５の出力信号を反転して制御信号を生成するインバータ６を含む。ＮＡＮＤゲート５の出力信号が対応のラッチ回路ＬＴａおよびＬＴｃのトライステートインバータバッファ４の制御ノードに与えられる。インバータ６の出力信号は、対応のラッチ回路ＬＴａおよびＬＴｃのトランスファゲート１の制御ノードに与えられる。
【００７０】
クロック制御回路ＣＴＬｂは、クロック分配回路１０からのラッチ回路ＬＴｂに対するクロック信号ＣＬＫと次段のラッチ回路（ＬＴｃ）のトランスファゲートに対する制御信号とを受けるＮＯＲゲート７と、ＮＯＲゲート７の出力信号を反転するインバータ８を含む。ＮＯＲゲート７の出力信号が、ラッチ回路ＬＴｂの制御ノードに与えられ、インバータ８の出力信号が、ラッチ回路ＬＴｂのトランスファゲートの制御ノードへ与えられる。
【００７１】
クロック制御回路ＣＴＬａおよびＣＴＬｃから、ラッチ回路ＬＴａおよびＬＴｃのトランスファゲートの制御ノードＮＡおよびＮＣにそれぞれ、Ｈレベルの信号が与えられているときには、このトランスファゲート１が導通し、ラッチ回路ＬＴａおよびＬＴｃは、それぞれ与えられたデータを次段のラッチ回路へ伝達するトランスペアレント状態となる。このときには、ＮＡＮＤゲート５の出力信号はＬレベルであり、トライステートインバータバッファ４は出力ハイインピーダンス状態にある。このトライステートインバータバッファ４を、トランスペアレント状態時において出力ハイインピーダンス状態とすることにより、入力データとトライステートインバータバッファ４からの帰還データとの衝突を防止する。
【００７２】
一方、ラッチ回路ＬＴａおよびＬＴｃにおいて、制御ノードＮＡおよびＮＣの制御信号がＬレベルのときには、ラッチ回路ＬＴａおよびＬＴｃにおいてトランスファゲート１が非導通状態となり、ラッチ回路ＬＴａおよびＬＴｃのデータ入力ノードとデータ出力ノードが分離される。この状態においては、ラッチ回路ＬＴａおよびＬＴｃの出力データは、その入力データの変化に関わらず変化せず、これらのラッチ回路ＬＴａおよびＬＴｃはラッチ状態となる。ラッチ状態においては、ラッチ回路ＬＴａおよびＬＴｃにおいてトライステートインバータバッファ４が活性化されてインバータ２およびトライステートインバータバッファ４により、ラッチ回路が構成される。
【００７３】
クロック制御回路ＣＴＬｂにおいては、ＮＯＲゲート７が用いられており、このラッチ回路ＬＴａに対して設けられるクロック制御回路ＣＴＬａと、ラッチ回路ＬＴｂに対して設けられるクロック制御回路ＣＴＬｂは互いに相補な制御信号を生成する。すなわち、ラッチ回路ＬＴａがラッチ状態となるべきときには、ラッチ回路ＬＴｂがトランスペアレント状態となり、一方、ラッチ回路ＬＴａがトランスペアレント状態となるときには、ラッチ回路ＬＴｂがラッチ状態となる。同様、ラッチ回路ＬＴｂがトランスペアレント状態のときにはラッチ回路ＬＴｃがラッチ状態となり、ラッチ回路ＬＴｂがラッチ状態のときには、ラッチ回路ＬＴｃがトランスペアレント状態となる。
【００７４】
互いに相補的にラッチ状態およびトランスペアレント状態となるラッチ回路を、交互に配置し、ラッチ回路に対する制御信号を、前段のラッチ回路に対するブロック制御回路へフィードバックして、前段のラッチ回路に対する制御信号を生成することにより、これらの連続するラッチ回路の制御信号の極性は逆相であり、制御信号伝搬経路は、この相補に動作する２つのラッチ回路間で伝達されるだけであり、それ以降のラッチ回路からの制御信号が伝搬されるのを待つ必要はなく、ラッチ回路ＬＴａ−ＬＴｃにおける実効的なクロックサイクルを十分に長くすることができる。
【００７５】
なお、クロック分配回路１０は、従来の図２８に示すクロック分配回路と同様、クロックツリー型構造を有し、マスタークロック信号ＭＣＬＫをツリー状に配置されたクロック分配経路を介してラッチ回路ＬＴａ−ＬＴｃに対するクロック信号ＣＬＫを生成する。しかしながら、このクロック分配回路１０は、マスタークロック信号ＭＣＬＫに従ってラッチ回路ＬＴａ−ＬＴｃに対するクロック信号ＣＬＫを分配する構成であればよく、クロックメッシュ方式のクロック分配回路およびフィッシュボーン方式のクロック分配回路などの別のクロック分配方式のクロック分配回路が用いられてもよい。
【００７６】
図１（Ｂ）は、図１（Ａ）に示す同期型データ転送処理装置の動作を示すタイミング図である。以下、この図１（Ｂ）を参照して、図１（Ａ）に示す回路装置の動作について説明する。
【００７７】
図１（Ｂ）において、ラッチ回路ＬＴｂに対するクロック信号ＣＬＫの遅延時間が最も大きく、かつラッチ回路ＬＴｃに対するクロック信号ＣＬＫの遅延時間が最も短い状態を考える。すなわち、ラッチ回路ＬＴｃのクロック信号ＣＬＫが変化した後、ラッチ回路ＬＴａに対するクロック信号ＣＬＫが変化し、最後に、ラッチ回路ＬＴｂに対するクロック信号ＣＬＫが変化する状態を考える。
【００７８】
ラッチ回路ＬＴａ−ＬＴｃに対するクロック信号ＣＬＫがＬレベルのときには、クロック制御回路ＣＴＬａおよびＣＴＬｃにおいて、ＮＡＮＤゲート５の出力信号がＨレベルであり、インバータ６の出力信号がＬレベルである。したがって、ラッチ回路ＬＴａおよびＬＴｃは、トランスファゲートが非導通状態にあり、ラッチ状態にある。
【００７９】
一方、ラッチ回路ＬＴｂに対するクロック制御回路ＣＴＬｂは、ラッチ回路ＬＴｃの制御ノードＮＣの信号レベルがＬレベルであるため、ＮＯＲゲート７の出力信号はＨレベルであり、トランスファゲート１が導通状態にあり、ラッチ回路ＬＴｂはトランスペアレント状態にある。
【００８０】
マスタークロック信号ＭＣＬＫがＨレベルに立上がり、クロック分配回路１０からのクロック信号が応じてＨレベルに立上がる。まず、ラッチ回路ＬＴｃに対するクロック信号ＣＬＫがＨレベルとなり、また次段の図示しないラッチ回路の制御ノード（トランスファゲートの制御ノード）の制御信号がＨレベルとなり、クロック制御回路ＣＴＬｃのＮＡＮＤゲート５の出力信号がＬレベルとなり、応じてインバータ６の出力信号がＨレベルとなり、ラッチ回路ＬＴｃがトランスペアレント状態となる。
【００８１】
ラッチ回路ＬＴｃの制御ノードＮＣの制御信号がＨレベルとなると、クロック制御回路ＣＬＴｂにおいて、図１（Ｂ）において破線で示すように、ＮＯＲゲート７の出力信号がＬレベルとなる。ラッチ回路ＬＴｃがトランスペアレント状態となるか、または対応のクロック信号ＣＬＫがＨレベルに立上がると、ラッチ回路ＬＴｂがラッチ状態となる。図１（Ａ）においては、ラッチ回路ＬＴｂに対するクロック信号ＣＬＫの立上がりが、ラッチ回路ＬＴｃのトランスペアレント状態移行よりも早いときの動作を実線で示し、ラッチ回路ＬＴｃのトランスペアレント移行が、このラッチ回路ＬＴｂに対するクロック信号ＣＬＫの立上がりよりも早い場合を破線で示す。
【００８２】
ラッチ回路ＬＴｂがラッチ状態となると、このクロック制御回路ＣＴＬｂのインバータ８の出力信号がＨレベルとなる。
【００８３】
ラッチ回路ＬＴａに対するクロック信号ＣＬＫがＨレベルに立上がりかつラッチ回路ＬＴｂがラッチ状態となると、クロック制御回路ＣＴＬａにおいてＮＡＮＤゲート５の出力信号がＬレベルとなり、応じてインバータ６の出力信号がＨレベルとなり、制御ノードＮＡの制御信号がＨレベルとなり、ラッチ回路ＬＴａはトランスペアレント状態となり、与えられた信号をラッチ回路ＬＴｂに伝達する。
【００８４】
ラッチ回路ＬＴｂがラッチ状態となっても、ラッチ回路ＬＴａに対するクロック信号ＣＬＫが依然Ｌレベルである場合には、ラッチ回路ＬＴａの制御ノードＮＡの制御信号はＬレベルであり、ラッチ回路ＬＴａはラッチ状態を維持する。ラッチ回路ＬＴａに対するクロック信号ＣＬＫがＨレベルとなると、ラッチ回路ＬＴａがトランスペアレント状態となる。
【００８５】
したがって、このラッチ回路ＬＴａは、次段のラッチ回路ＬＴｂがラッチ状態となりかつ対応のクロック信号ＣＬＫがＨレベルとなりトランスペアレント状態を指示するときに、トランスペアレント状態となる。
【００８６】
次いで、マスタークロック信号ＭＣＬＫがＨレベルからＬレベルに立下がり、応じてクロック分配回路１０からのラッチ回路ＬＴａ−ＬＴｃに対するクロック信号ＣＬＫがＬレベルに立下がる。ラッチ回路ＬＴｃに対するクロック信号ＣＬＫが最も早くＬレベルに変化し、ラッチ回路ＬＴｃは、このクロック信号ＣＬＫの立下がりに応答して、ラッチ状態となる。
【００８７】
このラッチ回路ＬＴｃがトランスペアレント状態からラッチ状態に移行する場合、ラッチ回路ＬＴｂにおいては、対応のクロック信号ＣＬＫがＬレベルとなりかつラッチ回路ＬＴｃの制御ノードの信号がＬレベルとなり、ラッチ回路ＬＴｃがラッチ状態となった後に、このラッチ回路の制御ノードＮＢの信号が、ＮＯＲゲート７によりＨレベルに駆動され、ラッチ回路ＬＴｂがトランスペアレント状態となる。
【００８８】
ラッチ回路ＬＴａにおいては、ラッチ回路ＬＴｂがラッチ状態のときに、対応のクロック信号ＣＬＫがＬレベルとなり、応じて、クロック制御回路ＣＴＬａのインバータ６の出力信号がＬレベルとなり、ラッチ回路ＬＴａがラッチ状態となる。したがって、ラッチ回路ＬＴａは、ラッチ回路ＬＴｂがトランスペアレント状態となるかまたは、対応のクロック信号ＣＬＫがＨレベルとなるとラッチ状態となる。
【００８９】
したがって、クロックスキューが存在する場合においても、各ラッチ回路は、次段のラッチ回路がラッチ状態となりかつ対応のクロック信号がトランスペアレント状態を指示する状態となるときに、トランスペアレント状態となる。また、ラッチ回路がラッチ状態となるのは、次段のラッチ回路がトランスペアレント状態にあるかまたは対応のクロック信号ＣＬＫがラッチ状態を指示するときである。したがって、次段のラッチ回路がトランスペアレント状態に移行すると、その前段のラッチ回路はラッチ状態となるため、２段のラッチ回路がともにトランスペアレント状態となるのを防止することができ、クロックスキューが生じても、信号の突き抜けは生じない。
【００９０】
また、対応のラッチ回路が、トランスペアレント状態となるのは、次段のラッチ回路がラッチ状態にありかつ対応のクロック信号がトランスペアレント状態を指示するときである。したがって、この状態においても、２つの連続するラッチ回路がともにトランスペアレント状態となるのを防止でき、信号の突き抜けを防止できる。
【００９１】
データは、ラッチ回路ＬＴａからラッチ回路ＬＴｃに向かって、クロック信号ＣＬＫに従って順次転送される。制御ノードＮＡおよびＮＣの制御信号がＨレベルのときには、制御ノードＮＢの制御信号はＬレベルである。逆に、制御ノードＮＡおよびＮＣの制御信号がＬレベルのときには、制御ノードＮＢの制御信号はＨレベルである。したがって、この奇数段のラッチ回路に対する制御信号と偶数段に対するラッチ制御信号は、相補的に（排他的に）生成される。
【００９２】
上述のラッチ回路の配列において、奇数段目のラッチ回路（ＬＴａ、ＬＴｃ）をトランスペアレント状態とする条件は、対応のクロック信号ＣＬＫがＨレベルでありかつ次段のラッチ回路がラッチ状態となることである。一方、奇数段目のラッチ回路を、ラッチ状態とする条件は、対応のクロック信号ＣＬＫがＬレベルであるかまたは次段のラッチ回路がトランスペアレント状態である。
【００９３】
偶数段目のラッチ回路（ＬＴｂ）をトランスペアレント状態とする条件は、対応のクロック信号ＣＬＫがＬレベルでありかつ次段のラッチ回路がラッチ状態にあることである。この偶数段目のラッチ回路をラッチ状態とするための条件は、対応のクロック信号ＣＬＫがＨレベルになるか、または、次段のラッチ回路がトランスペアレント状態となることである。
【００９４】
この上述の条件を満たすためには、奇数段のラッチ回路に対するクロック制御回路（ＣＴＬａ，ＣＴＬｃ）が、ＮＡＮＤゲート５とインバータ６の組合せにより実現され、また偶数段目のラッチ回路（ＬＴｂ）に対するクロック制御回路（ＣＴＬｂ）は、２入力ＮＯＲゲートとインバータの構成で実現される。
【００９５】
図２は、この図１（Ａ）に示す同期型データ転送処理装置のクロック信号と各制御ノードの信号変化を示すタイミング図である。図２においては、ラッチ回路ＬＴａ−ＬＴｃそれぞれに対するクロック信号ＣＬＫを、クロック信号ＣＬＫａ、ＣＬＫｂおよびＣＬＫｃで示す。また、クロック信号ＣＬＫａ、ＣＬＫｂおよびＣＬＫｃが、この順に、遅延時間が大きく、クロック信号ＣＬＫｂが、クロック信号ＣＬＫａに対し遅延時間ｔ１を有し、クロック信号ＣＬＫｃが、クロック信号ＣＬＫｂに対し遅延時間ｔ２を有している。
【００９６】
この状態において、制御ノードＮＢは、クロック信号ＣＬＫｂがＬレベルに立上がるとＬレベルに立下がる。この制御ノードＮＢの信号がＬレベルに立下がると、クロック信号ＣＬＫａはＨレベルにあるため、制御ノードＮＡの制御信号がＨレベルに立上がる。したがって、制御ノードＮＡは、このクロック信号ＣＬＫａの立上がりから、時間ｔ１＋ｔｇ１経過後にＨレベルに立上がる。ここで、時間ｔｇ１は、クロック制御回路ＣＴＬａにおける信号伝搬遅延を示す。
【００９７】
制御ノードＮＣの制御信号は、次段のラッチ回路の制御信号がＬレベルに立下がると、Ｈレベルに立上がる。したがって、ノードＮＣは、クロック信号ＣＬＫｃがＨレベルに立上がりかつ次段のラッチ回路の制御ノードがＬレベルとなると、Ｈレベルとなる。この場合の制御ノードＮＣの制御信号の立上りのクロック信号ＣＬＫｃの立上りに対する遅延時間は、最大、次段のラッチ回路に対する制御クロック信号のクロック信号ＣＬＫｃに対する位相遅れ時間ｔ３であり、最小、この対応のクロック制御回路のゲート遅延の時間ｔｇ２である。
【００９８】
クロック信号ＣＬＫａがＬレベルに立下がると、制御ノードＮＡは、このクロック信号ＣＬＫａの立下がりに応答してＬレベルに立下がる。制御ノードＮＣは、クロック信号ＣＬＫｃの立下がりに応答してＬレベルに立下がる。したがって、制御ノードＮＢは、このクロック信号ＣＬＫｂがＬレベルとなりかつ制御ノードＮＣの制御信号がＬレベルとなるとＨレベルとなる。この制御ノードＮＢの信号立上がりの遅延時間は、したがって、クロック信号ＣＬＫｃのクロック信号ＣＬＫｂに対する遅延時間ｔ２と、ラッチ回路ＬＴｂに対するクロック制御回路の信号伝播遅延時間ｔｇ３の和に等しい。
【００９９】
したがって、この図２に示すように、各ラッチ回路において、次段のラッチ回路の状態検出により、サイクル時間が短くなるのは、最大、次段のラッチ回路に対するクロック信号の自身のクロック信号に対する位相遅れ時間とクロック制御回路における信号伝搬遅延の和に等しい。したがって、各ラッチ回路においては、次段のラッチ回路の状態と対応のクロック信号とにより、そのトランスペアレント状態が決定され、またラッチ状態が対応のクロック信号または次段のラッチ回路のトランスペアレント状態により決定されるため、実効的なトランスペアレント状態となる期間は、クロックサイクルに比べて、最大、次段のクロック信号の遅れ＋１段のクロック制御回路のゲート伝搬遅延の和に等しいだけ短くなる。したがって、図３に示すように、１つのクロック信号ＣＬＫについて、クロック信号ＣＬＫに対するホールド時間Ｔｈｄとセットアップ時間Ｔｓｕを、十分に確保することができ、高速で信号／データを確実に伝達することができる。ここで図３においては、奇数段のラッチ回路に対するクロック信号ＣＬＫのホールド時間およびセットアップ時間を示す。セットアップ時間は、ラッチ状態となる前に、信号／データが確定状態となるのに要求される時間であり、ホールド時間Ｔｈｄは、このセットアップ時間後に、対応のラッチ回路においてラッチ状態のデータを保持するのに要する時間であり、ラッチ状態の期間に等しい。
【０１００】
したがって、先の図１（Ａ）に示すように、次段のラッチ回路の状態を検出して、対応のラッチ回路をトランスペアレント状態に駆動する構成により、遅延回路などをレーシング防止のために挿入する必要がなく、構成要素が低減される。また、タイミング検証結果に基づいて、このクロック信号のタイミングを改訂するときに、十分に実効的なサイクル時間を確保することができ、セットアップ時間を確保することができればホールド時間は十分に確保することができ、ホールド時間が不十分となり、そのホールド時間の改訂を行なう必要がなくなり、タイミング検証が容易となる。すなわち、ラッチ状態において、十分な時間（ホールド時間Ｔｈｄ）データを保持することができ、トランスペアレント状態においてセットアップ時間を十分保証できれば、ホールド時間も保証することができ、ホールド時間が満たされているか否かを識別するためのテストが不要となり、タイミング検証を容易にすることができる。
【０１０１】
なお、図１（Ａ）において、ラッチ回路として、インバータラッチを用いてトランスファーゲートにより信号を順次転送している。しかしながら、ラッチ回路としては、トランスペアレント状態とラッチ状態を、クロック信号ＣＬＫに従って実現する構成であれば任意の回路構成を利用することができる。例えば、交差結合されたＮＡＮＤゲートまたはＮＯＲゲートを用いて相補データを伝達するラッチ回路が用いられてもよい。入力段の転送ゲートに対し、図１（Ａ）に示すクロック制御回路を、偶数段および奇数段に対してそれぞれ配置する。
【０１０２】
また、ラッチ回路列の配置において、奇数段のラッチ回路がクロック信号の立上りに応答してラッチ状態となり、偶数段のラッチ回路がクロック信号の立上りに応答してトランスペアレント状態となるように、ラッチ回路が配置されてもよい。
【０１０３】
以上のように、この発明の実施の形態１に従えば、ラッチ状態／トランスペアレント状態を相補的にとるラッチ回路を交互に配置し、次段のラッチ回路のラッチ状態を検出して、前段のラッチ回路のトランスペアレント状態への移行を許可しており、連続するラッチ回路がともにトランスペアレント状態となるのを防止でき、信号のレーシングが生じるのを防止することができる。また、交互に、トランスペアレント状態／ラッチ状態を相補的にとるラッチ回路を交互に配置しており、トランスペアレント状態ののサイクル時間およびラッチ状態のサイクル時間は、最大、次段のクロック信号の位相の遅れと自身のゲート遅延の和または自己のクロック信号の遅れであり、トランスペアレント状態となるクロックサイクル時間が短くなるのを防止でき、十分にセットアップ時間およびホールド時間を保証することができる。
【０１０４】
［実施の形態２］
図４は、この発明の実施の形態２に従う同期型データ転送処理装置の構成を示す図である。図４においては、この同期型データ転送処理装置は、複数の縦続接続される多ビット転送回路を含む。図４においては、３段の縦続接続される多ビット転送回路１５ａ−１５ｃを代表的に示す。多ビット転送回路１５ａは、並列に入力データＤＩ０−ＤＩｋを伝達するラッチ回路ＬＴａ０−ＬＴａｋを含む。多ビット転送回路１５ｂは、この多ビット転送回路１５ａの各ラッチ回路ＬＴａ０−ＬＴａｋに対応して配置されるラッチ回路ＬＴｂ０−ＬＴｂｋを含む。多ビット転送回路１５ｃは、多ビット転送回路１５ｂのラッチ回路ＬＴｂ０−ＬＴｂｋそれぞれに対応して配置されるラッチ回路ＬＴｃ０−ＬＴｃｋを含む。これらのラッチ回路ＬＴａ０−ＬＴｂ１、ＬＴｂ０−ＬＴｂｋ、およびＬＴｃ０−ＬＴｃｋは、それぞれ同一構成を有し、トランスファーゲート１と、２段の縦続接続されるインバータ２および３と、制御信号に従って選択的に活性化されるトライステートインバータバッファ４を含む。
【０１０５】
多ビット転送回路１５ａに対応してクロック制御回路ＣＴＬａが配置され、多ビット転送回路１５ｂに対し、クロック制御回路ＣＴＬｂが配置され、また、多ビット転送回路１５ｃに対し、クロック制御回路ＣＴＬｃが配置される。奇数段の多ビット転送回路１５ａおよび１５ｃに対して設けられるクロック制御回路ＣＴＬａおよびＣＴＬｃは、同一構成を有し、クロック分配回路１０からの対応のクロック信号ＣＬＫと次段の多ビット転送回路に対して配置されるクロック制御回路の出力する制御信号とを受けるＮＯＲゲート５と、このＮＯＲゲート５の出力信号を受けるインバータ６を含む。
【０１０６】
偶数段の多ビット転送回路１５ｂに対して配置されるクロック制御回路ＣＴＬｂは、クロック分配回路１０からの対応のクロック信号ＣＬＫと次段の多ビット転送回路に対して設けられたクロック制御回路の出力する制御信号とを受けるＮＯＲゲート７と、このＮＯＲゲート７の出力信号を受けるインバータ８を含む。
【０１０７】
この多ビット転送回路１５ａ−１５ｃそれぞれに含まれる複数のラッチ回路を共通に動作制御するために、ローカルクロックドライバ１６および１７が配置される。すなわち、多ビット転送回路１５ａに対しては、クロック制御回路ＣＴＬａのＮＡＮＤゲート５の出力信号をバッファ処理して、大きなドライブ力でラッチ回路ＬＴａ０−ＬＴａｋのトライステートインバータバッファを駆動するローカルクロックドライバ１６ａと、対応のクロック制御回路ＣＴＬａのインバータ６の出力信号を受けて、ラッチ回路ＬＴａ０−ＬＴａｋのトランスファーゲート１を駆動するローカルクロックドライバ１４ａが設けられる。
【０１０８】
多ビット転送回路１５ｂに対しては、ローカルクロックドライバ１６ｂおよび１７ｂが設けられる。ローカルクロックドライバ１６ｂは、クロック制御回路ＣＴＬｂのインバータ８の出力信号に従ってラッチ回路ＬＴｂ０−ＬＴｂｋのトライステートインバータバッファ４を共通に駆動する。ローカルクロックドライバ１７ｂは、クロック制御回路ＣＴＬｂのＮＯＲゲート７の出力信号に従って、ラッチ回路ＬＴｂ０−ＬＴｂｋのトランスファーゲート１を共通に駆動する。
【０１０９】
多ビット転送回路１５ｃに対しては、ローカルクロックドライバ１６ｃおよび１７ｃが設けられる。ローカルクロックドライバ１６ｃは、このクロック制御回路ＣＴＬｃのＮＡＮＤゲート５の出力信号に従って、ラッチ回路ＬＴｃ０−ＬＴｃｋのトライステートインバータバッファ４を共通に駆動する。ローカルクロックドライバ１７ｃは、クロック制御回路ＣＴＬｃのインバータ６の出力信号に従ってラッチ回路ＬＴｃ０−ＬＴｃｋのトランスファーゲート１を共通に駆動する。
【０１１０】
この図４に示すように、多ビットデータを転送する多ビット転送回路が配置されている場合、各多ビット転送回路に対応して、クロック制御回路を配置する。多ビット転送回路１５ａ−１５ｃそれぞれに含まれる複数のラッチ回路を、それぞれ対応のクロック制御回路ＣＴＬａ−ＣＴＬｃにより共通に駆動する。これにより、多ビット転送回路において複数のラッチ回路が設けられている場合においても、クロック制御回路を共通にこれらの複数のラッチ回路に対して設けることにより、回路占有面積を低減することができる。
【０１１１】
複数のラッチ回路を共通に駆動する場合、駆動信号線の負荷が大きくなる。この負荷を高速で駆動するために、ローカルクロックドライバ１６（１６ａ−１６ｃ）および１７（１７ａ−１７ｃ）を設け、大きな負荷を有する制御信号線を高速で駆動する。この多ビット転送回路１５ａ−１５ｃの各ビット当りのラッチ回路の転送動作は実施の形態１と同様であり、多ビット転送回路１５ａ−１５ｃが、それぞれ、ラッチ状態およびトランスペアレント状態を交互に取り、前段の多ビット転送回路がラッチ状態のときには、次段の多ビット転送回路は、トランスペアレント状態にある。また、次段のラッチ回路がラッチ状態となったのを受けて前段の多ビット転送回路が、トランスペアレント状態に入るのが許容される。
【０１１２】
この図４に示すように、多ビット転送回路に含まれる並列に配置される複数のラッチ回路に共通に１つのクロック制御回路を配置することにより、転送動作制御のための回路のオーバーヘッドを小さくすることができ、また構成素数が低減され、応じてレイアウト面積および消費電力をともに低減することができる。
【０１１３】
［実施の形態３］
図５は、この発明の実施の形態３に従う同期型データ転送処理装置の要部の構成を概略的に示す図である。図５においては、ラッチ回路ＬＴｉとラッチ回路ＬＴｇの間に、論理回路ＬＧＫが配置される。この論理回路ＬＴＧの信号伝搬遅延時間は、クロックスキューよりも大きい。
【０１１４】
論理回路ＬＧＫ論理段数が大きく、そのゲート遅延がクロックスキューよりも大きい場合には、レーシング防止用の遅延回路を配置したのと等価となり、ラッチ回路ＬＴｉおよびＬＴｊにおいてレーシングの問題は生じない。したがって、このラッチ回路ＬＴｉに対して設けられるクロック制御回路ＣＴＬｉに対しては、ラッチ回路ＬＴｊに対して設けられるクロック制御回路ＣＴＬｊからの制御信号はフィードバックされない。クロック制御回路ＣＴＬｉは、対応のクロック信号ＣＬＫに従ってラッチ回路ＬＴｉの状態を制御する。一方、クロック制御回路ＣＴＬｊは、ラッチ回路ＬＴｊと次段のラッチ回路の間でレーシングの問題が生じる可能性があるため、次段のラッチ回路に対して設けられるクロック制御回路からの制御信号をフィードバックして受ける。
【０１１５】
すなわち、図６に示すように、クロック信号ＣＬＫのスキューよりも、論理回路ＬＧＫのゲート遅延が大きい場合、ラッチ回路ＬＴｉは、仮に、クロック信号ＣＬＫに従ってトランスペアレント状態となり、そのとき次段のラッチ回路ＬＴｊがトランスペアレント状態となっても、論理回路ＬＧＫの出力信号がラッチ回路ＬＴｊに伝達されるときには、このラッチ回路ＬＴｊはすでにラッチ状態にある。したがって、ラッチ回路ＬＴｊは、前のサイクルにおいて論理回路ＬＧＫから伝達された信号をラッチしており、レーシングの問題は生じない。
【０１１６】
図６においては、クロック信号ＣＬＫの立上がりに応答してラッチ回路ＬＴｉがトランスペアレント状態となる状態を示す。しかしながら、このラッチ回路ＬＴｉが偶数段のラッチ回路であり、クロック信号ＣＬＫの立下がりに応答してトランスペアレント状態となる場合においても、同様、レーシングの問題は生じない。図６におけるクロック信号ＣＬＫの論理レベルを反転することにより、論理回路ＬＧＫが偶数段のラッチ回路の出力データを受けて奇数段のラッチ回路に転送する構成の動作状態を得ることができる。
【０１１７】
したがって、図５に示すように、論理回路ＬＧＫが連続するラッチ回路ＬＴｉおよびＬＴｊの間に配置され、そのゲート遅延がクロックスキューよりも大きい場合には、論理回路ＬＧＫの前段のラッチ回路ＬＴｉは、次段のラッチ回路がラッチ状態にあると擬制して、対応のクロック信号ＣＬＫに従ってその動作を制御することができる。これにより、ラッチ回路ＬＴｉにおいて、クロックスキューを考慮することなくラッチ回路ＬＴｉをトランスペアレント状態とすることができ、クロック信号に従って早いタイミングでデータを論理回路に転送することができ、論理回路ＬＧＫの処理時間を長くすることができ、高速のクロック信号を用いても、正確な論理処理を行なうことができる。
【０１１８】
［変更例］
図７は、この発明の実施の形態３の変更例を概略的に示す図である。図７においては、最終段のラッチ回路ＬＴＦに対して設けられるクロック制御回路ＣＴＬＦは、クロック信号ＣＬＫに従って、この最終段のラッチ回路ＬＴＦの状態を制御する。最終段のラッチ回路ＬＴＦは、その出力データＤＯが、別の処理装置により処理されるかまたは外部へ出力されるため、次段のラッチ回路は存在しない。したがって、この最終段のラッチ回路ＬＴＦについては、レーシングの問題は考慮する必要がなく、クロック制御回路ＣＴＬＦは、次段のラッチ回路がラッチ状態にあると擬制して、クロック信号ＣＬＫに従って最終段ラッチ回路ＬＴＦの状態を制御する。これにより、最終出力データＤＯを、クロック信号ＣＬＫに従って早いタイミングで確定状態とすることができ、高速のデータ転送を実現することができる。
【０１１９】
したがって、データ伝播遅延時間が大きいかまたは最終出力段のように、次段回路の状態を考慮する必要がない構成においては、次段回路がラッチ状態にあると擬制して対応のラッチ回路の動作を制御することにより、早いタイミングでデータを転送することができ、高速データ転送／処理を実現することができる。
【０１２０】
［クロック制御回路の具体例１］
図８は、この発明の実施の形態３に従う同期型データ転送処理装置のクロック制御回路の具体的構成を示す図である。図８においては、奇数段のラッチ回路ＬＴｉと偶数段のラッチ回路ＬＴｊの間に論理回路ＬＧＫが配置される。この構成においては、偶数段のラッチ回路ＬＴｊに配置されたクロック制御回路ＣＴＬｊの制御信号のフィードバック経路は開放状態（オープン状態）に設定される。一方、奇数段のラッチ回路ＬＴｉに対して設けられたクロック制御回路ＣＴＬｉにおいては、ＮＡＮＤゲート５が、クロック信号ＣＬＫとＨレベル（電源電圧レベル）に固定された信号とを受ける。したがって、この場合、クロック制御回路ＣＴＬｉにおいて、ＮＡＮＤゲート５は、常時インバータとして動作し、クロック信号ＣＬＫを反転する。したがって、このラッチ回路ＬＴｉは、対応のクロック信号ＣＬＫに従ってラッチ状態／トランスペアレント状態となる。
【０１２１】
なお、図７に示す最終段ラッチ回路ＬＴＦが、奇数段のラッチ回路で構成される場合、対応のクロック制御回路ＣＴＬＦは、この図８に示すクロック制御回路ＣＴＬｉと同様の構成を有し、入力部に設けられたＮＡＮＤゲート５が、対応のクロック信号ＣＬＫと電源電圧レベルに固定された信号とを受ける。
【０１２２】
［クロック制御回路の具体的構成２］
図９は、この発明の実施の形態３に従うクロック制御回路の別の具体的構成を示す図である。図９においては、偶数段のラッチ回路ＬＴｊと奇数段のラッチ回路ＬＴｉの間に論理回路ＬＧＫが配置される。この構成においては、クロック制御回路ＣＴＬｉのインバータ６の出力制御信号のフィードバック経路はオープン状態に設定される（コンタクトは形成されない）。一方、クロック制御回路ＣＴＬｊにおいては、ＮＯＲゲート７は、対応のクロック信号ＣＬＫと接地電圧レベルに固定された制御信号とを受ける。したがって、ＮＯＲゲート７は、インバータとして動作し、クロック信号ＣＬＫに従って、ラッチ回路ＬＴｊにおいてトランスファーゲート１およびトライステートインバータバッファ４が制御される。
【０１２３】
偶数段のラッチ回路ＬＴｊの次段に論理回路ＬＧＫが配置され、そのゲート遅延がクロックスキューよりも大きい場合には、対応のクロック制御回路ＣＴＬｊにおいて、接地電圧レベルに固定された信号をフィードバック制御信号の代わりに利用することにより、ラッチ回路ＬＴｊを対応のクロック信号ＣＬＫに従ってラッチ状態／トランスペアレント状態とすることができる。クロック信号ＣＬＫの立下がりに応答してラッチ回路ＬＴｊをトランスペアレント状態に設定することにより、論理回路ＬＧＫに対しては、次段のラッチ回路ＬＴｉの状態にかかわらず、対応のクロック信号ＣＬＫの立下がりに応答して論理回路ＬＧＫにデータが伝達され、論理回路ＬＧＫの処理時間を長くすることができる。
【０１２４】
なお、図７に示す最終段のラッチ回路ＬＴＦが、この図９に示すように偶数段のラッチ回路の場合、この最終段のラッチ回路ＬＴＦに対して設けられるクロック制御回路ＣＴＬＦは、図９に示すクロック制御回路ＣＴＬｊと同様の構成を有する。
【０１２５】
特に、この論理回路がラッチ回路間に介挿され、その遅延時間が大きい場合、前段のラッチ回路をクロック信号に同期して動作制御することにより、論理回路の処理時間を長くすることができる。また、単に、対応の次段のラッチ回路の制御信号フィードバック経路をオープン状態として、代わりに電源電圧または接地電圧レベルに固定された電圧をフィードバック制御信号の代わりに用いているだけであり、クロック制御回路の構成は、何ら変更されない。したがって、論理回路ＬＧＫの介挿位置にかかわらず、このクロック制御回路のレイアウトはすべて同一とすることができ、フィードバック制御信号の経路のマスク配線などによる切換だけで、容易に、ラッチ回路の動作タイミングを改定することができ、汎用性の高いデータ転送処理装置を実現することができる。
【０１２６】
［実施の形態４］
図１０は、この発明の実施の形態４に従うクロック制御回路の構成を示す図である。この図１０に示す構成においては、奇数段のラッチ回路ＬＴｉと偶数段のラッチ回路ＬＴｊの間に、クロックスキューよりも大きなゲート遅延を有する論理回路ＬＧＫが介挿される。この場合、奇数段のラッチ回路ＬＴｉに対して設けられるクロック制御回路ＣＴＬｉにおいては、対応のクロック分配回路（図１０において示される）からの対応のクロック信号ＣＬＫを受けるインバータ２０と、このインバータ２０の出力信号を受けるインバータ６が設けられる。インバータ２０の出力信号により、ラッチ回路ＬＴｉのトライステートインバータバッファ４の動作が制御され、インバータ６の出力信号に従って、ラッチ回路ＬＴｉのトランスファーゲート１の動作が制御される。
【０１２７】
偶数段のラッチ回路ＬＴｊに対して設けられたクロック制御回路ＣＴＬｊにおいては、対応のクロック信号ＣＬＫと次段のクロック制御からのフィードバック信号を受けるＮＯＲゲート７と、このＮＯＲゲート７の出力信号に従ってラッチ回路ＬＴｊのトライステートインバータバッファ４の動作を制御するインバータ８が設けられる。このインバータ８の出力する制御信号のフィードバック経路は、オープン状態に保持される。
【０１２８】
この図１０に示すクロック制御回路の構成の場合、先の実施の形態３と同様、論理回路ＬＧＫのゲート遅延が、クロックスキューよりも大きく、ラッチ回路ＬＴｉは、クロックスキューを考慮することなく、対応のクロック信号ＣＬＫに従ってトランスペアレント状態となることができる。したがって、このＮＡＮＤゲートに代えて、対応のクロック信号ＣＬＫを受けるインバータ２０を利用することにより、このクロック制御回路ＣＴＬｉの回路規模を低減して、早いタイミングでラッチ回路ＬＴｉをトランスペアレント状態に設定することができる。
【０１２９】
また、このラッチ回路ＬＴｉが、図７に示すような最終段ラッチ回路ＬＴＦが、この奇数段のラッチ回路の場合、対応のクロック制御回路ＣＴＬＦも、クロック分配回路からの対応のクロック信号を受ける２段のカスケード接続されるインバータで構成される。これにより、最終データを、早いタイミングで出力することができ、高速データ転送が実現される。
【０１３０】
［変更例］
図１１は、この発明の実施の形態４に従う同期型データ転送処理装置の構成を示す図である。この図１１に示す構成において、偶数段のラッチ回路ＬＴｊと奇数段のラッチ回路ＬＴｉの間に論理回路ＬＧＫが配置される。この論理回路ＬＧＫは所定の処理をラッチ回路ＬＴｉおよび必要に応じて他の図示しないラッチ回路からのデータに対して実行して、その処理結果を少なくとも次段のラッチ回路ＬＴｊに出力する。
【０１３１】
先の実施の形態３および図１０に示す構成と同様、論理回路ＬＧＫの有するゲート遅延は、クロックスキューよりも大きい。したがって、このラッチ回路ＬＴｊに対して設けられるクロック制御回路ＣＴＬｊは、クロック分配回路からの対応のクロック信号ＣＬＫを受ける２段の縦続接続されるインバータ２２および８により構成される。インバータ２２の出力信号が、ラッチ回路ＬＴｊのトランスファーゲート１の制御ノードＮＢへ与えられ、インバータ８の出力信号が、ラッチ回路ＬＴｊのトライステートインバータバッファ４の制御ノードに与えられる。
【０１３２】
一方、ラッチ回路ＬＴｉに対して設けられるクロック制御回路ＣＴＬｉにおいては、ＮＡＮＤゲート５が対応のクロック信号ＣＬＫと次段のクロック制御回路からのフィードバック制御信号とを受けるＮＯＲゲート５と、このＮＯＲゲート５の出力信号に従ってラッチ回路ＬＴｉのトランスファーゲート１を制御するインバータ６を含む。インバータ６の出力する制御信号のフィードバック経路はオープン状態に設定される。
【０１３３】
したがって、この図１１に示す構成においても、クロック制御回路ＣＴＬｊにおいては、クロック信号ＣＬＫの立下がりに応答してラッチ回路ＬＴｊがトランスペアレント状態となり、論理回路ＬＧＫへ、このクロックスキューおよび次段のラッチ回路ＬＴｉの状態を考慮することなく、早いタイミングで、データが伝達され、論理回路ＬＧＫの処理時間を長くすることができる。
【０１３４】
この図１１に示すクロック制御回路ＣＴＬｊにおいては、ＮＯＲゲートに代えてインバータ２２が用いられているだけであり、クロック制御回路ＣＴＬｊの回路規模を低減することができる。
【０１３５】
また、図７に示すように、最終段ラッチ回路ＬＴＦが偶数段のラッチ回路であり、ラッチ回路ＬＴｊが最終出力ＧＯを生成する場合においては、対応のクロック制御回路ＣＴＬＦは、２段の縦続接続されるインバータ２２および８で構成する。これにより、最終段のラッチ回路ＬＴＦが、偶数段ラッチ回路であっても、対応のクロック制御回路ＣＴＬＦを２段の縦続接続されるインバータで構成し、クロック分配回路からの対応のクロック信号ＣＬＫに従ってその最終段ラッチ回路の状態を制御することにより、早いタイミングで最終出力データを出力することができる。
【０１３６】
以上のように、この発明の実施の形態４に従えば、次段回路への信号転送時、次段回路の状態を考慮する必要がない場合には、２段の縦続接続されるインバータを用いてクロック制御回路を構成しており、早いタイミングで、データを次段回路へ伝達することができ、またクロック制御回路の回路規模も低減することができる。また、この次段回路に論理回路が設けられており、そのゲート遅延が大きい場合においても、早いタイミングでデータを伝達することができ、十分な処理時間を論理回路に与えることができる。
【０１３７】
［実施の形態５］
図１２は、この発明の実施の形態５に従う同期型データ転送処理装置の構成を概略的に示す図である。図１２においては、カスケード接続される複数の多ビット転送回路３０が配置される。図１２においては、３段のカスケード接続される多ビット転送回路３０ａ−３０ｃを代表的に示す。多ビット転送回路３０ａは並列に配置されるフリップフロップＦＦａ０−ＦＦａ９を有し、多ビット転送回路３０ｂは、並列に配置されるフリップフロップＦＦｂ０−ＦＦｂ９を含む。多ビット転送回路３０ｃは、並列に配置されるフリップフロップＦＦｃ０−ＦＦｃ９を含む。これらのフリップフロップＦＦａ０−ＦＦａ９、ＦＦｂ０−ＦＦｂ９およびＦＦｃ０−ＦＦｃ９の各々は、同一構成を有し、図３３に示すように、２段の縦続接続されるラッチ回路を含む。クロック入力Ｔに与えられる制御信号がＨレベルとなると信号取込状態となり、出力ノードＤに与えられた信号を取込む。次いでクロック入力Ｔに与えられる制御信号がＬレベルとなると、この取込んだ出力を出力ノードＱから出力する。
【０１３８】
多ビット転送回路３０ａ−３０ｃそれぞれに対応して、クロック制御回路ＣＮＴａ−ＣＮＴｃが配置される。クロック制御回路ＣＮＴａは、多ビット転送回路３０ａのフリップフロップＦＦａ０−ＦＦａ９に対し共通に配置され、クロック分配回路１０からの対応のクロック信号ＣＬＫと次段のクロック制御回路ＣＮＴｂの出力制御信号とを受けるＡＮＤ回路３５で構成される。クロック制御回路ＣＮＴｂも同様、クロック分配回路１０からの対応のクロック信号ＣＬＫと、次段のクロック制御回路ＣＮＴｃの出力制御信号とを受けるＡＮＤゲート３５で構成される。クロック制御回路ＣＮＴｃは、クロック分配回路１０の出力する対応のクロック信号ＣＬＫと次段の図示しないクロック制御回路からの出力制御信号とを受けるＡＮＤ回路３５を含む。
【０１３９】
クロック制御回路ＣＮＴａの出力制御信号はクロックドライバ３７ａを介して多ビット転送回路３０ａのフリップフロップＦＦａ０−ＦＦａ９のクロック入力ノードＴに共通に与えられる。クロック制御回路ＣＮＴｂの出力制御信号は、クロックドライバ３７ｂを介して多ビット転送回路３０ｂのフリップフロップＦＦｂ０−ＦＦｂ９のクロック入力ノードＴに与えられる。クロック制御回路ＣＮＴｃの出力制御信号は、クロックドライバ３７ｃを介して多ビット転送回路３０ｃのフリップフロップＦＦｃ０−ＦＦｃ９のクロック入力ノードＴに共通に与えられる。
【０１４０】
クロックドライバ３７ａ−３７ｃを用いて多ビット転送回路３０ａ−３０ｃを、それぞれ、駆動することにより、クロック制御回路ＣＮＴａ−ＣＮＴｃの駆動能力が小さい場合においても、クロックドライバ３７（３７ａ−３７ｃ）を用いて対応の多ビット転送回路３０（３０ａ−３０ｃ）に含まれるフリップフロップＦＦ０−ＦＦ９（ＦＦａ０−ＦＦａ９，ＦＦｂ０−ＦＦｂ９、ＦＦｃ０−ＦＦｃ９）を高速で駆動する。
【０１４１】
この図１２に示すクロック制御回路ＣＮＴａ−ＣＮＴｃの構成において、クロック制御回路ＣＮＴａ−ＣＮＴｃの出力制御信号がＨレベルとなると、対応の多ビット転送回路においてフリップフロップがラッチ状態となり、先の半サイクルで取込んだデータを出力する。一方、クロック制御回路ＣＮＴａ−ＣＮＴｃの出力制御信号がＬレベルとなると、多ビット転送回路３０ａ−３０ｃは、与えられた信号を取込む（出力データは変化しない）。この構成において、次段の多ビット転送回路におけるフリップフロップがラッチ状態となると、前段の多ビット転送回路に対するクロック制御回路のＡＮＤ回路３５が、対応のクロック信号ＣＬＫの状態に応じて出力制御信号をＨレベルとし、対応の多ビット転送回路（３０ａ−３０ｃ）の各フリップフロップが、新たなデータを出力する状態に設定される。したがって、次段のフリップフロップがラッチ状態となったときに、前段のフリップフロップが新たなデータを転送するため、レーシングの問題は生じない。
【０１４２】
この図１２に示すクロック制御回路ＣＮＴａ−ＣＮＴｃの構成の場合、多ビット転送回路３０ａ−３０ｃが、同相で信号取込状態およびラッチ状態となる。したがって、フィードバック制御信号の転送経路が、最終段の多ビット転送回路に設けられたクロック制御回路の出力制御信号が順次このクロック制御回路のフィードバック経路を介して伝達されるため、実効的なクロックサイクルが短くなる可能性がある。しかしながら、多ビット転送回路３０ａ−３０ｃがカスケード接続される構成において、これらの多ビット転送回路の複数のフリップフロップに対し共通にクロック制御回路を配置することにより、回路レイアウト面積を低減することができ、また消費電力を低減することができる。
【０１４３】
なお、この図１２に示す同期型データ転送処理装置の構成において、フリップフロップＦＦａ０−ＦＦａ９、ＦＦｂ０−ＦＦｂ９、およびＦＦｃ０−ＦＦｃ９は、信号取込状態とラッチ状態とをクロック入力ノードＴに与えられる制御信号に応じて取る構成であればよく、図３３に示す２段のラッチ回路の構成に限定されない。たとえば、交差結合されるＮＡＮＤゲートまたはＮＯＲゲートで構成されるラッチ回路が２段縦続接続され、制御信号に従って、相補データを転送する構成であってもよい。
【０１４４】
また、データ転送制御のためのクロック信号を生成するクロック分配回路１０の構成も、先の実施の形態１において説明したように、クロックツリー方式の他に、クロックメッシュ方式、およびフィッシュボーン方式などの他の分配方式が用いられてもよい。
【０１４５】
以上のように、この発明の実施の形態５に従えば、複数の並列に配置されるフリップフロップで構成される多ビット転送回路に対し１つのクロック制御回路を設け、このクロック制御回路においてクロック分配回路からの対応のクロック信号と次段のクロック制御回路の出力信号とに従って、次段の多ビット転送回路がラッチ状態となると対応の多ビット転送回路を出力信号を出力する状態（信号取込状態）としており、レーシングの発生を少ない回路点数で容易に防止することができる。また、クロック制御回路別における制御信号のフィードバック経路の伝搬遅延が生じる場合であっても、クロックサイクルが比較的長い場合および、この多ビット転送回路の段数が少なく、この制御信号のフィードバック経路の伝搬遅延が比較的小さい場合においても、高速で、確実にデータの取込／転送を行なうことができる。
【０１４６】
［変更例］
図１３は、この発明の実施の形態５に従う同期型データ転送処理装置の変更例の構成を概略的に示す図である。図１３においては、多ビット転送回路に複数の多ビットデータ転送回路４０が縦続接続される。図１３においては、３段のカスケード接続される多ビット転送回路４０ａ−４０ｃを代表的に示す。多ビット転送回路４０ａは、並列に配置されるフリップフロップＦＦＢａ０−ＦＦＢａｑを含む。多ビット転送回路４０ｂは、並列に配置されるフリップフロップＦＦＢｂ０−ＦＦＢｂｑを含む。多ビット転送回路４０ｃは、並列に配置されるフリップフロップＦＦＢｃ０−ＦＦＢｃｑを含む。これらのフリップフロップＦＦＢ（ＦＦＢａ０−ＦＦＢａｑ、ＦＦＢｂ０−ＦＦＢｂｑおよびＦＦＢｃ０−ＦＦＢｃｑ）は、クロック入力ノードＴに与えられる信号がＨレベルとなると、入力ノードＤに与えられるデータを取込み、一方、出力ノードＱは、ラッチ状態にある。一方、クロック入力Ｔに与えられる制御信号がＬレベルとなると、このフリップフロップＦＦＢはラッチ状態となり、かつ出力ノードＱによって前のサイクルで取込んだデータが伝達される。したがって、これらのフリップフロップＦＦＢは、図１２に示すフリップフロップＦＦと、逆相の動作を行なう。
【０１４７】
この多ビット転送回路４０ａ−４０ｃそれぞれに対応して、クロック制御回路ＣＮＲａ−ＣＮＲｃが配置される。これらのクロック制御回路ＣＮＲａ−ＣＮＲｃの各々は、ＯＲ回路４１で構成される。クロック制御回路ＣＮＲａ−ＣＮＲｃのそれぞれのＯＲ回路４１は、クロック分配回路１０からの対応のクロック信号ＣＬＫと次段のクロック制御回路の出力制御信号とを受ける。
【０１４８】
このクロック制御回路ＣＮＲａ−ＣＮＲｃの出力する制御信号は、それぞれクロックドライバ３７ａ−３７ｃを介して、多ビット転送回路４０ａ−４０ｃへ伝達される。すなわちクロックドライバ３７ａの出力信号は、フリップフロップＦＦＢａ０−ＦＦＢａｑのクロック入力Ｔへ共通に与えられる。クロックドライバ３７ｂの出力信号は、フリップフロップＦＦＢｂ０−ＦＦＢｂｑのクロック入力ノードＴへ共通に与えられる。クロックドライバ３７ｃの出力信号は、フリップフロップＦＦＢｃ０−ＦＦＢｃｑのクロック入力ノードＴへ共通に与えられる。
【０１４９】
図１４は、図１３に示すフリップフロップＦＦＢａ０−ＦＦＢａｑ〜ＦＦＢｃ０−ＦＦＢｃｑの構成を示す図である。この図１４においては、これらのフリップフロップが同一構成を有するため、フリップフロップＦＦＢを代表的に示す。
【０１５０】
図１４においてフリップフロップＦＦＢは、クロック入力ノードＴに与えられる信号を受けるインバータＩＶ３０と、クロック入力ノードＴの信号がＨレベルのとき導通し、入力ノードＤの信号を通過させるトランスファーゲートＴＸ３０と、トランスファーゲートＴＸ３０を介して伝達される信号を受けるインバータＩＶ３１と、インバータＩＶ３１の出力信号を受けるインバータＩＶ３２と、インバータＩＶ３０の出力信号がＨレベルのとき活性化され、活性化時インバータＩＶ３１の出力信号を反転してインバータＩＶ３０の入力へ伝達するトライステートインバータバッファＩＶ３３を含む。このトランスファーゲートＴＸ３０、およびインバータＩＶ３１−ＩＶ３３により、１段のラッチ回路が構成される。
【０１５１】
フリップフロップＦＦＢは、さらに、インバータＩＶ３０の出力信号がＨレベルのとき導通し、導通時インバータＩＶ３２の出力信号を伝達するトランスファーゲートＴＸ３２と、トランスファーゲートＴＸ３２を介して伝達される信号を受けるインバータＩＶ３４と、インバータＩＶ３４の出力信号を反転して出力ノードＱに伝達するインバータＩＶ３５と、クロック入力ノードＴに与えられる信号がＨレベルのとき活性化され、活性化時インバータＩＶ３４の出力信号を反転してインバータＩＶ３４の入力に伝達するトライステートインバータバッファＩＶ３６を含む。これらのトランスファーゲートＴＸ３２、およびインバータＩＶ３４およびＩＶ３６により、次段のラッチ回路が構成される。
【０１５２】
この図１４に示すフリップフロップＦＦＢにおいては、図１５に示すように、クロック入力ノードＴに与えられる信号がＨレベルとなると、トランスファーゲートＴＸ３０が導通し、入力ノードＤに与えられたデータを取込み、内部データＤＮが、この取込んだ信号に応じて変化する。このときには、トランスファーゲートＴＸ３２は、非導通状態であり、出力ノードＱのデータは変化しない。
【０１５３】
クロック入力ノードＴに与えられる信号がＬレベルに立下がると、トランスファーゲートＴＸが非導通状態となり、このフリップフロップＦＦＢがラッチ状態となる。一方、トランスファーゲートＴＸ３２が導通状態となり、先に取込んだデータを、出力ノードＱに伝達する。したがって、このフリップフロップＦＦＢにおいては、クロック入力ノードＴに与えられる信号がＨレベル期間のときには、入力ノードＤに与えられる信号を取込み、一方、このクロック入力ノードＴに与えられる信号がＬレベルとなると、ラッチ状態となりかつ取込んだデータを出力する。
【０１５４】
したがって、クロック制御回路ＣＮＲａ−ＣＮＲｃとして、図１３に示すように、ＯＲ回路４１を用いることにより、次段のクロック制御回路の出力制御信号がＬレベルとなり、次段の多ビット転送回路のフリップフロップがラッチ状態となったときに、前段の多ビット転送回路のフリップフロップをラッチ状態として新たなデータを出力する状態とすることにより、レーシングが生じるのを防止して確実にデータを転送することができる。
【０１５５】
すなわち、フリップフロップＦＦＢにおいて、クロック信号ＣＬＫの１サイクル遅れて信号が順次転送される際にレーシングが生じた場合、フリップフロップにおいて、単に半クロックサイクル遅延されて新たなデータが転送され、正確なデータ転送を実現することができない。このＯＲ回路を用いて次段フリップフロップがラッチ状態となったのを検出して、対応の多ビット転送回路のフリップフロップをラッチ出力状態とすることにより、このようなレーシングを回避することができる。
【０１５６】
この図１３に示すように、複数のフリップフロップに対し、共通に１つのクロック制御回路を配置することにより、回路レイアウト面積を低減することができ、応じて消費電力を低減することができる。
【０１５７】
以上のように、この発明の実施の形態５に従えば、多ビットデータを転送する多ビット転送回路が縦続接続され、かつ多ビット転送回路がフリップフロップで構成される場合においても、次段のフリップフロップがラッチ状態となったのを検出して、対応の転送回路のフリップフロップをラッチ／データ出力状態とすることにより、確実にレーシングを回避することができる。また、複数のフリップフロップに対し共通にクロック制御回路を配置することにより回路レイアウト面積および消費電力を低減することができる。
【０１５８】
なお、この図１３に示す構成においても、制御信号のフィードバック経路の伝搬遅延が大きくなる可能性が生じるものの、この多ビット転送回路の段数が小さく、この伝搬経路の遅延が問題とならない場合においては、この図１３に示す構成は有効である。
【０１５９】
［実施の形態６］
図１６は、この発明の実施の形態６に従う同期型データ転送処理装置の構成を概略的に示す図である。図１６において、フリップフロップＦＦｑとフリップフロップＦＦｒの間に論理回路ＬＧＣが介挿される。フリップフロップＦＦｑの前段にフリップフロップＦＦｐが配置され、フリップフロップＦＦｒの次段にフリップフロップＦＦｓが配置される。これらのフリップフロップＦＦｑ−ＦＦｓは、クロック入力ノードＴの制御信号がＬレベルとなると、信号を取込む状態に設定されかつ制御信号がＨレベルとなるとラッチ状態となる。
【０１６０】
これらのフリップフロップＦＦｑ−ＦＦｓに対応して、それぞれＡＮＤゲート３５で構成されるクロック制御回路ＣＮＴｐ-ＣＮＴｓが配置される。
【０１６１】
論理回路ＬＧＣにおけるゲート伝搬遅延は、クロックスキューよりも大きい。
この場合、論理回路ＬＧＣの前段に配置されるフリップフロップＦＦｑは、次段のフリップフロップＦＦｒの状態にかかわらず、クロック分配回路からの対応のクロック信号に同期して、データを出力することができる。論理回路ＬＧＣの出力データがフリップフロップの入力部において有効状態となったときには、クロックスキューは解消されており、フリップフロップＦＦｒは既にラッチ状態となっている。
【０１６２】
したがって、このフリップフロップＦＦｑに対して設けられるクロック制御回路ＣＮＴｑにおいて、ＡＮＤ回路３５へは、対応のクロック信号ＣＬＫと電源電圧ＶＤＤレベルに固定された信号とが与えられる。このクロック制御回路ＣＮＴｑは、クロック分配回路からの対応のクロック信号ＣＬＫに従ってフリップフロップＦＦｑの状態を制御する。一方、次段のフリップフロップＦＦｒに対して設けられたクロック制御回路ＣＮＴｒにおいては、ＡＮＤ回路３５の出力する制御信号は、対応のフリップフロップＦＦｒへ与えられるものの、この出力制御信号のフィードバック経路は、オープン状態に設定される。
【０１６３】
したがって、フリップフロップの各状態に応じて前段のフリップフロップの状態を制御する構成において、論理回路ＬＧＣが介挿されている場合、その制御信号のフィードバック経路が論理回路が存在する位置により分断されることになり、制御信号のフィードバック経路の長さが短くなり、応じて制御信号の伝搬遅延を短くすることができる。すなわち、論理回路ＬＧＣのゲート遅延がクロックスキューより大きい場合には、前段のフリップフロップＦＦｑに対して設けられるクロック制御回路ＣＮＴｑにおいて、次段のフリップフロップＦＦｒが常にラッチ状態にあると擬制して、対応のクロック信号ＣＬＫに従ってフリップフロップＦＦｑの動作を制御することにより、制御信号のフィードバック遅延を短くすることができ、高速クロックにおいても、十分な実効的なクロックサイクル時間を各フリップフロップに対して与えることができ、セットアップ時間およびホールド時間を十分に確保してデータの転送を行なうことができる。
【０１６４】
クロック制御回路ＣＮＴｑの前段に配置されるクロック制御回路ＣＮＴｐにおいては、クロック分配回路からの対応のクロック信号ＣＬＫと、クロック制御回路ＣＬＴｑの出力する制御信号とをそのＡＮＤ回路３５が受けて、対応のフリップフロップＦＦｐの動作を制御する。
【０１６５】
一方、フリップフロップＦＦｓにおいては、最終段のフリップフロップであるか、次段に、遅延時間がクロックスキューよりも長い論理回路が配置されている場合には、この次段のフリップフロップの状態を考慮する必要がなく、同様、この（最終段の）フリップフロップＦＦｓに対して配置されるクロック制御回路ＣＮＴｓにおいては、ＡＮＤゲート３５に対しクロック分配回路からの対応のクロック信号ＣＬＫと電源電圧ＶＤＤとが与えられる。したがって、（最終段の）フリップフロップＦＦｓは、クロック分配回路からの対応のクロック信号ＣＬＫに従ってデータを出力することができ、クロックスキューを考慮する必要がなく、早いタイミングで確定データを出力することができる。
【０１６６】
論理回路ＬＣの次段のフリップフロップＦＦｒに対して配置されるクロック制御回路ＣＮＴｒは、次段のクロック制御回路ＣＮＴｓの出力する制御信号とクロック分配回路からの対応のクロック信号ＣＬＫとに従ってフリップフロップＦＦｒの動作を制御する。
【０１６７】
［変更例］
図１７は、この発明の実施の形態６の変更例を概略的に示す図である。この図１７においては、フリップフロップとして、クロック入力ノードＴに与えられる制御信号がＨレベルのときに信号取込状態となり、クロック入力ノードＴに与えられる制御信号がＬレベルとなると新たなデータを出力ノードＱに出力しかつラッチ状態となるフリップフロップＦＦＢｐ−ＦＦＢｓが用いられる。
【０１６８】
これらのフリップフロップＦＦＢｐ-ＦＦＢｓに対応して、それぞれＯＲ回路４１で構成されるクロック制御回路ＣＮＲｐ-ＣＮＲｓが配置される。
【０１６９】
フリップフロップＦＦＢｑとフリップフロップＦＦＢｒの間に、論理回路ＬＧＣが配置される。この論理回路ＬＧＣは、図１６に示す構成と同様、そのゲート遅延は、クロックスキューよりも大きい。したがって、この場合、先の図１６に示す構成と同様、論理回路ＬＧＣの前段に配置されるフリップフロップＦＦＢｑは、次段のフリップフロップＦＦＢｒの状態にかかわらず、クロック分配回路から伝達される対応のクロック信号ＣＬＫに従ってフリップフロップＦＦＢｑを制御する。したがって、フリップフロップＦＦＢｑに対して配置されるクロック制御回路ＣＮＲｑにおいて、ＯＲ回路４１は、対応のクロック信号ＣＬＫと接地電圧レベルに固定された信号とを受ける。この接地電圧レベルにフィードバック制御信号が設定されることにより、次段のフリップフロップＦＦＢｒは既にラッチ状態にあることが示される。
【０１７０】
この論理回路ＬＧＣの次段に配置されるフリップフロップＦＦＢｒに対して配置される制御回路ＣＮＲｒにおいては、ＯＲ回路４１が、クロック分配回路からの対応のクロック信号ＣＬＫと次段のクロック制御回路ＣＮＲｓの出力制御信号とを受ける。
【０１７１】
このフリップフロップＦＦＢｓが最終段の場合、このフリップフロップＦＦＢｓに対して設けられるクロック制御回路ＣＮＲｓにおいて、ＯＲ回路４１が、クロック分配回路からの対応のクロック信号ＣＬＫと接地電圧に固定された信号とを受ける。したがって、最終段のフリップフロップＦＦＢｓは、クロック分配回路からの対応のクロック信号ＣＬＫに従って信号取込状態およびラッチ／出力状態となる。
【０１７２】
一方、フリップフロップＦＦＢｐに対して配置されるクロック制御回路ＣＮＲｐにおいては、フリップフロップＦＦＢｑにおけるレーシングを防止するため、ＯＲ回路４１は、クロック分配回路が対応のクロック信号ＣＬＫとクロック制御回路ＣＮＲｑの出力する制御信号とを受ける。
【０１７３】
この論理回路ＬＧＣの有するゲート遅延がクロックスキューよりも大きい場合、前段のフリップフロップＦＦＢｑを、クロック分配回路からの対応のクロック信号ＣＬＫに同期して動作させることにより、図１６に示す構成と同様、早いタイミングで論理回路ＬＧＣへ有効データを伝達することができ、論理回路ＬＧＣにおける処理時間を十分長くすることができる。また、クロック制御回路ＣＮＲｒの出力制御信号のフィードバック経路は開放状態（オープン状態）にされているため、このクロック制御回路列において、出力制御信号のフィードバック経路が、このクロック制御回路ＣＮＲｒにおいて分断され、新たなフィードバック経路が形成される。したがって、この制御信号のフィードバック経路の伝搬遅延を小さくすることができ、各フリップフロップにおける実効的なクロックサイクルが短くなるのを防止することができ、高速クロックにおいても確実に、ホールド／セットアップ時間を保持して、データを転送することができる。
【０１７４】
以上のように、この発明の実施の形態６に従えば、ゲート遅延がクロックスキューよりも大きな論理回路が存在する場合には、この論理回路の前段のフリップフロップを対応のクロック信号に同期して動作させることにより、早いタイミングで、有効データを論理回路へ与えて、論理回路の処理時間を十分に確保することができる。また、回路の次段に配置されたフリップフロップに対して設けられたクロック制御回路が生成する出力制御信号のフィードバック経路が開放状態とされるため、クロック制御回路の制御信号のフィードバック経路の伝搬経路長を短くすることができ、応じてフリップフロップがラッチ状態にある期間を十分長くとることができ、確実に、データを次段のフリップフロップに伝達することができる。すなわち、図３６に示すＡＮ回路ＡＧ０の出力がＨレベルとなる期間を十分に長くすることができ、次段のフリップフロップへ確実にデータを転送することができる。
【０１７５】
また、クロック制御回路の構成は、すべて同じであり、単に論理回路の介挿位置に応じてフィードバック制御信号の論理レベルが固定されるだけであり、その制御信号の電圧レベルの固定は、たとえばマスク配線で行なうことにより、用途に応じて、クロック制御回路の出力する制御信号のタイミング調整を容易に行なうことができる。
【０１７６】
［実施の形態７］
図１８は、この発明の実施の形態７に従う同期型データ転送処理装置の構成を概略的に示す図である。この図１８に示す同期型データ転送処理装置において、フリップフロップＦＦｑおよびＦＦｒの間に、論理回路ＬＧＣが配置される。この論理回路ＬＧＣのゲート遅延は、クロックスキューよりも大きい。したがって、このフリップフロップＦＦｑは、次段のフリップフロップＦＦｒの状態にかかわらず、有効データをクロック信号に同期してクロックスキューを考慮することなく伝達することができる。このため、フリップフロップＦＦｑに対しては、クロック分配回路からの対応のクロック信号ＣＬＫｑが制御信号として与えられる。
【０１７７】
フリップフロップＦＦｓが最終段のフリップフロップの場合、次段にはフリップフロップが設けられていないため、レーシングの問題を考慮する必要がない。したがって、クロック分配回路からの対応のクロック信号ＣＬＫｓがクロック入力ノードＴに制御信号として与えられる。なお、このフリップフロップＦＦｓの次段にゲート遅延の大きな論理回路が配置されていてもよい。
【０１７８】
フリップフロップＦＦｑの前段に配置されるフリップフロップＦＦｐに対するクロック制御回路ＣＮＴｐは、フリップフロップＦＦｑに対するクロック信号ＣＬＫｑとクロック分配回路からの対応のクロック信号ＣＬＫｐをＡＮＤ回路３５が受ける。フリップフロップＦＦｐは、したがって、フリップフロップＦＦｑがラッチ状態となった後に、有効データを出力する。
【０１７９】
論理回路ＬＧＣの次段のフリップフロップＦＦｒに対して配置されるクロック制御回路ＣＮＴｒにおいても、そのＡＮＤ回路３５は、クロック分配回路からの対応のクロック信号ＣＬＫｒと次段のフリップフロップＦＦｓに対するクロック信号ＣＬＫｓを受ける。したがって、フリップフロップＦＦｒに対するクロック制御回路ＣＮＴｒは、次段のフリップフロップＦＦｓがラッチ状態となった後に有効データを出力する。このクロック制御回路ＣＮＴｒの出力する制御信号のフィードバック経路はオープン状態とされる。
【０１８０】
この図１８に示す構成の場合、先の実施の形態６と同様、制御信号のフィードバック経路が分断されるため、フィードバック制御信号の伝搬遅延時間を短くすることができる。したがって、図１９に示すように、対応のクロック信号ＣＬＫがＨレベルに立上がってから、クロック入力ノードＴの制御信号がＨレベルに立上がるまでの制御信号のフィードバック遅延に起因する遅延時間ｔ１０を短くすることができ、対応のフリップフロップにクロック入力ノードＴの制御信号がＨレベルとなる時間を十分長くすることができ、確実に、フリップフロップから次段のフリップフロップに対するデータを転送することができる。
【０１８１】
また、この図１８に示す構成において、次段のフリップフロップの状態を考慮する必要がないフリップフロップＦＦｑおよびＦＦｓに対しては、クロック分配回路からのクロック信号（ＣＬＫｑおよびＣＬＫｓ）を与えているだけであり、クロック制御回路の構成要素数を低減することができる。
【０１８２】
［変更例］
図２０は、この発明の実施の形態７の変更例の構成を概略的に示す図である。
図２０においては、フリップフロップとして、クロック入力ノードＴに与えられる制御信号がＨレベルのときに信号取込状態となり、クロック入力ノードＴに与えられる制御信号がＬレベルとなるとラッチ状態となるフリップフロップＦＦＢｐ−ＦＦＢｓが用いられる。フリップフロップＦＦＢｑとフリップフロップＦＦＢｒの間に、論理回路ＬＧＣが配置される。
【０１８３】
この論理回路ＬＧＣは、図１８に示す構成と同様、そのゲート伝搬遅延が、クロックスキューよりも大きい。したがって、この論理回路ＬＧＣの前段に配置されるフリップフロップＦＦＢｑのクロック入力ノードＴに対しては、クロック分配回路からの対応のクロック信号ＣＬＫｑが直接与えられる。このフリップフロップＦＦＢｑの前段に配置されるフリップフロップＦＦＢｐに対して配置されるクロック制御回路ＣＮＲｐに対しては、クロック分配回路からのクロック信号ＣＬＫｐおよびＣＬＫｑが与えられる。したがって、このクロック制御回路ＣＮＲｐにおけるＮＯＲゲート４１は、次段のフリップフロップＦＦＢｑがラッチ状態となったのを条件として取込んだ信号を出力する。
【０１８４】
次段のフリップフロップの状態を考慮する必要のない例えば最終段のフリップフロップＦＦＢｓに対しては、クロック分配回路からの対応のクロック信号ＣＬＫｓが直接与えられる。論理回路ＬＧＣの次段のフリップフロップＦＦＢｒに対して設けられたクロック制御回路ＣＮＲｒは、クロック分配回路からの対応のクロック信号ＣＬＫｒと次段のフリップフロップＦＦＢｓに対するクロック信号ＣＬＫｓに従ってフリップフロップＦＦＢｒの状態を制御する。すなわち、このクロック制御回路ＣＮＲｒにおいて、ＯＲゲート４１は、クロック信号ＣＬＫｒおよびＣＬＫｓを受ける。クロック制御回路ＣＮＲｒにおいては、その出力制御信号を前段のフリップフロップへフィードバックする必要はないため、そのフィードバック経路はオープン状態とされる。
【０１８５】
したがって、この図２０に示す構成においても、制御信号のフィードバック経路が論理回路ＬＧＣの介挿位置で分断される。したがって、クロック制御回路においてフィードバック経路を介して伝達される制御信号の遅延時間が短くなり（フィードバック経路の長さは短くなるため）、先の図１８に示す構成と同様、フリップフロップそれぞれにおいて、制御信号がＬレベルとなる期間を十分に長くすることができ、対応のフリップフロップにおいてラッチ状態となる期間を十分に長くすることができ、次段のフリップフロップに対し正確に、取込んだデータを転送することができる。
【０１８６】
なお、この図１８および図２０において、フリップフロップＦＦｓおよびＦＦＢｓを、最終段のフリップフロップとして説明している。しかしながら、このフリップフロップＦＦｓおよびＦＦＢｓは、次段にクロックスキューよりもゲート遅延の大きな論理回路が配置されていてもよい。
【０１８７】
以上のように、この発明の実施の形態７に従えば、ゲート遅延がクロックスキューよりも大きな論理回路が配置されているかまたは、最終段のフリップフロップであり、クロックスキューを考慮する必要がない場合には、フリップフロップに対しクロック分配回路からのクロック信号を直接与えており、クロック制御回路の構成要素数を低減でき、レイアウト面積を低減でき、また消費電力を低減することができる。また、フリップフロップ構成においても、出力制御信号のフィードバック経路が分割されるため、出力制御信号のフィードバック遅延時間を短くすることができ、確実に、データを転送することができ、またフリップフロップの誤動作を防止することができる。また、論理回路前段のフリップフロップおよび最終段のフリップフロップに対しては、クロック分配回路からのクロック信号を直接与えており、クロック制御回路の構成要素数を低減でき、レイアウト面積および消費電力を低減することができる。
【０１８８】
［実施の形態８］
図２１はこの発明の実施の形態８に従う同期型データ転送出力装置の構成を概略的に示す図である。図２１においては、２つの機能ブロックＢＫＡおよびＢＫＢが配置される。機能ブロックＢＫＡにおいては、マスタクロック信号ＭＣＬＫＡに従って内部クロック信号を生成するクロック分配回路１０ａが配置される。また、機能ブロックＢＫＢにおいても、マスタクロック信号ＭＣＬＫＢに従って内部クロック信号を生成するクロック分配回路１０ｂが配置される。
【０１８９】
この機能ブロックＢＫＡにおいては、このデータ出力段において、フリップフロップＦＦ１０およびＦＦ１１が縦続接続される。これらのフリップフロップＦＦ１０およびＦＦ１１に対して、クロック制御回路ＣＮＴ１０およびＣＮＴ１１が配置される。これらのクロック制御回路ＣＮＴ１０およびＣＮＴ１１は、それぞれ対応のクロック分配回路１０ａからの内部クロック信号ＣＬＫ１０およびＣＬＫ１１を受けかつ次段のクロック制御回路の出力する制御信号を受ける。
【０１９０】
機能ブロックＢＫＢにおいても、その入力段において２段のフリップフロップＦＦ２０およびＦＦ２１が縦続接続される。これらのフリップフロップＦＦ２０およびＦＦ２１に対し、クロック制御回路ＣＮＴ２０およびＣＮＴ２１が配置される。クロック制御回路ＣＮＴ２０は、対応のクロック分配回路１０ｂからの対応のクロック信号ＣＬＫ２０と、次段のクロック制御回路ＣＮＴ２１の出力する制御信号とを受ける。クロック制御回路ＣＮＴ２１は、クロック分配回路１０ｂからのクロック信号ＣＬＫ２１と、図示しない次段のクロック制御回路の出力する制御信号とを受ける。
【０１９１】
フリップフロップＦＦ１０、ＦＦ１１、ＦＦ２０およびＦＦ２１は、クロック入力ノードＴに与えられる制御信号がＨレベルとなるとラッチ状態となるため、これらのクロック制御回路ＣＮＴ１０、ＣＮＴ１１，ＣＮＴ２０およびＣＮＴ２１は、それぞれ、ＡＮＤ回路３５で構成される。
【０１９２】
たとえば、セルベースの半導体集積回路装置の場合、内部構成がライブラリ化されたマクロセルが利用される。このようなマクロセルにおいてクロック分配回路が内蔵されている場合、別々の経路により各マクロセル内においてクロック分配回路により内部クロック信号が生成される。したがって図２１に示すように、機能ブロックＢＫＡおよびＢＫＢにおいて、それぞれクロック分配回路１０ａおよび１０ｂにより内部クロック信号が生成される場合、これらのクロック分配回路１０ａが生成する内部クロック信号間のスキューは小さく、またクロック分配回路１０ｂが生成する内部クロック信号間のスキューは小さくすることができる。しかしながら、これらのクロック分配回路１０ａおよび１０ｂは、それぞれ別々の経路で互いに独立に、内部クロック信号を生成しており、クロック分配回路１０ａおよび１０ｂの間に、クロック信号伝搬遅延を補償するための配置の対称性は存在しない。したがって、クロック分配回路１０ａおよび１０ｂが生成する内部クロック信号間のスキューは大きくなる。
【０１９３】
このような機能ブロックＢＫＡおよびＢＫＢにおいて別々の経路で内部クロック信号が生成される場合、この図２１に示すように、機能ブロックの境界領域に配置されるフリップフロップＦＦ１１およびＦＦ２０においては、この機能ブロックＢＫＢの初段のフリップフロップＦＦ２０がラッチ状態となることを検出して、この機能ブロックＢＫＡの最終段のフリップフロップＦＦ１１から新たなデータを転送する。したがって、クロック制御回路ＣＮＴ１１が、クロック分配回路１０ａの出力するクロック信号ＣＬＫ１１と、クロック制御回路ＣＮＴ２０の出力する制御信号とを受けてフリップフロップＦＦ１１の動作を制御することにより、機能ブロック間においてクロックスキューが比較的大きい場合においても、正確にデータの転送を行なうことができる。
【０１９４】
すなわち、機能ブロックＢＫＡの最終段のクロック制御回路ＣＮＴ１１において、機能ブロックＢＫＢの初段のフリップフロップＦＦ２０が、対応のクロック制御回路ＣＮＴ２０の出力する制御信号のＨレベルに応答してラッチ状態となるのを検知して、その出力制御信号を内部クロック信号ＣＬＫ１１に従ってＨレベルとして、フリップフロップＦＦ１１から新たなデータを転送する。この構成により、機能ブロックＢＫＡの最終段のフリップフロップＦＦ１１から機能ブロックＢＫＢの初段のフリップフロップＦＦ２０へのデータ転送時間がブロック間クロックスキューよりも小さい場合においても、確実に、機能ブロック間でデータを転送することができる。
【０１９５】
［変更例］
図２２は、この発明の実施の形態８の変更例の構成を概略的に示す図である。
図２２において、２つの機能ブロックＢＫＣおよびＢＫＤが配置される。機能ブロックＢＫＣにおいて、マスタクロック信号ＭＣＬＫに従って内部クロック信号を生成するクロック分配回路５４ａが配置され、また機能ブロックＢＫＤにおいては、マスタクロック信号ＭＣＬＫに従って機能ブロックＢＫＤ内の内部クロック信号を生成するクロック分配回路５４ｄが配置される。
【０１９６】
機能ブロックＢＫＣは、出力段において、２段の縦続接続される転送保持回路５０ａおよび５０ｂが配置される。機能ブロックＢＫＤにおいては、入力部に、２段の縦続接続される転送保持回路５０ｃおよび５０ｄが配置される。これらの転送保持回路５０ａ−５０ｄの各々は、そのクロック入力ノードに与えられる制御信号に従ってラッチ状態／トランスペアレント状態を取るラッチ回路で構成されてもよく、また、そのクロック入力ノードに与えられる制御信号がＬレベルとなるとラッチ状態となるフリップフロップで構成されてもよい。また、これらの転送保持回路５０ａ−５０ｄは、相補データを転送する交差結合型ラッチ回路を含むフリップフロップで構成されてもよく、また交差結合型ゲート回路を有するラッチ回路で構成されてもよい。
【０１９７】
転送保持回路５０ａ−５０ｄそれぞれに対応して、クロック制御回路５２ａ−５２ｄが配置される。クロック制御回路５２ａおよび５２ｂは、クロック分配回路５４ａからの対応のクロック信号ＣＬＫを受ける。また、クロック制御回路５２ｃおよび５２ｄは、対応のクロック分配回路５４ｂからの対応の内部クロック信号ＣＬＫを受ける。
【０１９８】
クロック分配回路５４ａおよび５４ｂは、それぞれ、クロックツリー方式、クロックメッシュ方式、またはフィッシュボーン方式の回路構成を有する。したがって、これらのクロック分配回路５４ａおよび５４ｂがそれぞれ生成する内部クロック信号はスキューが比較的小さい。しかしながら、クロック分配回路５４ａおよび５４ｂは、別々の経路を介して互いに独立に内部クロック信号を生成しており、これらのクロック分配回路５４ａおよび５４ｂが生成する内部クロック信号間においては、比較的スキューが大きい。
【０１９９】
クロック制御回路５２ａ−５２ｄは、それぞれ、次段のクロック制御回路の出力する制御信号をフィードバック信号としてまた受ける。
【０２００】
この図２２に示すように、同一のマスタクロック信号ＭＣＬＫに従って、機能ブロックＢＫＣおよびＢＫＤ内それぞれにおいてクロック分配回路５４ａおよび５４ｂに従って内部クロック信号が生成される場合、これらのクロック分配回路５４ａおよび５４ｂに対するマスタクロック信号ＭＣＬＫの伝搬遅延の相違およびクロック分配回路５４ａおよび５４ｂの非対称配置により、これらの機能ブロックＢＫＣおよびＢＫＤにおいて、境界部におけるクロックスキューが大きくなる。したがって、この境界部に配置された転送保持回路５０ｂにおいては、対応のクロック制御回路５２ｂが、クロック分配回路５４ａからのクロック信号ＣＬＫに加えて、さらに、機能ブロックＢＫＤの入力初段に配置された転送保持回路５０ｃの状態を検知するために、対応のクロック制御回路５２ｃの出力する制御信号を受ける。
【０２０１】
このような共通のマスタクロック信号ＭＣＬＫを用いて、機能ブロックＢＫＣおよびＢＫＤそれぞれにおいてクロック分配回路５４ａおよび５４ｂに従って内部のクロック信号が生成される構成においても、この機能ブロック境界領域において、フリップフロップの制御信号を前段のクロック制御回路へフィードバックすることにより、正確に、機能ブロック間でデータを転送することができる。
【０２０２】
なお、この図２２に示す構成において、機能ブロックＢＫＣおよびＢＫＤそれぞれにおいて、実施の形態１から７に示す構成が適用されてもよい。
【０２０３】
以上のように、この発明の実施の形態８に従えば、それぞれの異なる経路で内部クロック信号を生成する機能ブロックが複数設けられる構成において、機能ブロック間の境界領域において次段の機能ブロック内の入力初段の転送保持回路の状態を検知して、前段の機能ブロックの最終出力段の転送保持回路のデータを転送するように構成しており、異なる経路で内部クロック信号が生成される場合においても、正確にブロック間でデータを転送することができる。
【０２０４】
なお、機能ブロックＢＫＣ−ＢＫＤそれぞれにおいて、これらは、それぞれ、１つの処理機能を実現すればよく、単に機能ブロックＢＫＣ−ＢＫＤは、それぞれクロック分配回路に応じて分解されるブロックであればよく、内部で介挿される論理回路の機能は特に限定されず、また、これらの機能ブロックは単にクロック信号に同期してデータを転送する転送経路であってもよい。
【０２０５】
なお、このようなブロック間においてフリップフロップなどの転送保持回路の制御信号を前段のブロックの最終出力段のフリップフロップなどの転送保持回路の制御のためにフィードバックして利用することにより、正確にデータをブロック間において転送することができる。また、タイミング検証結果に基づくタイミング改訂時においても、ホールド時間はセットアップ時間が確保されるため常に満たされており、ホールド時間違反が生じず、システム拡張時においても、セットアップ条件のみを検証するだけでよく、また、レーシング回避のための遅延回路は利用されていないため、タイミング検証を容易に行なうことができる。
【０２０６】
［実施の形態９］
図２３は、この発明の実施の形態９に従う同期型データ転送処理装置の構成を概略的に示す図である。図２３においては、この同期型データ転送処理装置は、マスタクロック信号を分配するクロック分配回路６０と、このクロック分配回路６０の出力する内部クロック信号ＣＬＫに従ってＦＩＦＯ（ファーストイン・ファーストアウト）６４の各段の転送動作を制御するレーシング防止装置６２を含む。このレーシング防止装置６２は、ＦＩＦＯ６４の各段に対応して配置されるクロック制御回路を含み、次段のクロック制御回路の出力信号がラッチ状態を指定すると、対応の段から次段に対しデータを出力させる。
【０２０７】
このＦＩＦＯ６４は、複数の縦続接続される転送／保持回路で構成され、ラッチ回路またはフリップフロップをその構成要素として含む。レーシング防止装置６２が、このＦＩＦＯ６４の各段のラッチ回路またはフリップフロップで構成される転送保持回路を次段の転送保持回路の状態に応じて制御することにより、確実にレーシングを防止して、正確に与えられたデータＤＩＮを順次転送して、その取込んだ順序でデータＤＯＵＴを順次出力することができる。したがってＦＩＦＯ６４が、転送保持回路で構成され、クロック信号ＣＬＫに応答して転送動作を行なう場合に、先の実施の形態１から８において説明したクロック制御回路を含むレーシング防止装置６２で、このＦＩＦＯ６４のデータ転送動作を制御することにより、正確に、レーシングを生じさせることなく高速のクロック信号に従ってデータを転送することができる。また、バッファメモリとしてこのＦＩＦＯ６４を用いても、正確にバッファ処理を行なってデータの先入れ／先出しを行なうことができる。
【０２０８】
［変更例１］
図２４は、この発明の実施の形態９の変更例１の構成を概略的に示す図である。図２４において、この同期型データ転送処理装置は、入力信号ＩＮをクロック分配回路６０からのクロック信号に同期して転送するシフトレジスタ７０を含む。このシフトレジスタ７０は、複数段の縦続接続されるレジスタ段を含み、各レジスタ段間でのデータ転送時のレーシングを防止するためのレーシング防止装置６２が設けられる。このレーシング防止装置６２においては、先の実施の形態１から８において示したクロック制御回路が、このシフトレジスタ７０の内部構成に応じて各レジスタ段に対応して配置される。
【０２０９】
シフトレジスタ７０は、クロック信号ＣＬＫに同期して順次データ／信号を転送する。したがって高速データ転送時において、レーシングが生じた場合、正確なシフト動作を行なうことができず、シフトレジスタ７０の出力データＯＵＴを受ける回路において誤動作が生じる。実施の形態１から８において説明したクロック制御回路を含むレーシング防止装置６２を配置することにより、このレジスタ間のレーシングを防止して正確にデータの転送を行なうことができる。
【０２１０】
［変更例２］
図２５は、この発明の実施の形態９の変更例２の構成を概略的に示す図である。図２５においては、クロック分配回路６０の出力するクロック信号ＣＬＫに同期してカウント動作を行なうカウンタ７２が配置される。カウンタ７２は、カウント値Ｑ０−ＱＮそれぞれに対応してラッチ回路またはフリップフロップを含み、前段の出力データを取込んでカウント値を生成するクロック同期型カウンタであり、リセット信号ＲＳＴに従ってその初期値が設定される。
【０２１１】
このクロック同期型のカウンタ７２の構成において、クロック信号ＣＬＫに同期して各カウント段が転送動作を行なうため、同様、レーシング防止装置６２を用いることにより、正確にカウント動作を行なうことができる。
【０２１２】
なお、カウンタ７２の構成としては、クロック信号に同期して各カウント段が前段のカウント段の出力カウント値を取込む構成の同期型カウント回路であればよい。
【０２１３】
［変更例３］
図２６は、この発明の実施の形態９の変更例３の構成を概略的に示す図である。図２６においては、クロック信号ＣＬＫを分周して分周クロック信号ＦＯＵＴを生成する分周回路７４が設けられる。この分周回路７４は、カウンタと同様の構成を有し、クロック分配回路６０のクロック信号に同期して信号を転送する複数段の転送保持回路（ラッチ回路またはフリップフロップ）を含み、レーシング防止装置６２の制御のもとに、内部クロック信号ＣＬＫに同期して信号を転送して、内部クロック信号ＣＬＫを分周した分周信号ＦＯＵＴを生成する。
【０２１４】
このような分周回路７４においても、複数段の転送保持回路が配置されており、順次クロック信号ＣＬＫに従って転送動作を行って内部クロック信号ＣＬＫを分周する。この分周回路７４においては、出力信号ＦＯＵＴを入力段にフィードバックするまたは中間段にフィードバック信号を受ける論理回路を配置するとともに、クロック信号ＣＬＫに同期して転送／ラッチ動作を行なうことにより、クロック信号ＣＬＫを所定の分周比で分周することができる。したがってこのクロック信号ＣＬＫが高速のクロック信号の場合において、クロックサイクルが短い場合においても、このレーシング防止装置６２を利用することにより確実にレーシングを防止して正確な分周信号を生成することができる。
【０２１５】
［変更例４］
図２７（Ａ）は、この発明の実施の形態９の変更例４の構成を概略的に示す図である。図２７（Ａ）においては、内部回路８６の入出力端子に対応して、レジスタ回路ＲＧが配置される。このレジスタ回路ＲＧは、シリアルにデータを転送するスキャンパス８８を構成する。このレジスタＲＧは、たとえばＪＴＡＧ（ジョイントテストアクショングループ）において標準化されているバウンダリスキャンレジスタである。レジスタ回路ＲＧは、内部回路８６と入力端子および出力端子の間に配置され、テストモード時、内部回路８６を入出力端子から分離し、ＴＡＰコントローラ８０から与えられるテストデータＳＩをシリアルに転送し、内部回路８６の内部ノードを所定の状態に設定する。またこの内部回路８６の動作状態を取込み、シリアルに転送し、ＴＡＰコントローラ８０を介してテストデータＴＤＯとして出力する。
【０２１６】
通常動作モード時においては、このスキャンパス８８におけるレジスタ回路ＲＧは、対応の入力端子または出力端子と内部回路８６の対応のノードとを結合する。
【０２１７】
このようなスキャンパス８８を配置することにより、ボード実装時においても、回路内部状態を外部から検出することができ、正確なテストを実行することができる。
【０２１８】
このスキャンパス８８において、通常動作モード時においては、レジスタ回路ＲＧは、外部端子と内部回路８６とを接続し、内部回路８６を外部信号に従って動作させることができる。テストモード時においては、このスキャンパス８８により内部回路８６と外部の信号入出力端子とが切離される。この内部回路８６を、レジスタ回路ＲＧに設定された信号／データに従って動作させ、その動作結果をこのスキャンパス８８のレジスタ回路ＲＧを介して外部へ転送することにより、内部回路８６の動作状況を外部で検出することができる。
【０２１９】
このスキャンパス８８を介してのデータ転送時においては、ＴＡＰコントローラ８０によりその転送動作が制御される。このＴＡＰコントローラ８０は、外部からのテストデータＴＤＩとテストクロック信号ＴＣＬＫとテスト命令ＴＭＳとを受け、このテスト命令ＴＭＳに従って指定された動作を実現するための内部制御信号を生成する。ＴＡＰコントローラ８０が制御する代表的な動作状態としては、スキャンパス８８のレジスタ回路ＲＧにおいて、与えられたデータを取込むキャプチャステート、取込んだデータを転送するシフトステート、およびこのレジスタ回路ＲＧの記憶内容を更新する更新ステートがある。
【０２２０】
このシフト動作時におけるシフトクロックＳＣＬＫが、ＴＡＰコントローラ８０からクロック分配回路８２を介してレーシング防止装置８４へ与えられる。レーシング防止装置８４は、このスキャンパス８８のレジスタ回路ＲＧそれぞれに対応して配置されるクロック制御回路を含み、スキャンパス８８におけるレジスタ回路ＲＧのデータ／信号転送時における正確な転送動作を保証し、これにより正確なテストを保証する。
【０２２１】
図２７（Ｂ）は、レジスタ回路ＲＧの構成の一例を概略的に示す図である。図２７（Ｂ）において、レジスタ回路ＲＧは、入力ノードに与えられる通常信号ＩＮと前段のレジスタ回路からの信号ＳＣｉｎの一方をシフト命令ＳＦＤＲに従って選択するセレクタ９０と、シフトクロック信号ＳＣに従ってセレクタ９０から与えられた信号／データを格納するフリップフロップ９１と、更新命令ＵＰＤＲに従ってフリップフロップ９１の出力信号／データを取込むフリップフロップ９２と、動作モード指示信号ＴＭに従って入力ノードの通常信号ＩＮとフリップフロップ９２のラッチ信号／データの一方を選択するセレクタ９３を含む。
【０２２２】
このレジスタ回路ＲＧが入力端子に対して設けられる場合には、入力信号ＩＮは外部から入力端子に与えられる信号であり、このセレクタ９３の出力信号／データＯＵＴが、内部回路８６へ与えられる。一方、このレジスタ回路ＲＧが、出力端子に対して設けられている場合には、入力信号ＩＮは、内部回路８６の出力信号／データであり、セレクタ９３の出力信号ＯＵＴが出力端子に与えられる。
【０２２３】
この図２７（Ｂ）に示すレジスタ回路ＲＧの構成において、フリップフロップ９１を介して、順次信号／データが転送される。このフリップフロップ９１へ与えられるシフトクロック信号ＳＣは、クロック分配回路から与えられるクロック信号ＣＬＫと次段のレジスタ回路で与えられるシフトクロック信号ＳＣとに従って対応のクロック制御回路から生成される。このフリップフロップ９１におけるシフトクロック信号ＳＣを、このレーシング防止装置８０に含まれるクロック制御回路においてそのデータ出力タイミングを調整することにより、スキャンパス８８を介して正確に信号／データを転送することができる。
【０２２４】
フリップフロップ９２は、更新クロックＵＰＤＲに従って前段のフリップフロップ９１の出力データをラッチするだけであり、この場合にはフリップフロップ９１の状態は確定しており、このフリップフロップ９２の更新クロックＵＰＤＲに対してクロック制御回路を特に設ける必要はない。
【０２２５】
このスキャンパス８８においては、ＪＴＡＧ準拠のバンドレススキャンレジスタが用いられている。しかしながら、このスキャンパス８８の構成においては、内部回路８６の内部ノードの信号／データを転送するスキャンパスが構成されてもよく、特にＪＴＡＧ準拠のバンドレススキャンレジスタに限定されない。このスキャンパス８８において、内部ノードを外部から観測可能状態とするように内部ノードへ外部からアクセスするパスが構成されればよい。シフトクロック信号に従って順次信号／データを転送するスキャンパスが構成されていれば、このレーシング防止装置８４を利用することにより、確実に、高速で信号／データを転送することができる。特に、スキャンパスが長い場合に、このレーシング防止装置８４を利用することにより、正確に、信号／データを転送することができる。
【０２２６】
また、図２７（Ｂ）に示すレジスタ回路ＲＧにおいては、フリップフロップ９１および９２が利用されている。しかしながら、このフリップフロップ９１および９２としては、トランスペアレント状態／ラッチ状態を取る通常のラッチ回路が用いられてもよい。
【０２２７】
また、この実施の形態９に示す各具体的な構成においてクロック分配回路が配置されていなくてもよい。１つのクロックドライバからの内部クロック信号に従って、各データ転送／保持回路が動作する構成が利用されてもよい。
【０２２８】
以上のように、この発明の実施の形態９に従えば、クロック信号に従ってカウント動作、分周動作および転送動作を行なう回路装置に対して次段回路のラッチ状態を条件としてデータ／信号の次段回路への転送を行なうように構成しており、これらの回路装置において、レーシングを確実に防止することができ、正確な動作を実現することができる。またスキャンパスにおいても、テストデータを正確に転送することができ、正確にテストを行なうことができる。
【０２２９】
また、これらの回路装置は、ラッチ回路またはフリップフロップの間に論理回路を設けて所望の処理を行なえる装置である。機能ブロック間においてバウンダリスキャンレジスタが各機能ブロックを取囲むように配置される構成の場合、スキャンレジスタ回路を介して機能ブロック間をデータ／信号を正確に転送することができる。
【０２３０】
なお、図２７（Ａ）に示す構成においては、クロック分配回路８２においては、ＴＡＰコントラーラ８０が、テストクロック信号ＴＣＬＫに従ってシフトクロック信号ＳＣＬＫを生成してクロック分配回路８２に与え、このクロック分配回路８２により内部クロック信号ＣＬＫが生成されてレーシング防止装置８４に与えられる。このレーシング防止装置８４からレジスタ回路ＲＧに対し、この内部クロック信号と各前段のレジスタ回路の状態とに応じてシフトクロックＳＣが与えられる。このクロック分配回路としては、クロックメッシュ方式、フィッシュボーン方式、クロックツリー方式のいずれが用いられてもよく、また単にクロック伝達線がループ状に配置されるだけの構成であってもよい。
【０２３１】
【発明の効果】
以上のように、この発明に従えば、次段の転送／保持回路のラッチ状態を検出し、その検出結果に従って次段の回路へのデータ／信号の転送を許可しており、レーシングを確実に防止してデータ／信号を転送することができる。また、レーシング回避のための遅延回路を配置する必要がなく、レーシングに起因するホールド違反が生じることがなくなり（セットアップ時間が保証されていればホールド時間は確保されるため）、タイミング検証が容易となる。また、遅延回路を用いていないため、タイミング検証結果に基づくクロック信号のタイミングの改訂も容易となる。
【０２３２】
すなわち、トランスペアレント状態とラッチ状態とを有するラッチ回路を縦続接続し、これらのラッチ回路が相補的にトランスペアレント状態およびラッチ状態となるラッチ回路が交互に配置されている構成において、次段のラッチ回路のクロック入力ノードと対応のクロック信号とに従って対応のラッチ回路の状態を制御するクロック制御回路をラッチ回路に対応して配置しており、次段ラッチ回路の状態が確定した後に、前段のラッチ回路の状態を更新することができ、レーシングの発生を防止することができる。また、連続するラッチ回路においては、相補的にトランスペアレント状態およびラッチ状態となっており、次段回路の制御信号は前段のラッチ回路の動作に影響を及ぼすだけであり、この制御信号のフィードバック経路の長さは十分短く、ラッチ回路のトランスペアレント状態およびラッチ状態の時間を十分に長くすることができ、安定に各ラッチ回路を動作させることができる。
【０２３３】
また、対応のクロック信号が活性状態でありトランスペアレント状態を指定しかつ次段のラッチ回路の制御信号がラッチ状態を指定するときに、この制御信号をトランスペアレントを指定する状態に設定することにより、次段のラッチ回路がラッチ状態となった後に、前段のラッチ回路をトランスペアレント状態として信号／データを転送することができ、確実にレーシングを防止することができる。
【０２３４】
また、対応のクロック信号が非活性状態であり、対応のラッチ回路のラッチ状態を指定するときには、対応のラッチ回路をラッチ状態に設定しており、ラッチ回路のラッチ期間を十分に長くすることができ、安定に信号／データをラッチすることができる。
【０２３５】
また、データ転送経路が複数列設けられている場合、これらの複数列のデータ転送経路の対応のラッチに対し共通にクロック制御回路を配置することにより、クロック制御回路の数を低減することができ、レイアウト面積および消費電力を低減することができる。
【０２３６】
また、ラッチ回路の選択された位置に論理回路を介挿することにより、論理回路に正確なデータを転送して論理処理を行なわせることができ、高速で正確に論理処理を行なうことが可能となる。
【０２３７】
また、この論理回路前段のラッチ回路においては、次段のラッチ回路が、ラッチ状態に設定されていると擬制して対応のラッチ回路に対する制御信号を生成することにより、論理回路に対するデータ／信号を早いタイミングで転送することができ、論理回路の処理時間を十分に確保することができる。
【０２３８】
論理回路の前段に配置されるラッチ回路に対しては、対応のクロック信号に従って状態を制御することにより、この論理回路前段のラッチ回路を制御する部分のレイアウト面積を低減することができ、消費電流を低減することができる。また、対応のクロック信号に従って論理回路前段のラッチ回路の動作を制御しており、ラッチ回路の状態がこの論理回路前段のラッチ回路に影響を及ぼさないため、対応のクロック信号が規定するサイクルで、論理回路にデータ／信号を伝達することができ、論理回路において十分な処理時間を与えることができる。
【０２３９】
また、論理回路前段のラッチ回路に対しては、対応のクロック信号と次段のラッチ回路がラッチ状態であることを示す状態が固定された信号とに従ってこの論理回路前段のラッチ回路の動作を制御しており、論理回路に対しては、対応のクロック信号に従って信号／データを転送することができ、十分な処理時間を論理回路に与えることができる。また、クロック制御回路は、対応のクロック信号と前段のラッチ回路に対する制御信号とを等価的に受けており、他のラッチ回路に対するクロック制御回路と同一構成を取ることができ、論理回路の介挿位置に関わらずクロック制御回路の構成をすべて同じとすることができ、レイアウトが簡略化され、またロジック回路位置の介挿位置の変更に関しても容易に対応することができる。
【０２４０】
また、最終段のラッチ回路に対しては、同様、対応のクロック信号とラッチ指示状態に固定された信号とを受けることにより、この最終段のラッチ信号に従って最終出力データを転送することができ、早いタイミングで出力データ信号を確定状態に設定することができる。また、この最終段のラッチ回路に対するクロック制御回路は、他のラッチ回路のクロック制御回路と同様の構成であり、このデータ転送経路の長さが変更される場合においても、ブロック制御回路の制御信号の論理レベルを変更するだけで容易に対応することができ、システム構成の変更にも容易に対応することができる。
【０２４１】
また、最終段のラッチ回路に関しては、対応のクロック信号に従ってその最終段ラッチ回路の状態を制御することにより、最終段のラッチ回路に対するクロック制御回路のレイアウト面積を削減することができ、消費電力を低減することができる。
【０２４２】
また、異なる分配経路を介して伝達されるクロック信号を受けるブロックの境界部に配置される境界ラッチにおいては、次段のラッチ回路の状態に従って前段のラッチ回路の状態を制御することにより、このブロック間のクロックスキューが大きい場合においても、確実にレーシングを防止して信号／データを転送することができる。また、単に次段ラッチ回路の状態のみで、前段のラッチ回路の動作を制御しており、遅延回路などをタイミング調整のために用いる必要がなく、タイミングの検証結果に基づくタイミング調整を容易に行なうことができる。
【０２４３】
また、このラッチ回路を用いて信号／データを転送するスキャンパスを構成することにより、正確に信号／データを転送することのできるスキャンパスを実現することができ、内部回路を正確に所望の状態に設定することができる。
【０２４４】
また、フリップフロップ列において所望の位置に、論理回路を配置し、この論理回路前段のフリップフロップの制御は、次段のフリップフロップがラッチ状態にあると擬制して制御を行なうことにより、論理回路に対しては、クロック信号に従って信号／データを転送することができ、十分な処理時間を確保することができ、正確な論理処理を行なうことができる。また、制御信号のフィードバック経路が、この論理回路部分において分断されるため、制御信号のフィードバック遅延を短くすることができ、論理回路に対する処理時間を十分に長くすることができる。
【０２４５】
また、この論理回路前段に対して配置されるフリップフロップは、その対応のクロック信号に従って動作状態を制御することにより、論理回路前段のフリップフロップに対するクロック制御回路のレイアウト面積を低減することができる。
【０２４６】
また、この論理回路前段のフリップフロップに対しては、対応のクロック信号と次段のフリップフロップがラッチ状態に固定されたことを示す信号とに従って、この論理回路前段の動作を制御することにより、フリップフロップそれぞれにおいては、対応のクロック信号と次段のフリップフロップに対する制御信号とに従って対応のフリップフロップの動作制御を行なう構成が実現され、フリップフロップそれぞれに対するクロック制御回路の構成をすべて同一とすることができる。したがって論理回路の介挿位置に応じ、クロック制御回路のフィードバックされる制御信号の論理値を変更するだけで、容易に対応のフリップフロップに対する制御を調整することができる。これにより、論理回路の介挿位置に関わらず、正確な信号／データの転送を行なうことができる。
【０２４７】
また、論理回路介挿位置において、次段のフリップフロップはラッチ状態にあると擬制して論理回路前段のフリップフロップの動作を制御することにより、この各クロック制御回路の制御信号のフィードバック経路を分割することができ、フィードバック制御信号の遅延時間を低減することができ、フリップフロップから論理回路へのデータ／信号の転送タイミングを早くすることができ、十分な処理時間を論理回路へ与えることができる。
【０２４８】
また、異なる分配経路を介してクロックを受けるフリップフロップに対しては、次段のフリップフロップに対する制御信号をフィードバックして前段のフリップフロップの動作を制御することにより、このブロック間でのクロックスキューが大きい場合においても、正確にデータ／信号の転送を行なうことができる。
【０２４９】
また、このフリップフロップによりスキャンパスを構成することにより、正確に、データ／信号をクロック信号に同期して転送することができ、内部回路を所望の状態に設定することができ、また内部回路の状態を外部で確実にかつ正確に検証することができる。
【０２５０】
また、複数の信号転送経路が並列に配置されているとき、複数の信号転送経路の対応して配置されるフリップフロップに対し共通にクロック制御回路を配置することにより、クロック制御回路の数を低減することができ、レイアウト面積および消費電力を低減することができる。
【図面の簡単な説明】
【図１】  （Ａ）は、この発明の実施の形態１に従う同期型データ転送処理装置の構成を示す図であり、（Ｂ）は、（Ａ）に示す回路装置の動作を示すタイミング図である。
【図２】  図１（Ａ）に示すクロック制御回路の制御信号のタイミングを示す図である。
【図３】  図１に示す同期型データ転送処理装置のセットアップ／ホールド時間を示す図である。
【図４】  この発明の実施の形態２に従う同期型データ転送処理装置の構成を示す図である。
【図５】  この発明の実施の形態３に従う同期型データ転送処理装置の構成を概略的に示す図である。
【図６】  図５に示す回路装置の動作を示すタイミング図である。
【図７】  この発明の実施の形態３の変更例を概略的に示す図である。
【図８】  この発明の実施の形態３のクロック制御回路の具体的構成を示す図である。
【図９】  この発明の実施の形態３のクロック制御回路の他の構成を示す図である。
【図１０】  この発明の実施の形態４の構成を示す図である。
【図１１】  この発明の実施の形態４の変更例の構成を示す図である。
【図１２】  この発明の実施の形態５に従う同期型データ転送処理装置の構成を概略的に示す図である。
【図１３】  この発明の実施の形態５の変更例を示す図である。
【図１４】  図１３に示すフリップフロップの構成の一例を示す図である。
【図１５】  図１４に示すフリップフロップの動作を示すタイミング図である。
【図１６】  この発明の実施の形態６に従う同期型データ転送処理装置の構成を概略的に示す図である。
【図１７】  この発明の実施の形態６の変更例を示す図である。
【図１８】  この発明の実施の形態７に従う同期型データ転送処理装置の構成を概略的に示す図である。
【図１９】  図１８に示すクロック制御回路の動作を示すタイミング図である。
【図２０】  この発明の実施の形態７の変更例を示す図である。
【図２１】  この発明の実施の形態８に従う同期型データ転送処理装置の構成を概略的に示す図である。
【図２２】  この発明の実施の形態８の変更例を示す図である。
【図２３】  この発明の実施の形態９に従う同期型データ転送処理装置の構成を概略的に示す図である。
【図２４】  この発明の実施の形態９の変更例１の構成を概略的に示す図である。
【図２５】  この発明の実施の形態９の変更例２の構成を概略的に示す図である。
【図２６】  この発明の実施の形態９の変更例３の構成を概略的に示す図である。
【図２７】  （Ａ）は、この発明の実施の形態９の変更例４の構成を概略的に示す図であり、（Ｂ）は、図２７（Ａ）に示すレジスタ回路の構成の１例を示す図である。
【図２８】  従来の同期型データ転送処理装置の構成を示す図である。
【図２９】  図２８に示す回路装置の動作を示すタイミング図である。
【図３０】  図２８に示す回路装置の動作をさらに詳細に示すタイミング図である。
【図３１】  図２８に示す回路装置のセットアップ時間を示す図である。
【図３２】  従来の同期型データ転送処理装置の他の構成を概略的に示す図である。
【図３３】  図３２に示すフリップフロップの構成の一例を示す図である。
【図３４】  図３２に示す回路装置の動作を示すタイミング図である。
【図３５】  図３２に示す回路装置のデータ転送処理動作を示すタイミング図である。
【図３６】  従来の同期型データ転送処理装置のさらに他の構成を示す図である。
【図３７】  図３６に示す回路装置の動作を示すタイミング図である。
【符号の説明】
ＬＴａ−ＬＴｃ  ラッチ回路、ＣＴＬａ−ＣＴＬｃ  クロック制御回路、１０クロック分配回路、ＬＴａ０−ＬＴａｋ，ＬＴｂ０−ＬＴｂｋ，ＬＴｃ０−ＬＴｃｋ  ラッチ回路、１５ａ−１５ｃ  多ビット転送回路、１６ａ−１６ｃ，１７ａ−１７ｃ  クロックドライバ、ＬＴｉ，ＬＴｊ  ラッチ回路、ＬＧＫ  論理回路、ＣＴＬｉ，ＣＴＬｊ  クロック制御回路、ＬＴＦ  最終段ラッチ回路、ＣＴＬＦ  クロック制御回路、５  ＮＡＮＤゲート、６，８，２０  インバータ、７  ＮＯＲゲート、２２  インバータ、ＦＦａ０−ＦＦａ９，ＦＦｂ０−ＦＦｂ９，ＦＦｃ０−ＦＦｃ９  フリップフロップ、ＣＮＴａ−ＣＮＴｃ  クロック制御回路、３０ａ−３０ｃ  多ビット転送回路、３７ａ−３７ｃ  クロックドライバ、３５  ＡＮＤゲート、ＦＦＢａ０−ＦＦＢａ９，ＦＦＢｂ０−ＦＦＢｂ９，ＦＦＢｃ０−ＦＦＢｃ９  フリップフロップ、３７ａ−３７ｃ  クロックドライバ、４０ａ−４０ｃ  多ビット転送回路、ＣＭＲａ−ＣＭＲｃ  クロック制御回路、４１  ＯＲ回路、ＦＦＰ−ＦＦｓ，ＦＦＢｐ−ＦＦＢｓ  フリップフロップ、ＣＮＴｐ−ＣＮＴｓ，ＣＮＲｐ−ＣＮＲｓ  クロック制御回路、ＬＧＣ  論理回路、ＢＫＡ，ＢＫＢ  機能ブロック、ＦＦ１０，ＦＦ１１，ＦＦ２０，ＦＦ２１  フリップフロップ、ＣＮＴ１０，ＣＮＴ１１，ＣＮＴ２０，ＣＮＴ２１  クロック制御回路、１０ａ，１０ｂ  クロック分解回路、ＢＫＣ，ＢＫＤ  機能ブロック、５０ａ−５０ｄ  転送保持回路、５２ａ−５２ｄ  クロック制御回路、５４ａ−５４ｄ  クロック分配回路、６２  レーシング防止装置、６４  ＦＩＦＯ、７０  シフトレジスタ、７２  カウンタ、７４  分周回路、８０  ＴＡＰコントローラ、８２  クロック分配回路、８４  レーシング防止装置、８８  スキャンパス、ＲＧ  レジスタ回路。
【図１】
0004748896.tif 000002
【図２】
0004748896.tif 000003
【図３】
0004748896.tif 000004
【図４】
0004748896.tif 000005
【図５】
0004748896.tif 000006
【図６】
0004748896.tif 000007
【図７】
0004748896.tif 000008
【図８】
0004748896.tif 000009
【図９】
0004748896.tif 000010
【図１０】
0004748896.tif 000011
【図１１】
0004748896.tif 000012
【図１２】
0004748896.tif 000013
【図１３】
0004748896.tif 000014
【図１４】
0004748896.tif 000015
【図１５】
0004748896.tif 000016
【図１６】
0004748896.tif 000017
【図１７】
0004748896.tif 000018
【図１８】
0004748896.tif 000019
【図１９】
0004748896.tif 000020
【図２０】
0004748896.tif 000021
【図２１】
0004748896.tif 000022
【図２２】
0004748896.tif 000023
【図２３】
0004748896.tif 000024
【図２４】
0004748896.tif 000025
【図２５】
0004748896.tif 000026
【図２６】
0004748896.tif 000027
【図２７】
0004748896.tif 000028
【図２８】
0004748896.tif 000029
【図２９】
0004748896.tif 000030
【図３０】
0004748896.tif 000031
【図３１】
0004748896.tif 000032
【図３２】
0004748896.tif 000033
【図３３】
0004748896.tif 000034
【図３４】
0004748896.tif 000035
【図３５】
0004748896.tif 000036
【図３６】
0004748896.tif 000037
【図３７】
0004748896.tif 000038