(57)【要約】【課題】２つのデータを記憶できるスキャンフリップフロップ回路、およびレジスタファイルを提供することにある。【解決手段】ラッチモードを示す信号ＳＳにより第１のデータを選択し、スキャンモードを示す信号ＳＳによりスキャンデータＳＩを選択する第１のセレクタ１１と、同期信号ＧＡに同期し第１のセレクタ部１１が選択した第１のデータまたはスキャンデータＳＩをラッチする第１のラッチ部１２と、ラッチモードを示す信号ＳＳにより第２のデータを選択し、スキャンモードを示す信号ＳＳにより第１のラッチ部１２によるスキャンデータを選択する第２の選択部１３と、ラッチモード時に同期信号ＧＡに同期し第２のセレクタ部１３が選択した第２のデータをラッチし、スキャンモード時に信号ＧＡと逆位相の信号ＧＢに同期し第２のセレクタ部１３によるスキャンデータをラッチする第２のラッチ部１４を設ける。【選択図】  図１
2005003556.tif 000002
【特許請求の範囲】
【請求項１】
通常モードとスキャンモードを有し、第１および第２のデータを記憶するスキャンフリップフロップ回路であって、
前記通常モードを示す選択信号を受信して前記第１のデータを選択し、前記スキャンモードを示す選択信号を受信してスキャンデータを選択する第１の選択手段と、
同期信号に同期して前記第１の選択手段が選択した前記第１のデータまたは前記スキャンデータをラッチする第１のラッチ手段と、
前記通常モードを示す前記選択信号を受信して前記第２のデータを選択し、前記スキャンモードを示す前記選択信号を受信して前記第１のラッチ手段がラッチした前記スキャンデータを選択する第２の選択手段と、
前記通常モードの場合には、前記同期信号に同期して前記第２の選択手段が選択した第２のデータをラッチし、前記スキャンモードの場合には前記同期信号と逆位相の信号に同期して前記スキャンデータをラッチする第２のラッチ手段と
を有するスキャンフリップフロップ回路。
【請求項２】
前記通常モードを示す選択信号を受信した場合に、前記第１のラッチ手段に前記同期信号を入力し、前記第２のラッチ手段に前記同期信号と同位相の信号を入力し、前記スキャンモードを示す選択信号を受信した場合に、前記第１のラッチ手段に前記同期信号を入力し、前記第２のラッチ手段に前記同期信号と逆位相の信号を入力する入力手段を有する
請求項１に記載のスキャンフリップフロップ回路。
【請求項３】
前記入力手段は、前記同期信号を前記第１のラッチ手段に入力する第１の入力手段と、
前記同期信号、または当該同期信号と逆位相の信号を前記第２のラッチ手段に入力し、前記第１の入力手段と同じ遅延特性の回路で構成されている第２の入力手段とを有する
請求項２に記載のスキャンフリップフロップ回路。
【請求項４】
通常モードとスキャンモードを有し、第１および第２のデータを記憶するスキャンフリップフロップ回路を含むレジスタファイルであって、
前記スキャンフリップフロップ回路は、
前記通常モードを示す前記選択信号を受信して前記第１のデータを選択し、前記スキャンモードを示す選択信号を受信してスキャンデータを選択する第１の選択手段と、
同期信号に同期して前記第１の選択手段が選択した前記第１のデータまたは前記スキャンデータをラッチする第１のラッチ手段と、
前記通常モードを示す前記選択信号を受信して前記第２のデータを選択し、前記スキャンモードを示す前記選択信号を受信して前記第１のラッチ手段がラッチした前記スキャンデータを選択する第２の選択手段と、
前記通常モードの場合には、前記同期信号を基に前記第２の選択手段が選択した第２のデータをラッチし、前記スキャンモードの場合には前記同期信号と逆位相の信号に同期して前記スキャンデータをラッチする第２のラッチ手段と
を有するレジスタファイル。
【請求項５】
前記通常モードを示す前記選択信号を受信した場合に、前記第１のラッチ手段に前記同期信号を入力し、前記第２のラッチ手段に前記同期信号と同位相の信号を入力し、前記スキャンモードを示す選択信号を受信した場合に、前記第１のラッチ手段に前記同期信号を入力し、前記第２のラッチ手段に前記同期信号と逆位相の信号を入力する入力手段を有する
請求項４に記載のレジスタファイル。
【請求項６】
前記入力手段は、前記同期信号を前記第１のラッチ手段に入力する第１の入力手段と、
前記同期信号、または当該同期信号と逆位相の信号を前記第２のラッチ手段に入力し、前記第１の入力手段と同じ遅延特性の回路で構成されている第２の入力手段とを有する
請求項５に記載のレジスタファイル。
【請求項７】
ラッチ型メモリセルと、前記ラッチ型メモリセルにアドレスデコード信号を入力するアドレスデコーダとをさらに有し、
前記ラッチ型メモリセル内に、前記アドレスデコーダから出力されるアドレスデコード信号を基に当該アドレスデコーダを検査する前記スキャンフリップフロップ回路が形成されている
請求項５に記載のレジスタファイル。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば、２つの異なる値を示す第１および第２のデータを記憶できる通常モード、およびスキャンモードを有するスキャンフリップフロップ回路、およびレジスタファイルに関するものである。
【０００２】
【従来の技術】
従来、例えば通常モードおよびスキャンモードを有するスキャンフリップフロップ回路が知られている。
上述した従来のスキャンフリップフロップ回路は２つのラッチ回路を有し、通常のモードでは２つのラッチ回路で１つの値を保持する。一方、スキャンモードでは、所定のスキャンデータを２つのラッチ回路に入力することによりスキャンテストが可能である。
【０００３】
【発明が解決しようとする課題】
しかし、上述した従来のスキャンフリップフリップ回路は、１つのセル内の２つのラッチ回路で１つの値しか保持できない。このため、上述したスキャンフリップフロップ回路を用いてメモリアレイを構成した場合には、面積効率が悪い。このため、ラッチ回路それぞれについてデータを記憶できるスキャンフリップフロップ回路が望まれている。
【０００４】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、２つのデータを記憶できるスキャンフリップフロップ回路、およびレジスタファイルを提供することにある。
【０００５】
【課題を解決するための手段】
前記目的を達成するために、本発明の第１の観点は、通常モードとスキャンモードを有し、第１および第２のデータを記憶するスキャンフリップフロップ回路であって、前記通常モードを示す選択信号を受信して前記第１のデータを選択し、前記スキャンモードを示す選択信号を受信してスキャンデータを選択する第１の選択手段と、同期信号に同期して前記第１の選択手段が選択した前記第１のデータまたは前記スキャンデータをラッチする第１のラッチ手段と、前記通常モードを示す前記選択信号を受信して前記第２のデータを選択し、前記スキャンモードを示す前記選択信号を受信して前記第１のラッチ手段がラッチした前記スキャンデータを選択する第２の選択手段と、前記通常モードの場合には、前記同期信号に同期して前記第２の選択手段が選択した第２のデータをラッチし、前記スキャンモードの場合には前記同期信号と逆位相の信号に同期して前記スキャンデータをラッチする第２のラッチ手段とを有する。
【０００６】
第１の選択手段では、通常モードを示す選択信号を受信して第１のデータを選択し、スキャンモードを示す選択信号を受信してスキャンデータを選択する。
第１のラッチ手段では、同期信号に同期して第１の選択手段が選択した第１のデータまたはスキャンデータをラッチする。
第２の選択手段では、通常モードを示す選択信号を受信して第２のデータを選択し、スキャンモードを示す選択信号を受信して第１のラッチ手段がラッチしたスキャンデータを選択する。
第２のラッチ手段では、通常モードの場合には、同期信号に同期して第２の選択手段が選択した第２のデータをラッチし、スキャンモードの場合には同期信号と逆位相の信号に同期してスキャンデータをラッチする。
【０００７】
さらに、前記目的のスキャンフリップフロップ回路は、通常モードとスキャンモードを有し、第１および第２のデータを記憶するスキャンフリップフロップ回路を含むレジスタファイルであって、前記スキャンフリップフロップ回路は、前記通常モードを示す前記選択信号を受信して前記第１のデータを選択し、前記スキャンモードを示す選択信号を受信してスキャンデータを選択する第１の選択手段と、同期信号に同期して前記第１の選択手段が選択した前記第１のデータまたは前記スキャンデータをラッチする第１のラッチ手段と、前記通常モードを示す前記選択信号を受信して前記第２のデータを選択し、前記スキャンモードを示す前記選択信号を受信して前記第１のラッチ手段がラッチした前記スキャンデータを選択する第２の選択手段と、前記通常モードの場合には、前記同期信号を基に前記第２の選択手段が選択した第２のデータをラッチし、前記スキャンモードの場合には前記同期信号と逆位相の信号に同期して前記スキャンデータをラッチする第２のラッチ手段とを有する。
【０００８】
【発明の実施の形態】
図１は、本発明に係るスキャンフリップ回路の第１実施形態を示す回路図である。
本実施形態に係るスキャンフリップフロップ回路１は、図１に示すように、第１のセレクタ部１１、第１のラッチ部１２、第２のセレクタ部１３、および第２のラッチ部１４を有する。
【０００９】
第１のセレクタ部１１は本発明に係る第１の選択手段に相当し、第１のラッチ部１２は本発明に係る第１のラッチ手段に相当し、第２のセレクタ部１３は本発明に係る第２の選択手段に相当し、第２のラッチ部１４は本発明に係る第２のラッチ手段に相当する。
【００１０】
また、スキャンフリップフロップ回路１は、ラッチモードおよびスキャンモードを有する。ラッチモードは本発明に係る通常モードに相当する。
ラッチモードは、第１のラッチ部１２および第２のラッチ部１４それぞれを、独立に２つのデータを記憶する記憶素子として機能させるモードである。
スキャンモードは、所定のスキャンデータを第１のラッチ部１２および第２のラッチ部１４に入力することにより、第１のラッチ部１２および第２のラッチ部１４のスキャンテストを行うモードである。
【００１１】
第１のセレクタ部１１は、選択信号ＳＳを基に、第１のデータとしての入力信号Ａ０または入力信号ＳＩ（スキャンデータ）を選択し、選択した信号を信号Ｓ１１として第１のラッチ部１２に出力する。
詳細には、例えばラッチモードの場合には、第１のセレクタ部１１は、ラッチモードを示す所定のレベルよりも低い、ロウレベルの選択信号ＳＳが入力されると、入力信号Ａ０を選択して第１のラッチ部１２に出力する。
一方、例えばスキャンモードの場合には、第１のセレクタ部１１は、スキャンモードを示す所定のレベルよりも高い、ハイレベルの選択信号ＳＳが入力されると、入力信号ＳＩ（スキャンデータ）を選択して第１のラッチ部１２に出力する。
【００１２】
第１のラッチ部１２は、第１のセレクタ部１１から入力される信号Ｓ１１を同期信号ＧＡに同期してラッチする。また、第１のラッチ部１２は、そのラッチしたデータを信号ＧＡに同期して信号Ｘ０として第２のセレクタ部１３に出力する。
【００１３】
第２のセレクタ部１３は、選択信号ＳＳを基に、第１のラッチ部１２から入力される信号Ｘ０、または第２のデータとしての信号Ａ１を選択し、選択した信号を第２のラッチ部１４に出力する。
詳細には、例えばラッチモードの場合には、例えばラッチモードを示す所定のレベルよりも低い、ロウレベルの選択信号ＳＳが入力されると、信号Ａ１を選択し、信号Ｓ１３として第２のラッチ部１４に出力する。
一方、例えばスキャンモードの場合には、例えばスキャンモードを示す所定のレベルよりも高い、ハイレベルの選択信号ＳＳが入力されると、信号Ｘ０を信号Ｓ１３として第２のラッチ部１４に出力する。
【００１４】
第２のラッチ部１４は、第２のセレクタ部１３から入力される信号Ｓ１３を、同期信号ＧＢに同期してラッチする。また、第２のラッチ部１４は、そのラッチしているデータを、信号ＧＢに同期して信号Ｘ１（信号ＳＯともいう）を出力する。
【００１５】
図２（ａ），（ｂ）は、図１に示したスキャンフリップフロップ回路の入力部の第１および第２具体例の機能ブロック図である。
フリップフロップ回路１は、例えば図２に示すように、入力信号ＧＡ，ＧＢを入力する入力部１０を有する。
【００１６】
第１具体例に係る入力部１０は、例えば図２（ａ）に示すように、第１の入力手段としてインバータ１０１、および第２の入力手段として否定排他的論理和回路（Ｅｘｃｌｕｓｉｖｅ  ＮＯＲ）１０２を有する。
インバータ１０１は、リードイネーブルクロック（Ｒｅａｄ  Ｅｎａｂｌｅ  Ｃｌｏｃｋ  ：ＲＥＣ  ）信号ＲＥＣ  に対し論理反転処理を行い、処理結果を信号ＧＡ（ＷＯＲＤＡ  ともいう）として第１のラッチ部１２に入力する。
否定排他的論理和回路１０２は、信号ＲＥＣ  および選択信号ＳＳを基に否定排他的論理和演算を行い、演算結果を信号ＧＢ（ＷＯＲＤＢ  ともいう）として、第２のラッチ部１４に入力する。
【００１７】
上述した構成の入力部１０の動作を説明する。
ラッチモードの場合、例えばラッチモードを示すロウレベルの選択信号ＳＳが否定排他的論理和回路１０２に入力され、リードイネーブル信号ＲＥＣ  がインバータ１０１および否定排他的論理和回路１０２に入力される。
インバータ１０１では、リードイネーブル信号ＲＥＣ  を論理反転処理し、処理結果を信号ＧＡとして第１のラッチ部１２に入力する。
否定排他的論理和回路１０２では、リードイネーブル信号ＲＥＣ  とロウレベルの選択信号ＳＳとの否定排他的論理和演算を行い、信号ＧＡと同相の信号ＧＢを第２のラッチ部１４に入力する。
【００１８】
スキャンモードの場合、例えばスキャンモードを示すハイレベルの選択信号ＳＳが否定排他的論理和回路１０２に入力され、リードイネーブル信号ＲＥＣ  がインバータ１０１および否定排他的論理和回路１０２に入力される。
インバータ１０１では、リードイネーブル信号ＲＥＣ  を論理反転処理し、処理結果を信号ＧＡとして第１のラッチ部１２に入力する。
否定排他的論理和回路１０２では、リードイネーブル信号ＲＥＣ  とハイレベルの選択信号ＳＳとの否定排他的論理和演算を行い、信号ＧＡと逆位相の信号ＧＢを、第２のラッチ部１４に入力する。
【００１９】
以上説明したように、インバータ１０１および否定排他的論理和回路１０２を有する入力部１０を設けたので、リードイネーブルクロック信号ＲＥＣ  およびスキャンモードまたはスキャンモードを示す選択信号ＳＳを基に、第１のラッチ部１２および第２のラッチ部１４に入力する信号ＧＡおよび信号ＧＢを生成することができる。
【００２０】
第１の具体例に係る入力部１０において、第１のラッチ部１０２に信号ＧＡを入力するインバータ１０１と、第２のラッチ部１０４に信号ＧＢを入力する否定排他的論理和回路１０２とは、異なる素子数で形成されているため遅延特性が異なる。詳細には第１のラッチ部１０２および第２のラッチ部１０４に入力する信号ＧＡ，ＧＢ間で信号遅延が起こる場合があり、信号ＧＡ，ＧＢを生成する際に同じ素子数で入力部１０を形成することが好ましい。
【００２１】
第２具体例に係る入力部１０ａは、例えば図２（ｂ）に示すように、否定排他的論理和回路１０３および否定排他的論理和回路１０２を有する。
否定排他的論理和回路１０３は本発明に係る第１の入力手段に相当し、否定排他的論理和回路１０２は本発明に係る第２の入力手段に相当する。
入力部１０ａと、第１具体例に係る入力部１０との相違点は、インバータ１０１が否定排他的論理和回路１０３に変更された点である。
【００２２】
否定排他的論理和回路１０３は、リードイネーブルクロック信号ＲＥＣ  と、所定のレベルよりも低い基準電位（０）との否定排他的論理和演算を行い、信号ＧＡとして出力する。
否定排他的論理和回路１０３は、例えば否定排他的論理和回路１０２と同じ遅延特性、例えば同じ素子数、詳細には同じ数のトランジスタ素子で形成されている。
その他の点は第１具体例に係る入力部１０と同じなので説明を省略する。
【００２３】
以上説明したように、同じ素子数の否定排他的論理和回路１０３および否定排他的論理和回路１０２とで入力部１０ａを形成すると、信号ＧＡと信号ＧＢの信号遅延がなくなり、高精度に同期した信号ＧＡおよび信号ＧＢを生成することができる。
【００２４】
図３は、図１に示したスキャンフリップフロップ回路の動作を説明するための図である。図３（ａ）〜（ｇ）を参照しながら、スキャンフリップフロップ回路１の動作、特にラッチモード時の動作を説明する。
【００２５】
ラッチモード時には、例えば図３（ａ）に示すようにロウレベルの選択信号ＳＳが第１のセレクタ部１１および第２のセレクタ部１３に入力される。図３（ｂ），（ｃ）に示すように入力信号ＧＡおよび入力信号ＧＢとして、クロック信号Ｃｌｏｃｋ  の逆位相であるインバースクロック信号ＩＣｌｏｃｋが、第１のラッチ部１２および第２のラッチ部１４に入力される。
【００２６】
時間Ｔ１において、第１のセレクタ部１１では、例えばロウレベルの選択信号ＳＳが入力されると、データＤ１１を示す入力信号Ａ０を第１のラッチ部１２に入力する。
また、第２のセレクタ部１３では、ロウレベルの選択信号ＳＳが入力されると、データＤ２１を示す入力信号Ａ１を第２のラッチ部１４に出力する。
【００２７】
時間Ｔ２において、クロック信号ＩＣｌｏｃｋの立下りエッジのタイミングで、第１のラッチ部１２ではデータＤ１１を保持し、信号Ｘ０を出力する。
また、第２のラッチ部１４ではデータＤ２１を保持し、データＤ２１を示す出力信号Ｘ１を出力する。
【００２８】
時間Ｔ３において、例えばデータＤ１２を示す入力信号Ａ０が入力され、データＤ２２を示す入力信号Ａ１が入力される。第１のラッチ部１２ではデータＤ１１を保持し、第２のラッチ部１４ではデータＤ２１を保持する。
【００２９】
時間Ｔ４において、クロック信号ＩＣｌｏｃｋの立下りエッジのタイミングで、第１のラッチ部１２ではデータＤ１２を保持し、データＤ１２を示す出力信号Ｘ０を出力する。
また、第２のラッチ部１４では、データＤ２２を保持し、データＤ２２を示す出力信号Ｘ１を出力する。
時間Ｔ４以降の動作は、時間Ｔ１〜Ｔ３の動作と同様な動作なので説明を省略する。
【００３０】
図４は、図１に示したスキャンフリップフロップ回路の動作を説明するための図である。図４（ａ）〜（ｆ）を参照しながら、スキャンフリップフロップ回路１の動作、特にスキャンモード時の動作を説明する。
スキャンモード時には、例えば図４（ａ）に示すようにハイレベルの選択信号ＳＳが第１のセレクタ部１１および第２のセレクタ部１３に入力される。入力信号ＧＡとして図４（ｂ）に示すようにクロック信号Ｃｌｏｃｋ  の逆位相であるインバースクロック信号ＩＣｌｏｃｋが第１のラッチ部１２に入力され、入力信号ＧＢとして図４（ｂ）に示すように入力信号ＧＡの逆位相である信号Ｃｌｏｃｋ  が第２のラッチ部１４に入力される。
【００３１】
時間Ｔ１において、第１のセレクタ部１１では、ハイレベルの選択信号ＳＳが入力されると、スキャンデータＳＤ１を示す入力信号Ａ０を第１のラッチ部１２に入力する。
第１のラッチ部１２では、入力信号ＧＡとして信号ＩＣｌｏｃｋの立下りエッジのタイミングで、データＳＤ１を保持し、データＳＤ１を示す出力信号Ｘ０を出力する。
【００３２】
第２のセレクタ部１３では、ハイレベルの信号ＳＳが入力されているので、信号Ｘ０を基にデータＳＤ１を示す信号Ｓ１３を第２のラッチ部１４に入力する。時間Ｔ２において、第２のラッチ部１４では、信号ＧＢの立下りエッジのタイミングでデータＳＤ１を保持し、データＳＤ１を示す信号ＳＯを出力する。
【００３３】
時間Ｔ３において、第１のラッチ部１２では、入力信号ＧＡとしての信号ＩＣｌｏｃｋの立下りエッジのタイミングで、データＳＤ２を保持し、データＳＤ２を示す出力信号Ｓ１２を出力する。
第２のセレクタ部１３では、ハイレベルの選択信号ＳＳが入力されているので、信号Ｓ１２を基にデータＳＤ２を示す信号Ｓ１３を出力する。
【００３４】
時間Ｔ４において、第２のラッチ部１４では、入力信号ＧＢとしてのクロック信号Ｃｌｏｃｋ  の立下りエッジのタイミングでデータＳＤ２を保持し、データＳＤ２を示す信号ＳＯ（信号Ｘ１）を出力する。
以下時間Ｔ５以降の動作は、時間Ｔ１〜Ｔ４の動作と同様な動作なので説明を省略する。
【００３５】
以上説明したように、通常モードを示す選択信号ＳＳを受信して第１のデータを選択し、スキャンモードを示す選択信号ＳＳを受信してスキャンデータＳＩを選択する第１のセレクタ１１と、同期信号ＧＡに同期して第１のセレクタ部１１が選択した第１のデータまたはスキャンデータＳＩをラッチする第１のラッチ部１２と、通常モードを示す選択信号ＳＳを受信して第２のデータを選択し、スキャンモードを示す選択信号ＳＳを受信して第１のラッチ部１２がラッチしたスキャンデータを選択する第２の選択部１３と、通常モードの場合には、同期信号ＧＡに同期して第２のセレクタ部１３が選択した第２のデータをラッチし、スキャンモードの場合には同期信号ＧＡと逆位相の信号ＧＢに同期して第２のセレクタ部１３がラッチしたスキャンデータをラッチする第２のラッチ部１４とを設けたので、２つのデータＤ１，Ｄ２を保持することができる。
【００３６】
つまり、ラッチモード時には、ラッチモードを示す選択信号ＳＳが第１のセレクタ部１１および第２のセレクタに入力し、信号ＩＣｌｏｃｋが信号ＧＡとして第１のラッチ部１２に入力し、信号ＧＡと同位相の信号ＧＢが第２のラッチ部１４に入力し、第１のセレクタ部１１では第１のデータＤ１を示す入力信号Ａ０を選択し、第１のラッチ部１２では、信号ＧＡに応じて第１のデータＤ１をラッチし、第２のセレクタ部１３では第２のデータＤ２を示す入力信号Ａ１を選択し、第２のラッチ部１４では信号ＧＢに応じて第２のデータＤ２をラッチするので、２つのデータＤ１，Ｄ２を保持することができる。
【００３７】
スキャンモード時には、スキャンモードを示す選択信号ＳＳが第１のセレクタ１１および第２のセレクタ部１３に入力され、入力信号ＧＡとしてクロック信号ＩＣｌｏｃｋが第１のセレクタ部１１に入力され、入力信号ＧＡの逆位相の信号ＧＢが第２のセレクタ部１３に入力され、第１のセレクタ部１１ではスキャンデータＳＤを示す入力信号ＳＩを選択し、第１のラッチ部１２では信号ＧＡに応じてスキャンデータＳＤをラッチし、第２のセレクタ部１３では第１のラッチ部１３から入力されたスキャンデータＳＤを選択し、第２のラッチ部１４では信号ＧＢに応じてスキャンデータＳＤをラッチして信号ＳＯを出力するので、第１のラッチ部１２および第２のラッチ部１４に所定のスキャンデータＳＤを入力して、その出力信号ＳＯを検出することにより、第１のラッチ部１２および第２のラッチ部１４を検査することができる。
【００３８】
また、選択信号ＳＳにより２つのモードを切り換えることで、従来のスキャンフリップフロップ回路と比べて、本実施形態に係るスキャンフリップフロップ回路１は、略同じ回路面積で２つの異なるデータを保持し、かつスキャンテストを行うことができる。
【００３９】
図５は、本発明に係るスキャンフリップフロップ回路を用いたレジスタファイルの第２実施形態を示す機能ブロック図である。
本実施形態に係るレジスタファイル１００は、図５に示すように、アドレスデコーダ１００１、インプット／アウトプット（Ｉ／Ｏ）回路１００２、コントロール回路１００３、メモリアレイ１００４を有する。
【００４０】
アドレスデコーダ１００１は、コントロール回路１００３の制御の下、例えば不図示のＣＰＵ（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ  ）からのアドレス信号ａｄを受信し、アドレス信号ａｄを基にデコードし、ワード線を介してメモリアレイ１００４内の所定のスキャンフリップフロップ回路１を指定する。
インプット／アウトプット回路１００２は、コントロール回路１００３の制御の下、例えばアドレスデコーダにより指定されたラッチ回路において、ビット線を介して所定のデータを読出しおよび書込み処理を行う。
【００４１】
コントロール回路１００３は、例えば不図示のＣＰＵから入力される制御信号に応じて、アドレスデコーダ１００１、インプット／アウトプット回路１００２、およびメモリアレイ１００４を制御する。
【００４２】
メモリアレイ１００４は、例えば図５に示すように、複数のスキャンフリップフロップ回路１で構成される。
例えば、ラッチセルメモリアレイ１００４１は、ｎ×ｍの複数のマトリクス形状に複数のスキャンフリップフロップ回路１−１１〜ｎｍにより構成される。
【００４３】
図６は、図５に示したレジスタファイルの一部を拡大した図である。
メモリアレイ１００４は、例えば図５，６に示すように、スキャンフリップフロップ回路１−１１〜ｎｍを有する。簡単な説明のために図６に示すように、２つのスキャンフリップフロップ回路１−１１，１２を説明する。
【００４４】
スキャンフリップフロップ回路１−１１，１２は、上述したように、第１実施形態に係るスキャンフリップフロップ回路１と同様であり、同じ構成に関しては同じ符号を付して説明を省略する。簡単な説明のためそれぞれを区別しない場合には、単にスキャンフリップフロップ回路１ともいう。
【００４５】
図１，６に示すように、スキャンフリップフロップ回路１には、選択信号ＳＳ、スキャン信号ＳＩ、信号Ａ０，Ａ１、信号ＧＡ，ＧＢが入力し、スキャン信号ＳＯ、信号Ｘ０，Ｘ１を出力する。
例えば図５，６に示すように、アドレスデコーダ１００１からワード線ＷＯＲＤＡ  を介して信号ＧＡが入力され、ワード線ＷＯＲＤＢを介して信号ＧＢが入力される。
【００４６】
インプット／アウトプット回路１００２の制御により、スキャンフリップフロップ回路１には、例えば図５，６に示すように、データＩＮ０，ＩＮ１それぞれが信号Ａ０，Ａ１として入力する。一方、スキャンフリップフロップ回路１は、データＯＵＴ０，ＯＵＴ１が信号Ｘ０，Ｘ１としてインプット／アウトプット回路１００２に出力する。
コントロール回路１００３は、例えば図５，６に示すように選択信号ＳＳが所望のメモリセル１００４のスキャンフリップフロップ回路１−１１，１２に選択信号ＳＳを入力する。
【００４７】
以上の構成のレジスタファイル１００の動作を説明する。
ラッチモード時には、図５に示すように、例えばコントロール回路１００３は、ＣＰＵからのコントロール信号を基に、ラッチモードを示す選択信号ＳＳをスキャンフリップフロップ回路１００４−１１〜ｎｍに入力する。スキャン回路１−１１〜ｎｍでは、ラッチモードを示す選択信号ＳＳを受信する。
【００４８】
コントロール回路１００３は、アドレスデコーダ１００１に制御信号Ｓ１００３を入力し、アドレスデコーダは制御信号Ｓ１００３に応じてアドレス信号ＡＤをデコードし同位相の同期信号として例えば、ワード線ＷＯＲＤＡ  ，ＷＯＲＤＢ  等を介してメモリアレイ１００４の内の所定のスキャンフリップフロップ回路１−１１〜ｎｍに入力する。
また、コントロール回路１００３は、インプット／アウトプット（Ｉ／Ｏ）回路１００２を介して所定のデータが入力され、所定のスキャンフリップフロップ回路１−１１〜ｎｍに入力される。スキャンフリップフロップ回路１−１１〜ｎｍではそのデータを同期信号に同期してラッチする。
【００４９】
ラッチしたデータを出力する場合には、所定のスキャンフリップフロップ回路１−１１〜ｎｍを示すアドレス信号ａｄが受信アドレスデコーダ１００１に入力され、アドレスデコーダ１００１はそのアドレス信号ａｄをデコードし、ワード線ＷＯＲＤを介してメモリアレイ１００４に入力する。
メモリアレイ１００４中の所定のスキャンフリップフロップ回路１−１１〜ｎｍは、同期信号に同期してインプット／アウトプット回路１００２を介して、ラッチしていたデータを出力する。
【００５０】
スキャンモード時には、例えばコントロール回路１００３は、ＣＰＵからのコントロール信号を基にスキャンモードを示す選択信号ＳＳをメモリアレイに入力する。スキャンフリップフロップ回路１−１１〜ｎｍは選択信号ＳＳを受信し、スキャンモードにセットされる。
例えばメモリアレイ１００４中のスキャンフリップ回路１−１１〜ｎｍそれぞれのスキャンデータ入力ノードと出力ノードは所定のスキャンチェーンを形成するように接続されている。
例えば所定のスキャンフリップフロップ回路１からスキャンデータが入力されると、同期信号に同期して所定のスキャンチェーンを介してスキャンデータが出力される。
【００５１】
詳細には例えば、図６に示すスキャンフリップフロップ回路１−１１のスキャンデータを示す信号ＳＯを出力する出力ノードと、スキャンフリップフロップ回路１−１２の入力ノードが接続されている。
例えばスキャンフリップフロップ回路１−１１，１２にワード線ＷＯＲＤＡ  ，ＷＯＲＤＢに逆位相の同期信号が入力される。スキャンフリップフロップ回路１−１１に所定のスキャンデータが信号ＳＩとして入力されると、内部の第１のラッチ部および第２のラッチ部を介してスキャンデータが信号ＳＯとして出力される。その信号ＳＯがスキャンフリップフロップ回路１−１２の入力信号ＳＩとして入力され、その内部の第１のラッチ部および第２のラッチ部を介して出力信号ＳＯとして出力される。
【００５２】
以上説明したように、本実施形態に係るレジスタファイル１００は、本発明に係るスキャンフリップフロップ回路１を採用することで、例えば一般的なレジスタファイルでは１個の一般的なスキャンフリップ回路で１ビットのデータを記憶するが、本実施形態では２ビット分のデータを１つのフリップフロップ回路１で記憶するので面積効率がよく、より多くのデータを記憶することができる。
また、メモリアレイ１００４内に所定のスキャンチェーンを形成することで、所定のスキャンチェーンをテストすることができる。
【００５３】
また、本実施形態に係るレジスタファイル１００は、メモリアレイ１００４に必要なトランジスタ数が、一般的なスキャンフリップフロップ回路に比べて少ないトランジスタ数で実現することができる。
例えば、３２ビット×３２ワード（ＷＯＲＤ）構成のレジスタファイルの場合、一般的なフリップフロップ回路を用いると、レジスタファイルは３６（Ｔｒ：トランジスタ数）×３２（ワード）×３２（ビット）＝３６８６４Ｔｒであるのに比べて、本実施形態に係るレジスタファイル１００では、５６（Ｔｒ）×３２（ワード）×１６（ビット）＝２８６７２Ｔｒで実現可能であり、約２２％のトランジスタ量を削減することができる。
ここで、本実施形態に係るレジスタファイル１００では、トランジスタ（Ｔｒ）数は、付加回路として例えば図２に示す入力部１０ａを用いた場合を計算している。
【００５４】
図７は、本発明に係るスキャンフリップフロップ回路を採用したラッチ型レジスタファイルの第３の実施形態を説明するための図である。
従来のスキャンテスト可能なラッチ型レジスタファイルでスキャンテストを行う場合に、例えば図７（ａ）に示すように、メモリアレイ１００４ａにスキャンフリップフロップ回路１ｈ−１〜ｎを用いて、直接スキャンチェーンを形成することができない。
このため、一般的にはレジスタファイル１００４ａの入力側と出力側のスキャンフリップフロップ回路、例えば入力側としてスキャンフリップフロップ回路１ｈ−１、および出力側としてスキャンフリップフロップ回路１ｈ−ｎを用いてアドレスデコーダ１００１の故障検出を行う。
このため、アドレスデコーダ１００１の故障検出に最大でワード数の二乗程度のベクタが必要であり改善が望まれている。
【００５５】
本実施形態に係るラッチ型のレジスタファイル１００ｂは、図７（ｂ）に示すように、アドレスデコーダ１００１、インプット／アウトプット回路１００２、コントロール回路１００３、およびメモリセル１００４を有する。第２実施形態に係るレジスタファイル１００と同じ機能を有する構成要素には同じ符号を付して説明を省略する。相違点のみ説明する。
【００５６】
メモリセル１００４は、ラッチ型メモリセル１００４１、および複数のスキャンフリップフロップ回路１ｂを有する。
ラッチ型メモリセル１００４１は、例えばマトリクス形状に形成された複数のラッチ回路で構成されている。
ラッチ型メモリセル１００４内に、アドレスデコーダ１００１から出力されるアドレスデコード信号ＤＥＣ  を基に、アドレスデコーダ１００１を検査するスキャンフリップフロップ回路１ｂが形成されている。
詳細には、スキャンフリップフロップ回路１ｂは、アドレスデコーダ１００１の故障を検出するために形成され、例えば図７（ｂ）に示すように、アドレスデコーダ１００１とラッチ型メモリセル１００４１との間に形成されている。
【００５７】
図８は、図７に示したレジスタファイルのスキャンフリップフロップ回路の一具体例を示す機能ブロック図である。
スキャンフリップフロップ回路１ｂは、図８に示すように、第１のセレクタ部１１、第１のラッチ部１２、第２のセレクタ部１３、第２のラッチ部１４、および第３のセレクタ部１５を有する。
【００５８】
スキャンフリップフロップ回路１ｂと、第１実施形態に係るスキャンフリップフロップ回路１との大きな相違点は、第３のセレクタ部１５を有する点である。同じ機能を有する構成要素については同じ符号を付して説明を省略する。相違点のみ説明する。
【００５９】
第３のセレクタ部１５は、図８に示すように、選択信号ＳＥを基にスキャン信号ＳＩまたはデコード信号ＤＥＣ  を選択して、選択した信号を信号Ｓ１５として第１のセレクタ部１１に出力する。
詳細には、第３のセレクタ部１５は、例えばスキャン信号ＳＩを選択させる所定のレベルよりもハイレベルの選択信号ＳＥを受信すると、スキャン信号ＳＩを選択し信号Ｓ１５として第１のセレクタ部１１に出力し、デコード信号ＤＥＣ  を選択させる所定のレベルよりもロウレベルの選択信号ＳＥを受信すると、デコード信号ＤＥＣ  を選択し信号Ｓ１５として出力する。
【００６０】
図９は、図８に示したスキャンフリップフロップ回路の入力部の一具体例を示す機能ブロック図である。
スキャンフリップフロップ回路１ｂに信号ＧＡ，ＧＢ，ＤＥＣ  を入力する入力部１０ｂは、例えば図９に示すように、インバータ１０１、否定排他的論理和回路（Ｅｘｃｌｕｓｉｖｅ  ＮＯＲ）１０２、およびクロックイネーブラ（Ｃｌｏｃｋ  Ｅｎａｂｌｅｒ  ）１０３を有する。
【００６１】
インバータ１０１および否定排他的論理和回路１０２は、第１実施形態と同様な機能であるので説明を省略する。
クロックイネーブラ１０３は、アドレスデコーダ１００１から入力されるデコード信号ＤＥＣ  をクロック信号ＣＫに同期して、信号Ｓ１０３としてインバータ１０１および否定排他的論理和回路１０２に出力する。
【００６２】
以上の構成のレジスタファイル１００ｂの動作を図７〜９を参照しながら簡単に説明する。
通常モード時には、例えばコントロール回路１００３から、ロウレベルの選択信号ＳＳが出力される。入力部１０ｂでは図９に示すように選択信号ＳＳが入力されると、インバータ１０１および否定排他的論理和回路１０２を介してワード線ＷＯＲＤに同期信号ＧＡ，ＧＢがスキャンフリップフロップ回路１ｂに出力される。
スキャンフリップフロップ回路１ｂでは信号ＧＡ，ＧＢに同期して、第１実施形態と同様に第１のデータおよび第２のデータをラッチする。
【００６３】
スキャンフリップフロップ回路１ｂをスキャンするスキャンモード時には、例えば、コントロール回路１００３から、ハイレベルの選択信号ＳＳおよびハイレベルの信号ＳＥが出力される。第３のセレクタ部１５では信号ＳＥを受信すると、スキャン信号ＳＩを選択して第１のセレクタ部１１に出力する。スキャンフリップフロップ回路１ｂでは、第１実施形態と同様にスキャン信号ＳＩを基に所定のスキャンチェーンのスキャンを行う。
【００６４】
アドレスデコーダ１００１の検査時には、例えばコントロール回路１００３からハイレベルの選択信号ＳＳ、およびロウレベルの信号ＳＥが出力される。第３のセレクタ部１５では、信号ＳＥを受信すると、デコード信号ＤＥＣ  を選択して第１のセレクタ部１１に出力する。スキャンフリップフロップ回路１Ｂではデコード信号ＤＥＣ  を基にアドレスデコーダ１００１の検査を行う。
【００６５】
以上、説明したように本実施形態に係るラッチ型レジスタファイル１００ｂでは、アドレスデコーダ１００１の検査用にスキャンフリップフロップ回路１ｂを設けたので、例えばアドレスデコーダ１００１のスキャンテストに必要なベクタ数が、一般的な回路に比べて少ない数、例えば最大で１／ワード数にまで削減することができる。これにより一般的な回路に比べて設計可能なワード数の上限を大きく設定することができる。
【００６６】
なお、本発明は本実施形態に限られるものではなく、任意好適な種々の変更が可能である。
例えばスキャンフリップフロップ回路１は、第１のセレクタ部１１および第２のセレクタ部１２に、同一の選択信号ＳＳを入力したがこの形態に限られるものではない。例えば第１のセレクタ部１１および第２のセレクタ部１２それぞれ独立に所望の選択信号ＳＳを入力してもよい。
【００６７】
【発明の効果】
本発明によれば、２つのデータを記憶できるスキャンフリップフロップ回路、およびレジスタファイルを提供することができる。
【図面の簡単な説明】
【図１】本発明に係るスキャンフリップ回路の第１実施形態を示す回路図である。
【図２】図１に示したスキャンフリップフロップ回路の入力部の具体例の機能ブロック図である。（ａ）は入力部の第１具体例、（ｂ）は第２具体例の機能ブロック図である。
【図３】図１に示したスキャンフリップフロップ回路の動作を説明するための図である。
【図４】図１に示したスキャンフリップフロップ回路の動作を説明するための図である。
【図５】本発明に係るスキャンフリップフロップ回路を用いたレジスタファイルの第２実施形態を示す機能ブロック図である。
【図６】図５に示したレジスタファイルの一部を拡大した図である。
【図７】本発明に係るスキャンフリップフロップ回路を採用したラッチ型レジスタファイルの第３の実施形態を説明するための図である。
【図８】図７に示したレジスタファイルのスキャンフリップフロップ回路の一具体例を示す機能ブロック図である。
【図９】図８に示したスキャンフリップフロップ回路の入力部の一具体例を示す機能ブロック図である。
【符号の説明】
１…スキャンフリップフロップ回路、１０…入力部、１１…第１のセレクタ部、１２…第１のラッチ部、１３…第２のセレクタ部、１４…第２のラッチ部、１５…第３のセレクタ部、１０１…インバータ、１０２…否定排他的論理和回路（Ｅｘｃｌｕｓｉｖｅ  ＮＯＲ）、１００…レジスタファイル、１００１…アドレスデコーダ、１００２…インプット／アウトプット（Ｉ／Ｏ）回路、１００３…コントロール回路、１００４…メモリアレイ。
【図１】
2005003556.tif 000003
【図２】
2005003556.tif 000004
【図３】
2005003556.tif 000005
【図４】
2005003556.tif 000006
【図５】
2005003556.tif 000007
【図６】
2005003556.tif 000008
【図７】
2005003556.tif 000009
【図８】
2005003556.tif 000010
【図９】
2005003556.tif 000011