JP2003091565A - データ転送アーキテクチャ構成の決定方法およびその性能見積り方法 - Google Patents

データ転送アーキテクチャ構成の決定方法およびその性能見積り方法

Info

Publication number
JP2003091565A
JP2003091565A JP2001285607A JP2001285607A JP2003091565A JP 2003091565 A JP2003091565 A JP 2003091565A JP 2001285607 A JP2001285607 A JP 2001285607A JP 2001285607 A JP2001285607 A JP 2001285607A JP 2003091565 A JP2003091565 A JP 2003091565A
Authority
JP
Japan
Prior art keywords
data transfer
information
block
logical system
processing
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.)
Pending
Application number
JP2001285607A
Other languages
English (en)
Inventor
Yoichiro Mae
洋一郎 前
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2001285607A priority Critical patent/JP2003091565A/ja
Publication of JP2003091565A publication Critical patent/JP2003091565A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 論理システムのデータ転送アーキテクチャの
構成方法を提供し、さらに、その構成での処理性能、面
積、消費電力を見積る方法を提供する。 【解決手段】 101の論理システム全体をプログラム
言語にて記述した論理システム記述と102の分割情報
から、103でシミュレートしてデータ転送情報を収集
する。この104のデータ転送情報と105のデータ転
送アーキテクチャデータベースからブロック間のデータ
転送アーキテクチャを106によって選択して、論理シ
ステム全体のデータ転送アーキテクチャを決定する。さ
らに、処理ブロック毎の処理性能情報、面積情報、消費
電力情報、および、データ転送アーキテクチャ毎の処理
性能情報、面積情報、消費電力情報から、論理システム
全体の処理性能、面積、消費電力を見積る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、論理システムの全
体アーキテクチャ構成設計時に、処理ブロック間のデー
タ転送アーキテクチャを決定する方法ないし装置並びに
論理システム全体の性能を見積る方法、装置を提供する
ものである。
【0002】
【従来の技術】一般に、論理システムは、いくつかの要
素から構成され、各構成要素間がデータ転送路で接続さ
れる。この構成要素はプロセッサ上で動作するソフトウ
ェアで実現される事もあれば、専用ハードウェアで実現
される事もある。通常、データ保持や、データ転送の効
率を高めシステム全体としてより高い処理性能を得るた
めの構成と、論理システム全体の実現面積、実現時の消
費電力を考慮し、求めるシステムに適したデータ転送ア
ーキテクチャが決定される。このデータ転送アーキテク
チャは共有バスを介しての共有メモリの場合や、専用線
で接続されたレジスタ、専用メモリ、バッファメモリが
考えられる。
【0003】従来、データ転送アーキテクチャを含む論
理システム全体のアーキテクチャ設計は、設計者の経験
等に基づき人手により行われていた。また、論理システ
ム全体の処理性能を見積るために、人手により決定され
た論理システム全体のアーキテクチャに基づいて、プロ
セッサ上で動作するソフトウェアで実現される部分のシ
ミュレーションモデル、専用ハードウェアで実現される
部分のシミュレーションモデル、データ転送のシミュレ
ーションモデルをそれぞれ作成し、これらをを接続して
論理システム全体のシミュレーションモデルを作成し、
このシミュレーションモデルを用いて論理システム全体
をシミュレートすることにより、全体の処理性能見積り
を行なっていた。
【0004】他に、論理システム全体の処理性能を見積
るための方法が特開平9−16642号公報に開示され
ている。これは、人手によりあらかじめ決定された論理
システム全体の構成である演算装置、記憶装置、これら
を接続するデータ転送路のアーキテクチャと、要求仕様
となるアプリケーションプログラムを入力し、アプリケ
ーションプログラムを分岐に依存して分割し、アプリケ
ーションプログラムの分割された各部をあらかじめ入力
されたアーキテクチャのハードウェア構成における並列
性に着目してスケジューリングしてアプリケーションプ
ログラムの各部をシミュレートすることにより、システ
ム全体の処理性能見積りを行なうものである。
【0005】また、面積見積りは各処理ブロックを、ハ
ードウェア実現ではハードウェアの面積、ソフトウェア
実現ではプロセッサの面積と処理を実現するプログラム
メモリの面積とデータ転送アーキテクチャの面積により
求められていた。消費電力は、ハードウェア実現ではハ
ードウェアの消費電力モデル、ソフトウェア実現ではプ
ロセッサの消費電力モデルとプログラムメモリの消費電
力モデルとデータ転送アーキテクチャの消費電力モデル
により、シミュレーションにより求められていた。
【0006】
【発明が解決しようとする課題】ところで、上記の方法
では、設計者の設計に係る論理システムに対して、その
データ転送アーキテクチャの良否を判断すること、乃至
は判断の指標を提供することは可能であるものの、最適
のデータ転送アーキテクチュアを設計者に対して提案す
るまでには至っていない。よく知られているように、デ
ータ転送アーキテクチャがシステム全体の性能に与える
影響は極めて大きいものであるが、上記従来の方法で
は、設計者が様々な論理システムのデータ転送アーキテ
クチャを設計し、その各々について性能見積もりをする
という手法で無いと、最適のものが得られないのであ
る。そのため、設計者に、過度な負担を強いるものであ
る。
【0007】加えて、上記のシミュレーションによる性
能見積り方法では、処理ブロック毎のシミュレーション
モデル、プロセッサのシミュレーションモデル、プログ
ラムメモリのシミュレーションモデル、データ転送アー
キテクチャのシミュレーションモデルというように各要
素個別にシミュレーションモデルを用いているために、
論理システム全体を構成する各要素のシミュレーション
モデルを開発せねばなず、データ転送アーキテクチャを
新たに設計した場合、そのデータ転送アーキテクチャに
あわせたシミュレーションモデルを新たに開発する必要
があり、シミュレーションモデル開発に工数がかかると
いう課題がある。さらに、性能見積りの度にシミュレー
ションをする必要が有るためシミュレーション時間がか
かるという課題も有る。
【0008】さらに、論理システムの各処理ブロックの
実現方法として、ソフトウェア実現とするか、ハードウ
ェア実現とするかの妥当性を評価するためには、各処理
ブロックの実現方法に応じたシミュレーションモデルを
新たに開発して、再度シミュレーションを行う必要が有
り、シミュレーションモデルの開発工数が大きくなると
いう課題が有る。
【0009】また、論理システム全体として最適なアー
キテクチャを構成するためには、様々なデータ転送アー
キテクチャとその処理時間、面積、消費電力を総合的に
判断し、求める仕様に最適なアーキテクチャを決定する
必要があるが、上記の従来方法では、総合的な判断を行
うための指標の提供はできない。本発明は、かかる点に
鑑みてなされたものであり、その目的は、論理システム
全体を記述した論理システム記述と処理ブロック分割情
報から、論理システム記述の段階でのシミュレーション
により、処理ブロック間のデータ転送情報を収集し、そ
のデータ転送情報に基づいて、実現可能な論理システム
のデータ転送アーキテクチャ構成の候補を設計者に示
し、最適で効率的なデータ転送アーキテクチャを早期に
設計するのを助ける方法ないし装置を提供するものであ
る。
【0010】また、決定したデータ転送アーキテクチャ
に基づいた論理システム全体の性能を高速に求め、決定
したデータ転送アーキテクチャの良否を判断する指標を
設計者に早期に提示する方法ないし装置を提供するもの
である。さらに、決定したデータ転送アーキテクチャに
基づき、論理システムの各処理をプロセッサと、プロセ
ッサ上で動作するプログラムで実現するソフトウェア実
現と、専用のハードウェアで実現する専用ハードウェア
実現とから実現方法を選択し、その実現方法における論
理システム全体の処理性能を高速に求め、決定したデー
タ転送アーキテクチャに加えて、各処理ブロックのソフ
トウェア実現/ハードウェア実現の選択の良否を判断す
る指標を設計者に早期に提示する装置ないし方法を提供
するものである。
【0011】また、データ転送アーキテクチャ、および
処理ブロックの実現手段に応じた論理システム全体の性
能である処理時間、面積、消費電力等の性能見積りを高
速に行い、求める仕様に最適な論理システム全体として
のアーキテクチャ、処理ブロックの実現方法の指標を早
期に設計者に提示する方法ないし装置を提供するもので
ある。
【0012】
【課題を解決するための手段】前記目的を達成するため
に、本発明のデータ転送アーキテクチャ構成の決定方法
は、 プログラミング言語を用いて記述された論理シス
テム記述と論理システムの処理ブロック分割情報から論
理システム全体をシミュレートする動作シミュレーショ
ン手段と、 動作シミュレーション中に各処理ブロック
間のデータ転送情報を収集するデータ転送情報収集手段
と、 論理システムの構成に利用可能なデータ転送アー
キテクチャのデータベースとを備えたシステムを用い、
前記データ転送情報収集手段により収集されたデータ
転送情報を元に前記データ転送アーキテクチャデータベ
ースから各処理ブロック間のデータ転送アーキテクチャ
を選択して、 論理システム全体のデータ転送アーキテ
クチャの構成を決定することを特徴とする。
【0013】具体的に論理システムのデータ転送アーキ
テクチャ構成決定方法では、プログラミング言語を用い
て記述した論理システム記述と論理システムの処理ブロ
ック分割情報から論理システム全体をシミュレートして
各処理ブロック間のデータ転送情報を収集し、選択可能
なデータ転送アーキテクチャの情報が格納されているデ
ータ転送アーキテクチャデータベースから、収集したデ
ータ転送情報を元に論理システムのデータ転送アーキテ
クチャを選択し、論理システム全体のデータ転送アーキ
テクチャの構成を決定する事を特徴とする。
【0014】また、本発明のデータ転送アーキテクチャ
の性能見積り方法は、 プログラミング言語を用いて記
述された論理システム記述と論理システムの処理ブロッ
ク分割情報から論理システム全体をシミュレートしなが
ら、その動作シミュレーション中に各処理ブロック間の
データ転送情報を収集するデータ転送情報収集手段と、
論理システムの構成に利用可能なデータ転送アーキテ
クチャのデータベースと、 処理ブロック間のデータ転
送情報と前記データ転送アーキテクチャデータベースが
格納するデータ転送アーキテクチュアとから各処理ブロ
ック間の並列性を抽出する並列性抽出手段と、抽出され
た並列性情報から各処理ブロックをスケジューリングす
るスケジューリング手段とを備えたシステムを用いて、
各処理ブロックの性能情報と前記スケジューリング手
段のスケジューリング結果から論理システム全体の性能
を見積ることを特徴としている。
【0015】具体的に論理システムの性能見積り方法で
は、決定した処理ブロック間のデータ転送アーキテクチ
ャから各処理ブロック間の並列性を抽出し、並列性情報
から各処理ブロックをスケジューリングし、あらかじめ
見積られている各処理ブロックの性能とスケジューリン
グ結果から論理システム全体の性能を見積ることを特徴
とする。
【0016】この場合において、各処理ブロックの実現
方法を、プロセッサとプロセッサ上で動作するソフトウ
ェアで実現するソフトウェア実現と専用のハードウェア
で実現する場合専用ハードウェア実現から選択し、選択
した実現手段に応じた各処理ブロックの性能情報から論
理システム全体の性能を見積ることができる。
【0017】
【発明の実施の形態】以下、本発明の実施の形態につい
て図を用いて説明する。 (第1の実施の形態) 《全体構成》図1は第1の実施の形態における論理シス
テムのデータ転送アーキテクチャ構成方法を示す機能ブ
ロックである。
【0018】図中、101は論理システム全体をプログ
ラム言語にて記述した論理システム記述である。102
は論理システム記述の処理ブロックの分割情報を記述し
たブロック分割情報である。103は論理システム記述
101とブロック分割情報102を用いて、処理ブロッ
ク間のデータ転送の情報を収集するデータ転送情報収集
手段である。104は論理システム記述全体のシミュレ
ーションを行う動作シミュレーション手段であり、10
5はシミュレーション中に各処理ブロック間のデータ転
送の情報を収集するデータ転送情報収集手段である。1
06は、データ転送情報収集手段105により収集され
たブロック間のデータ転送情報である。107は論理シ
ステムにおいて利用可能なデータ転送アーキテクチャの
データベースであり、あらかじめ用意されている。10
8はデータ転送情報106を元に、データ転送アーキテ
クチャデータベース107からブロック間のデータ転送
アーキテクチャを選択するデータ転送アーキテクチャ選
択手段であり、109は論理システムの各ブロック間の
データ転送アーキテクチャの情報である。
【0019】図15は第1の実施の形態に係る発明であ
るデータ転送アーキテクチャ装置の構成方法を処理する
システム(ハードウェア構成)の一例を示しており、図
15において、1501はあらゆる情報をみるためのデ
ィスプレイ装置、1502は設計者があらゆる情報を入
力するためのキーボード、1503はデータ転送アーキ
テクチャ構成決定方法のあらゆる処理を行う中央演算処
理装置、1504はデータ転送アーキテクチャ装置の構
成方法における情報を格納する記憶装置である。
【0020】《評価対象としての論理システム》図2
は、性能評価の対象となる論理システム全体をプログラ
ム言語にて記述した例を示している。図から理解される
ように、本論理システムはC言語を用いて記述されてい
る。プログラム文中、1行目から9行目はこの論理シス
テムの中で関数間のデータのやり取りに使用されている
変数が宣言されている。論理システムの本体は13行目
から19行目のfunction群であり、12行目の
readdata()と20行目のwritedata
()は論理システムをシミュレートするために必要なテ
ストベンチ関数である。readdata()関数は、
あらかじめファイルとして用意されているデータをC言
語の変数であるindataに読み込む関数である。w
ritedata()関数は、論理システムにおいて処
理されたデータ変数であるoutdataをファイルに
保存する関数である。
【0021】本実施の形態では以後、この図2の論理シ
ステム記述に対して、データ転送アーキテクチャの構成
を順次行なう。図3と図4は図2の論理システム記述の
13行目にあるfunctionA()と14行目にあ
るfunctionB()の一例を示している。図3の
functionA()は、forループで繰り返さ
れ、入力データの終了まで処理される。readdat
a()関数において、データの終了をあらわす情報が変
数indataに代入されている。forループのイン
デックス変数iがインクリメンタルされているため、入
力データであるindataから連続的にデータを読み
出す。さらに、シミュレーションにおいてindata
に割り当てられている変数領域に対して、定期的に読み
出しアクセスが行われる。つまり、functionA
では、変数indata、変数atobに、連続的にア
クセスが行われ、アクセスの発生は定期的である。
【0022】図4のfunctionB()では、fu
nctionA()と同じくforループで繰り返さ
れ、atobデータの終わりまで処理される。7行目で
変数atobからはデータを読み出している。この読み
出しはforループによるものであり、連続的でかつ定
期的にアクセスが発生する。しかし、8行目のif文に
より、9行目、10行目、11行目は定期的には実行さ
れない。atobのデータに、つまり、入力されるデー
タの値に依存してこのif文は実行されるため、不定期
に9行目、10行目、11行目は実行される。bcme
mへの書き込みアクセスは、9行目、10行目、14行
目、15行目で発生しており、また、読み出しアクセス
が10行目で発生している。つまり、この9行目、10
行目のアクセスの発生は、8行目のif文の条件判定が
真の場合のみ発生し、不定期のアクセスとなる。しか
し、変数bcmemのインデックス変数jはアクセスは
不定期ではあるがインクリメントされる値は同じであ
る。このため、9行目のbcmemのデータ領域には連
続的にアクセスが行われる。しかし、10行目のアクセ
スでは不定期に発生する読み出しアクセスが存在するた
め、functionB()としてはbcmemに対し
てアクセスは不連続となる。
【0023】《ブロック分割情報》図5が図2の論理シ
ステムのブロック分割情報の一例である。ブロック分割
は、人手により行っても良いし、適切なソフトを用いて
自動することも出来る。図5において、1行目にブロッ
ク数が記述されており、2行目から7行目が各ブロック
の定義である。第2フィールドはブロック名であり、第
3フィールドはこのブロック内に存在する関数名を示し
ている。8行目は論理システム記述中で論理システムと
して実現する必要の無い部分を示している。この例で
は、対象となる論理システム記述をシミュレーションす
るために必要となるデータ読み込みとデータ読み出しの
関数が記述されている。2行目から4行目と6、7行目
では1つのブロックに1つの関数しか含まれないが、5
行目では1つのブロックに2つの関数が含まれている。
【0024】《ブロック間の変数の接続情報》図11
は、103のデータ転送情報収集手段により作成される
処理ブロックとブロック間の変数の接続情報を表わして
いる。図中、1101、1102、1103、110
4、1105、1106は、それぞれ分割後の処理ブロ
ックであるブロック1、ブロック2、ブロック3、ブロ
ック4、ブロック5、ブロック6に対応する。1111
は、ブロック1とブロック2間のデータ転送に用いられ
る変数atobに対応し、1112、1113は、ブロ
ック2とブロック3の間のデータ転送に用いられる変数
bcmemnumとbcmemに対応し、1114は、
ブロック3とブロック4の間のデータ転送に使用される
変数cdmemに対応し、1115は、ブロック4とブ
ロック5のデータ転送に使用される変数efmemに対
応し、1116は、ブロック5とブロック6のデータ転
送に使用される変数fgmemに対応する。データ転送
情報収集手段により、1111、1112、1113、
1114、1115、1116の変数に対応する部分の
データ転送情報が収集される。図2の変数demem
や、図3、図4の関数内部変数はブロック間のデータ転
送に用いられる変数ではないためデータ転送情報の収集
対象外である。
【0025】《データ転送情報》図2の論理システム記
述と図5のブロック分割情報が103のデータ転送情報
収集手段に入力される。動作シミュレーション手段10
4で、図2の論理システムがシミュレーションされ、デ
ータ転送情報収集手段105で、ブロック間のデータ転
送情報が収集される。データ転送情報収集手段105で
収集されたデータ転送情報の一例を図6に示す。
【0026】変数名は図2の論理システム記述での変数
名を示している。アクセス方向は各処理ブロックが変数
に対して行ったアクセス種類を示している。このアクセ
ス方向には、read、write、read/wri
teの3種類がある。block1のindata、a
tobへのアクセスは図3のfuncitionA()
のシミュレーションによりデータ転送情報が収集され
る。図3の4行目、5行目でindataよりデータの
読み出しが行われ、演算の結果が5行目でatobに書
き込まれている。functionA()では、ind
ataへの書き込み、atobからの読み出しは行われ
ていない。このため、図6のアクセス方向情報では、i
ndataはread、atobはwriteとなって
いる。
【0027】データ転送量は一連のシミュレーションの
実行により変数を通してブロック間のデータのやり取り
が行われたデータ量である。アクセス系列は変数に対し
て行ったアクセスの順序の規則性を示している。変数に
対して連続的にアクセスされた場合はsequenti
alとなり、ブロックから変数に対して不連続にアクセ
スされた場合、randomとなる。図3のfunct
ionA()では、indata変数へのアクセスはイ
ンデックス変数iを用いて行われている。このインデッ
クス変数iはforループの最後にインクリメントされ
ており、indata変数へのアクセスは連続的に行わ
れている。また、atobへのアクセスも同様にインデ
ックス変数iに従って連続的に行われている。このため
図6でのindata、atobのアクセス系列の情報
はsequentialとなる。
【0028】アクセス発生頻度は、各ブロックから変数
にアクセスするイベントの発生の規則性を示している。
アクセス発生頻度は変数に対するアクセスイベントが一
定間隔において発生している場合、constantと
なり、不規則にアクセスしていた場合、randomと
なる。図3のfunctionA()では、indat
a変数へのアクセスはインデックス変数iを用いて行わ
れている。このインデックス変数iはループの最後にイ
ンクリメントされており、indata変数へのアクセ
スは規則正しく一定間隔でアクセスされている。また、
atobへのアクセスも同様にインデックス変数iに従
って規則正しく一定間隔でアクセスが行われている。こ
のため図6でのindata、atobのアクセス発生
頻度情報はconstantとなる。
【0029】図6のブロック2についてのデータ転送情
報について解説する。ブロック2は、図4に示されるf
unctionB()を持つ処理ブロックである。fun
ctionB()では、functionA()と同じ
くforループで繰り返され、atobデータの終わり
まで処理される。7行目で変数atobからはデータを
読み出している。この読み出しはforループによるも
のであり、連続的かつ定期的にアクセスが発生する。し
かし、変数bcmemへのアクセスは定期的には発生し
ていない。書き込みアクセスは、9行目、10行目、1
4行目、15行目で発生しており、また、読み出しアク
セスが10行目で発生している。アクセスの発生は、8
行目のif文の条件判定が真の場合のみ発生する。条件
判定は入力されたデータから演算された結果値で判定さ
れる。つまり、この条件判定は入力されたデータに依存
して、不定期にアクセスが発生する。変数bcmemの
インデックス変数jは定期的にインクリメントされるた
め、9行目のbcmemのデータ領域には連続的にアク
セスが行われる。しかし、10行目のインデックス(j
−2)へのアクセスとして不定期に発生する読み出しア
クセスが存在するため、functionB()として
は、bcmemに対するアクセスは不連続となる。
【0030】《データ転送アーキテクチャデータベー
ス》次に107のデータ転送アーキテクチャデータベー
スに格納されている情報について説明する。図7、図
8、図9、図10がデータ転送アーキテクチャデータベ
ースに格納されているデータ転送アーキテクチャ情報の
一例である。図7は、データ転送アーキテクチャの1つ
であるFIFOメモリの情報である。701は、FIF
Oメモリとブロックの接続関係を示した図である。
【0031】702は、FIFOメモリを使う場合の制
約情報とデータ転送アーキテクチャとしてFIFOメモ
リを使った場合のブロック間の並列性情報を示してい
る。702は、アクセス方向がブロックAからFIFO
メモリへのwriteアクセスでアクセス系列がseq
uentialの場合、かつ、アクセス方向がブロック
BからFIFOメモリへのreadアクセスで、アクセ
ス系列がsequentialの場合にのみFIFOメ
モリを使えることを示している。ブロックAとFIFO
メモリとの間、ブロックBとFIFOメモリとの間では
アクセス発生頻度の制約は無い。また、ブロック間の並
列性の情報として、FIFOメモリを介してデータが転
送されるブロックAとブロックBとの処理の並列性はパ
イプライン処理が可能となることを示している。
【0032】703は、データ転送アーキテクチャとし
てFIFOメモリを使用する場合の必要メモリ量の評価
式情報が格納されている。FIFOメモリの必要メモリ
量は、ブロックAとブロックBのアクセス発生頻度に依
存して変化する。ブロックAおよびブロックBのアクセ
ス発生頻度がコンスタントの場合は、ブロックAとブロ
ックBの処理実行時間とブロックAとブロックBのデー
タ転送量から算出される。アクセス発生頻度が両者とも
コンスタントではない場合、必要メモリ量はデータ転送
量となる。
【0033】704は、FIFOメモリを使用する場合
の性能パラメータ情報である。処理時間評価式、面積値
計算評価式、消費電力計算評価式が格納されている。処
理時間はFIFOメモリへのアクセスにおいて必要とな
る処理時間である。各処理ブロックに対してオーバーヘ
ッドとなる処理時間が無いため零となっている。面積評
価式は、703に基づいて求められた必要メモリ量から
算出される。消費電力は、ブロックAまたはブロックB
が動作して、FIFOメモリとの間でデータのやり取り
をしている動作状態の消費電力評価式と、ブロックA、
ブロックBの両者とも休止し、FIFOメモリとしては
待ち状態にある時の消費電力評価式が記載されている。
消費電力についても必要メモリ量に依存している。
【0034】図8は、データ転送アーキテクチャの1つ
である共有メモリの情報である。801は、共有メモリ
とブロックの接続関係を示した図である。802は、共
有メモリを使う場合の制約情報とデータ転送アーキテク
チャとして共有メモリを使った場合のブロック間の並列
性情報を示している。共有メモリを使う場合、ブロック
Aとこの共有メモリの関係、および、ブロックBと共有
メモリの関係において制約は無い。共有メモリを介して
データが転送されるブロックAとブロックBとの処理の
並列性の関係は、シーケンシャル処理となることを示し
ている。
【0035】803は、データ転送アーキテクチャとし
て共有メモリを使用する場合の必要メモリ量の評価式情
報が格納されている。共有メモリでは、ブロックAとブ
ロックBのアクセス系列、アクセス発生頻度に関係な
く、データ転送量から算出される。804は、共有メモ
リを使用する場合の性能パラメータ情報である。処理時
間評価式、面積値計算評価式、消費電力計算評価式が格
納されている。処理時間は、共有メモリへのアクセスに
おいて必要となる処理時間である。各処理ブロックに対
してオーバーヘッドとなる処理時間が無いため零となっ
ている。面積評価式は、803に基づいて求められた必
要メモリ量から算出される。消費電力は、ブロックAま
たはブロックBが動作して、共有メモリとの間でデータ
のやり取りをしている動作状態の消費電力評価式と、ブ
ロックA、ブロックBの両者とも休止し、共有メモリと
しては待ち状態にある時の消費電力評価式が記載されて
いる。消費電力についても必要メモリ量に依存してい
る。
【0036】図9は、データ転送アーキテクチャの1つ
であるバンクメモリの情報である。901は、バンクメ
モリとブロックの接続関係を示した図である。911
は、バンクメモリであり、内部に2つのメモリをもつ。
912は、どちらのメモリを使うかを切り替えるセレク
タである。902は、バンクメモリを使う場合の制約情
報とデータ転送アーキテクチャとしてバンクメモリを使
った場合のブロック間の並列性情報を示している。バン
クメモリを使う場合、ブロックAとこのバンクメモリの
関係、および、ブロックBとバンクメモリの関係におい
て制約は無い。バンクメモリを介してデータが転送され
るブロックAとブロックBとの処理の並列性の関係はパ
ラレルで同時並列処理が可能であることを示している。
【0037】903は、データ転送アーキテクチャとし
てバンクメモリを使用する場合の必要メモリ量の評価式
情報が格納されている。バンクメモリでは、ブロックA
とブロックBのアクセス系列、アクセス発生頻度に関係
なく、データ転送量から算出され、データ転送量の2倍
のメモリ量が必要である。904は、バンクメモリを使
用する場合の性能パラメータ情報である。処理時間評価
式、面積値計算評価式、消費電力計算評価式が格納され
ている。処理時間はバンクメモリへのアクセスにおいて
必要となる処理時間である。各処理ブロックに対してオ
ーバーヘッドとなる処理時間が無いため零となってい
る。面積評価式は、903に基づいて求められた必要メ
モリ量から算出される。消費電力は、ブロックAまたは
ブロックBが動作して、バンクメモリとの間でデータの
やり取りをしている動作状態の消費電力評価式と、ブロ
ックA、ブロックBの両者とも休止し、バンクメモリと
しては待ち状態にある時の消費電力評価式が記載されて
いる。消費電力についても必要メモリ量に依存してい
る。
【0038】図10は、データ転送アーキテクチャの1
つであるバッファメモリの情報である。1001は、共
有メモリとブロックの接続関係を示した図である。10
02は、共有メモリを使う場合の制約情報とデータ転送
アーキテクチャとしてバッファメモリを使った場合の、
ブロック間の並列性情報を示している。1002は、ア
クセス方向がブロックAからバッファメモリへのwri
teアクセス、かつ、アクセス方向がブロックBからバ
ッファメモリへのreadアクセスのみバッファメモリ
を使えることを示している。ブロックAとバッファメモ
リとの間、ブロックBとバッファメモリとの間ではアク
セス系列、アクセス発生頻度の制約は無い。また、ブロ
ック間の並列性の情報として、バッファメモリを介して
データが転送されるブロックAとブロックBとの処理の
並列性はシーケンシャル処理をする必要がある事を示し
ている。
【0039】1003は、データ転送アーキテクチャと
してバッファメモリを使用する場合の必要メモリ量の評
価式情報が格納されている。バッファメモリでは、ブロ
ックAとブロックBのアクセス系列、アクセス発生頻度
に関係なく、データ転送量から算出される。1004
は、バッファメモリを使用する場合の性能パラメータ情
報である。処理時間評価式、面積値計算評価式、消費電
力計算評価式が格納されている。処理時間は、バッファ
メモリへのアクセスにおいて必要となる処理時間であ
る。書き込みにおいてはデータ転送の1単位毎に必要と
なる処理時間が記載されている。読み出しのオーバーヘ
ッドとなる処理時間は無いため零となっている。面積評
価式は、1003に基づいて求められた必要メモリ量か
ら算出される。消費電力は、ブロックAまたはブロック
Bが動作して、バッファメモリとの間でデータのやり取
りをしている動作状態の消費電力評価式と、ブロック
A、ブロックBの両者とも休止し、バッファメモリとし
ては待ち状態にある時の消費電力評価式が記載されてい
る。消費電力についても必要メモリ量に依存している。
【0040】《データ転送アーキテクチャ選択手段》図
12は、108のデータ転送アーキテクチャ選択手段に
おいて作成される情報を示している。これは図6のデー
タ転送情報から作成される。変数名毎にアクセスするブ
ロック名、アクセス方向、アクセス系列、アクセス発生
頻度がリストアップされる。
【0041】図13は、図12の情報を元に、データ転
送アーキテクチャデータベースより、各変数毎に選択す
ることができるデータ転送アーキテクチャ候補をリスト
アップした例を示している。図12からわかるように、
atob変数はブロック1から連続的定期的に書き込ま
れ、ブロック2から連続的定期的に読み出されている。
このためFIFOメモリの条件を満たすためFIFOメ
モリを選択することが可能である。同様に共有メモリ、
バンクメモリ、バッファメモリが選択可能であり、図1
3では、atob変数にこれら4つのデータ転送アーキ
テクチャの選択が可能となっている。bcmem変数
は、ブロック2からランダムに読み書きが行われ、ブロ
ック3からもランダムに読み書きが行われている。この
ため、bcmem変数のデータ転送アーキテクチャは、
共有メモリとバンクメモリの2つのみが候補となる。同
様にbcmemnum、cdmem、efmem、fg
memのデータ転送アーキテクチャの候補がリストアッ
プされている。設計者はこれらの候補の中からデータ転
送アーキテクチャを選択する。データ転送アーキテクチ
ャとして選択可能な候補の中から、設計者が使用するデ
ータ転送アーキテクチャを選択し、そのデータ転送アー
キテクチャに使用するメモリの番号を設計者選択欄に入
力する。メモリナンバーは選択したデータ転送アーキテ
クチャで使用するメモリの番号であり、設計者が入力す
る。共有メモリを選択した場合、別変数に対しても同じ
メモリナンバーをつけることができる。この場合3つ以
上の処理ブロックが同一の共有バスに接続され、同一の
共有メモリを使用することになる。このため、これらの
3つ以上の処理ブロックは全てシーケンシャルの並列性
となる。
【0042】この実施の形態では、設計者は1301に
示す通りに選択している。変数atobにはMEM1と
してFIFOメモリを、bcmemとcdmemにはM
EM2として共有メモリを、bcmemnumにはME
M3としてバッファメモリを、efmemにはMEM4
としてバンクメモリを、fgmemにはMEM5として
共有メモリを選択している。
【0043】《選択されたデータ転送アーキテクチャ情
報》図14は、108のデータ転送アーキテクチャ選択
手段により、1301に示すように選択されたデータ転
送アーキテクチャ情報を示す図である。1401は、7
01、801、901、1001の接続情報図を元に作
成されている。1411はfunctionAに対応す
るブロック1、1412はfunctionBに対応す
るブロック2、1413はfunctionCに対応す
るブロック3、1414はfunctionD、fun
citonEに対応するブロック4、1415はfun
ctionFに対応するブロック5、1416はfun
ctionGに対応するブロック6である。1421は
メモリナンバー1の変数atobに対応するFIFOメ
モリであり、1422はメモリーナンバー3のbcme
mnumに対応するバッファメモリである。1423は
メモリナンバー2の変数bcmem、変数cdmemに
対応する共有メモリである。1424はメモリナンバー
4の変数efmemに対応するバンクメモリである。1
425はメモリナンバー5の変数fgmemに対応する
共有メモリである。bcmemとcdmemが同一のメ
モリナンバーをつけられており、同一の共有バス、共有
メモリに割り当てられている。fgmemは別の共有バ
ス、共有メモリに割り当てられている。1402は各メ
モリのメモリサイズである。1421のMEM1はFI
FOメモリであるため、メモリサイズの評価関数は70
3にあり、これによりメモリサイズが算出できる。ブロ
ック1とMEM1、ブロック2とMEM1のアクセス発
生頻度は両方ともコンスタントであるため条件付きの評
価式となる。
【0044】各処理ブロックの処理速度はまだ求められ
ておらず、データ転送量はシミュレーションにより算出
されており、本実施の形態の場合、図6に示されている
ように、400となる。1423のMEM2は共有メモ
リである。変数bcmemと変数cdmemが割り当て
られている。共有メモリのメモリサイズ評価式は803
にあり、メモリサイズが算出できる。図6のデータ転送
量のbcmemのデータ転送量とcdmemのデータ転
送量を加算して、700と求められる。1422のME
M3はバッファメモリであり、変数bcmemnumに
対応する。バッファメモリのメモリサイズ評価式は10
03であり、bcmemnumのデータ転送量は図6よ
り求められる。このため、メモリサイズは4と求められ
る。1424のMEM4はバンクメモリであり、変数e
fmemに対応する。
【0045】バンクメモリのメモリサイズ評価式は90
3であり、efmemのデータ転送量は図6より求めら
れる。このため、メモリサイズは1200と求められ
る。1425のMEM5は共有メモリであり、変数fg
memに対応する。共有メモリのメモリサイズ評価式は
803であり、fgmemのデータ転送量は図6より求
められる。このため、メモリサイズは1200と求めら
れる。
【0046】《作用・効果》以上説明したような、デー
タ転送アーキテクチャ構成の決定方法によって、論理シ
ステム全体をプログラミング言語で記述した論理システ
ム記述と処理ブロック分割情報を元に動作シミュレーシ
ョンを行い、このシミュレーションにより各処理ブロッ
ク間のデータ転送の情報を収集し、収集したデータ転送
情報を元にデータ転送アーキテクチャデータベースから
ブロック間のデータ転送アーキテクチャに選択できる候
補を示し、設計者が効率的なデータ転送アーキテクチャ
構成の決定を行うことができる。
【0047】この場合において、プログラミング言語で
記述された論理システムのシミュレートは、非常に高速
である上に、1回のシミュレーションでデータ転送情報
を収集しており、このデータ転送情報を利用してデータ
転送アーキテクチャを選択するため、シミュレーション
を繰り返し行う必要が無く、入力データに依存したデー
タ転送情報を収集し、そのデータ転送情報に基づいたデ
ータ転送アーキテクチャを容易に選ぶことができる。
【0048】なお、本実施の形態ではデータ転送アーキ
テクチャとして4つのデータ転送アーキテクチャを持つ
データベースを使用したが、より複雑な構造をもつデー
タ転送アーキテクチャをデータベースに登録し、そのデ
ータを用いることが可能であることはいうまでもない。
なお、本実施の形態ではデータ転送情報として、アクセ
ス方向、データ転送量、アクセス系列、アクセス発生頻
度の情報を収集したが、例えばアクセス回数、アクセス
時間等のより複雑な記録をデータ転送情報として保存
し、その情報を元にデータ転送アーキテクチャの候補選
択が可能であることはいうまでもない。
【0049】(第2の実施の形態) 《全体構成》図16は請求項2に係る論理システム全体
のデータ転送アーキテクチャ構成の性能見積り方法を示
す機能ブロック図である。1601は109のデータ転
送アーキテクチャ構成情報より、各処理ブロック間の並
列性を抽出する並列性抽出手段である。
【0050】1602は、並列性抽出手段1601によ
り抽出されたブロック間の並列性情報である。1603
は、106のデータ転送情報1601、および、ブロッ
ク間の並列性情報1602より、ブロックの処理スケジ
ュールを決めるブロックスケジューリング手段である。
1604は、スケジューリング手段1603により作成
されたスケジューリング情報である。1605はスケジ
ューリング情報から、論理システムの性能を見積る性能
見積り手段である。内部には各処理ブロックの性能情報
が記述されたブロック性能情報1607をもち、この情
報と各処理の処理スケジューリング情報1604から、
性能見積り手段1606により論理システム全体の性能
を見積る。
【0051】1608は、性能見積り手段1606によ
り見積られた論理システムの性能情報である。 《性能見積もり手段》図17は、請求項3に係る論理シ
ステム全体のデータ転送アーキテクチャ構成の性能見積
り方法の機能ブロック図であり、図16の論理システム
の性能見積り手段1605をより詳細に描いた機能ブロ
ック図である。
【0052】1701は、各処理ブロックについて専用
ハードウェアで実現するか、プロセッサとプロセッサ上
で動作するソフトウェア処理で実現するかを選択する各
処理ブロックの実現方法選択手段である。1702は、
選択手段1701により選択された各処理ブロックの実
現方法情報である。1703は、各処理ブロックのソフ
トウェア実現での性能情報であり、1704は各処理の
専用ハードウェア実現での性能情報である。1705
は、スケジューリング情報1604と処理ブロック実現
方法情報1702、ソフトウェア実現性能情報170
3、専用ハードウェア実現性能情報1704から、各処
理ブロックの実現方法に応じて論理システム全体の性能
を見積る論理システム性能見積り手段である。
【0053】第2の実施の形態に係るデータ転送アーキ
テクチャ装置の性能見積り方法を処理するハードウェア
構成は、第1の実施の形態のハードウェア構成と同様、
図15に示される構成が用いられる。本実施の形態で
は、図2のプログラミング言語により記述された論理シ
ステム記述と図5のブロック分割情報の一例に対して、
データ転送アーキテクチャ構成が図14のように決定さ
れれた場合のデータ転送アーキテクチャ構成に対する性
能見積りの例を示す。
【0054】《並列性抽出手段》図18はデータ転送ア
ーキテクチャ情報から処理ブロックと各処理ブロック間
のデータ転送アーキテクチャの並列性を対応させた図で
あり、並列性抽出手段1601により作成される並列性
情報である。図中、矩形のブロックは処理ブロックを楕
円形ブロックはデータ転送アーキテクチャの並列性を示
している。1801、1802、1803、1804、
1805、1806は処理ブロックのブロック1、ブロ
ック2、ブロック3、ブロック4、ブロック5、ブロッ
ク6を示している。1811は、変数atobが割り当
てられている1421のメモリナンバー1のFIFOメ
モリに対応している。1812は、変数bcmemnu
mに割り当てられているメモリナンバー3のバッファメ
モリに対応している。1815は、変数efmemに割
り当てられているメモリナンバー4のバンクメモリに対
応している。1816は、変数fgmemに割り当てら
れているメモリナンバー5の共有メモリに対応してい
る。1813は、変数bcmem、1814は変数cd
memに割り当てられているメモリナンバー2の共有メ
モリであり、同一の共有メモリに割り当てられているた
めに、1820の枝で接続されている。1811は、F
IFOメモリ1421に対応しているため、並列性とし
ては702に示す通りパイプラインとなる。1801の
ブロック1と1802のブロック2が1811のパイプ
ライン属性で接続されている。これはブロック1とブロ
ック2がパイプライン実行できることを示している。
【0055】1812は、1422のバッファメモリに
対応する。このため並列性情報としては1002よりシ
ーケンシャルとなる。つまり、1812のシーケンシャ
ル属性は、ブロック2とブロック3がシーケンシャルに
処理をする必要があることを示している。1815は、
1424のバンクメモリに対応しているため、並列性と
して902に示す通りパラレルとなる。1804のブロ
ック4と1805のブロック5がパラレル属性で接続さ
れている。これはブロック4と1805のブロック5が
並列同時実行が可能であることを示している。1816
は1425の共有メモリに対応しているため、並列性と
して802に示す通りシーケンシャルとなる。1805
のブロック5と1806のブロック6がシーケンシャル
属性で接続されている。これはブロック5とブロック6
がシーケンシャルに実行する必要があることを示してい
る。1813と1814は1423の共有メモリに対応
しているため、並列性として802に示す通りシーケン
シャルとなる。1802のブロック2と1803のブロ
ック3、さらに1804のブロック4がシーケンシャル
に実行する必要があることを示している。
【0056】《スケジューリング情報》図19は、ブロ
ックスケジューリング手段1604により作成されるス
ケジューリング情報である。図19では横軸に概略の処
理時間の情報が付加されている。詳細な処理時間値では
なく、パイプライン処理、シーケンシャル処理、並列処
理により、同時に処理が可能なブロック間の情報が付加
されている。つまり、シーケンシャル属性1813、1
812により、1802のブロック2と1803のブロ
ック3はオーバーラップさせて実行することはできず、
シーケンシャルに実行する必要がある。このため、18
02と1803は縦方向にオーバーラップしていない。
【0057】1814、1816についても同様で18
03と1804、1805と1806ではオーバーラッ
プしていない。パイプライン属性1811により、18
01と1802は横にずれてオーバーラップして実行で
きることを示している。パラレル属性1815により、
1804と1805が完全に並列同時実行が可能である
ことを示している。
【0058】《処理時間情報》図20は、処理ブロック
性能情報1607の1つである処理時間情報を示してい
る。内部にハードウェア実現1704の場合の性能値と
ソフトウェア実現1703の場合の性能値が記載されて
いる。ソフトウェア実現の場合はプロセッサの他に、処
理ブロック内部の処理を実現するソフトウェアが必要と
なり、そのソフトウェアを実装するためのROMサイズ
も合わせて記載されている。
【0059】《面積情報》図21は、処理ブロック性能
情報1607の1つである面積情報である。ハードウェ
ア実現1704の場合の面積値の他に、ソフトウェア実
現1703の場合の面積値計算のための情報が記載され
ている。ソフトウェア実現で使用されるプロセッサの面
積情報、およびプロセッサに付加されるROMの面積評
価関数の情報が記載されている。
【0060】《消費電力情報》図22は、処理ブロック
性能情報1607の1つである消費電力情報である。ハ
ードウェア実現1704の場合の消費電力値の他に、ソ
フトウェア実現1703の場合の消費電力値計算のため
の情報が記載されている。ソフトウェア実現で使用され
るプロセッサの消費電力情報、およびプロセッサに付加
されるROMの消費電力評価関数の情報が記載されてい
る。さらに、各処理ブロックが動作状態の場合の消費電
力情報と、待ち状態の消費電力情報が記載されている。
実行時間算出の結果、動作時間と待ち時間が算出され、
この情報を元に算出される。
【0061】《実現方法選択》図23、図24は実現方
法選択手段1701にて選択さる実現方法選択である。
設計者は、ハードウェア実現、ソフトウェア実現のいず
れも選択することが出来る。図24はすべてハードウェ
アにて実現する選択であり、図25はブロック2とブロ
ック3をプロセッサとソフトウェアによる実現、その他
のブロックをハードウェアにて実現する選択である。
【0062】《性能見積もりの計算例》まず、図23に
示す全てハードウェア実現が設計者により選択された場
合の性能見積りについて計算例を示す。図25に、性能
見積もり手段1605により見積られた処理時間性能を
示す。横軸は処理時間である。この一連の処理が繰り返
し実行されるため、各処理ブロック単位で全体の処理が
パイプライン処理されている。2501はブロック1の
処理、2502はブロック2、2503はブロック3、
2504はブロック4、2505はブロック5、250
6はブロック6をあらわしている。ブロック1とブロッ
ク2の並列性情報は1811に見られる通りパイプライ
ンである。両者ともハードウェア実現であるため、図2
0よりブロック1の処理時間は1000、ブロック2の
処理時間は500となり、ブロック2の処理時間の方が
短い。しかし、ブロック2の処理はブロック1の処理デ
ータを用いて処理が進むため、ブロック1の処理を追い
ぬくことはできない。
【0063】ブロック1のatob変数へ出力データの
1単位データ当りの処理時間は次の(数1)により求め
ることができる。
【0064】
【数1】
【0065】ブロック2のatob変数からの入力デー
タ1単位データ当りの処理時間は次の(数2)により求
めることができる。
【0066】
【数2】
【0067】ブロック2はブロック1の半分の時間で処
理が可能であり、常にブロック1からのデータを待つ状
態になる。ブロック1の最後の出力後にブロック2は処
理時間1.25後に終了できる。このため、ブロック1
とブロック2のパイプライン実行時間は1001.25
と算出でき、この期間のブロック2の動作時間は500
と算出できる。
【0068】ブロック2とブロック3の間にあるbcm
emnum変数は、今回のアーキテクチャ選択では、バ
ッファメモリにより実現されている。このメモリの処理
性能情報が107のデータ転送アーキテクチャデータベ
ースに格納されている。1004のデータにより書込み
時に処理時間が発生することが記載されている。この情
報を元にブロック2とブロック3の間にbcmemnu
m変数への書き込み時間が発生し、これを次の(数3)
により求めることができる。
【0069】
【数3】
【0070】ブロック2とブロック3、ブロック3とブ
ロック4は全て同一の共有メモリが使用されるため、シ
ーケンシャルに実行する必要がある。このため、ブロッ
ク1からブロック4までの処理実行時間を、次の(数
4)により求めることができる。
【0071】
【数4】
【0072】ブロック4とブロック4とブロック5はバ
ンクメモリが使用されているため並列に実行可能であ
り、ブロック5とブロック6は共有メモリが使用されて
いるためシーケンシャル実行が必要である。このためブ
ロック1からブロック6までの全体の処理時間は、次の
(数5)により見積ることができる。
【0073】
【数5】
【0074】論理システムの処理全体が連続して行われ
る。図19に示す通りブロック2とブロック4は同一の
共有メモリを利用している。これが1820で示されて
いる。このため、ブロック2とブロック4は同時に処理
できず、シーケンシャルに処理する必要がある。論理シ
ステムとしては、図25に示す通りにパイプラインで実
行される。この場合の一連のデータ処理のスループット
は、次の(数6)により求められる。
【0075】
【数6】
【0076】次に面積を求める。データ転送アーキテク
チャに必要な面積と、各処理ブロックに必要な面積につ
いて求める。データ転送アーキテクチャに必要となる面
積を求める。この図14のデータ転送アーキテクチャ場
合のメモリサイズは1402に求められている。142
1のMEM1に対応するFIFOメモリのメモリサイズ
は1411のブロック1の処理時間と1412のブロッ
ク2の処理時間の関係から2と算出される。従って、1
421のMEM1に対応するFIFOメモリの面積は7
04の性能パラメータ評価式より、56となる。142
2のMEM3に対応するバッファメモリの面積は100
4の性能パラメータ評価式と1402のメモリサイズよ
り8となる。1423に対応するMEM2の共有メモ
リ、1425のMEM5に対応する共有メモリの面積は
804の性能パラメータ評価式と1402のメモリサイ
ズより、1423のMEM2が2800、1425のM
EM5が4800となる。1424のMEM4に対応す
るバンクメモリの面積は904の性能パラメータ評価式
と1402のメモリサイズより5000となる。従っ
て、データ転送アーキテクチャに必要となる面積は、次
の(数7)により求められる。
【0077】
【数7】
【0078】各処理ブロックに必要な面積は、2301
にあるように全てハードウェア実現であるため、次の
(数8)により求められる
【0079】
【数8】
【0080】論理システム全体の面積はデータ転送アー
キテクチャの面積と処理ブロックの総面積から、次の
(数9)により求めることができる。
【0081】
【数9】
【0082】次に消費電力を求める。データ転送アーキ
テクチャに必要な消費電力と、各処理ブロックに必要な
消費電力について求め、全体の単位時間の消費電力を求
める。データ転送アーキテクチャに必要となる消費電力
を求める。この図14のデータ転送アーキテクチャ場合
のメモリサイズは1402に求められている。1421
のMEM1に対応するFIFOメモリのメモリサイズ
は、1411のブロック1の処理時間と1412のブロ
ック2の処理時間の関係から2と算出される。データ転
送アーキテクチャの動作状態、待ち状態は図25の処理
時間情報から算出することができる。全てハードウェア
実現時のスループット処理時間は、(数6)より与えら
れ、2510.75である。この処理時間で論理システ
ムの処理が継続的に続けられる。この中で1421のM
EM1に対応するFIFOメモリの動作時間は、ブロッ
ク1またはブロック2がFIFOメモリにアクセスして
いる場合である。このため、(数2)で求められたブロ
ック2の入力データ1単位データ当りの処理時間とブロ
ック1の動作時間とから算出されるブロック1とブロッ
ク2のパイプライン実行時間である1001.25がF
IFOメモリの動作時間となる。スループット処理時間
に対して残りの1509.5が待ち状態の処理時間とな
る。従って、1402のメモリサイズと704の性能パ
ラメータより、1421のMEM1に対応するFIFO
メモリの消費電力は、次の(数10)に求められる。
【0083】
【数10】
【0084】1422のMEM3に対応するバッファメ
モリの動作時間はブロック2の書き込みアクセスとブロ
ック3の読み出しアクセスにおいて動作しており、ブロ
ック2の動作時間とブロック3の動作時間が1422の
MEM3の動作時間となる。ブロック2はブロック1か
らのデータを待つ状態にあり、ブロック2の動作時間は
500であるため、MEM3の動作時間は800であ
り、残りの1710.75が待ち時間となる。従って、
1402のメモリサイズと1004のバッファメモリの
性能パラメータから、1422のMEM3に対応するバ
ッファメモリの消費電力は、次の(数11)に求められ
る。
【0085】
【数11】
【0086】1423のMEM2に対応する共有メモリ
の動作時間は、ブロック2とブロック3とブロック4の
動作時間により求められ、2000となる。待ち時間は
ブロック2がブロック1のデータ待ちのために待たされ
てMEM2にアクセスしない時間とブロック2とブロッ
ク3の間のバッファメモリの書き込み処理時間であり、
510.75となる。1402のメモリサイズと804
の性能パラメータから、1423のMEM2に対応する
共有メモリの消費電力は、次の(数12)により求めら
れる。
【0087】
【数12】
【0088】1424のMEM4に対応するバンクメモ
リの動作時間はブロック4またはブロック5が動作して
いる時間であり、図25の処理時間情報より求められ1
600となる。残りが待ち時間となり、1310.75
となる。従って、1402のメモリサイズと904の性
能パラメータより、1424のMEM4の消費電力は、
次の(数13)により求められる。
【0089】
【数13】
【0090】1425のMEM5に対応する共有メモリ
の動作時間はブロック5またはブロック6が動作してい
る時間であり、図25の処理時間情報より求められ24
00となる。残りが待ち時間となり、110.75とな
る。従って、1402のメモリサイズと804の性能パ
ラメータより、1425のMEM5の消費電力は、次の
(数14)により求められる。
【0091】
【数14】
【0092】従って、データ転送アーキテクチャに必要
となる消費電力は、次の(数15)により求められる。
【0093】
【数15】
【0094】次に、データ転送アーキテクチャに必要と
なる消費電力を求める。この図14のデータ転送アーキ
テクチャでは、全体処理のスループット時間が図25に
示す通り2510と求められており、各処理ブロックの
処理時間は図20、各処理ブロックの単位時間当りの消
費電力は図22に与えられている。各処理ブロックに必
要な消費電力は、ブロック1が(数16)に、ブロック
2が(数17)に、ブロック3が(数18)に、ブロッ
ク4が(数19)に、ブロック4が(数20)に、ブロ
ック6が(数21)によりそれぞれ求められる。
【0095】
【数16】
【0096】
【数17】
【0097】
【数18】
【0098】
【数19】
【0099】
【数20】
【0100】
【数21】
【0101】処理ブロックの単位時間の消費電力は、次
の(数22)により求められる。
【0102】
【数22】
【0103】このように、図2のプログラミング言語に
より記述された論理システム記述と図5のブロック分割
情報の一例に対して、データ転送アーキテクチャ構成が
図14のように決定されれた場合のデータ転送アーキテ
クチャ構成を持つ論理システム全体の性能見積りが行わ
れ、全体処理時間およびスループット時間、面積、単位
処理時間当りの消費電力が求められる。
【0104】次に図24に示す通り、処理ブロック2と
処理ブロック3をソフトウェア実現で、その他をハード
ウェア実現による性能見積りについて計算例を示す。図
26に1605により見積られた処理時間性能を示す。
横軸は処理時間である。この一連の処理が繰り返し実行
されるため、各処理ブロック単位で全体の処理がパイプ
ライン処理されている。2601はブロック1の処理、
2602はブロック2、2603はブロック3、260
4はブロック4、2605はブロック5、2606はブ
ロック6を表している。ブロック1とブロック2の並列
性情報は1811(図18参照)に見られる通りパイプ
ラインである。ブロック1はハードウェア実現であり、
ブロック2はソフトウェア実現である。図20よりブロ
ック1の処理時間は1000、ブロック2の処理時間は
1500となり、ブロック1の処理時間の方が短い。ブ
ロック1のatob変数へ出力データの1単位データ当
りの処理時間は(数1)に求めてある。
【0105】ブロック2のatob変数からの入力デー
タ1単位データ当りの処理時間は、次の(数23)によ
り求めることができる。
【0106】
【数23】
【0107】ブロック1が全ての処理を終えて、データ
をatob変数に対応するFIFOメモリに貯え、ブロ
ック2がその貯えられたデータを順次処理していくこと
になる。ブロック2はブロック1の最初のデータ出力か
ら開始することが可能であり、ブロック2はatob変
数に対応するFIFOメモリに貯えられたデータを通常
処理と同様に処理していく。このため、ブロック1とブ
ロック2のパイプライン実行時間は1502.5と算出
できる。
【0108】ブロック2とブロック3の間にあるbcm
emnum変数における書き込み時間は(数3)により
求めている。ブロック2とブロック3の間、ブロック3
とブロック4の間のデータ転送アーキテクチャはは全て
同一の共有メモリが使用されるため、シーケンシャルに
実行する必要がある。このため、ブロック1からブロッ
ク4までの処理実行時間を、次の(数24)により求め
ることができる。
【0109】
【数24】
【0110】ブロック4とブロック5の間のデータ転送
アーキテクチャはバンクメモリが使用されているため並
列に実行可能であり、ブロック5とブロック6は共有メ
モリが使用されているためシーケンシャル実行が必要で
ある。このためブロック1からブロック6までの全体の
処理時間は、次の(数25)により見積ることができ
る。
【0111】
【数25】
【0112】論理システムの処理全体が連続して行われ
る。図19に示す通りブロック2とブロック4は同一の
共有メモリを利用している。これが1820で示されて
いる。このため、ブロック2とブロック4は同時に処理
できず、シーケンシャルに処理する必要がある。論理シ
ステムとしては、図26に示す通りにパイプラインで実
行される。この場合の一連のデータ処理のスループット
は、次の(数26)により求められる。
【0113】
【数26】
【0114】次に面積を求める。データ転送アーキテク
チャに必要な面積と、各処理ブロックに必要な面積につ
いて求める。データ転送アーキテクチャに必要となる面
積を求める。この図14のデータ転送アーキテクチャ場
合のメモリサイズは1402に求められている。142
1のMEM1に対応するFIFOメモリのメモリサイズ
は1411のブロック1の処理時間と1412のブロッ
ク2の処理時間の関係から算出される。ブロック1の処
理時間は1000であり、ブロック2の処理時間は15
00である。このため、FIFOのメモリサイズは13
5となる。従って、1421のMEM1に対応するFI
FOメモリの面積は704の性能パラメータ評価式よ
り、455となる。その他のメモリサイズは図23の実
現方法選択の場合の計算と変わらない。従って、データ
転送アーキテクチャに必要となる面積は、次の(数2
7)により求められる。
【0115】
【数27】
【0116】各処理ブロックに必要な面積は、ブロック
2とブロック3がソフトウェア実現であるたり、単一の
プロセッサで実現される。このためブロック3では、ソ
フトウェアROMの面積だけが加算される。各処理ブロ
ックに必要な面積は、次の(数28)により求められ
る。
【0117】
【数28】
【0118】論理システム全体の面積はデータ転送アー
キテクチャの面積と処理ブロックの総面積から次式(2
9)より求めることができる。
【0119】
【数29】
【0120】次に消費電力を求める。データ転送アーキ
テクチャに必要な消費電力と、各処理ブロックに必要な
消費電力について求め、全体の単位時間の消費電力を求
める。データ転送アーキテクチャに必要となる消費電力
を求める。この図14のデータ転送アーキテクチャ場合
のメモリサイズは1402に求められている。1421
のMEM1に対応するFIFOメモリのメモリサイズは
1411のブロック1の処理時間と1412のブロック
2の処理時間の関係から135と算出される。データ転
送アーキテクチャの動作状態、待ち状態は図25の処理
時間情報から算出することができる。全てハードウェア
実現時のスループット処理時間は(数26)より331
2である。この処理時間で論理システムの継続的に処理
が続けられる。この中で1421のMEM1に対応する
FIFOメモリの動作時間は、ブロック1またはブロッ
ク2がFIFOメモリにアクセスしている場合である。
このため、ブロック1とブロック2のパイプライン実行
時間である1502.5がFIFOメモリの動作時間と
なる。スループット処理時間に対して残りの1809.
5が待ち状態の処理時間となる。従って、1402のメ
モリサイズと704の性能パラメータより、1421の
MEM1に対応するFIFOメモリの消費電力は、次の
(数30)により求められる。
【0121】
【数30】
【0122】1422のMEM3に対応するバッファメ
モリの消費電力は(数11)と同様に、次の(数31)
により求められる。
【0123】
【数31】
【0124】1423のMEM2に対応する共有メモリ
の動作時間は、ブロック2とブロック3とブロック4の
動作時間により求められ、3300となる。待ち時間は
ブロック2とブロック3の間のバッファメモリの書き込
み処理時間であり、12となる。1402のメモリサイ
ズと804の性能パラメータから、1423のMEM2
に対応する共有メモリの消費電力は、次の(数32)に
より求められる。
【0125】
【数32】
【0126】1424のMEM4に対応するバンクメモ
リの消費電力は(数13)と同様に、次の(数33)に
より求めらる。
【0127】
【数33】
【0128】1425のMEM5に対応する共有メモリ
の消費電力は(数14)と同様に、次の(数34)によ
り求められる。
【0129】
【数34】
【0130】従って、データ転送アーキテクチャに必要
となる消費電力は、次の(数35)により求められる。
【0131】
【数35】
【0132】次に、各処理ブロックの消費電力を求め
る。各処理ブロックに必要な消費電力は、ブロック1が
(数36)に、ブロック4が(数37)に、ブロック4
が(数38)に、ブロック6が(数39)によりそれぞ
れ求められる。ブロック2とブロック3は1つのプロセ
ッサで実現されており、プロセッサの消費電力を、(数
40)によって求める。
【0133】
【数36】
【0134】
【数37】
【0135】
【数38】
【0136】
【数39】
【0137】
【数40】
【0138】処理ブロックの単位時間の消費電力は、次
の(数41)により求められる。
【0139】
【数41】
【0140】このように、図2のプログラミング言語に
より記述された論理システム記述と図5のブロック分割
情報の一例に対して、データ転送アーキテクチャ構成が
図14のように決定されれた場合で、各処理ブロックの
実現方法について変更しても容易に論理システム全体の
性能見積りが行われ、全体処理時間およびスループット
時間、面積、単位処理時間当りの消費電力が求められ
る。
【0141】《第2の実施形態の作用・効果》以上のよ
うに本発明の第2の実施の形態によれば、データ転送ア
ーキテクチャの構成を決定し、データ転送アーキテクチ
ャによる並列性を抽出し、処理ブロック間の並列性から
論理システム全体のスケジューリングを行ない、処理ブ
ロック性能情報と、データ転送アーキテクチャ構成の性
能見積りにより、論理システム全体での性能見積りが高
速に行えるようになる。
【0142】加えて、上記データ転送アーキテクチャ構
成の性能見積り方法によれば、処理ブロック性能情報と
してハードウェア実現による性能情報と、プロセッサと
プロセッサ上で動作するソフトウェア実現の性能情報を
用いることにより、データ転送アーキテクチャ構成に加
えて、各処理ブロックの実現方法に応じた、論理システ
ム全体での性能見積りが高速に行えるようになる。
【0143】さらに、各処理ブロックの実現方法を変更
した場合でも高速に論理システム全体の処理性能見積り
が高速に行えるため、各処理ブロックの実現方法の選択
と論理システム全体の処理性能のトレードオフが可能と
なる。なお、本実施の形態では1つのプロセッサを用い
た場合の実現方法選択の例を示したが、複数のプロセッ
サを用いることができることは言うまでもない。
【0144】なお、プロセッサのROMサイズはデータ
として与えたが、処理ブロックのプログラム記述から対
象となるプロセッサのコンパイラによりオブジェクトコ
ードを作成し、そのオブジェクトコードのサイズから算
出できることはいうまでもない。また、全処理ブロック
の動作周波数を単一にして、処理ブロックの処理時間デ
ータを与えたが、周波数変更が可能なデータ転送アーキ
テクチャをデータベースに登録し、そのデータ転送アー
キテクチャを用いてブロック間を接続することにより、
処理ブロック毎に動作周波数を変えて構成できることは
いうまでもなく、その動作周波数を元に論理システムの
性能見積りが可能であることはいうまでもない。
【0145】《第3の実施の形態》本実施の形態では、
図2のプログラミング言語により記述された論理システ
ム記述と図5のブロック分割情報の一例に対して、デー
タ転送情報が図6のように収集され、 図12の情報
が、108のデータ転送アーキテクチャ選択手段におい
て作成される情報とする。
【0146】図27は、図12の情報を元に、データ転
送アーキテクチャデータベースより、各変数毎に選択す
ることができるデータ転送アーキテクチャ候補がリスト
アップされた図であり、第1の実施の形態とは別のデー
タ転送アーキテクチャ選択が設計者により選択されてい
る。本実施の形態では、設計者は2701に示す通り、
変数atobにはMEM1としてFIFOメモリを、
bcmemにはMEM2として共有メモリを、bcme
mnumにはMEM3としてバッファメモリを、efm
emにはMEM4としてバンクメモリを、fgmemに
はMEM5として共有メモリを、そしてcdmemには
MEM6としてバンクメモリ選択している。
【0147】図28ははデータ転送アーキテクチャ選択
手段により2701に示すように選択されたデータ転送
アーキテクチャ情報を示す図である。2701は70
1、801、901、1001の接続情報図を元に作成
されている。2702は各メモリのメモリサイズであ
る。2823のMEM2は共有メモリであり、変数bc
memが割り当てられている。共有メモリのメモリサイ
ズ評価式は803にあり、メモリサイズが算出できる。
図6のbcmemのデータ転送量から、200と求めら
れる。2826のMEM6はバンクメモリであり、変数
cdmemに対応する。バンクメモリのメモリサイズ評
価式は903であり、cdmemのデータ転送量は図6
より求められる。このため、メモリサイズは1000と
求められる。
【0148】図29はデータ転送アーキテクチャ情報か
ら処理ブロックと各処理ブロック間のデータ転送アーキ
テクチャの並列性を対応させた図であり、1601の並
列性抽出手段により作成される並列性情報であり、グラ
フとなっている。矩形は処理ブロックを楕円形はデータ
転送アーキテクチャの並列性を示している。2914は
変数cdmemに割り当てられているバンクメモリであ
る。2914はバンクメモリに対応しているため、並列
性として902に示す通りパラレルとなる。
【0149】図30は1604のブロックスケジューリ
ング手段により作成されるスケジューリング情報であ
る。横軸に概略の処理時間の情報が付加されている。1
815のパラレル属性により、1804と1805が完
全に並列同時実行が可能であることに加えて、3014
のパラレル属性により1803と1804が完全並列同
時実行が可能であることを示している。
【0150】本実施の形態では、図24に示す実現方法
について性能見積りを行なう。図24に示す通り、処理
ブロック2と処理ブロック3をソフトウェア実現で、そ
の他をハードウェア実現である。図31に1605によ
り見積られた処理時間性能を示す。横軸は処理時間であ
る。この一連の処理が繰り返し実行されるため、各処理
ブロック単位で全体の処理がパイプライン処理されてい
る。3104はブロック4、3105はブロック5あら
わしている。ブロック4とブロック5がパラレル属性で
あるため並列実行されている。ブロック1はハードウェ
ア実現であり、ブロック2はソフトウェア実現である。
図20よりブロック1の処理時間は1000、ブロック
2の処理時間は1500であり、ブロック1のatob
変数へ出力データの1単位データ当りの処理時間は、
(数1)に求めてあり、ブロック2のatob変数から
の入力データ1単位データ当りの処理時間は、(数2
3)に求めてある。
【0151】ブロック1が全ての処理を終えて、データ
をatob変数に対応するFIFOメモリに貯え、ブロ
ック2がその貯えられたデータを順次処理していくこと
になる。ブロック2はブロック1の最初のデータ出力か
ら開始することが可能であり、ブロック2はatob変
数に対応するFIFOメモリに貯えられたデータを通常
処理と同様に処理していく。このため、ブロック1とブ
ロック2のパイプライン実行時間は1502.5と算出
できる。
【0152】ブロック2とブロック3の間にあるbcm
emnum変数における書き込み時間は、(数3)に求
めている。ブロック2とブロック3の間はデータ転送ア
ーキテクチャとして共有メモリが使用されるため、シー
ケンシャルに実行する必要がある。しかし、ブロック3
とブロック4、ブロック4とブロック5の間のデータ転
送アーキテクチャはバンクメモリが使用されているため
並列に実行可能である。ブロック2とブロック3の間に
あるbcmemnum変数における書き込み時間は、ブ
ロック4、ブロック5の処理には無関係であるため、ブ
ロック1からブロック5までの実行時間では考慮する必
要はなくなる。ブロック5とブロック6は共有メモリが
使用されているためシーケンシャル実行が必要である。
このためブロック1からブロック6までの全体の処理時
間は、次の(数42)により見積ることができる。
【0153】
【数42】
【0154】論理システムの処理全体が連続して行われ
る。図24に示す通りブロック2とブロック3は同一の
プロセッサにてソフトウェア実現されている。このた
め、ブロック2とブロック3は同時に処理できず、シー
ケンシャルに処理する必要がある。また、ブロック5と
ブロック6の間のデータ転送には共有メモリが使用され
ているため、ブロック5とブロック6もシーケンシャル
に実行する必要がある。ブロック2からブロック3への
処理時間よりもブロック5からブロック6への処理時間
の方が長い。論理システムとしては、図31に示す通り
にパイプラインで実行される。この場合の一連のデータ
処理のスループットは、次の(数43)により求められ
る。
【0155】
【数43】
【0156】次に面積を求める。データ転送アーキテク
チャに必要な面積と、各処理ブロックに必要な面積につ
いて求める。データ転送アーキテクチャに必要となる面
積を求める。この図14のデータ転送アーキテクチャ場
合のメモリサイズは1402に求められている。282
3のMEM2に対応する共有メモリは図6の変数bcm
emのデータ転送量より求めることだできる。2826
のMEM6のメモリサイズは変数cdmemから求める
ことができる。従って、データ転送アーキテクチャに必
要となる面積は、次の(数44)により求められる。
【0157】
【数44】
【0158】各処理ブロックに必要な面積は、ブロック
2とブロック3がソフトウェア実現であり、単一のプロ
セッサで実現される。これは(数28)に求めてある。
論理システム全体の面積はデータ転送アーキテクチャの
面積と処理ブロックの総面積から、次の(数45)によ
り求めることができる。
【0159】
【数45】
【0160】次に消費電力を求める。データ転送アーキ
テクチャに必要な消費電力と、各処理ブロックに必要な
消費電力について求め、全体の単位時間の消費電力を求
める。データ転送アーキテクチャに必要となる消費電力
を求める。この図28のデータ転送アーキテクチャ場合
のメモリサイズは2802に求められている。1421
のMEM1に対応するFIFOメモリのメモリサイズは
1411のブロック1の処理時間と1412のブロック
2の処理時間の関係から135と算出される。データ転
送アーキテクチャの動作状態、待ち状態は図31の処理
時間情報から算出することができる。全てハードウェア
実現時のスループット処理時間は、(数43)より21
00である。この処理時間で論理システムの継続的に処
理が続けられる。この中で1421のMEM1に対応す
るFIFOメモリの動作時間は、ブロック1またはブロ
ック2がFIFOメモリにアクセスしている場合であ
る。このため、ブロック1とブロック2のパイプライン
実行時間である1502.5がFIFOメモリの動作時
間となる。スループット処理時間に対して残りの59
7.5が待ち状態の処理時間となる。従って、1402
のメモリサイズと704の性能パラメータより、142
1のMEM1に対応するFIFOメモリの消費電力は、
次の(数46)により求められる。
【0161】
【数46】
【0162】1422のMEM3に対応するバッファメ
モリの消費電力は(数11)と同様に、次の(数47)
により求められる。
【0163】
【数47】
【0164】1423のMEM2に対応する共有メモリ
の動作時間は、ブロック2とブロック3の動作時間によ
り求められ、2100となる。待ち時間はない。280
2のメモリサイズと804の性能パラメータから、28
23のMEM2に対応する共有メモリの消費電力は、次
の(数48)により求められる。
【0165】
【数48】
【0166】1424のMEM4に対応するバンクメモ
リの消費電力は(数13)と同様に、次の(数49)に
より求めらる。
【0167】
【数49】
【0168】1425のMEM5に対応する共有メモリ
の消費電力は(数14)と同様に、次の(数50)によ
り求められる。
【0169】
【数50】
【0170】2826のMEM6に対応するバンクメモ
リの動作時間はブロック4の動作時間により求められ、
1200である。待ち時間は1200である。2802
のメモリサイズと904の性能パラメータから2826
のMEM6の消費電力が次の(数51)により求められ
る。
【0171】
【数51】
【0172】従って、データ転送アーキテクチャに必要
となる消費電力は、次の(数52)により求められる。
【0173】
【数52】
【0174】次に、各処理ブロックの消費電力を求め
る。各処理ブロックに必要な消費電力は、ブロック1が
(数53)に、ブロック4が(数54)に、ブロック4
が(数55)に、ブロック6が(数56)によりそれぞ
れ求められる。ブロック2とブロック3は1つのプロセ
ッサで実現されており、プロセッサの消費電力を(数5
7)により求める。
【0175】
【数53】
【0176】
【数54】
【0177】
【数55】
【0178】
【数56】
【0179】
【数57】
【0180】論理システムの単位時間の消費電力は、次
の(数58)により求められる。
【0181】
【数58】
【0182】このように、図2のプログラミング言語に
より記述された論理システム記述と図5のブロック分割
情報の一例に対して、データ転送アーキテクチャ構成が
図14のように決定されれた場合で、各処理ブロックの
実現方法について変更しても容易に論理システム全体の
性能見積りが行われ、全体処理時間およびスループット
時間、面積、単位処理時間当りの消費電力が求められ
る。
【0183】以上のように本発明の第3の実施の形態に
よれば、データ転送アーキテクチャの構成を決定し、デ
ータ転送アーキテクチャによる並列性を抽出し、処理ブ
ロック間の並列性から論理システム全体のスケジューリ
ングを行ない、処理ブロック性能情報と、データ転送ア
ーキテクチャ構成の性能見積りにより、論理システム全
体での性能見積りが高速に行えるようになる。
【0184】さらに、データ転送アーキテクチャの選択
を変更した場合でも高速に論理システム全体の処理性能
見積りが高速に行えるため、データ転送アーキテクチャ
の選択と論理システム全体の処理性能のトレードオフが
可能となる。また、データ転送アーキテクチャ構成の性
能見積り方法によって、処理ブロック性能情報としてハ
ードウェア実現による性能情報と、プロセッサとプロセ
ッサ上で動作するソフトウェア実現の性能情報を用いる
ことにより、データ転送アーキテクチャ構成に加えて、
各処理ブロックの実現方法に応じた、論理システム全体
での性能見積りが高速に行えるようになる。
【0185】なお、本実施の形態では1つのプロセッサ
を用いた場合の実現方法選択の例を示したが、複数のプ
ロセッサを用いることができることは言うまでもない。
また、プロセッサのROMサイズはデータとして与えた
が、処理ブロックのプログラム記述から対象となるプロ
セッサのコンパイラによりオブジェクトコードを作成
し、そのオブジェクトコードのサイズから算出できるこ
とはいうまでもない。
【0186】なお、全処理ブロックの動作周波数を単一
にして、処理ブロックの処理時間データを与えたが、周
波数変更が可能なデータ転送アーキテクチャをデータベ
ースに登録し、そのデータ転送アーキテクチャを用いて
ブロック間を接続することにより、処理ブロック毎に動
作周波数を変えて構成できることはいうまでもなく、そ
の動作周波数を元に論理システムの性能見積りが可能で
あることはいうまでもない。
【0187】更に、本発明は、上記した論理システムの
データ転送アーキテクチュア構成決定方法を実現するプ
ログラムを記録媒体に格納し、汎用コンピュータにイン
ストールして実現することが出来るし、上記プログラム
を格納する適宜のプロバイダーからダウンロードして実
現することも出来る。要は、方法、装置という形態に限
られず、実施できるものである。
【0188】
【発明の効果】以上説明したように、第1の発明によれ
ば、論理システム全体をプログラミング言語で記述した
論理システム記述と処理ブロック分割情報を元に動作シ
ミュレーションを行い、このシミュレーションにより各
処理ブロック間のデータ転送の情報を収集し、収集した
データ転送情報を元にデータ転送アーキテクチャデータ
ベースからブロック間のデータ転送アーキテクチャとし
て選択できる候補を示すものであるから、設計者が効率
的なデータ転送アーキテクチャ構成の決定を行うことが
できる。
【0189】さらに上記の方法では、プログラミング言
語で記述された論理システムのシミュレートは非常に高
速であり、1回のシミュレーションでデータ転送情報を
収集するため、データ転送アーキテクチャを選択するた
めにシミュレーションを繰り返し行う必要が無く、入力
データに依存したデータ転送情報を収集し、そのデータ
転送情報に基づいたデータ転送アーキテクチャを容易に
選ぶことができる。
【0190】また、第2の発明によれば、決定されたデ
ータ転送アーキテクチャについて、処理ブロック間の並
列性をデータ転送アーキテクチャに基づいて抽出し、処
理ブロック間の並列性から論理システム全体のスケジュ
ーリングを行ない、処理ブロック性能情報と、スケジュ
ーリング結果、データ転送アーキテクチャ構成の性能見
積りにより、論理システム全体での性能見積りが高速に
行えるようになる。
【0191】上記の方法では、データ転送アーキテクチ
ャの選択を変更した場合でも高速に論理システム全体の
処理性能見積りが高速に行えるため、データ転送アーキ
テクチャの選択と論理システム全体の処理性能のトレー
ドオフが可能となる。さらに、第3の発明によれば、デ
ータ転送アーキテクチャ構成の性能見積りにおいて、処
理ブロック性能情報としてハードウェア実現による性能
情報と、プロセッサとプロセッサ上で動作するソフトウ
ェア実現の性能情報を用いることにより、データ転送ア
ーキテクチャ構成に加えて、各処理ブロックの実現方法
に応じた、論理システム全体での性能見積りが高速に行
えるようになる。
【0192】上記の方法では、各処理ブロックの実現方
法を変更した場合でも論理システム全体の処理性能見積
りが高速に行えるため、各処理ブロックの実現方法の選
択と論理システム全体の処理性能のトレードオフが可能
となる。さらに、上記の方法では、非常に高速なプログ
ラミング言語で記述された論理システムのシミュレート
で得たデータ転送情報を元に、選択によるデータ転送ア
ーキテクチャ構成の決定、ハードウェア実現/ソフトウ
ェア実現の選択による各処理ブロックの実現方法の決定
を行ない、論理システム全体での処理時間、面積、消費
電力の性能見積りを非常に高速に行なう。このため、設
計者に繰り返しの設計と検討を可能にし、データ転送ア
ーキテクチャ構成と実現方法と性能のトレードオフを可
能にする。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態における論理システ
ムのデータ転送アーキテクチャ構成の決定方法の機能ブ
ロック図である。
【図2】本発明の第1の実施の形態における論理システ
ム記述の一例を示す図である。
【図3】本発明の第1の実施の形態における論理システ
ム記述の部分的な一例を示す図である。
【図4】本発明の第1の実施の形態における論理システ
ム記述の部分的な一例を示す図である。
【図5】本発明の第1の実施の形態における論理システ
ムの処理ブロック分割情報の一例を示す図である。
【図6】本発明の第1の実施の形態において収集された
データ転送情報の一例を示す図である。
【図7】本発明の第1の実施の形態におけるデータ転送
アーキテクチャのデーターベースに格納されているFI
FOメモリの情報の一例を示す図である。
【図8】本発明の第1の実施の形態におけるデータ転送
アーキテクチャのデーターベースに格納されている共有
メモリの情報の一例を示す図である。
【図9】本発明の第1の実施の形態におけるデータ転送
アーキテクチャのデーターベースに格納されているバン
クメモリの情報の一例を示す図である。
【図10】本発明の第1の実施の形態におけるデータ転
送アーキテクチャのデーターベースに格納されているバ
ッファメモリの情報の一例を示す図である。
【図11】本発明の第1の実施の形態におけるデータ転
送情報収集手段により作成される処理ブロックとブロッ
ク間の変数の接続情報の一例を示す図である。
【図12】本発明の第1の実施の形態においてデータ転
送アーキテクチャ選択手段において作成されるデータ転
送アーキテクチャ候補選別情報の一例を示す図である。
【図13】本発明の第1の実施の形態においてデータ転
送アーキテクチャ選択手段において作成されるデータ転
送アーキテクチャ候補リストと選択入力の一例を示す図
である。
【図14】本発明の第1の実施の形態において決定され
たデータ転送アーキテクチャの一例を示す図である。
【図15】本発明の第1、第2、第3の実施の形態にお
ける、記憶装置構成方法、記憶装置構成方法の評価方法
を処理実現するためのハードウェア構成の一例を示す図
である。
【図16】本発明の第2の実施の形態における論理シス
テムの性能見積り方法の機能ブロック図である。
【図17】本発明の第2の実施の形態における論理シス
テムの性能見積り方法において、各処理ブロックの実現
方法に応じて論理システム全体の性能を見積もる性能見
積り方法の機能ブロック図である。
【図18】本発明の第2の実施の形態における処理ブロ
ック間の並列性情報の一例を示す図である。
【図19】本発明の第2の実施の形態における処理ブロ
ック間のスケジューリング情報の一例を示す図である。
【図20】本発明の第2の実施の形態における各処理ブ
ロックのハードウェア実現、ソフトウェア実現の性能情
報の一例を示す図である。
【図21】本発明の第2の実施の形態における処理ブロ
ックの面積情報の一例を示す図である。
【図22】本発明の第2の実施の形態における処理ブロ
ックの消費電力情報の一例を示す図である。
【図23】本発明の第2の実施の形態における各処理ブ
ロックのハードウェア実現、ソフトウェア実現の選択に
おいてある選択の一例を示す図である。
【図24】本発明の第2の実施の形態における各処理ブ
ロックのハードウェア実現、ソフトウェア実現の選択に
おいてある選択の一例を示す図である。
【図25】本発明の第2の実施の形態において、全処理
ブロックをハードウェア実現した場合の、論理システム
全体の処理時間と全体パイプラインスケジューリングの
一例を示す図である。
【図26】本発明の第2の実施の形態において、一部の
処理ブロックをソフトウェア実現した場合の、論理シス
テム全体の処理時間と全体パイプラインスケジューリン
グの一例を示す図である。
【図27】本発明の第3の実施の形態においてデータ転
送アーキテクチャ選択手段において作成されるデータ転
送アーキテクチャ候補リストと選択入力の一例を示す図
である。
【図28】本発明の第3の実施の形態において決定され
たデータ転送アーキテクチャの一例を示す図である。
【図29】本発明の第3の実施の形態における処理ブロ
ック間の並列性情報の一例を示す図である。
【図30】本発明の第3の実施の形態における処理ブロ
ック間のスケジューリング情報の一例を示す図である。
【図31】本発明の第3の実施の形態において、一部の
処理ブロックをソフトウェア実現した場合の、論理シス
テム全体の処理時間と全体パイプラインスケジューリン
グの一例を示す図である。
【符号の説明】
101 論理システム記述 102 処理ブロック分割情報 104 動作シミュレーション手段 105 データ転送情報収集手段 106 データ転送情報 107 データ転送アーキテクチャデータベース 108 データ転送アーキテクチャ選択手段 109 データ転送アーキテクチャ情報 1601 処理ブロック間並列性抽出手段 1602 処理ブロック間並列情報 1603 処理ブロックスケジューリング手段 1604 処理ブロックスケジューリング情報 1606 論理システム性能見積り手段 1607 処理ブロック性能情報 1608 論理システム性能情報 1701 実現方法選択手段 1702 実現方法選択情報 1703 処理ブロックのソフトウェア実現性能情
報 1704 処理ブロックのハードウェア実現性能情
報 1705 論理システム性能見積り手段

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 プログラミング言語を用いて記述された
    論理システム記述と論理システムの処理ブロック分割情
    報から論理システム全体をシミュレートする動作シミュ
    レーション手段と、 動作シミュレーション中に各処理ブロック間のデータ転
    送情報を収集するデータ転送情報収集手段と、 論理システムの構成に利用可能なデータ転送アーキテク
    チャのデータベースとを備えたシステムを用い、 前記データ転送情報収集手段により収集されたデータ転
    送情報を元に前記データ転送アーキテクチャデータベー
    スから各処理ブロック間のデータ転送アーキテクチャを
    選択して、 論理システム全体のデータ転送アーキテクチャの構成を
    決定する事を特徴とするデータ転送アーキテクチャ構成
    決定方法。
  2. 【請求項2】 プログラミング言語を用いて記述された
    論理システム記述と論理システムの処理ブロック分割情
    報から論理システム全体をシミュレートする動作シミュ
    レーション手段と、 動作シミュレーション中に各処理ブロック間のデータ転
    送情報を収集するデータ転送情報収集手段と、 論理システムの構成に利用可能なデータ転送アーキテク
    チャのデータベースと、 前記データ転送情報収集手段により収集されたデータ転
    送情報を元に、前記データ転送アーキテクチャデータベ
    ースが格納する複数のデータ転送アーキテクチャを各処
    理ブロック間に適用した場合の性能パラメータを提示す
    る提示手段と、 提示された性能パラメータから論理システム全体のデー
    タ転送アーキテクチャの構成を選択する手段と、 を備えることを特徴とするデータ転送アーキテクチャ構
    成決定装置。
  3. 【請求項3】 コンピュータを、 プログラミング言語を用いて記述された論理システム記
    述と論理システムの処理ブロック分割情報から論理シス
    テム全体をシミュレートする動作シミュレーション手
    段、 動作シミュレーション中に各処理ブロック間のデータ転
    送情報を収集するデータ転送情報収集手段、 前記データ転送情報収集手段により収集されたデータ転
    送情報を元に、論理システムの構成に利用可能なデータ
    転送アーキテクチャのデータベースから複数のデータ転
    送アーキテクチャを選択して各処理ブロック間にそれら
    を適用した場合の性能パラメータを提示する提示手段
    と、 提示された性能パラメータから論理システム全体のデー
    タ転送アーキテクチャの構成を選択する手段の各手段と
    して機能させるためのプログラム。
  4. 【請求項4】 コンピュータを、 プログラミング言語を用いて記述された論理システム記
    述と論理システムの処理ブロック分割情報から論理シス
    テム全体をシミュレートする動作シミュレーション手
    段、 動作シミュレーション中に各処理ブロック間のデータ転
    送情報を収集するデータ転送情報収集手段、 前記データ転送情報収集手段により収集されたデータ転
    送情報を元に、論理システムの構成に利用可能なデータ
    転送アーキテクチャのデータベースから複数のデータ転
    送アーキテクチャを選択して各処理ブロック間にそれら
    を適用した場合の性能パラメータを提示する提示手段
    と、 提示された性能パラメータから論理システム全体のデー
    タ転送アーキテクチャの構成を選択する手段、 の各手段として機能させるためのプログラムを記録した
    コンピュータ読み取り可能な記録媒体。
  5. 【請求項5】 論理システムの性能見積り方法であっ
    て、 プログラミング言語を用いて記述された論理システム記
    述と論理システムの処理ブロック分割情報から論理シス
    テム全体をシミュレートしながら、その動作シミュレー
    ション中に各処理ブロック間のデータ転送情報を収集す
    るデータ転送情報収集手段と、 論理システムの構成に利用可能なデータ転送アーキテク
    チャのデータベースと、 処理ブロック間のデータ転送情報と前記データ転送アー
    キテクチャデータベースが格納するデータ転送アーキテ
    クチュアとから各処理ブロック間の並列性を抽出する並
    列性抽出手段と、 抽出された並列性情報から各処理ブロックをスケジュー
    リングするスケジューリング手段とを備えたシステムを
    用いて、 各処理ブロックの性能情報と前記スケジューリング手段
    のスケジューリング結果から論理システム全体の性能を
    見積る事を特徴とする性能見積り方法。
  6. 【請求項6】 論理システムの性能見積り装置であっ
    て、 プログラミング言語を用いて記述された論理システム記
    述と論理システムの処理ブロック分割情報から論理シス
    テム全体をシミュレートしながら、その動作シミュレー
    ション中に各処理ブロック間のデータ転送情報を収集す
    るデータ転送情報収集手段と、 論理システムの構成に利用可能なデータ転送アーキテク
    チャのデータベースと、 処理ブロック間のデータ転送情報と前記データ転送アー
    キテクチャデータベースに格納されたデータ転送アーキ
    テクチュアとから各処理ブロック間の並列性を抽出する
    並列性抽出手段と、 抽出された並列性情報から各処理ブロックをスケジュー
    リングするスケジューリング手段と、 各処理ブロックの性能情報と前記スケジューリング手段
    のスケジューリング結果から論理システム全体の性能を
    見積る手段とを備えることを特徴とする論理システム用
    性能見積り装置。
  7. 【請求項7】 コンピュータを、 プログラミング言語を用いて記述された論理システム記
    述と論理システムの処理ブロック分割情報から論理シス
    テム全体をシミュレートしながら、その動作シミュレー
    ション中に各処理ブロック間のデータ転送情報を収集す
    るデータ転送情報収集手段と、 処理ブロック間のデータ転送情報と、 論理システムの
    構成に利用可能なデータ転送アーキテクチャのデータベ
    ースに格納されたデータ転送アーキテクチュアとから各
    処理ブロック間の並列性を抽出する並列性抽出手段と、 抽出された並列性情報から各処理ブロックをスケジュー
    リングするスケジューリング手段と、 各処理ブロックの性能情報と前記スケジューリング手段
    のスケジューリング結果から論理システム全体の性能を
    見積る手段との各手段をとして機能させるためのプログ
    ラム。
  8. 【請求項8】 コンピュータを、 プログラミング言語を用いて記述された論理システム記
    述と論理システムの処理ブロック分割情報から論理シス
    テム全体をシミュレートしながら、その動作シミュレー
    ション中に各処理ブロック間のデータ転送情報を収集す
    るデータ転送情報収集手段と、 処理ブロック間のデータ転送情報と、 論理システムの
    構成に利用可能なデータ転送アーキテクチャのデータベ
    ースに格納されたデータ転送アーキテクチュアとから各
    処理ブロック間の並列性を抽出する並列性抽出手段と、 抽出された並列性情報から各処理ブロックをスケジュー
    リングするスケジューリング手段と、 各処理ブロックの性能情報と前記スケジューリング手段
    のスケジューリング結果から論理システム全体の性能を
    見積る手段との各手段をとして機能させるためのプログ
    ラムを記録したコンピュータ読み取り可能な記録媒体。
  9. 【請求項9】 前記処理ブロックの性能情報が、 特定のプロセッサとプロセッサ上で動作するソフトウェ
    アとで実現される場合の性能情報と、 専用のハードウェアで実現される場合の性能情報とから
    構成され、 各処理ブロックの実現手段をソフトウェア実現とハード
    ウェア実現とから選択する手段を備え、 選択した処理ブロックの実現手段に応じて、前記ソフト
    ウェア実現の性能情報および前記ハードウェア実現の性
    能情報から論理システム全体の性能見積りを行うことを
    特徴とする請求項5記載の論理システムの性能見積り方
    法。
  10. 【請求項10】 前記処理ブロックの性能情報が、 特定のプロセッサとプロセッサ上で動作するソフトウェ
    アとで実現される場合の性能情報と、 専用のハードウェアで実現される場合の性能情報とから
    構成され、 各処理ブロックの実現手段をソフトウェア実現とハード
    ウェア実現とから選択する手段を備え、 選択した処理ブロックの実現手段に応じて、前記ソフト
    ウェア実現の性能情報および前記ハードウェア実現の性
    能情報から論理システム全体の性能見積りを行うことを
    特徴とする請求項6記載の論理システムの性能見積り装
    置。
JP2001285607A 2001-09-19 2001-09-19 データ転送アーキテクチャ構成の決定方法およびその性能見積り方法 Pending JP2003091565A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001285607A JP2003091565A (ja) 2001-09-19 2001-09-19 データ転送アーキテクチャ構成の決定方法およびその性能見積り方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001285607A JP2003091565A (ja) 2001-09-19 2001-09-19 データ転送アーキテクチャ構成の決定方法およびその性能見積り方法

Publications (1)

Publication Number Publication Date
JP2003091565A true JP2003091565A (ja) 2003-03-28

Family

ID=19108734

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001285607A Pending JP2003091565A (ja) 2001-09-19 2001-09-19 データ転送アーキテクチャ構成の決定方法およびその性能見積り方法

Country Status (1)

Country Link
JP (1) JP2003091565A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010231633A (ja) * 2009-03-27 2010-10-14 Fujitsu Ltd 検証支援プログラム、検証支援装置および検証支援方法
JP2010286885A (ja) * 2009-06-09 2010-12-24 Toshiba Corp アーキテクチャ検証装置
WO2017135228A1 (ja) * 2016-02-01 2017-08-10 日本電気株式会社 高位合成装置、高位合成方法及びプログラム記録媒体
CN114398303A (zh) * 2022-01-19 2022-04-26 扬州万方科技股份有限公司 一种实现低延时的数据传输方法及系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010231633A (ja) * 2009-03-27 2010-10-14 Fujitsu Ltd 検証支援プログラム、検証支援装置および検証支援方法
JP2010286885A (ja) * 2009-06-09 2010-12-24 Toshiba Corp アーキテクチャ検証装置
WO2017135228A1 (ja) * 2016-02-01 2017-08-10 日本電気株式会社 高位合成装置、高位合成方法及びプログラム記録媒体
US10762264B2 (en) 2016-02-01 2020-09-01 Nec Corporation High-level synthesis device, high-level synthesis method, and program recording medium
CN114398303A (zh) * 2022-01-19 2022-04-26 扬州万方科技股份有限公司 一种实现低延时的数据传输方法及系统

Similar Documents

Publication Publication Date Title
Srinivasan et al. Hardware software partitioning with integrated hardware design space exploration
US7401329B2 (en) Compiling computer programs to exploit parallelism without exceeding available processing resources
US20170185700A1 (en) Selective Execution For Partitioned Parallel Simulations
Stigge et al. On the tractability of digraph-based task models
CN110825522A (zh) Spark参数自适应优化方法及系统
Ouyang et al. Hardware/software partitioning for heterogenous mpsoc considering communication overhead
Tendulkar Mapping and scheduling on multi-core processors using SMT solvers
O'neal et al. GPU performance estimation using software rasterization and machine learning
Bobrek et al. Stochastic contention level simulation for single-chip heterogeneous multiprocessors
JP2003091565A (ja) データ転送アーキテクチャ構成の決定方法およびその性能見積り方法
Uddin Multiple levels of abstraction in the simulation of microthreaded many-core architectures
Theelen et al. Performance modelling of a network processor using POOSL
Inggs et al. CTL* model checking on a shared-memory architecture
Duan et al. Reducing average job completion time for DAG-style jobs by adding idle slots
Liu et al. Multivariate modeling and two-level scheduling of analytic queries
Maghazeh et al. Cache-aware kernel tiling: An approach for system-level performance optimization of GPU-based applications
Bobda et al. High-level synthesis of on-chip multiprocessor architectures based on answer set programming
Bai et al. Computing execution times with execution decision diagrams in the presence of out-of-order resources
Singh et al. RAPIDITAS: RAPId design-space-exploration incorporating trace-based analysis and simulation
Okamura et al. DAG scheduling considering parallel execution for high-load processing on clustered many-core processors
Ruiz et al. A bounded true concurrency process algebra for performance evaluation
Jin Virtualization technology for computing system: Opportunities and challenges
Potkonjak et al. A methodology and algorithms for the design of hard real-time multitasking ASICs
Zhang et al. Time optimal reachability analysis using swarm verification
TWI782845B (zh) 通用型圖形處理器核心函式之組態設定預測系統及方法