(57)【要約】【課題】  遅延故障の検出を行う際、通常動作モードにおいて信号を取り込む１周期前に、信号の極性を反転させる動作を、タイミングが厳しい半導体集積回路の検証を行う場合にも確実なものとする。【解決手段】  入力端子より入力された１つ前の周期のスキャンテスト信号ＤＴを信号選択手段１０５により反転させて出力信号保持手段１０３に保持し、次のクロック信号ＣＫの立ち上がりエッジのタイミングにおいて、その保持された反転値データを出力することにより、スキャンテスト信号ＤＴの反転信号をスキャンテスト対象の回路に確実に入力する。【選択図】  図１
2005233715.tif 000002
【特許請求の範囲】
【請求項１】
入力データ又はスキャンテスト用の設定値をクロック信号の印加時にシフトして出力端子から出力する記憶回路において、
前記スキャンテスト用の設定値を受け、その設定値に基づく値を内部へ入力する入力手段と、
前記入力手段により入力された前記設定値の反転値及び同値の信号を保持する入力信号保持手段と、
前記出力端子に出力された出力信号を保持する出力信号保持手段と、
前記入力信号保持手段に保持された前記設定値の反転値及び同値の信号から一方を選択して、前記設定値の反転値又は同値を前記出力信号として前記出力信号保持手段に出力する出力信号選択手段とを備えた
ことを特徴とする記憶回路。
【請求項２】
請求項１記載の記憶回路において、
前記スキャンテストのモードを選択する情報を有する動作モード選択信号、及び前記出力信号を選択する情報を有する出力選択信号を受け、前記動作モード選択信号、前記出力選択信号及び前記クロック信号に基づき、第１に、前記設定値を前記入力信号保持手段に入力させるか否かの動作を選択する制御を前記入力手段に対して行い、第２に、前記入力手段により入力された第１の信号を保持させる状態と、保持させずに前記第１の信号に基づく信号を出力させる状態とを切り替える制御を前記入力信号保持手段に対して行い、第３に、前記出力信号選択手段の信号選択動作を制御し、第４に、前記出力信号選択手段により選択された第２の信号を保持させる状態と、保持させずに前記第２の信号に基づく信号を出力させる状態とを切り替える制御を前記出力信号保持手段に対して行うための制御信号を生成する制御信号生成手段を備えた
ことを特徴とする記憶回路。
【請求項３】
請求項２記載の記憶回路において、
前記制御信号生成手段は、前記クロック信号がハイレベル又は前記出力選択信号がハイレベルのとき前記入力データ及び前記設定値の入力を遮断し、また、前記クロック信号がローレベル、前記出力選択信号がローレベル且つ動作モード選択信号がローレベルの場合において、前記クロック信号がハイレベルに変化したとき前記入力データを前記入力信号保持手段へ伝達させ、前記クロック信号がローレベル、前記出力選択信号がローレベル且つ前記動作モード選択信号がハイレベルの場合において、前記クロック信号がハイレベルに変化したとき前記設定値を前記入力信号保持手段へ伝達させるための第１の制御信号を前記入力手段に送信する
ことを特徴とする記憶回路。
【請求項４】
請求項２記載の記憶回路において、
前記制御信号生成手段は、前記クロック信号がハイレベルのとき、前記入力手段から入力された信号を保持させるための前記第２の制御信号を前記入力信号保持手段に送信する
ことを特徴とする記憶回路。
【請求項５】
請求項２記載の記憶回路において、
前記制御信号生成手段は、前記クロック信号がハイレベルの場合において、前記出力選択信号がハイレベル又はローレベルの状態に応じて、前記入力信号保持手段に保持されている信号の反転値又は同値の何れか一方を選択して、前記出力信号保持手段へ送信させるための前記第３の制御信号を前記出力信号選択手段に送信する
ことを特徴とする記憶回路。
【請求項６】
請求項２記載の記憶回路において、
前記制御信号生成手段は、前記クロック信号がローレベルのとき、前記出力信号選択手段から出力された信号を保持させるための前記第４の制御信号を前記出力信号保持手段に送信する
ことを特徴とする記憶回路。
【請求項７】
請求項１又は２記載の記憶回路が、スキャンテストの対象となる論理回路の前後に少なくとも一つ含まれる
ことを特徴とする半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体集積回路を構成する記憶回路、特に、記憶回路の遅延故障の検出を容易化することができる記憶回路に関する。
【背景技術】
【０００２】
従来、製造された半導体集積回路において、製造時の偶発的な原因により故障が発生し、通常の動作に対して、正常であれば１クロック周期で伝播すべき信号が１クロックで伝播しないものが含まれる場合がある。これを遅延故障と呼ぶ。この遅延故障を検出するためには、半導体集積回路を実動作速度で動作させる必要がある。
【０００３】
この遅延故障を検出するためのテスト実施方法を説明する。図５は半導体集積回路の一部を示す概念図である。同図において、記憶回路（以下、フリップフロップ）５０１、５０２及び５０３は、論理回路５０４と複雑に接続されている。このような半導体集積回路において、データ信号Ｄ又はデータ信号ＤＴが、クロック信号ＣＫと信号ＮＴとにより制御されて、論理回路５０４又はフリップフロップ５０１、５０２、５０３等に伝達される。この従来例では、論理回路５０４を挟まず、フリップフロップ５０１、５０２、５０３等にデータ信号ＤＴが伝達される、直接鎖状に繋がった経路を有し、テスト時にシリアルシフト機能を持つスキャンフリップフロップの構成となっている。図５において、信号ＮＴはスキャン動作の動作モード制御信号を示しており、この半導体集積回路は、その信号ＮＴの値がローレベルのときは、論理回路からの出力データ信号Ｄを受け取る通常動作モードを、また、動作モード制御信号の値がハイレベルのときは、前段のフリップフロップからの出力、すなわち、スキャンテストの設定値であるデータ信号ＤＴを、論理回路５０４を経由せずに直接受け取り、シフトさせるスキャン動作モードに設定される。
【０００４】
図６は、フリップフロップ５０３の動作を示すタイミングチャートである。
【０００５】
まず、信号ＮＴの値をハイレベルに設定することにより各フリップフロップ５０１〜５０３をスキャン動作モードに切り替えて、それぞれが保持する値を設定する（図６のＳｃａｎＳｈｉｆｔ期間１）。次に、信号ＮＴの値を０に設定することにより、フリップフロップ５０１〜５０３の動作モードを通常動作モードに切り替え、実動作速度の動作において、論理回路から出力データ信号Ｄを取り込む（図６のＳｃａｎＣａｐｔｕｒｅ期間２）。そして、実動作速度の動作時にフリップフロップ５０１〜５０３に取り込まれた値が正常値を示しているかどうかの確認をするため、再び、信号ＮＴを値ハイレベルに設定し、動作モードをスキャン動作モードに切り替えてシフト動作させる（図６のＳｃａｎＳｈｉｆｔ期間３）。
【０００６】
ここで、実速度で動作させるために通常動作モードに切り替える１クロック前に、前段のフリップフロップ５０２と前々段のフリップフロップ５０１に設定された値が同じであった場合、その前々段のフリップフロップ５０１に設定された値が通常動作モード時においてフリップフロップ５０３に到達した信号は１クロック前に到達した入力データと同じ極性になってしまうため、このときのデータは、シフトされたデータなのか、又は遅延により変化しなかったデータなのかが判別できず、遅延故障を検出することができない。一方、通常動作モードに切り替えて実速度で動作させる１クロック前に、前段のフリップフロップ５０２と前々段のフリップフロップ５０１に設定された値が異なっていた場合、同様に、通常動作モード時にフリップフロップ５０３に到達した信号は１クロック前の入力データと極性が異なるため、遅延故障を検出することができる。
【０００７】
したがって、遅延故障を確実に検出するためには、通常動作モードに切り替える１クロック前において、到達する信号の極性を反転させた後に、フリップフロップに取り込む必要がある。
【０００８】
従来では、フリップフロップの反転出力と非反転出力とスキャンモード時の設定信号とを選択して入力できる構成を有し、通常動作モードに切り替わる場合には、１クロック前の周期で反転させた信号を用いる為に、上記、反転出力、非反転出力及び設定信号の中から、反転信号を選択した状態にしておき、通常動作モードに切り替えるクロック信号の入力と共に、その反転信号を取り込み、続いて、その反転出力信号をスキャンテスト対象の論理回路へ出力できる構成を採用しているものもあり、例えば、これに関しては、特許文献１に記載されている。
【特許文献１】特開２００１−４７１０号公報 （第１０頁、 図１）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述の従来例のように１つ前の周期の反転信号を、通常動作モードに切り替わる時点でフリップフロップに取り込む構成では、入力段の信号選択回路の遅延時間が加算されるため、遅延時間がクリティカルな状態に設計されている論理回路を対象としたスキャンテストにおいては、確実に遅延故障を検出することができない場合が生じる。そのため、回路中のデータパスの遅延故障を確実に検出できるわけではない。
【００１０】
本発明は、上記問題を解決するものであり、その目的は、複雑な回路構成の半導体集積回路においても、確実に遅延故障の検出動作を行うことにある。
【課題を解決するための手段】
【００１１】
上記目的を達成する為に、本発明では、入力段の信号選択回路の遅延を削減することにより遅延故障の検出を確実に行うことができることに着目し、１周期前の反転信号を出力端子の直前に保持させることにより、通常動作モードのクロック信号入力と同時に出力端子から反転信号を出力し、確実に遅延故障を検出する。
【００１２】
すなわち、請求項１記載の記憶回路は、入力データ又はスキャンテスト用の設定値をクロック信号の印加時にシフトして出力端子から出力する記憶回路において、前記スキャンテスト用の設定値を受け、その設定値に基づく値を内部へ入力する入力手段と、前記入力手段により入力された前記設定値の反転値及び同値の信号を保持する入力信号保持手段と、前記出力端子に出力された出力信号を保持する出力信号保持手段と、前記入力信号保持手段に保持された前記設定値の反転値及び同値の信号から一方を選択して、前記設定値の反転値又は同値を前記出力信号として前記出力信号保持手段に出力する出力信号選択手段とを備えたことを特徴とする。
【００１３】
請求項２記載の発明は、請求項１記載の記憶回路において、前記スキャンテストのモードを選択する情報を有する動作モード選択信号、及び前記出力信号を選択する情報を有する出力選択信号を受け、前記動作モード選択信号、前記出力選択信号及び前記クロック信号に基づき、第１に、前記設定値を前記入力信号保持手段に入力させるか否かの動作を選択する制御を前記入力手段に対して行い、第２に、前記入力手段により入力された第１の信号を保持させる状態と、保持させずに前記第１の信号に基づく信号を出力させる状態とを切り替える制御を前記入力信号保持手段に対して行い、第３に、前記出力信号選択手段の信号選択動作を制御し、第４に、前記出力信号選択手段により選択された第２の信号を保持させる状態と、保持させずに前記第２の信号に基づく信号を出力させる状態とを切り替える制御を前記出力信号保持手段に対して行うための制御信号を生成する制御信号生成手段を備えたことを特徴とする。
【００１４】
請求項３記載の発明は、請求項２記載の記憶回路において、前記制御信号生成手段は、前記クロック信号がハイレベル又は前記出力選択信号がハイレベルのとき前記入力データ及び前記設定値の入力を遮断し、また、前記クロック信号がローレベル、前記出力選択信号がローレベル且つ動作モード選択信号がローレベルの場合において、前記クロック信号がハイレベルに変化したとき前記入力データを前記入力信号保持手段へ伝達させ、前記クロック信号がローレベル、前記出力選択信号がローレベル且つ前記動作モード選択信号がハイレベルの場合において、前記クロック信号がハイレベルに変化したとき前記設定値を前記入力信号保持手段へ伝達させるための第１の制御信号を前記入力手段に送信することを特徴とする。
【００１５】
請求項４記載の発明は、請求項２記載の記憶回路において、前記制御信号生成手段は、前記クロック信号がハイレベルのとき、前記入力手段から入力された信号を保持させるための前記第２の制御信号を前記入力信号保持手段に送信することを特徴とする。
【００１６】
請求項５記載の発明は、請求項２記載の記憶回路において、前記制御信号生成手段は、前記クロック信号がハイレベルの場合において、前記出力選択信号がハイレベル又はローレベルの状態に応じて、前記入力信号保持手段に保持されている信号の反転値又は同値の何れか一方を選択して、前記出力信号保持手段へ送信させるための前記第３の制御信号を前記出力信号選択手段に送信することを特徴とする。
【００１７】
請求項６記載の発明は、請求項２記載の記憶回路において、前記制御信号生成手段は、前記クロック信号がローレベルのとき、前記出力信号選択手段から出力された信号を保持させるための前記第４の制御信号を前記出力信号保持手段に送信することを特徴とする。
【００１８】
請求項７記載の発明の半導体集積回路は、請求項１又は２記載の記憶回路が、スキャンテストの対象となる論理回路の前後に少なくとも一つ含まれることを特徴とする。
【００１９】
以上により、請求項１〜７記載の発明では、出力端子に直結した出力信号保持手段に１周期前の反転信号を保持させるので、通常の動作モードが選択された際のスキャンテスト信号出力時に、クロック信号の入力に即応してその信号を出力することができる。また、記憶回路内の既存の回路を利用して、反転信号を出力する出力値選択手段を構成する。
【発明の効果】
【００２０】
以上説明したように、請求項１〜７記載の発明の記憶回路によれば、１周期前に入力された信号の極性を反転し、出力端子に直結した回路部分にその反転信号を保持する機構を持つことにより、スキャンテスト時においては、クロック信号入力と共に高速且つ確実に極性を反転した信号を出力することができるため、半導体集積回路の遅延故障をより確実に検出することができる。
【００２１】
また、既存の記憶回路を構成する内部回路を利用して反転信号を選択する選択機能を持たせるので、従来技術に比べ、フリップフロップ外部の信号選択回路が不要となり、回路規模が削減できる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【００２３】
（第１の実施の形態）
図１は、本発明の第１の実施の形態における記憶回路（フリップフロップ）１０１の構成を示すブロック図である。図１のフリップフロップ１０１はスキャンテスト機能を備えており、入力側に、入力されたデータ信号（入力データ）Ｄ及びスキャンテスト信号（設定値）ＤＴの何れか一方の信号（第１の信号）を選択、又は何れも遮断する信号選択回路（入力手段）１０４を備える。そして、この信号選択回路１０４によりデータ信号Ｄ又はスキャンテスト信号ＤＴの何れか一方の信号が選択された場合は、その信号は次段の入力信号保持回路（入力信号保持手段）１０２により保持される。入力信号保持回路１０２は、保持している信号に基づいて、データ信号Ｄ又はスキャンテスト信号ＤＴの同値信号Ｑ及び反転値信号ＮＱを信号選択回路１０５へ出力する。信号選択回路（出力信号選択手段）１０５では、これら同値信号Ｑ又は反転値信号ＮＱの何れかの信号（第２の信号）を選択、又は何れも遮断し、その何れかの信号を選択した場合は、その選択した信号を出力信号保持回路１０３へ出力する。出力信号保持回路（出力信号保持手段）１０３は、信号選択回路１０５から入力された信号を保持すると共に、その信号をフリップフロップ１０１の出力信号として出力端子に出力する。ここで、信号選択回路１０４、１０５、入力信号保持回路１０２及び出力信号保持回路１０３は、クロック信号ＣＫと動作モード選択信号ＮＴと出力選択信号ＮＨとに基づいて制御信号生成回路（制御信号生成手段）１０６〜１０９により生成された制御信号により制御される。
【００２４】
制御信号生成回路１０６は、信号選択回路１０４に入力されたデータ信号Ｄとスキャンテスト信号ＤＴとのうち、何れか一方の信号を選択させるか、又は両信号とも遮断し、１つの信号を選択した場合は、その信号を入力信号保持回路１０２に出力させる制御信号（第１の制御信号）を、信号選択回路１０４に送信する。
【００２５】
制御信号生成回路１０７は、信号選択回路１０４から入力されたデータ信号Ｄ又はスキャンテスト信号ＤＴの同値信号Ｑ及び反転値信号ＮＱを保持させるか、又はそれら同値信号Ｑ及び反転値信号ＮＱを信号選択回路１０５へ出力させる制御信号（第２の制御信号）を入力信号保持回路１０２に送信する。
【００２６】
制御信号生成回路１０８は、信号選択回路１０５に入力された上記同値信号Ｑ及び反転値信号ＮＱから何れか一方の信号を選択させるか、又は両信号ともに遮断し、１つの信号を選択した場合は、その信号を出力信号保持回路１０３へ出力させる制御信号（第３の制御信号）を、信号選択回路１０５へ送信する。
【００２７】
制御信号生成回路１０９は、信号選択回路１０５から入力された信号を保持すると共に、出力端子へ出力させるか、又は、保持させずに出力端子へ出力させる制御信号（第４の制御信号）を出力信号保持回路１０３へ送信する。
【００２８】
図２は、図１に示した本発明の第１の実施の形態における記憶回路の動作タイミングチャートである。これを用いて、以下に動作の説明を行う。
【００２９】
動作モード選択信号ＮＴが変化するまでの期間、すなわち、図２において、ハイレベルからローレベルへ遷移するまでの期間は、フリップフロップ１０１は、スキャン動作モードであり、フリップフロップ１０１と同様に構成される半導体集積回路内の各フリップフロップが、入力信号ＤＴを取り込み、１周期前に取り込んだデータを出力信号Ｑｏｕｔとして出力することによりシフトさせている（図２のＳｃａｎＳｈｉｆｔ期間１）。この期間で出力選択信号ＮＨがローレベルからハイレベルに遷移する場合、制御信号生成回路１０６は、入力されるデータ信号Ｄ及びスキャンテスト信号ＤＴを共に遮断させるための制御信号を信号選択回路１０４に送信する。そして、前記ＳｃａｎＳｈｉｆｔ期間１における最後周期の入力値を保持している入力信号保持回路１０２から出力される信号に対して、信号選択回路１０５が、上記入力信号値の反転値信号ＮＱを選択し、その反転値信号ＮＱが出力信号保持回路１０３に伝播される。出力信号保持回路１０３では、この反転値信号ＮＱが保持されると共に、その反転値信号ＮＱを出力信号Ｑｏｕｔとして出力する（図２の信号反転期間２）。次に、この状態に続いて、動作モード選択信号ＮＴ及び出力選択信号ＮＨがハイレベルからローレベルへ変化すると、フリップフロップ１０１は通常動作モードに移行し、信号選択回路１０４には、データ信号Ｄを選択させる制御信号が制御信号生成回路１０６から送信されて、データ信号Ｄが取り込まれる（図２のＳｃａｎＣａｐｔｕｒｅ期間３）。すなわち、上述の信号反転期間２において反転され、各フリップフロップから出力された反転値信号ＮＱが、この時点でテスト対象の論理回路を通過し、その論理回路の出力値をデータ信号Ｄとして、対向する各フリップフロップが受け取る。この後、動作モード選択信号ＮＴがローレベルから再びハイレベルの状態に戻り、スキャン動作モードに移行する（図２のＳｃａｎＳｈｉｆｔの期間４）。遅延故障の有無は、ここで得られるデータにより判別される。
【００３０】
上記動作により、データ取り込みの１周期前に入力された信号に対して、極性を反転させた信号ＮＱを確実に出力することができるので、半導体集積回路の遅延故障を確実に検出することができるようになる。
【００３１】
（第２の実施の形態）
次に、本発明の第２の実施の形態について、図３を用いて説明する。
【００３２】
図３は、第１の実施の形態において示したフリップフロップ１０１を、インバータ、トライステートインバータ及びＡＮＤゲートを用いて構成した実施の形態である。
【００３３】
図３（ａ）は、第１の実施の形態において図１に示したフリップフロップ１０１の信号選択回路１０４、入力信号保持回路１０２、信号選択回路１０５及び出力信号保持回路１０３により構成される部分に相当する。ここで、トライステートインバータ３０１及び３０２からなる構成は、図１の信号選択回路１０４に相当し、それぞれに入力される制御信号ＣＨＴＮ及びＣＨＴ（ともに第１の制御信号）により、データ信号Ｄ又はスキャンテスト信号ＤＴの何れか一方の信号の選択、又は、何れも遮断するための制御がなされる。
【００３４】
トライステートインバータ３０３及びインバータ３０７は、図１の入力信号保持回路１０２に相当する。このトライステートインバータ３０３はクロック信号ＣＫにより制御され、クロック信号ＣＫがローレベルのときは、トライステートインバータ３０３をオープン状態にし、インバータ３０７を介して入力信号の同値を、又は、インバータ３０７を介さずに入力信号の反転値を後段に伝播する。また、クロック信号ＣＫがハイレベルのときは、トライステートインバータ３０３がインバータとして働き、トライステートインバータ３０３及びインバータ３０７によるラッチ回路を構成して信号レベルを保持する。
【００３５】
また、トライステートインバータ３０４及びトライステートインバータ３０５は、図１の信号選択回路１０５に相当し、それぞれ制御信号ＣＨ及びＣＨＮにより、入力信号の同値またはインバータ３０７を介さない入力信号の反転値のうち、何れか一方の信号を選択する。
【００３６】
更に、トライステートインバータ３０６及びインバータ３０８は、図１の出力信号保持回路１０３に相当する。ここでは、クロック信号ＣＫの反転信号であるクロック反転信号ＣＫＮの制御を受け、クロック信号ＣＫがローレベルのとき、すなわち、クロック反転信号ＣＫＮがハイレベルのとき、インバータ３０６及び３０８により構成されるラッチ回路により前段からの伝播信号を保持すると共に、インバータ３０８でその信号を反転させて、出力信号Ｑｏｕｔとして出力する。また、クロック反転信号ＣＫＮがローレベルのときは、トライステートインバータ３０６はオープン状態となるので、前段からの伝播信号は保持されず、インバータ３０８により反転されて出力信号Ｑｏｕｔとして出力される。
【００３７】
図３（ｂ）は、図１の制御信号生成回路１０７及び制御信号生成回路１０９に相当する。この回路は、クロック信号ＣＫから、そのままのクロック信号ＣＫと、クロック反転信号ＣＫＮとを生成し、上述の図３（ａ）のトライステートインバータ３０３及び３０６に制御信号として入力される。すなわち、この構成により、クロック信号ＣＫがハイレベルのときは、トライステートインバータ３０３及びインバータ３０７からなる回路は入力信号を保持すると共に、トライステートインバータ３０６及びインバータ３０８からなる回路は出力信号を保持せず単にインバータ３０８の機能のみとなる。また、クロック信号ＣＫがローレベルのときは、逆に、トライステートインバータ３０３及びインバータ３０７からなる回路は単にインバータ３０７として機能すると共に、トライステートインバータ３０６及びインバータ３０８からなる回路は出力信号を保持する。
【００３８】
図３（ｃ）は、同図（ｂ）と同じ回路構成であり、出力選択信号ＮＨから、出力選択信号ＮＨ及びその反転信号ＮＨＮを生成する。
【００３９】
図３（ｄ）は、２つのＡＮＤゲート３１２及び３１３とから構成され、ＡＮＤ３１２では、図３（ｂ）で生成されたクロック信号ＣＫと図３（ｃ）から生成された出力選択信号ＮＨとの論理積が演算され、信号ＣＨが生成される。また、ＡＮＤ３１３では、クロック信号ＣＫと図３（ｃ）から生成された出力選択信号の反転信号ＮＨＮとの論理積が演算され、信号ＣＨＮが生成される。これらの信号ＣＨ、ＣＨＮは、上述のトライステートインバータ３０４及びトライステートインバータ３０５に制御信号として入力される。すなわち、図３（ｃ）及び（ｄ）とにより構成される回路は、図１の制御信号生成回路１０８に相当する。この構成においては、クロック信号ＣＫがローレベルの場合は、ＡＮＤ３１２及び３１３の出力信号ＣＨ及びＣＨＮは共にローレベルとなり、トライステートインバータ３０４及び３０５は遮断される。また、クロック信号ＣＫがハイレベルの場合には、ＡＮＤ３１２、３１３の出力信号ＣＨ、ＣＨＮの値は出力選択信号ＮＨの値に依存し、出力選択信号ＮＨがハイレベルのとき、ＡＮＤ３１２がハイレベル、ＡＮＤ３１３がローレベルとなり、トライステートインバータ３０４がインバータ回路として働き、且つトライステートインバータ３０５が遮断状態となる。また、出力選択信号ＮＨがローレベルのときは、逆に、トライステートインバータ３０５がインバータ回路として働き、且つトライステートインバータ３０４が遮断状態となる。したがって、クロック信号ＣＫがハイレベル且つ出力選択信号ＮＨがハイレベルのとき、データ信号Ｄ又はスキャンテスト信号ＤＴと同値の信号がインバータ３０８の入力側に送られ、また、クロック信号ＣＫがハイレベル且つ出力選択信号ＮＨがローレベルのとき、データ信号Ｄ又はスキャンテスト信号ＤＴの反転値の信号が、インバータ３０８の入力側に伝播される。
【００４０】
図３（ｅ）は、２つのＡＮＤゲート３１４、３１５と１つのインバータ３１１とから構成される。ＡＮＤ３１４には、動作モード選択信号ＮＴ、クロック反転信号ＣＫＮ及び出力選択信号ＮＨの反転信号ＮＨＮが入力されて、それらの論理積である信号ＣＨＴが出力される。また、ＡＮＤ３１５では、クロック反転信号ＣＫＮ、反転信号ＮＨＮ及びインバータ３１１を介した動作モード選択信号ＮＴが入力され、それらの論理積である信号ＣＨＴＮが出力される。ここで、反転信号ＣＫＮは図３（ｂ）により生成される信号が、反転信号ＮＨＮは図３（ｃ）により生成される信号が用いられている。これら生成された制御信号ＣＨＴ及びＣＨＴＮは、上述の図３（ａ）のトライステートインバータ３０２及びトライステートインバータ３０１にそれぞれ制御信号として入力される。すなわち、図３（ｃ）及び（ｅ）から構成されるこれらの回路は、図１の制御信号生成回路１０６に相当する。この構成においては、クロック信号ＣＫがハイレベル又は出力選択信号ＮＨがハイレベルのとき、ＡＮＤ３１４及び３１５の出力信号ＣＨＴ、ＣＨＴＮは共にローレベルとなるため、データ信号Ｄ及びスキャンテスト信号ＤＴの両入力は遮断される。また、クロック信号ＣＫがローレベル又は出力選択信号ＮＨがローレベルのとき、ＡＮＤ３１４及び３１５の出力は動作モード信号ＮＴに依存し、動作モード信号ＮＴがハイレベルのときは、ＡＮＤ３１４の出力信号ＣＨＴがハイレベルとなり、スキャンテスト信号ＤＴが取り込まれ、また、動作モード信号ＮＴがローレベルのときは、ＡＮＤ３１５の出力信号ＣＨＴＮがハイレベルとなり、データ信号Ｄが取り込まれて、次段の入力信号保持部分に伝播される。
【００４１】
次に、図４の動作タイミングチャートを用いて、第２の実施の形態の記憶回路について説明する。
【００４２】
動作モード選択信号ＮＴの値がハイレベル、出力選択信号ＮＨの値がローレベルの期間は、図３（ａ）のフリップフロップはスキャン動作モードであり、図３（ｂ）、（ｃ）及び（ｅ）により、クロック信号ＣＫがローレベルのときは、信号ＣＨＴがハイレベル且つ信号ＣＨＴＮがローレベル、また、クロック信号ＣＫがハイレベルのときは、信号ＣＨＴ及び信号ＣＨＴＮともにローレベルである。すなわち、クロック信号ＣＫがローレベルからハイレベルに変化したとき、スキャンテスト信号ＤＴのみが取り込まれ、クロック信号ＣＫがハイレベルのときは、両信号が遮断される。このようにクロック信号ＣＫのハイレベル状態に対して入力されたスキャンテスト信号ＤＴは、トライステートインバータ３０３とインバータ３０７とからなるループに保持され、更に、出力選択信号ＮＨの値がローレベルであることから、図３（ｄ）の回路により信号ＣＨＮがハイレベル、信号ＣＨがローレベルとなる。したがって、トライステートインバーターゲート３０４が遮断、且つトライステートインバーターゲート３０５が動作し、スキャンテスト信号ＤＴは出力信号Ｑｏｕｔとして出力される（図４のＳｃａｎＳｈｉｆｔ期間１）。
【００４３】
このとき、動作モード選択信号ＮＨの値がハイレベルに変化すると、図３（ｃ）及び（ｅ）の回路から、信号ＣＨＴ及びＣＨＴＮ共にローレベルとなり、入力信号ＮＴの値に関わらず、入力端子Ｄ、ＤＴからの入力信号がトライステートインバーターゲート３０１、３０２によって遮断される。また、図３（ｄ）の回路により、トライステートインバーターゲート３０５が遮断、且つトライステートインバーターゲート３０４が通過状態になる。これにより、トライステートインバーターゲート３０３とインバーターゲート３０７から成るループのインバータ３０７の入力側に保持されていた値の極性と同じデータ、すなわち、入力信号の値が反転された信号が出力端子Ｑｏｕｔより出力される（図４の信号反転期間２）。
【００４４】
更に、この状態に続いて、入力信号ＮＨの値がローレベルに変化し、且つ入力信号ＮＴの値がローレベルの状態に移行した場合、クロック信号ＣＫがハイレベルのときは、図３（ｃ）及び（ｅ）の回路により、信号ＣＨＴはローレベル、且つ信号ＣＨＴＮはハイレベルとなり、本実施の形態のフリップフロップは通常動作モードに移行する。したがって、データ信号Ｄは、クロック信号ＣＫの値がハイレベルの時にトライステートインバーターゲート３０３とインバーターゲート３０７とから成るループに取り込まれ、出力端子Ｑｏｕｔより出力される（図４のＳｃａｎＣａｐｔｕｒｅ期間３）。
【００４５】
上記構成のフリップフロップを用いることにより、１周期前に入力された信号に対して、極性が反転した信号を確実に出力することができるようになるため、半導体集積回路の遅延故障を確実に検出することができるようになる。
【００４６】
（第３の実施の形態）
ここで、本発明のフリップフロップの半導体集積回路への適用について述べる。
【００４７】
半導体集積回路の設計において、まず通常のフリップフロップを用いて設計を行う。次に、半導体集積回路の故障を検出するためのスキャンテストを実施するために、通常のフリップフロップをスキャンフリップフロップに置換していた工程があるが、そこで従来のスキャンフリップフロップの変わりに本発明のフリップフロップに置換する。この方法を用いることにより、設計工数を増加させること無く、半導体集積回路の遅延故障を検出することができるようになる。
【００４８】
また、半導体集積回路の設計において、タイミング検証時にタイミングが厳しかった経路に対して、遅延故障をテストしたい場合、その一部の経路にのみ本発明のフリップフロップを適用し、その他の経路には従来のスキャンフリップフロップを用いる方法も考えられる。この方法を用いることにより、全てのフリップフロップを本発明のフリップフロップに置換した場合に比べて回路の増加量を少なくし、従来よりも遅延故障の故障検出率を上げることができる。
【産業上の利用可能性】
【００４９】
本発明にかかる記憶回路及び半導体集積回路によれば、１周期前に入力された信号に対して高速且つ確実に極性を反転した信号を出力することができるため、半導体集積回路の遅延故障をより確実に検出することができる効果を有し、記憶回路の遅延故障の検出を容易化することができる記憶回路等の用途に有用である。
【図面の簡単な説明】
【００５０】
【図１】本発明の第１の実施の形態にかかる記憶回路（フリップフロップ）の概略構成図である。
【図２】同フリップフロップのテスト時の動作を示すタイミングチャート図である。
【図３】本発明の第２の実施の形態にかかる記憶回路（フリップフロップ）の構成図である。
【図４】同フリップフロップのテスト時の動作を示すタイミングチャート図である。
【図５】従来における記憶回路（フリップフロップ）を用いたテスト回路の構成概略図である。
【図６】同フリップフロップのテスト時の動作を示すタイミングチャート図である。
【符号の説明】
【００５１】
１０１            記憶回路（フリップフロップ）
１０２            入力信号保持回路（入力信号保持手段）
１０３            出力信号保持回路（出力信号保持手段）
１０４、１０５    信号選択回路（信号選択手段）
１０６〜１０９    制御信号生成回路（制御信号生成手段）
３０１〜３０６    トライステートインバーターゲート
３０７〜３１１    インバーターゲート
３１２〜３１５    ＡＮＤゲート
５０１〜５０３    フリップフロップ
Ｄ                データ信号
ＤＴ              スキャンテスト信号
ＣＫ              クロック信号
ＮＴ              動作モード選択信号
ＮＨ              出力選択信号
Ｑｏｕｔ          出力信号
【図１】
2005233715.tif 000003
【図２】
2005233715.tif 000004
【図３】
2005233715.tif 000005
【図４】
2005233715.tif 000006
【図５】
2005233715.tif 000007
【図６】
2005233715.tif 000008