波形データ発生器、波形発生器および半導体試験装置
【課題】複数の直線を組み合わせた波形のパターンを繰り返し生成でき、メモリへの格納効率が良く、装置コストの安い、波形発生器を提供する。
【解決手段】複数の直線の線分の波形パラメータと、これらの複数の直線の線分のいくつかをつないだ1周期の波形を複数回繰り返すシーケンスデータとを格納したメモリと、前記メモリからシーケンスデータに従った複数の線分に関する波形パラメータの各々に基づいた演算を行い、1周期の波形を複数回繰り返すディジタル−アナログ変換器用データを発生するデータ発生器とを備えた波形データ発生器。
【解決手段】複数の直線の線分の波形パラメータと、これらの複数の直線の線分のいくつかをつないだ1周期の波形を複数回繰り返すシーケンスデータとを格納したメモリと、前記メモリからシーケンスデータに従った複数の線分に関する波形パラメータの各々に基づいた演算を行い、1周期の波形を複数回繰り返すディジタル−アナログ変換器用データを発生するデータ発生器とを備えた波形データ発生器。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体測定に用いられる波形発生器およびその関連機器に関し、特に、直線を組み合わせた波形を生成する波形データ発生器、波形発生器およびそれを用いた半導体試験装置に関する。
【背景技術】
【0002】
近年、フラッシュメモリの開発においては、例えば特許文献1の図8(i)に示される多段のステップ波形のように、従来のアナログ波形とは異なる、複数の直線を組み合わせた複雑な直線波形信号が必要とされるようになっている。
【0003】
他方、例えば半導体の信頼性試験における非特許文献1の図1に示されるように、他の分野においても、従来の単純なパルス波形とは異なる複雑な直線波形信号についての必要性は増えていると考えられる。
【0004】
このような複雑な直線波形を従来の測定器で生成しようとすると、次のような困難が伴う。例えば、パルスジェネレータ(以下、PGと記す)では、せいぜい3値までの閾値しか対応できないので、PGを多数用いて、複数のパルス信号を重ね合わせて複雑な直線波形信号を生成するなどの技術が必要となり、装置が大型化し、制御が複雑になるため、安価に実現できない。
【0005】
また、ICテスターに一般的に搭載される任意波形発生器(Arbitrary Waveform Generator, 以下AWGと記載する)では、本明細書の図8(a)に示すように、波形の1周期のパターンを一定サンプルレートの離散的ディジタルデータのパターンとして記憶させるため、この例では、24個の点の情報が必要となる。このことから分かるように、多大なメモリ容量が必要となる。そのためホストコンピュータからのパターンのデータ転送時間も長くなり、装置自体も大掛かりとなり安価に提供することができない。このようなAWGの例としては、特許文献2に記載されている。
【0006】
他方、特許文献3および特許文献4では、本明細書の図8(b)に示すように、波形の各頂点に着目してメモリに動作又は位置を記憶する方式の波形発生器が開示されているが、一般的な波形発生器に普及するには至っていない。
【0007】
【特許文献1】米国特許出願公開第2002/0118574号明細書 図8
【特許文献2】特開平1−218201号公報 第3図
【特許文献3】米国特許第3662160号明細書 図1〜図3
【特許文献4】米国特許第4222108号明細書 図1〜図3
【非特許文献1】Denais, M., 外7名、「On-the-fly characterization of NBTI in ultra-thin gate oxide PMOSFET's(PMOSFETの超薄ゲート酸化膜におけるNBTIのオンザフライ特性)」、International Electron Device Meeting (IEDM), IEEE, 2004, 109-112
【発明の開示】
【発明が解決しようとする課題】
【0008】
特許文献3に示されるファンクションジェネレータでは、波形の繰り返しを指定するブロックモードが、1つのランプ波形しか指定できない。例えば本明細書の図8(b)の波形を複数回繰り返す場合だと、1周期分の複数の直線データを繰り返し展開して記述するしかないので、上述の半導体測定に用いるには、柔軟性が乏しいと考えられる。
【0009】
特許文献4に示される波形発生器では、まず、各頂点の間のスイープ電圧の発生を、クロックレートを変更して行うために、可変クロック発生器と、それに対応した高速なデバイスが必要となり、装置のコストを安価にできない。次に、メモリ中に、実行する命令(instruction)と必要なデータを、例えば、振幅の初期値の設定、振幅の比較対象値の設定、ランプ波形を生成するためのクロック周波数の設定、およびランプ波形生成命令、といった具合に、逐一記述して格納しなければならないため、プログラミングが容易でないのと、メモリ効率が命令を含むために多少劣ると考えられる。さらに、命令解釈部分を含むために波形発生器自体がコスト高となると考えられる。
【0010】
上述の問題点に鑑み、本発明が解決しようとする課題は、複数の直線を組み合わせた波形の繰り返し、あるいは、これらの複数の直線を組み合わせた波形の複数パターンを繰り返し生成でき、メモリへの格納効率が良く、装置コストの安い、波形発生器に関する技術を提供することである。
【0011】
さらに、本発明が解決する別の課題は、安価でありながら高速動作する、複数の直線を組み合わせた波形を生成する波形発生器に関する技術を提供することである。
【0012】
さらに、本発明が解決するさらに別の課題は、生成される複数の直線を組み合わせた波形のデータを、直線の線分のデータとして格納する、波形発生器に関する技術を提供することである。
【0013】
さらに、本発明が解決するさらに別の課題は、生成される複数の直線を組み合わせた波形における各直線の線分の傾きを固定小数点で取り扱う、安価でありながら高速動作する高精度な波形発生器に関する技術を提供することである。
【課題を解決するための手段】
【0014】
上記目的を達成するため、本発明による波形データ発生器は、複数の直線の線分の波形パラメータと、前記複数の直線の線分のいくつかをつないだ1周期の波形を複数回繰り返すシーケンスデータとを格納したメモリと、前記メモリから前記シーケンスデータに従った複数の線分に関する波形パラメータの各々に基づいた演算を行い、前記1周期の波形を複数回繰り返すディジタル−アナログ変換器用データを発生するデータ発生器とを備える。また、この波形データ発生器は、前記メモリと、前記データ発生器とが、FPGA上に設けられたことを特徴とする態様も含む。
【0015】
本発明による別の波形データ発生器は、複数の直線の線分の波形パラメータを格納した波形メモリと、前記複数の直線の線分のいくつかをつないだ1周期の波形を複数回繰り返すシーケンスデータを格納したシーケンスメモリと、前記シーケンスメモリからシーケンスデータを読み出し、該シーケンスデータに基づいて、前記1周期の波形を複数回繰り返すように波形メモリをアクセスするシーケンサと、前記シーケンサと前記波形メモリから受け取った一連の波形パラメータに基づき線分波形を生成する演算を行い、前記1周期の波形を複数回繰り返すディジタル−アナログ変換器用のデータを生成する線分データ発生器とを備える。
【0016】
また、この波形データ発生器は、前記波形メモリには、前記複数の直線の線分の各々の傾きと、前記複数の直線の線分の各々の始点のオフセット値と、前記複数の直線の線分の各々の長さを規程する時間とを格納した態様と、前記複数の直線の線分の各々の傾きは、固定小数点で表記された態様と、前記複数の直線の線分の各々の傾きに応じて、傾きの小数点以下の有効桁数を指定するパラメータを前記波形メモリに格納した態様と、前記線分データ発生器では、傾きと時間パラメータとの積を固定小数点演算を行って算出し、その結果を前記傾きに対応した小数点以下の有効桁数を指定するパラメータを制御入力としたセレクタによって小数点以下の有効桁数を選択する態様を含む。さらに、この波形データ発生器は、前記波形メモリには、前記複数の直線の線分の各々についてのクロックごとの増加分あるいは減少分と、前記複数の直線の線分の各々の始点のオフセット値と、前記複数の直線の線分の各々の長さを規程する時間とを格納した態様と、前記複数の直線の線分の各々の増加分あるいは減少分は、固定小数点で表記された態様と、前記複数の直線の線分の各々の増加分あるいは減少分に応じて、傾きの小数点以下の有効桁数を指定するパラメータを前記波形メモリに格納した態様と、前記線分データ発生器では、前記増加分あるいは減少分を、クロックごとに加える演算をする態様と、前記波形メモリと、前記シーケンスメモリと、前記シーケンサと、前記線分データ発生器とが、FPGA上に設けられたことを特徴とする態様も含む。
【0017】
さらに、本発明による波形発生器は、上述のいずれかに記載の波形データ発生器と、前記波形データ発生器の出力に接続されて電気信号を発生するディジタル−アナログ変換器とを備える。
【0018】
さらに、本発明による半導体試験装置は、上述の波形発生器と、前記波形発生器の出力に接続された増幅器とを備えた波形信号発生器と、波形プロセッサと記憶装置とを備えて前記波形信号発生器を制御するコントローラとを備える。また、本発明によるフラッシュメモリ試験用半導体試験装置は、前記記憶装置にフラッシュメモリ試験用データを備える。
【発明の効果】
【0019】
以上のように、本発明を用いると、複数の直線を組み合わせた波形の繰り返し、あるいは、これらの複数の直線を組み合わせた波形の複数パターンを繰り返し生成でき、メモリへの格納効率が良く、装置コストの安い、波形発生器およびその関連装置を提供することができる。
【0020】
また、本発明を用いると、安価でありながら高速動作する、複数の直線を組み合わせた波形を生成する波形発生器およびその関連装置を提供することができる。
【0021】
さらに、本発明を用いると、生成される複数の直線を組み合わせた波形における各直線の線分の傾きを固定小数点で取り扱う、安価でありながら高速動作する高精度な波形発生器およびその関連装置を提供することができる。
【発明を実施するための最良の形態】
【0022】
図13を参照して、本発明による波形発生器の基本的な実施形態である波形発生器2100を説明する。
【0023】
波形発生器2100は、複数の直線の線分をつなぎ合わせた波形のディジタルデータを生成する波形データ発生器2102と、その波形のディジタルデータをアナログ信号に変換して出力するディジタル-アナログ変換器(DAC)2104とを備えている。
【0024】
波形データ発生器2102は、シーケンサ2110、波形メモリ2126、シーケンスメモリ2118、線分データ発生器2130を備える。波形メモリ2126には、波形データの生成に必要な各直線の線分を規定あるいは表現するパラメータなどの情報を各線分毎に格納した波形パラメータテーブル2128を備えている。なお、ここで直線の線分を規定する波形パラメータとは、線分を形成する複数の点の座標情報を格納するのではなく、線分を数式(一次関数あるいは級数式による表現等)で表した時の、各パラメータを指す。
【0025】
シーケンスメモリ2118には、波形メモリ2126に格納された複数の線分の情報のうちのひとつ又は複数を用いて、どのような1周期分(本明細書ではこれを1シーケンスと呼ぶ)の波形とし、その波形を何回繰り返し、その後、次にどのような1シーケンスの波形を繰り返すかという情報(本明細書ではこれをシーケンスデータと呼ぶ)を格納したシーケンステーブル2119を備えている。
【0026】
線分データ発生器2130は、与えられた線分の各種パラメータと、クロック信号入力(図示せず)から、指定された線分上の点のディジタルデータを各時刻毎に計算して発生し、DAC2104に出力する。
【0027】
シーケンサ2110は、シーケンスメモリ2118をバス2131および2132を介してアクセスし、シーケンステーブルに格納された情報から、これから発生しようとするシーケンス波形中の線分の波形データの参照先アドレスを得て、それを元に波形メモリ2126をバス2134を介してアクセスし、該当する波形パラメータをバス2138を介して波形メモリ2126から線分データ発生器2130に出力させる。シーケンサ2110は、さらに、tカウンタ2124を備え、バス2136を介して波形メモリ2126から得た情報を元に、線分データ発生器2130内での時刻をバス2140を介して管理あるいは転送あるいは制御する。シーケンサ2110はさらに、内部に発生中のシーケンスの繰り返し回数を管理するループカウンタ2114、および、線分データ発生器2130が1周期分のデータを生成したかを管理する周期カウンタ2116を備えて、バス2140を介して線分データ発生器2130を制御する。
【0028】
以上の構成により、本発明の基本的な実施態様である波形発生器2100は、波形データ発生器2102内で、波形メモリ2126に格納された線分のパラメータ情報と、シーケンスメモリ2118に格納された各シーケンスに関する情報を元に、各時刻毎の線分データを線分データ発生器2130で発生させることで、DAC2104にディジタルデータを出力し、DAC2104は受け取ったディジタルデータを図示されないクロック信号に従いアナログ信号に変換して出力するという動作をする。
【0029】
ここで、波形メモリ2126に格納される情報は、線分のパラメータ情報であるために、メモリ容量を節約でき、シーケンスメモリ2118に1シーケンス中で使用される線分の情報や繰り返し回数などのシーケンス情報を格納しているので、メモリ容量を節約しながら、複数のシーケンスの繰り返しを柔軟かつ容易に発生することができる。
【0030】
次に、上記の本発明による波形発生器の基本実施形態に基づく第1の実施例について、図1ないし図5を参照して説明する。
【0031】
最初に、図3を参照して、本実施例による波形データのメモリへの格納方法を説明する。
【0032】
図3に示される波形は、図8の(a)および(b)に示す波形と同一の波形を4回繰り返した波形である。ここで、最初の1周期に対して、1周期の始点と終点および各頂点に点Aないし点Jが示されている。本発明では、この波形の1周期を複数の直線の線分、すなわち直線A−B、直線B−C、直線C−D、直線D−E、直線E−F、直線F−G、直線G−H、直線H−I、直線I−Jの9本の線分に分割する。次に、それぞれの線分について、次の(1)式で示される時間tに関する1次関数
【0033】
f(t)=a * t +b (1)
【0034】
で表現したときの各パラメータとして、傾きa、この線分の始点におけるオフセット値b、および、線分の始点から終点までの時間の長さを規定する時間値tを、それぞれ、p_a、p_b、p_tとして算出し、波形メモリ(図1の126)に格納する。
【0035】
具体的には、図4に例示されるように、波形メモリ126中の波形パラメータテーブル(図1の128)に、各線分データのエントリラベルを示すWPADDR毎に、後述のパラメータp_aの小数部の有効桁数を示すパラメータbit_sel、傾きを示すパラメータp_a、この線分の始点におけるオフセット値を示すパラメータp_b、線分の長さを規程する時間値p_t、この時間値p_tが最短クロック周期であるかどうかを示すインジケータIsMinとして格納される。ここで、パラメータbit_selは、0あるいは1の値をとり、IsMinは、TRUEあるいはFALSEの値をとる。また、各パラメータは固定小数点表記である。
【0036】
図4を参照すると、図3の1周期分の各線分の波形パラメータのデータは、線分A-Bのデータを示すエントリラベルADDR_Aのデータとしては、パラメータbit_selの値がsel_1、パラメータp_aが0.0、パラメータp_bが0.5、パラメータp_tがt_A、IsMinがFALSEとして格納され、続く線分B−CについてのエントリラベルADDR_Bのデータとしては、パラメータbit_selの値がsel_0、パラメータp_aが1.0、パラメータp_bが0.5、パラメータp_tがt_B、IsMinがFALSEというように格納されている。このように波形メモリ126の波形パラメータテーブル128に線分A−Bから線分I−Jまでの9個のエントリのデータが格納される。
【0037】
次に、図5を参照して、図3の1周期分を4回繰り返す場合を例にとって本発明のメモリへの格納方法を説明する。このような繰り返し情報は、シーケンスメモリ(図1の118)に設けられたシーケンステーブル(図1の119)に格納される。なお、本明細書では、1シーケンスとは波形の1周期分の線分の連なりを指し、図3の波形においては最初の1周期の線分A−Bから線分I−Jまでがこの1シーケンスに相当する。シーケンステーブル119では、各シーケンスのエントリラベルであるSPADDR毎に1シーケンスのデータが格納される。すなわち、このシーケンスの出力が次のシーケンスに切り替わる際に、出力される線分の波形パラメータテーブルのアドレスを示すbase、このシーケンスの最初の線分の波形パラメータテーブルのアドレスを示すstart、このシーケンスの最後の線分の波形パラメータテーブルのアドレスを示すend、この1シーケンスのクロック周期を示すperiod_len、このシーケンスの繰り返し回数を示すloop_numが格納される。
【0038】
図5を参照すると、図3の波形は、最初のシーケンスのエントリラベルSPADDR1のデータにおいて、baseアドレスとして線分A−Bを示すADDR_Aが、startアドレスとして線分A−Bを示すADDR_Aが、endアドレスとして線分I−Jを示すADDR_Iが、period_lenとして値LEN1が、loop_numとして4が格納されている。loop_numに0が格納されているときは、連続出力モード(continuous mode)となり、停止命令を受けるまで波形出力を継続する。
【0039】
なお、図3の波形は、1シーケンス分のデータで記述できるので、図5では1シーケンスしか例示していないが、シーケンステーブルには複数シーケンスのデータを記述することができる。
【0040】
次に、図4および図5のデータから図3の直線波形を発生させる本発明の波形発生器100を図1を参照して説明する。
【0041】
波形発生器100は、波形データ発生器102とディジタル-アナログ変換器(DAC)104を備える。波形データ発生器102とDAC104には、ここでは図示しないクロック信号がそれぞれ供給されて動作する。
【0042】
波形データ発生器102には、シーケンスの繰り返しを制御するシーケンサ110、シーケンス情報を格納するシーケンスメモリ118、シーケンサ110内でシーケンス情報に基づいて波形生成のためのアドレスと時間パラメータtを発生するアドレス発生器120、シーケンサ110からの情報に基づいて波形パラメータを出力する波形メモリ126、波形メモリ126からの波形パラメータと、シーケンサ110からの時間パラメータtから、DAC104に与えるデータdac_dataを生成する線分データ発生器130が備えられ、ここでは図示されないコントローラからの制御により動作する。
【0043】
より詳細には、シーケンサ110は、内部に状態機械112、シーケンスの繰り返したカウント数を格納するループカウンタ114、1シーケンス分のクロック周期をカウントする周期カウンタ116とアドレス発生器120を備えている。シーケンサ110は、シーケンステーブル119を格納するシーケンスメモリ118にアクセスして、SPADDRにエントリラベルが存在するシーケンスの順に、startアドレスに指定された波形からendアドレスに指定された波形までの波形データの開始アドレスを、順番に、アドレス発生器120に出力し、それをloop_numに指定された回数繰り返す。
【0044】
なお、各シーケンスの切り替え時には、次のシーケンスのロードのため、所定の遅延時間が発生し、その間には、baseアドレスで指定された波形が出力される。この遅延時間がperiod_lenと等しくなるように追加の遅延時間を指定してbaseアドレスで指定された波形の出力を継続する機能を設けて、出力信号を所定周期に保つこともできる。
【0045】
シーケンサ110内のアドレス発生器120は、内部に状態機械122と線分についての時間tのカウントを行うtカウンタ124を備える。アドレス発生器120は、シーケンサ110から受け取った波形データの開始アドレスwptbl_addrに従って、波形メモリ126内に格納された波形パラメータテーブル128をアクセスし、パラメータp_tと最短クロック周期インジケータIsMinを読み出し、クロック毎に更新された時間tを線分データ発生器130に出力する。ここで、インジケータIsMinは、波形のパラメータp_tが最短クロック周期の1の場合、アドレス発生器120が波形データの開始アドレスを受け取って波形メモリ126をアクセスし、パラメータp_tをtカウンタ124に読み込むには、回路動作上、遅延時間が発生して間に合わないために設けられている。アドレス発生器120は、まず、このインジケータIsMinの値がTRUEのときは、パラメータp_tが1であるものとしてtカウンタ124を動作させ、インジケータIsMinがFALSEのときには、パラメータp_tを読み込んでtカウンタ124を動作させる。
【0046】
このように、最短クロック周期インジケータIsMinを設けることで、安価に波形データ発生器102を実現することができる。
【0047】
線分データ発生器130は、波形メモリ126から、シーケンサ110内のアドレス発生器120に指定された波形データのパラメータp_a、p_b、bit_selを受け取り、また、アドレス発生器120から各クロックにおける線分中の時間値tを受け取り、それらから、上述の(1)式の演算を行い、その結果としてDACの変換コードdac_dataを図示しないクロック信号に従ったタイミングでDAC104に出力する。DAC104は、図示しないクロック信号に従ったタイミングでdac_dataに従った信号dac_outを発生する。
【0048】
以上のように、本発明の波形発生器100によれば、所定のクロック信号応じたタイミングで、与えられた線分を形成する信号を逐次出力することができる。すなわち、図3の線分B−Cについて説明すれば、まず点Bの電圧の信号をDAC104から出力し、その次のクロックで、線分B−Cの傾きp_aと、1クロック分増加した時間値を示すパラメータtとの積の結果と、線分B−Cの始点でのオフセット値p_bとの和を示す電圧の信号をDAC104から出力する、ということを繰り返して、線分B−Cの波形信号を発生する。
【0049】
次に図2を参照して、線分データ発生器130の動作をより詳しく説明する。
【0050】
波形パラメータp_aは端子202に与えられ、フリップフロップ(FF)212を介して乗算器214に入力される。線分中の時間値を示すパラメータtは端子204に与えられ、FF 230を介して乗算器214に入力され、波形パラメータp_aと掛け合わされてFF 216を介してセレクタ218に出力される。一方、小数部の桁数を選択するパラメータbit_selは、端子206に与えられ、FF212からFF216の遅延時間に等しい段数のFF 232〜236を介してセレクタ218の制御端子に出力される。セレクタ218は、FF216からの出力に対して、FF236からの制御入力に従ったビットを選択し、FF220に出力する。
【0051】
ここで各線分の傾きである波形パラメータp_aは、32bitの符号付き固定小数点の数値として表現される。ただし、p_aは広範な値をとり、数値によっては分解能を十分に確保できないため、整数部と小数部の桁数を2種類用意し、その種類をパラメータbit_selで示している。一例として、p_aが1以上のときは、p_aは、符号1bit、整数部14bit、小数部17bitで表現し、それ以外のときは、p_aは、符号1bit、整数部0bit、小数部31bitで表現される。セレクタ218は、このbit_selの情報に基づいて、乗算結果に対して適正に小数部のビット幅を選択する。なお、乗算器214は固定小数点演算を行うので、高速に演算を実行でき、かつ、回路規模も小さく抑えることができる。
【0052】
FF220に一旦格納された乗算結果は端数調整回路222で、乗算器で計算したDAC用の変換コードの小数点以下を四捨五入し、FF224を介して加算器226に出力する。
【0053】
他方、波形パラメータp_bは、端子208に与えられ、FF212からFF224までの遅延時間に等しい段数のFF 238〜242を介して、加算器226において、先のp_aとtの乗算結果に足し合わせられる。加算器226の結果はFF228を介してDOUT端子210に出力される。以上の線分データ発生器130の動作は、クロック信号に従って動作する。
【0054】
次に図6で示すような直線波形パターンについて考察する。図6に示す波形は、階段波形Xをp回繰り返し、次にさまざまな波高値および傾きを備える複数ランプ波形Yをq回繰り返し、さらに複数の階段波形を含む波形Zをr回繰り返す波形パターンである。上述の構成により、図6で示すような直線波形パターンについても、波形メモリとシーケンスメモリへの記述は容易である。このように、本発明における波形発生器は、近年の半導体測定で要求される複雑な直線波形パターンに柔軟に対応することができるのは、容易に理解されよう。
【0055】
図1に戻ると、以上のような構成により、本発明における波形発生器100のうちの波形データ発生器102、すなわち、シーケンサ110、シーケンスメモリ118、波形メモリ126、および、線分データ発生器130を、FPGA(Field Programmable Gate Array)上に実装することができる。FPGAとしては、一例として、動作周波数100MHz程度のXilinx(登録商標)社製Virtex(登録商標)シリーズ等を利用することができる。これらをFPGA上に実装することにより、例えば、乗算器214や加算器226はFPGAの汎用セルを利用することができ、安価な装置コストで高速な波形発生器を構成することができる。また、本発明で採用したメモリへの波形の格納方法により、直線波形パターンに要するメモリ容量を極めて少なくすることができたので、FPGAのような大規模なメモリをもたないチップ上に実装することが可能となった点にも注意されたい。また、FPGA以外にも、ゲートアレー、ASIC、カスタムLSI、グルーロジックで実装することも可能である。
【0056】
本発明による波形データ発生器102と従来のAWGの該当部分とのハードウエアと制御におけるメリットとデメリットを、図8の波形について比較した結果を図7に示す。これを見れば明らかなように、本発明では、AWGよりはるかに少ないメモリとFPGAのゲート数で、中程度の波形自由度を実現し、従来よりもメモリモジュールおよびメモリ用電源などの追加のハードウエアが不要なだけでなく、制御上もホストコンピュータからのデータ転送時間を大幅に節約できる。
【0057】
さらに、傾きを示す波形パラメータp_aを固定小数点表記とし、その小数部の桁数を選択するパラメータbit_selを設けたことにより、回路が単純になり、演算が高速になっただけでなく、十分な分解能も確保して高精度な波形を生成することができる。
【0058】
次に、上記の本発明による波形発生器の基本実施形態に基づく第2の実施例として、図10ないし図12を参照して説明する。
【0059】
第2の実施例では、各線分を次の(2)式で示される数式で表現する。
【0060】
f(t)=b (但し t=0の時) かつ
f(t)=f(t−1)+delta (但し 1≦t≦Te) (2)
【0061】
ここでtは正の整数である。またTeはこの線分の終点でのtの値である。すなわち、線分の各時刻における増加分あるいは減少分delta、線分の始点におけるオフセット値b、および、線分の始点から終点までの時間の長さを規定する時間値tすなわちTeを、それぞれ、delta、p_b、p_tとして算出し、波形メモリ(図10の1126)に格納する。
【0062】
具体的には、図12に例示されるように、波形メモリ1126中の波形パラメータテーブル(図10の1128)に、各線分データのエントリラベルを示すWPADDR毎に、後述のパラメータdeltaの小数部の有効桁数を示すパラメータbit_sel、傾きを示すパラメータdelta、この線分の始点におけるオフセット値を示すパラメータp_b、線分の長さを規程する時間値p_t、この時間値p_tが最短クロック周期であるかどうかを示すインジケータIsMinとして格納される。ここで、パラメータbit_selは、0あるいは1の値をとり、IsMinは、TRUEあるいはFALSEの値をとる。また、各パラメータは固定小数点表記である。
【0063】
図12を参照すると、図3の1周期分の各線分の波形パラメータのデータは、線分A-Bのデータを示すエントリラベルADDR_Aのデータとしては、パラメータbit_selの値がsel_1、パラメータdeltaが0.0、パラメータp_bが0.5、パラメータp_tがt_A、IsMinがFALSEとして格納され、続く線分B−CについてのエントリラベルADDR_Bのデータとしては、パラメータbit_selの値がsel_1、パラメータdeltaが0.5、パラメータp_bが0.5、パラメータp_tがt_B、IsMinがFALSEというように格納されている。このように波形メモリ1126の波形パラメータテーブル1128に線分A−Bから線分I−Jまでの9個のエントリのデータが格納される。
【0064】
図12の波形パラメータテーブルを使ったシーケンス情報を格納するシーケンステーブルの記述方法は、前述の図5と同様なので、説明を省略する。
【0065】
次に、図12および図5のデータから図3の直線波形を発生させる本発明の波形発生器1100を図10を参照して説明する。なお、前述と同じ構成要素には、同じ参照番号が与えられている。
【0066】
波形発生器1100は、波形データ発生器1102とディジタル-アナログ変換器(DAC)104を備える。波形データ発生器1102とDAC104には、ここでは図示しないクロック信号がそれぞれ供給されて動作する。
【0067】
波形データ発生器1102には、シーケンスの繰り返しを制御するシーケンサ1110、シーケンス情報を格納するシーケンスメモリ118、シーケンサ1110内でシーケンス情報に基づいて波形生成のためのアドレスと時間パラメータtを発生するアドレス発生器1120、シーケンサ1110からの情報に基づいて波形パラメータを出力する波形メモリ1126、波形メモリ1126からの波形パラメータと、シーケンサ1110からの時刻制御信号load_enableに基づいて、DAC104に与えるデータdac_dataを生成する線分データ発生器1130が備えられ、ここでは図示されないコントローラからの制御により動作する。
【0068】
より詳細には、シーケンサ1110は、内部に状態機械1112、シーケンスの繰り返したカウント数を格納するループカウンタ114、1シーケンス分のクロック周期をカウントする周期カウンタ116とアドレス発生器1120を備えている。シーケンサ1110は、シーケンステーブル119を格納するシーケンスメモリ118にアクセスして、SPADDRにエントリラベルが存在するシーケンスの順に、startアドレスに指定された波形からendアドレスに指定された波形までの波形データの開始アドレスを、順番に、アドレス発生器1120に出力し、それをloop_numに指定された回数繰り返す。
【0069】
シーケンサ1110内のアドレス発生器1120は、内部に状態機械1122と線分についての時間tのカウントを行うtカウンタ1124を備える。アドレス発生器1120は、シーケンサ1110から受け取った波形データの開始アドレスwptbl_addrに従って、波形メモリ1126内に格納された波形パラメータテーブル1128をアクセスし、パラメータp_tと最短クロック周期インジケータIsMinを読み出し、tカウンタ1124を更新し、新しい線分についての波形パラメータが出力されるときには、それを示す時刻制御信号load_enableを線分データ発生器1130に出力する。ここで、インジケータIsMinは、波形のパラメータp_tが最短クロック周期の1の場合、アドレス発生器1120が波形データの開始アドレスを受け取って波形メモリ1126をアクセスし、パラメータp_tをtカウンタ1124に読み込むには、回路動作上、遅延時間が発生して間に合わないために設けられている。アドレス発生器1120は、まず、このインジケータIsMinの値がTRUEのときは、パラメータp_tが1であるものとしてtカウンタ1124を動作させ、インジケータIsMinがFALSEのときには、パラメータp_tを読み込んでtカウンタ1124を動作させる。
【0070】
このように、最短クロック周期インジケータIsMinを設けることで、安価に波形データ発生器1102を実現することができる。
【0071】
線分データ発生器1130は、波形メモリ1126から、シーケンサ1110内のアドレス発生器1120に指定された波形データのパラメータdelta、p_b、bit_selを受け取り、また、アドレス発生器1120から新しい線分の開始を知らせる時刻制御信号load_enableを受け取り、それらから、上述の(2)式の演算を行い、その結果としてDACの変換コードdac_dataを図示しないクロック信号に従ったタイミングでDAC104に出力する。DAC104は、図示しないクロック信号に従ったタイミングでdac_dataに従った信号dac_outを発生する。
【0072】
以上のように、本発明の波形発生器1100によれば、第1の実施例での説明と同様に所定のクロック信号に応じたタイミングで、与えられた線分を形成する信号を逐次出力することができる。
【0073】
次に図11を参照して、線分データ発生器1130の動作をより詳しく説明する。
【0074】
波形パラメータdeltaは端子1202に与えられ、フリップフロップ(FF)1212を介してセレクタ1214に入力される。一方、小数部の桁数を選択するパラメータbit_selは、端子1204に与えられ、FF 1230を介してセレクタ1214の制御端子に出力される。セレクタ1214は、FF1212からの出力に対して、FF1230からの制御入力に従ったビットを選択し、FF1216を介してアキュームレータ1218に出力する。
【0075】
ここで各線分のクロック毎の増加分あるいは減少分である波形パラメータdeltaは、32bitの符号付き固定小数点の数値として表現される。ただし、deltaは広範な値をとり、数値によっては分解能を十分に確保できないため、整数部と小数部の桁数を2種類用意し、その種類をパラメータbit_selで示している。一例として、deltaが1以上のときは、deltaは、符号1bit、整数部14bit、小数部17bitで表現し、それ以外のときは、deltaは、符号1bit、整数部0bit、小数部31bitで表現される。セレクタ1214は、このbit_selの情報に基づいて、deltaについて適正に小数部のビット幅を選択する。なお、アキュームレータ1218は固定小数点演算を行うので、高速に演算を実行でき、かつ、回路規模も小さく抑えることができる。
【0076】
波形パラメータp_bは端子1206に与えられ、FF1212からFF1216と等しい遅延時間を生ずる段数のFF1232ないしFF1234を介してアキュームレータ1218に与えられる。
【0077】
時刻制御信号load_enableは端子1208に与えられ、FF1212からFF1216と等しい遅延時間を生ずる段数のFF1238ないしFF1240を介してアキュームレータ1218にリセット入力信号として与えられる。
【0078】
アキュームレータは、時刻制御信号load_enableがアサートされたときは、アキュームレータ内の値をクリアしてパラメータp_bをロードし、load_enableがアサートされないときには、クロック信号が刻まれる度に、FF1216のセレクト演算結果を現在のアキュームレータ1218の値に加算する。
【0079】
アキュームレータ1218の内容はクロック信号に従ってFF1226に一旦格納され、端数調整回路1222で、DAC用の変換コードの小数点以下を四捨五入し、FF1228を介してDOUT端子1210に出力される。
【0080】
図10に戻ると、以上のような構成により、本発明における波形発生器1100のうちの波形データ発生器1102、すなわち、シーケンサ1110、シーケンスメモリ118、波形メモリ1126、および、線分データ発生器1130を、FPGA(Field Programmable Gate Array)上に実装することができる。これらをFPGA上に実装することにより、安価な装置コストで高速な波形発生器を構成することができる。また、本発明で採用したメモリへの波形の格納方法により、直線波形パターンに要するメモリ容量を極めて少なくすることができたので、FPGAのような大規模なメモリをもたないチップ上に実装することが可能となった点にも注意されたい。また、FPGA以外にも、ゲートアレー、ASIC、カスタムLSI、グルーロジックで実装することも可能である。
【0081】
本発明による波形発生器を用いた別の実施態様として、本発明による波形発生器を用いたDUT(Device Under Test: 被試験対象)の載ったウエハを測定する半導体試験装置900について、図9を参照して説明する。
【0082】
半導体試験装置900には、上述の波形発生器100と、その出力に設けられて必要な振幅の信号を提供する増幅器(Amp)906を備えた複数の波形信号発生器902〜904、および、その波形信号発生器902〜904を制御線916を介して制御するコントローラ910が含まれる。コントローラ910には、処理装置すなわちプロセッサ912と記憶装置すなわちメモリ914が含まれる。プロセッサ912としてはデータ処理機能を備えた装置であり、インテル(登録商標)社製等の各種マイクロプロセッサ(CPU, MPU)、DSP、制御用ゲートアレイ等を用いることができ、記憶装置914は、制御のためのデータを格納することができる記憶手段であり、例えばRAM、フラッシュメモリなどの書き換え可能メモリを含む各種記憶デバイス、あるいは各種記憶メディアを含むものであっても良い。コントローラ910には、PCなどのコンピュータあるいは、各種制御装置を用いることができる。
【0083】
記憶装置914には、波形信号発生器902〜904の制御プログラムの他、各波形信号発生器内のそれぞれの波形データ発生器102の波形メモリおよびシーケンスメモリにロードされるデータをあらかじめ格納しておき、試験開始前に制御線916を介して、各波形信号発生器に転送することもできる。その場合、記憶装置914には、半導体試験用の波形パラメータのデータおよびシーケンスのデータが格納される。
【0084】
波形信号発生器902の出力端子OUTPUT907にはプローブ針などのコンタクトプローブ922が接続され、半導体試験装置900は、ウエハ920上のDUT928にプロービングして、波形信号を印加し、試験を行うことができる。ここで、ウエハ920およびコンタクトプローブ922は、好ましくは、ウエハプローバ926を用いて位置合わせが制御される態様を含む。なお、他の波形信号発生器903,904の出力端子908,909についても、同様な接続を行い、試験を行うことが可能である。
【0085】
さらに、図9において、DUT928をフラッシュメモリ搭載DUTとし、記憶装置914に、例えば特許文献1に記載のようなフラッシュメモリ試験に適した波形の波形パラメータのデータおよびシーケンスのデータを格納することにより、半導体測定装置900をフラッシュメモリ試験用半導体試験装置とすることもできる。
【0086】
このような構成を備えることによって、半導体の試験において、従来困難だった複雑な直線波形パターンを印加する試験を、低コストでありながら高速かつ高精度に提供することができる。また、半導体試験装置900を、例えば、半導体等の電子デバイスの信頼性試験やMOSFET等に関するパルスIV測定などのウエハ試験、あるいは、ウエハ以外のデバイスの試験にも用いることもできる。
【0087】
また、図9では波形発生器100を例に用いて説明したが、かわりに、波形発生器1100を用いることも可能である。
【0088】
以上、本発明の実施の形態について本発明を説明してきたが、本発明の思想に基づき、さまざまな変形・変更を施すことが可能である。例えば、波形メモリをデータの出力先に応じて複数に分割して実装することもできよう。また、クロック信号分配手段を適宜追加することもできよう。また、シーケンスメモリ内に、各シーケンスで参照される線分の最初と最後の線分の情報だけでなく、各シーケンス中で使用される線分を順番に登録するテーブルを追加すれば、線分パラメータが連続して格納されてなくても、シーケンス情報を格納することができるので、波形メモリを節約することができる。また、波形データ発生器に与えるクロックをDACに与えるクロックよりも高速にすることにより、データのロードにかかる遅延時間を吸収することもできる。また、第2の実施例において、各線分の始点でオフセットを必ずアキュームレータにロードするのではなく、1シーケンスの最初にだけロードして、その後は、増加分あるいは減少分だけをアキュームレータに加算する演算だけを行うように変更すること、それに合わせて、メモリに格納される内容を削減することもできよう。また、第2の実施例において、tカウンタをシーケンサ内に持たず、p_tとIsMinをシーケンサでなく線分データ発生器に読み込んで、そこでtカウンタを実装することもできよう。
【図面の簡単な説明】
【0089】
【図1】本発明による第1の実施例の波形発生器のブロック図である。
【図2】図1の線分データ発生器130を説明するブロック図である。
【図3】本発明により生成される波形の例を示した図である。
【図4】図1の波形パラメータテーブルの概要を説明する図である。
【図5】図1のシーケンステーブルの概要を説明する図である。
【図6】本発明により生成される波形の別の例を示した図である。
【図7】本発明による波形データ発生器と従来のAWGの該当部分の性能を比較した表を示す図である。
【図8】従来技術による直線波形のメモリ格納方法を説明する図である。
【図9】本発明による半導体試験装置を示すブロック図である。
【図10】本発明による第2の実施例の波形発生器のブロック図である。
【図11】図10の線分データ発生器1130を説明するブロック図である。
【図12】図10の波形パラメータテーブルの概要を説明する図である。
【図13】本発明による波形発生器の基本的な実施形態を示すブロック図である。
【符号の説明】
【0090】
100、2100 波形発生器
102、2102 波形データ発生器
104、2104 ディジタル−アナログ変換器
110、2110 シーケンサ
118、2118 シーケンスメモリ
119、2119 シーケンステーブル
120 アドレス発生器
126、2126 波形メモリ
128、2128 波形パラメータテーブル
130、2130 線分データ発生器
【技術分野】
【0001】
本発明は、半導体測定に用いられる波形発生器およびその関連機器に関し、特に、直線を組み合わせた波形を生成する波形データ発生器、波形発生器およびそれを用いた半導体試験装置に関する。
【背景技術】
【0002】
近年、フラッシュメモリの開発においては、例えば特許文献1の図8(i)に示される多段のステップ波形のように、従来のアナログ波形とは異なる、複数の直線を組み合わせた複雑な直線波形信号が必要とされるようになっている。
【0003】
他方、例えば半導体の信頼性試験における非特許文献1の図1に示されるように、他の分野においても、従来の単純なパルス波形とは異なる複雑な直線波形信号についての必要性は増えていると考えられる。
【0004】
このような複雑な直線波形を従来の測定器で生成しようとすると、次のような困難が伴う。例えば、パルスジェネレータ(以下、PGと記す)では、せいぜい3値までの閾値しか対応できないので、PGを多数用いて、複数のパルス信号を重ね合わせて複雑な直線波形信号を生成するなどの技術が必要となり、装置が大型化し、制御が複雑になるため、安価に実現できない。
【0005】
また、ICテスターに一般的に搭載される任意波形発生器(Arbitrary Waveform Generator, 以下AWGと記載する)では、本明細書の図8(a)に示すように、波形の1周期のパターンを一定サンプルレートの離散的ディジタルデータのパターンとして記憶させるため、この例では、24個の点の情報が必要となる。このことから分かるように、多大なメモリ容量が必要となる。そのためホストコンピュータからのパターンのデータ転送時間も長くなり、装置自体も大掛かりとなり安価に提供することができない。このようなAWGの例としては、特許文献2に記載されている。
【0006】
他方、特許文献3および特許文献4では、本明細書の図8(b)に示すように、波形の各頂点に着目してメモリに動作又は位置を記憶する方式の波形発生器が開示されているが、一般的な波形発生器に普及するには至っていない。
【0007】
【特許文献1】米国特許出願公開第2002/0118574号明細書 図8
【特許文献2】特開平1−218201号公報 第3図
【特許文献3】米国特許第3662160号明細書 図1〜図3
【特許文献4】米国特許第4222108号明細書 図1〜図3
【非特許文献1】Denais, M., 外7名、「On-the-fly characterization of NBTI in ultra-thin gate oxide PMOSFET's(PMOSFETの超薄ゲート酸化膜におけるNBTIのオンザフライ特性)」、International Electron Device Meeting (IEDM), IEEE, 2004, 109-112
【発明の開示】
【発明が解決しようとする課題】
【0008】
特許文献3に示されるファンクションジェネレータでは、波形の繰り返しを指定するブロックモードが、1つのランプ波形しか指定できない。例えば本明細書の図8(b)の波形を複数回繰り返す場合だと、1周期分の複数の直線データを繰り返し展開して記述するしかないので、上述の半導体測定に用いるには、柔軟性が乏しいと考えられる。
【0009】
特許文献4に示される波形発生器では、まず、各頂点の間のスイープ電圧の発生を、クロックレートを変更して行うために、可変クロック発生器と、それに対応した高速なデバイスが必要となり、装置のコストを安価にできない。次に、メモリ中に、実行する命令(instruction)と必要なデータを、例えば、振幅の初期値の設定、振幅の比較対象値の設定、ランプ波形を生成するためのクロック周波数の設定、およびランプ波形生成命令、といった具合に、逐一記述して格納しなければならないため、プログラミングが容易でないのと、メモリ効率が命令を含むために多少劣ると考えられる。さらに、命令解釈部分を含むために波形発生器自体がコスト高となると考えられる。
【0010】
上述の問題点に鑑み、本発明が解決しようとする課題は、複数の直線を組み合わせた波形の繰り返し、あるいは、これらの複数の直線を組み合わせた波形の複数パターンを繰り返し生成でき、メモリへの格納効率が良く、装置コストの安い、波形発生器に関する技術を提供することである。
【0011】
さらに、本発明が解決する別の課題は、安価でありながら高速動作する、複数の直線を組み合わせた波形を生成する波形発生器に関する技術を提供することである。
【0012】
さらに、本発明が解決するさらに別の課題は、生成される複数の直線を組み合わせた波形のデータを、直線の線分のデータとして格納する、波形発生器に関する技術を提供することである。
【0013】
さらに、本発明が解決するさらに別の課題は、生成される複数の直線を組み合わせた波形における各直線の線分の傾きを固定小数点で取り扱う、安価でありながら高速動作する高精度な波形発生器に関する技術を提供することである。
【課題を解決するための手段】
【0014】
上記目的を達成するため、本発明による波形データ発生器は、複数の直線の線分の波形パラメータと、前記複数の直線の線分のいくつかをつないだ1周期の波形を複数回繰り返すシーケンスデータとを格納したメモリと、前記メモリから前記シーケンスデータに従った複数の線分に関する波形パラメータの各々に基づいた演算を行い、前記1周期の波形を複数回繰り返すディジタル−アナログ変換器用データを発生するデータ発生器とを備える。また、この波形データ発生器は、前記メモリと、前記データ発生器とが、FPGA上に設けられたことを特徴とする態様も含む。
【0015】
本発明による別の波形データ発生器は、複数の直線の線分の波形パラメータを格納した波形メモリと、前記複数の直線の線分のいくつかをつないだ1周期の波形を複数回繰り返すシーケンスデータを格納したシーケンスメモリと、前記シーケンスメモリからシーケンスデータを読み出し、該シーケンスデータに基づいて、前記1周期の波形を複数回繰り返すように波形メモリをアクセスするシーケンサと、前記シーケンサと前記波形メモリから受け取った一連の波形パラメータに基づき線分波形を生成する演算を行い、前記1周期の波形を複数回繰り返すディジタル−アナログ変換器用のデータを生成する線分データ発生器とを備える。
【0016】
また、この波形データ発生器は、前記波形メモリには、前記複数の直線の線分の各々の傾きと、前記複数の直線の線分の各々の始点のオフセット値と、前記複数の直線の線分の各々の長さを規程する時間とを格納した態様と、前記複数の直線の線分の各々の傾きは、固定小数点で表記された態様と、前記複数の直線の線分の各々の傾きに応じて、傾きの小数点以下の有効桁数を指定するパラメータを前記波形メモリに格納した態様と、前記線分データ発生器では、傾きと時間パラメータとの積を固定小数点演算を行って算出し、その結果を前記傾きに対応した小数点以下の有効桁数を指定するパラメータを制御入力としたセレクタによって小数点以下の有効桁数を選択する態様を含む。さらに、この波形データ発生器は、前記波形メモリには、前記複数の直線の線分の各々についてのクロックごとの増加分あるいは減少分と、前記複数の直線の線分の各々の始点のオフセット値と、前記複数の直線の線分の各々の長さを規程する時間とを格納した態様と、前記複数の直線の線分の各々の増加分あるいは減少分は、固定小数点で表記された態様と、前記複数の直線の線分の各々の増加分あるいは減少分に応じて、傾きの小数点以下の有効桁数を指定するパラメータを前記波形メモリに格納した態様と、前記線分データ発生器では、前記増加分あるいは減少分を、クロックごとに加える演算をする態様と、前記波形メモリと、前記シーケンスメモリと、前記シーケンサと、前記線分データ発生器とが、FPGA上に設けられたことを特徴とする態様も含む。
【0017】
さらに、本発明による波形発生器は、上述のいずれかに記載の波形データ発生器と、前記波形データ発生器の出力に接続されて電気信号を発生するディジタル−アナログ変換器とを備える。
【0018】
さらに、本発明による半導体試験装置は、上述の波形発生器と、前記波形発生器の出力に接続された増幅器とを備えた波形信号発生器と、波形プロセッサと記憶装置とを備えて前記波形信号発生器を制御するコントローラとを備える。また、本発明によるフラッシュメモリ試験用半導体試験装置は、前記記憶装置にフラッシュメモリ試験用データを備える。
【発明の効果】
【0019】
以上のように、本発明を用いると、複数の直線を組み合わせた波形の繰り返し、あるいは、これらの複数の直線を組み合わせた波形の複数パターンを繰り返し生成でき、メモリへの格納効率が良く、装置コストの安い、波形発生器およびその関連装置を提供することができる。
【0020】
また、本発明を用いると、安価でありながら高速動作する、複数の直線を組み合わせた波形を生成する波形発生器およびその関連装置を提供することができる。
【0021】
さらに、本発明を用いると、生成される複数の直線を組み合わせた波形における各直線の線分の傾きを固定小数点で取り扱う、安価でありながら高速動作する高精度な波形発生器およびその関連装置を提供することができる。
【発明を実施するための最良の形態】
【0022】
図13を参照して、本発明による波形発生器の基本的な実施形態である波形発生器2100を説明する。
【0023】
波形発生器2100は、複数の直線の線分をつなぎ合わせた波形のディジタルデータを生成する波形データ発生器2102と、その波形のディジタルデータをアナログ信号に変換して出力するディジタル-アナログ変換器(DAC)2104とを備えている。
【0024】
波形データ発生器2102は、シーケンサ2110、波形メモリ2126、シーケンスメモリ2118、線分データ発生器2130を備える。波形メモリ2126には、波形データの生成に必要な各直線の線分を規定あるいは表現するパラメータなどの情報を各線分毎に格納した波形パラメータテーブル2128を備えている。なお、ここで直線の線分を規定する波形パラメータとは、線分を形成する複数の点の座標情報を格納するのではなく、線分を数式(一次関数あるいは級数式による表現等)で表した時の、各パラメータを指す。
【0025】
シーケンスメモリ2118には、波形メモリ2126に格納された複数の線分の情報のうちのひとつ又は複数を用いて、どのような1周期分(本明細書ではこれを1シーケンスと呼ぶ)の波形とし、その波形を何回繰り返し、その後、次にどのような1シーケンスの波形を繰り返すかという情報(本明細書ではこれをシーケンスデータと呼ぶ)を格納したシーケンステーブル2119を備えている。
【0026】
線分データ発生器2130は、与えられた線分の各種パラメータと、クロック信号入力(図示せず)から、指定された線分上の点のディジタルデータを各時刻毎に計算して発生し、DAC2104に出力する。
【0027】
シーケンサ2110は、シーケンスメモリ2118をバス2131および2132を介してアクセスし、シーケンステーブルに格納された情報から、これから発生しようとするシーケンス波形中の線分の波形データの参照先アドレスを得て、それを元に波形メモリ2126をバス2134を介してアクセスし、該当する波形パラメータをバス2138を介して波形メモリ2126から線分データ発生器2130に出力させる。シーケンサ2110は、さらに、tカウンタ2124を備え、バス2136を介して波形メモリ2126から得た情報を元に、線分データ発生器2130内での時刻をバス2140を介して管理あるいは転送あるいは制御する。シーケンサ2110はさらに、内部に発生中のシーケンスの繰り返し回数を管理するループカウンタ2114、および、線分データ発生器2130が1周期分のデータを生成したかを管理する周期カウンタ2116を備えて、バス2140を介して線分データ発生器2130を制御する。
【0028】
以上の構成により、本発明の基本的な実施態様である波形発生器2100は、波形データ発生器2102内で、波形メモリ2126に格納された線分のパラメータ情報と、シーケンスメモリ2118に格納された各シーケンスに関する情報を元に、各時刻毎の線分データを線分データ発生器2130で発生させることで、DAC2104にディジタルデータを出力し、DAC2104は受け取ったディジタルデータを図示されないクロック信号に従いアナログ信号に変換して出力するという動作をする。
【0029】
ここで、波形メモリ2126に格納される情報は、線分のパラメータ情報であるために、メモリ容量を節約でき、シーケンスメモリ2118に1シーケンス中で使用される線分の情報や繰り返し回数などのシーケンス情報を格納しているので、メモリ容量を節約しながら、複数のシーケンスの繰り返しを柔軟かつ容易に発生することができる。
【0030】
次に、上記の本発明による波形発生器の基本実施形態に基づく第1の実施例について、図1ないし図5を参照して説明する。
【0031】
最初に、図3を参照して、本実施例による波形データのメモリへの格納方法を説明する。
【0032】
図3に示される波形は、図8の(a)および(b)に示す波形と同一の波形を4回繰り返した波形である。ここで、最初の1周期に対して、1周期の始点と終点および各頂点に点Aないし点Jが示されている。本発明では、この波形の1周期を複数の直線の線分、すなわち直線A−B、直線B−C、直線C−D、直線D−E、直線E−F、直線F−G、直線G−H、直線H−I、直線I−Jの9本の線分に分割する。次に、それぞれの線分について、次の(1)式で示される時間tに関する1次関数
【0033】
f(t)=a * t +b (1)
【0034】
で表現したときの各パラメータとして、傾きa、この線分の始点におけるオフセット値b、および、線分の始点から終点までの時間の長さを規定する時間値tを、それぞれ、p_a、p_b、p_tとして算出し、波形メモリ(図1の126)に格納する。
【0035】
具体的には、図4に例示されるように、波形メモリ126中の波形パラメータテーブル(図1の128)に、各線分データのエントリラベルを示すWPADDR毎に、後述のパラメータp_aの小数部の有効桁数を示すパラメータbit_sel、傾きを示すパラメータp_a、この線分の始点におけるオフセット値を示すパラメータp_b、線分の長さを規程する時間値p_t、この時間値p_tが最短クロック周期であるかどうかを示すインジケータIsMinとして格納される。ここで、パラメータbit_selは、0あるいは1の値をとり、IsMinは、TRUEあるいはFALSEの値をとる。また、各パラメータは固定小数点表記である。
【0036】
図4を参照すると、図3の1周期分の各線分の波形パラメータのデータは、線分A-Bのデータを示すエントリラベルADDR_Aのデータとしては、パラメータbit_selの値がsel_1、パラメータp_aが0.0、パラメータp_bが0.5、パラメータp_tがt_A、IsMinがFALSEとして格納され、続く線分B−CについてのエントリラベルADDR_Bのデータとしては、パラメータbit_selの値がsel_0、パラメータp_aが1.0、パラメータp_bが0.5、パラメータp_tがt_B、IsMinがFALSEというように格納されている。このように波形メモリ126の波形パラメータテーブル128に線分A−Bから線分I−Jまでの9個のエントリのデータが格納される。
【0037】
次に、図5を参照して、図3の1周期分を4回繰り返す場合を例にとって本発明のメモリへの格納方法を説明する。このような繰り返し情報は、シーケンスメモリ(図1の118)に設けられたシーケンステーブル(図1の119)に格納される。なお、本明細書では、1シーケンスとは波形の1周期分の線分の連なりを指し、図3の波形においては最初の1周期の線分A−Bから線分I−Jまでがこの1シーケンスに相当する。シーケンステーブル119では、各シーケンスのエントリラベルであるSPADDR毎に1シーケンスのデータが格納される。すなわち、このシーケンスの出力が次のシーケンスに切り替わる際に、出力される線分の波形パラメータテーブルのアドレスを示すbase、このシーケンスの最初の線分の波形パラメータテーブルのアドレスを示すstart、このシーケンスの最後の線分の波形パラメータテーブルのアドレスを示すend、この1シーケンスのクロック周期を示すperiod_len、このシーケンスの繰り返し回数を示すloop_numが格納される。
【0038】
図5を参照すると、図3の波形は、最初のシーケンスのエントリラベルSPADDR1のデータにおいて、baseアドレスとして線分A−Bを示すADDR_Aが、startアドレスとして線分A−Bを示すADDR_Aが、endアドレスとして線分I−Jを示すADDR_Iが、period_lenとして値LEN1が、loop_numとして4が格納されている。loop_numに0が格納されているときは、連続出力モード(continuous mode)となり、停止命令を受けるまで波形出力を継続する。
【0039】
なお、図3の波形は、1シーケンス分のデータで記述できるので、図5では1シーケンスしか例示していないが、シーケンステーブルには複数シーケンスのデータを記述することができる。
【0040】
次に、図4および図5のデータから図3の直線波形を発生させる本発明の波形発生器100を図1を参照して説明する。
【0041】
波形発生器100は、波形データ発生器102とディジタル-アナログ変換器(DAC)104を備える。波形データ発生器102とDAC104には、ここでは図示しないクロック信号がそれぞれ供給されて動作する。
【0042】
波形データ発生器102には、シーケンスの繰り返しを制御するシーケンサ110、シーケンス情報を格納するシーケンスメモリ118、シーケンサ110内でシーケンス情報に基づいて波形生成のためのアドレスと時間パラメータtを発生するアドレス発生器120、シーケンサ110からの情報に基づいて波形パラメータを出力する波形メモリ126、波形メモリ126からの波形パラメータと、シーケンサ110からの時間パラメータtから、DAC104に与えるデータdac_dataを生成する線分データ発生器130が備えられ、ここでは図示されないコントローラからの制御により動作する。
【0043】
より詳細には、シーケンサ110は、内部に状態機械112、シーケンスの繰り返したカウント数を格納するループカウンタ114、1シーケンス分のクロック周期をカウントする周期カウンタ116とアドレス発生器120を備えている。シーケンサ110は、シーケンステーブル119を格納するシーケンスメモリ118にアクセスして、SPADDRにエントリラベルが存在するシーケンスの順に、startアドレスに指定された波形からendアドレスに指定された波形までの波形データの開始アドレスを、順番に、アドレス発生器120に出力し、それをloop_numに指定された回数繰り返す。
【0044】
なお、各シーケンスの切り替え時には、次のシーケンスのロードのため、所定の遅延時間が発生し、その間には、baseアドレスで指定された波形が出力される。この遅延時間がperiod_lenと等しくなるように追加の遅延時間を指定してbaseアドレスで指定された波形の出力を継続する機能を設けて、出力信号を所定周期に保つこともできる。
【0045】
シーケンサ110内のアドレス発生器120は、内部に状態機械122と線分についての時間tのカウントを行うtカウンタ124を備える。アドレス発生器120は、シーケンサ110から受け取った波形データの開始アドレスwptbl_addrに従って、波形メモリ126内に格納された波形パラメータテーブル128をアクセスし、パラメータp_tと最短クロック周期インジケータIsMinを読み出し、クロック毎に更新された時間tを線分データ発生器130に出力する。ここで、インジケータIsMinは、波形のパラメータp_tが最短クロック周期の1の場合、アドレス発生器120が波形データの開始アドレスを受け取って波形メモリ126をアクセスし、パラメータp_tをtカウンタ124に読み込むには、回路動作上、遅延時間が発生して間に合わないために設けられている。アドレス発生器120は、まず、このインジケータIsMinの値がTRUEのときは、パラメータp_tが1であるものとしてtカウンタ124を動作させ、インジケータIsMinがFALSEのときには、パラメータp_tを読み込んでtカウンタ124を動作させる。
【0046】
このように、最短クロック周期インジケータIsMinを設けることで、安価に波形データ発生器102を実現することができる。
【0047】
線分データ発生器130は、波形メモリ126から、シーケンサ110内のアドレス発生器120に指定された波形データのパラメータp_a、p_b、bit_selを受け取り、また、アドレス発生器120から各クロックにおける線分中の時間値tを受け取り、それらから、上述の(1)式の演算を行い、その結果としてDACの変換コードdac_dataを図示しないクロック信号に従ったタイミングでDAC104に出力する。DAC104は、図示しないクロック信号に従ったタイミングでdac_dataに従った信号dac_outを発生する。
【0048】
以上のように、本発明の波形発生器100によれば、所定のクロック信号応じたタイミングで、与えられた線分を形成する信号を逐次出力することができる。すなわち、図3の線分B−Cについて説明すれば、まず点Bの電圧の信号をDAC104から出力し、その次のクロックで、線分B−Cの傾きp_aと、1クロック分増加した時間値を示すパラメータtとの積の結果と、線分B−Cの始点でのオフセット値p_bとの和を示す電圧の信号をDAC104から出力する、ということを繰り返して、線分B−Cの波形信号を発生する。
【0049】
次に図2を参照して、線分データ発生器130の動作をより詳しく説明する。
【0050】
波形パラメータp_aは端子202に与えられ、フリップフロップ(FF)212を介して乗算器214に入力される。線分中の時間値を示すパラメータtは端子204に与えられ、FF 230を介して乗算器214に入力され、波形パラメータp_aと掛け合わされてFF 216を介してセレクタ218に出力される。一方、小数部の桁数を選択するパラメータbit_selは、端子206に与えられ、FF212からFF216の遅延時間に等しい段数のFF 232〜236を介してセレクタ218の制御端子に出力される。セレクタ218は、FF216からの出力に対して、FF236からの制御入力に従ったビットを選択し、FF220に出力する。
【0051】
ここで各線分の傾きである波形パラメータp_aは、32bitの符号付き固定小数点の数値として表現される。ただし、p_aは広範な値をとり、数値によっては分解能を十分に確保できないため、整数部と小数部の桁数を2種類用意し、その種類をパラメータbit_selで示している。一例として、p_aが1以上のときは、p_aは、符号1bit、整数部14bit、小数部17bitで表現し、それ以外のときは、p_aは、符号1bit、整数部0bit、小数部31bitで表現される。セレクタ218は、このbit_selの情報に基づいて、乗算結果に対して適正に小数部のビット幅を選択する。なお、乗算器214は固定小数点演算を行うので、高速に演算を実行でき、かつ、回路規模も小さく抑えることができる。
【0052】
FF220に一旦格納された乗算結果は端数調整回路222で、乗算器で計算したDAC用の変換コードの小数点以下を四捨五入し、FF224を介して加算器226に出力する。
【0053】
他方、波形パラメータp_bは、端子208に与えられ、FF212からFF224までの遅延時間に等しい段数のFF 238〜242を介して、加算器226において、先のp_aとtの乗算結果に足し合わせられる。加算器226の結果はFF228を介してDOUT端子210に出力される。以上の線分データ発生器130の動作は、クロック信号に従って動作する。
【0054】
次に図6で示すような直線波形パターンについて考察する。図6に示す波形は、階段波形Xをp回繰り返し、次にさまざまな波高値および傾きを備える複数ランプ波形Yをq回繰り返し、さらに複数の階段波形を含む波形Zをr回繰り返す波形パターンである。上述の構成により、図6で示すような直線波形パターンについても、波形メモリとシーケンスメモリへの記述は容易である。このように、本発明における波形発生器は、近年の半導体測定で要求される複雑な直線波形パターンに柔軟に対応することができるのは、容易に理解されよう。
【0055】
図1に戻ると、以上のような構成により、本発明における波形発生器100のうちの波形データ発生器102、すなわち、シーケンサ110、シーケンスメモリ118、波形メモリ126、および、線分データ発生器130を、FPGA(Field Programmable Gate Array)上に実装することができる。FPGAとしては、一例として、動作周波数100MHz程度のXilinx(登録商標)社製Virtex(登録商標)シリーズ等を利用することができる。これらをFPGA上に実装することにより、例えば、乗算器214や加算器226はFPGAの汎用セルを利用することができ、安価な装置コストで高速な波形発生器を構成することができる。また、本発明で採用したメモリへの波形の格納方法により、直線波形パターンに要するメモリ容量を極めて少なくすることができたので、FPGAのような大規模なメモリをもたないチップ上に実装することが可能となった点にも注意されたい。また、FPGA以外にも、ゲートアレー、ASIC、カスタムLSI、グルーロジックで実装することも可能である。
【0056】
本発明による波形データ発生器102と従来のAWGの該当部分とのハードウエアと制御におけるメリットとデメリットを、図8の波形について比較した結果を図7に示す。これを見れば明らかなように、本発明では、AWGよりはるかに少ないメモリとFPGAのゲート数で、中程度の波形自由度を実現し、従来よりもメモリモジュールおよびメモリ用電源などの追加のハードウエアが不要なだけでなく、制御上もホストコンピュータからのデータ転送時間を大幅に節約できる。
【0057】
さらに、傾きを示す波形パラメータp_aを固定小数点表記とし、その小数部の桁数を選択するパラメータbit_selを設けたことにより、回路が単純になり、演算が高速になっただけでなく、十分な分解能も確保して高精度な波形を生成することができる。
【0058】
次に、上記の本発明による波形発生器の基本実施形態に基づく第2の実施例として、図10ないし図12を参照して説明する。
【0059】
第2の実施例では、各線分を次の(2)式で示される数式で表現する。
【0060】
f(t)=b (但し t=0の時) かつ
f(t)=f(t−1)+delta (但し 1≦t≦Te) (2)
【0061】
ここでtは正の整数である。またTeはこの線分の終点でのtの値である。すなわち、線分の各時刻における増加分あるいは減少分delta、線分の始点におけるオフセット値b、および、線分の始点から終点までの時間の長さを規定する時間値tすなわちTeを、それぞれ、delta、p_b、p_tとして算出し、波形メモリ(図10の1126)に格納する。
【0062】
具体的には、図12に例示されるように、波形メモリ1126中の波形パラメータテーブル(図10の1128)に、各線分データのエントリラベルを示すWPADDR毎に、後述のパラメータdeltaの小数部の有効桁数を示すパラメータbit_sel、傾きを示すパラメータdelta、この線分の始点におけるオフセット値を示すパラメータp_b、線分の長さを規程する時間値p_t、この時間値p_tが最短クロック周期であるかどうかを示すインジケータIsMinとして格納される。ここで、パラメータbit_selは、0あるいは1の値をとり、IsMinは、TRUEあるいはFALSEの値をとる。また、各パラメータは固定小数点表記である。
【0063】
図12を参照すると、図3の1周期分の各線分の波形パラメータのデータは、線分A-Bのデータを示すエントリラベルADDR_Aのデータとしては、パラメータbit_selの値がsel_1、パラメータdeltaが0.0、パラメータp_bが0.5、パラメータp_tがt_A、IsMinがFALSEとして格納され、続く線分B−CについてのエントリラベルADDR_Bのデータとしては、パラメータbit_selの値がsel_1、パラメータdeltaが0.5、パラメータp_bが0.5、パラメータp_tがt_B、IsMinがFALSEというように格納されている。このように波形メモリ1126の波形パラメータテーブル1128に線分A−Bから線分I−Jまでの9個のエントリのデータが格納される。
【0064】
図12の波形パラメータテーブルを使ったシーケンス情報を格納するシーケンステーブルの記述方法は、前述の図5と同様なので、説明を省略する。
【0065】
次に、図12および図5のデータから図3の直線波形を発生させる本発明の波形発生器1100を図10を参照して説明する。なお、前述と同じ構成要素には、同じ参照番号が与えられている。
【0066】
波形発生器1100は、波形データ発生器1102とディジタル-アナログ変換器(DAC)104を備える。波形データ発生器1102とDAC104には、ここでは図示しないクロック信号がそれぞれ供給されて動作する。
【0067】
波形データ発生器1102には、シーケンスの繰り返しを制御するシーケンサ1110、シーケンス情報を格納するシーケンスメモリ118、シーケンサ1110内でシーケンス情報に基づいて波形生成のためのアドレスと時間パラメータtを発生するアドレス発生器1120、シーケンサ1110からの情報に基づいて波形パラメータを出力する波形メモリ1126、波形メモリ1126からの波形パラメータと、シーケンサ1110からの時刻制御信号load_enableに基づいて、DAC104に与えるデータdac_dataを生成する線分データ発生器1130が備えられ、ここでは図示されないコントローラからの制御により動作する。
【0068】
より詳細には、シーケンサ1110は、内部に状態機械1112、シーケンスの繰り返したカウント数を格納するループカウンタ114、1シーケンス分のクロック周期をカウントする周期カウンタ116とアドレス発生器1120を備えている。シーケンサ1110は、シーケンステーブル119を格納するシーケンスメモリ118にアクセスして、SPADDRにエントリラベルが存在するシーケンスの順に、startアドレスに指定された波形からendアドレスに指定された波形までの波形データの開始アドレスを、順番に、アドレス発生器1120に出力し、それをloop_numに指定された回数繰り返す。
【0069】
シーケンサ1110内のアドレス発生器1120は、内部に状態機械1122と線分についての時間tのカウントを行うtカウンタ1124を備える。アドレス発生器1120は、シーケンサ1110から受け取った波形データの開始アドレスwptbl_addrに従って、波形メモリ1126内に格納された波形パラメータテーブル1128をアクセスし、パラメータp_tと最短クロック周期インジケータIsMinを読み出し、tカウンタ1124を更新し、新しい線分についての波形パラメータが出力されるときには、それを示す時刻制御信号load_enableを線分データ発生器1130に出力する。ここで、インジケータIsMinは、波形のパラメータp_tが最短クロック周期の1の場合、アドレス発生器1120が波形データの開始アドレスを受け取って波形メモリ1126をアクセスし、パラメータp_tをtカウンタ1124に読み込むには、回路動作上、遅延時間が発生して間に合わないために設けられている。アドレス発生器1120は、まず、このインジケータIsMinの値がTRUEのときは、パラメータp_tが1であるものとしてtカウンタ1124を動作させ、インジケータIsMinがFALSEのときには、パラメータp_tを読み込んでtカウンタ1124を動作させる。
【0070】
このように、最短クロック周期インジケータIsMinを設けることで、安価に波形データ発生器1102を実現することができる。
【0071】
線分データ発生器1130は、波形メモリ1126から、シーケンサ1110内のアドレス発生器1120に指定された波形データのパラメータdelta、p_b、bit_selを受け取り、また、アドレス発生器1120から新しい線分の開始を知らせる時刻制御信号load_enableを受け取り、それらから、上述の(2)式の演算を行い、その結果としてDACの変換コードdac_dataを図示しないクロック信号に従ったタイミングでDAC104に出力する。DAC104は、図示しないクロック信号に従ったタイミングでdac_dataに従った信号dac_outを発生する。
【0072】
以上のように、本発明の波形発生器1100によれば、第1の実施例での説明と同様に所定のクロック信号に応じたタイミングで、与えられた線分を形成する信号を逐次出力することができる。
【0073】
次に図11を参照して、線分データ発生器1130の動作をより詳しく説明する。
【0074】
波形パラメータdeltaは端子1202に与えられ、フリップフロップ(FF)1212を介してセレクタ1214に入力される。一方、小数部の桁数を選択するパラメータbit_selは、端子1204に与えられ、FF 1230を介してセレクタ1214の制御端子に出力される。セレクタ1214は、FF1212からの出力に対して、FF1230からの制御入力に従ったビットを選択し、FF1216を介してアキュームレータ1218に出力する。
【0075】
ここで各線分のクロック毎の増加分あるいは減少分である波形パラメータdeltaは、32bitの符号付き固定小数点の数値として表現される。ただし、deltaは広範な値をとり、数値によっては分解能を十分に確保できないため、整数部と小数部の桁数を2種類用意し、その種類をパラメータbit_selで示している。一例として、deltaが1以上のときは、deltaは、符号1bit、整数部14bit、小数部17bitで表現し、それ以外のときは、deltaは、符号1bit、整数部0bit、小数部31bitで表現される。セレクタ1214は、このbit_selの情報に基づいて、deltaについて適正に小数部のビット幅を選択する。なお、アキュームレータ1218は固定小数点演算を行うので、高速に演算を実行でき、かつ、回路規模も小さく抑えることができる。
【0076】
波形パラメータp_bは端子1206に与えられ、FF1212からFF1216と等しい遅延時間を生ずる段数のFF1232ないしFF1234を介してアキュームレータ1218に与えられる。
【0077】
時刻制御信号load_enableは端子1208に与えられ、FF1212からFF1216と等しい遅延時間を生ずる段数のFF1238ないしFF1240を介してアキュームレータ1218にリセット入力信号として与えられる。
【0078】
アキュームレータは、時刻制御信号load_enableがアサートされたときは、アキュームレータ内の値をクリアしてパラメータp_bをロードし、load_enableがアサートされないときには、クロック信号が刻まれる度に、FF1216のセレクト演算結果を現在のアキュームレータ1218の値に加算する。
【0079】
アキュームレータ1218の内容はクロック信号に従ってFF1226に一旦格納され、端数調整回路1222で、DAC用の変換コードの小数点以下を四捨五入し、FF1228を介してDOUT端子1210に出力される。
【0080】
図10に戻ると、以上のような構成により、本発明における波形発生器1100のうちの波形データ発生器1102、すなわち、シーケンサ1110、シーケンスメモリ118、波形メモリ1126、および、線分データ発生器1130を、FPGA(Field Programmable Gate Array)上に実装することができる。これらをFPGA上に実装することにより、安価な装置コストで高速な波形発生器を構成することができる。また、本発明で採用したメモリへの波形の格納方法により、直線波形パターンに要するメモリ容量を極めて少なくすることができたので、FPGAのような大規模なメモリをもたないチップ上に実装することが可能となった点にも注意されたい。また、FPGA以外にも、ゲートアレー、ASIC、カスタムLSI、グルーロジックで実装することも可能である。
【0081】
本発明による波形発生器を用いた別の実施態様として、本発明による波形発生器を用いたDUT(Device Under Test: 被試験対象)の載ったウエハを測定する半導体試験装置900について、図9を参照して説明する。
【0082】
半導体試験装置900には、上述の波形発生器100と、その出力に設けられて必要な振幅の信号を提供する増幅器(Amp)906を備えた複数の波形信号発生器902〜904、および、その波形信号発生器902〜904を制御線916を介して制御するコントローラ910が含まれる。コントローラ910には、処理装置すなわちプロセッサ912と記憶装置すなわちメモリ914が含まれる。プロセッサ912としてはデータ処理機能を備えた装置であり、インテル(登録商標)社製等の各種マイクロプロセッサ(CPU, MPU)、DSP、制御用ゲートアレイ等を用いることができ、記憶装置914は、制御のためのデータを格納することができる記憶手段であり、例えばRAM、フラッシュメモリなどの書き換え可能メモリを含む各種記憶デバイス、あるいは各種記憶メディアを含むものであっても良い。コントローラ910には、PCなどのコンピュータあるいは、各種制御装置を用いることができる。
【0083】
記憶装置914には、波形信号発生器902〜904の制御プログラムの他、各波形信号発生器内のそれぞれの波形データ発生器102の波形メモリおよびシーケンスメモリにロードされるデータをあらかじめ格納しておき、試験開始前に制御線916を介して、各波形信号発生器に転送することもできる。その場合、記憶装置914には、半導体試験用の波形パラメータのデータおよびシーケンスのデータが格納される。
【0084】
波形信号発生器902の出力端子OUTPUT907にはプローブ針などのコンタクトプローブ922が接続され、半導体試験装置900は、ウエハ920上のDUT928にプロービングして、波形信号を印加し、試験を行うことができる。ここで、ウエハ920およびコンタクトプローブ922は、好ましくは、ウエハプローバ926を用いて位置合わせが制御される態様を含む。なお、他の波形信号発生器903,904の出力端子908,909についても、同様な接続を行い、試験を行うことが可能である。
【0085】
さらに、図9において、DUT928をフラッシュメモリ搭載DUTとし、記憶装置914に、例えば特許文献1に記載のようなフラッシュメモリ試験に適した波形の波形パラメータのデータおよびシーケンスのデータを格納することにより、半導体測定装置900をフラッシュメモリ試験用半導体試験装置とすることもできる。
【0086】
このような構成を備えることによって、半導体の試験において、従来困難だった複雑な直線波形パターンを印加する試験を、低コストでありながら高速かつ高精度に提供することができる。また、半導体試験装置900を、例えば、半導体等の電子デバイスの信頼性試験やMOSFET等に関するパルスIV測定などのウエハ試験、あるいは、ウエハ以外のデバイスの試験にも用いることもできる。
【0087】
また、図9では波形発生器100を例に用いて説明したが、かわりに、波形発生器1100を用いることも可能である。
【0088】
以上、本発明の実施の形態について本発明を説明してきたが、本発明の思想に基づき、さまざまな変形・変更を施すことが可能である。例えば、波形メモリをデータの出力先に応じて複数に分割して実装することもできよう。また、クロック信号分配手段を適宜追加することもできよう。また、シーケンスメモリ内に、各シーケンスで参照される線分の最初と最後の線分の情報だけでなく、各シーケンス中で使用される線分を順番に登録するテーブルを追加すれば、線分パラメータが連続して格納されてなくても、シーケンス情報を格納することができるので、波形メモリを節約することができる。また、波形データ発生器に与えるクロックをDACに与えるクロックよりも高速にすることにより、データのロードにかかる遅延時間を吸収することもできる。また、第2の実施例において、各線分の始点でオフセットを必ずアキュームレータにロードするのではなく、1シーケンスの最初にだけロードして、その後は、増加分あるいは減少分だけをアキュームレータに加算する演算だけを行うように変更すること、それに合わせて、メモリに格納される内容を削減することもできよう。また、第2の実施例において、tカウンタをシーケンサ内に持たず、p_tとIsMinをシーケンサでなく線分データ発生器に読み込んで、そこでtカウンタを実装することもできよう。
【図面の簡単な説明】
【0089】
【図1】本発明による第1の実施例の波形発生器のブロック図である。
【図2】図1の線分データ発生器130を説明するブロック図である。
【図3】本発明により生成される波形の例を示した図である。
【図4】図1の波形パラメータテーブルの概要を説明する図である。
【図5】図1のシーケンステーブルの概要を説明する図である。
【図6】本発明により生成される波形の別の例を示した図である。
【図7】本発明による波形データ発生器と従来のAWGの該当部分の性能を比較した表を示す図である。
【図8】従来技術による直線波形のメモリ格納方法を説明する図である。
【図9】本発明による半導体試験装置を示すブロック図である。
【図10】本発明による第2の実施例の波形発生器のブロック図である。
【図11】図10の線分データ発生器1130を説明するブロック図である。
【図12】図10の波形パラメータテーブルの概要を説明する図である。
【図13】本発明による波形発生器の基本的な実施形態を示すブロック図である。
【符号の説明】
【0090】
100、2100 波形発生器
102、2102 波形データ発生器
104、2104 ディジタル−アナログ変換器
110、2110 シーケンサ
118、2118 シーケンスメモリ
119、2119 シーケンステーブル
120 アドレス発生器
126、2126 波形メモリ
128、2128 波形パラメータテーブル
130、2130 線分データ発生器
【特許請求の範囲】
【請求項1】
複数の直線の線分の波形パラメータと、前記複数の直線の線分のいくつかをつないだ1周期の波形を複数回繰り返すシーケンスデータとを格納したメモリと、
前記メモリから前記シーケンスデータに従った複数の線分に関する波形パラメータの各々に基づいた演算を行い、前記1周期の波形を複数回繰り返すディジタル−アナログ変換器用データを発生するデータ発生器と
を備えた波形データ発生器。
【請求項2】
前記メモリと、前記データ発生器とが、FPGA上に設けられたことを特徴とする請求項1に記載の波形データ発生器。
【請求項3】
複数の直線の線分の波形パラメータを格納した波形メモリと、
前記複数の直線の線分のいくつかをつないだ1周期の波形を複数回繰り返すシーケンスデータを格納したシーケンスメモリと、
前記シーケンスメモリからシーケンスデータを読み出し、該シーケンスデータに基づいて、前記1周期の波形を複数回繰り返すように波形メモリをアクセスするシーケンサと、
前記シーケンサと前記波形メモリから受け取った波形パラメータに基づいて線分波形を生成する演算を行い、前記1周期の波形を複数回繰り返すディジタル−アナログ変換器用のデータを生成する線分データ発生器と
を備えた波形データ発生器。
【請求項4】
前記波形メモリには、前記複数の直線の線分の各々の傾きと、前記複数の直線の線分の各々の始点のオフセット値と、前記複数の直線の線分の各々の長さを規程する時間とを格納したことを特徴とする請求項3に記載の波形データ発生器。
【請求項5】
前記複数の直線の線分の各々の傾きは、固定小数点で表記されたことを特徴とする請求項4に記載の波形データ発生器。
【請求項6】
前記複数の直線の線分の各々の傾きに応じて、傾きの小数点以下の有効桁数を指定するパラメータを前記波形メモリに格納したことを特徴とする請求項4に記載の波形データ発生器。
【請求項7】
前記線分データ発生器では、傾きと時間パラメータとの積を固定小数点演算を行って算出し、その結果を前記傾きに対応した小数点以下の有効桁数を指定するパラメータを制御入力としたセレクタによって小数点以下の有効桁数を選択する請求項6に記載の波形データ発生器。
【請求項8】
前記波形メモリには、前記複数の直線の線分の各々についてのクロックごとの増加分あるいは減少分と、前記複数の直線の線分の各々の始点のオフセット値と、前記複数の直線の線分の各々の長さを規程する時間とを格納したことを特徴とする請求項3に記載の波形データ発生器。
【請求項9】
前記複数の直線の線分の各々の増加分あるいは減少分は、固定小数点で表記されたことを特徴とする請求項8に記載の波形データ発生器。
【請求項10】
前記複数の直線の線分の各々の増加分あるいは減少分に応じて、傾きの小数点以下の有効桁数を指定するパラメータを前記波形メモリに格納したことを特徴とする請求項8に記載の波形データ発生器。
【請求項11】
前記線分データ発生器では、前記増加分あるいは減少分を、クロックごとに加える演算をする請求項8に記載の波形データ発生器。
【請求項12】
前記波形メモリと、前記シーケンスメモリと、前記シーケンサと、前記線分データ発生器とが、FPGA上に設けられたことを特徴とする請求項3ないし11のいずれかに記載の波形データ発生器。
【請求項13】
請求項1ないし12のいずれかに記載の波形データ発生器と、
前記波形データ発生器の出力に接続されて電気信号を発生するディジタル−アナログ変換器と
を備えた波形発生器。
【請求項14】
請求項13に記載の波形発生器と、前記波形発生器の出力に接続された増幅器とを備えた波形信号発生器と、
波形プロセッサと記憶装置とを備えて前記波形信号発生器を制御するコントローラと
を有する半導体試験装置。
【請求項15】
前記記憶装置にフラッシュメモリ試験用データを備えた請求項14に記載のフラッシュメモリ試験用半導体試験装置。
【請求項1】
複数の直線の線分の波形パラメータと、前記複数の直線の線分のいくつかをつないだ1周期の波形を複数回繰り返すシーケンスデータとを格納したメモリと、
前記メモリから前記シーケンスデータに従った複数の線分に関する波形パラメータの各々に基づいた演算を行い、前記1周期の波形を複数回繰り返すディジタル−アナログ変換器用データを発生するデータ発生器と
を備えた波形データ発生器。
【請求項2】
前記メモリと、前記データ発生器とが、FPGA上に設けられたことを特徴とする請求項1に記載の波形データ発生器。
【請求項3】
複数の直線の線分の波形パラメータを格納した波形メモリと、
前記複数の直線の線分のいくつかをつないだ1周期の波形を複数回繰り返すシーケンスデータを格納したシーケンスメモリと、
前記シーケンスメモリからシーケンスデータを読み出し、該シーケンスデータに基づいて、前記1周期の波形を複数回繰り返すように波形メモリをアクセスするシーケンサと、
前記シーケンサと前記波形メモリから受け取った波形パラメータに基づいて線分波形を生成する演算を行い、前記1周期の波形を複数回繰り返すディジタル−アナログ変換器用のデータを生成する線分データ発生器と
を備えた波形データ発生器。
【請求項4】
前記波形メモリには、前記複数の直線の線分の各々の傾きと、前記複数の直線の線分の各々の始点のオフセット値と、前記複数の直線の線分の各々の長さを規程する時間とを格納したことを特徴とする請求項3に記載の波形データ発生器。
【請求項5】
前記複数の直線の線分の各々の傾きは、固定小数点で表記されたことを特徴とする請求項4に記載の波形データ発生器。
【請求項6】
前記複数の直線の線分の各々の傾きに応じて、傾きの小数点以下の有効桁数を指定するパラメータを前記波形メモリに格納したことを特徴とする請求項4に記載の波形データ発生器。
【請求項7】
前記線分データ発生器では、傾きと時間パラメータとの積を固定小数点演算を行って算出し、その結果を前記傾きに対応した小数点以下の有効桁数を指定するパラメータを制御入力としたセレクタによって小数点以下の有効桁数を選択する請求項6に記載の波形データ発生器。
【請求項8】
前記波形メモリには、前記複数の直線の線分の各々についてのクロックごとの増加分あるいは減少分と、前記複数の直線の線分の各々の始点のオフセット値と、前記複数の直線の線分の各々の長さを規程する時間とを格納したことを特徴とする請求項3に記載の波形データ発生器。
【請求項9】
前記複数の直線の線分の各々の増加分あるいは減少分は、固定小数点で表記されたことを特徴とする請求項8に記載の波形データ発生器。
【請求項10】
前記複数の直線の線分の各々の増加分あるいは減少分に応じて、傾きの小数点以下の有効桁数を指定するパラメータを前記波形メモリに格納したことを特徴とする請求項8に記載の波形データ発生器。
【請求項11】
前記線分データ発生器では、前記増加分あるいは減少分を、クロックごとに加える演算をする請求項8に記載の波形データ発生器。
【請求項12】
前記波形メモリと、前記シーケンスメモリと、前記シーケンサと、前記線分データ発生器とが、FPGA上に設けられたことを特徴とする請求項3ないし11のいずれかに記載の波形データ発生器。
【請求項13】
請求項1ないし12のいずれかに記載の波形データ発生器と、
前記波形データ発生器の出力に接続されて電気信号を発生するディジタル−アナログ変換器と
を備えた波形発生器。
【請求項14】
請求項13に記載の波形発生器と、前記波形発生器の出力に接続された増幅器とを備えた波形信号発生器と、
波形プロセッサと記憶装置とを備えて前記波形信号発生器を制御するコントローラと
を有する半導体試験装置。
【請求項15】
前記記憶装置にフラッシュメモリ試験用データを備えた請求項14に記載のフラッシュメモリ試験用半導体試験装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2008−111755(P2008−111755A)
【公開日】平成20年5月15日(2008.5.15)
【国際特許分類】
【出願番号】特願2006−295707(P2006−295707)
【出願日】平成18年10月31日(2006.10.31)
【出願人】(399117121)アジレント・テクノロジーズ・インク (710)
【氏名又は名称原語表記】AGILENT TECHNOLOGIES, INC.
【Fターム(参考)】
【公開日】平成20年5月15日(2008.5.15)
【国際特許分類】
【出願日】平成18年10月31日(2006.10.31)
【出願人】(399117121)アジレント・テクノロジーズ・インク (710)
【氏名又は名称原語表記】AGILENT TECHNOLOGIES, INC.
【Fターム(参考)】
[ Back to top ]