実施形態の設計支援装置について説明する。
[実施形態]
図1〜図5を参照して、クロストークノイズの解析における問題点を説明する。
図3は、クロストークノイズの大きさの依存関係を示す図である。
被害配線で発生するクロストークノイズの大きさは、被害配線や加害配線の抵抗の大きさ、被害配線と加害配線との間の容量結合の大きさ、および被害配線や加害配線に信号を出力する素子のドライバビリティの高さなどに依存する。
ドライバビリティの高さは、例えば、素子が電界効果トランジスタを含むとき、電界効果トランジスタのスイッチング時間、すなわち、立上り時間や立下り時間が短いほど高い。そして、素子が含む電界効果トランジスタのスイッチング時間が速いほど、回路の配線上で信号が急峻に変化するので、容量結合に蓄積されるエネルギーの変化も急峻になり、被害配線で発生するクロストークノイズが大きくなる。すなわち、クロストークノイズの大きさは、電界効果トランジスタのドライバビリティが高いほど大きくなる傾向がある。以下の説明では、電界効果トランジスタのことをMOSトランジスタ(MOSFET)または、単にトランジスタとも言う。MOSFETとは、metal oxide semiconductor field effect transistorの略である。
そして、被害配線vicは、図3に示すように、被害配線vicと隣接する加害配線agg0、agg1との間に発生する容量結合以外にも、前後段の配線L0、L1との間に発生する容量結合からの影響を受ける。すなわち、被害配線vicで発生するクロストークノイズ126の大きさは、被害配線vicと、加害配線agg0、agg1や隣接する配線L0、L1との間に発生する容量結合121、122の大きさに依存する。また、被害配線vicに対する容量結合121、122の影響の大きさは、素子123〜素子125のドライバビリティの高さに依存する。
したがって、クロストークノイズの解析では、加害配線agg0、agg1に直接クロストークノイズの解析用の信号を入力すると、加害配線以外の配線からの影響を考慮しないことになるので、クロストークノイズの解析精度が不十分なことがある。
そこで、被害配線vicに発生するクロストークノイズの解析精度を向上させるには、被害配線vicと容量結合で結合された、複数の配線を含む回路を一つのクラスターとして扱い、クロストークノイズを解析することが考えられる。複数の配線とは、図3において、例えば、加害配線agg0、agg1や前後段の配線L0、L1などである。以下の説明では、クラスターのことを解析回路とも言う。
そして、クロストークノイズ解析の精度を向上させるには、加害配線上の信号のレベルを遷移させるための入力信号を解析回路の入力端子から入力する。これにより、クラスターの入力端子から入力される入力信号は、クラスターに含まれるパスを伝播して加害配線に出力される。そして、設計支援装置は、加害配線に信号が出力されたとき、被害配線に発生する信号の変化を測定することで、パスに含まれる複数の配線や複数の素子の影響を考慮したクロストークノイズを検出することができる。
したがって、設計支援装置は、図4に示すように、解析回路130が含む組合せ回路131の出力である被害配線vicと加害配線agg0、agg1とに、クロストーク解析用の出力パターンを設定し、設定した出力パターンを満たす入力パターンを求める。出力パターンとは、被害配線と複数の加害配線の出力信号の組合せのことを示す。
そして、設計支援装置は、クロストーク解析をするとき、求めた入力パターンを入力端子133に入力し、被害配線vicに発生するクロストークノイズを検出する。入力パターンとは、解析回路130の入力端子133に入力する入力信号の組合せのことである。組合せ回路131とは、解析回路130の入力端子133と、解析配線132に接続される端子との間のパスを含む回路である。なお、解析配線132と出力端子135との間にある素子134および後段の配線は、被害配線vicの後段から被害配線vicに影響を与える可能性があるものである。よって、素子134および後段の配線は、クロストークノイズ解析において、素子134および後段の配線からの影響を考慮するために接続されている。
ここで、図4において、加害配線agg0、agg1には、立上り信号Rが設定されている。立上り信号Rとは、信号のレベルが0から1に遷移することを示す信号状態である。したがって、設計支援装置は、加害配線agg0、agg1に立上り信号Rを設定したとき、加害配線agg0、agg1の信号のレベルを0にする入力パターン1と、1にする入力パターン2との少なくとも2つの入力パターンを求める。そして、設計支援装置は、入力パターンを、入力パターン1から入力パターン2に切替えて解析回路130の入力端子133に入力することにより、加害配線agg0、agg1に立上り信号Rを出力させることができる。信号のレベルが0とは、信号がローレベル状態にあることを示す。信号のレベルが1とは、信号がハイレベル状態にあることを示す。
設計支援装置は、クロストークノイズ解析をするとき、入力端子133に入力する入力信号を、入力パターン0から入力パターン1に切替えて、加害配線agg0、agg1の信号のレベルを0から1に遷移させる。また、設計支援装置は、被害配線vicを0に固定し、加害配線agg0、agg1の信号のレベルを0から1に遷移させたときの被害配線vicに発生する信号の変化を測定することで、クロストークノイズを検出する。なお、被害配線vicの信号のレベルを0に固定した状態で、加害配線agg0、agg1に立上り信号Rを入力し、クロストークノイズを検出するのは、クロストークノイズの影響により被害配線vicの信号のレベルが1と混同される可能性を解析するためである。
さらに、図4において、加害配線agg0、agg1には、立下り信号Fが設定されている場合について説明する。立下り信号Fとは、信号のレベルが1から0に遷移することを示す。
したがって、設計支援装置は、クロストークノイズ解析をするとき、入力端子133に入力する入力信号を、入力パターン1から入力パターン0に切替えて、加害配線agg0、agg1の信号のレベルを1から0に遷移させる。また、設計支援装置は、被害配線vicを1に固定し、加害配線agg0、agg1の信号のレベルが1から0に遷移させたときの被害配線vicに発生する信号の変化を測定することで、クロストークノイズを検出する。なお、被害配線vicの信号のレベルを1に固定した状態で、加害配線agg0、agg1に立下り信号Fを入力し、クロストークノイズを検出するのは、クロストークノイズの影響により被害配線vicの信号のレベルが0と混同される可能性を解析するためである。以下の説明では、立上り信号Rと立下り信号Fのことを遷移信号とも言う。
図5は、入力パターン生成を示す図である。
設計支援装置がクロストーク解析用の入力パターンを求めるときには、例えば、図5に示すように、ATPGにより縮退故障検出用の入力パターンを求めるときに用いられるバックトレースと同様の手法を用いることが考えられる。縮退故障を検出するための入力パターンを探索するときに用いられるバックトレースとは、縮退故障を生じる素子141の出力端子からさかのぼって、素子141の出力端子の出力を0または1にするための入力信号を探索する手法である。ATPGとは、automatic test pattern generatorの略である。
すなわち、クロストーク解析用の入力パターンを求めるときには、被害配線と加害配線とのそれぞれに接続される素子の出力端子からさかのぼって、各出力端子の出力を設定された値にするために解析回路に入力する入力信号の組合せを探索すると良い。
以上により、設計支援装置は、求められた入力パターンを用いて入力ベクタを生成することにより、解析回路130の加害配線agg0、agg1の信号状態を遷移させて、被害配線vicに発生するクロストークノイズの解析をすることができる。
しかし、上述の解析方法では、解析回路がクラスター構造であるとき、解析回路の入力端子と各加害配線とを結ぶパスの遅延時間がそれぞれ異なり、図2に示すように、複数の加害配線上の信号のレベルが同時に遷移しないことがある。このため、設計支援装置は、クロストークノイズの最悪値を検出することができないことがある。そして、ユーザが最悪値ではなないクロストークノイズで解析を行なうことにより、クロストークノイズの影響を過小評価し、集積回路で不具合が発生する可能性を抑制できないことがある。
以下に説明する実施形態の設計支援装置は、クラスター構造の解析回路において、クロストークノイズの最悪値を検出するために、複数の加害配線上の信号のレベルを同時に遷移させる構成を有する。
図6は、設計支援装置の一実施例を示す機能ブロック図である。
図6を参照して、設計支援装置1について説明する。
設計支援装置1は、例えば、制御部10と、記憶部20と、入出力部30とを備える。設計支援装置1は、例えば、後述するコンピュータ装置である。
制御部10は、取得部11と、分割部12と、合成部13と、探索部14と、算出部15と、生成部16とを含む。記憶部20は、接続情報21と、部分情報22と、合成情報23と、パス情報24と、遅延情報25と、生成情報26とを含む。入出力部30は、入力部31と、出力部32とを含む。
取得部11は、入力部31から入力された集積回路のネットリストを取得し、取得したネットリストを接続情報21に格納する。このとき、取得部11は、取得したネットリストをテクノロジマッピングしても良い。テクノロジマッピングとは、例えば、ネットリストを参照して、集積回路に配置される素子に、セルライブラリのセルを割り当てる処理である。また、テクノロジマッピングでは、素子にセルを割り当てるとき、制約条件として、面積、性能、消費電力などを考慮しても良い。以下の説明において、制御部10の実行する処理は、テクノロジマッピング後のデータが用いられているものとする。また、テクノロジマッピングのことを、単にマッピングとも言う。
ネットリストとは、例えば、図7のネットリスト40に示すように、集積回路100上に配置される素子の接続関係を記載したものである。ネットリスト41は、集積回路100のNAND44とNOT45との接続関係を示す。また、ネットリスト42は、NAND44に含まれるトランジスタの接続関係を示す。さらに、ネットリスト43は、NOT45に含まれるトランジスタの接続関係を示す。
分割部12は、集積回路を部分回路に分割する。部分回路とは、図8に示すように、ソースとドレインとの接続ごとに、集積回路50を電源およびゲートで区切った部分回路51〜54であり、例えば、CCCのことである。CCCとは、Channel Connected Componentsの略である。
合成部13は、被害配線に対する影響を与える加害配線を含む複数の部分回路と被害配線を含む部分回路とから解析回路を合成する。合成部13は、例えば、図9に示すように、部分回路61と部分回路62とから解析回路60を合成する。また、合成部13は、部分回路を2つに限定するものではなく、3以上の部分回路を組合せて解析回路を合成しても良い。なお、合成部13は、被害配線に影響を与える加害配線を含む部分回路がないとき、被害配線を含む部分回路内の素子や配線からの影響で生じるクロストークノイズを検出するために、被害配線を含む部分回路のみを解析回路として合成しても良い。
そして、合成部13は、例えば、図9に示すように、解析回路60の負荷となるトランジスタ63のソース・ドレインをVddにクリップする。さらに、合成部13は、例えば、図9に示すように、解析回路60の負荷となるトランジスタ64のソース・ドレインをVssにクリップする。これにより、設計支援装置1は、クロストークノイズの解析を行なうとき、解析回路の外からの影響を無視して解析をする。したがって、設計支援装置1は、解析回路内の加害配線から被害配線への影響を確定することができる。
また、合成部13は、被害配線との容量結合の大きさが第1閾値以上の加害配線を含む部分回路を、被害配線を含む部分回路と合成して解析回路を合成しても良い。これにより、設計支援装置1は、被害配線への影響の少ない加害配線に関する計算を省略し、クロストークノイズ解析における処理負担を抑制することができる。
第1閾値には、例えば、被害配線と加害配線との間の容量結合の容量値を設定しても良い。このとき、合成部13は、被害配線と各加害配線との間の容量結合に対応する複数の容量値から、第1閾値以上の容量値を抽出し、抽出した容量値を持つ加害配線を含む1以上の部分回路を選択しても良い。そして、合成部13は、選択した1以上の部分回路と、被害配線を含む部分回路とから解析回路を合成しても良い。なお、合成部13は、集積回路に含まれる被害配線の配線長と、各加害配線の配線長と、被害配線と各加害配線との間の配線間距離とを用いて、各容量結合の容量値を求めても良い。
また、第1閾値には、例えば、加害配線を含む複数の部分回路の中における容量結合の容量値の順位を設定しても良い。このとき、合成部13は、被害配線と各加害配線との間の容量結合に対応する複数の容量値を大きさ順にソートして、第1閾値以上の順位の容量値を抽出し、抽出した容量値を持つ加害配線を含む1以上の部分回路を選択する。そして、合成部13は、選択した1以上の部分回路と、被害配線を含む部分回路とから解析回路を合成しても良い。
さらに、第1閾値には、例えば、被害配線と各加害配線との間の容量結合の容量値の全体に対する割合を設定しても良い。このとき、合成部13は、例えば、被害配線と各加害配線との間の容量結合に対応する複数の容量値を大きい順にソートする。また、合成部13は、ソートした容量値を大きい順に加算した容量値の合計が、第1閾値以上の容量値となる直前までに加算した1以上の容量値を選択する。そして、合成部13は、選択した容量値に対応する加害配線を含む1以上の部分回路と、被害配線を含む部分回路とから解析回路を合成しても良い。
合成部13は、ドライバビリティの高さが第2閾値以上のトランジスタを含む部分回路を、被害配線を含む部分回路と合成しても良い。すなわち、第2閾値は、トランジスタのドライバビリティが大きいほど、加害配線から被害配線へ与える影響が大きくなるので、ドラバビリティが小さいトランジスタに接続された加害配線の影響を無視するために設定される。これにより、設計支援装置1は、被害配線への影響の少ない加害配線に関する計算を省略し、クロストークノイズ解析における処理負担を抑制することができる。
第2閾値には、例えば、ドライバビリティの高さを示す情報として、加害配線を含む部分回路が有するMOSトランジスタのスイッチング時間を設定しても良い。このとき、合成部13は、テクノロジマッピングにおいて設定した、トランジスタの性能を参照しても良い。
探索部14は、解析回路に入力する入力パターンについて、バックトレースにより探索する。このとき、探索部14は、クロストークノイズの解析対象である被害配線に影響を与える加害配線上の信号のレベルを決定する入力信号のうち、1つの入力信号のレベルを切替えることで、加害配線上の信号のレベルを遷移させる入力パターンを探索する。また、探索部14は、解析回路に入力する入力信号の中で、切替える入力信号以外の入力信号が固定されるように、入力パターンを探索する。切替える入力信号とは、例えば、立上り信号Rおよび立下り信号Fのことである。
これにより、設計支援装置1は、例えば、図10に示すように、立上り信号Rが入力された解析回路の入力端子から加害配線agg0に至るまでに、どのような経路で伝播したかを特定することができる。また、設計支援装置1は、例えば、図10に示すように、解析回路に立下り信号Fが入力されたときにも同様に、立下り信号Fが解析回路の入力端子から加害配線agg0に至るまでに、どのような経路で伝播したかを特定することができる。
そして、設計支援装置1は、切替える入力信号を入力する解析回路の入力端子と、加害配線に接続される出力端子とを結ぶ遷移パス上の配線と素子との有する遅延時間を加算することで、遷移パスの遅延時間を算出することができる。
したがって、設計支援装置1は、算出された各遷移パスの遅延時間を用いて、遷移前後の入力パターンの切替えのタイミングをシフトするので、複数の加害配線上の信号のレベルを同時に遷移させることができる。
図11〜図14に示す変換規則と、図15に示す生成条件とを参照して、探索部14がバックトレースにより被害配線と複数の加害配線に設定された出力パターンを実現する入力パターンを求める方法について説明する。
実施形態で用いるバックトレースとは、例えば、出力側から各論理ゲートの出力に対応する入力について求めていくことにより、被害配線や加害配線に出力する信号の状態を満たす解析回路の入力端子に入力する入力パターンを求める方法である。そして、図11〜図14に示す変換規則は、AND・ORの論理式で構成されているため、バックトレースにおいて、例えば、バックトラック探索方式を用いることができる。
このとき、実施形態の設計支援装置1は、加害配線上の信号のレベルを決定する、解析回路に入力する入力信号のうち、1つの入力信号のレベルを切替えることで、加害配線上の信号のレベルを遷移させる入力パターンを探索する。図11〜図14に示す変換規則と、図15に示す生成条件とは、1つの入力信号のレベルを切替えることで、加害配線上の信号のレベルを遷移させる入力パターンを探索するための条件として用いられる。
変換規則と生成条件とは、例えば、あらかじめユーザがパス情報24に格納しても良い。また、変換規則は、例えば、解析回路に含まれる素子について、それぞれ対応する変換規則を探索部14が生成しても良い。さらに、生成条件は、例えば、解析回路に含まれる素子について、それぞれ対応する生成条件を探索部14が生成しても良い。
探索部14は、加害配線上の信号のレベルが立ち上がるときに発生するクロストークノイズを解析するために用いる、被害配線に0、複数の加害配線に立上り信号Rが出力される第1出力パターンを生成する。
さらに、探索部14は、加害配線上の信号のレベルが立ち下がるときに発生するクロストークノイズを解析するために用いる、被害配線に1、複数の加害配線に立下り信号Fが出力される第2出力パターンを生成する。
そして、探索部14は、第1出力パターンと第2出力パターンを満たす入力パターンをバックトレースにより探索する。
図11は、ノードの0/1変換規則を示す図である。図12は、スタックの開閉の変換規則を示す図である。
図11、図12を参照して、被害配線に固定の信号を出力するための入力パターンを、探索部14が探索する方法について説明する。
図11に示す入力ピン81を参照し、探索部14が、入力ピンの出力信号に対応する、入力ピンの入力信号をバックトレースにより求める方法について説明する。
図11に示す式(1)において、zero(z)は、入力ピン81の出力信号を0にするという意味を示している。また、z=0は、入力ピン81に0を入力することを示している。すなわち、式(1)は、入力ピン81の出力信号を0にするとき、入力ピン81の入力端子に0を入力すればよいことを示している。
図11に示す式(2)において、one(z)は、入力ピン81の出力信号を1にするという意味を示している。また、z=1は、入力ピン81に1を入力することを示している。すなわち、式(2)は、入力ピン81の出力信号を1にするとき、入力ピン81の入力端子に1を入力すればよいことを示している。
以上の変換規則にしたがって、探索部14は、入力ピンの所望の出力信号に対応する入力信号のパターンを求める。なお、式(1)および式(2)の条件は、例えば、図8に示す部分回路51の入出力関係を求めるときに用いられる。
図11に示す論理ゲート82を参照し、探索部14が、論理ゲート82の出力信号に対応する、論理ゲート82の入力信号を求める方法を説明する。なお、以下の説明では、論理ゲートをNANDゲートとして説明する。ただし、探索部14は、他の論理ゲートにつても同様に、入出力信号の関係を用いて出力信号に対応する入力信号のパターンを求めても良い。
図11に示す式(3)において、zero(z)は、論理ゲートの出力信号を0にするという意味を示している。また、close(P0)は、論理ゲート82に含まれるPMOSスイッチP0をオフ状態にすることを示している。close(P1)は、論理ゲート82に含まれるPMOSスイッチP1をオフ状態にすることを示している。open(N0)は、論理ゲート82に含まれるNMOSスイッチN0をオン状態にすることを示している。すなわち、式(3)は、論理ゲート82の出力信号を0にするとき、PMOSスイッチP0、P1をオフ状態にし、かつNMOSスイッチN0をオン状態にすればよいことを示している。なお、PMOSとは、pチャネル(pch)MOSの略である。NMOSとは、Nチャネル(nch)MOSの略である。
図11に示す式(4)において、one(z)は、論理ゲートの出力信号を1にするという意味を示している。また、open(P0)は、論理ゲート82に含まれるPMOSスイッチP0をオン状態にすることを示している。open(P1)は、論理ゲート82に含まれるPMOSスイッチP1をオン状態にすることを示している。さらに、close(N0)は、論理ゲート82に含まれるNMOSスイッチN0をオフ状態にすることを示している。すなわち、式(4)は、論理ゲート82の出力信号を1にするとき、PMOSスイッチP0またはP1をオン状態にし、かつNMOSスイッチN0をオフ状態にすればよいことを示している。
図12を参照して、図11に示すPMOSスイッチP0、P1と、NMOSスイッチN0とを、オンオフさせるための論理ゲート82への入力信号の組合せを説明する。図12では、図11に示すPMOSスイッチP0、P1(PMOSスイッチ83)は、複数のPMOSトランジスタのソースとドレインとを接続したスタック構造であるものとして説明する。また、NMOSスイッチN0(NMOSスイッチ84)は、複数のNMOSトランジスタのソースとドレインとを接続したスタック構造であるものとして説明する。なお、図12では、PMOSスイッチとNMOSスイッチとのスタック数を3としているが、スタック数を2以上の任意の数にしても良い。また、PMOSスイッチ83と、NMOSスイッチ84とは、スタック構造ではなく、単体のトランジスタで構成されても良い。
そして、論理ゲート82の入力信号とは、NMOSスイッチ83の入力端子a〜入力端子cと、PMOSスイッチ84の入力端子a〜入力端子cとにそれぞれ入力される入力信号のことである。また、NMOSスイッチ83の入力端子a〜入力端子cと、PMOSスイッチ84の入力端子a〜入力端子cとの入力端子名が同じなのは、それぞれ共通の入力信号が入力されるためである。そして、NMOSスイッチ83と、PMOSスイッチ84との間で同じ入力端子名の入力端子を持つトランジスタは、CMOS構造を形成している。CMOSとは、Complementary MOSの略である。
図12に示す式(5)において、open(P)は、PMOSスイッチ83をオン状態にするという意味を示している。また、zero(a)は、PMOSスイッチ83が含むPMOSトランジスタの入力端子a(ゲート端子)に0を入力することを示している。zero(b)は、PMOSスイッチ83が含むPMOSトランジスタの入力端子bに0を入力することを示している。zero(c)は、PMOSスイッチ83が含むトランジスタの入力端子cに0を入力することを示している。すなわち、式(5)は、PMOSスイッチ83をオン状態にするとき、PMOSスイッチ83が含むPMOSトランジスタの入力端子a〜入力端子cの全てに0を入力すればよいことを示している。
図12に示す式(6)において、close(P)は、PMOSスイッチ83をオフ状態にするという意味を示している。また、one(a)は、PMOSスイッチ83が含むトランジスタの入力端子aに1を入力することを示している。one(b)は、PMOSスイッチ83が含むPMOSトランジスタの入力端子bに1を入力することを示している。one(c)は、PMOSスイッチ83が含むPMOSトランジスタの入力端子cに1を入力することを示している。すなわち、式(6)は、PMOSスイッチ83をオフ状態にするとき、PMOSスイッチ83が含むPMOSトランジスタの入力端子a〜入力端子cのいずれか一つ以上に1を入力すればよいことを示している。
図12に示す式(7)において、open(N)は、NMOSスイッチ84をオン状態にするという意味を示している。また、one(a)は、NMOSスイッチ84が含むNMOSトランジスタの入力端子a(ゲート端子)に1を入力することを示している。one(b)は、NMOSスイッチ84が含むNMOSトランジスタの入力端子bに1を入力することを示している。one(c)は、NMOSスイッチ84が含むNMOSトランジスタの入力端子cに1を入力することを示している。すなわち、式(7)は、NMOSスイッチ84をオン状態にするとき、NMOSスイッチ84が含むトランジスタの入力端子a〜入力端子cの全てに1を入力すればよいことを示している。
図12に示す式(8)において、close(N)は、NMOSスイッチ84をオフ状態にするという意味を示している。また、zero(a)は、NMOSスイッチ84が含むNMOSトランジスタの入力端子aに0を入力することを示している。zero(b)は、NMOSスイッチ84が含むトランジスタの入力端子bに0を入力することを示している。zero(c)は、NMOSスイッチ84が含むNMOSトランジスタの入力端子cに0を入力することを示している。すなわち、式(8)は、NMOSスイッチ84をオフ状態にするとき、NMOSスイッチ84が含むNMOSトランジスタの入力端子a〜入力端子cのいずれか一つ以上に0を入力すればよいことを示している。
以上の変換規則にしたがって、探索部14は、論理ゲート82の所望の出力信号に対応する入力信号のパターンをバックトレースにより求める。なお、式(3)〜式(8)の条件は、例えば、図10に示すNANDゲートの入出力関係を求めるときに用いられる。
図13は、ノードのrise/fall変換規則を示す図である。図14は、スタックのrise/fallの変換規則を示す図である。
図13、図14を参照して、被害配線に遷移信号を出力するための入力パターンを、探索部14が探索する方法について説明する。
図13に示す入力ピン91を参照し、探索部14が、入力ピンの出力信号に対応する、入力ピンの入力信号をバックトレースにより求める方法を説明する。以下の説明では、立上り信号Rのことを単にRとも言う。また、立下り信号Fのことを単にFとも言う。
図13に示す式(9)において、rise(z)は、入力ピン91の出力信号をRにするという意味を示している。また、z=Rは、入力ピン91にRを入力することを示している。すなわち、式(9)は、入力ピン91の出力信号をRにするとき、入力ピン91の入力端子にRを入力すればよいことを示している。
図13に示す式(10)において、fall(z)は、入力ピン91の出力信号をFにするという意味を示している。また、z=Fは、入力ピン91にFを入力することを示している。すなわち、式(10)は、入力ピン91の出力信号をFにするとき、入力ピン91の入力端子にFを入力すればよいことを示している。
以上の変換規則にしたがって、探索部14は、入力ピンの所望の出力信号に対応する入力信号のパターンをバックトレースにより求める。なお、式(9)および式(10)の条件は、例えば、図8に示す部分回路51の入出力関係を求めるときに用いられる。
図13に示す論理ゲート92を参照し、探索部14が、論理ゲート92の出力信号に対応する、論理ゲート92の入力信号を求める方法について説明する。なお、以下の説明では、論理ゲートをNANDゲートとして説明する。ただし、探索部14は、他の論理ゲートにつても同様に、入出力信号の関係を用いて出力信号に対応する入力信号のパターンを求めても良い。
図13に示す式(11)において、rise(z)は、論理ゲートの出力信号をRにするという意味を示している。
rise(P0)は、論理ゲート92に含まれるPMOSスイッチP0の出力信号を、Rの遷移前に0にし、Rの遷移後に1にすることを示している。すなわち、rise(P0)は、論理ゲート92に含まれるPMOSスイッチP0を、Rの遷移前にオフ状態にし、Rの遷移後にオン状態にすることを示している。
rise(P1)は、論理ゲート92に含まれるPMOSスイッチP1の出力信号を、Rの遷移前に0にし、Rの遷移後に1にすることを示している。すなわち、rise(P0)は、論理ゲート92に含まれるPMOSスイッチP1を、Rの遷移前にオフ状態にし、Rの遷移後にオン状態にすることを示している。
また、close(P0)は、論理ゲート92に含まれるPMOSスイッチP0をオフ状態にすることを示している。close(P1)は、論理ゲート92に含まれるPMOSスイッチP1をオフ状態にすることを示している。さらに、close(N0)は、論理ゲート92に含まれるNMOSスイッチN0をオフ状態にすることを示している。
すなわち、式(11)は、論理ゲート92の出力信号をRにするとき、Rの遷移前において、PMOSスイッチP0、P1をオフ状態にすればよいことを示している。そして、式(11)は、論理ゲート92の出力信号をRにするとき、Rの遷移後において、PMOSスイッチP0をオン状態にし、かつNMOSスイッチN0をオフ状態にすればよいことを示している。
図13に示す式(12)において、fall(z)は、論理ゲートの出力信号をFにするという意味を示している。
fall(N0)は、論理ゲート92に含まれるNMOSスイッチN0の出力信号を、Fの遷移前に1にし、Fの遷移後に0にすることを示している。すなわち、fall(N0)は、論理ゲート92に含まれるNMOSスイッチN0を、Nの遷移前にオフ状態にし、Fの遷移後にオン状態にすることを示している。
また、close(P0)は、論理ゲート92に含まれるPMOSスイッチP0をオフ状態にすることを示している。close(P1)は、論理ゲート92に含まれるPMOSスイッチP1をオフ状態にすることを示している。
よって、式(12)は、Fの遷移後において、NMOSスイッチN0をオン状態にし、かつPMOSスイッチP0、P1をオフ状態にすればよいことを示している。
図14を参照して、図13に示すPMOSスイッチP0、P1と、NMOSスイッチN0との出力信号をR、Fにするための論理ゲート92への入力信号の組合せを説明する。図14では、図13に示すPMOSスイッチP0、P1(PMOSスイッチ93)は、複数のPMOSトランジスタのソースとドレインとを接続したスタック構造であるものとして説明する。また、NMOSスイッチN0(NMOSスイッチ94)は、複数のNMOSトランジスタのソースとドレインとを接続したスタック構造であるものとして説明する。なお、図14では、PMOSスイッチとNMOSスイッチとのスタック数を3としているが、スタック数を2以上の任意の数にしても良い。また、PMOSスイッチ93と、NMOSスイッチ94とは、スタック構造ではなく、単体のトランジスタで構成されても良い。
そして、論理ゲート92の入力信号とは、NMOSスイッチ93の入力端子a〜入力端子cと、PMOSスイッチ94の入力端子a〜入力端子cとにそれぞれ入力される入力信号のことである。また、NMOSスイッチ93の入力端子a〜入力端子cと、PMOSスイッチ94の入力端子a〜入力端子cとの入力端子名が同じなのは、それぞれ共通の入力信号が入力されるためである。そして、NMOSスイッチ93と、PMOSスイッチ94との間で同じ入力端子名の入力端子を持つトランジスタは、CMOS構造を形成している。
図14に示す式(13)において、rise(P)は、PMOSスイッチ93の出力信号zをRにすることを示している。また、fall(a)〜fall(c)はそれぞれ、PMOSスイッチ93が含むPMOSトランジスタの入力端子a〜入力端子cにFを入力することを示している。zero(a)〜zero(c)はそれぞれ、PMOSスイッチ93が含むPMOSトランジスタの入力端子a〜入力端子cに0を入力することを示している。すなわち、式(13)は、PMOSスイッチ93の出力信号をRにするとき、Rの遷移前に、PMOSスイッチ93の入力端子a〜入力端子cのいずれか一つに1を入力し、他の入力端子に0を入力すればよいことを示している。また、式(13)は、PMOSスイッチ93の出力信号をRにするとき、Rの遷移後に、PMOSスイッチ93の入力端子a〜入力端子cの全てに0を入力すればよいことを示している。
図14に示す式(14)において、fall(P)は、NMOSスイッチ94の出力信号zをFにすることを示している。また、rise(a)〜rise(c)はそれぞれ、NMOSスイッチ94が含むNMOSトランジスタの入力端子a〜入力端子cにRを入力することを示している。one(a)〜one(c)はそれぞれ、NMOSスイッチ94が含むNMOSトランジスタの入力端子a〜入力端子cに1を入力することを示している。すなわち、式(14)は、NMOSスイッチ94の出力信号をFにするとき、Fの遷移前に、NMOSスイッチ93の入力端子a〜入力端子cのいずれか一つに0を入力し、他の入力端子に1を入力すればよいことを示している。また、式(14)は、PMOSスイッチ93の出力信号をFにするとき、Fの遷移後に、PMOSスイッチ93の入力端子a〜入力端子cの全てに1を入力すればよいことを示している。
以上の変換規則にしたがって、探索部14は、論理ゲート92の所望の出力信号に対応する入力信号のパターンをバックトレースにより求める。なお、式(11)〜式(14)の条件は、例えば、図10に示すNANDゲートの入出力関係を求めるときに用いられる。
ここで、探索部14が、遷移パスを求める処理について説明する。
探索部14は、出力端子が加害配線に接続される論理ゲートの1つの入力信号のレベルを切替えることにより、出力信号のレベルが遷移するように、解析回路に含まれる論理ゲートに入力される入力信号の組合せを設定する。
探索部14は、さらに、切替える入力信号を入力する論理ゲートの端子に接続される論理ゲートについて、1つの入力信号のレベルを切替えることにより、出力信号のレベルが遷移するように、入力信号の組合せを設定する。
探索部14は、さらに、切替える入力信号を入力する端子以外の論理ゲートの端子に接続される論理ゲートについて、出力信号のレベルが固定となるように入力信号の組合せを設定する。
このとき、探索部14は、図11〜図14を用いて説明した変換規則を用いて、図15に示す条件にしたがい、実施形態における論理ゲートに入力される入力信号の組合せを設定する。
図13〜図15を参照して、探索部14が論理ゲート92に入力される入力信号の組合せを求める処理について説明する。図15の条件201〜203は、遷移信号を考慮したバックトレースにおいて、設定しても良い入力信号の組合せの条件を示している。また、以下の説明では、一例として、論理ゲート92の出力信号を立上り信号Rであるものとする。また、入力端子a〜入力端子cは、それぞれ図14に示すPMOSスイッチ93とNMOSスイッチ94との入力端子a〜入力端子cであるものとする。ただし、探索部14は、他の遷移信号と他の論理ゲートとの組合せにつても同様に、対応する条件を設定し、出力信号に対応する入力信号のパターンを求めても良い。
条件201について説明する。
図15の式(15)において、Pは、例えば、図13の式(11)のrise(P0)を示す。また、図15の式(15)において、Qは、例えば、図13の式(11)の遷移前のclose(P1)または遷移後のclose(N0)を示す。
そして、a=xは、例えば、図14に示す入力端子aに論理ゲート92の出力信号である立上り信号Rと逆の立下り信号Fを入力すると言う条件を示す。a=xは、さらに、入力端子a以外の入力端子に入力する信号は固定すると言う条件を示しても良い。すなわち、図14に示す入力端子bと入力端子cには、論理ゲート92の出力信号の遷移前後で同じ信号を入力するという条件としても良い。
よって、式(15)は、例えば、論理ゲート92の出力信号の遷移前において、論理ゲート92のPMOSスイッチP0∩PMOSスイッチP1の入力端子aに1を入力することを示している。さらに、式(15)は、PMOSスイッチP0∩PMOSスイッチP1の入力端子aに1を入力することと、PMOSスイッチP0の入力端子aに1を入力し、かつPMOSスイッチP1の入力端子aに1を入力することとが等価であることを示している。条件201にしたがうことにより、探索部14は、論理ゲート92の出力信号を0にする論理ゲート92の入力信号の組合せの中から、PMOSスイッチP0とPMOSスイッチP1の入力端子aに1を入力する入力信号の組合せを探索する。なお、PMOSスイッチP0とPMOSスイッチP1との入力端子aは、共通端子であるものとする。
また、式(15)は、例えば、論理ゲート92の出力信号の遷移後において、論理ゲート92のPMOSスイッチP0∩NMOSスイッチN0の入力端子aに0を入力することを示している。さらに、式(15)は、PMOSスイッチP0∩NMOSスイッチN0の入力端子aに0を入力することと、PMOSスイッチP0の入力端子aに0を入力し、かつNMOSスイッチN0の入力端子aに0を入力することとが等価であることを示している。条件201にしたがうことにより、探索部14は、論理ゲート92の出力信号を1にする論理ゲート92の入力信号の組合せの中から、PMOSスイッチP0とNMOSスイッチN0の入力端子aに0を入力する入力信号の組合せを探索する。
図15の式(16)のPは、例えば、図13の式(11)において、rise(P0)∩(close(P1)@input=遷移前)を示している。また、図15の式(16)のQは、例えば、図13の式(11)において、rise(P1)∩(close(P0)@input=遷移前)を示している。すなわち、図15の式(16)は、変換規則がorで示されるとき、どちらか一つの変換規則を満たせばよいことを示している。
条件202、203について説明する。
条件202の式(17)は、入力端子aに0を入力する入力信号の組合せを探索するとき、入力端子aに入力する入力信号に0を設定しても良いことを示している。条件202の式(18)は、入力端子aに0を入力する入力信号の組合せを探索するとき、入力端子aに入力する入力信号に1を設定してはいけないことを示している。
条件202の式(19)は、入力端子aに0を入力する入力信号の組合せを探索するとき、入力端子bに入力する入力信号に0を設定しても良いことを示している。条件202の式(20)は、入力端子aに0を入力する入力信号の組合せを探索するとき、入力端子bに入力する入力信号に1を設定しても良いことを示している。
条件202の式(21)は、入力端子aに0を入力する入力信号の組合せを探索するとき、入力端子cに入力する入力信号に0を設定しても良いことを示している。条件202の式(22)は、入力端子aに0を入力する入力信号の組合せを探索するとき、入力端子cに入力する入力信号に1を設定しても良いことを示している。
条件203の式(23)は、入力端子aに1を入力する入力信号の組合せを探索するとき、入力端子aに入力する入力信号に0を設定してはいけないことを示している。条件202の式(24)は、入力端子aに1を入力する入力信号の組合せを探索するとき、入力端子aに入力する入力信号に1を設定しても良いことを示している。
条件202の式(25)は、入力端子aに1を入力する入力信号の組合せを探索するとき、入力端子bに入力する入力信号に0を設定しても良いことを示している。条件202の式(26)は、入力端子aに1を入力する入力信号の組合せを探索するとき、入力端子bに入力する入力信号に1を設定しても良いことを示している。
条件202の式(27)は、入力端子aに1を入力する入力信号の組合せを探索するとき、入力端子cに入力する入力信号に0を設定しても良いことを示している。条件202の式(28)は、入力端子aに1を入力する入力信号の組合せを探索するとき、入力端子cに入力する入力信号に1を設定しても良いことを示している。
論理ゲート92の出力信号がR(遷移前は0)のとき、遷移前において入力端子aには、例えば、反対の論理値である1を入力する。したがって、条件203は、論理ゲート92の出力信号Rの遷移前に対応する入力信号の組合せを探索するときの条件となる。論理ゲート92の出力信号がR(遷移後は1)のとき、遷移後において入力端子aには、例えば、反対の論理値である0を入力する。したがって、条件202は、論理ゲート92の出力信号Rの遷移後に対応する入力信号の組合せを探索するときの条件となる。
論理ゲート92の出力信号がF(遷移前は1)のとき、遷移前において入力端子aには、例えば、反対の論理値である0を入力する。したがって、条件202は、論理ゲート92の出力信号Fの遷移前に対応する入力信号の組合せを探索するときの条件となる。論理ゲート92の出力信号がF(遷移後は0)のとき、遷移後において入力端子aには、例えば、反対の論理値である1を入力する。したがって、条件203は、論理ゲート92の出力信号Fの遷移後に対応する入力信号の組合せを探索するときの条件となる。
以上の条件201〜203にしたがって、探索部14は、論理ゲート92の所望の出力信号に対応する入力信号のパターンをバックトレースにより求める。
探索部14は、例えば、図4に示すように、解析回路130に2本の加害配線agg0、agg1があるとき、加害配線agg0と加害配線agg1とのそれぞれに、遷移前後の信号のレベルについて、同じレベルを設定する。そして、探索部14は、加害配線agg0と加害配線agg1とのそれぞれが同じ信号のレベルを満たすように、解析回路に入力する入力パターンをバックトレースにより探索しても良い。これにより、探索部14は、クロストークノイズの解析を行なうとき、加害配線agg0と加害配線agg1との信号のレベルを、同じレベルに遷移させるための入力パターンを求めることができる。
探索部14は、例えば、図16に示すように、加害配線agg0と加害配線agg1とが、同じ信号のレベルを同時に満たす入力信号の組合せがないとき、被害配線vicへの影響が大きい加害配線の信号のレベルを優先する。そして、探索部14は、図16に示すように、φ(C0)<φ(C1)であるとき、優先した加害配線agg1の信号のレベルを満たすように、解析回路の入力信号の組合せをバックトレースにより探索しても良い。
φ(C0)とφ(C1)とは、それぞれ加害配線agg0と加害配線agg1とが被害配線vicに影響を与える度合いを示す評価関数φである。評価関数φは、例えば、加害配線と被害配線との間の容量結合の大きさに比例して、大きくなるように設定しても良い。また、評価関数は、例えば、加害配線に信号を出力する素子のドライバビリティの高さに比例して、大きくなるように設定しても良い。なお、加害配線と被害配線との間の容量結合の大きさは、加害配線の配線長と、被害配線の配線長と、加害配線と被害配線との配線間距離から求めても良い。
加害配線agg0と加害配線agg1とは、例えば、図16において、NOT71を介して直列に接続されているので、同じ信号のレベルを同時に満たすことができない。また、図4に示すように、加害配線agg0と加害配線agg1とが並列であるときにも、組合せ回路131内で加害配線agg0と加害配線agg1とのパスが部分的に同じパスを通る場合には、同じ信号のレベルを同時に満たすことができないことがある。この場合にも、探索部14は、被害配線vicへの影響が大きい加害配線の信号のレベルを優先して、解析回路の入力信号の組合せをバックトレースにより探索しても良い。
図6を参照して説明する。
算出部15は、切替える入力信号を入力する解析回路の入力端子と、加害配線に接続される出力端子とを結ぶ遷移パスの遅延時間を算出する。このとき、算出部15は、マッピングにおいて割り当てたセルを参照し、遷移パスに含まれる各論理に起因する遅延時間と、各配線に起因する遅延時間とを加算することにより、遷移パスの遅延時間を算出しても良い。
生成部16は、解析回路に含まれる第1遷移パス、第2遷移パスに入力する入力信号のレベルの切替えを、加害配線agg0と加害配線agg1との信号のレベルの遷移が同時になるように、各遷移パスの遅延時間の差分だけシフトさせる入力ベクタを生成する。加害配線agg0と加害配線agg1とは、例えば、解析回路に含まれる加害配線のことである。第1遷移パスとは、例えば、加害配線agg0に接続される遷移パスのことである。第2遷移パスとは、例えば、加害配線agg1に接続される遷移パスのことである。入力ベクタとは、設計支援装置1が回路に入力する信号の入力パターンと、入力パターンを入力するタイミングを示す情報である。設計支援装置1は、入力ベクタの情報にしたがい、各入力パターンの信号を指定されたタイミングで回路に入力する。
生成部16は、例えば、図4に示すように、加害配線agg0と加害配線agg1とが解析回路に含まれるとき、図17に示すように、第1遷移パスの遅延時間delay0と、第2遷移パスの遅延時間delay1との差分Dを求める。そして、生成部16は、差分Dだけ、第1遷移パスに入力する信号のレベルの切替えより、第2遷移パスに入力する信号のレベルの切替えを差分Dだけ遅らせる入力ベクタを生成しても良い。
生成部16は、例えば、解析回路130に含まれる複数の加害配線に接続される遷移パスの遅延時間の中で、最長の遅延時間と他の遅延時間との差分を求める。そして、生成部16は、例えば、最長の遅延時間を持つパスに入力する入力信号のレベルの切替えより、他の遅延時間を持つパスに入力する入力信号のレベルの切替えを、差分だけ遅らせる入力ベクタを生成しても良い。
接続情報21には、例えば、入力部31から入力された集積回路のネットリストを格納する。また、接続情報21は、例えば、集積回路のネットリストを用いてマッピングした集積回路のデータを格納する。
部分情報22には、例えば、分割部12で分割された部分回路の接続情報が格納される。部分回路の接続情報は、例えば、部分回路のネットリストと、部分回路のネットリストとを用いてマッピングした部分回路のデータでも良い。
合成情報23には、例えば、合成部13で合成された解析回路の接続情報が格納される。解析回路の接続情報は、例えば、解析回路のネットリストと、解析回路のネットリストをマッピングした解析回路のデータでも良い。
パス情報24には、例えば、図11〜図14に示す変換規則と、図15に示す生成条件と、探索部14で探索された遷移パスの情報が格納される。遷移パスの情報とは、例えば、遷移パスに含まれる配線と論理ゲートとの接続関係を示す情報でも良い。
遅延情報25には、例えば、算出部15で算出された各遷移パスの持つ遅延時間が格納される。
生成情報26には、例えば、探索部14の探索により求められた入力パターンと、生成部16で生成された入力ベクタとが格納される。
入力部31は、例えば、集積回路のネットリストの入力を受け付ける。
出力部32は、例えば、生成部16で生成した入力ベクタを各種装置に出力する。
図18は、入力ベクタの生成処理を示すフローチャートである。
図18を参照して、図6に示す設計支援装置1が解析回路に含まれる複数の加害配線上の信号のレベルを同時に遷移させる入力ベクタを生成する処理を説明する。以下の説明では、入力部31にネットリスト40が入力されたものとして説明する。
取得部11は、入力部31から入力されたネットリスト40をテクノロジマッピングする(S101)。
分割部12は、取得部11でマッピングされた集積回路のデータを参照し、集積回路100を電源とゲートとで区切って、ソースとドレインの接続ごとに分割した部分回路のデータを生成する(S102)。
合成部13は、分割部12で分割された部分回路のデータを参照し、被害配線を含む部分回路と被害配線に対する影響を与える加害配線を含む複数の部分回路とを合成した解析回路のデータを生成する(S103)。
探索部14は、合成部13で合成された解析回路のデータを参照し、解析回路に含まれる被害配線と複数の加害配線のそれぞれに、出力信号の状態を設定する(S104)。探索部14は、例えば、被害配線の信号のレベルを0に設定したとき、複数の加害配線の信号に立上り信号Rを設定する。また、探索部14は、例えば、被害配線の信号のレベルを1に設定したとき、複数の加害配線の信号に立下り信号Fを設定する。
探索部14は、設定した出力信号の状態を満たす入力パターンをバックトレースにより探索する(S105)。このとき、探索部14は、加害配線上の信号のレベルを、解析回路に入力する1つの入力信号を切替えるだけで遷移させるための2つの入力パターンの組を探索する。探索部14は、設定した出力信号の状態を満たす入力パターンの組が複数あるとき、所定の数(1以上)の入力パターンまで探索し、探索を終了しても良い。これにより、設計支援装置1は、入力パターンを探索する処理の負担を抑制することができる。なお、探索部14が設定した出力信号の状態を満たす入力パターンを複数求めたとき、S108において、生成部16は、それぞれの入力パターンを用いて、クロストークノイズ解析用の入力ベクタを生成しても良い。これにより、設計支援装置1は、複数の遷移パスを伝播した信号によるクロストークノイズの影響を検出し、クロストークノイズの解析の精度を向上することができる。
探索部14は、加害配線上の信号のレベルを遷移するために切替える、入力信号を入力する解析回路の入力端子と、加害配線に接続される出力端子とを結ぶパスを遷移パスとして求める(S106)。
算出部15は、探索部14により求められた各加害配線に接続される遷移パスの遅延時間を算出する(S107)。
生成部16は、算出部15で算出された複数の遅延時間を用いて、複数の加害配線上の信号のレベルの遷移が同時になるように、複数の遷移パスの入力端子に入力する入力信号のタイミングをシフトさせた入力ベクタを生成する(S108)。
図19は、コンピュータ装置の一実施例を示すブロック図である。
図19を参照して、設計支援装置1の構成について説明する。
図19において、コンピュータ装置300は、制御回路301と、記憶装置302と、読書装置303と、記録媒体304と、通信インターフェイス305(通信I/F)と、入出力インターフェイス306(入出力I/F)と、表示装置307と、ネットワーク308とを備えている。また、各構成要素は、バス309により接続されている。
制御回路301は、コンピュータ装置300全体の制御をする。そして、制御回路301は、例えば、CPU、マルチコアCPU、FPGA(Field Programmable Gate Array)およびPLD(Programmable Logic Device)などである。制御回路301は、例えば、図6において、制御部10として機能する。なお、記憶部20に含まれる接続情報21と、部分情報22と、合成情報23と、バス情報24と、遅延情報25と、生成情報26とは、例えば、CPU、FPGA、およびPLDのキャッシュに記憶されても良い。
記憶装置302は、各種データを記憶する。そして、記憶装置302は、例えば、ROM(Read Only Memory)およびRAM(Random Access Memory)などのメモリや、HD(Hard Disk)などで構成される。記憶装置302は、例えば、図6において、記憶部20として機能する。そして、記憶装置302は、例えば、図6に示す、接続情報21と、部分情報22と、合成情報23と、バス情報24と、遅延情報25と、生成情報26とを記憶しても良い。
また、ROMは、ブートプログラムなどのプログラムを記憶している。RAMは、制御回路301のワークエリアとして使用される。HDは、OS、アプリケーションプログラム、ファームウェアなどのプログラム、および各種データを記憶している。
記憶装置302は、例えば、制御回路301を、制御部10として機能させる入力ベクタ生成プログラムを記憶する。
データの転送処理をするとき、設計支援装置1は、記憶装置302に記憶された入力ベクタ生成プログラムをRAMに読み出す。そして、RAMに読み出された入力ベクタ生成プログラムを制御回路301で実行することで、設計支援装置1は、入力ベクタの生成処を実行する。
なお、入力ベクタ生成プログラムは、制御回路301が通信インターフェイス305を介してアクセス可能であれば、ネットワーク308上のサーバが有する記憶装置に記憶されていても良い。
読書装置303は、制御回路301に制御され、着脱可能な記録媒体304のデータのリード/ライトを行なう。そして、読書装置303は、例えば、FDD(Floppy Disk Drive)、CDD(Compact Disc Drive)、DVDD(Digital Versatile Disk Drive)、BDD(Blu−ray(登録商標) Disk Drive)およびUSB(Universal Serial Bus)などである。
記録媒体304は、各種データを保存する。記録媒体304は、例えば、入力ベクタ生成プログラムを記憶する。さらに、記録媒体304は、図6に示す、接続情報21と、部分情報22と、合成情報23と、バス情報24と、遅延情報25と、生成情報26とを記憶しても良い。
そして、記録媒体304は、読書装置303を介してバス309に接続され、制御回路301が読書装置303を制御することにより、データのリード/ライトが行なわれる。また、記録媒体304は、例えば、FD(Floppy Disk)、CD(Compact Disc)、DVD(Digital Versatile Disk)、BD(Blu−ray(登録商標) Disk)、およびフラッシュメモリなどである。
通信インターフェイス305は、ネットワーク308を介してコンピュータ装置300と他の装置とを通信可能に接続する。
入出力インターフェイス306は、例えば、キーボード、マウス、およびタッチパネルなどと接続され、接続された装置から各種情報を示す信号が入力されると、バス309を介して入力された信号を制御回路301に出力する。また、入出力インターフェイス306は、制御回路301から出力された各種情報を示す信号がバス309を介して入力されると、接続された各種装置にその信号を出力する。入出力インターフェイス306は、例えば、図6において、入出力部30として機能する。
表示装置307は、例えば、入出力インターフェイス306に接続され、各種情報を表示する。
ネットワーク308は、例えば、LAN、無線通信、またはインターネットなどであり、コンピュータ装置300と他の装置を通信接続する。
以上のように、実施形態の設計支援装置1は、解析回路に含まれる加害配線上の信号のレベルを、解析回路に入力する1つの信号のレベルを切替えることで遷移させる入力パターンを探索する。また、設計支援装置1は、切替える入力信号を入力する解析回路の入力端子と加害配線に接続される出力端子とを結ぶ遷移パスの遅延時間を算出する。そして、設計支援装置1は、算出された各遷移パスの遅延時間を用いて、遷移前後の入力パターンの切替えのタイミングを、複数の加害配線上の信号のレベルが同時に遷移するようにシフトする。これにより、設計支援装置1は、クロストークノイズの解析において、複数の加害配線の信号のレベルを同時に遷移させることができる。
また、実施形態の設計支援装置1は、複数の加害配線上の信号のレベルを同時に遷移させることにより、複数の加害配線上の信号の変化を被害配線から見て相対的に急峻にする。これにより、設計支援装置1は、複数の加害配線から被害配線への影響を大きくし、クロストークノイズの最悪値を精度よく検出することができる。
さらに、設計支援装置1は、検出したクロストークノイズの最悪値を設計段階にフィードバックすることにより、製造段階で集積回路に不具合が発生する可能性を、設計段階で抑制する精度を向上することができる。
なお、本実施形態は、以上に述べた実施形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
以上記載した各実施例を含む実施形態に関し、さらに以下の付記を開示する。なお、本発明は、以下の付記に限定されるものではない。
(付記1)
ノイズの解析対象である被害配線に影響を与える加害配線上の信号のレベルを決定する入力信号のうち、1つの入力信号のレベルを切替えることで前記加害配線上の信号のレベルを遷移させる、解析回路に入力する入力信号の組合せをバックトレースにより探索する探索部(14)と、
前記切替える入力信号を入力する解析回路の入力端子と、前記加害配線に接続される出力端子とを結ぶ遷移パスの遅延時間を算出する算出部(15)と、
前記解析回路に含まれる第1加害配線に接続される第1遷移パス、または第2加害配線に接続される第2遷移パスに入力する入力信号のレベルの切替えを、前記第1加害配線と第2加害配線との信号のレベルの遷移が同時になるように、算出された遅延時間の差分だけシフトさせる入力ベクタを生成する生成部(16)と、
を備えることを特徴とする設計支援装置(図6)。
(付記2)
前記探索部(14)は、
前記第1加害配線と第2加害配線とのそれぞれに、前記遷移前後の信号のレベルについて、同じレベルを設定し、前記第1加害配線と第2加害配線とのそれぞれが前記同じ信号のレベルを満たすように、前記解析回路に入力する入力信号の組合せをバックトレースにより探索する
ことを特徴とする付記1に記載の設計支援装置(図6)。
(付記3)
回路を電源およびゲートで区切られた部分回路に分割する分割部(12)と、
前記被害配線を含む部分回路と前記被害配線に対して影響を与える加害配線を含む複数の部分回路とから解析回路を合成する合成部(13)と、
を備えることを特徴とする付記1または2に記載の設計支援装置(図6)。
(付記4)
前記探索部(14)は、
前記第1加害配線と前記第2加害配線とが、前記同じ信号のレベルを同時に満たす入力信号の組合せがないとき、被害配線への影響が大きい加害配線の信号のレベルを優先して前記解析回路の入力信号の組合せをバックトレースにより探索する
ことを特徴とする付記1〜3のいずれか一つに記載の設計支援装置(図6)。
(付記5)
前記合成部(13)は、
前記被害配線との容量結合の大きさが第1閾値以上の加害配線を含む部分回路を、前記被害配線を含む部分回路と合成する
ことを特徴とする付記3に記載の設計支援装置(図6)。
(付記6)
前記合成部(13)は、
ドライバビリティの高さが第2閾値以上のトランジスタを含む部分回路を、前記被害配線を含む部分回路と合成する
ことを特徴とする付記3または5に記載の設計支援装置(図6)。
(付記7)
前記探索部(14)は、
前記解析回路に入力する入力信号の中で、前記切替える入力信号以外の入力信号が固定されるように、入力信号の組合せを探索する
ことを特徴とする付記1〜6のいずれか一つに記載の設計支援装置(図6)。
(付記8)
前記探索部(14)は、
前記遷移パスをバックトレースにより探索するとき、1つの入力信号のレベルを切替えることにより、出力信号のレベルが遷移するように、前記解析回路に含まれる論理ゲートに入力される入力信号の組合せを設定する
ことを特徴とする付記1〜7のいずれか一つに記載の設計支援装置(図6)。
(付記9)
前記探索部(14)は、さらに、
前記切替える入力信号を入力する論理ゲートの端子に接続される論理ゲートについて、1つの入力信号のレベルを切替えることにより、出力信号のレベルが遷移するように、入力信号の組合せを設定する
ことを特徴とする付記8に記載の設計支援装置(図6)。
(付記10)
前記探索部(14)は、さらに、
前記切替える入力信号を入力する端子以外の論理ゲートの端子に接続される論理ゲートについて、出力信号のレベルが固定となるように入力信号の組合せを設定する
ことを特徴とする付記8または9に記載の設計支援装置(図6)。
(付記11)
コンピュータにより実行される入力ベクタ生成方法であって、
前記コンピュータは、
ノイズの解析対象である被害配線に影響を与える加害配線上の信号のレベルを決定する入力信号のうち、1つの入力信号のレベルを切替えることで前記加害配線上の信号のレベルを遷移させる、解析回路に入力する入力信号の組合せをバックトレースにより探索し(S105)、
前記切替える入力信号を入力する解析回路の入力端子と、前記加害配線に接続される出力端子とを結ぶ遷移パスの遅延時間を算出し(S106、S107)、
前記解析回路に含まれる第1加害配線に接続される第1遷移パス、または第2加害配線に接続される第2遷移パスに入力する入力信号のレベルの切替えを、前記第1加害配線と第2加害配線との信号のレベルの遷移が同時になるように、算出された遅延時間の差分だけシフトさせる入力ベクタを生成する(S108)
ことを実行する入力ベクタ生成方法(図18)。
(付記12)
ノイズの解析対象である被害配線に影響を与える加害配線上の信号のレベルを決定する入力信号のうち、1つの入力信号のレベルを切替えることで前記加害配線上の信号のレベルを遷移させる、解析回路に入力する入力信号の組合せをバックトレースにより探索し(S105)、
前記切替える入力信号を入力する解析回路の入力端子と、前記加害配線に接続される出力端子とを結ぶ遷移パスの遅延時間を算出し(S106、S107)、
前記解析回路に含まれる第1加害配線に接続される第1遷移パス、または第2加害配線に接続される第2遷移パスに入力する入力信号のレベルの切替えを、前記第1加害配線と第2加害配線との信号のレベルの遷移が同時になるように、算出された遅延時間の差分だけシフトさせる入力ベクタを生成する(S108)
処理をコンピュータに実行させることを特徴とする入力ベクタ生成プログラム(図18)。