(57)【要約】【課題】ホストＣＰＵと複数のカードに備えられるカードＣＰＵとの間を接続する外部バスを用いてホストＣＰＵとカードＣＰＵとの間でデータの転送を行うときに、転送速度を高速化することを目的とする。【解決手段】本発明のデータ転送装置１は、ホストＣＰＵ４と複数のカード３に備えられるカードＣＰＵ１３との間に設けられる外部バス８を用いてデータの転送を行うデータ転送装置１であって、カード３に備えられる内部バス２１と外部バス８との間でデータの転送を行うときにデータを格納するデータバッファ４１と、内部バス２１とデータバッファ４１との間またはデータバッファ４１と外部バス８との間でデータの転送が終了した時点で、転送が終了したバスにデータを転送したカードＣＰＵ１３に対して次の処理を開始させる制御を行う第１データ転送制御器３１と、を備えている。【選択図】  図１
2012252444.tif 000002
【特許請求の範囲】
【請求項１】
ホストＣＰＵと複数のカードに備えられるカードＣＰＵとの間に設けられる外部バスを用いてデータの転送を行うデータ転送装置であって、
前記カードに備えられる内部バスと前記外部バスとの間で前記データの転送を行うときに前記データを格納するバッファと、
前記内部バスと前記バッファとの間または前記バッファと前記外部バスとの間で前記データの転送が終了した時点で、転送が終了したバスに前記データを転送した前記カードＣＰＵまたは前記ホストＣＰＵに対して次の処理を開始させる制御を行うデータ転送制御部と、
を備えたことを特徴とするデータ転送装置。
【請求項２】
前記データ転送制御部は、
前記バッファから転送されたデータの転送量を出力データ転送量として計測する出力データ転送量計測部と、
転送されるデータの総量を予め設定した転送データ総量として、前記出力データ転送量が前記転送データ総量になったときに前記ホストＣＰＵまたは前記カードＣＰＵに割込みを発生させる出力割込み発生部と、
前記バッファに格納されたデータの転送量を入力データ転送量として計測する入力データ転送量計測部と、
前記入力データ転送量が前記転送データ総量になったときに前記ホストＣＰＵまたは前記カードＣＰＵに割込みを発生させる入力割込み発生部と、
を備えていることを特徴とする請求項１記載のデータ転送装置。
【請求項３】
前記データ転送制御部は、
前記バッファから転送されたデータに付されたエンドマークを検出する出力エンド検出部と、
前記エンドマークが最後のデータであることを示しているときに前記ホストＣＰＵまたは前記カードＣＰＵに割込みを発生させる出力割込み発生部と、
前記バッファに格納されたデータに付されたエンドマークを検出する入力エンド検出部と、
前記エンドマークが最後のデータであることを示しているときに前記ホストＣＰＵまたは前記カードＣＰＵに割込みを発生させる入力割込み発生部と、
を備えていることを特徴とする請求項１記載のデータ転送装置。
【請求項４】
ホストＣＰＵと複数のカードに備えられるカードＣＰＵとの間に設けられる外部バスを用いてデータの転送を行うときに、
前記カードに備えられる内部バスと前記外部バスとの間で前記データの転送を行うときに前記データをバッファに格納し、
前記内部バスと前記バッファとの間または前記バッファと前記外部バスとの間で前記データの転送が終了した時点で、転送が終了したバスに前記データを転送した前記カードＣＰＵまたは前記ホストＣＰＵに対して次の処理を開始させる制御を行うこと
を備えたことを特徴とするデータ転送方法。
【請求項５】
請求項１乃至３の何れか１項に記載のデータ転送装置を備えたこと
を特徴とする半導体試験装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホストＣＰＵと複数のカードに備えられるカードＣＰＵとの間を接続する外部バスを用いてホストＣＰＵとカードＣＰＵとの間でデータの転送を行うデータ転送装置、データ転送方法およびデータ転送装置を適用した半導体試験装置に関するものである。
【背景技術】
【０００２】
被試験デバイス（ＤＵＴ：Device Under Test）の試験を行うために半導体試験装置が用いられる。半導体試験装置にはピンエレクトロニクスカード（以下、カード）が複数備えられており、各カードがＤＵＴに接続して試験を行う。複数のピンエレクトロニクスカードはホストＣＰＵにより制御がされており、各ピンエレクトロニクスカードとホストＣＰＵとの間を接続する外部バスを用いてデータ転送を行う。この種のデータ転送を行う技術としては特許文献１に開示されている技術がある。
【０００３】
ホストＣＰＵとカードとの間でデータ転送を行って、ＤＵＴの試験を行う構成を図６に示す。同図において、半導体試験装置１は、ＤＵＴ２とＮ（Ｎは２以上の整数）枚のカード３とホストＣＰＵ４とホストメモリ５とホストブリッジ６とホストバス７と外部バス８と割込み線９とを備えて構成している。
【０００４】
ＤＵＴ２は試験対象である被試験デバイスである。カード３はピンエレクトロニクスカードであり、Ｎ枚を設けている（カード１〜カードＮ）。ホストＣＰＵ４は各カード３を制御するＣＰＵである。ホストメモリ５は転送を行うときに使用されるメモリである。ホストブリッジ６はホストＣＰＵ４と外部バス８との間でデータの転送を行うときに制御を行う。ホストバス７はホストＣＰＵ４とホストブリッジ６との間に設けたバスである。
【０００５】
外部バス８はホストブリッジ６と各カード３との間を接続するバスである。割込み線９も同様にホストブリッジ６と各カード３との間を接続しており、割込み信号の入出力を行う。各カード３はほぼ同様の構成になっており、その詳細な構成を図７に示す。図７ではカード３−１の構成を示している。
【０００６】
カード３は、バスブリッジ１１１と第１割込み制御器１１２とカードＣＰＵ１１３とワークメモリ１１４と第２割込み制御器１１５とメモリ制御器１１６と測定用メモリ１１７と測定制御器１１８とＤＡＣ１１９とＡＤＣ１２０と内部バス１２１とを備えて構成している。
【０００７】
バスブリッジ１１１は外部バス８と内部バス１２１との間でバスアクセスのハンドシェイクを行う。第１割込み制御器１１２はバスブリッジ１１１またはカードＣＰＵ１１３からの割込み信号を受け取って、割込み線９を介してその旨をホストＣＰＵ４に通知する。
【０００８】
カードＣＰＵ１１３はカード３の制御を行うＣＰＵである。ワークメモリ１１４はカードＣＰＵ１１３が使用するメモリである。第２割込み制御器１１５はメモリ制御器１１６や測定制御器１１８からの割込み信号を入力して、カードＣＰＵ１１３に割込み制御を行う。
【０００９】
メモリ制御器１１６は測定用メモリ１１７を制御する。測定用メモリ１１７はＤＵＴ２の試験を行うためのデータおよび測定結果のデータが記憶されている。測定制御器１１８はＤＵＴ２に対する試験信号を印加し、ＤＵＴ２から出力される応答信号を入力する。このために、ＤＡＣ１１９およびＡＤＣ１２０を設けている。
【００１０】
内部バス１２１はカード３の内部に設けているバスであり、カードＣＰＵ１１３、ワークメモリ１１４、第２割込み制御器１１５、メモリ制御器１１６および測定制御器１１８とバスブリッジ１１１とを接続する。
【００１１】
バスブリッジ１１１は第１データ転送制御器１３１と第２データ転送制御器１３２と第１アクセス制御器１３３と第２アクセス制御器１３４と外部バスインターフェイス（図中では外部バスＩＦ）１３５と内部バスインターフェイス（図中では内部バスＩＦ）１３６とを備えている。
【００１２】
第１データ転送制御器１３１は内部バス１２１を介して測定用メモリ１１７に記憶されているデータのリード要求を行って、当該データを取得する。また、ホストメモリ５にライト要求を行うことで、データの書き込みを行う。第２データ転送制御器１３２は第１データ転送制御器１３１と逆方向の動作を行う。
【００１３】
第１アクセス制御器１３３は外部バスインターフェイス１３５からライト要求やリード要求、リードデータを受け取り、内部バスインターフェイス１３６からライト要求やリード要求、リードデータを読み出してもらい、バス間の緩衝を行っている。第２アクセス制御器１３４は内部バスインターフェイス１３６からライト要求やリード要求、リードデータを受け取り、外部バスインターフェイス１３５からライト要求やリード要求、リードデータを読み出してもらう。
【００１４】
第１データ転送制御器１３１はデータバッファ１４１とトリガ出力部１４２と転送制御シーケンサ１４３と転送設定部１４４とカウンタ１４５と比較器１４６とイネーブル出力部（図中ではＥＮＢ出力部）１４７と割込み生成器１４８とを備えて構成している。
【００１５】
データバッファ１４１は外部バスインターフェイス１３５と内部バスインターフェイス１３６との間でデータの転送を行うときに、転送されるデータを一時的に格納するバッファである。トリガ出力部１４２はホストＣＰＵ４により制御がされており、データの転送開始を示すトリガ信号を出力している。
【００１６】
転送制御シーケンサ１４３はトリガ信号を入力した後に、データバッファ１４１の空き状況を監視して、外部バスインターフェイス１３５と内部バスインターフェイス１３６との間で行われるデータ転送の制御を行っている。転送設定部１４４は転送元や転送先のアドレス等の設定を行っており、また転送されるデータの総量をデータ総量として予め設定している。
【００１７】
カウンタ１４５はデータバッファ１４１から外部バスインターフェイス１３５に出力されたデータ、つまりホストメモリ５に転送されるデータのデータ量を計測している。比較器１４６は転送設定部１４４が設定しているデータ総量とカウンタ１４５が計測しているデータ量とを比較して、カウンタ１４５が計測するデータ量が設定されたデータ総量に達したときに割込み生成器１４８にその旨を通知する。
【００１８】
イネーブル出力部１４７は比較器１４６の比較を有効または無効にするイネーブル信号を出力する。割込み生成器１４８はイネーブル信号が有効であり、且つ比較器１４６から前記の通知があったときに、第１割込み制御器１１２を制御してホストＣＰＵ４に対して割込み信号を発生させる。
【００１９】
次に、図８のタイミングチャートを参照して、動作について説明する。まず、ホストＣＰＵ４がカード３に対して試験（測定）を開始する要求を測定開始要求１として出力する。この要求は、ホストブリッジ６、外部バス８、バスブリッジ１１１、内部バス１２１を介して、カードＣＰＵ１１３に通知される。
【００２０】
カードＣＰＵ１１３はこの測定開始要求１に基づいて、測定制御器１１８のレジスタ等を設定することにより、測定設定１を行う。そして、測定開始を要求する測定開始要求１を測定制御器１１８に出力する。この要求に基づいて、測定制御器１１８は測定１を開始する。これにより、ＤＵＴ２に対する試験が行われる。
【００２１】
ＤＵＴ２からは応答信号が出力される。この応答信号はカード３に収集され（データ収集１）、メモリ制御器１１６により測定用メモリ１１７に記憶される。測定制御器１１８は測定が終了したときに、測定終了割込み１を、第２割込み制御器１１５を介してカードＣＰＵ１１３に対して発生させる。そして、カードＣＰＵ１１３は当該測定終了割込み１を第１割込み制御器１１２に対して出力する。
【００２２】
第１割込み制御器１１２は外部バス８を通じてホストＣＰＵ４に対して測定終了割込み１を発生させる。この割込みに基づいてホストＣＰＵ４は、各カード３の第１割込み制御器１１２を参照して、割込みを行ったカード３を特定する。そして、割込みをクリアする処理を行った後に、割込みを行ったカード３に対して転送開始要求１を発行する。
【００２３】
ホストＣＰＵ４は転送開始要求１を発行するときに、転送元のスタートアドレス、転送先のスタートアドレス、転送設定部１４４に設定されるデータ総量を設定し、トリガ出力部１４２がトリガ信号を出力するためのトリガを発行する。そして、第１データ転送制御器１３１の転送制御シーケンサ１４３は測定用メモリ１１７に記憶されているデータをホストメモリ５に転送する制御を開始する。
【００２４】
転送制御シーケンサ１４３は転送開始要求１に基づいて、内部バス１２１にリード要求を出力し、内部バス１２１経由で測定用メモリ１１７からデータのリードを行う。そして、取得されたデータはデータバッファ１４１に格納される。一方、転送制御シーケンサ１４３はデータバッファ１４１に転送可能なデータが格納されたときから、外部バス８にライト要求を出力する。このライト要求に基づいて、外部バス８経由でホストメモリ５にデータの転送を開始する。
【００２５】
一般に、内部バス１２１は外部バス８よりもバス速度が高速（転送速度が高速）である。また、外部バス８は複数のカード３が共通的に使用するため、バス権取得までに多くの時間を要する。よって、内部バス１２１によりデータバッファ１４１にデータが転送される速度（図８の内部バスデータ転送動作１）はデータバッファ１４１からホストメモリ５に転送される速度（同図の外部バスデータ転送動作１）よりも早期に終了する。
【００２６】
転送制御シーケンサ１４３は外部バスデータ転送動作１を行っている間、データバッファ１４１から外部バス８に出力されるデータ量をカウンタ１４５に計測させる。カウンタ１４５はデータ量をカウントして、カウントしたデータ量を比較器１４６に出力する。
【００２７】
比較器１４６はカウンタ１４５から出力されるデータ量と転送設定部１４４に設定されるデータ総量とを比較して、一致したときに割込み生成器１４８に割込み（図中の転送終了割込み）を発生させる。このとき、割込み生成器１４８はイネーブル出力部１４７から出力されるイネーブル信号が有効であるときに、割込みを発生させる。この割込みは割込み線９を介してホストＣＰＵ４に発行される。
【００２８】
ホストＣＰＵ４は各カード３の第１割込み制御器１１２をリードして、割込みを行ったカード３を特定する。そして、割込みをクリアする処理を行う。これにより、ホストメモリ５にデータが転送される。ホストＣＰＵ４は次に行う測定開始要求２を出力する。この測定開始要求２はカードＣＰＵ１１３に発行され、カードＣＰＵ１１３は測定制御器１１８に測定設定２を行う。そして、測定制御器１１８により測定２が行われ、メモリ制御器１１６がデータ収集２を行って測定用メモリ１１７にデータが記憶される。
【００２９】
ホストＣＰＵ４は測定開始要求２をカードＣＰＵ１１３に発行した後にホストメモリデータ処理１を行う。このホストメモリデータ処理１は外部バス８からホストメモリ５に転送されたデータをデータ退避、演算、解析する処理になる。これにより、ホストメモリ５に測定用メモリ１１７のデータが記憶されることで、最初のデータ転送に関する全ての処理を終了する。
【００３０】
ＤＵＴ２に対してはホストＣＰＵ４から複数の試験（測定）の命令が発行される。そして、各測定に応じて前述した動作を行い、全ての測定を終了した後に、動作を終了する。
【先行技術文献】
【特許文献】
【００３１】
【特許文献１】特開平２０１０−２２４７１３号公報
【発明の概要】
【発明が解決しようとする課題】
【００３２】
従って、転送開始要求２以降の動作は、外部バスデータ転送動作１が終了して、転送終了割込み１がホストＣＰＵ４に通知された後に行われる。つまり、次の測定を行うために発行される測定開始要求２は、前回の外部バスデータ転送動作１が終了して転送終了割込み１がホストＣＰＵ４に通知された後に初めて行われる。
【００３３】
前述したように、内部バス１２１は外部バス８よりもバス速度が高速になっている。このため、内部バス１２１からデータバッファ１４１にデータが格納される速度（内部バスデータ転送動作の速度）は、データバッファ１４１から外部バス８にデータが転送される速度（外部バスデータ転送動作の速度）よりも速くなる。従って、図８の内部バスデータ転送動作１は外部バスデータ転送動作１よりも早期に終了する。
【００３４】
このとき、カードＣＰＵ１１３、メモリ制御器１１６および測定制御器１１８は外部バスデータ転送動作１よりも先に動作を終了しているにもかかわらず、外部バスデータ転送動作１が終了して測定開始要求２が発行されなければ、次の動作に移ることができない。このために、カードＣＰＵ１１３、メモリ制御器１１６および測定制御器１１８は外部バスデータ転送動作１が終了するまで無駄な時間を待機していることになる。
【００３５】
従って、データ転送の処理速度が低下する。特に、図６に示したような半導体試験装置１の場合には、ＤＵＴ２の試験を高速に行うことが要求されている。このために、ＤＵＴ２の試験を行って、その測定結果を高速にホストメモリ５に転送するデータ転送を実現することが要求される。
【００３６】
そこで、本発明は、ホストＣＰＵと複数のカードに備えられるカードＣＰＵとの間を接続する外部バスを用いてホストＣＰＵとカードＣＰＵとの間でデータの転送を行うときに、転送速度を高速化することを目的とする。
【課題を解決するための手段】
【００３７】
以上の課題を解決するため、本発明のデータ転送装置は、ホストＣＰＵと複数のカードに備えられるカードＣＰＵとの間に設けられる外部バスを用いてデータの転送を行うデータ転送装置であって、前記カードに備えられる内部バスと前記外部バスとの間で前記データの転送を行うときに前記データを格納するバッファと、前記内部バスと前記バッファとの間または前記バッファと前記外部バスとの間で前記データの転送が終了した時点で、転送が終了したバスに前記データを転送した前記カードＣＰＵまたは前記ホストＣＰＵに対して次の処理を開始させる制御を行うデータ転送制御部と、を備えたことを特徴とする。
【００３８】
このデータ転送装置によれば、内部バスまたは外部バスがバッファにデータを格納した時点で、カードＣＰＵまたはホストＣＰＵは次の動作に移行することができる。これにより、カードＣＰＵ或いはホストＣＰＵは無駄な待機時間を生じることがなくなるため、高速なデータ転送を実現することができる。
【００３９】
また、前記データ転送制御部は、前記バッファから転送されたデータの転送量を出力データ転送量として計測する出力データ転送量計測部と、転送されるデータの総量を予め設定した転送データ総量として、前記出力データ転送量が前記転送データ総量になったときに前記ホストＣＰＵまたは前記カードＣＰＵに割込みを発生させる出力割込み発生部と、前記バッファに格納されたデータの転送量を入力データ転送量として計測する入力データ転送量計測部と、前記入力データ転送量が前記転送データ総量になったときに前記ホストＣＰＵまたは前記カードＣＰＵに割込みを発生させる入力割込み発生部と、を備えていることを特徴とする。
【００４０】
内部バスと外部バスとについて、転送が終了したか否かは、入力データ転送量或いは出力データ転送量を転送データ総量と比較することにより、認識することができる。これにより、無駄な待機時間がなくなり、高速なデータ転送を実現することができる。
【００４１】
また、前記データ転送制御部は、前記バッファから転送されたデータに付されたエンドマークを検出する出力エンド検出部と、前記エンドマークが最後のデータであることを示しているときに前記ホストＣＰＵまたは前記カードＣＰＵに割込みを発生させる出力割込み発生部と、前記バッファに格納されたデータに付されたエンドマークを検出する入力エンド検出部と、前記エンドマークが最後のデータであることを示しているときに前記ホストＣＰＵまたは前記カードＣＰＵに割込みを発生させる入力割込み発生部と、を備えていることを特徴とする。
【００４２】
転送が終了したか否かは、エンドマークを検出することによっても認識することができる。これにより、無駄な待機時間がなくなり、高速なデータ転送を実現することができる。
【００４３】
また、本発明のデータ転送方法は、ホストＣＰＵと複数のカードに備えられるカードＣＰＵとの間に設けられる外部バスを用いてデータの転送を行うときに、前記カードに備えられる内部バスと前記外部バスとの間で前記データの転送を行うときに前記データをバッファに格納し、前記内部バスと前記バッファとの間または前記バッファと前記外部バスとの間で前記データの転送が終了した時点で、転送が終了したバスに前記データを転送した前記カードＣＰＵまたは前記ホストＣＰＵに対して次の処理を開始させる制御を行うことを備えたことを特徴とする。
【００４４】
また、本発明の半導体試験装置は、前述の何れかのデータ転送装置を備えたことを特徴とする。データ転送装置としては、カードとしてピンエレクトロニクスカードを適用した半導体試験装置に適用することができる。
【発明の効果】
【００４５】
本発明は、内部バスと外部バスとの間に設けたバッファに転送されるデータを格納し、ホストＣＰＵまたはカードＣＰＵはデータの転送を終了した時点で次の動作を開始することができる。このため、無駄な待機時間がなくなり、データ転送の高速化を実現することができる。
【図面の簡単な説明】
【００４６】
【図１】実施形態のカードの構成図である。
【図２】図１の構成の動作を示すタイミングチャートである。
【図３】実施形態と従来レイトを比較するタイミングチャートである。
【図４】変形例のカードの構成図である。
【図５】データに付されるエンドマークを説明する図である。
【図６】半導体試験装置の全体構成図である。
【図７】従来のカードの構成図である。
【図８】図７の構成の動作を示すタイミングチャートである。
【発明を実施するための形態】
【００４７】
以下、図面を参照して本発明の実施形態について説明する。本実施形態では、データ転送装置を半導体試験装置に適用している。ただし、半導体試験装置以外でも、ホストＣＰＵと複数のカードに備えられるカードＣＰＵとの間を接続する外部バスを用いてホストＣＰＵとカードＣＰＵとの間でデータの転送を行う装置であれば、任意の装置に本実施形態のデータ転送装置を適用することができる。
【００４８】
半導体試験装置の全体構成については既に説明したが、図６を参照して改めて説明する。図６において、半導体試験装置１はＤＵＴ２とＮ（Ｎは２以上の整数）個のカード３（３−１〜３−Ｎ）とホストＣＰＵ４とホストメモリ５とホストブリッジ６とホストバス７と外部バス８と割込み線９とを備えて構成している。
【００４９】
ＤＵＴ（Device Under Test）２は被試験デバイスであり、試験（測定）の対象となる素子である。ここでは、各カード３に対して１つのＤＵＴ２が接続されているが、１つのカード３に１つのＤＵＴ２が接続されてもよいし、１つのカード３に複数のＤＵＴ２が接続されてもよい。
【００５０】
カード３はピンエレクトロニクスカードであり、ＤＵＴ２の試験を行う。カード３はＮ枚を設けており、外部バス８および割込み線９に接続される。ホストＣＰＵ４は各カード３を制御するＣＰＵ（ホスト制御部）である。ホストメモリ５はホストＣＰＵ４が使用するメモリであり、ホストＣＰＵ４のプログラムやＤＵＴ２の試験結果（測定結果）を格納する。
【００５１】
ホストブリッジ６はホストＣＰＵ４と外部バス８および割込み線９との間でデータの転送や出力といった動作を行うときに、その制御を行う。ホストバス７はホストＣＰＵ４とホストブリッジ６との間に設けたバスであり、ホストＣＰＵ４はホストバス７を介してホストブリッジ６を制御する。
【００５２】
外部バス８はホストブリッジ６と各カード３との間を接続するバスである。この外部バス８を通じてホストＣＰＵ４は各カード３の制御を行う。割込み線９も同様にホストブリッジ６と各カード３との間を接続しており、ホストＣＰＵ４に対して、或いはカード３に対して割込み信号の入出力を行う。ここでは、各カード３を同じ構成としているが、異なる構成を有しているものでもよい。ただし、各カード３は図１の構成を有しているものとする。
【００５３】
次に、図１を参照して、カード３（３−１）の構成について説明する。カード３はバスブリッジ１１と第１割込み制御器１２とカードＣＰＵ１３とワークメモリ１４と第２割込み制御器１５とメモリ制御器１６と測定用メモリ１７と測定制御器１８とＤＡＣ１９とＡＤＣ２０と内部バス２１とを備えて構成している。
【００５４】
バスブリッジ１１は外部バス８と内部バス２１との間でバスアクセスを行うときにハンドシェイクを行う。つまり、データの転送制御を行う。外部バス８と内部バス２１とのプロトコルが異なる場合には、バスブリッジ１１はプロトコルの変換やアドレスの変換を行う。
【００５５】
第１割込み制御器１２はバスブリッジ１１またはカードＣＰＵ１３からの割込み信号を入力して、割込み線９を介してホストＣＰＵ４に割込みを発行する。割込み線９は各カード３で例えばワイヤードオアで構成されており、１つのカード３の割込みが有効になる。このときには、ホストＣＰＵ４が何れのカード３からの割込みが所持しているかを各カード３に読みに行くことで、割込み要因を特定している。
【００５６】
カードＣＰＵ１３はカード３の制御を行うＣＰＵ（カード制御部）である。ワークメモリ１４はカードＣＰＵ１３が使用するメモリである。第２割込み制御部１５はメモリ制御器１６や測定制御器１８からの割込み信号を入力して、カードＣＰＵ１３に割込みを発行させる制御を行う。このために、割込み要因を保持し、そのクリアを行う。
【００５７】
メモリ制御器１６は測定用メモリ１７を制御している。測定用メモリ１７はＤＵＴ２の試験を行うための試験データおよび測定した結果の測定データを記憶する。従って、測定用メモリ１７が記憶する試験データおよび測定データはメモリ制御器１６により制御がされて読み書きされる。
【００５８】
測定制御器１８は測定用メモリ１７に記憶されている試験データをＤＵＴ２に対して印加し、ＤＵＴ２から出力される応答信号を測定データとして測定用メモリ１７に記憶させるようにメモリ制御器１６を制御する。
【００５９】
ＤＡＣ（デジタルアナログコンバータ）１８は測定制御器１８により制御されて、試験データをデジタルデータからアナログデータに変換して、ＤＵＴ２に印加する。ＡＤＣ（アナログデジタルコンバータ）１９はＤＵＴ２から出力された応答信号をデジタルデータの測定データに変換して、測定制御器１８に出力する。
【００６０】
内部バス２１はカード３の内部に設けているバスである。カード３は１つの回路基板を構成しており、当該回路基板の中に設けられる高速なバスが内部バス２１になる。内部バス２１はバスブリッジ１１の後述する内部バスインターフェイス３６と接続され、またカードＣＰＵ１３、ワークメモリ１４、第２割込み制御器１５、メモリ制御器１６および測定制御器１８と接続される。
【００６１】
次に、バスブリッジ１１について説明する。バスブリッジ１１は第１データ転送制御器３１と第２データ転送制御器３２と第１アクセス制御器３３と第２アクセス制御器３４と外部バスインターフェイス（図中では外部バスＩＦ）３５と内部バスインターフェイス（図中では内部バスＩＦ）３６とを備えて構成している。第１データ転送制御器３１と第２データ転送制御器３２とは所謂ＤＭＡ（Direct Memory Access）コントローラとして機能する。
【００６２】
第１データ転送制御器３１は内部バス２１に対してリード要求を行うことで、リードデータを取得するデータ転送制御部である。リードデータとしては、主に測定用メモリ１７に記憶されているデータがあり、このデータを取得して、外部バス８を介してホストメモリ５に記憶させる。よって、取得されるデータとしてはＤＵＴ２の試験結果である測定データがある。
【００６３】
第２データ転送制御器３２は外部バス８に対してリード要求を行うことで、リードデータを取得する。リードデータとしては、主にホストメモリ５に記憶されているデータがあり、このデータを取得して、内部バス２１を介して測定用メモリ１７に記憶させる。よって、取得されるデータとしてはＤＵＴ２の試験を行う試験データがある。
【００６４】
第１アクセス制御器３３は外部バスインターフェイス３５からライト要求やリード要求、リードデータを受け取り、内部バスインターフェイス３６からライト要求やリード要求、リードデータを読み出してもらい、バス間の緩衝を行っている。第２アクセス制御器３４は内部バスインターフェイス３６からライト要求やリード要求、リードデータを受け取り、外部バスインターフェイス３５からライト要求やリード要求、リードデータを読み出してもらう。
【００６５】
次に、第１データ転送制御器３１について説明する。第１データ転送制御器３１はデータバッファ４１とトリガ出力部４２と転送制御シーケンサ４３と転送設定部４４と出力カウンタ４５と出力比較器４６とイネーブル出力部（図中ではＥＮＢ出力部）４７と出力割込み生成器４８と入力カウンタ５０と入力比較器５１とイネーブル出力部（図中ではＥＮＢ出力部）５２と入力割込み生成器５３とを備えて構成している。本実施形態では、この第１データ転送制御器３１がデータ転送装置になるが、第２データ転送制御器３２がデータ転送装置になることもある。
【００６６】
データバッファ４１は外部バスインターフェイス３５と内部バスインターフェイス３６との間でデータ転送を行うときに、転送されるデータを一時的に格納するバッファである。内部バスインターフェイス３６から格納される側が入力側になり、外部バスインターフェイス３５に転送される側が出力側になる。
【００６７】
トリガ出力部４２はホストＣＰＵ４により制御されており、データの転送開始を示すトリガ信号を出力する。転送制御シーケンサ４３はトリガ出力部４２からトリガ信号を入力した後に、データバッファ４１の空き状況を監視して、データ転送の制御を行う。データバッファ４１にデータが格納されていないときには、データが格納されるまで外部バスインターフェイス３５に対してデータを出力しないように制御を行う。
【００６８】
転送設定部４４は転送元や転送先のアドレス等の設定を行っている。また、この転送設定部４４にはカード３からホストＣＰＵ４に対して転送されるデータの総量が転送データ総量として設定されている。転送データ総量は転送されるデータの総量（情報量）であり、その単位はバイト単位であってもよいし、複数バイトから構成されるワード単位であってもよい。
【００６９】
出力カウンタ４５はデータバッファ４１から外部バスインターフェイス３５に出力されたデータ、つまりホストＣＰＵ４に転送されたデータのデータ量を出力データ転送量として計測する出力データ転送量計測部である。出力データ転送量はバイト単位であってもよいし、前述したようにワード単位であってもよい。
【００７０】
出力比較器４６は転送設定部４４から転送データ総量と出力カウンタ４５から出力データ転送量とを入力している。そして、転送データ総量と出力データ転送量との比較を行っている。出力データ転送量が転送データ総量に達した時点で、その旨を出力割込み生成器４８に通知する。
【００７１】
イネーブル出力部４７はホストＣＰＵ４により制御がされており、出力比較器４６からの通知を有効または無効にするイネーブル信号を出力している。出力割込み生成器４８はイネーブル出力部４７から出力されるイネーブル信号が有効であり、且つ出力データ転送量が転送データ総量に達した旨の通知を入力したときに、割込み線９を介してホストＣＰＵ４に対して割込みを発行する。
【００７２】
入力カウンタ５０は内部バスインターフェイス３６からデータバッファ４１に入力されたデータ、つまりカードＣＰＵ１３から転送されたデータのデータ量を入力データ転送量として計測する入力データ転送量計測部である。入力データ転送量もバイト単位であってもよいし、前述したようにワード単位であってもよい。
【００７３】
入力比較器５１は転送設定部４４が出力する転送データ総量と入力カウンタ５０が出力する入力データ転送量とを入力している。そして、転送データ総量と入力データ転送量との比較を行っている。入力データ転送量が転送データ総量に達した時点で、その旨を入力割込み生成器５３に通知する。
【００７４】
イネーブル出力部５２はホストＣＰＵ４により制御がされており、入力比較器５１からの通知を有効または無効にするイネーブル信号を出力している。入力割込み生成器５３はイネーブル出力部５２から出力されるイネーブル信号が有効であり、且つ入力データ転送量が転送データ総量に達した旨の通知を入力したときに、第２割込み制御器１５に対して割込みを発行する。
【００７５】
以上が構成である。次に、図２のタイミングチャートを参照して、前述した構成の動作について説明する。なお、図２において、網掛けがされている部分は、本実施形態で改善を図った部分になる。まず、ホストＣＰＵ４がカード３に対して試験（測定）を開始する要求を出力する。ＤＵＴ２の試験は１回だけを行うのではなく、複数回の試験を行う。ホストＣＰＵ４は各カード３に対してＤＵＴ２に対する全ての試験（或いは一部の試験）を行うように制御し、少なくとも複数回の試験を行うような要求を発行する。これが、図２に示す測定開始要求になり、この測定開始要求は複数回分を纏めて１回だけが出力される。
【００７６】
ホストＣＰＵ４が発行する測定開始要求は、ホストブリッジ６、外部バス８、バスブリッジ１１、内部バス２１を介して、カードＣＰＵ１３に通知される。カードＣＰＵ１３はこの測定開始要求に基づいて、測定制御器１８のレジスタ等を設定することにより、１番目の測定を行うための設定（測定設定１）を行う。
【００７７】
カードＣＰＵ１３は、測定設定１の動作が終了した後に、測定を開始する要求を測定開始要求１として測定制御器１８に対して出力する。測定制御器１８はこの測定開始要求１に基づいて、測定１を開始する。このために、メモリ制御器１６を制御して、測定用メモリ１７から試験データを読み出す。そして、読み出した試験データをＤＡＣ１９に出力する。ＤＡＣ１９は試験データをアナログ信号に変換して、ＤＵＴ２に対して印加する。
【００７８】
ＤＵＴ２は印加されたアナログ信号に基づいて動作を行い、応答信号を出力する。ＡＤＣ２０は応答信号をデジタル信号に変換して、測定データとして収集を行う。収集された測定データは、メモリ制御器１６により測定用メモリ１７に記憶される。これが、図２に示すデータ収集１になる。測定１の動作およびデータ収集１の動作は所定の時間について行われ、測定１およびデータ収集１が終了したときに、測定制御器１８が第２割込み制御器１５を制御して割込み（測定終了割込み１）を発行する。
【００７９】
この測定終了割込み１はカードＣＰＵ１３に対して出力される。カードＣＰＵ１３は測定終了割込み１を第１割込み制御器１２に出力し、第１割込み制御器１２は割込み線９を介してホストＣＰＵ４に対して測定終了割込み１を発行する。ホストＣＰＵ４はこの測定終了割込み１を入力したときに、各カード３の第１割込み制御器１２をリードして、カード３と要因の特定を行う。そして、割込みをクリアする処理を行う。
【００８０】
これにより、ホストＣＰＵ４は測定が終了したことを検出する。そして、ホストＣＰＵ４は測定用メモリ１７に記憶された測定データを転送させるための要求（転送開始要求１）を出力する。当該転送開始要求１は外部バス８を介してカード３の第１データ転送制御器３１に入力される。
【００８１】
このとき、転送開始要求１には、転送元のスタートアドレスおよび転送先のスタートアドレスが設定されている。且つ、転送開始要求１には転送設定部４４に設定される転送データ総量およびトリガ出力部４２に設定されるトリガ信号が含まれている。これにより、トリガ出力部４２はトリガ信号を転送制御シーケンサ４３に出力する。
【００８２】
トリガ出力部４２がトリガ信号を出力することで、転送制御シーケンサ４３は内部バスインターフェイス３６に対してリード要求を出力する。このリード要求に基づいて、測定用メモリ１７に記憶されている測定データを内部バス２１経由で内部バスインターフェイス３６に転送させる。これが内部バスデータ転送動作１になる。転送された測定データはデータバッファ４１に格納される。
【００８３】
転送制御シーケンサ４３はデータバッファ４１に測定データが格納されたときに、データバッファ４１から外部バス８経由でホストメモリ５に測定データを転送させる制御を行う。これが外部バスデータ転送動作１になる。外部バス８経由でデータバッファ４１から転送された測定データはホストメモリ５に転送される。
【００８４】
図２にも示したように、内部バスデータ転送動作１と外部バスデータ転送動作１とは並列的に行われる。つまり、データバッファ４１に測定データが格納された時点で、順次データバッファ４１から測定データを取り出して外部バス８に転送を行う。このときに、内部バスデータ転送動作１は外部バスデータ転送動作１よりも早期に終了する。
【００８５】
カード３は回路基板であり、内部バス２１は各カード３を接続する外部バス８よりも高速なことが一般的である。また、１つの外部バス８にＮ個のカード３が接続されており、バス権の取得に多くの時間を要する。よって、内部バス２１は外部バス８よりも高速なバスになっており、このために内部バスデータ転送動作１は外部バスデータ転送動作１よりも早く終了する。
【００８６】
転送制御シーケンサ４３は入力カウンタ５０に内部バス２１からデータバッファ４１に格納された入力データ転送量を計測させている。転送設定部４４には転送データ総量が設定されており、入力比較器５１は入力データ転送量が転送データ総量に達したか否かを検出している。そして、入力データ転送量が転送データ総量に達したときに、その旨を入力割込み生成器５３に通知する。
【００８７】
転送データ総量は１回の測定データの転送ごとに設定されており、入力データ転送量が転送データ総量に達したときは、測定１により測定されて測定用メモリ１７に記憶された測定データのデータバッファ４１への転送が終了したことになる。このときには、イネーブル出力部５２は有効のイネーブル信号を出力しているため、入力割込み生成器５３はデータバッファ４１への転送が終了したことを示す割込み（内部転送終了割込み１）を発行する。
【００８８】
この内部転送終了割込み１は第２割込み制御器１５に入力される。第２割込み制御器１５はカードＣＰＵ１３に対して当該内部転送終了割込み２を出力する。この転送終了割込み２を受けて、カードＣＰＵ１３は２番目の測定２の設定を開始する（測定設定２）。前述したように、ホストＣＰＵ４は最初に複数回の測定を行うように要求している。従って、カードＣＰＵ１３は２回目の測定設定２を開始することができる。
【００８９】
カードＣＰＵ１３は測定設定２を測定制御器１８に設定する。そして、測定制御器１８に測定設定２を設定後に、測定制御器１８に測定２を開始させる制御を行う。これにより、ＤＡＣ１９からＤＵＴ２に試験データが印加されて、応答信号が測定データとしてメモリ制御器１６により収集される（データ収集２）。そして、収集された測定データが測定用メモリ１７に記憶される。
【００９０】
測定２およびデータ収集２が終了したときに、測定制御器１８は測定終了割込み２を発生させる。この測定終了割込み２は第２割込み制御器１５によりカードＣＰＵ１３に対して出力され、カードＣＰＵ１３は第１割込み制御器１２から割込み線９を使用して、ホストＣＰＵ４に対して割込みを発行する。
【００９１】
ホストＣＰＵ４は当該割込みに基づいて、２回目の測定が終了したことを認識する。従って、２回目の測定データの転送を要求する転送開始要求２を出力する。これにより、２回目に測定された測定データの転送が開始される。
【００９２】
従って、内部バスデータ転送動作１が終了したときに、その旨の割込みを発生させて、次の測定２の準備が開始されて、実際に測定２が開始される。この測定２は外部バスデータ転送動作１を待たずに開始される。つまり、内部バス２１を介して、測定用メモリ１７からデータバッファ４１に１回目の測定データの転送が終了した時点で、２回目の測定２を開始させている。
【００９３】
前述したように、外部バス８は内部バス２１よりも低速であり、バス権の取得に時間を要するため、内部バスデータ転送動作１に比べて外部バスデータ転送動作１は長くなる。図２では、内部バスデータ転送動作１が終了して、測定設定２が終了した時点でも未だ外部バスデータ転送動作１は終了していない。
【００９４】
このとき、本実施形態では、内部バスデータ転送動作１が終了した時点で、即時に内部転送終了割込み１を発生させて、先行して測定設定２、測定２を行うことで、内部バス２１の側が無駄な時間を待機することがなくなる。つまり、外部バスデータ転送動作１と２番目の測定設定２以降の動作とを並列的に行うことができる。
【００９５】
従って、内部バス２１を使用した動作は外部バス８を使用した動作とは独立に行うことができる。つまり、カードＣＰＵ１３やメモリ制御器１６、測定制御器１８は外部バス８を使用した外部バスデータ転送動作にかかわらず、先行して次の動作に移行できる。これにより、カードＣＰＵ１３やメモリ制御器１６、測定制御器１８等の内部バス２１側の各部に無駄な待機時間を生じないようにしており、各内部バス転送データ転送動作を早期に終了させることができる。
【００９６】
図３は本実施形態と従来例とを比較したタイミングチャートを示している。この図に示すように、本実施形態では内部バスデータ転送動作１が終了して、転送終了割込み１が発行された時点で測定設定２を開始しているが、従来例では外部バスデータ転送動作１が終了して、転送終了割込み１、測定開始要求２が生じた時点で初めて測定設定２が開始されている。
【００９７】
従って、測定設定２が開始されるまでに大きなタイムラグ（時間Ｔ１）が生じている。この時間Ｔ１の分は従来例では無駄に待機する時間に相当し、この時間Ｔ１を短縮化して、先行して測定設定２を行うことで、データ転送の処理を高速化することができる。特に、このタイムラグは試験の回数ごとに増加していくため、全体としては大幅な高速化を図ることができる。
【００９８】
図２に示すように、外部バスデータ転送動作１が終了すると、外部転送終了割込み１を発行する。外部バスデータ転送動作１によりホストメモリ５に測定データが転送されているため、ホストＣＰＵ４は転送された測定データをホストメモリ５に記憶させるホストメモリデータ処理１を行う。なお、図２では、ホストメモリデータ処理１を行っているときに測定終了割込み２を入力しているため、転送開始要求２はホストメモリデータ処理１の動作後に出力されることになる。
【００９９】
以上の動作を複数回の測定の全てについて行う。カードＣＰＵ１３は外部バスデータ転送動作１の終了を待つことなく、次の動作に移行することができる。このため、外部バス８を使用した転送動作と並行して、測定動作を行うことができる。これにより、無駄な待機時間をなくして、データ転送の処理を高速化できる。データ転送装置を半導体試験装置に適用した場合には、半導体試験装置の試験時間を高速化できる。
【０１００】
例えば、ＤＵＴ２の測定およびデータ収集にある程度の時間を要する場合には、測定、収集を先行して行うことで、時間を要する外部バス８経由の転送時間と大きくオーバラップさせることができるため、処理の高速化をより実現することができる。
【０１０１】
特に、データバッファ４１に多くの測定データを格納することができる場合（バッファの深さがある場合）に、高速な内部バス２１経由での測定データを順次格納することができることから、本実施形態の処理を行うことで処理の高速化の効果をより得ることができる。
【０１０２】
以上において、測定用メモリ１７に記憶された測定データを内部バス２１からデータバッファ４１、外部バス８、そしてホストメモリ５に記憶させる場合について説明したが、データを転送する向きを逆方向としてもよい。つまり、ホストメモリ５に記憶されたデータを測定用メモリ１７やワークメモリ１４に転送して記憶させるようにしてもよい。
【０１０３】
これは、外部バス８が内部バス２１よりも高速な場合に効果を生じる。この場合には、第１データ転送制御器３１ではなく、第２データ転送制御器３２を使用する（つまり、第２データ転送制御器３２がデータ転送装置になる）。データを転送する向きは逆方向になるが、外部バスデータ転送動作が終了した時点で、外部バスデータ転送動作は次の動作（例えば、計算動作）に移行できる。これにより、低速な内部バス２１の動作を待つことなく、高速な外部バス８の動作を先行して行うことができるため、全体の処理の高速化を実現することができる。
【０１０４】
また、カード３からホストＣＰＵ４への割込みは割込み線９を使用しているが、これに限定されず、バスライト動作を使用したメッセージ形式の割り込みでも実現することができる。つまり、外部バス８および内部バス２１を使用して、所定のデータとして割込みを発生させるようにしてもよい。このために、バスブリッジ１１は外部バス８に対しても内部バス２１に対してもバスマスタの機能を備えている。
【０１０５】
また、外部バス８を使用した外部バスデータ転送動作および内部バス２１を使用した内部バスデータ転送動作において、転送されるデータ（測定データ）が所定時間送られてこない場合には、ハングアップの状態になる。このために、強制的に割込み（転送終了割込み）を発生させて、ハングアップを回避する機能を具備してもよい。
【０１０６】
また、図１の例では、出力カウンタ４５および入力カウンタ５０がデータ量を計測することで、転送データ総量に達したか否かを検出したが、転送されるデータにエンドマークを付することにより、転送を終了したか否かを検出するようにしてもよい。この変形例を図４および図５に示す。
【０１０７】
図４は第１データ転送制御器３１を示している。本変形例ではバスブリッジを使用していない。つまり、第１データ転送制御器３１の実装箇所はバスブリッジ以外でも任意の場所にしてもよい。これは、図１のようにデータの転送量を計測する場合も同様である。
【０１０８】
そして、図１で備えていた出力カウンタ４５、出力比較器４６、入力カウンタ５０、入力比較器５１は図４の変形例では備えられていない。一方、出力エンド検出器（図中では出力ＥＮＤ検出器）６１、入力エンド検出器（図中では入力ＥＮＤ検出器）６２を新たに備えている。
【０１０９】
図５に示すように、１回の測定につき測定用メモリ１７から転送される測定データのそれぞれにエンドマークを１ビット付している。最後のデータ（図５ではデータＭ：Ｍは自然数）はエンドマークを「１」としており、それ以外のデータは「０」としている。これにより、最後のデータであるか否かを検出することができる。
【０１１０】
出力エンド検出器６１ではデータバッファ４１から外部バス８に転送される測定データのエンドマークを検出しており、エンドマークが「１」を検出したときに転送終了を認識する。入力エンド検出器６２では内部バス２１からデータバッファ４１に格納されるデータのエンドマークを検出しており、エンドマークが「１」を検出したときに転送終了を認識する。
【０１１１】
図１の例では、データの転送量を計測することにより、データ転送の終了を認識していたが、本変形例のようにエンドマークを検出することによっても同様にデータ転送の終了を検出することができる。従って、データの転送終了を検出することができれば、任意の手法を採用することができる。
【符号の説明】
【０１１２】
１    半導体試験装置
２    ＤＵＴ
３    カード
４    ホストＣＰＵ
５    ホストメモリ
６    ホストブリッジ
８    外部バス
９    割込み線
１１    バスブリッジ
１２    第１割込み制御器
１３    カードＣＰＵ
１４    ワークメモリ
１５    第２割込み制御器
１６    メモリ制御器
１７    測定用メモリ
１８    測定制御器
２１    内部バス
３１    第１データ転送制御器
３２    第２データ転送制御器
３５    外部バスインターフェイス
３６    内部バスインターフェイス
４１    データバッファ
４２    トリガ出力部
４３    転送制御シーケンサ
４４    転送設定部
４５    出力カウンタ
４６    出力比較部
４８    出力割込み生成器
５０    入力カウンタ
５１    入力比較器
５３    入力割込み生成器
６１    出力エンド検出器
６２    入力エンド検出器
【図１】
2012252444.tif 000003
【図２】
2012252444.tif 000004
【図３】
2012252444.tif 000005
【図４】
2012252444.tif 000006
【図５】
2012252444.tif 000007
【図６】
2012252444.tif 000008
【図７】
2012252444.tif 000009
【図８】
2012252444.tif 000010