JP3060825B2 - Semiconductor integrated circuit and inspection method thereof - Google Patents

Semiconductor integrated circuit and inspection method thereof

Info

Publication number
JP3060825B2
JP3060825B2 JP6083109A JP8310994A JP3060825B2 JP 3060825 B2 JP3060825 B2 JP 3060825B2 JP 6083109 A JP6083109 A JP 6083109A JP 8310994 A JP8310994 A JP 8310994A JP 3060825 B2 JP3060825 B2 JP 3060825B2
Authority
JP
Japan
Prior art keywords
data
memory
bus
input
read
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.)
Expired - Fee Related
Application number
JP6083109A
Other languages
Japanese (ja)
Other versions
JPH0745099A (en
Inventor
俊則 前田
滋 渡里
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP6083109A priority Critical patent/JP3060825B2/en
Publication of JPH0745099A publication Critical patent/JPH0745099A/en
Application granted granted Critical
Publication of JP3060825B2 publication Critical patent/JP3060825B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Testing Or Measuring Of Semiconductors Or The Like (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は半導体集積回路とその検
査方法に関し、特に自己診断可能な半導体集積回路とそ
の検査方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a semiconductor integrated circuit and a test method therefor, and more particularly to a semiconductor integrated circuit capable of self-diagnosis and a test method therefor.

【0002】[0002]

【従来の技術】メモリを内蔵した半導体集積回路では、
論理部のテストに加えてメモリ部のメモリセルに断線、
短絡およに静電容量結合などデバイス欠陥によるアドレ
ス選択、読み出しおよび書き込み機能の故障がないかど
うかを確認する必要がある。
2. Description of the Related Art In a semiconductor integrated circuit having a built-in memory,
In addition to the test of the logic part, disconnection of the memory cell of the memory part,
It is necessary to confirm whether there is a failure in the address selection, read and write functions due to device defects such as short circuit and capacitance coupling.

【0003】このメモリのテストは、何らかの方法でメ
モリ部にアドレスとデータを与え、書き込み動作後に書
き込まれたデータを読み出して、読み出したデータと書
き込んだデータ(期待値)とを比較する必要がある。
In this memory test, it is necessary to give an address and data to the memory unit by some method, read data written after a write operation, and compare the read data with the written data (expected value). .

【0004】このメモリ部へのアドレスとデータの与え
方としては、(1)アドレス端子とデータ端子を用い
て、メモリの検査時には半導体集積回路外部から供給す
る方法と、(2)アドレスの発生手段とデータ生成手段
(検査系列発生手段ともいう)とを、半導体集積回路内
部に設ける方法、の2つが知られている。
The address and data are supplied to the memory section by (1) a method of using an address terminal and a data terminal to supply the data from outside the semiconductor integrated circuit at the time of memory inspection, and (2) a method of generating an address. And a method of providing a data generation unit (also referred to as a test sequence generation unit) inside a semiconductor integrated circuit.

【0005】特に、方法(2)では、アドレスの生成手
段とデータ発生手段に加え、読み出したデータの判定手
段を加えるか、あるいはデータ発生手段と応答の圧縮手
段を兼ねこれに圧縮結果の判定手段を設けることでメモ
リ部の自己診断を可能としているものもある。
In particular, in the method (2), in addition to the address generating means and the data generating means, means for determining read data is added, or the data generating means and the response compressing means are combined, and the compression result determining means is used. In some cases, the self-diagnosis of the memory unit is enabled by providing a memory.

【0006】[0006]

【発明が解決しようとする課題】しかしながら上記方法
(1)では、外部にアドレスとデータを発生させる装置
が必要であり、アドレスとデータを与えるためのテスト
プログラムなどを準備する必要がある。また、アドレス
端子から各メモリにアドレスを供給するバスを新たに設
けなければならない。さらに、複数のメモリを内蔵する
半導体集積回路においてこれらメモリの検査を並列に行
なうことが困難なため、検査に時間がかかる。半導体集
積回路をシステムに組み込んだ後には、この検査方法の
利用は困難なことから、メモリ部のテストが機能テスト
のみとなるという欠点があった。
However, in the above-mentioned method (1), a device for generating an address and data externally is required, and it is necessary to prepare a test program for providing the address and data. Further, a bus for supplying an address from the address terminal to each memory must be newly provided. Further, in a semiconductor integrated circuit having a plurality of memories therein, it is difficult to perform tests on these memories in parallel, so that it takes time to perform the tests. After the semiconductor integrated circuit is incorporated in the system, it is difficult to use this inspection method, so that there is a drawback that the test of the memory unit is only a functional test.

【0007】また、上記方法(2)では、(1)のごと
くバスを新たに設ける必要はないが、アドレス生成手段
は既存のアドレスラッチを用いるにしても、データ生成
手段および応答の圧縮手段などをメモリ毎に設ける必要
があり、特に複数のメモリを内蔵する半導体集積回路で
は増加するこれらハードウエアの合計が半導体集積回路
上で大きな規模となり、メモリの検査を自己診断可能と
するためにはさらに圧縮結果の判定手段などを設ける必
要があるため、半導体集積回路の面積増大を招き、価格
が上昇したり歩留まりが低下するという問題点を有して
いた。
In the above method (2), it is not necessary to newly provide a bus as in (1). However, even if an existing address latch is used as the address generating means, the data generating means and the response compressing means can be used. It is necessary to provide a memory for each memory. Particularly, in a semiconductor integrated circuit having a plurality of memories, the increase of the total hardware becomes large on the semiconductor integrated circuit. Since it is necessary to provide a means for judging the compression result, the area of the semiconductor integrated circuit is increased, and there is a problem that the price increases and the yield decreases.

【0008】従って本発明は上記問題点に鑑み、複数の
メモリを内蔵する半導体集積回路において、メモリの検
査時にメモリの接続されたバスを利用し、メモリの検査
時には前記バスにデータ生成手段とデータ比較手段を接
続することで高速に自己診断できる半導体集積回路およ
び検査方法を提供することにある。
Accordingly, the present invention has been made in view of the above problems, and in a semiconductor integrated circuit incorporating a plurality of memories, a bus to which a memory is connected is used at the time of testing a memory. An object of the present invention is to provide a semiconductor integrated circuit and a test method which can perform a self-diagnosis at a high speed by connecting a comparing means.

【0009】[0009]

【課題を解決するための手段】上記目的を達成するた
め、請求項1の発明の講じた手段は、1つ以上のメモリ
が接続されたバスを複数本と、前記全てのバスに接続さ
れ書き込み対象のメモリに対しては書き込みパターンデ
ータとなり、読み出し対象のメモリに対しては期待値と
なるパターンデータを供給するデータ生成手段と、前記
複数本のバスの中から読み出し対象のメモリが接続され
たバスを選択して前記読み出し対象のメモリから読み出
されたデータを第1の入力とし、前記第1の入力で選択
されたバス以外のバスを選択してデータ生成手段の出力
する期待値を第2の入力とし、これら第1,第2の入力
データを比較しその比較結果を出力するデータ比較手段
とを設ける構成としたものである。
In order to achieve the above-mentioned object, according to the present invention, a plurality of buses to which at least one memory is connected, and a bus which is connected to all the buses and has a Data generation means for supplying pattern data that becomes write pattern data to the target memory and pattern data that becomes an expected value to the memory to be read, and a memory to be read from the plurality of buses are connected. A bus is selected and data read from the memory to be read is used as a first input, and a bus other than the bus selected by the first input is selected and an expected value output by the data generation means is set to a first input. And a data comparing means for comparing the first and second input data and outputting the comparison result.

【0010】請求項3の発明の講じた手段は、請求項1
の発明において、さらにN個以上の複数個のメモリが接
続された1本のバスをN個に分割するN−1個のバスス
イッチを有し、前記データ比較手段は前記N個に分割さ
れたバス毎に設けられた構成としたものである。
[0010] The means taken by the invention of claim 3 is claim 1.
The invention further comprises N-1 bus switches for dividing one bus to which N or more memories are connected into N buses, and wherein the data comparing means is divided into N buses. This is a configuration provided for each bus.

【0011】請求項4の発明の講じた手段は、請求項1
の発明において、前記データ比較手段に入力される任意
の2つのバスのバス幅が前記データ比較手段のビット幅
より小さい場合、1つの入力として複数のバスを選択
し、選択した複数のバスのバス幅の合計がなお前記デー
タ比較手段のビット幅に満たない場合は、バス幅に合わ
せてデータの乗らない部分をマスクする機能を前記デー
タ比較手段に加えた構成としたものである。
[0011] The means adopted by the invention of claim 4 is claim 1.
In the invention, when a bus width of any two buses input to the data comparison unit is smaller than a bit width of the data comparison unit, a plurality of buses are selected as one input, and a bus of the selected plurality of buses is selected. If the sum of the widths is still less than the bit width of the data comparing means, the data comparing means has a function of masking a portion where no data is placed according to the bus width.

【0012】請求項5の発明の講じた手段は、請求項1
の発明において、前記複数本のバスの1つが命令バスで
あって、前記命令バスに接続されたメモリがダイレクト
マップあるいはセットアソシエイティブのいずれかの方
式を採る、データメモリ及びタグメモリを有する命令キ
ャッシュのデータメモリであり、前記データ比較手段は
前記データメモリから命令バスに読み出したデータを第
1の入力とし、前記データ生成手段が前記命令バス以外
のバスに出力した期待値を第2の入力とし、この比較結
果の出力を行ない、前記タグメモリから読み出したデー
タを第1の入力とし、命令キャッシュをアクセスするア
ドレスのタグ部を第2の入力とし、その比較結果を出力
するタグ比較手段と、前記複数の比較手段から出力され
る良否判定情報を格納する比較結果格納手段とを設ける
構成としたものである。
The measures taken by the invention of claim 5 are the following:
An instruction cache including a data memory and a tag memory, wherein one of the plurality of buses is an instruction bus, and a memory connected to the instruction bus employs either a direct map or a set associative method. Wherein the data comparison means uses the data read from the data memory to the instruction bus as a first input, and the expected value output from the data generation means to a bus other than the instruction bus as a second input. Tag comparison means for outputting the comparison result, using the data read from the tag memory as a first input, the tag portion of the address for accessing the instruction cache as a second input, and outputting the comparison result; A comparison result storage unit for storing pass / fail judgment information output from the plurality of comparison units. That.

【0013】請求項6の発明の講じた手段は、請求項1
の発明において、前記複数本のバスの1つがデータバス
であって、前記データバスに接続されたメモリがダイレ
クトマップあるいはセットアソシエイティブのいずれか
の方式を採る、データメモリ及びタグメモリを有するデ
ータキャッシュのデータメモリであり、前記データ比較
手段は前記データメモリからデータバスに読み出したデ
ータを第1の入力とし、前記データ生成手段が前記デー
タバス以外のバスに出力した期待値を第2の入力としそ
の比較結果の出力を行ない、前記タグメモリから読み出
したデータを第1の入力とし、データキャッシュをアク
セスするアドレスのタグ部を第2の入力としその比較結
果を出力するタグ比較手段と、前記複数の比較手段から
出力される良否判定情報を格納する比較結果格納手段と
を設ける構成としたものである。
[0013] The means taken by the invention of claim 6 is claim 1.
A data cache having a data memory and a tag memory, wherein one of the plurality of buses is a data bus, and a memory connected to the data bus adopts either a direct map or a set associative method. Wherein the data comparison means uses data read from the data memory to a data bus as a first input, and the expected value output from the data generation means to a bus other than the data bus as a second input. A tag comparing means for outputting the comparison result, using the data read from the tag memory as a first input, a tag portion of an address for accessing a data cache as a second input, and outputting the comparison result, And comparison result storage means for storing the pass / fail judgment information output from the comparison means. It is intended.

【0014】請求項7の発明の講じた手段は、請求項1
の発明において、前記複数本のバスは命令バスとデータ
バスとを含み、前記命令バス及びデータバスにそれぞれ
命令キャッシュのデータメモリ及びデータキャッシュの
データメモリが接続された構成としたものである。
The measures taken by the invention of claim 7 are the following:
In the invention, the plurality of buses include an instruction bus and a data bus, and a data memory of an instruction cache and a data memory of a data cache are connected to the instruction bus and the data bus, respectively.

【0015】請求項8の発明の講じた手段は、請求項5
または6の発明において、さらに通常時にはキャッシュ
をアクセスするアドレスのタグ部を選択し、タグメモリ
の検査時にはデータ生成手段から出力されるバス上のデ
ータを選択するセレクタを設ける構成としたものであ
る。
The measures taken by the invention of claim 8 are the following.
Alternatively, in the invention according to the sixth aspect, a selector for selecting a tag portion of an address to access the cache in a normal state and selecting data on a bus output from the data generating means when checking the tag memory is provided.

【0016】請求項9の発明の講じた手段は、メモリへ
の書き込み時にはデータ生成手段からメモリの接続され
た全てのバスに書き込みパターンデータを出力すること
により、前記バスのそれぞれに接続された複数のメモリ
への並列書き込みを行なう処理と、メモリの読み出し検
査時にはデータ比較手段の第1の入力として前記複数本
のバスの中から1つのバスを選択し、前記データ比較手
段の第2の入力として前記第1の入力として選択された
バス以外のバスを選択し、前記第1の入力にはバスに接
続されたメモリを読み出したデータを、前記第2の入力
には前記データ生成手段の出力する期待値を供給するこ
とにより、読み出しデータと期待値との比較を行なう処
理とを備えたものである。
According to a ninth aspect of the present invention, at the time of writing to the memory, the data generation means outputs write pattern data to all the buses connected to the memory, so that the plurality of buses connected to each of the buses are output. Performing one of the plurality of buses as the first input of the data comparing means during the process of performing parallel writing to the memory and the first input of the data comparing means at the time of the memory read inspection, and as the second input of the data comparing means A bus other than the bus selected as the first input is selected, data read from a memory connected to the bus is output as the first input, and output of the data generating means is output as the second input. By providing the expected value, a process for comparing the read data with the expected value is provided.

【0017】請求項11の発明の講じた手段は、請求項
9の発明において、N−1個のバススイッチにより少な
くともN個以上の複数個のメモリが接続された1本のバ
スをN個に分割可能とし、メモリの書き込み時にはバス
は分割せずデータ生成手段が前記バスに出力する書き込
みパターンデータを前記N個以上の複数個のメモリに並
列に書き込み、読み出し検査時には前記バスを分割しN
個のメモリから前記N個に分割されたバスにそれぞれ読
み出したデータを出力し前記分割されたバス毎に設けら
れたN個のデータ比較手段の第1の入力として前記読み
出したデータを入力し第2の入力としてデータ生成手段
が出力する期待値を入力することにより、N個のメモリ
の読み出し検査を並列に行なうようにしたものである。
According to an eleventh aspect of the present invention, in the ninth aspect of the present invention, one bus in which at least N or more memories are connected by N-1 bus switches is reduced to N buses. The write pattern data output to the bus by the data generating means is written in parallel to the N or more memories, and the bus is divided for read inspection to divide the bus.
And outputs the read data from the memories to the N divided buses, and inputs the read data as a first input of N data comparison means provided for each of the divided buses. By inputting the expected value output from the data generating means as the input 2, the reading inspection of the N memories is performed in parallel.

【0018】請求項12の発明の講じた手段は、請求項
9の発明において、前記データ比較手段の第1の入力と
して選択されたバスが前記データ比較手段のビット幅よ
り小さい場合、メモリの接続された複数のバスを第1の
入力として同時に選択することで複数のバスに接続され
たメモリの読み出しおよび期待値との比較動作を並列に
行なうようにしたものである。
In a twelfth aspect of the present invention, in the ninth aspect of the present invention, when the bus selected as the first input of the data comparing means is smaller than the bit width of the data comparing means, the connection of the memory is performed. By simultaneously selecting the plurality of buses as the first input, the operations of reading out the memories connected to the plurality of buses and comparing with the expected value are performed in parallel.

【0019】請求項13の発明の講じた手段は、請求項
9の発明において、前記複数本のバスの1つが命令バス
であって、前記命令バスにダイレクトマップあるいはセ
ットアソシエイティブのいずれかの方式を採る、データ
メモリ及びタグメモリを有する命令キャッシュのデータ
メモリが接続され、前記データメモリの良否判定は前記
データメモリから命令バスに読み出したデータを第1の
入力とし、前記データ生成手段が前記命令バス以外のバ
スに出力した期待値を第2の入力として前記データ比較
手段で比較することにより行ない、命令キャッシュのタ
グメモリの良否判定は前記タグメモリから読み出したデ
ータを第1の入力とし、命令キャッシュをアクセスする
アドレスのタグ部を第2の入力とするタグ比較手段で比
較することにより行ない、それぞれのデータ比較手段及
びタグ比較手段から出力される良否判定情報を比較結果
格納手段に入力することにより、命令キャッシュのデー
タメモリとタグメモリとの読み出し検査を並列に行なう
ようにしたものである。
The means adopted by the invention of claim 13 is the invention according to claim 9, wherein one of the plurality of buses is an instruction bus, and the instruction bus is either a direct map or a set associative system. The data memory of an instruction cache having a data memory and a tag memory is connected, and the quality of the data memory is determined by using data read from the data memory to an instruction bus as a first input, and An expected value output to a bus other than the bus is compared as a second input by the data comparing means, and the acceptability of the tag memory of the instruction cache is determined by using the data read from the tag memory as a first input. By comparing the tag part of the address for accessing the cache with the tag comparing means having the second input, The read / write check of the data memory and the tag memory of the instruction cache is performed in parallel by inputting the pass / fail judgment information output from the respective data comparison means and the tag comparison means to the comparison result storage means. is there.

【0020】請求項14の発明の講じた手段は、請求項
9の発明において、前記複数本のバスの1つがデータバ
スであって、前記データバスにダイレクトマップあるい
はセットアソシエイティブのいずれかの方式を採る、デ
ータメモリ及びタグメモリを有するデータキャッシュの
データメモリが接続され、前記データメモリの良否判定
は前記データメモリからデータバスに読み出したデータ
を第1の入力とし、前記データ生成手段が前記データバ
ス以外のバスに出力した期待値を第2の入力として前記
データ比較手段で比較することにより行ない、データキ
ャッシュのタグメモリの良否判定は前記タグメモリから
読み出したデータを第1の入力とし、データキャッシュ
をアクセスするアドレスのタグ部を第2の入力とするタ
グ比較手段で比較することにより行ない、それぞれのデ
ータ比較手段及びタグ比較手段から出力される良否判定
情報を比較結果格納手段に入力することにより、命令キ
ャッシュのデータメモリとタグメモリとの読み出し検査
を並列に行なうようにしたものである。
According to a fourteenth aspect of the present invention, in the ninth aspect of the present invention, one of the plurality of buses is a data bus, and any one of a direct map and a set associative system is used for the data bus. The data memory of a data cache having a data memory and a tag memory is connected, and the quality of the data memory is determined by using data read from the data memory to a data bus as a first input, and An expected value output to a bus other than the bus is compared as a second input by the data comparing means, and the quality of the tag memory of the data cache is determined by using the data read from the tag memory as a first input. Tag comparison means using the tag part of the address accessing the cache as the second input By inputting the pass / fail judgment information output from the respective data comparing means and the tag comparing means to the comparison result storing means, the reading inspection of the data memory and the tag memory of the instruction cache is performed in parallel. It was done.

【0021】請求項15の発明の講じた手段は、請求項
13または14の発明において、通常時にはキャッシュ
をアクセスするアドレスのタグ部を選択し、タグメモリ
の検査時にはデータ生成手段から出力されるバス上のデ
ータを選択するセレクタを備え、前記セレクタの出力を
タグメモリとタグ比較手段に入力することでタグメモリ
の検査時の書き込みデータあるいはタグとの比較に用い
る期待値とをデータメモリの書き込みデータあるいは期
待値と共通化できるようにしたものである。
According to a fifteenth aspect of the present invention, in the invention of the thirteenth or fourteenth aspect, a tag portion of an address for accessing a cache is selected in a normal state, and a bus output from the data generating means when a tag memory is inspected. A selector for selecting the above data, and by inputting the output of the selector to the tag memory and the tag comparing means, the write data at the time of inspection of the tag memory or the expected value used for comparison with the tag is written to the data memory. Alternatively, it can be shared with the expected value.

【0022】請求項16の発明の講じた手段は、請求項
9の発明において、メモリへの書き込み時にはデータ生
成手段からメモリの接続された全てのバスに書き込みパ
ターンデータを出力することにより、前記バスのそれぞ
れに接続された複数のメモリへの並列書き込みを行なう
処理と同時に、データ比較手段の第1の入力として前記
複数本のバスの中から1つのバスを選択し、前記データ
比較手段の第2の入力として前記第1の入力として選択
されたバス以外のバスを選択し、前記第1の入力と前記
第2の入力に与えられる前記データ生成手段の出力する
パターンデータを比較することにより、選択したバス配
線の故障を検出する処理を行い、メモリの読み出し検査
時にはデータ比較手段の第1の入力として前記複数本の
バスの中から1つのバスを選択し、前記データ比較手段
の第2の入力として前記第1の入力として選択されたバ
ス以外のバスを選択し、前記第1の入力にはバスに接続
されたメモリを読み出したデータを、前記第2の入力に
は前記データ生成手段の出力する期待値を供給すること
により、読み出しデータと期待値との比較を行なう処理
とを備えたものである。
The means adopted by the invention of claim 16 is the invention according to claim 9, wherein the writing pattern data is output from the data generation means to all the buses connected to the memory at the time of writing to the memory. And simultaneously selecting one of the plurality of buses as the first input of the data comparing means, and performing the parallel writing to the plurality of memories connected to each of the data comparing means. By selecting a bus other than the bus selected as the first input, and comparing the pattern data output to the first input with the second input and output by the data generating means. And performing a process of detecting a failure in the bus wiring, and performing one of the plurality of buses as a first input of the data comparing means during a memory read test. A bus is selected, and a bus other than the bus selected as the first input is selected as a second input of the data comparison means, and the first input is a data read from a memory connected to the bus. A process for comparing the read data with the expected value by supplying an expected value output from the data generating means to the second input.

【0023】請求項17の発明の講じた手段は、請求項
11の発明において、メモリの書き込み時にはバスは分
割せずデータ生成手段が前記バスに出力する書き込みパ
ターンデータを前記N個以上の複数個のメモリに並列に
書き込むと同時に、前記分割されたバス毎に設けられた
N個のデータ比較手段の第1の入力と第2の入力として
データ生成手段の出力するパターンデータを比較するこ
とにより、前記分割されたバス配線毎の故障を検出し、
バス配線毎の故障故障検出結果を比較することで前記分
割されたバスの故障箇所を特定する処理とを備えたもの
である。
The means of the invention according to claim 17 is the invention according to claim 11, wherein the bus is not divided at the time of writing to the memory, and the data generation means outputs the write pattern data to the plurality of N or more data buses. At the same time as comparing the pattern data output from the data generating means as the first input and the second input of the N data comparing means provided for each of the divided buses. Detecting a failure for each of the divided bus wirings,
A process of identifying a fault location of the divided bus by comparing fault fault detection results for each bus wiring.

【0024】[0024]

【作用】請求項1の発明では、1つ以上のメモリが接続
されたバスを複数本と、前記全てのバスに接続され書き
込み対象のメモリに対しては書き込みパターンデータと
なり読み出し対象のメモリに対しては期待値となるパタ
ーンデータを供給するデータ生成手段と、前記複数本の
バスの中から読み出し対象のメモリが接続されたバスを
選択して前記読み出し対象のメモリから読み出されたデ
ータを第1の入力とし前記第1の入力で選択されたバス
以外のバスを選択してデータ生成手段の出力する期待値
を第2の入力としこれら2つの入力データを比較しその
比較結果を出力するデータ比較手段とを備えることによ
り、半導体集積回路外部からアドレスやデータを与える
ことなくメモリの自己診断が行なえる。
According to the first aspect of the present invention, a plurality of buses to which one or more memories are connected, and write pattern data for the memories to be written and connected to all the buses, become the write pattern data, and A data generating means for supplying pattern data as an expected value, and selecting a bus to which a memory to be read is connected from the plurality of buses, and reading data read from the memory to be read. A data which selects a bus other than the bus selected by the first input as the first input, sets the expected value output from the data generating means as the second input, compares these two input data, and outputs the comparison result By providing the comparing means, the self-diagnosis of the memory can be performed without giving an address or data from outside the semiconductor integrated circuit.

【0025】請求項3の発明では、上記請求項1の発明
に加えて、N個以上の複数個のメモリを並列に読み出せ
るように複数個のメモリが接続された1本のバスをN個
に分割するN−1個のバススイッチを設け、また並列に
読み出されたデータと期待値との比較も並列に行なえる
ように、前記N個に分割されたバス毎にN個の前記デー
タ比較手段を備えることで、前記複数個のメモリの読み
出し動作を並列に検査することができメモリの自己診断
の高速化が可能となる。
According to a third aspect of the present invention, in addition to the first aspect of the present invention, a single bus to which a plurality of memories are connected so that a plurality of N or more memories can be read in parallel is provided. N-1 bus switches are provided for each of the N divided buses so that the data read in parallel and the expected value can be compared in parallel. By providing the comparing means, the read operations of the plurality of memories can be checked in parallel, and the speed of the self-diagnosis of the memories can be increased.

【0026】請求項4の発明では、上記請求項1の発明
に加えて、前記選択されデータ比較手段に入力される任
意の2つのバスのバス幅がデータ比較手段のビット幅よ
り小さい場合、1つの入力として複数のバスを選択し、
データ比較手段のビット幅に満たない場合は、バス幅に
合わせてデータの乗らない部分をマスクする機能をデー
タ比較手段に持たせることで、異なるバスに接続された
ビット構成の異なるメモリの読み出し動作を並列に検査
することができる。
According to a fourth aspect of the present invention, in addition to the first aspect, when the bus width of any two selected buses input to the data comparing means is smaller than the bit width of the data comparing means, Select multiple buses as one input,
When the bit width of the data comparison means is less than the bit width, the data comparison means is provided with a function of masking a portion where no data is placed according to the bus width, so that a memory having a different bit configuration connected to a different bus has a read operation. Can be tested in parallel.

【0027】請求項5の発明では、上記請求項1の発明
において、前記複数本のバスの1つが命令バスであっ
て、前記命令バスにダイレクトマップあるいはセットア
ソシエイティブのいずれかの方式を採る命令キャッシュ
のデータメモリが接続され、前記データメモリの良否判
定は前記データメモリから命令バスに読み出したデータ
を第1の入力とし前記データ生成手段が前記命令バス以
外のバスに出力した期待値を第2の入力として前記デー
タ比較手段で比較することにより行ない、タグメモリの
良否判定は前記タグメモリから読み出したデータを第1
の入力とし命令キャッシュをアクセスするアドレスのタ
グ部を第2の入力とするタグ比較手段で比較することに
より行ない、それぞれの比較手段から出力される良否判
定情報を格納する比較結果格納手段とを備えることで命
令キャッシュのデータメモリとタグメモリの読み出し検
査を並列に行なうことができる。
According to a fifth aspect of the present invention, in the first aspect of the present invention, one of the plurality of buses is an instruction bus, and the instruction bus adopts any of a direct map and a set associative system. The data memory of the cache is connected, and the pass / fail judgment of the data memory is performed by using the data read from the data memory to the instruction bus as a first input and the expected value output from the data generation means to a bus other than the instruction bus as a second input. Of the tag memory is determined by comparing the data read from the tag memory with the first data.
And a comparison result storage unit for storing pass / fail judgment information output from each comparison unit by comparing a tag portion of an address for accessing the instruction cache as an input of the comparison unit by a tag comparison unit as a second input. This makes it possible to perform read inspection of the data memory and the tag memory of the instruction cache in parallel.

【0028】請求項6の発明では、上記請求項1の発明
において、前記複数本のバスの1つがデータバスであっ
て、前記データバスにダイレクトマップあるいはセット
アソシエイティブのいずれかの方式を採るデータキャッ
シュのデータメモリが接続され、前記データメモリの良
否判定は前記データメモリからデータバスに読み出した
データを第1の入力とし前記データ生成手段が前記デー
タバス以外のバスに出力した期待値を第2の入力として
前記データ比較手段で比較することにより行ない、タグ
メモリの良否判定は前記タグメモリから読み出したデー
タを第1の入力としデータキャッシュをアクセスするア
ドレスのタグ部を第2の入力とするタグ比較手段で比較
することにより行ない、それぞれの比較手段から出力さ
れる良否判定情報を格納する比較結果格納手段とを備え
ることでデータキャッシュのデータメモリとタグメモリ
の読み出し検査を並列に行なうことができる。
According to a sixth aspect of the present invention, in the first aspect of the present invention, one of the plurality of buses is a data bus, and the data bus adopts either a direct map or a set associative system. The data memory of the cache is connected, and the pass / fail judgment of the data memory is performed by using the data read from the data memory to the data bus as a first input and the expected value output to the bus other than the data bus by the data generating means as a second input. The quality of the tag memory is determined by comparing the data read from the tag memory as the first input and the tag portion of the address for accessing the data cache as the second input. Pass / fail judgment information that is obtained by comparison by comparing means and output from each comparing means. Read test data memory and the tag memory of the data cache by providing a comparison result storage means for storing it can be performed in parallel.

【0029】請求項7の発明では、上記請求項1の発明
において、複数本のバスが命令バスとデータバスとを含
み、前記命令バスとデータバスそれぞれに接続される命
令キャッシュのデータメモリ及びデータキャッシュのデ
ータメモリの自己診断を行なうことができる。
According to a seventh aspect of the present invention, in the first aspect of the present invention, the plurality of buses include an instruction bus and a data bus, and the data memory and the data of the instruction cache connected to the instruction bus and the data bus, respectively. Self-diagnosis of the data memory of the cache can be performed.

【0030】請求項8の発明では、上記請求項5および
6の発明において、通常時にはキャッシュをアクセスす
るアドレスのタグ部を選択し、タグメモリの検査時には
データ生成手段から出力されるバス上のデータを選択す
るセレクタを備え、前記セレクタの出力がタグメモリと
タグ比較手段とに接続されていることでタグメモリの検
査時の書き込みデータあるいはタグとの比較に用いる期
待値とをデータメモリのものと共通化できることからタ
グメモリ用の書き込みデータ発生手段および期待値発生
手段が不要となる。
According to an eighth aspect of the present invention, in the fifth and sixth aspects of the present invention, the tag portion of the address for accessing the cache is selected in a normal state, and the data on the bus output from the data generating means at the time of checking the tag memory. Selector, and the output of the selector is connected to the tag memory and the tag comparing means, so that the write data at the time of inspection of the tag memory or the expected value used for comparison with the tag are compared with those of the data memory. Since the data can be shared, the write data generating means and the expected value generating means for the tag memory become unnecessary.

【0031】請求項9の発明では、上記請求項1の発明
と同様にして、メモリへの検査時には前記データ生成手
段からメモリの接続された全てのバスに書き込みパター
ンデータを出力することで前記バスのそれぞれに接続さ
れた複数のメモリへの並列書き込みを行ない、メモリの
読み出し検査時には前記データ比較手段の第1の入力と
して前記複数本のバスの中から1つのバスを選択して第
1の入力とし第1の入力として選択されたバス以外のバ
スを選択し第2の入力とし前記第1の入力にはバスに接
続されたメモリを読み出したデータを第2の入力には前
記データ生成手段の出力する期待値を供給することで読
み出しデータと期待値との比較を行なうことで、半導体
集積回路外部からアドレスやデータを与えることなくメ
モリの自己診断が行なえる。
According to a ninth aspect of the present invention, in the same manner as in the first aspect of the present invention, the write pattern data is output from the data generating means to all the buses connected to the memory at the time of inspection of the memory, so that Performs a parallel write to a plurality of memories connected to each other, and selects one bus from the plurality of buses as a first input of the data comparison means during a memory read check, thereby performing a first input. A bus other than the bus selected as the first input is selected, and as the second input, data obtained by reading a memory connected to the bus is provided as the first input. By comparing the read data with the expected value by supplying the expected value to be output, the memory self-diagnosis can be performed without giving an address or data from outside the semiconductor integrated circuit. Playable.

【0032】請求項11の発明では、上記請求項9の発
明に加えて、N−1個のバススイッチにより少なくとも
N個以上の複数個のメモリが接続された1本のバスをN
個に分割可能とし、メモリの書き込み時にはバスは分割
せずデータ生成手段が前記バスに出力する書き込みパタ
ーンデータを前記N個以上の複数個のメモリに並列に書
き込み、読み出し検査時には前記バスを分割しN個のメ
モリから前記N個に分割されたバスにそれぞれ読み出し
たデータを出力し前記分割されたバス毎に設けられたN
個のデータ比較手段の第1の入力として前記読み出した
データを入力し第2の入力としてデータ生成手段が出力
する期待値を入力することでN個のメモリの読み出し検
査を並列に行なうことで、前記N個以上の複数個のメモ
リの書き込みおよび読み出し検査を並列に実行すること
ができメモリの自己診断の高速化が可能となる。
According to an eleventh aspect of the present invention, in addition to the ninth aspect of the present invention, one bus in which at least N or more memories are connected by N-1 bus switches is connected to the N bus.
The write pattern data output to the bus by the data generation means is written in parallel to the N or more memories in parallel when writing data to the memory, and the bus is divided during read inspection. The data read out from the N memories to the N divided buses are output, and N data provided for each of the divided buses are output.
By inputting the read data as the first input of the data comparing means and inputting the expected value output by the data generating means as the second input, the reading inspection of the N memories is performed in parallel. The writing and reading inspections of the N or more memories can be executed in parallel, and the speed of the self-diagnosis of the memories can be increased.

【0033】請求項12の発明では、上記請求項9の発
明において、前記データ比較手段の第1の入力として選
択されたバスが前記データ比較手段のビット幅より小さ
い場合、メモリの接続された複数のバスを第1の入力と
して同時に選択することで異なるバスに接続されたビッ
ト構成の異なるメモリの読み出しおよび期待値との比較
動作を並列に行なうことが可能となり、読み出し検査の
高速化が図れる。
According to a twelfth aspect of the present invention, when the bus selected as the first input of the data comparing means is smaller than the bit width of the data comparing means, the plurality of connected memories may be changed. By simultaneously selecting the bus as the first input, it becomes possible to perform reading of memories connected to different buses having different bit configurations and comparison operations with expected values in parallel, thereby speeding up the reading test.

【0034】請求項13の発明では、上記請求項9の発
明において、前記複数本のバスの1つが命令バスであっ
て、前記命令バスにダイレクトマップあるいはセットア
ソシエイティブのいずれかの方式を採る命令キャッシュ
のデータメモリが接続され、前記データメモリの良否判
定は前記データメモリから命令バスに読み出したデータ
を第1の入力とし、前記データ生成手段が前記命令バス
以外のバスに出力した期待値を第2の入力として前記デ
ータ比較手段で比較することにより行ない、タグメモリ
の良否判定は前記タグメモリから読み出したデータを第
1の入力とし、命令キャッシュをアクセスするアドレス
のタグ部を第2の入力とするタグ比較手段で比較するこ
とにより行ない、それぞれの比較手段から出力される良
否判定情報を比較結果格納手段に入力することで読み出
し検査をデータメモリおよびタグメモリで並列に行なう
ことが可能となり、読み出し検査の高速化が図れる。
According to a thirteenth aspect of the present invention, in the ninth aspect of the present invention, one of the plurality of buses is an instruction bus, and the instruction bus adopts any of a direct map and a set associative system. The data memory of the cache is connected, and the pass / fail judgment of the data memory is performed by using the data read from the data memory to the instruction bus as a first input, and the expected value output to the bus other than the instruction bus by the data generation means as a first input. The data is read by the tag memory as the first input, and the tag portion of the address for accessing the instruction cache is compared with the second input. The pass / fail judgment information output from each comparing means is compared by performing the comparison by the tag comparing means. It is possible to read out test by inputting the result storage means in parallel with the data memory and the tag memory, thereby speeding the reading test.

【0035】請求項14の発明では、上記請求項9の発
明において、前記複数本のバスの1つがデータバスであ
って、前記データバスにダイレクトマップあるいはセッ
トアソシエイティブのいずれかの方式を採るデータキャ
ッシュのデータメモリが接続され、前記データメモリの
良否判定は前記データメモリから命令バスに読み出した
データを第1の入力とし、前記データ生成手段が前記デ
ータバス以外のバスに出力した期待値を第2の入力とし
て前記データ比較手段で比較することにより行ない、タ
グメモリの良否判定は前記タグメモリから読み出したデ
ータを第1の入力とし、データキャッシュをアクセスす
るアドレスのタグ部を第2の入力とするタグ比較手段で
比較することにより行ない、それぞれの比較手段から出
力される良否判定情報を比較結果格納手段に入力するこ
とで読み出し検査をデータメモリおよびタグメモリで並
列に行なうことが可能となり、読み出し検査の高速化が
図れる。
According to a fourteenth aspect of the present invention, in the ninth aspect of the present invention, one of the plurality of buses is a data bus, and the data bus employs either a direct map or a set associative system. The data memory of the cache is connected, and the pass / fail judgment of the data memory is performed by using the data read from the data memory to the instruction bus as a first input, and the expected value output from the data generating means to a bus other than the data bus as a first input. The input is input by comparing the data read out from the tag memory as the first input, and the tag portion of the address for accessing the data cache is compared with the second input. Pass / fail judgment by comparing the data with the tag comparing means. It becomes possible to perform the reading test by inputting the comparison result storage means for distribution in parallel with the data memory and the tag memory, thereby speeding the reading test.

【0036】請求項15の発明では、上記請求項13ま
たは14発明において、通常時にはキャッシュをアクセ
スするアドレスのタグ部を選択し、タグメモリの検査時
にはデータ生成手段から出力されるバス上のデータを選
択するセレクタを備え、前記セレクタの出力をタグメモ
リの書き込みポートとタグ比較手段に入力することでタ
グメモリの検査時の書き込みデータあるいはタグとの比
較に用いる期待値とをデータメモリのものと共通化でき
ることからタグメモリ用の書き込みデータ発生手段およ
び期待値発生手段が不要となる。
According to a fifteenth aspect of the present invention, in the thirteenth aspect or the fourteenth aspect, a tag portion of an address for accessing a cache is selected in a normal state, and data on a bus output from a data generating means is checked when a tag memory is inspected. A selector for selecting the data, and inputting the output of the selector to the write port of the tag memory and the tag comparing means, so that the write data at the time of inspection of the tag memory or the expected value used for comparison with the tag are shared with those of the data memory. Therefore, the write data generating means and the expected value generating means for the tag memory become unnecessary.

【0037】請求項16の発明では、請求項9の発明に
おいて、メモリへの書き込み時にはデータ生成手段から
メモリの接続された全てのバスに書き込みパターンデー
タを出力することにより、前記バスのそれぞれに接続さ
れた複数のメモリへの並列書き込みを行なう処理と同時
に、データ比較手段の第1の入力として前記複数本のバ
スの中から1つのバスを選択し、前記データ比較手段の
第2の入力として前記第1の入力として選択されたバス
以外のバスを選択し、前記第1の入力と前記第2の入力
に与えられる前記データ生成手段の出力するパターンデ
ータを比較することにより、選択したバス配線の故障を
検出する処理を行い、メモリの読み出し検査時にはデー
タ比較手段の第1の入力として前記複数本のバスの中か
ら1つのバスを選択し、前記データ比較手段の第2の入
力として前記第1の入力として選択されたバス以外のバ
スを選択し、前記第1の入力にはバスに接続されたメモ
リを読み出したデータを、前記第2の入力には前記デー
タ生成手段の出力する期待値を供給することにより、読
み出しデータと期待値との比較を行なう処理とを備えた
ものである。
According to a sixteenth aspect of the present invention, in the ninth aspect of the present invention, at the time of writing to the memory, the write pattern data is output from the data generating means to all the buses connected to the memory, thereby connecting to each of the buses. At the same time as performing the parallel writing to the plurality of memories, one bus is selected from the plurality of buses as the first input of the data comparing means, and the second bus is selected as the second input of the data comparing means. By selecting a bus other than the bus selected as the first input and comparing the first input with the pattern data output from the data generation means and applied to the second input, the selected bus wiring is selected. A process for detecting a failure is performed, and one of the plurality of buses is selected as a first input of the data comparison means during a memory read test. Then, a bus other than the bus selected as the first input is selected as the second input of the data comparison means, and the data read from the memory connected to the bus is selected as the first input. The second input is provided with a process of comparing the read data with the expected value by supplying the expected value output from the data generating means.

【0038】請求項17の発明では、請求項11の発明
において、メモリの書き込み時にはバスは分割せずデー
タ生成手段が前記バスに出力する書き込みパターンデー
タを前記N個以上の複数個のメモリに並列に書き込むと
同時に、前記分割されたバス毎に設けられたN個のデー
タ比較手段の第1の入力と第2の入力としてデータ生成
手段の出力するパターンデータを比較することにより、
前記分割されたバス配線毎の故障を検出し、バス配線毎
の故障故障検出結果を比較することで前記分割されたバ
スの故障箇所を特定する処理とを備えたものである。
According to a seventeenth aspect of the present invention, in the invention of the eleventh aspect, at the time of writing to the memory, the bus is not divided and the write pattern data output to the bus by the data generation means is parallelized to the N or more memories. At the same time as the pattern data output from the data generating means as the first input and the second input of the N data comparing means provided for each of the divided buses.
Detecting a failure in each of the divided bus lines, and comparing the failure detection result of each of the bus lines to specify a failure location of the divided bus.

【0039】[0039]

【実施例】【Example】

(実施例1)以下本発明の一実施例のメモリを内蔵した
半導体集積回路および検査方法について、図面を参照し
ながら説明する。以下の説明で用いる図面中の同一の数
字および記号は、全図面を通じて同じ要素を示す。
(Embodiment 1) A semiconductor integrated circuit incorporating a memory and an inspection method according to an embodiment of the present invention will be described below with reference to the drawings. The same numbers and symbols in the drawings used in the following description indicate the same elements throughout the drawings.

【0040】実施例1では、半導体集積回路に内蔵され
たメモリの検査方法について説明する。説明を簡単化す
るために命令キャッシュとデータキャッシュのラインサ
イズおよびライン数は同じとする。また、図1において
は外部メモリおよび外部メモリとこの半導体集積回路と
の接続部分は省略されている。
In the first embodiment, a method for inspecting a memory built in a semiconductor integrated circuit will be described. For simplicity, the instruction cache and the data cache have the same line size and number of lines. In FIG. 1, an external memory and a connection portion between the external memory and the semiconductor integrated circuit are omitted.

【0041】図1は本発明の第1の実施例におけるメモ
リを内蔵した半導体集積回路の構成図である。図1にお
いて、1は2ウエイセットアソシエイティブ方式をとる
命令キャッシュであって、命令バス100が接続されて
いる。命令キャッシュ1は第1のバンク12と第2のバ
ンク13とから構成されており、これらバンクの構成は
全く同じものである。各々のバンクには、アドレス生成
手段11が書き込みあるいは読み出しアクセスのアドレ
スを供給する。このアクセスする命令アドレスは、通常
動作時にはCPUより出力されアドレス生成手段11が
アドレスラッチとして動作し、各々のバンクへのアクセ
スのアドレスが供給される。これらバンク12,13
は、命令を格納するデータメモリ14とタグメモリ15
とタグメモリから読み出したデータとアドレスのタグ部
とを比較する比較手段16とアドレスデコーダ17とか
ら構成されている。
FIG. 1 is a configuration diagram of a semiconductor integrated circuit having a built-in memory according to a first embodiment of the present invention. In FIG. 1, reference numeral 1 denotes an instruction cache employing a two-way set associative system, to which an instruction bus 100 is connected. The instruction cache 1 includes a first bank 12 and a second bank 13, and these banks have exactly the same configuration. To each bank, the address generation means 11 supplies an address for write or read access. The instruction address to be accessed is output from the CPU during normal operation, and the address generating means 11 operates as an address latch, and the address of access to each bank is supplied. These banks 12, 13
Is a data memory 14 for storing instructions and a tag memory 15
And an address decoder 17 for comparing the data read from the tag memory with the tag part of the address.

【0042】2は、命令キャッシュ1と同様に2ウエイ
セットアソシエイティブ方式をとるデータキャッシュで
あって、データバス200が接続されている。データキ
ャッシュ2は第1のバンク22と第2のバンク23とか
ら構成されており、これらバンクの構成は全く同じもの
である。各々のバンクには、アドレス生成手段21がア
クセスするアドレスを供給する。このアクセスするデー
タアドレスは、通常動作時にはCPUより出力されアド
レス生成手段21がアドレスラッチとして動作し、各々
のバンクへのアクセスのアドレスが供給される。これら
バンク22,23は、データを格納するデータメモリ2
4とタグメモリ25とタグメモリの内容とアドレスのタ
グ部とを比較する比較手段26とアドレスデコーダ27
とから構成されている。
Reference numeral 2 denotes a data cache which employs a two-way set associative system similarly to the instruction cache 1, and is connected to a data bus 200. The data cache 2 includes a first bank 22 and a second bank 23, and these banks have exactly the same configuration. Each bank is supplied with an address accessed by the address generation means 21. The data address to be accessed is output from the CPU during a normal operation, and the address generating means 21 operates as an address latch, and an address for accessing each bank is supplied. These banks 22 and 23 are provided with a data memory 2 for storing data.
4, a tag memory 25, comparison means 26 for comparing the contents of the tag memory with the tag portion of the address, and an address decoder 27.
It is composed of

【0043】3はバス制御ユニットであって、命令バス
100とデータバス200を接続し、通常動作時には以
下の3つの動作を行なう。 (1)命令キャッシュ1のミスヒット時には、バス制御
ユニット3は外部メモリから命令を読み出し、その命令
を命令バス100に出力する。命令キャッシュ1では、
命令バス100上の命令を書き込み対象のバンクに書き
込む。 (2)ロード命令でデータキャッシュ2がミスヒットし
た場合には、バス制御ユニット3は外部メモリからデー
タを読み出し、そのデータをデータバス200に出力す
る。データキャッシュ2では、データバス200上のデ
ータを書き込み対象のバンクに書き込む。 (3)ライトスルー方式を採るデータキャッシュ2にお
いては、ストア命令によりデータを外部メモリに書き込
む場合に、バス制御ユニット3はデータバス200上の
データを外部メモリに出力する。ライトバック方式を採
るデータキャッシュ2においては、データキャッシュ上
で変更されたデータを外部メモリに反映させるため、コ
ンテキストスイッチ時にデータキャッシュ2は変更され
たデータをデータバス200上に出力し、バス制御ユニ
ット3はこのデータを外部メモリに出力する。
A bus control unit 3 connects the instruction bus 100 and the data bus 200 and performs the following three operations during normal operation. (1) When a miss occurs in the instruction cache 1, the bus control unit 3 reads an instruction from the external memory and outputs the instruction to the instruction bus 100. In instruction cache 1,
The instruction on the instruction bus 100 is written to the bank to be written. (2) If the data cache 2 misses due to a load instruction, the bus control unit 3 reads data from the external memory and outputs the data to the data bus 200. In the data cache 2, data on the data bus 200 is written to a bank to be written. (3) In the data cache 2 employing the write-through method, when writing data to an external memory by a store instruction, the bus control unit 3 outputs data on the data bus 200 to the external memory. In the data cache 2 adopting the write-back method, in order to reflect the data changed on the data cache to the external memory, the data cache 2 outputs the changed data on the data bus 200 at the time of context switch, and the bus control unit 3 outputs this data to an external memory.

【0044】31はデータ生成手段、32はデータ比較
手段であり共に命令バス100とデータバス200に接
続されており、メモリの検査時にのみ動作する。メモリ
の検査時には、上で述べたバス制御ユニット3による命
令バス100への命令の出力あるいはデータバス200
へのデータの出力は起こらないため、それぞれのバスを
駆動するバスドライバをデータ生成手段31と共用する
ことができる。
Reference numeral 31 denotes a data generation unit, and 32 denotes a data comparison unit, both of which are connected to the instruction bus 100 and the data bus 200, and operate only when the memory is inspected. When the memory is inspected, the output of an instruction to the instruction bus 100 by the bus control unit 3 or the data bus 200
Since the output of data to the bus does not occur, a bus driver for driving each bus can be shared with the data generation unit 31.

【0045】4は比較結果レジスタであり、データ比較
手段32とキャッシュの全てのバンクのタグ比較手段と
からの比較結果を入力してデータメモリとタグメモリの
全ての自己診断結果を格納する。
Reference numeral 4 denotes a comparison result register which receives the comparison results from the data comparison means 32 and the tag comparison means in all the banks of the cache and stores all the self-diagnosis results in the data memory and the tag memory.

【0046】メモリの検査時においては、命令キャッシ
ュ1とデータキャッシュ2のデータメモリとタグメモリ
の全てが書き込みと読み出し検査の対象となる。
At the time of checking the memory, all of the data memories and the tag memories of the instruction cache 1 and the data cache 2 are subjected to writing and reading inspection.

【0047】また、図2は本発明の第1の実施例におけ
るメモリへの書き込みデータパターンを説明する図であ
る。
FIG. 2 is a diagram for explaining a data pattern to be written to the memory according to the first embodiment of the present invention.

【0048】メモリの検査に用いるデータパターンは図
2(a)〜(d)に示す4種類である。図に示したメモリは、
ラインサイズが1ワード(32ビット)、ライン数が6
4であり、256バイトの容量をもつ。図2(a)のパタ
ーンは全て0、(b)のパターンは全て1である。(b)のパ
ターンは(a)のパターンを論理的に反転したものと考え
てもよい。(c)は隣合うメモリセルで1と0を交互に並
べたチェッカーボードパターンと呼ばれるもの、(d)も
0と1を交互に並べたチェッカーボードパターンで(c)
を論理的に反転したものと考えてもよい。このように、
4種類のデータパターンでメモリの検査をするためそれ
ぞれのメモリに対して4回の書き込み動作が必要とな
る。
There are four types of data patterns used for memory inspection, as shown in FIGS. The memory shown in the figure is
Line size is 1 word (32 bits), number of lines is 6
4 and has a capacity of 256 bytes. The patterns in FIG. 2A are all 0, and the patterns in FIG. 2B are all 1. The pattern of (b) may be considered as a logical inversion of the pattern of (a). (c) is a checkerboard pattern in which 1s and 0s are alternately arranged in adjacent memory cells, and (d) is a checkerboard pattern in which 0s and 1s are alternately arranged.
May be considered as logically inverted. in this way,
In order to inspect the memory with four types of data patterns, four write operations are required for each memory.

【0049】ライン数が64であって命令長およびデー
タ長が共にワード(32ビット)固定であれば、このメ
モリの論理アドレス32ビットの内、ラインを選択する
インデックス部が6ビット、タグ部が残りの26ビット
となる。
If the number of lines is 64 and both the instruction length and the data length are fixed to words (32 bits), of the 32 bits of the logical address of this memory, the index part for selecting a line is 6 bits, and the tag part is The remaining 26 bits are used.

【0050】さらに、図3は本発明の第1の実施例にお
けるメモリを自己診断するフロー図である。全メモリへ
の書き込みは全て並列に行ない、読み出しおよび期待値
との比較は命令キャッシュ1の第1のバンク12よりバ
ンク毎に行なう方法について示している。
FIG. 3 is a flowchart for self-diagnosing the memory in the first embodiment of the present invention. The writing to all memories is performed in parallel, and the reading and comparison with the expected value are performed from the first bank 12 of the instruction cache 1 for each bank.

【0051】以上のように構成されたメモリを内蔵した
半導体集積回路において、メモリの自己診断を容易にか
つ高速に実行する方法について図3のフロー図に基づき
図1と図2を用いて説明する。
A method for easily and rapidly executing a self-diagnosis of a memory in a semiconductor integrated circuit having a memory configured as described above will be described with reference to FIGS. 1 and 2 based on a flowchart of FIG. .

【0052】まずST10において、データ生成手段3
1は最初のデータパターンとして全ビットが0であるよ
うなデータパターンを選択し、接続された全てのバス、
すなわち命令バス100とデータバス200にこれを出
力する。
First, in ST10, the data generating means 3
1 selects a data pattern in which all bits are 0 as the first data pattern, and selects all connected buses,
That is, it is output to the instruction bus 100 and the data bus 200.

【0053】ST11において、これらバスに接続され
たデータメモリ14と24にはそれぞれが接続されたバ
ス上のデータパターンを並列に書き込む。タグメモリ1
5と25には、アドレス生成手段11と21の出力する
アドレスのタグ部を並列に書き込む。メモリの検査時に
は、アドレス生成手段11と21の出力するアドレスの
タグ部はデータ生成手段31の出力するデータパターン
と同一のものであり、この場合は全ビットが0であるよ
うなデータパターンとなっている。
In ST11, data patterns on the buses connected to these buses are written in parallel to the data memories 14 and 24 connected to these buses. Tag memory 1
In 5 and 25, the tag portions of the addresses output by the address generation means 11 and 21 are written in parallel. At the time of inspection of the memory, the tag portion of the address output from the address generation means 11 and 21 is the same as the data pattern output from the data generation means 31. In this case, the data pattern is such that all bits are 0. ing.

【0054】書き込みアドレスのインデックス部は、そ
れぞれのアドレス生成手段11と21によって、1つず
つ増加するように生成され、メモリのラインを昇順に指
定する。これによりデータメモリおよびタグメモリの全
てには図2(a)のような全ビットが0のデータパターン
が並列に書き込まれる。
The index portion of the write address is generated by the respective address generating means 11 and 21 so as to be increased by one, and specifies the lines of the memory in ascending order. As a result, a data pattern in which all bits are 0 as shown in FIG. 2A is written in parallel to all of the data memory and the tag memory.

【0055】データメモリとタグメモリの全てのライン
に対する書き込み動作を終了すると、ST12以降で読
み出しと期待値との比較動作を行なう。書き込み動作は
データメモリとタグメモリの全てに対して並列に行なっ
たが、読み出しと比較動作については一方のキャッシュ
のバンク毎に行なう。これは、命令バス100かデータ
バス200のいずれかのバスに期待値(データ生成手段
31の出力)を出力し、残った他方のバスに検査するバ
ンクのデータメモリから読み出したデータを出力するた
めである。
When the write operation for all the lines of the data memory and the tag memory is completed, the read operation and the comparison with the expected value are performed in ST12 and thereafter. The write operation was performed in parallel for all of the data memory and the tag memory, but the read and comparison operations were performed for each bank of one cache. This is because the expected value (the output of the data generation unit 31) is output to either the instruction bus 100 or the data bus 200, and the data read from the data memory of the bank to be tested is output to the other remaining bus. It is.

【0056】データメモリの読み出しと期待値との比較
動作は、2つのバスを入力とするデータ比較手段32
で、読み出したデータと期待値とを比較することで行な
われる。
The operation of reading data from the data memory and comparing it with the expected value is performed by the data comparing means 32 having two buses as inputs.
This is performed by comparing the read data with an expected value.

【0057】また、タグメモリの読み出しと期待値との
比較動作はタグ比較手段16または26にタグメモリか
ら読み出したデータとアドレス生成手段11または21
の出力するアドレスのタグ部とを比較することで行なわ
れる。メモリの検査時においては、アドレス生成手段1
1または21の出力するアドレスのタグ部はデータ生成
手段31の出力するデータパターンと同一のものとな
る。
The read operation of the tag memory and the operation of comparing the expected value are performed by the tag comparing means 16 or 26 by the data read from the tag memory and the address generating means 11 or 21.
Is compared with the tag portion of the address output by When inspecting the memory, the address generation means 1
The tag portion of the address output by 1 or 21 is the same as the data pattern output by the data generation means 31.

【0058】読み出しアドレスのインデックス部は、書
き込み動作時と同様にアドレス生成手段11によって1
つずつ増加するように生成されメモリのラインを昇順に
指定する。
The index portion of the read address is set to 1 by the address generation means 11 as in the write operation.
The lines of the memory generated so as to increase by one are designated in ascending order.

【0059】ST12において、データバス200にデ
ータ生成手段31の出力する期待値をのせ、命令バス1
00にテストを実行する命令キャッシュ1の第1のバン
クのデータメモリ14の出力を読み出す。期待値と読み
出したデータはデータ比較手段32で比較され、期待値
と一致しないデータがデータメモリ14から読み出され
た場合は、比較結果レジスタ4の検査をしたデータメモ
リ14に対応するビットをセットして、データメモリ1
4に不良があることを記憶させる。
In ST12, the expected value output from the data generating means 31 is placed on the data bus 200, and the instruction bus 1
At 00, the output of the data memory 14 of the first bank of the instruction cache 1 for executing the test is read. The expected value and the read data are compared by the data comparing means 32. If data that does not match the expected value is read from the data memory 14, the bit corresponding to the data memory 14 checked in the comparison result register 4 is set. And the data memory 1
4 has a defect.

【0060】これと並行して、命令キャッシュ1の第1
のバンクのタグメモリ15の読み出しと比較動作も行な
われる。タグメモリ15の比較動作はタグ比較手段16
を用いて行なわれ、期待値と一致しないデータがタグメ
モリ15から読み出された場合は、比較結果レジスタ4
の検査したタグメモリ15に対応するビットをセットし
て、タグメモリに不良があることを記憶させる。
At the same time, the first
The read operation and the comparison operation of the tag memory 15 of the bank are also performed. The comparing operation of the tag memory 15 is performed by the tag comparing means 16.
When data that does not match the expected value is read from the tag memory 15, the comparison result register 4
The bit corresponding to the inspected tag memory 15 is set to store that there is a defect in the tag memory.

【0061】第1のバンク12の全てのラインの読み出
しと比較動作が終了すると、続いてST13で、命令キ
ャッシュ1の第2のバンク13の読み出しと比較動作を
実行する。
When the reading and comparing operations of all the lines in the first bank 12 are completed, subsequently, in ST13, the reading and comparing operations of the second bank 13 of the instruction cache 1 are executed.

【0062】この動作はST12と同様で、データメモ
リ14とタグメモリ15の読み出しと比較動作は並列に
実行される。異なるのは、命令バス100に読み出され
るデータが第1のバンク12のデータメモリ14から第
2のバンク13のデータメモリ14に代わることと、メ
モリの不良が検出された場合に比較結果レジスタ4にセ
ットするビットの位置が異なるのみである。
This operation is the same as ST12, and the reading and comparison operations of the data memory 14 and the tag memory 15 are executed in parallel. The difference is that the data read to the instruction bus 100 is replaced from the data memory 14 of the first bank 12 to the data memory 14 of the second bank 13, and that the comparison result register 4 The only difference is the position of the bit to be set.

【0063】期待値と一致しないデータがデータメモリ
14から読み出された場合は、比較結果レジスタ4の検
査したデータメモリに対応するビットをセットする。
When data that does not match the expected value is read from the data memory 14, a bit corresponding to the inspected data memory in the comparison result register 4 is set.

【0064】これと並行して、第2のバンク13のタグ
メモリ15の読み出しと比較動作も行なわれる。タグメ
モリ15の比較動作はタグ比較手段16を用いて行なわ
れ、期待値と一致しないデータがタグメモリ15からの
読み出された場合は、比較結果レジスタ4の検査したタ
グメモリ15に対応するビットをセットする。
At the same time, reading from the tag memory 15 of the second bank 13 and comparison operation are also performed. The comparison operation of the tag memory 15 is performed using the tag comparison means 16. If data that does not match the expected value is read from the tag memory 15, the bit corresponding to the checked tag memory 15 in the comparison result register 4 is read. Is set.

【0065】ST12とST13の実行により、命令キ
ャッシュ1の読み出しと比較動作が終了した。次にST
14とST15で書き込んだデータを読み出し、期待値
と比較することでデータキャッシュ2の読み出しと比較
動作を行なう。
The execution of ST12 and ST13 completes the reading of the instruction cache 1 and the comparison operation. Then ST
The data written in 14 and ST15 are read and compared with the expected value to perform the reading and comparison operation of the data cache 2.

【0066】ST14において、命令バス100にデー
タ生成手段31の出力する期待値をのせデータバス20
0に読み出し検査を実行するデータキャッシュ2の第1
のバンクのデータメモリ24の出力を読み出す。期待値
と読み出されたデータはデータ比較手段32で比較さ
れ、期待値と一致しないデータがデータメモリ24から
読み出された場合は、比較結果レジスタ4の検査したデ
ータメモリ24に対応するビットをセットする。
In ST14, the expected value output from the data generating means 31 is placed on the instruction bus 100 and the data bus 20
0 of the data cache 2 performing the read check
The output of the data memory 24 of the bank is read. The expected value and the read data are compared by the data comparing means 32. If data not matching the expected value is read from the data memory 24, the bit corresponding to the inspected data memory 24 of the comparison result register 4 is set. set.

【0067】これと並行して、第1のバンク22のタグ
メモリ25の読み出しと比較動作も行なわれる。タグメ
モリ25の比較動作はタグ比較手段26を用いて行なわ
れ、期待値と一致しないデータがタグメモリ25から読
み出された場合は、比較結果レジスタ4の検査したタグ
メモリ25に対応するビットをセットする。
At the same time, reading from the tag memory 25 of the first bank 22 and comparison are also performed. The comparison operation of the tag memory 25 is performed using the tag comparison means 26. If data that does not match the expected value is read from the tag memory 25, the bit corresponding to the inspected tag memory 25 in the comparison result register 4 is set. set.

【0068】データキャッシュ2の第1のバンク22の
全てのラインの読み出しと比較動作が終了すると、ST
15においてデータキャッシュ2の第2のバンク23の
読み出しと比較動作を実行する。この動作はST14と
同様で、データメモリとタグメモリの読み出しと比較動
作は並列に実行される。期待値と一致しないデータがデ
ータメモリ24からの読み出された場合は、比較結果レ
ジスタ4の検査したデータメモリ24に対応するビット
をセットする。また、期待値と一致しないデータがタグ
メモリ25から読み出された場合は、比較結果レジスタ
4の検査したタグメモリ25に対応するビットをセット
する。
When reading and comparison of all the lines of the first bank 22 of the data cache 2 are completed, ST
At 15, the second bank 23 of the data cache 2 is read and compared. This operation is the same as ST14, and the reading and comparison operations of the data memory and the tag memory are executed in parallel. If data that does not match the expected value is read from the data memory 24, a bit corresponding to the inspected data memory 24 in the comparison result register 4 is set. If data that does not match the expected value is read from the tag memory 25, a bit corresponding to the inspected tag memory 25 in the comparison result register 4 is set.

【0069】以上で、全ビットが0であるデータパター
ンに対する書き込みおよび読み出し検査が終了した。こ
の検査により、全ての1固定故障を検出することができ
る。
Thus, the writing and reading inspections for the data pattern in which all the bits are 0 are completed. By this inspection, all the fixed faults can be detected.

【0070】引き続いて、データパターンを変えてメモ
リの検査を続行する。ST16で4種全てのデータパタ
ーンの検査を終えているかどうかを判定し、全ビットが
1であるデータパターンに対する書き込みおよび読み出
し検査を行なう。データパターンが異なるのみで、検査
の順序は全ビットが0であるデータパターンの場合と同
一である。全ビットが1であるデータパターンに対する
書き込みおよび読み出し検査を終了することで、全ての
0固定故障を検出することができる。
Subsequently, the inspection of the memory is continued by changing the data pattern. In ST16, it is determined whether or not inspection of all four data patterns has been completed, and writing and reading inspection are performed on the data pattern in which all the bits are 1. Only the data pattern is different, and the order of inspection is the same as that of the data pattern in which all bits are 0. By completing the write and read inspections for the data pattern in which all bits are 1, all 0 fixed faults can be detected.

【0071】再びデータパターンを変えてメモリのテス
トを続行する。ST16で全てのデータパターンの検査
を終えているかどうかを判定し、続いてチェッカーボー
ドパターン(図2(c))に対する書き込みおよび読み出
し検査を行なう。この場合もデータパターンが異なるの
みで、検査の順序は同一である。
The data pattern is changed again and the memory test is continued. In ST16, it is determined whether or not all data patterns have been inspected, and subsequently, a write and read inspection for the checkerboard pattern (FIG. 2C) is performed. Also in this case, the order of inspection is the same except for the data pattern.

【0072】ただし、データパターンが全ビット0ある
いは1の場合とは異なり、データパターンがメモリ上で
図2(c)のように並ぶためにはデータ生成手段31およ
びアドレス生成手段11において、メモリのスクランブ
ル(論理アドレスとメモリの物理的な位置との対応)に
合わせてデータパターンを生成する必要がある。また全
てのメモリに対して並列に書き込みを行なうためには、
全メモリのスクランブルの構成を統一しておく必要があ
る。
However, unlike the case where the data pattern is all 0s or 1s, in order for the data patterns to be arranged in the memory as shown in FIG. It is necessary to generate a data pattern in accordance with scrambling (correspondence between a logical address and a physical location of a memory). To write data to all memories in parallel,
It is necessary to unify the scrambling configuration of all memories.

【0073】このチェッカーボードパターンに対する書
き込みおよび読み出し検査を終了することで、メモリ間
の相互作用に伴う誤動作(パターンセンシティブ故障)
を検出することができる。
By ending the writing and reading inspections for the checkerboard pattern, a malfunction (pattern-sensitive failure) due to the interaction between the memories is completed.
Can be detected.

【0074】データパターンを変えて最後のテストを行
なう。ST16で4種全てのデータパターンの検査を終
えているかどうかを判定し、続いてチェッカーボードパ
ターン(図2(d))に対する書き込みおよび読み出し
検査を行なう。この場合も、データパターンが異なるの
みで、検査の順序は同一である。チェッカーボードパタ
ーンに対する書き込みおよび読み出し検査を終了するこ
とで、パターンセンシティブ故障を検出することができ
る。
The final test is performed by changing the data pattern. In ST16, it is determined whether or not the inspection of all four data patterns has been completed, and then the writing and reading inspection for the checkerboard pattern (FIG. 2D) is performed. Also in this case, the order of inspection is the same except for the data pattern. By terminating the write and read inspections for the checkerboard pattern, a pattern-sensitive failure can be detected.

【0075】このようにして4種全てのデータパターン
に対するメモリの自己診断が終了する。メモリの検査終
了後に比較結果レジスタ4を読み出し、検査したメモリ
に対応する全てのビットが0であれば、検査した全ての
メモリは正常であり、いずれかのビットが1であれば、
そのビットに対応したメモリに不良が発生していること
が分かる。
Thus, the self-diagnosis of the memory for all four types of data patterns is completed. After the inspection of the memory is completed, the comparison result register 4 is read, and if all the bits corresponding to the inspected memory are 0, all the inspected memories are normal, and if any of the bits is 1,
It can be seen that a failure has occurred in the memory corresponding to the bit.

【0076】以上説明したように、書き込みを全てのメ
モリに並列に行なうことで、書き込み時間を短縮すると
同時に、書き込みに用いたデータ発生手段を読み出し検
査においても期待値を発生させる手段として用い、読み
出しデータと期待値との比較のために1つのデータ比較
手段を設けることで読み出し検査を可能としていること
から、少ないハードウエアの追加で半導体集積回路に内
蔵されたメモリの高速な自己診断が可能となる。
As described above, by performing writing to all memories in parallel, the writing time is shortened, and at the same time, the data generating means used for writing is used as a means for generating an expected value also in the reading test, and the reading is performed. By providing one data comparing means for comparing data and expected value, read inspection is enabled, so that high-speed self-diagnosis of the memory built in the semiconductor integrated circuit can be performed by adding a small amount of hardware. Become.

【0077】次に、メモリの自己診断のために設けたデ
ータ発生手段とデータ比較手段を用いて、メモリの接続
されたバス配線の検査を行なう方法について図6を用い
て説明する。図6(a)は、プリチャージ方式を採らな
いバスについて、図6(b)は、プリチャージ方式を採
るバスについて示した。命令バス100は、配線100
a,100b・・・100nで構成されている。また、
データバス200は、配線200a,200b・・・2
00nで構成されている。データ比較手段32では第1
の入力と第2の入力である、配線100aの値と配線2
00aの値と、100bの値と200bの値と、100
nの値と200nの値とがそれぞれ比較される。全ての
バンクに対して並列にデータを書き込むST11では、
データ生成手段31の出力するデータパターンが命令バ
ス100およびデータバス200に出力される。図6
(a)のように命令バス100の配線100aに1固定
故障が、100bに0固定故障が発生している場合、デ
ータ生成手段31の出力する値とは無関係に配線100
aの値は1に、100bの値は0に固定される。この
時、データパターンが全ビット0であるか、あるいは配
線100aと200aに0が与えられるようなチェッカ
ボードパターンであれば、データ比較手段32で配線1
00aの値(1)と200aの値(0)との比較が行な
われ不一致が検出される。また、データパターンが全ビ
ット1であるか、あるいは配線100bと200bに1
が与えられるようなチェッカボードパターンであれば、
データ比較手段32で配線100bの値(0)と200
bの値(1)との比較が行なわれ不一致が検出される。
不一致が検出されると比較結果レジスタ4の配線不良に
対応するビットをセットして、配線に固定故障などの不
良があることを記憶させる。
Next, a method of inspecting the bus wiring connected to the memory using the data generating means and the data comparing means provided for the self-diagnosis of the memory will be described with reference to FIG. FIG. 6A shows a bus that does not use the precharge method, and FIG. 6B shows a bus that uses the precharge method. The instruction bus 100 includes a wiring 100
a, 100b... 100n. Also,
The data bus 200 includes wirings 200a, 200b... 2
00n. In the data comparing means 32, the first
And the second input, the value of the wiring 100a and the wiring 2
00a, 100b, 200b, 100
The value of n is compared with the value of 200n. In ST11 where data is written in parallel to all banks,
The data pattern output from the data generation means 31 is output to the instruction bus 100 and the data bus 200. FIG.
As shown in (a), when a fixed failure of 1 occurs on the wiring 100a of the instruction bus 100 and a fixed failure of 0 occurs on the wiring 100b, regardless of the value output from the data generating means 31,
The value of a is fixed at 1, and the value of 100b is fixed at 0. At this time, if the data pattern is all bits 0 or a checkerboard pattern in which 0 is given to the wires 100a and 200a, the data comparing means 32
The value (1) of 00a is compared with the value (0) of 200a, and a mismatch is detected. Also, the data pattern is all bits 1 or 1 for the wirings 100b and 200b.
Is a checkerboard pattern that gives
The value (0) of the wiring 100b and 200
The value b is compared with the value (1), and a mismatch is detected.
When a mismatch is detected, a bit corresponding to the wiring failure in the comparison result register 4 is set, and the fact that the wiring has a failure such as a fixed failure is stored.

【0078】このように、ST11で命令バス100と
データバス200のデータをデータ比較手段32で比較
することにより、バス配線の1固定故障と0固定故障が
検出できる。
As described above, by comparing the data of the instruction bus 100 and the data of the data bus 200 by the data comparing means 32 in ST11, a fixed fault and a fixed fault of the bus wiring can be detected.

【0079】また、固定故障について述べたが、命令バ
ス100とデータバス200がプリチャージされるバス
であれば、配線の断線や隣の配線とのブリッジ(ショー
ト)であっても検出できる。図6(b)のように、命令
バス100およびデータバス200それぞれにプリチャ
ージ手段104、204が接続されており、配線100
nが断線を、配線100aと100bとがブリッジして
いる場合について説明する。断線している場合には、デ
ータ生成回路31により配線100nが駆動(プルダウ
ン)されずプリチャージされた1のままとなる。データ
パターンとして全ビットが0であるか、あるいは配線1
00nと200nに0が与えられるようなチェッカボー
ドパターンであれば、データ比較手段32で配線100
nの値(1)と200nの値(0)との比較が行なわれ
不一致が検出される。不一致が検出されると比較結果レ
ジスタ4の配線不良に対応するビットをセットして、配
線に不良があることを記憶させる。
Although the fixed fault has been described, if the instruction bus 100 and the data bus 200 are precharged buses, even a disconnection of a wiring or a bridge (short) with an adjacent wiring can be detected. As shown in FIG. 6B, precharge means 104 and 204 are connected to the instruction bus 100 and the data bus 200, respectively.
A case where n is a disconnection and wirings 100a and 100b are bridged will be described. When the wire is disconnected, the wiring 100n is not driven (pulled down) by the data generation circuit 31 and remains at 1 which is precharged. Either all bits are 0 or the wiring 1
If the checkerboard pattern gives 0 to 00n and 200n, the data comparing means 32
The value (1) of n is compared with the value (0) of 200n, and a mismatch is detected. When a mismatch is detected, a bit corresponding to the wiring failure in the comparison result register 4 is set, and the fact that the wiring is defective is stored.

【0080】次に、ブリッジが発生している場合につい
て説明する。ブリッジしている配線で配線100aが1
を、配線100bが0のように異なる値をとるチェッカ
ボードパターンであれば、データ生成回路31により配
線100bが0に駆動されるとブリッジしている配線1
00aの電位も引き落とされて0となる。これにより、
データ比較手段32で配線100aの値(0)と200
aの値(1)との比較が行なうことで不一致が検出され
る。この場合も、比較結果レジスタ4の配線不良に対応
するビットをセットして、配線に不良があることを記憶
させる。
Next, a case where a bridge has occurred will be described. Wiring 100a is 1 in the bridged wiring
If the wiring 100b is a checkerboard pattern having a different value such as 0, the wiring 1 that is bridged when the data generation circuit 31 drives the wiring 100b to 0
The potential of 00a is also pulled down to zero. This allows
The value (0) of the wiring 100a and 200
A mismatch is detected by comparing the value of a with the value (1). Also in this case, the bit corresponding to the wiring failure of the comparison result register 4 is set to store that the wiring is defective.

【0081】このように、プリチャージされるバスであ
れば、配線の1固定故障と0固定故障に加えて断線、お
よびブリッジ故障も検出できる。
As described above, if the bus is precharged, disconnection and bridge failure can be detected in addition to the 1-fixed fault and 0-fixed fault of the wiring.

【0082】以上説明したように、ST11においてデ
ータ比較手段32でバス配線の値を比較することにより
配線の検査が行える。これにより、メモリから読み出さ
れたデータが期待値と異なる場合、配線不良によるの
か、メモリ不良によるのかの原因の特定が可能となり、
半導体集積回路の不良解析が容易となる。
As described above, the wiring can be inspected by comparing the values of the bus wiring with the data comparing means 32 in ST11. Thereby, when the data read from the memory is different from the expected value, it is possible to specify the cause of the wiring failure or the memory failure,
Failure analysis of the semiconductor integrated circuit is facilitated.

【0083】(実施例2)次に、本発明の第2実施例に
ついて図面を参照しながら説明する。本第2実施例で
は、書き込み動作は第1の実施例の説明と同様に全ての
メモリに対し並列に行ない、読み出しと比較動作をキャ
ッシュ毎、別の言い方をすればバス毎に行なう方法につ
いて図4を用いて説明する。
(Embodiment 2) Next, a second embodiment of the present invention will be described with reference to the drawings. In the second embodiment, a write operation is performed on all memories in parallel as in the description of the first embodiment, and a read and compare operation is performed for each cache, or in other words, for each bus. 4 will be described.

【0084】図4は本発明の第2の実施例におけるメモ
リを内蔵した半導体集積回路の構成図である。図1と異
なるのは、データ比較手段を第1のバンク用33と第2
のバンク用34の2つとし、タグメモリへの書き込みデ
ータパターンおよび期待値として命令バスあるいはデー
タバスに出力されたデータ生成手段31のデータパター
ンを選択するデータセレクタ18と28と命令バスとデ
ータバスを分割するため命令バス102と103、デー
タバス202と203との間にそれぞれバススイッチ1
01と201を設けた点である。
FIG. 4 is a configuration diagram of a semiconductor integrated circuit having a built-in memory according to the second embodiment of the present invention. What is different from FIG. 1 is that the data comparing means is provided for the first bank 33 and the second bank 33.
Data selectors 18 and 28 for selecting the data pattern to be written to the tag memory and the data pattern of the data generating means 31 output to the instruction bus or the data bus as an expected value, the instruction bus and the data bus. Between the instruction buses 102 and 103 and the data buses 202 and 203, respectively.
01 and 201 are provided.

【0085】この構成を採ることで、キャッシュを構成
する2つのバンクのデータメモリの読み出しと期待値と
の比較を並列に行なうことを可能としている。また、タ
グメモリへの書き込みおよび期待値との比較時には、ア
ドレス生成手段11あるいは21でデータパターンを生
成することなく、データ生成手段31が出力し命令バス
あるいはデータバスに出力されたデータパターンをデー
タセレクタ18と28で選択し用いることができる。
By adopting this configuration, it is possible to perform reading of the data memories of the two banks constituting the cache and comparison with the expected value in parallel. When writing to the tag memory and comparing with the expected value, the data pattern output from the data generating means 31 and output to the instruction bus or the data bus is not used by the address generating means 11 or 21 to generate the data pattern. It can be selected and used by selectors 18 and 28.

【0086】書き込み動作は先の説明、すなわちST1
0とST11で実行されることと、タグメモリへの書き
込みデータとしてバスに出力されたデータ生成手段31
のデータパターンを選択して用いる点を除いては同様で
ある。また、データパターンが異なっても検査の順序は
同じであるので、全ビットが0のデータパターンの読み
出しと期待値との比較動作についてのみ説明する。
The write operation is described above, that is, ST1.
0 and ST11, and the data generation means 31 output to the bus as write data to the tag memory
This is the same except that the data pattern is selected and used. In addition, since the order of inspection is the same even if the data patterns are different, only the operation of reading a data pattern in which all bits are 0 and comparing it with the expected value will be described.

【0087】命令キャッシュ1から読み出しと比較動作
を実行するため、データバス202にデータ生成手段3
1の出力する期待値をのせる。バススイッチ201はオ
ン状態であり、データ生成手段31の出力する期待値が
データバス203にも供給される。命令バス102にテ
ストを実行する第1のバンクのデータメモリ14の出力
を読み出す。同様に、命令バス103に第1のバンクの
データメモリ14と並列にテストを実行する第2のバン
クのデータメモリ14の出力を読み出す。
In order to execute reading and comparison operations from the instruction cache 1, the data generation means 3 is connected to the data bus 202.
Put the expected value of 1 output. The bus switch 201 is in the ON state, and the expected value output from the data generation unit 31 is also supplied to the data bus 203. The output of the data memory 14 of the first bank for executing the test is read onto the instruction bus 102. Similarly, the output of the data memory 14 of the second bank for executing the test in parallel with the data memory 14 of the first bank is read onto the instruction bus 103.

【0088】命令キャッシュ1の読み出しと比較動作時
にはバススイッチ101はオフとなっており、命令バス
102と103は接続されていない。期待値とそれぞれ
のバンクのデータメモリ14から読み出したデータは第
1のデータ比較手段33と第2のデータ比較手段34で
それぞれ比較され、期待値と一致しないデータが第1の
データメモリ14あるいは第2のデータメモリ14から
読み出された場合は、比較結果レジスタ4の期待値と一
致しないデータメモリ14に対応するビットをセットし
て、データメモリに不良があることを記憶させる。
At the time of reading and comparing the instruction cache 1, the bus switch 101 is off, and the instruction buses 102 and 103 are not connected. The expected value and the data read from the data memory 14 of each bank are compared by the first data comparing means 33 and the second data comparing means 34, respectively, and the data which does not match the expected value is stored in the first data memory 14 or the second data comparing means 34. When the data is read from the second data memory 14, the bit corresponding to the data memory 14 that does not match the expected value of the comparison result register 4 is set, and the fact that the data memory is defective is stored.

【0089】これら動作と並行して命令キャッシュ1の
各バンクのタグメモリ15の読み出しと比較動作も行な
われる。タグメモリ15の比較動作はタグ比較手段16
を用いて行なわれ、期待値と一致しないデータが第1の
タグメモリ15あるいは第2のタグメモリ15からの読
み出された場合は、比較結果レジスタ4の期待値と一致
しないタグメモリ15に対応するビットをセットして、
タグメモリに不良があることを記憶させる。
In parallel with these operations, the reading from the tag memory 15 of each bank of the instruction cache 1 and the comparison operation are also performed. The comparing operation of the tag memory 15 is performed by the tag comparing means 16.
If the data that does not match the expected value is read from the first tag memory 15 or the second tag memory 15, the data corresponding to the tag memory 15 that does not match the expected value in the comparison result register 4 Set the bit to
The fact that there is a defect in the tag memory is stored.

【0090】この比較動作で期待値として用いられるの
がデータセレクタ18で選択された命令バスに出力され
たデータ生成手段31のデータパターンである。
The data pattern of the data generation means 31 output to the instruction bus selected by the data selector 18 is used as the expected value in this comparison operation.

【0091】このように命令バスを分割して、分割した
バス毎にデータ比較手段を設けることで、命令キャッシ
ュ1の第1のバンクと第2のバンクの読み出し検査が並
列に行なえた。
By thus dividing the instruction bus and providing data comparing means for each of the divided buses, the first bank and the second bank of the instruction cache 1 can be read in parallel.

【0092】命令キャッシュ1の全てのラインの読み出
しと比較動作が終了すると、命令バス102にデータ生
成手段31の出力する期待値をのせる。バススイッチ1
01はオン状態であり、データ生成手段31の出力する
期待値が命令バス103にも供給される。データバス2
02にテストを実行するデータキャッシュ2の第1のバ
ンク22のデータメモリ24の出力を読み出す。
When the reading and comparison of all the lines of the instruction cache 1 are completed, the expected value output from the data generating means 31 is placed on the instruction bus 102. Bus switch 1
01 is an ON state, and the expected value output from the data generating means 31 is also supplied to the instruction bus 103. Data bus 2
02, the output of the data memory 24 of the first bank 22 of the data cache 2 to be tested is read.

【0093】同様に、データバス203に第1のバンク
22のデータメモリ24と並列に検査を実行する第2の
バンク23のデータメモリ24の出力を読み出す。デー
タキャッシュ2の読み出しと比較動作時にはバススイッ
チ201はオフとなっており、データバス202と20
3は接続されていない。期待値とそれぞれのバンクのデ
ータメモリ24から読み出されたデータは第1のデータ
比較手段33と第2のデータ比較手段34とでそれぞれ
比較され、期待値と一致しないデータが第1のデータメ
モリ24あるいは第2のデータメモリ24からの読み出
された場合は、比較結果レジスタ4の期待値と一致しな
いデータメモリ24に対応するビットをセットする。
Similarly, the output of the data memory 24 of the second bank 23 for executing the test in parallel with the data memory 24 of the first bank 22 is read onto the data bus 203. At the time of reading and comparing data cache 2, the bus switch 201 is off, and the data buses 202 and 20 are turned off.
3 is not connected. The expected value and the data read from the data memory 24 of each bank are compared by the first data comparing means 33 and the second data comparing means 34, respectively, and the data which does not match the expected value is stored in the first data memory. If the data is read from the second data memory 24 or the second data memory 24, a bit corresponding to the data memory 24 that does not match the expected value of the comparison result register 4 is set.

【0094】これら動作と並行して、データキャッシュ
2の各バンクのタグメモリ25の読み出しと比較動作も
行なわれる。タグメモリ25の比較動作はタグ比較手段
26を用いて行なわれ、期待値と一致しないデータが第
1のタグメモリ25あるいは第2のタグメモリ25から
読み出された場合は、比較結果レジスタ4の期待値と一
致しないタグメモリ25に対応するビットをセットす
る。
In parallel with these operations, the reading and comparison operations of the tag memory 25 of each bank of the data cache 2 are also performed. The comparison operation of the tag memory 25 is performed using the tag comparison means 26. When data that does not match the expected value is read from the first tag memory 25 or the second tag memory 25, the comparison result register 4 A bit corresponding to the tag memory 25 that does not match the expected value is set.

【0095】この比較動作で期待値として用いられるの
が命令キャッシュ1の場合と同様にデータセレクタ28
で選択されたデータバスに出力されたデータ生成手段3
1のデータパターンである。
The data selector 28 used as the expected value in this comparison operation is the same as in the case of the instruction cache 1.
Data generating means 3 output to the data bus selected in step 3.
1 data pattern.

【0096】このようにデータバスを分割して、分割し
たバス毎にデータ比較手段を設けることで、データキャ
ッシュ2の第1のバンク22と第2のバンク23の読み
出し検査が並列に行なえた。
By dividing the data bus and providing data comparing means for each of the divided buses, the read inspection of the first bank 22 and the second bank 23 of the data cache 2 can be performed in parallel.

【0097】以上で、全ビットが0であるデータパター
ンに対する書き込みおよび読み出し検査が終了した。こ
の方法においても残りの3つのデータパターンについて
書き込みおよび読み出し検査を実施する。
Thus, the writing and reading inspection for the data pattern in which all bits are 0 are completed. Also in this method, write and read inspections are performed on the remaining three data patterns.

【0098】すなわち図3の命令キャッシュ1の読み出
し検査であるST12とST13を並列に実行し、かつ
データキャッシュ2の読み出し検査であるST14とS
T15をも並列に実行することができる。
That is, ST12 and ST13 which are the read check of the instruction cache 1 in FIG. 3 are executed in parallel, and ST14 and ST which are the read check of the data cache 2 are executed.
T15 can also be executed in parallel.

【0099】このように、書き込みは第1の実施例と同
様に全てのメモリに対して並列に行なえ、読み出し検査
を行なうメモリの接続されたバスをバススイッチ10
1,201を用いて分割することで同一バスに接続され
た複数のメモリを並列に読み出し可能とし、複数のメモ
リ毎にデータ比較手段33,34を設け、一方の入力に
メモリから読み出したデータを選択し他方の入力に期待
値を出力しているバスを選択することで同一バスに接続
されたメモリの読み出しと比較動作をも並列に実行する
ことができることからメモリの自己診断がより高速に行
なえる。
As described above, writing can be performed on all the memories in parallel, as in the first embodiment, and the bus connected to the memories to be read checked is connected to the bus switch 10.
By dividing the memory using the data 1,1,201, a plurality of memories connected to the same bus can be read in parallel. Data comparing means 33, 34 are provided for each of the plurality of memories, and one input receives data read from the memory. By selecting and selecting the bus that outputs the expected value to the other input, the memory read and comparison operations connected to the same bus can also be executed in parallel, so that the self-diagnosis of the memory can be performed faster. You.

【0100】なお本実施例では、2ウエイセットアソシ
エイティブ方式を採るキャッシュを例に説明したが、例
えば3つのデータメモリを持つ3ウエイセットアソシエ
イティブ方式を採るキャッシュであれば、それぞれのバ
スを3分割する2つのバススイッチを設けることでメモ
リの読み出しと比較動作をも並列に実行することができ
る。
In this embodiment, a cache employing the two-way set associative system has been described as an example. However, for example, in the case of a cache employing the three-way set associative system having three data memories, each bus has three buses. Providing two divided bus switches enables the memory read and comparison operations to be performed in parallel.

【0101】次に、メモリの自己診断のために設けたデ
ータ発生手段とデータ比較手段を用いて、メモリの接続
されたバスの検査を行なう方法について図7を用いて説
明する。命令バス102は、配線102a,102b・
・・102nで、命令バス103は、配線103a,1
03b・・・103nで構成されている。また、データ
バス202は、配線202a,202b・・・202n
で、データバス203は、配線203a,203b・・
・203nで構成されている。命令バス102,10
3、データバス202,203にはそれぞれプリチャー
ジ手段105,106,205,206が接続されてい
る。データ比較手段33では第1の入力と第2の入力で
ある、配線102aの値と配線202aの値と、102
bの値と202bの値と、102nの値と202nの値
とがそれぞれ比較される。また、データ比較手段34で
は第1の入力と第2の入力である、配線103aの値と
配線203aの値と、103bの値と203bの値と、
103nの値と203nの値とがそれぞれ比較される。
Next, a method of inspecting a bus connected to a memory using a data generating means and a data comparing means provided for self-diagnosis of the memory will be described with reference to FIG. The instruction bus 102 includes wirings 102a, 102b,
.. 102n, the instruction bus 103 is connected to the wiring 103a, 1
.. 103n. The data bus 202 includes wirings 202a, 202b,.
Thus, the data bus 203 includes wirings 203a, 203b,.
-It is composed of 203n. Instruction bus 102, 10
3. Precharge means 105, 106, 205, 206 are connected to the data buses 202, 203, respectively. In the data comparing means 33, the first input and the second input, the value of the wiring 102a, the value of the wiring 202a,
The value of b and the value of 202b are compared with the value of 102n and the value of 202n, respectively. In the data comparison means 34, the first input and the second input, the value of the wiring 103a, the value of the wiring 203a, the value of 103b and the value of 203b,
The value of 103n is compared with the value of 203n.

【0102】全てのバンクに対して並列にデータを書き
込むST11では、データ生成手段31の出力するデー
タパターンが命令バス102およびデータバス202に
出力される。ST11においては、全てのバススイッチ
はオン状態であり、バスの配線が正常であれば、データ
生成手段31の出力する期待値が命令バス103とデー
タバス203にも供給される。
In ST11 in which data is written to all banks in parallel, the data pattern output from the data generating means 31 is output to the instruction bus 102 and the data bus 202. In ST11, all the bus switches are on, and if the bus wiring is normal, the expected value output from the data generating means 31 is also supplied to the instruction bus 103 and the data bus 203.

【0103】以下では、図7のように命令バス102の
配線102aと、命令バス103の配線103bとに断
線故障が発生している場合について説明する。
In the following, a case where a disconnection fault has occurred in the wiring 102a of the instruction bus 102 and the wiring 103b of the instruction bus 103 as shown in FIG. 7 will be described.

【0104】配線102aの断線により、データ比較手
段33,34の第1の入力に接続された配線102a,1
03aにはデータ生成手段31の出力するデータパター
ンが供給されず、データパターンとは無関係にプリチャ
ージされた1が入力される。また、配線103bの断線
により、データ比較手段34の第1の入力に接続された
配線103bにはデータ生成手段31の出力するデータ
パターンが供給されず、データパターンとは無関係にプ
リチャージされた1が入力される。
The wires 102a, 1 connected to the first inputs of the data comparing means 33, 34 due to the disconnection of the wires 102a.
The data pattern output from the data generation means 31 is not supplied to 03a, and a precharged 1 is input irrespective of the data pattern. Also, due to the disconnection of the wiring 103b, the data pattern output from the data generating means 31 is not supplied to the wiring 103b connected to the first input of the data comparing means 34, and the precharged 1 regardless of the data pattern. Is entered.

【0105】データ生成手段31の出力するデータパタ
ーンが全ビット0であれば、データ比較手段33で配線
102aの値(1)と202aの値(0)との比較が行
なわれ不一致が検出される。また、データ比較手段34
で配線103aの値(1)と203aの値(0)、およ
び配線103bの値(1)と203bの値(0)との比
較が行なわれ、ここでも不一致が検出される。これら不
一致が検出されると比較結果レジスタ4の配線不良に対
応するビットをセットして、配線に不良があることを記
憶させる。
If the data pattern output from the data generating means 31 is all bits 0, the data comparing means 33 compares the value (1) of the wiring 102a with the value (0) of the wiring 202a and detects a mismatch. . Further, the data comparing means 34
Then, the value (1) of the wiring 103a is compared with the value (0) of the wiring 203a, and the value (1) of the wiring 103b is compared with the value (0) of the wiring 203b. When these inconsistencies are detected, the bit corresponding to the wiring failure in the comparison result register 4 is set, and the fact that the wiring is defective is stored.

【0106】故障が配線102aの箇所のみの場合、配
線の不良はデータ比較手段33とデータ比較手段34の
双方で検出される。故障が配線103bの箇所のみの場
合には、データ比較回路34のみで配線の不良が検出さ
れる。すなわち、ST11で配線故障を検出する際、あ
るいは比較結果レジスタ4のビットの割当を独立させる
ことにより、配線の故障がデータ比較手段33とデータ
比較手段34の双方で検出されたのか、一方で検出され
たのかを調べることで配線の不良箇所が特定できる。
If the failure is only at the location of the wiring 102a, the failure of the wiring is detected by both the data comparing means 33 and the data comparing means. If the failure is only at the location of the wiring 103b, the failure of the wiring is detected only by the data comparison circuit 34. That is, when detecting a wiring failure in ST11 or by making the bit assignment of the comparison result register 4 independent, whether a wiring failure has been detected by both the data comparison means 33 and the data comparison means 34 or one of them is detected. By checking whether the wiring has been performed, a defective portion of the wiring can be specified.

【0107】以上説明したように、ST11においてデ
ータ比較手段33と34の検出結果を比較することによ
り、配線の検査に加え故障箇所の特定が行える。これに
より、メモリから読み出されたデータが期待値と異なる
場合、配線不良によるのか、メモリ不良によるのかの原
因の特定が可能となると共に、配線の不良箇所の特定な
ど不良解析がさらに容易となる。
As described above, by comparing the detection results of the data comparing means 33 and 34 in ST11, it is possible to specify a fault location in addition to the wiring inspection. Thus, when the data read from the memory is different from the expected value, it is possible to specify the cause of the wiring failure or the memory failure, and further facilitate the failure analysis such as the specification of the wiring defective portion. .

【0108】(実施例3)次に、本発明の第3実施例に
ついて図面を参照しながら説明する。上述2つの実施例
では、命令バスとデータバスの2つのバスが同じビット
幅であるとして説明した。しかし、半導体集積回路には
メモリの接続されたバスそれぞれのバス幅が異なる場合
もあることから本第3実施例では、次にこの場合につい
ての読み出し検査について図5を用いて説明する。
(Embodiment 3) Next, a third embodiment of the present invention will be described with reference to the drawings. In the above two embodiments, the two buses, the instruction bus and the data bus, have the same bit width. However, the bus width of each of the buses connected to the memory may be different in the semiconductor integrated circuit. Therefore, in the third embodiment, the read test in this case will be described next with reference to FIG.

【0109】図5は、本発明の第3の実施例におけるメ
モリの接続されたバスそれぞれのバス幅が異なる場合の
半導体集積回路の構成図である。図5において、5は第
1のメモリであり32ビットのバス501に接続されて
いる。6は第2のメモリであり16ビットのバス601
に接続されている。7は第3のメモリであり同じく16
ビットのバス701に接続されている。31はデータ生
成手段であり、バス501と601と701とに接続さ
れている。35はデータ比較手段であり、第1の入力に
はバス501が第2の入力にはバス601とバス701
が接続されており、比較結果301と302と303を
比較結果レジスタ4に出力する。
FIG. 5 is a configuration diagram of a semiconductor integrated circuit according to the third embodiment of the present invention when the buses connected to the memories have different bus widths. In FIG. 5, reference numeral 5 denotes a first memory, which is connected to a 32-bit bus 501. Reference numeral 6 denotes a second memory, which is a 16-bit bus 601.
It is connected to the. 7 is a third memory, also 16
It is connected to a bit bus 701. Reference numeral 31 denotes a data generation unit, which is connected to the buses 501, 601 and 701. Numeral 35 denotes a data comparing means. The first input has a bus 501, and the second input has a bus 601 and a bus 701.
Are connected, and the comparison results 301, 302, and 303 are output to the comparison result register 4.

【0110】データ生成手段31およびデータ比較手段
35は共に、最大のバス幅と同じ32ビットデータの生
成あるいはデータの比較が行なえる。
Both the data generating means 31 and the data comparing means 35 can generate or compare 32-bit data having the same maximum bus width.

【0111】これら異なるバス幅のバスに接続された複
数のメモリに対しても、図2のような4種のデータパタ
ーンでの検査を行なう。
The inspection using the four data patterns as shown in FIG. 2 is performed on a plurality of memories connected to the buses having different bus widths.

【0112】書き込みは、データ生成手段31の出力が
全てのバスに接続させているため全てのメモリに対して
並列に行なうことができる。
Writing can be performed on all memories in parallel because the output of the data generating means 31 is connected to all buses.

【0113】読み出し検査は、いずれのデータパターン
でも検査の順序は同じであるので、ここでは全ビットが
0のデータパターンについてのみ説明する。
In the read test, the test order is the same for any data pattern. Therefore, only the data pattern in which all bits are 0 will be described here.

【0114】第1のメモリ5の読み出しと期待値との比
較動作を行なうために、第1のメモリ5のデータを読み
出す。読み出されたデータは、データ比較手段35の第
1の入力に与えられる。期待値は、データ生成手段31
で生成し、期待値の上位側16ビットをバス601に下
位側16ビットをバス701に出力する。
In order to perform a read operation of the first memory 5 and a comparison operation with the expected value, the data of the first memory 5 is read. The read data is provided to a first input of the data comparison means 35. The expected value is stored in the data
, And outputs the upper 16 bits of the expected value to the bus 601 and the lower 16 bits of the expected value to the bus 701.

【0115】データ比較手段35の第2の入力の上位側
16ビットにはバス601が、下位側16ビットにはバ
ス701が接続されており、合わせて32ビットの期待
値が入力されることになる。このように、データ比較手
段35はメモリから読み出したデータと期待値とを入力
しその比較結果301を出力する。比較結果301は、
比較結果レジスタ4に入力され格納される。
The bus 601 is connected to the upper 16 bits of the second input of the data comparing means 35, and the bus 701 is connected to the lower 16 bits. Become. As described above, the data comparison unit 35 inputs the data read from the memory and the expected value, and outputs the comparison result 301. The comparison result 301 is
It is input to and stored in the comparison result register 4.

【0116】第2のメモリと第3のメモリの読み出しと
期待値との比較動作は、並列に行なわれる。データ生成
手段31で生成しバス501に出力された32ビットの
期待値は、データ比較手段35の第1の入力に与えられ
る。第2のメモリ6から読み出された16ビットのデー
タは、データ比較手段35の第2の入力の上位側16ビ
ットに与えられ、第3のメモリ7から読み出された16
ビットデータは、データ比較手段35の第2の入力の下
位側16ビットに与えられる。このように、データ比較
手段35はメモリから読み出したデータと期待値とを入
力しその比較結果を出力する。
The operations of reading the second memory and the third memory and comparing the expected values are performed in parallel. The 32-bit expected value generated by the data generation unit 31 and output to the bus 501 is provided to a first input of the data comparison unit 35. The 16-bit data read from the second memory 6 is given to the upper 16 bits of the second input of the data comparing means 35, and the 16-bit data read from the third memory 7 is read.
The bit data is given to the lower 16 bits of the second input of the data comparing means 35. As described above, the data comparison unit 35 inputs the data read from the memory and the expected value, and outputs the comparison result.

【0117】以上のように、データ比較手段35の処理
可能なビット幅に満たないバスに接続されたメモリの読
み出し検査を行なう場合には、読み出し検査を行なうメ
モリの接続された複数のバスを選択し第1の入力とし、
データ生成手段31の出力する期待値を第2の入力とす
ることで第1の入力に接続された2つのバスに接続され
たメモリの読み出しと期待値との比較動作を並列に行な
うことで、メモリの自己診断を高速に行なえる。
As described above, when performing a read check of a memory connected to a bus less than the bit width that can be processed by the data comparing means 35, a plurality of buses connected to the memory to be read checked are selected. As the first input,
By using the expected value output from the data generating means 31 as the second input, the operations of reading the memories connected to the two buses connected to the first input and comparing the expected value are performed in parallel. Performs self-diagnosis of memory at high speed.

【0118】この説明では、データ比較手段35の第2
の入力に2つのバスを接続することでデータ比較手段3
5の処理可能なビット幅と同じ32ビットが得られた
が、複数のバスを接続しても32ビットに満たない場合
には、入力データの有効ビット幅に合わせて不要部分を
マスクしてデータ比較手段35での比較を行なう必要が
ある。
In this description, the data comparing means 35
By connecting two buses to the input of the data comparison means 3
Although the same 32 bits as the processable bit width of 5 were obtained, but less than 32 bits even if a plurality of buses were connected, the unnecessary portion was masked in accordance with the effective bit width of the input data. It is necessary to perform the comparison by the comparing means 35.

【0119】また、並列に読み出し検査をしたメモリ毎
の比較結果を峻別可能とするためには、上位側16ビッ
トの比較結果602と下位側16ビットの比較結果60
3の2つの比較結果を比較結果レジスタ4に出力する必
要がある。
Further, in order to make it possible to distinguish the comparison result of each memory subjected to the read test in parallel, the comparison result 602 of the upper 16 bits and the comparison result 60 of the lower 16 bits are required.
3 must be output to the comparison result register 4.

【0120】なお、実施例ではメモリのライン(エント
リ)数は全て同じとして説明したが、書き込み時の並列
書き込みおよび読み出し検査時の並列読み出しも異なる
ライン数のメモリが混在しても対応できるのはいうまで
もない。
Although the embodiment has been described on the assumption that the number of lines (entries) of the memory is the same, the parallel writing at the time of writing and the parallel reading at the time of reading inspection can cope with a mixture of memories having different numbers of lines. Needless to say.

【0121】[0121]

【発明の効果】以上説明したように、請求項1の発明に
よれば、1つ以上のメモリが接続されたバスを複数本
と、前記全てのバスに接続され書き込み対象のメモリに
対しては書き込みパターンデータとなり読み出し対象の
メモリに対しては期待値となるパターンデータを供給す
るデータ生成手段と、前記複数本のバスの中から読み出
し対象のメモリが接続されたバスを選択して前記読み出
し対象のメモリから読み出されたデータを第1の入力と
し前記第1の入力で選択されたバス以外のバスを選択し
てデータ生成手段の出力する期待値を第2の入力としこ
れら2つの入力データを比較しその比較結果を出力する
データ比較手段とを備えることにより、半導体集積回路
外部からアドレスやデータを与えることなくバスに接続
された全てのメモリの自己診断が行なえる。
As described above, according to the first aspect of the present invention, a plurality of buses to which one or more memories are connected and a memory to be written which is connected to all the buses are written. A data generating means for supplying pattern data which becomes write pattern data and becomes an expected value for a memory to be read; and a bus to which the memory to be read is connected is selected from among the plurality of buses, and The data read from the memory is selected as a first input, a bus other than the bus selected by the first input is selected, and an expected value output from the data generating means is set as a second input. And data comparing means for outputting the result of the comparison, so that all memories connected to the bus without giving an address or data from outside the semiconductor integrated circuit are provided. Self-diagnosis can be performed.

【0122】請求項3の発明によれば、上記請求項1の
発明に加えて、N個以上の複数個のメモリが接続された
1本のバスをN個に分割するN−1個のバススイッチ
と、前記N個に分割されたバス毎にN個の前記データ比
較手段を備えることにより、N個のメモリの読み出し検
査を並列に行なえることから同一のバスに複数のメモリ
の接続された半導体集積回路のメモリの自己診断がより
高速に行なえる。
According to a third aspect of the present invention, in addition to the first aspect of the present invention, N-1 buses for dividing one bus to which N or more memories are connected into N buses are provided. By providing a switch and N pieces of the data comparison means for each of the N divided buses, a plurality of memories can be connected to the same bus since reading inspections of N pieces of memory can be performed in parallel. Self-diagnosis of the memory of the semiconductor integrated circuit can be performed at higher speed.

【0123】請求項4の発明によれば、上記請求項1の
発明に加えて、前記選択されデータ比較手段に入力され
る任意の2つのバスのバス幅がデータ比較手段のビット
幅より小さい場合、1つの入力として複数のバスを選択
し、選択した複数のバスのバス幅の合計がなおデータ比
較手段のビット幅に満たない場合は、バス幅に合わせて
有効なデータの乗らない部分をマスクする機能をデータ
比較手段に加えたことで、データ比較手段を有効に利用
し、メモリの接続されたバスのバス幅が異なる場合の読
み出し検査を並列に行なえる。
According to a fourth aspect of the present invention, in addition to the first aspect, the bus width of any two buses selected and inputted to the data comparing means is smaller than the bit width of the data comparing means. If a plurality of buses are selected as one input and the sum of the bus widths of the selected plurality of buses is still less than the bit width of the data comparison means, a portion where valid data is not placed is masked according to the bus width. This function is added to the data comparing means, so that the data comparing means can be effectively used, and the reading test can be performed in parallel when the buses connected to the memories have different bus widths.

【0124】請求項5の発明によれば、上記請求項1の
発明において、前記複数本のバスの1つが命令バスであ
って、前記命令バスにダイレクトマップあるいはセット
アソシエイティブのいずれかの方式を採る命令キャッシ
ュのデータメモリが接続され、前記データメモリの読み
出し検査は前記データメモリから命令バスに読み出した
データを第1の入力とし、前記データ生成手段が前記命
令バス以外のバスに出力した期待値を第2の入力として
前記データ比較手段で比較することにより行ない、命令
キャッシュのタグメモリの読み出し検査は前記タグメモ
リから読み出したデータを第1の入力とし、命令キャッ
シュをアクセスするアドレスのタグ部を第2の入力とす
るタグ比較手段で比較することにより行ない、それぞれ
の比較手段から出力される比較結果を入力しメモリの良
否判定情報として格納する比較結果格納手段とを備える
ことにより、命令キャッシュのデータメモリとタグメモ
リとの読み出し検査が並列に行なえメモリの自己診断が
より高速に行なえる。
According to a fifth aspect of the present invention, in the first aspect of the present invention, one of the plurality of buses is an instruction bus, and the instruction bus is provided with either a direct map or a set associative system. A data memory of an instruction cache to be used is connected, and a read check of the data memory is performed by setting data read from the data memory to an instruction bus as a first input, and an expected value output by the data generation means to a bus other than the instruction bus. Is compared by the data comparison means as a second input, and the read check of the tag memory of the instruction cache is performed by using the data read from the tag memory as the first input and the tag portion of the address for accessing the instruction cache. The comparison is performed by the tag comparing means serving as the second input, and output from each comparing means. A comparison result storage means for inputting the comparison result to be input and storing the result as pass / fail judgment information of the memory, so that the read check of the data memory and the tag memory of the instruction cache can be performed in parallel, and the self-diagnosis of the memory can be performed more quickly. You.

【0125】請求項6の発明によれば、上記請求項1の
発明において、前記複数本のバスの1つがデータバスで
あって、前記データバスにダイレクトマップあるいはセ
ットアソシエイティブのいずれかの方式を採るデータキ
ャッシュのデータメモリが接続され、前記データメモリ
の読み出し検査は前記データメモリからデータバスに読
み出したデータを第1の入力とし、前記データ生成手段
が前記データバス以外のバスに出力した期待値を第2の
入力として前記データ比較手段で比較することにより行
ない、データキャッシュのタグメモリの読み出し検査は
前記タグメモリから読み出したデータを第1の入力と
し、データキャッシュをアクセスするアドレスのタグ部
を第2の入力とするタグ比較手段で比較することにより
行ない、それぞれの比較手段から出力される比較結果を
入力しメモリの良否判定情報として格納する比較結果格
納手段とを備えることによりデータキャッシュのデータ
メモリとタグメモリとの読み出し検査が並列に行なえメ
モリの自己診断がより高速に行なえる。
According to a sixth aspect of the present invention, in the first aspect of the present invention, one of the plurality of buses is a data bus, and the data bus is provided with either a direct map or a set associative system. The data memory of the data cache to be used is connected, and the read check of the data memory is performed by setting the data read from the data memory to the data bus as a first input, and the expected value output by the data generating means to a bus other than the data bus. Is compared by the data comparing means as a second input, and the read inspection of the tag memory of the data cache is performed by using the data read from the tag memory as the first input, and checking the tag portion of the address for accessing the data cache. The comparison is performed by the tag comparison means as the second input, and A comparison result storage means for inputting the comparison result output from the comparison means and storing the result as pass / fail judgment information of the memory, so that the read inspection of the data memory and the tag memory of the data cache can be performed in parallel, and the self-diagnosis of the memory can be further improved. You can go fast.

【0126】請求項7の発明によれば、上記請求項1の
発明において、複数本のバスが命令バスとデータバスと
を含み、前記命令バスとデータバスそれぞれに接続され
る命令キャッシュのデータメモリ及びデータキャッシュ
のデータメモリの自己診断を行なうことができる。
According to a seventh aspect of the present invention, in the first aspect of the present invention, the plurality of buses include an instruction bus and a data bus, and the data memory of the instruction cache connected to each of the instruction bus and the data bus. And a self-diagnosis of the data memory of the data cache.

【0127】請求項8の発明によれば、上記請求項5ま
たは6の発明において、通常時にはキャッシュをアクセ
スするアドレスのタグ部を選択し、タグメモリの検査時
にはデータ生成手段から出力されるバス上のデータを選
択するセレクタを備え、前記セレクタの出力をタグメモ
リの書き込みポートとタグ比較手段に入力することでタ
グメモリの検査時の書き込みデータあるいはタグとの比
較に用いる期待値をデータメモリのものと共通化できる
ことからメモリ検査時のアドレス生成手段の機能はアド
レス発生のみとなり、アドレス生成手段の構成を簡単化
することができる。
According to the invention of claim 8, in the invention of claim 5 or 6, the tag portion of the address to access the cache is selected at normal times, and the tag output from the data generation means is output at the time of inspection of the tag memory. A selector for selecting the data of the data memory, and inputting the output of the selector to the write port of the tag memory and the tag comparing means to thereby write the expected data used for comparison with the write data or the tag at the time of the inspection of the tag memory of the data memory. Therefore, the function of the address generation means at the time of memory inspection is only address generation, and the configuration of the address generation means can be simplified.

【0128】請求項9の発明によれば、上記請求項1の
発明と同様にして、メモリへの書き込み時には前記デー
タ生成手段からメモリの接続された全てのバスに書き込
みパターンデータを出力することで前記バスのそれぞれ
に接続された複数のメモリへの並列書き込みを行ない、
メモリの読み出し検査時には前記データ比較手段の第1
の入力として前記複数本のバスの中から1つのバスを選
択して第1の入力とし第1の入力として選択されたバス
以外のバスを選択し第2の入力とし前記第1の入力には
バスに接続されたメモリを読み出したデータを第2の入
力には前記データ生成手段の出力する期待値を供給する
ことで読み出しデータと期待値との比較を行なうこと
で、半導体集積回路外部からアドレスやデータを与える
ことなくメモリの自己診断が行なえる。
According to the ninth aspect of the present invention, similarly to the first aspect of the present invention, at the time of writing to the memory, the write pattern data is output from the data generating means to all the buses connected to the memory. Performing parallel writing to a plurality of memories connected to each of the buses,
At the time of memory read inspection, the first
One bus is selected from the plurality of buses as the first input, a bus other than the bus selected as the first input is selected as the first input, and the second input is selected as the second input. The data read from the memory connected to the bus is supplied to the second input with the expected value output from the data generating means, and the read data is compared with the expected value. Self-diagnosis of memory can be performed without giving data or data.

【0129】請求項11の発明によれば、上記請求項9
の発明に加えて、N−1個のバススイッチにより少なく
ともN個以上の複数個のメモリが接続された1本のバス
をN個に分割可能とし、メモリの書き込み時にはバスは
分割せずデータ生成手段が前記バスに出力する書き込み
パターンデータを前記N個以上の複数個のメモリに並列
に書き込み、読み出し検査時には前記バスを分割しN個
のメモリから前記N個に分割されたバスにそれぞれ読み
出したデータを出力し前記分割されたバス毎に設けられ
たN個のデータ比較手段の第1の入力として前記読み出
したデータを入力し第2の入力としてデータ生成手段が
出力する期待値を入力することで同一のバスに複数のメ
モリの接続された半導体集積回路のメモリの自己診断が
より高速に行なえる。
According to the eleventh aspect, the ninth aspect is provided.
In addition to the invention of (1), one bus to which at least N or more memories are connected can be divided into N by N-1 bus switches, and data is generated without dividing the bus when writing data to the memory. The write pattern data output by the means to the bus is written in parallel to the N or more memories, and at the time of read inspection, the bus is divided and read from the N memories to the N divided buses. Outputting the data, inputting the read data as a first input of N data comparing means provided for each of the divided buses, and inputting an expected value output by the data generating means as a second input; Thus, the self-diagnosis of the memory of the semiconductor integrated circuit in which a plurality of memories are connected to the same bus can be performed at higher speed.

【0130】請求項12の発明によれば、上記請求項9
の発明において、前記データ比較手段の第1の入力とし
て選択されたバスが前記データ比較手段のビット幅より
小さい場合、メモリの接続された複数のバスを第1の入
力として同時に選択することで複数のバスに接続された
メモリの読み出しおよび期待値との比較動作を並列に行
なうことで、異なるバスに接続されたビット構成の異な
るメモリの読み出しおよび期待値との比較動作を並列に
行なうことが可能となり、読み出し検査の高速化が可能
となる。
According to the twelfth aspect, the ninth aspect is provided.
In the invention, when a bus selected as a first input of the data comparing means is smaller than a bit width of the data comparing means, a plurality of buses connected to a memory are simultaneously selected as a first input to thereby obtain a plurality of buses. By performing the read operation of the memory connected to the different bus and the comparison operation with the expected value in parallel, the read operation of the memory of different bit configuration connected to the different bus and the comparison operation with the expected value can be performed in parallel And the speed of the read inspection can be increased.

【0131】請求項13の発明によれば、上記請求項9
の発明において、前記複数本のバスの1つが命令バスで
あって、前記命令バスにダイレクトマップあるいはセッ
トアソシエイティブのいずれかの方式を採る命令キャッ
シュのデータメモリが接続され、前記データメモリの読
み出し検査は前記データメモリから命令バスに読み出し
たデータを第1の入力とし、前記データ生成手段が前記
命令バス以外のバスに出力した期待値を第2の入力とし
て前記データ比較手段で比較することにより行ない、タ
グメモリの読み出し検査は前記タグメモリから読み出し
たデータを第1の入力とし、命令キャッシュをアクセス
するアドレスのタグ部を第2の入力とするタグ比較手段
で比較することにより行ない、それぞれの比較手段から
出力される比較結果をメモリの良否判定情報として比較
結果格納手段に入力することでデータキャッシュのデー
タメモリとタグメモリとの読み出し検査を並列に行な
え、追加手段を必要とせずに読み出しおよび期待値との
比較動作をデータメモリおよびタグメモリで並列に行な
うことが可能となり、読み出し検査の高速化が可能とな
る。
According to the thirteenth aspect, the ninth aspect is provided.
In the invention, one of the plurality of buses is an instruction bus, and a data memory of an instruction cache employing either a direct map or a set associative system is connected to the instruction bus. Is performed by using the data read from the data memory to the instruction bus as a first input, and comparing the expected value output to a bus other than the instruction bus by the data generation means with the data comparison means as a second input. The read check of the tag memory is performed by comparing data read from the tag memory with the first input and comparing the tag portion of the address for accessing the instruction cache with the second input using the tag comparing means. The comparison result output from the means is input to the comparison result storage means as pass / fail judgment information of the memory. By doing so, it is possible to perform read inspection of the data memory of the data cache and the tag memory in parallel, and it is possible to perform the read operation and the comparison operation with the expected value in the data memory and the tag memory in parallel without requiring additional means, The speed of the read inspection can be increased.

【0132】請求項14の発明によれば、上記請求項9
の発明において、前記複数本のバスの1つがデータバス
であって、前記データバスにダイレクトマップあるいは
セットアソシエイティブのいずれかの方式を採るデータ
キャッシュのデータメモリが接続され、前記データメモ
リの読み出し検査は前記データメモリからデータバスに
読み出したデータを第1の入力とし、前記データ生成手
段が前記データバス以外のバスに出力した期待値を第2
の入力として前記データ比較手段で比較することにより
行ない、タグメモリの読み出し検査は前記タグメモリか
ら読み出したデータを第1の入力とし、データキャッシ
ュをアクセスするアドレスのタグ部を第2の入力とする
タグ比較手段で比較することにより行ない、それぞれの
比較手段から出力される比較結果をメモリの良否判定情
報として比較結果格納手段に入力することでデータキャ
ッシュのデータメモリとタグメモリとの読み出し検査を
並列に行なえ、読み出し検査の高速化が可能となる。
According to the fourteenth aspect, the ninth aspect is provided.
In the invention, one of the plurality of buses is a data bus, and the data bus is connected to a data memory of a data cache employing either a direct map or a set associative method, and a read test of the data memory is performed. Uses the data read from the data memory to the data bus as a first input, and outputs the expected value output from the data generation means to a bus other than the data bus as a second input.
The data is read out from the tag memory as the first input, and the tag portion of the address for accessing the data cache is used as the second input. The comparison is performed by the tag comparing means, and the comparison result output from each of the comparing means is input to the comparison result storing means as the pass / fail judgment information of the memory, so that the reading test of the data memory of the data cache and the tag memory is performed in parallel. And the speed of the read inspection can be increased.

【0133】請求項15の発明によれば、上記請求項1
3または14の発明において、通常時にはキャッシュを
アクセスするアドレスのタグ部を選択し、タグメモリの
検査時にはデータ生成手段から出力されるバス上のデー
タを選択するセレクタを備え、前記セレクタの出力をタ
グメモリとタグ比較手段に入力することでタグメモリの
検査時の書き込みデータあるいはタグとの比較に用いる
期待値とをデータメモリの書き込みデータあるいは期待
値と共通化できることからアドレス生成手段の構成を簡
単化することができる。
According to the fifteenth aspect, the first aspect is provided.
The invention according to the third or 14th aspect, further comprising a selector for selecting a tag portion of an address for accessing the cache at normal times, and selecting data on a bus output from the data generating means at the time of inspection of the tag memory. By inputting the data to the memory and the tag comparing means, the write data at the time of the inspection of the tag memory or the expected value used for comparison with the tag can be shared with the write data or the expected value of the data memory, thereby simplifying the configuration of the address generating means. can do.

【0134】請求項16の発明によれば、上記請求項9
の発明において、メモリへの書き込み時にはデータ生成
手段からメモリの接続された全てのバスに書き込みパタ
ーンデータを出力することにより、前記バスのそれぞれ
に接続された複数のメモリへの並列書き込みを行なう処
理と同時に、データ比較手段の第1の入力として前記複
数本のバスの中から1つのバスを選択し、前記データ比
較手段の第2の入力として前記第1の入力として選択さ
れたバス以外のバスを選択し、前記第1の入力と前記第
2の入力に与えられる前記データ生成手段の出力するパ
ターンデータを比較することにより、選択したバス配線
の故障を検出する処理を行い、メモリの読み出し検査時
にはデータ比較手段の第1の入力として前記複数本のバ
スの中から1つのバスを選択し、前記データ比較手段の
第2の入力として前記第1の入力として選択されたバス
以外のバスを選択し、前記第1の入力にはバスに接続さ
れたメモリを読み出したデータを、前記第2の入力には
前記データ生成手段の出力する期待値を供給することに
より、読み出しデータと期待値との比較を行なう処理と
を備えることで、メモリから読み出されたデータが期待
値と異なる場合、配線不良によるのか、メモリ不良によ
るのかの原因の特定が可能となり、半導体集積回路の不
良解析が容易となる。
According to the sixteenth aspect, the ninth aspect is provided.
In the invention, when writing to a memory, by outputting write pattern data from the data generating means to all buses connected to the memory, a process of performing parallel writing to a plurality of memories connected to each of the buses is provided. At the same time, one bus is selected from the plurality of buses as a first input of the data comparison means, and a bus other than the bus selected as the first input is selected as a second input of the data comparison means. By selecting and comparing the pattern data output from the data generating means to the first input and the second input, a process of detecting a failure of the selected bus wiring is performed. One of the plurality of buses is selected as the first input of the data comparing means, and the second bus is selected as the second input of the data comparing means. A bus other than the bus selected as the first input is selected, data read from a memory connected to the bus is output as the first input, and output of the data generating means is output as the second input. By providing the expected value, a process for comparing the read data with the expected value is provided. If the data read from the memory is different from the expected value, the cause may be a wiring failure or a memory failure. Can be specified, and the failure analysis of the semiconductor integrated circuit can be easily performed.

【0135】請求項17の発明によれば、前記請求項1
1の発明において、メモリの書き込み時にはバスは分割
せずデータ生成手段が前記バスに出力する書き込みパタ
ーンデータを前記N個以上の複数個のメモリに並列に書
き込むと同時に、前記分割されたバス毎に設けられたN
個のデータ比較手段の第1の入力と第2の入力としてデ
ータ生成手段の出力するパターンデータを比較すること
により、前記分割されたバス配線毎の故障を検出し、バ
ス配線毎の故障故障検出結果を比較することで前記分割
されたバスの故障箇所を特定する処理とを備えること
で、メモリから読み出されたデータが期待値と異なる場
合、配線不良によるのか、メモリ不良によるのかの原因
の特定が可能となると共に、配線の不良箇所の特定など
不良解析がさらに容易となる。
According to the seventeenth aspect, the first aspect is provided.
In the present invention, the bus is not divided at the time of writing to the memory, and the write pattern data output to the bus by the data generating means is written in parallel to the plurality of N or more memories at the same time as the divided bus. N provided
By comparing the pattern data output from the data generating means as the first input and the second input of the data comparing means, a fault for each of the divided bus lines is detected, and a fault detection for each bus line is detected. A process for identifying a faulty portion of the divided bus by comparing the results, if the data read from the memory is different from the expected value, it may be caused by a wiring failure or a memory failure. The identification becomes possible, and the failure analysis such as the identification of the defective portion of the wiring is further facilitated.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の第1の実施例におけるメモリを内蔵し
た半導体集積回路の構成図
FIG. 1 is a configuration diagram of a semiconductor integrated circuit including a memory according to a first embodiment of the present invention;

【図2】同実施例におけるメモリに書き込む4種のデー
タパターンを示した図
FIG. 2 is a diagram showing four types of data patterns written to a memory in the embodiment.

【図3】同実施例におけるメモリを内蔵した半導体集積
回路の検査方法を示すフロー図
FIG. 3 is a flowchart showing a method of inspecting a semiconductor integrated circuit having a built-in memory in the embodiment.

【図4】第2実施例におけるメモリを内蔵した半導体集
積回路の構成図
FIG. 4 is a configuration diagram of a semiconductor integrated circuit including a memory according to a second embodiment.

【図5】第3実施例におけるメモリを内蔵した半導体集
積回路の構成図
FIG. 5 is a configuration diagram of a semiconductor integrated circuit including a memory according to a third embodiment.

【図6】第1実施例におけるメモリを内蔵した半導体集
積回路の配線故障を説明する図
FIG. 6 is a diagram illustrating a wiring failure of a semiconductor integrated circuit having a built-in memory according to the first embodiment;

【図7】第2実施例におけるメモリを内蔵した半導体集
積回路の配線故障を説明する図
FIG. 7 is a diagram illustrating a wiring failure of a semiconductor integrated circuit having a built-in memory according to a second embodiment.

【符号の説明】[Explanation of symbols]

1 命令キャッシュ 2 データキャッシュ 3 バス制御手段 4 結果格納レジスタ 11 アドレス生成手段 14,24 データメモリ 15,25 タグメモリ 16,26 タグ比較手段 17,27 アドレスデコーダ部 21 アドレス生成手段 31 データ生成手段 32 データ比較手段 100 命令バス 200 データバス DESCRIPTION OF SYMBOLS 1 Instruction cache 2 Data cache 3 Bus control means 4 Result storage register 11 Address generation means 14,24 Data memory 15,25 Tag memory 16,26 Tag comparison means 17,27 Address decoder unit 21 Address generation means 31 Data generation means 32 Data Comparison means 100 instruction bus 200 data bus

───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G11C 29/00 G06F 12/08 H01L 21/66 ──────────────────────────────────────────────────続 き Continued on the front page (58) Field surveyed (Int.Cl. 7 , DB name) G11C 29/00 G06F 12/08 H01L 21/66

Claims (17)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】メモリの自己診断を行なう半導体集積回路
であって、 1つ以上のメモリが接続されたバスを複数本と、 前記全てのバスに接続され書き込み対象のメモリに対し
ては書き込みパターンデータとなり、読み出し対象のメ
モリに対しては期待値となるパターンデータを供給する
データ生成手段と、 前記複数本のバスの中から読み出し対象のメモリが接続
されたバスを選択して前記読み出し対象のメモリから読
み出されたデータを第1の入力とし、前記第1の入力で
選択されたバス以外のバスを選択してデータ生成手段の
出力する期待値を第2の入力とし、これら第1,第2の
入力データを比較しその比較結果を出力するデータ比較
手段とを備えた半導体集積回路。
1. A semiconductor integrated circuit for performing self-diagnosis of a memory, comprising: a plurality of buses to which one or more memories are connected; and a write pattern for a memory to be written which is connected to all the buses. Data generating means for supplying pattern data which becomes data and an expected value to a memory to be read, and a bus to which a memory to be read is connected is selected from the plurality of buses to select a bus to be read. The data read from the memory is used as a first input, and an expected value output from the data generating means by selecting a bus other than the bus selected by the first input is used as a second input. A semiconductor integrated circuit comprising: data comparing means for comparing the second input data and outputting the comparison result.
【請求項2】請求項1記載の半導体集積回路において、
さらに前記比較結果を入力しメモリの良否判定情報とし
て格納する比較結果格納手段を有したことを特徴とする
半導体集積回路。
2. The semiconductor integrated circuit according to claim 1, wherein
A semiconductor integrated circuit further comprising comparison result storage means for inputting the comparison result and storing the result as pass / fail judgment information of a memory.
【請求項3】請求項1記載の半導体集積回路において、
さらにN個以上の複数個のメモリが接続された1本のバ
スをN個に分割するN−1個のバススイッチを有し、前
記データ比較手段は前記N個に分割されたバス毎に設け
られたことを特徴とする半導体集積回路。
3. The semiconductor integrated circuit according to claim 1, wherein
Further, there are (N-1) bus switches for dividing one bus to which N or more memories are connected into N buses, and the data comparison means is provided for each of the N divided buses. A semiconductor integrated circuit characterized in that:
【請求項4】請求項1記載の半導体集積回路において、
前記データ比較手段に入力される任意の2つのバスのバ
ス幅が前記データ比較手段のビット幅より小さい場合、
1つの入力として複数のバスを選択し、選択した複数の
バスのバス幅の合計がなお前記データ比較手段のビット
幅に満たない場合は、バス幅に合わせて有効なデータの
乗らない部分をマスクする機能を前記データ比較手段に
加えたことを特徴とする半導体集積回路。
4. The semiconductor integrated circuit according to claim 1, wherein
When the bus width of any two buses input to the data comparing means is smaller than the bit width of the data comparing means,
If a plurality of buses are selected as one input and the total bus width of the selected plurality of buses is still less than the bit width of the data comparing means, a portion where valid data is not placed is masked according to the bus width. A semiconductor integrated circuit, wherein the function of performing the above operation is added to the data comparing means.
【請求項5】請求項1記載の半導体集積回路において、
前記複数本のバスの1つが命令バスであって、前記命令
バスに接続されたメモリがダイレクトマップあるいはセ
ットアソシエイティブのいずれかの方式を採る、データ
メモリ及びタグメモリを有する命令キャッシュのデータ
メモリであり、 前記データ比較手段は前記データメモリから命令バスに
読み出したデータを第1の入力とし、前記データ生成手
段が前記命令バス以外のバスに出力した期待値を第2の
入力とし、その比較結果の出力を行ない、 前記タグメモリから読み出したデータを第1の入力と
し、命令キャッシュをアクセスするアドレスのタグ部を
第2の入力とし、その比較結果を出力するタグ比較手段
と、 前記複数の比較手段から出力される比較結果を入力し、
メモリの良否判定情報として格納する比較結果格納手段
とを備え、 命令キャッシュのデータメモリとタグメモリとの読み出
し検査を並列に行なうことを特徴とする半導体集積回
路。
5. The semiconductor integrated circuit according to claim 1, wherein
One of the plurality of buses is an instruction bus, and a memory connected to the instruction bus employs either a direct map or a set associative method, and is a data memory of an instruction cache having a data memory and a tag memory. Wherein the data comparison means uses the data read from the data memory to the instruction bus as a first input, and the expected value output to the bus other than the instruction bus by the data generation means as a second input; A tag comparing means for outputting data read from the tag memory as a first input, a tag portion of an address for accessing the instruction cache as a second input, and outputting a comparison result thereof; Input the comparison result output from the means,
A semiconductor integrated circuit comprising comparison result storage means for storing as memory pass / fail judgment information, and performing a read test of a data memory and a tag memory of an instruction cache in parallel.
【請求項6】請求項1記載の半導体集積回路において、
前記複数本のバスの1つがデータバスであって、前記デ
ータバスに接続されたメモリがダイレクトマップあるい
はセットアソシエイティブのいずれかの方式を採る、デ
ータメモリ及びタグメモリを有するデータキャッシュの
データメモリであり、 前記データ比較手段は前記データメモリからデータバス
に読み出したデータを第1の入力とし、前記データ生成
手段が前記データバス以外のバスに出力した期待値を第
2の入力としてその比較結果の出力を行ない、 前記タグメモリから読み出したデータを第1の入力と
し、データキャッシュをアクセスするアドレスのタグ部
を第2の入力とし、その比較結果を出力するタグ比較手
段と、 前記複数の比較手段から出力される比較結果を入力し、
メモリの良否判定情報として格納する比較結果格納手段
とを備え、 データキャッシュのデータメモリとタグメモリとの読み
出し検査を並列に行なうことを特徴とする半導体集積回
路。
6. The semiconductor integrated circuit according to claim 1, wherein
One of the plurality of buses is a data bus, and a memory connected to the data bus employs either a direct map or a set associative system, and is a data memory of a data cache having a data memory and a tag memory. The data comparison means uses the data read from the data memory to a data bus as a first input, and the expected value output from the data generation means to a bus other than the data bus as a second input to calculate the comparison result. A tag comparing means for outputting data, reading the data read from the tag memory as a first input, a tag portion of an address for accessing a data cache as a second input, and outputting a comparison result, and the plurality of comparing means Input the comparison result output from
A semiconductor integrated circuit comprising comparison result storage means for storing as memory pass / fail judgment information, and performing a read test of a data memory and a tag memory of a data cache in parallel.
【請求項7】請求項1記載の半導体集積回路において、
前記複数本のバスは命令バスとデータバスとを含み、前
記命令バス及びデータバスにそれぞれ命令キャッシュの
データメモリ及びデータキャッシュのデータメモリが接
続されたことを特徴とする半導体集積回路。
7. The semiconductor integrated circuit according to claim 1, wherein
A semiconductor integrated circuit, wherein the plurality of buses include an instruction bus and a data bus, and a data memory of an instruction cache and a data memory of a data cache are connected to the instruction bus and the data bus, respectively.
【請求項8】請求項5または6記載の半導体集積回路に
おいて、さらに通常時にはキャッシュをアクセスするア
ドレスのタグ部を選択し、タグメモリの検査時にはデー
タ生成手段から出力されるバス上のデータを選択するセ
レクタを備え、前記セレクタの出力がタグメモリとタグ
比較手段とに接続されてなることを特徴とする半導体集
積回路。
8. The semiconductor integrated circuit according to claim 5, further comprising a step of selecting a tag portion of an address for accessing a cache in a normal state, and selecting data on a bus output from a data generating means during a test of a tag memory. Wherein the output of the selector is connected to a tag memory and a tag comparing means.
【請求項9】メモリへの書き込み時にはデータ生成手段
からメモリの接続された全てのバスに書き込みパターン
データを出力することにより、前記バスのそれぞれに接
続された複数のメモリへの並列書き込みを行なう処理
と、 メモリの読み出し検査時にはデータ比較手段の第1の入
力として前記複数本のバスの中から1つのバスを選択
し、前記データ比較手段の第2の入力として前記第1の
入力として選択されたバス以外のバスを選択し、前記第
1の入力にはバスに接続されたメモリを読み出したデー
タを、前記第2の入力には前記データ生成手段の出力す
る期待値を供給することにより、読み出しデータと期待
値との比較を行なう処理とを備えた半導体集積回路の検
査方法。
9. A process for performing parallel writing to a plurality of memories connected to each of the buses by outputting write pattern data from the data generating means to all buses connected to the memory at the time of writing to the memory. And selecting one of the plurality of buses as the first input of the data comparing means at the time of the memory read test, and selecting the first input as the second input of the data comparing means. By selecting a bus other than the bus and supplying the data read from the memory connected to the bus to the first input and the expected value output from the data generating means to the second input, the read is performed. A method for inspecting a semiconductor integrated circuit, comprising: a process of comparing data with an expected value.
【請求項10】請求項9記載の半導体集積回路の検査方
法において、さらに第1の入力として選択されたバスに
接続された全てのメモリの読み出し検査が終ると、前記
データ比較手段の第1の入力として読み出し検査の実施
されていないメモリが接続されたバスを選択し、読み出
し検査の実施されていないメモリに対する読み出し検査
を行う処理を有することを特徴とする半導体集積回路の
検査方法。
10. The method for inspecting a semiconductor integrated circuit according to claim 9, wherein when the read inspection of all the memories connected to the bus selected as the first input is completed, the first of the data comparing means is performed. A method for inspecting a semiconductor integrated circuit, comprising a process of selecting a bus to which a memory on which a read test has not been performed is connected as an input and performing a read test on a memory on which a read test has not been performed.
【請求項11】請求項9記載の半導体集積回路の検査方
法において、N−1個のバススイッチにより少なくとも
N個以上の複数個のメモリが接続された1本のバスをN
個に分割可能とし、 メモリの書き込み時にはバスは分割せずデータ生成手段
が前記バスに出力する書き込みパターンデータを前記N
個以上の複数個のメモリに並列に書き込み、 読み出し検査時には前記バスを分割しN個のメモリから
前記N個に分割されたバスにそれぞれ読み出したデータ
を出力し、前記分割されたバス毎に設けられたN個のデ
ータ比較手段の第1の入力として前記読み出したデータ
を入力し、第2の入力としてデータ生成手段が出力する
期待値を入力することにより、N個のメモリの読み出し
検査を並列に行なうことを特徴とする半導体集積回路の
検査方法。
11. The method for testing a semiconductor integrated circuit according to claim 9, wherein one bus to which at least N or more memories are connected by N-1 bus switches is set to N.
The write pattern data output to the bus by the data generation means is not divided into N buses when writing data to the memory.
At the time of read inspection, the bus is divided and the data read out from the N memories are output to the N divided buses at the time of read inspection, and the read data is provided for each of the divided buses. By inputting the read data as the first input of the obtained N data comparing means and inputting the expected value output by the data generating means as the second input, the reading test of the N memories is performed in parallel. A semiconductor integrated circuit inspection method.
【請求項12】請求項9記載の半導体集積回路の検査方
法において、前記データ比較手段の第1の入力として選
択されたバスが前記データ比較手段のビット幅より小さ
い場合、メモリの接続された複数のバスを第1の入力と
して同時に選択することにより、複数のバスに接続され
たメモリの読み出しおよび期待値との比較動作を並列に
行なうことを特徴とする半導体集積回路の検査方法。
12. The method according to claim 9, wherein when a bus selected as a first input of said data comparing means is smaller than a bit width of said data comparing means, a plurality of connected memories are provided. A testing method for a semiconductor integrated circuit, wherein reading of a memory connected to a plurality of buses and comparison with an expected value are performed in parallel by simultaneously selecting the first bus as a first input.
【請求項13】請求項9記載の半導体集積回路の検査方
法において、前記複数本のバスの1つが命令バスであっ
て、前記命令バスにダイレクトマップあるいはセットア
ソシエイティブのいずれかの方式を採る、データメモリ
及びタグメモリを有する命令キャッシュのデータメモリ
が接続され、 前記データメモリの読み出し検査は、前記データメモリ
から命令バスに読み出したデータを第1の入力とし、前
記データ生成手段が前記命令バス以外のバスに出力した
期待値を第2の入力として前記データ比較手段で比較す
ることにより行ない、 前記タグメモリの読み出し検査は、前記タグメモリから
読み出したデータを第1の入力とし、命令キャッシュを
アクセスするアドレスのタグ部を第2の入力とするタグ
比較手段で比較することにより行ない、 それぞれのデータ比較手段及びタグ比較手段から出力さ
れる比較結果をメモリの良否判定情報として格納する比
較結果格納手段に入力することにより、データキャッシ
ュのデータメモリとタグメモリとの読み出し検査を並列
に行なうことを特徴とする半導体集積回路の検査方法。
13. A method for testing a semiconductor integrated circuit according to claim 9, wherein one of said plurality of buses is an instruction bus, and said instruction bus employs either a direct map or a set associative method. A data memory of an instruction cache having a data memory and a tag memory is connected. In the read check of the data memory, data read from the data memory to an instruction bus is used as a first input, and the data generation means is other than the instruction bus. The expected value output to the bus is compared as the second input by the data comparison means. The read check of the tag memory is performed by using the data read from the tag memory as the first input and accessing the instruction cache. By comparing the tag portion of the address to be compared with the tag comparing means having the second input. By inputting the comparison results output from the respective data comparison means and the tag comparison means to the comparison result storage means for storing as the pass / fail judgment information of the memory, the read inspection of the data memory and the tag memory of the data cache can be performed in parallel. A method for inspecting a semiconductor integrated circuit, which is performed.
【請求項14】請求項9記載の半導体集積回路の検査方
法において、前記複数本のバスの1つがデータバスであ
って、前記データバスにダイレクトマップあるいはセッ
トアソシエイティブのいずれかの方式を採る、データメ
モリ及びタグメモリを有するデータキャッシュのデータ
メモリが接続され、 前記データメモリの読み出し検査は、前記データメモリ
からデータバスに読み出したデータを第1の入力とし、
前記データ生成手段が前記データバス以外のバスに出力
した期待値を第2の入力として前記データ比較手段で比
較することにより行ない、 前記タグメモリの読み出し検査は、前記タグメモリから
読み出したデータを第1の入力とし、データキャッシュ
をアクセスするアドレスのタグ部を第2の入力とするタ
グ比較手段で比較することにより行ない、 それぞれのデータ比較手段及びタグ比較手段から出力さ
れる比較結果をメモリの良否判定情報として格納する比
較結果格納手段に入力することにより、データキャッシ
ュのデータメモリとタグメモリとの読み出し検査を並列
に行なうことを特徴とする半導体集積回路の検査方法。
14. The method for testing a semiconductor integrated circuit according to claim 9, wherein one of said plurality of buses is a data bus, and the data bus employs either a direct map or a set associative system. A data memory of a data cache having a data memory and a tag memory is connected, and in the read check of the data memory, data read from the data memory to a data bus is used as a first input;
The expected value output from the data generation means to a bus other than the data bus is compared as a second input by the data comparison means, and the read check of the tag memory is performed by reading the data read from the tag memory. 1 and the tag portion of the address accessing the data cache is compared by the tag comparing means as the second input, and the comparison result output from each of the data comparing means and the tag comparing means is used to determine whether the memory is good or bad. A test method for a semiconductor integrated circuit, wherein a read test of a data memory and a tag memory of a data cache is performed in parallel by inputting to a comparison result storage means for storing as determination information.
【請求項15】請求項13または14記載の半導体集積
回路において、通常時にはキャッシュをアクセスするア
ドレスのタグ部を選択し、タグメモリの検査時にはデー
タ生成手段から出力されるバス上のデータを選択するセ
レクタを備え、前記セレクタの出力をタグメモリとタグ
比較手段に入力することでタグメモリの検査時の書き込
みデータあるいはタグとの比較に用いる期待値とをデー
タメモリの書き込みデータあるいは期待値と共通化する
ことを特徴とする半導体集積回路の検査方法。
15. A semiconductor integrated circuit according to claim 13, wherein a tag portion of an address for accessing a cache is selected in a normal state, and data on a bus output from a data generating means is selected in a test of a tag memory. A selector is provided, and the output of the selector is input to the tag memory and the tag comparing means, so that the write data at the time of inspection of the tag memory or the expected value used for comparison with the tag is shared with the write data or the expected value of the data memory. A method for inspecting a semiconductor integrated circuit.
【請求項16】請求項9記載の半導体集積回路の検査方
法において、メモリへの書き込み時にはデータ生成手段
からメモリの接続された全てのバスに書き込みパターン
データを出力することにより、前記バスのそれぞれに接
続された複数のメモリへの並列書き込みを行なう処理と
同時に、データ比較手段の第1の入力として前記複数本
のバスの中から1つのバスを選択し、前記データ比較手
段の第2の入力として前記第1の入力として選択された
バス以外のバスを選択し、前記第1の入力と前記第2の
入力に与えられる前記データ生成手段の出力するパター
ンデータを比較することにより、選択したバス配線の故
障を検出する処理を行い、 メモリの読み出し検査時にはデータ比較手段の第1の入
力として前記複数本のバスの中から1つのバスを選択
し、前記データ比較手段の第2の入力として前記第1の
入力として選択されたバス以外のバスを選択し、前記第
1の入力にはバスに接続されたメモリを読み出したデー
タを、前記第2の入力には前記データ生成手段の出力す
る期待値を供給することにより、読み出しデータと期待
値との比較を行なう処理とを備えた半導体集積回路の検
査方法。
16. A method for testing a semiconductor integrated circuit according to claim 9, wherein at the time of writing to a memory, write pattern data is output from a data generating means to all buses connected to the memory, so that each of said buses is output. At the same time as the process of performing parallel writing to a plurality of connected memories, one bus is selected from the plurality of buses as a first input of the data comparing means, and the second input of the data comparing means is selected. By selecting a bus other than the bus selected as the first input and comparing the pattern data output from the data generation means to the first input and the second input, the selected bus wiring Of the plurality of buses as a first input of the data comparison means at the time of a memory read test. And selecting a bus other than the bus selected as the first input as the second input of the data comparison means, and reading the data read from the memory connected to the bus as the first input, A method for comparing read data with an expected value by supplying an expected value output from the data generating means to the second input, and testing the semiconductor integrated circuit.
【請求項17】請求項11記載の半導体集積回路の検査
方法において、メモリの書き込み時にはバスは分割せず
データ生成手段が前記バスに出力する書き込みパターン
データを前記N個以上の複数個のメモリに並列に書き込
むと同時に、前記分割されたバス毎に設けられたN個の
データ比較手段の第1の入力と第2の入力としてデータ
生成手段の出力するパターンデータを比較することによ
り、前記分割されたバス配線毎の故障を検出し、バス配
線毎の故障故障検出結果を比較することで前記分割され
たバスの故障箇所を特定する処理を行うことを特徴とす
る半導体集積回路の検査方法。
17. A method for testing a semiconductor integrated circuit according to claim 11, wherein a bus is not divided at the time of writing to a memory, and write pattern data output from said data generating means to said bus is written to said N or more memories. At the same time as writing in parallel, by comparing the pattern data output from the data generation means as the first input and the second input of the N data comparison means provided for each of the divided buses, A method for inspecting a semiconductor integrated circuit, comprising: detecting a failure of each of the bus wirings and comparing a failure detection result of each of the bus wirings to specify a failure location of the divided bus.
JP6083109A 1993-05-26 1994-04-21 Semiconductor integrated circuit and inspection method thereof Expired - Fee Related JP3060825B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6083109A JP3060825B2 (en) 1993-05-26 1994-04-21 Semiconductor integrated circuit and inspection method thereof

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP5-123729 1993-05-26
JP12372993 1993-05-26
JP6083109A JP3060825B2 (en) 1993-05-26 1994-04-21 Semiconductor integrated circuit and inspection method thereof

Publications (2)

Publication Number Publication Date
JPH0745099A JPH0745099A (en) 1995-02-14
JP3060825B2 true JP3060825B2 (en) 2000-07-10

Family

ID=26424175

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6083109A Expired - Fee Related JP3060825B2 (en) 1993-05-26 1994-04-21 Semiconductor integrated circuit and inspection method thereof

Country Status (1)

Country Link
JP (1) JP3060825B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100382613B1 (en) * 2000-12-29 2003-05-09 주식회사 하이닉스반도체 Test device of self test logic of semiconductor
JP2004030765A (en) * 2002-06-25 2004-01-29 Fujitsu Ltd Semiconductor storage device incorporated with self-diagnostic function
JP4540433B2 (en) * 2004-09-06 2010-09-08 ルネサスエレクトロニクス株式会社 I / O degeneration circuit

Also Published As

Publication number Publication date
JPH0745099A (en) 1995-02-14

Similar Documents

Publication Publication Date Title
JP3274332B2 (en) Controller / mass memory embedded semiconductor integrated circuit device, test method and use method thereof, and semiconductor integrated circuit device and test method therefor
US6560740B1 (en) Apparatus and method for programmable built-in self-test and self-repair of embedded memory
KR100327136B1 (en) Semiconductor memory device and parallel bit test method thereof
US7149924B1 (en) Apparatus, method, and system having a pin to activate the self-test and repair instructions
US5796745A (en) Memory array built-in self test circuit for testing multi-port memory arrays
KR100388550B1 (en) Changing the thread capacity of a multithreaded computer processor
US6493839B1 (en) Apparatus and method for testing memory in a microprocessor
US6643807B1 (en) Array-built-in-self-test (ABIST) for efficient, fast, bitmapping of large embedded arrays in manufacturing test
US8156391B2 (en) Data controlling in the MBIST chain architecture
US6353563B1 (en) Built-in self-test arrangement for integrated circuit memory devices
US5923600A (en) Semiconductor device and test method and apparatus for semiconductor device
US5680544A (en) Method for testing an on-chip cache for repair
JP2004520673A (en) Integrated circuit with embedded non-volatile memory self-diagnosis device and related diagnostic method
US8977915B2 (en) pBIST engine with reduced SRAM testing bus width
US6862704B1 (en) Apparatus and method for testing memory in a microprocessor
CN111816241B (en) Memory and test method thereof
US7797594B1 (en) Built-in self-test of 3-dimensional semiconductor memory arrays
US6779141B1 (en) System and method for implementing memory testing in a SRAM unit
US7139946B2 (en) Method and test circuit for testing memory internal write enable
JP3060825B2 (en) Semiconductor integrated circuit and inspection method thereof
JPS6227479B2 (en)
US8392777B2 (en) Centralized MBIST failure information
US20030221146A1 (en) Method and apparatus to data log at-speed March C+ memory BIST
CN103871476B (en) In-line memory tests system
JPH11102598A (en) Memory failure relief analyzer

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees