図面 (/)

技術 電力見積支援プログラム、電力見積支援装置および電力見積支援方法

出願人 富士通株式会社
発明者 佐々木貴行
出願日 2012年7月9日 (8年5ヶ月経過) 出願番号 2012-154068
公開日 2014年1月30日 (6年11ヶ月経過) 公開番号 2014-016830
状態 特許登録済
技術分野 CAD
主要キーワード 回路範囲 計測部品 追加工数 起点データ 部分電力 トップモジュール 波形グラフ グルーピング対象
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2014年1月30日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (20)

課題

レジスタ転送レベル検証環境における電力パラメータの抽出を可能にすることにより、回路消費電力見積もり支援すること。

解決手段

電力見積支援装置100は、マッピング情報101を参照して、ネットリストNL上の観測信号を出力する第1のセルを起点として前段のセルを順次辿ることにより、RTL設計データRDの信号と対応関係を有するネットリストNLの信号が入力される第2のセルを検出する。電力見積支援装置100は、検出した第2のセルから第1のセルまでの部分回路をネットリストNLの中から抽出することにより、RTL設計データRDとネットリストNLとの差分を表す差分回路情報を作成する。電力見積支援装置100は、第2のセルに入力されるネットリストNLの信号と対応関係を有するRTL設計データRDの信号の信号名と、第2のセルとを対応付けて表す信号情報を作成する。

概要

背景

従来、ゲートレベルを対象として被評価回路消費電力見積もる場合、例えば、消費電力の見積りに必要となる電力パラメータを抽出するために、論理合成後ネットリストレイアウト後のネットリストを用いた機能検証が行われる。

関連する先行技術としては、例えば、エミュレータFPGA(Field Programmable Gate Array)ボードを用いて、電力用の観測ポイントのデータを抽出するものがある。また、対象回路内の観測対象の信号をグルーピングして、複数の観測対象の動作回数を算出する計測回路を採用する技術がある。

概要

レジスタ転送レベル検証環境における電力パラメータの抽出を可能にすることにより、回路の消費電力の見積もり支援すること。電力見積支援装置100は、マッピング情報101を参照して、ネットリストNL上の観測信号を出力する第1のセルを起点として前段のセルを順次辿ることにより、RTL設計データRDの信号と対応関係を有するネットリストNLの信号が入力される第2のセルを検出する。電力見積支援装置100は、検出した第2のセルから第1のセルまでの部分回路をネットリストNLの中から抽出することにより、RTL設計データRDとネットリストNLとの差分を表す差分回路情報を作成する。電力見積支援装置100は、第2のセルに入力されるネットリストNLの信号と対応関係を有するRTL設計データRDの信号の信号名と、第2のセルとを対応付けて表す信号情報を作成する。

目的

本発明は、上述した従来技術による問題点を解消するため、レジスタ転送レベルの検証環境における電力パラメータの抽出を可能にすることにより、回路の消費電力の見積もりを支援することができる電力見積支援プログラム、電力見積支援装置および電力見積支援方法を提供する

効果

実績

技術文献被引用数
0件
牽制数
1件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

コンピュータに、消費電力見積対象となる対象回路ネットリストの信号名とレジスタ転送レベル記述された前記対象回路の設計情報の信号名との対応関係を表すマッピング情報を取得し、前記ネットリストの中から信号値の変化の観測対象となる観測信号を選択し、取得した前記マッピング情報を参照して、前記ネットリスト上の選択した前記観測信号を出力する第1のセルを起点として前段のセルを順次辿ることにより、前記設計情報の信号と対応関係を有する前記ネットリストの信号が入力される第2のセルを検出し、検出した前記第2のセルから前記第1のセルまでの部分回路を前記ネットリストの中から抽出することにより、前記設計情報と前記ネットリストとの差分を表す差分回路情報を作成し、前記第2のセルに入力される前記ネットリストの信号と対応関係を有する前記設計情報の信号の信号名と、前記第2のセルとを対応付けて表す信号情報を作成し、作成した前記差分回路情報と前記信号情報とを関連付けて出力する、処理を実行させることを特徴とする電力見積支援プログラム

請求項2

前記コンピュータに、前記観測信号の信号名と、前記観測信号を出力する前記第1のセルとを対応付けて表す観測信号情報を作成する処理を実行させ、前記出力する処理は、作成した前記観測信号情報と前記差分回路情報と前記信号情報とを関連付けて出力することを特徴とする請求項1に記載の電力見積支援プログラム。

請求項3

前記選択する処理は、前記ネットリストの中から、供給先へのクロック信号の供給を一時的に停止するセルから出力される信号を前記観測信号として選択することを特徴とする請求項2に記載の電力見積支援プログラム。

請求項4

前記コンピュータに、前記ネットリスト内の出力端子群の中から、前記対象回路のクロックソースから辿ることができる出力端子群を抽出する処理を実行させ、前記選択する処理は、抽出した前記出力端子群のうち、出力される信号の信号値が変化する単位時間当たりの回数が互いに異なる値となる出力端子から出力される信号を前記観測信号として選択することを特徴とする請求項2または3に記載の電力見積支援プログラム。

請求項5

前記選択する処理は、前記ネットリスト内の出力端子群のうち、抽出した前記出力端子群を除く残余の出力端子群のいずれかの出力端子から出力される信号を前記観測信号として選択することを特徴とする請求項4に記載の電力見積支援プログラム。

請求項6

前記コンピュータに、前記信号情報と前記観測信号情報とに基づいて、前記設計情報と、前記差分回路情報とを、テストベンチに与えて前記対象回路の論理シミュレーションを実行することにより、前記観測信号の信号値の変化を計測した計測結果を含む前記論理シミュレーションの実行結果を取得し、取得した前記実行結果を出力する、処理を実行させることを特徴とする請求項2〜5のいずれか一つに記載の電力見積支援プログラム。

請求項7

消費電力の見積対象となる対象回路のネットリストの信号名とレジスタ転送レベルで記述された前記対象回路の設計情報の信号名との対応関係を表すマッピング情報を取得する取得部と、前記ネットリストの中から信号値の変化の観測対象となる観測信号を選択する選択部と、前記取得部によって取得された前記マッピング情報を参照して、前記ネットリスト上の選択した前記観測信号を出力する第1のセルを起点として前段のセルを順次辿ることにより、前記設計情報の信号と対応関係を有する前記ネットリストの信号が入力される第2のセルを検出する検出部と、前記検出部によって検出された前記第2のセルから前記第1のセルまでの部分回路を前記ネットリストの中から抽出することにより、前記設計情報と前記ネットリストとの差分を表す差分回路情報を作成する第1の作成部と、前記第2のセルに入力される前記ネットリストの信号と対応関係を有する前記設計情報の信号の信号名と、前記第2のセルとを対応付けて表す信号情報を作成する第2の作成部と、前記第1の作成部によって作成された前記差分回路情報と前記第2の作成部によって作成された前記信号情報とを関連付けて出力する出力部と、を有することを特徴とする電力見積支援装置

請求項8

コンピュータが、消費電力の見積対象となる対象回路のネットリストの信号名とレジスタ転送レベルで記述された前記対象回路の設計情報の信号名との対応関係を表すマッピング情報を取得し、前記ネットリストの中から信号値の変化の観測対象となる観測信号を選択し、取得した前記マッピング情報を参照して、前記ネットリスト上の選択した前記観測信号を出力する第1のセルを起点として前段のセルを順次辿ることにより、前記設計情報の信号と対応関係を有する前記ネットリストの信号が入力される第2のセルを検出し、検出した前記第2のセルから前記第1のセルまでの部分回路を前記ネットリストの中から抽出することにより、前記設計情報と前記ネットリストとの差分を表す差分回路情報を作成し、前記第2のセルに入力される前記ネットリストの信号と対応関係を有する前記設計情報の信号の信号名と、前記第2のセルとを対応付けて表す信号情報を作成し、作成した前記差分回路情報と前記信号情報とを関連付けて出力する、処理を実行することを特徴とする電力見積支援方法

技術分野

0001

本発明は、電力見積支援プログラム、電力見積支援装置および電力見積支援方法に関する。

背景技術

0002

従来、ゲートレベルを対象として被評価回路消費電力見積もる場合、例えば、消費電力の見積りに必要となる電力パラメータを抽出するために、論理合成後ネットリストレイアウト後のネットリストを用いた機能検証が行われる。

0003

関連する先行技術としては、例えば、エミュレータFPGA(Field Programmable Gate Array)ボードを用いて、電力用の観測ポイントのデータを抽出するものがある。また、対象回路内の観測対象の信号をグルーピングして、複数の観測対象の動作回数を算出する計測回路を採用する技術がある。

先行技術

0004

特開2007−102337号公報
特開2009−53747号公報

発明が解決しようとする課題

0005

しかしながら、従来技術では、消費電力の見積りに必要となる電力パラメータを抽出するために、被評価回路のネットリストを用いた機能検証を行う場合、RTL(Register Transfer Level)の検証環境では正常に動作しない場合がある。また、被評価回路のゲートレベルでの機能検証を行うための検証環境を新たに構築する場合は検証者作業負荷が増大するという問題がある。

0006

本発明は、上述した従来技術による問題点を解消するため、レジスタ転送レベルの検証環境における電力パラメータの抽出を可能にすることにより、回路の消費電力の見積もり支援することができる電力見積支援プログラム、電力見積支援装置および電力見積支援方法を提供することを目的とする。

課題を解決するための手段

0007

上述した課題を解決し、目的を達成するため、本発明の一側面によれば、消費電力の見積対象となる対象回路のネットリストの信号名とレジスタ転送レベルで記述された前記対象回路の設計情報の信号名との対応関係を表すマッピング情報を取得し、前記ネットリストの中から信号値の変化の観測対象となる観測信号を選択し、取得した前記マッピング情報を参照して、前記ネットリスト上の選択した前記観測信号を出力する第1のセルを起点として前段のセルを順次辿ることにより、前記設計情報の信号と対応関係を有する前記ネットリストの信号が入力される第2のセルを検出し、検出した前記第2のセルから前記第1のセルまでの部分回路を前記ネットリストの中から抽出することにより、前記設計情報と前記ネットリストとの差分を表す差分回路情報を作成し、前記第2のセルに入力される前記ネットリストの信号と対応関係を有する前記設計情報の信号の信号名と、前記第2のセルとを対応付けて表す信号情報を作成し、作成した前記差分回路情報と前記信号情報とを関連付けて出力する電力見積支援プログラム、電力見積支援装置および電力見積支援方法が提案される。

発明の効果

0008

本発明の一側面によれば、レジスタ転送レベルの検証環境における電力パラメータの抽出を可能にすることにより、回路の消費電力の見積もりを支援することができるという効果を奏する。

図面の簡単な説明

0009

図1は、実施の形態にかかる電力見積支援方法の一実施例を示す説明図である。
図2は、電力見積装置200のハードウェア構成例を示すブロック図である。
図3は、電力見積装置200の機能的構成例を示すブロック図である。
図4は、マッピングデータMDの具体例を示す説明図である。
図5は、電力見積設定データSTの具体例を示す説明図である。
図6は、クロック起点データCKDの具体例を示す説明図である。
図7は、クロック起点親子関係データFDの具体例を示す説明図である。
図8は、計算範囲IDマップデータEDの具体例を示す説明図である。
図9は、計算範囲IDと部分クロックツリーIDの付与例を示す説明図である。
図10は、メモリ端子データMDの具体例を示す説明図である。
図11は、非クロックツリー観測ポイントデータODの具体例を示す説明図である。
図12は、電力係数ユニットセル)データPUの具体例を示す説明図である。
図13は、電力係数(メモリ)データPMの具体例を示す説明図である。
図14は、差分回路データDFの作成例を示す説明図(その1)である。
図15は、差分回路データDFの作成例を示す説明図(その2)である。
図16は、差分回路データDFの作成例を示す説明図(その3)である。
図17は、差分回路の回路記述の具体例を示す説明図である。
図18は、差分回路のインスタンス記述の具体例を示す説明図である。
図19は、RTLのテストベンチの記述例を示す説明図である。
図20は、RTL参照信号ポート番号関係表RPの具体例を示す説明図である。
図21は、観測信号/ポート番号関係表SPの具体例を示す説明図である。
図22は、計測回路計画MPの具体例を示す説明図である。
図23は、計測回路データKDのデータ構造例を示す説明図である。
図24は、計測回路インスタンスデータMIの具体例を示す説明図である。
図25は、最上位記述MHの具体例を示す説明図である。
図26は、計測回路計画MPの更新例を示す説明図である。
図27は、計測回路の回路構成例を示す説明図(その1)である。
図28は、計測回路の回路構成例を示す説明図(その2)である。
図29は、動的統計データERの具体例を示す説明図である。
図30は、動的統計データERに基づく対象回路の消費電力の見積例を示す説明図である。
図31は、電力見積データPEの出力例を示す説明図(その1)である。
図32は、電力見積データPEの出力例を示す説明図(その2)である。
図33は、電力見積データPEの出力例を示す説明図(その3)である。
図34は、電力見積装置200の電力見積処理手順の一例を示すフローチャートである。
図35は、基礎データ作成処理の具体的処理手順の一例を示すフローチャートである。

実施例

0010

以下に添付図面を参照して、この発明にかかる電力見積支援プログラム、電力見積支援装置および電力見積支援方法の実施の形態を詳細に説明する。

0011

(電力見積支援方法の一実施例)
図1は、実施の形態にかかる電力見積支援方法の一実施例を示す説明図である。図1において、電力見積支援装置100は、対象回路の消費電力の見積もりを支援するコンピュータである。

0012

対象回路は、消費電力の見積もり対象となる回路であり、例えば、LSI(Large Scale Integrated circuit)である。対象回路の回路情報は、RTL設計データ、論理合成後のネットリスト、レイアウト後のネットリストと設計が進むにつれて詳細度が上がる傾向にある。また、対象回路の回路情報は、対象回路に新たな機能が追加されるなどして変化する場合がある。

0013

ここで、RTL設計データ(以下、「RTL設計データRD」という)は、RTLで記述された対象回路の回路情報である。エミュレーションHDL(Hardware Description Language)ソフトウェアシミュレータでは、例えば、論理合成可能なデータの集合を用いてシミュレーションする。すなわち、RTL設計データRDは、エミュレーションまたはHDLシミュレーションが可能かつ論理合成が可能な回路情報である。

0014

また、ネットリストは、対象回路内のセル間の接続関係を表す情報である。セルは、例えば、NOTゲートANDゲート配線バッファ、INV(インバータ)、FFフリップフロップ)などの回路素子である。具体的には、例えば、ネットリストは、RTL設計データRDを論理合成して変換した変換後の設計データ、あるいは、変換後の設計データをレイアウト工程において加工した設計データである。以下の説明では、「ネットリストNL」と表記した場合、対象回路のレイアウト後のネットリストを表すものとする。

0015

RTL設計データRDの信号の波形データは、エミュレーションでの被検証データとなる。一方、対象回路の消費電力の見積もりを高精度に行う場合、消費電力の見積りに用いる波形データは、論理合成後のネットリストやレイアウト後のネットリストの信号の波形データであることが望ましい。

0016

また、シミュレーションまたはエミュレーションのいずれであっても、検証環境を作成するのはRTLに限られることが多い。このため、電力見積もりのためのゲートレベルのシミュレーションを行う場合、ゲートレベルの検証環境の構築が電力見積もりのための追加工数となってしまう。

0017

そこで、本実施の形態では、電力見積支援装置100は、RTL設計データRD上の信号に対応するネットリストNL上の信号が入力されるセルから、観測対象となる信号を出力するセルまでのパスをRTLとの差分回路として抽出する。これにより、RTL用の検証環境での電力見積に必要な電力パラメータの抽出を可能にする。以下、電力見積支援装置100の電力見積支援処理の処理手順の一例について説明する。

0018

(1)電力見積支援装置100は、対象回路のRTL設計データRDとネットリストNLとを取得する。具体的には、例えば、電力見積支援装置100は、ユーザの操作入力により、対象回路のRTL設計データRDとネットリストNLとを取得することにしてもよい。

0019

(2)電力見積支援装置100は、取得したRTL設計データRDとネットリストNLとに基づいて、マッピング情報101を作成する。マッピング情報101は、ネットリストNLの信号名とRTL設計データRDの信号名との対応関係を表す情報である。具体的には、例えば、マッピング情報101は、RTL設計データRDとネットリストNLとの間で同一の信号線を指す信号の対応関係を表すものである。

0020

図1の例では、マッピング情報101には、ネットリストNLの信号名「A」とRTL設計データRDの信号名「a」との対応関係が表されている。また、ネットリストNLの信号名「B」とRTL設計データRDの信号名「b」との対応関係が表されている。ネットリストNLの信号名「C」とRTL設計データRDの信号名「c」との対応関係が表されている。

0021

(3)電力見積支援装置100は、ネットリストNLの中から信号値の変化の観測対象となる観測信号を選択する。観測信号は、例えば、対象回路の消費電力の要因となるセルから出力されるクロック信号データ信号である。具体的には、例えば、観測信号は、CGIC(クロックゲーティングインテグレイティッドセル)から出力される信号やトグルレートが変化するセルから出力される信号などである。

0022

CGICは、供給先へのクロック信号の供給を一時的に停止するセルである。CGICによれば、例えば、クロック信号の供給先となるFFの入力が変化しない場合に、そのFFへのクロック信号の供給を一時的に停止することにより、対象回路の消費電力を削減することができる。また、トグルレートは、信号の信号値が変化した単位時間当たりの回数を表すものである。

0023

すなわち、CGICから出力される信号やトグルレートが変化するセルから出力される信号の波形データは、対象回路の消費電力を見積もる際の重要な指標となる。このため、電力見積支援装置100は、CGICから出力される信号やトグルレートが変化するセルから出力される信号を観測信号として選択することにしてもよい。

0024

図1の例では、ネットリストNLに基づく対象回路に含まれるセルC1〜C6が表示されている。そして、対象回路内のセルC6から出力される信号sigが観測信号として選択されている。ただし、図面では、対象回路の一部を抜粋して表示している。

0025

(4)電力見積支援装置100は、作成したマッピング情報101を参照して、ネットリストNL上の選択した観測信号を出力する第1のセルを起点として前段のセルを順次辿る。これにより、電力見積支援装置100は、RTL設計データRDの信号と対応関係を有するネットリストNLの信号が入力される第2のセルを検出する。

0026

図1の例では、ネットリストNLのセルC1に入力される信号の信号名「A」とRTL設計データRDの信号名「a」とが対応している。また、ネットリストNLのセルC2に入力される信号の信号名「B」とRTL設計データRDの信号名「b」とが対応している。ネットリストNLのセルC3に入力される信号の信号名「C」とRTL設計データRDの信号名「c」とが対応している。また、セルC6から出力される信号sigが観測信号として選択されているため、セルC6が第1のセルとなる。このため、セルC6を起点として前段のセルを順次辿ることにより、セルC1、セルC2およびセルC3が第2のセルとして検出される。

0027

(5)電力見積支援装置100は、検出した第2のセルから第1のセルまでの部分回路をネットリストNLの中から抽出することにより、RTL設計データRDとネットリストNLとの差分を表す差分回路情報を作成する。図1の例では、セルC1〜C6を含む部分回路102を表す差分回路情報103が作成される。

0028

(6)電力見積支援装置100は、第2のセルに入力されるネットリストNLの信号と対応関係を有するRTL設計データRDの信号の信号名と、第2のセルとを対応付けて表す信号情報を作成する。具体的には、例えば、信号情報は、RTL設計データRDとネットリストNLとの差分を表す部分回路の入力端子と、該入力端子に入力される信号と対応関係を有するRTL設計データRDの信号の信号名とを対応付けて表す情報である。図1の例では、信号情報104が作成されている。

0029

ここで、セルC1に入力されるネットリストNLの信号(信号名「A」)と対応関係を有するRTL設計データRDの信号の信号名は「a」である。また、セルC2に入力されるネットリストNLの信号(信号名「B」)と対応関係を有するRTL設計データRDの信号の信号名は「b」である。また、セルC3に入力されるネットリストNLの信号(信号名「C」)と対応関係を有するRTL設計データRDの信号の信号名は「c」である。

0030

このため、信号情報104は、RTL設計データRDの信号の信号名「a」とセルC1とを対応付けて表す信号情報を含む。また、信号情報104は、RTL設計データRDの信号の信号名「b」とセルC2とを対応付けて表す信号情報を含む。また、信号情報104は、RTL設計データRDの信号の信号名「c」とセルC3とを対応付けて表す信号情報を含む。

0031

(7)電力見積支援装置100は、作成した差分回路情報と信号情報とを関連付けて出力する。図1の例では、差分回路情報103と信号情報104とが関連付けて出力されることになる。

0032

以上説明した、本実施の形態にかかる電力見積支援装置100によれば、RTL設計データRDとネットリストNLとの差分を表す差分回路情報を作成することができる。また、電力見積支援装置100によれば、第2のセルに入力されるネットリストNLの信号と対応関係を有するRTL設計データRDの信号の信号名と、第2のセルとを対応付けて表す信号情報を作成することができる。

0033

これにより、例えば、部分回路102の各入力端子に入力される信号と対応関係を有するRTL設計データRDの信号の信号名「a,b,c」を特定することができる。このため、RTL用のテストベンチにおいて、RTL設計データRDと部分回路102とを適切に接続することができるようになる。

0034

すなわち、RTL設計データRDと差分回路情報103とをRTL用のテストベンチに与えることにより、対象回路の論理シミュレーションの実行が可能となる。この結果、対象回路の消費電力を見積もる際の重要な指標となる信号、例えば、RTL設計データRDからは推測が難しい信号の波形データを取得可能となり、対象回路の電力見積もりを支援することができる。

0035

以下の説明では、図1に示した電力見積支援装置100を、対象回路の消費電力を見積もる電力見積装置200に適用した場合について説明する。

0036

(電力見積装置200のハードウェア構成例)
図2は、電力見積装置200のハードウェア構成例を示すブロック図である。図2において、電力見積装置200は、CPU(Central Processing Unit)201と、ROM(Read‐Only Memory)202と、RAM(Random Access Memory)203と、磁気ディスクドライブ204と、磁気ディスク205と、光ディスクドライブ206と、光ディスク207と、ディスプレイ208と、I/F(Interface)209と、キーボード210と、マウス211と、スキャナ212と、プリンタ213と、を有している。また、各構成部はバス200によってそれぞれ接続されている。

0037

ここで、CPU201は、電力見積装置200の全体の制御を司る。ROM202は、ブートプログラムなどのプログラムを記憶している。RAM203は、CPU201のワークエリアとして使用される。磁気ディスクドライブ204は、CPU201の制御にしたがって磁気ディスク205に対するデータのリードライトを制御する。磁気ディスク205は、磁気ディスクドライブ204の制御で書き込まれたデータを記憶する。

0038

光ディスクドライブ206は、CPU201の制御にしたがって光ディスク207に対するデータのリード/ライトを制御する。光ディスク207は、光ディスクドライブ206の制御で書き込まれたデータを記憶したり、光ディスク207に記憶されたデータをコンピュータに読み取らせたりする。

0039

ディスプレイ208は、カーソルアイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ208は、例えば、CRTTFT液晶ディスプレイプラズマディスプレイなどを採用することができる。

0040

I/F209は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク214に接続され、このネットワーク214を介して他の装置に接続される。そして、I/F209は、ネットワーク214と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F209には、例えば、モデムLANアダプタなどを採用することができる。

0041

キーボード210は、文字数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、タッチパネル式入力パッドテンキーなどであってもよい。マウス211は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールジョイスティックなどであってもよい。

0042

スキャナ212は、画像を光学的に読み取り、電力見積装置200内に画像データを取り込む。なお、スキャナ212は、OCR(Optical Character Reader)機能を持たせてもよい。また、プリンタ213は、画像データや文書データ印刷する。プリンタ213には、例えば、レーザプリンタインクジェットプリンタを採用することができる。

0043

なお、電力見積装置200は、上述した構成部のうち、例えば、光ディスクドライブ206、光ディスク207、スキャナ212、プリンタ213等を有していなくてもよい。

0044

(電力見積装置200の機能的構成例)
つぎに、電力見積装置200の機能的構成例について説明する。図3は、電力見積装置200の機能的構成例を示すブロック図である。図3において、電力見積装置200は、取得部301と、マッピングデータ作成部302と、差分回路作成部303と、計測回路作成部304と、実行部305と、電力算出部306と、出力部307と、を含む構成である。取得部301〜出力部307は制御部となる機能であり、具体的には、例えば、図2に示したROM202、RAM203、磁気ディスク205、光ディスク207などの記憶装置に記憶されたプログラムをCPU201に実行させることにより、または、I/F209により、その機能を実現する。また、各機能部の処理結果は、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶装置に記憶される。

0045

取得部301は、対象回路のRTL設計データRDを取得する機能を有する。また、取得部301は、対象回路のネットリストNLを取得する機能を有する。具体的には、例えば、取得部301は、図2に示したキーボード210やマウス211を用いたユーザの操作入力により、RTL設計データRDおよびネットリストNLを取得する。

0046

また、取得部301は、例えば、ネットワーク214を介して、外部のコンピュータからRTL設計データRDおよびネットリストNLを取得することにしてもよい。なお、取得部301は、例えば、取得したRTL設計データRDを論理合成することにより、ネットリストNLを取得することにしてもよい。ただし、この場合、ネットリストNLは、レイアウト前のネットリストとなる。

0047

マッピングデータ作成部302は、対象回路のRTL設計データRDとネットリストNLとの間で同一の信号線を指す信号の対応関係を表すマッピングデータMDを作成する機能を有する。具体的には、例えば、マッピングデータ作成部302は、RTL設計データRDとネットリストNT等価性検証ツールに与えて、ネットリストNLの信号名に一致するRTL設計データRDの信号名を検出することによりマッピングデータMDを作成する。なお、マッピングデータMDは、図1に示したマッピング情報101に相当する。

0048

また、マッピングデータ作成部302は、論理合成ツールおよびユーザ定義による設計ルールにより、マッピングデータMDを作成することにしてもよい。例えば、RTL設計データRDのFFになる信号線名とネットリストNLの中の信号線名「+_reg」というFFの出力端子が対応するというルールがあれば、この対応関係を表す情報が作成される。ここで、マッピングデータMDの具体例について説明する。

0049

図4は、マッピングデータMDの具体例を示す説明図である。図4において、マッピングデータMDは、対象回路のRTL設計データRDとネットリストNLとの間で同一の信号線を指す信号の対応関係を表す対応情報(例えば、対応情報400−1〜400−3)を有している。各対応情報には、CSV(Comma Separated Values)形式により、ネットリストNLの信号名に対応するRTL設計データRDの信号名が記述されている。

0050

例えば、対応情報400−1によれば、対象回路のネットリストNLの信号名「MBAAA.a_register_req_0_.Q」とRTL設計データRDの信号名「MBAAA.a_register[0]」との対応関係を特定することができる。

0051

図3の説明に戻り、差分回路作成部303は、ネットリストNLとマッピングデータMDとに基づいて、差分回路を作成する機能を有する。ここで、差分回路とは、RTL設計データRDとネットリストNLとの差分を表す部分回路である。

0052

具体的には、例えば、差分回路作成部303は、対象回路の基礎データを作成する。ここで、基礎データとは、対象回路の論理シミュレーションや電力見積もりに用いられる情報である。基礎データは、例えば、後述するコンフィギュレーションデータCGと差分回路データDFとを含む。

0053

コンフィギュレーションデータCGは、クロック起点データCKDと、計算範囲IDマップデータEDと、クロック起点親子関係データFDと、メモリ端子データMDと、非クロックツリー観測ポイントデータODと、電力係数(ユニットセル)データPUと、電力係数(メモリ)データPMと、差分回路コンフィギュレーションデータDCGと、を含むファイル群である。基礎データの作成例については、図5図21を用いて後述する。

0054

計測回路作成部304は、観測信号の信号値の変化を計測する計測回路を作成する機能を有する。ここで、観測信号は、上述したように、対象回路の消費電力の要因となるセルから出力される信号である。計測回路は、例えば、観測信号の信号値が変化した回数を計測する回路である。すなわち、計測回路は、観測信号のトグルレートを計測するための回路である。

0055

具体的には、例えば、計測回路作成部304は、計測回路計画MPに基づいて、計測回路を作成する。計測回路計画MPは、どのような計測回路を作成するのかを決める情報である。計測回路の作成例については、図22図28を用いて後述する。

0056

実行部305は、RTL設計データRDに基づいて、対象回路の論理シミュレーションを実行する機能を有する。具体的には、例えば、実行部305は、後述の図19に示すようなRTL用のテストベンチに差分回路と計測回路とが実装された結果、RTL設計データRDに基づく対象回路の論理シミュレーションを実行する。

0057

論理シミュレーションの実行結果には、観測信号の波形データに関する情報が含まれている。具体的には、例えば、論理シミュレーションの実行結果には、観測信号の信号値が変化した単位時間当たりの回数を表すトグルレートが含まれている。論理シミュレーションの実行結果を表す動的統計データERについては、図29を用いて後述する。

0058

なお、論理シミュレーションは、エミュレータを用いて実行することにしてもよく、また、ソフトウェア論理シミュレータを用いて実行することにしてもよい。エミュレータとは、FPGAやプロセッサなどを使ったシミュレーション専用のハードウェアである。

0059

電力算出部306は、対象回路の消費電力を算出する機能を有する。具体的には、例えば、電力算出部306は、論理シミュレーションの実行結果を表す動的統計データERに基づいて、対象回路の消費電力を見積もる。動的統計データERに基づく対象回路の消費電力の見積例については、図30を用いて後述する。

0060

出力部307は、算出された対象回路の消費電力を出力する機能を有する。具体的には、例えば、出力部307は、図31図33に示すような電力見積データPEを出力することにしてもよい。出力形式としては、例えば、ディスプレイ208への表示、プリンタ213への印刷出力、I/F209による外部装置への送信、RAM203、磁気ディスク205、光ディスク207などの記憶装置への記憶がある。

0061

また、出力部307は、作成された差分回路(例えば、差分回路データDF、差分回路コンフィギュレーションデータDCG等)を出力することにしてもよい。また、出力部307は、作成された計測回路(例えば、計測回路計画MP、計測回路インスタンスデータMI、計測回路データKD等)を出力することにしてもよい。これにより、RTL設計データRDと差分回路データDFとに基づく論理シミュレーションを任意のタイミングで行うことができる。

0062

(基礎データの作成例)
つぎに、図5図21を用いて基礎データの作成例について説明する。まず、電力見積用の設定を行うためのスクリプトについて説明する。

0063

図5は、電力見積設定データSTの具体例を示す説明図である。図5において、電力見積設定データSTは、対象回路の消費電力を見積もる電力見積用の設定を行うスクリプトである。電力見積設定データSTは、例えば、ROM202、RAM203、磁気ディスク205、光ディスク207などの記憶装置に記憶されている。

0064

まず、電力見積装置200は、例えば、電力見積設定データSTの処理スクリプト(2行目)を読み込む。つぎに、電力見積装置200は、電力見積もり対象となる対象回路のトップモジュール名を設定して、ネットリストNLと対応したテクノロジーライブラリTLBを読み込む。

0065

ここで、テクノロジーライブラリTLBは、例えば、セルごとの電力特性に関する情報やワイヤロードモデルなどを有する情報である。セルの電力特性に関する情報には、例えば、セルの内部で1回のトグル消費する電力量などが含まれている。テクノロジーライブラリTLBは、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶装置に記憶されている。

0066

そして、電力見積装置200は、ネットリストNLを読み込み、クロックソース起点データCSを読み込み、配線容量データWDを読み込んで信号線に容量値を書きこむ。ここで、クロックソース起点データCSは、対象回路内のクロックソースの起点を示すSDC(Synopsys Design Constraint)ファイルである。

0067

また、配線容量データWDは、レイアウト後の対象回路内の各セル間の配線の容量値を示す情報である。これにより、対象回路の消費電力を見積もる電力見積処理に必要なデータがメモリ(例えば、RAM203)上に展開され、電力見積処理を実行できる状態になる。電力見積装置200は、例えば、ユーザの操作入力により、クロックソース起点データCSおよび配線容量データWDを取得する。

0068

なお、各配線の容量値は、例えば、ワイヤロードモデルと呼ばれる面積ファンアウトから算出されてもよく、また、PLE(Physical Layout Estimator)技術を用いて算出されることにしてもよい。ワイヤロードモデルは、例えば、テクノロジーライブラリTLBに記述されている。

0069

つぎに、電力見積装置200は、インスタンス名および深さを指定する(fpa2::calc_inst::setup)。これは、指定したインスタンス名から指定した深さまでにあるインスタンスで指定値以上の面積があるインスタンスを計算範囲とする処理である。これにより、消費電力を見積もる粒度を指定することができる。インスタンスは、例えば、対象回路内のセルやマクロである。

0070

また、電力見積装置200は、差分回路の作成が必要な場合は「setup_mapping_data」をコールしてマッピングデータMDを読み込む。そして、電力見積装置200は、「fpa2::std::run」を実行する。これにより、基礎データを作成する基礎データ作成処理が実行されて基礎データが作成されることになる。

0071

以下、基礎データ作成処理の具体的な処理内容について説明する。

0072

まず、電力見積装置200は、対象回路のDBにデータフィールドを追加する。これにより、対象回路のセルや入出力端子等に各種情報を設定することができる。また、セルや入出力端子等に数値を設定する場合、予めデフォルト値(例えば、「−1」)を設定することができる。

0073

つぎに、電力見積装置200は、ネットリストNLおよびクロックソース起点データCSに基づいて、対象回路のクロックツリー解析を行うことにより、クロック起点データCKDを作成する。ここで、クロックツリーとは、対象回路のクロックソースから辿ることができる出力端子を有するセルの集合である。クロックツリー解析により、対象回路内の出力端子群を、クロックソースから辿ることができる出力端子群と、該出力端子群とは異なる残余の出力端子群とに分類することができる。

0074

また、クロック起点データCKDとは、部分クロックツリーと信号名とを対応付けて表す情報である。部分クロックツリーは、クロックツリーのうちトグルレートが同じであることが保証されているセル群を含む部分である。クロック起点親子関係データFDは、対象回路内の部分クロックツリーの親子関係に関するファイルである。

0075

具体的には、例えば、電力見積装置200は、クロックソース起点データCSで指定されるクロックソースの起点からセルを順次辿っていき、セルの端子にID番号を付与する。より具体的には、例えば、電力見積装置200は、クロックソースの起点から順にセルを辿っていき、インバータとバッファ以外のセルを検出したらID番号を変更して、変更後のID番号をセルの出力端子に付与する。

0076

また、電力見積装置200は、セルがFF、CGIC、RAM/ROMの場合は、セルの入力端子にも同じID番号を付与する。なお、電力見積装置200は、セルがCGICか否かの判断は、例えば、セルにCGIC特有のデータフィールドがあるか否かによって判断することができる。

0077

これにより、トグルレートが同じになるクロックツリー上のセルの出力端子と、FF、CGIC、RAM/ROMの入力端子に同じID番号を付与することができる。なお、クロックツリーとは異なる部分、すなわち、非クロックツリーのセルの端子には、例えば、ID番号「−1」が付与される。

0078

以下の説明では、部分クロックツリーの識別子を「部分クロックツリーID」または「クロックエリアID」と表記する場合がある。

0079

つぎに、電力見積装置200は、インスタンスのクロックエリアIDを、セルの各端子に付与したID番号を参照して設定する。具体的には、例えば、電力見積装置200は、出力端子にID番号が付与されている端子の一覧を取り出して、インスタンスに付与し、更に入力端子にID番号が付与されている場合にはその番号をインスタンスに付与する。ここで、クロック起点データCKDおよびクロック起点親子関係データFDの具体例について説明する。

0080

図6は、クロック起点データCKDの具体例を示す説明図である。図6において、クロック起点データCKDは、CSV形式により、部分クロックツリーIDと信号名とをカンマ区切りで対応付けて表すクロック起点情報(例えば、クロック起点情報600−1〜600−10)を有している。

0081

ここで、信号名は、部分クロックツリーに含まれる信号のうちの代表信号の信号名である。代表信号は、例えば、ID番号が変更されるセルの出力端子から出力される信号、すなわち、トグルレートが変わるセルの出力端子名である。例えば、クロック起点情報600−1によれば、部分クロックツリーID「0」と信号名「MB8AC0120QU8L・・・」との対応関係を特定することができる。

0082

図7は、クロック起点親子関係データFDの具体例を示す説明図である。図7において、クロック起点親子関係データFDは、CSV形式により、親となる部分クロックツリーIDと、子となる部分クロックツリーIDとを対応付けて表す親子関係情報(例えば、親子関係情報700−1)を有している。

0083

図7の例では、子となる部分クロックツリーIDの区切り文字空白である。例えば、親子関係情報700−1によれば、部分クロックツリーID「0」の子となる部分クロックツリーID「1,2,3,…,81」を特定することができる。

0084

基礎データ作成処理の説明に戻り、電力見積装置200は、対象回路上の計算範囲を指定する。計算範囲は、対象回路上の領域のうち電力見積もり対象となる領域である。具体的には、例えば、電力見積装置200は、キーボード210やマウス211を用いたユーザの操作入力により、対象回路上の計算範囲を指定して計算範囲IDを付与する。

0085

より具体的には、例えば、電力見積装置200は、ユーザの操作入力により、電力見積もり対象となるインスタンスへのパスを指定する。そして、電力見積装置200は、深さが「0」より大きい場合には指定されたインスタンスからみて、その深さまでで所定値よりも面積が大きいインスタンスを計算範囲として指定して計算範囲IDを付与する。

0086

これにより、計算範囲IDとインスタンス名とを対応付けて表す計算範囲IDマップデータEDが作成される。ここで、計算範囲IDマップデータの具体例について説明する。

0087

図8は、計算範囲IDマップデータEDの具体例を示す説明図である。図8において、計算範囲IDマップデータEDは、CSV形式により、計算範囲IDとインスタンス名とデバッグ用データ(2個)とをカンマ区切りで対応付けて表す計算範囲情報(例えば、計算範囲情報800−1〜800−8)を有している。

0088

インスタンス名は、例えば、セルやマクロのインスタンス名や階層インスタンスのインスタンス名である。例えば、計算範囲情報800−1によれば、計算範囲ID「0」とインスタンス名「MB8AC0120QU8L」とデバッグ用データ「726159993.0」および「482320392.0」との対応関係を特定することができる。ここで、計算範囲IDと部分クロックツリーIDの付与例について説明する。

0089

図9は、計算範囲IDと部分クロックツリーIDの付与例を示す説明図である。図9において、太線四角囲み枠は、計算範囲に対応するインスタンスを表している。図9の例では、0番から3番の計算範囲が指定されている。細線の四角の囲み枠は、FFを表している。

0090

丸は、クロック起点を表している。図9の例では、1番から4番のクロック起点が示されている。丸からつながる三角は、部分クロックツリーを表している。図9中、(N,M)という表記は、(計算範囲ID,部分クロックツリーID)を表している。

0091

基礎データ作成処理の説明に戻り、電力見積装置200は、対象回路からのRAM/ROMの抽出を行う。そして、電力見積装置200は、RAM/ROMへのアクセス回数がわかる信号のセットを指定する。この結果、メモリ端子データMDが作成される。メモリ端子データMDは、対象回路内のメモリのインスタンス名と各ポートのアクセス回数をカウントする式が記述されたファイルである。ここで、メモリ端子データMDの具体例について説明する。

0092

図10は、メモリ端子データMDの具体例を示す説明図である。図10において、メモリ端子データMDは、XML(Extensible Markup Language)形式により、対象回路内の各メモリのメモリ情報(例えば、メモリ情報1000−1,1000−2)を有している。

0093

また、各メモリ情報は、一つのインスタンスに関する情報の集まりを示している。ここで、memIDは、メモリのIDである。calcInstIdは、インスタンスが属する計算範囲IDである。nameは、インスタンスの名称である。

0094

また、各メモリ情報は、各メモリのポート情報(例えば、ポート情報1000−1−1,1000−1−2)を有している。ここで、memIDは、メモリのIDである。calcInstIdは、インスタンスが属する計算範囲IDである。signalは、ポートへのアクセス回数がわかる信号である。メモリ端子データMDによれば、対象回路内のメモリの各ポートのアクセス回数をカウントする式を特定することができる。

0095

基礎データ作成処理の説明に戻り、電力見積装置200は、対象回路から非クロックツリーの観測信号を抽出する。具体的には、例えば、電力見積装置200は、ネットリストNLを参照して、非クロックツリーの信号のうち比率rの信号をランダムに選択することにより、非クロックツリーの観測信号を抽出する。

0096

具体的には、例えば、電力見積装置200は、非クロックツリーの中からいずれかの出力端子をランダムに選択する。この出力端子は、クロックソースから辿ることができない出力端子である。そして、電力見積装置200は、非クロックツリーの中から選択した出力端子の個数閾値未満か否かを判断する。

0097

閾値は、例えば、非クロックツリーに含まれる出力端子の総数、すなわち、クロックソースから辿ることができない出力端子の総数に比率rを掛けることにより得られる値である。ここで、選択した出力端子の個数が閾値未満の場合、電力見積装置200は、非クロックツリーの中から未選択の出力端子をランダムに選択する。これにより、非クロックツリーに含まれる信号のうちの比率rの信号をランダムに選択することができ、非クロックツリーの信号を間引くことができる。

0098

比率rは、予め設定されてROM202、RAM203、磁気ディスク205、光ディスク207などの記憶装置に記憶されている。比率rは、例えば、2[%]である。なお、電力見積装置200は、対象回路内の指定された計算範囲ごとに、非クロックツリーの信号のうち比率rの信号をランダムに選択することにしてもよい。

0099

この結果、非クロックツリー観測ポイントデータODが作成される。非クロックツリー観測ポイントデータODは、各々の計算範囲で観測すべき信号をリスト化したファイルである。ここで、非クロックツリー観測ポイントデータODの具体例について説明する。

0100

図11は、非クロックツリー観測ポイントデータODの具体例を示す説明図である。図11において、非クロックツリー観測ポイントデータODは、CSV形式により、計算範囲IDと観測すべき信号名とを対応付けて表す観測ポイント情報(例えば、観測ポイント情報1100−1〜1100−10)を有している。

0101

例えば、観測ポイント情報1100−1によれば、計算範囲ID「0」の計算範囲において観測すべき観測信号の信号名「MB8AC0120QU8L・・・」を特定することができる。

0102

基礎データ作成処理の説明に戻り、電力見積装置200は、対象回路内のユニットセルおよびメモリの電力係数を算出する。ここで、ユニットセルとは、ANDゲート、FFなどのセルである。具体的には、例えば、電力見積装置200は、クロックツリー系のトグルレートと非クロックツリー系のトグルレートにそれぞれ固定値を与えて電力値を求めることにより、ユニットセルおよびメモリの電力係数を算出することにしてもよい。例えば、クロックツリー系のトグルレートの固定値は、「0.2」であり、非クロックツリー系のトグルレートの固定値は「0.1」である。

0103

この結果、電力係数(ユニットセル)データPUおよび電力係数(メモリ)データPMが作成される。電力係数(ユニットセル)データPUは、対象回路内のユニットセルの電力係数の値が記述されたファイルである。電力係数(メモリ)データPMは、対象回路内のメモリの電力係数の値が記述されたファイルである。ここで、電力係数(ユニットセル)データPUおよび電力係数(メモリ)データPMの具体例について説明する。

0104

図12は、電力係数(ユニットセル)データPUの具体例を示す説明図である。図12において、電力係数(ユニットセル)データPUは、CSV形式により、回路範囲と電力係数値と補足情報とを対応付けて表す電力係数情報(例えば、電力係数情報1200−1〜1200−10)を有している。

0105

電力係数情報のうち、カンマで区切られた1番目と2番目の情報が回路範囲を表している。具体的には、1番目の情報が計算範囲IDを表し、2番目の情報が部分クロックツリーIDを表している。また、電力係数情報のうち、カンマで区切られた3番目〜6番目の情報が電力係数値である。

0106

具体的には、3番目の情報がクロックツリーに含まれるセル群のうちのFFではないセルの電力係数値である。4番目の情報が非クロックツリーに含まれるセル群のうちのFFではないセルの電力係数値である。5番目の情報が非クロックツリーに含まれるセル群のうちのFFの電力係数値である。6番目の情報が非クロックツリーに含まれるセル群のうちのFFの電力係数値である。また、電力係数情報のうち、カンマで区切られた7番目〜11番目の情報がデバッグ用の補足情報である。

0107

例えば、電力係数情報1200−1によれば、計算範囲ID「0」および部分クロックツリーID「−1」から特定される回路範囲の各種セルの電力係数値を特定することができる。なお、部分クロックツリーID「−1」は、非クロックツリー系を表している。

0108

図13は、電力係数(メモリ)データPMの具体例を示す説明図である。図13において、電力係数(メモリ)データPMは、CSV形式により、メモリ名(例えば、RAM名)と電力係数値とを対応付けて表す電力係数情報(例えば、電力係数情報1300−1〜1300−10)を有している。

0109

電力係数値は、例えば、1ポート当たりの電力値であり、リードとライトの平均値である。例えば、電力係数情報1300−1によれば、RAM名「MB8AC0120QU8L/・・・」の電力係数値「2294333.000000」を特定することができる。

0110

基礎データ作成処理の説明に戻り、電力見積装置200は、RTL設計データRDとネットリストNLとの差分回路を表す差分回路データDFを作成する。ここで、図14図18を用いて、差分回路データDFの作成例について説明する。

0111

図14図16は、差分回路データDFの作成例を示す説明図である。図14の(i)において、ネットリストNLに基づく、対象回路内のセルC1〜C11と、セル間の接続関係を表す配線w1〜w10と、各セルC1〜C11の出力端子p1〜p11とが示されている。なお、図面では、対象回路の一部を抜粋して表示している。

0112

図14の(ii)において、電力見積装置200は、各セルC1〜C11の出力端子p1〜p11にワイヤID(図中、「wire_id」)を付与する。ワイヤIDは、セル間の配線を識別する識別子である。図14の(ii)の例では、各セルC1〜C11の出力端子p1〜p11にワイヤIDのデフォルト値「−1」が付与されている。

0113

図15の(iii)において、電力見積装置200は、マッピングデータMDを参照して、ネットリストNL上の信号の信号名うち、RTL設計データRD上の信号の信号名に対応する信号の信号名を特定する。そして、電力見積装置200は、特定した信号名の信号を出力する出力端子を端点とするネットリストNL上の配線に、対応するRTL設計データRDの信号名を付与する。

0114

図15の(iii)の例では、配線w1にRTL設計データRDの信号名「A[0]」が付与され、配線w2にRTL設計データRDの信号名「A[1]」が付与されている。また、配線w3にRTL設計データRDの信号名「B[0]」が付与され、配線w4にRTL設計データRDの信号名「B[1]」が付与され、配線w5にRTL設計データRDの信号名「B[2]」が付与されている。

0115

図15の(iv)において、電力見積装置200は、クロック起点データCKDおよび非クロックツリー観測ポイントデータODを参照して、観測対象となる観測信号を選択する。観測信号は、例えば、部分クロックツリーに含まれる信号のうちの代表信号および非クロックツリーの中からランダムに選択された信号である。

0116

図15の(iv)の例では、セルC9の出力端子p9から出力される観測信号s1が選択されている(図15(iv)中、太線)。この場合、電力見積装置200は、例えば、観測信号s1を出力する出力端子p9(または、配線w9)をドライブして、出力端子p9のワイヤIDにID番号を付与する。図15の(iv)の例では、出力端子p9のワイヤIDにID番号「0」が付与されている。

0117

図16の(v)において、電力見積装置200は、ネットリストNL上の観測信号を出力するセルから後段のセルを順次辿ることにより、RTL設計データRD上の信号の信号名に対応する信号名の信号を出力するセルを検出する。

0118

具体的には、例えば、電力見積装置200は、ネットリストNLを参照して、ドライブした出力端子p9(または、配線w9)から深さ「1」のファンインの端子一覧を特定する。つぎに、電力見積装置200は、特定した端子一覧の中から出力端子を選択して、選択した出力端子のワイヤIDにID番号を付与する。

0119

そして、電力見積装置200は、選択した出力端子を端点とする配線にRTL設計データRDの信号名が付与されているか否かを判断する。電力見積装置200は、例えば、RTL設計データRDの信号名が付与された配線が検出されるまで、選択した出力端子を起点とする深さ「1」のファンインの端子一覧の特定および出力端子のワイヤIDへのID番号の付与を繰り返す。

0120

図16の(v)の例では、出力端子p6のワイヤIDにID番号「1」が付与されている。また、出力端子p7のワイヤIDにID番号「2」が付与されている。この時点では、RTL設計データRDの信号名が付与された配線は未検出である。

0121

図16の(vi)の例では、出力端子p1のワイヤIDにID番号「3」が付与されている。また、出力端子p2のワイヤIDにID番号「4」が付与されている。また、出力端子p3のワイヤIDにID番号「5」が付与されている。また、RTL設計データRDの信号名が付与された配線w1,w2,w3が検出されている。

0122

そして、電力見積装置200は、選択した観測信号に対応する、RTL設計データRDとネットリストNLとの差分回路を表す差分回路データDFを作成する。具体的には、例えば、まず、電力見積装置200は、対象回路の中からワイヤIDにID番号(デフォルト値以外のID番号)が付与された出力端子を抽出する。より具体的には、例えば、電力見積装置200は、対象回路の中からワイヤIDが非負数の出力端子を抽出する。図16の(iv)の例では、出力端子p1,p2,p3,p6,p7,p9が抽出される。

0123

ここで、観測信号s1は、RTL設計データRDに含まれていない信号名の信号である。また、出力端子p1,p2,p3は、RTL設計データRDの信号名が付与された配線w1,w2,w3の端点である。このため、観測信号s1に対応する差分回路は、出力端子p6,p7,p9を有するセルC6,C7,C9を含む部分回路となる。

0124

ここで、差分回路データDFの具体例について説明する。差分回路データDFは、差分回路の回路記述とインスタンス記述とを含む。

0125

図17は、差分回路の回路記述の具体例を示す説明図である。図17において、回路記述1700は、RTL設計データRDとネットリストNLとの差分回路を表すロジックコーンを含む。ロジックコーンは、例えば、図16の(vi)に示した観測信号s1が選択された場合の例では、セルC6,C7,C9を含む部分回路となる。

0126

具体的には、例えば、回路記述1700は、差分回路の出力端子に接続されている配線のワイヤIDを表す記述を含む。図16の(vi)に示した例では、差分回路の出力端子p9に接続されている配線のワイヤID「0」を表す記述が含まれる。また、回路記述1700は、差分回路の各々の入力端子に接続されている各々の配線のワイヤIDを表す記述を含む。図16の(vi)に示した例では、差分回路の各々の入力端子に接続されている各々の配線のワイヤID「3」、「4」および「5」を表す記述が含まれる。

0127

また、回路記述1700は、差分回路に含まれる各セルに接続されている配線のワイヤIDを表す記述を含む。図16の(vi)に示した例では、差分回路に含まれるセルC9に接続されている配線のワイヤID「0」、「1」および「2」を表す記述が含まれる。また、差分回路に含まれるセルC6に接続されている配線のワイヤID「1」および「3」を表す記述が含まれる。また、差分回路に含まれるセルC7に接続されている配線のワイヤID「2」、「4」および「5」を表す記述が含まれる。

0128

例えば、図16の場合、差分回路の入力ポート数は3、出力ポート数は1なので、入出力の端子はinput[2:0]in_data,output[0:0]out_dataとなる。また、wire_idは0〜5までの合計6個あるので、これらに対応するワイヤを宣言する。例えば、wire[0:5] internal_wire;とする。in_dataのインデックス0,1,2に対応するポートp1,p2,p3とした場合、assign internal_wire[3]=in_data[0];assign internal_wire[4]=in_data[1];assign internal_wire[5]=in_data[2];という記述を記載する。同様に、出力についてはassign out_data[0]=internal_wire[0];という記述を記載する。

0129

セルのインスタンスはもとの記述において、例えば、C3についてはBUF U3(.A(w1),.Y(w6))というように記載されている。従って、インスタンス名の一意名を生成して、C3に対応する記述として、BUF inst_0000(.A(.internal_wire[3]),.Y(internal_wire_[1]))と生成する。他のインスタンスについても同様である。このようにすることで、平坦化した回路を生成でき、ロジックコーン部分の切り出しが行えて、切り出した記述が1700の切り出したロジックコーンの記述の生成が行える。

0130

図18は、差分回路のインスタンス記述の具体例を示す説明図である。図18において、インスタンス記述1800は、差分回路がインスタンスされているコードを表している。具体的には、例えば、インスタンス記述1800には、差分回路をインスタンスしたモジュールに与えるインスタンス名が絶対パスで与えられる。

0131

例えば、RTLのテストベンチに「diff_circuit」という名前で差分回路を置く場合、シミュレーション環境における被評価回路(対象回路)のトップのモジュールへの絶対パス(例えば、testbench.target)が指定される。この際、シミュレーション環境で階層参照可能な信号に書き換えることにより、インスタンス記述1800が作成される。

0132

回路記述1700およびインスタンス記述1800によれば、差分回路の出力(例えば、out_data)に差分回路の出力信号が出力されることになる。ここで、RTLのテストベンチの記述例について説明する。なお、RTLのテストベンチは、例えば、RAM203、磁気ディスク205、光ディスク207などの記憶装置に記憶されている。

0133

図19は、RTLのテストベンチの記述例を示す説明図である。図19において、記述1900は、RTLのテストベンチに含まれる記述であり、RTLのテストベンチ中に、後述する計測回路および差分回路をインスタンスするためのものである。図面では、RTLのテストベンチの一部を抜粋して表示している。なお、差分回路がない場合は計測回路のみに関する記述があればよい。

0134

電力見積装置200は、例えば、クロック起点データCKDおよび非クロックツリー観測ポイントデータODの中から選択されていない未選択の観測信号がなくなるまで、観測信号を選択して差分回路を作成する処理を繰り返し行う。この際、電力見積装置200は、観測信号ごとの差分回路データDFを作成してもよい。ただし、選択された観測信号の信号名に対応する信号名がRTL設計データRDに含まれる場合、差分回路データDFの作成は行われない。

0135

また、電力見積装置200は、クロック起点データCKDおよび非クロックツリー観測ポイントデータODの中から選択されていない未選択の観測信号がなくなるまで、図15および図16に示したような処理を行った後、差分回路データDFを作成してもよい。この場合、対象回路に対して一つの差分回路データDFが作成される。これにより、観測信号ごとの差分回路データDFを作成する場合に比べて、差分回路間の重複部分を排除することができ、差分回路の回路量を削減することができる。

0136

また、電力見積装置200は、作成した差分回路データDFに対応する差分回路コンフィギュレーションデータDCGを作成する。ここで、差分回路コンフィギュレーションデータDCGは、クロックツリー観測信号/ポート番号関係表CPと、非クロックツリー観測信号/ポート番号関係表NCPと、RTL参照信号/ポート番号関係表RPとを含む。

0137

ここでは、差分回路を1モジュールとし、クロックツリー観測信号/ポート番号関係表CPと、非クロックツリー観測信号/ポート番号関係表NCPとを区別しない場合を例に挙げて説明する。具体的には、クロックツリーまたは非クロックツリーのいずれかの観測信号とポート番号とが関係付けられた関係表を「観測信号/ポート番号関係表SP」とする。なお、クロックツリーの観測信号は、上述したように、部分クロックツリーに含まれる信号のうちの代表信号である。

0138

具体的には、例えば、電力見積装置200は、RTL設計データRDの信号名が付与されている配線の端点となる入力端子と、RTL設計データRDの信号名と対応付けて表すRTL参照信号/ポート番号関係表RPを作成する。ここで、RTL参照信号/ポート番号関係表RPの具体例について説明する。

0139

図20は、RTL参照信号/ポート番号関係表RPの具体例を示す説明図である。図20において、RTL参照信号/ポート番号関係表RPは、差分回路の入力端子のポート番号と、RTL設計データRD上の信号の信号名との関係を示す情報である。なお、RTL参照信号/ポート番号関係表RPは、図1に示した信号情報104に相当する。

0140

RTL参照信号/ポート番号関係表RPによれば、差分回路の入力端子のポート番号「0」と、RTL設計データRD上の信号の信号名「TOP.A.B.C[0]」との関係を特定することができる。また、差分回路の入力端子のポート番号「1」と、RTL設計データRD上の信号の信号名「TOP.A.B.EN_A」との関係を特定することができる。

0141

また、電力見積装置200は、選択した観測信号と、観測信号を出力する出力端子とを対応付けて表す観測信号/ポート番号関係表SPを作成する。ここで、観測信号/ポート番号関係表SPの具体例について説明する。

0142

図21は、観測信号/ポート番号関係表SPの具体例を示す説明図である。図21において、観測信号/ポート番号関係表SPは、差分回路の出力端子のポート番号と、ネットリストNL上の観測信号の信号名との関係を示す情報である。

0143

観測信号/ポート番号関係表SPによれば、差分回路の出力端子のポート番号「0」と、観測信号の信号名「TOP.A.B.s0」との関係を特定することができる。また、差分回路の出力端子のポート番号「1」と、観測信号の信号名「TOP.A.B.s10」との関係を特定することができる。

0144

すなわち、観測信号/ポート番号関係表SPおよびRTL参照信号/ポート番号関係表RPによれば、差分回路のどのポート番号と、どの信号がつながれるべきかを特定することができる。

0145

(計測回路の作成例)
つぎに、計測回路の作成例について説明する。まず、計測回路作成部304は、計測回路の計測回路計画MPを作成する。具体的には、例えば、計測回路作成部304は、計算範囲IDマップデータEDとクロック起点データCKDと非クロックツリー観測ポイントデータODとメモリ端子データMDと電力係数(ユニットセル)データPUとに基づいて、計測回路計画MPを作成する。

0146

図22は、計測回路計画MPの具体例を示す説明図である。図22において、計測回路計画MPは、どのような計測回路を作成するのかを決める情報である。計測回路計画MPには、例えば、コアエレメント個当たりに接続してよい信号数の上限やコアにいれてよいコアエレメントの上限値やグルーピングの条件が記述されている。

0147

グルーピングの条件は、例えば、クロックツリーに含まれる観測信号をグルーピング対象とする条件である。また、グルーピング対象となる信号が代表信号となる部分クロックツリーが1つの計算範囲IDを持ち、全クロックツリーの電力係数の合計値に対して、その部分クロックツリーの電力係数がbound_ratio以下となる条件である。また、同一のコアに含まれるセルには宣言された順にアドレスが振られるものとし、先頭を0とする条件である。これにより、アドレスマップも同時に決めることができる。

0148

つぎに、計測回路作成部304は、計測回路の計測回路データKDを作成する。ここで、計測回路データKDのデータ構造について説明する。

0149

図23は、計測回路データKDのデータ構造例を示す説明図である。図23において、計測回路データKDは、計測回路インスタンスデータMIと、コア記述CAと、最上位記述MHと、を含む。最上位記述MHは、例えば、シミュレーション環境に計測回路をインスタンスするための記述である。

0150

計測回路インスタンスデータMIは、例えば、シミュレーション環境に計測回路に含まれるコアをインスタンスするための記述である。計測回路インスタンスデータMIでは、階層参照する信号の解決を行う。コア記述CAは、計測回路に含まれるコアに関する記述である。ここで、計測回路インスタンスデータMIおよび最上位記述MHの具体例について説明する。

0151

図24は、計測回路インスタンスデータMIの具体例を示す説明図である。図24において、計測回路インスタンスデータMIには、例えば、サンプリングする区間最大値サンプリング期間の指定で許容すべきサイクル数が記述されている。また、計測回路計画MPで決まった計測ポイントの信号名の先頭のモジュール名をトップモジュールへのパスに置き換え設定値にあった値を計測部品アサインする記述が含まれている。

0152

図25は、最上位記述MHの具体例を示す説明図である。図25において、最上位記述MHは、RTLのテストベンチによってインスタンスされ、計測回路をインスタンスするための記述である。

0153

このように、計測回路計画MPに基づいて、セルのインスタンスと階層参照との結線を行い、設定値でbundle_posedge_counter,RAM,BUS,コントローラパラメータ値を決めている。

0154

また、計測回路作成部304は、差分回路が作成された場合、クロックツリー観測信号/ポート番号関係表CPと非クロックツリー観測信号/ポート番号関係表NCPとに基づいて、作成された差分回路に合わせて計測回路データKDを修正する。

0155

例えば、計測回路データKDの参照先は、電力見積用のネットリストNLの信号になっている。このため、計測回路作成部304は、例えば、「TOP.A.B.s0」を「testbench.target.A.B.s0」に変換して、計測回路データKD中の「testbench.target.A.B.s0」の記述を「testbench.diff_circuit.inst.out_data[0]」に置き換える。

0156

同様に、計測回路作成部304は、「TOP.A.B.s10」から置換文字列である「testbench.target.A.B.s10」を得て、計測回路データKD中の「testbench.target.A.B.s10」の記述を「testbench.diff_circuit.inst.out_data[1]」に置き換える。これにより、差分回路に合わせて計測回路データKDを修正することができる。

0157

最後に、計測回路作成部304は、計測回路計画MPに計測回路の情報を付加することにより、計測回路計画MPを更新する。ここで、計測回路計画MPの更新例について説明する。

0158

図26は、計測回路計画MPの更新例を示す説明図である。図26において、計測回路計画MPは、計測回路の情報(図26中、下線部分)が付加された更新後の計測回路計画MPである。図面では、計測回路計画MPの一部を抜粋して表示している。

0159

なお、計測回路の作成については、例えば、特開2007−102337号公報を参照することができる。また、論理シミュレーションをソフトウェアシミュレータで実行する場合には、計測回路中のバスやRAMは不要である。また、計測回路作成部304は、グルーピング回路を用いることにより、計測回路の回路量を削減することにしてもよい。なお、グルーピング回路を用いた計測回路量の削減については、例えば、特開2009−053747号公報を参照することができる。ここで、計測回路の具体例について説明する。

0160

図27および図28は、計測回路の回路構成例を示す説明図である。図27において、計測回路2701は、RTL設計データRDとネットリストNLとの差分回路が作成されなかった場合の観測信号の信号値が変化した回数を計測する回路である。被評価回路2702は、消費電力の見積もり対象となる対象回路を表している。

0161

計測回路2701には、各コアを制御する共通のコントローラがあり、各コアにはデータを保持するためのRAMと、RAMにデータを書き込むためのバスが1つずつある。Counterは、0からバスに接続可能な計測数のMax値−1のアドレスとその時を送る。これにより、bundle_posedge_counterの中でバスに書き込むべきデータを保持するレジスタの値の転送が行われる。

0162

なお、計測回路計画MPにおけるコア、コアエレメントは、計測回路2701中のbundle_posedge_counterにつながれる信号の集まりを指している。

0163

また、図28において、計測回路2801は、RTL設計データRDとネットリストNLとの差分回路が作成された場合の観測信号の信号値が変化した回数を計測する回路である。差分回路インスタンス回路2802は、差分回路がインスタンスされた回路である。被評価回路2803は、消費電力の見積もり対象となる対象回路を表している。

0164

(動的統計データERの具体例)
図29は、動的統計データERの具体例を示す説明図である。図29において、動的統計データERは、論理シミュレーションの実行結果を表す、あるコアのダンプデータである。コアエレメント(CE)の最大数を「1024」にした場合、メモリアドレスは、0x400(=1024)ずつ統計データが格納される。

0165

addressには、(address>>10)回目の(address&(1024−1))番目のCEの結果が格納される。また、0x0〜0x399は、CEが計算中に初期値が書き込まれるため無効データである。このようにして、任意のサンプリングの任意のCEの出力値を取り出すことができる。

0166

(消費電力の見積例)
図30は、動的統計データERに基づく対象回路の消費電力の見積例を示す説明図である。電力算出部306は、電力係数(ユニットセル)データPUと、メモリ端子データMDと、電力係数(メモリ)データPMとを読み込んでコンピュータ処理可能なデータ構造に変換する。

0167

つぎに、電力算出部306は、電力係数(ユニットセル)データPUと、メモリ端子データMDと、電力係数(メモリ)データPMとに基づいて、電力係数を縮退する。ここで、縮退とは、計測回路内の各セルの電力係数の合計値を用いて、計測回路の計測範囲に応じた電力を算出するための電力係数を求める処理である。具体的には、例えば、電力算出部306は、クロックツリー向けの電力係数、非クロックツリー向けの電力係数およびメモリ向けの電力係数を縮退する。

0168

つぎに、電力算出部306は、計算範囲IDマップデータEDと、計測回路計画MPと、現計算における電力係数と、動的統計データERとに基づいて、対象回路の消費電力を算出する。現計算における電力係数とは、縮退後の電力係数、例えば、クロックツリー向けの電力係数、非クロックツリー向けの電力係数およびメモリ向けの電力係数である。

0169

そして、電力算出部306は、電力計算結果出力I/Fを介してデータをダンプする。この際、電力算出部306は、計算範囲で排他的に集計した結果と計算範囲で積算的に集計した結果の2種類を計算範囲IDごとにファイルに落とす。これにより、計測対象の削減に合わせた電力計算が可能となるとともに計算回数を削減することができる。

0170

(電力見積データPEの出力例)
つぎに、図31図33を用いて、電力見積データPEの出力例について説明する。

0171

図31は、電力見積データPEの出力例を示す説明図(その1)である。図31において、電力見積データPEは、対象回路内の各計算範囲について、各計算範囲の電力値と、各計算範囲の電力値および該計算範囲の子孫となる計算範囲の電力値を合算した合算電力値とを示す情報である。

0172

具体的には、電力見積データPEにおいてカンマで区切られた数値のうち、1番目の数値は、クロックツリーを構成する組み合わせセルやCGICなどの電力値を表している。2番目の数値は、組み合わせセルなどの非フリップフロップの電力値を表している。3番目の数値は、クロック端子にクロックツリーがつながっているフリップフロップのクロック端子成分の電力値を表している。

0173

4番目の数値は、クロック端子にクロックツリーがつながっているフリップフロップの非クロック端子成分の電力値を表している。5番目の数値は、クロック端子にクロックツリーがつながっていないフリップフロップの電力値を表している。6番目の数値は、RAM/ROMの電力値を表している。

0174

図32は、電力見積データPEの出力例を示す説明図(その2)である。図32において、波形グラフWGは、図31に示した電力見積データPEをグラフ化したものである。図32中、縦軸は電力値、横軸サンプルIDを表している。サンプルIDは、例えば、所定間隔(例えば、10[μs])ごとの結果の識別子である。波形グラフWGは、下から上に向かって電力見積データPEの1番目〜6番目の数値が順にスタックされたグラフである。

0175

図33は、電力見積データPEの出力例を示す説明図(その3)である。図33において、見積結果リストLTは、ゲートレベルの消費電力を見積もる市販のツールA,B,C,Dの電力見積結果を示す表である。また、図33において、波形グラフWGは、図32に示した波形グラフWGのうち見積結果リストLTの波形データによる電力見積(9.26[μs])に近いと思われる付近を拡大したものである。

0176

波形グラフWGによれば、クロックツリー電力、フリップフロップ電力のクロックツリー部分電力は、他のツールの電力見積結果と比較的よくあっていることが分かる。また、RAM/ROMについては、計算を端折るため精度が落ちるような計算をしているものの他のツールと5[%]程度の誤差しかないことがわかる。また、非クロックツリー部分については、平均が、非フリップフロップが68[mW]、フリップフロップの非クロックツリー部分が23.5[mW]であり、合計92[mW]程度になり、他のツールと近い値となっている。

0177

(電力見積装置200の電力見積処理手順)
つぎに、電力見積装置200の電力見積処理手順について説明する。

0178

図34は、電力見積装置200の電力見積処理手順の一例を示すフローチャートである。図34のフローチャートにおいて、まず、電力見積装置200は、対象回路のRTL設計データRDおよびネットリストNLを取得したか否かを判断する(ステップS3401)。

0179

ここで、電力見積装置200は、RTL設計データRDおよびネットリストNLを取得するのを待つ(ステップS3401:No)。そして、電力見積装置200は、RTL設計データRDおよびネットリストNLを取得した場合(ステップS3401:Yes)、RTL設計データRDとネットリストNLとの間で同一の信号線を指す信号の対応関係を表すマッピングデータMDを作成する(ステップS3402)。

0180

つぎに、電力見積装置200は、マッピングデータMDと電力見積設定データSTとテクノロジーライブラリTLBとクロックソース起点データCSと配線容量データWDとに基づいて、基礎データを作成する基礎データ作成処理を実行する(ステップS3403)。基礎データ作成処理の具体的な処理手順については、図35を用いて後述する。

0181

そして、電力見積装置200は、計測回路計画MPに基づいて、観測信号の信号値が変化した回数を計測する計測回路を作成する(ステップS3404)。つぎに、電力見積装置200は、作成した差分回路と計測回路とをRTL用のテストベンチに実装して、RTL設計データRDに基づく対象回路の論理シミュレーションを実行する(ステップS3405)。これにより、対象回路の消費電力の見積もりに必要となる電力パラメータを抽出することができる。

0182

つぎに、電力見積装置200は、観測信号の信号値の変化を計測した計測結果を含む論理シミュレーションの実行結果を表す動的統計データERに基づいて、対象回路の消費電力を算出する(ステップS3406)。そして、電力見積装置200は、算出した対象回路の消費電力の算出結果を表す電力見積データPEを出力して(ステップS3407)、本フローチャートによる一連の処理を終了する。これにより、対象回路の消費電力を見積もることができる。

0183

つぎに、図34に示したステップS3403の基礎データ作成処理の具体的な処理手順について説明する。

0184

図35は、基礎データ作成処理の具体的処理手順の一例を示すフローチャートである。図35のフローチャートにおいて、まず、電力見積装置200は、ネットリストNLおよびクロックソース起点データCSに基づいてクロックツリー解析を行うことにより、クロック起点データCKDおよびクロック起点親子関係データFDを作成する(ステップS3501)。

0185

つぎに、電力見積装置200は、対象回路上の計算範囲を指定することにより、計算範囲IDマップデータEDを作成する(ステップS3502)。そして、電力見積装置200は、ネットリストNLの中からRAM/ROMを抽出することにより、メモリ端子データMDを作成する(ステップS3503)。

0186

つぎに、電力見積装置200は、ネットリストNLの中から非クロックツリーの信号のうちの比率rの信号をランダムに選択することにより、非クロックツリー観測ポイントデータODを作成する(ステップS3504)。そして、電力見積装置200は、対象回路内のユニットセルおよびメモリの電力係数を算出することにより、電力係数(ユニットセル)データPUおよび電力係数(メモリ)データPMを作成する(ステップS3505)。

0187

つぎに、電力見積装置200は、マッピングデータMDを参照して、ネットリストNL上の信号の信号名のうち、RTL設計データRD上の信号の信号名に対応する信号の信号名を特定する(ステップS3506)。そして、電力見積装置200は、クロック起点データCKDまたは非クロックツリー観測ポイントデータODの中から観測信号となる信号を選択する(ステップS3507)。

0188

つぎに、電力見積装置200は、ネットリストNL上の観測信号を出力するセルから後段のセルを順次辿ることにより、RTL設計データRD上の信号の信号名に対応する信号名の信号を出力するセルを検出する(ステップS3508)。そして、電力見積装置200は、クロック起点データCKDまたは非クロックツリー観測ポイントデータODの中から選択されていない未選択の信号があるか否かを判断する(ステップS3509)。

0189

ここで、未選択の信号がある場合(ステップS3509:Yes)、電力見積装置200は、ステップS3507に戻って、クロック起点データCKDまたは非クロックツリー観測ポイントデータODの中から観測信号となる未選択の信号を選択する(ステップS3507)。

0190

一方、未選択の信号がない場合(ステップS3509:No)、電力見積装置200は、RTL設計データRDとネットリストNLとの差分回路を表す差分回路データDFを作成する(ステップS3510)。そして、電力見積装置200は、作成した差分回路データDFに対応する差分回路コンフィギュレーションデータDCGを作成して(ステップS3511)、図34に示したステップS3404に移行する。

0191

これにより、対象回路の消費電力の見積もりに必要となる電力パラメータを抽出するための差分回路を作成することができる。

0192

なお、上述した説明では、クロック起点データCKDまたは非クロックツリー観測ポイントデータODの中から観測信号となる信号を選択することにしたが、これに限らない。例えば、電力見積装置200は、ユーザの操作入力により指定された信号を観測信号として選択することにしてもよい。

0193

以上説明したように、実施の形態にかかる電力見積装置200によれば、ネットリストNL上の観測信号を出力する第1のセルから前段のセルを順次辿ることにより、RTL設計データRDの信号と対応関係を有する信号が入力される第2のセルを検出できる。また、電力見積装置200によれば、第2のセルから第1のセルまでの部分回路をネットリストNLの中から抽出することにより、RTL設計データRDとネットリストNLとの差分回路を表す差分回路データDFを作成できる。

0194

これにより、論理合成やレイアウト工程を経て詳細化された対象回路内のセルから出力される観測信号の波形データ、すなわち、対象回路の消費電力の見積もりに必要となる電力パラメータを抽出するための差分回路を作成することができる。

0195

また、電力見積装置200によれば、第2のセルに入力されるネットリストNLの信号と対応関係を有するRTL設計データRDの信号の信号名と、第2のセルとを対応付けて表すRTL参照信号/ポート番号関係表RPを作成することができる。これにより、差分回路の入力端子のポート番号と、RTL設計データRD上の信号の信号名との対応関係を特定することができる。

0196

また、電力見積装置200によれば、選択された観測信号の信号名と、観測信号を出力する第1のセルとを対応付けて表す観測信号/ポート番号関係表SPを作成することができる。これにより、差分回路の出力端子のポート番号と、ネットリストNL上の観測信号の信号名との対応関係を特定することができる。

0197

また、電力見積装置200によれば、ネットリストNLの中から、供給先へのクロック信号の供給を一時的に停止するセルから出力される信号を観測信号として選択することができる。これにより、論理合成時などに自動挿入されるCGICから出力される信号の波形データを抽出するための差分回路を作成することができる。

0198

また、電力見積装置200によれば、対象回路のクロックソースから辿ることができる出力端子群のうち、出力される信号の信号値が変化する単位時間当たりの回数が互いに異なる値となる出力端子から出力される信号を観測信号として選択することができる。これにより、消費電力の見積もりに必要となるトグルレートの変化点の信号の波形データを抽出するための差分回路を作成することができる。

0199

また、電力見積装置200によれば、対象回路のクロックソースから辿ることができない出力端子群のうちのいずれかの出力端子から出力される信号を観測信号として選択することができる。具体的には、例えば、電力見積装置200によれば、非クロックツリーの信号のうち比率rの信号をランダムに選択することができる。これにより、非クロックツリーの信号を間引くことができ、差分回路の回路量を抑えることができる。

0200

また、電力見積装置200によれば、RTL設計データRDと差分回路データDFと計測回路データKDとを、RTL用のテストベンチに与えて対象回路の論理シミュレーションを実行することができる。例えば、電力見積装置200は、RTL参照信号/ポート番号関係表RPと観測信号/ポート番号関係表SPとに基づいて、RTL設計データRDと差分回路データDFと計測回路データKDとをテストベンチに実装して論理シミュレーションを実行する。そして、電力見積装置200は、観測信号の信号値の変化を計測した計測結果を含む論理シミュレーションの実行結果を取得することができる。

0201

これにより、RTL設計データRDとネットリストNLとの差分回路から出力される観測信号の波形データ、すなわち、対象回路の消費電力の見積もりに必要となる電力パラメータを抽出することができる。

0202

また、電力見積装置200によれば、観測信号の信号値の変化を計測した計測結果を含む論理シミュレーションの実行結果に基づいて、対象回路の消費電力を見積もることができる。これにより、従来のRTL設計データからは推測が難しかった論理合成やレイアウト工程において追加されたセルから出力される信号の波形データを用いて対象回路の消費電力の見積もることができ見積精度を向上させることができる。

0203

このように、電力見積装置200によれば、RTLの検証環境を使ってゲートレベルと同等の精度で消費電力を見積もることができる。また、電力見積装置200によれば、対象回路の機能検証を行うためのゲートレベルの検証環境の構築が不要となり、検証者の作業負荷を軽減することができるとともに検証期間の短縮化を図ることができる。

0204

なお、本実施の形態で説明した電力見積支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本電力見積支援方法プログラムは、ハードディスクフレキシブルディスクCD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本電力見積支援方法プログラムは、インターネット等のネットワークを介して配布してもよい。

0205

上述した実施の形態に関し、さらに以下の付記を開示する。

0206

(付記1)コンピュータに、
消費電力の見積対象となる対象回路のネットリストの信号名とレジスタ転送レベルで記述された前記対象回路の設計情報の信号名との対応関係を表すマッピング情報を取得し、
前記ネットリストの中から信号値の変化の観測対象となる観測信号を選択し、
取得した前記マッピング情報を参照して、前記ネットリスト上の選択した前記観測信号を出力する第1のセルを起点として前段のセルを順次辿ることにより、前記設計情報の信号と対応関係を有する前記ネットリストの信号が入力される第2のセルを検出し、
検出した前記第2のセルから前記第1のセルまでの部分回路を前記ネットリストの中から抽出することにより、前記設計情報と前記ネットリストとの差分を表す差分回路情報を作成し、
前記第2のセルに入力される前記ネットリストの信号と対応関係を有する前記設計情報の信号の信号名と、前記第2のセルとを対応付けて表す信号情報を作成し、
作成した前記差分回路情報と前記信号情報とを関連付けて出力する、
処理を実行させることを特徴とする電力見積支援プログラム。

0207

(付記2)前記コンピュータに、
前記観測信号の信号名と、前記観測信号を出力する前記第1のセルとを対応付けて表す観測信号情報を作成する処理を実行させ、
前記出力する処理は、
作成した前記観測信号情報と前記差分回路情報と前記信号情報とを関連付けて出力することを特徴とする付記1に記載の電力見積支援プログラム。

0208

(付記3)前記選択する処理は、
前記ネットリストの中から、供給先へのクロック信号の供給を一時的に停止するセルから出力される信号を前記観測信号として選択することを特徴とする付記2に記載の電力見積支援プログラム。

0209

(付記4)前記コンピュータに、
前記ネットリスト内の出力端子群の中から、前記対象回路のクロックソースから辿ることができる出力端子群を抽出する処理を実行させ、
前記選択する処理は、
抽出した前記出力端子群のうち、出力される信号の信号値が変化する単位時間当たりの回数が互いに異なる値となる出力端子から出力される信号を前記観測信号として選択することを特徴とする付記2または3に記載の電力見積支援プログラム。

0210

(付記5)前記選択する処理は、
前記ネットリスト内の出力端子群のうち、抽出した前記出力端子群を除く残余の出力端子群のいずれかの出力端子から出力される信号を前記観測信号として選択することを特徴とする付記4に記載の電力見積支援プログラム。

0211

(付記6)前記コンピュータに、
前記観測信号として選択した前記残余の出力端子群のいずれかの出力端子から出力される信号の信号数が閾値未満か否かを判定し、
前記信号数が前記閾値未満と判定した場合に、前記残余の出力端子群のいずれかの出力端子から出力される信号を前記観測信号として選択する、
処理を実行させることを特徴とする付記5に記載の電力見積支援プログラム。

0212

(付記7)前記コンピュータに、
前記信号情報と前記観測信号情報とに基づいて、前記設計情報と、前記差分回路情報とを、テストベンチに与えて前記対象回路の論理シミュレーションを実行することにより、前記観測信号の信号値の変化を計測した計測結果を含む前記論理シミュレーションの実行結果を取得し、
取得した前記実行結果を出力する、
処理を実行させることを特徴とする付記2〜6のいずれか一つに記載の電力見積支援プログラム。

0213

(付記8)消費電力の見積対象となる対象回路のネットリストの信号名とレジスタ転送レベルで記述された前記対象回路の設計情報の信号名との対応関係を表すマッピング情報を取得する取得部と、
前記ネットリストの中から信号値の変化の観測対象となる観測信号を選択する選択部と、
前記取得部によって取得された前記マッピング情報を参照して、前記ネットリスト上の選択した前記観測信号を出力する第1のセルを起点として前段のセルを順次辿ることにより、前記設計情報の信号と対応関係を有する前記ネットリストの信号が入力される第2のセルを検出する検出部と、
前記検出部によって検出された前記第2のセルから前記第1のセルまでの部分回路を前記ネットリストの中から抽出することにより、前記設計情報と前記ネットリストとの差分を表す差分回路情報を作成する第1の作成部と、
前記第2のセルに入力される前記ネットリストの信号と対応関係を有する前記設計情報の信号の信号名と、前記第2のセルとを対応付けて表す信号情報を作成する第2の作成部と、
前記第1の作成部によって作成された前記差分回路情報と前記第2の作成部によって作成された前記信号情報とを関連付けて出力する出力部と、
を有することを特徴とする電力見積支援装置。

0214

(付記9)コンピュータが、
消費電力の見積対象となる対象回路のネットリストの信号名とレジスタ転送レベルで記述された前記対象回路の設計情報の信号名との対応関係を表すマッピング情報を取得し、
前記ネットリストの中から信号値の変化の観測対象となる観測信号を選択し、
取得した前記マッピング情報を参照して、前記ネットリスト上の選択した前記観測信号を出力する第1のセルを起点として前段のセルを順次辿ることにより、前記設計情報の信号と対応関係を有する前記ネットリストの信号が入力される第2のセルを検出し、
検出した前記第2のセルから前記第1のセルまでの部分回路を前記ネットリストの中から抽出することにより、前記設計情報と前記ネットリストとの差分を表す差分回路情報を作成し、
前記第2のセルに入力される前記ネットリストの信号と対応関係を有する前記設計情報の信号の信号名と、前記第2のセルとを対応付けて表す信号情報を作成し、
作成した前記差分回路情報と前記信号情報とを関連付けて出力する、
処理を実行することを特徴とする電力見積支援方法。

0215

100電力見積支援装置
200電力見積装置
301 取得部
302マッピングデータ作成部
303差分回路作成部
304計測回路作成部
305 実行部
306電力算出部
307 出力部

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ