(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024168562
(43)【公開日】2024-12-05
(54)【発明の名称】設計支援装置および設計支援プログラム
(51)【国際特許分類】
G06F 30/367 20200101AFI20241128BHJP
G06F 119/06 20200101ALN20241128BHJP
G06F 119/10 20200101ALN20241128BHJP
【FI】
G06F30/367
G06F119:06
G06F119:10
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023085355
(22)【出願日】2023-05-24
(71)【出願人】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】塩野谷 浩生
(72)【発明者】
【氏名】下薗 太
(72)【発明者】
【氏名】石口 博尚
(72)【発明者】
【氏名】園田 聡
【テーマコード(参考)】
5B146
【Fターム(参考)】
5B146AA22
5B146GG24
5B146GL08
5B146GL10
(57)【要約】
【課題】パワーインテグリティの設計を容易にする。
【解決手段】パワーインテグリティの設計を支援するための設計支援装置70において、動作パラメータ入力部82は、集積回路(IC)によって実行される複数の機能の各々に対して、動作周波数または動作タイミングの情報と平均消費電流の情報との入力を受ける。電流波形計算部84は、動作パラメータ入力部82によって入力された情報に基づいて、ICチップを電流源としてモデル化したときの電流波形を計算する。モデル生成部85は、ICチップの電流源モデルに基づいて、シミュレーションに用いられるIC部品モデルを生成する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
パワーインテグリティの設計を支援するための設計支援装置であって、
集積回路(IC)によって実行される複数の機能の各々に対して、動作周波数または動作タイミングの情報と平均消費電流の情報との入力を受ける動作パラメータ入力部と、
前記動作パラメータ入力部によって入力された情報に基づいて、ICチップを電流源としてモデル化したときの電流波形を計算する電流波形計算部と、
前記ICチップからICパッケージの電源端子およびグランド端子に至るまでのIC部品の電源配線構造に関する構造情報の入力を受ける構造情報入力部と、
前記ICチップの電流源モデルと前記構造情報とに基づいて、シミュレーションに用いられるIC部品モデルを生成するモデル生成部とを備える、設計支援装置。
【請求項2】
前記ICチップを電流源としてモデル化したときの前記電流波形は、周期的に生成される電流パルスを含み、
前記電流波形計算部は、前記動作周波数または前記動作タイミングに基づいて、前記ICの前記機能ごとに前記電流パルスが生成されるタイミングを決定し、前記ICの前記機能ごとの前記平均消費電流にさらに基づいて前記電流パルスのピーク値を決定する、請求項1に記載の設計支援装置。
【請求項3】
前記構造情報は、前記IC部品の前記電源配線構造を等価回路で表した場合の回路パラメータを含む、請求項1に記載の設計支援装置。
【請求項4】
前記IC部品モデルと前記IC部品が実装されるプリント基板の情報とに基づいて回路シミュレーションを実行することにより、前記IC部品の電源・グランド端子間の電圧を計算するパワーインテグリティ解析部をさらに備える、請求項1~3のいずれか1項に記載の設計支援装置。
【請求項5】
前記パワーインテグリティ解析部は、前記IC部品の前記電源・グランド端子間の電圧の許容範囲の入力を受け、前記計算された電源・グランド端子間の電圧が前記許容範囲内か否かを判定する、請求項4に記載の設計支援装置。
【請求項6】
パワーインテグリティの設計を支援するための設計支援プログラムであって、
集積回路(IC)によって実行される複数の機能の各々に対して、動作周波数または動作タイミングの情報と平均消費電流の情報との入力を受けるステップと、
前記入力された動作周波数または動作タイミングの情報と平均消費電流の情報とに基づいて、ICチップを電流源としてモデル化したときの電流波形を計算するステップと、
前記ICチップからICパッケージの電源端子およびグランド端子に至るまでのIC部品の電源配線構造に関する構造情報の入力を受けるステップと、
前記ICチップの電流源モデルと前記構造情報とに基づいて、シミュレーションに用いられるIC部品モデルを生成するステップとをコンピュータに実行させる、設計支援プログラム。
【請求項7】
前記ICチップを電流源としてモデル化したときの前記電流波形は、周期的に生成される電流パルスを含み、
前記電流波形を計算するステップは、
前記動作周波数または前記動作タイミングに基づいて、前記ICの前記機能ごとに前記電流パルスが生成されるタイミングを決定するステップと、
前記ICの前記機能ごとの前記平均消費電流にさらに基づいて前記電流パルスのピーク値を決定するステップとを含む、請求項6に記載の設計支援プログラム。
【請求項8】
前記構造情報は、前記IC部品の前記電源配線構造を等価回路で表した場合の回路パラメータを含む、請求項6に記載の設計支援プログラム。
【請求項9】
前記IC部品モデルと前記IC部品が実装されるプリント基板の情報とに基づいて回路シミュレーションを実行することにより、前記IC部品の電源・グランド端子間の電圧を計算するステップを、前記コンピュータにさらに実行させる、請求項6~8のいずれか1項に記載の設計支援プログラム。
【請求項10】
前記IC部品の前記電源・グランド端子間の電圧の許容範囲の入力を受け、前記計算された電源・グランド端子間の電圧が前記許容範囲内か否かを判定するステップを、前記コンピュータにさらに実行させる、請求項9に記載の設計支援プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、設計支援装置および設計支援プログラムに関し、たとえばパワーインテグリティの設計に適用される。
【背景技術】
【0002】
パワーインテグリティとは、プリント基板の電源ラインおよび/または電源プレーンにおける電源電圧の品質をいう。たとえば、LSI(Large Scale Integration)の内部で発生したノイズが電源ライン/電源プレーンを伝搬したり、LSIの電流消費によって電源電圧の低下が生じたりすることは、パワーインテグリティの問題である。
【0003】
LSIの誤動作を防ぐためのパワーインテグリティの設計手法の一つに、プリント配線板上のLSIの端子位置から見た電源プレーンとグランドプレーンとの間のインピーダンス(「入力インピーダンス」と称する)が上限値(「ターゲットインピーダンス」と称する)を超えないように設計する手法がある。しかしながら、設計の初期段階でターゲットインピーダンスを決定することは容易でない。
【0004】
特開2011-22822号公報(特許文献1)は、ターゲットインピーダンスの決定を容易にするための手法を開示する。具体的に、この文献のパワーインテグリティ解析装置では、時間軸上でのLSIの消費電流の変化を表す電流波形、すなわち一定間隔で同一の三角波が発生する波形が仮定される。この電流波形の極大値、定常値から極大値に変化するのに要する変化時間、三角波の周期は、設計者によって入力される。パワーインテグリティ解析装置は、上記の時間軸上の電流波形を周波数軸上の電流スペクトラムに変換する。そして、パワーインテグリティ解析装置は、電源電圧の定格値および許容される電源電圧の変動率に基づいて、電源電圧定格値×許容変動率/消費電流スペクトラムに従って、ターゲットインピーダンススペクトラムを算出する。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記の特開2011-22822号公報(特許文献1)に開示された手法よっても、依然としてターゲットインピーダンスの決定は容易とは言えない。なぜなら、プリント基板の設計者が、LSIの消費電流波形の極大値および定常値から極大値に変化するのに要する時間などを特定することは困難であるからである。
【0007】
本開示は、上記の背景技術を考慮してなされたものであり、その目的は、パワーインテグリティの設計を容易にする設計支援装置および設計支援プログラムを提供することである。
【課題を解決するための手段】
【0008】
一実施形態において、パワーインテグリティの設計を支援するための設計支援装置が提供される。設計支援装置は、動作パラメータ入力部と、電流波形計算部と、構造情報入力部と、モデル生成部とを備える。動作パラメータ入力部は、集積回路(IC:Integrated Circuit)によって実行される複数の機能の各々に対して、動作周波数または動作タイミングの情報と平均消費電流の情報との入力を受ける。電流波形計算部は、動作パラメータ入力部によって入力された情報に基づいて、ICチップを電流源としてモデル化したときの電流波形を計算する。構造情報入力部は、ICチップからICパッケージの電源端子およびグランド端子に至るまでのIC部品の電源配線構造に関する構造情報の入力を受ける。モデル生成部は、ICチップの電流源モデルと構造情報とに基づいて、シミュレーションに用いられるIC部品モデルを生成する。
【発明の効果】
【0009】
上記の実施形態によれば、ICの機能ごとの動作周波数または動作タイミングの情報と平均消費電流の情報とに基づいてICチップを電流源としてモデル化したときの電流波形が計算される。この電流源モデルを利用することにより、パワーインテグリティの設計が容易になる。
【図面の簡単な説明】
【0010】
【
図1】シミュレーションで用いられる回路モデルの一例を示すブロック図である。
【
図2】
図1のIC部品モデルのより詳細な構成例を示す回路図である。
【
図3】実施の形態1に係る設計支援装置の構成例を示すブロック図である。
【
図4】
図3の構造情報入力部のより詳細な構成例を示すブロック図である。
【
図5】
図3の動作パラメータ入力部のより詳細な構成例を示すブロック図である。
【
図6】各機能のパラメータの入力画面の一例を示す図である。
【
図7】GPIOのパラメータの入力画面の一例および通信回路のパラメータの入力画面の一例を示す図である。
【
図8】ICチップの一機能の電流波形を概念的に示すタイミング図である。
【
図9】
図3の設計支援装置の動作を示すフローチャートである。
【
図10】実施の形態2の設計支援装置の構成例を示すブロック図である。
【
図11】
図10の設計支援装置の動作を示すフローチャートである。
【
図12】実施の形態3の設計支援装置の動作を示すフローチャートである。
【
図13】実施の形態1~3の設計支援装置のハードウェア構成の一例を示すブロック図である。
【発明を実施するための形態】
【0011】
以下、各実施の形態について図面を参照して詳しく説明する。なお、同一または相当する部分には同一の参照符号を付して、その説明を繰り返さない。
【0012】
実施の形態1.
本実施の形態の設計支援装置では、プリント基板をモデル化し、シミュレーションによって、解析対象となるLSIの端子位置での電源電圧の時間変化およびスペクトラムが算出される。基本的にターゲットインピーダンスを算出することはないが、ターゲットインピーダンスの算出も可能である。以下、シミュレーションのための回路モデルについて説明し、次に設計支援装置の構成について説明する。
【0013】
[回路モデルの構成]
図1は、シミュレーションで用いられる回路モデル10の一例を示すブロック図である。回路モデル10は、解析対象のIC(Integrated Circuit)部品を表すIC部品モデル20と、IC部品の外部情報30とを含む。本明細書において、IC部品とは、マイクロプロセッサなどのICが形成されたチップ(ダイとも称する)と、そのチップを内蔵するパッケージとを含めた半導体製品の全体をいう。
【0014】
IC部品モデル20は、ICチップの電流源モデル21、オンチップキャパシタ22、ボンディングワイヤの等価回路23、およびパッケージの等価回路24を備える。
【0015】
ICチップの電流源モデル21では、ICチップの消費電流は、ICの使用機能ごとの1サイクル当たりの消費電流Ii(iは使用機能ごとの番号)の総和で表される。すなわち、ICチップの電流源モデル21は、
I=I1+I2+I3+…+Ii+… …(1)
によって定義される。上記の各機能に対する消費電流Iiの決定方法については、
図5~
図8を参照して後述する。
【0016】
図2は、
図1のIC部品モデル20のより詳細な構成例を示す回路図である。
図2では、ボンディングワイヤの等価回路23およびパッケージの等価回路24の具体的な構成例が示されている。
【0017】
図2を参照して、オンチップキャパシタ22は、瞬時の電流変化を吸収するためにICチップ上に形成されたキャパシタである。IC部品モデル20では、オンチップキャパシタ22はICチップの電流源モデル21と並列に接続される。オンチップキャパシタ22の容量値として、たとえば過去の類似のICの実績値が用いられる。
【0018】
図2の例では、ボンディングワイヤの等価回路23は2端子対回路で表される。具体的にこの2端子対回路は、抵抗器43,45、インダクタ44,46、およびキャパシタ47を含む。キャパシタ47は、2端子対回路の出力端子48,49の間に接続される。抵抗器43およびインダクタ44は、2端子対回路の高電位側の入力端子41と高電位側の出力端子48との間に直列に接続される。抵抗器45およびインダクタ46は、2端子対回路の低電位側の入力端子42と低電位側の出力端子49との間に直列に接続される。2端子対回路の入力端子41,42の間にオンチップキャパシタ22およびICチップの電流源モデル21が並列に接続される。上記の抵抗器43,45の抵抗値、インダクタ44,46のインダクタンス値、およびキャパシタ47の容量値は、ボンディングワイヤの太さとIC部品のパッケージサイズとから推定できる。
【0019】
さらに
図2の例では、パッケージの等価回路24も2端子対回路で表される。具体的にこの2端子対回路は、抵抗器53、インダクタ54、およびキャパシタ55を含む。キャパシタ55は、2端子対回路の出力端子58,59の間に接続される。高電位側の出力端子58はパッケージの電源端子に対応し、低電位側の出力端子59はパッケージのグランド(GND)端子に対応する。抵抗器53およびインダクタ54は、2端子対回路の高電位側の入力端子51と高電位側の出力端子58との間に直列に接続される。高電位側の入力端子51は、ボンディングワイヤの等価回路23を表す2端子対回路の高電位側の出力端子48に接続される。低電位側の入力端子52は、低電位側の出力端子59に直結されるとともに、ボンディングワイヤの等価回路23を表す2端子対回路の低電位側の出力端子49に接続される。パッケージの等価回路24として、IBIS(Input/Output Buffer Information Specification)モデル内に記載されている等価回路を利用してもよい。
【0020】
図1に戻って、IC部品の外部情報30は、プリント基板配線の等価回路31、受動部品の等価回路32、および基板配線の電源電圧33を含む。プリント基板のグランド配線はグランドGNDに接続される。
【0021】
図1の回路モデル10は、一般的に良く使用される電子回路シミュレータであるSPICE(Simulation Program with Integrated Circuit Emphasis)の等価回路モデルを想定した例であるが、この例に限定されない。たとえば、高周波電子回路および高周波電子部品の特性を表すために使用される回路網パラメータであるSパラメータ(Scattering Parameters)を用いてもよい。シミュレーション方法はSPICEシミュレーションに限定されない。また、等価回路に限定されず、たとえばレイアウトデータを用いたシミュレーションを行っても良い。さらに、等価回路を用いる場合も、
図1および
図2に示した等価回路に限定されない。
【0022】
図1および
図2に例示したような回路モデルを用いてシミュレーションを行うことによって、動作状態のICチップ内で発生するスイッチングノイズを考慮したIC部品の電源・グランド端子間の電圧Voが計算できる。
【0023】
[設計支援装置の構成]
図3は、実施の形態1に係る設計支援装置70の構成例を示すブロック図である。
図3を参照して、設計支援装置70は、IC部品モデル生成部80とパワーインテグリティ解析部90とを備える。
【0024】
IC部品モデル生成部80は、ユーザの入力情報に基づいて
図1および
図2に示したIC部品モデル20を生成する。IC部品モデル20は、動作時のIC部品の電源・グランド端子間の電源電圧Voに含まれるスイッチングノイズを再現するものである。ここで、ユーザの入力情報は、IC部品メーカが提供するデータシートなどに記載された情報などであり、設計者が容易に取得できるものである。IC部品モデル生成部80のより詳細な構成については、
図3~
図8を参照して後述する。
【0025】
パワーインテグリティ解析部90は、IC部品モデル生成部80によって生成されたIC部品モデル20に基づいて、
図1の回路モデル10のシミュレーションを行うことにより、解析対象のIC部品の電源・グランド端子間の電源電圧Voを計算する。
図3に示すように、パワーインテグリティ解析部90は、基板配線情報入力部91、受動部品情報入力部92、電源電圧入力部93、シミュレーション実行部94、結果出力部(時間軸)95、および結果出力部(周波数軸)96を備える。
【0026】
基板配線情報入力部91は、
図1のプリント基板配線の等価回路31を生成するのに必要な回路パラメータの入力を受ける。受動部品情報入力部92は、
図1の受動部品の等価回路32を生成するのに必要な回路パラメータの入力を受ける。電源電圧入力部93は、
図1の基板配線の電源電圧33の値の入力を受ける。
【0027】
なお、上記の構成は、シミュレーションに用いる回路モデルに応じて適宜変更される。たとえば、レイアウトデータを用いたシミュレーションを実行する場合には、パワーインテグリティ解析部90は、レイアウトデータの入力を受け付ける。
【0028】
シミュレーション実行部94は、IC部品モデル生成部80によって生成されたIC部品モデル20を含むプリント基板の回路モデル10を用いてシミュレーションを実行することにより、IC部品の電源・グランド端子間の電源電圧Voの時間変化を計算する。電源電圧Voの時間変化データには、ICチップの動作に伴うスイッチングノイズが含まれる。さらに、シミュレーション実行部94は、計算された電源電圧Voの時間変化データをフーリエ変換することにより、電源電圧Voに含まれるスイッチングノイズのスペクトラムを計算する。
【0029】
結果出力部(時間軸)95は、時間軸上の電源電圧波形をディスプレイに表示したり、プリンタに出力したりする。また、結果出力部(周波数軸)96は、周波数軸上の電源電圧波形をディスプレイに表示したり、プリンタに出力したりする。
【0030】
設計支援装置70は、たとえば、CPU(Central Processing Unit)、記憶装置、入出力デバイスなどを含むコンピュータおよびそのコンピュータ上で動作するプログラムにより実現される。この場合、そのコンピュータは、例えば、サーバ、エンジニアリングワークステーションまたはパーソナルコンピュータ等であってよい。なお、設計支援装置70の少なくとも一部は、ASIC(Application Specific Integrated Circuit)などの専用のハードウェアにより実現されてもよいし、FPGA(Field Programmable Gate Array)などのPLD(Programmable Logic Device)を利用して実現されてもよい。
【0031】
[IC部品モデル生成部の構成]
IC部品モデル生成部80は、ユーザが選択した機能ごとに電源電流波形を決定し、決定された複数の電源電流波形の重ね合わせにより、
図1のICチップの電流源モデル21の電源電流波形を決定する。さらに、IC部品モデル生成部80は、ユーザにより入力されたパッケージ内部の情報に基づいて最終的なIC部品モデル20を生成する。
【0032】
具体的には
図3に示すように、IC部品モデル生成部80は、構造情報入力部81、動作パラメータ入力部82と、使用機能選択部83、電流波形計算部84、およびモデル生成部85を備える。以下、これらの構成要素の詳細について説明する。
【0033】
図4は、
図3の構造情報入力部81のより詳細な構成例を示すブロック図である。構造情報入力部81は、ICチップからICパッケージの電源端子およびグランド端子に至るまでのIC部品の電源配線構造に関する構造情報、すなわち、IC部品モデル20の電流源モデル21以外の部分に関する情報の入力を受ける。構造情報入力部81は、入力された情報を設計支援装置70の内部の記憶装置または設計支援装置70外部のサーバなどの記憶装置に格納する。
図4に示すように、構造情報入力部81は、オンチップキャパシタの容量入力部101、ボンディングワイヤの等価回路入力部102、パッケージの等価回路入力部103、および端子情報入力部104を備える。
【0034】
オンチップキャパシタの容量入力部101は、
図1および
図2のオンチップキャパシタ22の容量値の入力を受ける。
【0035】
ボンディングワイヤの等価回路入力部102は、
図1および
図2のボンディングワイヤの等価回路23の回路パラメータの入力を受ける。
図2の等価回路の場合には、等価回路入力部102は、抵抗器43,45の抵抗値、インダクタ44,46のインダクタンス値、およびキャパシタ47の容量値の入力を受ける。
【0036】
パッケージの等価回路入力部103は、
図1および
図2のパッケージの等価回路24の回路パラメータの入力を受ける。
図2の等価回路の場合には、等価回路入力部103は、抵抗器53の抵抗値、インダクタ54のインダクタンス値、およびキャパシタ55の容量値の入力を受ける。
【0037】
端子情報入力部104は、IC部品の電源端子およびグランド端子の種類などの情報の入力を受ける。構造情報入力部81は、これらの入力情報に基づいて、
図2のIC部品モデル20のICチップの電流源モデル21以外の部分の等価回路を生成する。
【0038】
図5は、
図3の動作パラメータ入力部82のより詳細な構成例を示すブロック図である。動作パラメータ入力部82は、ICによって実行される複数の機能の各々に対して、動作パラメータの入力を受ける。動作パラメータは、動作周波数または動作タイミングの情報と平均消費電流の情報とを含む。これらの情報は、IC部品メーカが提供するデータシートなどに記載された情報であり、設計者が容易に取得できるものである。
【0039】
図5に示すように、動作パラメータ入力部82は、内部クロックで動作する各機能の動作パラメータ入力部110と、内部クロックを参照するGPIO(General-Purpose Input/Output)/通信回路のパラメータ入力部120とを備える。
【0040】
各機能の動作パラメータ入力部110は、各機能の動作周波数算出部111、各機能の消費電流入力部115、および各機能のチャネル数入力部116を備える。さらに、各機能の動作周波数算出部111は、メインクロックの周波数入力部112、メインクロックの分周率入力部113、およびPLL(Phase Locked Loop)回路の周波数逓倍率入力部114を含む。
【0041】
GPIO/通信回路のパラメータ入力部120は、GPIOの動作タイミング入力部121、GPIOの消費電流入力部122、通信回路の動作周波数入力部123、および通信回路の消費電流入力部124を備える。以下、
図5のこれらの機能について説明する。
【0042】
メインクロックの周波数入力部112はICチップのメインクロックの周波数の入力を受ける。メインクロックの分周率入力部113は機能ごとに分周率の入力を受け、PLL回路の周波数逓倍率入力部114は機能ごとに逓倍率の入力を受ける。動作周波数算出部111は、メインクロックの周波数に機能ごとの分周率または逓倍率を乗算することにより、機能ごとの動作周波数を計算する。なお、各機能の動作パラメータ入力部110は、各機能の動作周波数算出部111に代えて機能ごとの動作周波数の入力を直接受けるようにしてもよい。
【0043】
各機能の消費電流入力部115はICチップの各機能の単一チャネルごとの消費電流値の入力を受ける。各機能のチャネル数入力部116は、ICチップの機能ごとのチャネル数(すなわち、当該機能を何チャネル有しているか)の入力を受ける。各機能の動作パラメータ入力部110は、各機能のチャネルごとの消費電流値に当該機能のチャネル数を乗算することにより、各機能の消費電流値を計算する。なお、各機能の動作パラメータ入力部110は、各機能の全チャネル数の消費電流値の入力を受けるようにしてもよい。もしくは、各機能の動作パラメータ入力部110は、ICチップの総消費電流の入力を受け、入力された総消費電流を使用機能および各機能のチャネル数で分配することにより、各機能の消費電流を計算してもよい。
【0044】
マイコンなどのGPIOを有するICチップの場合、GPIOの動作タイミング入力部121は、実際に使用する機能ごとの動作タイミング(たとえば、A/D変換器の場合、サンプリング時間、変換周期など)の入力を受ける。GPIOの消費電流入力部122は、実際に使用する機能ごとの消費電流値の入力を受ける。これらの入力値は、メーカが提供するIC部品のデータシートから読み取ることができる。
【0045】
同様に通信回路を有するICチップの場合、通信回路の動作周波数入力部123は、通信回路の機能ごとの動作周波数の入力を受ける。通信回路の消費電流入力部124は、通信回路の機能ごとの消費電流値の入力を受ける。なお、動作周波数ではなく、動作タイミングで規定される通信回路の場合には、GPIO/通信回路のパラメータ入力部120は、GPIOの場合と同様に通信回路の動作タイミングの入力を受けてもよい。
【0046】
図6は、各機能のパラメータの入力画面の一例を示す図である。
図6の入力画面130は、動作パラメータ入力部82の各機能の動作パラメータ入力部110および使用機能選択部83がユーザから入力を受ける場合の入力画面の一例を示す。ICチップとしてマイコンを例にしている。
【0047】
図6を参照して、入力画面130は、ICの機能名の入力部分132、各機能の使用の有無の入力部分131、各機能の動作周波数の入力部分133、各機能の使用するチャネル数の入力部分134、および各機能のチャネルごとの消費電流値の入力部分135を含む。
【0048】
各機能の使用の有無の入力部分131は、
図3の使用機能選択部83に対応する。各機能の動作周波数の入力部分133は、
図5の各機能の動作パラメータ入力部110の動作周波数算出部111に対応する。各機能の使用するチャネル数の入力部分134は、
図5の各機能の動作パラメータ入力部110のチャネル数入力部116に対応する。各機能のチャネルごとの消費電流値の入力部分135は、
図5の各機能の動作パラメータ入力部110の消費電流入力部115に対応する。
図5では、各機能の動作周波数を直接入力する例が示されているが、メインクロックの周波数、分周率、および周波数逓倍率の入力を受けて動作周波数算出部111が各機能の動作周波数を算出するようにしてもよい。
【0049】
図7は、GPIOのパラメータの入力画面の一例および通信回路のパラメータの入力画面の一例を示す図である。
図7の入力側面は、
図5の動作パラメータ入力部82のGPIO/通信回路のパラメータ入力部120がユーザから入力を受ける場合の入力画面の一例を示す。ICチップとしてマイコンを例にしている。
【0050】
図7(A)を参照して、GPIOのパラメータの入力画面140は、GPIOの機能名の表示部分141、GPIOの各機能の端子ごとの端子名の入力部分142、GPIOの各機能の端子ごとの動作タイミングとしてサンプリング時間および変換周期などの入力部分143、ならびにGPIOの各機能の端子ごとの消費電流値の入力部分144を含む。
【0051】
GPIOの機能名の表示部分141は、
図6のICチップの機能名の入力部分132で入力された機能名に対応している。端子名の入力部分140の行数は、機能ごとに
図6のチャネル数の入力値に等しい数だけ用意される。各機能の端子ごとの動作タイミングの入力部分143は、
図5の動作パラメータ入力部82のGPIO/通信回路のパラメータ入力部120のGPIOの動作タイミング入力部121に対応する。GPIOの各機能の端子ごとの消費電流値の入力部分144は、GPIO/通信回路のパラメータ入力部120のGPIOの消費電流入力部122に対応する。
図6の各機能の使用の有無の入力部分131で、「使用する」と入力された機能については、これらのパラメータを入力する必要がある。
【0052】
各機能の端子ごとの動作タイミングの入力部分143での入力値は、
図7に示したサンプリング時間および変換周期に限定されるものでなく、
図8を参照して説明するICチップの電流源モデル21の電流波形を決定するのに必要なものであればよい。また、動作タイミングでなく動作周波数で規定されるGPIOの機能がある場合には、動作タイミングの入力部分143に代えて、
図7(B)と同様に動作周波数の入力部分が
図7(A)の入力画面140に設けられる。
【0053】
図7(B)を参照して、通信回路のパラメータの入力画面150は、通信回路の機能名の表示部分151、通信回路の各機能の端子ごとの端子名の入力部分152、通信回路の各機能の端子ごとの動作周波数の入力部分153、および通信回路の各機能の端子ごとの消費電流値の入力部分154を含む。
【0054】
通信回路の機能名の表示部分151は、
図6のICチップの機能名の入力部分132で入力された機能名に対応している。端子名の入力部分152の行数は、機能ごとに
図6のチャネル数の入力値に等しい数だけ用意される。通信回路の各機能の端子ごとの動作周波数の入力部分153は、
図5の動作パラメータ入力部82のGPIO/通信回路のパラメータ入力部120の通信回路の動作周波数入力部123に対応する。通信回路の各機能の端子ごとの消費電流値の入力部分154は、GPIO/通信回路のパラメータ入力部120の通信回路の消費電流入力部124に対応する。
図6の各機能の使用の有無の入力部分131で、「使用する」と入力された機能については、これらのパラメータを入力する必要がある。
【0055】
図8は、ICチップの一機能の電流波形を概念的に示すタイミング図である。
図8の電流波形は、動作パラメータ入力部82および使用機能選択部83での入力情報に基づいて、
図3の電流波形計算部84によって計算される。
【0056】
図8を参照して、当該機能の動作周波数X[Hz]のクロックの立ち上がり時の時刻t1から時刻t2の間と立ち下がり時の時刻t3から時刻t4の間に、三角波形状のパルス電流が流れる。動作周波数X[Hz]は、
図5の各機能の動作パラメータ入力部110の動作周波数算出部111で算出される動作周波数、GPIO/通信回路のパラメータ入力部120のGPIOの動作タイミング入力部121で入力された動作タイミングに基づく動作周波数、および通信回路の動作周波数入力部123で入力された周波数に対応している。
【0057】
図8の場合、クロックの立ち上がり時のパルス電流のピーク値は5Z[A]であり、クロックの立ち下がり時のパルス電流のピーク値はZ[A]である。経験的に立ち上がり時のピーク電流値は相対的に大きくなり、立ち下がり時のピーク電流値は相対的に小さくなることがわかっている。
図8では、立ち上がりのピーク電流値と立ち下がり時のピーク電流値の比を5:1としているが、5:1に限定されない。
【0058】
各パルス電流が流れる時間は、経験的に当該機能の動作周期1/X[秒]の1/20、すなわち、1/(20X)[秒]とする。ただし、各パルス電流が流れる時間は、動作周期の1/20に限定されない。
【0059】
立ち上がり時および立ち下がり時のパルス電流の電流波形を時間積分することにより、立ち上がり時および立ち下がり時に流れる電荷量[C](電気量とも称する)を計算できる。具体的には、三角形の面積を計算することにより、
(立ち上がり時の電荷量)=5×Z/(20X)×0.5 …(2)
(立ち下がり時の電荷量)=Z/(20X)×0.5 …(3)
が得られる。したがって、1周期あたりに流れる電荷量は、上式(2)および(3)を加算することにより、
(1周期あたりの電荷量)=3Z/(20X) …(4)
と求められる。
【0060】
一方、平均消費電流Y[A]は、
図5の各機能の動作パラメータ入力部110の消費電流入力部115およびGPIO/通信回路のパラメータ入力部120の消費電流入力部122,124で入力された値に対応している。これらの値は、IC部品のデータシートなどから容易に得られる。
【0061】
平均消費電流Y[A]を用いると、1周期:1/X[秒]あたりに流れる電荷量は、四角形の面積を計算することにより、
(1周期あたりの電荷量)=Y/X …(5)
と求められる。式(4)と式(5)は等しいので、
Z=20Y/3 …(6)
の関係が得られる。
【0062】
上式(6)から立ち上がり時のピーク電流値5Z[A]および立ち下がり時のピーク電流値Z[A]を計算できる。これにより、
図1および
図2のICチップの電流源モデル21から出力される各機能の電流波形を決定できる。
【0063】
上記では、各機能の動作周波数に基づいて電流波形を計算する例を示したが、
図7に示すような動作タイミングに基づいて電流波形を計算してもよい。たとえば、クロックの波形に代えて、デジタル入出力回路のオン/オフ波形および通信回路のオン/オフ波形を用いることができる。したがって、より一般的に言えば、電流波形計算部84は、ICの機能ごとの動作周波数または動作タイミングに基づいて、ICの機能ごとに電流パルスが周期的に生成されるタイミングを決定する。電流波形計算部84は、ICの機能ごとの平均消費電流にさらに基づいて上記の電流パルスのピーク値を決定する。
【0064】
[まとめ:設計支援装置の動作の概要]
図9は、
図3の設計支援装置70の動作を示すフローチャートである。以下、
図9を参照して、これまでの説明を総括する。
【0065】
ステップS100で、IC部品モデル生成部80の構造情報入力部81は、IC部品の構造情報の入力を受ける。具体的には、構造情報入力部81は、
図2のオンチップキャパシタ22の容量値、ボンディングワイヤの等価回路23の各パラメータ値、およびパッケージの等価回路24の各パラメータ値の入力を受ける。
【0066】
次のステップS110で、動作パラメータ入力部82は、ICの使用条件に応じた動作パラメータの入力を受ける。たとえば、動作パラメータ入力部82は、
図7および
図8の入力画面130,140,150を介してユーザから動作パラメータの入力を受ける。
【0067】
その次のステップS120で、使用機能選択部83は、ICチップの各機能のうちで使用する機能の選択入力を受ける。
【0068】
その次のステップS130で、電流波形計算部84は、ステップS110およびステップS120で入力された動作パラメータおよび機能選択に基づいて、機能ごとの電流波形のピーク値を計算する。これにより、IC部品モデル20内のICチップの電流源モデル21の出力電流波形が決定される。
【0069】
その次のステップS140で、モデル生成部85は、ステップS100の構造情報の入力に基づいて決定された等価回路と、ステップS130で決定されたICチップの電流源モデル21とを組み合わせることにより、IC部品モデル20を生成する。
【0070】
その次のステップS150で、基板配線情報入力部91は基板配線情報の入力を受け、受動部品情報入力部92は受動部品情報の入力を受け、電源電圧入力部93は電源電圧値の入力を受ける。
【0071】
その次のステップS160で、シミュレーション実行部94は、ステップS150で入力されたIC部品の外部情報30とステップS140で生成されたIC部品モデル20と用いて、
図1に示すプリント基板の回路モデル10を生成する。シミュレーション実行部94は、この回路モデル10を用いてシミュレーションを実行することにより、IC部品の電源・グランド端子間の電圧Voを計算する。さらに、シミュレーション実行部94は、端子間電圧Voをフーリエ変換することにより、電源・グランド端子間電圧の周波数スペクトラムを計算する。
【0072】
その次のステップS180で、結果出力部(時間軸)95は、IC部品の電源・グランド端子間電圧Voの時間軸波形をディスプレイに表示する。
【0073】
その次のステップS190で、結果出力部(周波数軸)96は、IC部品の電源・グランド端子間電圧Voの周波数スペクトラムをディスプレイ表示する。以上により、一連の処理が終了する。
【0074】
図9に示すフローチャートの各ステップの順序は一例であってこれに限らない。たとえば、ステップS100はステップS140よりも前であればどのタイミングで実行されてもよい。ステップS150はステップS160よりも前であればどのタイミングで実行されてもよい。
【0075】
また、ステップS100,S110、S150におけるパラメータ等の入力は、必ずしも設計支援装置70にユーザが直接入力する必要はない。たとえば、外部のサーバまたはディスクアレイに予め記憶されたデータを、ネットワークを介して設計支援装置70が取り込むようにしてもよい。もしくは、設計支援装置70の記憶装置に予め記憶されたデータを、CPUが読み出してもよい。
【0076】
[実施の形態1の効果]
上記のように実施の形態1の設計支援装置70によれば、IC部品の動作特性の詳細な情報およびICチップ消費電流波形の実測値などがいずれも得られない場合であっても、IC部品メーカが提供するデータシートなどの簡単に入手可能な情報を用いてICの消費電流波形を決定できる。これにより、ICが発生するスイッチングノイズの影響を考慮した電源電圧波形を計算できるので、パワーインテグリティの設計が容易になる。
【0077】
実施の形態2.
図10は、実施の形態2の設計支援装置70Aの構成例を示すブロック図である。
図10の設計支援装置70Aのパワーインテグリティ解析部90Aは、IC部品の電源・グランド端子間電圧Voの許容電圧範囲を入力するための入力部97をさらに備える点で、
図3の設計支援装置70のパワーインテグリティ解析部90と異なる。
図10のその他の点は
図3の場合と同様であるので、同一または相当する部分には同一の参照符号を付して説明を繰り返さない。
【0078】
図11は、
図10の設計支援装置70Aの動作を示すフローチャートである。
図11のフローチャートは、ステップS150とステップS160の間にステップS155が追加され、ステップS180とステップS190の間にステップS185が追加されている点で、
図9のフローチャートと異なる。
【0079】
具体的にステップS155で、
図10の許容電圧範囲の入力部97は、IC部品の電源・グランド端子間電圧Voの許容範囲の入力を受ける。許容範囲は、IC部品メーカが提供するデータシートなどに記載された許容電圧値に基づいて決定される。
【0080】
ステップS185においてパワーインテグリティ解析部90Aは、シミュレーション実行部94によって計算された電源・グランド端子間電圧Voが許容範囲内であるか否かを判定する。結果出力部(時間軸)95は、判定結果を表示する。
図11のその他のステップは
図9の場合と同様であるので、同一または相当するステップには同一の参照符号を付して説明を繰り返さない。
【0081】
実施の形態2の設計支援装置70Aによれば、実施の形態1の設計支援装置70の効果に加えて、パワーインテグリティの評価を容易にできるという利点がある。
【0082】
実施の形態3.
実施の形態3の設計支援装置は、実施の形態1の設計支援装置70の変形例であり、
図3のパワーインテグリティ解析部90が既存ツールで構成される点で実施の形態1の場合と異なる。既存ツールとして、回路シミュレータ、CAE(Computer Aided Engineering)、コンピュータ言語で作成された市販プログラムなどが挙げられる。IC部品モデル生成部80は、既存ツールとしてのパワーインテグリティ解析部90から独立したユニットとしてもよい。この場合、IC部品モデル生成部80によって設計支援装置が構成される。
【0083】
図12は、実施の形態3の設計支援装置の動作を示すフローチャートである。
図12のフローチャートは、ステップS140とステップS150の間にステップS145をさらに備える点で
図9のフローチャートと異なる。
【0084】
具体的にステップS145で、IC部品モデル生成部80のモデル生成部85は、既存ツールが読み込める形式でIC部品モデル20を出力する。既存ツールが読み込める形式として、たとえば、電子回路シミュレータSPICE用の形式などが挙げられる。既存ツールとしてのシミュレータは、モデル生成部85からIC部品モデル20を読み込む。以降のステップS150からS190は、既存ツールとしてのシミュレータによって実行される。
【0085】
図12のフローチャートのその他の点は
図9の場合と同様であるので、同一または相当する部分には同一の参照符号を付して説明を繰り返さない。なお、実施の形態3は、実施の形態2と組み合わせることができる。
【0086】
実施の形態3の設計支援装置によれば、実施の形態1の設計支援装置70の効果に加えて、既存ツールを活用することによりパワーインテグリティ設計用の設計支援装置を早期に構築できるという利点がある。また、たとえば既存ツールがCAEであれば、プリント基板上の電磁界分布、およびプリント基板からの距離に応じた電磁界強度など、種々の結果を表示できる。
【0087】
<実施の形態1~3の設計支援装置のハードウェア構成例>
図13は、実施の形態1~3の設計支援装置のハードウェア構成の一例を示すブロック図である。以下、
図13を参照して、コンピュータを用いて設計支援装置を構成した例について補足する。
【0088】
図13を参照して、設計支援装置70,70Aは、CPU160と、RAM(Random Access Memory)161と、ROM(Read Only Memory)162と、補助記憶装置163と、入力装置164と、出力装置165と、通信装置166と、リムーバルドライブ用のリーダ・ライタ167と、これらの要素を接続するバス168とを備える。
【0089】
CPU160は、設計支援プログラムを実行することにより、設計支援装置70,70Aとしての機能を実現する。RAM161およびROM162は、CPU160のワークメモリとして用いられる。設計支援プログラムは、ハードディスクドライブまたはソリッドステートドライブなどの補助記憶装置163に予め格納されていてもよいし、通信装置166を介して外部からRAM161にダウンロードされてもよいし、リーダ・ライタ167を介してリムーバルドライブから読み込まれてもよい。入力装置164は、キーボード、マウス、タッチパネルなどであり、ユーザから入力を受け付ける。出力装置165は、ディスプレイおよびプリンタなどを含む。
【0090】
なお、設計支援装置70,70Aの機能の少なくとも一部を、ASICなどの専用のハードウェアにより実現してもよいし、FPGAなどのPLDを利用して実現してもよい。
【0091】
今回開示された実施の形態はすべての点で例示であって制限的なものでないと考えられるべきである。この出願の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0092】
10 回路モデル、20 IC部品モデル、21 電流源モデル、22 オンチップキャパシタ、23 ボンディングワイヤの等価回路、24 パッケージの等価回路、30 IC部品の外部情報、31 プリント基板配線の等価回路、32 受動部品の等価回路、33 基板配線の電源電圧、70,70A 設計支援装置、80 IC部品モデル生成部、81 構造情報入力部、82 動作パラメータ入力部、83 使用機能選択部、84 電流波形計算部、85 モデル生成部、90,90A パワーインテグリティ解析部、91 基板配線情報入力部、92 受動部品情報入力部、93 電源電圧入力部、94 シミュレーション実行部、97 許容電圧範囲の入力部、101 オンチップキャパシタの容量入力部、102 ボンディングワイヤの等価回路入力部、103 パッケージの等価回路入力部、104 IC部品の端子情報入力部、110 各機能の動作パラメータ入力部、111 各機能の動作周波数算出部、112 メインクロックの周波数入力部、113 メインクロックの分周率入力部、114 PLL回路の周波数逓倍率入力部、115 各機能の消費電流入力部、116 チャネル数入力部、120 GPIO/通信回路のパラメータ入力部、121 GPIOの動作タイミング入力部、122 GPIOの消費電流入力部、123 通信回路の動作周波数入力部、124 通信回路の消費電流入力部、130,140,150 入力画面、160 CPU、161 RAM、162 ROM、163 補助記憶装置、164 入力装置、165 出力装置、166 通信装置、167 リーダ・ライタ、168 バス、GND グランド、Vo 電源・グランド端子間電圧、X 動作周波数、Y 平均消費電流、5Z,Z ピーク電流値。