説明

回路シミュレータプログラム,装置およびアイパターン生成方法

【課題】アイパターンを高速かつ高精度に生成する。
【解決手段】対象回路に立上りステップ信号を入力した際の立上りステップ応答のシミュレーションと前記対象回路に立下がりステップ信号を入力した際の立下がりステップ応答のシミュレーションとを実行し、前記立上りステップ応答のシミュレーションおよび前記立下がりステップ応答のシミュレーションの結果を解析させ、その解析結果に基づき、前記アイパターンのアイ内の上側形状を規定する上側テストパターンとアイパターンのアイ内の下側形状を規定する下側テストパターンとを生成し、前記対象回路に前記上側テストパターンおよび前記下側テストパターンを入力した際の応答のシミュレーションを実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本件は、回路シミュレータプログラム,装置およびアイパターン生成方法に関する。
【背景技術】
【0002】
アイパターン(eye pattern)は、信号波形の遷移を多数サンプリングし重ね合わせてグラフィカルに表示したものである。より具体的には、例えば、図25に示すように、アイパターンは、過渡波形からクロックの周期でサンプリングした波形を重ね合わせたもので、高速伝送波形の伝送可否判断に使用される。なお、図25は一般的なアイパターンの一例を示す図である。
【0003】
アイパターンの描き方について図26(A)〜図26(C)を参照しながら説明する。図26(A)〜図26(C)はアイパターンの描き方を説明する図である。また、図26(A)は過渡波形の一例を示す図、図26(B)は図26(A)に示す過渡波形からフレーム毎にサンプリングされた波形を示す図、図26(C)はフレーム毎にサンプリングされた波形を重ね合わせて描画されたアイパターンを示す図である。
【0004】
図26(A)に示すような過渡波形のアイパターンを描く場合、まず、当該過渡波形について、クロック周期のトリガを中心にして前後同じ幅を有する複数のフレームが規定される。図26(A)では4つのフレーム1〜4が図示されている。各フレームの領域は、1ビット分の信号幅よりも若干広くなるように規定され、これにより、前後のフレーム間には重複する領域が存在している。
【0005】
上述のように規定された各フレームの波形が、図26(A)に示す過渡波形からサンプリングされる。このとき、フレーム1〜4のそれぞれについてサンプリングされた波形は例えば図26(B)に示すようになる。
そして、図26(B)に示すようにフレーム毎にサンプリングされた波形を、例えばトリガのタイミングを基準にして重ね合わせることにより、図26(C)に示すように、アイパターンが描画される。
【0006】
このように描画されたアイパターンを参照することで、以下のように波形品質の判定・確認を行なうことができる。
アイパターンにおいて、複数の波形が同じ位置(タイミング)で重なっていれば、アイパターンを成す波形の幅は細くなり、アイパターンは、中央の空間(アイパターンの内側の形状)が広く開いた状態になる。このような状態を「アイが開いている」と言う。判定対象波形のアイパターンのアイが開いている場合、判定対象波形は、品質の良い波形であると判定される。
【0007】
逆に、アイパターンにおいて、複数の波形の位置(タイミング)がずれていれば、アイパターンを成す波形の幅は太くなり、アイパターンは、中央の空間が閉じた状態になる。このような状態を「アイが閉じている」と言う。判定対象波形のアイパターンのアイが閉じている場合、信号の伝送が不可能になり、判定対象波形は、品質の悪い波形であると判定される。
【0008】
一般に、判定対象となる伝送信号の規格毎に、アイ(アイパターンの内側)が、どの程度、開いている必要があるかが定義されており、判定対象回路で得られたアイパターンのアイのサイズが、定義されたサイズに満たない場合、その判定対象回路は、規格の認定を受けることができない。なお、伝送信号の規格としては、例えば、USB(Universal Serial Bus),PCI(Peripheral Component Interconnect)-Express,DDR(Double Data Rate)メモリ等の規格が挙げられる。
【0009】
ここで、アイパターンをシミュレーションによって生成する一般的な手順について、図27に示すフローチャート(ステップS1,S2)に従って説明する。
シミュレーションに先立ち、対象回路に関する回路情報、および、入力パルスのテストパターンが、それぞれデータベースD1およびD2に予め保存されている。
【0010】
そして、データベースD2におけるテストパターンを対象回路に入力した時に当該対象回路から出力される波形が、データベースD1における回路情報に基づく回路シミュレーションによって得られる(ステップS1)。ついで、回路シミュレーションによって得られた出力波形のアイパターンが、図26(A)〜図26(C)を参照しながら上述した手順で作成され、ディスプレイ上に表示される(ステップS2)。
【0011】
ところで、近年、信号の伝送速度が高速になっており、アイパターンによる波形品質の確認が極めて重要となっている。特に、波形品質の確認に際しては、アイパターンの内側の形状つまりアイの形状が重要であり、シミュレーションによってアイパターンの内側の形状を効率よく求めることが望まれている。
【0012】
しかし、アイパターンの内側の形状は、入力信号のビットパターンに依存する符号間干渉や、伝送損失や、多重反射の現象が組み合わさって複雑に変化するほか、アイパターンの内側の形状としてワーストケースが発生するテストパターンは、対象回路の回路条件毎に異なる。このため、アイパターンの内側(アイ)の形状を正確に求めるには、様々なテストパターンを対象回路に入力する必要があり、その様々なテストパターンによる出力波形のシミュレーションに、多大な時間を要する。
【先行技術文献】
【特許文献】
【0013】
【特許文献1】特開2002−368827号公報
【発明の概要】
【発明が解決しようとする課題】
【0014】
1つの側面では、本件は、アイパターンを高速かつ高精度に生成することを目的とする。
【課題を解決するための手段】
【0015】
本件の回路シミュレータプログラムは、対象回路の設計データを基に前記対象回路のシミュレーションを行なうコンピュータに、前記対象回路に立上りステップ信号を入力した際の立上りステップ応答のシミュレーションを実行させ、前記対象回路に立下がりステップ信号を入力した際の立下がりステップ応答のシミュレーションを実行させ、前記立上りステップ応答のシミュレーションおよび立下がりステップ応答のシミュレーションの結果を解析させ、前記解析結果に基づき、アイパターンのアイ内の上側形状を規定する上側テストパターンとアイパターンのアイ内の下側形状を規定する下側テストパターンとを生成させ、前記対象回路に前記上側テストパターンおよび前記下側テストパターンを入力した際の応答のシミュレーションを実行させる。
【0016】
また、本件の装置は、対象回路の設計データを基に前記対象回路のシミュレーションを行なう装置であって、前記対象回路に立上りステップ信号を入力した際の立上りステップ応答のシミュレーションと、前記対象回路に立下がりステップ信号を入力した際の立下がりステップ応答のシミュレーションとを実行するシミュレーション部と、前記立上りステップ応答のシミュレーションおよび立下がりステップ応答のシミュレーションの結果を解析するステップ応答解析部と、前記解析結果に基づき、アイパターンのアイ内の上側形状を規定する上側テストパターンと、アイパターンのアイ内の下側形状を規定する下側テストパターンとを生成するテストパターン生成部とを有し、前記シミュレーション部は、前記上側テストパターンと前記下側テストパターンとを用いて、前記対象回路のシミュレーションを行なう。
【0017】
さらに、本件のアイパターン生成方法は、コンピュータにより、対象回路のアイパターンを、予め規定されたテストパターンに基づき、シミュレーションによって生成するものであって、前記テストパターンにおいて同じ値が最も長く連続する際の連続最長ビット数を取得し、立上りステップ信号を前記対象回路に入力した際の立上りステップ応答の解析、および、立下りステップ信号を前記対象回路に入力した際の立下りステップ応答の解析をそれぞれ実行し、前記連続最長ビット数と前記立下りステップ応答の解析結果とに基づき、前記アイパターンのアイ内の上側形状を規定する上側テストパターンを生成するとともに、前記連続最長ビット数と前記立上りステップ応答の解析結果とに基づき、前記アイパターンのアイ内の下側形状を規定する下側テストパターンを生成する。
【発明の効果】
【0018】
本件によれば、アイパターンを高速かつ高精度に生成することができる。
【図面の簡単な説明】
【0019】
【図1】本実施形態のアイパターン生成装置のハードウェア構成および機能構成を示すブロック図である。
【図2】符号間干渉を説明するための回路を示す図である。
【図3】(A),(B)は、それぞれ、図2に示す回路の送信波形の例を示す図である。
【図4】(A),(B)は、それぞれ、図3(A)および図3(B)に示す送信波形を図2に示す回路によって伝送して得られた受信波形の例を示す図である。
【図5】アイパターンの内側の形状を模式的に示す図である。
【図6】回路情報を説明すべく対象回路の具体的な構成例を示す回路図である。
【図7】図1に示すアイパターン生成装置によるアイパターン生成手順を説明するためのフローチャートである。
【図8】図1に示す伝搬遅延時間算出部による算出手順を説明するためのフローチャートである。
【図9】図1に示す取得部による連続最長ビット数の取得手順を説明するためのフローチャートである。
【図10】図1に示すステップ応答解析部による解析手順を説明するためのフローチャートである。
【図11】(A),(B)は図1に示すステップ応答解析部による解析結果を示す図であり、(A)は解析対象の定義情報の一例を示す図、(B)は(A)の定義情報によって特定される解析対象についての解析結果の一例を示す図である。
【図12】図1に示す変化開始時刻判断部による判断手順を説明するためのフローチャートである。
【図13】図1に示すチェック部による反射量チェック手順を説明するためのフローチャートである。
【図14】図1に示すチェック部による反射量チェック手順を説明するための波形図である。
【図15】図1に示すテストパターン生成部による、アイの上側テストパターンの生成手順を説明するためのフローチャートである。
【図16】図1に示すテストパターン生成部による、アイの下側テストパターンの生成手順を説明するためのフローチャートである。
【図17】図1に示すテストパターン生成部による、アイの上側/下側テストパターンの生成手順を説明するための波形図である。
【図18】(A),(B)は、それぞれ、図17の波形図に対応する状態で生成される上側テストパターンおよび下側テストパターンを示す図である。
【図19】図1に示すテストパターン生成部による、アイの上側/下側テストパターンの生成手順を説明するための波形図である。
【図20】(A),(B)は、それぞれ、図19の波形図に対応する状態で生成される上側テストパターンおよび下側テストパターンを示す図である。
【図21】(A),(B)は、それぞれ、図20(A)および図20(B)に示す上側テストパターンおよび下側テストパターンを対象回路に入力した際の、当該対象回路からの出力波形(応答波形)をシミュレートした結果を示す図である。
【図22】(A),(B)は、それぞれ、図21(A)および図21(B)に示す出力波形(応答波形)から生成される上側アイパターンおよび下側アイパターンを示す図である。
【図23】図22(A)および図22(B)に示す上側アイパターンおよび下側アイパターンを合成して生成されるアイパターンを示す図である。
【図24】対象回路について本実施形態のアイパターン生成装置によって得られたアイパターン(図23)と同対象回路について従来技術によって得られたアイパターン(図25)とを重ね合わせて示す図である。
【図25】一般的なアイパターンの一例を示す図である。
【図26】(A)〜(C)はアイパターンの描き方を説明する図であり、(A)は過渡波形の一例を示す図、(B)は(A)に示す過渡波形からフレーム毎にサンプリングされた波形を示す図、(C)はフレーム毎にサンプリングされた波形を重ね合わせて描画されたアイパターンを示す図である。
【図27】アイパターンをシミュレーションによって生成する一般的な手順を説明するためのフローチャートである。
【発明を実施するための形態】
【0020】
以下、図面を参照して実施の形態を説明する。
〔1〕概要
〔1−1〕アイが閉じる原因
アイパターンのアイが閉じる原因は、幾つか考えられるが、本実施形態では、シミュレーションで求めることが可能な以下の3つの現象(1)〜(3)が、アイが閉じる原因として取り扱われる。
【0021】
(1) 伝送損失
伝送損失とは、ドライバ素子から出力された信号がレシーバ素子に到達するまでに減衰する現象である。高速伝送では、素子の立上り速度/立下り速度が速いため、伝送される信号は、高い周波数成分を有している。しかし、PCB(Printed Circuit Board)上の配線では、高周波成分の減衰が大きいため、信号波形が大きく鈍り、アイが小さくなる。
(2) 反射
ドライバ素子とレシーバ素子との間における要素によりインピーダンスの不整合が生じると、その要素において、信号が、透過する信号と反射する信号とに分かれ、信号波形が大きく乱れる。このような信号波形の乱れによりアイが小さくなる。高速に伝送される信号では、このような反射はできるだけ小さく抑える必要がある。
(3) 入力パターンに依存する符号間干渉
符号間干渉については、次項〔1−2〕にて詳述する。
【0022】
〔1−2〕符号間干渉
符号間干渉とは、入力信号のパターンによって、受信波形において立上り波形や立下り波形が変わってくる現象である。伝送速度が高速になると、それまで0または1として扱えていたデジタル信号が、0または1に安定する前に次のビットに遷移するようになり、アナログ的な振る舞いを示し、符号間干渉が発生する。
【0023】
図2〜図4を参照しながら、符号間干渉についてより具体的に説明する。ここで、図2は、符号間干渉を説明するための回路を示す図である。図3(A)および図3(B)は、それぞれ、図2に示す回路の送信波形の例を示す図である。図4(A)および図4(B)は、それぞれ、図3(A)および図3(B)に示す送信波形を図2に示す回路によって伝送して得られた受信波形の例を示す図である。なお、図3(A),図3(B),図4(A)および図4(B)において、横軸は時間、縦軸は電圧を示す。
【0024】
図2に示す回路においては、ドライバ素子,伝送路およびレシーバ素子がそなえられている。ドライバ素子は、0,1からなる二値信号を入力されると、二値信号に応じた送信波形を出力する。ドライバ素子からの送信波形は、伝送路を介してレシーバ素子に伝送され、レシーバ素子によって受信される。図2に示すように、ドライバ素子に二値信号として01が入力されると、ドライバ素子は立上りステップ信号(立上り波形)を出力する。そして、立上りステップ信号(立上り波形)が伝送路を伝送されると、レシーバ素子での受信波形は、図2に示すように、立上り波形が鈍った状態になっている。
【0025】
図2に示すような回路において、ドライバ素子に対して、例えば10の繰り返し信号を入力パターンとして入力した場合、ドライバ素子から伝送路に入力される送信波形は、図3(A)に示すように周期的に変化する矩形波となる。図3(A)に示すような矩形波が伝送路を伝送されると、レシーバ素子での受信波形は、図4(A)に示すように、周期的に変化する正弦波となる。
【0026】
一方、図2に示すような回路において、ドライバ素子に対して、例えば二値信号110000010110を入力パターンとして入力した場合、ドライバ素子から伝送路に入力される送信波形は、図3(B)に示すように、入力信号の値1または0に応じた矩形波となる。図3(B)に示すような矩形波が伝送路を伝送されると、レシーバ素子での受信波形は、図4(B)に示すように、入力パターンに依存して大きく変化する。このとき、図3(B)および図4(B)に示すように、入力パターンにおいて、同じ値0(または1)のビットが連続した後に1ビットだけ他の値1(または0)に変化し再び元の値0(または1)に戻る場合に、符号間干渉が大きくなる。
【0027】
つまり、同じ値0または1のビットが連続すると、受信側での電圧レベル(DC(Direct Current)レベル)がLow側またはHigh側に変化する。反射が無い場合、電圧レベルが最もLow側またはHigh側に寄っている状態で波形が短いビット幅で変化すると、図4(B)の符号Pを付した部分に示すように、波形は、実際のビットの値に対応する電圧レベルまで到達することができず、マージンが小さく最も厳しい状態になる。したがって、入力パターンにおいて同じ値のビットが連続した後に1ビットだけ他の値に変化し再び元の値に戻る場合に、符号間干渉によるアイパターンの内側形状(アイ形状)のワーストケースが発生する。
【0028】
〔1−3〕伝送損失と反射と符号間干渉とが組み合わさった場合のアイパターンの内側形状のワーストケース
符号間干渉によるアイパターンの内側形状のワーストケースについて述べたが、実際の回路では、アイパターンの内側形状は、符号間干渉以外に、伝送損失の影響やインピーダンス不整合による多重反射の影響を受ける。このため、アイパターンの内側形状のワーストケースは、符号間干渉に加え伝送損失を考慮した状態での多重反射を含み、電圧レベルがHigh側に最も大きく(またはLow側に最も小さく)なった後にテストパターンのビット値が短く(1ビットだけ)変化した場合に発生する。また、反射は回路構成に依存して多重に発生するため、アイパターンの内側形状において反射を考慮するには様々なテストパターンでシミュレーションを行なう必要があり、反射のための解析処理に多大な時間を要している。
【0029】
〔1−4〕本実施形態におけるアイパターンの生成原理
判定対象波形のアイパターンの内側形状は、当該判定対象波形のワーストケースに対応している。以下の説明では、図5に示すように、アイパターンの内側形状の上側、つまり上側の波形を「アイの上側」と呼び、アイパターンの内側形状の下側、つまり下側の波形を「アイの下側」と呼ぶ。なお、図5は、アイパターンの内側(アイ)の形状を模式的に示す図である。また、図5において、横軸は時間、縦軸は電圧を示す。
【0030】
本実施形態では、対象回路についてのステップ応答解析を行なうことにより伝送損失を含んだ反射の影響を事前に調べ、調べた結果と予め規定されたアイパターン生成用テストパターンとに基づき、下記のような上側テストパターンおよび下側テストパターンが生成される。上側テストパターンは、アイの上側の形状を規定し、下側テストパターンは、アイの下側の形状を規定する。これらの上側/下側テストパターンは、伝送損失および反射の影響を考慮し、且つ、アイの上側/下側形状のワーストケースを発生させ、且つ、最も短いパターン長を有している。生成された上側および下側テストパターンをそれぞれ対象回路に入力した際の、当該対象回路からの出力波形がシミュレートされ、シミュレートされた上側および下側出力波形からそれぞれ上側および下側アイパターンが生成される。そして、生成された上側および下側アイパターンを合成してアイパターンが生成される。
【0031】
このように、本実施形態では、ステップ応答解析を行ない、その解析結果の波形形状を読み取ることで事前に伝送損失を含む多重反射が最も載る期間(タイミング)が調べられる。そして、調べたタイミングに基づき、アイパターンの内側形状のワーストケースを求めるための効率的な上側および下側テストパターンが生成される。つまり、アイの上側とアイの下側とが短時間でワーストケースとなる上側および下側テストパターンが生成される。これらのテストパターンに基づき回路シミュレーションを行なって上側および下側アイパターンが生成され、生成されたアイパターンが合成される。これにより、ワーストケースの内側形状を有するアイパターンが高速かつ高精度に生成される。
【0032】
〔1−5〕本実施形態におけるアイパターンの基本的な生成手順
上記項目〔1−1〕〜〔1−4〕で説明した事項に基づき、本実施形態では、基本的に下記手順(11)〜(17)に従ってアイパターンの生成が行なわれる。
(11) 入力パルスのテストパターンにおいて同じ値が最も長く連続する際の連続最長ビット数(図7,図10の符号D22参照)を取得する。取得した連続最長ビット数に1ビット分の時間を乗じた連続最長ビット時間(図7,図10,図17,図19の符号D31参照)を算出する。なお、1ビット分の時間は、回路動作条件として設定される。
【0033】
(12) 立上りステップ応答の解析および立下りステップ応答の解析を行なう(図7のステップS30および図10参照)。
(13) ステップ応答解析の結果に基づき大きな反射が有るか否かをチェックする(図7のステップS50および図13,図14参照)。反射が大きい場合、対象回路において高速伝送を行なうことはできず、まずは反射を抑える設計を行なう必要があるため、エラー表示を行なってユーザに通知する(図7のステップS52参照)。このように反射が大きい場合、アイパターン解析処理を行なう以前の問題であるため、アイパターン解析処理を行なわないようにすることで、無駄な解析処理を省略する。
【0034】
(14) 立下りステップ応答の解析結果に基づき、立下りステップ応答の波形が変化を開始してから、連続最長ビット時間内で電圧値がピークとなるまでの時間である立下りピーク時間幅を算出する。同様に、立上りステップ応答の解析結果に基づき、立上りステップ応答の波形が変化を開始してから、連続最長ビット時間内で電圧値がピークとなるまでの時間である立上りピーク時間幅を算出する(図15のステップS610/符号d64および図16のステップS710/符号d74参照)。
【0035】
(15) 立下りピーク時間幅と連続最長ビット時間との大小関係に基づき、以下のように上側テストパターンを生成する。
立下りピーク時間幅 < 連続最長ビット時間の場合、立下りピーク時間幅を使用して上側テストパターンを生成する(図15のステップS612および図18(A)参照)。
立下りピーク時間幅 ≧ 連続最長ビット時間の場合、連続最長ビット時間を使用して上側テストパターンを生成する(図15のステップS613および図20(A)参照)。
同様に、立上りピーク時間幅と連続最長ビット時間との大小関係に基づき、以下のように下側テストパターンを生成する。
立上りピーク時間幅 < 連続最長ビット時間の場合、立上りピーク時間幅を使用して下側テストパターンを生成する(図16のステップS712および図18(B)参照)。
立上りピーク時間幅 ≧ 連続最長ビット時間の場合、連続最長ビット時間を使用して下側テストパターンを生成する(図16のステップS713および図20(B)参照)。
【0036】
(16) 上側テストパターンおよび下側テストパターンについての応答波形(対象回路からの出力波形)をそれぞれ回路シミュレーションによって取得し、得られた上側出力波形および下側出力波形からそれぞれ上側アイパターンおよび下側アイパターンを作成する(図7のステップS61,S62,S71,S72参照)。
(17) 上側アイパターン(図22(A)参照)と下側アイパターン(図22(B)参照)とを合成し、対象回路についての一つのアイパターンを生成する(図23参照)。
【0037】
〔2〕本実施形態のアイパターン生成装置の構成
以下、上記項目〔1−1〕〜〔1−5〕で説明した事項に基づく、本実施形態のアイパターン生成装置について、図1〜図25を参照しながら説明する。
図1は、本実施形態のアイパターン生成装置1のハードウェア構成および機能構成を示すブロック図であり、本実施形態のアイパターン生成装置1は、回路シミュレータの一機能としてそなえられる。
【0038】
図1に示すアイパターン生成装置1は、一般的なパーソナルコンピュータ等の計算機から構成され、対象回路のアイパターンを、高速シリアル伝送の規格によって予め規定されたテストパターン(後述)に基づき、シミュレーションによって生成する。
アイパターン生成装置1は、CPU(Central Processing Unit)10,RAM(Randam Access Memory)20,ROM(Read Only Memory)30,外部記憶装置40,入出力デバイスコントローラ50,キーボード51,マウス52,ディスプレイ53,ネットワークアダプタ60およびバス70を有している。
【0039】
ここで、入出力デバイスコントローラ50は、マンマシンインタフェースとして機能する入出力デバイスとしてのキーボード51,マウス52およびディスプレイ53を制御する。キーボード51およびマウス52は、設計者によって操作され各種情報を本装置1に入力する。ディスプレイ53は、CPU10による処理結果等の各種情報を表示する。
また、ネットワークアダプタ60は、外部のネットワーク(図示略)と本装置1とを接続するインタフェースである。バス70は、CPU10,RAM20,ROM30,外部記憶装置40,入出力デバイスコントローラ50およびネットワークアダプタを相互に通信可能に接続する。
【0040】
CPU(処理部)10は、回路シミュレータプログラム(アイパターン生成プログラム)を実行することにより、後述する伝搬遅延時間算出部11,取得部12,ステップ応答解析部13,変化開始時刻判断部14,チェック部15,テストパターン生成部16,シミュレーション部17,アイパターン生成部18および合成部19としての機能を果たす。
RAM20,ROM30および外部記憶装置40は、本装置1の記憶部を成し、アイパターンの生成処理に係る各種情報を記憶する。外部記憶装置40としては、HDD(Hard Disk Drive),SSD(Solid State Drive)などが用いられる。
【0041】
上記記憶部には、CPU10によってアイパターンの生成処理を行なうために必要な各種情報、例えば、上述した回路シミュレータプログラム(アイパターン生成プログラム)や、後述する回路情報D11,回路動作条件D12,入力パルスのテストパターンD13,反射許容電圧D14が予め記憶される。また、上記記憶部には、CPU10によるアイパターンの生成処理中に生成される各種情報、例えば、後述する符号D21,D22,D31〜D33,D41〜D44,D51,D52,D61〜D63,D71〜D73,D81,d10,d20〜d23,d30,d40〜42,d50,d60〜d64,d70〜d74で示す各種情報が記憶される。
【0042】
上記記憶部に予め記憶される回路情報D11は、アイパターン作成対象の回路(対象回路)を構成する受動部品のモデルや、同回路を構成する伝送線路に関する情報(プリント板の配線情報)を含む。受動部品にはドライバ素子,レシーバ素子,抵抗等が含まれる。
ここで、図6は、回路情報D11を説明すべく対象回路の具体的な構成例を示す回路図である。この図6において、DV1は信号を駆動して伝送線路へ出力するドライバ素子、RV1は伝送線路から受けるレシーバ素子、R1はドライバ素子DV1とレシーバ素子RV1との間の伝送線路上における抵抗(例えば抵抗値=15Ω)である。また、図6において、SEG1はドライバ素子DV1と抵抗R1との間のプリント板の配線情報(例えば線長L1=10mm)、SEG2は抵抗R1とレシーバ素子RV1との間のプリント板の配線情報(例えば線長L2=1000mm)である。さらに、図6において、N1はドライバ素子DV1の出力端と配線SEG1の入力端との接続点ノード、N3は配線SEG1の出力端と抵抗R1の入力端との接続点ノード、N4は抵抗R1の出力端と配線SEG2の入力端との接続点ノード、N2は配線SEG2の出力端とレシーバ素子RV1の入力端との接続点ノードである。
【0043】
回路情報D11には、ドライバ素子DV1やレシーバ素子RV1のモデルが含まれ、そのモデルとしては、例えばSPICE(Simulation Program with Integrated Circuit Emphasis)モデルまたはIBIS(I/O Buffer Information Specification)モデルが割り付けられる。また、回路情報D11における配線情報SEG1,SEG2には、基板の断面構造に関する情報(例えば電源,GND層厚,絶縁層厚,レジスト厚,比誘電率,誘電正接,導体の位置,パターンの焼付け方向,導体の断面形状,導電率等)と、線長および線幅とが含まれる。
【0044】
上記記憶部に予め記憶される回路動作条件D12は、上記対象回路の動作する条件(どの素子がドライバとなり、どの素子がレシーバとなるか、ドライバの動作周波数は幾つか等の情報、波形の観測点)を定義する。例えば、図6に示すような回路についての回路動作条件D12は、ドライバ素子がDV1であり、ドライバ素子DV1によって駆動される信号の周波数が500MHz(ビット幅に換算すると1ビット幅は1ns)であり、レシーバ素子がRV1であり、観測点ノード(アイパターンを観測すべきノード)がN2であることを定義する。
【0045】
上記記憶部に予め記憶される、入力パルスのテストパターンD13は、上記対象回路のドライバ素子DV1への入力信号を0,1のビット列で表現したものである。高速シリアル伝送では、その規格によってテストパターンが予め規定されており、当該テストパターンを使用したテストでアイが規定値以上に開くことが求められている。USBについて規定されている512ビットのテストパターン(以下「USB用テストパターン」という)の例を以下に示す。
01010101010101010101010101010100001010001010101010101010101010101010101010101010101010101010101010101010101010101100110011001100110011001100110011001100110011001100110011001100111100001111000011110000111100001111000011110000111100001111000011111110000000111111100000001111111000000011111110000000111111100000001111111000000011111110000000111111100000001111111011111110111111101111111011111110111111101111111011111110100000001000000010000000100000001000000010000000100000001000000010000000100000001011100011000010
【0046】
ついで、CPU10が果たす機能、つまり伝搬遅延時間算出部11,取得部12,ステップ応答解析部13,変化開始時刻判断部14,チェック部15,テストパターン生成部16,シミュレーション部17,アイパターン生成部18および合成部19としての機能について説明する。
【0047】
伝搬遅延時間算出部11は、回路情報D11に基づいて伝搬遅延時間の計算値D21(図7,図8参照)を算出し記憶部に格納する。伝搬遅延時間は、ドライバ素子DV1の出力端N1に波形が出力されてから、受信端である観測点N2に当該波形が届くまでの時間である。ここで、伝搬遅延時間算出部11は、ドライバ素子DV1の出力端N1から観測点N2までの間において信号が通過する全ての要素について、信号が通過するのに必要な時間を遅延時間として求め、各要素の遅延時間の合計値を伝搬遅延時間の計算値D21として算出する。なお、実際の伝搬遅延時間は、レシーバ素子RV2の内部にある容量成分の影響を受けるため、伝搬遅延時間算出部11による伝搬遅延時間の計算値には微小な誤差が含まれている。
【0048】
取得部12は、テストパターンD13において同じ値が最も長く連続する際の連続最長ビット数D22(図7,図9参照)を取得し記憶部に格納する。つまり、取得部12は、テストパターンD13から、0または1が連続するビット数の最大値を連続最長ビット数D22として求める。ここで、基本的に、テストパターンD13は、上下対称に設定されるので、0が連続するビット数の最大値と1が連続するビット数の最大値とは同じになる。したがって、取得部12は、0または1のいずれか一方のみについて、連続最長ビット数を取得すればよい。ただし、0が連続するビット数の最大値と1が連続するビット数の最大値とが異なる場合、取得部12は、0についての連続最長ビット数と1についての連続最長ビット数とを別々に取得する。
【0049】
ステップ応答解析部13は、立上りステップ信号(立上り波形)を対象回路に入力した際の立上りステップ応答の解析、および、立下りステップ信号(立下り波形)を対象回路に入力した際の立下りステップ応答の解析をそれぞれ実行する。このとき、ステップ応答解析部13は、所定のステップ応答解析時間に亘って立上りステップ応答の解析および立下りステップ応答の解析を実行する。なお、ステップ応答解析部13による解析結果D32,D33(図7,図10参照)は、例えば図11(A)および図11(B)に示すようなテーブル形式で出力され、記憶部に格納される。また、上記所定のステップ応答解析時間は、アイパターンの生成に必要な最小限のデータを得るための時間、つまり最短の解析時間であり、以下のように算出される。
【0050】
[ステップ応答解析時間](図10の符号d30参照)
=[入力パルス(立上りステップ信号または立下りステップ信号)の入力遅延時間]
+[連続最長ビット時間]+[伝搬遅延時間]×[マージン係数(所定係数)]
ここで、入力パルスの入力遅延時間は、ステップ応答解析で入力する入力波形(立上り波形または立下り波形)の変化(0から1への変化または1から0への変化)が始まってから完了するまでの時間で、予め設定され、記憶部に格納されている。
【0051】
連続最長ビット時間は、取得部12によって得られた連続最長ビット数D22に、対象回路の回路動作条件D12で定義される動作周波数から算出される1ビット分の時間を乗算して得られる時間D31(図7,図10参照)である。
伝搬遅延時間は、伝搬遅延時間算出部11によって算出された、波形が対象回路の入力端N1から観測点N2に届くまでの時間の計算値D21である。
マージン係数(所定係数)は、伝搬遅延時間の計算値D21の計算誤差を見込むためのもので、システム固定の値である。マージン係数としては、1以上で1に近い値が採用される。
なお、立上りステップ信号を入力した際の立上りステップ応答波形および立下がりステップ信号を入力した際の立下がりステップ応答波形は、ステップ応答解析部13による解析の実行に先立ち、後述するシミュレーション部17によるシミュレーションによって取得される。
【0052】
変化開始時刻判断部14は、ステップ応答解析部13による立上りステップ応答解析結果D32および立下りステップ応答解析結果D33に基づき、立上りステップ応答波形の立上り変化開始時刻D41と、立下りステップ応答波形の立下り変化開始時刻D42と、立下りステップ応答波形のHigh時のDC電圧値D43と、立上りステップ応答波形のLow時のDC電圧値D44とを求め、記憶部に格納する(図7,図12参照)。
【0053】
立上りステップ応答波形のLow時のDC電圧値D44は、立上りステップ応答解析結果D32に基づき、ドライバ素子DR1が波形をLowからHighに立ち上げる前の波形から求められ、実際には、立上りステップ応答波形の時刻0の電圧値として求められる。
立下りステップ応答波形のHigh時のDC電圧値D43は、立下りステップ応答解析結果D33に基づき、ドライバ素子DR1が波形をHighからLowに立ち下げる前の波形から求められ、実際には、立下りステップ応答波形の時刻0の電圧値として求められる。
【0054】
立上りステップ応答波形の立上り変化開始時刻D41は、立上りステップ応答解析結果D32に基づき、観測点N2で立上りステップ応答波形が立ち上がり始める時刻として求められる。
立下りステップ応答波形の立下り変化開始時刻D42は、立下りステップ応答解析結果D33に基づき、観測点N2で立下りステップ応答波形が立ち下がり始める時刻として求められる。
【0055】
チェック部15は、ステップ応答解析部13による立上りステップ応答解析結果D32および立下りステップ応答解析結果D33と、変化開始時刻D41,D42と、DC電圧値D43,D44と、反射許容電圧D14とに基づき、対象回路における多重反射の量をチェックし、反射量チェック結果D51(図7,図13参照)を記憶部に格納する。チェック部15は、反射量が許容値を超えたと判断した場合、その旨を利用者に通知するとともに対象回路に対する処理を終了させる一方、反射量が前記許容値以下であると判断した場合、テストパターン生成部16による処理を実行させる。
【0056】
テストパターン生成部16は、連続長ビット時間D31(連続最長ビット数D22)と立下りステップ応答の解析結果D33と立下り変化開始時刻D42とに基づき、アイパターンのアイ内の上側形状を規定する上側テストパターンD61を生成し記憶部に格納する。また、テストパターン生成部16は、連続長ビット時間D31(連続最長ビット数D22)と立上りステップ応答の解析結果D32と立上り変化開始時刻D41とに基づき、アイパターンのアイ内の下側形状を規定する下側テストパターンD71を生成し記憶部に格納する。
【0057】
テストパターン生成部16が上側テストパターンD61を生成する詳細な手順については、図15および図17〜図20を参照しながら後述するが、基本的な手順は、以下の項目(21)〜(24)の通りである。
(21) 立下りステップ応答の解析結果D33に基づき、立下りステップ応答の立下り変化開始時刻D42から、連続最長ビット時間D31内で立下りステップ応答が最小値に到達するまでの立下りピーク時間幅d64(図15参照)を算出する。
(22) 立下りピーク時間幅d64と連続最長ビット時間D31(連続最長ビット数D22に1ビット分の時間を乗じた時間)とを比較する。
【0058】
(23) 立下りピーク時間幅d64が連続最長ビット時間D31よりも小さい場合、1ビット分の“1”の後に立下りピーク時間幅d64に応じた数の“0”が連続するパターン(一単位分のパターン)を2回繰り返したものを、上側テストパターンD61として生成する(図15,図18(A)参照)。
(24) 立下りピーク時間幅d64が連続最長ビット時間D31以上である場合、1ビット分の“1”の後に連続最長ビット時間D31に応じた数の“0”が連続するパターン(一単位分のパターン)を2回繰り返したものを、上側テストパターンD61として生成する(図15,図20(A)参照)。
【0059】
テストパターン生成部16が下側テストパターンD71を生成する詳細な手順については、図16〜図20を参照しながら後述するが、基本的な手順は、以下の項目(31)〜(34)の通りである。
(31) 立上りステップ応答の解析結果D32に基づき、立上りステップ応答の立上り変化開始時刻D41から、連続最長ビット時間D31内で立上りステップ応答が最大値に到達するまでの立上りピーク時間幅d74(図16参照)を算出する。
(32) 立上りピーク時間幅d74と連続最長ビット時間D31とを比較する。
【0060】
(33) 立上りピーク時間幅d74が連続最長ビット時間D31よりも小さい場合、1ビット分の“0”の後に立上りピーク時間幅d74に応じた数の“1”が連続するパターン(一単位分のパターン)を2回繰り返したものを、下側テストパターンD71として生成する(図16,図18(B)参照)。
(34) 立上りピーク時間幅d74が連続最長ビット時間D31以上である場合、1ビット分の“0”の後に連続最長ビット時間D31に応じた数の“1”が連続するパターン(一単位分のパターン)を2回繰り返したものを、下側テストパターンD71として生成する(図16,図20(B)参照)。
【0061】
シミュレーション部17は、上側テストパターンD61および下側テストパターンD71をそれぞれ対象回路に入力した際の、対象回路からの出力波形(観測点N2で観測される応答波形)をシミュレートする。得られた上側シミュレーション結果D62(図7,図21(A)参照)および下側シミュレーション結果D72(図7,図21(B)参照)は、記憶部に格納される。このとき、シミュレーション部17による解析時間は、アイパターンの生成に必要な最小限のデータを得るための時間、つまり最短の解析時間であり、以下のように算出される。
【0062】
[シミュレーション解析時間]
=[テストパターンの時間]+[伝搬遅延時間]×[マージン係数(所定係数)]
ここで、伝搬遅延時間およびマージン係数(所定係数)は、ステップ応答解析時間の算出時に用いられるものと同じものであるので、その説明は省略する。テストパターンの時間は、テストパターン生成部16によって生成されたテストパターンD61,D71のビット数に、対象回路の回路動作条件D12で定義される動作周波数から算出される1ビット分の時間を乗算して得られる時間である。
【0063】
アイパターン生成部18は、上側テストパターンD61および下側テストパターンD71についてシミュレートされた出力波形D62,D72から、それぞれ、上側アイパターンD63(図7,図22(A)参照)および下側アイパターンD73(図7,図22(B)参照)を生成する。生成された上側アイパターンD63および下側アイパターンD73は記憶部に格納される。
【0064】
合成部19は、上側アイパターンD63と下側アイパターンD73とを合成し、対象回路のアイパターンD81(図7,図23,図24参照)を生成し、生成したアイパターンD81を記憶部に格納する。
【0065】
〔3〕本実施形態のアイパターン生成装置の動作
次に、上述のごとく構成された本実施形態のアイパターン生成装置1の具体的な動作について、図7〜図25を参照しながら説明する。
〔3−1〕アイパターン生成手順
まず、図7に示すフローチャート(ステップS10〜S80)に従って、図1に示すアイパターン生成装置1によるアイパターン生成手順を説明する。なお、フローチャートにおいて、実線矢印は処理の流れを示し、破線矢印はデータの流れを示している。
【0066】
まず、伝搬遅延時間算出部11において、回路情報D11に基づき、伝搬遅延時間の計算値D21が算出され記憶部に格納される(ステップS10)。ステップS10での伝搬遅延時間D21の算出手順については、図8を参照しながら後述する。
また、取得部12において、テストパターンD13において同じ値が最も長く連続する際の連続最長ビット数D22が取得され記憶部に格納される(ステップS20)。ステップS20での連続最長ビット数D22の取得手順については、図9を参照しながら後述する。
【0067】
そして、ステップ応答解析部13において、ステップ応答解析時間(図10の符号d30参照)に亘って、立上りステップ応答の解析および立下りステップ応答の解析が実行される(ステップS30)。ステップ応答解析時間d30は、ステップ応答解析部13において上述した式に基づいて算出される。また、ステップ応答解析時間d30の算出に伴って、連続最長ビット時間D31は、連続最長ビット数D22に、対象回路の回路動作条件D12で定義される動作周波数から算出される1ビット分の時間を乗算することにより算出され、記憶部に格納される。さらに、ステップ応答解析部13による立上りステップ応答の解析結果D32および立下りステップ応答の解析結果D33も記憶部に格納される。ステップS30での解析手順およびその解析結果については、図10,図11(A)および図11(B)を参照しながら後述する。
【0068】
ステップ応答の解析結果が得られると、変化開始時刻判断部14において、記憶部から立上りステップ応答の解析結果D32および立下りステップ応答の解析結果D33が読み込まれる。そして、変化開始時刻判断部14において、読み込まれた解析結果D32,D33に基づき、立上り変化開始時刻D41と、立下り変化開始時刻D42と、High時のDC電圧値D43と、Low時のDC電圧値D44とが求められ、記憶部に格納される(ステップS40)。ステップS40での判断手順については図12を参照しながら後述する。
【0069】
この後、チェック部15において、ステップ応答の解析結果D32,D33と変化開始時刻D41,D42とDC電圧値D43,D44と反射許容電圧D14とに基づき、対象回路における多重反射の量がチェックされ、そのチェック結果(OK/NG)D51が記憶部に格納される(ステップS50)。チェック部15において、反射量が許容値を超えたと判断された場合つまりチェック結果D51がNGである場合(ステップS51のNGルート)、ディスプレイ53を通じ「高速伝送不可」である旨が表示され利用者に通知され(ステップS52)、対象回路に対する処理が終了される。一方、反射量が前記許容値以下であると判断した場合つまりチェック結果D51がOKである場合(ステップS51のOKルート)、次の処理(ステップS60,S70)が実行される。ステップS50での反射量チェック手順については、図13および図14を参照しながら後述する。
【0070】
チェック結果D51がOKである場合、テストパターン生成部16において、連続長ビット時間D31と立下りステップ応答の解析結果D33と立下り変化開始時刻D42とに基づき、アイパターンのアイ内の上側形状を規定する上側テストパターンD61が生成され記憶部に格納される(ステップS60)。ステップS60での上側テストパターンD61の生成手順については、図15および図17〜図20を参照しながら後述する。
【0071】
また、チェック結果D51がOKである場合、テストパターン生成部16において、連続長ビット時間D31と立上りステップ応答の解析結果D32と立上り変化開始時刻D41とに基づき、アイパターンのアイ内の下側形状を規定する下側テストパターンD71が生成され記憶部に格納される(ステップS70)。ステップS70での下側テストパターンD71の生成手順については、図16〜図20を参照しながら後述する。
【0072】
上側テストパターンD61および下側テストパターンD71が生成されると、シミュレーション部17において、上側テストパターンD61および下側テストパターンD71をそれぞれ対象回路に入力した際の、対象回路からの出力波形(観測点N2で観測される応答波形)がシミュレートされる。得られた上側シミュレーション結果(出力波形)D62および下側シミュレーション結果(出力波形)D72は、記憶部に格納される(ステップS61,S71)。シミュレーション部17の動作については、図21(A)および図21(B)を参照しながら後述する。
【0073】
出力波形D62およびD72が得られると、アイパターン生成部18において、出力波形D62,D72から、それぞれ、上側アイパターンD63および下側アイパターンD73が生成され記憶部に格納される(ステップS62,S72)。アイパターン生成部18の動作については、図22(A)および図22(B)を参照しながら後述する。
【0074】
そして、合成部19において、上側アイパターンD63と下側アイパターンD73とを合成することにより対象回路のアイパターンD81が生成され記憶部に格納される(ステップS80)。合成部19の動作については、図23〜図25を参照しながら後述する。
なお、図7において、ステップS60〜S62の処理とステップS70〜S72の処理とは、並列的に実行されているが、直列的に実行されてもよい。
【0075】
〔3−2〕伝搬遅延時間算出部による算出手順
図8に示すフローチャート(ステップS101〜S104)に従って、伝搬遅延時間算出部11による伝搬遅延時間D21の算出手順(図7のステップS10での詳細な処理)について説明する。
まず、伝搬遅延時間算出部11は、記憶部の回路情報D11を参照し、ドライバから観測点に繋がるパスが存在するか否かを判断する(ステップS101)。そのようなパスが存在しない場合(ステップS101のNOルート)、アイパターンを生成すべき対象回路が存在しないため、伝搬遅延時間算出部11は処理を終了する。
【0076】
パスが存在する場合(ステップS101のYESルート)、伝搬遅延時間算出部11は、ドライバから観測点までの経路上に存在する要素を抽出し、記憶部に処理対象要素d10として格納する(ステップS102)。この後、伝搬遅延時間算出部11は、記憶部における伝送遅延時間の計算値D21を格納する領域を“0”に初期化してから(ステップS103)、抽出された全ての処理対象要素d10の遅延時間を算出して加算し、伝送遅延時間の計算値D21として記憶部に格納する(ステップS104)。
【0077】
例えば、図6に示すように、ドライバ素子DR1から観測点ノードN2に繋がるパスが存在する場合、回路情報D11から、ドライバ素子DR1から観測点ノードN2までの経路上に存在する要素d10として、SEG1およびSEG2の配線情報が抽出される。また、配線の単位長さ当たりの伝搬遅延時間は、基板の断面構造から求められ、その値を6ns(ナノ秒)/mとすると、
SEG1の伝搬遅延時間=10mm×6ns/m=60ps(ピコ秒)
SEG2の伝搬遅延時間=1000mm×6ns/m=6000ps
となる。したがって、ドライバ素子DV1の出力端N1に波形が出力されてから、受信端である観測点N2に当該波形が届くまでの伝搬遅延時間D21は、SEG1の伝搬遅延時間とSEG2の伝搬遅延時間との和、つまり60+6000=6060ps=6.06nsとなる。
【0078】
〔3−3〕取得部による連続最長ビット数の取得手順
図9に示すフローチャート(ステップS201〜S211)に従って、取得部12による連続最長ビット数の取得手順(図7のステップS20での詳細な処理)について説明する。
まず、取得部12は、入力パルスのテストパターンD31の先頭ビットの値を、記憶部におけるバッファ1にコピーする(ステップS201;図9の符号d21参照)。また、取得部12は、処理対象ビット番号として“2”を記憶部に格納する(ステップS202;図9の符号d20参照)。
【0079】
ついで、取得部12は、バッファ1の値d21を、記憶部におけるバッファ2にコピーする(ステップS203;図9の符号d22参照)。また、取得部12は、テストパターンD13において、処理対象ビット番号d20により指定されるビットの値を読み出し、読み出した値をバッファ1に格納することによりバッファ1の値d21を書き換える(ステップS204)。
【0080】
この後、取得部12は、バッファ1の値d21とバッファ2の値d22とが等しいか否かを判定する(ステップS205)。バッファ1の値d21とバッファ2の値d22とが等しい場合(ステップS205のYESルート)、取得部12は、記憶部における着目連続最長ビット数d23に1を加算してから(ステップS206)、ステップS208の処理へ移行する。なお、着目連続最長ビット数d23には、初期値として“1”が設定される。一方、バッファ1の値d21とバッファ2の値d22とが等しくない場合(ステップS205のNOルート)、取得部12は、着目連続最長ビット数d23を“1”にリセットしてから(ステップS207)、ステップS208の処理へ移行する。
【0081】
そして、取得部12は、着目連続最長ビット数d23が記憶部における連続最長ビット数D22よりも大きいか否かを判定する(ステップS208)。なお、連続最長ビット数D22には、初期値として“1”が設定される。着目連続最長ビット数d23が連続最長ビット数D22よりも大きい場合(ステップS208のYESルート)、取得部12は、着目連続最長ビット数d23を連続最長ビット数D22にコピーする(ステップS204)。これにより、連続最長ビット数D22の値が、着目連続最長ビット数d23の値に書き換えられる。この後、取得部12は、ステップS210の処理へ移行する。一方、着目連続最長ビット数d23が連続最長ビット数D22以下である場合(ステップS208のNOルート)、取得部12は、ステップS210の処理へ移行する。
【0082】
ステップS210において、取得部12は、処理対象ビット番号d20と入力パルスのテストパターンD13のビット数とが等しいか否かを判定する。処理対象ビット番号d20と入力パルスのテストパターンD13のビット数とが等しくない場合(ステップS210のNOルート)、取得部12は、処理対象ビット番号d20の値に1を加算し(ステップS211)、ステップS203の処理に戻る。一方、処理対象ビット番号d20と入力パルスのテストパターンD13のビット数とが等しい場合(ステップS210のYESルート)、取得部12は、処理を終了する。
【0083】
取得部12が図9に示すフローチャートに従った処理を実行することにより、処理の終了時に、連続最長ビット数D22には、テストパターンD13において同じ値が最も長く連続する際の連続最長ビット数が格納される。
例えば、上記USB用テストパターンでは、“0”は最大7個連続し“1”も最大7個連続している。このようなテストパターンに対し図9に示すフローチャートに従った処理を実行することにより、連続最長ビット数D22として“7”が取得される。
【0084】
〔3−4〕ステップ応答解析部による解析手順
図10に示すフローチャート(ステップS301〜S304)に従って、ステップ応答解析部13による解析手順(図7のステップS30での詳細な処理)について説明する。
まず、ステップ応答解析部13は、連続最長ビット数D22に、回路動作条件D12で定義される動作周波数から算出される1ビット分の時間を乗算することにより、連続最長ビット時間D31を算出する(ステップS301)。連続最長ビット時間D31は、同じ値が最も長く維持される時間である。
【0085】
ついで、ステップ応答解析部13は、上述したように、ステップ応答解析時間d30を[入力パルスの入力遅延時間]+[連続最長ビット時間D31]+[伝搬遅延時間の計算値D21]×[マージン係数]として算出する(ステップS302)。そして、ステップ応答解析部13は、ステップ応答解析時間d30に亘って、立上りステップ信号(立上り波形)を対象回路に入力した際の立上りステップ応答の解析を実行し、解析結果D32を取得する(ステップS303)。また、ステップ応答解析部13は、ステップ応答解析時間d30に亘って、立下りステップ信号(立下り波形)を対象回路に入力した際の立下りステップ応答の解析を実行し、解析結果D33を取得する(ステップS304)。ステップS303,S304は、図10に示すように、並列的に実行されてもよい、直列的に実行されてもよい。
【0086】
ここで、対象回路が図6に示す回路であり、テストパターンD13が、上記USB用テストパターンである場合のステップ応答解析について、具体的に説明する。
この場合、動作周波数は500MHzであり、1ビット幅の時間は1/(2×動作周波数)=1nsとなる。また、連続最長ビット数D22は7であり、伝搬遅延時間の計算値D21は6.06nsである。そして、マージン係数(所定係数)を1.01とすると、ステップS301,S302で算出されるステップ応答解析時間d30は、以下の通りである。
[ステップ応答解析時間d30]
=[入力パルスの入力遅延時間]+[連続最長ビット時間D31]
+[伝搬遅延時間の計算値D21]×[マージン係数(所定係数)]
=1ns+7×1ns+6.06ns×1.01
=14.1206ns
【0087】
そして、ステップS303,S304では、回路情報D11のドライバ素子DR1にステップ波形を入力した際のステップ応答解析が実行され、観測点ノードN2での受信波形(応答波形)がシミュレートされる。ステップ応答解析は、立上りステップ波形と立下りステップ波形との両方について実行され、立上りについての解析結果D32および立下りについての解析結果D33が得られる。
【0088】
このとき、立上りステップ応答解析の解析条件は、以下の通りである。
・入力信号(ステップ波形): “0”が入力パルスの遅延時間(1ns)だけ連続した後に“1”が連続するパルス
・解析時間: ステップ応答解析時間d30(14.1206ns)
・観測点ノードN2での応答波形を立上りステップ応答解析結果D32として記憶部に格納
【0089】
また、立下りステップ応答解析の解析条件は、以下の通りである。
・入力信号(ステップ波形): “1”が入力パルスの遅延時間(1ns)だけ連続した後に“0”が連続するパルス
・解析時間: ステップ応答解析時間d30(14.1206ns)
・観測点ノードN2での応答波形を立下りステップ応答解析結果D33として記憶部に格納
【0090】
上述のような解析条件の下で得られた立上りステップ応答解析結果D32の具体例を図11(A)および図11(B)に示す。
立上りステップ応答解析結果D32には、図11(A)に示すような解析対象の定義情報と、図11(A)の定義情報によって特定される解析対象についての、図11(B)に示すような解析結果(観測点ノードN2での応答波形)とが含まれている。
【0091】
図11(A)に示すように、解析対象を特定する定義情報には、ドライバ名とレシーバ名とUp/Down種別と観測点ノード名とが含まれている。なお、Up/Down種別は、当該解析対象が立上りおよび立下りのいずれの解析であるかを示す情報である。例えば図6に示す回路についての立上りステップ応答解析結果D32の定義情報には、図11(A)に示すように、ドライバ名“DV1”と、レシーバ名“RV1”と、Up/Down種別“Up”と、観測点ノード名“RV1_PIN(N2)”とが含まれる。
【0092】
また、図11(B)に示す解析結果においては、観測点ノードN2での応答波形が、時間0から10ps毎に観測点ノードN2で観測されうる電圧値[単位:V]として得られている。例えば図11(B)では、時間0ps,10ps,20ps,30ps,300ps,310ps,1000psの時に、それぞれ電圧値0V,0V,0V,0V,1.5V,1.6V,3.3Vが観測点ノードN2での応答波形として現われることが示されている。
【0093】
このように、立上りステップ応答解析結果D32は、図11(A)および図11(B)に示すようなテーブル形式で出力され、記憶部に格納される。また、立下りステップ応答解析結果D33も、図11(A)および図11(B)と同様のテーブル形式で出力され、記憶部に格納される。
なお、前述したように、立上りステップ信号を入力した際の立上りステップ応答波形および立下がりステップ信号を入力した際の立下がりステップ応答波形は、ステップ応答解析部13による解析の実行に先立ち、シミュレーション部17によるシミュレーションによって取得されている。
【0094】
〔3−5〕変化開始時刻判断部による判断手順
図12に示すフローチャート(ステップS401〜S413)に従って、変化開始時刻判断部14による判断手順(図7のステップS40での詳細な処理)について説明する。
変化開始時刻判断部14は、記憶部から立上りステップ応答の解析結果D32または立下りステップ応答の解析結果D33を読み込み、まず、時刻0における電圧値d40を取得し、記憶部に格納する(ステップS401)。変化開始時刻判断部14は、現在の処理対象が立上り解析結果であるか否かを判定する(ステップS402)。
【0095】
現在の処理対象が立上り解析結果である場合(ステップS402のYESルート)、変化開始時刻判断部14は、立上りステップ応答波形(解析結果D32)の時刻0の電圧値d40を、Low時のDC電圧値D44として記憶部に格納する(ステップS403)。そして、変化開始時刻判断部14は、Low時のDC電圧値D44と、予め設定されたマージン電圧値とを加算した値を、起点チェック電圧値d41として算出し、記憶部に格納する(ステップS404)。
【0096】
現在の処理対象が立上り解析結果でない、つまり立下り解析結果である場合(ステップS402のNOルート)、変化開始時刻判断部14は、立下りステップ応答波形(解析結果D33)の時刻0の電圧値d40を、High時のDC電圧値D43として記憶部に格納する(ステップS405)。そして、変化開始時刻判断部14は、High時のDC電圧値D43から、予め設定されたマージン電圧値を減算した値を、起点チェック電圧値d41として算出し、記憶部に格納する(ステップS406)。
【0097】
起点チェック電圧値d41が算出されると、変化開始時刻判断部14は、着目データの電圧値を、立上りステップ応答の解析結果D32または立下りステップ応答の解析結果D33から取得し、電圧値d42として記憶部に格納する(ステップS407)。ここで、最初は、解析結果D32,D33における時間10psの電圧値が、着目データの電圧値d42として抽出され、2回目以降は、解析結果D32,D33における10psだけ進めた時間の電圧値が、着目データの電圧値d42として抽出される。
【0098】
着目データの電圧値d42が抽出されると、変化開始時刻判断部14は、現在の処理対象が立上り解析結果であるか否かを、再度、判定する(ステップS408)。現在の処理対象が立上り解析結果である場合(ステップS408のYESルート)、変化開始時刻判断部14は、着目データの電圧値d42が起点チェック電圧値d41よりも大きいか否かを判定する(ステップS409)。着目データの電圧値d42が起点チェック電圧値d41よりも大きい場合(ステップS409のYESルート)、変化開始時刻判断部14は、着目データの時刻、つまり解析結果D32において着目データの電圧値d42が得られた時の時間を、立上り変化開始時刻D41として記憶部に格納する(ステップS410)。着目データの電圧値d42が起点チェック電圧値d41以下である場合(ステップS409のNOルート)、変化開始時刻判断部14は、ステップS412の処理へ移行する。
【0099】
現在の処理対象が立上り解析結果でない、つまり立下り解析結果である場合(ステップS408のNOルート)、変化開始時刻判断部14は、着目データの電圧値d42が起点チェック電圧値d41よりも小さいか否かを判定する(ステップS411)。着目データの電圧値d42が起点チェック電圧値d41よりも小さい場合(ステップS411のYESルート)、変化開始時刻判断部14は、着目データの時刻、つまり解析結果D33において着目データの電圧値d42が得られた時の時間を、立下り変化開始時刻D42として記憶部に格納する(ステップS410)。着目データの電圧値d42が起点チェック電圧値d41以上である場合(ステップS411のNOルート)、変化開始時刻判断部14は、ステップS412の処理へ移行する。
【0100】
ステップS412において、変化開始時刻判断部14は、着目データのデータ番号と解析結果D32またはD33のデータ数とが等しいか否かを判定する。着目データのデータ番号と解析結果D32またはD33のデータ数とが等しくない場合(ステップS412のNOルート)、変化開始時刻判断部14は、着目データをデータ番号順に一つ進め(ステップS413)、ステップS407の処理に戻る。一方、着目データのデータ番号と解析結果D32またはD33のデータ数とが等しい場合(ステップS412のYESルート)、変化開始時刻判断部14は、処理を終了する。
【0101】
上述のようにして、ステップ応答の解析結果D32,D33に基づき、High時のDC電圧値D43とLow時のDC電圧値D44とが取得される。また、ステップ応答の解析結果D32とLow時のDC電圧値D44とマージン電圧値とに基づき、観測点N2で立上りステップ応答波形が立ち上がり始める立上り変化開始時刻D41が取得される。さらに、ステップ応答の解析結果D33とHigh時のDC電圧値D43とマージン電圧値とに基づき、観測点N2で立下りステップ応答波形が立ち下がり始める立下り変化開始時刻D42が取得される。
【0102】
〔3−6〕チェック部による反射量チェック手順
図13に示すフローチャート(ステップS501〜S512)に従って、図14を参照しながら、チェック部15による反射量チェック手順(図7のステップS50での詳細な処理)について説明する。なお、図14は、チェック部15による反射量チェック手順を説明するための波形図である。
【0103】
まず、チェック部15は、初期化処理として、記憶部における反射量チェック結果D51に“OK”にセットする処理を行なう(ステップS501)。また、チェック部15は、記憶部における反射量チェック開始時刻d50に、立上り変化開始時時刻D41または立下り変化開始時刻D42を格納する(ステップS502)。このとき、立上りステップ応答解析結果D32を処理対象とする場合、立上り変化開始時時刻D41が反射量チェック開始時刻d50に格納される一方、立下りステップ応答解析結果D33を処理対象とする場合、立下り変化開始時時刻D42が反射量チェック開始時刻d50に設定される。
【0104】
反射量チェック開始時刻d50に時刻D41またはD42を格納すると、チェック部15は、解析結果D32またはD33における時刻0のデータを処理対象データとして抽出し(ステップS503)、処理対象データが存在するか否かを判定する(ステップS504)。処理対象データが存在しない場合(ステップS504のNOルート)、チェック部15は処理を終了する。
【0105】
処理対象データが存在する場合(ステップS504のYESルート)、チェック部15は、処理対象データの時刻が反射量チェック開始時刻d50を超えているか否かを判定する(ステップS505)。処理対象データの時刻が反射量チェック開始時刻d50を超えている場合(ステップS505のYESルート)、チェック部15は、現在の処理対象が立上り解析結果であるか否かを判定する(ステップS506)。
【0106】
現在の処理対象が立上り解析結果である場合(ステップS506のYESルート)、チェック部15は、処理対象データの時刻が、応答波形D32が立ち上がってから最初にHigh時のDC電圧値D43を超えた時刻t51(図14参照)以降であるか否かを判定する(ステップS507)。処理対象データの時刻が時刻t51以降である場合(ステップS507のYESルート)、チェック部15は、処理対象データの電圧値が、High時のDC電圧値D43から、予め設定された反射量許容電圧値D14を減算したレベルL1(図14参照)を下回っているか否かを判定する(ステップS508)。処理対象データの電圧値がレベルL1を下回った場合(ステップS508のYESルート;図14の符号X1で示す領域参照)、チェック部15は、反射量チェック結果D51を“OK”から“NG”にセットし(ステップS509)、処理を終了する。
【0107】
現在の処理対象が立上り解析結果でない、つまり立下り解析結果である場合(ステップS506のNOルート)、チェック部15は、処理対象データの時刻が、応答波形D33が立ち下がってから最初にLow時のDC電圧値D44を下回った時刻t52(図14参照)以降であるか否かを判定する(ステップS510)。処理対象データの時刻が時刻t52以降である場合(ステップS510のYESルート)、チェック部15は、処理対象データの電圧値が、Low時のDC電圧値D44に、予め設定された反射量許容電圧値D14を加算したレベルL2(図14参照)を超えているか否かを判定する(ステップS511)。処理対象データの電圧値がレベルL2を超えた場合(ステップS511のYESルート;図14の符号X2で示す領域参照)、チェック部15は、反射量チェック結果D51を“OK”から“NG”にセットし(ステップS509)、処理を終了する。
【0108】
一方、処理対象データの時刻が反射量チェック開始時刻d50以前の場合(ステップS505のNOルート)、または、処理対象データの時刻が時刻t51の前である場合(ステップS507のNOルート)、または、処理対象データの電圧値がレベルL1以上の場合(ステップS508のNOルート)、または、処理対象データの時刻が時刻t52の前である場合(ステップS510のNOルート)、または、処理対象データの電圧値がレベルL2以下の場合(ステップS511のNOルート)、チェック部15は、解析結果D32またはD33において現在の処理対象データの次のデータを処理対象データとして抽出し(ステップS512)、ステップS504の処理に移行する。なお、解析結果D32またはD33が例えば図11(B)に対応するものである場合、次のデータは、時間を10psだけ進めた時のデータである。
【0109】
チェック部15が、ステップS509の処理を実行することなく解析結果D32,D33における全ての処理対象データに対する処理を完了してステップS504でNO判定となった場合、反射量チェック結果D51は最終的に“OK”となる。
これに対し、応答波形D32が立ち上がってから最初にHigh時のDC電圧値D43を超えた時刻t51(図14参照)以降に、応答波形D32がレベルL1(=[High時のDC電圧値D43]−[反射量許容電圧値D14])を下回った場合(図14の領域X1参照)、反射量が大きく許容値を超えていると判断され、反射量チェック結果D51は“NG”となる。
【0110】
同様に、応答波形D32が立ち上がってから最初にLow時のDC電圧値D44を下回った時刻t52(図14参照)以降に、応答波形D33が、レベルL2(=[Low時のDC電圧値D44]+[反射量許容電圧値D14])を超えた場合(図14の領域X2参照)、反射量が大きく許容値を超えていると判断され、反射量チェック結果D51は“NG”となる。
【0111】
反射量チェック結果D51がNGである場合、チェック部15は、「高速伝送不可」である旨が表示され利用者に通知され(図7のステップS52)、対象回路に対する処理が終了される。一方、反射量チェック結果D51がOKである場合、アイパターン生成装置1は、テストパターン生成部16による次の処理(ステップS60,S70;図15,図16参照)を実行する。
【0112】
上述のようにして、ステップ応答の解析結果(応答波形)D32,D33に基づき大きな反射が有るか否かがチェックされる。反射が多い場合、対象回路において高速伝送を行なうことはできず、まずは反射を抑えるための設計変更を行なう必要があるため、その旨が、ディスプレイ53を通じユーザに通知される。また、反射が多いと判断した場合、それ以降の処理を行なわないようにすることで、無駄な解析処理を実行することが抑止される。
【0113】
〔3−7〕アイの上側/下側テストパターンの生成手順
〔3−7−1〕アイの上側テストパターンの生成手順
図15に示すフローチャート(ステップS601〜S613)に従って、テストパターン生成部16による、アイの上側テストパターンD61の生成手順(図7のステップS60での詳細な処理)について説明する。アイの上側テストパターンD61は、アイパターンのアイ内の上側形状を規定するもので(図5参照)、アイの上側を短時間で求めるためのテストパターンである。
【0114】
なお、以下の説明では図17,図18(A),図19および図20(A)を参照する。図17および図19は、テストパターン生成部16による、アイの上側テストパターンD61の生成手順を説明するための波形図である。図18(A)および図20(A)は、それぞれ、図17および図19の波形図に対応する状態で生成される上側テストパターンD61を示す図である。なお、図17および図19では、解析時間のマージンを大きくしてステップ応答波形を分かりやすく示しているが、実際の解析時間は、連続最長ビット時間D31の直後までである。
【0115】
まず、テストパターン生成部16は、立下りステップ応答解析結果D33から、着目データの時刻を取得し、時刻d60として記憶部に格納する(ステップS601)。処理開始時における着目データの時刻は0である。立下りステップ応答解析結果D33が例えば図11(B)に対応するものである場合、後述するステップS609の処理で着目データを一つ進める都度、ステップS601において、着目データの時刻d60はデータ番号順に10psずつ進むことになる。
【0116】
着目データの時刻d60を取得すると、テストパターン生成部16は、着目データの時刻d60が立下り変化開始時刻D42を超えたか否かを判定する(ステップS602)。着目データの時刻d60が立下り変化開始時刻D42以前の場合(ステップS602のNOルート)、テストパターン生成部16は、着目データをデータ番号順に一つ進め(ステップS609)、ステップS601の処理へ移行する。着目データの時刻d60が立下り変化開始時刻D42を超えた場合(ステップS602のYESルート)、テストパターン生成部16は、着目データの時刻d60が立下り変化開始開始時刻D42に連続最長ビット時間D31を加算した時刻T1(図17,図19参照)に達したか否かを判定する(ステップS603;図17,図19参照)。
【0117】
着目データの時刻d60が時刻T1以前の場合(ステップS603のYESルート)、テストパターン生成部16は、立下りステップ応答解析結果D33から、現在の着目データの電圧値を取得し、電圧値d61として記憶部に格納する(ステップS604)。着目データの電圧値d61を取得すると、テストパターン生成部16は、着目データの電圧値d61が最小電圧値d62よりも小さいか否かを判定する(ステップS605)。なお、最小電圧値d62は、記憶部に設定される値で、最小電圧値d62の初期値としては∞が設定される。
【0118】
着目データの電圧値d61が最小電圧値d62よりも小さい場合(ステップS605のYESルート)、テストパターン生成部16は、最小電圧値d62に、現在の着目データの電圧値d61をセットするとともに(ステップS606)、記憶部の立下りピーク時間d63に、現在の着目データの時刻d60をセットする(ステップS607)。着目データの時刻d60を立下りピーク時間d63にセットした後、もしくは、着目データの電圧値d61が最小電圧値d62以上の場合(ステップS605のNOルート)、テストパターン生成部16は、着目データのデータ番号と解析結果D33のデータ数とが等しいか否かを判定する(ステップS608)。
【0119】
着目データのデータ番号と解析結果D33のデータ数とが等しくない場合(ステップS608のNOルート)、テストパターン生成部16は、着目データをデータ番号順に一つ進め(ステップS609)、ステップS601の処理へ移行する。着目データのデータ番号と解析結果D33のデータ数とが等しい場合(ステップS608のYESルート)、テストパターン生成部16は、記憶部の立下りピーク時間幅d64に、[立下りピーク時間d63]−[立下り変化開始時刻D42]をセットする(ステップS610)。このときセットされる立下りピーク時間幅d64は、立下りステップ応答の波形が変化を開始してから電圧値がピークとなるまでの時間Tpkdnであり、[立下りピーク時間幅d64]<[連続最長ビット時間D31]である(図17参照)。
【0120】
なお、応答波形D33が最小電圧値(ピーク)に到達する前に、ステップS603において着目データの時刻d60が時刻T1(=[立下り変化開始開始時刻D42]+[連続最長ビット時間D31])に達したと判定された場合(NOルート;図19参照)、テストパターン生成部16は、立下りピーク時間幅d64に、[立下りピーク時間d63]−[立下り変化開始時刻D42]をセットする(ステップS610)。ただし、このときの[立下りピーク時間d63]は上記時刻T1(=[立下り変化開始開始時刻D42]+[連続最長ビット時間D31])に一致もしくはほぼ一致している。このため、ステップS610でセットされる立下りピーク時間幅d64は、[時刻T1]−[立下り変化開始時刻D42]となり、連続最長ビット時間D31に一致もしくはほぼ一致する。つまり、立下りピーク時間幅d64は、連続最長ビット時間D31となり、[上記時間Tpkdn]≧[立下りピーク時間幅d64]≧[連続最長ビット時間D31]である(図19参照)。
【0121】
立下りピーク時間幅d64が設定されると、テストパターン生成部16は、立下りピーク時間幅d64が連続最長ビット時間D31よりも小さいか否かを判定する(ステップS611)。立下りピーク時間幅d64が連続最長ビット時間D31よりも小さい場合(ステップS611のYESルート;図17参照)、テストパターン生成部16は、立下りピーク時間幅d64(=Tpkdn)を使用して、以下のような上側テストパターンD61を生成し(ステップS612)、処理を終了する。
【0122】
つまり、テストパターン生成部16は、1ビット分の“1”の後に立下りピーク時間幅Tpkdnに応じた数の“0”が連続するパターン(一単位分のパターン)を2回繰り返したものを、上側テストパターンD61として生成する。これにより、上側テストパターンD61として「1ビット時間分の“1”,Tpkdn時間分の“0”,1ビット時間分の“1”,Tpkdn時間分の“0”」が生成される。例えばTpkdn=14nsであり1ビット幅の時間が1nsである場合、図18(A)に示すような上側テストパターンD61=「1ns(1ビット)の“1”,14ns(14ビット)の“0”,1ns(1ビット)の“1”,14ns(14ビット)の“0”」=「100000000000000100000000000000」が生成される。
【0123】
図18(A)に示す上側テストパターンD61において一単位分のパターン「1ビット時間分の“1”,Tpkdn時間分の“0”」を2回繰り返しているのは、図4(B)に符号Pで示す部分のごとくアイの上側のワーストケースを発生させる立上りパルスP11を含む上側テストパターンD61を生成するためである。このとき、Tpkdn時間分の“0”の後に1ビット分の立上りパルスP11を生成することにより、波形の電圧レベルが最もLow側に寄っている状態で波形が短いビット幅で変化することになる。したがって、図18(A)に示す上側テストパターンD61によって、符号間干渉によるアイの上側のワーストケースが発生すると考えられ、ワーストケースのアイの上側を短時間で求めるための上側テストパターンD61が得られる。
【0124】
立下りピーク時間幅d64が連続最長ビット時間D31以上の場合(ステップS611のNOルート;図19参照)、テストパターン生成部16は、連続最長ビット時間D31を使用して、以下のような上側テストパターンD61を生成し(ステップS613)、処理を終了する。
【0125】
つまり、テストパターン生成部16は、1ビット分の“1”の後に連続最長ビット時間D31に応じた数の“0”が連続するパターン(一単位分のパターン)を2回繰り返したものを、上側テストパターンD61として生成する。これにより、上側テストパターンD61として「1ビット時間分の“1”,連続最長ビット時間分の“0”,1ビット時間分の“1”,連続最長ビット時間分の“0”」が生成される。例えば、上記USB用テストパターンの場合、連続最長ビット時間D31=7ns(連続最長ビット数D22=7)であり1ビット幅の時間が1nsであり、図20(A)に示すような上側テストパターンD61=「1ns(1ビット)の“1”,7ns(7ビット)の“0”,1ns(1ビット)の“1”,7ns(7ビット)の“0”」=「1000000010000000」が生成される。
【0126】
図20(A)に示す上側テストパターンD61において一単位分のパターン「1ビット時間分の“1”,連続最長ビット時間分の“0”」を2回繰り返しているのは、図18(A)に示す例と同様、図4(B)に符号Pで示す部分のごとくアイの上側のワーストケースを発生させる立上りパルスP12を含む上側テストパターンD61を生成するためである。このとき、[上記時間Tpkdn]≧[連続最長ビット時間D31]である。このため、上記USB用テストパターンを対象回路に入力した際の応答波形の電圧最小値は、立下りステップ応答波形D33の最小値まで到達せず、図19に示す時刻T1(=[立下り変化開始開始時刻D42]+[連続最長ビット時間D31])の時点における電圧値となる。つまり、時刻T1以降の立下りステップ応答波形D33を考慮する必要がない。このとき、連続最長ビット時間分(7ビット分)の“0”の後に1ビット分の立上りパルスP12を生成することにより、波形の電圧レベルが最もLow側に寄っている状態で波形が短いビット幅で変化することになる。したがって、図20(A)に示す上側テストパターンD61によって、符号間干渉によるアイの上側のワーストケースが発生すると考えられ、ワーストケースのアイの上側を短時間で求めるための上側テストパターンD61が得られる。
【0127】
〔3−7−2〕アイの下側テストパターンの生成手順
図16に示すフローチャート(ステップS701〜S713)に従って、テストパターン生成部16による、アイの下側テストパターンD71の生成手順(図7のステップS70での詳細な処理)について説明する。アイの下側テストパターンD71は、アイパターンのアイ内の下側形状を規定するもので(図5参照)、アイの下側を短時間で求めるためのテストパターンである。
【0128】
なお、以下の説明では図17,図18(B),図19および図20(B)を参照する。図17および図19は、テストパターン生成部16による、アイの下側テストパターンD71の生成手順を説明するための波形図である。図18(B)および図20(B)は、それぞれ、図17および図19の波形図に対応する状態で生成される下側テストパターンD71を示す図である。なお、図17および図19では、上述した通り、解析時間のマージンを大きくしてステップ応答波形を分かりやすく示しているが、実際の解析時間は、連続最長ビット時間D31の直後までである。
【0129】
まず、テストパターン生成部16は、立上りステップ応答解析結果D32から、着目データの時刻を取得し、時刻d70として記憶部に格納する(ステップS701)。処理開始時における着目データの時刻は0である。立上りステップ応答解析結果D32が例えば図11(B)に対応するものである場合、後述するステップS709の処理で着目データを一つ進める都度、ステップS701において、着目データの時刻d70はデータ番号順に10psずつ進むことになる。
【0130】
着目データの時刻d70を取得すると、テストパターン生成部16は、着目データの時刻d70が立上り変化開始時刻D41を超えたか否かを判定する(ステップS702)。着目データの時刻d70が立上り変化開始時刻D41以前の場合(ステップS702のNOルート)、テストパターン生成部16は、着目データをデータ番号順に一つ進め(ステップS709)、ステップS701の処理へ移行する。着目データの時刻d70が上下り変化開始時刻D41を超えた場合(ステップS702のYESルート)、テストパターン生成部16は、着目データの時刻d70が立上り変化開始開始時刻D41に連続最長ビット時間D31を加算した時刻T2(図17,図19参照)に達したか否かを判定する(ステップS703;図17,図19参照)。
【0131】
着目データの時刻d70が時刻T2以前の場合(ステップS703のYESルート)、テストパターン生成部16は、立上りステップ応答解析結果D32から、現在の着目データの電圧値を取得し、電圧値d71として記憶部に格納する(ステップS704)。着目データの電圧値d71を取得すると、テストパターン生成部16は、着目データの電圧値d71が最大電圧値d72よりも大きいか否かを判定する(ステップS705)。なお、最大電圧値d72は、記憶部に設定される値で、最大電圧値d72の初期値としては−∞が設定される。
【0132】
着目データの電圧値d71が最大電圧値d72よりも小さい場合(ステップS705のYESルート)、テストパターン生成部16は、最大電圧値d72に、現在の着目データの電圧値d71をセットするとともに(ステップS706)、記憶部の立上りピーク時間d73に、現在の着目データの時刻d70をセットする(ステップS707)。着目データの時刻d70を立上りピーク時間d73にセットした後、もしくは、着目データの電圧値d71が最大電圧値d72以下の場合(ステップS705のNOルート)、テストパターン生成部16は、着目データのデータ番号と解析結果D32のデータ数とが等しいか否かを判定する(ステップS708)。
【0133】
着目データのデータ番号と解析結果D32のデータ数とが等しくない場合(ステップS708のNOルート)、テストパターン生成部16は、着目データをデータ番号順に一つ進め(ステップS709)、ステップS701の処理へ移行する。着目データのデータ番号と解析結果D32のデータ数とが等しい場合(ステップS708のYESルート)、テストパターン生成部16は、記憶部の立上りピーク時間幅d74に、[立上りピーク時間d73]−[立上り変化開始時刻D41]をセットする(ステップS710)。このときセットされる立上りピーク時間幅d74は、立上りステップ応答の波形が変化を開始してから電圧値がピークとなるまでの時間Tpkupであり、[立上りピーク時間幅d74]<[連続最長ビット時間D31]である(図17参照)。
【0134】
なお、応答波形D32が最大電圧値(ピーク)に到達する前に、ステップS703において着目データの時刻d70が時刻T2(=[立上り変化開始開始時刻D41]+[連続最長ビット時間D31])に達したと判定された場合(NOルート;図19参照)、テストパターン生成部16は、立上りピーク時間幅d74に、[立上りピーク時間d73]−[立上り変化開始時刻D41]をセットする(ステップS610)。ただし、このときの[立上りピーク時間d73]は上記時刻T2(=[立上り変化開始開始時刻D41]+[連続最長ビット時間D31])に一致もしくはほぼ一致している。このため、ステップS710でセットされる立上りピーク時間幅d74は、[時刻T2]−[立上り変化開始時刻D41]となり、連続最長ビット時間D31に一致もしくはほぼ一致する。つまり、立上りピーク時間幅d74は、連続最長ビット時間D31となり、[上記時間Tpkup]≧[立上りピーク時間幅d74]≧[連続最長ビット時間D31]である(図19参照)。
【0135】
立上りピーク時間幅d74が設定されると、テストパターン生成部16は、立上りピーク時間幅d74が連続最長ビット時間D31よりも小さいか否かを判定する(ステップS711)。立上りピーク時間幅d74が連続最長ビット時間D31よりも小さい場合(ステップS711のYESルート;図17参照)、テストパターン生成部16は、立上りピーク時間幅d74(=Tpkup)を使用して、以下のような下側テストパターンD71を生成し(ステップS712)、処理を終了する。
【0136】
つまり、テストパターン生成部16は、1ビット分の“0”の後に立上りピーク時間幅Tpkupに応じた数の“1”が連続するパターン(一単位分のパターン)を2回繰り返したものを、下側テストパターンD71として生成する。これにより、下側テストパターンD71として「1ビット時間分の“0”,Tpkup時間分の“1”,1ビット時間分の“0”,Tpkup時間分の“1”」が生成される。例えばTpkup=14nsであり1ビット幅の時間が1nsである場合、図18(B)に示すような下側テストパターンD71=「1ns(1ビット)の“0”,14ns(14ビット)の“1”,1ns(1ビット)の“0”,14ns(14ビット)の“1”」=「011111111111111011111111111111」が生成される。
【0137】
図18(B)に示す下側テストパターンD71において一単位分のパターン「1ビット時間分の“0”,Tpkup時間分の“1”」を2回繰り返しているのは、アイの下側のワーストケースを発生させる立下りパルスP21を含む下側テストパターンD71を生成するためである。このとき、Tpkup時間分の“1”の後に1ビット分の立下りパルスP21を生成することにより、波形の電圧レベルが最もHigh側に寄っている状態で波形が短いビット幅で変化することになる。したがって、図18(B)に示す下側テストパターンD71によって、符号間干渉によるアイの下側のワーストケースが発生すると考えられ、ワーストケースのアイの下側を短時間で求めるための下側テストパターンD71が得られる。
【0138】
立上りピーク時間幅d74が連続最長ビット時間D31以上の場合(ステップS711のNOルート;図19参照)、テストパターン生成部16は、連続最長ビット時間D31を使用して、以下のような下側テストパターンD71を生成し(ステップS713)、処理を終了する。
【0139】
つまり、テストパターン生成部16は、1ビット分の“0”の後に連続最長ビット時間D31に応じた数の“1”が連続するパターン(一単位分のパターン)を2回繰り返したものを、下側テストパターンD71として生成する。これにより、下側テストパターンD71として「1ビット時間分の“0”,連続最長ビット時間分の“1”,1ビット時間分の“0”,連続最長ビット時間分の“1”」が生成される。例えば、上記USB用テストパターンの場合、連続最長ビット時間D31=7ns(連続最長ビット数D22=7)であり1ビット幅の時間が1nsであり、図20(B)に示すような下側テストパターンD71=「1ns(1ビット)の“0”,7ns(7ビット)の“1”,1ns(1ビット)の“0”,7ns(7ビット)の“1”」=「0111111101111111」が生成される。
【0140】
図20(B)に示す下側テストパターンD71において一単位分のパターン「1ビット時間分の“0”,連続最長ビット時間分の“1”」を2回繰り返しているのは、図18(B)に示す例と同様、アイの下側のワーストケースを発生させる立下りパルスP22を含む上側テストパターンD71を生成するためである。このとき、[上記時間Tpkup]≧[連続最長ビット時間D31]である。このため、上記USB用テストパターンを対象回路に入力した際の応答波形の電圧最大値は、立上りステップ応答波形D32の最大値まで到達せず、図19に示す時刻T2(=[立上り変化開始開始時刻D41]+[連続最長ビット時間D31])の時点における電圧値となる。つまり、時刻T2以降の立上りステップ応答波形D32を考慮する必要がない。このとき、連続最長ビット時間分(7ビット分)の“1”の後に1ビット分の立下りパルスP22を生成することにより、波形の電圧レベルが最もHigh側に寄っている状態で波形が短いビット幅で変化することになる。したがって、図20(B)に示す下側テストパターンD71によって、符号間干渉によるアイの下側のワーストケースが発生すると考えられ、ワーストケースのアイの下側を短時間で求めるための下側テストパターンD71が得られる。
【0141】
〔3−8〕シミュレーション部の動作
上述ようにして上側テストパターンD61および下側テストパターンD71が生成されると、シミュレーション部17は、上側テストパターンD61および下側テストパターンD71をそれぞれ対象回路に入力した際の、対象回路からの出力波形(観測点N2で観測される応答波形)をシミュレートする。このとき、シミュレーション部17は、前述したように算出されるシミュレーション解析時間だけ、解析処理を実行する。
【0142】
図20(A)に示す上側テストパターンD61についての上側シミュレーション結果D62としては、例えば、図21(A)に示すような応答波形(出力波形,過渡解析波形)が得られる。図20(B)に示す下側テストパターンD71についての下側シミュレーション結果D72としては、例えば、図21(B)に示すような応答波形(出力波形,過渡解析波形)が得られる。これらの上側シミュレーション結果(応答波形)D62および下側シミュレーション結果(応答波形)D72は、解析結果D32,D33と同様、例えば図11(A)および図11(B)に示すようなテーブル形式で出力され、記憶部に格納される(ステップS61,S71)。
【0143】
〔3−9〕アイパターン生成部の動作
上述のような出力波形D62およびD72が得られると、アイパターン生成部18は、出力波形D62,D72から、それぞれ、図22(A)に示す上側アイパターンD63と、図22(B)に示す下側アイパターンD73とを生成し、記憶部に格納する(ステップS62,72)。
【0144】
図22(A)に示す上側アイパターンD63は、図21(A)に示す出力波形D62から2ns幅のフレームでサンプリングされた波形を重ね合わせることによって生成されている。同様に、図22(B)に示す下側アイパターンD73は、図21(B)に示す出力波形D72から2ns幅のフレームでサンプリングされた波形を重ね合わせることによって生成されている。
【0145】
〔3−10〕合成部の動作
合成部19は、図22(A)に示す上側アイパターンD63と、図22(B)に示す下側アイパターンD73とを合成することにより、図23に示す、対象回路のアイパターンD81を生成し記憶部に格納する(ステップS80)。図23に示すアイパターンD81は、図20(A)に示す16ビットの上側テストパターンD61と図20(B)に示す16ビットの下側テストパターンD71とに基づき生成されている。
【0146】
ここで、図25には、USBについて規定されている512ビットの上記USB用テストパターンを用いて従来技術によって生成された一般的なアイパターンが示されている。
図25に示すアイパターンと、本実施形態のアイパターン生成装置1によって得られた図23に示すアイパターンD81とを重ね合わせると、図24に示すようになる。図24に示すように、図23に示す本実施形態で生成されるアイパターンD81のアイの開き具合と、図25に示す従来技術によって得られたアイパターンのアイの開き具合とは、ほぼ一致している。
【0147】
〔3−11〕作用効果
上述したように、本実施形態のアイパターン生成装置1によれば、対象回路についてのステップ応答解析を行なうことにより伝送損失を含んだ反射の影響が事前に調べられる。そして、調べられた結果と、予め規定されたアイパターン生成用テストパターン(例えば上記USB用テストパターン)D13の連続最長ビット数D22とに基づき、アイパターンの内側形状のワーストケースを求めるための効率的な上側/下側テストパターンD61/D71が生成される。
【0148】
このようにアイの上側/下側に最短時間でワーストケースを発生させる上側/下側テストパターンD61/D71を用いてアイパターンD81の生成を行なうことにより、ワーストケースの内側形状を有するアイパターンD81が高速かつ高精度に生成される。したがって、対象回路についてアイパターンの検証を高速かつ高精度に行なうことができる。
【0149】
また、アイパターンD81の生成に用いられる上側/下側テストパターンD61/D71は、それぞれ例えば16ビットであり、予め規定されたアイパターン生成用テストパターン(例えば上述した512ビットのUSB用テストパターン)D13よりも大幅に少なくなる。このため、回路シミュレーションの結果として得られる応答波形のデータ量や、当該応答波形から得られるアイパターンのデータ量を、大幅に削減することができ、アイパターン生成装置1において記憶部を有効に利用することが可能になる。
【0150】
さらに、本実施形態のアイパターン生成装置1によれば、ステップ応答の解析結果(応答波形)D32,D33に基づき大きな反射が有るか否かがチェックされ、反射が多い場合、その旨がディスプレイ53を通じユーザに通知される。反射量の大きい対象回路では高速伝送を行なうことはできず、反射を抑えるための設計変更を行なう必要があり、その旨が、ディスプレイ53を通じユーザに通知される。また、反射が多い場合、それ以降の処理を行なわないようにすることで、無駄な解析処理を実行することが抑止される。
【0151】
以下に、従来技術を用いた場合のアイパターン生成のための解析時間(シミュレーション解析時間)と、本実施形態のアイパターン生成装置1によるアイパターン生成のための解析時間とを比較する。ここでは、対象回路が図6に示した回路であり、且つ、予め規定されているテストパターンが上述した512ビットのUSB用テストパターンである場合について説明する。また、上述した例と同様、1ビット幅の時間は1ns、入力パルスの入力遅延時間は1ns、マージン係数(所定係数)は1.01とする。
【0152】
[従来技術での解析時間]
=[入力パルスの入力遅延時間]
+[USB用テストパターンのビット数]×[1ビット幅の時間]
+[伝搬遅延時間]×[マージン係数]
=1ns+512×1ns+6.06ns×1.01
=519.1206ns
【0153】
[本実施形態での立上りステップ応答解析時間t1]
=[入力パルスの入力遅延時間]
+[連続最長ビット時間]+[伝搬遅延時間]×[マージン係数]
=1ns+7×1ns+6.06ns×1.01
=14.1206ns
【0154】
[本実施形態での立下りステップ応答解析時間t2]
=[入力パルスの入力遅延時間]
+[連続最長ビット時間]+[伝搬遅延時間]×[マージン係数]
=1ns+7×1ns+6.06ns×1.01
=14.1206ns
【0155】
[本実施形態での上側テストパターンのシミュレーション解析時間t3]
=[上側テストパターンのビット数]×[1ビット幅の時間]
+[伝搬遅延時間]×[マージン係数]
=(1+7+1+7)×1ns+6.06ns×1.01
=22.1206ns(ワーストケース時間)
【0156】
[本実施形態での下側テストパターンのシミュレーション解析時間t4]
=[下側テストパターンのビット数]×[1ビット幅の時間]
+[伝搬遅延時間]×[マージン係数]
=(1+7+1+7)×1ns+6.06ns×1.01
=22.1206ns
【0157】
[本実施形態のアイパターン生成装置1による解析時間]
=t1+t2+t3+t4
=72.4824ns
上記の通り、本実施形態のアイパターン生成装置1による解析時間は、従来技術での解析時間の、およそ7分の1となる。これに伴い、解析処理に要するデータ量も大幅に削減されることになる。
【0158】
〔4〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、係る特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
【0159】
上述した伝搬遅延時間算出部11,取得部12,ステップ応答解析部13,変化開始時刻判断部14,チェック部15,テストパターン生成部16,シミュレーション部17,アイパターン生成部18および合成部19としての機能の全部もしくは一部は、コンピュータ(CPU,情報処理装置,各種端末を含む)が所定のアプリケーションプログラム(回路シミュレータプログラム(アイパターン生成プログラム))を実行することによって実現される。
【0160】
そのプログラムは、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RWなど),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD−RW,DVD+R,DVD+RWなど),ブルーレイディスク等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。
【0161】
ここで、コンピュータとは、ハードウエアとOS(オペレーティングシステム)とを含む概念であり、OSの制御の下で動作するハードウエアを意味している。また、OSが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウエアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたプログラムを読み取る手段とをそなえている。上記回路シミュレータプログラム(アイパターン生成プログラム)は、上述のようなコンピュータに、上記各部11〜19の機能を実現させるプログラムコードを含んでいる。また、その機能の一部は、アプリケーションプログラムではなくOSによって実現されてもよい。
【0162】
〔5〕付記
以上の本実施形態を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
対象回路の設計データを基に前記対象回路のシミュレーションを行なうコンピュータに、
前記対象回路に立上りステップ信号を入力した際の立上りステップ応答のシミュレーションを実行させ、
前記対象回路に立下がりステップ信号を入力した際の立下がりステップ応答のシミュレーションを実行させ、
前記立上りステップ応答のシミュレーションおよび立下がりステップ応答のシミュレーションの結果を解析させ、
前記解析結果に基づき、アイパターンのアイ内の上側形状を規定する上側テストパターンと、アイパターンのアイ内の下側形状を規定する下側テストパターンとを生成させ、
前記対象回路に前記上側テストパターンおよび前記下側テストパターンを入力した際の応答のシミュレーションを実行させることを特徴とする回路シミュレータプログラム。
【0163】
(付記2)
前記コンピュータに、
前記対象回路のアイパターンを生成するべく予め規定されたテストパターンにおいて同じ値が最も長く連続する際の連続最長ビット数を取得させ、
前記上側テストパターンを生成させる際、
前記立下りステップ応答の解析結果に基づき、前記立下りステップ応答の立下り変化開始時刻から、前記連続最長ビット数に1ビット分の時間を乗じた連続最長ビット時間内で前記立下りステップ応答が最小値に到達するまでの立下りピーク時間幅を算出させ、
前記立下りピーク時間幅と前記連続最長ビット時間とを比較させ、
前記立下りピーク時間幅が前記連続最長ビット時間よりも小さい場合、1ビット分の“1”の後に前記立下りピーク時間幅に応じた数の“0”が連続するパターンを一単位として含むパターンを、前記上側テストパターンとして生成させる一方、
前記立下りピーク時間幅が前記連続最長ビット時間以上である場合、1ビット分の“1”の後に前記連続最長ビット時間に応じた数の“0”が連続するパターンを一単位として含むパターンを、前記上側テストパターンとして生成させることを特徴とする付記1記載の回路シミュレータプログラム。
【0164】
(付記3)
前記コンピュータに、
前記上側テストパターンを生成させる際、
上記一単位分のパターンを2回繰り返したものを、前記上側テストパターンとして生成させることを特徴とする付記2記載の回路シミュレータ生成プログラム。
【0165】
(付記4)
前記コンピュータに、
前記下側テストパターンを生成する際、
前記立上りステップ応答の解析結果に基づき、前記立上りステップ応答の立上り変化開始時刻から、前記連続最長ビット数に1ビット分の時間を乗じた連続最長ビット時間内で前記立上りステップ応答が最大値に到達するまでの立上りピーク時間幅を算出させ、
前記立上りピーク時間幅と前記連続最長ビット時間とを比較させ、
前記立上りピーク時間幅が前記連続最長ビット時間よりも小さい場合、1ビット分の“0”の後に前記立上りピーク時間幅に応じた数の“1”が連続するパターンを一単位として含むパターンを、前記下側テストパターンとして生成させる一方、
前記立上りピーク時間幅が前記連続最長ビット時間以上である場合、1ビット分の“0”の後に前記連続最長ビット時間に応じた数の“1”が連続するパターンを一単位として含むパターンを、前記下側テストパターンとして生成させることを特徴とする付記2または付記3記載の回路シミュレータプログラム。
【0166】
(付記5)
前記コンピュータに、
前記下側テストパターンを生成させる際、
上記一単位分のパターンを2回繰り返したものを、前記下側テストパターンとして生成させることを特徴とする付記4記載の回路シミュレータプログラム。
【0167】
(付記6)
前記コンピュータに、前記上側テストパターンおよび前記下側テストパターンを生成させる前に、前記立上りステップ応答の解析結果および前記立下りステップ応答の解析結果に基づき、前記対象回路における反射量をチェックさせ、
前記反射量が許容値を超えたと判断した場合、その旨を利用者に通知する処理を前記コンピュータに実行させるとともに前記コンピュータにおいて前記対象回路に対する処理を終了させる一方、前記反射量が前記許容値以下であると判断した場合、前記コンピュータに前記上側テストパターンおよび前記下側テストパターンを生成させることを特徴とする付記1〜付記5のいずれか一項に記載の回路シミュレータプログラム。
【0168】
(付記7)
前記コンピュータに、
前記立上りステップ応答の解析および前記立下りステップ応答の解析を実行させる際、
前記立上りステップ信号または前記立下りステップ信号の入力遅延時間と、前記連続最長ビット数に1ビット分の時間を乗じた連続最長ビット時間と、前記対象回路の入力端から観測点までの伝搬遅延時間に1よりも大きい所定係数を乗じた値とを加算したステップ応答解析時間を算出させ、
前記ステップ応答解析時間に亘って前記立上りステップ応答の解析および前記立下りステップ応答の解析を実行させることを特徴とする付記2〜付記6のいずれか一項に記載の回路シミュレータプログラム。
【0169】
(付記8)
前記コンピュータに、
前記上側テストパターンおよび前記下側テストパターンをそれぞれ前記対象回路に入力した際の、前記対象回路からの出力波形をシミュレートさせ、
前記上側テストパターンおよび前記下側テストパターンについてシミュレートされた前記出力波形から、それぞれ、上側アイパターンおよび下側アイパターンを生成させ、
前記上側アイパターンと前記下側アイパターンとを合成し、前記対象回路のアイパターンを生成させることを特徴とする付記1〜付記7のいずれか一項に記載の回路シミュレータプログラム。
【0170】
(付記9)
対象回路の設計データを基に前記対象回路のシミュレーションを行なう装置であって、
前記対象回路に立上りステップ信号を入力した際の立上りステップ応答のシミュレーションと、前記対象回路に立下がりステップ信号を入力した際の立下がりステップ応答のシミュレーションとを実行するシミュレーション部と、
前記立上りステップ応答のシミュレーションおよび立下がりステップ応答のシミュレーションの結果を解析するステップ応答解析部と、
前記解析結果に基づき、アイパターンのアイ内の上側形状を規定する上側テストパターンと、アイパターンのアイ内の下側形状を規定する下側テストパターンとを生成するテストパターン生成部とを有し、
前記シミュレーション部は、前記上側テストパターンと前記下側テストパターンとを用いて、前記対象回路のシミュレーションを行なうことを特徴とする装置。
【0171】
(付記10)
前記対象回路のアイパターンを生成すべく予め規定されたテストパターンにおいて同じ値が最も長く連続する際の連続最長ビット数を取得する取得部をさらに有し、
前記テストパターン生成部は、
前記立下りステップ応答の解析結果に基づき、前記立下りステップ応答の立下り変化開始時刻から、前記連続最長ビット数に1ビット分の時間を乗じた連続最長ビット時間内で前記立下りステップ応答が最小値に到達するまでの立下りピーク時間幅を算出し、
前記立下りピーク時間幅と前記連続最長ビット時間とを比較し、
前記立下りピーク時間幅が前記連続最長ビット時間よりも小さい場合、1ビット分の“1”の後に前記立下りピーク時間幅に応じた数の“0”が連続するパターンを一単位として含むパターンを、前記上側テストパターンとして生成する一方、
前記立下りピーク時間幅が前記連続最長ビット時間以上である場合、1ビット分の“1”の後に前記連続最長ビット時間に応じた数の“0”が連続するパターンを一単位として含むパターンを、前記上側テストパターンとして生成することを特徴とする付記9記載の装置。
【0172】
(付記11)
前記テストパターン生成部は、
上記一単位分のパターンを2回繰り返したものを、前記上側テストパターンとして生成することを特徴とする付記10記載の装置。
【0173】
(付記12)
前記テストパターン生成部は、
前記立上りステップ応答の解析結果に基づき、前記立上りステップ応答の立上り変化開始時刻から、前記連続最長ビット数に1ビット分の時間を乗じた連続最長ビット時間内で前記立上りステップ応答が最大値に到達するまでの立上りピーク時間幅を算出し、
前記立上りピーク時間幅と前記連続最長ビット時間とを比較し、
前記立上りピーク時間幅が前記連続最長ビット時間よりも小さい場合、1ビット分の“0”の後に前記立上りピーク時間幅に応じた数の“1”が連続するパターンを一単位として含むパターンを、前記下側テストパターンとして生成する一方、
前記立上りピーク時間幅が前記連続最長ビット時間以上である場合、1ビット分の“0”の後に前記連続最長ビット時間に応じた数の“1”が連続するパターンを一単位として含むパターンを、前記下側テストパターンとして生成することを特徴とする付記10または付記11記載の装置。
【0174】
(付記13)
前記テストパターン生成部は、
上記一単位分のパターンを2回繰り返したものを、前記下側テストパターンとして生成することを特徴とする付記12記載の装置。
【0175】
(付記14)
前記テストパターン生成部によって前記上側テストパターンおよび前記下側テストパターンを生成する前に、前記立上りステップ応答の解析結果および前記立下りステップ応答の解析結果に基づき、前記対象回路における反射量をチェックするチェック部をさらに有し、
前記チェック部は、前記反射量が許容値を超えたと判断した場合、その旨を利用者に通知するとともに前記対象回路に対する処理を終了させる一方、前記反射量が前記許容値以下であると判断した場合、前記テストパターン生成部による処理を実行させることを特徴とする付記9〜付記13のいずれか一項に記載の装置。
【0176】
(付記15)
前記ステップ応答解析部は、
前記立上りステップ信号または前記立下りステップ信号の入力遅延時間と、前記連続最長ビット数に1ビット分の時間を乗じた連続最長ビット時間と、前記対象回路の入力端から観測点までの伝搬遅延時間に1よりも大きい所定係数を乗じた値とを加算したステップ応答解析時間を算出し、
前記ステップ応答解析時間に亘って前記立上りステップ応答の解析および前記立下りステップ応答の解析を実行することを特徴とする付記10〜付記14のいずれか一項に記載の装置。
【0177】
(付記16)
前記シミュレーション部は、前記上側テストパターンおよび前記下側テストパターンをそれぞれ前記対象回路に入力した際の、前記対象回路からの出力波形をシミュレートし、
前記上側テストパターンおよび前記下側テストパターンについてシミュレートされた前記出力波形から、それぞれ、上側アイパターンおよび下側アイパターンを生成するアイパターン生成部と、
前記上側アイパターンと前記下側アイパターンとを合成し、前記対象回路のアイパターンを生成する合成部とをさらに有することを特徴とする付記9〜付記15のいずれか一項に記載の装置。
【0178】
(付記17)
コンピュータにより、対象回路のアイパターンを、予め規定されたテストパターンに基づき、シミュレーションによって生成する方法であって、
前記テストパターンにおいて同じ値が最も長く連続する際の連続最長ビット数を取得し、
立上りステップ信号を前記対象回路に入力した際の立上りステップ応答の解析、および、立下りステップ信号を前記対象回路に入力した際の立下りステップ応答の解析をそれぞれ実行し、
前記連続最長ビット数と前記立下りステップ応答の解析結果とに基づき、前記アイパターンのアイ内の上側形状を規定する上側テストパターンを生成するとともに、前記連続最長ビット数と前記立上りステップ応答の解析結果とに基づき、前記アイパターンのアイ内の下側形状を規定する下側テストパターンを生成する、アイパターン生成方法。
【0179】
(付記18)
前記上側テストパターンを生成する際、
前記立下りステップ応答の解析結果に基づき、前記立下りステップ応答の立下り変化開始時刻から、前記連続最長ビット数に1ビット分の時間を乗じた連続最長ビット時間内で前記立下りステップ応答が最小値に到達するまでの立下りピーク時間幅を算出し、
前記立下りピーク時間幅と前記連続最長ビット時間とを比較し、
前記立下りピーク時間幅が前記連続最長ビット時間よりも小さい場合、1ビット分の“1”の後に前記立下りピーク時間幅に応じた数の“0”が連続するパターンを一単位として含むパターンを、前記上側テストパターンとして生成する一方、
前記立下りピーク時間幅が前記連続最長ビット時間以上である場合、1ビット分の“1”の後に前記連続最長ビット時間に応じた数の“0”が連続するパターンを一単位として含むパターンを、前記上側テストパターンとして生成する、付記17記載のアイパターン生成方法。
【0180】
(付記19)
前記下側テストパターンを生成する際、
前記立上りステップ応答の解析結果に基づき、前記立上りステップ応答の立上り変化開始時刻から、前記連続最長ビット数に1ビット分の時間を乗じた連続最長ビット時間内で前記立上りステップ応答が最大値に到達するまでの立上りピーク時間幅を算出し、
前記立上りピーク時間幅と前記連続最長ビット時間とを比較し、
前記立上りピーク時間幅が前記連続最長ビット時間よりも小さい場合、1ビット分の“0”の後に前記立上りピーク時間幅に応じた数の“1”が連続するパターンを一単位として含むパターンを、前記下側テストパターンとして生成する一方、
前記立上りピーク時間幅が前記連続最長ビット時間以上である場合、1ビット分の“0”の後に前記連続最長ビット時間に応じた数の“1”が連続するパターンを一単位として含むパターンを、前記下側テストパターンとして生成する、付記17または付記18に記載のアイパターン生成方法。
【0181】
(付記20)
前記上側テストパターンおよび前記下側テストパターンを生成する前に、前記立上りステップ応答の解析結果および前記立下りステップ応答の解析結果に基づき、前記対象回路における反射量をチェックし、
前記反射量が許容値を超えたと判断した場合、その旨を利用者に通知するとともに前記対象回路に対する処理を終了させる一方、前記反射量が前記許容値以下であると判断した場合、前記上側テストパターンおよび前記下側テストパターンを生成する処理を実行させる、付記17〜付記19のいずれか一項に記載のアイパターン生成方法。
【符号の説明】
【0182】
1 アイパターン生成装置(コンピュータ)
10 CPU(処理部)
11 伝搬遅延時間算出部
12 取得部
13 ステップ応答解析部
14 変化開始時刻判断部
15 チェック部
16 テストパターン生成部
17 シミュレーション部
18 アイパターン生成部
19 合成部
20 RAM(記憶部)
30 ROM(記憶部)
40 外部記憶装置(記憶部)
50 入出力デバイスコントローラ
51 キーボード
52 マウス
53 ディスプレイ
60 ネットワークアダプタ
70 バス

【特許請求の範囲】
【請求項1】
対象回路の設計データを基に前記対象回路のシミュレーションを行なうコンピュータに、
前記対象回路に立上りステップ信号を入力した際の立上りステップ応答のシミュレーションを実行させ、
前記対象回路に立下がりステップ信号を入力した際の立下がりステップ応答のシミュレーションを実行させ、
前記立上りステップ応答のシミュレーションおよび立下がりステップ応答のシミュレーションの結果を解析させ、
前記解析結果に基づき、アイパターンのアイ内の上側形状を規定する上側テストパターンと、アイパターンのアイ内の下側形状を規定する下側テストパターンとを生成させ、
前記対象回路に前記上側テストパターンおよび前記下側テストパターンを入力した際の応答のシミュレーションを実行させることを特徴とする回路シミュレータプログラム。
【請求項2】
前記コンピュータに、
前記対象回路のアイパターンを生成すべく予め規定されたテストパターンにおいて同じ値が最も長く連続する際の連続最長ビット数を取得させ、
前記上側テストパターンを生成させる際、
前記立下りステップ応答の解析結果に基づき、前記立下りステップ応答の立下り変化開始時刻から、前記連続最長ビット数に1ビット分の時間を乗じた連続最長ビット時間内で前記立下りステップ応答が最小値に到達するまでの立下りピーク時間幅を算出させ、
前記立下りピーク時間幅と前記連続最長ビット時間とを比較させ、
前記立下りピーク時間幅が前記連続最長ビット時間よりも小さい場合、1ビット分の“1”の後に前記立下りピーク時間幅に応じた数の“0”が連続するパターンを一単位として含むパターンを、前記上側テストパターンとして生成させる一方、
前記立下りピーク時間幅が前記連続最長ビット時間以上である場合、1ビット分の“1”の後に前記連続最長ビット時間に応じた数の“0”が連続するパターンを一単位として含むパターンを、前記上側テストパターンとして生成させることを特徴とする請求項1記載の回路シミュレータプログラム。
【請求項3】
前記コンピュータに、
前記下側テストパターンを生成する際、
前記立上りステップ応答の解析結果に基づき、前記立上りステップ応答の立上り変化開始時刻から、前記連続最長ビット数に1ビット分の時間を乗じた連続最長ビット時間内で前記立上りステップ応答が最大値に到達するまでの立上りピーク時間幅を算出させ、
前記立上りピーク時間幅と前記連続最長ビット時間とを比較させ、
前記立上りピーク時間幅が前記連続最長ビット時間よりも小さい場合、1ビット分の“0”の後に前記立上りピーク時間幅に応じた数の“1”が連続するパターンを一単位として含むパターンを、前記下側テストパターンとして生成させる一方、
前記立上りピーク時間幅が前記連続最長ビット時間以上である場合、1ビット分の“0”の後に前記連続最長ビット時間に応じた数の“1”が連続するパターンを一単位として含むパターンを、前記下側テストパターンとして生成させることを特徴とする請求項2記載の回路シミュレータプログラム。
【請求項4】
前記コンピュータに、前記上側テストパターンおよび前記下側テストパターンを生成させる前に、前記立上りステップ応答の解析結果および前記立下りステップ応答の解析結果に基づき、前記対象回路における反射量をチェックさせ、
前記反射量が許容値を超えたと判断した場合、その旨を利用者に通知する処理を前記コンピュータに実行させるとともに前記コンピュータにおいて前記対象回路に対する処理を終了させる一方、前記反射量が前記許容値以下であると判断した場合、前記コンピュータに前記上側テストパターンおよび前記下側テストパターンを生成させることを特徴とする請求項1乃至請求項3のいずれか一項に記載の回路シミュレータプログラム。
【請求項5】
前記コンピュータに、
前記立上りステップ応答の解析および前記立下りステップ応答の解析を実行させる際、
前記立上りステップ信号または前記立下りステップ信号の入力遅延時間と、前記連続最長ビット数に1ビット分の時間を乗じた連続最長ビット時間と、前記対象回路の入力端から観測点までの伝搬遅延時間に1よりも大きい所定係数を乗じた値とを加算したステップ応答解析時間を算出させ、
前記ステップ応答解析時間に亘って前記立上りステップ応答の解析および前記立下りステップ応答の解析を実行させることを特徴とする請求項2乃至請求項4のいずれか一項に記載の回路シミュレータプログラム。
【請求項6】
対象回路の設計データを基に前記対象回路のシミュレーションを行なう装置であって、
前記対象回路に立上りステップ信号を入力した際の立上りステップ応答のシミュレーションと、前記対象回路に立下がりステップ信号を入力した際の立下がりステップ応答のシミュレーションとを実行するシミュレーション部と、
前記立上りステップ応答のシミュレーションおよび立下がりステップ応答のシミュレーションの結果を解析するステップ応答解析部と、
前記解析結果に基づき、アイパターンのアイ内の上側形状を規定する上側テストパターンと、アイパターンのアイ内の下側形状を規定する下側テストパターンとを生成するテストパターン生成部とを有し、
前記シミュレーション部は、前記上側テストパターンと前記下側テストパターンとを用いて、前記対象回路のシミュレーションを行なうことを特徴とする装置。
【請求項7】
コンピュータにより、対象回路のアイパターンを、予め規定されたテストパターンに基づき、シミュレーションによって生成する方法であって、
前記テストパターンにおいて同じ値が最も長く連続する際の連続最長ビット数を取得し、
立上りステップ信号を前記対象回路に入力した際の立上りステップ応答の解析、および、立下りステップ信号を前記対象回路に入力した際の立下りステップ応答の解析をそれぞれ実行し、
前記連続最長ビット数と前記立下りステップ応答の解析結果とに基づき、前記アイパターンのアイ内の上側形状を規定する上側テストパターンを生成するとともに、前記連続最長ビット数と前記立上りステップ応答の解析結果とに基づき、前記アイパターンのアイ内の下側形状を規定する下側テストパターンを生成する、アイパターン生成方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate


【公開番号】特開2013−38576(P2013−38576A)
【公開日】平成25年2月21日(2013.2.21)
【国際特許分類】
【出願番号】特願2011−172806(P2011−172806)
【出願日】平成23年8月8日(2011.8.8)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】