JP5408264B2 - 集積回路消費電力計算装置,処理方法およびプログラム - Google Patents

集積回路消費電力計算装置,処理方法およびプログラム Download PDF

Info

Publication number
JP5408264B2
JP5408264B2 JP2011545844A JP2011545844A JP5408264B2 JP 5408264 B2 JP5408264 B2 JP 5408264B2 JP 2011545844 A JP2011545844 A JP 2011545844A JP 2011545844 A JP2011545844 A JP 2011545844A JP 5408264 B2 JP5408264 B2 JP 5408264B2
Authority
JP
Japan
Prior art keywords
circuit
information
integrated circuit
circuit component
power consumption
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.)
Active
Application number
JP2011545844A
Other languages
English (en)
Other versions
JPWO2011074029A1 (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
Publication of JPWO2011074029A1 publication Critical patent/JPWO2011074029A1/ja
Application granted granted Critical
Publication of JP5408264B2 publication Critical patent/JP5408264B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/06Power analysis or power optimisation
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/0001Technical content checked by a classifier
    • H01L2924/0002Not covered by any one of groups H01L24/00, H01L24/00 and H01L2224/00

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

本願発明は,集積回路消費電力計算装置,処理方法およびプログラムに関する。
LSI(Large Scale Integrated circuit)等の集積回路の設計段階において集積回路の消費電力を求める場合に,以下のようにして行っていた。
集積回路の論理シミュレーション処理を行って求めた集積回路を構成するセル毎の入出力信号端子の信号遷移パターン情報と,セル毎に回路シミュレーション処理(例えばSPICE:Simulation Program with Integrated Circuit Emphasis)を行って求めた入出力端子の信号遷移状態別のセル電力情報と,セル間の配線情報とが,消費電力計算処理の入力情報として取得される。
そして,各セルの入出力端子の信号遷移から消費電力を求めて,さらに,配線情報に基づいて次段セルへの信号伝播の計算と負荷容量の電力計算を行なう。このような電力計算処理を,集積回路内の全回路の全信号遷移情報について行って電力の合計を求めることによって,集積回路全体の消費電力を計算していた。
従来手法の一例として,LSIに含まれるSRAM(Static Random Access Memory)マクロ等の大規模回路ブロック(メガセル)を含む集積回路の消費電力計算の場合に,メガセル毎の入力端子の状態別の消費電力を求めておき,メガセルの消費電力と論理シミュレーション処理結果とを組み合わせて集積回路の消費電力計算を行なうものがある。
また,従来手法の別の一例として,インバータ回路(否定回路),AND回路(論理積回路),NAND回路(否定的論理積回路),OR回路(論理和回路),NOR回路(非敵的論理和回路)等の基本回路(基本セル)の遷移動作毎の消費電力を求めておき,論理シミュレーションを行って各基本回路の遷移動作の回数を取得して,所定の論理回路のパラメータをもとに,遷移動作別の消費電力と遷移動作回数とから全体の消費電力を計算するものがある。
さらに,従来手法の別の一例として,回路の消費電力情報を保持しておき,回路の出力が変化しない場合の消費電力と回路出力が変化する場合の消費電力とを求めて,回路の入力が変化した場合に,入力変化に応じた単位時間当たりの出力の変化数に対応する係数に基づいて基本回路の消費電力を求めるものがある。
特開平10−11482号公報 特開平5−126872号公報 特開2000−148833号公報
従来手法では,セルの規模によって生じる回路の複雑さに対応して消費電力計算の精度を確保することが考慮されていなかった。そのため,大規模な回路全体がトランジスタレベルで設計されているセルの消費電力計算の計算精度が低下してしまうという問題があった。すなわち,従来手法では,セル全体について一括してトランジスタの動作シミュレーションを行わなければならない。しかし,たとえば64ビット加算器のように,セルの入出力端子数が非常に多くなると,セルの入出力のすべての状態の組み合わせ数が膨大になって,シミュレーションの処理時間が非常に長くなってしまい,入出力信号の遷移状態別の消費電力を計算することが現実的に困難であった。
また,セル内のトランジスタ数が多くなると,入出力信号の遷移状態別の回路シミュレーション処理(例えばSPICEシミュレーション処理)の処理時間がさらに膨大なものとなるため,回路の論理シミュレーション処理による電力計算は現実的に不可能であった。
さらに,複数のラッチを含むラッチアレイのように内部状態を保持する回路が多数入っているセルの場合には,同一の入力信号遷移であっても,保持されている内部状態の相違によって内部動作が異なるために,入出力信号の遷移状態だけではセルの消費電力を正しく求めることができなかった。
従来手法として,メガセルについて状態別の消費電力を求める手法があるが,状態の分類は,メガセル内部の全ての状態に対応するものではなく,機能別などの代表的な動作毎に分類して電力を求めていた。そのため,メガセル内部の詳細な状態の差異による消費電力の違いを顕現できず,消費電力計算の精度が低くなっていた。
本発明は,大規模なセルを搭載した集積回路の消費電力計算処理において,その消費電力計算の精度を向上させることを目的とする。
本発明の実施の一態様として開示する集積回路消費電力計算装置は,集積回路が含む回路間の接続関係を示す集積回路接続情報を記憶する集積回路接続情報記憶部と,前記集積回路を構成する各セルが含むトランジスタ間の接続関係を示すトランジスタ接続情報を記憶するトランジスタ接続情報記憶部と,前記集積回路の論理シミュレーションに用いられる信号入力パターンを示す入力パターン情報を記憶する入力パターン情報記憶部と,前記集積回路の前記トランジスタ間の配線を示すセル間配線情報を記憶する配線情報記憶部と,前記トランジスタ接続情報に基づいて,前記集積回路の各セルについて,前記各セルが含むいずれかのトランジスタのソース端子およびドレイン端子を経由して接続されるトランジスタ同士をまとめて同一の回路部品として特定して,該特定した回路部品毎の前記トランジスタの接続関係を示す回路部品トランジスタ接続情報を出力する回路分割部と,前記回路部品トランジスタ接続情報から前記回路部品毎に論理を抽出して,該抽出した回路部品毎の論理を示す回路部品論理モデル情報を出力する論理抽出部と,前記回路部品トランジスタ接続情報に基づいて,前記回路部品毎に入出力端子の信号遷移状態別の電力情報を取得して,前記回路部品毎の電力情報である回路部品電力情報を出力する電力計算部と,前記集積回路接続情報と前記入力パターン情報と前記回路部品論理モデル情報とに基づいて,前記集積回路の前記回路部品各々について論理シミュレーションを行って,前記回路部品毎の入出力端子の信号遷移を示す信号端子遷移情報を生成する論理シミュレーション部と,前記集積回路接続情報と前記信号端子遷移情報と前記回路部品論理モデル情報と前記回路部品電力情報とに基づいて,前記回路部品毎の前記入出力端子の信号遷移における消費電力を求めて,前記セル間配線情報に基づいて求めた前記回路部品の消費電力をもとに前記集積回路の消費電力を求める集積回路消費電力計算部とを備えることを特徴とする。
また,本発明の実施の別の態様として開示する集積回路消費電力計算処理方法は,前記集積回路消費電力計算装置において,集積回路の消費電力を計算する場合に,集積回路が含む回路間の接続関係を示す集積回路接続情報と,前記集積回路を構成する各セルが含むトランジスタ間の接続関係を示すトランジスタ接続情報と,前記集積回路の論理シミュレーションに用いられる信号入力パターンを示す入力パターン情報と,前記集積回路の前記トランジスタ間の配線を示すセル間配線情報を記憶する情報処理部を備えるコンピュータが実行する処理方法であって,前記トランジスタ接続情報に基づいて,前記集積回路の各セルについて,前記各セルが含むいずれかのトランジスタのソース端子およびドレイン端子を経由して接続されるトランジスタ同士をまとめて同一の回路部品として特定するステップと,前記特定した回路部品毎の前記トランジスタの接続関係を示す回路部品トランジスタ接続情報を出力するステップと,前記回路部品トランジスタ接続情報から前記回路部品毎に論理を抽出して,該抽出した回路部品毎の論理を示す回路部品論理モデル情報を出力するステップと,前記回路部品トランジスタ接続情報に基づいて,前記回路部品毎に入出力端子の信号遷移状態別の電力情報を取得して,前記回路部品毎の電力情報である回路部品電力情報を出力するステップと,前記集積回路接続情報と前記入力パターン情報と前記回路部品論理モデル情報とに基づいて,前記集積回路の前記回路部品各々について論理シミュレーションを行って,前記回路部品毎の入出力端子の信号遷移を示す信号端子遷移パターン情報を生成するステップと,前記集積回路接続情報と前記信号端子遷移情報と前記回路部品論理モデル情報と前記回路部品電力情報とに基づいて,前記回路部品毎の前記入出力端子の信号遷移における消費電力を求めて,前記セル間配線情報に基づいて求めた前記回路部品の消費電力をもとに前記集積回路の消費電力を求めるステップとを,コンピュータに実行させることを特徴とする。
また,本発明の実施の別の態様として開示する集積回路消費電力計算処理プログラムは,前記集積回路消費電力計算装置において,集積回路の消費電力を計算する場合に,集積回路が含む回路間の接続関係を示す集積回路接続情報と,前記集積回路を構成する各セルが含むトランジスタ間の接続関係を示すトランジスタ接続情報と,前記集積回路の論理シミュレーションに用いられる信号入力パターンを示す入力パターン情報と,前記集積回路の前記トランジスタ間の配線を示すセル間配線情報を記憶する情報処理部を備えるコンピュータに,前記トランジスタ接続情報に基づいて,前記集積回路の各セルについて,前記各セルが含むいずれかのトランジスタのソース端子およびドレイン端子を経由して接続されるトランジスタ同士をまとめて同一の回路部品として特定するステップと,前記特定した回路部品毎の前記トランジスタの接続関係を示す回路部品トランジスタ接続情報を出力するステップと,前記回路部品トランジスタ接続情報から前記回路部品毎に論理を抽出して,該抽出した回路部品毎の論理を示す回路部品論理モデル情報を出力するステップと,前記回路部品トランジスタ接続情報に基づいて,前記回路部品毎に入出力端子の信号遷移状態別の電力情報を取得して,前記回路部品毎の電力情報である回路部品電力情報を出力するステップと,前記集積回路接続情報と前記入力パターン情報と前記回路部品論理モデル情報とに基づいて,前記集積回路の前記回路部品各々について論理シミュレーションを行って,前記回路部品毎の入出力端子の信号遷移を示す信号端子遷移パターン情報を生成するステップと,前記集積回路接続情報と前記信号端子遷移情報と前記回路部品論理モデル情報と前記回路部品電力情報とに基づいて,前記回路部品毎の前記入出力端子の信号遷移における消費電力を求めて,前記セル間配線情報に基づいて求めた前記回路部品の消費電力をもとに前記集積回路の消費電力を求めるステップとを
実行させるものである。
また,本発明は,さらに別の実施の態様において,前記の集積回路消費電力計算プログラムをコンピュータが読み取り可能な記録媒体に格納した記録媒体であってもよい。
本発明の一態様として開示する集積回路消費電力計算装置は,入出力端子数やトランジスタ数が多いセル,内部に多数の論理状態を保持するセル等を含めて,集積回路を構成するセル毎に,セル内部をさらに回路部品に分割して,分割した回路部品ごとに消費電力を求めることによってセルの消費電力を求める。これにより,開示される集積回路消費電力計算装置は,セルの入出力端子の状態だけから消費電力を計算する処理に比べて,より高精度に集積回路の消費電力を計算することができる。よって,大規模なセルを搭載した集積回路の消費電力の見積もり精度を向上させることができる。
実施の一形態として開示する集積回路消費電力計算装置の構成例を示す図である。 実施の一形態において,集積回路消費電力計算装置の処理対象の集積回路を構成する1つのセルにおけるトランジスタの構成および配置を示す図である。 実施の一形態において,処理対象の集積回路を構成する,ラッチ回路を含むセルにおけるトランジスタの構成および配置を示す図である。 図2に示すセルの回路部品の論理モデルを示す図である。 図3に示すセルの回路部品の論理モデル例を示す図である。 集積回路消費電力計算装置の処理対象の集積回路のセルおよびセル内のトランジスタの構成例を示す図である。 図6に示す集積回路の場合の集積回路接続情報の例を示す図である。 図6に示す集積回路の場合のセルのトランジスタ接続情報の例を示す図である。 図6に示す集積回路の場合の回路部品のトランジスタ接続情報の例を示す図である。 図6に示す集積回路の場合の回路部品論理モデル情報の例を示す図である。 図6に示す集積回路の場合の回路部品電力情報の例を示す図である。 図6に示す集積回路の論理シミュレーション用の入力パターン情報の例を示す図である。 図6に示す集積回路の場合の論理シミュレーションにより収集された信号端子遷移情報の例を示す図である。 図6に示す集積回路の場合のセル間配線の消費電力を示す情報例を示す図である。 図6に示す集積回路の場合の集積回路消費電力情報の例を示す図である。 集積回路消費電力計算装置の一実施態様における処理フロー図である。 集積回路消費電力計算装置が出力する,集積回路の回路部品単位の消費電力計算結果の設計改善検討への適用を説明するための図である。 集積回路消費電力計算装置1の実施における装置のハードウェア構成例を示す図である。
図1は,実施の一形態として開示する集積回路消費電力計算装置の構成例を示す図である。
集積回路消費電力計算装置1は,集積回路の消費電力を計算する装置であって,回路分割部11,論理モデル生成部12,回路部品電力計算部13,論理シミュレーション部14,配線情報取得部15,集積回路消費電力計算部16,記憶部20を有する。
記憶部20には,集積回路接続情報21,セルのトランジスタ接続情報22,集積回路配置配線情報23,入力パターン情報24が記憶される。
集積回路接続情報21は,集積回路を構成する回路と,回路間の接続関係とを示す情報であって,回路毎に,回路の種別,形式,入力端子,出力端子,端子が接続する信号線(ネット)等が記述されるものである。本実施の形態において,集積回路接続情報21は,例えば,処理対象の集積回路のネットリストである。
セルのトランジスタ接続情報22は,集積回路の各セルが含むMOS−FET(Metal Oxide Semiconductor Field Effect Transistor)等のトランジスタとトランジスタ間の接続関係とを示す情報であって,各トランジスタのトランジスタ名,モデル名,ノード,形状,トランジスタパラメータ,接続関係等が記述されるものである。本実施の形態において,セルのトランジスタ接続情報22は,例えば,集積回路の各セル内部における回路接続情報であるトランジスタネットリストである。
セルのトランジスタ接続情報22は,電力計算処理の精度を確保するためには,寄生抵抗成分R(Resistance)と寄生容量成分C(Capacitance)から算出される時定数である寄生RCが付加されたレイアウト抽出のネットリストであることが望ましい。しかし,レイアウト処理前で消費電力計算(消費電力見積もり)を行なう場合には,寄生RCを含まない回路図から生成されたネットリストを,セルのトランジスタ接続情報22として使用することが可能である。
集積回路配置配線情報23は,集積回路に搭載される部品等の実際の配置および配線を示す情報である。本実施の形態において,集積回路配置配線情報23は,CAD(Computer Aided Design)システムで出力された情報である。集積回路配置配線情報23は,集積回路接続情報21に相当する集積回路ネットリストに付随する情報であってもよい。
入力パターン情報24は,集積回路の論理シミュレーション用の各回路の入力端子への信号の遷移パターンを示す情報である。入力パターン情報24は,集積回路の消費電力が最大となるようなプログラム動作のシミュレーション用のものであることが,より好ましい。
回路分割部11は,セルのトランジスタ接続情報22に基づいて,集積回路の各セルについて,セル内のトランジスタを,ソース端子またはドレイン端子を経由して信号線(内部ネット)で接続するトランジスタ同士でまとめて同一の回路部品として特定して,回路部品毎のトランジスタの接続関係を示す回路部品トランジスタ接続情報31を出力する。回路部品トランジスタ接続情報31は,セルのトランジスタ接続情報22から生成される,回路部品のトランジスタネットリストである。
また,回路分割部11は,セルが,所定の論理状態を保持するラッチアレイを含む場合には,論理状態を保持するループを構成する回路をさらにまとめて,1つの回路部品として特定する。
論理モデル生成部12は,回路部品トランジスタ接続情報31から,回路部品毎に論理を抽出して,抽出した回路部品の論理モデルを記述した回路部品論理モデル情報32を出力する。
回路部品電力計算部13は,回路部品トランジスタ接続情報31に基づいて,回路部品毎に,回路部品の入出力端子の信号遷移状態別の電力値を求めて,回路部品毎の電力情報である回路部品電力情報33を出力する。
論理シミュレーション部14は,集積回路接続情報21と入力パターン情報24と回路部品論理モデル情報32とに基づいて,集積回路の各回路部品について論理シミュレーションを行って,回路部品毎の入出力端子の信号遷移を示す信号端子遷移情報34を生成する。
配線情報取得部15は,集積回路配置配線情報23から,集積回路の各セル間の配線に関するセル間配線情報35を抽出する。
集積回路消費電力計算部16は,集積回路接続情報21と信号端子遷移情報34と回路部品論理モデル情報32と回路部品電力情報33とに基づいて,回路部品毎に,信号端子遷移情報34の入出力端子の信号遷移状態における消費電力を計算し,さらに,セル間配線情報35に基づくセル間配線の負荷容量を求めて加算して,回路部品毎の消費電力を求める。そして,集積回路消費電力計算部16は,集積回路の全回路部品毎の消費電力を積算して,集積回路全体の消費電力を示す集積回路消費電力情報36を出力する。
以下に,集積回路消費電力計算装置1の動作を説明する。
集積回路消費電力計算装置1は,予め,集積回路接続情報21,セルのトランジスタ接続情報22,集積回路配置配線情報23,入力パターン情報24を取得して,記憶部20に記憶しておく。
図2は,集積回路消費電力計算装置1の処理対象の集積回路を構成する1つのセルにおけるトランジスタの構成および配置を示す図である。
図2に示すセルは,4本の入力端子(A1,A2,A3,A4)と,1本の出力端子(X)とを有し,12個のトランジスタ(t1〜t12)で構成されている。入出力端子への接続ネットを含めた内部ネットは10本(n1〜n10)ある。
〔回路分割処理〕
回路分割部11は,電源とグランドのネットを除く内部ネットを辿って,トランジスタのソース端子またはドレイン端子で接続されたトランジスタ同士を,同一の回路部品に含めていき,同一の回路部品に含まれないトランジスタを別の回路部品として分割する。また,回路分割部11は,抵抗を介してトランジスタが接続されている場合は,抵抗を配線と同等とみなして回路部品への分割を行なう。
図2に示すセルでは,内部ネットn1,n2,n6,n7は,トランジスタのソース端子かドレイン端子のいずれにも接続していないため,回路分割部11は,内部ネットn1,n2,n6,n7を回路部品への分割処理の対象外とする。
図2に示すセルでは,内部ネットn3が,トランジスタt1,t2,t3のドレイン端子に接続しているので,回路分割部11は,トランジスタt1,t2,t3を同一の回路部品とする。さらに,内部ネットn8が,トランジスタt3のソース端子とトランジスタt4のドレイン端子とに接続しているので,回路分割部11は,トランジスタt3,t4を,同一の回路部品とする。そして,上記の回路分割結果から,回路分割部11は,トランジスタt1,t2,t3,t4を同一の回路部品とする。図2において,同一の回路部品の範囲を,破線の円状の領域で示す。
次に,内部ネットn4が,トランジスタt5,t6,t7のドレイン端子に接続しているので,トランジスタt5,t6,t7は,同一の回路部品となる。さらに,内部ネットn9が,トランジスタt7のソース端子とトランジスタt8のドレイン端子に接続しているので,回路分割部11は,トランジスタt7,t8を同一の回路部品とする。同様に,上記の回路分割結果から,回路分割部11は,トランジスタt5,t6,t7,t8を,同一の回路部品とする。
同様に,内部ネットn5が,トランジスタt9,t10,t11のドレイン端子に接続しているので,回路分割部11は,トランジスタt9,t10,t11を,同一の回路部品とする。さらに,内部ネットn10が,トランジスタt11のソース端子とトランジスタt12のドレイン端子に接続しているので,回路分割部11は,トランジスタt11,t12を,同一の回路部品とする。
最終的に,回路分割部11は,上記の回路分割結果から,トランジスタt9,t10,t11,t12を,同一の回路部品とする。
このようにして,図2に示すセルでは,トランジスタt1,t2,t3,t4で構成される回路部品#1と,トランジスタt5,t6,t7,t8で構成される回路部品#2と,トランジスタt9,t10,t11,t12で構成される回路部品#3との計3個の回路部品に分割される。
図3は,処理対象の集積回路を構成する,ラッチ回路を含むセルにおけるトランジスタの構成および配置を示す図である。
図3に示すセルは,2本の入力端子A,クロック入力端子CKと,1本の出力端子Xがあり,12個のトランジスタt1〜t12とによって構成されている。入出力端子への接続ネットを含めた内部ネットは7本(n1〜n7)ある。
回路分割部11は,図2を用いて説明した処理と同様に,セル内の内部ネットを辿って,ソース端子またはドレイン端子とが接続するトランジスタ同士を,同一の回路部品とする。また,その同一の回路部品内のトランジスタのソース端子またはドレイン端子と接続しているソース端子またはドレイン端子につながるトランジスタも,同一の回路部品に含む。
さらに,回路分割部11は,セルがラッチ回路を含む場合に,論理状態を保持するループを検出して,そのループ部分を同一の回路部品にまとめる。
図3に示すセルにおいて,内部ネットn1,n2は,トランジスタのソース端子かドレイン端子のいずれかとも接続していないため,回路分割部11は,これらのネットを回路分割の処理の対象外とする。
内部ネットn3が,トランジスタt1,t2のドレイン端子と,トランジスタt3,t4のソース端子とに接続している。回路分割部11は,トランジスタt1,t2,t3,t4を,同一の回路部品とする。
次に,内部ネットn5が,トランジスタt3,t4,t7,t8のドレイン端子に接続している。回路分割部11は,トランジスタt3,t4,t7,t8を同一の回路部品とする。回路分割部11は,上記の回路分割結果から,トランジスタt1,t2,t3,t4,t7,t8を,同一の回路部品とする。
次に,内部ネットn6が,トランジスタt5,t6のドレイン端子に接続しているので,回路分割部11は,トランジスタt5,t6を,同一の回路部品とする。
ここで,内部ネットn5と内部ネットn6が,論理的にループを形成しているので,回路分割部11は,内部ネットn5につながる回路部品のトランジスタt1,t2,t3,t4,t7,t8と,内部ネットn6につながる回路部品のトランジスタt5,t6とを,同一の回路部品#4にまとめる。
次に,内部ネットn4は,トランジスタt11,t12のドレイン端子に接続しているので,回路分割部11は,トランジスタt11,t12を同一の回路部品#6とする。また,内部ネットn7は,トランジスタt9,t10のドレイン端子に接続しているので,回路分割部11は,トランジスタt9,t10を同一の回路部品#5とする。
これにより,図3に示すラッチ回路を含むセルは,トランジスタt1,t2,t3,t4,t5,t6,t7,t8で構成される回路部品#4と,トランジスタt9,t10で構成される回路部品#5と,トランジスタt11,t12で構成される回路部品#6との計3個の回路部品に分割される。
回路分割部11は,上述したような,セルの内部ネットからトランジスタ同士の接続を追うことによって回路部品への分割を行う処理手法(第1の分割処理手法)以外に,別の処理手法(第2の分割処理手法)によって回路分割を実施してもよい。
回路分割部11は,セル内の同一の回路部品とするべきトランジスタ回路の構成の定義情報を入力として,定義情報の構成と一致するトランジスタ回路を,セルのトランジスタ接続情報から見つけ出すことによって,セルを回路部品へ分割することもできる。
この処理方法を実施する場合には,まず,回路分割部11は,2入力NAND回路のトランジスタ回路構成を定義した回路部品定義情報を保持しておく。例えば,この回路部品定義情報に示される,2入力NAND回路のトランジスタ回路構成の構成は,図2に示すセルで,破線の円形領域内のトランジスタ回路の構成と同一であるとする。回路分割部11は,この定義情報に基づいて,図2に示すセルのトランジスタ接続情報の中から,定義情報に定義された回路構成と同一の構成となるトランジスタ回路が存在するかを検査する。定義情報の構成と同一のトランジスタ回路を検出した場合に,検出した部分のトランジスタの構成を回路部品として抽出する。図2に示すセルでは,定義情報のトランジスタ回路と一致するトランジスタの構成が3箇所検出できるため,検出した箇所を3個の回路部品#1,#2,#3を抽出する。
回路分割部11は,第1の分割処理手法と第2の分割処理手法とを併用して処理することが可能である。第2の分割処理手法によってセルから回路部品を抽出し,残ったトランジスタ群に対して第1の分割処理手法を行って,セルの回路分割を完了するようにしてもよい。
〔回路部品の論理抽出処理〕
次に,論理モデル生成部12が,回路部品の論理抽出を行う。
論理モデル生成部12は,回路部品トランジスタ接続情報31に基づいて,回路部品単位に論理動作を抽出して,回路部品毎の論理動作を記述する回路部品論理モデル情報32を作成する。
図4は,図2に示すセルの回路部品の論理モデルを示す図である。
論理モデル生成部12は,図2に示すセルの回路部品#1(トランジスタt1,t2,t3,t4)が「nand論理回路」であり,入力が,入力端子A1,A2に接続され,出力が回路部品#2(トランジスタt5,t6,t7,t8)に接続される論理モデル(nand1)を出力する。
さらに,論理モデル生成部12は,図2に示す回路部品#3(トランジスタt9,t10,t11,t12)が「nand論理回路」であり,入力が入力端子A3,A4に接続され,出力が回路部品#2(トランジスタt5,t6,t7,t8)に接続される論理モデル(nand3)を出力する。
さらに,論理モデル生成部12は,図2に示す回路部品#2(トランジスタt5,t6,t7,t8)が「nand論理回路」であり,入力が回路部品#1(トランジスタt1,t2,t3,t4)と回路部品#3(トランジスタt9,t10,t11,t12)に接続され,出力が出力端子Xに接続される論理モデル(nand2)を出力する。
また,論理モデル生成部12は,図3に示すセルの回路部品についても同様に論理動作を抽出する。
図5は,図3に示すセルの回路部品の論理モデル例を示す図である。
論理モデル生成部12は,図3に示す回路部品#4(トランジスタt1,t2,t3,t4,t5,t6,t7,t8)が「ラッチ」であり,入力が入力端子Aに接続され,出力が回路部品#6に接続される論理モデル(latch1)を出力する。
さらに,論理モデル生成部12は,図3に示す回路部品#5(トランジスタt9,t10)が「インバータ」であり,入力が入力端子CKに接続され,出力が回路部品#4に接続される論理モデル(inverter2)を出力する。
さらに,論理モデル生成部12は,図3に示す回路部品#6(トランジスタt11,t12)が「インバータ」であり,入力が回路部品#4に接続され,出力が出力端子Xに接続される論理モデル(inverter1)を出力する。
〔回路部品の電力計算処理〕
また,回路部品電力計算部13が,回路部品の電力計算を行う。
回路部品電力計算部13は,セルから分割された回路部品毎に,回路部品トランジスタ接続情報31に基づいて,回路部品の入出力信号遷移状態別の回路部品電力値を計算する。例えば,図2に示すセルの場合に,セルを3つの回路部品#1,#2,#3に分割している。そのため,入出力信号遷移状態別の電力値計算処理で必要なパターン数は,
「信号を変化させるパターン数2(up/down)×変化させないピンの信号固定の組み合わせ数2(各ピン0/1を1ピン)×信号を変化させるピン数2(2ピン)×回路部品数3(nand1,nand2,nand3)=24パターン」となる。
なお,図2に示すセルの電力値の計算処理を従来方法では,入力端子4本の内1本のみ変化させてセルの電力を測定するとした場合に必要なパターン数は,「信号を変化させるパターン数2(up/down)×変化させないピンの信号固定の組み合わせ数8(各ピン0/1を3ピン)×信号を変化させるピン数4(A1,A2,A3,A4)=64パターン」となっていた。
〔論理シミュレーション処理〕
次に,論理シミュレーション部14が,集積回路の論理シミュレーションを行う。
論理シミュレーション部14は,集積回路の各セルを回路部品に分割して得た回路部品毎の論理モデルをもとに,入力パターン情報24に基づいて論理シミュレーション処理として既知のSPICEシミュレーション処理を行って,各回路部品の入出力端子の信号遷移状態を示す情報を収集する。
論理シミュレーション部14は,図4に示すセルについて,セル内の回路部品毎の論理モデルを使って論理シミュレーションを行うので,セルの内部ネットn3,n5に接続する回路部品#1,#2,#3の各入出力端子での情報を収集する。これによって,回路部品#1(nand1),#2(nand2),#3(nand3)のそれぞれの入出力号端子での信号遷移を示す信号端子遷移情報34を取得する。
なお,従来のセル単位の論理シミュレーション処理では,入出力信号遷移情報は,入力端子A1,A2,A3,A4と出力端子Xのみで収集されていた。
論理シミュレーション部14が扱う論理モデルは,セル単位の論理モデルに比較して,論理シミュレーション処理へ入力すべきデータ量が増加することが予想される。そのため,論理検証用の論理モデルとは別に集積回路の消費電力計算用に論理モデルを作成する等の考慮が必要となることがある。
〔セル間配線情報取得処理〕
配線情報取得部15は,既知のセル間配線情報抽出処理を行って,集積回路配置配線情報23から,集積回路を構成するセル間を接続する信号線(セル間配線)の長さ等を示すセル間配線情報35を取得する。
〔集積回路の消費電力処理〕
次に,集積回路消費電力計算部16は,集積回路接続情報21,回路部品論理モデル情報32,回路部品電力情報33,信号端子遷移情報34,セル間配線情報35を入力とする既知の消費電力計算処理により,集積回路消費電力情報36を出力する。
集積回路消費電力計算部16は,基本的には,既知の消費電力計算と同様にして,集積回路の消費電力を求める。
まず,集積回路消費電力計算部16は,集積回路のセル毎に,最初の動作サイクルにおいて各回路部品で得られる入出力端子の信号遷移状態をもとに,回路部品の種別毎の消費電力を,回路部品電力情報33の該当する回路部品の信号状態の消費電力を参照して取得する。集積回路消費電力計算部16は,セル内の回路部品間の配線の容量については,回路部品間の配線の容量を計算して,回路部品の出力側の消費電力として加算しておく。
そして,集積回路消費電力計算部16は,セル内の全回路部品毎の消費電力を計算する。
次に,集積回路消費電力計算部16は,セル間配線情報35から,セル間配線の容量を取得して,上述の計算処理で取得したセルの消費電力に,セル間配線の消費電力を加算する。
集積回路消費電力計算部16は,セル単位の消費電力の計算を,集積回路を構成する全セルについて行ない,セル個々に求めた消費電力を合計して,最初の動作サイクルにおける集積回路の消費電力を求める。
集積回路消費電力計算部16は,論理回路の論理シミュレーション処理で得た信号端子遷移情報34に基づいて,動作サイクル毎の集積回路の消費電力の取得処理を全ての動作サイクルで繰り返して行う。そして,集積回路消費電力計算部16は,動作サイクルで求めた集積回路の消費電力を積算して,全動作サイクルでの集積回路の消費電力を得て,集積回路消費電力情報36として出力する。
このようにして,大規模なセルについても,セル内部の消費電力を,分割した回路部品個々の動作別に取得することができるため,高精度で消費電力計算結果を得ることができる。
以下に,集積回路消費電力計算装置1の処理について,より具体的な実施例を説明する。
図6は,集積回路消費電力計算装置1の処理対象の集積回路のセルおよびセル内のトランジスタの構成例を示す図である。
集積回路消費電力計算装置1は,図6に示す集積回路LSI#1が含む,トランジスタ構成が同一の2つのセルについて電力計算処理を行うとする。
図6に示す集積回路LSI#1の2つのセルは,同一のトランジスタ構成であり,2本の入力端子A1,A2,1本の出力端子X1,6個のトランジスタt1〜t6で構成されている。入出力端子への接続ネットを含めた内部ネットは5本(n1〜n5)である。
集積回路LSI#1は,入力端子D1,D2へ接続する信号線を含めて,5本のネット(w1〜w5)を備える。
図7は,図6に示す集積回路LSI#1の場合の集積回路接続情報21の例を示す図である。図7に示す集積回路接続情報21は,ネットリストの記述に基づくものであり,データ記述の一部である。
図7の記述例は,集積回路LSI#1が,2つの入力端子D1,D2と,2つのセル(セル名:AND2)を備えることを示す。
1つのセル(インスタンス名aa)は,出力端子X1がネットw3に,入力端子A1がネットw1に,入力端子A2がネットw2に,それぞれ接続されている。また,もう1つのセル(インスタンス名ab)は,出力端子X1がネットw2に,入力端子A1がネットw4に,入力端子A2がネットw5に,それぞれ接続されている。
図8は,図6に示す集積回路LSI#1の場合のセルのトランジスタ接続情報22の例を示す図である。図8に示すセルのトランジスタ接続情報22は,ネットリストの記述に基づくものであり,データ記述の一部である。
セルのトランジスタ接続情報22には,図6に示す集積回路LSI#1のセル(AND2)について,入力端子,出力端子,内部のトランジスタ,トランジスタの情報(トランジスタ素子名,端子ノード名,トランジスタモデル名,トランジスタパラメータ(例えば,ゲート幅,ゲート長等))が記述されている。端子ノード名は,トランジスタの接続先を含むように記述される。
図8に示す記述例では,セルAND2が,1本の出力端子X1,2本の入力端子A1,A2,6個のトランジスタt1〜t6を備えることを示す。また,1つのトランジスタt1について,トランジスタ素子名(mt1),端子ノード名(n4 A1 VDD VSS),トランジスタモデル名(pch),トランジスタパラメータ(W=1u,L=0.1u)等の情報が記述されていることを示す。この記述から,トランジスタt1の端子が,入力端子A1と内部ネットn4に接続されていることがわかる。
回路分割部11は,図8に示すセルのトランジスタ接続情報22に基づいて,集積回路LSI#1の各セルのトランジスタt1〜t6を回路部品へ分割する。
回路分割部11は,セル「AND2;aa」のトランジスタt1,t3,t4,t2を1つの回路部品「部品名:AND21,インスタンス名:a」とする。同様に,回路分割部11は,セル「AND2;aa」のトランジスタt5,t6を1つの回路部品「部品名:AND22,インスタンス名:b」とする。回路分割部11は,セル「AND2;ab」についても同様に,回路部品への分割を行う。
図6に示す集積回路LSI#1の構成例において,回路部品は,破線の楕円で示す部分で示される。
回路分割部11は,セルを回路部品へ分割して,回路部品トランジスタ接続情報31を出力する。
図9は,図6に示す集積回路LSI#1の場合の回路部品トランジスタ接続情報31の例を示す図である。図9に示す回路部品トランジスタ接続情報31は,ネットリストの記述に基づくものであり,データ記述の一部である。
図9に示す記述例では,セル内の各回路部品AND21,AND22のトランジスタの接続情報が定義される。
例えば,回路部品「AND21」は,2本の入力端子T1,T2,1本の出力端子T3と,4個のトランジスタt1,t2,t3,t4とを備えることを示す。さらに,トランジスタt1は,トランジスタ素子名(t1),端子ノード名(T3 T1 VDD VDD),トランジスタモデル名(pch),トランジスタパラメータ(W=1u,L=0.1u)等であることを示す。そして,トランジスタt1の端子が入力端子T1,出力端子T3に接続することがわかる。
また,回路部品「AND22」は,1本の入力端子T1,1本の出力端子T2と,2個のトランジスタt5,t6とを備えることを示す。さらに,トランジスタt5は,トランジスタ素子名(t5),端子ノード名(T2 T1 VDD VDD),トランジスタモデル名(pch),トランジスタパラメータ(W=1u,L=0.1u)等であることを示す。そして,トランジスタt5の端子が入力端子T1,出力端子T2に接続することがわかる。
論理モデル生成部12は,図9に示す回路部品トランジスタ接続情報31に基づいて各回路部品の論理を抽出して,回路部品論理モデル情報32を出力する。
図10は,図6に示す集積回路LSI#1の場合の回路部品論理モデル情報32の例を示す図である。
回路部品論理モデル情報32には,集積回路LSI#1の各セルおよびセルを構成する回路部品の論理モデルが記述される。図10に示す回路部品論理モデル情報32は,データ記述の一部である。
図10に示す記述例では,セルAND2の論理記述,セルAND2を構成する回路部品AND21の論理記述(nandゲート),回路部品AND22の論理記述(インバータ)が示されている。
また,回路部品電力計算部13は,図9に示す回路部品トランジスタ接続情報31に基づいて,各回路部品について,入出力信号遷移別の消費電力を求めて,回路部品毎の消費電力を計算して,回路部品電力情報33を出力する。
図11は,図6に示す集積回路LSI#1の場合の回路部品電力情報33の例を示す図である。
回路部品電力情報33には,各回路部品の電力情報として,リーク電力値,端子の立ち上がり時/立ち下がり時の容量,各端子での信号変化時の電力として,1または複数の出力負荷容量および出力負荷容量に対応するセルの電力値等が記述される。
図11に示す記述例では,回路部品AND21の電力情報として,リーク電力値=23.4668,回路部品AND21の入力端子T1の立ち上がり時/立ち下がり時の容量=0.0160647/0.0160716,入力端子T1での信号変化時の電力として,出力負荷容量=0.0032の場合のセル電力値=0.0019が記述される。
また,回路部品AND22の電力情報として,リーク電力値=22.6677,回路部品AND22の入力端子T1での信号変化時の電力として,出力負荷容量=0.001の場合のセル電力値=0.0016,出力負荷容量=0.003の場合のセル電力値=0.0032,出力負荷容量=0.01の場合のセル電力値=0.0067,出力負荷容量=0.03の場合のセル電力値=0.0121,出力負荷容量=0.1の場合のセル電力値=0.0245,出力負荷容量=0.3の場合のセル電力値=0.0517が記述される。
そして,論理シミュレーション部14は,集積回路接続情報21(図7参照),入力パターン情報24,回路部品論理モデル情報32(図10参照)をもとに,集積回路LSI#1の論理シミュレーションを行う。
図12は,図6に示す集積回路LSI#1の論理シミュレーション用の入力パターン情報24の例を示す図である。
図12に示す入力パターン情報24は,集積回路LSI#1の入力端子D1,D2に対して,動作サイクル毎に入力する信号を記述する。
図12の記述例では,論理シミュレーションの経過時間を示す,動作サイクルに対応するある時刻=#12345で,入力端子D1(%0)の値を“0”に,入力端子D2(%1)の値を“0”にすることを,その後の時刻=#12347で,入力端子D1(%0)の値を“1”に,入力端子D2(%1)の値を“1”にすることを示す。
論理シミュレーション部14は,入力パターン情報24に記述された信号の入力パターンに基づいて,各回路部品の入出力端子の信号を収集して,各端子での信号遷移を示す信号端子遷移情報34を出力する。
図13は,図6に示す集積回路LSI#1の場合の論理シミュレーションにより収集された信号端子遷移情報34の例を示す図である。
信号端子遷移情報34では,セルの回路部品への分割後において信号遷移を収集する端子(情報収集ポイント)と,論理シミュレーション処理でのシミュレーション経過時間における情報収集ポイントでの信号の遷移状態とが記述される。
図13に示す例では,情報収集ポイント%2〜%7として,それぞれ,ポイント%2=端子X1,ポイント%3=回路部品aの端子T1,ポイント%4=回路部品aの端子T2,
ポイント%5=回路部品aの端子T3,ポイント%6=回路部品bの端子T1,ポイント%7=回路部品bの端子T2が設定されていることを示す。
また,あるシミュレーション経過時間の時刻(#12345)において,情報収集ポイント%2〜%7の信号は,それぞれ,ポイント%2:1,ポイント%3:1,ポイント%4:1,ポイント%5:0,ポイント%6:0,ポイント%7:1であることを示す。また,別の時刻(#12347)において,情報収集ポイント%2〜%7の信号は,それぞれ,ポイント%2:0,ポイント%3:0,ポイント%4:0,ポイント%5:1,ポイント%6:1,ポイント%7:0であることを示す。
集積回路消費電力計算部16は,集積回路接続情報21(図7参照),回路部品論理モデル情報32(図10参照),回路部品電力情報33(図11参照),信号端子遷移情報34(図13参照)に基づいて,集積回路LSI#1の消費電力を計算して,その計算結果である集積回路消費電力情報36を出力する。
集積回路消費電力計算部16は,セル間配線情報35をもとにセル間配線の容量を得る。そして,集積回路消費電力計算部16は,回路部品AND21,AND22の入出力端子の信号遷移状態に基づいて,回路種別の電力情報とセル間配線容量とから,回路部品の消費電力を求めて,セルAND2の消費電力を求める。
図14は,図6に示す集積回路LSI#1の場合のセル間配線の容量を示す情報例を示す図である。図14に示す情報例では,集積回路LSI#1の各配線からセル間の配線(ネット)を抽出して,抽出したセル間配線毎の容量が記述される。たとえば,集積回路LSI#1のセルaa,セルabを接続するネットw2の容量が“13.718”であることを示す。
集積回路消費電力計算部16は,セルAND21内の回路部品AND21とセル間配線容量とを参照して回路部品AND22の消費電力を計算することによって,セル単位の消費電力を計算する。
集積回路消費電力計算部16は,集積回路LSI#1を構成する全セル毎の消費電力を合計して各動作サイクルにおける集積回路LSI#1の消費電力を求める。さらに,集積回路消費電力計算部16は,全動作サイクルの集積回路LSI#1の消費電力を積算して,集積回路の消費電力とする。
図15は,図6に示す集積回路LSI#1の場合の集積回路消費電力情報36の例を示す図である。
集積回路消費電力情報36には,集積回路LSI#1の静的消費電力,動的消費電力およびこれらを合計する消費電力が記述される。
図15に示す記述例では,集積回路LSI#1の消費電力が,静的消費電力=311ミリワット[mW],動的消費電力=4.11ワット[W],総消費電力=4.42ワット[W]であることを示す。
次に,集積回路消費電力計算装置1の一実施態様のおける処理の流れを示す。
図16は,集積回路消費電力計算装置1の一実施態様における処理フロー図である。
集積回路消費電力計算装置1の回路分割部11は,セルのトランジスタ接続情報22に基づいて,セル内のトランジスタを,トランジスタのソース端子またはドレイン端子と接続するトランジスタ同士をまとめて1つの回路部品とする(ステップS1)。回路分割部11は,回路部品同士で信号を保持するループ(信号ループ)があるかを調べて(ステップS2),信号ループがあれば(ステップS2のY),ループとなる回路部品同士を同一の回路部品とする(ステップS3)。信号ループがなければ(ステップS2のN),ステップS4の処理へ進む。回路分割部11は,セル内の全ての回路部品毎のトランジスタの接続情報(回路部品トランジスタ接続情報31)を作成する(ステップS4)。
論理モデル生成部12は,回路部品トランジスタ接続情報31に基づいて各回路部品のトランジスタ構造から論理を抽出し,回路部品毎の論理モデルを記述する回路部品論理モデル情報32を出力する(ステップS5)。
回路部品電力計算部13は,回路部品トランジスタ接続情報31に基づいて各回路部品の入出力端子の信号遷移状態別の電力情報(消費電力)を得る(ステップS6)。さらに,回路部品電力計算部13は,セル内の全ての回路部品毎の消費電力を求め,回路部品電力情報33を出力する(ステップS7)。
論理シミュレーション部14は,集積回路接続情報21,入力パターン情報24,回路部品論理モデル情報32に基づいて,セル内の回路部品毎に,動作サイクル毎の入力パターンによる論理シミュレーションを行って,各回路部品の入出力端子の信号遷移を示す信号端子遷移情報34を取得する(ステップS8)。
配線情報取得部15は,集積回路配置配線情報23からセル間配線を求め,セル間配線情報35を出力する(ステップS9)。
集積回路消費電力計算部16は,セル内の全ての回路部品毎に,入出力端子の信号遷移における消費電力を求める(ステップS10)。さらに,集積回路消費電力計算部16は,各回路部品の消費電力を計算して,集積回路全体の消費電力を求め,各動作サイクルで求めた集積回路の消費電力を全動作サイクル分積算した集積回路消費電力情報36を求める(ステップS11)。
以上説明したように,集積回路消費電力計算装置1の集積回路消費電力計算部16は,セル内の回路部品毎の電力計算処理において,ダイナミック電力とリーク電力とを別に集計することができる。
集積回路消費電力計算部16が計算した回路部品毎のダイナミック電力とリーク電力とを用いることによって,温度依存,トランジスタ製造プロセス条件依存等によって変動が発生しやすいリーク電力に対して,電力の計算結果をもとに変動の補正を加えることが可能になる。これにより,設計段階において確定ができなかった温度条件等の電力への影響を,消費電力の計算結果をもとに評価することが可能となる。
図17は,集積回路消費電力計算装置1が出力する,集積回路の回路部品単位の消費電力計算結果の設計改善検討への適用を説明するための図である。
図17に示すセルは,8つの入力端子A1〜A8と1つの出力端子Xとを備えて,2対1のセレクタを3段に構成した,8対1のセレクタを備える。
図17に示すセルの消費電力を,従来方式によって求める場合に,入力端子A1の信号が変化した時の電力は,端子S1,S2,S3の選択信号の状態によって変わる。初段のセレクタ#11〜#14の選択信号S1が入力端子A2を選択していた場合にセルの消費電力が最小となる。一方,3段のセレクタ#11〜#17が入力端子A1からの信号を伝播するように端子S1,S2,S3の選択信号が設定された場合に,セルの消費電力が最大になる。入力端子A2からA8まで全て同様であるが,入力端子A1からA8の全ての端子で,常に入力信号が最大の消費電力になる条件で端子毎の電力を求めると,入力端子A1からA8までの全ての入力端子の信号が変化した場合には,実際には生じ得ないような過剰な消費電力になってしまう。
また,端子S1,S2,S3の信号が変化した時の消費電力は,入力端子A1からA8までの信号の状態によって変化する。そのため,端子S1,S2,S3が変化した時の電力は,何らかの前提条件に基づいて求めた値にならざるを得ない。例えば,いくつかのランダムパターンにより求めたセルの電力を,各入力端子に均等に割り振る等の設定を行なうことになる。しかし,通常は端子S3より端子S2の方が動作する回路が多い分だけ消費電力が大きく,端子S2より端子S1の方が動作する回路が多い分だけ消費電力が大きくなる。このため,消費電力を下げるためには,端子S1,S2,S3に接続すべき制御信号の内,信号遷移の頻度が最も高い信号を端子S3へ,最も低い信号を端子S1へ接続するように設計することによって,セルの消費電力を下げることができる。
このような,制御信号の入れ替えによるセルの消費電力の変化を正しく計算するためには,集積回路消費電力計算装置1の回路分割部11によって,8対1セレクタとして動作するセルを回路部品へ分割し,2対1のセレクタとして動作する回路部品単位での電力をもとにセルの電力を計算することが望ましい。
図17に示す構成の集積回路について設計段階での消費電力の改善検討として,セレクタへの制御信号の接続状態の変更の前後での消費電力を比較し,消費電力低下に効果があった接続の状態へセルの設計変更を行うことが可能となる。
従来のセル内分割手法として,セル内のタイミング解析用に回路分割を行う手法があった。タイミング解析用の回路分割手法では,入力信号の変化が出力に到達するケースのみを考慮すればよかった。しかし,図17に示すようなセル(8対1セレクタ)の入力端子A1の信号変化における電力のケースのように,集積回路の消費電力計算では,セルの出力に到達しない場合の入力信号変化も考慮する必要がある。
このような相違から,タイミング解析用のセルの回路分割では,タイミングの計算精度向上のために,セル内の回路部品候補をできる限りまとめて,1つの回路部品にすることが望ましい。一方で,消費電力計算用のセルの回路分割では,セル内部の信号遷移をできる限り抽出して消費電力の計算精度を確保する必要があるため,セル内の回路部品をできるだけ個別に分割することが望ましい。
図18に,集積回路消費電力計算装置1のハードウェア構成例を示す。
図18に示すように,集積回路消費電力計算装置1は,CPU101,主記憶部(メモリ)103,入出力インターフェィス105,外部記憶装置110,入力装置(キーボード等)120,出力装置(ディスプレイ等)130を備えるコンピュータ100によって実施することができる。
また,集積回路消費電力計算装置1は,コンピュータ100が実行可能なプログラムによって実施することができる。この場合に,集積回路消費電力計算装置1が有すべき機能の処理内容を記述したプログラムが提供される。提供されたプログラムをコンピュータ100が実行することによって,上記説明した集積回路消費電力計算装置1の処理機能がコンピュータ100上で実現される。
すなわち,集積回路消費電力計算装置1の回路分割部11,論理モデル生成部12,回路部品電力計算部13,論理シミュレーション部14,配線情報取得部15,集積回路消費電力計算部16等は,プログラムで構成することができ,記憶部20は外部記憶装置110で構成することができる。
なお,コンピュータ100は,可搬型記録媒体から直接プログラムを読み取り,そのプログラムに従った処理を実行することもできる。また,コンピュータ100は,サーバコンピュータからプログラムが転送されるごとに,逐次,受け取ったプログラムに従った処理を実行することもできる。
さらに,このプログラムは,コンピュータ100で読み取り可能な記録媒体に記録しておくことができる。
以上説明したように,本発明によれば,次のような効果がある。
集積回路の消費電力見積もり計算等に一般的に使用されるSPICEシミュレーション処理は,トランジスタ数が増加すると処理所要時間が飛躍的に増大するという特性がある。そのため,従来では,集積回路の消費電力計算において,セル単位に入出力信号遷移状態別のセル電力値を計算する場合に,セル単位の電力値を用いた消費電力のトランジスタ数が多いセルについては,電力を求める信号遷移のパターン情報の全パターンを使用せずに,いくつかのパターンを間引いてパターン数を減らしたものを用いる等して,シミュレーションの簡略化を行って,電力計算の精度を落としてセルの消費電力を求めていた。
本願で開示する集積回路消費電力計算装置1は,セルを細分化した回路部品毎に論理シミュレーション処理を行なって消費電力を求めることにより,信号遷移のパターン数を減らすことなく,セルの消費電力を求めることができる。
また,セルを分割することによって,論理シミュレーション時の信号遷移のパターン数も減らすことができる。
また,集積回路消費電力計算装置1は,回路部品の電力計算処理において,トランジスタの貫通電流や負荷への充放電によるダイナミック電力と,トランジスタのオフリークやゲートリークからなるリーク電力とを,それぞれ別に求めることができる。集積回路消費電力計算装置1は,信号遷移時の電力(ダイナミック電力)の計算の精度を向上できるだけでなく,リーク電力の計算についても,回路部品内部のトランジスタの正確な信号状態に基づいてリーク電力を求めることができる。
また,集積回路消費電力計算装置1は,回路部品間の配線容量の電力への影響については,回路部品間の配線容量を各回路部品の出力側に付けて計算することができる。これにより,回路間の配線容量が各回路部品の出力信号遷移での電力計算に盛り込まれるため,別途計算を行なう必要がなくなる。
さらに,集積回路消費電力計算装置1は,セル内の回路部品の詳細な消費電力を計算して,集積回路消費電力情報36を出力できることから,電力を多く消費している回路部品についての詳細な解析が可能になる。よって,集積回路の設計時に求めた消費電力の解析結果を基に回路設計を変更することができるため,設計改善による消費電力の改善が行えるようになる。
1 集積回路消費電力計算装置
11 回路分割部
12 論理モデル生成部
13 回路部品電力計算部
14 論理シミュレーション部
15 配線情報取得部
16 集積回路消費電力計算部
20 記憶部
21 集積回路接続情報
22 セルのトランジスタ接続情報
23 集積回路配置配線情報
24 入力パターン情報
31 回路部品トランジスタ接続情報
32 回路部品論理モデル情報
33 回路部品電力情報
34 信号端子遷移情報
35 セル間配線情報
36 集積回路消費電力情報

Claims (7)

  1. 集積回路が含む回路間の接続関係を示す集積回路接続情報を記憶する集積回路接続情報記憶部と,
    前記集積回路を構成する各セルが含むトランジスタ間の接続関係を示すトランジスタ接続情報を記憶するトランジスタ接続情報記憶部と,
    前記集積回路の論理シミュレーションに用いられる信号入力パターンを示す入力パターン情報を記憶する入力パターン情報記憶部と,
    前記集積回路の前記トランジスタ間の配線を示すセル間配線情報を記憶する配線情報記憶部と,
    前記トランジスタ接続情報に基づいて,前記集積回路の各セルについて,前記各セルが含むいずれかのトランジスタのソース端子およびドレイン端子を経由して接続されるトランジスタ同士をまとめて同一の回路部品として特定して,該特定した回路部品毎の前記トランジスタの接続関係を示す回路部品トランジスタ接続情報を出力する回路分割部と,
    前記回路部品トランジスタ接続情報から前記回路部品毎に論理を抽出して,該抽出した回路部品毎の論理を示す回路部品論理モデル情報を出力する論理抽出部と,
    前記回路部品トランジスタ接続情報に基づいて,前記回路部品毎に入出力端子の信号遷移状態別の電力情報を取得して,前記回路部品毎の電力情報である回路部品電力情報を出力する電力計算部と,
    前記集積回路接続情報と前記入力パターン情報と前記回路部品論理モデル情報とに基づいて,前記集積回路の前記回路部品各々について論理シミュレーションを行って,前記回路部品毎の入出力端子の信号遷移を示す信号端子遷移情報を生成する論理シミュレーション部と,
    前記集積回路接続情報と前記信号端子遷移情報と前記回路部品論理モデル情報と前記回路部品電力情報とに基づいて,前記回路部品毎の前記入出力端子の信号遷移における消費電力を求めて,前記セル間配線情報に基づいて求めた前記回路部品の消費電力をもとに前記集積回路の消費電力を求める集積回路消費電力計算部とを備えることを特徴とする
    集積回路消費電力計算装置。
  2. 前記集積回路消費電力計算装置において,
    前記回路分割部は,前記設定した回路部品が,所定の論理状態を保持するラッチ回路と接続される場合に,前記回路部品と該ラッチ回路とを同一の回路部品として設定する
    ことを特徴とする請求項1に記載の集積回路消費電力計算装置。
  3. 前記集積回路消費電力計算装置において,
    前記集積回路が含むトランジスタの配置と配線とを示す配置配線情報を取得して,前記セル間配線情報を抽出する配線情報取得部を備える
    ことを特徴とする請求項1または請求項2に記載の集積回路消費電力計算装置。
  4. 集積回路が含む回路間の接続関係を示す集積回路接続情報と,前記集積回路を構成する各セルが含むトランジスタ間の接続関係を示すトランジスタ接続情報と,前記集積回路の論理シミュレーションに用いられる信号入力パターンを示す入力パターン情報と,前記集積回路の前記トランジスタ間の配線を示すセル間配線情報を記憶する情報処理部を備えるコンピュータが実行する処理方法であって,
    前記トランジスタ接続情報に基づいて,前記集積回路の各セルについて,前記各セルが含むいずれかのトランジスタのソース端子およびドレイン端子を経由して接続されるトランジスタ同士をまとめて同一の回路部品として特定するステップと,
    前記特定した回路部品毎の前記トランジスタの接続関係を示す回路部品トランジスタ接続情報を出力するステップと,
    前記回路部品トランジスタ接続情報から前記回路部品毎に論理を抽出して,該抽出した回路部品毎の論理を示す回路部品論理モデル情報を出力するステップと,
    前記回路部品トランジスタ接続情報に基づいて,前記回路部品毎に入出力端子の信号遷移状態別の電力情報を取得して,前記回路部品毎の電力情報である回路部品電力情報を出力するステップと,
    前記集積回路接続情報と前記入力パターン情報と前記回路部品論理モデル情報とに基づいて,前記集積回路の前記回路部品各々について論理シミュレーションを行って,前記回路部品毎の入出力端子の信号遷移を示す信号端子遷移パターン情報を生成するステップと,
    前記集積回路接続情報と前記信号端子遷移情報と前記回路部品論理モデル情報と前記回路部品電力情報とに基づいて,前記回路部品毎の前記入出力端子の信号遷移における消費電力を求めて,前記セル間配線情報に基づいて求めた前記回路部品の消費電力をもとに前記集積回路の消費電力を求めるステップとを,
    コンピュータに実行させることを特徴とする
    集積回路消費電力計算処理方法。
  5. 前記集積回路消費電力計算処理方法において,
    前記セル内で回路部品を設定するステップは,前記設定した回路部品が,所定の論理状態を保持するラッチ回路と接続される場合に,前記回路部品と該ラッチ回路とを同一の回路部品として設定する
    ことを特徴とする請求項4に記載の集積回路消費電力計算処理方法。
  6. 集積回路が含む回路間の接続関係を示す集積回路接続情報と,前記集積回路を構成する各セルが含むトランジスタ間の接続関係を示すトランジスタ接続情報と,前記集積回路の論理シミュレーションに用いられる信号入力パターンを示す入力パターン情報と,前記集積回路の前記トランジスタ間の配線を示すセル間配線情報を記憶する情報処理部を備えるコンピュータに,
    前記トランジスタ接続情報に基づいて,前記集積回路の各セルについて,前記各セルが含むいずれかのトランジスタのソース端子およびドレイン端子を経由して接続されるトランジスタ同士をまとめて同一の回路部品として特定するステップと,
    前記特定した回路部品毎の前記トランジスタの接続関係を示す回路部品トランジスタ接続情報を出力するステップと,
    前記回路部品トランジスタ接続情報から前記回路部品毎に論理を抽出して,該抽出した回路部品毎の論理を示す回路部品論理モデル情報を出力するステップと,
    前記回路部品トランジスタ接続情報に基づいて,前記回路部品毎に入出力端子の信号遷移状態別の電力情報を取得して,前記回路部品毎の電力情報である回路部品電力情報を出力するステップと,
    前記集積回路接続情報と前記入力パターン情報と前記回路部品論理モデル情報とに基づいて,前記集積回路の前記回路部品各々について論理シミュレーションを行って,前記回路部品毎の入出力端子の信号遷移を示す信号端子遷移パターン情報を生成するステップと,
    前記集積回路接続情報と前記信号端子遷移情報と前記回路部品論理モデル情報と前記回路部品電力情報とに基づいて,前記回路部品毎の前記入出力端子の信号遷移における消費電力を求めて,前記セル間配線情報に基づいて求めた前記回路部品の消費電力をもとに前記集積回路の消費電力を求めるステップとを
    実行させる
    ことを特徴とする集積回路消費電力計算プログラム。
  7. 前記集積回路消費電力計算プログラムにおいて,
    前記コンピュータに,
    前記セルの回路部品を設定するステップにおいて,前記設定した回路部品が,所定の論理状態を保持するラッチ回路と接続される場合に,前記回路部品と該ラッチ回路とを同一の回路部品として設定するステップを
    実行させる
    ことを特徴とする請求項6に記載の集積回路消費電力計算プログラム。
JP2011545844A 2009-12-15 2009-12-15 集積回路消費電力計算装置,処理方法およびプログラム Active JP5408264B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/006888 WO2011074029A1 (ja) 2009-12-15 2009-12-15 集積回路消費電力計算装置,処理方法およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2011074029A1 JPWO2011074029A1 (ja) 2013-04-25
JP5408264B2 true JP5408264B2 (ja) 2014-02-05

Family

ID=44166835

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011545844A Active JP5408264B2 (ja) 2009-12-15 2009-12-15 集積回路消費電力計算装置,処理方法およびプログラム

Country Status (3)

Country Link
US (1) US8350620B2 (ja)
JP (1) JP5408264B2 (ja)
WO (1) WO2011074029A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10275553B2 (en) * 2014-01-15 2019-04-30 Oracle International Corporation Custom circuit power analysis
US11023025B2 (en) * 2016-11-16 2021-06-01 Cypress Semiconductor Corporation Microcontroller energy profiler
US20200112198A1 (en) * 2018-10-04 2020-04-09 Ming-Tsung Chen Smart grid protection system and smart grid protection method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11213019A (ja) * 1998-01-21 1999-08-06 Matsushita Electric Ind Co Ltd 消費電力特性計算手段及びその方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05126872A (ja) 1991-11-01 1993-05-21 Seiko Epson Corp 消費電力予測装置
JP3693420B2 (ja) 1996-06-20 2005-09-07 株式会社リコー 集積回路の消費電力見積り装置
JP2000148833A (ja) 1998-09-10 2000-05-30 Fujitsu Ltd 消費電力見積方法
JP3983090B2 (ja) * 2002-04-24 2007-09-26 Necエレクトロニクス株式会社 電源電圧変動解析装置及びそれに用いる電源電圧変動解析方法並びにそのプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11213019A (ja) * 1998-01-21 1999-08-06 Matsushita Electric Ind Co Ltd 消費電力特性計算手段及びその方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6010003201; SHEN, Wen-Zen et al.: 'CB-Power : A Hierarchical Power Analysis and Characterization Environment of Cell-Based CMOS Circuit' IEICE transactions on fundamentals of electronics, communications and computer sciences Vol.E80-A, No.10, 19971025, pp.1908-1914, IEICE *

Also Published As

Publication number Publication date
JPWO2011074029A1 (ja) 2013-04-25
WO2011074029A1 (ja) 2011-06-23
US8350620B2 (en) 2013-01-08
US20120249230A1 (en) 2012-10-04

Similar Documents

Publication Publication Date Title
US5696694A (en) Method and apparatus for estimating internal power consumption of an electronic circuit represented as netlist
CN107784136B (zh) 一种标准单元库的创建方法及系统
US7080334B2 (en) Automatic clock gating insertion in an IC design
US8713506B2 (en) System and method for employing signoff-quality timing analysis information concurrently in multiple scenarios to reduce dynamic power in an electronic circuit and an apparatus incorporating the same
US7475367B2 (en) Memory power models related to access information and methods thereof
JP2010020372A (ja) 遅延ライブラリ、遅延ライブラリの作成方法、および遅延計算方法
US11593543B2 (en) Glitch power analysis with register transfer level vectors
CN115587554B (zh) 组合逻辑标准单元的atpg库模型生成系统
CN115952754B (zh) 用于生成标准单元目标显示结构的数据处理系统
Fraer et al. A new paradigm for synthesis and propagation of clock gating conditions
US8281269B2 (en) Method of semiconductor integrated circuit device and program
JP5408264B2 (ja) 集積回路消費電力計算装置,処理方法およびプログラム
CN115952755B (zh) 同步器标准单元的atpg库模型生成系统
US7941679B2 (en) Method for computing power savings and determining the preferred clock gating circuit of an integrated circuit design
US20230005562A1 (en) Scan chain compression for testing memory of a system on a chip
US12073159B2 (en) Computing device and method for detecting clock domain crossing violation in design of memory device
US8959467B2 (en) Structural rule analysis with TCL scripts in synthesis or STA tools and integrated circuit design tools
US6157903A (en) Method of minimizing macrocell characterization time for state dependent power analysis
JP5262435B2 (ja) 回路設計装置及び回路設計方法
US9710580B2 (en) Timing analysis method for digital circuit design and system thereof
US20160217239A1 (en) Method and system for selecting stimulation signals for power estimation
CN113536726A (zh) 用于最大瞬时峰值功率的矢量生成
Attaoui et al. A new MBFF merging strategy for post-placement power optimization of IoT devices
Abou-Auf Total-dose worst-case test vectors for leakage current failure induced in sequential circuits of cell-based ASICs
US9268891B1 (en) Compact and efficient circuit implementation of dynamic ranges in hardware description languages

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130709

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130909

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: 20131008

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131021

R150 Certificate of patent or registration of utility model

Ref document number: 5408264

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150