JP2008204341A - Interface composite device - Google Patents

Interface composite device Download PDF

Info

Publication number
JP2008204341A
JP2008204341A JP2007042149A JP2007042149A JP2008204341A JP 2008204341 A JP2008204341 A JP 2008204341A JP 2007042149 A JP2007042149 A JP 2007042149A JP 2007042149 A JP2007042149 A JP 2007042149A JP 2008204341 A JP2008204341 A JP 2008204341A
Authority
JP
Japan
Prior art keywords
interface
communication interface
behavior
communication
control data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007042149A
Other languages
Japanese (ja)
Inventor
So Yamauchi
宗 山内
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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2007042149A priority Critical patent/JP2008204341A/en
Publication of JP2008204341A publication Critical patent/JP2008204341A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To automatically generate a communication interface for data communication between a plurality of processes represented respectively by a plurality of operation descriptions. <P>SOLUTION: When a plurality of operation descriptions are inputted from an input device 300, an interface composite means 120 generates an operation description representing the communication interface for data communication between a plurality or processes represented by a plurality of operation descriptions based on locations of data to be referred or substituted inside a plurality of operation descriptions. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、複数の動作記述の各々によって表される複数の処理間のデータ通信用の通信インタフェースを生成するインタフェース合成装置に関する。   The present invention relates to an interface composition device that generates a communication interface for data communication between a plurality of processes represented by each of a plurality of behavior descriptions.

システムLSIにおいては、複数のハードウェアモジュールとプロセッサ上のソフトウェアとの協調動作によって目的の機能と性能を実現している。これを実現するためのシステムLSIの処理は、プログラム言語に代表される高級言語で記述された動作記述により表される。また、その処理のある部分はいくつかの専用ハードウェアモジュールで実現し、別の部分はいくつかのソフトウェアで実現するのが一般的である。   In a system LSI, a target function and performance are realized by a cooperative operation of a plurality of hardware modules and software on a processor. The processing of the system LSI for realizing this is represented by an operation description described in a high-level language represented by a program language. In addition, a part of the processing is generally realized by some dedicated hardware modules, and another part is realized by some software.

そのため、システムLSIの設計においては、システムLSIの処理を複数に分割する作業が必要となる。ただし、分割作業においては、分割された複数の処理がハードウェアおよびソフトウェアによってどのように実現されるかに従って、これら複数の処理間でデータを入出力する通信に必要な通信インタフェースを生成する必要がある。このように、複数の処理間のデータ通信用の通信インタフェースを生成することを、一般的にインタフェース合成と呼ぶ。   Therefore, in designing the system LSI, it is necessary to divide the processing of the system LSI into a plurality of parts. However, in the division work, it is necessary to generate a communication interface necessary for communication for inputting / outputting data between the plurality of processes according to how the plurality of divided processes are realized by hardware and software. is there. Generating a communication interface for data communication between a plurality of processes in this way is generally called interface synthesis.

システムLSIの設計においては、動作記述を基に人手でハードウェアを実現することも可能であるが、動作合成ツールを用いて動作記述をレジスタトランスファレベル(以後RTL)のハードウェア記述に変換する動作合成を行い、さらに、論理合成ツールを用いてハードウェア記述を基に論理合成を行ってハードウェアを実現することも可能である。   In designing a system LSI, it is possible to manually implement hardware based on the behavioral description, but the behavioral synthesis tool is used to convert the behavioral description into a register transfer level (hereinafter RTL) hardware description. It is also possible to realize hardware by performing synthesis and further performing logic synthesis based on the hardware description using a logic synthesis tool.

インタフェース合成に関しては、特許文献1に開示されている方法がある。この方法では、動作記述内に抽象化された通信インタフェースが陽に記述され、ユーザの指示に従ってインタフェース合成を実現している。
米国特許出願公開第2004/0111692号明細書
As for interface synthesis, there is a method disclosed in Patent Document 1. In this method, a communication interface abstracted in the behavioral description is explicitly described, and interface synthesis is realized according to a user instruction.
US Patent Application Publication No. 2004/0111692

しかし、特許文献1に開示された方法においては、通信インタフェースは、抽象化されているとはいえ、陽に記述されているため、処理を複数に分割する際の分割数や分割場所を変更するたびに、処理を書き換える必要があるという課題がある。   However, in the method disclosed in Patent Document 1, although the communication interface is abstractly described, it is explicitly described. Therefore, the number of divisions and the division location when the process is divided into a plurality are changed. Each time, there is a problem that the processing needs to be rewritten.

さらに、動作合成を行う場合にも、通信インタフェースが陽に記述されているが故に、処理と通信とが分離してしまい、動作合成時の最適化を阻害するという課題がある。   Furthermore, when performing behavioral synthesis, since the communication interface is explicitly described, processing and communication are separated, and there is a problem that optimization during behavioral synthesis is hindered.

また、分割数や分割場所を変更せずに、動作合成のターゲットとなるアーキテクチャを変更する際の対応が困難であるという課題がある。   In addition, there is a problem that it is difficult to cope with changing the architecture that is the target of behavioral synthesis without changing the number of divisions and the division location.

そこで、本発明の目的は、通信インタフェースを陽に記述していなくても、通信インタフェースを自動的に生成することが可能であり、動作合成時の最適化を容易にし、さらには、動作合成のターゲットとなるアーキテクチャの変更も容易になるインタフェース合成装置を提供することにある。   Therefore, an object of the present invention is to automatically generate a communication interface even if the communication interface is not explicitly described, thereby facilitating optimization at the time of behavioral synthesis. An object of the present invention is to provide an interface synthesis device that makes it easy to change the target architecture.

上記目的を達成するために本発明のインタフェース合成装置は、複数の動作記述の各々によって表される複数の処理間のデータ通信用の通信インタフェースを生成するインタフェース合成装置であって、前記複数の動作記述を入力する入力手段と、前記複数の動作記述内で各々参照または代入されるデータの所在場所に基づいて、当該複数の動作記述の各々によって表される複数の処理間のデータ通信用の前記通信インタフェースを表す動作記述を生成するインタフェース合成手段と、を有することを特徴とする。   In order to achieve the above object, an interface composition device of the present invention is an interface composition device that generates a communication interface for data communication between a plurality of processes represented by each of a plurality of behavior descriptions. Input means for inputting a description, and the data communication for data communication between a plurality of processes represented by each of the plurality of behavioral descriptions based on the location of data referred to or substituted in each of the plurality of behavioral descriptions. Interface synthesis means for generating a behavioral description representing a communication interface.

なお、前記入力手段は、前記複数の動作記述がマッピングされるモジュールを示すマッピング情報をさらに入力し、前記インタフェース合成手段は、前記マッピング情報に基づいて、前記複数の動作記述内で各々参照または代入されるデータの所在場所となるモジュールを判別することとしても良い。   The input means further inputs mapping information indicating a module to which the plurality of behavior descriptions are mapped, and the interface composition means refers to or assigns each of the plurality of behavior descriptions based on the mapping information. It is also possible to determine the module that is the location of the data to be processed.

また、前記通信インタフェースを表す動作記述と前記処理を表す動作記述とに基づいて、制御データフローグラフを生成する制御データフロー解析手段をさらに有することとしても良い。   Moreover, it is good also as having a control data flow analysis means which produces | generates a control data flow graph based on the operation description showing the said communication interface, and the operation description showing the said process.

また、前記インタフェース合成手段は、前記制御データフローグラフを解析し、当該解析結果に基づいて、前記通信インタフェースを表す動作記述の内容または位置を変更することとしても良い。   Further, the interface composition unit may analyze the control data flow graph and change the content or position of the behavioral description representing the communication interface based on the analysis result.

また、前記インタフェース合成手段は、前記制御データフローグラフの解析結果に基づいて、前記通信インタフェースによるデータ通信がシングル転送の繰り返し処理と判別すれば、前記通信インタフェースを表す動作記述の内容を、バースト転送の動作記述に変更することとしても良い。   In addition, if the interface synthesis unit determines that the data communication by the communication interface is a single transfer repetitive process based on the analysis result of the control data flow graph, the content of the operation description representing the communication interface is transferred to the burst transfer. It may be changed to the behavior description.

また、前記インタフェース合成手段は、前記制御データフローグラフの解析結果に基づいて、前記通信インタフェースを表す動作記述と前記処理を表す動作記述との位置関係を変更することとしても良い。   The interface composition unit may change the positional relationship between the behavior description representing the communication interface and the behavior description representing the processing based on the analysis result of the control data flow graph.

本発明によれば、インタフェース合成手段が、複数の動作記述内で各々参照または代入されるデータの所在場所に基づいて、これら複数の動作記述の各々によって表される複数の処理間のデータ通信用の通信インタフェースを表す動作記述を生成している。   According to the present invention, the interface synthesizing means is for data communication between a plurality of processes represented by each of the plurality of behavior descriptions based on the location of data referred to or substituted in the plurality of behavior descriptions. A behavioral description representing the communication interface is generated.

したがって、通信インタフェースを陽に記述していなくても、通信インタフェースを自動的に生成することが可能になるため、処理を複数に分割する際の分割数や分割場所を変更するたびに、処理を書き換える必要がなくなるという効果がある。   Therefore, even if the communication interface is not explicitly described, it is possible to automatically generate the communication interface. Therefore, each time the number of divisions or division location is changed, the processing is performed. There is an effect that it is not necessary to rewrite.

さらに、動作合成を行う場合も、通信インタフェース自体を陽に記述する必要がないために、動作合成時の最適化が容易になるという効果がある。   Furthermore, even when behavioral synthesis is performed, there is no need to explicitly describe the communication interface itself, which has the effect of facilitating optimization during behavioral synthesis.

また、分割数や分割場所を変更せずに、動作合成のターゲットとなるアーキテクチャを変更する際の対応が容易になるという効果もある。   In addition, there is an effect that it is easy to cope with changing the architecture that is the target of behavioral synthesis without changing the number of divisions and the division location.

以下に、本発明を実施するための最良の形態について図面を参照して説明する。   The best mode for carrying out the present invention will be described below with reference to the drawings.

図1に、本発明の一実施形態のインタフェース合成装置の構成の例を示す。   FIG. 1 shows an example of the configuration of an interface composition device according to an embodiment of the present invention.

図1に示すように、本実施形態のインタフェース合成装置は、データ処理装置100と、記憶装置200と、入力装置300と、出力装置400とから構成されている。   As shown in FIG. 1, the interface composition device according to the present embodiment includes a data processing device 100, a storage device 200, an input device 300, and an output device 400.

データ処理装置100は、制御データフロー解析手段110と、インタフェース合成手段120とを含む。   The data processing apparatus 100 includes a control data flow analysis unit 110 and an interface synthesis unit 120.

記憶装置200は、動作記述記憶手段210と、制御データフロー記憶手段220と、設計制約記憶手段230とを含む。   The storage device 200 includes an operation description storage unit 210, a control data flow storage unit 220, and a design constraint storage unit 230.

これらの装置および手段は、それぞれ概略次のように動作する。   Each of these devices and means generally operates as follows.

入力装置300には、プログラム言語に代表される高級言語で記述され、システムLSI等の論理回路の処理を表す動作記述が入力される。ここで入力された動作記述は、データ処理装置100経由で動作記述記憶手段210に記憶される。なお、本実施形態のインタフェース合成装置は、複数の処理間の通信インタフェースを生成するものであるため、入力装置300には複数の動作記述が入力されることを前提としている。   The input device 300 is input with an operation description that is described in a high-level language represented by a program language and represents processing of a logic circuit such as a system LSI. The operation description input here is stored in the operation description storage unit 210 via the data processing apparatus 100. Note that the interface composition apparatus according to the present embodiment generates a communication interface between a plurality of processes. Therefore, it is assumed that a plurality of behavior descriptions are input to the input device 300.

また、入力装置300には、クロック周期やハードウェア構成の情報や、マッピング情報などの設計制約が入力される。ここで入力された設計制約は、データ処理装置100経由で設計制約記憶手段230に記憶される。   Also, the input device 300 receives design constraints such as clock cycle and hardware configuration information and mapping information. The design constraint input here is stored in the design constraint storage unit 230 via the data processing apparatus 100.

ここで、ハードウェア構成の情報とは、専用ハードウェアモジュール、CPU(マイクロプロセッサ)、DSP(デジタルシグナルプロセッサ)、およびメモリが、どのような種類で何個ずつ設けられているか、どのようなトポロジーでハードウェア的に接続されているか等を示す情報である。その中には、これらがオンチップ・バスを介して接続されている、または、直結されているなどの接続手段を示す情報も含まれる。   Here, the hardware configuration information refers to what type and how many dedicated hardware modules, CPU (microprocessor), DSP (digital signal processor), and memory are provided, and what topology. It is information indicating whether or not it is connected in hardware. This includes information indicating connection means such that these are connected via an on-chip bus or directly connected.

また、マッピング情報とは、どのような動作記述が、専用ハードウェアモジュール、CPU、DSP、およびメモリの中のどこにマッピングされて(割り当てられて)実現されるかを示す情報である。以下では、専用ハードウェアモジュール、CPU、DSP、およびメモリについては、個々を特に区別する必要が無い場合はモジュールと総称する。   The mapping information is information indicating where the operation description is mapped (allocated) in the dedicated hardware module, the CPU, the DSP, and the memory. Hereinafter, the dedicated hardware module, the CPU, the DSP, and the memory are collectively referred to as a module when it is not necessary to distinguish between them.

インタフェース合成手段120は、動作記述記憶手段210から複数の動作記述を読み出すとともに、設計制約記憶手段230から設計制約に含まれるマッピング情報を読み出し、読み出した複数の動作記述とマッピング情報を基に、複数の動作記述内で各々参照または代入されるデータ(変数)の所在場所を判別し、判別した所在場所に応じて、複数の動作記述によって表される複数の処理間のデータ(変数)通信用の通信インタフェースを自動生成する。   The interface synthesis unit 120 reads a plurality of behavior descriptions from the behavior description storage unit 210, reads mapping information included in the design constraint from the design constraint storage unit 230, and based on the read plurality of behavior descriptions and mapping information, For the data (variable) communication between multiple processes represented by multiple behavioral descriptions according to the determined location, the location of the data (variable) referenced or substituted in each behavioral description is determined. A communication interface is automatically generated.

ここで、通信インタフェースの生成動作について詳細に説明する。   Here, the generation operation of the communication interface will be described in detail.

図2に、通信インタフェースの生成動作の例を示す。   FIG. 2 shows an example of a communication interface generation operation.

図2に示すように、まず、インタフェース合成手段120は、動作記述記憶手段210から動作記述を読み出し、動作記述集合Pを生成する(ステップA1)。   As shown in FIG. 2, the interface synthesizing unit 120 first reads out the behavior description from the behavior description storage unit 210 and generates a behavior description set P (step A1).

次に、インタフェース合成手段120は、動作記述集合Pが空集合であるか否かを判定する(ステップA2)。ここでは、動作記述集合Pが空集合でないとする。   Next, the interface composition unit 120 determines whether or not the behavior description set P is an empty set (step A2). Here, it is assumed that the behavior description set P is not an empty set.

次に、インタフェース合成手段120は、動作記述集合Pから1つの動作記述を取り出す。ここでは、動作記述Aが取り出されたとする。続いて、インタフェース合成手段120は、設計制約記憶手段230からマッピング情報を読み出し、読み出したマッピング情報を基に、動作記述Aがマッピングされるモジュールを選択する(ステップA3)。ここでは、モジュールBが選択されたとする。   Next, the interface composition unit 120 extracts one behavior description from the behavior description set P. Here, it is assumed that behavioral description A is extracted. Subsequently, the interface synthesis unit 120 reads the mapping information from the design constraint storage unit 230, and selects the module to which the behavioral description A is mapped based on the read mapping information (step A3). Here, it is assumed that the module B is selected.

次に、インタフェース合成手段120は、モジュールBが専用ハードウェアモジュールであるか否かを判定する(ステップA4)。ここでは、モジュールBが専用ハードウェアモジュールであるとする。   Next, the interface synthesizing unit 120 determines whether or not the module B is a dedicated hardware module (step A4). Here, it is assumed that the module B is a dedicated hardware module.

次に、インタフェース合成手段120は、動作記述A内で参照または代入される変数のうち、同じモジュールBに実体が無い変数を列挙し、列挙した変数の集合である参照・代入変数集合Cを生成する(ステップA5)。   Next, the interface synthesizing unit 120 enumerates variables that do not exist in the same module B among the variables that are referenced or substituted in the operation description A, and generates a reference / assignment variable set C that is a set of the enumerated variables. (Step A5).

次に、インタフェース合成手段120は、参照・代入変数集合Cが空集合であるか否かを判定する(ステップA6)。ここでは、参照・代入変数集合Cが空集合でないとする。   Next, the interface composition unit 120 determines whether or not the reference / assignment variable set C is an empty set (step A6). Here, it is assumed that the reference / assignment variable set C is not an empty set.

次に、インタフェース合成手段120は、参照・代入変数集合Cから1つの変数を取り出す。ここでは、参照・代入変数Dが取り出されたとする。続いて、インタフェース合成手段120は、マッピング情報と動作記述集合Pに含まれる全ての動作記述を基に、参照・代入変数Dの実体を有するモジュールを割り出す(ステップA7)。ここでは、モジュールEが割り出されたとする。   Next, the interface synthesis unit 120 extracts one variable from the reference / assignment variable set C. Here, it is assumed that the reference / assignment variable D is extracted. Subsequently, the interface synthesizing unit 120 determines the module having the entity of the reference / assignment variable D based on the mapping information and all the behavioral descriptions included in the behavioral description set P (Step A7). Here, it is assumed that module E has been determined.

その後、インタフェース合成手段120は、マッピング情報を基に、モジュールBとモジュールE間の接続バスを自動判別し、参照・代入変数D用の読み出しまたは書き込みインタフェースとして通信インタフェースFを生成し、生成した通信インタフェースFをインタフェース集合Xに追加する(ステップA8)。   Thereafter, the interface synthesis unit 120 automatically determines the connection bus between the module B and the module E based on the mapping information, generates the communication interface F as a read / write interface for the reference / substitution variable D, and generates the generated communication The interface F is added to the interface set X (step A8).

以上の処理は、動作記述集合Pが空集合になるまで繰り返される。   The above processing is repeated until the behavioral description set P becomes an empty set.

これにより、通信インタフェースの初期解として、インタフェース集合が得られる。この段階では、各モジュールの通信インタフェースは動作記述で表現されている。   Thereby, an interface set is obtained as an initial solution of the communication interface. At this stage, the communication interface of each module is expressed by an operation description.

図3に、変数の参照または代入を表す動作記述が、通信インタフェースを表す動作記述に置き換わった例を示す。図3の例では、変数である配列x,y,zがいずれも別モジュールに存在することを前提にしている。   FIG. 3 shows an example in which an operation description representing reference or substitution of a variable is replaced with an operation description representing a communication interface. In the example of FIG. 3, it is assumed that the arrays x, y, and z, which are variables, are all present in different modules.

図3に示すように、インタフェース合成手段120が図2の動作を行うことにより、x[i],y[i]の参照とz[i]への代入を表す動作記述は、それぞれ、read_data(),write_data()という通信インタフェースを表す動作記述に置き換わる。図2の動作が行われた後の処理と通信インタフェースを表す複数の動作記述は動作記述記憶手段210へ記憶される。   As shown in FIG. 3, when the interface synthesis unit 120 performs the operation of FIG. 2, the operation descriptions representing the reference to x [i] and y [i] and the assignment to z [i] are read_data ( ), Write_data () replaces the behavioral description representing the communication interface. A plurality of operation descriptions representing the processing and communication interface after the operation of FIG. 2 is performed are stored in the operation description storage unit 210.

制御データフロー解析手段110は、動作記述記憶手段210から、図2の動作が行われた後の複数の動作記述を読み出し、読み出した複数の動作記述の制御データフロー解析を行い、それぞれの制御データフローグラフ(CDFG)を生成し、生成した制御データフローグラフを制御データフロー記憶手段220に記憶させる。ここで記憶された制御データフローグラフは、データ処理装置100経由で出力装置400から出力され、不図示の動作合成ツールによる動作合成時に用いられる。   The control data flow analysis unit 110 reads a plurality of behavior descriptions after the operation of FIG. 2 is performed from the behavior description storage unit 210, performs control data flow analysis of the plurality of read behavior descriptions, and outputs each control data. A flow graph (CDFG) is generated, and the generated control data flow graph is stored in the control data flow storage unit 220. The control data flow graph stored here is output from the output device 400 via the data processing device 100 and used in behavioral synthesis by a behavioral synthesis tool (not shown).

なお、インタフェース合成手段120は、制御データフロー記憶手段220に記憶された制御データフローグラフの解析を行い、その解析結果に基づいて、通信インタフェースを表す動作記述の内容または発行位置を変更してその最適化を実施することもできる。   The interface synthesizing unit 120 analyzes the control data flow graph stored in the control data flow storage unit 220, and changes the content or issue position of the operation description representing the communication interface based on the analysis result. Optimization can also be performed.

インタフェース合成手段120は、制御データフローグラフの解析結果に基づき、図3の例のデータ通信が、別モジュールに存在する配列x,yを読み込んで乗算を施した結果を、再び別モジュールに存在する配列zに書き戻すというシングル転送の繰り返し処理であると判別すると、図4に示すように、通信インタフェースを表す動作記述の内容を、バースト転送を表す動作記述である、read_burst_data(),write_burst_data()に変更する。ここで、read_burst_data()の1つ目の引数は読み出し元の配列、2つ目の引数は読み出した値の転送先の配列、3つ目の配列は転送データ数を表す。同様に、write_burst_data()の1つ目の引数は書き込み元の配列、2つ目の引数は書き込み先の配列、3つ目の配列は転送データ数を表す。一般的に、シングル転送と比較して、バースト転送は転送効率が良いため、図4の変換により、データ通信のオーバーヘッドが削減される。   Based on the analysis result of the control data flow graph, the interface synthesizing unit 120 re-exists the result of the data communication in the example of FIG. If it is determined that it is a single transfer repetitive process of writing back to the array z, as shown in FIG. 4, the contents of the operation description representing the communication interface are read_burst_data () and write_burst_data () which are the operation descriptions representing the burst transfer. Change to Here, the first argument of read_burst_data () is a read source array, the second argument is a read destination array of read values, and the third array represents the number of transfer data. Similarly, the first argument of write_burst_data () represents the write source array, the second argument represents the write destination array, and the third array represents the number of transfer data. In general, burst transfer has better transfer efficiency than single transfer, and therefore the overhead of data communication is reduced by the conversion of FIG.

同様に、インタフェース合成手段120は、制御データフローグラフの解析結果に基づき、通信インタフェースを表す動作記述の発行位置を変更することも可能である。通信インタフェースを表す動作記述は、データ通信のオーバーヘッドという時間を要するために、他の演算処理と比較して、早めに発行することで、オーバーヘッドの影響を軽減することができる。図5に、図4と同様に、インタフェース合成手段120によって通信インタフェースを表す動作記述の内容を変更した例を示す。このままでも機能的には要求を満たすが、さらに、制御データフローグラフの解析結果を基にしてスケジューリングを行うことにより、通信インタフェースを表す動作記述の発行位置を早めに移動した例が、図6である。このように、通信インタフェースを表す動作記述を早めに発行することによって、通信時間と演算時間を重ね合わせ、トータルの処理時間を短くするという最適化が可能となる。   Similarly, the interface synthesizing unit 120 can change the issue position of the behavior description representing the communication interface based on the analysis result of the control data flow graph. Since the operation description representing the communication interface requires time for data communication overhead, it is possible to reduce the influence of overhead by issuing it earlier than other arithmetic processing. FIG. 5 shows an example in which the contents of the behavioral description representing the communication interface are changed by the interface synthesizing unit 120 as in FIG. FIG. 6 shows an example in which the issue position of the operation description representing the communication interface is moved earlier by scheduling based on the analysis result of the control data flow graph. is there. In this way, by issuing the behavioral description representing the communication interface early, it is possible to optimize the communication time and the calculation time so as to shorten the total processing time.

なお、通信インタフェースを表す動作記述が最適化された後の動作記述は、動作記述記憶手段210に記憶され、それを基に制御データフロー解析手段110によって制御データフローグラフが生成される。その制御データフローグラフは、制御データフロー記憶手段220に記憶され、データ処理装置100経由で出力装置400から出力され、不図示の動作合成ツールによる動作合成時に用いられる。   The behavioral description after optimizing the behavioral description representing the communication interface is stored in the behavioral description storage unit 210, and a control dataflow graph is generated by the control dataflow analysis unit 110 based on the behavioral description. The control data flow graph is stored in the control data flow storage unit 220, is output from the output device 400 via the data processing device 100, and is used during behavioral synthesis by a behavioral synthesis tool (not shown).

本発明によれば、C言語等のプログラム言語で記述された動作記述を、自動でハードウェア記述に変換する動作合成システムに適用できる。   The present invention can be applied to a behavioral synthesis system that automatically converts a behavioral description described in a programming language such as C language into a hardware description.

本発明の一実施形態のインタフェース合成装置の構成を示すブロック図である。It is a block diagram which shows the structure of the interface synthetic | combination apparatus of one Embodiment of this invention. 図1に示したインタフェース合成手段による通信インタフェースの生成動作の一例を説明するフローチャートである。6 is a flowchart for explaining an example of a communication interface generation operation by the interface composition unit shown in FIG. 1. 図2の動作によって生成された通信インタフェースの一例を示す図である。It is a figure which shows an example of the communication interface produced | generated by the operation | movement of FIG. 図3の通信インタフェースを表す動作記述の内容を最適化した一例を示す図である。It is a figure which shows an example which optimized the content of the action description showing the communication interface of FIG. 図3の通信インタフェースを表す動作記述の内容を最適化した他の例を示す図である。It is a figure which shows the other example which optimized the content of the action description showing the communication interface of FIG. 図5の通信インタフェースを表す動作記述の発行位置を最適化した一例を示す図である。It is a figure which shows an example which optimized the issue position of the operation description showing the communication interface of FIG.

符号の説明Explanation of symbols

100 データ処理装置
110 制御データフロー解析手段
120 インタフェース合成手段
200 記憶装置
210 動作記述記憶手段
220 制御データフロー記憶手段
230 設計制約記憶手段
300 入力装置
400 出力装置
DESCRIPTION OF SYMBOLS 100 Data processor 110 Control data flow analysis means 120 Interface composition means 200 Storage device 210 Operation description storage means 220 Control data flow storage means 230 Design constraint storage means 300 Input device 400 Output device

Claims (6)

複数の動作記述の各々によって表される複数の処理間のデータ通信用の通信インタフェースを生成するインタフェース合成装置であって、
前記複数の動作記述を入力する入力手段と、
前記複数の動作記述内で各々参照または代入されるデータの所在場所に基づいて、当該複数の動作記述の各々によって表される複数の処理間のデータ通信用の前記通信インタフェースを表す動作記述を生成するインタフェース合成手段と、を有するインタフェース合成装置。
An interface synthesis device that generates a communication interface for data communication between a plurality of processes represented by each of a plurality of behavior descriptions,
Input means for inputting the plurality of behavior descriptions;
Based on the location of data referenced or substituted in each of the plurality of behavior descriptions, the behavior description representing the communication interface for data communication between a plurality of processes represented by each of the plurality of behavior descriptions is generated. Interface synthesizing means.
前記入力手段は、前記複数の動作記述がマッピングされるモジュールを示すマッピング情報をさらに入力し、
前記インタフェース合成手段は、前記マッピング情報に基づいて、前記複数の動作記述内で各々参照または代入されるデータの所在場所となるモジュールを判別する、請求項1記載のインタフェース合成装置。
The input means further inputs mapping information indicating a module to which the plurality of behavior descriptions are mapped,
The interface synthesizing apparatus according to claim 1, wherein the interface synthesizing unit determines a module serving as a location of data to be referred to or substituted in each of the plurality of behavior descriptions based on the mapping information.
前記通信インタフェースを表す動作記述と前記処理を表す動作記述とに基づいて、制御データフローグラフを生成する制御データフロー解析手段をさらに有する、請求項1または2記載のインタフェース合成装置。   3. The interface composition apparatus according to claim 1, further comprising control data flow analysis means for generating a control data flow graph based on the behavior description representing the communication interface and the behavior description representing the process. 前記インタフェース合成手段は、前記制御データフローグラフを解析し、当該解析結果に基づいて、前記通信インタフェースを表す動作記述の内容または位置を変更する、請求項3記載のインタフェース合成装置。   The interface synthesizing device according to claim 3, wherein the interface synthesizing unit analyzes the control data flow graph and changes a content or a position of an operation description representing the communication interface based on the analysis result. 前記インタフェース合成手段は、前記制御データフローグラフの解析結果に基づいて、前記通信インタフェースによるデータ通信がシングル転送の繰り返し処理と判別すれば、前記通信インタフェースを表す動作記述の内容を、バースト転送の動作記述に変更する、請求項4記載のインタフェース合成装置。   If the interface compositing means determines that the data communication by the communication interface is a single transfer repetitive process based on the analysis result of the control data flow graph, the contents of the operation description representing the communication interface are changed to the burst transfer operation. 5. The interface composition apparatus according to claim 4, wherein the interface composition apparatus is changed to a description. 前記インタフェース合成手段は、前記制御データフローグラフの解析結果に基づいて、前記通信インタフェースを表す動作記述と前記処理を表す動作記述との位置関係を変更する、請求項4または5記載のインタフェース合成装置。   6. The interface composition apparatus according to claim 4 or 5, wherein the interface composition unit changes a positional relationship between an operation description representing the communication interface and an operation description representing the process based on an analysis result of the control data flow graph. .
JP2007042149A 2007-02-22 2007-02-22 Interface composite device Pending JP2008204341A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007042149A JP2008204341A (en) 2007-02-22 2007-02-22 Interface composite device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007042149A JP2008204341A (en) 2007-02-22 2007-02-22 Interface composite device

Publications (1)

Publication Number Publication Date
JP2008204341A true JP2008204341A (en) 2008-09-04

Family

ID=39781761

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007042149A Pending JP2008204341A (en) 2007-02-22 2007-02-22 Interface composite device

Country Status (1)

Country Link
JP (1) JP2008204341A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016151830A (en) * 2015-02-16 2016-08-22 三菱電機株式会社 Design support device, design support method and design support program
US10303832B2 (en) 2015-09-18 2019-05-28 Mitsubishi Electric Corporation Architecture generating device
US10311188B2 (en) 2015-04-08 2019-06-04 Mitsubishi Electric Corporation Circuit design support apparatus, circuit design support method, and computer readable medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001084284A (en) * 1999-09-13 2001-03-30 Nec Corp Device and method for synthesizing system and recording medium with system synthetic program recorded thereon
JP2003036175A (en) * 2001-07-24 2003-02-07 Pacific Design Kk Method for designing data processor
JP2003114914A (en) * 2001-10-04 2003-04-18 Sharp Corp Software/hardware cooperative design method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001084284A (en) * 1999-09-13 2001-03-30 Nec Corp Device and method for synthesizing system and recording medium with system synthetic program recorded thereon
JP2003036175A (en) * 2001-07-24 2003-02-07 Pacific Design Kk Method for designing data processor
JP2003114914A (en) * 2001-10-04 2003-04-18 Sharp Corp Software/hardware cooperative design method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016151830A (en) * 2015-02-16 2016-08-22 三菱電機株式会社 Design support device, design support method and design support program
US10311188B2 (en) 2015-04-08 2019-06-04 Mitsubishi Electric Corporation Circuit design support apparatus, circuit design support method, and computer readable medium
US10303832B2 (en) 2015-09-18 2019-05-28 Mitsubishi Electric Corporation Architecture generating device

Similar Documents

Publication Publication Date Title
EP2062175B1 (en) Hardware definition language generation for frame-based processing
US6021266A (en) Method of designing an integrated circuit using scheduling and allocation with parallelism and handshaking communication, and an integrated circuit designed by such method
JP2006146953A (en) Processor, system lsi, design method of system lsi, and recording medium with the same recorded thereon
WO2001090887A1 (en) Method fir processing program for high-speed processing by using dynamically reconfigurable hardware and program for executing the processing method
JP4492803B2 (en) Behavioral synthesis apparatus and program
JP2007034887A (en) Method and apparatus for automatically creating shift register file for high-level synthesis compiler
KR100499720B1 (en) Method for designing a system lsi
JP3852741B2 (en) High level synthesis method and high level synthesis apparatus
JP2010238054A (en) Apparatus for supporting semiconductor design, high-order synthesis method and program for supporting semiconductor design
US8972923B2 (en) Method and apparatus and software code for generating a hardware stream processor design
JP2008204341A (en) Interface composite device
JP2013214278A (en) Upper hierarchy description generating apparatus, method for generating upper hierarchy description, and program
JP6776069B2 (en) RTL optimization system and RTL optimization program
JP4730536B2 (en) Behavioral synthesis system, behavioral synthesis method and program
EP2336883B1 (en) Programming system in multi-core environment, and method and program of the same
JP2003114914A (en) Software/hardware cooperative design method
JP2001043251A (en) Device and method for high-order synthesis and recording medium used for the same
JP2006155533A (en) Circuit information generation device and circuit information generation method
JP2000057180A (en) High-order synthesizing device, its method, and medium for recording high-order synthesizing program
JP2008071314A (en) Program development apparatus for integration and automatic generation method of program
JP2011134308A (en) High level synthesizer, high level synthesis method, and high level synthesis program
JP6254387B2 (en) Connection method of new design data created by high-level synthesis and existing design data
JP2006011840A (en) Integrated system
JP2006155448A (en) Data processor and method for designing data processor
JP2009129367A (en) Behavioral synthesis system, behavioral synthesis method, and program for behavioral synthesis

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110707

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110727

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111220