(57)【特許請求の範囲】
【請求項１】
集積回路（ＩＣ）において用いるためのスキャン可能なストレージ要素であって、
データ入力とスキャン入力との一方に応答して第１のノードで第１の信号を提供するように構成される入力回路であって、前記スキャン入力が機能モードにおけるプルアップ論理であり、
前記データ入力を受け取るための第１のスイッチとスキャンイネーブル入力を受け取るための第２のスイッチとを含む第１のプルアップ経路と、
前記スキャン入力を受け取るための第３のスイッチを含む第２のプルアップ経路と、
前記スキャンイネーブル入力を受け取るための第４のスイッチと前記スキャン入力を受け取るための第５のスイッチとを含む第１のプルダウン経路と、
前記データ入力を受け取るための第６のスイッチを含む第２のプルダウン経路と、
を含み、
前記第１のプルアップ経路と前記第２のプルアップ経路とが電源と前記第１のノードとの間で結合され、前記第１のプルダウン経路と前記第２のプルダウン経路とが前記第１のノードと基準源との間で結合される、前記入力回路と、
前記第１のノードと結合されるシフト回路であって、１つ又は複数の順序構成要素を含み、前記第１の信号に応答して第２のノードで第２の信号を提供するように構成される、前記シフト回路と、
前記第２の信号を受け取るように前記第２のノードに結合されるスキャン出力バッファであって、前記第２の信号に応答してスキャン出力端子でスキャン出力を提供するように構成され、前記スキャン出力が前記機能モードにおけるプルダウン論理であり、前記スキャン出力がシフトモードにおける前記スキャン入力に対応する、前記スキャン出力バッファと、
を含み、
前記スキャン出力バッファが、
ｐチャネルＭＯＳ（ＰＭＯＳ）トランジスタとｎチャネルＭＯＳ（ＮＭＯＳ）トランジスタとを有するインバータであって、前記インバータの出力が前記スキャン出力端子に結合される、前記インバータと、
前記電源に結合されるソースと、前記ＰＭＯＳトランジスタのソースに結合されるドレインと、反転スキャンイネーブル入力に結合されるゲートとを有する第３のＭＯＳトランジスタと、
ソースが前記基準源に結合され、ドレインが前記スキャン出力端子に結合され、ゲートが前記反転スキャンイネーブル入力に結合される第４のＭＯＳトランジスタであって、前記機能モードにおいて前記反転スキャンイネーブル入力に応答して前記スキャン出力端子をプルダウンするように構成される、前記第４のＭＯＳトランジスタと、
を含む、スキャン可能なストレージ要素。
【請求項２】
請求項１に記載のスキャン可能なストレージ要素であって、
前記第１のスイッチと前記第２のスイッチと前記第３のスイッチと前記第４のスイッチと前記第５のスイッチと前記第６のスイッチとの各々が、金属酸化物半導体（ＭＯＳ）トランジスタである、スキャン可能なストレージ要素。
【請求項３】
請求項１に記載のスキャン可能なストレージ要素であって、
前記第２のノードに結合されるデータ出力バッファであって、データ出力端子で前記第２の信号に応答してデータ出力を提供するように構成される、前記データ出力バッファを更に含む、スキャン可能なストレージ要素。
【請求項４】
集積回路（ＩＣ）において用いるためのスキャン可能なストレージ要素であって、
データ入力とスキャン入力との一方に応答して第１のノードで第１の信号を提供するように構成される入力回路であって、前記スキャン入力が機能モードにおけるプルアップ論理であり、
前記データ入力を受け取るための第１のスイッチとスキャンイネーブル入力を受け取るための第２のスイッチとを含む第１のプルアップ経路と、
前記スキャン入力を受け取るための第３のスイッチを含む第２のプルアップ経路と、
前記スキャンイネーブル入力を受け取るための第４のスイッチと前記スキャン入力を受け取るための第５のスイッチとを含む第１のプルダウン経路と、
前記データ入力を受け取るための第６のスイッチを含む第２のプルダウン経路と、
を含み、
前記第１のプルアップ経路と前記第２のプルアップ経路とが電源と前記第１のノードとの間で結合され、前記第１のプルダウン経路と前記第２のプルダウン経路とが前記第１のノードと基準源との間で結合される、前記入力回路と、
前記第１のノードと結合されるシフト回路であって、１つ又は複数の順序構成要素を含み、前記第１の信号に応答して第２のノードで第２の信号を提供するように構成される、前記シフト回路と、
前記第２の信号を受け取るように前記第２のノードに結合されるスキャン出力バッファであって、前記第２の信号に応答してスキャン出力端子でスキャン出力を提供するように構成され、前記スキャン出力が前記機能モードにおける前記プルアップ論理であり、前記スキャン出力がシフトモードにおける前記スキャン入力に対応する、前記スキャン出力バッファと、
を含み、
前記スキャン出力バッファが、
ＰＭＯＳトランジスタとＮＭＯＳトランジスタとを有するインバータであって、前記インバータの出力が前記スキャン出力端子に結合される、前記インバータと、
前記基準源に結合されるソースと、前記ＮＭＯＳトランジスタのソースに結合されるドレインと、前記スキャンイネーブル入力に結合されるゲートとを有する第３のＭＯＳトランジスタと、
ソースが前記電源に結合され、ドレインが前記スキャン出力端子に結合され、ゲートが前記スキャンイネーブル入力に結合される第４のＭＯＳトランジスタであって、前記機能モードにおいて前記反転スキャンイネーブル入力に応答して前記スキャン出力端子をプルアップするように構成される、前記第４のＭＯＳトランジスタと、
を含む、スキャン可能なストレージ要素。
【請求項５】
請求項４に記載のスキャン可能なストレージ要素であって、
前記第１のスイッチと前記第２のスイッチと前記第３のスイッチと前記第４のスイッチと前記第５のスイッチと前記第６のスイッチとの各々が、金属酸化物半導体（ＭＯＳ）トランジスタである、スキャン可能なストレージ要素。
【請求項６】
集積回路（ＩＣ）において用いるためのスキャン可能なストレージ要素であって、
データ入力とスキャン入力との一方に応答して第１のノードで第１の信号を提供するように構成される入力回路であって、前記スキャン入力が機能モードにおけるプルアップ論理であり、
前記データ入力を受け取るための第１のスイッチとスキャンイネーブル入力を受け取るための第２のスイッチとを含む第１のプルアップ経路と、
前記スキャン入力を受け取るための第３のスイッチを含む第２のプルアップ経路と、
前記スキャンイネーブル入力を受け取るための第４のスイッチと前記スキャン入力を受け取るための第５のスイッチとを含む第１のプルダウン経路と、
前記データ入力を受け取るための第６のスイッチを含む第２のプルダウン経路と、
を含み、
前記第１のプルアップ経路と前記第２のプルアップ経路とが電源と前記第１のノードとの間で結合され、前記第１のプルダウン経路と前記第２のプルダウン経路とが前記第１のノードと基準源との間で結合される、前記入力回路と、
前記第１のノードと結合されるシフト回路であって、１つ又は複数の順序構成要素を含み、前記第１の信号に応答して第２のノードで第２の信号を提供するように構成される、前記シフト回路と、
前記第２の信号を受け取るように前記第２のノードに結合されるスキャン出力バッファであって、前記第２の信号に応答してスキャン出力端子でスキャン出力を提供するように構成され、前記スキャン出力が前記機能モードにおけるプルダウン論理であり、前記スキャン出力がシフトモードにおける前記スキャン入力に対応する、前記スキャン出力バッファと、
を含み、
前記スキャン出力バッファが、
第１のＭＯＳトランジスタと第２のＭＯＳトランジスタとを有するトランスミッションゲートであって、前記第１のＭＯＳトランジスタのソースとドレインとが、それぞれ、前記第２のＭＯＳトランジスタのソースとドレインとに結合され、前記第１及び第２のＭＯＳトランジスタのドレインが前記第２のノードに結合され、前記第１及び第２のＭＯＳトランジスタのソースが前記スキャン出力端子に結合され、前記第１及び第２のＭＯＳトランジスタのゲートが、それぞれ、反転スキャンイネーブル入力と前記スキャンイネーブル入力とに結合される、前記トランスミッションゲートと、
前記スキャン出力端子に結合され、前記機能モードにおいて前記反転スキャンイネーブル入力に応答して前記スキャン出力端子をプルダウンするように構成される第３のＭＯＳトランジスタと、
を含む、スキャン可能なストレージ要素。
【請求項７】
請求項６に記載のスキャン可能なストレージ要素であって、
前記第１のスイッチと前記第２のスイッチと前記第３のスイッチと前記第４のスイッチと前記第５のスイッチと前記第６のスイッチとの各々が、金属酸化物半導体（ＭＯＳ）トランジスタである、スキャン可能なストレージ要素。
【請求項８】
集積回路（ＩＣ）において用いるためのスキャン可能なストレージ要素であって、
データ入力とスキャン入力との一方に応答して第１のノードで第１の信号を提供するように構成される入力回路であって、前記スキャン入力が機能モードにおけるプルアップ論理であり、
前記データ入力を受け取るための第１のスイッチとスキャンイネーブル入力を受け取るための第２のスイッチとを含む第１のプルアップ経路と、
前記スキャン入力を受け取るための第３のスイッチを含む第２のプルアップ経路と、
前記スキャンイネーブル入力を受け取るための第４のスイッチと前記スキャン入力を受け取るための第５のスイッチとを含む第１のプルダウン経路と、
前記データ入力を受け取るための第６のスイッチを含む第２のプルダウン経路と、
を含み、
前記第１のプルアップ経路と前記第２のプルアップ経路とが電源と前記第１のノードとの間で結合され、前記第１のプルダウン経路と前記第２のプルダウン経路とが前記第１のノードと基準源との間で結合される、前記入力回路と、
前記第１のノードと結合されるシフト回路であって、１つ又は複数の順序構成要素を含み、前記第１の信号に応答して第２のノードで第２の信号を提供するように構成される、前記シフト回路と、
前記第２の信号を受け取るように前記第２のノードに結合されるスキャン出力バッファであって、前記第２の信号に応答してスキャン出力端子でスキャン出力を提供するように構成され、前記スキャン出力が前記機能モードにおける前記プルアップ論理とプルダウン論理との一方であり、前記スキャン出力がシフトモードにおける前記スキャン入力に対応する、前記スキャン出力バッファと、
前記第２のノードに結合されるデータ出力バッファであって、データ出力端子で前記第２の信号に応答してデータ出力を提供するように構成される、前記データ出力バッファと、
を含み、
前記データ出力バッファが、
ＰＭＯＳトランジスタとＮＭＯＳトランジスタとを有するインバータであって、前記インバータの出力が前記データ出力端子に結合される、前記インバータと、
ドレインが前記ＮＭＯＳトランジスタのソースに結合され、ソースが前記基準源に結合され、ゲートが反転スキャンイネーブル入力に結合される第３のＭＯＳトランジスタと、
前記電源に結合されるソースと、前記データ出力端子に結合されるドレインと、前記反転スキャンイネーブル入力に結合されるゲートとを有する第４のＭＯＳトランジスタであって、シフトモードにおいて前記データ出力端子をプルアップするように構成される、前記第４のＭＯＳトランジスタと、
を含む、スキャン可能なストレージ要素。
【請求項９】
請求項８に記載のスキャン可能なストレージ要素であって、
前記第１のスイッチと前記第２のスイッチと前記第３のスイッチと前記第４のスイッチと前記第５のスイッチと前記第６のスイッチとの各々が、金属酸化物半導体（ＭＯＳ）トランジスタである、スキャン可能なストレージ要素。
【請求項１０】
集積回路（ＩＣ）において用いるためのスキャン可能なストレージ要素であって、
データ入力とスキャン入力との一方に応答して第１のノードで第１の信号を提供するように構成される入力回路であって、前記スキャン入力が機能モードにおけるプルアップ論理であり、
前記データ入力を受け取るための第１のスイッチとスキャンイネーブル入力を受け取るための第２のスイッチとを含む第１のプルアップ経路と、
前記スキャン入力を受け取るための第３のスイッチを含む第２のプルアップ経路と、
前記スキャンイネーブル入力を受け取るための第４のスイッチと前記スキャン入力を受け取るための第５のスイッチとを含む第１のプルダウン経路と、
前記データ入力を受け取るための第６のスイッチを含む第２のプルダウン経路と、
を含み、
前記第１のプルアップ経路と前記第２のプルアップ経路とが電源と前記第１のノードとの間で結合され、前記第１のプルダウン経路と前記第２のプルダウン経路とが前記第１のノードと基準源との間で結合される、前記入力回路と、
前記第１のノードと結合されるシフト回路であって、１つ又は複数の順序構成要素を含み、前記第１の信号に応答して第２のノードで第２の信号を提供するように構成される、前記シフト回路と、
前記第２の信号を受け取るように前記第２のノードに結合されるスキャン出力バッファであって、前記第２の信号に応答してスキャン出力端子でスキャン出力を提供するように構成され、前記スキャン出力が前記機能モードにおける前記プルアップ論理とプルダウン論理との一方であり、前記スキャン出力がシフトモードにおける前記スキャン入力に対応する、前記スキャン出力バッファと、
前記第２のノードに結合されるデータ出力バッファであって、データ出力端子で前記第２の信号に応答してデータ出力を提供するように構成される、前記データ出力バッファと、
を含み、
前記データ出力バッファが、
ＰＭＯＳトランジスタとＮＭＯＳトランジスタとを有するインバータであって、前記インバータの出力が前記データ出力端子に結合される、前記インバータと、
ソースが前記電源に結合され、ドレインが前記ＰＭＯＳトランジスタのソースに結合され、ゲートが前記スキャンイネーブル入力に結合される第３のＭＯＳトランジスタと、
前記データ出力端子に結合されるドレインと、前記基準源に結合されるソースと、前記スキャンイネーブル入力に結合されるゲートとを有する、前記第４のＭＯＳトランジスタであって、シフトモードにおいて前記データ出力端子をプルアップするように構成される、前記第４のＭＯＳトランジスタと、
を含む、スキャン可能なストレージ要素。
【請求項１１】
集積回路（ＩＣ）において用いるためのスキャン可能なストレージ要素であって、
データ入力とスキャン入力との一方に応答して第１のノードで第１の信号を提供するように構成される入力回路であって、前記スキャン入力が機能モードにおけるプルダウン論理であり、
前記スキャン入力を受け取るための第１のスイッチと前記データ入力を受け取るための第２のスイッチとを含む第１のプルアップ経路と、
前記第１のスイッチと反転スキャンイネーブル入力を受け取るための第３のスイッチとを含む第２のプルアップ経路と、
前記反転スキャンイネーブル入力を受け取るための第４のスイッチと前記データ入力を受け取るための第５のスイッチとを含む第１のプルダウン経路と、
前記スキャン入力を受け取るための第６のスイッチを含む第２のプルダウン経路と、
を含み、
前記第１のプルアップ経路と前記第２のプルアップ経路とが電源と前記第１のノードとの間で結合され、前記第１のプルダウン経路と前記第２のプルダウン経路とが前記第１のノードと基準源との間で結合される、前記入力回路と、
前記第１のノードと結合されるシフト回路であって、１つ又は複数の順序構成要素を含み、第２のノードで前記第１の信号に応答して第２の信号を提供するように構成される、前記シフト回路と、
前記第２の信号を受け取るように前記第２のノードに結合されるスキャン出力バッファであって、前記第２の信号に応答してスキャン出力端子でスキャン出力を提供するように構成され、前記スキャン出力が前記機能モードにおける前記プルダウン論理であり、前記スキャン出力がシフトモードにおける前記スキャン入力に対応する、前記スキャン出力バッファと、
を含み、
前記スキャン出力バッファが、
ｐチャネル金属酸化物半導体（ＰＭＯＳ）トランジスタとｎチャネルＭＯＳ（ＮＭＯＳ）トランジスタとを有するインバータであって、前記インバータの出力が前記スキャン出力端子に結合される、前記インバータと、
前記電源に結合されるソースと、前記ＰＭＯＳトランジスタのソースに結合されるドレインと、反転スキャンイネーブル入力に結合されるゲートとを有する第３のＭＯＳトランジスタと、
ソースが前記基準源に結合され、ドレインが前記スキャン出力端子に結合され、ゲートが前記反転スキャンイネーブル入力に結合される第４のＭＯＳトランジスタであって、前記機能モードにおいて前記反転スキャンイネーブル入力に応答して前記スキャン出力端子をプルダウンするように構成される、前記第４のＭＯＳトランジスタと、
を含む、  スキャン可能なストレージ要素。
【請求項１２】
請求項１１に記載のスキャン可能なストレージ要素であって、
前記第１のスイッチと前記第２のスイッチと前記第３のスイッチと前記第４のスイッチと前記第５のスイッチと前記第６のスイッチとの各々が、金属酸化物半導体（ＭＯＳ）トランジスタである、スキャン可能なストレージ要素。
【請求項１３】
請求項１１に記載のスキャン可能なストレージ要素であって、
前記第２のノードに結合されるデータ出力バッファであって、データ出力端子で前記第２の信号に応答してデータ出力を提供するように構成される、前記データ出力バッファを更に含む、スキャン可能なストレージ要素。
【請求項１４】
集積回路（ＩＣ）において用いるためのスキャン可能なストレージ要素であって、
データ入力とスキャン入力との一方に応答して第１のノードで第１の信号を提供するように構成される入力回路であって、前記スキャン入力が機能モードにおけるプルダウン論理であり、
前記スキャン入力を受け取るための第１のスイッチと前記データ入力を受け取るための第２のスイッチとを含む第１のプルアップ経路と、
前記第１のスイッチと反転スキャンイネーブル入力を受け取るための第３のスイッチとを含む第２のプルアップ経路と、
前記反転スキャンイネーブル入力を受け取るための第４のスイッチと前記データ入力を受け取るための第５のスイッチとを含む第１のプルダウン経路と、
前記スキャン入力を受け取るための第６のスイッチを含む第２のプルダウン経路と、
を含み、
前記第１のプルアップ経路と前記第２のプルアップ経路とが電源と前記第１のノードとの間で結合され、前記第１のプルダウン経路と前記第２のプルダウン経路とが前記第１のノードと基準源との間で結合される、前記入力回路と、
前記第１のノードと結合されるシフト回路であって、１つ又は複数の順序構成要素を含み、第２のノードで前記第１の信号に応答して第２の信号を提供するように構成される、前記シフト回路と、
前記第２の信号を受け取るように前記第２のノードに結合されるスキャン出力バッファであって、前記第２の信号に応答してスキャン出力端子でスキャン出力を提供するように構成され、前記スキャン出力が前記機能モードにおけるプルアップ論理であり、前記スキャン出力がシフトモードにおける前記スキャン入力に対応する、前記スキャン出力バッファと、
を含み、
前記スキャン出力バッファが、
ＰＭＯＳトランジスタとＮＭＯＳトランジスタとを有するインバータであって、前記インバータの出力が前記スキャン出力端子に結合される、前記インバータと、
前記基準源に結合されるソースと、前記ＮＭＯＳトランジスタのソースに結合されるドレインと、スキャンイネーブル入力に結合されるゲートとを有する第３のＭＯＳトランジスタと、
ソースが前記電源に結合され、ドレインが前記スキャン出力端子に結合され、ゲートが前記スキャンイネーブル入力に結合される第４のＭＯＳトランジスタであって、前記機能モードにおいて前記反転スキャンイネーブル入力に応答して前記スキャン出力端子をプルアップするように構成される、前記第４のＭＯＳトランジスタと、
を含む、スキャン可能なストレージ要素。
【請求項１５】
集積回路（ＩＣ）において用いるためのスキャン可能なストレージ要素であって、
データ入力とスキャン入力との一方に応答して第１のノードで第１の信号を提供するように構成される入力回路であって、前記スキャン入力が機能モードにおけるプルダウン論理であり、
前記スキャン入力を受け取るための第１のスイッチと前記データ入力を受け取るための第２のスイッチとを含む第１のプルアップ経路と、
前記第１のスイッチと反転スキャンイネーブル入力を受け取るための第３のスイッチとを含む第２のプルアップ経路と、
前記反転スキャンイネーブル入力を受け取るための第４のスイッチと前記データ入力を受け取るための第５のスイッチとを含む第１のプルダウン経路と、
前記スキャン入力を受け取るための第６のスイッチを含む第２のプルダウン経路と、
を含み、
前記第１のプルアップ経路と前記第２のプルアップ経路とが電源と前記第１のノードとの間で結合され、前記第１のプルダウン経路と前記第２のプルダウン経路とが前記第１のノードと基準源との間で結合される、前記入力回路と、
前記第１のノードと結合されるシフト回路であって、１つ又は複数の順序構成要素を含み、第２のノードで前記第１の信号に応答して第２の信号を提供するように構成される、前記シフト回路と、
前記第２の信号を受け取るように前記第２のノードに結合されるスキャン出力バッファであって、前記第２の信号に応答してスキャン出力端子でスキャン出力を提供するように構成され、前記スキャン出力が前記機能モードにおける前記プルダウン論理であり、前記スキャン出力がシフトモードにおける前記スキャン入力に対応する、前記スキャン出力バッファと、
を含み、
前記スキャン出力バッファが、
第１のＭＯＳトランジスタと第２のＭＯＳトランジスタとを有するトランスミッションゲートであって、前記第１のＭＯＳトランジスタのソースとドレインとが、それぞれ、前記第２のＭＯＳトランジスタのソースとドレインとに結合され、前記第１及び第２のＭＯＳトランジスタのドレインが前記第２のノードに結合され、前記第１及び第２のＭＯＳトランジスタのソースが前記スキャン出力端子に結合され、前記第１及び第２のＭＯＳトランジスタのゲートが、それぞれ、前記反転スキャンイネーブル入力とスキャンイネーブル入力とに結合される、前記トランスミッションゲートと、
前記スキャン出力端子に結合され、前記機能モードにおいて前記反転スキャンイネーブル入力に応答して前記スキャン出力端子をプルダウンするように構成される第３のＭＯＳトランジスタと、
を含む、スキャン可能なストレージ要素。
【請求項１６】
集積回路（ＩＣ）において用いるためのスキャン可能なストレージ要素であって、
データ入力とスキャン入力との一方に応答して第１のノードで第１の信号を提供するように構成される入力回路であって、前記スキャン入力が機能モードにおけるプルダウン論理であり、
前記スキャン入力を受け取るための第１のスイッチと前記データ入力を受け取るための第２のスイッチとを含む第１のプルアップ経路と、
前記第１のスイッチと反転スキャンイネーブル入力を受け取るための第３のスイッチとを含む第２のプルアップ経路と、
前記反転スキャンイネーブル入力を受け取るための第４のスイッチと前記データ入力を受け取るための第５のスイッチとを含む第１のプルダウン経路と、
前記スキャン入力を受け取るための第６のスイッチを含む第２のプルダウン経路と、
を含み、
前記第１のプルアップ経路と前記第２のプルアップ経路とが電源と前記第１のノードとの間で結合され、前記第１のプルダウン経路と前記第２のプルダウン経路とが前記第１のノードと基準源との間で結合される、前記入力回路と、
前記第１のノードと結合されるシフト回路であって、１つ又は複数の順序構成要素を含み、第２のノードで前記第１の信号に応答して第２の信号を提供するように構成される、前記シフト回路と、
前記第２の信号を受け取るように前記第２のノードに結合されるスキャン出力バッファであって、前記第２の信号に応答してスキャン出力端子でスキャン出力を提供するように構成され、前記スキャン出力が前記機能モードにおけるプルアップ論理と前記プルダウン論理との一方であり、前記スキャン出力がシフトモードにおける前記スキャン入力に対応する、前記スキャン出力バッファと、
前記第２のノードに結合されるデータ出力バッファであって、データ出力端子で前記第２の信号に応答してデータ出力を提供するように構成される、前記データ出力バッファと、
を含み、
前記データ出力バッファが、
ＰＭＯＳトランジスタとＮＭＯＳトランジスタとを有するインバータであって、前記インバータの出力が前記データ出力端子に結合される、前記インバータと、
ドレインが前記ＮＭＯＳトランジスタのソースに結合され、ソースが前記基準源に結合され、ゲートが前記反転スキャンイネーブル入力に結合される第３のＭＯＳトランジスタと、
前記電源に結合されるソースと、前記データ出力端子に結合されるドレインと、前記反転スキャンイネーブル入力に結合されるゲートとを有する第４のＭＯＳトランジスタであって、シフトモードにおいて前記データ出力端子をプルアップするように構成される、前記第４のＭＯＳトランジスタと、
を含む、スキャン可能なストレージ要素。
【請求項１７】
集積回路（ＩＣ）において用いるためのスキャン可能なストレージ要素であって、
データ入力とスキャン入力との一方に応答して第１のノードで第１の信号を提供するように構成される入力回路であって、前記スキャン入力が機能モードにおけるプルダウン論理であり、
前記スキャン入力を受け取るための第１のスイッチと前記データ入力を受け取るための第２のスイッチとを含む第１のプルアップ経路と、
前記第１のスイッチと反転スキャンイネーブル入力を受け取るための第３のスイッチとを含む第２のプルアップ経路と、
前記反転スキャンイネーブル入力を受け取るための第４のスイッチと前記データ入力を受け取るための第５のスイッチとを含む第１のプルダウン経路と、
前記スキャン入力を受け取るための第６のスイッチを含む第２のプルダウン経路と、
を含み、
前記第１のプルアップ経路と前記第２のプルアップ経路とが電源と前記第１のノードとの間で結合され、前記第１のプルダウン経路と前記第２のプルダウン経路とが前記第１のノードと基準源との間で結合される、前記入力回路と、
前記第１のノードと結合されるシフト回路であって、１つ又は複数の順序構成要素を含み、第２のノードで前記第１の信号に応答して第２の信号を提供するように構成される、前記シフト回路と、
前記第２の信号を受け取るように前記第２のノードに結合されるスキャン出力バッファであって、前記第２の信号に応答してスキャン出力端子でスキャン出力を提供するように構成され、前記スキャン出力が前記機能モードにおけるプルアップ論理と前記プルダウン論理との一方であり、前記スキャン出力がシフトモードにおける前記スキャン入力に対応する、前記スキャン出力バッファと、
前記第２のノードに結合されるデータ出力バッファであって、データ出力端子で前記第２の信号に応答してデータ出力を提供するように構成される、前記データ出力バッファと、
を含み、
前記データ出力バッファが、
ＰＭＯＳトランジスタとＮＭＯＳトランジスタとを有するインバータであって、前記インバータの出力が前記データ出力端子に結合される、前記インバータと、
ソースが前記電源に結合され、ドレインが前記ＰＭＯＳトランジスタのソースに結合され、ゲートがスキャンイネーブル入力に結合される第３のＭＯＳトランジスタと、
前記データ出力端子に結合されるドレインと、前記基準源に結合されるソースと、前記スキャンイネーブル入力に結合されるゲートとを有する第４のＭＯＳトランジスタであって、シフトモードにおいて前記データ出力端子をプルダウンするように構成される、前記第４のＭＯＳトランジスタと、
を含む、スキャン可能なストレージ要素。
【請求項１８】
集積回路（ＩＣ）のスキャンチェーンにおけるスキャン可能なストレージ要素を動作させるための方法であって、
データ入力とスキャン入力との一方に応答して前記スキャン可能なストレージ要素の第１のノードで第１の信号を生成することであって、前記スキャン入力が機能モードにおけるプルアップ論理とプルダウン論理との一方である、前記第１の信号を生成することと、
前記スキャン可能なストレージ要素の第２のノードで前記第１の信号に応答して１つ又は複数の順序要素によって第２の信号を生成することと、
前記第２の信号に応答して前記スキャン可能なストレージ要素のスキャン出力端子でスキャン出力を生成することであって、前記スキャン出力が前記機能モードにおける前記プルアップ論理と前記プルダウン論理との一方であり、前記スキャン出力がシフトモードにおける前記スキャン入力に対応する、前記スキャン出力を生成することと、
を含み、
前記第１の信号を生成することが、
前記データ入力を受け取るための第１のスイッチとスキャンイネーブル入力を受け取るための第２のスイッチとを含む第１のプルアップ経路を提供することと、
前記スキャン入力を受け取るための第３のスイッチを含む第２のプルアップ経路を提供することと、
前記スキャンイネーブル入力を受け取るための第４のスイッチと前記スキャン入力を受け取るための第５のスイッチとを含む第１のプルダウン経路を提供することと、
前記データ入力を受け取るための第６のスイッチを含む第２のプルダウン経路を提供することと、
を含み、
前記第１のプルアップ経路と前記第２のプルアップ経路とが電源と前記第１のノードとの間で結合され、前記第１のプルダウン経路と前記第２のプルダウン経路とが前記第１のノードと基準源との間で結合される、方法。
【請求項１９】
集積回路（ＩＣ）のスキャンチェーンにおけるスキャン可能なストレージ要素を動作させるための方法であって、
データ入力とスキャン入力との一方に応答して前記スキャン可能なストレージ要素の第１のノードで第１の信号を生成することであって、前記スキャン入力が機能モードにおけるプルアップ論理とプルダウン論理との一方である、前記第１の信号を生成することと、
前記スキャン可能なストレージ要素の第２のノードで前記第１の信号に応答して１つ又は複数の順序要素によって第２の信号を生成することと、
前記第２の信号に応答して前記スキャン可能なストレージ要素のスキャン出力端子でスキャン出力を生成することであって、前記スキャン出力が前記機能モードにおける前記プルアップ論理と前記プルダウン論理との一方であり、前記スキャン出力がシフトモードにおける前記スキャン入力に対応する、前記スキャン出力を生成することと、
を含み、
前記第１の信号を生成することが、
前記スキャン入力を受け取るための第１のスイッチと前記データ入力を受け取るための第２のスイッチとを含む第１のプルアップ経路を提供することと、
前記第１のスイッチと反転スキャンイネーブル入力を受け取るための第３のスイッチとを含む第２のプルアップ経路を提供することと、
前記反転スキャンイネーブル入力を受け取るための第４のスイッチと前記データ入力を受け取るための第５のスイッチとを含む第１のプルダウン経路を提供することと、
前記スキャン入力を受け取るための第６のスイッチを含む第２のプルダウン経路を提供することと、
を含み、
前記第１のプルアップ経路と前記第２のプルアップ経路とが電源と前記第１のノードとの間で結合される、前記第１のプルダウン経路と前記第２のプルダウン経路とが前記第１のノードと基準源との間で結合される、方法。
【請求項２０】
請求項１８又は１９に記載の方法であって、
前記スキャン可能なストレージ要素のデータ出力端子で前記第２の信号に応答してデータ出力を生成することを更に含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、スキャンチェーンに関し、集積回路（ＩＣ）における電力及び面積の最適化に関する。
【背景技術】
【０００２】
集積回路（ＩＣ）テストでは、内部の埋め込みスキャン設計のテスト技術が、ＩＣの動作をテストするコスト効果の高い解決策になっている。スキャン設計は、ＩＣ内の標準のフリップフロップ及びラッチ（ストレージ要素）の構造をスキャンフリップフロップ及びラッチに変更することによって達成され、これは、機能データ入力に並列にスキャンデータ用の第２の交互スキャン入力を設けることによって行われる。スキャンデータ用の交互入力は、概して、スキャンデータ又は機能データのいずれかを選択するマルチプレクサを標準入力の前に配置することによって実装される。これらの「スキャン可能な」要素は、１つの要素の出力を次の要素のスキャン入力に「スキャンチェーン」を介して直列に接続することによって、シリアルシフトレジスタの型に共に接続される。スキャンチェーンは、スキャンイネーブル信号がアサートされるとき各アクティブクロックエッジにおいて１つの要素から別の要素へスキャンデータを転送させることによって、内部ＩＣ状態情報をロード及びアンロードすることができる。
【０００３】
スキャン可能なストレージ回路の自動テストパターン生成（ＡＴＰＧ）シフトモードにおける静的タイミング解析（ＳＴＡ）クロージャ周波数は極めて高いが、製造テスト記述言語（ＴＤＬ）は、ＡＴＰＧシフトモードにおける完全な設計論理トグルによって生じる大きなＩＲ降下及び信頼性の問題に起因してより低い周波数で動作される。組合せ論理は、スキャンモードにおける電力消費の４０％を超える電力に相当する。ＡＴＰＧシフトの間、論理がトグルされる必要はない。機能組合せ論理に対してトグルを停止できる場合、ＡＴＰＧシフト周波数はかなり高くされ得、その結果、テスト時間ひいてはテスタコストが低減される。この設計の電力消費は、特定の経路に対して「プルダウン」Ｑゲート又は「プルアップ」Ｑゲートフロップのいずれを選択するかによって決まる。ポストシリコンテストプログラムの開発では、特に「ゲート化Ｑ」フロップを部分的に使用する場合、すべての可能なＴＤＬ組合せに対するテスト電力を最小にすることを保証する回路の種類を決定することが難しくなる。
【０００４】
動作の機能モードにおいて、フロップのＳＤ（スキャン入力）ピンは、前のフロップのＳＱ（スキャン出力）ピンに接続される。フロップのＤ（機能データ）ピンに対して信号活動がある場合は常に、信号は後続のフロップのＳＤピンに進み、それによって不必要な電力損失が生じる。機能動作においてテスト回路でかなりの量の電力が不必要に消費される。デバイスが過駆動モード（高周波数モード）で動作するとき、電力損失が大きくなり、それによってバッテリの放電が速くなる。
【発明の概要】
【０００５】
集積回路（ＩＣ）における多くの例示のスキャン可能なストレージ要素が開示されており、これらは面積及び電力要件を低減するように構成されている。或る実施形態では、ＩＣにおいて用いるためのスキャン可能なストレージ要素が提供される。スキャン可能なストレージ要素は、データ入力及びスキャン入力の一方に応答して第１のノードに信号を提供するように構成される入力回路を含み、スキャン入力は、機能モードにおけるプルアップ論理である。入力回路は、データ入力を受け取る第１のスイッチとスキャンイネーブル入力を受け取る第２のスイッチとを含む第１のプルアップ経路、及びスキャン入力を受け取る第３のスイッチを含む第２のプルアップ経路を含む。第２のプルアップ経路及び第１のプルアップ経路は、電源と第１のノードとの間で結合される。入力回路はさらに、スキャンイネーブル入力を受け取る第４のスイッチとスキャン入力を受け取る第５のスイッチとを含む第１のプルダウン経路、及びデータ入力を受け取る第６のスイッチを含む第２のプルダウン経路を含み、第１のプルダウン経路及び第２のプルダウン経路は、第１のノードと基準サプライとの間で結合される。ストレージ要素はまた、１つ又は複数の逐次構成要素を含み、第２のノードで第１の信号に応答して第２の信号を提供するように構成される、シフト回路と、第２の信号を受け取るため第２のノードに結合されるスキャン出力バッファとを含み、スキャン出力バッファは、第２の信号に応答してスキャン出力端子でスキャン出力を提供するように構成される。ここで、スキャン出力は機能モードにおけるプルアップ論理及びプルダウン論理の一方であり、スキャン出力はシフトモードにおけるスキャン入力に対応する。
【０００６】
別の実施形態において、ＩＣにおいて用いるためのスキャン可能なストレージ要素が提供される。このスキャン可能なストレージ要素は、データ入力及びスキャン入力の一方に応答して第１のノードに信号を提供するように構成される入力回路を含み、スキャン入力は、機能モードにおけるプルダウン論理である。この入力回路は、スキャン入力を受け取る第１のスイッチトランジスタとデータ入力を受け取る第２のスイッチとを含む第１のプルアップ経路、及び、第１のスイッチと反転スキャンイネーブル入力を受け取る第３のスイッチとを含む第２のプルアップ経路を含み、第２のプルアップ経路及び第１のプルアップ経路は、電源と第１のノードとの間で結合される。この入力回路はさらに、反転スキャンイネーブル入力を受け取る第４のスイッチとデータ入力を受け取る第５のスイッチとを含む第１のプルダウン経路、及び、スキャン入力を受け取る第６のスイッチを含む第２のプルダウン経路を含み、第１のプルダウン経路及び第２のプルダウン経路は、第１のノードと基準源との間で結合される。このスキャン可能なストレージ要素はまた、１つ又は複数の逐次構成要素を含み、第２のノードで第１の信号に応答して第２の信号を提供するように構成される、シフト回路と、第２の信号を受け取るため第２のノードに結合されるスキャン出力バッファとを含み、スキャン出力バッファは、第２の信号に応答してスキャン出力端子でスキャン出力を提供するように構成される。ここで、スキャン出力は機能モードにおけるプルアップ論理及びプルダウン論理の一方であり、スキャン出力はシフトモードにおけるスキャン入力に対応する。
【０００７】
別の実施形態において、ＩＣにおいて用いるためのスキャン可能なストレージ要素が提供される。このスキャン可能なストレージ要素は、データ入力及びスキャン入力の一方に応答して第１のノードに信号を提供するように構成される入力回路を含み、スキャン入力は、機能モードにおけるプルアップ及びプルダウン論理の一方である。このスキャン可能なストレージ要素はまた、１つ又は複数の逐次構成要素を含み、第２のノードで第１の信号に応答して第２の信号を提供するように構成される、シフト回路と、第２の信号を受け取るため第２のノードに結合されるスキャン出力バッファとを含み、スキャン出力バッファは、第２の信号に応答してスキャン出力端子でスキャン出力を提供するように構成される。ここで、スキャン出力は、機能モードにおけるプルアップ論理及びプルダウン論理の一方であり、スキャン出力は、シフトモードにおけるスキャン入力に対応する。
【０００８】
別の実施形態において、ＩＣにおけるスキャン可能なストレージ要素を動作させる方法が提供される。この方法は、データ入力及びスキャン入力の一方に応答してスキャン可能なストレージ要素の第１のノードで第１の信号を生成することを含み、スキャン入力は、機能モードにおけるプルアップ及びプルダウン論理の一方である。この方法は、スキャン可能なストレージ要素の第２のノードで第１の信号に応答して１つ又は複数の逐次構成要素によって第２の信号を生成することを含む。この方法はさらに、第２の信号に応答してスキャン可能なストレージ要素のスキャン出力端子でスキャン出力を生成することを含む。スキャン出力は、機能モードにおけるプルアップ論理及びプルダウン論理の一方であり、スキャン出力は、シフトモードにおけるスキャン入力に対応する。
【図面の簡単な説明】
【０００９】
【図１】或る実施形態に従った集積回路（ＩＣ）におけるスキャンチェーンの例を示す。
【００１０】
【図２】或る例示実施形態に従った、機能モードにおいてスキャン出力がプルアップされるスキャンチェーンの第１のスキャン可能なストレージ要素を示す。
【図３】或る例示実施形態に従った、機能モードにおいてスキャン出力がプルアップされるスキャンチェーンの第１のスキャン可能なストレージ要素を示す。
【図４】或る例示実施形態に従った、機能モードにおいてスキャン出力がプルアップされるスキャンチェーンの第１のスキャン可能なストレージ要素を示す。
【図５】或る例示実施形態に従った、機能モードにおいてスキャン出力がプルアップされるスキャンチェーンの第１のスキャン可能なストレージ要素を示す。
【図６】或る例示実施形態に従った、機能モードにおいてスキャン出力がプルアップされるスキャンチェーンの第１のスキャン可能なストレージ要素を示す。
【００１１】
【図７】或る例示実施形態に従った、機能モードにおいてスキャン出力がプルダウンされるスキャン可能なストレージ要素を示す。
【図８】或る例示実施形態に従った、機能モードにおいてスキャン出力がプルダウンされるスキャン可能なストレージ要素を示す。
【図９】或る例示実施形態に従った、機能モードにおいてスキャン出力がプルダウンされるスキャン可能なストレージ要素を示す。
【００１２】
【図１０】或る例示実施形態に従った、機能モードにおいてスキャン出力がプルアップされ、シフトモードにおいてデータ出力がプルアップされるスキャン可能なストレージ要素を示す。
【００１３】
【図１１】或る例示実施形態に従った、機能モードにおいてスキャン出力がプルアップされ、シフトモードにおいてデータ出力がプルダウンされるスキャン可能なストレージ要素を示す。
【図１２】或る例示実施形態に従った、機能モードにおいてスキャン出力がプルアップされ、シフトモードにおいてデータ出力がプルアップされるスキャン可能なストレージ要素を示す。
【図１３】或る例示実施形態に従った、機能モードにおいてスキャン出力がプルアップされ、シフトモードにおいてデータ出力がプルダウンされるスキャン可能なストレージ要素を示す。
【００１４】
【図１４】或る例示実施形態に従った、機能モードにおいてスキャン出力がプルダウンされ、シフトモードにおいてデータ出力がプルアップされるスキャン可能なストレージ要素を示す。
【図１５】或る例示実施形態に従った、機能モードにおいてスキャン出力がプルダウンされ、シフトモードにおいてデータ出力がプルダウンされるスキャン可能なストレージ要素を示す。
【図１６】或る例示実施形態に従った、機能モードにおいてスキャン出力がプルダウンされ、シフトモードにおいてデータ出力がプルアップされるスキャン可能なストレージ要素を示す。
【図１７】或る例示実施形態に従った、機能モードにおいてスキャン出力がプルダウンされ、シフトモードにおいてデータ出力がプルダウンされるスキャン可能なストレージ要素を示す。
【図１８】或る例示実施形態に従った、機能モードにおいてスキャン出力がプルダウンされ、シフトモードにおいてデータ出力がプルアップされるスキャン可能なストレージ要素を示す。
【図１９】或る例示実施形態に従った、機能モードにおいてスキャン出力がプルダウンされ、シフトモードにおいてデータ出力がプルダウンされるスキャン可能なストレージ要素を示す。
【図２０】或る例示実施形態に従った、機能モードにおいてスキャン出力がプルダウンされ、シフトモードにおいてデータ出力がプルアップされるスキャン可能なストレージ要素を示す。
【００１５】
【図２１】或る例示実施形態に従った、機能モードにおいてスキャン出力がプルダウンされ、シフトモードにおいてデータ出力がプルダウンされるスキャン可能なストレージ要素を示す。
【００１６】
【図２２】別の実施形態に従った、ＩＣのスキャンチェーンにおけるスキャン可能なストレージ要素を動作させるための方法を示す。
【発明を実施するための形態】
【００１７】
図１は、或る実施形態に従った、集積回路（ＩＣ）におけるスキャンチェーン１００の例を示す。図１に示すように、スキャンチェーン１００は、多くのスキャン可能なストレージ要素１００１、１００２、．．．、１００ｎによって形成される。スキャン可能なストレージ要素の各々（下記では、スキャン可能なストレージ要素を「ストレージ要素」とも称する）は、データ入力（「Ｄ」参照）及びスキャン入力（「ＳＤ」参照）などの入力と、データ出力（「Ｑ」参照）及びスキャン出力（「ＳＱ」参照）などの対応する出力とを有する。スキャンチェーン１００は、機能モード又はシフトモードで動作するように構成される。或る実施形態では、ストレージ要素１００１、１００２、．．．、１００ｎは、スキャンチェーンを構成するため直列方式で結合され得る。例えば、ストレージ要素（例えば、ストレージ要素１００２）のデータ入力「Ｄ」が、先行するストレージ要素（ストレージ要素１００１）のデータ出力「Ｑ」に結合され、ストレージ要素（例えば、ストレージ要素１００２）のスキャン入力「ＳＤ」が、先行するストレージ要素（ストレージ要素１００１）のデータ出力「Ｑ」に結合される。データ入力「Ｄ」と先行するストレージ要素のデータ出力「Ｑ」との間に、幾つかの組合せ構成要素（例えば、１０２１、１０２２、１０２３、．．．）が存在し得る。スキャンチェーン１００のストレージ要素の様々な構成を図２〜図２１を参照してさらに説明する。
【００１８】
図２は、或る実施形態に従ったスキャンチェーン１００の第１のストレージ要素の例を示す。例えば、ストレージ要素２００が、スキャンチェーン１００の第１のスキャン可能なストレージ要素１００１の例とし得る。この実施形態では、ストレージ要素２００は、ＩＣにおけるスキャン要素をトグルしないようにすることよって電力を節減するために、ストレージ要素２００のスキャン出力が機能モードにおいてプルアップされるように構成される。例えば、機能モードにおいてスキャン出力端子をプルアップすることによって、スキャン経路（これはスキャン出力端子によって駆動される）における組合せ論理切り替えによって生じる電力消費が低減され得る。
【００１９】
スキャン可能なストレージ要素２００は、スキャン出力端子を駆動するためのスキャン出力バッファ３２０などのスキャン出力バッファに結合されるノード１４５を含む。この例示実施形態では、ノード１４５は、データ出力端子を駆動するためのデータ出力バッファ４４０にも結合される。ストレージ要素２００は、スキャンイネーブル入力に応答して（データ入力を受け取るための）データ入力端子及び（スキャン入力を受け取るための）スキャン入力端子に選択的に結合されるように構成される。例えば、ストレージ要素２００は、データ入力（「Ｄ」参照）とスキャン入力（「ＳＤ」参照）とを有するマルチプレクサ２６０を含む。スキャンイネーブル入力（ＳＣＡＮ）が、マルチプレクサ２６０のための選択ラインとして働く。マルチプレクサ２６０は、例えば、ＰＭＯＳトランジスタ２６２、２６４、２６６、２６８並びにＮＭＯＳトランジスタ２７０、２７２、２７４、及び２７６の８個のＭＯＳトランジスタを含むことによって構成される。付加的なトランジスタ２８０も、ＳＣＡＮを反転ＳＣＡＮ信号（ＳＣＡＮＺ）に変換するために必要とされる。トランジスタ２６２及び２６４は、電源（ＶＤＤ参照）とノード２７８の間で第１のプルアップ経路を構成し、ここで、トランジスタ２６２のゲートはデータ入力「Ｄ」に接続され、トランジスタ２６４のゲートはＳＣＡＮに接続される。トランジスタ２６６及び２６８は、ＶＤＤとノード２７８の間で第２のプルアップ経路を構成し、トランジスタ２６６のゲートはスキャン入力「ＳＤ」に接続され、トランジスタ２６８のゲートはＳＣＡＮＺに接続される。トランジスタ２７０及び２７２は、ノード２７８と基準源（ＶＳＳ参照）の間で第１のプルダウン経路を構成し、トランジスタ２７０のゲートはＳＣＡＮに接続され、トランジスタ２７２のゲートはスキャン入力「ＳＤ」に接続される。トランジスタ２７４及び２７６は、ノード２７８とＶＳＳの間で第２のプルダウン経路を構成し、トランジスタ２７４のゲートはＳＣＡＮＺに接続され、トランジスタ２７６のゲートはデータ入力「Ｄ」に接続される。
【００２０】
マルチプレクサ２６０の出力（ノード２７８）が、マルチプレクサ２６０の出力に基づいてノード１４５で信号を提供するように構成されるシフト回路１５０に接続される。図２に示す実施形態では、シフト回路１５０は１つ又は複数のラッチ／フリップフロップを含み、１つ又は複数のラッチ／フリップフロップは、インバータ１１０、トランスミッションゲート１１５、インバータ１２０、インバータ１３０、トランスミッションゲート１２５、トランスミッションゲート１３５、インバータ１４０、インバータ１４６、インバータ１８５、及びトランスミッションゲート１９０によって構成される。シフト回路１５０の図２に示す実施形態からの様々な変形があり得ることに留意されたい。インバータ１１０はマルチプレクサ２６０の出力に結合され、インバータ１１０の出力が、トランスミッションゲート１１５の入力に接続される。反転クロック入力（ＣＬＫＺ）がトランスミッションゲート１１５に提供される。ＣＬＫＺは、インバータ２９０を用いてクロック入力ＣＬＫを反転することによって提供され得る。トランスミッションゲート１１５の出力がノード１９５に接続される。インバータ１３０はノード１９５に接続される。トランスミッションゲート１２５はインバータ１３０の出力に接続される。トランスミッションゲート１２５の出力はインバータ１２０の入力に接続される。トランスミッションゲート１２５はクロック信号（ＣＬＫ）に接続される。インバータ１３０の出力はノード１９７にも接続される。トランスミッションゲート１３５の入力がノード１９７に接続される。トランスミッションゲート１３５の出力がインバータ１４０に接続され、インバータ１４０はノード１４５に接続される。
【００２１】
データ出力バッファ４４０は、ＰＭＯＳトランジスタ４２５及びＮＭＯＳトランジスタ４３０（インバータを構成する）を含む。トランジスタ４２５のソースは電源電圧（例えばＶＤＤ）に接続され、トランジスタ４２５のドレインはノード４３５に接続される。トランジスタ４３０のソースは基準源（又は接地電圧、ＶＳＳ参照）に接続され、トランジスタ４３０のドレインはノード４３５に接続される。両トランジスタ（４２５及び４３０）のゲートはノード１４５に接続される。データ出力端子はノード３１０に接続され、データ出力「Ｑ」がノード３１０から取り出される。スキャン出力バッファ３２０は、ＰＭＯＳトランジスタ３０２及びＮＭＯＳトランジスタ３０４を含む。トランジスタ３０２のソースは電源電圧（ＶＤＤ）に接続され、トランジスタ３０２のドレインはノード３１０に接続される。トランジスタ３０２のゲートはノード１４５に接続される。トランジスタ３０４のソースは別のＮＭＯＳトランジスタ３０６のドレインに接続され、トランジスタ３０４のドレインはノード３１０に接続される。トランジスタ３０４のゲートもノード１４５に接続される。トランジスタ３０６のソースは基準源に接続され、トランジスタ３０６のドレインはトランジスタ３０４のソースに接続される。トランジスタ３０６のゲートはスキャンイネーブル入力（ＳＣＡＮ）に接続される。トランジスタ３０６は、ＳＣＡＮが０であるとき、ＶＤＤとＶＳＳの間の直接経路をディセーブルするために用いられる。別のＰＭＯＳトランジスタ３０８が、スキャン出力「ＳＱ」をプルアップするために用いられる。トランジスタ３０８のソースは電源ＶＤＤに接続され、トランジスタ３０８のドレインはノード３１０（これはスキャン出力「ＳＱ」である）に接続される。トランジスタ３０８のゲートはスキャンイネーブル入力（ＳＣＡＮ）に接続される。ストレージ要素２００のスキャン出力「ｓｑ」がノード３１０から取り出される。
【００２２】
ここでストレージ要素２００の動作を説明する。マルチプレクサ２６０は、データ入力「Ｄ」及びスキャン入力「ＳＤ」の一方に対応する信号をノード２７８で転送させる。図２に示すように、ＳＣＡＮが論理０であるとき、データ入力「Ｄ」の反転がノード２７８で転送され、ＳＣＡＮが論理１であるとき、スキャン入力「ＳＤ」の反転がノード２７８で転送される。説明のため、ＳＣＡＮが論理０である場合、トランジスタ２６２及び２６４を含むプルアップ経路がイネーブルされ、トランジスタ２７４及び２７６を含むプルダウン経路がイネーブルされる。したがって、トランジスタ２６２、２６４、２７４、及び２７６はインバータ構成を形成し、「Ｄ」の反転論理レベルがノード２７８に転送される。「Ｄ」が論理１に設定されると仮定すると、「Ｄ」の反転、例えば論理０、がノード２７８で利用可能となる。シフト回路１５０は、ノード１４５において、ノード２７８における値の反転である論理レベルを強制するように構成される。例えば、シフト回路１５０のインバータ１１０の出力は論理１である。ＣＬＫがローであるとき、トランスミッションゲート１１５は透過になり、トランスミッションゲートの入力における論理１がノード１９５に転送されて、インバータ１３０の出力（ノード１９７）を論理０にする。ＣＬＫがハイになるときトランスミッションゲート１２５が透過になり、これによりノード１９７における値（論理０）がインバータ１２０に転送される。インバータ１２０はノード１９５を論理１にする。別のトランスミッションゲート１３５が、ＣＬＫがハイになるときイネーブルされ、そのためノード１９７における値（論理０）をインバータ１４０に転送する。インバータ１４０はノード１４５を論理１にする。インバータ１８５、トランスミッションゲート１９０、及びインバータ１４６は、ＣＬＫが論理０であるときループバック経路を構成し、ノード１４５における値を保持することを助ける。データ出力バッファ４４０（インバータ）は、ノード１４５における値を反転させ、ノード４３５を論理０にする。データ出力「Ｑ」がノード４３５（これはデータ出力端子である）からデータ入力「Ｄ」の反転として取り出される。いくつかの他の実施形態において、データ入力「Ｄ」と同じ論理レベルであるデータ出力「Ｑ」になるように、別のインバータがデータ出力バッファ４４０に付加され得る。ＳＣＡＮが論理０であるため、トランジスタ３０６はディセーブルされ、これはノード３１０へのデータ伝播を停止させる。同時に、トランジスタ３０８がイネーブルされ、これは、ノード３１０を論理１までプルアップさせる。スキャン出力端子はノード３１０に結合される。したがって、機能モードにおいて（ＳＣＡＮが論理０であるとき）、スキャン出力「ＳＱ」は論理１に拘束される（これは、スキャン出力端子により駆動されるスキャン経路における組合せ論理切り替えに起因する、機能モードにおける電力低減を助け得る）。スキャンイネーブル入力（ＳＣＡＮ）は制御信号として働き、この制御信号は、スキャン出力端子「ＳＱ」を論理１に拘束するか否かを決定する。したがって、ＳＣＡＮが論理０であるとき、データ出力「Ｑ」はデータ入力「Ｄ」の反転に従い、スキャン出力「ＳＱ」は論理１に拘束される。
【００２３】
ＳＣＡＮが論理１であるとき、トランジスタ２６６及び２６８を含むプルアップ経路がイネーブルされ、トランジスタ２７０及び２７２を含むプルダウン経路がイネーブルされる。したがって、トランジスタ２６６、２６８、２７０、及び２７２はインバータ構成を形成し、「ＳＤ」の反転論理レベルがノード２７８に転送される。ＳＣＡＮが論理１であるとき、トランジスタ３０８はディセーブルされ、トランジスタ３０２、３０４、及び３０６はインバータ構成を形成するので、スキャン出力バッファ３２０はインバータとして動作することにさらに留意されたい。シフト回路１５０は、ノード１４５において、ノード２７８の反転である論理レベルを強制するように構成される。例えば、スキャン入力「ＳＤ」が論理１であるとき、ノード２７８は論理０であり、ノード１４５は論理１である。スキャン出力バッファ３２０は、スキャン出力ｓｑに結合されるノード３１０で論理０を転送する。したがって、デバイス（ＩＣ）がシフトモードで動作するときスキャン入力「ＳＤ」の反転がスキャン出力「ＳＱ」に転送される。
【００２４】
図３は、別の実施形態に従ったスキャンチェーン１００の第１のストレージ要素の例を示す。例えば、ストレージ要素３００を、スキャンチェーン１００の第１のスキャン可能なストレージ要素１００１の例とし得る。この実施形態では、ストレージ要素３００は、ＩＣにおけるスキャン要素をトグルしないようにすることによって電力を節減するために、ストレージ要素３００のスキャン出力が機能モードにおいてプルダウンされるように構成される。
【００２５】
ストレージ要素３００は、スキャン出力端子を駆動するためのスキャン出力バッファ３４０などのスキャン出力バッファに結合されるノード１４５を含む。この例示実施形態では、ノード１４５は、データ出力端子を駆動するためのデータ出力バッファ４４０にも結合される。ストレージ要素３００は、スキャンイネーブル入力に応答して、（データ入力を受け取るための）データ入力端子と（スキャン入力を受け取るための）スキャン入力端子とに選択的に結合されるように構成される。例えば、ストレージ要素３００は、データ入力（「Ｄ」参照）及びスキャン入力（「ＳＤ」参照）を有するマルチプレクサ２６０を含む。スキャンイネーブル入力（ＳＣＡＮ）が、マルチプレクサ２６０のための選択ラインとして働く。マルチプレクサ２６０は、例えば、ＰＭＯＳトランジスタ２６２、２６４、２６６、２６８、並びにＮＭＯＳトランジスタ２７０、２７２、２７４、及び２７６の、８個のＭＯＳトランジスタを含むことによって構成される。ＳＣＡＮを反転ＳＣＡＮ信号（ＳＣＡＮＺ）に変換するために付加的なトランジスタ２８０も必要とされる。トランジスタ２６２及び２６４は、電源（ＶＤＤ参照）とノード２７８との間で第１のプルアップ経路を構成し、トランジスタ２６２のゲートはデータ入力「Ｄ」に接続され、トランジスタ２６４のゲートはＳＣＡＮに接続される。トランジスタ２６６及び２６８は、ＶＤＤとノード２７８の間で第２のプルアップ経路を構成し、トランジスタ２６６のゲートはスキャン入力「ＳＤ」に接続され、トランジスタ２６８のゲートはＳＣＡＮＺに接続される。トランジスタ２７０及び２７２は、ノード２７８と基準源（ＶＳＳ）の間で第１のプルダウン経路を構成し、トランジスタ２７０のゲートはＳＣＡＮに接続され、トランジスタ２７２のゲートはスキャン入力「ＳＤ」に接続される。トランジスタ２７４及び２７６は、ノード２７８とＶＳＳの間で第２のプルダウン経路を構成し、トランジスタ２７４のゲートはＳＣＡＮＺに接続され、トランジスタ２７６のゲートはデータ入力「Ｄ」に接続される。
【００２６】
マルチプレクサ２６０の出力（ノード２７８）が、マルチプレクサ２６０の出力に基づいてノード１４５で信号を提供するように構成されるシフト回路１５０に接続される。図３に示す実施形態では、シフト回路１５０は１つ又は複数のラッチ／フリップフロップを含み、１つ又は複数のラッチ／フリップフロップは、インバータ１１０、トランスミッションゲート１１５、インバータ１２０、インバータ１３０、トランスミッションゲート１２５、トランスミッションゲート１３５、インバータ１４０、インバータ１４６、インバータ１８５、及びトランスミッションゲート１９０によって構成される。シフト回路１５０の図３に示す実施形態からの様々な変形があり得ることに留意されたい。インバータ１１０はマルチプレクサ２６０の出力に結合され、インバータ１１０の出力がトランスミッションゲート１１５の入力に接続される。反転クロック入力（ＣＬＫＺ）がトランスミッションゲート１１５に提供される。トランスミッションゲート１１５の出力がノード１９５に接続される。インバータ１３０はノード１９５に接続される。トランスミッションゲート１２５はインバータ１３０の出力に接続される。トランスミッションゲート１２５の出力はインバータ１２０の入力に接続される。トランスミッションゲート１２５はクロック信号（ＣＬＫ）に接続される。インバータ１３０の出力はノード１９７にも接続される。トランスミッションゲート１３５の入力がノード１９７に接続される。トランスミッションゲート１３５の出力がインバータ１４０に接続され、インバータ１４０はノード１４５に接続される。
【００２７】
図２を参照して説明したように、データ出力バッファ４４０は、ＰＭＯＳトランジスタ４２５及びＮＭＯＳトランジスタ４３０（インバータを構成する）を含む。データ出力端子はノード３３０に接続され、そこからデータ出力「Ｑ」が取り出される。スキャン出力バッファ３４０は、ＰＭＯＳトランジスタ３２２及び３２４並びにＮＭＯＳトランジスタ３２６及び３２８を含む。トランジスタ３２２のソースは電源電圧（ＶＤＤ）に接続され、トランジスタ３２２のドレインはトランジスタ３２４のソースに接続される。トランジスタ３２４のドレインは、ノード３３０に接続され、トランジスタ３２６のドレインにも接続される。トランジスタ３２４及び３２６のゲートはノード１４５に接続され、トランジスタ３２２のゲートはＳＣＡＮＺに接続される。ＮＭＯＳトランジスタ３２８のドレインがノード３３０に接続され、トランジスタ３２８のゲートがＳＣＡＮＺに接続されて、（ＳＣＡＮＺが論理１であるとき）機能モードにおいてトランジスタ３２８がプルダウントランジスタとして働かせる。さらに、トランジスタ３２２は、機能モードにおいてＶＤＤとＶＳＳの間の直接経路をディセーブルするために用いられる。（ＳＣＡＮＺが論理０であるとき）シフトモードにおいて、トランジスタ３２８がディセーブルされ、トランジスタ３２２がイネーブルされ、それによって、シフトモードにおいてＶＤＤとＶＳＳの直接経路が提供されることに留意されたい。したがって、シフトモードにおいて、トランジスタ３２２、３２４、及び３２６が、インバータ構成を形成し、ノード１４５の値の反転をノード３３０に提供する。
【００２８】
ここでストレージ要素３００の動作を説明する。マルチプレクサ２６０は、データ入力「Ｄ」及びスキャン入力「ＳＤ」の一方に対応する信号をノード２７８で転送させる。図３に示すように、ＳＣＡＮが論理０であるとき、データ入力「Ｄ」の反転がノード２７８で転送され、ＳＣＡＮが論理１であるとき、スキャン入力「ＳＤ」の反転がノード２７８で転送される。説明のため、ＳＣＡＮが論理０である場合、トランジスタ２６２及び２６４を含むプルアップ経路がイネーブルされ、トランジスタ２７４及び２７６を含むプルダウン経路がイネーブルされる。したがって、トランジスタ２６２、２６４、２７４、及び２７６はインバータ構成を形成し、「Ｄ」の反転論理レベルがノード２７８に転送される。「Ｄ」が論理１に設定されると仮定すると、「Ｄ」の反転、例えば論理０、がノード２７８で利用可能となる。シフト回路１５０は、ノード１４５において、ノード２７８における値の反転である論理レベルを強制するように構成される。例えば、シフト回路１５０のインバータ１１０の出力は論理１である。ＣＬＫがローであるとき、トランスミッションゲート１１５は透過になり、トランスミッションゲートの入力における論理１がノード１９５に転送されて、インバータ１３０の出力（ノード１９７）を論理０にする。ＣＬＫがハイになるときトランスミッションゲート１２５が透過になり、これは、ノード１９７における値（論理０）をインバータ１２０に転送する。インバータ１２０はノード１９５を論理１にする。別のトランスミッションゲート１３５が、ＣＬＫがハイになるときイネーブルされ、そのためノード１９７における値（論理０）をインバータ１４０に転送する。インバータ１４０はノード１４５を論理１にする。インバータ１８５、トランスミッションゲート１９０、及びインバータ１４６は、ＣＬＫが論理０であるときループバック経路を構成し、ノード１４５における値を保持することを助ける。データ出力バッファ４４０（インバータ）は、ノード１４５における値を反転し、ノード４３５を論理０にする。データ出力「Ｑ」がノード４３５（これはデータ出力端子である）からデータ入力「Ｄ」の反転として取り出される。幾つかの他の実施形態において、データ入力「Ｄ」と同じデータ出力「Ｑ」になるように、別のインバータがデータ出力バッファ４４０に付加され得る。ＳＣＡＮは論理０であるため、トランジスタ３２２はディセーブルされ、これは、ノード３３０へのデータ伝播を停止させる。同時に、トランジスタ３２８がイネーブルされ、これは、ノード３３０を論理０までプルダウンさせる。スキャン出力端子はノード３３０に結合される。したがって、機能モードにおいて（ＳＣＡＮが論理０であるとき）、スキャン出力「ＳＱ」は論理０に拘束される（これは、スキャン出力端子によって駆動されるスキャン経路における組合せ論理切替えに起因する機能モードにおける電力節減の助けとなり得る）。スキャンイネーブル入力（ＳＣＡＮ）は制御信号として働き、この制御信号は、スキャン出力端子「ＳＱ」を論理０に拘束するか否かを決定する。したがって、ＳＣＡＮが論理０であるとき、データ出力「Ｑ」はデータ入力「Ｄ」の反転に従い、スキャン出力「ＳＱ」は論理０に拘束される。
【００２９】
ＳＣＡＮが論理１であるとき、トランジスタ２６６及び２６８を含むプルアップ経路がイネーブルされ、トランジスタ２７０及び２７２を含むプルダウン経路がイネーブルされる。したがって、トランジスタ２６６、２６８、２７０、及び２７２はインバータ構成を形成し、「ＳＤ」の反転論理レベルがノード２７８に転送される。ＳＣＡＮが論理１であるとき、トランジスタ３２８はディセーブルされ、トランジスタ３２２、３２４、及び３２６はインバータ構成を形成するので、スキャン出力バッファ３４０はインバータとして動作することにさらに留意されたい。シフト回路１５０は、ノード１４５において、ノード２７８の反転である論理レベルを強制するように構成される。例えば、スキャン入力「ＳＤ」が論理１である場合、ノード２７８は論理０であり、ノード１４５は論理１である。スキャン出力バッファ３４０は、スキャン出力端子「ＳＱ」に結合されるノード３１０で論理０を転送する。したがって、デバイス（ＩＣ）がシフトモードで動作するときスキャン入力「ＳＤ」の反転がスキャン出力「ＳＱ」に転送される。
【００３０】
スキャン出力はスキャンチェーン１００の第１のストレージ要素１００１においてプルアップ又はプルダウンされるので、スキャン出力の論理状態は固定される。本技術の様々な実施形態において、この情報を、後続のストレージ要素のための入力マルチプレクサ回路を設計するために利用する。入力マルチプレクサ回路をこのように設計することにより、ストレージ要素におけるトランジスタの数を減らすことができ、このような設計を図４〜図２１を参照して説明する。さらに、様々な実施形態において、ｑ及びｓｑの一方又は両方のゲーティングを行い得、このような実施形態を図４〜図２１を参照して説明する。
【００３１】
図４は、或る実施形態に従ったスキャンチェーン１００の第１のストレージ要素以外のストレージ要素の例を示す。ストレージ要素４００は、ストレージ要素４００によって受け取られるスキャン入力データ「ＳＤ」が機能モードにおいてプルアップされる場合のストレージ要素１００２、１００３、．．．、又は１００ｎのいずれかの例とし得る。例えば、ストレージ要素４００は、（ストレージ要素４００の）先行するストレージ要素によって提供されるスキャン出力「ＳＱ」（これは、ストレージ要素４００のスキャン入力「ＳＤ」に結合される）が機能モードにおいて（ＳＣＡＮが論理０であるとき）プルアップされるとき用いられる。例えば、ＳＣＡＮが論理０であるとき、スキャン入力「ＳＤ」は論理１である。
【００３２】
ストレージ要素４００は、スキャン出力端子５３５を駆動するためスキャン出力バッファ５５０に結合されるノード１４５（第２のノード）を含む。この例示実施形態では、ノード１４５は、データ出力端子５１０を駆動するためデータ出力バッファ５０５にも結合される。この実施形態では、データ出力バッファ５０５はインバータとして示されている。ストレージ要素４００は、それぞれ、先行するストレージ要素のデータ出力「Ｑ」及びスキャン出力「ＳＱ」からデータ入力（「Ｄ」参照）及びスキャン入力（「ＳＤ」参照）を受け取るように構成される入力回路３６０を含む。入力回路３６０は、ノード３６２（第１のノード）で、データ入力「Ｄ」及びスキャン入力「ＳＤ」の一方に対応する信号（第１の信号）を提供するように構成される。入力回路３６０は、この信号をノード３６２でスキャンイネーブル入力（ＳＣＡＮ参照）などの選択信号に基づいて提供する。入力回路３６０は、ノード３６２に結合されるプルアップ構成要素及びプルダウン構成要素を含む。例えば、入力回路３６０は、ノード３６２と電源（ＶＤＤ参照）の間で接続される２つのプルアップ経路を含む。第１のプルアップ経路は、データ入力「Ｄ」を受け取るための第１のスイッチと、スキャンイネーブル入力「ＳＣＡＮ」を受け取るための第２のスイッチとを含む。図４の実施形態に示すように、第１のスイッチの例にはＰＭＯＳトランジスタ３６５が含まれ得、第２のスイッチの例にはＰＭＯＳトランジスタ３７０が含まれ得、これらのトランジスタは、ＰＭＯＳトランジスタ３６５のドレインがＰＭＯＳトランジスタ３７０のソースに接続されるように結合される。第２のプルアップ経路は、スキャン入力「ＳＤ」を受け取るため第３のスイッチ（例えばＰＭＯＳトランジスタ３７５）を含む。この実施形態では、ＰＭＯＳトランジスタ３６５、３７０、及び３７５のゲートが、それぞれ、データ入力「Ｄ」、スキャンイネーブル入力「ＳＣＡＮ」、及びスキャン入力「ＳＤ」に接続され、ＰＭＯＳトランジスタ３７０及び３７５のソースがノード３６２と結合される。入力回路３６０はさらに、ノード３６２と基準源（ＶＳＳ参照）又は接地源との間で接続される２つのプルダウン経路を含む。第１のプルダウン経路が、スキャンイネーブル入力「ＳＣＡＮ」を受け取るための第４のスイッチと、スキャン入力「ＳＤ」を受け取るための第５のスイッチとを含む。図４の実施形態に示すように、第４のスイッチの例はＮＭＯＳトランジスタ３８０であり、第５のスイッチの例はＮＭＯＳトランジスタ３８５であり、これらのトランジスタは、ＮＭＯＳトランジスタ３８０のソースがＮＭＯＳトランジスタ３８５のドレインに接続されるように結合される。第２のプルダウン経路が、データ入力「Ｄ」を受け取るため第６のスイッチを含む。図４に示すように、第６のスイッチの例にはＮＭＯＳトランジスタ３９０が含まれ得る。ＮＭＯＳトランジスタ３８０、３８５、及び３９０のゲートが、それぞれ、スキャンイネーブル入力「ＳＣＡＮ」、スキャン入力「ＳＤ」、データ入力「Ｄ」と結合され、ＮＭＯＳトランジスタ３８０及び３９０のドレインがノード３６２と結合される。機能モードにおいて「ＳＤ」入力が（例えば論理１に）固定されるので、入力回路２６０において１０個のトランジスタが必要とされるのとは異なり、入力回路３６０は、６個のトランジスタしか必要としないように構成される。図４に示す実施形態では、第１のスイッチ、第２のスイッチ、第３のスイッチ、第４のスイッチ、第５のスイッチ、及び第６のスイッチは、ＰＭＯＳ又はＮＭＯＳトランジスタとして示されているが、これらは、例えば、ＢＪＴトランジスタ、ダイオードの組合せなど、ＭＯＳトランジスタに機能的に類似する他の構成要素を用いて構成されてもよい。
【００３３】
入力回路３６０の出力（例えばノード３６２）がシフト回路１５０に接続され、シフト回路１５０は、ノード３６２に対応する信号をノード１４５に転送するように構成される。シフト回路１５０は、ノード３６２から入力を取り込むインバータ１１０を含み、インバータ１１０の出力はトランスミッションゲート１１５に接続される。反転クロック入力ＣＬＫＺがトランスミッションゲート１１５に与えられる。トランスミッションゲート１１５はノード１９５に接続される。インバータ１３０がノード１９５に接続される。別のトランスミッションゲート１２５が、インバータ１３０の出力に接続される。トランスミッションゲート１２５の出力が、別のインバータ１２０の入力に接続される。トランスミッションゲート１２５はクロック信号（ＣＬＫ参照）に接続される。インバータ１３０の出力はノード１９７にも接続される。トランスミッションゲート１３５がノード１９７に接続される。トランスミッションゲート１３５の出力がインバータ１４０に接続され、インバータ１４０はノード１４５に接続される。データ出力バッファ５０５の入力はノード１４５に接続され、データ出力バッファ５０５の出力は、データ出力端子であるノード５１０に接続される。データ出力バッファ５０５はインバータを含む。ノード１４５はインバータ１８５に接続される。インバータ１８５の出力はノード１５２に接続され、ノード１５２はトランスミッションゲート１９０に接続される。トランスミッションゲート１９０は反転クロック信号ＣＬＫＺによって制御される。トランスミッションゲート１９０は別のインバータ１４６を駆動する。インバータ１４６の出力もまたノード１４５に接続される。スキャン出力バッファ５５０は、ＰＭＯＳトランジスタ５１５及びＮＭＯＳトランジスタ５２０によって構成されるインバータと、トランジスタ５２５（第３のＭＯＳトランジスタ）と、トランジスタ５３０（第４のＭＯＳトランジスタ）とを含む。トランジスタ５１５のソースが電源電圧（ＶＤＤ）に接続され、トランジスタ５１５のドレインがノード５３５に接続される。トランジスタ５１５のゲートはノード１４５に接続される。トランジスタ５２０のソースは別のＮＭＯＳトランジスタ５２５のドレインに接続され、トランジスタ５２０のドレインはノード５３５に接続される。トランジスタ５２０（第３のＭＯＳトランジスタ）のゲートもノード１４５に接続される。トランジスタ５２５のソースは接地電圧に接続され、トランジスタ５２５のドレインはトランジスタ５２０のソースに接続される。トランジスタ５２５のゲートはスキャンイネーブル入力（ＳＣＡＮ）に接続される。トランジスタ５２５は、ＳＣＡＮが０であるとき、ＶＤＤとＶＳＳの間の直接経路をディセーブルするために用いられる。トランジスタ５３０（例えばＰＭＯＳトランジスタ）は、スキャン出力「ＳＱ」をプルアップするために用いられる。トランジスタ５３０のソースは電源電圧に接続され、トランジスタ５３０のドレインはノード５３５（これはスキャン出力「ＳＱ」である）に接続される。トランジスタ５３０のゲートはスキャンイネーブル入力（ＳＣＡＮ）に接続される。スキャン可能なストレージ要素４００のスキャン出力（ｓｑ）はノード５３５から取り出される。
【００３４】
ここで、ストレージ要素４００の動作を説明する。入力回路３６０は、データ入力「Ｄ」及びスキャン入力「ＳＤ」の一方に対応する信号をノード３６２で転送させる。ＳＣＡＮが論理０であるとき、スキャン入力「ＳＤ」は論理１であることに留意されたい。例えば、ＳＣＡＮが論理０であるとき、ストレージ要素４００の先行するストレージ要素（ストレージ要素２００など）のスキャン出力「ＳＱ」がプルアップされ、このプルアップされた論理１はストレージ要素４００のスキャン入力「ＳＤ」に供給される。ＳＣＡＮが論理１であるとき、テストデータ、及び先行するストレージ要素から受け取る値に応じて、スキャン入力「ＳＤ」は論理０又は論理１のいずれかを取り得る。図４に示すように、ＳＣＡＮが論理０であるとき、データ入力「Ｄ」の反転がノード３６２で転送され、ＳＣＡＮが論理１であるとき、スキャン入力「ＳＤ」の反転がノード３６２で転送される。
【００３５】
説明のため、ＳＣＡＮが論理０である（スキャン入力「ＳＤ」が論理１である）場合、トランジスタ３７５及び３８０がディセーブルされ、トランジスタ３７０及び３８０がイネーブルされる。したがって、トランジスタ３６５、３７０、３９０、及び３８５はインバータ構成を形成し、「Ｄ」の反転論理レベルがノード３６２に転送される。「Ｄ」が論理１に設定されると仮定すると、「Ｄ」の反転、例えば論理０、がノード３６２において利用可能となる。シフト回路１５０は、ノード１４５において、ノード３６２における値の反転である論理レベルを強制するように構成される。例えば、シフト回路１５０のインバータ１１０の出力は論理１である。ＣＬＫがローであるときトランスミッションゲート１１５は透過になり、トランスミッションゲートの入力における論理１がノード１９５に転送されて、インバータ１３０の出力（ノード１９７）を論理０にする。ＣＬＫがハイになるときトランスミッションゲート１２５が透過になり、それによって、ノード１９７における値（論理０）がインバータ１２０に転送される。インバータ１２０はノード１９５を論理１にする。別のトランスミッションゲート１３５が、ＣＬＫがハイになるときイネーブルされ、そのためノード１９７における値（論理０）をインバータ１４０に転送する。インバータ１４０はノード１４５を論理１にする。インバータ１８５、トランスミッションゲート１９０、及びインバータ１４６は、ＣＬＫが論理０であるときループバック経路を構成し、ノード１４５における値を保持することを助ける。データ出力バッファ５０５（インバータ）は、ノード１４５における値を反転させ、ノード４１０を論理０にする。データ出力「Ｑ」がノード５１０（これはデータ出力端子である）からデータ入力「Ｄ」の反転として取り出される。幾つかの実施形態において、データ入力「Ｄ」と同じ論理のデータ出力「Ｑ」を受け取るように、付加的なインバータがデータ出力バッファ５０５に追加され得る。ＳＣＡＮが論理０であるため、トランジスタ５２５がディセーブルされ、それによってノード５３５へのデータ伝播が停止する。同時に、トランジスタ５３０がイネーブルされ、それによってノード５３５が論理１にプルアップされる。スキャン出力端子はノード５３５に結合される。したがって、機能モードにおいて（ＳＣＡＮが論理０であるとき）、スキャン出力「ＳＱ」は論理１に拘束される（これは、スキャン出力端子によって駆動されるスキャン経路における組合せ論理切り替えに起因する機能モードにおける電力低減の助けとなり得る）。スキャンイネーブル入力（ＳＣＡＮ）は制御信号として働き、この制御信号は、スキャン出力端子「ＳＱ」を論理１に拘束させるか否かを決定する。したがって、ＳＣＡＮが論理０であるとき、データ出力「Ｑ」はデータ入力「Ｄ」の反転に従い、スキャン出力「ＳＱ」は論理１に拘束される。幾つかの実施形態において、スキャン入力「ＳＤ」と同じ論理のスキャン出力「ＳＱ」を受け取るように、付加的なインバータがスキャン出力バッファ５５０に追加され得る。
【００３６】
ＳＣＡＮが論理１であるとき、トランジスタ３７０はディセーブルされ、トランジスタ３７５（プルアップ）並びにトランジスタ３８０及び３８５（プルダウン）がインバータ構成を形成し、スキャン入力「ＳＤ」の反転がノード３６２に転送される。ＳＣＡＮが論理１であるとき、トランジスタ５３０がディセーブルされ、トランジスタ５１５、５２０、及び５２５がインバータ構成を形成するので、スキャン出力バッファ５５０はインバータとして動作することにさらに留意されたい。シフト回路１５０は、ノード１４５において、ノード３６２の反転である論理レベルを強制するように構成される。例えば、スキャン入力「ＳＤ」が論理１である場合（ＳＣＡＮが論理１であれば）、ノード３６２は論理０であり、ノード１４５は論理１である。スキャン出力バッファ５５０は、スキャン出力ｓｑに結合されるノード５３５で論理０を転送する。したがって、デバイス（ＩＣ）がシフトモードで動作するときスキャン入力「ＳＤ」の反転がスキャン出力「ＳＱ」に転送される。
【００３７】
図５は、別の実施形態に従ったスキャンチェーン１００の第１のストレージ要素以外のストレージ要素の例を示す。ストレージ要素５００は、ストレージ要素５００によって受け取られるスキャン入力データ「ＳＤ」が機能モードにおいてプルダウンされる場合の、ストレージ要素１００２、１００３、．．．、又は１００ｎのいずれかの例とし得る。例えば、ストレージ要素５００は、（ストレージ要素５００の）先行するストレージ要素によって提供されるスキャン出力「ＳＱ」（これは、ストレージ要素５００のスキャン入力「ＳＤ」に結合される）が機能モードにおいて（ＳＣＡＮが論理０であるとき）プルダウンされるとき用いられる。例えば、ＳＣＡＮが論理０であるとき、スキャン入力「ＳＤ」は論理０である。
【００３８】
ストレージ要素５００は、スキャン出力端子５３５を駆動するためスキャン出力バッファ５５０に結合されるノード１４５を含む。この例示実施形態では、ノード１４５は、データ出力端子５１０を駆動するためデータ出力バッファ５０５にも結合される。この実施形態では、データ出力バッファ５０５はインバータとして示されている。ストレージ要素５００は、それぞれ、先行するストレージ要素のデータ出力「Ｑ」及びスキャン出力「ＳＱ」からデータ入力（「Ｄ」参照）及びスキャン入力（「ＳＤ」参照）を受け取るように構成される入力回路４６０を含む。入力回路４６０は、ノード４６２（第１のノード）で、データ入力「Ｄ」及びスキャン入力「ＳＤ」の一方に対応する信号を提供するように構成される。入力回路４６０は、この信号をノード４６２で反転スキャンイネーブル入力（ＳＣＡＮＺ参照）などの選択信号に基づいて提供する。入力回路４６０は、ノード４６２に結合されるプルアップ構成要素及びプルダウン構成要素を含む。例えば、入力回路４６０は、ノード４６２と電源（ＶＤＤ参照）の間で接続される２つのプルアップ経路を含む。第１のプルアップ経路は、スキャン入力「ＳＤ」を受け取るための第１のスイッチと、データ入力「Ｄ」を受け取るための第２のスイッチとを含む。図５の実施形態に示すように、第１のスイッチの例にはＰＭＯＳトランジスタ４６５が含まれ得、第２のスイッチの例にはＰＭＯＳトランジスタ４７０が含まれ得、これらのトランジスタは、ＰＭＯＳトランジスタ４６５のドレインがＰＭＯＳトランジスタ４７０のソースに接続されるように結合される。第２のプルアップ経路は、第１のスイッチと、反転スキャンイネーブル入力「ＳＣＡＮＺ」を受け取るため第３のスイッチとを含む。第３のスイッチの例にはＰＭＯＳトランジスタ４７５が含まれ得る。ＰＭＯＳトランジスタ４７５のソースがＰＭＯＳトランジスタ４６５のドレインに接続される。ＰＭＯＳトランジスタ４６５、４７０、及び４７５のゲートが、それぞれ、スキャン入力「ＳＤ」、データ入力「Ｄ」、及び反転スキャンイネーブル入力「ＳＣＡＮＺ」に接続され、ＰＭＯＳトランジスタ４７０及び４７５のソースがノード４６２に結合される。入力回路４６０はさらに、ノード４６２と基準源（ＶＳＳ参照）又は接地源との間で接続される２つのプルダウン経路を含む。第１のプルダウン経路が、反転スキャンイネーブル入力「ＳＣＡＮＺ」を受け取るための第４のスイッチと、データ入力「Ｄ」を受け取るための第５のスイッチとを含む。第４のスイッチの例にはＮＭＯＳトランジスタ４８０が含まれ得、第５のスイッチの例にはＮＭＯＳトランジスタ４８５が含まれ、これらのトランジスタは、ＮＭＯＳトランジスタ４８０のソースがＮＭＯＳトランジスタ４８５のドレインに接続されるように結合される。第２のプルダウン経路は、スキャン入力「ＳＤ」を受け取るため第６のスイッチを含む。第６のスイッチの例にはＮＭＯＳトランジスタ４９０が含まれ得る。ＮＭＯＳトランジスタ４８０、４８５、及び４９０のゲートが、それぞれ、ＳＣＡＮＺ、データ入力「Ｄ」、スキャン入力「ＳＤ」に結合され、ＮＭＯＳトランジスタ４８０及び４９０のドレインがノード４６２に結合される。図５に示す実施形態では、「ＳＤ」入力が固定される（論理０又は論理１のいずれか）ので、入力回路２６０において１０個のトランジスタが必要とされるのとは異なり、入力回路４６０は８個のトランジスタしか必要としないように構成される。この実施形態では、反転スキャンイネーブル入力「ＳＣＡＮＺ」を生成するために２つのトランジスタが必要とされるので、図４を参照して説明した実施形態と比較すると、２つの付加的なトランジスタが必要とされることに留意されたい。図５に示す実施形態では、第１のスイッチ、第２のスイッチ、第３のスイッチ、第４のスイッチ、第５のスイッチ、及び第６のスイッチがＰＭＯＳ又はＮＭＯＳトランジスタとして示されているが、これらのスイッチは、例えば、ＢＪＴトランジスタ、ダイオードの組合せなど、ＭＯＳトランジスタに機能的に類似する他の構成要素を用いて構成されてもよい。
【００３９】
入力回路４６０の出力（例えばノード４６２）が、ノード４６２に対応する信号をノード１４５に転送するように構成されるシフト回路１５０に接続される。シフト回路１５０は、ノード４６２から入力を取り込むインバータ１１０を含み、インバータ１１０の出力がトランスミッションゲート１１５に接続される。反転クロック入力ＣＬＫＺがトランスミッションゲート１１５に与えられる。トランスミッションゲート１１５はノード１９５に接続される。インバータ１３０がノード１９５に接続される。別のトランスミッションゲート１２５が、インバータ１３０の出力に接続される。トランスミッションゲート１２５の出力が、別のインバータ１２０の入力に接続される。トランスミッションゲート１２５はクロック信号（ＣＬＫ参照）に接続される。インバータ１３０の出力はノード１９７にも接続される。トランスミッションゲート１３５がノード１９７に接続される。トランスミッションゲート１３５の出力がインバータ１４０に接続され、インバータ１４０はノード１４５に接続される。データ出力バッファ５０５の入力はノード１４５に接続され、データ出力バッファ５０５の出力は、ノード５１０（これはデータ出力端子である）に接続される。データ出力バッファ５０５はインバータを含む。ノード１４５はインバータ１８５に接続される。インバータ１８５の出力はノード１５２に接続され、ノード１５２はトランスミッションゲート１９０に接続される。トランスミッションゲート１９０は反転クロック入力ＣＬＫＺによって制御される。トランスミッションゲート１９０は別のインバータ１４６を駆動する。インバータ１４６の出力もまたノード１４５に接続される。スキャン出力バッファ５５０は、ＰＭＯＳトランジスタ５１５及びＮＭＯＳトランジスタ５２０を含む。トランジスタ５１５のソースが電源電圧（ＶＤＤ）に接続され、トランジスタ５１５のドレインがノード５３５に接続される。トランジスタ５１５のゲートはノード１４５に接続される。トランジスタ５２０のソースは別のＮＭＯＳトランジスタ５２５のドレインに接続され、トランジスタ５２０のドレインはノード５３５に接続される。トランジスタ５２０のゲートもノード１４５に接続される。トランジスタ５２５のソースが接地電圧に接続され、トランジスタ５２５のドレインがトランジスタ５２０のソースに接続される。トランジスタ５２５のゲートはスキャンイネーブル入力（ＳＣＡＮ）に接続される。トランジスタ５２５は、ＳＣＡＮが０であるとき、ＶＤＤとＶＳＳの間の直接経路をディセーブルするために用いられる。別のＰＭＯＳトランジスタ５３０が、スキャン出力「ＳＱ」をプルアップするために用いられる。トランジスタ５３０のソースが電源電圧に接続され、トランジスタ５３０のドレインがノード５３５（これはスキャン出力「ＳＱ」である）に接続される。トランジスタ５３０のゲートがスキャンイネーブル入力（ＳＣＡＮ）に接続される。スキャン可能なストレージ要素５００のスキャン出力（ｓｑ）はノード５３５から取り出される。
【００４０】
ここで、ストレージ要素５００の動作を説明する。入力回路４６０は、データ入力「Ｄ」及びスキャン入力「ＳＤ」の一方に対応する信号をノード４６２で転送させる。ＳＣＡＮが論理０であるとき、スキャン入力「ＳＤ」は論理０であることに留意されたい。例えば、ＳＣＡＮが論理０であるとき、ストレージ要素５００の先行するストレージ要素（ストレージ要素３００など）のスキャン出力「ＳＱ」がプルダウンされ、このプルダウンされた論理０はストレージ要素５００のスキャン入力「ＳＤ」に供給される。ＳＣＡＮが論理１であるとき、テストデータ、及び先行するストレージ要素から受け取る値に応じて、スキャン入力「ＳＤ」は論理０又は論理１のいずれかを取り得る。図５に示すように、ＳＣＡＮが論理０であるとき、データ入力「Ｄ」の反転がノード４６２で転送され、ＳＣＡＮが論理１であるとき（又はＳＣＡＮＺが論理０であるとき）、スキャン入力「ＳＤ」の反転がノード４６２で転送される。
【００４１】
説明のため、機能モードにおいて（ＳＣＡＮが論理０である又はＳＣＡＮＺが論理１であるとき）、スキャン入力「ＳＤ」は論理０であり、そのため、トランジスタ４７５及び４９０がディセーブルされ、トランジスタ４６５及び４８０がイネーブルされる。したがって、トランジスタ４６５、４７０、４８０、及び４８５はインバータ構成を形成し、「Ｄ」の反転論理レベルがノード４６２に転送される。「Ｄ」が論理１に設定されると仮定すると、「Ｄ」の反転、例えば論理０、がノード４６２で利用可能となる。シフト回路１５０は、ノード１４５において、ノード４６２における値の反転である論理レベルを強制するように構成される。例えば、シフト回路１５０のインバータ１１０の出力において論理１が転送される。ＣＬＫがローであるとき、トランスミッションゲート１１５は透過になり、トランスミッションゲートの入力における論理１がノード１９５に転送され、インバータ１３０の出力（ノード１９７）を論理０にする。ＣＬＫがハイになるとき、トランスミッションゲート１２５は透過になり、それによって、ノード１９７における値（論理０）がインバータ１２０に転送される。インバータ１２０はノード１９５を論理１にする。別のトランスミッションゲート１３５が、ＣＬＫがハイになるときイネーブルされ、そのためノード１９７における値（論理０）をインバータ１４０に転送する。インバータ１４０はノード１４５を論理１にする。インバータ１８５、トランスミッションゲート１９０、及びインバータ１４６は、ＣＬＫが論理０であるときループバック経路を構成し、ノード１４５における値を保持することを助ける。データ出力バッファ５０５（インバータ）は、ノード１４５における値を反転させ、ノード５１０を論理０にする。データ出力「Ｑ」がノード５１０（これはデータ出力端子である）からデータ入力「Ｄ」の反転として取り出される。ＳＣＡＮが論理０であるため、トランジスタ５２５がディセーブルされ、それによってノード５３５へのデータ伝播が停止する。同時に、トランジスタ５３０がイネーブルされ、それによってノード５３５が論理１にプルアップされる。スキャン出力端子はノード５３５に結合される。したがって、機能モードにおいて（ＳＣＡＮが論理０であるとき）、スキャン出力「ＳＱ」は論理１に拘束される（これは、スキャン出力端子によって駆動されるスキャン経路における組合せ論理切り替えに起因する機能モードにおける電力低減の助けとなり得る）。スキャンイネーブル入力（ＳＣＡＮ）は制御信号として働き、この制御信号は、スキャン出力端子「ＳＱ」を論理１に拘束させるか否かを決定する。したがって、ＳＣＡＮが論理０であるとき、データ出力「Ｑ」はデータ入力「Ｄ」の反転に従い、スキャン出力「ＳＱ」は論理１に拘束される。
【００４２】
シフトモードにおいて（ＳＣＡＮが論理１である又はＳＣＡＮＺが論理０であるとき）、トランジスタ４８０がディセーブルされ、トランジスタ４６５，４７５（プルアップ）及びトランジスタ４９０（プルダウン）がインバータ構成を形成し、スキャン入力「ＳＤ」の反転がノード４６２に転送される。ＳＣＡＮが論理１であるとき、トランジスタ５３０がディセーブルされ、トランジスタ５１５、５２０、及び５２５がインバータ構成を形成するので、スキャン出力バッファ５５０はインバータとして動作することにさらに留意されたい。シフト回路１５０は、ノード１４５において、ノード４６２の反転である論理レベルを強制するように構成される。例えば、スキャン入力「ＳＤ」が論理１である場合（ＳＣＡＮが論理１であれば）、ノード４６２は論理０であり、ノード１４５は論理１である。スキャン出力バッファ５５０は、スキャン出力「ＳＱ」に結合されるノード５３５で論理０を転送する。したがって、デバイスがシフトモードで動作するとき、反転スキャン入力「ＳＤ」がスキャン出力「ＳＱ」に転送される。
【００４３】
図６は、或る実施形態に従ったスキャンチェーン１００の第１のストレージ要素以外のストレージ要素の例を示す。ストレージ要素６００は、ストレージ要素６００によって受け取られるスキャン入力データ「ＳＤ」が機能モードにおいてプルアップされる場合の、ストレージ要素１００２、１００３、．．．、又は１００ｎのいずれかの例とし得る。例えば、ストレージ要素６００は、（ストレージ要素６００の）先行するストレージ要素によって提供されるスキャン出力「ＳＱ」（これは、ストレージ要素６００のスキャン入力「ＳＤ」に結合される）が機能モードにおいて（ＳＣＡＮが論理０であるとき）プルアップされる場合に用いられる。例えば、ＳＣＡＮが論理０であるとき、スキャン入力「ＳＤ」は論理１である。
【００４４】
ストレージ要素６００は、ノード７２５（スキャン出力端子）を駆動するためスキャン出力バッファ７５０に結合されるノード１４５を含む。この例示実施形態では、ノード１４５はまた、データ出力端子５１０を駆動するためデータ出力バッファ５０５に結合される。この実施形態では、データ出力バッファ５０５はインバータとして示されている。ストレージ要素６００は、それぞれ、先行するストレージ要素のデータ出力「Ｑ」及びスキャン出力「ＳＱ」からデータ入力（「Ｄ」参照）及びスキャン入力（「ＳＤ」参照）を受け取るように構成される入力回路３６０を含む。入力回路３６０は、図４を参照して既に説明されており、簡潔にするためその説明は提供しない。入力回路３６０は、データ入力「Ｄ」及びスキャン入力「ＳＤ」の一方に対応する信号をノード３６２で提供するように構成される。
【００４５】
入力回路３６０の出力（例えばノード３６２）が、ノード３６２に対応する信号をノード１４５に転送するように構成されるシフト回路１５０に接続される。データ出力バッファ５０５の入力はノード１４５に接続され、データ出力バッファ５０５の出力は、ノード５１０（データ出力端子）に接続される。データ出力バッファ５０５はインバータを含む。スキャン出力バッファ７５０もノード１４５に接続される。スキャン出力バッファ７５０は、ＰＭＯＳトランジスタ７０５（第１のＭＯＳトランジスタ）、インバータ（ＰＭＯＳトランジスタ７１０及びＮＭＯＳトランジスタ７１５を含む）、及びＮＭＯＳトランジスタ７２０（第２のＭＯＳトランジスタ）を含む。トランジスタ７０５のソースが電源電圧（ＶＤＤ）に接続され、トランジスタ７０５のドレインがトランジスタ７１０のソースに接続される。トランジスタ７１０のドレインが、ノード７２５に接続され、トランジスタ７１５のドレインにも接続される。トランジスタ７１０及び７１５のゲートがノード１４５に接続され、トランジスタ７０５のゲートがＳＣＡＮＺに接続される。ＮＭＯＳトランジスタ７２０のドレインがノード７２５に接続され、トランジスタ７２０のゲートがＳＣＡＮＺに接続され、そのため、トランジスタ７２０が機能モードにおいて（ＳＣＡＮＺが論理１であるとき）プルダウントランジスタとして働く。また、トランジスタ７０５は、機能モードにおいてＶＤＤとＶＳＳの間の直接経路をディセーブルするために用いられる。シフトモードにおいて（ＳＣＡＮＺが論理０であるとき）、トランジスタ７２０がディセーブルされ、トランジスタ７０５がイネーブルされ、それによって、シフトモードにおいてＶＤＤとＶＳＳの間で直接経路が提供されることに留意されたい。したがって、シフトモードにおいて、トランジスタ７０５、７１０、及び７１５は、インバータ構成を形成し、ノード１４５の値の反転をノード７２５に提供する。
【００４６】
ここで、ストレージ要素６００の動作を説明する。入力回路３６０は、データ入力「Ｄ」及びスキャン入力「ＳＤ」の一方に対応する信号をノード３６２で転送させる。ＳＣＡＮが論理０であるとき、スキャン入力「ＳＤ」は論理１であることに留意されたい。例えば、ＳＣＡＮが論理０であるとき、ストレージ要素６００の先行するストレージ要素（ストレージ要素２００など）のスキャン出力「ＳＱ」がプルアップされ、このプルアップされた論理１はストレージ要素６００のスキャン入力「ＳＤ」に供給される。ＳＣＡＮが論理１であるとき、テストデータ、及び先行するストレージ要素から受け取る値に応じて、スキャン入力「ＳＤ」は論理０又は論理１のいずれかを取り得る。図４を参照して説明したように、ＳＣＡＮが論理０であるとき、データ入力「Ｄ」の反転がノード３６２で転送され、ＳＣＡＮが論理１であるとき、スキャン入力「ＳＤ」の反転がノード３６２で転送される。
【００４７】
機能モードにおいて（ＳＣＡＮが論理０である又はＳＣＡＮＺが論理１であるとき）、スキャン入力「ＳＤ」は論理１であり、そのため、トランジスタ３７５及び３８０はディセーブルされ、トランジスタ３７０及び３８５はイネーブルされる。したがって、トランジスタ３６５、３７０、３９０、及び３８５はインバータ構成を形成し、「Ｄ」の反転論理レベルがノード３６２に転送される。「Ｄ」が論理１に設定されると仮定すると、「Ｄ」の反転、例えば論理０、がノード３６２で利用可能となる。シフト回路１５０は、ノード１４５において、ノード３６２における値の反転である論理レベルを強制するように構成される。例えば、シフト回路１５０のインバータ１１０の出力は論理１である。ＣＬＫがローであるとき、トランスミッションゲート１１５が透過になり、トランスミッションゲートの入力における論理１がノード１９５に転送されて、インバータ１３０の出力（ノード１９７）を論理０にする。ＣＬＫがハイになるとき、トランスミッションゲート１２５が透過になり、それによって、ノード１９７における値（論理０）がインバータ１２０に転送される。インバータ１２０はノード１９５を論理１にする。別のトランスミッションゲート１３５が、ＣＬＫがハイになるときイネーブルされ、そのためノード１９７における値（論理０）をインバータ１４０に転送する。インバータ１４０はノード１４５を論理１にする。インバータ１８５、トランスミッションゲート１９０、及びインバータ１４６は、ＣＬＫが論理０であるときループバック経路を構成し、ノード１４５における値を保持することを助ける。データ出力バッファ５０５（インバータ）は、ノード１４５における値を反転させ、ノード５１０を論理０にする。データ出力「Ｑ」がノード５１０（これはデータ出力端子である）からデータ入力「Ｄ」の反転として取り出される。ＳＣＡＮが論理０であるため、トランジスタ７０５がディセーブルされ、それによってノード７２５へのデータ伝播が停止する。同時に、トランジスタ７２０がイネーブルされ、それによってノード７２５が論理０にプルダウンされる。スキャン出力端子はノード７２５に結合される。したがって、機能モードにおいて（ＳＣＡＮが論理０であるとき）、スキャン出力「ＳＱ」は論理０に拘束される（これは、スキャン出力端子によって駆動されるスキャン経路における組合せ論理切り替えに起因する機能モードにおける電力低減の助けとなり得る）。反転スキャンイネーブル入力（ＳＣＡＮＺ）は制御信号として働き、この制御信号は、スキャン出力端子「ＳＱ」を論理１に拘束させるか否かを決定する。したがって、ＳＣＡＮが論理０であるとき、データ出力「Ｑ」はデータ入力「Ｄ」の反転に従い、スキャン出力「ＳＱ」は論理０に拘束される（すなわち、プルダウンされる）。
【００４８】
シフトモードにおいて（ＳＣＡＮが論理１である又はＳＣＡＮＺが論理０であるとき）、トランジスタ３７０がディセーブルされ、トランジスタ３７５（プルアップ）並びにトランジスタ３８０及び３８５（プルダウン）がインバータ構成を形成し、スキャン入力「ＳＤ」の反転がノード３６２に転送される。ＳＣＡＮが論理１であるとき、トランジスタ７５０はディセーブルされ、トランジスタ７０５、７１０、及び７１５はインバータ構成を形成するので、スキャン出力バッファ７５０はインバータとして動作することにさらに留意されたい。シフト回路１５０は、ノード１４５において、ノード３６２の反転である論理レベルを強制するように構成される。例えば、スキャン入力「ＳＤ」が論理１である場合（ＳＣＡＮが論理１であれば）、ノード３６２は論理０であり、ノード１４５は論理１である。スキャン出力バッファ７５０は、スキャン出力「ＳＱ」に結合されるノード７２５で論理０を転送する。したがって、ＩＣがシフトモードで動作するとき、スキャン入力「ＳＤ」の反転がスキャン出力「ＳＱ」に転送される。
【００４９】
図７は、或る実施形態に従ったスキャンチェーン１００の第１のストレージ要素以外のストレージ要素の例を示す。ストレージ要素７００は、ストレージ要素７００によって受け取られるスキャン入力データ「ＳＤ」が機能モードにおいてプルダウンされる場合の、ストレージ要素１００２、１００３、．．．、又は１００ｎのいずれかの例とし得る。例えば、ストレージ要素７００は、（ストレージ要素７００の）先行するストレージ要素によって提供されるスキャン出力「ＳＱ」（これは、ストレージ要素７００のスキャン入力「ＳＤ」に結合される）が機能モードにおいて（ＳＣＡＮが論理０であるとき）プルダウンされる場合に用いられる。例えば、ＳＣＡＮが論理０であるとき、スキャン入力「ＳＤ」は論理０である。
【００５０】
ストレージ要素７００は、ノード７２５（スキャン出力端子）を駆動するためスキャン出力バッファ７５０に結合されるノード１４５を含む。この例示実施形態では、ノード１４５は、データ出力端子５１０を駆動するためデータ出力バッファ５０５にも結合される。この実施形態では、データ出力バッファ５０５はインバータとして示されている。ストレージ要素７００は、それぞれ、先行するストレージ要素のデータ出力「Ｑ」及びスキャン出力「ＳＱ」からデータ入力（「Ｄ」参照）及びスキャン入力（「ＳＤ」参照）を受け取るように構成される入力回路４６０を含む。入力回路４６０は、図５を参照して既に説明されており、簡潔にするためその説明は提供しない。入力回路４６０は、データ入力「Ｄ」及びスキャン入力「ＳＤ」の一方に対応する信号をノード４６２で提供するように構成される。例えば、シフトモードにおいて（ＳＣＡＮＺが論理１であるとき）、データ入力「Ｄ」の反転がノード４６２で提供され、機能モードにおいて（ＳＣＡＮＺが論理０であるとき）、スキャン入力「ＳＤ」の反転がノード４６２で提供される。
【００５１】
入力回路４６０の出力（例えばノード４６２）が、ノード４６２に対応する信号をノード１４５に転送するように構成されるシフト回路１５０に接続される。データ出力バッファ５０５の入力はノード１４５に接続され、データ出力バッファ５０５の出力は、ノード５１０（データ出力端子）に接続される。データ出力バッファ５０５はインバータを含む。スキャン出力バッファ７５０もノード１４５に接続される。機能モードにおいて、スキャン出力バッファ７５０はノード７２５をプルダウンするように構成されるが、シフトモードにおいて、トランジスタ７０５、７１０、及び７１５はインバータ構成を形成し（また、トランジスタ７２０がディセーブルされ）、ノード１４５における値の反転がノード７２５に提供される。
【００５２】
ここで、ストレージ要素７００の動作を説明する。入力回路４６０は、データ入力「Ｄ」及びスキャン入力「ＳＤ」の一方に対応する信号をノード４６２で転送させる。この実施形態において、ＳＣＡＮが論理０であるとき、スキャン入力「ＳＤ」は論理０であることに留意されたい。例えば、ＳＣＡＮが論理０であるとき、ストレージ要素７００の先行するストレージ要素（ストレージ要素２００など）のスキャン出力「ＳＱ」がプルダウンされ、このプルダウンされた論理０はストレージ要素７００のスキャン入力「ＳＤ」に供給される。ＳＣＡＮが論理１であるとき、テストデータ、及び先行するストレージ要素から受け取る値に応じて、スキャン入力「ＳＤ」は論理０又は論理１のいずれかを取り得る。図７に示すように、ＳＣＡＮが論理０であるとき、データ入力「Ｄ」の反転がノード４６２で転送され、ＳＣＡＮが論理１であるとき、スキャン入力「ＳＤ」の反転がノード４６２で転送される。
【００５３】
説明のため、機能モードにおいて（ＳＣＡＮが論理０である又はＳＣＡＮＺが論理１であるとき）、スキャン入力「ＳＤ」は論理０であり、そのため、トランジスタ４７５及び４９０がディセーブルされ、トランジスタ４６５及び４８０がイネーブルされる。したがって、トランジスタ４６５、４７０、４８０、及び４８５はインバータ構成を形成し、「Ｄ」の反転論理レベルがノード４６２に転送される。「Ｄ」が論理１に設定されると仮定すると、「Ｄ」の反転、例えば論理０、がノード４６２で利用可能となる。シフト回路１５０は、ノード１４５において、ノード４６２における値の反転である論理レベルを強制するように構成される。例えば、論理１がシフト回路１５０のインバータ１１０の出力において転送される。ＣＬＫがローであるとき、トランスミッションゲート１１５が透過になり、トランスミッションゲートの入力におけるＣＬＫがハイになるとき論理１がノード１９５に転送されて、インバータ１３０の出力（ノード１９７）を論理０にする。ＣＬＫがハイになるとき、トランスミッションゲート１２５が透過になり、それによってノード１９７における値（論理０）がインバータ１２０に転送される。インバータ１２０はノード１９５を論理１にする。別のトランスミッションゲート１３５が、ＣＬＫがハイになるときイネーブルされ、そのためノード１９７における値（論理０）をインバータ１４０に転送する。インバータ１４０はノード１４５を論理１にする。インバータ１８５、トランスミッションゲート１９０、及びインバータ１４６は、ＣＬＫが論理０であるときループバック経路を構成し、ノード１４５における値を保持することを助ける。データ出力バッファ５０５（インバータ）は、ノード１４５における値を反転させ、ノード５１０を論理０にする。データ出力「Ｑ」がノード５１０（これはデータ出力端子である）からデータ入力「Ｄ」の反転として取り出される。ＳＣＡＮが論理０であるため、トランジスタ７０５がディセーブルされ、それによってノード７２５へのデータ伝播が停止する。同時に、トランジスタ７２０がイネーブルされ、それによってノード７２５が論理０にプルダウンされる。スキャン出力端子はノード７２５に結合される。したがって、機能モードにおいて（ＳＣＡＮが論理０であるとき）、スキャン出力「ＳＱ」は論理０に拘束される（これは、スキャン出力端子によって駆動されるスキャン経路における組合せ論理切り替えに起因する機能モードにおける電力低減の助けとなり得る）。スキャンイネーブル入力（ＳＣＡＮＺ）は制御信号として働き、この制御信号は、スキャン出力端子「ＳＱ」を論理１に拘束させるか否かを決定する。したがって、ＳＣＡＮが論理０であるとき、データ出力「Ｑ」はデータ入力「Ｄ」の反転に従い、スキャン出力「ＳＱ」は論理０に拘束される（すなわち、プルダウンされる）。
【００５４】
シフトモードにおいて（ＳＣＡＮが論理１である又はＳＣＡＮＺが論理０であるとき）、トランジスタ４８０がディセーブルされ、トランジスタ４６５、４７５（プルアップ）及びトランジスタ４９０（プルダウン）はインバータ構成を形成し、スキャン入力「ＳＤ」の反転がノード４６２に転送される。ＳＣＡＮが論理１であるとき、トランジスタ７２０がディセーブルされ、トランジスタ７０５、７１０、及び７１５がインバータ構成を形成するので、スキャン出力バッファ７５０はインバータとして動作することにさらに留意されたい。シフト回路１５０は、ノード１４５において、ノード４６２の反転である論理レベルを強制するように構成される。例えば、スキャン入力「ＳＤ」が論理１である場合（ＳＣＡＮが論理１であれば）、ノード４６２は論理０であり、ノード１４５は論理１である。スキャン出力バッファ７５０は、スキャン出力「ＳＱ」に結合されるノード７２５で論理０を転送する。したがって、ＩＣがシフトモードで動作するとき、スキャン入力「ＳＤ」の反転がスキャン出力「ＳＱ」に転送される。
【００５５】
図８は、或る実施形態に従ったスキャンチェーン１００の第１のストレージ要素以外のストレージ要素の例を示す。ストレージ要素８００は、ストレージ要素８００によって受け取られるスキャン入力データ「ＳＤ」が機能モードにおいてプルアップされる場合の、ストレージ要素１００２、１００３、．．．、又は１００ｎのいずれかの例とし得る。例えば、ストレージ要素８００は、（ストレージ要素８００の）先行するストレージ要素によって提供されるスキャン出力「ＳＱ」（これは、ストレージ要素８００のスキャン入力「ＳＤ」に結合される）が機能モードにおいて（ＳＣＡＮが論理０であるとき）プルアップされる場合に用いられる。例えば、ＳＣＡＮが論理０であるとき、スキャン入力「ＳＤ」は論理１である。
【００５６】
ストレージ要素８００は、ノード４１５（スキャン出力端子）を駆動するためスキャン出力バッファ４５０に結合されるノード１４５を含む。この例示実施形態では、ノード１４５は、ノード５１０（データ出力端子）を駆動するためデータ出力バッファ５０５にも結合される。この実施形態では、データ出力バッファ５０５はインバータとして示されている。ストレージ要素８００は、それぞれ、先行するストレージ要素のデータ出力「Ｑ」及びスキャン出力「ＳＱ」からデータ入力（「Ｄ」参照）及びスキャン入力（「ＳＤ」参照）を受け取るように構成される入力回路３６０を含む。入力回路３６０は、図４を参照して既に説明されており、簡潔にするためその説明は提供しない。入力回路３６０は、データ入力「Ｄ」及びスキャン入力「ＳＤ」の一方に対応する信号をノード３６２で提供するように構成される。例えば、シフトモードにおいて（ＳＣＡＮＺが論理１であるとき）、データ入力「Ｄ」の反転がノード３６２で提供され、機能モードにおいて（ＳＣＡＮＺが論理０であるとき）、スキャン入力「ＳＤ」の反転がノード３６２で提供される。
【００５７】
入力回路３６０の出力（例えばノード３６２）が、ノード３６２に対応する信号をノード１４５に転送するように構成されるシフト回路１５０に接続される。データ出力バッファ５０５の入力はノード１４５に接続され、データ出力バッファ５０５の出力は、ノード５１０（データ出力端子）に接続される。データ出力バッファ５０５はインバータを含む。スキャン出力バッファ４５０もノード１４５に接続される。スキャン出力バッファ４５０は、ＰＭＯＳトランジスタ４０５（第５のＭＯＳトランジスタ）及びＮＭＯＳトランジスタ４１０（第６のＭＯＳトランジスタ）（トランスミッションゲートを形成する）を含み、プルダウンＭＯＳトランジスタ４２０（第７のＭＯＳトランジスタ）がそれに続く。トランジスタ４０５及び４１０のドレインがノード１４５に接続される。トランジスタ４０５及び４１０のソースはノード４１５に接続される。トランジスタ４０５のゲートは反転スキャンイネーブル入力（ＳＣＡＮＺ）に接続される。トランジスタ４１０のゲートはスキャンイネーブル入力（ＳＣＡＮ）に接続される。トランジスタ４２０（第３のＭＯＳトランジスタ）のソースは接地電圧に接続され、トランジスタ４２０のドレインはノード４１５に接続される。トランジスタ４２０のゲートは反転スキャンイネーブル入力（ＳＣＡＮＺ）に接続されて、トランジスタ４２０を、機能モードにおいて（ＳＣＡＮＺが論理１であるとき）プルダウントランジスタとして働かせる。機能モードの間、トランジスタ４０５及び４１０はディセーブルされる。シフトモードにおいて（ＳＣＡＮＺが論理０であるとき）、トランジスタ４２０はディセーブルされ、トランスミッションゲートは、イネーブルされ、ノード１４５における値をノード４１５に提供する。
【００５８】
ここで、ストレージ要素８００の動作を説明する。入力回路３６０は、データ入力「Ｄ」及びスキャン入力「ＳＤ」の一方に対応する信号をノード３６２で転送させる。ＳＣＡＮが論理０であるとき、スキャン入力「ＳＤ」は論理１であることに留意されたい。例えば、ＳＣＡＮが論理０であるとき、ストレージ要素８００の先行するストレージ要素（ストレージ要素２００など）のスキャン出力「ＳＱ」がプルアップされ、このプルアップされた論理１はストレージ要素８００のスキャン入力「ＳＤ」に供給される。ＳＣＡＮが論理１であるとき、テストデータ、及び先行するストレージ要素から受け取る値に応じて、スキャン入力「ＳＤ」は論理０又は論理１のいずれかを取り得る。図４を参照して説明したように、ＳＣＡＮが論理０であるとき、データ入力「Ｄ」の反転がノード３６２で転送され、ＳＣＡＮが論理１であるとき、スキャン入力「ＳＤ」の反転がノード３６２で転送される。
【００５９】
説明のため、ＳＣＡＮが論理０である（スキャン入力「ＳＤ」が論理１）である場合、トランジスタ３７５及び３８０がディセーブルされ、トランジスタ３７０及び３８５がイネーブルされる。したがって、トランジスタ３６５、３７０、３９０、及び３８５はインバータ構成を形成し、「Ｄ」の反転論理レベルがノード３６２に転送される。「Ｄ」が論理１に設定されると仮定すると、「Ｄ」の反転、例えば論理０、がノード３６２で利用可能となる。シフト回路１５０は、ノード１４５において、ノード３６２における値の反転である論理レベルを強制するように構成される。例えば、シフト回路１５０のインバータ１１０の出力は論理１である。ＣＬＫがローであるとき、トランスミッションゲート１１５が透過になり、トランスミッションゲートの入力における論理１がノード１９５に転送されて、インバータ１３０の出力（ノード１９７）を論理０にする。ＣＬＫがハイになるとき、トランスミッションゲート１２５が透過になり、それによってノード１９７における値（論理０）がインバータ１２０に転送される。インバータ１２０はノード１９５を論理１にする。別のトランスミッションゲート１３５が、ＣＬＫがハイになるときイネーブルされ、そのためノード１９７における値（論理０）をインバータ１４０に転送する。インバータ１４０はノード１４５を論理１にする。インバータ１８５、トランスミッションゲート１９０、及びインバータ１４６は、ＣＬＫが論理０であるときループバック経路を構成し、ノード１４５における値を保持することを助ける。データ出力バッファ５０５（インバータ）は、ノード１４５における値を反転させ、ノード５１０を論理０にする。データ出力「Ｑ」がノード５１０（これはデータ出力端子である）からデータ入力「Ｄ」の反転として取り出される。ＳＣＡＮが論理０であるため、トランジスタ４０５及び４１０によって形成されるトランスミッションゲートがノード４１５をノード１４５から隔離する。同時に、トランジスタ４２０がイネーブルされ、これは、機能モードにおいてクロック信号ＣＬＫに関わらずノード４１５を論理０にプルダウンする。スキャン出力端子はノード４１５に結合される。したがって、機能モードにおいて（ＳＣＡＮが論理０であるとき）、スキャン出力「ＳＱ」は論理０に拘束される（これは、スキャン出力端子によって駆動されるスキャン経路における組合せ論理切り替えに起因する機能モードにおける電力低減の助けとなり得る）。スキャンイネーブル入力（ＳＣＡＮＺ）は制御信号として働き、この制御信号は、スキャン出力端子「ＳＱ」を論理１に拘束させるか否かを決定する。したがって、ＳＣＡＮが論理０であるとき、データ出力「Ｑ」はデータ入力「Ｄ」の反転に従い、スキャン出力「ＳＱ」は論理０に拘束される（すなわち、プルダウンされる）。
【００６０】
ＳＣＡＮが論理１であるとき、トランジスタ３７０はディセーブルされ、トランジスタ３７５（プルアップ）並びにトランジスタ３８０及び３８５（プルダウン）はインバータ構成を形成し、スキャン入力「ＳＤ」の反転がノード３６２に転送される。ＳＣＡＮが論理１であるとき、トランジスタ４２０はディセーブルされ、トランジスタ４０５及び４１０によって形成されるトランスミッションゲートはノード１４５に存在する値をノード４１５に転送するので、スキャン出力バッファ４５０はトランスミッションゲートバッファとして動作することにさらに留意されたい。シフト回路１５０は、ノード１４５において、ノード３６２の反転である論理レベルを強制するように構成される。例えば、スキャン入力「ＳＤ」が論理１である場合（ＳＣＡＮが論理１であれば）、ノード３６２は論理０であり、ノード１４５は論理１である。スキャン出力バッファ４５０は、スキャン出力「ＳＱ」に結合されるノード４１５で論理１を転送する。したがって、ＩＣがシフトモードで動作するとき、スキャン入力「ＳＤ」がスキャン出力「ＳＱ」に転送される。
【００６１】
図９は、或る実施形態に従ったスキャンチェーン１００の第１のストレージ要素以外のストレージ要素の例を示す。ストレージ要素９００は、ストレージ要素９００によって受け取られるスキャン入力データ「ＳＤ」が機能モードにおいてプルダウンされる場合の、ストレージ要素１００２、１００３、．．．、又は１００ｎのいずれかの例とし得る。例えば、ストレージ要素９００は、（ストレージ要素９００の）先行するストレージ要素によって提供されるスキャン出力「ＳＱ」（これは、ストレージ要素９００のスキャン入力「ＳＤ」に結合される）が機能モードにおいて（ＳＣＡＮが論理０であるとき）プルダウンされる場合に用いられる。例えば、ＳＣＡＮが論理０であるとき、スキャン入力「ＳＤ」は論理１である。
【００６２】
ストレージ要素９００は、ノード４１５（スキャン出力端子）を駆動するためスキャン出力バッファ４５０に結合されるノード１４５を含む。この例示実施形態では、ノード１４５は、ノード５１０（データ出力端子）を駆動するためデータ出力バッファ５０５にも結合される。この実施形態では、データ出力バッファ５０５はインバータとして示されている。ストレージ要素９００は、それぞれ、先行するストレージ要素のデータ出力「Ｑ」及びスキャン出力「ＳＱ」からデータ入力（「Ｄ」参照）及びスキャン入力（「ＳＤ」参照）を受け取るように構成される入力回路４６０を含む。入力回路４６０は、図５を参照して既に説明されており、簡潔にするためその説明は提供しない。入力回路４６０は、データ入力「Ｄ」及びスキャン入力「ＳＤ」の一方に対応する信号をノード４６２で提供するように構成される。例えば、機能モードにおいて（ＳＣＡＮＺが論理１であるとき）、データ入力「Ｄ」の反転がノード４６２で提供され、シフトモードにおいて（ＳＣＡＮＺが論理０であるとき）、スキャン入力「ＳＤ」の反転がノード４６２で提供される。
【００６３】
入力回路４６０の出力（例えばノード４６２）が、ノード４６２に対応する信号をノード１４５に転送するように構成されるシフト回路１５０に接続される。データ出力バッファ５０５の入力はノード１４５に接続され、データ出力バッファ５０５の出力は、ノード５１０（データ出力端子）に接続される。データ出力バッファ５０５はインバータを含む。スキャン出力バッファ４５０もノード１４５に接続される。図８を参照して説明したように、スキャン出力バッファ４５０は、ＰＭＯＳトランジスタ４０５（第１のＭＯＳトランジスタ）及びＮＭＯＳトランジスタ４１０（第２のＭＯＳトランジスタ）（トランスミッションゲートを形成する）を含み、プルダウンＭＯＳトランジスタ４２０がそれに続く。トランジスタ４２０は、機能モードにおいて（ＳＣＡＮＺが論理１であるとき）プルダウントランジスタとして働く。これは、機能モードにおいてトランジスタ４０５及び４１０がディセーブルされるからである。シフトモードにおいて（ＳＣＡＮＺが論理０であるとき）、トランジスタ４２０はディセーブルされ、トランスミッションゲートは、イネーブルされ、ノード１４５における値をノード４１５に提供する。
【００６４】
ここで、ストレージ要素９００の動作を説明する。入力回路４６０は、データ入力「Ｄ」及びスキャン入力「ＳＤ」の一方に対応する信号をノード４６２で転送させる。ＳＣＡＮが論理０であるとき、スキャン入力「ＳＤ」は論理０であることに留意されたい。例えば、ＳＣＡＮが論理０であるとき、ストレージ要素９００の先行するストレージ要素（ストレージ要素２００など）のスキャン出力「ＳＱ」がプルダウンされ、このプルダウンされた論理０はストレージ要素９００のスキャン入力「ＳＤ」に供給される。ＳＣＡＮが論理１であるとき、テストデータ、及び先行するストレージ要素から受け取る値に応じて、スキャン入力「ＳＤ」は論理０又は論理１のいずれかを取り得る。図５を参照して説明したように、ＳＣＡＮが論理０であるとき、データ入力「Ｄ」の反転がノード４６２で転送され、ＳＣＡＮが論理１であるとき、スキャン入力「ＳＤ」の反転がノード４６２で転送される。
【００６５】
機能モードにおいて（ＳＣＡＮが論理０である又はＳＣＡＮＺが論理１であるとき）、スキャン入力「ＳＤ」は論理０であり、そのため、トランジスタ４７５及び４９０がディセーブルされ、トランジスタ４６５及び４８０がイネーブルされる。したがって、トランジスタ４６５、４７０、４８０、及び４８５はインバータ構成を形成し、「Ｄ」の反転論理レベルがノード４６２に転送される。「Ｄ」が論理１に設定されると仮定すると、「Ｄ」の反転、例えば論理０、がノード４６２で利用可能となる。シフト回路１５０は、ノード１４５において、ノード４６２における値の反転である論理レベルを強制するように構成される。例えば、論理１がシフト回路１５０のインバータ１１０の出力において転送される。ＣＬＫがローであるとき、トランスミッションゲート１１５が透過になり、トランスミッションゲートの入力における論理１がノード１９５に転送されて、インバータ１３０の出力（ノード１９７）を論理０にする。ＣＬＫがハイになるとき、トランスミッションゲート１２５が透過になり、それによってノード１９７における値（論理０）がインバータ１２０に転送される。インバータ１２０はノード１９５を論理１にする。別のトランスミッションゲート１３５が、ＣＬＫがハイになるときイネーブルされ、そのためノード１９７における値（論理０）をインバータ１４０に転送する。インバータ１４０はノード１４５を論理１にする。インバータ１８５、トランスミッションゲート１９０、及びインバータ１４６は、ＣＬＫが論理０であるときループバック経路を構成し、ノード１４５における値を保持することを助ける。データ出力バッファ５０５（インバータ）は、ノード１４５における値を反転させ、ノード５１０を論理０にする。データ出力「Ｑ」がノード５１０（これはデータ出力端子である）からデータ入力「Ｄ」の反転として取り出される。ＳＣＡＮが論理０であるため、トランジスタ４０５及び４１０によって形成されるトランスミッションゲートはノード４１５をノード１４５から隔離する。同時に、トランジスタ４２０がイネーブルされ、これは、機能モードにおいてクロック信号ＣＬＫに関わらずノード４１５を論理０にプルダウンする。スキャン出力端子はノード４１５に結合される。したがって、機能モードにおいて（ＳＣＡＮが論理０であるとき）、スキャン出力「ＳＱ」は論理０に拘束される（これは、スキャン出力端子によって駆動されるスキャン経路における組合せ論理切り替えに起因する機能モードにおける電力低減の助けとなり得る）。スキャンイネーブル入力（ＳＣＡＮＺ）は制御信号として働き、この制御信号は、スキャン出力端子「ＳＱ」を論理１に拘束させるか否かを決定する。したがって、ＳＣＡＮが論理０であるとき、データ出力「Ｑ」はデータ入力「Ｄ」の反転に従い、スキャン出力「ＳＱ」は論理０に拘束される（すなわち、プルダウンされる）。
【００６６】
シフトモードにおいて（ＳＣＡＮが論理１である又はＳＣＡＮＺが論理０であるとき）、トランジスタ４８０はディセーブルされ、トランジスタ４６５、４７５（プルアップ）及びトランジスタ４９０（プルダウン）はインバータ構成を形成し、スキャン入力「ＳＤ」の反転がノード４６２に転送される。ＳＣＡＮが論理１であるとき、トランジスタ４２０はディセーブルされ、トランジスタ４０５及び４１０によって形成されるトランスミッションゲートはノード１４５に存在する値をノード４１５に転送するので、スキャン出力バッファ４５０はトランスミッションゲートバッファとして動作することにさらに留意されたい。シフト回路１５０は、ノード１４５において、ノード４６２の反転である論理レベルを強制するように構成される。例えば、スキャン入力「ＳＤ」が論理１である場合（ＳＣＡＮが論理１であれば）、ノード４６２は論理０であり、ノード１４５は論理１である。スキャン出力バッファ４５０は、スキャン出力「ＳＱ」に結合されるノード４１５で論理１を転送する。したがって、ＩＣがシフトモードで動作するとき、スキャン入力「ＳＤ」がスキャン出力「ＳＱ」に転送される。
【００６７】
本技術の様々な実施形態はまた、データ出力及びスキャン出力の両方のプルアップ及び／又はプルダウンを提供する。これらの実施形態を図１０〜図２１を参照してさらに説明する。例えば、機能モードにおいて、スキャン出力「ＳＱ」がプルアップ又はプルダウンされ得、シフトモードにおいて、データ出力「Ｄ」がプルアップ又はプルダウンされ得、それによって、これらのモードの間ＩＣにおける電力がより多く節減される。
【００６８】
図１０は、或る実施形態に従ったスキャンチェーン１００の第１のストレージ要素以外のストレージ要素の例を示す。ストレージ要素１０００は、ストレージ要素１０００によって受け取られるスキャン入力データ「ＳＤ」が機能モードにおいてプルアップされる場合の、ストレージ要素１００２、１００３、．．．、又は１００ｎのいずれかの例とし得る。例えば、ストレージ要素１０００は、（ストレージ要素１０００の）先行するストレージ要素によって提供されるスキャン出力「ＳＱ」（これは、ストレージ要素１０００のスキャン入力「ＳＤ」に結合される）が機能モードにおいて（ＳＣＡＮが論理０であるとき）プルアップされる場合に用いられる。例えば、ＳＣＡＮが論理０であるとき、スキャン入力「ＳＤ」は論理１である。
【００６９】
ストレージ要素１０００は、ノード５３５（スキャン出力端子）を駆動するためスキャン出力バッファ５５０に結合されるノード１４５を含む。この例示実施形態では、ノード１４５は、ノード２２５（データ出力端子）を駆動するためデータ出力バッファ２５０にも結合される。ストレージ要素１０００は、それぞれ、先行するストレージ要素のデータ出力「Ｑ」及びスキャン出力「ＳＱ」からデータ入力（「Ｄ」参照）及びスキャン入力（「ＳＤ」参照）を受け取るように構成される入力回路３６０を含む。入力回路３６０は、図４を参照して既に説明されており、簡潔にするためその説明は提供しない。入力回路３６０は、データ入力「Ｄ」及びスキャン入力「ＳＤ」の一方に対応する信号をノード３６２で提供するように構成される。例えば、シフトモードにおいて（ＳＣＡＮが論理１であるとき）、データ入力「Ｄ」の反転がノード３６２で提供され、機能モードにおいて（ＳＣＡＮＺが論理０であるとき）、スキャン入力「ＳＤ」の反転がノード３６２で提供される。
【００７０】
入力回路３６０の出力（例えばノード３６２）が、ノード３６２に対応する信号をノード１４５に転送するように構成されるシフト回路１５０に接続される。データ出力バッファ２５０の入力はノード１４５に接続され、データ出力バッファ２５０の出力はノード２２５（データ出力端子）に接続される。データ出力バッファ２５０はＰＭＯＳトランジスタ２０５及びＮＭＯＳトランジスタ２１０を含む。トランジスタ２０５のソースは電源電圧に接続され、トランジスタ２０５のドレインはノード２２５に接続される。トランジスタ２０５のゲートはノード１４５に接続される。トランジスタ２１０のソースは別のＮＭＯＳトランジスタ２１５（第８のＭＯＳトランジスタ）のドレインに接続され、トランジスタ２１０のドレインはノード２２５に接続される。トランジスタ２１０のゲートもノード１４５に接続される。トランジスタ２１５のソースは接地電圧に接続され、トランジスタ２１５のドレインはトランジスタ２１０のソースに接続される。トランジスタ２１５のゲートは反転スキャンイネーブル入力（ＳＣＡＮＺ）に接続される。トランジスタ２１５は、ＳＣＡＮが１であるとき、ＶＤＤからＶＳＳへの直接経路をディセーブルするために用いられる。別のＰＭＯＳトランジスタ２２０（第９のＭＯＳトランジスタ）が、データ出力端子ｑをプルアップするために用いられる。トランジスタ２２０のソースは電源電圧に接続され、トランジスタ２２０のドレインはノード２２５（データ出力端子ｑ）に接続される。トランジスタ２２０のゲートは反転スキャンイネーブル入力（ＳＣＡＮＺ）に接続される。ストレージ要素１０００のデータ出力（ｑ）が、ノード２２５から取り出される。スキャン出力バッファ５５０もノード１４５に接続される。機能モードにおいて、スキャン出力バッファ５５０はノード５３５をプルアップするように構成される。シフトモードにおいて、トランジスタ５１５、５２０、及び５２５がインバータ構成を形成し（また、トランジスタ５３０がディセーブルされ）、ノード１４５における値の反転がノード５３５に提供される。
【００７１】
ここで、ストレージ要素１０００の動作を説明する。入力回路３６０は、データ入力「Ｄ」及びスキャン入力「ＳＤ」の一方に対応する信号をノード３６２で転送させる。ＳＣＡＮが論理０であるとき、スキャン入力「ＳＤ」は論理１であることに留意されたい。例えば、ＳＣＡＮが論理０であるとき、ストレージ要素１０００の先行するストレージ要素（ストレージ要素２００など）のスキャン出力「ＳＱ」がプルアップされ、このプルアップされた論理１はストレージ要素１０００のスキャン入力「ＳＤ」に供給される。ＳＣＡＮが論理１であるとき、テストデータ、及び先行するストレージ要素から受け取る値に応じて、スキャン入力「ＳＤ」は論理０又は論理１のいずれかを取り得る。図４を参照して説明したように、ＳＣＡＮが論理０であるとき、データ入力「Ｄ」の反転がノード３６２で転送され、ＳＣＡＮが論理１であるとき、スキャン入力「ＳＤ」の反転がノード３６２で転送される。
【００７２】
機能モードにおいて（ＳＣＡＮが論理０である又はＳＣＡＮＺが論理１であるとき）、スキャン入力「ＳＤ」は論理１であり、そのため、トランジスタ３７５及び３８０がディセーブルされ、トランジスタ３７０及び３８５がイネーブルされる。したがって、トランジスタ３６５、３７０、３９０、及び３８５はインバータ構成を形成し、「Ｄ」の反転論理レベルがノード３６２に転送される。「Ｄ」が論理１に設定されると仮定すると、「Ｄ」の反転、例えば論理０、がノード３６２で利用可能となる。シフト回路１５０は、ノード１４５において、ノード３６２における値の反転である論理レベルを強制するように構成される。例えば、シフト回路１５０のインバータ１１０の出力は論理１である。ＣＬＫがローであるとき、トランスミッションゲート１１５が透過になり、トランスミッションゲートの入力における論理１がノード１９５に転送されて、インバータ１３０の出力（ノード１９７）を論理０にする。ＣＬＫがハイになるとき、トランスミッションゲート１２５が透過になり、それによってノード１９７における値（論理０）がインバータ１２０に転送される。インバータ１２０はノード１９５を論理１にする。別のトランスミッションゲート１３５が、ＣＬＫがハイになるときイネーブルされ、そのためノード１９７における値（論理０）をインバータ１４０に転送する。インバータ１４０はノード１４５を論理１にする。インバータ１８５、トランスミッションゲート１９０、及びインバータ１４６は、ＣＬＫが論理０であるときループバック経路を構成し、ノード１４５における値を保持することを助ける。データ出力バッファ２５０は、ノード１４５における値を反転させ、ノード２２５を論理０にする。ＳＣＡＮが論理０であるため、トランジスタ２２０はディセーブルされ、トランジスタ２０５、２１０、及び２１５はインバータ構成を形成し、それによって、ノード１４５の反転値（例えば論理０）がノード２２５で転送される。データ出力「Ｑ」がノード２２５（これはデータ出力端子である）からデータ入力「Ｄ」の反転として取り出される。ＳＣＡＮが論理０であるため、トランジスタ５２５はディセーブルされ、それによってノード５３５へのデータ伝播が停止する。同時に、トランジスタ５３０がイネーブルされ、これにより、ノード５３５が論理１にプルアップされる。スキャン出力端子はノード５３５に結合される。したがって、機能モードにおいて（ＳＣＡＮが論理０であるとき）、スキャン出力「ＳＱ」は論理１に拘束される（これは、スキャン出力端子によって駆動されるスキャン経路における組合せ論理切り替えに起因する機能モードにおける電力低減の助けとなり得る）。スキャンイネーブル入力（ＳＣＡＮＺ）は制御信号として働き、この制御信号は、スキャン出力端子「ＳＱ」を論理１に拘束させるか否かを決定する。したがって、ＳＣＡＮが論理０であるとき、データ出力「Ｑ」はデータ入力「Ｄ」の反転に従い、スキャン出力「ＳＱ」は論理１に拘束される。
【００７３】
シフトモードにおいて（ＳＣＡＮが論理１である又はＳＣＡＮＺが論理０であるとき）、トランジスタ３７０がディセーブルされ、トランジスタ３７５（プルアップ）並びにトランジスタ３８０及び３８５（プルダウン）はインバータ構成を形成し、スキャン入力「ＳＤ」の反転がノード３６２に転送される。ＳＣＡＮが論理１であるとき、トランジスタ５３０はディセーブルされ、トランジスタ５１５、５２０、及び５２５はインバータ構成を形成するので、スキャン出力バッファ５５０はインバータとして動作することにさらに留意されたい。シフト回路１５０は、ノード１４５において、ノード３６２の反転である論理レベルを強制するように構成される。例えば、スキャン入力「ＳＤ」が論理１である場合（ＳＣＡＮが論理１であれば）、ノード３６２は論理０であり、ノード１４５は論理１である。スキャン出力バッファ５５０は、スキャン出力「ＳＱ」に結合されるノード５３５で論理０を転送する。したがって、デバイスがシフトモードで動作するとき、反転スキャン入力「ＳＤ」がスキャン出力「ＳＱ」に転送される。ＳＣＡＮが論理１であるため、トランジスタ２１５がディセーブルされて、トランジスタ２０５及び２１０によって構成されるインバータをディセーブルさせる。トランジスタ２２０は、論理０であるＳＣＡＮＺに応答して、イネーブルされ、ノード２２５（データ出力端子ｑ）をプルアップする。トランジスタ２１５は、データ出力端子（ノード２２５）がプルアップされるとき（トランジスタ２０５及び２１０によって形成される）インバータを通る漏れ電流を保護するように構成されることに留意されたい。
【００７４】
シフトモードにおいて、データ出力「Ｑ」は論理１に拘束される（これは、データ出力端子によって駆動される組合せ論理切り替えに起因するシフトモードにおける電力低減の助けとなり得る）。スキャンイネーブル入力（ＳＣＡＮ）は制御信号として働き、この制御信号は、データ出力端子「Ｑ」を論理１に拘束させるか否かを決定する。ＳＣＡＮが０であるとき、データ出力「Ｑ」はデータ入力「Ｄ」の反転に従い、スキャン出力「ＳＱ」は論理１に拘束される。ＳＣＡＮが論理１であるとき、データ出力ｑは論理１に拘束され、スキャン出力「ＳＱ」はスキャン入力（ｓｄ）の反転に従う。この実施形態に従って、Ｑゲーティングに起因して機能組合せ論理すべてはトグルしないので、多くのＡＴＰＧシフトサイクルにわたる平均電力が下がる。各論理ブロックに対しフロップの種類（プルアップ又はプルダウン）を正しく選択することによって第１のシフトサイクルにわたる瞬間ピーク電力が最適化され得る。この技術は、既存のスキャンフロップのサブセットのみをこの新たな設計に変換するように設計者が決定する場合に極めて有用である。ピーク／平均電力が「プルアップ」又は「プルダウン」Ｑゲーティングの選択によって決まるからである。
【００７５】
図１１は、或る実施形態に従ったスキャンチェーン１００の第１のストレージ要素以外のストレージ要素の例を示す。ストレージ要素１１００は、ストレージ要素１１００によって受け取られるスキャン入力データ「ＳＤ」が機能モードにおいてプルアップされる場合の、ストレージ要素１００２、１００３、．．．、又は１００ｎのいずれかの例とし得る。例えば、ストレージ要素１１００は、（ストレージ要素１１００の）先行するストレージ要素によって提供されるスキャン出力「ＳＱ」（これは、ストレージ要素１１００のスキャン入力「ＳＤ」に結合される）が機能モードにおいて（ＳＣＡＮが論理０であるとき）プルアップされる場合に用いられる。例えば、ＳＣＡＮが論理０であるとき、スキャン入力「ＳＤ」は論理１である。
【００７６】
ストレージ要素１１００は、ノード５３５（スキャン出力端子）を駆動するためスキャン出力バッファ５５０に結合されるノード１４５を含む。この例示実施形態では、ノード１４５は、ノード６２５（データ出力端子）を駆動するためデータ出力バッファ６５０にも結合される。ストレージ要素１１００は、それぞれ、先行するストレージ要素のデータ出力「Ｑ」及びスキャン出力「ＳＱ」からデータ入力（「Ｄ」参照）及びスキャン入力（「ＳＤ」参照）を受け取るように構成される入力回路３６０を含む。入力回路３６０は、データ入力「Ｄ」及びスキャン入力「ＳＤ」の一方に対応する信号をノード３６２で提供するように構成される。例えば、シフトモードにおいて（ＳＣＡＮＺが論理１であるとき）、データ入力「Ｄ」の反転がノード３６２で提供され、機能モードにおいて（ＳＣＡＮＺが論理０であるとき）、スキャン入力「ＳＤ」の反転がノード３６２で提供される。
【００７７】
入力回路３６０の出力（例えばノード３６２）が、ノード３６２に対応する信号をノード１４５に転送するように構成されるシフト回路１５０に接続される。データ出力バッファ６５０の入力はノード１４５に接続され、データ出力バッファ６５０の出力は、ノード６２５（データ出力端子）に接続される。データ出力バッファ６５０はまた、ＰＭＯＳトランジスタ６１０及びＮＭＯＳトランジスタ６１５を含む。トランジスタ６１０のソースは別のＰＭＯＳトランジスタ６０５（第１６のＭＯＳトランジスタ）のドレインに接続され、トランジスタ６１０のドレインはノード６２５に接続される。トランジスタ６１０のゲートはノード１４５に接続される。トランジスタ６２０のソースは接地電圧に接続され、トランジスタ６２０のドレインはノード６２５に接続される。トランジスタ６１５のゲートもノード１４５に接続される。トランジスタ６０５のソースは電源電圧に接続され、トランジスタ６０５のドレインはトランジスタ６１０のソースに接続される。トランジスタ６０５のゲートはスキャンイネーブル入力（ＳＣＡＮ）に接続される。トランジスタ６０５は、ＳＣＡＮが１であるとき、ＶＤＤとＶＳＳの間の直接経路をディセーブルするために用いられる。別のＮＭＯＳトランジスタ６２０（第１６のＭＯＳトランジスタ）が、ノード６２５（データ出力端子）をプルダウンするために用いられる。トランジスタ６２０のソースは接地電圧に接続され、トランジスタ６２０のドレインはノード６２５に接続される。トランジスタ６２０のゲートはＳＣＡＮに接続される。スキャン可能なストレージ要素１１００のデータ出力（ｑ）がノード６２５から取り出される。スキャン出力バッファ５５０もノード１４５に接続される。機能モードにおいて、スキャン出力バッファ５５０はノード５５０をプルアップするように構成される。シフトモードにおいて、トランジスタ５１５、５２０、及び５２５がインバータ構成を形成し（また、トランジスタ５３０がディセーブルされ）、ノード１４５の値の反転がノード５３５に提供される。
【００７８】
ここで、ストレージ要素１１００の動作を説明する。入力回路３６０は、データ入力「Ｄ」及びスキャン入力「ＳＤ」の一方に対応する信号をノード３６２で転送させる。ＳＣＡＮが論理０であるとき、スキャン入力「ＳＤ」は論理１であることに留意されたい。例えば、ＳＣＡＮが論理０であるとき、ストレージ要素１１００の先行するストレージ要素（ストレージ要素２００など）のスキャン出力「ＳＱ」がプルアップされ、このプルアップされた論理１はストレージ要素１１００のスキャン入力「ＳＤ」に供給される。ＳＣＡＮが論理１であるとき、テストデータ、及び先行するストレージ要素から受け取る値に応じて、スキャン入力「ＳＤ」は論理０又は論理１のいずれかを取り得る。図４を参照して説明したように、ＳＣＡＮが論理０であるとき、データ入力「Ｄ」の反転がノード３６２で転送され、ＳＣＡＮが論理１であるとき、スキャン入力「ＳＤ」の反転がノード３６２で転送される。
【００７９】
機能モードにおいて（ＳＣＡＮが論理０である又はＳＣＡＮＺが論理１であるとき）、スキャン入力「ＳＤ」は論理１であり、そのため、トランジスタ３７５及び３８０がディセーブルされ、トランジスタ３７０及び３８５がイネーブルされる。したがって、トランジスタ３６５、３７０、３９０、及び３８５はインバータ構成を形成し、「Ｄ」の反転論理レベルがノード３６２に転送される。「Ｄ」が論理１に設定されると仮定すると、「Ｄ」の反転、例えば論理０、がノード３６２で利用可能となる。シフト回路１５０は、ノード１４５において、ノード３６２における値の反転である論理レベルを強制するように構成される。例えば、シフト回路１５０のインバータ１１０の出力は論理１である。ＣＬＫがローであるとき、トランスミッションゲート１１５が透過になり、トランスミッションゲートの入力における論理１がノード１９５に転送されて、インバータ１３０の出力（ノード１９７）を論理０にする。ＣＬＫがハイになるとき、トランスミッションゲート１２５が透過になり、それによってノード１９７における値（論理０）がインバータ１２０に転送される。インバータ１２０はノード１９５を論理１にする。別のトランスミッションゲート１３５が、ＣＬＫがハイになるときイネーブルされ、そのためノード１９７における値（論理０）をインバータ１４０に転送する。インバータ１４０はノード１４５を論理１にする。インバータ１８５、トランスミッションゲート１９０、及びインバータ１４６は、ＣＬＫが論理０であるときループバック経路を構成し、ノード１４５における値を保持することを助ける。データ出力バッファ６５０は、ノード１４５における値を反転させ、ノード６２５を論理０にする。ＳＣＡＮが論理０であるため、トランジスタ６２０はディセーブルされ、トランジスタ６０５、６１０、及び６１５はインバータ構成を形成し、それによってノード１４５の反転値（例えば論理０）がノード６２５で転送される。データ出力「Ｑ」がノード６２５（これはデータ出力端子である）からデータ入力「Ｄ」の反転として取り出される。ＳＣＡＮが論理０であるため、トランジスタ５２５はディセーブルされ、それによってノード５３５へのデータ伝播が停止する。同時に、トランジスタ５３０がイネーブルされ、それによってノード５３５が論理１にプルアップされる。スキャン出力端子はノード５３５に結合される。したがって、機能モードにおいて（ＳＣＡＮが論理０であるとき）、スキャン出力「ＳＱ」は論理１に拘束される（これは、スキャン出力端子によって駆動されるスキャン経路における組合せ論理切り替えに起因する機能モードにおける電力低減の助けとなり得る）。スキャンイネーブル入力（ＳＣＡＮ）は制御信号として働き、この制御信号は、スキャン出力端子「ＳＱ」を論理１に拘束させるか否かを決定する。したがって、ＳＣＡＮが論理０であるとき、データ出力「Ｑ」はデータ入力「Ｄ」の反転に従い、スキャン出力「ＳＱ」は論理１に拘束される。
【００８０】
シフトモードにおいて（ＳＣＡＮが論理１である又はＳＣＡＮＺが論理０であるとき）、トランジスタ３７０はディセーブルされ、トランジスタ３７５（プルアップ）並びにトランジスタ３８０及び３８５（プルダウン）はインバータ構成を形成し、スキャン入力「ＳＤ」の反転がノード３６２に転送される。ＳＣＡＮが論理１であるとき、トランジスタ５３０がディセーブルされ、トランジスタ５１５、５２０、及び５２５がインバータ構成を形成するので、スキャン出力バッファ５５０はインバータとして動作することにさらに留意されたい。シフト回路１５０は、ノード１４５において、ノード３６２の反転である論理レベルを強制するように構成される。例えば、スキャン入力「ＳＤ」が論理１である場合（ＳＣＡＮが論理１であれば）、ノード３６２は論理０であり、ノード１４５は論理１である。スキャン出力バッファ５５０は、スキャン出力「ＳＱ」に結合されるノード５３５で論理０を転送する。したがって、デバイスがシフトモードで動作するとき、反転スキャン入力「ＳＤ」がスキャン出力「ＳＱ」に転送される。ＳＣＡＮが論理１であるため、トランジスタ６０５はディセーブルされ、それにより、トランジスタ６０５及び６１０によって構成されるインバータがディセーブルされる。トランジスタ６２０は、ＳＣＡＮに応答して、イネーブルされ、ノード６２５（データ出力端子ｑ）をプルダウンする。トランジスタ６０５は、データ出力端子６２５がプルダウンされるとき（トランジスタ６１０及び６１５によって形成される）インバータを通る漏れ電流を保護するように構成されることに留意されたい。
【００８１】
シフトモードにおいて、データ出力「Ｑ」が論理０に拘束される（これは、データ出力端子によって駆動される組合せ論理切り替えに起因するシフトモードにおける電力低減の助けとなり得る）。スキャンイネーブル入力（ＳＣＡＮ）は制御信号として働き、この制御信号は、データ出力端子「Ｑ」を論理１に拘束させるか否かを決定する。ＳＣＡＮが０であるとき、データ出力「Ｑ」はデータ入力「Ｄ」の反転に従い、スキャン出力「ＳＱ」は論理１に拘束される。ＳＣＡＮが論理１であるとき、データ出力ｑは論理０に拘束され、スキャン出力「ＳＱ」はスキャン入力（ｓｄ）の反転に従う。この実施形態に従って、Ｑゲーティングに起因して機能組合せ論理がすべてはトグルされないので、多くのＡＴＰＧシフトサイクルにわたる平均電力が下がる。各論理ブロックに対しフロップの種類（プルアップ又はプルダウン）を正しく選択することによって第１のシフトサイクルにわたる瞬間ピーク電力が最適化され得る。この技術は、既存のスキャンフロップのサブセットのみをこの新たな設計に変換するように設計者が決定する場合に極めて有用である。ピーク／平均電力が「プルアップ」又は「プルダウン」Ｑゲーティングの選択によって決まるからである。
【００８２】
図１２は、或る実施形態に従ったスキャンチェーン１００の第１のストレージ要素以外のストレージ要素の例を示す。ストレージ要素１２００は、ストレージ要素１２００によって受け取られるスキャン入力データ「ＳＤ」が機能モードにおいてプルダウンされる場合の、ストレージ要素１００２、１００３、．．．、又は１００ｎのいずれかの例とし得る。例えば、ストレージ要素１２００は、（ストレージ要素１２００の）先行するストレージ要素によって提供されるスキャン出力「ＳＱ」（これは、ストレージ要素１２００のスキャン入力「ＳＤ」に結合される）が機能モードにおいて（ＳＣＡＮが論理０であるとき）プルダウンされる場合に用いられる。例えば、ＳＣＡＮが論理０であるとき、スキャン入力「ＳＤ」は論理１である。
【００８３】
ストレージ要素１２００は、ノード５３５（スキャン出力端子）を駆動するためスキャン出力バッファ５５０に結合されるノード１４５を含む。この例示実施形態では、ノード１４５は、ノード２２５（データ出力端子）を駆動するためデータ出力バッファ２５０にも結合される。ストレージ要素１２００は、それぞれ、先行するストレージ要素のデータ出力「Ｑ」及びスキャン出力「ＳＱ」からデータ入力（「Ｄ」参照）並びにスキャン入力（「ＳＤ」参照）を受け取るように構成される入力回路４６０を含む。入力回路４６０は、データ入力「Ｄ」及びスキャン入力「ＳＤ」の一方に対応する信号をノード４６２で提供するように構成される。例えば、シフトモードにおいて（ＳＣＡＮＺが論理１であるとき）、データ入力「Ｄ」の反転がノード４６２で提供され、機能モードにおいて（ＳＣＡＮＺが論理０であるとき）、スキャン入力「ＳＤ」の反転がノード４６２で提供される。
【００８４】
入力回路４６０の出力（例えばノード４６２）が、ノード４６２に対応する信号をノード１４５に転送するように構成されるシフト回路１５０に接続される。データ出力バッファ２５０の入力はノード１４５に接続され、データ出力バッファ２５０の出力はノード２２５（データ出力端子）に接続される。ストレージ要素１２００のデータ出力（ｑ）はノード２２５から取り出される。スキャン出力バッファ５５０もノード１４５に接続される。機能モードにおいて、スキャン出力バッファ５５０はノード５３５をプルアップするように構成される。シフトモードにおいて、トランジスタ５１５、５２０、及び５２５がインバータ構成を形成し（また、トランジスタ５３０がディセーブルされ）、そのため、ノード１４５の値の反転がノード５３５に提供される。
【００８５】
ここで、ストレージ要素１２００の動作を説明する。入力回路４６０は、データ入力「Ｄ」及びスキャン入力「ＳＤ」の一方に対応する信号をノード４６２で転送させる。この実施形態では、ＳＣＡＮが論理０であるとき、スキャン入力「ＳＤ」は論理０であることに留意されたい。例えば、ＳＣＡＮが論理０であるとき、ストレージ要素１２００の先行するストレージ要素（ストレージ要素３００など）のスキャン出力「ＳＱ」がプルダウンされ、このプルダウンされた論理０はストレージ要素１２００のスキャン入力「ＳＤ」に供給される。ＳＣＡＮが論理１であるとき、テストデータ、及び先行するストレージ要素から受け取る値に応じて、スキャン入力「ＳＤ」は論理０又は論理１のいずれかを取り得る。図１２に示すように、ＳＣＡＮが論理０であるとき、データ入力「Ｄ」の反転がノード４６２で転送され、ＳＣＡＮが論理１であるとき、スキャン入力「ＳＤ」の反転がノード４６２で転送される。
【００８６】
機能モードにおいて（ＳＣＡＮが論理０である又はＳＣＡＮＺが論理１であるとき）、スキャン入力「ＳＤ」は論理０であり、そのため、トランジスタ４７５及び４９０がディセーブルされ、トランジスタ４６５及び４８０がイネーブルされる。したがって、トランジスタ４６５、４７０、４８０、及び４８５はインバータ構成を形成し、「Ｄ」の反転論理レベルがノード４６２に転送される。「Ｄ」が論理１に設定されると仮定すると、「Ｄ」の反転、例えば論理０、がノード４６２で利用可能となる。シフト回路１５０は、ノード１４５において、ノード４６２における値の反転である論理レベルを強制するように構成される。例えば、シフト回路１５０のインバータ１２０の出力で論理１が転送される。ＣＬＫがローであるとき、トランスミッションゲート１２５が透過になり、トランスミッションゲートの入力における論理１がノード１９５に転送され、インバータ１３０の出力（ノード１９７）を論理０にする。ＣＬＫがハイになるとき、トランスミッションゲート１２５は透過になり、それによってノード１９７における値（論理０）がインバータ１２０に転送される。インバータ１２０はノード１９５を論理１にする。別のトランスミッションゲート１３５が、ＣＬＫがハイになるときイネーブルされ、そのためノード１９７における値（論理０）をインバータ１４０に転送する。インバータ１４０はノード１４５を論理１にする。インバータ１８５、トランスミッションゲート１９０、及びインバータ１４６は、ＣＬＫが論理０であるときループバック経路を構成し、ノード１４５における値を保持することを助ける。データ出力バッファ２５０は、ノード１４５における値を反転させ、ノード２２５を論理０にする。ＳＣＡＮが論理０であるため、トランジスタ２２０はディセーブルされ、トランジスタ２０５、２１０、及び２１５はインバータ構成を形成し、それによりノード１４５の反転値（例えば論理０）がノード２２５に転送される。データ出力「Ｑ」がノード２２５（これはデータ出力端子である）からデータ入力「Ｄ」の反転として取り出される。ＳＣＡＮが論理０であるため、トランジスタ５２５はディセーブルされ、それによってノード５３５へのデータ伝播が停止する。同時に、トランジスタ５３０がイネーブルされ、それによってノード５３５が論理１にプルアップされる。スキャン出力端子はノード５３５に結合される。したがって、機能モードにおいて（ＳＣＡＮが論理０であるとき）、スキャン出力「ＳＱ」は論理１に拘束される（これは、スキャン出力端子によって駆動されるスキャン経路における組合せ論理切り替えに起因する機能モードにおける電力低減の助けとなり得る）。スキャンイネーブル入力（ＳＣＡＮ）は制御信号として働き、この制御信号は、スキャン出力端子「ＳＱ」を論理１に拘束させるか否かを決定する。したがって、ＳＣＡＮが論理０であるとき、データ出力「Ｑ」はデータ入力「Ｄ」の反転に従い、スキャン出力「ＳＱ」は論理１に拘束される。
【００８７】
シフトモードにおいて（ＳＣＡＮが論理１である又はＳＣＡＮＺが論理０であるとき）、トランジスタ４８０はディセーブルされ、トランジスタ４６５、４７５（プルアップ）及びトランジスタ４９０（プルダウン）はインバータ構成を形成し、スキャン入力「ＳＤ」の反転がノード４６２に転送される。ＳＣＡＮが論理１であるとき、トランジスタ５３０がディセーブルされ、トランジスタ５１５、５２０、及び５２５がインバータ構成を形成するので、スキャン出力バッファ５５０はインバータとして動作することにさらに留意されたい。シフト回路１５０は、ノード１４５において、ノード４６２の反転である論理レベルを強制するように構成される。例えば、スキャン入力「ＳＤ」が論理１である場合（ＳＣＡＮが論理１であれば）、ノード４６２は論理０であり、ノード１４５は論理１である。スキャン出力バッファ５５０は、スキャン出力「ＳＱ」に結合されるノード５３５において論理０を転送する。したがって、デバイスがシフトモードで動作するとき、反転スキャン入力「ＳＤ」がスキャン出力「ＳＱ」に転送される。ＳＣＡＮが論理１であるため、トランジスタ２１５はディセーブルされ、これにより、トランジスタ２０５及び２１０によって構成されるインバータがディセーブルされる。トランジスタ２２０は、論理０であるＳＣＡＮＺに応答して、イネーブルされ、ノード２２５（データ出力端子ｑ）をプルアップする。トランジスタ２１５は、データ出力端子（ノード２２５）がプルアップされるとき（トランジスタ２００及び２１０によって形成される）インバータを通る漏れ電流を保護するように構成されることに留意されたい。
【００８８】
シフトモードにおいて、データ出力「Ｑ」は論理１に拘束される（これは、データ出力端子によって駆動される組合せ論理切り替えに起因するシフトモードにおける電力低減の助けとなり得る）。スキャンイネーブル入力（ＳＣＡＮ）は制御信号として働き、この制御信号は、データ出力端子「Ｑ」を論理１に拘束させるか否かを決定する。ＳＣＡＮが０であるとき、データ出力「Ｑ」はデータ入力「Ｄ」の反転に従い、スキャン出力「ＳＱ」は論理１に拘束される。ＳＣＡＮが論理１であるとき、データ出力ｑは論理１に拘束され、スキャン出力「ＳＱ」はスキャン入力（ｓｄ）の反転に従う。この実施形態に従って、Ｑゲーティングに起因して機能組合せ論理がすべてはトグルされないので、多くのＡＴＰＧシフトサイクルにわたる平均電力が下がる。各論理ブロックに対しフロップの種類（プルアップ又はプルダウン）を正しく選択することによって第１のシフトサイクルにわたる瞬間ピーク電力が最適化され得る。この技術は、既存のスキャンフロップのサブセットのみをこの新たな設計に変換するように設計者が決定する場合に極めて有用である。ピーク／平均電力が「プルアップ」又は「プルダウン」Ｑゲーティングの選択によって決まるからである。
【００８９】
図１３は、或る実施形態に従ったスキャンチェーン１００の第１のストレージ要素以外のストレージ要素の例を示す。ストレージ要素１３００は、ストレージ要素１３００によって受け取られるスキャン入力データ「ＳＤ」が機能モードにおいてプルダウンされる場合の、ストレージ要素１００２、１００３、．．．、又は１００ｎのいずれかの例とし得る。例えば、ストレージ要素１３００は、（ストレージ要素１３００の）先行するストレージ要素によって提供されるスキャン出力「ＳＱ」（これは、ストレージ要素１３００のスキャン入力「ＳＤ」に結合される）が機能モードにおいて（ＳＣＡＮが論理０であるとき）プルダウンされる場合に用いられる。例えば、ＳＣＡＮが論理０であるとき、スキャン入力「ＳＤ」は論理１である。
【００９０】
ストレージ要素１３００は、ノード５３５（スキャン出力端子）を駆動するためスキャン出力バッファ５５０に結合されるノード１４５を含む。この例示実施形態では、ノード１４５は、ノード６２５（データ出力端子）を駆動するためデータ出力バッファ６５０にも結合される。ストレージ要素１３００は、それぞれ、先行するストレージ要素のデータ出力「Ｑ」及びスキャン出力「ＳＱ」からデータ入力（「Ｄ」参照）及びスキャン入力（「ＳＤ」参照）を受け取るように構成される入力回路４６０を含む。入力回路４６０は、データ入力「Ｄ」及びスキャン入力「ＳＤ」の一方に対応する信号をノード４６２で提供するように構成される。例えば、シフトモードにおいて（ＳＣＡＮＺが論理１であるとき）、データ入力「Ｄ」の反転がノード４６２で提供され、機能モードにおいて（ＳＣＡＮＺが論理０であるとき）、スキャン入力「ＳＤ」の反転がノード４６２で提供される。
【００９１】
入力回路４６０の出力（例えばノード４６２）が、ノード４６２に対応する信号をノード１４５に転送するように構成されるシフト回路１５０に接続される。データ出力バッファ６５０の入力はノード１４５に接続され、データ出力バッファ６５０の出力はノード６２５（データ出力端子）に接続される。ストレージ要素１３００のデータ出力（ｑ）はノード６２５から取り出される。スキャン出力バッファ５５０もノード１４５に接続される。機能モードにおいて、スキャン出力バッファ５５０はノード５３５をプルアップするように構成される。シフトモードにおいて、トランジスタ５１５、５２０、及び５２５がインバータ構成を形成し（また、トランジスタ５３０がディセーブルされ）、そのため、ノード１４５の値の反転がノード５３５に提供される。
【００９２】
ここで、ストレージ要素１３００の動作を説明する。入力回路４６０は、データ入力「Ｄ」及びスキャン入力「ＳＤ」の一方に対応する信号をノード４６２で転送させる。この実施形態では、ＳＣＡＮが論理０であるとき、スキャン入力「ＳＤ」は論理０であることに留意されたい。例えば、ＳＣＡＮが論理０であるとき、ストレージ要素１３００の先行するストレージ要素（ストレージ要素３００など）のスキャン出力「ＳＱ」がプルダウンされ、このプルダウンされた論理０はストレージ要素１３００のスキャン入力「ＳＤ」に供給される。ＳＣＡＮが論理１であるとき、テストデータ、及び先行するストレージ要素から受け取る値に応じて、スキャン入力「ＳＤ」は論理０又は論理１のいずれかを取り得る。図１３に示すように、ＳＣＡＮが論理０であるとき、データ入力「Ｄ」の反転がノード４６２で転送され、ＳＣＡＮが論理１であるとき、スキャン入力「ＳＤ」の反転がノード４６２で転送される。
【００９３】
機能モードにおいて（ＳＣＡＮが論理０である又はＳＣＡＮＺが論理１であるとき）、スキャン入力「ＳＤ」は論理０であり、そのため、トランジスタ４７５及び４９０がディセーブルされ、トランジスタ４６５及び４８０がイネーブルされる。したがって、トランジスタ４６５、４７０、４８０、及び４８５はインバータ構成を形成し、「Ｄ」の反転論理レベルがノード４６２に転送される。「Ｄ」が論理１に設定されると仮定すると、「Ｄ」の反転、例えば論理０、がノード４６２で利用可能となる。シフト回路１５０は、ノード１４５において、ノード４６２における値の反転である論理レベルを強制するように構成される。例えば、シフト回路１５０のインバータ１３０の出力で論理１が転送される。ＣＬＫがローであるとき、トランスミッションゲート１３５が透過になり、トランスミッションゲートの入力における論理１がノード１９５に転送されて、インバータ１３０の出力（ノード１９７）を論理０にする。ＣＬＫがハイになるとき、トランスミッションゲート１３５は透過になり、それによってノード１９７における値（論理０）がインバータ１３０に転送される。インバータ１３０は、ノード１９５を論理１にする。別のトランスミッションゲート１３５が、ＣＬＫがハイになるときイネーブルされ、そのためノード１９７における値（論理０）をインバータ１４０に転送する。インバータ１４０はノード１４５を論理１にする。インバータ１８５、トランスミッションゲート１９０、及びインバータ１４６は、ＣＬＫが論理０であるときループバック経路を構成し、ノード１４５における値を保持することを助ける。データ出力バッファ６５０は、ノード１４５における値を反転させ、ノード６２５を論理０にする。ＳＣＡＮが論理０であるため、トランジスタ６２０がディセーブルされ、トランジスタ６０５、６１０、及び６１５がインバータ構成を形成し、それにより、ノード１４５の反転値（例えば論理０）がノード６２５で転送される。データ出力「Ｑ」がノード６２５（これはデータ出力端子である）からデータ入力「Ｄ」の反転として取り出される。ＳＣＡＮが論理０であるため、トランジスタ５２５はディセーブルされ、それによってノード５３５へのデータ伝播が停止する。同時に、トランジスタ５３０はイネーブルされ、それによってノード５３５は論理１にプルアップされる。スキャン出力端子はノード５３５に結合される。したがって、機能モードにおいて（ＳＣＡＮが論理０であるとき）、スキャン出力「ＳＱ」は論理１に拘束される（これは、スキャン出力端子によって駆動されるスキャン経路における組合せ論理切り替えに起因する機能モードにおける電力低減の助けとなり得る）。スキャンイネーブル入力（ＳＣＡＮ）は制御信号として働き、この制御信号は、スキャン出力端子「ＳＱ」を論理１に拘束させるか否かを決定する。したがって、ＳＣＡＮが論理０であるとき、データ出力「Ｑ」はデータ入力「Ｄ」の反転に従い、スキャン出力「ＳＱ」は論理１に拘束される。
【００９４】
シフトモードにおいて（ＳＣＡＮが論理１である又はＳＣＡＮＺが論理０であるとき）、トランジスタ４８０はディセーブルされ、トランジスタ４６５、４７５（プルアップ）及びトランジスタ４９０（プルダウン）はインバータ構成を形成し、スキャン入力「ＳＤ」の反転がノード４６２に転送される。ＳＣＡＮが論理１であるとき、トランジスタ５３０がディセーブルされ、トランジスタ５１５、５２０、及び５２５がインバータ構成を形成するので、スキャン出力バッファ５５０はインバータとして動作することにさらに留意されたい。シフト回路１５０は、ノード１４５において、ノード４６２の反転である論理レベルを強制するように構成される。例えば、スキャン入力「ＳＤ」が論理１である場合（ＳＣＡＮが論理１であれば）、ノード４６２は論理０であり、ノード１４５は論理１である。スキャン出力バッファ５５０は、スキャン出力「ＳＱ」に結合されるノード５３５において論理０を転送する。したがって、デバイスがシフトモードで動作するとき、反転スキャン入力「ＳＤ」がスキャン出力「ＳＱ」に転送される。ＳＣＡＮが論理１であるため、トランジスタ６０５はディセーブルされ、これにより、トランジスタ６０５及び６１０によって構成されるインバータがディセーブルされる。トランジスタ６２０は、ＳＣＡＮに応答して、イネーブルされ、ノード６２５（データ出力端子ｑ）をプルダウンする。トランジスタ６０５は、データ出力端子がプルダウンされるとき（トランジスタ６１０及び６１５によって形成される）インバータを通る漏れ電流を保護するように構成されることに留意されたい。
【００９５】
シフトモードにおいて、データ出力「Ｑ」は論理０に拘束される（これは、データ出力端子によって駆動される組合せ論理切り替えに起因するシフトモードにおける電力低減の助けとなり得る）。スキャンイネーブル入力（ＳＣＡＮ）は制御信号として働き、この制御信号は、データ出力端子「Ｑ」を論理１に拘束させるか否かを決定する。ＳＣＡＮが０であるとき、データ出力「Ｑ」はデータ入力「Ｄ」の反転に従い、スキャン出力「ＳＱ」は論理１に拘束される。ＳＣＡＮが論理１であるとき、データ出力ｑは論理０に拘束され、スキャン出力「ＳＱ」はスキャン入力（ｓｄ）の反転に従う。この実施形態に従って、Ｑゲーティングに起因して機能組合せ論理がすべてはトグルされないので、多くのＡＴＰＧシフトサイクルにわたる平均電力が下がる。各論理ブロックに対しフロップの種類（プルアップ又はプルダウン）を正しく選択することによって第１のシフトサイクルにわたる瞬間ピーク電力が最適化され得る。この技術は、既存のスキャンフロップのサブセットのみをこの新たな設計に変換するように設計者が決定する場合に極めて有用である。ピーク／平均電力が「プルアップ」又は「プルダウン」Ｑゲーティングの選択によって決まるからである。
【００９６】
図１４は、或る実施形態に従ったスキャンチェーン１００の第１のストレージ要素以外のストレージ要素の例を示す。ストレージ要素１４００は、ストレージ要素１４００によって受け取られるスキャン入力データ「ＳＤ」が機能モードにおいてプルアップされる場合の、ストレージ要素１００２、１００３、．．．、又は１００ｎのいずれかの例とし得る。例えば、ストレージ要素１４００は、（ストレージ要素１４００の）先行するストレージ要素によって提供されるスキャン出力「ＳＱ」（これは、ストレージ要素１４００のスキャン入力「ＳＤ」に結合される）が機能モードにおいて（ＳＣＡＮが論理０であるとき）プルアップされる場合に用いられる。例えば、ＳＣＡＮが論理０であるとき、スキャン入力「ＳＤ」は論理１である。
【００９７】
ストレージ要素１４００は、ノード７２５（スキャン出力端子）を駆動するためスキャン出力バッファ７５０に結合されるノード１４５を含む。この例示実施形態では、ノード１４５は、ノード２２５（データ出力端子）を駆動するためデータ出力バッファ２５０にも結合される。ストレージ要素１４００は、それぞれ、先行するストレージ要素のデータ出力「Ｑ」及びスキャン出力「ＳＱ」からデータ入力（「Ｄ」参照）及びスキャン入力（「ＳＤ」参照）を受け取るように構成される入力回路３６０を含む。入力回路３６０は、データ入力「Ｄ」及びスキャン入力「ＳＤ」の一方に対応する信号をノード３６２で提供するように構成される。例えば、シフトモードにおいて（ＳＣＡＮが論理１であるとき）、データ入力「Ｄ」の反転がノード３６２で提供され、機能モードにおいて（ＳＣＡＮＺが論理０であるとき）、スキャン入力「ＳＤ」の反転がノード３６２で提供される。
【００９８】
入力回路３６０の出力（例えばノード３６２）が、ノード３６２に対応する信号をノード１４５に転送するように構成されるシフト回路１５０に接続される。データ出力バッファ２５０の入力はノード１４５に接続され、データ出力バッファ２５０の出力はノード２２５（データ出力端子）に接続される。ストレージ要素１４００のデータ出力（ｑ）はノード２２５から取り出される。スキャン出力バッファ７５０もノード１４５に接続される。機能モードにおいて、スキャン出力バッファ７５０はノード７２５をプルアップするように構成される。シフトモードにおいて、トランジスタ７０５、７１０、及び７１５がインバータ構成を形成し（また、トランジスタ７２０がディセーブルされ）、そのため、ノード１４５の値の反転がノード７２５に提供される。
【００９９】
ここで、ストレージ要素１４００の動作を説明する。入力回路３６０は、データ入力「Ｄ」及びスキャン入力「ＳＤ」の一方に対応する信号をノード３６２で転送させる。ＳＣＡＮが論理０であるとき、スキャン入力「ＳＤ」は論理１であることに留意されたい。例えば、ＳＣＡＮが論理０であるとき、ストレージ要素１４００の先行するストレージ要素（ストレージ要素２００など）のスキャン出力「ＳＱ」がプルアップされ、このプルアップされた論理１はストレージ要素１４００のスキャン入力「ＳＤ」に供給される。ＳＣＡＮが論理１であるとき、テストデータ、及び先行するストレージ要素から受け取る値に応じて、スキャン入力「ＳＤ」は論理０又は論理１のいずれかを取り得る。図４を参照して説明したように、ＳＣＡＮが論理０であるとき、データ入力「Ｄ」の反転がノード３６２で転送され、ＳＣＡＮが論理１であるとき、スキャン入力「ＳＤ」の反転がノード３６２で転送される。
【０１００】
機能モードにおいて（ＳＣＡＮが論理０である又はＳＣＡＮＺが論理１であるとき）、スキャン入力「ＳＤ」は論理１であり、そのため、トランジスタ３７５及び３８０がディセーブルされ、トランジスタ３７０及び３８５がイネーブルされる。したがって、トランジスタ３６５、３７０、３９０、及び３８５はインバータ構成を形成し、「Ｄ」の反転論理レベルがノード３６２に転送される。「Ｄ」が論理１に設定されると仮定すると、「Ｄ」の反転、例えば論理０、がノード３６２で利用可能となる。シフト回路１５０は、ノード１４５において、ノード３６２における値の反転である論理レベルを強制するように構成される。例えば、シフト回路１５０のインバータ１１０の出力は論理１である。ＣＬＫがローであるとき、トランスミッションゲート１１５が透過になり、トランスミッションゲートの入力における論理１がノード１９５に転送されて、インバータ１３０の出力（ノード１９７）を論理０にする。ＣＬＫがハイになるとき、トランスミッションゲート１２５が透過になり、それによってノード１９７における値（論理０）がインバータ１２０に転送される。インバータ１２０はノード１９５を論理１にする。別のトランスミッションゲート１３５が、ＣＬＫがハイになるときイネーブルされ、そのためノード１９７における値（論理０）をインバータ１４０に転送する。インバータ１４０はノード１４５を論理１にする。インバータ１８５、トランスミッションゲート１９０、及びインバータ１４６は、ＣＬＫが論理０であるときループバック経路を構成し、ノード１４５における値を保持することを助ける。データ出力バッファ２５０は、ノード１４５における値を反転させ、ノード２２５を論理０にする。ＳＣＡＮが論理０であるため、トランジスタ２２０がディセーブルされ、トランジスタ２０５、２１０、及び２１５がインバータ構成を形成し、それにより、ノード１４５の反転値（例えば論理０）がノード２２５で転送される。データ出力「Ｑ」は、ノード２２５（これはデータ出力端子である）からデータ入力「Ｄ」の反転として取り出される。ＳＣＡＮが論理０であるため、トランジスタ７０５はディセーブルされ、それによってノード７２５へのデータ伝播が停止する。同時に、トランジスタ７２０はイネーブルされ、それによってノード７２５が論理０にプルダウンされる。スキャン出力端子はノード７２５に結合される。したがって、機能モードにおいて（ＳＣＡＮが論理０であるとき）、スキャン出力「ＳＱ」は論理０に拘束される（これは、スキャン出力端子によって駆動されるスキャン経路における組合せ論理切り替えに起因する機能モードにおける電力低減の助けとなり得る）。スキャンイネーブル入力（ＳＣＡＮＺ）は制御信号として働き、この制御信号は、スキャン出力端子「ＳＱ」を論理１に拘束させるか否かを決定する。したがって、ＳＣＡＮが論理０であるとき、データ出力「Ｑ」はデータ入力「Ｄ」の反転に従い、スキャン出力「ＳＱ」は論理０に拘束される（すなわち、プルダウンされる）。
【０１０１】
シフトモードにおいて（ＳＣＡＮが論理１である又はＳＣＡＮＺが論理０であるとき）、トランジスタ３７０はディセーブルされ、トランジスタ３７５（プルアップ）並びにトランジスタ３８０及び３８５（プルダウン）はインバータ構成を形成し、スキャン入力「ＳＤ」の反転がノード３６２に転送される。ＳＣＡＮが論理１であるとき、トランジスタ７２０がディセーブルされ、トランジスタ７０５、７１０、及び７１５がインバータ構成を形成するので、スキャン出力バッファ７５０はインバータとして動作することにさらに留意されたい。シフト回路１５０は、ノード１４５において、ノード３６２の反転である論理レベルを強制するように構成される。例えば、スキャン入力「ＳＤ」が論理１である場合（ＳＣＡＮが論理１であれば）、ノード３６２は論理０であり、ノード１４５は論理１である。スキャン出力バッファ７５０は、スキャン出力「ＳＱ」に結合されるノード７２５で論理０を転送する。したがって、ＩＣがシフトモードで動作するとき、スキャン入力「ＳＤ」の反転がスキャン出力「ＳＱ」に転送される。ＳＣＡＮが論理１であるため、トランジスタ２１５はディセーブルされ、これにより、トランジスタ２０５及び２１０によって構成されるインバータがディセーブルされる。トランジスタ２２０は、論理０であるＳＣＡＮＺに応答して、イネーブルされ、ノード２２５（データ出力端子）をプルアップする。トランジスタ２１５は、データ出力端子（ノード２２５）がプルアップされるとき（トランジスタ２０５及び２１０によって形成される）インバータを通る漏れ電流を保護するように構成されることに留意されたい。
【０１０２】
シフトモードにおいて、データ出力「Ｑ」は論理１に拘束される（これは、データ出力端子によって駆動される組合せ論理切り替えに起因するシフトモードにおける電力低減の助けとなり得る）。スキャンイネーブル入力（ＳＣＡＮ）は制御信号として働き、この制御信号は、データ出力端子「Ｑ」を論理１に拘束させるか否かを決定する。ＳＣＡＮが０であるとき、データ出力「Ｑ」はデータ入力「Ｄ」の反転に従い、スキャン出力「ＳＱ」は論理０に拘束される。ＳＣＡＮが論理１であるとき、データ出力ｑは論理１に拘束され、スキャン出力「ＳＱ」はスキャン入力（ｓｄ）の反転に従う。この実施形態に従って、Ｑゲーティングに起因して機能組合せ論理がすべてはトグルされないので、多くのＡＴＰＧシフトサイクルにわたる平均電力が下がる。各論理ブロックに対しフロップの種類（プルアップ又はプルダウン）を正しく選択することによって第１のシフトサイクルにわたる瞬間ピーク電力が最適化され得る。この技術は、既存のスキャンフロップのサブセットのみをこの新たな設計に変換するように設計者が決定する場合に極めて有用である。ピーク／平均電力が「プルアップ」又は「プルダウン」Ｑゲーティングの選択によって決まるからである。
【０１０３】
図１５は、或る実施形態に従ったスキャンチェーン１００の第１のストレージ要素以外のストレージ要素の例を示す。ストレージ要素１５００は、ストレージ要素１５００によって受け取られるスキャン入力データ「ＳＤ」が機能モードにおいてプルアップされる場合の、ストレージ要素１００２、１００３、．．．、又は１００ｎのいずれかの例とし得る。例えば、ストレージ要素１５００は、（ストレージ要素１５００の）先行するストレージ要素によって提供されるスキャン出力「ＳＱ」（これは、ストレージ要素１５００のスキャン入力「ＳＤ」に結合される）が機能モードにおいて（ＳＣＡＮが論理０であるとき）プルアップされる場合に用いられる。例えば、ＳＣＡＮが論理０であるとき、スキャン入力「ＳＤ」は論理１である。
【０１０４】
ストレージ要素１５００は、ノード７２５（スキャン出力端子）を駆動するためスキャン出力バッファ７５０に結合されるノード１４５を含む。この例示実施形態では、ノード１４５は、ノード６２５（データ出力端子）を駆動するためデータ出力バッファ６５０にも結合される。ストレージ要素１５００は、それぞれ、先行するストレージ要素のデータ出力「Ｑ」及びスキャン出力「ＳＱ」からデータ入力（「Ｄ」参照）及びスキャン入力（「ＳＤ」参照）を受け取るように構成される入力回路３６０を含む。入力回路３６０は、データ入力「Ｄ」及びスキャン入力「ＳＤ」の一方に対応する信号をノード３６２で提供するように構成される。例えば、シフトモードにおいて（ＳＣＡＮが論理１であるとき）、データ入力「Ｄ」の反転がノード３６２で提供され、機能モードにおいて（ＳＣＡＮＺが論理０であるとき）、スキャン入力「ＳＤ」の反転がノード３６２で提供される。
【０１０５】
入力回路３６０の出力（例えばノード３６２）が、ノード３６２に対応する信号をノード１４５に転送するように構成されるシフト回路１５０に接続される。データ出力バッファ６５０の入力はノード１４５に接続され、データ出力バッファ６５０の出力はノード６２５（データ出力端子）に接続される。ストレージ要素１５００のデータ出力（ｑ）はノード６２５から取り出される。スキャン出力バッファ７５０もノード１４５に接続される。機能モードにおいて、スキャン出力バッファ７５０はノード７２５をプルダウンするように構成される。シフトモードにおいて、トランジスタ７０５、７１０、及び７１５がインバータ構成を形成し（また、トランジスタ７２０がディセーブルされ）、そのため、ノード１４５の値の反転がノード７２５に提供される。
【０１０６】
ここで、ストレージ要素１５００の動作を説明する。入力回路３６０は、データ入力「Ｄ」及びスキャン入力「ＳＤ」の一方に対応する信号をノード３６２で転送させる。ＳＣＡＮが論理０であるとき、スキャン入力「ＳＤ」は論理１であることに留意されたい。例えば、ＳＣＡＮが論理０であるとき、ストレージ要素１５００の先行するストレージ要素（ストレージ要素２００など）のスキャン出力「ＳＱ」がプルアップされ、このプルアップされた論理１はストレージ要素１５００のスキャン入力「ＳＤ」に供給される。ＳＣＡＮが論理１であるとき、テストデータ、及び先行するストレージ要素から受け取る値に応じて、スキャン入力「ＳＤ」は論理０又は論理１のいずれかを取り得る。図４を参照して説明したように、ＳＣＡＮが論理０であるとき、データ入力「Ｄ」の反転がノード３６２で転送され、ＳＣＡＮが論理１であるとき、スキャン入力「ＳＤ」の反転がノード３６２で転送される。
【０１０７】
機能モードにおいて（ＳＣＡＮが論理０である又はＳＣＡＮＺが論理１であるとき）、スキャン入力「ＳＤ」は論理１であり、そのため、トランジスタ３７５及び３８０がディセーブルされ、トランジスタ３７０及び３８５がイネーブルされる。したがって、トランジスタ３６５、３７０、３９０、及び３８５はインバータ構成を形成し、「Ｄ」の反転論理レベルがノード３６２に転送される。「Ｄ」が論理１に設定されると仮定すると、「Ｄ」の反転、例えば論理０、がノード３６２で利用可能となる。シフト回路１５０は、ノード１４５において、ノード３６２における値の反転である論理レベルを強制するように構成される。例えば、シフト回路１５０のインバータ１１０の出力は論理１である。ＣＬＫがローであるとき、トランスミッションゲート１１５が透過になり、トランスミッションゲートの入力における論理１がノード１９５に転送されて、インバータ１３０の出力（ノード１９７）を論理０にする。ＣＬＫがハイになるとき、トランスミッションゲート１２５が透過になり、それによってノード１９７における値（論理０）がインバータ１２０に転送される。インバータ１２０はノード１９５を論理１にする。別のトランスミッションゲート１３５が、ＣＬＫがハイになるときイネーブルされ、そのためノード１９７における値（論理０）をインバータ１５０に転送する。インバータ１５０はノード１４５を論理１にする。インバータ１８５、トランスミッションゲート１９０、及びインバータ１４６は、ＣＬＫが論理０であるときループバック経路を構成し、ノード１４５における値を保持することを助ける。データ出力バッファ６５０は、ノード１４５における値を反転させ、ノード６２５を論理０にする。ＳＣＡＮが論理０であるため、トランジスタ６２０がディセーブルされ、トランジスタ６０５、６１０、及び６１５がインバータ構成を形成し、それによって、ノード１４５の反転値（例えば論理０）がノード６２５で転送される。データ出力「Ｑ」がノード６２５（これはデータ出力端子である）からデータ入力「Ｄ」の反転として取り出される。ＳＣＡＮが論理０であるため、トランジスタ７０５はディセーブルされ、それによってノード７２５へのデータ伝播が停止する。同時に、トランジスタ７２０はイネーブルされ、それによってノード７２５が論理０にプルダウンされる。スキャン出力端子はノード７２５に結合される。したがって、機能モードにおいて（ＳＣＡＮが論理０であるとき）、スキャン出力「ＳＱ」は論理０に拘束される（これは、スキャン出力端子によって駆動されるスキャン経路における組合せ論理切り替えに起因する機能モードにおける電力低減の助けとなり得る）。スキャンイネーブル入力（ＳＣＡＮＺ）は制御信号として働き、この制御信号は、スキャン出力端子「ＳＱ」を論理１に拘束させるか否かを決定する。したがって、ＳＣＡＮが論理０であるとき、データ出力「Ｑ」はデータ入力「Ｄ」の反転に従い、スキャン出力「ＳＱ」は論理０に拘束される（すなわち、プルダウンされる）。
【０１０８】
シフトモードにおいて（ＳＣＡＮが論理１である又はＳＣＡＮＺが論理０であるとき）、トランジスタ３７０はディセーブルされ、トランジスタ３７５（プルアップ）並びにトランジスタ３８０及び３８５（プルダウン）はインバータ構成を形成し、スキャン入力「ＳＤ」の反転がノード３６２に転送される。ＳＣＡＮが論理１であるとき、トランジスタ７２０がディセーブルされ、トランジスタ７０５、７１０、及び７１５がインバータ構成を形成するので、スキャン出力バッファ７５０はインバータとして動作することにさらに留意されたい。シフト回路１５０は、ノード１４５において、ノード４６２の反転である論理レベルを強制するように構成される。例えば、スキャン入力「ＳＤ」が論理１である場合（ＳＣＡＮが論理１であれば）、ノード４６２は論理０であり、ノード１４５は論理１である。スキャン出力バッファ７５０は、スキャン出力「ＳＱ」に結合されるノード７２５において論理０を転送する。したがって、ＩＣがシフトモードで動作するとき、スキャン入力「ＳＤ」の反転がスキャン出力「ＳＱ」に転送される。ＳＣＡＮが論理１であるため、トランジスタ６０５はディセーブルされ、これにより、トランジスタ６０５及び６１０によって構成されるインバータがディセーブルされる。トランジスタ６２０は、ＳＣＡＮに応答して、イネーブルされ、ノード６２５（データ出力端子ｑ）をプルダウンする。トランジスタ６０５は、データ出力端子がプルダウンされるとき（トランジスタ６１０及び６１５によって形成される）インバータを通る漏れ電流を保護するように構成されることに留意されたい。
【０１０９】
シフトモードにおいて、データ出力「Ｑ」は論理０に拘束される（これは、データ出力端子によって駆動される組合せ論理切り替えに起因するシフトモードにおける電力低減の助けとなり得る）。スキャンイネーブル入力（ＳＣＡＮ）は制御信号として働き、この制御信号は、データ出力端子「Ｑ」を論理１に拘束させるか否かを決定する。ＳＣＡＮが０であるとき、データ出力「Ｑ」はデータ入力「Ｄ」の反転に従い、スキャン出力「ＳＱ」は論理０に拘束される。ＳＣＡＮが論理１であるとき、データ出力ｑは論理０に拘束され、スキャン出力「ＳＱ」はスキャン入力（ｓｄ）の反転に従う。この実施形態に従って、Ｑゲーティングに起因して機能組合せ論理がすべてはトグルされないので、多くのＡＴＰＧシフトサイクルにわたる平均電力が下がる。各論理ブロックに対しフロップの種類（プルアップ又はプルダウン）を正しく選択することによって第１のシフトサイクルにわたる瞬間ピーク電力が最適化され得る。この技術は、既存のスキャンフロップのサブセットのみをこの新たな設計に変換するように設計者が決定する場合に極めて有用である。ピーク／平均電力が「プルアップ」又は「プルダウン」Ｑゲーティングの選択によって決まるからである。
【０１１０】
図１６は、或る実施形態に従ったスキャンチェーン１００の第１のストレージ要素以外のストレージ要素の例を示す。ストレージ要素１６００は、ストレージ要素１６００によって受け取られるスキャン入力データ「ＳＤ」が機能モードにおいてプルダウンされる場合の、ストレージ要素１００２、１００３、．．．、又は１００ｎのいずれかの例とし得る。例えば、ストレージ要素１６００は、（ストレージ要素１６００の）先行するストレージ要素によって提供されるスキャン出力「ＳＱ」（これは、ストレージ要素１６００のスキャン入力「ＳＤ」に結合される）が機能モードにおいて（ＳＣＡＮが論理０であるとき）プルダウンされる場合に用いられる。例えば、ＳＣＡＮが論理０であるとき、スキャン入力「ＳＤ」は論理１である。
【０１１１】
ストレージ要素１６００は、ノード７２５（スキャン出力端子）を駆動するためスキャン出力バッファ７５０に結合されるノード１４５を含む。この例示実施形態では、ノード１４５は、ノード２２５（データ出力端子）を駆動するためデータ出力バッファ２５０にも結合される。ストレージ要素１６００は、それぞれ、先行するストレージ要素のデータ出力「Ｑ」及びスキャン出力「ＳＱ」からデータ入力（「Ｄ」参照）及びスキャン入力（「ＳＤ」参照）を受け取るように構成される入力回路４６０を含む。入力回路４６０は、データ入力「Ｄ」及びスキャン入力「ＳＤ」の一方に対応する信号をノード４６２で提供するように構成される。例えば、シフトモードにおいて（ＳＣＡＮＺが論理１であるとき）、データ入力「Ｄ」の反転がノード４６２で提供され、機能モードにおいて（ＳＣＡＮＺが論理０であるとき）、スキャン入力「ＳＤ」の反転がノード４６２で提供される。
【０１１２】
入力回路４６０の出力（例えばノード４６２）が、ノード４６２に対応する信号をノード１４５に転送するように構成されるシフト回路１５０に接続される。データ出力バッファ２５０の入力はノード１４５に接続され、データ出力バッファ２５０の出力はノード２２５（データ出力端子）に接続される。ストレージ要素１６００のデータ出力（ｑ）はノード２２５から取り出される。スキャン出力バッファ５５０もノード１４５に接続される。機能モードにおいて、スキャン出力バッファ７５０はノード７２５をプルダウンするように構成される。シフトモードにおいて、トランジスタ７０５、７１０、及び７１５がインバータ構成を形成し（また、トランジスタ７２０がディセーブルされ）、そのため、ノード１４５の値の反転がノード７２５に提供される。
【０１１３】
ここで、ストレージ要素１６００の動作を説明する。入力回路４６０は、データ入力「Ｄ」及びスキャン入力「ＳＤ」の一方に対応する信号をノード４６２で転送させる。この実施形態では、ＳＣＡＮが論理０であるとき、スキャン入力「ＳＤ」は論理０であることに留意されたい。例えば、ＳＣＡＮが論理０であるとき、ストレージ要素１６００の先行するストレージ要素（ストレージ要素３００など）のスキャン出力「ＳＱ」がプルダウンされ、このプルダウンされた論理０はストレージ要素１６００のスキャン入力「ＳＤ」に供給される。ＳＣＡＮが論理１であるとき、テストデータ、及び先行するストレージ要素から受け取る値に応じて、スキャン入力「ＳＤ」は論理０又は論理１のいずれかを取り得る。図１６に示すように、ＳＣＡＮが論理０であるとき、データ入力「Ｄ」の反転がノード４６２で転送され、ＳＣＡＮが論理１であるとき、スキャン入力「ＳＤ」の反転がノード４６２で転送される。
【０１１４】
機能モードにおいて（ＳＣＡＮが論理０である又はＳＣＡＮＺが論理１であるとき）、スキャン入力「ＳＤ」は論理０であり、そのため、トランジスタ４７５及び４９０がディセーブルされ、トランジスタ４６５及び４８０がイネーブルされる。したがって、トランジスタ４６５、４７０、４８０、及び４８５はインバータ構成を形成し、「Ｄ」の反転論理レベルがノード４６２に転送される。「Ｄ」が論理１に設定されると仮定すると、「Ｄ」の反転、例えば論理０、がノード４６２で利用可能となる。シフト回路１５０は、ノード１４５において、ノード４６２における値の反転である論理レベルを強制するように構成される。例えば、論理１がシフト回路１５０のインバータ１２０の出力で転送される。ＣＬＫがローであるとき、トランスミッションゲート１２５が透過になり、トランスミッションゲートの入力における論理１がノード１９５に転送されて、インバータ１３０の出力（ノード１９７）を論理０にする。ＣＬＫがハイになるとき、トランスミッションゲート１２５が透過になり、それによってノード１９７における値（論理０）がインバータ１２０に転送される。インバータ１２０はノード１９５を論理１にする。別のトランスミッションゲート１３５が、ＣＬＫがハイになるときイネーブルされ、そのためノード１９７における値（論理０）をインバータ１４０に転送する。インバータ１４０はノード１４５を論理１にする。インバータ１８５、トランスミッションゲート１９０、及びインバータ１４６は、ＣＬＫが論理０であるときループバック経路を構成し、ノード１４５における値を保持することを助ける。データ出力バッファ２５０は、ノード１４５における値を反転させ、ノード２２５を論理０にする。ＳＣＡＮが論理０であるため、トランジスタ２２０がディセーブルされ、トランジスタ２０５、２１０、及び２１５がインバータ構成を形成し、それによって、ノード１４５の反転値（例えば論理０）がノード２２５で転送される。データ出力「Ｑ」は、ノード２２５（これはデータ出力端子である）からデータ入力「Ｄ」の反転として取り出される。ＳＣＡＮが論理０であるため、トランジスタ７０５はディセーブルされ、それによってノード７２５へのデータ伝播が停止する。同時に、トランジスタ７２０はイネーブルされ、それによってノード７２５が論理０にプルダウンされる。スキャン出力端子はノード７２５に結合される。したがって、機能モードにおいて（ＳＣＡＮが論理０であるとき）、スキャン出力「ＳＱ」は論理０に拘束される（これは、スキャン出力端子によって駆動されるスキャン経路における組合せ論理切り替えに起因する機能モードにおける電力低減の助けとなり得る）。スキャンイネーブル入力（ＳＣＡＮＺ）は制御信号として働き、この制御信号は、スキャン出力端子「ＳＱ」を論理０に拘束させるか否かを決定する。したがって、ＳＣＡＮが論理０であるとき、データ出力「Ｑ」はデータ入力「Ｄ」の反転に従い、スキャン出力「ＳＱ」は論理０に拘束される（すなわち、プルダウンされる）。
【０１１５】
シフトモードにおいて（ＳＣＡＮが論理１である又はＳＣＡＮＺが論理０であるとき）、トランジスタ４８０はディセーブルされ、トランジスタ４６５、４７５（プルアップ）及びトランジスタ４９０（プルダウン）はインバータ構成を形成し、スキャン入力「ＳＤ」の反転がノード４６２に転送される。ＳＣＡＮが論理１であるとき、トランジスタ７２０がディセーブルされ、トランジスタ７０５、７１０、及び７１５がインバータ構成を形成するので、スキャン出力バッファ７５０はインバータとして動作することにさらに留意されたい。シフト回路１５０は、ノード１４５において、ノード４６２の反転である論理レベルを強制するように構成される。例えば、スキャン入力「ＳＤ」が論理１である場合（ＳＣＡＮが論理１であれば）、ノード４６２は論理０であり、ノード１４５は論理１である。スキャン出力バッファ７５０は、スキャン出力「ＳＱ」に結合されるノード７２５において論理０を転送する。したがって、ＩＣがシフトモードで動作するとき、スキャン入力「ＳＤ」の反転がスキャン出力「ＳＱ」に転送される。ＳＣＡＮが論理１であるため、トランジスタ２１５はディセーブルされ、これにより、トランジスタ２０５及び２１０によって構成されるインバータがディセーブルされる。トランジスタ２２０は、論理０であるＳＣＡＮＺに応答して、イネーブルされ、ノード２２５（データ出力端子ｑ）をプルアップする。トランジスタ２１５は、データ出力端子（ノード２２５）がプルアップされるとき（トランジスタ２０５及び２１０によって形成される）インバータを通る漏れ電流を保護するように構成されることに留意されたい。
【０１１６】
シフトモードにおいて、データ出力「Ｑ」は論理１に拘束される（これは、データ出力端子によって駆動される組合せ論理切り替えに起因するシフトモードにおける電力低減の助けとなり得る）。スキャンイネーブル入力（ＳＣＡＮ）は制御信号として働き、この制御信号は、データ出力端子「Ｑ」を論理１に拘束させるか否かを決定する。ＳＣＡＮが０であるとき、データ出力「Ｑ」はデータ入力「Ｄ」の反転に従い、スキャン出力「ＳＱ」は論理０に拘束される。ＳＣＡＮが論理１であるとき、データ出力ｑは論理１に拘束され、スキャン出力「ＳＱ」はスキャン入力（ｓｄ）の反転に従う。この実施形態に従って、Ｑゲーティングに起因して機能組合せ論理がすべてはトグルされないので、多くのＡＴＰＧシフトサイクルにわたる平均電力が下がる。各論理ブロックに対しフロップの種類（プルアップ又はプルダウン）を正しく選択することによって第１のシフトサイクルにわたる瞬間ピーク電力が最適化され得る。この技術は、既存のスキャンフロップのサブセットのみをこの新たな設計に変換するように設計者が決定する場合に極めて有用である。ピーク／平均電力が「プルアップ」又は「プルダウン」Ｑゲーティングの選択によって決まるからである。
【０１１７】
図１７は、或る実施形態に従ったスキャンチェーン１００の第１のストレージ要素以外のストレージ要素の例を示す。ストレージ要素１７００は、ストレージ要素１７００によって受け取られるスキャン入力データ「ＳＤ」が機能モードにおいてプルダウンされる場合の、ストレージ要素１００２、１００３、．．．、又は１００ｎのいずれかの例とし得る。例えば、ストレージ要素１７００は、（ストレージ要素１７００の）先行するストレージ要素によって提供されるスキャン出力「ＳＱ」（これは、ストレージ要素１７００のスキャン入力「ＳＤ」に結合される）が機能モードにおいて（ＳＣＡＮが論理０であるとき）プルダウンされる場合に用いられる。例えば、ＳＣＡＮが論理０であるとき、スキャン入力「ＳＤ」は論理１である。
【０１１８】
ストレージ要素１７００は、ノード７２５（スキャン出力端子）を駆動するためスキャン出力バッファ７５０に結合されるノード１４５を含む。この例示実施形態では、ノード１４５は、ノード６２５（データ出力端子）を駆動するためデータ出力バッファ６５０にも結合される。ストレージ要素１７００は、それぞれ、先行するストレージ要素のデータ出力「Ｑ」及びスキャン出力「ＳＱ」からデータ入力（「Ｄ」参照）及びスキャン入力（「ＳＤ」参照）を受け取るように構成される入力回路４６０を含む。入力回路４６０は、データ入力「Ｄ」及びスキャン入力「ＳＤ」の一方に対応する信号をノード４６２で提供するように構成される。例えば、シフトモードにおいて（ＳＣＡＮＺが論理１であるとき）、データ入力「Ｄ」の反転がノード４６２で提供され、機能モードにおいて（ＳＣＡＮＺが論理０であるとき）、スキャン入力「ＳＤ」の反転がノード４６２で提供される。
【０１１９】
入力回路４６０の出力（例えばノード４６２）が、ノード４６２に対応する信号をノード１４５に転送するように構成されるシフト回路１５０に接続される。データ出力バッファ６５０の入力はノード１４５に接続され、データ出力バッファ６５０の出力は、ノード６２５（データ出力端子）に接続される。ストレージ要素１７００のデータ出力（ｑ）はノード６２５から取り出される。スキャン出力バッファ５５０もノード１４５に接続される。機能モードにおいて、スキャン出力バッファ７５０はノード７２５をプルダウンするように構成される。シフトモードにおいて、トランジスタ７０５、７１０、及び７１５はインバータ構成を形成し（また、トランジスタ７２０がディセーブルされ）、そのため、ノード１４５の値の反転がノード７２５に提供される。
【０１２０】
ここで、ストレージ要素１７００の動作を説明する。入力回路４６０は、データ入力「Ｄ」及びスキャン入力「ＳＤ」の一方に対応する信号をノード４６２で転送させる。この実施形態では、ＳＣＡＮが論理０であるとき、スキャン入力「ＳＤ」は論理０であることに留意されたい。例えば、ＳＣＡＮが論理０であるとき、ストレージ要素１７００の先行するストレージ要素（ストレージ要素３００など）のスキャン出力「ＳＱ」がプルダウンされ、このプルダウンされた論理０はストレージ要素１７００のスキャン入力「ＳＤ」に供給される。ＳＣＡＮが論理１であるとき、テストデータ、及び先行するストレージ要素から受け取る値に応じて、スキャン入力「ＳＤ」は論理０又は論理１のいずれかを取り得る。図１７に示すように、ＳＣＡＮが論理０であるとき、データ入力「Ｄ」の反転がノード４６２で転送され、ＳＣＡＮが論理１であるとき、スキャン入力「ＳＤ」の反転がノード４６２で転送される。
【０１２１】
機能モードにおいて（ＳＣＡＮが論理０である又はＳＣＡＮＺが論理１であるとき）、スキャン入力「ＳＤ」は論理０であり、そのため、トランジスタ４７５及び４９０がディセーブルされ、トランジスタ４６５及び４８０がイネーブルされる。したがって、トランジスタ４６５、４７０、４８０、及び４８５はインバータ構成を形成し、「Ｄ」の反転論理レベルがノード４６２に転送される。「Ｄ」が論理１に設定されると仮定すると、「Ｄ」の反転、例えば論理０、がノード４６２で利用可能となる。シフト回路１５０は、ノード１４５において、ノード４６２における値の反転である論理レベルを強制するように構成される。例えば、論理１がシフト回路１５０のインバータ１２０の出力で転送される。ＣＬＫがローであるとき、トランスミッションゲート１２５が透過になり、トランスミッションゲートの入力における論理１がノード１９５に転送されて、インバータ１３０の出力（ノード１９７）を論理０にする。ＣＬＫがハイになるとき、トランスミッションゲート１２５が透過になり、それによってノード１９７における値（論理０）がインバータ１２０に転送される。インバータ１２０はノード１９５を論理１にする。別のトランスミッションゲート１３５が、ＣＬＫがハイになるときイネーブルされ、そのためノード１９７における値（論理０）をインバータ１４０に転送する。インバータ１４０はノード１４５を論理１にする。インバータ１８５、トランスミッションゲート１９０、及びインバータ１４６は、ＣＬＫが論理０であるときループバック経路を構成し、ノード１４５における値を保持することを助ける。データ出力バッファ６５０は、ノード１４５における値を反転させ、ノード６２５を論理０にする。ＳＣＡＮが論理０であるため、トランジスタ６２０がディセーブルされ、トランジスタ６０５、６１０、及び６１５がインバータ構成を形成し、それによって、ノード１４５の反転値（例えば論理０）がノード６２５で転送される。データ出力「Ｑ」は、ノード６２５（これはデータ出力端子である）からデータ入力「Ｄ」の反転として取り出される。ＳＣＡＮが論理０であるため、トランジスタ７０５はディセーブルされ、それによってノード７２５へのデータ伝播が停止する。同時に、トランジスタ７２０がイネーブルされ、それによってノード７２５が論理０にプルダウンされる。スキャン出力端子はノード７２５に結合される。したがって、機能モードにおいて（ＳＣＡＮが論理０であるとき）、スキャン出力「ＳＱ」は論理０に拘束される（これは、スキャン出力端子によって駆動されるスキャン経路における組合せ論理切り替えに起因する機能モードにおける電力低減の助けとなり得る）。スキャンイネーブル入力（ＳＣＡＮＺ）は制御信号として働き、この制御信号は、スキャン出力端子「ＳＱ」を論理０に拘束させるか否かを決定する。したがって、ＳＣＡＮが論理０であるとき、データ出力「Ｑ」はデータ入力「Ｄ」の反転に従い、スキャン出力「ＳＱ」は論理０に拘束される（すなわち、プルダウンされる）。
【０１２２】
シフトモードにおいて（ＳＣＡＮが論理１である又はＳＣＡＮＺが論理０であるとき）、トランジスタ４８０はディセーブルされ、トランジスタ４６５、４７５（プルアップ）及びトランジスタ４９０（プルダウン）はインバータ構成を形成し、スキャン入力「ＳＤ」の反転がノード４６２に転送される。ＳＣＡＮが論理１であるとき、トランジスタ７２０がディセーブルされ、トランジスタ７０５、７１０、及び７１５がインバータ構成を形成するので、スキャン出力バッファ７５０はインバータとして動作することにさらに留意されたい。シフト回路１５０は、ノード１４５において、ノード４６２の反転である論理レベルを強制するように構成される。例えば、スキャン入力「ＳＤ」が論理１である場合（ＳＣＡＮが論理１であれば）、ノード４６２は論理０であり、ノード１４５は論理１である。スキャン出力バッファ７５０は、スキャン出力「ＳＱ」に結合されるノード７２５において論理０を転送する。したがって、ＩＣがシフトモードで動作するとき、スキャン入力「ＳＤ」の反転がスキャン出力「ＳＱ」に転送される。ＳＣＡＮが論理１であるため、トランジスタ６０５はディセーブルされ、これにより、トランジスタ６０５及び６１０によって構成されるインバータがディセーブルされる。トランジスタ６２０は、ＳＣＡＮに応答して、イネーブルされ、ノード６２５（データ出力端子ｑ）をプルダウンする。トランジスタ６０５は、データ出力端子がプルダウンされるとき（トランジスタ６１０及び６１５によって形成される）インバータを通る漏れ電流を保護するように構成されることに留意されたい。
【０１２３】
シフトモードにおいて、データ出力「Ｑ」は論理０に拘束される（これは、データ出力端子によって駆動される組合せ論理切り替えに起因するシフトモードにおける電力低減の助けとなり得る）。スキャンイネーブル入力（ＳＣＡＮ）は制御信号として働き、この制御信号は、データ出力端子「Ｑ」を論理０に拘束させるか否かを決定する。ＳＣＡＮが０であるとき、データ出力「Ｑ」はデータ入力「Ｄ」の反転に従い、スキャン出力「ＳＱ」は論理０に拘束される。ＳＣＡＮが論理１であるとき、データ出力ｑは論理０に拘束され、スキャン出力「ＳＱ」はスキャン入力（ｓｄ）の反転に従う。この実施形態に従って、Ｑゲーティングに起因して機能組合せ論理がすべてはトグルされないので、多くのＡＴＰＧシフトサイクルにわたる平均電力が下がる。各論理ブロックに対しフロップの種類（プルアップ又はプルダウン）を正しく選択することによって第１のシフトサイクルにわたる瞬間ピーク電力が最適化され得る。この技術は、既存のスキャンフロップのサブセットのみをこの新たな設計に変換するように設計者が決定する場合に極めて有用である。ピーク／平均電力が「プルアップ」又は「プルダウン」ｑゲーティングの選択によって決まるからである。
【０１２４】
図１８は、或る実施形態に従ったスキャンチェーン１００の第１のストレージ要素以外のストレージ要素の例を示す。ストレージ要素１８００は、ストレージ要素１８００によって受け取られるスキャン入力データ「ＳＤ」が機能モードにおいてプルアップされる場合の、ストレージ要素１００２、１００３、．．．、又は１００ｎのいずれかの例とし得る。例えば、ストレージ要素１８００は、（ストレージ要素１８００の）先行するストレージ要素によって提供されるスキャン出力「ＳＱ」（これは、ストレージ要素１８００のスキャン入力「ＳＤ」に結合される）が機能モードにおいて（ＳＣＡＮが論理０であるとき）プルアップされる場合に用いられる。例えば、ＳＣＡＮが論理０であるとき、スキャン入力「ＳＤ」は論理１である。
【０１２５】
ストレージ要素１８００は、ノード４１５（スキャン出力端子）を駆動するためスキャン出力バッファ４５０に結合されるノード１４５を含む。この例示実施形態では、ノード１４５は、ノード２２５（データ出力端子）を駆動するためデータ出力バッファ２５０にも結合される。ストレージ要素１８００は、それぞれ、先行するストレージ要素のデータ出力「Ｑ」及びスキャン出力「ＳＱ」からデータ入力（「Ｄ」参照）及びスキャン入力（「ＳＤ」参照）を受け取るように構成される入力回路３６０を含む。入力回路３６０は、データ入力「Ｄ」及びスキャン入力「ＳＤ」の一方に対応する信号をノード３６２で提供するように構成される。例えば、シフトモードにおいて（ＳＣＡＮが論理１であるとき）、データ入力「Ｄ」の反転がノード３６２で提供され、機能モードにおいて（ＳＣＡＮＺが論理０であるとき）、スキャン入力「ＳＤ」の反転がノード３６２で提供される。
【０１２６】
入力回路３６０の出力（例えばノード３６２）が、ノード３６２に対応する信号をノード１４５に転送するように構成されるシフト回路１５０に接続される。データ出力バッファ２５０の入力はノード１４５に接続され、データ出力バッファ２５０の出力はノード２２５（データ出力端子）に接続される。ストレージ要素１８００のデータ出力（ｑ）はノード２２５から取り出される。スキャン出力バッファ４５０もノード１４５に接続される。図８を参照して説明したように、スキャン出力バッファ４５０は、ＰＭＯＳトランジスタ４０５（第１のＭＯＳトランジスタ）及びＮＭＯＳトランジスタ４１０（第２のＭＯＳトランジスタ）（トランスミッションゲートを形成する）を含み、プルダウンＮＭＯＳトランジスタ４２０がそれに続く。トランジスタ４２０は、機能モードにおいて（ＳＣＡＮＺが論理１であるとき）プルダウントランジスタとして動作する。これは、機能モードにおいてトランジスタ４０５及び４１０がディセーブルされるからである。シフトモードにおいて（ＳＣＡＮＺが論理０であるとき）、トランジスタ４２０はディセーブルされ、トランスミッションゲートは、イネーブルされ、ノード１４５の値をノード４１５に提供する。
【０１２７】
ここで、ストレージ要素１８００の動作を説明する。入力回路３６０は、データ入力「Ｄ」及びスキャン入力「ＳＤ」の一方に対応する信号をノード３６２で転送させる。ＳＣＡＮが論理０であるとき、スキャン入力「ＳＤ」は論理１であることに留意されたい。例えば、ＳＣＡＮが論理０であるとき、ストレージ要素１８００の先行するストレージ要素（ストレージ要素２００など）のスキャン出力「ＳＱ」がプルアップされ、このプルアップされた論理１はストレージ要素１８００のスキャン入力「ＳＤ」に供給される。ＳＣＡＮが論理１であるとき、テストデータ、及び先行するストレージ要素から受け取る値に応じて、スキャン入力「ＳＤ」は論理０又は論理１のいずれかを取り得る。図４を参照して説明したように、ＳＣＡＮが論理０であるとき、データ入力「Ｄ」の反転がノード３６２で転送され、ＳＣＡＮが論理１であるとき、スキャン入力「ＳＤ」の反転がノード３６２で転送される。
【０１２８】
機能モードにおいて（ＳＣＡＮが論理０である又はＳＣＡＮＺが論理１であるとき）、スキャン入力「ＳＤ」は論理１であり、そのため、トランジスタ３７５及び３８０がディセーブルされ、トランジスタ３７０及び３８５がイネーブルされる。したがって、トランジスタ３６５、３７０、３９０、及び３８５はインバータ構成を形成し、「Ｄ」の反転論理レベルがノード３６２に転送される。「Ｄ」が論理１に設定されると仮定すると、「Ｄ」の反転、例えば論理０、がノード３６２で利用可能となる。シフト回路１５０は、ノード１４５において、ノード３６２における値の反転である論理レベルを強制するように構成される。例えば、シフト回路１５０のインバータ１１０の出力は論理１である。ＣＬＫがローであるとき、トランスミッションゲート１１５が透過になり、トランスミッションゲートの入力における論理１がノード１９５に転送され、インバータ１３０の出力（ノード１９７）を論理０にする。ＣＬＫがハイになるとき、トランスミッションゲート１２５が透過になり、それによってノード１９７における値（論理０）がインバータ１２０に転送される。インバータ１２０はノード１９５を論理１にする。別のトランスミッションゲート１３５が、ＣＬＫがハイになるときイネーブルされ、そのためノード１９７における値（論理０）をインバータ１４０に転送する。インバータ１４０はノード１４５を論理１にする。インバータ１８５、トランスミッションゲート１９０、及びインバータ１４６は、ＣＬＫが論理０であるときループバック経路を構成し、ノード１４５における値を保持することを助ける。データ出力バッファ２５０は、ノード１４５における値を反転させ、ノード２２５を論理０にする。ＳＣＡＮが論理０であるため、トランジスタ２２０がディセーブルされ、トランジスタ２０５、２１０、及び２１５がインバータ構成を形成し、それによって、ノード１４５の反転値（例えば論理０）がノード２２５で転送される。データ出力「Ｑ」がノード２２５（これはデータ出力端子である）からデータ入力「Ｄ」の反転として取り出される。ＳＣＡＮが論理０であるため、トランジスタ４０５及び４１０によって形成されるトランスミッションゲートがノード１４５からノード４１５を隔離する。同時に、トランジスタ４２０がイネーブルされ、それによって、機能モードにおいてクロック信号ＣＬＫに関わらずノード４１５が論理０にプルダウンされる。スキャン出力端子はノード４１５に結合される。したがって、機能モードにおいて（ＳＣＡＮが論理０であるとき）、スキャン出力「ＳＱ」は論理０に拘束される（これは、スキャン出力端子によって駆動されるスキャン経路における組合せ論理切り替えに起因する機能モードにおける電力低減の助けとなり得る）。スキャンイネーブル入力（ＳＣＡＮＺ）は制御信号として働き、この制御信号は、スキャン出力端子「ＳＱ」を論理１に拘束させるか否かを決定する。したがって、ＳＣＡＮが論理０であるとき、データ出力「Ｑ」はデータ入力「Ｄ」の反転に従い、スキャン出力「ＳＱ」は論理０に拘束される（すなわち、プルダウンされる）。
【０１２９】
シフトモードにおいて（ＳＣＡＮが論理１である又はＳＣＡＮＺが論理０であるとき）、トランジスタ３７０はディセーブルされ、トランジスタ３７５（プルアップ）並びにトランジスタ３８０及び３８５（プルダウン）はインバータ構成を形成し、スキャン入力「ＳＤ」の反転がノード３６２に転送される。ＳＣＡＮが論理１であるとき、トランジスタ４２０がディセーブルされ、トランジスタ４０５及び４１０によって形成されるトランスミッションゲートがノード１４５に存在する値をノード４１５に転送するので、スキャン出力バッファ４５０はトランスミッションゲートバッファとして動作することにさらに留意されたい。シフト回路１５０は、ノード１４５において、ノード３６２の反転である論理レベルを強制するように構成される。例えば、スキャン入力「ＳＤ」が論理１である場合（ＳＣＡＮが論理１であれば）、ノード３６２は論理０であり、ノード１４５は論理１である。スキャン出力バッファ４５０は、スキャン出力「ＳＱ」に結合されるノード４１５で論理１を転送する。したがって、ＩＣがシフトモードで動作するとき、スキャン入力「ＳＤ」はスキャン出力「ＳＱ」に転送される。ＳＣＡＮが論理１であるため、トランジスタ２１５はディセーブルされ、それにより、トランジスタ２０５及び２１０によって構成されるインバータがディセーブルされる。トランジスタ２２０は、論理０であるＳＣＡＮＺに応答して、イネーブルされ、ノード２２５（データ出力端子）をプルアップする。トランジスタ２１５は、データ出力端子（ノード２２５）がプルアップされるとき（トランジスタ２０５及び２１０によって形成される）インバータを通る漏れ電流を保護するように構成されることに留意されたい。
【０１３０】
シフトモードにおいて、データ出力「Ｑ」は論理１に拘束される（これは、データ出力端子によって駆動される組合せ論理切り替えに起因するシフトモードにおける電力低減の助けとなり得る）。スキャンイネーブル入力（ＳＣＡＮ）は制御信号として働き、この制御信号は、データ出力端子「Ｑ」を論理１に拘束させるか否かを決定する。ＳＣＡＮが０であるとき、データ出力「Ｑ」はデータ入力「Ｄ」の反転に従い、スキャン出力「ＳＱ」は論理０に拘束される。ＳＣＡＮが論理１であるとき、データ出力「Ｑ」は論理１に拘束され、スキャン出力「ＳＱ」はスキャン入力（ｓｄ）に従う。この実施形態に従って、Ｑゲーティングに起因して機能組合せ論理がすべてはトグルされないので、多くのＡＴＰＧシフトサイクルにわたる平均電力が下がる。各論理ブロックに対しフロップの種類（プルアップ又はプルダウン）を正しく選択することによって第１のシフトサイクルにわたる瞬間ピーク電力が最適化され得る。この技術は、既存のスキャンフロップのサブセットのみをこの新たな設計に変換するように設計者が決定する場合に極めて有用である。ピーク／平均電力が「プルアップ」又は「プルダウン」Ｑゲーティングの選択によって決まるからである。
【０１３１】
図１９は、或る実施形態に従ったスキャンチェーン１００の第１のストレージ要素以外のストレージ要素の例を示す。ストレージ要素１９００は、ストレージ要素１９００によって受け取られるスキャン入力データ「ＳＤ」が機能モードにおいてプルアップされる場合の、ストレージ要素１００２、１００３、．．．、又は１００ｎのいずれかの例とし得る。例えば、ストレージ要素１９００は、（ストレージ要素１９００の）先行するストレージ要素によって提供されるスキャン出力「ＳＱ」（これは、ストレージ要素１９００のスキャン入力「ＳＤ」に結合される）が機能モードにおいて（ＳＣＡＮが論理０であるとき）プルアップされる場合に用いられる。例えば、ＳＣＡＮが論理０であるとき、スキャン入力「ＳＤ」は論理１である。
【０１３２】
ストレージ要素１９００は、ノード４１５（スキャン出力端子）を駆動するためスキャン出力バッファ４５０に結合されるノード１４５を含む。この例示実施形態では、ノード１４５は、ノード６２５（データ出力端子）を駆動するためデータ出力バッファ６５０にも結合される。ストレージ要素１９００は、それぞれ、先行するストレージ要素のデータ出力「Ｑ」及びスキャン出力「ＳＱ」からデータ入力（「Ｄ」参照）及びスキャン入力（「ＳＤ」参照）を受け取るように構成される入力回路３６０を含む。入力回路３６０は、データ入力「Ｄ」及びスキャン入力「ＳＤ」の一方に対応する信号をノード３６２で提供するように構成される。例えば、シフトモードにおいて（ＳＣＡＮが論理１であるとき）、データ入力「Ｄ」の反転がノード３６２で提供され、機能モードにおいて（ＳＣＡＮＺが論理０であるとき）、スキャン入力「ＳＤ」の反転がノード３６２で提供される。
【０１３３】
入力回路３６０の出力（例えばノード３６２）が、ノード３６２に対応する信号をノード１４５に転送するように構成されるシフト回路１５０に接続される。データ出力バッファ６５０の入力はノード１４５に接続され、データ出力バッファ６５０の出力はノード６２５（データ出力端子）に接続される。ストレージ要素１９００のデータ出力（ｑ）はノード６２５から取り出される。スキャン出力バッファ４５０もノード１４５に接続される。図８を参照して説明したように、スキャン出力バッファ４５０は、ＰＭＯＳトランジスタ４０５（第１のＭＯＳトランジスタ）及びＮＭＯＳトランジスタ４１０（第２のＭＯＳトランジスタ）（トランスミッションゲートを形成する）を含み、プルダウンＮＭＯＳトランジスタ４２０がそれに続く。トランジスタ４２０は、機能モードにおいて（ＳＣＡＮＺが論理１であるとき）プルダウントランジスタとして動作する。これは、機能モードにおいてトランジスタ４０５及び４１０がディセーブルされるからである。シフトモードにおいて（ＳＣＡＮＺが論理０であるとき）、トランジスタ４２０はディセーブルされ、トランスミッションゲートは、イネーブルされ、ノード１４５の値をノード４１５に提供する。
【０１３４】
ここで、ストレージ要素１９００の動作を説明する。入力回路３６０は、データ入力「Ｄ」及びスキャン入力「ＳＤ」の一方に対応する信号をノード３６２で転送させる。ＳＣＡＮが論理０であるとき、スキャン入力「ＳＤ」は論理１であることに留意されたい。例えば、ＳＣＡＮが論理０であるとき、ストレージ要素１９００の先行するストレージ要素（ストレージ要素２００など）のスキャン出力「ＳＱ」がプルアップされ、このプルアップされた論理１はストレージ要素１９００のスキャン入力「ＳＤ」に供給される。ＳＣＡＮが論理１であるとき、テストデータ、及び先行するストレージ要素から受け取る値に応じて、スキャン入力「ＳＤ」は論理０又は論理１のいずれかを取り得る。図４を参照して説明したように、ＳＣＡＮが論理０であるとき、データ入力「Ｄ」の反転がノード３６２で転送され、ＳＣＡＮが論理１であるとき、スキャン入力「ＳＤ」の反転がノード３６２で転送される。
【０１３５】
機能モードにおいて（ＳＣＡＮが論理０である又はＳＣＡＮＺが論理１であるとき）、スキャン入力「ＳＤ」は論理１であり、そのため、トランジスタ３７５及び３８０がディセーブルされ、トランジスタ３７０及び３８５がイネーブルされる。したがって、トランジスタ３６５、３７０、３９０、及び３８５はインバータ構成を形成し、「Ｄ」の反転論理レベルがノード３６２に転送される。「Ｄ」が論理１に設定されると仮定すると、「Ｄ」の反転、例えば論理０、がノード３６２で利用可能となる。シフト回路１５０は、ノード１４５において、ノード３６２における値の反転である論理レベルを強制するように構成される。例えば、シフト回路１５０のインバータ１１０の出力は論理１である。ＣＬＫがローであるとき、トランスミッションゲート１１５が透過になり、トランスミッションゲートの入力における論理１がノード１９５に転送され、インバータ１３０の出力（ノード１９７）を論理０にする。ＣＬＫがハイになるとき、トランスミッションゲート１２５が透過になり、それによってノード１９７における値（論理０）がインバータ１２０に転送される。インバータ１２０はノード１９５を論理１にする。別のトランスミッションゲート１３５が、ＣＬＫがハイになるときイネーブルされ、そのためノード１９７における値（論理０）をインバータ１４０に転送する。インバータ１４０はノード１４５を論理１にする。インバータ１８５、トランスミッションゲート１９０、及びインバータ１４６は、ＣＬＫが論理０であるときループバック経路を構成し、ノード１４５における値を保持することを助ける。データ出力バッファ６５０は、ノード１４５における値を反転させ、ノード６２５を論理０にする。ＳＣＡＮが論理０であるため、トランジスタ６２０がディセーブルされ、トランジスタ６０５、６１０、及び６１５がインバータ構成を形成し、それによってノード１４５の反転値（例えば論理０）がノード６２５で転送される。データ出力「Ｑ」がノード６２５（これはデータ出力端子である）からデータ入力「Ｄ」の反転として取り出される。ＳＣＡＮが論理０であるため、トランジスタ４０５及び４１０によって形成されるトランスミッションゲートはノード１４５からノード４１５を隔離する。同時に、トランジスタ４２０がイネーブルされ、それによって、機能モードにおいてクロック信号ＣＬＫに関わらずノード４１５が論理０にプルダウンされる。スキャン出力端子はノード４１５に結合される。したがって、機能モードにおいて（ＳＣＡＮが論理０であるとき）、スキャン出力「ＳＱ」は論理０に拘束される（これは、スキャン出力端子によって駆動されるスキャン経路における組合せ論理切り替えに起因する機能モードにおける電力低減の助けとなり得る）。スキャンイネーブル入力（ＳＣＡＮＺ）は制御信号として働き、この制御信号は、スキャン出力端子「ＳＱ」を論理１に拘束させるか否かを決定する。したがって、ＳＣＡＮが論理０であるとき、データ出力「Ｑ」はデータ入力「Ｄ」の反転に従い、スキャン出力「ＳＱ」は論理０に拘束される（すなわち、プルダウンされる）。
【０１３６】
シフトモードにおいて（ＳＣＡＮが論理１である又はＳＣＡＮＺが論理０であるとき）、トランジスタ３７０はディセーブルされ、トランジスタ３７５（プルアップ）並びにトランジスタ３８０及び３８５（プルダウン）はインバータ構成を形成し、スキャン入力「ＳＤ」の反転がノード３６２に転送される。ＳＣＡＮが論理１であるとき、トランジスタ４２０がディセーブルされ、トランジスタ４０５及び４１０によって形成されるトランスミッションゲートがノード１４５に存在する値をノード４１５に転送するので、スキャン出力バッファ４５０はトランスミッションゲートバッファとして動作することにさらに留意されたい。シフト回路１５０は、ノード１４５において、ノード３６２の反転である論理レベルを強制するように構成される。例えば、スキャン入力「ＳＤ」が論理１である場合（ＳＣＡＮが論理１であれば）、ノード３６２は論理０であり、ノード１４５は論理１である。スキャン出力バッファ４５０は、スキャン出力「ＳＱ」に結合されるノード４１５で論理１を転送する。したがって、ＩＣがシフトモードで動作するとき、スキャン入力「ＳＤ」はスキャン出力「ＳＱ」に転送される。ＳＣＡＮが論理１であるため、トランジスタ６０５はディセーブルされ、それにより、トランジスタ６０５及び６１０によって構成されるインバータがディセーブルされる。トランジスタ６２０は、ＳＣＡＮに応答して、イネーブルされ、ノード６２５（データ出力端子ｑ）をプルダウンする。トランジスタ６０５は、データ出力端子６２５がプルダウンされるとき（トランジスタ６１０及び６１５によって形成される）インバータを通る漏れ電流を保護するように構成されることに留意されたい。
【０１３７】
シフトモードにおいて、データ出力「Ｑ」は論理０に拘束される（これは、データ出力端子によって駆動される組合せ論理切り替えに起因するシフトモードにおける電力低減の助けとなり得る）。スキャンイネーブル入力（ＳＣＡＮ）は制御信号として働き、この制御信号はデータ出力端子「Ｑ」を論理０に拘束させるか否かを決定する。ＳＣＡＮが０であるとき、データ出力「Ｑ」はデータ入力「Ｄ」の反転に従い、スキャン出力「ＳＱ」は論理０に拘束される。ＳＣＡＮが論理１であるとき、データ出力「Ｑ」は論理０に拘束され、スキャン出力「ＳＱ」はスキャン入力（ｓｄ）に従う。この実施形態に従って、Ｑゲーティングに起因して機能組合せ論理がすべてはトグルされないので、多くのＡＴＰＧシフトサイクルにわたる平均電力が下がる。各論理ブロックに対しフロップの種類（プルアップ又はプルダウン）を正しく選択することによって第１のシフトサイクルにわたる瞬間ピーク電力が最適化され得る。この技術は、既存のスキャンフロップのサブセットのみをこの新たな設計に変換するように設計者が決定する場合に極めて有用である。ピーク／平均電力が「プルアップ」又は「プルダウン」Ｑゲーティングの選択によって決まるからである。
【０１３８】
図２０は、或る実施形態に従ったスキャンチェーン１００の第１のストレージ要素以外のストレージ要素の例を示す。ストレージ要素２０００は、ストレージ要素２０００によって受け取られるスキャン入力「ＳＤ」が機能モードにおいてプルダウンされる場合の、ストレージ要素１００２、１００３、．．．、又は１００ｎのいずれかの例とし得る。例えば、ストレージ要素２０００は、（ストレージ要素２０００の）先行するストレージ要素によって提供されるスキャン出力「ＳＱ」（これは、ストレージ要素２０００のスキャン入力「ＳＤ」に結合される）が機能モードにおいて（ＳＣＡＮが論理０であるとき）プルダウンされる場合に用いられる。例えば、ＳＣＡＮが論理０であるとき、スキャン入力「ＳＤ」は論理０である。
【０１３９】
ストレージ要素２０００は、ノード４１５（スキャン出力端子）を駆動するためスキャン出力バッファ４５０に結合されるノード１４５を含む。この例示実施形態では、ノード１４５は、ノード２２５（データ出力端子）を駆動するためデータ出力バッファ２５０にも結合される。ストレージ要素２０００は、それぞれ、先行するストレージ要素のデータ出力「Ｑ」及びスキャン出力「ＳＱ」からデータ入力（「Ｄ」参照）及びスキャン入力（「ＳＤ」参照）を受け取るように構成される入力回路４６０を含む。入力回路４６０は、データ入力「Ｄ」及びスキャン入力「ＳＤ」の一方に対応する信号をノード４６２で提供するように構成される。例えば、シフトモードにおいて（ＳＣＡＮＺが論理１であるとき）、データ入力「Ｄ」の反転がノード４６２で提供され、機能モードにおいて（ＳＣＡＮＺが論理０であるとき）、スキャン入力「ＳＤ」の反転がノード４６２で提供される。
【０１４０】
入力回路４６０の出力（例えばノード４６２）が、ノード４６２に対応する信号をノード１４５に転送するように構成されるシフト回路１５０に接続される。データ出力バッファ２５０の入力はノード１４５に接続され、データ出力バッファ２５０の出力はノード２２５（データ出力端子）に接続される。ストレージ要素２０００のデータ出力（ｑ）はノード２２５から取り出される。スキャン出力バッファ４５０もノード１４５に接続される。図８を参照して説明したように、スキャン出力バッファ４５０は、ＰＭＯＳトランジスタ４０５（第１のＭＯＳトランジスタ）及びＮＭＯＳトランジスタ４１０（第２のＭＯＳトランジスタ）（トランスミッションゲートを形成する）を含み、プルダウンＮＭＯＳトランジスタ４２０がそれに続く。トランジスタ４２０は、機能モードにおいて（ＳＣＡＮＺが論理１であるとき）プルダウントランジスタとして動作する。これは、機能モードにおいてトランジスタ４０５及び４１０がディセーブルされるからである。シフトモードにおいて（ＳＣＡＮＺが論理０であるとき）、トランジスタ４２０はディセーブルされ、トランスミッションゲートは、イネーブルされ、ノード１４５の値をノード４１５に提供する。
【０１４１】
ここで、ストレージ要素２０００の動作を説明する。入力回路４６０は、データ入力「Ｄ」及びスキャン入力「ＳＤ」の一方に対応する信号をノード４６２で転送させる。ＳＣＡＮが論理０であるとき、スキャン入力「ＳＤ」は論理０であることに留意されたい。例えば、ＳＣＡＮが論理０であるとき、ストレージ要素２０００の先行するストレージ要素（ストレージ要素２００など）のスキャン出力「ＳＱ」がプルダウンされ、このプルダウンされた論理０はストレージ要素２０００のスキャン入力「ＳＤ」に供給される。ＳＣＡＮが論理１であるとき、テストデータ、及び先行するストレージ要素から受け取る値に応じて、スキャン入力「ＳＤ」は論理０又は論理１のいずれかを取り得る。図５を参照して説明したように、ＳＣＡＮが論理０であるとき、データ入力「Ｄ」の反転がノード４６２で転送され、ＳＣＡＮが論理１であるとき、スキャン入力「ＳＤ」の反転がノード４６２で転送される。
【０１４２】
機能モードにおいて（ＳＣＡＮが論理０である又はＳＣＡＮＺが論理１であるとき）、スキャン入力「ＳＤ」は論理０であり、そのため、トランジスタ４７５及び４９０がディセーブルされ、トランジスタ４６５及び４８０がイネーブルされる。したがって、トランジスタ４６５、４７０、４８０、及び４８５はインバータ構成を形成し、「Ｄ」の反転論理レベルがノード４６２に転送される。「Ｄ」が論理１に設定されると仮定すると、「Ｄ」の反転、例えば論理０、がノード４６２で利用可能となる。シフト回路１５０は、ノード１４５において、ノード４６２における値の反転である論理レベルを強制するように構成される。例えば、シフト回路１５０のインバータ１２０の出力において論理１が転送される。ＣＬＫがローであるとき、トランスミッションゲート１２５が透過になり、トランスミッションゲートの入力における論理１がノード１９５に転送され、インバータ１３０の出力（ノード１９７）を論理０にする。ＣＬＫがハイになるとき、トランスミッションゲート１２５は透過になり、それによってノード１９７における値（論理０）がインバータ１２０に転送される。インバータ１２０はノード１９５を論理１にする。別のトランスミッションゲート１３５が、ＣＬＫがハイになるときイネーブルされ、そのためノード１９７における値（論理０）をインバータ１４０に転送する。インバータ１４０はノード１４５を論理１にする。インバータ１８５、トランスミッションゲート１９０、及びインバータ１４６は、ＣＬＫが論理０であるときループバック経路を構成し、ノード１４５における値を保持することを助ける。データ出力バッファ２５０は、ノード１４５における値を反転させ、ノード２２５を論理０にする。ＳＣＡＮが論理０であるため、トランジスタ２２０がディセーブルされ、トランジスタ２０５、２１０、及び２１５がインバータ構成を形成し、それによって、ノード１４５の反転値（例えば論理０）がノード２２５で転送される。データ出力「Ｑ」がノード２２５（これはデータ出力端子である）からデータ入力「Ｄ」の反転として取り出される。ＳＣＡＮが論理０であるため、トランジスタ４０５及び４１０によって形成されるトランスミッションゲートはノード１４５からノード４１５を隔離する。同時に、トランジスタ４２０がイネーブルされ、それによって、機能モードにおいてクロック信号ＣＬＫに関わらずノード４１５が論理０にプルダウンされる。スキャン出力端子はノード４１５に結合される。したがって、機能モードにおいて（ＳＣＡＮが論理０であるとき）、スキャン出力「ＳＱ」は論理０に拘束される（これは、スキャン出力端子によって駆動されるスキャン経路における組合せ論理切り替えに起因する機能モードにおける電力低減の助けとなり得る）。スキャンイネーブル入力（ＳＣＡＮＺ）は制御信号として働き、この制御信号は、スキャン出力端子「ＳＱ」を論理１に拘束させるか否かを決定する。したがって、ＳＣＡＮが論理０であるとき、データ出力「Ｑ」はデータ入力「Ｄ」の反転に従い、スキャン出力「ＳＱ」は論理０に拘束される（すなわち、プルダウンされる）。
【０１４３】
シフトモードにおいて（ＳＣＡＮが論理１である又はＳＣＡＮＺが論理０であるとき）、トランジスタ４８０はディセーブルされ、トランジスタ４６５、４７５（プルアップ）及びトランジスタ４９０（プルダウン）はインバータ構成を形成し、スキャン入力「ＳＤ」の反転がノード４６２に転送される。ＳＣＡＮが論理１であるとき、トランジスタ４２０がディセーブルされ、トランジスタ４０５及び４１０によって構成されるトランスミッションゲートがノード１４５に存在する値をノード４１５に転送するので、スキャン出力バッファ４５０はトランスミッションゲートバッファとして動作することにさらに留意されたい。シフト回路１５０は、ノード１４５において、ノード４６２の反転である論理レベルを強制するように構成される。例えば、スキャン入力「ＳＤ」が論理１である場合（ＳＣＡＮが論理１であれば）、ノード４６２は論理０であり、ノード１４５は論理１である。スキャン出力バッファ４５０は、スキャン出力「ＳＱ」に結合されるノード４１５で論理１を転送する。したがって、ＩＣがシフトモードで動作するとき、スキャン入力「ＳＤ」はスキャン出力「ＳＱ」に転送される。ＳＣＡＮが論理１であるため、トランジスタ２１５はディセーブルされ、そのため、トランジスタ２０５及び２１０によって構成されるインバータがディセーブルされる。トランジスタ２２０は、論理０であるＳＣＡＮＺに応答して、イネーブルされ、ノード２２５（データ出力端子）をプルアップする。トランジスタ２１５は、データ出力端子（ノード２２５）がプルアップされるとき（トランジスタ２０５及び２１０によって形成される）インバータを通る漏れ電流を保護するように構成されることに留意されたい。
【０１４４】
シフトモードにおいて、データ出力「Ｑ」は論理１に拘束される（これは、データ出力端子によって駆動される組合せ論理切り替えに起因するシフトモードにおける電力低減の助けとなり得る）。スキャンイネーブル入力（ＳＣＡＮ）は制御信号として働き、この制御信号は、データ出力端子「Ｑ」を論理１に拘束させるか否かを決定する。ＳＣＡＮが０であるとき、データ出力「Ｑ」はデータ入力「Ｄ」の反転に従い、スキャン出力「ＳＱ」は論理０に拘束される。ＳＣＡＮが論理１であるとき、データ出力「Ｑ」は論理１に拘束され、スキャン出力「ＳＱ」はスキャン入力（ｓｄ）に従う。この実施形態に従って、Ｑゲーティングに起因して機能組合せ論理がすべてはトグルされないので、多くのＡＴＰＧシフトサイクルにわたる平均電力が下がる。各論理ブロックに対しフロップの種類（プルアップ又はプルダウン）を正しく選択することによって第１のシフトサイクルにわたる瞬間ピーク電力が最適化され得る。この技術は、既存のスキャンフロップのサブセットのみをこの新たな設計に変換するように設計者が決定する場合に極めて有用である。ピーク／平均電力が「プルアップ」又は「プルダウン」Ｑゲーティングの選択によって決まるからである。
【０１４５】
図２１は、或る実施形態に従ったスキャンチェーン１００の第１のストレージ要素以外のストレージ要素の例を示す。ストレージ要素２１００は、ストレージ要素２１００によって受け取られるスキャン入力「ＳＤ」が機能モードにおいてプルダウンされる場合の、ストレージ要素１００２、１００３、．．．、又は１００ｎのいずれかの例とし得る。例えば、ストレージ要素２１００は、（ストレージ要素２１００の）先行するストレージ要素によって提供されるスキャン出力「ＳＱ」（これは、ストレージ要素２１００のスキャン入力「ＳＤ」に結合される）が機能モードにおいて（ＳＣＡＮが論理０であるとき）プルダウンされる場合に用いられる。例えば、ＳＣＡＮが論理０であるとき、スキャン入力「ＳＤ」は論理０である。
【０１４６】
ストレージ要素２１００は、ノード４１５（スキャン出力端子）を駆動するためスキャン出力バッファ４５０に結合されるノード１４５を含む。この例示実施形態では、ノード１４５は、ノード６２５（データ出力端子）を駆動するためデータ出力バッファ６５０にも結合される。ストレージ要素２１００は、それぞれ、先行するストレージ要素のデータ出力「Ｑ」及びスキャン出力「ＳＱ」からデータ入力（「Ｄ」参照）及びスキャン入力（「ＳＤ」参照）を受け取るように構成される入力回路４６０を含む。入力回路４６０は、データ入力「Ｄ」及びスキャン入力「ＳＤ」の一方に対応する信号をノード４６２で提供するように構成される。例えば、シフトモードにおいて（ＳＣＡＮＺが論理１であるとき）、データ入力「Ｄ」の反転がノード４６２で提供され、機能モードにおいて（ＳＣＡＮＺが論理０であるとき）、スキャン入力「ＳＤ」の反転がノード４６２で提供される。
【０１４７】
入力回路４６０の出力（例えばノード４６２）が、ノード４６２に対応する信号をノード１４５に転送するように構成されるシフト回路１５０に接続される。データ出力バッファ６５０の入力はノード１４５に接続され、データ出力バッファ６５０の出力はノード６２５（データ出力端子）に接続される。ストレージ要素２１００のデータ出力（ｑ）はノード６２５から取り出される。スキャン出力バッファ４５０もノード１４５に接続される。図８を参照して説明したように、スキャン出力バッファ４５０は、ＰＭＯＳトランジスタ４０５（第１のＭＯＳトランジスタ）及びＮＭＯＳトランジスタ４１０（第２のＭＯＳトランジスタ）（トランスミッションゲートを形成する）を含み、プルダウンＮＭＯＳトランジスタ４２０がそれに続く。トランジスタ４２０は、機能モードにおいて（ＳＣＡＮＺが論理１であるとき）プルダウントランジスタとして動作する。これは、機能モードにおいてトランジスタ４０５及び４１０がディセーブルされるからである。シフトモードにおいて（ＳＣＡＮＺが論理０であるとき）、トランジスタ４２０はディセーブルされ、トランスミッションゲートは、イネーブルされ、ノード１４５の値をノード４１５に提供する。
【０１４８】
ここで、ストレージ要素２１００の動作を説明する。入力回路４６０は、データ入力「Ｄ」及びスキャン入力「ＳＤ」の一方に対応する信号をノード４６２で転送させる。ＳＣＡＮが論理０であるとき、スキャン入力「ＳＤ」は論理０であることに留意されたい。例えば、ＳＣＡＮが論理０であるとき、ストレージ要素２１００の先行するストレージ要素（ストレージ要素２００など）のスキャン出力「ＳＱ」がプルダウンされ、このプルダウンされた論理０はストレージ要素２１００のスキャン入力「ＳＤ」に供給される。ＳＣＡＮが論理１であるとき、テストデータ、及び先行するストレージ要素から受け取る値に応じて、スキャン入力「ＳＤ」は論理０又は論理１のいずれかを取り得る。図５を参照して説明したように、ＳＣＡＮが論理０であるとき、データ入力「Ｄ」の反転がノード４６２で転送され、ＳＣＡＮが論理１であるとき、スキャン入力「ＳＤ」の反転がノード４６２で転送される。
【０１４９】
機能モードにおいて（ＳＣＡＮが論理０である又はＳＣＡＮＺが論理１であるとき）、スキャン入力「ＳＤ」は論理０であり、そのため、トランジスタ４７５及び４９０がディセーブルされ、トランジスタ４６５及び４８０がイネーブルされる。したがって、トランジスタ４６５、４７０、４８０、及び４８５はインバータ構成を形成し、「Ｄ」の反転論理レベルがノード４６２に転送される。「Ｄ」が論理１に設定されると仮定すると、「Ｄ」の反転、例えば論理０、がノード４６２で利用可能となる。シフト回路１５０は、ノード１４５において、ノード４６２における値の反転である論理レベルを強制するように構成される。例えば、シフト回路１５０のインバータ１２０の出力において論理１が転送される。ＣＬＫがローであるとき、トランスミッションゲート１２５が透過になり、トランスミッションゲートの入力における論理１がノード１９５に転送され、インバータ１３０の出力（ノード１９７）を論理０にする。ＣＬＫがハイになるとき、トランスミッションゲート１２５は透過になり、それによってノード１９７における値（論理０）がインバータ１２０に転送される。インバータ１２０はノード１９５を論理１にする。別のトランスミッションゲート１３５が、ＣＬＫがハイになるときイネーブルされ、そのためノード１９７における値（論理０）をインバータ１４０に転送する。インバータ１４０はノード１４５を論理１にする。インバータ１８５、トランスミッションゲート１９０、及びインバータ１４６は、ＣＬＫが論理０であるときループバック経路を構成し、ノード１４５における値を保持することを助ける。データ出力バッファ６５０は、ノード１４５における値を反転させ、ノード６２５を論理０にする。ＳＣＡＮが論理０であるため、トランジスタ６２０がディセーブルされ、トランジスタ６０５、６１０、及び６１５がインバータ構成を形成し、それによってノード１４５の反転値（例えば論理０）がノード６２５で転送される。データ出力「Ｑ」がノード６２５（これはデータ出力端子である）からデータ入力「Ｄ」の反転として取り出される。ＳＣＡＮが論理０であるため、トランジスタ４０５及び４１０によって形成されるトランスミッションゲートはノード１４５からノード４１５を隔離する。同時に、トランジスタ４２０がイネーブルされ、それによって、機能モードにおいてクロック信号ＣＬＫに関わらずノード４１５が論理０にプルダウンされる。スキャン出力端子はノード４１５に結合される。したがって、機能モードにおいて（ＳＣＡＮが論理０であるとき）、スキャン出力「ＳＱ」は論理０に拘束される（これは、スキャン出力端子によって駆動されるスキャン経路における組合せ論理切り替えに起因する機能モードにおける電力低減の助けとなり得る）。スキャンイネーブル入力（ＳＣＡＮＺ）は制御信号として働き、この制御信号は、スキャン出力端子「ＳＱ」を論理１に拘束させるか否かを決定する。したがって、ＳＣＡＮが論理０であるとき、データ出力「Ｑ」はデータ入力「Ｄ」の反転に従い、スキャン出力「ＳＱ」は論理０に拘束される（すなわち、プルダウンされる）。
【０１５０】
シフトモードにおいて（ＳＣＡＮが論理１である又はＳＣＡＮＺが論理０であるとき）、トランジスタ４８０はディセーブルされ、トランジスタ４６５、４７５（プルアップ）及びトランジスタ４９０（プルダウン）はインバータ構成を形成し、スキャン入力「ＳＤ」の反転がノード４６２に転送される。ＳＣＡＮが論理１であるとき、トランジスタ４２０がディセーブルされ、トランジスタ４０５及び４１０によって形成されるトランスミッションゲートがノード１４５に存在する値をノード４１５に転送するので、スキャン出力バッファ４５０はトランスミッションゲートバッファとして動作することにさらに留意されたい。シフト回路１５０は、ノード１４５において、ノード４６２の反転である論理レベルを強制するように構成される。例えば、スキャン入力「ＳＤ」が論理１である場合（ＳＣＡＮが論理１であれば）、ノード４６２は論理０であり、ノード１４５は論理１である。スキャン出力バッファ４５０は、スキャン出力「ＳＱ」に結合されるノード４１５で論理１を転送する。したがって、ＩＣがシフトモードで動作するとき、スキャン入力「ＳＤ」はスキャン出力「ＳＱ」に転送される。ＳＣＡＮが論理１であるため、トランジスタ２１５がディセーブルされ、そのため、トランジスタ２０５及び２１０によって構成されるインバータがディセーブルされる。トランジスタ６２０は、論理１であるＳＣＡＮＺに応答して、イネーブルされ、ノード６２５（データ出力端子）をプルダウンする。トランジスタ６０５は、データ出力端子がプルダウンされるとき（トランジスタ６１０及び６１５によって形成される）インバータを通る漏れ電流を保護するように構成されることに留意されたい。
【０１５１】
シフトモードにおいて、データ出力「Ｑ」は論理０に拘束される（これは、データ出力端子によって駆動される組合せ論理切り替えに起因するシフトモードにおける電力低減の助けとなり得る）。スキャンイネーブル入力（ＳＣＡＮ）は制御信号として働き、この制御信号は、データ出力端子「Ｑ」を論理０に拘束させるか否かを決定する。ＳＣＡＮが０であるとき、データ出力「Ｑ」はデータ入力「Ｄ」の反転に従い、スキャン出力「ＳＱ」は論理０に拘束される。ＳＣＡＮが論理１であるとき、データ出力「Ｑ」は論理０に拘束され、スキャン出力「ＳＱ」はスキャン入力（ｓｄ）に従う。この実施形態に従って、Ｑゲーティングに起因して機能組合せ論理がすべてはトグルされないので、多くのＡＴＰＧシフトサイクルにわたる平均電力が下がる。各論理ブロックに対しフロップの種類（プルアップ又はプルダウン）を正しく選択することによって第１のシフトサイクルにわたる瞬間ピーク電力が最適化され得る。この技術は、既存のスキャンフロップのサブセットのみをこの新たな設計に変換するように設計者が決定する場合に極めて有用である。ピーク／平均電力が「プルアップ」又は「プルダウン」Ｑゲーティングの選択によって決まるからである。
【０１５２】
様々な実施形態が、ＩＣが提供されるスキャンチェーン（例えばスキャンチェーン１００）におけるスキャン可能なストレージ要素を動作させるための方法２２００も提供する。このスキャン可能なストレージ要素の例は、図４〜図２１を参照して説明したスキャン可能なストレージ要素とし得る。２２０５において、方法２２００は、データ入力及びスキャン入力の一方に応答して、スキャン可能なストレージ要素の第１のノードで第１の信号を生成することを含む。或る実施形態では、スキャン入力は、ＩＣをテストする機能モードにおけるプルアップ及びプルダウン論理の一方とし得る。或る実施形態では、第１の信号を生成することは、データ入力を受け取るための第１のスイッチとスキャンイネーブル入力を受け取るための第２のスイッチとを含む第１のプルアップ経路を提供すること、及び、スキャン入力を受け取るための第３のスイッチを含む第２のプルアップ経路を提供することを含む。第１のプルアップ経路及び第２のプルアップ経路は、電源と第１のノードとの間で結合される。この実施形態では、第１の信号を生成することは更に、スキャンイネーブル入力を受け取るための第４のスイッチとスキャン入力を受け取るための第５のスイッチとを含む第１のプルダウン経路を提供すること、及び、データ入力を受け取るための第６のスイッチを含む第２のプルダウン経路を提供することを含む。第１のプルダウン経路及び第２のプルダウン経路は、第１のノードと基準源との間で結合される。第１〜第６のスイッチの例は、ＭＯＳトランジスタ、又は任意の他の電子／電気構成要素、或いはＭＯＳトランジスタに機能的に類似し得る構成要素の組合せを含み得る。
【０１５３】
別の実施形態において、第１の信号を生成することは、スキャン入力を受け取るための第１のスイッチとデータ入力を受け取るための第２のスイッチとを含む第１のプルアップ経路を提供すること、及び、第１のスイッチと反転スキャンイネーブル入力を受け取るための第３のスイッチとを含む第２のプルアップ経路を提供することを含む。第１のプルアップ経路及び第２のプルアップ経路は、電源と第１のノードとの間で結合される。この実施形態では、第１の信号を生成することは更に、反転スキャンイネーブル入力を受け取るための第４のスイッチとデータ入力を受け取るための第５のスイッチとを含む第１のプルダウン経路を提供すること、及び、スキャン入力を受け取るための第６のスイッチを含む第２のプルダウン経路を提供することを含む。第１のプルダウン経路及び第２のプルダウン経路は、第１のノードと基準源との間で結合される。第１〜第６のスイッチの例は、ＭＯＳトランジスタ、又は任意の他の電子／電気構成要素、或いはＭＯＳトランジスタに機能的に類似し得る構成要素の組合せを含み得る。
【０１５４】
２２１０において、方法２２００は、スキャン可能なストレージ要素の第２のノードにおいて第１の信号に応答して１つ又は複数の逐次要素によって第２の信号を生成することを含む。さらに、２２１５において、方法２２００は、第２の信号に応答して、スキャン可能なストレージ要素のスキャン出力端子でスキャン出力を生成することを含む。スキャン出力は、機能モードにおけるプルアップ論理及びプルダウン論理の一方であり、スキャン出力は、シフトモードにおけるスキャン入力に対応する。２２２０において、方法２２００はさらに、データ出力端子で第２の信号に応答してデータ出力を生成することを含む。
【０１５５】
本発明の特許請求の範囲内で、説明した例示実施形態を改変することができ、また、多くの他の実施形態が可能であることが当業者には理解されよう。
【図１】
0006577366.tif 000002
【図２】
0006577366.tif 000003
【図３】
0006577366.tif 000004
【図４】
0006577366.tif 000005
【図５】
0006577366.tif 000006
【図６】
0006577366.tif 000007
【図７】
0006577366.tif 000008
【図８】
0006577366.tif 000009
【図９】
0006577366.tif 000010
【図１０】
0006577366.tif 000011
【図１１】
0006577366.tif 000012
【図１２】
0006577366.tif 000013
【図１３】
0006577366.tif 000014
【図１４】
0006577366.tif 000015
【図１５】
0006577366.tif 000016
【図１６】
0006577366.tif 000017
【図１７】
0006577366.tif 000018
【図１８】
0006577366.tif 000019
【図１９】
0006577366.tif 000020
【図２０】
0006577366.tif 000021
【図２１】
0006577366.tif 000022
【図２２】
0006577366.tif 000023