JP5194890B2 - 半導体集積回路 - Google Patents

半導体集積回路 Download PDF

Info

Publication number
JP5194890B2
JP5194890B2 JP2008054413A JP2008054413A JP5194890B2 JP 5194890 B2 JP5194890 B2 JP 5194890B2 JP 2008054413 A JP2008054413 A JP 2008054413A JP 2008054413 A JP2008054413 A JP 2008054413A JP 5194890 B2 JP5194890 B2 JP 5194890B2
Authority
JP
Japan
Prior art keywords
output
signal
input
data
test
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
JP2008054413A
Other languages
English (en)
Other versions
JP2009210449A (ja
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.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor 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 Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2008054413A priority Critical patent/JP5194890B2/ja
Priority to US12/396,745 priority patent/US7913138B2/en
Publication of JP2009210449A publication Critical patent/JP2009210449A/ja
Application granted granted Critical
Publication of JP5194890B2 publication Critical patent/JP5194890B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31725Timing aspects, e.g. clock distribution, skew, propagation delay
    • G01R31/31726Synchronization, e.g. of test, clock or strobe signals; Signals in different clock domains; Generation of Vernier signals; Comparison and adjustment of the signals
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31712Input or output aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

本発明は、テスト機能を有する半導体集積回路に関する。
近年、トランジスタ等の素子構造が微細化され、1つのチップに搭載される回路規模が増加している。これに伴い、システムの機能を1つのチップで実現するシステムLSIが開発されている。一般に、システムLSIは、メモリやコントローラ等の機能ブロック(ハードマクロ)と、ユーザ独自の機能を実現するために機能ブロックに接続されるユーザブロック(ユーザロジック)とを有している。
論理ゲートの数が増加するに伴い、システムLSIのテスト時間は長くなり、テストコストは増加する。テストコストを削減するために、様々なテスト手法が提案されている(例えば、特許文献1参照)。例えば、ユーザが独自に設計したユーザブロックをテストするために(縮退故障の検出)、デイジーチェーン接続されたフリップフロップを用いるスキャンパステストが提案されている。メモリマクロ等の機能ブロックをテストするために、システムLSIにBIST(Built−In Self Test)回路を搭載する手法が提案されている。このように、ユーザブロックのテストと機能ブロックのテストは、互いに独立して効率化が図られている。
特開2006−4509号公報
機能ブロックの入力側および出力側にユーザブロックがそれぞれ接続されるとき、チップ全体の動作タイミングを正しく評価するためには、機能ブロックの遅延時間(処理時間)を考慮して出力側のユーザブロックをテストする必要がある。このためには、機能ブロックからの出力信号をテストパターンとして出力側のユーザブロックに供給しなくてはならない。しかしながら、機能ブロックからテストパターンを出力させるためには、入力側のユーザブロックを介して機能ブロックに複雑なテストパターンを供給しなくてはならない。この結果、テストパターンの数が増加し、テストコストが増加するという問題がある。
本発明の目的は、機能ブロックの出力を受けて動作する回路のテストを簡易なテストパターンを用いて実施し、テストコストを削減することである。
データ入力部は、外部データ入力端子に供給される入力データ信号を受ける。記憶部は、データ入力部で受けた入力データ信号を保持する。タイミング生成部は、出力要求信号に応答してタイミング信号を生成する。データ出力部は、記憶部に保持された入力データ信号をタイミング信号に同期して出力データ信号として出力する。テスト出力制御部は、データ入力部で受けた入力データ信号をタイミング信号に同期して出力する。データセレクタは、通常動作モード中に、データ出力部からの出力データ信号を外部データ出力端子に出力し、テストモード中に、テスト出力制御部からの入力データ信号を外部データ出力端子に出力する。
テストモード中に、外部データ入力端子で受けた入力データ信号を、実際の記憶部の動作タイミングに合わせて、出力データ信号として外部データ出力端子に出力できる。少ない入力信号と簡易な回路を用いて、メモリセルにデータを書き込むことなく出力データ信号を生成できるため、簡易なテストパターンを用いて、出力データ信号を生成できる。この結果、出力データ信号を受けて動作する回路のテストを簡易なテストパターンを用いて実施でき、テストコストを削減できる。
以下、実施形態を図面を用いて説明する。図中、太線で示した信号線は、複数本を有している。また、太線が接続されているブロックの一部は、複数の回路を有している。信号が伝達される信号線には、信号名と同じ符号を使用する。信号が伝達される信号線には、信号名と同じ符号を使用する。先頭に”/”の付く信号は、負論理を示している。図中の二重の四角印は、外部端子を示している。外部端子は、例えば、ハードマクロの端子、半導体チップ上のパッド、あるいは半導体チップが収納されるパッケージのリードである。外部端子を介して供給される信号には、端子名と同じ符号を使用する。
図1は、一実施形態におけるメモリマクロMMを示している。例えば、メモリマクロMMは、ハードマクロ(機能ブロック)として設計される。メモリマクロMMは、図2に示すように、ユーザロジック部UL1、UL2等ともに、システムSYS(半導体集積回路チップ)に搭載される。メモリマクロMMは、アドレス選択部10、コマンドデコーダ12、タイミング生成部14、データ入力バッファ16、フリップフロップF/F、データセレクタDSELおよびメモリコアCOREを有している。
アドレス選択部10は、入力アドレス信号IAをタイミング信号RASに同期して受け、内部アドレス信号ADDとしてメモリコアCOREに出力する。アドレス選択部10は、アドレス信号IAのデコード機能(アドレスデコーダ)を有していてもよい。このとき、内部アドレス信号は、アドレスデコード信号である。アドレスデコーダは、メモリコアCOREに設けてもよい。また、アドレス選択部10は、クロック信号CKに同期して動作するアドレスバッファを介して入力アドレス信号IAを受けてもよい。
コマンドデコーダ12は、クロック信号CKに同期してライトイネーブル信号/WEを受け、タイミング信号RASに同期してアクティブ信号ACTPおよび読み書き制御信号RWPを出力する。すなわち、メモリマクロMMは、クロック信号CLKのサイクル毎に書き込み動作または読み出し動作を実行する。アクティブ信号ACTPは、高レベルのパルス信号である。読み書き制御信号RWPは、書き込みコマンドに応答して高レベルに変化し、読み出しコマンドに応答して低レベルに変化する。
なお、メモリマクロMMに図示しないクロックイネーブル信号CKEを供給し、コマンドデコーダ12を、図示しないクロックイネーブル信号CKEが高レベルの間のみ動作してもよい。このとき、コマンドデコーダ12は、クロックイネーブル信号CKEが低レベル間、タイミング信号RAS、アクティブ信号ACTPおよび読み書き制御信号RWPの出力を停止する。具体的には、これ等信号RAS、ACTP、RWPは、クロックイネーブル信号CKEが低レベル間、低レベルに保持される。メモリマクロMMは、クロックイネーブル信号CKEが高レベルの間に、クロック信号CLKのサイクル毎に書き込み動作または読み出し動作を実行する。メモリマクロMMは、クロックイネーブル信号CKEが低レベルの間に、スタンバイ状態に設定され、書き込み動作および読み出し動作の実行を禁止する。
タイミング生成部14は、入力データラッチ信号IDLATまたは出力データラッチ信号ODLAT(タイミング信号)を出力するための遅延回路IDLY、ODLYを有している。遅延回路IDLY、ODLYを示す四角枠の長さは、相対的な遅延時間の長さを示している。遅延回路IDLYは、ライトイネーブル信号/WEが低レベルのときに、アクティブ信号ACTPを所定時間遅延させ、入力データラッチ信号IDLATとして出力する。遅延回路ODLYは、ライトイネーブル信号/WEが高レベルのときに、アクティブ信号ACTPを所定時間遅延させ、出力データラッチ信号ODLATとして出力する。高レベルのアクティブ信号ACTVおよび低レベルのライトイネーブル信号/WEは、書き込みコマンド(入力要求信号)を示す。高レベルのアクティブ信号ACTVおよび高レベルのライトイネーブル信号/WEは、読み出しコマンド(出力要求信号)を示す。また、タイミング生成部14は、アクティブ信号ACTPおよび読み書き制御信号RWPに応じて、メモリセルアレイARYを動作するための動作制御信号OPCNT(ワード線の活性化信号やビット線のプリチャージ停止信号)を出力する。
データ入力バッファ16(データ入力部)は、クロック信号CLKに同期して外部データ入力端子IDで入力データ信号ID(書き込みデータ)を受け、受けた信号を内部入力データ信号DINとして出力する。
フリップフロップF/F(テスト出力制御部)は、データ入力バッファ16で受けた内部入力データ信号DINの論理レベルを出力データラッチ信号ODLATに同期してラッチし、テスト出力データ信号TDOUTとして出力する。フリップフロップF/Fは、複数ビットを有する内部入力データ信号DINの少なくとも1ビットをラッチする。なお、フリップフロップF/Fは、テストモード中のみ、出力データラッチ信号ODLATに応答して動作してもよい。通常動作モード中に出力データラッチ信号ODLATの入力を禁止することで、通常動作モード中の消費電力を削減できる。
データセレクタDSELは、バイパスモード信号BPが低レベル(”0”)のとき(通常動作モード)、リードアンプRAからの出力データ信号DOUT(読み出しデータ)を外部データ出力端子ODに出力する。データセレクタDSELは、バイパスモード信号BPが高レベル(”1”)のとき(テストモード)、フリップフロップF/Fからのテスト出力データ信号TDOUT(=内部入力データ信号DIN)を外部データ出力端子ODに出力する。バイパスモード信号BPは、後述するバイパステストを実施するときに高レベルに設定される。なお、データセレクタDSELは、フリップフロップF/Fが内部入力データ信号DINの1ビットのみを受けるとき、対応する出力データ信号DOUTの1ビットとテスト出力データ信号TDOUT(1ビット)を受けて動作する。このとき、出力データ信号DOUTの他のビットは、データセレクタDSELを介することなく外部データ出力端子ODに直接出力される。
メモリコアCOREは、メモリセルアレイARY(記憶部)、ライトアンプWAおよびリードアンプRAを有している。メモリセルアレイARYは、マトリックス状に配置され、入力データ信号IDを保持する複数のメモリセルMCを有している。例えば、メモリセルMCはラッチを有しており、メモリセルアレイARYはSRAMとして動作する。図示していないが、メモリセルアレイARYは、例えば、図の横方向に並ぶメモリセルMCの各列に接続されたワード線と、図の縦方向に並ぶメモリセルMCの各列に接続されたビット線とを有している。なお、メモリセルアレイARYの端(図の上側または下側)に、ビット線を介してメモリセルMCから読み出されるデータ信号を増幅するためのセンスアンプを形成してもよい。
メモリセルアレイARYは、読み出しコマンドに応答してタイミング制御部14から出力される動作制御信号OPCNTにより動作を開始する。具体的には、メモリセルアレイARYは、動作制御信号OPCNTに応答してビット線のプリチャージを停止し、アドレス信号ADDにより選択されるワード線を活性化し、活性化されたワード線に接続されたメモリセルMCに保持されているデータをビット線に出力する。ビット線に出力されたデータ信号は、リードアンプRAに伝達される。メモリセルアレイARYは、動作制御信号OPCNTに応じて、クロック信号CLKに非同期で動作する。このため、読み出しコマンドからリードアンプRAが読み出しデータを出力するまでの動作は、クロック信号CLKに非同期で実施される。
ライトアンプWAは、入力データラッチ信号IDLATに同期して内部入力データ信号DINの論理レベルをラッチし、ラッチした信号をメモリセルMCに書き込む。リードアンプRA(データ出力部)は、メモリセルMCから読み出される出力データ信号を増幅し、増幅した信号の論理レベルを出力データラッチ信号ODLATに同期してラッチして保持し、保持している信号を出力データ信号DOUTとして出力する。メモリセルアレイARYがセンスアンプを有するとき、センスアンプは、メモリセルMCからビット線に読み出されたデータ信号の電圧値を増幅し、リードアンプRAは、データ信号を負荷の大きい出力データ信号線DOUTに出力するために、センスアンプからのデータ信号の信号量(駆動能力)を増幅する。
この実施形態では、例えば、フリップフロップF/FからデータセレクタDSELまで出力データ信号TDOUT(=入力データ信号DIN)を伝達する出力データ信号線TDOUT(テスト信号線)の負荷は、リードアンプRAからデータセレクタDSELまで出力データ信号DOUTを伝達する出力データ信号線DOUT(通常信号線)の負荷と等しく設計されている。例えば、信号線TDOUT、DOUTは同じ構造を有しており、それらの配線長は互いに等しい。これにより、テスト出力データ信号TDOUTのデータセレクタDSELへの到達タイミングを、出力データ信号DOUTのデータセレクタDSELへの到達タイミングと同じにできる。したがって、図5および図6に示すように、ユーザモード(通常動作モード)とロジックテストモードとで、メモリマクロMMのアクセス時間TA(動作タイミング)を等しくできる。すなわち、簡易なテストパターンで、メモリマクロMMを擬似的に動作できる。
図2は、図1に示したメモリマクロMMが搭載されるシステムSYSの例を示している。例えば、システムSYSは、システムオンチップSOC(システムLSI)として1つのチップ(半導体集積回路)内に形成される。システムSYSは、ユーザロジック部UL1、UL2(ユーザブロック)、メモリマクロMM、メモリテスト部MTSTおよびテスト制御部TCNTを有している。図2は、発明の最小構成を示している。SOCは、図2に示した以外に、CPUや、DMAC、メモリコントローラ等の他のハードマクロを有してもよい。
ユーザロジック部UL1、UL2は、ユーザが独自に設計する論理回路である。ユーザロジック部UL1、UL2は、デイジーチェーン接続された複数のスキャンレジスタ(Xを付けた四角印)を有している。スキャンレジスタは、フリップフロップを含む。フリップフロップは、スキャンパスSP1に接続され、テストモード中にテスト制御部TCNTから出力されるシリアルテストデータを順次に転送する。なお、フリップフロップは、ユーザにより設計されたユーザ回路を流用してもよく、ユーザロジック部UL1、UL2にテスト回路として挿入してもよい。
メモリテスト部MTSTは、メモリマクロMMをテストするための制御回路(図3のPATG、CHK)と、ユーザロジック部UL1、UL2をテストするためにデイジーチェーン接続された複数のスキャンレジスタ(Xを付けた四角印)を有している。スキャンレジスタのフリップフロップは、スキャンパスSP2に接続され、テストモード中にテスト制御部TCNTから出力されるシリアルテストデータを順次に転送する。なお、スキャンパスSP1、SP2は、直列に接続されてもよい。
テスト制御部TCNTは、ユーザロジック部UL1、UL2をテストするための制御回路を有する。例えば、テスト制御部TCNTは、ユーザロジック部UL1、UL2をテストするためのロジックテストモード中に、図3に示す出力レジスタREG4−REG6に保持された信号/WE、IA、ID等をスキャンパスSP2を介して受け、受けた信号を期待値と比較することで、ユーザロジック部UL1の不良を検出する。また、テスト制御部TCNTは、ロジックテストモード中に、テスト用の入力データ信号をスキャンパスSP1を介して図3に示す入力レジスタREG1−REG3に設定する。テスト制御部TCNTは、ロジックテストモード中に、図3に示す出力レジスタREG8に保持されたユーザ出力信号OD0をスキャンパスSP1を介して受け、受けた信号を期待値と比較することで、ユーザロジック部UL2の不良を検出する。なお、テスト制御部TCNTは、ロジックテストモード中に、図3に示すレジスタREG7に保持されたデータ出力信号ODをスキャンパスSP2を介して受けることで、メモリマクロMMの不良を検出できる。
この例では、バイパスモード信号BPは、SOCの外部から供給される。バイパスモード信号BPは、SOCのテスト時のみ使用される。具体的には、バイパスモード信号BPは、LSIテスタなどのテストシステムや、SOCとともにシステムSYSに搭載される機能ブロック(マクロ)のテスト制御回路から出力される。SOCのテストは、SOCの製造工程で実施される。そして、良品を選別することで、SOCが製造される。なお、SOCのテストは、SOCがシステムSYSに搭載された後にシステムSYS上で実施されてもよい。テストの完了後、バイパスモード端子BPは、例えば、システム基板上で接地線に接続される。
図3は、図2に示したシステムSYSの要部の詳細を示している。ユーザロジック部UL1は、スキャンパスSP1に接続されたスキャンレジスタREG1−REG3、セレクタS1−S3およびユーザロジック回路L1−L3(入力ユーザロジック回路)を有している。図では、レジスタREG1−REG3とスキャンパスSP1との接続を簡略化して記載しているが、実際には、レジスタREG1−REG3は、メモリテスト部MTSTのレジスタREG4−REG6と同様に、スキャンパスSP1を介して直列に接続されている。レジスタREG1−REG3は、レジスタREG4−REG6(図4)と同様に、スキャンマルチプレクサとフリップフロップとを有している。
レジスタREG1−REG3(入力レジスタ)は、ユーザロジック回路L1−L3のテスト時にテスト入力信号(テストパターン)を保持するために使用される。具体的には、ロジックテストモード中、レジスタREG1は、ユーザロジック回路L1を用いてライトイネーブル信号/WEを生成するために制御信号WE0の論理を保持し、出力するテスト回路として動作する。レジスタREG2は、ユーザロジック回路L2を用いてアドレス信号IAを生成するために制御信号IA0の論理を保持し、出力するテスト回路として動作する。レジスタREG3は、ユーザロジック回路L3を用いてデータ信号IDを生成するために制御信号ID0の論理を保持し、出力するテスト回路として動作する。例えば、ユーザロジック回路L3は、ロジックテストモード中に、レジスタREG3からのテスト入力信号(ID0)を受けて動作し、入力データ信号IDを生成し、生成した入力データ信号IDをセレクタS6を介して外部データ入力端子IDに出力する。
なお、レジスタREG1−REG3に保持している論理をユーザロジック回路L1−L3を介することなく、メモリマクロMMの外部入力端子に直接供給してもよい。このとき、レジスタREG1−REG3に保持される信号値をメモリマクロMMに直接供給し、ユーザロジック回路L4をテストできる。セレクタS1−S3は、ロジックテストモード中にレジスタREG1−REG3の出力を選択し、通常動作モード中に図示しない別の回路の出力を選択する。また、ユーザロジック回路L1−L3は、レジスタREG1−3からの信号WE0、IA0、ID0以外の信号を受けてもよい。
メモリテスト部MTST(BIST回路)は、パターン生成回路PATG、セレクタS4−S7、スキャンレジスタREG4−REG7およびチェック回路CHKを有している。パターン生成回路PATGは、メモリマクロMMをテストするためのテストパターンを生成する。具体的には、パターン生成回路PATGは、マクロテストモード中に、ライトイネーブル信号/WE、アドレス信号IAおよび書き込みデータ信号IDをテストパターンとして生成する。
セレクタS4−S7は、通常動作モード中またはロジックテストモード中に、ユーザロジック部UL1からの信号をメモリマクロMMに供給する。セレクタS1−S4は、メモリマクロMMをテストするためのマクロテストモード中に、パターン生成回路PATGからのテストパターンをメモリマクロMMに供給する。
レジスタREG4−REG7は、スキャンパスSP2に接続されている。レジスタREG4−REG6は、ロジックテストモード中に、ユーザロジック部UL1およびユーザロジック回路L1に接続された信号線の不良を検出するためにユーザロジック部UL1からの出力信号を保持する。レジスタREG7は、ロジックテストモード中に、ユーザロジック部UL2に供給する入力テストパターンを保持し、マクロテストモード中に、メモリマクロMMからの読み出しデータ信号を保持する。レジスタREG4−REG7に保持された情報は、スキャンパスSP2を介してテスト制御部TCNTに転送され、期待値と比較される。また、レジスタREG7に設定される入力テストパターンは、スキャンパスSP2を介してテスト制御部TCNTから転送される。
なお、ユーザロジック回路L1からメモリマクロMMまでの信号線の長さと、ユーザロジック回路L1からレジスタREG4までの信号線の長さは互いに等しく設計されている。ユーザロジック回路L2からメモリマクロMMまでの信号線の長さと、ユーザロジック回路L2からレジスタREG5までの信号線の長さは互いに等しく設計されている。同様に、ユーザロジック回路L3からメモリマクロMMまでの信号線の長さと、ユーザロジック回路L3からレジスタREG6までの信号線の長さは互いに等しく設計されている。これにより、レジスタREG4−REG6は、ユーザロジック回路L1−L3から出力される信号を、メモリマクロMMの受信タイミングと同じタイミングで受信できる。
チェック回路CHKは、マクロテストモード中に、メモリマクロMMの不良を検出するために、レジスタREG7に保持されたメモリマクロMMからの読み出しデータODを期待値と比較する。比較結果は、専用の端子を介してシステムSYSの外部に通知され、あるいは、テスト制御部TCNTを介してシステムSYSの外部に通知される。
ユーザロジック部UL2は、ユーザロジック回路L4(出力ユーザロジック回路)と、スキャンパスSP1に接続されたスキャンレジスタREG8(出力レジスタ)とを有している。ユーザロジック回路L4は、メモリマクロMMの外部データ出力端子ODから出力される出力データ信号ODを受けて動作し、ユーザ出力信号OD0を生成する。なお、ユーザロジック回路L4は、出力データ信号OD以外の信号を受けてもよい。レジスタREG8は、ロジックテストモード中に、ユーザロジック部UL2およびユーザロジック回路L2に接続された信号線の不良を検出するためにユーザロジック部UL2からのユーザ出力信号OD0を保持する。レジスタREG8に保持された情報は、スキャンパスSP1を介してテスト制御部TCNTに転送され、期待値と比較される。
なお、以降の説明では、各ユーザロジック回路L1−L3の伝搬遅延時間をIPATHと称し、メモリマクロMMのアクセス時間をMPATHと称し、ユーザロジック回路L4の伝搬遅延時間をOPATHと称する。実際には、ユーザロジック回路L1−L3の伝搬遅延時間は互いに異なるが、ここでは、互いに等しいとして説明する。IPATHは、レジスタREG1−REG3の出力からメモリマクロMMの入力までの信号の伝搬遅延時間にほぼ等しい。OPATHは、メモリマクロMMの出力からレジスタREG8の入力までの信号の伝搬遅延時間にほぼ等しい。
図4は、図3に示したレジスタREG4−REG6の詳細を示している。各レジスタREG(REG4−6)は、スキャンマルチプレクサSM(SM4−6)と、フリップフロップF/F(F/F4−F/F6)とを有している。スキャンマルチプレクサSMは、フリップフロップF/F4−6に保持された情報を、スキャンパスSP2を介してテスト制御部TCNTに転送するときに、スキャンパスSP2を選択し、それ以外では、図3に示したセレクタS1−S3の出力を選択する。フリップフロップF/Fは、スキャンマルチプレクサSMからの出力信号の論理レベルをクロック信号CKの立ち上がりエッジに同期してラッチし、ラッチした信号を出力する。
図5は、図1に示したメモリマクロMMの通常動作モードでの動作を示している。通常動作モードでは、システムSYSの機能を実現するためにメモリマクロMMがアクセスされる。通常動作モード中、バイパスモード信号BPは、低レベルLに固定される。
この例では、書き込みコマンドWR1および読み出しコマンドRD1、RD2が順次にメモリマクロMMに供給される。コマンドデコーダ12は、クロック信号CKの立ち上がりエッジでライトイネーブル信号/WEが低レベルのときに書き込みコマンドWR1を認識し、クロック信号CKの立ち上がりエッジでライトイネーブル信号/WEが高レベルのときに読み出しコマンドRD1またはRD2を認識する。コマンドデコーダ12は、書き込みコマンドまたは読み出しコマンドを受ける毎にアクティブ信号ACTP(パルス信号)を出力する(図5(a、b、c))。
書き込みコマンドWR1とともに、アドレス信号A1および書き込みデータD1がメモリマクロMMに供給される(図5(d))。データ入力バッファ16は、書き込みデータD1を内部入力データ信号DINとしてライトアンプWAに出力する(図5(e))。タイミング生成部14は、アクティブ信号ACTPに同期して入力データラッチ信号IDLAT(パルス信号)を出力する(図5(f))。ライトアンプWAは、入力データラッチ信号IDLATに同期してデータ信号DINを受け、メモリセルにデータを書き込む。
次に、読み出しコマンドRD1とともにアドレス信号A1がメモリマクロMMに供給される(図5(g))。このとき、データ入力バッファ16は、不定のデータ信号DXを出力する(図5(h))。アドレス信号A1は、書き込みコマンドWR1とともに供給された値と同じである。タイミング生成部14は、アクティブ信号ACTPに同期して出力データラッチ信号ODLAT(パルス信号)を出力する(図5(i))。リードアンプRAは、出力データラッチ信号ODLATに同期してメモリセルMCからのデータ信号D1の論理レベルをラッチし、出力データ信号DOUTとして出力する(図5(j))。
図1に示したフリップフロップF/Fは、出力データラッチ信号ODLATに同期して不定のデータ信号DXの論理レベルをラッチし、テスト出力データ信号TDOUTとして出力する(図5(k))。バイパスモード信号BPが低レベルのため、データセレクタDSELは、メモリコアCOREからの読み出しデータD1をデータ出力端子ODに出力する(図5(l))。読み出しコマンドRD1から読み出しデータD1が出力されるまでの読み出しアクセス時間はTAである。この後、読み出しコマンドRD2とともにアドレス信号A2がメモリマクロMMに供給され、次の読み出し動作が実行される。
図6は、ユーザロジック回路L4をテストするためのロジックテストモードでのメモリマクロMMの動作を示している。この例においても、図5と同様に、書き込みコマンドWR1および読み出しコマンドRD1、RD2が順次にメモリマクロMMに供給される。但し、アドレス信号IAは高レベルHまたは低レベルLのどちらでもよい(図6(a))。なお、上述したように、ロジックテストモード中、コマンドWR1、RD1、RD2は、レジスタREG1−REG3に設定された値に基づいて、ユーザロジック回路L1−L3を介して供給される。
データ信号IDは、書き込みコマンドWR1に同期して供給されない。このため、書き込みコマンドWR1に同期して不定の書き込みデータ信号IDがメモリマクロMMに書き込まれる(図6(b))。なお、書き込みコマンドWR1は、メモリマクロMMに供給しなくてもよい。すなわち、読み出しコマンドRD1を最初にメモリマクロMMに供給してもよい。あるいは、書き込みコマンドWR1に同期してアドレス信号IAおよびデータ信号IDをメモリマクロMMに供給し、所定のメモリセルMCにデータを書いてもよい。
次に、データ信号IDが、読み出しコマンドRD1に同期してメモリマクロMMに供給される(図6(c))。メモリセルアレイARYは、読み出しコマンドRD1に応答して読み出し動作を実行する。リードアンプRAは、出力データラッチ信号ODLATに同期して出力データ信号DOUTを出力する(図6(d))。但し、アドレス信号IAが読み出しコマンドRD1に同期して供給されないため、出力データ信号DOUTは不定な値DXである。図1に示したフリップフロップF/Fは、出力データラッチ信号ODLATに同期してデータ入力バッファ16からのデータ信号D1の論理レベルをラッチし、テスト出力データ信号TDOUTとして出力する(図6(e))。テスト出力データ信号TDOUTの出力タイミングは、図5で述べたリードアンプRAからの出力データ信号の出力タイミングと同じである。
バイパスモード信号BPが高レベルのため、データセレクタDSELは、テスト出力データ信号TDOUT(D1)をデータ出力端子ODに出力する(図6(f))。すなわち、リードアンプRAからの出力データ信号DOUTは、データセレクタDSELによりマスクされる。
出力データ信号線DOUTとテスト出力データ信号線TDOUTとが同じ長さのため、読み出しコマンドRD1から読み出しデータD1が出力されるまでの読み出しアクセス時間は、図5と同じTAである。すなわち、ロジックテストモードにおいてバイパスモード信号BPが高レベルのとき、通常動作モードと同じ遅延時間でメモリマクロMMから読み出しデータ信号D1が出力される。このため、複雑なテストパターンを用いることなく、通常動作モードと同じタイミングでテストパターンをユーザロジック部UL2に供給できる。
図7は、図3に示したシステムSYSの通常動作モードでの動作を示している。図中の四角枠で囲んだ書き込みコマンドWR1および読み出しコマンドRD1は、ユーザロジック回路L1が、書き込みコマンドWR1または読み出しコマンドRD1の元になる制御信号WE0を受けるタイミングを示している。この例では、書き込みコマンドWR1および読み出しコマンドRD1が順次にメモリマクロMMに供給される(図7(a、b))。書き込みコマンドWR1および読み出しコマンドRD1に応答するメモリマクロMMの動作は、図5と同じである。
まず、ユーザロジック回路L1は、1番目のクロック信号CKの立ち上がりエッジに同期して制御信号WE0を受け(図7(c))、ユーザロジック回路L1の論理に応じた遅延時間IPATH後にライトイネーブル信号/WEを低レベルに変化する(図7(d))。同様に、ユーザロジック回路L3は、1番目のクロック信号CKの立ち上がりエッジに同期して制御信号ID0を受け(図7(e))、ユーザロジック回路L3の論理に応じた遅延時間IPATH後に入力データ信号IDを高レベルに変化する(図7(f))。
遅延時間IPATHは、クロック信号CKの1周期より短く設計されている。このため、ライトイネーブル信号/WEおよび入力データ信号IDは、2番目のクロック信号CKの立ち上がりエッジに対して、セットアップ時間TS1の余裕を持ってメモリマクロMMに供給される(図7(g))。そして、メモリマクロMMの書き込み動作が実行される。
次に、ユーザロジック回路L1は、2番目のクロック信号CKの立ち上がりエッジに同期して制御信号WE0を受け(図7(h))、ユーザロジック回路L1の論理に応じてライトイネーブル信号/WEを高レベルに変化する(図7(i))。高レベルのライトイネーブル信号/WEは、3番目のクロック信号CKの立ち上がりエッジに対して、セットアップ時間TS1の余裕を持ってメモリマクロMMに供給される(図7(j))。そして、メモリマクロMMの読み出し動作が実行される。
メモリマクロMMは、アクセス時間TA後に、出力データ信号ODを出力する(図7(k))。ユーザロジック回路L4は、出力データ信号ODを受け、ユーザロジック回路L4の論理に応じた遅延時間OPATH後に制御信号OD0を出力する(図7(l))。アクセス時間TAと遅延時間OPATHの和は、クロック信号CKの1周期より短く設計されている。このため、制御信号OD0は、4番目のクロック信号CKの立ち上がりエッジに対して、セットアップ時間TS2の余裕を持ってユーザロジック回路L4から次のユーザロジック回路に出力される。そして、ユーザロジック回路L4の出力に接続された図示しないユーザロジック回路は、4番目のクロック信号CKの立ち上がりエッジに同期して制御信号OD0を受けて動作する。
図8は、図3に示したユーザロジック部UL1をテストするときの動作の概要を示している。テストは、ロジックテストモード中に実施される。ロジックテストモードでは、スキャンパスSP1を用いてレジスタREG1、REG3がセットされ、セレクタS1、S3は、レジスタREG1、REG3の出力を選択する。ユーザロジック部UL1のテストでは、メモリマクロMMはアクセスされないため、バイパスモード信号BPは、高レベルHまたは低レベルLでよい。
テストが開始されると、ユーザロジック回路L1は、1番目のクロック信号CKの立ち上がりエッジに同期してレジスタREG1からの制御信号WE0を受け(図8(a))、ユーザロジック回路L1の論理に応じた遅延時間IPATH後にライトイネーブル信号/WEを、例えば低レベルに変化する(図8(b))。同様に、ユーザロジック回路L3は、1番目のクロック信号CKの立ち上がりエッジに同期して制御信号ID0を受け(図8(c))、ユーザロジック回路L3の論理に応じた遅延時間IPATH後に入力データ信号IDを、例えば高レベルに変化する(図8(d))。
ユーザロジック部UL1が正常に動作するとき、ライトイネーブル信号/WEおよび入力データ信号IDは、2番目のクロック信号CKの立ち上がりエッジに対して、セットアップ時間TS1の余裕を持ってレジスタREG4、REG6に供給される。ライトイネーブル信号/WEおよび入力データ信号IDの論理レベルは、2番目のクロック信号CKの立ち上がりエッジに同期してレジスタREG4、REG6にそれぞれラッチされる(図8(e、f))。レジスタREG4、REG6にラッチされるタイミングは、ライトイネーブル信号/WEおよび入力データ信号IDがメモリマクロMMのコマンドデコーダ12およびデータ入力バッファ16にラッチされるタイミングと同じである。この後、レジスタREG4、REG6に保持されている情報は、スキャンパスSP2を用いてテスト制御部TCNTにより読み出され、期待値と比較される。
上述したように、ユーザロジック回路L1からメモリマクロMMまでの信号線の長さと、ユーザロジック回路L1からレジスタREG4までの信号線の長さは互いに等しく設計されている。同様に、ユーザロジック回路L3からメモリマクロMMまでの信号線の長さと、ユーザロジック回路L3からレジスタREG6までの信号線の長さは互いに等しく設計されている。したがって、図8に示したテストにより、ユーザロジック部UL1からの出力信号が正常なタイミングでメモリマクロMMに供給されるか否かをテストできる。すなわち、ユーザロジック部UL1の動作タイミングを評価できる。あるいは、ユーザロジック部UL1のスタック故障を検出できる。
なお、入力アドレス信号IAを出力するユーザロジック回路L2のテストも、ユーザロジック回路L1、L3と同様に実施できる。また、ユーザロジック回路L1のテスト時に、ライトイネーブル信号/WEを高レベルに変化させてもよい。ユーザロジック回路L2のテスト時に、入力データ信号IDを低レベルに変化させてもよい。
図9は、図3に示したユーザロジック部UL2をテストするときの動作の概要を示している。テストは、ロジックテストモード中に実施される。このロジックテストモードでは、ユーザロジック部UL1を用いてメモリマクロMMにテスト信号が供給され、メモリマクロMMから出力される出力データ信号ODがユーザロジック部UL2に供給される。バイパスモード信号BPは、高レベルHに設定される。
まず、スキャンパスSP1を用いてレジスタREG1、REG3がセットされる。セレクタS1、S3は、レジスタREG1、REG3の出力をそれぞれ選択する。ユーザロジック回路L1は、1番目のクロック信号CKの立ち上がりエッジに同期してレジスタREG1からの制御信号WE0を受け(図9(a))、遅延時間IPATH後にライトイネーブル信号/WEを、例えば高レベルに変化する(図9(b))。同様に、ユーザロジック回路L3は、1番目のクロック信号CKの立ち上がりエッジに同期して制御信号ID0を受け(図9(c))、遅延時間IPATH後に入力データ信号IDを、例えば高レベルに変化する(図9(d))。
メモリマクロMMは、2番目のクロック信号CKの立ち上がりエッジに同期して高レベルのライトイネーブル信号/WEおよび高レベルの入力データ信号IDを受ける(図9(e、f))。すなわち、読み出しコマンドRD1が、入力データ信号IDとともにメモリマクロMMに供給される。バイパスモード信号BPが高レベルのため、図6に示したように、読み出しアクセス時間TA後に、読み出しコマンドRD1とともに受けた入力データ信号IDが出力データ信号ODとして出力される(図9(g))。
出力データ信号ODは、ユーザロジック回路L4(出力ユーザロジック回路)に供給され、ユーザロジック回路L4の論理に応じた遅延時間OPATH後にユーザロジック回路L4から制御信号OD0が出力される(図9(h))。ユーザロジック回路L4が正常に動作するとき、制御信号OD0は、3番目のクロック信号CKの立ち上がりエッジに対して、セットアップ時間TS2の余裕を持ってレジスタREG8に供給される。
レジスタREG8は、3番目のクロック信号CKの立ち上がりエッジに同期して制御信号OD0の論理レベルをラッチする。この後、スキャンパスSP1を用いてレジスタREG8に保持されている情報は、テスト制御部TCNTにより読み出され、期待値と比較される。そして、レジスタREG8から読み出された情報が期待値と異なるとき、ユーザロジック回路L4の不良(スタック故障あるいはタイミングマージン不良)が検出される。
このように、本実施形態では、簡易なテストパターンと簡易なテスト回路(図1に示したF/FおよびDSEL)を用いて、メモリマクロMMの動作タイミングを含めたユーザロジック回路L4のトランジションディレイテストを実施できる。さらに、テストパターンが簡易なため、ロジック回路の故障検出テストに一般的に使用されるATPG(Automatic Test Pattern Generation)手法を用いてテストパターンを生成できる。この結果、テストコストを削減できる。
図10は、図1に示したメモリマクロMMの動作テストの概要を示している。メモリマクロMMの動作テストは、パターン生成回路PATGおよびチェック回路CHKを用いてマクロテストモード中に実施される。
パターン生成回路PATGは、例えば、1番目のクロック信号CKの立ち下がりエッジに同期して、例えば、低レベルのライトイネーブル信号WE0(書き込みコマンドWR1)、書き込みアドレス信号IA0(A1)および書き込みデータ信号ID0(D1)を出力する(図10(a、b、c))。信号WE0、IA0およびID0は、セレクタS4−S6を介してライトイネーブル信号/WE、アドレス信号ID(A1)および入力データ信号ID(D1)としてメモリマクロMMに供給される(図10(d、e、f))。
パターン生成回路PATGとメモリマクロMMとの間には、論理回路等の遅延素子がないため、ライトイネーブル信号/WEは、1番目のクロック信号CKの立ち上がりエッジに対して十分なセットアップ時間TS3を有する。メモリマクロMMは、2番目のクロック信号CKの立ち上がりエッジに同期して低レベルのライトイネーブル信号/WEを受け、書き込み動作を実行する(図10(g))。
次に、パターン生成回路PATGは、例えば、2番目のクロック信号CKの立ち下がりエッジに同期して、例えば、高レベルのライトイネーブル信号WE0(読み出しコマンドRD1)および読み出しアドレス信号IA0(A1)を出力する(図10(h、i))。メモリマクロMMは、3番目のクロック信号CKの立ち上がりエッジに同期して高レベルのライトイネーブル信号/WEを受け、読み出し動作を実行する(図10(j))。そして、アクセス時間TA後に出力データ信号OD(読み出しデータ)を出力する(図10(k))。
レジスタREG7は、3番目のクロック信号CKの立ち上がりエッジに同期して出力データ信号ODをラッチする(図10(l))。メモリマクロMMとレジスタREG7との間には、論理回路等の遅延素子がないため、出力データ信号ODは、3番目のクロック信号CKの立ち上がりエッジに対して十分なセットアップ時間TS4を有する。レジスタREG7にラッチされた信号は、チェック回路CHKに供給される。すなわち、スキャンパスSP1、SP2は使用されない。そして、チェック回路CHKは、出力データ信号ODの論理レベルを期待値と比較し、メモリマクロMMが不良か否かを検出する。このように、メモリマクロMMの動作テストは、ユーザロジック回路L1−L4を用いることなく、専用のテスト回路(PATGおよびCHK)を用いて実施されるため、テスト時間を短くできる。
図11は、図1が提案される前のメモリマクロMMを示している。図11のメモリマクロMMは公知でない。図11では、図1のメモリマクロMMからフリップフロップF/F、データセレクタDSELおよびバイパスモード端子BPを削除している。その他の構成は、図1と同じである。システムSYSの構成は、図2および図3と同じである。
図12は、図11に示したメモリマクロMMを有するシステムにおいて、ユーザロジック部UL2をテストするときの動作の概要を示している。テストは、ロジックテストモード中に実施される。ロジックテストモードでは、スキャンパスSP2を用いてレジスタREG7がセットされ、セレクタS4は、レジスタREG7の出力を選択する。このテストでは、メモリマクロMMはアクセスされないため、バイパスモード信号BPは、高レベルHまたは低レベルLでよい。
ユーザロジック回路L4は、1番目のクロック信号CKの立ち上がりエッジに同期してレジスタREG7からの制御信号DMYを受け(図12(a))、ユーザロジック回路L4の論理に応じた遅延時間OPATH後に制御信号OD0を、例えば高レベルに変化する(図12(b))。図11に示した例では、1番目のクロック信号CKのクロックサイクル中に、メモリマクロMMのアクセス時間TAが含まれない。このため、レジスタREG8は、2番目のクロック信号CKの立ち上がりエッジに対して、セットアップ時間TS5を持って制御信号OD0をラッチする。セットアップ時間TS3は、図9に示したセットアップ時間TS2に比べて大幅に余裕がある。この結果、ユーザロジック回路L4のスタック故障は検出できるが、ロジック回路L4の動作タイミングは評価できない。
以上、この実施形態では、テストモード中に、メモリマクロMMのデータ入力端子IDで受けた入力データ信号IDを、実際のメモリセルアレイARYの動作タイミングに合わせて、出力データ信号ODとしてデータ出力端子データODに出力できる。少ない入力信号と簡易なテスト回路(F/FおよびDSEL)を用いてメモリマクロMMを擬似的に動作でき、メモリセルMCにデータを書き込むことなく出力データ信号ODを生成できる。
したがって、出力データ信号ODを受けて動作するユーザロジック回路L4のテストを簡易なテストパターンを用いて実施できる。換言すれば、メモリマクロMMの動作タイミングを含めたユーザロジック回路L4のタイミングテストを、簡易なテストパターンを用いて実施できる。この結果、テストコストを削減できる。クロック信号CKに非同期で動作するメモリセルアレイARYの動作タイミングを、簡易なテスト回路(F/FおよびDSEL)により実現できる。
メモリマクロMMに供給する入力データ信号IDをスキャンパスSP1を介してレジスタREG3に保持し、ユーザロジック回路L4から出力されレジスタREG8に保持されるユーザ出力信号OD0をスキャンパスSP1を介してテスト制御部TCNTに転送することで、メモリマクロMMの動作タイミングを含めたユーザロジック回路L4のタイミングテストを簡易に実施でき、テストコストを削減できる。特に、レジスタREG3とメモリマクロMMの間にユーザロジック回路L3が挿入されるときにも、メモリマクロMMの動作タイミングを含めたユーザロジック回路L4の動作テストを、簡易なテストパターンを用いて実施できる。
図13は、別の実施形態におけるメモリマクロMMの例を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。メモリマクロMMを除く構成は、上述した実施形態と同じである。すなわち、メモリマクロMMは、図2および図3に示したシステムSYSに搭載される。
メモリマクロMMは、図1に示したタイミング生成部14の代わりにタイミング生成部14Aを有している。また、リードアンプRAとデータセレクタDSELの間にデータ出力バッファ18A(データ出力部)が配置されている。メモリマクロMMのその他の構成は、図1と同じである。
テスト出力データ信号線TDOUTの負荷は、データ出力バッファ18Aの出力に接続された出力データ信号線DOUT1の負荷と等しく設計されている。例えば、信号線TDOUT、DOUT1は同じ構造を有しており、それらの配線長は互いに等しい。これにより、フリップフロップF/Fからのテスト出力データ信号TDOUTの出力タイミングを、データ出力バッファ18Aからの出力データ信号DOUT1の出力タイミングと同じにできる。したがって、上述した実施形態と同様に、通常動作モードとロジックテストモードとで、メモリマクロMMのアクセス時間TAを等しくでき、簡易なテストパターンで、メモリマクロMMを擬似的に動作できる。
一般に、データ出力バッファ18Aからデータ出力端子ODに配線される信号線(DOUT1)の長さは、リードアンプRAからデータ出力バッファ18Aに配線される出力データ信号線DOUTの長さより短い。また、データ出力端子ODが複数ビットを有するときに、各信号線(DOUT1)の長さのばらつきは、各出力データ信号線DOUTの長さのばらつきより小さい。これは、メモリセルアレイARYおよびリードアンプRAの図の横方向の長さが長いためである。したがって、この実施形態では、テスト出力データ信号線TDOUTの長さを、図1に比べて短くできる。この結果、テスト出力データ信号線TDOUTの配線領域を少なくでき、メモリマクロMMのサイズを小さくできる。また、各出力データ信号線DOUTに対するテスト出力データ信号線TDOUTの負荷のばらつきを最小限にできるため、テスト出力データ信号線TDOUTが複数ビットを有するときに、バイパスモード信号BPが高レベルに設定されるロジックテストモードにおいて、読み出しアクセス時間TAを、通常動作モード中の読み出しアクセス時間TAに高い精度で合わせることができる。
タイミング生成部14Aは、図1に示したタイミング生成部14に出力データイネーブル端子ODENを出力する機能を加えている。遅延回路ENDDLYは、ライトイネーブル信号/WEが高レベルのときに、アクティブ信号ACTPの立ち上がりエッジから所定時間後に、出力データイネーブル端子ODENを高レベルに変化する。遅延回路ENDLYの遅延時間は、遅延回路ODLYの遅延時間よりわずかに長い。また、遅延回路ENDLYは、出力データイネーブル端子ODENの高レベル期間を所定の期間(約1クロックサイクル)保持する。
データ出力バッファ18Aは、出力データイネーブル信号ODENの高レベル中にリードアンプRAからの出力データ信号DOUTを出力データ信号DOUT1として出力する。この実施形態では、フリップフロップF/Fは、出力データラッチ信号ODLATではなく、出力データイネーブル端子ODENの出力に同期して入力データ信号DINの論理レベルをラッチし、テスト出力データ信号TDOUTとして出力する。
図14は、図13に示したメモリマクロMMにおいて、ユーザロジック回路L4をテストするためのロジックテストモードでのメモリマクロMMの動作を示している。この実施形態では、テスト出力データ信号TDOUTおよび出力データ信号ODは、出力データイネーブル信号ODENの立ち上がりエッジに同期して出力される。その他の動作は、図6と同じである。図13に示した出力データ信号線DOUT1とテスト出力データ信号線TDOUTとが同じ長さのため、読み出しコマンドRD1から読み出しデータD1が出力されるまでの読み出しアクセス時間は、図5および図6と同じTAである。
以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。さらに、この実施形態では、テスト出力データ信号線TDOUTの配線領域を少なくでき、メモリマクロMMのサイズを小さくできる。また、テスト出力データ信号線TDOUTが複数ビットを有するときに、バイパスモード信号BPが高レベルに設定されるテストモードにおいて、読み出しアクセス時間TAを、通常動作モード中の読み出しアクセス時間TAに高い精度で合わせることができる。この結果、メモリマクロMMの実際の動作と同じタイミングマージンを用いて、ユーザロジック回路L4のテストを実施できる。
図15は、別の実施形態におけるシステムSYSの要部の詳細を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態では、システムSYSは、図3に示したレジスタREG4−REG6の代わりにレジスタREG11−REG13を有している。レジスタREG11−REG13は、メモリマクロMM内に形成されている。レジスタREG11−REG13の構造は、レジスタREG4−REG6(図4)と同じである。システムSYSのその他の構成は、メモリマクロMMにスキャンパスSP2用の外部端子が形成されることを除き、図2および図3と同じである。
図16は、図15に示したメモリマクロMMの詳細を示している。メモリマクロMMは、図1に示したコマンドデコーダ12の代わりにコマンドデコーダ12Bを有している。また、レジスタREG13がデータ入力バッファの機能を有するため、図1のデータ入力バッファ16は削除されている。その他の構成は、レジスタREG11−REG13が形成されることを除き、図1と同じである。なお、メモリマクロMMの主要部の構成は、図1でなく、図13でもよい。すなわち、データ出力バッファ18Aを設けてもよい。
各レジスタREG(REG11−13)は、スキャンマルチプレクサSM(SM11−13)と、フリップフロップF/F(F/F11−13)を有している。レジスタREG11−REG13の動作は、図4で説明したレジスタREG4−REG6の動作と同じである。レジスタREG13のフリップフロップF/F13は、スキャンパスSP2に接続され、入力データ信号IDを保持する保持部として動作する。
コマンドデコーダ12Bの機能は、クロック信号CKに非同期で動作することを除き、図1のコマンドデコーダ12の機能と同じである。この実施形態では、レジスタREG11がライトイネーブル信号/WEをクロック信号CKに同期してラッチする。このため、コマンドデコーダ12Bは、クロック信号CKに非同期で動作する必要がある。換言すれば、図1に示したコマンドデコーダ12の機能は、レジスタREG11とコマンドデコーダ12Bにより実現されている。
図17は、図15に示したユーザロジック部UL1、UL2をテストするときの動作の概要を示している。この実施形態では、図9と同じテストが実施される間にユーザロジック部UL1のテストが実施できる。バイパスモード信号BPは、高レベルに設定される。このため、読み出し動作時にフリップフロップF/Fを用いて入力データ信号DINの論理レベルが、出力データ信号ODとしてデータ出力端子ODに直接出力される。信号SMの高レベル期間は、スキャンマルチプレクサSMがスキャンパスSP1、SP2を選択する期間(スキャンシフト期間SS1、SS2)である。信号SMの低レベル期間は、スキャンマルチプレクサSMがユーザロジック部UL1、UL2に接続された信号線を選択する期間(テスト期間TEST)である。
まず、スキャンシフト期間SS1では、スキャンパスSP1、SP2を用いて、ユーザロジック部UL1をテストするための入力パターン(テスト入力信号)がレジスタ1−REG3に順次に設定され、ユーザロジック部UL2をテストするための入力パターン(テスト入力信号)がレジスタREG11−REG13(フリップフロップF/F11−F/F13)に順次に設定される。
次に、テスト制御部TCNTにより信号SMが低レベルに設定され、レジスタREG1−REG3、REG11−REG13に設定されたテストパターンは、ユーザロジック回路L1−L3、メモリマクロMMおよびユーザロジック回路L4に供給される。これにより、ユーザロジック回路L1−L3は、レジスタREG1−REG3に設定された入力パターンに応じて動作する。メモリマクロMMは、REG11−REG13に設定された入力パターンに応じて動作する。ユーザロジック回路L4は、メモリマクロMMのデータ出力端子ODから出力される出力データ信号ODに応じて動作する。
レジスタREG11−REG13は、4番目のクロック信号CKの立ち上がりエッジに同期して、ユーザロジック回路L1−L3からの出力信号をラッチする。レジスタREG7は、メモリマクロMMからの出力信号をラッチし、レジスタREG8は、ユーザロジック回路L4からの出力信号をラッチする。
この後、テスト制御部TCNTにより信号SMが高レベルに設定される。図中に太枠で示したレジスタREG11−13、REG8に保持された情報は、スキャンパスSP2を介してテスト制御部TCNTに転送され、期待値と比較される。そして、レジスタREG11−13から読み出された情報が期待値と異なるとき、ユーザロジック回路L1−L3の不良(スタック故障あるいはタイミングマージン不良)が検出される。レジスタREG8から読み出された情報が期待値と異なるとき、ユーザロジック回路L4の不良(スタック故障あるいはタイミングマージン不良)が検出される。これにより、ユーザロジック部UL1、UL2のテストを1クロックサイクルで同時に実施できる。
なお、レジスタREG7に保持された情報を、スキャンパスSP2を介してテスト制御部TCNTに転送し、期待値と比較することにより、ユーザロジック部UL2のテストで発生した不良の原因が、メモリマクロMMにあるのかユーザロジック回路L4にあるのかを区別できる。
以上、この実施形態においても、上述した実施形態と同様の効果を得ることができる。さらに、この実施形態では、ユーザロジック部UL1、UL2のテストを1クロックサイクルで同時に実施できる。特に、ユーザロジック回路L4をテストするためのテストパターン(テスト入力信号)を、ユーザロジック回路L1−L3を介して供給することなく、スキャンパスSP2を用いてレジスタREG11−13に設定できる。このため、ユーザロジック回路L4のテストを簡易なテストパターンを用いて実施できる。換言すれば、ロジック回路の故障検出テストに一般的に使用されるATPG(Automatic Test Pattern Generation)手法を用いてテストパターンを生成できる。この結果、テストコストを削減できる。
なお、上述した実施形態では、読み出しコマンドから所定時間後にメモリセルMCに保持されたデータ信号を出力するメモリマクロMMにテスト回路(F/FおよびDSEL)を設け、テスト回路を利用してユーザロジック部UL2をテストする例について述べた。しかし、例えば、読み出しコマンドから所定時間後に保持しているデータ信号を出力する他の機能マクロ(CPUマクロやMPEGマクロ等のデータ処理マクロ)にテスト回路(F/FおよびDSEL)を設け、このテスト回路を利用してユーザロジック部UL2をテストしてもよい。
以上の詳細な説明により、実施形態の特徴点及び利点は明らかになるであろう。これは、特許請求の範囲がその精神及び権利範囲を逸脱しない範囲で前述のような実施形態の特徴点及び利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良及び変更に容易に想到できるはずであり、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物及び均等物に拠ることも可能である。
一実施形態におけるメモリマクロを示している。 図1に示したメモリマクロが搭載されるシステムの例を示している。 図2に示したシステムの要部の詳細を示している。 図3に示したレジスタREG4−REG6の詳細を示している。 図1に示したメモリマクロの通常動作モードでの動作を示している。 ユーザロジック回路L4をテストするためのロジックテストモードでのメモリマクロの動作を示している。 図3に示したシステムの通常動作モードでの動作を示している。 図3に示したユーザロジック部UL1をテストするときの動作の概要を示している。 図3に示したユーザロジック部UL2をテストするときの動作の概要を示している。 図1に示したメモリマクロの動作テストの概要を示している。 図1が提案される前のメモリマクロを示している。 図11に示したメモリマクロを有するシステムにおいて、ユーザロジック部UL2をテストするときの動作の概要を示している。 別の実施形態におけるメモリマクロの例を示している。 図13に示したメモリマクロにおいて、ユーザロジック回路L4をテストするためのロジックテストモードでのメモリマクロMMの動作を示している。 別の実施形態におけるシステムの要部の詳細を示している。 図15に示したメモリマクロの詳細を示している。 図15に示したユーザロジック部UL2をテストするときの動作の概要を示している。
符号の説明
10‥アドレス選択部;12、12B‥コマンドデコーダ;14、14A‥タイミング生成部;16‥データ入力バッファ;18A‥データ出力バッファ;ARY‥メモリセルアレイ;BP‥バイパスモード信号;CHK‥チェック回路;CORE‥メモリコア;DSEL‥データセレクタ;F/F‥フリップフロップ;MC‥メモリセル;MM‥メモリマクロ;MTST‥メモリテスト部;PATG‥パターン生成回路;RA‥リードアンプ;SP1、SP2‥スキャンパス;SYS‥システム;TCNT‥テスト制御部;UL1、UL2‥ユーザロジック部;WA‥ライトアンプ

Claims (10)

  1. 外部データ入力端子に供給される入力データ信号を受けるデータ入力部と、
    前記データ入力部で受けた入力データ信号を保持する記憶部と、
    出力要求信号に応答してタイミング信号を生成するタイミング生成部と、
    前記記憶部に保持された入力データ信号を前記タイミング信号に同期して出力データ信号として出力するデータ出力部と、
    前記データ入力部で受けた入力データ信号を前記タイミング信号に同期して出力するテスト出力制御部と、
    通常動作モード中に、前記データ出力部からの出力データ信号を外部データ出力端子に出力し、テストモード中に、前記テスト出力制御部からの入力データ信号を前記外部データ出力端子に出力するデータセレクタと
    を備えていることを特徴とする半導体集積回路。
  2. 請求項1記載の半導体集積回路において、
    前記外部データ出力端子から出力される出力データ信号を受けて動作し、ユーザ出力信号を生成する出力ユーザロジック回路と、
    前記ユーザ出力信号を受ける出力レジスタと、
    前記出力レジスタに接続されたスキャンパスと、
    前記テストモード中に、前記出力レジスタに保持されたユーザ出力信号をスキャンパスを介して受け、受けた信号を期待値と比較するテスト制御部と
    を備えていることを特徴とする半導体集積回路。
  3. 請求項2記載の半導体集積回路において、
    前記外部データ入力端子に供給する入力データ信号を保持する入力レジスタと、
    前記入力レジスタに接続されたスキャンパスと
    を備え、
    前記テスト制御部は、テスト用の入力データ信号をスキャンパスを介して前記入力レジスタに設定し、スキャンパスを介して受ける前記出力レジスタからのユーザ出力信号を期待値と比較することを特徴とする半導体集積回路。
  4. 請求項1ないし請求項3のいずれか1項記載の半導体集積回路において、
    前記データ出力部は、前記記憶部からの出力データ信号を増幅し、保持するリードアンプであることを特徴とする半導体集積回路。
  5. 請求項1ないし請求項3のいずれか1項記載の半導体集積回路において、
    前記データ出力部は、前記記憶部からの出力データ信号を出力するデータ出力バッファであることを特徴とする半導体集積回路。
  6. 請求項1ないし請求項5のいずれか1項記載の半導体集積回路において、
    前記データ出力部から前記セレクタまで出力データ信号を伝達する通常信号線と、
    前記テスト出力制御部から前記セレクタまで入力データ信号を伝達し、前記通常信号線と負荷が等しいテスト信号線と
    を備えていることを特徴とする半導体集積回路。
  7. 請求項1記載の半導体集積回路において、
    テスト入力信号を保持する入力レジスタと、
    前記入力レジスタに接続されたスキャンパスと、
    前記入力レジスタからの前記テスト入力信号を受けて動作し、入力データ信号を生成し、生成した入力データ信号を前記外部データ入力端子に出力する入力ユーザロジック回路と、
    前記データ入力部に設けられ、前記入力データ信号を保持する保持部と、
    前記保持部に接続されたスキャンパスと、
    前記外部データ出力端子から出力される出力データ信号を受けて動作し、ユーザ出力信号を生成する出力ユーザロジック回路と、
    前記ユーザ出力信号を保持する出力レジスタと、
    前記出力レジスタに接続されたスキャンパスと、
    前記テストモード中に、テスト入力信号をスキャンパスを介して前記入力レジスタおよび前記保持部に設定し、前記入力ユーザロジック回路、前記記憶部および前記出力ユーザロジック回路を動作し、前記保持部に保持された入力データ信号および前記出力レジスタに保持されたユーザ出力信号をスキャンパスを介して受け、受けた信号を期待値と比較するテスト制御部とを備えていることを特徴とする半導体集積回路。
  8. 請求項1ないし請求項7のいずれか1項記載の半導体集積回路において、
    前記データ入力部は、入力データ信号をクロック信号に同期して受け、
    前記記憶部は、前記出力要求信号に応答して動作を開始した後、クロック信号に非同期で出力データ信号をデータ出力部に出力し、
    前記タイミング生成部は、前記出力要求信号を遅延させ前記タイミング信号として出力する遅延回路を有することを特徴とする半導体集積回路。
  9. 外部データ入力端子に供給される入力データ信号を受けるデータ入力部と、前記データ入力部で受けた入力データ信号を保持する記憶部と、出力要求信号に応答してタイミング信号を生成するタイミング生成部と、前記記憶部に保持された入力データ信号を前記タイミング信号に同期して出力データ信号として出力するデータ出力部とを有する機能ブロックと、
    外部データ出力端子からの出力データ信号を受けて動作する出力ユーザロジック回路と
    を備えた半導体集積回路のテスト方法であって、
    前記データ出力部からの出力データ信号をマスクし、
    前記データ入力部で受けた入力データ信号を前記タイミング信号に同期して前記外部データ出力端子に出力し、
    前記出力ユーザロジック回路から出力されるユーザ出力信号を期待値と比較することで、前記出力ユーザロジック回路の不良を検出することを特徴とする半導体集積回路のテスト方法。
  10. 請求項9記載の半導体集積回路のテスト方法において、
    前記半導体集積回路は、
    スキャンパスに接続された入力レジスタからの信号を受けて動作し、生成した入力データ信号を前記外部データ入力端子に出力する入力ユーザロジック回路と、前記データ入力部に設けられ、スキャンパスに接続され、入力データ信号を保持する保持部と、スキャンパスに接続され、前記出力ユーザロジック回路からのユーザ出力信号を保持する出力レジスタとを備え、
    テスト入力信号をスキャンパスを介して前記入力レジスタおよび前記保持部に設定し、
    前記入力レジスタに設定された前記テスト入力信号に応じて前記入力ユーザロジック回路を動作し、
    前記保持部に設定されたテスト入力信号に応じて前記記憶部を動作し、
    前記外部データ出力端子から出力される出力データ信号に応じて前記出力ユーザロジック回路を動作し、
    前記入力ユーザロジック回路から出力される入力データ信号を前記保持部に保持し、
    前記出力ユーザロジック回路から出力されるユーザ出力信号を前記出力レジスタに保持し、
    前記保持部に保持された入力データ信号および前記出力レジスタに保持されたユーザ出力信号を期待値と比較することで、前記入力ユーザロジック回路および前記出力ユーザロジック回路の不良を検出することを特徴とする半導体集積回路のテスト方法。
JP2008054413A 2008-03-05 2008-03-05 半導体集積回路 Expired - Fee Related JP5194890B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008054413A JP5194890B2 (ja) 2008-03-05 2008-03-05 半導体集積回路
US12/396,745 US7913138B2 (en) 2008-03-05 2009-03-03 Semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008054413A JP5194890B2 (ja) 2008-03-05 2008-03-05 半導体集積回路

Publications (2)

Publication Number Publication Date
JP2009210449A JP2009210449A (ja) 2009-09-17
JP5194890B2 true JP5194890B2 (ja) 2013-05-08

Family

ID=41054855

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008054413A Expired - Fee Related JP5194890B2 (ja) 2008-03-05 2008-03-05 半導体集積回路

Country Status (2)

Country Link
US (1) US7913138B2 (ja)
JP (1) JP5194890B2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4977045B2 (ja) * 2008-01-16 2012-07-18 株式会社東芝 半導体集積回路及び半導体装置
JP2011081732A (ja) * 2009-10-09 2011-04-21 Elpida Memory Inc 半導体装置及びその調整方法並びにデータ処理システム
KR101036924B1 (ko) * 2009-12-28 2011-05-25 주식회사 하이닉스반도체 반도체 집적회로
US8381049B2 (en) * 2010-04-30 2013-02-19 Stmicroelectronics International N.V. Apparatus and method for testing shadow logic
JP5532134B2 (ja) * 2010-07-29 2014-06-25 富士通株式会社 半導体集積回路装置、その制御方法及び情報処理装置
JP2013007710A (ja) * 2011-06-27 2013-01-10 Advantest Corp 試験装置および試験方法
CN103091572A (zh) * 2011-11-03 2013-05-08 鸿富锦精密工业(深圳)有限公司 信号测试装置
US9069042B2 (en) * 2013-11-05 2015-06-30 Freescale Semiconductor, Inc. Efficient apparatus and method for testing digital shadow logic around non-logic design structures
KR20160029378A (ko) * 2014-09-05 2016-03-15 에스케이하이닉스 주식회사 반도체 장치
CN104865517B (zh) * 2015-06-12 2018-01-02 中国电子科技集团公司第四十七研究所 检测调试电路
JP6702560B2 (ja) * 2017-02-21 2020-06-03 株式会社東芝 半導体集積回路
CN109408846B (zh) * 2017-08-18 2024-03-08 三星电子株式会社 集成电路、非暂时性计算机可读介质以及计算系统
US11073553B2 (en) 2017-12-29 2021-07-27 Texas Instruments Incorporated Dynamic generation of ATPG mode signals for testing multipath memory circuit

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07271629A (ja) * 1994-03-29 1995-10-20 Mitsubishi Electric Corp マイクロコンピュータ
US6489819B1 (en) * 1998-10-27 2002-12-03 Mitsubishi Denki Kabushiki Kaisha Clock synchronous semiconductor memory device allowing testing by low speed tester
JP2001235524A (ja) * 2000-02-22 2001-08-31 Matsushita Electric Ind Co Ltd 半導体集積回路装置およびそのテスト方法、ram/romテスト回路およびそのテスト方法
JP3892788B2 (ja) * 2002-09-30 2007-03-14 株式会社東芝 同期型半導体記憶装置及びそのテスト方法
US6944039B1 (en) * 2003-12-12 2005-09-13 Netlogic Microsystems, Inc. Content addressable memory with mode-selectable match detect timing
JP2005235368A (ja) * 2004-01-21 2005-09-02 Matsushita Electric Ind Co Ltd 半導体集積回路の検査方法
JP4332056B2 (ja) * 2004-04-01 2009-09-16 Okiセミコンダクタ株式会社 半導体集積回路
JP2006004509A (ja) 2004-06-17 2006-01-05 Matsushita Electric Ind Co Ltd 半導体集積回路およびハードマクロ回路
JP4707053B2 (ja) * 2005-06-06 2011-06-22 ルネサスエレクトロニクス株式会社 半導体集積回路装置
JP4693526B2 (ja) * 2005-07-06 2011-06-01 株式会社東芝 半導体集積回路、および、半導体集積回路のテスト方法
JP4682077B2 (ja) * 2006-03-30 2011-05-11 株式会社リコー 半導体集積回路

Also Published As

Publication number Publication date
JP2009210449A (ja) 2009-09-17
US20090228752A1 (en) 2009-09-10
US7913138B2 (en) 2011-03-22

Similar Documents

Publication Publication Date Title
JP5194890B2 (ja) 半導体集積回路
KR100890750B1 (ko) 메모리 칩과 로직 칩을 탑재하여, 메모리 칩의 시험을가능하게 한 반도체 장치
US7724574B2 (en) Semiconductor memory device and data write and read method thereof
US8724410B2 (en) Semiconductor memory device and method for testing same
JP5554476B2 (ja) 半導体記憶装置および半導体記憶装置の試験方法
US7911861B2 (en) Semiconductor memory device and method of testing semiconductor memory device
US8125843B2 (en) Semiconductor memory device and method for testing the same
US6807116B2 (en) Semiconductor circuit device capable of accurately testing embedded memory
US7047461B2 (en) Semiconductor integrated circuit device with test data output nodes for parallel test results output
US6208571B1 (en) Semiconductor memory device, circuit board mounted with semiconductor memory device, and method for testing interconnection between a semiconductor memory device with a circuit board
JP3797810B2 (ja) 半導体装置
US7457179B2 (en) Semiconductor memory device, system and method of testing same
US20080165596A1 (en) Semiconductor memory device and method thereof
US6275428B1 (en) Memory-embedded semiconductor integrated circuit device and method for testing same
JP5169597B2 (ja) 集積回路および試験方法
US8274854B2 (en) Semiconductor storage device and method for producing semiconductor storage device
US8050135B2 (en) Semiconductor memory device
US8386858B2 (en) Semiconductor memory device
JP2003007097A (ja) 半導体記憶装置およびそのテスト方法
JP2002243801A (ja) 半導体集積回路
JP4985462B2 (ja) 集積回路、集積回路の動作試験方法および動作試験プログラム
JP5060794B2 (ja) 半導体記憶装置
JPH1166889A (ja) 高速試験機能つきメモリ
JP2010211885A (ja) 半導体装置および半導体装置の製造方法
JP2006200956A (ja) 半導体集積装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120626

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120809

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: 20130108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130121

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160215

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees