(58)【調査した分野】(Int.Cl.,DB名)
設計の対象回路に含まれる第1部分回路の動作時の第1消費電流値を示す第1情報と、前記対象回路に含まれ前記第1部分回路と異なる第2部分回路の電源端子であって、前記第1部分回路と同一の電源が供給される電源端子の許容電流値および前記第2部分回路の動作時の第2消費電流値に基づく余剰電流値を示す第2情報と、を記憶する記憶部を有するコンピュータが、
前記記憶部に記憶された前記第1情報が示す前記第1消費電流値と、前記記憶部に記憶された前記第2情報が示す前記余剰電流値と、を比較し、
前記第1消費電流値と前記余剰電流値との比較結果に応じて、前記対象回路において、前記第2部分回路の電源端子に供給される電源を他の回路に供給可能な前記第2部分回路の電源供給端子と、電源が供給される前記第1部分回路の電源端子と、を接続した回路を示す回路情報をレイアウト装置に生成させる制御を行う、
処理を実行することを特徴とする設計支援方法。
前記第1部分回路情報が示す前記第1部分回路の電源端子が複数設けられ、前記第2部分回路情報が示す前記第2部分回路の電源供給端子が、前記第1部分回路の電源端子に対応して設けられ、
前記第1部分回路情報が示す前記第1部分回路の電源端子の少なくともいずれかに前記第2部分回路の種類に応じた電源フィルタが設けられることを特徴とする請求項3に記載の設計支援方法。
設計の対象回路に含まれる第1部分回路の動作時の第1消費電流値を示す第1情報と、前記対象回路に含まれ前記第1部分回路と異なる第2部分回路の電源端子であって、前記第1部分回路と同一の電源が供給される電源端子の許容電流値および前記第2部分回路の動作時の第2消費電流値に基づく余剰電流値を示す第2情報と、を記憶する記憶部を有するコンピュータに、
前記記憶部に記憶された前記第1情報が示す前記第1消費電流値と、前記記憶部に記憶された前記第2情報が示す前記余剰電流値と、を比較し、
前記第1消費電流値と前記余剰電流値との比較結果に応じて、前記対象回路において、前記第2部分回路の電源端子に供給される電源を他の回路に供給可能な前記第2部分回路の電源供給端子と、電源が供給される前記第1部分回路の電源端子と、を接続した回路を示す回路情報をレイアウト装置に生成させる制御を行う、
処理を実行することを特徴とする設計支援プログラム。
【発明を実施するための形態】
【0012】
以下に添付図面を参照して、本発明にかかる設計支援方法、設計支援プログラム、および半導体集積回路の実施の形態を詳細に説明する。
【0013】
図1は、本発明にかかる設計支援方法例を示す説明図である。設計支援装置100は、半導体集積回路のレイアウト設計を支援するコンピュータである。設計支援方法は、例えば設計支援装置100が各処理を行うことである。設計の対象回路は、第1部分回路101と第2部分回路102とを有する。第1部分回路101と第2部分回路102とは、例えば、アナログIP(Intellectual Property)マクロである。
図1の例では、第1部分回路101はPLL(Phase Locked Loop)であり、第2部分回路102はHDMI(High−Definition Multimedia Interface:登録商標)である。
【0014】
従来、例えばPLLなどのアナログ回路は、設計の対象回路に含まれるコア回路部分の電源ノイズの影響によってジッタが悪化することを抑止するために、専用の電源を有する。そのため、PLLには、PLL専用の電源の入出力回路が設けられる。近年、例えば、半導体集積回路には複数のクロック系統を構築するために複数のPLLが設けられる場合があり、PLL専用の電源の入出力回路の数が増大するという問題点がある。入出力回路の数が増大すると、入出力回路による面積の増大が問題となる。また、半導体集積回路をパッケージングする際などの制約によって外部の入出力端子の数に制限がある場合、入出力回路の数が増大すると、外部の入出力端子の数の制限を超えてしまう恐れがある。
【0015】
そこで、設計支援装置100は、第2部分回路102の電源の余剰電流値Iremが第1部分回路101の動作時の最大の消費電流値以上である場合に、第1部分回路101の電源被供給端子と第2部分回路102の電源供給端子とが接続されるようにされるための支援を行う。電源被供給端子とは電源が供給される端子である。以降の例では、電源被供給端子は電源端子とする。電源供給端子は電源を他の回路に供給可能な端子である。これにより、第1部分回路101の電源の入出力回路の数の低減を可能とする。入出力回路の数が低減することによって、入出力回路による面積の増大を抑止することができる。また、外部の入出力端子の使用数の削減を図ることができる。ここでは、入出力回路をIO(Input Output)回路と称する。
【0016】
まず、設計支援装置100は記憶部103を有する。記憶部103は、例えば、設計の対象回路に含まれる第1部分回路101の動作時の第1消費電流値Ipmaxを示す第1情報104を記憶する。ここで、第1消費電流値Ipmaxは、例えば、第1部分回路101の動作時の最大消費電流値である。第1部分回路101の動作時の最大消費電流値は、例えば、設計仕様で定義された値であってもよいし、経験値などによって定まる値であってもよいし、目標値などによって定まる値であってもよい。また、第1部分回路101の動作時の最大消費電流値は、例えば、第1部分回路101の動作周波数、第1部分回路101内のセルの種類やセルの数などによって見積もられた値であってもよい。
【0017】
また、記憶部103は、余剰電流値Iremを示す第2情報105を記憶する。余剰電流値Iremは、異なる第2部分回路102の電源端子であって、第1部分回路101と同一の電源が供給される電源端子の許容電流値Imaxおよび第2部分回路102の動作時の第2消費電流値Iipに基づく値である。また、第2消費電流値Iipは、例えば、第2部分回路102の動作時の最大消費電流値である。第2部分回路102の動作時の最大消費電流値は、例えば、設計仕様で定義された値であってもよいし、経験値などによって定まる値であってもよい。また、第2部分回路102の動作時の最大消費電流値は、例えば、第2部分回路102の動作周波数、第2部分回路102内のセルの種類やセルの数などによって見積もられた値であってもよい。また、許容電流値Imaxは、例えば、第2部分回路102の電源端子を形成するメタル配線が流すことが可能な電流の量であり、対象回路を製造するための半導体プロセス技術によって定まる値である。また、余剰電流値Iremは、例えば、第2部分回路102以外の回路に流すことが可能な電源電流の値であり、許容電流値Imaxから第2消費電流値Iipを減算した値である。
【0018】
設計支援装置100は、記憶部103に記憶された第1情報104が示す第1消費電流値Ipmaxと、記憶部103に記憶された第2情報105が示す余剰電流値Iremと、を比較する。比較する処理としては、例えば、設計支援装置100は、余剰電流値Iremが第1消費電流値Ipmaxよりも所定値以上大きいか否かを判断する。例えば所定値は0以上の値であり、予め設計支援装置100の利用者などによって定められた値である。
図1の例では、所定値が0であるため、設計支援装置100は、余剰電流値Iremが第1消費電流値Ipmax以上であるか否かを判断する。
【0019】
そして、設計支援装置100は、第1消費電流値Ipmaxと余剰電流値Iremとの比較結果に応じて、対象回路において、回路106を示す回路情報をレイアウト装置に生成させる制御を行う。回路106は、第2部分回路102の電源供給端子と、第1部分回路101の電源端子と、を接続した回路である。第1部分回路101と第2部分回路102とは、回路106に示すように、第2部分回路102の電源供給端子と第1部分回路101の電源端子とが接続されるように隣接して配置される。
図1の例では、回路情報はレイアウトデータ107である。レイアウトデータ107は、物理データであって、例えば、第1部分回路101の位置と第2部分回路102の位置とを示す情報を有する。第2部分回路102の電源供給端子は、第2部分回路102の電源端子に供給される電源を他の回路に供給可能な端子であり、メタル配線などによって形成される。第1部分回路101の電源端子は、第1部分回路101に電源を供給する端子であり、メタル配線などによって形成される。
図1の例では、設計支援装置100がレイアウト装置を有するが、レイアウト装置は設計支援装置100と異なる装置であってもよい。また、
図1の例では、設計支援装置100は、余剰電流値Iremが第1消費電流値Ipmax以上である場合に、回路情報を生成する。一方、設計支援装置100は、余剰電流値Iremが第1消費電流値Ipmax以上でない場合に、回路情報を生成せずに、第2部分回路102の電源供給端子と第1部分回路101の電源端子とが接続できないことを示す情報を出力する。例えば、設計支援装置100は、ディスプレイなどにエラーメッセージを出力してもよいし、記憶部103にエラーメッセージを示す情報を記憶させてもよい。
【0020】
このように、設計支援装置100は、PLLなどの第1部分回路101の最大の動作消費電流値が第2部分回路102の電源の余剰電流値以下の場合に、第1部分回路101の電源端子と第2部分回路102の電源供給端子とを接続させるように設計する。これにより、IO回路の数の低減が可能となる。ここで、設計支援装置100の詳細な説明の前に、従来のように専用のアナログ電源用のIO回路を有するPLL例について
図2を用いて簡単に説明する。
【0021】
図2は、専用のアナログ電源用のIO回路を有するPLL例を示す説明図である。従来、例えば、設計の対象回路内に第1部分回路101であるPLLを1個設ける場合、対象回路には、PLL専用にアナログ回路用の電源IO回路がAVD(Analog VDd)とAVS(Analog VSs)との2つの電源用に2つ設けられる。
図2(1)に示すPLLは、AVD用の電源IO回路とAVS用の電源IO回路とを有する。また、
図2(2)に示すPLLは、AVD用の電源IO回路と、AVSの代わりにコア電源であるVSS用の電源IO回路と、を有する。先端のテクノロジ技術を用いた半導体集積回路においては、例えば、PLLが4〜8個程度搭載される場合もある。設計の対象回路にPLLを8個設ける場合には、対象回路には、例えば、PLL専用にアナログ回路用の電源IO回路が8〜16個設けられる。
【0022】
また、PLLなどのアナログIPマクロに電源としてVDDとVSSなどのコア電源を接続させると、対象回路に含まれるコア回路の電源によるノイズの影響によってアナログIPマクロのジッタが増加する可能性がある。これを解決するためにコア電源のノイズ除去のためにアナログIPマクロに電源フィルタを接続させるなどの対策が行われなければならないため、電源強化、面積増加などの課題が発生してしまう。
【0023】
図3は、PLLとHDMIとの接続例を示す説明図である。そこで、本実施の形態では、
図3(1)に示すように、例えば、第1部分回路101であるPLLと、第2部分回路102であるHDMIと、を接続させることによって、PLL専用の電源I/Oを削減させることができる。
【0024】
図3(2)には、PLLから出力されるクロック信号がHDMIに供給される例を示す。
図3(3)には、PLLから出力されるクロック信号がHDMIと異なる対象回路内の部分回路に供給される例を示す。このように、PLLから出力されるクロック信号の出力先であるか否かに関係なく、
図1を用いたような設計支援処理によってPLLとHDMIとを接続させる。
【0025】
つぎに、設計支援装置100のハードウェア構成例、機能ブロック例、設計支援装置100による処理の詳細例を説明する。
【0026】
(設計支援装置100のハードウェア構成例)
図4は、設計支援装置100のハードウェア構成例を示すブロック図である。
図4において、設計支援装置100は、CPU(Central Processing Unit)401と、ROM(Read Only Memory)402と、RAM(Random Access Memory)403と、ディスクドライブ404と、ディスク405と、を有している。設計支援装置100は、I/F(Inter/Face)406と、入力装置407と、出力装置408と、を有している。また、各部はバス400によってそれぞれ接続されている。
【0027】
ここで、CPU401は、設計支援装置100の全体の制御を司る。ROM402は、ブートプログラムなどのプログラムを記憶している。RAM403は、CPU401のワークエリアとして使用される。ディスクドライブ404は、CPU401の制御にしたがってディスク405に対するデータのリード/ライトを制御する。ディスク405は、ディスクドライブ404の制御で書き込まれたデータを記憶する。ディスク405としては、磁気ディスク、光ディスクなどが挙げられる。
【0028】
I/F406は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワークNETに接続され、このネットワークNETを介して他の装置に接続される。そして、I/F406は、ネットワークNETと内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F406には、例えばモデムやLANアダプタなどを採用することができる。
【0029】
入力装置407は、キーボード、マウス、タッチパネルなど利用者の操作により、各種データの入力を行うインターフェースである。また、入力装置407は、カメラから画像や動画を取り込むこともできる。また、入力装置407は、マイクから音声を取り込むこともできる。出力装置408は、CPU401の指示により、データを出力するインターフェースである。出力装置408には、ディスプレイやプリンタが挙げられる。
【0030】
(設計支援装置100の機能的構成例)
図5は、設計支援装置100の機能的構成例を示すブロック図である。設計支援装置100は、制御部501と、レイアウト部502と、記憶部103と、を有する。制御部501とレイアウト部502との処理は、例えば、
図4に示すCPU401がアクセス可能なROM402、RAM403、ディスク405などの記憶装置に記憶されたプログラムにコーディングされている。そして、CPU401が記憶装置から該プログラムを読み出して、プログラムにコーディングされている処理を実行する。これにより、制御部501の処理が実現される。また、記憶部103は、例えば、RAM403、ROM402、ディスク405などの記憶装置によって実現される。また、制御部501とレイアウト部502との処理結果は、例えば、記憶部103に記憶される。レイアウト部502は、レイアウト装置であり、例えば、P&R(Place & Route)を実行可能なアプリケーションソフトウェアによって実現される。レイアウト部502については、他の装置が有していてもよいが、本実施の形態では設計支援装置100が有することとする。
【0031】
まず、記憶部103に記憶された記憶内容について説明する。記憶部103には、
図1に示した第1情報104が記憶される。第1情報104は、設計の対象回路に含まれる第1部分回路101の動作時の第1消費電流値Ipmaxを示す。
図5の例では、第1情報104は寄生IPライブラリLib1である。第1部分回路101はアナログ回路のIPマクロである。ここでは、第1部分回路101を寄生IPマクロ101と称する。記憶部103には、
図1に示した第2情報105が記憶される。第2情報105は、電源端子の許容電流値Imaxおよび第2部分回路102の動作時の第2消費電流値Iipに基づく余剰電流値Iremを示す。許容電流値Imaxは、対象回路に含まれ寄生IPマクロ101と異なる第2部分回路102の電源端子であって、寄生IPマクロ101と同一の電源が供給される電源端子が許容する電流値である。第2部分回路102は電源用のIO回路が搭載されたアナログ回路のIPマクロである。ここで、第2部分回路102をIO搭載IPマクロ102と称する。第2情報105はIO搭載IPライブラリLib2である。
【0032】
また、記憶部103には、寄生IPマクロ101を示す第1部分回路情報と、IO搭載IPマクロ102を示す第2部分回路情報と、IO搭載IPマクロ102の電源供給端子と寄生IPマクロ101の電源端子とを接続させる接続情報と、が記憶されてある。第1部分回路情報は寄生IPライブラリLef1と物理データGDS1であり、第2部分回路情報はIO搭載IPライブラリLef2と物理データGDS2である。また、記憶部103にはライブラリCLibが記憶される。接続情報は、例えば、ライブラリCLibである。各ライブラリの詳細例を説明する前に、ライブラリ化例について簡単に説明する。
【0033】
図6は、ライブラリ化例を示す説明図である。例えば電源の供給元となるアナログIPであるIO搭載IPマクロ102には余剰電流値Iremに基づき端子が設けられ、該IO搭載IPマクロ102は余剰電流値Iremを他の回路に出力する。
図6(1)に示すように、許容電流値Imaxは電源端子の電源用の入出力回路が流せる最大の電流値であり、第2消費電流値IipはIO搭載IPマクロ102の動作時の最大の消費電流値である。
図6(1)に示すように、余剰電流値Iremは、許容電流値Imaxから第2消費電流値Iipを減算した値である。
【0034】
図6(2)の例では、1メタルパターン当たり2[mA]許容可能であると規定する。
図6(2)に示すように、IO搭載IPマクロ102に2[mA]×4のメタルパターンが、IO搭載IPマクロ102に関する物理パターンのライブラリLefに定義される。これによって、IO搭載IPマクロ102は、他のアナログIPに対して8[mA]供給可能となる。
【0035】
ライブラリLefとはマクロの物理形状を示す情報である。物理形状を示す情報は、マクロのサイズと、マクロが有する端子を示す情報と、マクロが有する端子を形成する配線層を示す情報と、を有する。
図6(2)に示すライブラリLefは、
図5に示すIO搭載IPライブラリLef2であり、詳細な例は
図8に示す。
【0036】
図6(3)に示すように、IO搭載IPマクロ102に関する論理的なライブラリLiberty(以下、「Lib」と省略する。)にIO搭載IPマクロ102が供給可能な電源について流せる電流値が定義される。これにより、P&Rにおいて接続可否の判定を行うことが可能となる。ライブラリLibとは、論理的なライブラリであって、電流源を示す情報などを有する。
図6(3)に示すライブラリLibは、
図5に示すIO搭載IPライブラリLib2であり、詳細な例は
図11に示す。
【0037】
図7は、電源フィルタを設けたアナログIP例を示す説明図である。IO搭載IPマクロ102は固有の周波数ノイズを持つため、設計者は、特定の周波数を除去するための電源フィルタを搭載した寄生IPマクロ101を予め設計しておいてもよい。搭載される電源フィルタの数は、特に限定しない。例えば、レイアウト設計において、寄生IPマクロ101の電源端子とIO搭載IPマクロ102の電源供給端子とを接続させる際に、アナログスイッチによって電源フィルタの有効と無効とが切り替えられてもよい。これにより、電源フィルタによってLPF(Low Pass Filter)が構築可能となる。
図7には、電源フィルタとして容量A〜E[pF]が搭載される例を示す。IO搭載IPマクロ102が高周波数のクロック信号で動作する高速IPである場合、使用周波数が確定していれば、設計者は、予め端子を出すパターンを決めておくことにより、高速IPの電源ノイズを除去することが可能となる。
【0038】
図8は、IO搭載IPライブラリLef2例を示す説明図である。IO搭載IPライブラリLef2は、IO搭載IPマクロ102の物理形状を示す情報である。また、IO搭載IPライブラリLef2には、余剰電流値Irem分のVDDREM端子が定義される。また、IO搭載IPライブラリLef2には、余剰電流値Irem分のVSSREM端子が定義される。
【0039】
図9は、寄生IPライブラリLef1例を示す説明図である。寄生IPライブラリLef1は、寄生IPマクロ101の物理形状を示す情報である。また、寄生IPライブラリLef1には、第1消費電流値Ipmax分のVDDREM端子が定義される。また、寄生IPライブラリLef1には、第1消費電流値Ipmax分のVSSREM端子が定義される。
【0040】
図10は、ライブラリCLib例を示す説明図である。ライブラリCLibには、IO搭載IPマクロ102の電源端子と電源との接続関係と、寄生IPマクロ101の電源端子と電源との接続関係と、が定義される。
【0041】
図11は、IO搭載IPライブラリLib2例を示す説明図である。IO搭載IPライブラリLib2は、IO搭載IPマクロ102に関する電流値などを示す情報である。また、IO搭載IPライブラリLib2には、VDDREM端子に流せる電流値が定義される。
【0042】
図12は、寄生IPライブラリLib1例を示す説明図である。寄生IPライブラリLib1は、寄生IPマクロ101に関する電流値などを示す情報である。寄生IPライブラリLib1は、VDDREM端子に供給する電流値が定義される。
【0043】
まず、制御部501は、記憶部103に記憶された寄生IPライブラリLib1が示す第1消費電流値Ipmaxと、記憶部103に記憶されたIO搭載IPライブラリLib2が示す余剰電流値Iremと、を比較する。そして、制御部501は、比較結果に応じて、対象回路において、IO搭載IPマクロ102の電源供給端子と、寄生IPマクロ101の電源端子と、を接続した回路を示す回路情報をレイアウト装置に生成させる制御を行う。IO搭載IPマクロ102の電源供給端子は、IO搭載IPマクロ102の電源端子に供給される電源を他の回路に供給可能な端子である。上述したように、本実施の形態では、設計支援装置100がレイアウト装置を有するが、これに限らず、他の装置であってもよい。ここでは、上述したようにレイアウト部502がレイアウト装置である。
【0044】
例えば、寄生IPライブラリLib1に定義されたVDDREM端子に流せる電流値が第1消費電流値Ipmaxである。例えば、IO搭載IPライブラリLib2に定義されたVDDREM端子に供給する電流値が余剰電流値Iremである。第1消費電流値Ipmaxは寄生IPマクロ101の動作時の最大消費電流値である。最大消費電流値は、例えば、設計仕様や経験値などによって定められる値である。
【0045】
また、比較する処理として、例えば、制御部501は、余剰電流値Iremが第1消費電流値Ipmaxよりも所定値以上大きいか否かを判断する。例えば所定値は、0以上の値であり、予め設計支援装置100の利用者などによって定められた値である。例えば、所定値が0であると、制御部501は、余剰電流値Iremが第1消費電流値Ipmax以上であるか否かを判断することとなる。また、例えば、所定値が1以上の値であると、制御部501は、余剰電流値Iremにマージンを持たせた値が第1消費電流値Ipmax以上であるか否かを判断することとなる。
【0046】
また、制御を行う処理として、例えば、制御部501は、記憶部103に記憶されたIO搭載IPライブラリLib2と寄生IPライブラリLib1とライブラリClibとに基づく回路情報をレイアウト装置に生成させる制御を行う。ここでの回路情報は、例えば、
図1に示したような回路106を示すレイアウトデータ107である。ここでの回路情報は、レイアウト部502によって生成される対象回路を示すレイアウトデータに含まれる。
【0047】
また、例えば、制御部501は、余剰電流値Iremが第1消費電流値Ipmaxよりも所定値大きくないと判断した場合に、回路情報をレイアウト装置に生成させる制御を行わない。そして、例えば、制御部501は、IO搭載IPマクロ102の電源供給端子と、寄生IPマクロ101の電源端子と、を接続できないことを示す情報を出力する。出力形式としては、出力装置408、記憶部103、ネットワークNETを介して他の装置などへの出力が挙げられる。より詳細な例としては、制御部501は、エラーメッセージをディスプレイなどに表示させてもよいし、エラーメッセージが記述された情報を記憶部103に記憶させてもよい。また、より詳細な例としては、制御部501は、ネットワークNETを介して他の装置の記憶装置に記憶させてもよいし、ネットワークNETを介してエラーメッセージを他の装置のディスプレイなどに表示させてもよい。
【0048】
図13は、接続例1を示す説明図である。
図13(1)に示すように、IO搭載IPマクロ102に電源供給端子を設けることによって余剰消費電流値Irem分の電源電流が外部に出力可能となる。
図13(2)に示すように、寄生IPマクロ101には、寄生IPマクロ101の第1消費電流値Ipmax分の電源電流を受けることが可能な電源端子が設けられる。例えば、寄生IPマクロ101の第1消費電流値Ipmaxが5[mA]であり、端子の許容電流値Imaxが1[mA]であれば、寄生IPマクロ101には、AVD用の電源端子とAVS用の電源端子との組合せが5つ設けられる。
図13(3)に示すように、IO搭載IPマクロ102の電源供給端子と寄生IPマクロ101の電源端子とが接続される。
【0049】
図14は、接続例2を示す説明図である。
図14では、IO搭載IPマクロ102の電源供給端子の配線パターンをルール化しておく例を示す。上述したように、IO搭載IPマクロ102が高速IPマクロであると、IO搭載IPマクロ102は規格化された周波数で動作する。そのため、周波数に応じてIO搭載IPマクロ102の電源ノイズ量が定まる。
【0050】
例えば、HDMIの動作周波数は74.25[MHz]、148.5[MHz]のクロック信号であり、USB(Universal Serial Bus)2.0の動作周波数は480[MHz]である。そこで、例えば、
図14に示すように、設計者は、HDMIの電源供給端子をメタルパターン1とし、USB2.0の電源供給端子をメタルパターン2としてルール化しておく。ルール化しておくとは、例えば、設計者が、IO搭載IPマクロ102の種類に応じた電源供給端子のメタルパターンを示す情報を物理データGDS2として予め用意しておくことである。また、ルール化しておくとは、設計者が、IO搭載IPマクロ102の種類ごとにメタルパターンに従った電源供給端子をIO搭載IPライブラリLef2に定義しておくことである。また、
図14に示すように、IO搭載IPマクロ102の電源端子からIO搭載IPマクロ102の電源供給端子までの間のメタルパターンは共通のレイアウトパターンとする。共通のレイアウトパターンとするとは、例えば、IO搭載IPマクロ102の電源端子とIO搭載IPマクロ102の電源供給端子との間のメタルパターンを示す情報を物理データGDS2として予め用意しておくことである。これにより、IO搭載IPマクロ102の種類に応じて使用する電源供給端子の数を変更可能である。したがって、レイアウト設計の容易化を図ることができる。
【0051】
図15は、接続例3を示す説明図である。上述したように、IO搭載IPマクロ102が高速IPマクロであると、IO搭載IPマクロ102は規格化された周波数で動作する。そのため、周波数に応じてIO搭載IPマクロ102の電源ノイズ量が定まる。そこで、
図15(1)に示すように、設計者は、電源フィルタが搭載された寄生IPマクロ101を示すレイアウトパターンを示す情報を物理データGDS1として予め用意しておく。また、
図15(1)に示すように、設計者は、IO搭載IPマクロ102の種類ごとに電源端子のメタルパターンを示す情報を物理データGDS1として予め用意しておく。これにより、寄生IPマクロ101に電源フィルタが搭載されたレイアウトパターンと、IO搭載IPマクロ102の種類に応じて選択されたメタルパターンと、によってIO搭載IPマクロ102の種類に応じた電源フィルタが実現可能である。したがって、レイアウト設計の容易化を図ることができる。例えば、
図15(1)に示すように、HDMI用のメタルパターン1が選択されると、電源フィルタAと電源フィルタDと電源フィルタEとが有効となるレイアウトパターンが実現可能である。
【0052】
図15(2)には、IO搭載IPマクロ102がHDMIの場合におけるIO搭載IPマクロ102と寄生IPマクロ101との接続例を示す。
図15(2)に示すように、例えば、IO搭載IPマクロ102の電源供給端子の数に応じて寄生IPマクロ101に搭載される電源フィルタの数が決定されてもよい。
【0053】
また、
図15(3)に示すように、IO搭載IPマクロ102の電源供給端子のメタルパターンが複数用意され、IO搭載IPマクロ102の電源供給端子のメタルパターンによってIO搭載IPマクロ102の種類に応じた電源フィルタが実現されてもよい。
【0054】
また、
図15(4)に示すように、IO搭載IPマクロ102の電源供給端子のメタルパターンと、寄生IPマクロ101の電源端子のメタルパターンと、の各々が複数用意される。IO搭載IPマクロ102の電源供給端子のメタルパターンと各メタルパターンによってIO搭載IPマクロ102の種類に応じた電源フィルタが実現されてもよい。
【0055】
図16は、接続例4を示す説明図である。
図16に示すように、寄生IPマクロ101の電源端子の各々にアナログスイッチswA〜swEが設けられてもよい。
図16に示すように、各アナログスイッチは、対応する制御端子を有し、制御端子において制御信号を受けることによって、そのオン・オフが制御される。制御信号に基づいてアナログスイッチのオン・オフが制御されることによって、IO搭載IPマクロ102が決定された後に、利用する電源フィルタが決定可能となる。
【0056】
図17は、電源フィルタ制御設定例1を示す説明図である。例えば、寄生IPマクロ101の物理データGDS1および寄生IPライブラリLef1において、寄生IPマクロ101は、電源フィルタを制御するための制御端子を有する。また、例えば、IO搭載IPマクロ102の物理データGDS2およびIO搭載IPライブラリLef2において、IO搭載IPマクロ102は、AVDまたはAVSのいずれかに接続可能な制御端子を有する。
図17に示すように、寄生IPマクロ101とIO搭載IPマクロ102とが接続されることによって電源フィルタの有効と無効とが切り替え可能となる。例えば、IO搭載IPマクロ102の制御端子にAVDが接続されることによって当該制御端子に対応する電源フィルタが有効となる。例えば、IO搭載IPマクロ102の制御端子にAVSが接続されることによって当該制御端子に対応する電源フィルタが無効となる。
【0057】
図17の例では、寄生IPマクロ101の制御端子のうち、電源フィルタAと電源フィルタDと電源フィルタEとの制御端子にAVDが供給される。
図17の例では、寄生IPマクロ101の制御端子のうち、電源フィルタBの制御端子と電源フィルタCとの制御端子とにAVSが供給される。したがって、
図17の例では、電源フィルタAと電源フィルタDと電源フィルタEとが有効となり、電源フィルタBと電源フィルタCとが無効となる。
【0058】
図18は、電源フィルタ制御設定例2を示す説明図である。設計者は、例えば、寄生IPマクロ101には電源フィルタの設定用のメタルパターンを示す情報として物理データGDS1を用意しておく。また、設計者は、IO搭載IPマクロ102の種類ごとにビアパターンを示す情報として物理データGDS1と寄生IPライブラリLef1とを用意しておく。
図18に示すように、接続させるIO搭載IPマクロ102の種類に応じたビアパターンが選択され、選択されたビアパターンと電源フィルタ設定用のメタルパターンとが重なるように設計される。これにより、寄生IPマクロ101の電源フィルタの各々の有効と無効とが設定可能となる。
【0059】
図19は、複数の寄生IPマクロ101とIO搭載IPマクロ102との接続例を示す説明図である。
図19に示すように、IO搭載IPマクロ102の余剰電流値Imaxが複数の寄生IPマクロ101の第1消費電流値Ipmaxの合計値以上である場合、複数の寄生IPマクロ101とIO搭載IPマクロ102とが接続されるように設計されてもよい。
【0060】
(本実施の形態にかかる設計処理手順例)
図20は、設計支援処理手順例を示すフローチャート(その1)である。まず、設計者は、入力装置407を介して記憶部103の記憶内容に対して追加や変更などの操作を行う。設計者は、IO搭載IPマクロ102の設計が終了すると、IO搭載IPマクロ102の余剰電流値Iremを抽出する(ステップS2001)。上述したように、余剰電流値Iremは、許容電流値Imaxから第2消費電流値Iipを減算した値である。つぎに、設計者は、電源供給端子に流せる余剰電流値IremをIO搭載IPライブラリLib2に定義する(ステップS2002)。そして、設計者は、余剰電流値Irem分の電源供給端子をIO搭載IPライブラリLef2のIPマクロ枠に定義する(ステップS2003)。
【0061】
また、設計者は、寄生IPマクロ101の動作の第1消費電流値Ipmaxを抽出する(ステップS2004)。例えば、第1消費電流値Ipmaxは、寄生IPマクロ101のセルの種類および数や動作時の周波数などによって抽出される。そして、設計者は、電源端子に供給する第1消費電流値Ipmaxを寄生IPライブラリLib1に定義する(ステップS2005)。設計者は、第1消費電流値Ipmax分の電源端子を寄生IPライブラリLef1のマクロ枠に定義する(ステップS2006)。
【0062】
また、設計者は、各IPマクロと各IPマクロの電源接続関係とをライブラリCLibに定義する(ステップS2007)。
【0063】
設計支援装置100は、ライブラリCLibを参照することによって、電源接続に問題がないかを確認する(ステップS2008)。電源接続に問題があると判断された場合(ステップS2008:問題あり)、設計支援装置100は、エラーを出力し(ステップS2009)、ステップS2007へ戻る。電源接続に問題がないと判断された場合(ステップS2008:問題なし)、設計支援装置100は、「余剰電流値Irem−第1消費電流値Ipmax≧0[mA]」であるか否かを判断する(ステップS2010)。
【0064】
「余剰電流値Irem−第1消費電流値Ipmax≧0[mA]」でないと判断された場合(ステップS2010:No)、設計支援装置100は、エラーを出力し(ステップS2011)、ステップS2002へ戻る。「余剰電流値Irem−第1消費電流値Ipmax≧0[mA]」であると判断された場合(ステップS2010:Yes)、設計支援装置100は、P&Rを行い(ステップS2012)、レイアウト設計の一連の処理を終了する。上述したように、本実施の形態では、設計支援装置100がレイアウト装置である。
【0065】
図21は、設計支援処理手順例を示すフローチャート(その2)である。ここで、設計者が入力装置を介して記憶部103の記憶内容を追加や変更などの操作を行う。また、
図21には、寄生IPマクロ101がHDMIに接続される例を示す。設計者は、IO搭載IPマクロ102の設計終了後に、IO搭載IPマクロ102の種類ごとのメタルパターンルールに従い電源供給端子を物理データGDS2およびIO搭載IPライブラリLef2のマクロ枠に定義する(ステップS2101)。設計者は、寄生IPマクロ101の設計終了後に、IO搭載IPマクロ102の種類ごとにメタルパターンを物理データGDS1および寄生IPライブラリLef1のマクロ枠に定義する(ステップS2102)。設計者は、各IPマクロと各IPマクロの電源接続関係とを定義する(ステップS2103)。
【0066】
また、設計支援装置100は、ライブラリCLibとマクロ名とに基づき物理データGDS1,GDS2と寄生IPライブラリLef1,Lef2とを選択する(ステップS2104)。設計支援装置100は、ライブラリCLibとマクロ名とに応じた物理データGDS1,GDS2と寄生IPライブラリLef1,Lef2とが記憶部103にあるか否かを判断する(ステップS2105)。物理データGDS1,GDS2と寄生IPライブラリLef1,Lef2とが記憶部103にないと判断された場合(ステップS2105:No)、設計支援装置100は、エラーを出力し(ステップS2106)、ステップS2101〜ステップS2103へ戻る。
【0067】
物理データGDS1,GDS2と寄生IPライブラリLef1,Lef2とが記憶部103にあると判断された場合(ステップS2105:Yes)、設計支援装置100は、P&Rを行い(ステップS2107)、レイアウト設計の一連の処理を終了する。
【0068】
図22は、設計支援処理手順例を示すフローチャート(その3)である。ここで、設計者が入力装置を介して記憶部103の記憶内容を追加や変更などの操作を行う。また、
図22には、寄生IPマクロ101がHDMIに接続される例を示す。設計者は、IO搭載マクロの種類ごとに、ビア/メタルパターンを定義する(ステップS2201)。ビア/メタルパターンが定義される例は、
図18に示した例である。つぎに、設計者は、各IPマクロと電源接続関係とを定義する(ステップS2202)。
【0069】
設計支援装置100は、ライブラリCLibに基づいて、寄生IPマクロ101の物理データGDSとIO搭載IPマクロ102に対応するビアパターン/メタルパターンを示す物理データとライブラリとを選択する(ステップS2203)。ここで選択されるライブラリは、HDMI用の寄生IPライブラリLef1_hdmiであり、選択される物理データは物理データGDS1_hdmiである。設計支援装置100は、ライブラリCLibと各物理データGDSと各ライブラリLefとがあるか否かを判断する(ステップS2204)。
【0070】
ライブラリCLibと物理データGDSとライブラリLefとがないと判断された場合(ステップS2204:No)、設計支援装置100は、エラーを出力し(ステップS2205)、ステップS2201、ステップS2202へ戻る。ライブラリCLibと物理データGDSとライブラリLefとがあると判断された場合(ステップS2204:Yes)、設計支援装置100は、P&Rを行い(ステップS2206)、レイアウト設計の一連の処理を終了する。
【0071】
また、
図1、
図3、
図7、
図13〜
図19などに示すレイアウトデータを用いて製造することによって半導体集積回路が得られる。
【0072】
以上説明したように、設計支援装置100は、寄生IPマクロの第1消費電流値とIO搭載IPマクロの余剰電流値との比較結果に応じて、寄生IPマクロの電源端子とIO搭載IPマクロの電源供給端子とを接続させるように設計する。これにより、IO搭載IPマクロから寄生IPマクロに電源を供給可能となる。したがって、寄生IPマクロのIO回路の数の低減を可能とする。
【0073】
また、比較する処理において、設計支援装置100は、余剰電流値が第1消費電流値よりも所定値以上大きいと判断した場合に、回路情報をレイアウト装置に生成させる制御を行う。このように、IO搭載IPマクロから電源を寄生IPマクロに供給した場合にIO搭載IPマクロと寄生IPマクロとの両方が動作可能であると判断された場合にだけ、IO搭載IPマクロから寄生IPマクロに電源を供給可能となる。これにより、動作の保証を検証しつつ、寄生IPマクロのIO回路の数の低減を可能とする。
【0074】
また、設計支援装置100は、余剰電流値が第1消費電流値よりも所定値以上大きくないと判断した場合に、回路情報を生成させる制御を行わずに、エラー情報を出力する。これにより、IO搭載IPマクロと寄生IPマクロとが接続された場合にいずれも動作しない可能性があることを設計者が容易に判別可能となる。したがって、設計の容易化を図ることができる。
【0075】
また、回路情報を生成する制御を行う処理において、設計支援装置100は、寄生IPマクロを示す第1部分回路情報と、IO搭載IPマクロを示す第2部分回路情報とに基づく回路情報を生成させる制御を行う。
【0076】
また、IO搭載IPマクロはIO搭載IPマクロの電源端子に対応するIO回路を有し、寄生IPマクロは寄生IPマクロの電源端子に対応するIO回路を有さない。したがって、寄生IPマクロのIO回路数の低減を図ることができる。
【0077】
また、寄生IPマクロの電源端子にIO搭載IPマクロに応じた電源フィルタが設けられる。これにより、寄生IPマクロに供給される電源のノイズを抑止することができる。
【0078】
また、第1部分回路情報が示す寄生IPマクロは、寄生IPマクロの電源端子の各々に電源フィルタを有し、設計支援装置は、電源フィルタの有効と無効とをIO搭載IPマクロの種類に応じて決定した回路情報を生成する。これにより、寄生IPマクロに供給される電源のノイズを抑止することができる。
【0079】
また、設計支援装置100は、さらに、IO搭載IPマクロの種類に応じた電源フィルタが有効となるような配線であって、IO搭載IPマクロの電源供給端子と寄生IPマクロの電源端子とを接続可能な配線を示す配線情報に基づいて、レイアウトを行う。このように、IO搭載IPマクロの種類に応じていずれの電源フィルタを有効にするかをライブラリ化しておく。これにより、搭載される電源フィルタの数を変更せずにIO搭載IPマクロの種類に応じた電源フィルタを実現でき、レイアウト設計の容易化を図ることができる。
【0080】
また、第1部分回路情報が示す寄生IPマクロは、寄生IPマクロに設けられる電源フィルタの各々に電源フィルタの有効と無効とを切り替え可能なアナログスイッチを有する。これにより、搭載される電源フィルタの数を変更せずにIO搭載IPマクロの種類に応じた電源フィルタが実現可能となる。したがって、レイアウト設計の容易化を図ることができる。
【0081】
また、第2部分回路情報が示すIO搭載IPマクロは、寄生IPマクロに設けられる電源フィルタからIO搭載IPマクロの種類に応じた電源フィルタを有効とできるようにアナログスイッチを制御可能な電源配線を有する。このように、電源配線に応じて制御可能なようにライブラリ化しておくことによって、IO搭載IPマクロの種類に応じた電源配線を示す配線情報をレイアウト装置に与えるだけでアナログスイッチが切り替え可能となる。これにより、搭載される電源フィルタの数を変更せずにIO搭載IPマクロの種類に応じた電源フィルタが実現可能となる。したがって、レイアウト設計の容易化を図ることができる。
【0082】
また、寄生IPマクロに設けられる電源フィルタのうちIO搭載IPマクロの種類に応じた電源フィルタを有効とするアナログスイッチを制御可能なビアを示すビア情報を記憶部に格納しておく。設計支援装置100は、さらに、ビア情報に基づいてレイアウトを行う。これにより、搭載される電源フィルタの数を変更せずにIO搭載IPマクロの種類に応じた電源フィルタが実現可能となる。したがって、レイアウト設計の容易化を図ることができる。
【0083】
以上説明したように、本実施の形態にかかる半導体集積回路では、第1部分回路の電源端子と第2部分回路の電源供給端子とが接続される。そして、半導体集積回路は、第1部分回路の電源端子の各々に対応する電源フィルタと、電源フィルタの各々の有効と無効とを切り替え可能なアナログスイッチを有する。複数の電源フィルタのうち前記第2部分回路の種類に応じて電源フィルタを有効とするようにアナログスイッチが設定されることによって、電源のIO回路の数が低減でき、電源ノイズ量を抑止可能である。
【0084】
なお、本実施の形態で説明した設計支援方法は、予め用意された設計支援プログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本設計支援プログラムは、磁気ディスク、光ディスク、USBフラッシュメモリなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、設計支援プログラムは、インターネット等のネットワークを介して配布してもよい。
【0085】
上述した実施の形態に関し、さらに以下の付記を開示する。
【0086】
(付記1)設計の対象回路に含まれる第1部分回路の動作時の第1消費電流値を示す第1情報と、前記対象回路に含まれ前記第1部分回路と異なる第2部分回路の電源端子であって、前記第1部分回路と同一の電源が供給される電源端子の許容電流値および前記第2部分回路の動作時の第2消費電流値に基づく余剰電流値を示す第2情報と、を記憶する記憶部を有するコンピュータが、
前記記憶部に記憶された前記第1情報が示す前記第1消費電流値と、前記記憶部に記憶された前記第2情報が示す前記余剰電流値と、を比較し、
前記第1消費電流値と前記余剰電流値との比較結果に応じて、前記対象回路において、前記第2部分回路の電源端子に供給される電源を他の回路に供給可能な前記第2部分回路の電源供給端子と、電源が供給される前記第1部分回路の電源端子と、を接続した回路を示す回路情報をレイアウト装置に生成させる制御を行う、
処理を実行することを特徴とする設計支援方法。
【0087】
(付記2)前記比較する処理では、前記余剰電流値が前記第1消費電流値よりも所定値以上大きいか否かを判断し、
前記制御を行う処理では、前記余剰電流値が前記第1消費電流値よりも前記所定値以上大きいと判断した場合に、前記回路情報を前記レイアウト装置に生成させる制御を行うことを特徴とする付記1に記載の設計支援方法。
【0088】
(付記3)前記コンピュータが、
前記余剰電流値が前記第1消費電流値よりも前記所定値以上大きくないと判断した場合に、前記回路情報を前記レイアウト装置に生成させる制御を行う処理を実行せずに、前記第2部分回路の電源供給端子と前記第1部分回路の電源端子とが接続できないことを示す情報を出力する処理を実行することを特徴とする付記2に記載の設計支援方法。
【0089】
(付記4)前記記憶部には、さらに、前記第1部分回路を示す第1部分回路情報と、前記第2部分回路を示す第2部分回路情報と、が記憶されてあり、
前記制御を行う処理では、前記記憶部に記憶された前記第1部分回路情報と前記第2部分回路情報とに基づく前記回路情報を前記レイアウト装置に生成させる制御を行うことを特徴とする付記1または2に記載の設計支援方法。
【0090】
(付記5)前記第2部分回路情報が示す前記第2部分回路は、前記第2部分回路の電源端子に対応する入出力回路を有し、前記第1部分回路情報が示す前記第1部分回路は、前記第1部分回路の電源端子に対応する入出力回路を有さないことを特徴とする付記4に記載の設計支援方法。
【0091】
(付記6)前記第1部分回路情報が示す前記第1部分回路の電源端子が複数設けられ、前記第2部分回路情報が示す前記第2部分回路の電源供給端子が、前記第1部分回路の電源端子に対応して設けられ、
前記第1部分回路情報が示す前記第1部分回路の電源端子の少なくともいずれかに前記第2部分回路の種類に応じた電源フィルタが設けられることを特徴とする付記4に記載の設計支援方法。
【0092】
(付記7)前記第1部分回路の電源端子の各々に前記電源フィルタが設けられ、
前記記憶部には、さらに、前記第1部分回路に設けられる前記電源フィルタから前記第2部分回路の種類に応じて選択した電源フィルタが有効となる配線であって、前記第1部分回路の電源端子と前記第2部分回路の電源供給端子とを接続可能な配線を示す配線情報を記憶し、
前記レイアウト装置を制御する処理では、さらに、前記記憶部に記憶された前記配線情報に基づいて、前記回路情報を前記レイアウト装置に生成させる制御を行うことを特徴とする付記6に記載の設計支援方法。
【0093】
(付記8)前記第1部分回路の電源端子の各々に前記電源フィルタが設けられ、
前記第1部分回路情報が示す前記第1部分回路は、前記第1部分回路に設けられる前記電源フィルタの各々に対応するアナログスイッチであって、前記電源フィルタの有効と無効とを切り替え可能なアナログスイッチを有し、
前記第2部分回路情報が示す前記第2部分回路は、前記第1部分回路に設けられる前記電源フィルタから前記第2部分回路の種類に応じて選択した電源フィルタが有効となるように前記アナログスイッチを制御可能な配線を有することを特徴とする付記6に記載の設計支援方法。
【0094】
(付記9)前記第1部分回路の電源端子の各々に前記電源フィルタが設けられ、
前記第1部分回路情報が示す前記第1部分回路は、前記第1部分回路に設けられる前記電源フィルタの各々に対応するアナログスイッチであって、前記電源フィルタの有効と無効とを切り替え可能なアナログスイッチを有し、
前記記憶部には、さらに、前記第1部分回路に設けられる前記電源フィルタから前記第2部分回路の種類に応じて選択した電源フィルタが有効となるように前記アナログスイッチを制御可能なビアを示すビア情報を記憶し、
前記制御を行う処理では、さらに、前記記憶部に記憶された前記ビア情報に基づいて、前記回路情報を前記レイアウト装置に生成させる制御を行うことを特徴とする付記6に記載の設計支援方法。
【0095】
(付記10)前記コンピュータは前記レイアウト装置を有することを特徴とする付記1〜9のいずれか一つに記載の設計支援方法。
【0096】
(付記11)設計の対象回路に含まれる第1部分回路の動作時の第1消費電流値を示す第1情報と、前記対象回路に含まれ前記第1部分回路と異なる第2部分回路の電源端子であって、前記第1部分回路と同一の電源が供給される電源端子の許容電流値および前記第2部分回路の動作時の第2消費電流値に基づく余剰電流値を示す第2情報と、を記憶する記憶部を有するコンピュータに、
前記記憶部に記憶された前記第1情報が示す前記第1消費電流値と、前記記憶部に記憶された前記第2情報が示す前記余剰電流値と、を比較し、
前記第1消費電流値と前記余剰電流値との比較結果に応じて、前記対象回路において、前記第2部分回路の電源端子に供給される電源を他の回路に供給可能な前記第2部分回路の電源供給端子と、電源が供給される前記第1部分回路の電源端子と、を接続した回路を示す回路情報をレイアウト装置に生成させる制御を行う、
処理を実行することを特徴とする設計支援プログラム。
【0097】
(付記12)第1部分回路と、
前記第1部分回路と異なる第2部分回路と、
を有する半導体集積回路であって、
前記第2部分回路の電源端子に供給される電源を他の回路に供給する前記第2部分回路の電源供給端子と、電源が供給される前記第1部分回路の電源端子と、が接続され、
前記第1部分回路は、
前記第1部分回路の電源端子の各々に設けられる電源フィルタと、
前記電源フィルタの各々の有効と無効とを切り替え可能なアナログスイッチと、
を有することを特徴とする半導体集積回路。
【0098】
(付記13)前記アナログスイッチは、
前記電源フィルタの有効と無効との切り替えを制御するための制御信号を受ける制御端子を有し、
前記第2部分回路は、
前記制御信号を生成する配線を有し、
前記第1部分回路は、
前記配線と前記制御端子とを接続する接続配線を有することを特徴とする付記12に記載の半導体集積回路。
【0099】
(付記14)前記アナログスイッチは、
前記電源フィルタの有効と無効との切り替えを制御するための制御信号を受ける制御端子を有し、
前記第1部分回路は、
前記制御信号を生成する配線と、前記配線と前記制御端子とを接続する接続配線を有することを特徴とする付記12に記載の半導体集積回路。