(57)【特許請求の範囲】
【請求項１】
実使用時のデータ入力信号と、スキャンテスト時のデータ入力信号とのいずれか一方をクロック信号のタイミングで取り込んで、縱続に接続されたマスターラッチとスレーブラッチとに順次転送してそれぞれ保持するとともに、前記スレーブラッチに保持したデータを出力するスキャンテスト用フリップフロップであって、
第１の保持回路として機能し、制御入力信号のレベルに応じて、スキャンテスト時のデータ入力信号または前記第１の保持回路としての自回路が保持している信号を択一的に選択して自回路に入力する第１のセレクタとを備えたラッチ手段と、
第２の保持回路として機能し、反転制御入力信号のレベルに応じて、前記ラッチ手段の出力信号または前記第２の保持回路としての自回路が保持している信号を択一的に選択して出力する第２のセレクタと、クロック信号のレベルに応じて実使用時のデータ入力信号または前記第２のセレクタの出力信号を択一的に選択して自回路に入力する第３のセレクタとを備えたマスターラッチと、
第３の保持回路として機能し、反転クロック信号のレベルに応じて、前記マスターラッチの出力信号または前記第３の保持回路としての自回路が保持している信号を択一的に選択して自回路に入力する第４のセレクタとを備えたスレーブラッチとを有して構成されていることを特徴とするスキャンテスト用フリップフロップ。
【請求項２】
前記第１の保持回路としての前記ラッチ手段が、前記第１のセレクタと、該第１のセレクタの出力信号を該第１のセレクタの入力または前記マスターラッチの第２のセレクタの入力に転送する順次縱続に接続された第１のインバータと第２のインバータとからなるものであることを特徴とする請求項１記載のスキャンテスト用フリップフロップ。
【請求項３】
前記第２の保持回路としての前記マスターラッチが、前記第２のセレクタと、前記第３のセレクタと、該第３のセレクタの出力信号を前記スレーブラッチの前記第４のセレクタの入力に転送する第３のインバータと、該第４のインバータの出力信号を前記第１のセレクタの入力に転送する第４のインバータとからなるものであることを特徴とする請求項１又は２記載のスキャンテスト用フリップフロップ。
【請求項４】
前記第３の保持回路としての前記スレーブラッチが、前記第４のセレクタと、該第４のセレクタの出力信号を前記第４のセレクタの入力に転送する順次縱続に接続された第５のインバータと第６のインバータとからなるものであることを特徴とする請求項１乃至３のいずれか一記載のスキャンテスト用フリップフロップ。
【請求項５】
前記第４のセレクタの出力から第７のインバータを経て出力信号を取り出し、前記第５のインバータの出力から第８のインバータを経て反転出力信号を取り出すように構成されていることを特徴とする請求項４記載のスキャンテスト用フリップフロップ。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、スキャンテスト方式によって論理回路の試験を行うための、スキャンテスト用フリップフロップに関する。
【背景技術】
【０００２】
論理回路の試験を、フリップフロップ（以下、ＦＦと略す）によって行うスキャンテスト方式は、既に知られている。
図４は、従来のスキャンテスト用ＦＦ回路を例示したものであって、セレクタＳ１１，Ｓ１２，Ｓ１３と、インバータＩ１１，Ｉ１２，Ｉ１３，Ｉ１４，Ｉ１５，Ｉ１６とから概略構成されている。
図４に示されたスキャンテスト用ＦＦ回路では、入力端子Din からの実使用時の入力データと、入力端子Sin からのスキャン動作時の入力データとを、セレクタＳ１１においてモード選択信号Sft に応じて切り替えて、実使用時には入力端子Din からの信号を、スキャンテスト時には入力端子Sin からの信号を、セレクタＳ１２，インバータＩ１１，インバータＩ１２からなる保持回路に入力するようにしている。
【０００３】
図４に示されたスキャンテスト用ＦＦ回路では、実動作時に、図示せぬ前段のＦＦ（入力端子Dinに信号を供給するＦＦ）から信号が伝播してくる際に、信号経路にセレクタＳ１１が１段余分に挿入されていることになるため、前段後段のＦＦ間の遅延時間が増加してその動作の高速化が妨げられていた。
また、スキャンテスト時に、同相のクロックで動作している前段のＦＦからの信号を入力端子Sin から入力するが、その際、ＦＦにデータを保持するためのホールドタイムを確保することができず、そのため、ホールドエラーを起こして正しくデータを保持することができないので、スキャンテストを行えない場合があった。そこで、このようなホールドエラーの発生を防止するために、ディレイ補償用の遅延バッファをスキャンパス中に挿入することが行われていたが、このような遅延バッファの挿入と配線の追加によって、ＬＳＩ（Large Scale Integrated Circuit) の配置性と配線性を悪化させていた。
【０００４】
図５，図６は、ホールドタイムを確保することができないために、ホールドエラーを起こした状態を説明するものであって、図４に示されたような、直列に接続された２段のＦＦからなる場合の動作タイミングを例示し、前段のＦＦにおける、入力データSin と図中のａ，ｂ，ｃの各点のデータを上段に示し、後段のＦＦにおける、入力データSin と図中のａ，ｂ，ｃの各点のデータを下段に示している。
【０００５】
図５は、直列に接続された２段からなるＦＦにおける、正常動作時のタイミングチャートを示したものである。
この場合は図示のように、クロックClk に応じてスキャンデータＳ０，Ｓ１，Ｓ２が二段からなるＦＦを順次シフトしてゆき、図中に示すタイミングＡにおいては、前段のＦＦにおけるｃ点の出力と、後段のＦＦにおけるｃ点の出力として、それぞれＳ１，Ｓ０が出力されている。
【０００６】
図６は、直列に接続された２段からなるＦＦにおいて、ホールドエラーを起こした場合の動作タイミングチャートを示したものである。
この場合は図示のように、下段に示す後段のＦＦでは、データＳ０を保持しようとするが、クロックClk の立ち上がり時には、入力端子Sin のデータはＳ１に変化しているので、データＳ０ではなくデータＳ１を保持することになる。そのため、同じタイミングＡでは、前段のＦＦと後段のＦＦは、ともにｃ点においてデータＳ１を保持していることが示されている。
【０００７】
これに対して特許文献１においては、スキャン用ＦＦを縦列接続してスキャンテスト用回路を構成するスキャン用フリップフロップよびスキャンテスト回路が開示されている。
この場合、スキャン用フリップフロップ１では、スキャンデータの取り込みが、時刻ｔ１２，ｔ１６におけるクロックＣＬＫのローレベルからハイレベルへの変化に同期して行われ、スキャンデータ出力の変化が、時刻ｔ１３，ｔ１７におけるテスト制御信号ＳＥＮのハイレベルからローレベルへの変化に同期して行われる。このため、このようなスキャン用フリップフロップ１を縦列接続したスキャンテスト回路では、次段のスキャン用フリップフロップがスキャンデータを取り込んだのちも、スキャンデータ出力を維持するので、データホールド時間を確保できると記載されている。
【０００８】
しかしながら、特許文献１記載の技術では、実使用時の信号入力端子にスキャンテストのためのセレクタであるマルチプレクサＭＵＸ２があり、従って、上述した問題点は解決されていない。
【０００９】
また、特許文献２においては、スキャン機能付きフリップフロップ回路のスキャン入力端子ＳＩにその入力端を接続して、クロック信号ＣＬＫがハイレベル区間でのみデータを取り込み、ロウレベル区間で取り込んだデータを保持するラッチ回路１０３を設けたスキャン機能付きフリップフロップ回路およびスキャンテスト回路が開示されている。
この回路では、後段のフリップフロップ回路１０１に入力されるクロック信号ＣＬＫが、前段のフリップフロップ回路１００に入力されるクロック信号ＣＬＫに対して遅延している場合でも、誤動作することがなく、スキャンテスト回路が正常な動作を行うと記載されている。
【００１０】
しかしながら、特許文献２記載の技術でも、実使用時の信号入力端子にスキャンテストのためのマルチプレクサ（セレクタ回路）１０７があり、従って、上述した問題点は解決されていない。
【００１１】
さらに特許文献３においては、スキャンテスト動作時にシフトレジスタを構成するフリップフロップからなる論理回路及びその試験方法が開示されている。
この場合は、スキャンテスト動作時に、同期信号のエッジが到達するより前に、フリップフロップのＤ端子の論理値を保持する第１の入力データ保持回路１０ａを備えていて、第１の入力データ保持回路１０ａが、Ｄ端子の論理値を保持するタイミングを同期信号のスキューに合わせて最適化することによって、ホールドエラーを回避すると記載されている。
【００１２】
しかしながら、特許文献３記載の技術でも、実使用時の信号入力端子にスキャンテストのためのセレクタである入力信号選択回路１０ｂがあり、従って、上述した問題点は解決されていない。
【特許文献１】特開２００３−０４３１１４号公報
【特許文献２】特開２００４−０３７２６４号公報
【特許文献３】特開平１１−１７４１２３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
図４に示された従来のスキャンテスト用ＦＦにおいては、実使用時に、前段のＦＦから信号が伝播してくる際に、信号経路にセレクタＳ１１が１段余分に挿入されていることになるため、ＦＦ間の遅延時間が延びて高速化が妨げられるという問題があった。
また、スキャンテスト時に、同相のクロックで動作する前段ＦＦからの出力を入力端子Sin に入力するが、その際、ＦＦにデータを保持するためのホールドタイムを確保することができず、そのため、ホールドエラーを起こして正しくデータを保持することができないので、正常にスキャンテストを行えない場合があるという問題があった。
【００１４】
この発明は上述の事情に鑑みてなされたものであって、実使用時に、ＦＦ間の遅延時間が増加して高速化が妨げられることがないとともに、スキャン動作時においてホールドエラーによる誤動作を発生する恐れがないスキャンテスト用フリップフロップを提供することを目的としている。
【課題を解決するための手段】
【００１５】
上記課題を解決するため、請求項１記載の発明は、実使用時のデータ入力信号と、スキャンテスト時のデータ入力信号とのいずれか一方をクロック信号のタイミングで取り込んで、縱続に接続されたマスターラッチとスレーブラッチとに順次転送してそれぞれ保持するとともに、上記スレーブラッチに保持したデータを出力するスキャンテスト用フリップフロップに係り、第１の保持回路として機能し、制御入力信号のレベルに応じて、スキャンテスト時のデータ入力信号または上記第１の保持回路としての自回路が保持している信号を択一的に選択して自回路に入力する第１のセレクタとを備えたラッチ手段と、第２の保持回路として機能し、反転制御入力信号のレベルに応じて、上記ラッチ手段の出力信号または上記第２の保持回路としての自回路が保持している信号を択一的に選択して出力する第２のセレクタと、クロック信号のレベルに応じて実使用時のデータ入力信号または上記第２のセレクタの出力信号を択一的に選択して自回路に入力する第３のセレクタとを備えたマスターラッチと、第３の保持回路として機能し、反転クロック信号のレベルに応じて、上記マスターラッチの出力信号または上記第３の保持回路としての自回路が保持している信号を択一的に選択して自回路に入力する第４のセレクタとを備えたスレーブラッチとを有して構成されていることを特徴としている。
【００１６】
また、請求項２記載の発明は、請求項１記載のスキャンテスト用フリップフロップに係り、上記第１の保持回路としての上記ラッチ手段が、上記第１のセレクタと、該第１のセレクタの出力信号を該第１のセレクタの入力または上記マスターラッチの第２のセレクタの入力に転送する順次縱続に接続された第１のインバータと第２のインバータとからなるものであることを特徴としている。
【００１７】
また、請求項３記載の発明は、請求項１又は２記載のスキャンテスト用フリップフロップに係り、上記第２の保持回路としての上記マスターラッチが、上記第２のセレクタと、上記第３のセレクタと、該第３のセレクタの出力信号を上記スレーブラッチの上記第４のセレクタの入力に転送する第３のインバータと、該第４のインバータの出力信号を上記第１のセレクタの入力に転送する第４のインバータとからなるものであることを特徴としている。
【００１８】
また、請求項４記載の発明は、請求項１乃至３のいずれか一記載のスキャンテスト用フリップフロップに係り、上記第３の保持回路としての上記スレーブラッチが、上記第４のセレクタと、該第４のセレクタの出力信号を上記第４のセレクタの入力に転送する順次縱続に接続された第５のインバータと第６のインバータとからなるものであることを特徴としている。
【００１９】
また、請求項５記載の発明は、請求項４記載のスキャンテスト用フリップフロップに係り、上記第４のセレクタの出力から第７のインバータを経て出力信号を取り出し、上記第５のインバータの出力から第８のインバータを経て反転出力信号を取り出すように構成されていることを特徴としている。
【発明の効果】
【００２１】
本発明のスキャンテスト用フリップフロップでは、従来、実使用データ入力Din に挿入されていたセレクタが削除されているので、実使用時における、上記セレクタに基づく遅延時間の増加を除去して、スキャンテストテスト用フリップフロップの動作を高速化することができるとともに、スキャンデータ入力Sin にラッチが挿入されているので、スキャン動作時における、ホールドエラーによる誤動作を防止することができる。
【発明を実施するための最良の形態】
【００２２】
実使用時のデータ入力信号Din と、スキャンテスト時のデータ入力信号Sin とのいずれか一方をクロック信号Clk のタイミングで取り込んで、順次従続に接続されたマスターラッチＬ１とスレーブラッチＬ２に転送してそれぞれ保持するとともに、スレーブラッチＬ２に保持したデータを出力するスキャンテスト用フリップフロップにおいて、制御入力信号Sck のレベルに応じて、Sin 端子からのスキャンテスト時のデータ入力信号または保持している信号から選択してその保持回路に入力するセレクタＳ１を備えたラッチＬ０と、反転制御入力信号 Sck* のレベルに応じてラッチＬ１を構成する保持回路の出力信号または保持している信号から選択して出力するセレクタＳ２と、クロック信号Clk のレベルに応じて実使用時のデータ入力信号Din またはセレクタＳ２の出力信号から選択してその保持回路に入力するセレクタＳ３とを備えたマスターラッチＬ１と、反転クロック信号  lk* のレベルに応じてマスターラッチＬ１を構成する保持回路の出力信号または保持している信号を選択してその保持回路に入力するセレクタＳ４を備えたスレーブラッチＬ２とを備えている。
【実施例】
【００２３】
図１は、本発明の一実施例であるスキャンテスト用ＦＦの構成を示す回路図、図２は、本実施例のスキャンテスト用ＦＦにおけるスキャン動作時のタイミングチャート、図３は、本実施例のスキャンテスト用ＦＦにおけるノーマル動作時のタイミングチャートである。
【００２４】
この例のスキャンテスト用ＦＦは、図１に示すように、セレクタＳ１，Ｓ２，Ｓ３，Ｓ４と、インバータＩ１，インバータＩ２，インバータＩ３，インバータＩ４，インバータＩ５，インバータＩ６，インバータＩ７，インバータＩ８とから概略構成されている。
これらのうち、セレクタＳ１，インバータＩ１，インバータＩ２はラッチＬ０を形成し、セレクタＳ２，セレクタＳ３，インバータＩ３，インバータＩ４はラッチＬ１を形成し、セレクタＳ４，インバータＩ５，インバータＩ６はラッチＬ２を形成している。
【００２５】
図１において、Din は通常動作時における実使用データの入力端子、Sin はスキャンテスト時のスキャンデータの入力端子である。ラッチＬ０は、端子Sin のデータを入力として、セレクタＳ１の制御入力Sck が論理 "０”のときは、端子Sin のデータをスルーで出力し、制御入力Sck が論理 "１”のときは、端子Sin のデータをホールドする。ラッチＬ１はスキャンテスト用ＦＦにおけるマスターラッチ、ラッチＬ２はスキャンテスト用ＦＦにおけるスレーブラッチである。また、セレクタＳ２は、ラッチＬ１においてデータをホールドするためのフィードバック回路にあって、ホールドデータとラッチＬ０の出力とを制御入力Sck の反転信号 Sck* によって選択することによって、ラッチＬ１がフィードバックするデータを選択する作用を行う。スキャンテスト用ＦＦの出力は、インバータＩ７を経て出力データDoutとして取り出され、インバータＩ８を経て反転出力データDout* として取り出される。
【００２６】
以下、図２，図３を使用して、この例のスキャンテスト用ＦＦの動作を説明する。なお、図２，図３は、説明を簡略にするため、セレクタＳ１，セレクタＳ２，セレクタＳ３，セレクタＳ４には、動作時、データの遅延を生じないものとして描かれており、同様に、インバータＩ１，インバータＩ２，インバータＩ３，インバータＩ４，インバータＩ５，インバータＩ６も、動作時、データの遅延を生じないものとして描かれている。
【００２７】
最初、図２を参照して、この例のスキャンテスト用ＦＦにおけるスキャン動作について説明する。
前段のＦＦから出力されたスキャンデータは、端子Sin に入力される。図２の(1) のタイミングにおいては、制御入力Sck は論理 "０”なので、セレクタＳ１は端子Sin のスキャンデータを選択し、ａ点には端子Sin に印加された信号Ｓ０が出力される。
【００２８】
タイミング(2) において、制御入力Sck は論理 "１”になるので、セレクタＳ１はａ点からのデータをフィードバックして、ラッチＬ０はデータホールド状態になり、信号Ｓ０が保持される。このとき、セレクタＳ２は反転制御入力  ck* が論理 "０”になるので、ａ点からの信号を選択し、ｂ点にはａ点からの信号Ｓ０が出力される。
【００２９】
タイミング(3) では、クロックClk が論理 "１”になるため、セレクタＳ３はｂ点からの信号を選択し、ｃ点には信号Ｓ０が出力される。このとき、セレクタＳ４は反転クロック Clk* が論理 "０”になるためｃ点からの信号を選択し、ｄ点には信号Ｓ０が出力される。
【００３０】
タイミング(4) では、反転制御入力  ck* が論理 "１”であるため、セレクタＳ２はｃ点からのフィードバック信号Ｓ０をｂ点に出力し、クロックClk が論理 "１”であるため、セレクタＳ３はｂ点からのフィードバック信号Ｓ０をｃ点に出力する。これによって、セレクタＳ２，セレクタＳ３，インバータＩ３，インバータＩ４はループを形成して、信号Ｓ０をホールドする。このとき、セレクタＳ４は反転クロック Clk* が論理 "０”であるため、ｃ点からの信号を選択し続けて、ｄ点には信号Ｓ０が出力され続ける。
【００３１】
次にタイミング (1)' ， (2)' では、反転クロック Clk* が論理 "１”になるため、セレクタＳ４，インバータＩ５，インバータＩ６のループで信号Ｓ０をホールドし、ｄ点には信号Ｓ０が出力され続ける。また、タイミング (1)' 以降、制御入力Sck が論理 "０”なので、前段ＦＦからのスキャンデータが端子Sin から入力されて、タイミング(1) 以後と同じ動きを繰り返す。
【００３２】
次に図３を参照して、この例のスキャンテスト用ＦＦにおけるノーマル動作について説明する。
ノーマル動作時は、制御入力Sck を論理 "０”に固定して、ラッチＬ０を常時ラッチ状態にすることによって、消費電力の増加を抑える。また、反転制御入力  ck* が論理 "１”に固定されるので、セレクタＳ２において、常時、インバータＩ４からのデータを選択することによって、従来のスキャンテスト用ＦＦと同様の動作を行う。
【００３３】
このように、この例のスキャンテスト用ＦＦにおいては、スキャンデータの入力端子Sin にスキャンデータを保持するラッチＬ０を設けるとともに、従来、スキャンテストのために必要であったセレクタを、実使用時の論理データの経路から削除して、スキャンテスト用ＦＦを構成するマスターラッチＬ１のフィードバックループ内にセレクタＳ３として挿入して、スキャンテスト用の制御入力 Sck* を選択回路の制御信号として共通に使用するようにしたので、これによって、次のような効果が得られる。
１．ノーマル動作時、従来、入力端子Din からの実使用データのパスに挿入されていたセレクタが削除されているので、ＦＦ間の遅延時間が増加することがなく、スキャンテスト用ＦＦの性能が向上する。
２．スキャンテスト時、従来、入力端子Sin からのスキャンデータのパスに挿入されていたセレクタが削除されているので、ホールドエラーによるスキャン動作時の誤動作を防止するために、スキャンパス中にディレイ補償用の遅延バッファを挿入し、かつ制御信号を増加させる必要がない。
【００３４】
以上、この発明の実施例を図面により詳述してきたが、具体的な構成はこの実施例に限られるものではなく、この発明の要旨を逸脱しない範囲の設計の変更等があってもこの発明に含まれる。例えば、各ラッチを構成する論理素子の種類は、実施例に記載されたものに限らず、実施例の場合と同一の動作を行うことができるものであれば、他の種類のものであってもよい。
【産業上の利用可能性】
【００３５】
この発明のスキャンテスト用フリップフロップは、各種の論理回路の試験のために利用することが可能である。
【図面の簡単な説明】
【００３６】
【図１】本発明の一実施例であるスキャンテストテスト用フリップフロップの構成を示す回路図である。
【図２】同実施例のスキャンテストテスト用フリップフロップにおけるスキャン動作時のタイミングチャートである。
【図３】同実施例のスキャンテスト用フリップフロップにおけるノーマル動作時のタイミングチャートである。
【図４】従来のスキャンテスト用フリップフロップの構成を示す回路図である。
【図５】従来のスキャンテスト用フリップフロップにおける、正常動作時のタイミングチャートである。
【図６】従来のスキャンテスト用フリップフロップにおける、ホールドエラーを起こしたときの動作タイミングチャートである。
【符号の説明】
【００３７】
Ｓ１，Ｓ２，Ｓ３，Ｓ４    セレクタ
Ｉ１，Ｉ２，Ｉ３，Ｉ４，Ｉ５，Ｉ６，Ｉ７，Ｉ８    インバータ
Ｌ０，Ｌ１，Ｌ２    ラッチ
【図１】
0004702137.tif 000002
【図２】
0004702137.tif 000003
【図３】
0004702137.tif 000004
【図４】
0004702137.tif 000005
【図５】
0004702137.tif 000006
【図６】
0004702137.tif 000007