JP6732153B2 - 設計支援装置および設計支援プログラム - Google Patents
設計支援装置および設計支援プログラム Download PDFInfo
- Publication number
- JP6732153B2 JP6732153B2 JP2020504525A JP2020504525A JP6732153B2 JP 6732153 B2 JP6732153 B2 JP 6732153B2 JP 2020504525 A JP2020504525 A JP 2020504525A JP 2020504525 A JP2020504525 A JP 2020504525A JP 6732153 B2 JP6732153 B2 JP 6732153B2
- Authority
- JP
- Japan
- Prior art keywords
- margin
- component
- unit
- target element
- design support
- 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
Links
- 238000013461 design Methods 0.000 title claims description 45
- 238000000034 method Methods 0.000 claims description 71
- 238000011156 evaluation Methods 0.000 claims description 50
- 238000004364 calculation method Methods 0.000 claims description 35
- 238000005457 optimization Methods 0.000 claims description 28
- 239000000470 constituent Substances 0.000 claims description 20
- 230000006870 function Effects 0.000 description 45
- 238000012545 processing Methods 0.000 description 41
- 238000012546 transfer Methods 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/13—Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/04—Constraint-based CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/02—Reliability analysis or reliability optimisation; Failure analysis, e.g. worst case scenario performance, failure mode and effects analysis [FMEA]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Geometry (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Architecture (AREA)
- Civil Engineering (AREA)
- Structural Engineering (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
まず、システム要求に従って要求分析が行われる。次に、システム全体の動作仕様が機能ブロックに分割される。次に、機能ブロック毎に動作仕様の設計が行われる。次に、機能ブロックを実装するための部品が選定される。具体的な部品は、CPU(Central Processing Unit)およびLSI(Large Scale Integration)である。部品の選定の後、機能ブロックをCPUに実装するためのソフトウェアと機能ブロックをLSIに実装するためのハードウェアとに機能ブロックが分割される。そして、ソフトウェアおよびハードウェアの実装が行われる。
まず、機能分割を評価するためのパラメータが入力される。次に、入力パラメータに基づいて分割指標が算出される。そして、算出された分割指標に基づいて、現在の分割が変更される。
さらに、再分割の結果が性能シミュレーションによって評価され、性能および回路規模などの制約条件を満足するまで処理が繰り返される。つまり、制約条件を満たす分割解が探索される。
この方法では、機能仕様を分割して得られる処理群(サブルーチン)について、ソフトウェアとハードウェアとのいずれで処理を行うかが組み合わせ最適化により決定される。なお、非特許文献1には、ソフトウェアとハードウェアとの2つの要素で構成されるシステムアーキテクチャの処理分割だけでなく、3つ以上の要素で構成されるシステムアーキテクチャの処理分割についても示唆がある。
処理が一つも割り当てられない構成要素が許容されることにより、組み込みシステムアーキテクチャの探索を行うことが可能であると考えられる。
アーキテクチャの1つ以上の構成要素と各構成要素の評価項目とを示すアーキテクチャ情報と、1つ以上のサブルーチンを含む処理プログラムと、各構成要素の評価項目について各構成要素の制約値を示す制約条件と、を受け付ける受付部と、
前記アーキテクチャ情報が示す各構成要素の評価項目について目的関数を生成する目的関数生成部と、
前記目的関数の最適化問題を1回以上解くことによって、前記1つ以上の構成要素と前記1つ以上のサブルーチンとについての1つ以上の分割解を得る最適化部と、
前記1つ以上の分割解と前記制約条件とに基づいて、各構成要素の評価項目について各構成要素の余裕度を算出する余裕度算出部と、
各構成要素の余裕度に基づいて各構成要素の変更の要否を判定する変更判定部と、
変更が必要な各構成要素について前記アーキテクチャ情報を変更する変更部とを備える。
設計支援装置100について、図1から図15に基づいて説明する。
図1に基づいて、設計支援装置100の構成を説明する。
設計支援装置100は、プロセッサ101とメモリ102と補助記憶装置103と入出力インタフェース104といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
メモリ102は揮発性の記憶装置である。メモリ102は、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ102はRAM(Random Access Memory)である。メモリ102に記憶されたデータは必要に応じて補助記憶装置103に保存される。
補助記憶装置103は不揮発性の記憶装置である。例えば、補助記憶装置103は、ROM(Read Only Memory)、HDD(Hard Disk Drive)、またはフラッシュメモリである。補助記憶装置103に記憶されたデータは必要に応じてメモリ102にロードされる。
入出力インタフェース104は入力装置および出力装置が接続されるポートである。例えば、入出力インタフェース104はUSB端子であり、入力装置はキーボードおよびマウスであり、出力装置はディスプレイである。USBはUniversal Serial Busの略称である。
さらに、補助記憶装置103にはOS(Operating System)が記憶されている。OSの少なくとも一部は、メモリ102にロードされて、プロセッサ101によって実行される。
つまり、プロセッサ101は、OSを実行しながら、設計支援プログラムを実行する。
設計支援プログラムを実行して得られるデータは、メモリ102、補助記憶装置103、プロセッサ101内のレジスタまたはプロセッサ101内のキャッシュメモリといった記憶装置に記憶される。
設計支援装置100の動作は設計支援方法に相当する。また、設計支援方法の手順は設計支援プログラムの手順に相当する。
ステップS101において、利用者が、アーキテクチャ情報と処理プログラムと制約条件とを設計支援装置100に入力する。
受付部111は、アーキテクチャ情報と処理プログラムと制約条件とを受け付ける。そして、受付部111は、アーキテクチャ情報と処理プログラムと制約条件とを記憶部120に記憶する。
対象システムは、設計の対象となるシステムである。例えば、対象システムは、組込みシステムである。
構成要素は、アーキテクチャを構成する要素である。例えば、構成要素は、CPU、FPGA(Field Programmable Gate Array)、または、バスである。
評価項目は、性能評価の対象となる項目である。例えば、評価項目は、CPUの処理時間、FPGAの回路規模、または、バスの転送時間である。
処理プログラムは、1つ以上のサブルーチンを含む。
サブルーチンは、処理の固まりである。例えば、サブルーチンは、関数、forループまたは式の集合である。
制約値は、各構成要素の評価項目についての制約を示す値である。
アーキテクチャ情報121は、アーキテクチャ情報の一例である。
アーキテクチャ情報121は、第1CPUと第2CPUと第1バスと第1FPGAとのそれぞれを構成要素として示している。
第1CPUと第2CPUとのそれぞれの評価項目は、処理時間である。
第1バスの評価項目は、転送時間である。
第1FPGAの評価項目は、回路規模である。
制約条件122は、制約条件の一例である。
制約条件122は、第1CPUと第2CPUと第1FPGAと第1バスとのそれぞれの制約値を示している。
第1CPUの制約値は、100マイクロ秒である。
第2CPUの制約値は、200マイクロ秒である。
第1FPGAの制約値は、1000KLUTである。KLUTは、キロルックアップテーブルの略称である。つまり、KLUTは、ルックアップテーブルの数を表す。
第1バスの制約値は、30マイクロ秒である。
ステップS110において、コスト算出部112は、処理プログラムに含まれる各サブルーチンについてコストを算出する。
コスト算出処理(S110)の詳細については後述する。
目的関数生成処理(S120)の詳細については後述する。
分割解は、各構成要素に割り当てられるサブルーチンを示す。つまり、分割解は、どのサブルーチンがどの構成要素に割り当てられるかを示す。
最適化処理(S130)の詳細については後述する。
余裕度は、制約値に対する余裕の度合いを示す。
余裕度算出処理(S140)の詳細については後述する。
変更判定処理(S150)の詳細については後述する。
いずれの構成要素の変更も必要でないと判定された場合、処理はステップS180に進む。
変更処理(S160)の詳細については後述する。
変更処理(S170)の詳細については後述する。
出力処理(S180)の詳細については後述する。
ステップS111において、コスト算出部112は、処理プログラムを1つ以上のサブルーチンに分割する。
データフローは、サブルーチン間のデータの入出力を示す。
サブルーチンのコストは、サブルーチンの実行のために構成要素にかかるコストである。
ソフトウェアコストは、ソフトウェア要素にかかるコストである。ソフトウェア要素は、サブルーチンをソフトウェアで実現するための構成要素である。例えば、ソフトウェア要素はCPUであり、ソフトウェアコストはCPUの処理時間である。
ハードウェアコストは、ハードウェア要素にかかるコストである。ハードウェア要素は、サブルーチンをハードウェアで実現するための構成要素である。例えば、ハードウェア要素はFPGAであり、ハードウェアコストはFPGAの回路規模である。
コスト算出部112は、特許文献1に記載の方法によって、各サブルーチンのコストを算出する。特許文献1にはデータベースを用いる方法が記載されている。
コスト算出部112は、シミュレータまたは実機を動作させ、各サブルーチンのソフトウェアコストを測定する。
コスト算出部112は、高位合成によって、各サブルーチンのハードウェアコストを見積る。
ステップS121において、目的関数生成部113は、アーキテクチャ情報から、各構成要素の評価項目を示す情報を取得する。
C1×{第1CPUの処理時間}+C2×{第2CPUの処理時間}+C3×{第1FPGAの回路規模}+C4×{第1バスの転送時間} → min
{}は、構成要素の評価項目を示している。
minは、目的関数の値が最小になるという条件を意味する。
ステップS131において、最適化部114は、制約条件と各サブルーチンのコストとに基づいて、制約式を生成する。
具体的には、最適化部114は、非特許文献1に記載された方法で制約式を生成する。
係数値組は、1つ以上の係数に対応する1つ以上の係数値である。
係数値は、係数に設定される値である。
(1)C1=0、C2=C3=C4=1
係数値組(1)は、第1CPUを軽視する場合の係数値組である。軽視とは、制約が無いことを意味する。例えば、第1CPUが軽視される場合、第1CPUの処理時間が長くても構わない。
(2)C1=1、C2=C3=C4=0
係数値組(2)は、第1CPUを重視する場合の係数値組である。重視とは、制約が厳しいことを意味する。例えば、第1CPUが重視される場合、第1CPUの処理時間が最短の時間でなければならない。
(3)C2=0、C1=C3=C4=1
係数値組(3)は、第2CPUを軽視する場合の係数値組である。
(4)C2=1、C1=C3=C4=0
係数値組(4)は、第2CPUを重視する場合の係数値組である。
(5)C3=0、C1=C2=C4=1
係数値組(5)は、第1FPGAを軽視する場合の係数値組である。
(6)C3=1、C1=C2=C4=0
係数値組(6)は、第1FPGAを重視する場合の係数値組である。
(7)C4=0、C1=C2=C3=1
係数値組(7)は、第1バスを軽視する場合の係数値組である。
(8)C4=1、C1=C2=C3=0
係数値組(8)は、第1バスを重視する場合の係数値組である。
具体的には、最適化部114は、最適化ソルバを使用することによって、最適化問題を解く。
ステップS141において、余裕度算出部115は、制約条件から各構成要素の制約値を取得する。
評価値は、分割解が適用された場合の構成要素のコストである。
余裕度は、制約値と評価値との差である。
まず、余裕度算出部115は、分割解毎に、構成要素の制約値と構成要素の評価値との差を算出する。算出される差が余裕度である。
そして、余裕度算出部115は、最小余裕度と最大余裕度とを選択する。
この場合、第1分割解における第1CPUの余裕度は50(=100−50)であり、第2分割解における第1CPUの余裕度は60(=100−40)である。
したがって、最小余裕度は50であり、最大余裕度は60である。
余裕度情報123は、余裕度情報の一例である。余裕度情報は、各構成要素の余裕度を示す。
余裕度情報123は、第1CPUと第2CPUと第1FPGAと第1バスとのそれぞれの最小余裕度と最大余裕度とを示している。
第1CPUの最小余裕度は50であり、第1CPUの最大余裕度は60である。
第2CPUの最小余裕度は20であり、第2CPUの最大余裕度は100である。
第1FPGAの最小余裕度は100であり、第1FPGAの最大余裕度は500である。
第1バス最小余裕度は0であり、第1バスの最大余裕度は2である。
図10および図11の変更判定処理(S150)は構成要素毎に実行される。
変更判定処理(S150)において、実行の対象となる構成要素を対象要素と呼ぶ。
余裕度閾値は、構成要素の種類毎に予め決められる。変更判定部116は、対象要素の種類に対応する余裕度閾値を比較に用いる。
対象要素の最大余裕度が余裕度閾値より大きい場合、処理はステップS152に進む。
対象要素の最大余裕度が余裕度閾値以下である場合、変更判定部116は対象要素を変更しないと判定し、処理は終了する。
対象要素の最小余裕度が余裕度閾値より大きい場合、処理はステップS153に進む。
対象要素の最小余裕度が余裕度閾値以下である場合、処理はステップS1521(図11参照)に進む。
ステップS153およびステップS154において、対象要素と種類が同じで対象要素よりもスペックが低いアーキテクチャ要素を低スペック要素と呼ぶ。
具体的には、変更判定部116は、低スペック要素が有るかアーキテクチャデータベースに問い合わせる。
低スペック要素が有る場合、処理はステップS154に進む。
低スペック要素が無い場合、処理はステップS155に進む。
ステップS155からステップS157において、対象要素と同じ種類の構成要素を同種要素と呼ぶ。
同種要素が有る場合、処理はステップS156に進む。
同種要素が無い場合、変更判定部116は対象要素を変更しないと判定し、処理は終了する。
ステップS156およびステップS157において、同種要素と種類が同じで同種要素よりもスペックが高いアーキテクチャ要素を高スペック要素と呼ぶ。
具体的には、変更判定部116は、アーキテクチャデータベースに高スペック要素が有るか問い合わせる。
高スペック要素が有る場合、処理はステップS157に進む。
高スペック要素が無い場合、変更判定部116は対象要素を変更しないと判定し、処理は終了する。
ステップS1521において、対象要素と同じ種類の構成要素を同種要素と呼ぶ。
同種要素が有る場合、処理はステップS1522に進む。
同種要素が無い場合、処理はステップS1524に進む。
ステップS1522およびステップS1523において、対象要素と種類が同じで対象要素よりもスペックが高いアーキテクチャ要素を高スペック要素と呼ぶ。
具体的には、変更判定部116は、アーキテクチャデータベースに高スペック要素が有るか問い合わせる。
高スペック要素が有る場合、処理はステップS1523に進む。
高スペック要素が無い場合、変更判定部116は対象要素を変更しないと判定し、処理は終了する。
ステップS1524において、対象要素と種類が同じで低スペックなアーキテクチャ要素に変更される構成要素を低変更要素と呼ぶ。つまり、低変更要素は、スペックを下げる変更がなされる構成要素である。
低変更要素が有る場合、処理はステップS1525に進む。
低変更要素が無い場合、変更判定部116は対象要素を変更しないと判定し、処理は終了する。
ステップS1525およびステップS1526において、対象要素と種類が同じで対象要素よりもスペックが低いアーキテクチャ要素を低スペック要素と呼ぶ。
具体的には、変更判定部116は、アーキテクチャデータベースに低スペック要素が有るか問い合わせる。
低スペック要素が有る場合、処理はステップS1526に進む。
低スペック要素が無い場合、変更判定部116は対象要素を変更しないと判定し、処理は終了する。
判定結果情報124Aは、判定結果情報の一例である。判定結果情報は、変更判定処理(S150)における判定結果を示す。
第1CPUは、現在のCPUよりもスペックが低いCPUに変更される。
第2CPUと第1FPGAと第1バスとのそれぞれは、変更されない。
第1CPUの現在のスペックよりもスペックが低いCPUが存在する。第1CPUの最大余裕度と第1CPUの最小余裕度とのそれぞれが余裕度閾値より大きい。この場合、変更判定部116は、第1CPUを現在のCPUよりもスペックが低いCPUに変更すると判定する。第2CPUと第1FPGAとのそれぞれの最大余裕度は余裕度閾値より大きい。しかし、第2CPUと第1FPGAとのそれぞれの最小余裕度は余裕度閾値より小さい。そのため、第2CPUと第1FPGAとのそれぞれのスペックを低くすると、スペックに余裕がなくなる可能性が高い。この場合、変更判定部116は、第2CPUと第1FPGAとのそれぞれを変更しないと判定する。第1バスの最大余裕度と第1バスの最小余裕度とのそれぞれが余裕度閾値より小さい。この場合、変更判定部116は、第1バスを変更しないと判定する。
判定結果情報124Bは、判定結果情報の一例である。
第1CPUは、削除される。
第2CPUは、現在のCPUよりもスペックが高いCPUに変更される。
第1FPGAと第1バスとのそれぞれは、変更されない。
第1CPUよりもスペックが低いCPUが存在しない。そのため、第1CPUを現在のCPUよりもスペックが低いCPUに変更できない。第2CPUの最小余裕度は余裕度閾値より小さい。そのため、第1CPUに割り当てられたサブルーチンを第1CPUの代わりに第2CPUに割り当てると、第2CPUのスペックに余裕がなくなる可能性がある。しかし、第2CPUよりもスペックが高いCPUが存在する。この場合、変更判定部116は、第1CPUに割り当てられたサブルーチンを第1CPUの代わりに第2CPUに割り当てるため、第1CPUを削除して第2CPUを現在のCPUよりもスペックが高いCPUに変更すると判定する。
判定結果情報124Cは、判定結果情報の一例である。
第1CPUと第2CPUと第1バスとのそれぞれは、変更されない。
第1FPGAは、現在のFPGAよりもスペックが低いFPGAに変更される。
第1CPUと第2CPUとして使用可能な他のCPUが存在しない。そのため、変更判定部116は、第1CPUと第2CPUとのそれぞれを変更しないと判定する。第1FPGAよりもスペックが低いFPGAが存在する。第1FPGAの最大余裕度と第1FPGAの最小余裕度とのそれぞれは余裕度閾値より大きい。この場合、変更判定部116は、第1FPGAを現在のFPGAよりもスペックが低いFPGAに変更すると判定する。
ステップS160において、変更部117は、変更が必要な各構成要素についてアーキテクチャ情報を変更する。
変更部117は、変更後の対象要素となるアーキテクチャ要素の情報をアーキテクチャデータベースから取得する。
変更部117は、アーキテクチャ情報から対象要素の情報を選択する。
そして、変更部117は、選択した情報を取得した情報に変更する。
ステップS170において、変更部117は、判定結果情報に基づいて、目的関数を変更する。
変更部117は、変更されない構成要素についての評価項目を目的関数から選択する。そして、変更部117は、選択した評価項目を目的関数から削除する。
変更部117は、削除される構成要素についての評価項目を目的関数から選択する。そして、変更部117は、選択した評価項目を目的関数から削除する。
最大余裕度と最小余裕度とがともに余裕度閾値より小さい場合、その構成要素は、適切なスペックを有しているため、適切な要素である。その構成要素に関する探索は完了しているため、その構成要素について再び評価を行う必要はない。そこで、変更部117は、変更されない構成要素の評価項目を目的関数から削除する。これにより、最適化問題を解く回数が減少し、探索時間が短くなる。
C1×{第1CPUの処理時間}+C2×{第2CPUの処理時間}+C4×{第1バスの転送時間} → min
ステップS180において、出力部118は、アーキテクチャ情報と分割解とを出力する。
例えば、出力部118は、アーキテクチャ情報と分割解とをディスプレイに表示する。
各構成要素の評価項目を有する目的関数が生成され、目的関数の最適化問題を解くことにより分割解が得られ、分割解について各構成要素の余裕度が算出され、各構成要素の余裕度に基づいて各構成要素の変更の要否が判定される。これにより、分割解の全ての候補を探索する必要がなくなる。したがって、分割解の最適化にかかる総探索量を削減することができる。
目的関数は、各構成要素の評価項目の線形結合でなくてもよい。例えば、従来技術と同様の評価式が目的関数として利用されてもよい。
図15に基づいて、設計支援装置100のハードウェア構成を説明する。
設計支援装置100は処理回路109を備える。
処理回路109は、受付部111とコスト算出部112と目的関数生成部113と最適化部114と余裕度算出部115と変更判定部116と変更部117と出力部118とを実現するハードウェアである。
処理回路109は、専用のハードウェアであってもよいし、メモリ102に格納されるプログラムを実行するプロセッサ101であってもよい。
ASICはApplication Specific Integrated Circuitの略称であり、FPGAはField Programmable Gate Arrayの略称である。
設計支援装置100は、処理回路109を代替する複数の処理回路を備えてもよい。複数の処理回路は、処理回路109の役割を分担する。
Claims (11)
- アーキテクチャの1つ以上の構成要素と各構成要素の評価項目とを示すアーキテクチャ情報と、1つ以上のサブルーチンを含む処理プログラムと、各構成要素の評価項目について各構成要素の制約値を示す制約条件と、を受け付ける受付部と、
前記アーキテクチャ情報が示す各構成要素の評価項目について目的関数を生成する目的関数生成部と、
前記目的関数の最適化問題を1回以上解くことによって、前記1つ以上のサブルーチンの各々を前記1つ以上の構成要素のいずれかに割り当てる1つ以上の分割解を得る最適化部と、
前記1つ以上の分割解と前記制約条件とに基づいて、各構成要素の評価項目について各構成要素の余裕度を算出する余裕度算出部と、
各構成要素の余裕度に基づいて各構成要素の変更の要否を判定する変更判定部と、
変更が必要な各構成要素について前記アーキテクチャ情報を変更する変更部と
を備える設計支援装置。 - 前記目的関数生成部は、各構成要素の評価項目の線形結合を前記目的関数として生成する
請求項1に記載の設計支援装置。 - 前記余裕度算出部は、各構成要素の余裕度として最大余裕度と最小余裕度とを算出し、
前記変更判定部は、対象要素の最大余裕度と前記対象要素の最小余裕度とのそれぞれを余裕度閾値と比較し、比較結果に基づいて前記対象要素の変更の要否を判定する
請求項1または請求項2に記載の設計支援装置。 - 前記変更判定部は、前記対象要素の最大余裕度と前記対象要素の最小余裕度とのそれぞれが前記余裕度閾値より大きく、且つ、前記対象要素よりもスペックが低いアーキテクチャ要素である低スペック要素がある場合、前記対象要素を前記低スペック要素に変更すると判定する
請求項3に記載の設計支援装置。 - 前記変更判定部は、前記対象要素の最大余裕度と前記対象要素の最小余裕度とのそれぞれが前記余裕度閾値より大きく、且つ、前記低スペック要素がなく、且つ、前記対象要素と種類が同じ構成要素である同種要素があり、且つ、前記同種要素よりもスペックが高いアーキテクチャ要素である高スペック要素がある場合、前記同種要素を前記高スペック要素に変更して前記対象要素を削除すると判定する
請求項4に記載の設計支援装置。 - 前記変更判定部は、前記対象要素の最大余裕度が前記余裕度閾値より大きく、且つ、前記対象要素の最小余裕度が前記余裕度閾値より小さく、且つ、前記対象要素と種類が同じ構成要素である同種要素があり、且つ、前記対象要素よりもスペックが高いアーキテクチャ要素である高スペック要素がある場合、前記対象要素を前記高スペック要素に変更すると判定する
請求項4に記載の設計支援装置。 - 前記変更判定部は、前記対象要素の最大余裕度が前記余裕度閾値より大きく、且つ、前記対象要素の最小余裕度が前記余裕度閾値より小さく、且つ、前記同種要素がなく、且つ、スペックを下げる変更がなされる構成要素である低変更要素があり、且つ、前記対象要素よりもスペックが高いアーキテクチャ要素である低スペック要素がある場合、前記対象要素を前記低スペック要素に変更すると判定する
請求項6に記載の設計支援装置。 - 前記変更部は、各構成要素の変更の要否についての判定結果に基づいて、前記目的関数を変更する
請求項1から請求項7のいずれか1項に記載の設計支援装置。 - 前記変更部は、変更されない構成要素についての評価項目を前記目的関数から削除する請求項8に記載の設計支援装置。
- いずれの構成要素の変更も必要でないと判定された場合に前記アーキテクチャ情報と1つ以上の分割解とを出力する出力部を備える
請求項1から請求項9のいずれか1項に記載の設計支援装置。 - アーキテクチャの1つ以上の構成要素と各構成要素の評価項目とを示すアーキテクチャ情報と、1つ以上のサブルーチンを含む処理プログラムと、各構成要素の評価項目について各構成要素の制約値を示す制約条件と、を受け付ける受付処理と、
前記アーキテクチャ情報が示す各構成要素の評価項目について目的関数を生成する目的関数生成処理と、
前記目的関数の最適化問題を1回以上解くことによって、前記1つ以上のサブルーチンの各々を前記1つ以上の構成要素のいずれかに割り当てる1つ以上の分割解を得る最適化処理と、
前記1つ以上の分割解と前記制約条件とに基づいて、各構成要素の評価項目について各構成要素の余裕度を算出する余裕度算出処理と、
各構成要素の余裕度に基づいて各構成要素の変更の要否を判定する変更判定処理と、
変更が必要な各構成要素について前記アーキテクチャ情報を変更する変更処理と
をコンピュータに実行させるための設計支援プログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2018/008549 WO2019171464A1 (ja) | 2018-03-06 | 2018-03-06 | 設計支援装置および設計支援プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2019171464A1 JPWO2019171464A1 (ja) | 2020-05-28 |
JP6732153B2 true JP6732153B2 (ja) | 2020-07-29 |
Family
ID=67845581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020504525A Active JP6732153B2 (ja) | 2018-03-06 | 2018-03-06 | 設計支援装置および設計支援プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210056241A1 (ja) |
JP (1) | JP6732153B2 (ja) |
WO (1) | WO2019171464A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021100122A1 (ja) * | 2019-11-19 | 2021-05-27 | 三菱電機株式会社 | 設計支援システムおよび設計支援プログラム |
JP7528846B2 (ja) | 2021-04-06 | 2024-08-06 | 三菱電機株式会社 | アーキテクチャ設計支援装置およびアーキテクチャ設計支援システム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001202397A (ja) * | 2000-01-20 | 2001-07-27 | Toshiba Corp | システム・オン・チップのアーキテクチャ設計支援システム及びアーキテクチャ生成方法 |
US7069204B1 (en) * | 2000-09-28 | 2006-06-27 | Cadence Design System, Inc. | Method and system for performance level modeling and simulation of electronic systems having both hardware and software elements |
JP6305644B2 (ja) * | 2015-09-18 | 2018-04-04 | 三菱電機株式会社 | アーキテクチャ生成装置およびアーキテクチャ生成プログラム |
-
2018
- 2018-03-06 US US16/967,155 patent/US20210056241A1/en not_active Abandoned
- 2018-03-06 JP JP2020504525A patent/JP6732153B2/ja active Active
- 2018-03-06 WO PCT/JP2018/008549 patent/WO2019171464A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2019171464A1 (ja) | 2019-09-12 |
US20210056241A1 (en) | 2021-02-25 |
JPWO2019171464A1 (ja) | 2020-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8799837B2 (en) | Optimizing a netlist circuit representation by leveraging binary decision diagrams to perform rewriting | |
JP6732153B2 (ja) | 設計支援装置および設計支援プログラム | |
US8713506B2 (en) | System and method for employing signoff-quality timing analysis information concurrently in multiple scenarios to reduce dynamic power in an electronic circuit and an apparatus incorporating the same | |
JP5872324B2 (ja) | メッシュ生成装置 | |
US9852250B2 (en) | Memory optimization in VLSI design using generic memory models | |
JP6801460B2 (ja) | 情報処理装置、プログラム、および情報処理方法 | |
JP7068752B2 (ja) | ソースコード解析装置およびソースコード解析プログラム | |
JP6246445B1 (ja) | 高位合成装置、高位合成方法及び高位合成プログラム | |
US20230335230A1 (en) | Information processing apparatus, information processing method, and information processing program | |
JP2008117318A (ja) | ハードウェア検証用プログラミング記述生成装置、高位合成装置、ハードウェア検証用プログラミング記述生成方法、ハードウェア検証用プログラム生成方法、制御プログラムおよび可読記録媒体 | |
JP6056174B2 (ja) | 故障診断方法、故障診断装置及びプログラム | |
JP6548848B2 (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
WO2017154183A1 (ja) | 高位合成装置、高位合成方法及び高位合成プログラム | |
JP6089627B2 (ja) | 消費電力見積り装置および消費電力見積り方法 | |
US20200004503A1 (en) | Information processing device, information processing method, and computer readable medium | |
JP6305644B2 (ja) | アーキテクチャ生成装置およびアーキテクチャ生成プログラム | |
JP7091726B2 (ja) | 情報処理装置,プログラム及び情報処理方法 | |
JP2015095130A (ja) | 回路設計支援装置及びプログラム | |
JP2010277436A (ja) | メモリ構造決定支援装置、メモリ構造決定プログラム及び記録媒体 | |
US20220284346A1 (en) | Learning apparatus, evaluation apparatus, evaluation system, learning method, evaluation method, and non-transitory computer readable medium | |
WO2017033336A1 (ja) | 回路設計支援装置および回路設計支援プログラム | |
JP6257421B2 (ja) | 回路設計支援装置および回路設計支援プログラム | |
JP2009134500A (ja) | 論理シミュレータと論理シミュレーション方法 | |
JP6620658B2 (ja) | 遅延見積方法、遅延見積プログラム、及び遅延見積装置 | |
US20150199464A1 (en) | Floorplan anneal using perturbation of selected automated macro placement results |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200212 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20200212 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20200319 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200407 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200522 |
|
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: 20200609 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200707 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6732153 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 |