JP5071081B2 - 半導体装置に対する同時動作信号ノイズ見積り方法における同時動作信号ノイズ基礎特性取得方法、及びプログラム - Google Patents

半導体装置に対する同時動作信号ノイズ見積り方法における同時動作信号ノイズ基礎特性取得方法、及びプログラム Download PDF

Info

Publication number
JP5071081B2
JP5071081B2 JP2007316449A JP2007316449A JP5071081B2 JP 5071081 B2 JP5071081 B2 JP 5071081B2 JP 2007316449 A JP2007316449 A JP 2007316449A JP 2007316449 A JP2007316449 A JP 2007316449A JP 5071081 B2 JP5071081 B2 JP 5071081B2
Authority
JP
Japan
Prior art keywords
simultaneous operation
operation signal
signal noise
noise
processing target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007316449A
Other languages
English (en)
Other versions
JP2009140265A (ja
Inventor
康夫 香崎
伸一郎 植草
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007316449A priority Critical patent/JP5071081B2/ja
Priority to US12/199,918 priority patent/US8079012B2/en
Publication of JP2009140265A publication Critical patent/JP2009140265A/ja
Application granted granted Critical
Publication of JP5071081B2 publication Critical patent/JP5071081B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K3/00Apparatus or processes for manufacturing printed circuits
    • H05K3/0005Apparatus or processes for manufacturing printed circuits for designing circuits by computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/367Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K1/00Printed circuits
    • H05K1/02Details
    • H05K1/0213Electrical arrangements not otherwise provided for
    • H05K1/0216Reduction of cross-talk, noise or electromagnetic interference
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K2201/00Indexing scheme relating to printed circuits covered by H05K1/00
    • H05K2201/10Details of components or other objects attached to or integrated in a printed circuit board
    • H05K2201/10007Types of components
    • H05K2201/10212Programmable component
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K2201/00Indexing scheme relating to printed circuits covered by H05K1/00
    • H05K2201/10Details of components or other objects attached to or integrated in a printed circuit board
    • H05K2201/10613Details of electrical connections of non-printed components, e.g. special leads
    • H05K2201/10621Components characterised by their electrical contacts
    • H05K2201/10734Ball grid array [BGA]; Bump grid array

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Manufacturing & Machinery (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Description

本発明は、半導体装置における、複数のピンの入出力信号が同時動作することで発生する同時動作信号ノイズの見積り技術に関し、特に、その基礎特性の取得技術に関する。
従来より、デバイスパッケージのグランド又は電源のピンとデバイス内部ダイ(die )のグランド又は電源の基準レベルとの間で起こる電源発振は、グランドバウンス(Ground
Bounce )又は電源サグ(Power Supply Sag)と呼ばれ、高速デバイスにおける誤スイッチングの主な原因の1つのとなっている。
最近では、FPGA(Field Programmable Gate Array )が、ピンの配置、回路構成、等をユーザが自由に設定できる半導体装置として注目されているが、FPGAのI/Oピン数の増加やインタフェース信号の高速化に伴い、多数の出力ピンが同時動作することにより上記のグランドバウンス又は電源サグが顕著になる。このため、これらの現象は、同時動作信号ノイズ(SSN(Simultaneous Switching Noise)又はSSOノイズ(Simultaneous Switching Output Noise ))と総称されている。
発生するSSOノイズの量はFPGAのピン配置によって変動する。そこで、FPGAを搭載するPCB(Printed Circuit Board :プリント回路基板)の設計段階においては、FPGAデバイスを適切に動作させるために、FPGAのピン配置に基づいて発生するSSOノイズ量を見積る必要がある。
SSOノイズのシミュレーションを行う従来技術としては、エレクトロニクス研究所(Electronics Research Laboratory)の集積回路グループとカリフォルニア大学バークレー校の電気工学・コンピュータ・サイエンス学科(EECS)によって開発された、SPICE(Simulation Program with Integrated Circuit Emphasis )と呼ばれる汎用回路解析シミュレータソフト等が知られている。
また、関連する従来技術として、下記特許文献1、2等がある。
特開平10−127089号公報 特開2004−205095号公報
しかし、SPICE等のシミュレータは、SSOノイズのシミュレーションを比較的正確に行うことができるが、そのシミュレーションには膨大な時間を要するという問題点を有している。
本発明の課題は、半導体装置が有する複数のピンに入出力信号が入出力することで発生する同時動作信号ノイズを、短時間でかつ精度良く見積ることを可能にすることにある。
本発明の態様は、半導体装置において、複数のユーザ設定情報により設定可能な複数のピンの入出力信号が同時動作することに基づく同時動作信号ノイズを見積る同時動作信号ノイズ見積り方法又はプログラムとして実現される。
まず、第1のステップにおいては、同時動作するピンの本数である同時動作信号本数と
同時動作信号ノイズ量との関数関係をユーザ設定情報ごとに示す同時動作信号ノイズ基礎特性データが、半導体装置が所定の標準又は評価用プリント回路基板上に搭載されて動作した場合について算出される。
第2のステップでは、半導体装置の各ピンを処理対象ピンとして、各処理対象ピンの近傍のエリアについてユーザ設定情報ごとの同時動作信号本数が算出され、その算出結果と第1のステップで算出された同時動作信号ノイズ基礎特性データとに基づいて各処理対象ピンごとの同時動作信号ノイズ量が算出される。
第3のステップでは、第2のステップで算出された各処理対象ピンごとの同時動作信号ノイズ量が所定の許容範囲内に入るように半導体装置のピン配置及び該半導体装置が搭載されるプリント回路基板の構成が設計された段階で、同時動作信号ノイズ基礎特性データが算出され直して補正される。
第4のステップでは、半導体装置の各ピンを処理対象ピンとして、各処理対象ピンの近傍のエリアについてユーザ設定情報ごとの同時動作信号本数が算出され、その算出結果と第3のステップで補正された同時動作信号ノイズ基礎特性データとに基づいて各処理対象ピンごとの同時動作信号ノイズ量が再度算出される。
第5のステップでは、第4のステップで再度算出された各処理対象ピンごとの同時動作信号ノイズ量が所定の許容範囲内に入るように半導体装置のピン配置及び該半導体装置が搭載されるプリント回路基板の構成の設計が修正される。
上述の本発明の態様の構成において、第2のステップ又は第4のステップは、各処理対象ピンの近傍のエリアを各処理対象ピンからの距離を基準に複数のグループに分割し、各グループごとに、ユーザ設定情報ごとの同時動作信号本数の算出と、その算出結果と同時動作信号ノイズ基礎特性データとに基づく同時動作信号ノイズ量の算出を行い、その算出結果を全てのグループについて総和がとることにより、各処理対象ピンごとの同時動作信号ノイズ量を算出するように構成し、同時動作信号ノイズ基礎特性データは、同時動作信号本数と前記同時動作信号ノイズ量との関数関係をグループごと及びユーザ設定情報ごとに示すデータであるように構成することができる。
上述の本発明の態様の構成により、同時動作信号ノイズ量に関するラフ解析の後に、プリント回路基板の実設計に基づいて同時動作信号ノイズ基礎特性データが補正され、同時動作信号ノイズ量に関する詳細解析が更に行われることにより、同時動作信号ノイズの非常に正確な見積りが可能となる。そして、その見積りに基づいて決定されたピン配置の半導体装置とそれが実装されるプリント回路基板とで構成される装置が同時動作信号ノイズによって誤動作することを的確に防ぐことが可能となる。
以下、図面を参照しながら、本発明を実施するための最良の形態を詳細に説明する。
本発明の実施形態の基本原理
本発明の実施形態の具体的な構成及び動作について説明する前に、まず、本発明の実施形態の基本原理について説明する。
FPGA等の半導体装置のSSOノイズを評価する場合、その半導体装置が有する信号入出力ピン(I/Oピン、以下単に「ピン」という)のそれぞれについて(これを「処理対象ピン」と呼ぶ)、処理対象ピンの周囲のピンの信号が同時に動作するときの、処理対象ピンの信号に重畳されるノイズを、SSOノイズとして見積もる必要がある。そして、
全ての処理対象ピンのSSOノイズ量が規格内に収まれば、設計したピン配置が適切であると判断することができる。
1つの処理対象ピンのSSOノイズを見積もるためには、処理対象ピンの周囲のピンの配置とその入出力信号に関するユーザの設定情報(以下、「I/Oユーザ設定情報」という)が重要な要素である。ここで、I/Oユーザ設定情報とは、入出力信号のスタンダード(LVTTL、LVCMOS、HSTL、等)、出力電流値(12mA、8mA、4mA、等)、スルーレート(FAST/SLOW)等の情報である。
本発明の実施形態における半導体のI/OピンのSSOノイズの見積りにおいては、処理対象ピンの近傍のエリアに位置する複数のピンが、処理対象ピンへのリターン電流の結合インダクタンスの大小に応じて、具体的には、処理対象ピンまでの距離に応じて、複数のグループに分類される。
本発明の実施形態では、処理対象ピンまでの距離を考慮したグループの分類として、例えば図1に示される分類が採用される。即ち、図1の101として示される処理対象ピンに対して、エリア102にて示される8個のピンをグループ1(G_1 )に属するピンとし、エリア103にて示される16個のピンをグループ2(G_2 )に属するピンとし、エリア104にて示される24個のピンをグループ3(G_3 )に属するピンとする分類が行われる。
このような分類に基づいて汎用の回路解析シミュレータソフトを用いて処理対象ピンに対するSSOノイズを測定すると、図2のプロット「●」とそれを補間した直線で示されるようなSSOノイズ基礎特性が得られる。
図中、Noise_i_j は、グループi(= G_i )に属しI/Oユーザ設定情報jを有するピンのSSOノイズ量を示すものとする。
実Noise_1_1 は、グループ1(= G_1 )に属する8本のピンが全てI/Oユーザ設定情報1の信号特性を有している場合のSSOノイズ量の実シミュレーション値である。
実Noise_2_1 は、グループ2(= G_2 )の内側、即ち、G_1 に属する8本のピンとG_2 に属する16本のピンの合計24本のピンが全てI/Oユーザ設定情報1の信号特性を有している場合のSSOノイズ量の実シミュレーション値である。
実Noise_3_1 は、グループ3(= G_3 )の内側、即ち、G_1 に属する8本のピンとG_2 に属する16本のピンとG_3 に属する24本のピンの合計48本のピンが全てI/Oユーザ設定情報1の信号特性を有している場合のSSOノイズ量の実シミュレーション値である。
同様に、実Noise_1_2 は、G_1 に属する8本のピンが全てI/Oユーザ設定情報2の信号特性を有している場合のSSOノイズ量の実シミュレーション値、実Noise_2_2 は、G_2 の内側24本のピンが全てI/Oユーザ設定情報2の信号特性を有している場合のSSOノイズ量の実シミュレーション値、実Noise_3_2 は、G_3 の内側48本のピンが全てI/Oユーザ設定情報2の信号特性を有している場合のSSOノイズ量の実シミュレーション値である。
同じく、実Noise_1_3 は、G_1 に属する8本のピンが全てI/Oユーザ設定情報3の信号特性を有している場合のSSOノイズ量の実シミュレーション値、実Noise_2_3 は、G_2 の内側24本のピンが全てI/Oユーザ設定情報3の信号特性を有している場合のSSOノイズ量の実シミュレーション値、実Noise_3_3 は、G_3 の内側48本のピンが全てI
/Oユーザ設定情報3の信号特性を有している場合のSSOノイズ量の実シミュレーション値である。
図1及び図2から理解されるように、I/Oユーザ設定情報が異なれば、各ピンの信号特性が異なるため、SSOノイズ量は異なる。また、グループが異なると、処理対象ピンに対する距離関係が大きく変化するため、同時動作信号本数に対するSSOノイズ量の変化量(=基礎特性の傾き)が異なる。
しかし、ある1種類のI/Oユーザ設定情報に着目したときに、同じグループ内のピンは処理対象ピンに対してほぼ同じ距離関係(≒結合インダクタンス値)を有するため、同じグループ内でそのI/Oユーザ設定情報を有するピンが増加したときのSSOノイズ量の増加率はほぼ一定とみなすことができる。言い換えれば、或るグループ内の或るI/Oユーザ設定情報に対するSSOノイズ基礎特性は、一次直線で近似できる。
この特性より、グループi(G_i )に属しI/Oユーザ設定情報jを有するピンの数をx_i_j とするとき、それらx_i_j 個のピンにより発生するSSOノイズ量Noise_i_j は、G_i に属する全てのピンがI/Oユーザ設定情報jを有する場合のノイズ量の実測値=実Noise_i_j と、G_i にはI/Oユーザ設定情報jを有するピンは無くその内側のグループi−1以下のグループに属する全てのピンがI/Oユーザ設定情報jを有する場合のノイズ量の実測値=実Noise_i-1_j とから、直線補間により簡易的に算出することができる。
なお、SSOノイズ基礎特性が1次直線で近似されない場合には、そのSSOノイズ基礎特性のx_i_j における微分係数(直線補間の場合は直線の傾き)をx_i_j に乗算して得られる値を、SSOノイズ量Noise_i_j として算出すればよい。
実際には図3に示されるように、各グループG_1 、G_2 、G_3 等には、それぞれ異なるI/Oユーザ設定情報1〜3等を有するピンが混在する。このため、1つの処理対象ピンに対する総SSOノイズ量は、図4に示されるように、各グループiごとに全てのI/Oユーザ設定情報1〜3に対するSSOノイズ量Noise_i_1 〜Noise_i_3 のSSOノイズ量グループ内合計Noise_i を計算し、更に、全グループG_1 〜G_3 に対応するSSOノイズ量グループ内合計Noise_1 〜Noise_3 の総和を計算することにより、算出される。
なお、グループ分けとしては、例えば、処理対象とするピンからの距離をより細かく判定することで、図1に示す以外のグループ分けも可能である。このため、図2及び図4等では、G_1 、G_1 + G_2 、G_1 + G_2 + G_3 とも表記している。
ここで、図2又は図4に示されるSSOノイズ基礎特性データは、標準的な評価基板を用いてSSOノイズ量を実測して取得することが前提となっている。しかし、SSOノイズ基礎特性は、FPGAが搭載されるPCB(プリント回路基板)により変動する。従って、SSOノイズ量を正確に見積るには、FPGAの特性だけでなく、FPGAを搭載するPCBを含んだ解析モデルを考える必要がある。FPGAを搭載するPCBは設計ごとにユニークであるため、これを実測ベースで求めることは現実的に不可能である。このため、SSOノイズ基礎特性データを取得する評価基板と実装置のPCBでは条件(層数、via長、配線パターン等)が異なり、SSOノイズ基礎特性が変動するため、結果として算出したノイズ量に誤差が生じる。
そこで、本発明の実施形態では、図5に示されるように、設計初期段階では、従来の標準的評価基板で実測されたSSOノイズ基礎特性データを用いてラフな解析が実施され、設計が進捗してPCBのパラメータが決定した後には、汎用回路解析シミュレータソフトによって実装置PCB条件のもとでSSOノイズ基礎特性データが取得され、その新たに
取得したSSOノイズ基礎特性データを用いて半導体ピンに対するSSOノイズ量の詳細な解析が実施される。
本発明の実施形態の構成
上記の基本原理に基づく本発明の実施形態の構成について、以下に説明する。
本発明の実施形態では、LSI(大規模集積回路)を構成するFPGAのピン配置を、それが搭載されるPCBの設計と連携させながらSSOノイズ量を見積もることにより、決定することができる。
図6は、LSI(FPGA)とそれが搭載されるPCBによって構成される装置を設計及び製造する機能を有する本発明の実施形態の全体ブロック図である。
まず、装置仕様決定部601は、LSIを構成するFPGAとそれが搭載されるPCBにより構成される装置(製品)の全体仕様を決定する。
次に、LSI分割部602は、上記の決定された仕様に基づいて必要なLSI機能を決定し、そのLSIをFPGA側又はPCB側の何れに搭載させるかを決めるマッピングを行う。
その後、LSI外部インタフェース(I/F)仕様決定部603は、FPGAとPCB間、PCBと外部接続機器間のインターフェース仕様を決定する。
これ以降は、半導体装置、PCBのそれぞれについて設計が進められる。
604〜609で示される各機能部は、FPGAによるLSI設計を行う機能ブロックである。
まず、LSI仕様設計部604は、FPGAによって構成されるLSIの基本的な仕様の設計を行う。
次に、LSI機能設計部605は、601及び602の各機能部での設計結果を反映したLSIの機能設計を行う。
その後、ピン配置決定部606が、LSIを構成するFPGAのピン配置を決定し、配置配線設計部607が決定されたピン配置での配線設計を行い、タイミング検証部608がそれらのピン配置及び配線でLSIが適切に動作するか否かを確認するためのタイミング検証を行う。
そして、上記タイミング検証の結果がOKである場合に、LSI製造部609が、FPGAによるLSIの製造を実行する。
一方、610〜613で示される各機能部は、PCB設計を行う機能ブロックである。
まず、PCB基本設計部610は、601及び602の各機能部での設計結果を反映した、PCBの大きさやタイプ等の基本設計を行う。
次に、LSI配置決定部611は、PCBに搭載すべきLSIの配置(コネクタや電源回路の配置)を決定する。
更に、LSI間結線決定部612が、上記決定されたLSI配置でのLSI間の結線を決定する。
後述するSSNチェック部614によるSSOノイズ量のチェック、及び外部インタフェース(I/F)タイミング検証部615による外部インタフェースタイミングのチェックの結果、LSI配置及びLSI間結線が適切であると検証されると、PCB製造部613が、PCBの製造を実行する。
LSI製造部609によるLSIの製造、及びPCB製造部613によるPCBの製造が完了すると、装置製造部616が、これらのLSI群及びPCB群から、最終的な製品装置を組み上げる。
ここで、製品装置におけるSSOノイズ量は、LSIを構成するFPGAのピン配置、ピン配置に基づく配線、PCBでのLSIの配置により変化する可能性がある。そこで、本発明に特に関わる部分として、SSNチェック部614は、ピン配置決定部606及び配置配線設計部607によるLSIに関するピン配置とそれに基づく配線の設計が行われ、かつLSI配置決定部611によるPCB上でのLSI配置の設計が行われた時点で、各LSIを構成するFPGAの全てのピンについて、SSOノイズの見積り処理が実行され、それらのSSOノイズ量が許容範囲内か否かを確認する。
そして、そのSSNチェックにより、許容範囲内でないSSOノイズが発生するピンの存在が明らかになれば、ピン配置決定部606及び配置配線設計部607によるLSIに関するピン配置とそれに基づく配線の再設計、或いは、LSI配置決定部611によるPCB上でのLSI配置、電源回路の配置又は数の変更等の再設計が行われる。
図7は、本発明の実施形態としての、図6のSSNチェック部614の構成を示すブロック図である。
「本発明の実施形態の基本原理」にて前述したように、本発明の実施形態では、装置設計の初期段階では、従来の標準的評価基板で実測されたSSOノイズ基礎特性データを用いてラフな解析が実施され、設計が進捗してPCBのパラメータが決定した後には、汎用回路解析シミュレータソフトによって実装置PCB条件のもとでSSOノイズ基礎特性データが取得され、その新たに取得したSSOノイズ基礎特性データを用いて半導体ピンに対するSSOノイズ量の詳細な解析が実施される。
そこでまず、評価基板での回路解析制御部701が、従来の標準的評価基板で実測されたSSOノイズ基礎特性データを、SSOノイズ基礎特性データ記憶部704に記憶させる。
その上で、SSOノイズ算出部702が、ピン情報記憶部705に記憶されている各ピンの配置情報及びI/Oユーザ設定情報と、SSOノイズ基礎特性データ記憶部704に記憶されている評価基板に基づいて得られているSSOノイズ基礎特性データとに基づいて、SSOノイズ量を算出する処理を実行する。この部分の動作の詳細については後述するが、「本発明の実施形態の基本原理」にて前述した基本原理に従って動作する。
このSSOノイズ算出部702でのチェック結果がOKとなると、図6のLSI配置決定部611及びLSI間結線決定部612での前述した動作の後に、PCBの実装置設計がひとまず確定する。
これを受けて、図7の実装置PCBでの回路解析制御部703が、上述の確定した実装置PCB設計情報に基づき、特には図示しない汎用の回路解析シミュレータソフトを実行させることにより、その実装置PCBに対応するSSOノイズ基礎特性データを取得し、SSOノイズ基礎特性データ記憶部704に記憶されているSSOノイズ基礎特性データを補正する。
その上で再度、SSOノイズ算出部702が、ピン情報記憶部705に記憶されている各ピンの配置情報及びI/Oユーザ設定情報と、SSOノイズ基礎特性データ記憶部704に記憶されている実装置PCBに基づいて補正されたSSOノイズ基礎特性データとに基づいて、SSOノイズ量を算出する処理を再実行する。
そして、この結果得られるSSNチェック最終結果706が、図6のピン配置決定部606及び配置配線設計部607によるLSIに関するピン配置とそれに基づく配線の設計、及びLSI配置決定部611によるPCB上でのLSI配置の設計を確定させる。
このように本発明の実施形態では、より実設計に近いSSOノイズ基礎特性データに基づいてSSOノイズ量が見積もられるため、その見積りに基づいて決定されたピン配置のLSIとそれが実装されるPCBとで構成される装置がSSOノイズによって誤動作することを的確に防ぐことができる。
本発明の実施形態の動作
上述の構成を有する本発明の実施形態の動作について、以下に説明する。
図8は、図7のピン情報記憶部705のデータ構造の例を示す図である。
FPGAによって構成される各LSIの各ピンごとに、LSIとピンを識別する識別子情報と、ピンのLSI上での行位置及び列位置を示す情報と、そのピンに適用されるI/Oユーザ設定情報とが記憶される。
これによって、「本発明の実施形態の基本原理」にて前述した、各LSI上の各処理対象ピンごとに、図1のようなグルーピングと、図3のような、どのグループ内のどのピンがどのI/Oユーザ設定情報を有するかの特定が可能となる。
図9は、図7のSSOノイズ基礎特性データ記憶部704のデータ構造の例を示す図である。
I/Oユーザ設定情報ごとに、同時動作信号数(1、8、24、48の何れか)と、それぞれに対応するSSOノイズ量(単位はミリボルト=mV)が記憶される。これらは、図2及び図4の横軸の各同時動作信号数と、それぞれにおける実Noise_1_1 、実Noise_2_1 ・・・等のSSOノイズ量に対応している。図9中「サフィックス(参考)」列に、図2との関係を示している。
なお、図9では、各I/Oユーザ設定情報が設定されたピンが、グランド側(GND側)のピンとして動作した場合と、電源側(VCC側)のピンとして動作した場合のそれぞれについて、SSOノイズ量が記憶される。
また、図2及び図4では、同時動作信号数=1、即ち、処理対象ピンが単独で動作した場合のSSOノイズ量はゼロになっているが、実際には若干のノイズがあるため、図9には、SSO本数が1の場合のSSOノイズ量も記憶されている。
図7のSSOノイズ基礎特性データ記憶部704に記憶される図9に示される関数テーブルデータによって、図2や図4に示されるSSOノイズ基礎特性が表現されることになる。
図10は、図7に示される機能構成を有する図6のSSNチェック部614の動作を示す動作フローチャートである。
まず、図10のステップS1001は、図7の評価基板での回路解析制御部701によって実行される。このステップでは、FPGA評価用PCB環境の条件下で、汎用の回路解析シミュレータソフトウェアが実行され、全てのI/Oユーザ設定情報に対しSSOノイズ基礎特性データが取得され、その関数テーブルデータが作成される。当該ソフトウェアとしては、エレクトロニクス研究所(Electronics Research Laboratory)の集積回路グループとカリフォルニア大学バークレー校の電気工学・コンピュータ・サイエンス学科(EECS)によって開発されたSPICE(Simulation Program with Integrated Circuit Emphasis )ソフトウェア、又はそれから派生したHSPICE(Synopsys社製)ソフトウェア等を用いることができる。このとき回路解析シミュレータに与えられるパラメータとしては、下記のものが使用される。
1.評価用PCBのパターンデータ(Via 長)
2.評価用PCBの層数
3.デバイスのパッケージモデル
4.バッファモデル
上記動作の結果、図9に示されるSSOノイズ量の各値が得られ、これが図7のSSOノイズ基礎特性データ記憶部704に図9の関数テーブルデータの形式で記憶される。
次に、図10のステップ1002のSSOノイズ算出サブルーチンは、図11の動作フローチャートによって更に詳細に示され、図7のSSOノイズ算出部702によって実行される。
図11の動作フローチャートにおいて、まず、ピン情報記憶部705に記憶されている1つのLSIの先頭ピンが処理対象ピンとして選択される(ステップS1101)。
次に、グループ番号を示す変数iの値が1にセットされる(ステップS1102)。
次に、ピン情報記憶部705に記憶されている処理対象LSIの各ピンの行位置と列位置、及びI/Oユーザ設定情報が判定されながら、処理対象ピンの近傍のグループi(= G_i )=グループ1(= G_1 )のエリア(図1の102)に属する8個のピンにつき、例えばI/Oユーザ設定情報A、B、Cの各々ごとのピン本数が各同時動作信号本数として集計される(ステップS1103)(図3参照)。
例えば、G_1 エリアについて、I/Oユーザ設定情報Aのピン本数=2本、I/Oユーザ設定情報Bのピン本数=4本、I/Oユーザ設定情報Cのピン本数=2本と算出される(図3のG_1 のエリアを参照)。
次に、G_i = G_1 (グループ1)のエリアについて、SSOノイズ基礎特性F_j(x)が大きい順のI/Oユーザ設定情報jごとに、その同時動作信号本数x_i_j に対応する始点位置s_i_j が下記数1式によって決定される(ステップS1104)。
[数1]
s_i_j = 1 (j = 1 かつ i = 1)
s_i_j = G_i 以下のピン総数(=8,24,or48) (j = 1 かつ i > 1)
s_i_j = s_i_j-1 + x_i_j-1 (j > 1 )

今、i = 1 であり、I/Oユーザ設定情報ごとのSSOノイズ基礎特性は、図2〜図4及び図9の例の場合、
I/Oユーザ設定情報A>I/Oユーザ設定情報B>I/Oユーザ設定情報C
となるため、下記の計算がなされる。
I/Oユーザ設定情報1=I/Oユーザ設定情報A、x_1_1 = 2
I/Oユーザ設定情報2=I/Oユーザ設定情報B、x_1_2 = 4
I/Oユーザ設定情報3=I/Oユーザ設定情報C、x_1_3 = 2
この結果、始点位置は、数1式より、下記のように計算される。
s_1_1 = 1
s_1_2 = s_1_1 + x_1_1 = 1 + 2 = 3
s_1_3 = s_1_2 + x_1_2 = s_1_1 + x_1_1 + x_1_2 = 1 + 2 + 4 = 7
と算出される。
次に、G_i = G_1 (グループ1)のエリアについて、SSOノイズ基礎特性F_j(x)が大きい順のI/Oユーザ設定情報jごとに、x_i_j 、s_i_j 、及びF_j(x)に基づいて、ノイズ量Noise_i_j が、下記数2式により算出される(ステップS1105)。
[数2]
Noise_i_j = F_j (s_i_j + x_i_j ) - F_j (s_i_j )

今、図2〜図4及び図9の例では、
I/Oユーザ設定情報1:x_1_1 = 2 、s_1_1 = 1
I/Oユーザ設定情報2:x_1_2 = 4 、s_1_2 = 3
I/Oユーザ設定情報3:x_1_3 = 2 、s_1_3 = 7
である。また、SSOノイズ基礎特性F_j(x)、即ち、F_1(x)、F_2(x)、F_3(x)は、図2又は図4からわかるように、G_i = G_1 のエリアにおいては、I/Oユーザ設定情報1(=A)、I/Oユーザ設定情報2(=B)、I/Oユーザ設定情報3(=C)のそれぞれについて、図9の関数テーブル上(GND側)上の同時動作信号本数(SSO本数)=1におけるSSOノイズ量と、SSO本数=8におけるSSOノイズ量とを直線補間して得られる一次直線関数として算出でき、以下のように計算される。
F_1(x)= {(380-50)/(8-1)}x+ {(8*50-1*380)/(8-1)} = 47.143*x + 2.857
F_2(x)= {(305-40)/(8-1)}x+ {(8*40-1*305)/(8-1)} = 37.857*x + 2.143
F_3(x)= {(214-30)/(8-1)}x+ {(8*30-1*214)/(8-1)} = 26.286*x + 3.714
これらより、G_i = G_1 のエリアにおけるI/Oユーザ設定情報1(=A)、I/Oユーザ設定情報2(=B)、I/Oユーザ設定情報3(=C)のそれぞれにおけるSSOノイズ量Noise_1_1 、Noise_1_2 、及びNoise_1_3 は、数2式より、以下のように計算される。
Noise_1_1 = F_1 (s_1_1 + x_1_1 ) - F_1 (s_1_1 )
={47.143*(1+2)+2.857}-(47.143*1+2.857)=47.143*2=94.286(mV)
Noise_1_2 = F_2 (s_1_2 + x_1_2 ) - F_2 (s_1_2 )
={35.857*(3+4)+2.143}-(35.857*3+2.143)=35.857*4=143.428(mV)
Noise_1_3 = F_3 (s_1_3 + x_1_3 ) - F_3 (s_1_3 )
={26.286*(7+2)+3.714}-(26.286*7+3.714)=26.286*2=52.572(mV)
前述の数2式と図4とからわかるように、G_i エリア内でのI/Oユーザ設定情報jごとのSSOノイズ量Noise_i_j は、I/Oユーザ設定情報jごとのG_i エリア内での同時動作信号本数x_i_j の増分に対するSSOノイズ基礎特性F_j(x)の増分に等しい。従って、SSOノイズ基礎特性F_j(x)が一次直線によって表されるときには、数2式は、下記数3式のように簡略化してもよい。
[数3]
Noise_i_j = a_j * x_i_j

ただし、a_j は、G_i エリア内でのSSOノイズ基礎特性の直線の傾きである。SSOノイズ基礎特性F_j(x)が一次直線によって表されないような場合には、数2式を厳密に計算するのがよい。
このようにして、G_i = G_1 のエリア内でのI/Oユーザ設定情報jごとのSSOノイズ量Noise_i_j 、即ち、Noise_1_1 、Noise_1_2 、及びNoise_1_3 が計算できたら、それ
らの総和として、G_i = G_1 のエリア内の総SSOノイズ量Noise_i = Noise_1 が計算される(ステップS1106)。
Noise_1 = Noise_1_1 + Noise_1_2 + Noise_1_3
= 94.286+143.428+52.572=290.03(mV)
以上のようにして、1つのグループエリアに対する処理が終了したら、全てのG_i エリアについての処理が終了したか否かが判定される(ステップS1107)。
今、例えばG_i = G_1 であって、図2〜図4に示されるように、他にG_2 エリアとG_3 エリアが存在するような場合には、ステップS1107の判定はNOとなって、グループ識別変数iの値が+1されてi = 2 にされた後(ステップS1108)、ステップS1103の処理に戻って、G_2 のエリアに対する処理が繰り返し実行される。
G_2 エリアに関しては、まず、ステップS1103において、例えば、I/Oユーザ設定情報Aのピン本数=5本、I/Oユーザ設定情報Bのピン本数=5本、I/Oユーザ設定情報Cのピン本数=5本と算出される(図3のG_2 のエリアを参照)。
次に、ステップS1104において、G_2 エリアに関しては、i = 2 であり、I/Oユーザ設定情報ごとのSSOノイズ基礎特性は、図2〜図4及び図9の例の場合、
I/Oユーザ設定情報A>I/Oユーザ設定情報B>I/Oユーザ設定情報C
となるため、下記の計算がなされる。
I/Oユーザ設定情報1=I/Oユーザ設定情報A、x_2_1 = 5
I/Oユーザ設定情報2=I/Oユーザ設定情報B、x_2_2 = 5
I/Oユーザ設定情報3=I/Oユーザ設定情報C、x_2_3 = 5
この結果、始点位置は、数1式より、下記のように計算される。
s_2_1 = G_1 のピン数 = 8
s_2_2 = s_2_1 + x_2_1 = 8 + 5 = 13
s_2_3 = s_2_2 + x_2_2 = s_2_1 + x_2_1 + x_2_2 = 8 + 5 + 5 = 18
と算出される。
次に、ステップ1105において、まず、SSOノイズ基礎特性F_j(x)、即ち、F_1(x)、F_2(x)、F_3(x)は、図2又は図4からわかるように、G_i = G_2 のエリアにおいては、I/Oユーザ設定情報1(=A)、I/Oユーザ設定情報2(=B)、I/Oユーザ設定情報3(=C)のそれぞれについて、図9の関数テーブル上(GND側)上の同時動作信号本数(SSO本数)=8におけるSSOノイズ量と、SSO本数=24におけるSSOノイズ量とを直線補間して得られる一次直線関数として算出でき、以下のように計算される。
F_1(x)= {(990-380)/(24-8)}x+ {(24*380-8*990)/(24-8)} = 38.125*x + 0.072
F_2(x)= {(786-305)/(24-8)}x+ {(24*305-8*786)/(24-8)} = 30.063*x + 0.073
F_3(x)= {(524-214)/(24-8)}x+ {(24*214-8*524)/(24-8)} = 19.375*x + 0.077
これらより、G_i = G_2 のエリアにおけるI/Oユーザ設定情報1(=A)、I/Oユーザ設定情報2(=B)、I/Oユーザ設定情報3(=C)のそれぞれにおけるSSOノイズ量Noise_2_1 、Noise_2_2 、及びNoise_2_3 は、数2式より、以下のように計算される。
Noise_2_1 = F_1 (s_2_1 + x_2_1 ) - F_2 (s_2_1 )
=38.125*5=190.625(mV)
Noise_2_2 = F_2 (s_2_2 + x_2_2 ) - F_2 (s_2_2 )
=30.063*5=150.315(mV)
Noise_2_3 = F_3 (s_2_3 + x_2_3 ) - F_3 (s_2_3 )
=19.375*5=96.875(mV)
このようにして、G_i = G_2 のエリア内でのI/Oユーザ設定情報jごとのSSOノイズ量Noise_i_j 、即ち、Noise_2_1 、Noise_2_2 、及びNoise_2_3 が計算できたら、それらの総和として、G_i = G_2 のエリア内の総SSOノイズ量Noise_i = Noise_2 が計算される(ステップS1106)。
Noise_2 = Noise_2_1 + Noise_2_2 + Noise_2_3
= 190.625+150.315+96.875=437.82(mV)
以上のようにして、G_2 のエリアに対する処理が終了したら、まだ、G_3 のエリアの処理が残っているため、ステップS1107の判定はNOとなって、グループ識別変数iの値が+1されてi = 3 にされたた後(ステップS1108)、ステップS1103の処理に戻って、G_3 のエリアに対する処理が繰り返し実行される。
G_3 エリアに関しては、まず、ステップS1103において、例えば、I/Oユーザ設定情報Aのピン本数=7本、I/Oユーザ設定情報Bのピン本数=7本、I/Oユーザ設定情報Cのピン本数=7本と算出される(図3のG_3 のエリアを参照)。
次に、ステップS1104において、G_3 エリアに関しては、i = 3 であり、I/Oユーザ設定情報ごとのSSOノイズ基礎特性は、図2〜図4及び図9の例の場合、
I/Oユーザ設定情報A>I/Oユーザ設定情報B>I/Oユーザ設定情報C
となるため、下記の計算がなされる。
I/Oユーザ設定情報1=I/Oユーザ設定情報A、x_3_1 = 7
I/Oユーザ設定情報2=I/Oユーザ設定情報B、x_3_2 = 7
I/Oユーザ設定情報3=I/Oユーザ設定情報C、x_3_3 = 7
この結果、始点位置は、数1式より、下記のように計算される。
s_3_1 = G_2 以下のピン総数 = 8 + 16 = 24
s_3_2 = s_3_1 + x_3_1 = 24 + 7 = 31
s_3_3 = s_3_2 + x_3_2 = s_3_1 + x_3_1 + x_3_2 = 24 + 7 + 7 = 38
と算出される。
次に、ステップ1105において、まず、SSOノイズ基礎特性F_j(x)、即ち、F_1(x)、F_2(x)、F_3(x)は、図2又は図4からわかるように、G_i = G_3 のエリアにおいては、I/Oユーザ設定情報1(=A)、I/Oユーザ設定情報2(=B)、I/Oユーザ設定情報3(=C)のそれぞれについて、図9の関数テーブル上(GND側)上の同時動作信号本数(SSO本数)=24におけるSSOノイズ量と、SSO本数=48におけるSSOノイズ量とを直線補間して得られる一次直線関数として算出でき、以下のように計算される。
F_1(x)= {(1455-990)/(48-24)}x+ {(48*990-24*1455)/(48-24)}
= 19.375*x + 0.057
F_2(x)= {(1245-786)/(48-24)}x+ {(48*786-24*1245)/(48-24)}
= 19.125*x + 0.053
F_3(x)= {(853-524)/(48-24)}x+ {(48*524-24*853)/(48-24)}
= 13.708*x + 0.051
これらより、G_i = G_3 のエリアにおけるI/Oユーザ設定情報1(=A)、I/Oユ
ーザ設定情報2(=B)、I/Oユーザ設定情報3(=C)のそれぞれにおけるSSOノイズ量Noise_3_1 、Noise_3_2 、及びNoise_3_3 は、数2式より、以下のように計算される。
Noise_3_1 = F_1 (s_3_1 + x_3_1 ) - F_2 (s_3_1 )
=19.375*7=135.625(mV)
Noise_2_2 = F_2 (s_3_2 + x_3_2 ) - F_2 (s_3_2 )
=19.125*7=133.875(mV)
Noise_2_3 = F_3 (s_3_3 + x_3_3 ) - F_3 (s_3_3 )
=13.708*7=95.956(mV)
このようにして、G_i = G_3 のエリア内でのI/Oユーザ設定情報jごとのSSOノイズ量Noise_i_j 、即ち、Noise_3_1 、Noise_3_2 、及びNoise_3_3 が計算できたら、それらの総和として、G_i = G_3 のエリア内の総SSOノイズ量Noise_i = Noise_3 が計算される(ステップS1106)。
Noise_3 = Noise_3_1 + Noise_3_2 + Noise_3_3
= 135.625+133.875+95.956=365.46(mV)
以上のようにして、G_3 のエリアに対する処理が終了したら、全てのグループのエリアの処理が終了したため、ステップS1107の判定はYESとなって、全てのグループG_i のSSOノイズ量Noise_i の総和が計算されることにより、最終的なNoise が算出される
Noise = Noise_1 + Noise_2 + Noise_3
= 290.03 + 437.82 + 365.46 = 1093.31(mV)
以上のようにして計算された全グループに対する総SSOノイズ量Noise が算出されたら、それが予め設定された許容閾値よりも大きいか否かが判定される(ステップS1110)。
総SSOノイズ量Noise が許容閾値よりも大きくてステップS1110の判定がYESとなったら、設計変更を促すメッセージが特には図示しないディスプレイ装置、プリンタ装置、又はログファイル等に出力され、図10のステップS1002のSSOノイズ算出サブルーチンを終了する。
一方、総SSOノイズ量Noise が許容閾値以下であってステップS1110の判定がNOならば、1つのLSI上の全てのピンを処理対象ピンとする処理が終了したか否かが判定される(ステップS1112)。
全てのピンに対する処理が終了していなければ、ピン情報記憶部705に記憶されている1つのLSIの今までの処理対象ピンの次のピンが新たな処理対象ピンとして選択される(ステップS1101)。
その後、以下同様にして、その処理対象ピンに対するSSOノイズ量の処理が同様にして実行され、その結果求まる総SSOノイズ量が許容閾値より大きいか否かが判定される。これらの処理の中で、1ピンでも総SSOノイズ量が許容閾値より大きいと判定されれば、ステップS1111の処理が実行されて、設計変更を促すメッセージが出力される。
全ての処理対象ピンに対して処理が終了し、ステップS1112の判定がYESとなった時点で、図10のステップS1002の処理が正常に終了し、図10の次のステップS1003の処理が実行される。
なお、以上の一連の処理は、実際には、ピン情報記憶部705に記憶されている全ての
LSIに対して繰り返し実行され、全てのLSIに対するチェックが実行される。
また、図9の関数テーブル例では、各I/Oユーザ設定情報が設定されたピンが、グランド側(GND側)のピンとして動作した場合と、電源側(VCC側)のピンとして動作した場合のそれぞれについて、SSOノイズ量が記憶されているため、グランド側と電源側のそれぞれのI/Oユーザ設定情報について、上記と同様の処理が繰り返し実行されることになる。
以上詳細に説明した図10のステップS1002のSSOノイズ算出サブルーチンは、ステップS1001において図7の評価基板での回路解析制御部701によって、図7のSSOノイズ基礎特性データ記憶部704に図9の関数テーブルデータの形式で記憶された、評価用PCBについてのSSOノイズ基礎特性データを用いてSSOノイズ量のラフな解析を行うための処理である。
このサブルーチンでの処理がOKとなると、図6のLSI配置決定部611及びLSI間結線決定部612での前述した動作の後に、PCBの実装置設計がひとまず確定する(図10のステップS1003)。
この時点において、以下の条件が決まる(図10のステップ1004)。
・PCBのパターンデータ(Via 長)
・PCBの層数
これを受けて、図10のステップ1005が、図7の実装置PCBでの回路解析制御部703によって実行される。このステップでは、上述の確定した実装置PCB環境の条件下で、汎用の回路解析シミュレータソフトウェア(SPICE、HSPICE等)が実行され、全てのI/Oユーザ設定情報に対し再度SSOノイズ基礎特性データが取得され、その関数テーブルデータが作成される。このとき回路解析シミュレータに与えられるパラメータとしては、下記のものが使用される。
1.実装置PCBのパターンデータ(Via 長)
2.実装置PCBの層数
3.デバイスのパッケージモデル
4.バッファモデル
上記動作の結果、図9に示されるSSOノイズ量の各補正値が得られ、これらの補正値によって、図7のSSOノイズ基礎特性データ記憶部704に記憶される図9の関数テーブルデータの形式の内容が書き換えられる(ステップS1006)。
以上のようにして、より実装状態に近い状態で得られたSSOノイズ基礎特性データを使って、図10のステップS1007のSSOノイズ算出サブルーチンが、再度、図7のSSOノイズ算出部702によって実行される。この動作は、前述した図11の動作フローチャートによるものと全く同じである。前述のステップS1002と異なる点は、SSOノイズ基礎特性データとして補正された内容のものが使用されるという点である。
このように、SSOノイズ量に関するラフ解析の後に、PCBの実設計シミュレーションに基づいてSSOノイズ基礎特性データが補正され、SSOノイズ量に関する詳細解析が更に行われることにより、同時動作信号ノイズの非常に正確な見積りが可能となる。
本発明の実施形態がコンピュータプログラムとして実現される場合の構成
図12は、上記本発明の実施形態の装置を実現できるコンピュータのハードウェア構成の一例を示す図である。
図12に示されるコンピュータは、CPU1201、メモリ1202、入力装置1203、出力装置1204、外部記憶装置1205、可搬記録媒体1209が挿入される可搬記録媒体駆動装置1206、及びネットワーク接続装置1207を有し、これらがバス1208によって相互に接続された構成を有する。同図に示される構成は上記システムを実現できるコンピュータの一例であり、そのようなコンピュータはこの構成に限定されるものではない。
CPU1201は、当該コンピュータ全体の制御を行う。メモリ1202は、プログラムの実行、データ更新等の際に、外部記憶装置1205(或いは可搬記録媒体1209)に記憶されているプログラム又はデータを一時的に格納するRAM等のメモリである。CUP1201は、プログラムをメモリ1202に読み出して実行することにより、全体の制御を行う。
入力装置1203は、例えば、キーボード、マウス等及びそれらのインタフェース制御装置とからなる。入力装置1203は、ユーザによるキーボードやマウス等による入力操作を検出し、その検出結果をCPU1201に通知する。
出力装置1204は、表示装置、印刷装置等及びそれらのインタフェース制御装置とからなる。出力装置1204は、CPU1201の制御によって送られてくるデータを表示装置や印刷装置に出力する。
外部記憶装置1205は、例えばハードディスク記憶装置である。主に各種データやプログラムの保存に用いられる。
可搬記録媒体駆動装置1206は、光ディスクやSDRAM、コンパクトフラッシュ(登録商標)等の可搬記録媒体1209を収容するもので、外部記憶装置1205の補助の役割を有する。
ネットワーク接続装置1207は、例えばLAN(ローカルエリアネットワーク)又はWAN(ワイドエリアネットサーク)の通信回線を接続するための装置である。
本実施形態によるシステムは、それに必要な図5及び図6等で説明した機能を実現するプログラムをCPU1201が実行することで実現される。そのプログラムは、例えば外部記憶装置1205や可搬記録媒体1209に記録して配布してもよく、或いはネットワーク接続装置1207によりネットワークから取得できるようにしてもよい。
本発明は下記構成でもよい。
(付記1)
半導体装置において、複数のユーザ設定情報により設定可能な複数のピンの入出力信号が同時動作することに基づく同時動作信号ノイズを見積る同時動作信号ノイズ見積り方法において、
前記同時動作するピンの本数である同時動作信号本数と前記同時動作信号ノイズ量との関数関係を前記ユーザ設定情報ごとに示す同時動作信号ノイズ基礎特性データを、前記半導体装置が所定の標準又は評価用プリント回路基板上に搭載されて動作した場合について算出する第1のステップと、
前記半導体装置の各ピンを処理対象ピンとして、該各処理対象ピンの近傍のエリアについて前記ユーザ設定情報ごとの同時動作信号本数を算出し、その算出結果と前記第1のステップで算出された同時動作信号ノイズ基礎特性データとに基づいて前記各処理対象ピンごとの同時動作信号ノイズ量を算出する第2のステップと、
該第2のステップで算出された前記各処理対象ピンごとの同時動作信号ノイズ量が所定の許容範囲内に入るように前記半導体装置のピン配置及び該半導体装置が搭載されるプリント回路基板の構成が設計された段階で、前記同時動作信号ノイズ基礎特性データを算出し直して補正する第3のステップと、
前記半導体装置の各ピンを処理対象ピンとして、該各処理対象ピンの近傍のエリアにつ
いて前記ユーザ設定情報ごとの同時動作信号本数を算出し、その算出結果と前記第3のステップで補正された同時動作信号ノイズ基礎特性データとに基づいて前記各処理対象ピンごとの同時動作信号ノイズ量を再度算出する第4のステップと、
該第4のステップで再度算出された前記各処理対象ピンごとの同時動作信号ノイズ量が所定の許容範囲内に入るように前記半導体装置のピン配置及び該半導体装置が搭載されるプリント回路基板の構成の設計を修正する第5のステップと、
を含むことを特徴とする半導体装置に対する同時動作信号ノイズ見積り方法における同時動作信号ノイズ基礎特性取得方法。
(付記2)
前記第2のステップ又は前記第4のステップは、前記各処理対象ピンの近傍のエリアを前記各処理対象ピンからの距離を基準に複数のグループに分割し、該各グループごとに、前記ユーザ設定情報ごとの同時動作信号本数の算出と、その算出結果と前記同時動作信号ノイズ基礎特性データとに基づく同時動作信号ノイズ量の算出を行い、その算出結果を全ての前記グループについて総和をとることにより、前記各処理対象ピンごとの同時動作信号ノイズ量を算出するステップを含み、
前記同時動作信号ノイズ基礎特性データは、前記同時動作信号本数と前記同時動作信号ノイズ量との関数関係を前記グループごと及び前記ユーザ設定情報ごとに示すデータである、
ことを特徴とする付記1に記載の半導体装置に対する同時動作信号ノイズ見積り方法における同時動作信号ノイズ基礎特性取得方法。
(付記3)
半導体装置において、複数のユーザ設定情報により設定可能な複数のピンの入出力信号が同時動作することに基づく同時動作信号ノイズを見積る処理を実行するコンピュータに、
前記同時動作するピンの本数である同時動作信号本数と前記同時動作信号ノイズ量との関数関係を前記ユーザ設定情報ごとに示す同時動作信号ノイズ基礎特性データを、前記半導体装置が所定の標準又は評価用プリント回路基板上に搭載されて動作した場合について算出する第1の機能と、
前記半導体装置の各ピンを処理対象ピンとして、該各処理対象ピンの近傍のエリアについて前記ユーザ設定情報ごとの同時動作信号本数を算出し、その算出結果と前記第1の機能で算出された同時動作信号ノイズ基礎特性データとに基づいて前記各処理対象ピンごとの同時動作信号ノイズ量を算出する第2の機能と、
該第2の機能で算出された前記各処理対象ピンごとの同時動作信号ノイズ量が所定の許容範囲内に入るように前記半導体装置のピン配置及び該半導体装置が搭載されるプリント回路基板の構成が設計された段階で、前記同時動作信号ノイズ基礎特性データを算出し直して補正する第3の機能と、
前記半導体装置の各ピンを処理対象ピンとして、該各処理対象ピンの近傍のエリアについて前記ユーザ設定情報ごとの同時動作信号本数を算出し、その算出結果と前記第3の機能で補正された同時動作信号ノイズ基礎特性データとに基づいて前記各処理対象ピンごとの同時動作信号ノイズ量を再度算出する第4の機能と、
該第4の機能で再度算出された前記各処理対象ピンごとの同時動作信号ノイズ量が所定の許容範囲内に入るように前記半導体装置のピン配置及び該半導体装置が搭載されるプリント回路基板の構成の設計を修正する第5の機能と、
を実行させるためのプログラム。
(付記4)
前記第2の機能又は前記第4の機能は、前記各処理対象ピンの近傍のエリアを前記各処理対象ピンからの距離を基準に複数のグループに分割し、該各グループごとに、前記ユーザ設定情報ごとの同時動作信号本数の算出と、その算出結果と前記同時動作信号ノイズ基礎特性データとに基づく同時動作信号ノイズ量の算出を行い、その算出結果を全ての前記グループについて総和をとることにより、前記各処理対象ピンごとの同時動作信号ノイズ
量を算出する機能を含み、
前記同時動作信号ノイズ基礎特性データは、前記同時動作信号本数と前記同時動作信号ノイズ量との関数関係を前記グループごと及び前記ユーザ設定情報ごとに示すデータである、
ことを特徴とする付記3に記載のプログラム。
FPGAチップ上の処理対象ピン近傍のピン配置のグループ分けの一例を示す図である。 SSOノイズ基礎特性の説明図である。 FPGAチップ上の処理対象ピン近傍のI/Oユーザ設定情報ごとのピン配置の一例を示す図である。 SSOノイズ量の算出動作の原理説明図である。 回路解析シミュレーションに基づくSSOノイズ基礎特性の補正動作の説明図である。 FPGAによるLSIとそれが搭載されるPCBによって構成される装置を設計及び製造する機能を有する本発明の実施形態の全体ブロック図である。 本発明の実施形態においてSSOノイズ量を見積る機能を有するSSNチェック部のブロック図である。 ピン情報記憶部のデータ構造の例を示す図である。 SSOノイズ基礎特性データ記憶部のテーブル構造の例を示す図である。 SSOノイズ算出処理の全体動作フローチャートである。 SSOノイズ算出サブルーチンの動作フローチャートである。 本発明の実施形態の装置を実現できるコンピュータのハードウェア構成の一例を示す図である。
符号の説明
601 装置仕様決定部
602 LSI分割部
603 LSI外部インタフェース(I/F)仕様決定部
604 LSI仕様設計部
605 LSI機能設計部
606 ピン配置決定部
607 配置配線設計部
608 タイミング検証部
609 LSI製造部
610 PCB基本設計部
611 LSI配置決定部
612 LSI間結線決定部
613 PCB製造部
614 SSNチェック部
615 外部インタフェース(I/F)タイミング検証部
616 装置製造部
701 評価基板での回路解析制御部
702 SSOノイズ算出部
703 実装置PCBでの回路解析制御部
704 SSOノイズ基礎特性データ記憶部
705 ピン情報記憶部

Claims (4)

  1. 半導体装置において、複数のユーザ設定情報により設定可能な複数のピンの入出力信号が同時動作することに基づく同時動作信号ノイズを見積る同時動作信号ノイズ見積りを、コンピュータが該半導体装置のモデルをシミュレーションにより解析することによって実行する方法において、
    該コンピュータが、
    前記同時動作するピンの本数である同時動作信号本数と前記同時動作信号ノイズ量との関数関係を前記ユーザ設定情報ごとに示す同時動作信号ノイズ基礎特性 データを、前記半導体装置が所定の標準又は評価用プリント回路基板上に搭載されて動作した場合について算出する第1のステップと、
    前記半導体装置の各ピンを処理対象ピンとして、該各処理対象ピンの近傍のエリアについて前記ユーザ設定情報ごとの同時動作信号本数を算出し、その算出結果と前記第1のステップで算出された同時動作信号ノイズ基礎特性データとに基づいて前記各処理対象ピンごとの同時動作信号ノイズ量を算出する第2のステップ と、
    該第2のステップで算出された前記各処理対象ピンごとの同時動作信号ノイズ量が所定の許容範囲内に入るように前記半導体装置のピン配置及び該半導体装置が搭載されるプリント回路基板の構成がユーザにより設計された段階で、前記同時動作信号ノイズ基礎特性データを算出し直して補正する第3のステップと、
    前記半導体装置の各ピンを処理対象ピンとして、該各処理対象ピンの近傍のエリアについて前記ユーザ設定情報ごとの同時動作信号本数を算出し、その算出結果と前記第3のステップで補正された同時動作信号ノイズ基礎特性データとに基づいて前記各処理対象ピンごとの同時動作信号ノイズ量を再度算出する第4のステップと、
    含むことを特徴とする半導体装置に対する同時動作信号ノイズ見積り方法における同時動作信号ノイズ基礎特性取得方法。
  2. 前記第2のステップ又は前記第4のステップは、前記各処理対象ピンの近傍のエリアを前記各処理対象ピンからの距離を基準に複数のグループに分割し、該各グループごとに、前記ユーザ設定情報ごとの同時動作信号本数の算出と、その算出結果と前記同時動作信号ノイズ基礎特性データとに基づく同時動作信号ノイズ量の算出を行い、その算出結果を全ての前記グループについて総和をとることにより、前記各処理対象ピンごとの同時動作信号ノイズ量を算出するステップを含み、
    前記同時動作信号ノイズ基礎特性データは、前記同時動作信号本数と前記同時動作信号ノイズ量との関数関係を前記グループごと及び前記ユーザ設定情報ごとに示すデータである、
    ことを特徴とする請求項1に記載の半導体装置に対する同時動作信号ノイズ見積り方法における同時動作信号ノイズ基礎特性取得方法。
  3. 半導体装置において、複数のユーザ設定情報により設定可能な複数のピンの入出力信号が同時動作することに基づく同時動作信号ノイズを見積る処理を、コンピュータに該半導体装置のモデルをシミュレーションにより解析させることによって実行させるプログラムであって、
    コンピュータに、
    前記同時動作するピンの本数である同時動作信号本数と前記同時動作信号ノイズ量との関数関係を前記ユーザ設定情報ごとに示す同時動作信号ノイズ基礎特性データを、前記半導体装置が所定の標準又は評価用プリント回路基板上に搭載されて動作した場合について算出する第1の機能と、
    前記半導体装置の各ピンを処理対象ピンとして、該各処理対象ピンの近傍のエリアについて前記ユーザ設定情報ごとの同時動作信号本数を算出し、その算出結果と前記第1の機能で算出された同時動作信号ノイズ基礎特性データとに基づいて前記各処理対象ピンごとの同時動作信号ノイズ量を算出する第2の機能と、
    該第2の機能で算出された前記各処理対象ピンごとの同時動作信号ノイズ量が所定の許容範囲内に入るように前記半導体装置のピン配置及び該半導体装置が搭載されるプリント回路基板の構成がユーザにより設計された段階で、前記同時動作信号ノイズ基礎特性データを算出し直して補正する第3の機能と、
    前記半導体装置の各ピンを処理対象ピンとして、該各処理対象ピンの近傍のエリアについて前記ユーザ設定情報ごとの同時動作信号本数を算出し、その算出結果と前記第3の機能で補正された同時動作信号ノイズ基礎特性データとに基づいて前記各処理対象ピンごとの同時動作信号ノイズ量を再度算出する第4の機能と、
    実行させるためのプログラム。
  4. 前記第2の機能又は前記第4の機能は、前記各処理対象ピンの近傍のエリアを前記各処理対象ピンからの距離を基準に複数のグループに分割し、該各グループごとに、前記ユーザ設定情報ごとの同時動作信号本数の算出と、その算出結果と前記同時動作信号ノイズ基礎特性データとに基づく同時動作信号ノイズ量の算出を行い、その算出結果を全ての前記グループについて総和をとることにより、前記各処理対象ピンごとの同時動作信号ノイズ量を算出する機能を含み、
    前記同時動作信号ノイズ基礎特性データは、前記同時動作信号本数と前記同時動作信号ノイズ量との関数関係を前記グループごと及び前記ユーザ設定情報ごとに示すデータである、
    ことを特徴とする請求項3に記載のプログラム。
JP2007316449A 2007-12-06 2007-12-06 半導体装置に対する同時動作信号ノイズ見積り方法における同時動作信号ノイズ基礎特性取得方法、及びプログラム Expired - Fee Related JP5071081B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007316449A JP5071081B2 (ja) 2007-12-06 2007-12-06 半導体装置に対する同時動作信号ノイズ見積り方法における同時動作信号ノイズ基礎特性取得方法、及びプログラム
US12/199,918 US8079012B2 (en) 2007-12-06 2008-08-28 Method for acquiring basic characteristic of simultaneous switching noise in method for estimating simultaneous switching noise on semiconductor device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007316449A JP5071081B2 (ja) 2007-12-06 2007-12-06 半導体装置に対する同時動作信号ノイズ見積り方法における同時動作信号ノイズ基礎特性取得方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2009140265A JP2009140265A (ja) 2009-06-25
JP5071081B2 true JP5071081B2 (ja) 2012-11-14

Family

ID=40723000

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007316449A Expired - Fee Related JP5071081B2 (ja) 2007-12-06 2007-12-06 半導体装置に対する同時動作信号ノイズ見積り方法における同時動作信号ノイズ基礎特性取得方法、及びプログラム

Country Status (2)

Country Link
US (1) US8079012B2 (ja)
JP (1) JP5071081B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5228481B2 (ja) * 2007-12-28 2013-07-03 富士通株式会社 半導体装置に対する同時動作信号ノイズに基づいてジッタを見積る方法、その見積りに使用する同時動作信号ノイズ量対ジッタ量相関関係を算出する方法、それらを実現するプログラム、及び半導体装置及びそれが搭載されたプリント回路基板の設計方法
US8694946B1 (en) 2008-02-20 2014-04-08 Altera Corporation Simultaneous switching noise optimization
US8151233B1 (en) * 2009-04-07 2012-04-03 Altera Corporation Circuit design with incremental simultaneous switching noise analysis
US8225258B2 (en) * 2009-06-11 2012-07-17 Qualcomm Incorporated Statistical integrated circuit package modeling for analysis at the early design age
JP6645114B2 (ja) * 2015-10-16 2020-02-12 富士通株式会社 設計支援プログラム、情報処理装置、および設計支援方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0773219A (ja) * 1993-09-03 1995-03-17 Fujitsu Ltd シミュレーション装置及びシミュレーション方法
JP2746188B2 (ja) * 1995-03-31 1998-04-28 日本電気株式会社 同時動作数チェック方式
US6144176A (en) 1996-10-02 2000-11-07 Lucent Technologies Inc. Method for reducing acoustic and vibration energy radiated from rotating machines
JP3183244B2 (ja) * 1998-03-03 2001-07-09 日本電気株式会社 集積回路のテスト方法
US6757876B2 (en) * 2002-07-15 2004-06-29 International Business Machines Corporation Method for use of hierarchy in extraction
JP2004205095A (ja) 2002-12-25 2004-07-22 Keyence Corp ファンフィルター装置
JP4432606B2 (ja) * 2003-06-27 2010-03-17 富士通株式会社 半導体集積回路の同時スイッチング出力ノイズ見積もり方法及び装置並びに半導体集積回路の設計方法及び装置
US7472367B1 (en) * 2005-10-27 2008-12-30 Altera Corporation Method of optimizing interconnect distribution to improve signal integrity
US7549136B2 (en) * 2006-01-11 2009-06-16 Virage Logic Corp. System and method for approximating intrinsic capacitance of an IC block
JP4940013B2 (ja) * 2006-07-31 2012-05-30 富士通株式会社 半導体装置に対する同時動作信号ノイズ見積り方法、およびプログラム
JP2008070924A (ja) * 2006-09-12 2008-03-27 Nec Electronics Corp 半導体集積回路設計方法、半導体集積回路設計プログラム、及び半導体集積回路設計装置

Also Published As

Publication number Publication date
US8079012B2 (en) 2011-12-13
JP2009140265A (ja) 2009-06-25
US20090150840A1 (en) 2009-06-11

Similar Documents

Publication Publication Date Title
US8924906B2 (en) Determining a design attribute by estimation and by calibration of estimated value
US8117576B2 (en) Method for using an equivalence checker to reduce verification effort in a system having analog blocks
US8160858B2 (en) Systems and methods of efficient library characterization for integrated circuit cell libraries
US8214785B2 (en) Method and device for estimating simultaneous switching noise in semiconductor device, and storage medium
US9646122B2 (en) Variable accuracy parameter modeling in statistical timing
JP5071081B2 (ja) 半導体装置に対する同時動作信号ノイズ見積り方法における同時動作信号ノイズ基礎特性取得方法、及びプログラム
CN104981805A (zh) 自动时钟树布线规则生成
US10140399B2 (en) Corner database generator
JP5228481B2 (ja) 半導体装置に対する同時動作信号ノイズに基づいてジッタを見積る方法、その見積りに使用する同時動作信号ノイズ量対ジッタ量相関関係を算出する方法、それらを実現するプログラム、及び半導体装置及びそれが搭載されたプリント回路基板の設計方法
US8448110B2 (en) Method to reduce delay variation by sensitivity cancellation
US20140130001A1 (en) Method of Reducing Parasitic Mismatch
US9507903B2 (en) Method for estimation of delays and slews during circuit optimization
TWI817646B (zh) 用於設計上下文感知電路的方法及系統
JP5429889B2 (ja) 半導体集積回路の動作解析方法、動作解析装置、動作解析プログラム及び動作解析システム
US6704680B2 (en) Method for decoupling capacitor optimization for a temperature sensor design
US8151233B1 (en) Circuit design with incremental simultaneous switching noise analysis
US8145442B2 (en) Fast and accurate estimation of gate output loading
JP4575326B2 (ja) 基板レイアウトチェックシステムおよび方法
JP2009276822A (ja) 半導体デバイス設計支援装置及び半導体デバイス設計支援方法
JP4862899B2 (ja) デバイスシミュレーションモデル生成装置およびデバイスシミュレーションモデル生成方法
JP5832252B2 (ja) ノイズ解析モデル及びノイズ解析方法
US11624777B2 (en) Slew-load characterization
JP7244451B2 (ja) 演算装置及び演算方法
US20240202412A1 (en) Manufacturing method of an electronic device
KR101171255B1 (ko) 반도체 집적 회로 설계 시스템 및 방법, 이를 위한 컴퓨터로 읽을 수 있는 기록 매체

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100715

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120117

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120312

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120724

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120806

R150 Certificate of patent or registration of utility model

Ref document number: 5071081

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150831

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees