JP5123255B2 - アーキテクチャ検証装置 - Google Patents

アーキテクチャ検証装置 Download PDF

Info

Publication number
JP5123255B2
JP5123255B2 JP2009138223A JP2009138223A JP5123255B2 JP 5123255 B2 JP5123255 B2 JP 5123255B2 JP 2009138223 A JP2009138223 A JP 2009138223A JP 2009138223 A JP2009138223 A JP 2009138223A JP 5123255 B2 JP5123255 B2 JP 5123255B2
Authority
JP
Japan
Prior art keywords
architecture
module
time
transaction
bus
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.)
Expired - Fee Related
Application number
JP2009138223A
Other languages
English (en)
Other versions
JP2010286885A (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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2009138223A priority Critical patent/JP5123255B2/ja
Priority to US12/730,110 priority patent/US8356195B2/en
Publication of JP2010286885A publication Critical patent/JP2010286885A/ja
Application granted granted Critical
Publication of JP5123255B2 publication Critical patent/JP5123255B2/ja
Expired - Fee Related 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

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)
  • Power Sources (AREA)

Description

本発明は、アーキテクチャ検証装置に関し、特に、システムLSIのアーキテクチャの解析を支援するためのツールとして使用されるアーキテクチャ検証装置に関する。
一般的に、システムLSI(Large Scale Integration)の性能は、使用するシステムのアーキテクチャに依存するところが大きい。したがって、システムLSIの性能を評価するには、アーキテクチャを解析する必要がある。
しかしながら、アーキテクチャの解析には、システムを構成するプロセッサの選択や、システム上で実行される各処理のプロセッサへの割り振りや、プロセッサに割り振られた各処理の処理時間や、バス上のデータ転送時間や、バスの優先度や、バス幅や、バス調停の方法や、使用するプロセッサの種類や、使用するプロセッサの動作周波数などの大量のパラメータを考慮してアーキテクチャを解析する必要がある。したがって、ユーザが仕様を満たすアーキテクチャを決定することは実質的に不可能である。
これに対して、従来では、ユーザがアーキテクチャを決定する際に、アーキテクチャの解析を支援するために用いられるツールとして、アーキテクチャ検証装置が知られている。従来のアーキテクチャ検証装置は、候補として挙げられたアーキテクチャを実現するためのモデルをシミュレータや実機上で動作させ、バスに対して発行されるバストランザクションに関するバストランザクションや、バス競合によるバス使用待ち情報や、バスのスループット・レイテンシ情報などを記憶し、それらの情報をグラフィカルに表示することによって、アーキテクチャが仕様を満たしているか否かの判断及びアーキテクチャの評価を支援する。
しかしながら、ユーザがこれらの情報のみからアーキテクチャが仕様を満たしているか否かを判断することは困難である。したがって、このような問題を解決するための技術として、アプリケーション情報とバストランザクションとをつなぎ合わせる技術が知られている(特許文献1を参照)。特許文献1に開示されている技術によれば、ユーザは、アーキテクチャが仕様を満たしているか否かを容易に判断することができる。
しかしながら、特許文献1に開示されている技術では、仕様を満たさないアーキテクチャに対して、仕様を満たすようにするためにどのような変更を行うべきかに関する情報がユーザに与えられるわけではない。したがって、ユーザは、仕様を満たすようなアーキテクチャを決定するのに試行錯誤が必要である。その結果、アーキテクチャの解析におけるユーザの負担が増加し、且つ、解析に要する作業時間が長くなってしまう。
一方、近年のシステムLSIでは、消費電力の削減の重要性が増加している。
しかしながら、従来のアーキテクチャの解析では、アーキテクチャが時間制約を満たすか否かに着目して行われている。従って、時間制約を満たすアーキテクチャが、必ずしも消費電力の点で優れたアーキテクチャであるとは限らない。また、時間制約を満たし、且つ、消費電力が低いアーキテクチャを構築するためには、ユーザの試行錯誤が必要である。その結果、このようなアーキテクチャを構築するときのユーザの負担が増加し、且つ、作業時間が長くなってしまう。
特開2007−207120号公報
本発明の目的は、時間制約を満たし、且つ、消費電力が低いアーキテクチャを構築するときのユーザの負担を軽減し、且つ、作業時間を短縮するためのアーキテクチャ解析装置を提供することである。
本発明によれば、
複数のモジュール及びバスを含むアーキテクチャの時間制約と、前記モジュールの性能仕様と、を入力する入力部と、
前記モジュールが前記バスに対して発行するバストランザクションを取得するバス監視部と、
前記モジュールがデータを入力するときの入力トランザクションと、前記モジュールが前記データを処理するときの処理内容及び処理時間を示す処理情報と、前記モジュールが前記処理されたデータを出力するときの出力トランザクションと、を取得するモジュール監視部と、
前記バストランザクションと、前記入力トランザクション、前記処理情報、及び前記出力トランザクションと、を関連付けて、前記時間制約を満たす第1アーキテクチャを生成する第1アーキテクチャ生成部と、
前記第1アーキテクチャの処理時間を変更して、前記時間制約を満たし、且つ、前記第1アーキテクチャより消費電力が低い第2アーキテクチャを生成する第2アーキテクチャ生成部と、
前記第2アーキテクチャを出力する出力部と、
を備えることを特徴とするアーキテクチャ検証装置が提供される。
本発明によれば、時間制約を満たし、且つ、消費電力が低いアーキテクチャを構築するときのユーザの負担を軽減し、且つ、作業時間を短縮することができる。
本発明の第1実施形態に係るアーキテクチャ検証装置の構成を示すブロック図である。 図1のアーキテクチャ検証装置1の検証対象となるアーキテクチャを示すブロック図である。 図2のアーキテクチャにおいて行われる画像処理及び音声処理の概略を示すブロック図である。 本発明の第1実施形態に係る図1のプロセッサ10によって実現される機能を示すブロック図である。 本発明の第1実施形態に係るアーキテクチャ検証処理の手順を示すフローチャートである。 本発明の第1実施形態に係る第2アーキテクチャを説明するための概略図である。 動作周波数又は電源電圧と、処理時間と、消費電力との関係を示すテーブルである。 本発明の第1実施形態の第2変形例に係る第2アーキテクチャを説明するための概略図である。 本発明の第1実施形態の第3変形例に係る第2アーキテクチャを説明するための概略図である。 本発明の第1実施形態に係るステートマシンを示す概略図である。 本発明の第2実施形態に係る図1のプロセッサ10によって実現される機能を示すブロック図である。 図11の出力部10gによって出力される削減効果を示す概略図である。
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
(第1実施形態)
本発明の第1実施形態を説明する。本発明の第1実施形態は、時間制約を満たすアーキテクチャから、時間制約を満たし、且つ、消費電力が低いアーキテクチャが生成される例である。
本発明の実施例1に係るアーキテクチャ検証装置の構成を説明する。図1は、本発明の第1実施形態に係るアーキテクチャ検証装置の構成を示すブロック図である。図2は、図1のアーキテクチャ検証装置1の検証対象となるアーキテクチャを示すブロック図である。図3は、図2のアーキテクチャにおいて行われる画像処理及び音声処理の概略を示すブロック図である。図4は、本発明の第1実施形態に係る図1のプロセッサ10によって実現される機能を示すブロック図である。
図1に示すように、本発明の第1実施形態に係るアーキテクチャ検証装置1は、様々な処理を実行可能に構成されたプロセッサ10と、キーボード又はマウス等の入力装置12と、ハードディスク等の記憶装置14と、液晶ディスプレイ、プリンタ、又はネットワークデバイス等の出力装置16と、シミュレーションを実行するシミュレータ18と、を備える。プロセッサ10は、記憶装置14に記憶されたシミュレーションプログラムを起動して、シミュレータ18を実現するように構成される。アーキテクチャ検証装置1の検証対象となるアーキテクチャは、シミュレータ18上で動作し、複数の処理(例えば、画像処理及び音声処理)を並列に実行するように構成される。
図2に示すように、図1のアーキテクチャ検証装置1の検証対象となるアーキテクチャは、複数のモジュール(プロセッサMPU、メモリコントローラDMAC1及びDMAC2、サブプロセッサSUB、ユーザロジックUL、メモリMEM1乃至MEM4、並びに入出力インタフェースI/O1及びI/O2)と、バスと、クロックジェネレータCLKと、電源POWと、を備える。
各モジュールは、それぞれ、バスを介して互いに接続される。また、各モジュールは、それぞれ、イニシエータモジュール又はターゲットモジュールとして動作し、トランザクションをやり取りすることによって、一連の処理を実行する。このとき、各モジュールは、バスに対するバストランザクション、データを入力するときの入力トランザクション、データに対して実行される処理、及びデータを出力するときの出力トランザクションを発行する。各モジュールは、それぞれ、バスブリッジによって複数のバスを介して接続されても良い。各モジュールには、クロックジェネレータCLKから所定の周波数(C1:100[MHz]、C2:200[MHz]、C3:50[MHz]、又はC4:50[MHz])が供給され、電源POWから所定の電源電圧(P1:3.3[V]又はP2:5[V])が供給される。
図3(A)に示すように、図2のアーキテクチャにおいて行われる画像処理では、メモリコントローラDMAC1は、メモリMEM1から画像データを読み出すときに入力トランザクションX1を発行し、この画像データを作業領域へ転送するときに処理X1_2を実行し、この画像データをメモリMEM2に書き込むときに出力トランザクションX2を発行する。次に、メモリコントローラDMAC1は、これと同様の処理を繰り返し、入力トランザクションX3、処理X3_4、及び出力トランザクションX4を発行する。次に、サブプロセッサSUBは、メモリMEM2から画像データを読み出すときに入力トランザクションX5を発行し、この画像データに対する画像処理を実行するときに処理X5_6を実行し、画像処理された画像データをメモリMEM3に書き込むときに出力トランザクションX6を発行する。次に、メモリコントローラDMAC1は、メモリMEM3から画像データを読み出すときに入力トランザクションX7を発行し、この画像データを外部出力するときに処理X7_8を実行し、この画像データを入出力インタフェースI/O1に送信するときに出力トランザクションX8を発行する。これらの一連の処理に対する時間制約は、450[ns]以内である。
図3(B)に示すように、図2のアーキテクチャにおいて実行される音声処理では、メモリコントローラDMAC2は、メモリMEM1から音声データを読み出すときに入力トランザクションY1を発行し、この音声データを作業領域へ転送するときに処理Y1_2を実行し、この音声データをメモリMEM4に書き込むときに出力トランザクションY2を発行する。次に、ユーザロジックULは、メモリMEM4から音声データを読み出すときに入力トランザクションY3を発行し、この音声データに対する音声処理を実行するときに処理Y3_4を実行し、音声処理された音声データをメモリMEM4に書き込むときに出力トランザクションY4を発行する。次に、メモリコントローラDMAC2は、メモリMEM4から音声データを読み出すときに入力トランザクションY5を発行し、この音声データを外部出力するときに処理Y5_6を実行し、この音声データを入出力インタフェースI/O2に送信するときに出力トランザクションY6を発行する。これらの一連の処理に対する時間制約は、420[ns]以内である。
図4に示すように、図1のプロセッサ10は、記憶装置14に記憶されたアーキテクチャ検証プログラムを起動して、入力装置12から様々な情報を入力する入力部10aと、シミュレータ18上のバスを監視するバス監視部10bと、シミュレータ18上のモジュールを監視するモジュール監視部10cと、時間制約及び性能仕様を満たすアーキテクチャ(以下、「第1アーキテクチャ」という)を生成する第1アーキテクチャ生成部10dと、第1アーキテクチャとは異なるアーキテクチャ(以下、「第2アーキテクチャ」という)を生成する第2アーキテクチャ生成部10eと、第2アーキテクチャを実現するために必要な性能仕様(以下、「改善仕様」という)を算出する改善仕様算出部10fと、出力装置16に様々な情報を出力する出力部10gと、を実現する。
図4の入力部10aは、入力装置12から様々な情報を入力して、第1アーキテクチャ生成部10d及び改善仕様算出部10fに与えるように構成される。例えば、第1アーキテクチャ生成部10dに与えられる情報は、アーキテクチャの処理時間に関する制約(以下、「時間制約」という)、アーキテクチャの面積に関する制約(以下、「面積制約」という)、並びにアーキテクチャのモジュールを動作させるための性能仕様(例えば、プロセッサの動作周波数及びプロセッサに供給すべき電源電圧)である。改善仕様算出部10fに与えられる情報は、性能仕様と消費電力との関係を示すテーブル(図7(A)及び(B)を参照)である。
図4のバス監視部10bは、シミュレータ18上のバスを監視して、バストランザクション(バストランザクションに関わるイニシエータモジュールとターゲットモジュールの組合せを示すペア情報、バス競合によるバス使用待ち情報、バスのスループット・レイテンシ情報、バストランザクションのデータ量、及び転送回数等)を取得するように構成される。例えば、バス監視部10bは、バストランザクションを発行するイニシエータモジュール及びそのトランザクションに含まれるアドレスに対応するターゲットモジュールからペア情報を取得する。特に、バスブリッジ等を介して複数のバスを経由するバストランザクションについては、バス監視部10bは、バストランザクションに含まれるアドレスを監視し、バスブリッジが持つアドレス空間へのバストランザクション又はバスブリッジを介して異なるバスに伝達されるバストランザクションを辿ることによって、関連する全てのモジュールの組合せを示すペア情報を取得する。
図4のモジュール監視部10cは、シミュレータ18上のモジュールを監視して、モジュールが発行する入力トランザクション、モジュールの処理に関する処理情報、及びモジュールが発行する出力トランザクションを取得するように構成される。例えば、モジュール監視部10cは、一連の処理を制御する図2のプロセッサMPU上で実行されるアプリケーションプログラムの情報から一連の処理を構成する各処理の順番及び各処理で使用されるモジュールの識別情報(例えば、プロセッサMPUが使用される場合には「MPU」)を取得する。また、モジュール監視部10cは、プロセッサMPU、サブプロセッサSUB、又はユーザロジックUL上で実行される処理については、その処理に対応するアプリケーションプログラムのコードの開始部の命令が実行されてから終了部の命令が実行されるまでの所要時間を監視することによって処理時間、並びにその処理に関わる入力トランザクション及び出力トランザクションを取得する。一方、モジュール監視部10cは、ハードウェア上で実行される処理については、その処理を実行するハードウェアが外部要因によって動作状態になってから終了状態になるまでを監視することによって処理時間、並びにその処理に関わる入力トランザクション及び出力トランザクションを取得する。
図4の第1アーキテクチャ生成部10dは、時間制約及び性能仕様と、バストランザクションと、入力トランザクション、処理情報、及び出力トランザクションと、を関連付けて、時間制約及び性能仕様を満たす第1アーキテクチャ(図6(A)を参照)を生成して、記憶装置14に書き込むとともに、第2アーキテクチャ生成部10eに与えるように構成される。例えば、第1アーキテクチャ生成部10dは、複数のアーキテクチャのそれぞれについて、1つの処理に関する入力トランザクション、処理情報、及び出力トランザクションをグループ化し、複数のグループ間のバストランザクションを結合し、時間制約を閾値とすることによって、第1アーキテクチャを生成する。
図4の第2アーキテクチャ生成部10eは、第1アーキテクチャの処理時間を変更して、時間制約を満たし、且つ、第1アーキテクチャより消費電力が低い第2アーキテクチャ(図6(B)を参照)を生成して、出力部10gに与えるように構成される。例えば、第2アーキテクチャ生成部10eは、時間制約を満たす範囲内で、第1アーキテクチャの処理時間を延長して、第2アーキテクチャを生成する。第2アーキテクチャでは、第1アーキテクチャより処理時間が長い箇所の消費電力が低くなる。
また、図4の第2アーキテクチャ生成部10eは、第2アーキテクチャを生成するときに処理時間の変更情報を改善仕様算出部10fに与えるように構成される。
図4の改善仕様算出部10fは、テーブル(図7(A)及び(B)を参照)を用いて、第2アーキテクチャを生成するときの変更情報に基づいて、第2アーキテクチャを実現するために必要な改善仕様を算出し、出力部10gに与えるように構成される。
図4の出力部10gは、第1アーキテクチャ、第2アーキテクチャ、及び改善仕様を出力装置16に出力するように構成される。
本発明の第1実施形態に係るアーキテクチャ検証処理を説明する。図5は、本発明の第1実施形態に係るアーキテクチャ検証処理の手順を示すフローチャートである。
<図5:入力工程(S501)> ユーザは、図1の入力装置12を使用して、アーキテクチャ検証処理に必要な様々な情報(時間制約、面積制約、性能仕様、及びテーブル)を入力する。入力部10aは、入力装置12からこれらの情報を入力して、時間制約、面積制約、及び性能仕様を第1アーキテクチャ生成部10dに与え、テーブルを改善仕様算出部10fに与える。
<図5:監視工程(S502)> シミュレータ18は、図3のアーキテクチャ上で複数の処理が実行されるケースのシミュレーションを行う。このとき、バス監視部10bはシミュレータ18上のバスを監視し、モジュール監視部10cはシミュレータ18上のモジュールを監視する。その結果、バス監視部10bが、バストランザクションを取得して第1アーキテクチャ生成部10dに与え、モジュール監視部10cが、入力トランザクション、処理情報、及び出力トランザクションを取得して第1アーキテクチャ生成部10dに与える。
<図5:第1アーキテクチャ生成工程(S503)> 第1アーキテクチャ生成部10dが、時間制約及び性能仕様と、バストランザクションと、入力トランザクション、処理情報、及び出力トランザクションと、を関連付けて、第1アーキテクチャ(図6(A)を参照)を生成して記憶装置14に書き込むとともに、第2アーキテクチャ生成部10eに与える。このとき、第1アーキテクチャ生成部10dは、複数のアーキテクチャのうち時間制約及び面積制約を満たすものを第1アーキテクチャとして生成する。
図6(A)に示すように、第1アーキテクチャは、複数の処理(例えば、画像処理及び音声処理)毎に、バストランザクション、入力トランザクション、処理情報(各モジュールの処理順序及び処理時間)、出力トランザクション、並びにバスの状態(バス待ち情報及びバス利用情報)が時系列に並べられたアーキテクチャと、時間制約と、を示す。
<図5:第2アーキテクチャ生成工程(S504)> 第2アーキテクチャ生成部10eが、第2アーキテクチャを生成して出力部10gに与えるとともに、変更情報を改善仕様算出部10fに与える。
第2アーキテクチャの生成工程(S504)の第1例を説明する。第2アーキテクチャ生成部10eは、第1アーキテクチャの時間制約と処理時間との差(以下、「時間マージン」という)を算出し、その時間マージンを処理時間に割り当てて、第2アーキテクチャを生成する。例えば、図6(A)では、時間マージンが120[ns]である。従って、第2アーキテクチャ生成部10eは、ユーザロジックULが行う処理Y3_4の処理時間を100[ns]から220[ns]に変更して(すなわち、ユーザロジックULが行う処理Y3_4の処理時間に時間マージンを加算して)、第2アーキテクチャ(図6(B)を参照)を生成する。このとき、第2アーキテクチャ生成部10eは、ユーザロジックULが行う処理Y3_4の処理時間を100[ns]から220[ns]に変更したことを示す変更情報を改善仕様算出部10fに与える。
第2アーキテクチャ生成工程(S504)の第2例を説明する。第2アーキテクチャ生成部10eは、モジュールの実行間隔と、モジュールへの電源供給停止及び電源供給再開に必要な時間と、モジュールへの電源供給停止及び電源供給再開を制御する制御回路の消費電力と、に基づいて、第2アーキテクチャを生成する。このとき、第2アーキテクチャ生成部10eは、ユーザロジックULが行う処理Y3_4の実行間隔を変更したことと、モジュール(ユーザロジックUL)への電源供給停止時間と、を示す変更情報を改善仕様算出部10fに与える。例えば、第2アーキテクチャ生成部10eは、ユーザロジックULが行う処理Y3_4の実行間隔(320[ns]、280[ns])を算出し、この実行間隔の間に注目処理(処理Y3_4)を実行するモジュール(ユーザロジックUL)への電源供給を停止した場合の効果(以下、「停止効果」という)を算出する(図6(C)を参照)。具体的には、第2アーキテクチャ生成部10eは、式1を計算する。式1の左辺は、モジュールへの電源供給を停止した場合に低減される消費電力(電源供給停止のメリット)を表し、式1の右辺は、モジュールへの電源供給を停止するために必要な消費電力(電源供給停止のデメリット)を表す。すなわち、式1が成立する場合には、電源供給停止のメリットがデメリットを上回るので、停止効果がある。
式1:{M−(A+B)}*C>D
(M:実行間隔、A:電源供給停止に必要な時間、B:電源供給再開に必要な時間、C:単位時間当たりの停止効果、D:制御回路の消費電力)
例えば、M=280[ns]の場合には、注目処理(ユーザロジックUL)を構成するモジュールへの電源供給を常に停止する第2アーキテクチャが生成される。M=300[ns]の場合には、注目処理(ユーザロジックUL)を構成するモジュールへの電源供給を実行間隔が320[ns]の場合のみ停止する第2アーキテクチャが生成される。すなわち、第2アーキテクチャ生成部10eは、モジュールの実行間隔と、モジュールへの電源供給停止及び電源供給再開に必要な時間と、モジュールへの電源供給停止及び電源供給再開を制御する制御回路の消費電力と、に基づいて、モジュールへの電源供給停止のメリットとデメリットとを比較し、メリットがデメリットより大きい場合に第2アーキテクチャを生成する。
<図5:S505> 第2アーキテクチャが面積制約を満たす場合には(S505−YES)、改善仕様算出工程(S506)に進み、第2アーキテクチャが面積制約を満たさない場合には(S505−NO)、入力工程(S501)に進む。具体的には、第2アーキテクチャを実現するために必要なモジュールへの電源電圧の供給を制御する制御回路(例えば、図2に新たなクロックジェネレータCLK及び電源POW)を増設したときに、第2アーキテクチャの面積が面積制約を満たすか否かが判定される。
<図5:改善仕様算出工程(S506)> 改善仕様算出部10fが、図7(A)又は(B)のテーブルを用いて、第2アーキテクチャの性能仕様(プロセッサの動作周波数及びプロセッサに供給すべき電源電圧)を算出する。図7(A)によれば、ユーザロジックULを実現するためのプロセッサの動作周波数を100[MHz]から50[MHz]に変更可能であることが分かる。図7(B)によれば、ユーザロジックULを実現するためのプロセッサに供給すべき電源電圧を5[V]から3[V]に変更可能であることが分かる。すなわち、改善仕様は、第1アーキテクチャに対して、時間制約及び面積制約を満たす範囲内で消費電力を低減させるためのアーキテクチャのパラメータである。
<図5:出力工程(S507)> 出力部10gは、記憶装置14に記憶された第1アーキテクチャを読み出し、第1アーキテクチャ、第2アーキテクチャ、及び改善仕様を出力装置16に出力する。出力工程(S507)の後は、本発明の第1実施形態に係るアーキテクチャ検証処理が完了する。
本発明の第1実施形態の第1変形例を説明する。本発明の第1実施形態では、1つの第1アーキテクチャに対して1つの第2アーキテクチャ及び改善仕様が生成されたが、本発明の第1実施形態の第1変形例では、複数の第1アーキテクチャに対して複数の第2アーキテクチャ及び複数の改善仕様が生成される。
本発明の第1実施形態の第1変形例では、第1アーキテクチャ生成部101dが、時間制約を満たす複数の第1アーキテクチャを生成する。第2アーキテクチャ生成部101eが、複数の第1アーキテクチャのそれぞれに対して、複数の第2アーキテクチャを生成する。改善仕様算出部10fは、複数の第2アーキテクチャのそれぞれを実現するための複数の改善仕様を算出する。出力部10gは、複数の第1アーキテクチャ、複数の第2アーキテクチャ、及び複数の改善仕様を出力する。
本発明の第1実施形態の第2変形例を説明する。本発明の第1実施形態では、1つの処理(音声処理)に時間マージンが存在したが、本発明の第1実施形態の第2変形例では、複数の処理(画像処理及び音声処理)に時間マージンが存在する。
本発明の第1実施形態の第2変形例では、第2アーキテクチャ生成部10eは、全てのケースについて時間マージンを算出し、注目処理(Y3_4)の処理時間に全ての組み合わせの時間マージンのうちの最小値を割り当てる。
図8は、音声処理と並行して画像処理が実行されている場合に、画像処理が実行されるタイミング毎に異なる3つのケース(ケース1乃至ケース3)の第1アーキテクチャを示す。第2アーキテクチャ生成部10eは、3つの第1アーキテクチャについて時間マージン(ケース1及びケース2:120[ns]、ケース3:230[ns])を算出し、その中の最小値である最小時間マージン(120[ns])を該当するケース(ケース1又はケース2)の注目処理(Y3_4)の処理時間に割り当てて、第2アーキテクチャを生成する。
本発明の第1実施形態の第3変形例を説明する。本発明の第1実施形態では、時間マージンは固定値であったが、本発明の第1実施形態の第3変形例では、他の処理(画像処理)の実行タイミング(状況)によって注目処理(Y3_4)の時間マージンが変動する。
本発明の第1実施形態の第3変形例では、第2アーキテクチャ生成部10eは、他の処理の状況に応じて、注目処理(Y3_4)の処理時間に時間マージンを割り当てる。
図9は、音声処理と並行して画像処理が実行されている場合に、画像処理が実行されるタイミング毎に異なる3つのケース(ケース1乃至ケース3)の第1アーキテクチャを示す。第2アーキテクチャ生成部10eは、3つの第1アーキテクチャについて時間マージン(ケース1及びケース2:120[ns]、ケース3:230[ns])を算出し、各ケースについて、注目処理(Y3_4)の処理時間に時間マージンを割り当てて、複数の第2アーキテクチャを生成する。この第2アーキテクチャでは、ケース1及びケース2の注目処理(Y3_4)の処理時間に120[ns]が加算され、ケース3の注目処理(Y3_4)の処理時間に230[ns]が加算される。
図10に示すように、複数の処理が組み合わせられた状態は、ステートマシンのコード記述(コード記述例1及びコード記述例2)で表現される(図10の下線部を参照)。ステートマシンは処理を記載したコードと対応付けられるので、そのコードに基づいて、ある状態に入る条件と、ある状態から抜け出す条件を求めることができる。第2アーキテクチャ生成部10eは、これらの条件を求め、図2のクロックジェネレータCLK及び電源POWに制御信号が与えられるような第2アーキテクチャを生成する。
本発明の第1実施形態によれば、第2アーキテクチャ生成部10eが、時間制約を満たす第1アーキテクチャから時間マージンを算出し、その時間マージンを注目処理に割り当てて第2アーキテクチャを生成する。従って、ユーザは、時間制約を満たし、且つ、消費電力が低いアーキテクチャを容易に構築することができ、且つ、構築に要する作業時間を短縮することができる。
また、本発明の第1実施形態によれば、第2アーキテクチャ生成部10eが、注目処理の処理時間を変更するために必要な制御回路を増設することに伴う面積の増加を考慮して、面積制約を満たすか否かを判定する。従って、ユーザは、時間制約だけでなく面積制約を満たし、且つ、消費電力が低いアーキテクチャを容易に構築することができ、且つ、構築に要する作業時間を短縮することができる。
(第2実施形態)
本発明の第2実施形態を説明する。本発明の第2実施形態は、消費電力の低減効果が生成される例である。なお、上述した実施形態と同様の内容についての説明は省略する。
本発明の第2実施形態に係るアーキテクチャ検証装置の構成を説明する。図11は、本発明の第2実施形態に係る図1のプロセッサ10によって実現される機能を示すブロック図である。
図11に示すように、図1のプロセッサ10は、本発明の第1実施形態と同様に、入力部10aと、バス監視部10bと、モジュール監視部10cと、第1アーキテクチャ生成部10dと、第2アーキテクチャ生成部10eと、改善仕様算出部10fと、出力部10gと、を実現する。また、プロセッサ10は、さらに、記憶装置14に記憶されたアーキテクチャ検証プログラムを起動して、シミュレータ18からモジュールの実行回数(すなわち、処理の頻度)を取得する取得部10hを実現する。
図11の取得部10hは、シミュレータ18上の各モジュールを監視し、モジュール毎の実行回数を取得して出力部10gに与えるように構成される。
図11の第2アーキテクチャ生成部10eは、本発明の第1実施形態と同様の方法により、複数の第2アーキテクチャを生成して出力部10gに与えるように構成される。
図11の出力部10gは、モジュール毎の実行回数に基づいて、複数の第2アーキテクチャの少なくとも1つとともに、実行回数に基づく削減効果(第1アーキテクチャに対する第2アーキテクチャの消費電力の削減効果、図12を参照)を出力装置16に出力するように構成される。
本発明の第2実施形態によれば、出力部10gが、複数の第2アーキテクチャに対して実行回数に削減効果を出力する。従って、ユーザは、複数の第2アーキテクチャの削減効果の違いが容易に分かる。特に、複数の処理が互いに依存関係にある場合には、注目処理の処理時間が他の処理の処理時間に影響を与えるので、注目処理の消費電力が低減したとしても、全体の消費電力が増加する場合がある。本発明の第2実施形態は、このような場合に有効である。
本発明の実施形態に係るアーキテクチャ検証装置の少なくとも一部は、ハードウェアで構成しても良いし、ソフトウェアで構成しても良い。ソフトウェアで構成する場合には、アーキテクチャ検証装置の少なくとも一部の機能を実現するプログラムをフレキシブルディスクやCD−ROM等の記録媒体に収納し、コンピュータに読み込ませて実行させても良い。記録媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でも良い。
また、本発明の実施形態に係るアーキテクチャ検証装置の少なくとも一部の機能を実現するプログラムを、インターネット等の通信回線(無線通信も含む)を介して頒布しても良い。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布しても良い。
上述した実施形態は、いずれも一例であって限定的なものではないと考えられるべきである。本発明の技術的範囲は、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
1 アーキテクチャ検証装置
10 プロセッサ
10a 入力部
10b バス監視部
10c モジュール監視部
10d 第1アーキテクチャ生成部
10e 第2アーキテクチャ生成部
10f 改善仕様算出部
10g 出力部
10h 取得部
12 入力装置
14 記憶装置
16 出力装置
18 シミュレータ

Claims (5)

  1. 複数のモジュール及びバスを含むアーキテクチャの時間制約と、前記モジュールの性能仕様と、を入力する入力部と、
    前記モジュールが前記バスに対して発行するバストランザクションを取得するバス監視部と、
    前記モジュールがデータを入力するときの入力トランザクションと、前記モジュールが前記データを処理するときの処理内容及び処理時間を示す処理情報と、前記モジュールが前記処理されたデータを出力するときの出力トランザクションと、を取得するモジュール監視部と、
    前記バストランザクションと、前記入力トランザクション、前記処理情報、及び前記出力トランザクションと、を関連付けて、前記時間制約を満たす第1アーキテクチャを生成する第1アーキテクチャ生成部と、
    前記第1アーキテクチャの処理時間を変更して、前記時間制約を満たし、且つ、前記第1アーキテクチャより消費電力が低い第2アーキテクチャを生成する第2アーキテクチャ生成部と、
    前記第2アーキテクチャを出力する出力部と、
    を備えることを特徴とするアーキテクチャ検証装置。
  2. 前記第2アーキテクチャ生成部は、前記アーキテクチャの時間制約と処理時間との差を示す時間マージンを前記第1アーキテクチャの処理時間に割り当てて、前記第2アーキテクチャを生成する
    請求項1に記載のアーキテクチャ検証装置。
  3. 前記入力部は、さらに、前記アーキテクチャの面積制約を入力し、
    前記第2アーキテクチャ生成部は、さらに、前記モジュールを動作させるための制御回路が前記面積制約を満たす第2アーキテクチャを生成する
    請求項2に記載のアーキテクチャ検証装置。
  4. 前記第2アーキテクチャ生成部は、前記モジュールの実行間隔と、前記モジュールへの電源供給停止及び電源供給再開に必要な時間と、前記モジュールへの電源供給停止及び電源供給再開を制御する制御回路の消費電力と、に基づいて、前記第2アーキテクチャを生成する
    請求項1に記載のアーキテクチャ検証装置。
  5. 前記モジュールの実行回数を取得する取得部をさらに備え、
    前記出力部は、前記実行回数に基づいて、前記第1アーキテクチャに対する前記第2アーキテクチャの消費電力の削減効果をさらに出力する
    請求項1乃至4の何れか1項に記載のアーキテクチャ検証装置。
JP2009138223A 2009-06-09 2009-06-09 アーキテクチャ検証装置 Expired - Fee Related JP5123255B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009138223A JP5123255B2 (ja) 2009-06-09 2009-06-09 アーキテクチャ検証装置
US12/730,110 US8356195B2 (en) 2009-06-09 2010-03-23 Architecture verifying apparatus, method for verifying architecture, and computer readable medium comprising computer program code for verifying architecture

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009138223A JP5123255B2 (ja) 2009-06-09 2009-06-09 アーキテクチャ検証装置

Publications (2)

Publication Number Publication Date
JP2010286885A JP2010286885A (ja) 2010-12-24
JP5123255B2 true JP5123255B2 (ja) 2013-01-23

Family

ID=43301608

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009138223A Expired - Fee Related JP5123255B2 (ja) 2009-06-09 2009-06-09 アーキテクチャ検証装置

Country Status (2)

Country Link
US (1) US8356195B2 (ja)
JP (1) JP5123255B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130159591A1 (en) * 2011-12-14 2013-06-20 International Business Machines Corporation Verifying data received out-of-order from a bus

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5784600A (en) * 1996-07-01 1998-07-21 Sun Microsystems, Inc. Method of generating exact-length wires for routing critical signals
JP2002108958A (ja) * 2000-09-26 2002-04-12 Toshiba Corp 回路設計システム、回路設計方法および回路設計プログラムを格納したコンピュータ読取り可能な記録媒体
JP3907398B2 (ja) * 2000-11-16 2007-04-18 松下電器産業株式会社 半導体集積回路装置の設計方法
JP4124974B2 (ja) * 2001-03-08 2008-07-23 松下電器産業株式会社 電磁波障害解析方法および電磁波障害解析装置およびこれを用いた半導体装置の製造方法
JP2003015968A (ja) * 2001-06-29 2003-01-17 Fujitsu Ltd バスシミュレータ
JP2003091565A (ja) * 2001-09-19 2003-03-28 Matsushita Electric Ind Co Ltd データ転送アーキテクチャ構成の決定方法およびその性能見積り方法
US6954915B2 (en) * 2002-07-31 2005-10-11 Agilent Technologies, Inc. System and methods for pre-artwork signal-timing verification of an integrated circuit design
JP3899104B2 (ja) * 2002-10-28 2007-03-28 株式会社ルネサステクノロジ システム開発方法及びデータ処理システム
US7392494B2 (en) * 2003-06-09 2008-06-24 Kuoching Lin Clustering circuit paths in electronic circuit design
US7367001B2 (en) * 2004-12-02 2008-04-29 International Business Machines Corporation Method, system and computer program product for verification of digital designs using case-splitting via constrained internal signals
US7778815B2 (en) * 2005-05-26 2010-08-17 The Regents Of The University Of California Method for the fast exploration of bus-based communication architectures at the cycle-count-accurate-at-transaction-boundaries (CCATB) abstraction
JP4330573B2 (ja) * 2005-09-30 2009-09-16 富士通株式会社 消費電力評価方法、消費電力評価システム
JP3958336B2 (ja) * 2005-10-03 2007-08-15 松下電器産業株式会社 インターフェースの設計方法
JP2007207120A (ja) 2006-02-03 2007-08-16 Canon Inc システム検証装置及びその検証方法
JP4696051B2 (ja) * 2006-11-28 2011-06-08 富士通株式会社 消費電力解析方法及びプログラム
US8050781B2 (en) * 2007-06-29 2011-11-01 Emulex Design & Manufacturing Corporation Systems and methods for ASIC power consumption reduction
JP4316644B2 (ja) * 2007-12-26 2009-08-19 株式会社東芝 論理シミュレーション装置
JP5166194B2 (ja) * 2008-10-03 2013-03-21 株式会社東芝 アーキテクチャ検証装置
US8037437B2 (en) * 2009-01-13 2011-10-11 Microsoft Corporation Optimizing systems-on-a-chip using the dynamic critical path
US8112729B2 (en) * 2009-04-20 2012-02-07 International Business Machines Corporation Method and system for selective stress enablement in simulation modeling

Also Published As

Publication number Publication date
US20100313047A1 (en) 2010-12-09
US8356195B2 (en) 2013-01-15
JP2010286885A (ja) 2010-12-24

Similar Documents

Publication Publication Date Title
JP5137434B2 (ja) データ処理装置、分散処理システム、データ処理方法、及びデータ処理プログラム
JP5360061B2 (ja) マルチプロセッサシステム及びその制御方法
JP5102789B2 (ja) 半導体装置及びデータプロセッサ
WO2011148920A1 (ja) マルチプロセッサシステム、実行制御方法、実行制御プログラム
JP5660149B2 (ja) 情報処理装置、ジョブスケジューリング方法およびジョブスケジューリングプログラム
JP5885481B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP2007048280A (ja) バスモニタリングのための集積回路装置及びその方法
JP5123255B2 (ja) アーキテクチャ検証装置
JP2012203451A (ja) 半導体集積回路シミュレーション装置及び半導体集積回路のシミュレーション方法
JP6667733B2 (ja) シミュレーション装置、シミュレーション方法およびシミュレーションプログラム
JP5166194B2 (ja) アーキテクチャ検証装置
JP4264422B2 (ja) 負荷制御機能付き速度変換装置
JP2006079394A (ja) データ処理装置
JP5652242B2 (ja) データ転送制御装置及びプログラム
JP2016051420A (ja) バスブリッジ及びバスブリッジ群
JP2020140284A (ja) ベクトル演算処理装置、ベクトル演算処理装置による配列変数初期化方法、及び、ベクトル演算処理装置による配列変数初期化プログラム
EP2178001A1 (en) Calculation device, calculation method and calculation program
JP2009223762A (ja) 協調検証装置
JP2011060048A (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP3981373B2 (ja) 半導体集積回路
JP2009116445A (ja) 複数本のシーケンスプログラムを並列して実行可能なプログラマブルコントローラ
JP6119442B2 (ja) シミュレーション装置、シミュレーション装置の動作方法およびシミュレーションプログラム
JP2013117800A (ja) データ処理装置およびその制御方法
JP2005031857A (ja) メモリ制御回路
JP4743427B2 (ja) 回路動作検証方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110801

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120919

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121025

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151102

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151102

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees