(57)【要約】【課題】ノイズを考慮した論理シミュレーション解析／ＳＴＡ解析を行う。【解決手段】半導体設計支援装置に電源ノイズ量ライブラリ２６と出力信号変化量ライブラリ２７とを備える。その電源ノイズ量ライブラリ２６は、入出力部に発生する電源ノイズを解析して得られた電源ノイズデータ７５を格納する。また、出力信号変化量ライブラリ２７は、電源ノイズデータ７５に応答して変化する信号波形を示す出力信号変化データ８１を格納する。その半導体設計支援装置は、電源ノイズに対応する半導体装置の入出力部を示すノイズ対応Ｉ／Ｏレイアウトモデル１３ａを生成する。そして、出力信号変化データ８１と、ノイズ対応Ｉ／Ｏレイアウトモデル１３ａとに基づいて、半導体装置の動作タイミングを予測する。【選択図】図２８
2008083815.tif 000002
【特許請求の範囲】
【請求項１】
半導体装置の設計データを保持するメインライブラリと、
前記メインライブラリから検証対象の半導体装置の設計データを読み出し、前記設計データに基づいて前記半導体装置を構成する回路ブロックのレイアウトを示す回路レイアウトモデルを生成する回路レイアウトモデル生成部と、
前記回路レイアウトモデルに基づいて前記回路ブロックに発生する電源ノイズを解析し、その解析によって得られた電源ノイズ量に基づいて生成された電源ノイズデータを格納する電源ノイズ量ライブラリと、前記電源ノイズデータに応答して変化する信号波形を示す出力信号変化データを格納する出力信号変化量ライブラリとを生成するライブラリ作成部と、
前記設計データに基づいて前記半導体装置のレイアウトを示す半導体レイアウトモデルを生成する半導体レイアウトモデル生成部と、
前記回路レイアウトモデルに基づいて、前記電源ノイズ量に対応する前記半導体装置の回路ブロックを示すノイズ対応回路レイアウトモデルを生成するノイズ伝播経路作成部と、
前記出力信号変化データと、前記ノイズ対応回路レイアウトモデルとに基づいて、前記半導体装置の動作タイミングを予測するタイミング解析部と
を具備する
半導体設計支援装置。
【請求項２】
請求項１に記載の半導体設計支援装置において、
前記ライブラリ生成部は、
電源に接続され、前記半導体装置内部から供給される出力データを、前記回路ブロックの外部に出力する出力側ゲートを前記回路レイアウトモデルから抽出し、前記出力側ゲートに供給される信号に応答して生成される電源ノイズを、前記電源ノイズデータとして前記電源ノイズ量ライブラリに格納する第１ライブラリ生成部と、
前記電源に接続され、前記回路ブロックの外部から供給される入力データを前記半導体装置内部に入力する入力側ゲートを前記回路レイアウトモデルから抽出し、前記電源ノイズデータに応答して、前記入力側ゲートから出力されるノイズ対応出力信号を前記出力信号変化データとして前記出力信号変化量ライブラリに格納する第２ライブラリ生成部と
を備える
半導体設計支援装置。
【請求項３】
請求項２に記載の半導体設計支援装置において、
前記第１ライブラリ生成部は、
前記出力側ゲートに、波形の異なる複数の信号が供給されるとき、前記複数の信号と前記複数の信号に応答して生成される複数の前記電源ノイズとを関連付けて前記電源ノイズデータとして前記電源ノイズ量ライブラリに格納し、
前記第２ライブラリ生成部は、
前記複数の前記電源ノイズと、前記複数の前記電源ノイズに応答して生成される複数の前記ノイズ対応出力信号とを、前記出力信号変化データとして前記出力信号変化量ライブラリに格納する
半導体設計支援装置。
【請求項４】
請求項３に記載の半導体設計支援装置において、
前記ノイズ伝播経路作成部は、
前記電源ノイズを出力するノイズ出力端子を付加した出力側ゲートを示すノイズ出力端子付出力側ゲートモデルを構成するノイズ出力端子付出力ゲートモデル生成部と、
前記電源ノイズを受けるノイズ入力端子を付加した入力側ゲートを示すノイズ入力端子付入力側ゲートモデルを構成するノイズ入力端子付入力ゲートモデル生成部と
を備え、
前記ノイズ出力端子付出力側ゲートモデルのノイズ出力端子と、前記ノイズ入力端子付入力側ゲートモデルのノイズ入力端子とを接続して前記ノイズ対応回路レイアウトモデルを生成する
半導体設計支援装置。
【請求項５】
請求項４に記載の半導体設計支援装置において、
前記ノイズ入力端子付入力ゲートモデル生成部は、
前記出力部に、複数の前記出力側ゲートが含まれるとき、
前記複数の前記出力側ゲートの各々に対応して複数の前記ノイズ出力端子付出力側ゲートモデルを構成し、
ノイズ入力端子付入力ゲートモデル生成部は、
前記複数の前記ノイズ出力端子付出力側ゲートモデルの各々から供給される前記電源ノイズを結合するノイズ結合装置を含むノイズ入力端子付入力側ゲートモデルを構成する
半導体設計支援装置。
【請求項６】
請求項５に記載の半導体設計支援装置において、
前記タイミング解析部は、論理シミュレーションを実行する論理シミュレータまたはＳＴＡ解析を実行するＳＴＡ解析部で構成され、
前記ノイズ対応回路レイアウトモデルと前記出力信号変化データとに基づいて、前記入力側ゲートの後段に構成された順序回路に、前記ノイズ対応出力信号が取り込まれるか否かを予測する
半導体設計支援装置。
【請求項７】
請求項６に記載の半導体設計支援装置において、
前記タイミング解析部は、
前記ノイズ対応出力信号が、
前記順序回路に供給されるクロックによって定まるタイミング制約を満たしているか否かを予測する
半導体設計支援装置。
【請求項８】
請求項１から７の何れか１項に記載の半導体設計支援装置において、
前記回路ブロックが、
前記半導体装置のＩ／Ｏブロックであり、
前記回路レイアウトモデルが、前記Ｉ／Ｏブロックのレイアウトを示すＩ／Ｏレイアウトモデルである
半導体設計支援装置。
【請求項９】
請求項２から８の何れか１項に記載の半導体設計支援装置において、
前記入力側ゲートが、入力バッファで構成され、
前記出力側ゲートが、出力バッファで構成される
半導体設計支援装置。
【請求項１０】
半導体装置の設計を支援するためのコンピュータプログラムであって、
（ａ）半導体装置の設計データを保持するメインライブラリから前記設計データを読み出すステップと、
（ｂ）前記設計データに基づいて前記半導体装置を構成する回路ブロックのレイアウトを示す回路レイアウトモデルを生成するステップと、
（ｃ）前記回路レイアウトモデルに基づいて、前記半導体装置の回路ブロックに発生する電源ノイズを解析し、その解析によって得られた電源ノイズ量に基づいて生成された電源ノイズデータを格納する電源ノイズ量ライブラリを生成するステップと、
（ｄ）前記電源ノイズデータに応答して変化する信号波形を算出し、前記信号波形を示す出力信号変化データを格納する出力信号変化量ライブラリを生成するステップと、
（ｅ）前記設計データに基づいて、前記半導体装置のレイアウトを示す半導体レイアウトモデルを生成するステップと、
（ｆ）前記回路レイアウトモデルに基づいて、前記電源ノイズ量に対応する前記半導体装置の回路ブロックを示すノイズ対応回路レイアウトモデルを生成するステップと、
（ｇ）前記出力信号変化データと、前記ノイズ対応回路レイアウトモデルとに基づいて、前記半導体装置の動作タイミングを予測するステップと
をコンピュータによって実行可能な
半導体設計支援プログラム。
【請求項１１】
請求項１０に記載の半導体設計支援プログラムにおいて、
前記（ｃ）ステップは、
電源に接続され、前記半導体装置内部から供給される出力データを前記回路ブロックの外部に出力する出力側ゲートを、前記回路レイアウトモデルから抽出するステップと、
前記出力側ゲートに供給される信号に応答して、前記電源ノイズを示す前記電源ノイズデータを生成するステップと
を含み、
前記（ｄ）ステップは、
前記電源に接続され、前記回路ブロックの外部から供給される入力データを前記半導体装置内部に入力する入力側ゲートを、前記回路レイアウトモデルから抽出するステップと、
前記電源ノイズデータに応答して、前記入力側ゲートから出力されるノイズ対応出力信号を前記出力信号変化データとして生成するステップと
を含む
半導体設計支援プログラム。
【請求項１２】
請求項１１に記載の半導体設計支援プログラムにおいて、
前記（ｃ）ステップは、
前記出力側ゲートに波形の異なる複数の信号が供給されるとき、
前記複数の信号と、前記複数の信号に応答して生成される複数の前記電源ノイズとを関連付けて前記電源ノイズデータとするステップを含み、
前記（ｄ）ステップは、
前記複数の前記電源ノイズと、前記複数の前記電源ノイズに応答して生成される複数の前記ノイズ対応出力信号とを関連付けて前記出力信号変化データとするステップを含む
半導体設計支援プログラム。
【請求項１３】
請求項１２に記載の半導体設計支援プログラムにおいて、
前記（ｆ）ステップは、
前記電源ノイズを出力するノイズ出力端子を付加した出力側ゲートを示すノイズ出力端子付出力側ゲートモデルを構成するステップと、
前記電源ノイズを受けるノイズ入力端子を付加した入力側ゲートを示すノイズ入力端子付入力側ゲートモデルを構成するステップと、
前記ノイズ出力端子付出力側ゲートモデルのノイズ出力端子と、前記ノイズ入力端子付入力側ゲートモデルのノイズ入力端子とを接続して前記ノイズ対応回路レイアウトモデルを生成するステップと
を含む
半導体設計支援プログラム。
【請求項１４】
請求項１３に記載の半導体設計支援プログラムにおいて、
前記（ｆ）ステップは、
前記出力部に複数の前記出力側ゲートが含まれるとき、
前記複数の前記出力側ゲートの各々に対応して複数の前記ノイズ出力端子付出力側ゲートモデルを構成するステップと、
前記複数の前記ノイズ出力端子付出力側ゲートモデルの各々から供給される前記電源ノイズを結合するノイズ結合装置を含むノイズ入力端子付入力側ゲートモデルを構成するステップと
を含む
半導体設計支援プログラム。
【請求項１５】
請求項１４に記載の半導体設計支援プログラムにおいて、
前記（ｇ）ステップは、
論理シミュレーション、または、ＳＴＡ解析を実行するステップと、
前記ノイズ対応回路レイアウトモデルと前記出力信号変化データとに基づいて、前記入力側ゲートの後段に構成された順序回路に、前記ノイズ対応出力信号が取り込まれるか否かを予測するステップと
を含む
半導体設計支援プログラム。
【請求項１６】
請求項１５に記載の半導体設計支援プログラムにおいて、
前記（ｇ）ステップは、
前記ノイズ対応出力信号が、前記順序回路に供給されるクロックによって定まるタイミング制約を満たしているか否かを予測するステップ
を含む
半導体設計支援プログラム。
【請求項１７】
請求項１０から１６の何れか一項に記載の半導体設計支援プログラムにおいて、
前記回路ブロックが、
前記半導体装置のＩ／Ｏブロックであり、
前記回路レイアウトモデルが、前記Ｉ／Ｏブロックのレイアウトを示すＩ／Ｏレイアウトモデルである
半導体設計支援プログラム。
【請求項１８】
半導体装置を設計するステップと、
前記半導体装置を製造するステップと
を具備し、
前記設計するステップは、
（ａ）半導体装置の設計データを保持するメインライブラリから前記設計データを読み出すステップと、
（ｂ）前記設計データに基づいて前記半導体装置の回路ブロックのレイアウトを示す回路レイアウトモデルを生成するステップと、
（ｃ）前記回路レイアウトモデルに基づいて、前記半導体装置の回路ブロックに発生する電源ノイズを解析し、その解析によって得られた電源ノイズ量に基づいて生成された電源ノイズデータを格納する電源ノイズ量ライブラリを生成するステップと、
（ｄ）前記電源ノイズデータに応答して変化する信号波形を算出し、前記信号波形を示す出力信号変化データを格納する出力信号変化量ライブラリを生成するステップと、
（ｅ）前記設計データに基づいて、前記半導体装置のレイアウトを示す半導体レイアウトモデルを生成するステップと、
（ｆ）前記回路レイアウトモデルに基づいて、前記電源ノイズ量に対応する前記半導体装置の回路ブロックを示すノイズ対応回路レイアウトモデルを生成するステップと、
（ｇ）前記出力信号変化データと、前記ノイズ対応回路レイアウトモデルとに基づいて、前記半導体装置の動作タイミングを予測するステップと
を備える
半導体製造方法。
【請求項１９】
請求項１８に記載の半導体製造方法において、
前記（ｃ）ステップは、
電源に接続され、前記半導体装置内部から供給される出力データを前記回路ブロックの外部に出力する出力側ゲートを、前記回路レイアウトモデルから抽出するステップと、
前記出力側ゲートに供給される信号に応答して、前記電源ノイズを示す前記電源ノイズデータを生成するステップと
を含み、
前記（ｄ）ステップは、
前記電源に接続され、前記回路ブロックの外部から供給される入力データを前記半導体装置内部に入力する入力側ゲートを、前記回路レイアウトモデルから抽出するステップと、
前記電源ノイズデータに応答して、前記入力側ゲートから出力されるノイズ対応出力信号を前記出力信号変化データとして生成するステップと
を含む
半導体製造方法。
【請求項２０】
請求項１９に記載の半導体製造方法において、
前記（ｃ）ステップは、
前記出力側ゲートに波形の異なる複数の信号が供給されるとき、
前記複数の信号と、前記複数の信号に応答して生成される複数の前記電源ノイズとを関連付けて前記電源ノイズデータとするステップを含み、
前記（ｄ）ステップは、
前記複数の前記電源ノイズと、前記複数の前記電源ノイズに応答して生成される複数の前記ノイズ対応出力信号とを関連付けて前記出力信号変化データとするステップを含む
半導体製造方法。
【請求項２１】
請求項２０に記載の半導体製造方法において、
前記（ｆ）ステップは、
前記電源ノイズを出力するノイズ出力端子を付加した出力側ゲートを示すノイズ出力端子付出力側ゲートモデルを構成するステップと、
前記電源ノイズを受けるノイズ入力端子を付加した入力側ゲートを示すノイズ入力端子付入力側ゲートモデルを構成するステップと、
前記ノイズ出力端子付出力側ゲートモデルのノイズ出力端子と、前記ノイズ入力端子付入力側ゲートモデルのノイズ入力端子とを接続して前記ノイズ対応回路レイアウトモデルを生成するステップと
を含む
半導体製造方法。
【請求項２２】
請求項２１に記載の半導体製造方法において、
前記（ｆ）ステップは、
前記出力部に複数の前記出力側ゲートが含まれるとき、
前記複数の前記出力側ゲートの各々に対応して複数の前記ノイズ出力端子付出力側ゲートモデルを構成するステップと、
前記複数の前記ノイズ出力端子付出力側ゲートモデルの各々から供給される前記電源ノイズを結合するノイズ結合装置を含むノイズ入力端子付入力側ゲートモデルを構成するステップと
を含む
半導体製造方法。
【請求項２３】
請求項２２に記載の半導体製造方法において、
前記（ｇ）ステップは、
論理シミュレーション、または、ＳＴＡ解析を実行するステップと、
前記ノイズ対応回路レイアウトモデルと前記出力信号変化データとに基づいて、前記入力側ゲートの後段に構成された順序回路に、前記ノイズ対応出力信号が取り込まれるか否かを予測するステップと
を含む
半導体製造方法。
【請求項２４】
請求項２３に記載の半導体製造方法において、
前記（ｇ）ステップは、
前記ノイズ対応出力信号が、前記順序回路に供給されるクロックによって定まるタイミング制約を満たしているか否かを予測するステップ
を含む
半導体製造方法。
【請求項２５】
請求項１８から２４の何れか一項に記載の半導体製造方法において、
前記回路ブロックが、
前記半導体装置のＩ／Ｏブロックであり、
前記回路レイアウトモデルが、前記Ｉ／Ｏブロックのレイアウトを示すＩ／Ｏレイアウトモデルである
半導体製造方法。
【請求項２６】
請求項１８から２５の何れか１項に記載の半導体製造方法で製造された
半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体設計における動作検証を支援する半導体設計支援装置に関する。
【背景技術】
【０００２】
ＬＳＩ等の集積回路の微細化、大規模化、高速化、電源電圧低下等に伴い、バッファ等の回路が動作する際の電源ノイズの影響が無視できない程度に大きくなってきている。例えば、特定の回路ブロックでの電源ノイズにより発生した出力の変化が、次段のゲート入力信号として処理され、ＬＳＩ等の誤動作を引き起こすような場合がある。このような誤動作を抑制するために、半導体製造における検証工程の重要性が高まってきている。従来の検証工程では、トランジスタ単位でシミュレーションを行うダイナミックシミュレーション解析によって、電源ノイズを考慮した解析を行っていた。
【０００３】
ダイナミックシミュレーション解析では、検証対象である集積回路の大規模化、複雑化に伴いＬＳＩ全体での解析時間が増大してしまうことがある。一般的に、半導体の設計に要する期間は、短期化であることが好ましい。そのため、設計対象のＬＳＩに発生しうる電源ノイズ影響を高い精度で且つ無駄なく設計の早い段階で解析する手法が求められている（例えば、特許文献１参照）。
【０００４】
特許文献１（特開２００４−５４５２２号公報）に記載の技術では、ＬＳＩの同時スイッチングノイズ評価方法において、電源配線上の入出力セルの各々を、入力バッファセル、出力バッファセル、第１の電源セル、第２の電源セル、接地用電源セルを含む複数のセルのモデルの中のいずれかに対応させる手順と、各入出力セルに対し、ＬＳＩの設計仕様と構成を考慮して設定、もしくはＬＳＩのレイアウト情報から抽出した容量、抵抗、インダクタンスの値を用いたモデルを生成する手順と、ＬＳＩの内部負荷及び内部電源配線のモデルを生成する手順と、各入出力セルのモデルと前記内部負荷・内部電源配線モデルを結合して全体モデルを生成し、ＬＳＩの同時スイッチングノイズ量を高い精度で評価し、設計初期段階からノイズ対策を講じることをできるようにしている。
【０００５】
図１は、特許文献１のスイッチングノイズ解析手法における、設計対象のＬＳＩをモデル化したＬＳＩモデルの構成を示す回路図である。図１に示されているＬＳＩモデルは、チップ１１０、ボンディングワイヤ／リードフレーム１０３、外部負荷容量１０７、入力信号源１０８から構成されている。また、ボンディングワイヤ／リードフレーム１０３は、抵抗１０３ａ、インダクタンス１０３ｂから構成されている。またチップ１１０には、複数の入力バッファ１０１と複数の電源セル２が含まれている。
【０００６】
図２は、特許文献１に記載の同時スイッチングノイズ評価方法を用いてレイアウト設計を行う場合における、処理の流れを示したフローチャートである。ステップＦ１０１では、設計対象のＬＳＩの設計仕様や構成を決定する。ステップＦ１０２では、同時スイッチングノイズ評価方法により、ＬＳＩの同時スイッチングノイズを解析する。この工程においては、コンピュータプログラムを用いた回路シミュレーション用実行ファイルの作成、及び回路シミュレータによるシミュレーションの実行とノイズ解析が行われる。
【０００７】
ステップＦ１０３では、ステップＦ１０２でのノイズ解析の結果が、所定のレベル未満であるか否かを判断する。その判断の結果、ノイズ量が所定のレベルを超える場合には、処理はステップＦ１０７に進む。ステップＦ１０７では、同時スイッチングノイズの量を低減するように、ステップＦ１０１で決定したＬＳＩの設計仕様と構成とを変更し、再度ステップＦ１０２に戻る。ステップＦ１０３での判断の結果、ノイズ量が所定のレベルを超えなかった場合には、処理はステップＦ１０４に進む。
【０００８】
ステップＦ１０４では、ＬＳＩのレイアウト設計を行う。ステップＦ１０５では、レイアウト設計を行ったＬＳＩに対して、回路パラメータや回路モデルの精度を必要に応じて上げるために、電源配線の抵抗などの回路パラメータや入出力バッファの回路モデルをレイアウトデータから抽出する。その後、再度、本発明の同時スイッチングノイズ評価方法を用いたＬＳＩの同時スイッチングノイズの解析を行う。ステップＦ１０６では、ステップＦ１０５で同時スイッチングノイズの解析が行われた後、シミュレーション結果に基づいてレイアウト設計後のＬＳＩに発生しうる同時スイッチングノイズの量が所定のレベル未満であるか否かを判断する。ここでノイズ量が所定のレベルを超えた場合は、処理はステップＦ１０７に進む。ステップＦ１０７では、同時スイッチングノイズの量を低減するように仕様・構成の変更を実施する。その後、処理はステップＦ１０２に戻る。ステップＦ１０６での判断の結果、ノイズ量が所定のレベルを超えなかった場合、レイアウト設計は終了する。
【０００９】
上述のステップを具体的に説明すると、特許文献１に記載の技術では、ＬＳＩの仕様、構成を決定（ステップＦ１０１）した後、ステップＦ１２の工程においては、ＬＳＩ全体を外部負荷１０７、パッケージ、入出力バッファ１０１、パッド容量、電源配線（リング配線１０９、内部電源配線１１３）、内部負荷１１１、内部負荷１１２、内部信号源、外部信号源１０８に切り分けて構成し、その後、入出力部を作成している。特許文献１に記載の技術では、セルごとにモデルを作成し、そのモデルに基づいてそれぞれのセルの実際のピン配置通りに並べて結合させたＬＳＩモデルを構成する。
【００１０】
また、ＬＳＩ内部については、内部負荷１１１、内部負荷１１２、内部信号源、内部電源配線１１３の抵抗でモデル化する。内部のデカップリングキャパシタや内部電源配線間容量など第２の電源（ＶＤＤ）と接地用電源（ＶＳＳ）の間に存在する容量成分を内部負荷１１１とし、入力バッファの出力につながる内部回路の容量成分を内部負荷１１２とし、出力バッファへの入力となる内部回路の出力信号は内部信号源としてモデル化する。
【００１１】
ここで、内部負荷１１２は入力バッファセルのモデルに組み込まれ、内部信号源は出力バッファセルのモデルに組み込む。さらに、内部負荷１１１と内部電源配線１１３の抵抗を用いて分布定数によるモデル化を行う。最後にＬＳＩ内部の電源配線の抵抗と内部負荷１１１を用いて作成した分布定数モデルを作成した入出力部の各モデルに結合させ、ＬＳＩ全体のモデルを作成する。
【００１２】
特許文献１に記載の技術では、入出力バッファのモデル化には、レイアウトデータなどから得られるトランジスタレベルのもの、もしくはトランジスタレベルと同等の解析精度をもつ回路モデルを使用している。また、電源配線等の容量、抵抗、インダクタンスの値は、設計対象のＬＳＩの設計仕様と構成を踏まえ過去の設計事例などから設定、または実際のレイアウト情報から抽出する。シミュレーションを実行するときには、入出力バッファへの入力信号のタイミング等をすべて指定する。
【００１３】
このモデル化の際に実行される回路シミュレーション結果より、上述のステップＦ１０３にてスイッチングノイズ量が所定のレベル未満に収まっているかを判断する。その判断の結果、所定のレベルに収まっていない場合は、処理はステップＦ１０７に進み、仕様・構成の見直しを行った後、ステップＦ１０２にて入出力バッファ間スイッチング解析を実行する。ステップＦ１０３での判断の結果に問題がない場合、処理はステップＦ１０４に進む。ステップＦ１０４においては、レイアウト設計を行う。そして処理はステップＦ１０５に進み、ステップＦ１０２で抽出したモデルとレイアウト設計結果とを元に、スイッチングノイズ解析を行う。ステップＦ１０６において、スイッチングノイズ量が所定のレベル未満に収まっているかの判断を行う。
【００１４】
特許文献１に記載の技術では、以上のように、ＬＳＩ全体のモデル化において入出力ピンごとにモデル化を行い、同時スイッチングノイズ量の高精度な見積もりを可能にしている。
【００１５】
以下に、一般的な入出力回路の回路図を参照して従来の論理シミュレーション／ＳＴＡ解析に関して説明する。図３は、一般的なＬＳＩ回路の入出力部の構成を示す回路図である。図３を参照すると、入出力回路２００は、データ信号入力端子ＩＮ１と、データ入力バッファ２０１と、データ信号出力端子ＯＵＴ１と、データ出力バッファ２０２と、クロック信号入力端子ＣＬＫと、クロック入力バッファ２０３、第１から第４の組み合わせ回路部（第１組み合わせ回路部２０４〜第４組み合わせ回路部２０７）と、第１順序回路２０８と、第２順序回路２０９と、配線（第１配線２１１〜第７配線２１７）から構成されている。第１順序回路２０８は、第１クロック信号入力端子２２１と第１データ信号入力端子２２２と第１データ信号出力端子２２３とを含んでいる。同様に、第２順序回路２０９は、第２クロック信号入力端子２２４と第２データ信号入力端子２２５と第２データ信号出力端子２２６とを含んでいる。
【００１６】
図３を参照すると、クロック供給端子ＣＬＫは、クロック入力バッファ２０３を介して第３配線２１３に接続され、その第３配線２１３から第３組み合わせ回路部２０６を介して第７配線２１７に接続されている。第７配線２１７は、第２順序回路２０９の第２クロック信号入力端子２２４に接続されている。また、クロック供給端子ＣＬＫは、クロック入力バッファ２０３を介して第３配線２１３に接続され、その第３配線２１３は第４組み合わせ回路部２０７を介して第１順序回路２０８の第１クロック信号入力端子２２１に接続されている。
【００１７】
図３に示されているように、クロック信号入力端子ＣＬＫから入力されるクロック信号は、クロック入力バッファ２０３に供給される。そのクロック入力バッファ２０３から出力されたクロック信号は、第３配線２１３、第３組み合わせ回路部２０６、第７配線２１７の順に第２順序回路２０９の第２クロック信号入力端子２２４まで伝播される。
【００１８】
データ信号入力端子ＩＮ１は、データ入力バッファ２０１に接続されている。データ入力バッファ２０１は、第２配線２１２を介して第２組み合わせ回路部２０５に接続され、その第２組み合わせ回路部２０５は、第６配線２１６を介して第２順序回路２０９の第２データ信号入力端子２２５に接続されている。第２順序回路２０９の第１データ信号出力端子２２３から出力されるデータ出力信号は、第５配線２１５を介して第１組み合わせ回路部２０４に供給され、第１配線２１１を経由してデータ信号出力端子ＯＵＴ１に伝播される。
【００１９】
図４は、入出力回路２００の動作を示すタイミングチャートである。図４の（ａ）は、データ信号入力端子ＩＮ１におけるデータ信号の動作を示している。図４の（ｂ）は、第２順序回路２０９に第２データ信号入力端子２２５におけるデータ信号の変化を示している。図４の（ｃ）は、クロック信号入力端子ＣＬＫにおけるクロック信号の動作を示している。図４の（ｄ）は、第２順序回路２０９の第２クロック信号入力端子２２４における動作を示している。ここにおいて、データ信号入力端子ＩＮ１から第２データ信号入力端子２２５までの遅延時間を第１遅延時間ＤＴ１、クロック信号入力端子ＣＬＫから第２クロック信号入力端子２２４まで信号伝播する時の遅延時間を第２遅延時間ＤＴ２、第２クロック信号入力端子２２４の変化点から第２データ信号入力端子２２５の変化点までのタイミング制約値を制約期間ＳＨ２とする。
【００２０】
従来のＳＴＡ解析／論理シミュレーション解析において、第２順序回路２０９の動作を解析する場合には、データ入力バッファ２０１、データ出力バッファ２０２、第３組み合わせ回路部２０６、第４組み合わせ回路部２０７、第２配線２１２、第３配線２１３および第７配線２１７で生じるクロック遅延とデータ信号とが、第２順序回路２０９のタイミング制約値である制約期間ＳＨ２を満たすか否かを解析する。
【００２１】
図４を参照すると、データ信号入力端子ＩＮ１に入力されたデータ入力信号は、データ入力バッファ２０１、及び、第３組み合わせ回路部２０６、第３配線２１３で生じる第１遅延時間ＤＴ１だけ遅れて時刻Ｔ０１のタイミングで第２データ信号入力端子２２５に入力される。また、クロック信号入力端子ＣＬＫから入力されたクロック信号は、データ入力バッファ２０１、第３組み合わせ回路部２０６、第３配線２１３、第７配線２１７で生じる第２遅延時間ＤＴ２だけ遅れて時刻Ｔ０２のタイミングで第２クロック信号入力端子２２４に入力される。上述のように従来のＳＴＡ解析手法では、第２クロック信号入力端子２２４の変化時から第２データ信号入力端子２２５の変化タイミングまでの時間が、第２順序回路２０９の持つタイミング制約値（制約期間ＳＨ２）を満たしているかを解析する。論理シミュレーション解析では遅延及び信号パターンを用いた解析を行い、ＳＴＡ解析では遅延を認識した解析が行われる。
【００２２】
近年では、入出力部に複数の出力バッファ（または入力バッファ）を有するＬＳＩが普及してきている。図５は、複数の出力バッファを有するＬＳＩ回路の入出力回路３００の構成を示す回路図である。その入出力回路３００は、上述の入出力回路２００に更に、出力バッファ３０１と、第５組み合わせ回路３０２と第３順序回路３０３とを含んで構成されている。図５を参照すると、第３順序回路３０３の第３データ信号出力端子３１５は、第９配線３１２を介して第５組み合わせ回路３０２に接続されている。その第５組み合わせ回路３０２は、第８配線３１１を介して出力バッファ３０１の入力端に接続されている。出力バッファ３０１の出力端は、第２データ出力端子ＯＵＴ２に接続されている。
【００２３】
図５に示されているように、データ入力バッファ２０１、データ出力バッファ２０２および出力バッファ３０１は、それぞれ電源ＶＤＤと接地線ＧＮＤとに接続されている。出力バッファ３０１は、第１ノード３０４を介して電源ＶＤＤに接続され、第２ノード３０５を介して接地線ＧＮＤに接続されている。同様に、データ出力バッファ２０２は、第３ノード３０６を介して電源ＶＤＤに接続され、第４ノード３０７を介して接地線ＧＮＤに接続されている。さらに、データ入力バッファ２０１は、第５ノード３０８を介して電源ＶＤＤに接続され、第６ノード３０９を介して接地線ＧＮＤに接続されている。なお、図中では記載を省略するが、クロック供給端子ＣＬＫに接続されるクロック入力バッファ２０３は、データ入力バッファ２０１、データ出力バッファ２０２および出力バッファ３０１で使用されている電源ＶＤＤとは別の電源で駆動されている。
【００２４】
図６は、入出力回路３００におけるデータ入力バッファ２０１とデータ出力バッファ２０２の構成を示す回路図である。図６を参照すると、データ入力バッファ２０１は、第１入力端子３２１を介して第１配線２１１に接続され、第１出力端子３２２を介して第１データ出力端子ＯＵＴ１に接続されている。また、データ入力バッファ２０１は第２入力端子３２３を介してデータ入力端子ＩＮ１に接続され、第２出力端子３２４を介して第２配線２１２に接続されている。
【００２５】
図７は、データ入力バッファ２０１の各入出力端子（第１入力端子３２１、第１出力端子３２２）、および、データ出力バッファ２０２の各入出力端子（第２入力端子３２３、第２出力端子３２４）の信号変化と電源ＶＤＤの変動とを示すタイミングチャートである。ここにおいて、電源ＶＤＤの変動は、第５ノード３０８における電圧の変化を示すものとする。図７の（ａ）は、第１入力端子３２１の動作を示している。図７の（ｂ）は、第１出力端子３２２の動作を示している。図７の（ｃ）は、第５ノード３０８における電圧の変化を示している。図７の（ｄ）は、第２入力端子３２３の動作を示している。図７の（ｅ）は、第２出力端子３２４の動作を示している。
【００２６】
図７を参照すると、時刻Ｔ１１においてデータ出力バッファ２０２の出力が急峻に立ち上がると、トランジスタのスイッチングによりデータ出力バッファ２０２を駆動させる電源ＶＤＤの電圧が一時的に低くなる（図７の（ｃ））。通常は、すぐに第５ノード３０８の電圧はもとの状態に復旧する。しかしながら、この場合に第５ノード３０８の電圧が、もとの状態に復旧する前にトランジスタ動作限界電圧（図７の（ｃ）の横点線）以下まで低くなる場合がある。図７を参照すると、第５ノード３０８の電圧が動作限界電圧以下になった場合、共通接続されている電源を使用して動作するデータ入力バッファ２０１は、入力信号の変化がない場合でもタイミングＴ１２において出力が変化してしまうことがある（図７の（ｅ））。
【００２７】
このときの入出力回路３００の動作を、図面を参照して説明する。図８は、実際のＬＳＩが動作する際の信号変化を示すタイミングチャートである。図８の（ａ）は、データ入力端子ＩＮ１の動作を示している。図８の（ｂ）は、第１順序回路２０８の第１データ信号出力端子２２３の動作を示している。図８の（ｃ）は、第２順序回路２０９の第２データ信号入力端子２２５の動作を示している。図８の（ｄ）は、クロック供給端子ＣＬＫでのクロック信号の動作を示している。図８の（ｅ）は、第１順序回路２０８の第１クロック信号入力端子２２１に供給されるクロック信号の動作を示している。図８の（ｆ）は、第２順序回路２０９の第２クロック信号入力端子２２４に供給されるクロック信号の動作を示している。
【００２８】
図８を参照すると、時刻Ｔ１で第１クロック信号入力端子２２１が立ち上がることにより第１順序回路２０８は第１データ信号入力端子２２２を保持し、第１データ信号出力端子２２３より出力する。第１データ信号出力端子２２３から出力されるデータ信号は、第１組み合わせ回路部２０４を経由してデータ出力バッファ２０２に伝播する。このとき、時刻Ｔ３において、データ出力バッファ２０２のスイッチング動作によってデータ入力バッファ２０１の出力にノイズが発生する場合がある。このノイズにより、データ入力バッファ２０１の出力が変化する。この変化が、時刻Ｔ２で意図しないデータ信号として第２順序回路２０９に取り込まれる場合がある。
【００２９】
換言すると、第１順序回路２０８の出力は、第５配線２１５、第１組み合わせ回路部２０４および第１配線２１１を経由してデータ出力バッファ２０２に供給される。上述したように、実際のＬＳＩにおけるデータ入力バッファ２０１は、データ出力バッファ２０２の動作による電源ＶＤＤの変動により、データ入力バッファ２０１に入力信号の変化がない場合でも出力が変化してノイズを出力してしまう。そして、そのノイズが、第２組み合わせ回路部２０５のスレッショルド電圧を超えてしまった場合、第２配線２１２、第２組み合わせ回路部２０５および第６配線２１６を経由して第２順序回路２０９の第１データ信号入力端子２２２に供給される。このとき、第２クロック信号入力端子２２４に入力されるクロック信号の状態によっては、第２順序回路２０９に取り込まれることがある。
【特許文献１】特開２００４−５４５２２号公報
【発明の開示】
【発明が解決しようとする課題】
【００３０】
論理シミュレーション解析／ＳＴＡ解析では、第２データ信号入力端子２２５の信号変化を認識できていれば第２データ信号入力端子２２５、第２クロック信号入力端子２２４間のタイミング解析や第２データ信号入力端子２２５の入力信号伝播経路の解析を行うことが可能となる。しかし、実際の論理シミュレーション解析／ＳＴＡ解析は、データ出力バッファ２０２のスイッチング動作によりデータ入力バッファ２０１に発生するノイズの信号伝播の経路がなく、第２データ信号入力端子２２５の信号変化も発生しない。
【００３１】
図９は、上述の入出力回路３００における、第１順序回路２０８、第２順序回路２０９に関する論理シミュレーション解析／ＳＴＡ解析で認識される信号変化を示すタイミングチャートである。図９の（ａ）は、データ入力端子ＩＮ１の動作を示している。図９の（ｂ）は、第１順序回路２０８の第１データ信号出力端子２２３の動作を示している。図９の（ｃ）は、第２順序回路２０９の第２データ信号入力端子２２５の動作を示している。図９の（ｄ）は、クロック供給端子ＣＬＫでのクロック信号の動作を示している。図９の（ｅ）は、第１順序回路２０８の第１クロック信号入力端子２２１に供給されるクロック信号の動作を示している。図９の（ｆ）は、第２順序回路２０９の第２クロック信号入力端子２２４に供給されるクロック信号の動作を示している。
【００３２】
同一電源に接続される複数の出力バッファが同時に動作する場合は、電源変動分が大きくなりノイズとして入力バッファ後段の順序回路に信号として取り込まれる可能性が高くなる。しかし、図９に示されているように、従来の解析手法は信号変化に対して解析が行われるものであり、ノイズによる信号変化が定義されていない状態では解析が行われない。また、隣接配線によるクロストーク解析に基づく解析手法等においても、信号変化がない場合の解析は行われない。つまり、出力バッファと同一の電源で動作する入力バッファが、その出力バッファの影響で意図しないタイミングで動作する場合に、その入力バッファからの信号に対応する信号変化を認識することができないため解析を行えない。
【００３３】
具体的には、従来の論理シミュレーション／ＳＴＡ解析では、第２データ信号入力端子２２５、第２クロック信号入力端子２２４間でのタイミング解析を行えない。つまり、時刻Ｔ１で第１順序回路２０８が動作しノイズが発生したとしても、データ入力端子ＩＮ１からの出力が変化しないため、時刻Ｔ２での第２順序回路２０９のタイミング解析をおこなうことができない場合があった。
【００３４】
また、上述の特許文献１の技術を適用して解析を行おうとした場合、ステップＦ１０４の前に、ノイズが基準を満たしているか否かを判断するステップ（ステップＦ１０３）を行っている。そのため、設計初期状態でのノイズ解析を行うことは可能ある。また、ステップＦ１０２で抽出したノイズを、論理シミュレーションやＳＴＡ解析の入力パラメータとして使用することで解析を行うことも可能である。しかしながら、この解析は、ノイズがスイッチング動作時に特定の基準を満たしているかの判断のみを行うものである。そのため、入力バッファ後段の順序回路で実際に取り込まれないような（実動作で影響を与えない）ノイズに対しても解析が行われてしまう。
【００３５】
換言すると、特許文献１に記載の技術を適用した場合には、入出力回路３００におけるデータ出力バッファ２０２の変化によるデータ入力バッファ２０１の変化が、一定の基準を満たしているかを解析することは可能である。しかしながら、その解析はタイミングを考慮した解析でない。そのため、実際に信号として第２順序回路２０９で取り込まれないノイズ（ＬＳＩの動作に影響しないノイズ）も解析されてしまう。このように、第２順序回路２０９で取り込まれない（ＬＳＩの動作に影響しない）ノイズに対して余計に解析されると、本来は必要としない修正が必要と判断されてしまう場合がある。また、一部回路構成の変更により負荷容量等に変更が発生した場合、ステップＦ１０２では、解析結果が変わる可能性があり解析をやり直す必要がある場合がある。
【課題を解決するための手段】
【００３６】
以下に、［発明を実施するための最良の形態］で使用される番号を用いて、課題を解決するための手段を説明する。これらの番号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］との対応関係を明らかにするために付加されたものである。ただし、それらの番号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００３７】
上記課題を解決するために、半導体装置の設計データ（２２）を保持するメインライブラリ（２１）と、前記メインライブラリ（２１）から検証対象の半導体装置の設計データ（２２）を読み出し、前記設計データ（２２）に基づいて前記半導体装置を構成する回路ブロックのレイアウトを示す回路レイアウトモデル（１３）を生成する回路レイアウトモデル生成部（１７）とを具備する半導体設計支援装置を構成する。
【００３８】
ここで、その半導体設計支援装置は、電源ノイズ量ライブラリ（２６）と出力信号変化量ライブラリ（２７）とを備えるものとする。その電源ノイズ量ライブラリ（２６）は、前記回路レイアウトモデル（１３）に基づいて前記半導体装置の回路ブロックに発生する電源ノイズを解析し、その解析によって得られた電源ノイズ量に基づいて生成された電源ノイズデータ（７５）を格納する。また、出力信号変化量ライブラリ（２７）は、前記電源ノイズデータ（７５）に応答して変化する信号波形を示す出力信号変化データ（８１）を格納する。それらのライブラリ（２６）、（２７）は、ライブラリ作成部（３８）によって生成される。
【００３９】
また、その半導体設計支援装置は、前記設計データに基づいて前記半導体装置のレイアウトを示す半導体レイアウトモデルを生成する半導体レイアウトモデル生成部（３９）と、前記回路レイアウトモデル（１３）に基づいて、前記電源ノイズ量に対応する前記半導体装置の回路ブロックを示すノイズ対応回路レイアウトモデル（１３ａ）を生成するノイズ伝播経路作成部（４０）と、前記出力信号変化データ（８１）と、前記ノイズ対応回路レイアウトモデル（１３ａ）とに基づいて、前記半導体装置の動作タイミングを予測するタイミング解析部（３４）（３５）を具備する半導体設計支援装置（１０）を構成する。
【００４０】
ここにおいて、論理シミュレーションを行う場合には、電源ノイズ量ライブラリ（２６）と出力信号変化量ライブラリ（２７）とに保持されている電源ノイズに関するデータと、ノイズ対応回路レイアウトモデル（１３ａ）とに対応して設計対象の半導体装置の動作を予測する。それによって、ノイズを考慮した論理シミュレーション解析／ＳＴＡ解析を行うことができる。
【発明の効果】
【００４１】
本発明は、出力バッファが動作する時に発生する電源ノイズが信号として伝播するネットを作成し、そのノイズ成分を信号として、論理シミュレーション解析／ＳＴＡ解析させることで、ノイズを考慮した論理シミュレーション解析／ＳＴＡ解析を行うことができるようになる。
【００４２】
また、チップ全体でトランジスタレベルのダイナミックシミュレーションを用いることで実動作に合わせた解析、（例えば、電源ノイズによる入力信号がない場合の出力変化の解析）をする事ができなかった。本発明は、同一電源を使用するバッファ部の電源ノイズ量と、その電源ノイズ量から得られる信号変化量を専用モデル（ライブラリ）として抽出している。このライブラリと接続関係情報と合わせることにより、設計の早い段階で、回路の実動作に合わせた論理シミュレーション解析／ＳＴＡ解析でノイズを行うことができる。
【００４３】
更には、電源ノイズを考慮した論理シミュレーションを行えることで、ノイズによる影響が発生した場合、ノイズが後段の順序回路で取り込まれないような内部回路に、精度良く変更することができる。
【００４４】
したがって、本発明によると、ノイズを信号として伝播させることにより、ノイズを考慮した論理シミュレーション解析／ＳＴＡ解析を行うことができるようになる。ここにおいて、回路実動作に影響するノイズのみを検証可能とさせる事により、トランジスタレベルでのダイナミックシミュレーションを行った場合と比較して、１チップシミュレーションに要する検証時間を短縮することが可能となる。
【発明を実施するための最良の形態】
【００４５】
［第１実施形態］
以下に、図面を参照して本発明を実施するための形態について説明を行う。図１０は、本実施形態の半導体設計支援装置１０の構成を例示するブロック図である。本実施形態の半導体設計支援装置１０は、情報処理装置１と、入力装置２と、出力装置３とを含んで構成されている。また、図１０を参照すると、情報処理装置１は、ＣＰＵ（Central  Processing  Unit：中央演算処理装置）４と、メモリ５と、入出力インターフェース６と、大容量記憶装置７とを備え、それらはバス８を介して接続されている。また、大容量記憶装置７はデータ記憶部１１とプログラム記憶部１２とを含んで構成されている。
【００４６】
情報処理装置１は、パーソナルコンピュータやワークステーションなどに代表される高速演算処理装置である。入力装置２は、情報処理装置１に対して、データを入力する機能を備えたマンマシンインターフェースであり、例えば、キーボード、マウス、タッチパネルなどがその代表である。以下の実施形態においては、入力装置２が、キーボードおよびマウスである場合を例示して説明を行う。本実施形態においては、ネットリスト情報、各種ライブラリ等の各種入力ファイル、入力情報、出力情報は入力装置２から入力されるか、又は、大容量記憶装置７から読み出される。
【００４７】
出力装置３は、情報処理装置１の処理結果を外部に出力する機能を有するマンマシンインターフェースであり、例えば、ＣＲＴや液晶ディスプレイがその代表である。以下の実施形態においては、出力装置３が、ディスプレイ装置である場合を例示し、タイミング検証結果などを視覚的に表示するものとして説明を行う。つまり、表示措置３は、論理シミュレーション／ＳＴＡ解析結果の表示、処理の状態の表示を行う。
【００４８】
ＣＰＵ４は、半導体設計支援装置１０に備えられた各種装置の制御や、情報処理装置１に入出力されるデータの処理を行う演算処理装置である。本実施形態において、ＣＰＵ４は、入力装置２などから受け取ったデータを解釈して演算し、その演算結果を出力装置３などで出力する。本実施形態においては、ＣＰＵ４において、Ｉ／Ｏノイズ成分解析・モデル化処理、Ｉ／Ｏノイズ伝播経路解析・作成処理、及び、遅延計算、論理シミュレーション／ＳＴＡ解析が行われる。
【００４９】
メモリ５は、データの書き込みと読み出しができる記憶媒体であり、例えば、ＳＤＲＡＭやＤＤＲ−ＳＤＲＡＭなどがその代表として例示される。入出力インターフェース６は、上述の入力装置２や出力装置３と情報処理装置１との間で実行されるデータ通信を制御する装置である。大容量記憶装置７は、記憶媒体に大量のデータを記録させるために使用する装置であり、例えば、ＨＤＤ（Hard  Disk  Drive）などがその代表として例示される。図１０に示されているように、大容量記憶装置７はデータ記憶部１１とプログラム記憶部１２とを含んで構成されている。
【００５０】
データ記憶部１１は、大容量記憶装置７が保持する各種データの中で本実施形態に関連するデータを格納する記憶領域である。また、プログラム記憶部１２は、大容量記憶装置７が保持する各種データの中で、本実施形態の動作に関連するコンピュータプログラムを格納している。以下に、図面を参照してデータ記憶部１１とプログラム記憶部１２の詳細な構成に関して説明を行う。
【００５１】
図１１は、データ記憶部１１の構成を例示するブロック図である。図１１を参照すると、データ記憶部１１は、ＳｉｍＬｉｂｒａｒｙ（メインライブラリ）２１と、設計仕様・構成データ２２と、電源ノイズ量ライブラリ２３と、ネットリスト情報２４と、Ｉ／Ｏレイアウト情報２５と、第１ライブラリ２６と、第２ライブラリ２７と、仮ＳｉｍＬｉｒａｒｙ２８と、ノイズ伝播用仮ネットリスト情報２９と、電源ノイズ信号ファイル３０と、遅延情報ファイル３１と、ノイズ伝播情報付遅延情報ファイル３２とを含んで構成されている。
【００５２】
ＳｉｍＬｉｂｒａｒｙ（メインライブラリ）２１は、ＬＳＩの動作検証に用いられる関数や機能、データなどをまとめてファイルとして保持している。ＳｉｍＬｉｂｒａｒｙ（メインライブラリ）２１は、例えば、論理ライブラリ、機能レベル記述、論理レベル記述、回路特性（遅延時間）、レイアウト仕様などから構成されている。設計仕様・構成データ２２は、設計対象のＬＳＩの仕様や構成を数値化したデータとして保持している。電源ノイズ量ライブラリ２３は、本実施形態の半導体設計支援装置１０による論理シミュレーション／ＳＴＡ解析を実行するときに用いられる電源ノイズ量を示すファイルである。
【００５３】
ネットリスト情報２４は、回路の接続状態を示す情報である。ネットリスト情報２４は、その情報を数値化して保持している。ネットリスト情報２４は、回路図エディタのような、回路図を作成するアプリケーションに対応している。Ｉ／Ｏレイアウト情報２５は、本実施形態の半導体設計支援装置１０による論理シミュレーション／ＳＴＡ解析を実行するときに用いられる入出力回路のレイアウトを示す情報である。Ｉ／Ｏレイアウト情報２５には、その情報を数値化したデータが保持されている。
【００５４】
第１ライブラリ２６は、検査対象の入出力回路に備えられた出力バッファに供給される信号と、その信号に対応して発生する電源ノイズとを関連付けたテーブル記述で定義したファイルを保持している。第２ライブラリ２７は、検査対象の入出力回路に備えられた入力バッファに影響する電源ノイズと、その電源ノイズに対応して出力される信号とを関連づけてテーブル記述で定義したファイルを保持している。
【００５５】
仮ＳｉｍＬｉｒａｒｙ２８は、本実施形態の半導体設計支援装置１０による論理シミュレーション／ＳＴＡ解析を実行するときに用いられる入出力回路のモデルを保持している。ここにおいて、仮ＳｉｍＬｉｒａｒｙ２８には、電源ノイズに対応した入出力バッファのモデル（以下、ノイズ対応バッファモデルと呼ぶ）が保持される。ノイズ伝播用仮ネットリスト情報２９は、出力回路におけるノイズ対応バッファモデルの接続に関する情報である。ノイズ伝播用仮ネットリスト情報２９は、その情報を数値化して保持している。電源ノイズ信号ファイル３０は、複数のバッファに対応して、電源ノイズの影響を含む出力信号を示すデータのまとまりである。
【００５６】
遅延情報ファイル３１は、回路中の各セルの遅延情報、それらの動作タイミングに関する制約を示すタイミング制約情報および配線の遅延情報を定義したデータのまとまりである。ノイズ伝播情報付遅延情報ファイル３２は、遅延情報ファイル３１と電源ノイズ信号ファイルとに基づいて構成されている。ノイズ伝播情報付遅延情報ファイル３２は、遅延情報ファイル３１に示される遅延情報、ダミー端子に関する情報、ダミー接続部の経路及を含んでいる。
【００５７】
図１２は、プログラム記憶部１２の構成を例示するブロック図である。図５を参照すると、プログラム記憶部１２は、半導体設計支援プログラム３３と、論理シミュレータ３４と、ＳＴＡ解析プログラム３５と、ダイナミックシミュレータ３６と、Ｉ／Ｏレイアウトモデル生成部３７と、電源ノイズ量ライブラリ生成プログラム３８と、半導体レイアウトモデル生成部３９と、Ｉ／Ｏノイズ伝播経路生成プログラム４０とを含んで構成されている。半導体設計支援プログラム３３は、上述の電源ノイズ信号ファイル３０と遅延情報ファイル３１とを用いて、ノイズ伝播用仮ネットリスト情報２９に示される接続情報に対応した回路遅延を示すデータのまとまりである。
【００５８】
以下に、プログラム記憶部１２の構成に関して説明を行う。図１２は、プログラム記憶部１２の構成を例示するブロック図である。図１２を参照すると、プログラム記憶部１２は、半導体設計支援プログラム３３と、論理シミュレータ３４と、ＳＴＡ解析プログラム３５と、ダイナミックシミュレータ３６と、Ｉ／Ｏレイアウトモデル生成部３７と、電源ノイズ量ライブラリ生成プログラム３８と、半導体レイアウトモデル生成部３９と、Ｉ／Ｏノイズ伝播経路生成プログラム４０とを含んで構成されている。
【００５９】
半導体設計支援プログラム３３は、本実施形態における全体的な動作の手順を示すコンピュータプログラムである。論理シミュレータ３４は、設計した論理回路の論理機能やタイミングを検証するためのＥＤＡ（Electronic Design Automation）ツールである。本実施形態において、論理シミュレータ３４によって実行される論理シミュレーションは、対象回路の設計データを入力し、これに検証用のパターン（シミュレーション・パターン）を加えて擬似的な回路を構成し、その擬似回路の応答を観測することによって実施される。
【００６０】
ＳＴＡ解析プログラム３５は、論理回路のタイミングを検証するためのツールである。本実施形態において、ＳＴＡ解析プログラム３５は、対象の回路が所望のクロック周波数で動作するかなど、タイミング仕様を満足するかどうかを調べるための手順を示すコンピュータプログラムにより構成されている。ＳＴＡ解析プログラム３５は、論理シミュレータのように検証パターンを使って回路を疑似動作させることがない。
【００６１】
ダイナミックシミュレータ３６は、複数のトランジスタで構成される回路や論理ゲートなどに対応して、それらをトランジスタ単位でシミュレーションする機能を有するツールである。Ｉ／Ｏレイアウトモデル生成部３７は、設計対象のＬＳＩの入出力回路のレイアウトを示すＩ／Ｏレイアウトデータを生成するコンピュータプログラムである。Ｉ／Ｏレイアウトモデル生成部３７には、Ｉ／Ｏレイアウトデータを生成するための手順が示されている。Ｉ／Ｏレイアウトモデル生成部３７は、上述の設計仕様・構成データ２２に対応して、Ｉ／Ｏレイアウトデータを生成する。
【００６２】
電源ノイズ量ライブラリ生成プログラム３８は、電圧変動に対応して入力バッファの出力の変化量を算出するための手順を示すコンピュータプログラムである。半導体レイアウトモデル生成部３９は、設計対象ＬＳＩの全体的なレイアウトを示す半導体レイアウトデータを生成するためのコンピュータプログラムである。半導体レイアウトモデル生成部３９には、半導体レイアウトデータを生成するための手順が示されている。半導体レイアウトモデル生成部３９は、上述のＳｉｍＬｉｂｒａｒｙ（メインライブラリ）２１に基づいて半導体レイアウトデータを生成する。Ｉ／Ｏノイズ伝播経路生成プログラム４０は、上述のノイズ伝播情報付遅延情報ファイル３２を生成するためのコンピュータプログラムである。
【００６３】
図１３は、本実施形態における、タイミング検証の対象となるＬＳＩの入出力回路１３の構成を例示する回路図である。本実施形態において、入出力回路１３の構成は、上述の入出力回路３００の構成と概ね同様である。図１３を参照すると、入出力回路１３は、データ入力段１４と、データ出力段１５と、クロック供給端子ＣＬＫから供給されるクロックを、データ入力段１４またはデータ出力段１５に供給する経路（以下、クロック供給経路と呼ぶ）とを含んで構成されている。クロック供給経路は、クロックバッファモデル４４と、第４組み合わせ回路ブロック４８と、第５組み合わせ回路ブロック４９とを含んで構成されている。クロックバッファモデル４４の出力端は、第７配線５９を介して第４組み合わせ回路ブロック４８と第５組み合わせ回路ブロック４９とに接続されている。本発明におけるタイミング検証の対象となるＬＳＩは、この構成に限定されるものではない。
【００６４】
データ入力段１４は、データ入力端子ＩＮ１から供給されるデータ信号を受け、そのデータ信号をＬＳＩ内部に供給している。図１３を参照すると、データ入力段１４は、第１データ入力バッファ４１と、第１組み合わせ回路ブロック４５と、入力側順序回路５０とを含んで構成されている。第１データ入力バッファ４１は、第１配線５３を介して第１組み合わせ回路ブロック４５に接続されている。その第１組み合わせ回路ブロック４５は、第２配線５４を介して入力側順序回路５０に接続されている。その入力側順序回路５０は、入力側順序回路クロック入力端子６２と、入力側順序回路データ入力端子６３と、入力側順序回路データ出力端子６４とを含んで構成されている。図１３に示されているように、入力側順序回路クロック入力端子６２は、第８配線６０を介して第４組み合わせ回路ブロック４８に接続されている。入力側順序回路クロック入力端子６２には、その第４組み合わせ回路ブロック４８を介して、クロック供給端子ＣＬＫからのクロックが供給されている。入力側順序回路データ入力端子６３には、データ入力端子ＩＮ１からのデータ信号が供給されている。入力側順序回路データ出力端子６４は、記憶しているデータをクロックに同期してＬＳＩ内部に出力している。
【００６５】
データ出力段１５は、ＬＳＩ内部から供給されるデータを外部に出力している。図１３を参照すると、データ出力段１５は、第１のデータ出力経路と、第２のデータ出力経路とを含んで構成されている。第１のデータ出力経路は、第１データ出力バッファ４２と、第２組み合わせ回路ブロック４６と、出力側第１順序回路５１とを含んで構成されている。第１データ出力バッファ４２は、第３配線５５を介して第２組み合わせ回路ブロック４６に接続されている。その第２組み合わせ回路ブロック４６は、第４配線５６を介して出力側第１順序回路５１に接続されている。図１３に示されているように、出力側第１順序回路５１は、クロックを受ける出力側第１順序回路クロック入力端子６５と、ＬＳＩ内部からのデータを受ける出力側第１順序回路データ入力端子６６と、記憶しているデータを出力する出力側第１順序回路データ出力端子６７とを含んで構成されている。出力側第１順序回路クロック入力端子６５は、第９配線６１を介して第５組み合わせ回路ブロック４９に接続されている。
【００６６】
同様に、第２のデータ出力経路は、第２データ出力バッファ４３と、第３組み合わせ回路ブロック４７と、出力側第２順序回路５２とを含んで構成されている。第２データ出力バッファ４３は、第５配線５７を介して第３組み合わせ回路ブロック４７に接続されている。その第３組み合わせ回路ブロック４７は、第６配線５８を介して出力側第２順序回路５２に接続されている。出力側第２順序回路５２は、出力側第１順序回路５１と同様に、クロックを受ける出力側第２順序回路クロック入力端子６８と、ＬＳＩ内部からのデータを受ける出力側第２順序回路データ入力端子６９と、記憶しているデータを出力する出力側第２順序回路データ出力端子７０とを含んで構成されている。出力側第２順序回路クロック入力端子６８は、出力側第１順序回路クロック入力端子６５と同様に、第９配線６１を介して第５組み合わせ回路ブロック４９に接続されている。
【００６７】
図１３を参照すると、入出力回路１３の第１領域１６には、上述の第１データ入力バッファ４１、第１データ出力バッファ４２および第２データ出力バッファ４３が含まれている。第２データ出力バッファ４３は、第１ノードＮ１を介して電源ＶＤＤに接続されている。また、第２データ出力バッファ４３は、第２ノードＮ２を介して接地線ＧＮＤに接続されている。同様に、第１データ出力バッファ４２は、第３ノードＮ３を介して電源ＶＤＤに接続され、第４ノードＮ４を介して接地線ＧＮＤに接続されている。さらに、第１データ入力バッファ４１は、第５ノードＮ５を介して電源ＶＤＤに接続され、第６ノードＮ６を介して接地線ＧＮＤに接続されている。また、第２領域１７は、上述の図６に示す領域に対応して構成されている。
【００６８】
図１４は、設計対象のＬＳＩの入出力バッファに対応するバッファモデルの構成を例示する回路図である。図１４の（ａ）は、第１データ出力バッファ４２に対応する第１データ出力バッファモデル４２ａの構成を例示している。また、図１４の（ｂ）は、第１データ入力バッファ４１に対応する第１データ入力バッファモデル４１ａの構成を例示している。図１４の（ａ）を参照すると、第１データ出力バッファモデル４２ａは、バッファ本体である第１データ出力バッファ４２と、その第１データ出力バッファ４２に接続される複数の端子（７１〜７４）を含んで構成されている。図１４の（ａ）に示されているように、第１データ出力バッファモデル４２ａは、第３ノードＮ３を介して電源ＶＤＤに接続される第１出力バッファ電源端子７３と、第４ノードＮ４を介して接地線ＧＮＤに接続される第１出力バッファ接地端子７４とを備えている。また、第１データ出力バッファモデル４２ａは、第３配線５５に接続される第１出力バッファ入力端子７１と、第１データ出力端子ＯＵＴ１に接続される第１出力バッファ出力端子７２を備えている。
【００６９】
図１４の（ｂ）を参照すると、第１データ入力バッファモデル４１ａは、バッファ本体である第１データ入力バッファ４１と、その第１データ入力バッファ４１に接続される複数の端子（７７〜８０）を含んで構成されている。図１４の（ｂ）に示されているように、第１データ入力バッファモデル４１ａは、第５ノードＮ５を介して電源ＶＤＤに接続される入力バッファ電源端子７９と、第６ノードＮ６を介して接地線ＧＮＤに接続される入力バッファ接地端子８０とを備えている。また、第１データ入力バッファモデル４１ａは、第１配線５３に接続される入力バッファ出力端子７８と、データ入力端子ＩＮ１に接続される入力バッファ入力端子７７を備えている。
【００７０】
以下に、本実施形態において、上述の入出力回路１３を検査対象とした場合のタイミング解析の動作について説明を行う。図１５は、本実施形態おける電源ノイズを考慮したシミュレーションの全体的な動作を例示するフローチャートである。本実施形態において、設計対象のＬＳＩのシミュレーションは、上述の半導体設計支援プログラム３３に示される手順に対応して、コンピュータを動作させることによって実行される。図１５を参照すると、その本実施形態におけるシミュレーション動作は、ＬＳＩの仕様・構成決定工程（ステップＳ１０１）と、Ｉ／Ｏレイアウト工程（ステップＳ１０２）と、Ｉ／Ｏノイズ成分解析工程（ステップＳ１０３）と、レイアウト設計工程（ステップＳ１０４）と、Ｉ／Ｏノイズ伝播経路解析工程（ステップＳ１０５）と、論理シミュレーション／ＳＴＡ解析工程（ステップＳ１０６）と、論理シミュレーション／ＳＴＡ解析結果判定処理工程（ステップＳ１０７）との連鎖によって実現される。
【００７１】
図１５を参照すると、ステップＳ１０１において、設計対象のＬＳＩの仕様・構成を決定し、その仕様・構成を示す設計仕様・構成データ２２を情報処理装置１のデータ記憶部１１に格納する。ステップＳ１０２において、情報処理装置１は、半導体設計支援プログラム３３に示される手順に対応して設計仕様・構成データ２２と、Ｉ／Ｏレイアウトモデル生成部３７とを読み出す。そのＩ／Ｏレイアウトモデル生成部３７に示される手順に対応し、設計仕様・構成データ２２に保持されている情報に基づいて、所定の領域（例えば第１領域１６）の入出力バッファのレイアウトを示すＩ／Ｏレイアウト情報２５を生成する。
【００７２】
ステップＳ１０３において、入出力バッファに関する論理シミュレーション／ＳＴＡ解析でノイズを考慮できるようにする為、第１領域１６の入出力バッファのノイズ成分の分析及びモデル作成を行う。なお、ステップＳ１０３の詳細に関しては後述する。ステップＳ１０４において、設計仕様・構成データ２２に基づいて内部ブロックを含む入出力回路１３（または、入出力回路１３を含むＬＳＩ全体）のレイアウト設計を行う。ステップＳ１０５において、入出力バッファノイズ伝播経路解析及び伝播経路作成を行う。なお、ステップＳ１０５の詳細に関しては後述する。
【００７３】
ステップＳ１０６において、ステップＳ１０３およびステップＳ１０４で作成した情報を元に、論理シミュレーション解析／ＳＴＡ解析でノイズ成分を考慮した解析を行う。ステップＳ１０６において実行される論理シミュレーション／ＳＴＡ解析では、ノイズ伝播用仮ネットリスト情報２９、仮ＳｉｍＬｉｒａｒｙ２８、仮解析入力条件（第１ライブラリ２６、第２ライブラリ２７、電源ノイズ信号ファイル３０など）、及び、ノイズ伝播情報付遅延情報ファイル３２を入力として論理シミュレーション（もしくは、ＳＴＡ解析）を行う。本実施形態において、このとき実行される論理シミュレーション／ＳＴＡ解析は、一般的な手法の論理シミュレーション／ＳＴＡ解析を適用することが可能である。
【００７４】
ステップＳ１０７において、ステップＳ１０６での論理シミュレーション／ＳＴＡ解析の結果を判定する。ステップＳ１０７での判定はノイズ成分を含めた通常のタイミング解析結果として判断する。ステップＳ１０７で遅延情報としてのノイズ成分が後段の順序回路で取り込まれるもしくはタイミングエラーが発生する場合にノイズによる影響が発生するとして回路設計の見直しを行う。回路設計の見直し後は、ステップＳ１０４の処理に戻る。ステップＳ１０７で遅延情報としてのノイズ成分が後段の順序回路で取り込まれない、且つ、タイミングエラーが発生していない場合にノイズによる影響はないものとし、次の工程に進む。換言すると、ステップＳ１０７において、ステップＳ１０６の論理シミュレーション（もしくは、ＳＴＡ解析）結果に基づいて、入力バッファ後段の順序回路でダミー接続の経路からの信号が取り込まれているか否かの判断と、タイミング制約を満たしているか否かの判断とを行う。その判断の結果、条件を満たしていない場合は、処理はステップＳ１０４に戻りレイアウト設計を行う。その判断の結果、条件を満たしている場合は、処理は次のステップに進む。なお、本実施形態では処理は終了するものとする。
【００７５】
以下に、図面を参照して、上述のステップＳ１０３の動作の詳細に関して説明を行う。ステップＳ１０３の動作は、電源ノイズ量ライブラリ生成プログラム３８に示される手順に対応して情報処理装置１が動作することによって実行される。図１６は、電源ノイズ量ライブラリ生成プログラム３８による動作を例示するフローチャートである。図５を参照すると、その動作は、Ｉ／Ｏ部のネットリスト情報抽出工程（ステップＳ２０１）と、ダイナミックシミュレーション実行工程（ステップＳ２０２）と、ダイナミックシミュレーションの結果から出力バッファ動作時の電源電圧変動量の抽出する工程（ステップＳ２０３）と、電圧変動による入力バッファの出力変化量を抽出する工程（ステップＳ２０４）との連鎖によって実現する。
【００７６】
ステップＳ２０１において、情報処理装置１は、電源ノイズ量ライブラリ生成プログラム３８に示される手順に対応してＩ／Ｏレイアウト情報２５を読み出す。そのＩ／Ｏレイアウト情報２５に基づいて、同一電源で駆動する入出力バッファを探し出し、同一電源で駆動するＩ／Ｏ部のネットリスト情報であるネットリスト情報２４（回路配置配線情報）と、入出力バッファのモデルを抽出する。つまり、回路全体のネットリスト情報より同一電源で駆動する入出力バッファ部（例えば、第１領域１６）回路接続情報を抽出する。ネットリスト情報２４には、使用される電源配線の情報が含まれている。その為、同一の電源で駆動する入出力バッファ部のみを抽出することが可能となる。
【００７７】
ステップＳ２０２において、ステップＳ２０１で抽出したネットリスト情報２４を用いて入力条件（容量、抵抗、入力信号の訛り成分、信号）を変動させたダイナミックシミュレーションを実行する。これによって、入力条件毎の電源電圧変動量であるノイズ信号を算出する。なお、本実施形態においては、一般的なダイナミックシミュレーション手法を適用することで、電源ノイズ信号ファイル３０を生成することが可能である。このとき、ダイナミックシミュレーションは容量、抵抗、入力信号、及び、入力信号の訛り成分、入出力バッファ間の距離に関する入力条件を変更して実行し、入出力バッファ部以外の回路構成が変わった場合でも、再度ダイナミックシミュレーションを実行しなくても回路構成から電源ノイズによる信号変化量を抽出できるようにする。
【００７８】
本実施例における入力条件は、容量、抵抗、入力信号、及び、入力信号の訛り成分、入出力バッファ間の距離としているが、電源ノイズ変動に影響する要因が増減した場合には、入力条件の追加削除を行う。また、後述のステップＳ２０３で作成する第１ライブラリ２６（または、そのライブラリに保持されるモデル）と、ステップＳ２０４で作成する第２ライブラリ２７（または、そのライブラリに保持されるモデル）とは、入力条件をパラメータとするテーブルで定義を行う。
【００７９】
そして、ライブラリ作成後の工程では、ネットリスト情報２４から抽出した入力条件をパラメータとしてあたえ、テーブル補間することにより、ステップＳ２０２の工程を再度実行しなくても電源ノイズによる信号を算出できるようにする。ダイナミックシミュレーションの結果から入力条件毎に出力バッファの電圧変動を抽出し、処理はステップＳ２０３進む。
【００８０】
ステップＳ２０３において、算出したノイズ信号と出力バッファに与える入力条件毎の電源電圧変動量との対応関係をテーブル記述で定義した第１ライブラリ２６を作成する。
【００８１】
ステップＳ２０４において、ステップＳ２０２で算出されたノイズ信号と、入力バッファに与える入力条件毎の入力バッファの出力変化量との対応関係をテーブル記述で定義した第２ライブラリ２７を作成する。
【００８２】
以下に、第１ライブラリ２６を作成する動作に関して、図面を参照して説明する。図１７は、電源ノイズデータ７５の生成動作を例示する図である。図１７を参照すると、電源ノイズデータ７５は、複数の電源ノイズデータ（７５−１〜７５−ｎ）を含んで構成されている。各々の電源ノイズデータは、出力バッファに関する入力条件である第１〜第ｎ入力信号のそれぞれに対応して構成される。
【００８３】
本実施形態のステップＳ２０３（ダイナミックシミュレーションの結果から出力バッファ動作時の電源電圧変動量の抽出する工程）では、第１〜第ｎ入力信号毎にダイナミックシミュレーションを実行し、第３ノードＮ３の電源電圧変動量を抽出する。例えば、第１電源ノイズデータ７５−１は、第１入力信号が供給された場合の、電源電圧変動量と変動までの時間とを、第１入力信号に対応した値として第１ライブラリ２６（モデル）に第１電源ノイズデータ７５−１定義される。
【００８４】
ここにおいて、電源ノイズデータ７５は、同一電源で駆動する回路（出力バッファ）のそれぞれに対し、波形の異なる入力信号を与えて、それぞれの入力信号に対応してダイナミックシミュレーションを実行することによって生成される。またこのとき、電源ノイズ量ライブラリ生成プログラム３８は、第１データ入力バッファ４１を動作させずに出力バッファに入力信号を供給したときの動作をダイナミックシミュレーションによって解析することで電源ノイズデータ７５を求める。
【００８５】
各電源ノイズデータは、電源電圧変動量を数値化したデータとして第１ライブラリ２６に保持される。図１８は、第１ライブラリ２６に保持される入力信号と電源ノイズデータとの対応を示す図である。電源ノイズデータ７５は、第１〜第ｎ入力信号の入力波形訛り（スルーレート）ｔｓを入力条件として、ダイナミックシミュレーションを実行することで算出される。図１８を参照すると、電源ノイズデータ７５は、電圧変動時間ＮＷ１、電圧変動量の最大値ＮＷ２、電圧変動が最大に達するまでの時間ＮＷ３、電圧変動が開始するまでの時間ＮＷ４を定義することで構成される。この時、電圧変動までの時間は、出力バッファがスレッショルドＶｔｈで動作すると仮定し、入力波形がスレッショルドＶｔｈに達してから電圧変動が開始するまでの時間としている。
【００８６】
第１〜第ｎ入力信号毎に抽出された電源ノイズデータ７５は、テーブル７６に記載され、そのテーブル７６は大容量記憶装置７に保持される。図１９は、電源電圧変動量テーブル７６の構成を例示する図である。図１９を参照すると、上述の電圧変動時間ＮＷ１、電圧変動量の最大値ＮＷ２、電圧変動が最大に達するまでの時間ＮＷ３、電圧変動が開始するまでの時間ＮＷ４は、入力波形訛り（スルーレート）ｔｓに関連付けて保持されている。電源電圧変動量テーブル７６は、入力波形訛りｔｓ時のダイナミックシミュレーションを実行することによって生成される。電源電圧変動量テーブル７６は、抽出された電圧変動時間ＮＷ１、電圧変動量の最大値ＮＷ２、電圧変動が最大に達するまでの時間ＮＷ２、電圧変動が開始するまでの時間ＮＷ３を、異なる入力波形訛り（スルーレート）ｔｓ毎に保持する。例えば、出力バッファがスレッショルドＶｔｈで動作すると仮定して、入力波形訛りが１ｎｓで立ち上がる状態でダイナミックシミュレーションを実行し、電源ノイズ波形として電圧変動時間１０ｎｓ、電圧変動量の最大値０．３Ｖ、電圧変動が最大に達するまでの時間５ｎｓ、電圧変動が開始するまでの時間１ｎｓを抽出して電源電圧変動量テーブル７６に記載する。
【００８７】
以下に、第２ライブラリ２７を作成する動作に関して説明を行う。図２０は、出力信号変化データ８１の生成動作を例示する図である。図２０を参照すると、出力信号変化データ８１は、複数の出力信号データ（８１−１〜８１−ｎ）で構成されている。各々の出力信号データは、上述の電源ノイズデータに対応して構成されている。
【００８８】
本実施形態のステップＳ２０４（電圧変動による入力バッファの出力変化量を抽出する工程）では、上述の電源ノイズデータ７５を入力条件とし、其々の入力条件（７５−１〜７５−ｎ）毎にダイナミックシミュレーションを実行して入力バッファの信号変化量を抽出する。
【００８９】
例えば、第１出力信号変化データ８１−１は、第１電源ノイズに示されるように第５ノードＮ５の電圧が変動した場合に出力される出力信号のデータである。第２ライブラリ２７には、第１データ入力バッファ４１の出力の信号変化量、変化までの時間を、入力条件毎にテーブル形式で定義されている。
【００９０】
出力信号変化データ８１は、電源電圧の変動に対応した出力信号を数値化したデータとして第２ライブラリ２７に保持される。図２１は、出力信号変化データ８１の構成を例示する図である。出力信号変化データ８１は、入力バッファの出力負荷容量及びノイズ波形を入力条件としてダイナミックシミュレーションを実行することによって生成される。図２１を参照すると、出力信号変化データ８１は、抽出された信号変化までの時間ＮＷ５と、変動時間ＮＷ６とを定義することによって構成される。図２２は、条件毎に抽出した出力信号変化データ８１を保持する出力信号変化テーブル８２の構成を例示する図である。図２２を参照すると、出力信号変化テーブル８２には、入力バッファの出力負荷容量と第１ライブラリ２６に示される電源ノイズに関連付けて、信号変化までの時間ＮＷ５と変動時間ＮＷ６とが記載されている。出力信号変化データ８１は、入力条件を入力バッファの出力負荷容量及び電源ノイズ波形を入力条件として、ダイナミックシミュレーションを実行することによって生成される。抽出された信号変化までの時間ＮＷ５、変動時間ＮＷ６は、入力バッファの出力負荷容量及び電源ノイズ波形の毎に出力信号変化データ８１保持されている。例えば、電圧変動量の最大値０．３Ｖ、電圧変動が最大に達するまでの時間５ｎｓ、電圧変動が開始するまでの時間１ｎｓ、出力負荷容量が１ｐｆの状態でダイナミックシミュレーションを実行し、出力信号が変化するまでの時間５ｎｓ、変化している時間１０ｎｓを抽出して出力信号変化データ８１に記載する。
【００９１】
図２３は、電源ノイズ信号ファイルを生成する動作を例示する波形図である。図２３の（ａ）は、出力バッファの入力信号を示している。図２３の（ｂ）は、出力バッファの入力信号が供給された場合の電源ノイズ波形を示している。図２３の（ｃ）は、出力バッファの入力信号が供給された場合の入力バッファの出力信号の変化を示している。図２３を参照すると、出力バッファの接続情報と第１ライブラリ２６とから、出力バッファの入力信号に応じた電源ノイズ波形を、電圧変動時間ＮＷ１、電圧変動量の最大値ＮＷ２、電圧変動が最大に達するまでの時間ＮＷ２、電圧変動が開始するまでの時間ＮＷ３として抽出する。抽出した電源ノイズ波形と、入力バッファの接続情報と、第２ライブラリ２７から入力バッファの出力信号の信号変化を信号変化までの時間ＮＷ５、変動時間ＮＷ６として抽出する。これにより、出力バッファの信号が入力された際の入力バッファの出力変化が判明する。この、抽出した値に基づいて、出力バッファと入力バッファの関係と共に電源ノイズ信号ファイル３０を生成する。これによって、出力バッファに入力されるデータ信号に応じた電源ノイズデータを構成することが可能となる。
【００９２】
以下に、上述のステップＳ１０５の動作の詳細に関して説明を行う。ステップＳ１０５の動作は、Ｉ／Ｏノイズ伝播経路生成プログラム４０に示される手順に対応して情報処理装置１が動作することによって実行される。図２４は、そのＩ／Ｏノイズ伝播経路生成プログラム４０に示されるＩ／Ｏノイズ伝播経路解析及び伝播経路作成の動作を例示するフローチャートである。図２４を参照すると、その動作は、ノイズ検出用ダミー端子を付加する工程（ステップＳ３０１）と、ノイズ伝播用仮ネットリスト情報作成する工程（ステップＳ３０２）と、出力バッファ毎の電源ノイズによる信号を算出する工程（ステップＳ３０３）と、遅延計算を行う工程（ステップＳ３０４）と、ダミー端子／ダミー接続に関する遅延情報付加する工程（ステップＳ３０５）の連鎖によって実現する。
【００９３】
ステップＳ３０１において、ノイズ検出用ダミー端子付加工程では、情報処理装置１は、Ｉ／Ｏノイズ伝播経路生成プログラム４０に示される手順に対応してネットリスト情報２４から同一電源で駆動する入力バッファと出力バッファとを抽出する。そして、論理シミュレーション／ＳＴＡ解析でノイズ伝播を認識できる様にするために、ノイズの経路の情報として作用する端子（以下、ダミー端子と呼ぶ）を各バッファに付加する。また、ステップＳ３０１において、論理シミュレーション／ＳＴＡ解析用のメインライブラリ（ＳｉｍＬｉｂｒａｒｙ）２１、ネットリスト情報２４に示される情報に基づいて、ダミー端子を付加したバッファに対応したライブラリ（仮ＳｉｍＬｉｒａｒｙ２８）を生成する。仮ＳｉｍＬｉｒａｒｙ２８は、第１データ出力バッファ４２（または第２データ出力バッファ４３）の入力端からダミー端子まで伝播する論理と、第１データ入力バッファ４１のダミー端子から出力端まで伝播する論理を保持する。
【００９４】
ステップＳ３０２において、ノイズ伝播用仮ネットリスト情報作成工程では、ネットリスト情報２４から、同一電源で駆動する入出力バッファを抽出する。そしてその入出力バッファを、ダミー端子付きの入出力バッファに置換する。ステップＳ３０１で追加したダミー端子を用いて、ノイズによる信号を伝播させるためのダミー配線を生成する。その後、ダミー端子付きの入出力バッファのダミー端子間を接続したノイズ伝播用仮ネットリスト情報２９を作成する。（以下においてその接続を、ダミー接続と呼ぶ場合がある。）このとき、同一電源で駆動する入出力バッファが複数存在する場合は、各入出力バッファ間が対になるように接続を行う。
【００９５】
ステップＳ３０３において、バッファ毎の電源ノイズによる信号算出の工程では、ネットリスト情報２４、ノイズ伝播用仮ネットリスト情報２９、電源電圧変動量ライブラリである第１ライブラリ２６および信号変化量ライブラリである第２ライブラリ２７から、入出力バッファ毎のノイズによる電源電圧変動量、信号変化量、遅延量を算出する。そしてその計算値を示す電源ノイズ信号ファイル３０を生成し、ＳｉｍＬｉｂｒａｒｙ（メインライブラリ）２１（もしくは、仮ＳｉｍＬｉｒａｒｙ２８）に格納する。このとき得られる信号変化量は、出力バッファの接続状態と、第１ライブラリ２６から抽出される電圧変動量（電源ノイズデータ７５）と、入力バッファの接続状態と、第２ライブラリ２７から抽出される入力バッファの信号変化量（８５）とに基づいて算出される。このとき、入力バッファの出力変化が後段の組み合わせ回路部や順序回路のスレッショルド電圧に満たない場合は解析対象外とするため電源ノイズ信号ファイル３０に入力バッファ出力変化を出力しない。
【００９６】
また、複数の出力バッファの同時動作が発生する場合には、入力バッファの信号変化量を抽出する前に各出力バッファの動作によるノイズ波形をダイナミックシミュレーションで結合し、結合したノイズ信号を用いて入力バッファの信号変化量を抽出する。また、出力バッファの同時動作が発生するかは、あらかじめ論理シミュレーションを実行することで判断する。また、仮ＳｉｍＬｉｒａｒｙ２８に遅延情報を含める場合（ＳＤＦアノテーションを行わない場合）は、信号変化量に関する情報を信号レベルが特定の値を超えたときに信号として伝播するモデルとして定義する。
【００９７】
ステップＳ３０４において、遅延計算工程では、ネットリスト情報、及び、遅延ライブラリから遅延計算を行い、遅延情報ファイル３１（ＳＤＦ）を作成する。この遅延情報ファイル３１には、回路中の各セルの延情報、タイミング制約情報、及び、配線の遅延情報が定義される。例えば、入力バッファの場合は、入力バッファの入力端子の状態（立ち上がり、立下り）と出力端子の状態、及び、入力端子が変化して出力端子が変化するまでの時間が定義される。入力端子が変化して出力端子が変化するまでの時間は、信号がスレッショルドＶｔｈに達した時点を変化点と仮定すると、入力端子の信号がスレッショルドＶｔｈ達する時間と出力端子の信号がスレッショルドＶｔｈに達する時間の差分となる。
【００９８】
ステップＳ３０５において、ダミー端子／ダミー配線に関する遅延情報付加工程では、ステップＳ３０４で作成した遅延情報ファイル３１と、ステップＳ３０３で作成して電源ノイズ信号ファイル３０とを用いて、電源ノイズ成分が遅延情報として付加されたノイズ伝播情報付遅延情報ファイル３２を作成する。ここにおいて、ノイズ伝播情報付遅延情報ファイル３２は、遅延情報ファイル３１（ＳＤＦ）にダミー端子、ダミー接続部の経路及び遅延情報を追加することによって構成される。
【００９９】
このとき、ノイズ伝播情報付遅延情報ファイル３２に追加するダミー配線を経由する遅延情報は、ステップＳ３０３で求めた遅延情報を使用する。また、論理シミュレーション／ＳＴＡ解析で遅延情報を外部よりアノテーションしない場合は、ノイズ伝播情報付遅延情報ファイル３２を作成せず、仮ＳｉｍＬｉｒａｒｙ２８（モデル）に論理情報と共に本情報を追加する。また、論理シミュレーション解析の場合は、信号レベルを用いて信号がスレッショルド電圧を超えるレベルに達した場合に信号が後段に伝播するよう記述することも可能である。
【０１００】
以下に、図面を参照して、上述のダミー端子が付加されたバッファの構成、および、そのバッファの動作に関して説明を行う。ここにおいて、設計対象のＬＳＩの入出力回路１３の第１領域１６に、複数の出力バッファ（第１データ出力バッファ４２、第２データ出力バッファ４３）と、一つの入力バッファ（第１データ入力バッファ４１）が設けられている場合を例示して、その説明を行う。なお、この構成は、本願発明における入出力回路１３の構成を限定するものではない。
【０１０１】
図２５は、第１データ出力バッファ４２にダミー端子を追加する場合の出力バッファモデルの構成を例示する図である。図２５を参照すると、第１データ出力バッファモデル４２ａは、ダミー端子を追加する前の出力バッファモデルを示している。第１データ出力バッファモデル４２ｂは、ダミー端子（電源ノイズ出力端子８４、その電源ノイズ出力端子８４と第１データ出力バッファ４２とを接続する電源ノイズ出力ノード８３）を追加した後の出力バッファモデルを示している。また、図２５に示される波形図は、第１データ出力バッファモデル４２ａまたは第１データ出力バッファモデル４２ｂを構成する入出力端子の動作を示している。図２５の波形（ａ）は、第１出力バッファ入力端子７１の動作を示している。図２５の波形（ｂ）は、第１出力バッファ出力端子７２の動作を示している。図２５の波形（ｃ）は、電源ノイズ出力端子８４の動作を示している。このとき追加するダミー端子（電源ノイズ出力端子８４）の出力変化に関する論理情報は、ノイズ伝播用仮ネットリスト情報２９に定義される。なお、同一電源で駆動する入力バッファが複数存在する場合は、ノイズ伝播経路として各入力バッファの数に対応する数のダミー端子を追加する。
【０１０２】
図２６は、第１データ入力バッファ４１にダミー端子を追加する場合の入力バッファモデルの構成を例示する図である。図２６には、同一電源を使用する出力バッファが第１データ出力バッファ４２と第２データ出力バッファ４３であるときに、第１データ入力バッファ４１にダミー端子の追加する場合の構成を例示している。第１データ入力バッファモデル４１ａは、ダミー端子を追加する前の入力バッファモデルを示している。第２データ入力バッファモデル４１ｂは、ダミー端子である第１電源ノイズ供給端子８５、第２電源ノイズ供給端子８６および供給されるノイズを結合する機能を有するノイズ結合装置８７を追加した後の入力バッファモデルの構成を示している。
【０１０３】
同一電源で駆動する出力バッファが複数存在する場合、ダミー端子を各出力バッファに対応するように追加する。ノイズ結合装置８７は、各出力バッファから供給される電源ノイズを結合して一つの電源ノイズとする。したがって、各出力バッファから電源ノイズが伝播される場合にも対応することができる。
【０１０４】
また、図２６に示される波形図は、第１データ入力バッファモデル４１ａまたは第２データ入力バッファモデル４１ｂを構成する入出力端子の動作を示している。図２６の波形（ａ）は、入力バッファ入力端子７７の動作を示している。図２６の波形（ｂ）は、入力バッファ出力端子７８の動作を示している。図２６の波形（ｃ）は、第１電源ノイズ供給端子８５が受ける電源ノイズを示している。図２６の波形（ｄ）は、第２電源ノイズ供給端子８６が受ける電源ノイズを示している。図２６の波形（ｅ）は、ノイズ結合装置８７の出力波形を示している。図２６の波形（ｆ）は、入力バッファ出力端子７８の動作を示している。このとき、追加するダミー端子の関連する出力変化に関する論理情報は、ノイズ伝播用仮ネットリスト情報２９に定義される。
【０１０５】
図２７はノイズ結合装置８７における、電源ノイズ信号を結合する動作を例示する図である。図２７の（ａ）は、第１出力バッファ電源ノイズ出力線８８を介してノイズ結合装置８７に供給される電源ノイズ信号を示している。図２７の（ｂ）は、第２出力バッファ電源ノイズ出力線８９を介してノイズ結合装置８７に供給される電源ノイズ信号を示している。図２７の（ｃ）は、ノイズ結合装置８７から出力され、ノイズ結合装置９１を介して第１データ入力バッファ４１に供給される電源ノイズ信号を示している。図２７に示されているように、第１領域１６に、同じ電源線に接続されている出力バッファが複数設けられているとき、ノイズ結合装置８７は、それら複数の出力バッファから供給される電源ノイズ信号に対応してダイナミックシミュレーションを行い、複数の電源ノイズ信号を一つに結合する。
【０１０６】
図２８は、上述のダミー接続を有する入出力回路１３（以下、ダミー接続付入出力回路モデル１３ａと呼ぶ）の構成を例示する回路図である。図２８を参照すると、ダミー接続付入出力回路モデル１３ａの第１領域１６には、第１データ入力バッファ４１と、第１データ出力バッファ４２と、第２データ出力バッファ４３と、ノイズ結合装置８７とが設けられている。図２８を参照すると、ダミー接続付入出力回路モデル１３ａは、上述のダミー端子付きの入力バッファである第２データ入力バッファモデル４１ｂと、ダミー端子付きの出力バッファである第１データ出力バッファモデル４２ｂに対応して回路が構成されている。また、ダミー接続付入出力回路モデル１３ａ第２データ出力バッファ４３は第１データ出力バッファモデル４２ｂと同様の構成である。ここにおいて、ダミー接続付入出力回路モデル１３ａは、電源ノイズ出力端子８４と第１電源ノイズ供給端子８５とが接続されている。また、第２データ出力バッファ４３は電源ノイズ出力端子８４と同様の電源ノイズ出力端子を備えている。その電源ノイズ出力端子は、第２電源ノイズ供給端子８６に接続されている。
【０１０７】
図２９は、ダミー接続付入出力回路モデル１３ａが動作する際の各端子の信号変化を示したタイミングチャートである。図２９の（ａ）は、第１データ出力端子ＯＵＴ１の信号変化を示している。図２９の（ｂ）は、第２データ出力端子ＯＵＴ２の信号変化を示している。図２９の（ｃ）は、データ入力端子ＩＮ１の信号変化を示している。図２９の（ｄ）は、入力側順序回路５０の入力側順序回路データ入力端子６３における信号変化を示している。図２９の（ｅ）は、クロック供給端子ＣＬＫに供給されるクロックの時間変化を示している。図２９の（ｆ）は、出力側第１順序回路５１の出力側第１順序回路クロック入力端子６５に供給されるクロックの時間変化を示している。図２９の（ｇ）は、入力側順序回路５０の入力側順序回路クロック入力端子６２に供給されるクロックの時間変化を示している。
【０１０８】
図２９を参照すると、時刻Ｔ３１において、第１データ出力端子ＯＵＴ１（または第２データ出力端子ＯＵＴ２）の出力がＬｏｗレベルからＨｉｇｈレベルに変化している（図２９の（ａ）、（ｂ））。このとき、第１データ出力バッファ４２（または第２データ出力バッファ４３）から出力される電源ノイズ信号に応答して、第１データ入力バッファ４１の出力が変化し、ノイズ信号９５が出力される。図２９に示されているように、ノイズ信号９５は、時刻Ｔ３２で入力側順序回路５０の入力側順序回路データ入力端子６３に伝播する。
【０１０９】
ここで、時刻Ｔ３３を、時刻Ｔ３４（入力側順序回路５０の動作クロックにおける立ち上がりタイミング）を基準としたときに、タイミング制約期間ＳＨ３２（入力側順序回路５０の動作タイミングの制約期間）を考慮した時刻と定義する。ここにおいて、本実施形態の情報処理装置１は、論理シミュレーション／ＳＴＡ解析において、この信号が、時刻Ｔ３３のタイミングで入力側順序回路５０に取り込まれるか否かを判断する。例えば、図２９を参照すると、時刻Ｔ３３において、ノイズによる信号変化であるノイズ信号９５は、入力側順序回路５０に取り込まれない。したがって、この場合におけるノイズによる影響はないと判断できる。そのノイズ信号９５が出力されている時間が大きい場合や、ノイズ信号９５が出力される時刻が遅れ、ノイズ信号９５がタイミング制約期間ＳＨ３２と重なる様な場合には、ノイズによる信号変化が入力側順序回路５０に取り込まれ、ノイズによる影響があると判断する。このように、本実施形態の半導体設計支援装置１０は、ノイズによる信号変化が後段の順序回路に取り込まれると判断した場合は、タイミング違反やダミー接続を経由した箇所に対してレイアウト修正を行うことで、適切なＬＳＩ設計を実現することが可能となる。
【０１１０】
上述してきたように、本実施形態では同一電源で駆動する入出力バッファのノイズを遅延成分として定義する第１ライブラリ２６（モデル）と、ノイズ伝播用のダミー端子、及び、ダミー端子間をダミー配線で接続した回路接続情報を定義する第２ライブラリ２７とを構成している。その第１ライブラリ２６と第２ライブラリ２７とを用いて、論理シミュレーション／ＳＴＡ解析を行うことにより、出力バッファ動作時に発生するノイズを考慮したタイミング解析を行うことが可能である。
【０１１１】
クロック供給端子ＣＬＫから供給されるクロック信号は、第１データ入力バッファ４１を介して入力側順序回路５０に入力される。また、出力側第１順序回路５１の出力は、第１データ出力バッファ４２の入力端に供給される。さらに、第１データ出力バッファ４２が動作することによって発生するノイズは、第１データ出力バッファ４２の電源ノイズ出力端子８４から第１出力バッファ電源ノイズ出力線８８を経由して第１データ入力バッファ４１の第１電源ノイズ供給端子８５に伝播される。このとき、そのノイズに応答して第１データ入力バッファ４１から出力される信号は、第１組み合わせ回路ブロック４５を経由して入力側順序回路５０の入力側順序回路データ入力端子６３へ入力される。（出力側第２順序回路５２から出力される信号に応じて第２データ出力バッファ４３がノイズを発生させる場合も同様であり、詳細な説明は省略する。）
【０１１２】
このような動作によって発生して入力側順序回路５０に入力される信号と、入力側順序回路５０の入力側順序回路クロック入力端子６２に供給されるクロックとのタイミング制約を解析することにより、ノイズによる信号が入力側順序回路５０に取り込まれる否かを解析することが可能となる。また、ノイズによる信号が取り込まれる場合、組合せ回路（第１組み合わせ回路ブロック４５〜第５組み合わせ回路ブロック４９）の構成を変更する事によりノイズを順序回路に取り込まれない様にすることが可能となる。これによって、従来の技術では困難であったノイズ信号を考慮した論理シミュレーションを実現することが可能となる。
【０１１３】
また、本実施形態の半導体設計支援装置１０では、論理シミュレーション／ＳＴＡ解析実行時に回路接続情報からノイズを信号として算出している。そのため、実動作で影響を与えない（入力バッファ後段の順序回路で実際に取り込まれない）ノイズに対して、内部回路変更時の再ノイズ解析が不要である。また、入力バッファの後段にある順序回路に取り込まれないノイズに対しては、ＬＳＩ動作に影響なしと判断することが可能となる。
【０１１４】
上述の実施形態において、入出力回路１３が、一般的なＬＳＩの入出力回路の部分に対応している場合を例示して、本願発明の構成・動作について説明を行なってきた。ここにおいて、本実施形態の半導体設計支援装置１０は、解析の対象がＬＳＩの入出力回路１３に制限されることは無い。例えば、入出力回路１３をマクロ回路として構成し、入力バッファ（第１データ入力バッファ４１、クロックバッファモデル４４）と出力バッファ（第１データ出力バッファ４２、第２データ出力バッファ４３）とをマクロの入出力バッファとすることも可能である。それによって、内部ブロック（プリミティブブロック）に対しても電源ノイズによる誤動作を検証することができる。内部ブロック（プリミティブブロック）では電源ノイズによる誤動作は微小である。しかしながら、微細化等によるノイズが、設計に影響をあたえるような場合もあり、そのような場合であっても本願発明を適用することのよって内部ブロック（プリミティブ）でのノイズに影響する信号を解析させることが可能となる。
【０１１５】
内部ブロック（プリミティブブロック）に本願発明を適用する場合には、例えば、後述する第２実施形態の説明で参照する図３０に示されるような回路を構成することで、その内部ブロックに対する電源ノイズによる誤動作を検証することが可能となる。この場合において、ダミーの電源ノイズ供給端子とノイズ合成装置とで出力バッファを構成し、同一電源で駆動する内部ブロック間のダミー端子を接続して、各出力バッファにノイズを供給する。また、同一電源で駆動する内部ブロック間のダミー端子を全て接続することで、ダミー接続が膨大になる場合には、ダミー接続はレイアウト的に近傍しノイズの影響が発生するブロック同士に限定してもよい。
また、上述の実施形態においては、入力条件を要素として、ノイズを示す三角波形を数値化してテーブルに記載したライブラリ（モデル）を構成している。ここにおいて、ノイズを定義するライブラリ（モデル）は、ダイナミックシミュレーションの結果をそのまま座標情報として定義したライブラリであってもよい。ダイナミックシミュレーションの結果をそのまま使用することにより、より制度の高い信号変化量を算出することが可能になる。
【０１１６】
［第２実施形態］
以下に、図面を参照して本願発明の第２の実施形態について説明を行う。図３０は、第２実施形態における第１データ出力バッファモデル４２ｃの構成を例示する回路図である。図３０を参照すると、第２実施形態における第１データ出力バッファモデル４２ｃには、出力バッファ４２に対して、ノイズを供給するダミー端子である第４電源ノイズ供給端子９３とノイズ合成装置９４とが定義されている。また、第１データ出力バッファモデル４２ｃは、第３電源ノイズ供給端子９２を含んで構成されている。第３電源ノイズ供給端子９２は、ノイズ結合装置８７と同様の機能を備えている。この第３電源ノイズ供給端子９２、ノイズ合成装置９４に対して、第１データ入力バッファ４１のダミー端子（第１電源ノイズ供給端子８５、第２電源ノイズ供給端子８６）と同様にノイズを供給する。それによって、出力バッファから出力バッファへ伝播するノイズを考慮した設計が行える。
【０１１７】
出力先が外部回路（ＰＡＤ接続）の場合には、外部接続容量等が内部回路に比べて大きいことが多い。そのため、ある出力バッファが他の出力バッファから伝播されるノイズによる影響が小さい場合が多い。したがって、第１実施形態では、出力バッファから出力バッファに伝搬するノイズを考慮せず、ノイズによる影響が大きい出力バッファから入力バッファに伝搬するノイズに対応して擬似回路を構成する場合を例示して説明を行ってきた。
【０１１８】
第２実施形態では、第１データ出力バッファモデル４２ｃを上述のように構成することで、出力バッファから出力バッファへ伝播するノイズを考慮した設計が行える。また、このとき、出力バッファの後段に順序回路がないため、ＬＳＩの仕様より期待値を予め用意してその期待値に収まるかを判断する。これにより、出力バッファのノイズによる変動を無視できないようなＬＳＩ仕様の場合であっても、本実施例の手法を用いて解析を行うことが可能となる。
【０１１９】
［第３実施形態］
第１実施形態のライブラリには、入力条件を要素として、ノイズを示す三角波形を数値化してテーブルで記載したモデルが構成されている。第３実施形態では、ノイズを示す波形を、計算式や他の波形表現で定義してライブラリを構成する場合を例示する。
【０１２０】
例えば、遅延計算時の遅延モデルを計算式で定義するのと同様に、上述のステップＳ２０３やステップＳ２０４の処理において、入力条件を要素に取り入れた計算式でノイズを表現したライブラリを構成しても良い。その場合、第１〜第ｎ入力信号と第１〜第ｎ電源ノイズとの関連性（図１７参照）や、第１〜第ｎ電源ノイズと第１〜第ｎ出力信号との関連性（図２０参照）から、その規則性に基づいて計算式を構成することができる。また、図３１で示すように、開始点ＮＷ９、幅がＮＷ７、高さがＮＷ９の２時曲線の式として表現してライブラリを構成してもよい。ここにおいて、動作は第１実施形態と同様である。モデルを計算式に置き換えることで、求めた計算式に依存するがテーブルからの補間と比較より高速にノイズによる信号変化を算出することが可能になる。
【０１２１】
［第４実施形態］
図３２は、本発明の第４実施形態の入出力回路１３の構成の一部を例示する回路図である。上述の実施形態では、ノイズ結合装置８７（または第３電源ノイズ供給端子９２）を入力バッファ内部に組み込んでいる。第４の実施形態では、図３２に示されているように、ノイズ合成装置９４を入力バッファ（または出力バッファ）に組み込まず、独立した装置として構成している。ノイズ合成装置９４をバッファと独立に構成することにより、入力バッファ（または出力バッファ）のモデルを簡略化することができる。
【０１２２】
なお、上述してきた複数の実施形態は、その構成・動作に矛盾が生じない範囲において組み合わせて実施することが可能である。
【図面の簡単な説明】
【０１２３】
【図１】図１は、従来のスイッチングノイズ解析手法における、ＬＳＩモデルの構成を示す回路図である。
【図２】図２は、従来のレイアウト設計を行う場合における、処理の流れを示したフローチャートである。
【図３】図３は、一般的なＬＳＩ回路の入出力部の構成を示す回路図である。
【図４】図４は、入出力回路２００の動作を示すタイミングチャートである。
【図５】図５は、複数の出力バッファを有するＬＳＩ回路の入出力回路３００の構成を示す回路図である。
【図６】図６は、入出力回路３００におけるデータ入出力バッファの構成を示す回路図である。
【図７】図７は、データ入力バッファの各入出力端子、および、データ出力バッファの各入出力端子の信号変化と電源ＶＤＤの変動とを示すタイミングチャートである。
【図８】図８は、実際のＬＳＩが動作する際の信号変化を示すタイミングチャートである。
【図９】図９は、入出力回路３００における、論理シミュレーション解析／ＳＴＡ解析で認識される信号変化を示すタイミングチャートである。
【図１０】図１０は、本実施形態の半導体設計支援装置１０の構成を例示するブロック図である。
【図１１】図１１は、データ記憶部１１の構成を例示するブロック図である。
【図１２】図１２は、プログラム記憶部１２の構成を例示するブロック図である。
【図１３】図１３は、本実施形態における、タイミング検証の対象となるＬＳＩの入出力回路の構成を例示する回路図である。
【図１４】図１４は、設計対象のＬＳＩの入出力バッファに対応するバッファモデルの構成を例示する回路図である。
【図１５】図１５は、本実施形態おける電源ノイズを考慮したシミュレーションの全体的な動作を例示するフローチャートである。
【図１６】図１６は、電源ノイズ量ライブラリ生成プログラム３８による動作を例示するフローチャートである。
【図１７】図１７は、電源ノイズデータ７５の生成動作を例示する図である。
【図１８】図１８は、第１ライブラリ２６に保持される入力信号と電源ノイズデータとの対応を示す図である。
【図１９】図１９は、電源電圧変動量テーブル７６の構成を例示する図である。
【図２０】図２０は、出力信号変化データ８１の生成動作を例示する図である。
【図２１】図２１は、出力信号変化データ８１の構成を例示する図である。
【図２２】図２２は、条件毎に抽出した出力信号変化データ８１を保持する出力信号変化テーブル８２の構成を例示する図である。
【図２３】図２３は、電源ノイズ信号ファイルを生成する動作を例示する波形図である。
【図２４】図２４は、Ｉ／Ｏノイズ伝播経路生成プログラム４０に示されるＩ／Ｏノイズ伝播経路解析及び伝播経路作成の動作を例示するフローチャートである。
【図２５】図２５は、第１データ出力バッファ４２にダミー端子を追加する場合の出力バッファモデルの構成を例示する図である。
【図２６】図２６は、第１データ入力バッファ４１にダミー端子を追加する場合の入力バッファモデルの構成を例示する図である。
【図２７】図２７はノイズ結合装置８７における、電源ノイズ信号を結合する動作を例示する図である。
【図２８】図２８は、ダミー接続付入出力回路モデル１３ａの構成を例示する回路図である。
【図２９】図２９は、ダミー接続付入出力回路モデル１３ａが動作する際の各端子の信号変化を示したタイミングチャートである。
【図３０】図３０は、第２実施形態における第１データ出力バッファモデル４２ｃの構成を例示する回路図である。
【図３１】図３１は、２時曲線の式として表現されたライブラリ示す図である。
【図３２】図３２は、本発明の第４実施形態の入出力回路１３の構成の一部を例示する回路図である。
【符号の説明】
【０１２４】
１…情報処理装置、２…入力装置、３…表示措置
４…ＣＰＵ、５…メモリ、６…入出力インターフェース
７…大容量記憶装置、８…バス
１０…半導体設計支援装置
１１…データ記憶部、１２…プログラム記憶部
１３…入出力回路、１３ａ…ダミー接続付入出力回路モデル
１４…データ入力段、１５…データ出力段
１６…第１領域、１７…第２領域
２１…ＳｉｍＬｉｂｒａｒｙ（メインライブラリ）
２２…設計仕様・構成データ、２３…電源ノイズ量ライブラリ
２４…ネットリスト情報、２５…Ｉ／Ｏレイアウト情報
２６…第１ライブラリ、２７…第２ライブラリ
２８…仮ＳｉｍＬｉｒａｒｙ
２９…ノイズ伝播用仮ネットリスト情報
３０…電源ノイズ信号ファイル、３１…遅延情報ファイル
３２…ノイズ伝播情報付遅延情報ファイル
３３…半導体設計支援プログラム
３４…論理シミュレータ、３５…ＳＴＡ解析プログラム
３６…ダイナミックシミュレータ
３７…Ｉ／Ｏレイアウトモデル生成部
３８…電源ノイズ量ライブラリ生成プログラム
３９…半導体レイアウトモデル生成部
４０…Ｉ／Ｏノイズ伝播経路生成プログラム
４１…第１データ入力バッファ
４１ａ…第１データ入力バッファモデル、４１ｂ…第２データ入力バッファモデル
４２…第１データ出力バッファ
４２ａ…第１データ出力バッファモデル、４２ｂ…第１データ出力バッファモデル
４２ｃ…第１データ出力バッファモデル
４３…第２データ出力バッファ
４４…クロックバッファモデル
４５…第１組み合わせ回路ブロック、４６…第２組み合わせ回路ブロック
４７…第３組み合わせ回路ブロック、４８…第４組み合わせ回路ブロック
４９…第５組み合わせ回路ブロック、
５０…入力側順序回路
５１…出力側第１順序回路、５２…出力側第２順序回路
５３…第１配線、５４…第２配線、５５…第３配線
５６…第４配線、５７…第５配線、５８…第６配線
５９…第７配線、６０…第８配線、６１…第９配線
６２…入力側順序回路クロック入力端子
６３…入力側順序回路データ入力端子、６４…入力側順序回路データ出力端子
６５…出力側第１順序回路クロック入力端子
６６…出力側第１順序回路データ入力端子、６７…出力側第１順序回路データ出力端子
６８…出力側第２順序回路クロック入力端子
６９…出力側第２順序回路データ入力端子、７０…出力側第２順序回路データ出力端子
７１…第１出力バッファ入力端子、７２…第１出力バッファ出力端子
７３…第１出力バッファ電源端子、７４…第１出力バッファ接地端子
７５…電源ノイズデータ
７５−１…第１電源ノイズデータ、７５−２…第２電源ノイズデータ
７５−ｎ…第ｎ電源ノイズデータ
７６…電源電圧変動量テーブル
７７…入力バッファ入力端子、７８…入力バッファ出力端子
７９…入力バッファ電源端子、８０…入力バッファ接地端子
８１…出力信号変化データ
８１−１…第１出力信号変化データ、８１−２…第２出力信号変化データ
８１−ｎ…第ｎ出力信号変化データ
８２…出力信号変化テーブル、８３…電源ノイズ出力ノード
８４…電源ノイズ出力端子
８５…第１電源ノイズ供給端子、８６…第２電源ノイズ供給端子
８７…ノイズ結合装置
８８…第１出力バッファ電源ノイズ出力線、８９…第２出力バッファ電源ノイズ出力線
９０…結合ノイズ出力線
９１…ノイズ結合装置
９２…第３電源ノイズ供給端子、９３…第４電源ノイズ供給端子
９４…ノイズ合成装置
９５…ノイズ信号
ＣＬＫ…クロック供給端子
ＩＮ１…データ入力端子
ＯＵＴ１…第１データ出力端子
ＯＵＴ２…第２データ出力端子
ＶＤＤ…電源
ＧＮＤ…接地線
ＳＨ３２…タイミング制約期間
Ｎ１…第１ノード、Ｎ２…第２ノード、Ｎ３…第３ノード
Ｎ４…第４ノード、Ｎ５…第５ノード、Ｎ６…第６ノード
１１０…チップ、１０１…入力バッファ
１０３…ボンディングワイヤ／リードフレーム
１０３ａ…抵抗、１０３ｂ…インダクタンス
１０７…外部負荷容量、１０８…入力信号源
１１１…内部負荷、１１２…内部負荷
１１３…内部電源配線
２００…入出力回路、２０１…データ入力バッファ
２０２…データ出力バッファ、２０３…クロック入力バッファ
２０４…第１組み合わせ回路部、２０５…第２組み合わせ回路部
２０６…第３組み合わせ回路部、２０７…第４組み合わせ回路部
２０８…第１順序回路、２０９…第２順序回路
２１１…第１配線、２１２…第２配線、２１３…第３配線、２１４…第４配線
２１５…第５配線、２１６…第６配線、２１７…第７配線、
２２１…第１クロック信号入力端子
２２２…第１データ信号入力端子、２２３…第１データ信号出力端子
２２４…第２クロック信号入力端子
２２５…第２データ信号入力端子、２２６…第２データ信号出力端子
ＤＴ１…第１遅延時間、ＤＴ２…第２遅延時間
ＳＨ２…制約期間
３００…入出力回路、３０１…出力バッファ
３０２…第５組み合わせ回路、３０３…第３順序回路
３０４…第１ノード、３０５…第２ノード
３０６…第３ノード、３０７…第４ノード
３０８…第５ノード、３０９…第６ノード
３１１…第８配線、３１２…第９配線
３１３…第３クロック信号入力端子
３１４…第３データ信号入力端子、３１５…第３データ信号出力端子
３２１…第１入力端子、３２２…第１出力端子
３２３…第２入力端子、３２４…第２出力端子
【図１】
2008083815.tif 000003
【図２】
2008083815.tif 000004
【図３】
2008083815.tif 000005
【図４】
2008083815.tif 000006
【図５】
2008083815.tif 000007
【図６】
2008083815.tif 000008
【図７】
2008083815.tif 000009
【図８】
2008083815.tif 000010
【図９】
2008083815.tif 000011
【図１０】
2008083815.tif 000012
【図１１】
2008083815.tif 000013
【図１２】
2008083815.tif 000014
【図１３】
2008083815.tif 000015
【図１４】
2008083815.tif 000016
【図１５】
2008083815.tif 000017
【図１６】
2008083815.tif 000018
【図１７】
2008083815.tif 000019
【図１８】
2008083815.tif 000020
【図１９】
2008083815.tif 000021
【図２０】
2008083815.tif 000022
【図２１】
2008083815.tif 000023
【図２２】
2008083815.tif 000024
【図２３】
2008083815.tif 000025
【図２４】
2008083815.tif 000026
【図２５】
2008083815.tif 000027
【図２６】
2008083815.tif 000028
【図２７】
2008083815.tif 000029
【図２８】
2008083815.tif 000030
【図２９】
2008083815.tif 000031
【図３０】
2008083815.tif 000032
【図３１】
2008083815.tif 000033
【図３２】
2008083815.tif 000034