JP2006259805A - Processor design equipment, processor design method, and processor design program - Google Patents
Processor design equipment, processor design method, and processor design program Download PDFInfo
- Publication number
- JP2006259805A JP2006259805A JP2005072438A JP2005072438A JP2006259805A JP 2006259805 A JP2006259805 A JP 2006259805A JP 2005072438 A JP2005072438 A JP 2005072438A JP 2005072438 A JP2005072438 A JP 2005072438A JP 2006259805 A JP2006259805 A JP 2006259805A
- Authority
- JP
- Japan
- Prior art keywords
- hardware resource
- processor model
- resource information
- base
- application program
- 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.)
- Withdrawn
Links
Images
Abstract
Description
本発明はプロセッサ設計装置、プロセッサ設計方法およびプロセッサ設計プログラムに関し、特に、特定のアプリケーションの実行に適したプロセッサ・モデルの生成方法に適用して好適なものである。 The present invention relates to a processor design apparatus, a processor design method, and a processor design program, and is particularly suitable when applied to a processor model generation method suitable for execution of a specific application.
従来のプロセッサの設計方法では、基本的な命令セットを備えた論理合成可能なプロセッサ・モデルをベースとして、特定のアプリケーションをより効率よく実行するプロセッサ・モデルを設計するために、設計者が新たな命令セットを定義し、定義した命令セットを含めてコンパイル可能なコンパイラを自動生成するとともに、定義した命令を実行するためのハードウェア資源をプロセッサ・モデルに自動的に追加するシステムがある(特許文献1)。
しかしながら、従来のプロセッサの設計方法では、設計者が新たな命令セットを定義する必要があるため、特定アプリケーションの処理内容を詳細に調査し、性能向上のために最も効果的な演算を見出す必要があり、設計作業に時間がかかるという問題があった。
また、新たに定義した命令セットを含めてコードを生成することが可能なコンパイラを用意したり、定義した命令セットを用いるために、プログラム・コードの中に特別な表記を加えたりする必要があり、設計作業に手間がかかるという問題があった。
However, in the conventional processor design method, the designer needs to define a new instruction set. Therefore, it is necessary to investigate the processing contents of a specific application in detail and find the most effective operation to improve performance. There is a problem that the design work takes time.
It is also necessary to prepare a compiler that can generate code including a newly defined instruction set, and to add special notation in the program code in order to use the defined instruction set. There is a problem that the design work takes time.
さらに、新たに定義した命令セットを論理合成可能なプロセッサ・モデルに追加する必要があるため、定義した命令セットが複雑な場合、論理合成したプロセッサ・モデルが想定していた動作周波数で動作せず、結果として目標性能を達成することができなくなるという問題があった。
そこで、本発明の目的は、特定のアプリケーションの実行に適したプロセッサ・モデルを効率よく生成することが可能なプロセッサ設計装置、プロセッサ設計方法およびプロセッサ設計プログラムを提供することである。
In addition, since the newly defined instruction set must be added to the logic model that can be synthesized, if the defined instruction set is complex, it will not operate at the operating frequency that the synthesized processor model was supposed to have. As a result, there is a problem that the target performance cannot be achieved.
Accordingly, an object of the present invention is to provide a processor design apparatus, a processor design method, and a processor design program capable of efficiently generating a processor model suitable for execution of a specific application.
上述した課題を解決するために、本発明の一態様に係るプロセッサ設計装置によれば、アプリケーション・プログラムを動作させるために必要なハードウェアリソース情報を抽出するハードウェアリソース情報抽出手段と、論理合成可能なベースとなるベースプロセッサ・モデルと、前記ハードウェアリソース情報抽出手段にて抽出されたハードウェアリソース情報に基づいて、前記ベースプロセッサ・モデルに設けられたハードウェアリソースを削除するハードウェアリソース削除手段と、前記ハードウェアリソース削除手段にてハードウェアリソースが削除されたベースプロセッサ・モデルに基づいて、論理合成可能なターゲットとなるターゲットプロセッサ・モデルを生成するターゲットプロセッサ・モデル生成手段とを備えることを特徴とする。 In order to solve the above-described problem, according to a processor design device according to one aspect of the present invention, hardware resource information extraction means for extracting hardware resource information necessary for operating an application program, and logic synthesis Hardware resource deletion for deleting a hardware resource provided in the base processor model based on a base processor model as a possible base and hardware resource information extracted by the hardware resource information extraction means And a target processor model generation unit that generates a target processor model that is a target that can be logically synthesized based on the base processor model from which the hardware resource has been deleted by the hardware resource deletion unit. The And butterflies.
これにより、ベースプロセッサ・モデルに予め備えられたハードウェアリソースを選択することで、特定のアプリケーションの実行に適したターゲットプロセッサ・モデルを生成することが可能となる。このため、特定のアプリケーションの実行に適したターゲットプロセッサ・モデルを生成するために、設計者が新たな命令セットを定義したり、新たに定義した命令セットを含めてコードを生成することが可能なコンパイラを用意したりする必要がなくなり、ターゲットプロセッサ・モデルの設計作業にかかる負担を軽減することが可能となる。 As a result, it is possible to generate a target processor model suitable for execution of a specific application by selecting hardware resources provided in advance in the base processor model. This allows designers to define a new instruction set or to generate code that includes a newly defined instruction set to generate a target processor model suitable for the execution of a specific application. It is not necessary to prepare a compiler, and the burden on the design work of the target processor model can be reduced.
また、本発明の一態様に係るプロセッサ設計装置によれば、論理合成可能なベースとなるベースプロセッサ・モデルと、前記ベースプロセッサ・モデルにて動作するプログラムを生成するコンパイル手段と、前記コンパイル手段を用いてコンパイルされた少なくとも1つ以上の特定されたアプリケーション・プログラムから前記ベースプロセッサ・モデル上での動作に不要なハードウェアリソース情報を抽出するハードウェアリソース情報抽出手段と、前記ハードウェアリソース情報に基づいて、前記ベースプロセッサ・モデルからの不要なハードウェアリソースの論理合成を抑止するターゲットプロセッサ・モデルを生成するターゲットプロセッサ・モデル生成手段とを備えることを特徴とする。 In addition, according to the processor design apparatus of one aspect of the present invention, a base processor model that is a base capable of logic synthesis, a compiling unit that generates a program that operates on the base processor model, and the compiling unit include: Hardware resource information extracting means for extracting hardware resource information unnecessary for operation on the base processor model from at least one or more specified application programs compiled by using the hardware resource information; And a target processor model generating means for generating a target processor model for suppressing logical synthesis of unnecessary hardware resources from the base processor model.
これにより、ベースプロセッサ・モデルから不要なハードウェアリソースが論理合成されることを抑止した上で、ベースプロセッサ・モデルに予め備えられたハードウェアリソースを用いることで、特定のアプリケーションの実行に適したターゲットプロセッサ・モデルを生成することが可能となる。このため、特定のアプリケーションの実行に適したターゲットプロセッサ・モデルを生成するために、設計者が新たな命令セットを定義したり、新たに定義した命令セットを含めてコードを生成することが可能なコンパイラを用意したりする必要がなくなり、ターゲットプロセッサ・モデルの設計作業にかかる負担を軽減することが可能となる。 As a result, it is suitable for execution of a specific application by using the hardware resources prepared in advance in the base processor model after suppressing unnecessary hardware resources from being logically synthesized from the base processor model. A target processor model can be generated. This allows designers to define a new instruction set or to generate code that includes a newly defined instruction set to generate a target processor model suitable for the execution of a specific application. It is not necessary to prepare a compiler, and the burden on the design work of the target processor model can be reduced.
また、本発明の一態様に係るプロセッサ設計装置によれば、前記ハードウェアリソース情報抽出手段は、前記ベースプロセッサ・モデルで動作する少なくとも1つ以上の特定のアプリケーション・プログラムのオブジェクト・コードから、前記ベースプロセッサ・モデル上での動作に不要なハードウェアリソース情報を抽出することを特徴とする。
これにより、オブジェクト・コードから取り出した命令コードを1つずつ調べることで、ハードウェアリソース情報を抽出することができ、ハードウェアリソース情報の抽出処理を効率よく行うことができる。
Further, according to the processor design device according to an aspect of the present invention, the hardware resource information extraction unit includes, from the object code of at least one specific application program operating in the base processor model, the It is characterized by extracting hardware resource information unnecessary for operation on the base processor model.
Thus, by examining the instruction codes extracted from the object code one by one, the hardware resource information can be extracted, and the hardware resource information extraction process can be performed efficiently.
また、本発明の一態様に係るプロセッサ設計装置によれば、前記ターゲットプロセッサ・モデル生成手段は、ハードウェアリソースが記述されたベースプロセッサ・モデルのRTLソース・コードを取得するRTLソース・コード取得手段と、前記ハードウェアリソースの名称が記述されたインクルード・ファイルを前記RTLソース・コードの先頭に挿入することにより、前記RTLソース・コードに記述されたハードウェアリソースを有効化するハードウェアリソース有効化手段とを備えることを特徴とする。 Further, according to the processor design apparatus according to one aspect of the present invention, the target processor model generation means acquires RTL source code acquisition means for acquiring RTL source code of a base processor model in which hardware resources are described. And enabling the hardware resource described in the RTL source code by inserting an include file in which the name of the hardware resource is described at the beginning of the RTL source code. Means.
これにより、ハードウェアリソースの名称が記述されたベースプロセッサ・モデルのインクルード・ファイルをRTLソース・コードの先頭に挿入することで、ベースプロセッサ・モデルからの不要なハードウェアリソースの論理合成を抑止するターゲットプロセッサ・モデルを生成することができる。このため、設計作業にかかる負担を軽減することを可能としつつ、特定のアプリケーションの実行に適したターゲットプロセッサ・モデルを生成することができる。 As a result, the base processor model include file in which the name of the hardware resource is described is inserted at the beginning of the RTL source code, thereby suppressing logical synthesis of unnecessary hardware resources from the base processor model. A target processor model can be generated. Therefore, it is possible to generate a target processor model suitable for executing a specific application while reducing the burden on the design work.
また、本発明の一態様に係るプロセッサ設計方法によれば、ベースプロセッサ・モデルで動作する少なくとも1つ以上の特定のアプリケーション・プログラムをコンパイルすることにより、前記アプリケーション・プログラムのオブジェクト・コードを生成するステップと、前記アプリケーション・プログラムのオブジェクト・コードから、前記ベースプロセッサ・モデル上での動作に不要なハードウェアリソース情報を抽出するステップと、前記抽出されたハードウェアリソース情報に基づいて、前記ベースプロセッサ・モデルからの不要なハードウェアリソースの論理合成を抑止するターゲットプロセッサ・モデルを生成するステップとを備えることを特徴とする。 Further, according to the processor design method according to an aspect of the present invention, the object code of the application program is generated by compiling at least one specific application program that operates in the base processor model. Extracting hardware resource information unnecessary for operation on the base processor model from the object code of the application program, and based on the extracted hardware resource information, the base processor Generating a target processor model that suppresses logical synthesis of unnecessary hardware resources from the model.
これにより、設計者が新たな命令セットを定義したり、新たに定義した命令セットを含めてコードを生成することが可能なコンパイラを用意したりすることなく、特定のアプリケーションの実行に適したターゲットプロセッサ・モデルを生成することが可能となり、ターゲットプロセッサ・モデルの設計作業にかかる負担を軽減することが可能となる。
また、本発明の一態様に係るプロセッサ設計方法によれば、前記ターゲットプロセッサ・モデルを生成するステップは、前記ハードウェアリソースが記述されたベースプロセッサ・モデルのRTLソース・コードを取得するステップと、前記ハードウェアリソースの名称が記述されたインクルード・ファイルを前記RTLソース・コードの先頭に挿入することにより、前記RTLソース・コードに記述されたハードウェアリソースを有効化するステップとを備えることを特徴とする。
This allows the designer to define a new instruction set, or a target suitable for running a specific application without having to prepare a compiler that can generate code including the newly defined instruction set. It becomes possible to generate a processor model, and it is possible to reduce the burden on the design work of the target processor model.
Further, according to the processor design method according to an aspect of the present invention, the step of generating the target processor model includes the step of acquiring an RTL source code of a base processor model in which the hardware resource is described; Enabling the hardware resource described in the RTL source code by inserting an include file in which the name of the hardware resource is described at the head of the RTL source code. And
これにより、ベースプロセッサ・モデルからの不要なハードウェアリソースの論理合成を抑止するターゲットプロセッサ・モデルを簡単な方法で生成することができ、設計作業にかかる負担を軽減することを可能としつつ、特定のアプリケーションの実行に適したターゲットプロセッサ・モデルを生成することができる。
また、本発明の一態様に係るプロセッサ設計プログラムによれば、ベースプロセッサ・モデルで動作する少なくとも1つ以上の特定のアプリケーション・プログラムをコンパイルすることにより、前記アプリケーション・プログラムのオブジェクト・コードを生成するステップと、前記アプリケーション・プログラムのオブジェクト・コードから、前記ベースプロセッサ・モデル上での動作に不要なハードウェアリソース情報を抽出するステップと、前記抽出されたハードウェアリソース情報に基づいて、前記ベースプロセッサ・モデルからの不要なハードウェアリソースの論理合成を抑止するターゲットプロセッサ・モデルを生成するステップとをコンピュータに実行させることを特徴とする。
This makes it possible to generate a target processor model that suppresses the logical synthesis of unnecessary hardware resources from the base processor model in a simple way, while reducing the burden on design work, while specifying A target processor model suitable for execution of the current application can be generated.
Further, according to the processor design program according to one aspect of the present invention, the object code of the application program is generated by compiling at least one specific application program that operates in the base processor model. Extracting hardware resource information unnecessary for operation on the base processor model from the object code of the application program, and based on the extracted hardware resource information, the base processor Generating a target processor model that suppresses the logical synthesis of unnecessary hardware resources from the model.
これにより、プロセッサ設計プログラムをコンピュータに実行させることで、設計作業にかかる負担を軽減しつつ、特定のアプリケーションの実行に適したターゲットプロセッサ・モデルを生成することが可能となる。
また、本発明の一態様に係るプロセッサ設計プログラムによれば、前記ターゲットプロセッサ・モデルを生成するステップは、前記ハードウェアリソースが記述されたベースプロセッサ・モデルのRTLソース・コードを取得するステップと、前記ハードウェアリソースの名称が記述されたインクルード・ファイルを前記RTLソース・コードの先頭に挿入することにより、前記RTLソース・コードに記述されたハードウェアリソースを有効化するステップとを備えることを特徴とする。
As a result, by causing the computer to execute the processor design program, it is possible to generate a target processor model suitable for executing a specific application while reducing the burden on the design work.
Further, according to the processor design program according to one aspect of the present invention, the step of generating the target processor model includes the step of acquiring the RTL source code of the base processor model in which the hardware resource is described; Enabling the hardware resource described in the RTL source code by inserting an include file in which the name of the hardware resource is described at the head of the RTL source code. And
これにより、プロセッサ設計プログラムをコンピュータに実行させることで、ベースプロセッサ・モデルからの不要なハードウェアリソースの論理合成を抑止するターゲットプロセッサ・モデルを簡単な方法で生成することができる。 Thus, by causing the computer to execute the processor design program, it is possible to generate a target processor model that suppresses logical synthesis of unnecessary hardware resources from the base processor model by a simple method.
以下、本発明の実施形態に係るプロセッサ設計装置およびその方法について図面を参照しながら説明する。
図1は、本発明の一実施形態に係るプロセッサ設計装置の機能的な構成を示すブロック図である。
図1において、プロセッサ設計装置には、コンパイル手段2、ハードウェアリソース情報抽出手段4および不要ハードウェアリソース削除手段7が設けられるとともに、論理合成可能ベースプロセッサ・モデル6が予め用意されている。ここで、論理合成可能ベースプロセッサ・モデル6には、命令セットやレジスタ・ファイルなどの汎用的なハードウェアリソースを予め定めておくことができ、例えば、汎用的に処理を行うことが可能なフルセット命令を備えることができる。また、コンパイル手段2は、論理合成可能ベースプロセッサ・モデル6上で動作するプログラムを生成することができる。ハードウェアリソース情報抽出手段4は、アプリケーション・プログラム1を動作させるために必要なハードウェアリソース情報5を抽出することができる。なお、ハードウェアリソース情報5としては、例えば、命令セット、レジスタ・ファイル、レジスタ・ファイルへの入出力ポートなどを挙げることができる。不要ハードウェアリソース削除手段7は、ハードウェアリソース情報抽出手段4にて抽出されたハードウェアリソース情報5に基づいて、論理合成可能ベースプロセッサ・モデル6に設けられたハードウェアリソースを削除することにより、プリケーション・プログラム1の実行に適した論理合成可能ターゲットプロセッサ・モデル8を生成することができる。
Hereinafter, a processor design apparatus and method according to an embodiment of the present invention will be described with reference to the drawings.
FIG. 1 is a block diagram showing a functional configuration of a processor design apparatus according to an embodiment of the present invention.
In FIG. 1, the processor design apparatus is provided with a compiling
すなわち、アプリケーション・プログラム(ソース・コード)1がコンパイル手段2に入力されると、アプリケーション・プログラム1がコンパイルされ、論理合成可能ベースプロセッサ・モデル6上で動作するオブジェクトコード3が生成される。そして、アプリケーション・プログラム1のオブジェクトコード3はハードウェアリソース情報抽出手段4に入力され、アプリケーション・プログラム1を動作させるために必要なハードウェアリソース情報5を抽出する。そして、ハードウェアリソース情報抽出手段4にて抽出されたハードウェアリソース情報5は、不要ハードウェアリソース削除手段7に入力される。そして、不要ハードウェアリソース削除手段7は、ハードウェアリソース情報5に基づいて、論理合成可能ベースプロセッサ・モデル6に設けられたハードウェアリソースを削除することにより、プリケーション・プログラム1の実行に適した論理合成可能ターゲットプロセッサ・モデル8を生成する。
That is, when the application program (source code) 1 is input to the compiling means 2, the
これにより、論理合成可能ベースプロセッサ・モデル6に予め備えられたハードウェアリソースを選択することで、特定のアプリケーション・プログラム1の実行に適した論理合成可能ターゲットプロセッサ・モデル8を生成することが可能となる。このため、特定のアプリケーション・プログラム1の実行に適した論理合成可能ターゲットプロセッサ・モデル8を生成するために、設計者が新たな命令セットを定義したり、新たに定義した命令セットを含めてコードを生成することが可能なコンパイラを用意したりする必要がなくなり、論理合成可能ターゲットプロセッサ・モデル8の設計作業にかかる負担を軽減することが可能となる。
Thus, by selecting a hardware resource provided in advance in the logically synthesizable
図2は、一実施形態に係るプロセッサ設計装置の概略構成を示すブロック図である。
図2において、プロセッサ設計装置には、コンパイル手段12、ハードウェアリソース情報抽出手段14、不要ハードウェアリソース削除手段17および論理合成手段18が設けられるとともに、不要ハードウェアリソース削除手段17には論理合成可能ベースプロセッサ・モデル16が予め用意されている。ここで、コンパイル手段12は、論理合成可能ベースプロセッサ・モデル16上で動作するプログラムを生成することができる。ハードウェアリソース情報抽出手段14は、アプリケーション・プログラム11を動作させるために必要なハードウェアリソース情報15を抽出することができる。不要ハードウェアリソース削除手段17は、ハードウェアリソース情報抽出手段14にて抽出されたハードウェアリソース情報15に基づいて、論理合成可能ベースプロセッサ・モデル16に設けられたハードウェアリソースを削除することができる。論理合成手段18は、アプリケーション・プログラム11の実行に不要なハードウェアリソースが削除された論理合成可能ベースプロセッサ・モデル16に基づいて、アプリケーション・プログラム11の実行に適したターゲットプロセッサ・ネットリスト19を生成することができる。
FIG. 2 is a block diagram illustrating a schematic configuration of a processor design apparatus according to an embodiment.
In FIG. 2, the processor design apparatus is provided with
すなわち、アプリケーション・プログラム11がコンパイル手段12に入力されると、アプリケーション・プログラム11がコンパイルされ、論理合成可能ベースプロセッサ・モデル16上で動作するオブジェクトコード13が生成される。そして、アプリケーション・プログラム11のオブジェクトコード13はハードウェアリソース情報抽出手段14に入力され、アプリケーション・プログラム11を動作させるために必要なハードウェアリソース情報15を抽出する。そして、ハードウェアリソース情報抽出手段14にて抽出されたハードウェアリソース情報15は、不要ハードウェアリソース削除手段17に入力される。そして、不要ハードウェアリソース削除手段17は、ハードウェアリソース情報15に基づいて、論理合成可能ベースプロセッサ・モデル16に設けられたハードウェアリソースを削除し、アプリケーション・プログラム11の実行に不要なハードウェアリソースが削除された論理合成可能ベースプロセッサ・モデル16を論理合成手段18に出力する。そして、論理合成手段18は、アプリケーション・プログラム11の実行に不要なハードウェアリソースが削除された論理合成可能ベースプロセッサ・モデル16に基づいて、アプリケーション・プログラム11の実行に適したターゲットプロセッサ・ネットリスト19を生成する。
That is, when the
なお、ハードウェアリソース情報抽出手段14は、オブジェクトコード13から命令コードを1つずつ取り出して調べることにより、ハードウェアリソース情報15を抽出することができる。
図3は、本発明の一実施形態に係る命令コードの形式の例を示す図である。
図3において、例えば、32ビット固定長命令を持った命令コードの形式として、レジスタ間の演算を定義するR形式、即値を持ったI形式やJ形式などがある。ここで、
op:オペコード(命令操作コード)
rs:第1ソース・オペランド・レジスタ(演算対象の格納先)
rt:第2ソース・オペランド・レジスタ(演算対象の格納先)
rd:デスティネーション・オペランド・レジスタ(演算結果の格納先)
shamt:シフト量
funct:機能拡張用コード
を表している。
Note that the hardware resource
FIG. 3 is a diagram showing an example of an instruction code format according to an embodiment of the present invention.
In FIG. 3, for example, the format of an instruction code having a 32-bit fixed length instruction includes an R format for defining an operation between registers, an I format having an immediate value, and a J format. here,
op: Op code (instruction operation code)
rs: first source operand register (operation target storage destination)
rt: second source operand register (operation target storage destination)
rd: Destination operand register (operation result storage destination)
shamt: Shift amount funct: Function extension code.
そして、オペコードopまたは機能拡張用コードfunctを確認することにより、オブジェクトコード13で使われている命令の種類を抽出することができる。
図4は、本発明の一実施形態に係るハードウェアリソース情報の生成方法を示すフローチャートである。
図4において、オブジェクトコード13に命令コードがあるかどうかを示すフラグを0に初期化した後(ステップS1〜S4)、オブジェクトコード13から命令コードを順次読み込み、その命令コードに対応したフラグを1に設定する(ステップS5〜S7)。そして、命令コードに対応したフラグが1に設定されている場合、その命令コードをハードウェアリソース情報15として出力する(ステップS8〜S12)。
The type of instruction used in the
FIG. 4 is a flowchart illustrating a method for generating hardware resource information according to an embodiment of the present invention.
In FIG. 4, after a flag indicating whether or not the
そして、ハードウェアリソース情報15に基づいて、論理合成可能ベースプロセッサ・モデル16に設けられたハードウェアリソースを削除するには、例えば、コンパイル識別子を用いることができる。
例えば、ハードウェアリソース情報15としてADD命令が抽出された場合、’define ADDという記述をテキスト・ファイルに出力することができる。すなわち、ハードウェアリソース情報15として、例えば、以下のような記述をテキスト・ファイルに出力することができる。
’define ADD
’define SUB
’define LW
・
・
・
そして、ハードウェアリソース情報15として’define定義されたテキスト・ファイルが出力されると、コンパイル識別子を使って論理合成可能ベースプロセッサ・モデル16のうち’define定義された命令のみを有効化することにより、アプリケーション・プログラム11の実行に不要なハードウェアリソースが削除された論理合成可能ベースプロセッサ・モデル16を構築することができる。
In order to delete the hardware resource provided in the logically synthesizable base processor model 16 based on the
For example, when an ADD instruction is extracted as the
'define ADD
'define SUB
'define LW
・
・
・
When a text file defined as “define” is output as the
図5は、本発明の一実施形態に係る論理合成可能ベースプロセッサ・モデルのRTLソース・コード上でハードウェアリソースを有効化する方法を示す図である。
図5において、論理合成可能ベースプロセッサ・モデル16として、’ifdef XXXと’endifとの間にハードウェアリソース(例えば、その名称をXXXとする)が記述されたRTLソース・コードKを用意する。そして、XXXというハードウェアリソースを有効化するには、RTLソース・コードKの先頭に挿入されるインクルード・ファイルに’define XXXと記述する。一方、XXXというハードウェアリソースを無効化するには、RTLソース・コードKの先頭に挿入されるインクルード・ファイルには何も記述しないようにする。
FIG. 5 is a diagram illustrating a method for enabling hardware resources on RTL source code of a logic synthesizable base processor model according to an embodiment of the present invention.
In FIG. 5, RTL source code K in which a hardware resource (for example, the name is XXX) is described between 'ifdef XXX and' endif is prepared as a logically synthesizable base processor model 16. In order to validate the hardware resource XXX, 'define XXX' is described in the include file inserted at the head of the RTL source code K. On the other hand, in order to invalidate the hardware resource XXX, nothing is described in the include file inserted at the head of the RTL source code K.
こうすることで、インクルード・ファイルに’define XXXと記述されていれば、’ifdef XXXと’endifとの間に記述されたXXXというハードウェアリソースが有効になり、XXXというハードウェアリソースを論理合成手段18にて回路合成させることができる。一方、インクルード・ファイルに’define XXXと記述されていなければ、’ifdef XXXと’endifとの間に記述されたXXXというハードウェアリソースはRTLソース・コードKに記述されていないとみなさせることが可能となり、XXXというハードウェアリソースを論理合成手段18にて回路合成させないようにすることができる。
By doing so, if 'define XXX' is described in the include file, the hardware resource XXX described between 'ifdef XXX and' endif becomes valid, and the hardware resource XXX is logically synthesized. The circuit can be synthesized by
例えば、RTLソース・コードKにおいて、’ifdef ADDと’endifとの間にADD命令の動作が記述され、’ifdef SUBと’endifとの間にSUB命令の動作が記述されているものとする。そして、RTLソース・コードKの先頭に挿入されるインクルード・ファイルに’define ADDと記述することにより、RTLソース・コードKに記述されたADD命令を有効化することができる。また、RTLソース・コードKの先頭に挿入されるインクルード・ファイルに’define SUBと記述することにより、RTLソース・コードKに記述されたSUB命令を有効化することができる。 For example, in the RTL source code K, it is assumed that the operation of the ADD instruction is described between 'ifdef ADD and' endif, and the operation of the SUB instruction is described between 'ifdef SUB and' endif. The ADD instruction described in the RTL source code K can be validated by describing 'define ADD' in the include file inserted at the beginning of the RTL source code K. Further, the SUB instruction described in the RTL source code K can be validated by describing 'define SUB' in the include file inserted at the head of the RTL source code K.
1、11 アプリケーションプログラム、2、12 コンパイル手段、3、13 オブジェクトコード、4、14 ハードウェアリソース情報抽出手段、5、15 ハードウェアリソース情報、6、16 論理合成可能ベースプロセッサ・モデル、7、17 不要ハードウェアリソース削除手段、8 論理合成可能ターゲットプロセッサ・モデル、18 論理合成手段、19 ターゲットプロセッサネット・リスト、K RTLソース・コード 1, 11 application program, 2, 12 compiling means, 3, 13 object code, 4, 14 hardware resource information extracting means, 5, 15 hardware resource information, 6, 16 logically synthesizable base processor model, 7, 17 Unnecessary hardware resource deletion means, 8 logic synthesis possible target processor model, 18 logic synthesis means, 19 target processor net list, K RTL source code
Claims (8)
論理合成可能なベースとなるベースプロセッサ・モデルと、
前記ハードウェアリソース情報抽出手段にて抽出されたハードウェアリソース情報に基づいて、前記ベースプロセッサ・モデルに設けられたハードウェアリソースを削除するハードウェアリソース削除手段と、
前記ハードウェアリソース削除手段にてハードウェアリソースが削除されたベースプロセッサ・モデルに基づいて、論理合成可能なターゲットとなるターゲットプロセッサ・モデルを生成するターゲットプロセッサ・モデル生成手段とを備えることを特徴とするプロセッサ設計装置。 Hardware resource information extraction means for extracting hardware resource information necessary for operating an application program;
A base processor model that is a base that can be synthesized, and
Hardware resource deletion means for deleting hardware resources provided in the base processor model based on the hardware resource information extracted by the hardware resource information extraction means;
And a target processor model generation unit that generates a target processor model that is a target that can be logically synthesized based on the base processor model from which the hardware resource has been deleted by the hardware resource deletion unit. Processor design equipment.
前記ベースプロセッサ・モデルにて動作するプログラムを生成するコンパイル手段と、
前記コンパイル手段を用いてコンパイルされた少なくとも1つ以上の特定されたアプリケーション・プログラムから前記ベースプロセッサ・モデル上での動作に不要なハードウェアリソース情報を抽出するハードウェアリソース情報抽出手段と、
前記ハードウェアリソース情報に基づいて、前記ベースプロセッサ・モデルからの不要なハードウェアリソースの論理合成を抑止するターゲットプロセッサ・モデルを生成するターゲットプロセッサ・モデル生成手段とを備えることを特徴とするプロセッサ設計装置。 A base processor model that is a base that can be synthesized, and
Compiling means for generating a program that operates on the base processor model;
Hardware resource information extracting means for extracting hardware resource information unnecessary for operation on the base processor model from at least one or more specified application programs compiled using the compiling means;
A processor design comprising: target processor model generation means for generating a target processor model for suppressing logical synthesis of unnecessary hardware resources from the base processor model based on the hardware resource information apparatus.
ハードウェアリソースが記述されたベースプロセッサ・モデルのRTLソース・コードを取得するRTLソース・コード取得手段と、
前記ハードウェアリソースの名称が記述されたインクルード・ファイルを前記RTLソース・コードの先頭に挿入することにより、前記RTLソース・コードに記述されたハードウェアリソースを有効化するハードウェアリソース有効化手段とを備えることを特徴とする請求項1から3のいずれか1項記載のプロセッサ設計装置 The target processor model generation means includes:
RTL source code acquisition means for acquiring RTL source code of a base processor model in which hardware resources are described;
Hardware resource enabling means for enabling the hardware resource described in the RTL source code by inserting an include file in which the name of the hardware resource is described at the head of the RTL source code; 4. The processor design device according to claim 1, further comprising:
前記アプリケーション・プログラムのオブジェクト・コードから、前記ベースプロセッサ・モデル上での動作に不要なハードウェアリソース情報を抽出するステップと、
前記抽出されたハードウェアリソース情報に基づいて、前記ベースプロセッサ・モデルからの不要なハードウェアリソースの論理合成を抑止するターゲットプロセッサ・モデルを生成するステップとを備えることを特徴とするプロセッサ設計方法。 Generating object code for said application program by compiling at least one particular application program running on a base processor model;
Extracting hardware resource information unnecessary for operation on the base processor model from the object code of the application program;
Generating a target processor model that suppresses logical synthesis of unnecessary hardware resources from the base processor model based on the extracted hardware resource information.
前記ハードウェアリソースが記述されたベースプロセッサ・モデルのRTLソース・コードを取得するステップと、
前記ハードウェアリソースの名称が記述されたインクルード・ファイルを前記RTLソース・コードの先頭に挿入することにより、前記RTLソース・コードに記述されたハードウェアリソースを有効化するステップとを備えることを特徴とする請求項5記載のプロセッサ設計方法。 Generating the target processor model comprises:
Obtaining RTL source code of a base processor model in which the hardware resource is described;
Enabling the hardware resource described in the RTL source code by inserting an include file in which the name of the hardware resource is described at the head of the RTL source code. The processor design method according to claim 5.
前記アプリケーション・プログラムのオブジェクト・コードから、前記ベースプロセッサ・モデル上での動作に不要なハードウェアリソース情報を抽出するステップと、
前記抽出されたハードウェアリソース情報に基づいて、前記ベースプロセッサ・モデルからの不要なハードウェアリソースの論理合成を抑止するターゲットプロセッサ・モデルを生成するステップとをコンピュータに実行させることを特徴とするプロセッサ設計プログラム。 Generating object code for said application program by compiling at least one particular application program running on a base processor model;
Extracting hardware resource information unnecessary for operation on the base processor model from the object code of the application program;
Generating a target processor model that suppresses logical synthesis of unnecessary hardware resources from the base processor model based on the extracted hardware resource information. Design program.
前記ハードウェアリソースが記述されたベースプロセッサ・モデルのRTLソース・コードを取得するステップと、
前記ハードウェアリソースの名称が記述されたインクルード・ファイルを前記RTLソース・コードの先頭に挿入することにより、前記RTLソース・コードに記述されたハードウェアリソースを有効化するステップとを備えることを特徴とする請求項7記載のプロセッサ設計プログラム。
Generating the target processor model comprises:
Obtaining RTL source code of a base processor model in which the hardware resource is described;
Enabling the hardware resource described in the RTL source code by inserting an include file in which the name of the hardware resource is described at the head of the RTL source code. A processor design program according to claim 7.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005072438A JP2006259805A (en) | 2005-03-15 | 2005-03-15 | Processor design equipment, processor design method, and processor design program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005072438A JP2006259805A (en) | 2005-03-15 | 2005-03-15 | Processor design equipment, processor design method, and processor design program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006259805A true JP2006259805A (en) | 2006-09-28 |
Family
ID=37099041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005072438A Withdrawn JP2006259805A (en) | 2005-03-15 | 2005-03-15 | Processor design equipment, processor design method, and processor design program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006259805A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011503695A (en) * | 2007-11-01 | 2011-01-27 | シリコン ヒフェ ベー.フェー. | Method and apparatus for designing a processor |
JP2012003339A (en) * | 2010-06-14 | 2012-01-05 | Toshiba Corp | Processor, processor generation device and processor generating system |
JP2020027591A (en) * | 2018-08-17 | 2020-02-20 | 株式会社エルアミーナ | High-level synthesis multiprocessor system and the like |
-
2005
- 2005-03-15 JP JP2005072438A patent/JP2006259805A/en not_active Withdrawn
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011503695A (en) * | 2007-11-01 | 2011-01-27 | シリコン ヒフェ ベー.フェー. | Method and apparatus for designing a processor |
US8433553B2 (en) | 2007-11-01 | 2013-04-30 | Intel Benelux B.V. | Method and apparatus for designing a processor |
KR101528415B1 (en) * | 2007-11-01 | 2015-06-11 | 실리콘 하이브 비.브이. | Application profile based asip design |
JP2012003339A (en) * | 2010-06-14 | 2012-01-05 | Toshiba Corp | Processor, processor generation device and processor generating system |
JP2020027591A (en) * | 2018-08-17 | 2020-02-20 | 株式会社エルアミーナ | High-level synthesis multiprocessor system and the like |
WO2020035957A1 (en) * | 2018-08-17 | 2020-02-20 | 英樹 田沼 | High-level synthesis multiprocessor system and the like |
US11366662B2 (en) | 2018-08-17 | 2022-06-21 | El Amina Inc. | High-level synthesis multiprocessor system and the like |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6954747B1 (en) | Methods for comparing versions of a program | |
CN111124379B (en) | Page generation method and device, electronic equipment and storage medium | |
JP2003050715A (en) | Compiler and debugging device | |
JP2007058731A (en) | Processor and debugging apparatus corresponding to parallel instruction execution | |
JP3130828B2 (en) | Assembly processing method | |
JP2006259805A (en) | Processor design equipment, processor design method, and processor design program | |
JP2008276735A (en) | Program code converter and program code conversion method | |
JP2010020703A (en) | Document management system, document management method, and program | |
CN102411534B (en) | Breakpoint debugging method and debugger | |
JP7260150B2 (en) | WEBSITE DESIGN SUPPORT DEVICE, WEBSITE DESIGN SUPPORT METHOD, AND PROGRAM | |
JP2009053767A (en) | Program analysis device and program analysis method | |
JP2018005315A (en) | Regulation conversion support apparatus and regulation conversion support program | |
US20140033168A1 (en) | Method and system for providing modeled components | |
CN106598839A (en) | Program static analysis method oriented to object code | |
Leupers et al. | Retargetable compilers and architecture exploration for embedded processors | |
JP6674048B2 (en) | Judgment device, judgment method and judgment program | |
JP3887550B2 (en) | Cross-reference construction device, cross-reference construction method, and cross-reference construction program | |
JP6437396B2 (en) | Trace information management system, method, and program | |
JP2008071065A (en) | Compile device, method, program and storage medium for performing in-line expansion | |
JP2022125690A (en) | Information processing device, information processing program, and program development support method | |
JPH11154093A (en) | Program compiler and storage medium recording compiler program | |
JP2006236088A (en) | Trace data collection device, trace data collection support device, trace data collection method, trace data collection program and trace data collection support program | |
JP2006171913A (en) | Information processor, information processing method, program and storage medium | |
JP2007323606A (en) | Operation synthesis device | |
JP5071189B2 (en) | Processor synthesis device, compilation device, development system, processor synthesis method and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20070404 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080110 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100127 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100202 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20100401 |