JP6577366B2 - 集積回路におけるスキャンチェーン - Google Patents

集積回路におけるスキャンチェーン Download PDF

Info

Publication number
JP6577366B2
JP6577366B2 JP2015553888A JP2015553888A JP6577366B2 JP 6577366 B2 JP6577366 B2 JP 6577366B2 JP 2015553888 A JP2015553888 A JP 2015553888A JP 2015553888 A JP2015553888 A JP 2015553888A JP 6577366 B2 JP6577366 B2 JP 6577366B2
Authority
JP
Japan
Prior art keywords
scan
node
input
pull
logic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015553888A
Other languages
English (en)
Other versions
JP2016510550A (ja
JP2016510550A5 (ja
Inventor
ナレンドラ パリク ナイシャド
ナレンドラ パリク ナイシャド
ティワリ プランジャル
ティワリ プランジャル
ドゥベイ アイシュワリャ
ドゥベイ アイシュワリャ
Original Assignee
日本テキサス・インスツルメンツ合同会社
テキサス インスツルメンツ インコーポレイテッド
テキサス インスツルメンツ インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本テキサス・インスツルメンツ合同会社, テキサス インスツルメンツ インコーポレイテッド, テキサス インスツルメンツ インコーポレイテッド filed Critical 日本テキサス・インスツルメンツ合同会社
Publication of JP2016510550A publication Critical patent/JP2016510550A/ja
Publication of JP2016510550A5 publication Critical patent/JP2016510550A5/ja
Application granted granted Critical
Publication of JP6577366B2 publication Critical patent/JP6577366B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318541Scan latches or cell details

Description

本開示は、スキャンチェーンに関し、集積回路(IC)における電力及び面積の最適化に関する。
集積回路(IC)テストでは、内部の埋め込みスキャン設計のテスト技術が、ICの動作をテストするコスト効果の高い解決策になっている。スキャン設計は、IC内の標準のフリップフロップ及びラッチ(ストレージ要素)の構造をスキャンフリップフロップ及びラッチに変更することによって達成され、これは、機能データ入力に並列にスキャンデータ用の第2の交互スキャン入力を設けることによって行われる。スキャンデータ用の交互入力は、概して、スキャンデータ又は機能データのいずれかを選択するマルチプレクサを標準入力の前に配置することによって実装される。これらの「スキャン可能な」要素は、1つの要素の出力を次の要素のスキャン入力に「スキャンチェーン」を介して直列に接続することによって、シリアルシフトレジスタの型に共に接続される。スキャンチェーンは、スキャンイネーブル信号がアサートされるとき各アクティブクロックエッジにおいて1つの要素から別の要素へスキャンデータを転送させることによって、内部IC状態情報をロード及びアンロードすることができる。
スキャン可能なストレージ回路の自動テストパターン生成(ATPG)シフトモードにおける静的タイミング解析(STA)クロージャ周波数は極めて高いが、製造テスト記述言語(TDL)は、ATPGシフトモードにおける完全な設計論理トグルによって生じる大きなIR降下及び信頼性の問題に起因してより低い周波数で動作される。組合せ論理は、スキャンモードにおける電力消費の40%を超える電力に相当する。ATPGシフトの間、論理がトグルされる必要はない。機能組合せ論理に対してトグルを停止できる場合、ATPGシフト周波数はかなり高くされ得、その結果、テスト時間ひいてはテスタコストが低減される。この設計の電力消費は、特定の経路に対して「プルダウン」Qゲート又は「プルアップ」Qゲートフロップのいずれを選択するかによって決まる。ポストシリコンテストプログラムの開発では、特に「ゲート化Q」フロップを部分的に使用する場合、すべての可能なTDL組合せに対するテスト電力を最小にすることを保証する回路の種類を決定することが難しくなる。
動作の機能モードにおいて、フロップのSD(スキャン入力)ピンは、前のフロップのSQ(スキャン出力)ピンに接続される。フロップのD(機能データ)ピンに対して信号活動がある場合は常に、信号は後続のフロップのSDピンに進み、それによって不必要な電力損失が生じる。機能動作においてテスト回路でかなりの量の電力が不必要に消費される。デバイスが過駆動モード(高周波数モード)で動作するとき、電力損失が大きくなり、それによってバッテリの放電が速くなる。
集積回路(IC)における多くの例示のスキャン可能なストレージ要素が開示されており、これらは面積及び電力要件を低減するように構成されている。或る実施形態では、ICにおいて用いるためのスキャン可能なストレージ要素が提供される。スキャン可能なストレージ要素は、データ入力及びスキャン入力の一方に応答して第1のノードに信号を提供するように構成される入力回路を含み、スキャン入力は、機能モードにおけるプルアップ論理である。入力回路は、データ入力を受け取る第1のスイッチとスキャンイネーブル入力を受け取る第2のスイッチとを含む第1のプルアップ経路、及びスキャン入力を受け取る第3のスイッチを含む第2のプルアップ経路を含む。第2のプルアップ経路及び第1のプルアップ経路は、電源と第1のノードとの間で結合される。入力回路はさらに、スキャンイネーブル入力を受け取る第4のスイッチとスキャン入力を受け取る第5のスイッチとを含む第1のプルダウン経路、及びデータ入力を受け取る第6のスイッチを含む第2のプルダウン経路を含み、第1のプルダウン経路及び第2のプルダウン経路は、第1のノードと基準サプライとの間で結合される。ストレージ要素はまた、1つ又は複数の逐次構成要素を含み、第2のノードで第1の信号に応答して第2の信号を提供するように構成される、シフト回路と、第2の信号を受け取るため第2のノードに結合されるスキャン出力バッファとを含み、スキャン出力バッファは、第2の信号に応答してスキャン出力端子でスキャン出力を提供するように構成される。ここで、スキャン出力は機能モードにおけるプルアップ論理及びプルダウン論理の一方であり、スキャン出力はシフトモードにおけるスキャン入力に対応する。
別の実施形態において、ICにおいて用いるためのスキャン可能なストレージ要素が提供される。このスキャン可能なストレージ要素は、データ入力及びスキャン入力の一方に応答して第1のノードに信号を提供するように構成される入力回路を含み、スキャン入力は、機能モードにおけるプルダウン論理である。この入力回路は、スキャン入力を受け取る第1のスイッチトランジスタとデータ入力を受け取る第2のスイッチとを含む第1のプルアップ経路、及び、第1のスイッチと反転スキャンイネーブル入力を受け取る第3のスイッチとを含む第2のプルアップ経路を含み、第2のプルアップ経路及び第1のプルアップ経路は、電源と第1のノードとの間で結合される。この入力回路はさらに、反転スキャンイネーブル入力を受け取る第4のスイッチとデータ入力を受け取る第5のスイッチとを含む第1のプルダウン経路、及び、スキャン入力を受け取る第6のスイッチを含む第2のプルダウン経路を含み、第1のプルダウン経路及び第2のプルダウン経路は、第1のノードと基準源との間で結合される。このスキャン可能なストレージ要素はまた、1つ又は複数の逐次構成要素を含み、第2のノードで第1の信号に応答して第2の信号を提供するように構成される、シフト回路と、第2の信号を受け取るため第2のノードに結合されるスキャン出力バッファとを含み、スキャン出力バッファは、第2の信号に応答してスキャン出力端子でスキャン出力を提供するように構成される。ここで、スキャン出力は機能モードにおけるプルアップ論理及びプルダウン論理の一方であり、スキャン出力はシフトモードにおけるスキャン入力に対応する。
別の実施形態において、ICにおいて用いるためのスキャン可能なストレージ要素が提供される。このスキャン可能なストレージ要素は、データ入力及びスキャン入力の一方に応答して第1のノードに信号を提供するように構成される入力回路を含み、スキャン入力は、機能モードにおけるプルアップ及びプルダウン論理の一方である。このスキャン可能なストレージ要素はまた、1つ又は複数の逐次構成要素を含み、第2のノードで第1の信号に応答して第2の信号を提供するように構成される、シフト回路と、第2の信号を受け取るため第2のノードに結合されるスキャン出力バッファとを含み、スキャン出力バッファは、第2の信号に応答してスキャン出力端子でスキャン出力を提供するように構成される。ここで、スキャン出力は、機能モードにおけるプルアップ論理及びプルダウン論理の一方であり、スキャン出力は、シフトモードにおけるスキャン入力に対応する。
別の実施形態において、ICにおけるスキャン可能なストレージ要素を動作させる方法が提供される。この方法は、データ入力及びスキャン入力の一方に応答してスキャン可能なストレージ要素の第1のノードで第1の信号を生成することを含み、スキャン入力は、機能モードにおけるプルアップ及びプルダウン論理の一方である。この方法は、スキャン可能なストレージ要素の第2のノードで第1の信号に応答して1つ又は複数の逐次構成要素によって第2の信号を生成することを含む。この方法はさらに、第2の信号に応答してスキャン可能なストレージ要素のスキャン出力端子でスキャン出力を生成することを含む。スキャン出力は、機能モードにおけるプルアップ論理及びプルダウン論理の一方であり、スキャン出力は、シフトモードにおけるスキャン入力に対応する。
或る実施形態に従った集積回路(IC)におけるスキャンチェーンの例を示す。
或る例示実施形態に従った、機能モードにおいてスキャン出力がプルアップされるスキャンチェーンの第1のスキャン可能なストレージ要素を示す。 或る例示実施形態に従った、機能モードにおいてスキャン出力がプルアップされるスキャンチェーンの第1のスキャン可能なストレージ要素を示す。 或る例示実施形態に従った、機能モードにおいてスキャン出力がプルアップされるスキャンチェーンの第1のスキャン可能なストレージ要素を示す。 或る例示実施形態に従った、機能モードにおいてスキャン出力がプルアップされるスキャンチェーンの第1のスキャン可能なストレージ要素を示す。 或る例示実施形態に従った、機能モードにおいてスキャン出力がプルアップされるスキャンチェーンの第1のスキャン可能なストレージ要素を示す。
或る例示実施形態に従った、機能モードにおいてスキャン出力がプルダウンされるスキャン可能なストレージ要素を示す。 或る例示実施形態に従った、機能モードにおいてスキャン出力がプルダウンされるスキャン可能なストレージ要素を示す。 或る例示実施形態に従った、機能モードにおいてスキャン出力がプルダウンされるスキャン可能なストレージ要素を示す。
或る例示実施形態に従った、機能モードにおいてスキャン出力がプルアップされ、シフトモードにおいてデータ出力がプルアップされるスキャン可能なストレージ要素を示す。
或る例示実施形態に従った、機能モードにおいてスキャン出力がプルアップされ、シフトモードにおいてデータ出力がプルダウンされるスキャン可能なストレージ要素を示す。 或る例示実施形態に従った、機能モードにおいてスキャン出力がプルアップされ、シフトモードにおいてデータ出力がプルアップされるスキャン可能なストレージ要素を示す。 或る例示実施形態に従った、機能モードにおいてスキャン出力がプルアップされ、シフトモードにおいてデータ出力がプルダウンされるスキャン可能なストレージ要素を示す。
或る例示実施形態に従った、機能モードにおいてスキャン出力がプルダウンされ、シフトモードにおいてデータ出力がプルアップされるスキャン可能なストレージ要素を示す。 或る例示実施形態に従った、機能モードにおいてスキャン出力がプルダウンされ、シフトモードにおいてデータ出力がプルダウンされるスキャン可能なストレージ要素を示す。 或る例示実施形態に従った、機能モードにおいてスキャン出力がプルダウンされ、シフトモードにおいてデータ出力がプルアップされるスキャン可能なストレージ要素を示す。 或る例示実施形態に従った、機能モードにおいてスキャン出力がプルダウンされ、シフトモードにおいてデータ出力がプルダウンされるスキャン可能なストレージ要素を示す。 或る例示実施形態に従った、機能モードにおいてスキャン出力がプルダウンされ、シフトモードにおいてデータ出力がプルアップされるスキャン可能なストレージ要素を示す。 或る例示実施形態に従った、機能モードにおいてスキャン出力がプルダウンされ、シフトモードにおいてデータ出力がプルダウンされるスキャン可能なストレージ要素を示す。 或る例示実施形態に従った、機能モードにおいてスキャン出力がプルダウンされ、シフトモードにおいてデータ出力がプルアップされるスキャン可能なストレージ要素を示す。
或る例示実施形態に従った、機能モードにおいてスキャン出力がプルダウンされ、シフトモードにおいてデータ出力がプルダウンされるスキャン可能なストレージ要素を示す。
別の実施形態に従った、ICのスキャンチェーンにおけるスキャン可能なストレージ要素を動作させるための方法を示す。
図1は、或る実施形態に従った、集積回路(IC)におけるスキャンチェーン100の例を示す。図1に示すように、スキャンチェーン100は、多くのスキャン可能なストレージ要素100、100、...、100によって形成される。スキャン可能なストレージ要素の各々(下記では、スキャン可能なストレージ要素を「ストレージ要素」とも称する)は、データ入力(「D」参照)及びスキャン入力(「SD」参照)などの入力と、データ出力(「Q」参照)及びスキャン出力(「SQ」参照)などの対応する出力とを有する。スキャンチェーン100は、機能モード又はシフトモードで動作するように構成される。或る実施形態では、ストレージ要素100、100、...、100は、スキャンチェーンを構成するため直列方式で結合され得る。例えば、ストレージ要素(例えば、ストレージ要素100)のデータ入力「D」が、先行するストレージ要素(ストレージ要素100)のデータ出力「Q」に結合され、ストレージ要素(例えば、ストレージ要素100)のスキャン入力「SD」が、先行するストレージ要素(ストレージ要素100)のデータ出力「Q」に結合される。データ入力「D」と先行するストレージ要素のデータ出力「Q」との間に、幾つかの組合せ構成要素(例えば、102、102、102、...)が存在し得る。スキャンチェーン100のストレージ要素の様々な構成を図2〜図21を参照してさらに説明する。
図2は、或る実施形態に従ったスキャンチェーン100の第1のストレージ要素の例を示す。例えば、ストレージ要素200が、スキャンチェーン100の第1のスキャン可能なストレージ要素100の例とし得る。この実施形態では、ストレージ要素200は、ICにおけるスキャン要素をトグルしないようにすることよって電力を節減するために、ストレージ要素200のスキャン出力が機能モードにおいてプルアップされるように構成される。例えば、機能モードにおいてスキャン出力端子をプルアップすることによって、スキャン経路(これはスキャン出力端子によって駆動される)における組合せ論理切り替えによって生じる電力消費が低減され得る。
スキャン可能なストレージ要素200は、スキャン出力端子を駆動するためのスキャン出力バッファ320などのスキャン出力バッファに結合されるノード145を含む。この例示実施形態では、ノード145は、データ出力端子を駆動するためのデータ出力バッファ440にも結合される。ストレージ要素200は、スキャンイネーブル入力に応答して(データ入力を受け取るための)データ入力端子及び(スキャン入力を受け取るための)スキャン入力端子に選択的に結合されるように構成される。例えば、ストレージ要素200は、データ入力(「D」参照)とスキャン入力(「SD」参照)とを有するマルチプレクサ260を含む。スキャンイネーブル入力(SCAN)が、マルチプレクサ260のための選択ラインとして働く。マルチプレクサ260は、例えば、PMOSトランジスタ262、264、266、268並びにNMOSトランジスタ270、272、274、及び276の8個のMOSトランジスタを含むことによって構成される。付加的なトランジスタ280も、SCANを反転SCAN信号(SCANZ)に変換するために必要とされる。トランジスタ262及び264は、電源(VDD参照)とノード278の間で第1のプルアップ経路を構成し、ここで、トランジスタ262のゲートはデータ入力「D」に接続され、トランジスタ264のゲートはSCANに接続される。トランジスタ266及び268は、VDDとノード278の間で第2のプルアップ経路を構成し、トランジスタ266のゲートはスキャン入力「SD」に接続され、トランジスタ268のゲートはSCANZに接続される。トランジスタ270及び272は、ノード278と基準源(VSS参照)の間で第1のプルダウン経路を構成し、トランジスタ270のゲートはSCANに接続され、トランジスタ272のゲートはスキャン入力「SD」に接続される。トランジスタ274及び276は、ノード278とVSSの間で第2のプルダウン経路を構成し、トランジスタ274のゲートはSCANZに接続され、トランジスタ276のゲートはデータ入力「D」に接続される。
マルチプレクサ260の出力(ノード278)が、マルチプレクサ260の出力に基づいてノード145で信号を提供するように構成されるシフト回路150に接続される。図2に示す実施形態では、シフト回路150は1つ又は複数のラッチ/フリップフロップを含み、1つ又は複数のラッチ/フリップフロップは、インバータ110、トランスミッションゲート115、インバータ120、インバータ130、トランスミッションゲート125、トランスミッションゲート135、インバータ140、インバータ146、インバータ185、及びトランスミッションゲート190によって構成される。シフト回路150の図2に示す実施形態からの様々な変形があり得ることに留意されたい。インバータ110はマルチプレクサ260の出力に結合され、インバータ110の出力が、トランスミッションゲート115の入力に接続される。反転クロック入力(CLKZ)がトランスミッションゲート115に提供される。CLKZは、インバータ290を用いてクロック入力CLKを反転することによって提供され得る。トランスミッションゲート115の出力がノード195に接続される。インバータ130はノード195に接続される。トランスミッションゲート125はインバータ130の出力に接続される。トランスミッションゲート125の出力はインバータ120の入力に接続される。トランスミッションゲート125はクロック信号(CLK)に接続される。インバータ130の出力はノード197にも接続される。トランスミッションゲート135の入力がノード197に接続される。トランスミッションゲート135の出力がインバータ140に接続され、インバータ140はノード145に接続される。
データ出力バッファ440は、PMOSトランジスタ425及びNMOSトランジスタ430(インバータを構成する)を含む。トランジスタ425のソースは電源電圧(例えばVDD)に接続され、トランジスタ425のドレインはノード435に接続される。トランジスタ430のソースは基準源(又は接地電圧、VSS参照)に接続され、トランジスタ430のドレインはノード435に接続される。両トランジスタ(425及び430)のゲートはノード145に接続される。データ出力端子はノード310に接続され、データ出力「Q」がノード310から取り出される。スキャン出力バッファ320は、PMOSトランジスタ302及びNMOSトランジスタ304を含む。トランジスタ302のソースは電源電圧(VDD)に接続され、トランジスタ302のドレインはノード310に接続される。トランジスタ302のゲートはノード145に接続される。トランジスタ304のソースは別のNMOSトランジスタ306のドレインに接続され、トランジスタ304のドレインはノード310に接続される。トランジスタ304のゲートもノード145に接続される。トランジスタ306のソースは基準源に接続され、トランジスタ306のドレインはトランジスタ304のソースに接続される。トランジスタ306のゲートはスキャンイネーブル入力(SCAN)に接続される。トランジスタ306は、SCANが0であるとき、VDDとVSSの間の直接経路をディセーブルするために用いられる。別のPMOSトランジスタ308が、スキャン出力「SQ」をプルアップするために用いられる。トランジスタ308のソースは電源VDDに接続され、トランジスタ308のドレインはノード310(これはスキャン出力「SQ」である)に接続される。トランジスタ308のゲートはスキャンイネーブル入力(SCAN)に接続される。ストレージ要素200のスキャン出力「sq」がノード310から取り出される。
ここでストレージ要素200の動作を説明する。マルチプレクサ260は、データ入力「D」及びスキャン入力「SD」の一方に対応する信号をノード278で転送させる。図2に示すように、SCANが論理0であるとき、データ入力「D」の反転がノード278で転送され、SCANが論理1であるとき、スキャン入力「SD」の反転がノード278で転送される。説明のため、SCANが論理0である場合、トランジスタ262及び264を含むプルアップ経路がイネーブルされ、トランジスタ274及び276を含むプルダウン経路がイネーブルされる。したがって、トランジスタ262、264、274、及び276はインバータ構成を形成し、「D」の反転論理レベルがノード278に転送される。「D」が論理1に設定されると仮定すると、「D」の反転、例えば論理0、がノード278で利用可能となる。シフト回路150は、ノード145において、ノード278における値の反転である論理レベルを強制するように構成される。例えば、シフト回路150のインバータ110の出力は論理1である。CLKがローであるとき、トランスミッションゲート115は透過になり、トランスミッションゲートの入力における論理1がノード195に転送されて、インバータ130の出力(ノード197)を論理0にする。CLKがハイになるときトランスミッションゲート125が透過になり、これによりノード197における値(論理0)がインバータ120に転送される。インバータ120はノード195を論理1にする。別のトランスミッションゲート135が、CLKがハイになるときイネーブルされ、そのためノード197における値(論理0)をインバータ140に転送する。インバータ140はノード145を論理1にする。インバータ185、トランスミッションゲート190、及びインバータ146は、CLKが論理0であるときループバック経路を構成し、ノード145における値を保持することを助ける。データ出力バッファ440(インバータ)は、ノード145における値を反転させ、ノード435を論理0にする。データ出力「Q」がノード435(これはデータ出力端子である)からデータ入力「D」の反転として取り出される。いくつかの他の実施形態において、データ入力「D」と同じ論理レベルであるデータ出力「Q」になるように、別のインバータがデータ出力バッファ440に付加され得る。SCANが論理0であるため、トランジスタ306はディセーブルされ、これはノード310へのデータ伝播を停止させる。同時に、トランジスタ308がイネーブルされ、これは、ノード310を論理1までプルアップさせる。スキャン出力端子はノード310に結合される。したがって、機能モードにおいて(SCANが論理0であるとき)、スキャン出力「SQ」は論理1に拘束される(これは、スキャン出力端子により駆動されるスキャン経路における組合せ論理切り替えに起因する、機能モードにおける電力低減を助け得る)。スキャンイネーブル入力(SCAN)は制御信号として働き、この制御信号は、スキャン出力端子「SQ」を論理1に拘束するか否かを決定する。したがって、SCANが論理0であるとき、データ出力「Q」はデータ入力「D」の反転に従い、スキャン出力「SQ」は論理1に拘束される。
SCANが論理1であるとき、トランジスタ266及び268を含むプルアップ経路がイネーブルされ、トランジスタ270及び272を含むプルダウン経路がイネーブルされる。したがって、トランジスタ266、268、270、及び272はインバータ構成を形成し、「SD」の反転論理レベルがノード278に転送される。SCANが論理1であるとき、トランジスタ308はディセーブルされ、トランジスタ302、304、及び306はインバータ構成を形成するので、スキャン出力バッファ320はインバータとして動作することにさらに留意されたい。シフト回路150は、ノード145において、ノード278の反転である論理レベルを強制するように構成される。例えば、スキャン入力「SD」が論理1であるとき、ノード278は論理0であり、ノード145は論理1である。スキャン出力バッファ320は、スキャン出力sqに結合されるノード310で論理0を転送する。したがって、デバイス(IC)がシフトモードで動作するときスキャン入力「SD」の反転がスキャン出力「SQ」に転送される。
図3は、別の実施形態に従ったスキャンチェーン100の第1のストレージ要素の例を示す。例えば、ストレージ要素300を、スキャンチェーン100の第1のスキャン可能なストレージ要素100の例とし得る。この実施形態では、ストレージ要素300は、ICにおけるスキャン要素をトグルしないようにすることによって電力を節減するために、ストレージ要素300のスキャン出力が機能モードにおいてプルダウンされるように構成される。
ストレージ要素300は、スキャン出力端子を駆動するためのスキャン出力バッファ340などのスキャン出力バッファに結合されるノード145を含む。この例示実施形態では、ノード145は、データ出力端子を駆動するためのデータ出力バッファ440にも結合される。ストレージ要素300は、スキャンイネーブル入力に応答して、(データ入力を受け取るための)データ入力端子と(スキャン入力を受け取るための)スキャン入力端子とに選択的に結合されるように構成される。例えば、ストレージ要素300は、データ入力(「D」参照)及びスキャン入力(「SD」参照)を有するマルチプレクサ260を含む。スキャンイネーブル入力(SCAN)が、マルチプレクサ260のための選択ラインとして働く。マルチプレクサ260は、例えば、PMOSトランジスタ262、264、266、268、並びにNMOSトランジスタ270、272、274、及び276の、8個のMOSトランジスタを含むことによって構成される。SCANを反転SCAN信号(SCANZ)に変換するために付加的なトランジスタ280も必要とされる。トランジスタ262及び264は、電源(VDD参照)とノード278との間で第1のプルアップ経路を構成し、トランジスタ262のゲートはデータ入力「D」に接続され、トランジスタ264のゲートはSCANに接続される。トランジスタ266及び268は、VDDとノード278の間で第2のプルアップ経路を構成し、トランジスタ266のゲートはスキャン入力「SD」に接続され、トランジスタ268のゲートはSCANZに接続される。トランジスタ270及び272は、ノード278と基準源(VSS)の間で第1のプルダウン経路を構成し、トランジスタ270のゲートはSCANに接続され、トランジスタ272のゲートはスキャン入力「SD」に接続される。トランジスタ274及び276は、ノード278とVSSの間で第2のプルダウン経路を構成し、トランジスタ274のゲートはSCANZに接続され、トランジスタ276のゲートはデータ入力「D」に接続される。
マルチプレクサ260の出力(ノード278)が、マルチプレクサ260の出力に基づいてノード145で信号を提供するように構成されるシフト回路150に接続される。図3に示す実施形態では、シフト回路150は1つ又は複数のラッチ/フリップフロップを含み、1つ又は複数のラッチ/フリップフロップは、インバータ110、トランスミッションゲート115、インバータ120、インバータ130、トランスミッションゲート125、トランスミッションゲート135、インバータ140、インバータ146、インバータ185、及びトランスミッションゲート190によって構成される。シフト回路150の図3に示す実施形態からの様々な変形があり得ることに留意されたい。インバータ110はマルチプレクサ260の出力に結合され、インバータ110の出力がトランスミッションゲート115の入力に接続される。反転クロック入力(CLKZ)がトランスミッションゲート115に提供される。トランスミッションゲート115の出力がノード195に接続される。インバータ130はノード195に接続される。トランスミッションゲート125はインバータ130の出力に接続される。トランスミッションゲート125の出力はインバータ120の入力に接続される。トランスミッションゲート125はクロック信号(CLK)に接続される。インバータ130の出力はノード197にも接続される。トランスミッションゲート135の入力がノード197に接続される。トランスミッションゲート135の出力がインバータ140に接続され、インバータ140はノード145に接続される。
図2を参照して説明したように、データ出力バッファ440は、PMOSトランジスタ425及びNMOSトランジスタ430(インバータを構成する)を含む。データ出力端子はノード330に接続され、そこからデータ出力「Q」が取り出される。スキャン出力バッファ340は、PMOSトランジスタ322及び324並びにNMOSトランジスタ326及び328を含む。トランジスタ322のソースは電源電圧(VDD)に接続され、トランジスタ322のドレインはトランジスタ324のソースに接続される。トランジスタ324のドレインは、ノード330に接続され、トランジスタ326のドレインにも接続される。トランジスタ324及び326のゲートはノード145に接続され、トランジスタ322のゲートはSCANZに接続される。NMOSトランジスタ328のドレインがノード330に接続され、トランジスタ328のゲートがSCANZに接続されて、(SCANZが論理1であるとき)機能モードにおいてトランジスタ328がプルダウントランジスタとして働かせる。さらに、トランジスタ322は、機能モードにおいてVDDとVSSの間の直接経路をディセーブルするために用いられる。(SCANZが論理0であるとき)シフトモードにおいて、トランジスタ328がディセーブルされ、トランジスタ322がイネーブルされ、それによって、シフトモードにおいてVDDとVSSの直接経路が提供されることに留意されたい。したがって、シフトモードにおいて、トランジスタ322、324、及び326が、インバータ構成を形成し、ノード145の値の反転をノード330に提供する。
ここでストレージ要素300の動作を説明する。マルチプレクサ260は、データ入力「D」及びスキャン入力「SD」の一方に対応する信号をノード278で転送させる。図3に示すように、SCANが論理0であるとき、データ入力「D」の反転がノード278で転送され、SCANが論理1であるとき、スキャン入力「SD」の反転がノード278で転送される。説明のため、SCANが論理0である場合、トランジスタ262及び264を含むプルアップ経路がイネーブルされ、トランジスタ274及び276を含むプルダウン経路がイネーブルされる。したがって、トランジスタ262、264、274、及び276はインバータ構成を形成し、「D」の反転論理レベルがノード278に転送される。「D」が論理1に設定されると仮定すると、「D」の反転、例えば論理0、がノード278で利用可能となる。シフト回路150は、ノード145において、ノード278における値の反転である論理レベルを強制するように構成される。例えば、シフト回路150のインバータ110の出力は論理1である。CLKがローであるとき、トランスミッションゲート115は透過になり、トランスミッションゲートの入力における論理1がノード195に転送されて、インバータ130の出力(ノード197)を論理0にする。CLKがハイになるときトランスミッションゲート125が透過になり、これは、ノード197における値(論理0)をインバータ120に転送する。インバータ120はノード195を論理1にする。別のトランスミッションゲート135が、CLKがハイになるときイネーブルされ、そのためノード197における値(論理0)をインバータ140に転送する。インバータ140はノード145を論理1にする。インバータ185、トランスミッションゲート190、及びインバータ146は、CLKが論理0であるときループバック経路を構成し、ノード145における値を保持することを助ける。データ出力バッファ440(インバータ)は、ノード145における値を反転し、ノード435を論理0にする。データ出力「Q」がノード435(これはデータ出力端子である)からデータ入力「D」の反転として取り出される。幾つかの他の実施形態において、データ入力「D」と同じデータ出力「Q」になるように、別のインバータがデータ出力バッファ440に付加され得る。SCANは論理0であるため、トランジスタ322はディセーブルされ、これは、ノード330へのデータ伝播を停止させる。同時に、トランジスタ328がイネーブルされ、これは、ノード330を論理0までプルダウンさせる。スキャン出力端子はノード330に結合される。したがって、機能モードにおいて(SCANが論理0であるとき)、スキャン出力「SQ」は論理0に拘束される(これは、スキャン出力端子によって駆動されるスキャン経路における組合せ論理切替えに起因する機能モードにおける電力節減の助けとなり得る)。スキャンイネーブル入力(SCAN)は制御信号として働き、この制御信号は、スキャン出力端子「SQ」を論理0に拘束するか否かを決定する。したがって、SCANが論理0であるとき、データ出力「Q」はデータ入力「D」の反転に従い、スキャン出力「SQ」は論理0に拘束される。
SCANが論理1であるとき、トランジスタ266及び268を含むプルアップ経路がイネーブルされ、トランジスタ270及び272を含むプルダウン経路がイネーブルされる。したがって、トランジスタ266、268、270、及び272はインバータ構成を形成し、「SD」の反転論理レベルがノード278に転送される。SCANが論理1であるとき、トランジスタ328はディセーブルされ、トランジスタ322、324、及び326はインバータ構成を形成するので、スキャン出力バッファ340はインバータとして動作することにさらに留意されたい。シフト回路150は、ノード145において、ノード278の反転である論理レベルを強制するように構成される。例えば、スキャン入力「SD」が論理1である場合、ノード278は論理0であり、ノード145は論理1である。スキャン出力バッファ340は、スキャン出力端子「SQ」に結合されるノード310で論理0を転送する。したがって、デバイス(IC)がシフトモードで動作するときスキャン入力「SD」の反転がスキャン出力「SQ」に転送される。
スキャン出力はスキャンチェーン100の第1のストレージ要素100においてプルアップ又はプルダウンされるので、スキャン出力の論理状態は固定される。本技術の様々な実施形態において、この情報を、後続のストレージ要素のための入力マルチプレクサ回路を設計するために利用する。入力マルチプレクサ回路をこのように設計することにより、ストレージ要素におけるトランジスタの数を減らすことができ、このような設計を図4〜図21を参照して説明する。さらに、様々な実施形態において、q及びsqの一方又は両方のゲーティングを行い得、このような実施形態を図4〜図21を参照して説明する。
図4は、或る実施形態に従ったスキャンチェーン100の第1のストレージ要素以外のストレージ要素の例を示す。ストレージ要素400は、ストレージ要素400によって受け取られるスキャン入力データ「SD」が機能モードにおいてプルアップされる場合のストレージ要素100、100、...、又は100のいずれかの例とし得る。例えば、ストレージ要素400は、(ストレージ要素400の)先行するストレージ要素によって提供されるスキャン出力「SQ」(これは、ストレージ要素400のスキャン入力「SD」に結合される)が機能モードにおいて(SCANが論理0であるとき)プルアップされるとき用いられる。例えば、SCANが論理0であるとき、スキャン入力「SD」は論理1である。
ストレージ要素400は、スキャン出力端子535を駆動するためスキャン出力バッファ550に結合されるノード145(第2のノード)を含む。この例示実施形態では、ノード145は、データ出力端子510を駆動するためデータ出力バッファ505にも結合される。この実施形態では、データ出力バッファ505はインバータとして示されている。ストレージ要素400は、それぞれ、先行するストレージ要素のデータ出力「Q」及びスキャン出力「SQ」からデータ入力(「D」参照)及びスキャン入力(「SD」参照)を受け取るように構成される入力回路360を含む。入力回路360は、ノード362(第1のノード)で、データ入力「D」及びスキャン入力「SD」の一方に対応する信号(第1の信号)を提供するように構成される。入力回路360は、この信号をノード362でスキャンイネーブル入力(SCAN参照)などの選択信号に基づいて提供する。入力回路360は、ノード362に結合されるプルアップ構成要素及びプルダウン構成要素を含む。例えば、入力回路360は、ノード362と電源(VDD参照)の間で接続される2つのプルアップ経路を含む。第1のプルアップ経路は、データ入力「D」を受け取るための第1のスイッチと、スキャンイネーブル入力「SCAN」を受け取るための第2のスイッチとを含む。図4の実施形態に示すように、第1のスイッチの例にはPMOSトランジスタ365が含まれ得、第2のスイッチの例にはPMOSトランジスタ370が含まれ得、これらのトランジスタは、PMOSトランジスタ365のドレインがPMOSトランジスタ370のソースに接続されるように結合される。第2のプルアップ経路は、スキャン入力「SD」を受け取るため第3のスイッチ(例えばPMOSトランジスタ375)を含む。この実施形態では、PMOSトランジスタ365、370、及び375のゲートが、それぞれ、データ入力「D」、スキャンイネーブル入力「SCAN」、及びスキャン入力「SD」に接続され、PMOSトランジスタ370及び375のソースがノード362と結合される。入力回路360はさらに、ノード362と基準源(VSS参照)又は接地源との間で接続される2つのプルダウン経路を含む。第1のプルダウン経路が、スキャンイネーブル入力「SCAN」を受け取るための第4のスイッチと、スキャン入力「SD」を受け取るための第5のスイッチとを含む。図4の実施形態に示すように、第4のスイッチの例はNMOSトランジスタ380であり、第5のスイッチの例はNMOSトランジスタ385であり、これらのトランジスタは、NMOSトランジスタ380のソースがNMOSトランジスタ385のドレインに接続されるように結合される。第2のプルダウン経路が、データ入力「D」を受け取るため第6のスイッチを含む。図4に示すように、第6のスイッチの例にはNMOSトランジスタ390が含まれ得る。NMOSトランジスタ380、385、及び390のゲートが、それぞれ、スキャンイネーブル入力「SCAN」、スキャン入力「SD」、データ入力「D」と結合され、NMOSトランジスタ380及び390のドレインがノード362と結合される。機能モードにおいて「SD」入力が(例えば論理1に)固定されるので、入力回路260において10個のトランジスタが必要とされるのとは異なり、入力回路360は、6個のトランジスタしか必要としないように構成される。図4に示す実施形態では、第1のスイッチ、第2のスイッチ、第3のスイッチ、第4のスイッチ、第5のスイッチ、及び第6のスイッチは、PMOS又はNMOSトランジスタとして示されているが、これらは、例えば、BJTトランジスタ、ダイオードの組合せなど、MOSトランジスタに機能的に類似する他の構成要素を用いて構成されてもよい。
入力回路360の出力(例えばノード362)がシフト回路150に接続され、シフト回路150は、ノード362に対応する信号をノード145に転送するように構成される。シフト回路150は、ノード362から入力を取り込むインバータ110を含み、インバータ110の出力はトランスミッションゲート115に接続される。反転クロック入力CLKZがトランスミッションゲート115に与えられる。トランスミッションゲート115はノード195に接続される。インバータ130がノード195に接続される。別のトランスミッションゲート125が、インバータ130の出力に接続される。トランスミッションゲート125の出力が、別のインバータ120の入力に接続される。トランスミッションゲート125はクロック信号(CLK参照)に接続される。インバータ130の出力はノード197にも接続される。トランスミッションゲート135がノード197に接続される。トランスミッションゲート135の出力がインバータ140に接続され、インバータ140はノード145に接続される。データ出力バッファ505の入力はノード145に接続され、データ出力バッファ505の出力は、データ出力端子であるノード510に接続される。データ出力バッファ505はインバータを含む。ノード145はインバータ185に接続される。インバータ185の出力はノード152に接続され、ノード152はトランスミッションゲート190に接続される。トランスミッションゲート190は反転クロック信号CLKZによって制御される。トランスミッションゲート190は別のインバータ146を駆動する。インバータ146の出力もまたノード145に接続される。スキャン出力バッファ550は、PMOSトランジスタ515及びNMOSトランジスタ520によって構成されるインバータと、トランジスタ525(第3のMOSトランジスタ)と、トランジスタ530(第4のMOSトランジスタ)とを含む。トランジスタ515のソースが電源電圧(VDD)に接続され、トランジスタ515のドレインがノード535に接続される。トランジスタ515のゲートはノード145に接続される。トランジスタ520のソースは別のNMOSトランジスタ525のドレインに接続され、トランジスタ520のドレインはノード535に接続される。トランジスタ520(第3のMOSトランジスタ)のゲートもノード145に接続される。トランジスタ525のソースは接地電圧に接続され、トランジスタ525のドレインはトランジスタ520のソースに接続される。トランジスタ525のゲートはスキャンイネーブル入力(SCAN)に接続される。トランジスタ525は、SCANが0であるとき、VDDとVSSの間の直接経路をディセーブルするために用いられる。トランジスタ530(例えばPMOSトランジスタ)は、スキャン出力「SQ」をプルアップするために用いられる。トランジスタ530のソースは電源電圧に接続され、トランジスタ530のドレインはノード535(これはスキャン出力「SQ」である)に接続される。トランジスタ530のゲートはスキャンイネーブル入力(SCAN)に接続される。スキャン可能なストレージ要素400のスキャン出力(sq)はノード535から取り出される。
ここで、ストレージ要素400の動作を説明する。入力回路360は、データ入力「D」及びスキャン入力「SD」の一方に対応する信号をノード362で転送させる。SCANが論理0であるとき、スキャン入力「SD」は論理1であることに留意されたい。例えば、SCANが論理0であるとき、ストレージ要素400の先行するストレージ要素(ストレージ要素200など)のスキャン出力「SQ」がプルアップされ、このプルアップされた論理1はストレージ要素400のスキャン入力「SD」に供給される。SCANが論理1であるとき、テストデータ、及び先行するストレージ要素から受け取る値に応じて、スキャン入力「SD」は論理0又は論理1のいずれかを取り得る。図4に示すように、SCANが論理0であるとき、データ入力「D」の反転がノード362で転送され、SCANが論理1であるとき、スキャン入力「SD」の反転がノード362で転送される。
説明のため、SCANが論理0である(スキャン入力「SD」が論理1である)場合、トランジスタ375及び380がディセーブルされ、トランジスタ370及び380がイネーブルされる。したがって、トランジスタ365、370、390、及び385はインバータ構成を形成し、「D」の反転論理レベルがノード362に転送される。「D」が論理1に設定されると仮定すると、「D」の反転、例えば論理0、がノード362において利用可能となる。シフト回路150は、ノード145において、ノード362における値の反転である論理レベルを強制するように構成される。例えば、シフト回路150のインバータ110の出力は論理1である。CLKがローであるときトランスミッションゲート115は透過になり、トランスミッションゲートの入力における論理1がノード195に転送されて、インバータ130の出力(ノード197)を論理0にする。CLKがハイになるときトランスミッションゲート125が透過になり、それによって、ノード197における値(論理0)がインバータ120に転送される。インバータ120はノード195を論理1にする。別のトランスミッションゲート135が、CLKがハイになるときイネーブルされ、そのためノード197における値(論理0)をインバータ140に転送する。インバータ140はノード145を論理1にする。インバータ185、トランスミッションゲート190、及びインバータ146は、CLKが論理0であるときループバック経路を構成し、ノード145における値を保持することを助ける。データ出力バッファ505(インバータ)は、ノード145における値を反転させ、ノード410を論理0にする。データ出力「Q」がノード510(これはデータ出力端子である)からデータ入力「D」の反転として取り出される。幾つかの実施形態において、データ入力「D」と同じ論理のデータ出力「Q」を受け取るように、付加的なインバータがデータ出力バッファ505に追加され得る。SCANが論理0であるため、トランジスタ525がディセーブルされ、それによってノード535へのデータ伝播が停止する。同時に、トランジスタ530がイネーブルされ、それによってノード535が論理1にプルアップされる。スキャン出力端子はノード535に結合される。したがって、機能モードにおいて(SCANが論理0であるとき)、スキャン出力「SQ」は論理1に拘束される(これは、スキャン出力端子によって駆動されるスキャン経路における組合せ論理切り替えに起因する機能モードにおける電力低減の助けとなり得る)。スキャンイネーブル入力(SCAN)は制御信号として働き、この制御信号は、スキャン出力端子「SQ」を論理1に拘束させるか否かを決定する。したがって、SCANが論理0であるとき、データ出力「Q」はデータ入力「D」の反転に従い、スキャン出力「SQ」は論理1に拘束される。幾つかの実施形態において、スキャン入力「SD」と同じ論理のスキャン出力「SQ」を受け取るように、付加的なインバータがスキャン出力バッファ550に追加され得る。
SCANが論理1であるとき、トランジスタ370はディセーブルされ、トランジスタ375(プルアップ)並びにトランジスタ380及び385(プルダウン)がインバータ構成を形成し、スキャン入力「SD」の反転がノード362に転送される。SCANが論理1であるとき、トランジスタ530がディセーブルされ、トランジスタ515、520、及び525がインバータ構成を形成するので、スキャン出力バッファ550はインバータとして動作することにさらに留意されたい。シフト回路150は、ノード145において、ノード362の反転である論理レベルを強制するように構成される。例えば、スキャン入力「SD」が論理1である場合(SCANが論理1であれば)、ノード362は論理0であり、ノード145は論理1である。スキャン出力バッファ550は、スキャン出力sqに結合されるノード535で論理0を転送する。したがって、デバイス(IC)がシフトモードで動作するときスキャン入力「SD」の反転がスキャン出力「SQ」に転送される。
図5は、別の実施形態に従ったスキャンチェーン100の第1のストレージ要素以外のストレージ要素の例を示す。ストレージ要素500は、ストレージ要素500によって受け取られるスキャン入力データ「SD」が機能モードにおいてプルダウンされる場合の、ストレージ要素100、100、...、又は100のいずれかの例とし得る。例えば、ストレージ要素500は、(ストレージ要素500の)先行するストレージ要素によって提供されるスキャン出力「SQ」(これは、ストレージ要素500のスキャン入力「SD」に結合される)が機能モードにおいて(SCANが論理0であるとき)プルダウンされるとき用いられる。例えば、SCANが論理0であるとき、スキャン入力「SD」は論理0である。
ストレージ要素500は、スキャン出力端子535を駆動するためスキャン出力バッファ550に結合されるノード145を含む。この例示実施形態では、ノード145は、データ出力端子510を駆動するためデータ出力バッファ505にも結合される。この実施形態では、データ出力バッファ505はインバータとして示されている。ストレージ要素500は、それぞれ、先行するストレージ要素のデータ出力「Q」及びスキャン出力「SQ」からデータ入力(「D」参照)及びスキャン入力(「SD」参照)を受け取るように構成される入力回路460を含む。入力回路460は、ノード462(第1のノード)で、データ入力「D」及びスキャン入力「SD」の一方に対応する信号を提供するように構成される。入力回路460は、この信号をノード462で反転スキャンイネーブル入力(SCANZ参照)などの選択信号に基づいて提供する。入力回路460は、ノード462に結合されるプルアップ構成要素及びプルダウン構成要素を含む。例えば、入力回路460は、ノード462と電源(VDD参照)の間で接続される2つのプルアップ経路を含む。第1のプルアップ経路は、スキャン入力「SD」を受け取るための第1のスイッチと、データ入力「D」を受け取るための第2のスイッチとを含む。図5の実施形態に示すように、第1のスイッチの例にはPMOSトランジスタ465が含まれ得、第2のスイッチの例にはPMOSトランジスタ470が含まれ得、これらのトランジスタは、PMOSトランジスタ465のドレインがPMOSトランジスタ470のソースに接続されるように結合される。第2のプルアップ経路は、第1のスイッチと、反転スキャンイネーブル入力「SCANZ」を受け取るため第3のスイッチとを含む。第3のスイッチの例にはPMOSトランジスタ475が含まれ得る。PMOSトランジスタ475のソースがPMOSトランジスタ465のドレインに接続される。PMOSトランジスタ465、470、及び475のゲートが、それぞれ、スキャン入力「SD」、データ入力「D」、及び反転スキャンイネーブル入力「SCANZ」に接続され、PMOSトランジスタ470及び475のソースがノード462に結合される。入力回路460はさらに、ノード462と基準源(VSS参照)又は接地源との間で接続される2つのプルダウン経路を含む。第1のプルダウン経路が、反転スキャンイネーブル入力「SCANZ」を受け取るための第4のスイッチと、データ入力「D」を受け取るための第5のスイッチとを含む。第4のスイッチの例にはNMOSトランジスタ480が含まれ得、第5のスイッチの例にはNMOSトランジスタ485が含まれ、これらのトランジスタは、NMOSトランジスタ480のソースがNMOSトランジスタ485のドレインに接続されるように結合される。第2のプルダウン経路は、スキャン入力「SD」を受け取るため第6のスイッチを含む。第6のスイッチの例にはNMOSトランジスタ490が含まれ得る。NMOSトランジスタ480、485、及び490のゲートが、それぞれ、SCANZ、データ入力「D」、スキャン入力「SD」に結合され、NMOSトランジスタ480及び490のドレインがノード462に結合される。図5に示す実施形態では、「SD」入力が固定される(論理0又は論理1のいずれか)ので、入力回路260において10個のトランジスタが必要とされるのとは異なり、入力回路460は8個のトランジスタしか必要としないように構成される。この実施形態では、反転スキャンイネーブル入力「SCANZ」を生成するために2つのトランジスタが必要とされるので、図4を参照して説明した実施形態と比較すると、2つの付加的なトランジスタが必要とされることに留意されたい。図5に示す実施形態では、第1のスイッチ、第2のスイッチ、第3のスイッチ、第4のスイッチ、第5のスイッチ、及び第6のスイッチがPMOS又はNMOSトランジスタとして示されているが、これらのスイッチは、例えば、BJTトランジスタ、ダイオードの組合せなど、MOSトランジスタに機能的に類似する他の構成要素を用いて構成されてもよい。
入力回路460の出力(例えばノード462)が、ノード462に対応する信号をノード145に転送するように構成されるシフト回路150に接続される。シフト回路150は、ノード462から入力を取り込むインバータ110を含み、インバータ110の出力がトランスミッションゲート115に接続される。反転クロック入力CLKZがトランスミッションゲート115に与えられる。トランスミッションゲート115はノード195に接続される。インバータ130がノード195に接続される。別のトランスミッションゲート125が、インバータ130の出力に接続される。トランスミッションゲート125の出力が、別のインバータ120の入力に接続される。トランスミッションゲート125はクロック信号(CLK参照)に接続される。インバータ130の出力はノード197にも接続される。トランスミッションゲート135がノード197に接続される。トランスミッションゲート135の出力がインバータ140に接続され、インバータ140はノード145に接続される。データ出力バッファ505の入力はノード145に接続され、データ出力バッファ505の出力は、ノード510(これはデータ出力端子である)に接続される。データ出力バッファ505はインバータを含む。ノード145はインバータ185に接続される。インバータ185の出力はノード152に接続され、ノード152はトランスミッションゲート190に接続される。トランスミッションゲート190は反転クロック入力CLKZによって制御される。トランスミッションゲート190は別のインバータ146を駆動する。インバータ146の出力もまたノード145に接続される。スキャン出力バッファ550は、PMOSトランジスタ515及びNMOSトランジスタ520を含む。トランジスタ515のソースが電源電圧(VDD)に接続され、トランジスタ515のドレインがノード535に接続される。トランジスタ515のゲートはノード145に接続される。トランジスタ520のソースは別のNMOSトランジスタ525のドレインに接続され、トランジスタ520のドレインはノード535に接続される。トランジスタ520のゲートもノード145に接続される。トランジスタ525のソースが接地電圧に接続され、トランジスタ525のドレインがトランジスタ520のソースに接続される。トランジスタ525のゲートはスキャンイネーブル入力(SCAN)に接続される。トランジスタ525は、SCANが0であるとき、VDDとVSSの間の直接経路をディセーブルするために用いられる。別のPMOSトランジスタ530が、スキャン出力「SQ」をプルアップするために用いられる。トランジスタ530のソースが電源電圧に接続され、トランジスタ530のドレインがノード535(これはスキャン出力「SQ」である)に接続される。トランジスタ530のゲートがスキャンイネーブル入力(SCAN)に接続される。スキャン可能なストレージ要素500のスキャン出力(sq)はノード535から取り出される。
ここで、ストレージ要素500の動作を説明する。入力回路460は、データ入力「D」及びスキャン入力「SD」の一方に対応する信号をノード462で転送させる。SCANが論理0であるとき、スキャン入力「SD」は論理0であることに留意されたい。例えば、SCANが論理0であるとき、ストレージ要素500の先行するストレージ要素(ストレージ要素300など)のスキャン出力「SQ」がプルダウンされ、このプルダウンされた論理0はストレージ要素500のスキャン入力「SD」に供給される。SCANが論理1であるとき、テストデータ、及び先行するストレージ要素から受け取る値に応じて、スキャン入力「SD」は論理0又は論理1のいずれかを取り得る。図5に示すように、SCANが論理0であるとき、データ入力「D」の反転がノード462で転送され、SCANが論理1であるとき(又はSCANZが論理0であるとき)、スキャン入力「SD」の反転がノード462で転送される。
説明のため、機能モードにおいて(SCANが論理0である又はSCANZが論理1であるとき)、スキャン入力「SD」は論理0であり、そのため、トランジスタ475及び490がディセーブルされ、トランジスタ465及び480がイネーブルされる。したがって、トランジスタ465、470、480、及び485はインバータ構成を形成し、「D」の反転論理レベルがノード462に転送される。「D」が論理1に設定されると仮定すると、「D」の反転、例えば論理0、がノード462で利用可能となる。シフト回路150は、ノード145において、ノード462における値の反転である論理レベルを強制するように構成される。例えば、シフト回路150のインバータ110の出力において論理1が転送される。CLKがローであるとき、トランスミッションゲート115は透過になり、トランスミッションゲートの入力における論理1がノード195に転送され、インバータ130の出力(ノード197)を論理0にする。CLKがハイになるとき、トランスミッションゲート125は透過になり、それによって、ノード197における値(論理0)がインバータ120に転送される。インバータ120はノード195を論理1にする。別のトランスミッションゲート135が、CLKがハイになるときイネーブルされ、そのためノード197における値(論理0)をインバータ140に転送する。インバータ140はノード145を論理1にする。インバータ185、トランスミッションゲート190、及びインバータ146は、CLKが論理0であるときループバック経路を構成し、ノード145における値を保持することを助ける。データ出力バッファ505(インバータ)は、ノード145における値を反転させ、ノード510を論理0にする。データ出力「Q」がノード510(これはデータ出力端子である)からデータ入力「D」の反転として取り出される。SCANが論理0であるため、トランジスタ525がディセーブルされ、それによってノード535へのデータ伝播が停止する。同時に、トランジスタ530がイネーブルされ、それによってノード535が論理1にプルアップされる。スキャン出力端子はノード535に結合される。したがって、機能モードにおいて(SCANが論理0であるとき)、スキャン出力「SQ」は論理1に拘束される(これは、スキャン出力端子によって駆動されるスキャン経路における組合せ論理切り替えに起因する機能モードにおける電力低減の助けとなり得る)。スキャンイネーブル入力(SCAN)は制御信号として働き、この制御信号は、スキャン出力端子「SQ」を論理1に拘束させるか否かを決定する。したがって、SCANが論理0であるとき、データ出力「Q」はデータ入力「D」の反転に従い、スキャン出力「SQ」は論理1に拘束される。
シフトモードにおいて(SCANが論理1である又はSCANZが論理0であるとき)、トランジスタ480がディセーブルされ、トランジスタ465,475(プルアップ)及びトランジスタ490(プルダウン)がインバータ構成を形成し、スキャン入力「SD」の反転がノード462に転送される。SCANが論理1であるとき、トランジスタ530がディセーブルされ、トランジスタ515、520、及び525がインバータ構成を形成するので、スキャン出力バッファ550はインバータとして動作することにさらに留意されたい。シフト回路150は、ノード145において、ノード462の反転である論理レベルを強制するように構成される。例えば、スキャン入力「SD」が論理1である場合(SCANが論理1であれば)、ノード462は論理0であり、ノード145は論理1である。スキャン出力バッファ550は、スキャン出力「SQ」に結合されるノード535で論理0を転送する。したがって、デバイスがシフトモードで動作するとき、反転スキャン入力「SD」がスキャン出力「SQ」に転送される。
図6は、或る実施形態に従ったスキャンチェーン100の第1のストレージ要素以外のストレージ要素の例を示す。ストレージ要素600は、ストレージ要素600によって受け取られるスキャン入力データ「SD」が機能モードにおいてプルアップされる場合の、ストレージ要素100、100、...、又は100のいずれかの例とし得る。例えば、ストレージ要素600は、(ストレージ要素600の)先行するストレージ要素によって提供されるスキャン出力「SQ」(これは、ストレージ要素600のスキャン入力「SD」に結合される)が機能モードにおいて(SCANが論理0であるとき)プルアップされる場合に用いられる。例えば、SCANが論理0であるとき、スキャン入力「SD」は論理1である。
ストレージ要素600は、ノード725(スキャン出力端子)を駆動するためスキャン出力バッファ750に結合されるノード145を含む。この例示実施形態では、ノード145はまた、データ出力端子510を駆動するためデータ出力バッファ505に結合される。この実施形態では、データ出力バッファ505はインバータとして示されている。ストレージ要素600は、それぞれ、先行するストレージ要素のデータ出力「Q」及びスキャン出力「SQ」からデータ入力(「D」参照)及びスキャン入力(「SD」参照)を受け取るように構成される入力回路360を含む。入力回路360は、図4を参照して既に説明されており、簡潔にするためその説明は提供しない。入力回路360は、データ入力「D」及びスキャン入力「SD」の一方に対応する信号をノード362で提供するように構成される。
入力回路360の出力(例えばノード362)が、ノード362に対応する信号をノード145に転送するように構成されるシフト回路150に接続される。データ出力バッファ505の入力はノード145に接続され、データ出力バッファ505の出力は、ノード510(データ出力端子)に接続される。データ出力バッファ505はインバータを含む。スキャン出力バッファ750もノード145に接続される。スキャン出力バッファ750は、PMOSトランジスタ705(第1のMOSトランジスタ)、インバータ(PMOSトランジスタ710及びNMOSトランジスタ715を含む)、及びNMOSトランジスタ720(第2のMOSトランジスタ)を含む。トランジスタ705のソースが電源電圧(VDD)に接続され、トランジスタ705のドレインがトランジスタ710のソースに接続される。トランジスタ710のドレインが、ノード725に接続され、トランジスタ715のドレインにも接続される。トランジスタ710及び715のゲートがノード145に接続され、トランジスタ705のゲートがSCANZに接続される。NMOSトランジスタ720のドレインがノード725に接続され、トランジスタ720のゲートがSCANZに接続され、そのため、トランジスタ720が機能モードにおいて(SCANZが論理1であるとき)プルダウントランジスタとして働く。また、トランジスタ705は、機能モードにおいてVDDとVSSの間の直接経路をディセーブルするために用いられる。シフトモードにおいて(SCANZが論理0であるとき)、トランジスタ720がディセーブルされ、トランジスタ705がイネーブルされ、それによって、シフトモードにおいてVDDとVSSの間で直接経路が提供されることに留意されたい。したがって、シフトモードにおいて、トランジスタ705、710、及び715は、インバータ構成を形成し、ノード145の値の反転をノード725に提供する。
ここで、ストレージ要素600の動作を説明する。入力回路360は、データ入力「D」及びスキャン入力「SD」の一方に対応する信号をノード362で転送させる。SCANが論理0であるとき、スキャン入力「SD」は論理1であることに留意されたい。例えば、SCANが論理0であるとき、ストレージ要素600の先行するストレージ要素(ストレージ要素200など)のスキャン出力「SQ」がプルアップされ、このプルアップされた論理1はストレージ要素600のスキャン入力「SD」に供給される。SCANが論理1であるとき、テストデータ、及び先行するストレージ要素から受け取る値に応じて、スキャン入力「SD」は論理0又は論理1のいずれかを取り得る。図4を参照して説明したように、SCANが論理0であるとき、データ入力「D」の反転がノード362で転送され、SCANが論理1であるとき、スキャン入力「SD」の反転がノード362で転送される。
機能モードにおいて(SCANが論理0である又はSCANZが論理1であるとき)、スキャン入力「SD」は論理1であり、そのため、トランジスタ375及び380はディセーブルされ、トランジスタ370及び385はイネーブルされる。したがって、トランジスタ365、370、390、及び385はインバータ構成を形成し、「D」の反転論理レベルがノード362に転送される。「D」が論理1に設定されると仮定すると、「D」の反転、例えば論理0、がノード362で利用可能となる。シフト回路150は、ノード145において、ノード362における値の反転である論理レベルを強制するように構成される。例えば、シフト回路150のインバータ110の出力は論理1である。CLKがローであるとき、トランスミッションゲート115が透過になり、トランスミッションゲートの入力における論理1がノード195に転送されて、インバータ130の出力(ノード197)を論理0にする。CLKがハイになるとき、トランスミッションゲート125が透過になり、それによって、ノード197における値(論理0)がインバータ120に転送される。インバータ120はノード195を論理1にする。別のトランスミッションゲート135が、CLKがハイになるときイネーブルされ、そのためノード197における値(論理0)をインバータ140に転送する。インバータ140はノード145を論理1にする。インバータ185、トランスミッションゲート190、及びインバータ146は、CLKが論理0であるときループバック経路を構成し、ノード145における値を保持することを助ける。データ出力バッファ505(インバータ)は、ノード145における値を反転させ、ノード510を論理0にする。データ出力「Q」がノード510(これはデータ出力端子である)からデータ入力「D」の反転として取り出される。SCANが論理0であるため、トランジスタ705がディセーブルされ、それによってノード725へのデータ伝播が停止する。同時に、トランジスタ720がイネーブルされ、それによってノード725が論理0にプルダウンされる。スキャン出力端子はノード725に結合される。したがって、機能モードにおいて(SCANが論理0であるとき)、スキャン出力「SQ」は論理0に拘束される(これは、スキャン出力端子によって駆動されるスキャン経路における組合せ論理切り替えに起因する機能モードにおける電力低減の助けとなり得る)。反転スキャンイネーブル入力(SCANZ)は制御信号として働き、この制御信号は、スキャン出力端子「SQ」を論理1に拘束させるか否かを決定する。したがって、SCANが論理0であるとき、データ出力「Q」はデータ入力「D」の反転に従い、スキャン出力「SQ」は論理0に拘束される(すなわち、プルダウンされる)。
シフトモードにおいて(SCANが論理1である又はSCANZが論理0であるとき)、トランジスタ370がディセーブルされ、トランジスタ375(プルアップ)並びにトランジスタ380及び385(プルダウン)がインバータ構成を形成し、スキャン入力「SD」の反転がノード362に転送される。SCANが論理1であるとき、トランジスタ750はディセーブルされ、トランジスタ705、710、及び715はインバータ構成を形成するので、スキャン出力バッファ750はインバータとして動作することにさらに留意されたい。シフト回路150は、ノード145において、ノード362の反転である論理レベルを強制するように構成される。例えば、スキャン入力「SD」が論理1である場合(SCANが論理1であれば)、ノード362は論理0であり、ノード145は論理1である。スキャン出力バッファ750は、スキャン出力「SQ」に結合されるノード725で論理0を転送する。したがって、ICがシフトモードで動作するとき、スキャン入力「SD」の反転がスキャン出力「SQ」に転送される。
図7は、或る実施形態に従ったスキャンチェーン100の第1のストレージ要素以外のストレージ要素の例を示す。ストレージ要素700は、ストレージ要素700によって受け取られるスキャン入力データ「SD」が機能モードにおいてプルダウンされる場合の、ストレージ要素100、100、...、又は100のいずれかの例とし得る。例えば、ストレージ要素700は、(ストレージ要素700の)先行するストレージ要素によって提供されるスキャン出力「SQ」(これは、ストレージ要素700のスキャン入力「SD」に結合される)が機能モードにおいて(SCANが論理0であるとき)プルダウンされる場合に用いられる。例えば、SCANが論理0であるとき、スキャン入力「SD」は論理0である。
ストレージ要素700は、ノード725(スキャン出力端子)を駆動するためスキャン出力バッファ750に結合されるノード145を含む。この例示実施形態では、ノード145は、データ出力端子510を駆動するためデータ出力バッファ505にも結合される。この実施形態では、データ出力バッファ505はインバータとして示されている。ストレージ要素700は、それぞれ、先行するストレージ要素のデータ出力「Q」及びスキャン出力「SQ」からデータ入力(「D」参照)及びスキャン入力(「SD」参照)を受け取るように構成される入力回路460を含む。入力回路460は、図5を参照して既に説明されており、簡潔にするためその説明は提供しない。入力回路460は、データ入力「D」及びスキャン入力「SD」の一方に対応する信号をノード462で提供するように構成される。例えば、シフトモードにおいて(SCANZが論理1であるとき)、データ入力「D」の反転がノード462で提供され、機能モードにおいて(SCANZが論理0であるとき)、スキャン入力「SD」の反転がノード462で提供される。
入力回路460の出力(例えばノード462)が、ノード462に対応する信号をノード145に転送するように構成されるシフト回路150に接続される。データ出力バッファ505の入力はノード145に接続され、データ出力バッファ505の出力は、ノード510(データ出力端子)に接続される。データ出力バッファ505はインバータを含む。スキャン出力バッファ750もノード145に接続される。機能モードにおいて、スキャン出力バッファ750はノード725をプルダウンするように構成されるが、シフトモードにおいて、トランジスタ705、710、及び715はインバータ構成を形成し(また、トランジスタ720がディセーブルされ)、ノード145における値の反転がノード725に提供される。
ここで、ストレージ要素700の動作を説明する。入力回路460は、データ入力「D」及びスキャン入力「SD」の一方に対応する信号をノード462で転送させる。この実施形態において、SCANが論理0であるとき、スキャン入力「SD」は論理0であることに留意されたい。例えば、SCANが論理0であるとき、ストレージ要素700の先行するストレージ要素(ストレージ要素200など)のスキャン出力「SQ」がプルダウンされ、このプルダウンされた論理0はストレージ要素700のスキャン入力「SD」に供給される。SCANが論理1であるとき、テストデータ、及び先行するストレージ要素から受け取る値に応じて、スキャン入力「SD」は論理0又は論理1のいずれかを取り得る。図7に示すように、SCANが論理0であるとき、データ入力「D」の反転がノード462で転送され、SCANが論理1であるとき、スキャン入力「SD」の反転がノード462で転送される。
説明のため、機能モードにおいて(SCANが論理0である又はSCANZが論理1であるとき)、スキャン入力「SD」は論理0であり、そのため、トランジスタ475及び490がディセーブルされ、トランジスタ465及び480がイネーブルされる。したがって、トランジスタ465、470、480、及び485はインバータ構成を形成し、「D」の反転論理レベルがノード462に転送される。「D」が論理1に設定されると仮定すると、「D」の反転、例えば論理0、がノード462で利用可能となる。シフト回路150は、ノード145において、ノード462における値の反転である論理レベルを強制するように構成される。例えば、論理1がシフト回路150のインバータ110の出力において転送される。CLKがローであるとき、トランスミッションゲート115が透過になり、トランスミッションゲートの入力におけるCLKがハイになるとき論理1がノード195に転送されて、インバータ130の出力(ノード197)を論理0にする。CLKがハイになるとき、トランスミッションゲート125が透過になり、それによってノード197における値(論理0)がインバータ120に転送される。インバータ120はノード195を論理1にする。別のトランスミッションゲート135が、CLKがハイになるときイネーブルされ、そのためノード197における値(論理0)をインバータ140に転送する。インバータ140はノード145を論理1にする。インバータ185、トランスミッションゲート190、及びインバータ146は、CLKが論理0であるときループバック経路を構成し、ノード145における値を保持することを助ける。データ出力バッファ505(インバータ)は、ノード145における値を反転させ、ノード510を論理0にする。データ出力「Q」がノード510(これはデータ出力端子である)からデータ入力「D」の反転として取り出される。SCANが論理0であるため、トランジスタ705がディセーブルされ、それによってノード725へのデータ伝播が停止する。同時に、トランジスタ720がイネーブルされ、それによってノード725が論理0にプルダウンされる。スキャン出力端子はノード725に結合される。したがって、機能モードにおいて(SCANが論理0であるとき)、スキャン出力「SQ」は論理0に拘束される(これは、スキャン出力端子によって駆動されるスキャン経路における組合せ論理切り替えに起因する機能モードにおける電力低減の助けとなり得る)。スキャンイネーブル入力(SCANZ)は制御信号として働き、この制御信号は、スキャン出力端子「SQ」を論理1に拘束させるか否かを決定する。したがって、SCANが論理0であるとき、データ出力「Q」はデータ入力「D」の反転に従い、スキャン出力「SQ」は論理0に拘束される(すなわち、プルダウンされる)。
シフトモードにおいて(SCANが論理1である又はSCANZが論理0であるとき)、トランジスタ480がディセーブルされ、トランジスタ465、475(プルアップ)及びトランジスタ490(プルダウン)はインバータ構成を形成し、スキャン入力「SD」の反転がノード462に転送される。SCANが論理1であるとき、トランジスタ720がディセーブルされ、トランジスタ705、710、及び715がインバータ構成を形成するので、スキャン出力バッファ750はインバータとして動作することにさらに留意されたい。シフト回路150は、ノード145において、ノード462の反転である論理レベルを強制するように構成される。例えば、スキャン入力「SD」が論理1である場合(SCANが論理1であれば)、ノード462は論理0であり、ノード145は論理1である。スキャン出力バッファ750は、スキャン出力「SQ」に結合されるノード725で論理0を転送する。したがって、ICがシフトモードで動作するとき、スキャン入力「SD」の反転がスキャン出力「SQ」に転送される。
図8は、或る実施形態に従ったスキャンチェーン100の第1のストレージ要素以外のストレージ要素の例を示す。ストレージ要素800は、ストレージ要素800によって受け取られるスキャン入力データ「SD」が機能モードにおいてプルアップされる場合の、ストレージ要素100、100、...、又は100のいずれかの例とし得る。例えば、ストレージ要素800は、(ストレージ要素800の)先行するストレージ要素によって提供されるスキャン出力「SQ」(これは、ストレージ要素800のスキャン入力「SD」に結合される)が機能モードにおいて(SCANが論理0であるとき)プルアップされる場合に用いられる。例えば、SCANが論理0であるとき、スキャン入力「SD」は論理1である。
ストレージ要素800は、ノード415(スキャン出力端子)を駆動するためスキャン出力バッファ450に結合されるノード145を含む。この例示実施形態では、ノード145は、ノード510(データ出力端子)を駆動するためデータ出力バッファ505にも結合される。この実施形態では、データ出力バッファ505はインバータとして示されている。ストレージ要素800は、それぞれ、先行するストレージ要素のデータ出力「Q」及びスキャン出力「SQ」からデータ入力(「D」参照)及びスキャン入力(「SD」参照)を受け取るように構成される入力回路360を含む。入力回路360は、図4を参照して既に説明されており、簡潔にするためその説明は提供しない。入力回路360は、データ入力「D」及びスキャン入力「SD」の一方に対応する信号をノード362で提供するように構成される。例えば、シフトモードにおいて(SCANZが論理1であるとき)、データ入力「D」の反転がノード362で提供され、機能モードにおいて(SCANZが論理0であるとき)、スキャン入力「SD」の反転がノード362で提供される。
入力回路360の出力(例えばノード362)が、ノード362に対応する信号をノード145に転送するように構成されるシフト回路150に接続される。データ出力バッファ505の入力はノード145に接続され、データ出力バッファ505の出力は、ノード510(データ出力端子)に接続される。データ出力バッファ505はインバータを含む。スキャン出力バッファ450もノード145に接続される。スキャン出力バッファ450は、PMOSトランジスタ405(第5のMOSトランジスタ)及びNMOSトランジスタ410(第6のMOSトランジスタ)(トランスミッションゲートを形成する)を含み、プルダウンMOSトランジスタ420(第7のMOSトランジスタ)がそれに続く。トランジスタ405及び410のドレインがノード145に接続される。トランジスタ405及び410のソースはノード415に接続される。トランジスタ405のゲートは反転スキャンイネーブル入力(SCANZ)に接続される。トランジスタ410のゲートはスキャンイネーブル入力(SCAN)に接続される。トランジスタ420(第3のMOSトランジスタ)のソースは接地電圧に接続され、トランジスタ420のドレインはノード415に接続される。トランジスタ420のゲートは反転スキャンイネーブル入力(SCANZ)に接続されて、トランジスタ420を、機能モードにおいて(SCANZが論理1であるとき)プルダウントランジスタとして働かせる。機能モードの間、トランジスタ405及び410はディセーブルされる。シフトモードにおいて(SCANZが論理0であるとき)、トランジスタ420はディセーブルされ、トランスミッションゲートは、イネーブルされ、ノード145における値をノード415に提供する。
ここで、ストレージ要素800の動作を説明する。入力回路360は、データ入力「D」及びスキャン入力「SD」の一方に対応する信号をノード362で転送させる。SCANが論理0であるとき、スキャン入力「SD」は論理1であることに留意されたい。例えば、SCANが論理0であるとき、ストレージ要素800の先行するストレージ要素(ストレージ要素200など)のスキャン出力「SQ」がプルアップされ、このプルアップされた論理1はストレージ要素800のスキャン入力「SD」に供給される。SCANが論理1であるとき、テストデータ、及び先行するストレージ要素から受け取る値に応じて、スキャン入力「SD」は論理0又は論理1のいずれかを取り得る。図4を参照して説明したように、SCANが論理0であるとき、データ入力「D」の反転がノード362で転送され、SCANが論理1であるとき、スキャン入力「SD」の反転がノード362で転送される。
説明のため、SCANが論理0である(スキャン入力「SD」が論理1)である場合、トランジスタ375及び380がディセーブルされ、トランジスタ370及び385がイネーブルされる。したがって、トランジスタ365、370、390、及び385はインバータ構成を形成し、「D」の反転論理レベルがノード362に転送される。「D」が論理1に設定されると仮定すると、「D」の反転、例えば論理0、がノード362で利用可能となる。シフト回路150は、ノード145において、ノード362における値の反転である論理レベルを強制するように構成される。例えば、シフト回路150のインバータ110の出力は論理1である。CLKがローであるとき、トランスミッションゲート115が透過になり、トランスミッションゲートの入力における論理1がノード195に転送されて、インバータ130の出力(ノード197)を論理0にする。CLKがハイになるとき、トランスミッションゲート125が透過になり、それによってノード197における値(論理0)がインバータ120に転送される。インバータ120はノード195を論理1にする。別のトランスミッションゲート135が、CLKがハイになるときイネーブルされ、そのためノード197における値(論理0)をインバータ140に転送する。インバータ140はノード145を論理1にする。インバータ185、トランスミッションゲート190、及びインバータ146は、CLKが論理0であるときループバック経路を構成し、ノード145における値を保持することを助ける。データ出力バッファ505(インバータ)は、ノード145における値を反転させ、ノード510を論理0にする。データ出力「Q」がノード510(これはデータ出力端子である)からデータ入力「D」の反転として取り出される。SCANが論理0であるため、トランジスタ405及び410によって形成されるトランスミッションゲートがノード415をノード145から隔離する。同時に、トランジスタ420がイネーブルされ、これは、機能モードにおいてクロック信号CLKに関わらずノード415を論理0にプルダウンする。スキャン出力端子はノード415に結合される。したがって、機能モードにおいて(SCANが論理0であるとき)、スキャン出力「SQ」は論理0に拘束される(これは、スキャン出力端子によって駆動されるスキャン経路における組合せ論理切り替えに起因する機能モードにおける電力低減の助けとなり得る)。スキャンイネーブル入力(SCANZ)は制御信号として働き、この制御信号は、スキャン出力端子「SQ」を論理1に拘束させるか否かを決定する。したがって、SCANが論理0であるとき、データ出力「Q」はデータ入力「D」の反転に従い、スキャン出力「SQ」は論理0に拘束される(すなわち、プルダウンされる)。
SCANが論理1であるとき、トランジスタ370はディセーブルされ、トランジスタ375(プルアップ)並びにトランジスタ380及び385(プルダウン)はインバータ構成を形成し、スキャン入力「SD」の反転がノード362に転送される。SCANが論理1であるとき、トランジスタ420はディセーブルされ、トランジスタ405及び410によって形成されるトランスミッションゲートはノード145に存在する値をノード415に転送するので、スキャン出力バッファ450はトランスミッションゲートバッファとして動作することにさらに留意されたい。シフト回路150は、ノード145において、ノード362の反転である論理レベルを強制するように構成される。例えば、スキャン入力「SD」が論理1である場合(SCANが論理1であれば)、ノード362は論理0であり、ノード145は論理1である。スキャン出力バッファ450は、スキャン出力「SQ」に結合されるノード415で論理1を転送する。したがって、ICがシフトモードで動作するとき、スキャン入力「SD」がスキャン出力「SQ」に転送される。
図9は、或る実施形態に従ったスキャンチェーン100の第1のストレージ要素以外のストレージ要素の例を示す。ストレージ要素900は、ストレージ要素900によって受け取られるスキャン入力データ「SD」が機能モードにおいてプルダウンされる場合の、ストレージ要素100、100、...、又は100のいずれかの例とし得る。例えば、ストレージ要素900は、(ストレージ要素900の)先行するストレージ要素によって提供されるスキャン出力「SQ」(これは、ストレージ要素900のスキャン入力「SD」に結合される)が機能モードにおいて(SCANが論理0であるとき)プルダウンされる場合に用いられる。例えば、SCANが論理0であるとき、スキャン入力「SD」は論理1である。
ストレージ要素900は、ノード415(スキャン出力端子)を駆動するためスキャン出力バッファ450に結合されるノード145を含む。この例示実施形態では、ノード145は、ノード510(データ出力端子)を駆動するためデータ出力バッファ505にも結合される。この実施形態では、データ出力バッファ505はインバータとして示されている。ストレージ要素900は、それぞれ、先行するストレージ要素のデータ出力「Q」及びスキャン出力「SQ」からデータ入力(「D」参照)及びスキャン入力(「SD」参照)を受け取るように構成される入力回路460を含む。入力回路460は、図5を参照して既に説明されており、簡潔にするためその説明は提供しない。入力回路460は、データ入力「D」及びスキャン入力「SD」の一方に対応する信号をノード462で提供するように構成される。例えば、機能モードにおいて(SCANZが論理1であるとき)、データ入力「D」の反転がノード462で提供され、シフトモードにおいて(SCANZが論理0であるとき)、スキャン入力「SD」の反転がノード462で提供される。
入力回路460の出力(例えばノード462)が、ノード462に対応する信号をノード145に転送するように構成されるシフト回路150に接続される。データ出力バッファ505の入力はノード145に接続され、データ出力バッファ505の出力は、ノード510(データ出力端子)に接続される。データ出力バッファ505はインバータを含む。スキャン出力バッファ450もノード145に接続される。図8を参照して説明したように、スキャン出力バッファ450は、PMOSトランジスタ405(第1のMOSトランジスタ)及びNMOSトランジスタ410(第2のMOSトランジスタ)(トランスミッションゲートを形成する)を含み、プルダウンMOSトランジスタ420がそれに続く。トランジスタ420は、機能モードにおいて(SCANZが論理1であるとき)プルダウントランジスタとして働く。これは、機能モードにおいてトランジスタ405及び410がディセーブルされるからである。シフトモードにおいて(SCANZが論理0であるとき)、トランジスタ420はディセーブルされ、トランスミッションゲートは、イネーブルされ、ノード145における値をノード415に提供する。
ここで、ストレージ要素900の動作を説明する。入力回路460は、データ入力「D」及びスキャン入力「SD」の一方に対応する信号をノード462で転送させる。SCANが論理0であるとき、スキャン入力「SD」は論理0であることに留意されたい。例えば、SCANが論理0であるとき、ストレージ要素900の先行するストレージ要素(ストレージ要素200など)のスキャン出力「SQ」がプルダウンされ、このプルダウンされた論理0はストレージ要素900のスキャン入力「SD」に供給される。SCANが論理1であるとき、テストデータ、及び先行するストレージ要素から受け取る値に応じて、スキャン入力「SD」は論理0又は論理1のいずれかを取り得る。図5を参照して説明したように、SCANが論理0であるとき、データ入力「D」の反転がノード462で転送され、SCANが論理1であるとき、スキャン入力「SD」の反転がノード462で転送される。
機能モードにおいて(SCANが論理0である又はSCANZが論理1であるとき)、スキャン入力「SD」は論理0であり、そのため、トランジスタ475及び490がディセーブルされ、トランジスタ465及び480がイネーブルされる。したがって、トランジスタ465、470、480、及び485はインバータ構成を形成し、「D」の反転論理レベルがノード462に転送される。「D」が論理1に設定されると仮定すると、「D」の反転、例えば論理0、がノード462で利用可能となる。シフト回路150は、ノード145において、ノード462における値の反転である論理レベルを強制するように構成される。例えば、論理1がシフト回路150のインバータ110の出力において転送される。CLKがローであるとき、トランスミッションゲート115が透過になり、トランスミッションゲートの入力における論理1がノード195に転送されて、インバータ130の出力(ノード197)を論理0にする。CLKがハイになるとき、トランスミッションゲート125が透過になり、それによってノード197における値(論理0)がインバータ120に転送される。インバータ120はノード195を論理1にする。別のトランスミッションゲート135が、CLKがハイになるときイネーブルされ、そのためノード197における値(論理0)をインバータ140に転送する。インバータ140はノード145を論理1にする。インバータ185、トランスミッションゲート190、及びインバータ146は、CLKが論理0であるときループバック経路を構成し、ノード145における値を保持することを助ける。データ出力バッファ505(インバータ)は、ノード145における値を反転させ、ノード510を論理0にする。データ出力「Q」がノード510(これはデータ出力端子である)からデータ入力「D」の反転として取り出される。SCANが論理0であるため、トランジスタ405及び410によって形成されるトランスミッションゲートはノード415をノード145から隔離する。同時に、トランジスタ420がイネーブルされ、これは、機能モードにおいてクロック信号CLKに関わらずノード415を論理0にプルダウンする。スキャン出力端子はノード415に結合される。したがって、機能モードにおいて(SCANが論理0であるとき)、スキャン出力「SQ」は論理0に拘束される(これは、スキャン出力端子によって駆動されるスキャン経路における組合せ論理切り替えに起因する機能モードにおける電力低減の助けとなり得る)。スキャンイネーブル入力(SCANZ)は制御信号として働き、この制御信号は、スキャン出力端子「SQ」を論理1に拘束させるか否かを決定する。したがって、SCANが論理0であるとき、データ出力「Q」はデータ入力「D」の反転に従い、スキャン出力「SQ」は論理0に拘束される(すなわち、プルダウンされる)。
シフトモードにおいて(SCANが論理1である又はSCANZが論理0であるとき)、トランジスタ480はディセーブルされ、トランジスタ465、475(プルアップ)及びトランジスタ490(プルダウン)はインバータ構成を形成し、スキャン入力「SD」の反転がノード462に転送される。SCANが論理1であるとき、トランジスタ420はディセーブルされ、トランジスタ405及び410によって形成されるトランスミッションゲートはノード145に存在する値をノード415に転送するので、スキャン出力バッファ450はトランスミッションゲートバッファとして動作することにさらに留意されたい。シフト回路150は、ノード145において、ノード462の反転である論理レベルを強制するように構成される。例えば、スキャン入力「SD」が論理1である場合(SCANが論理1であれば)、ノード462は論理0であり、ノード145は論理1である。スキャン出力バッファ450は、スキャン出力「SQ」に結合されるノード415で論理1を転送する。したがって、ICがシフトモードで動作するとき、スキャン入力「SD」がスキャン出力「SQ」に転送される。
本技術の様々な実施形態はまた、データ出力及びスキャン出力の両方のプルアップ及び/又はプルダウンを提供する。これらの実施形態を図10〜図21を参照してさらに説明する。例えば、機能モードにおいて、スキャン出力「SQ」がプルアップ又はプルダウンされ得、シフトモードにおいて、データ出力「D」がプルアップ又はプルダウンされ得、それによって、これらのモードの間ICにおける電力がより多く節減される。
図10は、或る実施形態に従ったスキャンチェーン100の第1のストレージ要素以外のストレージ要素の例を示す。ストレージ要素1000は、ストレージ要素1000によって受け取られるスキャン入力データ「SD」が機能モードにおいてプルアップされる場合の、ストレージ要素100、100、...、又は100のいずれかの例とし得る。例えば、ストレージ要素1000は、(ストレージ要素1000の)先行するストレージ要素によって提供されるスキャン出力「SQ」(これは、ストレージ要素1000のスキャン入力「SD」に結合される)が機能モードにおいて(SCANが論理0であるとき)プルアップされる場合に用いられる。例えば、SCANが論理0であるとき、スキャン入力「SD」は論理1である。
ストレージ要素1000は、ノード535(スキャン出力端子)を駆動するためスキャン出力バッファ550に結合されるノード145を含む。この例示実施形態では、ノード145は、ノード225(データ出力端子)を駆動するためデータ出力バッファ250にも結合される。ストレージ要素1000は、それぞれ、先行するストレージ要素のデータ出力「Q」及びスキャン出力「SQ」からデータ入力(「D」参照)及びスキャン入力(「SD」参照)を受け取るように構成される入力回路360を含む。入力回路360は、図4を参照して既に説明されており、簡潔にするためその説明は提供しない。入力回路360は、データ入力「D」及びスキャン入力「SD」の一方に対応する信号をノード362で提供するように構成される。例えば、シフトモードにおいて(SCANが論理1であるとき)、データ入力「D」の反転がノード362で提供され、機能モードにおいて(SCANZが論理0であるとき)、スキャン入力「SD」の反転がノード362で提供される。
入力回路360の出力(例えばノード362)が、ノード362に対応する信号をノード145に転送するように構成されるシフト回路150に接続される。データ出力バッファ250の入力はノード145に接続され、データ出力バッファ250の出力はノード225(データ出力端子)に接続される。データ出力バッファ250はPMOSトランジスタ205及びNMOSトランジスタ210を含む。トランジスタ205のソースは電源電圧に接続され、トランジスタ205のドレインはノード225に接続される。トランジスタ205のゲートはノード145に接続される。トランジスタ210のソースは別のNMOSトランジスタ215(第8のMOSトランジスタ)のドレインに接続され、トランジスタ210のドレインはノード225に接続される。トランジスタ210のゲートもノード145に接続される。トランジスタ215のソースは接地電圧に接続され、トランジスタ215のドレインはトランジスタ210のソースに接続される。トランジスタ215のゲートは反転スキャンイネーブル入力(SCANZ)に接続される。トランジスタ215は、SCANが1であるとき、VDDからVSSへの直接経路をディセーブルするために用いられる。別のPMOSトランジスタ220(第9のMOSトランジスタ)が、データ出力端子qをプルアップするために用いられる。トランジスタ220のソースは電源電圧に接続され、トランジスタ220のドレインはノード225(データ出力端子q)に接続される。トランジスタ220のゲートは反転スキャンイネーブル入力(SCANZ)に接続される。ストレージ要素1000のデータ出力(q)が、ノード225から取り出される。スキャン出力バッファ550もノード145に接続される。機能モードにおいて、スキャン出力バッファ550はノード535をプルアップするように構成される。シフトモードにおいて、トランジスタ515、520、及び525がインバータ構成を形成し(また、トランジスタ530がディセーブルされ)、ノード145における値の反転がノード535に提供される。
ここで、ストレージ要素1000の動作を説明する。入力回路360は、データ入力「D」及びスキャン入力「SD」の一方に対応する信号をノード362で転送させる。SCANが論理0であるとき、スキャン入力「SD」は論理1であることに留意されたい。例えば、SCANが論理0であるとき、ストレージ要素1000の先行するストレージ要素(ストレージ要素200など)のスキャン出力「SQ」がプルアップされ、このプルアップされた論理1はストレージ要素1000のスキャン入力「SD」に供給される。SCANが論理1であるとき、テストデータ、及び先行するストレージ要素から受け取る値に応じて、スキャン入力「SD」は論理0又は論理1のいずれかを取り得る。図4を参照して説明したように、SCANが論理0であるとき、データ入力「D」の反転がノード362で転送され、SCANが論理1であるとき、スキャン入力「SD」の反転がノード362で転送される。
機能モードにおいて(SCANが論理0である又はSCANZが論理1であるとき)、スキャン入力「SD」は論理1であり、そのため、トランジスタ375及び380がディセーブルされ、トランジスタ370及び385がイネーブルされる。したがって、トランジスタ365、370、390、及び385はインバータ構成を形成し、「D」の反転論理レベルがノード362に転送される。「D」が論理1に設定されると仮定すると、「D」の反転、例えば論理0、がノード362で利用可能となる。シフト回路150は、ノード145において、ノード362における値の反転である論理レベルを強制するように構成される。例えば、シフト回路150のインバータ110の出力は論理1である。CLKがローであるとき、トランスミッションゲート115が透過になり、トランスミッションゲートの入力における論理1がノード195に転送されて、インバータ130の出力(ノード197)を論理0にする。CLKがハイになるとき、トランスミッションゲート125が透過になり、それによってノード197における値(論理0)がインバータ120に転送される。インバータ120はノード195を論理1にする。別のトランスミッションゲート135が、CLKがハイになるときイネーブルされ、そのためノード197における値(論理0)をインバータ140に転送する。インバータ140はノード145を論理1にする。インバータ185、トランスミッションゲート190、及びインバータ146は、CLKが論理0であるときループバック経路を構成し、ノード145における値を保持することを助ける。データ出力バッファ250は、ノード145における値を反転させ、ノード225を論理0にする。SCANが論理0であるため、トランジスタ220はディセーブルされ、トランジスタ205、210、及び215はインバータ構成を形成し、それによって、ノード145の反転値(例えば論理0)がノード225で転送される。データ出力「Q」がノード225(これはデータ出力端子である)からデータ入力「D」の反転として取り出される。SCANが論理0であるため、トランジスタ525はディセーブルされ、それによってノード535へのデータ伝播が停止する。同時に、トランジスタ530がイネーブルされ、これにより、ノード535が論理1にプルアップされる。スキャン出力端子はノード535に結合される。したがって、機能モードにおいて(SCANが論理0であるとき)、スキャン出力「SQ」は論理1に拘束される(これは、スキャン出力端子によって駆動されるスキャン経路における組合せ論理切り替えに起因する機能モードにおける電力低減の助けとなり得る)。スキャンイネーブル入力(SCANZ)は制御信号として働き、この制御信号は、スキャン出力端子「SQ」を論理1に拘束させるか否かを決定する。したがって、SCANが論理0であるとき、データ出力「Q」はデータ入力「D」の反転に従い、スキャン出力「SQ」は論理1に拘束される。
シフトモードにおいて(SCANが論理1である又はSCANZが論理0であるとき)、トランジスタ370がディセーブルされ、トランジスタ375(プルアップ)並びにトランジスタ380及び385(プルダウン)はインバータ構成を形成し、スキャン入力「SD」の反転がノード362に転送される。SCANが論理1であるとき、トランジスタ530はディセーブルされ、トランジスタ515、520、及び525はインバータ構成を形成するので、スキャン出力バッファ550はインバータとして動作することにさらに留意されたい。シフト回路150は、ノード145において、ノード362の反転である論理レベルを強制するように構成される。例えば、スキャン入力「SD」が論理1である場合(SCANが論理1であれば)、ノード362は論理0であり、ノード145は論理1である。スキャン出力バッファ550は、スキャン出力「SQ」に結合されるノード535で論理0を転送する。したがって、デバイスがシフトモードで動作するとき、反転スキャン入力「SD」がスキャン出力「SQ」に転送される。SCANが論理1であるため、トランジスタ215がディセーブルされて、トランジスタ205及び210によって構成されるインバータをディセーブルさせる。トランジスタ220は、論理0であるSCANZに応答して、イネーブルされ、ノード225(データ出力端子q)をプルアップする。トランジスタ215は、データ出力端子(ノード225)がプルアップされるとき(トランジスタ205及び210によって形成される)インバータを通る漏れ電流を保護するように構成されることに留意されたい。
シフトモードにおいて、データ出力「Q」は論理1に拘束される(これは、データ出力端子によって駆動される組合せ論理切り替えに起因するシフトモードにおける電力低減の助けとなり得る)。スキャンイネーブル入力(SCAN)は制御信号として働き、この制御信号は、データ出力端子「Q」を論理1に拘束させるか否かを決定する。SCANが0であるとき、データ出力「Q」はデータ入力「D」の反転に従い、スキャン出力「SQ」は論理1に拘束される。SCANが論理1であるとき、データ出力qは論理1に拘束され、スキャン出力「SQ」はスキャン入力(sd)の反転に従う。この実施形態に従って、Qゲーティングに起因して機能組合せ論理すべてはトグルしないので、多くのATPGシフトサイクルにわたる平均電力が下がる。各論理ブロックに対しフロップの種類(プルアップ又はプルダウン)を正しく選択することによって第1のシフトサイクルにわたる瞬間ピーク電力が最適化され得る。この技術は、既存のスキャンフロップのサブセットのみをこの新たな設計に変換するように設計者が決定する場合に極めて有用である。ピーク/平均電力が「プルアップ」又は「プルダウン」Qゲーティングの選択によって決まるからである。
図11は、或る実施形態に従ったスキャンチェーン100の第1のストレージ要素以外のストレージ要素の例を示す。ストレージ要素1100は、ストレージ要素1100によって受け取られるスキャン入力データ「SD」が機能モードにおいてプルアップされる場合の、ストレージ要素100、100、...、又は100のいずれかの例とし得る。例えば、ストレージ要素1100は、(ストレージ要素1100の)先行するストレージ要素によって提供されるスキャン出力「SQ」(これは、ストレージ要素1100のスキャン入力「SD」に結合される)が機能モードにおいて(SCANが論理0であるとき)プルアップされる場合に用いられる。例えば、SCANが論理0であるとき、スキャン入力「SD」は論理1である。
ストレージ要素1100は、ノード535(スキャン出力端子)を駆動するためスキャン出力バッファ550に結合されるノード145を含む。この例示実施形態では、ノード145は、ノード625(データ出力端子)を駆動するためデータ出力バッファ650にも結合される。ストレージ要素1100は、それぞれ、先行するストレージ要素のデータ出力「Q」及びスキャン出力「SQ」からデータ入力(「D」参照)及びスキャン入力(「SD」参照)を受け取るように構成される入力回路360を含む。入力回路360は、データ入力「D」及びスキャン入力「SD」の一方に対応する信号をノード362で提供するように構成される。例えば、シフトモードにおいて(SCANZが論理1であるとき)、データ入力「D」の反転がノード362で提供され、機能モードにおいて(SCANZが論理0であるとき)、スキャン入力「SD」の反転がノード362で提供される。
入力回路360の出力(例えばノード362)が、ノード362に対応する信号をノード145に転送するように構成されるシフト回路150に接続される。データ出力バッファ650の入力はノード145に接続され、データ出力バッファ650の出力は、ノード625(データ出力端子)に接続される。データ出力バッファ650はまた、PMOSトランジスタ610及びNMOSトランジスタ615を含む。トランジスタ610のソースは別のPMOSトランジスタ605(第16のMOSトランジスタ)のドレインに接続され、トランジスタ610のドレインはノード625に接続される。トランジスタ610のゲートはノード145に接続される。トランジスタ620のソースは接地電圧に接続され、トランジスタ620のドレインはノード625に接続される。トランジスタ615のゲートもノード145に接続される。トランジスタ605のソースは電源電圧に接続され、トランジスタ605のドレインはトランジスタ610のソースに接続される。トランジスタ605のゲートはスキャンイネーブル入力(SCAN)に接続される。トランジスタ605は、SCANが1であるとき、VDDとVSSの間の直接経路をディセーブルするために用いられる。別のNMOSトランジスタ620(第16のMOSトランジスタ)が、ノード625(データ出力端子)をプルダウンするために用いられる。トランジスタ620のソースは接地電圧に接続され、トランジスタ620のドレインはノード625に接続される。トランジスタ620のゲートはSCANに接続される。スキャン可能なストレージ要素1100のデータ出力(q)がノード625から取り出される。スキャン出力バッファ550もノード145に接続される。機能モードにおいて、スキャン出力バッファ550はノード550をプルアップするように構成される。シフトモードにおいて、トランジスタ515、520、及び525がインバータ構成を形成し(また、トランジスタ530がディセーブルされ)、ノード145の値の反転がノード535に提供される。
ここで、ストレージ要素1100の動作を説明する。入力回路360は、データ入力「D」及びスキャン入力「SD」の一方に対応する信号をノード362で転送させる。SCANが論理0であるとき、スキャン入力「SD」は論理1であることに留意されたい。例えば、SCANが論理0であるとき、ストレージ要素1100の先行するストレージ要素(ストレージ要素200など)のスキャン出力「SQ」がプルアップされ、このプルアップされた論理1はストレージ要素1100のスキャン入力「SD」に供給される。SCANが論理1であるとき、テストデータ、及び先行するストレージ要素から受け取る値に応じて、スキャン入力「SD」は論理0又は論理1のいずれかを取り得る。図4を参照して説明したように、SCANが論理0であるとき、データ入力「D」の反転がノード362で転送され、SCANが論理1であるとき、スキャン入力「SD」の反転がノード362で転送される。
機能モードにおいて(SCANが論理0である又はSCANZが論理1であるとき)、スキャン入力「SD」は論理1であり、そのため、トランジスタ375及び380がディセーブルされ、トランジスタ370及び385がイネーブルされる。したがって、トランジスタ365、370、390、及び385はインバータ構成を形成し、「D」の反転論理レベルがノード362に転送される。「D」が論理1に設定されると仮定すると、「D」の反転、例えば論理0、がノード362で利用可能となる。シフト回路150は、ノード145において、ノード362における値の反転である論理レベルを強制するように構成される。例えば、シフト回路150のインバータ110の出力は論理1である。CLKがローであるとき、トランスミッションゲート115が透過になり、トランスミッションゲートの入力における論理1がノード195に転送されて、インバータ130の出力(ノード197)を論理0にする。CLKがハイになるとき、トランスミッションゲート125が透過になり、それによってノード197における値(論理0)がインバータ120に転送される。インバータ120はノード195を論理1にする。別のトランスミッションゲート135が、CLKがハイになるときイネーブルされ、そのためノード197における値(論理0)をインバータ140に転送する。インバータ140はノード145を論理1にする。インバータ185、トランスミッションゲート190、及びインバータ146は、CLKが論理0であるときループバック経路を構成し、ノード145における値を保持することを助ける。データ出力バッファ650は、ノード145における値を反転させ、ノード625を論理0にする。SCANが論理0であるため、トランジスタ620はディセーブルされ、トランジスタ605、610、及び615はインバータ構成を形成し、それによってノード145の反転値(例えば論理0)がノード625で転送される。データ出力「Q」がノード625(これはデータ出力端子である)からデータ入力「D」の反転として取り出される。SCANが論理0であるため、トランジスタ525はディセーブルされ、それによってノード535へのデータ伝播が停止する。同時に、トランジスタ530がイネーブルされ、それによってノード535が論理1にプルアップされる。スキャン出力端子はノード535に結合される。したがって、機能モードにおいて(SCANが論理0であるとき)、スキャン出力「SQ」は論理1に拘束される(これは、スキャン出力端子によって駆動されるスキャン経路における組合せ論理切り替えに起因する機能モードにおける電力低減の助けとなり得る)。スキャンイネーブル入力(SCAN)は制御信号として働き、この制御信号は、スキャン出力端子「SQ」を論理1に拘束させるか否かを決定する。したがって、SCANが論理0であるとき、データ出力「Q」はデータ入力「D」の反転に従い、スキャン出力「SQ」は論理1に拘束される。
シフトモードにおいて(SCANが論理1である又はSCANZが論理0であるとき)、トランジスタ370はディセーブルされ、トランジスタ375(プルアップ)並びにトランジスタ380及び385(プルダウン)はインバータ構成を形成し、スキャン入力「SD」の反転がノード362に転送される。SCANが論理1であるとき、トランジスタ530がディセーブルされ、トランジスタ515、520、及び525がインバータ構成を形成するので、スキャン出力バッファ550はインバータとして動作することにさらに留意されたい。シフト回路150は、ノード145において、ノード362の反転である論理レベルを強制するように構成される。例えば、スキャン入力「SD」が論理1である場合(SCANが論理1であれば)、ノード362は論理0であり、ノード145は論理1である。スキャン出力バッファ550は、スキャン出力「SQ」に結合されるノード535で論理0を転送する。したがって、デバイスがシフトモードで動作するとき、反転スキャン入力「SD」がスキャン出力「SQ」に転送される。SCANが論理1であるため、トランジスタ605はディセーブルされ、それにより、トランジスタ605及び610によって構成されるインバータがディセーブルされる。トランジスタ620は、SCANに応答して、イネーブルされ、ノード625(データ出力端子q)をプルダウンする。トランジスタ605は、データ出力端子625がプルダウンされるとき(トランジスタ610及び615によって形成される)インバータを通る漏れ電流を保護するように構成されることに留意されたい。
シフトモードにおいて、データ出力「Q」が論理0に拘束される(これは、データ出力端子によって駆動される組合せ論理切り替えに起因するシフトモードにおける電力低減の助けとなり得る)。スキャンイネーブル入力(SCAN)は制御信号として働き、この制御信号は、データ出力端子「Q」を論理1に拘束させるか否かを決定する。SCANが0であるとき、データ出力「Q」はデータ入力「D」の反転に従い、スキャン出力「SQ」は論理1に拘束される。SCANが論理1であるとき、データ出力qは論理0に拘束され、スキャン出力「SQ」はスキャン入力(sd)の反転に従う。この実施形態に従って、Qゲーティングに起因して機能組合せ論理がすべてはトグルされないので、多くのATPGシフトサイクルにわたる平均電力が下がる。各論理ブロックに対しフロップの種類(プルアップ又はプルダウン)を正しく選択することによって第1のシフトサイクルにわたる瞬間ピーク電力が最適化され得る。この技術は、既存のスキャンフロップのサブセットのみをこの新たな設計に変換するように設計者が決定する場合に極めて有用である。ピーク/平均電力が「プルアップ」又は「プルダウン」Qゲーティングの選択によって決まるからである。
図12は、或る実施形態に従ったスキャンチェーン100の第1のストレージ要素以外のストレージ要素の例を示す。ストレージ要素1200は、ストレージ要素1200によって受け取られるスキャン入力データ「SD」が機能モードにおいてプルダウンされる場合の、ストレージ要素100、100、...、又は100のいずれかの例とし得る。例えば、ストレージ要素1200は、(ストレージ要素1200の)先行するストレージ要素によって提供されるスキャン出力「SQ」(これは、ストレージ要素1200のスキャン入力「SD」に結合される)が機能モードにおいて(SCANが論理0であるとき)プルダウンされる場合に用いられる。例えば、SCANが論理0であるとき、スキャン入力「SD」は論理1である。
ストレージ要素1200は、ノード535(スキャン出力端子)を駆動するためスキャン出力バッファ550に結合されるノード145を含む。この例示実施形態では、ノード145は、ノード225(データ出力端子)を駆動するためデータ出力バッファ250にも結合される。ストレージ要素1200は、それぞれ、先行するストレージ要素のデータ出力「Q」及びスキャン出力「SQ」からデータ入力(「D」参照)並びにスキャン入力(「SD」参照)を受け取るように構成される入力回路460を含む。入力回路460は、データ入力「D」及びスキャン入力「SD」の一方に対応する信号をノード462で提供するように構成される。例えば、シフトモードにおいて(SCANZが論理1であるとき)、データ入力「D」の反転がノード462で提供され、機能モードにおいて(SCANZが論理0であるとき)、スキャン入力「SD」の反転がノード462で提供される。
入力回路460の出力(例えばノード462)が、ノード462に対応する信号をノード145に転送するように構成されるシフト回路150に接続される。データ出力バッファ250の入力はノード145に接続され、データ出力バッファ250の出力はノード225(データ出力端子)に接続される。ストレージ要素1200のデータ出力(q)はノード225から取り出される。スキャン出力バッファ550もノード145に接続される。機能モードにおいて、スキャン出力バッファ550はノード535をプルアップするように構成される。シフトモードにおいて、トランジスタ515、520、及び525がインバータ構成を形成し(また、トランジスタ530がディセーブルされ)、そのため、ノード145の値の反転がノード535に提供される。
ここで、ストレージ要素1200の動作を説明する。入力回路460は、データ入力「D」及びスキャン入力「SD」の一方に対応する信号をノード462で転送させる。この実施形態では、SCANが論理0であるとき、スキャン入力「SD」は論理0であることに留意されたい。例えば、SCANが論理0であるとき、ストレージ要素1200の先行するストレージ要素(ストレージ要素300など)のスキャン出力「SQ」がプルダウンされ、このプルダウンされた論理0はストレージ要素1200のスキャン入力「SD」に供給される。SCANが論理1であるとき、テストデータ、及び先行するストレージ要素から受け取る値に応じて、スキャン入力「SD」は論理0又は論理1のいずれかを取り得る。図12に示すように、SCANが論理0であるとき、データ入力「D」の反転がノード462で転送され、SCANが論理1であるとき、スキャン入力「SD」の反転がノード462で転送される。
機能モードにおいて(SCANが論理0である又はSCANZが論理1であるとき)、スキャン入力「SD」は論理0であり、そのため、トランジスタ475及び490がディセーブルされ、トランジスタ465及び480がイネーブルされる。したがって、トランジスタ465、470、480、及び485はインバータ構成を形成し、「D」の反転論理レベルがノード462に転送される。「D」が論理1に設定されると仮定すると、「D」の反転、例えば論理0、がノード462で利用可能となる。シフト回路150は、ノード145において、ノード462における値の反転である論理レベルを強制するように構成される。例えば、シフト回路150のインバータ120の出力で論理1が転送される。CLKがローであるとき、トランスミッションゲート125が透過になり、トランスミッションゲートの入力における論理1がノード195に転送され、インバータ130の出力(ノード197)を論理0にする。CLKがハイになるとき、トランスミッションゲート125は透過になり、それによってノード197における値(論理0)がインバータ120に転送される。インバータ120はノード195を論理1にする。別のトランスミッションゲート135が、CLKがハイになるときイネーブルされ、そのためノード197における値(論理0)をインバータ140に転送する。インバータ140はノード145を論理1にする。インバータ185、トランスミッションゲート190、及びインバータ146は、CLKが論理0であるときループバック経路を構成し、ノード145における値を保持することを助ける。データ出力バッファ250は、ノード145における値を反転させ、ノード225を論理0にする。SCANが論理0であるため、トランジスタ220はディセーブルされ、トランジスタ205、210、及び215はインバータ構成を形成し、それによりノード145の反転値(例えば論理0)がノード225に転送される。データ出力「Q」がノード225(これはデータ出力端子である)からデータ入力「D」の反転として取り出される。SCANが論理0であるため、トランジスタ525はディセーブルされ、それによってノード535へのデータ伝播が停止する。同時に、トランジスタ530がイネーブルされ、それによってノード535が論理1にプルアップされる。スキャン出力端子はノード535に結合される。したがって、機能モードにおいて(SCANが論理0であるとき)、スキャン出力「SQ」は論理1に拘束される(これは、スキャン出力端子によって駆動されるスキャン経路における組合せ論理切り替えに起因する機能モードにおける電力低減の助けとなり得る)。スキャンイネーブル入力(SCAN)は制御信号として働き、この制御信号は、スキャン出力端子「SQ」を論理1に拘束させるか否かを決定する。したがって、SCANが論理0であるとき、データ出力「Q」はデータ入力「D」の反転に従い、スキャン出力「SQ」は論理1に拘束される。
シフトモードにおいて(SCANが論理1である又はSCANZが論理0であるとき)、トランジスタ480はディセーブルされ、トランジスタ465、475(プルアップ)及びトランジスタ490(プルダウン)はインバータ構成を形成し、スキャン入力「SD」の反転がノード462に転送される。SCANが論理1であるとき、トランジスタ530がディセーブルされ、トランジスタ515、520、及び525がインバータ構成を形成するので、スキャン出力バッファ550はインバータとして動作することにさらに留意されたい。シフト回路150は、ノード145において、ノード462の反転である論理レベルを強制するように構成される。例えば、スキャン入力「SD」が論理1である場合(SCANが論理1であれば)、ノード462は論理0であり、ノード145は論理1である。スキャン出力バッファ550は、スキャン出力「SQ」に結合されるノード535において論理0を転送する。したがって、デバイスがシフトモードで動作するとき、反転スキャン入力「SD」がスキャン出力「SQ」に転送される。SCANが論理1であるため、トランジスタ215はディセーブルされ、これにより、トランジスタ205及び210によって構成されるインバータがディセーブルされる。トランジスタ220は、論理0であるSCANZに応答して、イネーブルされ、ノード225(データ出力端子q)をプルアップする。トランジスタ215は、データ出力端子(ノード225)がプルアップされるとき(トランジスタ200及び210によって形成される)インバータを通る漏れ電流を保護するように構成されることに留意されたい。
シフトモードにおいて、データ出力「Q」は論理1に拘束される(これは、データ出力端子によって駆動される組合せ論理切り替えに起因するシフトモードにおける電力低減の助けとなり得る)。スキャンイネーブル入力(SCAN)は制御信号として働き、この制御信号は、データ出力端子「Q」を論理1に拘束させるか否かを決定する。SCANが0であるとき、データ出力「Q」はデータ入力「D」の反転に従い、スキャン出力「SQ」は論理1に拘束される。SCANが論理1であるとき、データ出力qは論理1に拘束され、スキャン出力「SQ」はスキャン入力(sd)の反転に従う。この実施形態に従って、Qゲーティングに起因して機能組合せ論理がすべてはトグルされないので、多くのATPGシフトサイクルにわたる平均電力が下がる。各論理ブロックに対しフロップの種類(プルアップ又はプルダウン)を正しく選択することによって第1のシフトサイクルにわたる瞬間ピーク電力が最適化され得る。この技術は、既存のスキャンフロップのサブセットのみをこの新たな設計に変換するように設計者が決定する場合に極めて有用である。ピーク/平均電力が「プルアップ」又は「プルダウン」Qゲーティングの選択によって決まるからである。
図13は、或る実施形態に従ったスキャンチェーン100の第1のストレージ要素以外のストレージ要素の例を示す。ストレージ要素1300は、ストレージ要素1300によって受け取られるスキャン入力データ「SD」が機能モードにおいてプルダウンされる場合の、ストレージ要素100、100、...、又は100のいずれかの例とし得る。例えば、ストレージ要素1300は、(ストレージ要素1300の)先行するストレージ要素によって提供されるスキャン出力「SQ」(これは、ストレージ要素1300のスキャン入力「SD」に結合される)が機能モードにおいて(SCANが論理0であるとき)プルダウンされる場合に用いられる。例えば、SCANが論理0であるとき、スキャン入力「SD」は論理1である。
ストレージ要素1300は、ノード535(スキャン出力端子)を駆動するためスキャン出力バッファ550に結合されるノード145を含む。この例示実施形態では、ノード145は、ノード625(データ出力端子)を駆動するためデータ出力バッファ650にも結合される。ストレージ要素1300は、それぞれ、先行するストレージ要素のデータ出力「Q」及びスキャン出力「SQ」からデータ入力(「D」参照)及びスキャン入力(「SD」参照)を受け取るように構成される入力回路460を含む。入力回路460は、データ入力「D」及びスキャン入力「SD」の一方に対応する信号をノード462で提供するように構成される。例えば、シフトモードにおいて(SCANZが論理1であるとき)、データ入力「D」の反転がノード462で提供され、機能モードにおいて(SCANZが論理0であるとき)、スキャン入力「SD」の反転がノード462で提供される。
入力回路460の出力(例えばノード462)が、ノード462に対応する信号をノード145に転送するように構成されるシフト回路150に接続される。データ出力バッファ650の入力はノード145に接続され、データ出力バッファ650の出力はノード625(データ出力端子)に接続される。ストレージ要素1300のデータ出力(q)はノード625から取り出される。スキャン出力バッファ550もノード145に接続される。機能モードにおいて、スキャン出力バッファ550はノード535をプルアップするように構成される。シフトモードにおいて、トランジスタ515、520、及び525がインバータ構成を形成し(また、トランジスタ530がディセーブルされ)、そのため、ノード145の値の反転がノード535に提供される。
ここで、ストレージ要素1300の動作を説明する。入力回路460は、データ入力「D」及びスキャン入力「SD」の一方に対応する信号をノード462で転送させる。この実施形態では、SCANが論理0であるとき、スキャン入力「SD」は論理0であることに留意されたい。例えば、SCANが論理0であるとき、ストレージ要素1300の先行するストレージ要素(ストレージ要素300など)のスキャン出力「SQ」がプルダウンされ、このプルダウンされた論理0はストレージ要素1300のスキャン入力「SD」に供給される。SCANが論理1であるとき、テストデータ、及び先行するストレージ要素から受け取る値に応じて、スキャン入力「SD」は論理0又は論理1のいずれかを取り得る。図13に示すように、SCANが論理0であるとき、データ入力「D」の反転がノード462で転送され、SCANが論理1であるとき、スキャン入力「SD」の反転がノード462で転送される。
機能モードにおいて(SCANが論理0である又はSCANZが論理1であるとき)、スキャン入力「SD」は論理0であり、そのため、トランジスタ475及び490がディセーブルされ、トランジスタ465及び480がイネーブルされる。したがって、トランジスタ465、470、480、及び485はインバータ構成を形成し、「D」の反転論理レベルがノード462に転送される。「D」が論理1に設定されると仮定すると、「D」の反転、例えば論理0、がノード462で利用可能となる。シフト回路150は、ノード145において、ノード462における値の反転である論理レベルを強制するように構成される。例えば、シフト回路150のインバータ130の出力で論理1が転送される。CLKがローであるとき、トランスミッションゲート135が透過になり、トランスミッションゲートの入力における論理1がノード195に転送されて、インバータ130の出力(ノード197)を論理0にする。CLKがハイになるとき、トランスミッションゲート135は透過になり、それによってノード197における値(論理0)がインバータ130に転送される。インバータ130は、ノード195を論理1にする。別のトランスミッションゲート135が、CLKがハイになるときイネーブルされ、そのためノード197における値(論理0)をインバータ140に転送する。インバータ140はノード145を論理1にする。インバータ185、トランスミッションゲート190、及びインバータ146は、CLKが論理0であるときループバック経路を構成し、ノード145における値を保持することを助ける。データ出力バッファ650は、ノード145における値を反転させ、ノード625を論理0にする。SCANが論理0であるため、トランジスタ620がディセーブルされ、トランジスタ605、610、及び615がインバータ構成を形成し、それにより、ノード145の反転値(例えば論理0)がノード625で転送される。データ出力「Q」がノード625(これはデータ出力端子である)からデータ入力「D」の反転として取り出される。SCANが論理0であるため、トランジスタ525はディセーブルされ、それによってノード535へのデータ伝播が停止する。同時に、トランジスタ530はイネーブルされ、それによってノード535は論理1にプルアップされる。スキャン出力端子はノード535に結合される。したがって、機能モードにおいて(SCANが論理0であるとき)、スキャン出力「SQ」は論理1に拘束される(これは、スキャン出力端子によって駆動されるスキャン経路における組合せ論理切り替えに起因する機能モードにおける電力低減の助けとなり得る)。スキャンイネーブル入力(SCAN)は制御信号として働き、この制御信号は、スキャン出力端子「SQ」を論理1に拘束させるか否かを決定する。したがって、SCANが論理0であるとき、データ出力「Q」はデータ入力「D」の反転に従い、スキャン出力「SQ」は論理1に拘束される。
シフトモードにおいて(SCANが論理1である又はSCANZが論理0であるとき)、トランジスタ480はディセーブルされ、トランジスタ465、475(プルアップ)及びトランジスタ490(プルダウン)はインバータ構成を形成し、スキャン入力「SD」の反転がノード462に転送される。SCANが論理1であるとき、トランジスタ530がディセーブルされ、トランジスタ515、520、及び525がインバータ構成を形成するので、スキャン出力バッファ550はインバータとして動作することにさらに留意されたい。シフト回路150は、ノード145において、ノード462の反転である論理レベルを強制するように構成される。例えば、スキャン入力「SD」が論理1である場合(SCANが論理1であれば)、ノード462は論理0であり、ノード145は論理1である。スキャン出力バッファ550は、スキャン出力「SQ」に結合されるノード535において論理0を転送する。したがって、デバイスがシフトモードで動作するとき、反転スキャン入力「SD」がスキャン出力「SQ」に転送される。SCANが論理1であるため、トランジスタ605はディセーブルされ、これにより、トランジスタ605及び610によって構成されるインバータがディセーブルされる。トランジスタ620は、SCANに応答して、イネーブルされ、ノード625(データ出力端子q)をプルダウンする。トランジスタ605は、データ出力端子がプルダウンされるとき(トランジスタ610及び615によって形成される)インバータを通る漏れ電流を保護するように構成されることに留意されたい。
シフトモードにおいて、データ出力「Q」は論理0に拘束される(これは、データ出力端子によって駆動される組合せ論理切り替えに起因するシフトモードにおける電力低減の助けとなり得る)。スキャンイネーブル入力(SCAN)は制御信号として働き、この制御信号は、データ出力端子「Q」を論理1に拘束させるか否かを決定する。SCANが0であるとき、データ出力「Q」はデータ入力「D」の反転に従い、スキャン出力「SQ」は論理1に拘束される。SCANが論理1であるとき、データ出力qは論理0に拘束され、スキャン出力「SQ」はスキャン入力(sd)の反転に従う。この実施形態に従って、Qゲーティングに起因して機能組合せ論理がすべてはトグルされないので、多くのATPGシフトサイクルにわたる平均電力が下がる。各論理ブロックに対しフロップの種類(プルアップ又はプルダウン)を正しく選択することによって第1のシフトサイクルにわたる瞬間ピーク電力が最適化され得る。この技術は、既存のスキャンフロップのサブセットのみをこの新たな設計に変換するように設計者が決定する場合に極めて有用である。ピーク/平均電力が「プルアップ」又は「プルダウン」Qゲーティングの選択によって決まるからである。
図14は、或る実施形態に従ったスキャンチェーン100の第1のストレージ要素以外のストレージ要素の例を示す。ストレージ要素1400は、ストレージ要素1400によって受け取られるスキャン入力データ「SD」が機能モードにおいてプルアップされる場合の、ストレージ要素100、100、...、又は100のいずれかの例とし得る。例えば、ストレージ要素1400は、(ストレージ要素1400の)先行するストレージ要素によって提供されるスキャン出力「SQ」(これは、ストレージ要素1400のスキャン入力「SD」に結合される)が機能モードにおいて(SCANが論理0であるとき)プルアップされる場合に用いられる。例えば、SCANが論理0であるとき、スキャン入力「SD」は論理1である。
ストレージ要素1400は、ノード725(スキャン出力端子)を駆動するためスキャン出力バッファ750に結合されるノード145を含む。この例示実施形態では、ノード145は、ノード225(データ出力端子)を駆動するためデータ出力バッファ250にも結合される。ストレージ要素1400は、それぞれ、先行するストレージ要素のデータ出力「Q」及びスキャン出力「SQ」からデータ入力(「D」参照)及びスキャン入力(「SD」参照)を受け取るように構成される入力回路360を含む。入力回路360は、データ入力「D」及びスキャン入力「SD」の一方に対応する信号をノード362で提供するように構成される。例えば、シフトモードにおいて(SCANが論理1であるとき)、データ入力「D」の反転がノード362で提供され、機能モードにおいて(SCANZが論理0であるとき)、スキャン入力「SD」の反転がノード362で提供される。
入力回路360の出力(例えばノード362)が、ノード362に対応する信号をノード145に転送するように構成されるシフト回路150に接続される。データ出力バッファ250の入力はノード145に接続され、データ出力バッファ250の出力はノード225(データ出力端子)に接続される。ストレージ要素1400のデータ出力(q)はノード225から取り出される。スキャン出力バッファ750もノード145に接続される。機能モードにおいて、スキャン出力バッファ750はノード725をプルアップするように構成される。シフトモードにおいて、トランジスタ705、710、及び715がインバータ構成を形成し(また、トランジスタ720がディセーブルされ)、そのため、ノード145の値の反転がノード725に提供される。
ここで、ストレージ要素1400の動作を説明する。入力回路360は、データ入力「D」及びスキャン入力「SD」の一方に対応する信号をノード362で転送させる。SCANが論理0であるとき、スキャン入力「SD」は論理1であることに留意されたい。例えば、SCANが論理0であるとき、ストレージ要素1400の先行するストレージ要素(ストレージ要素200など)のスキャン出力「SQ」がプルアップされ、このプルアップされた論理1はストレージ要素1400のスキャン入力「SD」に供給される。SCANが論理1であるとき、テストデータ、及び先行するストレージ要素から受け取る値に応じて、スキャン入力「SD」は論理0又は論理1のいずれかを取り得る。図4を参照して説明したように、SCANが論理0であるとき、データ入力「D」の反転がノード362で転送され、SCANが論理1であるとき、スキャン入力「SD」の反転がノード362で転送される。
機能モードにおいて(SCANが論理0である又はSCANZが論理1であるとき)、スキャン入力「SD」は論理1であり、そのため、トランジスタ375及び380がディセーブルされ、トランジスタ370及び385がイネーブルされる。したがって、トランジスタ365、370、390、及び385はインバータ構成を形成し、「D」の反転論理レベルがノード362に転送される。「D」が論理1に設定されると仮定すると、「D」の反転、例えば論理0、がノード362で利用可能となる。シフト回路150は、ノード145において、ノード362における値の反転である論理レベルを強制するように構成される。例えば、シフト回路150のインバータ110の出力は論理1である。CLKがローであるとき、トランスミッションゲート115が透過になり、トランスミッションゲートの入力における論理1がノード195に転送されて、インバータ130の出力(ノード197)を論理0にする。CLKがハイになるとき、トランスミッションゲート125が透過になり、それによってノード197における値(論理0)がインバータ120に転送される。インバータ120はノード195を論理1にする。別のトランスミッションゲート135が、CLKがハイになるときイネーブルされ、そのためノード197における値(論理0)をインバータ140に転送する。インバータ140はノード145を論理1にする。インバータ185、トランスミッションゲート190、及びインバータ146は、CLKが論理0であるときループバック経路を構成し、ノード145における値を保持することを助ける。データ出力バッファ250は、ノード145における値を反転させ、ノード225を論理0にする。SCANが論理0であるため、トランジスタ220がディセーブルされ、トランジスタ205、210、及び215がインバータ構成を形成し、それにより、ノード145の反転値(例えば論理0)がノード225で転送される。データ出力「Q」は、ノード225(これはデータ出力端子である)からデータ入力「D」の反転として取り出される。SCANが論理0であるため、トランジスタ705はディセーブルされ、それによってノード725へのデータ伝播が停止する。同時に、トランジスタ720はイネーブルされ、それによってノード725が論理0にプルダウンされる。スキャン出力端子はノード725に結合される。したがって、機能モードにおいて(SCANが論理0であるとき)、スキャン出力「SQ」は論理0に拘束される(これは、スキャン出力端子によって駆動されるスキャン経路における組合せ論理切り替えに起因する機能モードにおける電力低減の助けとなり得る)。スキャンイネーブル入力(SCANZ)は制御信号として働き、この制御信号は、スキャン出力端子「SQ」を論理1に拘束させるか否かを決定する。したがって、SCANが論理0であるとき、データ出力「Q」はデータ入力「D」の反転に従い、スキャン出力「SQ」は論理0に拘束される(すなわち、プルダウンされる)。
シフトモードにおいて(SCANが論理1である又はSCANZが論理0であるとき)、トランジスタ370はディセーブルされ、トランジスタ375(プルアップ)並びにトランジスタ380及び385(プルダウン)はインバータ構成を形成し、スキャン入力「SD」の反転がノード362に転送される。SCANが論理1であるとき、トランジスタ720がディセーブルされ、トランジスタ705、710、及び715がインバータ構成を形成するので、スキャン出力バッファ750はインバータとして動作することにさらに留意されたい。シフト回路150は、ノード145において、ノード362の反転である論理レベルを強制するように構成される。例えば、スキャン入力「SD」が論理1である場合(SCANが論理1であれば)、ノード362は論理0であり、ノード145は論理1である。スキャン出力バッファ750は、スキャン出力「SQ」に結合されるノード725で論理0を転送する。したがって、ICがシフトモードで動作するとき、スキャン入力「SD」の反転がスキャン出力「SQ」に転送される。SCANが論理1であるため、トランジスタ215はディセーブルされ、これにより、トランジスタ205及び210によって構成されるインバータがディセーブルされる。トランジスタ220は、論理0であるSCANZに応答して、イネーブルされ、ノード225(データ出力端子)をプルアップする。トランジスタ215は、データ出力端子(ノード225)がプルアップされるとき(トランジスタ205及び210によって形成される)インバータを通る漏れ電流を保護するように構成されることに留意されたい。
シフトモードにおいて、データ出力「Q」は論理1に拘束される(これは、データ出力端子によって駆動される組合せ論理切り替えに起因するシフトモードにおける電力低減の助けとなり得る)。スキャンイネーブル入力(SCAN)は制御信号として働き、この制御信号は、データ出力端子「Q」を論理1に拘束させるか否かを決定する。SCANが0であるとき、データ出力「Q」はデータ入力「D」の反転に従い、スキャン出力「SQ」は論理0に拘束される。SCANが論理1であるとき、データ出力qは論理1に拘束され、スキャン出力「SQ」はスキャン入力(sd)の反転に従う。この実施形態に従って、Qゲーティングに起因して機能組合せ論理がすべてはトグルされないので、多くのATPGシフトサイクルにわたる平均電力が下がる。各論理ブロックに対しフロップの種類(プルアップ又はプルダウン)を正しく選択することによって第1のシフトサイクルにわたる瞬間ピーク電力が最適化され得る。この技術は、既存のスキャンフロップのサブセットのみをこの新たな設計に変換するように設計者が決定する場合に極めて有用である。ピーク/平均電力が「プルアップ」又は「プルダウン」Qゲーティングの選択によって決まるからである。
図15は、或る実施形態に従ったスキャンチェーン100の第1のストレージ要素以外のストレージ要素の例を示す。ストレージ要素1500は、ストレージ要素1500によって受け取られるスキャン入力データ「SD」が機能モードにおいてプルアップされる場合の、ストレージ要素100、100、...、又は100のいずれかの例とし得る。例えば、ストレージ要素1500は、(ストレージ要素1500の)先行するストレージ要素によって提供されるスキャン出力「SQ」(これは、ストレージ要素1500のスキャン入力「SD」に結合される)が機能モードにおいて(SCANが論理0であるとき)プルアップされる場合に用いられる。例えば、SCANが論理0であるとき、スキャン入力「SD」は論理1である。
ストレージ要素1500は、ノード725(スキャン出力端子)を駆動するためスキャン出力バッファ750に結合されるノード145を含む。この例示実施形態では、ノード145は、ノード625(データ出力端子)を駆動するためデータ出力バッファ650にも結合される。ストレージ要素1500は、それぞれ、先行するストレージ要素のデータ出力「Q」及びスキャン出力「SQ」からデータ入力(「D」参照)及びスキャン入力(「SD」参照)を受け取るように構成される入力回路360を含む。入力回路360は、データ入力「D」及びスキャン入力「SD」の一方に対応する信号をノード362で提供するように構成される。例えば、シフトモードにおいて(SCANが論理1であるとき)、データ入力「D」の反転がノード362で提供され、機能モードにおいて(SCANZが論理0であるとき)、スキャン入力「SD」の反転がノード362で提供される。
入力回路360の出力(例えばノード362)が、ノード362に対応する信号をノード145に転送するように構成されるシフト回路150に接続される。データ出力バッファ650の入力はノード145に接続され、データ出力バッファ650の出力はノード625(データ出力端子)に接続される。ストレージ要素1500のデータ出力(q)はノード625から取り出される。スキャン出力バッファ750もノード145に接続される。機能モードにおいて、スキャン出力バッファ750はノード725をプルダウンするように構成される。シフトモードにおいて、トランジスタ705、710、及び715がインバータ構成を形成し(また、トランジスタ720がディセーブルされ)、そのため、ノード145の値の反転がノード725に提供される。
ここで、ストレージ要素1500の動作を説明する。入力回路360は、データ入力「D」及びスキャン入力「SD」の一方に対応する信号をノード362で転送させる。SCANが論理0であるとき、スキャン入力「SD」は論理1であることに留意されたい。例えば、SCANが論理0であるとき、ストレージ要素1500の先行するストレージ要素(ストレージ要素200など)のスキャン出力「SQ」がプルアップされ、このプルアップされた論理1はストレージ要素1500のスキャン入力「SD」に供給される。SCANが論理1であるとき、テストデータ、及び先行するストレージ要素から受け取る値に応じて、スキャン入力「SD」は論理0又は論理1のいずれかを取り得る。図4を参照して説明したように、SCANが論理0であるとき、データ入力「D」の反転がノード362で転送され、SCANが論理1であるとき、スキャン入力「SD」の反転がノード362で転送される。
機能モードにおいて(SCANが論理0である又はSCANZが論理1であるとき)、スキャン入力「SD」は論理1であり、そのため、トランジスタ375及び380がディセーブルされ、トランジスタ370及び385がイネーブルされる。したがって、トランジスタ365、370、390、及び385はインバータ構成を形成し、「D」の反転論理レベルがノード362に転送される。「D」が論理1に設定されると仮定すると、「D」の反転、例えば論理0、がノード362で利用可能となる。シフト回路150は、ノード145において、ノード362における値の反転である論理レベルを強制するように構成される。例えば、シフト回路150のインバータ110の出力は論理1である。CLKがローであるとき、トランスミッションゲート115が透過になり、トランスミッションゲートの入力における論理1がノード195に転送されて、インバータ130の出力(ノード197)を論理0にする。CLKがハイになるとき、トランスミッションゲート125が透過になり、それによってノード197における値(論理0)がインバータ120に転送される。インバータ120はノード195を論理1にする。別のトランスミッションゲート135が、CLKがハイになるときイネーブルされ、そのためノード197における値(論理0)をインバータ150に転送する。インバータ150はノード145を論理1にする。インバータ185、トランスミッションゲート190、及びインバータ146は、CLKが論理0であるときループバック経路を構成し、ノード145における値を保持することを助ける。データ出力バッファ650は、ノード145における値を反転させ、ノード625を論理0にする。SCANが論理0であるため、トランジスタ620がディセーブルされ、トランジスタ605、610、及び615がインバータ構成を形成し、それによって、ノード145の反転値(例えば論理0)がノード625で転送される。データ出力「Q」がノード625(これはデータ出力端子である)からデータ入力「D」の反転として取り出される。SCANが論理0であるため、トランジスタ705はディセーブルされ、それによってノード725へのデータ伝播が停止する。同時に、トランジスタ720はイネーブルされ、それによってノード725が論理0にプルダウンされる。スキャン出力端子はノード725に結合される。したがって、機能モードにおいて(SCANが論理0であるとき)、スキャン出力「SQ」は論理0に拘束される(これは、スキャン出力端子によって駆動されるスキャン経路における組合せ論理切り替えに起因する機能モードにおける電力低減の助けとなり得る)。スキャンイネーブル入力(SCANZ)は制御信号として働き、この制御信号は、スキャン出力端子「SQ」を論理1に拘束させるか否かを決定する。したがって、SCANが論理0であるとき、データ出力「Q」はデータ入力「D」の反転に従い、スキャン出力「SQ」は論理0に拘束される(すなわち、プルダウンされる)。
シフトモードにおいて(SCANが論理1である又はSCANZが論理0であるとき)、トランジスタ370はディセーブルされ、トランジスタ375(プルアップ)並びにトランジスタ380及び385(プルダウン)はインバータ構成を形成し、スキャン入力「SD」の反転がノード362に転送される。SCANが論理1であるとき、トランジスタ720がディセーブルされ、トランジスタ705、710、及び715がインバータ構成を形成するので、スキャン出力バッファ750はインバータとして動作することにさらに留意されたい。シフト回路150は、ノード145において、ノード462の反転である論理レベルを強制するように構成される。例えば、スキャン入力「SD」が論理1である場合(SCANが論理1であれば)、ノード462は論理0であり、ノード145は論理1である。スキャン出力バッファ750は、スキャン出力「SQ」に結合されるノード725において論理0を転送する。したがって、ICがシフトモードで動作するとき、スキャン入力「SD」の反転がスキャン出力「SQ」に転送される。SCANが論理1であるため、トランジスタ605はディセーブルされ、これにより、トランジスタ605及び610によって構成されるインバータがディセーブルされる。トランジスタ620は、SCANに応答して、イネーブルされ、ノード625(データ出力端子q)をプルダウンする。トランジスタ605は、データ出力端子がプルダウンされるとき(トランジスタ610及び615によって形成される)インバータを通る漏れ電流を保護するように構成されることに留意されたい。
シフトモードにおいて、データ出力「Q」は論理0に拘束される(これは、データ出力端子によって駆動される組合せ論理切り替えに起因するシフトモードにおける電力低減の助けとなり得る)。スキャンイネーブル入力(SCAN)は制御信号として働き、この制御信号は、データ出力端子「Q」を論理1に拘束させるか否かを決定する。SCANが0であるとき、データ出力「Q」はデータ入力「D」の反転に従い、スキャン出力「SQ」は論理0に拘束される。SCANが論理1であるとき、データ出力qは論理0に拘束され、スキャン出力「SQ」はスキャン入力(sd)の反転に従う。この実施形態に従って、Qゲーティングに起因して機能組合せ論理がすべてはトグルされないので、多くのATPGシフトサイクルにわたる平均電力が下がる。各論理ブロックに対しフロップの種類(プルアップ又はプルダウン)を正しく選択することによって第1のシフトサイクルにわたる瞬間ピーク電力が最適化され得る。この技術は、既存のスキャンフロップのサブセットのみをこの新たな設計に変換するように設計者が決定する場合に極めて有用である。ピーク/平均電力が「プルアップ」又は「プルダウン」Qゲーティングの選択によって決まるからである。
図16は、或る実施形態に従ったスキャンチェーン100の第1のストレージ要素以外のストレージ要素の例を示す。ストレージ要素1600は、ストレージ要素1600によって受け取られるスキャン入力データ「SD」が機能モードにおいてプルダウンされる場合の、ストレージ要素100、100、...、又は100のいずれかの例とし得る。例えば、ストレージ要素1600は、(ストレージ要素1600の)先行するストレージ要素によって提供されるスキャン出力「SQ」(これは、ストレージ要素1600のスキャン入力「SD」に結合される)が機能モードにおいて(SCANが論理0であるとき)プルダウンされる場合に用いられる。例えば、SCANが論理0であるとき、スキャン入力「SD」は論理1である。
ストレージ要素1600は、ノード725(スキャン出力端子)を駆動するためスキャン出力バッファ750に結合されるノード145を含む。この例示実施形態では、ノード145は、ノード225(データ出力端子)を駆動するためデータ出力バッファ250にも結合される。ストレージ要素1600は、それぞれ、先行するストレージ要素のデータ出力「Q」及びスキャン出力「SQ」からデータ入力(「D」参照)及びスキャン入力(「SD」参照)を受け取るように構成される入力回路460を含む。入力回路460は、データ入力「D」及びスキャン入力「SD」の一方に対応する信号をノード462で提供するように構成される。例えば、シフトモードにおいて(SCANZが論理1であるとき)、データ入力「D」の反転がノード462で提供され、機能モードにおいて(SCANZが論理0であるとき)、スキャン入力「SD」の反転がノード462で提供される。
入力回路460の出力(例えばノード462)が、ノード462に対応する信号をノード145に転送するように構成されるシフト回路150に接続される。データ出力バッファ250の入力はノード145に接続され、データ出力バッファ250の出力はノード225(データ出力端子)に接続される。ストレージ要素1600のデータ出力(q)はノード225から取り出される。スキャン出力バッファ550もノード145に接続される。機能モードにおいて、スキャン出力バッファ750はノード725をプルダウンするように構成される。シフトモードにおいて、トランジスタ705、710、及び715がインバータ構成を形成し(また、トランジスタ720がディセーブルされ)、そのため、ノード145の値の反転がノード725に提供される。
ここで、ストレージ要素1600の動作を説明する。入力回路460は、データ入力「D」及びスキャン入力「SD」の一方に対応する信号をノード462で転送させる。この実施形態では、SCANが論理0であるとき、スキャン入力「SD」は論理0であることに留意されたい。例えば、SCANが論理0であるとき、ストレージ要素1600の先行するストレージ要素(ストレージ要素300など)のスキャン出力「SQ」がプルダウンされ、このプルダウンされた論理0はストレージ要素1600のスキャン入力「SD」に供給される。SCANが論理1であるとき、テストデータ、及び先行するストレージ要素から受け取る値に応じて、スキャン入力「SD」は論理0又は論理1のいずれかを取り得る。図16に示すように、SCANが論理0であるとき、データ入力「D」の反転がノード462で転送され、SCANが論理1であるとき、スキャン入力「SD」の反転がノード462で転送される。
機能モードにおいて(SCANが論理0である又はSCANZが論理1であるとき)、スキャン入力「SD」は論理0であり、そのため、トランジスタ475及び490がディセーブルされ、トランジスタ465及び480がイネーブルされる。したがって、トランジスタ465、470、480、及び485はインバータ構成を形成し、「D」の反転論理レベルがノード462に転送される。「D」が論理1に設定されると仮定すると、「D」の反転、例えば論理0、がノード462で利用可能となる。シフト回路150は、ノード145において、ノード462における値の反転である論理レベルを強制するように構成される。例えば、論理1がシフト回路150のインバータ120の出力で転送される。CLKがローであるとき、トランスミッションゲート125が透過になり、トランスミッションゲートの入力における論理1がノード195に転送されて、インバータ130の出力(ノード197)を論理0にする。CLKがハイになるとき、トランスミッションゲート125が透過になり、それによってノード197における値(論理0)がインバータ120に転送される。インバータ120はノード195を論理1にする。別のトランスミッションゲート135が、CLKがハイになるときイネーブルされ、そのためノード197における値(論理0)をインバータ140に転送する。インバータ140はノード145を論理1にする。インバータ185、トランスミッションゲート190、及びインバータ146は、CLKが論理0であるときループバック経路を構成し、ノード145における値を保持することを助ける。データ出力バッファ250は、ノード145における値を反転させ、ノード225を論理0にする。SCANが論理0であるため、トランジスタ220がディセーブルされ、トランジスタ205、210、及び215がインバータ構成を形成し、それによって、ノード145の反転値(例えば論理0)がノード225で転送される。データ出力「Q」は、ノード225(これはデータ出力端子である)からデータ入力「D」の反転として取り出される。SCANが論理0であるため、トランジスタ705はディセーブルされ、それによってノード725へのデータ伝播が停止する。同時に、トランジスタ720はイネーブルされ、それによってノード725が論理0にプルダウンされる。スキャン出力端子はノード725に結合される。したがって、機能モードにおいて(SCANが論理0であるとき)、スキャン出力「SQ」は論理0に拘束される(これは、スキャン出力端子によって駆動されるスキャン経路における組合せ論理切り替えに起因する機能モードにおける電力低減の助けとなり得る)。スキャンイネーブル入力(SCANZ)は制御信号として働き、この制御信号は、スキャン出力端子「SQ」を論理0に拘束させるか否かを決定する。したがって、SCANが論理0であるとき、データ出力「Q」はデータ入力「D」の反転に従い、スキャン出力「SQ」は論理0に拘束される(すなわち、プルダウンされる)。
シフトモードにおいて(SCANが論理1である又はSCANZが論理0であるとき)、トランジスタ480はディセーブルされ、トランジスタ465、475(プルアップ)及びトランジスタ490(プルダウン)はインバータ構成を形成し、スキャン入力「SD」の反転がノード462に転送される。SCANが論理1であるとき、トランジスタ720がディセーブルされ、トランジスタ705、710、及び715がインバータ構成を形成するので、スキャン出力バッファ750はインバータとして動作することにさらに留意されたい。シフト回路150は、ノード145において、ノード462の反転である論理レベルを強制するように構成される。例えば、スキャン入力「SD」が論理1である場合(SCANが論理1であれば)、ノード462は論理0であり、ノード145は論理1である。スキャン出力バッファ750は、スキャン出力「SQ」に結合されるノード725において論理0を転送する。したがって、ICがシフトモードで動作するとき、スキャン入力「SD」の反転がスキャン出力「SQ」に転送される。SCANが論理1であるため、トランジスタ215はディセーブルされ、これにより、トランジスタ205及び210によって構成されるインバータがディセーブルされる。トランジスタ220は、論理0であるSCANZに応答して、イネーブルされ、ノード225(データ出力端子q)をプルアップする。トランジスタ215は、データ出力端子(ノード225)がプルアップされるとき(トランジスタ205及び210によって形成される)インバータを通る漏れ電流を保護するように構成されることに留意されたい。
シフトモードにおいて、データ出力「Q」は論理1に拘束される(これは、データ出力端子によって駆動される組合せ論理切り替えに起因するシフトモードにおける電力低減の助けとなり得る)。スキャンイネーブル入力(SCAN)は制御信号として働き、この制御信号は、データ出力端子「Q」を論理1に拘束させるか否かを決定する。SCANが0であるとき、データ出力「Q」はデータ入力「D」の反転に従い、スキャン出力「SQ」は論理0に拘束される。SCANが論理1であるとき、データ出力qは論理1に拘束され、スキャン出力「SQ」はスキャン入力(sd)の反転に従う。この実施形態に従って、Qゲーティングに起因して機能組合せ論理がすべてはトグルされないので、多くのATPGシフトサイクルにわたる平均電力が下がる。各論理ブロックに対しフロップの種類(プルアップ又はプルダウン)を正しく選択することによって第1のシフトサイクルにわたる瞬間ピーク電力が最適化され得る。この技術は、既存のスキャンフロップのサブセットのみをこの新たな設計に変換するように設計者が決定する場合に極めて有用である。ピーク/平均電力が「プルアップ」又は「プルダウン」Qゲーティングの選択によって決まるからである。
図17は、或る実施形態に従ったスキャンチェーン100の第1のストレージ要素以外のストレージ要素の例を示す。ストレージ要素1700は、ストレージ要素1700によって受け取られるスキャン入力データ「SD」が機能モードにおいてプルダウンされる場合の、ストレージ要素100、100、...、又は100のいずれかの例とし得る。例えば、ストレージ要素1700は、(ストレージ要素1700の)先行するストレージ要素によって提供されるスキャン出力「SQ」(これは、ストレージ要素1700のスキャン入力「SD」に結合される)が機能モードにおいて(SCANが論理0であるとき)プルダウンされる場合に用いられる。例えば、SCANが論理0であるとき、スキャン入力「SD」は論理1である。
ストレージ要素1700は、ノード725(スキャン出力端子)を駆動するためスキャン出力バッファ750に結合されるノード145を含む。この例示実施形態では、ノード145は、ノード625(データ出力端子)を駆動するためデータ出力バッファ650にも結合される。ストレージ要素1700は、それぞれ、先行するストレージ要素のデータ出力「Q」及びスキャン出力「SQ」からデータ入力(「D」参照)及びスキャン入力(「SD」参照)を受け取るように構成される入力回路460を含む。入力回路460は、データ入力「D」及びスキャン入力「SD」の一方に対応する信号をノード462で提供するように構成される。例えば、シフトモードにおいて(SCANZが論理1であるとき)、データ入力「D」の反転がノード462で提供され、機能モードにおいて(SCANZが論理0であるとき)、スキャン入力「SD」の反転がノード462で提供される。
入力回路460の出力(例えばノード462)が、ノード462に対応する信号をノード145に転送するように構成されるシフト回路150に接続される。データ出力バッファ650の入力はノード145に接続され、データ出力バッファ650の出力は、ノード625(データ出力端子)に接続される。ストレージ要素1700のデータ出力(q)はノード625から取り出される。スキャン出力バッファ550もノード145に接続される。機能モードにおいて、スキャン出力バッファ750はノード725をプルダウンするように構成される。シフトモードにおいて、トランジスタ705、710、及び715はインバータ構成を形成し(また、トランジスタ720がディセーブルされ)、そのため、ノード145の値の反転がノード725に提供される。
ここで、ストレージ要素1700の動作を説明する。入力回路460は、データ入力「D」及びスキャン入力「SD」の一方に対応する信号をノード462で転送させる。この実施形態では、SCANが論理0であるとき、スキャン入力「SD」は論理0であることに留意されたい。例えば、SCANが論理0であるとき、ストレージ要素1700の先行するストレージ要素(ストレージ要素300など)のスキャン出力「SQ」がプルダウンされ、このプルダウンされた論理0はストレージ要素1700のスキャン入力「SD」に供給される。SCANが論理1であるとき、テストデータ、及び先行するストレージ要素から受け取る値に応じて、スキャン入力「SD」は論理0又は論理1のいずれかを取り得る。図17に示すように、SCANが論理0であるとき、データ入力「D」の反転がノード462で転送され、SCANが論理1であるとき、スキャン入力「SD」の反転がノード462で転送される。
機能モードにおいて(SCANが論理0である又はSCANZが論理1であるとき)、スキャン入力「SD」は論理0であり、そのため、トランジスタ475及び490がディセーブルされ、トランジスタ465及び480がイネーブルされる。したがって、トランジスタ465、470、480、及び485はインバータ構成を形成し、「D」の反転論理レベルがノード462に転送される。「D」が論理1に設定されると仮定すると、「D」の反転、例えば論理0、がノード462で利用可能となる。シフト回路150は、ノード145において、ノード462における値の反転である論理レベルを強制するように構成される。例えば、論理1がシフト回路150のインバータ120の出力で転送される。CLKがローであるとき、トランスミッションゲート125が透過になり、トランスミッションゲートの入力における論理1がノード195に転送されて、インバータ130の出力(ノード197)を論理0にする。CLKがハイになるとき、トランスミッションゲート125が透過になり、それによってノード197における値(論理0)がインバータ120に転送される。インバータ120はノード195を論理1にする。別のトランスミッションゲート135が、CLKがハイになるときイネーブルされ、そのためノード197における値(論理0)をインバータ140に転送する。インバータ140はノード145を論理1にする。インバータ185、トランスミッションゲート190、及びインバータ146は、CLKが論理0であるときループバック経路を構成し、ノード145における値を保持することを助ける。データ出力バッファ650は、ノード145における値を反転させ、ノード625を論理0にする。SCANが論理0であるため、トランジスタ620がディセーブルされ、トランジスタ605、610、及び615がインバータ構成を形成し、それによって、ノード145の反転値(例えば論理0)がノード625で転送される。データ出力「Q」は、ノード625(これはデータ出力端子である)からデータ入力「D」の反転として取り出される。SCANが論理0であるため、トランジスタ705はディセーブルされ、それによってノード725へのデータ伝播が停止する。同時に、トランジスタ720がイネーブルされ、それによってノード725が論理0にプルダウンされる。スキャン出力端子はノード725に結合される。したがって、機能モードにおいて(SCANが論理0であるとき)、スキャン出力「SQ」は論理0に拘束される(これは、スキャン出力端子によって駆動されるスキャン経路における組合せ論理切り替えに起因する機能モードにおける電力低減の助けとなり得る)。スキャンイネーブル入力(SCANZ)は制御信号として働き、この制御信号は、スキャン出力端子「SQ」を論理0に拘束させるか否かを決定する。したがって、SCANが論理0であるとき、データ出力「Q」はデータ入力「D」の反転に従い、スキャン出力「SQ」は論理0に拘束される(すなわち、プルダウンされる)。
シフトモードにおいて(SCANが論理1である又はSCANZが論理0であるとき)、トランジスタ480はディセーブルされ、トランジスタ465、475(プルアップ)及びトランジスタ490(プルダウン)はインバータ構成を形成し、スキャン入力「SD」の反転がノード462に転送される。SCANが論理1であるとき、トランジスタ720がディセーブルされ、トランジスタ705、710、及び715がインバータ構成を形成するので、スキャン出力バッファ750はインバータとして動作することにさらに留意されたい。シフト回路150は、ノード145において、ノード462の反転である論理レベルを強制するように構成される。例えば、スキャン入力「SD」が論理1である場合(SCANが論理1であれば)、ノード462は論理0であり、ノード145は論理1である。スキャン出力バッファ750は、スキャン出力「SQ」に結合されるノード725において論理0を転送する。したがって、ICがシフトモードで動作するとき、スキャン入力「SD」の反転がスキャン出力「SQ」に転送される。SCANが論理1であるため、トランジスタ605はディセーブルされ、これにより、トランジスタ605及び610によって構成されるインバータがディセーブルされる。トランジスタ620は、SCANに応答して、イネーブルされ、ノード625(データ出力端子q)をプルダウンする。トランジスタ605は、データ出力端子がプルダウンされるとき(トランジスタ610及び615によって形成される)インバータを通る漏れ電流を保護するように構成されることに留意されたい。
シフトモードにおいて、データ出力「Q」は論理0に拘束される(これは、データ出力端子によって駆動される組合せ論理切り替えに起因するシフトモードにおける電力低減の助けとなり得る)。スキャンイネーブル入力(SCAN)は制御信号として働き、この制御信号は、データ出力端子「Q」を論理0に拘束させるか否かを決定する。SCANが0であるとき、データ出力「Q」はデータ入力「D」の反転に従い、スキャン出力「SQ」は論理0に拘束される。SCANが論理1であるとき、データ出力qは論理0に拘束され、スキャン出力「SQ」はスキャン入力(sd)の反転に従う。この実施形態に従って、Qゲーティングに起因して機能組合せ論理がすべてはトグルされないので、多くのATPGシフトサイクルにわたる平均電力が下がる。各論理ブロックに対しフロップの種類(プルアップ又はプルダウン)を正しく選択することによって第1のシフトサイクルにわたる瞬間ピーク電力が最適化され得る。この技術は、既存のスキャンフロップのサブセットのみをこの新たな設計に変換するように設計者が決定する場合に極めて有用である。ピーク/平均電力が「プルアップ」又は「プルダウン」qゲーティングの選択によって決まるからである。
図18は、或る実施形態に従ったスキャンチェーン100の第1のストレージ要素以外のストレージ要素の例を示す。ストレージ要素1800は、ストレージ要素1800によって受け取られるスキャン入力データ「SD」が機能モードにおいてプルアップされる場合の、ストレージ要素100、100、...、又は100のいずれかの例とし得る。例えば、ストレージ要素1800は、(ストレージ要素1800の)先行するストレージ要素によって提供されるスキャン出力「SQ」(これは、ストレージ要素1800のスキャン入力「SD」に結合される)が機能モードにおいて(SCANが論理0であるとき)プルアップされる場合に用いられる。例えば、SCANが論理0であるとき、スキャン入力「SD」は論理1である。
ストレージ要素1800は、ノード415(スキャン出力端子)を駆動するためスキャン出力バッファ450に結合されるノード145を含む。この例示実施形態では、ノード145は、ノード225(データ出力端子)を駆動するためデータ出力バッファ250にも結合される。ストレージ要素1800は、それぞれ、先行するストレージ要素のデータ出力「Q」及びスキャン出力「SQ」からデータ入力(「D」参照)及びスキャン入力(「SD」参照)を受け取るように構成される入力回路360を含む。入力回路360は、データ入力「D」及びスキャン入力「SD」の一方に対応する信号をノード362で提供するように構成される。例えば、シフトモードにおいて(SCANが論理1であるとき)、データ入力「D」の反転がノード362で提供され、機能モードにおいて(SCANZが論理0であるとき)、スキャン入力「SD」の反転がノード362で提供される。
入力回路360の出力(例えばノード362)が、ノード362に対応する信号をノード145に転送するように構成されるシフト回路150に接続される。データ出力バッファ250の入力はノード145に接続され、データ出力バッファ250の出力はノード225(データ出力端子)に接続される。ストレージ要素1800のデータ出力(q)はノード225から取り出される。スキャン出力バッファ450もノード145に接続される。図8を参照して説明したように、スキャン出力バッファ450は、PMOSトランジスタ405(第1のMOSトランジスタ)及びNMOSトランジスタ410(第2のMOSトランジスタ)(トランスミッションゲートを形成する)を含み、プルダウンNMOSトランジスタ420がそれに続く。トランジスタ420は、機能モードにおいて(SCANZが論理1であるとき)プルダウントランジスタとして動作する。これは、機能モードにおいてトランジスタ405及び410がディセーブルされるからである。シフトモードにおいて(SCANZが論理0であるとき)、トランジスタ420はディセーブルされ、トランスミッションゲートは、イネーブルされ、ノード145の値をノード415に提供する。
ここで、ストレージ要素1800の動作を説明する。入力回路360は、データ入力「D」及びスキャン入力「SD」の一方に対応する信号をノード362で転送させる。SCANが論理0であるとき、スキャン入力「SD」は論理1であることに留意されたい。例えば、SCANが論理0であるとき、ストレージ要素1800の先行するストレージ要素(ストレージ要素200など)のスキャン出力「SQ」がプルアップされ、このプルアップされた論理1はストレージ要素1800のスキャン入力「SD」に供給される。SCANが論理1であるとき、テストデータ、及び先行するストレージ要素から受け取る値に応じて、スキャン入力「SD」は論理0又は論理1のいずれかを取り得る。図4を参照して説明したように、SCANが論理0であるとき、データ入力「D」の反転がノード362で転送され、SCANが論理1であるとき、スキャン入力「SD」の反転がノード362で転送される。
機能モードにおいて(SCANが論理0である又はSCANZが論理1であるとき)、スキャン入力「SD」は論理1であり、そのため、トランジスタ375及び380がディセーブルされ、トランジスタ370及び385がイネーブルされる。したがって、トランジスタ365、370、390、及び385はインバータ構成を形成し、「D」の反転論理レベルがノード362に転送される。「D」が論理1に設定されると仮定すると、「D」の反転、例えば論理0、がノード362で利用可能となる。シフト回路150は、ノード145において、ノード362における値の反転である論理レベルを強制するように構成される。例えば、シフト回路150のインバータ110の出力は論理1である。CLKがローであるとき、トランスミッションゲート115が透過になり、トランスミッションゲートの入力における論理1がノード195に転送され、インバータ130の出力(ノード197)を論理0にする。CLKがハイになるとき、トランスミッションゲート125が透過になり、それによってノード197における値(論理0)がインバータ120に転送される。インバータ120はノード195を論理1にする。別のトランスミッションゲート135が、CLKがハイになるときイネーブルされ、そのためノード197における値(論理0)をインバータ140に転送する。インバータ140はノード145を論理1にする。インバータ185、トランスミッションゲート190、及びインバータ146は、CLKが論理0であるときループバック経路を構成し、ノード145における値を保持することを助ける。データ出力バッファ250は、ノード145における値を反転させ、ノード225を論理0にする。SCANが論理0であるため、トランジスタ220がディセーブルされ、トランジスタ205、210、及び215がインバータ構成を形成し、それによって、ノード145の反転値(例えば論理0)がノード225で転送される。データ出力「Q」がノード225(これはデータ出力端子である)からデータ入力「D」の反転として取り出される。SCANが論理0であるため、トランジスタ405及び410によって形成されるトランスミッションゲートがノード145からノード415を隔離する。同時に、トランジスタ420がイネーブルされ、それによって、機能モードにおいてクロック信号CLKに関わらずノード415が論理0にプルダウンされる。スキャン出力端子はノード415に結合される。したがって、機能モードにおいて(SCANが論理0であるとき)、スキャン出力「SQ」は論理0に拘束される(これは、スキャン出力端子によって駆動されるスキャン経路における組合せ論理切り替えに起因する機能モードにおける電力低減の助けとなり得る)。スキャンイネーブル入力(SCANZ)は制御信号として働き、この制御信号は、スキャン出力端子「SQ」を論理1に拘束させるか否かを決定する。したがって、SCANが論理0であるとき、データ出力「Q」はデータ入力「D」の反転に従い、スキャン出力「SQ」は論理0に拘束される(すなわち、プルダウンされる)。
シフトモードにおいて(SCANが論理1である又はSCANZが論理0であるとき)、トランジスタ370はディセーブルされ、トランジスタ375(プルアップ)並びにトランジスタ380及び385(プルダウン)はインバータ構成を形成し、スキャン入力「SD」の反転がノード362に転送される。SCANが論理1であるとき、トランジスタ420がディセーブルされ、トランジスタ405及び410によって形成されるトランスミッションゲートがノード145に存在する値をノード415に転送するので、スキャン出力バッファ450はトランスミッションゲートバッファとして動作することにさらに留意されたい。シフト回路150は、ノード145において、ノード362の反転である論理レベルを強制するように構成される。例えば、スキャン入力「SD」が論理1である場合(SCANが論理1であれば)、ノード362は論理0であり、ノード145は論理1である。スキャン出力バッファ450は、スキャン出力「SQ」に結合されるノード415で論理1を転送する。したがって、ICがシフトモードで動作するとき、スキャン入力「SD」はスキャン出力「SQ」に転送される。SCANが論理1であるため、トランジスタ215はディセーブルされ、それにより、トランジスタ205及び210によって構成されるインバータがディセーブルされる。トランジスタ220は、論理0であるSCANZに応答して、イネーブルされ、ノード225(データ出力端子)をプルアップする。トランジスタ215は、データ出力端子(ノード225)がプルアップされるとき(トランジスタ205及び210によって形成される)インバータを通る漏れ電流を保護するように構成されることに留意されたい。
シフトモードにおいて、データ出力「Q」は論理1に拘束される(これは、データ出力端子によって駆動される組合せ論理切り替えに起因するシフトモードにおける電力低減の助けとなり得る)。スキャンイネーブル入力(SCAN)は制御信号として働き、この制御信号は、データ出力端子「Q」を論理1に拘束させるか否かを決定する。SCANが0であるとき、データ出力「Q」はデータ入力「D」の反転に従い、スキャン出力「SQ」は論理0に拘束される。SCANが論理1であるとき、データ出力「Q」は論理1に拘束され、スキャン出力「SQ」はスキャン入力(sd)に従う。この実施形態に従って、Qゲーティングに起因して機能組合せ論理がすべてはトグルされないので、多くのATPGシフトサイクルにわたる平均電力が下がる。各論理ブロックに対しフロップの種類(プルアップ又はプルダウン)を正しく選択することによって第1のシフトサイクルにわたる瞬間ピーク電力が最適化され得る。この技術は、既存のスキャンフロップのサブセットのみをこの新たな設計に変換するように設計者が決定する場合に極めて有用である。ピーク/平均電力が「プルアップ」又は「プルダウン」Qゲーティングの選択によって決まるからである。
図19は、或る実施形態に従ったスキャンチェーン100の第1のストレージ要素以外のストレージ要素の例を示す。ストレージ要素1900は、ストレージ要素1900によって受け取られるスキャン入力データ「SD」が機能モードにおいてプルアップされる場合の、ストレージ要素100、100、...、又は100のいずれかの例とし得る。例えば、ストレージ要素1900は、(ストレージ要素1900の)先行するストレージ要素によって提供されるスキャン出力「SQ」(これは、ストレージ要素1900のスキャン入力「SD」に結合される)が機能モードにおいて(SCANが論理0であるとき)プルアップされる場合に用いられる。例えば、SCANが論理0であるとき、スキャン入力「SD」は論理1である。
ストレージ要素1900は、ノード415(スキャン出力端子)を駆動するためスキャン出力バッファ450に結合されるノード145を含む。この例示実施形態では、ノード145は、ノード625(データ出力端子)を駆動するためデータ出力バッファ650にも結合される。ストレージ要素1900は、それぞれ、先行するストレージ要素のデータ出力「Q」及びスキャン出力「SQ」からデータ入力(「D」参照)及びスキャン入力(「SD」参照)を受け取るように構成される入力回路360を含む。入力回路360は、データ入力「D」及びスキャン入力「SD」の一方に対応する信号をノード362で提供するように構成される。例えば、シフトモードにおいて(SCANが論理1であるとき)、データ入力「D」の反転がノード362で提供され、機能モードにおいて(SCANZが論理0であるとき)、スキャン入力「SD」の反転がノード362で提供される。
入力回路360の出力(例えばノード362)が、ノード362に対応する信号をノード145に転送するように構成されるシフト回路150に接続される。データ出力バッファ650の入力はノード145に接続され、データ出力バッファ650の出力はノード625(データ出力端子)に接続される。ストレージ要素1900のデータ出力(q)はノード625から取り出される。スキャン出力バッファ450もノード145に接続される。図8を参照して説明したように、スキャン出力バッファ450は、PMOSトランジスタ405(第1のMOSトランジスタ)及びNMOSトランジスタ410(第2のMOSトランジスタ)(トランスミッションゲートを形成する)を含み、プルダウンNMOSトランジスタ420がそれに続く。トランジスタ420は、機能モードにおいて(SCANZが論理1であるとき)プルダウントランジスタとして動作する。これは、機能モードにおいてトランジスタ405及び410がディセーブルされるからである。シフトモードにおいて(SCANZが論理0であるとき)、トランジスタ420はディセーブルされ、トランスミッションゲートは、イネーブルされ、ノード145の値をノード415に提供する。
ここで、ストレージ要素1900の動作を説明する。入力回路360は、データ入力「D」及びスキャン入力「SD」の一方に対応する信号をノード362で転送させる。SCANが論理0であるとき、スキャン入力「SD」は論理1であることに留意されたい。例えば、SCANが論理0であるとき、ストレージ要素1900の先行するストレージ要素(ストレージ要素200など)のスキャン出力「SQ」がプルアップされ、このプルアップされた論理1はストレージ要素1900のスキャン入力「SD」に供給される。SCANが論理1であるとき、テストデータ、及び先行するストレージ要素から受け取る値に応じて、スキャン入力「SD」は論理0又は論理1のいずれかを取り得る。図4を参照して説明したように、SCANが論理0であるとき、データ入力「D」の反転がノード362で転送され、SCANが論理1であるとき、スキャン入力「SD」の反転がノード362で転送される。
機能モードにおいて(SCANが論理0である又はSCANZが論理1であるとき)、スキャン入力「SD」は論理1であり、そのため、トランジスタ375及び380がディセーブルされ、トランジスタ370及び385がイネーブルされる。したがって、トランジスタ365、370、390、及び385はインバータ構成を形成し、「D」の反転論理レベルがノード362に転送される。「D」が論理1に設定されると仮定すると、「D」の反転、例えば論理0、がノード362で利用可能となる。シフト回路150は、ノード145において、ノード362における値の反転である論理レベルを強制するように構成される。例えば、シフト回路150のインバータ110の出力は論理1である。CLKがローであるとき、トランスミッションゲート115が透過になり、トランスミッションゲートの入力における論理1がノード195に転送され、インバータ130の出力(ノード197)を論理0にする。CLKがハイになるとき、トランスミッションゲート125が透過になり、それによってノード197における値(論理0)がインバータ120に転送される。インバータ120はノード195を論理1にする。別のトランスミッションゲート135が、CLKがハイになるときイネーブルされ、そのためノード197における値(論理0)をインバータ140に転送する。インバータ140はノード145を論理1にする。インバータ185、トランスミッションゲート190、及びインバータ146は、CLKが論理0であるときループバック経路を構成し、ノード145における値を保持することを助ける。データ出力バッファ650は、ノード145における値を反転させ、ノード625を論理0にする。SCANが論理0であるため、トランジスタ620がディセーブルされ、トランジスタ605、610、及び615がインバータ構成を形成し、それによってノード145の反転値(例えば論理0)がノード625で転送される。データ出力「Q」がノード625(これはデータ出力端子である)からデータ入力「D」の反転として取り出される。SCANが論理0であるため、トランジスタ405及び410によって形成されるトランスミッションゲートはノード145からノード415を隔離する。同時に、トランジスタ420がイネーブルされ、それによって、機能モードにおいてクロック信号CLKに関わらずノード415が論理0にプルダウンされる。スキャン出力端子はノード415に結合される。したがって、機能モードにおいて(SCANが論理0であるとき)、スキャン出力「SQ」は論理0に拘束される(これは、スキャン出力端子によって駆動されるスキャン経路における組合せ論理切り替えに起因する機能モードにおける電力低減の助けとなり得る)。スキャンイネーブル入力(SCANZ)は制御信号として働き、この制御信号は、スキャン出力端子「SQ」を論理1に拘束させるか否かを決定する。したがって、SCANが論理0であるとき、データ出力「Q」はデータ入力「D」の反転に従い、スキャン出力「SQ」は論理0に拘束される(すなわち、プルダウンされる)。
シフトモードにおいて(SCANが論理1である又はSCANZが論理0であるとき)、トランジスタ370はディセーブルされ、トランジスタ375(プルアップ)並びにトランジスタ380及び385(プルダウン)はインバータ構成を形成し、スキャン入力「SD」の反転がノード362に転送される。SCANが論理1であるとき、トランジスタ420がディセーブルされ、トランジスタ405及び410によって形成されるトランスミッションゲートがノード145に存在する値をノード415に転送するので、スキャン出力バッファ450はトランスミッションゲートバッファとして動作することにさらに留意されたい。シフト回路150は、ノード145において、ノード362の反転である論理レベルを強制するように構成される。例えば、スキャン入力「SD」が論理1である場合(SCANが論理1であれば)、ノード362は論理0であり、ノード145は論理1である。スキャン出力バッファ450は、スキャン出力「SQ」に結合されるノード415で論理1を転送する。したがって、ICがシフトモードで動作するとき、スキャン入力「SD」はスキャン出力「SQ」に転送される。SCANが論理1であるため、トランジスタ605はディセーブルされ、それにより、トランジスタ605及び610によって構成されるインバータがディセーブルされる。トランジスタ620は、SCANに応答して、イネーブルされ、ノード625(データ出力端子q)をプルダウンする。トランジスタ605は、データ出力端子625がプルダウンされるとき(トランジスタ610及び615によって形成される)インバータを通る漏れ電流を保護するように構成されることに留意されたい。
シフトモードにおいて、データ出力「Q」は論理0に拘束される(これは、データ出力端子によって駆動される組合せ論理切り替えに起因するシフトモードにおける電力低減の助けとなり得る)。スキャンイネーブル入力(SCAN)は制御信号として働き、この制御信号はデータ出力端子「Q」を論理0に拘束させるか否かを決定する。SCANが0であるとき、データ出力「Q」はデータ入力「D」の反転に従い、スキャン出力「SQ」は論理0に拘束される。SCANが論理1であるとき、データ出力「Q」は論理0に拘束され、スキャン出力「SQ」はスキャン入力(sd)に従う。この実施形態に従って、Qゲーティングに起因して機能組合せ論理がすべてはトグルされないので、多くのATPGシフトサイクルにわたる平均電力が下がる。各論理ブロックに対しフロップの種類(プルアップ又はプルダウン)を正しく選択することによって第1のシフトサイクルにわたる瞬間ピーク電力が最適化され得る。この技術は、既存のスキャンフロップのサブセットのみをこの新たな設計に変換するように設計者が決定する場合に極めて有用である。ピーク/平均電力が「プルアップ」又は「プルダウン」Qゲーティングの選択によって決まるからである。
図20は、或る実施形態に従ったスキャンチェーン100の第1のストレージ要素以外のストレージ要素の例を示す。ストレージ要素2000は、ストレージ要素2000によって受け取られるスキャン入力「SD」が機能モードにおいてプルダウンされる場合の、ストレージ要素100、100、...、又は100のいずれかの例とし得る。例えば、ストレージ要素2000は、(ストレージ要素2000の)先行するストレージ要素によって提供されるスキャン出力「SQ」(これは、ストレージ要素2000のスキャン入力「SD」に結合される)が機能モードにおいて(SCANが論理0であるとき)プルダウンされる場合に用いられる。例えば、SCANが論理0であるとき、スキャン入力「SD」は論理0である。
ストレージ要素2000は、ノード415(スキャン出力端子)を駆動するためスキャン出力バッファ450に結合されるノード145を含む。この例示実施形態では、ノード145は、ノード225(データ出力端子)を駆動するためデータ出力バッファ250にも結合される。ストレージ要素2000は、それぞれ、先行するストレージ要素のデータ出力「Q」及びスキャン出力「SQ」からデータ入力(「D」参照)及びスキャン入力(「SD」参照)を受け取るように構成される入力回路460を含む。入力回路460は、データ入力「D」及びスキャン入力「SD」の一方に対応する信号をノード462で提供するように構成される。例えば、シフトモードにおいて(SCANZが論理1であるとき)、データ入力「D」の反転がノード462で提供され、機能モードにおいて(SCANZが論理0であるとき)、スキャン入力「SD」の反転がノード462で提供される。
入力回路460の出力(例えばノード462)が、ノード462に対応する信号をノード145に転送するように構成されるシフト回路150に接続される。データ出力バッファ250の入力はノード145に接続され、データ出力バッファ250の出力はノード225(データ出力端子)に接続される。ストレージ要素2000のデータ出力(q)はノード225から取り出される。スキャン出力バッファ450もノード145に接続される。図8を参照して説明したように、スキャン出力バッファ450は、PMOSトランジスタ405(第1のMOSトランジスタ)及びNMOSトランジスタ410(第2のMOSトランジスタ)(トランスミッションゲートを形成する)を含み、プルダウンNMOSトランジスタ420がそれに続く。トランジスタ420は、機能モードにおいて(SCANZが論理1であるとき)プルダウントランジスタとして動作する。これは、機能モードにおいてトランジスタ405及び410がディセーブルされるからである。シフトモードにおいて(SCANZが論理0であるとき)、トランジスタ420はディセーブルされ、トランスミッションゲートは、イネーブルされ、ノード145の値をノード415に提供する。
ここで、ストレージ要素2000の動作を説明する。入力回路460は、データ入力「D」及びスキャン入力「SD」の一方に対応する信号をノード462で転送させる。SCANが論理0であるとき、スキャン入力「SD」は論理0であることに留意されたい。例えば、SCANが論理0であるとき、ストレージ要素2000の先行するストレージ要素(ストレージ要素200など)のスキャン出力「SQ」がプルダウンされ、このプルダウンされた論理0はストレージ要素2000のスキャン入力「SD」に供給される。SCANが論理1であるとき、テストデータ、及び先行するストレージ要素から受け取る値に応じて、スキャン入力「SD」は論理0又は論理1のいずれかを取り得る。図5を参照して説明したように、SCANが論理0であるとき、データ入力「D」の反転がノード462で転送され、SCANが論理1であるとき、スキャン入力「SD」の反転がノード462で転送される。
機能モードにおいて(SCANが論理0である又はSCANZが論理1であるとき)、スキャン入力「SD」は論理0であり、そのため、トランジスタ475及び490がディセーブルされ、トランジスタ465及び480がイネーブルされる。したがって、トランジスタ465、470、480、及び485はインバータ構成を形成し、「D」の反転論理レベルがノード462に転送される。「D」が論理1に設定されると仮定すると、「D」の反転、例えば論理0、がノード462で利用可能となる。シフト回路150は、ノード145において、ノード462における値の反転である論理レベルを強制するように構成される。例えば、シフト回路150のインバータ120の出力において論理1が転送される。CLKがローであるとき、トランスミッションゲート125が透過になり、トランスミッションゲートの入力における論理1がノード195に転送され、インバータ130の出力(ノード197)を論理0にする。CLKがハイになるとき、トランスミッションゲート125は透過になり、それによってノード197における値(論理0)がインバータ120に転送される。インバータ120はノード195を論理1にする。別のトランスミッションゲート135が、CLKがハイになるときイネーブルされ、そのためノード197における値(論理0)をインバータ140に転送する。インバータ140はノード145を論理1にする。インバータ185、トランスミッションゲート190、及びインバータ146は、CLKが論理0であるときループバック経路を構成し、ノード145における値を保持することを助ける。データ出力バッファ250は、ノード145における値を反転させ、ノード225を論理0にする。SCANが論理0であるため、トランジスタ220がディセーブルされ、トランジスタ205、210、及び215がインバータ構成を形成し、それによって、ノード145の反転値(例えば論理0)がノード225で転送される。データ出力「Q」がノード225(これはデータ出力端子である)からデータ入力「D」の反転として取り出される。SCANが論理0であるため、トランジスタ405及び410によって形成されるトランスミッションゲートはノード145からノード415を隔離する。同時に、トランジスタ420がイネーブルされ、それによって、機能モードにおいてクロック信号CLKに関わらずノード415が論理0にプルダウンされる。スキャン出力端子はノード415に結合される。したがって、機能モードにおいて(SCANが論理0であるとき)、スキャン出力「SQ」は論理0に拘束される(これは、スキャン出力端子によって駆動されるスキャン経路における組合せ論理切り替えに起因する機能モードにおける電力低減の助けとなり得る)。スキャンイネーブル入力(SCANZ)は制御信号として働き、この制御信号は、スキャン出力端子「SQ」を論理1に拘束させるか否かを決定する。したがって、SCANが論理0であるとき、データ出力「Q」はデータ入力「D」の反転に従い、スキャン出力「SQ」は論理0に拘束される(すなわち、プルダウンされる)。
シフトモードにおいて(SCANが論理1である又はSCANZが論理0であるとき)、トランジスタ480はディセーブルされ、トランジスタ465、475(プルアップ)及びトランジスタ490(プルダウン)はインバータ構成を形成し、スキャン入力「SD」の反転がノード462に転送される。SCANが論理1であるとき、トランジスタ420がディセーブルされ、トランジスタ405及び410によって構成されるトランスミッションゲートがノード145に存在する値をノード415に転送するので、スキャン出力バッファ450はトランスミッションゲートバッファとして動作することにさらに留意されたい。シフト回路150は、ノード145において、ノード462の反転である論理レベルを強制するように構成される。例えば、スキャン入力「SD」が論理1である場合(SCANが論理1であれば)、ノード462は論理0であり、ノード145は論理1である。スキャン出力バッファ450は、スキャン出力「SQ」に結合されるノード415で論理1を転送する。したがって、ICがシフトモードで動作するとき、スキャン入力「SD」はスキャン出力「SQ」に転送される。SCANが論理1であるため、トランジスタ215はディセーブルされ、そのため、トランジスタ205及び210によって構成されるインバータがディセーブルされる。トランジスタ220は、論理0であるSCANZに応答して、イネーブルされ、ノード225(データ出力端子)をプルアップする。トランジスタ215は、データ出力端子(ノード225)がプルアップされるとき(トランジスタ205及び210によって形成される)インバータを通る漏れ電流を保護するように構成されることに留意されたい。
シフトモードにおいて、データ出力「Q」は論理1に拘束される(これは、データ出力端子によって駆動される組合せ論理切り替えに起因するシフトモードにおける電力低減の助けとなり得る)。スキャンイネーブル入力(SCAN)は制御信号として働き、この制御信号は、データ出力端子「Q」を論理1に拘束させるか否かを決定する。SCANが0であるとき、データ出力「Q」はデータ入力「D」の反転に従い、スキャン出力「SQ」は論理0に拘束される。SCANが論理1であるとき、データ出力「Q」は論理1に拘束され、スキャン出力「SQ」はスキャン入力(sd)に従う。この実施形態に従って、Qゲーティングに起因して機能組合せ論理がすべてはトグルされないので、多くのATPGシフトサイクルにわたる平均電力が下がる。各論理ブロックに対しフロップの種類(プルアップ又はプルダウン)を正しく選択することによって第1のシフトサイクルにわたる瞬間ピーク電力が最適化され得る。この技術は、既存のスキャンフロップのサブセットのみをこの新たな設計に変換するように設計者が決定する場合に極めて有用である。ピーク/平均電力が「プルアップ」又は「プルダウン」Qゲーティングの選択によって決まるからである。
図21は、或る実施形態に従ったスキャンチェーン100の第1のストレージ要素以外のストレージ要素の例を示す。ストレージ要素2100は、ストレージ要素2100によって受け取られるスキャン入力「SD」が機能モードにおいてプルダウンされる場合の、ストレージ要素100、100、...、又は100のいずれかの例とし得る。例えば、ストレージ要素2100は、(ストレージ要素2100の)先行するストレージ要素によって提供されるスキャン出力「SQ」(これは、ストレージ要素2100のスキャン入力「SD」に結合される)が機能モードにおいて(SCANが論理0であるとき)プルダウンされる場合に用いられる。例えば、SCANが論理0であるとき、スキャン入力「SD」は論理0である。
ストレージ要素2100は、ノード415(スキャン出力端子)を駆動するためスキャン出力バッファ450に結合されるノード145を含む。この例示実施形態では、ノード145は、ノード625(データ出力端子)を駆動するためデータ出力バッファ650にも結合される。ストレージ要素2100は、それぞれ、先行するストレージ要素のデータ出力「Q」及びスキャン出力「SQ」からデータ入力(「D」参照)及びスキャン入力(「SD」参照)を受け取るように構成される入力回路460を含む。入力回路460は、データ入力「D」及びスキャン入力「SD」の一方に対応する信号をノード462で提供するように構成される。例えば、シフトモードにおいて(SCANZが論理1であるとき)、データ入力「D」の反転がノード462で提供され、機能モードにおいて(SCANZが論理0であるとき)、スキャン入力「SD」の反転がノード462で提供される。
入力回路460の出力(例えばノード462)が、ノード462に対応する信号をノード145に転送するように構成されるシフト回路150に接続される。データ出力バッファ650の入力はノード145に接続され、データ出力バッファ650の出力はノード625(データ出力端子)に接続される。ストレージ要素2100のデータ出力(q)はノード625から取り出される。スキャン出力バッファ450もノード145に接続される。図8を参照して説明したように、スキャン出力バッファ450は、PMOSトランジスタ405(第1のMOSトランジスタ)及びNMOSトランジスタ410(第2のMOSトランジスタ)(トランスミッションゲートを形成する)を含み、プルダウンNMOSトランジスタ420がそれに続く。トランジスタ420は、機能モードにおいて(SCANZが論理1であるとき)プルダウントランジスタとして動作する。これは、機能モードにおいてトランジスタ405及び410がディセーブルされるからである。シフトモードにおいて(SCANZが論理0であるとき)、トランジスタ420はディセーブルされ、トランスミッションゲートは、イネーブルされ、ノード145の値をノード415に提供する。
ここで、ストレージ要素2100の動作を説明する。入力回路460は、データ入力「D」及びスキャン入力「SD」の一方に対応する信号をノード462で転送させる。SCANが論理0であるとき、スキャン入力「SD」は論理0であることに留意されたい。例えば、SCANが論理0であるとき、ストレージ要素2100の先行するストレージ要素(ストレージ要素200など)のスキャン出力「SQ」がプルダウンされ、このプルダウンされた論理0はストレージ要素2100のスキャン入力「SD」に供給される。SCANが論理1であるとき、テストデータ、及び先行するストレージ要素から受け取る値に応じて、スキャン入力「SD」は論理0又は論理1のいずれかを取り得る。図5を参照して説明したように、SCANが論理0であるとき、データ入力「D」の反転がノード462で転送され、SCANが論理1であるとき、スキャン入力「SD」の反転がノード462で転送される。
機能モードにおいて(SCANが論理0である又はSCANZが論理1であるとき)、スキャン入力「SD」は論理0であり、そのため、トランジスタ475及び490がディセーブルされ、トランジスタ465及び480がイネーブルされる。したがって、トランジスタ465、470、480、及び485はインバータ構成を形成し、「D」の反転論理レベルがノード462に転送される。「D」が論理1に設定されると仮定すると、「D」の反転、例えば論理0、がノード462で利用可能となる。シフト回路150は、ノード145において、ノード462における値の反転である論理レベルを強制するように構成される。例えば、シフト回路150のインバータ120の出力において論理1が転送される。CLKがローであるとき、トランスミッションゲート125が透過になり、トランスミッションゲートの入力における論理1がノード195に転送され、インバータ130の出力(ノード197)を論理0にする。CLKがハイになるとき、トランスミッションゲート125は透過になり、それによってノード197における値(論理0)がインバータ120に転送される。インバータ120はノード195を論理1にする。別のトランスミッションゲート135が、CLKがハイになるときイネーブルされ、そのためノード197における値(論理0)をインバータ140に転送する。インバータ140はノード145を論理1にする。インバータ185、トランスミッションゲート190、及びインバータ146は、CLKが論理0であるときループバック経路を構成し、ノード145における値を保持することを助ける。データ出力バッファ650は、ノード145における値を反転させ、ノード625を論理0にする。SCANが論理0であるため、トランジスタ620がディセーブルされ、トランジスタ605、610、及び615がインバータ構成を形成し、それによってノード145の反転値(例えば論理0)がノード625で転送される。データ出力「Q」がノード625(これはデータ出力端子である)からデータ入力「D」の反転として取り出される。SCANが論理0であるため、トランジスタ405及び410によって形成されるトランスミッションゲートはノード145からノード415を隔離する。同時に、トランジスタ420がイネーブルされ、それによって、機能モードにおいてクロック信号CLKに関わらずノード415が論理0にプルダウンされる。スキャン出力端子はノード415に結合される。したがって、機能モードにおいて(SCANが論理0であるとき)、スキャン出力「SQ」は論理0に拘束される(これは、スキャン出力端子によって駆動されるスキャン経路における組合せ論理切り替えに起因する機能モードにおける電力低減の助けとなり得る)。スキャンイネーブル入力(SCANZ)は制御信号として働き、この制御信号は、スキャン出力端子「SQ」を論理1に拘束させるか否かを決定する。したがって、SCANが論理0であるとき、データ出力「Q」はデータ入力「D」の反転に従い、スキャン出力「SQ」は論理0に拘束される(すなわち、プルダウンされる)。
シフトモードにおいて(SCANが論理1である又はSCANZが論理0であるとき)、トランジスタ480はディセーブルされ、トランジスタ465、475(プルアップ)及びトランジスタ490(プルダウン)はインバータ構成を形成し、スキャン入力「SD」の反転がノード462に転送される。SCANが論理1であるとき、トランジスタ420がディセーブルされ、トランジスタ405及び410によって形成されるトランスミッションゲートがノード145に存在する値をノード415に転送するので、スキャン出力バッファ450はトランスミッションゲートバッファとして動作することにさらに留意されたい。シフト回路150は、ノード145において、ノード462の反転である論理レベルを強制するように構成される。例えば、スキャン入力「SD」が論理1である場合(SCANが論理1であれば)、ノード462は論理0であり、ノード145は論理1である。スキャン出力バッファ450は、スキャン出力「SQ」に結合されるノード415で論理1を転送する。したがって、ICがシフトモードで動作するとき、スキャン入力「SD」はスキャン出力「SQ」に転送される。SCANが論理1であるため、トランジスタ215がディセーブルされ、そのため、トランジスタ205及び210によって構成されるインバータがディセーブルされる。トランジスタ620は、論理1であるSCANZに応答して、イネーブルされ、ノード625(データ出力端子)をプルダウンする。トランジスタ605は、データ出力端子がプルダウンされるとき(トランジスタ610及び615によって形成される)インバータを通る漏れ電流を保護するように構成されることに留意されたい。
シフトモードにおいて、データ出力「Q」は論理0に拘束される(これは、データ出力端子によって駆動される組合せ論理切り替えに起因するシフトモードにおける電力低減の助けとなり得る)。スキャンイネーブル入力(SCAN)は制御信号として働き、この制御信号は、データ出力端子「Q」を論理0に拘束させるか否かを決定する。SCANが0であるとき、データ出力「Q」はデータ入力「D」の反転に従い、スキャン出力「SQ」は論理0に拘束される。SCANが論理1であるとき、データ出力「Q」は論理0に拘束され、スキャン出力「SQ」はスキャン入力(sd)に従う。この実施形態に従って、Qゲーティングに起因して機能組合せ論理がすべてはトグルされないので、多くのATPGシフトサイクルにわたる平均電力が下がる。各論理ブロックに対しフロップの種類(プルアップ又はプルダウン)を正しく選択することによって第1のシフトサイクルにわたる瞬間ピーク電力が最適化され得る。この技術は、既存のスキャンフロップのサブセットのみをこの新たな設計に変換するように設計者が決定する場合に極めて有用である。ピーク/平均電力が「プルアップ」又は「プルダウン」Qゲーティングの選択によって決まるからである。
様々な実施形態が、ICが提供されるスキャンチェーン(例えばスキャンチェーン100)におけるスキャン可能なストレージ要素を動作させるための方法2200も提供する。このスキャン可能なストレージ要素の例は、図4〜図21を参照して説明したスキャン可能なストレージ要素とし得る。2205において、方法2200は、データ入力及びスキャン入力の一方に応答して、スキャン可能なストレージ要素の第1のノードで第1の信号を生成することを含む。或る実施形態では、スキャン入力は、ICをテストする機能モードにおけるプルアップ及びプルダウン論理の一方とし得る。或る実施形態では、第1の信号を生成することは、データ入力を受け取るための第1のスイッチとスキャンイネーブル入力を受け取るための第2のスイッチとを含む第1のプルアップ経路を提供すること、及び、スキャン入力を受け取るための第3のスイッチを含む第2のプルアップ経路を提供することを含む。第1のプルアップ経路及び第2のプルアップ経路は、電源と第1のノードとの間で結合される。この実施形態では、第1の信号を生成することは更に、スキャンイネーブル入力を受け取るための第4のスイッチとスキャン入力を受け取るための第5のスイッチとを含む第1のプルダウン経路を提供すること、及び、データ入力を受け取るための第6のスイッチを含む第2のプルダウン経路を提供することを含む。第1のプルダウン経路及び第2のプルダウン経路は、第1のノードと基準源との間で結合される。第1〜第6のスイッチの例は、MOSトランジスタ、又は任意の他の電子/電気構成要素、或いはMOSトランジスタに機能的に類似し得る構成要素の組合せを含み得る。
別の実施形態において、第1の信号を生成することは、スキャン入力を受け取るための第1のスイッチとデータ入力を受け取るための第2のスイッチとを含む第1のプルアップ経路を提供すること、及び、第1のスイッチと反転スキャンイネーブル入力を受け取るための第3のスイッチとを含む第2のプルアップ経路を提供することを含む。第1のプルアップ経路及び第2のプルアップ経路は、電源と第1のノードとの間で結合される。この実施形態では、第1の信号を生成することは更に、反転スキャンイネーブル入力を受け取るための第4のスイッチとデータ入力を受け取るための第5のスイッチとを含む第1のプルダウン経路を提供すること、及び、スキャン入力を受け取るための第6のスイッチを含む第2のプルダウン経路を提供することを含む。第1のプルダウン経路及び第2のプルダウン経路は、第1のノードと基準源との間で結合される。第1〜第6のスイッチの例は、MOSトランジスタ、又は任意の他の電子/電気構成要素、或いはMOSトランジスタに機能的に類似し得る構成要素の組合せを含み得る。
2210において、方法2200は、スキャン可能なストレージ要素の第2のノードにおいて第1の信号に応答して1つ又は複数の逐次要素によって第2の信号を生成することを含む。さらに、2215において、方法2200は、第2の信号に応答して、スキャン可能なストレージ要素のスキャン出力端子でスキャン出力を生成することを含む。スキャン出力は、機能モードにおけるプルアップ論理及びプルダウン論理の一方であり、スキャン出力は、シフトモードにおけるスキャン入力に対応する。2220において、方法2200はさらに、データ出力端子で第2の信号に応答してデータ出力を生成することを含む。
本発明の特許請求の範囲内で、説明した例示実施形態を改変することができ、また、多くの他の実施形態が可能であることが当業者には理解されよう。

Claims (20)

  1. 集積回路(IC)において用いるためのスキャン可能なストレージ要素であって、
    データ入力とスキャン入力との一方に応答して第1のノードで第1の信号を提供するように構成される入力回路であって、前記スキャン入力が機能モードにおけるプルアップ論理であり、
    前記データ入力を受け取るための第1のスイッチとスキャンイネーブル入力を受け取るための第2のスイッチとを含む第1のプルアップ経路と、
    前記スキャン入力を受け取るための第3のスイッチを含む第2のプルアップ経路と、
    前記スキャンイネーブル入力を受け取るための第4のスイッチと前記スキャン入力を受け取るための第5のスイッチとを含む第1のプルダウン経路と、
    前記データ入力を受け取るための第6のスイッチを含む第2のプルダウン経路と、
    を含み、
    前記第1のプルアップ経路と前記第2のプルアップ経路とが電源と前記第1のノードとの間で結合され、前記第1のプルダウン経路と前記第2のプルダウン経路とが前記第1のノードと基準源との間で結合される、前記入力回路と、
    前記第1のノードと結合されるシフト回路であって、1つ又は複数の順序構成要素を含み、前記第1の信号に応答して第2のノードで第2の信号を提供するように構成される、前記シフト回路と、
    前記第2の信号を受け取るように前記第2のノードに結合されるスキャン出力バッファであって、前記第2の信号に応答してスキャン出力端子でスキャン出力を提供するように構成され、前記スキャン出力が前記機能モードにおけるプルダウン論理であり、前記スキャン出力がシフトモードにおける前記スキャン入力に対応する、前記スキャン出力バッファと、
    を含み、
    前記スキャン出力バッファが、
    pチャネルMOS(PMOS)トランジスタとnチャネルMOS(NMOS)トランジスタとを有するインバータであって、前記インバータの出力が前記スキャン出力端子に結合される、前記インバータと、
    前記電源に結合されるソースと、前記PMOSトランジスタのソースに結合されるドレインと、反転スキャンイネーブル入力に結合されるゲートとを有する第3のMOSトランジスタと、
    ソースが前記基準源に結合され、ドレインが前記スキャン出力端子に結合され、ゲートが前記反転スキャンイネーブル入力に結合される第4のMOSトランジスタであって、前記機能モードにおいて前記反転スキャンイネーブル入力に応答して前記スキャン出力端子をプルダウンするように構成される、前記第4のMOSトランジスタと、
    を含む、スキャン可能なストレージ要素。
  2. 請求項1に記載のスキャン可能なストレージ要素であって、
    前記第1のスイッチと前記第2のスイッチと前記第3のスイッチと前記第4のスイッチと前記第5のスイッチと前記第6のスイッチとの各々が、金属酸化物半導体(MOS)トランジスタである、スキャン可能なストレージ要素。
  3. 請求項1に記載のスキャン可能なストレージ要素であって、
    前記第2のノードに結合されるデータ出力バッファであって、データ出力端子で前記第2の信号に応答してデータ出力を提供するように構成される、前記データ出力バッファを更に含む、スキャン可能なストレージ要素。
  4. 集積回路(IC)において用いるためのスキャン可能なストレージ要素であって、
    データ入力とスキャン入力との一方に応答して第1のノードで第1の信号を提供するように構成される入力回路であって、前記スキャン入力が機能モードにおけるプルアップ論理であり、
    前記データ入力を受け取るための第1のスイッチとスキャンイネーブル入力を受け取るための第2のスイッチとを含む第1のプルアップ経路と、
    前記スキャン入力を受け取るための第3のスイッチを含む第2のプルアップ経路と、
    前記スキャンイネーブル入力を受け取るための第4のスイッチと前記スキャン入力を受け取るための第5のスイッチとを含む第1のプルダウン経路と、
    前記データ入力を受け取るための第6のスイッチを含む第2のプルダウン経路と、
    を含み、
    前記第1のプルアップ経路と前記第2のプルアップ経路とが電源と前記第1のノードとの間で結合され、前記第1のプルダウン経路と前記第2のプルダウン経路とが前記第1のノードと基準源との間で結合される、前記入力回路と、
    前記第1のノードと結合されるシフト回路であって、1つ又は複数の順序構成要素を含み、前記第1の信号に応答して第2のノードで第2の信号を提供するように構成される、前記シフト回路と、
    前記第2の信号を受け取るように前記第2のノードに結合されるスキャン出力バッファであって、前記第2の信号に応答してスキャン出力端子でスキャン出力を提供するように構成され、前記スキャン出力が前記機能モードにおける前記プルアップ論理であり、前記スキャン出力がシフトモードにおける前記スキャン入力に対応する、前記スキャン出力バッファと、
    を含み、
    前記スキャン出力バッファが、
    PMOSトランジスタとNMOSトランジスタとを有するインバータであって、前記インバータの出力が前記スキャン出力端子に結合される、前記インバータと、
    前記基準源に結合されるソースと、前記NMOSトランジスタのソースに結合されるドレインと、前記スキャンイネーブル入力に結合されるゲートとを有する第3のMOSトランジスタと、
    ソースが前記電源に結合され、ドレインが前記スキャン出力端子に結合され、ゲートが前記スキャンイネーブル入力に結合される第4のMOSトランジスタであって、前記機能モードにおいて前記反転スキャンイネーブル入力に応答して前記スキャン出力端子をプルアップするように構成される、前記第4のMOSトランジスタと、
    を含む、スキャン可能なストレージ要素。
  5. 請求項4に記載のスキャン可能なストレージ要素であって、
    前記第1のスイッチと前記第2のスイッチと前記第3のスイッチと前記第4のスイッチと前記第5のスイッチと前記第6のスイッチとの各々が、金属酸化物半導体(MOS)トランジスタである、スキャン可能なストレージ要素。
  6. 集積回路(IC)において用いるためのスキャン可能なストレージ要素であって、
    データ入力とスキャン入力との一方に応答して第1のノードで第1の信号を提供するように構成される入力回路であって、前記スキャン入力が機能モードにおけるプルアップ論理であり、
    前記データ入力を受け取るための第1のスイッチとスキャンイネーブル入力を受け取るための第2のスイッチとを含む第1のプルアップ経路と、
    前記スキャン入力を受け取るための第3のスイッチを含む第2のプルアップ経路と、
    前記スキャンイネーブル入力を受け取るための第4のスイッチと前記スキャン入力を受け取るための第5のスイッチとを含む第1のプルダウン経路と、
    前記データ入力を受け取るための第6のスイッチを含む第2のプルダウン経路と、
    を含み、
    前記第1のプルアップ経路と前記第2のプルアップ経路とが電源と前記第1のノードとの間で結合され、前記第1のプルダウン経路と前記第2のプルダウン経路とが前記第1のノードと基準源との間で結合される、前記入力回路と、
    前記第1のノードと結合されるシフト回路であって、1つ又は複数の順序構成要素を含み、前記第1の信号に応答して第2のノードで第2の信号を提供するように構成される、前記シフト回路と、
    前記第2の信号を受け取るように前記第2のノードに結合されるスキャン出力バッファであって、前記第2の信号に応答してスキャン出力端子でスキャン出力を提供するように構成され、前記スキャン出力が前記機能モードにおけるプルダウン論理であり、前記スキャン出力がシフトモードにおける前記スキャン入力に対応する、前記スキャン出力バッファと、
    を含み、
    前記スキャン出力バッファが、
    第1のMOSトランジスタと第2のMOSトランジスタとを有するトランスミッションゲートであって、前記第1のMOSトランジスタのソースとドレインとが、それぞれ、前記第2のMOSトランジスタのソースとドレインとに結合され、前記第1及び第2のMOSトランジスタのドレインが前記第2のノードに結合され、前記第1及び第2のMOSトランジスタのソースが前記スキャン出力端子に結合され、前記第1及び第2のMOSトランジスタのゲートが、それぞれ、反転スキャンイネーブル入力と前記スキャンイネーブル入力とに結合される、前記トランスミッションゲートと、
    前記スキャン出力端子に結合され、前記機能モードにおいて前記反転スキャンイネーブル入力に応答して前記スキャン出力端子をプルダウンするように構成される第3のMOSトランジスタと、
    を含む、スキャン可能なストレージ要素。
  7. 請求項6に記載のスキャン可能なストレージ要素であって、
    前記第1のスイッチと前記第2のスイッチと前記第3のスイッチと前記第4のスイッチと前記第5のスイッチと前記第6のスイッチとの各々が、金属酸化物半導体(MOS)トランジスタである、スキャン可能なストレージ要素。
  8. 集積回路(IC)において用いるためのスキャン可能なストレージ要素であって、
    データ入力とスキャン入力との一方に応答して第1のノードで第1の信号を提供するように構成される入力回路であって、前記スキャン入力が機能モードにおけるプルアップ論理であり、
    前記データ入力を受け取るための第1のスイッチとスキャンイネーブル入力を受け取るための第2のスイッチとを含む第1のプルアップ経路と、
    前記スキャン入力を受け取るための第3のスイッチを含む第2のプルアップ経路と、
    前記スキャンイネーブル入力を受け取るための第4のスイッチと前記スキャン入力を受け取るための第5のスイッチとを含む第1のプルダウン経路と、
    前記データ入力を受け取るための第6のスイッチを含む第2のプルダウン経路と、
    を含み、
    前記第1のプルアップ経路と前記第2のプルアップ経路とが電源と前記第1のノードとの間で結合され、前記第1のプルダウン経路と前記第2のプルダウン経路とが前記第1のノードと基準源との間で結合される、前記入力回路と、
    前記第1のノードと結合されるシフト回路であって、1つ又は複数の順序構成要素を含み、前記第1の信号に応答して第2のノードで第2の信号を提供するように構成される、前記シフト回路と、
    前記第2の信号を受け取るように前記第2のノードに結合されるスキャン出力バッファであって、前記第2の信号に応答してスキャン出力端子でスキャン出力を提供するように構成され、前記スキャン出力が前記機能モードにおける前記プルアップ論理とプルダウン論理との一方であり、前記スキャン出力がシフトモードにおける前記スキャン入力に対応する、前記スキャン出力バッファと、
    前記第2のノードに結合されるデータ出力バッファであって、データ出力端子で前記第2の信号に応答してデータ出力を提供するように構成される、前記データ出力バッファと、
    を含み、
    前記データ出力バッファが、
    PMOSトランジスタとNMOSトランジスタとを有するインバータであって、前記インバータの出力が前記データ出力端子に結合される、前記インバータと、
    ドレインが前記NMOSトランジスタのソースに結合され、ソースが前記基準源に結合され、ゲートが反転スキャンイネーブル入力に結合される第3のMOSトランジスタと、
    前記電源に結合されるソースと、前記データ出力端子に結合されるドレインと、前記反転スキャンイネーブル入力に結合されるゲートとを有する第4のMOSトランジスタであって、シフトモードにおいて前記データ出力端子をプルアップするように構成される、前記第4のMOSトランジスタと、
    を含む、スキャン可能なストレージ要素。
  9. 請求項8に記載のスキャン可能なストレージ要素であって、
    前記第1のスイッチと前記第2のスイッチと前記第3のスイッチと前記第4のスイッチと前記第5のスイッチと前記第6のスイッチとの各々が、金属酸化物半導体(MOS)トランジスタである、スキャン可能なストレージ要素。
  10. 集積回路(IC)において用いるためのスキャン可能なストレージ要素であって、
    データ入力とスキャン入力との一方に応答して第1のノードで第1の信号を提供するように構成される入力回路であって、前記スキャン入力が機能モードにおけるプルアップ論理であり、
    前記データ入力を受け取るための第1のスイッチとスキャンイネーブル入力を受け取るための第2のスイッチとを含む第1のプルアップ経路と、
    前記スキャン入力を受け取るための第3のスイッチを含む第2のプルアップ経路と、
    前記スキャンイネーブル入力を受け取るための第4のスイッチと前記スキャン入力を受け取るための第5のスイッチとを含む第1のプルダウン経路と、
    前記データ入力を受け取るための第6のスイッチを含む第2のプルダウン経路と、
    を含み、
    前記第1のプルアップ経路と前記第2のプルアップ経路とが電源と前記第1のノードとの間で結合され、前記第1のプルダウン経路と前記第2のプルダウン経路とが前記第1のノードと基準源との間で結合される、前記入力回路と、
    前記第1のノードと結合されるシフト回路であって、1つ又は複数の順序構成要素を含み、前記第1の信号に応答して第2のノードで第2の信号を提供するように構成される、前記シフト回路と、
    前記第2の信号を受け取るように前記第2のノードに結合されるスキャン出力バッファであって、前記第2の信号に応答してスキャン出力端子でスキャン出力を提供するように構成され、前記スキャン出力が前記機能モードにおける前記プルアップ論理とプルダウン論理との一方であり、前記スキャン出力がシフトモードにおける前記スキャン入力に対応する、前記スキャン出力バッファと、
    前記第2のノードに結合されるデータ出力バッファであって、データ出力端子で前記第2の信号に応答してデータ出力を提供するように構成される、前記データ出力バッファと、
    を含み、
    前記データ出力バッファが、
    PMOSトランジスタとNMOSトランジスタとを有するインバータであって、前記インバータの出力が前記データ出力端子に結合される、前記インバータと、
    ソースが前記電源に結合され、ドレインが前記PMOSトランジスタのソースに結合され、ゲートが前記スキャンイネーブル入力に結合される第3のMOSトランジスタと、
    前記データ出力端子に結合されるドレインと、前記基準源に結合されるソースと、前記スキャンイネーブル入力に結合されるゲートとを有する、前記第4のMOSトランジスタであって、シフトモードにおいて前記データ出力端子をプルアップするように構成される、前記第4のMOSトランジスタと、
    を含む、スキャン可能なストレージ要素。
  11. 集積回路(IC)において用いるためのスキャン可能なストレージ要素であって、
    データ入力とスキャン入力との一方に応答して第1のノードで第1の信号を提供するように構成される入力回路であって、前記スキャン入力が機能モードにおけるプルダウン論理であり、
    前記スキャン入力を受け取るための第1のスイッチと前記データ入力を受け取るための第2のスイッチとを含む第1のプルアップ経路と、
    前記第1のスイッチと反転スキャンイネーブル入力を受け取るための第3のスイッチとを含む第2のプルアップ経路と、
    前記反転スキャンイネーブル入力を受け取るための第4のスイッチと前記データ入力を受け取るための第5のスイッチとを含む第1のプルダウン経路と、
    前記スキャン入力を受け取るための第6のスイッチを含む第2のプルダウン経路と、
    を含み、
    前記第1のプルアップ経路と前記第2のプルアップ経路とが電源と前記第1のノードとの間で結合され、前記第1のプルダウン経路と前記第2のプルダウン経路とが前記第1のノードと基準源との間で結合される、前記入力回路と、
    前記第1のノードと結合されるシフト回路であって、1つ又は複数の順序構成要素を含み、第2のノードで前記第1の信号に応答して第2の信号を提供するように構成される、前記シフト回路と、
    前記第2の信号を受け取るように前記第2のノードに結合されるスキャン出力バッファであって、前記第2の信号に応答してスキャン出力端子でスキャン出力を提供するように構成され、前記スキャン出力が前記機能モードにおける前記プルダウン論理であり、前記スキャン出力がシフトモードにおける前記スキャン入力に対応する、前記スキャン出力バッファと、
    を含み、
    前記スキャン出力バッファが、
    pチャネル金属酸化物半導体(PMOS)トランジスタとnチャネルMOS(NMOS)トランジスタとを有するインバータであって、前記インバータの出力が前記スキャン出力端子に結合される、前記インバータと、
    前記電源に結合されるソースと、前記PMOSトランジスタのソースに結合されるドレインと、反転スキャンイネーブル入力に結合されるゲートとを有する第3のMOSトランジスタと、
    ソースが前記基準源に結合され、ドレインが前記スキャン出力端子に結合され、ゲートが前記反転スキャンイネーブル入力に結合される第4のMOSトランジスタであって、前記機能モードにおいて前記反転スキャンイネーブル入力に応答して前記スキャン出力端子をプルダウンするように構成される、前記第4のMOSトランジスタと、
    を含む、 スキャン可能なストレージ要素。
  12. 請求項11に記載のスキャン可能なストレージ要素であって、
    前記第1のスイッチと前記第2のスイッチと前記第3のスイッチと前記第4のスイッチと前記第5のスイッチと前記第6のスイッチとの各々が、金属酸化物半導体(MOS)トランジスタである、スキャン可能なストレージ要素。
  13. 請求項11に記載のスキャン可能なストレージ要素であって、
    前記第2のノードに結合されるデータ出力バッファであって、データ出力端子で前記第2の信号に応答してデータ出力を提供するように構成される、前記データ出力バッファを更に含む、スキャン可能なストレージ要素。
  14. 集積回路(IC)において用いるためのスキャン可能なストレージ要素であって、
    データ入力とスキャン入力との一方に応答して第1のノードで第1の信号を提供するように構成される入力回路であって、前記スキャン入力が機能モードにおけるプルダウン論理であり、
    前記スキャン入力を受け取るための第1のスイッチと前記データ入力を受け取るための第2のスイッチとを含む第1のプルアップ経路と、
    前記第1のスイッチと反転スキャンイネーブル入力を受け取るための第3のスイッチとを含む第2のプルアップ経路と、
    前記反転スキャンイネーブル入力を受け取るための第4のスイッチと前記データ入力を受け取るための第5のスイッチとを含む第1のプルダウン経路と、
    前記スキャン入力を受け取るための第6のスイッチを含む第2のプルダウン経路と、
    を含み、
    前記第1のプルアップ経路と前記第2のプルアップ経路とが電源と前記第1のノードとの間で結合され、前記第1のプルダウン経路と前記第2のプルダウン経路とが前記第1のノードと基準源との間で結合される、前記入力回路と、
    前記第1のノードと結合されるシフト回路であって、1つ又は複数の順序構成要素を含み、第2のノードで前記第1の信号に応答して第2の信号を提供するように構成される、前記シフト回路と、
    前記第2の信号を受け取るように前記第2のノードに結合されるスキャン出力バッファであって、前記第2の信号に応答してスキャン出力端子でスキャン出力を提供するように構成され、前記スキャン出力が前記機能モードにおけるプルアップ論理であり、前記スキャン出力がシフトモードにおける前記スキャン入力に対応する、前記スキャン出力バッファと、
    を含み、
    前記スキャン出力バッファが、
    PMOSトランジスタとNMOSトランジスタとを有するインバータであって、前記インバータの出力が前記スキャン出力端子に結合される、前記インバータと、
    前記基準源に結合されるソースと、前記NMOSトランジスタのソースに結合されるドレインと、スキャンイネーブル入力に結合されるゲートとを有する第3のMOSトランジスタと、
    ソースが前記電源に結合され、ドレインが前記スキャン出力端子に結合され、ゲートが前記スキャンイネーブル入力に結合される第4のMOSトランジスタであって、前記機能モードにおいて前記反転スキャンイネーブル入力に応答して前記スキャン出力端子をプルアップするように構成される、前記第4のMOSトランジスタと、
    を含む、スキャン可能なストレージ要素。
  15. 集積回路(IC)において用いるためのスキャン可能なストレージ要素であって、
    データ入力とスキャン入力との一方に応答して第1のノードで第1の信号を提供するように構成される入力回路であって、前記スキャン入力が機能モードにおけるプルダウン論理であり、
    前記スキャン入力を受け取るための第1のスイッチと前記データ入力を受け取るための第2のスイッチとを含む第1のプルアップ経路と、
    前記第1のスイッチと反転スキャンイネーブル入力を受け取るための第3のスイッチとを含む第2のプルアップ経路と、
    前記反転スキャンイネーブル入力を受け取るための第4のスイッチと前記データ入力を受け取るための第5のスイッチとを含む第1のプルダウン経路と、
    前記スキャン入力を受け取るための第6のスイッチを含む第2のプルダウン経路と、
    を含み、
    前記第1のプルアップ経路と前記第2のプルアップ経路とが電源と前記第1のノードとの間で結合され、前記第1のプルダウン経路と前記第2のプルダウン経路とが前記第1のノードと基準源との間で結合される、前記入力回路と、
    前記第1のノードと結合されるシフト回路であって、1つ又は複数の順序構成要素を含み、第2のノードで前記第1の信号に応答して第2の信号を提供するように構成される、前記シフト回路と、
    前記第2の信号を受け取るように前記第2のノードに結合されるスキャン出力バッファであって、前記第2の信号に応答してスキャン出力端子でスキャン出力を提供するように構成され、前記スキャン出力が前記機能モードにおける前記プルダウン論理であり、前記スキャン出力がシフトモードにおける前記スキャン入力に対応する、前記スキャン出力バッファと、
    を含み、
    前記スキャン出力バッファが、
    第1のMOSトランジスタと第2のMOSトランジスタとを有するトランスミッションゲートであって、前記第1のMOSトランジスタのソースとドレインとが、それぞれ、前記第2のMOSトランジスタのソースとドレインとに結合され、前記第1及び第2のMOSトランジスタのドレインが前記第2のノードに結合され、前記第1及び第2のMOSトランジスタのソースが前記スキャン出力端子に結合され、前記第1及び第2のMOSトランジスタのゲートが、それぞれ、前記反転スキャンイネーブル入力とスキャンイネーブル入力とに結合される、前記トランスミッションゲートと、
    前記スキャン出力端子に結合され、前記機能モードにおいて前記反転スキャンイネーブル入力に応答して前記スキャン出力端子をプルダウンするように構成される第3のMOSトランジスタと、
    を含む、スキャン可能なストレージ要素。
  16. 集積回路(IC)において用いるためのスキャン可能なストレージ要素であって、
    データ入力とスキャン入力との一方に応答して第1のノードで第1の信号を提供するように構成される入力回路であって、前記スキャン入力が機能モードにおけるプルダウン論理であり、
    前記スキャン入力を受け取るための第1のスイッチと前記データ入力を受け取るための第2のスイッチとを含む第1のプルアップ経路と、
    前記第1のスイッチと反転スキャンイネーブル入力を受け取るための第3のスイッチとを含む第2のプルアップ経路と、
    前記反転スキャンイネーブル入力を受け取るための第4のスイッチと前記データ入力を受け取るための第5のスイッチとを含む第1のプルダウン経路と、
    前記スキャン入力を受け取るための第6のスイッチを含む第2のプルダウン経路と、
    を含み、
    前記第1のプルアップ経路と前記第2のプルアップ経路とが電源と前記第1のノードとの間で結合され、前記第1のプルダウン経路と前記第2のプルダウン経路とが前記第1のノードと基準源との間で結合される、前記入力回路と、
    前記第1のノードと結合されるシフト回路であって、1つ又は複数の順序構成要素を含み、第2のノードで前記第1の信号に応答して第2の信号を提供するように構成される、前記シフト回路と、
    前記第2の信号を受け取るように前記第2のノードに結合されるスキャン出力バッファであって、前記第2の信号に応答してスキャン出力端子でスキャン出力を提供するように構成され、前記スキャン出力が前記機能モードにおけるプルアップ論理と前記プルダウン論理との一方であり、前記スキャン出力がシフトモードにおける前記スキャン入力に対応する、前記スキャン出力バッファと、
    前記第2のノードに結合されるデータ出力バッファであって、データ出力端子で前記第2の信号に応答してデータ出力を提供するように構成される、前記データ出力バッファと、
    を含み、
    前記データ出力バッファが、
    PMOSトランジスタとNMOSトランジスタとを有するインバータであって、前記インバータの出力が前記データ出力端子に結合される、前記インバータと、
    ドレインが前記NMOSトランジスタのソースに結合され、ソースが前記基準源に結合され、ゲートが前記反転スキャンイネーブル入力に結合される第3のMOSトランジスタと、
    前記電源に結合されるソースと、前記データ出力端子に結合されるドレインと、前記反転スキャンイネーブル入力に結合されるゲートとを有する第4のMOSトランジスタであって、シフトモードにおいて前記データ出力端子をプルアップするように構成される、前記第4のMOSトランジスタと、
    を含む、スキャン可能なストレージ要素。
  17. 集積回路(IC)において用いるためのスキャン可能なストレージ要素であって、
    データ入力とスキャン入力との一方に応答して第1のノードで第1の信号を提供するように構成される入力回路であって、前記スキャン入力が機能モードにおけるプルダウン論理であり、
    前記スキャン入力を受け取るための第1のスイッチと前記データ入力を受け取るための第2のスイッチとを含む第1のプルアップ経路と、
    前記第1のスイッチと反転スキャンイネーブル入力を受け取るための第3のスイッチとを含む第2のプルアップ経路と、
    前記反転スキャンイネーブル入力を受け取るための第4のスイッチと前記データ入力を受け取るための第5のスイッチとを含む第1のプルダウン経路と、
    前記スキャン入力を受け取るための第6のスイッチを含む第2のプルダウン経路と、
    を含み、
    前記第1のプルアップ経路と前記第2のプルアップ経路とが電源と前記第1のノードとの間で結合され、前記第1のプルダウン経路と前記第2のプルダウン経路とが前記第1のノードと基準源との間で結合される、前記入力回路と、
    前記第1のノードと結合されるシフト回路であって、1つ又は複数の順序構成要素を含み、第2のノードで前記第1の信号に応答して第2の信号を提供するように構成される、前記シフト回路と、
    前記第2の信号を受け取るように前記第2のノードに結合されるスキャン出力バッファであって、前記第2の信号に応答してスキャン出力端子でスキャン出力を提供するように構成され、前記スキャン出力が前記機能モードにおけるプルアップ論理と前記プルダウン論理との一方であり、前記スキャン出力がシフトモードにおける前記スキャン入力に対応する、前記スキャン出力バッファと、
    前記第2のノードに結合されるデータ出力バッファであって、データ出力端子で前記第2の信号に応答してデータ出力を提供するように構成される、前記データ出力バッファと、
    を含み、
    前記データ出力バッファが、
    PMOSトランジスタとNMOSトランジスタとを有するインバータであって、前記インバータの出力が前記データ出力端子に結合される、前記インバータと、
    ソースが前記電源に結合され、ドレインが前記PMOSトランジスタのソースに結合され、ゲートがスキャンイネーブル入力に結合される第3のMOSトランジスタと、
    前記データ出力端子に結合されるドレインと、前記基準源に結合されるソースと、前記スキャンイネーブル入力に結合されるゲートとを有する第4のMOSトランジスタであって、シフトモードにおいて前記データ出力端子をプルダウンするように構成される、前記第4のMOSトランジスタと、
    を含む、スキャン可能なストレージ要素。
  18. 集積回路(IC)のスキャンチェーンにおけるスキャン可能なストレージ要素を動作させるための方法であって、
    データ入力とスキャン入力との一方に応答して前記スキャン可能なストレージ要素の第1のノードで第1の信号を生成することであって、前記スキャン入力が機能モードにおけるプルアップ論理とプルダウン論理との一方である、前記第1の信号を生成することと、
    前記スキャン可能なストレージ要素の第2のノードで前記第1の信号に応答して1つ又は複数の順序要素によって第2の信号を生成することと、
    前記第2の信号に応答して前記スキャン可能なストレージ要素のスキャン出力端子でスキャン出力を生成することであって、前記スキャン出力が前記機能モードにおける前記プルアップ論理と前記プルダウン論理の一方であり、前記スキャン出力がシフトモードにおける前記スキャン入力に対応する、前記スキャン出力を生成することと、
    を含み、
    前記第1の信号を生成することが、
    前記データ入力を受け取るための第1のスイッチとスキャンイネーブル入力を受け取るための第2のスイッチとを含む第1のプルアップ経路を提供することと、
    前記スキャン入力を受け取るための第3のスイッチを含む第2のプルアップ経路を提供することと、
    前記スキャンイネーブル入力を受け取るための第4のスイッチと前記スキャン入力を受け取るための第5のスイッチとを含む第1のプルダウン経路を提供することと、
    前記データ入力を受け取るための第6のスイッチを含む第2のプルダウン経路を提供することと、
    を含み、
    前記第1のプルアップ経路と前記第2のプルアップ経路とが電源と前記第1のノードとの間で結合され、前記第1のプルダウン経路と前記第2のプルダウン経路とが前記第1のノードと基準源との間で結合される、方法。
  19. 集積回路(IC)のスキャンチェーンにおけるスキャン可能なストレージ要素を動作させるための方法であって、
    データ入力とスキャン入力との一方に応答して前記スキャン可能なストレージ要素の第1のノードで第1の信号を生成することであって、前記スキャン入力が機能モードにおけるプルアップ論理とプルダウン論理との一方である、前記第1の信号を生成することと、
    前記スキャン可能なストレージ要素の第2のノードで前記第1の信号に応答して1つ又は複数の順序要素によって第2の信号を生成することと、
    前記第2の信号に応答して前記スキャン可能なストレージ要素のスキャン出力端子でスキャン出力を生成することであって、前記スキャン出力が前記機能モードにおける前記プルアップ論理と前記プルダウン論理の一方であり、前記スキャン出力がシフトモードにおける前記スキャン入力に対応する、前記スキャン出力を生成することと、
    を含み、
    前記第1の信号を生成することが、
    前記スキャン入力を受け取るための第1のスイッチと前記データ入力を受け取るための第2のスイッチとを含む第1のプルアップ経路を提供することと、
    前記第1のスイッチと反転スキャンイネーブル入力を受け取るための第3のスイッチとを含む第2のプルアップ経路を提供することと、
    前記反転スキャンイネーブル入力を受け取るための第4のスイッチと前記データ入力を受け取るための第5のスイッチとを含む第1のプルダウン経路を提供することと、
    前記スキャン入力を受け取るための第6のスイッチを含む第2のプルダウン経路を提供することと、
    を含み、
    前記第1のプルアップ経路と前記第2のプルアップ経路とが電源と前記第1のノードとの間で結合される、前記第1のプルダウン経路と前記第2のプルダウン経路とが前記第1のノードと基準源との間で結合される、方法。
  20. 請求項18又は19に記載の方法であって、
    前記スキャン可能なストレージ要素のデータ出力端子で前記第2の信号に応答してデータ出力を生成することを更に含む、方法。
JP2015553888A 2013-01-21 2014-01-21 集積回路におけるスキャンチェーン Active JP6577366B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/746,153 2013-01-21
US13/746,153 US9097764B2 (en) 2013-01-21 2013-01-21 Scan chain in an integrated circuit
PCT/US2014/012314 WO2014113787A1 (en) 2013-01-21 2014-01-21 Scan chain in an integrated circuit

Publications (3)

Publication Number Publication Date
JP2016510550A JP2016510550A (ja) 2016-04-07
JP2016510550A5 JP2016510550A5 (ja) 2017-02-23
JP6577366B2 true JP6577366B2 (ja) 2019-09-18

Family

ID=51208739

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015553888A Active JP6577366B2 (ja) 2013-01-21 2014-01-21 集積回路におけるスキャンチェーン

Country Status (4)

Country Link
US (1) US9097764B2 (ja)
JP (1) JP6577366B2 (ja)
CN (1) CN104937668B (ja)
WO (1) WO2014113787A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102280526B1 (ko) 2014-12-08 2021-07-21 삼성전자주식회사 저전력 작은-면적 고속 마스터-슬레이브 플립-플롭 회로와, 이를 포함하는 장치들
US10282347B2 (en) * 2015-04-08 2019-05-07 Louisana State University Research & Technology Foundation Architecture for configuration of a reconfigurable integrated circuit
US11011238B2 (en) * 2018-06-28 2021-05-18 Taiwan Semiconductor Manufacturing Company, Ltd. Floating data line circuits and methods
US10890623B1 (en) 2019-09-04 2021-01-12 International Business Machines Corporation Power saving scannable latch output driver
US11750178B2 (en) * 2021-11-02 2023-09-05 Silicon Laboratories Inc. Flip-flop with input and output select and output masking that enables low power scan for retention

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6070259A (en) * 1998-01-15 2000-05-30 Lsi Logic Corporation Dynamic logic element having non-invasive scan chain insertion
JP4130329B2 (ja) * 2002-04-18 2008-08-06 松下電器産業株式会社 スキャンパス回路および当該スキャンパス回路を備えた半導体集積回路
US7073111B2 (en) * 2002-06-10 2006-07-04 Texas Instruments Incorporated High speed interconnect circuit test method and apparatus
US6853212B2 (en) 2002-12-20 2005-02-08 Texas Instruments Incorporated Gated scan output flip-flop
US6963212B2 (en) * 2004-03-23 2005-11-08 Agilent Technologies, Inc. Self-testing input/output pad
US7262648B2 (en) 2004-08-03 2007-08-28 Marvell International Ltd. Two-latch clocked-LSSD flip-flop
US7793180B1 (en) * 2006-09-19 2010-09-07 Marvell International Ltd. Scan architecture for full custom blocks
JP2007143193A (ja) * 2007-02-19 2007-06-07 Matsushita Electric Ind Co Ltd フリップフロップ回路
US7622975B2 (en) * 2007-07-10 2009-11-24 Qualcomm Incorporated Circuit having a local power block for leakage reduction
JP2010261768A (ja) * 2009-05-01 2010-11-18 Sony Corp 半導体集積回路、情報処理装置、および出力データ拡散方法、並びにプログラム
US8493118B2 (en) 2010-09-28 2013-07-23 Apple Inc. Low power scannable latch
US8493119B2 (en) * 2010-12-13 2013-07-23 Apple Inc. Scannable flip-flop with hold time improvements
US8904254B2 (en) * 2012-11-09 2014-12-02 Oracle International Corporation Combo dynamic flop with scan

Also Published As

Publication number Publication date
JP2016510550A (ja) 2016-04-07
US20140208176A1 (en) 2014-07-24
US9097764B2 (en) 2015-08-04
CN104937668A (zh) 2015-09-23
CN104937668B (zh) 2018-12-07
WO2014113787A1 (en) 2014-07-24

Similar Documents

Publication Publication Date Title
US10931264B2 (en) Low-power flip flop circuit
US8880965B2 (en) Low power scan flip-flop cell
US8484523B2 (en) Sequential digital circuitry with test scan
JP6577366B2 (ja) 集積回路におけるスキャンチェーン
US20090300448A1 (en) Scan flip-flop device
TWI642275B (zh) 正反器電路和掃描鏈
KR20100132267A (ko) 스캔 플립플롭 회로 및 스캔 테스트 회로
US9276574B2 (en) Scan flip-flop circuits and scan test circuits including the same
CN109143044B (zh) 一种扫描输出触发器
KR20110105153A (ko) 플립플롭 회로 및 스캔 플립 플롭 회로
US7414449B2 (en) Dynamic scannable latch and method of operation
US20090115481A1 (en) Pulse operated flip-flop circuit having test-input function and associated method
US7873896B2 (en) High performance pulsed storage circuit
US20210359667A1 (en) Multi-bit flip-flop with power saving feature
US9473121B1 (en) Scannable flip-flop and low power scan-shift mode operation in a data processing system
US8749286B2 (en) Programmable scannable storage circuit
US7281182B2 (en) Method and circuit using boundary scan cells for design library analysis
US20210325457A1 (en) Scan output flip-flop with power saving feature
US8928377B2 (en) Scannable fast dynamic register
TW201901166A (zh) 可掃描電路元件及選擇其掃描模式的方法
CN113676175B (zh) 触发器电路
US8330588B2 (en) Fast repeater latch
Valibaba et al. Reduction of testing power with pulsed scan flip-flop for scan based testing
JP2976937B2 (ja) スキャン試験回路
Eedupuganti et al. High Performance and Power-Aware Scan Flip-Flop Design

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20150723

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170120

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180214

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180514

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180713

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190123

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20190423

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190603

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190820

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190822

R150 Certificate of patent or registration of utility model

Ref document number: 6577366

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250