JP2005003556A - スキャンフリップフロップ回路、およびレジスタファイル - Google Patents
スキャンフリップフロップ回路、およびレジスタファイル Download PDFInfo
- Publication number
- JP2005003556A JP2005003556A JP2003168308A JP2003168308A JP2005003556A JP 2005003556 A JP2005003556 A JP 2005003556A JP 2003168308 A JP2003168308 A JP 2003168308A JP 2003168308 A JP2003168308 A JP 2003168308A JP 2005003556 A JP2005003556 A JP 2005003556A
- Authority
- JP
- Japan
- Prior art keywords
- signal
- data
- scan
- input
- latch
- 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.)
- Abandoned
Links
Images
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
- Semiconductor Integrated Circuits (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
【課題】2つのデータを記憶できるスキャンフリップフロップ回路、およびレジスタファイルを提供することにある。
【解決手段】ラッチモードを示す信号SSにより第1のデータを選択し、スキャンモードを示す信号SSによりスキャンデータSIを選択する第1のセレクタ11と、同期信号GAに同期し第1のセレクタ部11が選択した第1のデータまたはスキャンデータSIをラッチする第1のラッチ部12と、ラッチモードを示す信号SSにより第2のデータを選択し、スキャンモードを示す信号SSにより第1のラッチ部12によるスキャンデータを選択する第2の選択部13と、ラッチモード時に同期信号GAに同期し第2のセレクタ部13が選択した第2のデータをラッチし、スキャンモード時に信号GAと逆位相の信号GBに同期し第2のセレクタ部13によるスキャンデータをラッチする第2のラッチ部14を設ける。
【選択図】 図1
【解決手段】ラッチモードを示す信号SSにより第1のデータを選択し、スキャンモードを示す信号SSによりスキャンデータSIを選択する第1のセレクタ11と、同期信号GAに同期し第1のセレクタ部11が選択した第1のデータまたはスキャンデータSIをラッチする第1のラッチ部12と、ラッチモードを示す信号SSにより第2のデータを選択し、スキャンモードを示す信号SSにより第1のラッチ部12によるスキャンデータを選択する第2の選択部13と、ラッチモード時に同期信号GAに同期し第2のセレクタ部13が選択した第2のデータをラッチし、スキャンモード時に信号GAと逆位相の信号GBに同期し第2のセレクタ部13によるスキャンデータをラッチする第2のラッチ部14を設ける。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、例えば、2つの異なる値を示す第1および第2のデータを記憶できる通常モード、およびスキャンモードを有するスキャンフリップフロップ回路、およびレジスタファイルに関するものである。
【0002】
【従来の技術】
従来、例えば通常モードおよびスキャンモードを有するスキャンフリップフロップ回路が知られている。
上述した従来のスキャンフリップフロップ回路は2つのラッチ回路を有し、通常のモードでは2つのラッチ回路で1つの値を保持する。一方、スキャンモードでは、所定のスキャンデータを2つのラッチ回路に入力することによりスキャンテストが可能である。
【0003】
【発明が解決しようとする課題】
しかし、上述した従来のスキャンフリップフリップ回路は、1つのセル内の2つのラッチ回路で1つの値しか保持できない。このため、上述したスキャンフリップフロップ回路を用いてメモリアレイを構成した場合には、面積効率が悪い。このため、ラッチ回路それぞれについてデータを記憶できるスキャンフリップフロップ回路が望まれている。
【0004】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、2つのデータを記憶できるスキャンフリップフロップ回路、およびレジスタファイルを提供することにある。
【0005】
【課題を解決するための手段】
前記目的を達成するために、本発明の第1の観点は、通常モードとスキャンモードを有し、第1および第2のデータを記憶するスキャンフリップフロップ回路であって、前記通常モードを示す選択信号を受信して前記第1のデータを選択し、前記スキャンモードを示す選択信号を受信してスキャンデータを選択する第1の選択手段と、同期信号に同期して前記第1の選択手段が選択した前記第1のデータまたは前記スキャンデータをラッチする第1のラッチ手段と、前記通常モードを示す前記選択信号を受信して前記第2のデータを選択し、前記スキャンモードを示す前記選択信号を受信して前記第1のラッチ手段がラッチした前記スキャンデータを選択する第2の選択手段と、前記通常モードの場合には、前記同期信号に同期して前記第2の選択手段が選択した第2のデータをラッチし、前記スキャンモードの場合には前記同期信号と逆位相の信号に同期して前記スキャンデータをラッチする第2のラッチ手段とを有する。
【0006】
第1の選択手段では、通常モードを示す選択信号を受信して第1のデータを選択し、スキャンモードを示す選択信号を受信してスキャンデータを選択する。
第1のラッチ手段では、同期信号に同期して第1の選択手段が選択した第1のデータまたはスキャンデータをラッチする。
第2の選択手段では、通常モードを示す選択信号を受信して第2のデータを選択し、スキャンモードを示す選択信号を受信して第1のラッチ手段がラッチしたスキャンデータを選択する。
第2のラッチ手段では、通常モードの場合には、同期信号に同期して第2の選択手段が選択した第2のデータをラッチし、スキャンモードの場合には同期信号と逆位相の信号に同期してスキャンデータをラッチする。
【0007】
さらに、前記目的のスキャンフリップフロップ回路は、通常モードとスキャンモードを有し、第1および第2のデータを記憶するスキャンフリップフロップ回路を含むレジスタファイルであって、前記スキャンフリップフロップ回路は、前記通常モードを示す前記選択信号を受信して前記第1のデータを選択し、前記スキャンモードを示す選択信号を受信してスキャンデータを選択する第1の選択手段と、同期信号に同期して前記第1の選択手段が選択した前記第1のデータまたは前記スキャンデータをラッチする第1のラッチ手段と、前記通常モードを示す前記選択信号を受信して前記第2のデータを選択し、前記スキャンモードを示す前記選択信号を受信して前記第1のラッチ手段がラッチした前記スキャンデータを選択する第2の選択手段と、前記通常モードの場合には、前記同期信号を基に前記第2の選択手段が選択した第2のデータをラッチし、前記スキャンモードの場合には前記同期信号と逆位相の信号に同期して前記スキャンデータをラッチする第2のラッチ手段とを有する。
【0008】
【発明の実施の形態】
図1は、本発明に係るスキャンフリップ回路の第1実施形態を示す回路図である。
本実施形態に係るスキャンフリップフロップ回路1は、図1に示すように、第1のセレクタ部11、第1のラッチ部12、第2のセレクタ部13、および第2のラッチ部14を有する。
【0009】
第1のセレクタ部11は本発明に係る第1の選択手段に相当し、第1のラッチ部12は本発明に係る第1のラッチ手段に相当し、第2のセレクタ部13は本発明に係る第2の選択手段に相当し、第2のラッチ部14は本発明に係る第2のラッチ手段に相当する。
【0010】
また、スキャンフリップフロップ回路1は、ラッチモードおよびスキャンモードを有する。ラッチモードは本発明に係る通常モードに相当する。
ラッチモードは、第1のラッチ部12および第2のラッチ部14それぞれを、独立に2つのデータを記憶する記憶素子として機能させるモードである。
スキャンモードは、所定のスキャンデータを第1のラッチ部12および第2のラッチ部14に入力することにより、第1のラッチ部12および第2のラッチ部14のスキャンテストを行うモードである。
【0011】
第1のセレクタ部11は、選択信号SSを基に、第1のデータとしての入力信号A0または入力信号SI(スキャンデータ)を選択し、選択した信号を信号S11として第1のラッチ部12に出力する。
詳細には、例えばラッチモードの場合には、第1のセレクタ部11は、ラッチモードを示す所定のレベルよりも低い、ロウレベルの選択信号SSが入力されると、入力信号A0を選択して第1のラッチ部12に出力する。
一方、例えばスキャンモードの場合には、第1のセレクタ部11は、スキャンモードを示す所定のレベルよりも高い、ハイレベルの選択信号SSが入力されると、入力信号SI(スキャンデータ)を選択して第1のラッチ部12に出力する。
【0012】
第1のラッチ部12は、第1のセレクタ部11から入力される信号S11を同期信号GAに同期してラッチする。また、第1のラッチ部12は、そのラッチしたデータを信号GAに同期して信号X0として第2のセレクタ部13に出力する。
【0013】
第2のセレクタ部13は、選択信号SSを基に、第1のラッチ部12から入力される信号X0、または第2のデータとしての信号A1を選択し、選択した信号を第2のラッチ部14に出力する。
詳細には、例えばラッチモードの場合には、例えばラッチモードを示す所定のレベルよりも低い、ロウレベルの選択信号SSが入力されると、信号A1を選択し、信号S13として第2のラッチ部14に出力する。
一方、例えばスキャンモードの場合には、例えばスキャンモードを示す所定のレベルよりも高い、ハイレベルの選択信号SSが入力されると、信号X0を信号S13として第2のラッチ部14に出力する。
【0014】
第2のラッチ部14は、第2のセレクタ部13から入力される信号S13を、同期信号GBに同期してラッチする。また、第2のラッチ部14は、そのラッチしているデータを、信号GBに同期して信号X1(信号SOともいう)を出力する。
【0015】
図2(a),(b)は、図1に示したスキャンフリップフロップ回路の入力部の第1および第2具体例の機能ブロック図である。
フリップフロップ回路1は、例えば図2に示すように、入力信号GA,GBを入力する入力部10を有する。
【0016】
第1具体例に係る入力部10は、例えば図2(a)に示すように、第1の入力手段としてインバータ101、および第2の入力手段として否定排他的論理和回路(Exclusive NOR)102を有する。
インバータ101は、リードイネーブルクロック(Read Enable Clock :REC )信号REC に対し論理反転処理を行い、処理結果を信号GA(WORDA ともいう)として第1のラッチ部12に入力する。
否定排他的論理和回路102は、信号REC および選択信号SSを基に否定排他的論理和演算を行い、演算結果を信号GB(WORDB ともいう)として、第2のラッチ部14に入力する。
【0017】
上述した構成の入力部10の動作を説明する。
ラッチモードの場合、例えばラッチモードを示すロウレベルの選択信号SSが否定排他的論理和回路102に入力され、リードイネーブル信号REC がインバータ101および否定排他的論理和回路102に入力される。
インバータ101では、リードイネーブル信号REC を論理反転処理し、処理結果を信号GAとして第1のラッチ部12に入力する。
否定排他的論理和回路102では、リードイネーブル信号REC とロウレベルの選択信号SSとの否定排他的論理和演算を行い、信号GAと同相の信号GBを第2のラッチ部14に入力する。
【0018】
スキャンモードの場合、例えばスキャンモードを示すハイレベルの選択信号SSが否定排他的論理和回路102に入力され、リードイネーブル信号REC がインバータ101および否定排他的論理和回路102に入力される。
インバータ101では、リードイネーブル信号REC を論理反転処理し、処理結果を信号GAとして第1のラッチ部12に入力する。
否定排他的論理和回路102では、リードイネーブル信号REC とハイレベルの選択信号SSとの否定排他的論理和演算を行い、信号GAと逆位相の信号GBを、第2のラッチ部14に入力する。
【0019】
以上説明したように、インバータ101および否定排他的論理和回路102を有する入力部10を設けたので、リードイネーブルクロック信号REC およびスキャンモードまたはスキャンモードを示す選択信号SSを基に、第1のラッチ部12および第2のラッチ部14に入力する信号GAおよび信号GBを生成することができる。
【0020】
第1の具体例に係る入力部10において、第1のラッチ部102に信号GAを入力するインバータ101と、第2のラッチ部104に信号GBを入力する否定排他的論理和回路102とは、異なる素子数で形成されているため遅延特性が異なる。詳細には第1のラッチ部102および第2のラッチ部104に入力する信号GA,GB間で信号遅延が起こる場合があり、信号GA,GBを生成する際に同じ素子数で入力部10を形成することが好ましい。
【0021】
第2具体例に係る入力部10aは、例えば図2(b)に示すように、否定排他的論理和回路103および否定排他的論理和回路102を有する。
否定排他的論理和回路103は本発明に係る第1の入力手段に相当し、否定排他的論理和回路102は本発明に係る第2の入力手段に相当する。
入力部10aと、第1具体例に係る入力部10との相違点は、インバータ101が否定排他的論理和回路103に変更された点である。
【0022】
否定排他的論理和回路103は、リードイネーブルクロック信号REC と、所定のレベルよりも低い基準電位(0)との否定排他的論理和演算を行い、信号GAとして出力する。
否定排他的論理和回路103は、例えば否定排他的論理和回路102と同じ遅延特性、例えば同じ素子数、詳細には同じ数のトランジスタ素子で形成されている。
その他の点は第1具体例に係る入力部10と同じなので説明を省略する。
【0023】
以上説明したように、同じ素子数の否定排他的論理和回路103および否定排他的論理和回路102とで入力部10aを形成すると、信号GAと信号GBの信号遅延がなくなり、高精度に同期した信号GAおよび信号GBを生成することができる。
【0024】
図3は、図1に示したスキャンフリップフロップ回路の動作を説明するための図である。図3(a)〜(g)を参照しながら、スキャンフリップフロップ回路1の動作、特にラッチモード時の動作を説明する。
【0025】
ラッチモード時には、例えば図3(a)に示すようにロウレベルの選択信号SSが第1のセレクタ部11および第2のセレクタ部13に入力される。図3(b),(c)に示すように入力信号GAおよび入力信号GBとして、クロック信号Clock の逆位相であるインバースクロック信号IClockが、第1のラッチ部12および第2のラッチ部14に入力される。
【0026】
時間T1において、第1のセレクタ部11では、例えばロウレベルの選択信号SSが入力されると、データD11を示す入力信号A0を第1のラッチ部12に入力する。
また、第2のセレクタ部13では、ロウレベルの選択信号SSが入力されると、データD21を示す入力信号A1を第2のラッチ部14に出力する。
【0027】
時間T2において、クロック信号IClockの立下りエッジのタイミングで、第1のラッチ部12ではデータD11を保持し、信号X0を出力する。
また、第2のラッチ部14ではデータD21を保持し、データD21を示す出力信号X1を出力する。
【0028】
時間T3において、例えばデータD12を示す入力信号A0が入力され、データD22を示す入力信号A1が入力される。第1のラッチ部12ではデータD11を保持し、第2のラッチ部14ではデータD21を保持する。
【0029】
時間T4において、クロック信号IClockの立下りエッジのタイミングで、第1のラッチ部12ではデータD12を保持し、データD12を示す出力信号X0を出力する。
また、第2のラッチ部14では、データD22を保持し、データD22を示す出力信号X1を出力する。
時間T4以降の動作は、時間T1〜T3の動作と同様な動作なので説明を省略する。
【0030】
図4は、図1に示したスキャンフリップフロップ回路の動作を説明するための図である。図4(a)〜(f)を参照しながら、スキャンフリップフロップ回路1の動作、特にスキャンモード時の動作を説明する。
スキャンモード時には、例えば図4(a)に示すようにハイレベルの選択信号SSが第1のセレクタ部11および第2のセレクタ部13に入力される。入力信号GAとして図4(b)に示すようにクロック信号Clock の逆位相であるインバースクロック信号IClockが第1のラッチ部12に入力され、入力信号GBとして図4(b)に示すように入力信号GAの逆位相である信号Clock が第2のラッチ部14に入力される。
【0031】
時間T1において、第1のセレクタ部11では、ハイレベルの選択信号SSが入力されると、スキャンデータSD1を示す入力信号A0を第1のラッチ部12に入力する。
第1のラッチ部12では、入力信号GAとして信号IClockの立下りエッジのタイミングで、データSD1を保持し、データSD1を示す出力信号X0を出力する。
【0032】
第2のセレクタ部13では、ハイレベルの信号SSが入力されているので、信号X0を基にデータSD1を示す信号S13を第2のラッチ部14に入力する。時間T2において、第2のラッチ部14では、信号GBの立下りエッジのタイミングでデータSD1を保持し、データSD1を示す信号SOを出力する。
【0033】
時間T3において、第1のラッチ部12では、入力信号GAとしての信号IClockの立下りエッジのタイミングで、データSD2を保持し、データSD2を示す出力信号S12を出力する。
第2のセレクタ部13では、ハイレベルの選択信号SSが入力されているので、信号S12を基にデータSD2を示す信号S13を出力する。
【0034】
時間T4において、第2のラッチ部14では、入力信号GBとしてのクロック信号Clock の立下りエッジのタイミングでデータSD2を保持し、データSD2を示す信号SO(信号X1)を出力する。
以下時間T5以降の動作は、時間T1〜T4の動作と同様な動作なので説明を省略する。
【0035】
以上説明したように、通常モードを示す選択信号SSを受信して第1のデータを選択し、スキャンモードを示す選択信号SSを受信してスキャンデータSIを選択する第1のセレクタ11と、同期信号GAに同期して第1のセレクタ部11が選択した第1のデータまたはスキャンデータSIをラッチする第1のラッチ部12と、通常モードを示す選択信号SSを受信して第2のデータを選択し、スキャンモードを示す選択信号SSを受信して第1のラッチ部12がラッチしたスキャンデータを選択する第2の選択部13と、通常モードの場合には、同期信号GAに同期して第2のセレクタ部13が選択した第2のデータをラッチし、スキャンモードの場合には同期信号GAと逆位相の信号GBに同期して第2のセレクタ部13がラッチしたスキャンデータをラッチする第2のラッチ部14とを設けたので、2つのデータD1,D2を保持することができる。
【0036】
つまり、ラッチモード時には、ラッチモードを示す選択信号SSが第1のセレクタ部11および第2のセレクタに入力し、信号IClockが信号GAとして第1のラッチ部12に入力し、信号GAと同位相の信号GBが第2のラッチ部14に入力し、第1のセレクタ部11では第1のデータD1を示す入力信号A0を選択し、第1のラッチ部12では、信号GAに応じて第1のデータD1をラッチし、第2のセレクタ部13では第2のデータD2を示す入力信号A1を選択し、第2のラッチ部14では信号GBに応じて第2のデータD2をラッチするので、2つのデータD1,D2を保持することができる。
【0037】
スキャンモード時には、スキャンモードを示す選択信号SSが第1のセレクタ11および第2のセレクタ部13に入力され、入力信号GAとしてクロック信号IClockが第1のセレクタ部11に入力され、入力信号GAの逆位相の信号GBが第2のセレクタ部13に入力され、第1のセレクタ部11ではスキャンデータSDを示す入力信号SIを選択し、第1のラッチ部12では信号GAに応じてスキャンデータSDをラッチし、第2のセレクタ部13では第1のラッチ部13から入力されたスキャンデータSDを選択し、第2のラッチ部14では信号GBに応じてスキャンデータSDをラッチして信号SOを出力するので、第1のラッチ部12および第2のラッチ部14に所定のスキャンデータSDを入力して、その出力信号SOを検出することにより、第1のラッチ部12および第2のラッチ部14を検査することができる。
【0038】
また、選択信号SSにより2つのモードを切り換えることで、従来のスキャンフリップフロップ回路と比べて、本実施形態に係るスキャンフリップフロップ回路1は、略同じ回路面積で2つの異なるデータを保持し、かつスキャンテストを行うことができる。
【0039】
図5は、本発明に係るスキャンフリップフロップ回路を用いたレジスタファイルの第2実施形態を示す機能ブロック図である。
本実施形態に係るレジスタファイル100は、図5に示すように、アドレスデコーダ1001、インプット/アウトプット(I/O)回路1002、コントロール回路1003、メモリアレイ1004を有する。
【0040】
アドレスデコーダ1001は、コントロール回路1003の制御の下、例えば不図示のCPU(central processing unit )からのアドレス信号adを受信し、アドレス信号adを基にデコードし、ワード線を介してメモリアレイ1004内の所定のスキャンフリップフロップ回路1を指定する。
インプット/アウトプット回路1002は、コントロール回路1003の制御の下、例えばアドレスデコーダにより指定されたラッチ回路において、ビット線を介して所定のデータを読出しおよび書込み処理を行う。
【0041】
コントロール回路1003は、例えば不図示のCPUから入力される制御信号に応じて、アドレスデコーダ1001、インプット/アウトプット回路1002、およびメモリアレイ1004を制御する。
【0042】
メモリアレイ1004は、例えば図5に示すように、複数のスキャンフリップフロップ回路1で構成される。
例えば、ラッチセルメモリアレイ10041は、n×mの複数のマトリクス形状に複数のスキャンフリップフロップ回路1−11〜nmにより構成される。
【0043】
図6は、図5に示したレジスタファイルの一部を拡大した図である。
メモリアレイ1004は、例えば図5,6に示すように、スキャンフリップフロップ回路1−11〜nmを有する。簡単な説明のために図6に示すように、2つのスキャンフリップフロップ回路1−11,12を説明する。
【0044】
スキャンフリップフロップ回路1−11,12は、上述したように、第1実施形態に係るスキャンフリップフロップ回路1と同様であり、同じ構成に関しては同じ符号を付して説明を省略する。簡単な説明のためそれぞれを区別しない場合には、単にスキャンフリップフロップ回路1ともいう。
【0045】
図1,6に示すように、スキャンフリップフロップ回路1には、選択信号SS、スキャン信号SI、信号A0,A1、信号GA,GBが入力し、スキャン信号SO、信号X0,X1を出力する。
例えば図5,6に示すように、アドレスデコーダ1001からワード線WORDA を介して信号GAが入力され、ワード線WORDBを介して信号GBが入力される。
【0046】
インプット/アウトプット回路1002の制御により、スキャンフリップフロップ回路1には、例えば図5,6に示すように、データIN0,IN1それぞれが信号A0,A1として入力する。一方、スキャンフリップフロップ回路1は、データOUT0,OUT1が信号X0,X1としてインプット/アウトプット回路1002に出力する。
コントロール回路1003は、例えば図5,6に示すように選択信号SSが所望のメモリセル1004のスキャンフリップフロップ回路1−11,12に選択信号SSを入力する。
【0047】
以上の構成のレジスタファイル100の動作を説明する。
ラッチモード時には、図5に示すように、例えばコントロール回路1003は、CPUからのコントロール信号を基に、ラッチモードを示す選択信号SSをスキャンフリップフロップ回路1004−11〜nmに入力する。スキャン回路1−11〜nmでは、ラッチモードを示す選択信号SSを受信する。
【0048】
コントロール回路1003は、アドレスデコーダ1001に制御信号S1003を入力し、アドレスデコーダは制御信号S1003に応じてアドレス信号ADをデコードし同位相の同期信号として例えば、ワード線WORDA ,WORDB 等を介してメモリアレイ1004の内の所定のスキャンフリップフロップ回路1−11〜nmに入力する。
また、コントロール回路1003は、インプット/アウトプット(I/O)回路1002を介して所定のデータが入力され、所定のスキャンフリップフロップ回路1−11〜nmに入力される。スキャンフリップフロップ回路1−11〜nmではそのデータを同期信号に同期してラッチする。
【0049】
ラッチしたデータを出力する場合には、所定のスキャンフリップフロップ回路1−11〜nmを示すアドレス信号adが受信アドレスデコーダ1001に入力され、アドレスデコーダ1001はそのアドレス信号adをデコードし、ワード線WORDを介してメモリアレイ1004に入力する。
メモリアレイ1004中の所定のスキャンフリップフロップ回路1−11〜nmは、同期信号に同期してインプット/アウトプット回路1002を介して、ラッチしていたデータを出力する。
【0050】
スキャンモード時には、例えばコントロール回路1003は、CPUからのコントロール信号を基にスキャンモードを示す選択信号SSをメモリアレイに入力する。スキャンフリップフロップ回路1−11〜nmは選択信号SSを受信し、スキャンモードにセットされる。
例えばメモリアレイ1004中のスキャンフリップ回路1−11〜nmそれぞれのスキャンデータ入力ノードと出力ノードは所定のスキャンチェーンを形成するように接続されている。
例えば所定のスキャンフリップフロップ回路1からスキャンデータが入力されると、同期信号に同期して所定のスキャンチェーンを介してスキャンデータが出力される。
【0051】
詳細には例えば、図6に示すスキャンフリップフロップ回路1−11のスキャンデータを示す信号SOを出力する出力ノードと、スキャンフリップフロップ回路1−12の入力ノードが接続されている。
例えばスキャンフリップフロップ回路1−11,12にワード線WORDA ,WORDBに逆位相の同期信号が入力される。スキャンフリップフロップ回路1−11に所定のスキャンデータが信号SIとして入力されると、内部の第1のラッチ部および第2のラッチ部を介してスキャンデータが信号SOとして出力される。その信号SOがスキャンフリップフロップ回路1−12の入力信号SIとして入力され、その内部の第1のラッチ部および第2のラッチ部を介して出力信号SOとして出力される。
【0052】
以上説明したように、本実施形態に係るレジスタファイル100は、本発明に係るスキャンフリップフロップ回路1を採用することで、例えば一般的なレジスタファイルでは1個の一般的なスキャンフリップ回路で1ビットのデータを記憶するが、本実施形態では2ビット分のデータを1つのフリップフロップ回路1で記憶するので面積効率がよく、より多くのデータを記憶することができる。
また、メモリアレイ1004内に所定のスキャンチェーンを形成することで、所定のスキャンチェーンをテストすることができる。
【0053】
また、本実施形態に係るレジスタファイル100は、メモリアレイ1004に必要なトランジスタ数が、一般的なスキャンフリップフロップ回路に比べて少ないトランジスタ数で実現することができる。
例えば、32ビット×32ワード(WORD)構成のレジスタファイルの場合、一般的なフリップフロップ回路を用いると、レジスタファイルは36(Tr:トランジスタ数)×32(ワード)×32(ビット)=36864Trであるのに比べて、本実施形態に係るレジスタファイル100では、56(Tr)×32(ワード)×16(ビット)=28672Trで実現可能であり、約22%のトランジスタ量を削減することができる。
ここで、本実施形態に係るレジスタファイル100では、トランジスタ(Tr)数は、付加回路として例えば図2に示す入力部10aを用いた場合を計算している。
【0054】
図7は、本発明に係るスキャンフリップフロップ回路を採用したラッチ型レジスタファイルの第3の実施形態を説明するための図である。
従来のスキャンテスト可能なラッチ型レジスタファイルでスキャンテストを行う場合に、例えば図7(a)に示すように、メモリアレイ1004aにスキャンフリップフロップ回路1h−1〜nを用いて、直接スキャンチェーンを形成することができない。
このため、一般的にはレジスタファイル1004aの入力側と出力側のスキャンフリップフロップ回路、例えば入力側としてスキャンフリップフロップ回路1h−1、および出力側としてスキャンフリップフロップ回路1h−nを用いてアドレスデコーダ1001の故障検出を行う。
このため、アドレスデコーダ1001の故障検出に最大でワード数の二乗程度のベクタが必要であり改善が望まれている。
【0055】
本実施形態に係るラッチ型のレジスタファイル100bは、図7(b)に示すように、アドレスデコーダ1001、インプット/アウトプット回路1002、コントロール回路1003、およびメモリセル1004を有する。第2実施形態に係るレジスタファイル100と同じ機能を有する構成要素には同じ符号を付して説明を省略する。相違点のみ説明する。
【0056】
メモリセル1004は、ラッチ型メモリセル10041、および複数のスキャンフリップフロップ回路1bを有する。
ラッチ型メモリセル10041は、例えばマトリクス形状に形成された複数のラッチ回路で構成されている。
ラッチ型メモリセル1004内に、アドレスデコーダ1001から出力されるアドレスデコード信号DEC を基に、アドレスデコーダ1001を検査するスキャンフリップフロップ回路1bが形成されている。
詳細には、スキャンフリップフロップ回路1bは、アドレスデコーダ1001の故障を検出するために形成され、例えば図7(b)に示すように、アドレスデコーダ1001とラッチ型メモリセル10041との間に形成されている。
【0057】
図8は、図7に示したレジスタファイルのスキャンフリップフロップ回路の一具体例を示す機能ブロック図である。
スキャンフリップフロップ回路1bは、図8に示すように、第1のセレクタ部11、第1のラッチ部12、第2のセレクタ部13、第2のラッチ部14、および第3のセレクタ部15を有する。
【0058】
スキャンフリップフロップ回路1bと、第1実施形態に係るスキャンフリップフロップ回路1との大きな相違点は、第3のセレクタ部15を有する点である。同じ機能を有する構成要素については同じ符号を付して説明を省略する。相違点のみ説明する。
【0059】
第3のセレクタ部15は、図8に示すように、選択信号SEを基にスキャン信号SIまたはデコード信号DEC を選択して、選択した信号を信号S15として第1のセレクタ部11に出力する。
詳細には、第3のセレクタ部15は、例えばスキャン信号SIを選択させる所定のレベルよりもハイレベルの選択信号SEを受信すると、スキャン信号SIを選択し信号S15として第1のセレクタ部11に出力し、デコード信号DEC を選択させる所定のレベルよりもロウレベルの選択信号SEを受信すると、デコード信号DEC を選択し信号S15として出力する。
【0060】
図9は、図8に示したスキャンフリップフロップ回路の入力部の一具体例を示す機能ブロック図である。
スキャンフリップフロップ回路1bに信号GA,GB,DEC を入力する入力部10bは、例えば図9に示すように、インバータ101、否定排他的論理和回路(Exclusive NOR)102、およびクロックイネーブラ(Clock Enabler )103を有する。
【0061】
インバータ101および否定排他的論理和回路102は、第1実施形態と同様な機能であるので説明を省略する。
クロックイネーブラ103は、アドレスデコーダ1001から入力されるデコード信号DEC をクロック信号CKに同期して、信号S103としてインバータ101および否定排他的論理和回路102に出力する。
【0062】
以上の構成のレジスタファイル100bの動作を図7〜9を参照しながら簡単に説明する。
通常モード時には、例えばコントロール回路1003から、ロウレベルの選択信号SSが出力される。入力部10bでは図9に示すように選択信号SSが入力されると、インバータ101および否定排他的論理和回路102を介してワード線WORDに同期信号GA,GBがスキャンフリップフロップ回路1bに出力される。
スキャンフリップフロップ回路1bでは信号GA,GBに同期して、第1実施形態と同様に第1のデータおよび第2のデータをラッチする。
【0063】
スキャンフリップフロップ回路1bをスキャンするスキャンモード時には、例えば、コントロール回路1003から、ハイレベルの選択信号SSおよびハイレベルの信号SEが出力される。第3のセレクタ部15では信号SEを受信すると、スキャン信号SIを選択して第1のセレクタ部11に出力する。スキャンフリップフロップ回路1bでは、第1実施形態と同様にスキャン信号SIを基に所定のスキャンチェーンのスキャンを行う。
【0064】
アドレスデコーダ1001の検査時には、例えばコントロール回路1003からハイレベルの選択信号SS、およびロウレベルの信号SEが出力される。第3のセレクタ部15では、信号SEを受信すると、デコード信号DEC を選択して第1のセレクタ部11に出力する。スキャンフリップフロップ回路1Bではデコード信号DEC を基にアドレスデコーダ1001の検査を行う。
【0065】
以上、説明したように本実施形態に係るラッチ型レジスタファイル100bでは、アドレスデコーダ1001の検査用にスキャンフリップフロップ回路1bを設けたので、例えばアドレスデコーダ1001のスキャンテストに必要なベクタ数が、一般的な回路に比べて少ない数、例えば最大で1/ワード数にまで削減することができる。これにより一般的な回路に比べて設計可能なワード数の上限を大きく設定することができる。
【0066】
なお、本発明は本実施形態に限られるものではなく、任意好適な種々の変更が可能である。
例えばスキャンフリップフロップ回路1は、第1のセレクタ部11および第2のセレクタ部12に、同一の選択信号SSを入力したがこの形態に限られるものではない。例えば第1のセレクタ部11および第2のセレクタ部12それぞれ独立に所望の選択信号SSを入力してもよい。
【0067】
【発明の効果】
本発明によれば、2つのデータを記憶できるスキャンフリップフロップ回路、およびレジスタファイルを提供することができる。
【図面の簡単な説明】
【図1】本発明に係るスキャンフリップ回路の第1実施形態を示す回路図である。
【図2】図1に示したスキャンフリップフロップ回路の入力部の具体例の機能ブロック図である。(a)は入力部の第1具体例、(b)は第2具体例の機能ブロック図である。
【図3】図1に示したスキャンフリップフロップ回路の動作を説明するための図である。
【図4】図1に示したスキャンフリップフロップ回路の動作を説明するための図である。
【図5】本発明に係るスキャンフリップフロップ回路を用いたレジスタファイルの第2実施形態を示す機能ブロック図である。
【図6】図5に示したレジスタファイルの一部を拡大した図である。
【図7】本発明に係るスキャンフリップフロップ回路を採用したラッチ型レジスタファイルの第3の実施形態を説明するための図である。
【図8】図7に示したレジスタファイルのスキャンフリップフロップ回路の一具体例を示す機能ブロック図である。
【図9】図8に示したスキャンフリップフロップ回路の入力部の一具体例を示す機能ブロック図である。
【符号の説明】
1…スキャンフリップフロップ回路、10…入力部、11…第1のセレクタ部、12…第1のラッチ部、13…第2のセレクタ部、14…第2のラッチ部、15…第3のセレクタ部、101…インバータ、102…否定排他的論理和回路(Exclusive NOR)、100…レジスタファイル、1001…アドレスデコーダ、1002…インプット/アウトプット(I/O)回路、1003…コントロール回路、1004…メモリアレイ。
【発明の属する技術分野】
本発明は、例えば、2つの異なる値を示す第1および第2のデータを記憶できる通常モード、およびスキャンモードを有するスキャンフリップフロップ回路、およびレジスタファイルに関するものである。
【0002】
【従来の技術】
従来、例えば通常モードおよびスキャンモードを有するスキャンフリップフロップ回路が知られている。
上述した従来のスキャンフリップフロップ回路は2つのラッチ回路を有し、通常のモードでは2つのラッチ回路で1つの値を保持する。一方、スキャンモードでは、所定のスキャンデータを2つのラッチ回路に入力することによりスキャンテストが可能である。
【0003】
【発明が解決しようとする課題】
しかし、上述した従来のスキャンフリップフリップ回路は、1つのセル内の2つのラッチ回路で1つの値しか保持できない。このため、上述したスキャンフリップフロップ回路を用いてメモリアレイを構成した場合には、面積効率が悪い。このため、ラッチ回路それぞれについてデータを記憶できるスキャンフリップフロップ回路が望まれている。
【0004】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、2つのデータを記憶できるスキャンフリップフロップ回路、およびレジスタファイルを提供することにある。
【0005】
【課題を解決するための手段】
前記目的を達成するために、本発明の第1の観点は、通常モードとスキャンモードを有し、第1および第2のデータを記憶するスキャンフリップフロップ回路であって、前記通常モードを示す選択信号を受信して前記第1のデータを選択し、前記スキャンモードを示す選択信号を受信してスキャンデータを選択する第1の選択手段と、同期信号に同期して前記第1の選択手段が選択した前記第1のデータまたは前記スキャンデータをラッチする第1のラッチ手段と、前記通常モードを示す前記選択信号を受信して前記第2のデータを選択し、前記スキャンモードを示す前記選択信号を受信して前記第1のラッチ手段がラッチした前記スキャンデータを選択する第2の選択手段と、前記通常モードの場合には、前記同期信号に同期して前記第2の選択手段が選択した第2のデータをラッチし、前記スキャンモードの場合には前記同期信号と逆位相の信号に同期して前記スキャンデータをラッチする第2のラッチ手段とを有する。
【0006】
第1の選択手段では、通常モードを示す選択信号を受信して第1のデータを選択し、スキャンモードを示す選択信号を受信してスキャンデータを選択する。
第1のラッチ手段では、同期信号に同期して第1の選択手段が選択した第1のデータまたはスキャンデータをラッチする。
第2の選択手段では、通常モードを示す選択信号を受信して第2のデータを選択し、スキャンモードを示す選択信号を受信して第1のラッチ手段がラッチしたスキャンデータを選択する。
第2のラッチ手段では、通常モードの場合には、同期信号に同期して第2の選択手段が選択した第2のデータをラッチし、スキャンモードの場合には同期信号と逆位相の信号に同期してスキャンデータをラッチする。
【0007】
さらに、前記目的のスキャンフリップフロップ回路は、通常モードとスキャンモードを有し、第1および第2のデータを記憶するスキャンフリップフロップ回路を含むレジスタファイルであって、前記スキャンフリップフロップ回路は、前記通常モードを示す前記選択信号を受信して前記第1のデータを選択し、前記スキャンモードを示す選択信号を受信してスキャンデータを選択する第1の選択手段と、同期信号に同期して前記第1の選択手段が選択した前記第1のデータまたは前記スキャンデータをラッチする第1のラッチ手段と、前記通常モードを示す前記選択信号を受信して前記第2のデータを選択し、前記スキャンモードを示す前記選択信号を受信して前記第1のラッチ手段がラッチした前記スキャンデータを選択する第2の選択手段と、前記通常モードの場合には、前記同期信号を基に前記第2の選択手段が選択した第2のデータをラッチし、前記スキャンモードの場合には前記同期信号と逆位相の信号に同期して前記スキャンデータをラッチする第2のラッチ手段とを有する。
【0008】
【発明の実施の形態】
図1は、本発明に係るスキャンフリップ回路の第1実施形態を示す回路図である。
本実施形態に係るスキャンフリップフロップ回路1は、図1に示すように、第1のセレクタ部11、第1のラッチ部12、第2のセレクタ部13、および第2のラッチ部14を有する。
【0009】
第1のセレクタ部11は本発明に係る第1の選択手段に相当し、第1のラッチ部12は本発明に係る第1のラッチ手段に相当し、第2のセレクタ部13は本発明に係る第2の選択手段に相当し、第2のラッチ部14は本発明に係る第2のラッチ手段に相当する。
【0010】
また、スキャンフリップフロップ回路1は、ラッチモードおよびスキャンモードを有する。ラッチモードは本発明に係る通常モードに相当する。
ラッチモードは、第1のラッチ部12および第2のラッチ部14それぞれを、独立に2つのデータを記憶する記憶素子として機能させるモードである。
スキャンモードは、所定のスキャンデータを第1のラッチ部12および第2のラッチ部14に入力することにより、第1のラッチ部12および第2のラッチ部14のスキャンテストを行うモードである。
【0011】
第1のセレクタ部11は、選択信号SSを基に、第1のデータとしての入力信号A0または入力信号SI(スキャンデータ)を選択し、選択した信号を信号S11として第1のラッチ部12に出力する。
詳細には、例えばラッチモードの場合には、第1のセレクタ部11は、ラッチモードを示す所定のレベルよりも低い、ロウレベルの選択信号SSが入力されると、入力信号A0を選択して第1のラッチ部12に出力する。
一方、例えばスキャンモードの場合には、第1のセレクタ部11は、スキャンモードを示す所定のレベルよりも高い、ハイレベルの選択信号SSが入力されると、入力信号SI(スキャンデータ)を選択して第1のラッチ部12に出力する。
【0012】
第1のラッチ部12は、第1のセレクタ部11から入力される信号S11を同期信号GAに同期してラッチする。また、第1のラッチ部12は、そのラッチしたデータを信号GAに同期して信号X0として第2のセレクタ部13に出力する。
【0013】
第2のセレクタ部13は、選択信号SSを基に、第1のラッチ部12から入力される信号X0、または第2のデータとしての信号A1を選択し、選択した信号を第2のラッチ部14に出力する。
詳細には、例えばラッチモードの場合には、例えばラッチモードを示す所定のレベルよりも低い、ロウレベルの選択信号SSが入力されると、信号A1を選択し、信号S13として第2のラッチ部14に出力する。
一方、例えばスキャンモードの場合には、例えばスキャンモードを示す所定のレベルよりも高い、ハイレベルの選択信号SSが入力されると、信号X0を信号S13として第2のラッチ部14に出力する。
【0014】
第2のラッチ部14は、第2のセレクタ部13から入力される信号S13を、同期信号GBに同期してラッチする。また、第2のラッチ部14は、そのラッチしているデータを、信号GBに同期して信号X1(信号SOともいう)を出力する。
【0015】
図2(a),(b)は、図1に示したスキャンフリップフロップ回路の入力部の第1および第2具体例の機能ブロック図である。
フリップフロップ回路1は、例えば図2に示すように、入力信号GA,GBを入力する入力部10を有する。
【0016】
第1具体例に係る入力部10は、例えば図2(a)に示すように、第1の入力手段としてインバータ101、および第2の入力手段として否定排他的論理和回路(Exclusive NOR)102を有する。
インバータ101は、リードイネーブルクロック(Read Enable Clock :REC )信号REC に対し論理反転処理を行い、処理結果を信号GA(WORDA ともいう)として第1のラッチ部12に入力する。
否定排他的論理和回路102は、信号REC および選択信号SSを基に否定排他的論理和演算を行い、演算結果を信号GB(WORDB ともいう)として、第2のラッチ部14に入力する。
【0017】
上述した構成の入力部10の動作を説明する。
ラッチモードの場合、例えばラッチモードを示すロウレベルの選択信号SSが否定排他的論理和回路102に入力され、リードイネーブル信号REC がインバータ101および否定排他的論理和回路102に入力される。
インバータ101では、リードイネーブル信号REC を論理反転処理し、処理結果を信号GAとして第1のラッチ部12に入力する。
否定排他的論理和回路102では、リードイネーブル信号REC とロウレベルの選択信号SSとの否定排他的論理和演算を行い、信号GAと同相の信号GBを第2のラッチ部14に入力する。
【0018】
スキャンモードの場合、例えばスキャンモードを示すハイレベルの選択信号SSが否定排他的論理和回路102に入力され、リードイネーブル信号REC がインバータ101および否定排他的論理和回路102に入力される。
インバータ101では、リードイネーブル信号REC を論理反転処理し、処理結果を信号GAとして第1のラッチ部12に入力する。
否定排他的論理和回路102では、リードイネーブル信号REC とハイレベルの選択信号SSとの否定排他的論理和演算を行い、信号GAと逆位相の信号GBを、第2のラッチ部14に入力する。
【0019】
以上説明したように、インバータ101および否定排他的論理和回路102を有する入力部10を設けたので、リードイネーブルクロック信号REC およびスキャンモードまたはスキャンモードを示す選択信号SSを基に、第1のラッチ部12および第2のラッチ部14に入力する信号GAおよび信号GBを生成することができる。
【0020】
第1の具体例に係る入力部10において、第1のラッチ部102に信号GAを入力するインバータ101と、第2のラッチ部104に信号GBを入力する否定排他的論理和回路102とは、異なる素子数で形成されているため遅延特性が異なる。詳細には第1のラッチ部102および第2のラッチ部104に入力する信号GA,GB間で信号遅延が起こる場合があり、信号GA,GBを生成する際に同じ素子数で入力部10を形成することが好ましい。
【0021】
第2具体例に係る入力部10aは、例えば図2(b)に示すように、否定排他的論理和回路103および否定排他的論理和回路102を有する。
否定排他的論理和回路103は本発明に係る第1の入力手段に相当し、否定排他的論理和回路102は本発明に係る第2の入力手段に相当する。
入力部10aと、第1具体例に係る入力部10との相違点は、インバータ101が否定排他的論理和回路103に変更された点である。
【0022】
否定排他的論理和回路103は、リードイネーブルクロック信号REC と、所定のレベルよりも低い基準電位(0)との否定排他的論理和演算を行い、信号GAとして出力する。
否定排他的論理和回路103は、例えば否定排他的論理和回路102と同じ遅延特性、例えば同じ素子数、詳細には同じ数のトランジスタ素子で形成されている。
その他の点は第1具体例に係る入力部10と同じなので説明を省略する。
【0023】
以上説明したように、同じ素子数の否定排他的論理和回路103および否定排他的論理和回路102とで入力部10aを形成すると、信号GAと信号GBの信号遅延がなくなり、高精度に同期した信号GAおよび信号GBを生成することができる。
【0024】
図3は、図1に示したスキャンフリップフロップ回路の動作を説明するための図である。図3(a)〜(g)を参照しながら、スキャンフリップフロップ回路1の動作、特にラッチモード時の動作を説明する。
【0025】
ラッチモード時には、例えば図3(a)に示すようにロウレベルの選択信号SSが第1のセレクタ部11および第2のセレクタ部13に入力される。図3(b),(c)に示すように入力信号GAおよび入力信号GBとして、クロック信号Clock の逆位相であるインバースクロック信号IClockが、第1のラッチ部12および第2のラッチ部14に入力される。
【0026】
時間T1において、第1のセレクタ部11では、例えばロウレベルの選択信号SSが入力されると、データD11を示す入力信号A0を第1のラッチ部12に入力する。
また、第2のセレクタ部13では、ロウレベルの選択信号SSが入力されると、データD21を示す入力信号A1を第2のラッチ部14に出力する。
【0027】
時間T2において、クロック信号IClockの立下りエッジのタイミングで、第1のラッチ部12ではデータD11を保持し、信号X0を出力する。
また、第2のラッチ部14ではデータD21を保持し、データD21を示す出力信号X1を出力する。
【0028】
時間T3において、例えばデータD12を示す入力信号A0が入力され、データD22を示す入力信号A1が入力される。第1のラッチ部12ではデータD11を保持し、第2のラッチ部14ではデータD21を保持する。
【0029】
時間T4において、クロック信号IClockの立下りエッジのタイミングで、第1のラッチ部12ではデータD12を保持し、データD12を示す出力信号X0を出力する。
また、第2のラッチ部14では、データD22を保持し、データD22を示す出力信号X1を出力する。
時間T4以降の動作は、時間T1〜T3の動作と同様な動作なので説明を省略する。
【0030】
図4は、図1に示したスキャンフリップフロップ回路の動作を説明するための図である。図4(a)〜(f)を参照しながら、スキャンフリップフロップ回路1の動作、特にスキャンモード時の動作を説明する。
スキャンモード時には、例えば図4(a)に示すようにハイレベルの選択信号SSが第1のセレクタ部11および第2のセレクタ部13に入力される。入力信号GAとして図4(b)に示すようにクロック信号Clock の逆位相であるインバースクロック信号IClockが第1のラッチ部12に入力され、入力信号GBとして図4(b)に示すように入力信号GAの逆位相である信号Clock が第2のラッチ部14に入力される。
【0031】
時間T1において、第1のセレクタ部11では、ハイレベルの選択信号SSが入力されると、スキャンデータSD1を示す入力信号A0を第1のラッチ部12に入力する。
第1のラッチ部12では、入力信号GAとして信号IClockの立下りエッジのタイミングで、データSD1を保持し、データSD1を示す出力信号X0を出力する。
【0032】
第2のセレクタ部13では、ハイレベルの信号SSが入力されているので、信号X0を基にデータSD1を示す信号S13を第2のラッチ部14に入力する。時間T2において、第2のラッチ部14では、信号GBの立下りエッジのタイミングでデータSD1を保持し、データSD1を示す信号SOを出力する。
【0033】
時間T3において、第1のラッチ部12では、入力信号GAとしての信号IClockの立下りエッジのタイミングで、データSD2を保持し、データSD2を示す出力信号S12を出力する。
第2のセレクタ部13では、ハイレベルの選択信号SSが入力されているので、信号S12を基にデータSD2を示す信号S13を出力する。
【0034】
時間T4において、第2のラッチ部14では、入力信号GBとしてのクロック信号Clock の立下りエッジのタイミングでデータSD2を保持し、データSD2を示す信号SO(信号X1)を出力する。
以下時間T5以降の動作は、時間T1〜T4の動作と同様な動作なので説明を省略する。
【0035】
以上説明したように、通常モードを示す選択信号SSを受信して第1のデータを選択し、スキャンモードを示す選択信号SSを受信してスキャンデータSIを選択する第1のセレクタ11と、同期信号GAに同期して第1のセレクタ部11が選択した第1のデータまたはスキャンデータSIをラッチする第1のラッチ部12と、通常モードを示す選択信号SSを受信して第2のデータを選択し、スキャンモードを示す選択信号SSを受信して第1のラッチ部12がラッチしたスキャンデータを選択する第2の選択部13と、通常モードの場合には、同期信号GAに同期して第2のセレクタ部13が選択した第2のデータをラッチし、スキャンモードの場合には同期信号GAと逆位相の信号GBに同期して第2のセレクタ部13がラッチしたスキャンデータをラッチする第2のラッチ部14とを設けたので、2つのデータD1,D2を保持することができる。
【0036】
つまり、ラッチモード時には、ラッチモードを示す選択信号SSが第1のセレクタ部11および第2のセレクタに入力し、信号IClockが信号GAとして第1のラッチ部12に入力し、信号GAと同位相の信号GBが第2のラッチ部14に入力し、第1のセレクタ部11では第1のデータD1を示す入力信号A0を選択し、第1のラッチ部12では、信号GAに応じて第1のデータD1をラッチし、第2のセレクタ部13では第2のデータD2を示す入力信号A1を選択し、第2のラッチ部14では信号GBに応じて第2のデータD2をラッチするので、2つのデータD1,D2を保持することができる。
【0037】
スキャンモード時には、スキャンモードを示す選択信号SSが第1のセレクタ11および第2のセレクタ部13に入力され、入力信号GAとしてクロック信号IClockが第1のセレクタ部11に入力され、入力信号GAの逆位相の信号GBが第2のセレクタ部13に入力され、第1のセレクタ部11ではスキャンデータSDを示す入力信号SIを選択し、第1のラッチ部12では信号GAに応じてスキャンデータSDをラッチし、第2のセレクタ部13では第1のラッチ部13から入力されたスキャンデータSDを選択し、第2のラッチ部14では信号GBに応じてスキャンデータSDをラッチして信号SOを出力するので、第1のラッチ部12および第2のラッチ部14に所定のスキャンデータSDを入力して、その出力信号SOを検出することにより、第1のラッチ部12および第2のラッチ部14を検査することができる。
【0038】
また、選択信号SSにより2つのモードを切り換えることで、従来のスキャンフリップフロップ回路と比べて、本実施形態に係るスキャンフリップフロップ回路1は、略同じ回路面積で2つの異なるデータを保持し、かつスキャンテストを行うことができる。
【0039】
図5は、本発明に係るスキャンフリップフロップ回路を用いたレジスタファイルの第2実施形態を示す機能ブロック図である。
本実施形態に係るレジスタファイル100は、図5に示すように、アドレスデコーダ1001、インプット/アウトプット(I/O)回路1002、コントロール回路1003、メモリアレイ1004を有する。
【0040】
アドレスデコーダ1001は、コントロール回路1003の制御の下、例えば不図示のCPU(central processing unit )からのアドレス信号adを受信し、アドレス信号adを基にデコードし、ワード線を介してメモリアレイ1004内の所定のスキャンフリップフロップ回路1を指定する。
インプット/アウトプット回路1002は、コントロール回路1003の制御の下、例えばアドレスデコーダにより指定されたラッチ回路において、ビット線を介して所定のデータを読出しおよび書込み処理を行う。
【0041】
コントロール回路1003は、例えば不図示のCPUから入力される制御信号に応じて、アドレスデコーダ1001、インプット/アウトプット回路1002、およびメモリアレイ1004を制御する。
【0042】
メモリアレイ1004は、例えば図5に示すように、複数のスキャンフリップフロップ回路1で構成される。
例えば、ラッチセルメモリアレイ10041は、n×mの複数のマトリクス形状に複数のスキャンフリップフロップ回路1−11〜nmにより構成される。
【0043】
図6は、図5に示したレジスタファイルの一部を拡大した図である。
メモリアレイ1004は、例えば図5,6に示すように、スキャンフリップフロップ回路1−11〜nmを有する。簡単な説明のために図6に示すように、2つのスキャンフリップフロップ回路1−11,12を説明する。
【0044】
スキャンフリップフロップ回路1−11,12は、上述したように、第1実施形態に係るスキャンフリップフロップ回路1と同様であり、同じ構成に関しては同じ符号を付して説明を省略する。簡単な説明のためそれぞれを区別しない場合には、単にスキャンフリップフロップ回路1ともいう。
【0045】
図1,6に示すように、スキャンフリップフロップ回路1には、選択信号SS、スキャン信号SI、信号A0,A1、信号GA,GBが入力し、スキャン信号SO、信号X0,X1を出力する。
例えば図5,6に示すように、アドレスデコーダ1001からワード線WORDA を介して信号GAが入力され、ワード線WORDBを介して信号GBが入力される。
【0046】
インプット/アウトプット回路1002の制御により、スキャンフリップフロップ回路1には、例えば図5,6に示すように、データIN0,IN1それぞれが信号A0,A1として入力する。一方、スキャンフリップフロップ回路1は、データOUT0,OUT1が信号X0,X1としてインプット/アウトプット回路1002に出力する。
コントロール回路1003は、例えば図5,6に示すように選択信号SSが所望のメモリセル1004のスキャンフリップフロップ回路1−11,12に選択信号SSを入力する。
【0047】
以上の構成のレジスタファイル100の動作を説明する。
ラッチモード時には、図5に示すように、例えばコントロール回路1003は、CPUからのコントロール信号を基に、ラッチモードを示す選択信号SSをスキャンフリップフロップ回路1004−11〜nmに入力する。スキャン回路1−11〜nmでは、ラッチモードを示す選択信号SSを受信する。
【0048】
コントロール回路1003は、アドレスデコーダ1001に制御信号S1003を入力し、アドレスデコーダは制御信号S1003に応じてアドレス信号ADをデコードし同位相の同期信号として例えば、ワード線WORDA ,WORDB 等を介してメモリアレイ1004の内の所定のスキャンフリップフロップ回路1−11〜nmに入力する。
また、コントロール回路1003は、インプット/アウトプット(I/O)回路1002を介して所定のデータが入力され、所定のスキャンフリップフロップ回路1−11〜nmに入力される。スキャンフリップフロップ回路1−11〜nmではそのデータを同期信号に同期してラッチする。
【0049】
ラッチしたデータを出力する場合には、所定のスキャンフリップフロップ回路1−11〜nmを示すアドレス信号adが受信アドレスデコーダ1001に入力され、アドレスデコーダ1001はそのアドレス信号adをデコードし、ワード線WORDを介してメモリアレイ1004に入力する。
メモリアレイ1004中の所定のスキャンフリップフロップ回路1−11〜nmは、同期信号に同期してインプット/アウトプット回路1002を介して、ラッチしていたデータを出力する。
【0050】
スキャンモード時には、例えばコントロール回路1003は、CPUからのコントロール信号を基にスキャンモードを示す選択信号SSをメモリアレイに入力する。スキャンフリップフロップ回路1−11〜nmは選択信号SSを受信し、スキャンモードにセットされる。
例えばメモリアレイ1004中のスキャンフリップ回路1−11〜nmそれぞれのスキャンデータ入力ノードと出力ノードは所定のスキャンチェーンを形成するように接続されている。
例えば所定のスキャンフリップフロップ回路1からスキャンデータが入力されると、同期信号に同期して所定のスキャンチェーンを介してスキャンデータが出力される。
【0051】
詳細には例えば、図6に示すスキャンフリップフロップ回路1−11のスキャンデータを示す信号SOを出力する出力ノードと、スキャンフリップフロップ回路1−12の入力ノードが接続されている。
例えばスキャンフリップフロップ回路1−11,12にワード線WORDA ,WORDBに逆位相の同期信号が入力される。スキャンフリップフロップ回路1−11に所定のスキャンデータが信号SIとして入力されると、内部の第1のラッチ部および第2のラッチ部を介してスキャンデータが信号SOとして出力される。その信号SOがスキャンフリップフロップ回路1−12の入力信号SIとして入力され、その内部の第1のラッチ部および第2のラッチ部を介して出力信号SOとして出力される。
【0052】
以上説明したように、本実施形態に係るレジスタファイル100は、本発明に係るスキャンフリップフロップ回路1を採用することで、例えば一般的なレジスタファイルでは1個の一般的なスキャンフリップ回路で1ビットのデータを記憶するが、本実施形態では2ビット分のデータを1つのフリップフロップ回路1で記憶するので面積効率がよく、より多くのデータを記憶することができる。
また、メモリアレイ1004内に所定のスキャンチェーンを形成することで、所定のスキャンチェーンをテストすることができる。
【0053】
また、本実施形態に係るレジスタファイル100は、メモリアレイ1004に必要なトランジスタ数が、一般的なスキャンフリップフロップ回路に比べて少ないトランジスタ数で実現することができる。
例えば、32ビット×32ワード(WORD)構成のレジスタファイルの場合、一般的なフリップフロップ回路を用いると、レジスタファイルは36(Tr:トランジスタ数)×32(ワード)×32(ビット)=36864Trであるのに比べて、本実施形態に係るレジスタファイル100では、56(Tr)×32(ワード)×16(ビット)=28672Trで実現可能であり、約22%のトランジスタ量を削減することができる。
ここで、本実施形態に係るレジスタファイル100では、トランジスタ(Tr)数は、付加回路として例えば図2に示す入力部10aを用いた場合を計算している。
【0054】
図7は、本発明に係るスキャンフリップフロップ回路を採用したラッチ型レジスタファイルの第3の実施形態を説明するための図である。
従来のスキャンテスト可能なラッチ型レジスタファイルでスキャンテストを行う場合に、例えば図7(a)に示すように、メモリアレイ1004aにスキャンフリップフロップ回路1h−1〜nを用いて、直接スキャンチェーンを形成することができない。
このため、一般的にはレジスタファイル1004aの入力側と出力側のスキャンフリップフロップ回路、例えば入力側としてスキャンフリップフロップ回路1h−1、および出力側としてスキャンフリップフロップ回路1h−nを用いてアドレスデコーダ1001の故障検出を行う。
このため、アドレスデコーダ1001の故障検出に最大でワード数の二乗程度のベクタが必要であり改善が望まれている。
【0055】
本実施形態に係るラッチ型のレジスタファイル100bは、図7(b)に示すように、アドレスデコーダ1001、インプット/アウトプット回路1002、コントロール回路1003、およびメモリセル1004を有する。第2実施形態に係るレジスタファイル100と同じ機能を有する構成要素には同じ符号を付して説明を省略する。相違点のみ説明する。
【0056】
メモリセル1004は、ラッチ型メモリセル10041、および複数のスキャンフリップフロップ回路1bを有する。
ラッチ型メモリセル10041は、例えばマトリクス形状に形成された複数のラッチ回路で構成されている。
ラッチ型メモリセル1004内に、アドレスデコーダ1001から出力されるアドレスデコード信号DEC を基に、アドレスデコーダ1001を検査するスキャンフリップフロップ回路1bが形成されている。
詳細には、スキャンフリップフロップ回路1bは、アドレスデコーダ1001の故障を検出するために形成され、例えば図7(b)に示すように、アドレスデコーダ1001とラッチ型メモリセル10041との間に形成されている。
【0057】
図8は、図7に示したレジスタファイルのスキャンフリップフロップ回路の一具体例を示す機能ブロック図である。
スキャンフリップフロップ回路1bは、図8に示すように、第1のセレクタ部11、第1のラッチ部12、第2のセレクタ部13、第2のラッチ部14、および第3のセレクタ部15を有する。
【0058】
スキャンフリップフロップ回路1bと、第1実施形態に係るスキャンフリップフロップ回路1との大きな相違点は、第3のセレクタ部15を有する点である。同じ機能を有する構成要素については同じ符号を付して説明を省略する。相違点のみ説明する。
【0059】
第3のセレクタ部15は、図8に示すように、選択信号SEを基にスキャン信号SIまたはデコード信号DEC を選択して、選択した信号を信号S15として第1のセレクタ部11に出力する。
詳細には、第3のセレクタ部15は、例えばスキャン信号SIを選択させる所定のレベルよりもハイレベルの選択信号SEを受信すると、スキャン信号SIを選択し信号S15として第1のセレクタ部11に出力し、デコード信号DEC を選択させる所定のレベルよりもロウレベルの選択信号SEを受信すると、デコード信号DEC を選択し信号S15として出力する。
【0060】
図9は、図8に示したスキャンフリップフロップ回路の入力部の一具体例を示す機能ブロック図である。
スキャンフリップフロップ回路1bに信号GA,GB,DEC を入力する入力部10bは、例えば図9に示すように、インバータ101、否定排他的論理和回路(Exclusive NOR)102、およびクロックイネーブラ(Clock Enabler )103を有する。
【0061】
インバータ101および否定排他的論理和回路102は、第1実施形態と同様な機能であるので説明を省略する。
クロックイネーブラ103は、アドレスデコーダ1001から入力されるデコード信号DEC をクロック信号CKに同期して、信号S103としてインバータ101および否定排他的論理和回路102に出力する。
【0062】
以上の構成のレジスタファイル100bの動作を図7〜9を参照しながら簡単に説明する。
通常モード時には、例えばコントロール回路1003から、ロウレベルの選択信号SSが出力される。入力部10bでは図9に示すように選択信号SSが入力されると、インバータ101および否定排他的論理和回路102を介してワード線WORDに同期信号GA,GBがスキャンフリップフロップ回路1bに出力される。
スキャンフリップフロップ回路1bでは信号GA,GBに同期して、第1実施形態と同様に第1のデータおよび第2のデータをラッチする。
【0063】
スキャンフリップフロップ回路1bをスキャンするスキャンモード時には、例えば、コントロール回路1003から、ハイレベルの選択信号SSおよびハイレベルの信号SEが出力される。第3のセレクタ部15では信号SEを受信すると、スキャン信号SIを選択して第1のセレクタ部11に出力する。スキャンフリップフロップ回路1bでは、第1実施形態と同様にスキャン信号SIを基に所定のスキャンチェーンのスキャンを行う。
【0064】
アドレスデコーダ1001の検査時には、例えばコントロール回路1003からハイレベルの選択信号SS、およびロウレベルの信号SEが出力される。第3のセレクタ部15では、信号SEを受信すると、デコード信号DEC を選択して第1のセレクタ部11に出力する。スキャンフリップフロップ回路1Bではデコード信号DEC を基にアドレスデコーダ1001の検査を行う。
【0065】
以上、説明したように本実施形態に係るラッチ型レジスタファイル100bでは、アドレスデコーダ1001の検査用にスキャンフリップフロップ回路1bを設けたので、例えばアドレスデコーダ1001のスキャンテストに必要なベクタ数が、一般的な回路に比べて少ない数、例えば最大で1/ワード数にまで削減することができる。これにより一般的な回路に比べて設計可能なワード数の上限を大きく設定することができる。
【0066】
なお、本発明は本実施形態に限られるものではなく、任意好適な種々の変更が可能である。
例えばスキャンフリップフロップ回路1は、第1のセレクタ部11および第2のセレクタ部12に、同一の選択信号SSを入力したがこの形態に限られるものではない。例えば第1のセレクタ部11および第2のセレクタ部12それぞれ独立に所望の選択信号SSを入力してもよい。
【0067】
【発明の効果】
本発明によれば、2つのデータを記憶できるスキャンフリップフロップ回路、およびレジスタファイルを提供することができる。
【図面の簡単な説明】
【図1】本発明に係るスキャンフリップ回路の第1実施形態を示す回路図である。
【図2】図1に示したスキャンフリップフロップ回路の入力部の具体例の機能ブロック図である。(a)は入力部の第1具体例、(b)は第2具体例の機能ブロック図である。
【図3】図1に示したスキャンフリップフロップ回路の動作を説明するための図である。
【図4】図1に示したスキャンフリップフロップ回路の動作を説明するための図である。
【図5】本発明に係るスキャンフリップフロップ回路を用いたレジスタファイルの第2実施形態を示す機能ブロック図である。
【図6】図5に示したレジスタファイルの一部を拡大した図である。
【図7】本発明に係るスキャンフリップフロップ回路を採用したラッチ型レジスタファイルの第3の実施形態を説明するための図である。
【図8】図7に示したレジスタファイルのスキャンフリップフロップ回路の一具体例を示す機能ブロック図である。
【図9】図8に示したスキャンフリップフロップ回路の入力部の一具体例を示す機能ブロック図である。
【符号の説明】
1…スキャンフリップフロップ回路、10…入力部、11…第1のセレクタ部、12…第1のラッチ部、13…第2のセレクタ部、14…第2のラッチ部、15…第3のセレクタ部、101…インバータ、102…否定排他的論理和回路(Exclusive NOR)、100…レジスタファイル、1001…アドレスデコーダ、1002…インプット/アウトプット(I/O)回路、1003…コントロール回路、1004…メモリアレイ。
Claims (7)
- 通常モードとスキャンモードを有し、第1および第2のデータを記憶するスキャンフリップフロップ回路であって、
前記通常モードを示す選択信号を受信して前記第1のデータを選択し、前記スキャンモードを示す選択信号を受信してスキャンデータを選択する第1の選択手段と、
同期信号に同期して前記第1の選択手段が選択した前記第1のデータまたは前記スキャンデータをラッチする第1のラッチ手段と、
前記通常モードを示す前記選択信号を受信して前記第2のデータを選択し、前記スキャンモードを示す前記選択信号を受信して前記第1のラッチ手段がラッチした前記スキャンデータを選択する第2の選択手段と、
前記通常モードの場合には、前記同期信号に同期して前記第2の選択手段が選択した第2のデータをラッチし、前記スキャンモードの場合には前記同期信号と逆位相の信号に同期して前記スキャンデータをラッチする第2のラッチ手段と
を有するスキャンフリップフロップ回路。 - 前記通常モードを示す選択信号を受信した場合に、前記第1のラッチ手段に前記同期信号を入力し、前記第2のラッチ手段に前記同期信号と同位相の信号を入力し、前記スキャンモードを示す選択信号を受信した場合に、前記第1のラッチ手段に前記同期信号を入力し、前記第2のラッチ手段に前記同期信号と逆位相の信号を入力する入力手段を有する
請求項1に記載のスキャンフリップフロップ回路。 - 前記入力手段は、前記同期信号を前記第1のラッチ手段に入力する第1の入力手段と、
前記同期信号、または当該同期信号と逆位相の信号を前記第2のラッチ手段に入力し、前記第1の入力手段と同じ遅延特性の回路で構成されている第2の入力手段とを有する
請求項2に記載のスキャンフリップフロップ回路。 - 通常モードとスキャンモードを有し、第1および第2のデータを記憶するスキャンフリップフロップ回路を含むレジスタファイルであって、
前記スキャンフリップフロップ回路は、
前記通常モードを示す前記選択信号を受信して前記第1のデータを選択し、前記スキャンモードを示す選択信号を受信してスキャンデータを選択する第1の選択手段と、
同期信号に同期して前記第1の選択手段が選択した前記第1のデータまたは前記スキャンデータをラッチする第1のラッチ手段と、
前記通常モードを示す前記選択信号を受信して前記第2のデータを選択し、前記スキャンモードを示す前記選択信号を受信して前記第1のラッチ手段がラッチした前記スキャンデータを選択する第2の選択手段と、
前記通常モードの場合には、前記同期信号を基に前記第2の選択手段が選択した第2のデータをラッチし、前記スキャンモードの場合には前記同期信号と逆位相の信号に同期して前記スキャンデータをラッチする第2のラッチ手段と
を有するレジスタファイル。 - 前記通常モードを示す前記選択信号を受信した場合に、前記第1のラッチ手段に前記同期信号を入力し、前記第2のラッチ手段に前記同期信号と同位相の信号を入力し、前記スキャンモードを示す選択信号を受信した場合に、前記第1のラッチ手段に前記同期信号を入力し、前記第2のラッチ手段に前記同期信号と逆位相の信号を入力する入力手段を有する
請求項4に記載のレジスタファイル。 - 前記入力手段は、前記同期信号を前記第1のラッチ手段に入力する第1の入力手段と、
前記同期信号、または当該同期信号と逆位相の信号を前記第2のラッチ手段に入力し、前記第1の入力手段と同じ遅延特性の回路で構成されている第2の入力手段とを有する
請求項5に記載のレジスタファイル。 - ラッチ型メモリセルと、前記ラッチ型メモリセルにアドレスデコード信号を入力するアドレスデコーダとをさらに有し、
前記ラッチ型メモリセル内に、前記アドレスデコーダから出力されるアドレスデコード信号を基に当該アドレスデコーダを検査する前記スキャンフリップフロップ回路が形成されている
請求項5に記載のレジスタファイル。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003168308A JP2005003556A (ja) | 2003-06-12 | 2003-06-12 | スキャンフリップフロップ回路、およびレジスタファイル |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003168308A JP2005003556A (ja) | 2003-06-12 | 2003-06-12 | スキャンフリップフロップ回路、およびレジスタファイル |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005003556A true JP2005003556A (ja) | 2005-01-06 |
Family
ID=34093848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003168308A Abandoned JP2005003556A (ja) | 2003-06-12 | 2003-06-12 | スキャンフリップフロップ回路、およびレジスタファイル |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005003556A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009177659A (ja) * | 2008-01-28 | 2009-08-06 | Nec Corp | パルスラッチ回路 |
JPWO2012153516A1 (ja) * | 2011-05-11 | 2014-07-31 | パナソニック株式会社 | 入力回路 |
JP2018189604A (ja) * | 2017-05-11 | 2018-11-29 | 富士通株式会社 | 診断回路及び診断回路の制御方法 |
CN115201669A (zh) * | 2022-09-16 | 2022-10-18 | 中诚华隆计算机技术有限公司 | 一种芯片内部电路检测方法和装置 |
-
2003
- 2003-06-12 JP JP2003168308A patent/JP2005003556A/ja not_active Abandoned
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009177659A (ja) * | 2008-01-28 | 2009-08-06 | Nec Corp | パルスラッチ回路 |
US7872513B2 (en) | 2008-01-28 | 2011-01-18 | Nec Corporation | Apparatus and circuit including latch circuit, and method of controlling latch circuit |
JP4626656B2 (ja) * | 2008-01-28 | 2011-02-09 | 日本電気株式会社 | パルスラッチ回路 |
JPWO2012153516A1 (ja) * | 2011-05-11 | 2014-07-31 | パナソニック株式会社 | 入力回路 |
JP2018189604A (ja) * | 2017-05-11 | 2018-11-29 | 富士通株式会社 | 診断回路及び診断回路の制御方法 |
CN115201669A (zh) * | 2022-09-16 | 2022-10-18 | 中诚华隆计算机技术有限公司 | 一种芯片内部电路检测方法和装置 |
CN115201669B (zh) * | 2022-09-16 | 2022-11-15 | 中诚华隆计算机技术有限公司 | 一种芯片内部电路检测方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5517108A (en) | Flip-flop circuit in a scanning test apparatus | |
US6549478B2 (en) | Scan register circuit for scanning data for determining failure in a semiconductor device | |
US7793183B2 (en) | Microcomputer and method of testing the same | |
TWI810275B (zh) | 用於記憶體應用之鎖存電路 | |
US7394720B2 (en) | Circuit and method for sampling valid command using extended valid address window in double pumped address scheme memory device | |
US7436211B2 (en) | Transparent latch circuit | |
US7230861B2 (en) | Semiconductor integrated circuit | |
TWI435095B (zh) | 具有延遲測試能力之掃描鏈單元 | |
JP3785388B2 (ja) | 故障検出方法 | |
JP2005003556A (ja) | スキャンフリップフロップ回路、およびレジスタファイル | |
JP2007272982A (ja) | 半導体記憶装置およびその検査方法 | |
JP4305871B2 (ja) | レジスタファイル及びその記憶素子 | |
US6810498B2 (en) | RAM functional test facilitation circuit with reduced scale | |
JP2014116054A (ja) | 集積回路 | |
US5848075A (en) | Test device employing scan path having circuitry at switches between a scan in signal transmitted and previously held at a predetermined clock timing | |
US6327683B1 (en) | Device scan testing | |
JP2004212384A (ja) | 半導体集積回路装置 | |
JP2008305947A (ja) | 遅延測定装置および半導体装置 | |
JP3606788B2 (ja) | 半導体集積回路および半導体集積回路の検査方法 | |
JP2004030829A (ja) | 半導体記憶装置 | |
JP2002286803A (ja) | 半導体集積回路 | |
JP2001266595A (ja) | 半導体集積回路装置 | |
JPH0991995A (ja) | 半導体集積回路及びその試験方法 | |
JP2007333681A (ja) | 集積回路 | |
JP2005293622A (ja) | 集積回路、及びホールドタイムエラーの余裕度の検査方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060515 |
|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20080227 |