JP2004164627A - High level synthesis method - Google Patents

High level synthesis method Download PDF

Info

Publication number
JP2004164627A
JP2004164627A JP2003361100A JP2003361100A JP2004164627A JP 2004164627 A JP2004164627 A JP 2004164627A JP 2003361100 A JP2003361100 A JP 2003361100A JP 2003361100 A JP2003361100 A JP 2003361100A JP 2004164627 A JP2004164627 A JP 2004164627A
Authority
JP
Japan
Prior art keywords
information
resource
layout
allocation
resources
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
JP2003361100A
Other languages
Japanese (ja)
Inventor
Osamu Ogawa
修 小川
Masaru Hattori
大 服部
Keiichi Kurokawa
圭一 黒川
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2003361100A priority Critical patent/JP2004164627A/en
Publication of JP2004164627A publication Critical patent/JP2004164627A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a high level synthesis method of generating an RTL circuit being highly realisable in steps following high level synthesis, especially in a layout step. <P>SOLUTION: The high level synthesis method comprises a CDFG step of generating a CDFG on the basis of an input file and a restriction file, a scheduling step of generating an FSM on the basis of the CDFG and restrictive conditions on digital circuits and assigning respective nodes of the CDFG to respective states of the FSM to perform scheduling, a circuit information generation step of assigning resources to respective nodes of the CDFG on the basis of resource level layout information representing layout of resources for constituting a digital circuit to generate circuit information representing connection relations between allocation information and resources, and an output step of outputting the circuit information. <P>COPYRIGHT: (C)2004,JPO

Description

本発明は、ディジタル回路の機能的な動作記述に基づいて、ディジタル回路の回路記述を生成する高位合成方法に関し、特に、動作記述中の各処理に対して、その処理を実行するための資源を割り当てるアロケーション方法に関する。   The present invention relates to a high-level synthesis method for generating a circuit description of a digital circuit based on a functional operation description of the digital circuit. In particular, for each process in the operation description, resources for executing the process are allocated. Regarding the allocation method to be assigned.

LSIを微細化するための技術が発展したことによって、1個のチップに集積することが可能なゲート数が格段に向上した。こうした大規模LSIを短期間に、かつ効率的に設計するために、近年、ハードウェアの機能的な動作記述に基づいて回路情報を生成するための高位合成技術が利用されるようになってきた。高位合成技術の詳細を記した文献としては、Daniel Gajski、Nikil Dutt、Allen Wu、Steve Lin、”HIGH−LEVEL SYNTHESIS Introduction to Chip and System Design”、Kluwer Academic Publishers、1992等がある。   With the development of technology for miniaturizing LSI, the number of gates that can be integrated on one chip has been remarkably improved. In order to design such a large-scale LSI in a short period of time and efficiently, a high-level synthesis technique for generating circuit information based on a functional operation description of hardware has recently been used. . References describing details of the high-level synthesis technique include Daniel Gajski, Nikki Dutt, Allen Wu, Steve Lin, "HIGH-LEVEL SYNTHESIS Introduction to Chip and System Sigmar, and more.

図28は、従来の高位合成方法を示すフローチャートである。まず、CDFG生成工程において、デジタル回路の機能的な動作を記述した入力ファイルに基づいてCDFG(Control Data Flow Graph)を生成する(ステップS201)。そして、スケジューリング工程において、CDFG生成工程によって生成されたCDFGと制約ファイルに記述されたデジタル回路の制約条件とに基づいて、処理内容を表現するCDFGの各ノードをステップと呼ばれるクロックに同期した時間に割り当ててスケジューリングする(ステップS202)。次に、アロケーション工程において、スケジューリング工程によってスケジューリングされたCDFGの各ノードに対して、デジタル回路を構成するための資源を割り当てたアロケーション情報と回路情報とを生成する(ステップS91)。その後、出力工程において回路情報を出力する(ステップS208)。   FIG. 28 is a flowchart showing a conventional high-level synthesis method. First, in the CDFG generation step, a control data flow graph (CDFG) is generated based on an input file describing the functional operation of the digital circuit (step S201). Then, in the scheduling step, based on the CDFG generated in the CDFG generation step and the constraint conditions of the digital circuit described in the constraint file, each node of the CDFG expressing the processing content is synchronized with a clock synchronized with a clock called a step. Assignment and scheduling are performed (step S202). Next, in the allocation step, for each node of the CDFG scheduled in the scheduling step, allocation information and circuit information in which resources for configuring a digital circuit are allocated are generated (step S91). Thereafter, the circuit information is output in the output step (Step S208).

その後、アロケーションおよび回路情報生成工程によって生成された回路情報が、デジタル回路の制約条件を示す所定の基準を満たしているか否かを判断する(ステップS92)。回路情報が所定の基準を満たしていないと判断したときは(ステップS92においてNO)、ステップS201へ戻る。   Thereafter, it is determined whether or not the circuit information generated by the allocation and circuit information generation step satisfies a predetermined criterion indicating a constraint condition of the digital circuit (step S92). When it is determined that the circuit information does not satisfy the predetermined criterion (NO in step S92), the process returns to step S201.

回路情報が所定の基準を満たしていると判断したときは(ステップS92においてYES)、論理合成工程において、アロケーションおよび回路情報生成工程によって生成された回路情報に論理合成処理を施す(ステップS93)。そして、論理合成工程によって論理合成処理を施された回路情報が、デジタル回路の制約条件を示す所定の基準を満たしているか否かを判断する(ステップS94)。回路情報が所定の基準を満たしていないと判断したときは(ステップS94においてNO)、ステップS201へ戻る。   When it is determined that the circuit information satisfies the predetermined criterion (YES in step S92), in the logic synthesis step, a logic synthesis process is performed on the circuit information generated by the allocation and circuit information generation step (step S93). Then, it is determined whether or not the circuit information subjected to the logic synthesis process in the logic synthesis process satisfies a predetermined criterion indicating a constraint condition of the digital circuit (step S94). When it is determined that the circuit information does not satisfy the predetermined criterion (NO in step S94), the process returns to step S201.

回路情報が所定の基準を満たしていると判断したときは(ステップS94においてYES)、レイアウト工程において、論理合成工程によって論理合成処理を施された回路情報にレイアウト処理を施す(ステップS95)。次に、レイアウト工程によってレイアウト処理を施された回路情報が、デジタル回路の制約条件を示す所定の基準を満たしているか否かを判断する(ステップS96)。回路情報が所定の基準を満たしていないと判断したときは(ステップS96においてNO)、ステップS201へ戻る。回路情報が所定の基準を満たしていると判断したときは(ステップS96においてYES)、処理を終了する。   When it is determined that the circuit information satisfies the predetermined criterion (YES in step S94), a layout process is performed on the circuit information subjected to the logic synthesis process in the logic synthesis process in a layout process (step S95). Next, it is determined whether or not the circuit information subjected to the layout processing in the layout process satisfies a predetermined standard indicating a constraint condition of the digital circuit (step S96). When it is determined that the circuit information does not satisfy the predetermined criterion (NO in step S96), the process returns to step S201. If it is determined that the circuit information satisfies the predetermined criteria (YES in step S96), the process ends.

このように、高位合成から始まるLSIの設計フローにおいては、ハードウェアの動作記述を入力として、高位合成、論理合成、レイアウトと設計工程を進める。各工程において、設計制約を満たさなければ、最悪の場合は高位合成工程からやり直すことになる。   As described above, in the LSI design flow starting from the high-level synthesis, the high-level synthesis, the logic synthesis, the layout, and the design process are advanced by inputting the operation description of the hardware. If the design constraints are not satisfied in each step, the worst case is to start over from the high-level synthesis step.

従来は、高位合成工程以降の下流工程からの手戻りロスを最小限に抑えるために、高位合成工程においては、レイアウト時に配線が混み合わないように、演算器資源および記憶資源を共有する最大数に制限を与えたり、演算器資源と記憶資源との間の接続数に制限を与えたりしていた(西尾、金子、田湯、“配線資源を考慮した高位合成”、Technical Report of IEICE、VLD98−147、pp.49−56、1999−03)。   Conventionally, in order to minimize the return loss from the downstream process after the high-level synthesis process, the maximum number of shared operation unit resources and storage resources in the high-level synthesis process so that wiring is not crowded during layout. (Nishio, Kaneko, Tayu, “High-Level Synthesis Considering Wiring Resources”, Technical Report of IEICE, VLD98). -147, pp. 49-56, 1999-03).

また、レイアウト工程においても、回路性能に影響がある資源の間の結線については、その結線の長さが長くなり過ぎないように、あるいは、レイアウト領域内における混雑度が高くならないように、配置するなど、各工程において別々に対策を講じて、手戻りの最小化を図ってきた。
Daniel Gajski、Nikil Dutt、Allen Wu、Steve Lin、”HIGH−LEVEL SYNTHESIS Introduction to Chip and System Design”、Kluwer Academic Publishers、1992
Also, in the layout process, the connections between the resources that affect the circuit performance are arranged so that the length of the connections does not become too long or the congestion in the layout area does not increase. In each process, measures were taken separately to minimize rework.
Daniel Gajski, Nickil Dutt, Allen Wu, Steve Lin, "HIGH-LEVEL SYNTHESIS Introduction to Chip and System Design Design", Kluwer Academetic, Kluwer Academetic.

しかしながら、これはあくまでも経験的な観点から人間によって行われてきた対策であるため、高位合成工程とレイアウト工程との間の連携がなされていない。また、大規模LSIの開発においては、高位合成工程からレイアウト工程を完了するまでに数ヶ月を要するため、下流工程から上流工程へ後戻りする手戻りロスが発生すると、LSIを市場へ早期に投入することができない。   However, since this is a measure that has been taken by humans only from an empirical viewpoint, there is no coordination between the high-level synthesis process and the layout process. Also, in the development of a large-scale LSI, it takes several months to complete the layout process from the high-level synthesis process. Therefore, if a rework loss from the downstream process to the upstream process occurs, the LSI is brought to the market early. I can't.

従来の高位合成方法は、下流工程において発生する問題、特に、レイアウト工程において発生する問題を詳細に解析することなく、人間の経験的な判断によって作成された設計制約のみに基づいて回路を生成していた。そのため、性能や面積等に関する設計制約が厳しくない回路、開発期間に余裕がある回路、または、回路規模が小さく下流工程において人間で手修正が可能な回路など、高位合成系を適用する回路に使用制限を設ける必要があるという問題があった。   Conventional high-level synthesis methods generate circuits based only on design constraints created by human empirical judgment without analyzing in detail the problems that occur in the downstream process, especially the problems that occur in the layout process. I was Therefore, it is used for circuits that apply high-level synthesis systems, such as circuits with less severe design constraints on performance and area, circuits with more development time, and circuits with a small circuit size that can be manually corrected in downstream processes. There was a problem that it was necessary to set restrictions.

また、高位合成工程以降の下流工程において設計制約を満たさなかった場合に、下流工程からのフィードバック情報を高位合成方法に反映するためには、高位合成系の入力となるプログラムファイルおよび設計制約ファイルを修正しなければならないという問題があった。   In addition, when the design constraints are not satisfied in the downstream process after the high-level synthesis process, in order to reflect the feedback information from the downstream process in the high-level synthesis method, a program file and a design constraint file which are input to the high-level synthesis system are required. There was a problem that had to be fixed.

本発明は係る問題を解決するためになされたものであり、その目的は、高位合成以降の下流の工程、特に、レイアウト工程において、実現性の高いRTL回路を生成する高位合成方法を提供することにある。   The present invention has been made to solve such a problem, and an object of the present invention is to provide a high-level synthesis method for generating a highly feasible RTL circuit in a downstream process after high-level synthesis, particularly in a layout process. It is in.

係る目的を達成するために本発明に係る高位合成方法は、デジタル回路の機能的な動作を記述した入力ファイルに基づいてCDFG(Control Data Flow Graph)を生成するCDFG生成工程と、前記CDFG生成工程によって生成された前記CDFGと制約ファイルに記述された前記デジタル回路の制約条件とに基づいて、処理内容を表現する前記CDFGの各ノードをステップと呼ばれるクロックに同期した時間に割り当ててスケジューリングするスケジューリング工程と、前記スケジューリング工程によってスケジューリングされた前記CDFGの各ノードに対して、前記デジタル回路を構成するための資源のレイアウトを示す資源レベルレイアウト情報に基づいて前記資源を割り当てたアロケーション情報と資源間の接続関係を表す回路情報を生成するアロケーションおよび回路情報生成工程と、前記アロケーションおよび回路情報生成工程によって生成された前記回路情報を出力する出力工程とを包含することを特徴とする。   In order to achieve the above object, a high-level synthesis method according to the present invention comprises: a CDFG generating step of generating a Control Data Flow Graph (CDFG) based on an input file describing a functional operation of a digital circuit; and the CDFG generating step. Scheduling step of allocating each node of the CDFG expressing processing contents to a time synchronized with a clock called a step based on the CDFG generated by the above and the constraint condition of the digital circuit described in the constraint file. And allocation information for allocating the resources to each node of the CDFG scheduled by the scheduling step based on resource level layout information indicating a layout of resources for configuring the digital circuit. And allocation and circuit information generating step for generating circuit information indicating the connection relationship between, characterized in that it comprises an output step of outputting said circuit information generated by the allocation and circuit information generating step.

本発明によれば、高位合成以降の下流の工程、特に、レイアウト工程において、実現性の高いRTL回路を生成する高位合成方法を提供することができる。   According to the present invention, it is possible to provide a high-level synthesis method for generating a highly feasible RTL circuit in downstream steps after high-level synthesis, particularly in a layout step.

本実施の形態に係る高位合成方法においては、スケジューリング工程によってスケジューリングされたCDFGの各ノードに対して、デジタル回路を構成するための資源のレイアウトを示す資源レベルレイアウト情報に基づいて資源を割り当ててたアロケーション情報と資源間の接続関係を表す回路情報を生成する。このため、レイアウト工程によって得られた資源レベルレイアウト情報を高位合成工程のアロケーションフェーズへフィードバックすることができる。従って、高位合成工程以降の下流工程において設計制約を満たさなかった場合に、高位合成工程における入力ファイルまたは制約ファイルを修正することなく、高位合成工程からレイアウト工程までを自動的に実行することができる。その結果、レイアウト工程において、実現性の高いRTL回路を生成することができる。   In the high-level synthesis method according to the present embodiment, resources are allocated to each node of the CDFG scheduled in the scheduling step based on resource level layout information indicating a layout of resources for configuring a digital circuit. Generate circuit information indicating the connection relationship between the allocation information and the resources. For this reason, the resource level layout information obtained by the layout process can be fed back to the allocation phase of the high-level synthesis process. Therefore, when the design constraint is not satisfied in the downstream process after the high-level synthesis process, the process from the high-level synthesis process to the layout process can be automatically executed without correcting the input file or the constraint file in the high-level synthesis process. . As a result, a highly feasible RTL circuit can be generated in the layout process.

前記アロケーションおよび回路情報生成工程は、前記スケジューリング工程によってスケジューリングされた前記CDFGの各ノードに対して前記資源を割り当てた初期アロケーション情報と資源間の接続関係を表す初期回路情報を生成する初期アロケーションおよび初期回路情報生成工程と、前記初期アロケーションおよび初期回路情報生成工程によって生成された前記初期回路情報に基づいて前記資源レベルレイアウト情報を生成する資源レベルレイアウト工程と、前記初期アロケーションおよび初期回路情報生成工程によって生成された前記初期アロケーション情報と前記資源レベルレイアウト情報とに基づいて、前記CDFGの各ノードに対する前記資源の割り当てを変更した修正アロケーション情報と資源間の接続関係を変更した修正回路情報を生成する再アロケーションおよび回路情報生成工程と、前記再アロケーションおよび回路情報生成工程によって生成された前記修正回路情報に基づいて前記資源レベルレイアウト情報を微修正する資源レベルレイアウト微修正工程とを含んでおり、所定の基準を満足するまで前記再アロケーションおよび回路情報生成工程と前記資源レベルレイアウト微修正工程とを繰り返して実行することが好ましい。   The allocation and circuit information generating step includes an initial allocation and an initial generation for generating initial allocation information in which the resources are allocated to each node of the CDFG scheduled by the scheduling step and initial circuit information indicating a connection relationship between the resources. A circuit information generating step; a resource level layout step of generating the resource level layout information based on the initial allocation and the initial circuit information generated by the initial circuit information generating step; and an initial allocation and initial circuit information generating step. Based on the generated initial allocation information and the resource level layout information, modified allocation information in which the allocation of the resource to each node of the CDFG has been changed and a connection relationship between the resources have been changed. A re-allocation and circuit information generating step of generating correct circuit information; and a resource level layout fine-correction step of fine-correcting the resource level layout information based on the corrected circuit information generated by the re-allocation and circuit information generating step. And it is preferable to repeatedly execute the re-allocation and circuit information generation step and the resource level layout fine correction step until a predetermined standard is satisfied.

前記アロケーション情報は、ハードウエア資源割り当て情報とハードウエア資源のライフタイム情報とであることが好ましい。   Preferably, the allocation information is hardware resource allocation information and hardware resource lifetime information.

前記資源レベルレイアウト情報は、資源間結線距離情報であることが好ましい。   Preferably, the resource level layout information is connection distance information between resources.

前記資源レベルレイアウト情報は、資源間結線のレイアウト領域内混雑度情報であることが好ましい。   It is preferable that the resource level layout information is congestion degree information in a layout area of a resource connection.

前記資源レベルレイアウト情報は、資源間結線距離情報と資源間結線のレイアウト領域内混雑度情報とからなる任意の関数で表現された、マクロ間結線情報であることが好ましい。   The resource-level layout information is preferably macro-interconnection information expressed by an arbitrary function including inter-resource connection distance information and congestion degree information in a layout area of the inter-resource connection.

前記資源レベルレイアウト情報は、レイアウト影響度を係数として含んでいることが好ましい。   Preferably, the resource level layout information includes a layout influence degree as a coefficient.

前記初期アロケーション工程は、可能な限りハードウエア資源を共有化しないように、前記CDFGの各ノードに対して前記資源を割り当て、前記再アロケーション工程は、別々に実現されたハードウエア資源を共有化するように、前記CDFGの各ノードに対する前記資源の割り当てを変更することが好ましい。   The initial allocation step allocates the resources to each node of the CDFG so that hardware resources are not shared as much as possible, and the re-allocation step shares separately implemented hardware resources. Thus, it is preferable to change the allocation of the resources to each node of the CDFG.

前記初期アロケーション工程は、可能な限りハードウエア資源を共有化するように、前記CDFGの各ノードに対して前記資源を割り当て、前記再アロケーション工程は、共有化されたハードウエア資源を別々にアロケーションすることが好ましい。   The initial allocation step allocates the resources to each node of the CDFG so as to share the hardware resources as much as possible, and the re-allocation step allocates the shared hardware resources separately. Is preferred.

前記再アロケーション工程は、記憶資源のレイアウト領域内配置分布ばらつきを計算し、前記レイアウト領域内配置分布ばらつきに基づいて、同期クロック回路の合成容易性を推定し、記憶資源共有化時には、合成容易性が高い共有化を選択することが好ましい。   The reallocation step calculates the distribution distribution of the storage resources in the layout area, estimates the ease of synthesis of the synchronous clock circuit based on the distribution distribution in the layout area, and sets the ease of synthesis when sharing the storage resources. It is preferable to select a high sharing.

前記記憶資源のレイアウト領域内配置分布ばらつきは、レイアウト領域を複数の領域に分割した各領域内に属する記憶資源の数のばらつきであることが好ましい。   It is preferable that the variation in the arrangement distribution of the storage resources in the layout area is a variation in the number of storage resources belonging to each area obtained by dividing the layout area into a plurality of areas.

前記記憶資源のレイアウト領域内配置分布ばらつきは、レイアウト領域内を階層的に分割した各階層ごとに計算したばらつきの合計であることが好ましい。   It is preferable that the distribution distribution variation of the storage resource in the layout area is a total of the variation calculated for each hierarchy obtained by dividing the layout area hierarchically.

前記初期アロケーション工程は、可能な限りハードウエア資源を共有化するように、前記CDFGの各ノードに対して前記資源を割り当て、前記再アロケーション工程は、共有化されたハードウエア資源を別々にアロケーションし、前記アロケーション工程は、前記再アロケーション工程において分割されたハードウェア資源を、前記初期アロケーション工程において共有されなかったハードウェア資源と共有するアロケーション変更工程をさらに含んでいることが好ましい。   The initial allocation step allocates the resources to each node of the CDFG so as to share the hardware resources as much as possible, and the re-allocation step separately allocates the shared hardware resources. Preferably, the allocation step further includes an allocation changing step of sharing the hardware resources divided in the re-allocation step with hardware resources not shared in the initial allocation step.

前記資源レベルレイアウト情報は、レイアウト影響度をレイアウト影響係数として含んでおり、前記レイアウト影響係数を段階的に修正しながら前記再アロケーション工程と前記アロケーション変更工程とを繰り返して実行することが好ましい。   It is preferable that the resource level layout information includes a layout influence degree as a layout influence coefficient, and repeats the reallocation step and the allocation change step while correcting the layout influence coefficient stepwise.

前記出力工程は、前記資源レベルレイアウト微修正工程によって微修正された前記資源レベルレイアウト情報をさらに出力することが好ましい。   It is preferable that the output step further outputs the resource level layout information finely corrected by the resource level layout fine correction step.

以下、図面を参照して本発明の実施の形態を説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

(実施の形態1)
図1は、実施の形態1に係る高位合成方法を示すフローチャートである。まず、CDFG生成工程において、デジタル回路の機能的な動作を記述した入力ファイルに基づいてCDFG(Control Data Flow Graph)を生成する(ステップS201)。
(Embodiment 1)
FIG. 1 is a flowchart illustrating the high-level synthesis method according to the first embodiment. First, in the CDFG generation step, a control data flow graph (CDFG) is generated based on an input file describing the functional operation of the digital circuit (step S201).

図2は、デジタル回路の機能的な動作を記述した入力ファイルの一例を示す図である。図2に示す入力ファイルの一例においては、デジタル回路の機能的な動作がC言語に従って記述されている。制約ファイルには、動作速度、消費電力、回路面積に対する回路制約条件が記述されている。   FIG. 2 is a diagram illustrating an example of an input file describing the functional operation of the digital circuit. In the example of the input file shown in FIG. 2, the functional operation of the digital circuit is described in C language. In the constraint file, circuit constraint conditions for operation speed, power consumption, and circuit area are described.

図3は、実施の形態1に係る高位合成方法におけるCDFG生成工程によって生成されるCDFGを示す図である。実線の矢印はデータの流れを示しており、破線の矢印は制御の流れを示している。CDFG生成工程においては、入力ファイルの字句解析、構文解析、意味解析をこの順番に実行し、図3に示すCDFGを生成する。   FIG. 3 is a diagram showing CDFGs generated in the CDFG generation step in the high-level synthesis method according to the first embodiment. The solid arrows indicate the flow of data, and the dashed arrows indicate the flow of control. In the CDFG generation step, lexical analysis, syntax analysis, and semantic analysis of the input file are performed in this order, and the CDFG shown in FIG. 3 is generated.

そして、スケジューリング工程において、CDFG生成工程によって生成されたCDFGと制約ファイルに記述されたデジタル回路の制約条件とに基づいて処理内容を表現するCDFGの各ノードをステップと呼ばれるクロックに同期した時間に割り当ててスケジューリングする(ステップS202)。   Then, in the scheduling step, each node of the CDFG expressing the processing contents is allocated to a time synchronized with a clock called a step based on the CDFG generated in the CDFG generation step and the constraint conditions of the digital circuit described in the constraint file. Scheduling (step S202).

図4は、スケジューリング工程によってステップが割り当てられたCDFGの各ノードを示す図である。図4に示す例では、CDFGのノード+1、ノードm1、ノード+2、ノード+3およびノードm2がステップS1に割り当てられている。CDFGのノード+4およびノードm3は、FSMの状態S2に割り当てられている。CDFGのノード*1およびノードm4は、ステップS3に割り当てられている。   FIG. 4 is a diagram illustrating each node of the CDFG to which steps are assigned by the scheduling process. In the example shown in FIG. 4, the node +1 of the CDFG, the node m1, the node +2, the node +3, and the node m2 are assigned to the step S1. Node +4 and node m3 of CDFG are assigned to state S2 of FSM. The node * 1 and the node m4 of the CDFG are assigned to step S3.

次に、初期共有化アロケーションおよび回路情報生成工程において、スケジューリング工程によってスケジューリングされたCDFGの各ノードに対して、デジタル回路を構成するための演算器資源または記憶資源を可能な限り共有するように、演算器資源または記憶資源を割り当てた初期アロケーション情報と資源間の接続関係を表す初期回路情報を生成する(ステップS203)。   Next, in the initial sharing allocation and circuit information generation step, each of the nodes of the CDFG scheduled by the scheduling step is shared as much as possible with the computing unit resources or storage resources for configuring the digital circuit. Initial allocation information to which arithmetic unit resources or storage resources are allocated and initial circuit information indicating a connection relationship between the resources are generated (step S203).

図5Aは初期共有化アロケーションおよび回路情報生成工程によってCDFGの各ノードに資源が割り当てられた初期共有化アロケーション情報を示す図であり、図5Bは初期共有化アロケーションおよび回路情報生成工程によって生成された回路情報を示す図であり、図6は初期共有化アロケーションおよび回路情報生成工程によって生成された各資源のライフタイム情報を示す図である。デジタル回路を構成するための資源701は、記憶資源レジスタreg1およびreg2と加算器add1、add2およびadd3と乗算器mult1と2入力1出力のマルチプレクサ2−1MUX1、2−1MUX2、2−1MUX3、2−1MUX4および2−1MUX5とを含んでいる。   FIG. 5A is a diagram showing initial shared allocation information in which resources are allocated to each node of the CDFG by the initial shared allocation and circuit information generating step, and FIG. 5B is generated by the initial shared allocation and circuit information generating step. FIG. 6 is a diagram showing circuit information, and FIG. 6 is a diagram showing lifetime information of each resource generated by the initial sharing allocation and the circuit information generating step. Resources 701 for configuring a digital circuit include storage resource registers reg1 and reg2, adders add1, add2, and add3, a multiplier multit1, and a 2-input / 1-output multiplexer 2-1MUX1, 2-1MUX2, 2-1MUX3, 2-2-1. 1MUX4 and 2-1MUX5.

図5および図6に示す例では、ステップS1に割り当てられたノードm1とステップS2に割り当てられたノードm3とステップS3に割り当てられたノードm4とに、レジスタreg1が共通に割り当てられている。ステップS1に割り当てられたノードm2には、レジスタreg2が割り当てられている。ステップS1に割り当てられたノード+1とステップS2に割り当てられたノード+4とには、加算器add1が共通に割り当てられている。   In the examples shown in FIGS. 5 and 6, the register reg1 is commonly assigned to the node m1 assigned to step S1, the node m3 assigned to step S2, and the node m4 assigned to step S3. The register reg2 is assigned to the node m2 assigned to step S1. The adder add1 is commonly assigned to the node +1 assigned to step S1 and the node +4 assigned to step S2.

ステップS1に割り当てられたノード+2には加算器add2が割り当てられており、ステップS1に割り当てられたノード+3には加算器add3が割り当てられており、ステップS3に割り当てられたノード*1には乗算器mult1が割り当てられている。   The adder add2 is assigned to the node +2 assigned to step S1, the adder add3 is assigned to the node +3 assigned to step S1, and the node * 1 assigned to step S3 is multiplied. Unit multi is assigned.

ステップS1に割り当てられたエッジadd2_reg2およびエッジadd3_reg2はともに資源reg2への同一ポートへの入力となるため、マルチプレクサ2−1MUX1を挿入して資源reg2への入力が制御されている。ステップS1に割り当てられた入力エッジin1とステップS2に割り当てられたエッジreg1_add1とには、同様にマルチプレクサ2−1MUX2が共通に挿入されている。   Since both the edge add2_reg2 and the edge add3_reg2 assigned to step S1 are input to the same port to the resource reg2, the input to the resource reg2 is controlled by inserting the multiplexer 2-1MUX1. Similarly, a multiplexer 2-1MUX2 is commonly inserted into the input edge in1 assigned to step S1 and the edge reg1_add1 assigned to step S2.

ステップS3に割り当てられたエッジreg2_mux4およびノードin6には、同様にマルチプレクサ2−1MUX4が共通に挿入されている。ステップS1に割り当てられたエッジadd1_reg1とステップS2に割り当てられたエッジmult1_reg1とには、同様にマルチプレクサ2−1MUX5が共通に挿入されている。   Similarly, a multiplexer 2-1MUX4 is commonly inserted into the edge reg2_mux4 and the node in6 assigned to the step S3. Similarly, a multiplexer 2-1MUX5 is commonly inserted into the edge add1_reg1 assigned to step S1 and the edge multit_reg1 assigned to step S2.

その後、資源レベルレイアウト工程において、初期共有化アロケーションおよび回路情報生成工程によって生成された初期回路情報に基づいて資源レベルレイアウト情報を生成する(ステップS204)。   Thereafter, in the resource level layout step, resource level layout information is generated based on the initial shared allocation and the initial circuit information generated in the circuit information generation step (step S204).

図7は、初期共有化アロケーションおよび回路情報生成工程によって生成された初期回路情報に基づいて資源レベルにおいてレイアウトされたデジタル回路を示す図である。破線によって囲まれた領域R1〜領域R6は、配線混雑度を推定する際に用いるレイアウト部分領域である。図7に示す例では、デジタル回路を6分割した例を示している。   FIG. 7 is a diagram showing a digital circuit laid out at a resource level based on initial shared allocation and initial circuit information generated by the circuit information generating step. Regions R1 to R6 surrounded by broken lines are layout partial regions used when estimating the wiring congestion degree. FIG. 7 shows an example in which a digital circuit is divided into six.

図8は、資源レベルレイアウト工程によって生成された資源レベルレイアウト情報を示す図である。各欄にそれぞれ記載された数値は、各資源の間の結線の長さを示す資源間結線距離情報を示している。例えば、記憶資源レジスタreg1とマルチプレクサ2−1MUX2との間の資源間結線距離情報は「8」となっており、記憶資源レジスタreg1とマルチプレクサ2−1MUX5との間の資源間結線距離情報は「1」となっている。   FIG. 8 is a diagram showing the resource level layout information generated by the resource level layout process. Numerical values described in the respective columns indicate resource connection distance information indicating the connection length between the resources. For example, the resource connection distance information between the storage resource register reg1 and the multiplexer 2-1MUX2 is “8”, and the resource connection distance information between the storage resource register reg1 and the multiplexer 2-1MUX5 is “1”. It has become.

図9は、資源レベルレイアウト工程によって生成された他の資源レベルレイアウト情報を示す図である。図9には、レイアウト部分領域R1、R2、R3、R4、R5およびR6における配線の混雑の度合いを示す配線混雑度情報が示されている。配線混雑度情報は、各レイアウト部分領域R1、R2、R3、R4、R5およびR6内に存在する配線の本数によって表されている。図9に示す例では、レイアウト部分領域R1においては配線混雑度情報が「9」になっており、レイアウト部分領域R2においては配線混雑度情報が「6」になっており、レイアウト部分領域R3においては配線混雑度情報が「6」になっている。レイアウト部分領域R4においては配線混雑度情報が「4」になっており、レイアウト部分領域R5においては配線混雑度情報が「6」になっており、レイアウト部分領域R6においては配線混雑度情報が「2」になっている。なお、配線混雑度情報は、配線可能な配線層数を考慮したり、水平垂直成分で別々に評価したりすることで、より実際のレイアウトを反映した複雑な表現方法を用いることもできる。   FIG. 9 is a diagram showing other resource level layout information generated by the resource level layout process. FIG. 9 shows wiring congestion degree information indicating the degree of wiring congestion in the layout partial regions R1, R2, R3, R4, R5, and R6. The wiring congestion degree information is represented by the number of wirings present in each of the layout partial regions R1, R2, R3, R4, R5, and R6. In the example shown in FIG. 9, the wiring congestion degree information is “9” in the layout partial region R1, the wiring congestion degree information is “6” in the layout partial region R2, and the wiring congestion degree information is “6” in the layout partial region R3. Indicates that the wiring congestion degree information is “6”. The wiring congestion degree information is “4” in the layout partial region R4, the wiring congestion degree information is “6” in the layout partial region R5, and the wiring congestion degree information is “6” in the layout partial region R6. 2 ". Note that the wiring congestion degree information can use a complicated expression method that reflects the actual layout by considering the number of wiring layers that can be wired or by separately evaluating horizontal and vertical components.

そして、資源レベルレイアウト工程によって生成された資源レベルレイアウト情報が、制約ファイルに記述されたデジタル回路の制約条件を示す所定の基準を満たしているか否かを判断する(ステップS205)。資源レベルレイアウト情報が所定の基準を満たしていると判断したときは(ステップS205においてYES)、出力工程において回路情報を出力して(ステップS208)、処理を終了する。   Then, it is determined whether or not the resource level layout information generated by the resource level layout process satisfies a predetermined criterion indicating a constraint condition of the digital circuit described in the constraint file (step S205). If it is determined that the resource level layout information satisfies the predetermined criterion (YES in step S205), circuit information is output in an output step (step S208), and the process ends.

資源レベルレイアウト情報が所定の基準を満たしていないと判断したときは(ステップS205においてNO)、資源分割化アロケーションおよび回路情報生成工程において、初期共有化アロケーションおよび回路情報生成工程によって生成された初期アロケーション情報と資源レベルレイアウト工程によって生成された資源レベルレイアウト情報とに基づいて、CDFGの各ノードに対する資源の割り当てを変更した修正アロケーション情報と資源間の接続関係を表す修正回路情報を生成する(ステップS206)。   If it is determined that the resource level layout information does not satisfy the predetermined criterion (NO in step S205), in the resource division allocation and circuit information generation step, the initial allocation generated by the initial shared allocation and circuit information generation step Based on the information and the resource level layout information generated by the resource level layout process, corrected allocation information in which the allocation of resources to each node of the CDFG has been changed and corrected circuit information representing the connection relationship between the resources are generated (step S206). ).

資源分割化アロケーション工程(ステップS206)においては、初期アロケーション情報と資源レベルレイアウト情報とに基づいて、資源を共有することにより資源間結線距離が長くなり、あるいは、レイアウト領域内配線混雑度が高くなるために設計制約を満たさない原因となっている共有化された資源を抽出し、CDFGの各ノードを別々の資源に割り当てるように資源割り当てを変更した修正アロケーション情報と資源間の接続関係を変更した修正回路情報を生成する。   In the resource division allocation step (step S206), based on the initial allocation information and the resource level layout information, sharing the resources increases the connection distance between the resources or increases the degree of wiring congestion in the layout area. Therefore, the shared resources that cause the design constraints are not satisfied were extracted, and the resource allocation was changed so that each node of the CDFG was allocated to a separate resource. The connection relationship between resources was changed. Generate modified circuit information.

図7に示す例では、記憶資源レジスタreg1から出力されたデータが、マルチプレクサMUX2を経由して加算器add1によって演算され、マルチプレクサMUX5を経由して再び記憶資源レジスタreg1に格納される。資源間結線情報から得られたマルチプレクサMUX2と記憶資源レジスタreg1との間の結線距離801が長いために、動作速度あるいは消費電力などの回路性能が満たすことができない。   In the example shown in FIG. 7, the data output from the storage resource register reg1 is operated by the adder add1 via the multiplexer MUX2, and is stored again in the storage resource register reg1 via the multiplexer MUX5. Since the connection distance 801 between the multiplexer MUX2 obtained from the inter-resource connection information and the storage resource register reg1 is long, circuit performance such as operation speed or power consumption cannot be satisfied.

記憶資源レジスタreg1は、CDFGのノードm1、ノードm3およびノードm4によって共有されている。このように資源を共有化すると、接続先の資源からの距離が遠くなったり、また、各資源の間を接続する結線が集中して配置されるために、レイアウト領域内混雑度が高くなってしまうおそれがある。   The storage resource register reg1 is shared by the nodes m1, m3, and m4 of the CDFG. When the resources are shared in this manner, the distance from the resource at the connection destination becomes longer, and the connection connecting the resources is concentrated, so that the congestion degree in the layout area increases. There is a possibility that it will.

図10Aは資源分割化アロケーションおよび回路情報生成工程によって資源の割り当てを変更された修正アロケーション情報を示す図であり、図10Bは資源分割化アロケーションおよび回路情報生成工程によって生成された修正回路情報を示す図であり、図11は資源分割化アロケーション工程によって生成された各資源の修正ライフタイム情報を示す図である。図5および図6をそれぞれ参照して前述した構成要素と同一の構成要素には同一の参照符号を付している。従って、これらの構成要素の詳細な説明は省略する。   FIG. 10A is a diagram showing modified allocation information in which resource allocation has been changed by the resource division allocation and circuit information generation step, and FIG. 10B shows modified circuit information generated by the resource division allocation and circuit information generation step. FIG. 11 is a diagram showing the modified lifetime information of each resource generated by the resource division allocation process. The same components as those described above with reference to FIGS. 5 and 6 are denoted by the same reference numerals. Therefore, a detailed description of these components will be omitted.

前述した図5および図6と異なる点は、ステップS1に割り当てられたノードm1とステップS2に割り当てられたノードm3とがレジスタreg1に共通に割り当てられており、ステップS3に割り当てられたノードm4はレジスタreg3に割り当てられている点である。このように、ステップS1に割り当てられたノードm1とステップS2に割り当てられたノードm3とステップS3に割り当てられたノードm4との3個のノードに共通に割り当てられていたレジスタreg1は、ステップS1のノードm1とステップS2のノードm3との2個のノードに共通に割り当てられたレジスタreg1とステップS3のノードm4に割り当てられたレジスタreg3とに分割されている。   5 and 6 described above is that node m1 assigned to step S1 and node m3 assigned to step S2 are commonly assigned to register reg1, and node m4 assigned to step S3 is This is a point assigned to the register reg3. As described above, the register reg1 commonly assigned to the three nodes, the node m1 assigned to the step S1, the node m3 assigned to the step S2, and the node m4 assigned to the step S3 becomes the register reg1 of the step S1. It is divided into a register reg1 commonly assigned to two nodes, a node m1 and a node m3 in step S2, and a register reg3 assigned to a node m4 in step S3.

次に、資源レベルレイアウト微修正工程において、資源分割化アロケーションおよび回路情報生成工程(ステップS206)によって生成された修正回路情報に基づいて資源レベルレイアウト情報を微修正する(ステップS207)。   Next, in the resource level layout fine correction step, the resource level layout information is finely corrected based on the resource division allocation and the corrected circuit information generated in the circuit information generation step (step S206) (step S207).

図12は、資源レベルレイアウト微修正工程によってレイアウトを微修正されたデジタル回路を示す図である。修正回路情報に基づいて記憶資源レジスタreg1のレイアウトを微修正した結果、マルチプレクサMUX2と記憶資源レジスタreg1との間の結線距離1201は、レイアウトを微修正する前のマルチプレクサMUX2と記憶資源レジスタreg1との間の結線距離801よりも短くなっている。   FIG. 12 is a diagram showing a digital circuit whose layout has been finely corrected by the resource level layout fine correction process. As a result of fine-tuning the layout of the storage resource register reg1 based on the correction circuit information, the connection distance 1201 between the multiplexer MUX2 and the storage resource register reg1 is changed between the multiplexer MUX2 and the storage resource register reg1 before fine-tuning the layout. It is shorter than the connection distance 801 between them.

その後、ステップS205へ戻る。このようにして、所定の基準を満足するまで資源分割化アロケーションおよび回路情報生成工程と資源レベルレイアウト微修正工程とを繰り返して実行する。   Then, the process returns to step S205. In this manner, the resource division allocation and circuit information generation step and the resource level layout fine correction step are repeatedly executed until a predetermined standard is satisfied.

以上のように実施の形態1によれば、スケジューリング工程(ステップS201)によってスケジューリングされたCDFGの各ノードに対して、デジタル回路を構成するための資源のレイアウトを示す資源レベルレイアウト情報に基づいて資源割り当てを変更した修正アロケーション情報と資源間の接続関係を変更した修正回路情報を生成する。このため、資源レベルレイアウト工程(ステップS204)によって得られた資源レベルレイアウト情報を高位合成工程のアロケーションフェーズへフィードバックすることができる。従って、高位合成工程以降の下流工程において設計制約を満たさなかった場合に、高位合成工程における入力ファイルまたは制約ファイルを修正することなく、高位合成工程からレイアウト工程までを自動的に実行することができる。その結果、レイアウト工程において実現性の高い回路を生成することができる。   As described above, according to the first embodiment, for each node of the CDFG scheduled in the scheduling step (step S201), the resource is determined based on the resource level layout information indicating the layout of the resource for configuring the digital circuit. Modified allocation information in which the allocation is changed and modified circuit information in which the connection relationship between resources is changed are generated. Therefore, the resource level layout information obtained in the resource level layout step (step S204) can be fed back to the allocation phase of the high-level synthesis step. Therefore, when the design constraint is not satisfied in the downstream process after the high-level synthesis process, the process from the high-level synthesis process to the layout process can be automatically executed without correcting the input file or the constraint file in the high-level synthesis process. . As a result, a highly feasible circuit can be generated in the layout process.

図13Aは実施の形態1に係る高位合成方法における資源分割化アロケーションおよび回路情報生成工程によって生成された他の修正アロケーション情報を示す図であり、図13Bは資源分割化アロケーションおよび回路情報生成工程によって生成された他の修正回路情報を示す図であり、図14は資源レベルレイアウト微修正工程によってレイアウトを微修正された他のデジタル回路を示す図である。前述した図10A、図10B、図11および図12に示す例では、設計制約として回路性能を取り上げて説明したが、本発明はこれに限定されない。混雑度情報を用いて回路面積を評価することもできる。その場合、図7に示すように、マルチプレクサMUX2とレジスタreg1との間の配線が長いために、領域R1内における配線混雑度が高くなる結果、回路面積が増大することになる。   FIG. 13A is a diagram showing another divided allocation information generated by the resource division allocation and the circuit information generation step in the high-level synthesis method according to Embodiment 1, and FIG. 13B is a view showing the resource division allocation and the circuit information generation step. FIG. 14 is a diagram illustrating another generated correction circuit information, and FIG. 14 is a diagram illustrating another digital circuit whose layout has been finely corrected by the resource level layout fine correction process. In the examples shown in FIGS. 10A, 10B, 11 and 12, the circuit performance has been described as a design constraint, but the present invention is not limited to this. The circuit area can also be evaluated using the congestion degree information. In that case, as shown in FIG. 7, since the wiring between the multiplexer MUX2 and the register reg1 is long, the degree of wiring congestion in the region R1 increases, resulting in an increase in circuit area.

そこで、資源分割化アロケーション工程(ステップS206)において、ノード+1とノード+4とで共有化されている演算器add1を分割するようにし、先の説明と同様にして、図13Aおよび図13Bに示すようにアロケーション情報と回路情報とを再生成し、そして、図14に示すようにレイアウトを微修正すればよい。   Therefore, in the resource division allocation step (step S206), the arithmetic unit add1 shared by the node +1 and the node +4 is divided, and as described above, as shown in FIGS. 13A and 13B. Then, the allocation information and the circuit information may be regenerated, and the layout may be finely modified as shown in FIG.

また、回路性能と回路面積を同時に評価して、両方の処理、あるいは、優先度を設けてどちらか一方の処理を行うと、回路性能と回路面積の両方を最適にすることができる。あるいは、トレードオフによる最適化を実施することが可能となる。   In addition, by simultaneously evaluating the circuit performance and the circuit area and performing either of the processes or one of the processes with a priority, both the circuit performance and the circuit area can be optimized. Alternatively, it is possible to perform optimization by trade-off.

さらに、資源レベルレイアウト情報にマージンを付加することによって資源レベルレイアウト情報の値を大きくしたり、逆に値を小さくしたりして資源レベルレイアウト情報の値を変更できるようにすると、実際のレイアウト設計における制約を満たしたレイアウトの実現性の容易性を変更することもできる。具体的には、レイアウト影響度を表すレイアウト影響係数を設定し、設定したレイアウト影響係数の値を資源レベルレイアウト情報の値に乗算すればよい。   Further, by adding a margin to the resource level layout information to increase the value of the resource level layout information, or to decrease the value of the resource level layout information to change the value of the resource level layout information, the actual layout design Of the layout that satisfies the constraints in the above can also be changed. Specifically, a layout influence coefficient representing the layout influence degree is set, and the value of the set layout influence coefficient may be multiplied by the value of the resource level layout information.

以上説明したように、実施形態1によれば、まず、可能な限り資源を共有するように高位合成されたCDFGをレイアウトする。そして、それを初期解として、資源レベルレイアウト情報の資源間結線距離が長く、あるいは、マクロ領域内配線混雑度が高く設計制約を満たさない原因となっている共有された資源を別々の資源に再アロケーションして、レイアウト微修正を行う。設計制約を満たすまでこれを繰り返すことにより、資源レベルのレイアウト結果に基づいて、高位レベルにおいて回路を生成することができるので、レイアウト後に設計制約に違反しない範囲において最適な資源共有化を図ることができる。   As described above, according to the first embodiment, first, the high-level synthesized CDFG is laid out so as to share resources as much as possible. Then, using that as an initial solution, the shared resources that cause the long connection distance between the resources in the resource level layout information or the high wiring congestion in the macro area and do not satisfy the design constraints are re-allocated to separate resources. Allocate and fine-tune the layout. By repeating this process until the design constraints are satisfied, a circuit can be generated at a higher level based on the resource-level layout result. Therefore, optimal resource sharing can be achieved within a range that does not violate the design constraints after layout. it can.

(実施の形態2)
図15は、実施の形態2に係る高位合成方法を示すフローチャートである。CDFG生成工程(ステップS1501)およびスケジューリング工程(ステップS1502)は、実施の形態1において図1を参照して前述したCDFG生成工程(ステップS201)およびスケジューリング工程(ステップS202)とそれぞれ同一である。従って、これらの工程の説明は省略する。
(Embodiment 2)
FIG. 15 is a flowchart illustrating the high-level synthesis method according to the second embodiment. The CDFG generation step (step S1501) and the scheduling step (step S1502) are the same as the CDFG generation step (step S201) and the scheduling step (step S202) described in the first embodiment with reference to FIG. Therefore, description of these steps is omitted.

初期非共有化アロケーションおよび回路情報生成工程(ステップS1503)においては、可能な限りハードウエア資源を共有化しないように、CDFGの各ノードに対して演算器資源または記憶資源を割り当てた初期アロケーション情報と資源間の接続関係を表す初期回路情報を生成する。   In the initial non-shared allocation and circuit information generation step (step S1503), initial allocation information in which an arithmetic unit resource or a storage resource is allocated to each node of the CDFG is set so that hardware resources are not shared as much as possible. Generates initial circuit information indicating a connection relationship between resources.

図16Aは初期非共有化アロケーションおよび回路情報生成工程によってCDFGの各ノードに資源が割り当てられた初期アロケーション情報を示す図であり、図16Bは初期非共有化アロケーションおよび回路情報生成工程によって生成された初期回路情報を示す図であり、図17は初期非共有化アロケーションおよび回路情報生成工程によって生成された各資源のライフタイム情報を示す図である。   FIG. 16A is a diagram showing initial allocation information in which resources are allocated to each node of the CDFG in the initial unshared allocation and circuit information generating step, and FIG. 16B is generated in the initial unshared allocation and circuit information generating step. FIG. 17 is a diagram showing initial circuit information, and FIG. 17 is a diagram showing lifetime information of each resource generated in the initial unshared allocation and circuit information generating step.

図16A、図16Bおよび図17に示す例では、ステップS1に割り当てられたノードm1に、レジスタreg1が割り当てられている。ステップS1に割り当てられたノードm2には、レジスタreg2が割り当てられている。ステップS2に割り当てられたノードm3には、レジスタreg3が割り当てられている。ステップS3に割り当てられたノードm4には、レジスタreg4が割り当てられている。   In the examples shown in FIGS. 16A, 16B and 17, the register reg1 is assigned to the node m1 assigned to step S1. The register reg2 is assigned to the node m2 assigned to step S1. The register reg3 is assigned to the node m3 assigned to step S2. The register reg4 is assigned to the node m4 assigned to step S3.

ステップS1に割り当てられたノード+1には、加算器add1が割り当てられている。ステップS1に割り当てられたノード+2には加算器add2が割り当てられており、ステップS1に割り当てられたノード+3には加算器add3が割り当てられている。ステップS2に割り当てられたノード+4には、加算器add4が割り当てられている。ステップS3に割り当てられたノード*1には、乗算器mult1が割り当てられている。   The adder add1 is assigned to the node +1 assigned to step S1. The adder add2 is assigned to the node +2 assigned to step S1, and the adder add3 is assigned to the node +3 assigned to step S1. The adder add4 is assigned to the node +4 assigned to step S2. The multiplier * 1 is assigned to the node * 1 assigned to step S3.

ステップS1に割り当てられたエッジadd2_reg2およびエッジadd3_reg2には、マルチプレクサ2−1MUX1が共通に割り当てられている。ステップS3に割り当てられたエッジreg2_mux4とステップS3に割り当てられたノードin6とには、マルチプレクサ2−1MUX2が共通に割り当てられている。   The multiplexer 2-1MUX1 is commonly assigned to the edge add2_reg2 and the edge add3_reg2 assigned to step S1. The multiplexer 2-1MUX2 is commonly assigned to the edge reg2_mux4 assigned to step S3 and the node in6 assigned to step S3.

このように、初期非共有化アロケーションおよび回路情報生成工程においては、可能な限りハードウエア資源を共有化しないようにCDFGの各ノードに対して演算器資源または記憶資源を割り当てている。   As described above, in the initial non-shared allocation and circuit information generation step, the computing unit resources or the storage resources are allocated to each node of the CDFG so that the hardware resources are not shared as much as possible.

そして、資源レベルレイアウト工程において、初期非共有化アロケーションおよび回路情報生成工程によって生成された初期回路情報に基づいて資源レベルレイアウト情報を生成する(ステップS1504)。   Then, in the resource level layout step, resource level layout information is generated based on the initial unshared allocation and the initial circuit information generated in the circuit information generation step (step S1504).

図18は、初期非共有化アロケーションおよび回路情報生成工程によって生成された初期回路情報に基づいてレイアウトされたデジタル回路を示す図である。破線によって囲まれた領域R1〜領域R6は、配線混雑度を推定する際に用いるレイアウト部分領域である。図18に示す例では、デジタル回路を6分割した例を示している。   FIG. 18 is a diagram showing a digital circuit laid out based on initial unshared allocation and initial circuit information generated in the circuit information generating step. Regions R1 to R6 surrounded by broken lines are layout partial regions used when estimating the wiring congestion degree. The example illustrated in FIG. 18 illustrates an example in which a digital circuit is divided into six.

図19は、資源レベルレイアウト工程によって生成された資源レベルレイアウト情報を示す図である。各欄にそれぞれ記載された数値は、各資源の間の結線の長さを示す資源間結線距離情報を示している。例えば、記憶資源レジスタreg1と記憶資源レジスタreg2との間の資源間結線距離情報は「4」となっており、記憶資源レジスタreg2と記憶資源レジスタreg3との間の資源間結線距離情報は「1」となっている。   FIG. 19 is a diagram showing the resource level layout information generated by the resource level layout process. Numerical values described in the respective columns indicate resource connection distance information indicating the connection length between the resources. For example, the resource connection distance information between the storage resource registers reg1 and reg2 is “4”, and the resource connection distance information between the storage resource registers reg2 and reg3 is “1”. It has become.

図20は、資源レベルレイアウト工程によって生成された他の資源レベルレイアウト情報を示す図である。図20には、レイアウト部分領域R1、R2、R3、R4、R5およびR6における配線の混雑の度合いを示す配線混雑度情報が示されている。配線混雑度情報は、各レイアウト部分領域R1、R2、R3、R4、R5およびR6内に存在する配線の本数によって表されている。図20に示す例では、レイアウト部分領域R1においては配線混雑度情報が「7」になっており、レイアウト部分領域R2においては配線混雑度情報が「7」になっており、レイアウト部分領域R3においては配線混雑度情報が「6」になっている。レイアウト部分領域R4においては配線混雑度情報が「1」になっており、レイアウト部分領域R5においては配線混雑度情報が「3」になっており、レイアウト部分領域R6においては配線混雑度情報が「2」になっている。   FIG. 20 is a diagram showing other resource level layout information generated by the resource level layout process. FIG. 20 shows wiring congestion degree information indicating the degree of wiring congestion in the layout partial regions R1, R2, R3, R4, R5, and R6. The wiring congestion degree information is represented by the number of wirings present in each of the layout partial regions R1, R2, R3, R4, R5, and R6. In the example shown in FIG. 20, the wiring congestion degree information is "7" in the layout partial region R1, the wiring congestion degree information is "7" in the layout partial region R2, and the wiring congestion degree information is "7" in the layout partial region R3. Indicates that the wiring congestion degree information is “6”. The wiring congestion degree information is “1” in the layout partial region R4, the wiring congestion degree information is “3” in the layout partial region R5, and the wiring congestion degree information is “3” in the layout partial region R6. 2 ".

そして、資源レベルレイアウト工程によって生成された資源レベルレイアウト情報が、制約ファイルに記述されたデジタル回路の制約条件を示す所定の基準を満たしているか否かを判断する(ステップS1505)。資源レベルレイアウト情報が所定の基準を満たしていると判断したときは(ステップS1505においてYES)、出力工程において回路情報を出力して(ステップS208)、処理を終了する。   Then, it is determined whether or not the resource level layout information generated by the resource level layout process satisfies a predetermined criterion indicating a constraint condition of the digital circuit described in the constraint file (step S1505). If it is determined that the resource level layout information satisfies the predetermined criterion (YES in step S1505), the circuit information is output in the output step (step S208), and the process ends.

資源レベルレイアウト情報が所定の基準を満たしていないと判断したときは(ステップS1505においてNO)、資源共有化アロケーションおよび回路情報生成工程において、初期非共有化アロケーションおよび回路情報生成工程によって生成された初期回路情報と資源レベルレイアウト工程によって生成された資源レベルレイアウト情報とに基づいて、CDFGの各ノードに対する資源の割り当てを変更した修正回路情報を生成する(ステップS1506)。   If it is determined that the resource level layout information does not satisfy the predetermined criterion (NO in step S1505), in the resource sharing allocation and circuit information generation step, the initial non-shared allocation and initial information generated by the circuit information generation step are generated. Based on the circuit information and the resource level layout information generated by the resource level layout process, corrected circuit information in which the allocation of resources to each node of the CDFG has been changed is generated (step S1506).

資源共有化アロケーションおよび回路情報生成工程(ステップS1506)では、初期非共有化アロケーションおよび回路情報生成工程(ステップS1503)によって生成された初期アロケーション情報と資源レベルレイアウト工程(ステップS1504)によって生成された資源レベルレイアウト情報とに基づいて資源を共有化することによって資源割り当てを変更した修正アロケーション情報と資源間の接続関係を変更した修正回路情報を生成する。資源を共有化することにより資源間結線距離が長くなったりレイアウト領域内混雑度が高くなったりするため、ここでは、設計制約を満たす範囲において共有化することができる資源を抽出し、抽出した資源を共有化するように資源割り当てを変更する。   In the resource sharing allocation and circuit information generation step (step S1506), the initial allocation information generated in the initial non-shared allocation and circuit information generation step (step S1503) and the resource generated in the resource level layout step (step S1504) Based on the level layout information, resources are shared to generate corrected allocation information in which resource allocation is changed and corrected circuit information in which connection relation between resources is changed. Since sharing resources increases the connection distance between resources and increases the degree of congestion in the layout area, here we extract resources that can be shared within a range that satisfies design constraints, and extract the extracted resources. Change resource allocation to share.

図18に示す例では、図17に示す初期アロケーション情報から、記憶資源reg1または記憶資源reg2はreg3と共有化することができる。また、図19に示す資源間結線距離情報から、共有化候補の記憶資源reg2と記憶資源reg3との間の結線距離1801の方が記憶資源reg1と記憶資源reg2との間の結線距離1802よりも短い。記憶資源reg2が記憶するデータが出力されるマルチプレクサ2−1MUX1と記憶資源reg3が記憶するデータが出力される加算器add4との間の結線距離1803と、記憶資源reg1が記憶するデータが出力される加算器add1とマルチプレクサ2−1MUX1との間の結線距離1804とは同じである。図20に示すレイアウト領域内混雑度情報から、記憶資源reg1が属するレイアウト部分領域R1の混雑度と記憶資源reg2および記憶資源reg3が属するレイアウト部分領域R2の混雑度も同じである。距離が遠い資源を共有すると、結線距離が長くなってしまうため、資源共有化アロケーション工程においては記憶資源reg2と記憶資源reg3とを共有化するようにする。   In the example shown in FIG. 18, the storage resource reg1 or the storage resource reg2 can be shared with reg3 based on the initial allocation information shown in FIG. Further, from the resource connection distance information shown in FIG. 19, the connection distance 1801 between the storage resources reg2 and reg3 as the sharing candidates is larger than the connection distance 1802 between the storage resources reg1 and reg2. short. A connection distance 1803 between the multiplexer 2-1MUX1 from which the data stored by the storage resource reg2 is output and the adder add4 from which the data stored by the storage resource reg3 is output, and the data stored by the storage resource reg1 are output. The connection distance 1804 between the adder add1 and the multiplexer 2-1MUX1 is the same. From the congestion degree information in the layout area shown in FIG. 20, the congestion degree of the layout partial area R1 to which the storage resource reg1 belongs and the congestion degree of the layout partial area R2 to which the storage resources reg2 and reg3 belong are the same. If a resource with a long distance is shared, the connection distance becomes long. Therefore, in the resource sharing allocation step, the storage resource reg2 and the storage resource reg3 are shared.

図21Aは資源共有化アロケーションおよび回路情報生成工程によってCDFGのノードへの資源の割り当てを変更された修正アロケーション情報を示す図であり、図21Bは資源共有化アロケーションおよび回路情報生成工程によって生成された修正回路情報を示す図であり、図22は資源共有化アロケーションおよび回路情報生成工程によって生成された各資源のライフタイム情報を示す図である。   FIG. 21A is a diagram showing the modified allocation information in which the allocation of resources to the nodes of the CDFG has been changed by the resource sharing allocation and circuit information generating step, and FIG. 21B is generated by the resource sharing allocation and circuit information generating step. FIG. 22 is a diagram showing modified circuit information, and FIG. 22 is a diagram showing lifetime sharing information of each resource generated by the resource sharing allocation and the circuit information generating step.

記憶資源reg2に割り当てられていたCDFGのノードm2と記憶資源reg3に割り当てられていたCDFGのノードm3とは、1個の記憶資源reg3に共通に割り当てられている。   The node m2 of the CDFG assigned to the storage resource reg2 and the node m3 of the CDFG assigned to the storage resource reg3 are commonly assigned to one storage resource reg3.

次に、資源レベルレイアウト微修正工程(ステップS1507)に進み、資源共有化アロケーションを実施した後のCDFGを解析して、レイアウトを微修正する。   Next, the process proceeds to a resource level layout fine correction step (step S1507), in which the CDFG after performing the resource sharing allocation is analyzed, and the layout is finely corrected.

図23は、資源レベルレイアウト微修正工程によってレイアウトを微修正されたデジタル回路を示す図である。この資源共有化アロケーション工程(ステップS1506)と資源レベルレイアウト微修正工程(ステップS1507)との一連の処理を、設計制約を満たす限り繰り返す。   FIG. 23 is a diagram showing a digital circuit whose layout has been finely corrected by the resource level layout fine correction process. A series of processing of the resource sharing allocation step (step S1506) and the resource level layout fine correction step (step S1507) is repeated as long as design constraints are satisfied.

以上のように実施の形態2によれば、まず、可能な限り資源を共有しないように高位合成されたCDFGをレイアウトする。そして、それを初期解として、資源間結線距離とレイアウト領域内配線混雑度とが悪化しても設計制約を満たす範囲に収まる程度に共有化することが可能な資源を抽出し、抽出した資源を共有化するように再アロケーションして、レイアウトを微修正する。設計制約を満たす範囲においてこれを繰り返すことにより、資源レベルのレイアウト結果に基づき、高位レベルで回路生成することができるので、レイアウト後に設計制約に違反しない範囲において最適な資源共有化を図ることができる。   As described above, according to the second embodiment, first, a high-level synthesized CDFG is laid out so that resources are not shared as much as possible. Then, as an initial solution, resources that can be shared to the extent that they fall within the range that satisfies the design constraints are extracted even if the inter-resource connection distance and the wiring congestion in the layout area deteriorate, and the extracted resources are extracted. Re-allocate to share and fine-tune the layout. By repeating this in a range satisfying the design constraint, a circuit can be generated at a higher level based on the layout result at the resource level. Therefore, optimal resource sharing can be achieved within a range that does not violate the design constraint after the layout. .

なお、前述した実施の形態2においては、説明を簡単にするために、2個の共有化可能な資源に着目して共有化する例を説明したが、本発明はこれに限定されない。3個以上の資源を同時に評価して、共有化することもできる。   In the above-described second embodiment, an example has been described in which two sharable resources are shared for simplicity, but the present invention is not limited to this. It is also possible to evaluate and share three or more resources at the same time.

次に、実施の形態2の変形例を説明する。図24は、実施の形態2に係る高位合成方法における同期方式クロック回路の合成容易性の推定方法を説明するための図である。実施の形態2の変形例が前述した実施の形態2と異なる点は、資源共有化アロケーション工程(ステップS1506)が、設計制約を満たすように資源を共有化する際に、全記憶資源の配置に基づいて同期方式クロック回路の合成容易性を推定する推定工程を含んでいる点である。   Next, a modification of the second embodiment will be described. FIG. 24 is a diagram for explaining a method of estimating the ease of synthesis of the synchronous clock circuit in the high-level synthesis method according to the second embodiment. The modification of the second embodiment differs from the above-described second embodiment in that the resource sharing allocation step (step S1506) allocates all storage resources when sharing resources so as to satisfy design constraints. This method includes an estimation step of estimating the ease of synthesis of the synchronous clock circuit based on the estimation.

高位合成工程の後に実行されるレイアウト合成工程においては、各記憶資源に供給されるクロック信号がすべて同時刻に記憶資源へ到達するようにクロック回路が合成される。合成される同期方式クロック回路の規模は、記憶資源が配置される位置の分布状況に依存している。このため、記憶資源を共有化する際には記憶資源が配置される全体の分布を考慮することが重要である。   In the layout synthesizing step performed after the high-level synthesizing step, the clock circuits are synthesized so that all the clock signals supplied to the respective storage resources reach the storage resources at the same time. The size of the synchronizing clock circuit to be synthesized depends on the distribution of the positions where the storage resources are arranged. For this reason, when sharing storage resources, it is important to consider the entire distribution of storage resources.

本明細書において「合成容易性」とは、回路を合成する容易性を意味し、合成される回路の規模が小さければ小さいほど回路の合成は容易になる。   In this specification, “easy synthesis” means the ease of synthesizing a circuit, and the smaller the scale of the circuit to be synthesized, the easier the circuit synthesis.

実施の形態2の変形例においては、記憶資源の配置に粗密があればあるほど、合成される回路の規模が増大することを利用して、同期資源の配置分布を可能な限り均一にする。   In the modification of the second embodiment, the distribution of synchronization resources is made as uniform as possible by utilizing the fact that the more dense and dense the arrangement of storage resources, the larger the scale of a circuit to be synthesized.

図24は、実施の形態2の変形例に係る高位合成方法における同期方式クロック回路の合成容易性の推定方法を説明するための図である。図24に示す例では、レイアウト領域は4行×4列の16個の領域に分割されている。図24において黒丸は、記憶資源を示している。記憶資源R1は、前述した実施の形態2の条件下において、記憶資源R2および記憶資源R3のいずれとも共有することができるものとする。   FIG. 24 is a diagram for explaining a method of estimating the ease of synthesis of the synchronous clock circuit in the high-level synthesis method according to the modification of the second embodiment. In the example shown in FIG. 24, the layout area is divided into 16 areas of 4 rows × 4 columns. In FIG. 24, black circles indicate storage resources. It is assumed that the storage resource R1 can be shared with both the storage resource R2 and the storage resource R3 under the conditions of the second embodiment.

各分割領域内にそれぞれ配置された記憶資源の数に基づいて、分割領域内の記憶資源の数の分散を計算する。初期状態においては分散値は0.33となり、記憶資源R1と記憶資源R2とを共有すると分散値は0.27となり、記憶資源R1と記憶資源R3とを共有すると分散値は0.53となる。この場合、分散値がより小さく、配置位置のばらつきがより少なくなるように、記憶資源R1と記憶資源R2とを共有する。   The variance of the number of storage resources in the divided area is calculated based on the number of storage resources allocated in each divided area. In the initial state, the variance is 0.33, the variance is 0.27 when the storage resources R1 and R2 are shared, and the variance is 0.53 when the storage resources R1 and R3 are shared. . In this case, the storage resource R1 and the storage resource R2 are shared so that the variance value is smaller and the variation in the arrangement position is smaller.

レイアウト領域が広いときは、段階的に分散を計算することによって、推定精度を高めることができる。図24に示す例では、まず、実線によって区切られた領域(第1階層)ごとに分散を計算する。次に、破線によって区切られた領域(第2階層)に関して第1階層ごとに分散を計算する。その後、前述した総計5個の分散値の和に基づいて合成容易性を推定する。この場合、初期状態においては分散値は1.83となり、記憶資源R1と記憶資源R2とを共有すると分散値は1.83となり、記憶資源R1と記憶資源R3とを共有すると分散値は3.16となる。   When the layout area is wide, the variance is calculated in a stepwise manner, so that the estimation accuracy can be improved. In the example shown in FIG. 24, first, the variance is calculated for each area (first hierarchy) delimited by a solid line. Next, the variance is calculated for each of the first layers with respect to the area (second layer) separated by the broken line. Thereafter, the ease of combination is estimated based on the sum of the five variance values described above. In this case, in the initial state, the variance value is 1.83, the variance value is 1.83 when the storage resource R1 and the storage resource R2 are shared, and the variance value is 3.83 when the storage resource R1 and the storage resource R3 are shared. It becomes 16.

以上のように実施の形態2の変形例によれば、記憶資源の配置分布を可能な限り均一にすることができる。このため、合成される同期方式クロック回路の規模が増大することを抑制することができる。その結果、クロック回路が消費する電力量を低減することができる。   As described above, according to the modification of the second embodiment, the distribution of storage resources can be made as uniform as possible. Therefore, it is possible to suppress an increase in the scale of the synchronous clock circuit to be synthesized. As a result, the amount of power consumed by the clock circuit can be reduced.

(実施の形態3)
図25は、実施の形態3に係る高位合成方法を示すフローチャートである。図1および図15を参照して前述した高位合成方法を示すフローチャートの構成要素と同一の構成要素には同一の参照符号を付している。従って、これらの構成要素の詳細な説明は省略する。
(Embodiment 3)
FIG. 25 is a flowchart illustrating a high-level synthesis method according to Embodiment 3. The same components as those in the flowchart showing the high-level synthesis method described above with reference to FIGS. 1 and 15 are denoted by the same reference numerals. Therefore, a detailed description of these components will be omitted.

CDFG生成工程(ステップS201)〜資源レベルレイアウト微修正工程(ステップS207)は、図1を参照して前述した実施の形態1における同工程と同一である。資源共有化アロケーションおよび回路情報生成工程(ステップS1506)および資源レベルレイアウト微修正工程(ステップS1507)は、図15を参照して前述した実施の形態2における同工程と同一である。   The CDFG generation step (step S201) to the resource level layout fine correction step (step S207) are the same as those in the first embodiment described above with reference to FIG. The resource sharing allocation and circuit information generation step (step S1506) and the resource level layout fine correction step (step S1507) are the same as those in the second embodiment described above with reference to FIG.

資源レベルレイアウト情報が所定の基準を満たしていると判断したときは(ステップS205においてYES)、アロケーション情報に基づいて共有することができる資源であって、かつ、未だ共有されていないハードウェア資源間の組み合わせが存在しないか否かを判断する(ステップS2301)。   If it is determined that the resource level layout information satisfies the predetermined criterion (YES in step S205), the hardware resources that can be shared based on the allocation information and are not yet shared It is determined whether or not there is a combination (step S2301).

アロケーション情報に基づいて共有することができる資源であって、かつ、未だ共有されていないハードウェア資源間の組み合わせが存在すると判断されたときは(ステップS2301においてNO)、その資源を共有化することによって、資源間結線距離が長くなり、またはレイアウト領域内混雑度が高くなっても設計制約を満たす範囲において共有化することができる資源の組み合わせを抽出し、資源を共有化することができるように資源割り当てを変更する。   If it is determined that there is a combination of hardware resources that can be shared based on the allocation information and has not been shared (NO in step S2301), the resource is shared. Therefore, it is possible to extract a combination of resources that can be shared within a range that satisfies the design constraint even if the connection distance between resources becomes longer or the congestion degree in the layout area becomes higher, so that the resources can be shared. Change resource allocation.

実施の形態3においては、図11に示すアロケーション情報から、共有することができる資源であって、かつ未だ共有されていないハードウェア資源間の組み合わせである、記憶資源reg2に割り当てられたノードm2と、資源分割化アロケーションおよび回路情報生成工程(ステップS206)によって資源分割され記憶資源reg3に割り当てられたノードm4とを共有の候補として選択する。また、資源レベルレイアウト情報に基づいて、記憶資源reg2と記憶資源reg3とが近距離にあるので、共有化しても資源間結線距離とレイアウト領域内混雑度とに関して設計制約に違反することがないと判断することができる。次に、前述した資源共有化アロケーションおよび回路情報生成工程(ステップS1506)へ進む。   In the third embodiment, based on the allocation information shown in FIG. 11, a node m2 assigned to a storage resource reg2, which is a combination of hardware resources that can be shared and is not yet shared, The node m4, which has been resource-divided in the resource division allocation and circuit information generation step (step S206) and assigned to the storage resource reg3, is selected as a candidate for sharing. Further, based on the resource level layout information, the storage resources reg2 and reg3 are at a short distance, so that sharing does not violate design constraints with respect to the connection distance between resources and the degree of congestion in the layout area. You can judge. Next, the process proceeds to the above-described resource sharing allocation and circuit information generation step (step S1506).

図26は、実施の形態3に係る高位合成方法における資源レベルレイアウト微修正工程によってレイアウトを微修正されたデジタル回路を示す図である。図26には、図12に示すデジタル回路に対して、資源共有化アロケーション工程(ステップS1506)において、ノードm2とノードm4とを記憶資源reg3に割り当てるように資源の割り当てを変更し、資源レベルレイアウト微修正工程(ステップS1507)によってレイアウトを微修正した結果が示されている。このような資源共有化アロケーションおよび回路情報生成工程の処理を設計制約を満たす限り繰り返す。   FIG. 26 is a diagram showing a digital circuit whose layout has been finely corrected in the resource level layout fine correction step in the high-level synthesis method according to the third embodiment. In FIG. 26, in the digital circuit shown in FIG. 12, in the resource sharing allocation step (step S1506), the resource allocation is changed so that the nodes m2 and m4 are allocated to the storage resource reg3, and the resource level layout is changed. The result of finely modifying the layout in the fine modification step (step S1507) is shown. Such processing of the resource sharing allocation and the circuit information generation step is repeated as long as the design constraints are satisfied.

以上のように実施の形態3によれば、まず、実施の形態1を実施した後に、別々の資源に再アロケーションされた資源に関して、初期解には存在しなかった組み合わせの資源を可能な限り共有することによって、資源レベルのレイアウト結果に基づいて高位レベルにおいて回路生成をすることができる。このため、レイアウトした後において設計制約に違反しない範囲において最適な資源の共有化を図ることができる。   As described above, according to the third embodiment, first, after the first embodiment is performed, the resources that are not allocated in the initial solution are shared as much as possible with respect to the resources reallocated to different resources. By doing so, it is possible to generate a circuit at a higher level based on the layout result at the resource level. For this reason, optimal sharing of resources can be achieved within the range not violating the design constraints after layout.

(実施の形態4)
図27は、実施の形態4に係る高位合成方法を示すフローチャートである。図1、図15および図25を参照して前述した高位合成方法を示すフローチャートの構成要素と同一の構成要素には同一の参照符号を付している。従って、これらの構成要素の詳細な説明は省略する。
(Embodiment 4)
FIG. 27 is a flowchart illustrating the high-level synthesis method according to Embodiment 4. The same components as those of the flowchart showing the high-level synthesis method described above with reference to FIGS. 1, 15 and 25 are denoted by the same reference numerals. Therefore, a detailed description of these components will be omitted.

CDFG生成工程(ステップS201)〜資源レベルレイアウト微修正工程(ステップS207)は、図1を参照して前述した実施の形態1における同工程と同一である。資源共有化アロケーションおよび回路情報生成工程(ステップS1506)および資源レベルレイアウト微修正工程(ステップS1507)は、図15を参照して前述した実施の形態2における同工程と同一である。アロケーション情報に基づいて共有することができる資源であって、かつ、未だ共有されていないハードウェア資源間の組み合わせが存在しないか否かを判断する工程(ステップS2301)は、図25を参照して前述した実施の形態3における同工程と同一である。   The CDFG generation step (step S201) to the resource level layout fine correction step (step S207) are the same as those in the first embodiment described above with reference to FIG. The resource sharing allocation and circuit information generation step (step S1506) and the resource level layout fine correction step (step S1507) are the same as those in the second embodiment described above with reference to FIG. The step of determining whether there is a combination of hardware resources that can be shared based on the allocation information and has not been shared (step S2301) will be described with reference to FIG. This is the same as the above-described step in the third embodiment.

初期レイアウト影響係数設定工程(ステップS2501)において、資源レベルレイアウト情報の影響度を表す初期レイアウト影響係数として、本来設定したい目標レイアウト影響係数よりも小さい値を設定する。例えば、判定工程(ステップS205)において資源間結線距離情報の値をそのまま使用する場合は、目標レイアウト影響係数が1.0となり、初期レイアウト影響係数は1.0よりも小さい値が設定される。資源レベルレイアウト情報は、1.0よりも小さい値を乗じた値に更新される。   In the initial layout influence coefficient setting step (step S2501), a value smaller than the originally intended target layout influence coefficient is set as the initial layout influence coefficient representing the degree of influence of the resource level layout information. For example, when the value of the inter-resource connection distance information is used as it is in the determination step (step S205), the target layout influence coefficient is set to 1.0, and the initial layout influence coefficient is set to a value smaller than 1.0. The resource level layout information is updated to a value multiplied by a value smaller than 1.0.

次に、初期レイアウト影響係数が考慮された資源レベルレイアウト情報に基づいて、判定工程(ステップS205)によって基準が満たされていると判断されるまで資源分割化アロケーションおよび回路情報生成工程(ステップS206)と資源レベルレイアウト微修正工程(ステップS207)とを繰り返す。判定工程(ステップS205)によって基準が満たされていると判断されたときの資源レベルレイアウト情報の結果は、初期レイアウト影響係数を満たした場合の結果であるため、未だ本来のレイアウト影響度を考慮した制約を満たしていないけれども、制約に大きく違反した重大なエラーを取り除くことができる。   Next, based on the resource level layout information in which the initial layout influence coefficient is considered, the resource dividing allocation and circuit information generating step (step S206) until it is determined in the determining step (step S205) that the criterion is satisfied. And the resource level layout fine correction step (step S207) are repeated. Since the result of the resource level layout information when the criterion is determined to be satisfied in the determination step (step S205) is a result when the initial layout influence coefficient is satisfied, the original layout influence degree is still considered. Significant errors that do not satisfy the constraint but greatly violate the constraint can be eliminated.

その後、前述した実施の形態3と同様に、判定工程(ステップS2301)において、アロケーション情報に基づいて、共有可能な資源であって、且つ未だ共有化されていないハードウェア資源間の組み合わせが存在するか否かを判断する。ハードウェア資源間の組み合わせが存在すると判断したときは、その資源を共有化することによって、資源間結線距離が長くなり、またはレイアウト領域内混雑度が高くなっても設計制約を満たす範囲において共有化することのできる資源の組み合わせを抽出する(ステップS2301においてNO)。   After that, as in the above-described third embodiment, in the determination step (step S2301), there is a combination of hardware resources that are sharable resources and have not been shared yet, based on the allocation information. It is determined whether or not. If it is determined that there is a combination between hardware resources, sharing the resources will increase the connection distance between resources or increase the degree of congestion in the layout area so that they can be shared within a range that satisfies the design constraints. A combination of available resources is extracted (NO in step S2301).

そして、資源共有化アロケーションおよび回路情報生成工程(ステップS1506)において、資源を共有化するように資源割り当てを変更する。次に、資源レベルレイアウト微修正工程(ステップS1507)においてレイアウトを微修正する。   Then, in the resource sharing allocation and circuit information generation step (step S1506), the resource allocation is changed so that the resources are shared. Next, the layout is finely corrected in the resource level layout fine correction step (step S1507).

共有可能な資源であって、且つ未だ共有化されていないハードウェア資源間の組み合わせが存在しないと判断したときは(ステップS2301においてYES)、レイアウト影響係数判定工程(ステップS2502)において、現在のレイアウト影響係数が、最終的に与えるべき目標レイアウト影響係数であるか否かを判断する。現在のレイアウト影響係数が、最終的に与えるべき目標レイアウト影響係数であると判断したときは(ステップS2502においてYES)、高位合成処理を終了する。   If it is determined that there is no combination between hardware resources that are sharable resources and have not yet been shared (YES in step S2301), the current layout is determined in the layout influence coefficient determination step (step S2502). It is determined whether or not the influence coefficient is a target layout influence coefficient to be finally given. If it is determined that the current layout influence coefficient is a target layout influence coefficient to be finally given (YES in step S2502), the high-level synthesis processing ends.

現在のレイアウト影響係数が、最終的に与えるべき目標レイアウト影響係数でないと判断したときは(ステップS2502においてNO)、レイアウト影響係数修正工程(ステップS2503)において、現在のレイアウト影響係数が目標レイアウト影響係数に近づくように現在のレイアウト影響係数を修正する。そして、ステップS205へ戻る。   If it is determined that the current layout influence coefficient is not the target layout influence coefficient to be finally given (NO in step S2502), the current layout influence coefficient is changed to the target layout influence coefficient in the layout influence coefficient correction step (step S2503). Modify the current layout influence factor to approach. Then, the process returns to step S205.

このように、ステップS205からステップS2503までの処理をレイアウト影響係数が目標レイアウト影響係数になるまで繰り返す。緩和されたレイアウト情報から順番に処理を進めることによって、1回の処理において制約に違反する資源割り当てを探索する空間を削減することができる。このため、高位合成処理を効率化することができる。また、レイアウト影響係数を変更しながら資源の割り当て処理を繰り返すため、初期解に対する依存の影響が前述した実施の形態3よりも小さい解空間の検索が可能になる。   In this way, the processing from step S205 to step S2503 is repeated until the layout influence coefficient becomes the target layout influence coefficient. By proceeding the processing in order from the relaxed layout information, it is possible to reduce the space for searching for resource allocation that violates the constraint in one processing. Therefore, the high-level synthesis processing can be made more efficient. Further, since the resource allocation process is repeated while changing the layout influence coefficient, it is possible to search for a solution space whose influence on the initial solution is smaller than in the third embodiment.

本発明は、ディジタル回路を構成するためのRTL回路記述を生成する高位合成方法に適用することができる。   The present invention can be applied to a high-level synthesis method for generating an RTL circuit description for configuring a digital circuit.

実施の形態1に係る高位合成方法を示すフローチャートFlowchart showing high-level synthesis method according to Embodiment 1 デジタル回路の機能的な動作を記述した入力ファイルの一例を示す図Diagram showing an example of an input file describing the functional operation of a digital circuit 実施の形態1に係る高位合成方法におけるCDFG生成工程によって生成されるCDFGを示す図FIG. 4 is a view showing CDFG generated in a CDFG generation step in the high-level synthesis method according to the first embodiment. 実施の形態1に係る高位合成方法におけるスケジューリング工程によってスケジューリングされたCDFGを示す図FIG. 4 is a diagram showing CDFGs scheduled by a scheduling step in the high-level synthesis method according to the first embodiment; 実施の形態1に係る高位合成方法における初期共有化アロケーションおよび回路情報生成工程によってCDFGの各ノードに資源が割り当てられた初期共有化アロケーション情報を示す図The figure which shows the initial shared allocation information in which the resource was allocated to each node of CDFG by the initial shared allocation and circuit information generation process in the high level synthesis method concerning Embodiment 1. 初期共有化アロケーションおよび回路情報生成工程によって生成された回路情報を示す図The figure which shows the circuit information produced | generated by the initial sharing allocation and the circuit information production | generation process 実施の形態1に係る高位合成方法における初期共有化アロケーションおよび回路情報生成工程によって生成された各資源のライフタイム情報を示す図FIG. 10 is a diagram showing lifetime information of each resource generated by the initial shared allocation and the circuit information generating step in the high-level synthesis method according to the first embodiment. 実施の形態1に係る高位合成方法における初期共有化アロケーション工程によって生成された初期高位合成情報に基づいてレイアウトされたデジタル回路を示す図FIG. 3 is a diagram showing a digital circuit laid out based on initial high-level synthesis information generated by an initial sharing allocation step in the high-level synthesis method according to the first embodiment; 実施の形態1に係る高位合成方法における資源レベルレイアウト工程によって生成された資源レベルレイアウト情報を示す図FIG. 10 is a diagram showing resource level layout information generated by a resource level layout step in the high-level synthesis method according to the first embodiment. 実施の形態1に係る高位合成方法における資源レベルレイアウト工程によって生成された他の資源レベルレイアウト情報を示す図FIG. 10 is a diagram showing other resource level layout information generated by the resource level layout step in the high-level synthesis method according to the first embodiment. 実施の形態1に係る高位合成方法における資源分割化アロケーションおよび回路情報生成工程によってCDFGのノードに対する資源割り当てを変更された修正アロケーション情報を示す図FIG. 14 is a diagram showing modified allocation information in which resource allocation to CDFG nodes has been changed in the resource division allocation and circuit information generation step in the high-level synthesis method according to the first embodiment. 資源分割化アロケーションおよび回路情報生成工程によって生成された修正回路情報を示す図The figure which shows the resource division allocation and the correction circuit information produced | generated by the circuit information production | generation process 実施の形態1に係る高位合成方法における資源分割化アロケーションおよび回路情報生成工程によって生成された各資源の修正ライフタイム情報を示す図FIG. 9 is a diagram showing modified lifetime information of each resource generated in the resource division allocation and circuit information generation step in the high-level synthesis method according to the first embodiment. 実施の形態1に係る高位合成方法における資源レベルレイアウト微修正工程によってレイアウトを微修正されたデジタル回路を示す図FIG. 4 is a diagram showing a digital circuit whose layout has been fine-corrected by a resource-level layout fine-correction step in the high-level synthesis method according to the first embodiment; 実施の形態1に係る高位合成方法における資源分割化アロケーションおよび回路情報生成工程によって生成された他の修正アロケーション情報を示す図FIG. 10 is a diagram showing resource division allocation and other modified allocation information generated in the circuit information generation step in the high-level synthesis method according to the first embodiment. 資源分割化アロケーションおよび回路情報生成工程によって生成された他の修正回路情報を示す図The figure which shows the resource division allocation and the other correction circuit information produced | generated by the circuit information production | generation process. 実施の形態1に係る高位合成方法における資源レベルレイアウト微修正工程によってレイアウトを微修正された他のデジタル回路を示す図FIG. 11 is a diagram showing another digital circuit whose layout has been finely corrected by the resource level layout fine correction step in the high-level synthesis method according to the first embodiment; 実施の形態2に係る高位合成方法を示すフローチャート11 is a flowchart illustrating a high-level synthesis method according to the second embodiment. 実施の形態2に係る高位合成方法における初期非共有化アロケーションおよび回路情報生成工程によってCDFGの各ノードに資源が割り当てられた初期非共有化アロケーション情報を示す図The figure which shows the initial non-shared allocation information in which the resource was allocated to each node of CDFG by the initial non-shared allocation and the circuit information generation process in the high-level synthesis method concerning Embodiment 2. 初期非共有化アロケーションおよび回路情報生成工程によって生成された初期回路情報を示す図The figure which shows the initial unshared allocation and the initial circuit information produced | generated by the circuit information production | generation process. 実施の形態2に係る高位合成方法における初期非共有化アロケーションおよび回路情報生成工程によって生成された各資源のライフタイム情報を示す図The figure which shows the lifetime information of each resource produced | generated by the initial non-shared allocation and the circuit information production | generation process in the high-level synthesis method concerning Embodiment 2. 実施の形態2に係る高位合成方法における初期非共有化アロケーション工程によって生成された初期高位合成情報に基づいてレイアウトされたデジタル回路を示す図FIG. 14 is a diagram showing a digital circuit laid out based on initial high-level synthesis information generated by an initial non-shared allocation step in the high-level synthesis method according to the second embodiment; 実施の形態2に係る高位合成方法における資源レベルレイアウト工程によって生成された資源レベルレイアウト情報を示す図FIG. 14 is a diagram showing resource level layout information generated by a resource level layout step in the high-level synthesis method according to the second embodiment. 実施の形態2に係る高位合成方法における資源レベルレイアウト工程によって生成された他の資源レベルレイアウト情報を示す図FIG. 17 is a diagram showing other resource level layout information generated by the resource level layout step in the high-level synthesis method according to the second embodiment. 実施の形態2に係る高位合成方法における資源共有化アロケーションおよび回路情報生成工程によって資源の割り当てを変更された修正アロケーション情報を示す図FIG. 17 is a diagram showing modified allocation information in which resource allocation has been changed in the resource sharing allocation and circuit information generation step in the high-level synthesis method according to the second embodiment. 資源共有化アロケーションおよび回路情報生成工程によって生成された修正回路情報を示す図The figure which shows the resource sharing allocation and the correction circuit information produced | generated by the circuit information production | generation process 実施の形態2に係る高位合成方法における資源共有化アロケーションおよび回路情報生成工程によって生成された各資源の修正ライフタイム情報を示す図The figure which shows the resource sharing allocation in the high level synthesis method concerning Embodiment 2, and the correction lifetime information of each resource produced | generated by the circuit information production | generation process. 実施の形態2に係る高位合成方法における資源レベルレイアウト微修正工程によってレイアウトを微修正されたデジタル回路を示す図The figure which shows the digital circuit by which the layout was fine-corrected by the resource level layout fine-correction process in the high-level synthesis method concerning Embodiment 2. 実施の形態2に係る高位合成方法における同期方式クロック回路の合成容易性の推定方法を説明するための図FIG. 8 is a diagram for explaining a method of estimating the ease of synthesis of the synchronous clock circuit in the high-level synthesis method according to the second embodiment; 実施の形態3に係る高位合成方法を示すフローチャートFlowchart showing high-level synthesis method according to Embodiment 3. 実施の形態3に係る高位合成方法における資源レベルレイアウト微修正工程によってレイアウトを微修正されたデジタル回路を示す図The figure which shows the digital circuit by which the layout was fine-corrected by the resource level layout fine-correction process in the high-level synthesis method concerning Embodiment 3. 実施の形態4に係る高位合成方法を示すフローチャート11 is a flowchart illustrating a high-level synthesis method according to the fourth embodiment. 従来の高位合成方法を示すフローチャートFlowchart showing conventional high-level synthesis method

符号の説明Explanation of reference numerals

S201 CDFG生成工程
S202 スケジューリング工程
S203 初期共有化アロケーション工程
S204 資源レベルレイアウト工程
S206 資源分割化アロケーション工程
S207 資源レベルレイアウト微修正工程
S1501 CDFG生成工程
S1502 スケジューリング工程
S1506 資源共有化アロケーション工程
S1507 資源レベルレイアウト微修正工程
S2501 初期レイアウト影響係数設定工程
S201 CDFG generation step S202 Scheduling step S203 Initial sharing allocation step S204 Resource level layout step S206 Resource division allocation step S207 Resource level layout fine correction step S1501 CDFG generation step S1502 Scheduling step S1506 Resource sharing allocation step S1507 Resource level layout fine correction Step S2501 Initial layout influence coefficient setting step

Claims (15)

デジタル回路の機能的な動作を記述した入力ファイルに基づいてCDFG(Control Data Flow Graph)を生成するCDFG生成工程と、
前記CDFG生成工程によって生成された前記CDFGと制約ファイルに記述された前記デジタル回路の制約条件とに基づいて、処理内容を表現する前記CDFGの各ノードをステップと呼ばれるクロックに同期した時間に割り当ててスケジューリングするスケジューリング工程と、
前記スケジューリング工程によってスケジューリングされた前記CDFGの各ノードに対して、前記デジタル回路を構成するための資源のレイアウトを示す資源レベルレイアウト情報に基づいて前記資源を割り当てたアロケーション情報と資源間の接続関係を表す回路情報を生成するアロケーションおよび回路情報生成工程と、
前記アロケーションおよび回路情報生成工程によって生成された前記回路情報を出力する出力工程とを包含することを特徴とする高位合成方法。
A CDFG (Control Data Flow Graph) generating step of generating a CDFG (Control Data Flow Graph) based on an input file describing the functional operation of the digital circuit;
Based on the CDFG generated in the CDFG generation step and the constraint conditions of the digital circuit described in the constraint file, each node of the CDFG representing the processing content is allocated to a time synchronized with a clock called a step. A scheduling step of scheduling;
For each node of the CDFG scheduled by the scheduling step, the allocation relationship between the resource and the resource is allocated based on resource level layout information indicating the layout of the resource for configuring the digital circuit. An allocation and circuit information generating step of generating circuit information to be represented;
An output step of outputting the circuit information generated by the allocation and circuit information generation step.
前記アロケーションおよび回路情報生成工程は、前記スケジューリング工程によってスケジューリングされた前記CDFGの各ノードに対して前記資源を割り当てた初期アロケーション情報と資源間の接続関係を表す初期回路情報を生成する初期アロケーションおよび初期回路情報生成工程と、
前記初期アロケーションおよび初期回路情報生成工程によって生成された前記初期回路情報に基づいて前記資源レベルレイアウト情報を生成する資源レベルレイアウト工程と、
前記初期アロケーションおよび初期回路情報生成工程によって生成された前記初期アロケーション情報、または後述すると前記資源レベルレイアウト情報とに基づいて、前記CDFGの各ノードに対する前記資源の割り当てを変更した修正アロケーション情報と資源間の接続関係を変更した修正回路情報を生成する再アロケーションおよび回路情報生成工程と、
前記再アロケーションおよび回路情報生成工程によって生成された前記修正回路情報に基づいて前記資源レベルレイアウト情報を微修正する資源レベルレイアウト微修正工程とを含んでおり、
所定の基準を満足するまで前記再アロケーションおよび回路情報生成工程と前記資源レベルレイアウト微修正工程とを繰り返して実行し、
前記再アロケーションおよび回路情報生成工程は、前記資源レベルレイアウト情報と前回に生成した修正アロケーション情報とに基づいて、前記CDFGの各ノードに対する前記資源の割り当てを変更した修正アロケーション情報と資源間の接続関係を変更した修正回路情報を生成する、請求項1記載の高位合成方法。
The allocation and circuit information generating step includes an initial allocation and an initial circuit for generating initial allocation information that allocates the resources to each node of the CDFG scheduled by the scheduling step and initial circuit information indicating a connection relationship between the resources. A circuit information generating step;
A resource level layout step of generating the resource level layout information based on the initial circuit information generated by the initial allocation and initial circuit information generation step;
Based on the initial allocation information generated in the initial allocation and initial circuit information generating step, or, as will be described later, the resource level layout information, the modified allocation information in which the allocation of the resources to each node of the CDFG has been changed and the resources Re-allocation and circuit information generating step of generating corrected circuit information having changed the connection relation of
A resource level layout fine correction step of finely correcting the resource level layout information based on the corrected circuit information generated by the reallocation and circuit information generation step,
Repeatedly performing the reallocation and circuit information generation step and the resource level layout fine correction step until a predetermined standard is satisfied,
The re-allocation and circuit information generating step includes a step of connecting the resource and the modified allocation information in which the allocation of the resource to each node of the CDFG is changed based on the resource level layout information and the previously generated corrected allocation information. 2. The high-level synthesis method according to claim 1, wherein corrected circuit information in which is changed.
前記アロケーション情報は、ハードウエア資源割り当て情報とハードウエア資源のライフタイム情報とである、請求項2記載の高位合成方法。   3. The high-level synthesis method according to claim 2, wherein the allocation information is hardware resource allocation information and hardware resource lifetime information. 前記資源レベルレイアウト情報は、資源間結線距離情報である、請求項1記載の高位合成方法。   2. The high-level synthesis method according to claim 1, wherein the resource level layout information is connection distance information between resources. 前記資源レベルレイアウト情報は、資源間結線のレイアウト領域内混雑度情報である、請求項1記載の高位合成方法。   2. The high-level synthesis method according to claim 1, wherein the resource level layout information is congestion degree information in a layout area of a resource connection. 前記資源レベルレイアウト情報は、資源間結線距離情報と資源間結線のレイアウト領域内混雑度情報とからなる任意の関数で表現された、マクロ間結線情報である、請求項1記載の高位合成方法。   2. The high-level synthesis method according to claim 1, wherein the resource level layout information is macro inter-connection information expressed as an arbitrary function including inter-resource connection distance information and inter-resource connection area congestion degree information within a layout area. 3. 前記資源レベルレイアウト情報は、レイアウト影響度を係数として含んでいる、請求項1記載の高位合成方法。   2. The high-level synthesis method according to claim 1, wherein the resource level layout information includes a layout influence degree as a coefficient. 前記初期アロケーション工程は、可能な限りハードウエア資源を共有化しないように、前記CDFGの各ノードに対して前記資源を割り当て、
前記再アロケーション工程は、別々に実現されたハードウエア資源を共有化するように、前記CDFGの各ノードに対する前記資源の割り当てを変更する、請求項2記載の高位合成方法。
The initial allocation step allocates the resources to each node of the CDFG so that hardware resources are not shared as much as possible;
3. The high-level synthesis method according to claim 2, wherein the reallocation step changes the allocation of the resources to each node of the CDFG so as to share separately realized hardware resources.
前記初期アロケーション工程は、可能な限りハードウエア資源を共有化するように、前記CDFGの各ノードに対して前記資源を割り当て、
前記再アロケーション工程は、共有化されたハードウエア資源を別々にアロケーションする、請求項2記載の高位合成方法。
The initial allocation step allocates the resources to each node of the CDFG to share hardware resources as much as possible;
3. The high-level synthesis method according to claim 2, wherein the reallocation step separately allocates shared hardware resources.
前記再アロケーション工程は、記憶資源のレイアウト領域内配置分布ばらつきを計算し、前記レイアウト領域内配置分布ばらつきに基づいて、同期クロック回路の合成容易性を推定し、記憶資源共有化時には、合成容易性が高い共有化を選択する、請求項2記載の高位合成方法。   The re-allocation step calculates the distribution distribution of the storage resources in the layout area, estimates the ease of synthesis of the synchronous clock circuit based on the distribution distribution in the layout area, and 3. The high-level synthesis method according to claim 2, wherein the method selects high sharing. 前記記憶資源のレイアウト領域内配置分布ばらつきは、レイアウト領域を複数の領域に分割した各領域内に属する記憶資源の数のばらつきである、請求項10記載の高位合成方法。   11. The high-level synthesis method according to claim 10, wherein the storage resource distribution variation in the layout area is a variation in the number of storage resources belonging to each area obtained by dividing the layout area into a plurality of areas. 前記記憶資源のレイアウト領域内配置分布ばらつきは、レイアウト領域内を階層的に分割した各階層ごとに計算したばらつきの合計である、請求項10記載の高位合成方法。   The high-level synthesis method according to claim 10, wherein the distribution variation of the storage resources in the layout area is a sum of the variations calculated for each hierarchy obtained by dividing the layout area hierarchically. 前記初期アロケーション工程は、可能な限りハードウエア資源を共有化するように、前記CDFGの各ノードに対して前記資源を割り当て、
前記再アロケーション工程は、共有化されたハードウエア資源を別々にアロケーションし、
前記アロケーション工程は、前記再アロケーション工程において分割されたハードウェア資源を、前記初期アロケーション工程において共有されなかったハードウェア資源と共有するアロケーション変更工程をさらに含んでいる、請求項2記載の高位合成方法。
The initial allocation step allocates the resources to each node of the CDFG to share hardware resources as much as possible;
The reallocation step separately allocates the shared hardware resources,
3. The high-level synthesis method according to claim 2, wherein the allocation step further includes an allocation changing step of sharing the hardware resources divided in the reallocation step with hardware resources not shared in the initial allocation step. .
前記資源レベルレイアウト情報は、レイアウト影響度をレイアウト影響係数として含んでおり、
前記レイアウト影響係数を段階的に修正しながら前記再アロケーション工程と前記アロケーション変更工程とを繰り返して実行する、請求項13記載の高位合成方法。
The resource level layout information includes a layout influence degree as a layout influence coefficient,
14. The high-level synthesis method according to claim 13, wherein the reallocation step and the allocation change step are repeatedly performed while correcting the layout influence coefficient stepwise.
前記出力工程は、前記資源レベルレイアウト微修正工程によって微修正された前記資源レベルレイアウト情報をさらに出力する、請求項2記載の高位合成方法。   3. The high-level synthesis method according to claim 2, wherein the output step further outputs the resource level layout information finely modified by the resource level layout fine modification step.
JP2003361100A 2002-10-22 2003-10-21 High level synthesis method Pending JP2004164627A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003361100A JP2004164627A (en) 2002-10-22 2003-10-21 High level synthesis method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002307570 2002-10-22
JP2003361100A JP2004164627A (en) 2002-10-22 2003-10-21 High level synthesis method

Publications (1)

Publication Number Publication Date
JP2004164627A true JP2004164627A (en) 2004-06-10

Family

ID=32828060

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003361100A Pending JP2004164627A (en) 2002-10-22 2003-10-21 High level synthesis method

Country Status (1)

Country Link
JP (1) JP2004164627A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7373623B2 (en) * 2004-07-09 2008-05-13 Onespin Solutions Gmbh Method and apparatus for locating circuit deviations
JP2010534374A (en) * 2007-07-23 2010-11-04 シノプシス インコーポレイテッド Architectural physical synthesis
US8677296B2 (en) 2012-03-26 2014-03-18 Fujitsu Limited Circuit design support computer product, method, and apparatus
US10268797B2 (en) 2007-07-23 2019-04-23 Synopsys, Inc. Architectural physical synthesis

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7373623B2 (en) * 2004-07-09 2008-05-13 Onespin Solutions Gmbh Method and apparatus for locating circuit deviations
JP2010534374A (en) * 2007-07-23 2010-11-04 シノプシス インコーポレイテッド Architectural physical synthesis
US8819608B2 (en) 2007-07-23 2014-08-26 Synopsys, Inc. Architectural physical synthesis
US8966415B2 (en) 2007-07-23 2015-02-24 Synopsys, Inc. Architectural physical synthesis
US10268797B2 (en) 2007-07-23 2019-04-23 Synopsys, Inc. Architectural physical synthesis
US8677296B2 (en) 2012-03-26 2014-03-18 Fujitsu Limited Circuit design support computer product, method, and apparatus

Similar Documents

Publication Publication Date Title
Ogras et al. Voltage-frequency island partitioning for GALS-based networks-on-chip
US7237220B2 (en) High level synthesis method for semiconductor integrated circuit
JP4719265B2 (en) System and method for probabilistic interconnect structure design
US6925628B2 (en) High-level synthesis method
CN112912842A (en) System and method for location-aware processing
US8671371B1 (en) Systems and methods for configuration of control logic in parallel pipelined hardware
JP2002123563A (en) Compiling method, composing device, and recording medium
US8701069B1 (en) Systems and methods for optimizing allocation of hardware resources to control logic in parallel pipelined hardware
JP2006178958A (en) Logical program, method and system for layout-driven, area-constrained design optimization
US20140143744A1 (en) Systems and methods for reducing logic switching noise in parallel pipelined hardware
Zhou et al. Accelerating FPGA routing through algorithmic enhancements and connection-aware parallelization
JP2004164627A (en) High level synthesis method
Saleem et al. A Survey on Dynamic Application Mapping Approaches for Real-Time Network-on-Chip-Based Platforms
Moon et al. Design and allocation of loosely coupled multi-bit flip-flops for power reduction in post-placement optimization
Marculescu et al. System-level process-driven variability analysis for single and multiple voltage-frequency island systems
JP2009211614A (en) Behavioral synthesis device, behavioral synthesis method, and program
US6532584B1 (en) Circuit synthesis method
JP3811133B2 (en) Semiconductor integrated circuit design method and design support apparatus
Kim et al. Adjustable delay buffer allocation under useful clock skew scheduling
Aletà et al. Heterogeneous clustered VLIW microarchitectures
Tarafdar et al. A data-centric approach to high-level synthesis
US7146582B2 (en) Logic circuit optimizing method, logic circuit optimizing device and logic circuit composing device
Liu et al. A graph theoretic optimal algorithm for schedule compression in time-multiplexed FPGA partitioning
Marculescu et al. Process-driven variability analysis of single and multiple voltage–frequency island latency-constrained systems
JP3942061B2 (en) High level synthesis method, high level synthesis apparatus and storage medium

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070201

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070529