(57)【要約】【課題】テスト品質を向上できる。【解決手段】実施形態に係る半導体集積回路は、論理回路１１とメモリマクロ１０とを含む。メモリマクロ１０は、メモリビットセル５０を含むメモリセルアレイ２０と、出力バッファ２４と、第１クロック信号ＳＡＥに基づいて、メモリセルアレイ２０から読み出したデータを出力するセンスアンプ２３と、書き込み電圧を印加するライトドライバ２６と、第２クロック信号ＣＬＫＬＡＴに基づいて入力データを取り込み、書き込み動作時に第２クロック信号ＣＬＫＬＡＴに基づいてライトドライバ２６に入力データを出力し、論理回路１１のスキャンテスト時に第１クロック信号ＳＡＥに基づいて入力データを出力バッファ２４に出力する第１フリップフロップ回路３０とを含む。【選択図】      図２
2018137024.tif 000002
【特許請求の範囲】
【請求項１】
論理回路と、
前記論理回路に接続されたメモリマクロと
を備え、前記メモリマクロは、
メモリビットセルを含むメモリセルアレイと、
前記論理回路に接続された出力バッファと、
第１クロック信号に基づいて、前記出力バッファに前記メモリセルアレイから読み出したデータを出力するセンスアンプと、
アサートされた書き込み制御信号に基づいて前記メモリセルアレイに書き込み電圧を印加するライトドライバと、
第２クロック信号に基づいて前記論理回路からの入力データを取り込み、前記書き込み制御信号がアサートされた書き込み動作時に前記第２クロック信号に基づいて前記ライトドライバに前記入力データを出力し、前記論理回路のスキャンテスト時に前記第１クロック信号に基づいて前記入力データを前記出力バッファに出力する第１フリップフロップ回路と
を含む半導体集積回路。
【請求項２】
前記第１フリップフロップ回路は、
データ入力端子が前記論理回路に接続され、クロック入力端子に前記第２クロック信号が入力され、データ出力端子が前記ライトドライバに接続される第１ラッチ回路と、
データ入力端子が前記第１ラッチ回路のデータ出力端子に接続され、クロック入力端子に前記第１クロック信号が入力され、データ出力端子が前記出力バッファに接続される第２ラッチ回路とを含む請求項１記載の半導体集積回路。
【請求項３】
前記メモリマクロは、前記第２クロック信号に基づいて前記論理回路からビット書き込み制御信号を取り込み、前記書き込み動作時に前記第２クロック信号に基づいて、前記ライトドライバに前記ビット書き込み制御信号を出力し、前記スキャンテスト時に前記第１クロック信号に基づいて、前記ビット書き込み制御信号を出力する第２フリップフロップ回路を更に含む請求項１または２記載の半導体集積回路。
【請求項４】
前記メモリマクロは、前記スキャンテスト時に前記第１フリップフロップ回路から出力された前記入力データと前記第２フリップフロップ回路から出力された前記ビット書き込み制御信号との演算処理を行い、前記演算処理の結果を前記出力バッファに送信する第１回路を更に含む請求項３記載の半導体集積回路。
【請求項５】
前記メモリマクロは、前記半導体集積回路をイネーブル状態にする第１信号と、前記スキャンテスト時にアサートされる第２信号とに応じて前記第２クロック信号を制御するクロック制御回路を更に含み、
前記クロック制御回路は、前記第１及び第２信号の少なくとも１つがアサートされている場合、前記第２クロック信号を出力する請求項１乃至４のいずれか１つに記載の半導体集積回路。
【請求項６】
論理回路と、
前記論理回路に接続されたメモリマクロと
を備え、前記メモリマクロは、
第１論理レベルのデータを保持する第１メモリビットセル及び第２論理レベルのデータを保持する第２メモリビットセルを含むメモリセルアレイと、
前記第１乃至第２メモリビットセルに接続された第１及び第２ビット線と、
第１クロック信号に基づいて、前記メモリセルアレイから読み出したデータを出力するセンスアンプと、
前記第１及び第２ビット線の少なくとも１つと前記センスアンプとを接続する選択回路と、
アサートされた書き込み制御信号に基づいて前記メモリセルアレイに書き込み電圧を印加するライトドライバと、
第２クロック信号に基づいて前記論理回路からの入力データを取り込み、前記書き込み制御信号がアサートされた書き込み動作時に前記第２クロック信号に基づいて、前記ライトドライバに前記入力データを出力し、前記論理回路のスキャンテスト時に前記第１クロック信号に基づいて、前記入力データを出力するフリップフロップ回路と
を含み、前記スキャンテスト時に、前記フリップフロップ回路から出力される前記入力データが第１論理レベルの場合、前記選択回路は前記第１ビット線と前記センスアンプとを接続し、前記センスアンプは前記第１メモリビットセルから前記第１論理レベルのデータを読み出し、
前記フリップフロップ回路から出力される前記入力データが第２論理レベルの場合、前記選択回路は前記第２ビット線と前記センスアンプとを接続し、前記センスアンプは、前記第２メモリビットセルから前記第２論理レベルのデータを読み出す半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、半導体集積回路に関する。
【背景技術】
【０００２】
ＳＲＡＭ（Static Random Access Memory）を内蔵する半導体集積回路においては、ＳＲＡＭを用いた通常動作と、ＳＲＡＭ周辺の論理回路のスキャンテストとではデータパスが異なる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５４４１８５７号公報
【特許文献２】特許第５６６１１４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
テスト品質を向上できる半導体集積回路を提供する。
【課題を解決するための手段】
【０００５】
実施形態に係る半導体集積回路は、論理回路と、論理回路に接続されたメモリマクロとを含む。メモリマクロは、メモリビットセルを含むメモリセルアレイと、論理回路に接続された出力バッファと、第１クロック信号に基づいて、出力バッファにメモリセルアレイから読み出したデータを出力するセンスアンプと、アサートされた書き込み制御信号に基づいてメモリセルアレイに書き込み電圧を印加するライトドライバと、第２クロック信号に基づいて論理回路からの入力データを取り込み、書き込み制御信号がアサートされた書き込み動作時に第２クロック信号に基づいてライトドライバに入力データを出力し、論理回路のスキャンテスト時に第１クロック信号に基づいて入力データを出力バッファに出力する第１フリップフロップ回路とを含む。
【図面の簡単な説明】
【０００６】
【図１】図１は、第１実施形態に係る半導体集積回路のブロック図である。
【図２】図２は、第１実施形態に係る半導体集積回路の備えるメモリマクロのブロック図である。
【図３】図３は、第１実施形態に係る半導体集積回路の備えるメモリセルアレイの回路図である。
【図４】図４は、第１実施形態に係る半導体集積回路における通常モード時の動作を示す図である。
【図５】図５は、第１実施形態に係る半導体集積回路におけるスキャンモード時の動作を示す図である。
【図６】図６は、第２実施形態に係る半導体集積回路のブロック図である。
【発明を実施するための形態】
【０００７】
以下、実施形態につき図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
【０００８】
１．第１実施形態
第１実施形態に係る半導体集積回路について説明する。以下では、半導体集積回路がＳＲＡＭ（Static Random Access Memory）を内蔵する場合を例に挙げて説明する。
【０００９】
１．１  半導体集積回路の構成について  
まず、半導体集積回路の構成について、図１を用いて説明する。本実施形態における半導体集積回路１は、論理回路（順序回路）をテストするためのスキャンテスト機能を有する。スキャンテストでは、論理回路内でシリアルに接続された複数のフリップフロップ回路に対して、外部機器から入力されたスキャンデータを用いて、論理回路の製造後テストが実行され、その出力結果に応じて論理回路内の製造欠陥有無の判定と、また必要に応じて故障診断が行われる。以下、本実施形態においては、スキャンテスト実行期間を「スキャンモード」と呼び、メモリにアクセス可能な通常のシステム動作期間を「通常動作モード」と呼ぶ。なお、半導体集積回路１内にＬＢＩＳＴ（logic built in self test）回路を内蔵し、定期的に論理回路の組み込み自己テストが行われても良い。
【００１０】
図１に示すように、半導体集積回路１は、メモリマクロ１０、論理回路１１、及び内部クロック生成回路１２を含む。なお、図１の例は、論理回路１１とメモリマクロ１０との間で３２ビットのデータ送受信が行われる場合を示しているが、ビット数は任意に設定可能である。また、図１の例では、各ブロックを接続する配線（あるいはバス）の一部が示されている。
【００１１】
メモリマクロ１０は、論理回路１１が各種演算処理を行うために必要な情報（データ、アドレス、プログラム等）を一時的に保持し、この情報を論理回路１１と送受信する。メモリマクロ１０は、後述する複数のＳＲＡＭビットセル、センスアンプ、及びライトドライバ等を含む。なお、メモリマクロは複数設けられても良い。
【００１２】
論理回路１１は、外部機器１００の命令に応答して、半導体集積回路１が各種処理を実行するための演算処理を行う。論理回路１１は、演算処理に用いられる複数のフリップフロップ回路（不図示）を含む。スキャンテスト時には、データのシフトを行うスキャンシフトイネーブル信号に応じて、論理回路１１内の複数のシリアルに接続されたフリップフロップ回路が、シフト動作を行う。
【００１３】
論理回路１１は、外部機器１００から受信したコマンド及びアドレス信号に応じて、メモリマクロ１０に、チップイネーブル信号ＣＥｎ、ライトイネーブル信号ＷＥｎ、スキャンテストイネーブル信号ＳＴＥ、及びビットライトイネーブル信号ＢＷＥを送信する。またメモリマクロ１０内部では外部機器１００から受信した上記信号の状態に応じてセンスアンプイネーブル信号ＳＡＥが作成される。
【００１４】
センスアンプイネーブル信号ＳＡＥは、メモリマクロ１０が備えるセンスアンプがデータを読み出すタイミングを制御するクロック信号である。チップイネーブル信号ＣＥｎは、アクセス対象となるメモリマクロ１０への書き込みや読み出し動作をイネーブル状態とするための信号であり、例えば“Ｌ”（“Ｌｏｗ”）レベルでアサートされる。ライトイネーブル信号ＷＥｎは、書き込み動作をイネーブル状態とするための信号であり、例えば“Ｌ”レベルでアサートされる。スキャンテストイネーブル信号ＳＴＥは、スキャンテストを実行する際に、例えば“Ｈ”（“Ｈｉｇｈ”）レベルでアサートされる。ビットライトイネーブル信号ＢＷＥは、ビット毎にメモリマクロ１０へのデータの書き込みを指示する信号である。例えば、論理回路１１とメモリマクロ１０との間で３２ビットのデータの送受信が行われる場合、ビット数（データビット数）、すなわち論理回路１１からメモリマクロ１０に書き込みデータを送信するデータ線の本数に対応して、ビットライトイネーブル信号ＢＷＥ［０］〜ＢＷＥ［３１］が設けられる。
【００１５】
論理回路１１は、メモリマクロ１０とデータの送受信を行う。例えば、論理回路１１からメモリマクロ１０に、書き込みデータあるいはスキャンデータが送信される（以下、「入力データ」と呼ぶ）。また、メモリマクロ１０から論理回路１１に、読み出しデータあるいはスキャンデータが送信される（以下、「出力データ」と呼ぶ）。以下、論理回路１１とメモリマクロ１０とを接続する入力データ線の本数に対応して、入力データをＤＩ［０］〜ＤＩ［３１］と表記する。同様に、論理回路１１とメモリマクロ１０とを接続する出力データ線の本数に対応して、出力データをＤＯ［０］〜ＤＯ［３１］と表記する。また、データＤＩ［０］〜ＤＩ［３１］を限定しない場合は、データＤＩと表記し、データＤＯ［０］〜ＤＯ［３１］を限定しない場合は、データＤＯと表記する。なお、データ線の本数は、論理回路１１とメモリマクロ１０との間で送受信されるデータのビット数に応じて任意に変更可能である。
【００１６】
内部クロック生成回路１２は、論理回路１１の制御により、外部機器から入力された外部クロックに基づいて、内部で使用する各種クロック信号を生成する。例えば、内部クロック生成回路１２は、メモリマクロ１０にクロック信号ＣＬＫを送信する。
【００１７】
１．２  メモリマクロの構成について  
次にメモリマクロ１０の構成について、図２を用いて説明する。なお、以下の説明において、トランジスタの一端はソースまたはドレインの一方を示し、トランジスタの他端はソースまたはドレインの他方を示す。
【００１８】
図２に示すように、メモリマクロ１０は、メモリセルアレイ２０、ロウデコーダ２１、カラム選択回路２２、センスアンプ２３、出力バッファ２４、入力ラッチ２５、ライトドライバ２６、スキャンデータ出力回路２７、ＳＡＥ選択回路２８、ＣＬＫ制御回路２９、及びＯＲ回路４１を含む。なお、図２の例では、説明を簡略化するため、入力ラッチ２５において、データＤＩ［０］及びビットライトイネーブル信号ＢＷＥ［０］に対応するフリップフロップ回路のみを表記するが、他のデータＤＩ［１］〜ＤＩ［３１］及びビットライトイネーブル信号ＢＷＥ［１］〜ＢＷＥ［３１］に対応するフリップフロップ回路も同じ構成である。
【００１９】
メモリセルアレイ２０は、ロウ方向とカラム方向とに二次元に配置された複数のＳＲＡＭビットセル（不図示）を備えている。メモリセルアレイ２０の詳細については後述する。
【００２０】
ロウデコーダ２１は、ロウアドレスをデコードし、このデコード結果に基づき、メモリセルアレイ２０のロウ、すなわち、ワード線ＷＬのいずれかを選択する。ロウアドレスは、例えば論理回路１１から与えられる。
【００２１】
カラム選択回路２２は、メモリセルアレイ２０のカラムを選択する。より具体的には、カラム選択回路２２は、例えばカラムデコーダ（不図示）から受信したカラムアドレスに応じて、メモリセルアレイ２０のカラムのいずれか、すなわち、メモリセルアレイ２０のカラム方向に延びる複数のビット線対のいずれかを選択する。そしてカラム選択回路２２は、選択したビット線対と、センスアンプ２３あるいはライトドライバ２６とを接続する。カラムアドレスは、例えば外部機器１００から与えられる。
【００２２】
センスアンプ２３は、メモリセルアレイ２０内のＳＲＡＭビットセルに格納されたデータを読み出す。センスアンプ２３は、論理回路１１から送信されるセンスアンプイネーブル信号ＳＡＥに応じて、選択されたビット線対から読み出したデータを増幅して出力バッファに送信する。
【００２３】
出力バッファ２４は、センスアンプ２３から送信されたデータを一時的に保持する。出力バッファ２４に格納されているデータは、データＤＯ（ＤＯ［０］〜ＤＯ［３１］）として、論理回路１１に送信される。例えば、出力バッファ２４は、３２ビットのデータＤＯに対応して、３２ビット分のレジスタを含む。
【００２４】
入力ラッチ２５は、論理回路１１から受信したデータＤＩ（ＤＩ［０］〜ＤＩ［３１］）及びビットライトイネーブル信号ＢＷＥ（ＢＷＥ［０］〜ＢＷＥ［３１］）を一時的に保持する。入力ラッチ２５は、クロック信号ＣＬＫＬＡＴのタイミングに基づいてデータＤＩ及びビットライトイネーブル信号ＢＷＥを取り込む。入力ラッチ２５は、クロック信号ＣＬＫＬＡＴのタイミングに基づいて、ライトドライバ２６にデータＤＩ及びビットライトイネーブル信号ＢＷＥを出力する。また入力ラッチ２５は、センスアンプイネーブル信号ＳＡＥのタイミングに基づいて、スキャンデータ出力回路２７にデータＤＩ及びビットライトイネーブル信号ＢＷＥを出力する。以下、ライトドライバ２６に送信されるデータを「ＤＩａ」と表記し、ビットライトイネーブル信号を「ＢＷＥａ」と表記する。同様にスキャンデータ出力回路２７に送信されるデータを「ＤＩｂ」と表記し、ビットライトイネーブル信号を「ＢＷＥｂ」と表記する。
【００２５】
また、入力ラッチ２５は、各データＤＩ及び各ビットライトイネーブル信号ＢＷＥに対応するマスタースレーブ型のフリップフロップ回路３０及び３１を含む。より具体的には、データＤＩ（ＤＩ［０］〜ＤＩ［３１］）に対応して３２個のフリップフロップ回路３０を含み、ビットライトイネーブル信号ＢＷＥ（ＢＷＥ［０］〜ＢＷＥ［３１］）に対応して３２個のフリップフロップ回路３１を含む。
【００２６】
各フリップフロップ回路３０は、それぞれマスターラッチ回路１０１及びスレーブラッチ回路１０２を含む。
【００２７】
マスターラッチ回路１０１は、通常動作モード及びスキャンモード時に、クロック信号ＣＬＫＬＡＴのタイミングに基づいてデータＤＩを取り込み、スレーブラッチ回路１０２及びライトドライバ２６にデータＤＩａを出力する。すなわち、実データ（書き込みデータ）とスキャンデータとを、同じ入力タイミングで取り込むことができる。より具体的には、例えば、データＤＩ［０］に対応するマスターラッチ回路１０１のデータ入力端子Ｄには、データＤＩ［０］が入力される。マスターラッチ回路１０１のデータ出力端子Ｑは、スレーブラッチ回路１０２のデータ入力端子Ｄ及びライトドライバ２６に接続される。また、マスターラッチ回路１０１のクロック入力端子には、クロック信号ＣＬＫＬＡＴが入力される。マスターラッチ回路１０１は、例えば、クロック信号ＣＬＫＬＡＴが“Ｈ”レベルの期間、データＤＩ［０］を取り込む。
【００２８】
スレーブラッチ回路１０２は、スキャンモード時に、センスアンプイネーブル信号ＳＡＥのタイミングに基づいてデータＤＩａを取り込み、スキャンデータ出力回路２７にデータＤＩｂを出力する。より具体的には、例えば、データＤＩ［０］に対応するスレーブラッチ回路１０２の出力端子は、スキャンデータ出力回路２７に接続される。スキャンモード時には、スレーブラッチ回路１０２のクロック入力端子に、センスアンプイネーブル信号ＳＡＥが入力される。スレーブラッチ回路１０２は、例えば、センスアンプイネーブル信号ＳＡＥが“Ｈ”レベルの期間、マスターラッチ回路１０１から出力されたデータＤＩａ［０］を取り込む。
【００２９】
各フリップフロップ回路３１は、マスターラッチ回路１１１及びスレーブラッチ回路１１２を含む。
【００３０】
マスターラッチ回路１１１は、マスターラッチ回路１０１と同様に、通常動作モード及びスキャンモード時に、クロック信号ＣＬＫＬＡＴのタイミングに基づいてビットライトイネーブル信号ＢＷＥを取り込み、スレーブラッチ回路１１２及びライトドライバ２６にビットライトイネーブル信号ＢＷＥａを出力する。より具体的には、例えば、ビットライトイネーブル信号ＢＷＥ［０］に対応するマスターラッチ回路１１１のデータ入力端子Ｄには、ビットライトイネーブル信号ＢＷＥ［０］が入力される。マスターラッチ回路１１１のデータ出力端子Ｑは、スレーブラッチ回路１１２のデータ入力端子Ｄ及びライトドライバ２６に接続される。また、マスターラッチ回路１１１のクロック入力端子には、クロック信号ＣＬＫＬＡＴが入力される。マスターラッチ回路１１１は、例えば、クロック信号ＣＬＫＬＡＴが“Ｈ”レベルの期間、ビットライトイネーブル信号ＢＷＥ［０］を取り込む。
【００３１】
スレーブラッチ回路１１２は、スレーブラッチ回路１０２と同様に、スキャンモード時に、センスアンプイネーブル信号ＳＡＥのタイミングに基づいてビットライトイネーブル信号ＢＷＥａを取り込み、スキャンデータ出力回路２７にビットライトイネーブル信号ＢＷＥｂを出力する。より具体的には、例えば、ビットライトイネーブル信号ＢＷＥ［０］に対応するスレーブラッチ回路１１２の出力端子は、スキャンデータ出力回路２７に接続される。スキャンモード時には、スレーブラッチ回路１１２のクロック入力端子には、センスアンプイネーブル信号ＳＡＥが入力される。スレーブラッチ回路１１２は、例えば、センスアンプイネーブル信号ＳＡＥが“Ｈ”レベルの期間、マスターラッチ回路１１１から出力されたビットライトイネーブル信号ＢＷＥａ［０］を取り込む。
【００３２】
ＯＲ回路４１の第１入力端子には、ライトイネーブル信号ＷＥｎが入力され、第２入力端子にはスキャンテストイネーブル信号ＳＴＥが入力され、出力端子はライトドライバ２６に接続される。ＯＲ回路４１は、スキャンテストイネーブル信号が“Ｈ”レベルの場合（スキャンモード時）、“Ｈ”レベルの信号をライトドライバ２６に送信し、スキャンテストイネーブル信号が“Ｌ”レベルの場合、ライトイネーブル信号ＷＥｎをライトドライバ２６に送信する。
【００３３】
ライトドライバ２６は、ライトイネーブル信号ＷＥｎがイネーブル状態の時、メモリセルアレイ２０にデータを書き込む。より具体的には、ライトドライバ２６は、入力ラッチ２５から送信されるデータＤＩａ（書き込みデータ）及びビットライトイネーブル信号ＢＷＥａに応じて、書き込み電圧をカラム選択回路２２に出力する、すなわち書き込み動作を行う。
【００３４】
スキャンデータ出力回路２７は、スキャンテストイネーブル信号が“Ｈ”レベルのときに、センスアンプ２３と出力バッファ２４とを接続するデータ線（バス）を介して出力バッファに、データＤＩｂ（スキャンデータ）とビットライトイネーブル信号ＢＷＥｂとの演算結果を送信する。例えば、スキャンデータ出力回路２７は、データＤＩｂ（ＤＩｂ［０］〜ＤＩｂ［３１］）に対応して３２個設けられる。スキャンデータ出力回路２７は、ＸＯＲ回路３２及びｎチャネルＭＯＳトランジスタ３３を含む。
【００３５】
ＸＯＲ回路３２の第１入力端子は、スレーブラッチ回路１０２のデータ出力端子Ｑに接続され、第２入力端子は、スレーブラッチ回路１１２のデータ出力端子Ｑに接続され、出力端子は、トランジスタ３３の一端に接続される。ＸＯＲ回路３２は、各データビットに対して設けられ、データＤＩｂとビットライトイネーブル信号ＢＷＥｂとのＸＯＲ演算を行い、その結果をトランジスタ３３に送信する。例えば、スキャンモード時、ビットライトイネーブル信号ＢＷＥｂが“Ｌ”レベルの場合、ＸＯＲ回路３２は、データＤＩｂ、すなわちスキャンデータをそのままトランジスタ３３に出力する。
【００３６】
トランジスタ３３の他端は、センスアンプ２３と出力バッファ２４とを接続するバスに接続される。トランジスタ３３のゲートには、スキャンテストイネーブル信号ＳＴＥが入力される。スキャンテストイネーブル信号ＳＴＥが“Ｈ”レベルの場合、トランジスタ３３はオン状態にされる。なお、トランジスタ３３は、ｐチャネルＭＯＳトランジスタであっても良い。
【００３７】
ＳＡＥ選択回路２８は、スキャンテストイネーブル信号ＳＴＥが“Ｌ”レベルの場合、センスアンプ２３にセンスアンプイネーブル信号ＳＡＥの反転信号を送信する。また、ＳＡＥ選択回路２８は、スキャンテストイネーブル信号ＳＴＥが“Ｈ”レベルの場合、入力ラッチ２５にセンスアンプイネーブル信号ＳＡＥを送信する。ＳＡＥ選択回路２８は、ＡＮＤ回路３４及び３５、並びにインバータ３６を含む。
【００３８】
ＡＮＤ回路３４の第１入力端子には、スキャンテストイネーブル信号ＳＴＥの反転信号が入力され、第２入力端子には、センスアンプイネーブル信号ＳＡＥが入力される。ＡＮＤ回路３４の出力端子はインバータ３６の入力端子に接続される。インバータ３６の出力端子はセンスアンプ２３に入力される。
【００３９】
ＡＮＤ回路３５の第１入力端子には、スキャンテストイネーブル信号ＳＴＥが入力され、第２入力端子には、センスアンプイネーブル信号ＳＡＥが入力される。ＡＮＤ回路３５の出力端子は入力ラッチ２５のマスターラッチ回路１０１及び１１１のクロック入力端子に接続される。
【００４０】
例えば、スキャンテストイネーブル信号ＳＴＥが“Ｈ”レベルの場合、ＡＮＤ回路３４の第１入力端子には“Ｌ”レベルが入力される。従って、ＡＮＤ回路３４の出力は“Ｌ”レベル固定となる。よって、センスアンプ２３には、ＡＮＤ回路３４からインバータ３６を介して “Ｈ”レベルが入力される。また、ＡＮＤ回路３５の第１入力端子には、“Ｈ”レベルが入力される。従って、ＡＮＤ回路３５は、センスアンプイネーブル信号ＳＡＥを出力する。他方で、スキャンテストイネーブル信号ＳＴＥが“Ｌ”レベルの場合、ＡＮＤ回路３４は、センスアンプイネーブル信号ＳＡＥを出力する。よって、センスアンプ２３には、ＡＮＤ回路３４からインバータ３６を介して センスアンプイネーブル信号ＳＡＥの反転信号が入力される。また、ＡＮＤ回路３５は“Ｌ”レベルを出力する。
【００４１】
従って、スキャンテストイネーブル信号が“Ｈ”レベルの場合、すなわちスキャンモードの場合、センスアンプイネーブル信号ＳＡＥに基づいたタイミングで、スレーブラッチ回路１０２からスキャンデータ出力回路２７を介して出力バッファ２４にスキャンデータが送信される。他方で、スキャンテストイネーブル信号が“Ｌ”レベルの場合、すなわち通常動作モードの場合、センスアンプイネーブル信号ＳＡＥに基づいたタイミングで、センスアンプ２３から出力バッファ２４にメモリセルアレイ２０から読み出したデータが送信される。
【００４２】
ＣＬＫ制御回路２９は、クロック信号ＣＬＫＬＡＴを制御する。より具体的には、ＣＬＫ制御回路２９は、チップイネーブル信号ＣＥｎがアサートされている期間または、スキャンテストイネーブル信号ＳＴＥが“Ｈ”レベルの期間、すなわち通常動作モード期間及びスキャンモード期間、クロック信号ＣＬＫをクロック信号ＣＬＫＬＡＴとして出力する。ＣＬＫ制御回路２９は、インバータ３７及び３８、ＯＲ回路３９、及びＮＡＮＤ回路４０を含む。
【００４３】
インバータ３７の入力端子には、チップイネーブル信号ＣＥｎが入力される。インバータ３７の出力端子は、ＯＲ回路３９の第１入力端子に接続される。ＯＲ回路３９の第２入力端子にはスキャンテストイネーブル信号ＳＴＥが入力される。ＯＲ回路の出力端子はＮＡＮＤ回路４０の第１入力端子に接続される。
【００４４】
インバータ３８の入力端子には、クロック信号ＣＬＫが入力される。インバータ３８の出力端子は、ＮＡＮＤ回路４０の第２入力端子に接続される。ＮＡＮＤ回路４０の出力端子は、入力ラッチ２５のマスターラッチ回路１０１及び１１１のクロック入力端子に接続される。
【００４５】
例えば、チップイネーブル信号ＣＥｎが“Ｌ”レベルでアサートされている場合、あるいは、スキャンテストイネーブル信号ＳＴＥが“Ｈ”レベルとされる場合、ＯＲ回路３９は“Ｈ”レベルを出力する。この結果、ＮＡＮＤ回路４０は、クロック信号ＣＬＫの反転信号に応じて、クロック信号ＣＬＫＬＡＴを出力する。
【００４６】
１．３  メモリセルアレイの構成について  
次に、メモリセルアレイ２０の構成について、図３を用いて説明する。図３の例は、１ビットのデータ出力に対応するメモリセルアレイ２０を示している。入出力のデータビット数分に応じて、同一の回路構成のメモリセルアレイ２０が設けられる。
【００４７】
図３に示すように、メモリセルアレイ２０は、マトリクス配置された複数のＳＲＡＭビットセル５０を備えている。なお、ＳＲＡＭビットセル５０の数は任意である。同一行（ロウ）に配置されたＳＲＡＭビットセル５０は、ロウ方向に延びる複数のワード線ＷＬ（ＷＬ０、…、ＷＬ（ｎ−１）、ｎは１以上の整数）のいずれかに共通に接続される。複数のワード線ＷＬは、ロウデコーダ２１に接続される。同一列（カラム）に配置されたＳＲＡＭビットセル５０は、カラム方向に延びる複数のビット線対ＢＬ及び／ＢＬ（ＢＬ０及び／ＢＬ０、ＢＬ１及び／ＢＬ１、…、ＢＬ（ｍ−１）及び／ＢＬ（ｍ−１）、ｍは２以上の整数）のいずれかに共通に接続される。複数のビット線対ＢＬ及び／ＢＬは、カラム選択回路２２に接続される。ビット線対ＢＬ０及び／ＢＬ０は、カラム０に対応し、ビット線対ＢＬ１及び／ＢＬ１は、カラム１に対応する。他のカラムも同様であり、ビット線対ＢＬ（ｍ−１）及び／ＢＬ（ｍ−１）は、カラム（ｍ−１）に対応する。
【００４８】
ＳＲＡＭビットセル５０の各々は、２つのｎチャネルＭＯＳトランジスタ５１及び５２、並びに２つのインバータ５３及び５４を備える。
【００４９】
トランジスタ５１の一端はビット線対の一方（ビット線ＢＬ）に接続され、他端はＳＲＡＭビットセル５０内のノードＮ１に接続され、ゲートはワード線ＷＬに接続される。トランジスタ５２の一端はビット線対の他方（ビット線／ＢＬ）に接続され、他端はＳＲＡＭビットセル５０内のノードＮ２に接続され、ゲートは、トランジスタ５１のゲートと同様に、ワード線ＷＬに接続される。トランジスタ５１及び５２は、トランスファーゲートトランジスタとして機能する。
【００５０】
インバータ５３の入力端子は、ノードＮ１に接続され、出力端子は、ノードＮ２に接続される。インバータ５４の入力端子は、ノードＮ２に接続され、出力端子は、ノードＮ１に接続される。これにより、ノードＮ１に保持されたデータの反転データがノードＮ２に保持される。以下では、ノードＮ１が“Ｈ”レベルの場合、ＳＲＡＭビットセル５０が“Ｈ”レベル（“１”データ）を保持しているとし、ノードＮ１が“Ｌ”レベルの場合、ＳＲＡＭビットセル５０が“Ｌ”レベル（“０”データ）を保持しているとする。
【００５１】
１．４  通常動作モード時のメモリマクロ内のデータの流れについて
次に、通常動作モード時のメモリマクロ１０内のデータの流れについて、図４を用いて説明する。なお、図４の例では、図２と同様に、説明を簡略化するため、入力ラッチ２５において、データＤＩ［０］及びビットライトイネーブル信号ＢＷＥ［０］に対応するブロックのみを表記する。
【００５２】
図４に示すように、通常動作モードの場合、スキャンテストイネーブル信号ＳＴＥは、“Ｌ”レベルとされる。これにより、スキャンデータ出力回路２７内のトランジスタ３３はオフ状態にされる。また、ＳＡＥ選択回路２８は、センスアンプ２３にセンスアンプイネーブル信号ＳＡＥを転送する。ＣＬＫ制御回路２９には、“Ｌ”レベルのチップイネーブル信号ＣＥｎが入力される。これにより、ＣＬＫ制御回路２９は、入力ラッチ２５にクロック信号ＣＬＫＬＡＴ（すなわちクロック信号ＣＬＫ）を送信する。
【００５３】
この状態で、例えば、ライトイネーブル信号ＷＥｎを“Ｌ”レベルでアサートして書き込み動作を行う場合、入力ラッチ２５には、書き込みデータが入力される。入力ラッチ２５は、クロック信号ＣＬＫＬＡＴに基づいて、データＤＩａ［０］及びビットライトイネーブル信号ＢＷＥａ［０］をライトドライバ２６に送信する。なお、この際、スレーブラッチ回路１０２及び１１２のクロック入力端子は“Ｌ”レベルに固定されているため、入力ラッチ２５からスキャンデータ出力回路２７に、データＤＩｂ［０］及びビットライトイネーブル信号ＢＷＥｂ［０］の変化した値は出力されない。
【００５４】
書き込み動作を行う場合、ライトドライバ２６は、“Ｌ”レベルのライトイネーブル信号ＷＥｎが入力され、動作状態とされる。ライトドライバ２６は、カラム選択回路２２を介してメモリセルアレイ２０に、データＤＩａ［０］及びビットライトイネーブル信号ＢＷＥａ［０］に基づいた書き込み電圧を印加する。
【００５５】
また、例えば、読み出し動作を行う場合、センスアンプ２３は、センスアンプイネーブル信号ＳＡＥに基づいて、読み出したデータを出力バッファ２４に送信する。出力バッファ２４は、読み出しデータを論理回路１１に送信する。
【００５６】
１．５  スキャンモード時のメモリマクロ内のデータの流れについて
次に、スキャンモード時のメモリマクロ１０内のデータの流れについて、図５を用いて説明する。なお、図５の例では、図２と同様に、説明を簡略化するため、入力ラッチ２５において、データＤＩ［０］及びビットライトイネーブル信号ＢＷＥ［０］に対応するブロックのみを表記する。
【００５７】
図５に示すように、スキャンモードの場合、スキャンテストイネーブル信号ＳＴＥは、“Ｈ”レベルとされる。これにより、スキャンデータ出力回路２７内のトランジスタ３３はオン状態にされる。また、ＳＡＥ選択回路２８は、入力ラッチ２５にセンスアンプイネーブル信号ＳＡＥを転送する。更に、ＣＬＫ制御回路２９は、チップイネーブル信号ＣＥｎに関わらず、入力ラッチ２５にクロック信号ＣＬＫＬＡＴ（すなわちクロック信号ＣＬＫ）を送信する。
【００５８】
この状態で、スキャンテストを行う場合、入力ラッチ２５には、スキャンデータが入力される。入力ラッチ２５は、センスアンプイネーブル信号ＳＡＥに基づいたタイミングで、データＤＩｂ［０］及びビットライトイネーブル信号ＢＷＥｂ［０］をスキャンデータ出力回路２７に送信する。スキャンデータ出力回路２７は、データＤＩｂ［０］とビットライトイネーブル信号ＢＷＥｂ［０］とのＸＯＲ演算の結果を、出力バッファ２４に送信する。
【００５９】
スキャンモード時、“Ｈ”レベルのスキャンテストイネーブル信号ＳＴＥがＯＲ回路４１に入力されるため、ＯＲ回路４１の出力は“Ｈ”レベルに固定される。このため、ライトドライバ２６は、非動作状態とされる。すなわち、ライトイネーブル信号ＷＥｎの状態に関わらず、ライトドライバ２６から書き込み電圧は出力されない。従って、ライトイネーブル信号ＷＥｎは、“Ｌ”レベルでアサートされても良い。
【００６０】
また、センスアンプ２３にセンスアンプイネーブル信号ＳＡＥが入力されないため、センスアンプ２３から出力バッファ２４にデータは出力されない。
【００６１】
１．６  本実施形態に係る効果について
本実施形態に係る構成であると、テスト品質を向上できる。本効果につき、以下説明する。
【００６２】
メモリを内蔵する半導体集積回路において、メモリ周辺の論理回路のスキャンテストの実行を、メモリにアクセスせずに実行する場合がある。例えば、メモリマクロ周辺のシステム論理のテストを行う場合、メモリマクロ内では、メモリセルアレイをバイパスし、例えばスキャンテスト用のフリップフロップ回路を介するスキャンチェーンを形成した状態で、スキャンテストが実行される。この場合、スキャンテスト用の回路は、メモリのＷｒａｐｐｅｒモジュール内にソフトマクロとして構成されても良く、メモリマクロ内にハード化して組み込まれても良い。
【００６３】
通常動作とスキャンテストとではデータパスが異なる。このため、メモリマクロにおけるデータの入出力タイミングは、通常動作とスキャンテストとで異なる。例えば、メモリマクロにデータが入力されるタイミングを通常動作とスキャンテストとで合わせた場合でも、メモリにアクセスする通常動作に対して、メモリにアクセスしないスキャンテストの出力タイミングの方が早くなる場合が多い。出力タイミングが異なると、スキャンテストによる動作速度の評価が難しくなり、動作速度に関する品質保証はできなくなる。
【００６４】
また、通常動作とスキャンテストとで入出力タイミングが異なると、半導体集積回路のタイミング設計が難しくなる。例えば、入出力タイミングのずれに合わせて、スキャンテスト時に、通常動作よりも早い（あるいは遅い）周波数のクロックを入れようとすると、クロック設計に手間がかかり、全てのタイミングを合わせることは困難である。更に、実際の動作速度のテストができない。
【００６５】
これに対し、本実施形態に係る構成では、メモリマクロ内の入力バッファに、マスターラッチ回路とスレーブラッチ回路とを備えるマスタースレーブ型のフリップフロップ回路を用いる。マスターラッチ回路は、同じクロック信号ＣＬＫＬＡＴのタイミングに基づいて、実データ（例えば書き込みデータ)及びスキャンデータを取り込むことができる。そして、通常動作モードにおいては、マスターラッチ回路から、ライトドライバに書き込みデータを送信し、スキャンモードにおいては、マスターラッチ回路からスレーブラッチ回路を介して出力バッファにスキャンデータを送信する。センスアンプイネーブル信号に基づいてスレーブラッチ回路を動作させることにより、センスアンプから読み出しデータが出力される場合とほぼ同じタイミングで、スレーブラッチ回路からスキャンデータを出力することができる。すなわち、メモリマクロ内において、通常動作とスキャンテストとにおける入出力タイミングをほぼ同じにすることができる。従って、スキャンテストによる動作速度の評価が容易となり、テスト品質を向上できる。
【００６６】
更に、テスト品質を向上できるため、例えば出荷検査時の不良チップの検出感度を向上できる。よって、出荷製品の不良率を低減できる。
【００６７】
更に、本実施形態に係る構成では、メモリマクロにおける入出力タイミングが、メモリにアクセスする通常動作時とスキャンテスト時とでほぼ等しくなるため、チップ設計のタイミング調整の負荷を軽減することができる。従って、設計に関する開発期間を短縮することができる。
【００６８】
２．第２実施形態
次に、第２実施形態について説明する。第２実施形態では、スキャンデータに対応するデータをメモリセルアレイ２０から読み出して出力する場合について説明する。以下、第１実施形態と異なる点についてのみ、説明する。
【００６９】
２．１  メモリマクロの構成について
まず、メモリマクロ１０の構成について、図６を用いて説明する。図６の例では、説明を簡略化するため、第１実施形態の図２で説明した、ＳＡＥ選択回路２８、ＣＬＫ制御回路２９、及びフリップフロップ回路３１が省略されている。また、スキャンデータ出力回路２７は廃されている。
【００７０】
図６に示すように、メモリマクロ１０は、メモリセルアレイ２０、ロウデコーダ２１、カラム選択回路２２、センスアンプ２３、出力バッファ２４、入力ラッチ２５、ライトドライバ２６、及びＤＣＳ生成回路６０を含む。カラム選択回路２２、センスアンプ２３、出力バッファ２４、入力ラッチ２５、及びライトドライバ２６は、第１実施形態の図２と同様である。
【００７１】
メモリセルアレイ２０には、第１実施形態の図３で説明したメモリセルアレイ２０の構成に加えて、スキャンテスト用のワード線ＷＬ＿ｔｅｓｔと、これに接続される複数（ｍ個）のＳＲＡＭビットセル５０の行（ロウ）とが設けられている。ワード線ＷＬ＿ｔｅｓｔは、他のワード線ＷＬと同様に、ロウデコーダ２１に接続される。本実施形態においては、ワード線ＷＬ＿ｔｅｓｔに接続され、ビット線対ＢＬ０及び／ＢＬ０に接続されたＳＲＡＭビットセル５０のデータは、“Ｌ”レベルに固定される。また、ワード線ＷＬ＿ｔｅｓｔに接続され、ビット線対ＢＬ１及び／ＢＬ１に接続されたＳＲＡＭビットセル５０のデータは、“Ｈ”レベルに固定される。例えば、ＳＲＡＭビットセル５０のデータを“Ｌ”レベルに固定する場合、ＳＲＡＭビットセル５０内のノードＮ２に電源電圧ＶＤＤが印加される。また、例えば、ＳＲＡＭビットセル５０のデータを“Ｈ”レベルに固定する場合、ＳＲＡＭビットセル５０内のノードＮ１に電源電圧ＶＤＤが印加される。
【００７２】
カラム選択回路２２は、ＤＣＳ生成回路６０から送信される信号ＤＣＳ（ＤＣＳ０〜ＤＣＳ（ｍ−１））に基づいて、対応するカラムを選択する。信号ＤＣＳ０〜ＤＣＳ（ｍ−１）は、カラム０〜カラム（ｍ−１）にそれぞれ対応し、例えば“Ｈ”レベルのときに、対応するカラムが選択される。
【００７３】
ＤＣＳ生成回路６０は、カラム選択信号ＣＳＬ（ＣＳＬ０〜ＣＳＬ（ｍ−１））、スキャンテストイネーブル信号ＳＴＥｎ、及びスキャンデータに基づいて、信号ＤＣＳ（ＤＣＳ０〜ＤＣＳ（ｍ−１））を生成し、カラム選択回路２２に送信する。カラム選択信号ＣＳＬ０〜ＣＳＬ（ｍ−１）は、カラムデコーダがカラムアドレスをデコードした結果に基づいており、それぞれカラム０〜カラム（ｍ−１）に対応する。スキャンテストイネーブル信号ＳＴＥｎは、スキャンテストイネーブル信号ＳＴＥの反転信号であり、例えば論理回路１１から供給される。論理回路１１は、通常動作モード時は、スキャンテストイネーブル信号ＳＴＥｎを“Ｈ”レベルとし、スキャンモード時は、スキャンテストイネーブル信号ＳＴＥｎを“Ｌ”レベルとする。例えば、ＤＣＳ生成回路６０は、通常動作モード時には、信号ＤＣＳとしてカラム選択信号ＣＳＬを出力する。他方で、ＤＣＳ生成回路６０は、スキャンモード時には、スキャンデータに基づいた信号ＤＣＳを生成し、これを送信する。
【００７４】
ＤＣＳ生成回路６０は、２つのマルチプレクサ６１及び６２、インバータ６３、及び（ｍ−２）個のＡＮＤ回路６４を含む。
【００７５】
マルチプレクサ６１の第１入力端子には、カラム選択信号ＣＳＬ０が入力され、第２入力端子には、インバータ６３により反転されたスキャンデータ（スレーブラッチ回路１０２の出力データ）が入力される。マルチプレクサ６１から出力された信号が、信号ＤＣＳ０としてカラム選択回路２２に入力される。そして、マルチプレクサ６１は、スキャンテストイネーブル信号ＳＴＥｎが“Ｈ”レベルの場合に、第１入力端子を選択し、“Ｌ”レベルの場合に、第２入力端子を選択する。従って、マルチプレクサ６１は、通常動作モード時には、カラム選択信号ＣＳＬ０を出力し、スキャンモード時には、スキャンデータの反転信号を出力する。スキャンモードにおいて、スキャンデータが“Ｌ”レベルの場合、信号ＤＣＳ０は“Ｈ”レベルとされ、カラム選択回路２２においてカラム０が選択される。他方で、スキャンデータが“Ｈ”レベルの場合、信号ＤＣＳ０は“Ｌ”レベルとされ、カラム選択回路２２においてカラム０は選択されない。
【００７６】
マルチプレクサ６２の第１入力端子には、カラム選択信号ＣＳＬ１が入力され、第２入力端子には、スキャンデータが入力される。マルチプレクサ６２から出力された信号が、信号ＤＣＳ１としてカラム選択回路２２に入力される。そして、マルチプレクサ６２は、マルチプレクサ６１と同様に、スキャンテストイネーブル信号ＳＴＥｎが“Ｈ”レベルの場合に、第１入力端子を選択し、“Ｌ”レベルの場合に、第２入力端子を選択する。従って、マルチプレクサ６２は、通常動作モード時には、カラム選択信号ＣＳＬ１を出力し、スキャンモード時には、スキャンデータを出力する。例えば、スキャンモードにおいて、スキャンデータが“Ｈ”レベルの場合、信号ＤＣＳ１は“Ｈ”レベルとされ、カラム選択回路２２においてカラム１が選択される。他方で、スキャンデータが“Ｌ”レベルの場合、信号ＤＣＳ１は“Ｌ”レベルとされ、カラム選択回路２２においてカラム１は選択されない。
【００７７】
（ｍ−２）個のＡＮＤ回路６４は、信号ＤＣＳ２〜ＤＣＳ（ｍ−１）にそれぞれ対応する。ＡＮＤ回路６４の第１入力端子には、カラム選択信号ＣＳＬ２〜ＣＳＬ（ｍ−１）のいずれかが入力され、第２入力端子には、スキャンテストイネーブル信号ＳＴＥｎが入力される。ＡＮＤ回路６４から出力された信号が、信号ＤＣＳ２〜ＤＣＳ（ｍ−１）のいずれかとしてカラム選択回路２２に入力される。そして、ＡＮＤ回路６４は、スキャンテストイネーブル信号ＳＴＥｎが“Ｈ”レベルの場合は、カラム選択信号ＣＳＬ（ＣＳＬ２〜ＣＳＬ（ｍ−１））を出力し、“Ｌ”レベルの場合は、“Ｌ”レベルを出力する。
【００７８】
２．２  スキャンモード時のメモリマクロ内のデータの流れについて
次に、スキャンモード時のメモリマクロ１０内のデータの流れについて、引き続き図６を用いて説明する。
【００７９】
スキャンモードの場合、ロウデコーダ２１は、ワード線ＷＬ＿ｔｅｓｔを選択する。また、スキャンテストイネーブル信号ＳＴＥｎは、“Ｌ”レベルとされる。
【００８０】
この状態において、スキャンデータが“Ｌ”レベルの場合、ＤＣＳ生成回路６０は、信号ＤＣＳ０を“Ｈ”レベルとし、信号ＤＣＳ１〜ＤＣＳ（ｍ−１）を“Ｌ”レベルとする。すると、カラム選択回路２２はカラム０を選択する。ワード線ＷＬ＿ｔｅｓｔ並びにビット線対ＢＬ０及び／ＢＬ０に接続されたＳＲＡＭビットセル５０は“Ｌ”レベルに固定されているため、センスアンプ２３は、“Ｌ”レベルのデータを読み出す。
【００８１】
他方で、スキャンデータが“Ｈ”レベルの場合、ＤＣＳ生成回路６０は、信号ＤＣＳ１を“Ｈ”レベルとし、信号ＤＣＳ０及びＤＣＳ２〜ＤＣＳ（ｍ−１）を“Ｌ”レベルとする。すると、カラム選択回路２２はカラム１を選択する。ワード線ＷＬ＿ｔｅｓｔ並びにビット線対ＢＬ１及び／ＢＬ１に接続されたＳＲＡＭビットセル５０は“Ｈ”レベルに固定されているため、センスアンプ２３は、“Ｈ”レベルのデータを読み出す。
【００８２】
すなわち、スキャンデータが“Ｌ”レベルの場合、メモリセルアレイ２０から“Ｌ”データが読み出される。スキャンデータが“Ｈ”レベルの場合、メモリセルアレイ２０から“Ｈ”データが読み出される。
【００８３】
２．３  本実施形態に係る効果について
本実施形態に係る構成において、第１実施形態と同様の効果が得られる。
【００８４】
更に、本実施形態は、メモリセルアレイ２０にスキャンテスト用にデータが固定されたＳＲＡＭビットセルを備え、スキャンデータに基づいて、ＳＲＡＭビットセルのデータを読み出すことができる。これにより、メモリマクロからスキャンデータを出力する場合においても、通常動作モードと同様に、メモリセルアレイから読み出したデータを出力できる。すなわち、スキャンモードにおいてもメモリにアクセスし、通常動作と同様に読み出しデータを出力することができる。従って、メモリマクロ内において、通常動作とスキャンテストとにおける入出力タイミングのずれを更に低減させることができる。
【００８５】
３．変形例等
上記実施形態に係る半導体集積回路は、論理回路(図1中の11)と、論理回路に接続されたメモリマクロ(図1中の10)とを含む。メモリマクロは、メモリビットセルを含むメモリセルアレイ(図2中の20)と、論理回路に接続された出力バッファ(図2中の24)と、第１クロック信号(SAE)に基づいて、出力バッファにメモリセルアレイから読み出したデータを出力するセンスアンプ(図2中の23)と、アサートされた書き込み制御信号（WEn）に基づいてメモリセルアレイに書き込み電圧を印加するライトドライバ(図2中の26) と、第２クロック信号(CLKLAT)に基づいて論理回路からの入力データを取り込み、書き込み制御信号がアサートされた書き込み動作時に第２クロック信号に基づいてライトドライバに入力データを出力し、論理回路のスキャンテスト時に第１クロック信号に基づいて入力データを出力バッファに出力する第１フリップフロップ回路(図2中の30)とを含む。
【００８６】
上記実施形態を適用することにより、テスト品質を向上できる半導体集積回路を提供できる。
【００８７】
なお、実施形態は上記説明した形態に限定されるものではなく、種々の変形が可能である。
【００８８】
更に、上記実施形態におけるメモリはＳＲＡＭに限定されない。書き込み及び読み出し可能なメモリであれば良い。更に、半導体集積回路は、ＣＰＵ（central processing unit）であっても良く、ＧＰＵ（graphics processing unit）あるいはＤＳＰ（digital signal processor）等のハードウエアエンジンであっても良く、これらを含むＳｏＣ（system on chip）であっても良い。
【００８９】
更に、上記実施形態における「接続」とは、間に例えばトランジスタあるいは抵抗等、他の何かを介在させて間接的に接続されている状態も含む。
【００９０】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００９１】
１…半導体集積回路、１０…メモリマクロ、１１…論理回路、１２…内部クロック生成回路、２０…メモリセルアレイ、２１…ロウデコーダ、２２…カラム選択回路、２３…センスアンプ、２４…出力バッファ、２５…入力ラッチ、２６…ライトドライバ、２７…スキャンデータ出力回路、２８…ＳＡＥ選択回路、２９…ＣＬＫ制御回路、３０、３１…フリップフロップ回路、３２…ＸＯＲ回路、３３、５１、５２…ｎチャネルＭＯＳトランジスタ、３４、３５、６４…ＡＮＤ回路、３６〜３８、５３、５４、６３…インバータ、３９、４１…ＯＲ回路、４０…ＮＡＮＤ回路、６０…ＤＣＳ生成回路、６１、６２…マルチプレクサ、１００…外部機器、１０１、１１１…マスターラッチ回路、１０２、１１２…スレーブラッチ回路
【図１】
2018137024.tif 000003
【図２】
2018137024.tif 000004
【図３】
2018137024.tif 000005
【図４】
2018137024.tif 000006
【図５】
2018137024.tif 000007
【図６】
2018137024.tif 000008