(57)【要約】【課題】クロック信号のポジティブエッジおよびネガティブエッジのいずれにおいても正常にスキャンシフト動作を行うスキャンフリップフロップを提供する。【解決手段】スキャンイネーブル信号に応じて受信したデータ信号またはスキャンテスト信号をクロック信号に同期して保持または非保持とするとともに出力するマスターラッチと、マスターラッチから受信した信号を、スキャンイネーブル信号およびクロック信号に同期して保持または非保持とするとともに出力するスレーブラッチとを備え、スキャンイネーブル信号は、クロック信号に含まれるパルス波の立ち上がりの前に第１のレベルから第２のレベルへ変化するとともに該立ち上がりの後に第２のレベルから第１のレベルへ変化し、該パルス波の立下りの前に第１のレベルから第２のレベルへ変化するとともに該立下りの後に第２のレベルから第１のレベルへ変化する。【選択図】図１
2013127396.tif 000002
【特許請求の範囲】
【請求項１】
クロック信号を受信するとともに、スキャンイネーブル信号に応じてデータ信号またはスキャンテスト信号のいずれかを受信し、該データ信号または該スキャンテスト信号を該クロック信号に同期して保持または非保持とするとともに出力するマスターラッチと、
前記マスターラッチから受信した信号を、前記スキャンイネーブル信号および前記クロック信号に同期して保持または非保持とするとともに出力するスレーブラッチと、を備え、
前記スキャンイネーブル信号は、前記クロック信号に含まれるパルス波の立ち上がりエッジの前に第１のレベルから第２のレベルへ変化するとともに該立ち上がりエッジの後に第２のレベルから第１のレベルへ変化し、該パルス波の立ち下がりエッジの前に第１のレベルから第２のレベルへ変化するとともに該立ち下がりエッジの後に第２のレベルから第１のレベルへ変化することを特徴とするスキャンフリップフロップ。
【請求項２】
前記マスターラッチは、前記クロック信号が第３のレベルである場合には、信号を受信するとともに、受信した信号を保持することなく、前記スレーブラッチに出力し、前記クロック信号が第４のレベルである場合には、前記クロック信号が第３のレベルである期間に受信した信号を保持するとともに、保持した信号を前記スレーブラッチに出力することを特徴とする、請求項１に記載のスキャンフリップフロップ。
【請求項３】
前記スレーブラッチは、前記スキャンイネーブル信号が第１のレベルであり、かつ、前記クロック信号が第４のレベルである場合には、前記マスターラッチが保持する信号を受信するとともに、受信した信号を保持することなく出力端子から出力し、それ以外の場合には、前記スキャンイネーブル信号が第１のレベルであり、かつ、前記クロック信号が第４のレベルである期間に前記マスターラッチから受信した信号を保持するとともに、保持した信号を該出力端子から出力することを特徴とする、請求項２に記載のスキャンフリップフロップ。
【請求項４】
前記マスターラッチは、前記データ信号または前記スキャンテスト信号を受信する入力端子と、
前記入力端子と第１のノードとの間に接続され、前記クロック信号が第３のレベルである場合に導通状態となる第１のトランスファゲートと、
前記第１のノードから受信した信号を反転して、前記マスターラッチの出力端子へ出力する第１のインバータと、
前記第１のインバータから出力された信号を受信し、反転して出力する第２のインバータと、
前記第２のインバータの出力端子と前記第１のノードとの間に接続され、前記クロック信号が第４のレベルである場合に導通状態となる第２のトランスファゲートと、を備えることを特徴とする、請求項１ないし３のいずれか１項に記載のスキャンフリップフロップ。
【請求項５】
前記スレーブラッチは、前記マスターラッチから出力された信号を受信する入力端子と、
前記入力端子と第２のノードとの間に接続された第３のトランスファゲートと、
前記第２のノードと第３のノードとの間に接続された第４のトランスファゲートと、
前記第３のノードから受信した信号を反転して、前記スレーブラッチの第１の出力端子へ出力する第３のインバータと、
前記第３のインバータから出力された信号を受信し、反転して第４のノードへ出力する第４のインバータと、
前記第４のノードと前記第３のノードとの間に接続された第５のトランスファゲートと、
前記第４のノードから受信した信号を反転して、前記スレーブラッチの第２の出力端子へ出力する第５のインバータと、
前記第４のノードと前記第２のノードとの間に接続された第６のトランスファゲートと、を備えることを特徴とする、請求項４に記載のスキャンフリップフロップ。
【請求項６】
前記第３のトランスファゲートは、前記クロック信号が第４のレベルである場合に導通状態となり、
前記第４のトランスファゲートは、前記スキャンイネーブル信号が第１のレベルである場合に導通状態となり、
前記第５のトランスファゲートは、前記スキャンイネーブル信号が第２のレベルである場合に導通状態となり、
前記第６のトランスファゲートは、前記クロック信号が第３のレベルである場合に導通状態となることを特徴とする、請求項５に記載のスキャンフリップフロップ。
【請求項７】
前記第３のトランスファゲートは、前記スキャンイネーブル信号が第１のレベルである場合に導通状態となり、
前記第４のトランスファゲートは、前記クロック信号が第４のレベルである場合に導通状態となり、
前記第５のトランスファゲートは、前記クロック信号が第３のレベルである場合に導通状態となり、
前記第６のトランスファゲートは、前記スキャンイネーブル信号が第２のレベルである場合に導通状態となることを特徴とする、請求項５に記載のスキャンフリップフロップ。
【請求項８】
前記スキャンイネーブル信号は、さらに、前記クロック信号が一定のレベルである期間に、少なくとも１回、第１のレベルから第２のレベルへ変化するとともに、第２のレベルから第１のレベルへと変化することを特徴とする、請求項１ないし７のいずれか１項に記載のスキャンフリップフロップ。
【請求項９】
請求項６に記載のスキャンフリップフロップと、
請求項７に記載のスキャンフリップフロップと、を備え、
前記両フリップフロップに対して、共通のクロック信号および共通のスキャンイネーブル信号が供給されることを特徴とする半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はスキャンフリップフロップおよび半導体集積回路装置に関し、特に、テスト容易化設計（ＤＦＴ：Ｄｅｓｉｇｎ  Ｆｏｒ  Ｔｅｓｔａｂｉｌｉｔｙ）におけるスキャンテストに用いられるスキャンフリップフロップと、かかるスキャンフリップフロップを備えた半導体集積回路装置に関する。
【背景技術】
【０００２】
半導体集積回路装置（以下、「ＬＳＩ」という。）は、ロジック、メモリ、ＩＰコア（Ｉｎｔｅｌｌｅｃｔｕａｌ  Ｐｒｏｐｅｒｔｙ  Ｃｏｒｅ）等が搭載された大規模回路であることから、ＬＳＩの機能テストで十分な故障検出を確保することが必要であり、スキャンテストにより故障検出を行う手法が主流となっている。
【０００３】
スキャンテストにおいて、スキャンフリップフロップをスキャンシフト（ｓｃａｎ  ｓｈｉｆｔ）動作させる際、スキャンフリップフロップ間のホールド（ｈｏｌｄ）タイムが不十分な状態では、スキャンシフトが誤動作してしまう。誤動作を防止する対策として、ホールドタイムを保証するために遅延素子が挿入される。しかし、遅延素子を挿入すると、素子数および総配線長が増加し、ＬＳＩのチップ（ｃｈｉｐ）サイズが増加する。
【０００４】
近年、ＬＳＩのチップサイズの縮小が求められており、素子数および総配線長の増加によるチップサイズの増加は大きな問題となる。そこで、素子数や総配線長を増加させることなく、スキャンシフトの誤動作を防止する技術が求められている。
【０００５】
特許文献１に記載されたスキャン記憶装置ＤＦＦ１は、回路面積およびコスト増加の抑制、消費電力の低減ができ、スキャンシフト動作時の誤シフトを防止することを目的としている。図６は、特許文献１に記載されたスキャン記憶装置ＤＦＦ１の構成を示す回路図である。
【０００６】
図６において、データ信号入力端子Ｄ１はスキャン記憶装置ＤＦＦ１のデータ信号入力端子、ＳＩ１はスキャンテスト信号入力端子、ＳＥ１はスキャンイネーブル信号入力端子、ＳＥはスキャンイネーブル信号、ＸＳＥはスキャンイネーブル信号ＳＥの反転信号、ＣＬＫ１はクロック信号ＣＬＫの入力端子、ＣＫはクロック信号ＣＬＫの同相信号、ＸＣＫはクロック信号ＣＬＫの反転信号、Ｑ１はスキャン記憶装置ＤＦＦ１のデータ信号出力端子、ＳＯ１はスキャンテスト信号出力端子、ＴＧ１〜ＴＧ７は転送ゲート、ＩＮＶ１〜ＩＮＶ８はインバータ、ＮＤ１〜ＮＤ５はノードをそれぞれ示している。
【０００７】
転送ゲートＴＧ１、ＴＧ２およびインバータＩＮＶ１によって、選択回路ＳＥＬが構成され、転送ゲートＴＧ３〜ＴＧ６とインバータＩＮＶ２〜ＩＮＶ５によって、フリップフロップＦＦ（記憶素子）が構成され、転送ゲートＴＧ７とインバータＩＮＶ８によって、ラッチ回路ＬＡＴ（スキャンテスト信号保持回路）が構成される。
【０００８】
図７は、特許文献１に記載されたスキャンパス回路の構成を示すブロック図である。図８は、特許文献１に記載されたスキャンパス回路のタイミングチャートである
【０００９】
スキャンイネーブル信号ＳＥとクロック信号ＣＬＫが同期して、相互にハイレベルおよびロウレベルの信号をとることによって、図６に示すスキャンパス回路においてスキャンモード動作が行われる。スキャンイネーブル信号ＳＥとクロック信号ＣＬＫが同期して、相互にハイレベルとロウレベルをとることによって、スキャンパス回路のスキャンパス入力端子ＳＩ０に入力されたスキャンテスト信号がスキャン記憶装置ＤＦＦ１〜ＤＦＦｎによって順次転送され、最後にスキャンパス回路のスキャンパス出力端子ＳＯに出力される。また、スキャンテスト信号出力端子ＳＯｉの出力タイミングがスキャンイネーブル信号ＳＥによって制御されているので、クロック信号ＣＬＫにスキューが生じても、スキャンモード動作における誤シフトが回避される。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開平９−２０３７６７号公報（図１〜図３）
【発明の概要】
【発明が解決しようとする課題】
【００１１】
以下の分析は、本発明者によってなされたものである。
【００１２】
特許文献１に記載されたスキャン記憶装置を、クロック信号のネガティブエッジ（Ｎｅｇエッジ）で動作させた場合には、クロック信号が立ち下がる際にスキャンイネーブルが０となるため、スキャンテスト信号の入力端子側ではなく、データ信号の入力端子側の値を取り込んでしまい、スキャンシフト論理が破壊される。すなわち、かかるスキャン記憶装置をクロック信号のＮｅｇエッジで動作するスキャンフリップフロップとして用いた場合には、スキャンシフト動作ができず、誤シフトが生じる。したがって、ポジティブエッジ（Ｐｏｓエッジ）で動作するスキャンフリップフロップと、Ｎｅｇエッジで動作するスキャンフリップフロップが混在するＬＳＩにおいて、特許文献１に記載されたスキャン記憶装置をスキャンフリップフロップとして採用した場合には、スキャンテストを実施することができない。
【００１３】
そこで、半導体集積回路装置のスキャンテストにおいて、クロック信号のポジティブエッジおよびネガティブエッジのいずれにおいても正常にスキャンシフト動作を行うスキャンフリップフロップを提供することが課題となる。
【課題を解決するための手段】
【００１４】
本発明の一視点に係るスキャンフリップフロップは、
クロック信号を受信するとともに、スキャンイネーブル信号に応じてデータ信号またはスキャンテスト信号のいずれかを受信し、該データ信号または該スキャンテスト信号を該クロック信号に同期して保持または非保持とするとともに出力するマスターラッチと、
前記マスターラッチから受信した信号を、前記スキャンイネーブル信号および前記クロック信号に同期して保持または非保持とするとともに出力するスレーブラッチと、を備え、
前記スキャンイネーブル信号は、前記クロック信号に含まれるパルス波の立ち上がりエッジの前に第１のレベルから第２のレベルへ変化するとともに該立ち上がりエッジの後に第２のレベルから第１のレベルへ変化し、該パルス波の立ち下がりエッジの前に第１のレベルから第２のレベルへ変化するとともに該立ち下がりエッジの後に第２のレベルから第１のレベルへ変化する。
【発明の効果】
【００１５】
本発明に係るスキャンフリップフロップによると、半導体集積回路装置のスキャンテストにおいて、クロック信号のポジティブエッジおよびネガティブエッジのいずれにおいても、正常にスキャンシフト動作を行うことが可能となる。
【図面の簡単な説明】
【００１６】
【図１】実施形態に係るスキャンフリップフロップの構成を一例として示す回路図である。
【図２】実施形態に係るマスターラッチの構成を一例として示す回路図である。
【図３】実施形態に係るスレーブラッチの構成を一例として示す回路図である。
【図４】実施形態に係るスキャンフリップフロップの動作を一例として示すタイミングチャートである。
【図５】実施形態に係るスキャンフリップフロップの真理値表である。
【図６】特許文献１に記載されたスキャン記憶装置の構成を示す回路図である。
【図７】特許文献１に記載されたスキャンパス回路の構成を示す回路図である。
【図８】特許文献１に記載されたスキャンパス回路のタイミングチャートである。
【発明を実施するための形態】
【００１７】
はじめに、本発明の概要について説明する。なお、この概要に付記する図面参照符号は、専ら理解を助けるための例示であり、本発明を図示の態様に限定することを意図するものではない。
【００１８】
図１および図４を参照すると、本発明のスキャンフリップフロップは、クロック信号を受信するとともに、スキャンイネーブル信号に応じてデータ信号またはスキャンテスト信号のいずれかを受信し、データ信号またはスキャンテスト信号をクロック信号に同期して保持または非保持とするとともに出力するマスターラッチ（Ｌ１）と、マスターラッチ（Ｌ１）から受信した信号を、スキャンイネーブル信号およびクロック信号に同期して保持または非保持とするとともに出力するスレーブラッチ（Ｌ２）と、を備え、スキャンイネーブル信号（ＳＭＣ）は、クロック信号（Ｃ）に含まれるパルス波の立ち上がりエッジの前に第１のレベル（例えば、図４においてはロウレベル）から第２のレベル（ハイレベル）へ変化するとともに該立ち上がりエッジの後に第２のレベル（ハイレベル）から第１のレベル（ロウレベル）へ変化し、該パルス波の立ち下がりエッジの前に第１のレベル（ロウレベル）から第２のレベル（ハイレベル）へ変化するとともに該立ち下がりエッジの後に第２のレベル（ハイレベル）から第１のレベル（ロウレベル）へ変化する。
【００１９】
本発明に係るスキャンフリップフロップを用いた場合には、半導体集積回路装置のスキャンテストにおいて、ホールドタイムを保証するために遅延素子が不要になると同時に、クロック信号のポジティブエッジおよびネガティブエッジのいずれにおいても、正常にスキャンシフト動作を行うことが可能となる。
【００２０】
また、本発明のスキャンフリップフロップによると、スキャンチェーンのリチェーン（すなわち、スキャンチェーンの接続構成の好適化）を行う際のホールドタイムの考慮（遅延素子の挿入）も不要となり、リチェーンが容易となる。さらに、本発明のスキャンフリップフロップの回路構成およびスキャンイネーブル信号の波形によると、スキャンフリップフロップはクロック信号のＮｅｇエッジでも正しくスキャンシフト動作を行う。したがって、本発明のスキャンフリップフロップによると、クロック信号のＮｅｇエッジで動作するスキャンフリップフロップ（以下「Ｎｅｇ用スキャンフリップフロップ」という。）とＰｏｓエッジで動作するスキャンフリップフロップ（以下「Ｐｏｓ用スキャンフリップフロップ」という。）が混在する半導体集積回路のスキャンチェーンにおいても、正常にスキャンシフト動作を行うことが可能となる。
【００２１】
図２（ａ）を参照すると、Ｐｏｓ用スキャンフリップフロップにおいて、マスターラッチ（Ｌ１ｐ）は、クロック信号（Ｃ）が第３のレベル（ロウレベル）である場合には、信号を受信するとともに、受信した信号を保持することなく、スレーブラッチ（図３（ａ）のスレーブラッチＬ２ｐ）に出力し、クロック信号（Ｃ）が第４のレベル（ハイレベル）である場合には、クロック信号が第３のレベルである期間に受信した信号を保持するとともに、保持した信号をスレーブラッチ（Ｌ２ｐ）に出力するようにしてもよい。一方、図２（ｂ）を参照すると、Ｎｅｇ用スキャンフリップフロップにおいて、マスターラッチ（Ｌ１ｎ）は、クロック信号（Ｃ）が第３のレベル（ハイレベル）である場合には、信号を受信するとともに、受信した信号を保持することなく、スレーブラッチ（図３（ｂ）のスレーブラッチＬ２ｎ）に出力し、クロック信号（Ｃ）が第４のレベル（ロウレベル）である場合には、クロック信号が第３のレベルである期間に受信した信号を保持するとともに、保持した信号をスレーブラッチ（Ｌ２ｎ）に出力するようにしてもよい。
【００２２】
図３（ａ）を参照すると、Ｐｏｓ用スキャンフリップフロップにおいて、スレーブラッチ（Ｌ２ｐ）は、スキャンイネーブル信号（ＳＭＣ）が第１のレベル（ロウレベル）であり、かつ、クロック信号（Ｃ）が第４のレベル（ハイレベル）である場合には、マスターラッチ（図２（ａ）のマスターラッチＬ１ｐ）が保持する信号を受信するとともに、受信した信号を保持することなく出力端子（ＯＴ２ｐ、ＯＴ３ｐ）から出力し、それ以外の場合には、スキャンイネーブル信号（ＳＭＣ）が第１のレベルであり、かつ、クロック信号（Ｃ）が第４のレベルである期間にマスターラッチ（Ｌ１ｐ）から受信した信号を保持するとともに、保持した信号を該出力端子から出力するようにしてもよい。一方、図３（ｂ）を参照すると、Ｎｅｇ用スキャンフリップフロップにおいて、スレーブラッチ（Ｌ２ｎ）は、スキャンイネーブル信号（ＳＭＣ）が第１のレベル（ロウレベル）であり、かつ、クロック信号（Ｃ）が第４のレベル（ロウレベル）である場合には、マスターラッチ（図２（ｂ）のマスターラッチＬ１ｎ）が保持する信号を受信するとともに、受信した信号を保持することなく出力端子（ＯＴ２ｎ、ＯＴ３ｎ）から出力し、それ以外の場合には、スキャンイネーブル信号（ＳＭＣ）が第１のレベルであり、かつ、クロック信号（Ｃ）が第４のレベルである期間にマスターラッチ（Ｌ１ｎ）から受信した信号を保持するとともに、保持した信号を該出力端子から出力するようにしてもよい。
【００２３】
図２（ａ）を参照すると、Ｐｏｓ用スキャンフリップフロップにおいて、マスターラッチ（Ｌ１ｐ）は、データ信号またはスキャンテスト信号を受信する入力端子（ＩＮ１ｐ）と、入力端子と第１のノード（Ｎ１ｐ）との間に接続され、クロック信号（Ｃ）が第３のレベル（ロウレベル）である場合に導通状態となる第１のトランスファゲート（Ｔ１ｐ）と、第１のノードから受信した信号を反転して、マスターラッチの出力端子へ出力する第１のインバータ（ＩＶ１ｐ）と、第１のインバータから出力された信号を受信し、反転して出力する第２のインバータ（ＩＶ２ｐ）と、第２のインバータの出力端子と第１のノードとの間に接続され、クロック信号（Ｃ）が第４のレベル（ハイレベル）である場合に導通状態となる第２のトランスファゲート（Ｔ２ｐ）と、を備えていてもよい。一方、図２（ｂ）を参照すると、Ｎｅｇ用スキャンフリップフロップにおいて、マスターラッチ（Ｌ１ｎ）は、データ信号またはスキャンテスト信号を受信する入力端子（ＩＮ１ｎ）と、入力端子と第１のノード（Ｎ１ｎ）との間に接続され、クロック信号（Ｃ）が第３のレベル（ハイレベル）である場合に導通状態となる第１のトランスファゲート（Ｔ１ｎ）と、第１のノードから受信した信号を反転して、マスターラッチの出力端子へ出力する第１のインバータ（ＩＶ１ｎ）と、第１のインバータから出力された信号を受信し、反転して出力する第２のインバータ（ＩＶ２ｎ）と、第２のインバータの出力端子と第１のノードとの間に接続され、クロック信号（Ｃ）が第４のレベル（ロウレベル）である場合に導通状態となる第２のトランスファゲート（Ｔ２ｎ）と、を備えていてもよい。
【００２４】
図３（ａ）を参照すると、Ｐｏｓ用スキャンフリップフロップにおいて、スレーブラッチ（Ｌ２ｐ）は、マスターラッチ（Ｌ１ｐ）から出力された信号を受信する入力端子（ＩＮ２ｐ）と、入力端子と第２のノード（Ｎ２ｐ）との間に接続された第３のトランスファゲート（Ｔ３ｐ）と、第２のノードと第３のノード（Ｎ３ｐ）との間に接続された第４のトランスファゲート（Ｔ４ｐ）と、第３のノードから受信した信号を反転して、スレーブラッチの第１の出力端子（ＯＴ２ｐ）へ出力する第３のインバータ（ＩＶ３ｐ）と、第３のインバータから出力された信号を受信し、反転して第４のノード（Ｎ４ｐ）へ出力する第４のインバータ（ＩＶ４ｐ）と、第４のノードと第３のノードとの間に接続された第５のトランスファゲート（Ｔ５ｐ）と、第４のノードから受信した信号を反転して、スレーブラッチの第２の出力端子（ＯＴ３ｐ）へ出力する第５のインバータ（ＩＶ５ｐ）と、第４のノードと第２のノードとの間に接続された第６のトランスファゲート（Ｔ６ｐ）と、を備えていてもよい。一方、図３（ｂ）を参照すると、Ｎｅｇ用スキャンフリップフロップにおいて、スレーブラッチ（Ｌ２ｎ）は、マスターラッチ（Ｌ１ｎ）から出力された信号を受信する入力端子（ＩＮ２ｎ）と、入力端子と第２のノード（Ｎ２ｎ）との間に接続された第３のトランスファゲート（Ｔ３ｎ）と、第２のノードと第３のノード（Ｎ３ｎ）との間に接続された第４のトランスファゲート（Ｔ４ｎ）と、第３のノードから受信した信号を反転して、スレーブラッチの第１の出力端子（ＯＴ２ｎ）へ出力する第３のインバータ（ＩＶ３ｎ）と、第３のインバータから出力された信号を受信し、反転して第４のノード（Ｎ４ｎ）へ出力する第４のインバータ（ＩＶ４ｎ）と、第４のノードと第３のノードとの間に接続された第５のトランスファゲート（Ｔ５ｎ）と、第４のノードから受信した信号を反転して、スレーブラッチの第２の出力端子（ＯＴ３ｎ）へ出力する第５のインバータ（ＩＶ５ｎ）と、第４のノードと第２のノードとの間に接続された第６のトランスファゲート（Ｔ６ｎ）と、を備えていてもよい。
【００２５】
図３（ａ）を参照すると、Ｐｏｓ用スキャンフリップフロップのスレーブラッチ（Ｌ２ｐ）において、第３のトランスファゲート（Ｔ３ｐ）は、クロック信号（Ｃ）が第４のレベル（ハイレベル）である場合に導通状態となり、第４のトランスファゲート（Ｔ４ｐ）は、スキャンイネーブル信号（ＳＭＣ）が第１のレベル（ロウレベル）である場合に導通状態となり、第５のトランスファゲート（Ｔ５ｐ）は、スキャンイネーブル信号（ＳＭＣ）が第２のレベル（ハイレベル）である場合に導通状態となり、第６のトランスファゲート（Ｔ６ｐ）は、クロック信号（Ｃ）が第３のレベル（ロウレベル）である場合に導通状態となるようにしてもよい。
【００２６】
図３（ｂ）を参照すると、Ｎｅｇ用スキャンフリップフロップのスレーブラッチ（Ｌ２ｎ）において第３のトランスファゲート（Ｔ３ｎ）は、スキャンイネーブル信号（ＳＭＣ）が第１のレベル（ロウレベル）である場合に導通状態となり、第４のトランスファゲート（Ｔ４ｎ）は、クロック信号（Ｃ）が第４のレベル（ロウレベル）である場合に導通状態となり、第５のトランスファゲート（Ｔ５ｎ）は、クロック信号（Ｃ）が第３のレベル（ハイレベル）である場合に導通状態となり、第６のトランスファゲート（Ｔ６ｎ）は、スキャンイネーブル信号（ＳＭＣ）が第２のレベル（ハイレベル）である場合に導通状態となるようにしてもよい。
【００２７】
また、スキャンイネーブル信号（ＳＭＣ）は、さらに、クロック信号（Ｃ）が一定のレベルである期間に、少なくとも１回、第１のレベル（ロウレベル）から第２のレベル（ハイレベル）へ変化するとともに、第２のレベル（ハイレベル）から第１のレベル（ロウレベル）へと変化するようにしてもよい。
【００２８】
さらに、半導体集積回路装置は、Ｐｏｓ用スキャンフリップフロップ（図２（ａ）、図３（ａ））と、Ｎｅｇ用スキャンフリップフロップ（図２（ｂ）、図３（ｂ））とを備え、これらの両フリップフロップに対して、共通のクロック信号（Ｃ）および共通のスキャンイネーブル信号（ＳＭＣ）が供給されるようにしてもよい。
【００２９】
図１ないし図３を参照すると、本発明に係るスキャンフリップフロップは、テスト容易化技術のスキャンテスト用のスキャンフリップフロップであって、スキャンイネーブル信号と、マスターラッチと、２重ループのスレーブラッチとを有していてもよい。ここで、スキャンシフト動作時にスキャンイネーブル信号を用いて、Ｐｏｓ用スキャンフリップフロップとＮｅｇ用スキャンフリップフロップのそれぞれのマスターラッチ（Ｌ１ｐ、Ｌ１ｎ）と２重ループ構造を有するスレーブラッチ（Ｌ２ｐ、Ｌ２ｎ）とを個別に制御する。
【００３０】
（実施形態）
実施形態に係るスキャンフリップフロップについて、図面を参照して説明する。図１は、本実施形態のスキャンフリップフロップの構成を一例として示す回路図である。
【００３１】
図１を参照すると本実施形態のスキャンフリップフロップは、データ信号入力端子Ｄ、データ信号出力端子Ｑ、スキャンテスト信号入力端子ＳＩＮ、スキャンテスト信号出力端子ＳＯＴ、クロック信号端子Ｃ、スキャンイネーブル信号端子ＳＭＣ、マスターラッチＬ１、スレーブラッチＬ２、トランスファゲートＴ１、Ｔ２、および、インバータＩＶ１〜ＩＶ４を備える。
【００３２】
クロック信号端子Ｃは、インバータＩＶ１の入力に接続され、インバータＩＶ１の出力は、インバータＩＶ２の入力に接続される。
【００３３】
インバータＩＶ１の出力は、クロック信号端子Ｃの反転信号ＣＬＢとする。
【００３４】
インバータＩＶ２の出力は、クロック信号端子Ｃの同相信号ＣＬとする。
【００３５】
スキャンイネーブル信号端子ＳＭＣは、インバータＩＶ３の入力に接続され、インバータＩＶ３の出力は、インバータＩＶ４の入力に接続される。
【００３６】
インバータＩＶ３の出力は、スキャンイネーブル信号端子ＳＭＣの反転信号ＳＬＢとする。
【００３７】
インバータＩＶ４の出力は、スキャンイネーブル信号端子ＳＭＣの同相信号ＳＬとする。
【００３８】
トランスファゲートＴ１は、スキャンイネーブル信号端子ＳＭＣがＬｏｗ（スキャンイネーブル信号端子ＳＭＣの反転信号ＳＬＢがＨｉｇｈ）で導通状態となる。
【００３９】
トランスファゲートＴ２は、スキャンイネーブル信号端子ＳＭＣがＨｉｇｈ（スキャンイネーブル信号端子ＳＭＣの同相信号ＳＬがＨｉｇｈ）で導通状態となる。
【００４０】
データ信号入力端子Ｄは、トランスファゲートＴ１の入力に接続され、トランスファゲートＴ１の出力はノードＮ１を介して、マスターラッチＬ１の入力端子ＩＮ１に接続される。
【００４１】
スキャンテスト信号入力端子ＳＩＮは、トランスファゲートＴ２の入力に接続され、トランスファゲートＴ２の出力はノードＮ１を介して、マスターラッチＬ１の入力端子ＩＮ１に接続される。
【００４２】
マスターラッチＬ１の出力端子ＯＴ１は、スレーブラッチＬ２の入力端子ＩＮ２に接続される。
【００４３】
スレーブラッチＬ２の出力端子ＯＴ２は、データ信号出力端子Ｑに接続される。
【００４４】
スレーブラッチＬ２の出力端子ＯＴ３は、スキャンテスト信号出力端子ＳＯＴに接続される。
【００４５】
図２は、本実施形態に係るマスターラッチの構成を示す回路図である。
【００４６】
図２（ａ）は、Ｐｏｓ用のマスターラッチの構成を示す回路図である。
【００４７】
Ｐｏｓ用のマスターラッチＬ１ｐは、マスターラッチＬ１ｐの入力端子ＩＮ１ｐ、トランスファゲートＴ１ｐ、ノードＮ１ｐ、インバータＩＶ１ｐ、インバータＩＶ２ｐ、トランスファゲートＴ２ｐ、および、マスターラッチＬ１ｐの出力端子ＯＴ１ｐを備える。
【００４８】
トランスファゲートＴ１ｐは、クロック信号端子ＣがＬｏｗ（クロック信号端子Ｃの反転信号ＣＬＢがＨｉｇｈ）で導通状態となる。
【００４９】
トランスファゲートＴ２ｐは、クロック信号端子ＣがＨｉｇｈ（クロック信号端子Ｃの同相信号ＣＬがＨｉｇｈ）で導通状態となる。
【００５０】
マスターラッチの入力端子ＩＮ１ｐは、トランスファゲートＴ１ｐの入力に接続され、トランスファゲートＴ１ｐの出力は、ノードＮ１ｐを介してインバータＩＶ１ｐの入力に接続される。
【００５１】
インバータＩＶ１ｐの出力は、マスターラッチの出力端子ＯＴ１ｐと、インバータＩＶ２ｐの入力に接続される。
【００５２】
インバータＩＶ２ｐの出力は、トランスファゲートＴ２ｐの入力に接続され、トランスファゲートＴ２ｐの出力は、ノードＮ１ｐに接続される。
【００５３】
図２（ｂ）は、Ｎｅｇ用のマスターラッチの構成を示す回路図である。
【００５４】
Ｎｅｇ用のマスターラッチＬ１ｎは、マスターラッチＬ１ｎの入力端子ＩＮ１ｎ、トランスファゲートＴ２ｎ、ノードＮ１ｎ、インバータＩＶ１ｎ、インバータＩＶ２ｎ、トランスファゲートＴ１ｎ、および、マスターラッチＬ１ｎの出力端子ＯＴ１ｎを備える。
【００５５】
トランスファゲートＴ１ｎは、クロック信号端子ＣがＨｉｇｈ（クロック信号端子Ｃの同相信号ＣＬがＨｉｇｈ）で導通状態となる。
【００５６】
トランスファゲートＴ２ｎは、クロック信号端子ＣがＬｏｗ（クロック信号端子Ｃの反転信号ＣＬＢがＨｉｇｈ）で導通状態となる。
【００５７】
マスターラッチの入力端子ＩＮ１ｎは、トランスファゲートＴ１ｎの入力に接続され、トランスファゲートＴ１ｎの出力は、ノードＮ１ｎを介してインバータＩＶ１ｎの入力に接続される。
【００５８】
インバータＩＶ１ｎの出力は、マスターラッチの出力端子ＯＴ１ｎと、インバータＩＶ２ｎの入力に接続される。
【００５９】
インバータＩＶ２ｎの出力は、トランスファゲートＴ２ｎの入力に接続され、トランスファゲートＴ２ｎの出力は、ノードＮ１ｎに接続される。
【００６０】
図３は、本実施形態に係るスレーブラッチの構成を示す回路図である。
【００６１】
図３（ａ）は、Ｐｏｓ用のスレーブラッチの構成を示す回路図である。
【００６２】
Ｐｏｓ用のスレーブラッチＬ２ｐは、スレーブラッチＬ２ｐの入力端子ＩＮ２ｐ、トランスファゲートＴ３ｐ、ノードＮ２ｐ、トランスファゲートＴ４ｐ、ノードＮ３ｐ、インバータＩＶ３ｐ、インバータＩＶ４ｐ、トランスファゲートＴ５ｐ、インバータＩＶ５ｐ、トランスファゲートＴ６ｐ、スレーブラッチＬ２ｐの出力端子ＯＴ２ｐ、および、スレーブラッチＬ２ｐの出力端子ＯＴ３ｐを備える。
【００６３】
トランスファゲートＴ３ｐは、クロック信号端子ＣがＨｉｇｈ（クロック信号端子Ｃの同相信号ＣＬがＨｉｇｈ）で導通状態となる。
【００６４】
トランスファゲートＴ４ｐは、スキャンイネーブル信号端子ＳＭＣがＬｏｗ（スキャンイネーブル信号端子ＳＭＣの反転信号ＳＬＢがＨｉｇｈ）で導通状態となる。
【００６５】
トランスファゲートＴ５ｐは、スキャンイネーブル信号端子ＳＭＣがＨｉｇｈ（スキャンイネーブル信号端子ＳＭＣの同相信号ＳＬがＨｉｇｈ）で導通状態となる。
【００６６】
トランスファゲートＴ６ｐは、クロック信号端子ＣがＬｏｗ（クロック信号端子Ｃの反転信号ＣＬＢがＨｉｇｈ）で導通状態となる。
【００６７】
スレーブラッチの入力端子ＩＮ２ｐは、トランスファゲートＴ３ｐの入力に接続され、トランスファゲートＴ３ｐの出力は、ノードＮ２ｐを介して、トランスファゲートＴ４ｐの入力に接続される。
【００６８】
トランスファゲートＴ４ｐの出力は、ノードＮ３ｐを介して、インバータＩＶ３ｐの入力に接続され、インバータＩＶ３ｐの出力は、スレーブラッチの出力端子ＯＴ２ｐとインバータＩＶ４ｐの入力に接続される。
【００６９】
インバータＩＶ４ｐの出力は、トランスファゲートＴ５ｐの入力と、トランスファゲートＴ６ｐの入力と、インバータＩＶ５ｐの入力に接続される。
【００７０】
トランスファゲートＴ６ｐの出力は、ノードＮ２ｐに接続される。
【００７１】
トランスファゲートＴ５ｐの出力は、ノードＮ３ｐに接続される。
【００７２】
インバータＩＶ５ｐの出力は、スレーブラッチの出力端子ＯＴ３ｐに接続される。
【００７３】
図３（ｂ）は、Ｎｅｇ用のスレーブラッチの構成を示す回路図である。
【００７４】
Ｎｅｇ用のスレーブラッチＬ２ｎは、スレーブラッチＬ２ｎの入力端子ＩＮ２ｎ、トランスファゲートＴ５ｎ、ノードＮ２ｎ、トランスファゲートＴ３ｎ、ノードＮ３ｎ、インバータＩＶ３ｎ、インバータＩＶ４ｎ、トランスファゲートＴ６ｎ、インバータＩＶ５ｎ、トランスファゲートＴ４ｎ、スレーブラッチＬ２ｎの出力端子ＯＴ２ｎ、および、スレーブラッチＬ２ｎの出力端子ＯＴ３ｎを備える。
【００７５】
トランスファゲートＴ３ｎは、スキャンイネーブル信号端子ＳＭＣがＬｏｗ（スキャンイネーブル信号端子ＳＭＣの反転信号ＳＬＢがＨｉｇｈ）で導通状態となる。
【００７６】
トランスファゲートＴ４ｎは、クロック信号端子ＣがＬｏｗ（クロック信号端子Ｃの反転信号ＣＬＢがＨｉｇｈ）で導通状態となる。
【００７７】
トランスファゲートＴ５ｎは、クロック信号端子ＣがＨｉｇｈ（クロック信号端子Ｃの同相信号ＣＬがＨｉｇｈ）で導通状態となる。
【００７８】
トランスファゲートＴ６ｎは、スキャンイネーブル信号端子ＳＭＣがＨｉｇｈ（スキャンイネーブル信号端子ＳＭＣの同相信号ＳＬがＨｉｇｈ）で導通状態となる。
【００７９】
スレーブラッチの入力端子ＩＮ２ｎは、トランスファゲートＴ３ｎの入力に接続され、トランスファゲートＴ３ｎの出力は、ノードＮ２ｎを介して、トランスファゲートＴ４ｎの入力に接続される。
【００８０】
トランスファゲートＴ４ｎの出力は、ノードＮ３ｎを介して、インバータＩＶ３ｎの入力に接続され、インバータＩＶ３ｎの出力は、スレーブラッチの出力端子ＯＴ２ｎとインバータＩＶ４ｎの入力に接続される。
【００８１】
インバータＩＶ４ｎの出力は、トランスファゲートＴ５ｎの入力と、トランスファゲートＴ６ｎの入力と、インバータＩＶ５ｎの入力に接続される。
【００８２】
トランスファゲートＴ６ｎの出力は、ノードＮ２ｎに接続される。
【００８３】
トランスファゲートＴ５ｎの出力は、ノードＮ３ｎに接続される。
【００８４】
インバータＩＶ５ｎの出力は、スレーブラッチの出力端子ＯＴ３ｎに接続される。
【００８５】
図４は、本実施形態に係るスキャンフリップフロップのタイミングチャートである。
【００８６】
図４（ａ）は、Ｐｏｓ用スキャンフリップフロップのタイミングチャートである。
【００８７】
動作タイミングｔ１は、スキャンシフト動作の開始を示し、動作タイミングｔ１から動作タイミングｔ９までが、１シフト分のスキャンシフト動作であることを示している。
【００８８】
動作タイミングｔ１では、スキャンイネーブル信号端子ＳＭＣがＬｏｗとなり、クロック信号端子ＣがＬｏｗとなる。トランスファゲートＴ１と、トランスファゲートＴ１ｐが、導通状態となり、データ信号入力端子Ｄの値「Ｘ」が、マスターラッチＬ１ｐに伝播する。しかし、トランスファゲートＴ２ｐは非導通状態のため、データ信号入力端子Ｄの値「Ｘ」は、マスターラッチＬ１ｐに保持されない。また、トランスファゲートＴ３ｐは非導通状態となるため、データ信号入力端子Ｄからの値「Ｘ」の反転値は、スレーブラッチＬ２ｐに伝播しない。このとき、Ｐｏｓ用スキャンフリップフロップは、スレーブラッチＬ２ｐで保持している値「Ｘ」を、データ信号出力端子Ｑとスキャンテスト信号出力端子ＳＯＴより出力する。
【００８９】
動作タイミングｔ２では、スキャンイネーブル信号端子ＳＭＣが立ち上がり（Ｈｉｇｈ）となり、クロック信号端子ＣがＬｏｗとなる。トランスファゲートＴ２が導通状態となり、スキャンテスト信号入力端子ＳＩＮの値「０」が、マスターラッチＬ１ｐに伝播するが、トランスファゲートＴ２ｐは非導通状態のため、スキャンテスト信号入力端子ＳＩＮの値「０」は、マスターラッチＬ１ｐに保持されない。また、トランスファゲートＴ３ｐは非導通状態となるため、スキャンテスト信号入力端子ＳＩＮからの値「０」の反転値「１」は、スレーブラッチＬ２ｐに伝播しない。したがって、Ｐｏｓ用スキャンフリップフロップは、スレーブラッチＬ２ｐで保持している値「Ｘ」を、データ信号出力端子Ｑとスキャンテスト信号出力端子ＳＯＴから出力する。
【００９０】
動作タイミングｔ３では、スキャンイネーブル信号端子ＳＭＣがＨｉｇｈとなり、クロック信号端子Ｃが、立ち上がり（Ｈｉｇｈ）となる。トランスファゲートＴ２ｐが導通状態となるため、マスターラッチＬ１ｐは、スキャンテスト信号入力端子ＳＩＮから伝播した値「０」を保持する。また、トランスファゲートＴ３ｐが導通状態となるため、スキャンテスト信号入力端子ＳＩＮの値「０」の反転値「１」が、スレーブラッチＬ２ｐのトランスファゲートＴ４ｐまで伝播するが、トランスファゲートＴ４ｐは非導通状態のため、スキャンテスト信号入力端子ＳＩＮの値「０」は、データ信号出力端子Ｑとスキャンテスト信号出力端子ＳＯＴに伝播しない。したがって、Ｐｏｓ用スキャンフリップフロップは、データ信号出力端子Ｑとスキャンテスト信号出力端子ＳＯＴから、スレーブラッチＬ２ｐが保持している値「Ｘ」を出力する。
【００９１】
動作タイミングｔ４では、スキャンイネーブル信号端子ＳＭＣが立下り（Ｌｏｗ）となり、クロック信号端子ＣがＨｉｇｈとなる。トランスファゲートＴ１が導通状態となり、データ信号入力端子Ｄの値「Ｘ」が、マスターラッチＬ１ｐの入力端子ＩＮ１ｐまで伝播するが、トランスファゲートＴ１ｐが非導通状態のため、データ信号入力端子Ｄの値「Ｘ」は、マスターラッチＬ１ｐで保持をせず、マスターラッチＬ１ｐの出力端子ＯＴ１ｐからは、動作タイミングｔ３において保持したスキャンテスト信号入力端子ＳＩＮの値「０」の反転値「１」を出力する。スレーブラッチＬ２ｐでは、トランスファゲートＴ４ｐが導通状態となるため、マスターラッチＬ１ｐの出力端子ＯＴ１ｐから出力された値「１」がスレーブラッチＬ２ｐに伝播する。スレーブラッチＬ２ｐは、マスターラッチＬ１ｐから伝播した値「１」を保持することなく、その反転値「０」をデータ信号出力端子Ｑとスキャンテスト信号出力端子ＳＯＴに出力する。
【００９２】
Ｐｏｓ用スキャンフリップフロップは、動作タイミングｔ５以降、値の保持と、保持した値をデータ信号出力端子Ｑとスキャンテスト信号出力端子ＳＯＴから出力する動作のみを行う。
【００９３】
動作タイミングｔ５では、スキャンイネーブル信号端子ＳＭＣがＬｏｗとなり、クロック信号端子ＣがＨｉｇｈとなる。トランスファゲートＴ１が導通状態となり、データ信号入力端子Ｄの値「Ｘ」がマスターラッチＬ１ｐの入力端子ＩＮ１ｐに伝播するが、トランスファゲートＴ１ｐが非導通状態のため、データ信号入力端子Ｄの値「Ｘ」はマスターラッチＬ１ｐには伝播せず、マスターラッチＬ１ｐは動作タイミングｔ３で保持した値「０」の反転値「１」を出力する。マスターラッチＬ１ｐが出力した値「１」は、スレーブラッチＬ２ｐに伝播し、スレーブラッチＬ２ｐは伝播してきた値「１」を保持することなく、当該値の反転値「０」を、データ信号出力端子Ｑとスキャンテスト信号出力端子ＳＯＴから出力する。
【００９４】
動作タイミングｔ６では、スキャンイネーブル信号端子ＳＭＣが立ち上がり（Ｈｉｇｈ）となり、クロック信号端子ＣがＨｉｇｈとなる。トランスファゲートＴ２が導通状態となり、スキャンテスト信号入力端子ＳＩＮの値「１」が、マスターラッチＬ１ｐの入力端子ＩＮ１ｐに伝播するが、トランスファゲートＴ１ｐが非導通状態のため、スキャンテスト信号入力端子ＳＩＮの値「１」はマスターラッチＬ１ｐには伝播せず、マスターラッチＬ１ｐは動作タイミングｔ３で保持した値「０」の反転値「１」を出力する。スレーブラッチＬ２ｐのトランスファゲートＴ４ｐは非導通状態であることから、スレーブラッチＬ２ｐは、マスターラッチＬ１ｐが出力した値「１」を保持しない。一方、トランスファゲートＴ５ｐが導通状態となることから、スレーブラッチＬ２ｐは動作タイミングｔ５においてマスターラッチＬ１ｐから出力された値「１」を保持するとともに、保持した値の反転値「０」をデータ信号出力端子Ｑ、スキャンテスト信号出力端子ＳＯＴから出力する。
【００９５】
動作タイミングｔ７では、スキャンイネーブル信号端子ＳＭＣがＨｉｇｈとなり、クロック信号端子Ｃが立下り（Ｌｏｗ）となる。トランスファゲートＴ２と、トランスファゲートＴ１ｐが導通状態となり、スキャンテスト信号入力端子ＳＩＮの値「１」がマスターラッチＬ１ｐに伝播するが、スレーブラッチＬ２ｐのトランスファゲートＴ３ｐは非導通状態であり、スキャンテスト信号入力端子ＳＩＮの値「１」の反転値「０」はスレーブラッチＬ２ｐには伝播しない。このとき、スレーブラッチＬ２ｐは、保持している値「１」の反転値「０」をデータ信号出力端子Ｑとスキャンテスト信号出力端子ＳＯＴから出力する。
【００９６】
動作タイミングｔ８では、スキャンイネーブル信号端子ＳＭＣが立下り（Ｌｏｗ）となり、クロック信号端子ＣがＬｏｗとなる。トランスファゲートＴ１とトランスファゲートＴ１ｐが導通状態となり、データ信号入力端子Ｄの値「Ｘ」が、マスターラッチＬ１ｐに伝播するが、スレーブラッチＬ２ｐのトランスファゲートＴ３ｐが非導通状態のため、スレーブラッチＬ２ｐにはデータ信号入力端子Ｄの値「Ｘ」は伝播しない。スレーブラッチＬ２ｐは、保持している値「１」の反転値「０」をデータ信号出力端子Ｑ、スキャンテスト信号出力端子ＳＯＴから出力する。
【００９７】
動作タイミングｔ９では、スキャンイネーブル信号端子ＳＭＣがＬｏｗとなり、クロック信号端子ＣがＬｏｗとなるため、動作タイミングｔ９は、動作タイミングｔ１と同じ状態となり、スキャンシフトの１シフト分の動作が終了となる。引き続きスキャンシフト動作を行う場合は、動作タイミングｔ１からの動作を繰り返す。スキャンシフトが完了した場合は、キャプチャ（ｃａｐｔｕｒｅ）動作に移行する。
【００９８】
図４（ｂ）は、Ｎｅｇ用スキャンフリップフロップのタイミングチャートである。
【００９９】
動作タイミングｔ１は、スキャンシフト動作の開始を示し、動作タイミングｔ１から動作タイミングｔ９までが、１シフト分のスキャンシフト動作であることを示している。
【０１００】
動作タイミングｔ１から動作タイミングｔ５まで、Ｎｅｇ用スキャンフリップフロップは、値の保持と、保持した値をデータ信号出力端子Ｑとスキャンテスト信号出力端子ＳＯＴに出力する動作のみを行う。
【０１０１】
動作タイミングｔ１では、スキャンイネーブル信号端子ＳＭＣはＬｏｗとなり、クロック信号端子ＣがＬｏｗとなる。トランスファゲートＴ１が導通状態となり、データ信号入力端子Ｄの値「Ｘ」が、マスターラッチＬ１ｎの入力端子ＩＮ１ｎまで伝播するが、トランスファゲートＴ１ｎは非導通状態であり、マスターラッチＬ１ｎの内部には伝播しないため、マスターラッチＬ１ｎは保持している値の反転値をスレーブラッチＬ２ｎに伝播する。スレーブラッチＬ２ｎでは、トランスファゲートＴ３ｎと、トランスファゲートＴ４ｎが導通状態となるため、マスターラッチＬ１ｎから伝播した値「Ｘ」の反転値を、データ信号出力端子Ｑ、スキャンテスト信号出力端子ＳＯＴから出力する。
【０１０２】
動作タイミングｔ２では、スキャンイネーブル信号端子ＳＭＣが立ち上がり（Ｈｉｇｈ）となり、クロック信号端子ＣはＬｏｗとなる。トランスファゲートＴ２が導通状態となり、スキャンテスト信号入力端子ＳＩＮの値「０」が、マスターラッチＬ１ｎの入力端子ＩＮ１ｎまで伝播するが、トランスファゲートＴ１ｎは非導通状態であり、マスターラッチＬ１ｎの内部には伝播しないため、マスターラッチＬ１ｎは保持している値の反転値をスレーブラッチＬ２ｎの入力端子ＩＮ２ｎに伝播する。スレーブラッチＬ２ｎでは、トランスファゲートＴ３ｎが非導通状態となるため、マスターラッチＬ１ｎからの値はスレーブラッチＬ２ｎの内部には伝播しない。スレーブラッチＬ２ｎは、トランスファゲートＴ６ｎが導通状態となるため、動作タイミングｔ１で伝播した値「Ｘ」を保持し、保持した値の反転値をデータ信号出力端子Ｑ、スキャンテスト信号出力端子ＳＯＴに出力する。
【０１０３】
動作タイミングｔ３では、スキャンイネーブル信号端子ＳＭＣはＨｉｇｈとなり、クロック信号端子Ｃが立ち上がり（Ｈｉｇｈ）となる。トランスファゲートＴ２、トランスファゲートＴ１ｎが導通状態となり、スキャンテスト信号入力端子ＳＩＮの値「０」が、マスターラッチＬ１ｎの内部に伝播する。マスターラッチＬ１ｎに伝播した値「０」の反転値「１」は、マスターラッチＬ１ｎの出力端子ＯＴ１ｎから出力され、スレーブラッチＬ２ｎの入力端子ＩＮ２ｎに伝播するが、トランスファゲートＴ３ｎが非導通状態のため、スレーブラッチＬ２ｎの内部には伝播しない。スレーブラッチＬ２ｎでは、トランスファゲートＴ５ｎが導通状態となり、動作タイミングｔ２で保持した値「Ｘ」を保持し、保持した値の反転値をデータ信号出力端子Ｑ、スキャンテスト信号出力端子ＳＯＴから出力する。
【０１０４】
動作タイミングｔ４では、スキャンイネーブル信号端子ＳＭＣは立下り（Ｌｏｗ）となり、クロック信号端子ＣはＨｉｇｈとなる。トランスファゲートＴ１、トランスファゲートＴ１ｎが導通状態となるため、データ信号入力端子Ｄの値「Ｘ」がマスターラッチＬ１ｎの内部に伝播する。マスターラッチＬ１ｎに伝播した値「Ｘ」の反転値は、マスターラッチＬ１ｎの出力端子ＯＴ１ｎから出力され、スレーブラッチＬ２ｎに伝播するが、トランスファゲートＴ４ｎが非導通状態のため、マスターラッチＬ１ｎから伝播した値は、スレーブラッチＬ２ｎの出力まで伝播しない。スレーブラッチＬ２ｎは、動作タイミングｔ３で保持した値「Ｘ」を保持し、保持した値の反転値をデータ信号出力端子Ｑ、スキャンテスト信号出力端子ＳＯＴから出力する。
【０１０５】
動作タイミングｔ５では、スキャンイネーブル信号端子ＳＭＣはＬｏｗとなり、クロック信号端子ＣはＨｉｇｈとなる。トランスファゲートＴ１、トランスファゲートＴ１ｎが導通状態となるため、データ信号入力端子Ｄの値「Ｘ」がマスターラッチＬ１ｎの内部に伝播する。マスターラッチＬ１ｎに伝播した値「Ｘ」の反転値は、マスターラッチＬ１ｎの出力端子ＯＴ１ｎから出力され、スレーブラッチＬ２ｎに伝播するが、トランスファゲートＴ４ｎが非導通状態のため、マスターラッチＬ１ｎから伝播した値は、スレーブラッチＬ２ｎの出力まで伝播しない。スレーブラッチＬ２ｎは、動作タイミングｔ４で保持した値「Ｘ」を保持し、保持した値の反転値をデータ信号出力端子Ｑ、スキャンテスト信号出力端子ＳＯＴから出力する。
【０１０６】
動作タイミングｔ６では、スキャンイネーブル信号端子ＳＭＣは立ち上がり（Ｈｉｇｈ）となり、クロック信号端子ＣはＨｉｇｈとなる。トランスファゲートＴ２、トランスファゲートＴ１ｎが導通状態となり、スキャンテスト信号入力端子ＳＩＮ「０」の値が、マスターラッチＬ１ｎの内部に伝播する。マスターラッチＬ１ｎに伝播した値「０」の反転値「１」は、マスターラッチＬ１ｎの出力端子ＯＴ１ｎから出力され、スレーブラッチＬ２ｎの入力端子ＩＮ２ｎまで伝播するが、トランスファゲートＴ３ｎが非導通状態のため、スレーブラッチＬ２ｎの内部には伝播しない。スレーブラッチＬ２ｎは、動作タイミングｔ５で保持した値「Ｘ」を保持し、保持した値の反転値をデータ信号出力端子Ｑ、スキャンテスト信号出力端子ＳＯＴに出力する。
【０１０７】
動作タイミングｔ７では、スキャンイネーブル信号端子ＳＭＣはＨｉｇｈとなり、クロック信号端子Ｃは立下り（Ｌｏｗ）となる。トランスファゲートＴ２が導通状態のため、スキャンテスト信号入力端子ＳＩＮの値「０」がマスターラッチＬ１ｎの入力端子ＩＮ１ｎに伝播する。トランスファゲートＴ１ｎが非導通状態のため、スキャンテスト信号入力端子ＳＩＮの値「０」は、マスターラッチＬ１ｎの内部まで伝播しないが、トランスファゲートＴ２ｎが導通状態となるため、マスターラッチＬ１ｎは、動作タイミングｔ６でマスターラッチＬ１ｎに伝播した値「０」を保持し、マスターラッチＬ１ｎの出力端子ＯＴ１ｎから、反転値「１」を出力する。トランスファゲートＴ３ｎが非導通状態のため、マスターラッチＬ１ｎが出力した値「１」は、スレーブラッチＬ２ｎの内部には伝播せず、スレーブラッチＬ２ｎは、動作タイミングｔ６で保持した値「Ｘ」を保持し、保持した値の反転値をデータ信号出力端子Ｑ、スキャンテスト信号出力端子ＳＯＴから出力する。
【０１０８】
動作タイミングｔ８では、スキャンイネーブル信号端子ＳＭＣは立下り（Ｌｏｗ）となり、クロック信号端子ＣはＬｏｗとなる。トランスファゲートＴ１が導通状態となり、データ信号入力端子Ｄの値「Ｘ」がマスターラッチＬ１ｎの入力端子ＩＮ１ｎに伝播するが、トランスファゲートＴ１ｎが非導通状態のため、データ信号入力端子Ｄの値「Ｘ」は、マスターラッチＬ１ｎの内部まで伝播しない。マスターラッチＬ１ｎは、動作タイミングｔ７で保持した値「０」を保持し、マスターラッチＬ１ｎの出力端子ＯＴ１ｎから、保持した値の反転値「１」を出力する。トランスファゲートＴ３ｎと、トランスファゲートＴ４ｎが導通状態となるため、マスターラッチＬ１ｎが出力した値「１」は、スレーブラッチＬ２ｎの内部に伝播し、スレーブラッチＬ２ｎは、マスターラッチＬ１ｎから出力された値「１」の反転値「０」をデータ信号出力端子Ｑ、スキャンテスト信号出力端子ＳＯＴから出力する。このとき、トランスファゲートＴ５ｎ、Ｔ６ｎのいずれも非導通状態であるから、スレーブラッチＬ２ｎに伝播した値「１」は、スレーブラッチＬ２ｎでは保持されない。
【０１０９】
動作タイミングｔ９では、スキャンイネーブル信号端子ＳＭＣはＬｏｗとなり、クロック信号端子ＣはＬｏｗとなるため、動作タイミングｔ１と同じ状態となり、スキャンシフトの１シフト分の動作が終了となる。引き続きスキャンシフト動作を行う場合は、動作タイミングｔ１からの動作を繰り返す。スキャンシフトが完了した場合は、キャプチャ動作に移行する。
【０１１０】
図５は、本実施形態に係るスキャンフリップフロップの真理値表である。図５（ａ）は、Ｐｏｓ用スキャンフリップフロップの真理値表である。一方、図５（ｂ）は、Ｎｅｇ用スキャンフリップフロップの真理値表である。
【０１１１】
図５（ａ）を参照すると、Ｎｏｒｍａｌモードにおいて、Ｐｏｓ用スキャンフリップフロップのデータ信号出力端子Ｑとスキャンテスト信号出力端子ＳＯＴは、クロック信号端子Ｃの立ち上がりによって、データ信号入力端子Ｄの値を出力する。一方、クロック信号端子ＣがＬｏｗ（０）では、データ信号出力端子Ｑとスキャンテスト信号出力端子ＳＯＴは、値を保持（ｈｏｌｄ）する。
【０１１２】
図５（ａ）を参照すると、スキャンシフトモードにおいて、Ｐｏｓ用スキャンフリップフロップのデータ信号出力端子Ｑとスキャンテスト信号出力端子ＳＯＴは、クロック信号端子Ｃの立ち上がりとスキャンイネーブル信号端子ＳＭＣの立下りによって、スキャンテスト信号入力端子ＳＩＮの値を出力する。一方、スキャンイネーブル信号端子ＳＭＣがＨｉｇｈ（１）のとき、データ信号出力端子Ｑとスキャンテスト信号出力端子ＳＯＴは、値を保持（ｈｏｌｄ）する。
【０１１３】
図５（ｂ）を参照すると、Ｎｏｒｍａｌモードにおいて、Ｎｅｇ用スキャンフリップフロップのデータ信号出力端子Ｑとスキャンテスト信号出力端子ＳＯＴは、クロック信号端子Ｃの立下りによって、データ信号入力端子Ｄの値を出力する。一方、クロック信号端子ＣがＬｏｗ（０）のとき、データ信号出力端子Ｑとスキャンテスト信号出力端子ＳＯＴは、値を保持（ｈｏｌｄ）する。
【０１１４】
図５（ｂ）を参照すると、スキャンシフトモードにおいて、Ｎｅｇ用スキャンフリップフロップデータ信号出力端子Ｑとスキャンテスト信号出力端子ＳＯＴは、クロック信号端子Ｃの立下りとスキャンイネーブル信号端子ＳＭＣの立下りによって、スキャンテスト信号入力端子ＳＩＮの値を出力する。一方、スキャンイネーブル信号ＳＭＣがＨｉｇｈ（１）のとき、データ信号出力端子Ｑとスキャンテスト信号出力端子ＳＯＴは、値を保持（ｈｏｌｄ）する。
【０１１５】
本実施形態に係るＰｏｓ用スキャンフリップフロップは、クロック信号端子Ｃの立ち上がりで値を取り込み、スキャンイネーブル信号端子ＳＭＣの立下りで値を出力するように構成される。したがって、クロック信号端子Ｃとスキャンイネーブル信号端子ＳＭＣを制御して、クロック信号端子Ｃの立ち上がりからスキャンイネーブル信号端子ＳＭＣの立下りまでの時間を十分確保することによって、制御端子を増やすことなく、誤シフトを防止することが可能となる。また、本実施形態に係るＰｏｓ用スキャンフリップフロップでは、誤シフトを防止するための遅延素子が不要となるため、チップサイズの増加を防止することが可能になる。
【０１１６】
本実施形態に係るＮｅｇ用スキャンフリップフロップは、クロック信号端子Ｃの立ち下がりで値を取り込み、スキャンイネーブル信号端子ＳＭＣの立下りで値を出力するように構成される。したがって、クロック信号端子Ｃとスキャンイネーブル信号端子ＳＭＣを制御して、クロック信号端子Ｃの立ち下がりからスキャンイネーブル信号端子ＳＭＣの立下りまでの時間を十分確保することによって、制御端子を増やすことなく、誤シフトを防止することが可能となる。また、本実施形態に係るＮｅｇ用スキャンフリップフロップでは、誤シフトを防止するための遅延素子が不要となるため、チップサイズの増加を防止することが可能になる。
【０１１７】
本発明では、Ｐｏｓ用スキャンフリップフロップが値を取り込む際は、Ｎｅｇ用スキャンフリップフロップは値を保持する動作をし、Ｎｅｇ用スキャンフリップフロップが値を取り込む際は、Ｐｏｓ用スキャンフリップフロップは値を保持する動作をするため、Ｐｏｓ用スキャンフリップフロップとＮｅｇ用スキャンフリップフロップが混在したスキャンテストに対応することが可能となる。
【０１１８】
なお、Ｐｏｓ用スキャンフリップフロップとＮｅｇ用スキャンフリップフロップとの間にクロックスキューを調整するためのロックアップセルを挿入することで、Ｐｏｓ用スキャンフリップフロップとＮｅｇ用スキャンフリップフロップとが同一のスキャンチェーン上に混在する場合にも、正常にスキャンシフト動作させることが可能となる。
【０１１９】
なお、上記の特許文献等の先行技術文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施形態の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【０１２０】
Ｃ    クロック信号端子
ＣＫ    クロック信号の同相信号
ＣＬ    クロック信号端子Ｃの同相信号
ＣＬＢ    クロック信号端子Ｃの反転信号
ＣＬＫ１    クロック信号端子
Ｄ    データ信号入力端子
Ｄ１〜Ｄｎ    データ信号入力端子
ＤＦＦ１〜ＤＦＦｎ    スキャン記憶装置
ＦＦ    フリップフロップ
ＩＮ１、ＩＮ２    入力端子
ＩＮＶ１〜ＩＮＶ８    インバータ
ＩＶ１〜ＩＶ４、ＩＶ１ｐ〜ＩＶ５ｐ、ＩＶ１ｎ〜ＩＶ５ｎ    インバータ
ＬＡＴ    ラッチ回路
Ｌ１、Ｌ１ｐ、Ｌ１ｎ  マスターラッチ
Ｌ２、Ｌ２ｐ、Ｌ２ｎ  スレーブラッチ
Ｎ１、Ｎ１ｐ〜Ｎ４ｐ、Ｎ１ｎ〜Ｎ４ｎ    ノード
ＮＤ１〜ＮＤ５    ノード
ＯＴ１〜ＯＴ３    出力端子
Ｑ    データ信号出力端子
Ｑ１〜Ｑｎ    出力端子
ＳＥ    スキャンイネーブル信号
ＳＥ１    スキャンイネーブル信号入力端子
ＳＥＬ    選択回路
ＳＩ１〜ＳＩｎ    スキャンテスト信号入力端子
ＳＩＮ    スキャンテスト信号入力端子
ＳＬ    スキャンイネーブル信号端子ＳＭＣの同相信号
ＳＬＢ    スキャンイネーブル信号端子ＳＭＣの反転信号
ＳＭＣ    スキャンイネーブル信号端子
ＳＯ    スキャンパス出力端子
ＳＯ１〜ＳＯｎ    スキャンテスト信号出力端子
ＳＯＴ    スキャンテスト信号出力端子
ｔ１〜ｔ９    動作タイミング
Ｔ１、Ｔ２、Ｔ１ｐ〜Ｔ６ｐ、Ｔ１ｎ〜Ｔ６ｎ    トランスファゲート
ＴＧ１〜ＴＧ７    転送ゲート
ＸＣＫ    クロック信号ＣＬＫの反転信号
ＸＳＥ    スキャンイネーブル信号ＳＥの反転信号
【図１】
2013127396.tif 000003
【図２】
2013127396.tif 000004
【図３】
2013127396.tif 000005
【図４】
2013127396.tif 000006
【図５】
2013127396.tif 000007
【図６】
2013127396.tif 000008
【図７】
2013127396.tif 000009
【図８】
2013127396.tif 000010