JP6567215B2 - アーキテクチャ選定装置、アーキテクチャ選定方法およびアーキテクチャ選定プログラム - Google Patents

アーキテクチャ選定装置、アーキテクチャ選定方法およびアーキテクチャ選定プログラム Download PDF

Info

Publication number
JP6567215B2
JP6567215B2 JP2019504175A JP2019504175A JP6567215B2 JP 6567215 B2 JP6567215 B2 JP 6567215B2 JP 2019504175 A JP2019504175 A JP 2019504175A JP 2019504175 A JP2019504175 A JP 2019504175A JP 6567215 B2 JP6567215 B2 JP 6567215B2
Authority
JP
Japan
Prior art keywords
cost
architecture
combination
unit
selection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019504175A
Other languages
English (en)
Other versions
JPWO2018163291A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2018163291A1 publication Critical patent/JPWO2018163291A1/ja
Application granted granted Critical
Publication of JP6567215B2 publication Critical patent/JP6567215B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/20Configuration CAD, e.g. designing by assembling or positioning modules selected from libraries of predesigned modules

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Description

本発明は、アーキテクチャ選定装置、アーキテクチャ選定方法およびアーキテクチャ選定プログラムに関するものである。
組み込みシステム設計では、システム要求に従い、要求分析が行われる。システム全体の動作仕様の機能ブロックへの分割、および、機能ブロックごとの動作仕様設計が行われる。機能ブロックを実装するためのハードウェア部品が選定された後、各々の機能ブロックがソフトウェアおよびハードウェアに分割される。その後、ソフトウェアおよびハードウェアの実装が行われる。組み込みシステム設計では、最終的な実装結果が性能およびコストの制約条件を満たす必要がある。よって、設計の前段階で行われる部品の選定、および、機能ブロックのソフトウェアおよびハードウェアへの分割は重要である。部品に関する知識と、ソフトウェアおよびハードウェアの実装に関する知識および経験とが必要である。
特許文献1には、システム設計を支援する技術が記載されている。
特許文献1に記載の技術では、機能ライブラリおよびテストベンチライブラリを用いて機能設計が行われる。IP機能ライブラリを用いてIP機能設計が行われる。「IP」は、Intellectual Propertyの略語である。機能設計およびIP機能設計では、IPに要求される機能が、C言語により記述される。
機能設計およびIP機能設計の次に、アーキテクチャモデルライブラリを用いてシステムアーキテクチャ設計が行われる。システムアーキテクチャ設計では、アーキテクチャモデルライブラリから必要なHWモデルおよびSWモデルが選択される。「HW」は、Hardwareの略語である。「SW」は、Softwareの略語である。各モデルがバスに接続されてシステム全体の概略的な構造が作り上げられる。
システムアーキテクチャ設計の次に、各機能ブロックをアーキテクチャのコンポーネントに割り当てるマッピングが行われる。その後、性能ライブラリを用いて性能解析が行われる。その結果、性能が満たされない場合は、マッピングおよび性能解析が再び行われる。性能が満たされるまで、マッピングおよび性能解析を繰り返すループ処理が行われる。
マッピングおよび性能解析の次に、IPハードウェアモデルライブラリを用いたHW設計と、IPソフトウェアモデルライブラリを用いたSW設計とが個別に行われる。HWおよびSWが詳細化されてくると、インタフェースモデルを用いたHW/SW協調検証が行われる。その後、実チップを用いて実チップの機能が確認される。
特開2002−157291号公報
特許文献1に記載の技術では、マッピングにより性能を満たせない場合は、システムアーキテクチャ設計をやり直さなければならない。また、システムアーキテクチャ設計は、システム設計者が行う必要がある。システム設計者は、性能解析結果に基づいて性能およびコストの制約条件を満たす設計を再度する必要がある。
本発明は、システム設計者に頼らずに、性能およびコストの制約条件を満たす部品の組み合わせをシステムのアーキテクチャとして選定することを目的とする。
本発明の一態様に係るアーキテクチャ選定装置は、
設計対象のシステムに組み入れられるハードウェア部品のうち処理を実行するハードウェア部品であるプロセッシング部品の組み合わせの候補ごとに性能を評価する評価部と、
個別のハードウェア部品のコストを定義する部品情報をメモリから取得し、取得した部品情報に基づいて、前記システムに組み入れられるハードウェア部品の組み合わせの候補ごとにコストを集計する集計部と、
前記システムに組み入れられるハードウェア部品の組み合わせの候補の中から、前記評価部により評価された性能が前記システムに与えられた性能の制約条件を満たすプロセッシング部品の組み合わせを含み、かつ、前記集計部により集計されたコストが前記システムに与えられたコストの制約条件を満たすハードウェア部品の組み合わせの候補を前記システムのアーキテクチャとして選定する選定部とを備える。
本発明によれば、システム設計者に頼らずに、性能およびコストの制約条件を満たす部品の組み合わせをシステムのアーキテクチャとして選定することができる。
実施の形態1に係る設計支援システムの構成を示すブロック図。 実施の形態1に係るアーキテクチャ選定装置の動作を示すフローチャート。 実施の形態1に係る機能モデルのソースコードの例を示す図。 実施の形態1に係る機能モデルの解析結果と、演算回数およびデータ量の計測結果との例を示す図。 実施の形態1に係る機能モデルの解析結果と、演算回数およびデータ量の計測結果との例を示す図。 実施の形態1に係る計算資源データの例を示す図。 実施の形態1に係る計算資源データの例を示す図。 実施の形態1に係る計算資源データの例を示す図。 実施の形態1に係る計算資源データの例を示す図。 実施の形態1に係る計算資源の評価結果の例を示す図。 実施の形態1に係る計算資源の評価結果の例を示す図。 実施の形態1に係る計算資源の評価結果と、制約条件および優先順位と、MIPSの算出結果との例を示す図。 実施の形態1に係るアーキテクチャ情報の例を示す図。 実施の形態1に係る部品情報の例を示す図。 実施の形態1に係る部品情報の例を示す図。 実施の形態1に係る部品の選定結果の例を示す図。 実施の形態1に係る部品の選定結果の例を示す図。
以下、本発明の実施の形態について、図を用いて説明する。各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。なお、本発明は、以下に説明する実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。例えば、以下に説明する実施の形態は、部分的に実施されても構わない。
実施の形態1.
本実施の形態について、図1から図17を用いて説明する。
***構成の説明***
図1を参照して、本実施の形態に係る設計支援システム100の構成を説明する。
設計支援システム100は、仕様記述から組み込みシステムまたはその他のシステムの設計を支援するシステムである。設計支援システム100は、アーキテクチャ選定装置200と、HW/SW分割装置300と、HW/SW設計装置400とを備える。
アーキテクチャ選定装置200は、機能モデル220、テストベクタ221、制約定義222および優先定義223を入力として受け、アーキテクチャモデル230を出力する。アーキテクチャ選定装置200が出力するアーキテクチャモデル230と、機能モデル220は、HW/SW分割装置300に入力される。HW/SW分割装置300は、従来技術と同等のHW/SW分割を行う。HW/SW設計装置400は、HW/SW分割装置300によるHW/SW分割の結果を受けて、従来技術と同等のHW設計およびSW設計を行う。なお、HW/SW分割は、HW/SW分割装置300の代わりに、システム設計者が行ってもよい。HW設計およびSW設計は、HW/SW設計装置400の代わりに、システム設計者が行ってもよい。
機能モデル220は、組み込みシステム等、設計対象のシステムの機能仕様をC言語等で記述したデータである。テストベクタ221は、機能モデル220を模擬するための設定値および入力データ等である。制約定義222は、設計対象のシステムに対する性能およびコスト等の制約を記載したデータである。優先定義223は、制約定義222に対する優先順位および重み付け等を記載したデータである。
アーキテクチャ選定装置200は、コンピュータである。アーキテクチャ選定装置200は、プロセッサ240を備えるとともに、メモリ241、入力インタフェース242および表示インタフェース243といった他のハードウェアを備える。プロセッサ240は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
アーキテクチャ選定装置200は、機能要素として、第1解析部201と、第2解析部202と、評価部203と、第1選定部204と、集計部205と、第2選定部206とを備える。第1解析部201、第2解析部202、評価部203、第1選定部204、集計部205および第2選定部206の機能は、ソフトウェアにより実現される。
プロセッサ240は、各種処理を行うICである。「IC」は、Integrated Circuitの略語である。プロセッサ240は、例えば、CPUである。「CPU」は、Central Processing Unitの略語である。
メモリ241には、計算資源データベース210と、アーキテクチャデータベース211と、部品情報データベース212とが構築される。メモリ241は、例えば、フラッシュメモリまたはRAMである。「RAM」は、Random Access Memoryの略語である。
入力インタフェース242は、図示していない入力装置に接続されるポートである。入力インタフェース242は、例えば、USB端子である。「USB」は、Universal Serial Busの略語である。入力装置は、例えば、マウス、キーボードまたはタッチパネルである。
表示インタフェース243は、図示していないディスプレイに接続されるポートである。表示インタフェース243は、例えば、USB端子である。ディスプレイは、例えば、LCDである。「LCD」は、Liquid Crystal Displayの略語である。
アーキテクチャ選定装置200は、ハードウェアとして、通信装置を備えていてもよい。
通信装置は、データを受信するレシーバおよびデータを送信するトランスミッタを含む。通信装置は、例えば、通信チップまたはNICである。「NIC」は、Network Interface Cardの略語である。
メモリ241には、第1解析部201、第2解析部202、評価部203、第1選定部204、集計部205および第2選定部206の機能を実現するプログラムであるアーキテクチャ選定プログラムが記憶されている。アーキテクチャ選定プログラムは、プロセッサ240に読み込まれ、プロセッサ240によって実行される。メモリ241には、OSも記憶されている。「OS」は、Operating Systemの略語である。プロセッサ240は、OSを実行しながら、アーキテクチャ選定プログラムを実行する。なお、アーキテクチャ選定プログラムの一部または全部がOSに組み込まれていてもよい。
アーキテクチャ選定プログラムおよびOSは、補助記憶装置に記憶されていてもよい。補助記憶装置は、例えば、フラッシュメモリまたはHDDである。「HDD」は、Hard Disk Driveの略語である。補助記憶装置に記憶されているアーキテクチャ選定プログラムおよびOSは、メモリ241にロードされ、プロセッサ240によって実行される。
アーキテクチャ選定装置200は、プロセッサ240を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、アーキテクチャ選定プログラムの実行を分担する。それぞれのプロセッサは、プロセッサ240と同じように、各種処理を行うICである。
第1解析部201、第2解析部202、評価部203、第1選定部204、集計部205および第2選定部206の処理の結果を示す情報、データ、信号値および変数値は、メモリ241、補助記憶装置、または、プロセッサ240内のレジスタまたはキャッシュメモリに記憶される。
アーキテクチャ選定プログラムは、磁気ディスクおよび光ディスクといった可搬記録媒体に記憶されてもよい。
***動作の説明***
図2を参照して、本実施の形態に係るアーキテクチャ選定装置200の動作を説明する。アーキテクチャ選定装置200の動作は、本実施の形態に係るアーキテクチャ選定方法に相当する。
ステップS11において、第1解析部201は、機能モデル220を入力として受ける。第1解析部201は、機能モデル220の構文解析を行う。第1解析部201は、プログラム構造とデータ依存とを解析して処理を分割する。分割方法としては、任意の方法を用いることができるが、本実施の形態では、関数呼び出しごとに処理が分割される。ループ構文の前後でも処理が分割される。
上記のように、解析部の1つである第1解析部201は、設計対象のシステムに要求される機能を定義する機能モデル220を解析して、当該機能を発揮するために設計対象のシステムが実行する処理を特定する。第1解析部201は、特定した処理を2つ以上の処理に分割する。以下では、これら2つ以上の処理を「分割後処理」と呼ぶ。
ステップS12において、第1解析部201は、機能モデル220の構文解析により、分割後処理ごとに、使用されている演算種別、ループ処理および入出力データ等の特徴を抽出する。第1解析部201は、抽出結果を機能モデル220の解析結果として出力する。
ステップS13において、第2解析部202は、機能モデル220にテストベクタ221を与えてシミュレーションを行うことで、ステップS12で出力された解析結果で抽出されているループ処理の繰り返し回数および入出力データのデータ量等を計測する。第2解析部202は、計測結果を演算回数およびデータ量の計測結果として出力する。
ステップS14において、評価部203は、計算資源ごとの処理能力を評価する。計算資源とは、設計対象のシステムに組み入れられるプロセッシング部品の候補のことである。プロセッシング部品とは、設計対象のシステムに組み入れられるハードウェア部品のうち、処理を実行するハードウェア部品のことである。プロセッシング部品の候補としては、CPU、DSP、GPUおよびFPGAがある。「DSP」は、Digital Signal Processorの略語である。「GPU」は、Graphics Processing Unitの略語である。「FPGA」は、Field−Programmable Gate Arrayの略語である。計算資源は、CPU、DSP、GPUおよびFPGAの違い、プロセッサコアのアーキテクチャの違い、および、浮動小数点演算ユニットまたは拡張命令ユニットの搭載による違いにより区別される。
計算資源ごとの処理能力を評価するための基準となる計算資源データは、計算資源データベース210に格納されている。評価部203は、分割後処理ごとに、ステップS12およびステップS13で出力された演算回数およびデータ量の計測結果に基づき、計算資源ごとの評価値を算出する。評価部203は、算出した評価値を計算資源の評価結果として出力する。
上記のように、評価部203は、設計対象のシステムに組み入れられるプロセッシング部品の組み合わせの候補ごとに性能を評価する。
後述するように、本実施の形態において、評価部203は、設計対象のシステムに組み入れられるプロセッシング部品の組み合わせの候補ごとに、性能の評価値として、第1解析部201により特定された処理の実行にかかる時間の指標値を算出する。時間の指標値としては、任意の指標値が算出されてよく、単に時間の長さが算出されてもよいが、本実施の形態ではMIPSが算出される。「MIPS」は、Million Instructions Per Secondの略語である。
必須ではないが、前述したように、本実施の形態では、第1解析部201が、設計対象のシステムが実行する処理を分割する。このため、評価部203は、設計対象のシステムに組み入れられるプロセッシング部品の組み合わせの候補ごとに、それぞれの分割後処理の実行にかかる時間の指標値を算出する。評価部203は、性能の評価値として、算出した時間の指標値の合計を算出する。
ステップS15において、第1選定部204は、ステップS14で出力された計算資源の評価結果と、制約定義222および優先定義223とに基づき、アーキテクチャデータベース211に格納されているアーキテクチャ情報からアーキテクチャ候補を選定する。制約定義222では、性能およびコストの制約条件が定義されている。コストの制約条件としては、少なくとも1種類のコストの制約条件が定義される。コストの種類の例としては、イニシャルコストである費用と、ランニングコストである消費電力と、スペースコストである面積とがある。優先定義223では、性能およびコストの制約条件に対して、条件の順守を優先する順位、および、条件を緩和する場合の許容範囲が定義されている。
具体的には、第1選定部204は、ステップS14で算出された計算資源の評価値から機能モデル220全体の処理内容の傾向および演算量等を分析する。第1選定部204は、制約定義222と優先定義223とからシステムに対する要求レベルを分析する。第1選定部204は、これらの分析結果から、過去のシステムのアーキテクチャで同等の処理内容、演算量および要求レベルを解決できたものをアーキテクチャデータベース211から検索する。第1選定部204は、検索結果をアーキテクチャ候補として出力する。
アーキテクチャ候補は、1つに限定される場合もあれば、複数選定される場合もある。制約定義222の要求レベルを満たせるアーキテクチャ候補がない場合、第1選定部204は、優先定義223に従い、制約定義222の要求レベルを緩和してアーキテクチャ候補を選定する。
ステップS16において、集計部205は、ステップS15で選定されたアーキテクチャ候補を構成する部品に対して、分割後処理を割り当てる。
ステップS17において、集計部205は、ステップS15で選定されたアーキテクチャ候補を構成する部品を部品情報データベース212から検索して、アーキテクチャモデル候補を構築する。部品情報データベース212には、個別のハードウェア部品のコストを定義する部品情報が格納されている。部品情報は、個別のハードウェア部品のコストとして、イニシャルコストである費用と、ランニングコストである消費電力と、スペースコストである面積とのうち少なくとも1種類のコストを定義する情報である。
ステップS18において、集計部205は、構築したアーキテクチャモデル候補について、評価値を算出する。
上記のように、集計部205は、部品情報をメモリ241から取得する。集計部205は、取得した部品情報に基づいて、設計対象のシステムに組み入れられるハードウェア部品の組み合わせの候補ごとにコストを集計する。
ステップS19において、第2選定部206は、ステップS18で算出された評価値と、制約定義222および優先定義223とに従い、アーキテクチャを1つに絞る。第2選定部206は、その1つのアーキテクチャを示すアーキテクチャモデル230を出力する。
上記のように、選定部である第1選定部204および第2選定部206は、設計対象のシステムに組み入れられるハードウェア部品の組み合わせの候補の中から、ハードウェア部品の組み合わせを設計対象のシステムのアーキテクチャとして1つ選定する。選定されるハードウェア部品の組み合わせは、評価部203により評価された性能が設計対象のシステムに与えられた性能の制約条件を満たすプロセッシング部品の組み合わせを含み、かつ、集計部205により集計されたコストが設計対象のシステムに与えられたコストの制約条件を満たすハードウェア部品の組み合わせである。
本実施の形態において、第1選定部204および第2選定部206は、優先順位が高い制約条件から順番に適用して、設計対象のシステムに組み入れられるハードウェア部品の組み合わせの候補を絞り込む。
後述するように、本実施の形態では、性能の制約条件の優先順位がコストの制約条件よりも高く設定されている。このため、先に、第1選定部204が、設計対象のシステムに組み入れられるハードウェア部品の組み合わせの候補の中から、評価部203により算出された時間の指標値が、性能の制約条件として決められた上限値以下であるプロセッシング部品の組み合わせを含むハードウェア部品の組み合わせの候補を選定する。その後、第2選定部206が、第1選定部204により選定されたハードウェア部品の組み合わせの候補の中から、集計部205により集計されたコストがコストの制約条件を満たすハードウェア部品の組み合わせをシステムのアーキテクチャとして選定する。
以下、アーキテクチャ選定装置200で扱われるデータの例を挙げてアーキテクチャ選定装置200の動作を説明する。
図3は、機能モデル220の記述例として、C言語のソースコード500を示している。ソースコード500の各行の先頭には、行番号が記されている。このソースコード500は、機能モデル220全体のソースコードの一部である。
図4および図5は、第1解析部201の出力する機能モデル220の解析結果の例として、処理Xの解析結果510と処理Yの解析結果511とをそれぞれ示している。
ステップS11で、第1解析部201が機能モデル220のソースコード500を分析する場合、第1解析部201は、L007からL015までの部分はL007から順次処理されていることから1つの処理Xとして抽出する。また、第1解析部201は、L017からL023までの部分はL017のループ処理に属する記載で、繰り返し処理されていることから1つの処理Yとして抽出する。
ステップS12で、第1解析部201は、機能モデル220のソースコード500を分析し、使用されている演算種別、ループ処理および入出力データ等を抽出する。第1解析部201は、機能モデル220のソースコード500のL007からL015までの部分の分析を行って、処理Xの分析データを構築する。また、第1解析部201は、L017からL023までの部分の分析を行って、処理Yの分析データを構築する。
具体的には、第1解析部201は、ソースコード500の構文解析を行って、処理全体の入出力変数とそのデータ幅、処理内容、および、使用されている演算種別と入出力変数を抽出する。
図4および図5は、さらに、第2解析部202の出力する演算回数およびデータ量の計測結果の例として、処理Xの計測結果520と処理Yの計測結果521とをそれぞれ示している。
ステップS13で、第2解析部202は、処理Xの解析結果510と処理Yの解析結果511とに対して、処理全体の入出力データの個数と、処理の回数とを計測して、計測結果を付加する。
図6、図7、図8および図9は、計算資源データベース210に格納されている計算資源データの例として、計算資源Raの計算資源データ600と、計算資源Rbの計算資源データ601と、計算資源Rcの計算資源データ602と、計算資源Rdの計算資源データ603とをそれぞれ示している。計算資源データは、計算資源ごとの命令に必要なステップ数等を格納する。
計算資源Raは、浮動小数点非対応のCPUである。計算資源Rbは、浮動小数点対応のCPUである。計算資源Rcは、浮動小数点非対応のDSPである。計算資源Rdは、浮動小数点対応のDSPである。
図10は、ステップS14の中間データの例として、図4の処理Xの計測結果520に対して、計算資源データを基に計算資源の評価値を付加したデータを示している。そのようなデータの具体例として、計算資源Raの評価結果610と、計算資源Rbの評価結果611と、計算資源Rcの評価結果612と、計算資源Reの評価結果613とがある。
計算資源Raの評価結果610は、処理Xの演算回数およびデータ量の計測結果520に対して、計算資源Raの計算資源データ600を基に計算資源Raの性能を評価した結果である。この評価結果610は、実行に必要な命令数が7命令で、処理ステップ数が20ステップであることを示している。
計算資源Rbの評価結果611は、処理Xの演算回数およびデータ量の計測結果520に対して、計算資源Rbの計算資源データ601を基に計算資源Rbの性能を評価した結果である。この評価結果611は、実行に必要な命令数が7命令で、処理ステップ数が20ステップであることを示している。
計算資源Rcの評価結果612は、処理Xの演算回数およびデータ量の計測結果520に対して、計算資源Rcの計算資源データ602を基に計算資源Rcの性能を評価した結果である。この評価結果612は、実行に必要な命令数が7命令で、処理ステップ数が20ステップであることを示している。
図11は、ステップS14の中間データの例として、図5の処理Yの計測結果521に対して、計算資源データを基に計算資源の評価値を付加したデータを示している。そのようなデータの具体例として、計算資源Rbの評価結果620と、計算資源Rdの評価結果621と、計算資源Reの評価結果622とがある。
計算資源Rbの評価結果620は、処理Yの演算回数およびデータ量の計測結果521に対して、計算資源Rbの計算資源データ601を基に計算資源Rbの性能を評価した結果である。この評価結果620は、実行に必要な命令数が6命令で、処理ステップ数が8,000ステップであることを示している。
計算資源Rcの評価結果621は、処理Yの演算回数およびデータ量の計測結果521に対して、計算資源Rcの計算資源データ602を基に計算資源Rcの性能を評価した結果である。この評価結果621は、実行に必要な命令数が5命令で、処理ステップ数が2,600ステップであることを示している。
ステップS14で、評価部203は、演算回数およびデータ量の計測結果に記載されている処理の回数に対して、計算資源データに記載されている演算ごとの処理ステップを割り当てることで、各分割後処理を実行するために必要なステップ数を計算資源ごとに算出する。評価部203は、算出したステップ数を計算資源の評価結果として出力する。
図12は、計算資源の評価結果の例として、図10および図11の処理ごとの計算資源の評価値を基に、システムを構築するために必要な計算資源の組み合わせと処理に必要なステップ数とを算出した評価結果630を示している。この評価結果630は、システムの構築方法として、組み合わせ1、組み合わせ2および組み合わせ3の3つがあることを示している。組み合わせ1は、計算資源Rbのみで構築でき、400,000ステップが必要である。組み合わせ2は、計算資源Raと計算資源Rdとで構築でき、計算資源Raでは4,000ステップが必要で、計算資源Rdでは190,000ステップが必要である。組み合わせ3は、計算資源Rbと計算資源Reとで構築でき、計算資源Rbでは100,000ステップが必要で、計算資源Reでは100,000ステップが必要である。
図12は、さらに、制約定義222および優先定義223の例として、制約条件640および優先順位650を示している。
性能の制約条件640としては、処理時間の上限値が定義されている。消費電力の制約条件640としては、消費電力の上限値が定義されている。費用の制約条件640としては、費用の上限値が定義されている。
優先順位650は、処理時間が最も高く、続いて費用、消費電力の順番で低く設定されている。処理時間の許容範囲が“+0%”であることから、処理時間は1ms以下であることが必須である。費用の許容範囲が“+10%以内”であることから、費用は¥550以下であることが必須である。消費電力の許容範囲が“+20%以内”であることから、消費電力は600mW以下であることが必須である。
優先順位1番目の条件は、処理時間=1ms、消費電力=500mW、および、コスト=¥500の組み合わせである。
優先順位2番目の条件は、処理時間=1ms、消費電力=600mW、および、コスト=¥500の組み合わせである。
優先順位3番目の条件は、処理時間=1ms、消費電力=600mW、および、コスト=¥550の組み合わせである。
図12は、さらに、計算資源の評価結果630に対して、処理時間の制約条件640を基にMIPSを算出した結果を、算出結果660として示している。この算出結果660では、組み合わせ1の計算資源Rbに400MIPSが必要なことが示されている。組み合わせ2の計算資源Raに4MIPSが必要で、組み合わせ2の計算資源Rdに190MIPSが必要なことが示されている。組み合わせ3の計算資源Rbに100MIPSが必要で、組み合わせ3の計算資源Reに100MIPSが必要なことが示されている。
図13は、アーキテクチャデータベース211に格納されているアーキテクチャ情報の例を示している。アーキテクチャ情報は、アーキテクチャとその選定条件とをセットで定義する情報である。
アーキテクチャAaのアーキテクチャ情報700は、CPUとDRAMとFLASHとがバスで接続されているアーキテクチャを示している。「DRAM」は、Dynamic Random Access Memoryの略語である。「FLASH」は、フラッシュメモリのことである。アーキテクチャAaの選定条件710としては、計算資源Rbの性能が200MIPS以内、費用が¥400以下、かつ、消費電力が300mW以下であるという条件が定義されている。
アーキテクチャAbのアーキテクチャ情報701は、CPUとDSPとDRAMとFLASHとがバスで接続されているアーキテクチャを示している。アーキテクチャAbの選定条件711としては、計算資源Raの性能が50MIPS以内、計算資源Rdの性能が200MIPS以内、費用が¥600以下、かつ、消費電力が500mW以下であるという条件が定義されている。
アーキテクチャAcのアーキテクチャ情報702は、CPUとFPGAとDRAMとFLASHとがバスで接続されているアーキテクチャを示している。アーキテクチャAcの選定条件712としては、計算資源Raの性能が50MIPS以内、計算資源Reの性能が200MIPS以内、費用が¥700以下、かつ、消費電力が400mW以下であるという条件が定義されている。
ステップS15で、第1選定部204は、図12の算出結果660に記載されている計算資源ごとの必要なMIPSと、図12の消費電力および費用の制約条件640とに従い、図13のアーキテクチャ情報を比較する。第1選定部204は、アーキテクチャAbとアーキテクチャAcとが条件に一致することから、アーキテクチャAbとアーキテクチャAcとをアーキテクチャ候補として選定する。
図14および図15は、部品情報データベース212に格納されている部品情報の例として、CPUの部品情報800とDSPの部品情報801とをそれぞれ示している。
CPUの部品情報800には、CPU部品ごとの型番、コア種別、バスインタフェース、消費電力および価格の情報が含まれている。
DSPの部品情報801には、DSP部品ごとの型番、コア種別、バスインタフェース、消費電力および価格の情報が含まれている。
図16および図17は、ステップS17のアーキテクチャモデル候補の例として、アーキテクチャAbの部品の選定結果810とアーキテクチャAcの部品の選定結果811とをそれぞれ示している。
ステップS17で、集計部205は、アーキテクチャAbを構成するCPU、DSP、DRAMおよびFLASHの部品に関する情報をCPUの部品情報800およびDSPの部品情報801等から抽出する。ステップS18で、集計部205は、抽出した情報から、消費電力と費用とを算出する。集計部205は、算出結果を選定結果810として出力する。
また、ステップS17で、集計部205は、アーキテクチャAcを構成するCPU、FPGA、DRAMおよびFLASHの部品に関する情報をCPUの部品情報800等から抽出する。ステップS18で、集計部205は、抽出した情報から、消費電力と費用とを算出する。集計部205は、算出結果を選定結果811として出力する。
アーキテクチャAbの選定結果810では、消費電力が550mWで、費用が¥450になっている。アーキテクチャAcの選定結果811では、消費電力が450mWで、費用が¥650になっている。
ステップS19で、第2選定部206は、図12の消費電力および費用の制約条件640、および、優先順位650に対して、アーキテクチャAbの選定結果810と、アーキテクチャAcの選定結果811とが制約を満たしているか否かを判断する。
前述したように、優先順位1番目の条件は、処理時間=1ms、消費電力=500mW、および、コスト=¥500の組み合わせである。この条件に対して、アーキテクチャAbの選定結果810では、費用は制約条件を満たしているが、消費電力が制約条件を満たしていない。アーキテクチャAcの選定結果811では、消費電力は制約条件を満たしているが、費用は制約条件を満たしていない。
前述したように、優先順位2番目の条件は、処理時間=1ms、消費電力=600mW、および、コスト=¥500の組み合わせである。この条件に対して、アーキテクチャAbの選定結果810では、費用および消費電力ともに制約条件を満たしている。アーキテクチャAcの選定結果811では、消費電力は制約条件を満たしているが、費用は制約条件を満たしていない。
以上の制約条件評価結果から、ステップS19では、優先順位2番目の条件を満たしているアーキテクチャAbが最終的に選定される。
***実施の形態の効果の説明***
本実施の形態によれば、システム設計者に頼らずに、性能およびコストの制約条件を満たす部品の組み合わせをシステムのアーキテクチャとして選定することができる。
***他の構成***
本実施の形態では、第1解析部201、第2解析部202、評価部203、第1選定部204、集計部205および第2選定部206の機能がソフトウェアにより実現されるが、変形例として、第1解析部201、第2解析部202、評価部203、第1選定部204、集計部205および第2選定部206の機能がソフトウェアとハードウェアとの組み合わせにより実現されてもよい。すなわち、第1解析部201、第2解析部202、評価部203、第1選定部204、集計部205および第2選定部206の機能の一部が専用の電子回路により実現され、残りがソフトウェアにより実現されてもよい。
専用の電子回路は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、FPGAまたはASICである。「GA」は、Gate Arrayの略語である。「ASIC」は、Application Specific Integrated Circuitの略語である。
プロセッサ240、メモリ241および専用の電子回路を、総称して「プロセッシングサーキットリ」という。つまり、第1解析部201、第2解析部202、評価部203、第1選定部204、集計部205および第2選定部206の機能がソフトウェアにより実現されるか、ソフトウェアとハードウェアとの組み合わせにより実現されるかに関わらず、第1解析部201、第2解析部202、評価部203、第1選定部204、集計部205および第2選定部206の機能は、プロセッシングサーキットリにより実現される。
アーキテクチャ選定装置200の「装置」を「方法」に読み替え、第1解析部201、第2解析部202、評価部203、第1選定部204、集計部205および第2選定部206の「部」を「工程」に読み替えてもよい。あるいは、アーキテクチャ選定装置200の「装置」を「プログラム」、「プログラムプロダクト」または「プログラムを記録したコンピュータ読取可能な媒体」に読み替え、第1解析部201、第2解析部202、評価部203、第1選定部204、集計部205および第2選定部206の「部」を「手順」または「処理」に読み替えてもよい。
100 設計支援システム、200 アーキテクチャ選定装置、201 第1解析部、202 第2解析部、203 評価部、204 第1選定部、205 集計部、206 第2選定部、210 計算資源データベース、211 アーキテクチャデータベース、212 部品情報データベース、220 機能モデル、221 テストベクタ、222 制約定義、223 優先定義、230 アーキテクチャモデル、240 プロセッサ、241 メモリ、242 入力インタフェース、243 表示インタフェース、300 HW/SW分割装置、400 HW/SW設計装置、500 ソースコード、510 解析結果、511 解析結果、520 計測結果、521 計測結果、600 計算資源データ、601 計算資源データ、602 計算資源データ、603 計算資源データ、610 評価結果、611 評価結果、612 評価結果、613 評価結果、620 評価結果、621 評価結果、622 評価結果、630 評価結果、640 制約条件、650 優先順位、660 算出結果、700 アーキテクチャ情報、701 アーキテクチャ情報、702 アーキテクチャ情報、710 選定条件、711 選定条件、712 選定条件、800 部品情報、801 部品情報、810 選定結果、811 選定結果。

Claims (8)

  1. 設計対象のシステムに組み入れられるハードウェア部品のうち処理を実行するハードウェア部品であるプロセッシング部品の組み合わせの候補ごとに性能を評価する評価部と、
    個別のハードウェア部品のコストを定義する部品情報をメモリから取得し、取得した部品情報に基づいて、前記システムに組み入れられるハードウェア部品の組み合わせの候補ごとにコストを集計する集計部と、
    前記システムに組み入れられるハードウェア部品の組み合わせの候補の中から、前記評価部により評価された性能が前記システムに与えられた性能の制約条件を満たすプロセッシング部品の組み合わせを含み、かつ、前記集計部により集計されたコストが前記システムに与えられたコストの制約条件を満たすハードウェア部品の組み合わせの候補を前記システムのアーキテクチャとして選定する選定部と
    を備えるアーキテクチャ選定装置。
  2. 前記部品情報は、前記個別のハードウェア部品のコストとして、イニシャルコストである費用と、ランニングコストである消費電力と、スペースコストである面積とのうち少なくとも1種類のコストを定義する情報である請求項1に記載のアーキテクチャ選定装置。
  3. 前記選定部は、優先順位が高い制約条件から順番に適用して、前記システムに組み入れられるハードウェア部品の組み合わせの候補を絞り込む請求項1または2に記載のアーキテクチャ選定装置。
  4. 性能の制約条件の優先順位がコストの制約条件よりも高く設定されている請求項3に記載のアーキテクチャ選定装置。
  5. 前記システムに要求される機能を定義する機能モデルを解析して、前記機能を発揮するために前記システムが実行する処理を特定する解析部をさらに備え、
    前記評価部は、前記システムに組み入れられるプロセッシング部品の組み合わせの候補ごとに、性能の評価値として、前記解析部により特定された処理の実行にかかる時間の指標値を算出し、
    前記選定部は、前記システムに組み入れられるハードウェア部品の組み合わせの候補の中から、前記評価部により算出された時間の指標値が、前記システムに与えられた性能の制約条件として決められた上限値以下であるプロセッシング部品の組み合わせを含むハードウェア部品の組み合わせの候補を選定し、選定したハードウェア部品の組み合わせの候補の中から、前記集計部により集計されたコストが前記システムに与えられたコストの制約条件を満たすハードウェア部品の組み合わせを前記システムのアーキテクチャとして選定する請求項4に記載のアーキテクチャ選定装置。
  6. 前記解析部は、特定した処理を2つ以上の処理に分割し、
    前記評価部は、前記システムに組み入れられるプロセッシング部品の組み合わせの候補ごとに、前記2つ以上の処理それぞれの実行にかかる時間の指標値を算出し、性能の評価値として、算出した時間の指標値の合計を算出する請求項5に記載のアーキテクチャ選定装置。
  7. 評価部が、設計対象のシステムに組み入れられるハードウェア部品のうち処理を実行するハードウェア部品であるプロセッシング部品の組み合わせの候補ごとに性能を評価し、
    集計部が、個別のハードウェア部品のコストを定義する部品情報をメモリから取得し、取得した部品情報に基づいて、前記システムに組み入れられるハードウェア部品の組み合わせの候補ごとにコストを集計し、
    選定部が、前記システムに組み入れられるハードウェア部品の組み合わせの候補の中から、前記評価部により評価された性能が前記システムに与えられた性能の制約条件を満たすプロセッシング部品の組み合わせを含み、かつ、前記集計部により集計されたコストが前記システムに与えられたコストの制約条件を満たすハードウェア部品の組み合わせの候補を前記システムのアーキテクチャとして選定するアーキテクチャ選定方法。
  8. コンピュータに、
    設計対象のシステムに組み入れられるハードウェア部品のうち処理を実行するハードウェア部品であるプロセッシング部品の組み合わせの候補ごとに性能を評価する評価手順と、
    個別のハードウェア部品のコストを定義する部品情報をメモリから取得し、取得した部品情報に基づいて、前記システムに組み入れられるハードウェア部品の組み合わせの候補ごとにコストを集計する集計手順と、
    前記システムに組み入れられるハードウェア部品の組み合わせの候補の中から、前記評価手順により評価された性能が前記システムに与えられた性能の制約条件を満たすプロセッシング部品の組み合わせを含み、かつ、前記集計手順により集計されたコストが前記システムに与えられたコストの制約条件を満たすハードウェア部品の組み合わせの候補を前記システムのアーキテクチャとして選定する選定手順と
    を実行させるアーキテクチャ選定プログラム。
JP2019504175A 2017-03-07 2017-03-07 アーキテクチャ選定装置、アーキテクチャ選定方法およびアーキテクチャ選定プログラム Active JP6567215B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/009039 WO2018163291A1 (ja) 2017-03-07 2017-03-07 アーキテクチャ選定装置、アーキテクチャ選定方法およびアーキテクチャ選定プログラム

Publications (2)

Publication Number Publication Date
JPWO2018163291A1 JPWO2018163291A1 (ja) 2019-07-18
JP6567215B2 true JP6567215B2 (ja) 2019-08-28

Family

ID=63448385

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019504175A Active JP6567215B2 (ja) 2017-03-07 2017-03-07 アーキテクチャ選定装置、アーキテクチャ選定方法およびアーキテクチャ選定プログラム

Country Status (3)

Country Link
US (1) US20200034502A1 (ja)
JP (1) JP6567215B2 (ja)
WO (1) WO2018163291A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021100122A1 (ja) 2019-11-19 2021-05-27 三菱電機株式会社 設計支援システムおよび設計支援プログラム
CN115935723B (zh) * 2023-03-10 2023-05-30 广东仁懋电子有限公司 用于实现氮化镓制备场景下的设备组合分析方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3907398B2 (ja) * 2000-11-16 2007-04-18 松下電器産業株式会社 半導体集積回路装置の設計方法
JP2006202330A (ja) * 2006-03-31 2006-08-03 Nec Electronics Corp システムlsiの設計方法及びこれを記憶した記録媒体
JP4531715B2 (ja) * 2006-03-31 2010-08-25 ルネサスエレクトロニクス株式会社 システムlsiの設計方法及びこれを記憶した記録媒体

Also Published As

Publication number Publication date
US20200034502A1 (en) 2020-01-30
JPWO2018163291A1 (ja) 2019-07-18
WO2018163291A1 (ja) 2018-09-13

Similar Documents

Publication Publication Date Title
Da Silva et al. Performance Modeling for FPGAs: Extending the Roofline Model with High‐Level Synthesis Tools
US11789734B2 (en) Padded vectorization with compile time known masks
JP6952138B2 (ja) チップに基づく計算機能を生成する方法、装置、デバイス、および記憶媒体
US20200192994A1 (en) Performance modeling and analysis of microprocessors using dependency graphs
US9830731B2 (en) Methods of a graphics-processing unit for tile-based rendering of a display area and graphics-processing apparatus
JP6567215B2 (ja) アーキテクチャ選定装置、アーキテクチャ選定方法およびアーキテクチャ選定プログラム
US10990073B2 (en) Program editing device, program editing method, and computer readable medium
CN112464599B (zh) 应用在电路的静态时序分析中确定电源电压数据的方法
US20140172344A1 (en) Method, system and apparatus for testing multiple identical components of multi-component integrated circuits
US20150160274A1 (en) Method and apparatus for power estimation
JP5936135B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
CN112445855A (zh) 用于图形处理器芯片的可视化分析方法和可视化分析装置
US20190034562A1 (en) High-level synthesis device, high-level synthesis method, and computer readable medium
US9639644B1 (en) Method and apparatus for master-clone optimization during circuit analysis
US8522175B2 (en) Semiconductor circuit design supporting apparatus and method, and non-transitory computer-readable medium
US10909021B2 (en) Assistance device, design assistance method, and recording medium storing design assistance program
WO2022142595A1 (zh) 程序检测方法及装置
US20190369997A1 (en) Simulation device, simulation method, and computer readable medium
US8959467B2 (en) Structural rule analysis with TCL scripts in synthesis or STA tools and integrated circuit design tools
US20210056241A1 (en) Design support device and computer readable medium
US8627260B1 (en) Bit-level simplification of word-level models
US10311188B2 (en) Circuit design support apparatus, circuit design support method, and computer readable medium
JP2014194746A (ja) シミュレーション装置及びシミュレーション方法及びプログラム
US20190384687A1 (en) Information processing device, information processing method, and computer readable medium
US20200004503A1 (en) Information processing device, information processing method, and computer readable medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190318

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190318

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190627

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190730

R150 Certificate of patent or registration of utility model

Ref document number: 6567215

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250