JP2005309787A - 中央演算処理装置及びマイクロコンピュータ - Google Patents

中央演算処理装置及びマイクロコンピュータ Download PDF

Info

Publication number
JP2005309787A
JP2005309787A JP2004126089A JP2004126089A JP2005309787A JP 2005309787 A JP2005309787 A JP 2005309787A JP 2004126089 A JP2004126089 A JP 2004126089A JP 2004126089 A JP2004126089 A JP 2004126089A JP 2005309787 A JP2005309787 A JP 2005309787A
Authority
JP
Japan
Prior art keywords
cache memory
storage area
test
data
result
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
Application number
JP2004126089A
Other languages
English (en)
Inventor
Yasuhiko Saito
靖彦 斎藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Electronics Corp
Original Assignee
NEC Electronics Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Electronics Corp filed Critical NEC Electronics Corp
Priority to JP2004126089A priority Critical patent/JP2005309787A/ja
Priority to US11/108,647 priority patent/US20050262401A1/en
Publication of JP2005309787A publication Critical patent/JP2005309787A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/14Implementation of control logic, e.g. test mode decoders
    • G11C29/16Implementation of control logic, e.g. test mode decoders using microprogrammed units, e.g. state machines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0401Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals in embedded memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/1208Error catch memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/36Data generation devices, e.g. data inverters
    • G11C2029/3602Pattern generator

Abstract

【課題】内部クロックに基づいた連続アクセスによるキャッシュメモリの不具合を検出することができる中央演算処理装置及びマイクロコンピュータを提供すること
【解決手段】中央演算処理装置30は、キャッシュメモリ40と、そのキャッシュメモリ40に接続されるテスト回路50と、結果格納領域60とを備える。このテスト回路50は、キャッシュメモリ40を検査するためのプログラマブルなテストパターン55を格納し、そのテストパターン55に従って、キャッシュメモリ40に対するデータの読み書きを指示する。キャッシュメモリ40から読み出される結果データRSTは、結果格納領域60に格納される。この結果格納領域60は、複数のレジスタ70からなるシフトレジスタを備える。複数の結果データRSTは、この複数のレジスタ70に順次格納される。
【選択図】 図2

Description

本発明は、中央演算処理装置及びマイクロコンピュータに関し、特に、内蔵キャッシュメモリを検査する回路を備えた中央演算処理装置及びマイクロコンピュータに関する。
近年、マイクロコンピュータの処理能力を高めるため、キャッシュメモリがCPUに内蔵され、また、そのCPUが動作するクロック周波数(内部クロック)の向上が要求されている。CPU外部の回路にはCPUほどの動作速度は必要とされないため、また、過去に開発されたマクロ等の資産を流用するため、内部クロックより低い周波数のクロック(外部クロック)が、それらCPU外部の回路には供給される。
このようなマイクロコンピュータに対して、良品不良品を選別するため動作テストが行われるが、その動作テストには、キャッシュメモリのテストも含まれる。従来、キャッシュメモリを検査するためのモードとして、「キャッシュテストモード(CTM;Cache Test Mode)」と「BIST(Built−in Self Test)モード」が知られている。
キャッシュテストモードによれば、マイクロコンピュータ外部から入力される信号によって、アドレスの指定やテストデータの書き込みが行われる。よって、データの読み書きは、「外部クロック」に基づいて実行される。このように、メモリを外部から直接アクセスしテストするテスト方法が、特許文献1に開示されている。
一方、BISTモードによれば、CPUに内蔵されるテストパターンに従い、「内部クロック」に基づいてキャッシュメモリのテストが行われる。このテストパターンは、キャッシュメモリを検査するためのデータ/アドレス/コマンド群から成り、予めCPUに作り込まれ固定される。このBISTモードによれば、CPU全体として不具合があるかどうかが検出され、最終的な結果、すなわち良否、が出力される。
特開昭60−189047号公報
内部クロックで動作するCPUに内蔵されるキャッシュメモリは、内部クロックに同期して動作する。このキャッシュメモリのテストとして、キャッシュメモリの特性から、時間的、あるいは位置的に連続してアクセスを行う「連続アクセス」のテストが必要とされる。例えば、同一のワード線に繋がった隣接するメモリセルに対して連続的にアクセスが行われるテストが必要とされる。また、例えば、同一のビット線に対して連続的に書き込み/読み込みが行われるテストが必要とされる。
しかしながら、キャッシュテストモードにおけるキャッシュメモリに対する連続的なアクセスは、外部クロックに基づいた連続アクセスであり、内部クロックの観点では連続的なアクセスではない。つまり、書き込みデータやアクセス対象のアドレスは、内部クロックの数サイクルの間固定される。従って、内部クロックに基づいた「連続アクセス」によって引き起こされる不具合をテストすることができない。また、BISTモードでは、良否の結果を出力するのみであるため、キャッシュメモリのどの部分が不良であったのか解析することができない。よって、ファンクションテストで複合事象を発生させることによって、不具合を検出する必要があった。ここで、そのファンクションテストで用いられるファンクションパタンの作成の難易度は高く、また、その作成に要する時間も長かった。
したがって、本発明の目的は、内部クロックに基づいた連続アクセスによるキャッシュメモリの不具合を検出することができる中央演算処理装置及びマイクロコンピュータを提供することにある。
また、本発明の他の目的は、キャッシュメモリの不具合の原因を解析することができる中央演算処理装置及びマイクロコンピュータを提供することにある。
以下に、[発明を実施するための最良の形態]で使用される番号・符号を用いて、[課題を解決するための手段]を説明する。これらの番号・符号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]との対応関係を明らかにするために括弧付きで付加されたものである。ただし、それらの番号・符号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
本発明に係る中央演算処理装置(30)は、キャッシュメモリ(40)と、そのキャッシュメモリ(40)に接続されるテスト回路(50)と、結果格納領域(60)とを備える。このテスト回路(50)は、キャッシュメモリ(40)を検査するためのプログラマブルなテストパターン(55)を格納し、そのテストパターン(55)に従って、キャッシュメモリ(40)に対するデータの読み書きを指示する。キャッシュメモリ(40)から読み出される結果データ(RST)は、結果格納領域(60)に格納される。この結果格納領域(60)は、複数のレジスタ(70)からなるシフトレジスタを備える。複数の結果データ(RST)は、この複数のレジスタ(70)に順次格納される。
このように、中央演算処理装置(30)の動作クロック(CLK2)に基づいて、キャッシュメモリ(40)へのテストデータの読み書きが実行される。従って、中央演算処理装置(30)の動作クロック(CLK2)に基づいた「連続アクセス」によって引き起こされるキャッシュメモリ(40)の不具合を検出することが可能となる。
本発明に係るマイクロコンピュータ(10)は、以上のような中央演算処理装置(30)と、その中央演算処理装置(30)に接続される入出力ポート(25)とを備える。テストパターン(55)は、入出力ポート(25)からテスト回路(50)に書き込まれる。また、結果データ(RST)は、結果格納領域(60)から入出力ポート(25)に出力される。
このように、全ての結果データ(RST)はマイクロコンピュータ(10)から出力されるので、キャッシュメモリ(40)の不具合を詳細に解析することが可能となり、その原因を特定することが容易になる。更に、テストパターン(55)は、プログラマブルであり、事前には固定されない。ユーザは、出力された結果を見て、テスタから新たなテストパターン(55)を設定してもよい。このように、ユーザは、キャッシュメモリ(40)の不具合の原因を容易に絞り込むことが可能となる。
本発明に係るマイクロコンピュータ(10)は、第1クロック周波数(CLK1)で動作する第1回路ブロック(11)と、第2クロック周波数(CLK2)で動作する第2回路ブロック(12)とを備える。第2クロック周波数(CLK2)は、第1クロック周波数(CLK1)より高い。この第2回路ブロック(12)は、キャッシュメモリ(40)と、キャッシュメモリ(40)に接続されるテスト回路(50)と、結果格納領域(60)とを備える。このテスト回路(50)は、キャッシュメモリ(40)を検査するためのプログラマブルなテストパターン(55)を格納し、そのテストパターン(55)に従って、第2クロック周波数(CLK2)でキャッシュメモリ(40)に対するデータの読み書きを指示する。キャッシュメモリ(40)から読み出される結果データ(RST)は、結果格納領域(60)に格納される。
この結果格納領域(60)は、複数のレジスタ(70)からなるシフトレジスタを備える。複数の結果データ(RST)は、この複数のレジスタ(70)に順次格納される。複数のレジスタ(70)の数は、第2クロック周波数(CLK2)の第1クロック周波数(CLK1)に対する比以上であると好適である。
本発明に係るマイクロコンピュータ(10)において、第1回路ブロック(11)は、第2回路ブロック(12)に接続された入出力ポート(25)を備える。この時、テストパターン(55)は、第1クロック周波数(CLK1)に基づいて、入出力ポート(25)からテスト回路(50)に書き込まれる。また、結果データ(RST)は、第1クロック周波数(CLK1)に基づいて、結果格納領域(60)から入出力ポート(25)に出力される。第2回路ブロック(12)は、結果格納領域(60)に接続されたセレクタ回路(75)を更に備えてもよい。この時、セレクタ回路(75)は、第1クロック周波数(CLK1)に基づいて、複数の結果データ(RST)を順番に結果格納領域(60)から入出力ポート(25)に出力する。
テストパターン(55)は、キャッシュメモリ(40)に書き込まれる書き込みデータを含む。本発明に係るマイクロコンピュータ(10)において、結果格納領域(60’)は、テスト回路(50’)内部に形成されてもよい。この時、結果格納領域(60’)は、結果データ(RST)及び書き込みデータを格納する。これにより、格納領域を削減することが可能となる。
本発明に係るマイクロコンピュータ(10)は、キャッシュメモリ(40)に接続されたBIST(Built−in Self Test)回路を更に備えてもよい。この場合、BISTモードに従った検査の後に、本発明に係る検査が実行される。これにより、得られた結果データ(RST)に基づいて不具合が詳細に解析される。
本発明に係るマイクロコンピュータ(10)の検査方法は、第1クロック(CLK2)で動作する中央演算処理装置(30)を備えるマイクロコンピュータ(10)の検査方法である。この検査方法は、(A)キャッシュメモリ(40)を検査するためのテストパターン(55)を第1記憶領域(50)に書き込むステップと、(B)そのテストパターン(55)に従って、第1クロック(CLK2)で、キャッシュメモリ(40)に対してデータの読み書きを実行するステップと、(C)キャッシュメモリ(40)から読み出される結果データ(RST)を第2記憶領域(60)に格納するステップと、(D)結果データ88RST)を第2記憶領域(60)からマイクロコンピュータ(10)外部に出力するステップとを備える。
本発明に係る中央演算処理装置及びマイクロコンピュータによれば、内部クロックに基づいた連続アクセスによるキャッシュメモリの不具合を検出することが可能となる。
本発明に係る中央演算処理装置及びマイクロコンピュータによれば、ファンクションパタンを用いることなく、キャッシュメモリの不具合の原因を解析することが可能となる。
添付図面を参照して、本発明による中央演算処理装置(CPU;Central Processing Unit)及び、それを備えるマイクロコンピュータを説明する。
図1は、本発明に係るマイクロコンピュータの構成を示すブロック図である。図1において、マイクロコンピュータ10は、第1回路ブロック11及び第2回路ブロック12を備える。第1回路ブロック11は周辺回路を備え、その周辺回路は、PLL(Phase Locked Loop)回路により生成される所定の周波数のクロック信号により駆動される。以下、周辺回路に供給されるこのクロック信号は、「外部クロック:CLK1」あるいは「第1クロック」と参照される。
一方、第2回路ブロック12は、CPUを備える。このCPUは内蔵のPLL回路を備え、外部から入力される外部クロックCLK1は、この内蔵PLL回路により高速化されてCPU内部の回路に供給される。つまり、CPUは、外部クロックCLK1の周波数よりも高いクロック周波数で駆動される。以下、CPUが動作するこのクロック信号は、「内部クロック:CLK2」と参照される。例えば、内部クロックCLK2の周波数は、外部クロックCLK1の周波数の4倍である。
また、第2回路ブロック12は、複数のキャッシュメモリを備える。例えば、CPUは、1次キャッシュ(L1)を内蔵し、この1次キャッシュは内部クロックCLK2で動作する。この1次キャッシュは、命令キャッシュとデータキャッシュに分かれていてもよい。また、2次キャッシュ(L2)が第2回路ブロック12内に形成されてもよい。この2次キャッシュは、内部クロックCLK2で動作してもよいし、例えば、内部クロックCLK2の半分の周波数で動作してもよい。このように、第2回路ブロック12は、内部クロックCLK2や、外部クロックCLK1よりも高い周波数のクロック(以下、「第2クロック」と参照される)で動作する。
図1に示されるように、第1回路ブロック11は、外部RAM15や入出力ポート25を含む。この入出力ポート25は、マイクロコンピュータ10に対するデータの入出力に用いられる。また、第2回路ブロック12は、キャッシュメモリ40、テスト回路50、及び結果格納領域60を備える。これら第2回路ブロック12内の回路は、データバス20を介して、外部RAM15や入出力ポート25に接続される。また、テスト回路50及び結果格納領域60は、キャッシュメモリ40に接続される。
テスト回路50は、キャッシュメモリ40を検査するためのテストパターン55を格納する。このテストパターン55は、外部クロックCLK1に基づき、入出力ポート25からデータバス20を介してテスト回路50に書き込まれる。すなわち、このテストパターン55はプログラマブルである。テスト回路50は、このテストパターン55に従い、外部クロックCLK1より高速な第2クロックで、キャッシュメモリ40に対するデータの読み書きを指示する。キャッシュメモリ40からデータが読み出される場合、その読み出されたデータは結果格納領域60に格納される。そして、そのデータは、外部クロックCLK1に基づき、結果格納領域60から入出力ポート25に出力される。
以下、本発明に係るマイクロコンピュータ10の構成、及びテスト回路50の動作について更に詳しく説明する。以下の説明において、CPUに内蔵される1次キャッシュ(L1)に対するテスト動作が代表的に示される。2次キャッシュ(L2)に対するテスト動作も、以下の説明と同様に行われる。その場合、テスト回路50は、L1とL2とに別々に設けられてもよい。
(第一の実施の形態)
図2は、本発明の第一の実施の形態に係るCPUの構成を示すブロック図である。このCPU30は内蔵PLL(図示されない)を備え、この内蔵PLLは、外部から入力された外部クロックCLK1を高速化し、内部クロックCLK2を生成する。
図2に示されるように、CPU30は、1次キャッシュとしてのキャッシュメモリ40、テスト回路50、結果格納領域60、及びセレクタ回路75を備える。キャッシュメモリ40は、データバス20(図1参照)に接続され、通常時はCPU30の高速動作のために用いられる。テスト回路50は、データバス20及びキャッシュメモリ40に接続され、内部クロックCLK2で動作する。結果格納領域60は、キャッシュメモリ40のセンスアンプにバスドライバを介して接続され、テスト動作時にキャッシュメモリ40から読み出されるデータを格納する。セレクタ回路75は、データバス20、テスト回路50、及び結果格納領域60に接続される。
テスト回路50は、キャッシュメモリ40を検査するためのテストパターン55を格納する。図3は、このテストパターン55の内容の一例を示すテーブルである。図3に示されるように、テストパターンは、キャッシュメモリ40に書き込まれる書き込みデータ、アクセス対象のメモリセルのアドレス、及びコマンドを含む。コマンドの列において、「R」はリードを示し、「W」はライトを示す。
図3に示されるテストパターン55によれば、8連続の命令が実行される。すなわち、アドレスA1におけるデータが読み出され、アドレスA2におけるデータが読み出され、アドレスA3におけるデータが読み出され、アドレスA4にデータ「0」が書き込まれ、アドレスA5にデータ「1」が書き込まれ、アドレスA6におけるデータが読み出され、アドレスA7におけるデータが読み出され、アドレスA8におけるデータが読み出される。
このテストパターン55が示す内容は、ユーザが自由に設定し得る。例えば、連続的に実行される命令の数は16個でもよい。また、アドレスの指定において、始点と飛び幅が指定されてもよい。ここで、「連続アクセス」に起因する不良を検出するため、同一のワード線や同一のビット線が連続的にアクセスされるように、アドレスを指定することが好適である。また、書き込みデータは、キャッシュテストモードにおいて予め設定され、テストパターン55には、連続的にデータを読み出すコマンド(R)のみが設定されてもよい。
本実施の形態において、テストパターン55は、テスト毎に外部から設定され得る。つまり、テストパターン55は、プログラマブルである。具体的には、まず、テスト回路50に入力されるテスト設定イネーブル信号TE(図2参照)がHighに設定される。これにより、データバス20から入力されるデータは、テスト回路50へ供給されるようになる。ユーザは、入出力ポート25に接続されたテスタ(端末)を用いて、テストパターン55をマイクロコンピュータ10に入力する。入力されたテストパターン55は、入出力ポート25及びデータバス20を介して、テスト回路50に書き込まれる。ここで、このテストパターン55の書き込みは、外部クロックCLK1に基づいて実行される。
テストパターン55の書き込みが完了した後、キャッシュメモリ40のテスト動作が実行される。具体的には、まず、テスト回路50に入力される連続テストモード信号TMがHighに設定される。連続テストモード信号TMに応答して、テスト回路50は、複数のテスト信号STを連続してキャッシュメモリ40に出力する。これら複数のテスト信号STのそれぞれは、図3に示された複数の命令を示す。つまり、テスト回路50は、テストパターン55に従い、キャッシュメモリ40に対するデータの読み書きを指示する。これにより、キャッシュメモリ40の所定のアドレスには書き込みデータが書き込まれたり、キャッシュメモリ40の所定のアドレスからデータが読み出されたりする。ここで、テスト回路50による指示、すなわち、キャッシュメモリ40に対するデータの読み書きは、内部クロックCLK2に基づいて実行される。
上記データの読み書き動作において、キャッシュメモリ40から少なくとも1つのデータ(以下、結果データRSTと参照される)が読み出された場合、その結果データRSTは結果格納領域60に格納される。図2に示されるように、この結果格納領域60は、例えば、複数のレジスタ70を備える。複数のレジスタ70の各々は、1つの結果データRSTを格納する。つまり、読み出される結果データRSTが1ビットデータであれば、各レジスタ70は1ビットのレジスタであり、読み出される結果データRSTが64ビットデータであれば、各レジスタ70は64ビットのレジスタである。結果データRSTが複数ビットのデータである場合、その結果データRSTは、レジスタ70にパラレルに入力される。
キャッシュメモリ40から複数の結果データRSTが読み出される場合、その複数の結果データRSTは、複数のレジスタ70に順次格納される。つまり、これら複数のレジスタ70は、図2に示されるように、シフトレジスタを構成している。例えば、読み出される結果データRSTが64ビットデータの場合、その結果データRSTは複数のレジスタ70をパラレルにシフトする。その結果、複数の結果データRSTは、全て複数のレジスタ70に格納される。この複数の結果データRSTの結果格納領域60への格納も、内部クロックCLK2に基づいて実行される。
結果格納領域60に格納された少なくとも1つの結果データRSTは、所定の期間後、データバス20を介して入出力ポート25に出力される。例えば、図2に示されるように、セレクタ回路75は、複数のレジスタ70のそれぞれに格納されている複数の結果データRSTを、順番に出力信号OUTとして入出力ポート25に出力する。このセレクタ回路75による選択動作は、テスト回路50からの制御信号によって制御される。この複数の結果データRSTの入出力ポート25への出力は、外部クロックCLK1に基づいて実行される。
以上に示されたように、本発明に係るCPU30及びマイクロコンピュータ10によれば、内部クロックCLK2に基づいて、キャッシュメモリ40へのテストデータの読み書きが連続的に実行される。従って、内部クロックCLK2に基づいた「連続アクセス」によって引き起こされるキャッシュメモリ40の不具合を検出することが可能となる。また、キャッシュメモリ40から読み出される結果データRSTの全ては、結果格納領域60に格納され、入出力ポート25から出力され得る。従って、キャッシュメモリ40の不具合を詳細に解析することが可能となり、その原因を特定することが容易になる。更に、テストパターン55は、プログラマブルであり、事前には固定されない。ユーザは、出力された結果を見て、テスタから新たなテストパターン55を設定してもよい。これにより、どのようなテストパターン55の時に不具合が検出されるか、ユーザは認識することが可能となる。このように、キャッシュメモリ40の不具合の原因(不良モード)を容易に絞り込むことが可能となる。
本実施の形態に係るキャッシュメモリ40のテスト動作の一例を、図4及び図5に示されたタイミングチャートを参照して説明する。図4において、外部クロックCLK1、内部クロックCLK2、テストパターン信号PAT、テスト設定イネーブル信号TE、及び連続テストモード信号TMが示されている。図5において、外部クロックCLK1、内部クロックCLK2、テスト信号ST、テスト設定イネーブル信号TE、連続テストモード信号TM、及び出力信号OUTが示される。また、図4及び図5に示されるように、この例において、内部クロックCLK2の周波数は、外部クロックCLK1の周波数の4倍である。また、以下の説明は正論理に基づき記載されているが、テスト回路50は負論理に基づいて動作してもよい。
まず、図4に示されるように、時刻t1において、テスト設定イネーブル信号TEがHighに設定される。これにより、データバス20から入力されるデータは、テスト回路50へ供給されるようになる。ユーザは、入出力ポート25に接続されたテスタを用いて、例えば図3に示されたテストパターン55をマイクロコンピュータ10に入力する。入力されたテストパターン55を示すテストパターン信号PATは、入出力ポート25及びデータバス20を介して、テスト回路50に書き込まれる。ここで、このテストパターン信号PAT(テストパターン55)の書き込みは、外部クロックCLK1に基づいて実行される。テストパターン55の書き込みが完了した後、時刻t2において、テスト設定イネーブル信号TEはLowに変わる。
次に、図5に示されるように、時刻t11において、連続テストモード信号TMがHighに設定される。すると、テスト回路50は、図3に示されるテストパターン55に対応した複数のテスト信号STを連続してキャッシュメモリ40に出力し始める。この複数のテスト信号STの出力は、内部クロックCLK2に基づいて連続的に実行される。そして、各々のテスト信号STに従い、キャッシュメモリ40において、データの読み書きが実行される。
具体的には、時刻t11〜t12において、アドレスA1のデータが読み出され、読み出された結果データRSTが、結果格納領域60のレジスタ70に格納される。時刻t12〜t13において、アドレスA2のデータが読み出され、読み出された結果データRSTが、結果格納領域60のレジスタ70に格納される。アドレスA1に対応する結果データRSTは、隣接するレジスタ70にシフトする。時刻t13〜時刻t14において、アドレスA3のデータが読み出され、読み出された結果データRSTが、結果格納領域60のレジスタ70に格納される。アドレスA1及びA2に対応する結果データRSTは、それぞれ隣接するレジスタ70にシフトする。
時刻t14〜t15において、アドレスA4にデータ「0」が書き込まれる。時刻t15〜t16において、アドレスA5にデータ「1」が書き込まれる。その後、時刻t16〜t19において、アドレスA6、A7、A8のデータが読み出され、それぞれ読み出された結果データRSTが、結果格納領域60のレジスタ70に格納される。既に格納されている結果データRSTは、それぞれ隣接するレジスタ70にシフトする。このように、内部クロックCLK2に基づいて、キャッシュメモリ40へのテストデータの読み書きが連続的に実行される。従って、内部クロックCLK2に基づいた「連続アクセス」によって引き起こされるキャッシュメモリ40の不具合を検出することが可能となる。
時刻t19において、複数のレジスタ70に格納された複数の結果データRSTの出力が開始する。これは、例えば、連続テストモード信号TMがHighになってから、内部クロック信号CLK2で8サイクル後に制御信号を出力するように、テスト回路50が設定されていれば実現される。この結果データRSTの出力を開始するタイミングの設定は任意である。
セレクタ回路75は、テスト回路50から制御信号を受け取ると、複数の結果データRSTを順番に読み出す。そして、複数の結果データRSTのそれぞれを示す複数の出力信号OUTは、データバス20を介して入出力ポート25に出力される。ここで、複数の出力信号OUTの出力は、外部クロックCLK1に基づいて実行される。例えば、図5に示されるように、時刻t19〜t20において、1つの結果データRSTに対応する1つの出力信号OUTが入出力ポート25に出力される。また、時刻t20からのサイクルにおいて、他の結果データRSTに対応する1つの出力信号OUTが入出力ポート25に出力される。このように、キャッシュメモリ40から読み出される結果データRSTは、全て入出力ポート25から出力され得る。従って、キャッシュメモリ40の不具合を詳細に解析することが可能となり、その原因を特定することが容易になる。
以上の例において、読み出される結果データRSTの最大数は8である。よって、レジスタ70は、8個あれば十分である。連続アクセスによって引き起こされる不具合を検出するためには、最低2個のレジスタ70が必要である。結果データRSTの解析や実際の運用を考慮すると、外部クロックCLK1の1サイクルに相当する内部クロックCLK2のサイクル数程度のレジスタ70があることが好ましい。つまり、レジスタ70の数は、内部クロックCLK2の周波数と外部クロックCLK1の周波数との比(上記の例においては4)以上であると好適である。
本発明に係る「連続テストモード」は、キャッシュテストモードやBISTモードと併用することが可能である。例えば、キャッシュメモリ40に書き込まれる書き込みデータは、キャッシュテストモードにおいて予め設定され、テストパターン55には、連続的にデータを読み出すコマンドのみが設定されてもよい。また、図2に示されるように、本発明に係るCPU30は、BIST回路90を内蔵してもよい。このBIST回路90は、BISTモード信号TBによって動作する。この場合、キャッシュメモリ40の検査にあたり、まず、BISTモードに従って、不具合が存在するか否かが検出される。不具合が検出された場合、本発明に係る「連続テストモード」が実行され、得られた結果データRSTに基づいて不具合が詳細に解析される。この解析の結果は、BISTモードで用いられる内蔵テストパターンの改良にフィードバックされてもよい。
(第二の実施の形態)
図6は、本発明の第二の実施の形態に係るCPUの構成を示すブロック図である。図6において、図1に示された構成と同様の構成には同一の符号が付され、その説明は適宜省略される。本実施の形態に係るCPU30’は、キャッシュメモリ40及びそのキャッシュメモリ40に接続されたテスト回路50’を備える。キャッシュメモリ40及びテスト回路50’は、データバス20に接続される。
図6に示されるように、テスト回路50’は、結果格納領域60’、制御回路81、及びアドレス/コマンド格納領域82を備える。テスト設定イネーブル信号TEがHighになると、第一の実施の形態と同様に、テストパターン55がテスト回路50’に書き込まれる。図3に示されたように、このテストパターン55は、書き込みデータ/アドレス/コマンド群から成る。本実施の形態において、制御回路81は、入力されたテストパターン55のうち、「書き込みデータ」を結果格納領域60’に格納し、「アドレス及びコマンド」をアドレス/コマンド格納領域82に格納する。つまり、本実施の形態によれば、結果格納領域60’は、テスト回路50’内部に形成され、結果データRSTの格納だけでなく、テストパターン55の格納にも用いられる。
テストパターン55の書き込みが完了した後、第一の実施の形態と同様に、内部クロックCLK2に基づいて、キャッシュメモリ40のテスト動作が実行される。つまり、連続テストモード信号TMがHighに設定されると、制御回路81は、複数のテスト信号STを連続してキャッシュメモリ40に出力する。キャッシュメモリ40から結果データRSTが読み出される場合、その結果データRSTは、結果格納領域60’に順次格納される。この結果格納領域60’は、例えば、シフトレジスタを含む。その後、結果格納領域60’に格納された結果データRSTは、データバス20を介して入出力ポート25に出力される。
このように、本発明の第二の実施の形態によれば、テストパターン55と結果データRSTを格納するために、同じ格納領域が共用される。よって、第一の実施の形態による効果に加えて、格納領域を削減できるという効果が得られる。
図1は、本発明に係るマイクロコンピュータの構成を示すブロック図である。 図2は、本発明の第一の実施の形態に係る中央演算処理装置の構成を示すブロック図である。 図3は、本発明に係るテストパターンの内容を示すテーブルである。 図4は、本発明に係るキャッシュメモリのテスト動作を示すタイミングチャートである。 図5は、本発明に係るキャッシュメモリのテスト動作を示すタイミングチャートである。 図6は、本発明の第二の実施の形態に係る中央演算処理装置の構成を示すブロック図である。
符号の説明
10 マイクロコンピュータ
11 第1回路ブロック
12 第2回路ブロック
15 RAM
20 データバス
25 入出力ポート
30 CPU
40 キャッシュメモリ
50 テスト回路
55 テストパターン
60 結果格納領域
70 レジスタ
75 セレクタ回路
81 制御回路
82 アドレス/コマンド格納領域
90 BIST回路

Claims (11)

  1. キャッシュメモリと、
    前記キャッシュメモリに接続されるテスト回路と、
    結果格納領域と
    を具備し、
    前記テスト回路は、前記キャッシュメモリを検査するためのプログラマブルなテストパターンを格納し、前記テストパターンに従って、前記キャッシュメモリに対するデータの読み書きを指示し、
    前記キャッシュメモリから読み出される結果データは、前記結果格納領域に格納される
    中央演算処理装置。
  2. 請求項1に記載の中央演算処理装置において、
    前記結果格納領域は、複数のレジスタからなるシフトレジスタを備え、
    複数の前記結果データは、前記複数のレジスタに順次格納される
    中央演算処理装置。
  3. 請求項1又は2に記載の前記中央演算処理装置と、
    前記中央演算処理装置に接続される入出力ポートと
    を具備し、
    前記テストパターンは、前記入出力ポートから前記テスト回路に書き込まれ、
    前記結果データは、前記結果格納領域から前記入出力ポートに出力される
    マイクロコンピュータ。
  4. 第1クロック周波数で動作する第1回路ブロックと、
    前記第1クロック周波数より高い第2クロック周波数で動作する第2回路ブロックと
    を具備し、
    前記第2回路ブロックは、
    キャッシュメモリと、
    前記キャッシュメモリに接続されるテスト回路と、
    結果格納領域と
    を備え、
    前記テスト回路は、前記キャッシュメモリを検査するためのプログラマブルなテストパターンを格納し、前記テストパターンに従って、前記第2クロック周波数で前記キャッシュメモリに対するデータの読み書きを指示し、
    前記キャッシュメモリから読み出される結果データは、前記結果格納領域に格納される
    マイクロコンピュータ。
  5. 請求項4に記載のマイクロコンピュータにおいて、
    前記結果格納領域は、複数のレジスタからなるシフトレジスタを備え、
    複数の前記結果データは、前記複数のレジスタに順次格納される
    マイクロコンピュータ。
  6. 請求項5に記載のマイクロコンピュータにおいて、
    前記複数のレジスタの数は、前記第2クロック周波数の前記第1クロック周波数に対する比以上である
    マイクロコンピュータ。
  7. 請求項4乃至6のいずれかに記載のマイクロコンピュータにおいて、
    前記第1回路ブロックは、前記第2回路ブロックに接続された入出力ポートを備え、
    前記テストパターンは、前記第1クロック周波数に基づいて、前記入出力ポートから前記テスト回路に書き込まれ、
    前記結果データは、前記第1クロック周波数に基づいて、前記結果格納領域から前記入出力ポートに出力される
    マイクロコンピュータ。
  8. 請求項7に記載のマイクロコンピュータにおいて、
    前記第2回路ブロックは、前記結果格納領域に接続されたセレクタ回路を更に備え、
    前記セレクタ回路は、前記第1クロック周波数に基づいて、複数の前記結果データを順番に前記結果格納領域から前記入出力ポートに出力する
    マイクロコンピュータ。
  9. 請求項3乃至8のいずれかに記載のマイクロコンピュータにおいて、
    前記テストパターンは、前記キャッシュメモリに書き込まれる書き込みデータを含み、
    前記結果格納領域は、前記テスト回路内部に形成され、前記結果データ及び前記書き込みデータを格納する
    マイクロコンピュータ。
  10. 請求項3乃至9のいずれかに記載のマイクロコンピュータにおいて、
    前記キャッシュメモリに接続されたBIST(Built−in Self Test)回路を更に具備する
    マイクロコンピュータ。
  11. 第1クロックで動作する中央演算処理装置を備えるマイクロコンピュータにおいて、
    (A)キャッシュメモリを検査するためのテストパターンを第1記憶領域に書き込むステップと、
    (B)前記テストパターンに従って、前記第1クロックで、前記キャッシュメモリに対してデータの読み書きを実行するステップと、
    (C)前記キャッシュメモリから読み出される結果データを第2記憶領域に格納するステップと、
    (D)前記結果データを前記第2記憶領域から前記マイクロコンピュータ外部に出力するステップと
    を具備する
    マイクロコンピュータの検査方法。
JP2004126089A 2004-04-21 2004-04-21 中央演算処理装置及びマイクロコンピュータ Pending JP2005309787A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004126089A JP2005309787A (ja) 2004-04-21 2004-04-21 中央演算処理装置及びマイクロコンピュータ
US11/108,647 US20050262401A1 (en) 2004-04-21 2005-04-19 Central processing unit and micro computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004126089A JP2005309787A (ja) 2004-04-21 2004-04-21 中央演算処理装置及びマイクロコンピュータ

Publications (1)

Publication Number Publication Date
JP2005309787A true JP2005309787A (ja) 2005-11-04

Family

ID=35376625

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004126089A Pending JP2005309787A (ja) 2004-04-21 2004-04-21 中央演算処理装置及びマイクロコンピュータ

Country Status (2)

Country Link
US (1) US20050262401A1 (ja)
JP (1) JP2005309787A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006004419A (ja) * 2004-06-14 2006-01-05 Samsung Electronics Co Ltd データキャッシュが内蔵された半導体集積回路およびそれの実速度テスト方法
JP2014002557A (ja) * 2012-06-18 2014-01-09 Fujitsu Ltd 試験データ生成方法、試験方法、試験データ生成装置、および試験データ生成プログラム
US10014072B2 (en) 2015-11-02 2018-07-03 Fujitsu Limited Diagnosis method for diagnosing memory, transmission apparatus, and computer-readable recording medium

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7856577B2 (en) * 2007-11-21 2010-12-21 Lsi Corporation Command language for memory testing
US7882406B2 (en) 2008-05-09 2011-02-01 Lsi Corporation Built in test controller with a downloadable testing program
WO2013114615A1 (ja) * 2012-02-03 2013-08-08 富士通株式会社 半導体集積回路、半導体集積回路の試験方法
KR20150029213A (ko) * 2013-09-09 2015-03-18 삼성전자주식회사 다양한 테스트 패턴을 획득하는 자체 테스트 회로를 포함하는 시스템 온 칩 및 그것의 자체 테스트 방법
US10249380B2 (en) * 2017-01-27 2019-04-02 Qualcomm Incorporated Embedded memory testing with storage borrowing

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1078917A (ja) * 1996-09-04 1998-03-24 Oki Electric Ind Co Ltd キャッシュメモリ装置とその診断方法
JP2001035192A (ja) * 1999-07-19 2001-02-09 Nec Corp メモリ搭載集積回路およびそのテスト方法
JP2002367397A (ja) * 2001-06-04 2002-12-20 Toshiba Corp メモリテスト兼初期化回路
JP2003208797A (ja) * 2002-01-11 2003-07-25 Hitachi Ltd 半導体装置及び該半導体装置のテスト方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5615335A (en) * 1994-11-10 1997-03-25 Emc Corporation Storage system self-test apparatus and method
ATE313847T1 (de) * 2001-06-20 2006-01-15 Broadcom Corp Selbsttest-schaltung für cache-speicher
US7269766B2 (en) * 2001-12-26 2007-09-11 Arm Limited Method and apparatus for memory self testing
US7171598B2 (en) * 2002-05-08 2007-01-30 Credence Systems Corporation Tester system having a multi-purpose memory

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1078917A (ja) * 1996-09-04 1998-03-24 Oki Electric Ind Co Ltd キャッシュメモリ装置とその診断方法
JP2001035192A (ja) * 1999-07-19 2001-02-09 Nec Corp メモリ搭載集積回路およびそのテスト方法
JP2002367397A (ja) * 2001-06-04 2002-12-20 Toshiba Corp メモリテスト兼初期化回路
JP2003208797A (ja) * 2002-01-11 2003-07-25 Hitachi Ltd 半導体装置及び該半導体装置のテスト方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006004419A (ja) * 2004-06-14 2006-01-05 Samsung Electronics Co Ltd データキャッシュが内蔵された半導体集積回路およびそれの実速度テスト方法
JP2014002557A (ja) * 2012-06-18 2014-01-09 Fujitsu Ltd 試験データ生成方法、試験方法、試験データ生成装置、および試験データ生成プログラム
US10014072B2 (en) 2015-11-02 2018-07-03 Fujitsu Limited Diagnosis method for diagnosing memory, transmission apparatus, and computer-readable recording medium

Also Published As

Publication number Publication date
US20050262401A1 (en) 2005-11-24

Similar Documents

Publication Publication Date Title
US7506226B2 (en) System and method for more efficiently using error correction codes to facilitate memory device testing
US7508724B2 (en) Circuit and method for testing multi-device systems
US8201037B2 (en) Semiconductor integrated circuit and method for controlling semiconductor integrated circuit
US7159145B2 (en) Built-in self test system and method
US6359818B2 (en) Apparatus for analyzing failure for semiconductor memory device
JP4044075B2 (ja) 半導体集積回路の試験回路及び試験方法
US20050262401A1 (en) Central processing unit and micro computer
JPH10199294A (ja) モニタ・モードおよびテスタ・モードを備えた内蔵自己検査回路を有する集積回路メモリ素子およびその動作方法
JP2001148199A (ja) 自己テスト回路内蔵半導体記憶装置
JP3367848B2 (ja) 半導体デバイスのテスト装置
US7230861B2 (en) Semiconductor integrated circuit
JPH10144095A (ja) 半導体メモリ試験装置用不良解析メモリ
US7315479B2 (en) Redundant memory incorporating serially-connected relief information storage
US20080215939A1 (en) Semiconductor memory device with fail-bit storage unit and method for parallel bit testing
JP2010102791A (ja) 半導体装置およびそのテスト方法
JP4514028B2 (ja) 故障診断回路及び故障診断方法
JPWO2002093583A1 (ja) 半導体メモリ試験装置及び不良解析用アドレス発生方法
US7626876B2 (en) Semiconductor memory device and its test method
KR100286186B1 (ko) 원 칩 클럭 동기식 메모리 장치
US20080155363A1 (en) Bist circuit device and self test method thereof
JP2006277821A (ja) 半導体集積回路
JP3348632B2 (ja) 高速試験機能つきメモリ
JP2006268919A (ja) メモリの組み込み自己テスト回路および自己テスト方法
JP2006252635A (ja) 半導体メモリ試験装置
JP2006318552A (ja) 半導体記憶装置及びテスト方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070308

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100506

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100906