JP5903814B2 - Semiconductor circuit performance estimation apparatus, method and program thereof - Google Patents

Semiconductor circuit performance estimation apparatus, method and program thereof Download PDF

Info

Publication number
JP5903814B2
JP5903814B2 JP2011201857A JP2011201857A JP5903814B2 JP 5903814 B2 JP5903814 B2 JP 5903814B2 JP 2011201857 A JP2011201857 A JP 2011201857A JP 2011201857 A JP2011201857 A JP 2011201857A JP 5903814 B2 JP5903814 B2 JP 5903814B2
Authority
JP
Japan
Prior art keywords
access
memory
performance
semiconductor circuit
source code
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
JP2011201857A
Other languages
Japanese (ja)
Other versions
JP2013065069A (en
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2011201857A priority Critical patent/JP5903814B2/en
Publication of JP2013065069A publication Critical patent/JP2013065069A/en
Application granted granted Critical
Publication of JP5903814B2 publication Critical patent/JP5903814B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、半導体回路性能見積装置、その方法及びそのプログラムに関し、特に、半導体回路のアーキテクチャ設計において半導体回路の性能を見積もるための半導体回路性能見積装置、その方法及びそのプログラムに関する。   The present invention relates to a semiconductor circuit performance estimation apparatus, method and program thereof, and more particularly, to a semiconductor circuit performance estimation apparatus, method and program thereof for estimating the performance of a semiconductor circuit in semiconductor circuit architecture design.

近年、複雑なアルゴリズムを実現する半導体回路の設計の重要性が増している。画像処理、認識処理などの処理アルゴリズムでは、扱うデータ量が増え、かつ、リアルタイム処理への要求も大きくなってきている。汎用プロセッサ単体での処理では要求を満たせなくなってきており、これらアルゴリズムを実現する半導体回路を専用回路として設計を行わなければならない。   In recent years, the importance of designing semiconductor circuits that implement complex algorithms has increased. In processing algorithms such as image processing and recognition processing, the amount of data to be handled has increased, and the demand for real-time processing has increased. Processing with a general-purpose processor alone cannot meet the requirements, and a semiconductor circuit that implements these algorithms must be designed as a dedicated circuit.

複雑なアルゴリズムを実現する半導体回路の設計は概略以下のように行われる。   The design of a semiconductor circuit that implements a complex algorithm is generally performed as follows.

まず、半導体回路として実現するために好適なアルゴリズムの設計を行う。アルゴリズムの設計は、一般に、設計者がアルゴリズムを実現するプログラムのソースコードを作成し、該ソースコードをコンパイルし、プロセッサ上でプログラムを実行することにより、アルゴリズムの動作を確認することによって行われる。アルゴリズム設計の際には、半導体回路として実現する際のアーキテクチャ(パイプラインアーキテクチャなど)は考慮されない。また、アルゴリズム中で用いられる記憶領域(配列等)をどのような種類のメモリ(モジュール内メモリ、モジュール外メモリ、チップ内メモリ、チップ外メモリ、占有メモリ、共有メモリなど)に割り当てるかなども考慮されない。アルゴリズムの設計には、C++、C#、JAVA(登録商標)などのプログラミング言語およびSystemC、SpecC等のプログラミング言語に回路設計のための拡張を施した言語が用いられる。   First, an algorithm suitable for realization as a semiconductor circuit is designed. The design of an algorithm is generally performed by a designer creating source code of a program that realizes the algorithm, compiling the source code, and executing the program on a processor to confirm the operation of the algorithm. When designing an algorithm, an architecture (pipeline architecture or the like) for implementation as a semiconductor circuit is not considered. Also consider what kind of memory (in-module memory, off-module memory, on-chip memory, off-chip memory, occupied memory, shared memory, etc.) the type of storage area (array, etc.) used in the algorithm Not. For the algorithm design, a programming language such as C ++, C #, JAVA (registered trademark) or a programming language such as SystemC, SpecC, or the like, which is extended for circuit design is used.

次に、前記アルゴリズムを実現する動作レベルの設計を行う。動作レベルの設計は、一般に、設計者が動作記述を作成することにより行う。動作レベル設計において、半導体回路として実現する際のアーキテクチャが決定される。また、記憶領域をどのような種類のメモリに割り当てるかが決定される。   Next, the operation level for realizing the algorithm is designed. The behavior level design is generally performed by the designer creating a behavior description. In the operation level design, an architecture to be realized as a semiconductor circuit is determined. It is also determined what kind of memory the storage area is allocated to.

次に、ハードウェアレベルの設計を行う。ハードウェアレベルの設計は、一般に、動作合成装置がRTL(Register Transfer Level)記述を作成することにより行う。ハードウェアレベル設計において、前記動作レベル設計において決定されたアーキテクチャに応じて、必要な制御処理(パイプライン制御など)が実装される。また、前記動作レベル設計において決定されたメモリの種類に応じて、必要なインタフェイス回路(Static Random Access Memory (SRAM)インタフェイス、Dynamic Random Access Memory(DRAM)インタフェイス、バスインタフェイス等)が実装される。   Next, hardware level design is performed. The hardware level design is generally performed by the behavioral synthesis device creating an RTL (Register Transfer Level) description. In the hardware level design, necessary control processing (such as pipeline control) is implemented according to the architecture determined in the operation level design. In addition, necessary interface circuits (Static Random Access Memory (SRAM) interface, Dynamic Random Access Memory (DRAM) interface, bus interface, etc.) are implemented according to the type of memory determined in the operation level design. Is done.

複雑なアルゴリズムを半導体回路として実現する場合、メモリアクセスのコストが処理性能を決定する。しかしながら、アルゴリズム設計の際には、記憶領域がどのような種類のメモリに割り当てられるかを考慮しないため、処理性能を簡易に見積もることができない。そのため、アルゴリズム設計、動作レベル設計、ハードウェア設計が終わった後(記憶領域を実際にメモリに割り当てて、必要なインタフェイス回路を実装した後)でしか処理性能がわからない。たとえば、ハードウェア設計の完了後に処理性能が目標性能に達していないことが判明した場合には、再度アルゴリズム設計から設計をやり直す必要があり、大きな手戻りとなる。   When a complicated algorithm is realized as a semiconductor circuit, the memory access cost determines the processing performance. However, when designing an algorithm, it is not possible to easily estimate the processing performance because it does not consider what kind of memory the storage area is allocated to. Therefore, the processing performance is known only after algorithm design, operation level design, and hardware design are finished (after the storage area is actually allocated to the memory and the necessary interface circuit is mounted). For example, if it is found that the processing performance has not reached the target performance after the hardware design is completed, it is necessary to restart the design from the algorithm design, which is a great rework.

もしも、アルゴリズム設計時に半導体回路に実現した時の性能を簡易に見積もることができれば、アルゴリズムの良し悪しを早期に判断することができるため、手戻りを起こさず、設計期間の短縮を図ることができる。   If the performance when implemented on a semiconductor circuit can be easily estimated at the time of algorithm design, it can be judged early whether the algorithm is good or bad, so that the design period can be shortened without causing rework. .

半導体回路の性能を早期に見積もる手法は、従来いくつか開示されている。特許文献1、特許文献2では、詳細な動作を行うモデルと、性能を見積もるための簡易なモデルの2つを用意して、高速に性能を見積もる手法を開示している。しかしながら、性能を見積もるために新たにモデルを作成しなければならず、簡易な見積もりを実現しているとは言い難い。   Several methods for estimating the performance of a semiconductor circuit at an early stage have been disclosed. Patent Document 1 and Patent Document 2 disclose a method for estimating performance at high speed by preparing two models: a model for performing detailed operations and a simple model for estimating performance. However, a new model must be created to estimate the performance, and it is difficult to say that a simple estimate has been realized.

特許文献3などでは、メモリのアクセス回数を測定することで性能を見積もる手法を開示している。しかしながら、主にプロセッサ上で動作するプログラムの性能を評価する手法である。アルゴリズムを専用の半導体回路として実現する場合は、プロセッサ上で動作させる場合と異なり、メモリによるアクセスコストの違いにより、記憶領域をどの種類のメモリに割り当てるかによって性能が大幅に異なってくる。そのため、記憶領域が割り当てられるメモリ種類の考慮を行うことが、簡易な見積もりには必要不可欠である。しかしながら、特許文献3では、記憶領域をどの種類のメモリに割り当てるかの考慮がなされていない。   Japanese Patent Application Laid-Open No. H11-228561 discloses a technique for estimating performance by measuring the number of memory accesses. However, this is a method for evaluating the performance of a program mainly operating on a processor. When the algorithm is implemented as a dedicated semiconductor circuit, the performance varies greatly depending on the type of memory to which the storage area is allocated due to the difference in access cost due to the memory, unlike the case where the algorithm is operated on the processor. Therefore, it is indispensable for simple estimation to consider the memory type to which the storage area is allocated. However, Patent Document 3 does not consider which type of memory the storage area is allocated to.

特許文献4及び特許文献5では、記憶領域へのアクセス回数から、好適なメモリ割り当てを決定する手法が開示されている。しかしながら、簡易な見積もりを実現する手法は開示されていない。   Patent Documents 4 and 5 disclose a method for determining a suitable memory allocation from the number of accesses to a storage area. However, a method for realizing simple estimation is not disclosed.

特許文献6では、記憶領域へのメモリアクセスのパターン(メモリ要素へのアクセスの順番)を解析し、好適な回路を自動合成する手法が開示されている。しかしながら、簡易な見積もりを実現する手法は開示されていない。   Patent Document 6 discloses a method of automatically synthesizing a suitable circuit by analyzing a memory access pattern (access order to memory elements) to a storage area. However, a method for realizing simple estimation is not disclosed.

特許文献7では、複数の半導体回路からのメモリへのアクセス競合を解析することにより、複数のプログラム実行装置上で動作するプログラムの処理時間を算出する手法が開示されている。しかしながら、プログラミング言語で記述された複雑なアルゴリズムを実現する半導体回路の性能を簡易に見積もる手法は開示されていない。   Patent Document 7 discloses a technique for calculating processing times of programs operating on a plurality of program execution devices by analyzing access competition to a memory from a plurality of semiconductor circuits. However, there is no disclosure of a method for simply estimating the performance of a semiconductor circuit that implements a complex algorithm described in a programming language.

以上のように、既存技術をもってしても、プログラミング言語で記述された複雑なアルゴリズムを実現する半導体回路の性能を簡易に見積もることができない。   As described above, even with existing technology, it is not possible to easily estimate the performance of a semiconductor circuit that implements a complex algorithm described in a programming language.

特開2003−256494号公報JP 2003-256494 A 米国公開公報2008/0263486A1US Publication No. 2008 / 0263486A1 特開平3−235138号公報JP-A-3-235138 特開2005−173648号公報JP 2005-173648 A 特開2011−22863号公報JP 2011-22863 A 特開2007−323206号公報JP 2007-323206 A 特開2010−286892号公報JP 2010-286892 A

第1の問題点は、複雑なアルゴリズムを実現する半導体回路を設計する際に、アルゴリズムの良し悪しを判断する方法がないということである。   The first problem is that there is no method for judging whether an algorithm is good or bad when designing a semiconductor circuit that implements a complex algorithm.

その理由は、プログラミング言語で記述された複雑なアルゴリズムを実現する論理回路の性能を簡易に見積もる方法がないためである。   The reason is that there is no simple method for estimating the performance of a logic circuit that implements a complex algorithm described in a programming language.

本発明の目的は、所定のアルゴリズムを実現する半導体回路の性能を簡易に見積もることのできる半導体回路性能見積装置、その方法及びそのプログラムを提供することにある。   An object of the present invention is to provide a semiconductor circuit performance estimation apparatus, a method thereof, and a program thereof that can easily estimate the performance of a semiconductor circuit that realizes a predetermined algorithm.

本発明の第1の観点によれば、半導体回路の性能を見積もるための半導体回路性能見積装置であって、前記半導体回路の設計データであるソースコードに含まれる記憶領域ごとに、該記憶領域に割り当てられるメモリのメモリ種別情報を格納する手段と、前記メモリの種別ごとのアクセスコストの情報を格納する手段と、前記記憶領域それぞれへのアクセス回数を算出する性能評価モデルを生成する手段と、前記性能評価モデルを動作させて計測した記憶領域別アクセス回数と前記メモリ種別情報から、前記メモリの種別ごとのメモリ種別アクセス回数を算出する手段と、前記アクセスコストの情報と前記メモリ種別アクセス回数からアクセスコストの総計を算出し、該総計をもとに前記半導体回路の見積性能を生成する見積性能生成手段とを備え、前記性能評価モデルは、前記ソースコードに前記アクセス回数のカウント手段を追加して生成され、あるいは、前記アクセス回数のカウント手段を組み込んだライブラリを前記ソースコードと組み合わせて生成され、あるいは、前記アクセス回数のカウント手段を組み込んだシミュレータと前記ソースコードを組み合わせて生成され、前記見積性能生成手段は、前記アクセスコストが複数種類ある場合には該種類ごとに前記見積性能を生成することを特徴とする半導体回路性能見積装置が提供される。 According to a first aspect of the present invention, there is provided a semiconductor circuit performance estimating apparatus for estimating the performance of a semiconductor circuit, wherein each storage area included in a source code which is design data of the semiconductor circuit is stored in the storage area. Means for storing memory type information of the allocated memory, means for storing access cost information for each type of memory, means for generating a performance evaluation model for calculating the number of accesses to each of the storage areas, and Means for calculating the memory type access count for each memory type from the memory area access count measured by operating the performance evaluation model and the memory type information, and access from the access cost information and the memory type access count An estimated performance generating means for calculating a total cost and generating an estimated performance of the semiconductor circuit based on the total; The performance evaluation model is generated by adding the access count unit to the source code, or is generated by combining a library incorporating the access count unit with the source code, or It is generated by combining the source code with a simulator incorporating a means for counting the number of accesses, and the estimated performance generating means generates the estimated performance for each type when there are a plurality of types of access costs. A semiconductor circuit performance estimation device is provided.

本発明の第2の観点によれば、半導体回路の性能を見積もるための半導体回路性能見積方法であって、前記半導体の設計データであるソースコードに含まれる記憶領域それぞれへのアクセス回数を算出する性能評価モデルを生成するステップと、前記性能評価モデルを動作させて計測した記憶領域別アクセス回数と、あらかじめ記憶した、前記記憶領域に割り当てられるメモリのメモリ種別情報とから、前記メモリの種別ごとのメモリ種別アクセス回数を算出するステップと、あらかじめ記憶した前記メモリの種別ごとのアクセスコストの情報と、前記メモリ種別アクセス回数とからアクセスコストの総計を算出し、該総計をもとに前記半導体回路の見積性能を生成するステップとを備え、前記性能評価モデルは、前記ソースコードに前記アクセス回数のカウント手段を追加して生成され、あるいは、前記アクセス回数のカウント手段を組み込んだライブラリを前記ソースコードと組み合わせて生成され、あるいは、前記アクセス回数のカウント手段を組み込んだシミュレータと前記ソースコードを組み合わせて生成され、前記見積性能生成ステップは、前記アクセスコストが複数種類ある場合には該種類ごとに前記見積性能を生成することを特徴とする半導体回路性能見積方法が提供される。 According to a second aspect of the present invention, there is provided a semiconductor circuit performance estimation method for estimating the performance of a semiconductor circuit, wherein the number of accesses to each storage area included in a source code which is design data of the semiconductor is calculated. From the step of generating a performance evaluation model, the number of accesses by storage area measured by operating the performance evaluation model, and the memory type information of the memory allocated to the storage area stored in advance, for each type of the memory The step of calculating the memory type access count, the access cost information for each memory type stored in advance, and the memory type access count are calculated, and the access cost is calculated based on the total. Generating an estimated performance, and the performance evaluation model is included in the source code. A simulator and source code generated by adding access count means, or a library incorporating the access count means and combined with the source code, or a simulator incorporating the access count means and the source code The estimated performance generation step provides a semiconductor circuit performance estimation method for generating the estimated performance for each type when there are a plurality of types of access costs .

本発明の第3の観点によれば、半導体回路の性能を見積もるための半導体回路性能見積装置としてコンピュータを機能させるための半導体回路性能見積プログラムであって、前記コンピュータを、前記半導体の設計データであるソースコードに含まれる記憶領域それぞれへのアクセス回数を算出する性能評価モデルを生成する手段、前記性能評価モデルを動作させて計測した記憶領域別アクセス回数と、あらかじめ記憶した、前記記憶領域に割り当てられるメモリのメモリ種別情報とから、前記メモリの種別ごとのメモリ種別アクセス回数を算出する手段、あらかじめ記憶した前記メモリの種別ごとのアクセスコストの情報と、前記メモリ種別アクセス回数とからアクセスコストの総計を算出し、該総計をもとに前記半導体回路の見積性能を生成する見積性能生成手段として動作させ、前記性能評価モデルは、前記ソースコードに前記アクセス回数のカウント手段を追加して生成され、あるいは、前記アクセス回数のカウント手段を組み込んだライブラリを前記ソースコードと組み合わせて生成され、あるいは、前記アクセス回数のカウント手段を組み込んだシミュレータと前記ソースコードを組み合わせて生成され、前記見積性能生成手段は、前記アクセスコストが複数種類ある場合には該種類ごとに前記見積性能を生成することを特徴とする半導体回路性能見積プログラムが提供される。 According to a third aspect of the present invention, there is provided a semiconductor circuit performance estimation program for causing a computer to function as a semiconductor circuit performance estimation apparatus for estimating the performance of a semiconductor circuit, wherein the computer is used as design data for the semiconductor. A means for generating a performance evaluation model for calculating the number of accesses to each storage area included in a certain source code , an access count for each storage area measured by operating the performance evaluation model, and assigned to the storage area stored in advance Means for calculating the memory type access count for each memory type from the memory type information of the memory to be stored, the access cost information for each memory type stored in advance, and the total access cost from the memory type access count And calculate the estimated performance of the semiconductor circuit based on the total. The performance evaluation model is generated by adding the access count unit to the source code, or a library incorporating the access count unit is generated as the source code. Generated in combination, or generated by combining the simulator incorporating the access counting means and the source code, and the estimated performance generating means, when there are a plurality of types of access costs, the estimated performance for each type A semiconductor circuit performance estimation program characterized by generating performance is provided.

本発明によれば、所定のアルゴリズムを実現する半導体回路の性能を簡易に見積もることができる。   According to the present invention, it is possible to easily estimate the performance of a semiconductor circuit that realizes a predetermined algorithm.

本発明の実施形態による半導体回路性能見積装置の構成を示すブロック図である。It is a block diagram which shows the structure of the semiconductor circuit performance estimation apparatus by embodiment of this invention. 図1に示す半導体回路性能見積装置により行なわれる半導体回路性能見積方法を示すフローチャートである。It is a flowchart which shows the semiconductor circuit performance estimation method performed by the semiconductor circuit performance estimation apparatus shown in FIG. 図1に示す解析対象ソースコード記憶部に記憶される解析対象ソースコードの一例を示すプログラムリスト(1/2)である。3 is a program list (1/2) showing an example of analysis target source code stored in an analysis target source code storage unit shown in FIG. 1. 図1に示す解析対象ソースコード記憶部に記憶される解析対象ソースコードの一例を示すプログラムリスト(2/2)である。3 is a program list (2/2) showing an example of analysis target source code stored in an analysis target source code storage unit shown in FIG. 1. 図1に示すメモリ割当情報記憶部に記憶されている、解析対象ソースコードに記述されている変数と該変数の割当先メモリの種類との対応関係を表すメモリ割当情報の一例を示す図である。FIG. 2 is a diagram illustrating an example of memory allocation information representing a correspondence relationship between a variable described in an analysis target source code and a type of an allocation destination memory of the variable, stored in a memory allocation information storage unit illustrated in FIG. 1. . 図1に示すアクセスコスト対応表記憶部に記憶されている、メモリの種類毎のアクセスコストを表すアクセスコスト対応表の一例を示す図である。It is a figure which shows an example of the access cost correspondence table showing the access cost for every kind of memory memorize | stored in the access cost correspondence table memory | storage part shown in FIG. 図1に示す性能評価モデル生成部が、図3−1、3−2に示す解析対象ソースコードに基づいて生成した性能評価モデルのプログラムリスト(1/2)である。1 is a program list (1/2) of performance evaluation models generated by the performance evaluation model generation unit illustrated in FIG. 1 based on the analysis target source codes illustrated in FIGS. 図1に示す性能評価モデル生成部が、図3−1、3−2に示す解析対象ソースコードに基づいて生成した性能評価モデルのプログラムリスト(2/2)である。1 is a program list (2/2) of performance evaluation models generated by the performance evaluation model generation unit illustrated in FIG. 1 based on the analysis target source codes illustrated in FIGS. 図1に示すアクセス回数解析部が、図6−1、6−2に示す性能評価モデルに基づいて生成したアクセス回数対応表を示す図である。FIG. 3 is a diagram illustrating an access count correspondence table generated by the access count analysis unit illustrated in FIG. 1 based on the performance evaluation model illustrated in FIGS. 図1に示す見積性能計算部が、図4に示すメモリ割当情報と図7に示すアクセス回数対応表に基づいて生成したメモリの種類毎のアクセス回数を示す図である。FIG. 8 is a diagram showing the number of accesses for each type of memory generated by the estimated performance calculator shown in FIG. 1 based on the memory allocation information shown in FIG. 4 and the access count correspondence table shown in FIG. 図1に示す見積性能計算部が、図5に示すアクセスコスト対応表と図8に示すメモリの種類毎のアクセス回数に基づいて生成した見積性能を示す図である。FIG. 9 is a diagram illustrating estimated performance generated by the estimated performance calculation unit illustrated in FIG. 1 based on the access cost correspondence table illustrated in FIG. 5 and the number of accesses for each type of memory illustrated in FIG. 8. 図1に示す解析対象ソースコード記憶部に記憶される解析対象ソースコードの他の一例を示すプログラムリスト(1/2)である。It is a program list (1/2) which shows another example of the analysis object source code memorize | stored in the analysis object source code memory | storage part shown in FIG. 図1に示す解析対象ソースコード記憶部に記憶される解析対象ソースコードの他の一例を示すプログラムリスト(2/2)である。It is a program list (2/2) which shows another example of the analysis object source code memorize | stored in the analysis object source code memory | storage part shown in FIG. 図10−1、10−2に示す解析ソースコードに基づいて図1に示す性能評価モデル生成部が生成した性能評価モデルに基づいて、図1に示すアクセス回数解析部が生成したアクセス回数対応表を示す図である。Access count correspondence table generated by the access count analysis unit shown in FIG. 1 based on the performance evaluation model generated by the performance evaluation model generation unit shown in FIG. 1 based on the analysis source code shown in FIGS. FIG. 図1に示す見積性能計算部が、図4に示すメモリ割当情報と図5に示すアクセスコスト対応表と図11に示すアクセス回数対応表とに基づいて生成した見積性能を示す図である。FIG. 13 is a diagram illustrating estimated performance generated by the estimated performance calculation unit illustrated in FIG. 1 based on the memory allocation information illustrated in FIG. 4, the access cost correspondence table illustrated in FIG. 5, and the access count correspondence table illustrated in FIG. 11. 図1に示すメモリ割当情報記憶部に記憶されている、解析対象ソースコードに記述されている変数と該変数の割当先メモリの種類との対応関係を表すメモリ割当情報の他の一例を示す図である。The figure which shows another example of the memory allocation information showing the correspondence of the variable described in the analysis object source code, and the kind of memory to which the variable is allocated, stored in the memory allocation information storage unit shown in FIG. It is. 図1に示す見積性能計算部が、図13に示すメモリ割当情報と図5に示すアクセスコスト対応表と図7に示すアクセス回数対応表とに基づいて生成した見積性能を示す図である。It is a figure which shows the estimated performance which the estimated performance calculation part shown in FIG. 1 produced | generated based on the memory allocation information shown in FIG. 13, the access cost correspondence table shown in FIG. 5, and the access frequency correspondence table shown in FIG.

以下、図面を参照して本発明を実施するための形態について詳細に説明する。   DESCRIPTION OF EMBODIMENTS Hereinafter, embodiments for carrying out the present invention will be described in detail with reference to the drawings.

図1を参照すると、本実施形態の半導体回路性能見積装置は、性能評価モデル生成部101と、アクセス回数解析部102と、見積性能計算部103を含み、性能評価モデル生成部101が解析対象のソースコードに含まれる記憶領域それぞれへのアクセス回数を算出することのできる性能評価モデルを生成し、アクセス回数解析部102が該性能評価モデルを実行させて該実行中の記憶領域毎のアクセス回数を算出し、見積性能計算部103が前記記憶領域毎のアクセス回数と記憶領域毎の割当先メモリ種類の情報とメモリ種類毎のアクセスコストの情報からアクセスコストの総計を算出して見積性能を生成するよう動作する。このような構成を採用することにより本発明の目的を達成することができる。   Referring to FIG. 1, the semiconductor circuit performance estimation apparatus of this embodiment includes a performance evaluation model generation unit 101, an access count analysis unit 102, and an estimated performance calculation unit 103. The performance evaluation model generation unit 101 is an analysis target. A performance evaluation model capable of calculating the number of accesses to each storage area included in the source code is generated, and the access number analysis unit 102 executes the performance evaluation model to determine the number of accesses for each storage area being executed. The estimated performance calculation unit 103 calculates the total access cost from the number of accesses for each storage area, information on the allocation destination memory type for each storage area, and access cost information for each memory type, and generates estimated performance. It works like this. By adopting such a configuration, the object of the present invention can be achieved.

図1を参照すると、本発明の実施の形態は、プログラム制御により動作するコンピュータ(中央処理装置;プロセッサ;データ処理装置)100と、記憶装置200を含む。   Referring to FIG. 1, an embodiment of the present invention includes a computer (central processing unit; processor; data processing unit) 100 that operates under program control, and a storage device 200.

コンピュータ100は、性能評価モデル生成部101と、アクセス回数解析部102と、見積性能計算部103とを含む。   The computer 100 includes a performance evaluation model generation unit 101, an access count analysis unit 102, and an estimated performance calculation unit 103.

記憶装置200は、解析対象ソースコード記憶部111と、性能評価モデル記憶部112と、記憶領域別アクセス回数対応表記憶部113と、メモリ割当情報記憶部114と、メモリ種類別アクセス回数対応表記憶部115、アクセスコスト対応表記憶部116と、性能見積結果記憶部117とを含む。   The storage device 200 includes an analysis target source code storage unit 111, a performance evaluation model storage unit 112, a storage area-specific access count correspondence table storage unit 113, a memory allocation information storage unit 114, and a memory type access count correspondence table storage. Unit 115, access cost correspondence table storage unit 116, and performance estimation result storage unit 117.

次に、図1及び図2のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。   Next, the overall operation of the present embodiment will be described in detail with reference to the flowcharts of FIGS.

動作に先立ち、解析対象ソースコード記憶部111は、半導体回路の設計データである解析対象となるソースコードをあらかじめ記憶している。解析対象のソースコードは、たとえばC言語、C++言語、Java(登録商標)言語などのソフトウェアプログラミング言語で記述される。SystemCやSpecCといったソフトウェアプログラム言語に半導体回路設計のために拡張を施した言語で記述されていてもよい。   Prior to the operation, the analysis target source code storage unit 111 stores in advance a source code to be analyzed, which is design data of the semiconductor circuit. The source code to be analyzed is described in a software programming language such as C language, C ++ language, Java (registered trademark) language, for example. A software program language such as SystemC or SpecC may be described in a language that is extended for semiconductor circuit design.

メモリ割当情報記憶部114は、解析対象となるソースコード中に含まれる記憶領域(配列等)ごとに、該記憶領域が割り当てられるメモリの種類の情報を、あらかじめ記憶している。なお、ソースコード、メモリ割当情報などを基に、これを反映した半導体装置を製造することができる。   The memory allocation information storage unit 114 stores in advance information on the type of memory to which the storage area is allocated for each storage area (array, etc.) included in the source code to be analyzed. A semiconductor device reflecting this can be manufactured based on the source code, the memory allocation information, and the like.

メモリの種類とは、たとえば、チップの内部に実装されるメモリである。あるいは、チップ外に実装されるメモリである。あるいは、解析対象となるソースコードを実現する半導体回路に占有されるメモリである。あるいは、他の半導体回路と共有されるメモリである。あるいは、解析対象となるソースコードを実現する半導体回路と直接接続されたメモリである。あるいは、バスを介して接続されたメモリである。   The memory type is, for example, a memory mounted inside a chip. Alternatively, it is a memory mounted outside the chip. Alternatively, it is a memory occupied by a semiconductor circuit that realizes a source code to be analyzed. Alternatively, it is a memory shared with other semiconductor circuits. Alternatively, it is a memory directly connected to a semiconductor circuit that realizes a source code to be analyzed. Alternatively, it is a memory connected via a bus.

アクセスコスト対応表記憶部116は、メモリの種類ごとのアクセスのコストの情報を、あらかじめ記憶している。   The access cost correspondence table storage unit 116 stores in advance access cost information for each type of memory.

アクセスのコストとは、たとえば、アクセスに必要となる時間(アクセスタイム)である。あるいは、アクセスに必要となる、クロックサイクル数(アクセスクロックサイクル数)である。あるいは、アクセスによって消費される電力(アクセス消費電力)である。あるいは、アクセスによって発生する熱量(アクセス発生熱量)である。あるいは、アクセス対象のメモリの面積(アクセス対象メモリ面積)である。あるいは、アクセス対象のメモリを占有する時間の割合(アクセス対象メモリ占有時間割合)である。あるいは、これらのうちの2以上のものの組合せ(例えば加重平均)であってもよい。   The access cost is, for example, the time required for access (access time). Alternatively, it is the number of clock cycles required for access (number of access clock cycles). Alternatively, it is power consumed by access (access power consumption). Alternatively, it is the amount of heat generated by access (access generated heat amount). Alternatively, it is the area of the memory to be accessed (access target memory area). Alternatively, it is the ratio of the time to occupy the access target memory (access target memory occupation time ratio). Or the combination (for example, weighted average) of two or more of these may be sufficient.

まず、性能評価モデル生成部101は、解析対象ソースコード記憶部111からソースコードを読み出す(図2のステップA1)。   First, the performance evaluation model generation unit 101 reads a source code from the analysis source code storage unit 111 (step A1 in FIG. 2).

次に、性能評価モデル生成部101は、該ソースコードに含まれる記憶領域を検出する(図2のステップA2)。   Next, the performance evaluation model generation unit 101 detects a storage area included in the source code (step A2 in FIG. 2).

記憶領域とは、たとえば、ソースコード中に宣言された配列である。あるいは、たとえば、ソースコード中にmalloc関数で確保されたメモリ領域である。あるいは、たとえば、new 関数で確保されたメモリ領域である。   The storage area is, for example, an array declared in the source code. Alternatively, for example, a memory area secured by the malloc function in the source code. Or, for example, a memory area secured by the new function.

次に、性能評価モデル生成部101は、該記憶領域それぞれについて、アクセス(読み出し、書き込み)の回数を数え上げる手段を該ソースコードに追加し、これを性能評価モデルとして生成する(図2のステップA3)。   Next, the performance evaluation model generation unit 101 adds, to the source code, a means for counting the number of accesses (reading and writing) for each of the storage areas, and generates this as a performance evaluation model (step A3 in FIG. 2). ).

アクセスの回数を数え上げる手段とは、たとえば、記憶領域毎にカウンタを用意し、アクセスのたびにカウンタをインクリメントするような動作をソースコードに追加したものである。あるいは、アクセスの回数を数え上げる手段を組み込んだ関数を用意しメモリの読み出しや書き込みを該関数に置き換えたものである。   The means for counting the number of accesses is, for example, a method in which a counter is prepared for each storage area and an operation for incrementing the counter for each access is added to the source code. Alternatively, a function incorporating a means for counting the number of accesses is prepared, and reading and writing of the memory are replaced with the function.

性能評価モデルは、たとえば、解析対象のソースコードを改変して得られる。あるいは、アクセスの回数を数え上げる手段を組み込んだライブラリを解析対象のソースコードと組み合わせて得られる。あるいは、アクセスの回数を数え上げる手段を組み込んだシミュレータと解析対象のソースコードを組み合わせて得られる。   The performance evaluation model is obtained by modifying the source code to be analyzed, for example. Alternatively, a library incorporating means for counting the number of accesses can be obtained in combination with the source code to be analyzed. Alternatively, it can be obtained by combining a simulator incorporating means for counting the number of accesses and a source code to be analyzed.

次に、性能評価モデル生成部101は、前記性能評価モデルを、性能評価モデル記憶部112に格納する。   Next, the performance evaluation model generation unit 101 stores the performance evaluation model in the performance evaluation model storage unit 112.

次に、アクセス回数解析部102は、前記性能評価モデル記憶部112から、前記性能評価モデルを読み出す。   Next, the access count analysis unit 102 reads the performance evaluation model from the performance evaluation model storage unit 112.

次に、アクセス回数解析部102は、該性能評価モデルを動作させ、ソースコードに含まれる記憶領域毎に、アクセスの回数を計測し、記憶領域別アクセス回数対応表を作成する(図2のステップA4)。   Next, the access count analysis unit 102 operates the performance evaluation model, measures the number of accesses for each storage area included in the source code, and creates an access count correspondence table for each storage area (step in FIG. 2). A4).

記憶領域別アクセス回数対応表は、たとえば、前記性能評価モデルをコンパイラによってプロセッサ上で実行可能なコードに変換し、プロセッサ上で動作させることによって得られる。あるいは、前記性能評価モデルを、アクセスの回数を数え上げる手段を組み込んだライブラリとともに、プロセッサ上で実行可能なコードに変換し、プロセッサ上で動作させることによって得られる。あるいは、前記性能評価モデルを、アクセスの回数を数え上げる手段を組み込んだシミュレータ上で実行させることによって得られる。   The access count correspondence table for each storage area is obtained, for example, by converting the performance evaluation model into a code that can be executed on the processor by a compiler and operating it on the processor. Alternatively, the performance evaluation model is obtained by converting the performance evaluation model into a code that can be executed on the processor together with a library in which means for counting the number of accesses is incorporated, and operating the processor on the processor. Alternatively, it is obtained by executing the performance evaluation model on a simulator incorporating means for counting the number of accesses.

次に、アクセス回数解析部102は、前記記憶領域別アクセス回数対応表を、記憶領域別アクセス回数対応表記憶部113に格納する。   Next, the access count analysis unit 102 stores the access count correspondence table for each storage area in the access count correspondence table storage unit 113 for each storage area.

次に、見積性能計算部103は、前記記憶領域別アクセス回数対応表記憶部113から、前記記憶領域別アクセス回数対応表を読み出す。   Next, the estimated performance calculation unit 103 reads the storage area access count correspondence table from the storage area access count correspondence table storage section 113.

次に、見積性能計算部103は、前記メモリ割当情報記憶部114から、前記メモリ割当情報を読み出す(図2のステップA5)。   Next, the estimated performance calculation unit 103 reads the memory allocation information from the memory allocation information storage unit 114 (step A5 in FIG. 2).

次に、見積性能計算部103は、前記記憶領域別アクセス回数対応表に記載された記憶領域毎のアクセス回数の情報と、前記メモリ割当情報に記載された記憶領域毎の割当先のメモリの種類の情報から、メモリ種類ごとのアクセス回数を算出して、それをメモリ種類別アクセス回数対応表としてメモリ種類別アクセス回数対応表記憶部115に格納する(図2のステップA6)。   Next, the estimated performance calculation unit 103 accesses the information on the number of accesses for each storage area described in the access count correspondence table for each storage area and the type of the allocation destination memory for each storage area described in the memory allocation information. The number of accesses for each memory type is calculated from the above information and stored in the memory type access count correspondence table storage unit 115 as a memory type access count correspondence table (step A6 in FIG. 2).

次に、見積性能計算部103は、前記アクセスコスト対応表記憶部116から、前記アクセスコスト対応表を読み出す(図2のステップA7)。   Next, the estimated performance calculation unit 103 reads the access cost correspondence table from the access cost correspondence table storage unit 116 (step A7 in FIG. 2).

次に、見積性能計算部103は、メモリ種類別アクセス回数対応表に記載された前記メモリ種類ごとのアクセス回数の情報と、前記アクセスコスト対応表に記載されたメモリ種類ごとのアクセスコストの情報から、アクセスコストの総計を算出し、見積性能を生成する(図2のステップA8)。   Next, the estimated performance calculation unit 103 uses the access count information for each memory type described in the memory type access count correspondence table and the access cost information for each memory type described in the access cost correspondence table. Then, the total access cost is calculated and the estimated performance is generated (step A8 in FIG. 2).

最後に、見積性能計算部103は、前記見積性能を、見積性能記憶部117に格納する。   Finally, the estimated performance calculation unit 103 stores the estimated performance in the estimated performance storage unit 117.

なお、複数の種類のアクセスコストについて、アクセスコストの種類毎に見積性能を算出し、これらを組み合わせることにより得られた値を(例えば、加重平均をとることにより得られた値を)、最終的な見積性能としても良い。   For multiple types of access costs, the estimated performance is calculated for each type of access cost, and the value obtained by combining these (for example, the value obtained by taking the weighted average) is the final. The estimated performance may be good.

次に、本実施の形態の効果について説明する。   Next, the effect of this embodiment will be described.

本実施の形態では、性能評価モデル生成部101が解析対象のソースコードに含まれる記憶領域それぞれへのアクセス回数を算出することのできる性能評価モデルを生成し、アクセス回数解析部102が前記性能評価モデルを実行させて該実行中の記憶領域毎のアクセス回数を算出し、見積性能計算部103が前記記憶領域毎のアクセス回数と記憶領域毎の割当先メモリ種類の情報とメモリ種類毎のアクセスコストの情報からアクセスコストの総計を算出して見積性能を生成するというように構成されているため、複雑なアルゴリズムを実現する論理回路の性能を簡易に見積もることのできる半導体回路性能見積装置を提供することができる。   In the present embodiment, the performance evaluation model generation unit 101 generates a performance evaluation model that can calculate the number of accesses to each storage area included in the source code to be analyzed, and the access number analysis unit 102 performs the performance evaluation. The model is executed to calculate the number of accesses for each storage area being executed, and the estimated performance calculation unit 103 determines the number of accesses for each storage area, the information on the allocation destination memory type for each storage area, and the access cost for each memory type. Provides a semiconductor circuit performance estimation device that can easily estimate the performance of a logic circuit that implements a complex algorithm because the estimated performance is generated by calculating the total access cost from the information of be able to.

次に、具体的な実施例を用いて本発明を実施するための最良の形態の動作を説明する。   Next, the operation of the best mode for carrying out the present invention will be described using specific examples.

図3−1、3−2を参照すると、解析対象のソースコードが例示されている。当該ソースコードは「SystemC言語」を用いて表記されているが、本発明の説明に関連ない部分は一部省略されている。   Referring to FIGS. 3A and 3B, the source code to be analyzed is illustrated. Although the source code is described using “System C language”, parts not related to the description of the present invention are partially omitted.

図3―1、3−2のソースコードは、概略以下のように動作する。2つの入力端子 in0 と in4 をもち、一つの出力端子 out3 をもつ。入力端子in0 およびin4から128個のデータが読み出され、該データが一度配列に格納される。その後、配列に格納されたデータに基づき演算がなされた後、その結果が配列に格納される。さらに、配列に格納された128個のデータが、出力端子out3に書き出される。   The source code of FIGS. 3-1 and 3-2 generally operates as follows. It has two input terminals in0 and in4 and one output terminal out3. 128 pieces of data are read from the input terminals in0 and in4, and the data are once stored in the array. Thereafter, an operation is performed based on the data stored in the array, and the result is stored in the array. Further, 128 pieces of data stored in the array are written to the output terminal out3.

図3−1のソースコードの1行目から5行目までは入出力端子が宣言されている。具体的には、符号なし型8ビット幅の入力端子in0, in4 ならびに出力端子out3が宣言されている。   Input / output terminals are declared in the first to fifth lines of the source code in FIG. Specifically, unsigned 8-bit wide input terminals in0 and in4 and an output terminal out3 are declared.

図3−2のソースコードの6行目から31行目までは動作が定義されている。7行目から11行目で、符号なし型8ビットの配列ary0〜ary4が宣言されている。15行目から18行目までで、入力端子in0 とin4 からそれぞれ128個のデータを読み出し、配列ary0とary4に書き込んでいる。   Operations are defined from the 6th line to the 31st line of the source code in FIG. In the 7th to 11th lines, an unsigned 8-bit array ary0 to ary4 is declared. From the 15th line to the 18th line, 128 pieces of data are read from the input terminals in0 and in4, respectively, and written to the arrays ary0 and ary4.

図3−2のソースコードの20行目から24行目までで計算を行っている。具体的には、20行目ではループカウンタiの値が0から123になるまで21行目から23行目を繰り返すことが指定されている。21行目では配列ary0のi番目、i+1番目、i+2番目の要素を読み出し、その総和を計算して、配列ary1のi番目の要素として書き込むことが指定されている。22行目では、同様に、配列ary0のi+3番目、i+4番目の要素を読み出し、その和を計算して、配列ary2のi番目の要素として書き込むことが指定されている。23行目では、配列ary4のi番目、i+1番目の要素を読み出し、その値を用いて配列ary1とary2から値を読み出し、その和を計算して、配列ary3のi番目の要素として書き込むことが指定されている。   Calculation is performed from the 20th line to the 24th line of the source code in FIG. Specifically, in the 20th line, it is designated that the 21st to 23rd lines are repeated until the value of the loop counter i changes from 0 to 123. In the 21st row, it is specified that the i-th, i + 1-th, and i + 2-th elements of the array ary0 are read, the sum is calculated, and written as the i-th element of the array ary1. Similarly, in the 22nd line, it is specified that the i + 3th and i + 4th elements of the array ary0 are read, the sum thereof is calculated, and written as the ith element of the array ary2. In line 23, the i-th and i + 1-th elements of the array ary4 are read, the values are used to read the values from the arrays ary1 and ary2, and the sum is calculated and written as the i-th element of the array ary3. Is specified.

図3−2のソースコードの26行目から28行目では、配列ary3の128個の値を出力端子out3に書き出すことが指定されている。   In the 26th to 28th lines of the source code in FIG. 3B, it is specified that 128 values of the array ary3 are written to the output terminal out3.

図3―1、3−2のソースコードは、解析対象ソースコード記憶部111にあらかじめ記憶されている。   The source codes in FIGS. 3A and 3B are stored in advance in the analysis target source code storage unit 111.

図4を参照すると、メモリ割当情報が例示されている。図4のメモリ割当情報では、第1の外部メモリ、第1の内部メモリ、第2の内部メモリの3種類のメモリが使用されること、並びに、図3のソースコード中の5つの記憶領域(配列)ary0〜ary4に対して、それぞれが割り当てられるメモリの種類が指定されている。たとえば、配列ary0が第一の外部メモリに割り当てられること、配列ary1が第一の内部メモリに割り当てられること、などが指定されている。   Referring to FIG. 4, memory allocation information is illustrated. In the memory allocation information of FIG. 4, three types of memory, that is, a first external memory, a first internal memory, and a second internal memory are used, and five storage areas (in the source code of FIG. 3 ( For the array) ary0 to ary4, the type of memory to which each is assigned is specified. For example, it is specified that the array ary0 is assigned to the first external memory, the array ary1 is assigned to the first internal memory, and the like.

図4のメモリ割当情報は、メモリ割当情報記憶部114にあらかじめ記憶されている。   The memory allocation information in FIG. 4 is stored in advance in the memory allocation information storage unit 114.

図5を参照すると、アクセスコスト対応表が例示されている。図5のアクセスコスト対応表には、第1の外部メモリ、第1の内部メモリ、第2の内部メモリへのアクセスに必要となる時間(クロックサイクル数)がそれぞれ示されている。   Referring to FIG. 5, an access cost correspondence table is illustrated. The access cost correspondence table of FIG. 5 shows the time (number of clock cycles) required for accessing the first external memory, the first internal memory, and the second internal memory.

図5のアクセスコスト対応表は、アクセスコスト対応表記憶部116にあらかじめ記憶されている。   The access cost correspondence table in FIG. 5 is stored in advance in the access cost correspondence table storage unit 116.

まず、性能評価モデル生成部101は、解析対象ソースコード記憶部111から図3−1、3−2のソースコードを読み出し(図2のステップA1)、該ソースコードに含まれる記憶領域である配列ary0〜ary4を検出する(図2のステップA2)。   First, the performance evaluation model generation unit 101 reads the source codes of FIGS. 3A and 3B from the analysis target source code storage unit 111 (step A1 in FIG. 2), and is an array that is a storage area included in the source code ary0 to ary4 are detected (step A2 in FIG. 2).

次に、性能評価モデル生成部101は、該記憶領域それぞれについて、アクセス(読み出し、書き込み)の回数を数え上げる手段を該ソースコードに追加し、これを性能評価モデルとして生成する(図2のステップA3)。   Next, the performance evaluation model generation unit 101 adds, to the source code, a means for counting the number of accesses (reading and writing) for each of the storage areas, and generates this as a performance evaluation model (step A3 in FIG. 2). ).

図6−1、6−2を参照すると、性能評価モデルが例示されている。図6−1、6−2の性能評価モデルでは、図3−1、3−2のソースコードに対して、5つの配列ary0〜ary4に対して、5つのカウンタcnt[0]〜cnt[4]を用意し、配列にアクセスするたびに、カウンタを増加させるように動作する部分が追加されている点が異なる。   With reference to FIGS. 6A and 6B, a performance evaluation model is illustrated. In the performance evaluation models of FIGS. 6A and 6B, five counters cnt [0] to cnt [4 for five arrays ary0 to ary4 with respect to the source code of FIGS. ] Is prepared, and the part that operates to increment the counter each time the array is accessed is different.

図6−2の性能評価モデルの12行目では5つのカウンタcnt[0]〜cnt[4]が宣言され、値0で初期化されている。   In the twelfth line of the performance evaluation model of FIG. 6B, five counters cnt [0] to cnt [4] are declared and initialized with a value of zero.

17行目および18行目では、配列ary0およびary4へのアクセスのたびにcnt[0]およびcnt[4]をそれぞれインクリメントしている。22行目〜24行目、および28行目でも同様に、配列へのアクセスのたびに対応するカウンタの値を増加させている。   In the 17th and 18th lines, cnt [0] and cnt [4] are incremented each time the arrays ary0 and ary4 are accessed. Similarly, in the 22nd to 24th lines and the 28th line, the value of the corresponding counter is increased every time the array is accessed.

次に、性能評価モデル生成部101は、図6の性能評価モデルを、性能評価モデル記憶部112に記憶する。   Next, the performance evaluation model generation unit 101 stores the performance evaluation model in FIG. 6 in the performance evaluation model storage unit 112.

次に、アクセス回数解析部102は、前記性能評価モデル記憶部112から、図6の性能評価モデルを読み出す。   Next, the access count analysis unit 102 reads the performance evaluation model of FIG. 6 from the performance evaluation model storage unit 112.

次に、アクセス回数解析部102は、図6の性能評価モデルを動作させ、ソースコードに含まれる記憶領域毎に、アクセスの回数を計測し、記憶領域別アクセス回数対応表を作成する(図2のステップA4)。   Next, the access count analysis unit 102 operates the performance evaluation model of FIG. 6, measures the number of accesses for each storage area included in the source code, and creates a storage area-specific access count correspondence table (FIG. 2). Step A4).

図7を参照すると記憶領域別アクセス回数対応表が例示されている。図7の記憶領域別アクセス回数対応表には、図6の性能評価モデルの15行目から30行目を、一度実行して得られる、配列ごとのアクセス回数(カウンタcnt[0]〜cnt[4]の値)が示されている。   Referring to FIG. 7, an access frequency correspondence table by storage area is illustrated. In the access count correspondence table by storage area in FIG. 7, the number of accesses for each array (counters cnt [0] to cnt [0] obtained by executing the 15th to 30th rows of the performance evaluation model in FIG. 6 once. 4)) is shown.

次に、アクセス回数解析部102は、図7の記憶領域別アクセス回数対応表を、記憶領域別アクセス回数対応表記憶部113に記憶する。   Next, the access count analysis unit 102 stores the access count correspondence table for each storage area in FIG. 7 in the access count correspondence table storage unit 113 for each storage area.

次に、見積性能計算部103は、記憶領域別アクセス回数対応表記憶部113から図7のアクセス回数対応表を読み出し、メモリ割当情報記憶部114から、図4のメモリ割当情報を読み出す。   Next, the estimated performance calculation unit 103 reads the access count correspondence table in FIG. 7 from the access count correspondence table storage unit 113 by storage area, and reads the memory allocation information in FIG. 4 from the memory allocation information storage unit 114.

次に、図7の記憶領域別アクセス回数対応表に記載された記憶領域毎のアクセス回数の情報と、図4のメモリ割当情報に記載された記憶領域毎の割当先のメモリの種類の情報から、メモリ種類ごとのアクセス回数を算出する。   Next, from the information on the number of accesses for each storage area described in the access count correspondence table for each storage area in FIG. 7 and the information on the memory type of the allocation destination for each storage area described in the memory allocation information in FIG. The number of accesses for each memory type is calculated.

図8を参照すると、メモリ種類ごとのアクセス回数が例示されている。図8には、第一の外部メモリ、第1の内部メモリ、第2の内部メモリそれぞれのアクセス回数が例示されている。たとえば、第一の外部メモリに割り当てられる配列ary0およびary3のアクセス回数はそれぞれ743回と251回であるため、第一の外部メモリへのアクセスの総数はその和である994回となる。   Referring to FIG. 8, the number of accesses for each memory type is illustrated. FIG. 8 illustrates the number of accesses to each of the first external memory, the first internal memory, and the second internal memory. For example, since the numbers of accesses of the arrays ary0 and ary3 allocated to the first external memory are 743 times and 251 times, respectively, the total number of accesses to the first external memory is the sum of 994 times.

次に、見積性能計算部103は、前記アクセスコスト対応表記憶部116から、図5のアクセスコスト対応表を読み出し、図8のメモリ種類ごとのアクセス回数の情報と図5のアクセス対応表の情報から、アクセスコストの総計を算出し、見積性能を生成する。   Next, the estimated performance calculation unit 103 reads the access cost correspondence table in FIG. 5 from the access cost correspondence table storage unit 116, and information on the number of accesses for each memory type in FIG. 8 and information on the access correspondence table in FIG. From the above, the total access cost is calculated and the estimated performance is generated.

図9を参照すると、メモリ種類ごとのアクセスコストが例示されている。図9には、第一の外部メモリ、第1の内部メモリ、第2の内部メモリそれぞれのアクセスコストが例示されている。たとえば、第一の外部メモリの一回当たりのアクセスコストは10であり、アクセス回数が994回であるため、第一の外部メモリのアクセスコストは9940と算出される。第1の内部メモリ、第2の内部メモリのアクセスコストもそれぞれ同様に算出され、これらの総和である見積性能は10,806と算出される。つまり、アクセス先のメモリ種類別のアクセス回数とアクセス先のメモリ種類別の1アクセス毎のアクセスコストの積和が見積性能として算出される。   Referring to FIG. 9, the access cost for each memory type is illustrated. FIG. 9 illustrates the access costs of the first external memory, the first internal memory, and the second internal memory. For example, since the access cost per time of the first external memory is 10 and the access count is 994 times, the access cost of the first external memory is calculated as 9940. The access costs of the first internal memory and the second internal memory are also calculated in the same manner, and the estimated performance that is the sum of these is calculated as 10,806. That is, the product sum of the number of accesses for each access destination memory type and the access cost for each access for each access destination memory type is calculated as the estimated performance.

最後に、見積性能計算部103は、前記見積性能を、見積性能記憶部117に記憶する。   Finally, the estimated performance calculation unit 103 stores the estimated performance in the estimated performance storage unit 117.

次に、図3−1、3−2のソースコードを図10−1、10−2に示すように変更したことを考える。図10−1、10−2に例示されるソースコードは、図3−1、3−2のソースコードとは機能的に同一であるが、配列ary0の同一要素からの読み込みを削減するように変更されていることが異なる。   Next, consider that the source code of FIGS. 3-1 and 3-2 is changed as shown in FIGS. The source code illustrated in FIGS. 10A and 10B is functionally the same as the source code of FIGS. 3-1 and 3-2, but reduces reading from the same element of the array ary0. It is different that it has been changed.

図10−2のソースコードの12行目に再利用されるデータを一時的に格納する配列srが宣言されている。20行目から22行目で、配列aryの0番目の要素から3番目の要素までを読み出し、配列srに書き込んでいる。   An array sr for temporarily storing data to be reused is declared in the 12th line of the source code in FIG. From the 20th line to the 22nd line, the elements from the 0th element to the 3rd element of the array ary are read and written to the array sr.

25行目では配列ary0から新たな値を読み出し配列srの4番目の要素に書き込んでいる。26行目および27行目では、配列ary0から値を読み出す代わりに配列srから値を読み出し、図3のソースコードと同様に和を計算し、その結果を配列ary1ならびにary2に格納している。   In the 25th line, a new value is read from the array ary0 and written to the fourth element of the array sr. In the 26th and 27th lines, instead of reading the value from the array ary0, the value is read from the array sr, the sum is calculated in the same way as the source code of FIG. 3, and the result is stored in the arrays ary1 and ary2.

29行目から31行目で、配列srの値をシフトし、次の計算に備えている。   The values of the array sr are shifted from the 29th line to the 31st line to prepare for the next calculation.

性能評価モデル生成部101は、図10−1、10−2のソースコードから性能評価モデルを生成し、アクセス回数解析部102は該性能評価モデルを実行し配列ごとのアクセスの回数を計測し、アクセス回数対応表を作成する。   The performance evaluation model generation unit 101 generates a performance evaluation model from the source codes of FIGS. 10-1 and 10-2. The access count analysis unit 102 executes the performance evaluation model and measures the number of accesses for each array. Create an access count correspondence table.

図11を参照すると、図10のソースコードに対する、アクセス回数対応表が例示されている。図7に例示されているアクセス回数対応表と比較し、配列ary0のアクセス回数が削減されていることがわかる。   Referring to FIG. 11, an access count correspondence table for the source code of FIG. 10 is illustrated. Compared to the access count correspondence table illustrated in FIG. 7, it can be seen that the access count of the array ary0 is reduced.

見積性能計算部103は、図11のアクセス回数対応表と、図4のメモリ割当て並びに、図5のアクセスコストを読み出し、メモリ種類ごとのアクセス回数を算出し、さらに、メモリ種類ごとのアクセスコストを算出する。   The estimated performance calculation unit 103 reads the access count correspondence table of FIG. 11, the memory allocation of FIG. 4 and the access cost of FIG. 5, calculates the access count for each memory type, and further calculates the access cost for each memory type. calculate.

図12を参照すると、図11のソースコードと、図4のメモリ割当て並びに、図5のアクセスコストから得られる、メモリ種類ごとのアクセスコスト並びにその総和が例示されている。図9に例示されているアクセスコストと比較して、第一の外部メモリのアクセスコストが削減され、結果的にアクセスコストの総和も削減されていることがわかる。   Referring to FIG. 12, the source code of FIG. 11, the memory allocation of FIG. 4, and the access cost for each memory type and the sum total obtained from the access cost of FIG. 5 are illustrated. Compared to the access cost illustrated in FIG. 9, it can be seen that the access cost of the first external memory is reduced, and as a result, the total access cost is also reduced.

このように、図10―1、10−2のソースコードを実現する半導体回路は、図3―1、3−2のソースコードを実現する半導体回路よりも低コストであることを簡易に見積もることができる。   As described above, it is easy to estimate that the semiconductor circuit that realizes the source code of FIGS. 10A and 10B is lower in cost than the semiconductor circuit that realizes the source code of FIGS. Can do.

次に、図4のメモリの割当てを図13に示すように変更したことを考える。図13のメモリ割当ては、図4のメモリ割当てと比較して、配列ary0が第一の内部メモリに割り当てられていることが異なる。   Next, consider that the memory allocation in FIG. 4 is changed as shown in FIG. The memory allocation in FIG. 13 differs from the memory allocation in FIG. 4 in that the array ary0 is allocated to the first internal memory.

見積性能103は、図11のアクセス回数対応表と、図13のメモリ割当て並びに、図5のアクセスコストを読み出し、メモリ種類ごとのアクセス回数を算出し、さらに、メモリ種類ごとのアクセスコストを算出する。   The estimated performance 103 reads the access count correspondence table of FIG. 11, the memory allocation of FIG. 13 and the access cost of FIG. 5, calculates the access count for each memory type, and further calculates the access cost for each memory type. .

図14を参照すると、図11のソースコードと、図13のメモリ割当て並びに、図5のアクセスコストから得られる、メモリ種類ごとのアクセスコスト並びにその総和が例示されている。図12に例示されているアクセスコストと比較して、第一の内部メモリのアクセスコストは増加しているものの、第一の外部メモリのアクセスコストが削減され、結果的にアクセスコストの総和も削減されていることがわかる。   Referring to FIG. 14, there are illustrated an access cost for each memory type and a total sum obtained from the source code in FIG. 11, the memory allocation in FIG. 13, and the access cost in FIG. 5. Compared to the access cost illustrated in FIG. 12, although the access cost of the first internal memory is increased, the access cost of the first external memory is reduced, and as a result, the total access cost is also reduced. You can see that

このように、図13のメモリ割当てを用いて図10のソースコードを実現する半導体回路は、図4のメモリ割当てを用いて図10のソースコードを実現する半導体回路よりも低コストであることを簡易に見積もることができる。   Thus, the semiconductor circuit that realizes the source code of FIG. 10 using the memory allocation of FIG. 13 is lower in cost than the semiconductor circuit that realizes the source code of FIG. 10 using the memory allocation of FIG. It can be easily estimated.

本実施形態によれば、アルゴリズムを変更した時に、該アルゴリズムに対応するソースコードを実現する論理回路の性能を簡易に見積ることができ、アルゴリズム検討の判断材料に利用できる。また、本実施形態によれば、メモリへの割当てを変更した時に、該ソースコードを実現する論理回路の性能を簡易に見積もることができ、アーキテクチャ検討の判断材料に利用できる。   According to the present embodiment, when the algorithm is changed, the performance of the logic circuit that realizes the source code corresponding to the algorithm can be easily estimated, and this can be used as a judgment material for examining the algorithm. Further, according to the present embodiment, when the allocation to the memory is changed, the performance of the logic circuit that realizes the source code can be easily estimated, and this can be used as a material for determining the architecture study.

なお、上記の半導体回路性能見積装置は、ハードウェア、ソフトウェア又はこれらの組合わせにより実現することができる。また、上記の半導体回路性能見積装置により行なわれる半導体回路性能見積方法も、ハードウェア、ソフトウェア又はこれらに組合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。   The semiconductor circuit performance estimation device described above can be realized by hardware, software, or a combination thereof. The semiconductor circuit performance estimation method performed by the semiconductor circuit performance estimation apparatus described above can also be realized by hardware, software, or a combination thereof. Here, “realized by software” means realized by a computer reading and executing a program.

プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。   The program may be stored using various types of non-transitory computer readable media and supplied to the computer. Non-transitory computer readable media include various types of tangible storage media. Examples of non-transitory computer readable media include magnetic recording media (for example, flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (for example, magneto-optical disks), CD-ROMs (Read Only Memory), CD- R, CD-R / W, semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM (random access memory)). The program may also be supplied to the computer by various types of transitory computer readable media. Examples of transitory computer readable media include electrical signals, optical signals, and electromagnetic waves. The temporary computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.

上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。   A part or all of the above-described embodiment can be described as in the following supplementary notes, but is not limited thereto.

(付記1)
半導体回路の性能を見積もるための半導体回路性能見積装置であって、
前記半導体の設計データであるソースコードを基に、アクセス先のメモリ種類別のアクセス回数を求め、該アクセス先のメモリ種類別のアクセス回数とアクセス先のメモリ種類別のアクセスコストを基に、見積性能を算出することを特徴とする半導体回路性能見積装置。
(Appendix 1)
A semiconductor circuit performance estimation device for estimating the performance of a semiconductor circuit,
Based on the source code that is the semiconductor design data, obtain the number of accesses for each memory type of the access destination, and estimate based on the number of accesses for each memory type of the access destination and the access cost for each memory type of the access destination A semiconductor circuit performance estimation apparatus characterized by calculating performance.

(付記2)
付記1に記載の半導体回路性能見積装置であって、
前記アクセス先のメモリ種類別のアクセス回数は、記憶領域別のアクセス回数と記憶領域別のメモリ種類を基に求めることを特徴とする半導体回路性能見積装置。
(Appendix 2)
A semiconductor circuit performance estimation device according to appendix 1,
The access count for each memory type of the access destination is obtained based on the access count for each storage area and the memory type for each storage area.

(付記3)
付記2に記載の半導体回路性能見積装置であって、
前記アクセス先の記憶領域別のアクセス回数を、前記ソースコードを基に生成した性能評価モデルを実行させることにより求めることを特徴とする半導体回路性能見積装置。
(Appendix 3)
A semiconductor circuit performance estimation device according to appendix 2,
2. A semiconductor circuit performance estimation apparatus, wherein the number of accesses for each access destination storage area is obtained by executing a performance evaluation model generated based on the source code.

(付記4)
付記3に記載の半導体回路性能見積装置であって、
前記性能評価モデルは、該性能評価モデルの実行時に記憶領域別のアクセス回数をカウントするための記述を含むことを特徴とする半導体回路性能見積装置。
(Appendix 4)
A semiconductor circuit performance estimation device according to attachment 3, wherein
The performance evaluation model includes a description for counting the number of accesses for each storage area when the performance evaluation model is executed.

(付記5)
付記1乃至4の何れか1に記載の半導体回路性能見積装置であって、
前記アクセス先のメモリ種類別のアクセス回数と前記アクセス先のメモリ種類別のアクセスコストを基に算出した前記アクセス先のメモリ種類別のアクセス回数と前記アクセス先のメモリ種類別のアクセスコストの積和を前記見積性能として算出することを特徴とする半導体回路性能見積装置。
(Appendix 5)
The semiconductor circuit performance estimation device according to any one of appendices 1 to 4,
The product-sum of the access count for each access destination memory type and the access cost for each access destination memory type calculated based on the access count for each access destination memory type and the access cost for each access destination memory type Is calculated as the estimated performance.

(付記6)
付記1乃至5の何れか1に記載の半導体回路性能見積装置であって、
前記アクセスコストは、アクセスタイム、アクセスクロックサイクル数、アクセス消費電力、アクセス発生熱量、アクセス対象メモリ面積若しくはアクセス対象メモリ占有時間割合又はこれらの組合せであることを特徴とする半導体回路性能見積装置。
(Appendix 6)
The semiconductor circuit performance estimation device according to any one of appendices 1 to 5,
The access cost is an access time, an access clock cycle number, an access power consumption, an access heat generation amount, an access target memory area or an access target memory occupation time ratio, or a combination thereof.

(付記7)
付記1乃至5の何れか1に記載の半導体回路性能見積装置であって、
複数の種類のアクセスコストについて、アクセスコストの種類毎に見積性能を算出し、これらを組み合わせることにより得られた値を、最終的な見積性能とすることを特徴とする半導体回路性能見積装置。
(Appendix 7)
The semiconductor circuit performance estimation device according to any one of appendices 1 to 5,
A semiconductor circuit performance estimation apparatus characterized in that, for a plurality of types of access costs, an estimated performance is calculated for each access cost type, and a value obtained by combining these is used as a final estimated performance.

(付記8)
半導体回路の性能を見積もるための半導体回路性能見積方法であって、
前記半導体の設計データであるソースコードを基に、アクセス先のメモリ種類別のアクセス回数を求め、該アクセス先のメモリ種類別のアクセス回数とアクセス先のメモリ種類別のアクセスコストを基に、見積性能を算出することを特徴とする半導体回路性能見積方法。
(Appendix 8)
A semiconductor circuit performance estimation method for estimating the performance of a semiconductor circuit,
Based on the source code that is the semiconductor design data, obtain the number of accesses for each memory type of the access destination, and estimate based on the number of accesses for each memory type of the access destination and the access cost for each memory type of the access destination A semiconductor circuit performance estimation method characterized by calculating performance.

(付記9)
付記8に記載の半導体回路性能見積方法であって、
前記アクセス先のメモリ種類別のアクセス回数は、記憶領域別のアクセス回数と記憶領域別のメモリ種類を基に求めることを特徴とする半導体回路性能見積方法。
(Appendix 9)
A semiconductor circuit performance estimation method according to appendix 8,
The access count for each memory type of the access destination is obtained based on the access count for each storage area and the memory type for each storage area.

(付記10)
付記9に記載の半導体回路性能見積方法であって、
前記アクセス先の記憶領域別のアクセス回数を、前記ソースコードを基に生成した性能評価モデルを実行させることにより求めることを特徴とする半導体回路性能見積方法。
(Appendix 10)
A semiconductor circuit performance estimation method according to attachment 9, wherein
A method for estimating a semiconductor circuit performance, wherein the number of accesses for each storage area of the access destination is obtained by executing a performance evaluation model generated based on the source code.

(付記11)
付記10に記載の半導体回路性能見積方法であって、
前記性能評価モデルは、該性能評価モデルの実行時に記憶領域別のアクセス回数をカウントするための記述を含むことを特徴とする半導体回路性能見積方法。
(Appendix 11)
A semiconductor circuit performance estimation method according to appendix 10,
The performance evaluation model includes a description for counting the number of accesses for each storage area when the performance evaluation model is executed.

(付記12)
付記8乃至11の何れか1に記載の半導体回路性能見積方法であって、
前記アクセス先のメモリ種類別のアクセス回数と前記アクセス先のメモリ種類別のアクセスコストを基に算出した前記アクセス先のメモリ種類別のアクセス回数と前記アクセス先のメモリ種類別のアクセスコストの積和を前記見積性能として算出することを特徴とする半導体回路性能見積方法。
(Appendix 12)
A semiconductor circuit performance estimation method according to any one of appendices 8 to 11,
The product-sum of the access count for each access destination memory type and the access cost for each access destination memory type calculated based on the access count for each access destination memory type and the access cost for each access destination memory type Is calculated as the estimated performance, a semiconductor circuit performance estimation method.

(付記13)
付記8乃至12の何れか1に記載の半導体回路性能見積方法であって、
前記アクセスコストは、アクセスタイム、アクセスクロックサイクル数、アクセス消費電力、アクセス発生熱量、アクセス対象メモリ面積若しくはアクセス対象メモリ占有時間割合又はこれらの組合せであることを特徴とする半導体回路性能見積方法。
(Appendix 13)
A semiconductor circuit performance estimation method according to any one of appendices 8 to 12,
The access cost is an access time, an access clock cycle number, an access power consumption, an access heat generation amount, an access target memory area or an access target memory occupation time ratio, or a combination thereof.

(付記14)
付記8乃至12の何れか1に記載の半導体回路性能見積方法であって、
複数の種類のアクセスコストについて、アクセスコストの種類毎に見積性能を算出し、これらを組み合わせることにより得られた値を、最終的な見積性能とすることを特徴とする半導体回路性能見積方法。
(Appendix 14)
A semiconductor circuit performance estimation method according to any one of appendices 8 to 12,
A semiconductor circuit performance estimation method characterized in that, for a plurality of types of access costs, an estimated performance is calculated for each type of access cost, and a value obtained by combining these is used as a final estimated performance.

(付記15)
半導体回路の性能を見積もるための半導体回路性能見積装置としてコンピュータを機能させるための半導体回路性能見積プログラムであって、
前記半導体回路性能見積り装置は、
前記半導体の設計データであるソースコードを基に、アクセス先のメモリ種類別のアクセス回数を求め、該アクセス先のメモリ種類別のアクセス回数とアクセス先のメモリ種類別のアクセスコストを基に、見積性能を算出することを特徴とする半導体回路性能見積プログラム。
(Appendix 15)
A semiconductor circuit performance estimation program for causing a computer to function as a semiconductor circuit performance estimation device for estimating the performance of a semiconductor circuit,
The semiconductor circuit performance estimation device is:
Based on the source code that is the semiconductor design data, obtain the number of accesses for each memory type of the access destination, and estimate based on the number of accesses for each memory type of the access destination and the access cost for each memory type of the access destination A semiconductor circuit performance estimation program for calculating performance.

(付記16)
付記15に記載の半導体回路性能見積プログラムであって、
前記半導体回路性能見積り装置は、前記アクセス先のメモリ種類別のアクセス回数は、記憶領域別のアクセス回数と記憶領域別のメモリ種類を基に求めることを特徴とする半導体回路性能見積プログラム。
(Appendix 16)
A semiconductor circuit performance estimation program according to appendix 15,
The semiconductor circuit performance estimation apparatus obtains the access count for each access destination memory type based on the access count for each storage area and the memory type for each storage area.

(付記17)
付記16に記載の半導体回路性能見積プログラムであって、
前記半導体回路性能見積り装置は、前記アクセス先の記憶領域別のアクセス回数を、前記ソースコードを基に生成した性能評価モデルを実行させることにより求めることを特徴とする半導体回路性能見積プログラム。
(Appendix 17)
A semiconductor circuit performance estimation program according to appendix 16,
The semiconductor circuit performance estimation apparatus obtains the number of accesses for each access destination storage area by executing a performance evaluation model generated based on the source code.

(付記18)
付記17に記載の半導体回路性能見積プログラムであって、
前記性能評価モデルは、該性能評価モデルの実行時に記憶領域別のアクセス回数をカウントするための記述を含むことを特徴とする半導体回路性能見積プログラム。
(Appendix 18)
A semiconductor circuit performance estimation program according to appendix 17,
The performance evaluation model includes a description for counting the number of accesses for each storage area when the performance evaluation model is executed.

(付記19)
付記15乃至18の何れか1に記載の半導体回路性能見積プログラムであって、
前記半導体回路性能見積り装置は、前記アクセス先のメモリ種類別のアクセス回数と前記アクセス先のメモリ種類別のアクセスコストを基に算出した前記アクセス先のメモリ種類別のアクセス回数と前記アクセス先のメモリ種類別のアクセスコストの積和を前記見積性能として算出することを特徴とする半導体回路性能見積プログラム。
(Appendix 19)
A semiconductor circuit performance estimation program according to any one of appendices 15 to 18,
The semiconductor circuit performance estimation apparatus includes: an access count for each access destination memory type calculated based on an access count for each access destination memory type and an access cost for each access destination memory type; and the access destination memory A semiconductor circuit performance estimation program characterized by calculating a product sum of access costs by type as the estimated performance.

(付記20)
付記15乃至19の何れか1に記載の半導体回路性能見積プログラムであって、
前記アクセスコストは、アクセスタイム、アクセスクロックサイクル数、アクセス消費電力、アクセス発生熱量、アクセス対象メモリ面積若しくはアクセス対象メモリ占有時間割合又はこれらの組合せであることを特徴とする半導体回路性能見積プログラム。
(Appendix 20)
A semiconductor circuit performance estimation program according to any one of appendices 15 to 19,
The access cost is an access time, an access clock cycle number, an access power consumption, an access heat generation amount, an access target memory area or an access target memory occupation time ratio, or a combination thereof.

(付記21)
付記15乃至19の何れか1に記載の半導体回路性能見積プログラムであって、
前記半導体回路性能見積り装置は、複数の種類のアクセスコストについて、アクセスコストの種類毎に見積性能を算出し、これらを組み合わせることにより得られた値を、最終的な見積性能とすることを特徴とする半導体回路性能見積プログラム。
(Appendix 21)
A semiconductor circuit performance estimation program according to any one of appendices 15 to 19,
The semiconductor circuit performance estimation device is characterized in that, for a plurality of types of access cost, an estimated performance is calculated for each type of access cost, and a value obtained by combining these is set as a final estimated performance. Semiconductor circuit performance estimation program.

本発明は、複雑なアルゴリズムを実現する論理回路の性能を簡易に見積もることに利用できる。   The present invention can be used to easily estimate the performance of a logic circuit that implements a complex algorithm.

100 コンピュータ
101 性能評価モデル生成部
102 アクセス回数解析部
103 見積性能計算部
111 解析対象ソースコード記憶部
112 性能評価モデル記憶部
113 記憶領域別アクセス回数対応表記憶部
114 メモリ割当情報記憶部
115 メモリ種類別アクセス回数対応表記憶部
116 アクセスコスト対応表記憶部
117 見積性能記憶部
200記憶装置
DESCRIPTION OF SYMBOLS 100 Computer 101 Performance evaluation model production | generation part 102 Access frequency analysis part 103 Estimated performance calculation part 111 Analysis object source code memory | storage part 112 Performance evaluation model memory | storage part 113 Access count correspondence table memory | storage part according to storage area 114 Memory allocation information memory | storage part 115 Memory type Separate access count correspondence table storage unit 116 Access cost correspondence table storage unit 117 Estimated performance storage unit 200 storage device

Claims (6)

半導体回路の性能を見積もるための半導体回路性能見積装置であって、
前記半導体回路の設計データであるソースコードに含まれる記憶領域ごとに、該記憶領域に割り当てられるメモリのメモリ種別情報を格納する手段と、
前記メモリの種別ごとのアクセスコストの情報を格納する手段と、
前記記憶領域それぞれへのアクセス回数を算出する性能評価モデルを生成する手段と、
前記性能評価モデルを動作させて計測した記憶領域別アクセス回数と前記メモリ種別情報から、前記メモリの種別ごとのメモリ種別アクセス回数を算出する手段と、
前記アクセスコストの情報と前記メモリ種別アクセス回数からアクセスコストの総計を算出し、該総計をもとに前記半導体回路の見積性能を生成する見積性能生成手段と、
を備え、
前記性能評価モデルは、前記ソースコードに前記アクセス回数のカウント手段を追加して生成され、あるいは、前記アクセス回数のカウント手段を組み込んだライブラリを前記ソースコードと組み合わせて生成され、あるいは、前記アクセス回数のカウント手段を組み込んだシミュレータと前記ソースコードを組み合わせて生成され、
前記見積性能生成手段は、前記アクセスコストが複数種類ある場合には該種類ごとに前記見積性能を生成することを特徴とする半導体回路性能見積装置。
A semiconductor circuit performance estimation device for estimating the performance of a semiconductor circuit,
Means for storing memory type information of a memory allocated to the storage area for each storage area included in the source code which is design data of the semiconductor circuit ;
Means for storing access cost information for each type of memory;
Means for generating a performance evaluation model for calculating the number of accesses to each of the storage areas;
Means for calculating the memory type access count for each type of the memory from the memory area access count and the memory type information measured by operating the performance evaluation model;
An estimated performance generating means for calculating a total access cost from the access cost information and the memory type access count, and generating an estimated performance of the semiconductor circuit based on the total;
With
The performance evaluation model is generated by adding the access count unit to the source code, or is generated by combining the source code with a library incorporating the access count unit, or the access count It is generated by combining the simulator incorporating the counting means and the source code,
The estimated performance generating means generates the estimated performance for each type when there are a plurality of types of the access cost .
請求項1に記載の半導体回路性能見積装置であって、The semiconductor circuit performance estimation device according to claim 1,
前記ソースコードを変更した場合、前記見積性能生成手段は、該ソースコードの変更後におけるアクセスコストの総計を、該ソースコードの変更前におけるアクセスコストの総計と対比可能に算出することを特徴とする半導体回路性能見積装置。When the source code is changed, the estimated performance generating means calculates the total access cost after the change of the source code so as to be comparable with the total access cost before the change of the source code. Semiconductor circuit performance estimation device.
請求項1に記載の半導体回路性能見積装置であって、The semiconductor circuit performance estimation device according to claim 1,
前記記憶領域へのメモリの割り当てを変更した場合、前記見積性能生成手段は、該メモリの割り当て変更後におけるアクセスコストの総計を、該メモリの割り当て変更前におけるアクセスコストの総計と対比可能に算出することを特徴とする半導体回路性能見積装置。When the memory allocation to the storage area is changed, the estimated performance generating means calculates the total access cost after the memory allocation change so as to be comparable with the total access cost before the memory allocation change. A semiconductor circuit performance estimating apparatus.
請求項1乃至の何れか1に記載の半導体回路性能見積装置であって、
前記アクセスコストは、アクセスタイム、アクセスクロックサイクル数、アクセス消費電力、アクセス発生熱量、アクセス対象メモリ面積若しくはアクセス対象メモリ占有時間割合又はこれらの組合せであることを特徴とする半導体回路性能見積装置。
A semiconductor circuit performance estimation device according to any one of claims 1 to 3 ,
The access cost is an access time, an access clock cycle number, an access power consumption, an access heat generation amount, an access target memory area or an access target memory occupation time ratio, or a combination thereof.
半導体回路の性能を見積もるための半導体回路性能見積方法であって、
前記半導体の設計データであるソースコードに含まれる記憶領域それぞれへのアクセス回数を算出する性能評価モデルを生成するステップと、
前記性能評価モデルを動作させて計測した記憶領域別アクセス回数と、あらかじめ記憶した、前記記憶領域に割り当てられるメモリのメモリ種別情報とから、前記メモリの種別ごとのメモリ種別アクセス回数を算出するステップと、
あらかじめ記憶した前記メモリの種別ごとのアクセスコストの情報と、前記メモリ種別アクセス回数とからアクセスコストの総計を算出し、該総計をもとに前記半導体回路の見積性能を生成するステップと、
を備え、
前記性能評価モデルは、前記ソースコードに前記アクセス回数のカウント手段を追加して生成され、あるいは、前記アクセス回数のカウント手段を組み込んだライブラリを前記ソースコードと組み合わせて生成され、あるいは、前記アクセス回数のカウント手段を組み込んだシミュレータと前記ソースコードを組み合わせて生成され、
前記見積性能生成ステップは、前記アクセスコストが複数種類ある場合には該種類ごとに前記見積性能を生成することを特徴とする半導体回路性能見積方法。
A semiconductor circuit performance estimation method for estimating the performance of a semiconductor circuit,
Generating a performance evaluation model for calculating the number of accesses to each storage area included in the source code which is the semiconductor design data ;
Calculating the memory type access count for each memory type from the memory area access count measured by operating the performance evaluation model and the memory type information of the memory allocated to the storage area stored in advance. ,
Calculating a total access cost from the access cost information for each memory type stored in advance and the memory type access count, and generating an estimated performance of the semiconductor circuit based on the total;
With
The performance evaluation model is generated by adding the access count unit to the source code, or is generated by combining the source code with a library incorporating the access count unit, or the access count It is generated by combining the simulator incorporating the counting means and the source code,
In the estimated performance generation step, when there are a plurality of types of the access cost, the estimated performance is generated for each type .
半導体回路の性能を見積もるための半導体回路性能見積装置としてコンピュータを機能させるための半導体回路性能見積プログラムであって、
前記コンピュータを、
前記半導体の設計データであるソースコードに含まれる記憶領域それぞれへのアクセス回数を算出する性能評価モデルを生成する手段、
前記性能評価モデルを動作させて計測した記憶領域別アクセス回数と、あらかじめ記憶した、前記記憶領域に割り当てられるメモリのメモリ種別情報とから、前記メモリの種別ごとのメモリ種別アクセス回数を算出する手段、
あらかじめ記憶した前記メモリの種別ごとのアクセスコストの情報と、前記メモリ種別アクセス回数とからアクセスコストの総計を算出し、該総計をもとに前記半導体回路の見積性能を生成する見積性能生成手段、
として動作させ、
前記性能評価モデルは、前記ソースコードに前記アクセス回数のカウント手段を追加して生成され、あるいは、前記アクセス回数のカウント手段を組み込んだライブラリを前記ソースコードと組み合わせて生成され、あるいは、前記アクセス回数のカウント手段を組み込んだシミュレータと前記ソースコードを組み合わせて生成され、
前記見積性能生成手段は、前記アクセスコストが複数種類ある場合には該種類ごとに前記見積性能を生成することを特徴とする半導体回路性能見積プログラム。
A semiconductor circuit performance estimation program for causing a computer to function as a semiconductor circuit performance estimation device for estimating the performance of a semiconductor circuit,
The computer,
Means for generating a performance evaluation model for calculating the number of accesses to each storage area included in the source code which is the design data of the semiconductor ;
Means for calculating the memory type access count for each type of the memory from the memory area access count measured by operating the performance evaluation model and the memory type information stored in advance in the memory allocated to the storage area;
An estimated performance generating means for calculating the total access cost from the information of the access cost for each memory type stored in advance and the memory type access count, and generating the estimated performance of the semiconductor circuit based on the total;
Act as
The performance evaluation model is generated by adding the access count unit to the source code, or is generated by combining the source code with a library incorporating the access count unit, or the access count It is generated by combining the simulator incorporating the counting means and the source code,
The estimated performance generation means generates the estimated performance for each type when there are a plurality of types of access costs .
JP2011201857A 2011-09-15 2011-09-15 Semiconductor circuit performance estimation apparatus, method and program thereof Active JP5903814B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011201857A JP5903814B2 (en) 2011-09-15 2011-09-15 Semiconductor circuit performance estimation apparatus, method and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011201857A JP5903814B2 (en) 2011-09-15 2011-09-15 Semiconductor circuit performance estimation apparatus, method and program thereof

Publications (2)

Publication Number Publication Date
JP2013065069A JP2013065069A (en) 2013-04-11
JP5903814B2 true JP5903814B2 (en) 2016-04-13

Family

ID=48188546

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011201857A Active JP5903814B2 (en) 2011-09-15 2011-09-15 Semiconductor circuit performance estimation apparatus, method and program thereof

Country Status (1)

Country Link
JP (1) JP5903814B2 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3045286B2 (en) * 1997-12-19 2000-05-29 日本電気株式会社 Circuit design method and apparatus, information storage medium
JP2001344287A (en) * 2000-06-02 2001-12-14 Nec Microsystems Ltd Method for evaluating performance of bus in algorithm description
JP2003256495A (en) * 2002-02-27 2003-09-12 Nec Corp Power consumption calculation device and method
JP2007213556A (en) * 2006-01-11 2007-08-23 Matsushita Electric Ind Co Ltd Circuit analysis apparatus
JP2010277436A (en) * 2009-05-29 2010-12-09 Renesas Electronics Corp Memory structure determination support device, memory structure determination program and recording medium

Also Published As

Publication number Publication date
JP2013065069A (en) 2013-04-11

Similar Documents

Publication Publication Date Title
Da Silva et al. Performance Modeling for FPGAs: Extending the Roofline Model with High‐Level Synthesis Tools
CN101957773B (en) method and system for multiple purpose dynamic analysis
Liu et al. Compositional system-level design exploration with planning of high-level synthesis
US7844928B2 (en) Method and apparatus for evaluating integrated circuit design performance using enhanced basic block vectors that include data dependent information
Piscitelli et al. Design space pruning through hybrid analysis in system-level design space exploration
KR20130107344A (en) Tool generator
CN112597064B (en) Method for simulating program, electronic device and storage medium
CN103098059A (en) Automatic optimal integrated circuit generator from algorithms and specification
US20160239278A1 (en) Generating a schedule of instructions based on a processor memory tree
JP2008186252A (en) Behavioral synthesis device and method having test bench generation function, and program
CN103098058A (en) Automatic optimal integrated circuit generator from algorithms and specification
Manor et al. Using HW/SW codesign for deep neural network hardware accelerator targeting low-resources embedded processors
CN107301262B (en) Power consumption evaluation method of System On Chip (SOC) and system for implementing same
JP2009140388A (en) Method for generating performance evaluation model, method for evaluating system performance, and device for generating performance evaluation model
US7992112B2 (en) Hardware verification programming description generation apparatus, high-level synthesis apparatus, hardware verification programming description generation method, hardware verification program generation method, control program and computer-readable recording medium
Schürmans et al. Frequency-aware ESL power estimation for ARM cortex-A9 using a black box processor model
JP5903814B2 (en) Semiconductor circuit performance estimation apparatus, method and program thereof
JP6471615B2 (en) Performance information generation program, performance information generation method, and information processing apparatus
JP4870956B2 (en) Embedded program generation method, embedded program development system, and information table section
JP5454349B2 (en) Performance estimation device
JP2008234240A (en) Power consumption analyzing method and power consumption analyzing device
Sinha et al. Abstract state machines as an intermediate representation for high-level synthesis
Balasa et al. Storage estimation and design space exploration methodologies for the memory management of signal processing applications
JP5467512B2 (en) Behavioral synthesis apparatus, behavioral synthesis method, and behavioral synthesis program
JP2007018313A (en) Circuit design program, circuit design device and circuit design method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140814

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150709

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150714

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150907

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160229

R150 Certificate of patent or registration of utility model

Ref document number: 5903814

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150