JP2011044073A - Device, method and program for high order composition - Google Patents

Device, method and program for high order composition Download PDF

Info

Publication number
JP2011044073A
JP2011044073A JP2009193011A JP2009193011A JP2011044073A JP 2011044073 A JP2011044073 A JP 2011044073A JP 2009193011 A JP2009193011 A JP 2009193011A JP 2009193011 A JP2009193011 A JP 2009193011A JP 2011044073 A JP2011044073 A JP 2011044073A
Authority
JP
Japan
Prior art keywords
memory
description
level synthesis
behavioral
converting
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
JP2009193011A
Other languages
Japanese (ja)
Inventor
Shinya Miyazaki
慎也 宮崎
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2009193011A priority Critical patent/JP2011044073A/en
Publication of JP2011044073A publication Critical patent/JP2011044073A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a high order composition device or the like, which allows sharing of a memory by modules of a size such that operation composition cannot be performed by one module, or sharing of the memory by modules differed in function which operate exclusively. <P>SOLUTION: The high order composition device configured to input an operation description, perform high order composition processing and output an HDL description includes: a means for detecting an operation description to be converted to a memory; a means for extracting the detected operation description; a means for analyzing the size and connection information of the extracted operation description; and a means for converting the operation description into the memory based on the analysis result and further converting into a protocol based on the connection information. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、高位言語で記述したアルゴリズムの仕様から、ハードウエア記述言語への変換を行う動作合成技術に関する。   The present invention relates to a behavioral synthesis technique for converting an algorithm specification described in a high-level language into a hardware description language.

動作レベル回路を動作合成する方法において、動作レベル回路に記述される大きな配列変数はメモリとして扱う必要があり、メモリを意識した配列変数の扱い方がある。小さな範囲でメモリを使用する場合などは、特許文献1で述べられるとおり同一区間(サイクル)あるいは、他の区間に記述された変数をメモリとして自動でスケジューリングが可能になっている。   In the method of behavioral synthesis of the behavior level circuit, a large array variable described in the behavior level circuit needs to be handled as a memory, and there is a way of handling the array variable in consideration of the memory. When a memory is used in a small range, as described in Patent Document 1, it is possible to automatically schedule variables described in the same section (cycle) or other sections as a memory.

しかし他のスレッド、あるいはモジュールで同じ配列変数をメモリとして使用することができないので、自分でタイミングを保証し、メモリインターフェース回路を人手で記述する必要がある。これではリファレンスソースが大きく変わり、ときにはスケジューリングができる様に全く違う処理を行わなければいけなくなる場合がある。   However, since the same array variable cannot be used as memory in other threads or modules, it is necessary to guarantee the timing by yourself and to manually describe the memory interface circuit. In this case, the reference source changes greatly, and sometimes it is necessary to perform completely different processing so that scheduling can be performed.

また、アプリケーションの拡張により配列のサイズや、構成が変わってしまう場合があり、変わるたびに複雑な修正を行わなくてはならない。   In addition, the size and configuration of the array may change due to application expansion, and complex corrections must be made each time it changes.

上記の様な理由で書き換えが必要となってしまい、書き換えた部分が処理に影響を与え、不具合が混入し、かえって設計に時間がかかってしまう場合がある。   For the reasons described above, rewriting is necessary, and the rewritten part affects the processing, and there is a case where a defect is mixed and the design takes time instead.

しかしながら、上述の関連技術では、一つのモジュールでは動作合成出来ないサイズのモジュール同士のメモリの共有や、排他に動作する異なる機能のモジュール同士のメモリの共有は困難であった。   However, in the related technology described above, it is difficult to share memory between modules having a size that cannot be synthesized by one module, or to share memory between modules having different functions that operate exclusively.

本発明の目的は、上記した従来技術の問題点を解決し、一つのモジュールでは動作合成出来ないサイズのモジュール同士のメモリの共有や、排他に動作する異なる機能のモジュール同士のメモリの共有が可能になる高位合成装置、高位合成方法および高位合成プログラムを提供することにある。   The object of the present invention is to solve the above-mentioned problems of the prior art, and to share memory between modules of a size that cannot be synthesized by one module, or to share memory between modules of different functions that operate exclusively. To provide a high-level synthesis apparatus, a high-level synthesis method, and a high-level synthesis program.

請求項1記載の発明は、処理の動作を記述した動作記述から、レジスタトランスファレベルの論理回路に変換する高位合成装置において、メモリに変換される動作記述を検出する検出手段と、検出手段により検出された動作記述を抽出する抽出手段と、抽出手段により抽出された動作記述のサイズおよび接続情報を分析する分析手段と、分析手段により分析した結果に基づいて、動作記述をメモリへ変換し、接続情報を元にプロトコルに変換する変換手段とを具備し、配列記述をメモリに変換し、配列にアクセスしている部分にインターフェース回路を生成し、生成されたインターフェース回路を介して回路とメモリを接続する論理回路を生成することを特徴とする高位合成装置である。   According to the first aspect of the present invention, in the high-level synthesis apparatus for converting the operation description describing the processing operation into a logic circuit at the register transfer level, the detection means for detecting the operation description converted into the memory, and the detection means detect Extraction means for extracting the behavioral description, analysis means for analyzing the size and connection information of the behavioral description extracted by the extraction means, and converting the behavioral description into a memory based on the result of analysis by the analysis means, and connection Conversion means for converting to protocol based on information, converting array description to memory, generating an interface circuit in the part accessing the array, and connecting the circuit and memory via the generated interface circuit The high-level synthesis apparatus is characterized by generating a logic circuit to perform.

請求項2記載の発明は、請求項1記載の高位合成装置において、メモリに繋がる複数のモジュールをアービトレーションすることが可能な論理回路を生成することを特徴とする。   According to a second aspect of the present invention, in the high-level synthesis apparatus according to the first aspect, a logic circuit capable of arbitrating a plurality of modules connected to the memory is generated.

請求項3記載の発明は、請求項2記載の高位合成装置において、アービトレーションする順番を指定することが可能な論理回路を生成することを特徴とする。   According to a third aspect of the present invention, in the high-level synthesis apparatus according to the second aspect, a logic circuit capable of designating an arbitration order is generated.

請求項4記載の発明は、請求項1から3のいずれか1項に記載の高位合成装置において、メモリを配置する場所を指定可能なことを特徴とする。   According to a fourth aspect of the present invention, in the high-level synthesis apparatus according to any one of the first to third aspects, a location for arranging the memory can be specified.

請求項5記載の発明は、動作記述を入力して高位合成処理を行いHDL記述を出力するコンピュータを用いた高位合成方法であって、メモリに変換される動作記述を検出する検出工程と、検出された動作記述を抽出する抽出工程と、抽出された動作記述のサイズおよび接続情報を分析する分析工程と、分析した結果に基づいて、動作記述をメモリへ変換し、接続情報を元にプロトコルに変換する変換工程とを含むことを特徴とする高位合成方法である。   The invention according to claim 5 is a high-level synthesis method using a computer that inputs a behavioral description, performs high-level synthesis processing, and outputs an HDL description, and includes a detection step for detecting the behavioral description converted into a memory, and a detection An extraction process for extracting the extracted behavioral description, an analysis step for analyzing the size and connection information of the extracted behavioral description, and converting the behavioral description into a memory based on the analysis result, and using the connection information as a protocol A high-level synthesis method including a conversion step of converting.

請求項6記載の発明は、コンピュータを、メモリに変換される動作記述を検出する検出手段と、検出手段により検出された動作記述を抽出する抽出手段と、抽出手段により抽出された動作記述のサイズおよび接続情報を分析する分析手段と、分析手段により分析した結果に基づいて、動作記述をメモリへ変換し、接続情報を元にプロトコルに変換する変換手段として機能させ、動作記述を入力して高位合成処理を行いHDL記述を出力する高位合成装置として機能させることを特徴とする高位合成プログラムである。   According to a sixth aspect of the present invention, there is provided a computer for detecting a behavior description converted into a memory, an extraction means for extracting the behavior description detected by the detection means, and a size of the behavior description extracted by the extraction means. And analysis means for analyzing the connection information, and based on the result of analysis by the analysis means, the behavioral description is converted into a memory, and it is made to function as a conversion means for converting to the protocol based on the connection information. A high-level synthesis program that functions as a high-level synthesis device that performs synthesis processing and outputs an HDL description.

本発明によれば、一つのモジュールでは動作合成出来ないサイズのモジュール同士のメモリの共有や、排他に動作する異なる機能のモジュール同士のメモリの共有が可能になる。   According to the present invention, it is possible to share memory between modules having a size that cannot be synthesized by one module, or to share memory between modules having different functions that operate exclusively.

本実施の形態に係る高位合成装置の構成例を示すブロック図である。It is a block diagram which shows the structural example of the high level synthesis | combination apparatus which concerns on this Embodiment. 本実施の形態に係る高位合成装置の機能構成を示すブロック図である。It is a block diagram which shows the function structure of the high level synthesis | combination apparatus which concerns on this Embodiment. 本実施の形態に係る動作記述の一例を示す図である。It is a figure which shows an example of the action description which concerns on this Embodiment. 本実施の形態に係る動作合成制約記述を示す図である。It is a figure which shows the behavioral synthesis restrictions description which concerns on this Embodiment. 本実施の形態に係るメモリリソースに合ったインターフェース記述を示す図である。It is a figure which shows the interface description suitable for the memory resource which concerns on this Embodiment. 本実施の形態に係る動作記述のブロック図のイメージを示す図である。It is a figure which shows the image of the block diagram of the behavioral description which concerns on this Embodiment. 本実施の形態に係る動作記述のブロック図のイメージを示す図である。It is a figure which shows the image of the block diagram of the behavioral description which concerns on this Embodiment. 本実施の形態に係るハードウェア回路記述を示す図である。It is a figure which shows the hardware circuit description which concerns on this Embodiment. 本実施の形態に係る動作記述のブロック図のイメージを示す図である。It is a figure which shows the image of the block diagram of the behavioral description which concerns on this Embodiment. 本実施の形態に係るHDL回路記述を示す図である。It is a figure which shows the HDL circuit description based on this Embodiment. 本実施の形態に係る動作記述のブロック図のイメージを示す図である。It is a figure which shows the image of the block diagram of the behavioral description which concerns on this Embodiment. 本実施の形態に係る動作合成制約記述を示す図である。It is a figure which shows the behavioral synthesis restrictions description which concerns on this Embodiment. 本実施の形態に係る動作記述のブロック図のイメージを示す図である。It is a figure which shows the image of the block diagram of the behavioral description which concerns on this Embodiment. 本実施の形態に係る動作合成制約記述を示す図である。It is a figure which shows the behavioral synthesis restrictions description which concerns on this Embodiment.

以下、本発明の実施形態の高位合成装置及び、それを用いた高位合成方法について図面を参照しながら説明する。   Hereinafter, a high-level synthesis apparatus and a high-level synthesis method using the same according to an embodiment of the present invention will be described with reference to the drawings.

図1は、本発明の実施形態の高位合成装置の構成例を示すブロック図である。図1に示すコンピュータ本体としての高位合成装置110は、CPU(Central Processing Unit )111、ROM(Read Only Memory)112、RAM(Random Access Memory)113およびハードディスク(HDD)114を含む。CPU111は、グラフィックディスプレイ装置115、キーボード116、マウス117、CD−ROM装置118、図示しないネットワーク装置、ROM112、RAM113またはハードディスク114との間でデータを入出力しながら処理を行う。CD−ROM装置118に記録された高位合成プログラムは、CPU111によりCD−ROM装置118を介して一旦ハードディスク114に格納される。CPU111は、ハードディスク114から適宜高位合成プログラムをRAM113にロードして実行することによって高位合成を行う。   FIG. 1 is a block diagram illustrating a configuration example of a high-level synthesis apparatus according to an embodiment of the present invention. A high-level synthesis device 110 as a computer main body shown in FIG. 1 includes a CPU (Central Processing Unit) 111, a ROM (Read Only Memory) 112, a RAM (Random Access Memory) 113, and a hard disk (HDD) 114. The CPU 111 performs processing while inputting / outputting data to / from the graphic display device 115, keyboard 116, mouse 117, CD-ROM device 118, network device (not shown), ROM 112, RAM 113, or hard disk 114. The high-level synthesis program recorded on the CD-ROM device 118 is temporarily stored in the hard disk 114 by the CPU 111 via the CD-ROM device 118. The CPU 111 performs high-level synthesis by loading a high-level synthesis program from the hard disk 114 to the RAM 113 and executing the program appropriately.

以下に各変形例を含む本実施の形態における高位合成装置について説明するが、図1に示す高位合成装置の構成は各変形例において共通である。   The high-level synthesis apparatus according to the present embodiment including each modification will be described below. The configuration of the high-level synthesis apparatus shown in FIG. 1 is common to each modification.

図2は本発明の一実施形態における高位合成装置の機能構成を示すブロック図である。図2において、高位合成装置はメモリリソース検出部3と、メモリリソース抽出部4と、メモリリソース分析部5と、メモリ変換部6と、CDFG変換処理部701とスケジューリング処理部702とアロケーション処理部703で構成された動作合成部7と、メモリ生成部8と、メモリインターフェース生成部9とを有し、動作記述1と動作合成制約記述2とを入力として、動作記述から生成される演算器、レジスタ、データパスおよびコントローラ回路などに、メモリ生成部8と、メモリインターフェース生成部9により自動生成されたHDL記述10によるメモリ及びメモリインターフェース回路を付加して、HDL回路を合成するものである。   FIG. 2 is a block diagram showing a functional configuration of the high-level synthesis apparatus according to one embodiment of the present invention. In FIG. 2, the high-level synthesis apparatus includes a memory resource detection unit 3, a memory resource extraction unit 4, a memory resource analysis unit 5, a memory conversion unit 6, a CDFG conversion processing unit 701, a scheduling processing unit 702, and an allocation processing unit 703. A behavioral synthesis unit 7, a memory generation unit 8, and a memory interface generation unit 9, and an arithmetic unit and a register generated from the behavioral description with the behavioral description 1 and the behavioral synthesis constraint description 2 as inputs. The memory and the memory interface circuit by the HDL description 10 automatically generated by the memory generation unit 8 and the memory interface generation unit 9 are added to the data path and the controller circuit to synthesize the HDL circuit.

動作記述1は処理の動作のみを記述した動作記述であり、動作記述を記述できる言語なら何でもよい。その動作記述の一例を図3に示している。   The operation description 1 is an operation description that describes only the operation of the process, and any language that can describe the operation description may be used. An example of the behavioral description is shown in FIG.

図3において、動作記述はメモリのように扱われる配列の記述を含み、図3の(2)の一行目と二行目で8bitのデータを256個分格納出来る配列を宣言している。三行目よりモジュールsystemを宣言しているモジュールsystemは図3の(2)のモジュールmod1と図3の(3)のモジュールmod2をインスタンスしており、モジュールmod1はグローバル宣言された配列arrayへデータを書き込む処理を行っている。モジュールmod2はグローバル宣言された配列arrayに格納されたデータを読み出す処理を行っている。また図3の(1)の二行目に記述してあるarrayxは宣言されているがmod1、mod2では使用されていない。   In FIG. 3, the operation description includes a description of an array treated like a memory, and declares an array capable of storing 256 pieces of 8-bit data in the first and second lines of (2) in FIG. From the third line, the module system that declares the module system has instantiated the module mod1 of (2) in FIG. 3 and the module mod2 of (3) of FIG. 3, and the module mod1 stores data in the globally declared array array. Is being written. The module mod2 performs a process of reading data stored in the globally declared array array. The arrayx described in the second line of (1) in FIG. 3 is declared but is not used in mod1 and mod2.

動作合成制約記述2を図4に示す。一行目から三行目まで、高位合成の対象となるモジュールを定義している。四行目より対象のモジュールをどの様に高位合成するかを示している。図4の例ではクロックのサイクルを5、オプションではエリアを小さくなるように合成をするとか、パイプライン回路になるように高位合成するなどがある。   The behavioral synthesis constraint description 2 is shown in FIG. From the first line to the third line, the modules to be subject to high-level synthesis are defined. The fourth line shows how to synthesize the target module at a high level. In the example of FIG. 4, the clock cycle is 5, and in the option, synthesis is performed so as to reduce the area, or high-level synthesis is performed so as to become a pipeline circuit.

図2のメモリリソース分析部5で解析されたメモリリソースに合ったインターフェース記述例を図5に示す。   FIG. 5 shows an example of interface description suitable for the memory resource analyzed by the memory resource analysis unit 5 of FIG.

メモリリソース検出部3は、処理の動作のみを記述した動作記述から、メモリとなり得る記述を動作記述1と動作合成制約記述2より検出するものである。具体的には図3の(1)の一行目と二行目が検出されることになる。   The memory resource detection unit 3 detects a description that can be a memory from the behavior description 1 and the behavioral synthesis constraint description 2 from a behavior description that describes only the processing operation. Specifically, the first and second lines of (1) in FIG. 3 are detected.

メモリリソース抽出部4は、処理の動作のみを記述した動作記述から、複数のモジュールから使用されるメモリとなる配列を抽出する。具体的には図3の(1)の一行目のarrayがメモリとなる。二行目のarrayxは複数モジュールから使用される配列変数ではないためこの工程で除外される。   The memory resource extraction unit 4 extracts an array serving as a memory used from a plurality of modules from an operation description that describes only the operation of the process. Specifically, the array in the first row of (1) in FIG. 3 is the memory. The arrayx in the second row is excluded in this process because it is not an array variable used by multiple modules.

メモリリソース分析部5は、メモリリソース抽出部4で抽出されたメモリリソースを分析する。具体的にはarrayのデータサイズや、データが格納出来る量から、使用するインターフェースを求める。分析された情報を基に具体的には図5の様にライトデータ、リードデータ、アドレス、ライトイネーブルなどのビット幅を決定する。   The memory resource analysis unit 5 analyzes the memory resource extracted by the memory resource extraction unit 4. Specifically, the interface to be used is determined from the data size of the array and the amount of data that can be stored. Specifically, the bit widths of write data, read data, address, write enable, etc. are determined based on the analyzed information as shown in FIG.

メモリ変換部6は、メモリリソース分析部5で分析されたメモリリソースをメモリの形式に変換を行う。   The memory conversion unit 6 converts the memory resource analyzed by the memory resource analysis unit 5 into a memory format.

CDFG変換処理部701はコントロールデータフローグラフに変換処理を行う。スケジューリング処理部702は、入力されたデータがどれだけ時間をかけて出力されるか、内部の各信号を調整し、最適なスケジュールを行う。アロケーション処理部703は、演算器などのリソースの共通化して最適な回路を生成する。メモリやインターフェースが解析された高位合成対象の3つのモジュールを入力として高位合成が行われる。   The CDFG conversion processing unit 701 performs conversion processing on the control data flow graph. The scheduling processing unit 702 adjusts each internal signal to determine how much time the input data is output and performs an optimal schedule. The allocation processing unit 703 generates an optimal circuit by sharing resources such as an arithmetic unit. High-level synthesis is performed by using as input the three modules subject to high-level synthesis whose memory and interface have been analyzed.

メモリ生成部8は、高位合成で使ったメモリ変数をHDLに生成するための工程をになう。   The memory generation unit 8 is a process for generating the memory variables used in the high-level synthesis in HDL.

メモリインターフェース生成部9はメモリ生成部8で生成されたメモリとメモリにアクセスするモジュールmod1とモジュールmod2を接続するためのインターフェースを生成する。生成されたインターフェースが付加された例を図8に示す。配列変数arrayにアクセスしていた記述は、それぞれ生成されたインターフェースへのアクセスに変換されている。   The memory interface generation unit 9 generates an interface for connecting the memory generated by the memory generation unit 8 and the modules mod1 and mod2 that access the memory. An example in which the generated interface is added is shown in FIG. Descriptions accessing the array variable array are converted into access to the generated interfaces.

HDL記述10は、動作記述1が図2のメモリリソース検出部3と、メモリリソース抽出部4と、メモリリソース分析部5と、メモリ変換部6と、CDFG変換処理部701とスケジューリング処理部702とアロケーション処理部703で構成された動作合成部7と、メモリ生成部8と、メモリインターフェース生成部9とによる処理がなされることによって出力されるHDL回路記述である。メモリのインターフェースが付加されたHDL回路が生成される。HDL回路記述の例を図10に示す。   The HDL description 10 includes a memory resource detection unit 3, a memory resource extraction unit 4, a memory resource analysis unit 5, a memory conversion unit 6, a CDFG conversion processing unit 701, a scheduling processing unit 702, whose operation description 1 is shown in FIG. This is an HDL circuit description output by processing performed by the behavioral synthesis unit 7, the memory generation unit 8, and the memory interface generation unit 9 configured by the allocation processing unit 703. An HDL circuit to which a memory interface is added is generated. An example of the HDL circuit description is shown in FIG.

次に本発明の特徴部分であるメモリとメモリにつながる回路とのインターフェースの生成処理について説明をする。メモリの生成、メモリインターフェースの生成処理とは、インターフェースを介して外部とデータ転送を行うためのインターフェース回路を生成する処理である。以下に詳細な説明を図6、図7、図9を使って説明をする。   Next, the generation processing of the interface between the memory and the circuit connected to the memory, which is a characteristic part of the present invention, will be described. Memory generation and memory interface generation processing are processing for generating an interface circuit for performing data transfer with the outside via the interface. Detailed description will be given below with reference to FIGS. 6, 7, and 9.

図6は図3の(1)のイメージをブロック図化したものである。systemモジュールには図3の(2)のmod1モジュールと図3の(3)のmod2モジュールがインスタンス化され、グローバルで宣言された配列arrayをアクセスする。図2の動作合成制約記述2に高位合成となる前述のモジュールの情報や、どの様に高位合成をするか等、高位合成をするための情報が格納される。   FIG. 6 is a block diagram of the image of (1) in FIG. The system module is instantiated with the mod1 module in FIG. 3 (2) and the mod2 module in FIG. 3 (3), and accesses the array array declared globally. In the behavioral synthesis constraint description 2 of FIG. 2, information for the high-level synthesis, such as information on the above-mentioned modules that are high-level synthesis and how to perform high-level synthesis, are stored.

図2のメモリリソース検出部3に入力された図2の動作記述1からメモリになり得る配列記述である配列arrayと配列arrayxを検出する。図2のメモリリソース抽出部4でメモリリソース検出部3で検出された配列に対して複数モジュールから使用されている配列変数を抽出する。ここでは配列arrayのみが抽出されることとなる。
抽出された配列arrayは図2のメモリリソース分析部5によって分析される。この例では配列arrayはデータ幅が8bitでデータの深さが256個であることが分析の結果わかることになる。ここでの情報によってインターフェースで必要な情報が求められ、図5のインターフェースを作成する。
高位合成を行うために図2のメモリリソース分析部5で分析されたメモリへの変換を図2のメモリ変換部6で行う。メモリ変換部6ではデータ8bitでアドレスが8bitのメモリへ変換される。メモリへ変換されたものと動作記述1と動作合成制約記述2が図2の高位合成に関するCDFG変換処理部701とスケジューリング処理部702とアロケーション処理部703に入力される。この時入力される動作記述1は図7の様にmod2203の中に配列array201が実装され、mod2203にはmod1202から配列array201へアクセスするためにインターフェースが用意された形に認識される様になっている。
CDFG変換処理部701とスケジューリング処理部702とアロケーション処理部703で高位合成された回路記述を元に図2のメモリ生成部8で配列arrayを分析した結果に基づきメモリのモデルを生成する。
その後、図4のメモリインターフェース生成部9にて前段で生成されたメモリへアクセスするためのメモリーインターフェースを生成し、図9をイメージとした図8の様なハードウェア回路記述を出力する。
An array array and an array arrayx, which are array descriptions that can be memories, are detected from the operation description 1 of FIG. 2 input to the memory resource detection unit 3 of FIG. An array variable used from a plurality of modules is extracted from the array detected by the memory resource detection unit 3 by the memory resource extraction unit 4 of FIG. Here, only the array array is extracted.
The extracted array array is analyzed by the memory resource analysis unit 5 of FIG. In this example, the array array has a data width of 8 bits and a data depth of 256. Information necessary for the interface is obtained from the information here, and the interface shown in FIG. 5 is created.
In order to perform high-level synthesis, conversion to the memory analyzed by the memory resource analysis unit 5 of FIG. 2 is performed by the memory conversion unit 6 of FIG. In the memory conversion unit 6, the data is converted into a memory of 8 bits and an address of 8 bits. The data converted into the memory, the behavioral description 1 and the behavioral synthesis constraint description 2 are input to the CDFG conversion processing unit 701, the scheduling processing unit 702, and the allocation processing unit 703 regarding the high-level synthesis in FIG. The operation description 1 input at this time has an array array 201 mounted in mod 2203 as shown in FIG. 7, and mod 2203 is recognized as an interface prepared for accessing the array array 201 from mod 1202. Yes.
A memory model is generated based on the result of analyzing the array array by the memory generation unit 8 of FIG. 2 based on the circuit description synthesized at the high level by the CDFG conversion processing unit 701, the scheduling processing unit 702, and the allocation processing unit 703.
Thereafter, the memory interface generation unit 9 in FIG. 4 generates a memory interface for accessing the memory generated in the previous stage, and outputs a hardware circuit description as shown in FIG.

図13の様に図13の702のmod1モジュールと図13の703のmod2モジュールがメモリへ同時アクセスがあった時に予期せぬ動作にならないようにメモリとの間に図13の704のアービタ回路を配置する。図2の動作合成制約記述2内に図12のアービトレーションに関する制約を与えることでユーザーの任意で設定をすることができる。また、モジュールの強弱を記号などで示すことによりアービトレーション強度を指定することが可能である。   As shown in FIG. 13, an arbiter circuit of 704 in FIG. 13 is placed between the mod1 module of 702 in FIG. 13 and the mod2 module of 703 in FIG. 13 between the memory and the memory so that unexpected operation is not caused when there is simultaneous access to the memory. Deploy. By giving the constraint relating to the arbitration of FIG. 12 in the behavioral synthesis constraint description 2 of FIG. In addition, it is possible to designate the arbitration strength by indicating the strength of the module with a symbol or the like.

メモリの配置場所の指定は、図2の動作合成制約記述2内に記述する。図3の動作記述を例に上げると、図13の例のように3箇所に配置することが出来る。図14の動作合成制約によると、RAM113の配置場所はsystemモジュールとなり、図11の1の様なハードウェア記述が生成される事になる。図14の動作合成制約記述2内でRAM113の配置場所の指定を変えることで、ユーザーの指定通りのハードウェア記述を生成することが可能になる。図14のメモリの配置場所指定宣言を図12の動作合成制約記述に追記することでアービトレーションとメモリ配置指定を同時に行うことができる。   The designation of the memory location is described in the behavioral synthesis constraint description 2 in FIG. Taking the behavioral description of FIG. 3 as an example, it can be arranged in three places as in the example of FIG. According to the behavioral synthesis constraint in FIG. 14, the placement location of the RAM 113 is the system module, and a hardware description such as 1 in FIG. 11 is generated. By changing the designation of the placement location of the RAM 113 in the behavioral synthesis constraint description 2 in FIG. 14, it is possible to generate a hardware description as designated by the user. By adding the memory location specification declaration of FIG. 14 to the behavioral synthesis constraint description of FIG. 12, arbitration and memory allocation specification can be performed simultaneously.

上記の本実施の形態によれば、メモリに繋がる複数のモジュールをアービトレーションすることが可能な論理回路を生成することで、異なるモジュールから、メモリへ同時にアクセスした時にメモリ内のデータが壊れたり間違えた値を読み取る様な不具合を回避することが可能になる。   According to the above embodiment, by generating a logic circuit capable of arbitrating a plurality of modules connected to the memory, data in the memory is corrupted or mistaken when accessing the memory from different modules simultaneously. It is possible to avoid problems such as reading values.

また、アービトレーションする順番を指定する事が可能な論理回路を生成することで、異なるモジュールから、メモリへ同時にアクセスした時に問題なく動作するように全体的な機能を考慮した動作合成が可能になる。   In addition, by generating a logic circuit that can specify the order of arbitration, it becomes possible to perform behavioral synthesis in consideration of the overall function so that it operates without problems when accessing the memory from different modules simultaneously.

また、メモリを配置する場所を指定することを可能とすることで、メモリの速度が動作速度を左右する場合などに、メモリの配置場所を選択する事で全体の速度性能を考慮した動作合成が可能になる。   Also, by making it possible to specify the memory placement location, when the memory speed affects the operation speed, the behavioral synthesis considering the overall speed performance can be performed by selecting the memory placement location. It becomes possible.

なお、上述する各実施の形態は、本発明の好適な実施の形態であり、本発明の要旨を逸脱しない範囲内において種々の変更実施が可能である。例えば、高位合成装置の機能を実現するためのプログラムを装置に読込ませて実行することにより装置の機能を実現する処理を行ってもよい。さらに、そのプログラムは、コンピュータ読み取り可能な記録媒体であるCD−ROMまたは光磁気ディスクなどを介して、または伝送媒体であるインターネット、電話回線などを介して伝送波により他のコンピュータシステムに伝送されてもよい。また、各装置の機能が他の装置によりまとめて実現されたり、追加の装置により機能が分散されて実現される形態も本発明の範囲内である。   Each embodiment described above is a preferred embodiment of the present invention, and various modifications can be made without departing from the gist of the present invention. For example, a process for realizing the function of the apparatus may be performed by causing the apparatus to read and execute a program for realizing the function of the high-level synthesis apparatus. Further, the program is transmitted to another computer system by a transmission wave via a computer-readable recording medium such as a CD-ROM or a magneto-optical disk, or via a transmission medium such as the Internet or a telephone line. Also good. In addition, it is also within the scope of the present invention that the functions of each device are realized by other devices collectively or the functions are distributed by additional devices.

1 動作記述
2 動作合成制約記述
3 メモリリソース検出部
4 メモリリソース抽出部
5 メモリリソース分析部
6 メモリ変換部
7 動作合成部
701 CDFG変換処理部
702 スケジューリング処理部
703 アロケーション処理部
8 メモリ生成部
9 メモリインターフェース生成部
10 HDL記述
DESCRIPTION OF SYMBOLS 1 Behavior description 2 Behavior synthesis constraint description 3 Memory resource detection part 4 Memory resource extraction part 5 Memory resource analysis part 6 Memory conversion part 7 Behavior synthesis part 701 CDFG conversion process part 702 Scheduling process part 703 Allocation process part 8 Memory generation part 9 Memory Interface generator 10 HDL description

特開2005−173648号公報JP 2005-173648 A

Claims (6)

処理の動作を記述した動作記述から、レジスタトランスファレベルの論理回路に変換する高位合成装置において、
メモリに変換される動作記述を検出する検出手段と、
前記検出手段により検出された前記動作記述を抽出する抽出手段と、
前記抽出手段により抽出された前記動作記述のサイズおよび接続情報を分析する分析手段と、
前記分析手段により分析した結果に基づいて、前記動作記述をメモリへ変換し、前記接続情報を元にプロトコルに変換する変換手段とを具備し、
配列記述をメモリに変換し、配列にアクセスしている部分にインターフェース回路を生成し、生成されたインターフェース回路を介して回路とメモリを接続する論理回路を生成することを特徴とする高位合成装置。
In the high-level synthesis device that converts the operation description describing the processing operation into a logic circuit at the register transfer level,
Detecting means for detecting a behavioral description converted into a memory;
Extracting means for extracting the behavior description detected by the detecting means;
Analyzing means for analyzing the size and connection information of the behavioral description extracted by the extracting means;
Conversion means for converting the behavioral description into a memory based on the result of analysis by the analysis means, and converting into a protocol based on the connection information;
A high-level synthesis apparatus, comprising: converting an array description into a memory; generating an interface circuit in a portion accessing the array; and generating a logic circuit connecting the circuit and the memory through the generated interface circuit.
メモリに繋がる複数のモジュールをアービトレーションすることが可能な論理回路を生成することを特徴とする請求項1記載の高位合成装置。   2. The high-level synthesis apparatus according to claim 1, wherein a logic circuit capable of arbitrating a plurality of modules connected to a memory is generated. アービトレーションする順番を指定することが可能な論理回路を生成することを特徴とする請求項2記載の高位合成装置。   3. The high-level synthesis apparatus according to claim 2, wherein a logic circuit capable of designating an order of arbitration is generated. メモリを配置する場所を指定可能なことを特徴とする請求項1から3のいずれか1項に記載の高位合成装置。   4. The high-level synthesis apparatus according to claim 1, wherein a location where the memory is arranged can be specified. 動作記述を入力して高位合成処理を行いHDL記述を出力するコンピュータを用いた高位合成方法であって、
メモリに変換される動作記述を検出する検出工程と、
検出された前記動作記述を抽出する抽出工程と、
抽出された前記動作記述のサイズおよび接続情報を分析する分析工程と、
分析した結果に基づいて、前記動作記述をメモリへ変換し、前記接続情報を元にプロトコルに変換する変換工程とを含むことを特徴とする高位合成方法。
A high-level synthesis method using a computer that inputs a behavior description, performs high-level synthesis processing, and outputs an HDL description,
A detection step of detecting a behavioral description converted into memory;
An extraction step of extracting the detected behavior description;
An analysis step of analyzing the size and connection information of the extracted behavior description;
A high-level synthesis method comprising: converting the behavior description into a memory based on the analysis result, and converting the behavior description into a protocol based on the connection information.
コンピュータを、
メモリに変換される動作記述を検出する検出手段と、
前記検出手段により検出された前記動作記述を抽出する抽出手段と、
前記抽出手段により抽出された前記動作記述のサイズおよび接続情報を分析する分析手段と、
前記分析手段により分析した結果に基づいて、前記動作記述をメモリへ変換し、前記接続情報を元にプロトコルに変換する変換手段として機能させ、
動作記述を入力して高位合成処理を行いHDL記述を出力する高位合成装置として機能させることを特徴とする高位合成プログラム。
Computer
Detecting means for detecting a behavioral description converted into a memory;
Extracting means for extracting the behavior description detected by the detecting means;
Analyzing means for analyzing the size and connection information of the behavioral description extracted by the extracting means;
Based on the result analyzed by the analysis means, the behavioral description is converted into a memory, and functions as a conversion means for converting into a protocol based on the connection information,
A high-level synthesis program that functions as a high-level synthesis device that inputs a behavioral description, performs high-level synthesis processing, and outputs an HDL description.
JP2009193011A 2009-08-24 2009-08-24 Device, method and program for high order composition Withdrawn JP2011044073A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009193011A JP2011044073A (en) 2009-08-24 2009-08-24 Device, method and program for high order composition

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009193011A JP2011044073A (en) 2009-08-24 2009-08-24 Device, method and program for high order composition

Publications (1)

Publication Number Publication Date
JP2011044073A true JP2011044073A (en) 2011-03-03

Family

ID=43831448

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009193011A Withdrawn JP2011044073A (en) 2009-08-24 2009-08-24 Device, method and program for high order composition

Country Status (1)

Country Link
JP (1) JP2011044073A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106462431A (en) * 2014-06-02 2017-02-22 赛灵思公司 Extracting system architecture in high level synthesis

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106462431A (en) * 2014-06-02 2017-02-22 赛灵思公司 Extracting system architecture in high level synthesis

Similar Documents

Publication Publication Date Title
TW201423581A (en) Results generation for state machine engines
JP2006048525A (en) Simulation method
US7913204B2 (en) High-level synthesis apparatus, high-level synthesis system and high-level synthesis method
JP2008186252A (en) Behavioral synthesis device and method having test bench generation function, and program
JP5233355B2 (en) Property generation system and property verification system
JP2011044073A (en) Device, method and program for high order composition
JP2011134308A (en) High level synthesizer, high level synthesis method, and high level synthesis program
JP2004070457A (en) Device and method for calculating coverage for simulation
JP2008204341A (en) Interface composite device
JP2005332162A (en) Hardware/software cooperation simulation system, and its method
JP5233354B2 (en) Property verification system, property verification method, and program
JP5545054B2 (en) Debug circuit and debug system
Thornberg et al. Bit-width constrained memory hierarchy optimization for real-time video systems
JP5467512B2 (en) Behavioral synthesis apparatus, behavioral synthesis method, and behavioral synthesis program
US9355198B1 (en) Method and apparatus for performing late binding of control status registers in a design compilation flow
JP2011090518A (en) High order synthesis device, high order synthesis method, and high order synthesis program
JP2010140139A (en) Method of assisting in designing circuit, program, and recording medium
JP2009187119A (en) Verification support program, verification support device, and verification support method
JP2006146332A (en) Data processing system verification device, method, and program
JP5211776B2 (en) Behavioral synthesis apparatus, behavioral synthesis method, and program
JP2009145957A (en) State machine and semiconductor integrated circuit using it
JP2019191796A (en) High-level synthesis method, high-level synthesis program, and high-level synthesis apparatus
JP2011022863A (en) Apparatus and method for synthesizing action
WO2010095635A1 (en) Circuit design assistance device, circuit design assistance method, and computer readable recording medium
JP2011059908A (en) Behavioral synthesis apparatus, method of controlling behavioral synthesis, behavioral synthesis control program, and recording medium

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