JP2012159977A - Behavioral synthesis device, behavioral synthesis method and behavioral synthesis program - Google Patents
Behavioral synthesis device, behavioral synthesis method and behavioral synthesis program Download PDFInfo
- Publication number
- JP2012159977A JP2012159977A JP2011018664A JP2011018664A JP2012159977A JP 2012159977 A JP2012159977 A JP 2012159977A JP 2011018664 A JP2011018664 A JP 2011018664A JP 2011018664 A JP2011018664 A JP 2011018664A JP 2012159977 A JP2012159977 A JP 2012159977A
- Authority
- JP
- Japan
- Prior art keywords
- register
- description
- variable
- state
- behavioral
- 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
Links
Images
Abstract
Description
本発明は動作合成装置、動作合成方法及び動作合成プログラムに関し、特に設計対象の半導体装置の動作を記述した動作記述に基づき半導体装置のRTL記述を生成する動作合成装置、動作合成方法及び動作合成プログラムに関する。 The present invention relates to a behavioral synthesis device, a behavioral synthesis method, and a behavioral synthesis program, and in particular, a behavioral synthesis device, a behavioral synthesis method, and a behavioral synthesis program for generating an RTL description of a semiconductor device based on a behavioral description that describes the behavior of a semiconductor device to be designed. About.
半導体装置の設計においては、複数の設計レベルが定義されている。この設計レベルでは、具体的な回路に近い設計情報による設計が低位レベルとされ、抽象度の高い設計情報による設計が高位レベルとされる。近年、半導体装置に実装される回路(特に論理回路)の回路規模の増大に伴い、設計レベルがより高位になってきている。例えば、近年では、高位言語設計として動作合成による設計提案されている。動作合成では、C言語、systemC言語等により回路動作を記述した動作記述に基づきRTL(Register Transfer Level)記述を合成する。このように、高位言語設計を進めることでより効率的に大規模な回路を設計することが可能になる。この動作記述に基づく動作合成の一例が特許文献1に開示されている。
In designing a semiconductor device, a plurality of design levels are defined. At this design level, design based on design information close to a specific circuit is set to a low level, and design based on design information having a high level of abstraction is set to a high level. In recent years, as the circuit scale of a circuit (particularly a logic circuit) mounted on a semiconductor device increases, the design level has become higher. For example, recently, design by behavioral synthesis has been proposed as high-level language design. In the behavioral synthesis, an RTL (Register Transfer Level) description is synthesized based on the behavioral description describing the circuit behavior in C language, systemC language or the like. In this way, a large-scale circuit can be designed more efficiently by proceeding with high-level language design. An example of behavioral synthesis based on this behavioral description is disclosed in
一方、近年では、半導体装置の低消費電力化が強く要求されている。この低消費電力化の一手法として、回路ブロック毎の電力制御が提案されている。例えば、複数の回路ブロックにより半導体装置が構成されている場合に、回路ブロックの利用状況に応じて、回路ブロック毎に電源の供給と遮断とを切り換える。さらに、このような回路ブロック毎の電源制御による電力削減をより効率よく行うために、ステートリテンション技術が提案されている。ステートリテンション技術は、回路ブロックの電源を遮断した場合に、回路ブロックの電源遮断後も当該回路ブロック内のレジスタの値を保持するように回路を構成するものである。これにより、値を保持するためだけに、演算が行われない回路ブロックへの電源供給を行う必要がなくなり、消費電力を削減することができる。このようなステートリテンション技術を実現するための言語としてCPF(Common Power Format)、UPF(Unified Power Format)等の電力仕様記述が提案されている。 On the other hand, in recent years, there is a strong demand for lower power consumption of semiconductor devices. As a technique for reducing the power consumption, power control for each circuit block has been proposed. For example, when a semiconductor device is configured by a plurality of circuit blocks, power supply is switched on and off for each circuit block in accordance with the usage status of the circuit block. Furthermore, a state retention technique has been proposed in order to more efficiently reduce power by controlling the power supply for each circuit block. In the state retention technique, when a circuit block is powered off, the circuit is configured so that the register value in the circuit block is held even after the circuit block is powered off. As a result, it is not necessary to supply power to a circuit block that is not subjected to computation only to hold a value, and power consumption can be reduced. Power specification descriptions such as CPF (Common Power Format) and UPF (Unified Power Format) have been proposed as languages for realizing such state retention technology.
ここで、CPFを用いた半導体装置の設計手法が非特許文献1に開示されている。より具体的には、非特許文献1では、CPFにより設計を行うことで、RTL記述で定義された電源遮断領域の電源を所定の状態で遮断状態とする場合に、当該電源遮断領域に含まれる所定の記憶素子については電源を遮断せずに値を保持することが可能な半導体装置の設計方法が開示されている。
Here, Non-Patent
上記した動作合成技術を用いて動作記述からRTL記述を作成した場合、RTL記述に含まれるインスタンス名は動作合成装置により自動的に割り振られる。そのため、動作合成技術により生成されたRTL記述のレジスタ名と動作記述中の変数との関係は不明である。そのため、動作合成によりRTL記述を作成した場合、電力仕様記述を作成することができない。つまり、従来の設計方法により動作記述から設計を行う場合、電力仕様記述を作成できず、ステートリテンション技術を適用した半導体装置を設計できない問題がある。また、高位言語に基づく従来の設計方法では、低消費電力の半導体装置を設計できない問題がある。 When an RTL description is created from a behavioral description using the behavioral synthesis technique described above, the instance name included in the RTL description is automatically assigned by the behavioral synthesis device. Therefore, the relationship between the register name of the RTL description generated by the behavioral synthesis technique and the variable in the behavior description is unknown. Therefore, when an RTL description is created by behavioral synthesis, a power specification description cannot be created. That is, when designing from an operation description by a conventional design method, there is a problem that a power specification description cannot be created and a semiconductor device to which the state retention technology is applied cannot be designed. In addition, the conventional design method based on a high-level language has a problem that a low power consumption semiconductor device cannot be designed.
本発明にかかる動作合成装置の一態様は、動作記述からRTL(Register Transfer Level)記述を生成する動作合成装置であって、前記動作記述による動作を実現するデータフローグラフと、前記データフローグラフにより定義される演算を実現する演算器及びレジスタを決定して前記演算器及び前記レジスタによるデータパスグラフと、前記データフローグラフに基づく処理順序を制御する制御回路と、を生成し、前記データパスグラフと前記制御回路とを含むRTL記述を生成する動作合成部と、前記動作記述に含まれる処理属性情報によりステートリテンション動作に必要な被制御変数を特定し、前記データパスグラフの前記レジスタに関する情報に基づき前記被制御変数に対応するリテンションレジスタを特定し、前記リテンションレジスタを含む電力仕様記述を生成する電力仕様記述抽出部と、を有する。 One aspect of the behavioral synthesis device according to the present invention is a behavioral synthesis device that generates an RTL (Register Transfer Level) description from a behavior description, and includes a data flow graph that realizes the behavior according to the behavior description, and the data flow graph. A data path graph generated by determining an arithmetic unit and a register for realizing a defined operation, and a control circuit for controlling a processing order based on the data flow graph, and generating the data path graph And a behavioral synthesis unit that generates an RTL description including the control circuit, a controlled variable necessary for a state retention operation is specified by processing attribute information included in the behavioral description, and information related to the register of the data path graph And a retention register corresponding to the controlled variable is identified based on the retention register. Having a power specification description extracting unit generating a power specification description including.
本発明にかかる動作合成方法の一態様は、動作記述からRTL(Register Transfer Level)記述を生成する動作合成方法であって、前記動作記述による動作を実現するデータフローグラフと、前記データフローグラフにより定義される演算を実現する演算器及びレジスタを決定して前記演算器及び前記レジスタによるデータパスグラフと、前記データフローグラフに基づく処理順序を制御する制御回路と、を生成し、前記データパスグラフと前記制御回路とを含むRTL記述を生成し、前記動作記述に含まれる処理属性情報によりステートリテンション動作に必要な被制御変数を特定し、前記データパスグラフの前記レジスタに関する情報に基づき前記被制御変数に対応するリテンションレジスタを特定し、前記リテンションレジスタを含む電力仕様記述を生成する。 An aspect of the behavioral synthesis method according to the present invention is a behavioral synthesis method for generating an RTL (Register Transfer Level) description from a behavioral description, and includes a dataflow graph that realizes an behavior based on the behavioral description, and the dataflow graph. A data path graph generated by determining an arithmetic unit and a register for realizing a defined operation, and a control circuit for controlling a processing order based on the data flow graph, and generating the data path graph And an RTL description including the control circuit, specifying a controlled variable necessary for a state retention operation based on processing attribute information included in the operation description, and controlling the controlled based on information on the register of the data path graph The retention register corresponding to the variable is specified, and the power function including the retention register is specified. To generate a description.
本発明にかかる動作合成プログラムの一態様は、演算装置において実行され、記憶装置に格納された動作記述からRTL(Register Transfer Level)記述を生成し、前記RTL記述を前記記憶装置に格納する動作合成プログラムであって、前記記憶装置から前記動作記述を読み込み、前記動作記述による動作を実現するデータフローグラフと、前記データフローグラフにより定義される演算を実現する演算器及びレジスタを決定して前記演算器及び前記レジスタによるデータパスグラフと、前記データフローグラフに基づく処理順序を制御する制御回路と、を生成し、前記データパスグラフと前記制御回路とを含むRTL記述を生成して前記記憶装置に格納し、前記動作記述に含まれる処理属性情報によりステートリテンション動作に必要な被制御変数を特定し、前記データパスグラフの前記レジスタに関する情報に基づき前記被制御変数に対応するリテンションレジスタを特定し、前記リテンションレジスタを含む電力仕様記述を生成して、前記電力仕様記述を前記記憶装置に格納する。 One aspect of the behavioral synthesis program according to the present invention is a behavioral synthesis in which an RTL (Register Transfer Level) description is generated from a behavioral description stored in a storage device, and the RTL description is stored in the storage device. A program that reads the behavioral description from the storage device, determines a dataflow graph that realizes an operation based on the behavioral description, and an arithmetic unit and a register that realizes an operation defined by the dataflow graph. And a control circuit for controlling a processing order based on the data flow graph, and generates an RTL description including the data path graph and the control circuit in the storage device. Stored and controlled by the processing attribute information included in the behavior description Identifying a number, identifying a retention register corresponding to the controlled variable based on information about the register of the data path graph, generating a power specification description including the retention register, and storing the power specification description in the storage device To store.
本発明にかかる動作合成装置、動作合成方法及び動作合成プログラムによれば、動作記述中の処理属性情報により指定された被制御変数が格納される被制御レジスタとRTL記述に含まれるレジスタとの関係を特定できる。これにより、本発明にかかる動作合成装置、動作合成方法及び動作合成プログラムは、特定された被制御レジスタをリテンションレジスタとして含む電力仕様記述を作成することができる。 According to the behavioral synthesis apparatus, behavioral synthesis method, and behavioral synthesis program of the present invention, the relationship between the controlled register storing the controlled variable specified by the processing attribute information in the behavioral description and the register included in the RTL description Can be identified. Accordingly, the behavioral synthesis device, behavioral synthesis method, and behavioral synthesis program according to the present invention can create a power specification description including the specified controlled register as a retention register.
本発明にかかる動作合成装置、動作合成方法及び動作合成プログラムによれば、動作合成方法及び動作合成プログラムによれば、動作記述からRTL記述と当該RTL記述に対応する電力仕様記述とを生成することができる。 According to the behavioral synthesis apparatus, behavioral synthesis method, and behavioral synthesis program of the present invention, the behavioral synthesis method and behavioral synthesis program generate an RTL description and a power specification description corresponding to the RTL description from the behavioral description. Can do.
実施の形態1
以下、図面を参照して本発明の実施の形態について説明する。実施の形態1にかかる動作合成装置は、半導体装置の設計段階で用いられる。動作合成処理は、高位合成処理とも呼ばれ、半導体装置の設計の初期の段階で行われる処理である。そこで、半導体装置の設計手順を示すフローチャートを図1に示す。なお、図1に示すフローチャートは、動作記述等の高位言語に基づく半導体装置の設計手順を示すものである。
Embodiments of the present invention will be described below with reference to the drawings. The behavioral synthesis device according to the first embodiment is used in the design stage of a semiconductor device. The behavioral synthesis process is also called a high-level synthesis process, and is a process performed at an early stage of designing a semiconductor device. Therefore, FIG. 1 shows a flowchart showing the design procedure of the semiconductor device. Note that the flowchart shown in FIG. 1 shows a design procedure of a semiconductor device based on a high-level language such as a behavioral description.
図1に示すフローチャートでは、まず、作成する半導体装置の動作をC言語等の高位言語を用いて記述した動作記述F1を作成する(ステップS1)。続いて。動作記述F1を読み込み、動作合成処理を行う(ステップS2)。動作合成処理では、RTL(Register Transfer Level)記述F2と電力仕様記述F3が生成される。ここで、RTL記述F2は、動作記述F1に基づく演算を行うための演算器とレジスタとを含む回路構成を記述したものである。また、動作合成処理によって電力仕様記述F3を生成する点が実施の形態1にかかる動作合成処理の特徴の1つである。 In the flowchart shown in FIG. 1, first, an operation description F1 in which the operation of the semiconductor device to be generated is described using a high-level language such as C language is generated (step S1). continue. The behavioral description F1 is read and behavioral synthesis processing is performed (step S2). In the behavioral synthesis process, an RTL (Register Transfer Level) description F2 and a power specification description F3 are generated. Here, the RTL description F2 describes a circuit configuration including an arithmetic unit and a register for performing an operation based on the operation description F1. Also, one of the features of the behavioral synthesis process according to the first embodiment is that the power specification description F3 is generated by the behavioral synthesis process.
続いて、RTL記述F2と電力仕様記述F3とを読み込んで、論理合成処理を行い、ネットリストF4を生成する(ステップS3)。このネットリストF4では、RTL記述F2に記載された演算器及びレジスタ等を実現するためのゲートと、これらゲート間の接続関係と、が記載される。このネットリストF4は、ゲートレベルネットリストとも呼ばれる。続いて、ネットリストF4に基づきレイアウト工程が行われる(ステップS4)。レイアウト工程ではネットリストF4に基づきゲートに対応するライブラリを読み込み、当該ライブラリに基づきトランジスタを配置する。そして、レイアウト工程によってレイアウトデータF5が生成され、このレイアウトデータF5に基づき半導体装置の製造が行われる(ステップS5)。 Subsequently, the RTL description F2 and the power specification description F3 are read, a logic synthesis process is performed, and a netlist F4 is generated (step S3). In the netlist F4, gates for realizing the arithmetic units, registers, and the like described in the RTL description F2 and connection relationships between these gates are described. This netlist F4 is also called a gate level netlist. Subsequently, a layout process is performed based on the netlist F4 (step S4). In the layout process, a library corresponding to the gate is read based on the netlist F4, and transistors are arranged based on the library. Then, layout data F5 is generated by the layout process, and the semiconductor device is manufactured based on the layout data F5 (step S5).
以下の説明では、図1に示すように、動作合成処理によって、RTL記述F2と電力仕様記述F3とを別々に生成する例について説明する。しかし、電力仕様記述F3において記述される内容は、RTL記述F2に含めることもできる。また、電力仕様記述F3に基づく構成を半導体装置の構成に反映させるのは、論理合成処理(ステップS3)に限られず、動作合成処理(ステップS2)、レイアウト工程(ステップS4)であっても可能である。つまり、電力仕様記述F3に関連する情報を回路構成に反映させる工程は、利用する設計支援ツールの仕様、工程管理上の理由によって適宜変更することが可能である。 In the following description, as shown in FIG. 1, an example will be described in which RTL description F2 and power specification description F3 are separately generated by behavioral synthesis processing. However, the contents described in the power specification description F3 can also be included in the RTL description F2. The configuration based on the power specification description F3 is not limited to the logic synthesis process (step S3), but can be reflected in the behavioral synthesis process (step S2) and the layout process (step S4). It is. That is, the process of reflecting the information related to the power specification description F3 in the circuit configuration can be appropriately changed depending on the specification of the design support tool to be used and the reason for process management.
続いて、実施の形態1にかかる動作合成装置1のブロック図を図2に示す。図2に示すように、動作合成装置1は、動作合成部10と、電力仕様記述抽出部20と、を有する。なお、動作合成装置1では、処理に用いるデータを格納するために記憶装置を用いる、図2に示す例では、符号としてMを付したブロックが記憶装置に該当する。この記憶装置は、演算部に用いられるメモリ(主記憶装置)でも良く、より大容量の情報を格納できるハードディスク(HDD)、ソリッドステートディスク(SSD)等であっても良い。また、以下の説明では、動作合成装置1は、図1のステップS2で示した動作合成処理を行う専用のハードウェアとして説明するが、CPU等の演算装置上で実行されるソフトウェア(動作合成プログラム)であっても良い。
FIG. 2 is a block diagram of the
動作合成部10は、記憶装置M1から動作記述を読み込む。そして、動作合成部10は、動作記述による動作を実現するデータフローグラフと、データフローグラフにより定義される演算を実現する演算器及びレジスタを決定して、演算器及びレジスタによるデータパスグラフと、データフローグラフに基づく処理順序を制御する制御回路と、を生成し、データパスグラフと制御回路とを含むRTL記述を生成する。このRTL記述は、記憶装置M2に格納される。
The
この動作合成部10についてさらに詳細について説明する。図2に示すように動作合成部10は、スケジューリング処理部11と、バインディング処理部12と、RTL記述生成部と、を有する。
Further details of the
スケジューリング処理部11は、動作記述で示された演算を行うタイミングを決定する。より具体的には、スケジューリング処理部11は、動作記述による動作を複数の状態に分解して、演算をいずれの状態で行うかを示したデータフローグラフと、データフローフラグ中の状態と当該状態で用いられる変数との関係を示した状態−変数対応表とを作成する。データフローグラフと状態−変数対応表は、記憶装置M11に格納される。また、スケジューリング処理部11は、データフローグラフで示される状態の遷移過程を示す状態遷移図を生成する。有限状態マシーン(FSM:Finite State Machine)を生成する。
The
バインディング処理部12は、データフローグラフにより定義される演算を実現する演算器及びレジスタを決定して、演算器及びレジスタによるデータパスグラフと、データフローグラフに基づく処理順序を制御する制御回路と、を生成する。この制御回路は、回路の状態遷移を制御する有限状態マシーン(FSM:Finite State Machine)として実現される。また、バインディング処理部12では、データパスグラフ内のレジスタと、当該レジスタに対応する動作記述中の変数と、の関係を示す変数−レジスタ対応表を生成する。データパスグラフと変数−レジスタ対応表とは記憶装置M12に格納される。なお、データパスグラフのファイルには制御回路に関する情報も含むものとする。RTL記述生成部13は、データパスグラフと制御回路とを含むRTL記述を生成する。
The binding
続いて、電力仕様記述抽出部20の詳細について説明する。図2に示すように電力仕様記述抽出部20は、電力制御解析部21と、電力仕様記述生成部22とを有する。
Next, details of the power specification
電力制御解析部21は、動作記述とデータフローグラフとを読み込み、動作記述中の処理属性情報からステートリテンション動作が行われる制御対象状態を示す電力制御−状態対応表を生成する。電力制御−状態対応表は記憶装置M21に格納される。
The power
電力仕様記述生成部22は、電力制御−状態対応表と、状態−変数対応表と、変数−レジスタ対応表と、を読み込む。そして、電力仕様記述生成部22は、状態−変数対応表と電力制御−状態対応表とに基づき被制御変数を特定し、被制御変数に対応する被制御レジスタを変数−レジスタ対応表から特定し、被制御レジスタをリテンションレジスタとして明示する電力仕様記述を生成する。
The power specification
続いて、実施の形態1にかかる動作合成装置1の動作について具体例を用いて説明する。そこで、図3に動作合成装置1の動作手順を示すフローチャートを示す。また、図4に説明に用いる動作記述の例を示す。図4に示す動作記述では、1行目から3行目で入力信号と出力信号とが定義される。そして、4行目から13行目に具体的な演算が逐次演算処理として記載される。このとき、図4に示す動作記述では、8行目と10行目とに変数s1、s2が0の間は動作を待機する旨の記述がある。そして、変数s2が0以外の値になるまでの時間が長い場合(例えば、入力i7が入力されるまでの時間が長いことが仕様上判明している場合)、変数s2が0以外の値になるまでの期間は電力制御を行った方が消費電力を低減できる。このような場合、10行目の処理に対して電力仕様を作成する。そこで、本実施の形態では、動作記述中において電力仕様記述の作成を希望する箇所に処理属性情報(例えば、アトリビュート)を付加する。図4に示す例では、付加される処理属性情報を下線で明示した。以下で行う動作合成装置1では、図4で示した動作記述に基づきRTL記述及び電力仕様記述を生成する手順について説明する。
Next, the operation of the
図3に示すように、動作合成装置1は、まず図4で示した動作記述を読み込む(ステップS10)。続いて、スケジューリング処理部11においてスケジューリング処理(ステップS11)が行われ、データフローグラフと変数−状態対応表が出力される。
As shown in FIG. 3, the
ここで、図4の動作記述に対応したデータフローグラフの例を図5に示す。図5に示したデータフローグラフは、状態ST1〜ST4を有する。図4の動作記述では5行目から7行目の処理を並列して処理可能である。そのため、状態ST1では、5行目から7行目の処理が行われる。続いて、動作記述の8行目の待機処理後の9行目の処理が状態ST2で行われる。なお、9行目の処理と並行して行うことが可能な演算はないため、状態ST2で、他の処理は行われない。続いて、動作記述の10行目の待機処理後の11行目と12行目の処理が行われるが、12行目の処理は、11行目の処理の演算結果を利用するものである。従って、状態ST3では、11行目の処理が行われる。そして、状態ST3に続く状態ST4において12行目の処理が行われる。また、図6に、図5で示したデータフローグラフに対応する状態遷移図を示す。図6に示すように、図5でデータフローグラフに基づく処理を行うためには、状態ST1、ST2において、処理が完了するまで現状態を維持する状態遷移を有する。また、図5でデータフローグラフに基づく処理では、状態ST1から状態ST4まで順に状態を遷移させる。 Here, FIG. 5 shows an example of a data flow graph corresponding to the behavioral description of FIG. The data flow graph shown in FIG. 5 has states ST1 to ST4. In the behavioral description of FIG. 4, the processing from the fifth line to the seventh line can be processed in parallel. Therefore, in the state ST1, the processing from the fifth line to the seventh line is performed. Subsequently, the process on the ninth line after the standby process on the eighth line of the behavior description is performed in the state ST2. Since there is no operation that can be performed in parallel with the process on the ninth line, no other process is performed in state ST2. Subsequently, the processing on the 11th and 12th lines after the standby processing on the 10th line of the behavior description is performed. The processing on the 12th line uses the calculation result of the processing on the 11th line. Accordingly, in the state ST3, the process on the 11th row is performed. Then, in the state ST4 following the state ST3, the process on the 12th row is performed. FIG. 6 shows a state transition diagram corresponding to the data flow graph shown in FIG. As shown in FIG. 6, in order to perform the processing based on the data flow graph in FIG. 5, the states ST1 and ST2 have state transitions that maintain the current state until the processing is completed. Further, in the processing based on the data flow graph in FIG. 5, the state is sequentially changed from the state ST1 to the state ST4.
また、状態−変数対応表の例を図7に示す。図7に示すように、図4の動作記述に基づく動作では、状態ST1において変数a、b、cが保持されている必要がある。状態ST2では、変数a、dが保持されている必要がある。状態ST3では、変数a、eが保持されている必要がある。状態ST4では、変数として保持される必要がある値はない。言い換えると、変数aは、状態ST1、ST2、ST3において保持されている必要があり、変数b、cは、状態ST1で保持されている必要があり、変数dは状態ST2で保持されている必要があり、変数eは状態ST3で保持されている必要がある。 An example of the state-variable correspondence table is shown in FIG. As shown in FIG. 7, in the operation based on the behavioral description of FIG. 4, the variables a, b, and c need to be held in the state ST1. In the state ST2, the variables a and d need to be held. In the state ST3, the variables a and e need to be held. In state ST4, there is no value that needs to be held as a variable. In other words, the variable a needs to be held in the states ST1, ST2, and ST3, the variables b and c need to be held in the state ST1, and the variable d needs to be held in the state ST2. And the variable e needs to be held in the state ST3.
続いて、動作合成装置1は、データフローグラフを読み込み(ステップS13)、バインディング処理部12によるバインディング処理を行う(ステップS14)。このバインディング処理では、データパスグラフと変数−レジスタ対応表とが出力される(ステップS15)。
Subsequently, the
ここで、図4の動作記述に対応したデータパスグラフの例を図8に示す。図8に示す例では、データパスグラフ40と、有限状態マシーン(以下FSMと称す)30と、を示した。データパスグラフ40は、演算器として、AND回路41、OR回路42、減算器43、XOR回路44、加算器45、乗算器46、セレクタ47〜49、レジスタ50〜52を有する。ここで、データパスグラフ40では、動作記述中の5つの変数に対して3つのレジスタが対応付けられている。これは、データフローグラフの処理を行う場合に、併存する必要のない変数については、レジスタを共用した方が回路規模を抑制できるとの判断に基づきレジスタの共用化処理が行われたためである。なお、レジスタ50は変数aを格納するものであり、レジスタ51は変数b、eを格納するものであり、レジスタ52は変数c、dを格納するものである。
Here, FIG. 8 shows an example of a data path graph corresponding to the behavioral description of FIG. In the example shown in FIG. 8, a
AND回路41は、動作記述の5行目の演算に対応して設けられるものであり、入力i1と入力i2との論理積を出力する。OR回路42は、動作記述の6行目の演算に対応して設けられるものであり、入力i3と入力i4との論理和を出力する。減算器43は、動作記述の11行目の演算に対応して設けられるものであり、変数dから入力i7を減算した値を出力する。XOR回路44は、動作記述の7行目の演算に対応して設けられるものであり、入力i5と入力i6の排他的論理和を出力する。加算器45は、動作記述の9行目の演算に対応して設けられるものであり、変数bに変数cを加算して出力する。乗算器46は、動作記述の12行目の動作に対応して設けられるものであり、変数aに変数eを加算して出力値o1として出力する。また、FSM30は、レジスタ31を有する。FSM30は、レジスタ31の値に基づきセレクタ47〜49がいずれの入力を選択するかを制御する。レジスタ50〜52は、セレクタ47〜49が出力した値を格納する。
The AND
また、図8のデータパスグラフに基づき生成された変数−レジスタ対応表の一例を図9に示す。図9に示すように、図8のデータパスグラフでは、レジスタ50(a_reg)が変数aに対応し、レジスタ51(b_e_reg)が変数b、eに対応し、レジスタ52(c_d_reg)が変数c、dに対応していることを示している。 FIG. 9 shows an example of the variable-register correspondence table generated based on the data path graph of FIG. As shown in FIG. 9, in the data path graph of FIG. 8, the register 50 (a_reg) corresponds to the variable a, the register 51 (b_e_reg) corresponds to the variables b and e, and the register 52 (c_d_reg) corresponds to the variable c, It corresponds to d.
続いて、動作合成装置1は、データフローグラフとデータパスグラフとを読み込み(ステップS16)、RTL記述生成部13によるRTL記述生成処理を行う(ステップS17)。このRTL記述生成処理では、RTL記述が出力される(ステップS18)。続いて、動作合成装置1では、電力仕様記述抽出部20の動作が開始される。電力仕様記述抽出部20は、動作記述とデータフローグラフとを読み込み(ステップS20)、電力制御解析処理を行う(ステップS21)。この電力制御解析処理では、電力制御−状態対応表が出力される(ステップS22)。
Subsequently, the
ここで、図4の動作記述に基づき生成される電力制御−状態対応表の例を図10に示す。図4に動作記述では、10行目に処理属性情報が付されている。この10行目の処理は状態ST2の処理に対応することがデータフローグラフと動作記述より導きさせる。従って、図10に示す電力制御−状態対応表では、状態ST2に対応してステートリテンション動作が行われるべきことが示される。 Here, FIG. 10 shows an example of a power control-state correspondence table generated based on the behavioral description of FIG. In the behavioral description in FIG. 4, processing attribute information is attached to the 10th line. The processing of the 10th line corresponds to the processing of the state ST2 from the data flow graph and the operation description. Therefore, the power control-state correspondence table shown in FIG. 10 indicates that the state retention operation should be performed corresponding to the state ST2.
続いて、動作合成装置1は、変数−状態対応表と、変数−レジスタ対応表と、電力制御−状態対応表とを読み込み(ステップS23)、電力仕様記述生成部22による電力仕様記述生成処理を行う(ステップS24)。この電力仕様記述生成処理では、電力仕様記述が出力される(ステップS25)。
Subsequently, the
ここで、図4の動作記述に基づき生成される電力仕様記述の一例を図11に示す。図10に示す電力制御−状態対応表より、状態ST2が本動作例における制御対象状態であることわかる。そして、図7に示す状態−変数対応表より、状態ST2において変数a、dがステートリテンション動作の対象となる被制御変数であることがわかる。さらに、図9に示す変数−レジスタ対応表より、被制御変数である変数a、dには、それぞれレジスタ50(a_reg)とレジスタ52(c_d_reg)とが対応することがわかる。このようなことから、本動作例にかかる電力仕様記述では、インスタンスa_reg、c_d_reg、fsm_regとして、ステートリテンションレジスタ(例えば、ライブラリst_ret_1で定義されるレジスタ)を利用することが記述される。 Here, an example of the power specification description generated based on the operation description of FIG. 4 is shown in FIG. From the power control-state correspondence table shown in FIG. 10, it can be seen that the state ST2 is the state to be controlled in this operation example. From the state-variable correspondence table shown in FIG. 7, it can be seen that in the state ST2, the variables a and d are controlled variables that are targets of the state retention operation. Furthermore, it can be seen from the variable-register correspondence table shown in FIG. 9 that the variables a and d, which are controlled variables, correspond to the register 50 (a_reg) and the register 52 (c_d_reg), respectively. For this reason, in the power specification description according to this operation example, it is described that a state retention register (for example, a register defined in the library st_ret_1) is used as the instances a_reg, c_d_reg, and fsm_reg.
上記説明より、実施の形態1にかかる動作合成装置1では、動作記述に含まれる処理属性情報に基づき、当該処理属性情報が付された処理に付随する被制御変数を特定する。さらに、動作合成装置1では、データパスグラフ上のレジスタのうち当該被制御変数に対応する被制御レジスタを特定することができる。つまり、実施の形態1にかかる動作合成装置1によれば、従来動作合成処理において動作記述から合成されるRTL記述上で特定できなかった所定の変数に対応するレジスタを特定することが可能になる。さらに、動作合成装置1によれば、当該特定したレジスタに基づきステートリテンション動作に用いるレジスタを記載した電力仕様記述を生成することができる。
From the above description, the
このように、動作記述からRTL記述とRTL記述に対応する電力仕様記述とを生成することで、低消費電力な半導体装置の設計を実現することができる。また、動作記述に基づき電力仕様記述を自動的に生成できることから低消費電力な半導体装置の設計にかかる手順を簡略化し、設計期間を短縮することができる。 As described above, by generating the RTL description and the power specification description corresponding to the RTL description from the behavior description, the design of the semiconductor device with low power consumption can be realized. Further, since the power specification description can be automatically generated based on the operation description, the procedure for designing a low power consumption semiconductor device can be simplified and the design period can be shortened.
また、従来の動作合成方法では、1つのレジスタに複数の変数を割り当てることで、回路規模を削減することが行われていた。このような場合、ステートリテンション動作で必要なレジスタを特定することが極めて難しくなる。しかしながら、実施の形態1にかかる動作合成装置1によれば、RTL記述の生成過程において、レジスタと変数との関係を明確に特定できるため、従来の動作合成方法のように、レジスタがどの変数に対応しているかが特定できなくなる不具合はない。このようなことから、実施の形態1にかかる動作合成装置1によれば、回路規模を抑制しながら、ステートリテンション動作に対応した半導体装置を効率よく設計できる。
In the conventional behavioral synthesis method, the circuit scale is reduced by assigning a plurality of variables to one register. In such a case, it becomes extremely difficult to specify a register necessary for the state retention operation. However, according to the
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。 Note that the present invention is not limited to the above-described embodiment, and can be changed as appropriate without departing from the spirit of the present invention.
1 動作合成装置
10 動作合成部
11 スケジューリング処理部
12 バインディング処理部
13 RTL記述生成部
20 電力仕様記述抽出部
21 電力制御解析部
22 電力仕様記述生成部
30 有限状態マシーン
31 レジスタ
40 データパスグラフ
41 AND回路
42 OR回路
43 減算器
44 XOR回路
45 加算器
46 乗算器
47〜49 セレクタ
50〜52 レジスタ
DESCRIPTION OF
Claims (9)
前記動作記述による動作を実現するデータフローグラフと、前記データフローグラフにより定義される演算を実現する演算器及びレジスタを決定して前記演算器及び前記レジスタによるデータパスグラフと、前記データフローグラフに基づく処理順序を制御する制御回路と、を生成し、前記データパスグラフと前記制御回路とを含むRTL記述を生成する動作合成部と、
前記動作記述に含まれる処理属性情報によりステートリテンション動作に必要な被制御変数を特定し、前記データパスグラフの前記レジスタに関する情報に基づき前記被制御変数に対応するリテンションレジスタを特定し、前記リテンションレジスタを含む電力仕様記述を生成する電力仕様記述抽出部と、
を有する動作合成装置。 A behavioral synthesis device for generating an RTL (Register Transfer Level) description from a behavior description,
A data flow graph that realizes an operation according to the behavioral description, an arithmetic unit and a register that realize an operation defined by the data flow graph, a data path graph by the arithmetic unit and the register, and a data flow graph A control circuit that controls a processing order based on the behavioral synthesis unit that generates an RTL description including the data path graph and the control circuit;
The controlled variable required for the state retention operation is specified by the processing attribute information included in the behavior description, the retention register corresponding to the controlled variable is specified based on the information about the register of the data path graph, and the retention register A power specification description extractor that generates a power specification description including
A behavioral synthesis device.
前記データフローグラフと共に、データフローグラフ中の状態と前記動作記述中の変数とを関連付ける状態−変数対応表を生成し、
前記データパスグラフと共に前記データパスグラフ中のレジスタと前記動作記述中の変数とを関連付ける変数−レジスタ対応表を生成する請求項1に記載の動作合成装置。 The behavioral synthesis unit
Along with the data flow graph, a state-variable correspondence table that associates the state in the data flow graph with the variable in the behavior description is generated,
The behavioral synthesis apparatus according to claim 1, wherein a variable-register correspondence table that associates a register in the data path graph with a variable in the behavioral description together with the data path graph is generated.
前記処理属性情報から前記ステートリテンション動作が行われる制御対象状態を示す電力制御−状態対応表を生成し、
前記状態−変数対応表と前記電力制御−状態対応表とに基づき前記被制御変数を特定し、
前記被制御変数に対応する被制御レジスタを前記変数−レジスタ対応表から特定し、
被制御レジスタを前記リテンションレジスタとして明示する前記電力仕様記述を生成する請求項2に記載の動作合成装置。 The power specification description extraction unit
Generating a power control-state correspondence table indicating a control target state in which the state retention operation is performed from the processing attribute information;
Identifying the controlled variable based on the state-variable correspondence table and the power control-state correspondence table;
A controlled register corresponding to the controlled variable is identified from the variable-register correspondence table;
The behavioral synthesis device according to claim 2, wherein the power specification description that specifies a controlled register as the retention register is generated.
前記動作記述による動作を実現するデータフローグラフと、前記データフローグラフにより定義される演算を実現する演算器及びレジスタを決定して前記演算器及び前記レジスタによるデータパスグラフと、前記データフローグラフに基づく処理順序を制御する制御回路と、を生成し、
前記データパスグラフと前記制御回路とを含むRTL記述を生成し、
前記動作記述に含まれる処理属性情報によりステートリテンション動作に必要な被制御変数を特定し、
前記データパスグラフの前記レジスタに関する情報に基づき前記被制御変数に対応するリテンションレジスタを特定し、
前記リテンションレジスタを含む電力仕様記述を生成する動作合成方法。 A behavioral synthesis method for generating an RTL (Register Transfer Level) description from a behavior description,
A data flow graph that realizes an operation according to the behavioral description, an arithmetic unit and a register that realize an operation defined by the data flow graph, a data path graph by the arithmetic unit and the register, and a data flow graph And a control circuit for controlling the processing order based on
Generating an RTL description including the data path graph and the control circuit;
Identify controlled variables required for state retention behavior from the processing attribute information included in the behavior description,
Identifying a retention register corresponding to the controlled variable based on information about the register of the data path graph;
A behavioral synthesis method for generating a power specification description including the retention register.
前記データパスグラフと共に前記データパスグラフ中のレジスタと前記動作記述中の変数とを関連付ける変数−レジスタ対応表を生成する請求項4に記載の動作合成方法。 Along with the data flow graph, a state-variable correspondence table that associates the state in the data flow graph with the variable in the behavior description is generated,
5. The behavioral synthesis method according to claim 4, wherein a variable-register correspondence table that associates a register in the data path graph with a variable in the behavior description together with the data path graph.
前記状態−変数対応表と前記電力制御−状態対応表とに基づき前記被制御変数を特定し、
前記被制御変数に対応する被制御レジスタを前記変数−レジスタ対応表から特定し、
被制御レジスタを前記リテンションレジスタとして明示する前記電力仕様記述を生成する請求項5に記載の動作合成方法。 Generating a power control-state correspondence table indicating a control target state in which the state retention operation is performed from the processing attribute information;
Identifying the controlled variable based on the state-variable correspondence table and the power control-state correspondence table;
A controlled register corresponding to the controlled variable is identified from the variable-register correspondence table;
The behavioral synthesis method according to claim 5, wherein the power specification description that specifies a controlled register as the retention register is generated.
前記記憶装置から前記動作記述を読み込み、
前記動作記述による動作を実現するデータフローグラフと、前記データフローグラフにより定義される演算を実現する演算器及びレジスタを決定して前記演算器及び前記レジスタによるデータパスグラフと、前記データフローグラフに基づく処理順序を制御する制御回路と、を生成し、
前記データパスグラフと前記制御回路とを含むRTL記述を生成して前記記憶装置に格納し、
前記動作記述に含まれる処理属性情報によりステートリテンション動作に必要な被制御変数を特定し、
前記データパスグラフの前記レジスタに関する情報に基づき前記被制御変数に対応するリテンションレジスタを特定し、
前記リテンションレジスタを含む電力仕様記述を生成して、前記電力仕様記述を前記記憶装置に格納する動作合成プログラム。 A behavioral synthesis program that generates an RTL (Register Transfer Level) description from a behavioral description that is executed in an arithmetic device and is stored in a storage device, and stores the RTL description in the storage device,
Reading the behavior description from the storage device;
A data flow graph that realizes an operation according to the behavioral description, an arithmetic unit and a register that realize an operation defined by the data flow graph, a data path graph by the arithmetic unit and the register, and a data flow graph And a control circuit for controlling the processing order based on
An RTL description including the data path graph and the control circuit is generated and stored in the storage device;
Identify controlled variables required for state retention behavior from the processing attribute information included in the behavior description,
Identifying a retention register corresponding to the controlled variable based on information about the register of the data path graph;
A behavioral synthesis program for generating a power specification description including the retention register and storing the power specification description in the storage device.
前記データパスグラフと共に前記データパスグラフ中のレジスタと前記動作記述中の変数とを関連付ける変数−レジスタ対応表を生成する請求項7に記載の動作合成プログラム。 Along with the data flow graph, a state-variable correspondence table that associates the state in the data flow graph with the variable in the behavior description is generated,
8. The behavioral synthesis program according to claim 7, wherein a variable-register correspondence table that associates a register in the data path graph with a variable in the behavioral description together with the data path graph is generated.
前記状態−変数対応表と前記電力制御−状態対応表とに基づき前記被制御変数を特定し、
前記被制御変数に対応する被制御レジスタを前記変数−レジスタ対応表から特定し、
被制御レジスタを前記リテンションレジスタとして明示する前記電力仕様記述を生成する請求項8に記載の動作合成プログラム。 Generating a power control-state correspondence table indicating a control target state in which the state retention operation is performed from the processing attribute information;
Identifying the controlled variable based on the state-variable correspondence table and the power control-state correspondence table;
A controlled register corresponding to the controlled variable is identified from the variable-register correspondence table;
The behavioral synthesis program according to claim 8, wherein the power specification description that specifies a controlled register as the retention register is generated.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011018664A JP2012159977A (en) | 2011-01-31 | 2011-01-31 | Behavioral synthesis device, behavioral synthesis method and behavioral synthesis program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011018664A JP2012159977A (en) | 2011-01-31 | 2011-01-31 | Behavioral synthesis device, behavioral synthesis method and behavioral synthesis program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012159977A true JP2012159977A (en) | 2012-08-23 |
Family
ID=46840468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011018664A Pending JP2012159977A (en) | 2011-01-31 | 2011-01-31 | Behavioral synthesis device, behavioral synthesis method and behavioral synthesis program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012159977A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107844329A (en) * | 2017-11-17 | 2018-03-27 | 上海华虹集成电路有限责任公司 | A kind of method of system power modes switching |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000259683A (en) * | 1999-03-04 | 2000-09-22 | Nec Corp | Logical simulation method and system |
JP2006285333A (en) * | 2005-03-31 | 2006-10-19 | Nec Corp | Operation composition device and method |
JP2006285865A (en) * | 2005-04-04 | 2006-10-19 | Nec Electronics Corp | Correspondence relation specification method, device and program between register transfer level description and operation description |
-
2011
- 2011-01-31 JP JP2011018664A patent/JP2012159977A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000259683A (en) * | 1999-03-04 | 2000-09-22 | Nec Corp | Logical simulation method and system |
JP2006285333A (en) * | 2005-03-31 | 2006-10-19 | Nec Corp | Operation composition device and method |
JP2006285865A (en) * | 2005-04-04 | 2006-10-19 | Nec Electronics Corp | Correspondence relation specification method, device and program between register transfer level description and operation description |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107844329A (en) * | 2017-11-17 | 2018-03-27 | 上海华虹集成电路有限责任公司 | A kind of method of system power modes switching |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10691856B1 (en) | System design flow with runtime customizable circuits | |
US8656337B2 (en) | Optimization method and device for netlist used in logic circuit design for semiconductor integrated circuit | |
KR20190022858A (en) | Controlling the operation speed of the stage of the asynchronous pipeline | |
JP2010238054A (en) | Apparatus for supporting semiconductor design, high-order synthesis method and program for supporting semiconductor design | |
US9824172B1 (en) | Performance of circuitry generated using high-level synthesis | |
US9710584B1 (en) | Performance of circuitry generated using high-level synthesis | |
JP2007213265A (en) | Device and method for operation synthesis, method for manufacturing digital circuit, operation synthesis control program, and readable storage medium | |
TWI503685B (en) | Systems and methods of electronic design automation | |
JP5632651B2 (en) | Semiconductor circuit and design apparatus | |
US9965581B1 (en) | Fanout optimization to facilitate timing improvement in circuit designs | |
JP2012159977A (en) | Behavioral synthesis device, behavioral synthesis method and behavioral synthesis program | |
JP4756002B2 (en) | Semiconductor integrated circuit design support apparatus, design support method thereof, manufacturing method thereof, program, and recording medium | |
JP5262435B2 (en) | Circuit design apparatus and circuit design method | |
JP2006268165A (en) | Timing analyzing device for integrated circuit, timing optimizing device for integrated circuit, timing analyzing method for integrated circuit, timing optimizing method for integrated circuit, method for manufacturing integrated circuit board, control program and readable recording medium | |
US20160246601A1 (en) | Technique for translating dependent instructions | |
JP2018041301A (en) | RTL optimization system and RTL optimization program | |
JP5541011B2 (en) | Optimized netlist creation program, optimized netlist creation device, and optimized netlist creation method | |
JP5143061B2 (en) | Semiconductor integrated circuit design support system and program | |
JP6468743B2 (en) | Information processing apparatus and control method thereof | |
US10157164B2 (en) | Hierarchical synthesis of computer machine instructions | |
JP6266183B2 (en) | Circuit design support device and circuit design support program | |
JP2011022863A (en) | Apparatus and method for synthesizing action | |
JP2014095955A (en) | Design device and design method for semiconductor integrated circuit | |
Sotiriou-Xanthopoulos et al. | A reconfigurable ip characterization technique improving high-level synthesis results | |
JP2010205084A (en) | Operation synthesis system, operation synthesis method and operation synthesis program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130919 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140410 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140507 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20140909 |