JP2009289336A - 半導体集積回路及びそのテスト方法 - Google Patents

半導体集積回路及びそのテスト方法 Download PDF

Info

Publication number
JP2009289336A
JP2009289336A JP2008140673A JP2008140673A JP2009289336A JP 2009289336 A JP2009289336 A JP 2009289336A JP 2008140673 A JP2008140673 A JP 2008140673A JP 2008140673 A JP2008140673 A JP 2008140673A JP 2009289336 A JP2009289336 A JP 2009289336A
Authority
JP
Japan
Prior art keywords
ram
initialization
initial value
address signal
value data
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.)
Withdrawn
Application number
JP2008140673A
Other languages
English (en)
Inventor
Osamu Nakanishi
理 中西
Takahisa Chuko
貴久 中湖
Toshiharu Asaka
俊治 淺香
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Electronics Corp
Original Assignee
NEC Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Electronics Corp filed Critical NEC Electronics Corp
Priority to JP2008140673A priority Critical patent/JP2009289336A/ja
Publication of JP2009289336A publication Critical patent/JP2009289336A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Tests Of Electronic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

【課題】RAMを備える半導体集積回路のスキャンテストに要する総時間を短縮すること。
【解決手段】半導体集積回路1は、RAM10と、第1論理回路100と、第2論理回路200と、初期化回路20とを備える。RAM10の初期化において、初期化回路20は、RAM10中の各メモリ領域に関して、アドレスを示す初期化アドレス信号ADDI及び初期値データDIを生成する。初期値データDIは、初期化アドレス信号ADDIに依存する。RAM10は、初期化アドレス信号ADDIで指定されるメモリ領域に初期値データDIを書き込む。初期化後のスキャンテストにおいて、第1論理回路100は、テストパタンPATに応じてアドレス信号ADDを生成し、そのアドレス信号ADDをRAM10に出力する。RAM10は、アドレス信号ADDで指定されるメモリ領域から初期値データDIを読み出し、読み出された初期値データDIを第2論理回路200に出力する。
【選択図】図1

Description

本発明は、RAM(Random Access Memory)を備える半導体集積回路及びそのテスト方法に関する。
半導体集積回路のテスト容易化設計(DFT: Design For Testability)の一手法として、スキャン設計が知られている。スキャン設計によれば、設計回路内のフリップフロップの全て又は一部が、スキャンフリップフロップに置き換えられる。スキャンテスト時には、スキャンフリップフロップ同士が接続され、多段のスキャンフリップフロップからなるスキャンチェーンが構成される。そのスキャンチェーンを通してテストパタンを入力及び出力することにより、スキャンテストが行なわれる。テストパタンは、ATPG(Automatic Test Pattern Generator)によってあらかじめ自動的に生成される。
一般に、スキャンテストにより検出され得る故障は、論理回路部における縮退故障や遅延故障である。しかしながら、論理回路部の他にRAMを備える半導体集積回路の場合、RAMのインターフェース(入力端子、出力端子)につながるパスの遅延故障を検出することも望まれる。この場合、RAMのインターフェースに関して、実動作速度テスト(at-speed test)を行うことが必要である。そのような技術が、特許文献1及び特許文献2に開示されている。
特許文献1には、第1の記憶素子と第2の記憶素子との間に設けられたメモリを有する半導体集積回路を検査する方法が記載されている。まず、各メモリ領域に初期値が書き込まれ、メモリが初期化される。この初期値は、ユーザによって、検査の観点から有効なものにあらかじめ決定される。そして、メモリは、アドレスの入力に応答してその初期値を出力するような「組み合わせ回路」でモデル化される。ATPGは、メモリをその組み合わせ回路(モデル)とみなすことにより、スキャンテスト用のテストパタンを生成する。メモリの初期化の後、スキャンシフト動作により、第1の記憶素子に上記テストパタンが与えられる。次に、第1の記憶素子に与えられたテストパタンに応じたメモリアクセス信号が、通常動作で使用されるパスを通してメモリ回路に与えられる。そのメモリアクセス信号に応答してメモリから出力される値は、通常動作で使用されるパスを通して第2の記憶素子に取り込まれる。そして、第2の記憶素子に取り込まれた値は、スキャンシフト動作により読み出される。
特許文献2には、半導体集積回路のテスト方法が記載されている。まず、メモリBIST回路が、RAMの故障テストを行う。故障テストの合格の後、メモリBIST回路は、ユーザによって予め決定された所望のメモリ用テストパタンをRAMに書き込む。その一方で、スキャンチェーンを用いることにより、ロジック用テストパタンのシフトインが行われる。このロジック用テストパタンは、ATPGがRAMを「ROM(Read Only Memory)」とみなすことにより生成する。シフトインの後、ロジック用テストパタンと組み合わせ論理回路によって、読み出し命令信号が生成される。RAMは、読み出し命令信号に応答してデータを読み出し、読み出しデータを出力する。読み出しデータと組み合わせ論理回路によって生成されるテスト結果は、スキャンチェーンを通して出力される。
特開2005−235368号公報 特開2007−17236号公報
本願発明者は次の点に着目した。上述の関連技術によれば、スキャンテストの前に、予め決定されている初期値がRAMに書き込まれ、RAMの初期化が行われる。しかしながら、RAMの規模が大きくなるにつれ、検査の観点から有効な初期値を決定することは困難になる。つまり、初期値の決定に要する時間が増大し、且つ、ユーザの負担も重くなる。また、RAMの規模が大きくなり、初期値が複雑になると、その分RAMのモデルも複雑になる。よって、ATPGがテストパタンを生成するために要する時間も増大し、テストパタンの数も増加してしまう。このように、初期値の決定やテストパタンの生成を含め、テストに要する総時間が増大する。
以下に、[発明を実施するための最良の形態]で使用される番号・符号を用いて、[課題を解決するための手段]を説明する。これらの番号・符号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]との対応関係を明らかにするために括弧付きで付加されたものである。ただし、それらの番号・符号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
本発明の一実施の形態において、半導体集積回路(1)が提供される。その半導体集積回路(1)は、RAM(10)と、RAM(10)にアドレス信号(ADD)を供給する第1論理回路(100)と、RAM(10)から読み出しデータ(DR)を受け取る第2論理回路(200)と、初期化回路(20)と、を備える。RAM(10)の初期化において、初期化回路(20)は、RAM(10)中の各メモリ領域に関して、アドレスを示す初期化アドレス信号(ADDI)及び初期値データ(DI)を生成する。この初期値データ(DI)は、初期化アドレス信号(ADDI)に依存する。RAM(10)は、初期化アドレス信号(ADDI)で指定されるメモリ領域に初期値データ(DI)を書き込む。初期化後のスキャンテストにおいて、第1論理回路(100)は、テストパタン(PAT)に応じてアドレス信号(ADD)を生成し、生成されたアドレス信号(ADD)をRAM(10)に出力する。RAM(10)は、そのアドレス信号(ADD)で指定されるメモリ領域から初期値データ(DI)を読み出し、読み出された初期値データ(DI)を第2論理回路(200)に出力する。
本発明の一実施の形態において、RAM(10)を備える半導体集積回路(1)のテスト方法が提供される。まず、RAM(10)中の各メモリ領域に初期値データ(DI)が書き込まれる。初期値データ(DI)は、当該初期値データ(DI)が書き込まれるメモリ領域のアドレス(ADDI)に依存している。その後、半導体集積回路(1)のスキャンテストが実施される。このスキャンテストでは、テストパタン(PAT)に応じてアドレス信号(ADD)が生成され、そのアドレス信号(ADD)が、通常動作時の入力パスを通してRAM(10)に入力される。RAM(10)では、入力されたアドレス信号(ADD)で指定されるメモリ領域から初期値データ(DI)が読み出される。読み出された初期値データ(DI)は、RAM(10)から通常動作時の出力パスに出力される。
本発明によれば、RAMの初期化で用いられる初期値は簡単に決定される。また、RAMは、単純な回路でモデル化され得る。従って、ATPGがテストパタンを生成するために要する時間が短縮され、また、テストパタンの数も抑えられる。結果として、初期値の決定やテストパタンの生成を含め、テストに要する総時間が短縮される。
添付図面を参照して、本発明の実施の形態に係る半導体集積回路及びそのテスト方法を説明する。
1.回路構成及び動作
図1は、本発明の実施の形態に係る半導体集積回路1の構成を示すブロック図である。半導体集積回路1は、RAM10、初期化回路20、セレクタ30、40、制御回路50、第1論理回路100、及び第2論理回路200を備えている。
RAM10は、メモリセルアレイ11、書き込み回路12、読み出し回路13、データ入力端子IN、アドレス入力端子AIN、及びデータ出力端子OUTを有している。メモリセルアレイ11は、アレイ状に配置された複数のメモリセルから構成され、データを記憶するメモリ領域として機能する。メモリセルアレイ11中のアクセス対象のメモリ領域は、当該メモリ領域のアドレスを示すアドレス信号によって指定される。
アドレス信号は、アドレス入力端子AINを通してRAM10に入力される。入力されたアドレス信号は、書き込み回路12及び読み出し回路13に送られる。書き込みデータは、データ入力端子INを通してRAM10に入力され、書き込み回路12に送られる。書き込み回路12は、アドレス信号で指定されるメモリ領域に書き込みデータを書き込むことができる。一方、読み出し回路13は、アドレス信号で指定されるメモリ領域から記録データを読み出すことができる。読み出された記録データは、読み出しデータDRとしてデータ出力端子OUTから出力される。尚、RAM10は、クロック信号CLKに基づいて動作する。
第1論理回路100は、セレクタ30を介して、RAM10のアドレス入力端子AINに接続されている。この第1論理回路100は、アクセス対象のメモリ領域を指定するアドレス信号ADDをRAM10に供給する回路である。具体的には、通常動作時あるいはスキャンテスト時、第1論理回路100は、アドレス信号ADDを生成し、出力する。そのアドレス信号ADDは、セレクタ30を通して、RAM10のアドレス入力端子AINに入力される。尚、第1論理回路100は、クロック信号CLKに基づいて動作する。
第2論理回路200は、RAM10のデータ出力端子OUTに接続されている。通常動作時あるいはスキャンテスト時、この第2論理回路200は、RAM10のデータ出力端子OUTから出力される読み出しデータDRを受け取る。尚、第2論理回路200は、クロック信号CLKに基づいて動作する。
初期化回路20は、スキャンテストの前にRAM10を初期化するために設けられている。図1において、初期化回路20は、セレクタ30を介してアドレス入力端子AINに接続され、セレクタ40を介してデータ入力端子INに接続されている。この初期化回路20は、RAM10の初期化用のアドレス信号ADDI及び初期値データDIを生成し、出力する。初期化アドレス信号ADDIは、RAM10中で初期値データDIが書き込まれるメモリ領域のアドレスを示す。初期化アドレス信号ADDIは、セレクタ30を通して、RAM10のアドレス入力端子AINに入力される。一方、初期値データDIは、セレクタ40を通して、RAM10のデータ入力端子INに入力される。
セレクタ30は、セレクト信号SELに応じて、第1論理回路100から出力されるアドレス信号ADDあるいは初期化回路20から出力される初期化アドレス信号ADDIのいずれか一方を選択する。そして、セレクタ30は、選択された一方のアドレス信号を、RAM10のアドレス入力端子AINに出力する。
セレクタ40は、セレクト信号SELに応じて、所定の論理回路(図示されない)から出力される書き込みデータDWあるいは初期化回路20から出力される初期値データDIのいずれか一方を選択する。そして、セレクタ40は、選択された一方のデータを、RAM10のデータ入力端子INに出力する。
制御回路50は、各回路の動作を制御するための回路である。例えば、制御回路50は、RAM10の動作モードを指定するモード信号MOD、初期化回路20を活性化する初期化イネーブル信号EN、セレクタ30、40を制御するためのセレクト信号SEL等を出力する。
以下、図1で示された半導体集積回路1の通常動作及びスキャンテストを説明する。
(通常動作)
通常動作時、制御回路50は、セレクタ30、40の各々が初期化回路20以外からの出力を選択するように、セレクト信号SELを設定する。モード信号MODは、RAM10の動作に応じて適宜設定される。
第1論理回路100は、アドレス信号ADDを生成し、生成されたアドレス信号ADDをRAM10に対して出力する。セレクタ30は、第1論理回路100から出力されたアドレス信号ADDを、RAM10のアドレス入力端子AINに送る。また、セレクタ40は、所定の論理回路(図示されない)から受け取った書き込みデータDWを、RAM10のデータ入力端子INに送る。書き込み回路12は、アドレス信号ADDで指定されるメモリ領域に書き込みデータDWを書き込む。あるいは、読み出し回路13は、アドレス信号ADDで指定されるメモリ領域から記録データを読み出す。読み出された記録データは、読み出しデータDRとしてデータ出力端子OUTから出力される。第2論理回路200は、RAM10から出力された読み出しデータDRを受け取る。
このように、第1論理回路100からRAM10のアドレス入力端子AINへのパスは、通常動作時に用いられる「アドレス入力パス」である。また、RAM10のデータ出力端子OUTから第2論理回路200へのパスは、通常動作時に用いられる「データ出力パス」である。アドレス入力パス及びデータ出力パスは、RAM10のインターフェース(AIN、OUT)につながっており、且つ、通常動作時に用いられる。
本実施の形態の1つの目的は、これらアドレス入力パス及びデータ出力パスの遅延故障を、スキャンテストにより直接検出することである。この場合、RAM10のインターフェースに関して、実動作速度テストを行うことが必要である。そのために、スキャンテストの開始前にRAM10の初期化が行なわれる。
(RAMの初期化)
RAM10の初期化において、制御回路50は初期化イネーブル信号ENを“Enable”に設定し、これにより初期化回路20は活性化される。また、制御回路50は、セレクタ30、40の各々が初期化回路20からの出力を選択するように、セレクト信号SELを設定する。更に、制御回路50は、モード信号MODを“書き込みモード”に設定する。
初期化回路20は、RAM10中の各メモリ領域に関して、初期化アドレス信号ADDI及び初期値データDIを生成する。後に詳しく説明されるように、本実施の形態によれば、あるメモリ領域に書き込まれる初期値データDIは、当該メモリ領域を指定する初期化アドレス信号ADDIに依存する。すなわち、初期値データDIは、初期化アドレス信号ADDIに基づいて生成される。このような初期値データDIと初期化アドレス信号ADDIとの依存関係は、ある関数fを用いて「DI=f(ADDI)」と表される。
セレクタ30は、初期化回路20から出力された初期化アドレス信号ADDIを、RAM10のアドレス入力端子AINに送る。また、セレクタ40は、初期化回路20によって生成された初期値データDIを、RAM10のデータ入力端子INに出力する。RAM10の書き込み回路12は、初期化アドレス信号ADDIで指定されるメモリ領域に、初期値データDIを書き込む。全てのメモリ領域に初期値データDIがそれぞれ書き込まれると、RAM10の初期化は終了する。制御回路50は、初期化イネーブル信号ENを“Disable”に設定する。
(スキャンテスト)
RAM10の初期化の後に、スキャンテストが始まる。スキャンテスト時、半導体集積回路1の内部でスキャンチェーンSCが構成される。このスキャンチェーンSCは一般的なものと同様である。例えば、第1論理回路100や第2論理回路200は、スキャンフリップフロップを含んでおり、スキャンチェーンSCに組み込まれる。このスキャンチェーンSCを通して、スキャンテスト用のテストパタンPATが入力される。テストパタンPATは、半導体集積回路1の構成を考慮して、ATPGによってあらかじめ作成されている。
スキャンテスト時、制御回路50は、セレクタ30、40の各々が初期化回路20以外からの出力を選択するように、セレクト信号SELを設定する。更に、制御回路50は、モード信号MODを“読み出しモード”に設定する。すなわち、RAM10は、読み出しモードに固定される。また、RAM10は、通常動作時のクロック信号CLKに基づいて動作する。
第1論理回路100は、テストパタンPATに応じてアドレス信号ADDを生成し、生成されたアドレス信号ADDをRAM10に対して出力する。セレクタ30は、第1論理回路100から出力されたアドレス信号ADDを、RAM10のアドレス入力端子AINに送る。このように、アドレス信号ADDは、通常動作時に用いられる「アドレス入力パス」を通して、RAM10に入力される。RAM10の読み出し回路13は、アドレス信号ADDで指定されるメモリ領域から、上記初期化で設定された初期値データDIを読み出す。読み出された初期値データDIは、読み出しデータDRとしてデータ出力端子OUTから出力される。第2論理回路200は、RAM10から出力された読み出しデータDR(初期値データDI)を受け取る。このように、読み出された初期値データDIは、通常動作時に用いられる「データ出力パス」を通して、RAM10から第2論理回路200に送られる。
その後、スキャンチェーンSC上のデータパタンは、外部に出力される。テスト装置は、入力されたテストパタンPATから期待される出力パタンと、実際に出力された出力パタンとを比較することにより、縮退故障あるいは遅延故障といった故障を検出することができる。本実施の形態では、RAM10のインターフェースにつながるアドレス入力パス及びデータ出力パスに関して、実動作速度テストが実現されている。従って、それらアドレス入力パス及びデータ出力パスの遅延故障を、スキャンテストにより直接検出することが可能である。
2.初期化の例
上述の通り、本実施の形態によれば、RAM10が特有な方法で初期化される。すなわち、あるメモリ領域の初期値データDIは、当該メモリ領域を指定する初期化アドレス信号ADDIに依存するように設定される(DI=f(ADDI))。以下、RAM10の初期化の様々な例を説明する。
2−1.第1の例
図2は、RAM10の初期化の第1の例を概略的に示している。初期化回路20は、初期化アドレス信号ADDIを生成するアドレス生成回路21を有している。アドレス生成回路21は、例えば、クロック信号CLKに基づいてアドレスを発生するアドレスカウンタである。アドレス生成回路21は、RAM10中の各メモリ領域を指定する初期化アドレス信号ADDIを順番に生成する。生成された初期化アドレス信号ADDIは、RAM10のアドレス入力端子AINに出力される。更に、初期化アドレス信号ADDIは、初期値データDIとして、RAM10のデータ入力端子INに出力される。すなわち、本例において、初期値データDIは、初期化アドレス信号ADDIと同じである(DI=ADDI)。
簡単のため、アドレスビット数とデータビット数が共に同じ2ビットである場合を考える。アドレスは(A0,A1)で表され、初期値は(Q0,Q1)で表されるとする。本例では、初期値データDIは初期化アドレス信号ADDIと同じである(Q0=A0,Q1=A1)。従って、図2に示されるように、RAM10中の各メモリ領域には、アドレスと同じ初期値が書き込まれる。
図3を参照して、スキャンテストにおけるRAM10の動作を説明する。第1論理回路100によって生成されたアドレス信号ADDは、アドレス入力パスPinを通してRAM10に入力される。RAM10は、クロック信号CLKに基づいて、アドレス信号ADDで指定されるメモリ領域から初期値データDIを読み出す。読み出された初期値データDIは、データ出力パスPoutを通して第2論理回路200に出力される。これにより、通常動作時に用いられるアドレス入力パスPin及びデータ出力パスPoutの遅延故障が検出され得る。
ここで、本例では、初期値(Q0,Q1)がアドレス(A0,A1)と同じであることに留意されたい。つまり、RAM10は、アドレス信号ADDを受け取り、そのアドレス信号ADDと同じ初期値データDIを出力する。この動作は、クロック信号CLKに基づいてアドレス信号ADDをラッチし、アドレス信号ADDを出力するフリップフロップの動作と等価である。すなわち、本例の手法で初期化されたRAM10は、スキャンテストにおいて、フリップフロップと同等に動作する。
図3には、スキャンテストにおけるRAM10の等価モデルが示されている。本例では、RAM10は、2つのフリップフロップでモデル化され得る。1つ目のフリップフロップは、アドレス信号ADDのビットA0を受け取り、そのビットA0(=初期値データDIのビットQ0)を出力する。2つ目のフリップフロップは、アドレス信号ADDのビットA1を受け取り、そのビットA1(=初期値データのビットQ1)を出力する。尚、2つのフリップフロップは、クロック信号CLKに基づいて動作する。
テストパタンPATを作成する際、ATPGは、RAM10を図3で示された等価モデルで置き換える。つまり、ATPGは、RAM10をフリップフロップとみなすことにより、テストパタンPATを作成することができる。RAM10を単純なフリップフロップとみなすことができるため、ATPGがテストパタンPATを生成するために要する時間が短縮される。また、テストパタンPATの数も抑えられる。
また、スキャンテスト時、RAM10に入力されるアドレス信号ADDが変化すると、RAM10から出力されるデータ(初期値データDI)も必ず変化する。それは、初期値がアドレスと同じだからである。遅延故障が発生していない限り、アドレス遷移に応じたデータ出力の変化が検出されるはずである。逆に言えば、アドレス遷移に応じたデータ出力の変化が検出されなければ、アドレス入力パスPinやデータ出力パスPoutにおいて遅延故障が発生していると考えられる。このように、本例によれば、アドレス入力パスPinやデータ出力パスPoutの遅延故障の検出率が向上する。本例において用いられる初期値は、スキャンテストの観点から非常に有効であると言える。
更に、ユーザは、スキャンテストの観点から有効な初期値を、試行錯誤により決定する必要はない。それは、初期値はアドレスと同じであり、自動的(機械的)に決定されるからである。RAM10の規模がどれだけ大きくなっても、初期値はアドレスに基づいて自動的に決定される。従って、初期値の決定に要する時間が大幅に短縮され、且つ、ユーザの負担も軽減される。本実施の形態のように、初期化回路20に、初期値データDIを機械的に生成させることも可能となる。
以上に説明されたように、本例によれば、RAM10の初期化で用いられる初期値は簡単に決定される。その初期値を用いたスキャンテストにより、遅延故障の検出率が向上する。更に、RAM10は、単純な回路でモデル化され得る。従って、ATPGがテストパタンPATを作成するために要する時間が短縮され、また、テストパタンPATの数も抑えられる。結果として、初期値の決定やテストパタンPATの生成を含め、テストに要する総時間が短縮される。
2−2.第2の例
図4は、RAM10の初期化の第2の例を概略的に示している。第1の例と重複する説明は適宜省略される。第2の例では、アドレスビット数がデータビット数よりも多い場合を考える。例えば、アドレスは(A0,A1)で表され、初期値は(Q0)で表されるとする。
この場合、初期値Q0を、アドレスビットA0,A1の論理演算により生成することができる。そのために、初期化回路20は、図4に示されるように、アドレス生成回路21に加えて論理ゲート22を有している。論理ゲート22は、例えばEXOR回路である。EXOR回路は、アドレスビットA0,A1の排他的論理和を初期値Q0として出力する。この場合も、初期値データDI(Q0)は、初期化アドレス信号ADDI(A0,A1)に基づいて生成されており、初期化アドレス信号ADDI(A0,A1)に依存していると言える。このようにして生成された初期値データDIが、RAM10のデータ入力端子INに出力される。図4に示されるように、RAM10中の各メモリ領域には、アドレス(A0,A1)に依存する初期値Q0=f(A0,A1)が書き込まれる。
図5を参照して、スキャンテストにおけるRAM10の等価モデルを説明する。スキャンテストにおいて、RAM10は、アドレス信号ADD(A0,A1)を受け取り、初期値データDI(Q0)を出力する。出力される初期値Q0は、アドレスビットA0,A1の論理演算により得られる値である。従って、図5に示されるように、RAM10は、上述の論理ゲート22とフリップフロップでモデル化され得る。論理ゲート22は、アドレス信号ADD(A0,A1)を受け取り、論理演算結果(Q0)をフリップフロップに出力する。フリップフロップは、論理演算結果(Q0)を受け取り、その論理演算結果(Q0)を出力する。尚、フリップフロップは、クロック信号CLKに基づいて動作する。
テストパタンPATを作成する際、ATPGは、RAM10を図5で示された等価モデルで置き換える。RAM10を単純な回路(論理ゲート+フリップフロップ)とみなすことができるため、ATPGがテストパタンPATを生成するために要する時間が短縮される。また、テストパタンPATの数も抑えられる。更に、初期値は、アドレスに基づいて自動的(機械的)に決定される。従って、初期値の決定に要する時間が大幅に短縮され、且つ、ユーザの負担も軽減される。このように、本例の初期化によっても、第1の例と同様の効果が得られる。
尚、図4及び図5で示された例では、初期化アドレス信号ADDIの全てのビットの論理演算により初期値データDIが生成されているが、それに限られない。任意のアドレスビット数及びデータビット数を考えた場合、初期化アドレス信号ADDIの所定数のビットが論理演算に用いられるとよい。すなわち、初期化回路20は、初期化アドレス信号ADDIの所定数のビットを用いて論理演算を行うことにより、初期化アドレス信号ADDIに依存する初期値データDIを生成する。
2−3.第3の例
図6は、RAM10の初期化の第3の例を概略的に示している。第1の例と重複する説明は適宜省略される。第3の例では、アドレスビット数がデータビット数よりも少ない場合を考える。この場合、初期化回路20は、初期化アドレス信号ADDIに「追加ビット」を追加することにより、初期値データDIを生成する。
例として、アドレスが(A0,A1)で表され、初期値が(Q0,Q1,Q2)で表される場合を考える。この場合、初期化回路20は、アドレスビットA0を初期値のビットQ0として用い、アドレスビットA1を初期値のビットQ1として用いる。更に、初期化回路20は、追加ビットQ2を追加する。例えば、追加ビットQ2の値は、“0”または“1”に固定されている。図6の例では、固定ビット“0”が追加ビットQ2として用いられる。この場合も、初期値データDI(Q0,Q1,Q2)は、初期化アドレス信号ADDI(A0,A1)に基づいて生成されており、初期化アドレス信号ADDI(A0,A1)に依存していると言える。このようにして生成された初期値データDIが、RAM10のデータ入力端子INに出力される。図6に示されるように、RAM10中の各メモリ領域には、アドレス(A0,A1)に依存する初期値(Q0,Q1,Q2)=f(A0,A1)が書き込まれる。
図7を参照して、スキャンテストにおけるRAM10の等価モデルを説明する。スキャンテストにおいて、RAM10は、アドレス信号ADD(A0,A1)を受け取り、初期値データDI(Q0,Q1,Q2)を出力する。ビットQ0、Q1は、アドレスビットA0、A1のそれぞれと同じであり、ビットQ2は固定ビットである。従って、図7に示されるように、RAM10は、2つのフリップフロップと固定データ出力でモデル化され得る。テストパタンPATを作成する際、ATPGは、RAM10を図7で示された等価モデルで置き換える。本例の初期化によっても、第1の例と同様の効果が得られることは明らかである。
2−4.第4の例
図8は、RAM10の初期化の第4の例を概略的に示している。第4の例は、前述の第3の例と比較して、追加ビットQ2の生成方法が異なっている。第3の例と重複する説明は適宜省略される。本例において、追加ビットQ2は、アドレスビットA0,A1の論理演算により生成される。そのために、初期化回路20は、図8に示されるように、論理ゲート22を有している。論理ゲート22は、例えばEXOR回路である。EXOR回路は、アドレスビットA0,A1の排他的論理和を追加ビットQ2として出力する。この場合も、初期値データDI(Q0,Q1,Q2)は、初期化アドレス信号ADDI(A0,A1)に基づいて生成されており、初期化アドレス信号ADDI(A0,A1)に依存していると言える。
図9を参照して、スキャンテストにおけるRAM10の等価モデルを説明する。本例の場合、RAM10は、上述の論理ゲート22と3つのフリップフロップでモデル化され得る。テストパタンPATを作成する際、ATPGは、RAM10を図9で示された等価モデルで置き換える。本例の初期化によっても、第1の例と同様の効果が得られることは明らかである。
尚、図8及び図9で示された例では、初期化アドレス信号ADDIの全てのビットの論理演算により追加ビットQ2が生成されているが、それに限られない。任意のアドレスビット数及びデータビット数を考えた場合、初期化回路20は、初期化アドレス信号ADDIの所定数のビットを用いた論理演算により、必要な数の追加ビットを生成する。
2−5.第5の例
図10は、RAM10の初期化の第5の例を概略的に示している。第5の例は、前述の第3の例と比較して、追加ビットQ2の生成方法が異なっている。第3の例と重複する説明は適宜省略される。本例において、追加ビットQ2は、アドレスビットA0,A1のいずれかと同じである。例えば、図10に示されるように、アドレスビットA1が、初期値のビットQ1だけでなく追加ビットQ2としても用いられる。この場合も、初期値データDI(Q0,Q1,Q2)は、初期化アドレス信号ADDI(A0,A1)に基づいて生成されており、初期化アドレス信号ADDI(A0,A1)に依存していると言える。
図11を参照して、スキャンテストにおけるRAM10の等価モデルを説明する。本例の場合、RAM10は、3つのフリップフロップでモデル化され得る。テストパタンPATを作成する際、ATPGは、RAM10を図11で示された等価モデルで置き換える。本例の初期化によっても、第1の例と同様の効果が得られることは明らかである。
尚、図10及び図11で示された例では、初期化アドレス信号ADDIのあるビットA1が追加ビットQ2として用いられているが、それに限られない。任意のアドレスビット数及びデータビット数を考えた場合、初期化回路20は、初期化アドレス信号ADDIの所定数のビットを用いることにより、必要な数の追加ビットを生成する。
2−6.第6の例
図12は、RAM10の初期化の第6の例を概略的に示している。初期値データDIは、初期化アドレス信号ADDIに依存していればよい。任意のアドレスビット数及びデータビット数を考えた場合、初期化回路20は、初期化アドレス信号ADDIの所定数のビットを用いて論理演算を行うことにより、初期化アドレス信号ADDIに依存する初期値データDIを生成することができる。
2−7.その他の例
初期化アドレス信号ADDIは、半導体集積回路1の内部で生成する必要は必ずしもなく、外部から与えられてもよい。例えば、図13に示される回路構成の場合、初期化アドレス信号ADDIは、外部入力端子ETを通してシフトレジスタ25に供給される。シフトレジスタ25から出力される初期化アドレス信号ADDIは、RAM10のアドレス入力端子AINに入力される。また、初期化アドレス信号ADDIと同じ初期値データDI、あるいは、初期化アドレス信号ADDIに基づいて生成される初期値データDIは、RAM10のデータ入力端子INに入力される。この場合でも、第1の例と同様の効果が得られる。
また、図14に示されるように、初期化回路20は、RAM10に組み込まれていてもよい。この場合、リセット信号RSTに応答して、初期化回路20は、初期化アドレス信号ADDI及び初期値データDIを生成する。上述の例の場合と同様に、初期値データDIは、初期化アドレス信号ADDIに依存している。書き込み回路12は、初期化アドレス信号ADDIで指定されるメモリ領域に、初期値データDIを書き込む。このように、リセット機能を用いて、RAM10の内部において自動的に初期化を実施することも可能である。この場合でも、第1の例と同様の効果が得られる。
3.効果
本実施の形態によれば、スキャンテストのために、RAM10が特有な方法で初期化される。具体的には、初期値データDIは初期化アドレス信号ADDIに依存するように決定される(DI=f(ADDI))。これにより、スキャンテスト時のRAM10を、単純な回路でモデル化することが可能となる。従って、ATPGがテストパタンPATを作成するために要する時間が短縮され、また、テストパタンPATの数も抑えられる。
更に、スキャンテスト時、RAM10に入力されるアドレス信号ADDが変化すると、RAM10から出力されるデータ(初期値データDI)も必ず変化する。従って、アドレス入力パスPinやデータ出力パスPoutの遅延故障の検出率が向上する。本実施の形態において用いられる初期値は、スキャンテストの観点から非常に有効であると言える。
更に、ユーザは、スキャンテストの観点から有効な初期値を、試行錯誤により決定する必要はない。それは、初期値がアドレスに基づいて自動的(機械的)に決定されるからである。RAM10の規模がどれだけ大きくなっても、初期値はアドレスに基づいて自動的に決定される。従って、初期値の決定に要する時間が大幅に短縮され、且つ、ユーザの負担も軽減される。初期化回路20に、初期値データDIを機械的に生成させることも可能となる。
以上、本発明の実施の形態が添付の図面を参照することにより説明された。但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。
図1は、本発明の実施の形態に係る半導体集積回路1の構成を示すブロック図である。 図2は、本実施の形態に係るRAMの初期化の第1の例を概略的に示すブロック図である。 図3は、第1の例の場合の、スキャンテストにおけるRAMの動作を説明するためのブロック図である。 図4は、本実施の形態に係るRAMの初期化の第2の例を概略的に示すブロック図である。 図5は、第2の例の場合の、スキャンテストにおけるRAMの動作を説明するためのブロック図である。 図6は、本実施の形態に係るRAMの初期化の第3の例を概略的に示すブロック図である。 図7は、第3の例の場合の、スキャンテストにおけるRAMの動作を説明するためのブロック図である。 図8は、本実施の形態に係るRAMの初期化の第4の例を概略的に示すブロック図である。 図9は、第4の例の場合の、スキャンテストにおけるRAMの動作を説明するためのブロック図である。 図10は、本実施の形態に係るRAMの初期化の第5の例を概略的に示すブロック図である。 図11は、第5の例の場合の、スキャンテストにおけるRAMの動作を説明するためのブロック図である。 図12は、本実施の形態に係るRAMの初期化の第6の例を概略的に示すブロック図である。 図13は、本実施の形態に係るRAMの初期化のその他の例を概略的に示すブロック図である。 図14は、本実施の形態に係るRAMの初期化のその他の例を概略的に示すブロック図である。
符号の説明
1 半導体集積回路
10 RAM
20 初期化回路
21 アドレス生成回路
22 論理ゲート
30 セレクタ
40 セレクタ
50 制御回路
100 第1論理回路
200 第2論理回路
ADD アドレス信号
ADDI 初期化アドレス信号
DI 初期値データ
DR 読み出しデータ
DW 書き込みデータ
CLK クロック信号
SC スキャンチェーン
PAT テストパタン

Claims (7)

  1. RAMと、
    前記RAMにアドレス信号を供給する第1論理回路と、
    前記RAMから読み出しデータを受け取る第2論理回路と、
    初期化回路と
    を備え、
    前記RAMの初期化において、
    前記初期化回路は、前記RAM中の各メモリ領域に関して、アドレスを示す初期化アドレス信号及び前記初期化アドレス信号に依存する初期値データを生成し、
    前記RAMは、前記初期化アドレス信号で指定されるメモリ領域に前記初期値データを書き込み、
    前記初期化の後のスキャンテストにおいて、
    前記第1論理回路は、テストパタンに応じてアドレス信号を生成し、前記生成されたアドレス信号を前記RAMに出力し、
    前記RAMは、前記生成されたアドレス信号で指定されるメモリ領域から前記初期値データを読み出し、前記読み出された初期値データを前記第2論理回路に出力する
    半導体集積回路。
  2. 請求項1に記載の半導体集積回路であって、
    前記初期値データは、前記初期化アドレス信号と同じである
    半導体集積回路。
  3. 請求項1に記載の半導体集積回路であって、
    前記初期化回路は、前記初期化アドレス信号の所定数のビットを用いて論理演算を行うことにより、前記初期値データを生成する
    半導体集積回路。
  4. 請求項1に記載の半導体集積回路であって、
    前記初期化回路は、前記初期化アドレス信号に追加ビットを追加することにより、前記初期値データを生成する
    半導体集積回路。
  5. 請求項4に記載の半導体集積回路であって、
    前記追加ビットの値は固定されている
    半導体集積回路。
  6. 請求項4に記載の半導体集積回路であって、
    前記初期化回路は、前記初期化アドレス信号の所定数のビットを用いることにより前記追加ビットを生成する
    半導体集積回路。
  7. RAMを備える半導体集積回路のテスト方法であって、
    前記RAM中の各メモリ領域に初期値データを書き込むことと、
    ここで、前記初期値データは、前記初期値データが書き込まれるメモリ領域のアドレスに依存しており、
    前記初期値データの書き込みの後に、前記半導体集積回路のスキャンテストを実行することと
    を含み、
    前記スキャンテストは、
    テストパタンに応じてアドレス信号を生成することと、
    前記生成されたアドレス信号を、通常動作時の入力パスを通して前記RAMに入力することと、
    前記入力されたアドレス信号で指定されるメモリ領域から前記初期値データを読み出すことと、
    前記読み出された初期値データを、前記RAMから通常動作時の出力パスに出力することと
    を含む
    半導体集積回路のテスト方法。
JP2008140673A 2008-05-29 2008-05-29 半導体集積回路及びそのテスト方法 Withdrawn JP2009289336A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008140673A JP2009289336A (ja) 2008-05-29 2008-05-29 半導体集積回路及びそのテスト方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008140673A JP2009289336A (ja) 2008-05-29 2008-05-29 半導体集積回路及びそのテスト方法

Publications (1)

Publication Number Publication Date
JP2009289336A true JP2009289336A (ja) 2009-12-10

Family

ID=41458417

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008140673A Withdrawn JP2009289336A (ja) 2008-05-29 2008-05-29 半導体集積回路及びそのテスト方法

Country Status (1)

Country Link
JP (1) JP2009289336A (ja)

Similar Documents

Publication Publication Date Title
US7814385B2 (en) Self programmable shared bist for testing multiple memories
US7340658B2 (en) Technique for combining scan test and memory built-in self test
US20050204239A1 (en) Method for testing semiconductor integrated circuit
US20060080584A1 (en) Built-in self-test system and method for an integrated circuit
JP2010256130A (ja) 半導体集積回路、および半導体集積回路のテスト方法
US7484154B2 (en) Semiconductor integrated circuit, method for testing semiconductor integrated circuit, and computer readable medium for the same
US7152194B2 (en) Method and circuit for scan testing latch based random access memory
JP2005128012A (ja) スキャンテスト方法、装置およびシステム
JP2004093433A (ja) 半導体テスト回路
JP2010102791A (ja) 半導体装置およびそのテスト方法
JP5169597B2 (ja) 集積回路および試験方法
CN110415751B (zh) 一种可参数化配置的存储器内建自测试电路
JP2008505310A (ja) 回路装置、及び、前記回路装置に設けられたアプリケーション回路の試験方法
JP2006337289A (ja) 半導体集積回路装置とそのテスト方法
JP2007272982A (ja) 半導体記憶装置およびその検査方法
JP4682077B2 (ja) 半導体集積回路
Cheng Comprehensive study on designing memory BIST: algorithms, implementations and trade-offs
JP5158087B2 (ja) 半導体集積回路装置および半導体集積回路装置の試験方法
JP2006277821A (ja) 半導体集積回路
JP2009289336A (ja) 半導体集積回路及びそのテスト方法
US7539598B2 (en) Semiconductor test apparatus and method thereof and multiplexer and method thereof
US20030182607A1 (en) Semiconductor memory device and method of testing same
JP3791757B2 (ja) 診断機能を備えた半導体集積回路
JP5625241B2 (ja) 半導体装置及びその試験方法
JP2614413B2 (ja) 集積回路

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20110802