JPH04250570A - Data control system by high-level composition - Google Patents

Data control system by high-level composition

Info

Publication number
JPH04250570A
JPH04250570A JP3008056A JP805691A JPH04250570A JP H04250570 A JPH04250570 A JP H04250570A JP 3008056 A JP3008056 A JP 3008056A JP 805691 A JP805691 A JP 805691A JP H04250570 A JPH04250570 A JP H04250570A
Authority
JP
Japan
Prior art keywords
path
delay time
control
scheduling
allocation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP3008056A
Other languages
Japanese (ja)
Inventor
Taeko Tsunoda
角田 多苗子
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP3008056A priority Critical patent/JPH04250570A/en
Publication of JPH04250570A publication Critical patent/JPH04250570A/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

PURPOSE:To perform the high-level composition of logic design in consideration of layout information and enable efficient design by evaluating the result of high-level scheduling, allocation, and floor planning according to a control/data flow graph. CONSTITUTION:Path information 1-1 is added to the path of the control/data flow graph 1 and the scheduling, allocation, and floor planning are performed according to them; and the delay time of their result is evaluated and path delay information accompanying the floor planning is fed back path delay information 1-1 repeatedly to perform the composition of operation description level wherein the violation of path delay depending upon the layout is eliminated.

Description

【発明の詳細な説明】[Detailed description of the invention]

【0001】0001

【産業上の利用分野】本発明は、高位レベル合成におけ
るデータ管理方式であって、抽象度の高いレベルでレイ
アウトに伴うパス遅延を管理してパス遅延違反を無くし
て合成を可能にする高位レベル合成におけるデータ管理
方式に関するものである。ASIC時代に入り、論理設
計支援の必要性がますます増加している。組み合わせ回
路の自動論理合成技術が、実用化のレベルに達してきた
ことにより、より高い、アリゴリズムレベルからの設計
支援、自動合成に対する要求が高まっている。
[Industrial Application Field] The present invention is a data management method in high-level synthesis, which manages path delays associated with layout at a high level of abstraction, eliminates path delay violations, and enables synthesis. It concerns data management methods in synthesis. As we enter the ASIC era, the need for logic design support is increasing. As automatic logic synthesis technology for combinational circuits has reached the level of practical use, there is an increasing demand for design support and automatic synthesis from a higher algorithm level.

【0002】0002

【従来の技術】従来の高位レベル合成の流れを図4の(
a)に示す。ここで、システムへの入力となる、動作記
述は、VHDLなどの図4の(b)の左側に示すような
ハードウェア記述言語で与える。トランスレータは、こ
の図4の(b)の左側に示すような動作記述言語を、言
語の構文に依存しない図4の(b)の右側に模式的に示
すような内部表現に変換する。この内部表現は、通常、
データの依存関係やオペレーション間の順序関係を表現
した、コントロール/データフローグラフが用いられる
。例えば図4の(b)の左側に示すアルゴリズムは右側
に示すようなグラフで表現できる。
[Prior Art] The flow of conventional high-level synthesis is shown in Figure 4 (
Shown in a). Here, the behavioral description that is input to the system is given in a hardware description language such as VHDL as shown on the left side of FIG. 4(b). The translator converts the behavioral description language as shown on the left side of FIG. 4(b) into an internal representation schematically shown on the right side of FIG. 4(b) that does not depend on the syntax of the language. This internal representation is typically
A control/data flow graph is used that expresses data dependencies and order relationships between operations. For example, the algorithm shown on the left side of FIG. 4(b) can be expressed by the graph shown on the right side.

【0003】高位レベル合成は、動作記述中に現れる変
数や演算子に、レジスタ、演算モジュールなどのファシ
リティをどのように割り当てるか、というデータパスア
ロケーション問題と、各オペレーションの実行順序をど
のようにするかというスケジューリングの問題から構成
されている。これら作業は相互に依存しあっているため
、双方を同時に考慮する、あるいは双方を繰り返し実行
しながら、データパスおよびデータコントロールを決定
していく。スケジューリングとアロケーションが終わっ
た段階で、データパス、およびそれに対する制御回路の
仕様が生成され、これ以降は更にレイアウトツールによ
って最終的な回路が生成されることとなる。
High-level synthesis deals with data path allocation problems, such as how to allocate facilities such as registers and calculation modules to variables and operators that appear in behavioral descriptions, and how to determine the execution order of each operation. It consists of several scheduling issues. Since these tasks are interdependent, data paths and data control are determined by considering both simultaneously or by repeatedly performing both. Once scheduling and allocation are completed, specifications for the data path and its corresponding control circuit are generated, and the final circuit is then generated using a layout tool.

【0004】0004

【発明が解決しようとする課題】従来のスケジューリン
グ/アロケーションは、できるだけ回路規模を小さく、
動作に必要なステップ数を少なくするように、ファシリ
ティの割り当てを行う。この際、ライブラリに格納され
ている各ファシリティの情報を使って回路規模や遅延時
間を評価することは行っていた。しかし、配置などのレ
イアウトを反映したパスの遅延時間の考慮を行っていな
かった。このため、実際のレイアウトを行った段階で、
回路の遅延が大きくなり1つのステージに許される遅延
時間を越えてしまう事態が発生し、どこかを修正しなけ
ればならなくなる。この修正のためのフィードバックは
できるだけ短かく、少ない方がよいが、長いフィードバ
ックループを戻って設計段階のスケジューリングなどを
修正していたため、効率的に設計し難いという問題があ
った。
[Problems to be Solved by the Invention] Conventional scheduling/allocation reduces the circuit scale as much as possible.
Allocate facilities in a way that reduces the number of steps required for operation. At this time, the circuit scale and delay time were evaluated using information about each facility stored in the library. However, the path delay time that reflects the layout such as placement was not taken into consideration. Therefore, when the actual layout is done,
A situation occurs where the delay in the circuit becomes large and exceeds the delay time allowed for one stage, and something has to be corrected. Feedback for this correction should be as short as possible, and it is better to have as little feedback as possible, but since the scheduling and other aspects of the design stage were corrected by going back through a long feedback loop, there was a problem in that it was difficult to design efficiently.

【0005】本発明は、コントロール/データフローグ
ラフをもとに高位レベルのスケジューリング、アロケー
ション、フロアプランした結果を評価し、レイアウトに
よるパス遅延時間をコントロール/データフローグラフ
のパスにフィードバックして高いレベルでレイアウト情
報を考慮に入れた合成を行い、効率的な設計を可能にす
ることを目的としている。
[0005] The present invention evaluates the results of high-level scheduling, allocation, and floor planning based on the control/data flow graph, and feeds back the path delay time due to the layout to the paths of the control/data flow graph. The aim is to perform synthesis that takes layout information into consideration and to enable efficient design.

【0006】[0006]

【課題を解決するための手段】図1は、本発明の原理説
明図を示す。図1において、コントロール/データフロ
ーグラフ1は、動作記述を言語の構文などに依存しない
内部表現で表わしたものである。スケジューリング部2
は、オペレーションの実行順序を決定(スケジューリン
グ)するものである。
[Means for Solving the Problems] FIG. 1 shows a diagram illustrating the principle of the present invention. In FIG. 1, a control/data flow graph 1 represents a behavioral description using an internal representation that does not depend on the syntax of a language. Scheduling part 2
is for determining (scheduling) the execution order of operations.

【0007】アロケーション部3は、コンロトール/デ
ータフローグラフ1によって表わされた変数や演算子に
レジスタなどのファシリティの割り当てを行うものであ
る。フロアプラン部4は、割り当てられたファシリティ
を配置するものである。レイアウト情報付加は、コント
ロール/データフローグラフ1にレイアウトに伴うパス
遅延情報1−1を付加するものである。
The allocation unit 3 allocates facilities such as registers to variables and operators represented by the control/data flow graph 1. The floor plan unit 4 is for arranging assigned facilities. Layout information addition is to add path delay information 1-1 associated with the layout to the control/data flow graph 1.

【0008】データ管理部5は、スケジューリング部2
、アロケーション部3およびフロアプラン部4によって
スケジューリング、アロケーション、フロアプランされ
た結果について、遅延時間などを評価するものである。
[0008] The data management section 5 has the scheduling section 2.
, the delay time, etc. of the results of scheduling, allocation, and floorplanning performed by the allocation unit 3 and floorplanning unit 4 are evaluated.

【0009】[0009]

【作用】本発明は、図1に示すように、論理設計の動作
記述について言語の構文に依存しない表現であるコント
ロール/データフローグラフ1のパスにパス遅延情報1
−1を付加し、このコントロール/データフローグラフ
1およびパス遅延情報1−1をもとにスケジューリング
部2、アロケーション部3、フロアプラン部4がスケジ
ューリング、ファシリティの割り当て、フロアプランを
行い、データ管理部5がこれらの結果の評価を行ってレ
イアウトに伴うパス遅延情報をコントロール/データフ
ローグラフ1のパス遅延情報1−1にフィードバックす
ることを繰り返し、レイアウトに依存するパス遅延の違
反を無くした合成を行うようにしている。
[Operation] As shown in FIG. 1, the present invention provides path delay information 1 for paths of a control/data flow graph 1, which is an expression that does not depend on the syntax of a language for describing the behavior of a logical design.
-1 is added, and based on this control/data flow graph 1 and path delay information 1-1, the scheduling unit 2, allocation unit 3, and floor planning unit 4 perform scheduling, facility allocation, and floor planning, and manage the data. Unit 5 repeatedly evaluates these results and feeds back the path delay information associated with the layout to the path delay information 1-1 of the control/data flow graph 1, resulting in a synthesis that eliminates layout-dependent path delay violations. I try to do this.

【0010】従って、スケジューリング、アロケーショ
ン、フロアプラン段階で得られたレイアウト時のパス遅
延情報をコントロール/データフローグラフのパスに付
加してフィードバックし、遅延時間の評価を繰り返すこ
とにより、高いレベルでレイアウト情報を考慮に入れて
遅延時間違反の無い合成を行い、効率的な設計を行うこ
とが可能となる。
[0010] Therefore, by adding path delay information during layout obtained at the scheduling, allocation, and floor planning stages to the paths of the control/data flow graph and feeding it back, and repeating the evaluation of delay time, layout can be achieved at a high level. It becomes possible to perform efficient design by taking the information into consideration and performing synthesis without violation of delay time.

【0011】[0011]

【実施例】次に、図1ないし図3を用いて本発明の実施
例の構成および動作を順次詳細に説明する。図1(イ)
において、コントロール/データフローグラフ1は、既
述した図4の(b)の左側に記載した動作記述言語の構
文などに依存しない、右側に記述した内部表現で表わし
たグラフである。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, the structure and operation of an embodiment of the present invention will be explained in detail with reference to FIGS. 1 to 3. Figure 1 (a)
The control/data flow graph 1 is a graph expressed by the internal representation described on the right side of FIG. 4(b), which does not depend on the syntax of the behavioral description language described on the left side.

【0012】パス遅延情報1−1は、コントロール/デ
ータフローグラフ1のパスに付加した本実施例で設けた
ものであって、後述するレイアウト情報付加のときに求
めたパス遅延時間について、フィードバックして更新す
るものである。スケジューリング/アロケーションは、
図1の(ロ)のスケジューリング部2およびアロケーシ
ョン部3が行うものであって、コントロール/データフ
ローグラフ1を入力として、各オペレーションの実行順
序をスケジューリングしたり、このスケジューリングを
もとに変数や演算子にレジスタや演算モジュールなどの
ファシリティを割り当てたり、接続関係を決定したり、
レジスタなどへの制御信号を生成したりなどするもので
ある(図2の(a)、(b)参照)。これら作業は、相
互に依存しているので、双方を同時に考慮して処理を行
う。具体的に説明すると、これら作業は、各オペレーシ
ョンが実現できるかの対応表、各ファシリティの実行遅
延時間および回路規模のデータなどをもとにして行う。
Path delay information 1-1 is provided in this embodiment and added to the path of control/data flow graph 1, and is used to provide feedback on the path delay time obtained when adding layout information, which will be described later. It will be updated accordingly. Scheduling/allocation is
This is performed by the scheduling unit 2 and allocation unit 3 in (b) of FIG. Allocate facilities such as registers and calculation modules to children, determine connection relationships,
It generates control signals to registers, etc. (see (a) and (b) in FIG. 2). Since these tasks are mutually dependent, both should be taken into consideration at the same time. Specifically, these operations are performed based on a correspondence table showing whether each operation can be realized, data on the execution delay time of each facility, and circuit scale data.

【0013】フロアプランは、図1の(ロ)のフロアプ
ラン部4が行うものであって、スケジューリング/アロ
ケーションによってスケジューリングおよびファシリテ
ィの割り当てなどを行った後、これら作業によって生成
されたデータパスをもとに、フロアプランの作成(レジ
スタなどをどこに置くかのフロアプラン)を行うもので
ある(図3の(c)参照)。
Floor planning is carried out by the floor planning unit 4 shown in FIG. In addition, a floor plan is created (a floor plan showing where to place registers, etc.) (see (c) in FIG. 3).

【0014】レイアウト情報付加は、フロアプランした
後、フロアプランされた各ブロック間の距離をもとに当
該ブロック間のパス遅延時間を算出し、これをコントロ
ール/データフローグラフ1の該当するパスにパス遅延
情報1−1としてフィードバックする態様で設定する。 評価は、図1の(ロ)のデータ管理部5が行うものであ
って、レイアウト情報付加によってコントロール/デー
タフローグラフ1のパスのパス遅延情報1−1をもとに
、スケジューリング/アロケーションされた結果を評価
(例えばコントロールステップ間の遅延時間を算出して
予め指定したクロック時間内に収まるか評価)するもの
である。評価の結果、遅延時間が長くて1クロック内に
収まらないなどの違反が検出されると、そのパスに関連
するオペレーションに対するスケジューリングやアロケ
ーションを修正する。これらループを、条件を満たすま
で自動的あるいはオペレータの指示に従って繰り返す(
図3を用いて後述する)。
[0014] Adding layout information involves, after floorplanning, calculating the path delay time between each floorplanned block based on the distance between the blocks, and adding this to the corresponding path in the control/data flow graph 1. It is set in such a manner that it is fed back as path delay information 1-1. The evaluation is performed by the data management unit 5 in FIG. The result is evaluated (for example, by calculating the delay time between control steps and evaluating whether it falls within a pre-specified clock time). If a violation is detected as a result of the evaluation, such as a delay time that is too long to fit within one clock, the scheduling and allocation for operations related to that path are corrected. These loops are repeated automatically or according to operator instructions until the conditions are met (
(described later using FIG. 3).

【0015】以上のように、動作記述を言語の構文など
に依存しないコントロール/データフローグラフ1に変
換したものを入力とし、スケジューリング、アロケーシ
ョン、フロアプランを行い、フロアプランの結果から求
めた各ブロック間のパス遅延時間をコントロール/デー
タフローグラフ1の該当するパスのパス遅延時間1−1
に設定し、これらをもとに遅延時間の評価(例えば1ク
ロック内に収まるか否かの評価)を行い、違反が検出さ
れたときにそのパスに関連するスケジューリング、アロ
ケーションを修正することを自動的あるいはオペレータ
からの指示をもとに繰り返し行うことにより、高位レベ
ルでレイアウトによるパス遅延時間の違反の無い設計を
早い段階で行うことが可能となる。
As described above, the behavioral description converted into a control/data flow graph 1 that does not depend on the syntax of the language is used as input, and scheduling, allocation, and floor planning are performed, and each block is determined from the floor planning results. Control the path delay time between / Path delay time of the corresponding path in data flow graph 1 1-1
Based on these, the delay time is evaluated (for example, whether it falls within one clock or not), and when a violation is detected, the scheduling and allocation related to that path are automatically corrected. By repeating this based on the target or instructions from the operator, it becomes possible to design at an early stage that does not violate the path delay time due to the layout at a high level.

【0016】図1の(ロ)は、本発明の構成図を示す。 ここで、スケジューリング部2、アロケーション部3、
フロアプラン部4、データ管理部5は、図1の(イ)の
スケジューリング/アロケーション、フロアプラン、評
価で説明した処理を行うプログラムである。設計データ
6は、(a)、(b)、(c)、(d)に示すような各
種データである。
FIG. 1B shows a block diagram of the present invention. Here, the scheduling section 2, the allocation section 3,
The floor plan unit 4 and data management unit 5 are programs that perform the processing described in the scheduling/allocation, floor plan, and evaluation section (a) of FIG. The design data 6 is various data as shown in (a), (b), (c), and (d).

【0017】(a)  コントロール/データフローグ
ラフ1であって、オペレーション間の順序関係を表わし
ている。 (b)  (a)のコントロール/データフローグラフ
1をスケジューリングした結果であって、ここでは例え
ばオペレーション”+”がステップiにスケジューリン
グされている。
(a) A control/data flow graph 1 representing the order relationship between operations. (b) The result of scheduling the control/data flow graph 1 in (a), in which, for example, operation "+" is scheduled at step i.

【0018】(c)  演算モジュール、レジスタなど
のファシリティを割り当てた結果のデータパス、その制
御回路である。 (d)  (c)のデータパスにもとづいて、作成した
フロアプランである。以上説明した図1の(ロ)の各デ
ータ間の対応関係を具体的に示すと図2に示すようにな
る。
(c) A data path resulting from allocation of facilities such as arithmetic modules and registers, and its control circuit. (d) This is a floor plan created based on the data path in (c). The correspondence relationship between each data item (b) of FIG. 1 explained above is specifically shown in FIG. 2.

【0019】図2は、本発明のデータ間の対応関係を示
す。図2の(a)は、オペレーションとファシリティの
対応関係を示す。コントロール/データフロープラン1
の上段、各オペレーションにファシリティを割付た中段
、ファシリティをフロアプランした下段とについて、そ
れぞれ矢印を用いて対応関係を示す。例えば上段のオペ
レーション”+”は中段の”ALU(加算器)”、更に
下段の”ALU”に対応づけている。
FIG. 2 shows the correspondence between data according to the present invention. FIG. 2(a) shows the correspondence between operations and facilities. Control/Data Flow Plan 1
The correspondence relationship is shown using arrows in the upper row, the middle row where facilities are assigned to each operation, and the lower row where facilities are floorplanned. For example, the operation "+" in the upper row is associated with "ALU (adder)" in the middle row, and then with "ALU" in the lower row.

【0020】図2の(b)は、オペレーションの依存関
係を表わすエッジとフロアプラン上のパスの対応関係を
示す。上段に示すように、コントロール/データフロー
グラフ1中のオペレーションに付随するエッジがコント
ロールステップを通過する点には、値を保持するための
レジスタs1、s2、s3を図示のように導入している
。これらレジスタs1、s2、s3にはレジスタ転送を
制御する信号が入る。従って、レジスタ転送に関するパ
スには、制御回路からレジスタへのパスも含まれる。 下段は、上段のコントロール/データフローグラフ1に
ファシリティを割り当て、これら割り当てたファシリテ
ィ間のパスpathについてパス遅延時間を求め、コン
トロール/データフローグラフ1の該当するパスにこの
パス遅延時間1−1を設定する。これにより、コントロ
ールステップ内に実行すべきオペレーション列の実行に
要する時間と、更に本実施例で設定したパス遅延時間と
を加算した総遅延時間が1クロックの時間内に収まるか
否かを評価し、収まりきらないときに、スケジューリン
グ、アロケーションを修正し、再度評価して総遅延時間
が1クロックの時間内に収まるように繰り返す。これに
より、従来、コントロールステップに要する時間につい
て、パスの遅延時間を無視してオペレーションのみの遅
延時間で評価していたものを、本実施例では、更にフロ
アプランした後のパス遅延時間を加算した総遅延時間で
評価することとしたことにより、フロアプランの早い段
階でレイアウトによる遅延を考慮した効率的な設計を行
うことが可能となる。また、制御回路からの信号線の遅
延時間も併せてパス遅延時間に組み入れることにより、
これらについても検査を行って遅延時間が1クロック内
に収まるように設計することが可能となる。
FIG. 2B shows the correspondence between edges representing dependencies of operations and paths on the floor plan. As shown in the upper part, registers s1, s2, and s3 for holding values are introduced at points in the control/data flow graph 1 at which edges associated with operations pass through control steps, as shown in the diagram. . Signals for controlling register transfer are input to these registers s1, s2, and s3. Therefore, paths related to register transfer also include paths from the control circuit to the registers. In the lower stage, a facility is assigned to the control/data flow graph 1 in the upper stage, the path delay time is calculated for the path path between these assigned facilities, and this path delay time 1-1 is applied to the corresponding path in the control/data flow graph 1. Set. This evaluates whether the total delay time, which is the time required to execute the operation sequence to be executed within the control step and the path delay time set in this embodiment, falls within the time of one clock. , when the total delay time is not within one clock, modify the scheduling and allocation, re-evaluate, and repeat until the total delay time is within one clock. As a result, in the past, the time required for a control step was evaluated based on the delay time of only the operation, ignoring the path delay time, but in this embodiment, the path delay time after floorplanning is further added. By evaluating the total delay time, it is possible to perform efficient design that takes layout-related delays into consideration at an early stage of floor planning. In addition, by incorporating the delay time of the signal line from the control circuit into the path delay time,
These can also be inspected and designed so that the delay time is within one clock.

【0021】次に、図3は、本発明の1実施例構成図を
示す。図3の(a)は、合成対象の仕様を示す。これは
、下記動作記述の言語について、構文に関係のない内部
表現であるコントロール/データフローグラッフ1で表
わしたものである。 t1=a+b d=t1×c また、オペレーション+、×は加算、乗算をそれぞれ表
わす。
Next, FIG. 3 shows a configuration diagram of one embodiment of the present invention. FIG. 3(a) shows the specifications of the synthesis target. This is a control/data flow graph 1, which is an internal representation unrelated to syntax, for the behavioral description language described below. t1=a+b d=t1×c Further, operations + and × represent addition and multiplication, respectively.

【0022】図3の(b)は、スケジューリング/アロ
ケーション結果を表わす。ここで、p1はレジスタと+
(加算器)との間のパス、p2は+(加算器)と×(乗
算器)との間のパス、p3は×(乗算器)とレジスタと
の間のパスである。図3の(c)は、フロアプラン結果
を表わす。これは、図3の(b)のスケジューリング/
アロケーション結果について、フロアプランした結果を
表わす。ここで、p1、p2、p3は図3の(b)のパ
スp1、p2、p3を表わし、レジスタ1、2、3、4
は図3の(b)のレジスタ1、2、3、4を表わし、加
算器は図3の(b)の+を表わし、乗算器は図3の(b
)の×を表わし、制御回路はレジスタ1、2、3、4な
どへの制御信号を送る回路を表わす。
FIG. 3(b) shows the scheduling/allocation results. Here, p1 is a register and +
(adder), p2 is a path between + (adder) and × (multiplier), and p3 is a path between × (multiplier) and the register. FIG. 3(c) represents the floor plan result. This is the scheduling/
This represents the floorplanning results for the allocation results. Here, p1, p2, p3 represent paths p1, p2, p3 in FIG. 3(b), and registers 1, 2, 3, 4
represents registers 1, 2, 3, and 4 in FIG. 3(b), the adder represents + in FIG. 3(b), and the multiplier represents registers 1, 2, 3, and 4 in FIG.
), and the control circuit represents a circuit that sends control signals to registers 1, 2, 3, 4, etc.

【0023】図3の(d)は、スケジューリング/アロ
ケーションの修正した例を表わす。これは、図3の(b
)のコントロールスップ内のパスp1、+(加算器)、
パスp2、×(乗算器)、パスp3のルートの総遅延時
間が下記に説明するように、1クロック内の時間に収ま
りきらいないので、レジスタ5を設けて2つのコントロ
ールステップに修正したものである。以下詳細に説明す
る。
FIG. 3(d) represents a modified example of scheduling/allocation. This is shown in (b) in Figure 3.
) in the control step p1, + (adder),
As explained below, the total delay time of the routes of paths p2, × (multiplier), and path p3 cannot be accommodated within one clock, so register 5 is provided to modify the delay to two control steps. be. This will be explained in detail below.

【0024】(1)  クロックサイクル:45nsオ
ペレーション+の遅延時間:10nsであるとする。 (2)  スケジューリング部2、アロケーション部3
は、       Σ(1ステップ内のオペレーションの遅延
時間)≦クロックサイクル・■として、コントロールス
テップ、ファシリティの割り当てを行う。このとき、         (+の遅延時間)+(×の遅延時間)
=10+30=40・・・・・■で、クロックサイル4
5nsよりも小さいため、図3の(b)に示すように、
+と×を1ステップ内で行うようにコントロールステッ
プを割り当て、加算器、乗算器、および必要なレジスタ
1、2、3、4からなるデータパスを生成する。
(1) Clock cycle: 45 ns Operation + delay time: 10 ns. (2) Scheduling unit 2, allocation unit 3
The control steps and facilities are allocated as follows: Σ(delay time of operation within one step)≦clock cycle・■. At this time, (+ delay time) + (× delay time)
=10+30=40...■, clock size 4
Since it is smaller than 5ns, as shown in FIG. 3(b),
Control steps are assigned to perform + and × within one step, and a data path consisting of adders, multipliers, and necessary registers 1, 2, 3, and 4 is generated.

【0025】(3)  (2)で生成したデータパスを
もとに、フロアプランを作成して図3の(c)に示すよ
うに得る。そして、このフロアプラン上で各ファシリテ
ィ間のパスp1、p2、p3の遅延時間をそれぞれ求め
る。 (4)  (3)で求めた各ファシリティ間のパスp1
、p2、p3の遅延時間を各パスに付加すると、■は、
下記■のようになる。
(3) Based on the data path generated in (2), a floor plan is created as shown in FIG. 3(c). Then, on this floor plan, the delay times of paths p1, p2, and p3 between each facility are determined. (4) Path p1 between each facility found in (3)
, p2, and p3 are added to each path, ■ becomes
It will look like ■ below.

【0026】       Σ(1ステップ内のオペレーションの遅延
時間)+Σ(パスの遅延時間)      ≦クロック
サイクル・・・・・・・・・・・・・・・・・・・・・
・・■従って、例えば   p1+p2+p3のパス遅延時間=10ns・・・
・・・・・・・・・・・■とすると、図3の(b)中の
矢印で示すパスPの総遅延時間が 40ns+10=50ns となり、クロックサイクル45nsという制約を満たさ
なくなる(違反する)。この違反を解消するために、図
3の(d)に示すように、レジスタ5を新たに加算器と
乗算器との間に設るというスケジューリング、アロケー
ションを変更する。これにより制約を満たすように修正
されたこととなる。
Σ (delay time of operation within one step) + Σ (delay time of path) ≦clock cycle
...■ Therefore, for example, the path delay time of p1+p2+p3 = 10ns...
If ・・・・・・・・・・・・■, the total delay time of the path P shown by the arrow in FIG. . In order to eliminate this violation, as shown in FIG. 3(d), the scheduling and allocation are changed by newly providing register 5 between the adder and the multiplier. This means that it has been modified to satisfy the constraints.

【0027】[0027]

【発明の効果】以上説明したように、本発明によれば、
スケジューリング、アロケーション、フロアプラン段階
で得られたレイアウト時のパス遅延時間をコントロール
/データフローグラフのパスに付加してフィードバック
し、遅延時間の評価を繰り返す構成を採用しているため
、高いレベルでレイアウト情報を考慮に入れて遅延時間
違反の無い合成を効率的に行うことができる。これによ
り、従来では論理合成、および実際のレイアウト実施後
に遅延時間の違反が検出され、長いフィードバックルー
プを戻らなければならかったのが、早い高位レベルでの
修正で回避でき、効率的な設計を行うことが可能となる
[Effects of the Invention] As explained above, according to the present invention,
The layout-time path delay time obtained during the scheduling, allocation, and floor planning stages is added to the control/data flow graph path and fed back, and the delay time evaluation is repeated, allowing for a high-level layout. By taking the information into consideration, it is possible to efficiently perform synthesis without violation of delay time. This allows for faster and higher-level corrections, which would previously have required delay time violations to be detected after logic synthesis and actual layout and had to go back through a long feedback loop, resulting in more efficient design. It becomes possible to do so.

【図面の簡単な説明】[Brief explanation of the drawing]

【図1】本発明の原理説明図である。FIG. 1 is a diagram explaining the principle of the present invention.

【図2】本発明のデータ間の対応関係説明図である。FIG. 2 is an explanatory diagram of the correspondence between data according to the present invention.

【図3】本発明の1実施例構成図である。FIG. 3 is a configuration diagram of one embodiment of the present invention.

【図4】従来技術の説明図である。FIG. 4 is an explanatory diagram of the prior art.

【符号の説明】[Explanation of symbols]

1:コントロール/データフローグラフ1−1:パス遅
延時間 2:スケジューリング部 3:アロケーション部 4:フロアプラン部 5:データ管理部 6:設計データ
1: Control/data flow graph 1-1: Path delay time 2: Scheduling section 3: Allocation section 4: Floor planning section 5: Data management section 6: Design data

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】  論理設計の高位レベル合成におけるデ
ータ管理方式において、論理設計の動作記述を言語の構
文に依存しない表現であるコントロール/データフロー
グラフ(1)のパスにパス遅延情報(1−1)を付加し
、このコントロール/データフローグラフ(1)および
付加したこのパス遅延情報(1−1)をもとにスケジュ
ーリング、アロケーション、フロアプランおよびこれら
の結果の遅延時間の評価を行うと共にフロアプランした
結果に伴うパス遅延情報を上記パス遅延情報(1−1)
としてフィードバックすることを繰り返し、動作記述レ
ベルでレイアウトに依存するパス遅延の違反を無くした
合成を行うように構成したことを特徴とする高位レベル
合成におけるデータ管理方式。
Claim 1. In a data management method in high-level synthesis of logic design, path delay information (1-1 ) is added, and based on this control/data flow graph (1) and this added path delay information (1-1), scheduling, allocation, floor planning, and evaluation of the delay time of these results are performed. The path delay information associated with the above path delay information (1-1)
1. A data management method in high-level synthesis, characterized in that the data management method is configured to perform synthesis that eliminates path delay violations depending on the layout at the behavioral description level by repeatedly feeding back as follows.
JP3008056A 1991-01-28 1991-01-28 Data control system by high-level composition Withdrawn JPH04250570A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3008056A JPH04250570A (en) 1991-01-28 1991-01-28 Data control system by high-level composition

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3008056A JPH04250570A (en) 1991-01-28 1991-01-28 Data control system by high-level composition

Publications (1)

Publication Number Publication Date
JPH04250570A true JPH04250570A (en) 1992-09-07

Family

ID=11682675

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3008056A Withdrawn JPH04250570A (en) 1991-01-28 1991-01-28 Data control system by high-level composition

Country Status (1)

Country Link
JP (1) JPH04250570A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06266801A (en) * 1993-03-15 1994-09-22 Nec Corp Logical synthesis method considering floor plan
JPH06266800A (en) * 1993-03-15 1994-09-22 Nec Corp Logical synthesizing method, taking floor plan into consideration
JP2006351047A (en) * 2006-10-02 2006-12-28 Nec Corp Data processor and method, computer program, information storage medium, parallel arithmetic unit, and data processing system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06266801A (en) * 1993-03-15 1994-09-22 Nec Corp Logical synthesis method considering floor plan
JPH06266800A (en) * 1993-03-15 1994-09-22 Nec Corp Logical synthesizing method, taking floor plan into consideration
JP2006351047A (en) * 2006-10-02 2006-12-28 Nec Corp Data processor and method, computer program, information storage medium, parallel arithmetic unit, and data processing system

Similar Documents

Publication Publication Date Title
US5467462A (en) Event driven logic simulator for partial simulation
US20120311514A1 (en) Decentralized Dynamically Scheduled Parallel Static Timing Analysis
US7346872B2 (en) Functional timing analysis for characterization of virtual component blocks
WO2007063513A1 (en) Timing constraint merging in hierarchical soc designs
US20050187750A1 (en) Data processing device designing method, data processing device designing apparatus, program and computer readable information recording medium
Li et al. Translation validation of scheduling in high level synthesis
US7606694B1 (en) Framework for cycle accurate simulation
Lai et al. LibAbs: An efficient and accurate timing macro-modeling algorithm for large hierarchical designs
Yalcin et al. An approximate timing analysis method for datapath circuits
Weiner et al. Timing analysis in a logic synthesis environment
US8768678B1 (en) Scheduling processes in simulation of a circuit design based on simulation costs and runtime states of HDL processes
JPH04250570A (en) Data control system by high-level composition
Bergamaschi et al. A system for production use of high-level synthesis
US9223910B1 (en) Performance and memory efficient modeling of HDL ports for simulation
Folmer et al. High-level synthesis of digital circuits from template haskell and sdf-ap
US7051312B1 (en) Upper-bound calculation for placed circuit design performance
Bergamaschi et al. Scheduling under resource constraints and module assignment
US5740070A (en) Apparatus for automatically generating logic circuit
US9600613B1 (en) Block-level code coverage in simulation of circuit designs
GB2279785A (en) Designing pipelined stages in a computer-aided design system.
Rehak et al. Evaluation of finite element system architectures
JPH05108753A (en) Logical simulation system
Yen et al. An efficient graph algorithm for FSM scheduling
JPH05197774A (en) Circuit correcting system based upon higher level synthesis
US20060277428A1 (en) A system and method for simulation of electronic circuits generating clocks and delaying the execution of instructions in a plurality of processors

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19980514