JP2010026968A - Circuit generation support program and circuit generation support method - Google Patents

Circuit generation support program and circuit generation support method Download PDF

Info

Publication number
JP2010026968A
JP2010026968A JP2008190596A JP2008190596A JP2010026968A JP 2010026968 A JP2010026968 A JP 2010026968A JP 2008190596 A JP2008190596 A JP 2008190596A JP 2008190596 A JP2008190596 A JP 2008190596A JP 2010026968 A JP2010026968 A JP 2010026968A
Authority
JP
Japan
Prior art keywords
circuit
source code
description
generation support
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2008190596A
Other languages
Japanese (ja)
Inventor
Yasuhiro Akiyama
靖浩 秋山
Masahiro Kageyama
昌広 影山
Muneaki Yamaguchi
宗明 山口
Koji Hosoki
浩二 細木
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2008190596A priority Critical patent/JP2010026968A/en
Publication of JP2010026968A publication Critical patent/JP2010026968A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To generate a source code suitable to be mounted on target hardware on the basis of a source code described in a software language, such as C language. <P>SOLUTION: A second source code (104) for a target for mounting on the target hardware is generated on the basis of a first source code (103) by executing by a computer system each of the following processes: for sequentially retrieving circuit types which are achieved by an action algorithm with reference to the first source code (103) that describes the action algorithm of an electronic circuit in a software language; for selecting candidates corresponding to descriptions by retrieved circuit are from a description library (102); for replacing the descriptions by circuit type of the first source code with a description following the specifications of the target hardware on the basis of the selected candidates to make the second source code for the target (104). <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明はソースコードをターゲットハードウェアへの実装に適したソースコードに変換するプログラム及び変換方法に関し、例えば半導体集積回路(LSI)の開発環境に適用して有効な自動化技術に関する。   The present invention relates to a program and a conversion method for converting source code into source code suitable for mounting on target hardware, for example, an automation technique effective when applied to a development environment of a semiconductor integrated circuit (LSI).

電子回路の動作アルゴリズムを例えばC言語等の高級言語で記述した信号処理ソースコード(以下、信号処理Cソースコードと称する)を入力して、ハードウェア記述言語を出力する方法が特許文献1に記載される。これは、入力したソースコード記述の構文を解析し、リソースバインディングとスケジューリングを行ってRTL回路図を出力するものである。   Patent Document 1 discloses a method of inputting a signal processing source code (hereinafter referred to as a signal processing C source code) in which an operation algorithm of an electronic circuit is described in a high-level language such as C language and outputting a hardware description language. Is done. This analyzes the syntax of the input source code description, performs resource binding and scheduling, and outputs an RTL circuit diagram.

また、特許文献2には、C言語で書かれたアルゴリズム記述をハードウェア設計に最適化する技術が記載される。すなわち、論理回路の演算または制御アルゴリズムをC言語によって記述したアルゴリズムC記述1を、機能C変換システムにおいて、処理単位で複数の状態に分割し、分割した処理の実行順序を状態の遷移として記述して、制御記述が埋め込まれた機能C記述2を生成する。この機能C記述2に、RTレベルC変換システムにおいて、時間の概念であるクロック記述を挿入して、RTレベルC記述3に変換する。RTレベルC記述3は、既存の変換ツールによって、HDLによるRTレベル記述に変換される。   Patent Document 2 describes a technique for optimizing an algorithm description written in C language for hardware design. That is, an algorithm C description 1 in which an arithmetic operation or control algorithm of a logic circuit is described in C language is divided into a plurality of states in a processing unit in a function C conversion system, and the execution order of the divided processing is described as a state transition. Thus, the function C description 2 in which the control description is embedded is generated. In the RT level C conversion system, a clock description which is a concept of time is inserted into the function C description 2 and converted into the RT level C description 3. The RT level C description 3 is converted into an HDL RT level description by an existing conversion tool.

特開2005-78402号公報Japanese Patent Laid-Open No. 2005-78402 特開2003-16122号公報JP 2003-16122 A

コンピュータ上で実行することを目的に作成された上記信号処理Cソースコードは、演算に使用するバッファメモリを大きな容量で確保し、且つ、処理が複雑なループ構造で構成される傾向にある。上記特許文献1、2では、前述の信号処理Cソースコードをそのまま入力した場合、ターゲットハードウェア上でメモリや回路素子のリソース不足となることが予想され、これについて考慮されていない。   The signal processing C source code created for the purpose of executing on a computer tends to secure a buffer memory used for calculation with a large capacity and to have a complicated loop structure. In Patent Documents 1 and 2, when the signal processing C source code described above is input as it is, it is expected that there will be a shortage of memory and circuit element resources on the target hardware, and this is not taken into consideration.

本発明の目的は、C言語などのソフトウェア言語で記述されたソースコードに基づいてターゲットハードウェアへの実装に適したソースコードを生成する技術を提供することにある。   An object of the present invention is to provide a technique for generating a source code suitable for mounting on target hardware based on a source code described in a software language such as C language.

本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。   The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.

本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。   The following is a brief description of an outline of typical inventions disclosed in the present application.

すなわち、電子回路の動作アルゴリズムをソフトウェア言語で記述した第1ソースコードを参照して、動作アルゴリズムで実現する回路種別を順次検索し、検索された回路種別の記述に対応する候補を選択し、選択された候補に基づいて前記回路種別の記述をターゲットハードウェアの仕様に則った記述に置き換え、置き換えが完了されたターゲット用の第2ソースコードを出力するそれぞれの処理を、コンピュータ装置で実行することによって、前記第1ソースコードに基づいてターゲットハードウェアへの実装に向けたターゲット用の第2ソースコードを生成する。   That is, referring to the first source code in which the operation algorithm of the electronic circuit is described in the software language, the circuit types realized by the operation algorithm are sequentially searched, and the candidate corresponding to the description of the searched circuit type is selected and selected. The description of the circuit type is replaced with a description conforming to the specifications of the target hardware based on the candidates, and each process of outputting the second source code for the target for which the replacement has been completed is executed by the computer device The second source code for the target for implementation on the target hardware is generated based on the first source code.

本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。   The effects obtained by the representative ones of the inventions disclosed in the present application will be briefly described as follows.

すなわち、C言語などのソフトウェア言語で記述されたソースコードに基づいてターゲットハードウェアへの実装に適したソースコードを生成することができる。   That is, it is possible to generate source code suitable for mounting on target hardware based on source code described in a software language such as C language.

1.実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
1. First, an outline of a typical embodiment of the invention disclosed in the present application will be described. Reference numerals in the drawings referred to in parentheses in the outline description of the representative embodiments merely exemplify what are included in the concept of the components to which the reference numerals are attached.

〔1〕本発明に係る回路生成支援プログラム(100)は、電子回路の動作アルゴリズムをソフトウェア言語で記述した第1ソースコード(103)を入力する第1処理(401)と、入力した第1ソースコードを参照して、動作アルゴリズムで実現する回路種別を順次検索する第2処理(402〜405)と、検索された回路種別の記述に対応する候補を選択する第3処理(507,508)と、前記第3処理で選択された候補に基づいて前記第1ソースコードの回路種別の記述をターゲットハードウェアの仕様に則った記述に置き換えてターゲット用の第2ソースコード(104)とする第4処理(509)とを、コンピュータ装置で実行することにより、前記第1ソースコードからターゲットハードウェアへの実装に向けたターゲット用の第2ソースコードを得る。   [1] A circuit generation support program (100) according to the present invention includes a first process (401) for inputting a first source code (103) describing an operation algorithm of an electronic circuit in a software language, and an input first source. A second process (402 to 405) for sequentially searching for circuit types realized by the operation algorithm with reference to the code, and a third process (507, 508) for selecting a candidate corresponding to the description of the searched circuit type, Based on the candidate selected in the third process, the description of the circuit type of the first source code is replaced with a description conforming to the specifications of the target hardware to obtain the second source code (104) for the target. The target for mounting from the first source code to the target hardware by executing the processing (509) on the computer device Obtaining a second source code.

一般的に、第1ソースコードとしての信号処理Cソースコードから第2ソースコードとしてのハードウェア用Cソースコードへの変換は、ノウハウと高度なテクニックが必要であり、開発工数も大きくなる傾向であることが知られている。上記手段によれば、任意の動作アルゴリズムで実現する回路部分を、演算器の構成やメモリ容量等のハードウェアの仕様に即してチユーニングされた記述に変換することができ、回路若しくはシステムの開発工数の短縮に寄与することができる。   Generally, conversion from signal processing C source code as the first source code to hardware C source code as the second source code requires know-how and advanced techniques, and the development man-hour tends to increase. It is known that there is. According to the above means, it is possible to convert a circuit portion realized by an arbitrary operation algorithm into a description that is tuned according to hardware specifications such as a configuration of a computing unit and a memory capacity, and development of a circuit or a system. It can contribute to shortening of man-hours.

〔2〕項1の回路生成支援プログラムにおいて、前記ソフトウェア言語はC言語である。   [2] In the circuit generation support program according to item 1, the software language is a C language.

〔3〕項1の回路設生成援プログラムにおいて、前記第3処理において、記述ライブラリ(102)から前記候補を選択する。ライブラリから候補の選択を行うので、動作実績のあるものをライブラリとして用意することも可能であり、それによって、第2ソースコードを用いて開発される回路若しくはシステムの動作面での信頼性を高めることも容易になる。例えば、処理の実行サイクルが短いこと、演算に使用するメモリ容量が小さいこと、等の仕様上の制約に対して実績のある記述、あるいは、データ読み出し、書き込みが遅いデバイスへのアクセス回数を少なくするための記述等が基本的なセットとしてライブラリに格納される。   [3] In the circuit configuration generation assistance program according to item 1, in the third process, the candidate is selected from the description library (102). Since candidates are selected from the library, it is also possible to prepare a library having a track record of operation as a library, thereby increasing the reliability of the circuit or system developed using the second source code. It becomes easy. For example, reduce the number of accesses to devices that have a proven record of specification constraints such as short processing execution cycles and small memory capacity for computation, or devices that are slow to read or write data. The description for this is stored in the library as a basic set.

〔4〕項3の回路生成支援プログラムは前記記述ライブラリを更に有する。後から記述ライブラリを構築する手間が省ける。   [4] The circuit generation support program according to item 3 further includes the description library. This saves you the trouble of building a description library later.

〔5〕項3の回路生成支援プログラムにおいて、前記第2処理は、前記第1ソースコードに回路種別として予め埋め込まれている回路種別コードを検索する検索処理(402)と、検索された回路種別コードとその記述位置を特定するための情報を蓄積する蓄積処理(404,405)とを含む。前記第4処理において、前記回路種別コードはコメント化され、当該コメントの次に、ターゲットハードウェアの仕様に則った対応する記述が挿入される。回路種別コードは例えば関数のタグ若しくはヘッダ、又はラベルである。   [5] In the circuit generation support program according to item 3, the second process includes a search process (402) for searching for a circuit type code embedded in advance as a circuit type in the first source code, and a searched circuit type. And storage processing (404, 405) for storing information for specifying the code and its description position. In the fourth process, the circuit type code is commented, and a description corresponding to the specification of the target hardware is inserted after the comment. The circuit type code is, for example, a function tag, header, or label.

〔6〕項5の回路生成支援プログラムにおいて、前記第4処理は、前記記述ライブラリから選択した一つの候補に与えるパラメータの入力ウインドウを表示(504)し、前記入力ウインドウで指定されたパラメーラがあるときにはそれに従った記述を生成して置き換えを行う(505〜509)。変換内容に対する融通性を増すことができる。   [6] In the circuit generation support program according to item 5, the fourth process displays (504) an input window for parameters to be given to one candidate selected from the description library, and there is a parameter specified in the input window. In some cases, a description is generated and replaced (505 to 509). Flexibility for conversion contents can be increased.

〔7〕本発明に係る回路生成支援方法は、電子回路の動作アルゴリズムをソフトウェア言語で記述した第1ソースコード(103)を入力する第1処理(401)と、入力した第1ソースコードを参照して、動作アルゴリズムで実現する回路種別を順次検索する第2処理(402〜405)と、検索された回路種別の記述に対応する候補を選択する第3処理(507,508)と、前記第3処理で選択された候補に基づいて前記第1ソースコードの回路種別の記述をターゲットハードウェアの仕様に則った記述に置き換えてターゲット用の第2ソースコードとする第4処理(509)とを含み、コンピュータ装置を用いて、第1ソースコードをターゲットハードウェアへの実装に向けたターゲット用の第2ソースコードに変換する。   [7] The circuit generation support method according to the present invention refers to the first process (401) for inputting the first source code (103) describing the operation algorithm of the electronic circuit in software language, and the input first source code Then, a second process (402 to 405) for sequentially searching circuit types realized by the operation algorithm, a third process (507, 508) for selecting candidates corresponding to the description of the searched circuit type, A fourth process (509) that replaces the description of the circuit type of the first source code with a description conforming to the specifications of the target hardware based on the candidates selected in the three processes to obtain the second source code for the target. In addition, the first source code is converted into the second source code for the target for implementation on the target hardware using a computer device.

上記手段によれば、任意の動作アルゴリズムで実現する回路部分を、演算器の構成やメモリ容量等のハードウェアの仕様上の制約に即してチユーニングされた記述に変換することができる。   According to the above means, a circuit part realized by an arbitrary operation algorithm can be converted into a description that is tuned according to restrictions on hardware specifications such as the configuration of a computing unit and memory capacity.

〔8〕項7の回路生成支援方法において、前記ソフトウェア言語はC言語である。   [8] In the circuit generation support method according to item 7, the software language is a C language.

〔9〕項7の回路生成支援方法において、前記第3処理において、記述ライブラリ(102)から前記候補を選択する。   [9] In the circuit generation support method according to item 7, the candidate is selected from the description library (102) in the third process.

〔10〕項9の回路生成支援方法において、前記第2処理は、前記第1ソースコードに回路種別として予め埋め込まれている回路種別コードを検索する検索処理(402)と、検索された回路種別コードとその記述位置を特定するための情報を蓄積する蓄積処理(405,404)とを含む。前記第4処理において、回路種別コードはコメント化され、当該コメントの次に、ターゲットハードウェアの仕様に則った対応する記述が挿入される。   [10] In the circuit generation support method according to [9], the second process includes a search process (402) for searching for a circuit type code embedded in advance as a circuit type in the first source code, and a searched circuit type And storage processing (405, 404) for storing the code and information for specifying the description position. In the fourth process, the circuit type code is commented, and a description corresponding to the specification of the target hardware is inserted after the comment.

〔11〕項10の回路生成支援方法において、前記第4処理は、前記記述ライブラリから選択した一つの候補に与えるパラメータの入力ウインドウを表示し(504)、前記入力ウインドウで指定されたパラメーラがあるときにはそれに従った記述を生成して置き換えを行う(505〜509)。   [11] In the circuit generation support method according to item 10, the fourth process displays an input window for parameters to be given to one candidate selected from the description library (504), and there is a parameter specified in the input window. In some cases, a description is generated and replaced (505 to 509).

2.実施の形態の詳細
実施の形態について更に詳述する。以下、本発明を実施するための形態を図面に基づいて詳細に説明する。なお、発明を実施するための形態を説明するための全図において、同一の機能を有する要素には同一の符号を付して、その繰り返しの説明を省略する。
2. Details of Embodiments Embodiments will be further described in detail. DESCRIPTION OF EMBODIMENTS Hereinafter, embodiments for carrying out the present invention will be described in detail with reference to the drawings. Note that components having the same function are denoted by the same reference symbols throughout the drawings for describing the embodiments for carrying out the invention, and the repetitive description thereof will be omitted.

図1には本発明に係る回路生成支援プログラムの構成、及び回路生成支援プログラムと設計対象にされる回路のソースコードとの関係が模式的に示される。回路設計生成プログラムは半導体集積回路等の回路若しくはシステムを開発するための開発環境の一部を構成するものであり、PC(パーソナルコンピュータ)又はEWS(エンジニアリングワークステーション)等のコンピュータ装置で実行されるプログラムである。   FIG. 1 schematically shows the configuration of a circuit generation support program according to the present invention and the relationship between the circuit generation support program and the source code of a circuit to be designed. The circuit design generation program constitutes a part of a development environment for developing a circuit or system such as a semiconductor integrated circuit, and is executed by a computer apparatus such as a PC (personal computer) or an EWS (engineering workstation). It is a program.

この回路生成支援プログラム100は、コンピュータ装置で実行されることにより、電子回路の動作アルゴリズムをソフトウェア言語で記述した第1ソースコードとしての信号処理Cソースコード103を、ターゲットハードウェアへの実装に向けたターゲット用の第2ソースコードとしてのハードウェア用Cソースコード104に変換するための処理を制御する。ターゲットハードウェアとは開発対象とされる回路若しくはシステムを意味する。回路生成支援プログラム100は、前記変換を行うための処理手順を規定するためのハードウェア用Cモデル生成部101と、信号処理ライブラリ102から成る。   When this circuit generation support program 100 is executed by a computer device, the signal processing C source code 103 as the first source code in which the operation algorithm of the electronic circuit is described in a software language is mounted on the target hardware. The processing for converting into the hardware C source code 104 as the second source code for the target is controlled. Target hardware means a circuit or system to be developed. The circuit generation support program 100 includes a hardware C model generation unit 101 for defining a processing procedure for performing the conversion, and a signal processing library 102.

ハードウェア用Cモデル生成部101は、信号処理Cソースコード103を入力し、入力した信号処理Cソースコード103を参照して、当該信号処理Cソースコード103に記述された動作アルゴリズムで実現する回路種別を順次検索し、検索された回路種別の記述に対応する候補を前記信号処理ライブラリ102から選択し、選択した候補に基づいて前記回路種別のターゲットハードウェアの仕様に則った記述に置き換え、置き換えが完了されたハードウェア用Cソースコード104を出力する、一連の処理を制御する。信号処理ライブラリ102には例えば機能単位で複数種類のハードウェア用Cソースコードフォームが格納されている。ハードウェア用Cソースコードフォームが選択可能な前記候補とされる。   A hardware C model generation unit 101 receives a signal processing C source code 103, refers to the input signal processing C source code 103, and implements a circuit realized by an operation algorithm described in the signal processing C source code 103 The type is sequentially searched, a candidate corresponding to the description of the searched circuit type is selected from the signal processing library 102, and is replaced with a description according to the specification of the target hardware of the circuit type based on the selected candidate. A series of processes for outputting the hardware C source code 104 that has been completed is controlled. The signal processing library 102 stores, for example, a plurality of types of hardware C source code forms in units of functions. The C source code form for hardware is selected as the selectable candidate.

回路生成支援プログラム100の具体的な処理手順を説明する前に当該プログラムの動作環境である前記コンピュータ装置にいて説明する。図2には回路生成支援プログラム100を実行するコンピュータ装置が例示される。   Before describing the specific processing procedure of the circuit generation support program 100, the computer apparatus which is the operating environment of the program will be described. FIG. 2 illustrates a computer device that executes the circuit generation support program 100.

回路生成支援プログラム100を実行する前記コンピュータ装置200は、例えば、中央演算処理装置としてのCPU201、実行プログラムや演算対象のデータ等を格納するためのワーク領域として利用されるRAM(ランダム・アクセス・メモリ)などのメモリ202、及び実行プログラムや実行プログラムが使用する入出力ファイルを格納するためのファイルストレージとしての補助記憶装置203を備え、それらはバス215に共通接続される。また、ユーザがコンピュータ装置200を操作するための入出力デバイスとして、モニタ209、キーボード210、及びマウス211がバス215に接続される。更にバス215には、記録媒体読出し書込み装置207、そして、ネットワークコントローラ208が接続される。記録媒体読出し書込み装置207はCD−ROMなどのコンピュータ読み取り可能な記録媒体212,213,214に対する読出し及び書き込みのアクセス制御を行う。ネットワークコントローラ208は図示を省略するネットワークに対してデータやプログラムのダウンロード及びアップロードのための通信プロトコルを制御する。   The computer device 200 that executes the circuit generation support program 100 includes, for example, a CPU 201 as a central processing unit, a RAM (Random Access Memory) used as a work area for storing an execution program, data to be calculated, and the like. ) And an auxiliary storage device 203 as a file storage for storing an execution program and an input / output file used by the execution program, and these are commonly connected to the bus 215. A monitor 209, a keyboard 210, and a mouse 211 are connected to the bus 215 as input / output devices for the user to operate the computer device 200. Further, a recording medium reading / writing device 207 and a network controller 208 are connected to the bus 215. The recording medium read / write device 207 performs read and write access control for computer-readable recording media 212, 213, and 214 such as a CD-ROM. The network controller 208 controls a communication protocol for downloading and uploading data and programs to a network (not shown).

回路生成支援プログラム100および信号処理Cソースコードは、特に制限されないが、記録媒体212、213で提供され、記録媒体212,213から読み取られた回路生成プログラム100及び信号処理Cソースコード103は補助記憶装置203に一旦格納される。   The circuit generation support program 100 and the signal processing C source code are not particularly limited, but the circuit generation program 100 and the signal processing C source code 103 provided by the recording media 212 and 213 and read from the recording media 212 and 213 are auxiliary storage. Once stored in the device 203.

回路生成支援プログラム100を実行するとき、先ず、CPU201が回路生成支援プログラム100を補助記憶装置203からメモリ202にロードし、CPU210はロードされた回路生成支援プログラム100をメモリアクセスによってフェッチして実行する。回路生成支援プログラム100は、実行制御用中間データとして回路生成情報ファイル204作成し、回路生成情報ファイル204および生成されたハードウェア用Cソースコード104は補助記憶装置203に一時的に格納される。回路生成情報ファイル204および生成されたハードウェア用Cソースコード104の補助記憶装置203への一時的な格納はメモリ202のワーク領域が足りなくなったとき逐次行うようにすれば足りる。信号処理Cソースコード103は、コンピュータ装置200上でオペレータが編集して用意してもよいし、前述の如く、記録媒体読出し書込み装置207を介して記録媒体213からダウンロードし、あるいはネットワークコントローラ208を介してネットワークからダウンロードして用意してもよい。回路生成支援プログラム100が出力したハードウェア用Cソースコード104は一時的に補助記憶装置203が保持し、記録媒体読出し書込み装置207を介して記録媒体214に書き込み、あるいはネットワークコントローラ208を介して特定の通信相手にアップロードしてもよい。   When executing the circuit generation support program 100, first, the CPU 201 loads the circuit generation support program 100 from the auxiliary storage device 203 to the memory 202, and the CPU 210 fetches and executes the loaded circuit generation support program 100 by memory access. . The circuit generation support program 100 creates a circuit generation information file 204 as intermediate data for execution control, and the circuit generation information file 204 and the generated hardware C source code 104 are temporarily stored in the auxiliary storage device 203. It is sufficient to temporarily store the circuit generation information file 204 and the generated hardware C source code 104 in the auxiliary storage device 203 when the work area of the memory 202 is insufficient. The signal processing C source code 103 may be prepared by editing by the operator on the computer device 200, or may be downloaded from the recording medium 213 via the recording medium read / write device 207 or the network controller 208 may be installed. You may download from a network and prepare. The hardware C source code 104 output from the circuit generation support program 100 is temporarily held in the auxiliary storage device 203 and written to the recording medium 214 via the recording medium read / write device 207 or specified via the network controller 208. You may upload to other communication partners.

図3には回路生成支援プログラムの最上位の処理フローを例示する。回路生成支援プログラム100が起動されると(300)、回路生成情報ファイル204、信号処理Cソースコード103、ハードウェア用Cソースコード104の入出力先を選択するための入出力ファイル選択用ウインドウを表示する(301)。入出力ファイル選択用ウインドウでは、まず、信号処理Cソースコード103の入力元をファイル名等で選択し(302)、回路生成情報ファイル204の出力先をファイル名等で選択し(303)、ハードウェア用Cソースコード104の出力先をファイル名等で選択する処理(304)を行う。次に、回路種別検索ボタン(図8に図示)の操作等による検索指示に応答して、信号処理Cソースコード103を参照して、当該信号処理Cソースコード103に記述された動作アルゴリズムで実現する回路種別を順次検索する(305)。さらに、回路生成実行ボタン(図8に図示)の操作等による開始指示に応答して、検索された回路種別の記述に従って信号処理ライブラリから選択した候補を用いて当該検索された回路種別の記述からターゲットハードウェアの仕様に則った記述を生成する処理を実行する(306)。生成処理の終了後、継続して別の信号処理Cソースコード103を対象に同様の処理を行うかが判別される(307)。継続する場合は処理ステップ302に戻る。継続しない場合は、回路生成支援プログラム100の実行を終了する(308)。   FIG. 3 illustrates the highest level processing flow of the circuit generation support program. When the circuit generation support program 100 is started (300), an input / output file selection window for selecting an input / output destination of the circuit generation information file 204, the signal processing C source code 103, and the hardware C source code 104 is displayed. It is displayed (301). In the input / output file selection window, first, the input source of the signal processing C source code 103 is selected by a file name or the like (302), the output destination of the circuit generation information file 204 is selected by a file name or the like (303), and the hardware A process (304) of selecting an output destination of the wearable C source code 104 by a file name or the like is performed. Next, in response to a search instruction by operating a circuit type search button (illustrated in FIG. 8) or the like, the signal processing C source code 103 is referred to, and the operation algorithm described in the signal processing C source code 103 is implemented. The circuit types to be searched are sequentially searched (305). Further, in response to a start instruction by an operation of a circuit generation execution button (shown in FIG. 8) or the like, from the description of the retrieved circuit type using a candidate selected from the signal processing library according to the description of the retrieved circuit type. A process for generating a description according to the specifications of the target hardware is executed (306). After completion of the generation process, it is determined whether the same process is continuously performed for another signal processing C source code 103 (307). When continuing, it returns to the process step 302. If not continued, the execution of the circuit generation support program 100 is terminated (308).

図4には回路種別検索(図3のステップ305)の詳細な処理フローが例示される。ここでは回路種別して信号処理Cソースコードに回路種別コードが埋め込まれている場合を一例とする。   FIG. 4 illustrates a detailed processing flow of the circuit type search (step 305 in FIG. 3). Here, a case where the circuit type code is embedded in the signal processing C source code is taken as an example.

まず、回路種別が記述された記述数を数えるためのカウンタCNTをゼロに初期化し(400)、処理対象の信号処理Cソースコード205を読み出す(401)。信号処理Cソースコード205から回路種別コードを検索する(402)。回路種別コードの出現の有無を判断し(403)、出現した場合は、回路種別コードおよび回路種別コードの出現位置を回路生成情報ファイル204に記録し(404)、カウンタCNTに1を加算して処理ステップ402に戻る(405)。回路種別コードが出現しなくなるまでステップ402乃至405の処理を繰り返し、回路種別コードが出現しなくなったとき、カウンタCNTを回路生成情報ファイル204に記録して、図3の上位フローに戻る(406)。   First, the counter CNT for counting the number of descriptions in which the circuit type is described is initialized to zero (400), and the signal processing C source code 205 to be processed is read (401). A circuit type code is retrieved from the signal processing C source code 205 (402). The presence / absence of the circuit type code is determined (403). If it appears, the circuit type code and the position of the circuit type code appear in the circuit generation information file 204 (404), and 1 is added to the counter CNT. The process returns to process step 402 (405). Steps 402 to 405 are repeated until the circuit type code no longer appears. When the circuit type code no longer appears, the counter CNT is recorded in the circuit generation information file 204 and the process returns to the upper flow of FIG. 3 (406). .

図5には回路記述生成処理(図3のステップ306)の詳細な処理フローが示される。回路生成情報ファイル204から前記回路種別の記述数を示すカウンタCNTの値が読み出される(500)。ここで、カウンタCNTの値がゼロの場合、変換すべき対象回路が無いことを示しているので、直ちに処理を終了する(501)。カウンタCNTの値がゼロより大きい場合、回路生成情報ファイル204から、回路種別コードと生成回路挿入位置を読み出す(502,503)。次に、回路種別コードに対応する回路パラメータ入力ウインドウを表示する(504)。回路パラメータ入力ウインドウには、回路記述の生成に必要なパラメータが入力される(505)。同ウインドウ表示直後は、回路パラメータの入力欄には所定の初期値が表示されており、修正が無ければ初期値が回路パラメータとされる(505)。必要な全部の回路パラメータの入力が完了するまで処理ステップ505が行なわれる(506)。全部の回路パラメータの入力が完了した時点で、信号処理ライブラリ102から回路種別コードに該当する候補としてのソースコードフォームが読み出され(507)、入力された回路パラメータがソースコードフォームに与えられ、これによって、当該回路種別コードに対応する回路部分についてのハードウェア用Cソースコードが生成される(508)。これによって生成されたCソースコードが信号処理Cソースコード205における対応する回路種別コードの位置に挿入され、カウンタCNTの値から1を減算して処理ステップ501に戻る。以後、カウンタCNTの値がゼロになるまで、処理ステップ501乃至処理ステップ510を繰り返す。   FIG. 5 shows a detailed processing flow of the circuit description generation process (step 306 in FIG. 3). The value of the counter CNT indicating the number of descriptions of the circuit type is read from the circuit generation information file 204 (500). Here, if the value of the counter CNT is zero, it indicates that there is no target circuit to be converted, so the processing is immediately terminated (501). When the value of the counter CNT is larger than zero, the circuit type code and the generation circuit insertion position are read from the circuit generation information file 204 (502, 503). Next, a circuit parameter input window corresponding to the circuit type code is displayed (504). In the circuit parameter input window, parameters necessary for generating the circuit description are input (505). Immediately after the window is displayed, a predetermined initial value is displayed in the circuit parameter input field. If there is no correction, the initial value is set as the circuit parameter (505). Processing step 505 is performed until all necessary circuit parameters have been input (506). When input of all circuit parameters is completed, a source code form as a candidate corresponding to the circuit type code is read from the signal processing library 102 (507), and the input circuit parameters are given to the source code form. As a result, a hardware C source code for the circuit portion corresponding to the circuit type code is generated (508). The generated C source code is inserted into the position of the corresponding circuit type code in the signal processing C source code 205, 1 is subtracted from the value of the counter CNT, and the process returns to the processing step 501. Thereafter, the processing steps 501 to 510 are repeated until the value of the counter CNT becomes zero.

図6には回路種別コードテーブルの構成が例示される。回路種別コードテーブル600は、回路生成支援プログラム100の一部に組み込まれて構成され、例えばハードウェア用Cモデル生成部101の一部を成るものであると理解されたい。回路種別コードテーブル600は、機能単位に割り当てた回路種別コードと、その回路をハードウェア用Cソースコードとして表現するために用意したソースコードフォームの参照先アドレスの2つの情報で構成される。ソースコードフォームは、信号処理ライブラリ102に一括して登録されている。例えば図6では、回路種別コード1(601)として、画像処理用水平フィルタの回路種別コード「HFIL」が割当てられ、その参照先1(602)には信号処理ライブラリ102の水平フィルタソースコードフォームの格納アドレスが記録されている。回路種別コード2(603)として、画像処理用垂直フィルタの回路種別コード「VFIL」が割当てられ、参照先2(604)には信号処理ライブラリ102の垂直フィルタソースコードフォームの格納アドレスが記録されている。前記回路種別コードテーブルを備えない場合には、ハードウェア用Cモデル生成部101におけるプログラム記述で直接ソースコードフォームの格納アドレスを個別に指定すればよい。   FIG. 6 illustrates the configuration of the circuit type code table. It should be understood that the circuit type code table 600 is configured by being incorporated in a part of the circuit generation support program 100, and is, for example, a part of the hardware C model generation unit 101. The circuit type code table 600 includes two types of information: a circuit type code assigned to each functional unit and a reference address of a source code form prepared for expressing the circuit as a hardware C source code. Source code forms are registered together in the signal processing library 102. For example, in FIG. 6, the circuit type code “HFIL” of the horizontal filter for image processing is assigned as the circuit type code 1 (601), and the reference destination 1 (602) is the horizontal filter source code form of the signal processing library 102. The storage address is recorded. The circuit type code “VFIL” of the image processing vertical filter is assigned as the circuit type code 2 (603), and the storage address of the vertical filter source code form of the signal processing library 102 is recorded in the reference destination 2 (604). Yes. If the circuit type code table is not provided, the storage address of the source code form may be individually specified directly by the program description in the hardware C model generation unit 101.

図7は、回路生成情報ファイルの構成が例示される。回路生成情報ファイル204は、回路種別の記述数を示すカウンタCNTと、生成する回路の路種別コードと、信号処理Cソースコード上の回路種別コード記述位置(すなわち生成したハードウェア用Cソースコードの挿入位置を示す情報)で構成される。回路種別コードは、回路種別の記述数のカウンタCNTの値(701)の個数だけ存在する。図7では、1番目の回路種別コード1(702)は「HFIL」であり、画像処理用水平フィルタを生成することを示している。記述位置1(702)には、信号処理Cソースコード103上の「HFIL」を記述した位置が格納される。2番目の回路種別コード2(703)は「VFIL」であり、画像処理用垂直フィルタを生成することを示している。記述位置2(704)には、信号処理Cソースコード13上の「VFIL」を記述した位置が格納される。   FIG. 7 illustrates the configuration of the circuit generation information file. The circuit generation information file 204 includes a counter CNT indicating the number of circuit type descriptions, a path type code of the circuit to be generated, and a circuit type code description position on the signal processing C source code (that is, the generated hardware C source code). Information indicating the insertion position). There are as many circuit type codes as the number (701) of the counter CNT of the number of descriptions of the circuit type. In FIG. 7, the first circuit type code 1 (702) is “HFIL”, which indicates that a horizontal filter for image processing is generated. The description position 1 (702) stores a position describing “HFIL” on the signal processing C source code 103. The second circuit type code 2 (703) is “VFIL”, which indicates that an image processing vertical filter is generated. The description position 2 (704) stores a position describing “VFIL” on the signal processing C source code 13.

図8には入出力ファイル選択用ウインドウが例示される。入出力ファイル選択用ウインドウ800では、回路生成支援プログラムが使用する入出力ファイルの選択と、生成する回路の種別選択と、回路生成実行の操作を行う。信号処理Cソースコード103のファイルは、ボタン801の操作で入力ファイル名が指定される。回路生成情報ファイル204は、ボタン802の操作で出力ファイル名が指定される。ハードウェア用Cソースコード104のファイルは、ボタン803の操作で出力ファイル名が指定される。信号処理Cソースコード103のファイルにおける回路種別検索は、ボタン805の操作で実行が開始される。回路生成の処理はボタン806の操作で実行開始される。信号処理Cソースコード103およびハードウェア用Cソースコード104はテキストウインドウ804に表示される。   FIG. 8 illustrates an input / output file selection window. In the input / output file selection window 800, operations for selecting an input / output file used by the circuit generation support program, selecting a type of circuit to be generated, and executing circuit generation are performed. The file name of the signal processing C source code 103 is designated by an operation of a button 801. The output file name of the circuit generation information file 204 is designated by operating the button 802. The file name of the hardware C source code 104 is designated by an operation of a button 803. The search for the circuit type in the file of the signal processing C source code 103 is started by operating the button 805. The circuit generation process is started by operating the button 806. The signal processing C source code 103 and the hardware C source code 104 are displayed in a text window 804.

図9には回路パラメータ入力ウインドウが例示される。同図の例は、画像処理用水平フィルタの回路パラメータ入力ウインドウの例を示している。回路IDは、ユーザが任意に指定する名称である。これから作成する水平フィルタと他の水平フィルタ回路とを区別するために用いる。フィルタタップ係は、水平フィルタを構成するフィルタ係数の数である。フィルタ係数は、フィルタの周波数特性を表現した数値である。ビットシフト量は、水平フィルタ演算後に計算結果のレンジの修正量である。水平画像サイズは、演算対象画像の水平方向の画素数である。垂直画像サイズは、演算対象画像の垂直方向の画素数である。それぞれのパラメータは901〜906で示される入力欄に入力可能にされる。入力欄901〜906には当所初期値が表示され、所望の値に書換え可能にされる。907はパラメータの入力完了を指示するボタンである。   FIG. 9 illustrates a circuit parameter input window. The example in the figure shows an example of the circuit parameter input window of the horizontal filter for image processing. The circuit ID is a name arbitrarily designated by the user. This is used to distinguish the horizontal filter to be created from other horizontal filter circuits. The filter tap unit is the number of filter coefficients constituting the horizontal filter. The filter coefficient is a numerical value expressing the frequency characteristic of the filter. The bit shift amount is a correction amount of the range of the calculation result after the horizontal filter calculation. The horizontal image size is the number of pixels in the horizontal direction of the calculation target image. The vertical image size is the number of pixels in the vertical direction of the calculation target image. Each parameter can be input in an input field indicated by reference numerals 901 to 906. The initial values are displayed in the input fields 901 to 906 and can be rewritten to desired values. Reference numeral 907 denotes a button for instructing completion of parameter input.

図10は信号処理Cソースコードに記述された回路種別コードの例が示される。信号処理Cソースコード103に回路種別コードを記載する場合には、同ソースコードの任意の場所(例えば当該ソースコード先頭付近)に、ハードウェア用Cソースコードへの変換を行う記述が存在することを明示するために、例えばその処理を実行できるようにする旨の宣言文を記述しておく。同図の例では「#define HARDWARE」(1001)と記載する。「HARDWARE」の部分は任意でよい。回路を挿入したい部分1003に、「#ifdef HARDWARE」と「#endif」を記載し、その間に、挿入したい回路の回路種別コード1004を記載する。例えば、水平フィルタの場合は「CTYPE=HVFIL」と記載する。左辺の「CTYPE=」は、右辺の記述コードが回路種別コードであることを示す。1002は上記回路種別コードによる置き換え対象外の信号処理Cソースコードの部分である。   FIG. 10 shows an example of a circuit type code described in the signal processing C source code. When a circuit type code is described in the signal processing C source code 103, there is a description for converting into the C source code for hardware at an arbitrary location (for example, near the top of the source code) of the source code. For example, a declaration statement indicating that the process can be executed is described. In the example of the figure, “#define HARDWARE” (1001) is described. The “HARDWARE” part may be arbitrary. “#Ifdef HARDWARE” and “#endif” are described in the portion 1003 where the circuit is to be inserted, and the circuit type code 1004 of the circuit to be inserted is described therebetween. For example, in the case of a horizontal filter, “CTYPE = HVFIL” is described. “CTYPE =” on the left side indicates that the description code on the right side is a circuit type code. Reference numeral 1002 denotes a portion of the signal processing C source code that is not subject to replacement by the circuit type code.

図11にはハードウェア用Cソースコード104の出力例が示される。回路種別コードに対応して生成されたハードウェア用Cソースコードは、信号処理Cソースコードの中の回路種別コードが記載されていた場所に挿入される。同図では、回路種別コード「CTYPE=HVFIL」と記載した箇所1003の後に、水平フィルタのハードウェア用Cソースコード1105が挿入された例を示している。ハードウェア用Cソースコードは、幾つかの引数を伴った関数の形で記述しても良い。この場合、回路種別コード「CTYPE=HVFIL」の後には関数呼び出し命令のみ記載し、関数本体は別の任意の位置に配置することもできる。「CTYPE=HVFIL」記述部分は例えば「/* CTYPE=HFIL */」のようにコメント化され(1104)、回路生成の完了を意味することにもなる。   FIG. 11 shows an output example of the hardware C source code 104. The hardware C source code generated corresponding to the circuit type code is inserted at the place where the circuit type code is written in the signal processing C source code. In the figure, an example is shown in which a horizontal filter hardware C source code 1105 is inserted after a location 1003 where a circuit type code “CTYPE = HVFIL” is described. The hardware C source code may be described in the form of a function with several arguments. In this case, only the function call instruction can be described after the circuit type code “CTYPE = HVFIL”, and the function body can be arranged at another arbitrary position. The description part of “CTYPE = HVFIL” is commented out as “/ * CTYPE = HFIL * /” (1104), which also means the completion of circuit generation.

上記回路生成支援プログラムをコンピュータ装置で実行することによる生成されたハードウェア用Cソースコードは、例えば論理合成ツールに入力されて回路図の生成に利用され、あるいは、シミュレータに入力されてシミュレーションに等に利用される。   The hardware C source code generated by executing the circuit generation support program on a computer device is input to a logic synthesis tool and used to generate a circuit diagram, or input to a simulator and used for simulation, etc. Used for

一般的に、ターゲットハードウェアへの実装に最適化してCソースコードを生成するには、ノウハウと高度なテクニックが必要であり、開発工数も大きくなる傾向であることが知られている。上記回路生成支援プログラムを用いれば、任意の動作アルゴリズムで実現する回路部分を、演算器の構成やメモリ容量等のハードウェアの仕様に即してチユーニングされた記述を生成することができ、回路若しくはシステムの開発工数の短縮に寄与することができる。特に、ライブラリから候補の選択を行うので、動作実績のあるものをライブラリとして用意することも可能であり、それによって、このプログラムを用いて生成されたCソースコードによって開発される回路若しくはシステムの動作面での信頼性を高めることも容易になる。例えば、処理の実行サイクルが短いこと、演算に使用するメモリ容量が小さいこと、等の仕様上の制約に対して実績のある記述、あるいは、データ読み出し、書き込みが遅いデバイスへのアクセス回数を少なくするための記述等が基本的なセットとしてライブラリに格納されていれば、回路種別コードの指定だけでそのような設計資産を容易に利用できるようになる。   In general, know-how and advanced techniques are required to generate C source code optimized for implementation on target hardware, and it is known that development man-hours tend to increase. By using the circuit generation support program, it is possible to generate a description in which a circuit portion realized by an arbitrary operation algorithm is tuned according to hardware specifications such as a configuration of a computing unit and a memory capacity. This can contribute to shortening the system development man-hours. In particular, since candidates are selected from the library, it is also possible to prepare a library having an operation record as a library, whereby the operation of the circuit or system developed by the C source code generated using this program It is also easy to improve the reliability of the surface. For example, reduce the number of accesses to devices that have a proven record of specification constraints such as short processing execution cycles and small memory capacity for computation, or devices that are slow to read or write data. If such a description is stored in the library as a basic set, such design assets can be easily used only by specifying a circuit type code.

以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。   Although the invention made by the present inventor has been specifically described based on the embodiments, it is needless to say that the present invention is not limited thereto and can be variously modified without departing from the gist thereof.

例えば、本発明に係る回路生成支援プログラムや回路生成方法で使用される信号処理ライブラリの機能には、例えば、動画像の高画質化で用いるスケーリングフィルタ、画質変換フィルタ、所定方式の符号化および復号化等で用いる離散コサイン変換、動き推定、動き補償等はもとより、種々のデータ処理やデータ転送処理等を実現する回路機能が含まれてよいうことは当然である。本発明は、Cプログラムで記述された信号処理プログラムをハードウェア用Cプログラムに変換する技術として各種半導体集積回路の開発環境に適用することができる。   For example, the function of the signal processing library used in the circuit generation support program and the circuit generation method according to the present invention includes, for example, a scaling filter, an image quality conversion filter, and a predetermined method encoding and decoding used for improving the image quality of moving images. Naturally, circuit functions for realizing various data processing, data transfer processing, and the like as well as discrete cosine transform, motion estimation, motion compensation, and the like used in the conversion may be included. The present invention can be applied to various semiconductor integrated circuit development environments as a technique for converting a signal processing program written in a C program into a hardware C program.

図1は本発明に係る回路生成支援プログラムの構成、及び回路生成支援プログラムと設計対象にされる回路のソースコードとの関係を模式的に例示する説明図である。FIG. 1 is an explanatory diagram schematically illustrating the configuration of a circuit generation support program according to the present invention and the relationship between the circuit generation support program and the source code of a circuit to be designed. 図2は回路生成支援プログラムを実行するコンピュータ装置のブロックダイヤグラムである。FIG. 2 is a block diagram of a computer device that executes the circuit generation support program. 図3は回路生成支援プログラムの最上位の処理を例示するフローチャートである。FIG. 3 is a flowchart illustrating the highest level processing of the circuit generation support program. 図4は回路種別検索(図3のステップ305)処理の詳細を例示するフローチャートである。FIG. 4 is a flowchart illustrating details of the circuit type search (step 305 in FIG. 3) process. 図5は回路記述生成処理(図3のステップ306)処理の詳細を例示するフローチャートである。FIG. 5 is a flowchart illustrating details of the circuit description generation process (step 306 in FIG. 3). 図6は回路種別コードテーブルの構成を例示する説明図である。FIG. 6 is an explanatory diagram illustrating the configuration of the circuit type code table. 図7は回路生成情報ファイルの構成を例示する説明図である。FIG. 7 is an explanatory diagram illustrating the configuration of a circuit generation information file. 図8は入出力ファイル選択用ウインドウの構成を例示する説明図である。FIG. 8 is an explanatory diagram illustrating the configuration of the input / output file selection window. 図9は回路パラメータ入力ウインドウの構成を例示する説明図である。FIG. 9 is an explanatory diagram illustrating the configuration of the circuit parameter input window. 図10は信号処理Cソースコードに記述された回路種別コードを例示する説明図である。FIG. 10 is an explanatory diagram illustrating a circuit type code described in the signal processing C source code. 図11はハードウェア用Cソースコードの出力形態を例例示する説明図である。FIG. 11 is an explanatory diagram illustrating an example of an output form of hardware C source code.

符号の説明Explanation of symbols

100…回路生成支援プログラム
101…ハードウェア用Cモデル生成部
102…信号処理ライブラリ
103…信号処理Cソースコード
104…ハードウェア用Cソースコード
200…コンピュータ装置
201…CPU
202…メモリ
203…補助記憶装置
600,603,1004…回路種別コード
1104…コメント化された回路種別コード
1105…回路種別コードに対応して挿入されたハードウェア用Cソースコード
900…パラメータ入力ウインドウ
DESCRIPTION OF SYMBOLS 100 ... Circuit generation support program 101 ... C model production | generation part for hardware 102 ... Signal processing library 103 ... Signal processing C source code 104 ... C source code for hardware 200 ... Computer apparatus 201 ... CPU
202 ... Memory 203 ... Auxiliary storage device 600, 603, 1004 ... Circuit type code 1104 ... Commented circuit type code 1105 ... Hardware C source code inserted corresponding to circuit type code 900 ... Parameter input window

Claims (11)

コンピュータ装置で実行することにより、電子回路の動作アルゴリズムをソフトウェア言語で記述した第1ソースコードに基づいて、ターゲットハードウェアへの実装に向けたターゲット用の第2ソースコードを生成するための処理を制御する回路生成支援プログラムであって、
前記生成するための処理は、第1ソースコードを入力する第1処理と、入力した第1ソースコードを参照して、動作アルゴリズムで実現する回路種別を順次検索する第2処理と、検索された回路種別の記述に対応する候補を選択する第3処理と、前記第3処理で選択された候補に基づいて前記第1ソースコードの回路種別の記述をターゲットハードウェアの仕様に則った記述に置き換えて前記第2ソースコードとする第4処理とを含む、回路生成支援プログラム。
A process for generating a second source code for a target for implementation on the target hardware based on the first source code in which the operation algorithm of the electronic circuit is described in a software language by being executed by the computer device A circuit generation support program for controlling,
The process for generating includes a first process for inputting a first source code, a second process for sequentially searching circuit types realized by an operation algorithm with reference to the input first source code, and a search A third process for selecting a candidate corresponding to the description of the circuit type, and a description of the circuit type of the first source code is replaced with a description according to the specifications of the target hardware based on the candidate selected in the third process A circuit generation support program, comprising: a fourth process using the second source code.
前記ソフトウェア言語はC言語である、請求項1記載の回路生成支援プログラム。   The circuit generation support program according to claim 1, wherein the software language is a C language. 前記第3処理において、記述ライブラリから前記候補を選択する、請求項1記載の回路生成支援プログラム。   The circuit generation support program according to claim 1, wherein in the third process, the candidate is selected from a description library. 前記記述ライブラリを更に有する、請求項3記載の回路生成支援プログラム。   The circuit generation support program according to claim 3, further comprising the description library. 前記第2処理は、前記第1ソースコードに回路種別として予め埋め込まれている回路種別コードを検索する検索処理と、検索された回路種別コードとその記述位置を特定するための情報を蓄積する蓄積処理とを含み、
前記第4処理において、前記回路種別コードはコメント化され、当該コメントの次に、ターゲットハードウェアの仕様に則った対応する記述が挿入される、請求項3記載の回路生成支援プログラム。
The second process includes a search process for searching for a circuit type code embedded in advance as a circuit type in the first source code, and an accumulation for storing information for specifying the searched circuit type code and its description position. Processing,
4. The circuit generation support program according to claim 3, wherein, in the fourth process, the circuit type code is commented, and a description corresponding to the specification of the target hardware is inserted after the comment.
前記第4処理は、前記記述ライブラリから選択した一つの候補に与えるパラメータの入力ウインドウを表示し、前記入力ウインドウで指定されたパラメーラがあるときにはそれに従った記述を生成して置き換えを行なう請求項5記載の回路生成支援プログラム。   6. The fourth process displays an input window for parameters to be given to one candidate selected from the description library, and when there is a parameter specified in the input window, generates a description according to the parameter and replaces it. The circuit generation support program described. コンピュータ装置を用いて、電子回路の動作アルゴリズムをソフトウェア言語で記述した第1ソースコードに基づいてターゲットハードウェアへの実装に向けたターゲット用の第2ソースコードを生成する回路生成支援方法であって、
第1ソースコードを入力する第1処理と、
入力した第1ソースコードを参照して、動作アルゴリズムで実現する回路種別を順次検索する第2処理と、
検索された回路種別の記述に対応する候補を選択する第3処理と、
前記第3処理で選択された候補に基づいて前記第1ソースコードの回路種別の記述をターゲットハードウェアの仕様に則った記述に置き換えて前記第2ソースコードとする第4処理と、を含む回路設計支援方法。
A circuit generation support method for generating a second source code for a target for mounting on a target hardware based on a first source code in which an operation algorithm of an electronic circuit is described in a software language using a computer device ,
A first process of inputting a first source code;
A second process for referring to the input first source code and sequentially searching for circuit types realized by the operation algorithm;
A third process for selecting a candidate corresponding to the description of the retrieved circuit type;
A circuit including: a fourth process in which the description of the circuit type of the first source code is replaced with a description conforming to the specification of the target hardware based on the candidate selected in the third process to obtain the second source code. Design support method.
前記ソフトウェア言語はC言語である、請求項7記載の回路生成支援方法。   The circuit generation support method according to claim 7, wherein the software language is a C language. 前記第3処理において、記述ライブラリから前記候補を選択する、請求項7記載の回路生成支援方法。   The circuit generation support method according to claim 7, wherein the candidate is selected from a description library in the third process. 前記第2処理は、前記第1ソースコードに回路種別として予め埋め込まれている回路種別コードを検索する検索処理と、検索された回路種別コードとその記述位置を特定するための情報を蓄積する蓄積処理とを含み、
前記第4処理において、回路種別コードはコメント化され、当該コメントの次に、ターゲットハードウェアの仕様に則った対応する記述が挿入される、を含む請求項9記載の回路生成支援方法。
The second process includes a search process for searching for a circuit type code embedded in advance as a circuit type in the first source code, and an accumulation for storing information for specifying the searched circuit type code and its description position. Processing,
10. The circuit generation support method according to claim 9, wherein, in the fourth process, the circuit type code is commented, and a description corresponding to the specification of the target hardware is inserted next to the comment.
前記第4処理は、前記記述ライブラリから選択した一つの候補に与えるパラメータの入力ウインドウを表示し、前記入力ウインドウで指定されたパラメーラがあるときにはそれに従った記述を生成して置き換えを行う、請求項10記載の回路設計支援方法。   The fourth process displays an input window for parameters to be given to one candidate selected from the description library, and generates a description according to the parameter specified in the input window and replaces the parameter. 10. The circuit design support method according to 10.
JP2008190596A 2008-07-24 2008-07-24 Circuit generation support program and circuit generation support method Withdrawn JP2010026968A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008190596A JP2010026968A (en) 2008-07-24 2008-07-24 Circuit generation support program and circuit generation support method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008190596A JP2010026968A (en) 2008-07-24 2008-07-24 Circuit generation support program and circuit generation support method

Publications (1)

Publication Number Publication Date
JP2010026968A true JP2010026968A (en) 2010-02-04

Family

ID=41732711

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008190596A Withdrawn JP2010026968A (en) 2008-07-24 2008-07-24 Circuit generation support program and circuit generation support method

Country Status (1)

Country Link
JP (1) JP2010026968A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014186446A (en) * 2013-03-22 2014-10-02 Mitsubishi Electric Corp Device, method and program for generating description for high-level synthesis
WO2022230106A1 (en) * 2021-04-28 2022-11-03 日本電信電話株式会社 Calculation resource control device and control method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014186446A (en) * 2013-03-22 2014-10-02 Mitsubishi Electric Corp Device, method and program for generating description for high-level synthesis
WO2022230106A1 (en) * 2021-04-28 2022-11-03 日本電信電話株式会社 Calculation resource control device and control method

Similar Documents

Publication Publication Date Title
JP2011060277A (en) Integration environment generator
US20140013313A1 (en) Editor/Development Tool for Dataflow Programs
JP2006285333A (en) Operation composition device and method
CN115562629A (en) RPA flow representation method, system, device and storage medium
JP2006301989A (en) Method, apparatus and program for automatically generating program in computer language from block diagram
JPWO2012023625A1 (en) Extensibility evaluation apparatus, extensibility evaluation method, and extensibility evaluation program
JP5233355B2 (en) Property generation system and property verification system
JP2010026968A (en) Circuit generation support program and circuit generation support method
JP5228546B2 (en) Behavioral synthesis apparatus and program
JP4660381B2 (en) Computer system performance evaluation apparatus, performance evaluation method, and performance evaluation program
JP6173644B1 (en) Information processing apparatus, information processing method, and information processing program
JP2007287025A (en) Method and apparatus for creating screen transition program
JP2007080049A (en) Built-in program generation method, built-in program development system and information table section
JP7260150B2 (en) WEBSITE DESIGN SUPPORT DEVICE, WEBSITE DESIGN SUPPORT METHOD, AND PROGRAM
JP2011237989A (en) Apparatus for designing semiconductor integrated circuit, and method and program for designing the same
JP2008204341A (en) Interface composite device
KR100846203B1 (en) Method for generating mobile application and record media recorded program for realizing the same
JP6085481B2 (en) Programmable circuit, arithmetic processing method
JP2006277560A (en) Software development support device, design document generation program and design document generating method
JP5966801B2 (en) Language converter, program
JP5755103B2 (en) Block diagram processing apparatus and block diagram processing method
JP5467512B2 (en) Behavioral synthesis apparatus, behavioral synthesis method, and behavioral synthesis program
JP2018151537A (en) Screen creation device and screen creation program
JP2007265335A (en) Xml schema editing support device, xml schema editing support method and program
JP2008217071A (en) High-level synthesis apparatus and high-level synthesis method

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20111004