JP2016151830A - Design support device, design support method and design support program - Google Patents

Design support device, design support method and design support program Download PDF

Info

Publication number
JP2016151830A
JP2016151830A JP2015028018A JP2015028018A JP2016151830A JP 2016151830 A JP2016151830 A JP 2016151830A JP 2015028018 A JP2015028018 A JP 2015028018A JP 2015028018 A JP2015028018 A JP 2015028018A JP 2016151830 A JP2016151830 A JP 2016151830A
Authority
JP
Japan
Prior art keywords
program
modular
interface
input
hardware modules
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.)
Pending
Application number
JP2015028018A
Other languages
Japanese (ja)
Inventor
友美 竹内
Tomomi Takeuchi
友美 竹内
峯岸 孝行
Takayuki Minegishi
孝行 峯岸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2015028018A priority Critical patent/JP2016151830A/en
Publication of JP2016151830A publication Critical patent/JP2016151830A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To allow an interface or bridge connecting among hardware modules to be inserted.SOLUTION: A function model analysis unit 2 is configured to analyze a function program 5, and extract input/output relations among hardware modules in a plurality of hardware modules. An I/F library 4 is configured to store, as modular interfaces, a plurality of descriptions each in a format capable of a high-level synthesis encapsulating interface functions of interfaces or bridges among the hardware modules, and input/output ports. An I/F insertion unit 3 is configured to select the modular interfaces for each input/output relation among the hardware modules extracted by the function model analysis unit 2. Further, the I/F insertion unit 3 is configured to insert the descriptions of the selected modular interfaces into the function model program 5 to convert the function program 5 to a program 8 capable of the high-level synthesis.SELECTED DRAWING: Figure 1

Description

この発明は、LSI(Large Scale Integration)設計を支援する技術に関する。   The present invention relates to a technology for supporting LSI (Large Scale Integration) design.

従来、LSI開発では、Verilog−HDLやVHDLといったハードウェア記述言語による設計をメインで行ってきた。
しかし、近年の集積回路の大規模化に伴いハードウェア記述での設計に多大な時間を要することが問題となっており、ハードウェア記述言語よりも抽象度の高いC言語、C++言語、SystemC言語などの高級言語による設計を行い、高位合成ツールを用いて自動的にハードウェア記述言語を生成する高位設計を適用することで設計時間の短縮を図る技術が実用化されてきている。
通常、LSI開発では、最初に、演算や制御のアルゴリズムを確認するために、C言語やC++言語で記述したアルゴリズム記述を用意したり、ハードウェアで実現しようとする演算機能や制御機能をハードウェアでの処理単位に合わせて動作確認するために、C言語やC++言語で記述した機能プログラム記述を用意する。
但し、これらのプログラム記述には時間の概念や並列動作といったハードウェアの概念は含まれていない。
そのため、高位設計では、時間概念やハードウェアモジュール(モジュールとも表記する)間の並列動作を含めた動作を確認するために、トランザクションレベルでハードウェア概念を挿入したプログラムに変更して検証を行ったり、高位合成ツールによりハードウェア記述を生成するために、サイクルレベルでのハードウェア概念を挿入したプログラムに変更して高位合成を行ったりする。
このとき、アルゴリズム記述や機能プログラム記述から変更するには、回路とバスを接続するインタフェース(I/Fとも表記する)の記述を人手で挿入し、プログラムを書き換える必要があった。
Conventionally, in LSI development, design using a hardware description language such as Verilog-HDL or VHDL has been mainly performed.
However, with the recent increase in scale of integrated circuits, it takes a lot of time to design hardware description, and C language, C ++ language, and System C language, which have a higher level of abstraction than hardware description language, have become a problem. A technique for shortening design time by applying a high-level design in which a hardware description language is automatically generated using a high-level synthesis tool is designed.
Normally, in LSI development, first, in order to confirm the algorithm of calculation and control, an algorithm description written in C language or C ++ language is prepared, or a calculation function or control function to be realized by hardware is implemented by hardware. In order to confirm the operation in accordance with the processing unit, a function program description written in C language or C ++ language is prepared.
However, these program descriptions do not include the concept of hardware such as the concept of time or parallel operation.
Therefore, in the high-level design, in order to confirm the operation including the time concept and the parallel operation between hardware modules (also referred to as modules), the program can be verified by changing to a program in which the hardware concept is inserted at the transaction level. In order to generate a hardware description by a high-level synthesis tool, a high-level synthesis is performed by changing to a program in which a hardware concept at a cycle level is inserted.
At this time, in order to change from the algorithm description or the function program description, it is necessary to manually insert a description of an interface (also referred to as I / F) for connecting a circuit and a bus and rewrite the program.

特許文献1は、アルゴリズム記述から高位合成可能な記述への変換処理を行うものであり、アルゴリズム記述において、入出力ポートになるパラメータを指示することで、入出力ポートの記述を挿入し、高位合成可能なハードウェア記述に自動変換することが記載されている。   Patent Document 1 performs a conversion process from an algorithm description to a description capable of high-level synthesis. In the algorithm description, by specifying a parameter to be an input / output port, the description of the input / output port is inserted, and high-level synthesis is performed. It describes automatic conversion into a possible hardware description.

特開2013−20329号公報JP 2013-20329 A

特許文献1の技術では、もとの記述に存在しているパラメータを入出力として指示することで、入出力ポートの記述を挿入することができた。
しかし、アルゴリズム記述や機能プログラム記述には、そのモジュールの演算や制御そのものに関係のない入出力や変数については記述しないため、インタフェースに含まれる各種制御信号についても記述しない。
したがって、特許文献1の技術では、インタフェースを自動挿入することはできなかった。
In the technique of Patent Document 1, it is possible to insert a description of an input / output port by instructing a parameter existing in the original description as an input / output.
However, the algorithm description and the function program description do not describe input / output and variables that are not related to the operation and control of the module, and therefore do not describe various control signals included in the interface.
Therefore, the technique of Patent Document 1 cannot automatically insert an interface.

本発明は、このような事情に鑑みたものであり、ハードウェアモジュール間を接続するインタフェース又はブリッジを挿入可能とすることを主な目的とする。   The present invention has been made in view of such circumstances, and a main object of the present invention is to make it possible to insert an interface or a bridge for connecting hardware modules.

本発明に係る設計支援装置は、
機能プログラムを解析し、複数のハードウェアモジュールにおけるハードウェアモジュール間の入出力関係を抽出する解析抽出部と、
ハードウェアモジュール間のインタフェース又はブリッジのインタフェース関数及び入出力ポートがカプセル化された高位合成可能な形式の記述を、モジュラインタフェースとして、複数記憶するモジュラインタフェース記憶部と、
前記解析抽出部により抽出されたハードウェアモジュール間の入出力関係ごとにモジュラインタフェースを選択する選択部と、
前記選択部により選択されたモジュラインタフェースの記述を前記機能プログラムに挿入して前記機能プログラムを高位合成可能なプログラムに変換するプログラム変換部とを有する。
A design support apparatus according to the present invention includes:
An analysis extraction unit that analyzes a function program and extracts an input / output relationship between hardware modules in a plurality of hardware modules;
A modular interface storage unit for storing a plurality of high-level synthesizable descriptions in which interface functions between hardware modules or bridge interface functions and input / output ports are encapsulated as modular interfaces;
A selection unit that selects a modular interface for each input / output relationship between the hardware modules extracted by the analysis extraction unit;
A program conversion unit for inserting a description of the modular interface selected by the selection unit into the function program and converting the function program into a program capable of high-level synthesis.

本発明では、ハードウェア間の入出力関係ごとに、インタフェース又はブリッジのインタフェース関数及び入出力ポートがカプセル化された高位合成可能な形式で記述されたモジュラインタフェースを選択し、選択したモジュラインタフェースの記述を機能プログラムに挿入する。
このため、本発明によれば、モジュラインタフェースの記述の機能プログラムへの挿入によりインタフェース又はブリッジを機能プログラムに挿入することができる。
In the present invention, for each input / output relationship between hardware, a modular interface described in a high-level synthesizable form in which an interface function or an interface function of a bridge or an input / output port is encapsulated is selected, and the description of the selected modular interface is performed. Is inserted into the function program.
Therefore, according to the present invention, an interface or a bridge can be inserted into a function program by inserting a description of a modular interface into the function program.

実施の形態1に係るモジュール間I/F設計支援装置の機能構成例を示す図。FIG. 3 is a diagram illustrating a functional configuration example of an inter-module I / F design support apparatus according to the first embodiment. 実施の形態1に係るモジュラI/Fの構成例を示す図。FIG. 3 shows a configuration example of a modular I / F according to the first embodiment. 実施の形態1に係るモジュラI/Fの記述例を示す図。FIG. 3 is a diagram illustrating a description example of a modular I / F according to the first embodiment. 実施の形態1に係るLSIの概略構成例を示す図。FIG. 3 is a diagram showing a schematic configuration example of an LSI according to the first embodiment. 実施の形態1に係る機能プログラムのトップ記述の記述例を示す図。FIG. 6 is a diagram showing a description example of top description of a function program according to the first embodiment. 実施の形態1に係る機能プログラムのYUV→RGBフォーマット変換モジュール及び画面合成モジュールの記述例を示す図。FIG. 6 is a diagram showing a description example of a YUV → RGB format conversion module and a screen composition module of the function program according to the first embodiment. 実施の形態1に係るI/F選択情報の記述例を示す図。FIG. 6 is a diagram illustrating a description example of I / F selection information according to the first embodiment. 実施の形態1に係るモジュール間I/FにモジュラI/Fを挿入したLSIの構成例を示す図。FIG. 3 is a diagram illustrating a configuration example of an LSI in which a modular I / F is inserted into an inter-module I / F according to the first embodiment. 実施の形態1に係る高位合成可能なプログラムのトップ記述の記述例を示す図。The figure which shows the example of description of the top description of the high level synthesis | combination possible program which concerns on Embodiment 1. FIG. 実施の形態1に係る高位合成可能なプログラムのYUV→RGBフォーマット変換モジュール及び画面合成モジュールの記述例を示す図。FIG. 6 is a diagram illustrating a description example of a YUV → RGB format conversion module and a screen composition module of a program capable of high-level composition according to Embodiment 1; 実施の形態1に係る異なるバスプロトコル間を接続したLSI構成例を示す図。FIG. 3 is a diagram showing an LSI configuration example in which different bus protocols are connected according to the first embodiment. 実施の形態1に係る実施の形態1に係る異なるバスプロトコル間を接続するI/F選択情報とトップ記述の記述例を示す図。The figure which shows the example of description of I / F selection information and top description which connect between the different bus protocols which concern on Embodiment 1 concerning Embodiment 1. FIG. 実施の形態2に係るモジュール間I/F設計支援装置の機能構成例を示す図。FIG. 10 is a diagram illustrating an example of a functional configuration of an inter-module I / F design support apparatus according to the second embodiment. 実施の形態2に係る性能改善ステップを示すフローチャート図。FIG. 9 is a flowchart showing performance improvement steps according to the second embodiment. 実施の形態1及び実施の形態2に係るモジュール間I/F設計支援装置のハードウェア構成例を示す図。FIG. 3 is a diagram illustrating a hardware configuration example of an inter-module I / F design support apparatus according to the first embodiment and the second embodiment.

実施の形態1.
本実施の形態では、LSI開発において、機能確認用に作成されるC/C++記述のプログラムをもとに、各機能が割り当てられたハードウェアモジュール間を接続するI/Fおよびブリッジを自動挿入し、高位検証で用いるトランザクションレベルのプログラム記述、または、高位合成可能なサイクルレベルのプログラム記述への変換を支援する構成を説明する。
Embodiment 1 FIG.
In this embodiment, in LSI development, I / Fs and bridges that connect hardware modules to which each function is assigned are automatically inserted based on a C / C ++ description program created for function confirmation. A configuration for supporting conversion to a transaction level program description used in high-level verification or a cycle-level program description capable of high-level synthesis will be described.

***構成の説明***
図1は、実施の形態1に係るモジュール間I/F設計支援装置1の構成を示す。
モジュール間I/F設計支援装置1は、機能モデル解析部2と、I/F挿入部3と、I/Fライブラリ4から構成される。
なお、モジュール間I/F設計支援装置1は、本願の設計支援装置の例に相当する。
*** Explanation of configuration ***
FIG. 1 shows a configuration of an inter-module I / F design support apparatus 1 according to the first embodiment.
The inter-module I / F design support apparatus 1 includes a functional model analysis unit 2, an I / F insertion unit 3, and an I / F library 4.
The inter-module I / F design support apparatus 1 corresponds to an example of the design support apparatus of the present application.

機能モデル解析部2は、機能プログラムを解析し、複数のハードウェアモジュールにおけるハードウェアモジュール間の入出力関係を抽出する。
機能モデル解析部2は、解析抽出部の例に相当する。
機能プログラム5は、LSIの機能がCまたはC++で記述されたプログラムである。
機能モデル解析部2は、トップ構成解析部2aと、モジュール入出力解析部2bと、モジュール間接続解析部2cとで構成される。
トップ構成解析部2aは、機能プログラム5のトップ記述からハードウェアのトップ構成を解析する。
モジュール入出力解析部2bは、各ハードウェアモジュールの入出力信号を解析・抽出する。
モジュール間接続解析部2cは、モジュール入出力間の接続関係の情報を解析・抽出し、解析・抽出結果を表す入出力信号/接続情報6を出力する。
The function model analysis unit 2 analyzes the function program and extracts an input / output relationship between hardware modules in a plurality of hardware modules.
The function model analysis unit 2 corresponds to an example of an analysis extraction unit.
The function program 5 is a program in which LSI functions are described in C or C ++.
The functional model analysis unit 2 includes a top configuration analysis unit 2a, a module input / output analysis unit 2b, and an inter-module connection analysis unit 2c.
The top configuration analysis unit 2 a analyzes the top configuration of hardware from the top description of the function program 5.
The module input / output analysis unit 2b analyzes and extracts input / output signals of each hardware module.
The inter-module connection analysis unit 2c analyzes and extracts information on the connection relationship between module inputs and outputs, and outputs input / output signal / connection information 6 representing the analysis and extraction results.

I/Fライブラリ4は、挿入候補であるモジュラインタフェース(モジュラI/Fとも表記する)を複数格納する。
モジュラI/Fは、モジュール間のインタフェース又はブリッジのインタフェース関数及び入出力ポートがカプセル化された高位合成可能な形式の記述である。
モジュラI/Fの詳細は後述する。
I/Fライブラリ4は、モジュラインタフェース記憶部の例に相当する。
The I / F library 4 stores a plurality of modular interfaces (also referred to as modular I / Fs) that are insertion candidates.
The modular I / F is a description of a high-level synthesizable form in which interface functions between modules or bridge interface functions and input / output ports are encapsulated.
Details of the modular I / F will be described later.
The I / F library 4 corresponds to an example of a modular interface storage unit.

I/F挿入部3は、インタフェース選択情報7(I/F選択情報7とも表記する)を取得する。
I/F選択情報7には、複数の入出力関係が記述されるとともに、記述されている入出力関係ごとに、選択すべきモジュラI/Fが記述されている。
そして、I/F挿入部3は、機能モデル解析部2により抽出されたハードウェアモジュール間の入出力関係ごとに、I/F選択情報7に記述されている、対応するモジュラI/Fを選択する。
また、I/F挿入部3は、選択したモジュラI/Fの記述を用いて、機能プログラム5に含まれる、モジュールの機能が記述されたモジュール記述と、複数のモジュールで構成される回路の機能が記述されるトップ記述とを書き換えることで、選択したモジュラI/Fの記述を機能プログラム5に挿入して機能プログラム5を高位合成可能なプログラム8に変換する。
高位合成可能なプログラム8はSystemCで記述されている。
I/F挿入部3は、選択部及びプログラム変換部の例に相当する。
I/F挿入部3は、I/F選択情報解析部3aと、モジュール記述生成部3bと、トップ記述生成部3cとで構成される。
I/F選択情報解析部3aは、I/F選択情報7から、モジュール間の信号名とモジュラI/F名を解析し対応付けを行う。
モジュール記述生成部3bは、I/Fライブラリ4からモジュラI/Fを取得し、モジュール記述を高位合成可能なプログラム記述に変換する。
トップ記述生成部3cは、機能プログラム5のトップ記述にモジュラI/Fを挿入する。
The I / F insertion unit 3 acquires interface selection information 7 (also expressed as I / F selection information 7).
In the I / F selection information 7, a plurality of input / output relationships are described, and a modular I / F to be selected is described for each described input / output relationship.
The I / F insertion unit 3 selects the corresponding modular I / F described in the I / F selection information 7 for each input / output relationship between the hardware modules extracted by the functional model analysis unit 2. To do.
Also, the I / F insertion unit 3 uses the description of the selected modular I / F to include a module description describing the function of the module included in the function program 5 and a function of a circuit composed of a plurality of modules. By rewriting the top description in which is described, the description of the selected modular I / F is inserted into the function program 5 to convert the function program 5 into a program 8 capable of high-level synthesis.
The high-level synthesizable program 8 is described in SystemC.
The I / F insertion unit 3 corresponds to an example of a selection unit and a program conversion unit.
The I / F insertion unit 3 includes an I / F selection information analysis unit 3a, a module description generation unit 3b, and a top description generation unit 3c.
The I / F selection information analysis unit 3a analyzes and associates signal names between modules and modular I / F names from the I / F selection information 7.
The module description generation unit 3b acquires a modular I / F from the I / F library 4 and converts the module description into a program description that can be synthesized at a high level.
The top description generation unit 3 c inserts a modular I / F into the top description of the function program 5.

ここで、モジュラI/Fについて説明する。
図2は、I/Fライブラリ4に格納されているモジュラI/Fの構成例を示し、図3は、モジュラI/Fの記述例を示す。
モジュラI/Fは、図2及び図3に示すように、I/F関数と入出力ポートをカプセル化したクラスであり、モジュールは使用するモジュラI/Fのクラスをインスタンスし、I/F関数をコールするのみで、入出力ポートやプロトコルを意識せずにアクセスできる。
Here, the modular I / F will be described.
2 shows a configuration example of the modular I / F stored in the I / F library 4, and FIG. 3 shows a description example of the modular I / F.
2 and 3, the modular I / F is a class that encapsulates an I / F function and an input / output port. The module instantiates a class of the modular I / F to be used, and the I / F function. Can be accessed without being aware of input / output ports and protocols.

***動作の説明***
次に、図4〜図10を用いて、本実施の形態に係るモジュール間I/F設計支援装置1によりモジュール間にモジュラI/Fを挿入する方法を示す。
以下に示す方法は、本願の設計支援方法及び設計支援プログラムの例に相当する。
*** Explanation of operation ***
Next, a method for inserting a modular I / F between modules by the inter-module I / F design support apparatus 1 according to the present embodiment will be described with reference to FIGS.
The following method corresponds to an example of the design support method and design support program of the present application.

図4は、LSIの概略構成例を示す。
図5及び図6は、図4のLSI構成を表す機能プログラム5の記述例を示す。
図7は、I/F選択情報7の記述例を示す。
図8は、モジュール間にモジュラI/Fを挿入した後のLSIの概略構成例を示す。
図9及び図10は、モジュール間I/F設計支援装置1によって得られる高位合成可能なプログラム8の記述例を示す。
FIG. 4 shows a schematic configuration example of an LSI.
5 and 6 show a description example of the function program 5 representing the LSI configuration of FIG.
FIG. 7 shows a description example of the I / F selection information 7.
FIG. 8 shows a schematic configuration example of an LSI after a modular I / F is inserted between modules.
9 and 10 show a description example of the program 8 that can be synthesized at a high level obtained by the inter-module I / F design support apparatus 1.

図4に示すLSIの場合、“前処理モジュール”から入力されたYUVフォーマットの画素データを“YUV→RGB変換モジュール”がRGBフォーマットの画素データに変換して出力する。
そして、その画素データを入力として“画面合成モジュール”が2系統分合成した画素データを生成して出力し、その画素データを“RGB→YUV変換モジュール”がYUVフォーマットの画素データに変換して“後処理モジュール”に出力する。
これを機能プログラム5に記述にすると、図5及び図6に示すように、各モジュールの機能(演算処理)に必要なデータのみモジュールの入出力としてモジュール間で受け渡す記述となる。
In the case of the LSI shown in FIG. 4, the YUV format pixel data input from the “preprocessing module” is converted into RGB format pixel data by the “YUV → RGB conversion module” and output.
Then, the pixel data is input and the “screen composition module” generates and outputs pixel data synthesized by two systems, and the “RGB → YUV conversion module” converts the pixel data into pixel data in the YUV format. Output to “Post-processing module”.
When this is described in the function program 5, as shown in FIGS. 5 and 6, only data necessary for the function (arithmetic processing) of each module is transferred between the modules as input / output of the module.

図4のLSI構成を例に、モジュール間にモジュラI/Fを挿入する手順を示す。   Taking the LSI configuration of FIG. 4 as an example, a procedure for inserting a modular I / F between modules will be described.

まず、トップ構成解析部2aが図5(a)のトップ記述からトップ構成を解析し(図5の(1))、モジュール入出力解析部2bが図6(b)、(c)の各モジュール記述から入出力信号を抽出する(図6の(2))(解析抽出ステップ)。
より具体的には、モジュール入出力解析部2bは、クラス内部にあるトップ関数において(トップ関数は、外部より指定される)、その関数の引数と戻り値を抽出する。
これが入出力信号となる。
戻り値は出力信号となる。
引数は、ポインタ以外は入力信号となる。
ポインタの場合は、関数内部で、ポインタの参照しかしない場合は、入力信号となる。
また、ポインタへの代入を行う場合は、出力信号となる。
なお、ポインタの参照と代入を行っている場合は、本明細書では対応外とする。
First, the top configuration analysis unit 2a analyzes the top configuration from the top description of FIG. 5A (FIG. 5 (1)), and the module input / output analysis unit 2b analyzes each module of FIGS. 6B and 6C. Input / output signals are extracted from the description ((2) in FIG. 6) (analysis extraction step).
More specifically, the module input / output analysis unit 2b extracts the argument and return value of the function in the top function inside the class (the top function is designated from the outside).
This is an input / output signal.
The return value is an output signal.
Arguments are input signals except for pointers.
In the case of a pointer, if there is only a pointer reference inside the function, it becomes an input signal.
In addition, when assigning to a pointer, it becomes an output signal.
It should be noted that the case where pointer reference and substitution are performed is not supported in this specification.

続いて、モジュール間接続解析部2cが、モジュール入出力解析部2bにより抽出された各クラスのトップ関数の入出力信号の情報をもとにモジュール入出力間の接続関係を解析して(図5の(3))、入出力信号/接続情報6を出力する(解析抽出ステップ)。
つまり、モジュール間接続解析部2cは、機能プログラム5のトップ記述(図5の(3))より、接続情報を抽出する。
モジュール間接続解析部2cは、各クラスのトップ関数への戻り値、引数において、同じ信号名を戻り値、引数としている関数は、接続されていると解釈する。
モジュール間接続解析部2cは、図4の構成だと、“前処理0”と“YUV→RGB変換(m_Fmt0)”とが接続されており、この2つのモジュールで入出力関係があると解釈する。
また、“前処理1”と“YUV→RGB変換(m_Fmt1)”とが接続されており、この2つのモジュールで入出力関係があると解釈する。
同様に、モジュール間接続解析部2cは、図4において矢印で接続されているモジュール間で入出力関係があると解釈する。
Subsequently, the inter-module connection analysis unit 2c analyzes the connection relation between the module inputs and outputs based on the input / output signal information of the top function of each class extracted by the module input / output analysis unit 2b (FIG. 5). (3)), the input / output signal / connection information 6 is output (analysis extraction step).
That is, the inter-module connection analysis unit 2c extracts connection information from the top description ((3) in FIG. 5) of the function program 5.
The inter-module connection analysis unit 2c interprets the functions having the same signal name as the return value and argument in the return value and argument to the top function of each class as connected.
The inter-module connection analysis unit 2c interprets that “pre-processing 0” and “YUV → RGB conversion (m_Fmt0)” are connected in the configuration of FIG. .
Further, “preprocessing 1” and “YUV → RGB conversion (m_Fmt1)” are connected, and it is interpreted that these two modules have an input / output relationship.
Similarly, the inter-module connection analysis unit 2c interprets that there is an input / output relationship between modules connected by arrows in FIG.

次に、I/F選択情報解析部3aが、入出力信号/接続情報6と、図7のI/F選択情報7から、モジュール間の信号名とモジュラI/F名を解析し(図7の(4)))、対応付けを行う(選択ステップ)。
入出力信号/接続情報6には、モジュール間の入出力関係、すなわち、図7の左辺に示す信号(例えば、s_yuv0)と、当該信号の出力元のモジュール(例えば、前処理0)と、入力先のモジュール(YUV→RGB変換(m_Fmt0))とが記載されている。
I/F選択情報解析部3aは、入出力信号/接続情報6に示される信号(例えば、s_yuv0)に対応するモジュラI/F(Mif_BusYuv)を、入出力信号/接続情報6に示される出力元のモジュール(例えば、前処理0)と、入力先のモジュール(YUV→RGB変換(m_Fmt0))とに対応付ける。
前述した通り、モジュラI/Fは、I/F関数と入出力ポートをカプセル化したクラスであるため、図7のように使用するモジュラI/Fのクラス名を指定すれば、I/Fライブラリ内から一意にモジュラI/Fを決定できる。
Next, the I / F selection information analysis unit 3a analyzes the signal name between modules and the modular I / F name from the input / output signal / connection information 6 and the I / F selection information 7 of FIG. 7 (FIG. 7). (4))), the association is performed (selection step).
The input / output signal / connection information 6 includes an input / output relationship between modules, that is, a signal shown on the left side of FIG. 7 (for example, s_yuv0), an output source module of the signal (for example, preprocessing 0), and an input The previous module (YUV → RGB conversion (m_Fmt0)) is described.
The I / F selection information analysis unit 3a converts the modular I / F (Mif_BusYuv) corresponding to the signal (for example, s_yuv0) indicated by the input / output signal / connection information 6 to the output source indicated by the input / output signal / connection information 6. Are associated with an input destination module (YUV → RGB conversion (m_Fmt0)).
As described above, the modular I / F is a class that encapsulates an I / F function and an input / output port. Therefore, if the class name of the modular I / F used as shown in FIG. A modular I / F can be uniquely determined from within.

次に、モジュール記述生成部3bが、I/F選択情報解析部3aによる対応付けをもとにI/Fライブラリ4から当該モジュラI/Fを取得して機能プログラム5のモジュール記述のI/F記述部分を書き換える(図10の(5))(プログラム変換ステップ)。
また、トップ記述生成部3cが機能プログラム5のトップ記述にモジュラI/Fのインスタンスと接続を挿入して(図9の(6))、SystemC記述の高位合成可能なプログラム8を出力する(プログラム変換ステップ)。
Next, the module description generation unit 3b acquires the modular I / F from the I / F library 4 based on the association by the I / F selection information analysis unit 3a, and the module description I / F of the function program 5 The description portion is rewritten ((5) in FIG. 10) (program conversion step).
Further, the top description generation unit 3c inserts a modular I / F instance and connection into the top description of the function program 5 ((6) in FIG. 9), and outputs a program 8 capable of high-level synthesis of the SystemC description (program) Conversion step).

図8は、トップ記述生成部3cから出力される高位合成可能なプログラム8に対応するLSIの構成例である。
図8では、モジュール間に、I/F選択情報解析部3aにより選択されたモジュラI/F(m_mif_yuv0等)が挿入されている。
なお、図8の「m_mif_yuv0」、「m_mif_yuv」、「m_mif_yuv2」は、それぞれ、図7の「Mif_BusYuv」のインスタンスである。
また、図8の「m_mif_rgb0」、「m_mif_rgb1」、「m_mif_rgb2」は、それぞれ、図7の「Mif_BusRgb」のインスタンスである。
また、図8において、「M」はマスタを意味し、「S」はスレーブを意味する。
FIG. 8 is a configuration example of an LSI corresponding to the high-level synthesizable program 8 output from the top description generation unit 3c.
In FIG. 8, the modular I / F (m_mif_yuv0 etc.) selected by the I / F selection information analysis unit 3a is inserted between the modules.
Note that “m_mif_yuv0”, “m_mif_yuv”, and “m_mif_yuv2” in FIG. 8 are instances of “Mif_BusYuv” in FIG.
Also, “m_mif_rgb0”, “m_mif_rgb1”, and “m_mif_rgb2” in FIG. 8 are instances of “Mif_BusRgb” in FIG.
In FIG. 8, “M” means a master and “S” means a slave.

***効果の説明***
以上のように、本実施の形態に係るモジュール間I/F設計支援装置1を用いれば、プロトコル情報等を含まないC言語記述のモジュール間を接続するI/Fを生成可能となるため、高位設計手順を効率化できる。
*** Explanation of effects ***
As described above, if the inter-module I / F design support apparatus 1 according to the present embodiment is used, it is possible to generate an I / F that connects modules of C language descriptions that do not include protocol information and the like. The design procedure can be made more efficient.

また、図11は、異なるバスプロトコル間を接続する場合のLSI構成例を示す。
より詳しくは、図11(a)は、モジュラI/Fを挿入する前のLSI構成例を示し、図11(b)は、モジュラI/Fを挿入した後のLSI構成例を示す。
図12は、I/F選択情報の例と、図11(a)のLSIの機能プログラムから得られる高位合成可能なプログラムのトップ記述例を示す。
図11(a)のLSI構成に示すように、例えばRGB→YUV変換後の画素データを外部メモリに格納する場合など、図11(b)のようにモジュール間I/Fのマスタ側とスレーブ側でプロトコルが異なるときは、図12(c)に示すようにI/F選択情報としてマスタ側、スレーブ側それぞれのバスを指示する。
この場合は、両プロトコルを接続可能なバスブリッジを含むモジュラI/FがI/Fライブラリ4から選択され、図12(d)のようなトップ記述を生成する。
FIG. 11 shows an example of LSI configuration when different bus protocols are connected.
More specifically, FIG. 11A shows an LSI configuration example before the modular I / F is inserted, and FIG. 11B shows an LSI configuration example after the modular I / F is inserted.
FIG. 12 shows an example of I / F selection information and a top description example of a high-level synthesizable program obtained from the LSI function program of FIG.
As shown in the LSI configuration of FIG. 11A, for example, when pixel data after RGB → YUV conversion is stored in an external memory, the master side and the slave side of the inter-module I / F as shown in FIG. When the protocols are different, the master side and slave side buses are designated as I / F selection information as shown in FIG.
In this case, a modular I / F including a bus bridge capable of connecting both protocols is selected from the I / F library 4 to generate a top description as shown in FIG.

以上のように、本発明のモジュール間I/F設計支援装置1を用いれば、異なるバスプロトコル間を接続するブリッジを挿入することも可能であり、高位設計手順を効率化できる。   As described above, by using the inter-module I / F design support apparatus 1 of the present invention, it is possible to insert a bridge that connects different bus protocols, and the high-level design procedure can be made efficient.

なお、上記では、高位合成可能なプログラム記述を得る場合を説明したが、I/F選択情報により、トランザクションレベルのモジュラI/Fを選択すれば、高位検証で用いるトランザクションレベルのプログラム記述を得ることもできる。   In the above description, the case where a program description capable of high-level synthesis is obtained has been described. If a transaction level modular I / F is selected based on I / F selection information, a transaction level program description used for high-level verification can be obtained. You can also.

実施の形態2.
***構成の説明***
図13は、実施の形態2によるモジュール間I/F設計支援装置1の構成を示したものである。
本実施の形態に係るモジュール間I/F設計支援装置1は、機能モデル解析部2と、I/F挿入部3と、I/Fライブラリ4と、性能改善部9から構成される。
Embodiment 2. FIG.
*** Explanation of configuration ***
FIG. 13 shows the configuration of the inter-module I / F design support apparatus 1 according to the second embodiment.
The inter-module I / F design support apparatus 1 according to this embodiment includes a functional model analysis unit 2, an I / F insertion unit 3, an I / F library 4, and a performance improvement unit 9.

機能モデル解析部2、I/Fライブラリ4、機能プログラム5、I/F選択情報7、高位合成可能なプログラム8は、実施の形態1で示したものと同様である。
本実施の形態でも、機能モデル解析部2は解析抽出部の例に相当し、I/Fライブラリ4はモジュラI/F記憶部の例に相当する。
The function model analysis unit 2, the I / F library 4, the function program 5, the I / F selection information 7, and the program 8 capable of high-level synthesis are the same as those shown in the first embodiment.
Also in the present embodiment, the function model analysis unit 2 corresponds to an example of an analysis extraction unit, and the I / F library 4 corresponds to an example of a modular I / F storage unit.

I/F挿入部3は、構成としては実施の形態1と示したものと同様であるが、本実施の形態では、I/F挿入部3は、性能改善部9を経由してI/F選択情報7を取得し、また、性能改善部9を経由してI/Fライブラリ4からモジュラI/Fを取得する。
なお、本実施の形態では、I/F挿入部3は、プログラム変換部の例に相当する。
The I / F insertion unit 3 has the same configuration as that of the first embodiment, but in this embodiment, the I / F insertion unit 3 is connected to the I / F via the performance improvement unit 9. The selection information 7 is acquired, and the modular I / F is acquired from the I / F library 4 via the performance improvement unit 9.
In the present embodiment, the I / F insertion unit 3 corresponds to an example of a program conversion unit.

性能改善部9は、出力された高位合成可能なプログラム8を用いて高位合成(または、高位合成+論理合成)と性能解析を行う。
そして、性能改善部9は、高位合成実行結果における性能が要求性能を満たさない場合に、高位合成可能なプログラム8への変換に用いられたモジュラI/Fのパラメータを変更する処理又は高位合成可能なプログラム8への変換に用いられたモジュラI/Fを他のモジュラI/Fに切り替える処理を行う。
具体的には、性能改善部9は、高位合成実行結果における転送ビット量が、転送ビット量についての要求性能を満たさない場合に、高位合成可能なプログラム8への変換に用いられたモジュラI/Fのデータ幅を変更する処理を行う。
また、性能改善部9は、高位合成実行結果における回路規模が、回路規模についての要求性能を満たさない場合に、高位合成可能なプログラム8への変換に用いられたモジュラI/Fよりも回路規模が小さい他のモジュラI/Fに切り替える処理を行う。
性能改善部9は、選択部及び調整処理部の例に相当する。
The performance improvement unit 9 performs high-level synthesis (or high-level synthesis + logic synthesis) and performance analysis using the outputted program 8 capable of high-level synthesis.
The performance improvement unit 9 can change the parameter of the modular I / F used for the conversion to the program 8 capable of high-level synthesis when the performance in the high-level synthesis execution result does not satisfy the required performance, or high-level synthesis is possible. A process for switching the modular I / F used for the conversion to the correct program 8 to another modular I / F is performed.
Specifically, the performance improvement unit 9 uses the modular I / O used for conversion to the program 8 capable of high-level synthesis when the transfer bit amount in the high-level synthesis execution result does not satisfy the required performance for the transfer bit amount. Processing for changing the data width of F is performed.
The performance improvement unit 9 also has a circuit scale larger than the modular I / F used for conversion to the program 8 capable of high-level synthesis when the circuit scale in the high-level synthesis execution result does not satisfy the required performance for the circuit scale. A process of switching to another modular I / F having a small value is performed.
The performance improvement unit 9 corresponds to an example of a selection unit and an adjustment processing unit.

本実施の形態では、I/F挿入部3は、性能改善部9によりパラメータが変更された後のモジュラI/Fの記述又は性能改善部9により切り替えられた後のモジュラI/Fの記述を機能プログラム5に挿入して機能プログラム5を高位合成可能なプログラム8に変換する。   In the present embodiment, the I / F insertion unit 3 writes the description of the modular I / F after the parameter is changed by the performance improvement unit 9 or the description of the modular I / F after the switching by the performance improvement unit 9. The function program 5 is inserted into the function program 5 and converted into a program 8 capable of high-level synthesis.

***動作の説明***
図14は、性能改善部9における性能改善ステップを示すフローチャートである。
*** Explanation of operation ***
FIG. 14 is a flowchart showing the performance improvement steps in the performance improvement unit 9.

S0において、性能改善部9は、I/F選択情報7で指示された各種モジュラI/FをI/Fライブラリ4から取得する。
次に、S1において、性能改善部9は、S0で取得した各種モジュラI/Fの記述内に、転送ビット量カウンタを挿入する。
次に、S2において、性能改善部9は、I/F挿入部3に、I/F選択情報7と、S1で書き換えたモジュラI/Fを渡す。
次に、S3において、性能改善部9は、I/F挿入部3で生成された高位合成可能なプログラム8を取得する。
In S <b> 0, the performance improvement unit 9 acquires various modular I / Fs indicated by the I / F selection information 7 from the I / F library 4.
Next, in S1, the performance improvement unit 9 inserts a transfer bit amount counter in the descriptions of various modular I / Fs acquired in S0.
Next, in S2, the performance improvement unit 9 passes the I / F selection information 7 and the modular I / F rewritten in S1 to the I / F insertion unit 3.
Next, in S <b> 3, the performance improvement unit 9 acquires the high-level synthesizable program 8 generated by the I / F insertion unit 3.

次に、S4において、性能改善部9は、S3で取得した高位合成可能なプログラム8を用いて高位合成(+論理合成)を実行し、回路規模を見積もる。
次に、S5において、性能改善部9は、要求性能情報10で指示された要求回路規模と、S4で得られた回路規模見積もり結果を比較する。
S5の比較で、回路規模見積もりが要求回路規模を満たしていなかったら(S6でNO)、性能改善部9は、S7において、I/Fライブラリ4内のより回路規模の小さいモジュラI/Fを選択するようにI/F選択情報7を書き換える。
また、性能改善部9は、I/F選択情報7を書き換えた旨をI/F変更記録11に記録する。
一方、S5の比較で、回路規模見積もりが要求回路規模を満たしていたら(S6でYES)、性能改善部9は、S8において、S3で取得した高位合成可能なプログラム8を用いてシミュレーションを実行し、各モジュラI/Fの転送ビット量をカウントする。
次に、S9において、性能改善部9は、要求性能情報10で指示された各モジュラI/Fの要求転送ビット量とS8で得られたカウント結果を比較する。
S9の比較で、転送ビットカウント量が要求転送ビット量を満たしていなかったら(S10でNO)、性能改善部9は、S11において、I/Fライブラリ4から取得したモジュラI/Fのデータ幅を変更する。
また、性能改善部9は、モジュラI/Fのデータ幅を変更した旨をI/F変更記録11に記録する。
一方、S9の比較で、転送ビットカウント量が要求転送ビット量を満たしていたら(S0でYES)、性能改善を終了する。
Next, in S4, the performance improvement unit 9 performs high-level synthesis (+ logical synthesis) using the program 8 capable of high-level synthesis acquired in S3, and estimates the circuit scale.
Next, in S5, the performance improvement unit 9 compares the required circuit scale indicated by the required performance information 10 with the circuit scale estimation result obtained in S4.
In the comparison of S5, if the circuit scale estimation does not satisfy the required circuit scale (NO in S6), the performance improvement unit 9 selects a modular I / F having a smaller circuit scale in the I / F library 4 in S7. The I / F selection information 7 is rewritten as described above.
Further, the performance improvement unit 9 records in the I / F change record 11 that the I / F selection information 7 has been rewritten.
On the other hand, if the circuit size estimate satisfies the required circuit size in the comparison in S5 (YES in S6), the performance improvement unit 9 executes a simulation in S8 using the high-level synthesizable program 8 acquired in S3. The transfer bit amount of each modular I / F is counted.
Next, in S9, the performance improvement unit 9 compares the requested transfer bit amount of each modular I / F indicated by the required performance information 10 with the count result obtained in S8.
If the transfer bit count amount does not satisfy the requested transfer bit amount in the comparison in S9 (NO in S10), the performance improvement unit 9 determines the data width of the modular I / F acquired from the I / F library 4 in S11. change.
Further, the performance improvement unit 9 records in the I / F change record 11 that the data width of the modular I / F has been changed.
On the other hand, if the transfer bit count amount satisfies the required transfer bit amount in the comparison of S9 (YES in S0), the performance improvement is terminated.

***効果の説明***
以上のように、実施の形態2に係るモジュール間I/F設計支援装置1を用いれば、ユーザが想定したモジュラI/Fでは性能が満たせない場合にも、自動で適切なモジュラI/Fを挿入できるため、高位設計手順を効率化できる。
*** Explanation of effects ***
As described above, when the inter-module I / F design support apparatus 1 according to the second embodiment is used, even when the modular I / F assumed by the user cannot satisfy the performance, an appropriate modular I / F is automatically obtained. Since it can be inserted, the high-level design procedure can be made efficient.

***ハードウェア構成の説明***
最後に、モジュール間I/F設計支援装置1のハードウェア構成例を図15を参照して説明する。
モジュール間I/F設計支援装置1はコンピュータである。
モジュール間I/F設計支援装置1は、プロセッサ901、補助記憶装置902、メモリ903、通信装置904、入力インタフェース905、ディスプレイインタフェース906といったハードウェアを備える。
プロセッサ901は、信号線910を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
入力インタフェース905は、入力装置907に接続されている。
ディスプレイインタフェース906は、ディスプレイ908に接続されている。
*** Explanation of hardware configuration ***
Finally, a hardware configuration example of the inter-module I / F design support apparatus 1 will be described with reference to FIG.
The inter-module I / F design support apparatus 1 is a computer.
The inter-module I / F design support apparatus 1 includes hardware such as a processor 901, an auxiliary storage device 902, a memory 903, a communication device 904, an input interface 905, and a display interface 906.
The processor 901 is connected to other hardware via the signal line 910, and controls these other hardware.
The input interface 905 is connected to the input device 907.
The display interface 906 is connected to the display 908.

プロセッサ901は、プロセッシングを行うIC(Integrated Circuit)である。
プロセッサ901は、例えば、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。
補助記憶装置902は、例えば、ROM(Read Only Memory)、フラッシュメモリ、HDD(Hard Disk Drive)である。
メモリ903は、例えば、RAM(Random Access Memory)である。
通信装置904は、データを受信するレシーバー9041及びデータを送信するトランスミッター9042を含む。
通信装置904は、例えば、通信チップ又はNIC(Network Interface Card)である。
入力インタフェース905は、入力装置907のケーブル911が接続されるポートである。
入力インタフェース905は、例えば、USB(Universal Serial Bus)端子である。
ディスプレイインタフェース906は、ディスプレイ908のケーブル912が接続されるポートである。
ディスプレイインタフェース906は、例えば、USB端子又はHDMI(登録商標)(High Definition Multimedia Interface)端子である。
入力装置907は、例えば、マウス、キーボード又はタッチパネルである。
ディスプレイ908は、例えば、LCD(Liquid Crystal Display)である。
The processor 901 is an IC (Integrated Circuit) that performs processing.
The processor 901 is, for example, a CPU (Central Processing Unit), a DSP (Digital Signal Processor), or a GPU (Graphics Processing Unit).
The auxiliary storage device 902 is, for example, a ROM (Read Only Memory), a flash memory, or an HDD (Hard Disk Drive).
The memory 903 is, for example, a RAM (Random Access Memory).
The communication device 904 includes a receiver 9041 that receives data and a transmitter 9042 that transmits data.
The communication device 904 is, for example, a communication chip or a NIC (Network Interface Card).
The input interface 905 is a port to which the cable 911 of the input device 907 is connected.
The input interface 905 is, for example, a USB (Universal Serial Bus) terminal.
The display interface 906 is a port to which the cable 912 of the display 908 is connected.
The display interface 906 is, for example, a USB terminal or an HDMI (registered trademark) (High Definition Multimedia Interface) terminal.
The input device 907 is, for example, a mouse, a keyboard, or a touch panel.
The display 908 is, for example, an LCD (Liquid Crystal Display).

補助記憶装置902には、図1に示す機能モデル解析部2、I/F挿入部3、図13に示す性能改善部9(以下、機能モデル解析部2、I/F挿入部3、性能改善部9をまとめて「部」と表記する)の機能を実現するプログラムが記憶されている。
このプログラムは、メモリ903にロードされ、プロセッサ901に読み込まれ、プロセッサ901によって実行される。
更に、補助記憶装置902には、OS(Operating System)も記憶されている。
そして、OSの少なくとも一部がメモリ903にロードされ、プロセッサ901はOSを実行しながら、「部」の機能を実現するプログラムを実行する。
図15では、1つのプロセッサ901が図示されているが、モジュール間I/F設計支援装置1が複数のプロセッサ901を備えていてもよい。
そして、複数のプロセッサ901が「部」の機能を実現するプログラムを連携して実行してもよい。
また、「部」の処理の結果を示す情報やデータや信号値や変数値が、メモリ903、補助記憶装置902、又は、プロセッサ901内のレジスタ又はキャッシュメモリに記憶される。
The auxiliary storage device 902 includes a function model analysis unit 2 and an I / F insertion unit 3 shown in FIG. 1, and a performance improvement unit 9 (hereinafter, function model analysis unit 2, I / F insertion unit 3 and performance improvement shown in FIG. A program for realizing the function of the part 9 is collectively described as “part” is stored.
This program is loaded into the memory 903, read into the processor 901, and executed by the processor 901.
Further, the auxiliary storage device 902 also stores an OS (Operating System).
Then, at least a part of the OS is loaded into the memory 903, and the processor 901 executes a program that realizes the function of “unit” while executing the OS.
Although one processor 901 is illustrated in FIG. 15, the inter-module I / F design support apparatus 1 may include a plurality of processors 901.
A plurality of processors 901 may execute a program for realizing the function of “unit” in cooperation with each other.
In addition, information, data, signal values, and variable values indicating the processing results of “unit” are stored in the memory 903, the auxiliary storage device 902, or a register or cache memory in the processor 901.

また、「部」を「回路」又は「ステップ」又は「手順」又は「処理」に読み替えてもよい。
「回路」は、プロセッサ901だけでなく、ロジックIC又はGA(Gate Array)又はASIC(Application Specific Integrated Circuit)又はFPGA(Field−Programmable Gate Array)といった他の種類の処理回路をも包含する概念である。
Further, “part” may be read as “circuit”, “step”, “procedure”, or “processing”.
The “circuit” is a concept that includes not only the processor 901 but also other types of processing circuits such as a logic IC, GA (Gate Array), ASIC (Application Specific Integrated Circuit), or FPGA (Field-Programmable Gate Array). .

1 モジュール間I/F設計支援装置、2 機能モデル解析部、2a トップ構成解析部、2b モジュール入出力解析部、2c モジュール間接続解析部、3 I/F挿入部、3a I/F選択情報解析部、3b モジュール記述生成部、3c トップ構成記述生成部、4 I/Fライブラリ、5 機能プログラム、6 入出力信号/接続情報、7 I/F選択情報、8 高位合成可能なプログラム、9 性能改善部、10 要求性能情報、11 I/F変更記録。   1 Inter-module I / F design support device, 2 function model analysis unit, 2a top configuration analysis unit, 2b module input / output analysis unit, 2c inter-module connection analysis unit, 3 I / F insertion unit, 3a I / F selection information analysis Part, 3b module description generation part, 3c top configuration description generation part, 4 I / F library, 5 function program, 6 I / O signal / connection information, 7 I / F selection information, 8 high-level synthesis program, 9 performance improvement Part, 10 required performance information, 11 I / F change record.

Claims (7)

機能プログラムを解析し、複数のハードウェアモジュールにおけるハードウェアモジュール間の入出力関係を抽出する解析抽出部と、
ハードウェアモジュール間のインタフェース又はブリッジのインタフェース関数及び入出力ポートがカプセル化された高位合成可能な形式の記述を、モジュラインタフェースとして、複数記憶するモジュラインタフェース記憶部と、
前記解析抽出部により抽出されたハードウェアモジュール間の入出力関係ごとにモジュラインタフェースを選択する選択部と、
前記選択部により選択されたモジュラインタフェースの記述を前記機能プログラムに挿入して前記機能プログラムを高位合成可能なプログラムに変換するプログラム変換部とを有する設計支援装置。
An analysis extraction unit that analyzes a function program and extracts an input / output relationship between hardware modules in a plurality of hardware modules;
A modular interface storage unit for storing a plurality of high-level synthesizable descriptions in which interface functions between hardware modules or bridge interface functions and input / output ports are encapsulated as modular interfaces;
A selection unit that selects a modular interface for each input / output relationship between the hardware modules extracted by the analysis extraction unit;
A design support apparatus comprising: a program conversion unit that inserts a description of the modular interface selected by the selection unit into the functional program and converts the functional program into a program that can be synthesized at a high level.
前記プログラム変換部は、
前記選択部により選択されたモジュラインタフェースの記述を用いて、前記機能プログラムに含まれる、ハードウェアモジュールの機能が記述されたモジュール記述と、前記複数のハードウェアモジュールで構成される回路の機能が記述されるトップ記述とを書き換えることで、前記選択部により選択されたモジュラインタフェースの記述を前記機能プログラムに挿入して前記機能プログラムを前記高位合成可能なプログラムに変換する請求項1に記載の設計支援装置。
The program conversion unit
Using the description of the modular interface selected by the selection unit, the module description describing the function of the hardware module included in the function program, and the function of the circuit composed of the plurality of hardware modules are described. The design support according to claim 1, wherein a description of a modular interface selected by the selection unit is inserted into the function program by rewriting the top description to be converted into the program capable of high-level synthesis. apparatus.
前記選択部は、
複数の入出力関係が記述されるとともに、記述されている入出力関係ごとに、選択すべきモジュラインタフェースが記述されているインタフェース選択情報を取得し、
前記解析抽出部により抽出されたハードウェアモジュール間の入出力関係ごとに、前記インタフェース選択情報に記述されている、対応するモジュラインタフェースを選択する請求項1に記載の設計支援装置。
The selection unit includes:
A plurality of input / output relationships are described, and for each described input / output relationship, interface selection information that describes the modular interface to be selected is acquired.
The design support apparatus according to claim 1, wherein a corresponding modular interface described in the interface selection information is selected for each input / output relationship between hardware modules extracted by the analysis extraction unit.
前記設計支援装置は、更に、
前記高位合成可能なプログラムを用いて高位合成を実行し、高位合成実行結果における性能が要求性能を満たさない場合に、前記高位合成可能なプログラムへの変換に用いられたモジュラインタフェースのパラメータを変更する処理又は前記高位合成可能なプログラムへの変換に用いられたモジュラインタフェースを他のモジュラインタフェースに切り替える処理を行う調整処理部を有し、
前記プログラム変換部は、
前記調整処理部によりパラメータが変更された後のモジュラインタフェースの記述又は前記調整処理部により切り替えられた後のモジュラインタフェースの記述を前記機能プログラムに挿入して前記機能プログラムを高位合成可能なプログラムに変換する請求項1に記載の設計支援装置。
The design support device further includes:
The high-level synthesis is executed using the program capable of high-level synthesis, and the modular interface parameters used for the conversion to the program capable of high-level synthesis are changed when the performance in the high-level synthesis execution result does not satisfy the required performance. An adjustment processing unit for performing processing or processing for switching the modular interface used for conversion into the program capable of high-level synthesis to another modular interface;
The program conversion unit
The description of the modular interface after the parameter is changed by the adjustment processing unit or the description of the modular interface after the switching by the adjustment processing unit is inserted into the function program to convert the function program into a program capable of high-level synthesis. The design support apparatus according to claim 1.
前記調整処理部は、
前記高位合成実行結果における転送ビット量が、転送ビット量についての要求性能を満たさない場合に、前記高位合成可能なプログラムへの変換に用いられたモジュラインタフェースのデータ幅を変更する処理を行い、
前記高位合成実行結果における回路規模が、回路規模についての要求性能を満たさない場合に、前記高位合成可能なプログラムへの変換に用いられたモジュラインタフェースよりも回路規模が小さい他のモジュラインタフェースに切り替える処理を行う請求項4に記載の設計支援装置。
The adjustment processing unit
When the transfer bit amount in the high-level synthesis execution result does not satisfy the required performance for the transfer bit amount, a process of changing the data width of the modular interface used for the conversion to the program capable of high-level synthesis is performed,
Processing for switching to another modular interface having a smaller circuit scale than the modular interface used for conversion to the program capable of high-level synthesis when the circuit scale in the high-level synthesis execution result does not satisfy the required performance for the circuit scale The design support apparatus of Claim 4 which performs.
コンピュータが、機能プログラムを解析し、複数のハードウェアモジュールにおけるハードウェアモジュール間の入出力関係を抽出する解析抽出ステップと、
ハードウェアモジュール間のインタフェース又はブリッジのインタフェース関数及び入出力ポートがカプセル化された高位合成可能な形式の記述を、モジュラインタフェースとして、複数記憶するインタフェースライブラリを参照して、前記コンピュータが、前記解析抽出ステップにより抽出されたハードウェアモジュール間の入出力関係ごとにモジュラインタフェースを選択する選択ステップと、
前記コンピュータが、前記選択ステップにより選択されたモジュラインタフェースを前記機能プログラムに挿入して前記機能プログラムを高位合成可能なプログラムに変換するプログラム変換ステップとを有する設計支援方法。
An analysis extraction step in which the computer analyzes the function program and extracts an input / output relationship between the hardware modules in the plurality of hardware modules;
The computer extracts the analysis and extraction by referring to an interface library that stores a plurality of descriptions in a form capable of high-level synthesis in which interface functions between hardware modules or bridge interface functions and input / output ports are encapsulated as modular interfaces. A selection step of selecting a modular interface for each input / output relationship between the hardware modules extracted in the step;
A design support method comprising: a program conversion step in which the computer converts the functional program into a program capable of high-level synthesis by inserting the modular interface selected in the selection step into the functional program.
機能プログラムを解析し、複数のハードウェアモジュールにおけるハードウェアモジュール間の入出力関係を抽出する解析抽出ステップと、
ハードウェアモジュール間のインタフェース又はブリッジのインタフェース関数及び入出力ポートがカプセル化された高位合成可能な形式の記述を、モジュラインタフェースとして、複数記憶するインタフェースライブラリを参照して、前記解析抽出ステップにより抽出されたハードウェアモジュール間の入出力関係ごとにモジュラインタフェースを選択する選択ステップと、
前記選択ステップにより選択されたモジュラインタフェースの記述を前記機能プログラムに挿入して前記機能プログラムを高位合成可能なプログラムに変換するプログラム変換ステップとをコンピュータに実行させる設計支援プログラム。
An analysis and extraction step of analyzing a functional program and extracting an input / output relationship between hardware modules in a plurality of hardware modules;
A description of a format capable of high-level synthesis in which interface functions between hardware modules or bridge interface functions and input / output ports are encapsulated is extracted as a modular interface by referring to an interface library that stores a plurality of descriptions. A selection step for selecting a modular interface for each input / output relationship between the hardware modules;
A design support program for causing a computer to execute a program conversion step of inserting a description of the modular interface selected in the selection step into the function program and converting the function program into a program capable of high-level synthesis.
JP2015028018A 2015-02-16 2015-02-16 Design support device, design support method and design support program Pending JP2016151830A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015028018A JP2016151830A (en) 2015-02-16 2015-02-16 Design support device, design support method and design support program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015028018A JP2016151830A (en) 2015-02-16 2015-02-16 Design support device, design support method and design support program

Publications (1)

Publication Number Publication Date
JP2016151830A true JP2016151830A (en) 2016-08-22

Family

ID=56696481

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015028018A Pending JP2016151830A (en) 2015-02-16 2015-02-16 Design support device, design support method and design support program

Country Status (1)

Country Link
JP (1) JP2016151830A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11281831B2 (en) 2017-03-14 2022-03-22 Fujitsu Limited Information processing device, information processing method, and recording medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000123055A (en) * 1998-10-13 2000-04-28 Nec Corp Device and method for supporting circuit design
JP2003216669A (en) * 2002-01-23 2003-07-31 Nec Electronics Corp Processor synthesizer, system lsi synthesizer, processor synthesizing method, system lsi synthesizing method, and recording medium
JP2008204341A (en) * 2007-02-22 2008-09-04 Nec Corp Interface composite device
JP2013003999A (en) * 2011-06-21 2013-01-07 Nec Corp Verification device, verification method, and verification program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000123055A (en) * 1998-10-13 2000-04-28 Nec Corp Device and method for supporting circuit design
JP2003216669A (en) * 2002-01-23 2003-07-31 Nec Electronics Corp Processor synthesizer, system lsi synthesizer, processor synthesizing method, system lsi synthesizing method, and recording medium
JP2008204341A (en) * 2007-02-22 2008-09-04 Nec Corp Interface composite device
JP2013003999A (en) * 2011-06-21 2013-01-07 Nec Corp Verification device, verification method, and verification program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11281831B2 (en) 2017-03-14 2022-03-22 Fujitsu Limited Information processing device, information processing method, and recording medium

Similar Documents

Publication Publication Date Title
US9147024B1 (en) Hardware and software cosynthesis performance estimation
JP7012689B2 (en) Command execution method and device
US9864828B1 (en) Hardware acceleration device handoff for using programmable integrated circuits as hardware accelerators
JP7252694B2 (en) Apparatus and method for dynamically replacing calls to software libraries with calls to accelerators
US10437946B1 (en) Using implemented core sources for simulation
US9880966B1 (en) Encapsulating metadata of a platform for application-specific tailoring and reuse of the platform in an integrated circuit
CN111352697A (en) Flexible physical function and virtual function mapping
US10387584B1 (en) Streaming on hardware-software platforms in model based designs
US11475199B1 (en) Parallelizing simulation and hardware co-simulation of circuit designs through partitioning
WO2018080735A2 (en) Method, apparatus and system for automatically performing end-to-end channel mapping for an interconnect
US9824173B1 (en) Software development-based compilation flow for hardware implementation
CN116501415B (en) Command execution method and device, electronic equipment and computer readable storage medium
US20100088656A1 (en) Property checking system, property checking method, and computer-readable storage medium
Gladigau et al. A system-level synthesis approach from formal application models to generic bus-based MPSoCs
US10816600B1 (en) Protocol analysis and visualization during simulation
JP2016151830A (en) Design support device, design support method and design support program
JP6265788B2 (en) Simulation device, interface module generation device, and program
US20230110701A1 (en) Techniques for design verification of domain crossings
US12086521B2 (en) Circuit design simulation and clock event reduction
US20130290917A1 (en) System and methods for inferring higher level descriptions from rtl topology based on connectivity propagation
US20140033155A1 (en) Systems and methods for generating a higher level description of a circuit design based on connectivity strengths
JPWO2019092849A1 (en) Simulation apparatus, simulation method, and simulation program
US10303832B2 (en) Architecture generating device
US10311188B2 (en) Circuit design support apparatus, circuit design support method, and computer readable medium
US11403447B1 (en) Runtime intellectual property core metadata to rebuild a next-compile-time intellectual property core

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170123

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180306

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180911