(57)【要約】【課題】高速動作が要求される入力データの取り込みモード時の動作速度を、ラッチ１段分の遅延を保ったまま、スキャンテストモードを実行することができるようにする。【解決手段】第１のデータ取込保持手段１１０および第２のデータ取込保持手段１２０を備えるデータラッチ手段１０と、制御信号発生手段２０とを備える。第１のデータ取込保持手段には、入力データと第２のデータ取込保持手段からの出力とが供給される。第２のデータ取込保持手段には、スキャンテスト信号が入力される。入力データの取り込みモード時には、第１のデータ取込保持手段は、制御信号発生手段からの制御信号により、入力データを取り込みで保持する。スキャンテストモード時には、制御信号発生手段からの制御信号により、第２のデータ取込保持手段はスキャンテスト信号を取り込み保持し、第１のデータ取込保持手段は、第２のデータ取込保持手段からの出力を取り込んで保持する。【選択図】図２
2011058807.tif 000002
【特許請求の範囲】
【請求項１】
第１のデータ取込保持手段および第２のデータ取込保持手段を備えるデータラッチ手段と、
制御信号発生手段と、
を備え、
前記第１のデータ取込保持手段は、
前記制御信号発生手段からの第１のゲート制御信号により、入力データを取り込む第１のゲート手段と、
前記制御信号発生手段からの第２のゲート制御信号により、前記第２のデータ取込保持装置部の出力データを取り込む第２のゲート手段と、
前記第１のゲート手段または前記第２のゲート手段で取り込んだデータを保持する第１の保持手段と、
を備え、
前記第２のデータ取込保持手段は、
前記制御信号発生手段からの第３のゲート制御信号により、テスト用データを取り込む第３のゲート手段と、
前記第３のゲート手段で取り込んだデータを保持し、保持したデータを前記第１のゲート手段に供給するようにする第２の保持手段と、
を備え、
前記制御信号発生手段は、
クロック信号から、前記入力データの取込保持モード時と、前記テスト用データを取り込む保持するスキャンテストモード時とに応じた、前記第１のゲート制御信号、前記第２のゲート制御信号および前記第３のゲート制御信号を生成する手段
を備え、
前記データラッチ手段における前記入力データの取込保持モード時には、前記第１のゲート制御信号により前記第１のゲート手段を制御して、前記入力データの取り込み、取り込んだ前記入力データを前記第１の保持手段に保持すると共に、前記第２のゲート手段および前記第３のゲート手段は、前記第２のゲート制御信号および前記第３のゲート制御信号により閉の状態にするようにし、
前記データラッチ手段における前記スキャンテストモード時には、前記第１のゲート制御信号により前記第１のゲート手段を閉の状態にすると共に、前記第３のゲート制御信号により前記第３のゲート手段を制御して前記テスト用データを取り込んで前記第２の保持手段に保持し、前記第２のゲート制御信号により前記第２のゲート手段を通じて前記第２の保持手段に保持された前記テスト用データを取り込んで、前記第１の保持手段に保持するようにする
データ取込保持装置。
【請求項２】
請求項１に記載のデータ取込保持装置において、
前記制御信号発生手段は、
前記第１のデータ取込保持手段の前記第１のゲート手段および前記第１の保持手段の構成と同じあるいは同等の構成の第３のデータ取込保持手段を備え、前記クロック信号から、前記第３のデータ取込保持手段における入力データの取込時間分のパルス幅区間のパルス信号を生成し、生成したパルス信号を前記第１のゲート制御信号として、前記第１のデータ取込保持手段に供給するパルス発生手段を備える
データ取込保持装置。
【請求項３】
請求項２に記載のデータ取込保持装置において、
前記制御信号発生手段の前記パルス発生手段は、
前記クロック信号の立ち上がりまたは立ち下がりをパルス幅区間の前縁とすると共に、前記第３のデータ取込保持手段で取込保持された出力に基づいて前記パルス幅区間の後縁を決定して前記パルス信号を生成する生成手段と、
前記生成手段で生成した前記パルス信号により、前記第３のデータ取込保持手段に所定のプリセット値を取込保持し、当該取込保持した出力を前記生成手段に供給する後縁タイミング生成手段と、
を備えるデータ取込保持装置。
【請求項４】
請求項１〜３のいずれかに記載のデータ取込保持装置において、
前記入力データのビット数分の複数個の前記データラッチ手段を備え、
前記入力データの取込保持モード時には、前記制御信号発生手段からの前記第１のゲート制御信号が、前記複数個の前記データラッチ手段のそれぞれの前記第１のデータ取込保持手段に同期して供給される
データ取込保持装置。
【請求項５】
請求項１に記載のデータ取込保持装置において、
前記制御信号発生手段は、
前記第１のデータ取込保持手段の前記第１のゲート手段および前記第１の保持手段の構成と同じあるいは同等の構成の第３のデータ取込保持手段を備え、前記クロック信号の立ち上がりから、前記第３のデータ取込保持手段における入力データの取込時間分のパルス幅区間の第１のパルス信号を生成し、前記ラッチ用パルスとして、前記第１のデータ取込保持手段に供給すると共に、
前記第１のデータ取込保持手段の前記第１のゲート手段および前記第１の保持手段の構成と同じあるいは同等の構成の第４のデータ取込保持手段を備え、前記クロック信号の立ち下がりから、前記第４のデータ取込保持手段における入力データの取込時間分のパルス幅区間の第２のパルス信号を生成し、前記ラッチ用パルスとして、前記第１のデータ取込保持手段に供給するパルス発生手段を備える
データ取込保持装置。
【請求項６】
請求項５に記載のデータ取込保持装置において、
前記パルス発生手段は、
前記クロック信号の立ち上がりをパルス幅区間の前縁とすると共に、前記第３のデータ取込保持手段で取込保持された出力に基づいて前記パルス幅区間の後縁を決定して前記第１のパルス信号を生成する第１の生成手段と、
前記第１の生成手段で生成した前記第１のパルス信号により、前記第３のデータ取込保持手段に所定のプリセット値を取込保持し、当該取込保持した出力を前記第１の生成手段に供給する第１の後縁タイミング生成手段と、
前記クロック信号の立ち下がりをパルス幅区間の前縁とすると共に、前記第４のデータ取込保持手段で取込保持された出力に基づいて前記パルス幅区間の後縁を決定して前記第２のパルス信号を生成する第２の生成手段と、
前記第２の生成手段で生成した前記第２のパルス信号により、前記第４のデータ取込保持手段に所定のプリセット値を取込保持し、当該取込保持した出力を前記第２の生成手段に供給する第２の後縁タイミング生成手段と、
備えるデータ取込保持装置。
【請求項７】
請求項１に記載のデータ取込保持装置において、
前記第１のデータ取込保持手段は、スレッショールド値が相対的に低いトランジスタを用いて構成し、第２のデータ取込保持手段は、スレッショールド値が相対的に高いトランジスタを用いて構成する
データ取込保持装置。
【請求項８】
請求項１に記載のデータ取込保持装置において、
前記第２のデータ取込保持手段は、前記第３のゲート手段に加えて、第４のゲート制御信号により、前記第１のデータ取込保持手段の出力データを取り込んで前記第２の保持手段に保持するようにする第４のゲート手段を備えると共に、
供給制御が可能な第１の電源と、常時供給する第２の電源との２系統の電源を備え、
前記第１のデータ取込保持手段には前記第１の電源が供給されると共に、前記第２のデータ取込保持手段には前記第２の電源が供給されるようにされ、
さらに、
前記第１のデータ取込保持手段への前記第１の電源の供給が遮断されるとき、前記第１の電源の供給の前記第１のデータ取込保持手段への遮断に先立ち、前記第１の保持手段に保持されている前記データを、前記第４のゲート手段を通じて取り込んで前記第２のデータ取込保持手段の前記第２の保持手段に保持するようにする手段と、
前記第１のデータ取込保持手段への前記第１の電源の供給が復帰したとき、前記第２の保持手段に保持されていたデータを、前記第２のゲート手段を通じて取り込んで前記第１のデータ取込保持手段の前記第１の保持手段に保持させるようにする手段と、
を備えるデータ取込保持装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えば１ビットまたは複数ビットからなる入力データをラッチして取り込むデータ取込保持装置に関し、特に、当該データ取込保持装置の動作をテストするための構成を備えるものに関する。
【背景技術】
【０００２】
ＬＳＩ（Large Scale Integrated Circuit）に組み込まれる回路には、データを一時的に取り込んで保持するためのデータ取込保持装置としてラッチ回路（レジスタ）が使用される。
【０００３】
クロック信号に同期して入力デジタルデータを取り込んで保持するデータ取込保持装置としては、データ取込記憶部として、マスタースレーブ式のフリップフロップ回路を用いるものや、いわゆるＤラッチ（スルーラッチ）を用いるものなどが知られている（例えば特許文献１（特開平11-259274号公報）参照）。
【０００４】
ところで、ＬＳＩの故障や点検を行うために、スキャン設計と呼ばれる技術がある。これは、図２７に示すように、レジスタを構成するフリップフロップ回路１のデータ入力側に、セレクタ（マルチプレクサ）２を設け、このセレクタ２を、信号処理実行モード（入力データ取込保持モード）とスキャンスキャンテストモードとで、選択信号ＳＥＬにより切り替えるようにする。そして、スキャンスキャンテストモードのときには、セレクタ２は、入力データＤｉｎに代えて、スキャンテスト信号ＳＣｉｎをフリップフロップ回路１に入力するようにするものである。
【０００５】
ＬＳＩ全体については、具体的には、ＬＳＩ内の全てのフリップフロップ回路のデータ線にセレクタ（マルチプレクサ）を追加し、スキャンスキャンテストモードでは、複数のフリップフロップ回路を数珠つなぎに接続して、スキャン・パスを形成するようにする。そして、そのスキャン・パスに対してスキャンスキャンテスト信号を流すことにより、故障検出や回路の点検を行うようにする。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１１−２５９２７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
データ取込保持装置の高速動作のためには、フリップフロップ回路の動作速度、とりわけインサーションディレー（Insertion  Delay）が小さいことが重要である。ここで、インサーションディレーとは、クロック信号の１周期のうち、フリップフロップ回路で消費してしまう時間であり、これが短いほど高速動作になる。
【０００８】
一般的に、インサーションディレーは、セットアップタイム（Setup  Time）と、バリッドディレー（Valid  Delay）との和として定義される。
【０００９】
例えば、従来のマスタースレーブ式フリップフロップでは、クロック信号の立ち上がり直前にマスター側ラッチへの書き込み時間を要し、それがセットアップタイムである。また、バリッドディレーは、従来のマスタースレーブ式フリップフロップの場合には、マスター側ラッチからスレーブ側ラッチへのデータの書き込み時間にほぼ等しい。
【００１０】
ところで、上述のように、従来は、ＬＳＩの故障や点検を行なうためのスキャンスキャンテストモードのために、フリップフロップ回路のデータ入力側にセレクタを設けるようにしている。このため、信号処理実行モードにおいても、必ず、入力データは、セレクタを通過する必要があった。
【００１１】
そのため、マスタースレーブ式フリップフロップにおいて、セットアップタイムが大きくなり、フリップフロップ回路の動作速度が低下し、データ取込保持装置の高速動作が困難になるという問題があった。
【００１２】
この発明は、上記の問題にかんがみ、スキャンスキャンテストモードを備える構成にしても、高速動作を可能にしたデータ取込保持装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記の課題を解決するために、この発明によるデータ取込保持装置は、
第１のデータ取込保持手段と、
第２のデータ取込保持手段と、
制御信号発生手段と、
を備え、
前記第１のデータ取込保持手段は、
前記制御信号発生手段からの第１のゲート制御信号により、入力データを取り込む第１のゲート手段と、
前記制御信号発生手段からの第２のゲート制御信号により、前記第２のデータ取込保持装置部の出力データを取り込む第２のゲート手段と、
前記第１のゲート手段または前記第２のゲート手段で取り込んだデータを保持する第１の保持手段と、
を備え、
前記第２のデータ取込保持手段は、
前記制御信号発生手段からの第３のゲート制御信号により、テスト用データを取り込む第３のゲート手段と、
前記第３のゲート手段で取り込んだデータを保持し、保持したデータを前記第１のゲート手段に供給するようにする第２の保持手段と、
を備え、
前記制御信号発生手段は、
クロック信号から、前記入力データの取込保持モード時と、前記テスト用データを取り込む保持するスキャンスキャンテストモード時とに応じた、前記第１のゲート制御信号、前記第２のゲート制御信号および前記第３のゲート制御信号を生成する手段
を備え、
前記入力データの取込保持モード時には、前記第１のゲート制御信号により前記第１のゲート手段を制御して、前記入力データの取り込み、取り込んだ前記入力データを前記第１の保持手段に保持すると共に、前記第２のゲート手段および前記第３のゲート手段は、前記第２のゲート制御信号および前記第３のゲート制御信号により閉の状態にするようにし、
前記スキャンテストモード時には、前記第１のゲート制御信号により前記第１のゲート手段を閉の状態にすると共に、前記第３のゲート制御信号により前記第３のゲート手段を制御して前記テスト用データを取り込んで前記第２の保持手段に保持し、前記第２のゲート制御信号により前記第２のゲート手段を通じて前記第２の保持手段に保持された前記テスト用データを取り込んで、前記第１の保持手段に保持するようにする
ことを特徴とする。
【００１４】
上記の構成のデータ取込保持装置においては、入力データの取込保持モード時には、第１のゲート制御信号により第１のゲート手段が制御されて、入力データの取り込みがなされる。そして、取り込まれた入力データが第１の保持手段に保持される。このとき、第２のゲート手段および第３のゲート手段は、第２のゲート制御信号および前記第３のゲート制御信号により閉の状態にされる。
【００１５】
したがって、入力データの取込保持モード時には、入力データは、第１のゲート手段を通じて第１の保持手段に取込保持されるものとなり、余分な回路部分は、通らないので、セットアップタイムが最小のままとなる。したがって、入力データの取込保持モード時の動作は、高速動作とすることができる。
【００１６】
一方、スキャンテストモード時には、第１のゲート制御信号により第１のゲート手段は閉の状態とされる。そして、第３のゲート制御信号により第３のゲート手段が制御されてテスト用データが取り込まれ、第２の保持手段に保持される。そして、この第２の保持手段に保持されたテスト用データは、第２のゲート制御信号により第２のゲート手段が制御されて、取り込まれ、第１の保持手段に保持される。
【発明の効果】
【００１７】
この発明によれば、入力データの取込保持モード時には、入力データは、第１のゲート手段を通じて第１の保持手段に取込保持されるものとなり、余分な回路部分は、通らない。したがって、入力データの取込保持モード時の動作は、高速動作とすることができる。
【図面の簡単な説明】
【００１８】
【図１】この発明によるデータ取込保持装置の実施形態の全体構成を示すブロック図である。
【図２】この発明によるデータ取込保持装置の実施形態の一部を構成するビットラッチ部の構成例を示す図である。
【図３】この発明によるデータ取込保持装置の実施形態の動作を説明するためのタイミングチャートを示す図である。
【図４】この発明によるデータ取込保持装置の実施形態の動作を説明するためのタイミングチャートを示す図である。
【図５】この発明によるデータ取込保持装置の実施形態の一部を構成するローカルクロックバッファ回路の構成例を示す図である。
【図６】図５の例のローカルクロックバッファ回路の一部を構成するパルス発生部の構成例を示すブロック図である。
【図７】図６の例のパルス発生部の動作を説明するために用いるタイミングチャートを示す図である。
【図８】この発明によるデータ取込保持装置の実施形態の効果を説明するために用いる図である。
【図９】この発明によるデータ取込保持装置の実施形態の一部を構成するラッチ用イネーブラの構成例を示すブロック図である。
【図１０】この発明によるデータ取込保持装置の実施形態の一部を構成する制御信号生成部の構成例を示すブロック図である。
【図１１】この発明によるデータ取込保持装置の実施形態の動作を説明するために用いるタイミングチャートを示す図である。
【図１２】この発明によるデータ取込保持装置の実施形態の動作を説明するために用いるタイミングチャートを示す図である。
【図１３】ダブルエッジトリガ型のデータ取込保持装置の従来例を示すブロック図である。
【図１４】この発明によるデータ取込保持装置のダブルエッジトリガ型の場合の実施形態の一部を構成するパルス発生部の構成例を示す図である。
【図１５】図１４の例のパルス発生部の動作を説明するために用いるタイミングチャートを示す図である。
【図１６】図１４の例のパルス発生部の一部回路の構成例のブロック図である。
【図１７】図１４の例のパルス発生部の一部回路の構成例のブロック図である。
【図１８】この発明によるデータ取込保持装置のダブルエッジトリガ型の場合の実施形態の効果を説明するために用いる図である。
【図１９】一般的な加算演算回路の構成例を示すブロック図である。
【図２０】この発明によるダブルエッジトリガ型のデータ取込保持装置の実施形態を用いた加算演算回路の一構成例を示す図である。
【図２１】この発明によるデータ取込保持装置の第３の実施形態の一部を構成するビットラッチ部の構成例を示すブロック図である。
【図２２】この発明によるデータ取込保持装置の第３の実施形態の一部を構成するローカルクロックバッファ回路の一例の構成例を説明するためのブロック図である。
【図２３】この発明によるデータ取込保持装置の第３の実施形態の動作を説明するために用いるタイミングチャートを示す図である。
【図２４】この発明によるデータ取込保持装置の第３の実施形態の動作を説明するために用いるタイミングチャートを示す図である。
【図２５】この発明によるデータ取込保持装置の第３の実施形態の動作を説明するために用いるタイミングチャートを示す図である。
【図２６】この発明によるデータ取込保持装置の第３の実施形態の動作を説明するために用いるタイミングチャートを示す図である。
【図２７】従来のスキャンテストモード用の回路部を備えるデータ取込保持装置の構成例を示すブロック図である。
【発明を実施するための形態】
【００１９】
以下、この発明によるデータ取込保持装置の実施形態を、図を参照しながら説明する。
【００２０】
［第１の実施形態］
図１は、この発明によるデータ取込保持装置の実施形態の全体の構成例を示すブロック図である。この図１の例は、８ビットの入力データＤ０〜Ｄ７を、制御信号により取り込んで保持する場合である。
【００２１】
図１に示すように、この実施形態では、データ取込保持装置は、入力データの各ビットデータＤ０，Ｄ１，Ｄ２，・・・，Ｄ７のそれぞれを取り込んで保持するビットラッチ部１０，１１，１２，・・・，１７と、ローカルクロックバッファ回路２０とを備える。ビットラッチ部１０〜１７のそれぞれは、データラッチ手段を構成するものであり、また、ローカルクロックバッファ回路２０は、制御信号発生手段を構成するものである。
【００２２】
この実施形態では、データ取込保持装置は、入力データを取り込んで保持し、出力するモード（以下、ファンクションモードという）と、スキャンテスト用信号を取り込んで保持し、その結果を出力するモード（以下、スキャンテストモードという）とを備える。
【００２３】
ビットラッチ部１０，１１，１２，・・・，１７のそれぞれと、ローカルクロックバッファ回路２０とは、上記の２つのモードを実現するための構成を備えるが、その詳細な内部構成例については、後述する。ここでは、ビットラッチ部１０，１１，１２，・・・，１７のそれぞれと、ローカルクロックバッファ回路２０の概略について説明しておく。
【００２４】
ビットラッチ部１０，１１，１２，・・・，１７のそれぞれは、各ビットデータのデータラッチ手段に相当するもので、同じ構成を備える。
【００２５】
この実施形態では、ビットラッチ部１０〜１７のそれぞれは、ファンクションモードを実現するために、入力データを取り込んで保持および出力する機能（入力データ取込保持機能）と、スキャンテストモードを実現するために、スキャンスキャンテスト信号を取り込んで保持および出力する機能（スキャンスキャンテスト機能）とを備える。
【００２６】
ビットラッチ部１０〜１７のそれぞれは、後述するように、入力データ取込保持機能を実行する状態と、スキャンスキャンテスト機能を実行する状態のいずれかの状態となるようにされる。
【００２７】
そして、ビットラッチ部１０，１１，１２，・・・，１７のそれぞれは、データ入力端子と、スキャンテスト入力端子と、複数個の制御信号入力端子と、データ出力端子と、スキャンテスト結果出力端子とを備える。
【００２８】
入力データＤｉｎの各ビットデータＤｉｎ０，Ｄｉｎ１，Ｄｉｎ２，・・・，Ｄｉｎ７のそれぞれは、これらビットラッチ部１０，１１，１２，・・・，１７のデータ入力端子に入力される。また、スキャンテスト用データＳＣｉｎが、これらビットラッチ部１０，１１，１２，・・・，１７のスキャンテスト入力端子に入力される。
【００２９】
ローカルクロックバッファ回路２０は、制御信号発生手段を構成するもので、この例では、制御信号ＰＬＳ、ＳＬＣＫおよびＭＳＣＫを生成する。そして、ローカルクロックバッファ回路２０は、生成したこれら制御信号ＰＬＳ、ＳＬＣＫおよびＭＳＣＫをビットラッチ部１０〜１７の制御信号入力端子に共通に供給する。
【００３０】
ビットラッチ部１０〜１７のそれぞれは、制御信号入力端子に供給されるこれら制御信号ＰＬＳ、ＳＬＣＫおよびＭＳＣＫの信号状態に応じて、入力データ取込保持機能を実行する状態と、スキャンテスト機能を実行する状態のいずれかの状態となるように制御される。
【００３１】
ローカルクロックバッファ回路２０には、図示を省略するクロック発生部からクロック信号ＣＬＫが供給されると共に、図示を省略する制御部からファンクションモードイネーブル信号ＦＵＮＣ＿ＥＮおよびスキャンテストモードイネーブル信号ＴＥＳＴ＿ＥＮが供給される。ローカルクロックバッファ回路２０は、これらクロック信号ＣＬＫおよびイネーブル信号ＦＵＮＣ＿ＥＮおよびＴＥＳＴ＿ＥＮから、前記制御信号ＰＬＳ、ＳＬＣＫおよびＭＳＣＫを生成する。
【００３２】
このローカルクロックバッファ回路２０で生成された制御信号ＰＬＳは、第１のゲート制御信号に相当するもので、これは、ファンクションモードにおける入力データのラッチ用パルス信号である。このラッチ用パルスＰＬＳは、ビットラッチ部１０，１１，１２，・・・，１７の複数の制御信号入力端子のうちのラッチ用パルス入力端子に共通に供給される。
【００３３】
ファンクションモードにおいては、ビットラッチ部１０〜１７のそれぞれは、第１の制御信号（ラッチ用パルス信号）ＰＬＳのパルス幅期間において、入力される各ビットデータＤｉｎ０〜Ｄｉｎ７をスルーラッチする。そして、ビットラッチ部１０〜１７のそれぞれは、パルス幅期間以降は、ラッチした値を保持することで、データ出力端子から出力データＤｏｕｔ０〜Ｄｏｕｔ７を出力する。
【００３４】
ローカルクロックバッファ回路２０で生成された制御信号ＳＬＣＫおよびＭＳＣＫは、第２のゲート制御信号および第３のゲート制御信号に相当するもので、スキャンテストモードにおけるスキャンテスト信号の取込保持を実行するためのものである。そして、このスキャンテストモードにおいては、スキャンテスト信号の取込保持結果の信号ＳＣｏｕｔは、スキャンチェーン上にて次に連なるスキャンテスト信号入力端子へ入力される。以降も同様にして構成されるスキャンチェーンの最終端の信号ＳＣｏｕｔがモニターされることにより、故障や点検がなされる。
【００３５】
＜ビットラッチ部１０〜１７の例＞
前述したように、ビットラッチ部１０〜１７は、全く同一の構成を有するものであるので、以下の説明では、ビットラッチ部１０を例にとって、その構成例を説明する。
【００３６】
図２は、ビットラッチ部１０の内部構成例を示す図である。このビットラッチ部１０は、第１のビット記憶部１１０と、第２のビット記憶部１２０と、複数個のインバータ１３１〜１３９および１４０〜１４２とを備えて構成されている。
【００３７】
第１のビット記憶部１１０と、その周辺の複数個のインバータにより、第１のデータ取込保持手段が構成されている。また、第２のビット記憶部１２０と、その周辺の複数個のインバータにより、第２のデータ取込保持手段が構成されている。
【００３８】
ビット記憶部１１０および１２０はそれぞれ、この例では、スリーステートバッファ型の１ビット記憶セルの構成とされている。ただし、第１のビット記憶部１１０は、２個の入力データのいずれかを記憶保持することができるように、２入力データ書き込み型の構成とされている。一方、第２のビット記憶部１２０は、１個の入力データを記憶保持できる１入力データ書き込み型の構成とされている。
【００３９】
すなわち、図２に示すように、この例の第１のビット記憶部１１０は、入力ビットデータＤｉｎ０を受けるスリーステートバッファ１１１と、第２のビット記憶部１２０からの出力データをインバータ１４２で極性反転した上で、そのデータを受けるスリーステートバッファ１１２とを備える。これらスリーステートバッファ１１１および１１２は、第１および第２のゲート手段を構成する。
【００４０】
そして、第１のビット記憶部１１０においては、２個のスリーステートバッファ１１１および１１２の出力側は共通に接続され、その接続点に対して、キーパー（保持部）１１３が設けられる。キーパー１１３は、第１の保持手段を構成する。
【００４１】
第１のゲート手段としてのスリーステートバッファ１１１は、第１の制御信号入力端子に供給される第１のゲート制御信号φ１、φ１！によりゲート制御される。なお、φ１！は、φ１のオーバーバーと同じ意味を持つもので、この明細書では、！は反転位相を意味するものとしている。
【００４２】
そして、ローカルクロックバッファ回路２０からのラッチ用パルスＰＬＳが、インバータ１３１により極性反転されたものと、インバータ１３２によりさらに極性反転された元の極性にされたものとが、第１のゲート制御信号φ１、φ１！として、第１のビット記憶部１１０に供給される。
【００４３】
この例では、第１のゲート制御信号φ１、φ１！が、［φ１、φ１！］＝［１，０］のときには、スリーステートバッファ１１１がゲート開（導通）、［φ１、φ１！］＝［０，１］のときには、スリーステートバッファ１１１がゲート閉（ハイインピーダンスの状態。別名、非導通）となるように制御される。
【００４４】
また、第２のゲート手段としてのスリーステートバッファ１１２は、第２の制御信号入力端子に供給される第２のゲート制御信号φ２、φ２！によりゲート制御される。
【００４５】
そして、ローカルクロックバッファ回路２０からの制御信号ＳＬＣＫが、インバータ１３１により極性反転されたものと、インバータ１３２によりさらに極性反転された元の極性にされたものとが、第２のゲート制御信号φ２、φ２！として、第１のビット記憶部１１０に供給される。
【００４６】
そして、第２のゲート制御信号φ２、φ２！が、［φ２、φ２！］＝［１，０］のときには、スリーステートバッファ１１２がゲート開、［φ２、φ２！］＝［０，１］のときには、スリーステートバッファ１１２がゲート閉（ハイインピーダンスの状態。別名、非導通）となるように制御される。
【００４７】
キーパー１１３は、スリーステートバッファ１１４と、インバータ１１５とからなる。そして、スリーステートバッファ１１１またはスリーステートバッファ１１２の出力信号がインバータ１１５で極性反転されて、スリーステートバッファ１１４に供給される。スリーステートバッファ１１４の出力は、スリーステートバッファ１１１とスリーステートバッファ１１２との接続点、つまり、第１のビット記憶部１１０の出力端に供給される。
【００４８】
スリーステートバッファ１１４は、第１の制御信号入力端子に供給される第１のゲート制御信号φ１、φ１！および第２の制御信号入力端子に供給される第２のゲート制御信号φ２、φ２！の両者によりゲート制御される。
【００４９】
この場合、第１のゲート制御信号φ１、φ１！が［φ１、φ１！］＝［１，０］、または第２のゲート制御信号φ２、φ２！が［φ２、φ２！］＝［１，０］のときには、スリーステートバッファ１１４がゲート閉（ハイインピーダンスの状態。別名、非導通）となるように制御される。
【００５０】
また、第１のゲート制御信号φ１、φ１！が［φ１、φ１！］＝［０，１］、または第２のゲート制御信号φ２、φ２！が［φ２、φ２！］＝［０，１］のときには、スリーステートバッファ１１４がゲート開（導通）となるように制御される。
【００５１】
図２の例では、この第１のビット記憶部１１０の出力は、入力ビットデータＤｉｎ０を極性反転したものとなっているので、インバータ１３５により極性反転させて、ビットラッチ部１０の出力Ｄｏｕｔ０とする。
【００５２】
なお、インバータ１３５の出力側は、インバータ１３６〜１３９を通じてスキャンテストモード用の出力端に接続されている。これらインバータは、スキャンチェーン上にて連なる次のフリップフロップがホールド違反を起こすことなく正しくスキャンデータを受領できるように、適切な遅延を生じせしめるため設けられたものである。この実施形態は、その遅延を仮にインバータ４段部に相当するものとして、それを図に表現したものに過ぎない。実際の遅延は製造装置、製造技術によってもたらされる回路の特性によって異なるから、実際にはインバータ４段に限定されるものではない。また、極端な例では、その遅延がフリップフロップ外にある要素、例えばデータ接続経路配線で発生する遅延で担保される場合なら、０段でもよい。
【００５３】
第２のビット記憶部１２０は、スキャンテスト信号ＳＣｉｎを受けるスリーステートバッファ１２１と、このスリーステートバッファ１２１の出力側に設けられているキーパー１２２とを備える。スリーステートバッファ１２１は、第３のゲート手段を構成する。また、キーパー１２２は、第２の保持手段を構成する。
【００５４】
キーパー１２２は、スリーステートバッファ１２３と、インバータ１２４とからなる。そして、スリーステートバッファ１２３の出力信号がインバータ１２４で極性反転されて、スリーステートバッファ１２３に供給される。スリーステートバッファ１２３の出力は、スリーステートバッファ１２１の出力側、つまり、第２のビット記憶部１２０の出力端に供給される。
【００５５】
図２の例では、この第２のビット記憶部１２０の出力は、入力スキャンテスト信号ＳＣｉｎを極性反転したものとなっているので、第２のビット記憶部１２０の出力は、インバータ１４２により極性反転されて、第１のビット記憶部１１０に供給される。
【００５６】
そして、スリーステートバッファ１２１および１２３は、第２のビット記憶部１２０の制御信号入力端子に供給される第３のゲート制御信号φ３、φ３！によりゲート制御される。
【００５７】
この場合、第３のゲート制御信号φ３、φ３！が、［φ３、φ３！］＝［１，０］のときには、スリーステートバッファ１２１がゲート開（導通）、スリーステートバッファ１２３がゲート閉（ハイインピーダンスの状態）となるように制御される。また、第３のゲート制御信号φ３、φ３！が、［φ３、φ３！］＝［０，１］のときには、スリーステートバッファ１２１がゲート閉（ハイインピーダンスの状態）、スリーステートバッファ１２３がゲート開となるように制御される。
【００５８】
そして、ローカルクロックバッファ回路２０からの制御信号ＭＳＣＫが、インバータ１４０により極性反転されたものと、インバータ１４１によりさらに極性反転された元の極性にされたものとが、第３のゲート制御信号φ３、φ３！として、第２のビット記憶部１２０に供給される。
【００５９】
［ビットラッチ部の動作］
＜ファンクションモード（ラッチ動作モード）＞
ファンクションモードにおいては、後で詳述するように、ローカルクロックバッファ回路２０は、図３に示すように、クロック信号ＣＬＫ（図３（Ａ）参照）から、第１〜第３の制御信号（図３（Ｂ）〜（Ｄ）参照）を生成する。
【００６０】
すなわち、ローカルクロックバッファ回路２０は、ファンクションモードにおいては、第１の制御信号としての信号ＰＬＳとして、この例では、クロック信号ＣＬＫの立ち上がり時点から所定のパルス幅を備えるラッチ用パルス信号（図３（Ｂ）参照）を生成して出力する。
【００６１】
また、ローカルクロックバッファ回路２０は、ファンクションモードにおいては、制御信号ＳＬＣＫおよびＭＳＣＫ（図３（Ｃ）および（Ｄ）参照）は、共に、常の「０」の状態の信号とされる。
【００６２】
なお、この明細書および図面において、信号状態が「１」とはハイレベル状態を意味しており、また、信号状態が「０」とはローレベル状態を意味しているものである。
【００６３】
以上のような第１〜第３の制御信号が生成されるので、ファンクションモードにおいては、ビットラッチ部１０では、次のような動作をする。
【００６４】
第１のビット記憶部１１０においては、ゲート制御信号ＳＬＣＫが「０」であるので、第２のゲート制御信号φ２、φ２！は、［φ２、φ２！］＝［０，１］となり、スリーステートバッファ１１２はゲート閉の状態のままとなるように制御される。
【００６５】
また、ゲート制御信号ＭＳＣＫが常に「０」であるので、第３のゲート制御信号φ３、φ３！は、［φ３、φ３！］＝［０，１］となり、第２のビット記憶部１２０のスリーステートバッファ１２１はゲート閉の状態のままとなるように制御される。
【００６６】
したがって、このファンクションモードにおいては、第２のビット記憶部１４２は、スキャンテスト信号ＳＣｉｎの取込保持動作は行なわない。そして、第１のビット記憶部１１０では、スリーステートバッファ１１２がゲート閉の状態であるので、第２のビット記憶部１２０の出力の取込保持動作は行わない。
【００６７】
そして、第１のビット記憶部１１０では、スリーステートバッファ１１１および１１４が、信号ＰＬＳのパルスによりゲート制御されることにより、入力データＤｉｎ０の取込保持動作が実行される。
【００６８】
第１のビット記憶部１１０に供給される信号ＰＬＳが「１」の状態となるパルス幅区間になると、スリーステートバッファ１１１は、ゲート開の状態となり、キーパー１１３のスリーステートバッファ１１４はゲート閉の状態となる。したがって、この信号ＰＬＳのパルス幅区間で入力ビットデータＤｉｎ０がスルーされ、そのまま出力データＤｏｕｔ０とされる。
【００６９】
そして、信号ＰＬＳのパルス幅区間以降の区間（信号ＰＬＳは「０」の状態）になると、スリーステートバッファ１１１は、ゲート閉の状態となるが、スリーステートバッファ１１４がゲート開の状態になるため、スリーステートバッファ１１０の出力がキーパー１１３において保持される。
【００７０】
こうして第１のビット記憶部１１０に信号ＰＬＳのパルス幅区間で取り込まれて保持されたデータは、インバータ１３５により極性反転された後、出力データＤｏｕｔ０とされる。
【００７１】
以上のようにして、この実施形態のデータ取込保持装置では、ファンクションモードにおいては、第１のビット記憶部１１０のみが入力データの取込保持動作をし、第２のビット記憶部１２０は使用されない。そして、第１のビット記憶部１１０での入力データの取込保持動作は、マスタースレーブ方式のフリップフロップとは異なり、パルス駆動型のラッチ回路の構成と同様となる。
【００７２】
＜スキャンテストモード＞
スキャンテストモードにおいては、後で詳述するように、ローカルクロックバッファ回路２０は、図４に示すように、クロック信号ＣＬＫ（図４（Ａ）参照）から、第１〜第３の制御信号（図４（Ｂ）〜（Ｄ）参照）を生成する。
【００７３】
すなわち、ローカルクロックバッファ回路２０は、スキャンテストモードにおいては、第１の制御信号としての信号ＰＬＳとしては、ラッチ用パルスを発生せず、常の「０」の状態の信号とする（図４（Ｂ）参照）。
【００７４】
また、ローカルクロックバッファ回路２０は、スキャンテストモードにおいては、制御信号ＳＬＣＫは、クロック信号ＣＬＫを若干遅延させた信号となり（図４（Ｃ）参照）、また、制御信号ＭＳＣＫは、制御信号ＳＬＣＫを極性反転させた信号となる（図４（Ｄ）参照）。
【００７５】
したがって、スキャンテストモードにおいては、第１のビット記憶部１１０では、スリーステートバッファ１１１は、常にゲート閉の状態となり、入力データの取込保持動作は停止される。
【００７６】
そして、スキャンテストモードにおいては、第１のビット記憶部１１０では、制御信号ＳＬＣＫが「１」の区間で、スルーステートバッファ１１２がゲート開の状態、制御信号ＳＬＣＫが「０」の区間で、スルーステートバッファ１１２がゲート閉の状態となる。また、キーパー１１３のスリーステートバッファ１１４は、制御信号ＳＬＣＫが「０」の区間で、ゲート開の状態となり、「１」の区間でゲート閉の状態となる。
【００７７】
これにより、第１のビット記憶部１１０では、第２のビット記憶部１２０の出力を取込保持して、出力データＤｏｕｔ０とする状態となる。
【００７８】
また、このスキャンテストモードにおいては、第２のビット記憶部１２０では、スリーステートバッファ１２１が、制御信号ＭＳＣＫが「１」の区間でゲート開の状態となり、制御信号ＭＳＣＫが「０」の区間でゲート閉の状態となる。また、キーパー１２２のスリーステートバッファ１２３は、制御信号ＭＳＣＫが「０」の区間で、ゲート開の状態となり、「１」の区間でゲート閉の状態となる。
【００７９】
これにより、第２のビット記憶部１２０では、スキャンテスト信号を取込保持して、第１のビット記憶部１２０のスリーステートバッファ１１２に供給する状態となる。
【００８０】
したがって、第１のデータ記憶部１１０では、第２のデータ記憶部１２０で取込保持されたスキャンテスト信号ＳＣｉｎが取込保持されて、スキャンテスト出力信号ＳＣｏｕｔとして出力される。
【００８１】
この場合、スキャンテストモードにおいては、スキャンテスト信号の取込保持動作を、クロックＣＬＫによるシングルエッジトリガ型のマスタースレーブ式フリップフロップと同様にして行うことになる。ちなみに、この場合、第２のビット記憶部１２０がマスター側、第１のビット記憶部１１０がスレーブ側となる。
【００８２】
この実施形態のデータ取込保持装置においては、上述したように、ファンクションモードと、スキャンテストモードとで、動作する部位が異なる。そこで、スリーステートバッファやインバータに用いられるトランジスタを、次のように選定することにより、ファンクションモードでは高速動作を可能にし、スキャンテストモードでは、リーク電流を削減することができる。
【００８３】
トランジスタは、スレッショールド値が相対的に高いものでは、動作速度は遅くなるがリーク電流が減る。また、スレッショールド値が相対的に低いトランジスタは、動作速度は速いが、リーク電流が多い。
【００８４】
この実施形態では、図２における第１のビット記憶部１１０のスリーステートバッファ１１１と、インバータ１１５と、インバータ１３５を構成するトランジスタは、スレッショールド値が低い素子を使用するようにする。図２におけるその他の構成部位のトランジスタは、スレッショールド値が高いトランジスタを使用するようにする。
【００８５】
このようにすれば、スリーステートバッファ１１１と、インバータ１１５と、インバータ１３５は、ファンクションモードの際の動作に供されるので、ファンクションモードにおいては、高速動作を行うことができる。
【００８６】
また、高速動作が要求されないスキャンテストモードにおいては、スレッショールド値が高いトランジスタが、その動作に供されるので、リーク電流を削減することができる。
【００８７】
＜ローカルクロックバッファ回路２０の例＞
図５は、この実施形態のローカルクロックバッファ回路２０の構成例を示すブロック図である。
【００８８】
この例では、ローカルクロックバッファ回路２０は、ラッチ用パルスとなる信号ＰＬＳを生成するパルス発生部３０と、ラッチ用イネーブラ４０と、制御信号生成部５０とを備える。
【００８９】
ラッチ用イネーブラ４０は、ラッチ用パルスを発生させるか否かを制御するラッチイネーブル信号ＥＮ＿ＬＡＴ＿Ｂを発生して、パルス発生部３０に供給する。
【００９０】
このラッチ用イネーブラ４０には、図示を省略する制御部からファンクションモードイネーブル信号ＦＵＮＣ＿ＥＮおよびスキャンテストモードイネーブル信号ＴＥＳＴ＿ＥＮが供給されると共に、図示を省略するクロック発生部からクロック信号ＣＬＫが供給される。制御部は、この実施形態のデータ取込保持装置を、ファンクションモードにするのか、スキャンテストモードにするのかに応じたファンクションモードイネーブル信号ＦＵＮＣ＿ＥＮおよびスキャンテストモードイネーブル信号ＴＥＳＴ＿ＥＮを発生する。
【００９１】
ラッチ用イネーブラ４０は、これらファンクションモードイネーブル信号ＦＵＮＣ＿ＥＮ、スキャンテストモードイネーブル信号ＴＥＳＴ＿ＥＮおよびクロック信号ＣＬＫから、ラッチイネーブル信号ＥＮ＿ＬＡＴ＿Ｂを生成する。
【００９２】
そして、データ取込保持装置をファンクションモードとするときには、制御信号生成部２０のラッチ用イネーブラ４０では、ラッチ動作の実行を意味するイネーブル状態とされたラッチイネーブル信号ＥＮ＿ＬＡＴ＿Ｂを生成して出力する。
【００９３】
また、データ取込保持装置をスキャンテストモードとするときには、制御信号生成部２０のラッチ用イネーブラ４０では、ラッチ動作の実行の停止を意味するディスエーブル状態とされたラッチイネーブル信号ＥＮ＿ＬＡＴ＿Ｂを生成して出力する。
【００９４】
この例は、ラッチイネーブル信号ＥＮ＿ＬＡＴ＿Ｂは、イネーブル状態では「０」とされ、ディスエーブル状態では「１」とされる。このラッチ用イネーブラ４０の内部構成例については後述する。
【００９５】
パルス発生部３０は、ラッチ用イネーブラ４０からのラッチイネーブル信号ＥＮ＿ＬＡＴ＿Ｂがイネーブル状態のときには、信号ＰＬＳとして、クロック信号ＣＬＫの立ち上がり時点においてラッチ用パルスを発生させる。
【００９６】
また、パルス発生部３０は、ラッチ用イネーブラ４０からのラッチイネーブル信号ＥＮ＿ＬＡＴ＿Ｂがディスエーブル状態のときには、信号ＰＬＳは、常に「０」の状態とし、ラッチ用パルスの発生を停止する。このパルス発生部３０の内部構成例については後述する。
【００９７】
制御信号生成部５０は、スキャンテストモードイネーブル信号ＴＥＳＴ＿ＥＮと、クロック信号ＣＬＫとから、制御信号ＳＬＣＫおよびＭＳＣＫを生成して、出力する。この制御信号生成部５０の内部構成例についても後述する。
【００９８】
＜パルス発生部３０の構成例＞
図３に、この実施形態におけるパルス発生部３０の構成例のブロック図を示す。この実施形態のパルス発生部３０は、パルス生成部を構成するナンドゲート３１およびインバータ３２と、チョッパ回路３３とからなる。チョッパ回路３３は、信号ＰＬＳとしてパルスが形成されるとき、そのパルスのパルス幅区間の後縁タイミングを生成する後縁タイミング生成手段を構成する。
【００９９】
ナンドゲート３１の一方の入力端にはクロック信号ＣＬＫが供給され、他方の入力端には、チョッパ回路３３からの出力信号ＣＨＰが供給される。そして、チョッパ回路３３からの出力信号ＣＨＰが「１」であるときに、クロック信号ＣＬＫの立ち上がりが到来すると、ナンドゲート３１の出力がインバータ３２により極性反転されることにより、「１」に立ち上がるパルスが、信号ＰＬＳとして生成される。
【０１００】
チョッパ回路３３は、信号ＰＬＳとしてパルスが形成されるときのパルス幅期間を生成する機能を有するもので、この例では、ビット記憶部３３１を備える。このビット記憶部３３１は、ビットラッチ部１０〜１７のそれぞれの、第１のビット記憶部１１０のスリーステートバッファ１１１とキーパー１１３との部分と同じ構成を具備する。ただし、このビット記憶部３３１の場合には、データ入力端子には、常にローレベル（接地レベル）が入力されている。
【０１０１】
さらに、チョッパ回路３３においては、ビット記憶部３３１の出力信号は、後述するスイッチ３３５がオフであるときには、そのまま、ノアゲート３３２の一方の入力端に供給される。また、ラッチ用イネーブラ４０からのラッチイネーブル信号ＥＮ＿ＬＡＴ＿Ｂが、ノアゲート３３２の他方の入力端に供給される。
【０１０２】
この例では、ラッチイネーブル信号ＥＮ＿ＬＡＴ＿Ｂは、イネーブル状態では「０」の状態となり、ノアゲート３３２の出力は、ビット記憶部３３１の出力端に得られる出力を導出して出力信号ＣＨＰとする。一方、ラッチイネーブル信号ＥＮ＿ＬＡＴ＿Ｂは、ディスエーブル状態では「１」の状態となり、ノアゲート３３２の出力、つまり出力信号ＣＨＰは、常に「０」となって、ビット記憶部３３１の出力端に得られる出力の導出は禁止される。
【０１０３】
チョッパ回路３３は、前述したビットラッチ部１０のインバータ１３１，１３２と同様に、インバータ３３３，３３４を備える。そして、インバータ３３３には、インバータ３２の出力である信号ＰＬＳが供給される。
【０１０４】
したがって、ビット記憶部３３１には、ビットラッチ部１０の第１のビット記憶部１１０と同様に、信号ＰＬＳが、インバータ３３３および３３４により２つの位相信号φ、φ！とされて、このビット記憶部３３１内のスリーステートバッファのゲート制御信号として供給される。
【０１０５】
すなわち、この例のパルス発生部３０において、チョッパ回路３３におけるこれらビット記憶部３３１、インバータ３３３および３３４からなる回路部分は、ビットラッチ部１０のスリーステートバッファ１１２、インバータ１３３〜１３９を除く部分と全く同様の構成となっている。
【０１０６】
ただし、このパルス発生部３０のチョッパ回路３３では、図６に示すように、ビット記憶部３３１の出力端とインバータ３３２との接続点は、この例は、ｎ型ＭＯＳＦＥＴからなるスイッチ３３５を介して接地されている。
【０１０７】
そして、このスイッチ３３５を構成するｎ型ＭＯＳＦＥＴのゲートには、クロック信号ＣＬＫがインバータ３３６により極性反転されて供給される。したがって、クロック信号ＣＬＫが「０」（ローレベル）である区間では、スイッチ３３５がオンとなるので、ビット記憶部３３１の出力端（ノアゲート３３２の一方の入力側）は、接地電位（「０」）となり、出力信号ＣＨＰは、「１」の状態となる。
【０１０８】
また、クロック信号ＣＬＫが「１」（ハイレベル）となる区間では、スイッチ３３５がオフとなるので、ビット記憶部３３１の出力がインバータ３３２の一方の入力側に供給される状態となり、出力信号ＣＨＰは、ビット記憶部３３１の出力に応じたものとなる。
【０１０９】
つまり、この図６の例では、クロック信号ＣＬＫの「１」の区間で、ビット記憶部３３１の出力を有効とすることで、クロック信号ＣＬＫの立ち上がりをパルス幅区間の前縁とするパルス信号ＰＬＳを生成するようにするものである。
【０１１０】
次に、この例のパルス発生部３０において、ラッチイネーブル信号ＥＮ＿ＬＡＴ＿Ｂがイネーブル状態におけるラッチ用パルスの生成動作を、図７のタイミングチャートを参照しながら説明する。
【０１１１】
なお、ラッチイネーブル信号ＥＮ＿ＬＡＴ＿Ｂは、ディスエーブル状態では「１」であるので、パルス発生部３０では、ノアゲート３３２の出力が常に「１」となり、出力信号ＣＨＰが常に「０」の状態となる。このため、パルス発生部３０の出力信号ＰＬＳも常に「０」となって、パルスを発生しないことは前述した通りである。
【０１１２】
前述したように、ラッチイネーブル信号ＥＮ＿ＬＡＴ＿Ｂは、イネーブル状態では「０」の状態となるので、ノアゲート３３２の出力は、ビット記憶部３３１の出力端に得られる出力を極性反転して導出して出力信号ＣＨＰとする。
【０１１３】
クロック信号ＣＬＫ（図７（Ａ）参照）の立ち上がり以前の、クロック信号ＣＬＫが「０」であるときには、スイッチ３３５には、クロック信号ＣＬＫの極性反転信号（図７（Ｂ）参照）が供給されるため、このスイッチ３３５がオンである。このため、クロック信号ＣＬＫが「０」であるときには、ノアゲート３３２の入力側は接地電位であり、出力信号ＣＨＰ（図７（Ｃ）参照）は「１」の状態となっている。
【０１１４】
一方、クロック信号ＣＬＫが「０」であるときには、ナンドゲート３１の一方の入力が「０」であることから、信号ＰＬＳ（図７（Ｄ）参照）は、「０」の状態となっている。
【０１１５】
クロック信号ＣＬＫが立ち上がって「１」の状態になると、ナンドゲート３１およびインバータ３２からなるパルス生成部を経て、信号ＰＬＳが「１」になり、パルス信号のパルス幅の前縁（パルスの立ち上がり）が形成される。
【０１１６】
この信号ＰＬＳが「１」になったことを受けて、ビットラッチ部１０〜１７において、入力データＤｉｎ０〜Ｄｉｎ１７の取り込み（書き込み）が開始される。これと同時に、チョッパ回路３３では、信号ＰＬＳがインバータ３３３，３３４を通じて供給されているビット記憶部３３１において、入力データ（接地電位＝「０」）の取り込み（書き込み）が開始される。
【０１１７】
このとき、信号ＰＬＳが「１」のときには、クロックＣＬＫが［１］であって、スイッチ３３５がオフであるので、ビット記憶部３３１の出力がノアゲート３３２を通じて極性反転されて出力信号ＣＨＰとして出力される状態となっている。
【０１１８】
そして、信号ＰＬＳが「１」により、チョッパ回路３３のビット記憶部３３１で取り込んだ入力データ（接地電位）の電位が論理電位として十分なレベルに達する時点になると、ビット記憶部３３１の出力は「１」になる。
【０１１９】
すると、チョッパ回路３３の出力信号ＣＨＰが「０」になり、信号ＰＬＳも「０」になる。すなわち、信号ＰＬＳのパルス幅期間の後縁（パルスの立ち下がり）となる。この場合、信号ＰＬＳのパルス幅には、ビット記憶部３３１での書き込み時間マージンが付されている。
【０１２０】
以上のようにして、このパルス発生部３０からは、チョッパ回路３３のビット記憶部３３１により、ビットラッチ部１０〜１７のそれぞれが備えるビット記憶部１１０での入力データ取込時間に等しいパルス幅のパルス信号ＰＬＳが得られる。
【０１２１】
そして、この実施形態では、チョッパ回路３３のビット記憶部３３１は、ビットラッチ部１０〜１７のそれぞれが備えるビット記憶部１１０の対応する部分と同じ構成を備える。したがって、プロセスばらつきや、回路の動作時温度、動作時電圧などによって、ビット記憶部１１０の動作速度が変動したとしても、それに追従するように、パルス信号ＰＬＳのパルス幅が変動するので、入力データの取り込み（書き込み）の失敗を回避できる。
【０１２２】
図８は、以上説明した実施形態のパルス発生部３０における動作波形と、プロセスばらつきに対する比較を示すものである。
【０１２３】
図８（Ａ）〜（Ｄ）は、ビット記憶部３３１のスリーステートバッファのそれぞれを構成するｎ型ＭＯＳＦＥＴと、ｐ型ＭＯＳＦＥＴとのタイプの組み合わせにおけるパルス発生部３０における動作波形を示している。例えば「ＳｌｏｗＳｌｏｗ」は、ｎ型ＭＯＳＦＥＴと、ｐ型ＭＯＳＦＥＴとが共に低速タイプの素子で、回路全体を構成した場合を意味している。また、例えば「ＳｌｏｗＦａｓｔ」は、ｎ型ＭＯＳＦＥＴが低速タイプ、ｐ型ＭＯＳＦＥＴが高速タイプの素子で、回路全体を構成した場合を意味している。
【０１２４】
そして、図８（Ａ）〜（Ｄ）において、実線は、クロック信号ＣＬＫを示している。また、細かい破線は、信号（パルス）ＰＬＳの動作波形を示している。粗い破線は、チョッパ回路３３のビット記憶部３３１の出力端に得られる信号の動作波形を示している。また、一点鎖線は、ファンクションモードにおける例えばビットラッチ部１０のビット記憶部１１０の出力端に得られる信号の動作波形を示している。
【０１２５】
この図８から判るように、クロック信号ＣＬＫの立ち上がりエッジに同期して、パルス信号ＰＬＳが生成されている。
【０１２６】
そして、チョッパ回路３３のビット記憶部３３１の保持ノード電位波形（粗い破線）と、データラッチ用のビット記憶部１１０の保持ノード電位波形（一点鎖線）とが、データの書き込み動作時において極めて酷似していることがわかる。しかも、プロセスばらつき条件を、図８（Ａ）〜（Ｄ）のように、様々に変えた場合であっても、酷似していることがわかる。
【０１２７】
そして、パルス信号ＰＬＳ（細かい破線）のパルス幅期間において、データラッチ用のビット記憶部１１０の保持ノード電位波形（一点鎖線）は、取り込んだデータの電位は、十分に安定した電位にまで達していることが判る。
【０１２８】
なお、上述の実施形態では、チョッパ回路３３のビット記憶部３３１では、データ入力の２値のうちの一方、この例では、ローレベルのみを取り込むようにしている。したがって、ビットラッチ部のビット記憶部１１０で取り込む入力が、ビット記憶部３３１で取り込む入力データレベルと異なる場合には、パルス信号ＰＬＳのパルス幅期間は、それをビット記憶部１１０で取り込みときの時間とは正確には一致しない。
【０１２９】
そこで、実際的には、パルス発生部３０においてもチューニングが必要になる。しかし、従来の場合には、様々な条件下での検証作業が必要であるのに比べて、この実施形態では、検証しなければならないのは、上記のビット記憶部３３１で取り込む所定のプリセット値と、入力データレベルとが異なる場合のみとなる。このため、従来に比べて検証作業が非常に容易になる。
【０１３０】
＜ラッチ用イネーブラ４０の構成例＞
図９は、ラッチ用イネーブラ４０の構成例を示すブロック図である。
【０１３１】
この実施形態のラッチ用イネーブラ４０は、パルス発生部３０のチョッパ回路３３のビット記憶部３３１と全く同様の構成のビット記憶部４１と、ナンドゲート４２と、インバータ４３，４４，４５とを備えて構成されている。
【０１３２】
そして、ファンクションモードイネーブル信号ＦＵＮＣ＿ＥＮがナンドゲート４２の一方の入力端に供給されると共に、スキャンテストモードイネーブル信号ＴＥＳＴ＿ＥＮが極性反転されてナンドゲート４２の他方の入力端に供給される。そして、このナンドゲート４２の出力がインバータ４３を通じてビット記憶部４１のデータ入力端に供給される。
【０１３３】
そして、クロック信号ＣＬＫが、インバータ３３３および３３４により２つの位相信号φ、φ！とされて、ビット記憶部４１に、その内部のスリーステートバッファのゲート制御信号として供給される。
【０１３４】
このラッチ用イネーブラ４０の動作を、図１１および図１２のタイミングチャートを参照しながら説明する。図１１（Ａ）〜（Ｅ）は、ファンクションモードのときのラッチ用イネーブラ４０の各部波形を示すものである。また、図１２（Ａ）〜（Ｅ）は、スキャンテストモードのときのラッチ用イネーブラ４０の各部波形を示すものである。
【０１３５】
先ず、ファンクションモードにおける動作を説明する。
【０１３６】
すなわち、この例では、ファンクションモードにおいては、図１１（Ａ），（Ｂ）に示すように、ファンクションモードイネーブル信号ＦＵＮＣ＿ＥＮは「１」、スキャンテストモードイネーブル信号ＴＥＳＴ＿ＥＮは「０」の状態とされる。
【０１３７】
すると、インバータ４３の出力ＭＯＤＥは、図１１（Ｃ）に示すように、「１」の状態となる。このため、この出力ＭＯＤＥが、クロック信号ＣＬＫ（図１１（Ｅ）参照）によりビット記憶部４１に取込保持された結果としてのラッチイネーブル信号ＥＮ＿ＬＡＴ＿Ｂは、図１１（Ｄ）に示すように、「０」の状態となる。すなわち、ファンクションモードにおいては、ラッチイネーブル信号ＥＮ＿ＬＡＴ＿Ｂは、イネーブル状態となる。
【０１３８】
次に、スキャンテストモードにおける動作について説明する。
【０１３９】
スキャンテストモードにおいては、図１２（Ａ），（Ｂ）に示すように、ファンクションモードイネーブル信号ＦＵＮＣ＿ＥＮは「０」、スキャンテストモードイネーブル信号ＴＥＳＴ＿ＥＮは「１」の状態とされる。
【０１４０】
すると、インバータ４３の出力ＭＯＤＥは、図１２（Ｃ）に示すように、「０」の状態となる。このため、この出力ＭＯＤＥが、クロック信号ＣＬＫ（図１２（Ｅ）参照）によりビット記憶部４１に取込保持された結果としてのラッチイネーブル信号ＥＮ＿ＬＡＴ＿Ｂは、図１２（Ｄ）に示すように、「１」の状態となる。すなわち、ファンクションモードにおいては、ラッチイネーブル信号ＥＮ＿ＬＡＴ＿Ｂは、ディスエーブル状態となる。
【０１４１】
＜制御信号生成部５０の構成例＞
図１０は、制御信号生成部５０の構成例を示すブロック図である。
【０１４２】
この実施形態の制御信号生成部５０は、パルス発生部３０のチョッパ回路３３のビット記憶部３３１と全く同様の構成のビット記憶部５１と、ナンドゲート５２、５３と、インバータ５４〜５８とを備えて構成されている。
【０１４３】
そして、スキャンテストモードイネーブル信号ＴＥＳＴ＿ＥＮがビット記憶部５１のデータ入力端に供給される。そして、クロック信号ＣＬＫおよび当該クロック信号ＣＬＫがインバータ５６により極性反転された信号が、２つの位相信号φ、φ！とされて、ビット記憶部５１に、その内部のスリーステートバッファのゲート制御信号として供給される。
【０１４４】
そして、ビット記憶部５１の出力信号ＤＳが極性反転されてナンドゲート５２の一方の入力端に供給されると共に、インバータ５７からのクロック信号ＣＬＫと同相で、遅延された信号がナンドゲート５２の他方の入力端に供給される。
【０１４５】
また、スキャンテストモードイネーブル信号ＴＥＳＴ＿ＥＮがナンドゲート５３の一方の入力端に供給されると共に、インバータ５８からのクロック信号ＣＬＫと逆相で、遅延された信号がナンドゲート５３の他方の入力端に供給される。
【０１４６】
そして、ナンドゲート５２の出力は、インバータ５４により極性反転されて、制御信号ＳＬＣＫとして出力される。
【０１４７】
また、ナンドゲート５３の出力は、インバータ５５により極性反転されて、制御信号ＭＳＣＫとして出力される。
【０１４８】
この制御信号生成部５０の動作を、図１１および図１２のタイミングチャートを参照しながら説明する。図１１（Ｅ）〜（Ｈ）は、ファンクションモードのときの制御信号生成部５０の各部波形を示すものである。また、図１２（Ｅ）〜（Ｈ）は、スキャンテストモードのときの制御信号生成部５０の各部波形を示すものである。
【０１４９】
先ず、ファンクションモードにおける動作を説明する。
【０１５０】
すなわち、この例では、ファンクションモードにおいては、図１１（Ｂ）に示すように、スキャンテストモードイネーブル信号ＴＥＳＴ＿ＥＮは「０」の状態である。したがって、クロック信号ＣＬＫ（図１１（Ｅ）参照）によりビット記憶部４１に取込保持された結果としてのビット記憶部４１の出力信号ＤＳは、図１１（Ｆ）に示すように、「１」の状態となる。
【０１５１】
これにより、インバータ５４の出力信号である制御信号ＳＬＣＫは、図１１（Ｇ）に示すように、常に「０」の状態となる。
【０１５２】
また、スキャンテストモードイネーブル信号ＴＥＳＴ＿ＥＮは「０」の状態であるので、インバータ５５の出力信号である制御信号ＭＳＣＫは、図１１（Ｈ）に示すように、常に「０」の状態となる。
【０１５３】
次に、スキャンテストモードにおける動作について説明する。
【０１５４】
スキャンテストモードにおいては、図１２（Ｂ）に示すように、スキャンテストモードイネーブル信号ＴＥＳＴ＿ＥＮは「１」の状態とされる。したがって、クロック信号ＣＬＫ（図１２（Ｅ）参照）によりビット記憶部４１に取込保持された結果としてのビット記憶部４１の出力信号ＤＳは、図１２（Ｆ）に示すように、「０」の状態となる。
【０１５５】
このため、ナンドゲート５２は、他方の入力端に供給する信号を出力させる状態となり、インバータ５４の出力信号である制御信号ＳＬＣＫは、図１２（Ｇ）に示すように、クロック信号ＣＬＫよりも遅延し、かつ、クロック信号ＣＬＫを極性反転した信号となる。
【０１５６】
また、スキャンテストモードイネーブル信号ＴＥＳＴ＿ＥＮは「１」の状態であるので、ナンドゲート５３は、他方の入力端に供給する信号を出力させる状態となる。したがって、インバータ５５の出力信号である制御信号ＭＳＣＫは、図１２（Ｈ）に示すように、クロック信号ＣＬＫよりも遅延し、かつ、クロック信号ＣＬＫと同相の信号となる。
【０１５７】
すなわち、制御信号ＳＬＣＫとＭＳＣＫとは、相補的な信号とされる。
【０１５８】
なお、以上の信号ＰＬＳおよび制御信号ＳＬＣＫ，ＭＳＣＫを用いた、ファンクションモードおよびスキャンテストモードにおける、この実施形態のデータ取込保持装置の動作は、前述した通りである。
【０１５９】
以上説明したように、この実施形態のデータ取込保持装置においては、ファンクションモードにおいては、入力データＤｉｎは、第１のビット記憶部１１０において、パルス信号ＰＬＳにより、データ取込保持されて、出力される。
【０１６０】
また、スキャンテストモードにおいては、スキャンテスト信号ＳＣｉｎが、第２のビット記憶部１２０を通じて第１のビット記憶部１１０に取込保持されることにより、スキャンチェーンを形成してビットシリアル転送の機能を備えることが可能となり、それを用いることで回路の点検、動作確認などが実行される。
【０１６１】
したがって、データ取込保持部に対しては、従来のようなスキャンテストモードとファンクションモードとで切り替えられるセレクタ（マルチプレクサ）は存在しない。このため、ファンクションモードにおいては、高速動作が可能となる。
【０１６２】
また、この実施形態では、前述したように、ラッチ用パルスとしてのパルスＰＬＳのパルス幅は、ビット記憶部１１０の書き込み動作時間を保証するものとなっているので、データラッチについて誤動作を防止することができるという効果もある。
【０１６３】
また、この実施形態のデータ取込保持装置によれば、ファンクションモードにおける動作は、スキャンテストモードを有しない従来のデータ取込保持装置より高速動作となると言う効果もある。すなわち、従来の一般的なこの種のデータ取込保持装置は、ラッチ回路としてマスタースレーブ式フリップフロップを用いたものとなっている。
【０１６４】
データ取込保持装置の高速動作のためには、ラッチ回路（フリップフロップ回路）の動作速度、とりわけインサーションディレー（Insertion  Delay）が小さいことが重要である。ここで、インサーションディレーとは、クロック信号ＣＬＫの１周期のうち、ラッチ回路（フリップフロップ回路）で消費してしまう時間であり、これが短いほど高速動作になる。
【０１６５】
一般的に、インサーションディレーは、セットアップタイム（Setup  Time）と、バリッドディレー（Valid  Delay）との和として定義される。従来のマスタースレーブ式フリップフロップでは、クロック信号ＣＬＫの立ち上がり直前にマスター側ラッチへの書き込み時間を要し、それがセットアップタイムである。
【０１６６】
これに対して、上述した実施形態のデータ取込保持装置におけるビットラッチ部１０〜１７のそれぞれは、クロック信号ＣＬＫの立ち上がり直前の書き込み動作は存在しない。このため、セットアップタイムはゼロである。
【０１６７】
バリッドディレーは、従来のマスタースレーブ式フリップフロップの場合には、マスター側ラッチからスレーブ側ラッチへのデータの書き込み時間にほぼ等しい。これに対して、この実施形態の場合には、バリッドディレーは、ビット記憶部１１０への書き込み時間にほぼ等しい。したがって、従来の場合と、この実施形態の場合とで、バリッドディレーは、ほぼ同等であると考えられる。
【０１６８】
以上のことから、上述の実施形態のデータ取込保持装置は、従来のマスタースレーブフリップフロップを用いたデータ取込保持装置に比較して、セットアップタイムが存在しない分、インサーションディレーが小さくなり、高速動作が可能となる。
【０１６９】
なお、図１の実施形態では、入力データＤｉｎが８ビットであったので、８個のビットラッチ回路１０〜１７を設けるようにしたが、ビットラッチ回路の数は、入力データＤｉｎのビット数に応じた数を設けるようにするものであることは言うまでもない。
【０１７０】
［第２の実施形態（ダブルエッジトリガ型のデータ取込保持装置）］
上述した第１の実施形態は、クロック信号ＣＬＫの立ち上がりでのみ入力データの取り込みを行うシングルエッジトリガ型のデータ取込保持装置である。これに対して、第２の実施形態は、クロック信号ＣＬＫの立ち上がりおよび立ち下がりの両エッジにおいて、入力データの取り込み保持を行うダブルエッジトリガ型（以下、ＤＥＴ型という）のデータ取込保持装置の場合である。
【０１７１】
＜従来のＤＥＴ型のデータ取込保持装置＞
図１３は、従来のＤＥＴ型のデータ取込保持装置の一般的な構成例を示すものである。この図１３は、１ビットの入力データのデータ取込保持装置の構成であり、入力データが複数ビットの場合には、図１３の回路がその複数ビット分、並列に設けられるものである。
【０１７２】
すなわち、この図１３の例のデータ取込保持装置６０は、立ち上がりエッジラッチ部６１と、立ち下がりエッジラッチ部６２と、インバータ６３と、セレクタ６４とからなる。
【０１７３】
入力データＤｉｎは、立ち上がりエッジラッチ回路６１および立ち下がりエッジラッチ回路６２のデータ入力端に供給される。そして、クロック信号ＣＬＫがそのままの極性で立ち上がりエッジラッチ回路６１のクロック入力端に供給されると共に、インバータ６３により極性反転されて立ち下がりエッジラッチ回路６２のクロック入力端に供給される。
【０１７４】
立ち上がりエッジラッチ回路６１では、クロック信号ＣＬＫの立ち上がり区間で、入力データＤｉｎの取り込みが行われ（スルー状態）、クロック信号ＣＬＫの立ち下がりから保持状態（ホールド状態）に切り替わる。そして、立ち上がりエッジラッチ回路６１は、取り込み保持した信号Ｄ＿ＰＯＳをセレクタ６４の一方の入力端Ａに供給する。
【０１７５】
また、立ち下がりエッジラッチ回路６２では、クロック信号ＣＬＫの立ち下がり区間で、入力データＤｉｎの取り込みが行われ（スルー状態）、クロック信号ＣＬＫの立ち上がりから保持状態（ホールド状態）に切り替わる。そして、立ち下がりエッジラッチ回路６２は、取り込み保持した信号Ｄ＿ＮＥＧをセレクタ６４の他方の入力端Ｂに供給する。
【０１７６】
セレクタ６４には、クロック信号ＣＬＫがセレクト信号として供給される。そして、セレクタ６４は、クロック信号ＣＬＫが「０」のときには、立ち上がりエッジラッチ回路６１の出力Ｄ＿ＰＯＳを選択し、クロック信号ＣＬＫが「１」のときには、立ち下がりエッジラッチ回路６１の出力Ｄ＿ＮＥＧを選択して、出力信号Ｄｏｕｔとする。
【０１７７】
すなわち、セレクタ６４で出力として選択されていない側のラッチ部で入力データの取り込みが行われ、クロック信号ＣＬＫの変化点で、保持状態（ホールド状態）に切り替わり、その保持状態になっているラッチ回路の出力が、出力Ｄｏｕｔとして導出される。
【０１７８】
こうして、セレクタ６４からは、クロック信号ＣＬＫの立ち上がりおよび立ち下がりの両方で、入力データＤｉｎがラッチされた出力信号Ｄｏｕｔが出力される。
【０１７９】
＜第２の実施形態のＤＥＴ型データ取込保持装置＞
この第２の実施形態のＤＥＴ型データ取込保持装置も、全体の構成は、第１の実施形態と全く同様に図１に示したものである。そして、ビットラッチ部１０〜１７のそれぞれの構成は、第１の実施形態と全く同様に、図２に示した構成を備えるものである。
【０１８０】
すなわち、第２の実施形態のＤＥＴ型データ取込保持装置は、上述した従来のＤＥＴ型データ取込保持装置のように、クロック信号ＣＬＫの立ち上がりエッジラッチ回路６１と、立ち下がりエッジラッチ回路６２との２個のラッチ回路を有するのではない。第２の実施形態のＤＥＴ型データ取込保持装置においては、１ビットデータについて、クロック信号ＣＬＫの立ち上がりおよび立ち下がりのエッジ時点でのラッチを、図２に示した１個のビット記憶部１１０のみで行うようにするものである。
【０１８１】
したがって、第２の実施形態の場合、従来のＤＥＴ型データ取込保持装置におけるビットラッチ部に比べて、ハードウエア規模が１／２になる。
【０１８２】
そして、この第２の実施形態のＤＥＴ型データ取込保持装置のパルス発生部は、クロック信号ＣＬＫの立ち上がりおよび立ち下がりの両方のエッジ時点から、所定のパルス幅を備えるパルス信号ＰＬＳｕｄを発生する。
【０１８３】
第２の実施形態のＤＥＴ型データ取込保持装置では、このパルス信号ＰＬＳｕｄが、図１のビットラッチ部１０〜１７のラッチ用パルス入力端子に供給される。したがって、ビットラッチ部１０〜１７のそれぞれからは、入力データＤｉｎの各ビットデータＤｉｎ０，Ｄｉｎ１，Ｄｉｎ２，・・・，Ｄｉｎ７のそれぞれを、クロック信号ＣＬＫの立ち上がり時点のみではなく、立ち下がり時点においてもラッチした出力信号が出力される。
【０１８４】
＜第２の実施形態のパルス発生部＞
図１４に、この第２の実施形態のＤＥＴ型データ取込保持装置におけるローカルクロックバッファ回路２０のパルス発生部３０ｕｄの構成例を示す。なお、この第２の実施形態のＤＥＴ型データ取込保持装置におけるローカルクロックバッファ回路２０のラッチ用イネーブラ４０および制御信号生成部５０は、上述した第１の実施形態と全く同様である。
【０１８５】
また、図１５に、この第２の実施形態のＤＥＴ型データ取込保持装置のローカルクロックバッファ回路２０のパルス発生部３０ｕｄの各部の信号波形からなるタイミングチャートを示す。
【０１８６】
図１４に示すように、この第２の実施形態におけるローカルクロックバッファ回路２０のパルス発生部３０ｕｄは、立ち上がりエッジ用チョッパ回路６０と、立ち下がりエッジ用チョッパ回路７０とを備える。
【０１８７】
そして、立ち上がりエッジ用チョッパ回路６０の出力側には、スイッチングゲート８１を構成するｐ型ＭＯＳＦＥＴ８１ｐおよびｎ型ＭＯＳＦＥＴ８１ｎが設けられる。また、立ち下がりエッジ用チョッパ回路７０の出力側には、スイッチングゲート８２を構成するｐ型ＭＯＳＦＥＴ８２ｐおよびｎ型ＭＯＳＦＥＴ８２ｎが設けられる。さらに、この例のパルス発生部３０ｕｄは、インバータ７３，７４，７５を備える。
【０１８８】
そして、クロック信号ＣＬＫが立ち上がりエッジ用チョッパ回路６０および立ち下がりエッジ用チョッパ回路７０のそれぞれに供給される。
【０１８９】
また、立ち上がりエッジ用チョッパ回路６０および立ち下がりエッジ用チョッパ回路７０には、前述の例と同様に、このパルス発生部３０ｕｄの出力である信号ＰＬＳｕｄが供給される。
【０１９０】
そして、立ち上がりエッジ用チョッパ回路６０では、前述の実施形態のチョッパ回路の動作と同様の動作を行うことにより、この例では、クロック信号ＣＬＫ（図１５（Ａ）参照）の立ち上がりから所定の期間は、「１」の状態となる信号ＣＨＰｕ（図１５（Ｂ）参照）を生成する。この立ち上がりエッジ用チョッパ回路６０の構成および動作については、後で詳述する。
【０１９１】
また、立ち上がりエッジ用チョッパ回路７０では、同様に、前述の実施形態のチョッパ回路の動作と同様の動作を行うことにより、この例では、クロック信号ＣＬＫ（図１５（Ａ）参照）の立ち下がりから所定の期間は、「１」の状態となる信号ＣＨＰｄ（図１５（Ｄ）参照）を生成する。この立ち下がりエッジ用チョッパ回路７０の構成および動作についても、後で詳述する。
【０１９２】
立ち上がりエッジ用チョッパ回路６０の出力信号ＣＨＰｕは、スイッチングゲート８１に供給され、立ち下がりエッジ用チョッパ回路７０の出力信号ＣＨＰｄは、スイッチングゲート８２に供給される。
【０１９３】
そして、クロック信号ＣＬＫがそのままの極性で、スイッチングゲート８１のｎ型ＭＯＳＦＥＴ８１ｎのゲートに供給されると共に、スイッチングゲート８２のｐ型ＭＯＳＦＥＴ８２ｐのゲートに供給される。また、クロック信号ＣＬＫがインバータ８３で極性反転されて、スイッチングゲート８１のｐ型ＭＯＳＦＥＴ８１ｐのゲートに供給されると共に、スイッチングゲート８２のｎ型ＭＯＳＦＥＴ８２ｎのゲートに供給される。
【０１９４】
したがって、スイッチングゲート８１では、クロック信号ＣＬＫの「１」の期間で、ｐ型ＭＯＳＦＥＴ８１ｐおよびｎ型ＭＯＳＦＥＴ８１ｎがオンとなって、開の状態となり、立ち上がりエッジ用チョッパ回路６０の出力信号ＣＨＰｕを通過させる。その結果、スイッチングゲート８１からは、クロック信号ＣＬＫの立ち上がりから、チョッパ回路６０の１ビット記憶部での書き込み時間分のパルス幅を有するパルス信号Ｇｕ（図１５（Ｃ）参照）が得られる。
【０１９５】
また、スイッチングゲート８２では、クロック信号ＣＬＫの「０」の期間で、ｐ型ＭＯＳＦＥＴ８２ｐおよびｎ型ＭＯＳＦＥＴ８２ｎがオンとなって、開の状態となり、立ち下がりエッジ用チョッパ回路７０の出力信号ＣＨＰｕを通過させる。その結果、スイッチングゲート８２からは、クロック信号ＣＬＫの立ち上がりから、チョッパ回路７０の１ビット記憶部での書き込み時間分のパルス幅を有するパルス信号Ｇｄ（図１５（Ｅ）参照）が得られる。
【０１９６】
そして、この例のパルス発生部３０ｕｄでは、スイッチングゲート８１および８２の出力側が互いに接続されて、ワイヤードオアの接続されている。そして、そのワイヤードオアの出力がインバータ８４および８５を通じてパルス発生部３０ｕｄの出力ＰＬＳｕｄ（図１５（Ｆ）参照）として出力される。
【０１９７】
＜立ち上がりエッジ用チョッパ回路６０の構成例＞
図１６は、立ち上がりエッジ用チョッパ回路６０の構成例を示すブロック図である。
【０１９８】
立ち上がりエッジ用チョッパ回路６０は、パルス信号ＰＬＳｕｄのうちのパルスＧｕのパルス幅期間を生成する機能を有するもので、この例では、前述の第１の実施形態のパルス発生部３０のチョッパ回路３３のビット記憶部３３１と同じ構成のビット記憶部６１を具備する。このビット記憶部６１のデータ入力端子には、ローレベル（接地レベル）が入力されている。
【０１９９】
また、立ち上がりエッジ用チョッパ回路６０は、第１の実施形態のローカルクロックバッファ回路２０のパルス発生部３０のチョッパ回路３３のノアゲート３３２，インバータ３３３，３３４，３３６，スイッチ３３５に対応する、ノアゲート６２，インバータ６３，６４，６６、スイッチ６５を備える。
【０２００】
そして、ノアゲート６２の一方の入力端には、ビット記憶部６１の出力端に得られる信号が供給され、このノアゲート６２の他方の入力端には、ラッチ用イネーブラ４０からのラッチイネーブル信号ＥＮ＿ＬＡＴ＿Ｂが供給される。そして、このノアゲート６２からは、この立ち上がりエッジ用チョッパ回路６０の出力信号ＣＨＰｕが出力される。
【０２０１】
そして、インバータ６３には、パルス信号ＰＬＳｕｄが供給されるが、この第２の実施形態では、このインバータ６３の出力側には、スイッチングゲート６７が設けられる。
【０２０２】
そして、このスイッチングゲート６７の出力端に得られる出力は、そのままビット記憶部６１に供給されると共に、インバータ６４により極性反転されて、ビット記憶部６１に供給される。
【０２０３】
また、この第２の実施形態では、インバータ６４の入力側には、その入力信号として、ハイレベル（「１」）電位が供給されているスイッチングゲート６８が設けられる。このスイッチングゲート６８が開状態であるときには、このハイレベルの電位の信号が、そのままビット記憶部６１に供給されると共に、インバータ６４により極性反転されて、ビット記憶部６１に供給される。
【０２０４】
スイッチングゲート６７は、ｐ型ＭＯＳＦＥＴ６７ｐおよびｎ型ＭＯＳＦＥＴ６７ｎで構成される。また、スイッチングゲート６８は、ｐ型ＭＯＳＦＥＴ６８ｐおよびｎ型ＭＯＳＦＥＴ６８ｎで構成される。
【０２０５】
そして、クロック信号ＣＬＫがそのままの極性で、スイッチングゲート６７のｎ型ＭＯＳＦＥＴ６７ｎのゲートに供給されると共に、スイッチングゲート６８のｐ型ＭＯＳＦＥＴ６８ｐのゲートに供給される。また、クロック信号ＣＬＫがインバータ６６で極性反転されて、スイッチングゲート６７のｐ型ＭＯＳＦＥＴ６７ｐのゲートに供給されると共に、スイッチングゲート６８のｎ型ＭＯＳＦＥＴ６８ｎのゲートに供給される。
【０２０６】
したがって、スイッチングゲート６７は、クロック信号ＣＬＫの「１」の区間のみ、開状態となり、スイッチングゲート６８は、クロック信号ＣＬＫの「０」の区間のみ、開状態になる。
【０２０７】
このため、クロック信号の「１」の区間では、スイッチングゲート６７が開状態で、スイッチングゲート６８が閉状態であるので、スイッチングゲート６７を通じてインバータ６３で極性反転されたパルス信号ＰＬＳｕｄが得られる。この極性反転されたパルス信号ＰＬＳｕｄは、そのままの極性でビット記憶部６１にゲート制御信号として供給されると共に、インバータ６４でさらに極性反転されてビット記憶部６１にゲート制御信号として供給される。すなわち、２つの位相信号φ！、φが、ビット記憶部６１にゲート制御信号として供給される。
【０２０８】
一方、クロック信号の「０」の区間では、スイッチングゲート６７が閉状態で、スイッチングゲート６８が開状態であるので、スイッチングゲート６８を通じてハイレベルの信号が得られる。このハイレベルの信号は、そのままの極性でビット記憶部６１にゲート制御信号として供給されると共に、インバータ６４でさらに極性反転されてビット記憶部６１にゲート制御信号として供給される。すなわち、この場合、２つの位相信号φ！、φは、クロック信号「１」のときとは、逆極性で、ビット記憶部６１にゲート制御信号として供給される。
【０２０９】
前述したように、２つの位相のゲート制御信号φ、φ！が、［φ、φ！］＝［１，０］のときには、ビット記憶部６１では、その入力データを取込保持する動作をする。したがって、この立ち上がりエッジ用チョッパ回路６０のビット記憶部６１では、クロック信号ＣＬＫが「１」のときにのみ、パルス信号ＰＬＳｕｄのパルス期間（「１」）で入力データである接地電位を取り込むようにする。
【０２１０】
そこで、この立ち上がりエッジ用チョッパ回路６０からは、図１５（Ｂ）に示したような出力信号ＣＨＰｕが出力される。そして、前述したように、この出力信号ＣＨＰｕが用いられて、クロック信号ＣＬＫの立ち上がりエッジを前縁とし、ビット記憶部６１の入力データ取込時間分のパルス幅を有するパルスＧｕが生成される。
【０２１１】
＜立ち下がりエッジ用チョッパ回路７０の構成例＞
図１７は、立ち下がりエッジ用チョッパ回路７０の構成例を示すブロック図である。
【０２１２】
立ち下がりエッジ用チョッパ回路７０は、パルス信号ＰＬＳｕｄのうちのパルスＧｄのパルス幅期間を生成する機能を有するもので、立ち上がりエッジ用チョッパ回路６０とほぼ同様の構成を有する。
【０２１３】
すなわち、この例では、前述の第１の実施形態のパルス発生部３０のチョッパ回路３３のビット記憶部３３１と同じ構成のビット記憶部７１を具備する。
【０２１４】
また、立ち下がりエッジ用チョッパ回路７０は、立ち上がりエッジ用チョッパ回路６０のノアゲート６２，インバータ６３，６４，６６、スイッチ６５と同様にして、ノアゲート７２，インバータ７３，７４，７６、スイッチ７５を備える。
【０２１５】
そして、ノアゲート７２の一方の入力端には、ビット記憶部７１の出力端に得られる信号が供給され、このノアゲート７２の他方の入力端には、ラッチ用イネーブラ４０からのラッチイネーブル信号ＥＮ＿ＬＡＴ＿Ｂが供給される。そして、このノアゲート７２からは、この立ち下がりエッジ用チョッパ回路７０の出力信号ＣＨＰｄが出力される。
【０２１６】
また、立ち下がりエッジ用チョッパ回路７０は、立ち上がりエッジ用チョッパ回路６０のスイッチングゲート６７，６８に対応するスイッチングゲート７７，７８が設けられる。スイッチングゲート７は、ｐ型ＭＯＳＦＥＴ７７ｐおよびｎ型ＭＯＳＦＥＴ７７ｎで構成される。また、スイッチングゲート７８は、ｐ型ＭＯＳＦＥＴ７８ｐおよびｎ型ＭＯＳＦＥＴ７８ｎで構成される。
【０２１７】
立ち下がりエッジ用チョッパ回路７０では、クロック信号ＣＬＫの「１」、「０」についてのスイッチングゲート７７および７８の開閉状態が、立ち上がりエッジ用チョッパ回路６０のスイッチングゲート６７および６８の開閉状態の場合とは逆になる。立ち下がりエッジ用チョッパ回路７０と立ち上がりエッジ用チョッパ回路６０とで、構成的に異なるのは、この点のみである。
【０２１８】
すなわち、クロック信号ＣＬＫがそのままの極性で、スイッチングゲート７７のｐ型ＭＯＳＦＥＴ７７ｐのゲートに供給されると共に、スイッチングゲート７８のｎ型ＭＯＳＦＥＴ７８ｎのゲートに供給される。また、クロック信号ＣＬＫがインバータ７６で極性反転されて、スイッチングゲート７７のｎ型ＭＯＳＦＥＴ７７ｎのゲートに供給されると共に、スイッチングゲート７８のｐ型ＭＯＳＦＥＴ７８ｐのゲートに供給される。
【０２１９】
したがって、スイッチングゲート７７は、クロック信号ＣＬＫの「０」の区間のみ、開状態となり、スイッチングゲート７８は、クロック信号ＣＬＫの「１」の区間のみ、開状態になる。
【０２２０】
このため、クロック信号の「０」の区間では、スイッチングゲート７７が開状態で、スイッチングゲート７８が閉状態であるので、スイッチングゲート７７を通じてインバータ７３で極性反転されたパルス信号ＰＬＳｕｄが得られる。この極性反転されたパルス信号ＰＬＳｕｄは、そのままの極性でビット記憶部７１にゲート制御信号として供給されると共に、インバータ７４でさらに極性反転されてビット記憶部７１にゲート制御信号として供給される。すなわち、２つの位相信号φ！、φが、ビット記憶部７１にゲート制御信号として供給される。
【０２２１】
一方、クロック信号の「１」の区間では、スイッチングゲート７７が閉状態で、スイッチングゲート７８が開状態であるので、スイッチングゲート７８を通じてハイレベルの信号が得られる。このハイレベルの信号は、そのままの極性でビット記憶部７１にゲート制御信号として供給されると共に、インバータ７４でさらに極性反転されてビット記憶部７１にゲート制御信号として供給される。すなわち、この場合、２つの位相信号φ！、φは、クロック信号「０」のときとは、逆極性で、ビット記憶部７１にゲート制御信号として供給される。
【０２２２】
前述したように、２つの位相信号φ、φ！が、［φ、φ！］＝［１，０］のときには、ビット記憶部７１では、その入力データを取込保持する動作をする。したがって、この立ち下がりエッジ用チョッパ回路７０のビット記憶部７１からは、クロック信号ＣＬＫが「０」のときにのみ、パルス信号ＰＬＳｕｄのパルス期間（「１」）で入力データである接地電位を取り込むようにする。
【０２２３】
そこで、この立ち下がりエッジ用チョッパ回路７０からは、図１５（Ｄ）に示したような出力信号ＣＨＰｄが出力される。そして、前述したように、この出力信号ＣＨＰｄが用いられて、クロック信号ＣＬＫの立ち下がりエッジを前縁とし、ビット記憶部７１の入力データ取込時間分のパルス幅を有するパルスＧｄが生成される。
【０２２４】
図１８は、以上説明した第２の実施形態のＤＥＴデータ取込保持装置におけるローカルクロックバッファ回路２０のパルス発生部３０ｕｄにおける動作波形と、プロセスばらつきに対する比較を示すものである。
【０２２５】
図１８（Ａ）〜（Ｄ）は、ビット記憶部のスリーステートバッファのそれぞれを構成するｎ型ＭＯＳＦＥＴと、ｐ型ＭＯＳＦＥＴとのタイプの組み合わせにおけるパルス発生部３０ｕｄにおける動作波形を示している。例えば「ＳｌｏｗＳｌｏｗ」は、ｎ型ＭＯＳＦＥＴと、ｐ型ＭＯＳＦＥＴとが共に低速タイプの素子で、スリーステートバッファを構成した場合を意味している。また、例えば「ＳｌｏｗＦａｓｔ」は、ｎ型ＭＯＳＦＥＴが低速タイプ、ｐ型ＭＯＳＦＥＴが高速タイプの素子で、スリーステートバッファを構成した場合を意味している。
【０２２６】
そして、図１８（Ａ）〜（Ｄ）において、実線は、クロック信号ＣＬＫを示している。また、細かい破線は、信号（パルス）ＰＬＳの動作波形を示している。粗い破線は、チョッパ回路６０，７０のビット記憶部の出力端に得られる信号の動作波形を示している。また、一点鎖線は、ファンクションモードにおける例えばビットラッチ部１０のビット記憶部１１０の出力端に得られる信号の動作波形を示している。
【０２２７】
この図１８から判るように、クロック信号ＣＬＫの立ち上がりエッジおよび立ち下がりエッジに同期して、パルス信号ＰＬＳが生成されている。
【０２２８】
図１８（Ａ）〜（Ｄ）示されるように、パルス信号ＰＬＳ（細かい破線）のパルス幅期間において、データラッチ用の１ビット記憶部１０１の保持ノード電位波形（一点鎖線）は、取り込んだデータの電位は、十分に安定した電位にまで達していることが判る。しかも、プロセスばらつき条件を、図１８（Ａ）〜（Ｄ）のように、様々に変えた場合であっても、その関係が維持されていることが判る。
【０２２９】
この第２の実施形態の場合にも、上述した第１の実施形態と同様の効果を備えることは言うまでもない。さらに、この第２の実施形態のＤＥＴ型データ取込保持装置の場合には、ビットラッチ部の構成が、従来のＤＥＴ型装置よりも簡単になっているので、回路規模を小さくすることができるという効果がある。
【０２３０】
なお、この第２の実施形態のＤＥＴ型データ取込保持装置は、ファンクションモードにおいては、上述したように、パルス信号ＰＬＳによるダブルエッジトリガ型として、入力データの取込保持動作を行う。つまり、ファンクションモードにおいては、クロック信号ＣＬＫの２倍の周波数でラッチ動作を行う。
【０２３１】
一方、スキャンテストモードにおいては、この第２の実施形態のＤＥＴ型データ取込保持装置は、第１の実施形態と同様に、クロックＣＬＫによるシングルエッジトリガ型として、マスタースレーブ式フリップフロップと同様にしてスキャンテスト信号の取込保持動作をする。つまり、スキャンテストモードにおいては、クロック信号ＣＬＫの周波数でラッチ動作を行う。
【０２３２】
この第２の実施形態のＤＥＴ型データ取込保持装置を用いることで、例えば（Ａ＋Ｂ＋Ｃ）＝Ｙという加算演算を、クロック信号ＣＬＫの１周期で行う演算回路を実現する場合に、従来方式では２個の加算器を用いなければならないところを、１個の加算器で実現することができる。以下、この効用について説明する。
【０２３３】
図１９は、従来方式による演算回路の例を示すものである。これは、Ａ，Ｂ，Ｃの値を保持するレジスタ８１，８２，８３と、２個の加算器８４，８５と、シングルエッジトリガ型のレジスタ（データ取込保持装置）８６とからなる。
【０２３４】
クロック信号ＣＬＫに同期して、レジスタ８１，８２，８３が、Ａ，Ｂ，Ｃの値が読み出される。そして、先ず加算器８４で、（Ａ＋Ｂ）＝Ｘの演算がなされ、次いで、加算器８５で、（Ｘ＋Ｃ）＝Ｙの演算がなされる。そして、レジスタ８６に、加算結果Ｙが取込保持され、出力される。
【０２３５】
図２０は、第２の実施形態のＤＥＴ型データ取込保持装置を用いた演算回路の例を示すものである。すなわち、この例では、レジスタ８１の出力Ａはセレクタ（マルチプレクサ）８７の一方の入力端に供給される。また、レジスタ８２および８３の出力ＢおよびＣは、セレクタ（マルチプレクサ）８８の一方および他方の入力端に供給される。
【０２３６】
そして、セレクタ（マルチプレクサ）８７および８８の出力が加算器８９に供給され、この加算器８９の出力が、この実施形態のＤＥＴ型データ取込保持装置からなるレジスタ９０に供給される。さらに、レジスタ９０の出力は、セレクタ（マルチプレクサ）８７の他方の入力端に供給される。
【０２３７】
セレクタ８７および８８は、それぞれ、クロック信号ＣＬＫの１周期の前半および後半で、選択動作が可能とされている。
【０２３８】
以上のような図２０の構成において、クロック信号ＣＬＫの前半の例えば「１」の区間では、セレクタ８７はレジスタ８１からの値Ａを選択して出力し、セレクタ８８はレジスタ８２からの値Ｂを選択して出力する。そこで、このクロック信号ＣＬＫの前半の区間では、加算器８９で（Ａ＋Ｂ）＝Ｘの演算がなされる。そして、その加算結果Ｘが、クロック信号ＣＬＫの「１」から「０」への切り替わり時点でレジスタ９０に取込保持される。
【０２３９】
そして、クロック信号ＣＬＫの後半の「０」の区間になると、セレクタ８７は、レジスタ９０の出力（Ｘ）を選択して出力し、セレクタ８８はレジスタ８３からの値Ｃを選択して出力する。加算器８９は、このクロック信号ＣＬＫの後半の区間で、（Ｘ＋Ｃ）＝Ｙの演算を行う。そして、その加算結果Ｙが、クロック信号ＣＬＫの「０」から「１」への切り替わり時点でレジスタ９０に取込保持され、出力される。
【０２４０】
以上の図２０の演算回路の動作において、クロック信号ＣＬＫの「０」から「１」への切り替わり時点だけを見ると、その論理動作は、図１９の従来方式と全く同一となる。
【０２４１】
なお、スキャンテストモード時においては、この実施形態のＤＥＴ型データ取込保持装置は、クロック信号ＣＬＫと同じ周波数で動作するので、この実施形態のＤＥＴ型データ取込保持装置の前後に、一般的なシングルエッジトリガ型のデータ取込保持装置が組み合わされていても、動作に全く矛盾を生じることがない。
【０２４２】
［第３の実施形態］
リーク電流を削減するためには、使用せずに機能停止させる回路部分には電源の供給を停止させることが良く行われる。この場合に、機能停止をさせている間でも、記憶内容を保持すべきであるデータ取込保持装置に関しては、前の状態をすぐに復元できるようにするため、電源断の直前の状態を保持するリテンション機能を持つことが必要である。第３の実施形態は、リテンション機能を備えるデータ取込保持装置の例である。
【０２４３】
図２１は、この第３の実施形態のデータ取込保持装置のビットラッチ部の構成例を示すものである。ビットラッチ部１０〜１７は、同一の構成を備えるので、第１の実施形態と同様に、図２１は、ビットラッチ部１０を代表としたものである。
【０２４４】
図２１に示すように、この第３の実施形態におけるビットラッチ部１０は、第２のビット記憶部１２０も、第１のビット記憶部１１０と同様に、２データ書き込み型の構成とされている。
【０２４５】
すなわち、第２のビット記憶部１２０は、キーパー１２２を保持部とするゲート手段として、スリーステートバッファ１２１に加えて、スリーステートバッファ１４３が設けられる。このスリーステートバッファ１４３の入力としては、インバータ１３９からの出力が供給される。インバータ１３９の出力は、Ｄｏｕｔ０と同じ論理値である。Ｄｏｕｔ０と同じ論理値をある適切な遅延を経た上で用いるという意図をもってインバータ１３９の出力が使用される。実施例ではインバータ４段を経ているが、言うまでもなく、この遅延の量は、製造技術、製造装置に応じて適切に調整されるものであって、インバータ段数は４段に限定されるものではない。
【０２４６】
そして、リテンション制御信号ＲＥＴＮが、インバータ１４４により極性反転されたものと、インバータ１４５によりさらに極性反転された元の極性にされたものとが、第４のゲート制御信号φ４、φ４！として、第２のビット記憶部１２０に供給される。
【０２４７】
このリテンション制御信号ＲＥＴＮは、ローカルクロックバッファ回路２０で生成される。この第３の実施形態におけるローカルクロックバッファ回路２０の構成例については、後述する。
【０２４８】
そして、この第３の実施形態におけるビットラッチ部１０では、第２のビット記憶部１２０のキーパー１２２のスリーステートバッファ１２３も、第４のゲート制御信号φ４、φ４！によりゲート制御される構成とされている。
【０２４９】
そして、この第３の実施形態では、図２１において、点線で囲んだ部分、すなわち、第２のビット記憶部１２０と、インバータ１４０，１４１，１４４，１４５とからなる部分には、常時電源が供給されるように構成されている。
【０２５０】
そして、点線を囲んだ部分を除く部分には、このデータ取込保持装置を機能停止させるときには、電源供給を遮断し、機能実行させるときには、電源供給を行うように構成されている。
【０２５１】
その他は、図２に示した第１の実施形態で説明したビットラッチ部１０の構成と全く同様である。
【０２５２】
図２２に、この第３の実施形態のデータ取込保持装置におけるローカルクロックバッファ回路２０の構成例を示す。
【０２５３】
この第３の実施形態のデータ取込保持装置は、図２１において、点線で囲んだ部分を除く部分への電源の遮断に先立って、第１のビット記憶部１１０のキーパー１１３に保持されているデータを、第２のビット記憶部１２０に転送書き込みするストアモードを備える。
【０２５４】
また、この第３の実施形態のデータ取込保持装置は、電源遮断された部分への電源供給回復の後、一般動作の開始に先立って、第２のビット記憶部１２０に退避されていた記憶内容を、第１のビット記憶部１１０に転送書き込みするリストアモードを備える。
【０２５５】
そして、この第３の実施形態においては、図示を省略した制御部は、ストアモードを開始するためのトリガとしてストア信号ＳＴＲを発生すると共に、リストアモードを開始するためのトリガとしてリストア信号ＲｅＳＴＲを発生する。
【０２５６】
図２２に示すように、この第３の実施形態におけるローカルクロックバッファ回路２０においては、前述の実施形態と同様に、パルス発生部３０、ラッチ用イネーブラ４０、制御信号生成部５０を備えるが、制御信号生成部５０の構成が前述の実施形態とは異なる。
【０２５７】
すなわち、第３の実施形態においては、制御部からのスキャンテストストア信号ＳＴＲと、リストア信号ＲｅＳＴＲとが、制御信号生成部５０にさらに供給される。
【０２５８】
この第３の実施形態のデータ取込保持装置では、ファンクションモードおよびスキャンテストモードにおける動作は、第１の実施形態において、図３および図４を参照して説明したものと全く同様である。
【０２５９】
ただし、この第３の実施形態におけるリテンション制御信号ＲＥＴＮは、図２３（Ｅ）および図２４（Ｅ）に示すように、このファンクションモードおよびスキャンテストモードにおいては、常に「０」の状態とされる。
【０２６０】
次に、ストアモードについて、図２５のタイミングチャートを参照して説明する。
【０２６１】
この第３の実施形態では、制御部は、前述したように、点線で囲んだ部分を除く部分への電源の遮断に先立って、「１」となるストア信号ＳＴＲ（図２５（Ａ）参照）を出力する。
【０２６２】
ローカルクロックバッファ回路２０の制御信号生成部５０は、クロック信号ＣＬＫ（図２５（Ｂ）参照）の立ち上がりで、このストア信号ＳＴＲをラッチして、スキャンテストストアラッチ信号ＳＴＲ＿ＬＡＴ（図２５（Ｃ）参照）を生成する。
【０２６３】
そして、制御信号生成部５０は、このストアラッチ信号ＳＴＲ＿ＬＡＴに基づき、リテンション制御信号ＲＥＴＮとして、このストアラッチ信号ＳＴＲ＿ＬＡＴと同期する信号（図２５（Ｇ）参照）を生成して出力する。
【０２６４】
このストアモードにおいては、その他の信号ＰＬＳ（図２５（Ｄ）参照）および制御信号ＳＬＣＫ，ＭＳＣＫ（図２５（Ｅ），（Ｆ）参照）は、全て「０」の状態とされる。
【０２６５】
そして、ストアモードにおいては、リテンション制御信号ＲＥＴＮが、「１」になることから、スリーステートバッファ１４３がゲート開の状態となり、第１のビット記憶部１１０のキーパー１１３の記憶内容が、第２のビット記憶部１２０のキーパー１２２に転送記憶される。
【０２６６】
このストアモードが完了した後、第３のデータ取込保持装置では、点線で囲んだ部分を除く部分への電源が遮断される。
【０２６７】
次に、リストアモードについて、図２５のタイミングチャートを参照して説明する。
【０２６８】
この第３の実施形態では、制御部は、前述したように、点線で囲んだ部分を除く部分の電源遮断状態から電源供給回復状態の後、一般動作に先立って、「１」となるリストア信号ＲｅＳＴＲ（図２６（Ａ）参照）を出力する。
【０２６９】
ローカルクロックバッファ回路２０の制御信号生成部５０は、クロック信号ＣＬＫ（図２６（Ｂ）参照）の立ち上がりで、このリストア信号ＳＴＲをラッチして、リストアラッチ信号ＲｅＳＴＲ＿ＬＡＴ（図２６（Ｃ）参照）を生成する。
【０２７０】
そして、制御信号生成部５０は、このリストアラッチ信号ＲｅＳＴＲ＿ＬＡＴに基づき、制御信号ＳＬＣＫとして、このリストアラッチ信号ＲｅＳＴＲ＿ＬＡＴと同期する信号（図２６（Ｅ）参照）を生成して出力する。
【０２７１】
このリストアモードにおいては、その他の信号ＰＬＳ（図２６（Ｄ）参照）、制御信号ＭＳＣＫ（図２６（Ｆ）参照）およびリテンション制御信号ＲＥＴＮ（図２６（Ｇ）参照）は、全て「０」の状態とされる。
【０２７２】
そして、このリストアモードにおいては、制御信号ＳＬＣＫが、「１」になることから、第１のビット記憶部１１０のスリーステートバッファ１１２がゲート開の状態となり、第２のビット記憶部１２０のキーパー１２２の記憶内容が、第１のビット記憶部１１０のキーパー１１３に転送記憶される。
【０２７３】
このリストアモードが完了した後、第３のデータ取込保持装置では、一般動作が開始される。
【０２７４】
以上のように、第３の実施形態のデータ取込保持装置においては、スキャンテスト信号をラッチするための第２のビット記憶部１２０を、電源遮断時のデータ退避手段とするようにするので、特別のデータ退避手段を設けることなく、リテンション機能を実現できる。
【０２７５】
［他の実施形態およびその他の変形例］
なお、上述した第１の実施形態は、クロック信号ＣＬＫの立ち上がりエッジをパルス信号ＰＬＳのパルス幅区間の前縁としたが、クロック信号ＣＬＫの立ち下がりエッジをパルス信号ＰＬＳのパルス幅区間の前縁とする構成とすることもできることはいうまでもない。
【０２７６】
すなわち、その場合のローカルクロックバッファ回路２０のパルス発生部３０は、上述した第３の実施形態のダブルエッジトリガ型のデータ取込保持装置におけるクロック信号ＣＬＫの立ち下がりエッジ用回路部分の構成とすればよい。
【０２７７】
なお、チョッパ回路３３のビット記憶部３３１は、ビット記憶部１１０のスリーステートバッファ１１１およびキーパー１１２と全く同じ構成とするようにしたが、全く同じ構成とするのではなく、同等の構成を備えるものであれば良い。すなわち、要は、入力されるパルス信号によって、入力データが取り込み保持されるまでの時間として、ビット記憶部１１０と同じ時間を要するように構成されたものであれば、全く同じ構成でなくても良い。
【０２７８】
また、ビットラッチ部１０〜１７の構成は、上述の実施形態のようなスリーステートバッファを用いたものに限られるものではないことはいうまでもない。良く知られるＣＭＯＳ  Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｇａｔｅ型のラッチ回路を用いてもよい。
【符号の説明】
【０２７９】
１０〜１７…ビットラッチ部、２０…ローカルクロックバッファ回路、３０，３０ｕｄ…パルス発生部、１１０，１２０，３３１，６１，７１…ビット記憶部、３３，６０，７０…チョッパ回路
【図１】
2011058807.tif 000003
【図２】
2011058807.tif 000004
【図３】
2011058807.tif 000005
【図４】
2011058807.tif 000006
【図５】
2011058807.tif 000007
【図６】
2011058807.tif 000008
【図７】
2011058807.tif 000009
【図８】
2011058807.tif 000010
【図９】
2011058807.tif 000011
【図１０】
2011058807.tif 000012
【図１１】
2011058807.tif 000013
【図１２】
2011058807.tif 000014
【図１３】
2011058807.tif 000015
【図１４】
2011058807.tif 000016
【図１５】
2011058807.tif 000017
【図１６】
2011058807.tif 000018
【図１７】
2011058807.tif 000019
【図１８】
2011058807.tif 000020
【図１９】
2011058807.tif 000021
【図２０】
2011058807.tif 000022
【図２１】
2011058807.tif 000023
【図２２】
2011058807.tif 000024
【図２３】
2011058807.tif 000025
【図２４】
2011058807.tif 000026
【図２５】
2011058807.tif 000027
【図２６】
2011058807.tif 000028
【図２７】
2011058807.tif 000029