JPH04250570A - 高位レベル合成におけるデータ管理方式 - Google Patents
高位レベル合成におけるデータ管理方式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
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明は、高位レベル合成におけ
るデータ管理方式であって、抽象度の高いレベルでレイ
アウトに伴うパス遅延を管理してパス遅延違反を無くし
て合成を可能にする高位レベル合成におけるデータ管理
方式に関するものである。ASIC時代に入り、論理設
計支援の必要性がますます増加している。組み合わせ回
路の自動論理合成技術が、実用化のレベルに達してきた
ことにより、より高い、アリゴリズムレベルからの設計
支援、自動合成に対する要求が高まっている。
るデータ管理方式であって、抽象度の高いレベルでレイ
アウトに伴うパス遅延を管理してパス遅延違反を無くし
て合成を可能にする高位レベル合成におけるデータ管理
方式に関するものである。ASIC時代に入り、論理設
計支援の必要性がますます増加している。組み合わせ回
路の自動論理合成技術が、実用化のレベルに達してきた
ことにより、より高い、アリゴリズムレベルからの設計
支援、自動合成に対する要求が高まっている。
【0002】
【従来の技術】従来の高位レベル合成の流れを図4の(
a)に示す。ここで、システムへの入力となる、動作記
述は、VHDLなどの図4の(b)の左側に示すような
ハードウェア記述言語で与える。トランスレータは、こ
の図4の(b)の左側に示すような動作記述言語を、言
語の構文に依存しない図4の(b)の右側に模式的に示
すような内部表現に変換する。この内部表現は、通常、
データの依存関係やオペレーション間の順序関係を表現
した、コントロール/データフローグラフが用いられる
。例えば図4の(b)の左側に示すアルゴリズムは右側
に示すようなグラフで表現できる。
a)に示す。ここで、システムへの入力となる、動作記
述は、VHDLなどの図4の(b)の左側に示すような
ハードウェア記述言語で与える。トランスレータは、こ
の図4の(b)の左側に示すような動作記述言語を、言
語の構文に依存しない図4の(b)の右側に模式的に示
すような内部表現に変換する。この内部表現は、通常、
データの依存関係やオペレーション間の順序関係を表現
した、コントロール/データフローグラフが用いられる
。例えば図4の(b)の左側に示すアルゴリズムは右側
に示すようなグラフで表現できる。
【0003】高位レベル合成は、動作記述中に現れる変
数や演算子に、レジスタ、演算モジュールなどのファシ
リティをどのように割り当てるか、というデータパスア
ロケーション問題と、各オペレーションの実行順序をど
のようにするかというスケジューリングの問題から構成
されている。これら作業は相互に依存しあっているため
、双方を同時に考慮する、あるいは双方を繰り返し実行
しながら、データパスおよびデータコントロールを決定
していく。スケジューリングとアロケーションが終わっ
た段階で、データパス、およびそれに対する制御回路の
仕様が生成され、これ以降は更にレイアウトツールによ
って最終的な回路が生成されることとなる。
数や演算子に、レジスタ、演算モジュールなどのファシ
リティをどのように割り当てるか、というデータパスア
ロケーション問題と、各オペレーションの実行順序をど
のようにするかというスケジューリングの問題から構成
されている。これら作業は相互に依存しあっているため
、双方を同時に考慮する、あるいは双方を繰り返し実行
しながら、データパスおよびデータコントロールを決定
していく。スケジューリングとアロケーションが終わっ
た段階で、データパス、およびそれに対する制御回路の
仕様が生成され、これ以降は更にレイアウトツールによ
って最終的な回路が生成されることとなる。
【0004】
【発明が解決しようとする課題】従来のスケジューリン
グ/アロケーションは、できるだけ回路規模を小さく、
動作に必要なステップ数を少なくするように、ファシリ
ティの割り当てを行う。この際、ライブラリに格納され
ている各ファシリティの情報を使って回路規模や遅延時
間を評価することは行っていた。しかし、配置などのレ
イアウトを反映したパスの遅延時間の考慮を行っていな
かった。このため、実際のレイアウトを行った段階で、
回路の遅延が大きくなり1つのステージに許される遅延
時間を越えてしまう事態が発生し、どこかを修正しなけ
ればならなくなる。この修正のためのフィードバックは
できるだけ短かく、少ない方がよいが、長いフィードバ
ックループを戻って設計段階のスケジューリングなどを
修正していたため、効率的に設計し難いという問題があ
った。
グ/アロケーションは、できるだけ回路規模を小さく、
動作に必要なステップ数を少なくするように、ファシリ
ティの割り当てを行う。この際、ライブラリに格納され
ている各ファシリティの情報を使って回路規模や遅延時
間を評価することは行っていた。しかし、配置などのレ
イアウトを反映したパスの遅延時間の考慮を行っていな
かった。このため、実際のレイアウトを行った段階で、
回路の遅延が大きくなり1つのステージに許される遅延
時間を越えてしまう事態が発生し、どこかを修正しなけ
ればならなくなる。この修正のためのフィードバックは
できるだけ短かく、少ない方がよいが、長いフィードバ
ックループを戻って設計段階のスケジューリングなどを
修正していたため、効率的に設計し難いという問題があ
った。
【0005】本発明は、コントロール/データフローグ
ラフをもとに高位レベルのスケジューリング、アロケー
ション、フロアプランした結果を評価し、レイアウトに
よるパス遅延時間をコントロール/データフローグラフ
のパスにフィードバックして高いレベルでレイアウト情
報を考慮に入れた合成を行い、効率的な設計を可能にす
ることを目的としている。
ラフをもとに高位レベルのスケジューリング、アロケー
ション、フロアプランした結果を評価し、レイアウトに
よるパス遅延時間をコントロール/データフローグラフ
のパスにフィードバックして高いレベルでレイアウト情
報を考慮に入れた合成を行い、効率的な設計を可能にす
ることを目的としている。
【0006】
【課題を解決するための手段】図1は、本発明の原理説
明図を示す。図1において、コントロール/データフロ
ーグラフ1は、動作記述を言語の構文などに依存しない
内部表現で表わしたものである。スケジューリング部2
は、オペレーションの実行順序を決定(スケジューリン
グ)するものである。
明図を示す。図1において、コントロール/データフロ
ーグラフ1は、動作記述を言語の構文などに依存しない
内部表現で表わしたものである。スケジューリング部2
は、オペレーションの実行順序を決定(スケジューリン
グ)するものである。
【0007】アロケーション部3は、コンロトール/デ
ータフローグラフ1によって表わされた変数や演算子に
レジスタなどのファシリティの割り当てを行うものであ
る。フロアプラン部4は、割り当てられたファシリティ
を配置するものである。レイアウト情報付加は、コント
ロール/データフローグラフ1にレイアウトに伴うパス
遅延情報1−1を付加するものである。
ータフローグラフ1によって表わされた変数や演算子に
レジスタなどのファシリティの割り当てを行うものであ
る。フロアプラン部4は、割り当てられたファシリティ
を配置するものである。レイアウト情報付加は、コント
ロール/データフローグラフ1にレイアウトに伴うパス
遅延情報1−1を付加するものである。
【0008】データ管理部5は、スケジューリング部2
、アロケーション部3およびフロアプラン部4によって
スケジューリング、アロケーション、フロアプランされ
た結果について、遅延時間などを評価するものである。
、アロケーション部3およびフロアプラン部4によって
スケジューリング、アロケーション、フロアプランされ
た結果について、遅延時間などを評価するものである。
【0009】
【作用】本発明は、図1に示すように、論理設計の動作
記述について言語の構文に依存しない表現であるコント
ロール/データフローグラフ1のパスにパス遅延情報1
−1を付加し、このコントロール/データフローグラフ
1およびパス遅延情報1−1をもとにスケジューリング
部2、アロケーション部3、フロアプラン部4がスケジ
ューリング、ファシリティの割り当て、フロアプランを
行い、データ管理部5がこれらの結果の評価を行ってレ
イアウトに伴うパス遅延情報をコントロール/データフ
ローグラフ1のパス遅延情報1−1にフィードバックす
ることを繰り返し、レイアウトに依存するパス遅延の違
反を無くした合成を行うようにしている。
記述について言語の構文に依存しない表現であるコント
ロール/データフローグラフ1のパスにパス遅延情報1
−1を付加し、このコントロール/データフローグラフ
1およびパス遅延情報1−1をもとにスケジューリング
部2、アロケーション部3、フロアプラン部4がスケジ
ューリング、ファシリティの割り当て、フロアプランを
行い、データ管理部5がこれらの結果の評価を行ってレ
イアウトに伴うパス遅延情報をコントロール/データフ
ローグラフ1のパス遅延情報1−1にフィードバックす
ることを繰り返し、レイアウトに依存するパス遅延の違
反を無くした合成を行うようにしている。
【0010】従って、スケジューリング、アロケーショ
ン、フロアプラン段階で得られたレイアウト時のパス遅
延情報をコントロール/データフローグラフのパスに付
加してフィードバックし、遅延時間の評価を繰り返すこ
とにより、高いレベルでレイアウト情報を考慮に入れて
遅延時間違反の無い合成を行い、効率的な設計を行うこ
とが可能となる。
ン、フロアプラン段階で得られたレイアウト時のパス遅
延情報をコントロール/データフローグラフのパスに付
加してフィードバックし、遅延時間の評価を繰り返すこ
とにより、高いレベルでレイアウト情報を考慮に入れて
遅延時間違反の無い合成を行い、効率的な設計を行うこ
とが可能となる。
【0011】
【実施例】次に、図1ないし図3を用いて本発明の実施
例の構成および動作を順次詳細に説明する。図1(イ)
において、コントロール/データフローグラフ1は、既
述した図4の(b)の左側に記載した動作記述言語の構
文などに依存しない、右側に記述した内部表現で表わし
たグラフである。
例の構成および動作を順次詳細に説明する。図1(イ)
において、コントロール/データフローグラフ1は、既
述した図4の(b)の左側に記載した動作記述言語の構
文などに依存しない、右側に記述した内部表現で表わし
たグラフである。
【0012】パス遅延情報1−1は、コントロール/デ
ータフローグラフ1のパスに付加した本実施例で設けた
ものであって、後述するレイアウト情報付加のときに求
めたパス遅延時間について、フィードバックして更新す
るものである。スケジューリング/アロケーションは、
図1の(ロ)のスケジューリング部2およびアロケーシ
ョン部3が行うものであって、コントロール/データフ
ローグラフ1を入力として、各オペレーションの実行順
序をスケジューリングしたり、このスケジューリングを
もとに変数や演算子にレジスタや演算モジュールなどの
ファシリティを割り当てたり、接続関係を決定したり、
レジスタなどへの制御信号を生成したりなどするもので
ある(図2の(a)、(b)参照)。これら作業は、相
互に依存しているので、双方を同時に考慮して処理を行
う。具体的に説明すると、これら作業は、各オペレーシ
ョンが実現できるかの対応表、各ファシリティの実行遅
延時間および回路規模のデータなどをもとにして行う。
ータフローグラフ1のパスに付加した本実施例で設けた
ものであって、後述するレイアウト情報付加のときに求
めたパス遅延時間について、フィードバックして更新す
るものである。スケジューリング/アロケーションは、
図1の(ロ)のスケジューリング部2およびアロケーシ
ョン部3が行うものであって、コントロール/データフ
ローグラフ1を入力として、各オペレーションの実行順
序をスケジューリングしたり、このスケジューリングを
もとに変数や演算子にレジスタや演算モジュールなどの
ファシリティを割り当てたり、接続関係を決定したり、
レジスタなどへの制御信号を生成したりなどするもので
ある(図2の(a)、(b)参照)。これら作業は、相
互に依存しているので、双方を同時に考慮して処理を行
う。具体的に説明すると、これら作業は、各オペレーシ
ョンが実現できるかの対応表、各ファシリティの実行遅
延時間および回路規模のデータなどをもとにして行う。
【0013】フロアプランは、図1の(ロ)のフロアプ
ラン部4が行うものであって、スケジューリング/アロ
ケーションによってスケジューリングおよびファシリテ
ィの割り当てなどを行った後、これら作業によって生成
されたデータパスをもとに、フロアプランの作成(レジ
スタなどをどこに置くかのフロアプラン)を行うもので
ある(図3の(c)参照)。
ラン部4が行うものであって、スケジューリング/アロ
ケーションによってスケジューリングおよびファシリテ
ィの割り当てなどを行った後、これら作業によって生成
されたデータパスをもとに、フロアプランの作成(レジ
スタなどをどこに置くかのフロアプラン)を行うもので
ある(図3の(c)参照)。
【0014】レイアウト情報付加は、フロアプランした
後、フロアプランされた各ブロック間の距離をもとに当
該ブロック間のパス遅延時間を算出し、これをコントロ
ール/データフローグラフ1の該当するパスにパス遅延
情報1−1としてフィードバックする態様で設定する。 評価は、図1の(ロ)のデータ管理部5が行うものであ
って、レイアウト情報付加によってコントロール/デー
タフローグラフ1のパスのパス遅延情報1−1をもとに
、スケジューリング/アロケーションされた結果を評価
(例えばコントロールステップ間の遅延時間を算出して
予め指定したクロック時間内に収まるか評価)するもの
である。評価の結果、遅延時間が長くて1クロック内に
収まらないなどの違反が検出されると、そのパスに関連
するオペレーションに対するスケジューリングやアロケ
ーションを修正する。これらループを、条件を満たすま
で自動的あるいはオペレータの指示に従って繰り返す(
図3を用いて後述する)。
後、フロアプランされた各ブロック間の距離をもとに当
該ブロック間のパス遅延時間を算出し、これをコントロ
ール/データフローグラフ1の該当するパスにパス遅延
情報1−1としてフィードバックする態様で設定する。 評価は、図1の(ロ)のデータ管理部5が行うものであ
って、レイアウト情報付加によってコントロール/デー
タフローグラフ1のパスのパス遅延情報1−1をもとに
、スケジューリング/アロケーションされた結果を評価
(例えばコントロールステップ間の遅延時間を算出して
予め指定したクロック時間内に収まるか評価)するもの
である。評価の結果、遅延時間が長くて1クロック内に
収まらないなどの違反が検出されると、そのパスに関連
するオペレーションに対するスケジューリングやアロケ
ーションを修正する。これらループを、条件を満たすま
で自動的あるいはオペレータの指示に従って繰り返す(
図3を用いて後述する)。
【0015】以上のように、動作記述を言語の構文など
に依存しないコントロール/データフローグラフ1に変
換したものを入力とし、スケジューリング、アロケーシ
ョン、フロアプランを行い、フロアプランの結果から求
めた各ブロック間のパス遅延時間をコントロール/デー
タフローグラフ1の該当するパスのパス遅延時間1−1
に設定し、これらをもとに遅延時間の評価(例えば1ク
ロック内に収まるか否かの評価)を行い、違反が検出さ
れたときにそのパスに関連するスケジューリング、アロ
ケーションを修正することを自動的あるいはオペレータ
からの指示をもとに繰り返し行うことにより、高位レベ
ルでレイアウトによるパス遅延時間の違反の無い設計を
早い段階で行うことが可能となる。
に依存しないコントロール/データフローグラフ1に変
換したものを入力とし、スケジューリング、アロケーシ
ョン、フロアプランを行い、フロアプランの結果から求
めた各ブロック間のパス遅延時間をコントロール/デー
タフローグラフ1の該当するパスのパス遅延時間1−1
に設定し、これらをもとに遅延時間の評価(例えば1ク
ロック内に収まるか否かの評価)を行い、違反が検出さ
れたときにそのパスに関連するスケジューリング、アロ
ケーションを修正することを自動的あるいはオペレータ
からの指示をもとに繰り返し行うことにより、高位レベ
ルでレイアウトによるパス遅延時間の違反の無い設計を
早い段階で行うことが可能となる。
【0016】図1の(ロ)は、本発明の構成図を示す。
ここで、スケジューリング部2、アロケーション部3、
フロアプラン部4、データ管理部5は、図1の(イ)の
スケジューリング/アロケーション、フロアプラン、評
価で説明した処理を行うプログラムである。設計データ
6は、(a)、(b)、(c)、(d)に示すような各
種データである。
フロアプラン部4、データ管理部5は、図1の(イ)の
スケジューリング/アロケーション、フロアプラン、評
価で説明した処理を行うプログラムである。設計データ
6は、(a)、(b)、(c)、(d)に示すような各
種データである。
【0017】(a) コントロール/データフローグ
ラフ1であって、オペレーション間の順序関係を表わし
ている。 (b) (a)のコントロール/データフローグラフ
1をスケジューリングした結果であって、ここでは例え
ばオペレーション”+”がステップiにスケジューリン
グされている。
ラフ1であって、オペレーション間の順序関係を表わし
ている。 (b) (a)のコントロール/データフローグラフ
1をスケジューリングした結果であって、ここでは例え
ばオペレーション”+”がステップiにスケジューリン
グされている。
【0018】(c) 演算モジュール、レジスタなど
のファシリティを割り当てた結果のデータパス、その制
御回路である。 (d) (c)のデータパスにもとづいて、作成した
フロアプランである。以上説明した図1の(ロ)の各デ
ータ間の対応関係を具体的に示すと図2に示すようにな
る。
のファシリティを割り当てた結果のデータパス、その制
御回路である。 (d) (c)のデータパスにもとづいて、作成した
フロアプランである。以上説明した図1の(ロ)の各デ
ータ間の対応関係を具体的に示すと図2に示すようにな
る。
【0019】図2は、本発明のデータ間の対応関係を示
す。図2の(a)は、オペレーションとファシリティの
対応関係を示す。コントロール/データフロープラン1
の上段、各オペレーションにファシリティを割付た中段
、ファシリティをフロアプランした下段とについて、そ
れぞれ矢印を用いて対応関係を示す。例えば上段のオペ
レーション”+”は中段の”ALU(加算器)”、更に
下段の”ALU”に対応づけている。
す。図2の(a)は、オペレーションとファシリティの
対応関係を示す。コントロール/データフロープラン1
の上段、各オペレーションにファシリティを割付た中段
、ファシリティをフロアプランした下段とについて、そ
れぞれ矢印を用いて対応関係を示す。例えば上段のオペ
レーション”+”は中段の”ALU(加算器)”、更に
下段の”ALU”に対応づけている。
【0020】図2の(b)は、オペレーションの依存関
係を表わすエッジとフロアプラン上のパスの対応関係を
示す。上段に示すように、コントロール/データフロー
グラフ1中のオペレーションに付随するエッジがコント
ロールステップを通過する点には、値を保持するための
レジスタs1、s2、s3を図示のように導入している
。これらレジスタs1、s2、s3にはレジスタ転送を
制御する信号が入る。従って、レジスタ転送に関するパ
スには、制御回路からレジスタへのパスも含まれる。 下段は、上段のコントロール/データフローグラフ1に
ファシリティを割り当て、これら割り当てたファシリテ
ィ間のパスpathについてパス遅延時間を求め、コン
トロール/データフローグラフ1の該当するパスにこの
パス遅延時間1−1を設定する。これにより、コントロ
ールステップ内に実行すべきオペレーション列の実行に
要する時間と、更に本実施例で設定したパス遅延時間と
を加算した総遅延時間が1クロックの時間内に収まるか
否かを評価し、収まりきらないときに、スケジューリン
グ、アロケーションを修正し、再度評価して総遅延時間
が1クロックの時間内に収まるように繰り返す。これに
より、従来、コントロールステップに要する時間につい
て、パスの遅延時間を無視してオペレーションのみの遅
延時間で評価していたものを、本実施例では、更にフロ
アプランした後のパス遅延時間を加算した総遅延時間で
評価することとしたことにより、フロアプランの早い段
階でレイアウトによる遅延を考慮した効率的な設計を行
うことが可能となる。また、制御回路からの信号線の遅
延時間も併せてパス遅延時間に組み入れることにより、
これらについても検査を行って遅延時間が1クロック内
に収まるように設計することが可能となる。
係を表わすエッジとフロアプラン上のパスの対応関係を
示す。上段に示すように、コントロール/データフロー
グラフ1中のオペレーションに付随するエッジがコント
ロールステップを通過する点には、値を保持するための
レジスタs1、s2、s3を図示のように導入している
。これらレジスタs1、s2、s3にはレジスタ転送を
制御する信号が入る。従って、レジスタ転送に関するパ
スには、制御回路からレジスタへのパスも含まれる。 下段は、上段のコントロール/データフローグラフ1に
ファシリティを割り当て、これら割り当てたファシリテ
ィ間のパスpathについてパス遅延時間を求め、コン
トロール/データフローグラフ1の該当するパスにこの
パス遅延時間1−1を設定する。これにより、コントロ
ールステップ内に実行すべきオペレーション列の実行に
要する時間と、更に本実施例で設定したパス遅延時間と
を加算した総遅延時間が1クロックの時間内に収まるか
否かを評価し、収まりきらないときに、スケジューリン
グ、アロケーションを修正し、再度評価して総遅延時間
が1クロックの時間内に収まるように繰り返す。これに
より、従来、コントロールステップに要する時間につい
て、パスの遅延時間を無視してオペレーションのみの遅
延時間で評価していたものを、本実施例では、更にフロ
アプランした後のパス遅延時間を加算した総遅延時間で
評価することとしたことにより、フロアプランの早い段
階でレイアウトによる遅延を考慮した効率的な設計を行
うことが可能となる。また、制御回路からの信号線の遅
延時間も併せてパス遅延時間に組み入れることにより、
これらについても検査を行って遅延時間が1クロック内
に収まるように設計することが可能となる。
【0021】次に、図3は、本発明の1実施例構成図を
示す。図3の(a)は、合成対象の仕様を示す。これは
、下記動作記述の言語について、構文に関係のない内部
表現であるコントロール/データフローグラッフ1で表
わしたものである。 t1=a+b d=t1×c また、オペレーション+、×は加算、乗算をそれぞれ表
わす。
示す。図3の(a)は、合成対象の仕様を示す。これは
、下記動作記述の言語について、構文に関係のない内部
表現であるコントロール/データフローグラッフ1で表
わしたものである。 t1=a+b d=t1×c また、オペレーション+、×は加算、乗算をそれぞれ表
わす。
【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な
どへの制御信号を送る回路を表わす。
ケーション結果を表わす。ここで、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な
どへの制御信号を送る回路を表わす。
【0023】図3の(d)は、スケジューリング/アロ
ケーションの修正した例を表わす。これは、図3の(b
)のコントロールスップ内のパスp1、+(加算器)、
パスp2、×(乗算器)、パスp3のルートの総遅延時
間が下記に説明するように、1クロック内の時間に収ま
りきらいないので、レジスタ5を設けて2つのコントロ
ールステップに修正したものである。以下詳細に説明す
る。
ケーションの修正した例を表わす。これは、図3の(b
)のコントロールスップ内のパスp1、+(加算器)、
パスp2、×(乗算器)、パスp3のルートの総遅延時
間が下記に説明するように、1クロック内の時間に収ま
りきらいないので、レジスタ5を設けて2つのコントロ
ールステップに修正したものである。以下詳細に説明す
る。
【0024】(1) クロックサイクル:45nsオ
ペレーション+の遅延時間:10nsであるとする。 (2) スケジューリング部2、アロケーション部3
は、 Σ(1ステップ内のオペレーションの遅延
時間)≦クロックサイクル・■として、コントロールス
テップ、ファシリティの割り当てを行う。このとき、 (+の遅延時間)+(×の遅延時間)
=10+30=40・・・・・■で、クロックサイル4
5nsよりも小さいため、図3の(b)に示すように、
+と×を1ステップ内で行うようにコントロールステッ
プを割り当て、加算器、乗算器、および必要なレジスタ
1、2、3、4からなるデータパスを生成する。
ペレーション+の遅延時間:10nsであるとする。 (2) スケジューリング部2、アロケーション部3
は、 Σ(1ステップ内のオペレーションの遅延
時間)≦クロックサイクル・■として、コントロールス
テップ、ファシリティの割り当てを行う。このとき、 (+の遅延時間)+(×の遅延時間)
=10+30=40・・・・・■で、クロックサイル4
5nsよりも小さいため、図3の(b)に示すように、
+と×を1ステップ内で行うようにコントロールステッ
プを割り当て、加算器、乗算器、および必要なレジスタ
1、2、3、4からなるデータパスを生成する。
【0025】(3) (2)で生成したデータパスを
もとに、フロアプランを作成して図3の(c)に示すよ
うに得る。そして、このフロアプラン上で各ファシリテ
ィ間のパスp1、p2、p3の遅延時間をそれぞれ求め
る。 (4) (3)で求めた各ファシリティ間のパスp1
、p2、p3の遅延時間を各パスに付加すると、■は、
下記■のようになる。
もとに、フロアプランを作成して図3の(c)に示すよ
うに得る。そして、このフロアプラン上で各ファシリテ
ィ間のパスp1、p2、p3の遅延時間をそれぞれ求め
る。 (4) (3)で求めた各ファシリティ間のパスp1
、p2、p3の遅延時間を各パスに付加すると、■は、
下記■のようになる。
【0026】
Σ(1ステップ内のオペレーションの遅延
時間)+Σ(パスの遅延時間) ≦クロック
サイクル・・・・・・・・・・・・・・・・・・・・・
・・■従って、例えば p1+p2+p3のパス遅延時間=10ns・・・
・・・・・・・・・・・■とすると、図3の(b)中の
矢印で示すパスPの総遅延時間が 40ns+10=50ns となり、クロックサイクル45nsという制約を満たさ
なくなる(違反する)。この違反を解消するために、図
3の(d)に示すように、レジスタ5を新たに加算器と
乗算器との間に設るというスケジューリング、アロケー
ションを変更する。これにより制約を満たすように修正
されたこととなる。
時間)+Σ(パスの遅延時間) ≦クロック
サイクル・・・・・・・・・・・・・・・・・・・・・
・・■従って、例えば p1+p2+p3のパス遅延時間=10ns・・・
・・・・・・・・・・・■とすると、図3の(b)中の
矢印で示すパスPの総遅延時間が 40ns+10=50ns となり、クロックサイクル45nsという制約を満たさ
なくなる(違反する)。この違反を解消するために、図
3の(d)に示すように、レジスタ5を新たに加算器と
乗算器との間に設るというスケジューリング、アロケー
ションを変更する。これにより制約を満たすように修正
されたこととなる。
【0027】
【発明の効果】以上説明したように、本発明によれば、
スケジューリング、アロケーション、フロアプラン段階
で得られたレイアウト時のパス遅延時間をコントロール
/データフローグラフのパスに付加してフィードバック
し、遅延時間の評価を繰り返す構成を採用しているため
、高いレベルでレイアウト情報を考慮に入れて遅延時間
違反の無い合成を効率的に行うことができる。これによ
り、従来では論理合成、および実際のレイアウト実施後
に遅延時間の違反が検出され、長いフィードバックルー
プを戻らなければならかったのが、早い高位レベルでの
修正で回避でき、効率的な設計を行うことが可能となる
。
スケジューリング、アロケーション、フロアプラン段階
で得られたレイアウト時のパス遅延時間をコントロール
/データフローグラフのパスに付加してフィードバック
し、遅延時間の評価を繰り返す構成を採用しているため
、高いレベルでレイアウト情報を考慮に入れて遅延時間
違反の無い合成を効率的に行うことができる。これによ
り、従来では論理合成、および実際のレイアウト実施後
に遅延時間の違反が検出され、長いフィードバックルー
プを戻らなければならかったのが、早い高位レベルでの
修正で回避でき、効率的な設計を行うことが可能となる
。
【図1】本発明の原理説明図である。
【図2】本発明のデータ間の対応関係説明図である。
【図3】本発明の1実施例構成図である。
【図4】従来技術の説明図である。
1:コントロール/データフローグラフ1−1:パス遅
延時間 2:スケジューリング部 3:アロケーション部 4:フロアプラン部 5:データ管理部 6:設計データ
延時間 2:スケジューリング部 3:アロケーション部 4:フロアプラン部 5:データ管理部 6:設計データ
Claims (1)
- 【請求項1】 論理設計の高位レベル合成におけるデ
ータ管理方式において、論理設計の動作記述を言語の構
文に依存しない表現であるコントロール/データフロー
グラフ(1)のパスにパス遅延情報(1−1)を付加し
、このコントロール/データフローグラフ(1)および
付加したこのパス遅延情報(1−1)をもとにスケジュ
ーリング、アロケーション、フロアプランおよびこれら
の結果の遅延時間の評価を行うと共にフロアプランした
結果に伴うパス遅延情報を上記パス遅延情報(1−1)
としてフィードバックすることを繰り返し、動作記述レ
ベルでレイアウトに依存するパス遅延の違反を無くした
合成を行うように構成したことを特徴とする高位レベル
合成におけるデータ管理方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3008056A JPH04250570A (ja) | 1991-01-28 | 1991-01-28 | 高位レベル合成におけるデータ管理方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3008056A JPH04250570A (ja) | 1991-01-28 | 1991-01-28 | 高位レベル合成におけるデータ管理方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04250570A true JPH04250570A (ja) | 1992-09-07 |
Family
ID=11682675
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3008056A Withdrawn JPH04250570A (ja) | 1991-01-28 | 1991-01-28 | 高位レベル合成におけるデータ管理方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH04250570A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06266800A (ja) * | 1993-03-15 | 1994-09-22 | Nec Corp | フロアプランを考慮した論理合成方法 |
| JPH06266801A (ja) * | 1993-03-15 | 1994-09-22 | Nec Corp | フロアプランを考慮した論理合成方法 |
| JP2006351047A (ja) * | 2006-10-02 | 2006-12-28 | Nec Corp | データ処理装置および方法、コンピュータプログラム、情報記憶媒体、並列演算装置、データ処理システム |
-
1991
- 1991-01-28 JP JP3008056A patent/JPH04250570A/ja not_active Withdrawn
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06266800A (ja) * | 1993-03-15 | 1994-09-22 | Nec Corp | フロアプランを考慮した論理合成方法 |
| JPH06266801A (ja) * | 1993-03-15 | 1994-09-22 | Nec Corp | フロアプランを考慮した論理合成方法 |
| JP2006351047A (ja) * | 2006-10-02 | 2006-12-28 | Nec Corp | データ処理装置および方法、コンピュータプログラム、情報記憶媒体、並列演算装置、データ処理システム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Gebotys et al. | Optimal VLSI architectural synthesis: area, performance and testability | |
| US5467462A (en) | Event driven logic simulator for partial simulation | |
| CA2076293A1 (en) | Multiprocessor computer for solving sets of equations | |
| US20120311514A1 (en) | Decentralized Dynamically Scheduled Parallel Static Timing Analysis | |
| US20090271750A1 (en) | Timing constraint merging in hierarchical soc designs | |
| US9223910B1 (en) | Performance and memory efficient modeling of HDL ports for simulation | |
| US8768678B1 (en) | Scheduling processes in simulation of a circuit design based on simulation costs and runtime states of HDL processes | |
| Li et al. | Translation validation of scheduling in high level synthesis | |
| Yalcin et al. | An approximate timing analysis method for datapath circuits | |
| JPH04250570A (ja) | 高位レベル合成におけるデータ管理方式 | |
| US9600613B1 (en) | Block-level code coverage in simulation of circuit designs | |
| US5519626A (en) | Method of dividing a pipelined stage into two stages in a computer-aided design system | |
| Bergamaschi et al. | A system for production use of high-level synthesis | |
| Folmer et al. | High-level synthesis of digital circuits from template haskell and sdf-ap | |
| Bergamaschi et al. | Scheduling under resource constraints and module assignment | |
| US5740070A (en) | Apparatus for automatically generating logic circuit | |
| US7606694B1 (en) | Framework for cycle accurate simulation | |
| JP2001209664A (ja) | 高位合成方法並びに高位合成方法の実施に使用される記録媒体 | |
| JPH0916642A (ja) | データ処理装置のアーキテクチャ評価方法 | |
| Rehak et al. | Evaluation of finite element system architectures | |
| Yen et al. | An efficient graph algorithm for FSM scheduling | |
| JPH05108753A (ja) | 論理シミユレーシヨン方式 | |
| US6904573B1 (en) | Logic gate identification based on hardware description language circuit specification | |
| Famorzadeh et al. | Rapid prototyping of digital systems with cots/asic components | |
| JPH05197774A (ja) | 高位レベル合成における回路修正方式 |
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 |