半導体試験装置は、試験対象である半導体デバイス(以下、DUT(Device Under Test)という)に試験信号を印加し、DUTから得られる信号と所定の期待値とを比較することでDUTの試験を行う。この半導体試験装置は、上記の試験信号を生成する試験パターン、上記の期待値を生成する期待パターン等の各種パターンを発生するパターン発生装置を備える。
図6は、従来のパターン発生装置の要部構成を示すブロック図である。図6に示す通り、従来のパターン発生装置100は、メモリ101、データ変換部102、制御部103、リングメモリ104、及びリングメモリ読み出し制御部105を備えており、所定の基準クロックCLKに同期して動作して、16チャンネル分のパターンデータPDを出力する。
このパターン発生装置100は、制御部103に入力されるモード設定信号MDによって1チャンネル当たりのパターン長を可変することができる。具体的には、モード設定信号MDを「3ビットモード」にすれば1チャンネル当たりのパターン長を3ビットにすることができ、「6ビットモード」にすれば1チャンネル当たりのパターン長を6ビットにすることができる。ビット数を増やすことでより複雑なパターンの生成が可能である。
メモリ101は、発生させるパターンデータPDに係るデータを記憶するメモリであり、データ幅が128ビットであるDDR2 SDRAM(Double-Data-Rate2 Synchronous Dynamic Random Access Memory)が用いられる。データ変換部102は、制御部103からメモリ101に与えられる制御信号C100及びメモリ101から読み出された128ビットのデータd100を所定の変換規則に従って変換する。尚、データ変換部102によって変換されたデータは、データD100として制御部103に出力される。
制御部103は、メモリ制御部111、ライトデータ生成部112、ライトアドレス制御部113、及び差分演算部114を備えており、メモリ101からのデータの読み出し制御及びリングメモリ104へのデータの書き込み制御を行う。メモリ制御部111は、メモリ101からデータを読み出す制御信号(リードコマンド)C100をデータ変換部102に出力する。また、メモリ制御部111は、制御信号C100が出力されてからメモリ101に記憶されたデータd100が読み出されるまでの遅延時間(レイテンシ)を示すレイテンシ情報LTをライトデータ生成部112及びライトアドレス制御部113に出力する。尚、メモリ制御部111は、差分演算部114からフル検出信号FSが出力されている場合には、制御信号C100の出力は行わない。
ライトデータ生成部112は、データ変換部102からのデータD100を用いてリングメモリ104に書き込むべきライトデータWDを生成するとともに、メモリ制御部111からのレイテンシ情報LTに基づいてライトイネーブル信号WEを生成する。ライトアドレス制御部113は、差分演算部114から出力されるインクリメント命令ICを参照しつつ、ライトデータWDをリングメモリ104に書き込むためのライトアドレスWAを生成する。
差分演算部114は、リングメモリ読み出し制御部105から出力される読み出しアドレスRAとライトアドレス制御部113から出力されるライトアドレスWAとの差分を求め、この差分が所定の閾値に達した場合に、その旨を示すフル検出信号FSを出力する。また、上記の差分が上記の閾値に達していない場合には、ライトアドレスWAをインクリメントさせるインクリメント命令ICを出力する。
リングメモリ104は、メモリ101から読み出されたデータを用いて生成されたデータWDを一時的に記憶するメモリであり、メモリ101よりも高速にデータの書き込み及び読み出しが可能なメモリ(具体的には、SRAM(Static Random Access Memory))が用いられる。このリングメモリ104は、パターンデータPDの途切れ(ウェイトの発生)を防止するために設けられ、データ幅はメモリ101と同じく128ビットであって、容量は2キロワード程度である。リングメモリ読み出し制御部105は、リードアドレスRAを出力して、リングメモリ104に一時的に記憶されたデータの読み出し制御を行う。リングメモリ104から読み出されたデータはパターンデータPDとして出力される。
図7は、従来のパターン発生装置100の動作を説明するためのタイミングチャートである。尚、以下に説明する動作は、モード設定信号MDの設定内容によって大きく異なることは無い。動作が開始されると、制御部103のメモリ制御部111からデータ変換部102に対して制御信号(リードコマンド)C100が出力される(時刻t101)。尚、図7に示す通り、制御信号C100は基準クロックCLKの4周期毎(4サイクル毎)に出力される。
データ変換部102から出力された制御信号C100は、データ変換部102を介してメモリ101に入力され、所定のレイテンシ時間TL経過後にメモリ101から128ビットのデータd100が読み出される(時刻t102)。ここで、メモリ101がDDR2 SDRAMである場合には、図7に示す通り、基準クロックCLKの立ち上がり及び立ち下がりの時点でデータd100(DQ0〜DQ3)が読み出される。
メモリ101から読み出されたデータd100はデータ変換部102で所定の変換処理が施されて128ビットのデータD100として制御部103に入力される。図7に示す例では、基準クロックの立ち上がりで読み出された偶数番目のデータd100(DQ0,DQ2)と、クロックの立ち下がりで読み出された奇数番目データd100(DQ1,DQ3)とが対になって、基準クロックCLKの各周期毎にデータD100として制御部103に順次入力される。
データD100が制御部103に入力されると、ライトデータ生成部112においてリングメモリ104に書き込むべき128ビットからなるライトデータWDが生成される。図7に示す例では、偶数番目のデータD100(DQ0,DQ2)から偶数番目のライトデータWD(WD0,WD2)が生成されるとともに、奇数番目のデータD100(DQ1,DQ3)から奇数番目のライトデータWD(WD1,WD3)が生成され、生成されたライトデータが基準クロックCLKの周期毎に番号順に並べられたライトデータ(WD0,WD1,WD2,WD3)が生成される。
ライトアドレス制御部113においては、以上のライトデータ生成部112におけるライトデータWDの生成と並行してライトアドレスWAの生成が行われる。ここで、ライトデータ生成部112からライトイネーブル信号WEが出力されると(「H(ハイ)」レベルになると)、ライトデータ生成部112で生成されたライトデータWDを、ライトアドレス制御部113で生成されたライトアドレスWAで指定されるリングメモリ104のアドレスへ書き込む書込動作が開始される(時刻t103)。以上の書込動作は、ライトイネーブル信号WEが「H」レベルである間は継続されるが、「L(ロー)」レベルになると終了する(時刻t104)。
次に、リングメモリ読み出し制御部105からリードアドレスRAの出力が開始されると(時刻t105)、リングメモリ104に一時的に記憶されたデータの読み出しが開始される(時刻t106)。そして、読み出されたデータは、16チャンネル分のパターンデータPDとして出力される。ここで、差分演算部114は、リングメモリ読み出し制御部105から出力される読み出しアドレスRAとライトアドレス制御部113から出力されるライトアドレスWAとの差分を求め、この差分が所定の閾値に達した場合にフル検出信号FSを出力してメモリ制御部111からの制御信号C100を停止させる。一方、上記の差分が閾値に達していない場合には、ライトアドレス制御部113に対してインクリメント命令ICを出力する。かかる制御により、パターン発生装置100からは途切れ(ウェイトの発生)が生ずることなくパターンデータPDが出力される。
ここで、メモリ101の使用方法について説明する。図8は、従来のパターン発生装置100が備えるメモリ101の使用例を示す図であって、(a)はモード設定信号MDが「3ビットモード」の場合の使用例を示す図であり、(b)はモード設定信号MDが「6ビットモード」の場合の使用例を示す図である。
図8(a)に示す通り、モード設定信号MDが「3ビットモード」である場合には、128ビットのデータ幅を32ビットからなる4つの部分b101〜b104に分割し、その1つの部分b102を第1〜第8チャンネルのパターンデータPDに係るデータを記憶するために用い、他の部分b104を第9〜第16チャンネルのパターンデータPDに係るデータを記憶するために用いており、残りの部分b101,b103は未使用である。このため、「3ビットモード」のときには、メモリ101の有効データ幅はメモリ101の本来のデータ幅の半分の64ビットになる。
尚、モード設定信号MDが「3ビットモード」に設定されている場合には、1チャンネル当たりのデータのパターン長が3ビットであるため、単純に考えると16チャンネル分のデータを発生させるには合計48ビットのデータ幅があれば良い。上述の通り、「3ビットモード」のときの有効データ幅は64ビットであるが、データ以外のビット(64−48=16ビット)は、パリティビットや制御ビットとして用いられる。
これに対し、図8(b)に示す通り、モード設定信号MDが「6ビットモード」である場合には、128ビットのデータ幅を64ビットからなる2つの部分b201,b202に分割し、一方の部分b201を第1〜第8チャンネルのパターンデータPDに係るデータを記憶するために用い、他方の部分b202を第9〜第16チャンネルのパターンデータPDに係るデータを記憶するために用いている。このため、「6ビットモード」のときには、有効データ幅は128ビットになる。
ここで、モード設定信号MDが「6ビットモード」に設定されている場合には、1チャンネル当たりのデータのパターン長が6ビットであるため、単純に考えると16チャンネル分のデータを発生させるには合計96ビットあれば良い。上述の通り、「6ビットモード」のときの有効データ幅は128ビットであるが、データ以外のビット(128−96=32ビット)は、パリティビットや制御ビットとして用いられる。
尚、図8(a),図8(b)に示す通り、モード設定信号MDの設定内容に拘わらず、リングメモリ104から一時に出力される16チャンネル分のパターンデータPDに係るデータは、メモリ101の同一のアドレスに記憶される。例えば、リングメモリ104から最初に出力される16チャンネル分のパターンデータPDに係るデータ「#0」は図8(a),図8(b)の何れにおいてもメモリ101の先頭アドレスに記憶され、次の16チャンネル分のパターンデータPDに係るデータ「#1」は図8(a),図8(b)の何れにおいても、メモリ101の2番目のアドレスに記憶される。
尚、以下の特許文献1には、安価な大容量のDRAM(Dynamic Random Access Memory)からなるインストラクションメモリに記憶されたインストラクションに従って、パターンアドレスを生成する従来のパターン発生装置の一例が開示されている。このパターン発生装置では、インストラクションメモリから読み出されたインストラクションを、高速なSRAMからなるリングメモリに一旦記憶させ、リングメモリから読み出したインストラクションを実行することで、パターンアドレスの途切れ(ウェイトの発生)を防止している。
特開2003−122566号公報
以下、図面を参照して本発明の実施形態によるパターン発生装置及び半導体試験装置について詳細に説明する。
〔第1実施形態〕
図1は、本発明の第1実施形態によるパターン発生装置の要部構成を示すブロック図である。図1に示す通り、本実施形態のパターン発生装置1は、メモリ11(第1記憶部)、データ変換部12、制御部13、リングメモリ14(第2記憶部)、及びリングメモリ読み出し制御部15を備えており、所定の基準クロックCLKに同期して動作して、16チャンネル分のパターンデータPDを出力する。
本実施形態のパターン発生装置1は、制御部13に入力されるモード設定信号MDによって1チャンネル当たりのパターン長を可変することができる。具体的には、モード設定信号MDを「3ビットモード(基本モード)」にすれば1チャンネル当たりのパターン長を3ビットにすることができ、「6ビットモード(2倍モード)」にすれば1チャンネル当たりのパターン長を6ビットにすることができる。ビット数を増やすことでより複雑なパターンの生成が可能である。
メモリ11は、発生させるパターンデータPDに係るデータ(パターン発生命令)を記憶するメモリであり、データ幅が64ビットであるDDR2 SDRAMが用いられる。ここで、メモリ11のデータ幅は、「3ビットモード」で16チャンネル分のパターンデータPDを出力させるのに必要なデータ幅に設定される。具体的には、1チャンネル当たりのデータのパターン長が3ビットであるから16チャンネル分のデータを発生させるには最低限48ビットのデータ幅が必要になる。これに加えて、パリティビットや制御ビットが必要になるため、メモリ11のデータ幅は64ビットに設定される。
図2は、本発明の第1実施形態によるパターン発生装置1が備えるメモリ11の使用例を示す図であって、(a)はモード設定信号MDが「3ビットモード」の場合の使用例を示す図であり、(b)はモード設定信号MDが「6ビットモード」の場合の使用例を示す図である。図2(a)に示す通り、モード設定信号MDが「3ビットモード」である場合には、メモリ11の64ビットのデータ幅を32ビットからなる2つの部分b11,b12に分割し、一方の部分b11を第1〜第8チャンネルのパターンデータPDに係るデータを記憶するために用い、他の部分b12を第9〜第16チャンネルのパターンデータPDに係るデータを記憶するために用いている。
また、モード設定信号MDが「3ビットモード」のときには、リングメモリ14から一時に出力される16チャンネル分のパターンデータPDに係るデータは、メモリ11の同一のアドレスに記憶される。例えば、図2(a)に示す通り、リングメモリ14から最初に出力される16チャンネル分のパターンデータPDに係るデータ「#0」はメモリ11の先頭アドレスに記憶され、次の16チャンネル分のパターンデータPDに係るデータ「#1」はメモリ11の2番目のアドレスに記憶される。このため、「3ビットモード」のときには、メモリ11の有効データ幅はメモリ101の本来のデータ幅と同じ64ビットになる。
次に、図2(b)に示す通り、モード設定信号MDが「6ビットモード」である場合においても、「3ビットモード」である場合と同様に、メモリ11の64ビットのデータ幅を32ビットからなる2つの部分b21,b22に分割している。ここで、「6ビットモード」の場合には、第1〜第8チャンネルのパターンデータPDに係るデータ及び第9〜第16チャンネルのパターンデータPDに係るデータは共に64ビットである(図8(b)参照)。
このため、モード設定信号MDが「6ビットモード」のときには、第1〜第8チャンネルのパターンデータPDに係るデータをメモリ11の一方の部分b21における連続する2つのアドレスに記憶するとともに、第9〜第16チャンネルのパターンデータPDに係るデータをメモリ11の他方の部分b22の連続する2つのアドレスに記憶している。例えば、図2(b)に示す通り、リングメモリ14から最初に出力される16チャンネル分のパターンデータPDに係るデータ「#0」は前半の3ビットがメモリ11の先頭アドレスに記憶され、後半の3ビットがメモリ11の2番目のアドレスに記憶される。また、リングメモリ14から2番目に出力される16チャンネル分のパターンデータPDに係るデータ「#1」は前半の3ビットがメモリ11の3番目のアドレスに記憶され、後半の3ビットがメモリ11の4番目のアドレスに記憶される。よって、「6ビットモード」のときにも、メモリ11の有効データ幅はメモリ101の本来のデータ幅と同じ64ビットになる。
データ変換部12は、制御部13からメモリ11に与えられる制御信号C1及びメモリ11から読み出された64ビットのデータd1を所定の変換規則に従って変換する。尚、データ変換部12によって変換されたデータは、データD1として制御部13に出力される。制御部13は、メモリ制御部21(読出制御部)、ライトデータ生成部22(生成部)、ライトアドレス制御部23、及び差分演算部24を備えており、メモリ11からのデータの読み出し制御及びリングメモリ14へのデータの書き込み制御を行う。
メモリ制御部21は、メモリ11からデータを読み出す制御信号(リードコマンド)C1をデータ変換部12に出力する。ここで、メモリ制御部21は、リードサイクル変換部21aを備えており、モード設定信号MDに基づいてメモリ11からのデータd1の読み出し速度(制御信号C1を出力する間隔)を変える。具体的には、モード設定信号MDが「6ビットモード」である場合には、「3ビットモード」である場合の1/2の時間間隔で制御信号C1を出力し、「3ビットモード」である場合の2倍の速度でメモリ11からデータd1を読み出す。
また、メモリ制御部21は、制御信号C1が出力されてからメモリ11に記憶されたデータd1が読み出されるまでの遅延時間(レイテンシ)を示すレイテンシ情報LTをライトデータ生成部22及びライトアドレス制御部23に出力する。尚、メモリ制御部21は、差分演算部24からフル検出信号FSが出力されている場合には、制御信号C1の出力は行わない。
ライトデータ生成部22は、データ変換部12からのデータD1を用いてリングメモリ14に書き込むべきライトデータWDを生成するとともに、メモリ制御部21からのレイテンシ情報LTに基づいてライトイネーブル信号WEを生成する。ここで、ライトデータ生成部22は、モード設定信号MDが「6ビットモード」である場合には、連続する2つのデータD1を合成してリングメモリ14に書き込むべきライトデータWDを1つ作成する。ライトアドレス制御部23は、差分演算部24から出力されるインクリメント命令ICを参照しつつ、ライトデータWDをリングメモリ14に書き込むためのライトアドレスWAを生成する。
差分演算部24は、リングメモリ読み出し制御部15から出力される読み出しアドレスRAとライトアドレス制御部23から出力されるライトアドレスWAとの差分を求め、この差分が所定の閾値に達した場合に、その旨を示すフル検出信号FSを出力する。また、上記の差分が上記の閾値に達していない場合には、ライトアドレスWAをインクリメントさせるインクリメント命令ICを出力する。
リングメモリ14は、メモリ11から読み出されたデータを用いて生成されたデータWDを一時的に記憶するメモリであり、メモリ11よりも高速にデータの書き込み及び読み出しが可能なメモリ(具体的には、SRAM)が用いられる。このリングメモリ14は、パターンデータPDの途切れ(ウェイトの発生)を防止するために設けられ、データ幅はメモリ11のデータ幅の2倍の128ビットであって、容量は2キロワード程度である。つまり、リングメモリ14からは、16チャンネル分のパターンデータPDを一時に読み出すことが可能である。リングメモリ読み出し制御部15は、リードアドレスRAを出力して、リングメモリ14に一時的に記憶されたデータの読み出し制御を行う。リングメモリ14から読み出されたデータはパターンデータPDとして出力される。
次に、上記構成におけるパターン発生装置1の動作について説明する。尚、パターン発生装置1の動作は、モード設定信号MDが「3ビットモード」である場合と「6ビットモード」である場合とで異なる。このため、以下では、モード設定信号MDが「3ビットモード」である場合の動作と、「6ビットモード」である場合の動作を順に説明する。
〈「3ビットモード」時の動作〉
図3は、本発明の第1実施形態によるパターン発生装置1の「3ビットモード」における動作を説明するためのタイミングチャートである。動作が開始されると、制御部13のメモリ制御部21からデータ変換部12に対して制御信号(リードコマンド)C1が出力される(時刻t11)。尚、図3に示す通り、「3ビットモード」においては、制御信号C1は基準クロックCLKの4周期毎(4サイクル毎)に出力される。
データ変換部12から出力された制御信号C1は、データ変換部12を介してメモリ11に入力され、所定のレイテンシ時間TL経過後にメモリ11から64ビットのデータd1が読み出される(時刻t12)。ここで、メモリ11がDDR2 SDRAMである場合には、図3に示す通り、基準クロックCLKの立ち上がり及び立ち下がりの時点でデータd1(DQ0〜DQ3)が読み出される。
メモリ11から読み出されたデータd1はデータ変換部12で所定の変換処理が施されて64ビットのデータD1として制御部13に入力される。図3に示す例では、基準クロックの立ち上がりで読み出された偶数番目のデータd1(DQ0,DQ2)と、クロックの立ち下がりで読み出された奇数番目データd1(DQ1,DQ3)とが対になって、基準クロックCLKの各周期毎にデータD1として制御部13に順次入力される。
データD1が制御部13に入力されると、ライトデータ生成部22においてリングメモリ14に書き込むべき128ビットからなるライトデータWDが生成される。このとき、ライトデータ生成部22は、入力されるデータD1の各々に対して値が「0」である64ビットのデータを付加することで64ビットのデータD1から128ビットのライトデータWDを生成する。ここで、図3に示す例では、偶数番目のデータD1(DQ0,DQ2)から偶数番目のライトデータWD(WD0,WD2)が生成されるとともに、奇数番目のデータD1(DQ1,DQ3)から奇数番目のライトデータWD(WD1,WD3)が生成され、生成されたライトデータが基準クロックCLKの周期毎に番号順に並べられたライトデータ(WD0,WD1,WD2,WD3)が生成される。
ライトアドレス制御部23においては、以上のライトデータ生成部22におけるライトデータWDの生成と並行してライトアドレスWAの生成が行われる。ここで、ライトデータ生成部22からライトイネーブル信号WEが出力されると(「H」レベルになると)、ライトデータ生成部22で生成されたライトデータWDを、ライトアドレス制御部23で生成されたライトアドレスWAで指定されるリングメモリ14のアドレスへ書き込む書込動作が開始される(時刻t13)。以上の書込動作は、ライトイネーブル信号WEが「H」レベルである間は継続されるが、「L」レベルになると終了する(時刻t14)。
次に、リングメモリ読み出し制御部15からリードアドレスRAの出力が開始されると(時刻t15)、リングメモリ14に一時的に記憶されたデータの読み出しが開始される(時刻t16)。そして、読み出されたデータは、16チャンネル分のパターンデータPDとして出力される。ここで、差分演算部24は、リングメモリ読み出し制御部15から出力される読み出しアドレスRAとライトアドレス制御部23から出力されるライトアドレスWAとの差分を求め、この差分が所定の閾値に達した場合にフル検出信号FSを出力してメモリ制御部21からの制御信号C1を停止させる。一方、上記の差分が閾値に達していない場合には、ライトアドレス制御部23に対してインクリメント命令ICを出力する。かかる制御により、パターン発生装置1からは途切れ(ウェイトの発生)が生ずることなくパターンデータPDが出力される。
〈「6ビットモード」時の動作〉
図4は、本発明の第1実施形態によるパターン発生装置1の「6ビットモード」における動作を説明するためのタイミングチャートである。動作が開始されると、制御部13のメモリ制御部21からデータ変換部12に対して制御信号(リードコマンド)C1が出力される(時刻t21)。尚、図4に示す通り、「6ビットモード」においては、制御信号C1は基準クロックCLKの2周期毎(2サイクル毎)に出力され、メモリ11からは「3ビットモード」の場合の2倍の速度でデータd1の読み出しが行われる。
データ変換部12から出力された制御信号C1は、データ変換部12を介してメモリ11に入力され、所定のレイテンシ時間TL経過後にメモリ11から64ビットのデータd1が読み出される(時刻t22)。ここで、メモリ11がDDR2 SDRAMである場合には、図4に示す通り、基準クロックCLKの立ち上がり及び立ち下がりの時点でデータd1(DQ0〜DQ3)が読み出される。尚、「6ビットモード」では、制御信号C1が基準クロックCLKの2周期毎にメモリ制御部21から出力されるため、先に読み出されたデータ(DQ0〜DQ3)に続いて新たなデータd1(DQ4〜DQ6)の読み出しが行われる(時刻t23)。
メモリ11から読み出されたデータd1はデータ変換部12で所定の変換処理が施されて64ビットのデータD1として制御部13に入力される。図4に示す例では、基準クロックの立ち上がりで読み出された偶数番目のデータd1(DQ0,DQ2)と、クロックの立ち下がりで読み出された奇数番目データd1(DQ1,DQ3)とが対になって、基準クロックCLKの各周期毎にデータD1として制御部13に順次入力される。
データD1が制御部13に入力されると、ライトデータ生成部22においてリングメモリ14に書き込むべき128ビットからなるライトデータWDが生成される。このとき、ライトデータ生成部22は、対になって入力される64ビットのデータD1を合成して128ビットのライトデータWDを生成する。つまり、図2(b)に示す通り、第1〜第8チャンネルのパターンデータPDに係るデータ及び第9〜第16チャンネルのパターンデータPDに係るデータは、メモリ11の連続する2つのアドレスに記憶されているため、ライトデータ作成部22はこれらを合成して1つのデータにする。
ここで、図4に示す例では、偶数番目のデータD1(DQ0)と奇数番目のデータD1(DQ1)が合成されてライトデータWD(WD0)が生成される。同様に、偶数番目のデータD1(DQ2)と奇数番目のデータD1(DQ3)とが合成されて次のライトデータWD(WD1)が生成される。以下同様に、制御部13に入力される対のデータD1(DQ4,DQ6,…及びDQ5,DQ6,…)からライトデータWD(WD2,WD3,…)が順次生成される。
ライトアドレス制御部23においては、以上のライトデータ生成部22におけるライトデータWDの生成と並行してライトアドレスWAの生成が行われる。ここで、ライトデータ生成部22からライトイネーブル信号WEが出力されると(「H」レベルになると)、ライトデータ生成部22で生成されたライトデータWDを、ライトアドレス制御部23で生成されたライトアドレスWAで指定されるリングメモリ14のアドレスへ書き込む書込動作が開始される(時刻t24)。以上の書込動作は、ライトイネーブル信号WEが「H」レベルである間は継続されるが、「L」レベルになると終了する(時刻t25)。
リングメモリ14に一時的に記憶されたデータの読み出しは、上述した「3ビットモード」の場合と同じである。つまり、リングメモリ読み出し制御部15からリードアドレスRAの出力が開始されると(時刻t26)、リングメモリ14に一時的に記憶されたデータの読み出しが開始される(時刻t27)。そして、「3ビットモード」の場合と同様に、パターン発生装置1からは途切れ(ウェイトの発生)が生ずることなく16チャンネル分のパターンデータPDが出力される。
以上の通り、本実施形態では、「3ビットモード」でパターンデータPDの発生に必要なデータ幅(64ビット)を有するメモリ11を設け、モード設定信号MDが「6ビットモード」の場合には、128ビットのデータをメモリ11の連続する2つのアドレスに記憶しておき、メモリ11からのデータd1の読み出しを「3ビットモード」のときの読み出し速度の2倍で行い、メモリ11の連続する2つのアドレスから読み出されたデータD1を合成してリングメモリ14に書き込むべきライトデータWDを生成している。このため、メモリ11を無駄なく有効活用することができ容量を低減することができ、コスト低減を図ることができる。
〔第2実施形態〕
図5は、本発明の第2実施形態によるパターン発生装置の要部構成を示すブロック図である。図5に示す通り、本実施形態のパターン発生装置2は、図1に示すパターン発生装置1が備える制御部13に代えて制御部30を設けるとともに、スキャンメモリ16及びスキャンメモリ読み出し制御部17を追加した構成であり、異なる2種類のパターン(パターンデータPD及びスキャンパターンデータSPD)を発生する。
制御部30は、図1に示す制御部13が備えるメモリ制御部21に代えてメモリ制御部31を設けるとともに、ライトデータ生成部32、ライトアドレス制御部33、及び差分演算部34を追加した構成であり、メモリ11からのデータの読み出し制御及びリングメモリ14へのデータの書き込み制御に加えて、スキャンメモリ16へのデータの書き込み制御を行う。つまり、本実施形態のパターン発生装置2は、端的に言うと、図1に示すパターンデータPDを発生するパターン発生装置1と、パターン発生装置1と同様の構成であってスキャンパターンデータSPDを発生するパターン発生装置とを並列に設け、これら2つのパターン発生装置でメモリ11、データ変換部12、及びメモリ制御部21を共有した構成である。尚、パターンデータPDに係るデータとスキャンパターンデータSPDに係るデータとはメモリ11の異なる領域にそれぞれ記憶される。
メモリ制御部31は、図1に示すリードサイクル変換部21aに加えてアクセスアービター31aを備えており、図1に示したメモリ制御部21と同様にメモリ11からの読み出し制御を行うとともに、リングメモリ14に対する書き込み動作とスキャンメモリ16に対する書き込み動作との排他制御を行う。つまり、アクセスアービター31aが、ライトデータ生成部22、ライトアドレス制御部23、及び差分演算部24からなる書き込み制御部30aを選択する選択信号S1と、ライトデータ生成部32、ライトアドレス制御部33、及び差分演算部34からなる書き込み制御部30bを選択する選択信号S2との何れか一方を出力することにより、リングメモリ14に対する書き込み動作を書き込み制御部30aに行わせ、又はスキャンメモリ16に対する書き込み動作を書き込み制御部30bに行わせる制御を行う。
上記の排他制御を行うのは、パターンデータPDを発生するパターン発生装置とスキャンパターンデータSPDを発生するパターン発生装置とでメモリ11を共用しているからである。尚、メモリ制御部31は、ライトデータ生成部22及びライトアドレス制御部23のみならず、ライトデータ生成部32及びライトアドレス制御部33にもレイテンシ情報LTを出力する。また、メモリ制御部31には、差分演算部24からのフル検出信号FSに加えて差分演算部34からのフル検出信号SFSが入力されており、フル検出信号FS又はフル検出信号SFSが出力されている場合には、制御信号C1の出力は行わない。
ライトデータ生成部32は、データ変換部12からのデータD1を用いてスキャンメモリ16に書き込むべきライトデータSWDを生成するとともに、メモリ制御部21からのレイテンシ情報LTに基づいてライトイネーブル信号SWEを生成する。このライトデータ生成部32は、ライトデータ生成部22と同様に、モード設定信号MDが「6ビットモード」である場合には、連続する2つのデータD1を合成してスキャンメモリ16に書き込むべきライトデータSWDを1つ作成する。ライトアドレス制御部23は、差分演算部34から出力されるインクリメント命令SICを参照しつつ、ライトデータSWDをスキャンメモリ16に書き込むためのライトアドレスSWAを生成する。
差分演算部24は、スキャンメモリ読み出し制御部17から出力される読み出しアドレスSRAとライトアドレス制御部33から出力されるライトアドレスSWAとの差分を求め、この差分が所定の閾値に達した場合に、その旨を示すフル検出信号SFSを出力する。また、上記の差分が上記の閾値に達していない場合には、ライトアドレスSWAをインクリメントさせるインクリメント命令SICを出力する。尚、差分演算部24はリングメモリ14にアンダーフローが生じた旨を示すアンダーフロー信号UFを出力し、差分演算部34はスキャンメモリ16にアンダーフローが生じた旨を示すアンダーフロー信号SUFを出力する。
スキャンメモリ16は、メモリ11から読み出されたデータを用いて生成されたデータSWDを一時的に記憶するメモリであり、メモリ11よりも高速にデータの書き込み及び読み出しが可能なメモリ(具体的には、SRAM)が用いられる。このスキャンメモリ16は、スキャンパターンデータSPDの途切れ(ウェイトの発生)を防止するために設けられ、リングメモリ14と同様にデータ幅はメモリ11のデータ幅の2倍の128ビットであって、容量は2キロワード程度である。つまり、スキャンメモリ16からは、16チャンネル分のスキャンパターンデータSPDを一時に読み出すことが可能である。スキャンメモリ読み出し制御部17は、リードアドレスSRAを出力して、スキャンメモリ16に一時的に記憶されたデータの読み出し制御を行う。スキャンメモリ16から読み出されたデータはスキャンパターンデータSPDとして出力される。
上記構成において、パターンデータPDを発生させる場合には、メモリ制御部31が備えるアクセスアービターから選択信号S1が出力される。そして、メモリ制御部31の制御の下でメモリ11からの読み出しが行われ、書き込み制御部30aによってリングメモリ14に対する書き込み制御が行われるとともに、リングメモリ読み出し制御部15によってリングメモリ14からの読み出し制御が行われる。リングメモリ14から読み出されたデータはパターンデータPDとして出力される。尚、モード設定信号MDが「3ビットモード」である場合には第1実施形態で説明した「3ビットモード」時の動作と同様の動作が行われ、「6ビットモード」である場合には第1実施形態で説明した「6ビットモード」時の動作と同様の動作が行われる。
これに対し、スキャンパターンデータSPDを発生させる場合には、メモリ制御部31が備えるアクセスアービターから選択信号S2が出力される。そして、メモリ制御部31の制御の下でメモリ11からの読み出しが行われ、書き込み制御部30bによってスキャンメモリ16に対する書き込み制御が行われるとともに、スキャンメモリ読み出し制御部17によってスキャンメモリ16からの読み出し制御が行われる。スキャンメモリ16から読み出されたデータはスキャンパターンデータSPDとして出力される。尚、スキャンパターンデータSPDを発生させる場合においても、モード設定信号MDが「3ビットモード」である場合には第1実施形態で説明した「3ビットモード」時の動作と同様の動作が行われ、「6ビットモード」である場合には第1実施形態で説明した「6ビットモード」時の動作と同様の動作が行われる。
以上の通り、本実施形態では、パターンデータPDを発生するパターン発生装置と、スキャンパターンデータSPDを発生するパターン発生装置とを並列に設け、これら2つのパターン発生装置でメモリ11、データ変換部12、及びメモリ制御部21を共有しているため、各々のパターン発生装置毎にメモリを設ける必要が無く、メモリ数を低減することができる。また、本実施形態においても、第1実施形態と同様に、「3ビットモード」でパターンデータPDの発生に必要なデータ幅(64ビット)を有するメモリ11を設け、モード設定信号MDが「6ビットモード」の場合には、128ビットのデータをメモリ11の連続する2つのアドレスに記憶しておき、メモリ11からのデータd1の読み出しを「3ビットモード」のときの読み出し速度の2倍で行い、メモリ11の連続する2つのアドレスから読み出されたデータD1を合成してリングメモリ14又はスキャンメモリ16に書き込むべきライトデータWD又はライトデータSWDを生成している。このため、メモリ11を無駄なく有効活用することができ容量を低減することができ、コスト低減を図ることができる。尚、図5では、2つのパターン発生装置でメモリ11を共有する構成を例に挙げて説明したが、3つ以上のパターン発生装置でメモリ11を供給しても良い。
以上説明したパターン発生装置1,2は、例えばDUTに試験信号を印加し、DUTから得られる信号と所定の期待値とを比較することでDUTの試験を行う半導体試験装置に設けるのが好適である。パターン発生装置1,2から出力されるパターンデータPDを用いて上記の試験信号や上記の期待値を生成することができる。
以上、本発明の実施形態によるパターン発生装置及び半導体試験装置について説明したが、本発明は上述した実施形態に制限されることなく、本発明の範囲内で自由に変更が可能である。例えば、上記実施形態では、パターンデータPD又はスキャンパターンデータSPDを発生するパターン発生装置について説明したが、本発明のパターン発生装置は、これらのパターンを発生するものに限られず、任意のパターンを発生するパターン発生装置に適用することができる。
また、上記実施形態では、パターンデータPDのパターン長が3ビットである「3ビットモード」と、パターンデータPDのパターン長が6ビットである「6ビットモード」との切り替えが可能なパターン発生装置を例に挙げて説明したが、本発明はこの2つのモードの切り替えに制限される訳ではなく他の複数のモードの切り替えが可能なパターン発生装置にも適用可能である。具体的には、パターン長がkビット(kは2以上の整数)である場合を基本モードとすると、この基本モードとパターン長がk×2nビット(nは1以上の整数)である2n倍モードとの切り替えが可能である。
2n倍モードでパターンデータPDを発生させる場合には、まず基本モードでパターンデータPDの発生に必要なデータ幅を有するメモリ11を用いる。そして、メモリ11からの読み出しを基本モードにおける読み出し速度の2n倍で行い、メモリ11から読み出された連続する2n個のデータd1(D1)を用いてリングメモリ11等に記憶させるライトデータを生成する。