(57)【要約】  【課題】  詳細な動作が記述された仮想プロセッサモデルの開発を不要とし、システムＬＳＩ開発の初期段階において、ターゲットプロセッサの処理負荷やアプリケーションの消費電力を、高い精度で見積もることのできる回路解析装置を提供する。  【解決手段】  実プロセッサ上で動作可能であり論理回路の情報を含む実行オブジェクト２を記憶する第１記憶部３と、実プロセッサ上での実行オブジェクト２の動作により、論理回路の機能に基づく動作であって、ターゲットプロセッサと協調した動作を解析する解析部６と、解析部６が使用するプロセッサ情報４を記憶する第２記憶部５を備え、プロセッサ情報４は、実プロセッサの動作仕様とターゲットプロセッサの動作仕様との差分情報を含む回路解析装置１である。この回路解析装置１により、システムＬＳＩ開発の初期段階において、ターゲットプロセッサの処理負荷やアプリケーションの消費電力を高い精度で見積もれる。【選択図】  図１
2007213556.tif 000002
【特許請求の範囲】
【請求項１】
実プロセッサ上で動作可能であって、論理回路の機能を含む実行オブジェクトを記憶する第１記憶部と、
前記実プロセッサ上での前記実行オブジェクトの動作により、前記論理回路の機能に基づいた動作であって、ターゲットプロセッサと協調した動作を解析する解析部と、
前記解析部が使用するプロセッサ情報を記憶する第２記憶部を備え、
前記プロセッサ情報は、前記実プロセッサの動作仕様と前記ターゲットプロセッサの動作仕様との差分情報を含む回路解析装置。
【請求項２】
前記差分情報は、前記実プロセッサの命令コードと前記ターゲットプロセッサの命令コードとを置き換える置き換え情報を含む請求項１記載の回路解析装置。
【請求項３】
前記差分情報は、前記実プロセッサが備える内部メモリ及び内部キャッシュの情報と前記ターゲットプロセッサが備える内部メモリ及び内部キャッシュの情報との差分を含む請求項１から２のいずれか記載の回路解析装置。
【請求項４】
前記差分情報は、前記実プロセッサが用いるアドレス値と前記ターゲットプロセッサが用いるアドレス値とを置き換える置き換え情報を含む請求項１から３のいずれか記載の回路解析装置。
【請求項５】
前記プロセッサ情報は、前記論理回路がアクセスする外部メモリの情報を含む請求項１から４のいずれか記載の回路解析装置。
【請求項６】
前記解析部は、前記論理回路が前記外部メモリへアクセスするアクセス頻度を解析する請求項５記載の回路解析装置。
【請求項７】
前記解析部は、前記論理回路が前記ターゲットプロセッサが備える前記内部メモリ及び前記内部キャッシュの少なくとも一つへアクセスするアクセス頻度を解析する請求項３記載の回路解析装置。
【請求項８】
前記解析部は、前記論理回路と前記ターゲットプロセッサとが通信する通信頻度を解析する請求項１から７のいずれか記載の回路解析装置。
【請求項９】
前記解析部は、前記ターゲットプロセッサの処理負荷及び前記ターゲットプロセッサの消費電力を解析する請求項１から８のいずれか記載の回路解析装置。
【請求項１０】
前記解析部が解析した結果を表示する表示部を更に備える請求項１から９のいずれか記載の回路解析装置。
【請求項１１】
実プロセッサ上で動作可能であって、論理回路の機能を含む実行オブジェクトを記憶し、
前記実プロセッサ上での前記実行オブジェクトの動作により、前記論理回路の機能に基づいた動作であって、ターゲットプロセッサと協調した動作を解析し、
前記解析においては、プロセッサ情報を用い、
前記プロセッサ情報は、前記実プロセッサの動作仕様と前記ターゲットプロセッサの動作仕様との差分情報を含む回路解析方法。
【請求項１２】
前記差分情報は、前記実プロセッサの命令コードと前記ターゲットプロセッサの命令コードとを置き換える置き換え情報を含む請求項１１記載の回路解析方法。
【請求項１３】
前記解析においては、前記論理回路と前記ターゲットプロセッサとが通信する通信頻度を解析する請求項１１記載の回路解析方法。
【請求項１４】
実プロセッサ上で動作可能であって、論理回路の機能を含む実行オブジェクトを記憶し、
前記実プロセッサ上での前記実行オブジェクトの動作により、前記論理回路の機能に基づいた動作であって、ターゲットプロセッサと協調した動作を解析し、
前記解析においては、プロセッサ情報を用い、
前記プロセッサ情報は、前記実プロセッサの動作仕様と前記ターゲットプロセッサの動作仕様との差分情報を含む、コンピュータ上で動作する回路解析プログラム。
【請求項１５】
前記差分情報は、前記実プロセッサの命令コードと前記ターゲットプロセッサの命令コードとを置き換える置き換え情報を含む請求項１４記載の回路解析プログラム。
【請求項１６】
実プロセッサ上で動作可能であって、論理回路の機能を含む実行オブジェクトを記憶する第１記憶部と、
前記実プロセッサ上での前記実行オブジェクトの動作により、前記論理回路の機能に基づいた動作であって、ターゲットプロセッサと協調した動作を解析する解析部と、
前記解析部が使用するプロセッサ情報を記憶する第２記憶部を備え、
前記プロセッサ情報は、前記実プロセッサの動作仕様と前記ターゲットプロセッサの動作仕様との差分情報を含む回路シミュレータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＬＳＩの性能評価を開発の早期に行う回路解析装置に関するものである。
【背景技術】
【０００２】
携帯端末やデジタル機器などの小型化や軽量化の要請に伴い、種々のアプリケーションの機能をＬＳＩで実現することが求められている。特に、アプリケーションの機能が、プロセッサと論理回路とで実現されるシステムＬＳＩの開発が求められている。
【０００３】
システムＬＳＩは、一つのＬＳＩの中にプロセッサと論理回路を組み込む場合と、プロセッサと論理回路を別のＬＳＩで構成する場合とがある。
【０００４】
このシステムＬＳＩにおいては、アプリケーションの種類や仕様に応じて最適なプロセッサが使用される。このアプリケーションを実現するシステムＬＳＩに使用されるプロセッサ（すなわち、アプリケーションに組み込まれるプロセッサ）を「ターゲットプロセッサ」と呼ぶ。
【０００５】
システムＬＳＩの動作電圧の低下に伴い、システムＬＳＩの消費電力にとっては、システムＬＳＩ内部回路の動作による消費電力の割合よりも、外部回路との信号のやり取りにより発生する消費電力の割合が大きい。なぜなら、ＬＳＩの動作電圧（２．５Ｖ、１．８Ｖ）が下がっても、外部回路とのインターフェース部分の動作電圧は、５Ｖや３．３Ｖなどの高い電圧が必要だからである。
【０００６】
なお、この外部回路には、システムＬＳＩの外部に存在する外部メモリや、ターゲットプロセッサなどが含まれる。
【０００７】
加えて、携帯端末やデジタル機器には、処理の高速化も求められており、システムＬＳＩに含まれる論理回路とターゲットプロセッサとの通信負荷の適正化も求められている。
【０００８】
このような状況において、携帯端末やデジタル機器などの電子機器の商品開発に対する時間的要求は厳しく、電子機器の中核をなす、このシステムＬＳＩも短い期間での開発が求められる。回路やソフトウェアの複雑化に伴い、システムＬＳＩの開発工数や開発期間は飛躍的に増大している。このため、早期にシステムＬＳＩのアーキテクチャや仕様が検討される必要がある。
【０００９】
このとき、システムＬＳＩと外部メモリとのやり取りによる消費電力の見積もりや、ターゲットプロセッサとの通信負荷の見積もりの精度が悪いと、システムＬＳＩ開発の最終段階において、システムＬＳＩやその周辺回路の仕様の見直しの必要性が生じることもある。場合によっては、システムＬＳＩ開発を最初からやり直す必要も生じる。このように、システムＬＳＩ開発の最終段階において、仕様を見直すことは、厳しい開発期間が要求される電子機器において、致命的である。
【００１０】
このため、システムＬＳＩ開発においては、具体的な回路設計を始めるより早い段階で、システムＬＳＩと外部メモリとのやり取りによる消費電力やターゲットプロセッサとの通信負荷を、高い精度で見積もることが求められている。
【００１１】
特に、画像圧縮処理や音声圧縮処理などの分野においては、規格化が進む段階で、アプリケーションを実現するオブジェクトコード化された論理回路モデルが提供されることがある。詳細な仕様を決めるためにも、この論理回路モデルを用いて、早期に消費電力や通信負荷を見積もることが求められている。
【００１２】
従来においては、プロセッサの普遍性の高い命令セットを用いて、ソースコードで記述されている論理回路の動作解析を行う技術が開示されている。
【００１３】
この技術によれば、論理回路の構成を記述したソースコードと、プロセッサの命令セットを基に論理回路の動作解析が実行される。
【００１４】
また、特定のターゲットプロセッサのインストラクションやキャッシュ情報などを備えた仮想プロセッサモデルを用いて、ソースコードで記述されている論理回路の動作解析を行う技術も開示されている（例えば非特許文献１参照）。
【００１５】
従来は、開発初期段階において、消費電力や通信負荷を見積もるために、これらの技術が用いられていた。
【００１６】
しかしながら、従来の技術では次のような問題があった。
【００１７】
プロセッサの普遍的な命令セットを用いる動作解析では、外部メモリとのやり取りに基づく消費電力の解析や、プロセッサとの通信負荷の解析ができない。プロセッサの命令セットだけでは、通信頻度や、通信に基づく消費電力が計算できないからである。加えて、外部メモリ、プロセッサの内部メモリ、及び、キャッシュの情報が無いため、論理回路と内部メモリやキャッシュとのアクセスにおけるアクセス頻度の解析もできない。
【００１８】
一方、仮想プロセッサモデルを用いる動作解析では、消費電力の解析や通信負荷の解析は可能であるが、ターゲットプロセッサの仮想プロセッサモデルを事前に設計する必要があり、開発工程の早期段階での利用が困難である問題がある。
【００１９】
加えて、いずれの技術においても、動作解析に必要となる論理回路のソースコードが必要であり、オブジェクトコードによる論理回路モデルのみを入手できても、動作解析ができない問題があった。
【００２０】
実際には、解析に用いられるコンピュータに組み込まれたプロセッサ（以下、「実プロセッサ」という）上で解析されるので、ターゲットプロセッサとは異なる実プロセッサにより解析されてしまう。この実プロセッサとターゲットプロセッサとの相違を解消しつつ、消費電力や通信負荷の解析を行うことが求められていた。
【非特許文献１】「Ｂｒｏｏｋｓ，ｅｔ，ａｌ  ＩＳＣＡ  ｐｐ、８３−９４、２０００」
【発明の開示】
【発明が解決しようとする課題】
【００２１】
そこで本発明は、詳細な動作が記述された仮想プロセッサモデルの開発を不要とし、システムＬＳＩ開発の初期段階において、ターゲットプロセッサの処理負荷やアプリケーションの消費電力を、高い精度で見積もることのできる回路解析装置を提供することを目的とする。
【課題を解決するための手段】
【００２２】
第１の発明に係る回路解析装置は、実プロセッサ上で動作可能であって、論理回路の機能を含む実行オブジェクトを記憶する第１記憶部と、実プロセッサ上での実行オブジェクトの動作により、論理回路の機能に基づく動作であって、ターゲットプロセッサと協調した動作を解析する解析部と、解析部が使用するプロセッサ情報を記憶する第２記憶部を備え、プロセッサ情報は、実プロセッサの動作仕様とターゲットプロセッサの動作仕様との差分情報を含む。
【００２３】
この構成により、実行オブジェクトを実プロセッサ上で動作させつつ、ターゲットプロセッサと協調した論理回路の動作が解析できる。また、実プロセッサとターゲットプロセッサの差分情報のみで解析ができるので、システムＬＳＩ開発の初期段階で論理回路の動作解析ができる。
【００２４】
第２の発明に係る回路解析装置は、第１の発明に加えて、差分情報は、実プロセッサの命令コードとターゲットプロセッサの命令コードとを置き換える置き換え情報を含む。
【００２５】
この構成により、実行オブジェクトに含まれる論理回路は、ターゲットプロセッサと協調した動作を、仮想的に行うことができる。
【００２６】
第３の発明に係る回路解析装置は、第１から第２のいずれかの発明に加えて、差分情報は、実プロセッサが備える内部メモリ及び内部キャッシュの情報とターゲットプロセッサが備える内部メモリ及び内部キャッシュの情報との差分を含む。
【００２７】
この構成により、実行オブジェクトに含まれる論理回路は、ターゲットプロセッサが備える内部メモリや内部キャッシュに対する仮想的な動作を行うことができる。
【００２８】
第４の発明に係る回路解析装置は、第１から第３のいずれかの発明に加えて、差分情報は、実プロセッサが用いるアドレス値とターゲットプロセッサが用いるアドレス値とを置き換える置き換え情報を含む。
【００２９】
この構成により、実行オブジェクトに含まれる論理回路は、ターゲットプロセッサの持つアドレス空間に対応した仮想的な動作を行うことができる。
【００３０】
第５の発明に係る回路解析装置は、第１から第４のいずれかの発明に加えて、プロセッサ情報は、論理回路がアクセスする外部メモリの情報を含む。
【００３１】
第６の発明に係る回路解析装置は、第５の発明に加えて、解析部は、論理回路が外部メモリへアクセスするアクセス頻度を解析する。
【００３２】
これらの構成により、実行オブジェクトに含まれる論理回路による、外部メモリへのアクセス頻度や、アクセスに基づく消費電力が解析できる。
【００３３】
第７の発明に係る回路解析装置は、第３の発明に加えて、解析部は、論理回路がターゲットプロセッサが備える内部メモリ及び内部キャッシュの少なくとも一つへアクセスするアクセス頻度を解析する。
【００３４】
この構成により、実行オブジェクトに含まれる論理回路が必要とする、ターゲットプロセッサに含まれる内部メモリおよび内部キャッシュの容量や動作仕様が解析できる。
【００３５】
第８の発明に係る回路解析装置は、第１から第７のいずれかの発明に加えて、解析部は、論理回路とターゲットプロセッサとが通信する通信頻度を解析する。
【００３６】
第９の発明に係る回路解析装置は、第１から第８のいずれかの発明に加えて、解析部は、ターゲットプロセッサの処理負荷及びターゲットプロセッサの消費電力を解析する。
【００３７】
これらの構成により、実行オブジェクトに含まれる論理回路をはじめとしたアプリケーションが要求する処理におけるターゲットプロセッサの処理負荷を解析できる。
【００３８】
第１０の発明に係る回路解析装置は、第１から第９のいずれかの発明に加えて、解析部が解析した結果を表示する表示部を更に備える。
【００３９】
この構成により、ユーザは、解析結果を容易に確認できる。
【発明の効果】
【００４０】
本発明によれば、アプリケーションが想定するターゲットプロセッサの詳細なモデルを開発する必要がなく、アプリケーションを実現するシステムＬＳＩ開発の早期段階で、ターゲットプロセッサの処理負荷やアプリケーションの消費電力を、高い精度で見積もることができる。
【００４１】
この結果、システムＬＳＩ開発の最終段階での後戻りが著しく減少し、短い開発期間を満足するシステムＬＳＩの開発ができる。
【発明を実施するための最良の形態】
【００４２】
以下、図面を参照しながら、本発明の実施の形態を説明する。
【００４３】
（実施の形態１）
なお、上述の通り、解析に用いられるコンピュータに組み込まれたプロセッサを「実プロセッサ」といい、アプリケーションを実現するシステムＬＳＩに使用されるプロセッサ（すなわち、アプリケーションに組み込まれるプロセッサ）を「ターゲットプロセッサ」という。
【００４４】
図１は、本発明の実施の形態１における回路解析装置のブロック図である。
【００４５】
回路解析装置１は、第１記憶部３と第２記憶部５と解析部６を備える。
【００４６】
まず、各部の詳細について説明する。
【００４７】
第１記憶部３は、論理回路の情報を含む実行オブジェクト２を記憶する。実行オブジェクト２は、開発対象となっているアプリケーションを実現する論理回路の機能を含んでいる。例えば、実行オブジェクト２は、ＭＰＥＧ−２やＭＰＥＧ−４などの画像処理の規格に基づいた動作を実現する論理回路の機能を含んでいる。
【００４８】
実行オブジェクト２は、ＨＤＬやＣ言語などの高級言語で論理回路の動作が記述された上で、コンピュータ上で動作可能なオブジェクトコードに変換されている。また、実行オブジェクト２のソースコードは、レジスタ・トランスファー・レベル（「ＲＴＬ」という）のような詳細な記述によるものではなく、動作仕様レベルの記述でよい。
【００４９】
実行オブジェクト２には、ユーザによるソースコードの記述がコンパイルされて生成されたオブジェクトコードが用いられてもよく、流通しているオブジェクトコードが用いられてもよい。
【００５０】
実行オブジェクト２は、実プロセッサ上で動作可能であるので、実行オブジェクト２は、コンピュータ上で動作可能である。
【００５１】
なお、回路解析装置１は、オブジェクトコードになっている実行オブジェクト２を、そのまま解析できるので、回路解析装置１を使用するユーザは、予めオブジェクトコード化された実行オブジェクト２を入手するだけで、解析ができる。このため、ユーザが新たにアプリケーションの動作を実現するソースコードを記述する手間を要さない。このため、画像処理や音声処理などの規格に基づくアプリケーションであれば、規格化団体から供給されるオブジェクトコードの論理回路モデルをそのまま利用することができる。
【００５２】
例えば、アプリケーションに含まれる論理回路が機密対象である場合には、アプリケーションに対応するソースコードは入手できない。しかし、オブジェクトコードや、暗号化されたオブジェクトコードであれば入手容易である。回路解析装置１は、オブジェクトコードや暗号化されたオブジェクトコードを、実行オブジェクト２として、実プロセッサ上で動作させることができる。このため、最新の規格に係るアプリケーションであっても、オブジェクトコードは入手容易であり、この入手容易なオブジェクトコードを用いた解析が容易に行える。
【００５３】
ユーザは、所望のアプリケーション開発、特に、アプリケーションを実現するシステムＬＳＩの開発における解析に、この実行オブジェクト２を用いる。
【００５４】
解析部６は、実行オブジェクト２を動作させることで、ユーザの想定するターゲットプロセッサと協調した論理回路の動作を解析する。
【００５５】
ここで、回路解析装置１は、パソコンやワークステーションなどのコンピュータ上で動作する。すなわち、コンピュータに備えられている実体のあるプロセッサである実プロセッサ上で、実行オブジェクトは動作する。このため、論理回路の動作は、回路解析装置１が使用する実プロセッサと協調した動作として解析されてしまう。
【００５６】
一方、実行オブジェクト２を用いたアプリケーションの開発においては、ユーザの仕様に応じて選択されるプロセッサであるターゲットプロセッサがアプリケーションに組み込まれることが想定される。このターゲットプロセッサの仕様は、回路解析装置１が動作する実プロセッサの仕様と異なることが多い。
【００５７】
このため、後に述べるプロセッサ情報４が解析に用いられることで、解析部６は、（ターゲットプロセッサと異なる仕様の実プロセッサ上で、論理回路の機能を含む実行オブジェクト２が動作させられるにもかかわらず）論理回路の機能に基づく動作であって、ターゲットプロセッサと協調した動作を解析できる。
【００５８】
（解析について）
解析部６は、実行オブジェクト２に含まれる論理回路の動作において、次のような動作を解析する。図２を用いて説明する。図２は、本発明の実施の形態１における解析部での解析を説明する説明図である。
【００５９】
解析部６は、実行オブジェクト２に含まれる論理回路１０の機能とプロセッサ情報４を用いて、論理回路１０の機能に基づく動作であって、ターゲットプロセッサと協調した動作を解析する。
【００６０】
解析部６は、論理回路１０からの外部メモリ１１へのアクセス頻度を解析する。外部メモリ１１は、例えば論理回路１０がシステムＬＳＩに含まれている場合、システムＬＳＩの外付けのＤＲＡＭやＳＲＡＭなどを含む。解析部６は、論理回路１０からの外部メモリ１１へのリード、あるいはライトの回数や、頻度を解析する。この解析により、論理回路１０のメモリ制御の仕様や、外部メモリ１１の必要な容量やアクセススピードが判断される。特に、アクセス回数や頻度により、論理回路１０の外部メモリ１１へのアクセスによる消費電力も解析できる。
【００６１】
また、解析部６は、論理回路１０とターゲットプロセッサ１２との通信頻度を解析する。この、論理回路１０とターゲットプロセッサ１２の通信頻度の解析により、ターゲットプロセッサ１２の処理負荷が解析される。加えて、ターゲットプロセッサ１２との通信頻度の解析により、ターゲットプロセッサ１２と論理回路１０を含むアプリケーション全体の消費電力が解析される。なお、解析部６は、ターゲットプロセッサ１２単体の消費電力も解析する。
【００６２】
また、解析部６は、論理回路１０からターゲットプロセッサ１２内部の内部メモリ１３、キャッシュ１４へのアクセス頻度を解析する。キャッシュ１４へのアクセス頻度の解析により、キャッシュのヒット率が解析される。また、内部メモリ１３へのアクセス頻度の解析により、内部メモリ１３の必要容量が解析される。
【００６３】
（プロセッサ情報の使用）
ここで、解析部６は、回路解析装置１が動作するコンピュータに含まれる実プロセッサ上で動作する。この実プロセッサの仕様は、アプリケーションが想定するターゲットプロセッサの仕様とは異なる。このため、解析部６は、ターゲットプロセッサ１２と協調した論理回路の動作を解析するためには、実際の動作に用いられる実プロセッサと想定するターゲットプロセッサとの差分を考慮する必要がある。
【００６４】
この実プロセッサとターゲットプロセッサとの差分を埋めるために、解析部６は、実行オブジェクト２に含まれる論理回路の機能に加えて、プロセッサ情報４を用いる。
【００６５】
第２記憶部５は、プロセッサ情報４を記憶する。
【００６６】
プロセッサ情報４は、解析部６における解析の実行時に必要な情報を含んでいる。
【００６７】
図３は、本発明の実施の形態１におけるプロセッサ情報の含む情報を示す説明図である。
【００６８】
実行オブジェクト２は、論理回路１０の情報を含んでいる。プロセッサ情報４は、外部メモリ１１やターゲットプロセッサ１２についての情報を含んでいる。解析部６は、これら実行オブジェクト２とプロセッサ情報４の両方を用いて、上述の、ターゲットプロセッサの処理負荷や消費電力などを解析する。
【００６９】
（プロセッサ情報）
プロセッサ情報は、実プロセッサとターゲットプロセッサ１２との差分情報を含む。
【００７０】
差分情報は、実プロセッサの命令コードとターゲットプロセッサ１２の命令コードとを置き換える置き換え情報を含んでいる。図４は、本発明の実施の形態１におけるプロセッサの命令コードの例示図であり、図５は、本発明の実施の形態１における置き換えに用いられる変換テーブルの例示図である。
【００７１】
命令コード２０は、実プロセッサの命令コードである。命令コード２１は、ターゲットプロセッサ１２の命令コードである。図４に示されるように、実プロセッサとターゲットプロセッサ１２の命令コードは異なる。プロセッサ情報４は、図５に示される変換テーブル２２を有している。
【００７２】
解析部６は、実プロセッサの命令コードを、ターゲットプロセッサ１２の命令コードへ変換した上で、論理回路の動作を解析する。このとき、差分情報に含まれるこの変換テーブル２２を用いて、解析部６は、論理回路の動作を解析する。
【００７３】
変換テーブル２２に示されるように、実プロセッサの命令コードの「ｃｏｄｅＡ０」は、ターゲットプロセッサ１２の命令コード「ｃｏｄｅＴＡ０」、「ｃｏｄｅＴＡ１」に変換される。解析部６は、変換後の命令コードを用いて論理回路１０の動作を解析する。
【００７４】
なお、図４、図５に示される、命令コード２０、２１と変換テーブル２２は、一例であり、実プロセッサとターゲットプロセッサ１２の種類に対応した命令コードと変換テーブルが用いられればよい。
【００７５】
また、差分情報は、実プロセッサが用いるアドレス値と、ターゲットプロセッサ１２が用いるアドレス値を置き換える置き換え情報を含んでいる。解析部６は、アドレス値を置き換える情報を用いて、実プロセッサ上で動作する実行オブジェクト２の動作から、ターゲットプロセッサ１２での論理回路１０の動作を解析できる。解析において、アドレス値を置き換えられることで、論理回路１０は、ターゲットプロセッサ１２と協調して動作する。
【００７６】
このような、命令コードやアドレス値の置き換えは、実行オブジェクト２の実行時における処理単位を基準とする置き換え単位で行われればよい。
【００７７】
置き換え単位が、１インストラクション単位であれば、命令コードやアドレス値の置き換えが、確実に行われる。
【００７８】
置き換え単位が、実行オブジェクト２に含まれる１モジュール単位であれば、命令コードやアドレス値の置き換えが、高速に行われる。
【００７９】
また、１モジュール単位の中に、ループ処理が入っている場合には、インストラクションの順番と内容との関係について事前把握が困難なので、置き換え単位は、ループ処理の部分を別にした単位相当とすることが好適である。これにより、命令コードやアドレス値の、正確かつ高速な置き換えが実現できる。
【００８０】
また、差分情報は、実プロセッサの備える内部メモリ及び内部キャッシュの情報と、ターゲットプロセッサ１２の備える内部メモリ及び内部キャッシュの情報との差分を含む。具体的には、実プロセッサの内部メモリとターゲットプロセッサ１２の内部メモリ１３のアドレス値を置き換える置き換え情報、及び実プロセッサのキャッシュと、ターゲットプロセッサ１２のキャッシュ１４との差分を含んでいる。
【００８１】
解析部６は、この内部メモリに関する差分情報を用いて、論理回路１０からのターゲットプロセッサ１２に含まれる内部メモリ１３へのアクセス頻度を解析できる。これは、アドレス値の置き換え情報が用いられることで、論理回路１０が、ターゲットプロセッサ１２の内部メモリ１３にアクセスすることをシミュレートできるからである。
【００８２】
同様に、解析部６は、キャッシュに関する差分情報を用いて、論理回路１０がキャッシュ１４へアクセスするアクセス頻度とヒット率を解析する。
【００８３】
また、プロセッサ情報４は、論理回路１０がアクセスする外部メモリ１１の情報を含んでいる。具体的には、プロセッサ情報４は、外部メモリ１１の容量、アクセススピード、アドレスなどの情報を含んでいる。
【００８４】
解析部６は、この外部メモリ１１に関する情報を用いて、論理回路１０が外部メモリ１１へアクセスするアクセス頻度を解析する。外部メモリ１１へのアクセス頻度の解析により、論理回路１０をはじめとした開発対象のアプリケーションの消費電力が解析される。
【００８５】
ここで、解析部６は、論理回路１０が外部メモリ１１へアクセスする単位時間当たりのアクセス回数を解析する。論理回路１０が想定するＬＳＩの動作電圧、Ｉ／Ｏ電圧、及び外部メモリ１１のＩ／Ｏ電圧などから、一回のアクセス当たりの消費電力が算出される。解析部６は、この単位時間当たりのアクセス回数と一回のアクセス当たりの消費電力との乗算から、論理回路１０の外部メモリ１１へのアクセスによる消費電力を解析する。
【００８６】
同様に、外部メモリ１１への単位時間当たりのアクセス回数と、一回のアクセス当たりの消費電力の乗算から、論理回路１０の外部メモリ１１へのアクセスによる消費電力が解析される。
【００８７】
また、解析部６は、論理回路１０からターゲットプロセッサ１２への単位時間のアクセス回数と、アクセス時における待ちサイクル数を解析し、論理回路１０のターゲットプロセッサ１２へのアクセス頻度を解析する。
【００８８】
以上のように、実プロセッサに含まれる内部メモリやキャッシュへのアクセスを通じて、ターゲットプロセッサ１２の内部メモリ１３やキャッシュ１４へのアクセス頻度が解析される。
【００８９】
加えて、実行オブジェクト２に含まれる論理回路１０の外部メモリ１１へのアクセス頻度や消費電力が解析される。このとき、外部メモリ１１やターゲットプロセッサ１２の詳細な動作を記述した仮想プロセッサモデルは不要で、実プロセッサとの差分情報など、容易に記述できる簡単なプロセッサ情報４のみで、解析できる。このため、従来技術におけるような、ターゲットプロセッサの詳細な動作を記述した仮想プロセッサモデルを開発する負担と期間が不要である。
【００９０】
また、プロセッサ情報４に含まれるターゲットプロセッサ１２や外部メモリ１１の情報に基づいて、実プロセッサにより解析が行われるので、解析の速度も高速になる。更に、ターゲットプロセッサ１２と外部メモリを用いたのと同じ解析が実現されるので、ターゲットプロセッサの処理負荷やアプリケーションの消費電力が高い精度で見積もれる。
【００９１】
ここで、図６を用いて、解析部６の詳細を説明する。図６は、本発明の実施の形態１における解析部６の内部ブロック図である。
【００９２】
図６から明らかなように、解析部６は、論理回路１０のターゲットプロセッサ１２に基づいた動作を解析するために、解析部６内部に、アドレス変換部３０、アドレス解析部３１、命令コード変換部３２、命令解析部３３、解析実行部３４を備える。
【００９３】
アドレス変換部３０は、実行オブジェクト２の動作により、論理回路１０から指定されるアドレス値である指定アドレスを、プロセッサ情報４に含まれるアドレス値の変換方式に従って、変換する。変換後のアドレスは、ターゲットプロセッサ１２（あるいは、これに含まれる内部メモリ１３、キャッシュ１４）に対応したアドレスである。アドレス解析部３１は、変換後のアドレスに基づいて、論理回路１０のアドレス指定に関する動作を解析する。
【００９４】
同様に、命令コード変換部３２は、図５に示される変換テーブル２２を用いて、論理回路１０から指定される命令コードを、ターゲットプロセッサ１２に対応した命令コードに変換する。命令解析部３３は、変換後の命令コードに基づいて、論理回路１０の命令に関する動作を解析する。
【００９５】
解析実行部３４は、ターゲットプロセッサ１２へのアクセスや外部メモリ１１へのアクセスを解析する。解析結果は表示部７に表示される。
【００９６】
表示部７は、コンピュータの画面や液晶画面であり、ユーザの所望に応じた態様で、解析結果が表示される。例えばグラフで表示されたり、表で表示されたりする。
【００９７】
解析部６による以上の解析により、実行オブジェクト２を実際に動作させるのは、実体のある実プロセッサであるが、アプリケーションが想定するターゲットプロセッサ１２や外部メモリ１１に基づく、論理回路の動作を解析できる。プロセッサ情報は、ターゲットプロセッサ１２の詳細な動作を記述した仮想プロセッサモデルを必要とせず、システムＬＳＩ開発の早期段階で、ターゲットプロセッサの処理負荷やアプリケーションの消費電力を、高い精度で見積もることができる。
【００９８】
なお、回路解析装置１は、上述の回路解析が可能である専用の機器として提供されても良く、回路解析の動作が可能となった汎用のコンピュータ（パソコンやワークステーションを含む）として提供されても良い。
【００９９】
（実施の形態２）
次に、実施の形態２について、図１、図２を用いて説明する。
【０１００】
回路解析装置１は、その一部もしくは全部がソフトウェアで構成されても良い。ソフトウェアで実現される場合には、ソフトウェアは、回路解析装置１と同等の機能を有する回路解析方法に基づいている。
【０１０１】
回路解析方法は、実プロセッサ上で動作可能であって、論理回路１０の機能を含む実行オブジェクト２を記憶するステップを有する。
【０１０２】
次いで、回路解析方法は、実プロセッサ上での実行オブジェクト２の動作により、論理回路１０の機能に基づく動作であって、ターゲットプロセッサ１２と協調した動作を解析するステップを有する。回路解析方法は、実プロセッサとターゲットプロセッサ１２との差分情報を含むプロセッサ情報４を用いて解析する。プロセッサ情報４により、回路解析方法は、ターゲットプロセッサ１２と協調した論理回路１０の動作を解析できる。
【０１０３】
プロセッサ情報４は、実施の形態１で説明された情報を有している。
【０１０４】
解析結果は、必要に応じて表示される。
【０１０５】
また、回路解析装置１や回路解析方法に含まれる機能は、その一部もしくは全部がコンピュータ上で動作する回路解析プログラムとして提供されても良い。
【０１０６】
回路解析プログラムは、回路解析プログラムがインストールされる実プロセッサ上で動作可能であって、論理回路１０の機能を含む実行オブジェクト２を記憶している。更に、回路解析プログラムは、実プロセッサ上での実行オブジェクト２の動作により、論理回路１０の機能に基づく動作であって、ターゲットプロセッサ１２と協調した動作を解析する。回路解析プログラムは、実プロセッサの動作仕様とターゲットプロセッサ１２の動作仕様の差分情報を記憶しておいて、この差分情報を用いて、この解析を行う。
【０１０７】
すなわち、アプリケーションに組み込まれることが想定されるターゲットプロセッサ１２と協調した論理回路１０の動作が、解析される。
【０１０８】
回路解析プログラムは、コンピュータ上で動作可能なオブジェクトコードに変換された上で、ネットワークを通じて配布されたり、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの記憶媒体により配布されたりする。
【０１０９】
これらの形態により入手されたオブジェクトコードが、コンピュータにインストールされた状態で、ユーザにより使用される。結果として、回路解析が可能となる。
【０１１０】
回路解析装置１は、このように回路解析プログラムがインストールされて、解析が可能となったコンピュータ（パソコン、ワークステーションなどを含む）として提供されても良い。あるいは、回路解析装置１は、回路解析が可能な専用の機器として提供されても良い。また、回路解析装置１は、コンピュータ上で動作する回路解析シミュレータとして提供されても良い。回路解析シミュレータとして提供される場合には、解析結果を表示する表示機能も含んでいることも、ユーザビリティにとって好適である。
【０１１１】
以上の回路解析装置、回路解析方法、回路解析プログラム、回路解析シミュレータによれば、システムＬＳＩ開発の早期段階で、ターゲットプロセッサの処理負荷や消費電力を、高い精度で見積もることができる。
【０１１２】
また、論理回路と外部メモリや内部メモリとのアクセス頻度や、論理回路とターゲットプロセッサとの通信負荷も、高い精度で見積もることができる。
【０１１３】
特に、論理回路１０を含むアプリケーションが想定するターゲットプロセッサ１２の仮想プロセッサモデルの開発も不要となり、開発の早期段階での解析が可能となる。
【産業上の利用可能性】
【０１１４】
本発明は、例えば、システムＬＳＩ開発やアプリケーション開発等において好適に利用できる。
【図面の簡単な説明】
【０１１５】
【図１】本発明の実施の形態１における回路解析装置のブロック図
【図２】本発明の実施の形態１における解析部での解析を説明する説明図
【図３】本発明の実施の形態１におけるプロセッサ情報の含む情報を示す説明図
【図４】本発明の実施の形態１におけるプロセッサの命令コードの例示図
【図５】本発明の実施の形態１における置き換えに用いられる変換テーブルの例示図
【図６】本発明の実施の形態１における解析部６の内部ブロック図
【符号の説明】
【０１１６】
１  回路解析装置
２  実行オブジェクト
３  第１記憶部
４  プロセッサ情報
５  第２記憶部
６  解析部
７  表示部
１０  論理回路
１１  外部メモリ
１２  ターゲットプロセッサ
１３  内部メモリ
１４  キャッシュ
【図１】
2007213556.tif 000003
【図２】
2007213556.tif 000004
【図３】
2007213556.tif 000005
【図４】
2007213556.tif 000006
【図５】
2007213556.tif 000007
【図６】
2007213556.tif 000008