JP4601737B2 - メモリ混載ロジックlsi - Google Patents
メモリ混載ロジックlsi Download PDFInfo
- Publication number
- JP4601737B2 JP4601737B2 JP30755898A JP30755898A JP4601737B2 JP 4601737 B2 JP4601737 B2 JP 4601737B2 JP 30755898 A JP30755898 A JP 30755898A JP 30755898 A JP30755898 A JP 30755898A JP 4601737 B2 JP4601737 B2 JP 4601737B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- macro
- output
- dtdo
- circuit
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/3167—Testing of combined analog and digital circuits
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318505—Test of Modular systems, e.g. Wafers, MCM's
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S257/00—Active solid-state devices, e.g. transistors, solid-state diodes
- Y10S257/909—Macrocell arrays, e.g. gate arrays with variable size or configuration of cells
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Tests Of Electronic Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Semiconductor Memories (AREA)
Description
【発明の属する技術分野】
本発明は、メモリ混載ロジックLSIのメモリマクロのテスト手法に関し、特に、1チップ内に複数のメモリマクロが配置されるメモリ混載ロジックLSIに適用される。
【0002】
【従来の技術】
近年、半導体メモリの機能(メモリマクロ)を含む複数の機能をワンチップに集積し、ワンチップ内に特定のシステムを形成したいわゆるメモリ混載ロジックLSI(システムLSI)が注目されている。メモリ混載ロジックLSIでは、いままで別々のチップに形成されていた半導体メモリの機能とロジックの機能をワンチップに形成するため、システムの高性能化、低消費電力化、小型化(部品数の削減)に貢献する。
【0003】
ところで、メモリマクロは、半導体メモリとして動作するのに必要な全ての回路を含んでいるため、その内部において、読み出し、書き込みなどの一連の動作を完結できるようになっている。また、メモリマクロ内には、メモリマクロとロジック部の接点となるインターフェイス部が設けられ、メモリマクロとロジック部との間で、直接、データのやりとりが行われる。
【0004】
【発明が解決しようとする課題】
メモリ混載ロジックLSIのメモリマクロ内には、メモリマクロの機能を確認するため、テスト制御ブロックが設けられる。そして、テスト時に、このテスト制御ブロックを機能させてメモリマクロのテストを行っている。しかし、複数のメモリマクロを有するメモリ混載ロジックLSIの場合には、複数のメモリマクロを1つずつ順番にテストすることになるため、テスト時間が増大する欠点がある。また、複数のメモリマクロを別々にテストする場合には、各メモリマクロを識別する回路が必要となるため、各メモリマクロ内のテスト制御ブロックの構成(レイアウト)が異なってくる。従って、メモリマクロごとにテスト制御ブロックを設計しなければならないため、メモリマクロの設計時間が増大する欠点がある。
【0005】
本発明は、上記欠点を解決すべくなされたもので、その目的は、複数のメモリマクロを有するメモリ混載ロジックLSIにおいて、短時間、かつ、簡易に、メモリマクロのテストを行うことができ、さらに、メモリマクロの設計も短時間で行うことができるメモリ混載ロジックLSIを提供することにある。
【0006】
【課題を解決するための手段】
本発明の例に係わるメモリ混載ロジックLSIは、ワンチップ内に配置され、半導体メモリの機能を有するm個(m=2,3,… 以下、同じ)のメモリマクロと、前記m個のメモリマクロに対応して設けられるm個のインターフェイス部と、前記m個のメモリマクロに対応して設けられるm個のテスト制御ブロックと、前記m個のメモリマクロの外部の前記ワンチップ内に配置される出力合成回路とを備え、前記m個のメモリマクロの各々は、k(k=1,2,3,… )個のブロックを有し、前記k個のブロックの各々からn0(n0=1,2,3,… )ビットのデータを出力し、前記m個のインターフェイス部の各々は、前記k個のブロックの間で前記n0ビットのデータを比較し、それらの一致/不一致を示すPASS/FAILビットを出力すると共に、前記k個のブロックの各々から出力される前記n0ビットのデータ(合計n0×kビットのデータ)をn0ビットのデータに圧縮し、前記m個のテスト制御ブロックの各々は、それに対応するメモリマクロを選択するための制御信号を生成するマクロ選択回路を有し、選択されたメモリマクロに対応するテスト制御ブロックから前記圧縮されたn0ビットのデータを出力し、前記m個のメモリマクロの全てが選択され、前記出力合成回路は、前記選択された全てのメモリマクロの間で前記圧縮されたn0ビットのデータ(合計n0×mビットのデータ)をn0ビットのデータに合成すると共に、前記選択された全てのメモリマクロの間で前記圧縮されたn0ビットのデータを比較し、それらが一致し、かつ、前記選択された全てのメモリマクロに対応する前記m個のインターフェイス部の各々から出力される前記PASS/FAILビットの全てが前記一致を示しているときに、前記一致を示す前記PASS/FAILビットを出力する。
【0028】
【発明の実施の形態】
以下、図面を参照しながら、本発明のメモリ混載ロジックLSIについて詳細に説明する。
【0029】
図1は、メモリ混載ロジックLSIのフロアプランの一例を示している。
【0030】
半導体チップ10内には、ロジック部11、メモリマクロ12A,12B,12C,12D及びパッド部13が配置される。ロジック部11には、半導体メモリ以外の機能を有する回路ブロックが形成される。メモリマクロ12A,12B,12C,12Dは、例えば、DRAM(ダイナミックランダムアクセスメモリ)の機能を有し、メモリマクロ12A,12B,12C,12D内で、データの書き込み、読み出しなどの完結した一連の動作が可能となっている。
【0031】
メモリマクロ12A,12B,12C,12D内には、ロジック部11との接点となるインターフェイス部14A,14B,14C,14Dが設けられている。インターフェイス部14A,14B,14C,14Dは、例えば、入出力(I/O)レジスタを備えている。また、メモリマクロ12A,12B,12C,12D内には、メモリマクロのテストを制御するためのテスト制御ブロック15A,15B,15C,15Dが配置されている。
【0032】
パッド部13は、半導体チップ10の縁部に沿って配置され、制御信号の入力やデータの入出力を行うためのパッド16を備えている。
【0033】
このようなメモリ混載ロジックLSIの特徴は、ロジック部11とメモリマクロ12の間で、直接、データのやりとりを行っている点にある。つまり、ロジックの機能と半導体メモリの機能をワンチップ内に混載することで、これら2つの機能を繋ぐために、I/Oパッドや長い配線は必要なくなる。よって、メモリマクロにおいては、大きなサイズのI/Oバッファが必要なく、低消費電力化に貢献できる。また、半導体チップ10内に形成される配線の幅は1μm以下で形成できるので、同時にメモリマクロに入出力するデータ数を極端に増やすことができる。このため、一度に大量のデータを転送でき、メモリの高性能化に貢献できる。
【0034】
図2は、図1のメモリ混載ロジックLSIのメモリマクロのテスト回路の第1例を示している。
【0035】
まず、本例におけるテスト回路の構成について説明する。
【0036】
半導体チップ10内には、4つのメモリマクロ12A,12B,12C,12Dが配置されている。メモリマクロ12A,12B,12C,12Dは、それぞれデータの入出力が行われるインターフェイス部14A,14B,14C,14Dとメモリマクロのテストを制御するテスト制御ブロック15A,15B,15C,15Dを備えている。
【0037】
テスト制御ブロック15A,15B,15C,15Dは、メモリマクロを識別するためのマクロIDを生成するマクロID生成回路と、半導体チップ10の外部からメモリマクロに入力されるマクロ選択信号(入力ID)とマクロIDを比較してメモリマクロを選択するためのマクロ選択回路17A,17B,17C,17Dを備えている。
【0038】
マクロID生成回路については、メモリマクロ(テスト制御ブロック)内に設けてもよいし、また、メモリマクロの外部に設けてもよい。
【0039】
メモリマクロ12A,12B,12C,12Dには、互いに異なるマクロIDが割り当てられている。例えば、本例では、半導体チップ10内に4つのメモリマクロが配置されるため、マクロIDは、メモリマクロ12A,12B,12C,12Dに対して、それぞれ“00”,“01”,“10”,“11”が割り当てられる。
【0040】
ロジック部11には、例えば、nIビットのデータを転送可能な入力信号線21、nOビットのデータを転送可能な第1の出力信号線22A,22B,22C,22D、nOビットのデータを転送可能な第2の出力信号線23、制御信号線46及びマルチプレクサ19が形成される。
【0041】
入力信号線21の一端は、パッド16TIに接続され、他端は、各メモリマクロ12A,12B,12C,12Dに共通に接続される。第1の出力信号線22A,22B,22C,22Dの一端は、メモリマクロ12A,12B,12C,12Dに接続され、他端は、出力選択回路19に接続される。第2の出力信号線23の一端は、出力選択回路19に接続され、他端は、パッド16TOに接続される。
【0042】
また、制御信号線46の一端は、各メモリマクロ12A,12B,12C,12Dに接続され、他端は、マルチプレクサ19に接続される。マルチプレクサ19は、各メモリマクロ12A,12B,12C,12Dから制御信号線46に出力される制御信号に基づいて、第1の出力信号線22A,22B,22C,22Dのうちの1本と第2の出力信号線23を電気的に接続する。
【0043】
パッド16TI,16TOは、通常、パッド部に設けるパッド数の制限により、メモリマクロ12A,12B,12C,12Dのテスト用として用いられると共に、ロジック部11の回路に対するデータ又は制御信号の入出力用としても用いられる。
【0044】
次に、図2のメモリマクロのテスト手法について説明する。
【0045】
まず、テスタ24により、マクロ選択信号(入力ID)がパッド16TIを経由して各メモリマクロ12A,12B,12C,12Dに供給されると共に、電源VDD,VSSも各メモリマクロ12A,12B,12C,12Dに供給される。テスト制御ブロック15A,15B,15C,15D内のマクロID生成回路では、マクロIDが生成され、マクロ選択回路17A,17B,17C,17Dにおいて、マクロIDと入力IDの比較が行われる。
【0046】
そして、マクロIDと入力IDの比較の結果、4つのメモリマクロ12A,12B,12C,12Dのうちの1つが選択される。即ち、選択された1つのメモリマクロでは、マクロ選択回路の出力信号MEnが“0”となり、残りの3つの非選択のメモリマクロでは、マクロ選択回路の出力信号MEnが“1”となる。
【0047】
また、選択されたメモリマクロ、即ち、マクロ選択回路の出力信号MEnが“0”のメモリマクロでは、この後、コマンドを取り込むことができるようになる。よって、選択されたメモリマクロでは、テスト動作(データの書き込み、読み出し)が可能になり、非選択のメモリマクロ、即ち、マクロ選択回路の出力信号MEnが“1”のメモリマクロでは、テスト動作が行われない。
【0048】
選択されたメモリマクロでは、まず、メモリセルに対するデータの書き込みが行われ、この後、メモリセルからデータが読み出される。例えば、256個のI/Oを持つメモリマクロでは、同時に、256のデータが読み出されるが、本例では、この256のデータを8ビット(nOビット)ずつ32回にわけて半導体チップ10の外部のテスタ24に読み出す。
【0049】
この時、マルチプレクサ19は、選択されたメモリマクロに接続される第1の出力信号線22A,22B,22C,22Dを第2の出力信号線23に電気的に接続する。即ち、各メモリマクロ12A,12B,12C,12Dのマクロ選択回路17A,17B,17C,17Dの出力信号MEnは、制御信号線46を経由して、直接、マルチプレクサ19に入力される。よって、マルチプレクサ19は、各メモリマクロ12A,12B,12C,12Dのマクロ選択回路17A,17B,17C,17Dの出力信号MEnに基づいて、選択されたメモリマクロに接続される第1の出力信号線22A,22B,22C,22Dを第2の出力信号線23に電気的に接続することができる。
【0050】
半導体チップ10の外部に読み出されたデータは、テスタ24において期待値と比較され、その比較結果に基づいて、メモリセルの良、不良が判断される。
【0051】
なお、選択される1つのメモリマクロを、順次、切り替えていくことで、全てのメモリマクロ12A,12B,12C,12Dについて機能テストを行うことが可能である。
【0052】
以上の構成を有するメモリマクロのテスト回路によれば、マルチプレクサ19により、選択されたメモリマクロの読み出しデータを出力するようにしている。よって、4つのメモリマクロ12A,12B,12C,12Dを順次選択していくことにより全てのメモリマクロのテストを行うことができる。
【0053】
図3は、図1のメモリ混載ロジックLSIのメモリマクロのテスト回路の第2例を示している。
【0054】
本例のテスト回路は、図2のテスト回路と比較すると、出力選択回路にマルチプレクサを用いることなく、ロジック的な手法により、選択された1つのメモリマクロのデータを半導体チップ10の外部に出力するようにしている点に特徴を有する。よって、本例のテスト回路では、図2の制御信号線46が不要であり、設計時にこの制御信号線に要していた労力を回避できると共に配線ミスも減らすことができる。また、ロジック的に出力の選択を行うため、消費電力の削減にも貢献できる。
【0055】
まず、本例におけるテスト回路の構成について説明する。
【0056】
半導体チップ10内には、4つのメモリマクロ12A,12B,12C,12Dが配置されている。メモリマクロ12A,12B,12C,12Dは、それぞれデータの入出力が行われるインターフェイス部14A,14B,14C,14Dとメモリマクロのテストを制御するテスト制御ブロック15A,15B,15C,15Dを備えている。
【0057】
テスト制御ブロック15A,15B,15C,15Dは、メモリマクロを識別するためのマクロIDを生成するマクロID生成回路と、半導体チップ10の外部からメモリマクロに入力されるマクロ選択信号(入力ID)とマクロIDを比較してメモリマクロを選択するためのマクロ選択回路17A,17B,17C,17Dを備えている。
【0058】
マクロID生成回路については、メモリマクロ(テスト制御ブロック)内に設けてもよいし、また、メモリマクロの外部に設けてもよい。
【0059】
メモリマクロ12A,12B,12C,12Dには、互いに異なるマクロIDが割り当てられている。例えば、本例では、半導体チップ10内に4つのメモリマクロが配置されるため、マクロIDは、メモリマクロ12A,12B,12C,12Dに対して、それぞれ“00”,“01”,“10”,“11”が割り当てられる。
【0060】
ロジック部11には、例えば、nIビットのデータを転送可能な入力信号線21、nOビットのデータを転送可能な第1の出力信号線22A,22B,22C,22D、nOビットのデータを転送可能な第2の出力信号線23及びアンド(AND)回路47が形成される。
【0061】
入力信号線21の一端は、パッド16TIに接続され、他端は、各メモリマクロ12A,12B,12C,12Dに共通に接続される。第1の出力信号線22A,22B,22C,22Dの一端は、メモリマクロ12A,12B,12C,12Dに接続され、他端は、アンド回路47に接続される。第2の出力信号線23の一端は、アンド回路47の出力端に接続され、他端は、パッド16TOに接続される。
【0062】
パッド16TI,16TOは、通常、パッド部に設けるパッド数の制限により、メモリマクロ12A,12B,12C,12Dのテスト用として用いられると共に、ロジック部11の回路に対するデータ又は制御信号の入出力用としても用いられる。
【0063】
図4は、図3のメモリマクロ12A,12B,12C,12Dのインターフェイス部14Aの一例を示している。
【0064】
メモリマクロ内には、{k(例えば、31)+1}個のI/Oレジスタブロック25−0,…25−kが配置される。I/Oレジスタブロック25−0,…25−kの各々は、例えば、8個の入力レジスタ90−0,…90−7と、8個の出力レジスタ26−0,…26−7と、選択スイッチ27とを有している。入力レジスタ90−i(i=0,…7)及び出力レジスタ26−i(i=0,…7)のメモリマクロ側の端子は、データ線対DQki,/DQki(i=0,…7)に接続される。
【0065】
また、例えば、I/Oレジスタブロック25−kにおいて、入力レジスタ90−i(i=0,…7)のロジック側の端子は、入力信号線91−i(i=8k,…8k+7)に接続されると共に、選択スイッチ27を介してテスト信号線に接続される。出力レジスタ26−i(i=0,…7)のロジック部側の端子は、出力信号線70−i(i=8k,…8k+7)に接続されると共に、選択スイッチ27を介して、テスト制御ブロック15A,15B,15C,15D内のマクロ出力制御回路48に接続される。
【0066】
テスト時、テスト制御ブロック15A,15B,15C,15Dにおいてレジスタアドレス信号RegAdd・0,…RegAdd・kが生成される。このレジスタアドレス信号RegAdd・0,…RegAdd・kは、k個のI/Oレジスタブロック25−0,…25−kのうちの1つを選択する。選択状態のI/Oレジスタブロックでは、選択スイッチ27がオン状態となり、非選択状態のI/Oレジスタブロックでは、選択スイッチ27がオフ状態となる。
【0067】
よって、テスト時、選択状態のI/Oレジスタブロックでは、8ビット(1バイト)のデータTD・0,…TD・7がテスト信号線を経由して入力され、メモリセルに書き込まれる。また、メモリセルから読み出された8ビットのデータTDO・0,…TDO・7が、選択状態のI/Oレジスタブロックからマクロ出力制御回路48に出力される。
【0068】
なお、(k+1)個のI/Oレジスタブロック25−0,…25−kが1つずつ順次選択されることにより、(k+1)×8ビットの全てのデータがメモリマクロから半導体チップの外部に読み出される。
【0069】
マクロ出力制御回路48は、出力信号DTDO・0,…DTDO・7の値を強制的に“1”に固定する機能を有する。よって、メモリマクロが非選択の場合には、出力信号DTDO・0,…DTDO・7の値を強制的に“1”に固定する。また、メモリマクロが選択されている場合には、出力信号TDO・0,…TDO・7を出力信号DTDO・0,…DTDO・7としてそのまま出力する。
【0070】
図5(a)は、図4のマクロ出力制御回路48の一例を示している。
【0071】
本例では、マクロ出力制御回路48がオア回路から構成される。そして、マクロ選択回路の出力信号MEn及び出力レジスタの出力信号(読み出しデータ)TDO・0,…TDO・7がそれぞれオア回路に入力される。
【0072】
選択されたメモリマクロでは、マクロ選択回路の出力信号MEnは、“0”になるため、マクロ出力制御回路48の出力信号DTDO・0,…DTDO・7は、出力レジスタの出力信号TDO・0,…TDO・7と同じになる。
【0073】
一方、非選択のメモリマクロでは、マクロ選択回路の出力信号MEnは、“1”になるため、マクロ出力制御回路48の出力信号DTDO・0,…DTDO・7は、入出力レジスタの出力信号TDO・0,…TDO・7にかかわらず、“1”に固定される。
【0074】
なお、図3乃至図5に示す例では、非選択のメモリマクロの出力信号DTDO・0,…DTDO・7を“1”に固定するマクロ出力制御回路48を設けたが、例えば、マクロ出力制御回路48を図5(b)の回路から構成することにより、非選択のメモリマクロの出力信号DTDO・0,…DTDO・7を“0”に固定することもできる。この場合、ロジック部11に設ける論理回路としては、アンド回路47に変えて、オア回路を用いる。
【0075】
次に、図3乃至図5のメモリマクロのテスト手法について説明する。
【0076】
まず、テスタ24により、マクロ選択信号(入力ID)がパッド16TIを経由して各メモリマクロ12A,12B,12C,12Dに供給されると共に、電源VDD,VSSも各メモリマクロ12A,12B,12C,12Dに供給される。テスト制御ブロック15A,15B,15C,15D内のマクロID生成回路では、マクロIDが生成され、マクロ選択回路17A,17B,17C,17Dにおいて、マクロIDと入力IDの比較が行われる。
【0077】
そして、マクロIDと入力IDの比較の結果、4つのメモリマクロ12A,12B,12C,12Dのうちの1つが選択される。即ち、選択された1つのメモリマクロでは、マクロ選択回路の出力信号MEnが“0”となり、残りの3つの非選択のメモリマクロでは、マクロ選択回路の出力信号MEnが“1”となる。
【0078】
また、選択されたメモリマクロ、即ち、マクロ選択回路の出力信号MEnが“0”のメモリマクロでは、この後、コマンドを取り込むことができるようになる。よって、選択されたメモリマクロでは、テスト動作(データの書き込み、読み出し)が可能になり、非選択のメモリマクロ、即ち、マクロ選択回路の出力信号MEnが“1”のメモリマクロでは、テスト動作が行われない。
【0079】
選択されたメモリマクロでは、まず、メモリセルに対するデータの書き込みが行われ、この後、メモリセルからデータが読み出される。例えば、256個のI/Oを持つメモリマクロでは、同時に、256のデータが読み出されるが、本例では、この256のデータを、8ビット(nOビット)ずつ、32回にわけて読み出す。
【0080】
この時、選択されたメモリマクロでは、マクロ出力制御回路48にMEn=“0”が入力されるため、8ビットの出力信号(読み出しデータ)TDO・0,…TDO・7が、そのまま選択されたメモリマクロの出力信号DTDO・0,…DTDO・7として出力される。
【0081】
非選択のメモリマクロでは、マクロ出力制御回路48にMEn=“1”が入力されるため、8ビットの出力信号(読み出しデータ)TDO・0,…TDO・7にかかわらず、非選択のメモリマクロの出力信号DTDO・0,…DTDO・7は、“1”に固定される。
【0082】
そして、ロジック部11のアンド回路47には、選択されたメモリマクロから“1”又は“0”の出力信号DTDO・0,…DTDO・7が入力され、非選択のメモリマクロから“1”に固定された出力信号DTDO・0,…DTDO・7が入力される。
【0083】
よって、アンド回路47は、結果として、選択されたメモリマクロの出力信号DTDO・0,…DTDO・7をそのまま出力することになる。
【0084】
なお、半導体チップ10の外部に読み出されたデータは、テスタ24において期待値と比較され、その比較結果に基づいて、メモリセルの良、不良が判断される。また、選択されるメモリマクロを、順次、切り替えていくことで、全てのメモリマクロ12A,12B,12C,12Dについて機能テストが行われる。
【0085】
以上の構成を有するメモリマクロのテスト回路によれば、出力選択回路にマルチプレクサを用いることなく、ロジック的な手法により、選択された1つのメモリマクロのデータを半導体チップ10の外部に出力している。よって、メモリ混載ロジックLSIの設計時に、図2の制御信号線46のレイアウトに時間を要したり、図2の制御信号線46のためのスペースを確保したりする必要がなくなる。また、配線ミスが減り、設計効率を上げることができる。さらに、ロジック的な手法により出力の選択を行っているため、低消費電力化に貢献できる。
【0086】
本例のテスト回路は、メモリセルアレイ内に不良セルを発見し、不良セルを冗長セルに置き換えるためのウェハ状態におけるテストや、パッケージングした後に良品と不良品に分けるファイナルテストなどに使用することができる。
【0087】
図6は、図1のメモリ混載ロジックLSIのメモリマクロのテスト回路の第3例を示している。
【0088】
まず、本例におけるテスト回路の構成について説明する。
【0089】
半導体チップ10内には、4つのメモリマクロ12A,12B,12C,12Dが配置されている。メモリマクロ12A,12B,12C,12Dは、それぞれデータの入出力が行われるインターフェイス部14A,14B,14C,14Dとメモリマクロのテストを制御するテスト制御ブロック15A,15B,15C,15Dを備えている。
【0090】
テスト制御ブロック15A,15B,15C,15Dは、メモリマクロを識別するためのマクロIDを生成するマクロID生成回路20A,20B,20C,20Dと、半導体チップ10の外部からメモリマクロに入力されるマクロ選択信号(入力ID)とマクロIDを比較してメモリマクロを選択するためのマクロ選択回路17A,17B,17C,17Dを備えている。
【0091】
メモリマクロ12A,12B,12C,12Dには、互いに異なるマクロIDが割り当てられている。例えば、本例では、半導体チップ10内に4つのメモリマクロが配置されるため、マクロIDは、メモリマクロ12A,12B,12C,12Dに対して、それぞれ“00”,“01”,“10”,“11”が割り当てられる。
【0092】
ロジック部11には、例えば、nIビットのデータを転送可能な入力信号線21、nOビットのデータを転送可能な第1の出力信号線22A,22B,22C,22D、nOビットのデータを転送可能な第2の出力信号線23及び出力選択回路18が形成される。
【0093】
入力信号線21の一端は、パッド16TIに接続され、他端は、各メモリマクロ12A,12B,12C,12Dに共通に接続される。第1の出力信号線22A,22B,22C,22Dの一端は、メモリマクロ12A,12B,12C,12Dに接続され、他端は、出力選択回路18に接続される。第2の出力信号線23の一端は、出力選択回路18に接続され、他端は、パッド16TOに接続される。
【0094】
出力選択回路18は、第1の出力信号線22A,22B,22C,22Dのうちの1本と第2の出力信号線23を電気的に接続する機能を有する。
【0095】
パッド16TI,16TOは、通常、パッド部に設けるパッド数の制限により、メモリマクロ12A,12B,12C,12Dのテスト用として用いられると共に、ロジック部11の回路に対するデータ又は制御信号の入出力用としても用いられる。この場合、入力信号線21及び第2の出力信号線23の途中には、それぞれマルチプレクサが設けられ、パッド16TI,16TOの機能の切り替えが行われる。なお、半導体チップ10上に設けるパッド数に余裕があれば、パッド16TI,16TOをテスト専用としてもよい。
【0096】
また、パッド16TIの数は、例えば、入力信号線21の数に対応させてnI本とし、パッド16TOの数も、例えば、第2の出力信号線23の数に対応させてnO本とする。但し、パッド16TI,16TOの数を、nI又はnO本よりも少ない数としてもよい。
【0097】
図7は、図6のメモリマクロ12A,12B,12C,12Dのインターフェイス部14Aの一例を示している。
【0098】
1つのメモリマクロ内には、{k(例えば、31)+1}個のI/Oレジスタブロック25−0,…25−kが配置される。I/Oレジスタブロック25−0,…25−kの各々は、例えば、8個の入力レジスタ90−0,…90−7と、8個の出力レジスタ26−0,…26−7と、選択スイッチ27とを有している。入力レジスタ90−i(i=0,…7)及び出力レジスタ26−i(i=0,…7)のメモリマクロ側の端子は、データ線対DQki,/DQki(i=0,…7)に接続される。
【0099】
また、例えば、I/Oレジスタブロック25−kにおいて、入力レジスタ90−i(i=0,…7)のロジック部側の端子は、入力信号線91−i(i=8k,…8k+7)に接続されると共に、選択スイッチ27を介してテスト信号線に接続される。出力レジスタ26−i(i=0,…7)のロジック部側の端子は、出力信号線70−i(i=8k,…8k+7)に接続されると共に、選択スイッチ27を介して、テスト用の第1の出力信号線21A,21B,21C,21Dに接続される。
【0100】
本例では、メモリマクロの通常時の入力データQI0,…QI(8k+7)及び出力データQ0,…Q(8k+7)は、それぞれ(k+1)×8ビット存在する。入力データQI0,…QI(8k+7)は、ロジック部から入力信号線91−0,…91−(8k+7)を経由してメモリマクロ内に入力され、出力データQ0,…Q(8k+7)は、メモリマクロから出力信号線70−0,…70−(8k+7)を経由してロジック部に出力される。
【0101】
また、テスト時、テスト制御ブロックにおいて、レジスタアドレス信号RegAdd・0,…RegAdd・kが生成される。レジスタアドレス信号RegAdd・0,…RegAdd・kは、k個のI/Oレジスタブロック25−0,…25−kのうちの1つを選択する。選択状態のI/Oレジスタブロックでは、選択スイッチ27がオン状態となり、非選択状態のI/Oレジスタブロックでは、選択スイッチ27がオフ状態となる。
【0102】
よって、テスト時、8ビットのデータTD・0,…TD・7がテスト信号線から選択状態のI/Oレジスタブロック内の入力レジスタ90−0,…90−7に入力される。また、8ビットのデータDTDO・0,…DTDO・7が、選択状態のI/Oレジスタブロックから第1の出力信号線21A,21B,21C,21Dに出力される。
【0103】
また、(k+1)×8ビットの全てのデータを、メモリマクロから半導体チップの外部に読み出すには、(k+1)個のI/Oレジスタブロック25−0,…25−kを1つずつ順次選択していけばよい。
【0104】
なお、テスト時の出力データ数を通常時の入出力データ数よりも大幅に減らしているのは、テスト時の出力データを半導体チップの外部に出力するパッド数に制限があるためである。
【0105】
図8は、図7の入力レジスタ90−0,…90−7及び出力レジスタ26−0,…26−7の一例を示している。
【0106】
入力レジスタは、入力用バッファ29から構成され、出力レジスタは、出力用バッファ28から構成される。入力用バッファ29は、書き込み制御信号WTENにより制御され、データQI又はテストデータTD・iを相補データとしてデータ線対DQi,/DQiに出力する。出力用バッファ28は、読み出し制御信号RDENにより制御され、データ線対DQi,/DQiの相補データをデータQI又はテストデータDTDO・iとして出力する。
【0107】
次に、図6のメモリマクロのテスト手法について説明する。
【0108】
まず、テスタ24により、マクロ選択信号(入力ID)がパッド16TIを経由して各メモリマクロ12A,12B,12C,12Dに供給されると共に、電源VDD,VSSも各メモリマクロ12A,12B,12C,12Dに供給される。テスト制御ブロック15A,15B,15C,15D内のマクロID生成回路20A,20B,20C,20Dでは、マクロIDが生成され、マクロ選択回路17A,17B,17C,17Dでは、マクロIDと入力IDの比較が行われる。そして、マクロIDと入力IDの比較の結果、4つのメモリマクロ12A,12B,12C,12Dのうちの1つが選択される。
【0109】
例えば、メモリマクロ12AでマクロID“00”が生成され、メモリマクロ12BでマクロID“01”が生成され、メモリマクロ12CでマクロID“10”が生成され、メモリマクロ12DでマクロID“11”が生成され、また、例えば、入力IDが“00”であると、メモリマクロ12Aが選択状態となり、その他のメモリマクロ12B,12C,12Dが非選択状態となる。
【0110】
選択状態のメモリマクロ12Aでは、この後、コマンドを取り込むことができるようになる。よって、選択状態のメモリマクロ12Aでは、テスト動作(データの書き込み、読み出し)が可能になり、非選択状態のメモリマクロ12B,12C,12Dでは、テスト動作が行われない。
【0111】
選択状態のメモリマクロ12Aでは、まず、メモリセルに対するデータの書き込みが行われ、この後、メモリセルからデータが読み出される。例えば、256個のI/Oを持つメモリマクロでは、同時に、256のデータが読み出されるが、本例では、この256のデータを8ビット(nOビット)ずつ32回にわけて半導体チップ10の外部のテスタ24に読み出す。この時、出力選択回路18は、選択状態のメモリマクロ12Aに接続される第1の出力信号線22Aを第2の出力信号線23に電気的に接続している。
【0112】
半導体チップ10の外部に読み出されたデータは、テスタ24において期待値と比較され、その比較結果に基づいて、メモリセルの良、不良が判断される。
【0113】
なお、メモリマクロ12Aのテストが終了した後、順次、メモリマクロ12B,12C,12Dのテストを行い、全てのメモリマクロ12A,12B,12C,12Dについて機能テストを行う。
【0114】
以上の構成を有するメモリマクロのテスト回路によれば、半導体チップ10に内蔵されたメモリマクロのテストを、例えば、半導体チップ10の外部に存在するテスタを用いてダイレクトに行うことができる(ダイレクト・メモリ・アクセス・モード)。
【0115】
本例のテスト回路は、メモリセルアレイ内に不良セルを発見し、不良セルを冗長セルに置き換えるためのウェハ状態におけるテストや、パッケージングした後に良品と不良品に分けるファイナルテストなどに使用することができる。
【0116】
ところで、複数のメモリマクロ12A,12B,12C,12Dを1つずつ順番にテストする場合、メモリマクロ12A,12B,12C,12D内には、メモリマクロを識別するマクロIDを生成するためのマクロID生成回路20A,20B,20C,20Dが設けられる。このマクロID生成回路20A,20B,20C,20Dは、メモリマクロごとに異なったマクロIDを生成する必要があるため、当然に、メモリマクロごとに回路構成が異なっている。
【0117】
一方、メモリ混載ロジックLSIでは、設計時間の短縮のため、予め、機能、特性が確認された回路ブロックを作成しておき、この回路ブロックを、各ユーザの要求に合致したメモリマクロを設計するに当たって使用するという設計手法が採用される。
【0118】
よって、マクロID生成回路20A,20B,20C,20Dがメモリマクロごとに異なると、メモリ混載ロジックLSIを設計する度に、メモリマクロごとにメモリマクロの数に応じたテスト制御ブロック15A,15B,15C,15Dを設計しなければならず、設計に多大な時間を要し、回路ブロックを用いる設計手法の利点を引き出せない。
【0119】
図9は、図1のメモリ混載ロジックLSIのメモリマクロのテスト回路の第4例を示している。
【0120】
本例のテスト回路の特徴は、マクロID生成回路30A,30B,30C,30Dが、テスト制御ブロック15A,15B,15C,15D外部、即ち、メモリマクロ12A,12B,12C,12Dの外部に存在し、全てのメモリマクロ12A,12B,12C,12D内のテスト制御ブロック15A,15B,15C,15Dが同じ回路構成(パターン)を有している点にある。よって、メモリ混載ロジックLSIを設計する際に、メモリマクロの数によらず、同一の構成のテスト制御ブロック15A,15B,15C,15Dを用いることができ、設計時間の短縮に貢献できる。
【0121】
まず、本例におけるテスト回路の構成について説明する。
【0122】
半導体チップ10内には、4つのメモリマクロ12A,12B,12C,12Dが配置されている。メモリマクロ12A,12B,12C,12Dは、それぞれデータの入出力が行われるインターフェイス部14A,14B,14C,14Dとメモリマクロのテストを制御するテスト制御ブロック15A,15B,15C,15Dを備えている。
【0123】
インターフェイス部14A,14B,14C,14Dは、上述の図6の例と同様に、例えば、図7及び図8に示すような回路から構成される。
【0124】
テスト制御ブロック15A,15B,15C,15Dは、全てのメモリマクロ12A,12B,12C,12Dにおいて同一の回路構成(レイアウト)を有している。よって、メモリ混載ロジックLSIを設定するに当たって、テスト制御ブロックを再設計する必要がなく、設計時間の短縮及び製造コストの低減を達成することができる。
【0125】
メモリマクロを識別するためのマクロIDを生成するマクロID生成回路30A,30B,30C,30Dは、メモリマクロ12A,12B,12C,12Dの外部のロジック部11に配置される。マクロID生成回路30A,30B,30C,30Dは、メモリマクロ12A,12B,12C,12Dに対応して設けられる。マクロID生成回路30A,30B,30C,30Dは、メモリマクロを識別するために、互いに異なったマクロIDを生成するため、その回路構成は、当然に、互いに異なったものとなる。
【0126】
テスト制御ブロック15A,15B,15C,15Dは、半導体チップ10の外部からメモリマクロに入力されるマクロ選択信号(入力ID)とマクロIDを比較してメモリマクロを選択するためのマクロ選択回路17A,17B,17C,17Dを備えている。
【0127】
ロジック部11には、例えば、nIビットのデータを転送可能な入力信号線21、nOビットのデータを転送可能な第1の出力信号線22A,22B,22C,22D、nOビットのデータを転送可能な第2の出力信号線23及び出力選択回路18が形成される。
【0128】
入力信号線21の一端は、パッド16TIに接続され、他端は、各メモリマクロ12A,12B,12C,12Dに共通に接続される。第1の出力信号線22A,22B,22C,22Dの一端は、メモリマクロ12A,12B,12C,12Dに接続され、他端は、出力選択回路18に接続される。第2の出力信号線23の一端は、出力選択回路18に接続され、他端は、パッド16TOに接続される。
【0129】
出力選択回路18は、第1の出力信号線22A,22B,22C,22Dのうちの1本と第2の出力信号線23を電気的に接続する機能を有する。
【0130】
パッド16TI,16TOは、パッド部に設けるパッド数に制限があるため、図6の例の場合と同様に、テスト用として用いられると共にロジック部11の回路に対するデータ又は制御信号の入出力用としても用いられる。なお、半導体チップ10上に設けるパッド数に余裕があれば、パッド16TI,16TOをテスト専用としてもよい。
【0131】
また、パッド16TIの数は、例えば、入力信号線21の数に対応させてnI本とし、パッド16TOの数も、例えば、第2の出力信号線23の数に対応させてnO本とする。但し、パッド16TI,16TOの数を、nI又はnO本よりも少ない数としてもよい。
【0132】
次に、図9のメモリマクロのテスト手法について説明する。
【0133】
まず、テスタ24により、マクロ選択信号(入力ID)がパッド16TIを経由して各メモリマクロ12A,12B,12C,12Dに供給されると共に、電源VDD,VSSも各メモリマクロ12A,12B,12C,12Dに供給される。マクロ選択信号などのメモリマクロに入力される信号は、パッド数が制限されていることから、コード化されており、通常、テスト制御ブロック15A,15B,15C,15Dでマクロ選択信号をデコードして用いている。しかし、パッド数に余裕があれば、コード化されてない信号を、直接、各メモリマクロ12A,12B,12C,12Dに供給してもよい。
【0134】
マクロID生成回路30A,30B,30C,30Dでは、マクロIDが生成され、このマクロIDは、テスト制御ブロック15A,15B,15C,15D内に入力される。マクロ選択回路17A,17B,17C,17Dでは、マクロIDと入力IDの比較が行われ、マクロIDと入力IDの比較の結果、4つのメモリマクロ12A,12B,12C,12Dのうちの1つが選択される。
【0135】
例えば、メモリマクロ12AにマクロID“00”が入力され、メモリマクロ12BにマクロID“01”が入力され、メモリマクロ12CにマクロID“10”が入力され、メモリマクロ12DにマクロID“11”が入力され、また、例えば、入力IDが“01”であると、メモリマクロ12Bが選択状態となり、その他のメモリマクロ12A,12C,12Dが非選択状態となる。
【0136】
選択状態のメモリマクロ12Bでは、この後、コマンドを取り込むことができるようになる。よって、選択状態のメモリマクロ12Bでは、テスト動作(データの書き込み、読み出し)が可能になり、非選択状態のメモリマクロ12A,12C,12Dでは、テスト動作が行われない。
【0137】
選択状態のメモリマクロ12Bでは、まず、メモリセルに対するデータの書き込みが行われ、この後、メモリセルからデータが読み出される。例えば、256個のI/Oを持つメモリマクロでは、同時に、256のデータが読み出されるが、本例では、この256のデータを8ビット(nOビット)ずつ32回にわけて半導体チップ10の外部のテスタ24に読み出す。この時、出力選択回路18は、選択状態のメモリマクロ12Bに接続される第1の出力信号線22Bを第2の出力信号線23に電気的に接続している。
【0138】
半導体チップ10の外部に読み出されたデータは、テスタ24において期待値と比較され、その比較結果に基づいて、メモリセルの良、不良が判断される。
【0139】
なお、メモリマクロ12A,12B,12C,12Dについて、順次、機能テストを行うようにすれば、全てのメモリマクロ12A,12B,12C,12Dの機能テストを行うことができる。
【0140】
以上の構成を有するメモリマクロのテスト回路によれば、半導体チップ10に内蔵されたメモリマクロのテストを、例えば、半導体チップ10の外部に存在するテスタを用いてダイレクトに行うことができる。
【0141】
また、ロジック的な手法により、選択された1つのメモリマクロのデータを半導体チップ10の外部に出力している。よって、メモリ混載ロジックLSIの設計時に、図2の制御信号線46が必要なく、設計負担が軽減され、配線ミスも減り、設計効率を上げることができる。さらに、ロジック的な手法により出力の選択を行っているため、低消費電力化に貢献できる。
【0142】
また、本例では、メモリマクロを識別するマクロIDを生成するためのマクロID生成回路30A,30B,30C,30Dがメモリマクロ12A,12B,12C,12Dの外部に設けられる。よって、メモリ混載ロジックLSIを設計する際に、メモリマクロの数に関係なく、全てのメモリマクロ12A,12B,12C,12Dに、同じ構成のテスト制御ブロック15A,15B,15C,15Dを用いることができ、設計負担が軽減され、設計時間を短縮できる。
【0143】
本例のテスト回路も、メモリセルアレイ内に不良セルを発見し、不良セルを冗長セルに置き換えるためのウェハ状態におけるテストや、パッケージングした後に良品と不良品に分けるファイナルテストなどに使用することができる。
【0144】
図10は、図1のメモリ混載ロジックLSIのメモリマクロのテスト回路の第5例を示している。
【0145】
本例のテスト回路は、図9のテスト回路の特徴を全て含むと共に、さらに、各メモリマクロ12A,12B,12C,12Dのメモリ容量が異なっている点に特徴を有する。即ち、図9のテスト回路では、テストの対象となるメモリマクロ12A,12B,12C,12Dは、全て同一のメモリ容量を有しているが、本例のテスト回路では、テストの対象となるメモリマクロ12A,12B,12C,12Dは、互いに同一のメモリ容量を有していない。
【0146】
通常、メモリ混載ロジックLSIのメモリマクロは、予め設計された所定のメモリ容量を有するメモリセグメント(又はブロック)の数を変えることにより、ユーザの希望に応じた任意のメモリ容量のメモリマクロを短時間で設計できるようになっている。また、メモリマクロのメモリ容量の増減は、テスト制御ブロック15A,15B,15C,15D、特に、マクロ選択回路17A,17B,17C,17Dの構成を変える理由とはならない。
【0147】
よって、本発明は、このような互いに異なるメモリ容量の複数のメモリマクロを有するメモリ混載ロジックLSIに適用することもできる。
【0148】
なお、本例のメモリマクロのテスト手法については、図9のテスト回路を用いたメモリマクロのテスト手法と同じであるため、省略する。
【0149】
図11は、テスト制御ブロック内のマクロ選択回路の一例を示している。
【0150】
マクロ選択信号MSELpは、マクロ選択コマンドを表わす信号であり、マクロ選択信号MSELpが“1”のとき、メモリマクロが選択される。リセット信号RESETpは、テスト回路の状態をリセットする信号であり、リセットコマンドが入力されたときに“1”となる。全マクロ選択信号MSELALLpは、全てのメモリマクロを選択状態にするために使用されるものであり、全マクロ選択コマンドが入力されたときに“1”となる。
【0151】
マクロ選択信号MSELp、リセット信号RESETp及び全マクロ選択信号MSELALLpは、例えば、図2、図3、図6、図9、図10のパッド16TIから半導体チップ内に入力されるコード化された信号から生成される。信号MID[0],MID[1]は、例えば、図2、図3、図6、図9、図10のマクロID生成回路から出力されるマクロIDであり、メモリマクロごとに異なっている。本例では、4つのメモリマクロを2ビットの信号MID[0],MID[1]で認識している。信号MSELID[0],MSELID[1]は、入力IDである。
【0152】
図11において、30[0],30[1]は、エクスクルーシブ・ノア(Ex−NOR)回路、31,33a,33bは、アンド(AND)回路、32は、インバータ回路、34a,34bは、ノア(NOR)回路、35は、NAND・RSラッチ回路である。NAND・RSラッチ回路35では、Sn=“0”、Rn=“1”で、Qn=“0”となり、Sn=“1”、Rn=“0”で、Qn=“1”となり、Sn=“1”、Rn=“1”で、出力保持動作を行う。
【0153】
メモリマクロの選択動作は、以下のようにして行われる。
【0154】
各メモリマクロのテスト制御ブロック内でマクロ選択コマンドが生成されると、全てのメモリマクロにおいて、マクロ選択信号MSELpが“1”となる。また、エクスクルーシブ・ノア回路30[0],30[1]で、マクロID MID[0],MID[1]と入力ID MSELID[0],MSELID[1]の比較が行われる。
【0155】
マクロID MID[0],MID[1]と入力ID MSELID[0],MSELID[1]が一致するメモリマクロでは、エクスクルーシブ・ノア回路30[0],30[1]の出力信号は、共に、“1”となるため、アンド回路31の出力信号も“1”となる。また、マクロ選択信号MSELpが“1”なので、アンド回路33aの出力信号が“1”となり、アンド回路33bの出力信号が“0”となる。
【0156】
また、リセット信号RESETp及び全マクロ選択信号MSELALLpは、共に、“0”であるため、ノア回路34aの出力信号は、“0”となり、ノア回路34bの出力信号は、“1”となる。つまり、NAND・RSラッチ回路35では、Sn=“0”、Rn=“1”、Qn(MEn)=“0”となり、Qn(MEn)=“0”がラッチされる。
【0157】
一方、マクロID MID[0],MID[1]と入力ID MSELID[0],MSELID[1]が一致しないメモリマクロでは、エクスクルーシブ・ノア回路30[0],30[1]の出力信号が、共に、“1”となることがないため、アンド回路31の出力信号は“0”となる。また、マクロ選択信号MSELpが“1”なので、アンド回路33aの出力信号が“0”となり、アンド回路33bの出力信号が“1”となる。
【0158】
また、リセット信号RESETp及び全マクロ選択信号MSELALLpは、共に、“0”であるため、ノア回路34aの出力信号は、“1”となり、ノア回路34bの出力信号は、“0”となる。つまり、NAND・RSラッチ回路35では、Sn=“1”、Rn=“0”、Qn(MEn)=“1”となり、Qn(MEn)=“1”がラッチされる。
【0159】
なお、一度、NAND・RSラッチ回路35にラッチされた出力信号は、再び、マクロ選択コマンドが生成され、異なるメモリマクロが選択されるか、又はリセットコマンドが生成されない限り、解除されない。
【0160】
図12は、テスト制御ブロック内のマクロ選択回路の他の例を示している。
【0161】
マクロ選択信号MSELpは、マクロ選択コマンドを表わす信号であり、マクロ選択信号MSELpが“1”のとき、メモリマクロが選択される。マクロ選択解除信号MDESELnは、メモリマクロを非選択状態にする信号であり、マクロ選択解除コマンドが生成されると、マクロ選択解除信号MDESELnが“0”になる。
【0162】
マクロ選択信号MSELp及びマクロ選択解除信号MDESELn信号は、例えば、図2、図3、図6、図9、図10のパッド16TIから半導体チップ内に入力されるコード化された信号から生成される。また、マクロ選択信号MSELp及びマクロ選択解除信号MDESELn信号は、全てのメモリマクロのテスト制御ブロック内において一斉に生成される。
【0163】
信号MID[0],MID[1]は、例えば、図2、図3、図6、図9、図10のマクロID生成回路から出力されるマクロIDであり、メモリマクロごとに異なっている。本例では、4つのメモリマクロを2ビットの信号MID[0],MID[1]で認識している。信号MSELID[0],MSELID[1]は、入力IDである。
【0164】
図12において、40[0],40[1]は、エクスクルーシブ・ノア(Ex−NOR)回路、41は、アンド(AND)回路、43は、ナンド(NAND)回路、45は、NAND・RSラッチ回路である。
【0165】
メモリマクロの選択動作は、以下のようにして行われる。
【0166】
各メモリマクロのテスト制御ブロック内でマクロ選択コマンドが生成されると、全てのメモリマクロにおいて、マクロ選択信号MSELpが“1”となる。また、エクスクルーシブ・ノア回路40[0],40[1]で、マクロID MID[0],MID[1]と入力ID MSELID[0],MSELID[1]の比較が行われる。
【0167】
マクロID MID[0],MID[1]と入力ID MSELID[0],MSELID[1]が一致するメモリマクロでは、エクスクルーシブ・ノア回路40[0],40[1]の出力信号は、共に、“1”となるため、アンド回路41の出力信号も“1”となる。また、マクロ選択信号MSELpが“1”なので、ナンド回路43の出力信号が“0”となり、NAND・RSラッチ回路45の出力信号Qn(MEn)が“0”でラッチされる。
【0168】
一方、マクロID MID[0],MID[1]と入力ID MSELID[0],MSELID[1]が一致しないメモリマクロでは、エクスクルーシブ・ノア回路40[0],40[1]の出力信号が、共に、“1”となることがないため、アンド回路41の出力信号は“0”となる。また、マクロ選択信号MSELpが“1”なので、ナンド回路43の出力信号が“1”となり、NAND・RSラッチ回路45の出力信号Qn(MEn)が“1”でラッチされる。
【0169】
なお、一度、NAND・RSラッチ回路45にラッチされた出力信号は、マクロ選択解除信号MDESELnが入力されない限り、解除されない。
【0170】
図13は、図9及び図10に示すマクロID生成回路30A,30B,30C,30Dの一例を示している。
【0171】
本例では、ワンチップ内に4つのメモリマクロが配置されることを前提としているため、マクロIDは、上述のように、2ビットの信号MID[0],MID[1]により構成される。なお、一般には、nビットのマクロIDにより、2n 個のメモリマクロを識別できる。
【0172】
マクロID生成回路30Aは、メモリマクロ12AのマクロIDを生成する回路であり、そのマクロIDは、“00”である。ここで、“0”は、接地電位VSSにより表すことができる。よって、メモリマクロ12Aのマクロ選択回路17Aに信号MID[0],MID[1]を供給するための2つの入力ノードには、共に、接地電位VSSが印加される。
【0173】
マクロID生成回路30Bは、メモリマクロ12BのマクロIDを生成する回路であり、そのマクロIDは、“01”である。ここで、“0”は、接地電位VSS、“1”は、電源電位VDDにより表すことができる。よって、メモリマクロ12Bのマクロ選択回路17Bに信号MID[0],MID[1]を供給するための2つの入力ノードの一方には、電源電位VDD、他方には、接地電位VSSが印加される。
【0174】
同様に、マクロID生成回路30C,30Dは、メモリマクロ12C,12DのマクロIDを生成する回路であり、そのマクロIDは、“10”、“11”である。よって、メモリマクロ12Cのマクロ選択回路17Cに信号MID[0],MID[1]を供給するための2つの入力ノードの一方には、接地電位VSS、他方には、電源電位VDDが印加される。また、メモリマクロ12Dのマクロ選択回路17Dに信号MID[0],MID[1]を供給するための2つの入力ノードには、共に、電源電位VDDが印加される。
【0175】
マクロID生成回路30A,30B,30C,30Dは、メモリマクロごとに異なる回路構成(レイアウト)を有しているが、上述の構成を有するマクロID生成回路を用いれば、簡単な構成により、各メモリマクロに対応したマクロIDを生成できるため、設計時間の短縮に効果的である。
【0176】
図14(a),(b)は、図13に示すマクロID生成回路30A,30B,30C,30Dの変形例を示している。
【0177】
上述の図13の例では、各メモリマクロにおいて、マクロIDの2つの入力ノードに、直接、電源線VDD,VSSを接続しているが、本例では、最初の1つのメモリマクロ12Aについてのみ、マクロIDの2つの入力ノードに、直接、電源線VSSを接続し、残りのメモリマクロ12B,12C,12Dについては、メモリマクロ12A,12B,12Cから出力される信号に基づいて2ビットの信号MID[0],MID[1]を生成している。
【0178】
図15は、図14(a)のテスト制御ブロック15A,15B,15C,15Dの構成の一例を示している。
【0179】
マクロ選択回路36としては、例えば、上述した図11又は図12のような回路が用いられる。マクロID生成回路37は、全てのメモリマクロ12A,12B,12C,12Dのテスト制御ブロック15A,15B,15C,15D内に形成され、全てのメモリマクロ12A,12B,12C,12Dにおいて同一の回路構成を有している。
【0180】
メモリマクロ12AのマクロIDは、“00”である。メモリマクロ12Aのテスト制御ブロック15A内に形成されたマクロID生成回路37は、マクロID“00”に基づいて、メモリマクロ12BのマクロID“01”を生成する。また、メモリマクロ12Bのテスト制御ブロック15B内に形成されたマクロID生成回路37は、マクロID“01”に基づいて、メモリマクロ12CのマクロID“10”を生成し、メモリマクロ12Cのテスト制御ブロック15C内に形成されたマクロID生成回路37は、マクロID“10”に基づいて、メモリマクロ12DのマクロID“11”を生成する。メモリマクロ12Dのテスト制御ブロック15D内に形成されたマクロID生成回路37の出力端は、どこにも接続されていない。
【0181】
このように、本例では、マクロID生成回路37が入力信号を加算して出力信号とする加算器の機能を有するため、いわゆるチェーン式に、各マクロID生成回路37を接続し、マクロIDを生成できる。
【0182】
図16は、図14(a)及び図15の回路を実現するためのマクロID生成回路の具体例を示している。
【0183】
このマクロID生成回路は、エクスクルーシブ・オア(Ex−OR)回路38及びインバータ回路39から構成される。
【0184】
メモリマクロ12Aでは、MIDIN[0]=“0”,MIDIN[1]=“0”であり、MIDOUT[0]=“1”,MIDIN[1]=“0”となる。メモリマクロ12Bでは、MIDIN[0]=“1”,MIDIN[1]=“0”であり、MIDOUT[0]=“0”,MIDIN[1]=“1”となる。メモリマクロ12Cでは、MIDIN[0]=“0”,MIDIN[1]=“1”であり、MIDOUT[0]=“1”,MIDIN[1]=“1”となる。
【0185】
このように、図14(a)、図15及び図16に示す構成によれば、マクロID生成回路37は、簡単な回路構成であると共に、全てのメモリマクロ12A,12B,12C,12Dで同一の回路構成を有している。このため、複数のメモリマクロを有するメモリ混載ロジックLSIを設計するに当たって、テスト制御ブロック15A,15B,15C,15Dの再設計の必要がなく、設計時間の短縮に貢献できる。
【0186】
また、メモリマクロ12A,12B,12C,12DにマクロIDを割り当てる際のミス(配線ミスなど)が減り、信頼性を向上できる。
【0187】
図14(b)は、図15のマクロID生成回路37を、メモリマクロ12A,12B,12C,12Dの外部に設けた例である。このように、マクロID生成回路37をメモリマクロの外部に設けた場合にも、当然に、各メモリマクロ12A,12B,12C,12Dのテスト制御ブロック15A,15B,15C,15Dは、同一の回路構成を有しているため、設計時間の短縮に貢献できる。また、メモリマクロ12A,12B,12C,12DにマクロIDを割り当てる際のミス(配線ミスなど)も減る。
【0188】
図17は、図9のメモリ混載ロジックLSIのメモリマクロのテスト回路の変形例を示している。
【0189】
本例のテスト回路の特徴は、図9のテスト回路と比べると、マクロ選択回路がメモリマクロの外部に存在する点にある。即ち、本例では、図9のマクロID生成回路及びマクロ選択回路に相当する回路が共にメモリマクロの外部に配置されている。
【0190】
本例のテスト回路では、メモリマクロ12A,12B,12C,12Dを選択するに当たって、マクロIDと入力IDを比較するという動作を行わない。即ち、本例のテスト回路では、メモリマクロ12A,12B,12C,12Dの外部にデコーダ80A,80B,80C,80Dを設け、このデコーダ80A,80B,80C,80Dにより2ビットのマクロアドレス信号MA0,MA1をデコードし、メモリマクロ12A,12B,12C,12Dの選択を行っている。
【0191】
このような場合、デコーダ80A,80B,80C,80D、特に、配線の部分(図17(b))は、デコーダ80A,80B,80C,80Dごとに異なった構成となっている。よって、デコーダ80A,80B,80C,80Dをメモリマクロ12A,12B,12C,12Dの外部に配置すれば、メモリマクロ12A,12B,12C,12D内のテスト制御ブロック15A,15B,15C,15Dは、全てのメモリマクロ12A,12B,12C,12Dで同じ構成になり、メモリマクロの設計容易化に貢献できる。
【0192】
なお、デコーダ80A,80B,80C,80Dのアンド回路(マクロ選択回路に相当)をメモリマクロ12A,12B,12C,12D内に配置し、配線の部分(マクロID生成回路に相当)をメモリマクロ12A,12B,12C,12Dの外部に配置してもよい。
【0193】
図18は、図1のメモリ混載ロジックLSIのメモリマクロのテスト回路の第6例を示している。
【0194】
本例のテスト回路は、全てのメモリマクロが同時に選択され、さらに、出力合成回路18Aに所定のロジック回路を用いることで、nO(例えば、8)ビットの通常の出力信号(読み出しデータ)に加えて、メモリマクロの良、不良を示すPASS/FAILビットを出力できる点に特徴を有する。
【0195】
いままで説明してきた例の全ては、複数のメモリマクロを、1つずつ、順次、選択していくものであったが、本例では、全てのメモリマクロを同時に選択し、全てのメモリマクロを同時にテストする。よって、本例のテスト回路によれば、テスト時間の大幅な短縮により、製造コストの低減に貢献できる。
【0196】
まず、本例におけるテスト回路の構成について説明する。
【0197】
半導体チップ10内には、4つのメモリマクロ12A,12B,12C,12Dが配置されている。メモリマクロ12A,12B,12C,12Dは、それぞれデータの入出力が行われるインターフェイス部14A,14B,14C,14Dとメモリマクロのテストを制御するテスト制御ブロック15A,15B,15C,15Dを備えている。
【0198】
テスト制御ブロック15A,15B,15C,15Dは、全てのメモリマクロ12A,12B,12C,12Dを同時に選択するための手段を備えている。例えば、テスト制御ブロック15A,15B,15C,15D内に、図11に示すような構成を有するマクロ選択回路17A,17B,17C,17Dを配置し、図11の全マクロ選択信号MSELALLpを“1”にすれば、全てのメモリマクロ12A,12B,12C,12Dを同時に選択できる。
【0199】
この場合、当然に、マクロIDに応じて、1つのメモリマクロのみを選択することも可能である。
【0200】
ロジック部11には、例えば、nIビットのデータを転送可能な入力信号線21、nOビットのデータを転送可能な第1の出力信号線22A,22B,22C,22D、nOビットのデータを転送可能な第2の出力信号線23及び出力合成回路18Aが形成される。
【0201】
入力信号線21の一端は、パッド16TIに接続され、他端は、各メモリマクロ12A,12B,12C,12Dに共通に接続される。第1の出力信号線22A,22B,22C,22Dの一端は、メモリマクロ12A,12B,12C,12Dに接続され、他端は、出力合成回路18Aに接続される。第2の出力信号線23の一端は、出力合成回路18Aに接続され、他端は、パッド16TOに接続される。
【0202】
パッド16TI,16TOは、通常、パッド部に設けるパッド数の制限により、メモリマクロ12A,12B,12C,12Dのテスト用として用いられると共に、ロジック部11の回路に対するデータ又は制御信号の入出力用としても用いられる。
【0203】
なお、インターフェイス部14Aとしては、例えば、図7及び図8に示すような構成の回路を用いることができる。
【0204】
図19は、図18の出力合成回路18Aの一例を示している。
【0205】
DTDO・0−[A],…DTDO・7−[A]は、メモリマクロ12Aから出力される出力信号、DTDO・0−[B],…DTDO・7−[B]は、メモリマクロ12Bから出力される出力信号、DTDO・0−[C],…DTDO・7−[C]は、メモリマクロ12Cから出力される出力信号、DTDO・0−[D],…DTDO・7−[D]は、メモリマクロ12Dから出力される出力信号である。
【0206】
各メモリマクロからの出力信号DTDO・i−[A],DTDO・i−[B],DTDO・i−[C],DTDO・i−[D]は、アンド(AND)回路51−iに入力され、アンド回路51−iは、出力信号DTDO・iを出力する(但し、i=0,…7)。
【0207】
また、各メモリマクロからの出力信号DTDO・i−[A],DTDO・i−[B],DTDO・i−[C],DTDO・i−[D]は、コンパレータ52−iに入力され、コンパレータ52−iの出力信号は、アンド回路53に入力される。アンド回路53は、メモリマクロの良、不良を示すPASS/FAILビットDTDO・8を出力する(但し、i=0,…7)。
【0208】
図20は、図19のコンパレータ52−0,…52−7の一例を示している。
【0209】
各メモリマクロからの出力信号DTDO・i−[A],DTDO・i−[B],DTDO・i−[C],DTDO・i−[D]は、ナンド(NAND)回路54及びオア(OR)回路55に入力される(但し、i=0,…7)。ナンド(NAND)回路54の出力信号及びオア(OR)回路55の出力信号は、ナンド回路56に入力され、ナンド回路56の出力信号は、図18のアンド回路53に入力される。
【0210】
このコンパレータは、各メモリマクロからの出力信号DTDO・i−[A],DTDO・i−[B],DTDO・i−[C],DTDO・i−[D]が全て同じデータ“0”又は“1”のときに、出力信号OUTを“1”とし、各メモリマクロからの出力信号DTDO・i−[A],DTDO・i−[B],DTDO・i−[C],DTDO・i−[D]が全て同じデータでないときに、出力信号OUTを“0”とする機能を有する。
【0211】
次に、図18乃至図20のメモリマクロのテスト手法について説明する。
【0212】
本例では、全てのメモリマクロ12A,12B,12C,12Dを同時に選択すると共に、全てのメモリマクロ12A,12B,12C,12Dに同一のデータを書き込むことを前提とする。
【0213】
まず、全マクロ選択信号MSELALLpが“1”になり、全てのメモリマクロ12A,12B,12C,12D内のマクロ選択回路の出力信号MEnが“0”となる。よって、全てのメモリマクロ12A,12B,12C,12Dが選択された状態となり、全てのメモリマクロ12A,12B,12C,12Dは、この後、コマンドを取り込むことができるようになる。
【0214】
まず、全てのメモリマクロ12A,12B,12C,12Dのメモリセルに対して同じデータの書き込みが行われ、この後、メモリセルからデータが読み出される。例えば、256個のI/Oを持つメモリマクロでは、同時に、256のデータが読み出されるが、本例では、この256のデータを、8ビット(nOビット)ずつ、32回にわけて読み出す。
【0215】
メモリマクロ12A,12B,12C,12Dから読み出されたデータDTDO・0−[A],…DTDO・7−[A],DTDO・0−[B],…DTDO・7−[B],DTDO・0−[C],…DTDO・7−[C],DTDO・0−[D],…DTDO・7−[D]は、出力合成回路18Aに入力される。
【0216】
出力合成回路18Aでは、メモリマクロ12A,12B,12C,12Dから読み出されたデータの合成が行われる。
【0217】
メモリマクロ12A,12B,12C,12Dが正常な場合、メモリマクロ12A,12B,12C,12Dから読み出されたデータDTDO・i−[A],DTDO・i−[B],DTDO・i−[C],DTDO・i−[D]は、全て同じ値を持つ。
【0218】
よって、メモリマクロ12A,12B,12C,12Dから読み出されたデータDTDO・i−[A],DTDO・i−[B],DTDO・i−[C],DTDO・i−[D]が全て“1”のときは、アンド回路51−iの出力信号も“1”となり、また、メモリマクロ12A,12B,12C,12Dから読み出されたデータDTDO・i−[A],DTDO・i−[B],DTDO・i−[C],DTDO・i−[D]が全て“0”のときは、アンド回路51−iの出力信号も“0”となる。
【0219】
つまり、各メモリマクロ12A,12B,12C,12Dから読み出されたデータDTDO・i−[A],DTDO・i−[B],DTDO・i−[C],DTDO・i−[D]がそのまま出力信号DTDO・0,…DTDO・7として半導体チップ10の外部のテスタ24に読み出される。
【0220】
この時、コンパレータ52−0,…52−7の出力信号も全て“1”となり、アンド回路53の出力信号、即ち、PASS/FAILビットDTDO・8は、“1”となる。
【0221】
一方、メモリマクロ12A,12B,12C,12Dのなかに1つでも異常なものが存在する場合、メモリマクロ12A,12B,12C,12Dから読み出されるデータDTDO・i−[A],DTDO・i−[B],DTDO・i−[C],DTDO・i−[D]は、全て同じ値を持たなくなる場合が生じる。この場合、アンド回路51−iの出力信号は、常に“0”になる。
【0222】
しかし、アンド回路51−iのみでは、読み出されるデータDTDO・i−[A],DTDO・i−[B],DTDO・i−[C],DTDO・i−[D]が全て同じ値を持っているか、又はそうでないかを判断できない。
【0223】
そこで、PASS/FAILビットDTDO・8により、各メモリマクロ12A,12B,12C,12Dの読み出しデータが互いに一致しているか否かを判断している。
【0224】
即ち、PASS/FAILビットDTDO・8が“0”のときは、メモリマクロ12A,12B,12C,12Dから読み出されるデータDTDO・i−[A],DTDO・i−[B],DTDO・i−[C],DTDO・i−[D]が全て同じ値を持っていないことになる。この場合は、メモリマクロ12A,12B,12C,12Dのいずれかに不良が存在することになる。
【0225】
一方、PASS/FAILビットDTDO・8が“1”のときは、メモリマクロ12A,12B,12C,12Dから読み出されるデータDTDO・i−[A],DTDO・i−[B],DTDO・i−[C],DTDO・i−[D]が全て同じ値を持っている。この場合、メモリマクロ12A,12B,12C,12Dの全てに不良が存在するか又はしないかのいずれかである。よって、メモリマクロ12A,12B,12C,12Dから読み出されるデータDTDO・i−[A],DTDO・i−[B],DTDO・i−[C],DTDO・i−[D]を、例えば、テスタにおいて期待値と比較して、メモリマクロ12A,12B,12C,12Dに不良が存在するか又はしないかを判断する。
【0226】
以上の構成を有するメモリマクロのテスト回路によれば、まず、複数のメモリマクロを同時にテストするため、テスト時間を大幅に短縮できるという効果が得られる。また、PASS/FAILビットDTDO・8により、各メモリマクロの読み出しデータが互いに一致しているか否かを判断することができる。即ち、各メモリマクロの読み出しデータの全てが一致していない場合には、PASS/FAILビットDTDO・8は“0”となり、各メモリマクロの読み出しデータが全て一致している場合には、PASS/FAILビットDTDO・8は“1”となる。
【0227】
PASS/FAILビットDTDO・8が“1”のときは、各メモリマクロから出力される出力信号が互いに一致していることになるが、これが期待値と一致しているか否かは不明である。そこで、テスタ24において、出力信号DTDO・0,…DTDO・7を期待値と比較して、メモリマクロに不良のメモリセルが存在するか否かを判断する。
【0228】
また、PASS/FAILビットDTDO・8が“0”のときは、各メモリマクロから出力される出力信号が互いに一致していないことになり、4つのメモリマクロのいずれかに不良のメモリセルが存在することになる。しかし、出力信号DTDO・0,…DTDO・7は、4つのメモリマクロ分圧縮されているため、4つのメモリマクロ12A,12B,12C,12Dのうちのいずれに不良が存在するかを特定することはできない。このため、不良の存在するメモリマクロ12A,12B,12C,12Dを特定するには、別途、メモリマクロを個別にテストする必要がある。
【0229】
従って、本例のテスト回路は、テスト結果のほとんどが良(PASS)であると期待されるようなメモリ混載ロジックLSIのファイナルテストに適用するのが有効である。また、ファイナルテストでは、良品(出荷可)か、又は不良品(出荷不可)であるかを決めるだけで、ウェハ状態におけるテストのように、不良セルを置き換えたりすることがないため、このような点からしても、本例のテスト回路は、ファイナルテストに適用するのがよい。
【0230】
なお、本例では、各メモリマクロの読み出しデータの全てが一致していないときにPASS/FAILビットDTDO・8を“0”とし、各メモリマクロの読み出しデータの全てが一致しているときにPASS/FAILビットDTDO・8を“1”としている。しかし、出力合成回路18Aを変更し、各メモリマクロの読み出しデータの全てが一致していないときにPASS/FAILビットDTDO・8を“1”とし、各メモリマクロの読み出しデータの全てが一致しているときにPASS/FAILビットDTDO・8を“0”としてもよい。
【0231】
図21は、図1のメモリ混載ロジックLSIのメモリマクロのテスト回路の第7例を示している。
【0232】
本例のテスト回路は、選択されたメモリマクロ内において、例えば、同時に読み出された256ビットのデータを8ビットずつ32回に分けて読み出すことができると共に、(8×j)ビットのデータを8ビットに圧縮して数回に分けて、また、最大で、256ビットのデータを8ビットに圧縮して1度に読み出す点に特徴を有する。
【0233】
本例のテスト回路は、単独で用いることも可能であるが、例えば、全マクロを選択可能な図18乃至図20のテスト回路と組み合わせて用いることにより、全てのメモリマクロを非常に短時間でテストすることが可能になり、製造コストの低減に非常に有効である。
【0234】
まず、本例におけるテスト回路の構成について説明する。
【0235】
半導体チップ10内には、4つのメモリマクロ12A,12B,12C,12Dが配置されている。メモリマクロ12A,12B,12C,12Dは、それぞれデータの入出力が行われるインターフェイス部14A,14B,14C,14Dとメモリマクロのテストを制御するテスト制御ブロック15A,15B,15C,15Dを備えている。
【0236】
テスト制御ブロック15A,15B,15C,15Dは、マクロID生成回路及びマクロ選択回路17A,17B,17C,17Dを備えている。マクロ選択回路17A,17B,17C,17Dについては、例えば、図11に示すような構成とし、全てのメモリマクロ12A,12B,12C,12Dを同時に選択するための手段を付加してもよい。
【0237】
ロジック部11には、例えば、nIビットのデータを転送可能な入力信号線21、nOビットのデータを転送可能な第1の出力信号線22A,22B,22C,22D、nOビットのデータを転送可能な第2の出力信号線23及び出力選択回路18が形成される。
【0238】
入力信号線21の一端は、パッド16TIに接続され、他端は、各メモリマクロ12A,12B,12C,12Dに共通に接続される。第1の出力信号線22A,22B,22C,22Dの一端は、メモリマクロ12A,12B,12C,12Dに接続され、他端は、出力選択回路18に接続される。第2の出力信号線23の一端は、出力選択回路18に接続され、他端は、パッド16TOに接続される。
【0239】
パッド16TI,16TOは、通常、パッド部に設けるパッド数の制限により、メモリマクロ12A,12B,12C,12Dのテスト用として用いられると共に、ロジック部11の回路に対するデータ又は制御信号の入出力用としても用いられる。
【0240】
図22は、図21のメモリマクロ12A,12B,12C,12Dのインターフェイス部14Aの一例を示している。
【0241】
なお、本例では、図面を簡略化し、本例の特徴を明確にするため、入力レジスタ、入力信号線及びテスト信号線をそれぞれ省略している。これらの要素は、実際には、図7に示すような構成を有することになる。
【0242】
本例のインターフェイス部14Aの特徴は、{k(例えば、31)+1}個のI/Oレジスタブロック25−0,…25−kのうち1つ以上又は全てのブロックから読み出される(8×j)ビットのデータ(1≦j≦k+1)を圧縮し得ると共に、読み出しデータに誤りが存在するか否かを示すPASS/FAILビットを生成するデータ圧縮回路60を備えている点にある。
【0243】
メモリマクロ内には、k+1個のI/Oレジスタブロック25−0,…25−kが配置される。I/Oレジスタブロック25−0,…25−kの各々は、例えば、8個の出力レジスタ26−0,…26−7及び選択スイッチ27を有している。出力レジスタ26−i(i=0,…7)のメモリマクロ側の端子は、データ線対DQki,/DQki(i=0,…7)に接続される。
【0244】
また、例えば、I/Oレジスタブロック25−kにおいて、出力レジスタ26−i(i=0,…7)のロジック部側には、通常出力端子と反転出力端子が設けられている。通常出力端子は、出力信号線70−i(i=8k,…8k+7)に接続される。また、通常出力端子と反転出力端子は、選択スイッチ27を介して、データ圧縮回路60に接続される。
【0245】
選択スイッチ27は、レジスタアドレス信号RegAdd・0,…RegAdd・kにより、I/Oレジスタブロック単位で、任意にオン/オフ制御される。例えば、本例では、全てのI/Oレジスタブロック25−0,…25−k内の選択スイッチ27をオン状態にできる。
【0246】
例えば、I/Oレジスタブロック25−0において、出力レジスタ26−iから出力される読み出しデータTDOi,/TDOiは、NチャネルMOSトランジスタQ0iA,Q0iBのゲートに入力される(但し、i=0,…7)。また、I/Oレジスタブロック25−kにおいて、出力レジスタ26−iから出力される読み出しデータTDOi,/TDOiは、NチャネルMOSトランジスタQkiA,QkiBのゲートに入力される(但し、i=0,…7)。
【0247】
各I/Oレジスタブロック25−0,…25−k内の出力レジスタ26−iの通常出力端子に接続されるMOSトランジスタQ0iA,…QkiAのドレインは、ノードNiに共通に接続されている。また、各I/Oレジスタブロック25−0,…25−k内の出力レジスタ26−iの反転出力端子に接続されるMOSトランジスタQ0iB,…QkiBのドレインは、ノード/Niに共通に接続されている。また、各MOSトランジスタのソースは、接地されている。
【0248】
プリチャージ用PチャネルMOSトランジスタ61−0,…61−7は、ノードNi,/Niを、例えば、電源電位(“1”の状態)VDDにプリチャージする。プリチャージ用PチャネルMOSトランジスタ61−0,…61−7のゲートには、プリチャージ信号PRCHが入力される。本例では、例えば、メモリマクロに使用されるクロックの後半でプリチャージを行い、前半で、読み出し動作を行う。
【0249】
データの圧縮を行わない場合、テスト制御ブロックでは、レジスタアドレス信号RegAdd・0,…RegAdd・kが生成され、レジスタアドレス信号RegAdd・0,…RegAdd・kは、k個のI/Oレジスタブロック25−0,…25−kのうちの1つを選択する。選択状態のI/Oレジスタブロックでは、選択スイッチ27がオン状態となり、非選択状態のI/Oレジスタブロックでは、選択スイッチ27がオフ状態となる。
【0250】
よって、8ビットの相補データTDO・0,/TDO・0,…TDO・7,/TDO・7が、選択されたI/Oレジスタブロックからデータ圧縮回路57に導かれる。データ圧縮回路57は、8ビットのデータTDO・0,…TDO・7を出力信号DTDO・0,…DTDO・7として出力する。
【0251】
また、例えば、I/Oレジスタブロック25−kが選択されたとすると、I/Oレジスタブロック25−k内の出力レジスタ26−iの通常出力端子に接続されるMOSトランジスタQkiA及び反転出力端子に接続されるMOSトランジスタQkiBのうちのいずれか一方がオン状態、他方がオフ状態となる。
【0252】
よって、オア回路57−0,…57−7の出力信号は、全て“1”となり、アンド回路59の出力信号、即ち、PASS/FAILビットDTDO・8は、データの一致を表す“1”になる。
【0253】
なお、(k+1)個のI/Oレジスタブロック25−0,…25−kを1つずつ順次選択することにより、(k+1)×8ビットの全てのデータがメモリマクロから半導体チップの外部に読み出される。
【0254】
データの圧縮を行う場合、レジスタアドレス信号RegAdd・0,…RegAdd・kの2つ以上又は全てが“1”となり、2つ以上又は全てのI/Oレジスタブロック25−0,…25−kが選択される。選択状態のI/Oレジスタブロックでは、選択スイッチ27がオン状態となり、非選択状態のI/Oレジスタブロックでは、選択スイッチ27がオフ状態となる。
【0255】
よって、8ビットの相補データTDO・0,/TDO・0,…TDO・7,/TDO・7が、選択されたI/Oレジスタブロックからデータ圧縮回路57に導かれ、データの圧縮が行われる。データ圧縮回路57は、8ビットの出力信号DTDO・0,…DTDO・7を出力すると共に、各I/Oレジスタブロックから読み出されるデータの一致及び不一致を表す1ビットのPASS/FAILビットDTDO・8を出力する。
【0256】
次に、図21及び図22のメモリマクロのテスト手法について説明する。
【0257】
まず、選択されたメモリマクロにおいて、選択された1つのI/Oレジスタブロックから8ビットのデータを読み出す場合を説明する。
【0258】
例えば、I/Oレジスタブロック25−kが選択された場合、レジスタアドレス信号RegAdd・kが“1”となり、他のレジスタアドレス信号RegAdd・0,…RegAdd・k−1は“0”となる。I/Oレジスタブロック25−k内の出力レジスタ26−0,…26−7からは、相補データTDOi,/TDOiが出力される。
【0259】
よって、I/Oレジスタブロック25−k内の2つのMOSトランジスタQkiA,QkiBのうちのいずれか一方がオン状態、他方がオフ状態となり、2つのノードNi,/Niのうちの一方が“1”、他方が“0”となる。
【0260】
出力レジスタ26−iの通常出力TDOiが“1”のとき、ノードNiは、“0”になり、出力信号DTDO・iは、“1”となる。また、出力レジスタ26−iの通常出力TDOiが“0”のとき、ノードNiは、“1”になり、出力信号DTDO・iは、“0”となる。つまり、出力レジスタ26−iの通常出力TDOiと出力信号DTDO・iは、互いに等しくなる。
【0261】
また、ノードNi,/Niの電位は、常に、相補の関係となるため、オア回路57−0,…57−7の出力信号は、全て“1”となり、アンド回路59の出力信号、即ち、PASS/FAILビットDTDO・8は、“1”となる。
【0262】
次に、選択されたメモリマクロにおいて、j個のI/Oレジスタブロックを選択し、これらj個のブロックから読み出された8×jビットのデータを8ビットに圧縮して読み出す場合を説明する。
【0263】
まず、選択されたj個のI/Oレジスタブロック内の選択スイッチ27をオン状態にする。選択されたj個のI/Oレジスタブロック内の出力レジスタ26−0,…26−7のデータがNチャネルMOSトランジスタのゲートに入力される。ここで、少なくともI/Oレジスタブロック25−0,25−kが選択されている場合を考える。
【0264】
メモリセルに不良が存在しない場合、I/Oレジスタブロック25−0,25−kには同じデータが書き込まれるため、当然に、このI/Oレジスタブロック25−0,25−kから読み出されるデータは一致しているはずである。例えば、I/Oレジスタブロック25−0,25−k内の入出力レジスタ26−iの通常出力端子にデータ“1”が出力され、反転出力端子にデータ“0”が出力される場合、MOSトランジスタQ0iA,QkiAは共にオン状態、MOSトランジスタQ0iB,QkiBは共にオフ状態となる。また、I/Oレジスタブロック25−0,25−k内の入出力レジスタ26−iの通常出力端子にデータ“0”が出力され、反転出力端子にデータ“1”が出力される場合、MOSトランジスタQ0iA,QkiAは共にオフ状態、MOSトランジスタQ0iB,QkiBは共にオン状態となる。
【0265】
よって、メモリセルに不良が存在しない場合は、ノードNi,/Niのうちのいずれか一方が“1”、他方が“0”となるため、入出力レジスタ26−iの通常出力TDO・iが出力信号DTDO・iとして出力される。また、PASS/FAILビットDTDO・8は、各I/Oレジスタブロックでデータが一致していることを表す“1”となる。
【0266】
メモリセルに不良が存在する場合、I/Oレジスタブロック25−0,25−kには同じデータが書き込まれるが、このI/Oレジスタブロック25−0,25−kから読み出されるデータは互いに一致していない場合がある。例えば、I/Oレジスタブロック25−0内の出力レジスタ26−iの通常出力端子にデータ“1”が出力され、反転出力端子にデータ“0”が出力される一方、I/Oレジスタブロック25−k内の入出力レジスタ26−iの通常出力端子にデータ“0”が出力され、反転出力端子にデータ“1”が出力される場合がある。この場合、I/Oレジスタブロック25−0では、MOSトランジスタQ0iAはオン状態、MOSトランジスタQ0iBはオフ状態となり、I/Oレジスタブロック25−kでは、MOSトランジスタQkiAはオフ状態、MOSトランジスタQkiBはオン状態となる。
【0267】
よって、メモリセルに不良が存在する場合は、I/Oレジスタブロック25−0,25−kから読み出されるデータが互いに一致していないことがあり、この時、ノードNi,/Niの双方が“0”となる。このため、PASS/FAILビットDTDO・8は、各I/Oレジスタブロックでデータが一致していないことを表す“0”となる。
【0268】
なお、読み出しの対象となる全てのメモリセルが不良の場合には、I/Oレジスタブロック25−0,25−kから読み出されるデータが互いに一致し、PASS/FAILビットDTDO・8が“1”となることがある。よって、PASS/FAILビットDTDO・8が“1”のときは、例えば、テスタにおいて、読み出しデータを期待値と比較して、メモリセルに不良が存在するか否かを判断する。
【0269】
このように、選択されたj個のI/Oレジスタブロック内の対応する読み出しデータが一致しているときは、ノードNi,/Niの双方が“0”になることはないので、ノア回路57−0,…57−7の出力信号は、全て“1”となり、アンド回路59の出力信号DTDO・8も“1”となる。
【0270】
また、選択されたj個のI/Oレジスタブロック内の対応する読み出しデータが不一致のときは、ノードNi,/Niの双方が“0”になるため、ノア回路57−0,…57−7の出力信号は、“0”となり、アンド回路59の出力信号DTDO・8も“0”となる。
【0271】
以上の構成を有するメモリマクロのテスト回路によれば、まず、nビットの通常出力を有するメモリマクロにおいて、sビット(1≦s≦n)のデータをj組(jは、2以上の自然数)読み出し、各組のデータを合成して出力すると共に、各組の間でsビットのデータを比較し、各組のsビットのデータが一致しているか否かを示すPASS/FAILビットを出力している。従って、1つのメモリマクロのテスト時間を大幅に短縮することができる。
【0272】
また、PASS/FAILビットDTDO・8が“1”のときは、メモリマクロの各I/Oレジスタブロックから出力される出力信号が互いに一致していることになるが、これが期待値と一致しているか否かは不明である。そこで、テスタ24において、出力信号DTDO・0,…DTDO・7を期待値と比較して、メモリマクロに不良のメモリセルが存在するか否かを判断する。
【0273】
また、PASS/FAILビットDTDO・8が“0”のときは、メモリマクロの各I/Oレジスタブロックから出力される出力信号が一致していないことになり、メモリマクロに不良が存在することになる。しかし、出力信号DTDO・0,…DTDO・7は、j個(例えば、全て)のI/Oレジスタブロック分圧縮されているため、選択されたj個のI/Oレジスタブロックのうちのいずれに不良が存在するかを特定することはできない。よって、不良の存在するI/Oレジスタブロックを特定するには、別途、1つずつ、I/Oレジスタブロックをテストする必要がある。
【0274】
また、本例のテスト回路によれば、全てのI/Oレジスタブロックを選択することにより、例えば、メモリマクロ内で同時に読み出された256ビットのデータを8ビットずつ32回に分けて読み出す必要がなく、256ビットのデータを8ビットに圧縮して1度に読み出すことができる。
【0275】
即ち、I/Oレジスタブロックを、1つずつ、順次、選択していく必要がないため、テスト時間を大幅に短縮できる。
【0276】
本例のテスト回路は、単独で用いることも可能であるが、例えば、全マクロを選択可能な図18乃至図20のテスト回路と組み合わせて用いることにより、全てのメモリマクロを非常に短時間でテストすることが可能になり、製造コストの低減に非常に有効である。
【0277】
図23は、図1のメモリ混載ロジックLSIのメモリマクロのテスト回路の第8例を示している。
【0278】
本例のテスト回路は、図18乃至図20に示す全マクロから出力されるデータを集約する例と、図21及び図22に示す1マクロ内の全I/Oレジスタブロックのデータを集約する例を組み合わせた点に特徴を有する。本例のテスト回路は、非常に短時間で、全てのメモリマクロをテストすることができ、製造コストの低減に有効である。
【0279】
半導体チップ10内には、4つのメモリマクロ12A,12B,12C,12Dが配置されている。メモリマクロ12A,12B,12C,12Dは、それぞれデータの入出力が行われるインターフェイス部14A,14B,14C,14Dとメモリマクロのテストを制御するテスト制御ブロック15A,15B,15C,15Dを備えている。
【0280】
テスト制御ブロック15A,15B,15C,15Dは、メモリマクロを識別するためのマクロIDを生成するマクロID生成回路と、半導体チップ10の外部からメモリマクロに入力されるマクロ選択信号(入力ID)とマクロIDを比較してメモリマクロを選択するためのマクロ選択回路17A,17B,17C,17Dを備えている。
【0281】
マクロID生成回路については、図6及び図14(a)の例に示すように、メモリマクロ(テスト制御ブロック)内に設けてもよいし、また、図9、図10、図13及び図14(b)の例に示すように、メモリマクロの外部に設けてもよい。また、マクロ選択回路については、例えば、図11に示すような構成のもの、即ち、メモリマクロを個別に選択できると共に、全マクロ選択信号により全てのメモリマクロ12A,12B,12C,12Dを選択できるものを使用する。
【0282】
ロジック部11には、例えば、nIビットのデータを転送可能な入力信号線21、nOビットのデータを転送可能な第1の出力信号線22A,22B,22C,22D、nOビットのデータを転送可能な第2の出力信号線23、制御信号線46及び出力合成回路18Bが形成される。
【0283】
入力信号線21の一端は、パッド16TIに接続され、他端は、各メモリマクロ12A,12B,12C,12Dに共通に接続される。第1の出力信号線22A,22B,22C,22Dの一端は、メモリマクロ12A,12B,12C,12Dに接続され、他端は、出力合成回路18Bに接続される。第2の出力信号線23の一端は、出力合成回路18Bに接続され、他端は、パッド16TOに接続される。
【0284】
また、制御信号線46の一端は、各メモリマクロ12A,12B,12C,12Dに接続され、他端は、出力合成回路18Bに接続される。出力合成回路18Bは、各メモリマクロ12A,12B,12C,12Dから出力される制御信号MEn−[A],MEn−[B],MEn−[C],MEn−[D]に基づいて、第1の出力信号線22A,22B,22C,22Dを選択し、選択された出力信号線、即ち、選択されたメモリマクロのデータを合成する。
【0285】
パッド16TI,16TOは、通常、パッド部に設けるパッド数の制限により、メモリマクロ12A,12B,12C,12Dのテスト用として用いられると共に、ロジック部11の回路に対するデータ又は制御信号の入出力用としても用いられる。
【0286】
なお、メモリマクロ12A,12B,12C,12Dのインターフェイス部14Aとしては、例えば、図22に示すような構成を有するもの、即ち、k個のI/Oレジスタブロックを、個別に又は複数個(特に全部)まとめて選択し、選択されたI/Oレジスタブロックのデータを合成できるものを用いる。
【0287】
また、各メモリマクロ12A,12B,12C,12Dのマクロ選択回路17A,17B,17C,17Dから出力される信号MEn−[A],MEn−[B],MEn−[C],MEn−[D]は、出力合成回路18Bの制御信号として用いられる。
【0288】
図24は、図23の出力合成回路18Bの一例を示している。
【0289】
DTDO・0−[A],…DTDO・7−[A]は、メモリマクロ12Aから出力される読み出しデータ、DTDO・0−[B],…DTDO・7−[B]は、メモリマクロ12Bから出力される読み出しデータ、DTDO・0−[C],…DTDO・7−[C]は、メモリマクロ12Cから出力される読み出しデータ、DTDO・0−[D],…DTDO・7−[D]は、メモリマクロ12Dから出力される読み出しデータである。
【0290】
各メモリマクロからの読み出しデータDTDO・i−[A],DTDO・i−[B],DTDO・i−[C],DTDO・i−[D]は、アンド(AND)回路62−iに入力され、アンド回路62−iは、合成された読み出しデータDTDO・iを出力する(但し、i=0,…7)。
【0291】
また、各メモリマクロからの読み出しデータDTDO・i−[A],DTDO・i−[B],DTDO・i−[C],DTDO・i−[D]は、コンパレータ63−iにも入力される。コンパレータ63−iの出力信号は、アンド回路65に入力される。コンパレータ63−iは、読み出しデータDTDO・i−[A],DTDO・i−[B],DTDO・i−[C],DTDO・i−[D]の一致又は不一致を示す信号を出力する。
【0292】
DTDO・8−[A],DTDO・8−[B],DTDO・8−[C],DTDO・8−[D]は、各メモリマクロ12A,12B,12C,12D内のインターフェイス部(図21)から出力されるPASS/FAILビットに相当するものである。よって、アンド回路65の出力は、各メモリマクロ12A,12B,12C,12DのPASS/FAILビットが“1”(一致)のときのみ、“1”になることができる。
【0293】
つまり、本例では、選択されたメモリマクロ内の選択されたI/Oレジスタブロックの読み出しデータが互いに一致しており、かつ、選択されたメモリマクロの読み出しデータも互いに一致している場合に限り、アンド回路65の出力信号(PASS/FAILビット)DTDO・8が“1”となる。
【0294】
MEn−[A],MEn−[B],MEn−[C],MEn−[D]は、各メモリマクロ12A,12B,12C,12Dのマクロ選択回路(図7)の出力信号であり、メモリマクロが選択されているときに“0”、メモリマクロが選択されていないときに“1”となる。
【0295】
図25は、図24のコンパレータ63−0,…63−7の一例を示している。
【0296】
各メモリマクロからの出力信号DTDO・i−[A],DTDO・i−[B],DTDO・i−[C],DTDO・i−[D]は、それぞれオア(OR)回路66−0,…66−3に入力されると共に、アンド(AND)回路67−0,…67−3に入力される(但し、i=0,…7)。オア(OR)回路66−0,…66−3の出力信号は、ナンド(NAND)回路68に入力され、ナンド回路68の出力信号は、ナンド回路70に入力される。アンド回路67−0,…67−3の出力信号は、オア回路69に入力され、オア回路69の出力信号は、ナンド回路70に入力される。ナンド回路70の出力信号は、図24のアンド回路65に入力される。
【0297】
このコンパレータは、選択されたメモリマクロからの出力信号DTDO・i−[A],DTDO・i−[B],DTDO・i−[C],DTDO・i−[D]が全て同じデータ“0”又は“1”のときに、出力信号OUTを“1”とし、選択されたメモリマクロからの出力信号DTDO・i−[A],DTDO・i−[B],DTDO・i−[C],DTDO・i−[D]が全て同じデータでないときに、出力信号OUTを“0”とする機能を有する。
【0298】
メモリマクロの選択及び非選択は、各メモリマクロ12A,12B,12C,12Dのマクロ選択回路(図11)から出力される制御信号MEn−[A],MEn−[B],MEn−[C],MEn−[D]により判断する。
【0299】
例えば、メモリマクロ12A,12B,12Dが選択され、メモリマクロ12Cが選択されていないとき、MEn−[A]が“0”、MEn−[B]が“0”、MEn−[C]が“1”、MEn−[D]が“0”となる。この時、メモリマクロ12Cからの読み出しデータにかかわらず、オア回路66−2の出力信号は、常に“1”となり、アンド回路67−2の出力信号は、常に“0”となる。
【0300】
マクロ間の読み出しデータが一致し、その読み出しデータDTDO・i−[A],DTDO・i−[B],DTDO・i−[D]が“1”のとき、オア回路66−0,66−1,66−3の出力信号は、“1”となり、アンド回路67−0,67−1,67−3の出力信号も、“1”となる。よって、ナンド回路68の出力信号は、“0”、オア回路69の出力信号は、“1”であり、ナンド回路70の出力信号は、“1”となる。
【0301】
マクロ間の読み出しデータが一致し、その読み出しデータDTDO・i−[A],DTDO・i−[B],DTDO・i−[D]が“0”のとき、オア回路66−0,66−1,66−3の出力信号は、“0”となり、アンド回路67−0,67−1,67−3の出力信号も、“0”となる。よって、ナンド回路68の出力信号は、“1”、オア回路69の出力信号は、“0”であり、ナンド回路70の出力信号は、“1”となる。
【0302】
マクロ間の読み出しデータが一致しておらず、その読み出しデータDTDO・i−[A],DTDO・i−[B]が“0”、読み出しデータDTDO・i−[D]が“1”のとき、オア回路66−0,66−1の出力信号は、“0”、オア回路66−3の出力信号は、“1”となり、アンド回路67−0,67−1の出力信号は、“0”、アンド回路67−3の出力信号は、“1”となる。よって、ナンド回路68の出力信号は、“1”、オア回路69の出力信号も、“1”であり、ナンド回路70の出力信号は、“0”となる。
【0303】
次に、図23乃至図25のメモリマクロのテスト手法について説明する。
【0304】
まず、全てのメモリマクロ12A,12B,12C,12Dを選択し、かつ、各メモリマクロ内の全てのI/Oレジスタブロック(図21の25−0,…25−k)を選択する場合について説明する。
【0305】
例えば、メモリマクロ12D内のI/Oレジスタブロックのデータが一致していない場合、メモリマクロ12Dから出力されるPASS/FAILビットDTDO・8−[D]は、“0”となる。よって、図23のアンド回路65の出力信号、即ち、PASS/FAILビットDTDO・8は、データの不一致を示す“0”となる。なお、他のメモリマクロ12A,12B,12C内のI/Oレジスタブロックのデータが一致していない場合も、同様である。
【0306】
また、例えば、全てのメモリマクロ12A,12B,12C,12Dに関し、全てのI/Oレジスタブロックのデータが一致している場合、各メモリマクロ12A,12B,12C,12Dから出力されるPASS/FAILビットDTDO・8−[A],DTDO・8−[B],DTDO・8−[C],DTDO・8−[D]は、全て“1”となる。
【0307】
ここで、全てのメモリマクロ12A,12B,12C,12Dが選択されているため、各メモリマクロ12A,12B,12C,12Dから出力される制御信号MEn−[A],MEn−[B],MEn−[C],MEn−[D]は、全て“0”となる。
【0308】
マクロ間の読み出しデータが一致しているとき、図24のコンパレータ63−0,…63−7の出力信号は、全て“1”となる。よって、図24のアンド回路65の出力信号、即ち、PASS/FAILビットDTDO・8は、データの一致を示す“1”となる。
【0309】
マクロ間の読み出しデータが一致していないとき、図24のコンパレータ63−0,…63−7の出力信号は、全て“1”とはならない。よって、図24のアンド回路65の出力信号、即ち、PASS/FAILビットDTDO・8は、データの不一致を示す“0”となる。
【0310】
本例では、PASS/FAILビットDTDO・8が“0”のとき、どのメモリマクロのどのI/Oレジスタブロックから読み出されたデータが誤りであるのかを判断することができない。よって、不良セルを特定するためには、再び、メモリマクロごと、かつ、I/Oレジスタブロックごとにテストを行う必要がある。つまり、本発明は、ほとんどが良品と判断され、かつ、不良セルを特定する必要がないようなファイナルテストに非常に有効である。
【0311】
各メモリマクロ12A,12B,12C,12Dから出力された読み出しデータDTDO・i−[A],DTDO・i−[B],DTDO・i−[C],DTDO・i−[D]は、アンド(論理積)回路62−0,…62−7により合成され、全てのメモリマクロの集約された8ビットの読み出しデータDTDO・0,…DTDO・7として、半導体チップ10の外部に読み出される。
【0312】
半導体チップ10の外部に読み出されたデータは、さらに、テスタ24において期待値と比較され、その比較結果に基づいて、メモリセルの良、不良が判断される。
【0313】
図26は、図24の出力合成回路の変形例である。図27は、図26のコンパレータ72−0,…72−7の一例を示している。
【0314】
本例の出力合成回路は、4つのメモリマクロの選択に関し、1つ又は全ての2通りしか選択できない。このような回路構成によると、図24及び図25の回路に比べ、簡略な回路で構成できるため、面積も少なく、配線ミスもなしに、回路設計でき、非常に有効である。
【0315】
DTDO・0−[A],…DTDO・7−[A]は、メモリマクロ12Aから出力される読み出しデータ、DTDO・0−[B],…DTDO・7−[B]は、メモリマクロ12Bから出力される読み出しデータ、DTDO・0−[C],…DTDO・7−[C]は、メモリマクロ12Cから出力される読み出しデータ、DTDO・0−[D],…DTDO・7−[D]は、メモリマクロ12Dから出力される読み出しデータである。
【0316】
各メモリマクロからの読み出しデータDTDO・i−[A],DTDO・i−[B],DTDO・i−[C],DTDO・i−[D]は、アンド(AND)回路71−iに入力され、アンド回路71−iは、合成された読み出しデータDTDO・iを出力する(但し、i=0,…7)。
【0317】
また、各メモリマクロからの読み出しデータDTDO・i−[A],DTDO・i−[B],DTDO・i−[C],DTDO・i−[D]は、コンパレータ72−iにも入力される。コンパレータ72−iの出力信号は、アンド回路73に入力される。コンパレータ72−iは、読み出しデータDTDO・i−[A],DTDO・i−[B],DTDO・i−[C],DTDO・i−[D]が一致しているとき“1”を出力し、不一致のときに“0”を出力する。
【0318】
DTDO・8−[A],DTDO・8−[B],DTDO・8−[C],DTDO・8−[D]は、各メモリマクロ12A,12B,12C,12D内のインターフェイス部(図22)から出力されるPASS/FAILビットに相当するものである。よって、アンド回路71−8の出力は、各メモリマクロ12A,12B,12C,12DのPASS/FAILビットが“1”(一致)のときのみ、“1”になることができる。
【0319】
つまり、本例では、選択されたメモリマクロ内の選択されたI/Oレジスタブロックの読み出しデータが互いに一致しており、かつ、選択されたメモリマクロの読み出しデータも互いに一致している場合に限り、アンド回路73の出力信号が“1”になる。
【0321】
マルチプレクサ75は、スイッチ入力Sが“1”のときは、S(H)端子を出力端子に接続し、スイッチ入力Sが“0”のときは、S(L)端子を出力端子に接続する。よって、全てのメモリマクロが選択されているとき、即ち、スイッチ入力Sが“1”のときは、アンド回路73の出力信号がPASS/FAILビットDTDO・8として出力され、1つのメモリマクロが選択されているとき、即ち、スイッチ入力Sが“0”のときは、アンド回路71−8の出力信号がPASS/FAILビットDTDO・8として出力される。
【0322】
図27は、図26のコンパレータ72−0,…72−7の一例を示している。
【0323】
各メモリマクロからの出力信号DTDO・i−[A],DTDO・i−[B],DTDO・i−[C],DTDO・i−[D]は、ナンド(NAND)回路76及びオア(OR)回路77に入力される(但し、i=0,…7)。ナンド(NAND)回路76の出力信号及びオア(OR)回路77の出力信号は、ナンド回路78に入力され、ナンド回路78の出力信号は、図26のアンド回路73に入力される。
【0324】
このコンパレータは、各メモリマクロからの出力信号DTDO・i−[A],DTDO・i−[B],DTDO・i−[C],DTDO・i−[D]が全て同じデータ“0”又は“1”のときに、出力信号OUTを“1”とし、各メモリマクロからの出力信号DTDO・i−[A],DTDO・i−[B],DTDO・i−[C],DTDO・i−[D]が全て同じデータでないときに、出力信号OUTを“0”とする機能を有する。
【0325】
図28は、図1のメモリ混載ロジックLSIのメモリマクロのテスト回路の第9例を示している。
【0326】
本例のテスト回路は、図3のテスト回路と比較すると、各メモリマクロ12A,12B,12C、12DからPASS/FAILビットDTDO・8−[A],DTDO・8−[B],DTDO・8−[C],DTDO・8−[D]が出力され、これらがアンド(論理積)回路で合成され、PASS/FAILビットDTDO・8となっている点にある。
【0327】
まず、本例におけるテスト回路の構成について説明する。
【0328】
半導体チップ10内には、4つのメモリマクロ12A,12B,12C,12Dが配置されている。メモリマクロ12A,12B,12C,12Dは、それぞれデータの入出力が行われるインターフェイス部14A,14B,14C,14Dとメモリマクロのテストを制御するテスト制御ブロック15A,15B,15C,15Dを備えている。
【0329】
テスト制御ブロック15A,15B,15C,15Dは、メモリマクロを識別するためのマクロIDを生成するマクロID生成回路と、半導体チップ10の外部からメモリマクロに入力されるマクロ選択信号(入力ID)とマクロIDを比較してメモリマクロを選択するためのマクロ選択回路17A,17B,17C,17Dを備えている。
【0330】
マクロID生成回路については、メモリマクロ(テスト制御ブロック)内に設けてもよいし、また、メモリマクロの外部に設けてもよい。
【0331】
メモリマクロ12A,12B,12C,12Dには、互いに異なるマクロIDが割り当てられている。例えば、本例では、半導体チップ10内に4つのメモリマクロが配置されるため、マクロIDは、メモリマクロ12A,12B,12C,12Dに対して、それぞれ“00”,“01”,“10”,“11”が割り当てられる。
【0332】
ロジック部11には、例えば、nIビットのデータを転送可能な入力信号線21、nO+1ビットのデータを転送可能な第1の出力信号線22A,22B,22C,22D、nO+1ビットのデータを転送可能な第2の出力信号線23及びアンド(AND)回路47が形成される。
【0333】
入力信号線21の一端は、パッド16TIに接続され、他端は、各メモリマクロ12A,12B,12C,12Dに共通に接続される。第1の出力信号線22A,22B,22C,22Dの一端は、メモリマクロ12A,12B,12C,12Dに接続され、他端は、アンド回路47に接続される。第2の出力信号線23の一端は、アンド回路47の出力端に接続され、他端は、パッド16TOに接続される。
【0334】
パッド16TI,16TOは、通常、パッド部に設けるパッド数の制限により、メモリマクロ12A,12B,12C,12Dのテスト用として用いられると共に、ロジック部11の回路に対するデータ又は制御信号の入出力用としても用いられる。
【0335】
本例では、各メモリマクロ12A,12B,12C、12Dから出力されるnO+1ビットのデータのうちのnOビットは、読み出しデータDTDO・0[A],…DTDO・7[A],DTDO・0[B],…DTDO・7[B],DTDO・0[C],…DTDO・7[C],DTDO・0[D],…DTDO・7[D]である。
【0336】
また、各メモリマクロ12A,12B,12C、12Dから出力されるnO+1ビットのデータのうちの1ビットは、本例で新たに加えられたものであり、PASS/FAILビットDTDO・8−[A],DTDO・8−[B],DTDO・8−[C],DTDO・8−[D]である。
【0337】
PASS/FAILビットDTDO・8−[A],DTDO・8−[B],DTDO・8−[C],DTDO・8−[D]は、各メモリマクロ12A,12B,12C、12D内で、読み出しデータと期待値を比較した結果に基づくものとなっている。
【0338】
図29は、図28のインターフェイス部を示している。
【0339】
本例のインターフェイス部は、選択されたメモリマクロ内において、1つ以上の選択されたI/Oレジスタブロックの読み出しデータと期待値とを比較し、その結果を出力できるような回路を付加した点に特徴がある。
【0340】
なお、本例においては、図面を簡略化し、本例の特徴を明確にするため、入力レジスタ、入力信号線及びテスト信号線は、それぞれ省略してある。これらは、例えば、図7に示すような構成となる。
【0341】
メモリマクロ内には、k+1個のI/Oレジスタブロック25−0,…25−kが配置される。I/Oレジスタブロック25−0,…25−kの各々は、例えば、8個の出力レジスタ26−0,…26−7及び選択スイッチ27を有している。出力レジスタ26−i(i=0,…7)のメモリマクロ側の端子は、データ線対DQki,/DQki(i=0,…7)に接続される。
【0342】
また、例えば、I/Oレジスタブロック25−kにおいて、出力レジスタ26−i(i=0,…7)のロジック部側には、通常出力端子と反転出力端子が設けられている。通常出力端子は、出力信号線70−i(i=8k,…8k+7)に接続される。また、通常出力端子と反転出力端子は、選択スイッチ27を介して、データ圧縮回路60に接続される。
【0343】
選択スイッチ27は、レジスタアドレス信号RegAdd・0,…RegAdd・kにより、I/Oレジスタブロック単位で、任意にオン/オフ制御される。例えば、本例では、全てのI/Oレジスタブロック25−0,…25−k内の選択スイッチ27をオン状態にできる。
【0344】
例えば、I/Oレジスタブロック25−0において、出力レジスタ26−iから出力される読み出しデータTDOi,/TDOiは、NチャネルMOSトランジスタQ0iA,Q0iBのゲートに入力される(但し、i=0,…7)。また、I/Oレジスタブロック25−kにおいて、出力レジスタ26−iから出力される読み出しデータTDOi,/TDOiは、NチャネルMOSトランジスタQkiA,QkiBのゲートに入力される(但し、i=0,…7)。
【0345】
各I/Oレジスタブロック25−0,…25−k内の出力レジスタ26−iの通常出力端子に接続されるMOSトランジスタQ0iA,…QkiAのドレインは、ノードNiに共通に接続されている。また、各I/Oレジスタブロック25−0,…25−k内の出力レジスタ26−iの反転出力端子に接続されるMOSトランジスタQ0iB,…QkiBのドレインは、ノード/Niに共通に接続されている。また、各MOSトランジスタのソースは、接地されている。
【0346】
プリチャージ用PチャネルMOSトランジスタ61−0,…61−7は、ノードNi,/Niを、例えば、電源電位(“1”の状態)VDDにプリチャージする。プリチャージ用PチャネルMOSトランジスタ61−0,…61−7のゲートには、プリチャージ信号PRCHが入力される。本例では、例えば、メモリマクロに使用されるクロックの後半でプリチャージを行い、前半で、読み出し動作を行う。
【0347】
データの圧縮を行わない場合、テスト制御ブロックでは、レジスタアドレス信号RegAdd・0,…RegAdd・kが生成され、レジスタアドレス信号RegAdd・0,…RegAdd・kは、k個のI/Oレジスタブロック25−0,…25−kのうちの1つを選択する。選択状態のI/Oレジスタブロックでは、選択スイッチ27がオン状態となり、非選択状態のI/Oレジスタブロックでは、選択スイッチ27がオフ状態となる。
【0348】
よって、8ビットの相補データTDO・0,/TDO・0,…TDO・7,/TDO・7が、選択されたI/Oレジスタブロックからデータ圧縮回路60に導かれる。データ圧縮回路60は、8ビットのデータTDO・0,…TDO・7を出力信号DTDO・0,…DTDO・7として出力する。
【0349】
また、例えば、I/Oレジスタブロック25−kが選択されたとすると、I/Oレジスタブロック25−k内の入出力レジスタ26−iの通常出力端子に接続されるMOSトランジスタQkiA及び反転出力端子に接続されるMOSトランジスタQkiBのうちのいずれか一方がオン状態、他方がオフ状態となる。よって、ノードNi,/Niのうちのいずれか一方が“0”の状態、他方が“1”の状態になる。
【0350】
ここで、本例では、選択されたI/Oレジスタブロックから読み出されたデータと期待値とを比較する回路を設けている。即ち、ノードNi,/Niには、それぞれNチャネルMOSトランジスタ79−0,…79−7が接続される。このMOSトランジスタ79−0,…79−7のソースは、接地点に接続される。期待値の相補データTQEXPc−0,…TQEXPc−7,TQEXPt−0,…TQEXPt−7は、それぞれスイッチ80を経由して、MOSトランジスタ79−0,…79−7のゲートに入力される。
【0351】
選択されたI/Oレジスタブロックから読み出されたデータと期待値が等しい場合には、ノードNi,/Niの状態は変わらず、ノードNi,/Niのうちのいずれか一方が“0”の状態、他方が“1”の状態を維持する。よって、オア回路57−0,…57−7の出力信号は、全て“1”となり、アンド回路59の出力信号、即ち、PASS/FAILビットDTDO・8は、一致(PASS)を表す“1”になる。
【0352】
一方、選択されたI/Oレジスタブロックから読み出されたデータと期待値が異なる場合には、ノードNi,/Niの双方が“0”の状態となる。よって、オア回路57−0,…57−7の出力信号は、全て“1”とならず、アンド回路59の出力信号、即ち、PASS/FAILビットDTDO・8は、不一致(FAIL)を表す“0”になる。
【0353】
なお、(k+1)個のI/Oレジスタブロック25−0,…25−kを1つずつ順次選択することにより、(k+1)×8ビットの全てのデータがメモリマクロから半導体チップの外部に読み出される。
【0354】
データの圧縮を行う場合、レジスタアドレス信号RegAdd・0,…RegAdd・kの2つ以上又は全てが“1”となり、2つ以上又は全てのI/Oレジスタブロック25−0,…25−kが選択される。選択状態のI/Oレジスタブロックでは、選択スイッチ27がオン状態となり、非選択状態のI/Oレジスタブロックでは、選択スイッチ27がオフ状態となる。
【0355】
よって、選択されたI/Oレジスタブロックでは、8ビットの相補データTDO・0,/TDO・0,…TDO・7,/TDO・7がそれぞれデータ圧縮回路60に導かれる。
【0356】
選択されたI/Oレジスタブロックのそれぞれの読み出しデータが等しい場合には、ノードNi,/Niのうちのいずれか一方が“0”の状態、他方が“1”の状態になる。
【0357】
また、選択されたI/Oレジスタブロックのそれぞれの読み出しデータと期待値が等しい場合には、ノードNi,/Niの状態は変わらず、ノードNi,/Niのうちのいずれか一方が“0”の状態、他方が“1”の状態を維持する。よって、オア回路57−0,…57−7の出力信号は、全て“1”となり、アンド回路59の出力信号、即ち、PASS/FAILビットDTDO・8は、一致(PASS)を表す“1”になる。
【0358】
一方、選択されたI/Oレジスタブロックのそれぞれの読み出しデータが異なる場合、又は、それぞれの読み出しデータが等しいが、この読み出しデータと期待値が異なる場合には、ノードNi,/Niの双方が“0”の状態となる。よって、オア回路57−0,…57−7の出力信号は、全て“1”とならず、アンド回路59の出力信号、即ち、PASS/FAILビットDTDO・8は、不一致(FAIL)を表す“0”になる。
【0359】
次に、図29のインターフェイス部を用いたメモリマクロのテスト手法について説明する。
【0360】
まず、選択されたメモリマクロにおいて、選択された1つのI/Oレジスタブロックから8ビットのデータを読み出す場合を説明する。
【0361】
例えば、I/Oレジスタブロック25−kが選択された場合、レジスタアドレス信号RegAdd・kが“1”となり、他のレジスタアドレス信号RegAdd・0,…RegAdd・k−1は“0”となる。I/Oレジスタブロック25−k内の出力レジスタ26−0,…26−7からは、相補データTDOi,/TDOiが出力される。
【0362】
よって、I/Oレジスタブロック25−k内の2つのMOSトランジスタQkiA,QkiBのうちのいずれか一方がオン状態、他方がオフ状態となり、2つのノードNi,/Niのうちの一方が“1”、他方が“0”となる。
【0363】
出力レジスタ26−iの通常出力TDOiが“1”のとき、ノードNiは、“0”になり、出力信号DTDO・iは、“1”となる。また、出力レジスタ26−iの通常出力TDOiが“0”のとき、ノードNiは、“1”になり、出力信号DTDO・iは、“0”となる。つまり、出力レジスタ26−iの通常出力TDOiと出力信号DTDO・iは、互いに等しくなる。
【0364】
また、スイッチ80がオン状態となり、期待値の相補データTQEXPt−i,TQEXPc−iがMOSトランジスタ79−iに入力される。TQEXPt−i=“1”、TQEXPc−i=“0”のとき、ノードNiが“0”、ノード/Niが“1”であると、読み出しデータと期待値は、等しいと判断され、オア回路57−0,…57−7の出力信号は、全て“1”となり、アンド回路59の出力信号、即ち、PASS/FAILビットDTDO・8は、“1”となる。
【0365】
一方、TQEXPt−i=“1”、TQEXPc−i=“0”のとき、ノードNiが“1”、ノード/Niが“0”であると、読み出しデータと期待値は、互いに異なると判断され、オア回路57−0,…57−7の出力信号は、全て“1”とならず、アンド回路59の出力信号、即ち、PASS/FAILビットDTDO・8は、“0”となる。
【0366】
次に、選択されたメモリマクロにおいて、j個のI/Oレジスタブロックを選択し、これらj個のブロックから読み出された8×jビットのデータを8ビットに圧縮して読み出す場合を説明する。
【0367】
まず、選択されたj個のI/Oレジスタブロック内の選択スイッチ27をオン状態にする。選択されたj個のI/Oレジスタブロック内の出力レジスタ26−0,…26−7のデータがNチャネルMOSトランジスタのゲートに入力される。ここで、少なくともI/Oレジスタブロック25−0,25−kが選択されている場合を考える。
【0368】
メモリセルに不良が存在しない場合、I/Oレジスタブロック25−0,25−kには同じデータが書き込まれるため、当然に、このI/Oレジスタブロック25−0,25−kから読み出されるデータは一致しているはずである。例えば、I/Oレジスタブロック25−0,25−k内の出力レジスタ26−iの通常出力端子にデータ“1”が出力され、反転出力端子にデータ“0”が出力される場合、MOSトランジスタQ0iA,QkiAは共にオン状態、MOSトランジスタQ0iB,QkiBは共にオフ状態となる。また、I/Oレジスタブロック25−0,25−k内の出力レジスタ26−iの通常出力端子にデータ“0”が出力され、反転出力端子にデータ“1”が出力される場合、MOSトランジスタQ0iA,QkiAは共にオフ状態、MOSトランジスタQ0iB,QkiBは共にオン状態となる。
【0369】
よって、メモリセルに不良が存在しない場合は、ノードNi,/Niのうちのいずれか一方が“1”、他方が“0”となる。
【0370】
次に、I/Oレジスタブロック25−0,25−kの読み出しデータと期待値の比較が行われる。期待値の相補データTQEXPt−i,TQEXPcは、スイッチ80を介してMOSトランジスタ79−iに入力される。読み出しデータと期待値が等しい場合、ノードNi,/Niの状態は変化せず、ノードNi,/Niのうちのいずれか一方が“1”、他方が“0”となる。よって、PASS/FAILビットDTDO・8は、“1”(PASS)となる。
【0371】
一方、読み出しデータと期待値が異なる場合、ノードNi,/Niは、共に、“0”となる。よって、PASS/FAILビットDTDO・8は、“0”(FAIL)となる。
【0372】
メモリセルに不良が存在する場合、I/Oレジスタブロック25−0,25−kには同じデータが書き込まれるが、このI/Oレジスタブロック25−0,25−kから読み出されるデータは互いに一致していない場合がある。例えば、I/Oレジスタブロック25−0内の出力レジスタ26−iの通常出力端子にデータ“1”が出力され、反転出力端子にデータ“0”が出力される一方、I/Oレジスタブロック25−k内の出力レジスタ26−iの通常出力端子にデータ“0”が出力され、反転出力端子にデータ“1”が出力される場合がある。この場合、I/Oレジスタブロック25−0では、MOSトランジスタQ0iAはオン状態、MOSトランジスタQ0iBはオフ状態となり、I/Oレジスタブロック25−kでは、MOSトランジスタQkiAはオフ状態、MOSトランジスタQkiBはオン状態となる。
【0373】
よって、メモリセルに不良が存在する場合は、I/Oレジスタブロック25−0,25−kから読み出されるデータが互いに一致していないことがあり、この時、ノードNi,/Niの双方が“0”となる。このため、PASS/FAILビットDTDO・8は、“0”(FAIL)となる。
【0374】
なお、読み出しの対象となる全てのメモリセルが不良の場合には、I/Oレジスタブロック25−0,25−kから読み出されるデータが互いに一致することがある。このような場合でも、読み出しデータは、期待値と一致しないため、PASS/FAILビットDTDO・8は、“0”となる。
【0375】
ところで、本例では、図28のメモリマクロ12A,12B,12C,12Dの全てを同時に選択することができる。
【0376】
この場合、各メモリマクロ12A,12B,12C、12Dから出力されるPASS/FAILビットDTDO・8−[A],DTDO・8−[B],DTDO・8−[C],DTDO・8−[D]をアンド回路に入力し、PASS/FAILビットDTDO・8を得る。
【0377】
PASS/FAILビットDTDO・8は、全てのメモリマクロ12A,12B,12C,12Dのテスト結果を合成したものとなっている。もちろん、テスト結果は、読み出しデータと期待値を比較した結果である。
【0378】
PASS/FAILビットDTDO・8が“1”のときは、全てのメモリマクロ12A,12B,12C,12Dに不良のメモリセルが存在しないことになり、PASS/FAILビットDTDO・8が“0”のときは、メモリマクロ12A,12B,12C,12Dのいずれかに不良のメモリセルが存在することになる。しかし、どのメモリマクロ12A,12B,12C,12DのどのI/Oレジスタブロックに不良が存在するかはわからない。
【0379】
また、本例では、図28のメモリマクロ12A,12B,12C,12Dのいずれか1つをマクロIDに基づいて選択することもできる。
【0380】
この場合、図4及び図5の例に示すように、非選択のメモリマクロから出力される読み出しデータDTDO・0[A],…DTDO・7[A],DTDO・0[B],…DTDO・7[B],DTDO・0[C],…DTDO・7[C],DTDO・0[D],…DTDO・7[D]及びPASS/FAILビットDTDO・8[A],DTDO・8[B],DTDO・8[C],DTDO・8[D]を“1”に固定する出力制御回路を設ければよい。
【0381】
以上の構成を有するメモリマクロのテスト回路によれば、選択されたメモリマクロ内で、読み出しデータと期待値の比較を行っている。
【0382】
よって、例えば、図28のテスト回路において、全てのメモリマクロ12A,12B,12C,12Dを選択し、各メモリマクロ12A,12B,12C,12Dから出力されるPASS/FAILビットDTDO・8−[A],DTDO・8−[B],DTDO・8−[C],DTDO・8−[D]を、アンド(論理積)回路で合成し、PASS/FAILビットDTDO・8として出力できる。つまり、図24のような制御信号MEn−[A],MEn−[B],MEn−[C],MEn−[D]が不要であり、配線数が削減され、配線ミスもなくなり、設計負担が大幅に軽減される。
【0383】
【発明の効果】
以上、説明したように、本発明のメモリ混載ロジックLSIによれば、次のような効果を奏する。
【0384】
1) 複数のメモリマクロをワンチップに搭載したメモリ混載ロジックLSIにおいて、メモリマクロをダイレクトテストするときにメモリマクロの識別に使用するマクロIDを生成するマクロID生成回路を、メモリマクロの外部に配置している(例えば、図9、図10の例に相当)。
【0385】
通常、マクロID生成回路は、メモリマクロごとに異なる構成(レイアウト)を有しているため、このマクロID生成回路をメモリマクロの外に形成することで、全てのメモリマクロにおいてテスト制御ブロックの構成を同一にすることができる。よって、メモリマクロの設計に使用する回路ブロックの種類を減らすことができ、設計負担の軽減、設計時間の短縮を図ることができる。
【0386】
2) マクロIDを複数の固定電位に組み合わせにより生成することで、簡単な構成により、マクロIDを生成することができるようになる(例えば、図13の例に相当)。また、マクロID生成回路に、入力信号を加算して出力信号とする加算器の機能を持たせることにより、全てのメモリマクロのマクロID生成回路の構成(レイアウト)を同一にすることができる(例えば、図14の例に相当)。よって、マクロID生成回路をテスト制御ブロック内に配置しても、メモリマクロの設計に使用する回路ブロックの種類を増やすことはなく、設計負担の軽減、設計時間の短縮を図ることができる。
【0387】
3) 複数のメモリマクロをワンチップに搭載したメモリ混載ロジックLSIにおいて、非選択状態のメモリマクロの出力信号を“0”又は“1”に固定するマクロ出力制御回路を設け、かつ、ロジック部において、全てのメモリマクロの出力信号の論理和又は論理積をとることにより、選択状態のメモリマクロの出力信号のみを半導体チップ外に出力している(例えば、図3の例に相当)。
【0388】
この場合、ロジック的に、選択状態のメモリマクロの出力信号を選択できるため、マクロ選択信号により制御されるマルチプレクサを用いる場合に必要な制御信号線が不要となる。よって、メモリマクロ間の配線数を削減でき、また、配線ミスも減り、設計負担が軽減され、設計時間も短くなる。
【0389】
4) 複数のメモリマクロをワンチップに搭載したメモリ混載ロジックLSIにおいて、2つ以上又は全てのメモリマクロを同時に選択し、テストする場合に、選択されたメモリマクロに同一のデータを書き込み、それを読み出すことにし、また、ロジック部に、選択されたメモリマクロの出力信号を合成し、かつ、選択されたメモリマクロの出力信号が互いに一致しているか否かを示すビットを生成する出力合成回路を設けている(例えば、図18の例に相当)。
【0390】
このように、簡単な構成のテスト回路により、全てのメモリマクロを同時にテストできるため、テスト時間の大幅な短縮と製造コストの低減に貢献できる。
【0391】
5) nビットの通常出力を有するメモリマクロにおいて、sビット(1≦s≦n)単位でデータを読み出し、メモリマクロのダイレクトテストを行う場合に、このsビットのデータをj組(jは、2以上の自然数)だけ読み出し、各組の間でsビットのデータを比較し、各組のsビットのデータが一致しているか又は不一致であるかを示すビットを生成し、これをメモリマクロ外に出力している(例えば、図21、図22の例に相当)。
【0392】
この場合、例えば、メモリマクロ内のnビットのデータを1度でテストすることも可能であり、テスト時間を大幅に削減できる。
【0393】
6) 4)と5)を同時に達成できる出力合成回路をメモリマクロ外に配置することで、各メモリマクロ内でのデータの比較と、複数のメモリマクロ間でのデータの比較を一度に行い、テスト時間を大幅に短縮できる(例えば、図23の例に相当)。
【0394】
7) 各メモリマクロ内で、読み出されたデータと期待値を比較し、その比較結果を出力する回路を設けることで、各メモリマクロ間の比較結果を合成する回路を論理積などの簡単な回路で構成でき、配線数が削減され、配線ミスもなくなり、設計負担が大幅に軽減される(例えば、図28の例に相当)。
【図面の簡単な説明】
【図1】メモリ混載ロジックLSIのフロアプランの一例を示す図。
【図2】メモリマクロのテスト回路の第1例を示す図。
【図3】メモリマクロのテスト回路の第2例を示す図。
【図4】図3のメモリマクロのインターフェイス部の一例を示す図。
【図5】図4の出力制御回路の一例を示す図。
【図6】メモリマクロのテスト回路の第3例を示す図。
【図7】図6のメモリマクロのインターフェイス部の一例を示す図。
【図8】図7の入出力レジスタの一例を示す図。
【図9】メモリマクロのテスト回路の第4例を示す図。
【図10】メモリマクロのテスト回路の第5例を示す図。
【図11】マクロ選択回路の一例を示す図。
【図12】マクロ選択回路の他の例を示す図。
【図13】マクロID生成回路の一例を示す図。
【図14】マクロID生成回路の他の例を示す図。
【図15】テスト制御ブロック内のマクロID生成回路を示す図。
【図16】図15のマクロID生成回路の一例を示す図。
【図17】図9のテスト回路の変形例を示す図。
【図18】メモリマクロのテスト回路の第6例を示す図。
【図19】図18の出力合成回路の一例を示す図。
【図20】図19のコンパレータの一例を示す図。
【図21】メモリマクロのテスト回路の第7例を示す図。
【図22】図21のインターフェイス部の一例を示す図。
【図23】メモリマクロのテスト回路の第8例を示す図。
【図24】図23の出力合成回路の一例を示す図。
【図25】図24のコンパレータの一例を示す図。
【図26】図23の出力合成回路の他の例を示す図。
【図27】図26のコンパレータの一例を示す図。
【図28】メモリマクロのテスト回路の第9例を示す図。
【図29】図28のインターフェイス部の変形例を示す図。
【符号の説明】
10 :半導体チップ、
11 :ロジック部、
12A,12B,12C,12D :メモリマクロ、
13 :パッド部、
14A,14B,14C,14D :インターフェイス部、
15A,15B,15C,15D :テスト制御ブロック、
16,16TI,16TO :パッド、
17A,17B,17C,17D,36 :マクロ選択回路、
18 :出力選択回路、
18A,18B :出力合成回路、
19,75 :マルチプレクサ、
20A〜20D,30A〜30D,37 :マクロID生成回路、
21 :入力信号線、
22A,22B,22C,22D :第1の出力信号線、
23 :第2の出力信号線、
25−0〜25−k :I/Oレジスタブロック、
26−0〜26−7 :入出力レジスタ、
27,80 :スイッチ、
28 :出力バッファ、
29 :入力バッファ、
30[0],30[1],40[0],40[1] :エクスクルーシブノア回路、
31,33a,33b,41,50,51−0〜51−7,53,59,60−0〜60−7,64,65,71−0〜71−8,73 :アンド回路、
32,39,49,58−0〜58−7 :インバータ回路、
34a,34b,55 :ノア回路、
43,54,56,68,70,76,78 :NAND回路、
35,45 :NAND RSラッチ回路、
38 :エクスクルーシブオア回路、
47,57−0〜57−7,66−0〜66−3,74,77 :オア回路、
48 :マクロ出力制御回路、
52−0〜52−7,63−0〜63−7,72−0〜72−7 :コンパレータ。
Claims (2)
- ワンチップ内に配置され、半導体メモリの機能を有するm個(m=2,3,… 以下、同じ)のメモリマクロと、前記m個のメモリマクロに対応して設けられるm個のインターフェイス部と、前記m個のメモリマクロに対応して設けられるm個のテスト制御ブロックと、前記m個のメモリマクロの外部の前記ワンチップ内に配置される出力合成回路とを具備し、
前記m個のメモリマクロの各々は、k(k=1,2,3,… )個のブロックを有し、前記k個のブロックの各々からn0(n0=1,2,3,… )ビットのデータを出力し、
前記m個のインターフェイス部の各々は、前記k個のブロックの間で前記n0ビットのデータを比較し、それらの一致/不一致を示すPASS/FAILビットを出力すると共に、前記k個のブロックの各々から出力される前記n0ビットのデータ(合計n0×kビットのデータ)をn0ビットのデータに圧縮し、
前記m個のテスト制御ブロックの各々は、それに対応するメモリマクロを選択するための制御信号を生成するマクロ選択回路を有し、選択されたメモリマクロに対応するテスト制御ブロックから前記圧縮されたn0ビットのデータを出力し、
前記m個のメモリマクロの全てが選択され、
前記出力合成回路は、前記選択された全てのメモリマクロの間で前記圧縮されたn0ビットのデータ(合計n0×mビットのデータ)をn0ビットのデータに合成すると共に、前記選択された全てのメモリマクロの間で前記圧縮されたn0ビットのデータを比較し、それらが一致し、かつ、前記選択された全てのメモリマクロに対応する前記m個のインターフェイス部の各々から出力される前記PASS/FAILビットの全てが前記一致を示しているときに、前記一致を示す前記PASS/FAILビットを出力する
ことを特徴とするメモリ混載ロジックLSI。 - 前記PASS/FAILビットが一致を示しているときに、前記出力合成回路から出力される前記合成されたn0ビットのデータを期待値と比較することを特徴とする請求項1に記載のメモリ混載ロジックLSI。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP30755898A JP4601737B2 (ja) | 1998-10-28 | 1998-10-28 | メモリ混載ロジックlsi |
| US09/405,128 US6601199B1 (en) | 1998-10-28 | 1999-09-24 | Memory-embedded LSI |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP30755898A JP4601737B2 (ja) | 1998-10-28 | 1998-10-28 | メモリ混載ロジックlsi |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2000133000A JP2000133000A (ja) | 2000-05-12 |
| JP4601737B2 true JP4601737B2 (ja) | 2010-12-22 |
Family
ID=17970542
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP30755898A Expired - Fee Related JP4601737B2 (ja) | 1998-10-28 | 1998-10-28 | メモリ混載ロジックlsi |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US6601199B1 (ja) |
| JP (1) | JP4601737B2 (ja) |
Families Citing this family (52)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4388641B2 (ja) * | 1999-09-10 | 2009-12-24 | 富士通マイクロエレクトロニクス株式会社 | 集積回路の試験装置 |
| JP2002237198A (ja) * | 2001-02-09 | 2002-08-23 | Mitsubishi Electric Corp | 半導体記憶回路装置並びにその検査方法及びセル不良救済方法 |
| US6909655B2 (en) | 2001-07-23 | 2005-06-21 | Niigata Seimitsu Co., Ltd. | Integrated circuit |
| JP2003037170A (ja) * | 2001-07-23 | 2003-02-07 | Niigata Seimitsu Kk | 集積回路 |
| KR100465875B1 (ko) * | 2002-06-07 | 2005-01-13 | 삼성전자주식회사 | 내장 메모리 소자들의 패드 연결구조 |
| JP2004234770A (ja) * | 2003-01-31 | 2004-08-19 | Renesas Technology Corp | 半導体記憶装置とテスト方法 |
| JP4051008B2 (ja) | 2003-07-15 | 2008-02-20 | 松下電器産業株式会社 | 半導体装置 |
| US7418637B2 (en) * | 2003-08-07 | 2008-08-26 | International Business Machines Corporation | Methods and apparatus for testing integrated circuits |
| JP4737929B2 (ja) | 2003-12-12 | 2011-08-03 | 株式会社東芝 | 半導体記憶装置 |
| JP4387250B2 (ja) * | 2004-06-23 | 2009-12-16 | パナソニック株式会社 | 半導体記憶装置 |
| JP2006060109A (ja) * | 2004-08-23 | 2006-03-02 | Matsushita Electric Ind Co Ltd | 半導体装置の識別コード作成方法および半導体装置の識別方法並びに半導体装置 |
| JP4791733B2 (ja) * | 2005-01-14 | 2011-10-12 | 株式会社東芝 | 半導体集積回路装置 |
| KR101260632B1 (ko) * | 2005-09-30 | 2013-05-03 | 모사이드 테크놀로지스 인코퍼레이티드 | 출력 제어 메모리 |
| US20070165457A1 (en) * | 2005-09-30 | 2007-07-19 | Jin-Ki Kim | Nonvolatile memory system |
| US11948629B2 (en) | 2005-09-30 | 2024-04-02 | Mosaid Technologies Incorporated | Non-volatile memory device with concurrent bank operations |
| US7652922B2 (en) | 2005-09-30 | 2010-01-26 | Mosaid Technologies Incorporated | Multiple independent serial link memory |
| US7747833B2 (en) * | 2005-09-30 | 2010-06-29 | Mosaid Technologies Incorporated | Independent link and bank selection |
| US20070076502A1 (en) * | 2005-09-30 | 2007-04-05 | Pyeon Hong B | Daisy chain cascading devices |
| JP4799157B2 (ja) * | 2005-12-06 | 2011-10-26 | エルピーダメモリ株式会社 | 積層型半導体装置 |
| JP4796850B2 (ja) * | 2006-01-18 | 2011-10-19 | 富士通セミコンダクター株式会社 | メモリ試験方法 |
| JP2007213654A (ja) * | 2006-02-07 | 2007-08-23 | Nec Electronics Corp | 半導体装置 |
| US8069328B2 (en) * | 2006-03-28 | 2011-11-29 | Mosaid Technologies Incorporated | Daisy chain cascade configuration recognition technique |
| US8335868B2 (en) * | 2006-03-28 | 2012-12-18 | Mosaid Technologies Incorporated | Apparatus and method for establishing device identifiers for serially interconnected devices |
| US8364861B2 (en) * | 2006-03-28 | 2013-01-29 | Mosaid Technologies Incorporated | Asynchronous ID generation |
| US7551492B2 (en) | 2006-03-29 | 2009-06-23 | Mosaid Technologies, Inc. | Non-volatile semiconductor memory with page erase |
| US7802064B2 (en) * | 2006-03-31 | 2010-09-21 | Mosaid Technologies Incorporated | Flash memory system control scheme |
| US8407395B2 (en) * | 2006-08-22 | 2013-03-26 | Mosaid Technologies Incorporated | Scalable memory system |
| US7904639B2 (en) | 2006-08-22 | 2011-03-08 | Mosaid Technologies Incorporated | Modular command structure for memory and memory system |
| JP4791924B2 (ja) * | 2006-09-22 | 2011-10-12 | 株式会社東芝 | 半導体記憶装置 |
| US8700818B2 (en) * | 2006-09-29 | 2014-04-15 | Mosaid Technologies Incorporated | Packet based ID generation for serially interconnected devices |
| US7817470B2 (en) * | 2006-11-27 | 2010-10-19 | Mosaid Technologies Incorporated | Non-volatile memory serial core architecture |
| US8271758B2 (en) * | 2006-12-06 | 2012-09-18 | Mosaid Technologies Incorporated | Apparatus and method for producing IDS for interconnected devices of mixed type |
| US8331361B2 (en) | 2006-12-06 | 2012-12-11 | Mosaid Technologies Incorporated | Apparatus and method for producing device identifiers for serially interconnected devices of mixed type |
| US7853727B2 (en) * | 2006-12-06 | 2010-12-14 | Mosaid Technologies Incorporated | Apparatus and method for producing identifiers regardless of mixed device type in a serial interconnection |
| US7818464B2 (en) * | 2006-12-06 | 2010-10-19 | Mosaid Technologies Incorporated | Apparatus and method for capturing serial input data |
| US8010709B2 (en) * | 2006-12-06 | 2011-08-30 | Mosaid Technologies Incorporated | Apparatus and method for producing device identifiers for serially interconnected devices of mixed type |
| US7529149B2 (en) * | 2006-12-12 | 2009-05-05 | Mosaid Technologies Incorporated | Memory system and method with serial and parallel modes |
| US8984249B2 (en) | 2006-12-20 | 2015-03-17 | Novachips Canada Inc. | ID generation apparatus and method for serially interconnected devices |
| US8010710B2 (en) | 2007-02-13 | 2011-08-30 | Mosaid Technologies Incorporated | Apparatus and method for identifying device type of serially interconnected devices |
| JP5385156B2 (ja) * | 2007-02-16 | 2014-01-08 | モサイド・テクノロジーズ・インコーポレーテッド | 半導体デバイスおよび複数の相互接続デバイスを有するシステムの電力消費を低減するための方法 |
| US7796462B2 (en) | 2007-02-22 | 2010-09-14 | Mosaid Technologies Incorporated | Data flow control in multiple independent port |
| US8046527B2 (en) | 2007-02-22 | 2011-10-25 | Mosaid Technologies Incorporated | Apparatus and method for using a page buffer of a memory device as a temporary cache |
| US8086785B2 (en) | 2007-02-22 | 2011-12-27 | Mosaid Technologies Incorporated | System and method of page buffer operation for memory devices |
| JP2008269692A (ja) * | 2007-04-19 | 2008-11-06 | Matsushita Electric Ind Co Ltd | 半導体装置およびその検査方法 |
| US7913128B2 (en) | 2007-11-23 | 2011-03-22 | Mosaid Technologies Incorporated | Data channel test apparatus and method thereof |
| US7983099B2 (en) | 2007-12-20 | 2011-07-19 | Mosaid Technologies Incorporated | Dual function compatible non-volatile memory device |
| US7940572B2 (en) | 2008-01-07 | 2011-05-10 | Mosaid Technologies Incorporated | NAND flash memory having multiple cell substrates |
| JP2009283515A (ja) * | 2008-05-19 | 2009-12-03 | Panasonic Corp | 半導体集積回路 |
| US8037235B2 (en) * | 2008-12-18 | 2011-10-11 | Mosaid Technologies Incorporated | Device and method for transferring data to a non-volatile memory device |
| US8194481B2 (en) * | 2008-12-18 | 2012-06-05 | Mosaid Technologies Incorporated | Semiconductor device with main memory unit and auxiliary memory unit requiring preset operation |
| US9103994B2 (en) | 2012-01-31 | 2015-08-11 | Corning Cable Systems Llc | Optical fiber guide apparatuses for splice connector installation tools, and related assemblies and methods |
| JP2016170747A (ja) * | 2015-03-16 | 2016-09-23 | セイコーエプソン株式会社 | 半導体集積回路装置及びそれを用いた電子機器 |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4849904A (en) * | 1987-06-19 | 1989-07-18 | International Business Machines Corporation | Macro structural arrangement and method for generating macros for VLSI semiconductor circuit devices |
| JPH01293650A (ja) * | 1988-05-23 | 1989-11-27 | Nec Corp | 集積回路 |
| JP2790861B2 (ja) * | 1989-07-28 | 1998-08-27 | 沖電気工業株式会社 | 半導体記憶装置 |
| JPH03261000A (ja) * | 1990-03-12 | 1991-11-20 | Fujitsu Ltd | ウェーハメモリの欠陥救済方式 |
| JPH04211160A (ja) * | 1990-03-20 | 1992-08-03 | Mitsubishi Electric Corp | 半導体記憶装置 |
| JPH07262797A (ja) * | 1994-02-02 | 1995-10-13 | Hitachi Ltd | 半導体集積回路装置 |
| US5961653A (en) * | 1997-02-19 | 1999-10-05 | International Business Machines Corporation | Processor based BIST for an embedded memory |
| US5982189A (en) * | 1997-05-14 | 1999-11-09 | International Business Machines Corporation | Built-in dynamic stress for integrated circuits |
| TW392307B (en) * | 1998-01-13 | 2000-06-01 | Mitsubishi Electric Corp | A method of the manufacture and the setup of the semiconductor apparatus |
| JPH11297095A (ja) * | 1998-04-13 | 1999-10-29 | Hitachi Ltd | 半導体記憶装置 |
-
1998
- 1998-10-28 JP JP30755898A patent/JP4601737B2/ja not_active Expired - Fee Related
-
1999
- 1999-09-24 US US09/405,128 patent/US6601199B1/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| US6601199B1 (en) | 2003-07-29 |
| JP2000133000A (ja) | 2000-05-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4601737B2 (ja) | メモリ混載ロジックlsi | |
| JP3076185B2 (ja) | 半導体メモリ装置及びその検査方法 | |
| US7478301B2 (en) | Partial good integrated circuit and method of testing same | |
| US6307801B1 (en) | Trimming circuit for system integrated circuit | |
| CN102403042B (zh) | 基于锁存器的存储器设备 | |
| KR20010098681A (ko) | 반도체집적회로 및 설계방법 및 제조방법 | |
| JP2001325800A (ja) | 半導体集積回路装置および製造方法 | |
| KR100286491B1 (ko) | 반도체장치와 반도체장치의 검사방법 및 반도체장치의 검사장치 | |
| JPS6231439B2 (ja) | ||
| KR0160325B1 (ko) | 비트 단위 데이타의 입력 및 출력용 반도체 메모리 장치 | |
| US20030116763A1 (en) | Semiconductor integrated circuit device | |
| US5369646A (en) | Semiconductor integrated circuit device having test circuit | |
| JPWO2000062339A1 (ja) | 半導体集積回路およびそのテスト方法並びに製造方法 | |
| US6868021B2 (en) | Rapidly testable semiconductor memory device | |
| JP3913413B2 (ja) | 半導体装置 | |
| US6662315B1 (en) | Parallel test in asynchronous memory with single-ended output path | |
| JP3237579B2 (ja) | メモリテスト回路 | |
| US7379349B2 (en) | Simultaneous and selective memory macro testing | |
| JP2002107424A (ja) | 半導体集積回路 | |
| KR940011428B1 (ko) | 반도체 기억장치의 테스트 회로 | |
| JP3538334B2 (ja) | メモリテスト方法、メモリテスト回路及び半導体集積回路 | |
| JP3099739B2 (ja) | 半導体記憶装置 | |
| US6034880A (en) | Embedded memory device and method of performing a burn-in process on the embedded memory device | |
| JP2007272982A (ja) | 半導体記憶装置およびその検査方法 | |
| JP2008204555A (ja) | 半導体装置及び半導体装置の検査方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050217 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071101 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080226 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080428 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090512 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090713 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100511 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100707 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100907 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100929 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131008 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131008 Year of fee payment: 3 |
|
| LAPS | Cancellation because of no payment of annual fees |