JP4427068B2 - 擬似乱数発生器、半導体集積回路、該半導体集積回路の設計データを記録した記録媒体、擬似乱数発生器制御方法 - Google Patents

擬似乱数発生器、半導体集積回路、該半導体集積回路の設計データを記録した記録媒体、擬似乱数発生器制御方法 Download PDF

Info

Publication number
JP4427068B2
JP4427068B2 JP2007057790A JP2007057790A JP4427068B2 JP 4427068 B2 JP4427068 B2 JP 4427068B2 JP 2007057790 A JP2007057790 A JP 2007057790A JP 2007057790 A JP2007057790 A JP 2007057790A JP 4427068 B2 JP4427068 B2 JP 4427068B2
Authority
JP
Japan
Prior art keywords
random number
pseudo
number generator
test pattern
output
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
JP2007057790A
Other languages
English (en)
Other versions
JP2008218923A (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 Ltd
Original Assignee
Fujitsu 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 Ltd filed Critical Fujitsu Ltd
Priority to JP2007057790A priority Critical patent/JP4427068B2/ja
Priority to US12/073,553 priority patent/US7895492B2/en
Publication of JP2008218923A publication Critical patent/JP2008218923A/ja
Application granted granted Critical
Publication of JP4427068B2 publication Critical patent/JP4427068B2/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/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318536Scan chain arrangements, e.g. connections, test bus, analog signals
    • G01R31/318538Topological or mechanical aspects
    • 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/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318541Scan latches or cell details
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • G06F7/584Pseudo-random number generators using finite field arithmetic, e.g. using a linear feedback shift register
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/58Indexing scheme relating to groups G06F7/58 - G06F7/588
    • G06F2207/583Serial finite field implementation, i.e. serial implementation of finite field arithmetic, generating one new bit or trit per step, e.g. using an LFSR or several independent LFSRs; also includes PRNGs with parallel operation between LFSR and outputs

Description

この発明は、半導体集積回路の製造不良を検出するための組込自己試験(BIST)に用いられる、擬似乱数発生器、半導体集積回路、該半導体集積回路の設計データを記録した記録媒体、擬似乱数発生器制御方法、擬似乱数発生器制御プログラム、該擬似乱数発生器制御プログラムを記録した記録媒体、および擬似乱数発生器制御装置に関する。
近年、半導体集積回路試験の試験方法として、試験時間短縮などの目的から、擬似乱数発生器(以下、「LFSR(Linear Feedback Shift Register)」という)を用いた組込自己試験(以下、「BIST(BiltIn Self Test)」という)が用いられている。
ここで、従来技術によるLFSRを利用した半導体集積回路について説明する。図12は、従来技術によるLFSRの回路構成を示す説明図である。図12に示すように、擬似乱数発生器(LFSR)1200は、主にF/Fを用いた4ビットのシフトレジスタが形成されている。また、先頭ビットと最終ビットとの排他的論理和を先頭ビットに帰還させるEOR回路が設けられている。
この擬似乱数発生器(LFSR)1200のように、nビットのシフトレジスタを擬似乱数発生器(LFSR)1200として用いることにより、2n−1を最大周期とするテストパターンを出力することができる。たとえば、図12に示すように、4ビットのシフトレジスタを用いた擬似乱数発生器(LFSR)1200であれば、最大周期を15としたテストパターンを出力することができる。そして、図12に示すように、シフトレジスタの先頭ビットから順に“1101”のシード値が設定されている場合、擬似乱数発生器(LFSR)1200は、テストパターン“101100100011・・・”を出力することができる。
また、図13は、従来技術によるLFSRを備えた試験対象回路の回路構成を示す説明図である。図13において、試験対象回路1300は、図12に示した擬似乱数発生器(LFSR)1200、複数のF/Fからなるスキャンパス1310,1320,1330,1340、および出力検証器(MISR)1350を備えて構成されている。
この試験対象回路1300を用いてBISTをおこなう場合、まず、外部からの制御信号の入力により、擬似乱数発生器(LFSR)1200に対してシード値を設定する。そして、外部からの制御信号の入力により、擬似乱数発生器(LFSR)1200に対して制御信号を与えると、擬似乱数発生器(LFSR)1200から出力されたテストパターンが各スキャンパス1310〜1340の先頭F/Fに順次シフトインされる。続いて、システムクロックを与えることによって、F/Fに格納されているテストパターンが読み出され、各スキャンパス1310〜1340からの出力結果が、MISR1350に圧縮格納される。
このように、試験対象回路1300の内部に擬似乱数発生器(LFSR)1200を設けたことにより、多数のテストパターンを用いた試験対象回路1300のBISTをおこなうことができるが、擬似乱数発生器(LFSR)1200から出力されたテストパターンと、ATPG(Automatic Test Pattern Generator)から自動生成された故障検出率の高いテストパターンとのマッチングをどうおこなうかが問題になってくる。
そこで、LFSRから出力されたテストパターンを外部からの制御信号の入力により修正する、またはLFSRに対するシード値を修正するなどによって、LFSRから出力されたテストパターンとATPGから自動生成された故障検出率の高いテストパターン(以下、「ATPGパターン」という)とをマッチングさせる試験方法が考案されている。(たとえば、下記特許文献1および2参照。)。このような試験方法によれば、膨大な量のテストパターンを記憶させておくための大容量のメモリを必要とせずに、故障検出率の高いテストパターンによるBISTを効率的かつ短時間でおこなうことができるものとされている。
特開2002−236144号公報 特表2003−518245号公報
しかしながら、上記特許文献1および2に記載の従来技術にあっては、テストパターンの修正に伴うコスト(クロック数)までは考慮されていないため、テストパターンの修正に伴うコストの観点からの試験時間を短縮することができなかった。
ここで、従来技術によるテストパターンのマッチング方法について説明する。図14は、従来技術によるテストパターンのマッチング方法を示す説明図である。
たとえば、図14に示すように、ATPGパターンが“10X1100X10・・・”の場合、(1)まず、擬似乱数発生器(LFSR)に対してシード値“1101”を設定する。このとき必要なクロック数は4である。これにより、テストパターンは“101100100011110・・・”に仮決定される。(2)つぎに、擬似乱数発生器(LFSR)を、ATPGパターンとマッチングする4ビット分シフトさせる。このとき必要なクロック数は4である。
(3)続いて、擬似乱数発生器(LFSR)に対してシード値“0001”を再設定する。このとき必要なクロック数は4である。(4)そして、擬似乱数発生器(LFSR)を、ATPGパターンとマッチングする5ビット分シフトさせる。このとき必要なクロック数は5である。(5)さらに、擬似乱数発生器(LFSR)に対してシード値“0・・・”を再設定する。このとき必要なクロック数は4である。ここまでの処理(1)〜(5)に必要としたクロック数は21である。
このように、4ビットのシフトレジスタに対して、シード値を再設定する場合は、少なくともクロック数4の制御信号を必要としていた。このため、テストパターンの修正に伴うコストの観点からの試験時間を短縮することができなかった。
この発明は、上述した従来技術による問題点を解消するため、膨大な量のテストパターンを記憶させておくための大容量のメモリを必要とせずに、故障検出率の高いテストパターンによるBISTをより効率的かつ短時間でおこなうことができる擬似乱数発生器、半導体集積回路、該半導体集積回路の設計データを記録した記録媒体、擬似乱数発生器制御方法、擬似乱数発生器制御プログラム、該擬似乱数発生器制御プログラムを記録した記録媒体、および擬似乱数発生器制御装置を提供することを目的とする。
上述した課題を解決し、目的を達成するため、第1の発明にかかる擬似乱数発生器は、複数ビットの第1の疑似乱数を半導体集積回路のテストパターンとして出力するシフトレジスタと、外部からの制御信号の入力に応じて、前記第1の疑似乱数に基づいて前記第1の疑似乱数から所定クロック数経過後に前記シフトレジスタへ与えられる第2の疑似乱数を生成し、前記シフトレジスタへ入力することにより前記第1の疑似乱数の位相を変更する位相変更回路と、を備え、前記シフトレジスタは、前記第2の疑似乱数が入力されると、当該第2の疑似乱数を前記半導体集積回路のテストパターンとして出力することを特徴とする。
この発明によれば、外部からの制御信号の入力に応じて、任意のテストパターンを効率的に生成することができる。
また、上記発明において、前記位相変更回路は、前記シフトレジスタのビット数をi(i=1〜n)とした場合において、クロック数iの制御信号の入力に応じて、前記第1の疑似乱数の −1の位相変更をおこなうこととしてもよい。
この発明によれば、外部からの限られたクロック数による制御信号の入力に応じて、任意のテストパターンを効率的に生成することができる。
また、第2の発明にかかる半導体集積回路は、複数ビットの第1の疑似乱数を半導体集積回路のテストパターンとして出力するシフトレジスタと、外部からの制御信号の入力に応じて、前記第1の疑似乱数に基づいて前記第1の疑似乱数から所定クロック数経過後に前記シフトレジスタへ与えられる第2の疑似乱数を生成し、前記シフトレジスタへ入力することにより前記第1の疑似乱数の位相を変更する位相変更回路と、からなり、前記シフトレジスタが、前記第2の疑似乱数が入力されると、当該第2の疑似乱数を前記半導体集積回路のテストパターンとして出力する疑似乱数発生器と、前記疑似乱数発生器から出力されたテストパターンが入力される試験対象回路と、を備えることを特徴とする。
この発明によれば、外部からの制御信号の入力に応じて効率的に生成された任意のテストパターンによる試験対象回路のテストをおこなうことができる。
また、第3の発明にかかる半導体集積回路は、複数ビットの第1の疑似乱数を半導体集積回路のテストパターンとして出力するシフトレジスタと、外部からの制御信号の入力に応じて、前記第1の疑似乱数に基づいて前記第1の疑似乱数から所定クロック数経過後に前記シフトレジスタへ与えられる第2の疑似乱数を生成し、前記シフトレジスタへ入力することにより前記第1の疑似乱数の位相を変更する位相変更回路と、からなり、前記シフトレジスタが、前記第2の疑似乱数が入力されると、当該第2の疑似乱数を前記半導体集積回路のテストパターンとして出力する疑似乱数発生器と、外部からの制御信号の入力に応じて、前記擬似乱数発生器から出力されたテストパターンを修正するテストパターン修正器と、前記テストパターン修正器によって修正されたテストパターンが入力される試験対象回路と、を備えることを特徴とする。
この発明によれば、外部からの制御信号の入力に応じてより効率的に生成された任意のテストパターンによる試験対象回路のテストをおこなうことができる。
また、第4の発明にかかる半導体集積回路は、複数ビットの第1の疑似乱数を半導体集積回路のテストパターンとして出力するシフトレジスタと、外部からの制御信号の入力に応じて、前記第1の疑似乱数に基づいて前記第1の疑似乱数から所定クロック数経過後に前記シフトレジスタへ与えられる第2の疑似乱数を生成し、前記シフトレジスタへ入力することにより前記第1の疑似乱数の位相を変更する位相変更回路と、からなり、前記シフトレジスタが、前記第2の疑似乱数が入力されると、当該第2の疑似乱数を前記半導体集積回路のテストパターンとして出力する疑似乱数発生器と、試験対象回路と、前記試験対象回路から出力された出力パターンの中の不定値を、前記擬似乱数発生器から出力されるテストパターンによりマスクする不定マスク器と、を備えることを特徴とする。
この発明によれば、外部からの制御信号の入力に応じて効率的に生成された任意のテストパターンにより不定値がマスクされた出力パターンを試験対象回路から出力することができる。
また、第5の発明にかかる半導体集積回路は、複数ビットの第1の疑似乱数を半導体集積回路のテストパターンとして出力するシフトレジスタと、外部からの制御信号の入力に応じて、前記第1の疑似乱数に基づいて前記第1の疑似乱数から所定クロック数経過後に前記シフトレジスタへ与えられる第2の疑似乱数を生成し、前記シフトレジスタへ入力することにより前記第1の疑似乱数の位相を変更する位相変更回路と、からなり、前記シフトレジスタが、前記第2の疑似乱数が入力されると、当該第2の疑似乱数を前記半導体集積回路のテストパターンとして出力する疑似乱数発生器と、試験対象回路と、外部からの制御信号の入力に応じて、前記擬似乱数発生器から出力されたテストパターンを修正するテストパターン修正器と、前記試験対象回路から出力された出力パターンの中の不定値を、前記テストパターン修正器によって修正されたテストパターンによりマスクする不定マスク器と、を備えたことを特徴とする。
この発明によれば、外部からの制御信号の入力に応じてより効率的に生成された任意のテストパターンにより不定値がマスクされた出力パターンを試験対象回路から出力することができる。
また、第6の発明にかかる記録媒体は、上記発明の設計データをコンピュータ読み取り可能に記録したことを特徴とする。
この発明によれば、上記発明の設計データをコンピュータに読み取らせ、設計データの編集や、上記発明のシミュレーションなどをコンピュータにより実行することができる。
また、第7の発明にかかる擬似乱数発生器制御方法、擬似乱数発生器制御プログラム、および擬似乱数発生器制御装置は、複数ビットの第1の擬似乱数を半導体集積回路のテストパターンとして出力するシフトレジスタと、外部からの制御信号の入力に応じて、前記第1の疑似乱数に基づいて前記第1の疑似乱数から所定クロック数経過後に前記シフトレジスタへ与えられる第2の疑似乱数を生成し、前記シフトレジスタへ入力することにより前記第1の疑似乱数の位相を変更する位相変更回路と、からなり、前記シフトレジスタは、前記第2の疑似乱数が入力されると、当該第2の疑似乱数を前記半導体集積回路のテストパターンとして出力する擬似乱数発生器を制御する擬似乱数発生器制御方法、擬似乱数発生器制御プログラム、および擬似乱数発生器制御装置であって、前記第1の疑似乱数が前記シフトレジスタから出力された位相変更前のテストパターンおよびATPGから出力されたATPGパターンを取得し、取得されたATPGパターンをブロック単位で抽出し、抽出されたブロックごとに、当該ブロックに含まれる信号列と一致する信号列を、前記位相変更前のテストパターンの中から検索し、検索された信号列に基づいて、前記擬似乱数発生器に出力する制御信号を決定し、決定された制御信号を、前記擬似乱数発生器に出力することを特徴とする。
この発明によれば、任意のテストパターンをより効率的に生成させるべく、擬似乱数発生器を制御することができる。
本発明にかかる擬似乱数発生器、半導体集積回路、該半導体集積回路の設計データを記録した記録媒体、擬似乱数発生器制御方法、擬似乱数発生器制御プログラム、該擬似乱数発生器制御プログラムを記録した記録媒体、および擬似乱数発生器制御装置によれば、膨大な量のテストパターンを記憶させておくための大容量のメモリを必要とせずに、故障検出率の高いテストパターンによるBISTをより効率的かつ短時間でおこなうことができるという効果を奏する。
以下に添付図面を参照して、この発明にかかる擬似乱数発生器、半導体集積回路、該半導体集積回路の設計データを記録した記録媒体、擬似乱数発生器制御方法、擬似乱数発生器制御プログラム、該擬似乱数発生器制御プログラムを記録した記録媒体、および擬似乱数発生器制御装置の好適な実施の形態を詳細に説明する。
(実施の形態1)
まず、この発明の実施の形態1にかかる擬似乱数発生器の回路構成について説明する。図1は、この発明の実施の形態1にかかる擬似乱数発生器の回路構成を示す説明図である。
図1に示すように、LFSR100は、主にF/F(X1〜x4)を用いた4ビットのシフトレジスタが形成されている。また、先頭ビット(X4)と最終ビット(X1)との排他的論理和を先頭ビット(X4)に帰還させるEOR回路が設けられており、これにより、最大周期を15としたテストパターンを出力することができる。
また、LFSR100には、主にEOR回路およびマルチプレクサから構成され、外部から入力された制御信号により、上記シフトレジスタから出力されるテストパターン(以下、「テストパターン」という)の15までの位相変更をおこなうことができる位相変更回路が形成されている。なお、図1においては、便宜上、一部の位相変更回路を省略している。
この位相変更回路は、クロック数1の制御信号が入力されることで、この制御信号に応じて、テストパターンの位相を、“1(20)”、“2(21)”、“4(22)”、または“8(23)”変更することができる構成となっている。
ここで、位相変更回路の決定方法について説明する。たとえば、図1に示した、LFSR100のように、4ビットのF/F(X1〜X4)からなる位相変更回路の場合において、F/Fの値をX=(X1,X2,X3,X4)としたとき、位相をz変更する回路は、以下に示す式(1)〜(3)によって決定される。
Figure 0004427068
たとえば、位相を“2”変更する回路は、以下に示す式(4)によって表わされる。
Figure 0004427068
たとえば、1行目の{0,0,1,0}は、F/F(X1)にF/F(X3)の値を設定する回路であることを示す。また、2行目の{0,0,0,1}は、F/F(X2)にF/F(X4)の値を設定する回路であることを示す。
また、3行目の{1,0,0,1}は、F/F(X3)にF/F(X1)とF/F(X4)との排他的論理和を設定する回路であることを示す。そして、4行目の{1,1,0,1}は、F/F(X4)にF/F(X1)とF/F(X2)とF/F(X4)との排他的論理和を設定する回路であることを示す。
この位相変更回路において、たとえば、図1に示すように、シフトレジスタの先頭ビットから順に“1101”のシード値が設定されている場合、LFSR100は、テストパターン“101100100011・・・”を出力することができるが、仮にATPGから自動生成されたテストパターンが“1100100011・・・”であった場合、両テストパターンはマッチングしない。
そこで、位相変更回路に対して位相を“2(21)”変更する旨の制御信号を入力することで、LFSRから出力されるテストパターンの位相を“2(21)”変更して、テストパターン“1100100011・・・”を出力することができる。これにより、両テストパターンをマッチングさせることができる。
また、たとえば、テストパターンの位相を“15”変更したい場合は、わずかクロック数4の制御信号(位相を“1”変更する制御信号、位相を“2”変更する制御信号、位相を“4”変更する制御信号、および位相を“8”変更する制御信号)を位相変更回路に入力すればよい。そして、たとえば、テストパターンの位相を“8”変更したい場合は、わずかクロック数1の制御信号(位相を“8”変更する制御信号)を位相変更回路に入力すればよい。
ここで、この発明の実施の形態1にかかる擬似乱数発生器によるテストパターンのマッチング方法を示す説明図である。図2は、この発明の実施の形態1にかかる擬似乱数発生器によるテストパターンのマッチング方法を示す説明図である。
たとえば、図2に示すように、ATPGパターンが“10X1100X10・・・”の場合、(1)まず、擬似乱数発生器(LFSR)に対してシード値“1101”を設定する。このとき必要なクロック数は4である。これにより、テストパターンは“101100100011110・・・・”に仮決定される。(2)つぎに、擬似乱数発生器(LFSR)を、ATPGパターンとマッチングする4ビット分シフトさせる。このとき必要なクロック数は4である。
(3)続いて、擬似乱数発生器(LFSR)の設定値が“0001”となるように、位相変更回路に対して位相を“2”変更する旨の制御信号を入力することで、擬似乱数発生器(LFSR)から出力されるテストパターンの位相を“2”変更する。このとき必要なクロック数は1である。(4)そして、擬似乱数発生器(LFSR)を、ATPGパターンとマッチングする5ビット分シフトさせる。このとき必要なクロック数は5である。
(5)さらに、擬似乱数発生器(LFSR)の設定値が“0・・・”となるように、位相変更回路に対して位相を“3”変更する旨の制御信号を入力することで、擬似乱数発生器(LFSR)から出力されるテストパターンの位相を“3”変更する。このとき必要なクロック数は2である。ここまでの処理(1)〜(5)に必要としたクロック数は16である。このように、図14を用いて説明した従来技術によるテストパターンのマッチング方法(常にクロック数4を必要とするシード値の再設定をおこなう方法)よりも、“5”少ない信号数で同様の処理をおこなうことができる。
このように、この発明の実施の形態1にかかる擬似乱数発生器(LFSR100)は、4ビットシフトレジスタから出力されるテストパターンの任意の位相変更を、最大クロック数4、平均クロック数log24の制御信号の入力によりおこなうことができる位相変更回路を備えたことにより、ATPGパターンとのマッチングを考慮したテストパターンを、より少ないクロック数で出力することができる。そして、この擬似乱数発生器(LFSR100)を試験対象回路に組み込むことによって、膨大な量のテストパターンを記憶させておくための大容量のメモリを必要とせずに、故障検出率の高いテストパターンによるBISTをより効率的かつ短時間でおこなうことができる。
(実施の形態2)
つぎに、この発明の実施の形態2にかかる擬似乱数発生器の回路構成について説明する。図3は、この発明の実施の形態2にかかる擬似乱数発生器の回路構成を示す説明図である。
図3に示すLFSR300は、図1(実施の形態1)に示したLFSR100と同様に、主にF/Fを用いた4ビットのシフトレジスタが形成され、また、先頭ビットと最終ビットとの排他的論理和を先頭ビットに帰還させるEOR回路が設けられており、これにより、最大周期を15としたテストパターンを出力することができる。
この、LFSR300にも、図1(実施の形態1)に示したLFSR100と同様に、主にEOR回路およびマルチプレクサから構成され、外部から入力された制御信号により、上記テストパターンの任意の位相変更をおこなうことができる位相変更回路が形成されている。
ここで、LFSR300に形成されている位相変更回路は、1制御信号が入力されることで、この制御信号に応じたビットの値を反転することによって、テストパターンの位相を任意に変更することができる構成となっている。
たとえば、図3に示すように、シフトレジスタの先頭ビットから順に“1101”のシード値が設定されている場合、LFSR300は、テストパターン“101100100011・・・”を出力することができるが、仮にATPGパターンが“1100100011・・・”であった場合、両パターンはマッチングしない。
そこで、位相変更回路に対して、先頭ビット、2番目のビット、および3番目のビットを反転する旨の制御信号(計3制御信号)を入力して、シフトレジスタのシード値を“0011”に変更することで、LFSR300から出力されるテストパターンの位相を“2”変更したことになり、テストパターン“1100100011・・・”を出力することができる。これにより、両パターンをマッチングさせることができる。
このように、この発明の実施の形態2にかかる擬似乱数発生器(LFSR300)は、任意のビット値を反転することによって、4ビットシフトレジスタから出力されるテストパターンの任意の位相変更を、最大クロック数4、平均クロック数log24の制御信号の入力によりおこなうことができる位相変更回路を備えたことにより、ATPGパターンとのマッチングを考慮したテストパターンを、より少ないクロック数、かつより少ない回路オーバヘッドで出力することができる。そして、この擬似乱数発生器(LFSR300)を試験対象回路に組み込むことによって、膨大な量のテストパターンを記憶させておくための大容量のメモリを必要とせずに、故障検出率の高いテストパターンによるBISTをより効率的かつ短時間でおこなうことができる。
(実施の形態3)
(半導体集積回路の回路構成)
つぎに、この発明の実施の形態3にかかる半導体集積回路の回路構成について説明する。図4、図5および図6は、この発明の実施の形態3にかかる半導体集積回路の回路構成を示す説明図である。
図4、図5および図6において、試験対象回路400は、入力乱数発生器(LFSR)410と、パターン修正回路420と、複数のF/Fからなるスキャンパス431,432,433,434と、出力乱数発生器(LFSR)440と、不定マスク回路450と、出力検証器(MISR)460と、を備えて構成されている。
入力乱数発生器(LFSR)410は、図1または図3に示した擬似乱数発生器と同様に、4ビットのシフトレジスタおよびこのシフトレジスタから出力されるテストパターンを変更する位相変更回路などによって構成され、これにより、テストパターンを生成する。また、入力乱数発生器(LFSR)410は、上記構成としたことで、図8を用いて後述する擬似乱数発生器制御装置800からの制御信号の入力により、生成するテストパターンの位相を任意に変更することができる。
パターン修正回路420は、入力乱数発生器(LFSR)410から出力されたテストパターンを擬似乱数発生器制御装置800からの制御信号の入力により反転するEOR回路などによって構成され、これにより、擬似乱数発生器制御装置800からの制御信号の入力により、入力乱数発生器(LFSR)410から出力されたテストパターンを修正してから各スキャンパス431〜434の先頭F/Fに入力する。
出力乱数発生器(LFSR)440は、図1または図3に示した擬似乱数発生器と同様に、4ビットのシフトレジスタおよびこのシフトレジスタから出力されるテストパターンを変更する位相変更回路などによって構成され、これにより、各スキャンパス431〜434から出力された不定値を可能な限りマスクするためのランダムパターン(以下、「不定マスクパターン」という)を生成する。また、出力乱数発生器(LFSR)440は、上記構成としたことで、擬似乱数発生器制御装置800からの制御信号の入力により、生成する不定マスクパターンの位相を任意に変更することができる。
不定マスク回路450は、出力乱数発生器(LFSR)440から出力された不定マスクパターンを擬似乱数発生器制御装置800からの制御信号の入力により反転するEOR回路や、出力乱数発生器(LFSR)440から出力された不定マスクパターンにより各スキャンパス431〜434から出力された出力パターン(以下、「テスト結果パターン」という)に含まれる不定値をマスクするOR回路などによって構成され、これにより、擬似乱数発生器制御装置800からの制御信号の入力により、出力乱数発生器(LFSR)440から出力された不定マスクパターンを修正してから、修正された不定マスクパターンを用いて、各スキャンパス431〜434から出力された不定値を所定の固定値へ変換、すなわちマスクする。そのうえで、不定値がマスクされた各スキャンパス431〜434からの出力結果を出力検証器(MISR)460へ圧縮格納する。
(制御信号の一例)
ここで、入力乱数発生器(LFSR)410、パターン修正回路420、出力乱数発生器(LFSR)440、および不定マスク回路450に入力される制御信号の一例について説明する。図7は、この発明の実施の形態3にかかる半導体集積回路に用いられる制御信号の一例を示す説明図である。図7に示すように、制御信号“0xx”は、入力乱数発生器(LFSR)410または出力乱数発生器(LFSR)440への制御信号であり、一方、制御信号“1xx”は、パターン修正回路420または不定マスク回路450への制御信号である。
このような制御信号は、擬似乱数発生器制御装置800がおこなう擬似乱数発生器制御処理によって決定され、擬似乱数発生器制御装置800から出力される。そして、このような制御信号が入力された入力乱数発生器(LFSR)410、パターン修正回路420、出力乱数発生器(LFSR)440、および不定マスク回路450においては、入力された制御信号に基づく、入力乱数発生器(LFSR)410からのテストパターンまたは出力乱数発生器(LFSR)440からの不定マスクパターンの修正処理がおこなわれる。
これにより、入力乱数発生器(LFSR)410からのテストパターンとATPGパターンとのマッチング、または、出力乱数発生器(LFSR)440からの不定マスクパターンと各スキャンパス431〜434からのテスト結果パターンとのマッチングをおこなうことができる。なお、擬似乱数発生器制御装置800による擬似乱数発生器制御処理の手順については、図10を用いて後述する。
(擬似乱数発生器制御装置のハードウェア構成)
つぎに、この発明の実施の形態3にかかる擬似乱数発生器制御装置のハードウェア構成について説明する。図8は、この発明の実施の形態3にかかる擬似乱数発生器制御装置のハードウェア構成を示す説明図である。
図8において、擬似乱数発生器制御装置800は、コンピュータ本体810と、入力装置820と、出力装置830と、から構成されており、不図示のルータやモデムを介してLAN,WANやインターネットなどのネットワーク840に接続可能である。
コンピュータ本体810は、CPU,メモリ,インターフェースを有する。CPUは、擬似乱数発生器制御装置800の全体の制御を司る。メモリは、ROM,RAM,HD,光ディスク811,フラッシュメモリから構成される。メモリはCPUのワークエリアとして使用される。
また、メモリには各種プログラムが格納されており、CPUからの命令に応じてロードされる。HDおよび光ディスク811はディスクドライブによりデータのリード/ライトが制御される。また、光ディスク811およびフラッシュメモリはコンピュータ本体810に対し着脱自在である。インターフェースは、入力装置820からの入力、出力装置830への出力、ネットワーク840に対する送受信の制御をおこなう。
また、入力装置820としては、キーボード821、マウス822、スキャナ823などがある。キーボード821は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式であってもよい。マウス822は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。スキャナ823は、画像を光学的に読み取る。読み取られた画像は画像データとして取り込まれ、コンピュータ本体810内のメモリに格納される。なお、スキャナ823にOCR機能を持たせてもよい。
また、出力装置830としては、ディスプレイ831、スピーカ832、プリンタ833などがある。ディスプレイ831は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。また、スピーカ832は、効果音や読み上げ音などの音声を出力する。また、プリンタ833は、画像データや文書データを印刷する。
(擬似乱数発生器制御装置の機能的構成)
つぎに、この発明の実施の形態3にかかる擬似乱数発生器制御装置800の機能的構成について説明する。図9は、この発明の実施の形態3にかかる擬似乱数発生器制御装置800の機能的構成を示すブロック図である。
図9において、擬似乱数発生器制御装置800は、取得部901と、抽出部902と、検索部903と、決定部904と、出力部905と、から構成されている。
取得部901は、入力乱数発生器(LFSR)410による位相変更前のテストパターンおよびATPGから出力されたATPGパターン、または、出力乱数発生器(LFSR)440による位相変更前のテストパターンおよび各スキャンパス431〜434から出力されたテスト結果パターンを取得する。具体的には、たとえば図8を用いて説明したメモリなどの記録媒体から、上記各パターンを読み取る。これらのパターンは、擬似乱数発生器制御装置800によって生成されたものであってもよいし、別の装置によって生成されたものであってもよい。
なお、取得部901は、擬似乱数発生器制御装置800と接続された別の装置から上記各パターンを取得するようにしてもよい。取得部901は、具体的には、たとえば図8を用いて説明したコンピュータ本体810が有するインターフェースなどによってその機能を実現する。
抽出部902は、取得部901によって取得されたATPGパターンまたはテスト結果パターンをブロック単位で抽出する。(すわなち、ブロック化する)たとえば、抽出部902は、取得されたATPGパターンまたはテスト結果パターンを、規定数を超えない範囲でブロック化する。
たとえば、抽出部902は、入力乱数発生器(LFSR)410または出力乱数発生器(LFSR)440のF/Fのビット数が4ビットの場合、上記規定数を“4”とする。そして、抽出部902は、“0”または“1”が設定されているビット数(すなわち、“X”以外のビット数)が“4”を超えない範囲で、ATPGパターンまたはテスト結果パターンブロック化する。
抽出部902は、具体的には、たとえば図8に示したコンピュータ本体810が有するメモリに記憶されたプログラムをCPUが実行することによってその機能を実現する。また、抽出部902によって抽出されたデータは、たとえば図8に示したコンピュータ本体810が有するメモリに一時的に記録される。
検索部903は、抽出部902によって抽出されたブロックごとに、当該ブロックに含まれる信号列と近似(または一致)する信号列を、取得部901によって取得された入力乱数発生器(LFSR)410または出力乱数発生器(LFSR)440による位相変更前のテストパターンの中から検索する。
ここで、検索部903は、ATPGパターンまたはテスト結果パターンとの非マッチングビット数が最小となり、かつ入力乱数発生器(LFSR)410または出力乱数発生器(LFSR)440による位相変更量が最小となるテストパターンを検索する。また、検索部903は、抽出部902によってATPGパターンまたはテスト結果パターンがブロックされた場合、このブロックごとに、上記検索処理をおこなう。
検索部903は、具体的には、たとえば図8に示したコンピュータ本体810が有するメモリに記憶されたプログラムをCPUが実行することによってその機能を実現する。また、検索部903によって検索されたデータは、たとえば図8に示したコンピュータ本体810が有するメモリに一時的に記録される。
決定部904は、検索部903によって検索された信号列に基づいて、図7に示した制御信号の中から、入力乱数発生器(LFSR)410または出力乱数発生器(LFSR)440に出力する制御信号を決定する。決定部904は、具体的には、たとえば図8に示したコンピュータ本体810が有するメモリに記憶されたプログラムをCPUが実行することによってその機能を実現する。また、決定部904によって決定されたデータは、たとえば図8に示したコンピュータ本体810が有するメモリに一時的に記録される。
出力部905は、決定部904によって決定された制御信号を入力乱数発生器(LFSR)410およびパターン修正回路420、または出力乱数発生器(LFSR)440および不定マスク回路450に出力する。たとえば、出力部905は、抽出部902によってATPGパターンまたはテスト結果パターンがブロックされた場合、このブロックごとに、上記出力処理をおこなう。出力部905は、具体的には、たとえば図8を用いて説明したコンピュータ本体810が有するインターフェースなどによってその機能を実現する。
(擬似乱数発生器制御処理の手順)
つぎに、この発明の実施の形態3にかかる擬似乱数発生器制御装置800による擬似乱数発生器制御処理の手順について説明する。図10は、この発明の実施の形態3にかかる擬似乱数発生器制御装置800による擬似乱数発生器制御処理の手順の一例を示すフローチャートである。
ここでは、入力乱数発生器(LFSR)410およびパターン修正回路420に対する擬似乱数発生器制御処理の手順の一例について説明するが、出力乱数発生器(LFSR)440および不定マスク回路450に対する擬似乱数発生器制御処理についても同様の処理手順とすることができる。
まず、取得部901によって、入力乱数発生器(LFSR)410による位相変更前のテストパターンおよびATPGから出力されたATPGパターンを取得して(ステップS1001)、抽出部902によって、ステップS1001で取得されたATPGパターンをブロック単位で抽出する(ステップS1002)。
そして、検索部903によって、ステップS1002で抽出されたブロックごとに、当該ブロックに含まれる信号列と近似(または一致)する信号列を、ステップS1001で取得されたテストパターンの中から検索して(ステップS1003)、決定部904によって、ステップS1003で検索された信号列に基づいて、入力乱数発生器(LFSR)410およびパターン修正回路420に出力する制御信号を決定する(ステップS1004)。
そして、出力部905によって、ステップS1004で決定された制御信号を入力乱数発生器(LFSR)410およびパターン修正回路420に出力して(ステップS1005)、一連の処理を終了する。
このような手順により、擬似乱数発生器制御装置800から出力された入力乱数発生器(LFSR)410およびパターン修正回路420に対する制御信号は、まず、入力乱数発生器(LFSR)410に入力される。これにより、入力乱数発生器(LFSR)410によるテストパターンの修正がおこなわれ、ATPGパターンと近似するテストパターンが入力乱数発生器(LFSR)410から出力される。
そのうえで、パターン修正回路420に制御信号が入力されることで、入力乱数発生器(LFSR)410から出力されたテストパターンのうち、ATPGから出力されたテストパターンと値が異なる信号のみ、パターン修正回路420によって修正(反転)され、修正されたテストパターン(すなわち、ATPGパターンと一致するテストパターン)が各スキャンパス431〜434へ入力される。
出力乱数発生器(LFSR)440および不定マスク回路450に対する擬似乱数発生器制御処理の場合は、擬似乱数発生器制御装置800から出力された出力乱数発生器(LFSR)440および不定マスク回路450に対する制御信号は、まず、出力乱数発生器(LFSR)440に入力される。これにより、出力乱数発生器(LFSR)440による不定マスクパターンの修正がおこなわれ、テスト結果パターンと近似する不定マスクパターンが出力乱数発生器(LFSR)440から出力される。
そのうえで、不定マスク回路450に制御信号が入力されることで、出力乱数発生器(LFSR)440から出力されたテストパターンのうち、テスト結果パターンと値が異なる信号のみ、不定マスク回路450によって修正(反転)され、修正されたテストパターン(すなわち、テスト結果パターンと一致する不定マスクパターン)による不定値のマスク処理が行われる。
(制御信号の一例)
ここで、擬似乱数発生器制御装置800によって出力される制御信号の一例について説明する。図11は、擬似乱数発生器制御装置800によって出力される制御信号の一例を示す説明図である。
図11に示すATPGパターン1100は、取得部901によって取得されたものであって、抽出部902によって、ブロック1101,1102,1103にブロック化されている。
ここで、各ブロック1101〜1103は、“0”または“1”が設定されているビット数(すなわち、“X”以外のビット数)が、規定数“4”(すなわち、入力乱数発生器(LFSR)410のビット数)を超えない範囲で、列単位でブロック化されている。
たとえば、列(1)〜(4)からなるブロック1101の“X”以外のビット数は、“4”であり、列(5)からなるブロック1102の“X”以外のビット数は、“3”であり、列(6)および列(7)からなるブロック1103の“X”以外のビット数は、“4”である。
このようなATPGパターン1100に対して、擬似乱数発生器制御装置800は、現在の設定値に基づいて入力乱数発生器(LFSR)410から出力されるテストパターンの中から、ATPGパターン1100との非マッチングビット数が最小となり、かつ入力乱数発生器(LFSR)410に対する位相変更量が最小となるテストパターンを検索する。
たとえば、ブロック1101に対するテストパターンとして、“0001001101111011”を検索する。また、ブロック1102に対するテストパターンとして、“0110”を検索する。そして、ブロック1102に対するテストパターンとして、“10011000”を検索する。
そして、擬似乱数発生器制御装置800は、入力乱数発生器(LFSR)410から出力されるテストパターンが、検索されたテストパターンとなるように、制御信号を決定する。たとえば、現在の入力乱数発生器(LFSR)410の設定値が“0100”のときにおいて、入力乱数発生器(LFSR)410から出力されるテストパターンは、図11に示す表1110のとおりとなる。ここで、擬似乱数発生器制御装置800は、同じ制御信号が連続する場合は、この制御信号をRun Length圧縮するようにしてもよい。
以上説明したように、この発明の実施の形態3にかかる半導体集積回路(試験対象回路400)は、擬似乱数発生器制御装置800の制御によって、少ないコスト(クロック数)により、テストパターンの任意の位相変更をおこなったうえで、ATPGパターンと異なる信号を反転する構成とした。これにより、テストパターンの修正にかかる時間の短時間化を図ることができ、結果的に、試験対象回路400によるBISTにかかる時間の短時間化を図ることができる。
また、この発明の実施の形態3にかかる半導体集積回路(試験対象回路400)は、擬似乱数発生器制御装置800の制御によって、少ないコスト(クロック数)により、不定マスクパターンの位相変更をおこなったうえで、テスト結果パターンと異なる信号を反転する構成とした。これにより、不定マスクパターンの修正にかかる時間の短時間化を図ることができ、結果的に、試験対象回路400によるBISTにかかる時間の短時間化を図ることができる。
なお、本実施の形態で説明した擬似乱数発生器制御プログラムは、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーション、CADなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。
また、本実施の形態で説明した試験対象回路400に関する設計データを記録した記録媒体を用意してもよい。ここで、試験対象回路400に関する設計データとは、試験対象回路400を、HDLで記述されたRTL記述や、論理合成後のネットリストにより表現したコンピュータ読取可能な電子データである。このような設計データを、テストツールがインストールされたコンピュータ装置上で展開することにより、製造前においてシミュレーションテストなどを実行することができる。
また、このような設計データをFPGA(Field Programmable Gate Array)などのPLD(Programmable Logic Device)に書き込み可能に加工した上でPLDにダウンロードすることにより、上述した試験対象回路400を製造することもできる。
(付記1)複数ビットの擬似乱数を半導体集積回路のテストパターンとして出力するシフトレジスタと、
外部からの制御信号の入力に応じて、前記シフトレジスタから出力されるテストパターンの位相を変更する位相変更回路と、
を備えることを特徴とする擬似乱数発生器。
(付記2)前記位相変更回路は、前記シフトレジスタのビット数をi(i=1〜n)とした場合において、クロック数iの制御信号の入力に応じて、前記シフトレジスタから出力されるテストパターンの2i−1の位相変更をおこなうことを特徴とする付記1に記載の擬似乱数発生器。
(付記3)複数ビットの擬似乱数を半導体集積回路のテストパターンとして出力するシフトレジスタと、外部からの制御信号の入力に応じて、前記シフトレジスタから出力されるテストパターンの位相を変更する位相変更回路と、からなる擬似乱数発生器と、
前記擬似乱数発生器から出力されたテストパターンが入力される試験対象回路と、
を備えることを特徴とする半導体集積回路。
(付記4)複数ビットの擬似乱数を半導体集積回路のテストパターンとして出力するシフトレジスタと、外部からの制御信号の入力に応じて、前記シフトレジスタから出力されるテストパターンの位相を変更する位相変更回路と、からなる擬似乱数発生器と、
外部からの制御信号の入力に応じて、前記擬似乱数発生器から出力されたテストパターンを修正するテストパターン修正器と、
前記テストパターン修正器によって修正されたテストパターンが入力される試験対象回路と、
を備えることを特徴とする半導体集積回路。
(付記5)複数ビットの擬似乱数を半導体集積回路のテストパターンとして出力するシフトレジスタと、外部からの制御信号の入力に応じて、前記シフトレジスタから出力されるテストパターンの位相を変更する位相変更回路と、からなる擬似乱数発生器と、
試験対象回路と、
前記試験対象回路から出力された出力パターンの中の不定値を、前記擬似乱数発生器から出力されるテストパターンによりマスクする不定マスク器と、
を備えることを特徴とする半導体集積回路。
(付記6)複数ビットの擬似乱数を半導体集積回路のテストパターンとして出力するシフトレジスタと、外部からの制御信号の入力に応じて、前記シフトレジスタから出力されるテストパターンの位相を変更する位相変更回路と、からなる擬似乱数発生器と、
試験対象回路と、
外部からの制御信号の入力に応じて、前記擬似乱数発生器から出力されたテストパターンを修正するテストパターン修正器と、
前記試験対象回路から出力された出力パターンの中の不定値を、前記テストパターン修正器によって修正されたテストパターンによりマスクする不定マスク器と、
を備えたことを特徴とする半導体集積回路。
(付記7)付記3〜6に記載の半導体集積回路の設計データを記録したコンピュータ読み取り可能な記録媒体。
(付記8)複数ビットの擬似乱数を半導体集積回路のテストパターンとして出力するシフトレジスタと、外部からの制御信号の入力に応じて、前記シフトレジスタから出力されるテストパターンの位相を変更する位相変更回路と、を備えた擬似乱数発生器を制御する擬似乱数発生器制御方法であって、
位相変更前のテストパターンおよびATPGから出力されたATPGパターンを取得する取得工程と、
前記取得工程によって取得されたATPGパターンをブロック単位で抽出する抽出工程と、
前記抽出工程によって抽出されたブロックごとに、当該ブロックに含まれる信号列と一致する信号列を、前記位相変更前のテストパターンの中から検索する検索工程と、
前記検索工程によって検索された信号列に基づいて、前記擬似乱数発生器に出力する制御信号を決定する決定工程と、
前記決定工程によって決定された制御信号を、前記擬似乱数発生器に出力する出力工程と、
をコンピュータに実行させることを特徴とする擬似乱数発生器制御方法。
(付記9)複数ビットの擬似乱数を半導体集積回路のテストパターンとして出力するシフトレジスタと、外部からの制御信号の入力に応じて、前記シフトレジスタから出力されるテストパターンの位相を変更する位相変更回路と、を備えた擬似乱数発生器を制御する擬似乱数発生器制御方法であって、
位相変更前のテストパターンおよび試験対象回路から出力された出力パターンを取得する取得工程と、
前記取得工程によって取得された出力パターンをブロック単位で抽出する抽出工程と、
前記抽出工程によって抽出されたブロックごとに、当該ブロックに含まれる信号列と一致する信号列を、前記位相変更前のテストパターンの中から検索する検索工程と、
前記検索工程によって検索された信号列に基づいて、前記擬似乱数発生器に出力する制御信号を決定する決定工程と、
前記決定工程によって決定された制御信号を、前記擬似乱数発生器に出力する出力工程と、
をコンピュータに実行させることを特徴とする擬似乱数発生器制御方法。
(付記10)複数ビットの擬似乱数を半導体集積回路のテストパターンとして出力するシフトレジスタと、外部からの制御信号の入力に応じて、前記シフトレジスタから出力されるテストパターンの位相を変更する位相変更回路と、を備えた擬似乱数発生器を制御する擬似乱数発生器制御プログラムであって、
位相変更前のテストパターンおよびATPGから出力されたATPGパターンを取得させる取得工程と、
前記取得工程によって取得されたATPGパターンをブロック単位で抽出させる抽出工程と、
前記抽出工程によって抽出されたブロックごとに、当該ブロックに含まれる信号列と一致する信号列を、前記位相変更前のテストパターンの中から検索させる検索工程と、
前記検索工程によって検索された信号列に基づいて、前記擬似乱数発生器に出力する制御信号を決定させる決定工程と、
前記決定工程によって決定された制御信号を、前記擬似乱数発生器に出力させる出力工程と、
をコンピュータに実行させることを特徴とする擬似乱数発生器制御プログラム。
(付記11)複数ビットの擬似乱数を半導体集積回路のテストパターンとして出力するシフトレジスタと、外部からの制御信号の入力に応じて、前記シフトレジスタから出力されるテストパターンの位相を変更する位相変更回路と、を備えた擬似乱数発生器を制御する擬似乱数発生器制御プログラムであって、
位相変更前のテストパターンおよび試験対象回路から出力された出力パターンを取得させる取得工程と、
前記取得工程によって取得された出力パターンをブロック単位で抽出させる抽出工程と、
前記抽出工程によって抽出されたブロックごとに、当該ブロックに含まれる信号列と一致する信号列を、前記位相変更前のテストパターンの中から検索させる検索工程と、
前記検索工程によって検索された信号列に基づいて、前記擬似乱数発生器に出力する制御信号を決定させる決定工程と、
前記決定工程によって決定された制御信号を、前記擬似乱数発生器に出力させる出力工程と、
をコンピュータに実行させることを特徴とする擬似乱数発生器制御プログラム。
(付記12)前記抽出工程は、ブロックに含まれる不定値ビット数が前記シフトレジスタのビット数を超えないように、前記取得工程によって取得された出力パターンをブロック単位で抽出させることを特徴とする付記11に記載の擬似乱数発生器制御プログラム。
(付記13)付記10〜12のいずれか一つに記載の擬似乱数発生器制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
(付記14)複数ビットの擬似乱数を半導体集積回路のテストパターンとして出力するシフトレジスタと、外部からの制御信号の入力に応じて、前記シフトレジスタから出力されるテストパターンの位相を変更する位相変更回路と、を備えた擬似乱数発生器を制御する擬似乱数発生器制御装置であって、
位相変更前のテストパターンおよびATPGから出力されたATPGパターンを取得する取得手段と、
前記取得手段によって取得されたATPGパターンをブロック単位で抽出する抽出手段と、
前記抽出手段によって抽出されたブロックごとに、当該ブロックに含まれる信号列と一致する信号列を、前記位相変更前のテストパターンの中から検索する検索手段と、
前記検索手段によって検索された信号列に基づいて、前記擬似乱数発生器に出力する制御信号を決定する決定手段と、
前記決定手段によって決定された制御信号を、前記擬似乱数発生器に出力する出力手段と、
を備えたことを特徴とする擬似乱数発生器制御装置。
(付記15)複数ビットの擬似乱数を半導体集積回路のテストパターンとして出力するシフトレジスタと、外部からの制御信号の入力に応じて、前記シフトレジスタから出力されるテストパターンの位相を変更する位相変更回路と、を備えた擬似乱数発生器を制御する擬似乱数発生器制御装置であって、
位相変更前のテストパターンおよび試験対象回路から出力された出力パターンを取得する取得手段と、
前記取得手段によって取得された出力パターンをブロック単位で抽出する抽出手段と、
前記抽出手段によって抽出されたブロックごとに、当該ブロックに含まれる信号列と一致する信号列を、前記位相変更前のテストパターンの中から検索する検索手段と、
前記検索手段によって検索された信号列に基づいて、前記擬似乱数発生器に出力する制御信号を決定する決定手段と、
前記決定手段によって決定された制御信号を、前記擬似乱数発生器に出力する出力手段と、
を備えたことを特徴とする擬似乱数発生器制御装置。
以上のように、本発明にかかる擬似乱数発生器、半導体集積回路、該半導体集積回路の設計データを記録した記録媒体、擬似乱数発生器制御方法、擬似乱数発生器制御プログラム、該擬似乱数発生器制御プログラムを記録した記録媒体、および擬似乱数発生器制御装置は、半導体集積回路の自己試験(BIST)に有用であり、特に、高い故障検出率が要求される半導体集積回路の自己試験(BIST)に適している。
この発明の実施の形態1にかかる擬似乱数発生器の回路構成を示す説明図である。 この発明の実施の形態1にかかる擬似乱数発生器によるテストパターンのマッチング方法を示す説明図である。 この発明の実施の形態2にかかる擬似乱数発生器の回路構成を示す説明図である。 この発明の実施の形態3にかかる半導体集積回路の回路構成を示す説明図である。 この発明の実施の形態3にかかる半導体集積回路の回路構成を示す説明図である。 この発明の実施の形態3にかかる半導体集積回路の回路構成を示す説明図である。 この発明の実施の形態3にかかる半導体集積回路に用いられる制御信号の一例を示す説明図である。 この発明の実施の形態3にかかる擬似乱数発生器制御装置のハードウェア構成を示す説明図である。 この発明の実施の形態3にかかる擬似乱数発生器制御装置の機能的構成を示すブロック図である。 この発明の実施の形態3にかかる擬似乱数発生器制御装置による擬似乱数発生器制御処理の手順の一例を示すフローチャートである。 擬似乱数発生器制御装置によって出力される制御信号の一例を示す説明図である。 従来技術によるLFSRの回路構成を示す説明図である。 従来技術によるLFSRを備えた試験対象回路の回路構成を示す説明図である。 従来技術によるテストパターンのマッチング方法を示す説明図である。
符号の説明
100,300 LFSR
400 試験対象回路
410 入力乱数発生器(LFSR)
420 パターン修正回路
440 出力乱数発生器(LFSR)
450 不定マスク回路
460 出力検証器(MISR)
800 擬似乱数発生器制御装置
901 取得部
902 抽出部
903 検索部
904 決定部
905 出力部

Claims (5)

  1. 複数ビットの第1の疑似乱数を半導体集積回路のテストパターンとして出力するシフトレジスタと、
    外部からの制御信号の入力に応じて、前記第1の疑似乱数に基づいて前記第1の疑似乱数から所定クロック数経過後に前記シフトレジスタへ与えられる第2の疑似乱数を生成し、前記シフトレジスタへ入力することにより前記第1の疑似乱数の位相を変更する位相変更回路と、を備え
    前記シフトレジスタは、前記第2の疑似乱数が入力されると、当該第2の疑似乱数を前記半導体集積回路のテストパターンとして出力することを特徴とする疑似乱数発生器。
  2. 前記位相変更回路は、前記シフトレジスタのビット数をi(i=1〜n)とした場合において、クロック数iの制御信号の入力に応じて、前記第1の疑似乱数の −1の位相変更をおこなうことを特徴とする請求項1に記載の疑似乱数発生器。
  3. 複数ビットの第1の疑似乱数を半導体集積回路のテストパターンとして出力するシフトレジスタと、外部からの制御信号の入力に応じて、前記第1の疑似乱数に基づいて前記第1の疑似乱数から所定クロック数経過後に前記シフトレジスタへ与えられる第2の疑似乱数を生成し、前記シフトレジスタへ入力することにより前記第1の疑似乱数の位相を変更する位相変更回路と、からなり、前記シフトレジスタが、前記第2の疑似乱数が入力されると、当該第2の疑似乱数を前記半導体集積回路のテストパターンとして出力する疑似乱数発生器と、
    前記疑似乱数発生器から出力されたテストパターンが入力される試験対象回路と、
    を備えることを特徴とする半導体集積回路。
  4. 請求項3に記載の半導体集積回路の設計データを記録したコンピュータ読み取り可能な記録媒体。
  5. 複数ビットの第1の擬似乱数を半導体集積回路のテストパターンとして出力するシフトレジスタと、外部からの制御信号の入力に応じて、前記第1の疑似乱数に基づいて前記第1の疑似乱数から所定クロック数経過後に前記シフトレジスタへ与えられる第2の疑似乱数を生成し、前記シフトレジスタへ入力することにより前記第1の疑似乱数の位相を変更する位相変更回路と、からなり、前記シフトレジスタは、前記第2の疑似乱数が入力されると、当該第2の疑似乱数を前記半導体集積回路のテストパターンとして出力する擬似乱数発生器を制御する擬似乱数発生器制御方法であって、
    前記第1の疑似乱数が前記シフトレジスタから出力された位相変更前のテストパターンおよびATPGから出力されたATPGパターンを取得する取得工程と、
    前記取得工程によって取得されたATPGパターンをブロック単位で抽出する抽出工程と、
    前記抽出工程によって抽出されたブロックごとに、当該ブロックに含まれる信号列と一致する信号列を、前記位相変更前のテストパターンの中から検索する検索工程と、
    前記検索工程によって検索された信号列に基づいて、前記擬似乱数発生器に出力する制御信号を決定する決定工程と、
    前記決定工程によって決定された制御信号を、前記擬似乱数発生器に出力する出力工程と、
    をコンピュータに各工程の順序で実行させることを特徴とする擬似乱数発生器制御方法。
JP2007057790A 2007-03-07 2007-03-07 擬似乱数発生器、半導体集積回路、該半導体集積回路の設計データを記録した記録媒体、擬似乱数発生器制御方法 Expired - Fee Related JP4427068B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007057790A JP4427068B2 (ja) 2007-03-07 2007-03-07 擬似乱数発生器、半導体集積回路、該半導体集積回路の設計データを記録した記録媒体、擬似乱数発生器制御方法
US12/073,553 US7895492B2 (en) 2007-03-07 2008-03-06 Pseudorandom number generator, semiconductor integrated circuit, pseudorandom number generator control apparatus, pseudorandom number generator control method, and computer product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007057790A JP4427068B2 (ja) 2007-03-07 2007-03-07 擬似乱数発生器、半導体集積回路、該半導体集積回路の設計データを記録した記録媒体、擬似乱数発生器制御方法

Publications (2)

Publication Number Publication Date
JP2008218923A JP2008218923A (ja) 2008-09-18
JP4427068B2 true JP4427068B2 (ja) 2010-03-03

Family

ID=39742868

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007057790A Expired - Fee Related JP4427068B2 (ja) 2007-03-07 2007-03-07 擬似乱数発生器、半導体集積回路、該半導体集積回路の設計データを記録した記録媒体、擬似乱数発生器制御方法

Country Status (2)

Country Link
US (1) US7895492B2 (ja)
JP (1) JP4427068B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5265318B2 (ja) * 2008-12-03 2013-08-14 ルネサスエレクトロニクス株式会社 論理検証装置
JP5397254B2 (ja) * 2010-02-12 2014-01-22 富士ゼロックス株式会社 擬似ランダム信号発生装置、通信システム、及び画像形成システム
JP2012198065A (ja) * 2011-03-18 2012-10-18 Fujitsu Ltd 半導体集積回路、試験方法、情報処理装置、及びプログラム
US8890052B2 (en) 2011-05-03 2014-11-18 Raytheon Company Shift register with two-phase non-overlapping clocks
US8779342B2 (en) 2011-05-03 2014-07-15 Raytheon Company Compact digital pixel for a focal plane array
US9964591B2 (en) * 2016-04-19 2018-05-08 International Business Machines Corporation Implementing decreased scan data interdependence in on product multiple input signature register (OPMISR) through PRPG control rotation
US11228380B2 (en) * 2019-10-29 2022-01-18 Keysight Technologies, Inc. Bit error ratio (BER) measurement including forward error correction (FEC) on back channel
US20220199180A1 (en) * 2020-12-21 2022-06-23 Micron Technology, Inc. Peak power management connectivity check in a memory device

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02214326A (ja) 1989-02-15 1990-08-27 Mitsubishi Electric Corp 擬似乱数発生回路
JP3845016B2 (ja) 1999-11-23 2006-11-15 メンター・グラフィクス・コーポレーション テスト中回路技術分野へのテストパターンの連続的な適用およびデコンプレッション
US6684358B1 (en) 1999-11-23 2004-01-27 Janusz Rajski Decompressor/PRPG for applying pseudo-random and deterministic test patterns
JP4228061B2 (ja) 2000-12-07 2009-02-25 富士通マイクロエレクトロニクス株式会社 集積回路の試験装置および試験方法
JP4031954B2 (ja) * 2002-06-11 2008-01-09 富士通株式会社 集積回路の診断装置および診断方法
JP4174048B2 (ja) * 2002-09-19 2008-10-29 富士通株式会社 集積回路試験装置および試験方法

Also Published As

Publication number Publication date
US20080222474A1 (en) 2008-09-11
US7895492B2 (en) 2011-02-22
JP2008218923A (ja) 2008-09-18

Similar Documents

Publication Publication Date Title
JP4427068B2 (ja) 擬似乱数発生器、半導体集積回路、該半導体集積回路の設計データを記録した記録媒体、擬似乱数発生器制御方法
KR100858382B1 (ko) 테스터 구축 데이터의 생성방법 및 테스터의 구축방법 및테스트회로
US20210033669A1 (en) Reversible Multi-Bit Scan Cell-based Scan Chains For Improving Chain Diagnostic Resolution
US20100125766A1 (en) Semiconductor integrated circuit and method for controlling semiconductor integrated circuit
JP5845187B2 (ja) 故障検出システム、取出装置、故障検出方法、プログラム及び記録媒体
US10996273B2 (en) Test generation using testability-based guidance
US8504347B2 (en) Simulation apparatus, simulation method, and program to perform simulation on design data of a target circuit
US8135557B2 (en) Apparatus for testing semiconductor integrated circuit and method for testing semiconductor integrated circuit
JP4839856B2 (ja) スキャンチェーン抽出プログラム、スキャンチェーン抽出方法及び試験装置
US11150299B2 (en) Flexible isometric decompressor architecture for test compression
JP7169044B2 (ja) 半導体集積回路、その設計方法、プログラム及び記憶媒体
Liu et al. Compact dictionaries for fault diagnosis in scan-BIST
JP2006259820A (ja) 故障検出改善装置、故障検出改善プログラム、故障検出改善方法
JP2012198065A (ja) 半導体集積回路、試験方法、情報処理装置、及びプログラム
JP4622443B2 (ja) 半導体集積回路
Lien et al. Efficient LFSR reseeding based on internal-response feedback
US11422188B2 (en) Isometric control data generation for test compression
US11408938B2 (en) Bidirectional scan cells for single-path reversible scan chains
JP2008197883A (ja) Lsi解析プログラム、該プログラムを記録した記録媒体、lsi解析装置、およびlsi解析方法
JP4724774B2 (ja) 半導体回路装置、メモリテスト回路及び半導体回路装置の試験方法
JP2006277821A (ja) 半導体集積回路
JP4275636B2 (ja) 検証支援装置、検証支援方法、検証支援プログラム、および記録媒体
US7421637B1 (en) Generating test input for a circuit
JP2012033091A (ja) 半導体回路およびそのテスト方法
JP2006322931A (ja) 集積回路検査装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090414

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090416

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090615

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090915

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091116

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4427068

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20121218

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121218

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131218

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees