JP2014204360A - 半導体装置 - Google Patents
半導体装置 Download PDFInfo
- Publication number
- JP2014204360A JP2014204360A JP2013080415A JP2013080415A JP2014204360A JP 2014204360 A JP2014204360 A JP 2014204360A JP 2013080415 A JP2013080415 A JP 2013080415A JP 2013080415 A JP2013080415 A JP 2013080415A JP 2014204360 A JP2014204360 A JP 2014204360A
- Authority
- JP
- Japan
- Prior art keywords
- latch
- circuit
- data
- output
- input
- 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.)
- Pending
Links
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Logic Circuits (AREA)
Abstract
【課題】不良救済可能で、且つ、既存のスキャン技術を適用可能なフリップフロップ回路を提供すること。
【解決手段】フリップフロップ回路は、入力データをラッチし出力データを出力するように構成されたラッチ部と、冗長入力データをラッチし冗長出力データを出力するように構成された冗長ラッチ部と、ラッチ部の故障検出及び救済を行う救済制御回路と、を備える。故障検出時、救済制御回路は、入力データと出力データとを比較することによってラッチ部の故障を検出する。故障を検出した場合、救済制御回路は、入力データを冗長入力データとして冗長ラッチ部に供給し、また、冗長出力データを出力データとしてラッチ部の後段に供給する。
【選択図】図2
【解決手段】フリップフロップ回路は、入力データをラッチし出力データを出力するように構成されたラッチ部と、冗長入力データをラッチし冗長出力データを出力するように構成された冗長ラッチ部と、ラッチ部の故障検出及び救済を行う救済制御回路と、を備える。故障検出時、救済制御回路は、入力データと出力データとを比較することによってラッチ部の故障を検出する。故障を検出した場合、救済制御回路は、入力データを冗長入力データとして冗長ラッチ部に供給し、また、冗長出力データを出力データとしてラッチ部の後段に供給する。
【選択図】図2
Description
本発明は、フリップフロップ回路を備える半導体装置に関する。
半導体装置における不良は、歩留まりを低下させる。歩留まりを改善するためには、冗長化技術によって不良を救済することが重要である。半導体装置中の特にロジック領域の不良を救済するための技術として、次のものが知られている。
特許文献1(特開2010−041705号公報)は、ロジック領域を有する半導体装置を開示している。その半導体装置は、複数の基本セル、冗長セル、入力セレクタ、及び出力セレクタを備えている。複数の基本セルは、ロジック領域内に設けられ、それぞれ同一の構成を有している。冗長セルは、基本セルと同一の構成を有している。入力セレクタは、複数の基本セル及び冗長セルのそれぞれに入力される信号を切り替える。出力セレクタは、基本セル及び冗長セルのそれぞれから出力される信号を切り替える。入力セレクタ及び出力セレクタを用いて冗長セルを機能させることにより、複数の基本セルのうち故障したセルを救済することが可能である。
特許文献2(特開2007−096918号公報)は、半導体装置を開示している。その半導体装置は、複数のフリップフロップ、1つ以上の冗長フリップフロップ、複数の第1選択手段、複数の第2選択手段、及び選択制御手段を備えている。複数の第1選択手段は、複数の入力端子と上記複数のフリップフロップ及び冗長フリップフロップの入力端子との間の経路を選択する。複数の第2選択手段は、複数の出力端子と上記複数のフリップフロップ及び冗長フリップフロップの出力端子との間の経路を選択する。選択制御手段は、第1の選択手段及び第2の選択手段の経路の選択を制御する。
上記特許文献2に記載の技術によれば、通常のフリップフロップとは別の冗長フリップフロップが、ロジック領域に配置される。従って、スキャンチェーンを構成する際には、既存の手法をそのまま適用することはできず、冗長フリップフロップをも考慮した特別な手法が必要となる。スキャンテスト用のATPGパタンを生成する際も同様に、特別な手法が必要となる。これらのことは、スキャンテストに要する時間やコストの増加を招く。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるだろう。
一実施の形態において、フリップフロップ回路を備える半導体装置が提供される。そのフリップフロップ回路は、ラッチ部、冗長ラッチ部、及び救済制御回路を備える。ラッチ部は、ラッチ入力データをラッチし、ラッチ出力データを出力するように構成されている。冗長ラッチ部は、冗長ラッチ入力データをラッチし、冗長ラッチ出力データを出力するように構成されている。救済制御回路は、ラッチ部の故障検出及び救済を行う。より詳細には、故障検出時、救済制御回路は、ラッチ入力データとラッチ出力データとを比較することによってラッチ部の故障を検出する。そして、ラッチ部の故障を検出した場合、救済制御回路は、ラッチ入力データを冗長ラッチ入力データとして冗長ラッチ部に供給し、また、冗長ラッチ出力データをラッチ出力データとしてラッチ部の後段に供給する。
本開示に係るフリップフロップ回路は、それ自身が故障検出・救済機能を備えている。従って、当該フリップフロップ回路とは別の冗長フリップフロップを配置することなく、不良救済を実現し、半導体装置の歩留まりを向上させることが可能となる。冗長フリップフロップを別途配置する必要がないため、スキャンチェーンを構成する際やATPGパタンを生成する際に、特別な手法は不要であり、既存の手法を適用することが可能である。すなわち、不良救済可能で、且つ、既存のスキャン技術を適用可能なフリップフロップ回路が実現される。既存のスキャン技術が適用可能であるため、スキャンテストに要する時間やコストの増加が防止される。
添付図面を参照して、実施の形態に係る半導体装置を説明する。
1.第1の実施の形態
図1は、本実施の形態に係る半導体装置の構成を示す概略図である。図2は、その半導体装置に搭載されたフリップフロップ回路1の構成を概略的に示すブロック図である。
図1は、本実施の形態に係る半導体装置の構成を示す概略図である。図2は、その半導体装置に搭載されたフリップフロップ回路1の構成を概略的に示すブロック図である。
フリップフロップ回路1は、入力端子D、スキャン入力端子SCI、クロック入力端子CKI、及び出力端子Qを備えている。入力端子Dには、入力データDinが入力される。スキャン入力端子SCIには、スキャンデータSCANが入力される。クロック入力端子CKIには、クロック信号CLKが入力される。出力端子Qからは、出力データDoutが出力される。
フリップフロップ回路1は、クロック信号CLKに基づいて動作する。より詳細には、通常動作モード時、フリップフロップ回路1は、クロック信号CLKに基づいて入力データDinをラッチし、ラッチしたデータを出力データDoutとして出力する。スキャンモード時、フリップフロップ回路1は、クロック信号CLKに基づいてスキャンデータSCANをラッチし、ラッチしたデータを出力データDoutとして出力する。
本実施の形態に係るフリップフロップ回路1の入力端子D、スキャン入力端子SCI、クロック入力端子CKI、及び出力端子Qは、既存のフリップフロップ回路が備えるものと同じである。従って、本実施の形態に係るフリップフロップ回路1を、既存のフリップフロップ回路の代替としてそのまま使用することができる。また、図1に示されるように、あるフリップフロップ回路1の出力端子Qを他のフリップフロップ回路1のスキャン入力端子SCIに接続することによって、スキャンチェーンを構成することができる。このスキャンチェーンを構成する際、特別な手法は不要であり、既存の手法を適用することが可能である。
その一方で、本実施の形態に係るフリップフロップ回路1は、その内部に、既存のフリップフロップ回路が有さない機能を搭載している。より詳細には、図2に示されるように、フリップフロップ回路1は、ラッチ部10、冗長ラッチ部20、及び救済制御回路30を備えている。
ラッチ部10は、クロック信号CLKに基づいてデータをラッチする機能を有している。ラッチ部10に入力されるデータは、以下「ラッチ入力データI10」と参照される。また、ラッチ部10から出力されるデータは、以下「ラッチ出力データO10」と参照される。つまり、ラッチ部10は、クロック信号CLKに基づいてラッチ入力データI10をラッチし、ラッチ出力データO10を出力するように構成されている。
冗長ラッチ部20は、クロック信号CLKに基づいてデータをラッチする機能を有している。冗長ラッチ部20に入力されるデータは、以下「冗長ラッチ入力データI20」と参照される。また、冗長ラッチ部20から出力されるデータは、以下「冗長ラッチ出力データO20」と参照される。つまり、冗長ラッチ部20は、クロック信号CLKに基づいて冗長ラッチ入力データI20をラッチし、冗長ラッチ出力データO20を出力するように構成されている。この冗長ラッチ部20は、ラッチ部10が故障した場合にその代わりに使用される。
救済制御回路30は、ラッチ部10の故障検出を行う機能を有している。より詳細には、救済制御回路30は、ラッチ部10に入力されるラッチ入力データI10とラッチ部10から出力されるラッチ出力データO10との比較を行い、それにより、ラッチ部10の出力固定故障を検出する。
更に、救済制御回路30は、ラッチ部10の故障が検出された場合に冗長ラッチ部20を用いて不良救済を自動的に行う機能を有している。より詳細には、ラッチ部10の故障を検出した場合、救済制御回路30は、ラッチ入力データI10を冗長ラッチ入力データI20として冗長ラッチ部20に供給し、また、冗長ラッチ出力データO20をラッチ出力データO10としてラッチ部10の後段に供給する。これにより、ラッチ部10を通っていたデータ経路が、冗長ラッチ部20を通るデータ経路に切り替えられることになる。すなわち、冗長ラッチ部20を用いることにより、不良救済が行われる。
以上に説明されたように、本実施の形態に係るフリップフロップ回路1は、それ自身が故障検出・救済機能を備えている。従って、フリップフロップ回路1とは別の冗長フリップフロップを配置することなく、不良救済を実現し、半導体装置の歩留まりを向上させることが可能となる。
また、フリップフロップ回路1とは別の冗長フリップフロップを配置する必要がないため、スキャンチェーンを構成する際やATPGパタンを生成する際に、特別な手法は不要であり、既存の手法を適用することが可能である。すなわち、本実施の形態によれば、不良救済可能で、且つ、既存のスキャン技術を適用可能なフリップフロップ回路1が実現される。既存のスキャン技術が適用可能であるため、スキャンテストに要する時間やコストの増加が防止される。
更に、本実施の形態に係るフリップフロップ回路1は、既存のフリップフロップ回路と同様の端子群を備えている。よって、本実施の形態に係るフリップフロップ回路1を、既存のフリップフロップ回路の代替としてそのまま使用することができる。既存のフリップフロップ回路を本実施の形態に係るフリップフロップ回路1で置き換えても、フリップフロップの数が増えることはない。このことも、スキャンテストに要する時間やコストの増加の防止に寄与する。
2.第2の実施の形態
第2の実施の形態では、上記第1の実施の形態の1つの具体例を説明する。尚、第1の実施の形態と重複する説明は適宜省略する。
第2の実施の形態では、上記第1の実施の形態の1つの具体例を説明する。尚、第1の実施の形態と重複する説明は適宜省略する。
2−1.全体構成
図3は、第2の実施の形態に係るフリップフロップ回路1の構成を示す回路ブロック図である。フリップフロップ回路1は、入力セレクタ100、第1ラッチ回路110、第2ラッチ回路120、第3ラッチ回路130、セレクタ140、セレクタ150、切り替え制御回路160、及び故障検出回路170を備えている。
図3は、第2の実施の形態に係るフリップフロップ回路1の構成を示す回路ブロック図である。フリップフロップ回路1は、入力セレクタ100、第1ラッチ回路110、第2ラッチ回路120、第3ラッチ回路130、セレクタ140、セレクタ150、切り替え制御回路160、及び故障検出回路170を備えている。
入力セレクタ100は、入力端子D及びスキャン入力端子SCIに接続されており、入力データDin及びスキャンデータSCANを受け取ることができるように構成されている。この入力セレクタ100は、テスト信号(図示されない)に応じて、入力データDinあるいはスキャンデータSCANのいずれか一方を選択し、選択した一方を第1入力データI110として出力する。より詳細には、通常動作モード時、入力端子Dには入力データDinが入力され、入力セレクタ100は、その入力データDinを選択し、第1入力データI110として出力する。一方、スキャンモード時、スキャン入力端子SCIにはスキャンデータSCANが入力され、入力セレクタ100は、そのスキャンデータSCANを選択し、第1入力データI110として出力する。
第1ラッチ回路110は、第1クロック信号CLK1に基づいて動作するラッチ回路である。その第1クロック信号CLK1は、クロック信号CLKから生成される。より詳細には、第1ラッチ回路110の入力端子には、上記の第1入力データI110が、スキュー調整用のバッファ101を通して入力される。第1ラッチ回路110は、その第1入力データI110を第1クロック信号CLK1に基づいてラッチし、第1出力データO110として出力する。
尚、第1ラッチ回路110は、図2で示されたラッチ部10に相当する。第1ラッチ回路110に入力される第1入力データI110は、ラッチ部10に入力されるラッチ入力データI10に相当する。また、第1ラッチ回路110から出力される第1出力データO110は、ラッチ部10から出力されるラッチ出力データO10に相当する。
第2ラッチ回路120は、第2クロック信号CLK2に基づいて動作するラッチ回路である。その第2クロック信号CLK2は、第1クロック信号CLK1の反転信号であり、クロック信号CLKから生成される。より詳細には、第2ラッチ回路120の入力端子には、第2入力データI120が、スキュー調整用のバッファ102を通して入力される。第2ラッチ回路120は、その第2入力データI120を第2クロック信号CLK2に基づいてラッチし、第2出力データO120として出力する。
尚、第2ラッチ回路120も、図2で示されたラッチ部10に相当する。第2ラッチ回路120に入力される第2入力データI120は、ラッチ部10に入力されるラッチ入力データI10に相当する。また、第2ラッチ回路120から出力される第2出力データO120は、ラッチ部10から出力されるラッチ出力データO10に相当する。
第3ラッチ回路130は、第3クロック信号CLK3に基づいて動作するラッチ回路である。その第3クロック信号CLK3は、第1クロック信号CLK1あるいは第2クロック信号CLK2である。より詳細には、第3ラッチ回路130の入力端子には、第3入力データI130が入力される。第3ラッチ回路130は、その第3入力データI130を第3クロック信号CLK3に基づいてラッチし、第3出力データO130として出力する。
尚、第3ラッチ回路130は、図2で示された冗長ラッチ部20に相当する。第3ラッチ回路130に入力される第3入力データI130は、冗長ラッチ部20に入力される冗長ラッチ入力データI20に相当する。また、第3ラッチ回路130から出力される第3出力データO130は、冗長ラッチ部20から出力される冗長ラッチ出力データO20に相当する。
セレクタ140は、第1ラッチ回路110の出力端子及び第3ラッチ回路130の出力端子に接続されており、第1出力データO110及び第3出力データO130を受け取ることができるように構成されている。このセレクタ140は、第1制御信号SAに応じて、第1出力データO110あるいは第3出力データO130のいずれか一方を選択し、選択した一方を上記の第2入力データI120として出力する。詳細は後述される。
セレクタ150は、第2ラッチ回路120の出力端子及び第3ラッチ回路130の出力端子に接続されており、第2出力データO120及び第3出力データO130を受け取ることができるように構成されている。このセレクタ150は、第2制御信号SBに応じて、第2出力データO120あるいは第3出力データO130のいずれか一方を選択し、選択した一方を出力データDoutとして出力端子Qに出力する。詳細は後述される。
切り替え制御回路160は、第3ラッチ回路130に入力される第3入力データI130及び第3クロック信号CLK3を、第1制御信号SA及び第2制御信号SBに応じて切り替えるように構成されている。詳細は後述される。
故障検出回路170は、第1ラッチ回路110及び第2ラッチ回路120の故障(出力固定故障)を検出するための回路である。より詳細には、故障検出回路170は、第1入力データI110及び第1出力データO110を受け取り、それら第1入力データI110と第1出力データO110とを比較することによって第1ラッチ回路110の故障を検出する。その比較結果、すなわち、第1ラッチ回路110の故障の有無を示すのが、上記の第1制御信号SAである。また、故障検出回路170は、第2入力データI120及び第2出力データO120を受け取り、それら第2入力データI120と第2出力データO120とを比較することによって第2ラッチ回路120の故障を検出する。その比較結果、すなわち、第2ラッチ回路120の故障の有無を示すのが、上記の第2制御信号SBである。
故障検出回路170は、第1制御信号SA及び第2制御信号SBを、セレクタ140、セレクタ150及び切り替え制御回路160に出力する。これにより、次に説明されるように、フリップフロップ回路1内部におけるデータ経路の切り替えが実現される。尚、故障検出回路170は、第1制御信号SA及び第2制御信号SB(すなわち、第1ラッチ回路110及び第2ラッチ回路120の故障状況)を記憶する記憶回路177を備えていてもよい。
2−2.データ経路の切り替え
本例では、第1制御信号SAの初期値はLowレベルであり、第1ラッチ回路110の故障が検出された場合、第1制御信号SAがHighレベルに切り替えられるとする。また、第2制御信号SBの初期値はLowレベルであり、第2ラッチ回路120の故障が検出された場合、第2制御信号SBがHighレベルに切り替えられるとする。
本例では、第1制御信号SAの初期値はLowレベルであり、第1ラッチ回路110の故障が検出された場合、第1制御信号SAがHighレベルに切り替えられるとする。また、第2制御信号SBの初期値はLowレベルであり、第2ラッチ回路120の故障が検出された場合、第2制御信号SBがHighレベルに切り替えられるとする。
セレクタ140は、第1制御信号SAに応じて、第1出力データO110あるいは第3出力データO130のいずれか一方を選択し、選択した一方を上記の第2入力データI120として出力する。より詳細には、第1制御信号SAがLowレベルの場合、セレクタ140は、第1出力データO110を選択し、第1出力データO110を第2入力データI120として出力する。一方、第1制御信号SAがHighレベルの場合、セレクタ140は、第3出力データO130を選択し、第3出力データO130を第2入力データI120として出力する。
セレクタ150は、第2制御信号SBに応じて、第2出力データO120あるいは第3出力データO130のいずれか一方を選択し、選択した一方を出力データDoutとして出力端子Qに出力する。より詳細には、第2制御信号SBがLowレベルの場合、セレクタ150は、第2出力データO120を選択し、第2出力データO120を出力データDoutとして出力端子Qに出力する。一方、第2制御信号SBがHighレベルの場合、セレクタ150は、第3出力データO130を選択し、第3出力データO130を力データDoutとして出力端子Qに出力する。
切り替え制御回路160は、第3ラッチ回路130に入力される第3入力データI130及び第3クロック信号CLK3を、第1制御信号SA及び第2制御信号SBに応じて切り替える。図4は、そのような切り替え制御回路160の構成例を示している。
図4に示されるように、切り替え制御回路160は、AND回路161、162、OR回路163、AND回路164、165、及びOR回路166を備えている。AND回路161には、第1入力データI110及び第1制御信号SAが入力される。AND回路162には、第2入力データI120及び第2制御信号SBが入力される。OR回路163には、AND回路161からの出力データ及びAND回路162からの出力データが入力される。そのOR回路163からの出力データが、第3入力データI130である。AND回路164には、第1クロック信号CLK1(第2クロック信号CLK2の反転信号)及び第1制御信号SAが入力される。AND回路165には、第2クロック信号CLK2及び第2制御信号SBが入力される。OR回路166には、AND回路164からの出力データ及びAND回路165からの出力データが入力される。そのOR回路166からの出力データが、第3クロック信号CLK3である。
図4で示された構成の場合、第1制御信号SA及び第2制御信号SBの組み合わせに応じて、第3入力データI130及び第3クロック信号CLK3は次のように切り替えられる。すなわち、第1制御信号SA及び第2制御信号SBが共にLowレベルの場合、第3入力データI130及び第3クロック信号CLK3は共にLowレベルに固定される。第1制御信号SAがHighレベルで、第2制御信号SBがLowレベルの場合、第3入力データI130は第1入力データI110となり、第3クロック信号CLK3は第1クロック信号CLK1となる。第1制御信号SAがLowレベルで、第2制御信号SBがHighレベルの場合、第3入力データI130は第2入力データI120となり、第3クロック信号CLK3は第2クロック信号CLK2となる。
以上に説明されたセレクタ140、セレクタ150及び切り替え制御回路160での切り替えの結果、本実施の形態に係るフリップフロップ回路1の状態として、次の第1〜第3の状態があり得る。
<第1の状態:SA=L、SB=L>
図5は、第1の状態を示している。第1の状態では、第1制御信号SA及び第2制御信号SBは共にLowレベルである。これは、第1ラッチ回路110と第2ラッチ回路120の両方が正常であり、故障が検出されていない状態である。
図5は、第1の状態を示している。第1の状態では、第1制御信号SA及び第2制御信号SBは共にLowレベルである。これは、第1ラッチ回路110と第2ラッチ回路120の両方が正常であり、故障が検出されていない状態である。
第1ラッチ回路110は、第1入力データI110を第1クロック信号CLK1に基づいてラッチし、第1出力データO110として出力する。セレクタ140は、第1出力データO110を選択し、第1出力データO110を第2入力データI120として第2ラッチ回路120に出力する。第2ラッチ回路120は、その第2入力データI120を第2クロック信号CLK2に基づいてラッチし、第2出力データO120として出力する。セレクタ150は、第2出力データO120を選択し、第2出力データO120を出力データDoutとして出力端子Qに出力する。
このように、第1の状態では、第1ラッチ回路110と第2ラッチ回路120によりフリップフロップ回路1の機能が実現される。
<第2の状態:SA=H、SB=L>
図6は、第2の状態を示している。第2の状態では、第1制御信号SAがHighレベルであり、第2制御信号SBはLowレベルである。これは、第2ラッチ回路120は正常であるが、第1ラッチ回路110の故障が検出されている状態である。
図6は、第2の状態を示している。第2の状態では、第1制御信号SAがHighレベルであり、第2制御信号SBはLowレベルである。これは、第2ラッチ回路120は正常であるが、第1ラッチ回路110の故障が検出されている状態である。
切り替え制御回路160は、第1入力データI110を受け取り、その第1入力データI110を第3入力データI130として第3ラッチ回路130に供給する。また、切り替え制御回路160は、第3クロック信号CLK3として第1クロック信号CLK1を第3ラッチ回路130に供給する。第3ラッチ回路130は、その第3入力データI130(第1入力データI110)を第3クロック信号CLK3(第1クロック信号CLK1)に基づいてラッチし、第3出力データO130として出力する。セレクタ140は、その第3出力データO130を選択し、第3出力データO130を第2入力データI120として第2ラッチ回路120に出力する。第2ラッチ回路120は、その第2入力データI120を第2クロック信号CLK2に基づいてラッチし、第2出力データO120として出力する。セレクタ150は、第2出力データO120を選択し、第2出力データO120を出力データDoutとして出力端子Qに出力する。
このように、第2の状態では、第3ラッチ回路130と第2ラッチ回路120によりフリップフロップ回路1の機能が実現される。これは、故障した第1ラッチ回路110が第3ラッチ回路130によって置き換えられ、不良救済が行われていることを意味する。
<第3の状態:SA=L、SB=H>
図7は、第3の状態を示している。第3の状態では、第1制御信号SAはLowレベルであり、第2制御信号SBがHighレベルである。これは、第1ラッチ回路110は正常であるが、第2ラッチ回路120の故障が検出されている状態である。
図7は、第3の状態を示している。第3の状態では、第1制御信号SAはLowレベルであり、第2制御信号SBがHighレベルである。これは、第1ラッチ回路110は正常であるが、第2ラッチ回路120の故障が検出されている状態である。
第1ラッチ回路110は、第1入力データI110を第1クロック信号CLK1に基づいてラッチし、第1出力データO110として出力する。セレクタ140は、第1出力データO110を選択し、第1出力データO110を第2入力データI120として出力する。切り替え制御回路160は、第2入力データI120を受け取り、その第2入力データI120(つまりは、第1出力データO110)を第3入力データI130として第3ラッチ回路130に供給する。また、切り替え制御回路160は、第3クロック信号CLK3として第2クロック信号CLK2を第3ラッチ回路130に供給する。第3ラッチ回路130は、その第3入力データI130(第1出力データO110)を第3クロック信号CLK3(第2クロック信号CLK2)に基づいてラッチし、第3出力データO130として出力する。セレクタ150は、その第3出力データO130を選択し、第3出力データO130を力データDoutとして出力端子Qに出力する。
このように、第3の状態では、第1ラッチ回路110と第3ラッチ回路130によりフリップフロップ回路1の機能が実現される。これは、故障した第2ラッチ回路120が第3ラッチ回路130によって置き換えられ、不良救済が行われていることを意味する。
<救済制御回路30>
以上に説明されたように、故障検出回路170は、第1ラッチ回路110及び第2ラッチ回路120の故障を検出し、故障状況を示す第1制御信号SA及び第2制御信号SBを生成する。そして、セレクタ140、セレクタ150及び切り替え制御回路160は、それら第1制御信号SA及び第2制御信号SBに応じてデータ経路を適宜切り替え、不良救済を行う。すなわち、セレクタ140、セレクタ150、切り替え制御回路160及び故障検出回路170のセットが、図2で示された「救済制御回路30」に相当していると言える。
以上に説明されたように、故障検出回路170は、第1ラッチ回路110及び第2ラッチ回路120の故障を検出し、故障状況を示す第1制御信号SA及び第2制御信号SBを生成する。そして、セレクタ140、セレクタ150及び切り替え制御回路160は、それら第1制御信号SA及び第2制御信号SBに応じてデータ経路を適宜切り替え、不良救済を行う。すなわち、セレクタ140、セレクタ150、切り替え制御回路160及び故障検出回路170のセットが、図2で示された「救済制御回路30」に相当していると言える。
2−3.故障検出及び救済処理
次に、図8を参照して、故障検出回路170の具体例を説明する。図8に示される故障検出回路170は、EXOR回路171、172を備えている。
次に、図8を参照して、故障検出回路170の具体例を説明する。図8に示される故障検出回路170は、EXOR回路171、172を備えている。
EXOR回路171には、第1入力データI110及び第1出力データO110が入力される。このEXOR回路171は、第1入力データI110と第1出力データO110とが一致しているか否かを判定し、その判定結果を出力データとして出力する。
故障検出処理時、第1ラッチ回路110には、データ「0」あるいはデータ「1」が連続的に供給される。第1ラッチ回路110が正常な場合、第1入力データI110と第1出力データO110とは一致し、EXOR回路171からの出力データはLowレベルとなる。
一方、出力が「1」に固定された第1ラッチ回路110にデータ「0」が連続的に供給された場合、第1入力データI110と第1出力データO110とが不一致となり、EXOR回路171からの出力データはHighレベルとなる。また、出力が「0」に固定された第1ラッチ回路110にデータ「1」が連続的に供給された場合、第1入力データI110と第1出力データO110とが不一致となり、EXOR回路171からの出力データはHighレベルとなる。
このように、EXOR回路171は、第1入力データI110と第1出力データO110とが一致しているか否かを判定することにより、第1ラッチ回路110において出力固定故障が発生しているか否かを判断する。出力固定故障が検出されない場合、EXOR回路171からの出力データはLowレベルであり、出力固定故障が検出された場合、EXOR回路171からの出力データはHighレベルとなる。すなわち、EXOR回路171からの出力データは、第1ラッチ回路110の故障状態を示す上記の第1制御信号SAに相当する。
同様に、EXOR回路172には、第2入力データI120及び第2出力データO120が入力される。このEXOR回路172は、第2入力データI120と第2出力データO120とが一致しているか否かを判定することにより、第2ラッチ回路120において出力固定故障が発生しているか否かを判断する。出力固定故障が検出されない場合、EXOR回路172からの出力データはLowレベルであり、出力固定故障が検出された場合、EXOR回路172からの出力データはHighレベルとなる。すなわち、EXOR回路172からの出力データは、第2ラッチ回路120の故障状態を示す上記の第2制御信号SBに相当する。
図8に示される故障検出回路170は、更に、第1制御信号SA及び第2制御信号SBを記憶するための構成として、AND回路173、174、EXOR回路175、AND回路176、記憶回路177、及びNOR回路178を備えている。
AND回路173には、EXOR回路171、EXOR回路175及びAND回路176のそれぞれからの出力データが入力される。
AND回路174には、EXOR回路172、EXOR回路175及びAND回路176のそれぞれからの出力データが入力される。
EXOR回路175には、EXOR回路171、172のそれぞれからの出力データが入力される。
AND回路176には、カットパルスCP及びNOR回路178からの出力データが入力される。
記憶回路177は、第1ヒューズ回路177A及び第2ヒューズ回路177Bを含んでいる。第1ヒューズ回路177Aは、AND回路173の出力端子に接続されている。一方、第2ヒューズ回路177Bは、AND回路174の出力端子に接続されている。これら第1ヒューズ回路177A及び第2ヒューズ回路177Bの各々は、カットパルスCPの印加によってその状態が変化する。カットパルスCPは、フリップフロップ回路1の外部から供給される。そのため、図3に示されるように、本実施の形態に係るフリップフロップ回路1は、カットパルスCPが入力されるカットパルス入力端子CPIを備えている。
第1ヒューズ回路177Aは、第1制御信号SAを保持するために設けられている。例えば、第1ヒューズ回路177Aはアンチヒューズであり、初期状態での保持データはLowレベルである(第1制御信号SA=Lowレベル)。第1ラッチ回路110の出力固定故障が検出された場合、EXOR回路171からの出力データ(第1制御信号SA)は、上述の通りHighレベルとなる。この場合、カットパルスCPはAND回路173を通過し、第1ヒューズ回路177Aに印加される。その結果、第1ヒューズ回路177Aの状態が切り替わり、その保持データがLowレベルからHighレベルに変わる。つまり、「第1制御信号SA=Highレベル」が第1ヒューズ回路177Aに書き込まれる。
第2ヒューズ回路177Bは、第2制御信号SBを保持するために設けられている。例えば、第2ヒューズ回路177Bはアンチヒューズであり、初期状態での保持データはLowレベルである(第2制御信号SB=Lowレベル)。第2ラッチ回路120の出力固定故障が検出された場合、EXOR回路172からの出力データ(第2制御信号SB)は、上述の通りHighレベルとなる。この場合、カットパルスCPはAND回路174を通過し、第2ヒューズ回路177Bに印加される。その結果、第2ヒューズ回路177Bの状態が切り替わり、その保持データがLowレベルからHighレベルに変わる。つまり、「第2制御信号SB=Highレベル」が第2ヒューズ回路177Bに書き込まれる。
尚、EXOR回路171、172からの出力データが共にHighレベルとなった場合、EXOR回路175からの出力データはLowレベルとなる。この場合、カットパルスCPは、AND回路173、174を通過しない。つまり、EXOR回路175は、第1ラッチ回路110と第2ラッチ回路120の両方が故障した場合にカットパルスCPを無効化する役割を果たす。
また、NOR回路178には、第1制御信号SA及び第2制御信号SBが入力される。第1制御信号SAあるいは第2制御信号SBのいずれかが既にHighレベルになっている場合、NOR回路178からの出力データはLowレベルとなり、カットパルスCPはAND回路176を通過しない。つまり、NOR回路178は、第1制御信号SAあるいは第2制御信号SBのいずれかが既にHighレベルになっている場合にカットパルスCPを無効化する役割を果たす。
カットパルスCPが無効化された場合、第1ヒューズ回路177A及び第2ヒューズ回路177Bの状態は変わらず、第1制御信号SA及び第2制御信号SBも変化しない。EXOR回路175及びNOR回路178は、第1制御信号SAと第2制御信号SBが同時にHighレベルになることを防止していると言える。本実施の形態では、救済されるのは第1ラッチ回路110か第2ラッチ回路120のいずれか一方の故障であり、第1ラッチ回路110と第2ラッチ回路120の両方が故障した場合には救済は行われないのである。
次に、本実施の形態に係る半導体装置のテスト方法を説明する。本実施の形態では、通常のスキャンテストの前に、フリップフロップ回路1が有する自己故障検出・救済機能を利用した不良救済フローが実施される。すなわち、通常のスキャンテストの前に、可能な限り、各フリップフロップ回路1の内部で不良救済を実施しておく。
図9は、本実施の形態に係る半導体装置のテスト方法を示すフローチャートである。このテストにおいて、半導体装置の動作モードは、スキャンモードに設定される。よって、入力セレクタ100は、スキャン入力端子SCIに入力されるスキャンデータSCANを、第1入力データI110として出力する。また、第1制御信号SA及び第2制御信号SBは共に初期状態(Lowレベル)であり、各フリップフロップ回路1は、図5で示された第1の状態となっている。また、カットパルス入力端子CPIにカットパルスCPが印加される。
<出力「1」固定故障の検出及び救済>
まず、第1ラッチ回路110及び第2ラッチ回路120に関して、出力が「1」に固定される故障の検出が行われる。そのために、スキャンデータSCANとして、データ「0」が連続的に与えられる(ステップS10)。故障が検出されない場合(ステップS11;No)、処理はステップS20に進む。
まず、第1ラッチ回路110及び第2ラッチ回路120に関して、出力が「1」に固定される故障の検出が行われる。そのために、スキャンデータSCANとして、データ「0」が連続的に与えられる(ステップS10)。故障が検出されない場合(ステップS11;No)、処理はステップS20に進む。
一方、故障が検出された場合(ステップS11;Yes)、処理はステップS12に進む。ヒューズ回路(177Aあるいは177B)に不良が発生している場合(ステップS12;Yes)、カットパルスCPの印加は停止する(ステップS25)。ヒューズ回路が不良である場合として、例えば、ヒューズ回路の出力がHighレベルに固定されている場合が考えられる。それ以外の場合(ステップS12;No)、カットパルスCPの印加により、カット対象のヒューズ回路(177Aあるいは177B)がカットされる(ステップS13)。これにより、故障が検出されたラッチ回路(110あるいは120)が第3ラッチ回路130により置き換えられる。つまり、フリップフロップ回路1の内部で不良救済が自動的に行われる。
<出力「0」固定故障の検出及び救済>
次に、第1ラッチ回路110及び第2ラッチ回路120に関して、出力が「0」に固定される故障の検出が行われる。そのために、スキャンデータSCANとして、データ「1」が連続的に与えられる(ステップS20)。故障が検出されない場合(ステップS21;No)、処理はステップS30に進む。
次に、第1ラッチ回路110及び第2ラッチ回路120に関して、出力が「0」に固定される故障の検出が行われる。そのために、スキャンデータSCANとして、データ「1」が連続的に与えられる(ステップS20)。故障が検出されない場合(ステップS21;No)、処理はステップS30に進む。
一方、故障が検出された場合(ステップS21;Yes)、処理はステップS22に進む。第1ヒューズ回路177Aあるいは第2ヒューズ回路177Bのいずれかが既にカット済みの場合(ステップS22;Yes)、カットパルスCPの印加は停止する(ステップS25)。それ以外の場合(ステップS22;No)、カットパルスCPの印加により、カット対象のヒューズ回路(177Aあるいは177B)がカットされる(ステップS23)。これにより、故障が検出されたラッチ回路(110あるいは120)が第3ラッチ回路130により置き換えられる。つまり、フリップフロップ回路1の内部で不良救済が自動的に行われる。
<通常のスキャンテスト>
その後、通常のスキャンテストが実施される(ステップS30)。このスキャンテストにより、良品/不良品の判定が可能である。
その後、通常のスキャンテストが実施される(ステップS30)。このスキャンテストにより、良品/不良品の判定が可能である。
2−4.変形例
図10は、本実施の形態の変形例を示す回路ブロック図である。本変形例では、第1制御信号SA及び第2制御信号SBを外部から強制的に設定可能である。具体的には、フリップフロップ回路1は、セレクト信号SELが入力されるセレクト信号入力端子SLIを備えている。そのセレクト信号SELは、第1制御信号SA及び第2制御信号SBの内容を指定しており、故障検出回路170に入力される。故障検出回路170は、記憶回路177に格納されている第1制御信号SA及び第2制御信号SBを書き換えることなく、セレクト信号SELで指定された第1制御信号SA及び第2制御信号SBを出力する。
図10は、本実施の形態の変形例を示す回路ブロック図である。本変形例では、第1制御信号SA及び第2制御信号SBを外部から強制的に設定可能である。具体的には、フリップフロップ回路1は、セレクト信号SELが入力されるセレクト信号入力端子SLIを備えている。そのセレクト信号SELは、第1制御信号SA及び第2制御信号SBの内容を指定しており、故障検出回路170に入力される。故障検出回路170は、記憶回路177に格納されている第1制御信号SA及び第2制御信号SBを書き換えることなく、セレクト信号SELで指定された第1制御信号SA及び第2制御信号SBを出力する。
本変形例によれば、ヒューズ回路(177A、177B)をカットすることなく、フリップフロップ回路1内部におけるデータ経路を試しに切り替えることができる。これにより、ヒューズ回路のカット前後の状態をあらかじめ比較することが可能となる。
また、データ経路を自由に切り替え可能なため、動作マージンの調整を行うことも可能となる。例えば、第1ラッチ回路110、第2ラッチ回路120と第3ラッチ回路130とでトランジスタ特性を変えておく。製造ばらつき等でマージンが不足した場合、トランジスタ特性の良い第3ラッチ回路130に切り替えることによって、マージンを増やすことが可能となる。
他の変形例として、ヒューズ回路(177A、177B)の代わりにラッチ回路を用いることも考えられる。この場合、カットパルスCPは不要であり、カットパルス入力端子CPIはフリップフロップ回路1から省かれる。
3.第3の実施の形態
第3の実施の形態では、上記第1の実施の形態の他の具体例を説明する。尚、第1、第2の実施の形態と重複する説明は適宜省略する。
第3の実施の形態では、上記第1の実施の形態の他の具体例を説明する。尚、第1、第2の実施の形態と重複する説明は適宜省略する。
3−1.全体構成
図11は、第3の実施の形態に係るフリップフロップ回路1の構成を示す回路ブロック図である。フリップフロップ回路1は、入力セレクタ200、第1フリップフロップ210、第2フリップフロップ220、セレクタ250、切り替え制御回路260、及び故障検出回路270を備えている。
図11は、第3の実施の形態に係るフリップフロップ回路1の構成を示す回路ブロック図である。フリップフロップ回路1は、入力セレクタ200、第1フリップフロップ210、第2フリップフロップ220、セレクタ250、切り替え制御回路260、及び故障検出回路270を備えている。
入力セレクタ200は、入力端子D及びスキャン入力端子SCIに接続されており、入力データDin及びスキャンデータSCANを受け取ることができるように構成されている。この入力セレクタ200は、テスト信号(図示されない)に応じて、入力データDinあるいはスキャンデータSCANのいずれか一方を選択し、選択した一方を第1入力データI210として出力する。より詳細には、通常動作モード時、入力端子Dには入力データDinが入力され、入力セレクタ200は、その入力データDinを選択し、第1入力データI210として出力する。一方、スキャンモード時、スキャン入力端子SCIにはスキャンデータSCANが入力され、入力セレクタ200は、そのスキャンデータSCANを選択し、第1入力データI210として出力する。
第1フリップフロップ210は、クロック信号CLKに基づいて動作し、第1入力データI210を受け取り、第1出力データO210を出力するように構成されている。より詳細には、第1フリップフロップ210は、ラッチ回路211及びラッチ回路212を備えている。ラッチ回路211は、上記の第1入力データI210を第1クロック信号CLK1に基づいてラッチする。ラッチ回路212は、ラッチ回路211からの出力データを第2クロック信号CLK2に基づいてラッチし、第1出力データO210として出力する。第1クロック信号CLK1と第2クロック信号CLK2は、共にクロック信号CLKから生成され、且つ、互いに逆相である。
尚、第1フリップフロップ210は、図2で示されたラッチ部10に相当する。第1ラッチ回路210に入力される第1入力データI210は、ラッチ部10に入力されるラッチ入力データI10に相当する。また、第1ラッチ回路210から出力される第1出力データO210は、ラッチ部10から出力されるラッチ出力データO10に相当する。
第2フリップフロップ220は、クロック信号CLK’に基づいて動作し、第2入力データI220を受け取り、第2出力データO220を出力するように構成されている。より詳細には、第2フリップフロップ220は、ラッチ回路221及びラッチ回路222を備えている。ラッチ回路221は、上記の第2入力データI220を第1クロック信号CLK1に基づいてラッチする。ラッチ回路222は、ラッチ回路221からの出力データを第2クロック信号CLK2に基づいてラッチし、第2出力データO220として出力する。第1クロック信号CLK1と第2クロック信号CLK2は、共にクロック信号CLK’から生成され、且つ、互いに逆相である。
尚、第2フリップフロップ220は、図2で示された冗長ラッチ部20に相当する。第2フリップフロップ220に入力される第2入力データI220は、冗長ラッチ部20に入力される冗長ラッチ入力データI20に相当する。また、第2フリップフロップ220から出力される第2出力データO220は、冗長ラッチ部20から出力される冗長ラッチ出力データO20に相当する。
セレクタ250は、第1フリップフロップ210の出力端子及び第2フリップフロップ220の出力端子に接続されており、第1出力データO210及び第2出力データO220を受け取ることができるように構成されている。このセレクタ250は、制御信号SCに応じて、第1出力データO210あるいは第2出力データO220のいずれか一方を選択し、選択した一方を出力データDoutとして出力端子Qに出力する。詳細は後述される。
切り替え制御回路260は、第2フリップフロップ220に入力される第2入力データI220及びクロック信号CLK’を、制御信号SCに応じて切り替えるように構成されている。詳細は後述される。
故障検出回路270は、第1フリップフロップ210の故障(出力固定故障)を検出するための回路である。より詳細には、故障検出回路270は、第1入力データI210及び第1出力データO210を受け取り、それら第1入力データI210と第1出力データO210とを比較することによって第1フリップフロップ210の故障を検出する。その比較結果、すなわち、第1フリップフロップ210の故障の有無を示すのが、上記の制御信号SCである。
故障検出回路270は、制御信号SCを、セレクタ250及び切り替え制御回路260に出力する。これにより、次に説明されるように、フリップフロップ回路1内部におけるデータ経路の切り替えが実現される。尚、故障検出回路270は、制御信号SC(すなわち、第1フリップフロップ210の故障状況)を記憶する記憶回路274を備えていてもよい。
3−2.データ経路の切り替え
本例では、制御信号SCの初期値はLowレベルであり、第1フリップフロップ210の故障が検出された場合、制御信号SCがHighレベルに切り替えられるとする。
本例では、制御信号SCの初期値はLowレベルであり、第1フリップフロップ210の故障が検出された場合、制御信号SCがHighレベルに切り替えられるとする。
セレクタ250は、制御信号SCに応じて、第1出力データO210あるいは第2出力データO220のいずれか一方を選択し、選択した一方を出力データDoutとして出力端子Qに出力する。より詳細には、制御信号SCがLowレベルの場合、セレクタ250は、第1出力データO210を選択し、第1出力データO210を出力データDoutとして出力端子Qに出力する。一方、制御信号SCがHighレベルの場合、セレクタ250は、第2出力データO220を選択し、第2出力データO220を力データDoutとして出力端子Qに出力する。
切り替え制御回路260は、第2フリップフロップ220に入力される第2入力データI220及びクロック信号CLK’を、制御信号SCに応じて切り替える。図12は、そのような切り替え制御回路260の構成例を示している。
図12に示されるように、切り替え制御回路260は、AND回路261、262を備えている。AND回路261には、第1入力データI210及び制御信号SCが入力される。そのAND回路261から出力されるデータが第2入力データI220である。AND回路262には、クロック信号CLK及び制御信号SCが入力される。そのAND回路262から出力されるデータがクロック信号CLK’である。制御信号SCがLowレベルの場合、第2入力データI220及びクロック信号CLK’は共にLowレベルに固定される。制御信号SCがHighレベルの場合、第2入力データI220は第1入力データI210となり、クロック信号CLK’はクロック信号CLKとなる。
以上に説明されたセレクタ250及び切り替え制御回路260での切り替えの結果、本実施の形態に係るフリップフロップ回路1の状態として、次の第1、第2の状態があり得る。
<第1の状態:SC=L>
図13は、第1の状態を示している。第1の状態では、制御信号SCがLowレベルである。これは、第1フリップフロップ210が正常であり、故障が検出されていない状態である。
図13は、第1の状態を示している。第1の状態では、制御信号SCがLowレベルである。これは、第1フリップフロップ210が正常であり、故障が検出されていない状態である。
第1フリップフロップ210は、クロック信号CLKに基づいて動作し、第1入力データI210を受け取り、第1出力データO210を出力する。セレクタ250は、第1出力データO210を選択し、第1出力データO210を出力データDoutとして出力端子Qに出力する。
このように、第1の状態では、第1フリップフロップ210によりフリップフロップ回路1の機能が実現される。
<第2の状態:SC=H>
図14は、第2の状態を示している。第2の状態では、制御信号SCがHighレベルである。これは、第1フリップフロップ210の故障が検出されている状態である。
図14は、第2の状態を示している。第2の状態では、制御信号SCがHighレベルである。これは、第1フリップフロップ210の故障が検出されている状態である。
切り替え制御回路260は、第1入力データI210を受け取り、その第1入力データI210を第2入力データI220として第2フリップフロップ220に供給する。また、切り替え制御回路260は、クロック信号CLKをクロック信号CLK’として第2フリップフロップ220に供給する。第2フリップフロップ220は、クロック信号CLK’に基づいて動作し、第2入力データI220(第1入力データI210)を受け取り、第2出力データO220を出力する。セレクタ250は、第2出力データO220を選択し、第2出力データO220を出力データDoutとして出力端子Qに出力する。
このように、第2の状態では、第2フリップフロップ220によりフリップフロップ回路1の機能が実現される。これは、故障した第1フリップフロップ210が第2フリップフロップ220によって置き換えられ、不良救済が行われていることを意味する。
<救済制御回路30>
以上に説明されたように、故障検出回路270は、第1フリップフロップ210の故障を検出し、故障状況を示す制御信号SCを生成する。そして、セレクタ250及び切り替え制御回路260は、その制御信号SCに応じてデータ経路を適宜切り替え、不良救済を行う。すなわち、セレクタ250、切り替え制御回路260及び故障検出回路270のセットが、図2で示された「救済制御回路30」に相当していると言える。
以上に説明されたように、故障検出回路270は、第1フリップフロップ210の故障を検出し、故障状況を示す制御信号SCを生成する。そして、セレクタ250及び切り替え制御回路260は、その制御信号SCに応じてデータ経路を適宜切り替え、不良救済を行う。すなわち、セレクタ250、切り替え制御回路260及び故障検出回路270のセットが、図2で示された「救済制御回路30」に相当していると言える。
3−3.故障検出及び救済処理
次に、図15を参照して、故障検出回路270の具体例を説明する。図15に示される故障検出回路270は、EXOR回路271を備えている。
次に、図15を参照して、故障検出回路270の具体例を説明する。図15に示される故障検出回路270は、EXOR回路271を備えている。
EXOR回路271には、第1入力データI210及び第1出力データO210が入力される。このEXOR回路271は、第1入力データI210と第1出力データO210とが一致しているか否かを判定し、その判定結果を出力データとして出力する。
故障検出処理時、第1フリップフロップ210には、データ「0」あるいはデータ「1」が連続的に供給される。第1フリップフロップ210が正常な場合、第1入力データI210と第1出力データO210とは一致し、EXOR回路271からの出力データはLowレベルとなる。
一方、出力が「1」に固定された第1フリップフロップ210にデータ「0」が連続的に供給された場合、第1入力データI210と第1出力データO210とが不一致となり、EXOR回路271からの出力データはHighレベルとなる。また、出力が「0」に固定された第1フリップフロップ210にデータ「1」が連続的に供給された場合、第1入力データI210と第1出力データO210とが不一致となり、EXOR回路271からの出力データはHighレベルとなる。
このように、EXOR回路271は、第1入力データI210と第1出力データO210とが一致しているか否かを判定することにより、第1フリップフロップ210において出力固定故障が発生しているか否かを判断する。出力固定故障が検出されない場合、EXOR回路271からの出力データはLowレベルであり、出力固定故障が検出された場合、EXOR回路271からの出力データはHighレベルとなる。すなわち、EXOR回路271からの出力データは、第1フリップフロップ210の故障状態を示す上記の制御信号SCに相当する。
図15に示される故障検出回路270は、更に、制御信号SCを記憶するための構成として、AND回路272、273、及び記憶回路274を備えている。
AND回路272には、EXOR回路271及びAND回路273のそれぞれからの出力データが入力される。
AND回路273には、カットパルスCP及び制御信号SCの反転データが入力される。
記憶回路274は、ヒューズ回路275を含んでいる。ヒューズ回路275は、AND回路272の出力端子に接続されている。このヒューズ回路275は、カットパルスCPの印加によってその状態が変化する。カットパルスCPは、フリップフロップ回路1の外部から供給される。そのため、図11に示されるように、本実施の形態に係るフリップフロップ回路1は、カットパルスCPが入力されるカットパルス入力端子CPIを備えている。
ヒューズ回路275は、制御信号SCを保持するために設けられている。例えば、ヒューズ回路275はアンチヒューズであり、初期状態での保持データはLowレベルである(制御信号SC=Lowレベル)。第1フリップフロップ210の出力固定故障が検出された場合、EXOR回路271からの出力データ(制御信号SC)は、上述の通りHighレベルとなる。この場合、カットパルスCPはAND回路272を通過し、ヒューズ回路275に印加される。その結果、ヒューズ回路275の状態が切り替わり、その保持データがLowレベルからHighレベルに変わる。つまり、「制御信号SC=Highレベル」がヒューズ回路275に書き込まれる。
尚、AND回路273には、ヒューズ回路275に保持されている制御信号SCの反転データが入力される。制御信号SCが既にHighレベルになっている場合、カットパルスCPはAND回路273を通過しない。つまり、AND回路273は、制御信号SCが既にHighレベルになっている場合にカットパルスを無効化する役割を果たす。
本実施の形態に係る半導体装置のテスト方法は、第1の実施の形態の場合と同様である(図9参照)。
3−4.変形例
図16は、本実施の形態の変形例を示す回路ブロック図である。本変形例では、制御信号SCを外部から強制的に設定可能である。具体的には、フリップフロップ回路1は、セレクト信号SELが入力されるセレクト信号入力端子SLIを備えている。そのセレクト信号SELは、制御信号SCの内容を指定しており、故障検出回路270に入力される。故障検出回路270は、記憶回路274に格納されている制御信号SCを書き換えることなく、セレクト信号SELで指定された制御信号SCを出力する。
図16は、本実施の形態の変形例を示す回路ブロック図である。本変形例では、制御信号SCを外部から強制的に設定可能である。具体的には、フリップフロップ回路1は、セレクト信号SELが入力されるセレクト信号入力端子SLIを備えている。そのセレクト信号SELは、制御信号SCの内容を指定しており、故障検出回路270に入力される。故障検出回路270は、記憶回路274に格納されている制御信号SCを書き換えることなく、セレクト信号SELで指定された制御信号SCを出力する。
本変形例によれば、ヒューズ回路275をカットすることなく、フリップフロップ回路1内部におけるデータ経路を試しに切り替えることができる。これにより、ヒューズ回路275のカット前後の状態をあらかじめ比較することが可能となる。
また、データ経路を自由に切り替え可能なため、動作マージンの調整を行うことも可能となる。例えば、第1フリップフロップ210と第2フリップフロップ220とでトランジスタ特性を変えておく。製造ばらつき等でマージンが不足した場合、トランジスタ特性の良い第2フリップフロップ220に切り替えることによって、マージンを増やすことが可能となる。
他の変形例として、ヒューズ回路275の代わりにラッチ回路を用いることも考えられる。この場合、カットパルスCPは不要であり、カットパルス入力端子CPIはフリップフロップ回路1から省かれる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
1 フリップフロップ回路
10 ラッチ部
20 冗長ラッチ部
30 救済制御回路
100 入力セレクタ
101 バッファ
102 バッファ
110 第1ラッチ回路
120 第2ラッチ回路
130 第3ラッチ回路
140 セレクタ
150 セレクタ
160 切り替え制御回路
170 故障検出回路
177 記憶回路
177A 第1ヒューズ回路
177B 第2ヒューズ回路
200 入力セレクタ
210 第1フリップフロップ
211 ラッチ回路
212 ラッチ回路
220 第2フリップフロップ
221 ラッチ回路
222 ラッチ回路
250 セレクタ
260 切り替え制御回路
270 故障検出回路
274 記憶回路
275 ヒューズ回路
CKI クロック入力端子
CLK クロック信号
CLK’ クロック信号
CLK1 第1クロック信号
CLK2 第2クロック信号
CLK3 第3クロック信号
CP カットパルス
CPI カットパルス入力端子
D 入力端子
Din 入力データ
Dout 出力データ
I10 ラッチ入力データ
I20 冗長ラッチ入力データ
I110 第1入力データ
I120 第2入力データ
I130 第3入力データ
I210 第1入力データ
I220 第2入力データ
O10 ラッチ出力データ
O20 冗長ラッチ出力データ
O110 第1出力データ
O120 第2出力データ
O130 第3出力データ
O210 第1出力データ
O220 第2出力データ
Q 出力端子
SA 第1制御信号
SB 第2制御信号
SC 制御信号
SCI スキャン入力端子
SCAN スキャンデータ
SEL セレクト信号
SLI セレクト信号入力端子
10 ラッチ部
20 冗長ラッチ部
30 救済制御回路
100 入力セレクタ
101 バッファ
102 バッファ
110 第1ラッチ回路
120 第2ラッチ回路
130 第3ラッチ回路
140 セレクタ
150 セレクタ
160 切り替え制御回路
170 故障検出回路
177 記憶回路
177A 第1ヒューズ回路
177B 第2ヒューズ回路
200 入力セレクタ
210 第1フリップフロップ
211 ラッチ回路
212 ラッチ回路
220 第2フリップフロップ
221 ラッチ回路
222 ラッチ回路
250 セレクタ
260 切り替え制御回路
270 故障検出回路
274 記憶回路
275 ヒューズ回路
CKI クロック入力端子
CLK クロック信号
CLK’ クロック信号
CLK1 第1クロック信号
CLK2 第2クロック信号
CLK3 第3クロック信号
CP カットパルス
CPI カットパルス入力端子
D 入力端子
Din 入力データ
Dout 出力データ
I10 ラッチ入力データ
I20 冗長ラッチ入力データ
I110 第1入力データ
I120 第2入力データ
I130 第3入力データ
I210 第1入力データ
I220 第2入力データ
O10 ラッチ出力データ
O20 冗長ラッチ出力データ
O110 第1出力データ
O120 第2出力データ
O130 第3出力データ
O210 第1出力データ
O220 第2出力データ
Q 出力端子
SA 第1制御信号
SB 第2制御信号
SC 制御信号
SCI スキャン入力端子
SCAN スキャンデータ
SEL セレクト信号
SLI セレクト信号入力端子
Claims (9)
- フリップフロップ回路を備え、
前記フリップフロップ回路は、
ラッチ入力データをラッチし、ラッチ出力データを出力するように構成されたラッチ部と、
冗長ラッチ入力データをラッチし、冗長ラッチ出力データを出力するように構成された冗長ラッチ部と、
前記ラッチ部の故障検出及び救済を行う救済制御回路と
を備え、
前記故障検出時、前記救済制御回路は、前記ラッチ入力データと前記ラッチ出力データとを比較することによって前記ラッチ部の故障を検出し、
前記ラッチ部の故障を検出した場合、前記救済制御回路は、前記ラッチ入力データを前記冗長ラッチ入力データとして前記冗長ラッチ部に供給し、また、前記冗長ラッチ出力データを前記ラッチ出力データとして前記ラッチ部の後段に供給する
半導体装置。 - 請求項1に記載の半導体装置であって、
前記ラッチ部は、
前記ラッチ入力データである第1入力データを第1クロック信号に基づいてラッチし、前記ラッチ出力データである第1出力データを出力するように構成された第1ラッチ回路と、
前記ラッチ入力データである第2入力データを前記第1クロック信号の反転信号である第2クロック信号に基づいてラッチし、前記ラッチ出力データである第2出力データを出力するように構成された第2ラッチ回路と
を含み、
前記冗長ラッチ部は、前記冗長ラッチ入力データである第3入力データを第3クロック信号に基づいてラッチし、前記冗長ラッチ出力データである第3出力データを出力するように構成された第3ラッチ回路を含み、
前記故障検出時、前記救済制御回路は、前記第1入力データと前記第1出力データとを比較することによって前記第1ラッチ回路の故障を検出し、また、前記第2入力データと前記第2出力データとを比較することによって前記第2ラッチ回路の故障を検出し、
前記第1ラッチ回路あるいは前記第2ラッチ回路の故障を検出しない場合、前記救済制御回路は、前記第1出力データを前記第2入力データとして前記第2ラッチ回路に供給し、また、前記第2出力データを出力端子に出力し、
前記第1ラッチ回路の故障を検出した場合、前記救済制御回路は、前記第1入力データ及び前記第1クロック信号のそれぞれを前記第3入力データ及び前記第3クロック信号として前記第3ラッチ回路に供給し、また、前記第3出力データを前記第2入力データとして前記第2ラッチ回路に供給し、また、前記第2出力データを前記出力端子に出力し、
前記第2ラッチ回路の故障を検出した場合、前記救済制御回路は、前記第1出力データ及び前記第2クロック信号のそれぞれを前記第3入力データ及び前記第3クロック信号として前記第3ラッチ回路に供給し、また、前記第3出力データを前記出力端子に出力する
半導体装置。 - 請求項2に記載の半導体装置であって、
前記フリップフロップ回路は、更に、
通常入力データが入力される入力端子と、
スキャンデータが入力されるスキャン入力端子と、
テスト信号に応じて前記通常入力データあるいは前記スキャンデータのいずれか一方を選択し、前記選択した一方を前記第1入力データとして出力するセレクタと
を備える
半導体装置。 - 請求項3に記載の半導体装置であって、
前記故障検出時、
前記スキャンデータとして、同一論理値のデータが連続的に与えられ、
前記セレクタは、前記スキャンデータを前記第1入力データとして出力し、
前記救済制御回路は、前記第1出力データを前記第2入力データとして前記第2ラッチ回路に供給し、また、前記第2出力データを前記出力端子に出力し、
前記第1入力データと前記第1出力データが不一致の場合、前記救済制御回路は、前記第1ラッチ回路が故障していると判断し、
前記第2入力データと前記第2出力データが不一致の場合、前記救済制御回路は、前記第2ラッチ回路が故障していると判断する
半導体装置。 - 請求項1に記載の半導体装置であって、
前記ラッチ部は、前記ラッチ入力データである第1入力データを受け取り、前記ラッチ出力データである第1出力データを出力するように構成された第1フリップフロップを含み、
前記冗長ラッチ部は、前記冗長ラッチ入力データである第2入力データを受け取り、前記冗長ラッチ出力データである第2出力データを出力するように構成された第2フリップフロップを含み、
前記故障検出時、前記救済制御回路は、前記第1入力データと前記第1出力データとを比較することによって前記第1フリップフロップの故障を検出し、
前記第1フリップフロップの故障を検出しない場合、前記救済制御回路は、前記第1出力データを出力端子に出力し、
前記第1フリップフロップの故障を検出した場合、前記救済制御回路は、前記第1入力データを前記第2入力データとして前記第2フリップフロップに供給し、また、前記第2出力データを前記出力端子に出力する
半導体装置。 - 請求項5に記載の半導体装置であって、
前記フリップフロップ回路は、更に、
通常入力データが入力される入力端子と、
スキャンデータが入力されるスキャン入力端子と、
テスト信号に応じて前記通常入力データあるいは前記スキャンデータのいずれか一方を選択し、前記選択した一方を前記第1入力データとして出力するセレクタと
を備える
半導体装置。 - 請求項6に記載の半導体装置であって、
前記故障検出時、
前記スキャンデータとして、同一論理値のデータが連続的に与えられ、
前記セレクタは、前記スキャンデータを前記第1入力データとして出力し、
前記救済制御回路は、前記第1出力データを前記出力端子に出力し、
前記第1入力データと前記第1出力データが不一致の場合、前記救済制御回路は、前記第1フリップフロップが故障していると判断する
半導体装置。 - 請求項1乃至7のいずれか一項に記載の半導体装置であって、
前記救済制御回路は、前記ラッチ部の故障状況を記憶する記憶回路を備えている
半導体装置。 - 請求項8に記載の半導体装置であって、
前記フリップフロップ回路は、更に、カットパルスが入力されるカットパルス入力端子を備え、
前記記憶回路は、前記カットパルスの印加によって状態が変化するヒューズ回路である
半導体装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013080415A JP2014204360A (ja) | 2013-04-08 | 2013-04-08 | 半導体装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013080415A JP2014204360A (ja) | 2013-04-08 | 2013-04-08 | 半導体装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014204360A true JP2014204360A (ja) | 2014-10-27 |
Family
ID=52354421
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013080415A Pending JP2014204360A (ja) | 2013-04-08 | 2013-04-08 | 半導体装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014204360A (ja) |
-
2013
- 2013-04-08 JP JP2013080415A patent/JP2014204360A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5083214B2 (ja) | 故障予測回路と方法及び半導体集積回路 | |
US5748543A (en) | Self repairing integrated circuit memory devices and methods | |
KR100745403B1 (ko) | 반도체 메모리 장치 및 그 셀프 테스트 방법 | |
US20120104388A1 (en) | Three-dimensional stacked semiconductor integrated circuit and tsv repair method thereof | |
JP2003098225A (ja) | 半導体集積回路 | |
US20110161756A1 (en) | Integrated circuit and diagnosis circuit | |
US10665316B2 (en) | Memory device | |
US7924646B2 (en) | Fuse monitoring circuit for semiconductor memory device | |
JP4693526B2 (ja) | 半導体集積回路、および、半導体集積回路のテスト方法 | |
US7315479B2 (en) | Redundant memory incorporating serially-connected relief information storage | |
JP2006234512A (ja) | 半導体集積回路および半導体集積回路のテスト方法 | |
JP2012145467A (ja) | 半導体集積回路及び電源電圧適応制御システム | |
KR20120052564A (ko) | 반도체 메모리 장치의 리페어 회로 | |
KR101156030B1 (ko) | 안티퓨즈 회로 및 그를 포함하는 반도체 집적회로 | |
US8059477B2 (en) | Redundancy circuit of semiconductor memory | |
JP2007273772A (ja) | 半導体装置 | |
KR20120078570A (ko) | 반도체 메모리 장치, 테스트 회로 및 테스트 방법 | |
JP2014204360A (ja) | 半導体装置 | |
US8111560B2 (en) | Semiconductor memory device | |
US7830710B2 (en) | Semiconductor memory device | |
JP5792342B2 (ja) | 半導体集積回路 | |
CN110827878B (zh) | 存储器装置 | |
JP3963158B2 (ja) | 半導体回路装置及びそのテスト方法 | |
JP2007328852A (ja) | 半導体装置 | |
JP2008084425A (ja) | 半導体装置のテスト方法 |