JP2006259805A - Processor design equipment, processor design method, and processor design program - Google Patents

Processor design equipment, processor design method, and processor design program Download PDF

Info

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
Application number
JP2005072438A
Other languages
Japanese (ja)
Inventor
Masaichi Isomura
政一 礒村
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2005072438A priority Critical patent/JP2006259805A/en
Publication of JP2006259805A publication Critical patent/JP2006259805A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To efficiently generate a processor model suiting execution of a particular application. <P>SOLUTION: When an application program 1 is inputted into a compile means 2, and object code 3 operating on a logic synthesis possible base processor model 6 is generated, hardware resource information 5 necessary for operating the application program 1 is extracted by a hardware resource information extracting means 4, and by removing hardware resources unnecessary for execution of the application program 1 from the logic synthesis possible base processor model 6 by an unnecessary hardware resource removing means 7 on the basis of the hardware resource information 5, a logic synthesis possible target processor model 8 suiting execution of the application program 1 is generated. <P>COPYRIGHT: (C)2006,JPO&NCIPI

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)。
特表2003−518280号公報
Traditional processor design methods are based on a logic-synthesizable processor model with a basic instruction set, and designers are required to design a processor model that performs a specific application more efficiently. There is a system that defines an instruction set, automatically generates a compilable compiler including the defined instruction set, and automatically adds hardware resources for executing the defined instruction to the processor model (Patent Document) 1).
Special table 2003-518280 gazette

しかしながら、従来のプロセッサの設計方法では、設計者が新たな命令セットを定義する必要があるため、特定アプリケーションの処理内容を詳細に調査し、性能向上のために最も効果的な演算を見出す必要があり、設計作業に時間がかかるという問題があった。
また、新たに定義した命令セットを含めてコードを生成することが可能なコンパイラを用意したり、定義した命令セットを用いるために、プログラム・コードの中に特別な表記を加えたりする必要があり、設計作業に手間がかかるという問題があった。
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 unit 2, a hardware resource information extracting unit 4 and an unnecessary hardware resource deleting unit 7, and a logic synthesizable base processor model 6 is prepared in advance. Here, in the logically synthesizable base processor model 6, general-purpose hardware resources such as an instruction set and a register file can be determined in advance. A set instruction can be provided. The compiling means 2 can generate a program that operates on the logically synthesizable base processor model 6. The hardware resource information extracting unit 4 can extract hardware resource information 5 necessary for operating the application program 1. Examples of the hardware resource information 5 include an instruction set, a register file, an input / output port to the register file, and the like. The unnecessary hardware resource deletion means 7 deletes the hardware resources provided in the logically synthesizable base processor model 6 based on the hardware resource information 5 extracted by the hardware resource information extraction means 4. The logic synthesis target processor model 8 suitable for executing the application program 1 can be generated.

すなわち、アプリケーション・プログラム(ソース・コード)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 application program 1 is compiled, and object code 3 that operates on the logically synthesizable base processor model 6 is generated. Then, the object code 3 of the application program 1 is input to the hardware resource information extracting means 4 and the hardware resource information 5 necessary for operating the application program 1 is extracted. The hardware resource information 5 extracted by the hardware resource information extracting unit 4 is input to the unnecessary hardware resource deleting unit 7. The unnecessary hardware resource deleting means 7 is suitable for executing the application program 1 by deleting the hardware resources provided in the logically synthesizable base processor model 6 based on the hardware resource information 5. The logically synthesizable target processor model 8 is generated.

これにより、論理合成可能ベースプロセッサ・モデル6に予め備えられたハードウェアリソースを選択することで、特定のアプリケーション・プログラム1の実行に適した論理合成可能ターゲットプロセッサ・モデル8を生成することが可能となる。このため、特定のアプリケーション・プログラム1の実行に適した論理合成可能ターゲットプロセッサ・モデル8を生成するために、設計者が新たな命令セットを定義したり、新たに定義した命令セットを含めてコードを生成することが可能なコンパイラを用意したりする必要がなくなり、論理合成可能ターゲットプロセッサ・モデル8の設計作業にかかる負担を軽減することが可能となる。   Thus, by selecting a hardware resource provided in advance in the logically synthesizable base processor model 6, it is possible to generate a logically synthesizable target processor model 8 suitable for execution of the specific application program 1. It becomes. For this reason, in order to generate a logically synthesizable target processor model 8 suitable for execution of a specific application program 1, a designer defines a new instruction set or code including a newly defined instruction set. It is no longer necessary to prepare a compiler capable of generating the data, and it is possible to reduce the burden on the design work of the target processor model 8 capable of logic synthesis.

図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 compiling means 12, hardware resource information extracting means 14, unnecessary hardware resource deleting means 17 and logic synthesizing means 18, and unnecessary hardware resource deleting means 17 is provided with logic synthesis. A possible base processor model 16 is provided in advance. Here, the compiling means 12 can generate a program that operates on the logically synthesizable base processor model 16. The hardware resource information extracting unit 14 can extract hardware resource information 15 necessary for operating the application program 11. The unnecessary hardware resource deleting unit 17 may delete the hardware resource provided in the logically synthesizable base processor model 16 based on the hardware resource information 15 extracted by the hardware resource information extracting unit 14. it can. The logic synthesis means 18 generates a target processor netlist 19 suitable for execution of the application program 11 based on the logic synthesis capable base processor model 16 from which hardware resources unnecessary for execution of the application program 11 are deleted. Can be generated.

すなわち、アプリケーション・プログラム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 application program 11 is input to the compiling unit 12, the application program 11 is compiled, and object code 13 that operates on the logically synthesizable base processor model 16 is generated. Then, the object code 13 of the application program 11 is input to the hardware resource information extracting unit 14 and the hardware resource information 15 necessary for operating the application program 11 is extracted. The hardware resource information 15 extracted by the hardware resource information extraction unit 14 is input to the unnecessary hardware resource deletion unit 17. Then, the unnecessary hardware resource deleting means 17 deletes the hardware resources provided in the logically synthesizable base processor model 16 based on the hardware resource information 15, and the hardware unnecessary for executing the application program 11. The logically synthesizable base processor model 16 from which the resource has been deleted is output to the logical synthesis unit 18. The logic synthesis unit 18 then selects a target processor netlist suitable for executing the application program 11 based on the logic synthesizable base processor model 16 from which hardware resources unnecessary for executing the application program 11 are deleted. 19 is generated.

なお、ハードウェアリソース情報抽出手段14は、オブジェクトコード13から命令コードを1つずつ取り出して調べることにより、ハードウェアリソース情報15を抽出することができる。
図3は、本発明の一実施形態に係る命令コードの形式の例を示す図である。
図3において、例えば、32ビット固定長命令を持った命令コードの形式として、レジスタ間の演算を定義するR形式、即値を持ったI形式やJ形式などがある。ここで、
op:オペコード(命令操作コード)
rs:第1ソース・オペランド・レジスタ(演算対象の格納先)
rt:第2ソース・オペランド・レジスタ(演算対象の格納先)
rd:デスティネーション・オペランド・レジスタ(演算結果の格納先)
shamt:シフト量
funct:機能拡張用コード
を表している。
Note that the hardware resource information extracting unit 14 can extract the hardware resource information 15 by taking out the instruction codes one by one from the object code 13 and examining them.
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 object code 13 can be extracted by confirming the operation code op or the function extension code func.
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 object code 13 has an instruction code is initialized to 0 (steps S1 to S4), the instruction code is sequentially read from the object code 13, and the flag corresponding to the instruction code is set to 1. (Steps S5 to S7). If the flag corresponding to the instruction code is set to 1, the instruction code is output as hardware resource information 15 (steps S8 to S12).

そして、ハードウェアリソース情報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 hardware resource information 15, for example, a compile identifier can be used.
For example, when an ADD instruction is extracted as the hardware resource information 15, a description “define ADD” can be output to a text file. That is, as the hardware resource information 15, for example, the following description can be output to a text file.
'define ADD
'define SUB
'define LW



When a text file defined as “define” is output as the hardware resource information 15, only the instruction defined as “define” in the logically synthesizable base processor model 16 is enabled by using the compile identifier. The logically synthesizable base processor model 16 from which hardware resources unnecessary for executing the application program 11 are deleted can be constructed.

図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 means 18. On the other hand, if 'define XXX' is not described in the include file, the hardware resource XXX described between 'ifdef XXX and' endif may be regarded as not described in the RTL source code K. Therefore, it is possible to prevent the hardware composition of XXX from being synthesized by the logic synthesis means 18.

例えば、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.

一実施形態に係るプロセッサ設計装置の機能的な構成を示すブロック図。The block diagram which shows the functional structure of the processor design apparatus which concerns on one Embodiment. 一実施形態に係るプロセッサ設計装置の概略構成を示すブロック図。1 is a block diagram showing a schematic configuration of a processor design apparatus according to an embodiment. 一実施形態に係る命令コードの形式の例を示す図。The figure which shows the example of the format of the instruction code which concerns on one Embodiment. ハードウェアリソース情報の生成方法を示すフローチャート。The flowchart which shows the production | generation method of hardware resource information. 論理合成可能ベースプロセッサ・モデルのRTLソース・コード上でハードウェアリソースを有効化する方法を示す図。The figure which shows the method of enabling a hardware resource on the RTL source code of a logic synthesis possible base processor model.

符号の説明Explanation of symbols

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.
前記ハードウェアリソース情報抽出手段は、前記ベースプロセッサ・モデルで動作する少なくとも1つ以上の特定のアプリケーション・プログラムのオブジェクト・コードから、前記ベースプロセッサ・モデル上での動作に不要なハードウェアリソース情報を抽出することを特徴とする請求項1または2記載のプロセッサ設計装置   The hardware resource information extracting means extracts hardware resource information unnecessary for operation on the base processor model from the object code of at least one specific application program operating on the base processor model. 3. The processor design device according to claim 1, wherein the processor design device is extracted. 前記ターゲットプロセッサ・モデル生成手段は、
ハードウェアリソースが記述されたベースプロセッサ・モデルの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:
ベースプロセッサ・モデルで動作する少なくとも1つ以上の特定のアプリケーション・プログラムをコンパイルすることにより、前記アプリケーション・プログラムのオブジェクト・コードを生成するステップと、
前記アプリケーション・プログラムのオブジェクト・コードから、前記ベースプロセッサ・モデル上での動作に不要なハードウェアリソース情報を抽出するステップと、
前記抽出されたハードウェアリソース情報に基づいて、前記ベースプロセッサ・モデルからの不要なハードウェアリソースの論理合成を抑止するターゲットプロセッサ・モデルを生成するステップとを備えることを特徴とするプロセッサ設計方法。
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.
ベースプロセッサ・モデルで動作する少なくとも1つ以上の特定のアプリケーション・プログラムをコンパイルすることにより、前記アプリケーション・プログラムのオブジェクト・コードを生成するステップと、
前記アプリケーション・プログラムのオブジェクト・コードから、前記ベースプロセッサ・モデル上での動作に不要なハードウェアリソース情報を抽出するステップと、
前記抽出されたハードウェアリソース情報に基づいて、前記ベースプロセッサ・モデルからの不要なハードウェアリソースの論理合成を抑止するターゲットプロセッサ・モデルを生成するステップとをコンピュータに実行させることを特徴とするプロセッサ設計プログラム。
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.

JP2005072438A 2005-03-15 2005-03-15 Processor design equipment, processor design method, and processor design program Withdrawn JP2006259805A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (7)

* Cited by examiner, † Cited by third party
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